From fe833c036eadd4b2de771594ad60506864157f7c Mon Sep 17 00:00:00 2001 From: Matthew Bloch Date: Thu, 21 Sep 2023 12:00:20 -0400 Subject: [PATCH 001/509] Create SECURITY.md --- SECURITY.md | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 SECURITY.md diff --git a/SECURITY.md b/SECURITY.md new file mode 100644 index 000000000..8ddb2d096 --- /dev/null +++ b/SECURITY.md @@ -0,0 +1,11 @@ +# Security Policy + +### Supported Versions + +When a vulnerability is fixed, a new patch version will be released (e.g. 0.6.34 -> 0.6.35). + +### Reporting a Vulnerability + +Please email the developer (Matthew Bloch) at masiyou@gmail.com to report a vulnerability. + +If preferred, you can create a new draft security advisory (https://github.com/mbloch/mapshaper/security/advisories) From 023ff6d358f9f5cd666588dbecc2834491df0813 Mon Sep 17 00:00:00 2001 From: Matthew Bloch Date: Thu, 28 Sep 2023 14:47:48 -0400 Subject: [PATCH 002/509] Binary rounding wip --- src/geom/mapshaper-rounding.mjs | 33 ++++++++++++++++++++++++++++++++- test/rounding-test.mjs | 33 +++++++++++++++++++++++++++++++++ 2 files changed, 65 insertions(+), 1 deletion(-) diff --git a/src/geom/mapshaper-rounding.mjs b/src/geom/mapshaper-rounding.mjs index 4a02a978b..b2556030d 100644 --- a/src/geom/mapshaper-rounding.mjs +++ b/src/geom/mapshaper-rounding.mjs @@ -3,11 +3,11 @@ import { error } from '../utils/mapshaper-logging'; import { forEachPoint } from '../points/mapshaper-point-utils'; import utils from '../utils/mapshaper-utils'; + export function roundToSignificantDigits(n, d) { return +n.toPrecision(d); } - export function roundToDigits(n, d) { return +n.toFixed(d); // string conversion makes this slow } @@ -71,6 +71,37 @@ export function roundPoints(lyr, round) { }); } +export const fround2 = (function() { + var arr = new Float32Array(1); + return function(x) { + arr[0] = x; + return arr[0]; + }; +})(); + +// This function rounds towards 0 (i.e. floor). TODO: round properly +// @bits: number of bits to round +// performance: about 3x slower than Math.fround() +export function getBinaryRoundingFunction(bits) { + // double: sign (1) exponent (11) fraction (52) + // single: sign (1) exponent (8) fraction (23) + if ((bits >= 1 && bits <= 32) === false) { + error('Invalid bits argument:', bits); + } + var isLE = require('os').endianness() == 'LE'; + var fp = new Float64Array(1); + var leastBits = new Uint32Array(fp.buffer, isLE ? 0 : 4, 1); + var mask = 2 ** 32 - 2 ** bits; // e.g. bits = 4 -> 0b11110000 + return function(x) { + fp[0] = x; + leastBits[0] = leastBits[0] & mask; + return fp[0]; + }; +} + +// "round to even" on the 23rd bit of the mantissa +export const fround = Math.fround || fround2; + export function setCoordinatePrecision(dataset, precision) { var round = getRoundingFunction(precision); // var dissolvePolygon, nodes; diff --git a/test/rounding-test.mjs b/test/rounding-test.mjs index 69d7ec6a9..37874bf23 100644 --- a/test/rounding-test.mjs +++ b/test/rounding-test.mjs @@ -1,10 +1,12 @@ import api from '../'; import assert from 'assert'; +var getBinaryRoundingFunction = api.internal.getBinaryRoundingFunction; var utils = api.utils, internal = api.internal; + function testPoints(src, precision, target) { var lyr = { geometry_type: 'point', @@ -17,6 +19,37 @@ function testPoints(src, precision, target) { describe('mapshaper-rounding.js', function () { + describe('getBinaryRoundingFunction()', function() { + var round1 = getBinaryRoundingFunction(1); + var round2 = getBinaryRoundingFunction(2); + var round16 = getBinaryRoundingFunction(16); + + // TODO: finish + return; + + it('timing', function() { + var loops = 1e8, i, val = 1/3; + console.time('1'); + for (i=0; i Date: Thu, 28 Sep 2023 15:13:56 -0400 Subject: [PATCH 003/509] Add -style css= option for adding inline css --- src/cli/mapshaper-options.mjs | 6 +++--- src/gui/gui-import-control.mjs | 17 ++++++++++++----- src/svg/svg-properties.mjs | 5 ++++- src/svg/svg-stringify.mjs | 1 - test/svg-style-test.mjs | 8 ++++++++ 5 files changed, 27 insertions(+), 10 deletions(-) diff --git a/src/cli/mapshaper-options.mjs b/src/cli/mapshaper-options.mjs index 1fe989daf..b24ca87e0 100644 --- a/src/cli/mapshaper-options.mjs +++ b/src/cli/mapshaper-options.mjs @@ -1493,9 +1493,9 @@ export function getOptionParser() { .option('class', { describe: 'name of CSS class or classes (space-separated)' }) - // .option('css', { - // describe: 'inline css style' - // }) + .option('css', { + describe: 'inline css style' + }) .option('fill', { describe: 'fill color; examples: #eee pink rgba(0, 0, 0, 0.2)' }) diff --git a/src/gui/gui-import-control.mjs b/src/gui/gui-import-control.mjs index 4b978baf4..353529486 100644 --- a/src/gui/gui-import-control.mjs +++ b/src/gui/gui-import-control.mjs @@ -425,11 +425,18 @@ export function ImportControl(gui, opts) { } function downloadNextFile(memo, item, next) { - var blob, err; - fetch(item.url).then(resp => resp.blob()).then(b => { - blob = b; - blob.name = item.basename; - memo.push(blob); + var err; + fetch(item.url).then(resp => { + if (resp.status != 200) { + // e.g. 404 because a URL listed in the GUI query string does not exist + throw Error(); + } + return resp.blob(); + }).then(blob => { + if (blob) { + blob.name = item.basename; + memo.push(blob); + } }).catch(e => { err = "Error loading " + item.name + ". Possible causes include: wrong URL, no network connection, server not configured for cross-domain sharing (CORS)."; }).finally(() => { diff --git a/src/svg/svg-properties.mjs b/src/svg/svg-properties.mjs index 49779d3be..c2622aa81 100644 --- a/src/svg/svg-properties.mjs +++ b/src/svg/svg-properties.mjs @@ -7,7 +7,8 @@ import { parsePattern } from '../svg/svg-hatch'; // null values indicate the lack of a function for parsing/identifying this property // (in which case a heuristic is used for distinguishing a string literal from an expression) var stylePropertyTypes = { - css: null, + // css: null, + css: 'inlinecss', class: 'classname', dx: 'measure', dy: 'measure', @@ -194,6 +195,8 @@ function parseSvgLiteralValue(strVal, type) { val = isPattern(strVal) ? strVal : null; } else if (type == 'boolean') { val = parseBoolean(strVal); + } else if (type == 'inlinecss') { + val = strVal; // TODO: validate } // else { // // unknown type -- assume literal value diff --git a/src/svg/svg-stringify.mjs b/src/svg/svg-stringify.mjs index 44ea995eb..ab53f46fc 100644 --- a/src/svg/svg-stringify.mjs +++ b/src/svg/svg-stringify.mjs @@ -1,6 +1,5 @@ import utils from '../utils/mapshaper-utils'; - export function stringify(obj) { var svg, joinStr; if (!obj || !obj.tag) return ''; diff --git a/test/svg-style-test.mjs b/test/svg-style-test.mjs index 4c1a85aab..a3ddaa028 100644 --- a/test/svg-style-test.mjs +++ b/test/svg-style-test.mjs @@ -26,6 +26,14 @@ describe('mapshaper-svg-style.js', function () { done(); }); }) + + it('-style css= creates inline style', async function() { + var cmd = '-rectangle bbox=0,0,1,1 -style fill=white css="filter: drop-shadow(1px 1px 5px rgba(0, 0, 0, .7));" -o out.svg'; + var output = await api.applyCommands(cmd); + var svg = output['out.svg']; + assert(svg.includes('fill="white"')); + assert(svg.includes('style="filter: drop-shadow(1px 1px 5px rgba(0, 0, 0, .7));"')); + }); }) From bd5fd1be0f5e0eea2101ac3fcde5e5a7ad3fab65 Mon Sep 17 00:00:00 2001 From: Matthew Bloch Date: Thu, 28 Sep 2023 15:14:40 -0400 Subject: [PATCH 004/509] Improve support for empty layers --- src/commands/mapshaper-split.mjs | 14 +++++++++++--- src/commands/mapshaper-svg-style.mjs | 5 ++++- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/src/commands/mapshaper-split.mjs b/src/commands/mapshaper-split.mjs index abe8bf7a6..002d492bf 100644 --- a/src/commands/mapshaper-split.mjs +++ b/src/commands/mapshaper-split.mjs @@ -1,6 +1,5 @@ import { compileValueExpression } from '../expressions/mapshaper-expressions'; -import { getFeatureCount } from '../dataset/mapshaper-layer-utils'; -import { copyLayer } from '../dataset/mapshaper-layer-utils'; +import { getFeatureCount, copyLayer } from '../dataset/mapshaper-layer-utils'; import cmd from '../mapshaper-cmd'; import utils from '../utils/mapshaper-utils'; import { DataTable } from '../datatable/mapshaper-data-table'; @@ -13,6 +12,7 @@ cmd.splitLayer = function(src, expression, optsArg) { shapes = lyr0.shapes, index = {}, splitLayers = [], + n = getFeatureCount(lyr0), namer; if (opts.ids) { @@ -21,11 +21,18 @@ cmd.splitLayer = function(src, expression, optsArg) { namer = getSplitNameFunction(lyr0, expression); } + // // halt if split field is missing // if (splitField) { // internal.requireDataField(lyr0, splitField); // } - utils.repeat(getFeatureCount(lyr0), function(i) { + // if input layer is empty, return original layer + // TODO: consider halting + if (n === 0) { + return [lyr0]; + } + + utils.repeat(n, function(i) { var name = namer(i), lyr; @@ -48,6 +55,7 @@ cmd.splitLayer = function(src, expression, optsArg) { lyr.data.getRecords().push(properties[i]); } }); + return splitLayers; }; diff --git a/src/commands/mapshaper-svg-style.mjs b/src/commands/mapshaper-svg-style.mjs index a1ab59fb9..5a1b65dbd 100644 --- a/src/commands/mapshaper-svg-style.mjs +++ b/src/commands/mapshaper-svg-style.mjs @@ -1,4 +1,4 @@ -import { getLayerDataTable } from '../dataset/mapshaper-layer-utils'; +import { getLayerDataTable, getFeatureCount } from '../dataset/mapshaper-layer-utils'; import { getSymbolPropertyAccessor } from '../svg/svg-properties'; import { compileValueExpression } from '../expressions/mapshaper-expressions'; import { initDataTable } from '../dataset/mapshaper-layer-utils'; @@ -7,6 +7,9 @@ import cmd from '../mapshaper-cmd'; cmd.svgStyle = function(lyr, dataset, opts) { var filter; + if (getFeatureCount(lyr) === 0) { + return; + } if (!lyr.data) { initDataTable(lyr); } From 00b930039cacffc8025d1f166a48aef7ab21c747 Mon Sep 17 00:00:00 2001 From: Matthew Bloch Date: Thu, 28 Sep 2023 15:25:10 -0400 Subject: [PATCH 005/509] Fix --- src/indexing/mapshaper-id-lookup-index.mjs | 3 ++- test/id-lookup-index-test.mjs | 13 +++++++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/src/indexing/mapshaper-id-lookup-index.mjs b/src/indexing/mapshaper-id-lookup-index.mjs index 08156d1e3..34744e2b1 100644 --- a/src/indexing/mapshaper-id-lookup-index.mjs +++ b/src/indexing/mapshaper-id-lookup-index.mjs @@ -21,7 +21,8 @@ export function IdLookupIndex(n) { if (id >= 0 && id < n) { return index[id] - 1; } else { - error('Invalid index'); + return -1; + // error('Invalid index'); } }; } diff --git a/test/id-lookup-index-test.mjs b/test/id-lookup-index-test.mjs index 3d3c08464..432a053d9 100644 --- a/test/id-lookup-index-test.mjs +++ b/test/id-lookup-index-test.mjs @@ -30,6 +30,13 @@ describe('mapshaper-id-lookup-index.js', function () { assert.strictEqual(idx.getId(0), 0); idx.setId(1, 5); idx.setId(2, 6); + + // accept out-of-range keys + assert.equal(idx.hasId(-23), false); + assert.equal(idx.hasId(3000), false); + assert.equal(idx.getId(-23), -1); + assert.equal(idx.getId(3000), -1); + assert.throws(function() { idx.clear(); }); @@ -63,6 +70,12 @@ describe('mapshaper-id-lookup-index.js', function () { }); assert.equal(idx.hasId(2), false); + + // accept out-of-range keys + assert.equal(idx.hasId(-23), false); + assert.equal(idx.hasId(3000), false); + assert.equal(idx.getId(-23), -1); + assert.equal(idx.getId(3000), -1); }) }) From 79ec51056859c5253b86b95528fc82d2c09a7263 Mon Sep 17 00:00:00 2001 From: Matthew Bloch Date: Sun, 1 Oct 2023 09:56:06 -0400 Subject: [PATCH 006/509] Accept any field name as -split argument --- REFERENCE.md | 6 +++--- src/commands/mapshaper-split.mjs | 34 ++++++++++++++++++++------------ test/split-test.mjs | 15 ++++++++++++++ 3 files changed, 39 insertions(+), 16 deletions(-) diff --git a/REFERENCE.md b/REFERENCE.md index db701e3ef..51e8a1235 100644 --- a/REFERENCE.md +++ b/REFERENCE.md @@ -1153,9 +1153,9 @@ Sort features in a data layer using a JavaScript expression. ### -split -Distributes features in the target layer to multiple output layers. If the `fields=` option is present, features with the same attribute value are grouped together. If no data field is supplied, the input layer is split into single-feature layers. +Distributes features in the target layer to multiple output layers. If the `expression=` option is present, features with the same value are grouped together. The value of the expression is used to name the split-apart fields. If no argument is supplied, split-apart layers are numbered. -`` or `field=` Name of the attribute field to split on. +`` or `expression=` JS expression or name of the attribute field to split on. Common options: `+` `target=` @@ -1173,7 +1173,7 @@ mapshaper states.shp name='' -split STATE -o format=geojson # Split source features into individual GeoJSON files (no data field supplied). # Output names use source layer name + ascending number, -# e.g. states-1.json, states-2.json, etc. +# e.g. states-1, states-2, etc. mapshaper states.shp -split -o format=geojson ``` diff --git a/src/commands/mapshaper-split.mjs b/src/commands/mapshaper-split.mjs index 002d492bf..bc0fb7871 100644 --- a/src/commands/mapshaper-split.mjs +++ b/src/commands/mapshaper-split.mjs @@ -66,26 +66,34 @@ function getIdSplitFunction(ids) { }; } -function getDefaultSplitFunction(lyr) { - // if not splitting on an expression and layer is unnamed, name split-apart layers - // like: split-1, split-2, ... - return function(i) { - return (lyr && lyr.name || 'split') + '-' + (i + 1); - }; -} - -export function getSplitNameFunction(lyr, exp) { +export function getSplitNameFunction(lyr, arg) { var compiled; - if (!exp) return getDefaultSplitFunction(lyr); + if (!arg) { + // if not splitting on an expression and layer is unnamed, name split-apart layers + // like: split-1, split-2, ... + return function(i) { + return (lyr && lyr.name || 'split') + '-' + (i + 1); + }; + } + if (lyr.data && lyr.data.fieldExists(arg)) { + // Argument is a field name + return function(i) { + var rec = lyr.data.getRecords()[i]; + return rec ? valueToLayerName(rec[arg]) : ''; + }; + } + // Assume: argument is an expression lyr = {name: lyr.name, data: lyr.data}; // remove shape info - compiled = compileValueExpression(exp, lyr, null); + compiled = compileValueExpression(arg, lyr, null); return function(i) { var val = compiled(i); - return String(val); - // return val || val === 0 ? String(val) : ''; + return valueToLayerName(val); }; } +function valueToLayerName(val) { + return String(val); +} // internal.getSplitKey = function(i, field, properties) { // var rec = field && properties ? properties[i] : null; diff --git a/test/split-test.mjs b/test/split-test.mjs index d73bd0c01..ee01e3baf 100644 --- a/test/split-test.mjs +++ b/test/split-test.mjs @@ -14,6 +14,21 @@ describe('mapshaper-split.js', function () { done(); }) }) + + it('argument is a field name but not a valid expression', async function() { + var data = [{ + 'ISO3166-1': 'alpha' + }, { + 'ISO3166-1': 'beta' + }]; + var cmd = '-i data.json -split ISO3166-1 -o'; + var output = await api.applyCommands(cmd, {'data.json': data}); + assert.deepEqual(output, { + 'alpha.json': '[{"ISO3166-1":"alpha"}]', + 'beta.json': '[{"ISO3166-1":"beta"}]' + }); + + }); }) describe('splitLayer()', function () { From 0554ac10ceaee567b825ce46d8b4607d62abf410 Mon Sep 17 00:00:00 2001 From: Matthew Bloch Date: Tue, 3 Oct 2023 13:59:30 -0400 Subject: [PATCH 007/509] Improve -run command --- src/cli/mapshaper-run-command.mjs | 2 +- src/cli/mapshaper-run-commands.mjs | 12 +++++++----- src/commands/mapshaper-run.mjs | 11 +++++++---- src/utils/mapshaper-utils.mjs | 4 ++++ test/run-test.mjs | 28 ++++++++++++++++++++++++++++ 5 files changed, 47 insertions(+), 10 deletions(-) diff --git a/src/cli/mapshaper-run-command.mjs b/src/cli/mapshaper-run-command.mjs index d7b6b986b..14c5862a2 100644 --- a/src/cli/mapshaper-run-command.mjs +++ b/src/cli/mapshaper-run-command.mjs @@ -400,7 +400,7 @@ export async function runCommand(command, job) { }); } else if (name == 'run') { - await utils.promisify(cmd.run)(job, targets, opts); + await cmd.run(job, targets, opts); } else if (name == 'scalebar') { cmd.scalebar(job.catalog, opts); diff --git a/src/cli/mapshaper-run-commands.mjs b/src/cli/mapshaper-run-commands.mjs index cb3cb462e..f9cf2b094 100644 --- a/src/cli/mapshaper-run-commands.mjs +++ b/src/cli/mapshaper-run-commands.mjs @@ -148,6 +148,13 @@ function _runCommands(argv, opts, callback) { } }); + var lastCmd = commands[commands.length - 1]; + if (!runningInBrowser() && lastCmd.name == 'o') { + // in CLI, set 'final' flag on final -o command, so the export function knows + // that it can modify the output dataset in-place instead of making a copy. + lastCmd.options.final = true; + } + var batches = divideImportCommand(commands); utils.reduceAsync(batches, null, nextGroup, done); @@ -216,11 +223,6 @@ export function testCommands(argv, done) { // @done: function([error], [job]) // export function runParsedCommands(commands, job, done) { - if (!runningInBrowser() && commands[commands.length-1].name == 'o') { - // in CLI, set 'final' flag on final -o command, so the export function knows - // that it can modify the output dataset in-place instead of making a copy. - commands[commands.length-1].options.final = true; - } if (!job) job = new Job(); commands = readAndRemoveSettings(job, commands); if (!runningInBrowser()) { diff --git a/src/commands/mapshaper-run.mjs b/src/commands/mapshaper-run.mjs index adb976a11..4a7111071 100644 --- a/src/commands/mapshaper-run.mjs +++ b/src/commands/mapshaper-run.mjs @@ -8,21 +8,24 @@ import utils from '../utils/mapshaper-utils'; import { getStashedVar } from '../mapshaper-stash'; import cmd from '../mapshaper-cmd'; -cmd.run = function(job, targets, opts, cb) { +cmd.run = async function(job, targets, opts) { var commandStr, commands; if (!opts.expression) { stop("Missing expression parameter"); } commandStr = runGlobalExpression(opts.expression, targets); + // Support async functions as expressions + if (utils.isPromise(commandStr)) { + commandStr = await commandStr; + } if (commandStr) { message(`command: [${commandStr}]`); commands = parseCommands(commandStr); - runParsedCommands(commands, job, cb); - } else { - cb(null); + await utils.promisify(runParsedCommands)(commands, job); } }; +// This could return a Promise or a value or nothing export function runGlobalExpression(expression, targets) { var ctx = getBaseContext(); var output, targetData; diff --git a/src/utils/mapshaper-utils.mjs b/src/utils/mapshaper-utils.mjs index 49b31fb13..d8cf509b8 100644 --- a/src/utils/mapshaper-utils.mjs +++ b/src/utils/mapshaper-utils.mjs @@ -15,6 +15,10 @@ export function isFunction(obj) { return typeof obj == 'function'; } +export function isPromise(arg) { + return arg ? isFunction(arg.then) : false; +} + export function isObject(obj) { return obj === Object(obj); // via underscore } diff --git a/test/run-test.mjs b/test/run-test.mjs index 785dbd16d..fefdd1640 100644 --- a/test/run-test.mjs +++ b/test/run-test.mjs @@ -28,5 +28,33 @@ describe('mapshaper-run.js', function () { done(); }) }) + + it('supports running an async function', async function() { + var include = `{ + getCommand: async function() { + return "-rectangle bbox=0,0,1,1"; + }}`; + var input = { + 'include.js': include + }; + var cmd = '-include include.js -run "getCommand()" -o out.json'; + var output = await api.applyCommands(cmd, input); + var data = JSON.parse(output['out.json']); + assert.equal(data.type, 'GeometryCollection'); + }) + + it('fix: -o command does not remove data', async function() { + console.log('TODO: fully support -o in -run commands'); + var include = `{ + run: function() { + return "-rectangle bbox=0,0,1,1"; + }}`; + var input = { + 'include.js': include + }; + var cmd = '-include include.js -run "run()" -o out2.json'; + var output = await api.applyCommands(cmd, input); + assert (!!output['out2.json']) + }) }) }) \ No newline at end of file From 97d297dab25f3e020cea782d2bd7fefb92f84b88 Mon Sep 17 00:00:00 2001 From: Matthew Bloch Date: Tue, 3 Oct 2023 17:12:20 -0400 Subject: [PATCH 008/509] Fix for -snap command bug --- src/cli/mapshaper-run-command.mjs | 2 +- test/snapping-test.mjs | 18 +++++++++++++++--- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/src/cli/mapshaper-run-command.mjs b/src/cli/mapshaper-run-command.mjs index 14c5862a2..8ec3a9b1e 100644 --- a/src/cli/mapshaper-run-command.mjs +++ b/src/cli/mapshaper-run-command.mjs @@ -423,7 +423,7 @@ export async function runCommand(command, job) { } else if (name == 'snap') { // cmd.snap(targetDataset, opts); - applyCommandToEachTarget(targets, opts); + applyCommandToEachTarget(cmd.snap, targets, opts); } else if (name == 'sort') { applyCommandToEachLayer(cmd.sortFeatures, targetLayers, arcs, opts); diff --git a/test/snapping-test.mjs b/test/snapping-test.mjs index 6c471f72d..3c11ee1c3 100644 --- a/test/snapping-test.mjs +++ b/test/snapping-test.mjs @@ -70,9 +70,21 @@ describe('mapshaper-snapping.js', function () { }) - describe('-snap endpoints', function() { - // TODO - + describe('-snap command', function() { + it('interval=0.2', async function() { + var input = { + type: 'LineString', + coordinates: [[0, 0], [0.05, 0.05], [0.1, 0.1], [1, 1], [1.1, 1.1]] + }; + var cmd = '-i line.json -snap interval=0.2 -o'; + var output = await api.applyCommands(cmd, {'line.json': input}); + var line = JSON.parse(output['line.json']); + var target = { + type: 'LineString', + coordinates: [[0, 0], [1, 1]] + }; + assert.deepEqual(line.geometries[0], target); + }); }); describe('sortCoordinateIds()', function () { From 7437d903c0a87802c3751fc529d2de7098094c72 Mon Sep 17 00:00:00 2001 From: Matthew Bloch Date: Tue, 3 Oct 2023 17:12:47 -0400 Subject: [PATCH 009/509] v0.6.44 --- CHANGELOG.md | 4 ++++ REFERENCE.md | 4 +++- bin/mapshaper-gui | 11 +++++++++-- package-lock.json | 4 ++-- package.json | 2 +- 5 files changed, 19 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 13d23a845..0f0a6f26c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +v0.6.44 +* Added -style css= option for adding inline CSS to SVG symbols. +* Bug fixes + v0.6.43 * Bug fixes diff --git a/REFERENCE.md b/REFERENCE.md index 51e8a1235..2eb4d9d74 100644 --- a/REFERENCE.md +++ b/REFERENCE.md @@ -1,6 +1,6 @@ # COMMAND REFERENCE -This documentation applies to version 0.6.39 of mapshaper's command line program. Run `mapshaper -v` to check your version. For an introduction to the command line tool, read [this page](https://github.com/mbloch/mapshaper/wiki/Introduction-to-the-Command-Line-Tool) first. +This documentation applies to version 0.6.43 of mapshaper's command line program. Run `mapshaper -v` to check your version. For an introduction to the command line tool, read [this page](https://github.com/mbloch/mapshaper/wiki/Introduction-to-the-Command-Line-Tool) first. ## Command line syntax @@ -1213,6 +1213,8 @@ Add common SVG attributes for SVG export and display in the web UI. Attribute va `class=` One or more CSS classes, separated by spaces (e.g. `class="light semi-transparent"`) +`css=` Inline CSS to use as the `style=` attribute of each SVG symbol. + `fill=` Fill color (e.g. `#eee` `pink` `rgba(0, 0, 0, 0.2)`) `fill-pattern=` Definition string for a pattern. There are four pattern types: hatches, dots, squares and dashes. The syntax for each pattern is: diff --git a/bin/mapshaper-gui b/bin/mapshaper-gui index 41333c807..1ba2b180d 100755 --- a/bin/mapshaper-gui +++ b/bin/mapshaper-gui @@ -61,7 +61,10 @@ function startServer(port) { http.createServer(function(request, response) { var uri = url.parse(request.url).pathname; clearTimeout(timeout); - if (uri == '/close') { + if (uri.includes('..')) { + // block attempts to load files outside webroot + serve404(response); + } else if (uri == '/close') { // end process when page closes, unless page is immediately refreshed timeout = setTimeout(function() { process.exit(0); @@ -116,10 +119,14 @@ function serveError(text, code, response) { response.end(); } +function serve404(response) { + serveError("404 Not Found\n", 404, response); +} + function serveFile(filename, response) { fs.readFile(filename, function(err, content) { if (err) { - serveError("404 Not Found\n", 404, response); + serve404(response); } else { serveContent(content, response, getMimeType(filename)); } diff --git a/package-lock.json b/package-lock.json index a1c2466e9..61d74f1d6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "mapshaper", - "version": "0.6.43", + "version": "0.6.44", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "mapshaper", - "version": "0.6.43", + "version": "0.6.44", "license": "MPL-2.0", "dependencies": { "@placemarkio/tokml": "^0.3.3", diff --git a/package.json b/package.json index 1fde24608..b3c52e333 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "mapshaper", - "version": "0.6.43", + "version": "0.6.44", "description": "A tool for editing vector datasets for mapping and GIS.", "keywords": [ "shapefile", From 9385072b7b219c6530ac8058e52ca7abb118efac Mon Sep 17 00:00:00 2001 From: Matthew Bloch Date: Fri, 27 Oct 2023 19:44:39 -0400 Subject: [PATCH 010/509] Fixes --- src/cli/mapshaper-options.mjs | 2 +- src/gui/gui-popup.mjs | 11 ++++++----- src/io/mapshaper-export.mjs | 33 ++++++++++++++++++--------------- 3 files changed, 25 insertions(+), 21 deletions(-) diff --git a/src/cli/mapshaper-options.mjs b/src/cli/mapshaper-options.mjs index b24ca87e0..3df0730bb 100644 --- a/src/cli/mapshaper-options.mjs +++ b/src/cli/mapshaper-options.mjs @@ -146,7 +146,7 @@ export function getOptionParser() { .option('string-fields', stringFieldsOpt) .option('field-types', fieldTypesOpt) .option('name', { - describe: 'Rename the imported layer(s)' + describe: 'rename the imported layer(s)' }) .option('geometry-type', { // undocumented; GeoJSON import rejects all but one kind of geometry diff --git a/src/gui/gui-popup.mjs b/src/gui/gui-popup.mjs index c6dc189cf..6d226b2ec 100644 --- a/src/gui/gui-popup.mjs +++ b/src/gui/gui-popup.mjs @@ -29,14 +29,13 @@ export function Popup(gui, toNext, toPrev) { }); self.show = function(id, ids, lyr, pinned) { - var table = lyr.data; // table can be null (e.g. if layer has no attribute data) var editable = pinned && gui.interaction.getMode() == 'data'; var maxHeight = parent.node().clientHeight - 36; currId = id; // stash a function for refreshing the current popup when data changes // while the popup is being displayed (e.g. while dragging a label) refresh = function() { - render(content, id, table, editable); + render(content, id, lyr, editable); }; refresh(); if (ids && ids.length > 1) { @@ -75,7 +74,8 @@ export function Popup(gui, toNext, toPrev) { tab.show(); } - function render(el, recId, table, editable) { + function render(el, recId, lyr, editable) { + var table = lyr.data; // table can be null (e.g. if layer has no attribute data) var rec = table && (editable ? table.getRecordAt(recId) : table.getReadOnlyRecordAt(recId)) || {}; var tableEl = El('table').addClass('selectable'), rows = 0; @@ -119,12 +119,12 @@ export function Popup(gui, toNext, toPrev) { var line = El('div').appendTo(el); El('span').addClass('save-menu-btn').appendTo(line).on('click', async function(e) { // show "add field" dialog - renderAddFieldPopup(recId, table); + renderAddFieldPopup(recId, lyr); }).text('+ add field'); } } - function renderAddFieldPopup(recId, table) { + function renderAddFieldPopup(recId, lyr) { var popup = showPopupAlert('', 'Add field'); var el = popup.container(); el.addClass('option-menu'); @@ -138,6 +138,7 @@ export function Popup(gui, toNext, toPrev) { var val = el.findChild('.field-value'); var box = el.findChild('.all'); var btn = el.findChild('.btn').on('click', function() { + var table = internal.getLayerDataTable(lyr); // creates new table if missing var all = box.node().checked; var nameStr = name.node().value.trim(); if (!nameStr) return; diff --git a/src/io/mapshaper-export.mjs b/src/io/mapshaper-export.mjs index 281abec98..ae42076f6 100644 --- a/src/io/mapshaper-export.mjs +++ b/src/io/mapshaper-export.mjs @@ -68,6 +68,14 @@ async function exportDatasets(datasets, opts) { } return memo.concat(exportFileContent(dataset, opts)); }, []); + + if (opts.bbox_index) { + // If rounding or quantization are applied during export, bounds may + // change somewhat... consider adding a bounds property to each layer during + // export when appropriate. + files.push(createIndexFile(datasets)); + } + // need unique names for multiple output files assignUniqueFileNames(files); @@ -125,15 +133,7 @@ export function exportFileContent(dataset, opts) { } validateLayerData(dataset.layers); - files = exporter(dataset, opts).concat(files); - // If rounding or quantization are applied during export, bounds may - // change somewhat... consider adding a bounds property to each layer during - // export when appropriate. - if (opts.bbox_index) { - files.push(createIndexFile(dataset)); - } - validateFileNames(files); return files; } @@ -154,13 +154,16 @@ var exporters = { // Generate json file with bounding boxes and names of each export layer // TODO: consider making this a command, or at least make format settable // -function createIndexFile(dataset) { - var index = dataset.layers.map(function(lyr) { - var bounds = getLayerBounds(lyr, dataset.arcs); - return { - bbox: bounds.toArray(), - name: lyr.name - }; +function createIndexFile(datasets) { + var index = []; + datasets.forEach(function(dataset) { + dataset.layers.forEach(function(lyr) { + var bounds = getLayerBounds(lyr, dataset.arcs); + index.push({ + bbox: bounds.toArray(), + name: lyr.name + }); + }); }); return { From 71503982e57c3bfd31ab6d024a90fc2eeb3821f6 Mon Sep 17 00:00:00 2001 From: Stefan Keim Date: Sat, 4 Nov 2023 10:43:14 +0100 Subject: [PATCH 011/509] hoist option --- src/cli/mapshaper-options.mjs | 3 +++ src/geojson/geojson-export.mjs | 15 ++++++++++++++- 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/src/cli/mapshaper-options.mjs b/src/cli/mapshaper-options.mjs index b24ca87e0..1502ca4f3 100644 --- a/src/cli/mapshaper-options.mjs +++ b/src/cli/mapshaper-options.mjs @@ -315,6 +315,9 @@ export function getOptionParser() { describe: '[GeoJSON/JSON] output newline-delimited features or records', type: 'flag' }) + .option('hoist', { + describe: '[GeoJSON] move properties to the root level', + }) .option('width', { describe: '[SVG/TopoJSON] pixel width of output (SVG default is 800)', type: 'number' diff --git a/src/geojson/geojson-export.mjs b/src/geojson/geojson-export.mjs index ca4742546..1c0da9798 100644 --- a/src/geojson/geojson-export.mjs +++ b/src/geojson/geojson-export.mjs @@ -73,7 +73,7 @@ export function exportLayerAsGeoJSON(lyr, dataset, opts, asFeatures, ofmt) { var properties = exportProperties(lyr.data, opts), shapes = lyr.shapes, ids = exportIds(lyr.data, opts), - items, stringify; + items, stringify, hoist; if (opts.ndjson) { stringify = stringifyAsNDJSON; @@ -83,6 +83,10 @@ export function exportLayerAsGeoJSON(lyr, dataset, opts, asFeatures, ofmt) { stringify = JSON.stringify; } + if(opts.hoist) { + hoist = opts.hoist.split(',') + } + if (properties && shapes && properties.length !== shapes.length) { error("Mismatch between number of properties and number of shapes"); } @@ -93,6 +97,7 @@ export function exportLayerAsGeoJSON(lyr, dataset, opts, asFeatures, ofmt) { geom = shape ? exporter(shape, dataset.arcs, opts) : null, obj = null; if (asFeatures) { + obj = GeoJSON.toFeature(geom, properties ? properties[i] : null); if (ids) { obj.id = ids[i]; @@ -103,6 +108,14 @@ export function exportLayerAsGeoJSON(lyr, dataset, opts, asFeatures, ofmt) { obj = geom; } if (ofmt) { + if(hoist){ + hoist.forEach((key)=>{ + if (obj.properties && obj.properties.hasOwnProperty(key)) { + obj[key] = obj.properties[key]; + delete obj.properties[key] + } + }) + } // stringify features as soon as they are generated, to reduce the // number of JS objects in memory (so larger files can be exported) obj = stringify(obj); From 1f40dcf9b59eed0ce845cd9adcaabda2dc234de1 Mon Sep 17 00:00:00 2001 From: Matthew Bloch Date: Sat, 4 Nov 2023 17:16:00 -0400 Subject: [PATCH 012/509] Strip simplification data from exported snapshots --- package-lock.json | 22 ++---- package.json | 2 +- src/commands/mapshaper-classify.mjs | 1 - src/gui/gui-popup.mjs | 2 +- src/gui/gui-session-snapshot-control.mjs | 2 +- src/pack/mapshaper-pack.mjs | 85 +++++++++++++++++------ src/paths/mapshaper-arc-clean.mjs | 67 ++++++++++++++++++ src/paths/mapshaper-arc-utils.mjs | 57 +++++++++++++++ src/paths/mapshaper-arcs.mjs | 78 +++++---------------- src/paths/mapshaper-intersection-cuts.mjs | 66 +----------------- test/pack-test.mjs | 9 ++- www/index.html | 2 +- www/page.css | 14 ++-- 13 files changed, 236 insertions(+), 171 deletions(-) create mode 100644 src/paths/mapshaper-arc-clean.mjs diff --git a/package-lock.json b/package-lock.json index 61d74f1d6..cd9c52136 100644 --- a/package-lock.json +++ b/package-lock.json @@ -42,7 +42,7 @@ "browserify": "^17.0.0", "csv-spectrum": "^1.0.0", "eslint": "^8.16.0", - "mocha": "^10.0.0", + "mocha": "^10.2.0", "rollup": "^2.73.0", "shell-quote": "^1.7.4", "underscore": "^1.13.1" @@ -247,11 +247,6 @@ "@types/node": "*" } }, - "node_modules/@ungap/promise-all-settled": { - "version": "1.1.2", - "dev": true, - "license": "ISC" - }, "node_modules/@xmldom/xmldom": { "version": "0.8.6", "license": "MIT", @@ -2415,11 +2410,11 @@ "license": "MIT" }, "node_modules/mocha": { - "version": "10.0.0", + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.2.0.tgz", + "integrity": "sha512-IDY7fl/BecMwFHzoqF2sg/SHHANeBoMMXFlS9r0OXKDssYE1M5O43wUY/9BVPeIvfH2zmEbBfseqN9gBQZzXkg==", "dev": true, - "license": "MIT", "dependencies": { - "@ungap/promise-all-settled": "1.1.2", "ansi-colors": "4.1.1", "browser-stdout": "1.3.1", "chokidar": "3.5.3", @@ -3789,10 +3784,6 @@ "@types/node": "*" } }, - "@ungap/promise-all-settled": { - "version": "1.1.2", - "dev": true - }, "@xmldom/xmldom": { "version": "0.8.6" }, @@ -5223,10 +5214,11 @@ "dev": true }, "mocha": { - "version": "10.0.0", + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.2.0.tgz", + "integrity": "sha512-IDY7fl/BecMwFHzoqF2sg/SHHANeBoMMXFlS9r0OXKDssYE1M5O43wUY/9BVPeIvfH2zmEbBfseqN9gBQZzXkg==", "dev": true, "requires": { - "@ungap/promise-all-settled": "1.1.2", "ansi-colors": "4.1.1", "browser-stdout": "1.3.1", "chokidar": "3.5.3", diff --git a/package.json b/package.json index b3c52e333..b1ea0c1bd 100644 --- a/package.json +++ b/package.json @@ -68,7 +68,7 @@ "browserify": "^17.0.0", "csv-spectrum": "^1.0.0", "eslint": "^8.16.0", - "mocha": "^10.0.0", + "mocha": "^10.2.0", "rollup": "^2.73.0", "shell-quote": "^1.7.4", "underscore": "^1.13.1" diff --git a/src/commands/mapshaper-classify.mjs b/src/commands/mapshaper-classify.mjs index ed52c82b7..b51d074dc 100644 --- a/src/commands/mapshaper-classify.mjs +++ b/src/commands/mapshaper-classify.mjs @@ -67,7 +67,6 @@ cmd.classify = function(lyr, dataset, optsArg) { stop('Missing a data field to classify'); } - // get the number of classes and the number of values // // expand categories if value is '*' diff --git a/src/gui/gui-popup.mjs b/src/gui/gui-popup.mjs index 6d226b2ec..34cb45029 100644 --- a/src/gui/gui-popup.mjs +++ b/src/gui/gui-popup.mjs @@ -117,7 +117,7 @@ export function Popup(gui, toNext, toPrev) { if (editable) { // render "add field" button var line = El('div').appendTo(el); - El('span').addClass('save-menu-btn').appendTo(line).on('click', async function(e) { + El('span').addClass('add-field-btn').appendTo(line).on('click', async function(e) { // show "add field" dialog renderAddFieldPopup(recId, lyr); }).text('+ add field'); diff --git a/src/gui/gui-session-snapshot-control.mjs b/src/gui/gui-session-snapshot-control.mjs index d4a0efe20..466cb227e 100644 --- a/src/gui/gui-session-snapshot-control.mjs +++ b/src/gui/gui-session-snapshot-control.mjs @@ -86,7 +86,7 @@ export function SessionSnapshots(gui) { }).text('restore'); El('span').addClass('save-menu-btn').appendTo(line).on('click', async function(e) { var obj = await idb.get(item.id); - await internal.applyCompression(obj, {consume: true}); + await internal.compressSnapshotForExport(obj); var buf = internal.pack(obj); // choose output filename and directory every time // saveBlobToLocalFile('mapshaper_snapshot.msx', new Blob([buf])); diff --git a/src/pack/mapshaper-pack.mjs b/src/pack/mapshaper-pack.mjs index b642eefab..9dff7450b 100644 --- a/src/pack/mapshaper-pack.mjs +++ b/src/pack/mapshaper-pack.mjs @@ -1,4 +1,5 @@ import { ArcCollection } from '../paths/mapshaper-arcs'; +import { filterVertexData } from '../paths/mapshaper-arc-utils'; import { DataTable } from '../datatable/mapshaper-data-table'; // import { encode } from "@msgpack/msgpack"; import { pack as encode } from 'msgpackr'; @@ -39,28 +40,59 @@ export function pack(obj) { } // gui: (optional) gui instance -// +// opts examples: +// exporting from command line: { compact: true, file: 'tmp.msx', final: true } +// exporting from gui export menu: {compact: true, format: 'msx'} +// saving gui temp snapshot: {compact: false} export async function exportDatasetsToPack(datasets, opts) { var obj = { version: 1, created: (new Date).toISOString(), - datasets: await Promise.all(datasets.map(exportDataset)) + datasets: await Promise.all(datasets.map(dataset => exportDataset(dataset, opts))) }; - if (opts.compact) { - await applyCompression(obj); - } return obj; } -export async function applyCompression(obj, opts) { - var promises = []; - obj.datasets.forEach(d => { - if (d.arcs) promises.push(compressArcs(d.arcs, opts)); +export async function exportDataset(dataset, opts) { + var arcs = dataset.arcs; + var arcData = null; + if (arcs) { + arcData = arcs.getVertexData(); + arcData.zlimit = arcs.getRetainedInterval(); // TODO: add this to getVertexData() + arcData = await exportArcData(arcData, opts); + } + return { + arcs: arcData, + info: dataset.info ? exportInfo(dataset.info) : null, + layers: await Promise.all((dataset.layers || []).map(exportLayer)) + }; +} + +// compress unpacked + uncompressed snapshot data in-place +export async function compressSnapshotForExport(obj) { + var promises = obj.datasets.map(d => { + compressDatasetForExport(d); }); await Promise.all(promises); + return; +} + +async function compressDatasetForExport(obj) { + if (!obj.arcs) return; + var arcData = importArcData(obj.arcs); // convert buffers to typed arrays + obj.arcs = await exportArcData(arcData, {compact: true}); // re-export to compressed buffers +} + +function flattenArcs(arcData) { + if (arcData.zz && arcData.zlimit) { + // replace unfiltered arc data with flattened arc data + arcData = filterVertexData(arcData, arcData.zlimit); + delete arcData.zz; + } + return arcData; } -async function compressArcs(obj, opts) { +async function gzipArcData(obj, opts) { var gzipOpts = Object.assign({level: 1, consume: false}, opts); var promises = [gzipAsync(obj.nn, gzipOpts), gzipAsync(obj.xx, gzipOpts), gzipAsync(obj.yy, gzipOpts)]; if (obj.zz) promises.push(gzipAsync(obj.zz, gzipOpts)); @@ -71,27 +103,36 @@ async function compressArcs(obj, opts) { if (obj.zz) obj.zz = results.shift(); } -export async function exportDataset(dataset, opts) { +function importArcData(obj) { return { - arcs: dataset.arcs ? exportArcs(dataset.arcs) : null, - info: dataset.info ? exportInfo(dataset.info) : null, - layers: await Promise.all((dataset.layers || []).map(exportLayer)) + nn: new Uint32Array(obj.nn.buffer, 0, obj.nn.length / 4), + xx: new Float64Array(obj.xx.buffer, 0, obj.xx.length / 8), + yy: new Float64Array(obj.yy.buffer, 0, obj.yy.length / 8), + zz: obj.zz ? new Float64Array(obj.zz.buffer, 0, obj.zz.length / 8) : null, + zlimit: obj.zlimit || 0 }; } -function typedArrayToBuffer(arr) { - return new Uint8Array(arr.buffer, arr.byteOffset, arr.byteLength); -} - -function exportArcs(arcs) { - var data = arcs.getVertexData(); - return { +async function exportArcData(data, opts) { + // TODO: consider removing arcs that are not referenced by any layer + if (opts.compact && data.zz) { + data = flattenArcs(data); // bake in any simplification + } + var output = { nn: typedArrayToBuffer(data.nn), xx: typedArrayToBuffer(data.xx), yy: typedArrayToBuffer(data.yy), zz: data.zz ? typedArrayToBuffer(data.zz) : null, - zlimit: arcs.getRetainedInterval() + zlimit: data.zlimit || 0 }; + if (opts.compact && data.zz) { + await gzipArcData(output); + } + return output; +} + +function typedArrayToBuffer(arr) { + return new Uint8Array(arr.buffer, arr.byteOffset, arr.byteLength); } async function exportLayer(lyr) { diff --git a/src/paths/mapshaper-arc-clean.mjs b/src/paths/mapshaper-arc-clean.mjs new file mode 100644 index 000000000..4b6a7aa37 --- /dev/null +++ b/src/paths/mapshaper-arc-clean.mjs @@ -0,0 +1,67 @@ +import { getArcPresenceTest2 } from '../dataset/mapshaper-layer-utils'; +import { NodeCollection } from '../topology/mapshaper-nodes'; +import { layerHasPaths } from '../dataset/mapshaper-layer-utils'; +import { editShapes } from '../paths/mapshaper-shape-utils'; +import { absArcId } from '../paths/mapshaper-arc-utils'; + + +// Remap any references to duplicate arcs in paths to use the same arcs +// Remove any unused arcs from the dataset's ArcCollection. +// Return a NodeCollection +export function cleanArcReferences(dataset) { + var nodes = new NodeCollection(dataset.arcs); + var map = findDuplicateArcs(nodes); + var dropCount; + if (map) { + replaceIndexedArcIds(dataset, map); + } + dropCount = deleteUnusedArcs(dataset); + if (dropCount > 0) { + // rebuild nodes if arcs have changed + nodes = new NodeCollection(dataset.arcs); + } + return nodes; +} + +export function deleteUnusedArcs(dataset) { + var test = getArcPresenceTest2(dataset.layers, dataset.arcs); + var count1 = dataset.arcs.size(); + var map = dataset.arcs.deleteArcs(test); // condenses arcs + var count2 = dataset.arcs.size(); + var deleteCount = count1 - count2; + if (deleteCount > 0) { + replaceIndexedArcIds(dataset, map); + } + return deleteCount; +} + +// @map an Object mapping old to new ids +function replaceIndexedArcIds(dataset, map) { + var remapPath = function(ids) { + var arcId, absId, id2; + for (var i=0; i 0 ? map : null; +} diff --git a/src/paths/mapshaper-arc-utils.mjs b/src/paths/mapshaper-arc-utils.mjs index 323000f03..07f75bf33 100644 --- a/src/paths/mapshaper-arc-utils.mjs +++ b/src/paths/mapshaper-arc-utils.mjs @@ -1,4 +1,5 @@ import utils from '../utils/mapshaper-utils'; +import { error } from '../utils/mapshaper-logging'; export function absArcId(arcId) { return arcId >= 0 ? arcId : ~arcId; @@ -91,3 +92,59 @@ export function insertVertex(arcs, i, p) { } arcs.updateVertexData(nn, xx2, yy2, zz2); } + +export function countFilteredVertices(zz, zlimit) { + var count = 0; + for (var i=0, n = zz.length; i= zlimit) count++; + } + return count; +} + +export function filterVertexData(o, zlimit) { + if (!o.zz) error('Expected simplification data'); + var xx = o.xx, + yy = o.yy, + zz = o.zz, + len2 = countFilteredVertices(zz, zlimit), + arcCount = o.nn.length, + xx2 = new Float64Array(len2), + yy2 = new Float64Array(len2), + zz2 = new Float64Array(len2), + nn2 = new Int32Array(arcCount), + i = 0, i2 = 0, + n, n2; + + for (var arcId=0; arcId < arcCount; arcId++) { + n2 = 0; + n = o.nn[arcId]; + for (var end = i+n; i < end; i++) { + if (zz[i] >= zlimit) { + xx2[i2] = xx[i]; + yy2[i2] = yy[i]; + zz2[i2] = zz[i]; + i2++; + n2++; + } + } + if (n2 == 1) { + error("Collapsed arc"); + // This should not happen (endpoints should be z == Infinity) + // Could handle like this, instead of throwing an error: + // n2 = 0; + // xx2.pop(); + // yy2.pop(); + // zz2.pop(); + } else if (n2 === 0) { + // collapsed arc... ignoring + } + nn2[arcId] = n2; + } + return { + xx: xx2, + yy: yy2, + zz: zz2, + nn: nn2 + }; +} + diff --git a/src/paths/mapshaper-arcs.mjs b/src/paths/mapshaper-arcs.mjs index c9eb46d67..c7080fa8a 100644 --- a/src/paths/mapshaper-arcs.mjs +++ b/src/paths/mapshaper-arcs.mjs @@ -1,5 +1,5 @@ -import { calcArcBounds, absArcId } from '../paths/mapshaper-arc-utils'; +import { calcArcBounds, absArcId, countFilteredVertices, filterVertexData } from '../paths/mapshaper-arc-utils'; import { ArcIter, FilteredArcIter, ShapeIter } from '../paths/mapshaper-shape-iter'; import { clampIntervalByPct } from '../paths/mapshaper-path-utils'; import { getThresholdByPct } from '../simplify/mapshaper-simplify-pct'; @@ -123,17 +123,6 @@ export function ArcCollection() { initZData(zz || null); }; - // Give access to raw data arrays... - this.getVertexData = function() { - return { - xx: _xx, - yy: _yy, - zz: _zz, - bb: _bb, - nn: _nn, - ii: _ii - }; - }; this.getCopy = function() { var copy = new ArcCollection(new Int32Array(_nn), new Float64Array(_xx), @@ -145,57 +134,28 @@ export function ArcCollection() { return copy; }; + + // Give access to raw data arrays... + this.getVertexData = getVertexData; + + function getVertexData() { + return { + xx: _xx, + yy: _yy, + zz: _zz, + bb: _bb, + nn: _nn, + ii: _ii + }; + } + function getFilteredPointCount() { - var zz = _zz, z = _zlimit; - if (!zz || !z) return this.getPointCount(); - var count = 0; - for (var i=0, n = zz.length; i= z) count++; - } - return count; + if (!_zz || !_zlimit) return this.getPointCount(); + return countFilteredVertices(_zz, _zlimit); } function getFilteredVertexData() { - var len2 = getFilteredPointCount(); - var arcCount = _nn.length; - var xx2 = new Float64Array(len2), - yy2 = new Float64Array(len2), - zz2 = new Float64Array(len2), - nn2 = new Int32Array(arcCount), - i=0, i2 = 0, - n, n2; - - for (var arcId=0; arcId < arcCount; arcId++) { - n2 = 0; - n = _nn[arcId]; - for (var end = i+n; i < end; i++) { - if (_zz[i] >= _zlimit) { - xx2[i2] = _xx[i]; - yy2[i2] = _yy[i]; - zz2[i2] = _zz[i]; - i2++; - n2++; - } - } - if (n2 == 1) { - error("Collapsed arc"); - // This should not happen (endpoints should be z == Infinity) - // Could handle like this, instead of throwing an error: - // n2 = 0; - // xx2.pop(); - // yy2.pop(); - // zz2.pop(); - } else if (n2 === 0) { - // collapsed arc... ignoring - } - nn2[arcId] = n2; - } - return { - xx: xx2, - yy: yy2, - zz: zz2, - nn: nn2 - }; + return filterVertexData(getVertexData(), _zlimit); } this.getFilteredCopy = function() { diff --git a/src/paths/mapshaper-intersection-cuts.mjs b/src/paths/mapshaper-intersection-cuts.mjs index 5b1ea707b..0f46cab2a 100644 --- a/src/paths/mapshaper-intersection-cuts.mjs +++ b/src/paths/mapshaper-intersection-cuts.mjs @@ -4,12 +4,12 @@ import { convertIntervalParam } from '../geom/mapshaper-units'; import { debug, error } from '../utils/mapshaper-logging'; import { NodeCollection } from '../topology/mapshaper-nodes'; import { getDatasetCRS } from '../crs/mapshaper-projections'; -import { layerHasPaths, getArcPresenceTest2 } from '../dataset/mapshaper-layer-utils'; +import { layerHasPaths } from '../dataset/mapshaper-layer-utils'; import { cleanShapes } from '../paths/mapshaper-path-repair-utils'; import { buildTopology } from '../topology/mapshaper-topology'; -import { absArcId } from '../paths/mapshaper-arc-utils'; import { editShapes } from '../paths/mapshaper-shape-utils'; import { findSegmentIntersections } from '../paths/mapshaper-segment-intersection'; +import { cleanArcReferences } from './mapshaper-arc-clean'; import geom from '../geom/mapshaper-geom'; // Functions for dividing polygons and polygons at points where arc-segments intersect @@ -101,68 +101,6 @@ function snapAndCut(dataset, snapDist) { } -// Remap any references to duplicate arcs in paths to use the same arcs -// Remove any unused arcs from the dataset's ArcCollection. -// Return a NodeCollection -function cleanArcReferences(dataset) { - var nodes = new NodeCollection(dataset.arcs); - var map = findDuplicateArcs(nodes); - var dropCount; - if (map) { - replaceIndexedArcIds(dataset, map); - } - dropCount = deleteUnusedArcs(dataset); - if (dropCount > 0) { - // rebuild nodes if arcs have changed - nodes = new NodeCollection(dataset.arcs); - } - return nodes; -} - - -// @map an Object mapping old to new ids -function replaceIndexedArcIds(dataset, map) { - var remapPath = function(ids) { - var arcId, absId, id2; - for (var i=0; i 0 ? map : null; -} - -function deleteUnusedArcs(dataset) { - var test = getArcPresenceTest2(dataset.layers, dataset.arcs); - var count1 = dataset.arcs.size(); - var map = dataset.arcs.deleteArcs(test); // condenses arcs - var count2 = dataset.arcs.size(); - var deleteCount = count1 - count2; - if (deleteCount > 0) { - replaceIndexedArcIds(dataset, map); - } - return deleteCount; -} - // Return a function for updating a path (array of arc ids) // @map array generated by insertCutPoints() // @arcCount number of arcs in divided collection (kludge) diff --git a/test/pack-test.mjs b/test/pack-test.mjs index 4024d47e7..f44577204 100644 --- a/test/pack-test.mjs +++ b/test/pack-test.mjs @@ -24,7 +24,7 @@ describe('mapshaper-pack.mjs', function () { assert.equal(polygons.features.length, 6); }) - it('read from a .msx snapshot file with compressed arcs', async function() { + it('read from a .msx snapshot file with compressed arcs', async function() { var cmd = '-i test/data/msx/mapshaper_snapshot.msx -o format=geojson'; var out = await api.applyCommands(cmd); var cmd2 = '-i test/data/msx/mapshaper_snapshot_2.msx -o format=geojson'; @@ -34,4 +34,11 @@ describe('mapshaper-pack.mjs', function () { assert.deepEqual(JSON.parse(out['polygons.json']), JSON.parse(out2['polygons.json'])) }) + + it('simplification data is removed on export', async function() { + var cmd = '-i test/data/two_states.json -o a.msx -simplify 50% -o b.msx'; + var out = await api.applyCommands(cmd); + assert(out['a.msx'].length > out['b.msx'].length); + + }); }) diff --git a/www/index.html b/www/index.html index 1afb3425e..3c64f1f3c 100644 --- a/www/index.html +++ b/www/index.html @@ -170,8 +170,8 @@

File format

--> -
Export
+ diff --git a/www/page.css b/www/page.css index ea3156002..0fb115875 100644 --- a/www/page.css +++ b/www/page.css @@ -58,6 +58,7 @@ body { .colored-text, .save-menu-link, .save-menu-btn, +.add-field-btn, .nav-menu-item { color: #10699b; } @@ -1314,6 +1315,7 @@ div.basemap-style-btn.active img { .save-menu { text-align: right; + padding-bottom: 5px; } .save-menu-entry { @@ -1324,27 +1326,29 @@ div.basemap-style-btn.active img { background: white; } -/*.save-menu-btn { +.save-menu-btn { display: inline-block; border-radius: 4px; border: 1px solid #aaa; font-size: 12px; margin-left: 2px; padding: 1px 2px 3px 2px; -}*/ +} -.save-menu-btn { +.add-field-btn { display: inline-block; font-size: 12px; margin-top: 2px; } -.save-menu-btn:hover { +.save-menu-btn:hover, +.add-field-btn:hover { color: black; } .save-menu-link, -.save-menu-btn { +.save-menu-btn, +.add-field-btn { cursor: pointer; } From cdf7245e3c0c502f8140021dc700d718b95fa3ce Mon Sep 17 00:00:00 2001 From: Matthew Bloch Date: Sun, 5 Nov 2023 20:01:54 -0500 Subject: [PATCH 013/509] Fix and test for -o hoist= option --- src/cli/mapshaper-options.mjs | 3 ++- src/geojson/geojson-export.mjs | 32 +++++++++++++++++--------------- test/geojson-test.mjs | 34 +++++++++++++++++++++++++++++++++- 3 files changed, 52 insertions(+), 17 deletions(-) diff --git a/src/cli/mapshaper-options.mjs b/src/cli/mapshaper-options.mjs index 1502ca4f3..a6971a4b0 100644 --- a/src/cli/mapshaper-options.mjs +++ b/src/cli/mapshaper-options.mjs @@ -316,7 +316,8 @@ export function getOptionParser() { type: 'flag' }) .option('hoist', { - describe: '[GeoJSON] move properties to the root level', + describe: '[GeoJSON] move properties to the root level of each Feature', + type: 'strings' }) .option('width', { describe: '[SVG/TopoJSON] pixel width of output (SVG default is 800)', diff --git a/src/geojson/geojson-export.mjs b/src/geojson/geojson-export.mjs index 1c0da9798..0001334ce 100644 --- a/src/geojson/geojson-export.mjs +++ b/src/geojson/geojson-export.mjs @@ -73,7 +73,7 @@ export function exportLayerAsGeoJSON(lyr, dataset, opts, asFeatures, ofmt) { var properties = exportProperties(lyr.data, opts), shapes = lyr.shapes, ids = exportIds(lyr.data, opts), - items, stringify, hoist; + items, stringify; if (opts.ndjson) { stringify = stringifyAsNDJSON; @@ -83,10 +83,6 @@ export function exportLayerAsGeoJSON(lyr, dataset, opts, asFeatures, ofmt) { stringify = JSON.stringify; } - if(opts.hoist) { - hoist = opts.hoist.split(',') - } - if (properties && shapes && properties.length !== shapes.length) { error("Mismatch between number of properties and number of shapes"); } @@ -96,9 +92,9 @@ export function exportLayerAsGeoJSON(lyr, dataset, opts, asFeatures, ofmt) { exporter = GeoJSON.exporters[lyr.geometry_type], geom = shape ? exporter(shape, dataset.arcs, opts) : null, obj = null; + if (asFeatures) { - - obj = GeoJSON.toFeature(geom, properties ? properties[i] : null); + obj = composeFeature(geom, properties ? properties[i] : null, opts); if (ids) { obj.id = ids[i]; } @@ -108,14 +104,6 @@ export function exportLayerAsGeoJSON(lyr, dataset, opts, asFeatures, ofmt) { obj = geom; } if (ofmt) { - if(hoist){ - hoist.forEach((key)=>{ - if (obj.properties && obj.properties.hasOwnProperty(key)) { - obj[key] = obj.properties[key]; - delete obj.properties[key] - } - }) - } // stringify features as soon as they are generated, to reduce the // number of JS objects in memory (so larger files can be exported) obj = stringify(obj); @@ -130,6 +118,20 @@ export function exportLayerAsGeoJSON(lyr, dataset, opts, asFeatures, ofmt) { }, []); } +function composeFeature(geom, properties, opts) { + var feat = GeoJSON.toFeature(geom, properties); + if (Array.isArray(opts.hoist) && properties) { + // don't modify properties of source feature + feat.properties = Object.assign({}, properties); + opts.hoist.forEach(field => { + if (properties.hasOwnProperty(field)) { + feat[field] = properties[field]; + delete feat.properties[field]; + } + }); + } + return feat; +} export function getRFC7946Warnings(dataset) { var P = getDatasetCRS(dataset); diff --git a/test/geojson-test.mjs b/test/geojson-test.mjs index 36d1f8b5c..a0d876135 100644 --- a/test/geojson-test.mjs +++ b/test/geojson-test.mjs @@ -8,8 +8,40 @@ var fixPath = helpers.fixPath; describe('mapshaper-geojson.js', function () { + describe('-o hoist option', function() { + + it('hoist= moves output properties to root of feature', async function() { + var data = [{ + id: 'a', tippecanoe: { "maxzoom" : 9, "minzoom" : 4 }, foo: 'bar' + }]; + var cmd = '-i data.json -o a.geojson hoist=id,tippecanoe -o b.geojson'; + var out = await api.applyCommands(cmd, {'data.json': data}); + var a = JSON.parse(out['a.geojson']); + var b = JSON.parse(out['b.geojson']); + assert.deepEqual(a, { + type: 'FeatureCollection', + features: [{ + type: 'Feature', + tippecanoe: {maxzoom: 9, minzoom: 4}, + id: 'a', + properties: {foo: 'bar'}, + geometry: null + }] + }) + // hoisting doesn't affect subsequent exports + assert.deepEqual(b, { + type: 'FeatureCollection', + features: [{ + type: 'Feature', + properties: {foo: 'bar', tippecanoe: {maxzoom: 9, minzoom: 4}, id: 'a'}, + geometry: null + }] + }) + }); + }); + describe('ndjson input', function () { - // TODO: support reading ndjson + console.log('TODO: support reading ndjson') false && it('reads features from an ndjson string', function (done) { var a = { type: 'Feature', From 893d8f72a670cbcee601420c3322c34b790160bd Mon Sep 17 00:00:00 2001 From: Matthew Bloch Date: Sun, 5 Nov 2023 22:28:00 -0500 Subject: [PATCH 014/509] v0.6.45 --- CHANGELOG.md | 4 ++++ REFERENCE.md | 4 +++- package-lock.json | 4 ++-- package.json | 2 +- 4 files changed, 10 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0f0a6f26c..3a10853f0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +v0.6.45 +* Added -o hoist= option for moving GeoJSON Feature properties to the root of each Feature. +* Simplification data is removed from snapshot files (except for temporary snapshots in the web UI). + v0.6.44 * Added -style css= option for adding inline CSS to SVG symbols. * Bug fixes diff --git a/REFERENCE.md b/REFERENCE.md index 2eb4d9d74..0c4b88027 100644 --- a/REFERENCE.md +++ b/REFERENCE.md @@ -1,6 +1,6 @@ # COMMAND REFERENCE -This documentation applies to version 0.6.43 of mapshaper's command line program. Run `mapshaper -v` to check your version. For an introduction to the command line tool, read [this page](https://github.com/mbloch/mapshaper/wiki/Introduction-to-the-Command-Line-Tool) first. +This documentation applies to version 0.6.45 of mapshaper's command line program. Run `mapshaper -v` to check your version. For an introduction to the command line tool, read [this page](https://github.com/mbloch/mapshaper/wiki/Introduction-to-the-Command-Line-Tool) first. ## Command line syntax @@ -241,6 +241,8 @@ Save content of the target layer(s) to a file or files. `geojson-type=` (GeoJSON) Overrides the default output type. Possible values: "FeatureCollection", "GeometryCollection", "Feature" (for a single feature). +`hoist=` (GeoJSON) Move one or more properties to the root level of each Feature. Hoisting a field named "id" creates an id for each Feature. This option can also be used to create non-standard Feature attributes (as used by the tippecanoe program). + `width=` (SVG/TopoJSON) Set the width of the output dataset in pixels. When used with TopoJSON output, this option switches the output coordinates from geographic units to pixels and flips the Y axis. SVG output is always in pixels (default SVG width is 800). `height=` (SVG/TopoJSON) Similar to the `width` option. If both `height` and `width` are set, content is centered inside the `[0, 0, width, height]` bounding box. diff --git a/package-lock.json b/package-lock.json index cd9c52136..6d7db2e66 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "mapshaper", - "version": "0.6.44", + "version": "0.6.45", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "mapshaper", - "version": "0.6.44", + "version": "0.6.45", "license": "MPL-2.0", "dependencies": { "@placemarkio/tokml": "^0.3.3", diff --git a/package.json b/package.json index b1ea0c1bd..af2b97bc8 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "mapshaper", - "version": "0.6.44", + "version": "0.6.45", "description": "A tool for editing vector datasets for mapping and GIS.", "keywords": [ "shapefile", From c47037ededf27c1ca615bb1093f765fb10575316 Mon Sep 17 00:00:00 2001 From: Matthew Bloch Date: Mon, 6 Nov 2023 08:44:51 -0500 Subject: [PATCH 015/509] Fix -grid command CRS bug --- src/commands/mapshaper-polygon-grid.mjs | 8 ++++---- src/dataset/mapshaper-dataset-utils.mjs | 9 +++++++++ 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/src/commands/mapshaper-polygon-grid.mjs b/src/commands/mapshaper-polygon-grid.mjs index 48ecbe6ee..4a8cccc2b 100644 --- a/src/commands/mapshaper-polygon-grid.mjs +++ b/src/commands/mapshaper-polygon-grid.mjs @@ -1,4 +1,4 @@ -import { getDatasetBounds } from '../dataset/mapshaper-dataset-utils'; +import { getDatasetBounds, copyDatasetInfo } from '../dataset/mapshaper-dataset-utils'; import { setOutputLayerName } from '../dataset/mapshaper-layer-utils'; import { convertIntervalParam } from '../geom/mapshaper-units'; import { getDatasetCRS, requireProjectedDataset } from '../crs/mapshaper-projections'; @@ -7,12 +7,12 @@ import cmd from '../mapshaper-cmd'; import { stop } from '../utils/mapshaper-logging'; import utils from '../utils/mapshaper-utils'; import { buildTopology } from '../topology/mapshaper-topology'; + cmd.polygonGrid = function(targetLayers, targetDataset, opts) { requireProjectedDataset(targetDataset); var params = getGridParams(targetLayers, targetDataset, opts); - var gridDataset = makeGridDataset(params, opts); - - gridDataset.info = targetDataset.info; // copy CRS to grid dataset // TODO: improve + var gridDataset = makeGridDataset(params, opts); // grid is a new dataset + gridDataset.info = copyDatasetInfo(targetDataset.info); setOutputLayerName(gridDataset.layers[0], null, 'grid', opts); if (opts.debug) gridDataset.layers.push(cmd.pointGrid2(targetLayers, targetDataset, opts)); return gridDataset; diff --git a/src/dataset/mapshaper-dataset-utils.mjs b/src/dataset/mapshaper-dataset-utils.mjs index 0c9d3faf1..7a100f750 100644 --- a/src/dataset/mapshaper-dataset-utils.mjs +++ b/src/dataset/mapshaper-dataset-utils.mjs @@ -35,6 +35,15 @@ export function mergeDatasetInfo(dest, src) { utils.defaults(destInfo, srcInfo); } +export function copyDatasetInfo(info) { + // not a deep copy... objects like info.crs are read-only, so copy-by-reference + // should be ok + var info2 = Object.assign({}, info); + if (Array.isArray(info.input_files)) { + info2.input_files = info.input_files.concat(); + } + return info2; +} export function splitApartLayers(dataset, layers) { var datasets = []; From 21d7a47ea0d62c3a7a2deda3c2f35399c187d645 Mon Sep 17 00:00:00 2001 From: Matthew Bloch Date: Mon, 6 Nov 2023 16:29:28 -0500 Subject: [PATCH 016/509] Improve gui intersection display --- src/gui/gui-repair-control.mjs | 19 ++++++++++------- src/indexing/mapshaper-id-test-index.mjs | 11 ++++++++++ src/paths/mapshaper-arc-utils.mjs | 17 +++++++++++++++ src/paths/mapshaper-path-utils.mjs | 2 +- src/paths/mapshaper-segment-intersection.mjs | 22 +++++++++++++++++++- 5 files changed, 61 insertions(+), 10 deletions(-) diff --git a/src/gui/gui-repair-control.mjs b/src/gui/gui-repair-control.mjs index e831feb3c..32564dfd5 100644 --- a/src/gui/gui-repair-control.mjs +++ b/src/gui/gui-repair-control.mjs @@ -10,6 +10,7 @@ export function RepairControl(gui) { // keeping a reference to current arcs and intersections, so intersections // don't need to be recalculated when 'repair' button is pressed. _currArcs, + _currLayer, _currXX; gui.on('simplify_drag_start', hide); @@ -30,8 +31,8 @@ export function RepairControl(gui) { }); repairBtn.on('click', function() { - var fixed = internal.repairIntersections(_currArcs, _currXX); - showIntersections(fixed, _currArcs); + _currXX = internal.repairIntersections(_currArcs, _currXX); + showIntersections(); repairBtn.addClass('disabled'); model.updated({repair: true}); gui.session.simplificationRepair(); @@ -79,13 +80,17 @@ export function RepairControl(gui) { showBtn = false; } el.show(); - showIntersections(XX, arcs); + _currLayer = e.layer; + _currArcs = arcs; + _currXX = XX; + showIntersections(); repairBtn.classed('disabled', !showBtn); } function reset() { _currArcs = null; _currXX = null; + _currLayer = null; hide(); } @@ -96,13 +101,11 @@ export function RepairControl(gui) { reset(); } - function showIntersections(XX, arcs) { - var n = XX.length, pointLyr; - _currXX = XX; - _currArcs = arcs; + function showIntersections() { + var n = _currXX.length, pointLyr; if (n > 0) { // console.log("first intersection:", internal.getIntersectionDebugData(XX[0], arcs)); - pointLyr = {geometry_type: 'point', shapes: [internal.getIntersectionPoints(XX)]}; + pointLyr = internal.getIntersectionLayer(_currXX, _currLayer, _currArcs); map.setIntersectionLayer(pointLyr, {layers:[pointLyr]}); readout.html(utils.format('%s line intersection%s ', n, utils.pluralSuffix(n))); readout.findChild('.close-btn').on('click', dismiss); diff --git a/src/indexing/mapshaper-id-test-index.mjs b/src/indexing/mapshaper-id-test-index.mjs index 3329c3f60..04509936a 100644 --- a/src/indexing/mapshaper-id-test-index.mjs +++ b/src/indexing/mapshaper-id-test-index.mjs @@ -1,6 +1,17 @@ // Keep track of whether positive or negative integer ids are 'used' or not. import { error } from '../utils/mapshaper-logging'; + +export function SimpleIdTestIndex(n) { + var index = new Uint8Array(n); + this.setId = function(id) { + index[id] = 1; + }; + this.hasId = function(id) { + return index[id] === 1; + }; +} + export function IdTestIndex(n) { var index = new Uint8Array(n); var setList = []; diff --git a/src/paths/mapshaper-arc-utils.mjs b/src/paths/mapshaper-arc-utils.mjs index 07f75bf33..99033e9ef 100644 --- a/src/paths/mapshaper-arc-utils.mjs +++ b/src/paths/mapshaper-arc-utils.mjs @@ -24,6 +24,23 @@ export function calcArcBounds(xx, yy, start, len) { return [xmin, ymin, xmax, ymax]; } + +export function findArcIdFromVertexId(i, ii) { + // binary search + // possible optimization: use interpolation to find a better partition value. + var lower = 0, upper = ii.length - 1; + var middle; + while (lower < upper) { + middle = Math.ceil((lower + upper) / 2); + if (i < ii[middle]) { + upper = middle - 1; + } else { + lower = middle; + } + } + return lower; // assumes dataset is not empty +} + export function deleteVertex(arcs, i) { var data = arcs.getVertexData(); var nn = data.nn; diff --git a/src/paths/mapshaper-path-utils.mjs b/src/paths/mapshaper-path-utils.mjs index c6710ed3d..1215cb97d 100644 --- a/src/paths/mapshaper-path-utils.mjs +++ b/src/paths/mapshaper-path-utils.mjs @@ -145,7 +145,7 @@ export function forEachArcId(arr, cb) { var item; for (var i=0; i { + index.setId(absArcId(arcId)); + }); + var points = []; + intersections.forEach(obj => { + var arc1 = findArcIdFromVertexId(obj.a[0], ii); + var arc2 = findArcIdFromVertexId(obj.b[0], ii); + if (index.hasId(arc1) && index.hasId(arc2)) { + points.push([obj.x, obj.y]); + } + }); + return {geometry_type: 'point', shapes: [points]}; +} + // Identify intersecting segments in an ArcCollection // // To find all intersections: From b6e7d8592f324311ee7f52b2eb28f6490750e39d Mon Sep 17 00:00:00 2001 From: Matthew Bloch Date: Mon, 6 Nov 2023 23:53:14 -0500 Subject: [PATCH 017/509] Support numerical category values in -classify --- src/classification/mapshaper-classify-ramps.mjs | 2 +- src/commands/mapshaper-classify.mjs | 5 ++++- src/paths/mapshaper-segment-intersection.mjs | 4 ---- test/classify-test.mjs | 16 ++++++++++++++++ 4 files changed, 21 insertions(+), 6 deletions(-) diff --git a/src/classification/mapshaper-classify-ramps.mjs b/src/classification/mapshaper-classify-ramps.mjs index ceedf24e7..4e986a21b 100644 --- a/src/classification/mapshaper-classify-ramps.mjs +++ b/src/classification/mapshaper-classify-ramps.mjs @@ -75,7 +75,7 @@ function getCategoricalValues(values, n) { if (n != values.length) { stop('Mismatch in number of categories and number of values'); } - return values; + return parseValues(values); // convert numerical strings to numbers } function getIndexes(n) { diff --git a/src/commands/mapshaper-classify.mjs b/src/commands/mapshaper-classify.mjs index b51d074dc..7be9d6915 100644 --- a/src/commands/mapshaper-classify.mjs +++ b/src/commands/mapshaper-classify.mjs @@ -43,7 +43,7 @@ cmd.classify = function(lyr, dataset, optsArg) { if (opts.index_field) { dataField = opts.index_field; fieldType = getColumnType(opts.field, records); - } else if (opts.field) { + } else if (opts.field) { dataField = opts.field; fieldType = getColumnType(opts.field, records); } @@ -75,6 +75,9 @@ cmd.classify = function(lyr, dataset, optsArg) { if ((!opts.categories || opts.categories.includes('*')) && dataField) { opts.categories = getUniqFieldValues(records, dataField); } + if (opts.categories && fieldType == 'number') { + opts.categories = opts.categories.map(str => +str); + } } if (opts.classes) { diff --git a/src/paths/mapshaper-segment-intersection.mjs b/src/paths/mapshaper-segment-intersection.mjs index deb1a739e..975965852 100644 --- a/src/paths/mapshaper-segment-intersection.mjs +++ b/src/paths/mapshaper-segment-intersection.mjs @@ -1,4 +1,3 @@ - import { sortSegmentIds } from '../paths/mapshaper-segment-sorting'; import geom from '../geom/mapshaper-geom'; import utils from '../utils/mapshaper-utils'; @@ -8,9 +7,6 @@ import { getHighPrecisionSnapInterval } from '../paths/mapshaper-snapping'; import { SimpleIdTestIndex } from '../indexing/mapshaper-id-test-index'; import { absArcId, findArcIdFromVertexId } from '../paths/mapshaper-arc-utils'; -// Convert an array of intersections into an ArcCollection (for display) -// - export function getIntersectionPoints(intersections) { return intersections.map(function(obj) { return [obj.x, obj.y]; diff --git a/test/classify-test.mjs b/test/classify-test.mjs index f338dd4cc..87e592e10 100644 --- a/test/classify-test.mjs +++ b/test/classify-test.mjs @@ -25,6 +25,22 @@ describe('mapshaper-classify.js', function () { }); }) + it('accept numbers as categorical values', async function() { + var data = 'name\ncar\ntruck\ntrain\nbike'; + var cmd = '-i data.csv -classify save-as=opacity name categories=car,truck,train values=0.3,0.5,0.7 null-value=0 -o format=json'; + var out = await api.applyCommands(cmd, {'data.csv': data}); + var data = JSON.parse(out['data.json']); + assert.deepEqual(data, [{name: 'car', opacity: 0.3}, {name: 'truck', opacity: 0.5}, {name: 'train', opacity: 0.7}, {name: 'bike', opacity: 0}]); + }); + + it('accept numbers as categories', async function() { + var data = 'code\n0\n1\n2\n3'; + var cmd = '-i data.csv -classify save-as=opacity code categories=0,1,2 values=0.3,0.5,0.7 null-value=0 -o format=json'; + var out = await api.applyCommands(cmd, {'data.csv': data}); + var data = JSON.parse(out['data.json']); + assert.deepEqual(data, [{code: 0, opacity: 0.3}, {code: 1, opacity: 0.5}, {code: 2, opacity: 0.7}, {code: 3, opacity: 0}]); + }); + }) describe('empty field tests', function() { From 13eba438b9bd46758e374e66d5de22bd976a84a6 Mon Sep 17 00:00:00 2001 From: Matthew Bloch Date: Mon, 6 Nov 2023 23:57:32 -0500 Subject: [PATCH 018/509] Add test --- test/arc-utils-test.mjs | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 test/arc-utils-test.mjs diff --git a/test/arc-utils-test.mjs b/test/arc-utils-test.mjs new file mode 100644 index 000000000..3f8555b2a --- /dev/null +++ b/test/arc-utils-test.mjs @@ -0,0 +1,32 @@ + +import { findArcIdFromVertexId } from '../src/paths/mapshaper-arc-utils'; +import assert from 'assert'; + +describe('mapshaper-arc-utils', function () { + + describe('findArcIdFromVertexId()', function () { + + it('tests', function () { + assert.equal(findArcIdFromVertexId(0, [0, 10]), 0); + assert.equal(findArcIdFromVertexId(1, [0, 10]), 0); + assert.equal(findArcIdFromVertexId(10, [0, 10]), 1); + assert.equal(findArcIdFromVertexId(11, [0, 10]), 1); + }) + + it('tests 2', function () { + assert.equal(findArcIdFromVertexId(0, [0]), 0); + assert.equal(findArcIdFromVertexId(1, [0]), 0); + }) + + it('tests 3', function () { + assert.equal(findArcIdFromVertexId(0, [0, 10, 10, 20, 30]), 0); + assert.equal(findArcIdFromVertexId(3, [0, 10, 10, 20, 30]), 0); + assert.equal(findArcIdFromVertexId(11, [0, 10, 10, 10, 30]), 3); + assert.equal(findArcIdFromVertexId(30, [0, 10, 10, 20, 30]), 4); + assert.equal(findArcIdFromVertexId(10, [0, 10, 10, 10, 10, 10, 10, 10]), 7); + assert.equal(findArcIdFromVertexId(100, [0, 10, 10, 10, 10, 10, 10, 10]), 7); + }) + }) + + +}) From 1573b8c8c5f9d6586c045101d0882b241e5c50f1 Mon Sep 17 00:00:00 2001 From: Matthew Bloch Date: Tue, 7 Nov 2023 21:20:20 -0500 Subject: [PATCH 019/509] Add save to clipboard export option --- src/gui/gui-export-control.mjs | 115 ++++++++++++++++++++++++++------- src/gui/gui-instance.mjs | 20 +++++- www/index.html | 5 +- www/page.css | 18 ++++-- 4 files changed, 125 insertions(+), 33 deletions(-) diff --git a/src/gui/gui-export-control.mjs b/src/gui/gui-export-control.mjs index ec070b50c..b9849f69b 100644 --- a/src/gui/gui-export-control.mjs +++ b/src/gui/gui-export-control.mjs @@ -30,8 +30,9 @@ export var ExportControl = function(gui) { new SimpleButton(menu.findChild('.save-btn').addClass('default-btn')).on('click', onExportClick); gui.addMode('export', turnOn, turnOff, exportBtn); gui.keyboard.onMenuSubmit(menu, onExportClick); + var savePreferenceCheckbox; if (window.showSaveFilePicker) { - menu.findChild('#save-preference') + savePreferenceCheckbox = menu.findChild('#save-preference') .css('display', 'inline-block') .findChild('input') .on('change', function() { @@ -39,11 +40,44 @@ export var ExportControl = function(gui) { }) .attr('checked', GUI.getSavedValue('choose-save-dir') || null); } + var clipboardCheckbox = menu.findChild('#save-to-clipboard') + .findChild('input') + .on('change', function() { + updateExportCheckboxes(); + }); + + function setDisabled(inputEl, flag) { + if (!inputEl) return; + inputEl.node().disabled = !!flag; + inputEl.parent().css({color: flag ? '#bbb' : 'black'}); + } + + function checkboxOn(inputEl) { + if (!inputEl) return false; + return inputEl.node().checked && !inputEl.node().disabled; + } + + function updateExportCheckboxes() { + // disable cliboard if not usable + var canUseClipboard = clipboardIsAvailable(); + setDisabled(clipboardCheckbox, !canUseClipboard); + + // disable save to directory checkbox if clipboard is selected + setDisabled(savePreferenceCheckbox, checkboxOn(clipboardCheckbox)); + } + + function clipboardIsAvailable() { + var layers = getSelectedLayerEntries(); + var fmt = getSelectedFormat(); + return layers.length == 1 && ['json', 'geojson', 'dsv', 'topojson'].includes(fmt); + } + function turnOn() { layersArr = initLayerMenu(); // initZipOption(); initFormatMenu(); + updateExportCheckboxes(); menu.show(); } @@ -52,22 +86,25 @@ export var ExportControl = function(gui) { menu.hide(); } - function getSelectedLayers() { - var targets = layersArr.reduce(function(memo, o) { + function getSelectedLayerEntries() { + return layersArr.reduce(function(memo, o) { return o.checkbox.checked ? memo.concat(o.target) : memo; }, []); - return internal.groupLayersByDataset(targets); + } + + function getExportTargets() { + return internal.groupLayersByDataset(getSelectedLayerEntries()); } function onExportClick() { - var layers = getSelectedLayers(); - if (layers.length === 0) { + var targets = getExportTargets(); + if (targets.length === 0) { return gui.alert('No layers were selected'); } gui.clearMode(); gui.showProgressMessage('Exporting'); setTimeout(function() { - exportMenuSelection(layers).catch(function(err) { + exportMenuSelection(targets).catch(function(err) { if (utils.isString(err)) { gui.alert(err); } else { @@ -97,12 +134,22 @@ export var ExportControl = function(gui) { } // done: function(string|Error|null) - async function exportMenuSelection(layers) { + async function exportMenuSelection(targets) { var opts = getExportOpts(); // note: command line "target" option gets ignored - var files = await internal.exportTargetLayers(layers, opts); + var files = await internal.exportTargetLayers(targets, opts); gui.session.layersExported(getTargetLayerIds(), getExportOptsAsString()); - await utils.promisify(internal.writeFiles)(files, opts); + if (files.length == 1 && checkboxOn(clipboardCheckbox)) { + await saveFileContentToClipboard(files[0].content); + } else { + await utils.promisify(internal.writeFiles)(files, opts); + } + + } + + async function saveFileContentToClipboard(content) { + var str = utils.isString(content) ? content : content.toString(); + await navigator.clipboard.writeText(str); } function initLayerItem(o, i) { @@ -188,6 +235,7 @@ export var ExportControl = function(gui) { } function updateToggleBtn() { + updateExportCheckboxes(); // checkbox visibility is affected by number of export layers if (!toggleBtn) return; var state = getSelectionState(); // style of intermediate checkbox state doesn't look right in Chrome -- @@ -208,30 +256,49 @@ export var ExportControl = function(gui) { return 'some'; } - function getInputFormats() { - return model.getDatasets().reduce(function(memo, d) { - var fmts = d.info && d.info.input_formats || []; - return memo.concat(fmts); - }, []); - } - function getDefaultExportFormat() { var dataset = model.getActiveLayer().dataset; - return dataset.info && dataset.info.input_formats && - dataset.info.input_formats[0] || 'geojson'; + var inputFmt = dataset.info && dataset.info.input_formats && + dataset.info.input_formats[0]; + return getExportFormats().includes(inputFmt) ? inputFmt : 'geojson'; + } + + function getExportFormats() { + // return ['shapefile', 'geojson', 'topojson', 'json', 'dsv', 'kml', 'svg', internal.PACKAGE_EXT]; + return ['shapefile', 'json', 'geojson', 'dsv', 'topojson', 'kml', internal.PACKAGE_EXT, 'svg']; } function initFormatMenu() { - var defaults = ['shapefile', 'geojson', 'topojson', 'json', 'dsv', 'kml', 'svg', internal.PACKAGE_EXT]; - var formats = utils.uniq(defaults.concat(getInputFormats())); + var formats = getExportFormats(); + // var formats = utils.uniq(getExportFormats().concat(getInputFormats())); var items = formats.map(function(fmt) { - return utils.format('
', fmt, internal.getFormatName(fmt)); + return utils.format('', fmt, internal.getFormatName(fmt)); }); - menu.findChild('.export-formats').html(items.join('\n')); + var table = ''; + for (var i=0; i'; + } + table += '
'; + + // menu.findChild('.export-formats').html(items.join('\n')); + menu.findChild('.export-formats').html(table); menu.findChild('.export-formats input[value="' + getDefaultExportFormat() + '"]').node().checked = true; + // update save-as settings when value changes + menu.findChildren('input[type="radio"]').forEach(el => { + el.on('change', updateExportCheckboxes); + }); } + + // function getInputFormats() { + // return model.getDatasets().reduce(function(memo, d) { + // var fmts = d.info && d.info.input_formats || []; + // return memo.concat(fmts); + // }, []); + // } + + function initZipOption() { var html = ``; menu.findChild('.export-zip-option').html(html); diff --git a/src/gui/gui-instance.mjs b/src/gui/gui-instance.mjs index 6563e30ca..bd64bd763 100644 --- a/src/gui/gui-instance.mjs +++ b/src/gui/gui-instance.mjs @@ -42,6 +42,9 @@ export function GuiInstance(container, opts) { new SessionSnapshots(gui); } + var msgCount = 0; + var clearMsg; + initModeRules(gui); gui.showProgressMessage = function(msg) { @@ -50,10 +53,25 @@ export function GuiInstance(container, opts) { .appendTo('body'); } El('
').text(msg).appendTo(gui.progressMessage.empty().show()); + clearMsg = getClearFunction(msgCount); }; + function getClearFunction(count) { + var time = Date.now(); + // wait at least [min] milliseconds before closing + var min = 400; + msgCount = ++count; + return function() { + setTimeout(function() { + if (count != msgCount) return; + if (gui.progressMessage) gui.progressMessage.hide(); + }, Math.max(min - (Date.now() - time), 0)); + }; + } + gui.clearProgressMessage = function() { - if (gui.progressMessage) gui.progressMessage.hide(); + clearMsg(); + // if (gui.progressMessage) gui.progressMessage.hide(); }; gui.consoleIsOpen = function() { diff --git a/www/index.html b/www/index.html index 3c64f1f3c..36713b7ea 100644 --- a/www/index.html +++ b/www/index.html @@ -169,10 +169,11 @@

File format

+
+
save to clipboard
Export
- - +
diff --git a/www/page.css b/www/page.css index 0fb115875..6a09fc7fb 100644 --- a/www/page.css +++ b/www/page.css @@ -90,7 +90,7 @@ body { .dialog-btn { display: inline-block; margin-bottom: 1px; - margin-top: 1px; + margin-top: 3px; font-size: 13px; color: white; min-width: 28px; @@ -232,6 +232,12 @@ body { padding: 4px 6px 5px 6px; } +.export-options table { + margin: 0; + border-collapse: collapse; + width: 100%; +} + .export-layer-list { max-height: 160px; overflow: hidden; @@ -549,10 +555,12 @@ body.dragover #import-options-drop-area .drop-area { font-size: 90%; } + + /*.option-menu input[type="radio"], .option-menu input[type="checkbox"] */ -.info-box input[type="radio"], -.info-box input[type="checkbox"] +input[type="radio"], +input[type="checkbox"] { position: relative; top: 1px; @@ -1234,9 +1242,7 @@ div.basemap-style-btn.active img { } .inline-checkbox { - position: relative; - top: 1px; - left: 5px; + margin-left: 5px; } #save-preference { From f2f37e343a3ab45d0a54b692c1e15c92cbffd942 Mon Sep 17 00:00:00 2001 From: Matthew Bloch Date: Wed, 8 Nov 2023 06:22:36 -0500 Subject: [PATCH 020/509] this.geojson setter accepts nulls and colls --- CHANGELOG.md | 3 +++ src/expressions/mapshaper-each-geojson.mjs | 30 ++++++++++++++++------ test/each-test.mjs | 27 +++++++++++++++++++ 3 files changed, 52 insertions(+), 8 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3a10853f0..e6e4dda93 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,6 @@ +v0.6.46 +* Added save to clipboard option to web UI export menu. + v0.6.45 * Added -o hoist= option for moving GeoJSON Feature properties to the root of each Feature. * Simplification data is removed from snapshot files (except for temporary snapshots in the web UI). diff --git a/src/expressions/mapshaper-each-geojson.mjs b/src/expressions/mapshaper-each-geojson.mjs index f4b3126ee..014cb8323 100644 --- a/src/expressions/mapshaper-each-geojson.mjs +++ b/src/expressions/mapshaper-each-geojson.mjs @@ -10,34 +10,48 @@ export function expressionUsesGeoJSON(exp) { } export function getFeatureEditor(lyr, dataset) { - var changed = false; var api = {}; // need to copy attribute to avoid circular references if geojson is assigned // to a data property. var copy = copyLayer(lyr); var features = exportLayerAsGeoJSON(copy, dataset, {}, true); + var features2 = []; api.get = function(i) { + if (i > 0) features[i-1] = null; // garbage-collect old features return features[i]; }; api.set = function(feat, i) { - changed = true; + var arr; + if (utils.isString(feat)) { feat = JSON.parse(feat); } - features[i] = GeoJSON.toFeature(feat); // TODO: validate + + if (!feat) return; + + if (feat.type == 'GeometryCollection') { + arr = feat.geometries.map(geom => GeoJSON.toFeature(geom)); + } else if (feat.type == 'FeatureCollection') { + arr = feat.features; + } else { + feat = GeoJSON.toFeature(feat); + } + + if (arr) { + features2 = features2.concat(arr); + } else { + features2.push(feat); + } }; api.done = function() { - if (!changed) return; // read-only expression - // TODO: validate number of features, etc. + if (features2.length === 0) return; // read-only expression var geojson = { type: 'FeatureCollection', - features: features + features: features2 }; - - // console.log(JSON.stringify(geojson, null, 2)) return importGeoJSON(geojson); }; return api; diff --git a/test/each-test.mjs b/test/each-test.mjs index b08733321..01491ef4b 100644 --- a/test/each-test.mjs +++ b/test/each-test.mjs @@ -129,6 +129,7 @@ describe('mapshaper-each.js', function () { }; var cmd = '-i data.json -each "this.geojson = geostr" -o'; api.applyCommands(cmd, {'data.json': JSON.stringify(data)}, function(err, out) { + var output = JSON.parse(out['data.json']) var expect = JSON.parse(data.properties.geostr); assert.deepEqual(output.geometries[0], expect); @@ -136,6 +137,32 @@ describe('mapshaper-each.js', function () { }); }) + it('this.geojson setter accepts null and FeatureCollection', async function() { + var featureColl = { + type: 'FeatureCollection', + features: [{ + type: 'Feature', + geometry: { + type: "LineString", + coordinates: [[0,0], [1,1]] + }, + properties: {foo: 'bar'} + }, { + type: 'Feature', + geometry: { + type: "LineString", + coordinates: [[1,0], [2,1]] + }, + properties: {} + }] + }; + + var data = [{ geo: featureColl }, { geo: null }]; + var cmd = '-i data.json -each "this.geojson = geo" -o'; + var out = await api.applyCommands(cmd, {'data.json': JSON.stringify(data)}); + assert.deepEqual(JSON.parse(out['data.json']), featureColl); + }) + it('this.geojson getter + setter', function(done) { var data = { type: 'Feature', From 4fe2e7dcf0011f205500fb7304ea2eac3210468b Mon Sep 17 00:00:00 2001 From: Matthew Bloch Date: Wed, 8 Nov 2023 08:01:44 -0500 Subject: [PATCH 021/509] v0.6.46 --- CHANGELOG.md | 1 + REFERENCE.md | 3 ++- package-lock.json | 4 ++-- package.json | 2 +- src/gui/gui-export-control.mjs | 2 +- src/gui/gui-popup.mjs | 4 ++-- www/index.html | 9 ++++----- www/page.css | 6 ++++-- 8 files changed, 17 insertions(+), 14 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e6e4dda93..cbf02255d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,6 @@ v0.6.46 * Added save to clipboard option to web UI export menu. +* In -each expressions, `this.geojson` setter now accepts nulls and FeatureCollectsions in addition to single Features. v0.6.45 * Added -o hoist= option for moving GeoJSON Feature properties to the root of each Feature. diff --git a/REFERENCE.md b/REFERENCE.md index 0c4b88027..de3c806de 100644 --- a/REFERENCE.md +++ b/REFERENCE.md @@ -586,7 +586,8 @@ All layer types - `this.layer_name` Name of the layer, or `""` if layer is unnamed. - `this.properties` Data properties (also available as local variables) (read/write) - `this.layer` Object with "name" and "data" properties -- `this.geojson` (read/write) Converts each feature to a GeoJSON Feature object. +- `this.geojson` (getter) Returns each feature as a GeoJSON Feature object. +- `this.geojson=` (setter) Update target layer with GeoJSON. Point layers - `this.coordinates` An array of [x, y] coordinates with one or more members, or null (read/write) diff --git a/package-lock.json b/package-lock.json index 6d7db2e66..d1f1794a2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "mapshaper", - "version": "0.6.45", + "version": "0.6.46", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "mapshaper", - "version": "0.6.45", + "version": "0.6.46", "license": "MPL-2.0", "dependencies": { "@placemarkio/tokml": "^0.3.3", diff --git a/package.json b/package.json index af2b97bc8..ea7d48379 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "mapshaper", - "version": "0.6.45", + "version": "0.6.46", "description": "A tool for editing vector datasets for mapping and GIS.", "keywords": [ "shapefile", diff --git a/src/gui/gui-export-control.mjs b/src/gui/gui-export-control.mjs index b9849f69b..5d9628273 100644 --- a/src/gui/gui-export-control.mjs +++ b/src/gui/gui-export-control.mjs @@ -27,7 +27,7 @@ export var ExportControl = function(gui) { return; } - new SimpleButton(menu.findChild('.save-btn').addClass('default-btn')).on('click', onExportClick); + new SimpleButton(menu.findChild('#export-btn').addClass('default-btn')).on('click', onExportClick); gui.addMode('export', turnOn, turnOff, exportBtn); gui.keyboard.onMenuSubmit(menu, onExportClick); var savePreferenceCheckbox; diff --git a/src/gui/gui-popup.mjs b/src/gui/gui-popup.mjs index 34cb45029..5c39503cb 100644 --- a/src/gui/gui-popup.mjs +++ b/src/gui/gui-popup.mjs @@ -128,8 +128,8 @@ export function Popup(gui, toNext, toPrev) { var popup = showPopupAlert('', 'Add field'); var el = popup.container(); el.addClass('option-menu'); - var html = `
-
+ var html = `
+
Apply
assign value to all records`; el.html(html); diff --git a/www/index.html b/www/index.html index 36713b7ea..e4a58469a 100644 --- a/www/index.html +++ b/www/index.html @@ -156,7 +156,7 @@

File format

-
+
-
+
save to clipboard
- -
Export
- + +
Export
diff --git a/www/page.css b/www/page.css index 6a09fc7fb..dd3cf57b1 100644 --- a/www/page.css +++ b/www/page.css @@ -235,6 +235,7 @@ body { .export-options table { margin: 0; border-collapse: collapse; + border-spacing: 0; width: 100%; } @@ -280,7 +281,7 @@ body { .alert-title { line-height: 1.1; font-weight: bold; - margin-bottom: 5px; + margin-bottom: 7px; } div.alert-title, div.error-message { @@ -467,6 +468,7 @@ body.dragover #import-options-drop-area .drop-area { margin: 0 0 5px 0; } + #mshp-not-supported { display: none; z-index: 100; @@ -1134,7 +1136,7 @@ img.close-btn:hover, .basemap-styles > div { display: inline-block; - margin-bottom: 8px; + margin-bottom: 6px; } .basemap-styles > div:nth-child(even) { From 91812d700100d68701104c2010568fcfa013da25 Mon Sep 17 00:00:00 2001 From: Matthew Bloch Date: Sun, 12 Nov 2023 16:53:19 -0500 Subject: [PATCH 022/509] Fix gui runtime error --- src/gui/gui-instance.mjs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gui/gui-instance.mjs b/src/gui/gui-instance.mjs index bd64bd763..b5dd64321 100644 --- a/src/gui/gui-instance.mjs +++ b/src/gui/gui-instance.mjs @@ -70,7 +70,7 @@ export function GuiInstance(container, opts) { } gui.clearProgressMessage = function() { - clearMsg(); + if (clearMsg) clearMsg(); // if (gui.progressMessage) gui.progressMessage.hide(); }; From 3bb94e492d755692ebd7f44ce1b76e07d4da4398 Mon Sep 17 00:00:00 2001 From: Matthew Bloch Date: Sun, 12 Nov 2023 16:55:32 -0500 Subject: [PATCH 023/509] Allow passing JSON data to -i instead of file name(s) --- src/cli/mapshaper-command-parser.mjs | 109 +++++++++++++++--------- src/cli/mapshaper-option-validation.mjs | 67 +++++---------- src/cli/mapshaper-options.mjs | 46 ++++++---- src/cli/mapshaper-run-commands.mjs | 1 + src/io/mapshaper-export.mjs | 20 ++--- src/io/mapshaper-file-import.mjs | 20 +++++ src/topojson/topojson-export.mjs | 2 +- src/utils/mapshaper-format.mjs | 0 test/import-test.mjs | 16 +++- test/parse-commands-test.mjs | 2 +- 10 files changed, 168 insertions(+), 115 deletions(-) delete mode 100644 src/utils/mapshaper-format.mjs diff --git a/src/cli/mapshaper-command-parser.mjs b/src/cli/mapshaper-command-parser.mjs index 4ee230098..1dc56ba5f 100644 --- a/src/cli/mapshaper-command-parser.mjs +++ b/src/cli/mapshaper-command-parser.mjs @@ -75,14 +75,18 @@ export function CommandParser() { if (!cmdName) { stop("Invalid command:", argv[0]); } - cmdDef = findCommandDefn(cmdName, commandDefs); + cmdDef = findCommandDefn(cmdName, commandDefs) || null; if (!cmdDef) { - // In order to support adding commands at runtime, unknown commands - // are parsed without options (tokens get stored for later parsing) - // stop("Unknown command:", cmdName); - cmdDef = {name: cmdName, options: [], multi_arg: true}; + cmd = parseUnknownCommandOptions(argv, cmdName); + } else { + cmd = parseCommandOptions(argv, cmdDef); } - cmd = { + commands.push(cmd); + } + return commands; + + function parseCommandOptions(argv, cmdDef) { + var cmd = { name: cmdDef.name, options: {}, _: [] @@ -93,25 +97,32 @@ export function CommandParser() { } try { - if (cmd._.length > 0 && cmdDef.no_arg) { - error("Received one or more unexpected parameters:", cmd._.join(' ')); - } - if (cmd._.length > 1 && !cmdDef.multi_arg) { - error("Command expects a single value. Received:", cmd._.join(' ')); - } - if (cmdDef.default && cmd._.length == 1) { - // TODO: support multiple-token values, like -i filenames + if (cmd._.length > 0) { readDefaultOptionValue(cmd, cmdDef); } if (cmdDef.validate) { cmdDef.validate(cmd); } + delete cmd.options._; // kludge to remove -o placeholder option } catch(e) { stop("[" + cmdName + "] " + e.message); } - commands.push(cmd); + return cmd; + } + + function parseUnknownCommandOptions(argv, cmdName) { + // In order to support adding commands at runtime, unknown commands + // are parsed without options (tokens get stored for later parsing) + var cmd = { + name: cmdName, + options: {}, + _: [] + }; + while (argv.length > 0 && !tokenLooksLikeCommand(argv[0])) { + cmd._.push(argv.shift()); + } + return cmd; } - return commands; function tokenLooksLikeCommand(s) { if (invalidCommandRxp.test(s)) { @@ -145,11 +156,7 @@ export function CommandParser() { } if (!optDef) { - // REMOVING quote trimming -- it prevents the use of quoted commands in -run (for example) - // token is not a defined option; add it to _ array for later processing - // Stripping surrounding quotes here, although this may not be necessary since - // (some, most, all?) shells seem to remove quotes. - // cmd._.push(utils.trimQuotes(token)); + // token is not a known option -- add to array of unnamed options cmd._.push(token); return; } @@ -178,9 +185,36 @@ export function CommandParser() { return parseOptionValue(argv.shift(), optDef); // remove token from argv } + // convert strings in cmd._ array to command parameers in cmd.options object + // function readDefaultOptionValue(cmd, cmdDef) { - var optDef = findOptionDefn(cmdDef.default, cmdDef); - cmd.options[cmdDef.default] = readOptionValue(cmd._, optDef); + var optDef = findDefaultOptionDefn(cmdDef); + var argv = cmd._; + var value; + if (cmdDef) + if (!optDef) { + // no option has been specified as the default option + error('Received one or more unexpected parameters:', argv.join(' ')); + } + // DEFAULT may be true (simple case of one argument) or an object + var argDef = optDef.DEFAULT === true ? {} : optDef.DEFAULT; + argDef.type = argDef.type || optDef.type || 'string'; + argDef.name = optDef.name; // used in parse error message + + if (argv.length > 1 && !argDef.multi_arg) { + error((argDef.multi_error_msg || 'Command expects a single value.'), + 'Received:', argv.join(' ')); + } + + argv = argv.map(arg => parseOptionValue(arg, argDef)); + if (!argDef.multi_arg) { + value = argv[0]; + } else if (utils.isString(argDef.join)) { + value = argv.join(argDef.join); + } else { + value = argv; + } + cmd.options[optDef.name] = value; } function parseOptionValue(token, optDef) { @@ -258,15 +292,15 @@ export function CommandParser() { function getSingleCommandLines(cmd) { var lines = []; - // command name - lines.push('COMMAND', getCommandLine(cmd)); + var options = []; + cmd.options.forEach(function(opt) { + options = options.concat(getOptionLines(opt, cmd)); + }); - // options - if (cmd.options.length > 0) { + lines.push('COMMAND', getCommandLine(cmd)); + if (options.length > 0) { lines.push('', 'OPTIONS'); - cmd.options.forEach(function(opt) { - lines = lines.concat(getOptionLines(opt, cmd)); - }); + lines = lines.concat(options); } // examples @@ -290,7 +324,7 @@ export function CommandParser() { // empty } else if (opt.label) { lines.push([opt.label, description]); - } else if (opt.name == cmd.default) { + } else if (opt.DEFAULT) { label = opt.name + '='; lines.push(['<' + opt.name + '>', 'shortcut for ' + label]); lines.push([label, description]); @@ -372,6 +406,12 @@ export function CommandParser() { return o.name === name || o.alias === name || o.old_alias === name; }); } + + function findDefaultOptionDefn(cmdDef) { + return utils.find(cmdDef.options, function(o) { + return !!o.DEFAULT; + }); + } } function CommandOptions(name) { @@ -415,17 +455,10 @@ function CommandOptions(name) { return this; }; - this.flag = function(name) { - _command[name] = true; - return this; - }; - this.option = function(name, opts) { opts = utils.extend({}, opts); // accept just a name -- some options don't need properties if (!utils.isString(name) || !name) error("Missing option name"); if (!utils.isObject(opts)) error("Invalid option definition:", opts); - // default option -- assign unnamed argument to this option - if (opts.DEFAULT) _command.default = name; opts.name = name; _command.options.push(opts); return this; diff --git a/src/cli/mapshaper-option-validation.mjs b/src/cli/mapshaper-option-validation.mjs index 12dcd458a..ba1dfe847 100644 --- a/src/cli/mapshaper-option-validation.mjs +++ b/src/cli/mapshaper-option-validation.mjs @@ -1,6 +1,6 @@ import { isSupportedDelimiter } from '../text/mapshaper-delim-import'; import { isSupportedOutputFormat } from '../io/mapshaper-file-types'; -import { filenameIsUnsupportedOutputType } from '../io/mapshaper-file-types'; +import { filenameIsUnsupportedOutputType, stringLooksLikeJSON } from '../io/mapshaper-file-types'; import { validateEncoding } from '../text/mapshaper-encodings'; import { error, stop } from '../utils/mapshaper-logging'; import cli from '../cli/mapshaper-cli-utils'; @@ -11,9 +11,6 @@ export function validateInputOpts(cmd) { var o = cmd.options, _ = cmd._; - if (_.length > 0 && !o.files) { - o.files = _; - } if (o.files) { o.files = cli.expandInputFiles(o.files); if (o.files[0] == '-' || o.files[0] == '/dev/stdin') { @@ -22,8 +19,8 @@ export function validateInputOpts(cmd) { } } - if ("precision" in o && o.precision > 0 === false) { - error("precision= option should be a positive number"); + if ('precision' in o && o.precision > 0 === false) { + error('precision= option should be a positive number'); } if (o.encoding) { @@ -32,36 +29,15 @@ export function validateInputOpts(cmd) { } export function validateSimplifyOpts(cmd) { - var o = cmd.options, - arg = cmd._[0]; - - if (arg) { - if (/^[0-9.]+%?$/.test(arg)) { - o.percentage = utils.parsePercent(arg); - } else { - error("Unparsable option:", arg); - } - } - + var o = cmd.options; if (!o.interval && !o.percentage && !o.resolution) { - error("Command requires an interval, percentage or resolution parameter"); + error('Command requires an interval, percentage or resolution parameter'); } } export function validateProjOpts(cmd) { - var _ = cmd._; - - if (_.length > 0 && !cmd.options.crs) { - cmd.options.crs = _.join(' '); - _ = []; - } - - if (_.length > 0) { - error("Received one or more unexpected parameters: " + _.join(', ')); - } - if (!(cmd.options.crs || cmd.options.match || cmd.options.init)) { - stop("Missing projection data"); + stop('Missing projection data'); } } @@ -76,25 +52,24 @@ export function validateGridOpts(cmd) { export function validateExpressionOpt(cmd) { if (!cmd.options.expression) { - error("Command requires a JavaScript expression"); + error('Command requires a JavaScript expression'); } } export function validateOutputOpts(cmd) { - var _ = cmd._, - o = cmd.options, - arg = _[0] || "", + var o = cmd.options, + arg = o._ || '', pathInfo = parseLocalPath(arg); - if (_.length > 1) { - error("Command takes one file or directory argument"); - } + // if (!arg) { + // error('Command requires an output file or directory.'); + // } if (arg == '-' || arg == '/dev/stdout') { o.stdout = true; } else if (arg && !pathInfo.extension) { if (!cli.isDirectory(arg)) { - error("Unknown output option:", arg); + error('Unknown output option:', arg); } o.directory = arg; } else if (arg) { @@ -122,7 +97,7 @@ export function validateOutputOpts(cmd) { } if (filenameIsUnsupportedOutputType(o.file)) { - error("Output file looks like an unsupported file type:", o.file); + error('Output file looks like an unsupported file type:', o.file); } } @@ -136,15 +111,15 @@ export function validateOutputOpts(cmd) { o.delimiter = o.delimiter || '\t'; } if (!isSupportedOutputFormat(o.format)) { - error("Unsupported output format:", o.format); + error('Unsupported output format:', o.format); } } if (o.delimiter) { - // convert "\t" '\t' \t to tab + // convert '\t' '\t' \t to tab o.delimiter = o.delimiter.replace(/^["']?\\t["']?$/, '\t'); if (!isSupportedDelimiter(o.delimiter)) { - error("Unsupported delimiter:", o.delimiter); + error('Unsupported delimiter:', o.delimiter); } } @@ -157,11 +132,11 @@ export function validateOutputOpts(cmd) { } // topojson-specific - if ("quantization" in o && o.quantization > 0 === false) { - error("quantization= option should be a nonnegative integer"); + if ('quantization' in o && o.quantization > 0 === false) { + error('quantization= option should be a nonnegative integer'); } - if ("topojson_precision" in o && o.topojson_precision > 0 === false) { - error("topojson-precision= option should be a positive number"); + if ('topojson_precision' in o && o.topojson_precision > 0 === false) { + error('topojson-precision= option should be a positive number'); } } diff --git a/src/cli/mapshaper-options.mjs b/src/cli/mapshaper-options.mjs index 5af02be27..c13bba357 100644 --- a/src/cli/mapshaper-options.mjs +++ b/src/cli/mapshaper-options.mjs @@ -106,9 +106,11 @@ export function getOptionParser() { parser.command('i') .describe('input one or more files') .validate(V.validateInputOpts) - .flag('multi_arg') .option('files', { - DEFAULT: true, + DEFAULT: { + multi_arg: true, + type: 'string' + }, type: 'strings', describe: 'one or more files to import, or - to use stdin' }) @@ -199,7 +201,10 @@ export function getOptionParser() { .validate(V.validateOutputOpts) .option('_', { label: '', - describe: '(optional) name of output file or directory, - for stdout' + describe: '(optional) name of output file or directory, - for stdout', + DEFAULT: { + multi_error_msg: 'Command takes one file or directory argument.' + } }) .option('format', { describe: 'options: shapefile,geojson,topojson,json,dbf,csv,tsv,svg' @@ -383,7 +388,6 @@ export function getOptionParser() { parser.command('affine') .describe('transform coordinates by shifting, scaling and rotating') - .flag('no_args') .option('shift', { type: 'strings', describe: 'x,y offsets in source units (e.g. 5000,-5000)' @@ -622,7 +626,6 @@ export function getOptionParser() { parser.command('colorizer') .describe('define a function to convert data values to color classes') - .flag('no_arg') .option('colors', { describe: 'comma-separated list of CSS colors', type: 'colors' @@ -811,7 +814,6 @@ export function getOptionParser() { parser.command('drop') .describe('delete layer(s) or elements within the target layer(s)') - .flag('no_arg') // prevent trying to pass a list of layer names as default option .option('geometry', { describe: 'delete all geometry from the target layer(s)', type: 'flag' @@ -1018,7 +1020,6 @@ export function getOptionParser() { parser.command('innerlines') .describe('convert polygons to polylines along shared edges') - .flag('no_arg') .option('where', whereOpt2) // .option('each', eachOpt2) .option('name', nameOpt) @@ -1134,7 +1135,6 @@ export function getOptionParser() { parser.command('merge-layers') .describe('merge multiple layers into as few layers as possible') - .flag('no_arg') .option('force', { type: 'flag', describe: 'merge layers with inconsistent data fields' @@ -1156,9 +1156,10 @@ export function getOptionParser() { parser.command('point-grid') .describe('create a rectangular grid of points') .validate(V.validateGridOpts) - .option('-', { + .option('_', { label: '', - describe: 'size of the grid, e.g. -point-grid 100,100' + describe: 'size of the grid, e.g. -point-grid 100,100', + DEFAULT: true }) .option('interval', { describe: 'distance between adjacent points, in source units', @@ -1180,7 +1181,6 @@ export function getOptionParser() { parser.command('points') .describe('create a point layer from a different layer type') - .flag('no_arg') .option('x', { describe: 'field containing x coordinate' }) @@ -1242,9 +1242,11 @@ export function getOptionParser() { parser.command('proj') .describe('project your data (using Proj.4)') - .flag('multi_arg') .option('crs', { - DEFAULT: true, + DEFAULT: { + multi_arg: true, + join: ' ' + }, describe: 'set destination CRS using a Proj.4 definition or alias' }) .option('projection', { @@ -1320,7 +1322,6 @@ export function getOptionParser() { }) .option('target', targetOpt); - parser.command('simplify') .validate(V.validateSimplifyOpts) .example('Retain 10% of removable vertices\n$ mapshaper input.shp -simplify 10%') @@ -1474,7 +1475,8 @@ export function getOptionParser() { parser.command('split-on-grid') .describe('split features into separate layers using a grid') .validate(V.validateGridOpts) - .option('-', { + .option('_', { + DEFAULT: true, label: '', describe: 'size of the grid, e.g. -split-on-grid 12,10' }) @@ -2071,7 +2073,12 @@ export function getOptionParser() { parser.command('comment') .describe('add a comment to the sequence of commands') - .flag('multi_arg'); + .option('message', { + DEFAULT: { + multi_arg: true, + join: ' ' + } + }); parser.command('encodings') .describe('print list of supported text encodings (for .dbf import)'); @@ -2102,7 +2109,12 @@ export function getOptionParser() { parser.command('print') .describe('print a message to stdout') - .flag('multi_arg'); + .option('message', { + DEFAULT: { + multi_arg: true, + join: ' ' + } + }); parser.command('projections') .describe('print list of supported projections'); diff --git a/src/cli/mapshaper-run-commands.mjs b/src/cli/mapshaper-run-commands.mjs index f9cf2b094..48a2f4b1b 100644 --- a/src/cli/mapshaper-run-commands.mjs +++ b/src/cli/mapshaper-run-commands.mjs @@ -119,6 +119,7 @@ function _runCommands(argv, opts, callback) { commands; try { commands = parseCommands(argv); + } catch(e) { printError(e); return callback(e); diff --git a/src/io/mapshaper-export.mjs b/src/io/mapshaper-export.mjs index ae42076f6..9115ee9f4 100644 --- a/src/io/mapshaper-export.mjs +++ b/src/io/mapshaper-export.mjs @@ -88,7 +88,7 @@ async function exportDatasets(datasets, opts) { return files; } -// Return an array of objects with "filename" and "content" members. +// Return an array of objects with 'filename' and 'content' members. // export function exportFileContent(dataset, opts) { var outFmt = opts.format = getOutputFormat(dataset, opts), @@ -96,9 +96,9 @@ export function exportFileContent(dataset, opts) { files = []; if (!outFmt) { - error("Missing output format"); + error('Missing output format'); } else if (!exporter) { - error("Unknown output format:", outFmt); + error('Unknown output format:', outFmt); } // shallow-copy dataset and layers, so layers can be renamed for export @@ -168,7 +168,7 @@ function createIndexFile(datasets) { return { content: JSON.stringify(index), - filename: "bbox-index.json" + filename: 'bbox-index.json' }; } @@ -180,14 +180,14 @@ function validateLayerData(layers) { if (lyr.shapes && utils.some(lyr.shapes, function(o) { return !!o; })) { - error("A layer contains shape records and a null geometry type"); + error('A layer contains shape records and a null geometry type'); } } else { if (!utils.contains(['polygon', 'polyline', 'point'], lyr.geometry_type)) { - error ("A layer has an invalid geometry type:", lyr.geometry_type); + error ('A layer has an invalid geometry type:', lyr.geometry_type); } if (!lyr.shapes) { - error ("A layer is missing shape data"); + error ('A layer is missing shape data'); } } }); @@ -197,15 +197,15 @@ function validateFileNames(files) { var index = {}; files.forEach(function(file, i) { var filename = file.filename; - if (!filename) error("Missing a filename for file" + i); - if (filename in index) error("Duplicate filename", filename); + if (!filename) error('Missing a filename for file' + i); + if (filename in index) error('Duplicate filename', filename); index[filename] = true; }); } export function assignUniqueLayerNames(layers) { var names = layers.map(function(lyr) { - return lyr.name || "layer"; + return lyr.name || 'layer'; }); var uniqueNames = utils.uniqifyNames(names); layers.forEach(function(lyr, i) { diff --git a/src/io/mapshaper-file-import.mjs b/src/io/mapshaper-file-import.mjs index 7e5fd8790..3ecfaae5e 100644 --- a/src/io/mapshaper-file-import.mjs +++ b/src/io/mapshaper-file-import.mjs @@ -5,6 +5,7 @@ import { guessInputFileType, isZipFile, isKmzFile, + stringLooksLikeJSON, isPackageFile } from '../io/mapshaper-file-types'; import cmd from '../mapshaper-cmd'; import cli from '../cli/mapshaper-cli-utils'; @@ -18,6 +19,7 @@ import { unpackSessionData } from '../pack/mapshaper-unpack'; import { buildTopology } from '../topology/mapshaper-topology'; import { cleanPathsAfterImport } from '../paths/mapshaper-path-import'; import { mergeDatasets } from '../dataset/mapshaper-merging'; +import { formatVersionedFileName } from '../io/mapshaper-export'; cmd.importFiles = async function(catalog, opts) { var files = opts.files || []; @@ -40,6 +42,8 @@ cmd.importFiles = async function(catalog, opts) { opts = Object.assign({}, opts); opts.input = Object.assign({}, opts.input); // make sure we have a cache + convertDataObjects(files, opts.input); + files = expandFiles(files, opts.input); if (files.length === 0) { @@ -70,6 +74,22 @@ cmd.importFiles = async function(catalog, opts) { return dataset; }; +// replace any JSON data objects with filenames and cache the data +function convertDataObjects(files, cache) { + var names = files.map(str => stringLooksLikeJSON(str) ? 'layer.json' : null).filter(Boolean); + if (names.length === 0) return; + if (names.length > 1) { + // make unique names if importing multiple objects + names = utils.uniqifyNames(names, formatVersionedFileName); + } + files.forEach((str, i) => { + if (!stringLooksLikeJSON(str)) return; + var name = names.shift(); + cache[name] = str; + files[i] = name; + }); +} + async function importMshpFile(file, catalog, opts) { var buf = cli.readFile(file, null, opts.input); var obj = await unpackSessionData(buf); diff --git a/src/topojson/topojson-export.mjs b/src/topojson/topojson-export.mjs index 227069d3e..3e8154678 100644 --- a/src/topojson/topojson-export.mjs +++ b/src/topojson/topojson-export.mjs @@ -88,7 +88,7 @@ TopoJSON.exportTopology = function(dataset, opts) { // export layers as TopoJSON named objects topology.objects = dataset.layers.reduce(function(objects, lyr, i) { - var name = lyr.name || "layer" + (i + 1); + var name = lyr.name || 'layer' + (i + 1); objects[name] = TopoJSON.exportLayer(lyr, dataset.arcs, opts); return objects; }, {}); diff --git a/src/utils/mapshaper-format.mjs b/src/utils/mapshaper-format.mjs deleted file mode 100644 index e69de29bb..000000000 diff --git a/test/import-test.mjs b/test/import-test.mjs index 1d475560a..601b410c1 100644 --- a/test/import-test.mjs +++ b/test/import-test.mjs @@ -4,6 +4,20 @@ import { Catalog } from '../src/dataset/mapshaper-catalog'; describe('mapshaper-import.js', function () { + it('supports importing JSON data on the command line', async function() { + var cmd = `-i '[{"foo": "bar"}]' '[{"foo": "baz"}]' combine-files -merge-layers name=data -o`; + var out = await api.applyCommands(cmd); + var data = JSON.parse(out['data.json']); + assert.deepEqual(data, [{foo: 'bar'}, {foo: 'baz'}]); + }) + + it('supports importing JSON data on the command line (double quotes)', async function() { + var cmd = `-i "[{\\"foo\\": \\"bar\\"}]" -o`; + var out = await api.applyCommands(cmd); + var data = JSON.parse(out['layer.json']); + assert.deepEqual(data, [{foo: 'bar'}]); + }) + it('import a point GeoJSON and a csv file', async function() { var a = 'test/data/three_points.geojson', b = 'test/data/text/two_states.csv'; @@ -57,8 +71,6 @@ describe('mapshaper-import.js', function () { }) - - describe('-i json-path option', function () { it('nested path, object input', function(done) { var data = { diff --git a/test/parse-commands-test.mjs b/test/parse-commands-test.mjs index 460184b3c..66bd77137 100644 --- a/test/parse-commands-test.mjs +++ b/test/parse-commands-test.mjs @@ -25,7 +25,7 @@ describe('mapshaper-parse-commands.js', function () { it('-each command with escaped quotes', function() { var commands = internal.parseConsoleCommands('-each "id = [this.id].join(\\",\\")"'); - var target = [{name: 'each', _:[], options: {expression: 'id = [this.id].join(",")'}}]; + var target = [{name: 'each', _:['id = [this.id].join(",")'], options: {expression: 'id = [this.id].join(",")'}}]; assert.deepEqual(commands, target); }) From ec876d0fa2c9b1c5bebda77d93aa77730a427a2f Mon Sep 17 00:00:00 2001 From: Matthew Bloch Date: Mon, 13 Nov 2023 21:04:08 -0500 Subject: [PATCH 024/509] Add support for dynamically generated inputs to -run --- src/cli/mapshaper-command-info.mjs | 28 ++++++++++++ src/cli/mapshaper-run-commands.mjs | 5 +-- src/commands/mapshaper-run.mjs | 52 +++++++++++++--------- src/expressions/mapshaper-expressions.mjs | 11 ++--- src/expressions/mapshaper-job-proxy.mjs | 10 +++++ src/expressions/mapshaper-target-proxy.mjs | 9 ++++ test/data/features/run/includes1.js | 6 +++ test/import-test.mjs | 2 +- test/run-test.mjs | 51 ++++++++++++++++++--- 9 files changed, 135 insertions(+), 39 deletions(-) create mode 100644 src/cli/mapshaper-command-info.mjs create mode 100644 src/expressions/mapshaper-job-proxy.mjs create mode 100644 src/expressions/mapshaper-target-proxy.mjs create mode 100644 test/data/features/run/includes1.js diff --git a/src/cli/mapshaper-command-info.mjs b/src/cli/mapshaper-command-info.mjs new file mode 100644 index 000000000..b7ade4def --- /dev/null +++ b/src/cli/mapshaper-command-info.mjs @@ -0,0 +1,28 @@ + + +export function commandTakesFileInput(name) { + return (name == 'i' || name == 'join' || name == 'erase' || name == 'clip' || name == 'include'); +} + +// TODO: implement these and other functions +// TODO: move this info into individual command definitions (to make +// commands more modular and support a future plugin system) + +// export function commandMayRemoveArcs(cmd) { + +// } + +// export function commandMayChangeArcs(cmd) { +// // return arcsMayHaveChanged({[cmd]: true}); +// } + +// export function arcsMayNeedCleanup(flags) { +// return flags.clip || flags.erase || flags.slice || flags.rectangle || flags.buffer || +// flags.union || flags.clean || flags.drop || false; +// } + +// export function arcsMayBeChanged(flags) { +// return arcsMayNeedCleanup(flags) || flags.proj || flags.simplify || +// flags.simplify_method || flags.arc_count || flags.repair || flags.affine || +// flags.mosaic || flags.snap; +// } diff --git a/src/cli/mapshaper-run-commands.mjs b/src/cli/mapshaper-run-commands.mjs index 48a2f4b1b..7e954b842 100644 --- a/src/cli/mapshaper-run-commands.mjs +++ b/src/cli/mapshaper-run-commands.mjs @@ -10,7 +10,7 @@ import { runningInBrowser } from '../mapshaper-env'; import utils from '../utils/mapshaper-utils'; import { resetControlFlow } from '../mapshaper-control-flow'; import require from '../mapshaper-require'; - +import { commandTakesFileInput } from '../cli/mapshaper-command-info'; // Parse command line args into commands and run them // Function takes an optional Node-style callback. A Promise is returned if no callback is given. @@ -173,9 +173,6 @@ function _runCommands(argv, opts, callback) { } } -function commandTakesFileInput(name) { - return (name == 'i' || name == 'join' || name == 'erase' || name == 'clip' || name == 'include'); -} function toLegacyOutputFormat(arr) { if (arr.length > 1) { diff --git a/src/commands/mapshaper-run.mjs b/src/commands/mapshaper-run.mjs index 4a7111071..f780f1e02 100644 --- a/src/commands/mapshaper-run.mjs +++ b/src/commands/mapshaper-run.mjs @@ -1,5 +1,4 @@ -import { getLayerInfo } from '../commands/mapshaper-info'; import { getBaseContext } from '../expressions/mapshaper-expressions'; import { runParsedCommands } from '../cli/mapshaper-run-commands'; import { parseCommands } from '../cli/mapshaper-parse-commands'; @@ -7,32 +6,50 @@ import { stop, message } from '../utils/mapshaper-logging'; import utils from '../utils/mapshaper-utils'; import { getStashedVar } from '../mapshaper-stash'; import cmd from '../mapshaper-cmd'; +import { getTargetProxy } from '../expressions/mapshaper-target-proxy'; +import { getIOProxy } from '../expressions/mapshaper-job-proxy'; +import { commandTakesFileInput } from '../cli/mapshaper-command-info'; cmd.run = async function(job, targets, opts) { - var commandStr, commands; + var tmp, commands; if (!opts.expression) { stop("Missing expression parameter"); } - commandStr = runGlobalExpression(opts.expression, targets); + + // io proxy adds ability to add datasets dynamically in a required function + var ctx = getBaseContext(); + ctx.io = getIOProxy(job); + tmp = runGlobalExpression(opts.expression, targets, ctx); + // Support async functions as expressions - if (utils.isPromise(commandStr)) { - commandStr = await commandStr; + if (utils.isPromise(tmp)) { + tmp = await tmp; } - if (commandStr) { - message(`command: [${commandStr}]`); - commands = parseCommands(commandStr); + if (tmp && !utils.isString(tmp)) { + stop('Expected a string containing mapshaper commands; received:', tmp); + } + if (tmp) { + message(`command: [${tmp}]`); + commands = parseCommands(tmp); + + // TODO: remove duplication with mapshaper-run-commands.mjs + commands.forEach(function(cmd) { + if (commandTakesFileInput(cmd.name)) { + cmd.options.input = ctx.io._cache; + } + }); + await utils.promisify(runParsedCommands)(commands, job); } }; // This could return a Promise or a value or nothing -export function runGlobalExpression(expression, targets) { - var ctx = getBaseContext(); - var output, targetData; +export function runGlobalExpression(expression, targets, ctx) { + ctx = ctx || getBaseContext(); + var output; // TODO: throw an informative error if target is used when there are multiple targets if (targets && targets.length == 1) { - targetData = getRunCommandData(targets[0]); - Object.defineProperty(ctx, 'target', {value: targetData}); + Object.defineProperty(ctx, 'target', {value: getTargetProxy(targets[0])}); } // Add defined functions and data to the expression context // (Such as functions imported via the -require command) @@ -44,12 +61,3 @@ export function runGlobalExpression(expression, targets) { } return output; } - - -function getRunCommandData(target) { - var lyr = target.layers[0]; - var data = getLayerInfo(lyr, target.dataset); - data.layer = lyr; - data.dataset = target.dataset; - return data; -} diff --git a/src/expressions/mapshaper-expressions.mjs b/src/expressions/mapshaper-expressions.mjs index 51655e616..4c7435a89 100644 --- a/src/expressions/mapshaper-expressions.mjs +++ b/src/expressions/mapshaper-expressions.mjs @@ -244,14 +244,15 @@ function getExpressionContext(lyr, mixins, opts) { }, ctx); } -export function getBaseContext() { +export function getBaseContext(ctx) { + ctx = ctx || {}; // Mask global properties (is this effective/worth doing?) - var obj = {globalThis: void 0}; // some globals are not iterable + ctx.globalThis = void 0; // some globals are not iterable (function() { for (var key in this) { - obj[key] = void 0; + ctx[key] = void 0; } }()); - obj.console = console; - return obj; + ctx.console = console; + return ctx; } diff --git a/src/expressions/mapshaper-job-proxy.mjs b/src/expressions/mapshaper-job-proxy.mjs new file mode 100644 index 000000000..3dc239868 --- /dev/null +++ b/src/expressions/mapshaper-job-proxy.mjs @@ -0,0 +1,10 @@ + +export function getIOProxy(job) { + var obj = { + _cache: {} + }; + obj.addInputFile = function(filename, content) { + obj._cache[filename] = content; + }; + return obj; +} diff --git a/src/expressions/mapshaper-target-proxy.mjs b/src/expressions/mapshaper-target-proxy.mjs new file mode 100644 index 000000000..bad71c663 --- /dev/null +++ b/src/expressions/mapshaper-target-proxy.mjs @@ -0,0 +1,9 @@ +import { getLayerInfo } from '../commands/mapshaper-info'; + +export function getTargetProxy(target) { + var lyr = target.layers[0]; + var data = getLayerInfo(lyr, target.dataset); + data.layer = lyr; + data.dataset = target.dataset; + return data; +} diff --git a/test/data/features/run/includes1.js b/test/data/features/run/includes1.js new file mode 100644 index 000000000..fbb5e0116 --- /dev/null +++ b/test/data/features/run/includes1.js @@ -0,0 +1,6 @@ + +module.exports.getCommand = function(io) { + var data = [{"foo": "bar"}]; + io.addInputFile('data.json', data); + return '-i data.json'; +}; diff --git a/test/import-test.mjs b/test/import-test.mjs index 601b410c1..97089bd92 100644 --- a/test/import-test.mjs +++ b/test/import-test.mjs @@ -5,7 +5,7 @@ import { Catalog } from '../src/dataset/mapshaper-catalog'; describe('mapshaper-import.js', function () { it('supports importing JSON data on the command line', async function() { - var cmd = `-i '[{"foo": "bar"}]' '[{"foo": "baz"}]' combine-files -merge-layers name=data -o`; + var cmd = `-i '[\n{"foo": "bar"}\n]' '[{"foo": "baz"}]' combine-files -merge-layers name=data -o`; var out = await api.applyCommands(cmd); var data = JSON.parse(out['data.json']); assert.deepEqual(data, [{foo: 'bar'}, {foo: 'baz'}]); diff --git a/test/run-test.mjs b/test/run-test.mjs index fefdd1640..1e3091775 100644 --- a/test/run-test.mjs +++ b/test/run-test.mjs @@ -5,13 +5,6 @@ import assert from 'assert'; describe('mapshaper-run.js', function () { describe('-run command', function () { - it('does not require a target', async function() { - var data = [{foo: 'bar'}]; - var cmd = `-run "'-define n=42'" -i data.json -each 'value = n' -o format=csv`; - var output = await api.applyCommands(cmd, {'data.json': data}); - assert.equal(output['data.csv'], 'foo,value\nbar,42'); - }) - it('supports creating a command on-the-fly and running it', function (done) { var data = [{foo: 'bar'}]; var include = '{ \ @@ -29,6 +22,50 @@ describe('mapshaper-run.js', function () { }) }) + it('does not require a target', async function() { + var data = [{foo: 'bar'}]; + var cmd = `-run "'-define n=42'" -i data.json -each 'value = n' -o format=csv`; + var output = await api.applyCommands(cmd, {'data.json': data}); + assert.equal(output['data.csv'], 'foo,value\nbar,42'); + }) + + it('supports adding JSON data in an external function', async function() { + var cmd = '-require test/data/features/run/includes1.js -run getCommand(io) -o'; + var out = await api.applyCommands(cmd); + assert.deepEqual(JSON.parse(out['data.json']), [{"foo": "bar"}]); + }); + + it('supports adding JSON data in an external function 2', async function() { + var data = { + 'type': 'Feature', + 'geometry': { + type: 'Point', + coordinates: [0, 0] + }, + 'properties': {foo: 'bar'} + }; + var include = `{ + getCommand: function(io) { + io.addInputFile('data.json', ${JSON.stringify(data)}); + return '-i data.json';} + }`; + var cmd = '-include include.js -run "getCommand(io)" -o out.json'; + var output = await api.applyCommands(cmd, {'include.js': include}); + var outputFeature = JSON.parse(output['out.json']).features[0]; + assert.deepEqual(outputFeature, data); + }); + + + it('error if function does not return a string', async function() { + var include = `{ + getCommand: async function() { + return [{foo: 'bar'}]; + }}`; + var cmd = '-include include.js -run "getCommand()" -o out.json'; + var promise = api.applyCommands(cmd, {'include.js': include}); + await assert.rejects(promise); + }) + it('supports running an async function', async function() { var include = `{ getCommand: async function() { From d4a072bfc76d2cc04f39f20d089b5982b83fcf2c Mon Sep 17 00:00:00 2001 From: Matthew Bloch Date: Mon, 13 Nov 2023 21:30:39 -0500 Subject: [PATCH 025/509] add test --- test/import-test.mjs | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/test/import-test.mjs b/test/import-test.mjs index 97089bd92..20e1407d6 100644 --- a/test/import-test.mjs +++ b/test/import-test.mjs @@ -18,6 +18,13 @@ describe('mapshaper-import.js', function () { assert.deepEqual(data, [{foo: 'bar'}]); }) + it('supports importing JSON data on the command line, no quotes no spaces', async function() { + var cmd = `-i [{"foo":"bar"}] -o`; + var out = await api.applyCommands(cmd); + var data = JSON.parse(out['layer.json']); + assert.deepEqual(data, [{foo: 'bar'}]); + }) + it('import a point GeoJSON and a csv file', async function() { var a = 'test/data/three_points.geojson', b = 'test/data/text/two_states.csv'; From 1792868c71be3d9ebbaa7ffec02c5226098bb7c2 Mon Sep 17 00:00:00 2001 From: Matthew Bloch Date: Mon, 13 Nov 2023 21:47:36 -0500 Subject: [PATCH 026/509] v0.6.47 --- CHANGELOG.md | 4 ++++ REFERENCE.md | 23 +++++++++++++++++++---- package-lock.json | 4 ++-- package.json | 2 +- 4 files changed, 26 insertions(+), 7 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index cbf02255d..aec57a0e1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +v0.6.47 +* Added support for using JSON data as an argument to the -i command. +* Added an `io` object with an `io.addInputFile()` method to the `-run` command's expression context, to support loading dynamically generated datasets. + v0.6.46 * Added save to clipboard option to web UI export menu. * In -each expressions, `this.geojson` setter now accepts nulls and FeatureCollectsions in addition to single Features. diff --git a/REFERENCE.md b/REFERENCE.md index de3c806de..79daa81f5 100644 --- a/REFERENCE.md +++ b/REFERENCE.md @@ -1,6 +1,6 @@ # COMMAND REFERENCE -This documentation applies to version 0.6.45 of mapshaper's command line program. Run `mapshaper -v` to check your version. For an introduction to the command line tool, read [this page](https://github.com/mbloch/mapshaper/wiki/Introduction-to-the-Command-Line-Tool) first. +This documentation applies to version 0.6.47 of mapshaper's command line program. Run `mapshaper -v` to check your version. For an introduction to the command line tool, read [this page](https://github.com/mbloch/mapshaper/wiki/Introduction-to-the-Command-Line-Tool) first. ## Command line syntax @@ -138,7 +138,7 @@ By default, multiple input files are processed separately, as if running mapshap **Options** -`` or `files=` File(s) to input (space-separated list). Use `-` to import TopoJSON or GeoJSON from `/dev/stdin`. +`` or `files=` File(s) to input (space-separated list). Use `-` to import TopoJSON or GeoJSON from `/dev/stdin`. Literal JSON data can also be used instead of a file name. `combine-files` Import multiple files to separate layers with shared topology. Useful for generating a single TopoJSON file containing multiple geometry objects. @@ -1045,11 +1045,11 @@ $ mapshaper data.json \ Create mapshaper commands on-the-fly and run them. -`` or `expression=` A JS expression for generating one or more mapshaper commands. The expression has access to a "target" object with information about the currently targeted layer, as well as modules loaded with the `-require` command. +`` or `expression=` A JS expression for generating one or more mapshaper commands. The expression has access to a "target" object with information about the currently targeted layer, as well as modules loaded with the `-require` command. In v0.6.47, an "io" object was added, with an `io.addInputFile(, )` method, to support importing dynamically generated datasets (see Example 2 below). Common options: `target=` -**Example:** Apply a custom projection based on the layer extent +**Example 1:** Apply a custom projection based on the layer extent ```bash $ mapshaper -i country.shp -require projection.js -run 'getProjCommand(target)' -o @@ -1067,6 +1067,21 @@ module.exports = { ``` +**Example 2:** Import a dynamically generated dataset + +```bash +$ mapshaper -require script.js -run 'importData(io)' -o +``` + +```javascript +// contents of script.js file +module.exports = { + importData: function(io) { + var data = [{"foo": "bar"}]; + io.addInputFile('data.json', data); + return `-i data.json`; + } +}; ### -shape diff --git a/package-lock.json b/package-lock.json index d1f1794a2..5cce9c9ef 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "mapshaper", - "version": "0.6.46", + "version": "0.6.47", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "mapshaper", - "version": "0.6.46", + "version": "0.6.47", "license": "MPL-2.0", "dependencies": { "@placemarkio/tokml": "^0.3.3", diff --git a/package.json b/package.json index ea7d48379..573994988 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "mapshaper", - "version": "0.6.46", + "version": "0.6.47", "description": "A tool for editing vector datasets for mapping and GIS.", "keywords": [ "shapefile", From 068c7fd658c26204abce5b431976556b302b4a3e Mon Sep 17 00:00:00 2001 From: Matthew Bloch Date: Tue, 14 Nov 2023 14:01:36 -0500 Subject: [PATCH 027/509] Added target.geojson getter to run command --- CHANGELOG.md | 3 +++ src/expressions/mapshaper-each-geojson.mjs | 2 +- src/expressions/mapshaper-target-proxy.mjs | 18 +++++++++++++++- test/run-test.mjs | 24 ++++++++++++++++++++++ 4 files changed, 45 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index aec57a0e1..ac28ce7ad 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,6 @@ +v0.6.48 +* + v0.6.47 * Added support for using JSON data as an argument to the -i command. * Added an `io` object with an `io.addInputFile()` method to the `-run` command's expression context, to support loading dynamically generated datasets. diff --git a/src/expressions/mapshaper-each-geojson.mjs b/src/expressions/mapshaper-each-geojson.mjs index 014cb8323..af4ac37fd 100644 --- a/src/expressions/mapshaper-each-geojson.mjs +++ b/src/expressions/mapshaper-each-geojson.mjs @@ -1,5 +1,5 @@ -import { exportGeoJSON, exportLayerAsGeoJSON } from '../geojson/geojson-export'; +import { exportLayerAsGeoJSON } from '../geojson/geojson-export'; import { importGeoJSON } from '../geojson/geojson-import'; import { copyLayer } from '../dataset/mapshaper-layer-utils'; import utils from '../utils/mapshaper-utils'; diff --git a/src/expressions/mapshaper-target-proxy.mjs b/src/expressions/mapshaper-target-proxy.mjs index bad71c663..6b943b75e 100644 --- a/src/expressions/mapshaper-target-proxy.mjs +++ b/src/expressions/mapshaper-target-proxy.mjs @@ -1,9 +1,25 @@ import { getLayerInfo } from '../commands/mapshaper-info'; +import { exportLayerAsGeoJSON } from '../geojson/geojson-export'; +import { addGetters } from '../expressions/mapshaper-expression-utils'; +// import { importGeoJSON } from '../geojson/geojson-import'; export function getTargetProxy(target) { var lyr = target.layers[0]; - var data = getLayerInfo(lyr, target.dataset); + var data = getLayerInfo(lyr, target.dataset); // layer_name, feature_count etc data.layer = lyr; data.dataset = target.dataset; + addGetters(data, { + // export as an object, not a string or buffer + geojson: getGeoJSON + }); + + function getGeoJSON() { + var features = exportLayerAsGeoJSON(lyr, target.dataset, {}, true); + return { + type: 'FeatureCollection', + features: features + }; + } + return data; } diff --git a/test/run-test.mjs b/test/run-test.mjs index 1e3091775..61235877d 100644 --- a/test/run-test.mjs +++ b/test/run-test.mjs @@ -5,6 +5,30 @@ import assert from 'assert'; describe('mapshaper-run.js', function () { describe('-run command', function () { + it('supports target.geojson getter', async function() { + var data = [{foo: 'bar'}, {foo: 'baz'}, {foo: 'bam'}]; + var include = '{ \ + getCommand: function(target) { \ + var input = [target.geojson.features[1].properties]; \ + return "-i " + JSON.stringify(input); \ + }}'; + var cmd = '-i data.json -include include.js -run getCommand(target) -o'; + var out = await api.applyCommands(cmd, {'include.js': include, 'data.json': data}); + assert.deepEqual(JSON.parse(out['layer.json']), [{foo: 'baz'}]) + }) + + it('supports target.geojson getter and io.addInputFile()', async function() { + var data = [{foo: 'bar'}, {foo: 'baz'}, {foo: 'bam'}]; + var include = '{ \ + getCommand: function(target, io) { \ + io.addInputFile("selection.json", [target.geojson.features[2].properties]); \ + return "-i selection.json"; \ + }}'; + var cmd = '-i selection.json -include include.js -run getCommand(target,io) -o'; + var out = await api.applyCommands(cmd, {'include.js': include, 'selection.json': data}); + assert.deepEqual(JSON.parse(out['selection.json']), [{foo: 'bam'}]) + }) + it('supports creating a command on-the-fly and running it', function (done) { var data = [{foo: 'bar'}]; var include = '{ \ From 6c961fa4dfe884e7591a91eef5b2d77bf3d48b37 Mon Sep 17 00:00:00 2001 From: Matthew Bloch Date: Tue, 14 Nov 2023 14:46:54 -0500 Subject: [PATCH 028/509] v0.6.48 --- CHANGELOG.md | 2 +- REFERENCE.md | 16 ++++++++++++++++ package-lock.json | 4 ++-- package.json | 2 +- 4 files changed, 20 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ac28ce7ad..fdb5d1535 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,5 @@ v0.6.48 -* +* Added `target.geojson` getter that returns the contenst of the target layer as a GeoJSON `FeatureCollection`. Useful in the `-run` command for passing layer data to an external script. v0.6.47 * Added support for using JSON data as an argument to the -i command. diff --git a/REFERENCE.md b/REFERENCE.md index 79daa81f5..dd22b0d1e 100644 --- a/REFERENCE.md +++ b/REFERENCE.md @@ -1049,6 +1049,22 @@ Create mapshaper commands on-the-fly and run them. Common options: `target=` +Expression context: + +`target` object +- `target.layer_name` Name of layer +- `target.geojson` (getter) Returns a GeoJSON FeatureCollection for the layer +- `target.geometry_type` One of: polygon, polyline, point, `undefined` +- `target.feature_count` Number of features in the layer +- `target.null_shape_count` Number of features with null geometry +- `target.null_data_count` Number of features with no attribute data +- `target.bbox` GeoJSON-style bounding box +- `target.proj4` PROJ-formatted string giving the CRS (coordinate reference system) of the layer + +`io` object +- `io.addInputFile(, )` Add JSON data that can be referenced by filename in the command string generated by `-run`. + + **Example 1:** Apply a custom projection based on the layer extent ```bash diff --git a/package-lock.json b/package-lock.json index 5cce9c9ef..de5a783e9 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "mapshaper", - "version": "0.6.47", + "version": "0.6.48", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "mapshaper", - "version": "0.6.47", + "version": "0.6.48", "license": "MPL-2.0", "dependencies": { "@placemarkio/tokml": "^0.3.3", diff --git a/package.json b/package.json index 573994988..9d4e0166d 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "mapshaper", - "version": "0.6.47", + "version": "0.6.48", "description": "A tool for editing vector datasets for mapping and GIS.", "keywords": [ "shapefile", From 30084f478fc74d48486fac8f3682c2410765e354 Mon Sep 17 00:00:00 2001 From: Matthew Bloch Date: Thu, 16 Nov 2023 16:57:27 -0500 Subject: [PATCH 029/509] Support areal interpolation from a layer with overlapping polygons --- .../mapshaper-join-polygons-via-mosaic.mjs | 43 +++++++++++++------ .../features/polygon_join/ex4_source.json | 5 +++ .../features/polygon_join/ex4_target.json | 13 ++++++ test/join-polygons-to-polygons-test.mjs | 10 +++++ 4 files changed, 59 insertions(+), 12 deletions(-) create mode 100644 test/data/features/polygon_join/ex4_source.json create mode 100644 test/data/features/polygon_join/ex4_target.json diff --git a/src/join/mapshaper-join-polygons-via-mosaic.mjs b/src/join/mapshaper-join-polygons-via-mosaic.mjs index 72c651e42..0e97a09a7 100644 --- a/src/join/mapshaper-join-polygons-via-mosaic.mjs +++ b/src/join/mapshaper-join-polygons-via-mosaic.mjs @@ -8,6 +8,7 @@ import utils from '../utils/mapshaper-utils'; import geom from '../geom/mapshaper-geom'; export function joinPolygonsViaMosaic(targetLyr, targetDataset, source, opts) { + // merge source and target layers var mergedDataset = mergeLayersForOverlay([targetLyr], targetDataset, source, opts); var nodes = addIntersectionCuts(mergedDataset, opts); var sourceLyr = mergedDataset.layers.pop(); @@ -17,6 +18,7 @@ export function joinPolygonsViaMosaic(targetLyr, targetDataset, source, opts) { geometry_type: 'polygon', shapes: targetLyr.shapes.concat(sourceLyr.shapes) }; + // make a mosaic from merged shapes of both layers var mosaicIndex = new MosaicIndex(mergedLyr, nodes, {flat: false}); var joinOpts = utils.extend({}, opts); @@ -60,8 +62,8 @@ function getOverlapDataByTile(destLyr, sourceLyr, mosaicIndex, opts) { var mosaicRecords = mosaicShapes.map(function(tile, i) { var rec = { area: getShapeArea(tile, arcs), - weight: 0, - sourceId: -1 + weights: null, + sourceIds: null }; return rec; }); @@ -71,32 +73,49 @@ function getOverlapDataByTile(destLyr, sourceLyr, mosaicIndex, opts) { sourceLyr.shapes.forEach(function(sourceShp, sourceId) { var tileIds = mosaicIndex.getTileIdsByShapeId(sourceId + destLen); var shapeArea = getShapeArea(sourceShp, arcs); - var tileRec; + var tileRec, weight; for (var i=0; i -1) { - // overlap in source layer - continue; + weight = tileRec.area / shapeArea; + if (!tileRec.weights) { + tileRec.weights = []; + tileRec.sourceIds = []; } - tileRec.weight = tileRec.area / shapeArea; - tileRec.sourceId = sourceId; + tileRec.weights.push(weight); + tileRec.sourceIds.push(sourceId); } }); return mosaicRecords; } +// function getInterpolatedValue(field, tileRecords, sourceRecords) { +// var value = 0, tileRec, sourceRec; +// for (var i=0; i Date: Thu, 16 Nov 2023 17:47:11 -0500 Subject: [PATCH 030/509] grid refactor --- REFERENCE.md | 2 +- src/commands/mapshaper-point-to-grid.mjs | 213 ++------------------ src/grids/mapshaper-grid-to-point-index.mjs | 56 +++++ src/grids/mapshaper-grid-utils.mjs | 17 ++ src/grids/mapshaper-square-grid.mjs | 136 +++++++++++++ test/point-to-grid-test.mjs | 3 +- 6 files changed, 226 insertions(+), 201 deletions(-) create mode 100644 src/grids/mapshaper-grid-to-point-index.mjs create mode 100644 src/grids/mapshaper-grid-utils.mjs create mode 100644 src/grids/mapshaper-square-grid.mjs diff --git a/REFERENCE.md b/REFERENCE.md index dd22b0d1e..0b6a86330 100644 --- a/REFERENCE.md +++ b/REFERENCE.md @@ -790,7 +790,7 @@ Join attribute data from a source layer or file to a target layer. If the `keys= `prefix=` Add a prefix to the names of fields joined from the external attribute table. -`interpolate=` (polygon-to-polygon joins only) A list of fields to interpolate/reaggregate based on area of overlap. Intended for fields containing count data, such as population counts or vote counts. Treats data as being uniformally distributed within polygon areas. +`interpolate=` (polygon-to-polygon joins only) A list of fields to interpolate/reaggregate based on area of overlap. Intended for fields containing count data, such as population counts or vote counts. Treats data as being uniformly distributed within polygon areas. `point-method` (polygon-to-polygon joins only) Use an alternate method for joining two polygon layers. The default polygon-polygon join method detects areas of overlap between two polygon layers by compositing the two layers internally. This method is simpler -- it generates a temporary point layer from the source layer with the greater number of features (using the same inner-point method as the `-points inner` command), and then performs a point-to-polygon or polygon-to-point join. This method does not support the `interpolate=` option. diff --git a/src/commands/mapshaper-point-to-grid.mjs b/src/commands/mapshaper-point-to-grid.mjs index 3f61841a3..b16f7ed99 100644 --- a/src/commands/mapshaper-point-to-grid.mjs +++ b/src/commands/mapshaper-point-to-grid.mjs @@ -8,14 +8,14 @@ import { import { getDatasetBounds } from '../dataset/mapshaper-dataset-utils'; import { forEachPoint, getPointsInLayer } from '../points/mapshaper-point-utils'; import { mergeDatasets } from '../dataset/mapshaper-merging'; -import { greatCircleDistance, distance2D } from '../geom/mapshaper-basic-geom'; +import { greatCircleDistance } from '../geom/mapshaper-basic-geom'; import { buildTopology } from '../topology/mapshaper-topology'; import { cleanLayers } from '../commands/mapshaper-clean'; -import { getPlanarSegmentEndpoint } from '../geom/mapshaper-geodesic'; -import { getPointBufferCoordinates } from '../buffer/mapshaper-point-buffer'; -import { IdTestIndex } from '../indexing/mapshaper-id-test-index'; import { getJoinCalc } from '../join/mapshaper-join-calc'; import require from '../mapshaper-require'; +import { twoCircleIntersection } from '../grids/mapshaper-grid-utils'; +import { getSquareGridMaker } from '../grids/mapshaper-square-grid'; +import { getGridToPointIndex } from '../grids/mapshaper-grid-to-point-index'; cmd.pointToGrid = function(targetLayers, targetDataset, opts) { targetLayers.forEach(requirePointLayer); @@ -50,13 +50,12 @@ cmd.pointToGrid = function(targetLayers, targetDataset, opts) { return outputLayers; }; - function getPolygonDataset(pointLyr, gridBBox, opts) { var points = getPointsInLayer(pointLyr); var cellSize = opts.interval; - var grid = getGridData(gridBBox, cellSize, opts); + var grid = getSquareGridMaker(gridBBox, cellSize, opts); var pointCircleRadius = getPointCircleRadius(opts); - var findPointIdsByCellId = getPointIndex(points, grid, pointCircleRadius); + var findPointIdsByCellId = getGridToPointIndex(points, grid, pointCircleRadius); var geojson = { type: 'FeatureCollection', features: [] @@ -75,7 +74,7 @@ function getPolygonDataset(pointLyr, gridBBox, opts) { geojson.features.push({ type: 'Feature', properties: d, - geometry: makeCellPolygon(i, grid, opts) + geometry: grid.makeCellPolygon(i, opts) }); } return importGeoJSON(geojson, {}); @@ -116,194 +115,10 @@ export function calcWeights(cellCenter, cellSize, points, pointIds, pointRadius) return weights; } -// Source: https://diego.assencio.com/?index=8d6ca3d82151bad815f78addf9b5c1c6 -export function twoCircleIntersection(c1, r1, c2, r2) { - var d = distance2D(c1[0], c1[1], c2[0], c2[1]); - if (d >= r1 + r2) return 0; - var r1sq = r1 * r1, - r2sq = r2 * r2, - d1 = (r1sq - r2sq + d * d) / (2 * d), - d2 = d - d1; - if (d <= Math.abs(r1 - r2)) { - return Math.PI * Math.min(r1sq, r2sq); - } - return r1sq * Math.acos(d1/r1) - d1 * Math.sqrt(r1sq - d1 * d1) + - r2sq * Math.acos(d2/r2) - d2 * Math.sqrt(r2sq - d2 * d2); -} - -export function makeCellPolygon(idx, grid, opts) { - var coords = opts.circles ? - makeCircleCoords(grid.idxToPoint(idx), opts) : - makeCellCoords(grid.idxToBBox(idx), opts); - return { - type: 'Polygon', - coordinates: [coords] - }; -} - -function makeCellCoords(bbox, opts) { - var margin = opts.interval * (opts.cell_margin || 0); - var a = bbox[0] + margin, - b = bbox[1] + margin, - c = bbox[2] - margin, - d = bbox[3] - margin; - return [[a, b],[a, d],[c, d],[c, b],[a, b]]; -} - -export function makeCircleCoords(center, opts) { - var margin = opts.cell_margin > 0 ? opts.cell_margin : 1e-6; - var radius = opts.interval / 2 * (1 - margin); - var vertices = opts.vertices || 20; - return getPointBufferCoordinates(center, radius, vertices, getPlanarSegmentEndpoint); -} - -// Returns a function that receives a cell index and returns indices of points -// within a given distance of the cell. -export function getPointIndex(points, grid, radius) { - var Flatbush = require('flatbush'); - var gridIndex = new IdTestIndex(grid.cells()); - var bboxIndex = new Flatbush(points.length); - var empty = []; - points.forEach(function(p) { - var bbox = getPointBounds(p, radius); - addPointToGridIndex(p, gridIndex, grid); - bboxIndex.add.apply(bboxIndex, bbox); - }); - bboxIndex.finish(); - return function(i) { - if (!gridIndex.hasId(i)) { - return empty; - } - var bbox = grid.idxToBBox(i); - var indices = bboxIndex.search.apply(bboxIndex, bbox); - return indices; - }; -} - -function getPointsByIndex(points, indices) { - var arr = []; - for (var i=0; i -1) index.setId(i); -} - -// TODO: support spherical coords -function getPointBounds(p, radius) { - return [p[0] - radius, p[1] - radius, p[0] + radius, p[1] + radius]; -} - -// grid boundaries includes the origin -// (this way, grids calculated from different sets of points will all align) -function getAlignedRange(minCoord, maxCoord, interval) { - var idx = Math.floor(minCoord / interval) - 1; - var idx2 = Math.ceil(maxCoord / interval) + 1; - return [idx * interval, idx2 * interval]; -} - -function getCenteredRange(minCoord, maxCoord, interval) { - var w = maxCoord - minCoord; - var w2 = Math.ceil(w / interval) * interval; - var pad = (w2 - w) / 2 + interval; - return [minCoord - pad, maxCoord + pad]; -} - -export function getAlignedGridBounds(bbox, interval) { - var xx = getAlignedRange(bbox[0], bbox[2], interval); - var yy = getAlignedRange(bbox[1], bbox[3], interval); - return [xx[0], yy[0], xx[1], yy[1]]; -} - -export function getCenteredGridBounds(bbox, interval) { - var xx = getCenteredRange(bbox[0], bbox[2], interval); - var yy = getCenteredRange(bbox[1], bbox[3], interval); - return [xx[0], yy[0], xx[1], yy[1]]; -} - -// TODO: Use this function for other grid-based commands -export function getGridData(bbox, interval, opts) { - var extent = opts && opts.aligned ? - getAlignedGridBounds(bbox, interval) : - getCenteredGridBounds(bbox, interval); - var xmin = extent[0]; - var ymin = extent[1]; - var w = extent[2] - xmin; - var h = extent[3] - ymin; - var cols = Math.round(w / interval); - var rows = Math.round(h / interval); - // var xmin = bbox[0] - interval; - // var ymin = bbox[1] - interval; - // var xmax = bbox[2] + interval; - // var ymax = bbox[3] + interval; - // var w = xmax - xmin; - // var h = ymax - ymin; - // var cols = Math.ceil(w / interval); - // var rows = Math.ceil(h / interval); - function size() { - return [cols, rows]; - } - function cells() { - return cols * rows; - } - function pointToCol(xy) { - var dx = xy[0] - xmin; - return Math.floor(dx / w * cols); - } - function pointToRow(xy) { - var dy = xy[1] - ymin; - return Math.floor(dy / h * rows); - } - function colRowToIdx(c, r) { - if (c < 0 || r < 0 || c >= cols || r >= rows) return -1; - return r * cols + c; - } - function pointToIdx(xy) { - var c = pointToCol(xy); - var r = pointToRow(xy); - return colRowToIdx(c, r); - } - function idxToCol(i) { - return i % cols; - } - function idxToRow(i) { - return Math.floor(i / cols); - } - function idxToPoint(idx) { - var x = xmin + (idxToCol(idx) + 0.5) * interval; - var y = ymin + (idxToRow(idx) + 0.5) * interval; - return [x, y]; - } - function idxToBBox(idx) { - var c = idxToCol(idx); - var r = idxToRow(idx); - return [ - xmin + c * interval, ymin + r * interval, - xmin + (c + 1) * interval, ymin + (r + 1) * interval - ]; - } - - return { - size, cells, pointToCol, pointToRow, colRowToIdx, pointToIdx, - idxToCol, idxToRow, idxToBBox, idxToPoint - }; -} +// function getPointsByIndex(points, indices) { +// var arr = []; +// for (var i=0; i 0? + addPointToGridIndex(p, gridIndex, grid, addNeighbors); + bboxIndex.add.apply(bboxIndex, bbox); + }); + bboxIndex.finish(); + return function(i) { + if (!gridIndex.hasId(i)) { + return empty; + } + var bbox = grid.idxToBBox(i); + var indices = bboxIndex.search.apply(bboxIndex, bbox); + return indices; + }; +} + + +// TODO: support spherical coords +function getPointBounds(p, radius) { + return [p[0] - radius, p[1] - radius, p[0] + radius, p[1] + radius]; +} + +function addPointToGridIndex(p, index, grid, addNeighbors) { + var i = grid.pointToIdx(p); + var c = grid.idxToCol(i); + var r = grid.idxToRow(i); + addCellToGridIndex(c, r, grid, index); + if (addNeighbors) { + addCellToGridIndex(c+1, r+1, grid, index); + addCellToGridIndex(c+1, r, grid, index); + addCellToGridIndex(c+1, r-1, grid, index); + addCellToGridIndex(c, r+1, grid, index); + addCellToGridIndex(c, r-1, grid, index); + addCellToGridIndex(c-1, r+1, grid, index); + addCellToGridIndex(c-1, r, grid, index); + addCellToGridIndex(c-1, r-1, grid, index); + } +} + +function addCellToGridIndex(c, r, grid, index) { + var i = grid.colRowToIdx(c, r); + if (i > -1) index.setId(i); +} + diff --git a/src/grids/mapshaper-grid-utils.mjs b/src/grids/mapshaper-grid-utils.mjs new file mode 100644 index 000000000..c118464a1 --- /dev/null +++ b/src/grids/mapshaper-grid-utils.mjs @@ -0,0 +1,17 @@ + +import { distance2D } from '../geom/mapshaper-basic-geom'; + +// Source: https://diego.assencio.com/?index=8d6ca3d82151bad815f78addf9b5c1c6 +export function twoCircleIntersection(c1, r1, c2, r2) { + var d = distance2D(c1[0], c1[1], c2[0], c2[1]); + if (d >= r1 + r2) return 0; + var r1sq = r1 * r1, + r2sq = r2 * r2, + d1 = (r1sq - r2sq + d * d) / (2 * d), + d2 = d - d1; + if (d <= Math.abs(r1 - r2)) { + return Math.PI * Math.min(r1sq, r2sq); + } + return r1sq * Math.acos(d1/r1) - d1 * Math.sqrt(r1sq - d1 * d1) + + r2sq * Math.acos(d2/r2) - d2 * Math.sqrt(r2sq - d2 * d2); +} \ No newline at end of file diff --git a/src/grids/mapshaper-square-grid.mjs b/src/grids/mapshaper-square-grid.mjs new file mode 100644 index 000000000..ea82da467 --- /dev/null +++ b/src/grids/mapshaper-square-grid.mjs @@ -0,0 +1,136 @@ +import { getPlanarSegmentEndpoint } from '../geom/mapshaper-geodesic'; +import { getPointBufferCoordinates } from '../buffer/mapshaper-point-buffer'; + +export function getAlignedGridBounds(bbox, interval) { + var xx = getAlignedRange(bbox[0], bbox[2], interval); + var yy = getAlignedRange(bbox[1], bbox[3], interval); + return [xx[0], yy[0], xx[1], yy[1]]; +} + +export function getCenteredGridBounds(bbox, interval) { + var xx = getCenteredRange(bbox[0], bbox[2], interval); + var yy = getCenteredRange(bbox[1], bbox[3], interval); + return [xx[0], yy[0], xx[1], yy[1]]; +} + +// grid boundaries includes the origin +// (this way, grids calculated from different sets of points will all align) +function getAlignedRange(minCoord, maxCoord, interval) { + var idx = Math.floor(minCoord / interval) - 1; + var idx2 = Math.ceil(maxCoord / interval) + 1; + return [idx * interval, idx2 * interval]; +} + +function getCenteredRange(minCoord, maxCoord, interval) { + var w = maxCoord - minCoord; + var w2 = Math.ceil(w / interval) * interval; + var pad = (w2 - w) / 2 + interval; + return [minCoord - pad, maxCoord + pad]; +} + +// TODO: Use this function for other grid-based commands +export function getSquareGridMaker(bbox, interval, opts) { + var extent = opts && opts.aligned ? + getAlignedGridBounds(bbox, interval) : + getCenteredGridBounds(bbox, interval); + var xmin = extent[0]; + var ymin = extent[1]; + var w = extent[2] - xmin; + var h = extent[3] - ymin; + var cols = Math.round(w / interval); + var rows = Math.round(h / interval); + // var xmin = bbox[0] - interval; + // var ymin = bbox[1] - interval; + // var xmax = bbox[2] + interval; + // var ymax = bbox[3] + interval; + // var w = xmax - xmin; + // var h = ymax - ymin; + // var cols = Math.ceil(w / interval); + // var rows = Math.ceil(h / interval); + function size() { + return [cols, rows]; + } + function cells() { + return cols * rows; + } + function pointToCol(xy) { + var dx = xy[0] - xmin; + return Math.floor(dx / w * cols); + } + function pointToRow(xy) { + var dy = xy[1] - ymin; + return Math.floor(dy / h * rows); + } + function colRowToIdx(c, r) { + if (c < 0 || r < 0 || c >= cols || r >= rows) return -1; + return r * cols + c; + } + function pointToIdx(xy) { + var c = pointToCol(xy); + var r = pointToRow(xy); + return colRowToIdx(c, r); + } + function idxToCol(i) { + return i % cols; + } + function idxToRow(i) { + return Math.floor(i / cols); + } + function idxToPoint(idx) { + var x = xmin + (idxToCol(idx) + 0.5) * interval; + var y = ymin + (idxToRow(idx) + 0.5) * interval; + return [x, y]; + } + function idxToBBox(idx) { + var c = idxToCol(idx); + var r = idxToRow(idx); + return [ + xmin + c * interval, ymin + r * interval, + xmin + (c + 1) * interval, ymin + (r + 1) * interval + ]; + } + + function makeCellPolygon(idx, opts) { + var coords = opts.circles ? + makeCircleCoords(idx, opts) : + makeCellCoords(idx, opts); + return { + type: 'Polygon', + coordinates: [coords] + }; + } + + function makeCellCoords(idx, opts) { + var bbox = idxToBBox(idx); + var margin = opts.interval * (opts.cell_margin || 0); + var a = bbox[0] + margin, + b = bbox[1] + margin, + c = bbox[2] - margin, + d = bbox[3] - margin; + return [[a, b],[a, d],[c, d],[c, b],[a, b]]; + } + + function makeCircleCoords(idx, opts) { + var center = idxToPoint(idx); + var margin = opts.cell_margin > 0 ? opts.cell_margin : 1e-6; + var radius = opts.interval / 2 * (1 - margin); + var vertices = opts.vertices || 20; + return getPointBufferCoordinates(center, radius, vertices, getPlanarSegmentEndpoint); + } + + return { + // size, + // pointToCol, + // pointToRow, + // makeCellCoords, + // makeCircleCoords, + cells, + colRowToIdx, + pointToIdx, + idxToCol, + idxToRow, + idxToBBox, + idxToPoint, + makeCellPolygon + }; +} \ No newline at end of file diff --git a/test/point-to-grid-test.mjs b/test/point-to-grid-test.mjs index da9ed6d0f..4ef49f2a0 100644 --- a/test/point-to-grid-test.mjs +++ b/test/point-to-grid-test.mjs @@ -1,5 +1,6 @@ -import { twoCircleIntersection, getAlignedGridBounds, getCenteredGridBounds } from '../src/commands/mapshaper-point-to-grid'; +import { twoCircleIntersection } from '../src/grids/mapshaper-grid-utils'; +import { getAlignedGridBounds, getCenteredGridBounds } from '../src/grids/mapshaper-square-grid'; import assert from 'assert'; import api from '../'; From 88df120423d55d80edae4e5e37bfa92ebb8d44d0 Mon Sep 17 00:00:00 2001 From: Matthew Bloch Date: Thu, 16 Nov 2023 19:43:53 -0500 Subject: [PATCH 031/509] Fix for #610 --- src/cli/mapshaper-options.mjs | 7 ----- src/expressions/mapshaper-each-geojson.mjs | 2 +- src/expressions/mapshaper-target-proxy.mjs | 2 +- src/geojson/geojson-export.mjs | 23 +++++------------ src/io/mapshaper-export.mjs | 4 +-- test/each-test.mjs | 20 +++++++++++++++ test/geojson-test.mjs | 11 ++++---- test/run-test.mjs | 30 ++++++++++++++++++++++ 8 files changed, 65 insertions(+), 34 deletions(-) diff --git a/src/cli/mapshaper-options.mjs b/src/cli/mapshaper-options.mjs index c13bba357..f820f4cc9 100644 --- a/src/cli/mapshaper-options.mjs +++ b/src/cli/mapshaper-options.mjs @@ -295,13 +295,6 @@ export function getOptionParser() { // describe: 'pct of avg segment length for rounding (0.02 is default)', type: 'number' }) - .option('rfc7946', { - // obsolete -- rfc 7946 compatible outptu is now the default. - // This option also rounds coordinates to 7 decimals. I'm retaining the - // option for backwards compatibility. - // describe: '[GeoJSON] follow RFC 7946 (CCW outer ring order, etc.)', - type: 'flag' - }) // .option('winding', { // describe: '[GeoJSON] set polygon winding order (use CW with d3-geo)' // }) diff --git a/src/expressions/mapshaper-each-geojson.mjs b/src/expressions/mapshaper-each-geojson.mjs index af4ac37fd..2d36a40c3 100644 --- a/src/expressions/mapshaper-each-geojson.mjs +++ b/src/expressions/mapshaper-each-geojson.mjs @@ -14,7 +14,7 @@ export function getFeatureEditor(lyr, dataset) { // need to copy attribute to avoid circular references if geojson is assigned // to a data property. var copy = copyLayer(lyr); - var features = exportLayerAsGeoJSON(copy, dataset, {}, true); + var features = exportLayerAsGeoJSON(copy, dataset, {rfc7946: true}, true); var features2 = []; api.get = function(i) { diff --git a/src/expressions/mapshaper-target-proxy.mjs b/src/expressions/mapshaper-target-proxy.mjs index 6b943b75e..1ced56ddd 100644 --- a/src/expressions/mapshaper-target-proxy.mjs +++ b/src/expressions/mapshaper-target-proxy.mjs @@ -14,7 +14,7 @@ export function getTargetProxy(target) { }); function getGeoJSON() { - var features = exportLayerAsGeoJSON(lyr, target.dataset, {}, true); + var features = exportLayerAsGeoJSON(lyr, target.dataset, {rfc7946: true}, true); return { type: 'FeatureCollection', features: features diff --git a/src/geojson/geojson-export.mjs b/src/geojson/geojson-export.mjs index 0001334ce..646188245 100644 --- a/src/geojson/geojson-export.mjs +++ b/src/geojson/geojson-export.mjs @@ -17,30 +17,19 @@ import { Buffer } from '../utils/mapshaper-node-buffer'; import { getFileExtension } from '../utils/mapshaper-filename-utils'; export default GeoJSON; -// switch to RFC 7946-compatible output (while retaining the original export function, -// so numerous tests will continue to work) -export function exportGeoJSON2(dataset, opts) { - opts = utils.extend({}, opts); - opts.v2 = !opts.gj2008; // use RFC 7946 as the default - return exportGeoJSON(dataset, opts); -} - export function exportGeoJSON(dataset, opts) { - opts = opts || {}; + opts = utils.extend({}, opts); + opts.rfc7946 = !opts.gj2008; // use RFC 7946 as the default var extension = opts.extension || "json"; var layerGroups, warn; // Apply coordinate precision - // rfc7946 flag is deprecated (default output is now RFC 7946 compatible) - // the flag is used here to preserve backwards compatibility - // (the rfc7946 flag applies a default precision threshold, even though rounding - // coordinates is only a recommendation, not a requirement of RFC 7946) - if (opts.precision || opts.rfc7946) { + if (opts.precision) { dataset = copyDatasetForExport(dataset); setCoordinatePrecision(dataset, opts.precision || 0.000001); } - if (opts.v2 || opts.rfc7946) { + if (opts.rfc7946) { warn = getRFC7946Warnings(dataset); if (warn) message(warn); } @@ -194,7 +183,7 @@ export function exportDatasetAsGeoJSON(dataset, opts, ofmt) { } if (opts.bbox) { - bbox = getDatasetBbox(dataset, opts.rfc7946 || opts.v2); + bbox = getDatasetBbox(dataset, opts.rfc7946); if (bbox) { geojson.bbox = bbox; } @@ -294,7 +283,7 @@ GeoJSON.exportPolygonGeom = function(ids, arcs, opts) { var groups = groupPolygonRings(obj.pathData, arcs, opts.invert_y); // invert_y is used internally for SVG generation // mapshaper's internal winding order is the opposite of RFC 7946 - var reverse = (opts.rfc7946 || opts.v2) && !opts.invert_y; + var reverse = opts.rfc7946 && !opts.invert_y; var coords = groups.map(function(paths) { return paths.map(function(path) { if (reverse) path.points.reverse(); diff --git a/src/io/mapshaper-export.mjs b/src/io/mapshaper-export.mjs index 9115ee9f4..8bcdeb8da 100644 --- a/src/io/mapshaper-export.mjs +++ b/src/io/mapshaper-export.mjs @@ -6,7 +6,7 @@ import { exportPackedDatasets, PACKAGE_EXT } from '../pack/mapshaper-pack'; import { exportDelim } from '../text/mapshaper-delim-export'; import { exportShapefile } from '../shapefile/shp-export'; import { exportTopoJSON } from '../topojson/topojson-export'; -import { exportGeoJSON2 } from '../geojson/geojson-export'; +import { exportGeoJSON } from '../geojson/geojson-export'; import { exportJSON } from '../datatable/mapshaper-json-table'; import { setCoordinatePrecision } from '../geom/mapshaper-rounding'; import { copyDatasetForExport, copyDatasetForRenaming } from '../dataset/mapshaper-dataset-utils'; @@ -140,7 +140,7 @@ export function exportFileContent(dataset, opts) { var exporters = { // [PACKAGE_EXT]: exportPackedDatasets, // handled as a special case - geojson: exportGeoJSON2, + geojson: exportGeoJSON, topojson: exportTopoJSON, shapefile: exportShapefile, dsv: exportDelim, diff --git a/test/each-test.mjs b/test/each-test.mjs index 01491ef4b..8368d69fa 100644 --- a/test/each-test.mjs +++ b/test/each-test.mjs @@ -93,6 +93,26 @@ describe('mapshaper-each.js', function () { }); }) + it('this.geojson getter returns rfc 7946 compliant rings (CCW winding)', function(done) { + var data = { + type: 'Feature', + properties: {name: 'Fred'}, + geometry: { + type: 'Polygon', + coordinates: [[[0, 0], [0, 1], [1, 1], [1, 0], [0, 0]]] + } + }; + var cmd = '-i data.json -each "geojson = this.geojson" -o'; + api.applyCommands(cmd, {'data.json': JSON.stringify(data)}, function(err, out) { + var output = JSON.parse(out['data.json']) + var geojson = output.features[0].properties.geojson; + var target = [[[0, 0], [1, 0], [1, 1], [0, 1], [0, 0]]] + assert.deepEqual(geojson.geometry.coordinates, target); + done(); + }); + }) + + it('this.geojson setter', function(done) { var data = { type: 'Feature', diff --git a/test/geojson-test.mjs b/test/geojson-test.mjs index a0d876135..b9b04f9a8 100644 --- a/test/geojson-test.mjs +++ b/test/geojson-test.mjs @@ -415,16 +415,15 @@ describe('mapshaper-geojson.js', function () { }); - describe('-o rfc7946 option', function () { + describe('-o precision= option', function () { - // rfc7946 flag still truncates coordinates - // (now deprecated, because output is rfc 7946 compatible by default) - it('Default coordinate precision is 6 decimals', function() { + + it('set coordinate precision to 6 decimals', function() { var input = { type: 'MultiPoint', coordinates: [[4.000000000000001, 3.999999999999], [0.123456789,-9.87654321]] }; - var output = api.internal.exportGeoJSON(api.internal.importGeoJSON(input, {}), {rfc7946: true})[0].content.toString(); + var output = api.internal.exportGeoJSON(api.internal.importGeoJSON(input, {}), {precision: 0.000001})[0].content.toString(); var coords = output.match(/"coordinates.*\]\]/)[0]; assert.equal(coords, '"coordinates":[[4,4],[0.123457,-9.876543]]'); }); @@ -452,7 +451,7 @@ describe('mapshaper-geojson.js', function () { [[101.0, 1.0], [101.0, 9.0], [109.0, 9.0], [109.0, 1.0], [101.0, 1.0]] ]; - api.applyCommands('-i input.json -o output.json rfc7946', {'input.json': input}, function(err, output) { + api.applyCommands('-i input.json -o output.json', {'input.json': input}, function(err, output) { var json = JSON.parse(output['output.json']); assert.deepEqual(json.geometries[0].coordinates, target); done(); diff --git a/test/run-test.mjs b/test/run-test.mjs index 61235877d..b7923f7e3 100644 --- a/test/run-test.mjs +++ b/test/run-test.mjs @@ -17,6 +17,36 @@ describe('mapshaper-run.js', function () { assert.deepEqual(JSON.parse(out['layer.json']), [{foo: 'baz'}]) }) + it('target.geojson getter return rfc 7946 compliant polygons', async function() { + var data = { + type: 'Feature', + properties: {name: 'Fred'}, + geometry: { + type: 'Polygon', + coordinates: [[[0, 0], [0, 1], [1, 1], [1, 0], [0, 0]]] + } + }; + var include = '{ \ + getCommand: function(target) { \ + var input = target.geojson.features[0]; \ + return "-i " + JSON.stringify(input); \ + }}'; + var cmd = '-i data.json -include include.js -run getCommand(target) -o'; + var out = await api.applyCommands(cmd, {'include.js': include, 'data.json': data}); + var target = {type: 'FeatureCollection', features: [{ + type: 'Feature', + properties: {name: 'Fred'}, + geometry: { + type: 'Polygon', + coordinates: [[[0, 0], [1, 0], [1, 1], [0, 1], [0, 0]]] + } + }]}; + var json = JSON.parse(out['layer.json']); + assert.deepEqual(json, target); + }) + + + it('supports target.geojson getter and io.addInputFile()', async function() { var data = [{foo: 'bar'}, {foo: 'baz'}, {foo: 'bam'}]; var include = '{ \ From 554c8916e83f701bc9403be2592fe01c85931867 Mon Sep 17 00:00:00 2001 From: Matthew Bloch Date: Thu, 16 Nov 2023 23:22:55 -0500 Subject: [PATCH 032/509] v0.6.49 --- CHANGELOG.md | 4 ++++ package-lock.json | 4 ++-- package.json | 2 +- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index fdb5d1535..02d102350 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +v0.6.49 +* Fix for issue #610 (geojson getters in -run and -each should return polygons with RFC 7946 winding order). +* -join interpolate now works correctly when the source layer contains overlapping polygons. + v0.6.48 * Added `target.geojson` getter that returns the contenst of the target layer as a GeoJSON `FeatureCollection`. Useful in the `-run` command for passing layer data to an external script. diff --git a/package-lock.json b/package-lock.json index de5a783e9..7f0a1e05d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "mapshaper", - "version": "0.6.48", + "version": "0.6.49", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "mapshaper", - "version": "0.6.48", + "version": "0.6.49", "license": "MPL-2.0", "dependencies": { "@placemarkio/tokml": "^0.3.3", diff --git a/package.json b/package.json index 9d4e0166d..6457956c9 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "mapshaper", - "version": "0.6.48", + "version": "0.6.49", "description": "A tool for editing vector datasets for mapping and GIS.", "keywords": [ "shapefile", From ab104833420e0a8f7bdf3bb702e2a4bb420e4518 Mon Sep 17 00:00:00 2001 From: Matthew Bloch Date: Wed, 22 Nov 2023 16:19:07 -0500 Subject: [PATCH 033/509] fix for label dragging bug --- src/cli/mapshaper-options.mjs | 13 ++++++ src/cli/mapshaper-run-command.mjs | 3 ++ src/commands/mapshaper-polygon-grid.mjs | 40 ++++++++++++++++ src/grids/mapshaper-grid-to-point-index.mjs | 16 ++----- src/grids/mapshaper-square-grid.mjs | 52 ++++++++++++++------- src/gui/gui-hit-test.mjs | 6 ++- src/gui/gui-layer-stack.mjs | 5 +- src/gui/gui-map.mjs | 12 +++-- 8 files changed, 110 insertions(+), 37 deletions(-) diff --git a/src/cli/mapshaper-options.mjs b/src/cli/mapshaper-options.mjs index f820f4cc9..53d1d2344 100644 --- a/src/cli/mapshaper-options.mjs +++ b/src/cli/mapshaper-options.mjs @@ -973,6 +973,19 @@ export function getOptionParser() { .option('name', nameOpt); + // for testing grid update + parser.command('grid2') + .option('type', { + describe: 'square, hex or hex2 (default is square)' + }) + .option('interval', { + describe: 'side length (e.g. 500m, 12km)', + type: 'distance' + }) + .option('name', nameOpt) + .option('target', targetOpt) + .option('no-replace', noReplaceOpt); + parser.command('grid') .describe('create a grid of square or hexagonal polygons') .option('type', { diff --git a/src/cli/mapshaper-run-command.mjs b/src/cli/mapshaper-run-command.mjs index 8ec3a9b1e..3c177aefd 100644 --- a/src/cli/mapshaper-run-command.mjs +++ b/src/cli/mapshaper-run-command.mjs @@ -288,6 +288,9 @@ export async function runCommand(command, job) { } else if (name == 'grid') { outputDataset = cmd.polygonGrid(targetLayers, targetDataset, opts); + } else if (name == 'grid2') { + outputDataset = cmd.polygonGrid2(targetLayers, targetDataset, opts); + } else if (name == 'help') { // placing help command here to handle errors from invalid command names cmd.printHelp(command.options); diff --git a/src/commands/mapshaper-polygon-grid.mjs b/src/commands/mapshaper-polygon-grid.mjs index 4a8cccc2b..6275338b6 100644 --- a/src/commands/mapshaper-polygon-grid.mjs +++ b/src/commands/mapshaper-polygon-grid.mjs @@ -7,6 +7,8 @@ import cmd from '../mapshaper-cmd'; import { stop } from '../utils/mapshaper-logging'; import utils from '../utils/mapshaper-utils'; import { buildTopology } from '../topology/mapshaper-topology'; +import { getHexGridMaker } from '../grids/mapshaper-hex-grid'; +import { getSquareGridMaker } from '../grids/mapshaper-square-grid'; cmd.polygonGrid = function(targetLayers, targetDataset, opts) { requireProjectedDataset(targetDataset); @@ -18,6 +20,44 @@ cmd.polygonGrid = function(targetLayers, targetDataset, opts) { return gridDataset; }; + +// TODO: Update -point-grid command to use this function +cmd.polygonGrid2 = function(targetLayers, targetDataset, opts) { + requireProjectedDataset(targetDataset); + var params = getGridParams(targetLayers, targetDataset, opts); + // alignGridToBounds(geojson, params.bbox); + var gridDataset = makeGridDataset2(params, opts); + gridDataset.info = copyDatasetInfo(targetDataset.info); + setOutputLayerName(gridDataset.layers[0], null, 'grid', opts); + return gridDataset; +}; + +function makeGridDataset2(params, opts) { + var geojson, dataset, grid; + if (params.type == 'square') { + grid = getSquareGridMaker(params.bbox, params.interval, opts); + } else if (params.type == 'hex') { + grid = getHexGridMaker(params.bbox, params.interval, opts); + } else { + stop('Unsupported grid type'); + } + var features = []; + for (var i=0, n=grid.cells(); i= cols || r >= rows) return -1; return r * cols + c; } + function pointToIdx(xy) { var c = pointToCol(xy); var r = pointToRow(xy); return colRowToIdx(c, r); } - function idxToCol(i) { - return i % cols; - } - function idxToRow(i) { - return Math.floor(i / cols); + + function idxToColRow(i) { + return [i % cols, Math.floor(i / cols)]; } + function idxToPoint(idx) { - var x = xmin + (idxToCol(idx) + 0.5) * interval; - var y = ymin + (idxToRow(idx) + 0.5) * interval; + var [c, r] = idxToColRow(idx); + var x = xmin + (c + 0.5) * interval; + var y = ymin + (r + 0.5) * interval; return [x, y]; } + function idxToBBox(idx) { - var c = idxToCol(idx); - var r = idxToRow(idx); + var cr = idxToColRow(idx); return [ - xmin + c * interval, ymin + r * interval, - xmin + (c + 1) * interval, ymin + (r + 1) * interval + xmin + cr[0] * interval, ymin + cr[1] * interval, + xmin + (cr[0] + 1) * interval, ymin + (cr[1] + 1) * interval ]; } @@ -118,6 +124,17 @@ export function getSquareGridMaker(bbox, interval, opts) { return getPointBufferCoordinates(center, radius, vertices, getPlanarSegmentEndpoint); } + function forEachNeighbor(c, r, cb) { + cb(c+1, r+1); + cb(c+1, r); + cb(c+1, r-1); + cb(c, r+1); + cb(c, r-1); + cb(c-1, r+1); + cb(c-1, r); + cb(c-1, r-1); + } + return { // size, // pointToCol, @@ -127,10 +144,11 @@ export function getSquareGridMaker(bbox, interval, opts) { cells, colRowToIdx, pointToIdx, - idxToCol, - idxToRow, + idxToColRow, + // idxToRow, idxToBBox, idxToPoint, - makeCellPolygon + makeCellPolygon, + forEachNeighbor }; } \ No newline at end of file diff --git a/src/gui/gui-hit-test.mjs b/src/gui/gui-hit-test.mjs index b8d792300..b859d4688 100644 --- a/src/gui/gui-hit-test.mjs +++ b/src/gui/gui-hit-test.mjs @@ -3,16 +3,18 @@ import { getSvgHitTest } from './gui-svg-hit'; import { internal, utils } from './gui-core'; export function getPointerHitTest(mapLayer, ext, interactionMode) { - var shapeTest, svgTest, targetLayer; + var shapeTest, targetLayer; if (!mapLayer || !internal.layerHasGeometry(mapLayer.layer)) { return function() {return {ids: []};}; } shapeTest = getShapeHitTest(mapLayer, ext, interactionMode); - svgTest = getSvgHitTest(mapLayer); // e: pointer event return function(e) { var p = ext.translatePixelCoords(e.x, e.y); + // update SVG hit test on each test, in case SVG layer has been redrawn + // and the symbol container has changed + var svgTest = getSvgHitTest(mapLayer); var data = shapeTest(p[0], p[1]) || {ids:[]}; var svgData = svgTest(e); // null or a data object if (svgData) { // mouse is over an SVG symbol diff --git a/src/gui/gui-layer-stack.mjs b/src/gui/gui-layer-stack.mjs index 66d9f2fdd..fb15e7cbe 100644 --- a/src/gui/gui-layer-stack.mjs +++ b/src/gui/gui-layer-stack.mjs @@ -15,9 +15,10 @@ export function LayerStack(gui, container, ext, mouse) { _furniture.css('pointer-events', 'none'); this.drawMainLayers = function(layers, action) { + var needSvgRedraw = action != 'nav' && action != 'hover'; if (skipMainLayerRedraw(action)) return; _mainCanv.prep(_ext); - if (action != 'nav') { + if (needSvgRedraw) { _svg.clear(); } layers.forEach(function(lyr) { @@ -26,7 +27,7 @@ export function LayerStack(gui, container, ext, mouse) { if (!isSvgLayer) { // svg labels may have canvas dots drawCanvasLayer(lyr, _mainCanv); } - if (isSvgLayer && action == 'nav') { + if (isSvgLayer && !needSvgRedraw) { _svg.reposition(lyr, 'symbol'); } else if (isSvgLayer) { _svg.drawLayer(lyr, 'symbol'); diff --git a/src/gui/gui-map.mjs b/src/gui/gui-map.mjs index 335a6b13c..2ffb5b37a 100644 --- a/src/gui/gui-map.mjs +++ b/src/gui/gui-map.mjs @@ -252,9 +252,10 @@ export function MshpMap(gui) { } else { _overlayLyr = null; } - // 'hover' bypasses style creation in drawLayers2()... sometimes we need that - // drawLayers('hover'); - drawLayers(); + + // 'hover' avoids redrawing all svg symbols when only highlight needs to refresh + drawLayers('hover'); + // drawLayers(); } function getDisplayOptions() { @@ -456,10 +457,11 @@ export function MshpMap(gui) { // action: // 'nav' map was panned/zoomed -- only map extent has changed - // 'hover' highlight has changed -- only draw overlay + // 'hover' highlight has changed -- only refresh overlay // (default) anything could have changed function drawLayers2(action) { - var layersMayHaveChanged = !action; + // sometimes styles need to be regenerated with 'hover' action (when) + var layersMayHaveChanged = action != 'nav'; // !action; var fullBounds; var contentLayers = getDrawableContentLayers(); var furnitureLayers = getDrawableFurnitureLayers(); From 19aea02717dc82dc9a48b1f2f1f0eb4ac6b3121e Mon Sep 17 00:00:00 2001 From: Matthew Bloch Date: Wed, 22 Nov 2023 16:19:28 -0500 Subject: [PATCH 034/509] Hex grid wip --- src/grids/mapshaper-hex-grid.mjs | 261 +++++++++++++++++++++++++++++++ 1 file changed, 261 insertions(+) create mode 100644 src/grids/mapshaper-hex-grid.mjs diff --git a/src/grids/mapshaper-hex-grid.mjs b/src/grids/mapshaper-hex-grid.mjs new file mode 100644 index 000000000..5fd3b41e7 --- /dev/null +++ b/src/grids/mapshaper-hex-grid.mjs @@ -0,0 +1,261 @@ +import { error } from '../utils/mapshaper-logging'; +import { orient2D } from '../geom/mapshaper-segment-geom'; + +// Columns are vertical and rows are horizontal in the "flat-top" orientation; +// columns are horizontal in the "pointy-top" orientation +// Array indexes are column-first in both orientations +// The 0,0 cell is in the bottom left corner +// Currently the origin cell is always an "outie" (protruding); in the future +// "innie" origin cells may be supported + +// interval: side length in projected coordinates +// bbox: bounding box of area to be enclosed by grid +// +export function getHexGridMaker(bbox, interval, opts) { + var flatTop = opts.type != 'hex2'; // hex2 is "pointy-top" orientation + // origin cell (bottom left) may be "outie" or "innie" ... could be settable + var outieOrigin = true; + var centered = true; // TODO: implement aligned + var minorInterval = interval * Math.sqrt(3) / 2; + var _colCounts = _getColCounts(bbox, interval); + var _rowCounts = _getRowCounts(bbox, interval); + // coordinates of the center of the bottom left cell + var _uOrigin = _getUOrigin(); + var _vOrigin = _getVOrigin(); + + function cells() { + return _rowCounts[0] * _colCounts[0] + _rowCounts[1] * _colCounts[1]; + } + + // a is col in flatTop orientation + function colRowToIdx(col, row) { + // fatCol: a pair of adjacent (offset) columns + var fatColSize = _rowCounts[0] + _rowCounts[1]; + var fatColId = Math.floor(col / 2); + var idx = fatColId * fatColSize; + // oddCol: cell is in an odd-numbered column (or row) + var oddCols = col % 2 == 1; + if (oddCols) { + idx += _rowCounts[1]; + } + idx += row; + + // check index bounds + if (col < 0 || row < 0) error('negative grid index'); + if (oddCols && row >= _rowCounts[1] || !oddCols && row >= _rowCounts[0]) { + error('out-of-bounds minor axis index'); + } + if (oddCols && col >= _colCounts[1] || !oddCols && col >= _colCounts[0]) { + error('out-of-bounds major axis index'); + } + return idx; + } + + function pointToIdx(xy) { + return flatTop ? + _uvToIdx(xy[0], xy[1]) : + _uvToIdx(xy[1], xy[0]); + } + + // Col,row numbering and array indexing are aligned (same for both flat-top and pointed-top orientations) + function idxToColRow(id) { + var fatColSize = _rowCounts[0] + _rowCounts[1]; + var fatColId = Math.floor(id / fatColSize); + var col = fatColId * 2; + var extra = id - fatColId * fatColSize; + if (extra >= _rowCounts[0]) { + col++; + extra -= _rowCounts[0]; + } + return [col, extra]; + } + + function idxToBBox(id) { + var bbox = _idxToBBox(id); + return flatTop ? bbox: [bbox[1], bbox[0], bbox[3], bbox[2]]; + } + + function makeCellPolygon(idx, opts) { + var geom = { + type: 'Polygon', + coordinates: [_makeCellCoords(idx)] + }; + if (!flatTop) { + flipPolygonCoords(geom); + } + return geom; + } + + function forEachNeighbor(c, r, cb) { + var rowShift; + if (outieOrigin) { + rowShift = isOdd(c) ? 0 : -1; + } else { + rowShift = isOdd(c) ? -1 : 0; + } + cb(c, r+1); + cb(c+1, r + rowShift + 1); + cb(c+1, r + rowShift); + cb(c, r-1); + cb(c-1, r + rowShift + 1); + } + + // horizontal origin (x coord) in flat-top orientation + function _getUOrigin() { + var range = _getUAxisRange(bbox); + var extent = range[1] - range[0]; + var cols = _colCounts[0] + _colCounts[1]; + var outerExtent = 1.5 * cols * interval + 0.5 * interval; + var margin = (outerExtent - extent) / 2; // center data bbox within grid + // origin is one side length to the right of the left boundary + var origin = range[0] - margin + interval; + return origin; + } + + // vertical origin (y coord) in flat-top orientation + function _getVOrigin() { + var range = _getVAxisRange(bbox); + var extent = range[1] - range[0]; + var rows = _rowCounts[0] + _rowCounts[1]; + var outerExtent = (rows + 1) * minorInterval; + var margin = (outerExtent - extent) / 2; + var origin = range[0] - margin + minorInterval; + if (!outieOrigin) { + origin += minorInterval; + } + return origin; + } + + function _getUAxisRange(bbox) { + return flatTop ? [bbox[0], bbox[2]] : [bbox[1], bbox[3]]; + } + + function _getVAxisRange(bbox) { + return flatTop ? [bbox[1], bbox[3]] : [bbox[0], bbox[2]]; + } + + function _uvToIdx(u, v) { + var [c, r] = _uvToColRow(u, v); + return colRowToIdx(c, r); + } + + // x, y are reversed in pointy-top orientation + function _uvToColRow(u, v) { + var left = _uOrigin - 1.5 * interval; + var vOffs = outieOrigin ? 0 : -minorInterval; + var bottom = _vOrigin - minorInterval + vOffs; + var ui = Math.floor((u - left) / (1.5 * interval)); + var vi = Math.floor((v - bottom) / minorInterval); + var cwBar = isOdd(ui) != isOdd(vi); + if (!outieOrigin) { + cwBar = !cwBar; + } + var u1 = left + ui * 1.5 * interval + interval * 0.5; + var u2 = u1 + interval * 0.5; + var v1 = bottom + vi * minorInterval; + var v2 = v1 + minorInterval; + var orientation = cwBar ? + orient2D(u1, v1, u2, v2, u, v) : + orient2D(u2, v1, u1, v2, u, v); + var colId = orientation > 0 ? ui - 1 : ui; + var rowId = Math.floor(vi / 2); + return [colId, rowId]; + } + + function _idxToBBox(id) { + var uv = _idxToPoint(id); + return [ + uv[0] - interval, + uv[1] - minorInterval, + uv[0] + interval, + uv[1] + minorInterval + ]; + } + + // center point of cell + function idxToPoint(id) { + var p = _idxToPoint(id); + return flatTop ? p : flipPoint(p); + } + + function _isUpperCell(col) { + return outieOrigin && isOdd(col) || !outieOrigin && !isOdd(col); + } + + function _idxToPoint(id) { + var [c, r] = idxToColRow(id); + return _colRowToPoint(c, r); + } + + function _colRowToPoint(c, r) { + var vShift = isOdd(c) ? (outieOrigin ? minorInterval : -minorInterval) : 0; + var u = _uOrigin + c * 1.5 * interval; + var v = _vOrigin + vShift + r * minorInterval * 2; + return [u, v]; + } + + function _colRowToVertex(c, r, half) { + var [u, v] = _colRowToPoint(c, r); + return [u - (half ? interval : interval / 2), v - (half ? 0 : minorInterval)]; + } + + function _makeCellCoords(idx) { + var [c, r] = idxToColRow(idx); + var rowOffs = _isUpperCell(c) ? 0 : -1; + var v0 = _colRowToVertex(c, r, false); + return [ + v0, + _colRowToVertex(c, r, false), + _colRowToVertex(c, r, true), + _colRowToVertex(c, r + 1, false), + _colRowToVertex(c + 1, r + 1 + rowOffs, true), + _colRowToVertex(c + 1, r + 1 + rowOffs, false), + _colRowToVertex(c + 1, r + rowOffs, true), + v0 + ]; + } + + function _getColCounts(bbox, interval) { + var extent = flatTop ? bbox[2] - bbox[0] : bbox[3] - bbox[1]; + var n = Math.ceil((2 * extent + interval) / (3 * interval)); + var a = Math.ceil(n / 2); + var b = Math.floor(n / 2); + return outieOrigin ? [a, b] : [b, a]; + } + + function _getRowCounts(bbox, interval) { + var extent = flatTop ? bbox[3] - bbox[1] : bbox[2] - bbox[0]; + var n = Math.ceil(1 + 2 * extent / (interval * Math.sqrt(3))); + var a = Math.ceil(n / 2); + var b = Math.floor(n / 2); + return outieOrigin ? [a, b] : [b, a]; + } + + return { + cells, + colRowToIdx, + idxToColRow, + pointToIdx, + idxToPoint, + idxToBBox, + makeCellPolygon, + forEachNeighbor + }; +} + +function isOdd(int) { + return int % 2 !== 0; +} + +function flipPolygonCoords(geom) { + for (var i=0, n=geom ? geom.coordinates.length : 0; i Date: Wed, 22 Nov 2023 16:20:33 -0500 Subject: [PATCH 035/509] v0.6.50 --- CHANGELOG.md | 3 +++ package-lock.json | 4 ++-- package.json | 2 +- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 02d102350..5e395659c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,6 @@ +v0.6.50 +* Fix for label dragging bug. + v0.6.49 * Fix for issue #610 (geojson getters in -run and -each should return polygons with RFC 7946 winding order). * -join interpolate now works correctly when the source layer contains overlapping polygons. diff --git a/package-lock.json b/package-lock.json index 7f0a1e05d..bb7a26eea 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "mapshaper", - "version": "0.6.49", + "version": "0.6.50", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "mapshaper", - "version": "0.6.49", + "version": "0.6.50", "license": "MPL-2.0", "dependencies": { "@placemarkio/tokml": "^0.3.3", diff --git a/package.json b/package.json index 6457956c9..db492105c 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "mapshaper", - "version": "0.6.49", + "version": "0.6.50", "description": "A tool for editing vector datasets for mapping and GIS.", "keywords": [ "shapefile", From b77a45fe9a8157588497a7df6092ea71df564e0a Mon Sep 17 00:00:00 2001 From: Matthew Bloch Date: Fri, 24 Nov 2023 16:33:20 -0500 Subject: [PATCH 036/509] Allow the -i in JS api in browser --- src/cli/mapshaper-cli-utils.mjs | 6 ------ src/cli/mapshaper-parse-commands.mjs | 4 +++- src/io/mapshaper-file-import.mjs | 1 - test/parse-commands-test.mjs | 20 +++++++++----------- 4 files changed, 12 insertions(+), 19 deletions(-) diff --git a/src/cli/mapshaper-cli-utils.mjs b/src/cli/mapshaper-cli-utils.mjs index d6618d2f4..9f394e8a9 100644 --- a/src/cli/mapshaper-cli-utils.mjs +++ b/src/cli/mapshaper-cli-utils.mjs @@ -19,12 +19,6 @@ cli.isFile = function(path, cache) { return ss && ss.isFile() || false; }; -cli.checkCommandEnv = function(cname) { - var blocked = ['i', 'include', 'require', 'external']; - if (runningInBrowser() && blocked.includes(cname)) { - stop('The -' + cname + ' command cannot be run in the browser'); - } -}; // cli.fileSize = function(path) { // var ss = cli.statSync(path); diff --git a/src/cli/mapshaper-parse-commands.mjs b/src/cli/mapshaper-parse-commands.mjs index 9a654f69b..148154876 100644 --- a/src/cli/mapshaper-parse-commands.mjs +++ b/src/cli/mapshaper-parse-commands.mjs @@ -42,7 +42,9 @@ export function parseConsoleCommands(raw) { var str = standardizeConsoleCommands(raw); var parsed = parseCommands(str); parsed.forEach(function(cmd) { - cli.checkCommandEnv(cmd.name); + if (['i', 'include', 'require', 'external'].includes(cmd.name)) { + stop('The ' + cmd.name + ' command cannot be run in the web console.'); + } }); return parsed; } diff --git a/src/io/mapshaper-file-import.mjs b/src/io/mapshaper-file-import.mjs index 3ecfaae5e..46f541c90 100644 --- a/src/io/mapshaper-file-import.mjs +++ b/src/io/mapshaper-file-import.mjs @@ -25,7 +25,6 @@ cmd.importFiles = async function(catalog, opts) { var files = opts.files || []; var dataset; - cli.checkCommandEnv('i'); if (opts.stdin) { dataset = importFile('/dev/stdin', opts); catalog.addDataset(dataset); diff --git a/test/parse-commands-test.mjs b/test/parse-commands-test.mjs index 66bd77137..5131afcc8 100644 --- a/test/parse-commands-test.mjs +++ b/test/parse-commands-test.mjs @@ -6,17 +6,15 @@ var internal = api.internal; describe('mapshaper-parse-commands.js', function () { describe('parseConsoleCommands()', function () { - // // Removed this test (now, -i command is blocked in browser by - // // checking the execution environment). - // it('should block input commands', function () { - // function bad(cmd) { - // assert.throws(function() { - // internal.parseConsoleCommands(cmd); - // }); - // } - // bad("mapshaper foo.shp") - // bad("-i foo"); - // }) + it('should block input commands', function () { + function bad(cmd) { + assert.throws(function() { + internal.parseConsoleCommands(cmd); + }); + } + bad("mapshaper foo.shp") + bad("-i foo"); + }) it('mapshaper -filter true', function () { var commands = internal.parseConsoleCommands('mapshaper -filter true'); From 5c2ff2f73b59f7ffac5c1a920637f9eeddb0edf0 Mon Sep 17 00:00:00 2001 From: Matthew Bloch Date: Mon, 27 Nov 2023 22:27:32 -0500 Subject: [PATCH 037/509] Fix bug in self-join with calc= expression --- src/join/mapshaper-join-tables.mjs | 13 ++++++++++--- test/join-test.mjs | 7 +++++++ 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/src/join/mapshaper-join-tables.mjs b/src/join/mapshaper-join-tables.mjs index 85f3794d0..f9d520bcd 100644 --- a/src/join/mapshaper-join-tables.mjs +++ b/src/join/mapshaper-join-tables.mjs @@ -17,8 +17,15 @@ export function joinTables(dest, src, join, opts) { // Returns array of matching records in src table, or null if no matches // export function joinTableToLayer(destLyr, src, join, opts) { - var dest = destLyr.data, - useDuplication = !!opts.duplication, + var dest = destLyr.data; + + if (src == dest) { + // self-join... duplicate source records to prevent assignment problems + // (in calc= expressions and possibly elsewhere) + src = src.clone(); + } + + var useDuplication = !!opts.duplication, srcRecords = src.getRecords(), destRecords = dest.getRecords(), prefix = opts.prefix || '', @@ -34,7 +41,7 @@ export function joinTableToLayer(destLyr, src, join, opts) { retn = {}, srcRec, srcId, destRec, joins, count, filter, calc, i, j, n, m; - // support for duplication of destination records + // support for duplication of destination records for many-to-one joins var duplicateRecords, destShapes; if (useDuplication) { if (opts.calc) stop('duplication and calc options cannot be used together'); diff --git a/test/join-test.mjs b/test/join-test.mjs index 190c6aa01..0516eaf7c 100644 --- a/test/join-test.mjs +++ b/test/join-test.mjs @@ -13,6 +13,13 @@ describe('mapshaper-join.js', function () { describe('-join command', function () { + it('self join works with calc= expressions', async function() { + var data = 'type\na\nb\na\nb\nb'; + var cmd = 'data.csv -join data keys=type,type calc="n = count()" -o'; + var out = await api.applyCommands(cmd, {'data.csv': data}); + assert.equal(out['data.csv'], 'type,n\na,2\nb,3\na,2\nb,3\nb,3'); + }) + it('join two tables with duplication flag', function(done) { var a = 'id,name\n1,foo'; var b = 'key,score\n1,100\n1,200\n1,300'; From 397a297114d244ad49e23be97edce80e4855e2cd Mon Sep 17 00:00:00 2001 From: Matthew Bloch Date: Mon, 27 Nov 2023 22:29:40 -0500 Subject: [PATCH 038/509] v0.6.51 --- CHANGELOG.md | 3 +++ package-lock.json | 4 ++-- package.json | 2 +- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5e395659c..2679ad073 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,6 @@ +v0.6.51 +* Improved support for running applyCommands() api function in a web browser. + v0.6.50 * Fix for label dragging bug. diff --git a/package-lock.json b/package-lock.json index bb7a26eea..771258e2a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "mapshaper", - "version": "0.6.50", + "version": "0.6.51", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "mapshaper", - "version": "0.6.50", + "version": "0.6.51", "license": "MPL-2.0", "dependencies": { "@placemarkio/tokml": "^0.3.3", diff --git a/package.json b/package.json index db492105c..de8bad3fa 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "mapshaper", - "version": "0.6.50", + "version": "0.6.51", "description": "A tool for editing vector datasets for mapping and GIS.", "keywords": [ "shapefile", From dba6d89e4a5b7c05c7937832eb41016be46672cf Mon Sep 17 00:00:00 2001 From: Matthew Bloch Date: Mon, 27 Nov 2023 22:29:52 -0500 Subject: [PATCH 039/509] v0.6.51 --- src/cli/mapshaper-options.mjs | 12 ++++++------ src/grids/mapshaper-grid-utils.mjs | 4 +++- src/grids/mapshaper-hex-grid.mjs | 20 ++++++++++++++++++++ 3 files changed, 29 insertions(+), 7 deletions(-) diff --git a/src/cli/mapshaper-options.mjs b/src/cli/mapshaper-options.mjs index 53d1d2344..2cc1d9ddc 100644 --- a/src/cli/mapshaper-options.mjs +++ b/src/cli/mapshaper-options.mjs @@ -995,12 +995,12 @@ export function getOptionParser() { describe: 'side length (e.g. 500m, 12km)', type: 'distance' }) - // .option('cols', { - // type: 'integer' - // }) - // .option('rows', { - // type: 'integer' - // }) + .option('cols', { + type: 'integer' + }) + .option('rows', { + type: 'integer' + }) // .option('bbox', { // type: 'bbox', // describe: 'xmin,ymin,xmax,ymax (default is bbox of data)' diff --git a/src/grids/mapshaper-grid-utils.mjs b/src/grids/mapshaper-grid-utils.mjs index c118464a1..6ad302ce9 100644 --- a/src/grids/mapshaper-grid-utils.mjs +++ b/src/grids/mapshaper-grid-utils.mjs @@ -14,4 +14,6 @@ export function twoCircleIntersection(c1, r1, c2, r2) { } return r1sq * Math.acos(d1/r1) - d1 * Math.sqrt(r1sq - d1 * d1) + r2sq * Math.acos(d2/r2) - d2 * Math.sqrt(r2sq - d2 * d2); -} \ No newline at end of file +} + + diff --git a/src/grids/mapshaper-hex-grid.mjs b/src/grids/mapshaper-hex-grid.mjs index 5fd3b41e7..969d24fe5 100644 --- a/src/grids/mapshaper-hex-grid.mjs +++ b/src/grids/mapshaper-hex-grid.mjs @@ -8,6 +8,24 @@ import { orient2D } from '../geom/mapshaper-segment-geom'; // Currently the origin cell is always an "outie" (protruding); in the future // "innie" origin cells may be supported +export function getHexGridParams(bbox, interval, opts) { + var params = {}; + params.flatTop = opts.type != 'hex2'; // hex2 is "pointy-top" orientation + // origin cell (bottom left) may be "outie" or "innie" ... could be settable + params.outieOrigin = true; + + // get origin and counts for centered grid + // params.u0 = _getUOrigin(); + // params.v0 = _getVOrigin(); + // params.colCounts = _getColCounts(bbox, interval); + // params.rowCounts = _getRowCounts(bbox, interval); + + if (opts.aligned) { + + } +} + + // interval: side length in projected coordinates // bbox: bounding box of area to be enclosed by grid // @@ -23,6 +41,8 @@ export function getHexGridMaker(bbox, interval, opts) { var _uOrigin = _getUOrigin(); var _vOrigin = _getVOrigin(); + var params = getHexGridParams(bbox, interval, opts); + function cells() { return _rowCounts[0] * _colCounts[0] + _rowCounts[1] * _colCounts[1]; } From 08730d4ade1c5086cfc3fe8502cdbc02d08bc999 Mon Sep 17 00:00:00 2001 From: Matthew Bloch Date: Wed, 29 Nov 2023 22:30:31 -0500 Subject: [PATCH 040/509] Update tests for Node 20 compatibility --- test/_loader.js | 20 ++++++++++++++++++++ test/add-shape-test.mjs | 2 +- test/affine-test.mjs | 2 +- test/anchor-points-test.mjs | 2 +- test/arc-dissolve-test.mjs | 2 +- test/arc-editor-test.mjs | 2 +- test/arcs-test.mjs | 2 +- test/bbox-clipping-test.mjs | 2 +- test/blacki-test.mjs | 2 +- test/buffer-common-test.mjs | 2 +- test/buffer-test.mjs | 2 +- test/calc-test.mjs | 10 +++++++--- test/calc-utils-test.mjs | 2 +- test/chunker-test.mjs | 2 +- test/classification-test.mjs | 2 +- test/classify-test.mjs | 2 +- test/clean-test.mjs | 2 +- test/cli-utils-test.mjs | 2 +- test/clip-bbox-test.mjs | 2 +- test/clip-erase-test.mjs | 2 +- test/clip-issues-test.mjs | 2 +- test/cluster-test.mjs | 2 +- test/colorizer-test.mjs | 2 +- test/command-parser-test.mjs | 2 +- test/commands-test.mjs | 2 +- test/common-test.mjs | 2 +- test/custom-projections-test.mjs | 2 +- test/dashlines-test.mjs | 2 +- test/data-aggregation-test.mjs | 2 +- test/data-fill-test.mjs | 2 +- test/data-table-test.mjs | 2 +- test/data-utils-test.mjs | 2 +- test/dataset-utils-test.mjs | 2 +- test/dbf-import-test.mjs | 2 +- test/dbf-reader-test.mjs | 2 +- test/dbf-writer-test.mjs | 2 +- test/debug-test.mjs | 2 +- test/define-test.mjs | 2 +- test/delim-export-test.mjs | 2 +- test/delim-import-test.mjs | 2 +- test/delim-reader-test.mjs | 2 +- test/dissolve-points-test.mjs | 2 +- test/dissolve-test.mjs | 2 +- test/dissolve2-test.mjs | 2 +- test/divide-test.mjs | 2 +- test/dms-test.mjs | 2 +- test/dots-test.mjs | 2 +- test/dp-test.mjs | 2 +- test/drop-test.mjs | 2 +- test/each-test.mjs | 2 +- test/encodings-test.mjs | 2 +- test/explode.test.mjs | 2 +- test/export-test.mjs | 2 +- test/expression-utils-test.mjs | 2 +- test/expressions-test.mjs | 2 +- test/external-test.mjs | 2 +- test/file-export-test.mjs | 2 +- test/file-import-test.mjs | 2 +- test/file-reader-test.mjs | 2 +- test/file-types-test.mjs | 2 +- test/filename-utils-test.mjs | 2 +- test/filter-geom-test.mjs | 2 +- test/filter-islands-test.mjs | 2 +- test/filter-rename-fields-test.mjs | 2 +- test/filter-slivers-test.mjs | 2 +- test/filter-test.mjs | 2 +- test/fixed-width-test.mjs | 2 +- test/frame-test.mjs | 2 +- test/fuzzy-join-test.mjs | 2 +- test/geodesic-test.mjs | 2 +- test/geojson-reader-test.mjs | 2 +- test/geojson-test.mjs | 2 +- test/geojson-to-svg-test.mjs | 2 +- test/geom-test.mjs | 2 +- test/graticule-test.mjs | 2 +- test/grid-test.mjs | 2 +- test/gzip-test.mjs | 2 +- test/heap-test.mjs | 2 +- test/helpers.mjs | 2 +- test/id-lookup-index-test.mjs | 2 +- test/if-elif-else-test.mjs | 2 +- test/import-test.mjs | 2 +- test/include-test.mjs | 2 +- test/info-test.mjs | 2 +- test/inlay-test.mjs | 2 +- test/interpolation-test.mjs | 2 +- test/intersection-cuts-test.mjs | 2 +- test/issue-160-test.mjs | 2 +- test/issue-161-test.mjs | 2 +- test/issue-166-test.mjs | 2 +- test/issue-171-test.mjs | 2 +- test/issue-174-test.mjs | 2 +- test/issue-192-test.mjs | 2 +- test/issue-193-test.mjs | 2 +- test/issue-236-test.mjs | 2 +- test/issue-247-test.mjs | 2 +- test/issue-269-field-order.mjs | 2 +- test/issue-304-test.mjs | 2 +- test/issue-337-test.mjs | 2 +- test/issue-339-test.mjs | 2 +- test/issue-340-test.mjs | 2 +- test/issue-356-test.mjs | 2 +- test/issue-389-intersection-test.mjs | 2 +- test/issue-485-test.mjs | 2 +- test/issue-538-test.mjs | 2 +- test/issue-clean-errors.mjs | 2 +- test/issue-invalid-coords.mjs | 2 +- test/join-calc-test.mjs | 2 +- test/join-filter-test.mjs | 2 +- test/join-points-to-points-test.mjs | 2 +- test/join-points-to-polygons-test.mjs | 2 +- test/join-polygons-to-polygons-test.mjs | 2 +- test/join-polygons-to-polylines-test.mjs | 2 +- test/join-test.mjs | 2 +- test/json-import-test.mjs | 2 +- test/json-table-test.mjs | 2 +- test/keep-shapes-test.mjs | 2 +- test/kml-test.mjs | 2 +- test/lines-test.mjs | 2 +- test/merge-layers-test.mjs | 2 +- test/merging-test.mjs | 2 +- test/metadata-test.mjs | 2 +- test/mosaic-test.mjs | 2 +- test/nodes-test.mjs | 2 +- test/option-parsing-utils-test.mjs | 2 +- test/options-test.mjs | 2 +- test/pack-test.mjs | 2 +- test/parse-commands-test.mjs | 2 +- test/path-endpoints-test.mjs | 2 +- test/path-import-test.mjs | 2 +- test/path-index-test.mjs | 2 +- test/pathfinder-utils-test.mjs | 2 +- test/pixel-transform-test.mjs | 2 +- test/point-clipping-test.mjs | 2 +- test/point-grid-test.mjs | 2 +- test/point-to-grid-test.mjs | 2 +- test/points-test.mjs | 2 +- test/polygon-index-test.mjs | 2 +- test/polygon-mosaic-test.mjs | 2 +- test/polygon-repair-test.mjs | 2 +- test/polygons-test.mjs | 2 +- test/polyline-buffer-test.mjs | 2 +- test/polyline-clean-test.mjs | 2 +- test/polyline-clipping-test.mjs | 2 +- test/proj-test.mjs | 2 +- test/projection-params-test.mjs | 2 +- test/projections-test.mjs | 2 +- test/rectangle-test.mjs | 2 +- test/rename-layers-test.mjs | 2 +- test/require-test.mjs | 2 +- test/rounding-test.mjs | 2 +- test/run-test.mjs | 2 +- test/scalebar-test.mjs | 2 +- test/segment-geom-test.mjs | 2 +- test/segment-intersection-test.mjs | 2 +- test/self-intersection-test.mjs | 2 +- test/shape-geom-test.mjs | 2 +- test/shape-test.mjs | 2 +- test/shape-utils-test.mjs | 2 +- test/shapefile-test.mjs | 2 +- test/shp-reader-test.mjs | 2 +- test/simplify-fast-test.mjs | 2 +- test/simplify-test.mjs | 2 +- test/slivers-test.mjs | 2 +- test/snapping-test.mjs | 2 +- test/sort-test.mjs | 2 +- test/source-utils-test.mjs | 2 +- test/split-on-grid-test.mjs | 2 +- test/split-test.mjs | 2 +- test/stash-test.mjs | 2 +- test/stop-test.mjs | 2 +- test/stringify-test.mjs | 2 +- test/subdivide-test.mjs | 2 +- test/svg-data-test.mjs | 2 +- test/svg-properties-test.mjs | 2 +- test/svg-stringify-test.mjs | 2 +- test/svg-style-test.mjs | 2 +- test/svg-symbols-test.mjs | 2 +- test/svg-test.mjs | 2 +- test/symbol-utils-test.mjs | 2 +- test/symbols-test.mjs | 2 +- test/target-test.mjs | 2 +- test/target-utils-test.mjs | 2 +- test/topojson-import-test.mjs | 2 +- test/topojson-presimplify-test.mjs | 2 +- test/topojson-split-test.mjs | 2 +- test/topojson-test.mjs | 2 +- test/topology-test.mjs | 2 +- test/undershoots-test.mjs | 2 +- test/union-test.mjs | 2 +- test/uniq-test.mjs | 2 +- test/units-test.mjs | 2 +- test/utils-test.mjs | 2 +- test/variable-simplify-test.mjs | 2 +- test/visvalingam-test.mjs | 2 +- test/x_clipping_bug.mjs | 2 +- test/zip-test.mjs | 2 +- 197 files changed, 222 insertions(+), 198 deletions(-) create mode 100644 test/_loader.js diff --git a/test/_loader.js b/test/_loader.js new file mode 100644 index 000000000..6761f5251 --- /dev/null +++ b/test/_loader.js @@ -0,0 +1,20 @@ +const {existsSync} = require('fs'); +const {basename, dirname, extname, join} = require('path'); +const {fileURLToPath} = require('url'); + +let extensions = ['mjs', 'js', 'json'], resolveDirs = false + +let indexFiles = resolveDirs ? extensions.map(e => `index.${e}`) : [] +let postfixes = extensions.map(e => `.${e}`).concat(indexFiles.map(p => `/${p}`)) +let findPostfix = (specifier, context) => (specifier.endsWith('/') ? indexFiles : postfixes).find(p => + existsSync(specifier.startsWith('/') ? specifier + p : join(dirname(fileURLToPath(context.parentURL)), specifier + p)) +) + +let prefixes = ['/', './', '../'] +module.exports.resolve = function(specifier, context, nextResolve) { + let postfix = prefixes.some(p => specifier.startsWith(p)) + && !extname(basename(specifier)) + && findPostfix(specifier, context) || '' + + return nextResolve(specifier + postfix) +} \ No newline at end of file diff --git a/test/add-shape-test.mjs b/test/add-shape-test.mjs index 2ff392ffe..cc960a357 100644 --- a/test/add-shape-test.mjs +++ b/test/add-shape-test.mjs @@ -1,4 +1,4 @@ -import api from '..'; +import api from '../mapshaper.js'; import assert from 'assert'; import { toFeature } from '../src/commands/mapshaper-add-shape'; diff --git a/test/affine-test.mjs b/test/affine-test.mjs index 89127ab3a..bb0a8873d 100644 --- a/test/affine-test.mjs +++ b/test/affine-test.mjs @@ -1,5 +1,5 @@ import assert from 'assert'; -import api from '../'; +import api from '../mapshaper.js'; describe('mapshaper-affine.js', function () { describe('-affine command', function () { diff --git a/test/anchor-points-test.mjs b/test/anchor-points-test.mjs index e8e525456..ff1b4061e 100644 --- a/test/anchor-points-test.mjs +++ b/test/anchor-points-test.mjs @@ -1,4 +1,4 @@ -import api from '../'; +import api from '../mapshaper.js'; import assert from 'assert'; function testInnerPoints(file, cmd, done) { diff --git a/test/arc-dissolve-test.mjs b/test/arc-dissolve-test.mjs index 527c60539..6b85aacbf 100644 --- a/test/arc-dissolve-test.mjs +++ b/test/arc-dissolve-test.mjs @@ -1,4 +1,4 @@ -import api from '../'; +import api from '../mapshaper.js'; import assert from 'assert'; var ArcCollection = api.internal.ArcCollection; diff --git a/test/arc-editor-test.mjs b/test/arc-editor-test.mjs index b8915667c..b8f9ebad7 100644 --- a/test/arc-editor-test.mjs +++ b/test/arc-editor-test.mjs @@ -1,5 +1,5 @@ import assert from 'assert'; -import mapshaper from '../'; +import mapshaper from '../mapshaper.js'; var geom = mapshaper.geom; describe("mapshaper-arc-editor.js", function() { diff --git a/test/arcs-test.mjs b/test/arcs-test.mjs index 90abee803..03d4920f3 100644 --- a/test/arcs-test.mjs +++ b/test/arcs-test.mjs @@ -1,4 +1,4 @@ -import api from '../'; +import api from '../mapshaper.js'; import assert from 'assert'; var ArcCollection = api.internal.ArcCollection, diff --git a/test/bbox-clipping-test.mjs b/test/bbox-clipping-test.mjs index a39ca0462..4a6bcc21f 100644 --- a/test/bbox-clipping-test.mjs +++ b/test/bbox-clipping-test.mjs @@ -1,5 +1,5 @@ import assert from 'assert'; -import api from '../'; +import api from '../mapshaper.js'; function test(expected, input, bbox, isRing) { var bounds = new api.internal.Bounds(bbox); diff --git a/test/blacki-test.mjs b/test/blacki-test.mjs index f52190192..59ea80689 100644 --- a/test/blacki-test.mjs +++ b/test/blacki-test.mjs @@ -1,5 +1,5 @@ -import api from '../'; +import api from '../mapshaper.js'; import assert from 'assert'; import { getBlackiClassifier } from '../src/classification/mapshaper-blacki'; import { DataTable } from '../src/datatable/mapshaper-data-table'; diff --git a/test/buffer-common-test.mjs b/test/buffer-common-test.mjs index b46c4a389..fbddfb932 100644 --- a/test/buffer-common-test.mjs +++ b/test/buffer-common-test.mjs @@ -1,4 +1,4 @@ -import api from '../'; +import api from '../mapshaper.js'; import assert from 'assert'; import helpers from './helpers'; var internal = api.internal; diff --git a/test/buffer-test.mjs b/test/buffer-test.mjs index c1e2289a8..526750564 100644 --- a/test/buffer-test.mjs +++ b/test/buffer-test.mjs @@ -1,5 +1,5 @@ -import api from '../'; +import api from '../mapshaper.js'; import assert from 'assert'; diff --git a/test/calc-test.mjs b/test/calc-test.mjs index 1d29c95e8..4cb85eb9b 100644 --- a/test/calc-test.mjs +++ b/test/calc-test.mjs @@ -1,5 +1,5 @@ import assert from 'assert'; -import api from '../'; +import api from '../mapshaper.js'; var evalCalcExpression = api.internal.evalCalcExpression, DataTable = api.internal.DataTable; @@ -179,8 +179,12 @@ describe('mapshaper-calc.js', function () { }; var result = api.cmd.calc(lyr2, null, - {expression: 'average(foo)', where: '!!bar'}); - assert.equal(result, 1); + {no_replace: true, expression: 'average(foo)', where: '!!bar'}); + assert.deepEqual(result.data.getRecords(), [{ + value: 1, + where: '!!bar', + expression: 'average(foo)' + }]); }) }) diff --git a/test/calc-utils-test.mjs b/test/calc-utils-test.mjs index c8b678c3e..61658951c 100644 --- a/test/calc-utils-test.mjs +++ b/test/calc-utils-test.mjs @@ -1,4 +1,4 @@ -import api from '../'; +import api from '../mapshaper.js'; import assert from 'assert'; diff --git a/test/chunker-test.mjs b/test/chunker-test.mjs index 8ecbcfbc6..94f867837 100644 --- a/test/chunker-test.mjs +++ b/test/chunker-test.mjs @@ -1,5 +1,5 @@ import assert from 'assert'; -import api from '../'; +import api from '../mapshaper.js'; var split = api.internal.splitShellTokens; function test(src, dest) { diff --git a/test/classification-test.mjs b/test/classification-test.mjs index 778e5e130..9fb6f9e30 100644 --- a/test/classification-test.mjs +++ b/test/classification-test.mjs @@ -15,7 +15,7 @@ import { getInterpolatedValueGetter } from '../src/classification/mapshaper-interpolation'; import assert from 'assert'; -import api from '../'; +import api from '../mapshaper.js'; describe('mapshaper-classification.js', function () { diff --git a/test/classify-test.mjs b/test/classify-test.mjs index 87e592e10..1d82c1fc1 100644 --- a/test/classify-test.mjs +++ b/test/classify-test.mjs @@ -1,4 +1,4 @@ -import api from '../'; +import api from '../mapshaper.js'; import assert from 'assert'; diff --git a/test/clean-test.mjs b/test/clean-test.mjs index 1689a7c0a..deae3167c 100644 --- a/test/clean-test.mjs +++ b/test/clean-test.mjs @@ -1,5 +1,5 @@ import assert from 'assert'; -import api from '../'; +import api from '../mapshaper.js'; var ArcCollection = api.internal.ArcCollection; function clean(shapes, arcs) { diff --git a/test/cli-utils-test.mjs b/test/cli-utils-test.mjs index 0c148789d..39b6c8c82 100644 --- a/test/cli-utils-test.mjs +++ b/test/cli-utils-test.mjs @@ -1,4 +1,4 @@ -import api from '../'; +import api from '../mapshaper.js'; import assert from 'assert'; var cli = api.cli; diff --git a/test/clip-bbox-test.mjs b/test/clip-bbox-test.mjs index 5ebee9664..6d2fec9bc 100644 --- a/test/clip-bbox-test.mjs +++ b/test/clip-bbox-test.mjs @@ -1,4 +1,4 @@ -import api from '../'; +import api from '../mapshaper.js'; import assert from 'assert'; describe('-clip bbox2=', function () { diff --git a/test/clip-erase-test.mjs b/test/clip-erase-test.mjs index b3b09ee15..0d8163882 100644 --- a/test/clip-erase-test.mjs +++ b/test/clip-erase-test.mjs @@ -1,4 +1,4 @@ -import api from '../'; +import api from '../mapshaper.js'; import assert from 'assert'; var ArcCollection = api.internal.ArcCollection; diff --git a/test/clip-issues-test.mjs b/test/clip-issues-test.mjs index 4992f0947..1a223f442 100644 --- a/test/clip-issues-test.mjs +++ b/test/clip-issues-test.mjs @@ -1,4 +1,4 @@ -import api from '../'; +import api from '../mapshaper.js'; import assert from 'assert'; var ArcCollection = api.internal.ArcCollection; diff --git a/test/cluster-test.mjs b/test/cluster-test.mjs index db331902a..4b82f30cb 100644 --- a/test/cluster-test.mjs +++ b/test/cluster-test.mjs @@ -1,5 +1,5 @@ import assert from 'assert'; -import api from '../'; +import api from '../mapshaper.js'; describe('mapshaper-cluster.js', function () { // areas: 1, 2, 3, 6 diff --git a/test/colorizer-test.mjs b/test/colorizer-test.mjs index 57d4890f2..e51223168 100644 --- a/test/colorizer-test.mjs +++ b/test/colorizer-test.mjs @@ -1,4 +1,4 @@ -import api from '../'; +import api from '../mapshaper.js'; import assert from 'assert'; describe('mapshaper-colorizer.js', function () { diff --git a/test/command-parser-test.mjs b/test/command-parser-test.mjs index 399f20cf4..ff1e046a7 100644 --- a/test/command-parser-test.mjs +++ b/test/command-parser-test.mjs @@ -1,4 +1,4 @@ -import api from '../'; +import api from '../mapshaper.js'; import assert from 'assert'; var internal = api.internal; diff --git a/test/commands-test.mjs b/test/commands-test.mjs index d4fcfe662..0060a4427 100644 --- a/test/commands-test.mjs +++ b/test/commands-test.mjs @@ -1,4 +1,4 @@ -import api from '../'; +import api from '../mapshaper.js'; import assert from 'assert'; import fs from 'fs'; import child_process from 'child_process'; diff --git a/test/common-test.mjs b/test/common-test.mjs index ec176f7d0..0106853d6 100644 --- a/test/common-test.mjs +++ b/test/common-test.mjs @@ -1,4 +1,4 @@ -import api from '../'; +import api from '../mapshaper.js'; import assert from 'assert'; var internal = api.internal; diff --git a/test/custom-projections-test.mjs b/test/custom-projections-test.mjs index a26d745dd..00ce8ebf2 100644 --- a/test/custom-projections-test.mjs +++ b/test/custom-projections-test.mjs @@ -1,5 +1,5 @@ import assert from 'assert'; -import api from '../'; +import api from '../mapshaper.js'; var internal = api.internal; describe('mapshaper-custom-projections.js', function() { diff --git a/test/dashlines-test.mjs b/test/dashlines-test.mjs index 649b8a5dd..d56da2dc6 100644 --- a/test/dashlines-test.mjs +++ b/test/dashlines-test.mjs @@ -1,4 +1,4 @@ -import api from '../'; +import api from '../mapshaper.js'; import assert from 'assert'; var internal = api.internal; diff --git a/test/data-aggregation-test.mjs b/test/data-aggregation-test.mjs index 7dd5dbfe1..48c59a974 100644 --- a/test/data-aggregation-test.mjs +++ b/test/data-aggregation-test.mjs @@ -1,4 +1,4 @@ -import api from '../'; +import api from '../mapshaper.js'; import assert from 'assert'; var internal = api.internal; diff --git a/test/data-fill-test.mjs b/test/data-fill-test.mjs index 53fe5ad61..9af108249 100644 --- a/test/data-fill-test.mjs +++ b/test/data-fill-test.mjs @@ -1,4 +1,4 @@ -import api from '../'; +import api from '../mapshaper.js'; import assert from 'assert'; diff --git a/test/data-table-test.mjs b/test/data-table-test.mjs index 6bee3774f..c5dd83340 100644 --- a/test/data-table-test.mjs +++ b/test/data-table-test.mjs @@ -1,4 +1,4 @@ -import api from '../'; +import api from '../mapshaper.js'; import assert from 'assert'; import path from 'path'; import helpers from './helpers'; diff --git a/test/data-utils-test.mjs b/test/data-utils-test.mjs index 034207074..7257debd0 100644 --- a/test/data-utils-test.mjs +++ b/test/data-utils-test.mjs @@ -1,4 +1,4 @@ -import api from '../'; +import api from '../mapshaper.js'; import assert from 'assert'; diff --git a/test/dataset-utils-test.mjs b/test/dataset-utils-test.mjs index 391a8de5f..0e23e9e0f 100644 --- a/test/dataset-utils-test.mjs +++ b/test/dataset-utils-test.mjs @@ -1,4 +1,4 @@ -import api from '../'; +import api from '../mapshaper.js'; import assert from 'assert'; describe('mapshaper-dataset-utils.js', function () { diff --git a/test/dbf-import-test.mjs b/test/dbf-import-test.mjs index 1a12605d4..afd31fa64 100644 --- a/test/dbf-import-test.mjs +++ b/test/dbf-import-test.mjs @@ -1,4 +1,4 @@ -import api from '../'; +import api from '../mapshaper.js'; import assert from 'assert'; import fs from 'fs'; diff --git a/test/dbf-reader-test.mjs b/test/dbf-reader-test.mjs index 32fa2ac0e..e0bbba48c 100644 --- a/test/dbf-reader-test.mjs +++ b/test/dbf-reader-test.mjs @@ -1,4 +1,4 @@ -import api from '../'; +import api from '../mapshaper.js'; import assert from 'assert'; import fs from 'fs'; import path from 'path'; diff --git a/test/dbf-writer-test.mjs b/test/dbf-writer-test.mjs index 0378895c2..162d4a8e4 100644 --- a/test/dbf-writer-test.mjs +++ b/test/dbf-writer-test.mjs @@ -1,4 +1,4 @@ -import api from '../'; +import api from '../mapshaper.js'; import assert from 'assert'; import iconv from 'iconv-lite'; diff --git a/test/debug-test.mjs b/test/debug-test.mjs index 064e30031..d2170be21 100644 --- a/test/debug-test.mjs +++ b/test/debug-test.mjs @@ -1,4 +1,4 @@ -import api from '../'; +import api from '../mapshaper.js'; import assert from 'assert'; var internal = api.internal; diff --git a/test/define-test.mjs b/test/define-test.mjs index 7c236939c..f5d0c4969 100644 --- a/test/define-test.mjs +++ b/test/define-test.mjs @@ -1,4 +1,4 @@ -import api from '../'; +import api from '../mapshaper.js'; import assert from 'assert'; var internal = api.internal; diff --git a/test/delim-export-test.mjs b/test/delim-export-test.mjs index 2d2bb9867..5ea6adf89 100644 --- a/test/delim-export-test.mjs +++ b/test/delim-export-test.mjs @@ -1,4 +1,4 @@ -import api from '../'; +import api from '../mapshaper.js'; import assert from 'assert'; var internal = api.internal; var utils = api.utils; diff --git a/test/delim-import-test.mjs b/test/delim-import-test.mjs index c707da923..ab62ffd39 100644 --- a/test/delim-import-test.mjs +++ b/test/delim-import-test.mjs @@ -1,4 +1,4 @@ -import api from '../'; +import api from '../mapshaper.js'; import assert from 'assert'; import helpers from './helpers'; import fs from 'fs'; diff --git a/test/delim-reader-test.mjs b/test/delim-reader-test.mjs index 38db1d77f..e194cbd89 100644 --- a/test/delim-reader-test.mjs +++ b/test/delim-reader-test.mjs @@ -1,5 +1,5 @@ import assert from 'assert'; -import api from '../'; +import api from '../mapshaper.js'; import helpers from './helpers'; import csv_spectrum from 'csv-spectrum'; var internal = api.internal, diff --git a/test/dissolve-points-test.mjs b/test/dissolve-points-test.mjs index fbd4448b2..1ae198836 100644 --- a/test/dissolve-points-test.mjs +++ b/test/dissolve-points-test.mjs @@ -1,5 +1,5 @@ import assert from 'assert'; -import api from '../'; +import api from '../mapshaper.js'; var geom = api.geom; diff --git a/test/dissolve-test.mjs b/test/dissolve-test.mjs index 52f96c6b6..f6bb5cf1e 100644 --- a/test/dissolve-test.mjs +++ b/test/dissolve-test.mjs @@ -1,5 +1,5 @@ import assert from 'assert'; -import api from '../'; +import api from '../mapshaper.js'; var utils = api.Utils, dissolve = api.cmd.dissolve, diff --git a/test/dissolve2-test.mjs b/test/dissolve2-test.mjs index 2439134f8..88b886fd2 100644 --- a/test/dissolve2-test.mjs +++ b/test/dissolve2-test.mjs @@ -1,5 +1,5 @@ import assert from 'assert'; -import api from '../'; +import api from '../mapshaper.js'; var ArcCollection = api.internal.ArcCollection, NodeCollection = api.internal.NodeCollection, diff --git a/test/divide-test.mjs b/test/divide-test.mjs index 86e02845d..bbf43fb5c 100644 --- a/test/divide-test.mjs +++ b/test/divide-test.mjs @@ -1,4 +1,4 @@ -import api from '../'; +import api from '../mapshaper.js'; import assert from 'assert'; var internal = api.internal; diff --git a/test/dms-test.mjs b/test/dms-test.mjs index fbf621dfe..8f28795b9 100644 --- a/test/dms-test.mjs +++ b/test/dms-test.mjs @@ -3,7 +3,7 @@ // https://www.maptools.com/tutorials/lat_lon/formats // http://www.geomidpoint.com/latlon.html -import api from '../'; +import api from '../mapshaper.js'; import assert from 'assert'; var parseDMS = api.internal.parseDMS; diff --git a/test/dots-test.mjs b/test/dots-test.mjs index 5a0359e69..be87f4af5 100644 --- a/test/dots-test.mjs +++ b/test/dots-test.mjs @@ -1,7 +1,7 @@ import { getDataRecord } from '../src/commands/mapshaper-dots'; -import api from '../'; +import api from '../mapshaper.js'; import assert from 'assert'; diff --git a/test/dp-test.mjs b/test/dp-test.mjs index ad3c32035..26d14e945 100644 --- a/test/dp-test.mjs +++ b/test/dp-test.mjs @@ -1,5 +1,5 @@ import assert from 'assert'; -import api from '../'; +import api from '../mapshaper.js'; describe("mapshaper-dp.js", function() { diff --git a/test/drop-test.mjs b/test/drop-test.mjs index 7dd94ff3e..20fece43b 100644 --- a/test/drop-test.mjs +++ b/test/drop-test.mjs @@ -1,5 +1,5 @@ import assert from 'assert'; -import api from '../'; +import api from '../mapshaper.js'; describe('mapshaper-drop.js', function () { diff --git a/test/each-test.mjs b/test/each-test.mjs index 8368d69fa..8e28ae246 100644 --- a/test/each-test.mjs +++ b/test/each-test.mjs @@ -1,5 +1,5 @@ import assert from 'assert'; -import api from '../'; +import api from '../mapshaper.js'; var ArcCollection = api.internal.ArcCollection; diff --git a/test/encodings-test.mjs b/test/encodings-test.mjs index ad505684d..679aceb77 100644 --- a/test/encodings-test.mjs +++ b/test/encodings-test.mjs @@ -1,4 +1,4 @@ -import api from '../'; +import api from '../mapshaper.js'; import assert from 'assert'; import fs from 'fs'; diff --git a/test/explode.test.mjs b/test/explode.test.mjs index ed40249ee..6d1677cfe 100644 --- a/test/explode.test.mjs +++ b/test/explode.test.mjs @@ -1,4 +1,4 @@ -import api from '../'; +import api from '../mapshaper.js'; import assert from 'assert'; import fs from 'fs'; diff --git a/test/export-test.mjs b/test/export-test.mjs index b29d4bafb..e5ff86bf4 100644 --- a/test/export-test.mjs +++ b/test/export-test.mjs @@ -1,4 +1,4 @@ -import api from '../'; +import api from '../mapshaper.js'; import assert from 'assert'; var internal = api.internal; diff --git a/test/expression-utils-test.mjs b/test/expression-utils-test.mjs index 94dcdcef6..9686c82f3 100644 --- a/test/expression-utils-test.mjs +++ b/test/expression-utils-test.mjs @@ -1,6 +1,6 @@ import {interpolated_median} from '../src/expressions/mapshaper-expression-utils'; import assert from 'assert'; -import api from '../'; +import api from '../mapshaper.js'; describe('mapshaper-expression-utils.js', function() { diff --git a/test/expressions-test.mjs b/test/expressions-test.mjs index 5c707b35f..8b9e4feea 100644 --- a/test/expressions-test.mjs +++ b/test/expressions-test.mjs @@ -1,5 +1,5 @@ import assert from 'assert'; -import api from '../'; +import api from '../mapshaper.js'; describe('mapshaper-expressions.js', function () { diff --git a/test/external-test.mjs b/test/external-test.mjs index 8a40e5eaa..180fa0bd3 100644 --- a/test/external-test.mjs +++ b/test/external-test.mjs @@ -1,4 +1,4 @@ -import api from '../'; +import api from '../mapshaper.js'; import assert from 'assert'; var internal = api.internal; diff --git a/test/file-export-test.mjs b/test/file-export-test.mjs index 449cfbc4a..6275174ce 100644 --- a/test/file-export-test.mjs +++ b/test/file-export-test.mjs @@ -1,4 +1,4 @@ -import api from '../'; +import api from '../mapshaper.js'; import assert from 'assert'; import path from 'path'; import { fixPath } from './helpers'; diff --git a/test/file-import-test.mjs b/test/file-import-test.mjs index 72159ac11..7aeaad3bc 100644 --- a/test/file-import-test.mjs +++ b/test/file-import-test.mjs @@ -1,4 +1,4 @@ -import api from '../'; +import api from '../mapshaper.js'; import path from 'path'; import assert from 'assert'; import helpers from './helpers'; diff --git a/test/file-reader-test.mjs b/test/file-reader-test.mjs index b4c530aeb..eb0dee636 100644 --- a/test/file-reader-test.mjs +++ b/test/file-reader-test.mjs @@ -1,5 +1,5 @@ import fs from 'fs'; -import api from '../'; +import api from '../mapshaper.js'; import assert from 'assert'; import helpers from './helpers'; var FileReader = api.internal.FileReader, diff --git a/test/file-types-test.mjs b/test/file-types-test.mjs index 5ecd84057..627f9d67c 100644 --- a/test/file-types-test.mjs +++ b/test/file-types-test.mjs @@ -1,4 +1,4 @@ -import api from '../'; +import api from '../mapshaper.js'; import assert from 'assert'; diff --git a/test/filename-utils-test.mjs b/test/filename-utils-test.mjs index e22828f71..9a867dd59 100644 --- a/test/filename-utils-test.mjs +++ b/test/filename-utils-test.mjs @@ -1,4 +1,4 @@ -import api from '../'; +import api from '../mapshaper.js'; import assert from 'assert'; var internal = api.internal; diff --git a/test/filter-geom-test.mjs b/test/filter-geom-test.mjs index d9f8b339d..f824bd764 100644 --- a/test/filter-geom-test.mjs +++ b/test/filter-geom-test.mjs @@ -1,4 +1,4 @@ -import api from '../'; +import api from '../mapshaper.js'; import assert from 'assert'; diff --git a/test/filter-islands-test.mjs b/test/filter-islands-test.mjs index 3c70cdeff..192590c04 100644 --- a/test/filter-islands-test.mjs +++ b/test/filter-islands-test.mjs @@ -1,5 +1,5 @@ import assert from 'assert'; -import api from '../'; +import api from '../mapshaper.js'; describe('mapshaper-filter-islands.js', function () { diff --git a/test/filter-rename-fields-test.mjs b/test/filter-rename-fields-test.mjs index 89b437e50..c85eade43 100644 --- a/test/filter-rename-fields-test.mjs +++ b/test/filter-rename-fields-test.mjs @@ -1,4 +1,4 @@ -import api from '../'; +import api from '../mapshaper.js'; import assert from 'assert'; var format = api.utils.format; diff --git a/test/filter-slivers-test.mjs b/test/filter-slivers-test.mjs index 79eb809c9..20fbbeb0e 100644 --- a/test/filter-slivers-test.mjs +++ b/test/filter-slivers-test.mjs @@ -1,5 +1,5 @@ import assert from 'assert'; -import api from '../'; +import api from '../mapshaper.js'; describe('mapshaper-filter-slivers.js', function () { diff --git a/test/filter-test.mjs b/test/filter-test.mjs index a3985b73d..998b9e621 100644 --- a/test/filter-test.mjs +++ b/test/filter-test.mjs @@ -1,5 +1,5 @@ import assert from 'assert'; -import api from '../'; +import api from '../mapshaper.js'; var internal = api.internal; describe('mapshaper-filter.js', function () { diff --git a/test/fixed-width-test.mjs b/test/fixed-width-test.mjs index 8cd32adb9..81d419f87 100644 --- a/test/fixed-width-test.mjs +++ b/test/fixed-width-test.mjs @@ -1,6 +1,6 @@ import {parseFixedWidthInfo} from '../src/text/mapshaper-fixed-width'; -import api from '../'; +import api from '../mapshaper.js'; import assert from 'assert'; diff --git a/test/frame-test.mjs b/test/frame-test.mjs index 18ae82b4e..f8b9eed88 100644 --- a/test/frame-test.mjs +++ b/test/frame-test.mjs @@ -1,5 +1,5 @@ import assert from 'assert'; -import api from '../'; +import api from '../mapshaper.js'; var Bounds = api.internal.Bounds; diff --git a/test/fuzzy-join-test.mjs b/test/fuzzy-join-test.mjs index bf5746e00..d0bd6b687 100644 --- a/test/fuzzy-join-test.mjs +++ b/test/fuzzy-join-test.mjs @@ -1,4 +1,4 @@ -import api from '../'; +import api from '../mapshaper.js'; import assert from 'assert'; diff --git a/test/geodesic-test.mjs b/test/geodesic-test.mjs index ab3254cdf..a146bbfcc 100644 --- a/test/geodesic-test.mjs +++ b/test/geodesic-test.mjs @@ -1,5 +1,5 @@ import assert from 'assert'; -import api from '../'; +import api from '../mapshaper.js'; var internal = api.internal; describe('mapshaper-geodesic.js', function () { diff --git a/test/geojson-reader-test.mjs b/test/geojson-reader-test.mjs index d8a5155ad..7d4bdf2f6 100644 --- a/test/geojson-reader-test.mjs +++ b/test/geojson-reader-test.mjs @@ -1,4 +1,4 @@ -import api from '../'; +import api from '../mapshaper.js'; import assert from 'assert'; import fs from 'fs'; import helpers from './helpers'; diff --git a/test/geojson-test.mjs b/test/geojson-test.mjs index b9b04f9a8..cdeeb0a85 100644 --- a/test/geojson-test.mjs +++ b/test/geojson-test.mjs @@ -1,4 +1,4 @@ -import api from '../'; +import api from '../mapshaper.js'; import assert from 'assert'; import helpers from './helpers'; diff --git a/test/geojson-to-svg-test.mjs b/test/geojson-to-svg-test.mjs index 6b26aafee..976a13cda 100644 --- a/test/geojson-to-svg-test.mjs +++ b/test/geojson-to-svg-test.mjs @@ -1,4 +1,4 @@ -import api from '../'; +import api from '../mapshaper.js'; import assert from 'assert'; var SVG = api.internal.svg; diff --git a/test/geom-test.mjs b/test/geom-test.mjs index 4020635eb..65b3bc47b 100644 --- a/test/geom-test.mjs +++ b/test/geom-test.mjs @@ -1,5 +1,5 @@ import assert from 'assert'; -import api from '../'; +import api from '../mapshaper.js'; var geom = api.geom; diff --git a/test/graticule-test.mjs b/test/graticule-test.mjs index 529e1a141..829cf88f3 100644 --- a/test/graticule-test.mjs +++ b/test/graticule-test.mjs @@ -1,4 +1,4 @@ -import api from '../'; +import api from '../mapshaper.js'; import assert from 'assert'; diff --git a/test/grid-test.mjs b/test/grid-test.mjs index 6f2231262..75351a2e9 100644 --- a/test/grid-test.mjs +++ b/test/grid-test.mjs @@ -1,4 +1,4 @@ -import api from '../'; +import api from '../mapshaper.js'; import assert from 'assert'; diff --git a/test/gzip-test.mjs b/test/gzip-test.mjs index 48c9bd73e..5fda85290 100644 --- a/test/gzip-test.mjs +++ b/test/gzip-test.mjs @@ -1,4 +1,4 @@ -import api from '../'; +import api from '../mapshaper.js'; import assert from 'assert'; import { gunzipSync } from 'zlib'; import * as fs from 'fs'; diff --git a/test/heap-test.mjs b/test/heap-test.mjs index c29239708..0c05256c9 100644 --- a/test/heap-test.mjs +++ b/test/heap-test.mjs @@ -1,5 +1,5 @@ import assert from 'assert'; -import api from '../'; +import api from '../mapshaper.js'; var Heap = api.internal.Heap; diff --git a/test/helpers.mjs b/test/helpers.mjs index 2438dba3b..c7bc61280 100644 --- a/test/helpers.mjs +++ b/test/helpers.mjs @@ -1,5 +1,5 @@ import assert from 'assert'; -import api from '../'; +import api from '../mapshaper.js'; import path from 'path'; import { fileURLToPath } from 'url'; diff --git a/test/id-lookup-index-test.mjs b/test/id-lookup-index-test.mjs index 432a053d9..6e7dfbb67 100644 --- a/test/id-lookup-index-test.mjs +++ b/test/id-lookup-index-test.mjs @@ -1,6 +1,6 @@ import { IdLookupIndex, ArcLookupIndex, ClearableArcLookupIndex } from '../src/indexing/mapshaper-id-lookup-index'; -import api from '../'; +import api from '../mapshaper.js'; import assert from 'assert'; diff --git a/test/if-elif-else-test.mjs b/test/if-elif-else-test.mjs index 630180838..e2ddec8ec 100644 --- a/test/if-elif-else-test.mjs +++ b/test/if-elif-else-test.mjs @@ -1,4 +1,4 @@ -import api from '../'; +import api from '../mapshaper.js'; import assert from 'assert'; diff --git a/test/import-test.mjs b/test/import-test.mjs index 20e1407d6..6246b51a1 100644 --- a/test/import-test.mjs +++ b/test/import-test.mjs @@ -1,4 +1,4 @@ -import api from '../'; +import api from '../mapshaper.js'; import assert from 'assert'; import { Catalog } from '../src/dataset/mapshaper-catalog'; diff --git a/test/include-test.mjs b/test/include-test.mjs index 00f6c486b..e50f3383f 100644 --- a/test/include-test.mjs +++ b/test/include-test.mjs @@ -1,4 +1,4 @@ -import api from '../'; +import api from '../mapshaper.js'; import assert from 'assert'; diff --git a/test/info-test.mjs b/test/info-test.mjs index 1dd673aaf..ef30d4559 100644 --- a/test/info-test.mjs +++ b/test/info-test.mjs @@ -1,5 +1,5 @@ import assert from 'assert'; -import api from '../'; +import api from '../mapshaper.js'; describe('mapshaper-info.js', function () { diff --git a/test/inlay-test.mjs b/test/inlay-test.mjs index 5ba962e0c..f82d45a66 100644 --- a/test/inlay-test.mjs +++ b/test/inlay-test.mjs @@ -1,5 +1,5 @@ import assert from 'assert'; -import api from '../'; +import api from '../mapshaper.js'; import fs from 'fs'; describe('mapshaper-inset.js', function () { diff --git a/test/interpolation-test.mjs b/test/interpolation-test.mjs index 4144511f3..620c1be9d 100644 --- a/test/interpolation-test.mjs +++ b/test/interpolation-test.mjs @@ -3,7 +3,7 @@ import { getStoppedValues, getInterpolatedValueGetter } from '../src/classification/mapshaper-interpolation'; -import api from '../'; +import api from '../mapshaper.js'; import assert from 'assert'; diff --git a/test/intersection-cuts-test.mjs b/test/intersection-cuts-test.mjs index e6e133546..d28ca3bae 100644 --- a/test/intersection-cuts-test.mjs +++ b/test/intersection-cuts-test.mjs @@ -1,4 +1,4 @@ -import api from '../'; +import api from '../mapshaper.js'; import assert from 'assert'; var ArcCollection = api.internal.ArcCollection; diff --git a/test/issue-160-test.mjs b/test/issue-160-test.mjs index e613f0e1c..ebb476530 100644 --- a/test/issue-160-test.mjs +++ b/test/issue-160-test.mjs @@ -1,4 +1,4 @@ -import api from '../'; +import api from '../mapshaper.js'; import assert from 'assert'; diff --git a/test/issue-161-test.mjs b/test/issue-161-test.mjs index dd04435db..ff110c4eb 100644 --- a/test/issue-161-test.mjs +++ b/test/issue-161-test.mjs @@ -1,4 +1,4 @@ -import api from '../'; +import api from '../mapshaper.js'; import assert from 'assert'; diff --git a/test/issue-166-test.mjs b/test/issue-166-test.mjs index 1863f6b68..ac3605aa5 100644 --- a/test/issue-166-test.mjs +++ b/test/issue-166-test.mjs @@ -1,4 +1,4 @@ -import api from '../'; +import api from '../mapshaper.js'; import assert from 'assert'; import fs from 'fs'; diff --git a/test/issue-171-test.mjs b/test/issue-171-test.mjs index 5de0deed2..3f5a4273d 100644 --- a/test/issue-171-test.mjs +++ b/test/issue-171-test.mjs @@ -1,4 +1,4 @@ -import api from '../'; +import api from '../mapshaper.js'; import assert from 'assert'; diff --git a/test/issue-174-test.mjs b/test/issue-174-test.mjs index 9c26109da..fa337c95e 100644 --- a/test/issue-174-test.mjs +++ b/test/issue-174-test.mjs @@ -1,4 +1,4 @@ -import api from '../'; +import api from '../mapshaper.js'; import assert from 'assert'; diff --git a/test/issue-192-test.mjs b/test/issue-192-test.mjs index 77f125af5..abe05ef21 100644 --- a/test/issue-192-test.mjs +++ b/test/issue-192-test.mjs @@ -1,4 +1,4 @@ -import api from '../'; +import api from '../mapshaper.js'; import assert from 'assert'; diff --git a/test/issue-193-test.mjs b/test/issue-193-test.mjs index 8a8616e3c..9a845560b 100644 --- a/test/issue-193-test.mjs +++ b/test/issue-193-test.mjs @@ -1,4 +1,4 @@ -import api from '../'; +import api from '../mapshaper.js'; import assert from 'assert'; diff --git a/test/issue-236-test.mjs b/test/issue-236-test.mjs index 4443d967a..44a0b1e1b 100644 --- a/test/issue-236-test.mjs +++ b/test/issue-236-test.mjs @@ -1,5 +1,5 @@ import fs from 'fs'; -import api from '../'; +import api from '../mapshaper.js'; import assert from 'assert'; import helpers from './helpers'; diff --git a/test/issue-247-test.mjs b/test/issue-247-test.mjs index 98fd71a72..54ed2dbd9 100644 --- a/test/issue-247-test.mjs +++ b/test/issue-247-test.mjs @@ -1,5 +1,5 @@ import fs from 'fs'; -import api from '../'; +import api from '../mapshaper.js'; import assert from 'assert'; diff --git a/test/issue-269-field-order.mjs b/test/issue-269-field-order.mjs index 7b7cf9bac..f8809a30e 100644 --- a/test/issue-269-field-order.mjs +++ b/test/issue-269-field-order.mjs @@ -1,4 +1,4 @@ -import api from '../'; +import api from '../mapshaper.js'; import assert from 'assert'; diff --git a/test/issue-304-test.mjs b/test/issue-304-test.mjs index 25d7f5157..ea473bfb3 100644 --- a/test/issue-304-test.mjs +++ b/test/issue-304-test.mjs @@ -1,5 +1,5 @@ import fs from 'fs'; -import api from '../'; +import api from '../mapshaper.js'; import assert from 'assert'; diff --git a/test/issue-337-test.mjs b/test/issue-337-test.mjs index 3856f82f3..e15fd7b06 100644 --- a/test/issue-337-test.mjs +++ b/test/issue-337-test.mjs @@ -1,4 +1,4 @@ -import api from '../'; +import api from '../mapshaper.js'; import assert from 'assert'; diff --git a/test/issue-339-test.mjs b/test/issue-339-test.mjs index 760cf4f33..d31549692 100644 --- a/test/issue-339-test.mjs +++ b/test/issue-339-test.mjs @@ -1,4 +1,4 @@ -import api from '../'; +import api from '../mapshaper.js'; import assert from 'assert'; diff --git a/test/issue-340-test.mjs b/test/issue-340-test.mjs index 5b5e92dfd..c149e195d 100644 --- a/test/issue-340-test.mjs +++ b/test/issue-340-test.mjs @@ -1,4 +1,4 @@ -import api from '../'; +import api from '../mapshaper.js'; import assert from 'assert'; diff --git a/test/issue-356-test.mjs b/test/issue-356-test.mjs index 192dd9866..358e035ab 100644 --- a/test/issue-356-test.mjs +++ b/test/issue-356-test.mjs @@ -1,4 +1,4 @@ -import api from '../'; +import api from '../mapshaper.js'; import assert from 'assert'; diff --git a/test/issue-389-intersection-test.mjs b/test/issue-389-intersection-test.mjs index 2f50a52dd..23edeb7dc 100644 --- a/test/issue-389-intersection-test.mjs +++ b/test/issue-389-intersection-test.mjs @@ -1,4 +1,4 @@ -import api from '../'; +import api from '../mapshaper.js'; import assert from 'assert'; var internal = api.internal; var segmentIntersection = api.geom.segmentIntersection; diff --git a/test/issue-485-test.mjs b/test/issue-485-test.mjs index 694970ec2..82b137005 100644 --- a/test/issue-485-test.mjs +++ b/test/issue-485-test.mjs @@ -1,4 +1,4 @@ -import api from '../'; +import api from '../mapshaper.js'; import assert from 'assert'; diff --git a/test/issue-538-test.mjs b/test/issue-538-test.mjs index 4b86f320b..2a3da63f9 100644 --- a/test/issue-538-test.mjs +++ b/test/issue-538-test.mjs @@ -1,4 +1,4 @@ -import api from '../'; +import api from '../mapshaper.js'; import assert from 'assert'; diff --git a/test/issue-clean-errors.mjs b/test/issue-clean-errors.mjs index 1a5185c03..c04dead5a 100644 --- a/test/issue-clean-errors.mjs +++ b/test/issue-clean-errors.mjs @@ -1,5 +1,5 @@ import assert from 'assert'; -import api from '../'; +import api from '../mapshaper.js'; var internal = api.internal, geom = api.geom; diff --git a/test/issue-invalid-coords.mjs b/test/issue-invalid-coords.mjs index b4659f23a..371e362b0 100644 --- a/test/issue-invalid-coords.mjs +++ b/test/issue-invalid-coords.mjs @@ -1,5 +1,5 @@ import assert from 'assert'; -import api from '../'; +import api from '../mapshaper.js'; describe('Features with invalid point coordinates are imported without geometry', function () { var target = { diff --git a/test/join-calc-test.mjs b/test/join-calc-test.mjs index 248261b00..45dac3fa3 100644 --- a/test/join-calc-test.mjs +++ b/test/join-calc-test.mjs @@ -1,4 +1,4 @@ -import api from '../'; +import api from '../mapshaper.js'; import assert from 'assert'; var DataTable = api.internal.DataTable; diff --git a/test/join-filter-test.mjs b/test/join-filter-test.mjs index 384acaf11..e14f943c0 100644 --- a/test/join-filter-test.mjs +++ b/test/join-filter-test.mjs @@ -1,4 +1,4 @@ -import api from '../'; +import api from '../mapshaper.js'; import assert from 'assert'; var DataTable = api.internal.DataTable; diff --git a/test/join-points-to-points-test.mjs b/test/join-points-to-points-test.mjs index b1b24b37a..917ee6ad3 100644 --- a/test/join-points-to-points-test.mjs +++ b/test/join-points-to-points-test.mjs @@ -1,4 +1,4 @@ -import api from '../'; +import api from '../mapshaper.js'; import assert from 'assert'; describe('Points to points spatial join', function () { diff --git a/test/join-points-to-polygons-test.mjs b/test/join-points-to-polygons-test.mjs index b52faab6f..a2c479696 100644 --- a/test/join-points-to-polygons-test.mjs +++ b/test/join-points-to-polygons-test.mjs @@ -1,4 +1,4 @@ -import api from '../'; +import api from '../mapshaper.js'; import assert from 'assert'; var ArcCollection = api.internal.ArcCollection, diff --git a/test/join-polygons-to-polygons-test.mjs b/test/join-polygons-to-polygons-test.mjs index 89c8c35d2..3ab109515 100644 --- a/test/join-polygons-to-polygons-test.mjs +++ b/test/join-polygons-to-polygons-test.mjs @@ -1,4 +1,4 @@ -import api from '../'; +import api from '../mapshaper.js'; import assert from 'assert'; diff --git a/test/join-polygons-to-polylines-test.mjs b/test/join-polygons-to-polylines-test.mjs index 64644caf5..17d5cd124 100644 --- a/test/join-polygons-to-polylines-test.mjs +++ b/test/join-polygons-to-polylines-test.mjs @@ -1,4 +1,4 @@ -import api from '../'; +import api from '../mapshaper.js'; import assert from 'assert'; diff --git a/test/join-test.mjs b/test/join-test.mjs index 0516eaf7c..14d6f638e 100644 --- a/test/join-test.mjs +++ b/test/join-test.mjs @@ -1,4 +1,4 @@ -import api from '../'; +import api from '../mapshaper.js'; import assert from 'assert'; import { fixPath } from './helpers'; import path from 'path'; diff --git a/test/json-import-test.mjs b/test/json-import-test.mjs index 9f6a682bd..76d78e2bc 100644 --- a/test/json-import-test.mjs +++ b/test/json-import-test.mjs @@ -1,4 +1,4 @@ -import api from '../'; +import api from '../mapshaper.js'; import assert from 'assert'; var internal = api.internal; diff --git a/test/json-table-test.mjs b/test/json-table-test.mjs index ecff4cd42..30780f327 100644 --- a/test/json-table-test.mjs +++ b/test/json-table-test.mjs @@ -1,4 +1,4 @@ -import api from '../'; +import api from '../mapshaper.js'; import assert from 'assert'; diff --git a/test/keep-shapes-test.mjs b/test/keep-shapes-test.mjs index 06a69c97a..ab6712987 100644 --- a/test/keep-shapes-test.mjs +++ b/test/keep-shapes-test.mjs @@ -1,5 +1,5 @@ import assert from 'assert'; -import api from '../'; +import api from '../mapshaper.js'; var utils = api.utils; diff --git a/test/kml-test.mjs b/test/kml-test.mjs index a729d9fa2..c937ce852 100644 --- a/test/kml-test.mjs +++ b/test/kml-test.mjs @@ -1,4 +1,4 @@ -import api from '../'; +import api from '../mapshaper.js'; import assert from 'assert'; import fs from 'fs'; diff --git a/test/lines-test.mjs b/test/lines-test.mjs index b150eef71..f5165cf43 100644 --- a/test/lines-test.mjs +++ b/test/lines-test.mjs @@ -1,5 +1,5 @@ import assert from 'assert'; -import api from '../'; +import api from '../mapshaper.js'; var polygonsToLines = api.internal.polygonsToLines; diff --git a/test/merge-layers-test.mjs b/test/merge-layers-test.mjs index bb7366228..69ec589a7 100644 --- a/test/merge-layers-test.mjs +++ b/test/merge-layers-test.mjs @@ -1,5 +1,5 @@ import assert from 'assert'; -import api from '../'; +import api from '../mapshaper.js'; var internal = api.internal; diff --git a/test/merging-test.mjs b/test/merging-test.mjs index aabf32599..6804d0014 100644 --- a/test/merging-test.mjs +++ b/test/merging-test.mjs @@ -1,4 +1,4 @@ -import api from '../'; +import api from '../mapshaper.js'; import assert from 'assert'; var utils = api.utils, diff --git a/test/metadata-test.mjs b/test/metadata-test.mjs index ea9122539..562898075 100644 --- a/test/metadata-test.mjs +++ b/test/metadata-test.mjs @@ -1,5 +1,5 @@ -import api from '../'; +import api from '../mapshaper.js'; import assert from 'assert'; var TopoJSON = api.internal.topojson; diff --git a/test/mosaic-test.mjs b/test/mosaic-test.mjs index caefceece..b6d8a8181 100644 --- a/test/mosaic-test.mjs +++ b/test/mosaic-test.mjs @@ -1,5 +1,5 @@ import assert from 'assert'; -import api from '../'; +import api from '../mapshaper.js'; import _ from 'underscore'; describe('mapshaper-mosaic.js', function () { diff --git a/test/nodes-test.mjs b/test/nodes-test.mjs index 1d19c2bd3..ac214b472 100644 --- a/test/nodes-test.mjs +++ b/test/nodes-test.mjs @@ -1,4 +1,4 @@ -import api from '../'; +import api from '../mapshaper.js'; import assert from 'assert'; diff --git a/test/option-parsing-utils-test.mjs b/test/option-parsing-utils-test.mjs index c3f91de9a..edb26e710 100644 --- a/test/option-parsing-utils-test.mjs +++ b/test/option-parsing-utils-test.mjs @@ -1,5 +1,5 @@ import assert from 'assert'; -import api from '../'; +import api from '../mapshaper.js'; var internal = api.internal; diff --git a/test/options-test.mjs b/test/options-test.mjs index 718e0321d..6c5932533 100644 --- a/test/options-test.mjs +++ b/test/options-test.mjs @@ -1,4 +1,4 @@ -import api from '../'; +import api from '../mapshaper.js'; import assert from 'assert'; var internal = api.internal; diff --git a/test/pack-test.mjs b/test/pack-test.mjs index f44577204..998ea3d4a 100644 --- a/test/pack-test.mjs +++ b/test/pack-test.mjs @@ -1,4 +1,4 @@ -import api from '../'; +import api from '../mapshaper.js'; import assert from 'assert'; import { unpackSessionData } from '../src/pack/mapshaper-unpack'; diff --git a/test/parse-commands-test.mjs b/test/parse-commands-test.mjs index 5131afcc8..ca06602d4 100644 --- a/test/parse-commands-test.mjs +++ b/test/parse-commands-test.mjs @@ -1,4 +1,4 @@ -import api from '../'; +import api from '../mapshaper.js'; import assert from 'assert'; var internal = api.internal; diff --git a/test/path-endpoints-test.mjs b/test/path-endpoints-test.mjs index d15d249ad..25e48f3ae 100644 --- a/test/path-endpoints-test.mjs +++ b/test/path-endpoints-test.mjs @@ -1,4 +1,4 @@ -import api from '../'; +import api from '../mapshaper.js'; import assert from 'assert'; var ArcCollection = api.internal.ArcCollection; diff --git a/test/path-import-test.mjs b/test/path-import-test.mjs index cd82cee67..1610a6bcf 100644 --- a/test/path-import-test.mjs +++ b/test/path-import-test.mjs @@ -1,4 +1,4 @@ -import api from '../'; +import api from '../mapshaper.js'; import assert from 'assert'; var DataTable = api.internal.DataTable; diff --git a/test/path-index-test.mjs b/test/path-index-test.mjs index 96e210718..5fcbd4ded 100644 --- a/test/path-index-test.mjs +++ b/test/path-index-test.mjs @@ -1,4 +1,4 @@ -import api from '../'; +import api from '../mapshaper.js'; import assert from 'assert'; var ArcCollection = api.internal.ArcCollection; diff --git a/test/pathfinder-utils-test.mjs b/test/pathfinder-utils-test.mjs index 8051d8189..51c488eb3 100644 --- a/test/pathfinder-utils-test.mjs +++ b/test/pathfinder-utils-test.mjs @@ -1,4 +1,4 @@ -import api from '../'; +import api from '../mapshaper.js'; import assert from 'assert'; var ArcCollection = api.internal.ArcCollection, NodeCollection = api.internal.NodeCollection; diff --git a/test/pixel-transform-test.mjs b/test/pixel-transform-test.mjs index 7f962fc5e..f01160590 100644 --- a/test/pixel-transform-test.mjs +++ b/test/pixel-transform-test.mjs @@ -1,5 +1,5 @@ import assert from 'assert'; -import api from '../'; +import api from '../mapshaper.js'; import util from './helpers'; var Bounds = api.internal.Bounds; diff --git a/test/point-clipping-test.mjs b/test/point-clipping-test.mjs index e4ca39677..3cf9e4b93 100644 --- a/test/point-clipping-test.mjs +++ b/test/point-clipping-test.mjs @@ -1,4 +1,4 @@ -import api from '../'; +import api from '../mapshaper.js'; import assert from 'assert'; var internal = api.internal; diff --git a/test/point-grid-test.mjs b/test/point-grid-test.mjs index ac58913a0..792aa4676 100644 --- a/test/point-grid-test.mjs +++ b/test/point-grid-test.mjs @@ -1,4 +1,4 @@ -import api from '../'; +import api from '../mapshaper.js'; import assert from 'assert'; diff --git a/test/point-to-grid-test.mjs b/test/point-to-grid-test.mjs index 4ef49f2a0..30d797dab 100644 --- a/test/point-to-grid-test.mjs +++ b/test/point-to-grid-test.mjs @@ -2,7 +2,7 @@ import { twoCircleIntersection } from '../src/grids/mapshaper-grid-utils'; import { getAlignedGridBounds, getCenteredGridBounds } from '../src/grids/mapshaper-square-grid'; import assert from 'assert'; -import api from '../'; +import api from '../mapshaper.js'; describe('mapshaper-point-to-grid.js', function () { describe('-point-to-grid', function() { diff --git a/test/points-test.mjs b/test/points-test.mjs index 6bd730e57..5c2e59c3f 100644 --- a/test/points-test.mjs +++ b/test/points-test.mjs @@ -1,5 +1,5 @@ import assert from 'assert'; -import api from '../'; +import api from '../mapshaper.js'; describe('mapshaper-points.js', function () { diff --git a/test/polygon-index-test.mjs b/test/polygon-index-test.mjs index 6e08fc12d..e7d6b921f 100644 --- a/test/polygon-index-test.mjs +++ b/test/polygon-index-test.mjs @@ -1,5 +1,5 @@ import assert from 'assert'; -import api from '../'; +import api from '../mapshaper.js'; var PolygonIndex = api.internal.PolygonIndex; diff --git a/test/polygon-mosaic-test.mjs b/test/polygon-mosaic-test.mjs index fcc95ad2b..9d5a9ce94 100644 --- a/test/polygon-mosaic-test.mjs +++ b/test/polygon-mosaic-test.mjs @@ -1,5 +1,5 @@ import assert from 'assert'; -import api from '../'; +import api from '../mapshaper.js'; var ArcCollection = api.internal.ArcCollection, NodeCollection = api.internal.NodeCollection; diff --git a/test/polygon-repair-test.mjs b/test/polygon-repair-test.mjs index 3a09fce5b..b6bc0efdf 100644 --- a/test/polygon-repair-test.mjs +++ b/test/polygon-repair-test.mjs @@ -1,4 +1,4 @@ -import api from '../'; +import api from '../mapshaper.js'; import assert from 'assert'; var internal = api.internal; diff --git a/test/polygons-test.mjs b/test/polygons-test.mjs index 0f7d045d1..bbf8eac19 100644 --- a/test/polygons-test.mjs +++ b/test/polygons-test.mjs @@ -1,4 +1,4 @@ -import api from '../'; +import api from '../mapshaper.js'; import assert from 'assert'; import helpers from './helpers'; diff --git a/test/polyline-buffer-test.mjs b/test/polyline-buffer-test.mjs index c6d2279cb..e765cf227 100644 --- a/test/polyline-buffer-test.mjs +++ b/test/polyline-buffer-test.mjs @@ -1,4 +1,4 @@ -import api from '../'; +import api from '../mapshaper.js'; import assert from 'assert'; var internal = api.internal; diff --git a/test/polyline-clean-test.mjs b/test/polyline-clean-test.mjs index 15c335819..0469bb961 100644 --- a/test/polyline-clean-test.mjs +++ b/test/polyline-clean-test.mjs @@ -1,6 +1,6 @@ import {extendPolylinePart} from '../src/polylines/mapshaper-polyline-clean'; -import api from '../'; +import api from '../mapshaper.js'; import assert from 'assert'; var internal = api.internal; diff --git a/test/polyline-clipping-test.mjs b/test/polyline-clipping-test.mjs index 4764c421e..a5ff96e04 100644 --- a/test/polyline-clipping-test.mjs +++ b/test/polyline-clipping-test.mjs @@ -1,4 +1,4 @@ -import api from '../'; +import api from '../mapshaper.js'; import assert from 'assert'; var internal = api.internal; diff --git a/test/proj-test.mjs b/test/proj-test.mjs index 1bcba9ef2..eae90f526 100644 --- a/test/proj-test.mjs +++ b/test/proj-test.mjs @@ -1,6 +1,6 @@ import assert from 'assert'; -import api from '../'; +import api from '../mapshaper.js'; import helpers from './helpers'; import fs from 'fs'; diff --git a/test/projection-params-test.mjs b/test/projection-params-test.mjs index d8ecc307b..ceb87355a 100644 --- a/test/projection-params-test.mjs +++ b/test/projection-params-test.mjs @@ -1,5 +1,5 @@ import assert from 'assert'; -import api from '../'; +import api from '../mapshaper.js'; describe('mapshaper-projection-params.js', function () { diff --git a/test/projections-test.mjs b/test/projections-test.mjs index 1d09506d6..4e20f2aba 100644 --- a/test/projections-test.mjs +++ b/test/projections-test.mjs @@ -1,6 +1,6 @@ import assert from 'assert'; -import api from '../'; +import api from '../mapshaper.js'; import util from './helpers'; import mproj from 'mproj'; diff --git a/test/rectangle-test.mjs b/test/rectangle-test.mjs index ede77402b..4bc717ec3 100644 --- a/test/rectangle-test.mjs +++ b/test/rectangle-test.mjs @@ -1,5 +1,5 @@ import assert from 'assert'; -import api from '../'; +import api from '../mapshaper.js'; var Bounds = api.internal.Bounds; diff --git a/test/rename-layers-test.mjs b/test/rename-layers-test.mjs index e2e2ea817..fcbaa281f 100644 --- a/test/rename-layers-test.mjs +++ b/test/rename-layers-test.mjs @@ -1,5 +1,5 @@ import assert from 'assert'; -import api from '../'; +import api from '../mapshaper.js'; describe('mapshaper-rename-layers.js', function () { diff --git a/test/require-test.mjs b/test/require-test.mjs index 50a11bbf0..d8e2508dc 100644 --- a/test/require-test.mjs +++ b/test/require-test.mjs @@ -1,4 +1,4 @@ -import api from '../'; +import api from '../mapshaper.js'; import assert from 'assert'; diff --git a/test/rounding-test.mjs b/test/rounding-test.mjs index 37874bf23..a7a8cd56e 100644 --- a/test/rounding-test.mjs +++ b/test/rounding-test.mjs @@ -1,4 +1,4 @@ -import api from '../'; +import api from '../mapshaper.js'; import assert from 'assert'; var getBinaryRoundingFunction = api.internal.getBinaryRoundingFunction; diff --git a/test/run-test.mjs b/test/run-test.mjs index b7923f7e3..d87e6bd8d 100644 --- a/test/run-test.mjs +++ b/test/run-test.mjs @@ -1,4 +1,4 @@ -import api from '../'; +import api from '../mapshaper.js'; import assert from 'assert'; diff --git a/test/scalebar-test.mjs b/test/scalebar-test.mjs index 921089d51..16951dfb9 100644 --- a/test/scalebar-test.mjs +++ b/test/scalebar-test.mjs @@ -1,4 +1,4 @@ -import api from '../'; +import api from '../mapshaper.js'; import assert from 'assert'; diff --git a/test/segment-geom-test.mjs b/test/segment-geom-test.mjs index 131147c2b..3b7655e63 100644 --- a/test/segment-geom-test.mjs +++ b/test/segment-geom-test.mjs @@ -1,4 +1,4 @@ -import api from '../'; +import api from '../mapshaper.js'; import assert from 'assert'; var internal = api.internal; var geom = api.geom, diff --git a/test/segment-intersection-test.mjs b/test/segment-intersection-test.mjs index ef07b005f..3d5b62eef 100644 --- a/test/segment-intersection-test.mjs +++ b/test/segment-intersection-test.mjs @@ -1,5 +1,5 @@ import assert from 'assert'; -import api from '../'; +import api from '../mapshaper.js'; var internal = api.internal; function findIntersections(coords) { diff --git a/test/self-intersection-test.mjs b/test/self-intersection-test.mjs index 35b66e471..d59409c79 100644 --- a/test/self-intersection-test.mjs +++ b/test/self-intersection-test.mjs @@ -1,5 +1,5 @@ import assert from 'assert'; -import api from '../'; +import api from '../mapshaper.js'; var internal = api.internal; describe('mapshaper-self-intersection.js', function () { diff --git a/test/shape-geom-test.mjs b/test/shape-geom-test.mjs index f1c31a311..492b14c1d 100644 --- a/test/shape-geom-test.mjs +++ b/test/shape-geom-test.mjs @@ -1,5 +1,5 @@ import assert from 'assert'; -import api from '../'; +import api from '../mapshaper.js'; var geom = api.geom; describe('mapshaper-shape-geom.js', function () { diff --git a/test/shape-test.mjs b/test/shape-test.mjs index b64b755fd..7f7a67cf2 100644 --- a/test/shape-test.mjs +++ b/test/shape-test.mjs @@ -1,5 +1,5 @@ import assert from 'assert'; -import api from '../'; +import api from '../mapshaper.js'; describe('mapshaper-shape.js', function () { diff --git a/test/shape-utils-test.mjs b/test/shape-utils-test.mjs index c2cf1d2b1..999737331 100644 --- a/test/shape-utils-test.mjs +++ b/test/shape-utils-test.mjs @@ -1,4 +1,4 @@ -import api from '../'; +import api from '../mapshaper.js'; import assert from 'assert'; diff --git a/test/shapefile-test.mjs b/test/shapefile-test.mjs index 2801134b3..fb6c4229a 100644 --- a/test/shapefile-test.mjs +++ b/test/shapefile-test.mjs @@ -1,4 +1,4 @@ -import api from '../'; +import api from '../mapshaper.js'; import assert from 'assert'; import { fixPath } from './helpers'; diff --git a/test/shp-reader-test.mjs b/test/shp-reader-test.mjs index 97e9123d7..d30d000fb 100644 --- a/test/shp-reader-test.mjs +++ b/test/shp-reader-test.mjs @@ -1,4 +1,4 @@ -import api from '../'; +import api from '../mapshaper.js'; import assert from 'assert'; import path from 'path'; import helpers from './helpers'; diff --git a/test/simplify-fast-test.mjs b/test/simplify-fast-test.mjs index b790e154d..8a1a2b890 100644 --- a/test/simplify-fast-test.mjs +++ b/test/simplify-fast-test.mjs @@ -1,5 +1,5 @@ import assert from 'assert'; -import api from '../'; +import api from '../mapshaper.js'; describe('mapshaper-simplify-fast.js', function () { diff --git a/test/simplify-test.mjs b/test/simplify-test.mjs index 1b1e3a253..e24f79e42 100644 --- a/test/simplify-test.mjs +++ b/test/simplify-test.mjs @@ -1,5 +1,5 @@ import assert from 'assert'; -import api from '../'; +import api from '../mapshaper.js'; var utils = api.utils; describe("mapshaper-simplify.js", function() { diff --git a/test/slivers-test.mjs b/test/slivers-test.mjs index f5d0dde5e..0c1a99fa6 100644 --- a/test/slivers-test.mjs +++ b/test/slivers-test.mjs @@ -1,5 +1,5 @@ import assert from 'assert'; -import api from '../'; +import api from '../mapshaper.js'; var internal = api.internal; describe('mapshaper-slivers.js', function () { diff --git a/test/snapping-test.mjs b/test/snapping-test.mjs index 3c11ee1c3..e7da209ca 100644 --- a/test/snapping-test.mjs +++ b/test/snapping-test.mjs @@ -1,4 +1,4 @@ -import api from '../'; +import api from '../mapshaper.js'; import assert from 'assert'; var internal = api.internal; diff --git a/test/sort-test.mjs b/test/sort-test.mjs index eadde039d..9e202b311 100644 --- a/test/sort-test.mjs +++ b/test/sort-test.mjs @@ -1,5 +1,5 @@ import assert from 'assert'; -import api from '../'; +import api from '../mapshaper.js'; describe('mapshaper-sort.js', function () { diff --git a/test/source-utils-test.mjs b/test/source-utils-test.mjs index 28e864104..5853db655 100644 --- a/test/source-utils-test.mjs +++ b/test/source-utils-test.mjs @@ -1,4 +1,4 @@ -import api from '../'; +import api from '../mapshaper.js'; import assert from 'assert'; var internal = api.internal; diff --git a/test/split-on-grid-test.mjs b/test/split-on-grid-test.mjs index 9f3a4fa51..9388e5927 100644 --- a/test/split-on-grid-test.mjs +++ b/test/split-on-grid-test.mjs @@ -1,5 +1,5 @@ import assert from 'assert'; -import api from '../'; +import api from '../mapshaper.js'; describe('mapshaper-split-on-grid.js', function () { diff --git a/test/split-test.mjs b/test/split-test.mjs index ee01e3baf..987a81459 100644 --- a/test/split-test.mjs +++ b/test/split-test.mjs @@ -1,5 +1,5 @@ import assert from 'assert'; -import api from '../'; +import api from '../mapshaper.js'; describe('mapshaper-split.js', function () { diff --git a/test/stash-test.mjs b/test/stash-test.mjs index 8e5521804..ca5da043a 100644 --- a/test/stash-test.mjs +++ b/test/stash-test.mjs @@ -1,4 +1,4 @@ -import api from '../'; +import api from '../mapshaper.js'; import assert from 'assert'; var internal = api.internal; diff --git a/test/stop-test.mjs b/test/stop-test.mjs index 2807e03a5..6dba5c5c0 100644 --- a/test/stop-test.mjs +++ b/test/stop-test.mjs @@ -1,4 +1,4 @@ -import api from '../'; +import api from '../mapshaper.js'; import assert from 'assert'; describe('mapshaper-stop.js', function () { diff --git a/test/stringify-test.mjs b/test/stringify-test.mjs index f93fbb674..cc137697c 100644 --- a/test/stringify-test.mjs +++ b/test/stringify-test.mjs @@ -1,4 +1,4 @@ -import api from '../'; +import api from '../mapshaper.js'; import assert from 'assert'; diff --git a/test/subdivide-test.mjs b/test/subdivide-test.mjs index e1c90be0a..cb28db64d 100644 --- a/test/subdivide-test.mjs +++ b/test/subdivide-test.mjs @@ -1,5 +1,5 @@ import assert from 'assert'; -import api from '../'; +import api from '../mapshaper.js'; describe('mapshaper-subdivide.js', function () { diff --git a/test/svg-data-test.mjs b/test/svg-data-test.mjs index a41f5f168..eb567aa76 100644 --- a/test/svg-data-test.mjs +++ b/test/svg-data-test.mjs @@ -1,4 +1,4 @@ -import api from '../'; +import api from '../mapshaper.js'; import assert from 'assert'; var SVG = api.internal.svg; var internal = api.internal; diff --git a/test/svg-properties-test.mjs b/test/svg-properties-test.mjs index b846b925f..32ff0215e 100644 --- a/test/svg-properties-test.mjs +++ b/test/svg-properties-test.mjs @@ -1,5 +1,5 @@ import { mightBeExpression } from '../src/svg/svg-properties'; -import api from '../'; +import api from '../mapshaper.js'; import assert from 'assert'; diff --git a/test/svg-stringify-test.mjs b/test/svg-stringify-test.mjs index 463548a75..e731aec19 100644 --- a/test/svg-stringify-test.mjs +++ b/test/svg-stringify-test.mjs @@ -1,4 +1,4 @@ -import api from '../'; +import api from '../mapshaper.js'; import assert from 'assert'; var SVG = api.internal.svg; diff --git a/test/svg-style-test.mjs b/test/svg-style-test.mjs index a3ddaa028..26a829a2e 100644 --- a/test/svg-style-test.mjs +++ b/test/svg-style-test.mjs @@ -1,4 +1,4 @@ -import api from '../'; +import api from '../mapshaper.js'; import assert from 'assert'; diff --git a/test/svg-symbols-test.mjs b/test/svg-symbols-test.mjs index c8d1b013e..beccba006 100644 --- a/test/svg-symbols-test.mjs +++ b/test/svg-symbols-test.mjs @@ -1,4 +1,4 @@ -import api from '../'; +import api from '../mapshaper.js'; import assert from 'assert'; var svg = api.internal.svg; diff --git a/test/svg-test.mjs b/test/svg-test.mjs index 09ea6a72d..827bf1cd8 100644 --- a/test/svg-test.mjs +++ b/test/svg-test.mjs @@ -1,4 +1,4 @@ -import api from '../'; +import api from '../mapshaper.js'; import assert from 'assert'; var SVG = api.internal.svg; diff --git a/test/symbol-utils-test.mjs b/test/symbol-utils-test.mjs index dfd79f06b..39d2839f4 100644 --- a/test/symbol-utils-test.mjs +++ b/test/symbol-utils-test.mjs @@ -1,6 +1,6 @@ import { findArcCenter } from '../src/symbols/mapshaper-symbol-utils'; -import api from '../'; +import api from '../mapshaper.js'; import assert from 'assert'; diff --git a/test/symbols-test.mjs b/test/symbols-test.mjs index 27779acbf..13cdf1c19 100644 --- a/test/symbols-test.mjs +++ b/test/symbols-test.mjs @@ -1,4 +1,4 @@ -import api from '../'; +import api from '../mapshaper.js'; import assert from 'assert'; diff --git a/test/target-test.mjs b/test/target-test.mjs index eb5931c39..5abde1a90 100644 --- a/test/target-test.mjs +++ b/test/target-test.mjs @@ -1,4 +1,4 @@ -import api from '../'; +import api from '../mapshaper.js'; import assert from 'assert'; diff --git a/test/target-utils-test.mjs b/test/target-utils-test.mjs index 5160ac1d8..f7b7517d2 100644 --- a/test/target-utils-test.mjs +++ b/test/target-utils-test.mjs @@ -1,4 +1,4 @@ -import api from '../'; +import api from '../mapshaper.js'; import assert from 'assert'; diff --git a/test/topojson-import-test.mjs b/test/topojson-import-test.mjs index ee5e3aa23..2129827ad 100644 --- a/test/topojson-import-test.mjs +++ b/test/topojson-import-test.mjs @@ -1,5 +1,5 @@ -import api from '../'; +import api from '../mapshaper.js'; import assert from 'assert'; var TopoJSON = api.internal.topojson, diff --git a/test/topojson-presimplify-test.mjs b/test/topojson-presimplify-test.mjs index c5e4cb66f..d1c24f33c 100644 --- a/test/topojson-presimplify-test.mjs +++ b/test/topojson-presimplify-test.mjs @@ -1,5 +1,5 @@ import assert from 'assert'; -import api from '../'; +import api from '../mapshaper.js'; var topojson = api.internal.topojson; describe('topojson-presimplify.js', function () { diff --git a/test/topojson-split-test.mjs b/test/topojson-split-test.mjs index c192cc3a1..a6f11dc4b 100644 --- a/test/topojson-split-test.mjs +++ b/test/topojson-split-test.mjs @@ -1,5 +1,5 @@ -import api from '../'; +import api from '../mapshaper.js'; import assert from 'assert'; var TopoJSON = api.internal.topojson; diff --git a/test/topojson-test.mjs b/test/topojson-test.mjs index 6ec0b7678..b0e836f04 100644 --- a/test/topojson-test.mjs +++ b/test/topojson-test.mjs @@ -1,5 +1,5 @@ -import api from '../'; +import api from '../mapshaper.js'; import assert from 'assert'; import { fixPath } from './helpers'; var TopoJSON = api.internal.topojson, diff --git a/test/topology-test.mjs b/test/topology-test.mjs index b8e80b836..dcead42b9 100644 --- a/test/topology-test.mjs +++ b/test/topology-test.mjs @@ -1,5 +1,5 @@ import assert from 'assert'; -import api from '../'; +import api from '../mapshaper.js'; var utils = api.utils; function buildPathTopology(nn, xx, yy) { diff --git a/test/undershoots-test.mjs b/test/undershoots-test.mjs index b679ba614..65c813fb9 100644 --- a/test/undershoots-test.mjs +++ b/test/undershoots-test.mjs @@ -1,4 +1,4 @@ -import api from '../'; +import api from '../mapshaper.js'; import assert from 'assert'; var ArcCollection = api.internal.ArcCollection; diff --git a/test/union-test.mjs b/test/union-test.mjs index 755ccf29d..074959181 100644 --- a/test/union-test.mjs +++ b/test/union-test.mjs @@ -1,4 +1,4 @@ -import api from '../'; +import api from '../mapshaper.js'; import assert from 'assert'; import _ from 'underscore'; diff --git a/test/uniq-test.mjs b/test/uniq-test.mjs index abda4d696..a402415e1 100644 --- a/test/uniq-test.mjs +++ b/test/uniq-test.mjs @@ -1,5 +1,5 @@ import assert from 'assert'; -import api from '../'; +import api from '../mapshaper.js'; describe('mapshaper-uniq.js', function () { diff --git a/test/units-test.mjs b/test/units-test.mjs index d49c629c0..cea04bf4e 100644 --- a/test/units-test.mjs +++ b/test/units-test.mjs @@ -1,5 +1,5 @@ -import api from '../'; +import api from '../mapshaper.js'; import assert from 'assert'; import fs from 'fs'; diff --git a/test/utils-test.mjs b/test/utils-test.mjs index e83f5cdb4..aba4cf521 100644 --- a/test/utils-test.mjs +++ b/test/utils-test.mjs @@ -1,4 +1,4 @@ -import api from '../'; +import api from '../mapshaper.js'; import assert from 'assert'; var internal = api.internal, diff --git a/test/variable-simplify-test.mjs b/test/variable-simplify-test.mjs index f03197ded..2629ad741 100644 --- a/test/variable-simplify-test.mjs +++ b/test/variable-simplify-test.mjs @@ -1,5 +1,5 @@ import assert from 'assert'; -import api from '../'; +import api from '../mapshaper.js'; import fs from 'fs'; var utils = api.utils; diff --git a/test/visvalingam-test.mjs b/test/visvalingam-test.mjs index c9d92a6b6..9bc470cef 100644 --- a/test/visvalingam-test.mjs +++ b/test/visvalingam-test.mjs @@ -1,5 +1,5 @@ import assert from 'assert'; -import api from '../'; +import api from '../mapshaper.js'; var v = api.internal.Visvalingam; diff --git a/test/x_clipping_bug.mjs b/test/x_clipping_bug.mjs index e3259b369..c3fb2715a 100644 --- a/test/x_clipping_bug.mjs +++ b/test/x_clipping_bug.mjs @@ -1,5 +1,5 @@ import assert from 'assert'; -import api from '../'; +import api from '../mapshaper.js'; describe('x_clipping_bug', function () { diff --git a/test/zip-test.mjs b/test/zip-test.mjs index 7ae8b3d8d..a18e781d1 100644 --- a/test/zip-test.mjs +++ b/test/zip-test.mjs @@ -1,4 +1,4 @@ -import api from '../'; +import api from '../mapshaper.js'; import assert from 'assert'; import fs from 'fs'; From 38ef6ac8bdb9194160560779ddc6a50974e78238 Mon Sep 17 00:00:00 2001 From: Matthew Bloch Date: Thu, 30 Nov 2023 10:09:21 -0500 Subject: [PATCH 041/509] Add -calc + and -info + options --- src/cli/mapshaper-command-utils.mjs | 3 ++- src/cli/mapshaper-options.mjs | 20 ++++++++++++++---- src/cli/mapshaper-run-command.mjs | 4 ++-- src/commands/mapshaper-calc.mjs | 32 ++++++++++++++++++++++++----- src/commands/mapshaper-info.mjs | 13 +++++++++++- test/calc-test.mjs | 14 +++++++++---- test/info-test.mjs | 11 ++++++++++ 7 files changed, 80 insertions(+), 17 deletions(-) diff --git a/src/cli/mapshaper-command-utils.mjs b/src/cli/mapshaper-command-utils.mjs index 2bc97fd07..2cde709de 100644 --- a/src/cli/mapshaper-command-utils.mjs +++ b/src/cli/mapshaper-command-utils.mjs @@ -6,7 +6,7 @@ import { dissolveArcs } from '../paths/mapshaper-arc-dissolve'; // Apply a command to an array of target layers export function applyCommandToEachLayer(func, targetLayers) { var args = utils.toArray(arguments).slice(2); - return targetLayers.reduce(function(memo, lyr) { + var output = targetLayers.reduce(function(memo, lyr) { var result = func.apply(null, [lyr].concat(args)); if (utils.isArray(result)) { // some commands return an array of layers memo = memo.concat(result); @@ -15,6 +15,7 @@ export function applyCommandToEachLayer(func, targetLayers) { } return memo; }, []); + return output.length > 0 ? output : null; } export function applyCommandToEachTarget(func, targets) { diff --git a/src/cli/mapshaper-options.mjs b/src/cli/mapshaper-options.mjs index 2cc1d9ddc..c06508b5c 100644 --- a/src/cli/mapshaper-options.mjs +++ b/src/cli/mapshaper-options.mjs @@ -14,9 +14,17 @@ export function getOptionParser() { alias: '+', type: 'flag', label: '+, no-replace', // show alias as primary option - // describe: 'retain the original layer(s) instead of replacing' describe: 'retain both input and output layer(s)' }, + nameOpt2 = { // for -calc and -info + describe: 'name the output layer' + }, + noReplaceOpt2 = { // for -calc and -info + alias: '+', + type: 'flag', + label: '+', + describe: 'save output to a new layer' + }, noSnapOpt = { // describe: 'don't snap points before applying command' type: 'flag' @@ -1911,8 +1919,8 @@ export function getOptionParser() { type: 'flag' }) .option('calc', calcOpt) - .option('name', nameOpt) .option('target', targetOpt) + .option('name', nameOpt) .option('no-replace', noReplaceOpt); parser.command('require') @@ -2072,7 +2080,9 @@ export function getOptionParser() { describe: 'functions: sum() average() median() max() min() count()' }) .option('where', whereOpt) - .option('target', targetOpt); + .option('target', targetOpt) + .option('to-layer', noReplaceOpt2) + .option('name', nameOpt2); parser.command('colors') .describe('print list of color scheme names'); @@ -2102,7 +2112,9 @@ export function getOptionParser() { .option('save-to', { describe: 'name of file to save info in JSON format' }) - .option('target', targetOpt); + .option('target', targetOpt) + .option('to-layer', noReplaceOpt2) + .option('name', nameOpt2); parser.command('inspect') .describe('print information about a feature') diff --git a/src/cli/mapshaper-run-command.mjs b/src/cli/mapshaper-run-command.mjs index 3c177aefd..9d5af7ba3 100644 --- a/src/cli/mapshaper-run-command.mjs +++ b/src/cli/mapshaper-run-command.mjs @@ -203,7 +203,7 @@ export async function runCommand(command, job) { applyCommandToEachLayer(cmd.cluster, targetLayers, arcs, opts); } else if (name == 'calc') { - applyCommandToEachLayer(cmd.calc, targetLayers, arcs, opts); + outputDataset = cmd.calc(targetLayers, arcs, opts); } else if (name == 'classify') { applyCommandToEachLayer(cmd.classify, targetLayers, targetDataset, opts); @@ -317,7 +317,7 @@ export async function runCommand(command, job) { cmd.include(opts); } else if (name == 'info') { - cmd.info(targets, opts); + outputDataset = cmd.info(targets, opts); } else if (name == 'inlay') { outputLayers = cmd.inlay(targetLayers, source, targetDataset, opts); diff --git a/src/commands/mapshaper-calc.mjs b/src/commands/mapshaper-calc.mjs index 26cae86c6..a9a6d4a06 100644 --- a/src/commands/mapshaper-calc.mjs +++ b/src/commands/mapshaper-calc.mjs @@ -6,6 +6,20 @@ import cmd from '../mapshaper-cmd'; import utils from '../utils/mapshaper-utils'; import { getStashedVar } from '../mapshaper-stash'; import { message, error, stop } from '../utils/mapshaper-logging'; +import { DataTable } from '../datatable/mapshaper-data-table'; + + +cmd.calc = function(layers, arcs, opts) { + var arr = layers.map(lyr => applyCalcExpression(lyr, arcs, opts)); + if (!opts.to_layer) return null; + return { + info: {}, + layers: [{ + name: opts.name || 'info', + data: new DataTable(arr) + }] + }; +}; // Calculate an expression across a group of features, print and return the result // Supported functions include sum(), average(), max(), min(), median(), count() @@ -14,9 +28,9 @@ import { message, error, stop } from '../utils/mapshaper-logging'; // opts.expression Expression to evaluate // opts.where Optional filter expression (see -filter command) // -cmd.calc = function(lyr, arcs, opts) { +export function applyCalcExpression(lyr, arcs, opts) { var msg = opts.expression, - result, compiled, defs; + result, compiled, defs, d; if (opts.where) { // TODO: implement no_replace option for filter() instead of this lyr = getLayerSelection(lyr, arcs, opts); @@ -27,9 +41,17 @@ cmd.calc = function(lyr, arcs, opts) { defs = getStashedVar('defs'); compiled = compileCalcExpression(lyr, arcs, opts.expression); result = compiled(null, defs); - message(msg + ": " + result); - return result; -}; + if (!opts.to_layer) { + message(msg + ": " + result); + } + d = { + expression: opts.expression, + value: result + }; + if (opts.where) d.where = opts.where; + if (lyr.name) d.layer_name = lyr.name; + return d; +} export function evalCalcExpression(lyr, arcs, exp) { return compileCalcExpression(lyr, arcs, exp)(); diff --git a/src/commands/mapshaper-info.mjs b/src/commands/mapshaper-info.mjs index 6b5ab30f9..072e6699b 100644 --- a/src/commands/mapshaper-info.mjs +++ b/src/commands/mapshaper-info.mjs @@ -9,6 +9,7 @@ import geom from '../geom/mapshaper-geom'; import { message } from '../utils/mapshaper-logging'; import { NodeCollection } from '../topology/mapshaper-nodes'; import cmd from '../mapshaper-cmd'; +import { DataTable } from '../datatable/mapshaper-data-table'; var MAX_RULE_LEN = 50; @@ -17,7 +18,7 @@ cmd.info = function(targets, opts) { var arr = layers.map(function(o) { return getLayerInfo(o.layer, o.dataset); }); - message(formatInfo(arr)); + if (opts.save_to) { var output = [{ filename: opts.save_to + (opts.save_to.endsWith('.json') ? '' : '.json'), @@ -25,6 +26,16 @@ cmd.info = function(targets, opts) { }]; writeFiles(output, opts); } + if (opts.to_layer) { + return { + info: {}, + layers: [{ + name: opts.name || 'info', + data: new DataTable(arr) + }] + }; + } + message(formatInfo(arr)); }; cmd.printInfo = cmd.info; // old name diff --git a/test/calc-test.mjs b/test/calc-test.mjs index 4cb85eb9b..a824f80a3 100644 --- a/test/calc-test.mjs +++ b/test/calc-test.mjs @@ -16,8 +16,14 @@ describe('mapshaper-calc.js', function () { done(); }); }) - }); + it('+ option creates a new layer', async function() { + var data = [{a: 1}, {a: 3}]; + var cmd = 'data.json -calc + "sum(a)" -o out.csv'; + var out = await api.applyCommands(cmd, {'data.json': data}); + assert.equal(out['out.csv'], 'expression,value,layer_name\nsum(a),4,data') + }) + }); describe('evalCalcExpression()', function () { var data1 = [{foo: -1}, {foo: 3}, {foo: 4}], @@ -178,9 +184,9 @@ describe('mapshaper-calc.js', function () { data: new api.internal.DataTable(data2) }; - var result = api.cmd.calc(lyr2, null, - {no_replace: true, expression: 'average(foo)', where: '!!bar'}); - assert.deepEqual(result.data.getRecords(), [{ + var result = api.cmd.calc([lyr2], null, + {to_layer: true, expression: 'average(foo)', where: '!!bar'}); + assert.deepEqual(result.layers[0].data.getRecords(), [{ value: 1, where: '!!bar', expression: 'average(foo)' diff --git a/test/info-test.mjs b/test/info-test.mjs index ef30d4559..a0d627fa9 100644 --- a/test/info-test.mjs +++ b/test/info-test.mjs @@ -3,6 +3,17 @@ import api from '../mapshaper.js'; describe('mapshaper-info.js', function () { + describe('+ option', function() { + it('simple table', async function() { + var data = [{foo: 'bar'}, {foo: 'baz'}]; + var cmd = 'data.json -info + -o format=json'; + var out = await api.applyCommands(cmd, {'data.json': data}); + var d = JSON.parse(out['info.json'])[0]; + assert.equal(d.layer_name, 'data'); + assert.equal(d.feature_count, 2); + }); + + }) describe('save-to option', function() { From b6b20ff16c022d715b0b7a8e8382046461c60d87 Mon Sep 17 00:00:00 2001 From: Matthew Bloch Date: Thu, 30 Nov 2023 10:12:36 -0500 Subject: [PATCH 042/509] v0.6.52 --- CHANGELOG.md | 6 +++++- REFERENCE.md | 10 +++++++--- package-lock.json | 4 ++-- package.json | 4 ++-- 4 files changed, 16 insertions(+), 8 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2679ad073..a76d1d28b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +v0.6.52 +* Added -calc + option, which saves calc output to a new layer. +* Added -info + option, which saves info output to a new layer. + v0.6.51 * Improved support for running applyCommands() api function in a web browser. @@ -17,7 +21,7 @@ v0.6.47 v0.6.46 * Added save to clipboard option to web UI export menu. -* In -each expressions, `this.geojson` setter now accepts nulls and FeatureCollectsions in addition to single Features. +* In -each expressions, `this.geojson` setter now accepts nulls and FeatureCollections in addition to single Features. v0.6.45 * Added -o hoist= option for moving GeoJSON Feature properties to the root of each Feature. diff --git a/REFERENCE.md b/REFERENCE.md index 0b6a86330..18e7e93ea 100644 --- a/REFERENCE.md +++ b/REFERENCE.md @@ -1,6 +1,6 @@ # COMMAND REFERENCE -This documentation applies to version 0.6.47 of mapshaper's command line program. Run `mapshaper -v` to check your version. For an introduction to the command line tool, read [this page](https://github.com/mbloch/mapshaper/wiki/Introduction-to-the-Command-Line-Tool) first. +This documentation applies to version 0.6.52 of mapshaper's command line program. Run `mapshaper -v` to check your version. For an introduction to the command line tool, read [this page](https://github.com/mbloch/mapshaper/wiki/Introduction-to-the-Command-Line-Tool) first. ## Command line syntax @@ -602,6 +602,7 @@ Polygon layers - `this.centroidY` Y-coord of centroid - `this.innerX` X-coord of an interior point (for anchoring symbols or labels) - `this.innerY` Y-coord of an interior point +- `this.perimeter` Perimeter of each feature. For lat-long datasets, returns length in meters. Polyline layers - `this.length` Length of each polyline feature. For lat-long datasets, returns length in meters. @@ -1518,8 +1519,9 @@ mapshaper data.csv \ `` or `expression=` JS expression containing calls to one or more `-calc` functions. `where=` Perform calculations on a subset of records, using a boolean JS expression as a filter (similar to [`-filter`](#-filter) command). - -Common options: `target=` +`+` Save output to a layer. +`name=` Name the output layer (default name is "calc"). +`target=` **Examples** @@ -1559,6 +1561,8 @@ mapshaper mystery_file.json -info ``` `save-to=` Save information to a .json file. +`+` Save output to a layer. +`name=` Name the output layer (default name is "info"). ### -inspect diff --git a/package-lock.json b/package-lock.json index 771258e2a..56037ab48 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "mapshaper", - "version": "0.6.51", + "version": "0.6.52", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "mapshaper", - "version": "0.6.51", + "version": "0.6.52", "license": "MPL-2.0", "dependencies": { "@placemarkio/tokml": "^0.3.3", diff --git a/package.json b/package.json index de8bad3fa..7bda8c5fe 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "mapshaper", - "version": "0.6.51", + "version": "0.6.52", "description": "A tool for editing vector datasets for mapping and GIS.", "keywords": [ "shapefile", @@ -76,7 +76,7 @@ "mocha": { "reporter": "dot", "node-option": [ - "experimental-specifier-resolution=node" + "experimental-loader=./test/_loader.js" ], "check-leaks": true, "parallel": true, From 0b61e92b3e6213bbb01fd8ae3413f9e1ff7dc1f8 Mon Sep 17 00:00:00 2001 From: Matthew Bloch Date: Fri, 1 Dec 2023 16:08:57 -0500 Subject: [PATCH 043/509] Add outer-breaks= option to the -classify command --- REFERENCE.md | 3 ++- .../mapshaper-sequential-classifier.mjs | 17 ++++++++--------- src/cli/mapshaper-options.mjs | 19 ++++++++++--------- test/classify-test.mjs | 19 ++++++++++++++++++- 4 files changed, 38 insertions(+), 20 deletions(-) diff --git a/REFERENCE.md b/REFERENCE.md index 18e7e93ea..448fef671 100644 --- a/REFERENCE.md +++ b/REFERENCE.md @@ -309,7 +309,6 @@ Assign colors or data values to each feature using one of several classification `stops=` A pair of comma-separated numbers (0-100) for limiting the output range of a color ramp. -`range=` A pair of comma-separated numbers giving min and max data values to use when computing class breaks. (By default, the min and max values of the data field being classified are used.) `null-value=` Value (or color) to use for invalid or missing data. @@ -317,6 +316,8 @@ Assign colors or data values to each feature using one of several classification `breaks=` Specify user-defined sequential class breaks (an alternative to automatic classification using `quantile`, `equal-interval`, etc.). +`outer-breaks=` A pair of comma-separated numbers setting min and max breakpoints to use when computing class breaks. This setting overrides the default behavior, which is to use the min and max values of the data field being classified. This setting can be used to prevent extreme data values (outliers) from affecting equal-interval classification. Also useful for setting outside breakpoints for continuous color ramps (when using the `continuous` option). + `method=` Classification method. One of: `quantile`, `equal-interval`, `nice`, `hybrid` (sequential data), `categorical`, `non-adjacent` and `indexed`. This parameter is not required if the classification method can be inferred from other options. For example, the `index-field=` parameter implies indexed classification, the `categories=` parameter implies categorical classification. `quantile` Use quantile classification. Shortcut for `method=quantile`. diff --git a/src/classification/mapshaper-sequential-classifier.mjs b/src/classification/mapshaper-sequential-classifier.mjs index 9146833ff..6bd612b10 100644 --- a/src/classification/mapshaper-sequential-classifier.mjs +++ b/src/classification/mapshaper-sequential-classifier.mjs @@ -20,23 +20,22 @@ export function getSequentialClassifier(classValues, nullValue, dataValues, meth } var ascending = getAscendingNumbers(dataValues); - if (opts.range) { - ascending = applyDataRange(ascending, opts.range); + if (opts.outer_breaks) { + ascending = applyDataRange(ascending, opts.outer_breaks); } var nullCount = dataValues.length - ascending.length; var minVal = ascending[0]; var maxVal = ascending[ascending.length - 1]; - // kludge - var clamp = opts.range ? function(val) { - if (val < opts.range[0]) val = opts.range[0]; - if (val > opts.range[1]) val = opts.range[1]; + var clamp = opts.outer_breaks ? function(val) { + if (val < opts.outer_breaks[0]) val = opts.outer_breaks[0]; + if (val > opts.outer_breaks[1]) val = opts.outer_breaks[1]; return val; } : null; - if (opts.range) { - minVal = opts.range[0]; - maxVal = opts.range[1]; + if (opts.outer_breaks) { + minVal = opts.outer_breaks[0]; + maxVal = opts.outer_breaks[1]; } if (numBreaks === 0) { diff --git a/src/cli/mapshaper-options.mjs b/src/cli/mapshaper-options.mjs index c06508b5c..5ad6cfdb4 100644 --- a/src/cli/mapshaper-options.mjs +++ b/src/cli/mapshaper-options.mjs @@ -317,14 +317,14 @@ export function getOptionParser() { .option('geojson-type', { describe: '[GeoJSON] FeatureCollection, GeometryCollection or Feature' }) - .option('ndjson', { - describe: '[GeoJSON/JSON] output newline-delimited features or records', - type: 'flag' - }) .option('hoist', { describe: '[GeoJSON] move properties to the root level of each Feature', type: 'strings' }) + .option('ndjson', { + describe: '[GeoJSON/JSON] output newline-delimited features or records', + type: 'flag' + }) .option('width', { describe: '[SVG/TopoJSON] pixel width of output (SVG default is 800)', type: 'number' @@ -479,10 +479,6 @@ export function getOptionParser() { describe: 'a pair of values (0-100) for limiting a color ramp', type: 'numbers' }) - .option('range', { - // describe: 'a pair of numbers defining the effective data range', - type: 'numbers' - }) .option('null-value', { describe: 'value (or color) to use for invalid or missing data' }) @@ -509,6 +505,11 @@ export function getOptionParser() { describe: 'user-defined sequential class breaks', type: 'numbers' }) + .option('outer-breaks', { + describe: 'min,max breakpoints, to limit the effect of outliers', + old_alias: 'range', + type: 'numbers' + }) .option('classes', { describe: 'number of classes (can be inferred from other options)', type: 'integer' @@ -518,7 +519,7 @@ export function getOptionParser() { type: 'flag' }) .option('continuous', { - describe: 'output continuous interpolated values (experimental)', + describe: 'output interpolated values, for unclassed colors', type: 'flag' }) .option('index-field', { diff --git a/test/classify-test.mjs b/test/classify-test.mjs index 1d82c1fc1..02f04d631 100644 --- a/test/classify-test.mjs +++ b/test/classify-test.mjs @@ -1,9 +1,26 @@ import api from '../mapshaper.js'; import assert from 'assert'; - describe('mapshaper-classify.js', function () { + describe('classify command', function() { + it('outer-breaks option + equal-interval classification', async function() { + var data = 'value\n0\n3\n5\n7\n10\n100' + // three classes, two inner breaks: 4,6 + var cmd = 'data.csv -classify value outer-breaks=2,8 save-as=type values=a,b,c equal-interval -o format=json'; + var out = await api.applyCommands(cmd, {'data.csv': data}); + var target = [ + {value:0, type: 'a'}, + {value: 3, type: 'a'}, + {value: 5, type: 'b'}, + {value: 7, type: 'c'}, + {value: 10, type: 'c'}, + {value: 100, type: 'c'}]; + assert.deepEqual(JSON.parse(out['data.json']), target) + }); + + }) + describe('categorical colors', function () { it('options use lists of quoted strings', function (done) { var data='plu\nAsian Indian\n"Chinese, except Taiwanese"\nFilipino'; From 23e45f757878c27b71d35c4a460f19ddc195250d Mon Sep 17 00:00:00 2001 From: Matthew Bloch Date: Fri, 1 Dec 2023 16:27:13 -0500 Subject: [PATCH 044/509] v0.6.53 --- CHANGELOG.md | 3 +++ package-lock.json | 9 ++++++--- package.json | 2 +- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a76d1d28b..a10156442 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,6 @@ +v0.6.53 +* Added -classify outer-breaks= option, for limiting the effective data range when calculating equal-interval breaks and continuous color ramps. + v0.6.52 * Added -calc + option, which saves calc output to a new layer. * Added -info + option, which saves info output to a new layer. diff --git a/package-lock.json b/package-lock.json index 56037ab48..791c058e8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "mapshaper", - "version": "0.6.52", + "version": "0.6.53", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "mapshaper", - "version": "0.6.52", + "version": "0.6.53", "license": "MPL-2.0", "dependencies": { "@placemarkio/tokml": "^0.3.3", @@ -510,8 +510,9 @@ }, "node_modules/browserify": { "version": "17.0.0", + "resolved": "https://registry.npmjs.org/browserify/-/browserify-17.0.0.tgz", + "integrity": "sha512-SaHqzhku9v/j6XsQMRxPyBrSP3gnwmE27gLJYZgMT2GeK3J0+0toN+MnuNYDfHwVGQfLiMZ7KSNSIXHemy905w==", "dev": true, - "license": "MIT", "dependencies": { "assert": "^1.4.0", "browser-pack": "^6.0.1", @@ -3956,6 +3957,8 @@ }, "browserify": { "version": "17.0.0", + "resolved": "https://registry.npmjs.org/browserify/-/browserify-17.0.0.tgz", + "integrity": "sha512-SaHqzhku9v/j6XsQMRxPyBrSP3gnwmE27gLJYZgMT2GeK3J0+0toN+MnuNYDfHwVGQfLiMZ7KSNSIXHemy905w==", "dev": true, "requires": { "assert": "^1.4.0", diff --git a/package.json b/package.json index 7bda8c5fe..db61461d9 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "mapshaper", - "version": "0.6.52", + "version": "0.6.53", "description": "A tool for editing vector datasets for mapping and GIS.", "keywords": [ "shapefile", From 3d6df028716d2daa4f2273297c6a9bc5234f5b87 Mon Sep 17 00:00:00 2001 From: Matthew Bloch Date: Mon, 4 Dec 2023 11:06:20 -0500 Subject: [PATCH 045/509] Fix for .gz file false positive --- src/io/mapshaper-file-types.mjs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/io/mapshaper-file-types.mjs b/src/io/mapshaper-file-types.mjs index ebc6e39ae..323ad1e1b 100644 --- a/src/io/mapshaper-file-types.mjs +++ b/src/io/mapshaper-file-types.mjs @@ -74,7 +74,7 @@ export function isKmzFile(file) { } export function isGzipFile(file) { - return /\.gz/i.test(file); + return /\.gz$/i.test(file); } export function isSupportedOutputFormat(fmt) { From 71c94c1077ae8ed752481879e538ef7b39341c1b Mon Sep 17 00:00:00 2001 From: Matthew Bloch Date: Tue, 5 Dec 2023 20:58:54 -0500 Subject: [PATCH 046/509] Add {} delimited template expressions to -run --- REFERENCE.md | 29 +++-- src/cli/mapshaper-options.mjs | 2 +- src/commands/mapshaper-require.mjs | 6 +- src/commands/mapshaper-run.mjs | 35 +---- .../mapshaper-template-expressions.mjs | 123 ++++++++++++++++++ test/run-test.mjs | 4 +- test/template-expressions-test.mjs | 40 ++++++ 7 files changed, 192 insertions(+), 47 deletions(-) create mode 100644 src/expressions/mapshaper-template-expressions.mjs create mode 100644 test/template-expressions-test.mjs diff --git a/REFERENCE.md b/REFERENCE.md index 448fef671..169542574 100644 --- a/REFERENCE.md +++ b/REFERENCE.md @@ -1,6 +1,6 @@ # COMMAND REFERENCE -This documentation applies to version 0.6.52 of mapshaper's command line program. Run `mapshaper -v` to check your version. For an introduction to the command line tool, read [this page](https://github.com/mbloch/mapshaper/wiki/Introduction-to-the-Command-Line-Tool) first. +This documentation applies to version 0.6.53 of mapshaper's command line program. Run `mapshaper -v` to check your version. For an introduction to the command line tool, read [this page](https://github.com/mbloch/mapshaper/wiki/Introduction-to-the-Command-Line-Tool) first. ## Command line syntax @@ -1047,7 +1047,9 @@ $ mapshaper data.json \ Create mapshaper commands on-the-fly and run them. -`` or `expression=` A JS expression for generating one or more mapshaper commands. The expression has access to a "target" object with information about the currently targeted layer, as well as modules loaded with the `-require` command. In v0.6.47, an "io" object was added, with an `io.addInputFile(, )` method, to support importing dynamically generated datasets (see Example 2 below). +`` or `expression=` A JS expression or template containing embedded expressions, for generating one or more mapshaper commands. Expressions can access "target" and "io" objects (see below), as well as functions and data loaded with the `-require` command. + +Embedded expressions are enclosed in curly braces (see example 2 below). Common options: `target=` @@ -1063,29 +1065,38 @@ Expression context: - `target.bbox` GeoJSON-style bounding box - `target.proj4` PROJ-formatted string giving the CRS (coordinate reference system) of the layer -`io` object +`io` object (useful for importing dynamically generated datasets; see example below) - `io.addInputFile(, )` Add JSON data that can be referenced by filename in the command string generated by `-run`. **Example 1:** Apply a custom projection based on the layer extent ```bash -$ mapshaper -i country.shp -require projection.js -run 'getProjCommand(target)' -o +$ mapshaper -i country.shp -require projection.js -run 'getProjCommand(target.bbox)' -o ``` ```javascript // contents of projection.js file module.exports = { - getProjCommand: function(target) { - var clon = (target.bbox[0] + target.bbox[2]) / 2, - clat = (target.bbox[1] + target.bbox[3]) / 2; - return `-proj +proj=tmerc lat_0=${clat} lon_0=${clon}`; + getProjCommand: function(bbox) { + var lon0 = (bbox[0] + bbox[2]) / 2, + lat0 = (bbox[1] + bbox[3]) / 2; + return `-proj +proj=tmerc lat_0=${lat0} lon_0=${lon0}`; } }; +``` +**Example 2:** Use embedded expressions to create a bounding-box and assign it a CRS. +(This is a contrived example -- the `-rectangle` command does these things by default.) + +```bash +$ mapshaper IL.geojson \ + -proj tmerc \ + -run '-rectangle bbox={target.bbox.join(",")} + -proj init="{target.proj4}"' \ + -o bbox.shp ``` -**Example 2:** Import a dynamically generated dataset +**Example 3:** Import a dynamically generated dataset ```bash $ mapshaper -require script.js -run 'importData(io)' -o diff --git a/src/cli/mapshaper-options.mjs b/src/cli/mapshaper-options.mjs index 5ad6cfdb4..efff630d4 100644 --- a/src/cli/mapshaper-options.mjs +++ b/src/cli/mapshaper-options.mjs @@ -1952,7 +1952,7 @@ export function getOptionParser() { .describe('create commands on-the-fly and run them') .option('expression', { DEFAULT: true, - describe: 'JS expression to generate command(s)' + describe: 'JS expression or template to generate command(s)' }) // deprecated .option('commands', {alias_to: 'expression'}) diff --git a/src/commands/mapshaper-require.mjs b/src/commands/mapshaper-require.mjs index a0ebd8866..1ca45c61e 100644 --- a/src/commands/mapshaper-require.mjs +++ b/src/commands/mapshaper-require.mjs @@ -1,5 +1,5 @@ -import { runGlobalExpression } from '../commands/mapshaper-run'; import cmd from '../mapshaper-cmd'; +import { evalTemplateExpression } from '../expressions/mapshaper-template-expressions'; import { stop, getErrorDetail } from '../utils/mapshaper-logging'; import { getStashedVar } from '../mapshaper-stash'; import cli from '../cli/mapshaper-cli-utils'; @@ -7,7 +7,7 @@ import require from '../mapshaper-require'; import api from '../mapshaper-api'; import { isValidExternalCommand } from '../commands/mapshaper-external'; -cmd.require = function(targets, opts) { +cmd.require = async function(targets, opts) { var defs = getStashedVar('defs'); var moduleFile, moduleName, mod; if (!opts.module) { @@ -41,6 +41,6 @@ cmd.require = function(targets, opts) { Object.assign(defs, mod); } if (opts.init) { - runGlobalExpression(opts.init, targets); + await evalTemplateExpression(opts.init, targets); } }; diff --git a/src/commands/mapshaper-run.mjs b/src/commands/mapshaper-run.mjs index f780f1e02..763138fd2 100644 --- a/src/commands/mapshaper-run.mjs +++ b/src/commands/mapshaper-run.mjs @@ -1,30 +1,22 @@ - import { getBaseContext } from '../expressions/mapshaper-expressions'; import { runParsedCommands } from '../cli/mapshaper-run-commands'; import { parseCommands } from '../cli/mapshaper-parse-commands'; import { stop, message } from '../utils/mapshaper-logging'; import utils from '../utils/mapshaper-utils'; -import { getStashedVar } from '../mapshaper-stash'; import cmd from '../mapshaper-cmd'; -import { getTargetProxy } from '../expressions/mapshaper-target-proxy'; import { getIOProxy } from '../expressions/mapshaper-job-proxy'; +import { evalTemplateExpression } from '../expressions/mapshaper-template-expressions'; import { commandTakesFileInput } from '../cli/mapshaper-command-info'; cmd.run = async function(job, targets, opts) { - var tmp, commands; + var tmp, commands, ctx; if (!opts.expression) { stop("Missing expression parameter"); } - + ctx = getBaseContext(); // io proxy adds ability to add datasets dynamically in a required function - var ctx = getBaseContext(); ctx.io = getIOProxy(job); - tmp = runGlobalExpression(opts.expression, targets, ctx); - - // Support async functions as expressions - if (utils.isPromise(tmp)) { - tmp = await tmp; - } + tmp = await evalTemplateExpression(opts.expression, targets, ctx); if (tmp && !utils.isString(tmp)) { stop('Expected a string containing mapshaper commands; received:', tmp); } @@ -42,22 +34,3 @@ cmd.run = async function(job, targets, opts) { await utils.promisify(runParsedCommands)(commands, job); } }; - -// This could return a Promise or a value or nothing -export function runGlobalExpression(expression, targets, ctx) { - ctx = ctx || getBaseContext(); - var output; - // TODO: throw an informative error if target is used when there are multiple targets - if (targets && targets.length == 1) { - Object.defineProperty(ctx, 'target', {value: getTargetProxy(targets[0])}); - } - // Add defined functions and data to the expression context - // (Such as functions imported via the -require command) - utils.extend(ctx, getStashedVar('defs')); - try { - output = Function('ctx', 'with(ctx) {return (' + expression + ');}').call({}, ctx); - } catch(e) { - stop(e.name, 'in JS source:', e.message); - } - return output; -} diff --git a/src/expressions/mapshaper-template-expressions.mjs b/src/expressions/mapshaper-template-expressions.mjs new file mode 100644 index 000000000..9754565a7 --- /dev/null +++ b/src/expressions/mapshaper-template-expressions.mjs @@ -0,0 +1,123 @@ +import { getBaseContext } from '../expressions/mapshaper-expressions'; +import { getStashedVar } from '../mapshaper-stash'; +import { getTargetProxy } from '../expressions/mapshaper-target-proxy'; +import { stop, error } from '../utils/mapshaper-logging'; +import utils from '../utils/mapshaper-utils'; + +// Support for evaluating expressions embedded in curly-brace templates + +// Returns: a string (e.g. a command string used by the -run command) +export async function evalTemplateExpression(expression, targets, ctx) { + ctx = ctx || getBaseContext(); + // TODO: throw an error if target is used when there are multiple targets + if (targets && targets.length == 1) { + Object.defineProperty(ctx, 'target', {value: getTargetProxy(targets[0])}); + } + // Add global functions and data to the expression context + // (e.g. functions imported via the -require command) + var globals = getStashedVar('defs') || {}; + ctx.global = globals; + utils.extend(ctx, ctx.global); + + var output = await compileTemplate(expression, ctx); + if (hasFunctionCall(output, ctx)) { + // also evaluate function calls that are not enclosed in curly braces + // (convenience syntax) + output = await evalExpression(output, ctx); + } + return output; +} + +export async function compileTemplate(template, ctx) { + var subExpressions = parseTemplate(template); + var promises = subExpressions.map(expr => evalExpression(expr, ctx)); + var replacements = await Promise.all(promises); + return applyReplacements(template, replacements); +} + +export async function evalExpression(expression, ctx) { + var output; + try { + output = Function('ctx', 'with(ctx) {return (' + expression + ');}').call({}, ctx); + } catch(e) { + stop(e.name, 'in JS source:', e.message); + } + return output; +} + +// Returns array of 0 or more embedded curly-brace expressions +export function parseTemplate(str) { + var arr = []; + parseTemplateParts(str).forEach(function(s, i) { + if (i % 2 == 1) { + arr.push(s.substring(1, s.length-1)); // remove braces + } + }); + return arr; +} + +// template: template string +// replacements: array of strings or values that can be coerced to strings +export function applyReplacements(template, replacements) { + var parts = parseTemplateParts(template); + return parts.reduce(function(memo, s, i) { + return i % 2 == 1 ? memo + (replacements.shift() || '') : memo + s; + }, ''); +} + +// Divides a string into substrings; even-index strings contain literal strings, +// Odd-indexed strings contain curly-brace-delimited template expressions. +// JSON objects are treated as literal strings; other top-level curly braces are +// assumed to be embedded expressions. +// For example: parseTemplateParts('{"hello"}, world!') => ['', '{"hello"}', ', world!'] +// +export function parseTemplateParts(str) { + // TODO: consider adding \ escapes + var depth=0; + var parts = []; + var part = ''; + var c; + + for (var i=0, n=str.length; i match[1] in defs); +} + +function isValidJSON(str) { + try { + JSON.parse(str); + } catch(e) { + return false; + } + return true; +} diff --git a/test/run-test.mjs b/test/run-test.mjs index d87e6bd8d..831dac30b 100644 --- a/test/run-test.mjs +++ b/test/run-test.mjs @@ -1,7 +1,6 @@ import api from '../mapshaper.js'; import assert from 'assert'; - describe('mapshaper-run.js', function () { describe('-run command', function () { @@ -46,7 +45,6 @@ describe('mapshaper-run.js', function () { }) - it('supports target.geojson getter and io.addInputFile()', async function() { var data = [{foo: 'bar'}, {foo: 'baz'}, {foo: 'bam'}]; var include = '{ \ @@ -78,7 +76,7 @@ describe('mapshaper-run.js', function () { it('does not require a target', async function() { var data = [{foo: 'bar'}]; - var cmd = `-run "'-define n=42'" -i data.json -each 'value = n' -o format=csv`; + var cmd = `-run "-define n=42" -i data.json -each 'value = n' -o format=csv`; var output = await api.applyCommands(cmd, {'data.json': data}); assert.equal(output['data.csv'], 'foo,value\nbar,42'); }) diff --git a/test/template-expressions-test.mjs b/test/template-expressions-test.mjs new file mode 100644 index 000000000..547d4eadd --- /dev/null +++ b/test/template-expressions-test.mjs @@ -0,0 +1,40 @@ +import api from '../mapshaper.js'; +import assert from 'assert'; +import { evalTemplateExpression, parseTemplate, hasFunctionCall, parseTemplateParts } from '../src/expressions/mapshaper-template-expressions'; + +describe('mapshaper-template-expressions.js', function () { + + describe('parseTemplateParts()', function() { + it('test1', function() { + var arr = parseTemplateParts('{1}{"foo":"bar"} {good({})}'); + assert.deepEqual(arr, [ '', '{1}', '{"foo":"bar"} ', '{good({})}', '' ]); + }) + + it('test2', function() { + var arr = parseTemplateParts('-proj {getProj()}'); + assert.deepEqual(arr, [ '-proj ', '{getProj()}', '' ]); + }) + }) + + it('parseTemplate()', function() { + var matches = parseTemplate('{"a"}'); + assert.deepEqual(matches, ['"a"']); + }) + + it('hasFunctionCall()', function() { + assert(hasFunctionCall('doubleMe(1)', {doubleMe: val => 2 * val})) + }) + + describe('evalTemplateExpression()', function() { + it ('interpolates values from expressions enclosed in {}', async function() { + var val = await evalTemplateExpression('1 {2} {"3"} {sum(2, 2)} { sum(5, 0) }', null, { sum: (a, b) => a + b }); + assert.equal(val, '1 2 3 4 5'); + }) + + it ('runs global functions', async function() { + var val = await evalTemplateExpression('doubleMe({1 + 2})', null, {doubleMe: val => 2 * val}); + assert.equal(val, 6); + }) + + }) +}) From 865291a1dfa6375b69522b2ed8699b70263d56d4 Mon Sep 17 00:00:00 2001 From: Matthew Bloch Date: Tue, 5 Dec 2023 21:05:45 -0500 Subject: [PATCH 047/509] Switch to on-demand intersection testing in gui --- src/gui/gui-import-control.mjs | 2 - src/gui/gui-map-utils.mjs | 26 +++++ src/gui/gui-map.mjs | 21 +--- src/gui/gui-repair-control.mjs | 187 +++++++++++++++++++-------------- www/index.html | 23 +--- www/page.css | 17 ++- 6 files changed, 156 insertions(+), 120 deletions(-) diff --git a/src/gui/gui-import-control.mjs b/src/gui/gui-import-control.mjs index 353529486..03d574b99 100644 --- a/src/gui/gui-import-control.mjs +++ b/src/gui/gui-import-control.mjs @@ -368,8 +368,6 @@ export function ImportControl(gui, opts) { } else { var freeform = El('#import-options .advanced-options').node().value; importOpts = GUI.parseFreeformOptions(freeform, 'i'); - importOpts.no_repair = !El("#repair-intersections-opt").node().checked; - // importOpts.snap = !!El("#snap-points-opt").node().checked; } return importOpts; } diff --git a/src/gui/gui-map-utils.mjs b/src/gui/gui-map-utils.mjs index 3c5c382b9..82acad2b3 100644 --- a/src/gui/gui-map-utils.mjs +++ b/src/gui/gui-map-utils.mjs @@ -19,6 +19,32 @@ export function mapNeedsReset(newBounds, prevBounds, viewportBounds, flags) { return false; } +// Test if an update may have affected the visible shape of arcs +// @flags Flags from update event +export function arcsMayHaveChanged(flags) { + return flags.simplify_method || flags.simplify || flags.proj || + flags.arc_count || flags.repair || flags.clip || flags.erase || + flags.slice || flags.affine || flags.rectangle || flags.buffer || + flags.union || flags.mosaic || flags.snap || flags.clean || flags.drop || false; +} + +// check for operations that may change the number of self intersections in the +// target layer. +export function intersectionsMayHaveChanged(flags) { + return arcsMayHaveChanged(flags) || flags.select || flags['merge-layers'] || + flags.filter || flags.dissolve || flags.dissolve2; +} + +// Test if an update allows hover popup to stay open +export function popupCanStayOpen(flags) { + // keeping popup open after -drop geometry causes problems... + // // if (arcsMayHaveChanged(flags)) return false; + if (arcsMayHaveChanged(flags)) return false; + if (flags.points || flags.proj) return false; + if (!flags.same_table) return false; + return true; +} + // Returns proportion of bb2 occupied by bb1 function getIntersectionPct(bb1, bb2) { return getBoundsIntersection(bb1, bb2).area() / bb2.area() || 0; diff --git a/src/gui/gui-map.mjs b/src/gui/gui-map.mjs index 2ffb5b37a..2d27983f8 100644 --- a/src/gui/gui-map.mjs +++ b/src/gui/gui-map.mjs @@ -4,7 +4,7 @@ import { MapNav } from './gui-map-nav'; import { SelectionTool } from './gui-selection-tool'; import { InspectionControl2 } from './gui-inspection-control2'; import { updateLayerStackOrder, filterLayerByIds } from './gui-layer-utils'; -import { mapNeedsReset } from './gui-map-utils'; +import { mapNeedsReset, arcsMayHaveChanged, popupCanStayOpen } from './gui-map-utils'; import { initInteractiveEditing } from './gui-edit-modes'; import { initDrawing } from './gui-drawing'; import * as MapStyle from './gui-map-style'; @@ -264,25 +264,6 @@ export function MshpMap(gui) { }; } - // Test if an update may have affected the visible shape of arcs - // @flags Flags from update event - function arcsMayHaveChanged(flags) { - return flags.simplify_method || flags.simplify || flags.proj || - flags.arc_count || flags.repair || flags.clip || flags.erase || - flags.slice || flags.affine || flags.rectangle || flags.buffer || - flags.union || flags.mosaic || flags.snap || flags.clean || flags.drop || false; - } - - // Test if an update allows hover popup to stay open - function popupCanStayOpen(flags) { - // keeping popup open after -drop geometry causes problems... - // // if (arcsMayHaveChanged(flags)) return false; - if (arcsMayHaveChanged(flags)) return false; - if (flags.points || flags.proj) return false; - if (!flags.same_table) return false; - return true; - } - // Update map frame after user navigates the map in frame edit mode function updateFrameExtent() { diff --git a/src/gui/gui-repair-control.mjs b/src/gui/gui-repair-control.mjs index 32564dfd5..ef3b8a822 100644 --- a/src/gui/gui-repair-control.mjs +++ b/src/gui/gui-repair-control.mjs @@ -1,117 +1,150 @@ import { utils, internal } from './gui-core'; import { EventDispatcher } from './gui-events'; +import { intersectionsMayHaveChanged } from './gui-map-utils'; export function RepairControl(gui) { var map = gui.map, model = gui.model, el = gui.container.findChild(".intersection-display"), readout = el.findChild(".intersection-count"), + checkBtn = el.findChild(".intersection-check"), repairBtn = el.findChild(".repair-btn"), - // keeping a reference to current arcs and intersections, so intersections - // don't need to be recalculated when 'repair' button is pressed. - _currArcs, - _currLayer, - _currXX; + _simplifiedXX, // saved simplified intersections, for repair + _unsimplifiedXX, // saved unsimplified intersection data, for performance + _disabled = false; - gui.on('simplify_drag_start', hide); - gui.on('simplify_drag_end', updateAsync); - - model.on('update', function(e) { - var flags = e.flags; - var intersectionsMayHaveChanged = flags.simplify || flags.proj || - flags.arc_count || flags.snap || flags.affine || flags.points || flags['merge-layers']; - if (intersectionsMayHaveChanged) { - // delete any cached intersection data, to trigger re-calculation - e.dataset._intersections = null; - updateAsync(); - } else if (flags.select) { - // new active layer, but no editing commands were run -- use cached intersections (if available) - updateAsync(); + gui.on('simplify_drag_start', function() { + if (intersectionsAreOn()) { + hide(); } }); + gui.on('simplify_drag_end', function() { + updateAsync(); + }); + + checkBtn.on('click', function() { + checkBtn.hide(); + refreshSync(); + }); + repairBtn.on('click', function() { - _currXX = internal.repairIntersections(_currArcs, _currXX); - showIntersections(); - repairBtn.addClass('disabled'); + var e = model.getActiveLayer(); + if (!_simplifiedXX || !e.dataset.arcs) return; + var xx = _simplifiedXX = internal.repairIntersections(e.dataset.arcs, _simplifiedXX); + showIntersections(xx, e.layer, e.dataset.arcs); + repairBtn.hide(); model.updated({repair: true}); gui.session.simplificationRepair(); }); - function hide() { - el.hide(); - map.setIntersectionLayer(null); + model.on('update', function(e) { + if (!intersectionsAreOn()) { + reset(); // need this? + return; + } + var needRefresh = e.flags.simplify_method || e.flags.simplify || e.flags.repair; + if (needRefresh) { + updateAsync(); + } else if (e.flags.simplify_amount) { + // slider is being dragged - hide readout and dots, retain data + hide(); + } else if (intersectionsMayHaveChanged(e.flags)) { + // intersections may have changed -- reset the display + reset(); + } else { + // keep displaying the current intersections + } + }); + + function intersectionsAreOn() { + return !!(_simplifiedXX || _unsimplifiedXX); + } + + function clearSavedData() { + _simplifiedXX = null; + _unsimplifiedXX = null; + } + + function reset() { + clearSavedData(); + hide(); + if (_disabled) { + return; + } + var e = model.getActiveLayer(); + if (internal.layerHasPaths(e.layer)) { + el.show(); + checkBtn.show(); + readout.hide(); + repairBtn.hide(); + } } - function enabledForDataset(dataset) { - var info = dataset.info || {}; - var opts = info.import_options || {}; - return !opts.no_repair && !info.no_intersections; + function dismissForever() { + _disabled = true; + clearSavedData(); + hide(); } - // Delay intersection calculation, so map can redraw after previous - // operation (e.g. layer load, simplification change) + function hide() { + map.setIntersectionLayer(null); + el.hide(); + } + + // Update intersection display, after a short delay so map can redraw after previous + // operation (e.g. simplification change) function updateAsync() { - reset(); - setTimeout(updateSync, 10); + if (intersectionsAreOn()) { + setTimeout(refreshSync, 10); + } } - function updateSync() { + function refreshSync() { var e = model.getActiveLayer(); - var dataset = e.dataset; - var arcs = dataset && dataset.arcs; - var XX, showBtn; - var opts = { + var arcs = e.dataset && e.dataset.arcs; + var intersectionOpts = { unique: true, tolerance: 0 }; - if (!arcs || !internal.layerHasPaths(e.layer) || !enabledForDataset(dataset)) return; + if (!arcs || !internal.layerHasPaths(e.layer)) { + return; + } if (arcs.getRetainedInterval() > 0) { - // TODO: cache these intersections - XX = internal.findSegmentIntersections(arcs, opts); - showBtn = XX.length > 0; - } else { // no simplification - XX = dataset._intersections; - if (!XX) { - // cache intersections at 0 simplification, to avoid recalculating + _simplifiedXX = internal.findSegmentIntersections(arcs, intersectionOpts); + } else { + // no simplification + _simplifiedXX = null; // clear old simplified XX + if (!_unsimplifiedXX) { + // save intersections at 0 simplification, to avoid recalculating // every time the simplification slider is set to 100% or the layer is selected at 100% - XX = dataset._intersections = internal.findSegmentIntersections(arcs, opts); + _unsimplifiedXX = internal.findSegmentIntersections(arcs, intersectionOpts); } - showBtn = false; } - el.show(); - _currLayer = e.layer; - _currArcs = arcs; - _currXX = XX; - showIntersections(); - repairBtn.classed('disabled', !showBtn); + showIntersections(_simplifiedXX || _unsimplifiedXX, e.layer, arcs); } - function reset() { - _currArcs = null; - _currXX = null; - _currLayer = null; - hide(); - } - - function dismiss() { - var dataset = model.getActiveLayer().dataset; - dataset._intersections = null; - dataset.info.no_intersections = true; - reset(); - } - - function showIntersections() { - var n = _currXX.length, pointLyr; - if (n > 0) { - // console.log("first intersection:", internal.getIntersectionDebugData(XX[0], arcs)); - pointLyr = internal.getIntersectionLayer(_currXX, _currLayer, _currArcs); + function showIntersections(xx, lyr, arcs) { + var pointLyr, count = 0; + el.show(); + readout.show(); + checkBtn.hide(); + if (xx.length > 0) { + pointLyr = internal.getIntersectionLayer(xx, lyr, arcs); + count = internal.countPointsInLayer(pointLyr); + } + if (count == 0) { + map.setIntersectionLayer(null); + readout.html('No self-intersections'); + } else { map.setIntersectionLayer(pointLyr, {layers:[pointLyr]}); - readout.html(utils.format('%s line intersection%s ', n, utils.pluralSuffix(n))); - readout.findChild('.close-btn').on('click', dismiss); + readout.html(utils.format('%s line intersection%s ', count, utils.pluralSuffix(count))); + readout.findChild('.close-btn').on('click', dismissForever); + } + if (_simplifiedXX && count > 0) { + repairBtn.show(); } else { - map.setIntersectionLayer(null); - readout.html(''); + repairBtn.hide(); } } } diff --git a/www/index.html b/www/index.html index e4a58469a..1b994fa5d 100644 --- a/www/index.html +++ b/www/index.html @@ -276,27 +276,11 @@

Files

-
-

Options

- -
-
?
- -
Detect line intersections, including -self-intersections, to help identify -topological errors in a dataset.
- - -
- +
+

Options

-
+
?
Enter options from the command line @@ -324,6 +308,7 @@

Options

+
Check line intersections
0 line intersections
Repair
diff --git a/www/page.css b/www/page.css index dd3cf57b1..fc0933d2d 100644 --- a/www/page.css +++ b/www/page.css @@ -468,6 +468,11 @@ body.dragover #import-options-drop-area .drop-area { margin: 0 0 5px 0; } +::placeholder { + color: #aaa; + opacity: 1; +} + #mshp-not-supported { display: none; @@ -958,6 +963,10 @@ img.close-btn:hover, vertical-align: middle; } +.intersection-check { + display: none; +} + .intersection-count .icon { background-color: #F24400; display: inline-block; @@ -966,6 +975,10 @@ img.close-btn:hover, margin: 0 5px 2px 0; } +.intersection-count .icon.black { + background-color: black; +} + .intersection-count .close-btn { width: 16px; height: 16px; @@ -975,9 +988,9 @@ img.close-btn:hover, margin-left: 2px; } -.intersection-display .text-btn.disabled { +/*.intersection-display .text-btn.disabled { visibility: hidden; -} +}*/ /* --- Popup -------------------- */ From 794c3268f51e3f34f5f7a3f84b3fe3fa8d358288 Mon Sep 17 00:00:00 2001 From: Matthew Bloch Date: Tue, 5 Dec 2023 21:09:17 -0500 Subject: [PATCH 048/509] v0.6.54 --- CHANGELOG.md | 4 ++++ package-lock.json | 4 ++-- package.json | 2 +- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a10156442..d20b6be3c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +v0.6.54 +* Only check for line self-intersections in web UI if user clicks the "Check line intersections" label. +* Added support for curly-bracket delimited expressions to -run command strings. + v0.6.53 * Added -classify outer-breaks= option, for limiting the effective data range when calculating equal-interval breaks and continuous color ramps. diff --git a/package-lock.json b/package-lock.json index 791c058e8..d23627f65 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "mapshaper", - "version": "0.6.53", + "version": "0.6.54", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "mapshaper", - "version": "0.6.53", + "version": "0.6.54", "license": "MPL-2.0", "dependencies": { "@placemarkio/tokml": "^0.3.3", diff --git a/package.json b/package.json index db61461d9..b9bd4cc42 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "mapshaper", - "version": "0.6.53", + "version": "0.6.54", "description": "A tool for editing vector datasets for mapping and GIS.", "keywords": [ "shapefile", From 28434960655b0615fccb8b56545c240e8399c5e4 Mon Sep 17 00:00:00 2001 From: Matthew Bloch Date: Wed, 6 Dec 2023 11:29:19 -0500 Subject: [PATCH 049/509] Improvements to gui intersection tool --- REFERENCE.md | 2 +- src/gui/gui-el.mjs | 3 +- src/gui/gui-repair-control.mjs | 54 +++++++++++++++++++--------------- test/info-test.mjs | 1 - www/index.html | 5 ++-- www/page.css | 8 ++--- 6 files changed, 38 insertions(+), 35 deletions(-) diff --git a/REFERENCE.md b/REFERENCE.md index 169542574..e8f10764b 100644 --- a/REFERENCE.md +++ b/REFERENCE.md @@ -1,6 +1,6 @@ # COMMAND REFERENCE -This documentation applies to version 0.6.53 of mapshaper's command line program. Run `mapshaper -v` to check your version. For an introduction to the command line tool, read [this page](https://github.com/mbloch/mapshaper/wiki/Introduction-to-the-Command-Line-Tool) first. +This documentation applies to version 0.6.54 of mapshaper's command line program. Run `mapshaper -v` to check your version. For an introduction to the command line tool, read [this page](https://github.com/mbloch/mapshaper/wiki/Introduction-to-the-Command-Line-Tool) first. ## Command line syntax diff --git a/src/gui/gui-el.mjs b/src/gui/gui-el.mjs index d2f3c4a24..e35fd3555 100644 --- a/src/gui/gui-el.mjs +++ b/src/gui/gui-el.mjs @@ -194,8 +194,9 @@ utils.extend(El.prototype, { }, show: function(css) { + var tag = this.el && this.el.tagName; if (!this.visible()) { - this.css('display:block;'); + this.css('display', tag == 'SPAN' ? 'inline-block' : 'block'); this._hidden = false; } return this; diff --git a/src/gui/gui-repair-control.mjs b/src/gui/gui-repair-control.mjs index ef3b8a822..cf52bc0c0 100644 --- a/src/gui/gui-repair-control.mjs +++ b/src/gui/gui-repair-control.mjs @@ -11,7 +11,10 @@ export function RepairControl(gui) { repairBtn = el.findChild(".repair-btn"), _simplifiedXX, // saved simplified intersections, for repair _unsimplifiedXX, // saved unsimplified intersection data, for performance - _disabled = false; + _disabled = false, + _on = false; + + el.findChild('.close-btn').on('click', dismissForever); gui.on('simplify_drag_start', function() { if (intersectionsAreOn()) { @@ -20,19 +23,20 @@ export function RepairControl(gui) { }); gui.on('simplify_drag_end', function() { - updateAsync(); + updateSync('simplify_drag_end'); }); checkBtn.on('click', function() { checkBtn.hide(); - refreshSync(); + _on = true; + updateSync(); }); repairBtn.on('click', function() { var e = model.getActiveLayer(); if (!_simplifiedXX || !e.dataset.arcs) return; - var xx = _simplifiedXX = internal.repairIntersections(e.dataset.arcs, _simplifiedXX); - showIntersections(xx, e.layer, e.dataset.arcs); + _simplifiedXX = internal.repairIntersections(e.dataset.arcs, _simplifiedXX); + showIntersections(_simplifiedXX, e.layer, e.dataset.arcs); repairBtn.hide(); model.updated({repair: true}); gui.session.simplificationRepair(); @@ -43,7 +47,8 @@ export function RepairControl(gui) { reset(); // need this? return; } - var needRefresh = e.flags.simplify_method || e.flags.simplify || e.flags.repair; + var needRefresh = e.flags.simplify_method || e.flags.simplify || + e.flags.repair || e.flags.clean; if (needRefresh) { updateAsync(); } else if (e.flags.simplify_amount) { @@ -58,17 +63,18 @@ export function RepairControl(gui) { }); function intersectionsAreOn() { - return !!(_simplifiedXX || _unsimplifiedXX); + return _on && !_disabled; } - function clearSavedData() { + function turnOff() { + hide(); + _on = false; _simplifiedXX = null; _unsimplifiedXX = null; } function reset() { - clearSavedData(); - hide(); + turnOff(); if (_disabled) { return; } @@ -83,8 +89,7 @@ export function RepairControl(gui) { function dismissForever() { _disabled = true; - clearSavedData(); - hide(); + turnOff(); } function hide() { @@ -95,12 +100,11 @@ export function RepairControl(gui) { // Update intersection display, after a short delay so map can redraw after previous // operation (e.g. simplification change) function updateAsync() { - if (intersectionsAreOn()) { - setTimeout(refreshSync, 10); - } + setTimeout(updateSync, 10); } - function refreshSync() { + function updateSync(action) { + if (!intersectionsAreOn()) return; var e = model.getActiveLayer(); var arcs = e.dataset && e.dataset.arcs; var intersectionOpts = { @@ -111,13 +115,14 @@ export function RepairControl(gui) { return; } if (arcs.getRetainedInterval() > 0) { + // simplification _simplifiedXX = internal.findSegmentIntersections(arcs, intersectionOpts); } else { // no simplification - _simplifiedXX = null; // clear old simplified XX - if (!_unsimplifiedXX) { - // save intersections at 0 simplification, to avoid recalculating - // every time the simplification slider is set to 100% or the layer is selected at 100% + _simplifiedXX = null; // clear any old simplified XX + if (_unsimplifiedXX && action == 'simplify_drag_end') { + // re-use previously generated intersection data (optimization) + } else { _unsimplifiedXX = internal.findSegmentIntersections(arcs, intersectionOpts); } } @@ -125,7 +130,7 @@ export function RepairControl(gui) { } function showIntersections(xx, lyr, arcs) { - var pointLyr, count = 0; + var pointLyr, count = 0, html; el.show(); readout.show(); checkBtn.hide(); @@ -135,12 +140,13 @@ export function RepairControl(gui) { } if (count == 0) { map.setIntersectionLayer(null); - readout.html('No self-intersections'); + html = 'No self-intersections'; } else { map.setIntersectionLayer(pointLyr, {layers:[pointLyr]}); - readout.html(utils.format('%s line intersection%s ', count, utils.pluralSuffix(count))); - readout.findChild('.close-btn').on('click', dismissForever); + html = utils.format('%s line intersection%s', count, utils.pluralSuffix(count)); } + readout.html(html); + if (_simplifiedXX && count > 0) { repairBtn.show(); } else { diff --git a/test/info-test.mjs b/test/info-test.mjs index a0d627fa9..0c2e52f60 100644 --- a/test/info-test.mjs +++ b/test/info-test.mjs @@ -12,7 +12,6 @@ describe('mapshaper-info.js', function () { assert.equal(d.layer_name, 'data'); assert.equal(d.feature_count, 2); }); - }) describe('save-to option', function() { diff --git a/www/index.html b/www/index.html index 1b994fa5d..19145af3e 100644 --- a/www/index.html +++ b/www/index.html @@ -308,9 +308,10 @@

Options

-
Check line intersections
-
0 line intersections
+ Check line intersections0 line intersections +
Repair
+
diff --git a/www/page.css b/www/page.css index fc0933d2d..1d5d87c08 100644 --- a/www/page.css +++ b/www/page.css @@ -959,10 +959,6 @@ img.close-btn:hover, left: 13px; } -.intersection-count { - vertical-align: middle; -} - .intersection-check { display: none; } @@ -979,13 +975,13 @@ img.close-btn:hover, background-color: black; } -.intersection-count .close-btn { +.intersection-display .close-btn { width: 16px; height: 16px; cursor: pointer; position: relative; top: 4px; - margin-left: 2px; + margin-left: 1px; } /*.intersection-display .text-btn.disabled { From 6bcde188dff7caaead67b39900ba90064ec90d3a Mon Sep 17 00:00:00 2001 From: Matthew Bloch Date: Wed, 6 Dec 2023 12:21:48 -0500 Subject: [PATCH 050/509] v0.6.55 --- CHANGELOG.md | 3 +++ REFERENCE.md | 8 ++++++++ package-lock.json | 4 ++-- package.json | 2 +- 4 files changed, 14 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d20b6be3c..eeb4eab40 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,6 @@ +v0.6.55 +* Improvements to the web UI intersections tool. + v0.6.54 * Only check for line self-intersections in web UI if user clicks the "Check line intersections" label. * Added support for curly-bracket delimited expressions to -run command strings. diff --git a/REFERENCE.md b/REFERENCE.md index e8f10764b..ff2bd2a1c 100644 --- a/REFERENCE.md +++ b/REFERENCE.md @@ -849,6 +849,13 @@ Common options: `name=` `+` `target=` mapshaper counties.shp -lines STATE_FIPS -o boundaries.shp ``` +```bash +# Example: add the names of neighboring countries to each section of border +mapshaper countries.geojson \ + -lines each='COUNTRIES = A.NAME + (B ? "," + B.NAME : "")' \ + -o borders.geojson +``` + ### -merge-layers @@ -1111,6 +1118,7 @@ module.exports = { return `-i data.json`; } }; +``` ### -shape diff --git a/package-lock.json b/package-lock.json index d23627f65..0ec6d8ced 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "mapshaper", - "version": "0.6.54", + "version": "0.6.55", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "mapshaper", - "version": "0.6.54", + "version": "0.6.55", "license": "MPL-2.0", "dependencies": { "@placemarkio/tokml": "^0.3.3", diff --git a/package.json b/package.json index b9bd4cc42..0244e2c94 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "mapshaper", - "version": "0.6.54", + "version": "0.6.55", "description": "A tool for editing vector datasets for mapping and GIS.", "keywords": [ "shapefile", From 95adea0fa19696141a09428357e32066b6dbc6b5 Mon Sep 17 00:00:00 2001 From: Matthew Bloch Date: Wed, 6 Dec 2023 17:44:51 -0500 Subject: [PATCH 051/509] reference --- REFERENCE.md | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/REFERENCE.md b/REFERENCE.md index ff2bd2a1c..6bd31734a 100644 --- a/REFERENCE.md +++ b/REFERENCE.md @@ -1054,9 +1054,12 @@ $ mapshaper data.json \ Create mapshaper commands on-the-fly and run them. -`` or `expression=` A JS expression or template containing embedded expressions, for generating one or more mapshaper commands. Expressions can access "target" and "io" objects (see below), as well as functions and data loaded with the `-require` command. +`` or `expression=` A JS expression or template containing embedded expressions, for generating one or more mapshaper commands. -Embedded expressions are enclosed in curly braces (see example 2 below). +* Embedded expressions are enclosed in curly braces (see example 2 below). +* Expressions can access "target" and "io" objects (see below). +* Expressions can also access functions and data loaded with the `-require` command. +* Functions can be async. Common options: `target=` From 41f6624f381ddccc0bf6beef609890466daf1e22 Mon Sep 17 00:00:00 2001 From: Matthew Bloch Date: Wed, 6 Dec 2023 17:46:10 -0500 Subject: [PATCH 052/509] reference --- REFERENCE.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/REFERENCE.md b/REFERENCE.md index 6bd31734a..db7d84246 100644 --- a/REFERENCE.md +++ b/REFERENCE.md @@ -1055,13 +1055,14 @@ $ mapshaper data.json \ Create mapshaper commands on-the-fly and run them. `` or `expression=` A JS expression or template containing embedded expressions, for generating one or more mapshaper commands. + +Common options: `target=` * Embedded expressions are enclosed in curly braces (see example 2 below). * Expressions can access "target" and "io" objects (see below). * Expressions can also access functions and data loaded with the `-require` command. * Functions can be async. -Common options: `target=` Expression context: From c594a614203b511f0f6be5d86341bcabbb6ef84b Mon Sep 17 00:00:00 2001 From: Matthew Bloch Date: Wed, 6 Dec 2023 17:46:58 -0500 Subject: [PATCH 053/509] reference --- REFERENCE.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/REFERENCE.md b/REFERENCE.md index db7d84246..e475d18b7 100644 --- a/REFERENCE.md +++ b/REFERENCE.md @@ -1055,11 +1055,11 @@ $ mapshaper data.json \ Create mapshaper commands on-the-fly and run them. `` or `expression=` A JS expression or template containing embedded expressions, for generating one or more mapshaper commands. - + Common options: `target=` * Embedded expressions are enclosed in curly braces (see example 2 below). -* Expressions can access "target" and "io" objects (see below). +* Expressions can access `target` and `io` objects (see below). * Expressions can also access functions and data loaded with the `-require` command. * Functions can be async. From fc1a56c5a77392f555a487972acc625e1d37aa8d Mon Sep 17 00:00:00 2001 From: Matthew Bloch Date: Wed, 6 Dec 2023 18:10:15 -0500 Subject: [PATCH 054/509] reference --- REFERENCE.md | 53 ++++++++++++++++++++++++++-------------------------- 1 file changed, 26 insertions(+), 27 deletions(-) diff --git a/REFERENCE.md b/REFERENCE.md index e475d18b7..cf98bb8c2 100644 --- a/REFERENCE.md +++ b/REFERENCE.md @@ -1058,8 +1058,8 @@ Create mapshaper commands on-the-fly and run them. Common options: `target=` -* Embedded expressions are enclosed in curly braces (see example 2 below). -* Expressions can access `target` and `io` objects (see below). +* Embedded expressions are enclosed in curly braces (see below). +* Expressions can access `target` and `io` objects. * Expressions can also access functions and data loaded with the `-require` command. * Functions can be async. @@ -1083,44 +1083,43 @@ Expression context: **Example 1:** Apply a custom projection based on the layer extent ```bash -$ mapshaper -i country.shp -require projection.js -run 'getProjCommand(target.bbox)' -o +$ mapshaper -i country.shp -require projection.js -run '-proj {tmerc(target.bbox)}' -o ``` ```javascript // contents of projection.js file -module.exports = { - getProjCommand: function(bbox) { - var lon0 = (bbox[0] + bbox[2]) / 2, - lat0 = (bbox[1] + bbox[3]) / 2; - return `-proj +proj=tmerc lat_0=${lat0} lon_0=${lon0}`; - } +module.exports.tmerc = function(bbox) { + var lon0 = (bbox[0] + bbox[2]) / 2, + lat0 = (bbox[1] + bbox[3]) / 2; + return `+proj=tmerc lat_0=${lat0} lon_0=${lon0}`; }; ``` -**Example 2:** Use embedded expressions to create a bounding-box and assign it a CRS. -(This is a contrived example -- the `-rectangle` command does these things by default.) +**Example 2:** Convert points to a Voronoi diagram ```bash -$ mapshaper IL.geojson \ - -proj tmerc \ - -run '-rectangle bbox={target.bbox.join(",")} + -proj init="{target.proj4}"' \ - -o bbox.shp -``` - -**Example 3:** Import a dynamically generated dataset - -```bash -$ mapshaper -require script.js -run 'importData(io)' -o +$ mapshaper -i points.geojson -require script.js -run '-i {voronoi(target, io)}' -o ``` ```javascript // contents of script.js file -module.exports = { - importData: function(io) { - var data = [{"foo": "bar"}]; - io.addInputFile('data.json', data); - return `-i data.json`; - } +module.exports.voronoi = async function(target, io) { + const d3 = await import('d3-delaunay'); // installed locally + const points = target.geojson; // assume 'Point' geometry + const coords = input.features.map(feat => feat.geometry.coordinates); + const voronoi = d3.Delaunay.from(coords).voronoi(target.bbox); // constrain to data bounds + const features = Array.from(voronoi.cellPolygons()).map(function(ring, i) { + return { + type: 'Feature', + properties: points.features[i].properties, + geometry: { + type: 'Polygon', + coordinates: [ring] + } + }; + }); + io.addInputFile('polygons.json', {type: 'FeatureCollection', features: features}) + return 'polygons.json'; }; ``` From 6fddcfded32c76d096864dd26336038d2fcccd87 Mon Sep 17 00:00:00 2001 From: Matthew Bloch Date: Thu, 7 Dec 2023 13:34:40 -0500 Subject: [PATCH 055/509] Add support for importing ES modules using -require --- src/commands/mapshaper-require.mjs | 30 +++++++++++++-------- test/data/features/require/test_module2.mjs | 4 +++ test/require-test.mjs | 28 ++++++++++++------- 3 files changed, 42 insertions(+), 20 deletions(-) create mode 100644 test/data/features/require/test_module2.mjs diff --git a/src/commands/mapshaper-require.mjs b/src/commands/mapshaper-require.mjs index 1ca45c61e..98bedf7c1 100644 --- a/src/commands/mapshaper-require.mjs +++ b/src/commands/mapshaper-require.mjs @@ -7,9 +7,9 @@ import require from '../mapshaper-require'; import api from '../mapshaper-api'; import { isValidExternalCommand } from '../commands/mapshaper-external'; -cmd.require = async function(targets, opts) { - var defs = getStashedVar('defs'); - var moduleFile, moduleName, mod; +cmd.require = async function(opts) { + var globals = getStashedVar('defs'); + var moduleFile, moduleName, mod, err; if (!opts.module) { stop("Missing module name or path to module"); } @@ -24,23 +24,31 @@ cmd.require = async function(targets, opts) { moduleFile = require('path').join(process.cwd(), moduleFile); } try { - mod = require(moduleFile || moduleName); + // import CJS and ES modules + mod = await import(moduleFile || moduleName); + if (mod.default) { + mod = mod.default; + } if (typeof mod == 'function') { - // -require now includes the functionality of the old -external command + // assuming that functions are mapshpaper command generators... + // this MUST be changed asap. var retn = mod(api); if (retn && isValidExternalCommand(retn)) { cmd.registerCommand(retn.name, retn); } } } catch(e) { - stop('Unable to load external module:', e.message, getErrorDetail(e)); + if (!mod) { + stop('Unable to load external module:', e.message, getErrorDetail(e)); + } } if (moduleName || opts.alias) { - defs[opts.alias || moduleName] = mod; + globals[opts.alias || moduleName] = mod; } else { - Object.assign(defs, mod); - } - if (opts.init) { - await evalTemplateExpression(opts.init, targets); + Object.assign(globals, mod); } + // instead of an init expression, you could use -run + // if (opts.init) { + // await evalTemplateExpression(opts.init, targets); + // } }; diff --git a/test/data/features/require/test_module2.mjs b/test/data/features/require/test_module2.mjs new file mode 100644 index 000000000..bef87821b --- /dev/null +++ b/test/data/features/require/test_module2.mjs @@ -0,0 +1,4 @@ + +export function wc(str) { + return str.trim().split(/\s+/).length; +} \ No newline at end of file diff --git a/test/require-test.mjs b/test/require-test.mjs index d8e2508dc..198c3987a 100644 --- a/test/require-test.mjs +++ b/test/require-test.mjs @@ -5,6 +5,15 @@ import assert from 'assert'; describe('mapshaper-require.js', function () { describe('-require command', function () { + it('import a .mjs file (ES module file)', async function() { + var json = [{foo: 'A quick brown fox jumps over the lazy dog'}]; + var file = 'test/data/features/require/test_module2.mjs'; + var cmd = `data.json -require ${file} -each "count = wc(foo)" -o`; + var out = await api.applyCommands(cmd, {'data.json': json}); + var result = JSON.parse(out['data.json']); + assert.deepEqual(result, [{foo: 'A quick brown fox jumps over the lazy dog', count: 9}]) + }) + it('define a new command and run it', async function() { var json = [{foo: 'bar'}]; var script = 'test/data/features/require/command1.js'; @@ -58,14 +67,15 @@ describe('mapshaper-require.js', function () { assert.deepEqual(JSON.parse(out['out.json']), [{foo: 'a', str: true}, {foo: 'b', str: true}]); }) - it('-require a module file and initialize it', function(done) { - var json = [{foo: 'bar'}]; - var cmd = '-i in.json name=info -require test/data/features/require/test_module.js \ - init="setName(target.layer.name)" -each "layer_name = getName()" -o out.json'; - api.applyCommands(cmd, {'in.json': json}, function(err, result) { - assert.deepEqual(JSON.parse(result['out.json']), [{foo: 'bar', layer_name: 'info'}]); - done(); - }); - }); + // init was removed; use -run instead + // it('-require a module file and initialize it', function(done) { + // var json = [{foo: 'bar'}]; + // var cmd = '-i in.json name=info -require test/data/features/require/test_module.js \ + // init="setName(target.layer.name)" -each "layer_name = getName()" -o out.json'; + // api.applyCommands(cmd, {'in.json': json}, function(err, result) { + // assert.deepEqual(JSON.parse(result['out.json']), [{foo: 'bar', layer_name: 'info'}]); + // done(); + // }); + // }); }) }) From 6ccbddcb0ab0794b050c96c2b243a17ea922c824 Mon Sep 17 00:00:00 2001 From: Matthew Bloch Date: Thu, 7 Dec 2023 13:35:33 -0500 Subject: [PATCH 056/509] Refactor expression functions --- src/buffer/mapshaper-buffer-common.mjs | 2 +- src/cli/mapshaper-options.mjs | 21 +- src/cli/mapshaper-run-command.mjs | 8 +- src/commands/mapshaper-affine.mjs | 2 +- src/commands/mapshaper-calc.mjs | 2 +- src/commands/mapshaper-dashlines.mjs | 2 +- src/commands/mapshaper-define.mjs | 2 +- src/commands/mapshaper-each.mjs | 2 +- src/commands/mapshaper-filter.mjs | 2 +- src/commands/mapshaper-innerlines.mjs | 2 +- src/commands/mapshaper-inspect.mjs | 2 +- src/commands/mapshaper-lines.mjs | 2 +- src/commands/mapshaper-run.mjs | 5 +- src/commands/mapshaper-sort.mjs | 2 +- src/commands/mapshaper-split.mjs | 2 +- src/commands/mapshaper-svg-style.mjs | 2 +- src/commands/mapshaper-uniq.mjs | 2 +- src/dataset/mapshaper-command-utils.mjs | 2 - src/dissolve/mapshaper-point-dissolve.mjs | 2 +- src/expressions/mapshaper-expressions.mjs | 230 ++---------------- .../mapshaper-feature-expressions.mjs | 188 ++++++++++++++ .../mapshaper-layer-expressions.mjs | 1 - src/join/mapshaper-join-filter.mjs | 2 +- src/mapshaper-internal.mjs | 2 + src/simplify/mapshaper-variable-simplify.mjs | 2 +- src/svg/svg-properties.mjs | 2 +- src/utils/mapshaper-logging.mjs | 7 + test/expressions-test.mjs | 28 +-- 28 files changed, 271 insertions(+), 257 deletions(-) create mode 100644 src/expressions/mapshaper-feature-expressions.mjs diff --git a/src/buffer/mapshaper-buffer-common.mjs b/src/buffer/mapshaper-buffer-common.mjs index b7bf8913f..a5d8d4d65 100644 --- a/src/buffer/mapshaper-buffer-common.mjs +++ b/src/buffer/mapshaper-buffer-common.mjs @@ -1,4 +1,4 @@ -import { compileValueExpression } from '../expressions/mapshaper-expressions'; +import { compileValueExpression } from '../expressions/mapshaper-feature-expressions'; import { getDatasetCRS } from '../crs/mapshaper-projections'; import { convertDistanceParam } from '../geom/mapshaper-units'; import { parseMeasure2 } from '../geom/mapshaper-units'; diff --git a/src/cli/mapshaper-options.mjs b/src/cli/mapshaper-options.mjs index efff630d4..396723fb7 100644 --- a/src/cli/mapshaper-options.mjs +++ b/src/cli/mapshaper-options.mjs @@ -1835,11 +1835,12 @@ export function getOptionParser() { describe: 'use field values to calculate data island weights' }); - parser.command('external') - .option('module', { - DEFAULT: true, - describe: 'name of Node module containing the command' - }); + // replaced by -require + // parser.command('external') + // .option('module', { + // DEFAULT: true, + // describe: 'name of Node module containing the command' + // }); parser.command('filter-points') // .describe('remove points that are not part of a group') @@ -1925,17 +1926,17 @@ export function getOptionParser() { .option('no-replace', noReplaceOpt); parser.command('require') - .describe('require a Node module for use in -each expressions') + .describe('require a Node module or ES module to use in JS expressions') .option('module', { DEFAULT: true, - describe: 'name of Node module or path to module file' + describe: 'name of installed module or path to module file' }) .option('alias', { describe: 'Set the module name to an alias' - }) - .option('init', { - describe: 'JS expression to run after the module loads' }); + // .option('init', { + // describe: 'JS expression to run after the module loads' + // }); parser.command('rotate') // .describe('apply d3-style 3-axis rotation to a lat-long dataset') diff --git a/src/cli/mapshaper-run-command.mjs b/src/cli/mapshaper-run-command.mjs index 9d5af7ba3..1b81efe54 100644 --- a/src/cli/mapshaper-run-command.mjs +++ b/src/cli/mapshaper-run-command.mjs @@ -251,9 +251,9 @@ export async function runCommand(command, job) { } else if (name == 'explode') { outputLayers = applyCommandToEachLayer(cmd.explodeFeatures, targetLayers, arcs, opts); - } else if (name == 'external') { - // -require now incorporates -external - cmd.require(targets, opts); + // -require now incorporates functionality of -external + // } else if (name == 'external') { + // cmd.require(targets, opts); } else if (name == 'filter') { outputLayers = applyCommandToEachLayer(cmd.filterFeatures, targetLayers, arcs, opts); @@ -395,7 +395,7 @@ export async function runCommand(command, job) { cmd.renameLayers(targetLayers, opts.names, job.catalog); } else if (name == 'require') { - cmd.require(targets, opts); + await cmd.require(opts); } else if (name == 'rotate') { targets.forEach(function(targ) { diff --git a/src/commands/mapshaper-affine.mjs b/src/commands/mapshaper-affine.mjs index 00f001df7..9380243a7 100644 --- a/src/commands/mapshaper-affine.mjs +++ b/src/commands/mapshaper-affine.mjs @@ -3,7 +3,7 @@ import { forEachArcId } from '../paths/mapshaper-path-utils'; import { getDatasetBounds } from '../dataset/mapshaper-dataset-utils'; import { forEachPoint } from '../points/mapshaper-point-utils'; import { countArcsInShapes } from '../paths/mapshaper-path-utils'; -import { compileValueExpression } from '../expressions/mapshaper-expressions'; +import { compileValueExpression } from '../expressions/mapshaper-feature-expressions'; import { layerHasGeometry } from '../dataset/mapshaper-layer-utils'; import { getDatasetCRS } from '../crs/mapshaper-projections'; import { convertIntervalPair } from '../geom/mapshaper-units'; diff --git a/src/commands/mapshaper-calc.mjs b/src/commands/mapshaper-calc.mjs index a9a6d4a06..038ece2e9 100644 --- a/src/commands/mapshaper-calc.mjs +++ b/src/commands/mapshaper-calc.mjs @@ -1,4 +1,4 @@ -import { compileFeatureExpression } from '../expressions/mapshaper-expressions'; +import { compileFeatureExpression } from '../expressions/mapshaper-feature-expressions'; import { getLayerBounds, getFeatureCount } from '../dataset/mapshaper-layer-utils'; import { getMode } from '../utils/mapshaper-calc-utils'; import { getLayerSelection } from '../dataset/mapshaper-command-utils'; diff --git a/src/commands/mapshaper-dashlines.mjs b/src/commands/mapshaper-dashlines.mjs index fa46b39a1..f93e32098 100644 --- a/src/commands/mapshaper-dashlines.mjs +++ b/src/commands/mapshaper-dashlines.mjs @@ -5,7 +5,7 @@ import { convertDistanceParam } from '../geom/mapshaper-units'; import { isLatLngCRS , getDatasetCRS } from '../crs/mapshaper-projections'; import { requirePolylineLayer, getFeatureCount } from '../dataset/mapshaper-layer-utils'; import { getFeatureEditor } from '../expressions/mapshaper-each-geojson'; -import { compileFeatureExpression, compileValueExpression } from '../expressions/mapshaper-expressions'; +import { compileFeatureExpression, compileValueExpression } from '../expressions/mapshaper-feature-expressions'; import { replaceLayerContents } from '../dataset/mapshaper-dataset-utils'; import { greatCircleDistance, distance2D } from '../geom/mapshaper-basic-geom'; import { getInterpolationFunction } from '../geom/mapshaper-geodesic'; diff --git a/src/commands/mapshaper-define.mjs b/src/commands/mapshaper-define.mjs index 55cb29af5..371646361 100644 --- a/src/commands/mapshaper-define.mjs +++ b/src/commands/mapshaper-define.mjs @@ -1,7 +1,7 @@ import cmd from '../mapshaper-cmd'; import { getStashedVar } from '../mapshaper-stash'; import { message, error, stop } from '../utils/mapshaper-logging'; -import { compileFeatureExpression } from '../expressions/mapshaper-expressions'; +import { compileFeatureExpression } from '../expressions/mapshaper-feature-expressions'; import { compileLayerExpression } from '../expressions/mapshaper-layer-expressions'; /* diff --git a/src/commands/mapshaper-each.mjs b/src/commands/mapshaper-each.mjs index 63bca5575..ed9ac174a 100644 --- a/src/commands/mapshaper-each.mjs +++ b/src/commands/mapshaper-each.mjs @@ -1,4 +1,4 @@ -import { compileFeatureExpression, compileValueExpression } from '../expressions/mapshaper-expressions'; +import { compileFeatureExpression, compileValueExpression } from '../expressions/mapshaper-feature-expressions'; import { getFeatureCount } from '../dataset/mapshaper-layer-utils'; import { DataTable } from '../datatable/mapshaper-data-table'; import { expressionUsesGeoJSON, getFeatureEditor } from '../expressions/mapshaper-each-geojson'; diff --git a/src/commands/mapshaper-filter.mjs b/src/commands/mapshaper-filter.mjs index 909ab545d..74174804b 100644 --- a/src/commands/mapshaper-filter.mjs +++ b/src/commands/mapshaper-filter.mjs @@ -1,5 +1,5 @@ import { getBBoxIntersectionTest } from '../commands/mapshaper-filter-geom'; -import { compileValueExpression } from '../expressions/mapshaper-expressions'; +import { compileValueExpression } from '../expressions/mapshaper-feature-expressions'; import { getOutputLayer, getFeatureCount, copyLayer } from '../dataset/mapshaper-layer-utils'; import utils from '../utils/mapshaper-utils'; import cmd from '../mapshaper-cmd'; diff --git a/src/commands/mapshaper-innerlines.mjs b/src/commands/mapshaper-innerlines.mjs index aa53f6c30..08b4fa0bc 100644 --- a/src/commands/mapshaper-innerlines.mjs +++ b/src/commands/mapshaper-innerlines.mjs @@ -1,7 +1,7 @@ import { createLineLayer } from '../commands/mapshaper-lines'; import { extractInnerLines } from '../commands/mapshaper-lines'; import { getArcClassifier } from '../topology/mapshaper-arc-classifier'; -import { compileFeaturePairFilterExpression } from '../expressions/mapshaper-expressions'; +import { compileFeaturePairFilterExpression } from '../expressions/mapshaper-feature-expressions'; import { requirePolygonLayer, setOutputLayerName } from '../dataset/mapshaper-layer-utils'; import cmd from '../mapshaper-cmd'; import { message } from '../utils/mapshaper-logging'; diff --git a/src/commands/mapshaper-inspect.mjs b/src/commands/mapshaper-inspect.mjs index f2bf74790..3a510c7b3 100644 --- a/src/commands/mapshaper-inspect.mjs +++ b/src/commands/mapshaper-inspect.mjs @@ -1,4 +1,4 @@ -import { compileValueExpression } from '../expressions/mapshaper-expressions'; +import { compileValueExpression } from '../expressions/mapshaper-feature-expressions'; import { getFeatureCount } from '../dataset/mapshaper-layer-utils'; import { getAttributeTableInfo, formatAttributeTableInfo } from '../commands/mapshaper-info'; import geom from '../geom/mapshaper-geom'; diff --git a/src/commands/mapshaper-lines.mjs b/src/commands/mapshaper-lines.mjs index bb59c26f2..f57554b36 100644 --- a/src/commands/mapshaper-lines.mjs +++ b/src/commands/mapshaper-lines.mjs @@ -1,5 +1,5 @@ import { traversePaths, getArcPresenceTest } from '../paths/mapshaper-path-utils'; -import { compileFeaturePairExpression, compileFeaturePairFilterExpression } from '../expressions/mapshaper-expressions'; +import { compileFeaturePairExpression, compileFeaturePairFilterExpression } from '../expressions/mapshaper-feature-expressions'; import { requireDataField, requirePolygonLayer, requirePointLayer, getLayerBounds, setOutputLayerName } from '../dataset/mapshaper-layer-utils'; import { getArcClassifier } from '../topology/mapshaper-arc-classifier'; import { forEachPoint } from '../points/mapshaper-point-utils'; diff --git a/src/commands/mapshaper-run.mjs b/src/commands/mapshaper-run.mjs index 763138fd2..2e374bb7d 100644 --- a/src/commands/mapshaper-run.mjs +++ b/src/commands/mapshaper-run.mjs @@ -1,7 +1,7 @@ import { getBaseContext } from '../expressions/mapshaper-expressions'; import { runParsedCommands } from '../cli/mapshaper-run-commands'; import { parseCommands } from '../cli/mapshaper-parse-commands'; -import { stop, message } from '../utils/mapshaper-logging'; +import { stop, message, truncateString } from '../utils/mapshaper-logging'; import utils from '../utils/mapshaper-utils'; import cmd from '../mapshaper-cmd'; import { getIOProxy } from '../expressions/mapshaper-job-proxy'; @@ -21,7 +21,8 @@ cmd.run = async function(job, targets, opts) { stop('Expected a string containing mapshaper commands; received:', tmp); } if (tmp) { - message(`command: [${tmp}]`); + // truncate message (command might include a large GeoJSON string in an -i command) + message(`command: [${truncateString(tmp, 150)}]`); commands = parseCommands(tmp); // TODO: remove duplication with mapshaper-run-commands.mjs diff --git a/src/commands/mapshaper-sort.mjs b/src/commands/mapshaper-sort.mjs index 4747a63b0..1103b90c8 100644 --- a/src/commands/mapshaper-sort.mjs +++ b/src/commands/mapshaper-sort.mjs @@ -1,4 +1,4 @@ -import { compileValueExpression } from '../expressions/mapshaper-expressions'; +import { compileValueExpression } from '../expressions/mapshaper-feature-expressions'; import { getFeatureCount } from '../dataset/mapshaper-layer-utils'; import cmd from '../mapshaper-cmd'; import utils from '../utils/mapshaper-utils'; diff --git a/src/commands/mapshaper-split.mjs b/src/commands/mapshaper-split.mjs index bc0fb7871..3cc491d53 100644 --- a/src/commands/mapshaper-split.mjs +++ b/src/commands/mapshaper-split.mjs @@ -1,4 +1,4 @@ -import { compileValueExpression } from '../expressions/mapshaper-expressions'; +import { compileValueExpression } from '../expressions/mapshaper-feature-expressions'; import { getFeatureCount, copyLayer } from '../dataset/mapshaper-layer-utils'; import cmd from '../mapshaper-cmd'; import utils from '../utils/mapshaper-utils'; diff --git a/src/commands/mapshaper-svg-style.mjs b/src/commands/mapshaper-svg-style.mjs index 5a1b65dbd..1a54d8a2b 100644 --- a/src/commands/mapshaper-svg-style.mjs +++ b/src/commands/mapshaper-svg-style.mjs @@ -1,6 +1,6 @@ import { getLayerDataTable, getFeatureCount } from '../dataset/mapshaper-layer-utils'; import { getSymbolPropertyAccessor } from '../svg/svg-properties'; -import { compileValueExpression } from '../expressions/mapshaper-expressions'; +import { compileValueExpression } from '../expressions/mapshaper-feature-expressions'; import { initDataTable } from '../dataset/mapshaper-layer-utils'; import { isSupportedSvgStyleProperty } from '../svg/svg-properties'; import cmd from '../mapshaper-cmd'; diff --git a/src/commands/mapshaper-uniq.mjs b/src/commands/mapshaper-uniq.mjs index f2924d233..fce6454ff 100644 --- a/src/commands/mapshaper-uniq.mjs +++ b/src/commands/mapshaper-uniq.mjs @@ -1,4 +1,4 @@ -import { compileValueExpression } from '../expressions/mapshaper-expressions'; +import { compileValueExpression } from '../expressions/mapshaper-feature-expressions'; import { getFeatureCount } from '../dataset/mapshaper-layer-utils'; import { message } from '../utils/mapshaper-logging'; import utils from '../utils/mapshaper-utils'; diff --git a/src/dataset/mapshaper-command-utils.mjs b/src/dataset/mapshaper-command-utils.mjs index 42dbb6dd4..29d7d6e01 100644 --- a/src/dataset/mapshaper-command-utils.mjs +++ b/src/dataset/mapshaper-command-utils.mjs @@ -1,5 +1,3 @@ - -import { compileValueExpression } from '../expressions/mapshaper-expressions'; import utils from '../utils/mapshaper-utils'; import cmd from '../mapshaper-cmd'; import { error } from '../utils/mapshaper-logging'; diff --git a/src/dissolve/mapshaper-point-dissolve.mjs b/src/dissolve/mapshaper-point-dissolve.mjs index 172c585c0..fc36f4e90 100644 --- a/src/dissolve/mapshaper-point-dissolve.mjs +++ b/src/dissolve/mapshaper-point-dissolve.mjs @@ -1,5 +1,5 @@ import { countMultiPartFeatures } from '../dataset/mapshaper-layer-utils'; -import { compileValueExpression } from '../expressions/mapshaper-expressions'; +import { compileValueExpression } from '../expressions/mapshaper-feature-expressions'; import { getLayerBounds } from '../dataset/mapshaper-layer-utils'; import { probablyDecimalDegreeBounds } from '../geom/mapshaper-latlon'; import geom from '../geom/mapshaper-geom'; diff --git a/src/expressions/mapshaper-expressions.mjs b/src/expressions/mapshaper-expressions.mjs index 4c7435a89..ace20ae72 100644 --- a/src/expressions/mapshaper-expressions.mjs +++ b/src/expressions/mapshaper-expressions.mjs @@ -1,123 +1,6 @@ - -import { addFeatureExpressionUtils, cleanExpression } from '../expressions/mapshaper-expression-utils'; -import { initFeatureProxy } from '../expressions/mapshaper-feature-proxy'; -import { addLayerGetters } from '../expressions/mapshaper-layer-proxy'; -import { initDataTable } from '../dataset/mapshaper-layer-utils'; import utils from '../utils/mapshaper-utils'; -import { message, stop } from '../utils/mapshaper-logging'; -import { getStashedVar } from '../mapshaper-stash'; - -// Compiled expression returns a value -export function compileValueExpression(exp, lyr, arcs, opts) { - opts = opts || {}; - opts.returns = true; - return compileFeatureExpression(exp, lyr, arcs, opts); -} - - -export function compileFeaturePairFilterExpression(exp, lyr, arcs) { - var func = compileFeaturePairExpression(exp, lyr, arcs); - return function(idA, idB) { - var val = func(idA, idB); - if (val !== true && val !== false) { - stop("where expression must return true or false"); - } - return val; - }; -} - -export function compileFeaturePairExpression(rawExp, lyr, arcs) { - var exp = cleanExpression(rawExp); - // don't add layer data to the context - // (fields are not added to the pair expression context) - var ctx = getExpressionContext({}); - var getA = getProxyFactory(lyr, arcs); - var getB = getProxyFactory(lyr, arcs); - var vars = getAssignedVars(exp); - var functionBody = "with($$env){with($$record){return " + exp + "}}"; - var func; - - try { - func = new Function("$$record,$$env", functionBody); - } catch(e) { - console.error(e); - stop(e.name, "in expression [" + exp + "]"); - } - - // protect global object from assigned values - nullifyUnsetProperties(vars, ctx); - - function getProxyFactory(lyr, arcs) { - var records = lyr.data ? lyr.data.getRecords() : []; - var getFeatureById = initFeatureProxy(lyr, arcs); - function Proxy() {} - - return function(id) { - var proxy; - if (id == -1) return null; - Proxy.prototype = records[id] || {}; - proxy = new Proxy(); - proxy.$ = getFeatureById(id); - return proxy; - }; - } +import { stop } from '../utils/mapshaper-logging'; - // idA - id of a record - // idB - id of a record, or -1 - // rec - optional data record - return function(idA, idB, rec) { - var val; - ctx.A = getA(idA); - ctx.B = getB(idB); - if (rec) { - // initialize new fields to null so assignments work - nullifyUnsetProperties(vars, rec); - } - try { - val = func.call(ctx, rec || {}, ctx); - } catch(e) { - stop(e.name, "in expression [" + exp + "]:", e.message); - } - return val; - }; -} - -export function compileFeatureExpression(rawExp, lyr, arcs, opts_) { - var opts = utils.extend({}, opts_), - exp = cleanExpression(rawExp || ''), - mutable = !opts.no_assign, // block assignment expressions - vars = getAssignedVars(exp), - func, records; - - if (mutable && vars.length > 0 && !lyr.data) { - initDataTable(lyr); - } - - if (!mutable) { - // protect global object from assigned values - opts.context = opts.context || {}; - nullifyUnsetProperties(vars, opts.context); - } - - records = lyr.data ? lyr.data.getRecords() : []; - func = getExpressionFunction(exp, lyr, arcs, opts); - - // @destRec (optional) substitute for records[recId] (used by -calc) - return function(recId, destRec) { - var record; - if (destRec) { - record = destRec; - } else { - record = records[recId] || (records[recId] = {}); - } - - // initialize new fields to null so assignments work - if (mutable) { - nullifyUnsetProperties(vars, record); - } - return func(record, recId); - }; -} // Return array of variables on the left side of assignment operations // @hasDot (bool) Return property assignments via dot notation @@ -134,17 +17,30 @@ export function getAssignedVars(exp, hasDot) { // Return array of objects with properties assigned via dot notation // e.g. 'd.value = 45' -> ['d'] -export function getAssignmentObjects(exp) { - var matches = getAssignedVars(exp, true), - names = []; - matches.forEach(function(s) { - var match = /^([^.]+)\.[^.]+$/.exec(s); - var name = match ? match[1] : null; - if (name && name != 'this') { - names.push(name); +// export function getAssignmentObjects(exp) { +// var matches = getAssignedVars(exp, true), +// names = []; +// matches.forEach(function(s) { +// var match = /^([^.]+)\.[^.]+$/.exec(s); +// var name = match ? match[1] : null; +// if (name && name != 'this') { +// names.push(name); +// } +// }); +// return utils.uniq(names); +// } + +export function getExpressionFunction(exp, opts) { + var func = compileExpressionToFunction(exp, opts); + return function(rec, ctx) { + var val; + try { + val = func.call(ctx.$, rec, ctx); + } catch(e) { + stop(e.name, "in expression [" + exp + "]:", e.message); } - }); - return utils.uniq(names); + return val; + }; } export function compileExpressionToFunction(exp, opts) { @@ -166,84 +62,6 @@ export function compileExpressionToFunction(exp, opts) { return func; } -function getExpressionFunction(exp, lyr, arcs, opts) { - var getFeatureById = initFeatureProxy(lyr, arcs, opts); - var layerOnlyProxy = addLayerGetters({}, lyr, arcs); - var ctx = getExpressionContext(lyr, opts.context, opts); - var func = compileExpressionToFunction(exp, opts); - return function(rec, i) { - var val; - // Assigning feature/layer proxy to '$' -- maybe this should be removed, - // since it is also exposed as "this". - // (kludge) i is undefined in calc expressions ... we still - // may need layer data (but not single-feature data) - ctx.$ = i >= 0 ? getFeatureById(i) : layerOnlyProxy; - ctx._ = ctx; // provide access to functions when masked by variable names - ctx.d = rec || null; // expose data properties a la d3 (also exposed as this.properties) - try { - val = func.call(ctx.$, rec, ctx); - } catch(e) { - // if (opts.quiet) throw e; - stop(e.name, "in expression [" + exp + "]:", e.message); - } - return val; - }; -} - -function nullifyUnsetProperties(vars, obj) { - for (var i=0; i 0) { - // default to null values, so assignments to missing data properties - // are applied to the data record, not the global object - nullifyUnsetProperties(fields, env); - } - // Add global 'defs' to the expression context - mixins = utils.defaults(mixins || {}, defs); - // also add defs as 'global' object - env.global = defs; - Object.keys(mixins).forEach(function(key) { - // Catch name collisions between data fields and user-defined functions - var d = Object.getOwnPropertyDescriptor(mixins, key); - if (d.get) { - // copy accessor function from mixins to context - Object.defineProperty(ctx, key, {get: d.get}); // copy getter function to context - } else { - // copy regular property from mixins to context, but make it non-writable - Object.defineProperty(ctx, key, {value: mixins[key]}); - } - }); - // make context properties non-writable, so they can't be replaced by an expression - return Object.keys(env).reduce(function(memo, key) { - if (key in memo) { - // property has already been set (probably by a mixin, above): skip - // "no_warn" option used in calc= expressions - if (!opts.no_warn) { - if (typeof memo[key] == 'function' && fields.indexOf(key) > -1) { - message('Warning: ' + key + '() function is hiding a data field with the same name'); - } else { - message('Warning: "' + key + '" has multiple definitions'); - } - } - } else { - Object.defineProperty(memo, key, {value: env[key]}); // writable: false is default - } - return memo; - }, ctx); -} - export function getBaseContext(ctx) { ctx = ctx || {}; // Mask global properties (is this effective/worth doing?) diff --git a/src/expressions/mapshaper-feature-expressions.mjs b/src/expressions/mapshaper-feature-expressions.mjs new file mode 100644 index 000000000..96d3f106a --- /dev/null +++ b/src/expressions/mapshaper-feature-expressions.mjs @@ -0,0 +1,188 @@ +import { addFeatureExpressionUtils, cleanExpression } from '../expressions/mapshaper-expression-utils'; +import { initFeatureProxy } from '../expressions/mapshaper-feature-proxy'; +import { addLayerGetters } from '../expressions/mapshaper-layer-proxy'; +import { initDataTable } from '../dataset/mapshaper-layer-utils'; +import utils from '../utils/mapshaper-utils'; +import { message, stop } from '../utils/mapshaper-logging'; +import { getStashedVar } from '../mapshaper-stash'; +import { getAssignedVars, getExpressionFunction, getBaseContext} + from './mapshaper-expressions'; + +// Compiled expression returns a value +export function compileValueExpression(exp, lyr, arcs, opts) { + opts = opts || {}; + opts.returns = true; + return compileFeatureExpression(exp, lyr, arcs, opts); +} + +export function compileFeaturePairFilterExpression(exp, lyr, arcs) { + var func = compileFeaturePairExpression(exp, lyr, arcs); + return function(idA, idB) { + var val = func(idA, idB); + if (val !== true && val !== false) { + stop("where expression must return true or false"); + } + return val; + }; +} + +export function compileFeaturePairExpression(rawExp, lyr, arcs) { + var exp = cleanExpression(rawExp); + // don't add layer data to the context + // (fields are not added to the pair expression context) + var ctx = getFeatureExpressionContext({}); + var getA = getProxyFactory(lyr, arcs); + var getB = getProxyFactory(lyr, arcs); + var vars = getAssignedVars(exp); + var functionBody = "with($$env){with($$record){return " + exp + "}}"; + var func; + + // protect global object from assigned values + nullifyUnsetProperties(vars, ctx); + + try { + func = new Function("$$record,$$env", functionBody); + } catch(e) { + console.error(e); + stop(e.name, "in expression [" + exp + "]"); + } + + function getProxyFactory(lyr, arcs) { + var records = lyr.data ? lyr.data.getRecords() : []; + var getFeatureById = initFeatureProxy(lyr, arcs); + function Proxy() {} + + return function(id) { + var proxy; + if (id == -1) return null; + Proxy.prototype = records[id] || {}; + proxy = new Proxy(); + proxy.$ = getFeatureById(id); + return proxy; + }; + } + + // idA - id of a record + // idB - id of a record, or -1 + // rec - optional data record + return function(idA, idB, rec) { + var val; + ctx.A = getA(idA); + ctx.B = getB(idB); + if (rec) { + // initialize new fields to null so assignments work + nullifyUnsetProperties(vars, rec); + } + try { + val = func.call(ctx, rec || {}, ctx); + } catch(e) { + stop(e.name, "in expression [" + exp + "]:", e.message); + } + return val; + }; +} + +export function compileFeatureExpression(rawExp, lyr, arcs, optsArg) { + var opts = optsArg || {}, + ctx = opts.context || {}, + exp = cleanExpression(rawExp || ''), + mutable = !opts.no_assign, // block assignment expressions + vars = getAssignedVars(exp); + + if (mutable && vars.length > 0 && !lyr.data) { + initDataTable(lyr); + } + + if (!mutable) { + // protect global object from assigned values + nullifyUnsetProperties(vars, ctx); + } + + var records = lyr.data ? lyr.data.getRecords() : []; + var getFeatureById = initFeatureProxy(lyr, arcs, opts); + var layerOnlyProxy = addLayerGetters({}, lyr, arcs); + var func = getExpressionFunction(exp, opts); + ctx = getFeatureExpressionContext(lyr, ctx, opts); + + // recId: index of a data record in the records array. + // destRec: (optional argument, used by -calc) an object used to capture assignments + // By default, assignments are captured by records[recId] + // + return function(recId, destRec) { + var rec; + if (destRec) { + rec = destRec; + } else { + rec = records[recId] || (records[recId] = {}); + } + // Assigning feature/layer proxy to '$' ... ctx.$ is also exposed as 'this' + // in the expression context. + ctx.$ = recId >= 0 ? getFeatureById(recId) : layerOnlyProxy; + // "_" is used as an alias for the expression context, so functions can still + // be used when masked by variables of the same name. + ctx._ = ctx; + // Expose data properties using "d", like d3 does. (data propertries are + // also available as "this.properties") + ctx.d = rec || null; + + if (mutable) { + // initialize assigned variables to rec.null so rec can capture them + nullifyUnsetProperties(vars, rec); + } + return func(rec, ctx); + }; +} + +function getFeatureExpressionContext(lyr, mixins, opts) { + var defs = getStashedVar('defs'); + var env = getBaseContext(); + var ctx = {}; + var fields = lyr.data ? lyr.data.getFields() : []; + opts = opts || {}; + addFeatureExpressionUtils(env); // mix in round(), sprintf(), etc. + if (fields.length > 0) { + // default to null values, so assignments to missing data properties + // are applied to the data record, not the global object + nullifyUnsetProperties(fields, env); + } + // Add global 'defs' to the expression context + mixins = utils.defaults(mixins || {}, defs); + // also add defs as 'global' object + env.global = defs; + Object.keys(mixins).forEach(function(key) { + // Catch name collisions between data fields and user-defined functions + var d = Object.getOwnPropertyDescriptor(mixins, key); + if (d.get) { + // copy accessor function from mixins to context + Object.defineProperty(ctx, key, {get: d.get}); // copy getter function to context + } else { + // copy regular property from mixins to context, but make it non-writable + Object.defineProperty(ctx, key, {value: mixins[key]}); + } + }); + // make context properties non-writable, so they can't be replaced by an expression + return Object.keys(env).reduce(function(memo, key) { + if (key in memo) { + // property has already been set (probably by a mixin, above): skip + // "no_warn" option used in calc= expressions + if (!opts.no_warn) { + if (typeof memo[key] == 'function' && fields.indexOf(key) > -1) { + message('Warning: ' + key + '() function is hiding a data field with the same name'); + } else { + message('Warning: "' + key + '" has multiple definitions'); + } + } + } else { + Object.defineProperty(memo, key, {value: env[key]}); // writable: false is default + } + return memo; + }, ctx); +} + +function nullifyUnsetProperties(vars, obj) { + for (var i=0; i maxLen) { + str = str.substring(0, maxLen - 3).trimEnd() + '...'; + } + return str; +} diff --git a/test/expressions-test.mjs b/test/expressions-test.mjs index 8b9e4feea..85be9ad2e 100644 --- a/test/expressions-test.mjs +++ b/test/expressions-test.mjs @@ -91,19 +91,19 @@ describe('mapshaper-expressions.js', function () { }) - describe('getAssignmentObjects()', function() { - it('capture names of objects', function () { - assert.deepEqual( - api.internal.getAssignmentObjects('d.a = "a", d.b = "b", a.c = "c"'), - ['d', 'a']); - }) - - it('ignore this. assignments', function () { - assert.deepEqual( - api.internal.getAssignmentObjects('d.a = "a", this.coordinates = [[0, 0]], this.properties.a = "b"'), - ['d']); - }) - - }) + // REMOVED + // describe('getAssignmentObjects()', function() { + // it('capture names of objects', function () { + // assert.deepEqual( + // api.internal.getAssignmentObjects('d.a = "a", d.b = "b", a.c = "c"'), + // ['d', 'a']); + // }) + + // it('ignore this. assignments', function () { + // assert.deepEqual( + // api.internal.getAssignmentObjects('d.a = "a", this.coordinates = [[0, 0]], this.properties.a = "b"'), + // ['d']); + // }) + // }) }) From 3512682464fa94dadb5d815504e43228363d1237 Mon Sep 17 00:00:00 2001 From: Matthew Bloch Date: Thu, 7 Dec 2023 13:44:36 -0500 Subject: [PATCH 057/509] v0.6.56 --- CHANGELOG.md | 4 ++++ REFERENCE.md | 24 +++++++++++++++--------- package-lock.json | 4 ++-- package.json | 2 +- www/index.html | 2 +- 5 files changed, 23 insertions(+), 13 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index eeb4eab40..b160f34f3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +v0.6.56 +* Added support for importing ES modules using the -require command. +* Removed the -require init= function. + v0.6.55 * Improvements to the web UI intersections tool. diff --git a/REFERENCE.md b/REFERENCE.md index cf98bb8c2..03eb03b5f 100644 --- a/REFERENCE.md +++ b/REFERENCE.md @@ -1034,20 +1034,26 @@ mapshaper ne_50m_rivers_lake_centerlines.shp ne_50m_land.shp combine-files \ ### -require -Require a Node module for use in commands like `-each` and `-run`. Required modules are added to the expression context. Named expressions are accessed via thair names or aliases. Unnamed modules have their exported properties added to the expression context. +Require a Node module or ES module for use in commands like `-each` and `-run`. Modules are added to the expression context. When the `alias=` option is given, modules are accessed via their aliases. Modules that are imported by name (e.g. `-require d3`) are accessed via their name, or by their alias if the `alias=` option is used. Module files without an alias name have their exported functions and data added directly to the expression context. -`` or `module=` Name of a Node module or path to a module file. +`` or `module=` Name of an installed module or path to a module file. -`alias=` Use an alias for a named module or module file. - -`init=` JS expression to run after the module loads. +`alias=` Import the module as a custom-named variable. ```bash -# Example: use the underscore module +# Example: use the underscore module (which has been installed locally) $ mapshaper data.json \ -require underscore alias=_ \ -each 'id = _.uniqueId()' \ - -o data.json force + -o data2.json +``` + +```bash +# Example: import a module file containing a user-defined function +$ mapshaper data.json \ + -require scripts/includes.mjs \ + -each 'displayname = getDisplayName(d)' \ + -o data2.json ``` ### -run @@ -1089,9 +1095,9 @@ $ mapshaper -i country.shp -require projection.js -run '-proj {tmerc(target.bbox ```javascript // contents of projection.js file module.exports.tmerc = function(bbox) { - var lon0 = (bbox[0] + bbox[2]) / 2, + var lon0 = (bbox[0] + bbox[2]) / 2, lat0 = (bbox[1] + bbox[3]) / 2; - return `+proj=tmerc lat_0=${lat0} lon_0=${lon0}`; + return `+proj=tmerc lat_0=${lat0} lon_0=${lon0}`; }; ``` diff --git a/package-lock.json b/package-lock.json index 0ec6d8ced..918fc0da5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "mapshaper", - "version": "0.6.55", + "version": "0.6.56", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "mapshaper", - "version": "0.6.55", + "version": "0.6.56", "license": "MPL-2.0", "dependencies": { "@placemarkio/tokml": "^0.3.3", diff --git a/package.json b/package.json index 0244e2c94..2be7bc5eb 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "mapshaper", - "version": "0.6.55", + "version": "0.6.56", "description": "A tool for editing vector datasets for mapping and GIS.", "keywords": [ "shapefile", diff --git a/www/index.html b/www/index.html index 19145af3e..af47b22bc 100644 --- a/www/index.html +++ b/www/index.html @@ -309,7 +309,7 @@

Options

Check line intersections0 line intersections - +
Repair
From 0762e1f9ba86de54e826faa065c05f7362740214 Mon Sep 17 00:00:00 2001 From: Matthew Bloch Date: Thu, 7 Dec 2023 17:49:11 -0500 Subject: [PATCH 058/509] Make rollup re-bundle when mapshaper version changes --- REFERENCE.md | 2 +- package-lock.json | 98 +++++++++++++++++++++++++++++- package.json | 1 + rollup.config.js | 6 +- src/cli/mapshaper-run-commands.mjs | 3 +- 5 files changed, 102 insertions(+), 8 deletions(-) diff --git a/REFERENCE.md b/REFERENCE.md index 03eb03b5f..42966d8a5 100644 --- a/REFERENCE.md +++ b/REFERENCE.md @@ -1,6 +1,6 @@ # COMMAND REFERENCE -This documentation applies to version 0.6.54 of mapshaper's command line program. Run `mapshaper -v` to check your version. For an introduction to the command line tool, read [this page](https://github.com/mbloch/mapshaper/wiki/Introduction-to-the-Command-Line-Tool) first. +This documentation applies to version 0.6.56 of mapshaper's command line program. Run `mapshaper -v` to check your version. For an introduction to the command line tool, read [this page](https://github.com/mbloch/mapshaper/wiki/Introduction-to-the-Command-Line-Tool) first. ## Command line syntax diff --git a/package-lock.json b/package-lock.json index 918fc0da5..9447327e7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -38,6 +38,7 @@ "mapshaper-xl": "bin/mapshaper-xl" }, "devDependencies": { + "@rollup/plugin-json": "^6.0.1", "@rollup/plugin-node-resolve": "^13.3.0", "browserify": "^17.0.0", "csv-spectrum": "^1.0.0", @@ -164,6 +165,60 @@ "version": "0.3.3", "license": "MIT" }, + "node_modules/@rollup/plugin-json": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/@rollup/plugin-json/-/plugin-json-6.0.1.tgz", + "integrity": "sha512-RgVfl5hWMkxN1h/uZj8FVESvPuBJ/uf6ly6GTj0GONnkfoBN5KC0MSz+PN2OLDgYXMhtG0mWpTrkiOjoxAIevw==", + "dev": true, + "dependencies": { + "@rollup/pluginutils": "^5.0.1" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } + } + }, + "node_modules/@rollup/plugin-json/node_modules/@rollup/pluginutils": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.1.0.tgz", + "integrity": "sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==", + "dev": true, + "dependencies": { + "@types/estree": "^1.0.0", + "estree-walker": "^2.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } + } + }, + "node_modules/@rollup/plugin-json/node_modules/@types/estree": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", + "dev": true + }, + "node_modules/@rollup/plugin-json/node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "dev": true + }, "node_modules/@rollup/plugin-node-resolve": { "version": "13.3.0", "dev": true, @@ -2817,9 +2872,10 @@ } }, "node_modules/picomatch": { - "version": "2.2.2", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", "dev": true, - "license": "MIT", "engines": { "node": ">=8.6" }, @@ -3725,6 +3781,40 @@ "@placemarkio/tokml": { "version": "0.3.3" }, + "@rollup/plugin-json": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/@rollup/plugin-json/-/plugin-json-6.0.1.tgz", + "integrity": "sha512-RgVfl5hWMkxN1h/uZj8FVESvPuBJ/uf6ly6GTj0GONnkfoBN5KC0MSz+PN2OLDgYXMhtG0mWpTrkiOjoxAIevw==", + "dev": true, + "requires": { + "@rollup/pluginutils": "^5.0.1" + }, + "dependencies": { + "@rollup/pluginutils": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.1.0.tgz", + "integrity": "sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==", + "dev": true, + "requires": { + "@types/estree": "^1.0.0", + "estree-walker": "^2.0.2", + "picomatch": "^2.3.1" + } + }, + "@types/estree": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", + "dev": true + }, + "estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "dev": true + } + } + }, "@rollup/plugin-node-resolve": { "version": "13.3.0", "dev": true, @@ -5492,7 +5582,9 @@ } }, "picomatch": { - "version": "2.2.2", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", "dev": true }, "prelude-ls": { diff --git a/package.json b/package.json index 2be7bc5eb..527ce383c 100644 --- a/package.json +++ b/package.json @@ -64,6 +64,7 @@ "tinyqueue": "^2.0.3" }, "devDependencies": { + "@rollup/plugin-json": "^6.0.1", "@rollup/plugin-node-resolve": "^13.3.0", "browserify": "^17.0.0", "csv-spectrum": "^1.0.0", diff --git a/rollup.config.js b/rollup.config.js index 8b3345cda..f60ba6f45 100644 --- a/rollup.config.js +++ b/rollup.config.js @@ -1,4 +1,5 @@ import { nodeResolve } from '@rollup/plugin-node-resolve'; +import json from '@rollup/plugin-json'; const onBundle = { name: 'onbundle', @@ -27,8 +28,7 @@ export default [{ output: [{ strict: false, format: 'iife', - file: 'mapshaper.js', - intro: 'var VERSION = "' + require('./package.json').version + '";\n' + file: 'mapshaper.js' }], - plugins: [onBundle, nodeResolve()] + plugins: [onBundle, nodeResolve(), json()] }]; diff --git a/src/cli/mapshaper-run-commands.mjs b/src/cli/mapshaper-run-commands.mjs index 7e954b842..845135fba 100644 --- a/src/cli/mapshaper-run-commands.mjs +++ b/src/cli/mapshaper-run-commands.mjs @@ -11,6 +11,7 @@ import utils from '../utils/mapshaper-utils'; import { resetControlFlow } from '../mapshaper-control-flow'; import require from '../mapshaper-require'; import { commandTakesFileInput } from '../cli/mapshaper-command-info'; +import { version } from '../../package.json'; // Parse command line args into commands and run them // Function takes an optional Node-style callback. A Promise is returned if no callback is given. @@ -315,7 +316,7 @@ function readAndRemoveSettings(job, commands) { export function runAndRemoveInfoCommands(commands) { return commands.filter(function(cmd) { if (cmd.name == 'version') { - print(typeof VERSION == 'undefined' ? '' : VERSION); + print(version); } else if (cmd.name == 'encodings') { printEncodings(); } else if (cmd.name == 'colors') { From 8cf92553f34bd54ac4fd968e60d6c15589f2ceb0 Mon Sep 17 00:00:00 2001 From: Matthew Bloch Date: Thu, 7 Dec 2023 19:31:27 -0500 Subject: [PATCH 059/509] v0.6.57 --- CHANGELOG.md | 3 +++ REFERENCE.md | 29 +++++++++++++------------ package-lock.json | 4 ++-- package.json | 2 +- src/commands/mapshaper-run.mjs | 2 +- src/expressions/mapshaper-io-proxy.mjs | 17 +++++++++++++++ src/expressions/mapshaper-job-proxy.mjs | 10 --------- test/run-test.mjs | 12 ++++++++++ 8 files changed, 51 insertions(+), 28 deletions(-) create mode 100644 src/expressions/mapshaper-io-proxy.mjs delete mode 100644 src/expressions/mapshaper-job-proxy.mjs diff --git a/CHANGELOG.md b/CHANGELOG.md index b160f34f3..f225bd376 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,6 @@ +v0.6.57 +* Added io.ifile() method for creating dynamic input files in the run command + v0.6.56 * Added support for importing ES modules using the -require command. * Removed the -require init= function. diff --git a/REFERENCE.md b/REFERENCE.md index 42966d8a5..06d8f5057 100644 --- a/REFERENCE.md +++ b/REFERENCE.md @@ -1,6 +1,6 @@ # COMMAND REFERENCE -This documentation applies to version 0.6.56 of mapshaper's command line program. Run `mapshaper -v` to check your version. For an introduction to the command line tool, read [this page](https://github.com/mbloch/mapshaper/wiki/Introduction-to-the-Command-Line-Tool) first. +This documentation applies to version 0.6.57 of mapshaper's command line program. Run `mapshaper -v` to check your version. For an introduction to the command line tool, read [this page](https://github.com/mbloch/mapshaper/wiki/Introduction-to-the-Command-Line-Tool) first. ## Command line syntax @@ -1072,7 +1072,7 @@ Common options: `target=` Expression context: -`target` object +`target` object provides data and information about the command's target layer - `target.layer_name` Name of layer - `target.geojson` (getter) Returns a GeoJSON FeatureCollection for the layer - `target.geometry_type` One of: polygon, polyline, point, `undefined` @@ -1082,11 +1082,10 @@ Expression context: - `target.bbox` GeoJSON-style bounding box - `target.proj4` PROJ-formatted string giving the CRS (coordinate reference system) of the layer -`io` object (useful for importing dynamically generated datasets; see example below) -- `io.addInputFile(, )` Add JSON data that can be referenced by filename in the command string generated by `-run`. +`io` object has a method for passing data to the `-i` command. +- `io.ifile(, )` Create a temp file to use as input in a `-run` command (see example 2 below) - -**Example 1:** Apply a custom projection based on the layer extent +**Example 1:** Apply a custom projection based on the layer extent. ```bash $ mapshaper -i country.shp -require projection.js -run '-proj {tmerc(target.bbox)}' -o @@ -1101,19 +1100,22 @@ module.exports.tmerc = function(bbox) { }; ``` -**Example 2:** Convert points to a Voronoi diagram +**Example 2:** Convert points to a Voronoi diagram using a template expression +together with an external script. ```bash -$ mapshaper -i points.geojson -require script.js -run '-i {voronoi(target, io)}' -o +$ mapshaper points.geojson \ + -require script.js \ + -run '-i {io.ifile("voronoi.json", voronoi(target.geojson, target.bbox))}' \ + -o ``` ```javascript // contents of script.js file -module.exports.voronoi = async function(target, io) { +module.exports.voronoi = async function(points, bbox) { const d3 = await import('d3-delaunay'); // installed locally - const points = target.geojson; // assume 'Point' geometry - const coords = input.features.map(feat => feat.geometry.coordinates); - const voronoi = d3.Delaunay.from(coords).voronoi(target.bbox); // constrain to data bounds + const coords = points.features.map(feat => feat.geometry.coordinates); + const voronoi = d3.Delaunay.from(coords).voronoi(bbox); const features = Array.from(voronoi.cellPolygons()).map(function(ring, i) { return { type: 'Feature', @@ -1124,8 +1126,7 @@ module.exports.voronoi = async function(target, io) { } }; }); - io.addInputFile('polygons.json', {type: 'FeatureCollection', features: features}) - return 'polygons.json'; + return {type: 'FeatureCollection', features: features}; }; ``` diff --git a/package-lock.json b/package-lock.json index 9447327e7..9f9983bdf 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "mapshaper", - "version": "0.6.56", + "version": "0.6.57", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "mapshaper", - "version": "0.6.56", + "version": "0.6.57", "license": "MPL-2.0", "dependencies": { "@placemarkio/tokml": "^0.3.3", diff --git a/package.json b/package.json index 527ce383c..09bfbf96c 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "mapshaper", - "version": "0.6.56", + "version": "0.6.57", "description": "A tool for editing vector datasets for mapping and GIS.", "keywords": [ "shapefile", diff --git a/src/commands/mapshaper-run.mjs b/src/commands/mapshaper-run.mjs index 2e374bb7d..25e82584f 100644 --- a/src/commands/mapshaper-run.mjs +++ b/src/commands/mapshaper-run.mjs @@ -4,7 +4,7 @@ import { parseCommands } from '../cli/mapshaper-parse-commands'; import { stop, message, truncateString } from '../utils/mapshaper-logging'; import utils from '../utils/mapshaper-utils'; import cmd from '../mapshaper-cmd'; -import { getIOProxy } from '../expressions/mapshaper-job-proxy'; +import { getIOProxy } from '../expressions/mapshaper-io-proxy'; import { evalTemplateExpression } from '../expressions/mapshaper-template-expressions'; import { commandTakesFileInput } from '../cli/mapshaper-command-info'; diff --git a/src/expressions/mapshaper-io-proxy.mjs b/src/expressions/mapshaper-io-proxy.mjs new file mode 100644 index 000000000..6db7d297a --- /dev/null +++ b/src/expressions/mapshaper-io-proxy.mjs @@ -0,0 +1,17 @@ +import utils from '../utils/mapshaper-utils'; + +export function getIOProxy(job) { + async function addInputFile(filename, content) { + if (utils.isPromise(content)) { + content = await content; + } + io._cache[filename] = content; + return filename; // return filename to support -run '-i {io.ifile()}' + } + var io = { + _cache: {}, + addInputFile, + ifile: addInputFile // ifile() is an alias for addInputFile + }; + return io; +} diff --git a/src/expressions/mapshaper-job-proxy.mjs b/src/expressions/mapshaper-job-proxy.mjs deleted file mode 100644 index 3dc239868..000000000 --- a/src/expressions/mapshaper-job-proxy.mjs +++ /dev/null @@ -1,10 +0,0 @@ - -export function getIOProxy(job) { - var obj = { - _cache: {} - }; - obj.addInputFile = function(filename, content) { - obj._cache[filename] = content; - }; - return obj; -} diff --git a/test/run-test.mjs b/test/run-test.mjs index 831dac30b..0621dea47 100644 --- a/test/run-test.mjs +++ b/test/run-test.mjs @@ -57,6 +57,18 @@ describe('mapshaper-run.js', function () { assert.deepEqual(JSON.parse(out['selection.json']), [{foo: 'bam'}]) }) + it('supports io.ifile() alias', async function() { + var data = [{foo: 'bar'}, {foo: 'baz'}, {foo: 'bam'}]; + var include = '{ \ + subset: async function(fc) { \ + return [fc.features[2].properties]; \ + }}'; + var cmd = `-i data.json -include include.js + -run '{io.ifile("selection.json", subset(target.geojson))}' -o`; + var out = await api.applyCommands(cmd, {'include.js': include, 'data.json': data}); + assert.deepEqual(JSON.parse(out['selection.json']), [{foo: 'bam'}]) + }) + it('supports creating a command on-the-fly and running it', function (done) { var data = [{foo: 'bar'}]; var include = '{ \ From 578879a5925f91d34e20da78eb18768bf64469bc Mon Sep 17 00:00:00 2001 From: Matthew Bloch Date: Fri, 8 Dec 2023 10:09:37 -0500 Subject: [PATCH 060/509] v0.6.58 --- CHANGELOG.md | 3 +++ REFERENCE.md | 3 --- package-lock.json | 4 ++-- package.json | 2 +- src/commands/mapshaper-dashlines.mjs | 2 +- src/commands/mapshaper-require.mjs | 2 +- 6 files changed, 8 insertions(+), 8 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f225bd376..22e1175ad 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,6 @@ +v0.6.58 +* Fix for -require error on Windows. + v0.6.57 * Added io.ifile() method for creating dynamic input files in the run command diff --git a/REFERENCE.md b/REFERENCE.md index 06d8f5057..4b1683b46 100644 --- a/REFERENCE.md +++ b/REFERENCE.md @@ -1062,14 +1062,11 @@ Create mapshaper commands on-the-fly and run them. `` or `expression=` A JS expression or template containing embedded expressions, for generating one or more mapshaper commands. -Common options: `target=` - * Embedded expressions are enclosed in curly braces (see below). * Expressions can access `target` and `io` objects. * Expressions can also access functions and data loaded with the `-require` command. * Functions can be async. - Expression context: `target` object provides data and information about the command's target layer diff --git a/package-lock.json b/package-lock.json index 9f9983bdf..5fbdaeedb 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "mapshaper", - "version": "0.6.57", + "version": "0.6.58", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "mapshaper", - "version": "0.6.57", + "version": "0.6.58", "license": "MPL-2.0", "dependencies": { "@placemarkio/tokml": "^0.3.3", diff --git a/package.json b/package.json index 09bfbf96c..f8b1b78dc 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "mapshaper", - "version": "0.6.57", + "version": "0.6.58", "description": "A tool for editing vector datasets for mapping and GIS.", "keywords": [ "shapefile", diff --git a/src/commands/mapshaper-dashlines.mjs b/src/commands/mapshaper-dashlines.mjs index f93e32098..e7d0c29c1 100644 --- a/src/commands/mapshaper-dashlines.mjs +++ b/src/commands/mapshaper-dashlines.mjs @@ -5,7 +5,7 @@ import { convertDistanceParam } from '../geom/mapshaper-units'; import { isLatLngCRS , getDatasetCRS } from '../crs/mapshaper-projections'; import { requirePolylineLayer, getFeatureCount } from '../dataset/mapshaper-layer-utils'; import { getFeatureEditor } from '../expressions/mapshaper-each-geojson'; -import { compileFeatureExpression, compileValueExpression } from '../expressions/mapshaper-feature-expressions'; +import { compileValueExpression } from '../expressions/mapshaper-feature-expressions'; import { replaceLayerContents } from '../dataset/mapshaper-dataset-utils'; import { greatCircleDistance, distance2D } from '../geom/mapshaper-basic-geom'; import { getInterpolationFunction } from '../geom/mapshaper-geodesic'; diff --git a/src/commands/mapshaper-require.mjs b/src/commands/mapshaper-require.mjs index 98bedf7c1..c2a921895 100644 --- a/src/commands/mapshaper-require.mjs +++ b/src/commands/mapshaper-require.mjs @@ -25,7 +25,7 @@ cmd.require = async function(opts) { } try { // import CJS and ES modules - mod = await import(moduleFile || moduleName); + mod = await import(moduleFile ? require('url').pathToFileURL(moduleFile) : moduleName); if (mod.default) { mod = mod.default; } From ec6e7a40bc875ee6d113045e5ee86f47abf57bc7 Mon Sep 17 00:00:00 2001 From: Matthew Bloch Date: Fri, 8 Dec 2023 14:11:38 -0500 Subject: [PATCH 061/509] v0.6.59 --- CHANGELOG.md | 3 +++ package-lock.json | 4 ++-- package.json | 2 +- src/commands/mapshaper-require.mjs | 7 ++----- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 22e1175ad..c39f872d4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,6 @@ +v0.6.59 +* Second attempted fix for -require error on Windows. + v0.6.58 * Fix for -require error on Windows. diff --git a/package-lock.json b/package-lock.json index 5fbdaeedb..dfd240a39 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "mapshaper", - "version": "0.6.58", + "version": "0.6.59", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "mapshaper", - "version": "0.6.58", + "version": "0.6.59", "license": "MPL-2.0", "dependencies": { "@placemarkio/tokml": "^0.3.3", diff --git a/package.json b/package.json index f8b1b78dc..aa75505be 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "mapshaper", - "version": "0.6.58", + "version": "0.6.59", "description": "A tool for editing vector datasets for mapping and GIS.", "keywords": [ "shapefile", diff --git a/src/commands/mapshaper-require.mjs b/src/commands/mapshaper-require.mjs index c2a921895..12be0ac19 100644 --- a/src/commands/mapshaper-require.mjs +++ b/src/commands/mapshaper-require.mjs @@ -9,7 +9,7 @@ import { isValidExternalCommand } from '../commands/mapshaper-external'; cmd.require = async function(opts) { var globals = getStashedVar('defs'); - var moduleFile, moduleName, mod, err; + var moduleFile, moduleName, mod; if (!opts.module) { stop("Missing module name or path to module"); } @@ -20,9 +20,6 @@ cmd.require = async function(opts) { } else { moduleName = opts.module; } - if (moduleFile && !require('path').isAbsolute(moduleFile)) { - moduleFile = require('path').join(process.cwd(), moduleFile); - } try { // import CJS and ES modules mod = await import(moduleFile ? require('url').pathToFileURL(moduleFile) : moduleName); @@ -30,7 +27,7 @@ cmd.require = async function(opts) { mod = mod.default; } if (typeof mod == 'function') { - // assuming that functions are mapshpaper command generators... + // assuming that functions are mapshaper command generators... // this MUST be changed asap. var retn = mod(api); if (retn && isValidExternalCommand(retn)) { From 0787b16de929338f6256d7e08adb27c31c5a5159 Mon Sep 17 00:00:00 2001 From: Matthew Bloch Date: Sat, 9 Dec 2023 14:50:54 -0500 Subject: [PATCH 062/509] Refactor expressions --- src/buffer/mapshaper-buffer-common.mjs | 4 +- src/commands/mapshaper-affine.mjs | 4 +- src/commands/mapshaper-calc.mjs | 5 +- src/commands/mapshaper-dashlines.mjs | 1 - src/commands/mapshaper-define.mjs | 3 +- src/commands/mapshaper-each.mjs | 5 +- src/commands/mapshaper-filter.mjs | 11 ++- src/commands/mapshaper-inspect.mjs | 8 +- src/commands/mapshaper-sort.mjs | 4 +- src/commands/mapshaper-split.mjs | 4 +- src/commands/mapshaper-subdivide.mjs | 6 +- src/commands/mapshaper-svg-style.mjs | 4 +- src/commands/mapshaper-uniq.mjs | 4 +- src/dissolve/mapshaper-point-dissolve.mjs | 4 +- .../mapshaper-expression-utils.mjs | 13 +-- src/expressions/mapshaper-expressions.mjs | 81 ++++++++++++------ .../mapshaper-feature-expressions.mjs | 85 +++---------------- .../mapshaper-layer-expressions.mjs | 3 +- src/join/mapshaper-join-filter.mjs | 8 +- src/simplify/mapshaper-variable-simplify.mjs | 6 +- src/svg/svg-properties.mjs | 4 +- src/text/mapshaper-delim-reader.mjs | 17 ++-- test/expressions-test.mjs | 10 +-- 23 files changed, 129 insertions(+), 165 deletions(-) diff --git a/src/buffer/mapshaper-buffer-common.mjs b/src/buffer/mapshaper-buffer-common.mjs index a5d8d4d65..7f2434da9 100644 --- a/src/buffer/mapshaper-buffer-common.mjs +++ b/src/buffer/mapshaper-buffer-common.mjs @@ -1,4 +1,4 @@ -import { compileValueExpression } from '../expressions/mapshaper-feature-expressions'; +import { compileFeatureExpression } from '../expressions/mapshaper-feature-expressions'; import { getDatasetCRS } from '../crs/mapshaper-projections'; import { convertDistanceParam } from '../geom/mapshaper-units'; import { parseMeasure2 } from '../geom/mapshaper-units'; @@ -110,7 +110,7 @@ export function getBufferDistanceFunction(lyr, dataset, opts) { var crs = getDatasetCRS(dataset); var constDist = parseConstantBufferDistance(opts.radius + unitStr, crs); if (constDist) return function() {return constDist;}; - var expr = compileValueExpression(opts.radius, lyr, null, {}); // no arcs + var expr = compileFeatureExpression(opts.radius, lyr, null); // no arcs return function(shpId) { var val = expr(shpId); if (!val) return 0; diff --git a/src/commands/mapshaper-affine.mjs b/src/commands/mapshaper-affine.mjs index 9380243a7..ccf15f871 100644 --- a/src/commands/mapshaper-affine.mjs +++ b/src/commands/mapshaper-affine.mjs @@ -3,7 +3,7 @@ import { forEachArcId } from '../paths/mapshaper-path-utils'; import { getDatasetBounds } from '../dataset/mapshaper-dataset-utils'; import { forEachPoint } from '../points/mapshaper-point-utils'; import { countArcsInShapes } from '../paths/mapshaper-path-utils'; -import { compileValueExpression } from '../expressions/mapshaper-feature-expressions'; +import { compileFeatureExpression } from '../expressions/mapshaper-feature-expressions'; import { layerHasGeometry } from '../dataset/mapshaper-layer-utils'; import { getDatasetCRS } from '../crs/mapshaper-projections'; import { convertIntervalPair } from '../geom/mapshaper-units'; @@ -37,7 +37,7 @@ cmd.affine = function(targetLayers, dataset, opts) { if (targetLayers.indexOf(lyr) == -1) { misses = lyr.shapes; } else if (opts.where) { - test = compileValueExpression(opts.where, lyr, dataset.arcs); + test = compileFeatureExpression(opts.where, lyr, dataset.arcs); lyr.shapes.forEach(function(shp, i) { (test(i) ? hits : misses).push(shp); }); diff --git a/src/commands/mapshaper-calc.mjs b/src/commands/mapshaper-calc.mjs index 038ece2e9..1e055ea8d 100644 --- a/src/commands/mapshaper-calc.mjs +++ b/src/commands/mapshaper-calc.mjs @@ -116,13 +116,12 @@ export function compileCalcExpression(lyr, arcs, exp) { } calc1 = compileFeatureExpression(exp, lyr, arcs, {context: ctx1, - no_assign: true, no_warn: true}); + no_assign: true, no_warn: true, no_return: true}); // changed data-only layer to full layer to expose layer geometry, etc // (why not do this originally?) // calc2 = compileFeatureExpression(exp, {data: lyr.data}, null, // {returns: true, context: ctx2, no_warn: true}); - calc2 = compileFeatureExpression(exp, lyr, arcs, - {returns: true, context: ctx2, no_warn: true}); + calc2 = compileFeatureExpression(exp, lyr, arcs, {context: ctx2, no_warn: true}); // @destRec: optional destination record for assignments return function(ids, destRec) { diff --git a/src/commands/mapshaper-dashlines.mjs b/src/commands/mapshaper-dashlines.mjs index e7d0c29c1..c5dc96f88 100644 --- a/src/commands/mapshaper-dashlines.mjs +++ b/src/commands/mapshaper-dashlines.mjs @@ -5,7 +5,6 @@ import { convertDistanceParam } from '../geom/mapshaper-units'; import { isLatLngCRS , getDatasetCRS } from '../crs/mapshaper-projections'; import { requirePolylineLayer, getFeatureCount } from '../dataset/mapshaper-layer-utils'; import { getFeatureEditor } from '../expressions/mapshaper-each-geojson'; -import { compileValueExpression } from '../expressions/mapshaper-feature-expressions'; import { replaceLayerContents } from '../dataset/mapshaper-dataset-utils'; import { greatCircleDistance, distance2D } from '../geom/mapshaper-basic-geom'; import { getInterpolationFunction } from '../geom/mapshaper-geodesic'; diff --git a/src/commands/mapshaper-define.mjs b/src/commands/mapshaper-define.mjs index 371646361..cb49d37ce 100644 --- a/src/commands/mapshaper-define.mjs +++ b/src/commands/mapshaper-define.mjs @@ -18,6 +18,7 @@ cmd.define = function(catalog, opts) { stop('Missing an assignment expression'); } var defs = getStashedVar('defs'); - var compiled = compileFeatureExpression(opts.expression, {}, null, {no_warn: true}); + var compiled = compileFeatureExpression(opts.expression, {}, null, + {no_warn: true, no_return: true}); var result = compiled(null, defs); }; diff --git a/src/commands/mapshaper-each.mjs b/src/commands/mapshaper-each.mjs index ed9ac174a..fff8fd7b7 100644 --- a/src/commands/mapshaper-each.mjs +++ b/src/commands/mapshaper-each.mjs @@ -1,4 +1,4 @@ -import { compileFeatureExpression, compileValueExpression } from '../expressions/mapshaper-feature-expressions'; +import { compileFeatureExpression } from '../expressions/mapshaper-feature-expressions'; import { getFeatureCount } from '../dataset/mapshaper-layer-utils'; import { DataTable } from '../datatable/mapshaper-data-table'; import { expressionUsesGeoJSON, getFeatureEditor } from '../expressions/mapshaper-each-geojson'; @@ -13,6 +13,7 @@ cmd.evaluateEachFeature = function(lyr, dataset, exp, opts) { compiled, filter; var exprOpts = { + no_return: true, geojson_editor: expressionUsesGeoJSON(exp) ? getFeatureEditor(lyr, dataset) : null }; @@ -21,7 +22,7 @@ cmd.evaluateEachFeature = function(lyr, dataset, exp, opts) { lyr.data = new DataTable(n); } if (opts && opts.where) { - filter = compileValueExpression(opts.where, lyr, arcs); + filter = compileFeatureExpression(opts.where, lyr, arcs); } compiled = compileFeatureExpression(exp, lyr, arcs, exprOpts); // call compiled expression with id of each record diff --git a/src/commands/mapshaper-filter.mjs b/src/commands/mapshaper-filter.mjs index 74174804b..1b01515e8 100644 --- a/src/commands/mapshaper-filter.mjs +++ b/src/commands/mapshaper-filter.mjs @@ -1,6 +1,7 @@ import { getBBoxIntersectionTest } from '../commands/mapshaper-filter-geom'; -import { compileValueExpression } from '../expressions/mapshaper-feature-expressions'; +import { compileFeatureExpression } from '../expressions/mapshaper-feature-expressions'; import { getOutputLayer, getFeatureCount, copyLayer } from '../dataset/mapshaper-layer-utils'; +import { requireBooleanResult } from '../expressions/mapshaper-expression-utils'; import utils from '../utils/mapshaper-utils'; import cmd from '../mapshaper-cmd'; import { stop, message } from '../utils/mapshaper-logging'; @@ -18,7 +19,7 @@ cmd.filterFeatures = function(lyr, arcs, opts) { filter; if (opts.expression) { - filter = compileValueExpression(opts.expression, lyr, arcs); + filter = compileFeatureExpression(opts.expression, lyr, arcs); } if (opts.ids) { @@ -39,12 +40,11 @@ cmd.filterFeatures = function(lyr, arcs, opts) { utils.repeat(n, function(shapeId) { var result = filter(shapeId); + requireBooleanResult(result); if (invert) result = !result; if (result === true) { if (shapes) filteredShapes.push(shapes[shapeId] || null); if (records) filteredRecords.push(records[shapeId] || null); - } else if (result !== false) { - stop("Expression must return true or false"); } }); @@ -71,12 +71,11 @@ export function filterLayerInPlace(lyr, filter, invert) { filteredRecords = records ? [] : null; utils.repeat(n, function(shapeId) { var result = filter(shapeId); + requireBooleanResult(result); if (invert) result = !result; if (result === true) { if (shapes) filteredShapes.push(shapes[shapeId] || null); if (records) filteredRecords.push(records[shapeId] || null); - } else if (result !== false) { - stop("Expression must return true or false"); } }); lyr.shapes = filteredShapes; diff --git a/src/commands/mapshaper-inspect.mjs b/src/commands/mapshaper-inspect.mjs index 3a510c7b3..971c07a2c 100644 --- a/src/commands/mapshaper-inspect.mjs +++ b/src/commands/mapshaper-inspect.mjs @@ -1,4 +1,5 @@ -import { compileValueExpression } from '../expressions/mapshaper-feature-expressions'; +import { compileFeatureExpression } from '../expressions/mapshaper-feature-expressions'; +import { requireBooleanResult } from '../expressions/mapshaper-expression-utils'; import { getFeatureCount } from '../dataset/mapshaper-layer-utils'; import { getAttributeTableInfo, formatAttributeTableInfo } from '../commands/mapshaper-info'; import geom from '../geom/mapshaper-geom'; @@ -72,13 +73,12 @@ function selectFeatures(lyr, arcs, opts) { if (!opts.expression) { stop("Missing a JS expression for selecting a feature"); } - filter = compileValueExpression(opts.expression, lyr, arcs); + filter = compileFeatureExpression(opts.expression, lyr, arcs); utils.repeat(n, function(id) { var result = filter(id); + requireBooleanResult(result, 'Expression must return true or false'); if (result === true) { ids.push(id); - } else if (result !== false) { - stop("Expression must return true or false"); } }); return ids; diff --git a/src/commands/mapshaper-sort.mjs b/src/commands/mapshaper-sort.mjs index 1103b90c8..e7fb6d27c 100644 --- a/src/commands/mapshaper-sort.mjs +++ b/src/commands/mapshaper-sort.mjs @@ -1,4 +1,4 @@ -import { compileValueExpression } from '../expressions/mapshaper-feature-expressions'; +import { compileFeatureExpression } from '../expressions/mapshaper-feature-expressions'; import { getFeatureCount } from '../dataset/mapshaper-layer-utils'; import cmd from '../mapshaper-cmd'; import utils from '../utils/mapshaper-utils'; @@ -6,7 +6,7 @@ import utils from '../utils/mapshaper-utils'; cmd.sortFeatures = function(lyr, arcs, opts) { var n = getFeatureCount(lyr), ascending = !opts.descending, - compiled = compileValueExpression(opts.expression, lyr, arcs), + compiled = compileFeatureExpression(opts.expression, lyr, arcs), values = []; utils.repeat(n, function(i) { diff --git a/src/commands/mapshaper-split.mjs b/src/commands/mapshaper-split.mjs index 3cc491d53..8b3183752 100644 --- a/src/commands/mapshaper-split.mjs +++ b/src/commands/mapshaper-split.mjs @@ -1,4 +1,4 @@ -import { compileValueExpression } from '../expressions/mapshaper-feature-expressions'; +import { compileFeatureExpression } from '../expressions/mapshaper-feature-expressions'; import { getFeatureCount, copyLayer } from '../dataset/mapshaper-layer-utils'; import cmd from '../mapshaper-cmd'; import utils from '../utils/mapshaper-utils'; @@ -84,7 +84,7 @@ export function getSplitNameFunction(lyr, arg) { } // Assume: argument is an expression lyr = {name: lyr.name, data: lyr.data}; // remove shape info - compiled = compileValueExpression(arg, lyr, null); + compiled = compileFeatureExpression(arg, lyr, null); return function(i) { var val = compiled(i); return valueToLayerName(val); diff --git a/src/commands/mapshaper-subdivide.mjs b/src/commands/mapshaper-subdivide.mjs index 959e452bc..add26b120 100644 --- a/src/commands/mapshaper-subdivide.mjs +++ b/src/commands/mapshaper-subdivide.mjs @@ -5,6 +5,7 @@ import { stop } from '../utils/mapshaper-logging'; import cmd from '../mapshaper-cmd'; import utils from '../utils/mapshaper-utils'; import { DataTable } from '../datatable/mapshaper-data-table'; +import { requireBooleanResult } from '../expressions/mapshaper-expression-utils'; // Recursively divide a layer into two layers until a (compiled) expression // no longer returns true. The original layer is split along the long side of @@ -19,10 +20,7 @@ function subdivide(lyr, arcs, exp) { var divide = evalCalcExpression(lyr, arcs, exp), subdividedLayers = [], tmp, bounds, lyr1, lyr2, layerName; - - if (!utils.isBoolean(divide)) { - stop("Expression must evaluate to true or false"); - } + requireBooleanResult(divide, 'Expression must evaluate to true or false'); if (divide) { bounds = getLayerBounds(lyr, arcs); tmp = divideLayer(lyr, arcs, bounds); diff --git a/src/commands/mapshaper-svg-style.mjs b/src/commands/mapshaper-svg-style.mjs index 1a54d8a2b..00921163e 100644 --- a/src/commands/mapshaper-svg-style.mjs +++ b/src/commands/mapshaper-svg-style.mjs @@ -1,6 +1,6 @@ import { getLayerDataTable, getFeatureCount } from '../dataset/mapshaper-layer-utils'; import { getSymbolPropertyAccessor } from '../svg/svg-properties'; -import { compileValueExpression } from '../expressions/mapshaper-feature-expressions'; +import { compileFeatureExpression } from '../expressions/mapshaper-feature-expressions'; import { initDataTable } from '../dataset/mapshaper-layer-utils'; import { isSupportedSvgStyleProperty } from '../svg/svg-properties'; import cmd from '../mapshaper-cmd'; @@ -14,7 +14,7 @@ cmd.svgStyle = function(lyr, dataset, opts) { initDataTable(lyr); } if (opts.where) { - filter = compileValueExpression(opts.where, lyr, dataset.arcs); + filter = compileFeatureExpression(opts.where, lyr, dataset.arcs); } Object.keys(opts).forEach(function(optName) { var svgName = optName.replace('_', '-'); // undo cli parser name conversion diff --git a/src/commands/mapshaper-uniq.mjs b/src/commands/mapshaper-uniq.mjs index fce6454ff..9d4473db7 100644 --- a/src/commands/mapshaper-uniq.mjs +++ b/src/commands/mapshaper-uniq.mjs @@ -1,4 +1,4 @@ -import { compileValueExpression } from '../expressions/mapshaper-feature-expressions'; +import { compileFeatureExpression } from '../expressions/mapshaper-feature-expressions'; import { getFeatureCount } from '../dataset/mapshaper-layer-utils'; import { message } from '../utils/mapshaper-logging'; import utils from '../utils/mapshaper-utils'; @@ -7,7 +7,7 @@ import { DataTable } from '../datatable/mapshaper-data-table'; cmd.uniq = function(lyr, arcs, opts) { var n = getFeatureCount(lyr), - compiled = compileValueExpression(opts.expression, lyr, arcs), + compiled = compileFeatureExpression(opts.expression, lyr, arcs), maxCount = opts.max_count || 1, counts = {}, keepFlags = [], diff --git a/src/dissolve/mapshaper-point-dissolve.mjs b/src/dissolve/mapshaper-point-dissolve.mjs index fc36f4e90..8a066e833 100644 --- a/src/dissolve/mapshaper-point-dissolve.mjs +++ b/src/dissolve/mapshaper-point-dissolve.mjs @@ -1,5 +1,5 @@ import { countMultiPartFeatures } from '../dataset/mapshaper-layer-utils'; -import { compileValueExpression } from '../expressions/mapshaper-feature-expressions'; +import { compileFeatureExpression } from '../expressions/mapshaper-feature-expressions'; import { getLayerBounds } from '../dataset/mapshaper-layer-utils'; import { probablyDecimalDegreeBounds } from '../geom/mapshaper-latlon'; import geom from '../geom/mapshaper-geom'; @@ -7,7 +7,7 @@ import { stop } from '../utils/mapshaper-logging'; export function dissolvePointGeometry(lyr, getGroupId, opts) { var useSph = !opts.planar && probablyDecimalDegreeBounds(getLayerBounds(lyr)); - var getWeight = opts.weight ? compileValueExpression(opts.weight, lyr) : null; + var getWeight = opts.weight ? compileFeatureExpression(opts.weight, lyr, null) : null; var groups = []; // TODO: support multipoints diff --git a/src/expressions/mapshaper-expression-utils.mjs b/src/expressions/mapshaper-expression-utils.mjs index ae1c4c35f..a3787fff5 100644 --- a/src/expressions/mapshaper-expression-utils.mjs +++ b/src/expressions/mapshaper-expression-utils.mjs @@ -2,12 +2,7 @@ import utils from '../utils/mapshaper-utils'; import { blend } from '../color/blending'; import { roundToDigits2 } from '../geom/mapshaper-rounding'; import { formatDMS, parseDMS } from '../geom/mapshaper-dms'; - -export function cleanExpression(exp) { - // workaround for problem in GNU Make v4: end-of-line backslashes inside - // quoted strings are left in the string (other shell environments remove them) - return exp.replace(/\\\n/g, ' '); -} +import { stop } from '../utils/mapshaper-logging'; export function addFeatureExpressionUtils(env) { Object.assign(env, { @@ -20,6 +15,12 @@ export function addFeatureExpressionUtils(env) { }); } +export function requireBooleanResult(val, msg) { + if (val !== true && val !== false) { + stop(msg || 'Filter expression must return true or false'); + } +} + // piecewise linear interpolation (for a special project) export function interpolated_median(counts, breaks) { if (!counts || !breaks || counts.length != breaks.length - 1) return null; diff --git a/src/expressions/mapshaper-expressions.mjs b/src/expressions/mapshaper-expressions.mjs index ace20ae72..95ea56669 100644 --- a/src/expressions/mapshaper-expressions.mjs +++ b/src/expressions/mapshaper-expressions.mjs @@ -1,20 +1,6 @@ import utils from '../utils/mapshaper-utils'; import { stop } from '../utils/mapshaper-logging'; - -// Return array of variables on the left side of assignment operations -// @hasDot (bool) Return property assignments via dot notation -export function getAssignedVars(exp, hasDot) { - var rxp = /[a-z_$][.a-z0-9_$]*(?= *=[^>=])/ig; // ignore arrow functions and comparisons - var matches = exp.match(rxp) || []; - var f = function(s) { - var i = s.indexOf('.'); - return hasDot ? i > -1 : i == -1; - }; - var vars = utils.uniq(matches.filter(f)); - return vars; -} - // Return array of objects with properties assigned via dot notation // e.g. 'd.value = 45' -> ['d'] // export function getAssignmentObjects(exp) { @@ -30,12 +16,31 @@ export function getAssignedVars(exp, hasDot) { // return utils.uniq(names); // } -export function getExpressionFunction(exp, opts) { +export function getExpressionFunction(exp, ctxArg, optsArg) { + var opts = optsArg || {}; + var ctx = ctxArg || getBaseContext(); var func = compileExpressionToFunction(exp, opts); - return function(rec, ctx) { + var vars = getAssignedVars(exp); + var mutable = !opts.no_assign && vars.length > 0; + + if (opts.no_assign) { + // protect global object from assigned values when not captured by data record + nullifyUnsetProperties(vars, ctx); + } + + // "_" is used as an alias for the expression context, so functions can still + // be used when masked by variables of the same name. + ctx._ = ctx; + + return function(rec) { + var thisVal = ctx.$ || null; var val; + if (mutable) { + // initialize assigned variables to rec.null so rec can capture them + nullifyUnsetProperties(vars, rec); + } try { - val = func.call(ctx.$, rec, ctx); + val = func.call(thisVal, rec, ctx); } catch(e) { stop(e.name, "in expression [" + exp + "]:", e.message); } @@ -44,22 +49,36 @@ export function getExpressionFunction(exp, opts) { } export function compileExpressionToFunction(exp, opts) { - // $$ added to avoid duplication with data field variables (an error condition) - var functionBody, func; - if (opts.returns) { + var functionBody; + exp = cleanExpression(exp); + + if (opts.no_return) { + functionBody = exp; + } else { // functionBody = 'return ' + functionBody; + // $$ added to avoid duplication with data field variables (an error condition) functionBody = 'var $$retn = ' + exp + '; return $$retn;'; - } else { - functionBody = exp; } functionBody = 'with($$env){with($$record){ ' + functionBody + '}}'; try { - func = new Function('$$record,$$env', functionBody); + return new Function('$$record,$$env', functionBody); } catch(e) { // if (opts.quiet) throw e; stop(e.name, 'in expression [' + exp + ']'); } - return func; +} + +// Return array of variables on the left side of assignment operations +// @hasDot (bool) Return property assignments via dot notation +export function getAssignedVars(exp, hasDot) { + var rxp = /[a-z_$][.a-z0-9_$]*(?= *=[^>=])/ig; // ignore arrow functions and comparisons + var matches = exp.match(rxp) || []; + var f = function(s) { + var i = s.indexOf('.'); + return hasDot ? i > -1 : i == -1; + }; + var vars = utils.uniq(matches.filter(f)); + return vars; } export function getBaseContext(ctx) { @@ -74,3 +93,17 @@ export function getBaseContext(ctx) { ctx.console = console; return ctx; } + +export function nullifyUnsetProperties(vars, obj) { + for (var i=0; i 0 && !lyr.data) { + if (vars.length > 0 && !lyr.data) { initDataTable(lyr); } - if (!mutable) { - // protect global object from assigned values - nullifyUnsetProperties(vars, ctx); - } - var records = lyr.data ? lyr.data.getRecords() : []; var getFeatureById = initFeatureProxy(lyr, arcs, opts); var layerOnlyProxy = addLayerGetters({}, lyr, arcs); - var func = getExpressionFunction(exp, opts); - ctx = getFeatureExpressionContext(lyr, ctx, opts); + var ctx = getFeatureExpressionContext(lyr, opts.context || {}, opts); + var func = getExpressionFunction(exp, ctx, opts); // recId: index of a data record in the records array. // destRec: (optional argument, used by -calc) an object used to capture assignments // By default, assignments are captured by records[recId] // return function(recId, destRec) { - var rec; - if (destRec) { - rec = destRec; - } else { - rec = records[recId] || (records[recId] = {}); - } + var rec = destRec || records[recId] || (records[recId] = {}); // Assigning feature/layer proxy to '$' ... ctx.$ is also exposed as 'this' // in the expression context. ctx.$ = recId >= 0 ? getFeatureById(recId) : layerOnlyProxy; - // "_" is used as an alias for the expression context, so functions can still - // be used when masked by variables of the same name. - ctx._ = ctx; // Expose data properties using "d", like d3 does. (data propertries are // also available as "this.properties") - ctx.d = rec || null; + ctx.d = rec; - if (mutable) { - // initialize assigned variables to rec.null so rec can capture them - nullifyUnsetProperties(vars, rec); - } - return func(rec, ctx); + return func(rec); }; } @@ -179,10 +127,3 @@ function getFeatureExpressionContext(lyr, mixins, opts) { }, ctx); } -function nullifyUnsetProperties(vars, obj) { - for (var i=0; i Date: Sun, 10 Dec 2023 00:31:29 -0500 Subject: [PATCH 063/509] Refactor --- src/commands/mapshaper-cluster.mjs | 2 +- src/commands/mapshaper-innerlines.mjs | 4 +- src/commands/mapshaper-lines.mjs | 9 ++- .../mapshaper-feature-expressions.mjs | 60 ++++++++++--------- src/polygons/mapshaper-polygon-neighbors.mjs | 8 +-- src/topology/mapshaper-arc-classifier.mjs | 15 +++-- 6 files changed, 51 insertions(+), 47 deletions(-) diff --git a/src/commands/mapshaper-cluster.mjs b/src/commands/mapshaper-cluster.mjs index 50ef4f319..413c6a518 100644 --- a/src/commands/mapshaper-cluster.mjs +++ b/src/commands/mapshaper-cluster.mjs @@ -47,7 +47,7 @@ function calcPolygonClusters(lyr, arcs, opts) { if (groupField && !lyr.data) stop("Missing attribute data table"); // Populate mergeItems array - findPairsOfNeighbors(lyr.shapes, arcs).forEach(function(ab, i) { + findPairsOfNeighbors(lyr, arcs).forEach(function(ab, i) { // ab: [a, b] indexes of two polygons var a = shapeItems[ab[0]], b = shapeItems[ab[1]], diff --git a/src/commands/mapshaper-innerlines.mjs b/src/commands/mapshaper-innerlines.mjs index 08b4fa0bc..d11420b5f 100644 --- a/src/commands/mapshaper-innerlines.mjs +++ b/src/commands/mapshaper-innerlines.mjs @@ -1,7 +1,6 @@ import { createLineLayer } from '../commands/mapshaper-lines'; import { extractInnerLines } from '../commands/mapshaper-lines'; import { getArcClassifier } from '../topology/mapshaper-arc-classifier'; -import { compileFeaturePairFilterExpression } from '../expressions/mapshaper-feature-expressions'; import { requirePolygonLayer, setOutputLayerName } from '../dataset/mapshaper-layer-utils'; import cmd from '../mapshaper-cmd'; import { message } from '../utils/mapshaper-logging'; @@ -9,8 +8,7 @@ import { message } from '../utils/mapshaper-logging'; cmd.innerlines = function(lyr, arcs, opts) { opts = opts || {}; requirePolygonLayer(lyr); - var filter = opts.where ? compileFeaturePairFilterExpression(opts.where, lyr, arcs) : null; - var classifier = getArcClassifier(lyr.shapes, arcs, {filter: filter}); + var classifier = getArcClassifier(lyr, arcs, {where: opts.where}); var lines = extractInnerLines(lyr.shapes, classifier); var outputLyr = createLineLayer(lines, null); diff --git a/src/commands/mapshaper-lines.mjs b/src/commands/mapshaper-lines.mjs index f57554b36..a9202378c 100644 --- a/src/commands/mapshaper-lines.mjs +++ b/src/commands/mapshaper-lines.mjs @@ -1,5 +1,5 @@ import { traversePaths, getArcPresenceTest } from '../paths/mapshaper-path-utils'; -import { compileFeaturePairExpression, compileFeaturePairFilterExpression } from '../expressions/mapshaper-feature-expressions'; +import { compileFeaturePairExpression } from '../expressions/mapshaper-feature-expressions'; import { requireDataField, requirePolygonLayer, requirePointLayer, getLayerBounds, setOutputLayerName } from '../dataset/mapshaper-layer-utils'; import { getArcClassifier } from '../topology/mapshaper-arc-classifier'; import { forEachPoint } from '../points/mapshaper-point-utils'; @@ -150,9 +150,8 @@ function pointShapesToLineGeometry(shapes) { export function polygonsToLines(lyr, arcs, opts) { opts = opts || {}; - var filter = opts.where ? compileFeaturePairFilterExpression(opts.where, lyr, arcs) : null, - decorateRecord = opts.each ? getLineRecordDecorator(opts.each, lyr, arcs) : null, - classifier = getArcClassifier(lyr.shapes, arcs, {filter: filter}), + var decorateRecord = opts.each ? getLineRecordDecorator(opts.each, lyr, arcs) : null, + classifier = getArcClassifier(lyr, arcs, {where: opts.where}), fields = utils.isArray(opts.fields) ? opts.fields : [], rankId = 0, shapes = [], @@ -201,7 +200,7 @@ export function polygonsToLines(lyr, arcs, opts) { // kludgy way to implement each= option of -lines command function getLineRecordDecorator(exp, lyr, arcs) { // repurpose arc classifier function to convert arc ids to shape ids of original polygons - var procArcId = getArcClassifier(lyr.shapes, arcs)(procShapeIds); + var procArcId = getArcClassifier(lyr, arcs)(procShapeIds); var compiled = compileFeaturePairExpression(exp, lyr, arcs); var tmp; diff --git a/src/expressions/mapshaper-feature-expressions.mjs b/src/expressions/mapshaper-feature-expressions.mjs index fd8cc851b..1fc2d184c 100644 --- a/src/expressions/mapshaper-feature-expressions.mjs +++ b/src/expressions/mapshaper-feature-expressions.mjs @@ -8,6 +8,37 @@ import { getStashedVar } from '../mapshaper-stash'; import { getAssignedVars, getExpressionFunction, getBaseContext, nullifyUnsetProperties} from './mapshaper-expressions'; +export function compileFeatureExpression(exp, lyr, arcs, optsArg) { + var opts = optsArg || {}, + vars = getAssignedVars(exp); + + if (vars.length > 0 && !lyr.data) { + initDataTable(lyr); + } + + var records = lyr.data ? lyr.data.getRecords() : []; + var getFeatureById = initFeatureProxy(lyr, arcs, opts); + var layerOnlyProxy = addLayerGetters({}, lyr, arcs); + var ctx = getFeatureExpressionContext(lyr, opts.context || {}, opts); + var func = getExpressionFunction(exp, ctx, opts); + + // recId: index of a data record in the records array. + // destRec: (optional argument, used by -calc) an object used to capture assignments + // By default, assignments are captured by records[recId] + // + return function(recId, destRec) { + var rec = destRec || records[recId] || (records[recId] = {}); + // Assigning feature/layer proxy to '$' ... ctx.$ is also exposed as 'this' + // in the expression context. + ctx.$ = recId >= 0 ? getFeatureById(recId) : layerOnlyProxy; + // Expose data properties using "d", like d3 does. (data propertries are + // also available as "this.properties") + ctx.d = rec; + + return func(rec); + }; +} + export function compileFeaturePairFilterExpression(exp, lyr, arcs) { var func = compileFeaturePairExpression(exp, lyr, arcs); return function(idA, idB) { @@ -50,36 +81,7 @@ export function compileFeaturePairExpression(exp, lyr, arcs) { }; } -export function compileFeatureExpression(exp, lyr, arcs, optsArg) { - var opts = optsArg || {}, - vars = getAssignedVars(exp); - - if (vars.length > 0 && !lyr.data) { - initDataTable(lyr); - } - - var records = lyr.data ? lyr.data.getRecords() : []; - var getFeatureById = initFeatureProxy(lyr, arcs, opts); - var layerOnlyProxy = addLayerGetters({}, lyr, arcs); - var ctx = getFeatureExpressionContext(lyr, opts.context || {}, opts); - var func = getExpressionFunction(exp, ctx, opts); - - // recId: index of a data record in the records array. - // destRec: (optional argument, used by -calc) an object used to capture assignments - // By default, assignments are captured by records[recId] - // - return function(recId, destRec) { - var rec = destRec || records[recId] || (records[recId] = {}); - // Assigning feature/layer proxy to '$' ... ctx.$ is also exposed as 'this' - // in the expression context. - ctx.$ = recId >= 0 ? getFeatureById(recId) : layerOnlyProxy; - // Expose data properties using "d", like d3 does. (data propertries are - // also available as "this.properties") - ctx.d = rec; - return func(rec); - }; -} function getFeatureExpressionContext(lyr, mixins, opts) { var defs = getStashedVar('defs'); diff --git a/src/polygons/mapshaper-polygon-neighbors.mjs b/src/polygons/mapshaper-polygon-neighbors.mjs index 649cfc759..345fe7f66 100644 --- a/src/polygons/mapshaper-polygon-neighbors.mjs +++ b/src/polygons/mapshaper-polygon-neighbors.mjs @@ -14,7 +14,7 @@ import { forEachArcId } from '../paths/mapshaper-path-utils'; // an empty array if a shape has no neighbors. // export function getNeighborLookupFunction(lyr, arcs) { - var classifier = getArcClassifier(lyr.shapes, arcs, {reusable: true}); + var classifier = getArcClassifier(lyr, arcs, {reusable: true}); var classify = classifier(onShapes); var currShapeId; var neighbors; @@ -53,11 +53,11 @@ export function getNeighborLookupFunction(lyr, arcs) { // Returns an array containing all pairs of adjacent shapes // in a collection of polygon shapes. A pair of shapes is represented as // an array of two shape indexes [a, b]. -export function findPairsOfNeighbors(shapes, arcs) { +export function findPairsOfNeighbors(lyr, arcs) { var getKey = function(a, b) { return b > -1 && a > -1 ? [a, b] : null; }; - var classify = getArcClassifier(shapes, arcs)(getKey); + var classify = getArcClassifier(lyr, arcs)(getKey); var arr = []; var index = {}; var onArc = function(arcId) { @@ -71,6 +71,6 @@ export function findPairsOfNeighbors(shapes, arcs) { } } }; - forEachArcId(shapes, onArc); + forEachArcId(lyr.shapes, onArc); return arr; } diff --git a/src/topology/mapshaper-arc-classifier.mjs b/src/topology/mapshaper-arc-classifier.mjs index 923355ba2..0cb710ea8 100644 --- a/src/topology/mapshaper-arc-classifier.mjs +++ b/src/topology/mapshaper-arc-classifier.mjs @@ -1,6 +1,7 @@ import utils from '../utils/mapshaper-utils'; import { traversePaths } from '../paths/mapshaper-path-utils'; import { absArcId } from '../paths/mapshaper-arc-utils'; +import { compileFeaturePairFilterExpression } from '../expressions/mapshaper-feature-expressions'; // Returns a function for constructing a query function that accepts an arc id and // returns information about the polygon or polygons that use the given arc. @@ -9,17 +10,21 @@ import { absArcId } from '../paths/mapshaper-arc-utils'; // options: // filter: optional filter function; signature: function(idA, idB or -1) : boolean // reusable: flag that lets an arc be queried multiple times. -export function getArcClassifier(shapes, arcs) { - var opts = arguments[2] || {}, +export function getArcClassifier(lyr, arcs, optsArg) { + var opts = optsArg || {}, useOnce = !opts.reusable, n = arcs.size(), a = new Int32Array(n), - b = new Int32Array(n); + b = new Int32Array(n), + filter; + if (opts.where) { + filter = compileFeaturePairFilterExpression(opts.where, lyr, arcs); + } utils.initializeArray(a, -1); utils.initializeArray(b, -1); - traversePaths(shapes, function(o) { + traversePaths(lyr.shapes, function(o) { var i = absArcId(o.arcId); var shpId = o.shapeId; var aval = a[i]; @@ -47,7 +52,7 @@ export function getArcClassifier(shapes, arcs) { b[i] = -1; } // use optional filter to exclude some arcs - if (opts.filter && !opts.filter(shpA, shpB)) return null; + if (filter && !filter(shpA, shpB)) return null; return key; } From 7152a5a9d6087066dd4fa032eb794c37afce4c4f Mon Sep 17 00:00:00 2001 From: Will Roscoe Date: Mon, 11 Dec 2023 13:36:59 -0700 Subject: [PATCH 064/509] fix 404 link to moriartynaps blog --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index fdc92488d..103d9641e 100644 --- a/README.md +++ b/README.md @@ -38,7 +38,7 @@ The web UI works in recent desktop versions of Chrome, Firefox, Safari and Inter [Here](https://hub.docker.com/r/freifunkhamm/mapshaper) are resources for using mapshaper with Docker, provided by Christian Weiss. -You can find a number of mapshaper tutorials online, including a [two](https://moriartynaps.org/command-carto-part-one/) [part](https://moriartynaps.org/command-carto-part-two/) guide to command line cartography by Dylan Moriarty and [this introduction](https://handsondataviz.org/mapshaper.html) by Jack Dougherty. +You can find a number of mapshaper tutorials online, including a [two](https://moriartynaps.org/command-carto-part-one/) [part](https://moriartynaps.org/command-line-carto-two/) guide to command line cartography by Dylan Moriarty and [this introduction](https://handsondataviz.org/mapshaper.html) by Jack Dougherty. ## Large file support From fd7c249fb8502d23b69f35e652d3a61f376cf91a Mon Sep 17 00:00:00 2001 From: Matthew Bloch Date: Tue, 26 Dec 2023 18:38:25 -0500 Subject: [PATCH 065/509] v0.6.60 --- CHANGELOG.md | 3 ++ REFERENCE.md | 9 ++++- package-lock.json | 4 +-- package.json | 2 +- src/cli/mapshaper-options.mjs | 13 +++++-- src/cli/mapshaper-run-command.mjs | 3 +- src/commands/mapshaper-dots.mjs | 2 +- src/commands/mapshaper-scalebar.mjs | 34 ++++++++++++------- .../mapshaper-feature-expressions.mjs | 1 - src/furniture/mapshaper-furniture.mjs | 8 +++++ src/join/mapshaper-join-filter.mjs | 2 +- test/geojson-test.mjs | 9 +++++ test/scalebar-test.mjs | 25 ++++++++++++++ 13 files changed, 92 insertions(+), 23 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c39f872d4..1fdd0d404 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,6 @@ +v0.6.60 +* Officially added the previously undocumented -scalebar command. + v0.6.59 * Second attempted fix for -require error on Windows. diff --git a/REFERENCE.md b/REFERENCE.md index 4b1683b46..0872a0051 100644 --- a/REFERENCE.md +++ b/REFERENCE.md @@ -1,6 +1,6 @@ # COMMAND REFERENCE -This documentation applies to version 0.6.57 of mapshaper's command line program. Run `mapshaper -v` to check your version. For an introduction to the command line tool, read [this page](https://github.com/mbloch/mapshaper/wiki/Introduction-to-the-Command-Line-Tool) first. +This documentation applies to version 0.6.60 of mapshaper's command line program. Run `mapshaper -v` to check your version. For an introduction to the command line tool, read [this page](https://github.com/mbloch/mapshaper/wiki/Introduction-to-the-Command-Line-Tool) first. ## Command line syntax @@ -83,6 +83,7 @@ mapshaper states.geojson -filter 'ST == "AK"' + name=alaska -o output/ target=* [-rename-layers](#-rename-layers) [-require](#-require) [-run](#-run) +[-scalebar](#-scalebar) [-shape](#-shape) [-simplify](#-simplify) [-snap](#-snap) @@ -1127,6 +1128,12 @@ module.exports.voronoi = async function(points, bbox) { }; ``` +### -scalebar + +Add a scale bar to an SVG map. The command creates a data-only layer containing the scale bar's data properties. A scale bar is rendered if the layer is included in SVG output. If no `label` property is given, the text, length and units will be assigned automatically. + +`
'; return html; @@ -274,7 +274,7 @@ export function LayerControl(gui) { if (pinnable) { // init pin button - GUI.onClick(entry.findChild('img.unpinned'), function(e) { + GUI.onClick(entry.findChild('img.black-eye'), function(e) { var target = findLayerById(id); var pinned = target.layer.pinned; e.stopPropagation(); @@ -284,8 +284,8 @@ export function LayerControl(gui) { map.redraw(); }); - // catch click event on pin button - GUI.onClick(entry.findChild('img.unpinned'), function(e) { + // catch click event on black (top) pin button button + GUI.onClick(entry.findChild('img.black-eye'), function(e) { e.stopPropagation(); }); } diff --git a/www/index.html b/www/index.html index af47b22bc..7309dc473 100644 --- a/www/index.html +++ b/www/index.html @@ -96,8 +96,8 @@

Unfortunately, mapshaper can't run in this

Layers

- - + +
diff --git a/www/page.css b/www/page.css index 1d5d87c08..3a527e7c9 100644 --- a/www/page.css +++ b/www/page.css @@ -836,7 +836,7 @@ img.close-btn { cursor: pointer; } -.layer-item img.pin-btn { +.layer-item img.eye-btn { top: 4px; } @@ -851,29 +851,30 @@ img.close-btn { display: none; } -img.pin-btn { +img.eye-btn { opacity: 0; } -.pinnable:not(.pinned):not(.active) img.unpinned { +.pinnable:not(.pinned):not(.active) img.black-eye { opacity: 0.2; } -.pinnable:not(.pinned) img.unpinned:hover { +.pinnable:not(.pinned) img.black-eye:hover { opacity: 0.3; } -.pinnable.pinned.active img.unpinned { +/*.pinnable.pinned.active img.black-eye { opacity: 0; -} +}*/ img.close-btn:hover, -.pinnable.active:not(.pinned) img.unpinned, -.pinnable.pinned img.pinned { +.pinnable.active:not(.pinned) img.black-eye, +.pinnable.pinned:not(.active) img.green-eye, +.pinnable.pinned.active img.black-eye { opacity: 1 } -.pinnable img.unpinned { +.pinnable img.black-eye { z-index: 1; } From a8094cc678098256b7b2b54fbe7a142aff72320f Mon Sep 17 00:00:00 2001 From: Matthew Bloch Date: Thu, 18 Jan 2024 21:15:34 -0500 Subject: [PATCH 068/509] Add fix-geometry option --- src/cli/mapshaper-options.mjs | 15 ++++ src/cli/mapshaper-run-command.mjs | 4 + src/commands/mapshaper-check-geometry.mjs | 23 +++++ src/commands/mapshaper-scalebar.mjs | 22 +++-- src/commands/mapshaper-snap.mjs | 11 ++- src/geojson/geojson-export.mjs | 7 -- src/geom/mapshaper-rounding.mjs | 9 +- src/io/mapshaper-export.mjs | 5 +- .../mapshaper-segment-intersection-repair.mjs | 84 +++++++++++++++++++ src/paths/mapshaper-vertex-utils.mjs | 26 ++++++ src/topojson/topojson-export.mjs | 65 +++++++++----- src/topojson/topojson-import.mjs | 19 +++-- src/topojson/topojson-validation.mjs | 26 ++++++ test/commands-test.mjs | 2 +- test/export-test.mjs | 42 ++++++++++ test/geojson-test.mjs | 65 +++++++------- test/scalebar-test.mjs | 13 +-- test/snapping-test.mjs | 7 ++ test/topojson-test.mjs | 9 +- 19 files changed, 359 insertions(+), 95 deletions(-) create mode 100644 src/commands/mapshaper-check-geometry.mjs create mode 100644 src/paths/mapshaper-segment-intersection-repair.mjs create mode 100644 src/topojson/topojson-validation.mjs diff --git a/src/cli/mapshaper-options.mjs b/src/cli/mapshaper-options.mjs index fe9dd8894..cb1a567bf 100644 --- a/src/cli/mapshaper-options.mjs +++ b/src/cli/mapshaper-options.mjs @@ -242,6 +242,10 @@ export function getOptionParser() { describe: 'coordinate precision in source units, e.g. 0.001', type: 'number' }) + .option('fix-geometry', { + describe: 'remove intersections introduced by rounding or quantization', + type: 'flag' + }) .option('bbox-index', { describe: 'export a .json file with bbox of each layer', type: 'flag' @@ -1451,6 +1455,10 @@ export function getOptionParser() { describe: 'round all coordinates to a given decimal precision (e.g. 0.000001)', type: 'number' }) + .option('fix-geometry', { + describe: 'remove intersections introduced by rounding and snapping', + type: 'flag' + }) .option('target', targetOpt); parser.command('sort') @@ -1795,6 +1803,13 @@ export function getOptionParser() { .option('target', targetOpt) .option('no-replace', noReplaceOpt); + parser.command('check-geometry') + // .describe() + .option('strict', { + describe: 'stops the program if any errors are found', + type: 'flag' + }); + parser.command('cluster') .describe('group polygons into compact clusters') .option('id-field', { diff --git a/src/cli/mapshaper-run-command.mjs b/src/cli/mapshaper-run-command.mjs index 0ea52f70e..40b94672f 100644 --- a/src/cli/mapshaper-run-command.mjs +++ b/src/cli/mapshaper-run-command.mjs @@ -20,6 +20,7 @@ import '../commands/mapshaper-affine'; import '../commands/mapshaper-alpha-shapes'; import '../commands/mapshaper-buffer'; import '../commands/mapshaper-calc'; +import '../commands/mapshaper-check-geometry'; import '../commands/mapshaper-classify'; import '../commands/mapshaper-clean'; import '../commands/mapshaper-clip-erase'; @@ -206,6 +207,9 @@ export async function runCommand(command, job) { } else if (name == 'calc') { outputDataset = cmd.calc(targetLayers, arcs, opts); + } else if (name == 'check-geometry') { + applyCommandToEachLayer(cmd.checkGeometry, targetLayers, targetDataset, opts); + } else if (name == 'classify') { applyCommandToEachLayer(cmd.classify, targetLayers, targetDataset, opts); diff --git a/src/commands/mapshaper-check-geometry.mjs b/src/commands/mapshaper-check-geometry.mjs new file mode 100644 index 000000000..41a768de6 --- /dev/null +++ b/src/commands/mapshaper-check-geometry.mjs @@ -0,0 +1,23 @@ + +import cmd from '../mapshaper-cmd'; +import { stop, message } from '../utils/mapshaper-logging'; +import { findSegmentIntersections } from '../paths/mapshaper-segment-intersection'; + +// currently undocumented, used in tests +cmd.checkGeometry = function(targetLayer, dataset, opts) { + if (!dataset.arcs) return; + + // TODO: only check the target layer for intersections + var intersections = findSegmentIntersections(dataset.arcs); + if (intersections.length > 0) { + handleError(`Found ${intersections.length} intersection${intersections.length > 1 ? 's' : ''}.`, opts); + } + + // TODO: look for other geometry errors +}; + +function handleError(msg, opts) { + var report = opts.strict ? stop : message; + report(msg); +} + diff --git a/src/commands/mapshaper-scalebar.mjs b/src/commands/mapshaper-scalebar.mjs index 5966e2777..38028e1e6 100644 --- a/src/commands/mapshaper-scalebar.mjs +++ b/src/commands/mapshaper-scalebar.mjs @@ -8,6 +8,9 @@ import { symbolRenderers } from '../svg/svg-symbols'; cmd.scalebar = function(catalog, opts) { var lyr = getScalebarLayer(opts); + if (opts.label && !parseScalebarUnits(opts.label)) { + stop(`Expected units of km or miles in scalebar label (received ${opts.label})`); + } addFurnitureLayer(lyr, catalog); }; @@ -48,7 +51,9 @@ export function renderScalebar(d, frame) { var pos = getScalebarPosition(d); var metersPerPx = getMapFrameMetersPerPixel(frame); var frameWidthPx = frame.width; - var label = d.label || getAutoScalebarLabel(frameWidthPx, metersPerPx); + var unit = d.label ? parseScalebarUnits(d.label) : 'mile'; + var number = d.label ? parseScalebarNumber(d.label) : null; + var label = number && unit ? d.label : getAutoScalebarLabel(frameWidthPx, metersPerPx, unit); var scalebarKm = parseScalebarLabelToKm(label); var barHeight = 3; var labelOffs = 4; @@ -114,7 +119,8 @@ export function renderScalebar(d, frame) { return [g]; } -function getAutoScalebarLabel(mapWidth, metersPerPx) { +// unit: 'km' || 'mile' +function getAutoScalebarLabel(mapWidth, metersPerPx, unit) { var minWidth = 70; // 100; // TODO: vary min size based on map width var minKm = metersPerPx * minWidth / 1000; // note: removed 1.5 12 and 1,200 @@ -123,16 +129,17 @@ function getAutoScalebarLabel(mapWidth, metersPerPx) { '2,500 3,000 4,000 5,000').split(' '); return options.reduce(function(memo, str) { if (memo) return memo; - var label = formatDistanceLabelAsMiles(str); + var label = formatDistanceLabel(str, unit); if (parseScalebarLabelToKm(label) > minKm) { return label; } }, null) || ''; } -export function formatDistanceLabelAsMiles(str) { - var num = parseScalebarNumber(str); - return str + (num > 1 ? ' MILES' : ' MILE'); +export function formatDistanceLabel(numStr, unit) { + var num = parseScalebarNumber(numStr); + var unitStr = unit == 'km' && 'KM' || num > 1 && 'MILES' || 'MILE'; + return numStr + ' ' + unitStr; } // See test/mapshaper-scalebar.js for examples of supported formats @@ -146,7 +153,8 @@ export function parseScalebarLabelToKm(str) { function parseScalebarUnits(str) { var isMiles = /miles?$/.test(str.toLowerCase()); var isKm = /(k\.m\.|km|kilometers?|kilometres?)$/.test(str.toLowerCase()); - return isMiles && 'mile' || isKm && 'km' || ''; + var units = isMiles && 'mile' || isKm && 'km' || ''; + return units; } function parseScalebarNumber(str) { diff --git a/src/commands/mapshaper-snap.mjs b/src/commands/mapshaper-snap.mjs index fad152865..ed5b9b82e 100644 --- a/src/commands/mapshaper-snap.mjs +++ b/src/commands/mapshaper-snap.mjs @@ -1,4 +1,5 @@ import { getHighPrecisionSnapInterval, snapCoordsByInterval, snapEndpointsByInterval } from '../paths/mapshaper-snapping'; +import { getRepairFunction } from '../paths/mapshaper-segment-intersection-repair'; import { getDatasetCRS } from '../crs/mapshaper-projections'; import { convertIntervalParam } from '../geom/mapshaper-units'; import { setCoordinatePrecision } from '../geom/mapshaper-rounding'; @@ -12,10 +13,16 @@ cmd.snap = function(target, opts) { var snapCount = 0; var dataset = target.dataset; var arcs = dataset.arcs; + var repairArcs; var arcBounds = arcs && arcs.getBounds(); if (!arcBounds || !arcBounds.hasBounds()) { stop('Dataset is missing path data'); } + + arcs.flatten(); // bake in any simplification + if (opts.fix_geometry) { + repairArcs = arcs && getRepairFunction(arcs); + } if (opts.precision) { setCoordinatePrecision(dataset, opts.precision); } else if (opts.interval) { @@ -23,7 +30,6 @@ cmd.snap = function(target, opts) { } else { interval = getHighPrecisionSnapInterval(arcBounds.toArray()); } - arcs.flatten(); // bake in any simplification if (interval > 0 && opts.endpoints) { // snaps line endpoints together // TODO: also snap endpoints to line segments to remove undershoots and overshoots @@ -34,6 +40,9 @@ cmd.snap = function(target, opts) { message(utils.format("Snapped %s point%s", snapCount, utils.pluralSuffix(snapCount))); } if (snapCount > 0 || opts.precision) { + if (repairArcs) { + repairArcs(arcs); + } arcs.dedupCoords(); buildTopology(dataset); } diff --git a/src/geojson/geojson-export.mjs b/src/geojson/geojson-export.mjs index 646188245..701a66121 100644 --- a/src/geojson/geojson-export.mjs +++ b/src/geojson/geojson-export.mjs @@ -6,7 +6,6 @@ import { layerHasPoints, layerHasPaths } from '../dataset/mapshaper-layer-utils' import { isLatLngCRS, getDatasetCRS } from '../crs/mapshaper-projections'; import { getFormattedStringify, stringifyAsNDJSON } from '../geojson/mapshaper-stringify'; import { mergeLayerNames } from '../commands/mapshaper-merge-layers'; -import { setCoordinatePrecision } from '../geom/mapshaper-rounding'; import { copyDatasetForExport } from '../dataset/mapshaper-dataset-utils'; import { encodeString } from '../text/mapshaper-encodings'; import GeoJSON from '../geojson/geojson-common'; @@ -23,12 +22,6 @@ export function exportGeoJSON(dataset, opts) { var extension = opts.extension || "json"; var layerGroups, warn; - // Apply coordinate precision - if (opts.precision) { - dataset = copyDatasetForExport(dataset); - setCoordinatePrecision(dataset, opts.precision || 0.000001); - } - if (opts.rfc7946) { warn = getRFC7946Warnings(dataset); if (warn) message(warn); diff --git a/src/geom/mapshaper-rounding.mjs b/src/geom/mapshaper-rounding.mjs index b2556030d..71ecd5721 100644 --- a/src/geom/mapshaper-rounding.mjs +++ b/src/geom/mapshaper-rounding.mjs @@ -2,6 +2,7 @@ import { transformPoints } from '../dataset/mapshaper-dataset-utils'; import { error } from '../utils/mapshaper-logging'; import { forEachPoint } from '../points/mapshaper-point-utils'; import utils from '../utils/mapshaper-utils'; +import { getRepairFunction } from '../paths/mapshaper-segment-intersection-repair'; export function roundToSignificantDigits(n, d) { @@ -102,12 +103,16 @@ export function getBinaryRoundingFunction(bits) { // "round to even" on the 23rd bit of the mantissa export const fround = Math.fround || fround2; -export function setCoordinatePrecision(dataset, precision) { +export function setCoordinatePrecision(dataset, precision, fixGeom) { var round = getRoundingFunction(precision); - // var dissolvePolygon, nodes; + var repairArcs = dataset.arcs && fixGeom ? getRepairFunction(dataset.arcs) : null; transformPoints(dataset, function(x, y) { return [round(x), round(y)]; }); + if (repairArcs) { + repairArcs(dataset.arcs); + } + // v0.4.52 removing polygon dissolve - see issue #219 /* if (dataset.arcs) { diff --git a/src/io/mapshaper-export.mjs b/src/io/mapshaper-export.mjs index 8bcdeb8da..a64b44354 100644 --- a/src/io/mapshaper-export.mjs +++ b/src/io/mapshaper-export.mjs @@ -117,11 +117,10 @@ export function exportFileContent(dataset, opts) { // apply coordinate precision, except: // svg precision is applied by the SVG exporter, after rescaling - // GeoJSON precision is applied by the exporter, to handle default precision // TopoJSON precision is applied to avoid redundant copying - if (opts.precision && outFmt != 'svg' && outFmt != 'geojson' && outFmt != 'topojson') { + if (opts.precision && outFmt != 'svg' && outFmt != 'topojson') { dataset = copyDatasetForExport(dataset); - setCoordinatePrecision(dataset, opts.precision); + setCoordinatePrecision(dataset, opts.precision, !!opts.fix_geometry); } if (opts.cut_table) { diff --git a/src/paths/mapshaper-segment-intersection-repair.mjs b/src/paths/mapshaper-segment-intersection-repair.mjs new file mode 100644 index 000000000..bdbe83abf --- /dev/null +++ b/src/paths/mapshaper-segment-intersection-repair.mjs @@ -0,0 +1,84 @@ +import { findSegmentIntersections } from '../paths/mapshaper-segment-intersection'; +import { message, stop } from '../utils/mapshaper-logging'; +import { vertexIsArcEndpoint } from '../paths/mapshaper-vertex-utils'; + + +// arcs: ArcCollection containing original coordinates +export function getRepairFunction(arcs) { + var arcsOrig = arcs.getCopy(); + // updatedArcs: same ArcCollection, with snapped or rounded coords + return function(updatedArcs) { + repairSegmentIntersections(updatedArcs, arcsOrig); + }; +} + +// TODO: test with duplicate coordinates +// arcs: modified arcs (rounded coordinates) +// arcsOrig: original, unmodified arcs +export function repairSegmentIntersections(arcs, arcsOrig) { + // Check for intersections in the original data + var xxOrig = findSegmentIntersections(arcsOrig); + if (xxOrig.length > 0) { + message('Original layer contains intersections -- unable to repair.'); + return; + } + var intersections = findSegmentIntersections(arcs); + var maxLoops = 10; + var startCount = intersections.length; + for (var i=0; i 0; i++) { + revertIntersectionCoordinates(intersections, arcs, arcsOrig); + intersections = findSegmentIntersections(arcs); + } + var finalCount = intersections.length; + if (finalCount > 0) { + message('Unable to remove', finalCount, `intersection${finalCount > 1 ? 's' : ''}`); + } else if (startCount > 0) { + message('Fix-geometry removed', startCount, `intersection${startCount > 1 ? 's' : ''}`); + } +} + +// arcs: modified (rounded) coords +// arcsOrig: original coords +function revertIntersectionCoordinates(intersections, arcs, arcsOrig) { + intersections.forEach(function(o) { + replaceVertexCoords(o.a[0], arcs, arcsOrig); + replaceVertexCoords(o.a[1], arcs, arcsOrig); + replaceVertexCoords(o.b[0], arcs, arcsOrig); + replaceVertexCoords(o.b[1], arcs, arcsOrig); + }); +} + +// idx: index of vertex to replace +// arcs: target arcs +// arcs2: arcs with replacement coordinates +function replaceVertexCoords(idx, arcs, arcs2) { + var data = arcs.getVertexData(); + var data2 = arcs2.getVertexData(); + var idxx = [idx]; + if (vertexIsArcEndpoint(idx, arcs)) { + idxx = idxx.concat(findMatchingEndpoints(idx, data)); + } + idxx.forEach(function(idx) { + data.xx[idx] = data2.xx[idx]; + data.yy[idx] = data2.yy[idx]; + }); +} + +// idx: index of an arc endpoint +function findMatchingEndpoints(idx, data) { + var ii = data.ii, nn = data.nn, xx = data.xx, yy = data.yy; + var x = xx[idx], y = yy[idx]; + var a, b; + var matches = []; + for (var j=0; j 1 ? arc : null); }); return output; -}; +} // Apply delta encoding in-place to an array of topojson arcs -TopoJSON.deltaEncodeArcs = function(arcs) { +function deltaEncodeArcs(arcs) { arcs.forEach(function(arr) { var ax, ay, bx, by, p; for (var i=0, n=arr.length; i 0) { - unitXY = TopoJSON.calcExportResolution(arcs, opts.topojson_precision); + unitXY = calcExportResolution(arcs, opts.topojson_precision); } else if (opts.quantization > 0) { unitXY = [bounds.width() / (opts.quantization-1), bounds.height() / (opts.quantization-1)]; } else if (opts.precision > 0) { unitXY = [opts.precision, opts.precision]; } else { // default -- auto quantization at 0.02 of avg. segment len - unitXY = TopoJSON.calcExportResolution(arcs, 0.02); + unitXY = calcExportResolution(arcs, 0.02); } xmax = Math.ceil(bounds.width() / unitXY[0]) || 0; ymax = Math.ceil(bounds.height() / unitXY[1]) || 0; return new Bounds(0, 0, xmax, ymax); -}; +} TopoJSON.exportProperties = function(geometries, table, opts) { var properties = exportProperties(table, opts), diff --git a/src/topojson/topojson-import.mjs b/src/topojson/topojson-import.mjs index 315ab627c..cd0f1774a 100644 --- a/src/topojson/topojson-import.mjs +++ b/src/topojson/topojson-import.mjs @@ -27,11 +27,11 @@ export function importTopoJSON(topology, opts) { if (topology.arcs && topology.arcs.length > 0) { // TODO: apply transform to ArcCollection, not input arcs if (topology.transform) { - TopoJSON.decodeArcs(topology.arcs, topology.transform); + decodeArcs(topology.arcs, topology.transform); } if (opts && opts.precision) { - TopoJSON.roundCoords(topology.arcs, opts.precision); + roundCoords(topology.arcs, opts.precision); } arcs = new ArcCollection(topology.arcs); @@ -55,7 +55,7 @@ export function importTopoJSON(topology, opts) { cleanShapes(lyr.shapes, arcs, lyr.geometry_type); } if (lyr.geometry_type == 'point' && topology.transform) { - TopoJSON.decodePoints(lyr.shapes, topology.transform); + decodePoints(lyr.shapes, topology.transform); } if (lyr.data) { fixInconsistentFields(lyr.data.getRecords()); @@ -74,14 +74,14 @@ export function importTopoJSON(topology, opts) { return dataset; } -TopoJSON.decodePoints = function(shapes, transform) { +function decodePoints(shapes, transform) { forEachPoint(shapes, function(p) { p[0] = p[0] * transform.scale[0] + transform.translate[0]; p[1] = p[1] * transform.scale[1] + transform.translate[1]; }); -}; +} -TopoJSON.decodeArcs = function(arcs, transform) { +function decodeArcs(arcs, transform) { var mx = transform.scale[0], my = transform.scale[1], bx = transform.translate[0], @@ -101,10 +101,11 @@ TopoJSON.decodeArcs = function(arcs, transform) { prevY = y; } }); -}; +} + // TODO: consider removing dupes... -TopoJSON.roundCoords = function(arcs, precision) { +function roundCoords(arcs, precision) { var round = getRoundingFunction(precision), p; arcs.forEach(function(arc) { @@ -114,7 +115,7 @@ TopoJSON.roundCoords = function(arcs, precision) { p[1] = round(p[1]); } }); -}; +} TopoJSON.importObject = function(obj, arcs, opts) { var importer = new TopoJSON.GeometryImporter(arcs, opts); diff --git a/src/topojson/topojson-validation.mjs b/src/topojson/topojson-validation.mjs new file mode 100644 index 000000000..a16f4d9f2 --- /dev/null +++ b/src/topojson/topojson-validation.mjs @@ -0,0 +1,26 @@ +import { getArcEndpointCoords } from '../paths/mapshaper-vertex-utils'; +import { stop, message, verbose } from '../utils/mapshaper-logging'; + +function validateRingGeometry(ring, arcs) { + var ringStart, arcStart, prevArcEnd; + var coords; + for (var i=0; i Date: Thu, 18 Jan 2024 21:16:24 -0500 Subject: [PATCH 069/509] v0.6.61 --- CHANGELOG.md | 3 +++ REFERENCE.md | 13 +++++++++---- package-lock.json | 4 ++-- package.json | 2 +- 4 files changed, 15 insertions(+), 7 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1fdd0d404..395916ab9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,6 @@ +v0.6.61 +* Introduced the `fix-geometry` option to the `-snap` and `-o` commands, for removing segment intersections caused by coordinate rounding and TopoJSON quantization. + v0.6.60 * Officially added the previously undocumented -scalebar command. diff --git a/REFERENCE.md b/REFERENCE.md index 0872a0051..4cc050704 100644 --- a/REFERENCE.md +++ b/REFERENCE.md @@ -210,6 +210,8 @@ Save content of the target layer(s) to a file or files. `precision=` Round all coordinates to a specified precision, e.g. `precision=0.001`. Useful for reducing the size of GeoJSON files. +`fix-geometry` Remove segment intersections caused by rounding (via the `precision=` option) or TopoJSON quantization, by reverting intersecting areas to the original coordinates. This option is only applied if the original paths are free of intersections. In the case of quantized TopoJSON output, this option produces delta-encoded arcs that contain some decimal numbers. Be sure to test your software for compatibility. + `bbox-index` Export a JSON file containing bounding boxes of each output layer. `encoding=` (Shapefile/CSV) Encoding of input text (by default, Shapefile encoding is auto-detected and CSV files are assumed to be UTF-8). @@ -264,7 +266,6 @@ Save content of the target layer(s) to a file or files. `point-symbol=square` (SVG) Use squares instead of circles to symbolize point data. - `delimiter=` (CSV) Set the field delimiter for CSV/delimited text output; e.g. `delimiter=|`. `decimal-comma` (CSV) Export numbers with decimal commas instead of decimal points (common in Europe and elsewhere). @@ -1130,9 +1131,11 @@ module.exports.voronoi = async function(points, bbox) { ### -scalebar -Add a scale bar to an SVG map. The command creates a data-only layer containing the scale bar's data properties. A scale bar is rendered if the layer is included in SVG output. If no `label` property is given, the text, length and units will be assigned automatically. +Add a scale bar to an SVG map. The command creates a data-only layer containing the scale bar's data properties. A scale bar is rendered if this layer is included as a target layer in SVG output. -`

diff --git a/www/page.css b/www/page.css index 3a527e7c9..7da891c2f 100644 --- a/www/page.css +++ b/www/page.css @@ -220,7 +220,7 @@ body { text-align: center; } -.box-tool-options .box-coords { +.box-coords { margin-top: 7px; pointer-events: initial; } From 198d7541be587145579d8115889aafed91c2d12c Mon Sep 17 00:00:00 2001 From: Matthew Bloch Date: Wed, 31 Jan 2024 14:57:59 -0500 Subject: [PATCH 073/509] Add duplicate and coords buttons to interactive selection --- src/cli/mapshaper-options.mjs | 3 + src/commands/mapshaper-each.mjs | 4 + src/commands/mapshaper-filter.mjs | 4 +- src/gui/gui-elements.mjs | 31 --- src/gui/gui-inspection-control2.mjs | 4 +- src/gui/gui-interactive-selection.mjs | 359 -------------------------- src/gui/gui-map.mjs | 4 +- src/gui/gui-popup.mjs | 24 +- src/gui/gui-session-history.mjs | 4 +- src/gui/gui-undo.mjs | 67 +++-- test/each-test.mjs | 19 ++ 11 files changed, 88 insertions(+), 435 deletions(-) delete mode 100644 src/gui/gui-interactive-selection.mjs diff --git a/src/cli/mapshaper-options.mjs b/src/cli/mapshaper-options.mjs index cb1a567bf..56310c548 100644 --- a/src/cli/mapshaper-options.mjs +++ b/src/cli/mapshaper-options.mjs @@ -846,6 +846,9 @@ export function getOptionParser() { DEFAULT: true, describe: 'JS expression to apply to each target feature' }) + .option('ids', { // undocumented, used by GUI + type: 'numbers' + }) .option('where', whereOpt) .option('target', targetOpt); diff --git a/src/commands/mapshaper-each.mjs b/src/commands/mapshaper-each.mjs index fff8fd7b7..f2116427e 100644 --- a/src/commands/mapshaper-each.mjs +++ b/src/commands/mapshaper-each.mjs @@ -4,6 +4,7 @@ import { DataTable } from '../datatable/mapshaper-data-table'; import { expressionUsesGeoJSON, getFeatureEditor } from '../expressions/mapshaper-each-geojson'; import { dissolveArcs } from '../paths/mapshaper-arc-dissolve'; import { replaceLayerContents } from '../dataset/mapshaper-dataset-utils'; +import { getIdFilter, combineFilters } from './mapshaper-filter'; import cmd from '../mapshaper-cmd'; @@ -24,6 +25,9 @@ cmd.evaluateEachFeature = function(lyr, dataset, exp, opts) { if (opts && opts.where) { filter = compileFeatureExpression(opts.where, lyr, arcs); } + if (opts && opts.ids) { + filter = combineFilters(filter, getIdFilter(opts.ids)); + } compiled = compileFeatureExpression(exp, lyr, arcs, exprOpts); // call compiled expression with id of each record for (var i=0; i -1) { - return true; - } - target = target.parentNode; - } - return false; - } - - function noHitData() {return {ids: [], id: -1, pinned: false};} - - function mergeClickData(hitData) { - // mergeCurrentState(hitData); - // TOGGLE pinned state under some conditions - var id = hitData.ids.length > 0 ? hitData.ids[0] : -1; - hitData.id = id; - if (pinnable()) { - if (!storedData.pinned && id > -1) { - hitData.pinned = true; // add pin - } else if (storedData.pinned && storedData.id == id) { - delete hitData.pinned; // remove pin - // hitData.id = -1; // keep highlighting (pointer is still hovering) - } else if (storedData.pinned && id > -1) { - hitData.pinned = true; // stay pinned, switch id - } - } - if (selectable()) { - if (id > -1) { - selectionIds = toggleId(id, selectionIds); - } - hitData.ids = selectionIds; - } - return hitData; - } - - function mergeHoverData(hitData) { - if (storedData.pinned) { - hitData.id = storedData.id; - hitData.pinned = true; - } else { - hitData.id = hitData.ids.length > 0 ? hitData.ids[0] : -1; - } - if (selectable()) { - hitData.ids = selectionIds; - // kludge to inhibit hover effect while dragging a box - if (gui.keydown) hitData.id = -1; - } - return hitData; - } - - function pinnedId() { - return storedData.pinned ? storedData.id : -1; - } - - function toggleId(id, ids) { - if (ids.indexOf(id) > -1) { - return utils.difference(ids, [id]); - } - return [id].concat(ids); - } - - // If hit ids have changed, update stored hit ids and fire 'hover' event - // evt: (optional) mouse event - function updateSelectionState(newData) { - var nonEmpty = newData && (newData.ids.length || newData.id > -1); - transientIds = []; - if (!newData) { - newData = noHitData(); - selectionIds = []; - } - - if (!testHitChange(storedData, newData)) { - return; - } - - storedData = newData; - gui.container.findChild('.map-layers').classed('symbol-hit', nonEmpty); - if (active) { - triggerHitEvent('change'); - } - } - - // check if an event is used in the current interaction mode - function eventIsEnabled(type) { - if (type == 'click' && !clickable()) { - return false; - } - if ((type == 'drag' || type == 'dragstart' || type == 'dragend') && !draggable()) { - return false; - } - return true; - } - - function isOverMap(e) { - return e.x >= 0 && e.y >= 0 && e.x < ext.width() && e.y < ext.height(); - } - - function handlePointerEvent(e) { - if (!hitTest || !active) return; - if (self.getHitId() == -1) return; // ignore pointer events when no features are being hit - // don't block pan and other navigation in modes when they are not being used - if (eventIsEnabled(e.type)) { - e.stopPropagation(); // block navigation - triggerHitEvent(e.type, e.data); - } - } - - // d: event data (may be a pointer event object, an ordinary object or null) - function triggerHitEvent(type, d) { - // Merge stored hit data into the event data - var eventData = utils.extend({mode: interactionMode}, d || {}, storedData); - if (transientIds.length) { - eventData.ids = utils.uniq(transientIds.concat(eventData.ids || [])); - } - self.dispatchEvent(type, eventData); - } - - // Test if two hit data objects are equivalent - function testHitChange(a, b) { - // check change in 'container', e.g. so moving from anchor hit to label hit - // is detected - if (sameIds(a.ids, b.ids) && a.container == b.container && a.pinned == b.pinned && a.id == b.id) { - return false; - } - return true; - } - - function sameIds(a, b) { - if (a.length != b.length) return false; - for (var i=0; i copyRecord(target.layer.data.getRecordAt(id))); + return function() { + var data = target.layer.data.getRecords(); + for (var i=0; i 0) { history.splice(-offset); offset = 0; } history.push({undo, redo}); - }; + } this.undo = function() { var item = getHistoryItem(); diff --git a/test/each-test.mjs b/test/each-test.mjs index 8e28ae246..a265078f5 100644 --- a/test/each-test.mjs +++ b/test/each-test.mjs @@ -17,6 +17,25 @@ describe('mapshaper-each.js', function () { describe('-each command', function () { + describe('ids= option', function() { + it('filters by ids', async function() { + var data = [{foo: 'a'}, {foo: 'b'}, {foo: 'c'}]; + var cmd = '-i data.json -each ids=1,2 foo="z" -o'; + var out = await api.applyCommands(cmd, {'data.json':data}); + var data2 = JSON.parse(out['data.json']); + assert.deepEqual(data2, [{foo: 'a'}, {foo: 'z'}, {foo: 'z'}]); + }); + + it('filters by ids and where=', async function() { + var data = [{foo: 'a'}, {foo: 'b'}, {foo: 'c'}]; + var cmd = '-i data.json -each ids=1,2 foo="z" where="this.id != 1" -o'; + var out = await api.applyCommands(cmd, {'data.json':data}); + var data2 = JSON.parse(out['data.json']); + assert.deepEqual(data2, [{foo: 'a'}, {foo: 'b'}, {foo: 'z'}]); + }); + + }) + describe('bbox functions', function() { var line = { From 4e586c4a714d0ab6153f009c5c508f5a36362da7 Mon Sep 17 00:00:00 2001 From: Matthew Bloch Date: Fri, 2 Feb 2024 21:52:51 -0500 Subject: [PATCH 074/509] Add file --- src/gui/gui-hit-control.mjs | 361 ++++++++++++++++++++++++++++++++++++ 1 file changed, 361 insertions(+) create mode 100644 src/gui/gui-hit-control.mjs diff --git a/src/gui/gui-hit-control.mjs b/src/gui/gui-hit-control.mjs new file mode 100644 index 000000000..38112dfbd --- /dev/null +++ b/src/gui/gui-hit-control.mjs @@ -0,0 +1,361 @@ +import { getPointerHitTest } from './gui-hit-test'; +import { utils } from './gui-core'; +import { EventDispatcher } from './gui-events'; +import { GUI } from './gui-lib'; +import { internal } from './gui-core'; + +export function HitControl(gui, ext, mouse) { + var self = new EventDispatcher(); + var storedData = noHitData(); // may include additional data from SVG symbol hit (e.g. hit node) + var selectionIds = []; + var transientIds = []; // e.g. hit ids while dragging a box + var active = false; + var interactionMode; + var targetLayer; + var hitTest; + // event priority is higher than navigation, so stopping propagation disables + // pan navigation + var priority = 2; + + // init keyboard controls for pinned features + gui.keyboard.on('keydown', function(evt) { + var e = evt.originalEvent; + + if (gui.interaction.getMode() == 'off' || !targetLayer) return; + + // esc key clears selection (unless in an editing mode -- esc key also exits current mode) + if (e.keyCode == 27 && !gui.getMode()) { + self.clearSelection(); + return; + } + + // ignore keypress if no feature is selected or user is editing text + if (pinnedId() == -1 || GUI.textIsSelected()) return; + + if (e.keyCode == 37 || e.keyCode == 39) { + // L/R arrow keys + // advance pinned feature + advanceSelectedFeature(e.keyCode == 37 ? -1 : 1); + e.stopPropagation(); + + } else if (e.keyCode == 8) { + // DELETE key + // delete pinned feature + // to help protect against inadvertent deletion, don't delete + // when console is open or a popup menu is open + if (!gui.getMode() && !gui.consoleIsOpen()) { + internal.deleteFeatureById(targetLayer.layer, pinnedId()); + self.clearSelection(); + gui.model.updated({flags: 'filter'}); // signal map to update + } + } + }, !!'capture'); // preempt the layer control's arrow key handler + + self.setLayer = function(mapLayer) { + targetLayer = mapLayer; + updateHitTest(); + }; + + function updateHitTest() { + hitTest = getPointerHitTest(targetLayer, ext, interactionMode); + } + + function turnOn(mode) { + interactionMode = mode; + active = true; + updateHitTest(); + } + + function turnOff() { + if (active) { + updateSelectionState(null); // no hit data, no event + active = false; + hitTest = null; + } + } + + function selectable() { + return interactionMode == 'selection'; + } + + function pinnable() { + return clickable() && !selectable(); + } + + function draggable() { + return interactionMode == 'vertices' || interactionMode == 'location' || interactionMode == 'labels'; + } + + function clickable() { + // click used to pin popup and select features + return interactionMode == 'data' || interactionMode == 'info' || interactionMode == 'selection'; + } + + self.getHitId = function() {return storedData.id;}; + + // Get a reference to the active layer, so listeners to hit events can interact + // with data and shapes + self.getHitTarget = function() { + return targetLayer; + }; + + self.addSelectionIds = function(ids) { + turnOn('selection'); + selectionIds = utils.uniq(selectionIds.concat(ids)); + ids = utils.uniq(storedData.ids.concat(ids)); + updateSelectionState({ids: ids}); + }; + + self.setTransientIds = function(ids) { + // turnOn('selection'); + transientIds = ids || []; + if (active) { + triggerHitEvent('change'); + } + }; + + self.setHoverVertex = function(p, type) { + var p2 = storedData.hit_coordinates; + if (!active || !p) return; + if (p2 && p2[0] == p[0] && p2[1] == p[1]) return; + storedData.hit_coordinates = p; + triggerHitEvent('change'); + }; + + self.clearVertexOverlay = function() { + if (!storedData.hit_coordinates) return; + delete storedData.hit_coordinates; + triggerHitEvent('change'); + }; + + self.clearSelection = function() { + updateSelectionState(null); + }; + + self.clearHover = function() { + updateSelectionState(mergeHoverData({ids: []})); + }; + + self.getSelectionIds = function() { + return selectionIds.concat(); + }; + + self.getTargetDataTable = function() { + var targ = self.getHitTarget(); + return targ && targ.layer.data || null; + }; + + // get function for selecting next or prev feature within the current set of + // selected features + self.getSwitchTrigger = function(diff) { + return function() { + switchWithinSelection(diff); + }; + }; + + // diff: 1 or -1 + function advanceSelectedFeature(diff) { + var n = internal.getFeatureCount(targetLayer.layer); + if (n < 2 || pinnedId() == -1) return; + storedData.id = (pinnedId() + n + diff) % n; + storedData.ids = [storedData.id]; + triggerHitEvent('change'); + } + + // diff: 1 or -1 + function switchWithinSelection(diff) { + var id = pinnedId(); + var i = storedData.ids.indexOf(id); + var n = storedData.ids.length; + if (i < 0 || n < 2) return; + storedData.id = storedData.ids[(i + diff + n) % n]; + triggerHitEvent('change'); + } + + // make sure popup is unpinned and turned off when switching editing modes + // (some modes do not support pinning) + gui.on('interaction_mode_change', function(e) { + updateSelectionState(null); + // if (e.mode == 'off' || e.mode == 'box') { + if (gui.interaction.modeUsesSelection(e.mode)) { + turnOn(e.mode); + } else { + turnOff(); + } + }); + + gui.on('box_drag_start', function() { + self.clearHover(); + }); + + mouse.on('dblclick', handlePointerEvent, null, priority); + mouse.on('dragstart', handlePointerEvent, null, priority); + mouse.on('drag', handlePointerEvent, null, priority); + mouse.on('dragend', handlePointerEvent, null, priority); + + mouse.on('click', function(e) { + if (!hitTest || !active) return; + e.stopPropagation(); + + // TODO: move pinning to inspection control? + if (clickable()) { + updateSelectionState(convertClickDataToSelectionData(hitTest(e))); + } + triggerHitEvent('click', e.data); + }, null, priority); + + // Hits are re-detected on 'hover' (if hit detection is active) + mouse.on('hover', function(e) { + handlePointerEvent(e); + if (storedData.pinned || !hitTest || !active) return; + if (e.hover && isOverMap(e)) { + // mouse is hovering directly over map area -- update hit detection + updateSelectionState(mergeHoverData(hitTest(e))); + } else if (targetIsRollover(e.originalEvent.target)) { + // don't update hit detection if mouse is over the rollover (to prevent + // on-off flickering) + } else { + updateSelectionState(mergeHoverData({ids:[]})); + } + }, null, priority); + + function targetIsRollover(target) { + while (target.parentNode && target != target.parentNode) { + if (target.className && String(target.className).indexOf('rollover') > -1) { + return true; + } + target = target.parentNode; + } + return false; + } + + function noHitData() {return {ids: [], id: -1, pinned: false};} + + // Translates feature hit data from a mouse click into feature selection data + // hitData: hit data from a mouse click + function convertClickDataToSelectionData(hitData) { + // mergeCurrentState(hitData); + // TOGGLE pinned state under some conditions + var id = hitData.ids.length > 0 ? hitData.ids[0] : -1; + hitData.id = id; + if (pinnable()) { + if (!storedData.pinned && id > -1) { + hitData.pinned = true; // add pin + } else if (storedData.pinned && storedData.id == id) { + delete hitData.pinned; // remove pin + // hitData.id = -1; // keep highlighting (pointer is still hovering) + } else if (storedData.pinned && id > -1) { + hitData.pinned = true; // stay pinned, switch id + } + } + if (selectable()) { + if (id > -1) { + selectionIds = toggleId(id, selectionIds); + } + hitData.ids = selectionIds; + } + return hitData; + } + + function mergeHoverData(hitData) { + if (storedData.pinned) { + hitData.id = storedData.id; + hitData.pinned = true; + } else { + hitData.id = hitData.ids.length > 0 ? hitData.ids[0] : -1; + } + if (selectable()) { + hitData.ids = selectionIds; + // kludge to inhibit hover effect while dragging a box + if (gui.keydown) hitData.id = -1; + } + return hitData; + } + + function pinnedId() { + return storedData.pinned ? storedData.id : -1; + } + + function toggleId(id, ids) { + if (ids.indexOf(id) > -1) { + return utils.difference(ids, [id]); + } + return [id].concat(ids); + } + + // If hit ids have changed, update stored hit ids and fire 'hover' event + // evt: (optional) mouse event + function updateSelectionState(newData) { + var nonEmpty = newData && (newData.ids.length || newData.id > -1); + transientIds = []; + if (!newData) { + newData = noHitData(); + selectionIds = []; + } + + if (!testHitChange(storedData, newData)) { + return; + } + + storedData = newData; + gui.container.findChild('.map-layers').classed('symbol-hit', nonEmpty); + if (active) { + triggerHitEvent('change'); + } + } + + // check if an event is used in the current interaction mode + function eventIsEnabled(type) { + if (type == 'click' && !clickable()) { + return false; + } + if ((type == 'drag' || type == 'dragstart' || type == 'dragend') && !draggable()) { + return false; + } + return true; + } + + function isOverMap(e) { + return e.x >= 0 && e.y >= 0 && e.x < ext.width() && e.y < ext.height(); + } + + function handlePointerEvent(e) { + if (!hitTest || !active) return; + if (self.getHitId() == -1) return; // ignore pointer events when no features are being hit + // don't block pan and other navigation in modes when they are not being used + if (eventIsEnabled(e.type)) { + e.stopPropagation(); // block navigation + triggerHitEvent(e.type, e.data); + } + } + + // d: event data (may be a pointer event object, an ordinary object or null) + function triggerHitEvent(type, d) { + // Merge stored hit data into the event data + var eventData = utils.extend({mode: interactionMode}, d || {}, storedData); + if (transientIds.length) { + eventData.ids = utils.uniq(transientIds.concat(eventData.ids || [])); + } + self.dispatchEvent(type, eventData); + } + + // Test if two hit data objects are equivalent + function testHitChange(a, b) { + // check change in 'container', e.g. so moving from anchor hit to label hit + // is detected + if (sameIds(a.ids, b.ids) && a.container == b.container && a.pinned == b.pinned && a.id == b.id) { + return false; + } + return true; + } + + function sameIds(a, b) { + if (a.length != b.length) return false; + for (var i=0; i Date: Sun, 11 Feb 2024 20:43:22 -0500 Subject: [PATCH 075/509] Update -graticule command --- REFERENCE.md | 4 ++-- src/cli/mapshaper-options.mjs | 2 +- src/commands/mapshaper-graticule.mjs | 5 ++++- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/REFERENCE.md b/REFERENCE.md index 40f5c749c..30b2ef810 100644 --- a/REFERENCE.md +++ b/REFERENCE.md @@ -1,6 +1,6 @@ # COMMAND REFERENCE -This documentation applies to version 0.6.61 of mapshaper's command line program. Run `mapshaper -v` to check your version. For an introduction to the command line tool, read [this page](https://github.com/mbloch/mapshaper/wiki/Introduction-to-the-Command-Line-Tool) first. +This documentation applies to version 0.6.62 of mapshaper's command line program. Run `mapshaper -v` to check your version. For an introduction to the command line tool, read [this page](https://github.com/mbloch/mapshaper/wiki/Introduction-to-the-Command-Line-Tool) first. ## Command line syntax @@ -735,7 +735,7 @@ Create a graticule layer appropriate for a world map centered on longitude 0. `polygon` Create an polygon enclosing the entire area of the graticule. Useful for creating background or outline shapes for clipped projections, like Robinson or Stereographic. -`interval=` Specify the spacing of graticule lines (in degrees). Options include: 5, 10, 15, 30, 45. Default is 10. +`interval=` Specify the spacing of graticule lines (in degrees). Common options are: 5, 10, 15, 30, 45. Default is 10. ### -grid diff --git a/src/cli/mapshaper-options.mjs b/src/cli/mapshaper-options.mjs index 56310c548..7fb59efbf 100644 --- a/src/cli/mapshaper-options.mjs +++ b/src/cli/mapshaper-options.mjs @@ -983,7 +983,7 @@ export function getOptionParser() { parser.command('graticule') .describe('create a graticule layer') .option('interval', { - describe: 'size of grid cells in degrees (options: 5 10 15 30 45, default is 10)', + describe: 'size of grid cells in degrees (default is 10)', type: 'number' }) .option('polygon', { diff --git a/src/commands/mapshaper-graticule.mjs b/src/commands/mapshaper-graticule.mjs index 3cf145370..4aa7c6182 100644 --- a/src/commands/mapshaper-graticule.mjs +++ b/src/commands/mapshaper-graticule.mjs @@ -82,7 +82,9 @@ function addOutlineToGraticule(graticule, outline) { // function createGraticule(P, outlined, opts) { var interval = opts.interval || 10; - if (![5,10,15,20,30,45].includes(interval)) stop('Invalid interval:', interval); + if (Math.round(interval) != interval || interval > 0 === false) { + stop('Invalid interval:', interval); + } var lon0 = P.lam0 * 180 / Math.PI; var precision = interval > 10 ? 1 : 0.5; // degrees between each vertex var xstep = interval; @@ -123,6 +125,7 @@ function createGraticule(P, outlined, opts) { return Math.abs(a - b) < interval / 5; } + // extended: meridian extends to pole function createMeridian(x, extended) { var y0 = ystep <= 15 ? ystep : 0; createMeridianPart(x, -90 + y0, 90 - y0); From 40f00e0c9a1701b77cdb1a2b9176161d402b6e7d Mon Sep 17 00:00:00 2001 From: Matthew Bloch Date: Sun, 11 Feb 2024 20:49:44 -0500 Subject: [PATCH 076/509] Run commands can support multiple targets --- src/expressions/mapshaper-target-proxy.mjs | 13 ++++++------- .../mapshaper-template-expressions.mjs | 17 +++++++++++++++-- test/run-test.mjs | 17 +++++++++++++++++ 3 files changed, 38 insertions(+), 9 deletions(-) diff --git a/src/expressions/mapshaper-target-proxy.mjs b/src/expressions/mapshaper-target-proxy.mjs index 1ced56ddd..1bc3030f2 100644 --- a/src/expressions/mapshaper-target-proxy.mjs +++ b/src/expressions/mapshaper-target-proxy.mjs @@ -4,22 +4,21 @@ import { addGetters } from '../expressions/mapshaper-expression-utils'; // import { importGeoJSON } from '../geojson/geojson-import'; export function getTargetProxy(target) { - var lyr = target.layers[0]; - var data = getLayerInfo(lyr, target.dataset); // layer_name, feature_count etc - data.layer = lyr; - data.dataset = target.dataset; - addGetters(data, { + var proxy = getLayerInfo(target.layer, target.dataset); // layer_name, feature_count etc + proxy.layer = target.layer; + proxy.dataset = target.dataset; + addGetters(proxy, { // export as an object, not a string or buffer geojson: getGeoJSON }); function getGeoJSON() { - var features = exportLayerAsGeoJSON(lyr, target.dataset, {rfc7946: true}, true); + var features = exportLayerAsGeoJSON(target.layer, target.dataset, {rfc7946: true}, true); return { type: 'FeatureCollection', features: features }; } - return data; + return proxy; } diff --git a/src/expressions/mapshaper-template-expressions.mjs b/src/expressions/mapshaper-template-expressions.mjs index 9754565a7..d183acdb7 100644 --- a/src/expressions/mapshaper-template-expressions.mjs +++ b/src/expressions/mapshaper-template-expressions.mjs @@ -3,6 +3,7 @@ import { getStashedVar } from '../mapshaper-stash'; import { getTargetProxy } from '../expressions/mapshaper-target-proxy'; import { stop, error } from '../utils/mapshaper-logging'; import utils from '../utils/mapshaper-utils'; +import { expandCommandTargets } from '../dataset/mapshaper-target-utils'; // Support for evaluating expressions embedded in curly-brace templates @@ -10,8 +11,20 @@ import utils from '../utils/mapshaper-utils'; export async function evalTemplateExpression(expression, targets, ctx) { ctx = ctx || getBaseContext(); // TODO: throw an error if target is used when there are multiple targets - if (targets && targets.length == 1) { - Object.defineProperty(ctx, 'target', {value: getTargetProxy(targets[0])}); + if (targets) { + var proxies = expandCommandTargets(targets).reduce(function(memo, target) { + var proxy = getTargetProxy(target); + memo.push(proxy); + // index targets by layer name too + if (target.layer.name) { + memo[target.layer.name] = proxy; + } + return memo; + }, []); + Object.defineProperty(ctx, 'targets', {value: proxies}); + if (proxies.length == 1) { + Object.defineProperty(ctx, 'target', {value: proxies[0]}); + } } // Add global functions and data to the expression context // (e.g. functions imported via the -require command) diff --git a/test/run-test.mjs b/test/run-test.mjs index 0621dea47..d95632583 100644 --- a/test/run-test.mjs +++ b/test/run-test.mjs @@ -57,6 +57,23 @@ describe('mapshaper-run.js', function () { assert.deepEqual(JSON.parse(out['selection.json']), [{foo: 'bam'}]) }) + it('supports targets getter for multiple targets', async function() { + var a = { + type: 'LineString', + coordinates: [[0, 0], [1, 1]] + }; + var b = { + type: 'LineString', + coordinates: [[0, 0], [2, 2]] + }; + // test that targets can be referenced by name in a run expression + var cmd = `-i a.json b.json combine-files + -run '-merge-layers name={targets.a.layer_name + targets.b.layer_name}' + -o`; + var out = await api.applyCommands(cmd, {'a.json': a, 'b.json': b}); + assert(!!out['ab.json']); + }); + it('supports io.ifile() alias', async function() { var data = [{foo: 'bar'}, {foo: 'baz'}, {foo: 'bam'}]; var include = '{ \ From 9eaff706855e436171df3685099c1bd8470073e7 Mon Sep 17 00:00:00 2001 From: Matthew Bloch Date: Sun, 11 Feb 2024 21:01:57 -0500 Subject: [PATCH 077/509] v0.6.62 --- CHANGELOG.md | 4 ++++ REFERENCE.md | 5 +++++ package-lock.json | 4 ++-- package.json | 2 +- 4 files changed, 12 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 395916ab9..dc1cc02f2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +v0.6.62 +* Removed restrictions on the allowable size of the graticule interval (in degrees). +* Added `targets` object to the `-run` command expression context, giving access to multiple target layers. + v0.6.61 * Introduced the `fix-geometry` option to the `-snap` and `-o` commands, for removing segment intersections caused by coordinate rounding and TopoJSON quantization. diff --git a/REFERENCE.md b/REFERENCE.md index 30b2ef810..2099826cc 100644 --- a/REFERENCE.md +++ b/REFERENCE.md @@ -1071,6 +1071,7 @@ Create mapshaper commands on-the-fly and run them. Expression context: +If command has a single target layer: `target` object provides data and information about the command's target layer - `target.layer_name` Name of layer - `target.geojson` (getter) Returns a GeoJSON FeatureCollection for the layer @@ -1081,6 +1082,10 @@ Expression context: - `target.bbox` GeoJSON-style bounding box - `target.proj4` PROJ-formatted string giving the CRS (coordinate reference system) of the layer +`targets` object gives access to all layers targetted by the run command. +- by numerical index, like an array (`targets[0]` refers to the first target layer) +- by layer name (`targets.states` refers to a layer named "states") + `io` object has a method for passing data to the `-i` command. - `io.ifile(, )` Create a temp file to use as input in a `-run` command (see example 2 below) diff --git a/package-lock.json b/package-lock.json index 46a2ac834..b1779a3ff 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "mapshaper", - "version": "0.6.61", + "version": "0.6.62", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "mapshaper", - "version": "0.6.61", + "version": "0.6.62", "license": "MPL-2.0", "dependencies": { "@placemarkio/tokml": "^0.3.3", diff --git a/package.json b/package.json index 2d1c1e38c..d3aef23fa 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "mapshaper", - "version": "0.6.61", + "version": "0.6.62", "description": "A tool for editing vector datasets for mapping and GIS.", "keywords": [ "shapefile", From fe9cdc2606a37afc1a141d0e74790fef278cdd64 Mon Sep 17 00:00:00 2001 From: Matthew Bloch Date: Tue, 13 Feb 2024 10:34:38 -0500 Subject: [PATCH 078/509] Fixes --- src/expressions/mapshaper-template-expressions.mjs | 7 ++++++- src/geom/mapshaper-units.mjs | 2 +- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/expressions/mapshaper-template-expressions.mjs b/src/expressions/mapshaper-template-expressions.mjs index d183acdb7..53aea9214 100644 --- a/src/expressions/mapshaper-template-expressions.mjs +++ b/src/expressions/mapshaper-template-expressions.mjs @@ -74,7 +74,12 @@ export function parseTemplate(str) { export function applyReplacements(template, replacements) { var parts = parseTemplateParts(template); return parts.reduce(function(memo, s, i) { - return i % 2 == 1 ? memo + (replacements.shift() || '') : memo + s; + if (i % 2 == 1) { + memo += replacements.length ? replacements.shift() : ''; + } else { + memo += s; + } + return memo; }, ''); } diff --git a/src/geom/mapshaper-units.mjs b/src/geom/mapshaper-units.mjs index ca7b27198..c2b3218b6 100644 --- a/src/geom/mapshaper-units.mjs +++ b/src/geom/mapshaper-units.mjs @@ -139,7 +139,7 @@ export function convertIntervalPair(opt, crs) { // Accepts a single value or a list of four values. List order is l,b,t,r export function convertFourSides(opt, crs, bounds) { - var arr = opt.split(','); + var arr = opt.includes(',') ? opt.split(',') : opt.split(' '); if (arr.length == 1) { arr = [arr[0], arr[0], arr[0], arr[0]]; } else if (arr.length != 4) { From ea1ede59e591f1c7568ae9fd7f8bef81c05e5c2c Mon Sep 17 00:00:00 2001 From: Matthew Bloch Date: Tue, 13 Feb 2024 17:31:16 -0500 Subject: [PATCH 079/509] Support nested if statements --- package.json | 2 +- src/cli/mapshaper-run-commands.mjs | 1 - src/commands/mapshaper-if-elif-else-endif.mjs | 27 +++------ src/mapshaper-control-flow.mjs | 56 ++++++++++++------- test/if-elif-else-test.mjs | 33 +++++++++++ 5 files changed, 80 insertions(+), 39 deletions(-) diff --git a/package.json b/package.json index d3aef23fa..0071b6f01 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "mapshaper", - "version": "0.6.62", + "version": "0.6.63", "description": "A tool for editing vector datasets for mapping and GIS.", "keywords": [ "shapefile", diff --git a/src/cli/mapshaper-run-commands.mjs b/src/cli/mapshaper-run-commands.mjs index 845135fba..60a569e34 100644 --- a/src/cli/mapshaper-run-commands.mjs +++ b/src/cli/mapshaper-run-commands.mjs @@ -8,7 +8,6 @@ import { error, UserError, message, print, loggingEnabled, printError } from '.. import { Job } from '../mapshaper-job'; import { runningInBrowser } from '../mapshaper-env'; import utils from '../utils/mapshaper-utils'; -import { resetControlFlow } from '../mapshaper-control-flow'; import require from '../mapshaper-require'; import { commandTakesFileInput } from '../cli/mapshaper-command-info'; import { version } from '../../package.json'; diff --git a/src/commands/mapshaper-if-elif-else-endif.mjs b/src/commands/mapshaper-if-elif-else-endif.mjs index c1dd9f86b..15e925352 100644 --- a/src/commands/mapshaper-if-elif-else-endif.mjs +++ b/src/commands/mapshaper-if-elif-else-endif.mjs @@ -3,13 +3,14 @@ import cmd from '../mapshaper-cmd'; import { layerIsEmpty } from '../dataset/mapshaper-layer-utils'; import { stop } from '../utils/mapshaper-logging'; import { - resetControlFlow, inControlBlock, enterActiveBranch, enterInactiveBranch, inActiveBranch, - blockWasActive, - jobIsStopped + blockIsComplete, + jobIsStopped, + enterBlock, + leaveBlock } from '../mapshaper-control-flow'; import { compileIfCommandExpression } from '../expressions/mapshaper-layer-expressions'; @@ -17,13 +18,11 @@ export function skipCommand(cmdName, job) { // allow all control commands to run if (jobIsStopped(job)) return true; if (isControlFlowCommand(cmdName)) return false; - return inControlBlock(job) && !inActiveBranch(job); + return !inActiveBranch(job); } cmd.if = function(job, opts) { - if (inControlBlock(job)) { - stop('Nested -if commands are not supported.'); - } + enterBlock(job); evaluateIf(job, opts); }; @@ -38,7 +37,7 @@ cmd.else = function(job) { if (!inControlBlock(job)) { stop('-else command must be preceded by an -if command.'); } - if (blockWasActive(job)) { + if (blockIsComplete(job)) { enterInactiveBranch(job); } else { enterActiveBranch(job); @@ -49,7 +48,7 @@ cmd.endif = function(job) { if (!inControlBlock(job)) { stop('-endif command must be preceded by an -if command.'); } - resetControlFlow(job); + leaveBlock(job); }; function isControlFlowCommand(cmd) { @@ -57,24 +56,16 @@ function isControlFlowCommand(cmd) { } function test(catalog, opts) { - // var targ = getTargetLayer(catalog, opts); if (opts.expression) { return compileIfCommandExpression(opts.expression, catalog, opts)(); } - // if (opts.empty) { - // return layerIsEmpty(targ.layer); - // } - // if (opts.not_empty) { - // return !layerIsEmpty(targ.layer); - // } return true; } function evaluateIf(job, opts) { - if (!blockWasActive(job) && test(job.catalog, opts)) { + if (!blockIsComplete(job) && test(job.catalog, opts)) { enterActiveBranch(job); } else { enterInactiveBranch(job); } } - diff --git a/src/mapshaper-control-flow.mjs b/src/mapshaper-control-flow.mjs index b9084a982..4b99a33ee 100644 --- a/src/mapshaper-control-flow.mjs +++ b/src/mapshaper-control-flow.mjs @@ -1,41 +1,59 @@ -export function resetControlFlow(job) { - job.control = null; -} - export function stopJob(job) { - getState(job).stopped = true; + job.stopped = true; } export function jobIsStopped(job) { - return getState(job).stopped === true; + return job.stopped === true; } export function inControlBlock(job) { - return !!getState(job).inControlBlock; + return getStack(job).length > 0; +} + +export function enterBlock(job) { + var stack = getStack(job); + // skip over a block if it is inside an inactive branch + stack.push({ + active: false, + complete: !inActiveBranch(job) + }); +} + +export function leaveBlock(job) { + var stack = getStack(job); + stack.pop(); } export function enterActiveBranch(job) { - var state = getState(job); - state.inControlBlock = true; - state.active = true; - state.complete = true; + var block = getCurrentBlock(job); + block.active = true; + block.complete = true; } export function enterInactiveBranch(job) { - var state = getState(job); - state.inControlBlock = true; - state.active = false; + var block = getCurrentBlock(job); + block.active = false; +} + +export function blockIsComplete(job) { + var block = getCurrentBlock(job); + return block.complete; } -export function blockWasActive(job) { - return !!getState(job).complete; +function getCurrentBlock(job) { + var stack = getStack(job); + return stack[stack.length-1]; } +// A branch is considered to be active if it and all its parents are active +// (Main branch is considered to be active) export function inActiveBranch(job) { - return !!getState(job).active; + var stack = getStack(job); + return stack.length === 0 || stack.every(block => block.active); } -function getState(job) { - return job.control || (job.control = {}); +function getStack(job) { + job.control = job.control || {stack: []}; + return job.control.stack; } diff --git a/test/if-elif-else-test.mjs b/test/if-elif-else-test.mjs index e2ddec8ec..83ae16d24 100644 --- a/test/if-elif-else-test.mjs +++ b/test/if-elif-else-test.mjs @@ -18,6 +18,7 @@ describe('mapshaper-if-elif-else-endif.js', function () { }); }); + it ('test expression', function(done) { var data = { type: 'GeometryCollection', @@ -188,4 +189,36 @@ describe('mapshaper-if-elif-else-endif.js', function () { done(); }); }); + + it ('nested if statement 1', async function() { + var data = 'name\na'; + var cmd = `-i data.csv + -if true -each 'name="b"' + -if false -each 'name="c"' + -elif true -each 'name="d"' + -else -each 'name="e"' + -endif + -else -each name="f"' + -endif + -o`; + var out = await api.applyCommands(cmd, {'data.csv': data}); + assert.equal(out['data.csv'], 'name\nd'); + }) + + it ('nested if statement 2', async function() { + var data = 'name\na'; + var cmd = `-i data.csv + -if false -each 'name="b"' + -if true -each 'name="c"' + -elif true -each 'name="d"' + -else -each 'name="e"' + -endif + -else -each name="f"' + -endif + -o`; + var out = await api.applyCommands(cmd, {'data.csv': data}); + assert.equal(out['data.csv'], 'name\nf'); + }) + + }) From 097be221b7c8845bc0cca5a8e3a0459e0d88d746 Mon Sep 17 00:00:00 2001 From: Matthew Bloch Date: Tue, 13 Feb 2024 17:33:18 -0500 Subject: [PATCH 080/509] v0.6.63 --- CHANGELOG.md | 3 +++ package-lock.json | 4 ++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index dc1cc02f2..a8c4b80cc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,6 @@ +v0.6.63 +* Add support for nested -if/-elif/-else/-endif commands. + v0.6.62 * Removed restrictions on the allowable size of the graticule interval (in degrees). * Added `targets` object to the `-run` command expression context, giving access to multiple target layers. diff --git a/package-lock.json b/package-lock.json index b1779a3ff..8e69325d1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "mapshaper", - "version": "0.6.62", + "version": "0.6.63", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "mapshaper", - "version": "0.6.62", + "version": "0.6.63", "license": "MPL-2.0", "dependencies": { "@placemarkio/tokml": "^0.3.3", From d8abfea7f33d2d5de31bb30718c04a9978f133f9 Mon Sep 17 00:00:00 2001 From: Matthew Bloch Date: Wed, 14 Feb 2024 13:46:30 -0500 Subject: [PATCH 081/509] Add target/targets to -if/-elif expressions, similar to -run --- CHANGELOG.md | 2 +- src/commands/mapshaper-if-elif-else-endif.mjs | 2 -- .../mapshaper-layer-expressions.mjs | 7 +++++-- src/expressions/mapshaper-target-proxy.mjs | 20 +++++++++++++++++++ .../mapshaper-template-expressions.mjs | 19 ++---------------- test/if-elif-else-test.mjs | 14 +++++++++++++ 6 files changed, 42 insertions(+), 22 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a8c4b80cc..689027383 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -49,7 +49,7 @@ v0.6.49 * -join interpolate now works correctly when the source layer contains overlapping polygons. v0.6.48 -* Added `target.geojson` getter that returns the contenst of the target layer as a GeoJSON `FeatureCollection`. Useful in the `-run` command for passing layer data to an external script. +* Added `target.geojson` getter that returns the contents of the target layer as a GeoJSON `FeatureCollection`. Useful in the `-run` command for passing layer data to an external script. v0.6.47 * Added support for using JSON data as an argument to the -i command. diff --git a/src/commands/mapshaper-if-elif-else-endif.mjs b/src/commands/mapshaper-if-elif-else-endif.mjs index 15e925352..383957c7a 100644 --- a/src/commands/mapshaper-if-elif-else-endif.mjs +++ b/src/commands/mapshaper-if-elif-else-endif.mjs @@ -1,6 +1,5 @@ import cmd from '../mapshaper-cmd'; -import { layerIsEmpty } from '../dataset/mapshaper-layer-utils'; import { stop } from '../utils/mapshaper-logging'; import { inControlBlock, @@ -15,7 +14,6 @@ import { import { compileIfCommandExpression } from '../expressions/mapshaper-layer-expressions'; export function skipCommand(cmdName, job) { - // allow all control commands to run if (jobIsStopped(job)) return true; if (isControlFlowCommand(cmdName)) return false; return !inActiveBranch(job); diff --git a/src/expressions/mapshaper-layer-expressions.mjs b/src/expressions/mapshaper-layer-expressions.mjs index a8b8aa3c8..5edf8af70 100644 --- a/src/expressions/mapshaper-layer-expressions.mjs +++ b/src/expressions/mapshaper-layer-expressions.mjs @@ -3,13 +3,12 @@ import { compileExpressionToFunction } from './mapshaper-expressions'; import { stop } from '../utils/mapshaper-logging'; import cli from '../cli/mapshaper-cli-utils'; import { getStashedVar } from '../mapshaper-stash'; - +import { addTargetProxies } from './mapshaper-target-proxy'; export function compileIfCommandExpression(expr, catalog, opts) { return compileLayerExpression(expr, catalog, opts); } - export function compileLayerExpression(expr, catalog, opts) { var targetId = opts.layer || opts.target || null; var targets = catalog.findCommandTargets(targetId); @@ -25,6 +24,10 @@ export function compileLayerExpression(expr, catalog, opts) { } else { ctx = getNullLayerProxy(targets); } + + // add target/targets proxies, for consistency with the -run command + addTargetProxies(targets, ctx); + ctx.global = defs; // TODO: remove duplication with mapshaper.expressions.mjs var func = compileExpressionToFunction(expr, opts); diff --git a/src/expressions/mapshaper-target-proxy.mjs b/src/expressions/mapshaper-target-proxy.mjs index 1bc3030f2..15c9a62a6 100644 --- a/src/expressions/mapshaper-target-proxy.mjs +++ b/src/expressions/mapshaper-target-proxy.mjs @@ -1,8 +1,28 @@ import { getLayerInfo } from '../commands/mapshaper-info'; import { exportLayerAsGeoJSON } from '../geojson/geojson-export'; import { addGetters } from '../expressions/mapshaper-expression-utils'; +import { expandCommandTargets } from '../dataset/mapshaper-target-utils'; // import { importGeoJSON } from '../geojson/geojson-import'; + +export function addTargetProxies(targets, ctx) { + if (targets && targets.length > 0) { + var proxies = expandCommandTargets(targets).reduce(function(memo, target) { + var proxy = getTargetProxy(target); + memo.push(proxy); + // index targets by layer name too + if (target.layer.name) { + memo[target.layer.name] = proxy; + } + return memo; + }, []); + Object.defineProperty(ctx, 'targets', {value: proxies}); + if (proxies.length == 1) { + Object.defineProperty(ctx, 'target', {value: proxies[0]}); + } + } +} + export function getTargetProxy(target) { var proxy = getLayerInfo(target.layer, target.dataset); // layer_name, feature_count etc proxy.layer = target.layer; diff --git a/src/expressions/mapshaper-template-expressions.mjs b/src/expressions/mapshaper-template-expressions.mjs index 53aea9214..30e525f35 100644 --- a/src/expressions/mapshaper-template-expressions.mjs +++ b/src/expressions/mapshaper-template-expressions.mjs @@ -1,9 +1,8 @@ import { getBaseContext } from '../expressions/mapshaper-expressions'; import { getStashedVar } from '../mapshaper-stash'; -import { getTargetProxy } from '../expressions/mapshaper-target-proxy'; +import { addTargetProxies } from '../expressions/mapshaper-target-proxy'; import { stop, error } from '../utils/mapshaper-logging'; import utils from '../utils/mapshaper-utils'; -import { expandCommandTargets } from '../dataset/mapshaper-target-utils'; // Support for evaluating expressions embedded in curly-brace templates @@ -11,21 +10,7 @@ import { expandCommandTargets } from '../dataset/mapshaper-target-utils'; export async function evalTemplateExpression(expression, targets, ctx) { ctx = ctx || getBaseContext(); // TODO: throw an error if target is used when there are multiple targets - if (targets) { - var proxies = expandCommandTargets(targets).reduce(function(memo, target) { - var proxy = getTargetProxy(target); - memo.push(proxy); - // index targets by layer name too - if (target.layer.name) { - memo[target.layer.name] = proxy; - } - return memo; - }, []); - Object.defineProperty(ctx, 'targets', {value: proxies}); - if (proxies.length == 1) { - Object.defineProperty(ctx, 'target', {value: proxies[0]}); - } - } + addTargetProxies(targets, ctx); // Add global functions and data to the expression context // (e.g. functions imported via the -require command) var globals = getStashedVar('defs') || {}; diff --git a/test/if-elif-else-test.mjs b/test/if-elif-else-test.mjs index 83ae16d24..59f024b79 100644 --- a/test/if-elif-else-test.mjs +++ b/test/if-elif-else-test.mjs @@ -18,6 +18,20 @@ describe('mapshaper-if-elif-else-endif.js', function () { }); }); + it ('test target proxy', async function() { + var data = [{foo: 'a', bar: 'b'}, {}]; + var cmd = `-i stuff.json + -if 'target.layer_name == "stuff"' + -each 'bar = "c"' + -else + -each 'foo = "c"' + -endif + -o`; + var out = await api.applyCommands(cmd, {'stuff.json': data}); + var data2 = JSON.parse(out['stuff.json']); + assert.deepEqual(data2, [{foo: 'a', bar: 'c'}, {bar: 'c'}]) + }) + it ('test expression', function(done) { var data = { From 08c7426a71958f26d7317aae8ca3ebbe44579380 Mon Sep 17 00:00:00 2001 From: Matthew Bloch Date: Mon, 19 Feb 2024 18:42:53 -0500 Subject: [PATCH 082/509] Support preloading .zip files in mapshaper-gui --- src/io/mapshaper-file-types.mjs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/io/mapshaper-file-types.mjs b/src/io/mapshaper-file-types.mjs index 323ad1e1b..8c6823ec4 100644 --- a/src/io/mapshaper-file-types.mjs +++ b/src/io/mapshaper-file-types.mjs @@ -51,7 +51,7 @@ export function couldBeDsvFile(name) { // File looks like an importable file type // name: filename or path export function looksLikeImportableFile(name) { - return !!guessInputFileType(name); + return !!guessInputFileType(name) || isImportableAsBinary(name); } // File looks like a directly readable data file type From 12d1599df5814bbff09ee580457021563c300ff6 Mon Sep 17 00:00:00 2001 From: Matthew Bloch Date: Mon, 19 Feb 2024 21:46:11 -0500 Subject: [PATCH 083/509] Fix scalebar length for CRS in units of feet --- src/commands/mapshaper-scalebar.mjs | 176 +++++++++++++++++----------- 1 file changed, 107 insertions(+), 69 deletions(-) diff --git a/src/commands/mapshaper-scalebar.mjs b/src/commands/mapshaper-scalebar.mjs index 38028e1e6..521cf80c1 100644 --- a/src/commands/mapshaper-scalebar.mjs +++ b/src/commands/mapshaper-scalebar.mjs @@ -5,6 +5,7 @@ import utils from '../utils/mapshaper-utils'; import { DataTable } from '../datatable/mapshaper-data-table'; import { stop, message } from '../utils/mapshaper-logging'; import { symbolRenderers } from '../svg/svg-symbols'; +import { importLineString } from '../svg/geojson-to-svg'; cmd.scalebar = function(catalog, opts) { var lyr = getScalebarLayer(opts); @@ -23,99 +24,136 @@ export function getScalebarLayer(opts) { } // TODO: generalize to other kinds of furniture as they are developed -function getScalebarPosition(d) { - var opts = { // defaults - valign: 'top', - halign: 'left', - voffs: 10, - hoffs: 10 +function getScalebarPosition(opts) { + var pos = opts.position || 'top-left'; + return { + valign: pos.includes('top') ? 'top' : 'bottom', + halign: pos.includes('left') ? 'left' : 'right' }; - if (+d.left > 0) { - opts.hoffs = +d.left; +} + +var styleOpts = { + a: { + bar_width: 3, + tic_length: 0 + }, + b: { + bar_width: 1, + tic_length: 5 } - if (+d.top > 0) { - opts.voffs = +d.top; +}; + +var defaultOpts = { + position: 'top-left', + label_position: 'top', + label_offset: 4, + font_size: 12, + margin: 12 +}; + +function getScalebarOpts(d) { + var style = d.style == 'b' || d.style == 'B' ? 'b' : 'a'; + return Object.assign({}, defaultOpts, styleOpts[style], d, {style: style}); +} + +// approximate pixel height of the scalebar +function getScalebarHeight(opts) { + return Math.round(opts.bar_width + opts.label_offset + + opts.tic_length + opts.font_size * 0.8); +} + +function renderAsSvg(length, text, opts) { + // label part + var xOff = opts.style == 'b' ? Math.round(opts.font_size / 4) : 0; + var alignLeft = opts.style == 'a' && opts.position.includes('left'); + var anchorX = alignLeft ? -xOff : length + xOff; + var anchorY = opts.bar_width + + opts.tic_length + opts.label_offset; + if (opts.label_position == 'top') { + anchorY = -opts.label_offset - opts.tic_length; } - if (+d.right > 0) { - opts.hoffs = +d.right; - opts.halign = 'right'; + var labelOpts = { + 'label-text': text, + 'font-size': opts.font_size, + 'text-anchor': alignLeft ? 'start': 'end', + 'dominant-baseline': opts.label_position == 'top' ? 'auto' : 'hanging' + //// 'dominant-baseline': labelPos == 'top' ? 'text-after-edge' : 'text-before-edge' + // 'text-after-edge' is buggy in Safari and unsupported by Illustrator, + // so I'm using 'hanging' and 'auto', which seem to be well supported. + // downside: requires a kludgy multiplier to calculate scalebar height (see above) + }; + var labelPart = symbolRenderers.label(labelOpts, anchorX, anchorY); + var zeroOpts = Object.assign({}, labelOpts, {'label-text': '0', 'text-anchor': 'start'}); + var zeroLabel = symbolRenderers.label(zeroOpts, -xOff, anchorY); + + // bar part + var y = 0; + var y2 = opts.tic_length + opts.bar_width / 2; + var coords; + if (opts.label_position == "top") { + y2 = -y2; } - if (+d.bottom > 0) { - opts.voffs = +d.bottom; - opts.valign = 'bottom'; + if (opts.tic_length > 0) { + coords = [[0, y2], [0, y], [length, y], [length, y2]]; + } else { + coords = [[0, y], [length, y]]; } - return opts; + var barPart = importLineString(coords); + Object.assign(barPart.properties, { + stroke: 'black', + fill: 'none', + 'stroke-width': opts.bar_width, + 'stroke-linecap': 'butt', + 'stroke-linejoin': 'miter' + }); + var parts = opts.style == 'b' ? [zeroLabel, labelPart, barPart] : [labelPart, barPart]; + return { + tag: 'g', + children: parts + }; } export function renderScalebar(d, frame) { - var pos = getScalebarPosition(d); + if (!frame.crs) { + message('Unable to render scalebar: unknown CRS.'); + return []; + } + if (frame.width > 0 === false) { + return []; + } + + var opts = getScalebarOpts(d); var metersPerPx = getMapFrameMetersPerPixel(frame); var frameWidthPx = frame.width; var unit = d.label ? parseScalebarUnits(d.label) : 'mile'; var number = d.label ? parseScalebarNumber(d.label) : null; var label = number && unit ? d.label : getAutoScalebarLabel(frameWidthPx, metersPerPx, unit); - var scalebarKm = parseScalebarLabelToKm(label); - var barHeight = 3; - var labelOffs = 4; - var fontSize = +d.font_size || 12; - var width = Math.round(scalebarKm / metersPerPx * 1000); - var height = Math.round(barHeight + labelOffs + fontSize * 0.8); - var labelPos = d.label_position == 'top' ? 'top' : 'bottom'; - var anchorX = pos.halign == 'left' ? 0 : width; - var anchorY = barHeight + labelOffs; - var dx = pos.halign == 'right' ? frameWidthPx - width - pos.hoffs : pos.hoffs; - var dy = pos.valign == 'bottom' ? frame.height - height - pos.voffs : pos.voffs; + var scalebarKm = parseScalebarLabelToKm(label); if (scalebarKm > 0 === false) { message('Unusable scalebar label:', label); return []; } - if (frameWidthPx > 0 === false) { - return []; - } - - if (!frame.crs) { - message('Unable to render scalebar: unknown CRS.'); - return []; + var width = Math.round(scalebarKm / metersPerPx * 1000); + if (width > 0 === false) { + stop("Null scalebar length"); } - if (labelPos == 'top') { - anchorY = -labelOffs; - dy += Math.round(labelOffs + fontSize * 0.8); + var pos = getScalebarPosition(opts); + var height = getScalebarHeight(opts); + var dx = pos.halign == 'right' ? frameWidthPx - width - opts.margin : opts.margin; + var dy = pos.valign == 'bottom' ? frame.height - height - opts.margin : opts.margin; + if (opts.label_position == 'top') { + dy += Math.round(opts.label_offset + opts.tic_length + opts.font_size * 0.8 + opts.bar_width / 2); + } else { + dy += Math.round(opts.bar_width / 2); } - if (width > 0 === false) { - stop("Null scalebar length"); - } - var barObj = { - tag: 'rect', - properties: { - fill: 'black', - x: 0, - y: 0, - width: width, - height: barHeight - } - }; - var labelOpts = { - 'label-text': label, - 'font-size': fontSize, - 'text-anchor': pos.halign == 'left' ? 'start': 'end', - 'dominant-baseline': labelPos == 'top' ? 'auto' : 'hanging' - //// 'dominant-baseline': labelPos == 'top' ? 'text-after-edge' : 'text-before-edge' - // 'text-after-edge' is buggy in Safari and unsupported by Illustrator, - // so I'm using 'hanging' and 'auto', which seem to be well supported. - // downside: requires a kludgy multiplier to calculate scalebar height (see above) - }; - var labelObj = symbolRenderers.label(labelOpts, anchorX, anchorY); - var g = { - tag: 'g', - children: [barObj, labelObj], - properties: { - transform: 'translate(' + dx + ' ' + dy + ')' - } + var g = renderAsSvg(width, label, opts); + g.properties = { + transform: 'translate(' + dx + ' ' + dy + ')' }; + return [g]; } From 3c7c161090aa00d3c686a149ac64bccfc5f8f7df Mon Sep 17 00:00:00 2001 From: Matthew Bloch Date: Mon, 19 Feb 2024 21:47:17 -0500 Subject: [PATCH 084/509] Add a second scalebar style, add cmd help for -scalebar command --- src/cli/mapshaper-options.mjs | 34 ++++++++++++++++++++++++------- src/cli/mapshaper-run-command.mjs | 4 ++++ src/crs/mapshaper-projections.mjs | 4 ++-- 3 files changed, 33 insertions(+), 9 deletions(-) diff --git a/src/cli/mapshaper-options.mjs b/src/cli/mapshaper-options.mjs index 7fb59efbf..ed1303156 100644 --- a/src/cli/mapshaper-options.mjs +++ b/src/cli/mapshaper-options.mjs @@ -1987,13 +1987,33 @@ export function getOptionParser() { DEFAULT: true, describe: 'distance label, e.g. "35 miles"' }) - .option('top', {}) - .option('right', {}) - .option('bottom', {}) - .option('left', {}) - .option('font-size', {}) - // .option('font-family', {}) - .option('label-position', {}); // top or bottom + .option('style', { + describe: 'two options: a or b' + }) + .option('font-size', { + type: 'number' + }) + .option('tic-length', { + describe: 'length of tic marks (style b)', + type: 'number' + }) + .option('bar-width', { + describe: 'line width of bar', + type: 'number' + }) + .option('label-offset', { + type: 'number' + }) + .option('position', { + describe: 'e.g. bottom-right (default is top-left)' + }) + .option('label-position', { + describe: 'top or bottom' + }) + .option('margin', { + describe: 'offset in pixels from edge of map', + type: 'number' + }); parser.command('shape') .describe('create a polyline or polygon from coordinates') diff --git a/src/cli/mapshaper-run-command.mjs b/src/cli/mapshaper-run-command.mjs index 40b94672f..2dc87b051 100644 --- a/src/cli/mapshaper-run-command.mjs +++ b/src/cli/mapshaper-run-command.mjs @@ -121,6 +121,10 @@ export async function runCommand(command, job) { return done(null); } + if (name == 'comment') { + return done(null); + } + if (!job) job = new Job(); job.startCommand(command); diff --git a/src/crs/mapshaper-projections.mjs b/src/crs/mapshaper-projections.mjs index f6bf96551..658dffd02 100644 --- a/src/crs/mapshaper-projections.mjs +++ b/src/crs/mapshaper-projections.mjs @@ -244,10 +244,10 @@ export function requireDatasetsHaveCompatibleCRS(arr) { // x, y: a point location in projected coordinates // Returns k, the ratio of coordinate distance to distance on the ground export function getScaleFactorAtXY(x, y, crs) { - var dist = 1; + var dist = 1 / crs.to_meter; var lp = mproj.pj_inv_deg({x: x, y: y}, crs); var lp2 = mproj.pj_inv_deg({x: x + dist, y: y}, crs); - var k = dist / geom.greatCircleDistance(lp.lam, lp.phi, lp2.lam, lp2.phi); + var k = 1 / geom.greatCircleDistance(lp.lam, lp.phi, lp2.lam, lp2.phi); return k; } From 73aa4245c7cb557422e7d87a259879fed60ed89e Mon Sep 17 00:00:00 2001 From: Matthew Bloch Date: Mon, 19 Feb 2024 21:54:41 -0500 Subject: [PATCH 085/509] v0.6.64 --- CHANGELOG.md | 3 +++ REFERENCE.md | 16 ++++++++++++++-- package-lock.json | 4 ++-- package.json | 2 +- 4 files changed, 20 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 689027383..462ba141c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,6 @@ +v0.6.64 +* Added more options for the -scalebar command, including two styles, a and b. + v0.6.63 * Add support for nested -if/-elif/-else/-endif commands. diff --git a/REFERENCE.md b/REFERENCE.md index 2099826cc..9b7382762 100644 --- a/REFERENCE.md +++ b/REFERENCE.md @@ -1,6 +1,6 @@ # COMMAND REFERENCE -This documentation applies to version 0.6.62 of mapshaper's command line program. Run `mapshaper -v` to check your version. For an introduction to the command line tool, read [this page](https://github.com/mbloch/mapshaper/wiki/Introduction-to-the-Command-Line-Tool) first. +This documentation applies to version 0.6.64 of mapshaper's command line program. Run `mapshaper -v` to check your version. For an introduction to the command line tool, read [this page](https://github.com/mbloch/mapshaper/wiki/Introduction-to-the-Command-Line-Tool) first. ## Command line syntax @@ -1136,12 +1136,24 @@ module.exports.voronoi = async function(points, bbox) { ### -scalebar -Add a scale bar to an SVG map. The command creates a data-only layer containing the scale bar's data properties. A scale bar is rendered if this layer is included as a target layer in SVG output. +Add a scale bar to an SVG map. The command creates a data-only layer containing the scale bar's data properties. A scale bar is included in the SVG output file if the scale bar layer is included as an output layer. The length of the scale bar reflects the scale in the center of the map's rectangular frame. `
- @@ -245,55 +247,41 @@

Method

-
-
-

Mapshaper is an editor for map data

-
-
- -
-
-
- -
-

Drop or paste files here or select from a folder

-
Shapefile, GeoJSON, TopoJSON, KML and CSV files are supported
-
Files can be gzipped or in a zip archive
-
-
-
-

Quick import

-
Drop or paste files here to import with default settings
-
-
-
-
ConsoleDisplaySimplifyExport @@ -207,13 +208,13 @@

Basemaps

Simplification

-
+
?
Prevent small polygon features from disappearing at high simplification. Keeps the largest ring of multi-ring features.
-
+
?
Treat x, y values as Cartesian coordinates on a plane, rather than as longitude, latitude From 26f2c296b69ed4a8a0aff476551cfde63c2876f2 Mon Sep 17 00:00:00 2001 From: Matthew Bloch Date: Tue, 5 Aug 2025 15:39:35 -0400 Subject: [PATCH 280/509] Fix HTML validation errors and warnings --- www/index.html | 94 +++++++++++++++++++++++--------------------------- 1 file changed, 43 insertions(+), 51 deletions(-) diff --git a/www/index.html b/www/index.html index b1e5cc675..c55e942be 100644 --- a/www/index.html +++ b/www/index.html @@ -1,5 +1,5 @@ - + mapshaper @@ -42,24 +42,6 @@ - - - - - - - - - - - - - -
@@ -70,14 +52,14 @@
Settings
-
+
- +
- ConsoleDisplaySimplifyExport + ConsoleDisplayProjectSimplifyExport
WikiGitHub @@ -97,8 +79,8 @@

Unfortunately, mapshaper can't run in this

Layers

- - + +
@@ -147,7 +129,7 @@

Source files

Export options

-
+
@@ -162,8 +144,8 @@

File format

-
- +
+
?
Enter options from the command line interface for the -o command. Examples: bbox no-quantization @@ -172,8 +154,8 @@

File format

-
-
save to clipboard
+
+
save to clipboard
Export
@@ -185,8 +167,8 @@

File format

Display options

-
-
+
+

Basemaps

@@ -203,18 +185,33 @@

Basemaps

+ +

diff --git a/www/page.css b/www/page.css index 0e431956e..6d1cfb4d1 100644 --- a/www/page.css +++ b/www/page.css @@ -196,10 +196,17 @@ body.map-view { background-color: black; } -#donate-btn { +#sponsor-btn { color: #ffa; } +#sponsor-btn svg { + width: 12px; + height: 12px; + fill: currentColor; + vertical-align: -1px; +} + .separator { border-left: 1px solid white; height: 10px; diff --git a/www/donate.html b/www/sponsor.html similarity index 91% rename from www/donate.html rename to www/sponsor.html index fd791acd5..0ee4ad260 100644 --- a/www/donate.html +++ b/www/sponsor.html @@ -81,7 +81,7 @@ margin: 0 0 32px; } - .donate-buttons { + .sponsor-buttons { display: flex; gap: 12px; flex-wrap: wrap; @@ -113,7 +113,7 @@ background-color: #222; } - .donate-note { + .sponsor-note { font-size: 14px; color: #666; margin: 0 0 32px; @@ -159,7 +159,7 @@ @media (max-width: 480px) { main { padding: 24px 18px 60px; } h1 { font-size: 26px; } - .donate-buttons { flex-direction: column; align-items: stretch; } + .sponsor-buttons { flex-direction: column; align-items: stretch; } .btn { text-align: center; } } @@ -177,20 +177,20 @@

Support mapshaper

Mapshaper is free, open-source software for editing geographic data — used worldwide for everything from classroom exercises to professional map work.

-
From 1f450c7a8aa9a63d06f3c6c402a17def78249ff1 Mon Sep 17 00:00:00 2001 From: Matthew Bloch Date: Sat, 18 Apr 2026 14:32:24 -0400 Subject: [PATCH 336/509] Added privacy policy and TOS --- www/sponsor.html | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/www/sponsor.html b/www/sponsor.html index 0ee4ad260..e810e6def 100644 --- a/www/sponsor.html +++ b/www/sponsor.html @@ -156,6 +156,10 @@ color: #777; } + .footer-note a { + color: #777; + } + @media (max-width: 480px) { main { padding: 24px 18px 60px; } h1 { font-size: 26px; } @@ -167,8 +171,8 @@
@@ -207,6 +211,8 @@

Recent work

From 56e8f4b43611995abd8985713d000f7318a0fefd Mon Sep 17 00:00:00 2001 From: Matthew Bloch Date: Sat, 18 Apr 2026 19:31:15 -0400 Subject: [PATCH 337/509] commit web assets --- www/CNAME | 1 + www/privacy.html | 203 +++++++++++++++++++++++++++++++++++++++++++++++ www/terms.html | 188 +++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 392 insertions(+) create mode 100644 www/CNAME create mode 100644 www/privacy.html create mode 100644 www/terms.html diff --git a/www/CNAME b/www/CNAME new file mode 100644 index 000000000..0ac330be8 --- /dev/null +++ b/www/CNAME @@ -0,0 +1 @@ +mapshaper.org diff --git a/www/privacy.html b/www/privacy.html new file mode 100644 index 000000000..4329c87c0 --- /dev/null +++ b/www/privacy.html @@ -0,0 +1,203 @@ + + + + + +Privacy Policy — mapshaper + + + + + + + + + +
+ +

Privacy Policy

+

Last updated: April 2026

+ +

Overview

+

Mapshaper is free, open-source software for editing geographic data, hosted at mapshaper.org. This policy explains what information is collected when you use the site, how it is used, and what choices you have.

+

We collect as little information as possible. We do not sell or share your information with advertisers or data brokers.

+ +

Information collected

+

On mapshaper.org:

+
    +
  • Web analytics via Google Analytics. This includes pages visited, browser and device type, approximate location (typically city-level, derived from your IP address), and timestamps. The data helps us understand how the site is used.
  • +
  • Basemap requests. When the in-app basemap loads, the application requests assets from Mapbox servers. As with any web request, this transmits your IP address to Mapbox to facilitate data delivery and session accounting.
  • +
  • Standard server logs are kept by GitHub Pages, the hosting provider. As with any web request, this records your IP address, browser user-agent string, and the URL requested. GitHub uses these for traffic analysis, security monitoring, and abuse prevention.
  • +
+

On the support page:

+
    +
  • Email address, if you provide one for a payment receipt. The address is handled by the payment processor (Stripe via Ko-fi, or GitHub Sponsors), not stored by mapshaper.
  • +
  • Name and payment information are handled directly by the payment processor.
  • +
+ +

Information not collected

+
    +
  • Files you load into mapshaper for editing remain in your browser. They are not uploaded to our servers or to any third party.
  • +
  • We do not maintain user accounts or store any user data on our own servers.
  • +
  • We do not sell, rent, or share your information with advertisers or data brokers.
  • +
+ +

Third parties

+

The following services receive data when you use mapshaper:

+ + +

Cookies

+

Google Analytics sets cookies to track usage. You can opt out by:

+
    +
  • Adjusting your browser settings to block third-party cookies
  • +
  • Sending a Do Not Track signal
  • +
  • Installing the Google Analytics opt-out browser extension
  • +
  • Using a privacy-focused browser or extension that blocks analytics
  • +
+ +

EU and UK users (GDPR)

+

If you are in the European Union or United Kingdom, the General Data Protection Regulation gives you the right to access, correct, delete, or export the personal data we hold about you, and to object to processing. Because we do not maintain a user database, the data we hold about any individual is limited to analytics events and (if you have contributed) records held by the payment processors.

+

To exercise these rights, contact us using the information below. The legal basis for processing is legitimate interest (analytics) and contract (payment processing).

+ +

California residents (CCPA)

+

California residents have the right to know what personal information we collect, to request its deletion, and to opt out of any sale of personal information. We do not sell personal information.

+ +

Security

+

All connections to mapshaper.org use TLS encryption (HTTPS). Payment information is handled by PCI-compliant processors (Stripe). We do not store payment information on our own systems.

+ +

Children

+

Mapshaper is not directed at children under 13. We do not knowingly collect personal information from children.

+ +

Changes to this policy

+

This policy may be updated from time to time. The “Last updated” date at the top reflects the most recent change. We encourage you to review the policy periodically.

+ +

Contact

+

Questions about privacy can be sent to the maintainer via GitHub or Ko-fi.

+ + + +
+ + + diff --git a/www/terms.html b/www/terms.html new file mode 100644 index 000000000..e0b79dc40 --- /dev/null +++ b/www/terms.html @@ -0,0 +1,188 @@ + + + + + +Terms of Service — mapshaper + + + + + + + + + +
+ +

Terms of Service

+

Last updated: April 2026

+ +

Acceptance

+

By using mapshaper.org or related services (collectively, “the service”), you agree to these terms. If you do not agree, please do not use the service.

+ +

About mapshaper

+

Mapshaper is free, open-source software for editing geographic data, hosted at mapshaper.org and maintained by Matthew Bloch. The source code is licensed under the Mozilla Public License 2.0.

+ +

Use of the software

+

The software is provided under the terms of the MPL 2.0. You may use, modify, and redistribute the source code in accordance with that license. These Terms of Service govern your use of mapshaper.org as a hosted service; the MPL 2.0 governs your rights to the source code.

+ +

Your responsibilities

+

You are responsible for:

+
    +
  • The accuracy and legality of any data you load into or process with mapshaper
  • +
  • Ensuring you have the right to use any data you load (copyright, licensing, terms of source data)
  • +
  • Compliance with all applicable laws in your use of the service
  • +
  • Not using the service to violate the rights of others, transmit illegal content, or attempt to disrupt the service or its third-party providers
  • +
+ +

No warranty

+

The service is provided “as is” and “as available,” without warranty of any kind, express or implied. We make no warranty that the service will be uninterrupted, secure, error-free, or that any output will be accurate, complete, or fit for any particular purpose.

+

Map data, basemaps, and conversion results may contain errors. Do not rely on mapshaper output for navigation, safety-critical decisions, legal boundaries, or other applications where accuracy is essential.

+ +

Limitation of liability

+

To the maximum extent permitted by law, mapshaper, its maintainer, and contributors are not liable for any direct, indirect, incidental, consequential, special, or punitive damages arising from your use of (or inability to use) the service, including but not limited to loss of data, business interruption, lost profits, or any other commercial damages.

+ +

Contributions

+

Contributions made via Ko-fi or GitHub Sponsors are voluntary. They are not tax-deductible (mapshaper is not a registered charity). Contributions are non-refundable except in cases of fraud or technical error. Refund requests should be directed to the payment processor (Ko-fi, Stripe, or GitHub).

+ +

Third-party services

+

The service relies on third-party providers including:

+
    +
  • GitHub Pages for site hosting
  • +
  • Mapbox for basemap tiles
  • +
  • Google Analytics for usage analytics
  • +
  • Stripe, Ko-fi, and GitHub Sponsors for payment processing
  • +
+

When you interact with these services through mapshaper, their terms of service and privacy policies also apply. We are not responsible for the availability, behavior, or content of third-party services.

+ +

Changes to these terms

+

These terms may be updated. The “Last updated” date at the top reflects the most recent change. Continued use of the service after changes constitutes acceptance of the updated terms.

+ +

Governing law

+

These terms are governed by the laws of the State of New York, United States, without regard to conflict-of-law principles.

+ +

Contact

+

Questions about these terms can be sent to the maintainer via GitHub or Ko-fi.

+ + + +
+ + + From cd4135fbe2b05570290d769e056bf2df271e897a Mon Sep 17 00:00:00 2001 From: Matthew Bloch Date: Sat, 18 Apr 2026 19:35:36 -0400 Subject: [PATCH 338/509] Add session history to snapshot files --- src/gui/gui-console.mjs | 7 +++- src/gui/gui-export-control.mjs | 11 ++++++ src/gui/gui-import-control.mjs | 11 +++++- src/gui/gui-session-history.mjs | 46 +++++++++++++++++++++--- src/gui/gui-session-snapshot-control.mjs | 42 ++++++++++++++++++++-- src/pack/mapshaper-pack.mjs | 10 +++++- 6 files changed, 117 insertions(+), 10 deletions(-) diff --git a/src/gui/gui-console.mjs b/src/gui/gui-console.mjs index 522730bdb..977f8c77e 100644 --- a/src/gui/gui-console.mjs +++ b/src/gui/gui-console.mjs @@ -29,13 +29,18 @@ export function Console(gui) { // expose this function, so other components can run commands (e.g. box tool) this.runMapshaperCommands = runMapshaperCommands; - this.runInitialCommands = function(str) { + // Open the console (if closed) and run a command, as if the user had + // typed it. Used by UI controls that surface console functionality, e.g. + // the "view command history" link in the snapshot menu. + this.runCommand = function(str) { str = str.trim(); if (!str) return; turnOn(); submit(str); }; + this.runInitialCommands = this.runCommand; + consoleMessage(PROMPT); gui.keyboard.on('keydown', onKeyDown); window.addEventListener('beforeunload', saveHistory); // save history if console is open on refresh diff --git a/src/gui/gui-export-control.mjs b/src/gui/gui-export-control.mjs index cf93535de..8406ff929 100644 --- a/src/gui/gui-export-control.mjs +++ b/src/gui/gui-export-control.mjs @@ -155,6 +155,17 @@ export var ExportControl = function(gui) { await loadGeopackageLib(); } opts.active_layer = gui.model.getActiveLayer().layer; // kludge to support restoring active layer in gui + if (opts.format == internal.PACKAGE_EXT) { + // Embed the session history in .msx exports so that re-importing the + // file into a fresh session restores the original command history. + // The .msx file itself is a durable artifact, so mark every captured + // command as "saved" -- a user reloading the file shouldn't see an + // unsaved-changes warning for work that lives in the file they just + // opened. + var snapshot = gui.session.getHistorySnapshot(); + snapshot.savedAtIndex = snapshot.commands.length; + opts.history = snapshot; + } try { var files = await internal.exportTargetLayers(model, targets, opts); } catch(e) { diff --git a/src/gui/gui-import-control.mjs b/src/gui/gui-import-control.mjs index 7ccb48c03..38244de59 100644 --- a/src/gui/gui-import-control.mjs +++ b/src/gui/gui-import-control.mjs @@ -378,7 +378,16 @@ export function ImportControl(gui, opts) { await wait(35); } if (group[internal.PACKAGE_EXT]) { - await importSessionData(group[internal.PACKAGE_EXT].content, gui); + var fullRestore = await importSessionData(group[internal.PACKAGE_EXT].content, gui); + importCount++; + // Skip recording an -i command if the .msx import was a full project + // restore: the previous session's history (including the original -i) + // has already been reinstated, so adding another entry here would be + // misleading. For the merge case, record the import as a regular -i + // so the snapshot contributes a CLI-replayable entry to the session. + if (!fullRestore) { + gui.session.fileImported(group[internal.PACKAGE_EXT].filename, optStr); + } } else if (await importDataset(group, groupImportOpts)) { importCount++; gui.session.fileImported(group.filename, optStr); diff --git a/src/gui/gui-session-history.mjs b/src/gui/gui-session-history.mjs index bfc592bc3..c173dacfe 100644 --- a/src/gui/gui-session-history.mjs +++ b/src/gui/gui-session-history.mjs @@ -2,20 +2,54 @@ import { internal } from './gui-core'; export function SessionHistory(gui) { var commands = []; + // index of first command after the last "save" boundary; commands at indices + // [savedAtIndex .. commands.length) are considered unsaved + var savedAtIndex = 0; // commands that can be ignored when checking for unsaved changes - var nonEditingCommands = 'i,target,info,version,verbose,projections,inspect,help,h,encodings,calc'.split(','); + var nonEditingCommands = 'i,target,info,version,verbose,projections,inspect,help,h,encodings,calc,comment'.split(','); this.unsavedChanges = function() { - var cmd, cmdName; - for (var i=commands.length - 1; i >= 0; i--) { - cmdName = getCommandName(commands[i]); - if (cmdName == 'o') break; + for (var i = commands.length - 1; i >= savedAtIndex; i--) { + var cmdName = getCommandName(commands[i]); if (nonEditingCommands.includes(cmdName)) continue; return true; } return false; }; + this.isEmpty = function() { + return commands.length === 0; + }; + + // Mark the current end of the history as a "saved" boundary -- called after + // data has been written somewhere durable (e.g. an -o export). Snapshots + // are session-scoped and are NOT durable, so creating one does not mark saved. + this.markSaved = function() { + savedAtIndex = commands.length; + }; + + // Capture a serializable copy of the history for inclusion in a snapshot. + this.getHistorySnapshot = function() { + return { + commands: commands.slice(), + savedAtIndex: savedAtIndex + }; + }; + + // Replace the current history with one captured by getHistorySnapshot(). + // Used when restoring an in-session snapshot. If the snapshot has no history + // (e.g. older snapshots, or external .msx files), starts from a clean state. + this.restoreHistorySnapshot = function(obj) { + if (obj && Array.isArray(obj.commands)) { + commands = obj.commands.slice(); + savedAtIndex = typeof obj.savedAtIndex == 'number' ? + Math.min(obj.savedAtIndex, commands.length) : commands.length; + } else { + commands = []; + savedAtIndex = 0; + } + }; + this.fileImported = function(file, optStr) { var cmd = '-i ' + file; if (optStr) { @@ -75,6 +109,8 @@ export function SessionHistory(gui) { cmd += ' ' + optStr; } commands.push(cmd); + // -o writes data to a durable location, so treat this as a save boundary + savedAtIndex = commands.length; }; this.setTargetLayer = function(lyr) { diff --git a/src/gui/gui-session-snapshot-control.mjs b/src/gui/gui-session-snapshot-control.mjs index 3f7e4d0d9..0ca02b369 100644 --- a/src/gui/gui-session-snapshot-control.mjs +++ b/src/gui/gui-session-snapshot-control.mjs @@ -69,6 +69,19 @@ export function SessionSnapshots(gui) { action: saveSnapshot }); + if (!gui.session.isEmpty()) { + // Surface the console "history" command via the snapshot menu so users + // can browse the session's command history without knowing about the + // console keyword. Hidden when there's nothing to show. + addMenuLink({ + slug: 'history', + label: 'view session history', + action: function(gui) { + gui.console.runCommand('history'); + } + }); + } + // var available = await getAvailableStorage(); // if (available) { // El('div').addClass('save-menu-entry').text(available + ' available').appendTo(menu); @@ -192,10 +205,24 @@ async function restoreSnapshotById(id, gui) { } gui.model.clear(); importDatasets(data.datasets, gui); + // Reinstate the session history (including its saved/unsaved boundary) that + // was in effect when the snapshot was taken. If the snapshot has no history + // field (e.g. older snapshots), this resets to a clean state. + gui.session.restoreHistorySnapshot(data.history); gui.clearMode(); } -// Add datasets to the current project +// Import datasets from a packed .msx buffer. +// Behavior depends on whether the current session contains data: +// - empty session: full project restore -- datasets and any embedded session +// history are loaded as if continuing the original session. +// - non-empty session: merge -- datasets are added to the current project, +// but any embedded session history is discarded (the imported commands +// assume different layer indices and a different starting state, so +// merging them into the current session would produce a misleading history). +// Returns true if a full restore occurred, false if a merge occurred. The +// caller uses this to decide whether to record an additional -i command in +// the current session's history (see gui-import-control.mjs). // TODO: figure out if interface data should be imported (e.g. should // visibility flag of imported layers be imported) export async function importSessionData(buf, gui) { @@ -203,7 +230,12 @@ export async function importSessionData(buf, gui) { buf = new Uint8Array(buf); } var data = await internal.unpackSessionData(buf); + var fullRestore = gui.model.isEmpty(); importDatasets(data.datasets, gui); + if (fullRestore) { + gui.session.restoreHistorySnapshot(data.history); + } + return fullRestore; } function importDatasets(datasets, gui) { @@ -219,7 +251,13 @@ async function captureSnapshot(gui) { if (!lyr) return null; // no data -- no snapshot // compact: true applies compression to vector coordinates, for ~30% reduction // in file size in a typical polygon or polyline file, but longer processing time - var opts = {compact: false, active_layer: lyr}; + // history: capture session commands + saved/unsaved boundary so the history + // can be reinstated if this snapshot is restored or re-imported later. + var opts = { + compact: false, + active_layer: lyr, + history: gui.session.getHistorySnapshot() + }; var datasets = gui.model.getDatasets(); var obj = await internal.exportDatasetsToPack(datasets, opts); obj.gui = getGuiState(gui); diff --git a/src/pack/mapshaper-pack.mjs b/src/pack/mapshaper-pack.mjs index f09107d3c..1db387e46 100644 --- a/src/pack/mapshaper-pack.mjs +++ b/src/pack/mapshaper-pack.mjs @@ -20,7 +20,11 @@ import utils from '../utils/mapshaper-utils'; version: 1, created: 'YYYY-MM-DDTHH:mm:ss.sssZ', // ISO string datasets: [], - gui: {} // see gui-session-snapshot-control.mjs + gui: {}, // see gui-session-snapshot-control.mjs + history: { // optional; only present in snapshots created by the GUI + commands: ['-i foo.shp', '-simplify 10%', ...], + savedAtIndex: 0 // index of the first command after the last save boundary + } } */ @@ -44,12 +48,16 @@ export function pack(obj) { // exporting from command line: { compact: true, file: 'tmp.msx', final: true } // exporting from gui export menu: {compact: true, format: 'msx'} // saving gui temp snapshot: {compact: false} +// opts.history: optional GUI session history captured by SessionHistory#getHistorySnapshot export async function exportDatasetsToPack(datasets, opts) { var obj = { version: 1, created: (new Date).toISOString(), datasets: await Promise.all(datasets.map(dataset => exportDataset(dataset, opts))) }; + if (opts.history) { + obj.history = opts.history; + } return obj; } From 3f8e5e111d7e56f432f13a48ccb960c8134fa221 Mon Sep 17 00:00:00 2001 From: Matthew Bloch Date: Sat, 18 Apr 2026 19:36:12 -0400 Subject: [PATCH 339/509] v0.6.121 --- CHANGELOG.md | 6 +++++- package-lock.json | 4 ++-- package.json | 2 +- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index fb9e62abb..be94f6d05 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +v0.6.121 +* Added session history to snapshots. This history is imported into a new session only if the session starts by opening the snapshot file. +* Added a "view session history" link to the snapshot menu (ribbon icon) (an alternative to typing "history" in the console). + v0.6.120 * Optimized GUI rendering of large datasets @@ -6,7 +10,7 @@ v0.6.119 v0.6.118 * Added a selectable list of GeoPackage layers to the "advanced options" import menu in the web UI. -* Added a layers= to the -i command to allow importing a subset of GeoPackage layers. +* Added a layers= option to the -i command to allow importing a subset of GeoPackage layers. * Improved GeoPackage i/o. Topologically related layers are imported together, so -simplify and other commands can edit them together. Unrelated layers are imported separately (with a different arc table), which allows -simplify to be applied more selectively. v0.6.117 diff --git a/package-lock.json b/package-lock.json index 85cc849a0..a3a3e5adb 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "mapshaper", - "version": "0.6.120", + "version": "0.6.121", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "mapshaper", - "version": "0.6.120", + "version": "0.6.121", "license": "MPL-2.0", "dependencies": { "@ngageoint/geopackage": "^4.2.6", diff --git a/package.json b/package.json index 7b3ab1a6a..cc83cccd2 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "mapshaper", - "version": "0.6.120", + "version": "0.6.121", "description": "A tool for editing vector datasets for mapping and GIS.", "keywords": [ "shapefile", From 4c0eca6f6320c19937a8534604e86683a830e15d Mon Sep 17 00:00:00 2001 From: Matthew Bloch Date: Sun, 19 Apr 2026 07:23:13 -0400 Subject: [PATCH 340/509] Implement script files (files containing commands) --- src/cli/mapshaper-parse-commands.mjs | 98 +++++++++++++ src/cli/mapshaper-run-command.mjs | 33 ++++- src/cli/mapshaper-run-commands.mjs | 5 + src/cli/mapshaper-run-script.mjs | 92 +++++++++++++ src/io/mapshaper-file-types.mjs | 23 ++++ test/parse-commands-test.mjs | 148 +++++++++++++++++++- test/run-script-test.mjs | 197 +++++++++++++++++++++++++++ 7 files changed, 592 insertions(+), 4 deletions(-) create mode 100644 src/cli/mapshaper-run-script.mjs create mode 100644 test/run-script-test.mjs diff --git a/src/cli/mapshaper-parse-commands.mjs b/src/cli/mapshaper-parse-commands.mjs index 148154876..c7fce8fbe 100644 --- a/src/cli/mapshaper-parse-commands.mjs +++ b/src/cli/mapshaper-parse-commands.mjs @@ -48,3 +48,101 @@ export function parseConsoleCommands(raw) { }); return parsed; } + +// Parse the text content of a mapshaper script file (e.g. "commands.txt") +// into a single normalized command string suitable for parseCommands(). +// +// Script syntax (a superset of the equivalent shell command line): +// - Optional leading "mapshaper" magic word (used by the file-type sniffer). +// - "#" begins a comment that runs to the end of the line. Comments are +// ignored unless the "#" appears inside a quoted string. +// - Newlines are command separators (unless they fall inside a quoted +// string). A trailing backslash on a line is stripped, so shell-style +// "\" line continuations are accepted but not required. +// - Commands must begin with "-" (e.g. "-i", "-target"). Lines that do +// not start with "-" are treated as continuations of the previous +// command. +// - As on the CLI, an initial "-i" is implied: if the first non-blank +// content (after the optional "mapshaper" word) does not start with +// "-", "-i " is prepended to it. +// +export function parseScriptContent(content) { + if (typeof content != 'string') { + content = String(content || ''); + } + // Strip BOM if present + if (content.charCodeAt(0) === 0xFEFF) content = content.slice(1); + + var lines = []; // logical lines, with embedded newlines if inside quotes + var current = ''; + var quote = null; // null, "'", or '"' + var inComment = false; + + for (var i = 0; i < content.length; i++) { + var c = content.charAt(i); + if (inComment) { + if (c === '\n') { + inComment = false; + lines.push(current); + current = ''; + } + // else: skip char inside the comment + continue; + } + if (quote) { + current += c; + if (c === quote) { + // count preceding backslashes; an odd count means the quote is escaped + var bs = 0; + for (var j = i - 1; j >= 0 && content.charAt(j) === '\\'; j--) bs++; + if (bs % 2 === 0) quote = null; + } + continue; + } + if (c === '#') { + inComment = true; + } else if (c === "'" || c === '"') { + quote = c; + current += c; + } else if (c === '\n') { + lines.push(current); + current = ''; + } else { + current += c; + } + } + if (current.length > 0) lines.push(current); + if (quote) { + stop('Unterminated quoted string in script'); + } + + var commands = []; + var cur = ''; + var sawMagicWord = false; + for (var k = 0; k < lines.length; k++) { + var line = lines[k]; + // Strip trailing backslash continuation (and any whitespace before/after it) + line = line.replace(/\s*\\\s*$/, '').trim(); + if (!line) continue; + + if (!sawMagicWord && commands.length === 0 && cur === '' && + /^mapshaper(\s|$)/.test(line)) { + sawMagicWord = true; + line = line.replace(/^mapshaper\s*/, ''); + if (!line) continue; + } + + if (line.charAt(0) === '-') { + if (cur) commands.push(cur); + cur = line; + } else if (!cur && commands.length === 0) { + // Implicit -i for the first command, mirroring CLI behavior: + // "mapshaper foo.shp" => "mapshaper -i foo.shp" + cur = '-i ' + line; + } else { + cur += ' ' + line; + } + } + if (cur) commands.push(cur); + return commands.join(' '); +} diff --git a/src/cli/mapshaper-run-command.mjs b/src/cli/mapshaper-run-command.mjs index 50e068c3b..a1a4e692c 100644 --- a/src/cli/mapshaper-run-command.mjs +++ b/src/cli/mapshaper-run-command.mjs @@ -14,6 +14,7 @@ import utils from '../utils/mapshaper-utils'; import cmd from '../mapshaper-cmd'; import { stashVar, clearStash } from '../mapshaper-stash'; import { applyCommandToEachLayer, applyCommandToEachTarget } from '../cli/mapshaper-command-utils'; +import { readScriptFile, runScriptFile } from '../cli/mapshaper-run-script'; import '../commands/mapshaper-add-shape'; import '../commands/mapshaper-affine'; @@ -310,9 +311,12 @@ export async function runCommand(command, job) { } else if (name == 'i') { if (opts.replace) job.catalog = new Catalog(); // is this what we want? - targetDataset = await cmd.importFiles(job.catalog, command.options); - if (targetDataset) { - outputLayers = targetDataset.layers; // kludge to allow layer naming below + var scriptResult = await maybeRunScriptImport(opts, job); + if (!scriptResult) { + targetDataset = await cmd.importFiles(job.catalog, command.options); + if (targetDataset) { + outputLayers = targetDataset.layers; // kludge to allow layer naming below + } } } else if (name == 'if' || name == 'elif') { @@ -557,3 +561,26 @@ function outputLayersAreDifferent(output, input) { return output.indexOf(lyr) > -1; }); } + +// If the -i command's input is a single mapshaper script file, parse and +// execute its commands within the current job and return true. Otherwise +// return false to let the regular file-import path handle the input. +async function maybeRunScriptImport(opts, job) { + var files = opts.files || []; + if (files.length === 0) return false; + + if (files.length > 1) { + // Disallow mixing scripts with other inputs in a single -i invocation. + for (var i = 0; i < files.length; i++) { + if (readScriptFile(files[i], opts.input)) { + stop('Script files cannot be combined with other input files in a single -i command'); + } + } + return false; + } + + var content = readScriptFile(files[0], opts.input); + if (content === null) return false; + await runScriptFile(files[0], content, job, opts); + return true; +} diff --git a/src/cli/mapshaper-run-commands.mjs b/src/cli/mapshaper-run-commands.mjs index dbc4ebddd..43b4cba65 100644 --- a/src/cli/mapshaper-run-commands.mjs +++ b/src/cli/mapshaper-run-commands.mjs @@ -148,6 +148,11 @@ function _runCommands(argv, opts, callback) { if (outputArr && (cmd.name == 'o' || cmd.name == 'info' && cmd.options.save_to)) { cmd.options.output = outputArr; } + // -i commands may resolve to script files; propagate the output array so + // that -o commands nested inside the script can write to it too. + if (outputArr && cmd.name == 'i') { + cmd.options.output = outputArr; + } }); var lastCmd = commands[commands.length - 1]; diff --git a/src/cli/mapshaper-run-script.mjs b/src/cli/mapshaper-run-script.mjs new file mode 100644 index 000000000..de8024ba3 --- /dev/null +++ b/src/cli/mapshaper-run-script.mjs @@ -0,0 +1,92 @@ +import { parseCommands, parseScriptContent } from '../cli/mapshaper-parse-commands'; +import { runParsedCommands } from '../cli/mapshaper-run-commands'; +import { commandTakesFileInput } from '../cli/mapshaper-command-info'; +import { + isPotentialScriptFile, + stringLooksLikeScript } from '../io/mapshaper-file-types'; +import cli from '../cli/mapshaper-cli-utils'; +import { stop, message, verbose } from '../utils/mapshaper-logging'; +import utils from '../utils/mapshaper-utils'; + +// Maximum nesting depth for scripts that load other scripts +var MAX_SCRIPT_DEPTH = 10; + +// Returns the text content of a script file, or null if @file does not look +// like a mapshaper script (wrong extension or missing magic word). +// On match, the file content is left in the cache so a subsequent reader +// can reuse it. +export function readScriptFile(file, cache) { + if (!isPotentialScriptFile(file)) return null; + cli.checkFileExists(file, cache); + // cli.readFile(... cache) deletes the entry from the cache after reading, + // so we put it back in case downstream code expects to find it there. + var content = cli.readFile(file, 'utf8', cache); + if (!stringLooksLikeScript(content)) { + if (cache) cache[file] = content; + return null; + } + if (cache) cache[file] = content; + return content; +} + +// Parse and execute the commands in a mapshaper script file within the +// given job. Used by the CLI -i command when the input file is detected +// as a script. +// +// @file: script file path +// @content: script file content (string) +// @job: parent Job object (script commands run in this job) +// @opts: options object from the parent -i command (used for input cache and +// recursion-depth tracking) +// +export async function runScriptFile(file, content, job, opts) { + var depth = (opts && opts._script_depth || 0) + 1; + if (depth > MAX_SCRIPT_DEPTH) { + stop('Script nesting limit exceeded (' + MAX_SCRIPT_DEPTH + ') at: ' + file); + } + + var cache = opts && opts.input || null; + var commandStr; + try { + commandStr = parseScriptContent(content); + } catch(e) { + e.message = 'Error in script ' + file + ': ' + e.message; + throw e; + } + + if (!commandStr) { + message('Script contains no commands:', file); + return; + } + + verbose('Running script:', file); + + var commands; + try { + commands = parseCommands(commandStr); + } catch(e) { + e.message = 'Error in script ' + file + ': ' + e.message; + throw e; + } + + // Forward the input cache, output array and depth tracker to nested + // commands. This lets a script-loaded -i find sibling files in the same + // cache, lets nested -o commands write to the same output collector + // (e.g. when running under applyCommands), and lets nested -i scripts + // respect the recursion limit. + var outputArr = opts && opts.output || null; + commands.forEach(function(c) { + if (commandTakesFileInput(c.name) && cache) { + c.options.input = cache; + } + if (outputArr && (c.name == 'o' || c.name == 'i' || + c.name == 'info' && c.options.save_to)) { + c.options.output = outputArr; + } + if (c.name == 'i') { + c.options._script_depth = depth; + } + }); + + await utils.promisify(runParsedCommands)(commands, job); +} diff --git a/src/io/mapshaper-file-types.mjs b/src/io/mapshaper-file-types.mjs index 91044b33c..b7d4cb920 100644 --- a/src/io/mapshaper-file-types.mjs +++ b/src/io/mapshaper-file-types.mjs @@ -80,6 +80,29 @@ export function isPackageFile(file) { return file.endsWith('.' + PACKAGE_EXT); } +// Returns true if @file has an extension that may identify a mapshaper script +// file (e.g. "commands.txt"). Detection still requires a content sniff via +// stringLooksLikeScript(). +export function isPotentialScriptFile(file) { + var ext = getFileExtension(file || '').toLowerCase(); + return ext === 'txt'; +} + +// True if @str looks like the content of a mapshaper script file: the first +// non-blank, non-comment line begins with the magic word "mapshaper". +export function stringLooksLikeScript(str) { + str = String(str || ''); + // Skip a leading BOM + if (str.charCodeAt(0) === 0xFEFF) str = str.slice(1); + var lines = str.split(/\r?\n/); + for (var i = 0; i < lines.length; i++) { + var line = lines[i].trim(); + if (!line || line.charAt(0) === '#') continue; + return /^mapshaper(\s|$)/.test(line); + } + return false; +} + export function isZipFile(file) { return /\.zip$/i.test(file); } diff --git a/test/parse-commands-test.mjs b/test/parse-commands-test.mjs index 98aba6ce1..29def102f 100644 --- a/test/parse-commands-test.mjs +++ b/test/parse-commands-test.mjs @@ -1,5 +1,6 @@ import assert from 'assert'; -import { parseConsoleCommands } from '../src/cli/mapshaper-parse-commands'; +import { parseConsoleCommands, parseScriptContent } from '../src/cli/mapshaper-parse-commands'; +import { stringLooksLikeScript, isPotentialScriptFile } from '../src/io/mapshaper-file-types'; describe('mapshaper-parse-commands.js', function () { @@ -47,4 +48,149 @@ describe('mapshaper-parse-commands.js', function () { }) }) + + describe('parseScriptContent()', function() { + + it('returns a single command joined string', function() { + var str = parseScriptContent('-i foo.shp\n-o out.shp'); + assert.equal(str, '-i foo.shp -o out.shp'); + }) + + it('strips leading "mapshaper" magic word', function() { + var str = parseScriptContent('mapshaper\n-i foo.shp\n-o out.shp'); + assert.equal(str, '-i foo.shp -o out.shp'); + }) + + it('strips "mapshaper" magic word followed by inline command', function() { + var str = parseScriptContent('mapshaper -i foo.shp\n-o'); + assert.equal(str, '-i foo.shp -o'); + }) + + it('strips full-line "#" comments', function() { + var str = parseScriptContent([ + '# this is a comment', + '-i foo.shp', + ' # indented comment', + '-o out.shp' + ].join('\n')); + assert.equal(str, '-i foo.shp -o out.shp'); + }) + + it('strips end-of-line "#" comments', function() { + var str = parseScriptContent('-i foo.shp # load file\n-o # save it'); + assert.equal(str, '-i foo.shp -o'); + }) + + it('preserves "#" inside double-quoted strings', function() { + var str = parseScriptContent('-each \'d.color = "#fff"\''); + assert.equal(str, '-each \'d.color = "#fff"\''); + }) + + it('preserves "#" inside single-quoted strings', function() { + var str = parseScriptContent("-each 'd.tag = \"#a\"'"); + assert.equal(str, "-each 'd.tag = \"#a\"'"); + }) + + it('joins continuation lines that do not start with "-"', function() { + var str = parseScriptContent('-i\n foo.shp\n encoding=utf8\n-o'); + assert.equal(str, '-i foo.shp encoding=utf8 -o'); + }) + + it('strips trailing backslash line continuation', function() { + var str = parseScriptContent('-i foo.shp \\\n encoding=utf8 \\\n-o'); + assert.equal(str, '-i foo.shp encoding=utf8 -o'); + }) + + it('preserves embedded newlines inside quoted strings', function() { + var script = '-each \'\n d.x = 1\n\''; + var str = parseScriptContent(script); + assert.ok(str.includes('\n')); + assert.ok(str.includes('d.x = 1')); + }) + + it('treats unquoted * as bareword', function() { + var str = parseScriptContent('-target *'); + assert.equal(str, '-target *'); + }) + + it('strips a leading BOM', function() { + var str = parseScriptContent('\uFEFFmapshaper\n-i foo.shp\n-o'); + assert.equal(str, '-i foo.shp -o'); + }) + + it('returns empty string when input is empty', function() { + assert.equal(parseScriptContent(''), ''); + assert.equal(parseScriptContent('# only comments\n# more\n'), ''); + }) + + it('implicit -i for first bare token (mirrors CLI)', function() { + var str = parseScriptContent('mapshaper sources/foo.json'); + assert.equal(str, '-i sources/foo.json'); + }) + + it('implicit -i for first bare token on its own line', function() { + var str = parseScriptContent('mapshaper\nsources/foo.json\n-target *'); + assert.equal(str, '-i sources/foo.json -target *'); + }) + + it('implicit -i without the "mapshaper" magic word', function() { + // Even without the magic word (e.g. content fed in directly), the + // first bare line is treated as an implicit -i. + var str = parseScriptContent('foo.shp\n-o'); + assert.equal(str, '-i foo.shp -o'); + }) + + it('multiple bare lines after implicit -i join as continuations', function() { + var str = parseScriptContent('mapshaper\na.json\nb.json\n-o'); + assert.equal(str, '-i a.json b.json -o'); + }) + + it('throws on an unterminated quoted string', function() { + assert.throws(function() { + parseScriptContent('-each \'unterminated'); + }); + }) + + it('does not treat "mapshaper" as magic word past the first non-blank line', function() { + var str = parseScriptContent('-i foo.shp\nmapshaper-bare-word'); + // second line is a continuation, "mapshaper" not stripped + assert.equal(str, '-i foo.shp mapshaper-bare-word'); + }) + + }) + + describe('stringLooksLikeScript()', function() { + it('matches files starting with "mapshaper"', function() { + assert.ok(stringLooksLikeScript('mapshaper\n-i foo.shp')); + assert.ok(stringLooksLikeScript('mapshaper -i foo.shp -o')); + }) + + it('matches when "mapshaper" is preceded by blank lines and comments', function() { + assert.ok(stringLooksLikeScript('\n\n# a comment\n # another\nmapshaper\n-i foo')); + }) + + it('rejects files that do not begin with the magic word', function() { + assert.ok(!stringLooksLikeScript('foo,bar,baz\n1,2,3\n')); + assert.ok(!stringLooksLikeScript('-i foo.shp\n')); + assert.ok(!stringLooksLikeScript('mapshaper-data,1,2\n')); + }) + + it('handles a leading BOM', function() { + assert.ok(stringLooksLikeScript('\uFEFFmapshaper\n-i foo')); + }) + }) + + describe('isPotentialScriptFile()', function() { + it('matches .txt files', function() { + assert.ok(isPotentialScriptFile('commands.txt')); + assert.ok(isPotentialScriptFile('a/b/commands.TXT')); + }) + + it('does not match other extensions', function() { + assert.ok(!isPotentialScriptFile('foo.csv')); + assert.ok(!isPotentialScriptFile('foo.shp')); + assert.ok(!isPotentialScriptFile('foo.json')); + assert.ok(!isPotentialScriptFile('foo')); + }) + }) }) diff --git a/test/run-script-test.mjs b/test/run-script-test.mjs new file mode 100644 index 000000000..6008e1977 --- /dev/null +++ b/test/run-script-test.mjs @@ -0,0 +1,197 @@ +import api from '../mapshaper.js'; +import assert from 'assert'; + +describe('mapshaper-run-script.js', function() { + + it('runs a .txt script supplied via the input cache', async function() { + var script = [ + 'mapshaper', + '-i data.csv', + '-o out.csv' + ].join('\n'); + var input = { + 'commands.txt': script, + 'data.csv': 'a,b\n1,2\n' + }; + var out = await api.applyCommands('-i commands.txt', input); + assert.equal(out['out.csv'], 'a,b\n1,2'); + }); + + it('runs the script even without the magic word? (no, falls back to DSV)', async function() { + // Without the "mapshaper" magic word, a .txt file is treated as DSV input. + // The DSV importer accepts a single column "a" with one row. + var input = { + 'commands.txt': 'a\nfoo\nbar\n' + }; + var out = await api.applyCommands('-i commands.txt -o', input); + // exported with default name based on input name + assert.ok(out['commands.csv']); + }); + + it('strips end-of-line "#" comments', async function() { + var script = [ + 'mapshaper # this is a script', + '-i data.csv # load some data', + '-rename-layers points # rename it', + '-o out.csv' + ].join('\n'); + var input = { + 'commands.txt': script, + 'data.csv': 'a,b\n1,2\n' + }; + var out = await api.applyCommands('-i commands.txt', input); + assert.equal(out['out.csv'], 'a,b\n1,2'); + }); + + it('joins lines that do not begin with "-" onto the previous command', async function() { + var script = [ + 'mapshaper', + '-i', + ' data.csv', + '-o', + ' out.csv' + ].join('\n'); + var input = { + 'commands.txt': script, + 'data.csv': 'a,b\n1,2\n' + }; + var out = await api.applyCommands('-i commands.txt', input); + assert.equal(out['out.csv'], 'a,b\n1,2'); + }); + + it('accepts shell-style trailing-backslash continuations', async function() { + var script = [ + 'mapshaper \\', + '-i data.csv \\', + '-o out.csv' + ].join('\n'); + var input = { + 'commands.txt': script, + 'data.csv': 'a,b\n1,2\n' + }; + var out = await api.applyCommands('-i commands.txt', input); + assert.equal(out['out.csv'], 'a,b\n1,2'); + }); + + it('preserves "#" inside quoted strings', async function() { + var script = [ + 'mapshaper', + '-i data.csv', + '-each \'d.color = "#fff"\'', + '-o out.csv' + ].join('\n'); + var input = { + 'commands.txt': script, + 'data.csv': 'a\n1\n' + }; + var out = await api.applyCommands('-i commands.txt', input); + assert.equal(out['out.csv'], 'a,color\n1,#fff'); + }); + + it('supports nested script files', async function() { + var inner = [ + 'mapshaper', + '-i data.csv', + '-o out.csv' + ].join('\n'); + var outer = [ + 'mapshaper', + '-i inner.txt' + ].join('\n'); + var input = { + 'outer.txt': outer, + 'inner.txt': inner, + 'data.csv': 'a,b\n1,2\n' + }; + var out = await api.applyCommands('-i outer.txt', input); + assert.equal(out['out.csv'], 'a,b\n1,2'); + }); + + it('rejects scripts combined with other files via -i combine-files', async function() { + var input = { + 'commands.txt': 'mapshaper\n-i data.csv\n-o out.csv', + 'data.csv': 'a,b\n1,2\n' + }; + var err; + try { + await api.applyCommands('-i commands.txt data.csv combine-files', input); + } catch(e) { err = e; } + assert.ok(err, 'expected an error when combining a script with another file'); + assert.ok(/script files cannot be combined/i.test(err.message), + 'error mentions the conflict'); + }); + + it('multi-file -i runs scripts as a separate group from data files', async function() { + // -i a b is split into two separate import groups by divideImportCommand, + // so a script + a data file in the same -i is allowed and processes each + // independently. + var input = { + 'commands.txt': 'mapshaper\n-i data.csv\n-o out.csv', + 'data.csv': 'a,b\n1,2\n' + }; + var out = await api.applyCommands('-i commands.txt data.csv', input); + assert.equal(out['out.csv'], 'a,b\n1,2'); + }); + + it('attributes parse errors to the script file', async function() { + var script = [ + 'mapshaper', + '-each \'unterminated quote', + '-o' + ].join('\n'); + var input = { + 'commands.txt': script + }; + var err; + try { + await api.applyCommands('-i commands.txt', input); + } catch(e) { err = e; } + assert.ok(err); + assert.ok(/commands\.txt/.test(err.message), + 'error message references the script file'); + }); + + it('treats a leading bare token as an implicit -i', async function() { + // Mirrors CLI: "mapshaper foo.csv" implies "-i foo.csv". + var script = [ + 'mapshaper data.csv', + '-o out.csv' + ].join('\n'); + var input = { + 'commands.txt': script, + 'data.csv': 'a,b\n1,2\n' + }; + var out = await api.applyCommands('-i commands.txt', input); + assert.equal(out['out.csv'], 'a,b\n1,2'); + }); + + it('ignores empty scripts (only comments)', async function() { + var script = [ + 'mapshaper', + '# nothing to do here', + '# really' + ].join('\n'); + var input = { + 'commands.txt': script + }; + // No -o command was issued, so output should be empty + var out = await api.applyCommands('-i commands.txt', input); + assert.deepEqual(out, {}); + }); + + it('script can run multiple commands in sequence', async function() { + var script = [ + 'mapshaper', + '-i data.csv', + '-filter \'a > 1\'', + '-o out.csv' + ].join('\n'); + var input = { + 'commands.txt': script, + 'data.csv': 'a,b\n1,x\n2,y\n3,z\n' + }; + var out = await api.applyCommands('-i commands.txt', input); + assert.equal(out['out.csv'], 'a,b\n2,y\n3,z'); + }); + +}); From aa1c978c3e6878840c72f8b21ebff5ba3be6c25f Mon Sep 17 00:00:00 2001 From: Matthew Bloch Date: Sun, 19 Apr 2026 23:54:10 -0400 Subject: [PATCH 341/509] Add late-binding {{VAR}} interpolation with -vars and -defaults commands --- .gitignore | 1 + REFERENCE.md | 125 ++++++- src/cli/mapshaper-command-info.mjs | 4 +- src/cli/mapshaper-command-parser.mjs | 57 +++- src/cli/mapshaper-options.mjs | 33 +- src/cli/mapshaper-parse-commands.mjs | 62 +++- src/cli/mapshaper-run-command-file.mjs | 91 ++++++ src/cli/mapshaper-run-command.mjs | 43 +-- src/cli/mapshaper-run-commands.mjs | 72 +++- src/cli/mapshaper-run-script.mjs | 92 ------ src/cli/mapshaper-vars-utils.mjs | 151 +++++++++ src/commands/mapshaper-run.mjs | 41 ++- src/commands/mapshaper-vars.mjs | 39 +++ src/io/mapshaper-file-types.mjs | 12 +- test/parse-commands-test.mjs | 124 ++++--- test/run-command-file-test.mjs | 434 +++++++++++++++++++++++++ test/run-script-test.mjs | 197 ----------- test/run-test.mjs | 18 +- test/vars-utils-test.mjs | 168 ++++++++++ 19 files changed, 1360 insertions(+), 404 deletions(-) create mode 100644 src/cli/mapshaper-run-command-file.mjs delete mode 100644 src/cli/mapshaper-run-script.mjs create mode 100644 src/cli/mapshaper-vars-utils.mjs create mode 100644 src/commands/mapshaper-vars.mjs create mode 100644 test/run-command-file-test.mjs delete mode 100644 test/run-script-test.mjs create mode 100644 test/vars-utils-test.mjs diff --git a/.gitignore b/.gitignore index fd452edb9..6cf759dfd 100644 --- a/.gitignore +++ b/.gitignore @@ -18,3 +18,4 @@ bench/cuts/results-*.json bench/cuts/results-*.log bench/cuts/.env /DEVELOPING.md +/DESIGN* diff --git a/REFERENCE.md b/REFERENCE.md index f5c5b5960..72e30b820 100644 --- a/REFERENCE.md +++ b/REFERENCE.md @@ -37,6 +37,86 @@ The following options are documented here, because they are used by many command mapshaper states.geojson -filter 'ST == "AK"' + name=alaska -o output/ target=* ``` +## Command files + +As an alternative to typing commands on the command line, you can put them in a plain-text command file and run them with the mapshaper CLI. + +Command files offer a few conveniences over a shell script or Makefile: + +- Hash-delimited (`#`) comments, both on their own line and at the end of a line. +- No need to escape `*` or other shell metacharacters; commands aren't passed through the shell. +- Trailing-backslash line continuations are accepted but not required — lines that don't begin with `-` are joined onto the previous command. +- Variable interpolation using `{{VAR}}` placeholders. See [variables](#variables) below. + +(Support for running command files in the mapshaper web UI is planned for a future release.) + +### File format + +A mapshaper command file is a `.txt` file whose first non-blank, non-comment line starts with `mapshaper`. + +``` +mapshaper +-i provinces.shp +# Use Douglas Peucker simplification +-simplify dp 20% +-o precision=0.00001 output.geojson +``` + +If you write the command file using shell-compatible syntax — trailing `\` for line continuations and no `#` comments — it can also be pasted directly onto a bash command line, where the leading `mapshaper` word invokes the CLI. To make the above example shell compatible, you could write: + +``` +mapshaper \ +-i provinces.shp \ +-simplify dp 20% \ +-o precision=0.00001 output.geojson +``` + +### Running a command file + +The command for running a command file is [`-run`](#-run): + +```bash +mapshaper -run build.txt +``` + +`mapshaper commands.txt` is a shortcut for `mapshaper -run commands.txt`. + +## Variable interpolation + +Command files and command lines may contain `{{VAR}}` placeholders, which are substituted just before each command runs. Two forms are recognized: + +- `{{VAR}}` — substituted with the value of `VAR`. +- `{{env.NAME}}` — substituted with the value of the `NAME` environment variable. + +This syntax allows you to interpolate all or part of a command option. For example, `-simplify {{SIMPLIFY_METHOD}} resolution={{SIMPLIFY_RESOLUTION}}`. + +Variables can be set in several ways: +- The [`-vars`](#-vars) command sets one or more variables, always overwriting any previous value. +- The [`-defaults`](#-defaults) command set only those values that do not already exist. +- Assignments in `-calc` and `-define` expressions create new variables. +- Assigning a property to the `global` object in an `-each` expression creates a new variable. + +#### Example + +`build.txt`: +``` +mapshaper +-defaults YEAR=2024 PCT=10 # overridable defaults +-i sources/counties_{{YEAR}}.shp +-simplify {{PCT}}% +-o out/counties_{{YEAR}}_simplified.shp +``` + +Run with the command file's defaults: +```bash +mapshaper build.txt +``` + +Or override default values from the command line: +```bash +mapshaper -vars YEAR=2030 PCT=5 -run build.txt +``` + ## Index of commands **File I/O** @@ -111,6 +191,7 @@ mapshaper states.geojson -filter 'ST == "AK"' + name=alaska -o output/ target=* [-calc](#-calc) [-colors](#-colors) [-comment](#-comment) +[-defaults](#-defaults) [-encodings](#-encodings) [-help](#-help) [-info](#-info) @@ -118,6 +199,7 @@ mapshaper states.geojson -filter 'ST == "AK"' + name=alaska -o output/ target=* [-print](#-print) [-projections](#-projections) [-quiet](#-quiet) +[-vars](#-vars) [-verbose](#-verbose) [-version](#-version) @@ -128,7 +210,7 @@ mapshaper states.geojson -filter 'ST == "AK"' + name=alaska -o output/ target=* Input one or more files in a supported vector data format. Supported file types include: Shapefile, GeoJSON, TopoJSON, GeoPackage, FlatGeobuf, KML, JSON data records, DBF, CSV/TSV. -The `-i` command is assumed if `mapshaper` is followed by an input filename. +The `-i` command is assumed if `mapshaper` is followed by the path of an input data file. Mapshaper does not fully support M and Z type Shapefiles. The M and Z data is lost when these files are imported. @@ -1088,9 +1170,11 @@ $ mapshaper data.json \ ### -run -Create mapshaper commands on-the-fly and run them. +Run mapshaper commands from a [command file](#command-files) or generated on-the-fly from a JS expression. -`` or `expression=` A JS expression or template containing embedded expressions, for generating one or more mapshaper commands. +`` Either: +- A path to a mapshaper [command file](#command-files). +- A JS expression or template containing embedded expressions, for generating one or more mapshaper commands. * Embedded expressions are enclosed in curly braces (see below). * Expressions can access `target` and `io` objects. @@ -1684,6 +1768,41 @@ Print list of supported proj4 projection ids and projection aliases. Inhibit console messages. +### -vars + +Define variables for [`{{VAR}}` interpolation](#variables). Each argument is either an inline assignment (`KEY=value`) or a path to a JSON file containing a flat object whose keys are variable names and whose values are strings, numbers or booleans. + +`-vars` can be used on the command line, inside a command file, or anywhere else a command is accepted. Each invocation writes to the global variable store, overwriting any previously defined value. Use [`-defaults`](#-defaults) instead if you want set-if-unset behavior. + +**Options** + +`` Space-separated list of `KEY=value` assignments and/or paths to JSON files containing variable definitions. + +**Example** + +```bash +# Set YEAR=2024 before running the command file +mapshaper -vars YEAR=2024 -run build.txt + +# Load values from a JSON file, then override one of them +mapshaper -vars values.json YEAR=2030 -run build.txt +``` + +### -defaults + +Like [`-vars`](#-vars), but writes only those keys that are not already defined. Used inside a command file to declare overridable defaults: a CLI `-vars` (or any earlier write) preempts the command file's `-defaults` for the same key. + +**Options** + +`` Space-separated list of `KEY=value` assignments and/or paths to JSON files containing variable definitions. + +**Example** + +```bash +# build.txt declares YEAR=2024 as a default; this CLI invocation overrides it +mapshaper -vars YEAR=2030 -run build.txt +``` + ### -verbose Print verbose messages, including the time taken by each processing step. diff --git a/src/cli/mapshaper-command-info.mjs b/src/cli/mapshaper-command-info.mjs index b7ade4def..522e615c3 100644 --- a/src/cli/mapshaper-command-info.mjs +++ b/src/cli/mapshaper-command-info.mjs @@ -1,7 +1,9 @@ export function commandTakesFileInput(name) { - return (name == 'i' || name == 'join' || name == 'erase' || name == 'clip' || name == 'include'); + return (name == 'i' || name == 'join' || name == 'erase' || name == 'clip' || + name == 'include' || name == 'vars' || name == 'defaults' || + name == 'run'); } // TODO: implement these and other functions diff --git a/src/cli/mapshaper-command-parser.mjs b/src/cli/mapshaper-command-parser.mjs index 1dc56ba5f..4b7112331 100644 --- a/src/cli/mapshaper-command-parser.mjs +++ b/src/cli/mapshaper-command-parser.mjs @@ -66,26 +66,71 @@ export function CommandParser() { // show help if only a command name is given argv.unshift('-help'); // kludge (assumes -help syntax) } else if (argv.length > 0 && !tokenLooksLikeCommand(argv[0]) && _default) { - // if there are arguments before the first explicit command, use the default command - argv.unshift('-' + _default); + // if there are arguments before the first explicit command, use the default + // command. If _default is a function, let it inspect/mutate argv directly + // (this lets callers route by file type, e.g. .txt -> -run). + if (typeof _default == 'function') { + _default(argv); + } else { + argv.unshift('-' + _default); + } } + // snapshot the argv so we can record the source tokens consumed by each + // command (used by the late-binding {{...}} interpolator) + var argvSnapshot = argv.slice(); + var totalLen = argvSnapshot.length; + while (argv.length > 0) { + var consumedBefore = totalLen - argv.length; cmdName = readCommandName(argv); if (!cmdName) { stop("Invalid command:", argv[0]); } cmdDef = findCommandDefn(cmdName, commandDefs) || null; + // Look ahead at the option tokens this command will consume. If any + // contains a {{...}} placeholder, the late-binding interpolator (in + // mapshaper-run-commands.mjs) will re-parse this command after + // substitution, so we skip validation here to avoid premature errors + // on un-interpolated tokens. + var lookaheadTokens = peekCommandTokens(argv); + var deferValidate = lookaheadTokens.some(tokenContainsPlaceholder); if (!cmdDef) { cmd = parseUnknownCommandOptions(argv, cmdName); } else { - cmd = parseCommandOptions(argv, cmdDef); + cmd = parseCommandOptions(argv, cmdDef, deferValidate); } + var consumedAfter = totalLen - argv.length; + // Stash the source tokens for the late-binding {{...}} interpolator. + // Defined as non-enumerable so existing tests that deep-equal parsed + // commands aren't affected. + Object.defineProperty(cmd, '_tokens', { + value: argvSnapshot.slice(consumedBefore, consumedAfter), + enumerable: false, + writable: true, + configurable: true + }); commands.push(cmd); } return commands; - function parseCommandOptions(argv, cmdDef) { + // Return the tokens (without removing them) that the next command would + // consume. Boundary is the next command name, matching the rule in + // parseCommandOptions. + function peekCommandTokens(argv) { + var out = []; + for (var i = 0; i < argv.length; i++) { + if (tokenLooksLikeCommand(argv[i])) break; + out.push(argv[i]); + } + return out; + } + + function tokenContainsPlaceholder(s) { + return typeof s == 'string' && s.indexOf('{{') !== -1; + } + + function parseCommandOptions(argv, cmdDef, deferValidate) { var cmd = { name: cmdDef.name, options: {}, @@ -97,10 +142,10 @@ export function CommandParser() { } try { - if (cmd._.length > 0) { + if (cmd._.length > 0 && !deferValidate) { readDefaultOptionValue(cmd, cmdDef); } - if (cmdDef.validate) { + if (cmdDef.validate && !deferValidate) { cmdDef.validate(cmd); } delete cmd.options._; // kludge to remove -o placeholder option diff --git a/src/cli/mapshaper-options.mjs b/src/cli/mapshaper-options.mjs index 7dabdfef7..fe70ec3ff 100644 --- a/src/cli/mapshaper-options.mjs +++ b/src/cli/mapshaper-options.mjs @@ -1,6 +1,7 @@ import * as V from '../cli/mapshaper-option-validation'; import { error } from '../utils/mapshaper-logging'; import { CommandParser } from '../cli/mapshaper-command-parser'; +import { isPotentialCommandFile } from '../io/mapshaper-file-types'; export function getOptionParser() { // definitions of options shared by more than one command @@ -109,7 +110,16 @@ export function getOptionParser() { parser.section('I/O commands'); - parser.default('i'); + // When the command line begins with a non-command argument, route .txt files + // to "-run " (command files) and everything else to "-i " (data + // files). The actual file-or-expression check happens inside cmd.run. + parser.default(function(argv) { + if (isPotentialCommandFile(argv[0])) { + argv.unshift('-run'); + } else { + argv.unshift('-i'); + } + }); parser.command('i') .describe('input one or more files') @@ -2076,10 +2086,11 @@ export function getOptionParser() { }); parser.command('run') - .describe('create commands on-the-fly and run them') + .describe('run commands from a command file or JS expression') .option('expression', { DEFAULT: true, - describe: 'JS expression or template to generate command(s)' + label: '', + describe: 'path to a .txt command file, or a JS expression/template' }) // deprecated .option('commands', {alias_to: 'expression'}) @@ -2251,6 +2262,14 @@ export function getOptionParser() { } }); + parser.command('defaults') + .describe('set {{VAR}} interpolation variables only if not already set') + .option('values', { + DEFAULT: { + multi_arg: true + } + }); + parser.command('encodings') .describe('print list of supported text encodings (for .dbf import)'); @@ -2295,6 +2314,14 @@ export function getOptionParser() { parser.command('quiet') .describe('inhibit console messages'); + parser.command('vars') + .describe('define variables for {{VAR}} interpolation (overwrites)') + .option('values', { + DEFAULT: { + multi_arg: true + } + }); + parser.command('verbose') .describe('print verbose processing messages'); diff --git a/src/cli/mapshaper-parse-commands.mjs b/src/cli/mapshaper-parse-commands.mjs index c7fce8fbe..0a3bca89e 100644 --- a/src/cli/mapshaper-parse-commands.mjs +++ b/src/cli/mapshaper-parse-commands.mjs @@ -1,5 +1,6 @@ import { getOptionParser } from '../cli/mapshaper-options'; import { splitShellTokens } from '../cli/mapshaper-option-parsing-utils'; +import { isPotentialCommandFile } from '../io/mapshaper-file-types'; import { stop } from '../utils/mapshaper-logging'; import utils from '../utils/mapshaper-utils'; import cli from './mapshaper-cli-utils'; @@ -49,10 +50,10 @@ export function parseConsoleCommands(raw) { return parsed; } -// Parse the text content of a mapshaper script file (e.g. "commands.txt") +// Parse the text content of a mapshaper command file (e.g. "commands.txt") // into a single normalized command string suitable for parseCommands(). // -// Script syntax (a superset of the equivalent shell command line): +// Command file syntax (a superset of the equivalent shell command line): // - Optional leading "mapshaper" magic word (used by the file-type sniffer). // - "#" begins a comment that runs to the end of the line. Comments are // ignored unless the "#" appears inside a quoted string. @@ -62,18 +63,30 @@ export function parseConsoleCommands(raw) { // - Commands must begin with "-" (e.g. "-i", "-target"). Lines that do // not start with "-" are treated as continuations of the previous // command. -// - As on the CLI, an initial "-i" is implied: if the first non-blank -// content (after the optional "mapshaper" word) does not start with -// "-", "-i " is prepended to it. +// - As on the CLI, an initial command is implied for the first bare token +// after the optional "mapshaper" word: a .txt file routes to +// "-run " (command file), and any other bare token routes to +// "-i " (data file). // -export function parseScriptContent(content) { +// "{{VAR}}" placeholders are substituted at execution time, against the +// live job.defs object. See mapshaper-vars-utils.mjs and the late-binding +// hook in mapshaper-run-commands.mjs. +// +export function parseCommandFileContent(content) { if (typeof content != 'string') { content = String(content || ''); } // Strip BOM if present if (content.charCodeAt(0) === 0xFEFF) content = content.slice(1); + var commands = groupCommandFileLines(extractLogicalLines(content)); + return commands.join(' '); +} - var lines = []; // logical lines, with embedded newlines if inside quotes +// Walk command file content into logical lines, respecting quoted strings and +// stripping "#" comments. Quoted-string contents (including embedded +// newlines) are preserved verbatim. +function extractLogicalLines(content) { + var lines = []; var current = ''; var quote = null; // null, "'", or '"' var inComment = false; @@ -86,13 +99,11 @@ export function parseScriptContent(content) { lines.push(current); current = ''; } - // else: skip char inside the comment continue; } if (quote) { current += c; if (c === quote) { - // count preceding backslashes; an odd count means the quote is escaped var bs = 0; for (var j = i - 1; j >= 0 && content.charAt(j) === '\\'; j--) bs++; if (bs % 2 === 0) quote = null; @@ -113,15 +124,24 @@ export function parseScriptContent(content) { } if (current.length > 0) lines.push(current); if (quote) { - stop('Unterminated quoted string in script'); + stop('Unterminated quoted string in command file'); } + return lines; +} +// Group an array of logical lines into command strings: +// - Strip trailing-backslash continuations. +// - Strip a leading "mapshaper" magic word from the first non-blank line. +// - Lines starting with "-" begin a new command. +// - Other lines are continuations of the previous command. +// - The very first bare token is treated as an implicit -i (data file) +// or -run (command file), matching CLI behavior. +function groupCommandFileLines(lines) { var commands = []; var cur = ''; var sawMagicWord = false; for (var k = 0; k < lines.length; k++) { var line = lines[k]; - // Strip trailing backslash continuation (and any whitespace before/after it) line = line.replace(/\s*\\\s*$/, '').trim(); if (!line) continue; @@ -136,13 +156,25 @@ export function parseScriptContent(content) { if (cur) commands.push(cur); cur = line; } else if (!cur && commands.length === 0) { - // Implicit -i for the first command, mirroring CLI behavior: - // "mapshaper foo.shp" => "mapshaper -i foo.shp" - cur = '-i ' + line; + cur = implicitFirstCommand(line); } else { cur += ' ' + line; } } if (cur) commands.push(cur); - return commands.join(' '); + return commands; +} + +// Build the implicit command for a leading bare token: +// foo.txt -> -run foo.txt +// anything else -> -i +// Only the first whitespace-separated token of @line is sniffed for the .txt +// extension; any trailing tokens (rare but possible after line joining) are +// passed through unchanged. +function implicitFirstCommand(line) { + var firstTok = line.split(/\s+/)[0]; + if (isPotentialCommandFile(firstTok)) { + return '-run ' + line; + } + return '-i ' + line; } diff --git a/src/cli/mapshaper-run-command-file.mjs b/src/cli/mapshaper-run-command-file.mjs new file mode 100644 index 000000000..71cfd3e88 --- /dev/null +++ b/src/cli/mapshaper-run-command-file.mjs @@ -0,0 +1,91 @@ +import { parseCommands, parseCommandFileContent } from '../cli/mapshaper-parse-commands'; +import { runParsedCommands } from '../cli/mapshaper-run-commands'; +import { commandTakesFileInput } from '../cli/mapshaper-command-info'; +import { + isPotentialCommandFile, + stringLooksLikeCommandFile } from '../io/mapshaper-file-types'; +import cli from '../cli/mapshaper-cli-utils'; +import { stop, message, verbose } from '../utils/mapshaper-logging'; +import utils from '../utils/mapshaper-utils'; + +// Maximum nesting depth for command files that load other command files +var MAX_RUN_DEPTH = 10; + +// Returns the text content of a command file, or null if @file does not look +// like a mapshaper command file (wrong extension or missing magic word). +// On match, the file content is left in the cache so a subsequent reader +// can reuse it. +export function readCommandFile(file, cache) { + if (!isPotentialCommandFile(file)) return null; + cli.checkFileExists(file, cache); + // cli.readFile(... cache) deletes the entry from the cache after reading, + // so we put it back in case downstream code expects to find it there. + var content = cli.readFile(file, 'utf8', cache); + if (!stringLooksLikeCommandFile(content)) { + if (cache) cache[file] = content; + return null; + } + if (cache) cache[file] = content; + return content; +} + +// Parse and execute the commands in a mapshaper command file within the +// given job. Invoked by the -run command when its argument is a .txt file. +// +// @file: command file path +// @content: command file content (string) +// @job: parent Job object (commands run in this job) +// @opts: options object from the parent -run command (used for input cache and +// recursion-depth tracking) +// +export async function runCommandFile(file, content, job, opts) { + var depth = (opts && opts._run_depth || 0) + 1; + if (depth > MAX_RUN_DEPTH) { + stop('Command file nesting limit exceeded (' + MAX_RUN_DEPTH + ') at: ' + file); + } + + var cache = opts && opts.input || null; + var commandStr; + try { + commandStr = parseCommandFileContent(content); + } catch(e) { + e.message = 'Error in command file ' + file + ': ' + e.message; + throw e; + } + + if (!commandStr) { + message('Command file contains no commands:', file); + return; + } + + verbose('Running command file:', file); + + var commands; + try { + commands = parseCommands(commandStr); + } catch(e) { + e.message = 'Error in command file ' + file + ': ' + e.message; + throw e; + } + + // Forward the input cache, output array and depth tracker to nested + // commands. This lets a command file's -i find sibling files in the same + // cache, lets nested -o commands write to the same output collector (e.g. + // when running under applyCommands), and lets nested -run commands respect + // the recursion limit. + var outputArr = opts && opts.output || null; + commands.forEach(function(c) { + if (commandTakesFileInput(c.name) && cache) { + c.options.input = cache; + } + if (outputArr && (c.name == 'o' || c.name == 'i' || c.name == 'run' || + c.name == 'info' && c.options.save_to)) { + c.options.output = outputArr; + } + if (c.name == 'run') { + c.options._run_depth = depth; + } + }); + + await utils.promisify(runParsedCommands)(commands, job); +} diff --git a/src/cli/mapshaper-run-command.mjs b/src/cli/mapshaper-run-command.mjs index a1a4e692c..1343997a6 100644 --- a/src/cli/mapshaper-run-command.mjs +++ b/src/cli/mapshaper-run-command.mjs @@ -14,8 +14,6 @@ import utils from '../utils/mapshaper-utils'; import cmd from '../mapshaper-cmd'; import { stashVar, clearStash } from '../mapshaper-stash'; import { applyCommandToEachLayer, applyCommandToEachTarget } from '../cli/mapshaper-command-utils'; -import { readScriptFile, runScriptFile } from '../cli/mapshaper-run-script'; - import '../commands/mapshaper-add-shape'; import '../commands/mapshaper-affine'; import '../commands/mapshaper-alpha-shapes'; @@ -31,6 +29,7 @@ import '../commands/mapshaper-comment'; import '../commands/mapshaper-dashlines'; import '../commands/mapshaper-data-fill'; import '../commands/mapshaper-define'; +import '../commands/mapshaper-vars'; import '../commands/mapshaper-dissolve'; import '../commands/mapshaper-dissolve2'; import '../commands/mapshaper-divide'; @@ -105,7 +104,7 @@ function commandAcceptsEmptyTarget(name) { name == 'require' || name == 'run' || name == 'define' || name == 'include' || name == 'print' || name == 'comment' || name == 'if' || name == 'elif' || name == 'else' || name == 'endif' || name == 'stop' || name == 'add-shape' || - name == 'scalebar'; + name == 'scalebar' || name == 'vars' || name == 'defaults'; } export async function runCommand(command, job) { @@ -240,6 +239,12 @@ export async function runCommand(command, job) { } else if (name == 'define') { cmd.define(job.catalog, opts); + } else if (name == 'vars') { + cmd.vars(job, opts); + + } else if (name == 'defaults') { + cmd.defaults(job, opts); + } else if (name == 'dissolve') { outputLayers = applyCommandToEachLayer(cmd.dissolve, targetLayers, arcs, opts); @@ -311,12 +316,9 @@ export async function runCommand(command, job) { } else if (name == 'i') { if (opts.replace) job.catalog = new Catalog(); // is this what we want? - var scriptResult = await maybeRunScriptImport(opts, job); - if (!scriptResult) { - targetDataset = await cmd.importFiles(job.catalog, command.options); - if (targetDataset) { - outputLayers = targetDataset.layers; // kludge to allow layer naming below - } + targetDataset = await cmd.importFiles(job.catalog, command.options); + if (targetDataset) { + outputLayers = targetDataset.layers; // kludge to allow layer naming below } } else if (name == 'if' || name == 'elif') { @@ -561,26 +563,3 @@ function outputLayersAreDifferent(output, input) { return output.indexOf(lyr) > -1; }); } - -// If the -i command's input is a single mapshaper script file, parse and -// execute its commands within the current job and return true. Otherwise -// return false to let the regular file-import path handle the input. -async function maybeRunScriptImport(opts, job) { - var files = opts.files || []; - if (files.length === 0) return false; - - if (files.length > 1) { - // Disallow mixing scripts with other inputs in a single -i invocation. - for (var i = 0; i < files.length; i++) { - if (readScriptFile(files[i], opts.input)) { - stop('Script files cannot be combined with other input files in a single -i command'); - } - } - return false; - } - - var content = readScriptFile(files[0], opts.input); - if (content === null) return false; - await runScriptFile(files[0], content, job, opts); - return true; -} diff --git a/src/cli/mapshaper-run-commands.mjs b/src/cli/mapshaper-run-commands.mjs index 43b4cba65..b86c9426a 100644 --- a/src/cli/mapshaper-run-commands.mjs +++ b/src/cli/mapshaper-run-commands.mjs @@ -3,8 +3,10 @@ import { printProjections } from '../crs/mapshaper-projections'; import { printEncodings } from '../text/mapshaper-encodings'; import { printColorSchemeNames } from '../color/color-schemes'; import { parseCommands } from '../cli/mapshaper-parse-commands'; +import { containsPlaceholder, interpolateString } from '../cli/mapshaper-vars-utils'; +import { skipCommand } from '../commands/mapshaper-if-elif-else-endif'; import { guessInputContentType } from '../io/mapshaper-file-types'; -import { error, UserError, message, print, loggingEnabled, printError } from '../utils/mapshaper-logging'; +import { error, UserError, stop, message, print, loggingEnabled, printError } from '../utils/mapshaper-logging'; import { Job } from '../mapshaper-job'; import { runningInBrowser } from '../mapshaper-env'; import utils from '../utils/mapshaper-utils'; @@ -148,9 +150,9 @@ function _runCommands(argv, opts, callback) { if (outputArr && (cmd.name == 'o' || cmd.name == 'info' && cmd.options.save_to)) { cmd.options.output = outputArr; } - // -i commands may resolve to script files; propagate the output array so - // that -o commands nested inside the script can write to it too. - if (outputArr && cmd.name == 'i') { + // -run may load and execute a command file; propagate the output array + // so that -o commands nested inside it can write to it too. + if (outputArr && cmd.name == 'run') { cmd.options.output = outputArr; } }); @@ -245,7 +247,13 @@ export function runParsedCommands(commands, job, done) { utils.reduceAsync(commands, job, nextCommand, done); function nextCommand(job, cmd, next) { - runCommand(cmd, job).then(function(result) { + var resolved; + try { + resolved = maybeInterpolateCommand(cmd, job); + } catch(e) { + return next(e); + } + runCommand(resolved, job).then(function(result) { next(null, result); }).catch(function(e) { next(e); @@ -253,6 +261,60 @@ export function runParsedCommands(commands, job, done) { } } +// Late-binding interpolation: just before each command runs, replace any +// {{X}} placeholders in its source tokens against the live job.defs object, +// then re-parse to get fresh option values. +// +// Returns either the original cmd (no placeholders, no _tokens, or the +// command will be skipped) or a fresh cmd object with re-parsed options. +// The original cmd is never mutated, so commands shared across batches +// (see divideImportCommand) still see their un-interpolated tokens. +function maybeInterpolateCommand(cmd, job) { + var tokens = cmd._tokens; + if (!tokens || tokens.length === 0) return cmd; + if (!tokens.some(containsPlaceholder)) return cmd; + // If the command would be skipped (inactive -if branch, stopped job, etc.), + // don't try to interpolate -- the command body never runs and unset + // variables shouldn't error here. + if (skipCommand(cmd.name, job)) return cmd; + + var defs = job.defs || {}; + var interpolated; + try { + interpolated = tokens.map(function(tok) { + return interpolateString(tok, defs); + }); + } catch(e) { + e.message = '[' + cmd.name + '] ' + e.message; + throw e; + } + + var reparsed; + try { + reparsed = parseCommands(interpolated); + } catch(e) { + e.message = '[' + cmd.name + '] ' + e.message; + throw e; + } + if (reparsed.length !== 1) { + stop('[' + cmd.name + '] Internal error: token re-parse produced ' + + reparsed.length + ' commands'); + } + var newCmd = reparsed[0]; + // Preserve externally-injected options (input cache, output array, + // _run_depth, final flag, replace flag, etc.) that aren't reproduced + // by re-parsing the source tokens. + Object.keys(cmd.options).forEach(function(k) { + if (!(k in newCmd.options)) { + newCmd.options[k] = cmd.options[k]; + } + }); + // Keep the original tokens around so re-runs (e.g. divided import batches) + // see the un-interpolated source. + newCmd._tokens = tokens; + return newCmd; +} + function handleNonFatalError(err) { if (err && err.name == 'NonFatalError') { printError(err); diff --git a/src/cli/mapshaper-run-script.mjs b/src/cli/mapshaper-run-script.mjs deleted file mode 100644 index de8024ba3..000000000 --- a/src/cli/mapshaper-run-script.mjs +++ /dev/null @@ -1,92 +0,0 @@ -import { parseCommands, parseScriptContent } from '../cli/mapshaper-parse-commands'; -import { runParsedCommands } from '../cli/mapshaper-run-commands'; -import { commandTakesFileInput } from '../cli/mapshaper-command-info'; -import { - isPotentialScriptFile, - stringLooksLikeScript } from '../io/mapshaper-file-types'; -import cli from '../cli/mapshaper-cli-utils'; -import { stop, message, verbose } from '../utils/mapshaper-logging'; -import utils from '../utils/mapshaper-utils'; - -// Maximum nesting depth for scripts that load other scripts -var MAX_SCRIPT_DEPTH = 10; - -// Returns the text content of a script file, or null if @file does not look -// like a mapshaper script (wrong extension or missing magic word). -// On match, the file content is left in the cache so a subsequent reader -// can reuse it. -export function readScriptFile(file, cache) { - if (!isPotentialScriptFile(file)) return null; - cli.checkFileExists(file, cache); - // cli.readFile(... cache) deletes the entry from the cache after reading, - // so we put it back in case downstream code expects to find it there. - var content = cli.readFile(file, 'utf8', cache); - if (!stringLooksLikeScript(content)) { - if (cache) cache[file] = content; - return null; - } - if (cache) cache[file] = content; - return content; -} - -// Parse and execute the commands in a mapshaper script file within the -// given job. Used by the CLI -i command when the input file is detected -// as a script. -// -// @file: script file path -// @content: script file content (string) -// @job: parent Job object (script commands run in this job) -// @opts: options object from the parent -i command (used for input cache and -// recursion-depth tracking) -// -export async function runScriptFile(file, content, job, opts) { - var depth = (opts && opts._script_depth || 0) + 1; - if (depth > MAX_SCRIPT_DEPTH) { - stop('Script nesting limit exceeded (' + MAX_SCRIPT_DEPTH + ') at: ' + file); - } - - var cache = opts && opts.input || null; - var commandStr; - try { - commandStr = parseScriptContent(content); - } catch(e) { - e.message = 'Error in script ' + file + ': ' + e.message; - throw e; - } - - if (!commandStr) { - message('Script contains no commands:', file); - return; - } - - verbose('Running script:', file); - - var commands; - try { - commands = parseCommands(commandStr); - } catch(e) { - e.message = 'Error in script ' + file + ': ' + e.message; - throw e; - } - - // Forward the input cache, output array and depth tracker to nested - // commands. This lets a script-loaded -i find sibling files in the same - // cache, lets nested -o commands write to the same output collector - // (e.g. when running under applyCommands), and lets nested -i scripts - // respect the recursion limit. - var outputArr = opts && opts.output || null; - commands.forEach(function(c) { - if (commandTakesFileInput(c.name) && cache) { - c.options.input = cache; - } - if (outputArr && (c.name == 'o' || c.name == 'i' || - c.name == 'info' && c.options.save_to)) { - c.options.output = outputArr; - } - if (c.name == 'i') { - c.options._script_depth = depth; - } - }); - - await utils.promisify(runParsedCommands)(commands, job); -} diff --git a/src/cli/mapshaper-vars-utils.mjs b/src/cli/mapshaper-vars-utils.mjs new file mode 100644 index 000000000..c515b7596 --- /dev/null +++ b/src/cli/mapshaper-vars-utils.mjs @@ -0,0 +1,151 @@ +import { stop } from '../utils/mapshaper-logging'; +import cli from './mapshaper-cli-utils'; +import utils from '../utils/mapshaper-utils'; + +// Variable name pattern. Matches simple identifiers: must start with a letter +// or underscore, followed by letters, digits or underscores. +var VAR_NAME_RXP = /^[A-Za-z_][A-Za-z0-9_]*$/; + +// Pattern that matches a {{...}} placeholder in command text. The optional +// leading character is a backslash (escape) which keeps the placeholder +// literal. The braces themselves cannot appear inside a placeholder. +// +// Group 1: the leading escape (if present) +// Group 2: the contents between {{ and }} +// +var PLACEHOLDER_RXP = /(\\?)\{\{([^{}]+?)\}\}/g; + +// Pattern matching a "KEY=value" inline -vars argument. +var ASSIGNMENT_RXP = /^([A-Za-z_][A-Za-z0-9_]*)=(.*)$/; + +// Returns true if @s is a valid mapshaper variable name. +export function isValidVarName(s) { + return typeof s == 'string' && VAR_NAME_RXP.test(s); +} + +// Returns true if @str might contain a {{...}} placeholder. This is a cheap +// fast-path test used to skip re-parsing for commands that have no +// placeholders. False positives (e.g. literal "{{" inside a quoted JS +// expression) just trigger an interpolation pass that finds nothing to do. +export function containsPlaceholder(str) { + return typeof str == 'string' && str.indexOf('{{') !== -1; +} + +// Validate the parsed contents of a -vars JSON file. The file must contain a +// flat object whose values are primitive (string, number, boolean, null). +// Throws on invalid input. Returns the same object. +export function validateVarsObject(obj, source) { + source = source || ''; + if (!utils.isObject(obj) || Array.isArray(obj)) { + stop('Invalid vars file (' + source + '): expected an object at the top level'); + } + Object.keys(obj).forEach(function(key) { + if (!isValidVarName(key)) { + stop('Invalid var name in ' + source + ': ' + JSON.stringify(key)); + } + var v = obj[key]; + if (v !== null && typeof v != 'string' && typeof v != 'number' && + typeof v != 'boolean') { + stop('Invalid value for var "' + key + '" in ' + source + + ': expected a string, number, boolean or null'); + } + }); + return obj; +} + +// Resolve a single -vars argument. Each argument is either: +// * an inline assignment "KEY=value" (key must be a valid var name) +// * a path to a JSON file containing a flat object of vars +// +// @arg: the raw argument string +// @cache: optional input cache (passed to cli.readFile so files dropped into +// the GUI can be resolved by name) +// @merge: target object that receives the resolved entries +// +function resolveVarsArg(arg, cache, merge) { + var assignment = ASSIGNMENT_RXP.exec(arg); + if (assignment) { + merge[assignment[1]] = assignment[2]; + return; + } + // Treat as a JSON file path + cli.checkFileExists(arg, cache); + var content = cli.readFile(arg, 'utf8', cache); + var obj; + try { + obj = JSON.parse(content); + } catch(e) { + stop('Failed to parse vars file (' + arg + '): ' + e.message); + } + validateVarsObject(obj, arg); + Object.keys(obj).forEach(function(key) { + merge[key] = obj[key]; + }); +} + +// Resolve an array of -vars arguments into a flat scope object. Later +// arguments override earlier ones. +export function parseVarsArgs(args, cache) { + var scope = {}; + if (!Array.isArray(args)) return scope; + args.forEach(function(arg) { + resolveVarsArg(arg, cache, scope); + }); + return scope; +} + +// Look up env.* variables. Throws in environments without process.env. +function lookupEnvVar(name) { + if (typeof process == 'undefined' || !process.env) { + stop('Environment variables are not available in this context'); + } + return process.env[name]; +} + +// Resolve a single placeholder expression to a string. Recognised forms: +// VAR -> defs[VAR] +// env.VAR -> process.env[VAR] +// +// Throws on undefined names, invalid syntax, or non-primitive values. +// +function resolvePlaceholder(expr, defs) { + expr = expr.trim(); + var envMatch = /^env\.([A-Za-z_][A-Za-z0-9_]*)$/.exec(expr); + var val; + if (envMatch) { + val = lookupEnvVar(envMatch[1]); + if (val === undefined || val === null) { + stop('Undefined environment variable: ' + envMatch[1]); + } + return String(val); + } + if (!isValidVarName(expr)) { + stop('Invalid variable reference: {{' + expr + '}}'); + } + if (!defs || !(expr in defs)) { + stop('Undefined variable: ' + expr); + } + val = defs[expr]; + if (val === null || val === undefined) { + stop('Undefined variable: ' + expr); + } + if (typeof val != 'string' && typeof val != 'number' && + typeof val != 'boolean') { + stop('Variable {{' + expr + '}} is not a primitive value (got ' + + (typeof val) + ')'); + } + return String(val); +} + +// Substitute {{...}} placeholders in @str using @defs. Placeholders that +// are preceded by a backslash are left literal (with the backslash removed). +// Substitution is single-pass (no recursion) so that values containing +// "{{...}}" do not trigger further interpolation. +// +export function interpolateString(str, defs) { + if (typeof str != 'string') return str; + return str.replace(PLACEHOLDER_RXP, function(match, escape, expr) { + if (escape === '\\') return '{{' + expr + '}}'; + return resolvePlaceholder(expr, defs); + }); +} diff --git a/src/commands/mapshaper-run.mjs b/src/commands/mapshaper-run.mjs index 25e82584f..6fd2d5d25 100644 --- a/src/commands/mapshaper-run.mjs +++ b/src/commands/mapshaper-run.mjs @@ -7,12 +7,37 @@ import cmd from '../mapshaper-cmd'; import { getIOProxy } from '../expressions/mapshaper-io-proxy'; import { evalTemplateExpression } from '../expressions/mapshaper-template-expressions'; import { commandTakesFileInput } from '../cli/mapshaper-command-info'; +import { isPotentialCommandFile } from '../io/mapshaper-file-types'; +import { readCommandFile, runCommandFile } from '../cli/mapshaper-run-command-file'; cmd.run = async function(job, targets, opts) { - var tmp, commands, ctx; - if (!opts.expression) { - stop("Missing expression parameter"); + var arg = opts.expression; + if (!arg) { + stop('-run requires a command file path or a JS expression'); + } + // Auto-detect a leading argument that looks like a command file (.txt). + // If detection succeeds, treat as a command file; otherwise the argument + // is a JS expression (the original -run behavior). + if (isPotentialCommandFile(arg)) { + if (opts.target) { + stop('-run does not accept a target= option for command files'); + } + await runFromFile(job, arg, opts); + } else { + await runFromExpression(job, targets, opts); + } +}; + +async function runFromFile(job, file, opts) { + var content = readCommandFile(file, opts.input); + if (content === null) { + stop('Not a mapshaper command file (missing "mapshaper" magic word):', file); } + await runCommandFile(file, content, job, opts); +} + +async function runFromExpression(job, targets, opts) { + var tmp, commands, ctx; ctx = getBaseContext(); // io proxy adds ability to add datasets dynamically in a required function ctx.io = getIOProxy(job); @@ -26,12 +51,20 @@ cmd.run = async function(job, targets, opts) { commands = parseCommands(tmp); // TODO: remove duplication with mapshaper-run-commands.mjs + var outputArr = opts && opts.output || null; commands.forEach(function(cmd) { if (commandTakesFileInput(cmd.name)) { cmd.options.input = ctx.io._cache; } + // Forward the output collector to commands that produce output, so a + // generated -o (or info save_to=, or nested -run) writes into the same + // output object (e.g. when running under applyCommands). + if (outputArr && (cmd.name == 'o' || cmd.name == 'run' || + cmd.name == 'info' && cmd.options.save_to)) { + cmd.options.output = outputArr; + } }); await utils.promisify(runParsedCommands)(commands, job); } -}; +} diff --git a/src/commands/mapshaper-vars.mjs b/src/commands/mapshaper-vars.mjs new file mode 100644 index 000000000..5e07904a5 --- /dev/null +++ b/src/commands/mapshaper-vars.mjs @@ -0,0 +1,39 @@ +import cmd from '../mapshaper-cmd'; +import { stop } from '../utils/mapshaper-logging'; +import { parseVarsArgs } from '../cli/mapshaper-vars-utils'; + +// -vars KEY=value [KEY=value ...] inline assignments +// -vars file.json [more ...] load primitives from a flat JSON object +// Mixed forms allowed; later args override earlier ones. +// +// Writes into job.defs (the same object read by {{X}} interpolation, +// -define, -calc and -include). +cmd.vars = function(job, opts) { + var values = (opts && opts.values) || []; + if (!values.length) { + stop('-vars requires one or more KEY=value or file.json arguments'); + } + var parsed = parseVarsArgs(values, opts && opts.input); + if (!job.defs) job.defs = {}; + Object.keys(parsed).forEach(function(key) { + job.defs[key] = parsed[key]; + }); +}; + +// -defaults KEY=value [KEY=value ...] set-if-unset +// Same syntax as -vars, but a key is only assigned if it is not already +// present in job.defs. Lets a command file declare overridable defaults +// that a CLI -vars can pre-empt. +cmd.defaults = function(job, opts) { + var values = (opts && opts.values) || []; + if (!values.length) { + stop('-defaults requires one or more KEY=value or file.json arguments'); + } + var parsed = parseVarsArgs(values, opts && opts.input); + if (!job.defs) job.defs = {}; + Object.keys(parsed).forEach(function(key) { + if (!(key in job.defs)) { + job.defs[key] = parsed[key]; + } + }); +}; diff --git a/src/io/mapshaper-file-types.mjs b/src/io/mapshaper-file-types.mjs index b7d4cb920..9e47c851a 100644 --- a/src/io/mapshaper-file-types.mjs +++ b/src/io/mapshaper-file-types.mjs @@ -80,17 +80,17 @@ export function isPackageFile(file) { return file.endsWith('.' + PACKAGE_EXT); } -// Returns true if @file has an extension that may identify a mapshaper script -// file (e.g. "commands.txt"). Detection still requires a content sniff via -// stringLooksLikeScript(). -export function isPotentialScriptFile(file) { +// Returns true if @file has an extension that may identify a mapshaper +// command file (e.g. "commands.txt"). Detection still requires a content +// sniff via stringLooksLikeCommandFile(). +export function isPotentialCommandFile(file) { var ext = getFileExtension(file || '').toLowerCase(); return ext === 'txt'; } -// True if @str looks like the content of a mapshaper script file: the first +// True if @str looks like the content of a mapshaper command file: the first // non-blank, non-comment line begins with the magic word "mapshaper". -export function stringLooksLikeScript(str) { +export function stringLooksLikeCommandFile(str) { str = String(str || ''); // Skip a leading BOM if (str.charCodeAt(0) === 0xFEFF) str = str.slice(1); diff --git a/test/parse-commands-test.mjs b/test/parse-commands-test.mjs index 29def102f..930696b2b 100644 --- a/test/parse-commands-test.mjs +++ b/test/parse-commands-test.mjs @@ -1,6 +1,6 @@ import assert from 'assert'; -import { parseConsoleCommands, parseScriptContent } from '../src/cli/mapshaper-parse-commands'; -import { stringLooksLikeScript, isPotentialScriptFile } from '../src/io/mapshaper-file-types'; +import { parseConsoleCommands, parseCommandFileContent } from '../src/cli/mapshaper-parse-commands'; +import { stringLooksLikeCommandFile, isPotentialCommandFile } from '../src/io/mapshaper-file-types'; describe('mapshaper-parse-commands.js', function () { @@ -49,25 +49,25 @@ describe('mapshaper-parse-commands.js', function () { }) - describe('parseScriptContent()', function() { + describe('parseCommandFileContent()', function() { it('returns a single command joined string', function() { - var str = parseScriptContent('-i foo.shp\n-o out.shp'); + var str = parseCommandFileContent('-i foo.shp\n-o out.shp'); assert.equal(str, '-i foo.shp -o out.shp'); }) it('strips leading "mapshaper" magic word', function() { - var str = parseScriptContent('mapshaper\n-i foo.shp\n-o out.shp'); + var str = parseCommandFileContent('mapshaper\n-i foo.shp\n-o out.shp'); assert.equal(str, '-i foo.shp -o out.shp'); }) it('strips "mapshaper" magic word followed by inline command', function() { - var str = parseScriptContent('mapshaper -i foo.shp\n-o'); + var str = parseCommandFileContent('mapshaper -i foo.shp\n-o'); assert.equal(str, '-i foo.shp -o'); }) it('strips full-line "#" comments', function() { - var str = parseScriptContent([ + var str = parseCommandFileContent([ '# this is a comment', '-i foo.shp', ' # indented comment', @@ -77,120 +77,166 @@ describe('mapshaper-parse-commands.js', function () { }) it('strips end-of-line "#" comments', function() { - var str = parseScriptContent('-i foo.shp # load file\n-o # save it'); + var str = parseCommandFileContent('-i foo.shp # load file\n-o # save it'); assert.equal(str, '-i foo.shp -o'); }) it('preserves "#" inside double-quoted strings', function() { - var str = parseScriptContent('-each \'d.color = "#fff"\''); + var str = parseCommandFileContent('-each \'d.color = "#fff"\''); assert.equal(str, '-each \'d.color = "#fff"\''); }) it('preserves "#" inside single-quoted strings', function() { - var str = parseScriptContent("-each 'd.tag = \"#a\"'"); + var str = parseCommandFileContent("-each 'd.tag = \"#a\"'"); assert.equal(str, "-each 'd.tag = \"#a\"'"); }) it('joins continuation lines that do not start with "-"', function() { - var str = parseScriptContent('-i\n foo.shp\n encoding=utf8\n-o'); + var str = parseCommandFileContent('-i\n foo.shp\n encoding=utf8\n-o'); assert.equal(str, '-i foo.shp encoding=utf8 -o'); }) it('strips trailing backslash line continuation', function() { - var str = parseScriptContent('-i foo.shp \\\n encoding=utf8 \\\n-o'); + var str = parseCommandFileContent('-i foo.shp \\\n encoding=utf8 \\\n-o'); assert.equal(str, '-i foo.shp encoding=utf8 -o'); }) it('preserves embedded newlines inside quoted strings', function() { - var script = '-each \'\n d.x = 1\n\''; - var str = parseScriptContent(script); + var content = '-each \'\n d.x = 1\n\''; + var str = parseCommandFileContent(content); assert.ok(str.includes('\n')); assert.ok(str.includes('d.x = 1')); }) it('treats unquoted * as bareword', function() { - var str = parseScriptContent('-target *'); + var str = parseCommandFileContent('-target *'); assert.equal(str, '-target *'); }) it('strips a leading BOM', function() { - var str = parseScriptContent('\uFEFFmapshaper\n-i foo.shp\n-o'); + var str = parseCommandFileContent('\uFEFFmapshaper\n-i foo.shp\n-o'); assert.equal(str, '-i foo.shp -o'); }) it('returns empty string when input is empty', function() { - assert.equal(parseScriptContent(''), ''); - assert.equal(parseScriptContent('# only comments\n# more\n'), ''); + assert.equal(parseCommandFileContent(''), ''); + assert.equal(parseCommandFileContent('# only comments\n# more\n'), ''); }) it('implicit -i for first bare token (mirrors CLI)', function() { - var str = parseScriptContent('mapshaper sources/foo.json'); + var str = parseCommandFileContent('mapshaper sources/foo.json'); assert.equal(str, '-i sources/foo.json'); }) it('implicit -i for first bare token on its own line', function() { - var str = parseScriptContent('mapshaper\nsources/foo.json\n-target *'); + var str = parseCommandFileContent('mapshaper\nsources/foo.json\n-target *'); assert.equal(str, '-i sources/foo.json -target *'); }) it('implicit -i without the "mapshaper" magic word', function() { // Even without the magic word (e.g. content fed in directly), the // first bare line is treated as an implicit -i. - var str = parseScriptContent('foo.shp\n-o'); + var str = parseCommandFileContent('foo.shp\n-o'); assert.equal(str, '-i foo.shp -o'); }) it('multiple bare lines after implicit -i join as continuations', function() { - var str = parseScriptContent('mapshaper\na.json\nb.json\n-o'); + var str = parseCommandFileContent('mapshaper\na.json\nb.json\n-o'); assert.equal(str, '-i a.json b.json -o'); }) + it('routes a leading bare .txt token to -run (matches CLI)', function() { + var str = parseCommandFileContent('mapshaper inner.txt'); + assert.equal(str, '-run inner.txt'); + }) + + it('routes a leading bare .txt token on its own line to -run', function() { + var str = parseCommandFileContent('mapshaper\ninner.txt\n-o out.csv'); + assert.equal(str, '-run inner.txt -o out.csv'); + }) + it('throws on an unterminated quoted string', function() { assert.throws(function() { - parseScriptContent('-each \'unterminated'); + parseCommandFileContent('-each \'unterminated'); }); }) it('does not treat "mapshaper" as magic word past the first non-blank line', function() { - var str = parseScriptContent('-i foo.shp\nmapshaper-bare-word'); + var str = parseCommandFileContent('-i foo.shp\nmapshaper-bare-word'); // second line is a continuation, "mapshaper" not stripped assert.equal(str, '-i foo.shp mapshaper-bare-word'); }) + describe('variable interpolation (late-binding)', function() { + + // Interpolation is now performed at execution time, against job.defs, + // by the run loop in mapshaper-run-commands.mjs. The command-file + // parser is just a tokenizer: it leaves {{...}} placeholders and + // -vars commands intact for the executor to handle. + + it('preserves {{VAR}} placeholders verbatim', function() { + var str = parseCommandFileContent('-i {{INPUT}} -o {{OUTPUT}}'); + assert.equal(str, '-i {{INPUT}} -o {{OUTPUT}}'); + }) + + it('preserves -vars commands as ordinary commands', function() { + var str = parseCommandFileContent('-vars YEAR=2024\n-i counties_{{YEAR}}.shp'); + assert.equal(str, '-vars YEAR=2024 -i counties_{{YEAR}}.shp'); + }) + + it('preserves -defaults commands as ordinary commands', function() { + var str = parseCommandFileContent('-defaults YEAR=2024\n-i counties_{{YEAR}}.shp'); + assert.equal(str, '-defaults YEAR=2024 -i counties_{{YEAR}}.shp'); + }) + + it('does not throw on undefined placeholders at parse time', function() { + // resolution happens at execution time + assert.doesNotThrow(function() { + parseCommandFileContent('-i {{MISSING}}.shp'); + }); + }) + + it('preserves env.VAR placeholders', function() { + var str = parseCommandFileContent('-i {{env.HOME}}/foo.shp'); + assert.equal(str, '-i {{env.HOME}}/foo.shp'); + }) + + }) + }) - describe('stringLooksLikeScript()', function() { + describe('stringLooksLikeCommandFile()', function() { it('matches files starting with "mapshaper"', function() { - assert.ok(stringLooksLikeScript('mapshaper\n-i foo.shp')); - assert.ok(stringLooksLikeScript('mapshaper -i foo.shp -o')); + assert.ok(stringLooksLikeCommandFile('mapshaper\n-i foo.shp')); + assert.ok(stringLooksLikeCommandFile('mapshaper -i foo.shp -o')); }) it('matches when "mapshaper" is preceded by blank lines and comments', function() { - assert.ok(stringLooksLikeScript('\n\n# a comment\n # another\nmapshaper\n-i foo')); + assert.ok(stringLooksLikeCommandFile('\n\n# a comment\n # another\nmapshaper\n-i foo')); }) it('rejects files that do not begin with the magic word', function() { - assert.ok(!stringLooksLikeScript('foo,bar,baz\n1,2,3\n')); - assert.ok(!stringLooksLikeScript('-i foo.shp\n')); - assert.ok(!stringLooksLikeScript('mapshaper-data,1,2\n')); + assert.ok(!stringLooksLikeCommandFile('foo,bar,baz\n1,2,3\n')); + assert.ok(!stringLooksLikeCommandFile('-i foo.shp\n')); + assert.ok(!stringLooksLikeCommandFile('mapshaper-data,1,2\n')); }) it('handles a leading BOM', function() { - assert.ok(stringLooksLikeScript('\uFEFFmapshaper\n-i foo')); + assert.ok(stringLooksLikeCommandFile('\uFEFFmapshaper\n-i foo')); }) }) - describe('isPotentialScriptFile()', function() { + describe('isPotentialCommandFile()', function() { it('matches .txt files', function() { - assert.ok(isPotentialScriptFile('commands.txt')); - assert.ok(isPotentialScriptFile('a/b/commands.TXT')); + assert.ok(isPotentialCommandFile('commands.txt')); + assert.ok(isPotentialCommandFile('a/b/commands.TXT')); }) it('does not match other extensions', function() { - assert.ok(!isPotentialScriptFile('foo.csv')); - assert.ok(!isPotentialScriptFile('foo.shp')); - assert.ok(!isPotentialScriptFile('foo.json')); - assert.ok(!isPotentialScriptFile('foo')); + assert.ok(!isPotentialCommandFile('foo.csv')); + assert.ok(!isPotentialCommandFile('foo.shp')); + assert.ok(!isPotentialCommandFile('foo.json')); + assert.ok(!isPotentialCommandFile('foo')); }) }) }) diff --git a/test/run-command-file-test.mjs b/test/run-command-file-test.mjs new file mode 100644 index 000000000..8749bd0ef --- /dev/null +++ b/test/run-command-file-test.mjs @@ -0,0 +1,434 @@ +import api from '../mapshaper.js'; +import assert from 'assert'; + +describe('mapshaper-run-command-file.js', function() { + + it('runs a .txt command file supplied via the input cache', async function() { + var content = [ + 'mapshaper', + '-i data.csv', + '-o out.csv' + ].join('\n'); + var input = { + 'commands.txt': content, + 'data.csv': 'a,b\n1,2\n' + }; + var out = await api.applyCommands('-run commands.txt', input); + assert.equal(out['out.csv'], 'a,b\n1,2'); + }); + + it('bare-token CLI form routes a .txt file to -run', async function() { + // Mirrors `mapshaper commands.txt` on the shell. + var content = [ + 'mapshaper', + '-i data.csv', + '-o out.csv' + ].join('\n'); + var input = { + 'commands.txt': content, + 'data.csv': 'a,b\n1,2\n' + }; + var out = await api.applyCommands('commands.txt', input); + assert.equal(out['out.csv'], 'a,b\n1,2'); + }); + + it('bare-token CLI form routes a .csv file to -i', async function() { + // Mirrors `mapshaper data.csv -o out.csv` on the shell. + var input = { 'data.csv': 'a,b\n1,2\n' }; + var out = await api.applyCommands('data.csv -o out.csv', input); + assert.equal(out['out.csv'], 'a,b\n1,2'); + }); + + it('-run errors when given a .txt file that is not a mapshaper command file', async function() { + // .txt with no "mapshaper" magic word -> not recognised as a command file. + var input = { + 'notes.txt': 'just some text\nnot a command file\n' + }; + var err; + try { + await api.applyCommands('-run notes.txt', input); + } catch(e) { err = e; } + assert.ok(err); + assert.ok(/Not a mapshaper command file/i.test(err.message), + 'helpful error mentions the file is not a command file'); + }); + + it('-i no longer treats .txt command files as command files (data only)', async function() { + // After the -i / -run split, -i parses .txt as DSV regardless of + // the leading "mapshaper" magic word. + var input = { + 'commands.txt': 'a\nfoo\nbar\n' + }; + var out = await api.applyCommands('-i commands.txt -o', input); + // exported with default name based on input name + assert.ok(out['commands.csv']); + }); + + it('strips end-of-line "#" comments', async function() { + var content = [ + 'mapshaper # this is a command file', + '-i data.csv # load some data', + '-rename-layers points # rename it', + '-o out.csv' + ].join('\n'); + var input = { + 'commands.txt': content, + 'data.csv': 'a,b\n1,2\n' + }; + var out = await api.applyCommands('-run commands.txt', input); + assert.equal(out['out.csv'], 'a,b\n1,2'); + }); + + it('joins lines that do not begin with "-" onto the previous command', async function() { + var content = [ + 'mapshaper', + '-i', + ' data.csv', + '-o', + ' out.csv' + ].join('\n'); + var input = { + 'commands.txt': content, + 'data.csv': 'a,b\n1,2\n' + }; + var out = await api.applyCommands('-run commands.txt', input); + assert.equal(out['out.csv'], 'a,b\n1,2'); + }); + + it('accepts shell-style trailing-backslash continuations', async function() { + var content = [ + 'mapshaper \\', + '-i data.csv \\', + '-o out.csv' + ].join('\n'); + var input = { + 'commands.txt': content, + 'data.csv': 'a,b\n1,2\n' + }; + var out = await api.applyCommands('-run commands.txt', input); + assert.equal(out['out.csv'], 'a,b\n1,2'); + }); + + it('preserves "#" inside quoted strings', async function() { + var content = [ + 'mapshaper', + '-i data.csv', + '-each \'d.color = "#fff"\'', + '-o out.csv' + ].join('\n'); + var input = { + 'commands.txt': content, + 'data.csv': 'a\n1\n' + }; + var out = await api.applyCommands('-run commands.txt', input); + assert.equal(out['out.csv'], 'a,color\n1,#fff'); + }); + + it('supports nested command files via -run', async function() { + var inner = [ + 'mapshaper', + '-i data.csv', + '-o out.csv' + ].join('\n'); + var outer = [ + 'mapshaper', + '-run inner.txt' + ].join('\n'); + var input = { + 'outer.txt': outer, + 'inner.txt': inner, + 'data.csv': 'a,b\n1,2\n' + }; + var out = await api.applyCommands('-run outer.txt', input); + assert.equal(out['out.csv'], 'a,b\n1,2'); + }); + + it('supports nested command files via implicit-bare-token form', async function() { + // Inside a command file, "mapshaper inner.txt" implies "-run inner.txt" + // (matching the CLI bare-token routing). + var inner = [ + 'mapshaper', + '-i data.csv', + '-o out.csv' + ].join('\n'); + var outer = [ + 'mapshaper inner.txt' + ].join('\n'); + var input = { + 'outer.txt': outer, + 'inner.txt': inner, + 'data.csv': 'a,b\n1,2\n' + }; + var out = await api.applyCommands('-run outer.txt', input); + assert.equal(out['out.csv'], 'a,b\n1,2'); + }); + + it('attributes parse errors to the command file', async function() { + var content = [ + 'mapshaper', + '-each \'unterminated quote', + '-o' + ].join('\n'); + var input = { + 'commands.txt': content + }; + var err; + try { + await api.applyCommands('-run commands.txt', input); + } catch(e) { err = e; } + assert.ok(err); + assert.ok(/commands\.txt/.test(err.message), + 'error message references the command file'); + }); + + it('treats a leading bare data-file token in a command file as implicit -i', async function() { + // Mirrors CLI: "mapshaper foo.csv" implies "-i foo.csv". + var content = [ + 'mapshaper data.csv', + '-o out.csv' + ].join('\n'); + var input = { + 'commands.txt': content, + 'data.csv': 'a,b\n1,2\n' + }; + var out = await api.applyCommands('-run commands.txt', input); + assert.equal(out['out.csv'], 'a,b\n1,2'); + }); + + it('ignores empty command files (only comments)', async function() { + var content = [ + 'mapshaper', + '# nothing to do here', + '# really' + ].join('\n'); + var input = { + 'commands.txt': content + }; + var out = await api.applyCommands('-run commands.txt', input); + assert.deepEqual(out, {}); + }); + + it('command file can run multiple commands in sequence', async function() { + var content = [ + 'mapshaper', + '-i data.csv', + '-filter \'a > 1\'', + '-o out.csv' + ].join('\n'); + var input = { + 'commands.txt': content, + 'data.csv': 'a,b\n1,x\n2,y\n3,z\n' + }; + var out = await api.applyCommands('-run commands.txt', input); + assert.equal(out['out.csv'], 'a,b\n2,y\n3,z'); + }); + + it('-run still accepts a JS template expression (no breaking change)', async function() { + // Auto-detect: a non-.txt argument is treated as a JS expression, the + // original -run behavior. Here the expression is a JS function call + // that returns a command (a -rename-layers, applied inside -run); + // the outer -o then exports under the new layer name. + var include = '{ getCmd: function() { return "-rename-layers renamed"; } }'; + var input = { 'data.csv': 'a,b\n1,2\n', 'helpers.js': include }; + var out = await api.applyCommands( + '-i data.csv -include helpers.js -run getCmd() -o renamed.csv', input); + assert.equal(out['renamed.csv'], 'a,b\n1,2'); + }); + + describe('variable interpolation', function() { + + it('-vars command supplies variables to a command file', async function() { + var content = 'mapshaper\n-i {{INPUT}}\n-o {{OUTPUT}}'; + var input = { + 'commands.txt': content, + 'data.csv': 'a,b\n1,2\n' + }; + var out = await api.applyCommands( + '-vars INPUT=data.csv OUTPUT=out.csv -run commands.txt', input); + assert.equal(out['out.csv'], 'a,b\n1,2'); + }); + + it('-vars JSON file supplies variables', async function() { + var content = 'mapshaper\n-i {{INPUT}}\n-o {{OUTPUT}}'; + var input = { + 'commands.txt': content, + 'data.csv': 'a,b\n1,2\n', + 'vars.json': JSON.stringify({INPUT: 'data.csv', OUTPUT: 'out.csv'}) + }; + var out = await api.applyCommands( + '-vars vars.json -run commands.txt', input); + assert.equal(out['out.csv'], 'a,b\n1,2'); + }); + + it('command-file-internal -vars defines variables', async function() { + var content = [ + 'mapshaper', + '-vars INPUT=data.csv OUTPUT=out.csv', + '-i {{INPUT}}', + '-o {{OUTPUT}}' + ].join('\n'); + var input = { + 'commands.txt': content, + 'data.csv': 'a,b\n1,2\n' + }; + var out = await api.applyCommands('-run commands.txt', input); + assert.equal(out['out.csv'], 'a,b\n1,2'); + }); + + it('command file -vars overwrites a value set by CLI -vars (late-binding)', async function() { + var content = [ + 'mapshaper', + '-vars INPUT=data.csv OUTPUT=out.csv', + '-i {{INPUT}}', + '-o {{OUTPUT}}' + ].join('\n'); + var input = { + 'commands.txt': content, + 'data.csv': 'a,b\n1,2\n' + }; + var out = await api.applyCommands( + '-vars INPUT=wrong.csv OUTPUT=wrong.csv -run commands.txt', input); + assert.equal(out['out.csv'], 'a,b\n1,2'); + }); + + it('CLI -vars overrides command file -defaults', async function() { + var content = [ + 'mapshaper', + '-defaults INPUT=wrong.csv OUTPUT=wrong.csv', + '-i {{INPUT}}', + '-o {{OUTPUT}}' + ].join('\n'); + var input = { + 'commands.txt': content, + 'data.csv': 'a,b\n1,2\n' + }; + var out = await api.applyCommands( + '-vars INPUT=data.csv OUTPUT=out.csv -run commands.txt', input); + assert.equal(out['out.csv'], 'a,b\n1,2'); + }); + + it('command file -defaults supplies a value when CLI -vars is absent', async function() { + var content = [ + 'mapshaper', + '-defaults INPUT=data.csv OUTPUT=out.csv', + '-i {{INPUT}}', + '-o {{OUTPUT}}' + ].join('\n'); + var input = { + 'commands.txt': content, + 'data.csv': 'a,b\n1,2\n' + }; + var out = await api.applyCommands('-run commands.txt', input); + assert.equal(out['out.csv'], 'a,b\n1,2'); + }); + + it('errors if a referenced variable is undefined', async function() { + var content = [ + 'mapshaper', + '-i data.csv', + '-o {{MISSING}}' + ].join('\n'); + var input = { + 'commands.txt': content, + 'data.csv': 'a,b\n1,2\n' + }; + var err; + try { + await api.applyCommands('-run commands.txt', input); + } catch(e) { err = e; } + assert.ok(err); + assert.ok(/Undefined variable: MISSING/.test(err.message), + err && err.message); + }); + + it('-vars JSON values can be numbers/booleans (coerced to strings)', async function() { + var content = [ + 'mapshaper', + '-i data.csv', + '-filter \'a >= {{MIN}}\'', + '-o out.csv' + ].join('\n'); + var input = { + 'commands.txt': content, + 'data.csv': 'a,b\n1,x\n2,y\n3,z\n', + 'vars.json': JSON.stringify({MIN: 2}) + }; + var out = await api.applyCommands( + '-vars vars.json -run commands.txt', input); + assert.equal(out['out.csv'], 'a,b\n2,y\n3,z'); + }); + + }); + + describe('late-binding interpolation', function() { + + it('CLI command line accepts {{VAR}} placeholders', async function() { + var input = { 'data.csv': 'a,b\n1,2\n' }; + var out = await api.applyCommands( + '-vars INPUT=data.csv -i {{INPUT}} -o out.csv', input); + assert.equal(out['out.csv'], 'a,b\n1,2'); + }); + + it('{{X}} resolves against a value set by -define earlier', async function() { + var input = { 'data.csv': 'a,b\n1,x\n2,y\n3,z\n' }; + var out = await api.applyCommands( + "-i data.csv -define MIN=2 -filter 'a >= {{MIN}}' -o out.csv", + input); + assert.equal(out['out.csv'], 'a,b\n2,y\n3,z'); + }); + + it('-defaults is a no-op when defs.X is already set', async function() { + var input = { 'data.csv': 'a,b\n1,2\n' }; + var out = await api.applyCommands( + '-vars X=keep -defaults X=overwrite -i data.csv -o {{X}}.csv', + input); + assert.ok(out['keep.csv']); + assert.ok(!out['overwrite.csv']); + }); + + it('-vars always overwrites', async function() { + var input = { 'data.csv': 'a,b\n1,2\n' }; + var out = await api.applyCommands( + '-vars X=first -vars X=second -i data.csv -o {{X}}.csv', + input); + assert.ok(out['second.csv']); + }); + + it('-vars inside an inactive -if branch does not take effect', async function() { + var input = { 'data.csv': 'a,b\n1,2\n' }; + var out = await api.applyCommands( + '-vars X=outer -i data.csv -if false -vars X=inner -endif -o {{X}}.csv', + input); + assert.ok(out['outer.csv']); + }); + + it('{{X}} inside an inactive -if branch does not error if X is unset', async function() { + var input = { 'data.csv': 'a,b\n1,2\n' }; + var out = await api.applyCommands( + '-i data.csv -if false -o {{MISSING}}.csv -endif -o ok.csv', + input); + assert.ok(out['ok.csv']); + }); + + it('errors with a useful message when {{X}} resolves to a non-primitive', async function() { + var input = { 'data.csv': 'a,b\n1,2\n' }; + var err; + try { + await api.applyCommands( + '-i data.csv -define X={a:1} -o {{X}}.csv', + input); + } catch(e) { err = e; } + assert.ok(err); + assert.ok(/not a primitive/.test(err.message), err && err.message); + }); + + it('placeholder values containing spaces stay as one token', async function() { + var input = { 'data.csv': 'a,b\n1,2\n' }; + await api.applyCommands( + '-vars MSG="hello world" -i data.csv -print {{MSG}}', + input); + }); + + }); + +}); diff --git a/test/run-script-test.mjs b/test/run-script-test.mjs deleted file mode 100644 index 6008e1977..000000000 --- a/test/run-script-test.mjs +++ /dev/null @@ -1,197 +0,0 @@ -import api from '../mapshaper.js'; -import assert from 'assert'; - -describe('mapshaper-run-script.js', function() { - - it('runs a .txt script supplied via the input cache', async function() { - var script = [ - 'mapshaper', - '-i data.csv', - '-o out.csv' - ].join('\n'); - var input = { - 'commands.txt': script, - 'data.csv': 'a,b\n1,2\n' - }; - var out = await api.applyCommands('-i commands.txt', input); - assert.equal(out['out.csv'], 'a,b\n1,2'); - }); - - it('runs the script even without the magic word? (no, falls back to DSV)', async function() { - // Without the "mapshaper" magic word, a .txt file is treated as DSV input. - // The DSV importer accepts a single column "a" with one row. - var input = { - 'commands.txt': 'a\nfoo\nbar\n' - }; - var out = await api.applyCommands('-i commands.txt -o', input); - // exported with default name based on input name - assert.ok(out['commands.csv']); - }); - - it('strips end-of-line "#" comments', async function() { - var script = [ - 'mapshaper # this is a script', - '-i data.csv # load some data', - '-rename-layers points # rename it', - '-o out.csv' - ].join('\n'); - var input = { - 'commands.txt': script, - 'data.csv': 'a,b\n1,2\n' - }; - var out = await api.applyCommands('-i commands.txt', input); - assert.equal(out['out.csv'], 'a,b\n1,2'); - }); - - it('joins lines that do not begin with "-" onto the previous command', async function() { - var script = [ - 'mapshaper', - '-i', - ' data.csv', - '-o', - ' out.csv' - ].join('\n'); - var input = { - 'commands.txt': script, - 'data.csv': 'a,b\n1,2\n' - }; - var out = await api.applyCommands('-i commands.txt', input); - assert.equal(out['out.csv'], 'a,b\n1,2'); - }); - - it('accepts shell-style trailing-backslash continuations', async function() { - var script = [ - 'mapshaper \\', - '-i data.csv \\', - '-o out.csv' - ].join('\n'); - var input = { - 'commands.txt': script, - 'data.csv': 'a,b\n1,2\n' - }; - var out = await api.applyCommands('-i commands.txt', input); - assert.equal(out['out.csv'], 'a,b\n1,2'); - }); - - it('preserves "#" inside quoted strings', async function() { - var script = [ - 'mapshaper', - '-i data.csv', - '-each \'d.color = "#fff"\'', - '-o out.csv' - ].join('\n'); - var input = { - 'commands.txt': script, - 'data.csv': 'a\n1\n' - }; - var out = await api.applyCommands('-i commands.txt', input); - assert.equal(out['out.csv'], 'a,color\n1,#fff'); - }); - - it('supports nested script files', async function() { - var inner = [ - 'mapshaper', - '-i data.csv', - '-o out.csv' - ].join('\n'); - var outer = [ - 'mapshaper', - '-i inner.txt' - ].join('\n'); - var input = { - 'outer.txt': outer, - 'inner.txt': inner, - 'data.csv': 'a,b\n1,2\n' - }; - var out = await api.applyCommands('-i outer.txt', input); - assert.equal(out['out.csv'], 'a,b\n1,2'); - }); - - it('rejects scripts combined with other files via -i combine-files', async function() { - var input = { - 'commands.txt': 'mapshaper\n-i data.csv\n-o out.csv', - 'data.csv': 'a,b\n1,2\n' - }; - var err; - try { - await api.applyCommands('-i commands.txt data.csv combine-files', input); - } catch(e) { err = e; } - assert.ok(err, 'expected an error when combining a script with another file'); - assert.ok(/script files cannot be combined/i.test(err.message), - 'error mentions the conflict'); - }); - - it('multi-file -i runs scripts as a separate group from data files', async function() { - // -i a b is split into two separate import groups by divideImportCommand, - // so a script + a data file in the same -i is allowed and processes each - // independently. - var input = { - 'commands.txt': 'mapshaper\n-i data.csv\n-o out.csv', - 'data.csv': 'a,b\n1,2\n' - }; - var out = await api.applyCommands('-i commands.txt data.csv', input); - assert.equal(out['out.csv'], 'a,b\n1,2'); - }); - - it('attributes parse errors to the script file', async function() { - var script = [ - 'mapshaper', - '-each \'unterminated quote', - '-o' - ].join('\n'); - var input = { - 'commands.txt': script - }; - var err; - try { - await api.applyCommands('-i commands.txt', input); - } catch(e) { err = e; } - assert.ok(err); - assert.ok(/commands\.txt/.test(err.message), - 'error message references the script file'); - }); - - it('treats a leading bare token as an implicit -i', async function() { - // Mirrors CLI: "mapshaper foo.csv" implies "-i foo.csv". - var script = [ - 'mapshaper data.csv', - '-o out.csv' - ].join('\n'); - var input = { - 'commands.txt': script, - 'data.csv': 'a,b\n1,2\n' - }; - var out = await api.applyCommands('-i commands.txt', input); - assert.equal(out['out.csv'], 'a,b\n1,2'); - }); - - it('ignores empty scripts (only comments)', async function() { - var script = [ - 'mapshaper', - '# nothing to do here', - '# really' - ].join('\n'); - var input = { - 'commands.txt': script - }; - // No -o command was issued, so output should be empty - var out = await api.applyCommands('-i commands.txt', input); - assert.deepEqual(out, {}); - }); - - it('script can run multiple commands in sequence', async function() { - var script = [ - 'mapshaper', - '-i data.csv', - '-filter \'a > 1\'', - '-o out.csv' - ].join('\n'); - var input = { - 'commands.txt': script, - 'data.csv': 'a,b\n1,x\n2,y\n3,z\n' - }; - var out = await api.applyCommands('-i commands.txt', input); - assert.equal(out['out.csv'], 'a,b\n2,y\n3,z'); - }); - -}); diff --git a/test/run-test.mjs b/test/run-test.mjs index d95632583..211a56e22 100644 --- a/test/run-test.mjs +++ b/test/run-test.mjs @@ -162,7 +162,6 @@ describe('mapshaper-run.js', function () { }) it('fix: -o command does not remove data', async function() { - console.log('TODO: fully support -o in -run commands'); var include = `{ run: function() { return "-rectangle bbox=0,0,1,1"; @@ -174,5 +173,22 @@ describe('mapshaper-run.js', function () { var output = await api.applyCommands(cmd, input); assert (!!output['out2.json']) }) + + it('-o emitted by a -run JS expression is captured by applyCommands', async function() { + // Regression: previously, a -run expression that returned an -o + // command would write to disk because the output collector wasn't + // forwarded to the generated commands. + var include = `{ + run: function() { + return "-o expr-out.csv"; + }}`; + var input = { + 'data.csv': 'a,b\n1,2\n', + 'include.js': include + }; + var cmd = '-i data.csv -include include.js -run "run()"'; + var output = await api.applyCommands(cmd, input); + assert.equal(output['expr-out.csv'], 'a,b\n1,2'); + }) }) }) \ No newline at end of file diff --git a/test/vars-utils-test.mjs b/test/vars-utils-test.mjs new file mode 100644 index 000000000..cdd300338 --- /dev/null +++ b/test/vars-utils-test.mjs @@ -0,0 +1,168 @@ +import assert from 'assert'; +import { + interpolateString, + parseVarsArgs, + isValidVarName, + validateVarsObject +} from '../src/cli/mapshaper-vars-utils'; + +describe('mapshaper-vars-utils.js', function () { + + describe('isValidVarName()', function () { + it('accepts simple identifiers', function () { + assert.ok(isValidVarName('FOO')); + assert.ok(isValidVarName('foo_bar')); + assert.ok(isValidVarName('_x')); + assert.ok(isValidVarName('a1')); + }) + + it('rejects invalid names', function () { + assert.ok(!isValidVarName('')); + assert.ok(!isValidVarName('1FOO')); + assert.ok(!isValidVarName('foo-bar')); + assert.ok(!isValidVarName('foo.bar')); + assert.ok(!isValidVarName('foo bar')); + }) + }) + + describe('validateVarsObject()', function () { + it('accepts a flat object of primitives', function () { + var obj = {YEAR: 2024, NAME: 'foo', ON: true, MISSING: null}; + assert.strictEqual(validateVarsObject(obj), obj); + }) + + it('rejects non-objects and arrays', function () { + assert.throws(function () { validateVarsObject([1, 2, 3]); }); + assert.throws(function () { validateVarsObject('string'); }); + assert.throws(function () { validateVarsObject(null); }); + }) + + it('rejects invalid var names', function () { + assert.throws(function () { validateVarsObject({'1bad': 1}); }); + assert.throws(function () { validateVarsObject({'foo-bar': 1}); }); + }) + + it('rejects nested objects and other non-primitive values', function () { + assert.throws(function () { validateVarsObject({A: {nested: 1}}); }); + assert.throws(function () { validateVarsObject({A: [1, 2]}); }); + }) + }) + + describe('parseVarsArgs()', function () { + it('parses inline assignments', function () { + var scope = parseVarsArgs(['YEAR=2024', 'NAME=foo']); + assert.deepEqual(scope, {YEAR: '2024', NAME: 'foo'}); + }) + + it('later args override earlier ones', function () { + var scope = parseVarsArgs(['YEAR=2024', 'YEAR=2030']); + assert.deepEqual(scope, {YEAR: '2030'}); + }) + + it('reads JSON file from cache', function () { + var cache = {'vars.json': JSON.stringify({YEAR: 2024, NAME: 'foo'})}; + var scope = parseVarsArgs(['vars.json'], cache); + assert.deepEqual(scope, {YEAR: 2024, NAME: 'foo'}); + }) + + it('mixes JSON file and inline assignments', function () { + var cache = {'vars.json': JSON.stringify({YEAR: 2024})}; + var scope = parseVarsArgs(['vars.json', 'NAME=foo'], cache); + assert.deepEqual(scope, {YEAR: 2024, NAME: 'foo'}); + }) + + it('inline assignment after JSON overrides JSON value', function () { + var cache = {'vars.json': JSON.stringify({YEAR: 2024})}; + var scope = parseVarsArgs(['vars.json', 'YEAR=2030'], cache); + assert.deepEqual(scope, {YEAR: '2030'}); + }) + + it('throws on malformed JSON file', function () { + var cache = {'bad.json': '{not valid json'}; + assert.throws(function () { parseVarsArgs(['bad.json'], cache); }, + /Failed to parse vars file/); + }) + }) + + describe('interpolateString()', function () { + it('substitutes a single variable', function () { + assert.equal(interpolateString('a {{X}} b', {X: '1'}), 'a 1 b'); + }) + + it('substitutes multiple variables', function () { + assert.equal( + interpolateString('{{A}} {{B}} {{A}}', {A: 'x', B: 'y'}), + 'x y x'); + }) + + it('returns input unchanged when there are no placeholders', function () { + assert.equal(interpolateString('hello world', {}), 'hello world'); + }) + + it('throws on undefined variable', function () { + assert.throws(function () { interpolateString('{{MISSING}}', {}); }, + /Undefined variable: MISSING/); + }) + + it('throws on invalid variable name', function () { + assert.throws(function () { interpolateString('{{1BAD}}', {}); }, + /Invalid variable reference/); + }) + + it('preserves \\{{...}} as a literal {{...}}', function () { + assert.equal( + interpolateString('keep \\{{X}} expand {{X}}', {X: 'val'}), + 'keep {{X}} expand val'); + }) + + it('does not recurse into substituted values', function () { + assert.equal( + interpolateString('{{A}}', {A: '{{B}}', B: 'oops'}), + '{{B}}'); + }) + + it('coerces non-string values to strings', function () { + assert.equal(interpolateString('{{N}}', {N: 42}), '42'); + assert.equal(interpolateString('{{B}}', {B: true}), 'true'); + }) + + it('throws when null/undefined value is referenced', function () { + assert.throws(function () { interpolateString('{{X}}', {X: null}); }, + /Undefined variable: X/); + assert.throws(function () { interpolateString('{{X}}', {X: undefined}); }, + /Undefined variable: X/); + }) + + it('reads env vars via {{env.NAME}}', function () { + process.env.MAPSHAPER_INTERP_TEST = 'fromenv'; + assert.equal( + interpolateString('{{env.MAPSHAPER_INTERP_TEST}}', {}), + 'fromenv'); + delete process.env.MAPSHAPER_INTERP_TEST; + }) + + it('throws when env var is missing', function () { + delete process.env.MAPSHAPER_NOT_SET; + assert.throws(function () { + interpolateString('{{env.MAPSHAPER_NOT_SET}}', {}); + }, /Undefined environment variable: MAPSHAPER_NOT_SET/); + }) + + it('returns non-string input unchanged', function () { + assert.strictEqual(interpolateString(42, {}), 42); + assert.strictEqual(interpolateString(null, {}), null); + }) + + it('throws when defs.X is a non-primitive (object/array/function)', function () { + assert.throws(function () { + interpolateString('{{X}}', {X: {a: 1}}); + }, /not a primitive/); + assert.throws(function () { + interpolateString('{{X}}', {X: [1, 2]}); + }, /not a primitive/); + assert.throws(function () { + interpolateString('{{X}}', {X: function () {}}); + }, /not a primitive/); + }) + }) +}) From 510d5b200412d3de0d80c7400d1afbcba9f43805 Mon Sep 17 00:00:00 2001 From: Matthew Bloch Date: Mon, 20 Apr 2026 00:26:06 -0400 Subject: [PATCH 342/509] Use robust dissolve by default in -dissolve and deprecate -dissolve2 --- CHANGELOG.md | 2 + REFERENCE.md | 20 ++- src/cli/mapshaper-options.mjs | 26 ++- src/cli/mapshaper-run-command.mjs | 2 +- src/commands/mapshaper-dissolve.mjs | 163 +++++++++++++++++-- src/commands/mapshaper-dissolve2.mjs | 26 +-- src/paths/mapshaper-segment-intersection.mjs | 5 + test/dissolve-test.mjs | 47 ++++++ 8 files changed, 249 insertions(+), 42 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index be94f6d05..8f673fc7e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,8 @@ v0.6.121 * Added session history to snapshots. This history is imported into a new session only if the session starts by opening the snapshot file. * Added a "view session history" link to the snapshot menu (ribbon icon) (an alternative to typing "history" in the console). +* The -dissolve command now repairs polygon topology by default, producing correct output on inputs that contain overlaps, gaps or other topology errors. The legacy fast algorithm is still available via -dissolve no-repair, which prints a warning if it detects segment intersections in the input. +* The -dissolve2 command is now a deprecated alias for -dissolve. v0.6.120 * Optimized GUI rendering of large datasets diff --git a/REFERENCE.md b/REFERENCE.md index 72e30b820..c8ae0e0bc 100644 --- a/REFERENCE.md +++ b/REFERENCE.md @@ -549,6 +549,8 @@ Split lines into sections, with or without a gap. Aggregate groups of features using a data field, or aggregate all features if no field is given. For polygon layers, `-dissolve` merges adjacent polygons by erasing shared boundaries. For point layers, `-dissolve` replaces a group of points with their centroid. For polyline layers, `-dissolve` tries to merge contiguous polylines into as few polylines as possible. +For polygon layers, `-dissolve` repairs topology before dissolving, so it produces correct results on inputs that contain overlaps, gaps or other topology errors. The `no-repair` option skips this step for a faster (but less robust) dissolve. + `` or `fields=` (optional) Name of a data field or fields to dissolve on. Accepts a comma-separated list of field names. `group-points` [points] Group the points from each dissolved group of features into a multi-point feature instead of converting multiple points into a single-point centroid feature. @@ -557,6 +559,14 @@ Aggregate groups of features using a data field, or aggregate all features if no `planar` [points] Treat decimal degree coordinates as planar cartesian coordinates when calculating dissolve centroids. (By default, mapshaper calculates the centroids of lat-long point data in 3D space.) +`gap-fill-area=` [polygons] Gaps smaller than this area will be filled; larger gaps will be retained as holes in the polygon mosaic. Example values: 2km2 500m2 0. Defaults to a dynamic value calculated from the geometry of the dataset. + +`sliver-control=` [polygons] Preferentially remove slivers (polygons with a high perimeter-area ratio). Accepts values from 0-1, default is 1. Implementation: multiplies the area of gap areas by the "Polsby Popper" compactness metric before applying area threshold. + +`allow-overlaps` [polygons] Allow dissolved groups of features to overlap each other. The default behavior is to remove overlaps. + +`no-repair` [polygons] Skip topology repair before dissolving. Use when the input is known to be clean and you want a faster dissolve. Mapshaper checks for segment intersections and prints a warning if the assumption appears to be wrong, but it still performs the dissolve. Incompatible with `gap-fill-area=`, `sliver-control=` and `allow-overlaps`. + `calc=` Use built-in JavaScript functions to create data fields in the dissolved layer. See example below; see [-calc](#-calc) for a list of supported functions. `sum-fields=` Fields to sum when dissolving (comma-sep. list). @@ -580,15 +590,7 @@ mapshaper counties.shp -dissolve STATE calc='n = count(), total_pop = sum(POP), ### -dissolve2 -Similar to `-dissolve`, but able to handle polygon datasets containing overlaps and gaps between adjacent polygons. - -`gap-fill-area=` (polygons) Gaps smaller than this area will be filled; larger gaps will be retained as holes in the polygon mosaic. Example values: 2km2 500m2 0. Defaults to a dynamic value calculated from the geometry of the dataset. - -`sliver-control=` (polygons) Preferentially remove slivers (polygons with a high perimeter-area ratio). Accepts values from 0-1, default is 1. Implementation: multiplies the area of gap areas by the "Polsby Popper" compactness metric before applying area threshold. - -`allow-overlaps` Allow dissolved groups of features to overlap each other. The default behavior is to remove overlaps. - -Other options: `` `calc=` `sum-fields=` `copy-fields=` `name=` `+` `target=` +Deprecated alias for [`-dissolve`](#-dissolve). The topology-repairing behavior of `-dissolve2` has been promoted to be the default behavior of `-dissolve`. Existing scripts that use `-dissolve2` will continue to work but print a deprecation notice. ### -divide diff --git a/src/cli/mapshaper-options.mjs b/src/cli/mapshaper-options.mjs index fe70ec3ff..8ab752f62 100644 --- a/src/cli/mapshaper-options.mjs +++ b/src/cli/mapshaper-options.mjs @@ -767,7 +767,7 @@ export function getOptionParser() { }); parser.command('dissolve') - .describe('merge features within a layer') + .describe('merge features within a layer (repairs polygon topology)') .example('Dissolve all polygons in a feature layer into a single polygon\n' + '$ mapshaper states.shp -dissolve -o country.shp') .example('Generate state-level polygons by dissolving a layer of counties\n' + @@ -794,19 +794,33 @@ export function getOptionParser() { type: 'flag', describe: '[points] use 2D math to find centroids of latlong points' }) + .option('gap-fill-area', { + describe: '[polygons] threshold for filling gaps, e.g. 1.5km2', + type: 'area' + }) + .option('sliver-control', sliverControlOpt) + .option('allow-overlaps', { + describe: '[polygons] allow output polygons to overlap (disables gap fill)', + type: 'flag' + }) + .option('no-repair', { + describe: '[polygons] skip topology repair (faster; assumes clean input)', + type: 'flag' + }) + .option('snap-interval', snapIntervalOpt) + .option('no-snap', noSnapOpt) .option('name', nameOpt) .option('target', targetOpt) .option('no-replace', noReplaceOpt); + // -dissolve2 is now an alias for -dissolve (the topology repair behavior of + // -dissolve2 is now the default behavior of -dissolve). Kept for backward + // compatibility; prints a deprecation notice when used. parser.command('dissolve2') - .describe('merge adjacent polygons (repairs overlaps and gaps)') + .describe('alias for -dissolve (deprecated)') .option('field', {}) // old arg handled by dissolve function .option('fields', dissolveFieldsOpt) - // UPDATE: Use -mosaic command for debugging - //.option('mosaic', {type: 'flag'}) // debugging option - //.option('arcs', {type: 'flag'}) // debugging option - //.option('tiles', {type: 'flag'}) // debugging option .option('calc', calcOpt) .option('sum-fields', sumFieldsOpt) .option('copy-fields', copyFieldsOpt) diff --git a/src/cli/mapshaper-run-command.mjs b/src/cli/mapshaper-run-command.mjs index 1343997a6..cd3e18670 100644 --- a/src/cli/mapshaper-run-command.mjs +++ b/src/cli/mapshaper-run-command.mjs @@ -246,7 +246,7 @@ export async function runCommand(command, job) { cmd.defaults(job, opts); } else if (name == 'dissolve') { - outputLayers = applyCommandToEachLayer(cmd.dissolve, targetLayers, arcs, opts); + outputLayers = cmd.dissolve(targetLayers, targetDataset, opts); } else if (name == 'dissolve2') { outputLayers = cmd.dissolve2(targetLayers, targetDataset, opts); diff --git a/src/commands/mapshaper-dissolve.mjs b/src/commands/mapshaper-dissolve.mjs index f637ad2a3..b60052af7 100644 --- a/src/commands/mapshaper-dissolve.mjs +++ b/src/commands/mapshaper-dissolve.mjs @@ -1,9 +1,12 @@ -import { getFeatureCount } from '../dataset/mapshaper-layer-utils'; +import { getFeatureCount, layerHasPaths } from '../dataset/mapshaper-layer-utils'; import { aggregateDataRecords } from '../dissolve/mapshaper-data-aggregation'; import { cloneShapes } from '../paths/mapshaper-shape-utils'; import { dissolvePointGeometry } from '../dissolve/mapshaper-point-dissolve'; import { dissolvePolylineGeometry } from '../dissolve/mapshaper-polyline-dissolve'; import { dissolvePolygonGeometry } from '../dissolve/mapshaper-polygon-dissolve'; +import { dissolvePolygonLayer2 } from '../dissolve/mapshaper-polygon-dissolve2'; +import { addIntersectionCuts } from '../paths/mapshaper-intersection-cuts'; +import { findSegmentIntersections } from '../paths/mapshaper-segment-intersection'; import { getCategoryClassifier } from '../dissolve/mapshaper-data-aggregation'; import { applyCommandToLayerSelection } from '../dataset/mapshaper-command-utils'; import utils from '../utils/mapshaper-utils'; @@ -11,30 +14,158 @@ import { message, stop } from '../utils/mapshaper-logging'; import cmd from '../mapshaper-cmd'; import { DataTable } from '../datatable/mapshaper-data-table'; -// Generate a dissolved layer -// @opts.fields (optional) names of data fields (dissolves all if falsy) -// @opts.sum-fields (Array) (optional) -// @opts.copy-fields (Array) (optional) +// Options that require the topology-repair algorithm and are not supported +// by the no-repair fast path. +var REPAIR_REQUIRED_OPTS = ['gap_fill_area', 'sliver_control', 'allow_overlaps']; + +// Sample size used to detect intersections in no-repair mode. Detection stops +// after this many hits, so the warning message can include sample locations +// without paying for an exhaustive scan on badly-formed input. +var INTERSECTION_SAMPLE_LIMIT = 10; + +// cmd.dissolve accepts two signatures: +// (layers, dataset, opts) — multi-layer entry used by the CLI dispatcher. +// Polygon layers go through the topology-repairing algorithm by default, +// or through the legacy fast algorithm when opts.no_repair is set. +// (lyr, arcs, opts) — legacy single-layer entry, retained for backward +// compatibility with internal callers and existing tests. Always uses the +// legacy fast algorithm; does not perform topology repair. // -cmd.dissolve = function(lyr, arcs, opts) { - var dissolveShapes, getGroupId; +cmd.dissolve = function(arg1, arg2, opts) { + if (Array.isArray(arg1)) { + return dissolveLayers(arg1, arg2, opts); + } + return dissolveSingleLayer(arg1, arg2, opts); +}; + +function dissolveLayers(layers, dataset, optsArg) { + var opts = utils.extend({}, optsArg); + if (opts.field) opts.fields = [opts.field]; // support old "field" parameter + + if (opts.no_repair) { + var conflicting = REPAIR_REQUIRED_OPTS.filter(function(k) { return opts[k]; }); + if (conflicting.length > 0) { + stop('The no-repair option is incompatible with', + conflicting.map(function(k) { return k.replace(/_/g, '-'); }).join(', ')); + } + } + + var anyPolygon = layers.some(function(lyr) { + return lyr.geometry_type == 'polygon' && layerHasPaths(lyr); + }); + + if (anyPolygon) { + if (opts.no_repair) { + detectAndWarnIntersections(dataset, opts); + } else { + addIntersectionCuts(dataset, opts); + } + } + + return layers.map(function(lyr) { + return dissolveOneLayer(lyr, dataset, opts); + }); +} + +function dissolveOneLayer(lyr, dataset, opts) { + if (opts.where) { + return dissolveLayerWithWhereClause(lyr, dataset, opts); + } + if (opts.multipart || opts.group_points) { + var classifier = getCategoryClassifier(opts.fields, lyr.data); + return composeDissolveLayer(lyr, makeMultipartShapes(lyr, classifier), classifier, opts); + } + if (lyr.geometry_type == 'polygon') { + return dissolvePolygonInLayer(lyr, dataset, opts); + } + if (lyr.geometry_type == 'polyline') { + var polylineClassifier = getCategoryClassifier(opts.fields, lyr.data); + var polylineShapes = dissolvePolylineGeometry(lyr, polylineClassifier, dataset.arcs, opts); + return composeDissolveLayer(lyr, polylineShapes, polylineClassifier, opts); + } + if (lyr.geometry_type == 'point') { + var pointClassifier = getCategoryClassifier(opts.fields, lyr.data); + var pointShapes = dissolvePointGeometry(lyr, pointClassifier, opts); + return composeDissolveLayer(lyr, pointShapes, pointClassifier, opts); + } + // tabular (no geometry): aggregate records only + var nullClassifier = getCategoryClassifier(opts.fields, lyr.data); + return composeDissolveLayer(lyr, undefined, nullClassifier, opts); +} + +function dissolvePolygonInLayer(lyr, dataset, opts) { + if (!layerHasPaths(lyr)) return lyr; + if (opts.no_repair) { + var classifier = getCategoryClassifier(opts.fields, lyr.data); + var shapes = dissolvePolygonGeometry(lyr.shapes, classifier); + return composeDissolveLayer(lyr, shapes, classifier, opts); + } + return dissolvePolygonLayer2(lyr, dataset, opts); +} + +function dissolveLayerWithWhereClause(lyr, dataset, opts) { + // Run dissolve on a subset of features defined by opts.where, then merge the + // dissolved subset back together with the unselected features. + // Topology repair (if needed) was already performed at the dataset level by + // dissolveLayers, so the recursive call uses no_repair=true to avoid doing + // the work a second time on a subset of the same arcs. + var arcs = dataset.arcs; + var subsetLyr = getLayerSelection(lyr, arcs, opts); + var cmdOpts = utils.defaults({where: null, no_repair: true}, opts); + var dissolved = dissolveOneLayer(subsetLyr, dataset, cmdOpts); + var filteredLyr = getLayerSelection(lyr, arcs, utils.defaults({invert: true}, opts)); + var merged = cmd.mergeLayers([filteredLyr, dissolved], {verbose: false, force: true}); + return merged[0]; +} + +function getLayerSelection(lyr, arcs, opts) { + var lyr2 = utils.extend({}, lyr); + var filterOpts = { + expression: opts.where, + invert: !!opts.invert, + verbose: false, + no_replace: opts.no_replace + }; + return cmd.filterFeatures(lyr2, arcs, filterOpts); +} + +// Detect a small sample of segment intersections; print a warning if any are +// found. Used by the no-repair fast path to alert users that their input has +// topology problems. Detection stops after INTERSECTION_SAMPLE_LIMIT hits, so +// the cost is bounded for badly-formed input. +function detectAndWarnIntersections(dataset, opts) { + if (opts.quiet || opts.silent) return; + if (!dataset.arcs || dataset.arcs.size() === 0) return; + var sample = findSegmentIntersections(dataset.arcs, {limit: INTERSECTION_SAMPLE_LIMIT}); + if (sample.length === 0) return; + var atLeast = sample.length >= INTERSECTION_SAMPLE_LIMIT ? 'at least ' : ''; + message('Warning: found ' + atLeast + sample.length + + ' segment intersection' + (sample.length == 1 ? '' : 's') + + '. The no-repair option assumes clean topology; output may be incorrect.'); +} + +// Backward-compat: the legacy per-layer entry, still used by internal callers +// and by tests that exercise the original fast algorithm directly. Retains +// the original behavior (no topology repair, no multi-layer prep). +function dissolveSingleLayer(lyr, arcs, opts) { + var dissolveShapes, classifier; opts = utils.extend({}, opts); if (opts.where) { - return applyCommandToLayerSelection(cmd.dissolve, lyr, arcs, opts); + return applyCommandToLayerSelection(dissolveSingleLayer, lyr, arcs, opts); } - if (opts.field) opts.fields = [opts.field]; // support old "field" parameter - getGroupId = getCategoryClassifier(opts.fields, lyr.data); + if (opts.field) opts.fields = [opts.field]; + classifier = getCategoryClassifier(opts.fields, lyr.data); if (opts.multipart || opts.group_points) { - dissolveShapes = makeMultipartShapes(lyr, getGroupId); + dissolveShapes = makeMultipartShapes(lyr, classifier); } else if (lyr.geometry_type == 'polygon') { - dissolveShapes = dissolvePolygonGeometry(lyr.shapes, getGroupId); + dissolveShapes = dissolvePolygonGeometry(lyr.shapes, classifier); } else if (lyr.geometry_type == 'polyline') { - dissolveShapes = dissolvePolylineGeometry(lyr, getGroupId, arcs, opts); + dissolveShapes = dissolvePolylineGeometry(lyr, classifier, arcs, opts); } else if (lyr.geometry_type == 'point') { - dissolveShapes = dissolvePointGeometry(lyr, getGroupId, opts); + dissolveShapes = dissolvePointGeometry(lyr, classifier, opts); } - return composeDissolveLayer(lyr, dissolveShapes, getGroupId, opts); -}; + return composeDissolveLayer(lyr, dissolveShapes, classifier, opts); +} function makeMultipartShapes(lyr, getGroupId) { if (!lyr.shapes || !lyr.geometry_type) { diff --git a/src/commands/mapshaper-dissolve2.mjs b/src/commands/mapshaper-dissolve2.mjs index cf4436d96..62afb1666 100644 --- a/src/commands/mapshaper-dissolve2.mjs +++ b/src/commands/mapshaper-dissolve2.mjs @@ -1,14 +1,20 @@ import cmd from '../mapshaper-cmd'; -import { dissolvePolygonLayer2 } from '../dissolve/mapshaper-polygon-dissolve2'; -import { addIntersectionCuts } from '../paths/mapshaper-intersection-cuts'; -import { requirePolygonLayer, layerHasPaths } from '../dataset/mapshaper-layer-utils'; +import './mapshaper-dissolve'; +import { message } from '../utils/mapshaper-logging'; + +// -dissolve2 is now an alias for -dissolve. The repair-on-by-default behavior +// of -dissolve2 has been promoted to be the default behavior of -dissolve; +// the legacy fast-dissolve algorithm is available via -dissolve no-repair. +// +// This alias prints a deprecation notice and forwards to cmd.dissolve. +// +var deprecationWarned = false; -// Removes small gaps and all overlaps cmd.dissolve2 = function(layers, dataset, opts) { - layers.forEach(requirePolygonLayer); - var nodes = addIntersectionCuts(dataset, opts); - return layers.map(function(lyr) { - if (!layerHasPaths(lyr)) return lyr; - return dissolvePolygonLayer2(lyr, dataset, opts); - }); + if (!deprecationWarned && !(opts && opts.quiet)) { + message('This command has been merged into -dissolve and is deprecated. ' + + 'Use -dissolve (or -dissolve no-repair for the legacy fast algorithm).'); + deprecationWarned = true; + } + return cmd.dissolve(layers, dataset, opts); }; diff --git a/src/paths/mapshaper-segment-intersection.mjs b/src/paths/mapshaper-segment-intersection.mjs index 3b12e2a2d..e62472edc 100644 --- a/src/paths/mapshaper-segment-intersection.mjs +++ b/src/paths/mapshaper-segment-intersection.mjs @@ -119,12 +119,17 @@ export function findSegmentIntersections(arcs, optArg) { profileStart('intersectSegments'); var raw = arcs.getVertexData(), intersections = [], + // opts.limit (optional): stop searching once this many intersections have + // been found. Used for cheap "is this dataset clean?" checks where we + // only need a small sample. + limit = opts.limit > 0 ? opts.limit : 0, arr; for (i=0; i 0 && intersections.length >= limit) break; } profileEnd('intersectSegments'); profileStart('dedupIntersections'); diff --git a/test/dissolve-test.mjs b/test/dissolve-test.mjs index f6bb5cf1e..2061c76a0 100644 --- a/test/dissolve-test.mjs +++ b/test/dissolve-test.mjs @@ -712,4 +712,51 @@ describe('mapshaper-dissolve.js', function () { }) }) + + describe('-dissolve uses topology-repairing algorithm by default', function() { + var overlapping = { + type: 'GeometryCollection', + geometries: [ + {type: 'Polygon', coordinates: [[[0, 0], [2, 0], [2, 2], [0, 2], [0, 0]]]}, + {type: 'Polygon', coordinates: [[[1, 1], [3, 1], [3, 3], [1, 3], [1, 1]]]} + ] + }; + + it('-dissolve repairs overlapping polygons into a single ring', async function() { + var out = await api.applyCommands('-i in.json -dissolve -o out.json', + {'in.json': overlapping}); + var json = JSON.parse(out['out.json']); + assert.equal(json.geometries.length, 1); + // overlap is repaired: result is a single polygon, not multipolygon + assert.equal(json.geometries[0].type, 'Polygon'); + }); + + it('-dissolve no-repair uses the legacy fast algorithm (no merging on overlap)', async function() { + var out = await api.applyCommands('-i in.json -dissolve no-repair -o out.json', + {'in.json': overlapping}); + var json = JSON.parse(out['out.json']); + assert.equal(json.geometries.length, 1); + // overlap is not repaired: result is a multipolygon (two unmerged rings) + assert.equal(json.geometries[0].type, 'MultiPolygon'); + assert.equal(json.geometries[0].coordinates.length, 2); + }); + + it('-dissolve no-repair with allow-overlaps is rejected', async function() { + try { + await api.applyCommands('-i in.json -dissolve no-repair allow-overlaps -o out.json', + {'in.json': overlapping}); + assert.fail('expected an error'); + } catch (e) { + assert.match(e.message, /no-repair/); + } + }); + + it('-dissolve2 still works as a deprecated alias for -dissolve', async function() { + var out = await api.applyCommands('-i in.json -dissolve2 -o out.json', + {'in.json': overlapping}); + var json = JSON.parse(out['out.json']); + assert.equal(json.geometries.length, 1); + assert.equal(json.geometries[0].type, 'Polygon'); + }); + }) }) From 4e94b6017bb18899a83535f4223f310098944b40 Mon Sep 17 00:00:00 2001 From: Matthew Bloch Date: Mon, 20 Apr 2026 00:50:46 -0400 Subject: [PATCH 343/509] v0.7.0 --- CHANGELOG.md | 10 ++++++++-- REFERENCE.md | 8 ++++++-- package.json | 2 +- src/cli/mapshaper-options.mjs | 4 ++++ src/cli/mapshaper-run-commands.mjs | 12 ++++++++++++ test/import-test.mjs | 27 +++++++++++++++++++++++++++ 6 files changed, 58 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8f673fc7e..3e31f9c4a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,8 +1,14 @@ +v0.7.0 +* Added support for command files: a sequence of mapshaper commands stored in a `.txt` file, with `#` comments and no need for shell quoting or backslash line continuations. Run a command file with `-run ` (or just `mapshaper commands.txt`). +* Added `{{VAR}}` variable interpolation for mapshaper command options, resolved at run time against environment variables (`{{env.HOME}}`), variables set by `-vars` and `-defaults`, and variables defined dynamically by commands like `-calc`, `-define` and `-each`. +* Added the -vars command to assign variables (from key=value pairs or a JSON file) and the -defaults command to set variables only if they are not already defined. +* The -dissolve command now repairs polygon topology by default, producing correct output on inputs that contain overlaps, gaps or other topology errors. The legacy fast algorithm is still available via -dissolve no-repair, which prints a warning if it detects segment intersections in the input. +* The -dissolve2 command is now a deprecated alias for -dissolve. +* Added a `batch-mode` flag to the -i command, which makes batch processing of multiple input files explicit (mapshaper *.shp batch-mode -o dest/). Implicit batch mode (triggered by passing multiple files without a flag) is now deprecated and will print a notice; the default will change in a future release so multiple files are imported together unless `batch-mode` is given. + v0.6.121 * Added session history to snapshots. This history is imported into a new session only if the session starts by opening the snapshot file. * Added a "view session history" link to the snapshot menu (ribbon icon) (an alternative to typing "history" in the console). -* The -dissolve command now repairs polygon topology by default, producing correct output on inputs that contain overlaps, gaps or other topology errors. The legacy fast algorithm is still available via -dissolve no-repair, which prints a warning if it detects segment intersections in the input. -* The -dissolve2 command is now a deprecated alias for -dissolve. v0.6.120 * Optimized GUI rendering of large datasets diff --git a/REFERENCE.md b/REFERENCE.md index c8ae0e0bc..245afded0 100644 --- a/REFERENCE.md +++ b/REFERENCE.md @@ -214,7 +214,9 @@ The `-i` command is assumed if `mapshaper` is followed by the path of an input d Mapshaper does not fully support M and Z type Shapefiles. The M and Z data is lost when these files are imported. -By default, multiple input files are processed separately, as if running mapshaper multiple times with the same set of commands. Using the `combine-files` option, multiple files are imported together as a group of layers with shared topology. +When multiple input files are given, they can either be processed together (as a group of layers with shared topology) or separately (as a sequence of independent runs). Use `combine-files` to process them together, or `batch-mode` to process them separately. + +For backward compatibility, multiple input files are currently processed separately by default; this default will change in a future release. Mapshaper prints a deprecation notice when batch mode is triggered implicitly. Existing scripts that rely on batch processing should add the `batch-mode` flag. **Options** @@ -222,6 +224,8 @@ By default, multiple input files are processed separately, as if running mapshap `combine-files` Import multiple files to separate layers with shared topology. Useful for generating a single TopoJSON file containing multiple geometry objects. +`batch-mode` Apply subsequent commands separately to each input file, as if running mapshaper multiple times with the same set of commands. Used together with `-o` to transform a directory of files. Required (in a future release) to use this batch-processing behavior. + `merge-files` (Deprecated) Merge features from multiple input files into as few layers as possible. Preferred method: import files to separate layers using `-i combine-files`, then use the `-merge-layers` command to merge layers. `snap` Snap together vertices within a small distance threshold. This option is intended to fix minor coordinate misalignments in adjacent polygons. The snapping distance is 0.0025 of the average segment length. @@ -360,7 +364,7 @@ Save content of the target layer(s) to a file or files. **Example** ```bash # Convert all the Shapefiles in one directory into GeoJSON files in a different directory. -mapshaper shapefiles/*.shp -o geojson/ format=geojson +mapshaper -i shapefiles/*.shp batch-mode -o geojson/ format=geojson ``` ## Editing Commands diff --git a/package.json b/package.json index cc83cccd2..d603aaa1a 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "mapshaper", - "version": "0.6.121", + "version": "0.7.0", "description": "A tool for editing vector datasets for mapping and GIS.", "keywords": [ "shapefile", diff --git a/src/cli/mapshaper-options.mjs b/src/cli/mapshaper-options.mjs index 8ab752f62..b938114a8 100644 --- a/src/cli/mapshaper-options.mjs +++ b/src/cli/mapshaper-options.mjs @@ -136,6 +136,10 @@ export function getOptionParser() { describe: 'import files to separate layers with shared topology', type: 'flag' }) + .option('batch-mode', { + describe: 'apply subsequent commands separately to each input file', + type: 'flag' + }) .option('merge-files', { // describe: 'merge features from compatible files into the same layer', type: 'flag' diff --git a/src/cli/mapshaper-run-commands.mjs b/src/cli/mapshaper-run-commands.mjs index b86c9426a..7c0905da7 100644 --- a/src/cli/mapshaper-run-commands.mjs +++ b/src/cli/mapshaper-run-commands.mjs @@ -338,6 +338,18 @@ function divideImportCommand(commands) { return [commands]; } + // Multiple files trigger batch mode by default. This is a long-standing + // wart: most multi-file CLI tools combine inputs by default, and silently + // splitting into per-file pipelines is an easy way for users to get wrong + // output without noticing. Print a one-time deprecation warning when batch + // mode is implicit so existing scripts can migrate before the default flips + // in a future major release. + if (!opts.batch_mode) { + message('Note: implicit batch processing is deprecated. Add `batch-mode` ' + + 'to keep this behavior, or `combine-files` to import the files as a ' + + 'group of layers. The default will change in a future release.'); + } + return opts.files.map(function(file) { var group = [{ name: 'i', diff --git a/test/import-test.mjs b/test/import-test.mjs index 6246b51a1..6e922c183 100644 --- a/test/import-test.mjs +++ b/test/import-test.mjs @@ -11,6 +11,33 @@ describe('mapshaper-import.js', function () { assert.deepEqual(data, [{foo: 'bar'}, {foo: 'baz'}]); }) + describe('batch-mode flag', function() { + var inputs = { + 'a.json': '[{"foo":"a"}]', + 'b.json': '[{"foo":"b"}]' + }; + + it('explicit batch-mode runs commands once per input file', async function() { + var out = await api.applyCommands('-i a.json b.json batch-mode -o', inputs); + assert.deepEqual(JSON.parse(out['a.json']), [{foo: 'a'}]); + assert.deepEqual(JSON.parse(out['b.json']), [{foo: 'b'}]); + }); + + it('implicit batch processing still works (deprecation period)', async function() { + var out = await api.applyCommands('-i a.json b.json -o', inputs); + assert.deepEqual(JSON.parse(out['a.json']), [{foo: 'a'}]); + assert.deepEqual(JSON.parse(out['b.json']), [{foo: 'b'}]); + }); + + it('combine-files imports the files as a group of layers', async function() { + var out = await api.applyCommands( + '-i a.json b.json combine-files -merge-layers name=combined -o', + inputs); + assert.deepEqual(JSON.parse(out['combined.json']), + [{foo: 'a'}, {foo: 'b'}]); + }); + }) + it('supports importing JSON data on the command line (double quotes)', async function() { var cmd = `-i "[{\\"foo\\": \\"bar\\"}]" -o`; var out = await api.applyCommands(cmd); From a815a427e95c428230f8aa01647cacc5cff89d93 Mon Sep 17 00:00:00 2001 From: Matthew Bloch Date: Mon, 20 Apr 2026 00:52:12 -0400 Subject: [PATCH 344/509] Update REFERENCE.md --- REFERENCE.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/REFERENCE.md b/REFERENCE.md index 245afded0..55665774e 100644 --- a/REFERENCE.md +++ b/REFERENCE.md @@ -1,6 +1,6 @@ # COMMAND REFERENCE -This documentation applies to version 0.6.118 of mapshaper's command line program. Run `mapshaper -v` to check your version. For an introduction to the command line tool, read [this page](https://github.com/mbloch/mapshaper/wiki/Introduction-to-the-Command-Line-Tool) first. +This documentation applies to version 0.7.0 of mapshaper's command line program. Run `mapshaper -v` to check your version. For an introduction to the command line tool, read [this page](https://github.com/mbloch/mapshaper/wiki/Introduction-to-the-Command-Line-Tool) first. ## Command line syntax From ac30831694ca770625246d4fa8bcc71c9923ec29 Mon Sep 17 00:00:00 2001 From: Matthew Bloch Date: Mon, 20 Apr 2026 00:52:32 -0400 Subject: [PATCH 345/509] v0.7.0 --- package-lock.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index a3a3e5adb..7db5b7159 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "mapshaper", - "version": "0.6.121", + "version": "0.7.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "mapshaper", - "version": "0.6.121", + "version": "0.7.0", "license": "MPL-2.0", "dependencies": { "@ngageoint/geopackage": "^4.2.6", From ba062bf4b2f0d84e8d9bf76579be956c470971e3 Mon Sep 17 00:00:00 2001 From: Matthew Bloch Date: Mon, 20 Apr 2026 06:14:30 -0400 Subject: [PATCH 346/509] Stop tracking bench/ files (local-only profiling scaffolding). --- .gitignore | 4 +- bench/cuts/.env.example | 4 - bench/cuts/README.md | 89 ---------- bench/cuts/cases.mjs | 108 ------------ bench/cuts/compare.mjs | 76 -------- bench/cuts/robust-stats.mjs | 53 ------ bench/cuts/run.mjs | 334 ------------------------------------ 7 files changed, 1 insertion(+), 667 deletions(-) delete mode 100644 bench/cuts/.env.example delete mode 100644 bench/cuts/README.md delete mode 100644 bench/cuts/cases.mjs delete mode 100644 bench/cuts/compare.mjs delete mode 100644 bench/cuts/robust-stats.mjs delete mode 100644 bench/cuts/run.mjs diff --git a/.gitignore b/.gitignore index 6cf759dfd..0d44f72d6 100644 --- a/.gitignore +++ b/.gitignore @@ -14,8 +14,6 @@ pre-release.js release* nacis .cursorignore -bench/cuts/results-*.json -bench/cuts/results-*.log -bench/cuts/.env +bench/ /DEVELOPING.md /DESIGN* diff --git a/bench/cuts/.env.example b/bench/cuts/.env.example deleted file mode 100644 index f48ea34f0..000000000 --- a/bench/cuts/.env.example +++ /dev/null @@ -1,4 +0,0 @@ -# Copy this file to `.env` and set MAPSHAPER_BENCH_DATA to the absolute path -# of the directory containing the benchmark sample files listed in README.md. -# `.env` is gitignored. -MAPSHAPER_BENCH_DATA=/absolute/path/to/your/bench/data diff --git a/bench/cuts/README.md b/bench/cuts/README.md deleted file mode 100644 index 6c140a758..000000000 --- a/bench/cuts/README.md +++ /dev/null @@ -1,89 +0,0 @@ -# addIntersectionCuts benchmarks - -Small harness used while optimising `addIntersectionCuts()` and the surrounding -hot path (`snapAndCut`, `findSegmentIntersections`, `cleanArcReferences`, -`buildTopology`, `cleanPolygonLayerGeometry`, `clipPolygons`, mosaic -construction, etc.). - -## Test data - -Drop the files referenced in `cases.mjs` into some directory on disk and -point the harness at it. Either: - -- copy `.env.example` to `.env` in this directory and set - `MAPSHAPER_BENCH_DATA=/absolute/path/to/your/data`, or -- export `MAPSHAPER_BENCH_DATA` in your shell. - -`.env` is gitignored. Expected files: - -- `COUNTY_2019_US_SL050_Coast_Clipped.shp` (200 MB, US counties, EPSG:4326) -- `srprec_061_g24_v01.shp` (6.9 MB, CA Placer precincts, NAD83) -- `roads.geojson` (12 MB, Web Mercator polylines) -- `usa_land_area.geojson` (2 MB, USA land mask, EPSG:4326) -- `torture-test.shp` (120 MB, high-self-intersection stress case) - -## Running - -After editing source files, rebuild the bundle once: - -```bash -npx rollup --config -``` - -Then: - -```bash -# All cases, default run counts -node bench/cuts/run.mjs - -# A single case, with explicit run count -node bench/cuts/run.mjs F-roads-buffer-dissolve --runs 5 - -# Capture results for diffing later -node bench/cuts/run.mjs --tag baseline --json bench/cuts/results-baseline.json -``` - -For a clean comparison, prefer running with extra heap and exposed GC: - -```bash -node --max-old-space-size=8000 --expose-gc bench/cuts/run.mjs -``` - -## Comparing baselines vs after-optimisation - -```bash -node bench/cuts/run.mjs --tag baseline --json /tmp/base.json -# ... apply an optimisation, rebuild ... -node bench/cuts/run.mjs --tag after --json /tmp/after.json -node bench/cuts/compare.mjs /tmp/base.json /tmp/after.json -``` - -Output prints both per-case wall-time deltas and per-phase deltas of the -`addIntersectionCuts` profile. - -## Phases captured - -The profiler in `src/utils/mapshaper-profile.mjs` is opened/closed at: - -- `addIntersectionCuts` - - `flatten` - - `snapAndCut` - - `snap`, `dedupCoords`, `cutPathsAtIntersections` - - `findClippingPoints` - - `findSegmentIntersections` → `stripeSetup`, `intersectSegments`, `dedupIntersections` - - `convertIntersectionsToCutPoints` - - `insertCutPoints` → `sortCutPoints`, `filterSortedCutPoints`, `rewriteVertexData` - - `buildTopology` - - `cleanShapes` - - `cleanArcReferences` → `NodeCollection#1`, `findDuplicateArcs`, `replaceIndexedArcIds`, `deleteUnusedArcs`, `NodeCollection#2` -- `cleanLayers` → `cleanPolygonLayerGeometry` → `dissolvePolygonGroups2` → `dpg2.MosaicIndex` → `mi.buildPolygonMosaic` → `bpm.findEnclosingForCCW`, `bpm.findMosaicRings` -- `clipLayers` → `clipPolygons` → `cp.dissolveTargetRings`, `cp.clipShapes`, `cp.findInteriorPaths` -- `dissolveArcs` → `dissolveArcs.translatePaths`, `dissolveArcs.dissolveArcCollection` - -Add new `profileStart` / `profileEnd` calls anywhere you want a more -fine-grained breakdown — they are no-ops when profiling is off. - -## Related tooling - -- `robust-stats.mjs` — counts fast-vs-robust calls into `segmentIntersection()` - for a given case. diff --git a/bench/cuts/cases.mjs b/bench/cuts/cases.mjs deleted file mode 100644 index b4b660789..000000000 --- a/bench/cuts/cases.mjs +++ /dev/null @@ -1,108 +0,0 @@ -// Benchmark cases for addIntersectionCuts performance work. -// Each case is { id, label, argv, runs?, warmup? }. -// argv is fed straight to mapshaper.runCommands(). -// -// The benchmark sample files live outside the repo. Set -// MAPSHAPER_BENCH_DATA in your environment, or copy `.env.example` to -// `.env` in this directory and put the absolute path there. `.env` is -// gitignored. - -import { existsSync, readFileSync } from 'node:fs'; -import { fileURLToPath } from 'node:url'; -import { dirname, resolve } from 'node:path'; - -var SELF_DIR = dirname(fileURLToPath(import.meta.url)); - -function loadDotEnv() { - var path = resolve(SELF_DIR, '.env'); - if (!existsSync(path)) return; - var text = readFileSync(path, 'utf8'); - text.split(/\r?\n/).forEach(function(line) { - var m = line.match(/^\s*([A-Z_][A-Z0-9_]*)\s*=\s*(.*?)\s*$/); - if (!m) return; - var k = m[1]; - var v = m[2].replace(/^["'](.*)["']$/, '$1'); - if (!(k in process.env)) process.env[k] = v; - }); -} - -loadDotEnv(); - -var DATA = process.env.MAPSHAPER_BENCH_DATA; -if (!DATA) { - throw new Error( - 'MAPSHAPER_BENCH_DATA is not set. Copy bench/cuts/.env.example to ' + - 'bench/cuts/.env and set the path to your sample-file directory, or ' + - 'export the variable in your shell.' - ); -} - -function f(name) { - var p = DATA + '/' + name; - if (!existsSync(p)) { - throw new Error('Missing benchmark file: ' + p); - } - return p; -} - -var COUNTIES = () => f('COUNTY_2019_US_SL050_Coast_Clipped.shp'); -var PRECINCTS = () => f('srprec_061_g24_v01.shp'); -var ROADS = () => f('roads.geojson'); -var MASK = () => f('usa_land_area.geojson'); -var TORTURE = () => f('torture-test.shp'); - -export var cases = [ - { - id: 'A-precincts-clean', - label: 'A. Smoke: precincts -clean', - argv: () => `-i ${PRECINCTS()} -clean` - }, - { - id: 'B-precincts-dissolve', - label: 'B. Polygon mosaic: precincts -dissolve2 COUNTY', - argv: () => `-i ${PRECINCTS()} -dissolve2 COUNTY` - }, - { - id: 'C-counties-clean', - label: 'C. Big clean polygons: counties -clean', - argv: () => `-i ${COUNTIES()} -clean` - }, - { - id: 'D-counties-dissolve-states', - label: 'D. Big dissolve: counties -dissolve2 STATEFP', - argv: () => `-i ${COUNTIES()} -dissolve2 STATEFP` - }, - { - id: 'E-roads-clean', - label: 'E. Polyline path: roads -clean', - argv: () => `-i ${ROADS()} -clean` - }, - { - id: 'F-roads-buffer-dissolve', - label: 'F. Dirty: roads -buffer 50m -dissolve2', - argv: () => `-i ${ROADS()} -buffer 50 -dissolve2`, - runs: 3 - }, - { - id: 'H-counties-clip-mask', - label: 'H. Two-input: counties -clip mask', - argv: () => `-i ${COUNTIES()} -clip ${MASK()}`, - runs: 3 - }, - { - id: 'I-counties-erase-mask', - label: 'I. Two-input: counties -erase mask', - argv: () => `-i ${COUNTIES()} -erase ${MASK()}`, - runs: 3 - }, - { - id: 'J-torture-clean', - label: 'J. Self-intersection torture: torture-test -clean', - argv: () => `-i ${TORTURE()} -clean`, - runs: 3 - } -]; - -export function findCase(id) { - return cases.find(c => c.id === id || c.id.toLowerCase() === id.toLowerCase()); -} diff --git a/bench/cuts/compare.mjs b/bench/cuts/compare.mjs deleted file mode 100644 index 76e7e7f25..000000000 --- a/bench/cuts/compare.mjs +++ /dev/null @@ -1,76 +0,0 @@ -// Compare two JSON benchmark result files produced by run.mjs. -// -// Usage: -// node bench/cuts/compare.mjs baseline.json after.json -// -// Output: per-case wall-time delta + per-phase delta of the addIntersectionCuts -// breakdown, percentage relative to baseline. - -import { readFileSync } from 'node:fs'; - -var [, , baselinePath, afterPath] = process.argv; -if (!baselinePath || !afterPath) { - console.error('Usage: node bench/cuts/compare.mjs baseline.json after.json'); - process.exit(2); -} - -var baseline = JSON.parse(readFileSync(baselinePath, 'utf8')); -var after = JSON.parse(readFileSync(afterPath, 'utf8')); - -function indexBy(arr, key) { - var out = {}; - arr.forEach(o => { out[o[key]] = o; }); - return out; -} - -var baseIdx = indexBy(baseline.results, 'case'); -var afterIdx = indexBy(after.results, 'case'); - -function pct(b, a) { - if (!b) return ' n/a'; - var d = (a - b) / b * 100; - var sign = d >= 0 ? '+' : ''; - return sign + d.toFixed(1) + '%'; -} - -function fmt(n) { return (n || 0).toFixed(2); } - -console.log('\n=== wall-time delta (ms, %) === ' + (baseline.tag || 'baseline') + ' -> ' + (after.tag || 'after')); -var keys = Object.keys(baseIdx).filter(k => afterIdx[k]); -var rows = [['case', 'base med', 'after med', 'delta', 'aIC base', 'aIC after', 'aIC delta']]; -keys.forEach(k => { - var b = baseIdx[k], a = afterIdx[k]; - var bAic = (b.summary && b.summary.addIntersectionCuts) || 0; - var aAic = (a.summary && a.summary.addIntersectionCuts) || 0; - rows.push([ - k, - fmt(b.medianMs), - fmt(a.medianMs), - pct(b.medianMs, a.medianMs), - fmt(bAic), - fmt(aAic), - pct(bAic, aAic) - ]); -}); -var widths = rows[0].map((_, col) => Math.max.apply(null, rows.map(r => String(r[col]).length))); -rows.forEach((row, i) => { - console.log(row.map((s, ci) => String(s).padEnd(widths[ci])).join(' ')); - if (i === 0) console.log(widths.map(w => '-'.repeat(w)).join(' ')); -}); - -// Per-phase delta tables for each case -keys.forEach(k => { - var b = baseIdx[k].summary || {}; - var a = afterIdx[k].summary || {}; - console.log('\n--- ' + k + ' phase deltas ---'); - var phaseRows = [['phase', 'base', 'after', 'delta']]; - Object.keys(b).forEach(phase => { - if (!b[phase] && !a[phase]) return; - phaseRows.push([phase, fmt(b[phase]), fmt(a[phase]), pct(b[phase], a[phase])]); - }); - var w = phaseRows[0].map((_, col) => Math.max.apply(null, phaseRows.map(r => String(r[col]).length))); - phaseRows.forEach((row, i) => { - console.log(row.map((s, ci) => String(s).padEnd(w[ci])).join(' ')); - if (i === 0) console.log(w.map(x => '-'.repeat(x)).join(' ')); - }); -}); diff --git a/bench/cuts/robust-stats.mjs b/bench/cuts/robust-stats.mjs deleted file mode 100644 index eec921c23..000000000 --- a/bench/cuts/robust-stats.mjs +++ /dev/null @@ -1,53 +0,0 @@ -// Count how often segmentIntersection() takes the robust/fast/touches/reject -// paths on each benchmark case. Run in-process so we can observe the counters -// after the mapshaper pipeline finishes. -// -// Usage: node --max-old-space-size=8192 bench/cuts/robust-stats.mjs [case-id...] - -import { createRequire } from 'node:module'; -import { cases, findCase } from './cases.mjs'; - -var require = createRequire(import.meta.url); -var mapshaper = require('../../mapshaper.js'); -var internal = mapshaper.internal; - -if (!internal.segmentIntersectionStats) { - console.error('Rebuild mapshaper.js — segmentIntersectionStats not exported'); - process.exit(2); -} - -var ids = process.argv.slice(2); -var toRun = ids.length === 0 ? cases : ids.map(function(id) { - var c = findCase(id); - if (!c) { console.error('Unknown case:', id); process.exit(2); } - return c; -}); - -function fmt(n) { return n.toLocaleString('en-US'); } -function pct(part, whole) { - if (!whole) return '0.0%'; - return (part / whole * 100).toFixed(1) + '%'; -} - -async function run(c) { - internal.segmentIntersectionStatsReset(); - var t0 = Number(process.hrtime.bigint()) / 1e6; - await mapshaper.runCommands(c.argv() + ' -quiet'); - var elapsed = Number(process.hrtime.bigint()) / 1e6 - t0; - var s = internal.segmentIntersectionStats(); - console.log('\n=== ' + c.id + ' (wall ' + elapsed.toFixed(0) + ' ms) ==='); - console.log(' calls ', fmt(s.calls)); - console.log(' touches ', fmt(s.touches), ' (' + pct(s.touches, s.calls) + ' of calls)'); - console.log(' endpointHits ', fmt(s.endpointHits), ' (' + pct(s.endpointHits, s.calls) + ')'); - console.log(' crossCandidates ', fmt(s.crossCandidates)); - console.log(' rejected by fast ', fmt(s.crossRejectedFast), ' (' + pct(s.crossRejectedFast, s.crossCandidates) + ' of candidates)'); - var passed = s.crossCandidates - s.crossRejectedFast; - console.log(' passed fast hit ', fmt(passed)); - console.log(' -> robust BigInt ', fmt(s.crossRobust), ' (' + pct(s.crossRobust, passed) + ' of passed)'); - console.log(' -> fp fast path ', fmt(s.crossFast), ' (' + pct(s.crossFast, passed) + ' of passed)'); - console.log(' null result ', fmt(s.crossNull)); -} - -for (var i = 0; i < toRun.length; i++) { - await run(toRun[i]); -} diff --git a/bench/cuts/run.mjs b/bench/cuts/run.mjs deleted file mode 100644 index fb5f3a0ee..000000000 --- a/bench/cuts/run.mjs +++ /dev/null @@ -1,334 +0,0 @@ -// Runner for addIntersectionCuts() benchmarks. -// -// Usage (from repo root): -// node bench/cuts/run.mjs # run every case -// node bench/cuts/run.mjs A-precincts-clean # run a single case -// node bench/cuts/run.mjs --runs 5 # change run count -// node bench/cuts/run.mjs --tag baseline # tag results in output -// node bench/cuts/run.mjs --json results.json # write json results -// node bench/cuts/run.mjs --inproc # run timed iterations in this -// # process (faster, noisier) -// -// By default the harness spawns a fresh node subprocess per timed iteration so -// V8 JIT / heap state cannot bleed between samples (necessary because the -// xx/yy/buildTopology pipeline is GC-bimodal). Use --inproc for quick local -// runs; expect a high-variance picture on the heavy cases. -// -// Output is a per-case wall-time table plus the median run's hierarchical -// addIntersectionCuts profile breakdown. - -import { createRequire } from 'node:module'; -import { writeFileSync } from 'node:fs'; -import { spawnSync } from 'node:child_process'; -import { fileURLToPath } from 'node:url'; -import { dirname, resolve } from 'node:path'; - -import { cases, findCase } from './cases.mjs'; - -var SELF = fileURLToPath(import.meta.url); -var BENCH_DIR = dirname(SELF); - -var require = createRequire(import.meta.url); -var mapshaper = require('../../mapshaper.js'); - -// Pull the profiler off the bundled internal namespace so we share state with -// the instrumented hot path. -var profile = mapshaper.internal; -if (!profile.enableProfiling) { - console.error('Profiler not exposed on mapshaper.internal — rebuild with the latest src/'); - process.exit(2); -} - -function parseArgs(argv) { - var opts = { runs: 0, tag: '', json: '', cases: [], inproc: false, child: false }; - for (var i = 0; i < argv.length; i++) { - var a = argv[i]; - if (a === '--runs') opts.runs = parseInt(argv[++i], 10); - else if (a === '--tag') opts.tag = argv[++i]; - else if (a === '--json') opts.json = argv[++i]; - else if (a === '--inproc') opts.inproc = true; - else if (a === '--child') { opts.child = true; opts.childCase = argv[++i]; } - else if (a === '-h' || a === '--help') { opts.help = true; } - else opts.cases.push(a); - } - return opts; -} - -var opts = parseArgs(process.argv.slice(2)); -if (opts.help) { - console.log('Usage: node bench/cuts/run.mjs [caseId ...] [--runs N] [--tag T] [--json file] [--inproc]'); - console.log('Available cases:'); - cases.forEach(c => console.log(' ' + c.id + '\t' + c.label)); - process.exit(0); -} - -function runChild(caseId) { - var c = findCase(caseId); - if (!c) { console.error('Unknown case: ' + caseId); process.exit(2); } - profile.disableProfiling(); - return mapshaper.runCommands(c.argv() + ' -quiet').then(function() { - profile.profileReset(); - profile.enableProfiling(); - var t0 = Number(process.hrtime.bigint()) / 1e6; - return mapshaper.runCommands(c.argv() + ' -quiet').then(function() { - var elapsed = Number(process.hrtime.bigint()) / 1e6 - t0; - var report = profile.profileReport(); - process.stdout.write('\n##BENCH_RESULT##' + JSON.stringify({ elapsed: elapsed, report: report }) + '\n'); - }); - }); -} - -// Child mode: run a single timed iteration of one case and emit JSON on stdout. -if (opts.child) { - runChild(opts.childCase).catch(function(e) { - console.error(e); - process.exit(1); - }); -} else { - -var selected = opts.cases.length === 0 - ? cases - : opts.cases.map(id => { - var c = findCase(id); - if (!c) throw new Error('Unknown case: ' + id); - return c; - }); - -function median(arr) { - if (arr.length === 0) return 0; - var sorted = arr.slice().sort((a, b) => a - b); - var mid = Math.floor(sorted.length / 2); - return sorted.length % 2 ? sorted[mid] : (sorted[mid - 1] + sorted[mid]) / 2; -} - -function nowMs() { - return Number(process.hrtime.bigint()) / 1e6; -} - -async function runOnce(c, capture) { - if (capture) { - profile.profileReset(); - profile.enableProfiling(); - } else { - profile.disableProfiling(); - } - var t0 = nowMs(); - await mapshaper.runCommands(c.argv() + ' -quiet'); - var elapsed = nowMs() - t0; - var report = capture ? profile.profileReport() : null; - if (capture) profile.disableProfiling(); - if (global.gc) global.gc(); // optional, run with `node --expose-gc` - return { elapsed, report }; -} - -// Spawn a fresh node subprocess to run a single timed iteration of the case. -// Each child does its own warmup + measurement so JIT and heap state are not -// shared with the parent or other iterations. -function runOnceSubprocess(c) { - var argv = ['--max-old-space-size=8000', SELF, '--child', c.id]; - var res = spawnSync(process.execPath, argv, { - cwd: resolve(BENCH_DIR, '..', '..'), - encoding: 'utf8', - maxBuffer: 64 * 1024 * 1024 - }); - if (res.status !== 0) { - throw new Error('Child failed for ' + c.id + ': ' + res.stderr); - } - var marker = '##BENCH_RESULT##'; - var idx = res.stdout.lastIndexOf(marker); - if (idx === -1) { - throw new Error('No bench result in child output: ' + res.stdout.slice(0, 500)); - } - var jsonLine = res.stdout.slice(idx + marker.length).split('\n')[0]; - return JSON.parse(jsonLine); -} - -function nodeOf(report, label) { - return report.find(r => r.label === label); -} - -function fmt(n, w) { - var s = n.toFixed(2); - return w ? s.padStart(w) : s; -} - -function fmtRow(arr, widths) { - return arr.map((s, i) => String(s).padEnd(widths[i])).join(' '); -} - -async function runCase(c) { - var totalRuns = opts.runs || c.runs || 5; - var warmup = c.warmup === undefined ? 1 : c.warmup; - var mode = opts.inproc ? 'inproc' : 'subproc'; - console.error('-> ' + c.label + ' (' + warmup + ' warmup + ' + totalRuns + ' timed, ' + mode + ')'); - if (opts.inproc) { - for (var w = 0; w < warmup; w++) { - await runOnce(c, false); - } - } - var runs = []; - for (var i = 0; i < totalRuns; i++) { - var r = opts.inproc ? await runOnce(c, true) : runOnceSubprocess(c); - runs.push(r); - process.stderr.write(' run ' + (i + 1) + '/' + totalRuns + ': ' + r.elapsed.toFixed(0) + ' ms\n'); - } - var elapsed = runs.map(r => r.elapsed); - var medElapsed = median(elapsed); - // pick the run closest to median wall time as the "representative" report - var medIdx = elapsed.indexOf(medElapsed); - if (medIdx === -1) { - medIdx = elapsed.map((v, i) => [Math.abs(v - medElapsed), i]).sort((a, b) => a[0] - b[0])[0][1]; - } - return { - case: c.id, - label: c.label, - runs: elapsed, - medianMs: medElapsed, - minMs: Math.min.apply(null, elapsed), - maxMs: Math.max.apply(null, elapsed), - representativeReport: runs[medIdx].report - }; -} - -function summariseReport(report) { - if (!report) return {}; - var get = label => { - var n = nodeOf(report, label); - return n ? n.totalMs : 0; - }; - return { - addIntersectionCuts: get('addIntersectionCuts'), - snapAndCut: get('snapAndCut'), - snap: get('snap'), - dedupCoords: get('dedupCoords'), - cutPathsAtIntersections: get('cutPathsAtIntersections'), - findSegmentIntersections: get('findSegmentIntersections'), - stripeSetup: get('stripeSetup'), - intersectSegments: get('intersectSegments'), - dedupIntersections: get('dedupIntersections'), - convertIntersectionsToCutPoints: get('convertIntersectionsToCutPoints'), - sortCutPoints: get('sortCutPoints'), - filterSortedCutPoints: get('filterSortedCutPoints'), - rewriteVertexData: get('rewriteVertexData'), - buildTopology: get('buildTopology'), - cleanShapes: get('cleanShapes'), - cleanArcReferences: get('cleanArcReferences'), - NodeCollection1: get('NodeCollection#1'), - NodeCollection2: get('NodeCollection#2'), - cleanLayers: get('cleanLayers'), - cleanPolygonLayerGeometry: get('cleanPolygonLayerGeometry'), - cleanPolylineLayerGeometry: get('cleanPolylineLayerGeometry'), - dissolvePolygonGroups2: get('dissolvePolygonGroups2'), - 'dpg2.NodeCollection': get('dpg2.NodeCollection'), - 'dpg2.MosaicIndex': get('dpg2.MosaicIndex'), - 'mi.buildPolygonMosaic': get('mi.buildPolygonMosaic'), - 'bpm.detachAcyclicArcs': get('bpm.detachAcyclicArcs'), - 'bpm.findMosaicRings': get('bpm.findMosaicRings'), - 'bpm.PathIndex': get('bpm.PathIndex'), - 'bpm.findEnclosingForCCW': get('bpm.findEnclosingForCCW'), - 'mi.ShapeArcIndex': get('mi.ShapeArcIndex'), - 'mi.PolygonTiler.ctor': get('mi.PolygonTiler.ctor'), - 'mi.assignTilesToShapes': get('mi.assignTilesToShapes'), - 'mi.tileShapeIndex.flatten': get('mi.tileShapeIndex.flatten'), - 'dpg2.removeGaps': get('dpg2.removeGaps'), - 'dpg2.dissolveTiles': get('dpg2.dissolveTiles'), - 'dpg2.fixTangentHoles': get('dpg2.fixTangentHoles'), - filterFeatures: get('filterFeatures'), - 'dissolveArcs.body': get('dissolveArcs.body'), - 'dissolveArcs.translatePaths': get('dissolveArcs.translatePaths'), - 'dissolveArcs.dissolveArcCollection': get('dissolveArcs.dissolveArcCollection'), - clipLayers: get('clipLayers'), - mergeLayersForOverlay: get('mergeLayersForOverlay'), - clipDissolvePolygonLayer2: get('clipDissolvePolygonLayer2'), - clipLayersByLayer: get('clipLayersByLayer'), - clipPolygons: get('clipPolygons'), - 'cp.dissolveTargetRings': get('cp.dissolveTargetRings'), - 'cp.openClipRoutes': get('cp.openClipRoutes'), - 'cp.PathIndex#1': get('cp.PathIndex#1'), - 'cp.clipShapes': get('cp.clipShapes'), - 'cp.findUndividedClip': get('cp.findUndividedClip'), - 'cp.PathIndex#2': get('cp.PathIndex#2'), - 'cp.findInteriorPaths': get('cp.findInteriorPaths') - }; -} - -function printResultsTable(results) { - var rows = [['case', 'min', 'med', 'max', 'aIC med', 'snap+cut', 'topo', 'cleanArc']]; - results.forEach(r => { - var s = summariseReport(r.representativeReport); - rows.push([ - r.case, - fmt(r.minMs, 0), - fmt(r.medianMs, 0), - fmt(r.maxMs, 0), - fmt(s.addIntersectionCuts, 0), - fmt(s.snapAndCut, 0), - fmt(s.buildTopology, 0), - fmt(s.cleanArcReferences, 0) - ]); - }); - var widths = rows[0].map((_, col) => Math.max.apply(null, rows.map(r => String(r[col]).length))); - console.log('\n=== wall-time summary (ms) ==='); - rows.forEach((row, idx) => { - console.log(fmtRow(row, widths)); - if (idx === 0) console.log(widths.map(w => '-'.repeat(w)).join(' ')); - }); -} - -function printDetail(result) { - console.log('\n--- detail: ' + result.label + ' (median run, ' + result.medianMs.toFixed(2) + ' ms) ---'); - if (!result.representativeReport) return; - var rows = [['phase', 'total ms', 'self ms', 'calls']]; - result.representativeReport.forEach(r => { - var label = ' '.repeat(r.depth) + r.label; - rows.push([label, r.totalMs.toFixed(2), r.selfMs.toFixed(2), String(r.calls)]); - }); - var widths = rows[0].map((_, col) => Math.max.apply(null, rows.map(r => String(r[col]).length))); - rows.forEach((row, idx) => { - var line = row[0].padEnd(widths[0]) - + ' ' + String(row[1]).padStart(widths[1]) - + ' ' + String(row[2]).padStart(widths[2]) - + ' ' + String(row[3]).padStart(widths[3]); - console.log(line); - if (idx === 0) console.log(widths.map(w => '-'.repeat(w)).join(' ')); - }); -} - -(async function main() { - var results = []; - for (var c of selected) { - try { - results.push(await runCase(c)); - } catch (e) { - console.error('FAILED ' + c.id + ': ' + (e && e.stack || e)); - } - } - - printResultsTable(results); - results.forEach(printDetail); - - if (opts.json) { - var payload = { - tag: opts.tag, - timestamp: new Date().toISOString(), - node: process.version, - results: results.map(r => ({ - case: r.case, - label: r.label, - runs: r.runs, - medianMs: r.medianMs, - minMs: r.minMs, - maxMs: r.maxMs, - report: r.representativeReport, - summary: summariseReport(r.representativeReport) - })) - }; - writeFileSync(opts.json, JSON.stringify(payload, null, 2)); - console.error('Wrote ' + opts.json); - } -})().catch(e => { - console.error(e); - process.exit(1); -}); - -} // end of else (non-child mode) From 029131200a191b87d45a8be98084ed342b4aa40c Mon Sep 17 00:00:00 2001 From: Matthew Bloch Date: Mon, 20 Apr 2026 06:14:47 -0400 Subject: [PATCH 347/509] Probe-first short-circuit in snapAndCut --- src/paths/mapshaper-intersection-cuts.mjs | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/src/paths/mapshaper-intersection-cuts.mjs b/src/paths/mapshaper-intersection-cuts.mjs index 7ff2a4d38..8e3162992 100644 --- a/src/paths/mapshaper-intersection-cuts.mjs +++ b/src/paths/mapshaper-intersection-cuts.mjs @@ -79,6 +79,29 @@ function snapAndCut(dataset, snapDist) { profileStart('snapAndCut'); var arcs = dataset.arcs; var cutOpts = snapDist > 0 ? {tolerance: snapDist} : {tolerance: 0}; + + // Probe for intersections before any modification. If the input has none, + // every pass of the loop below is provably a no-op: snap() can only + // consolidate FP noise around intersection points, cutPathsAtIntersections + // inserts cut points only where segments cross, and buildTopology is gated + // on coordsHaveChanged. So we can return early and skip a ~O(V log V) snap + // that would snap zero points, which is the dominant cost of robust + // dissolve on already-clean polygon input. + // + // limit=1 makes the probe cheap on dirty input too — it stops the stripe + // scan after the first hit, so the probe's full cost is only paid on + // truly clean input (where it replaces the equivalent scan that + // cutPathsAtIntersections would otherwise do on pass 1). + var probeOpts = {tolerance: cutOpts.tolerance, limit: 1}; + profileStart('probeIntersections'); + var probe = findSegmentIntersections(arcs, probeOpts); + profileEnd('probeIntersections'); + if (probe.length === 0) { + debug('[snapAndCut] skipped (no intersections)'); + profileEnd('snapAndCut'); + return false; + } + var coordsHaveChanged = false; var snapCount = 0, dupeCount, cutCount; var maxLoops = 4, loopCount = 0; From 6fee6c2add37429e2f0b4092092c06f60500eac4 Mon Sep 17 00:00:00 2001 From: Matthew Bloch Date: Wed, 22 Apr 2026 07:26:14 -0400 Subject: [PATCH 348/509] Improve Flatgeobuf and snapshot CRS support --- src/crs/mapshaper-projections.mjs | 52 +++++++ .../mapshaper-flatgeobuf-export.mjs | 72 ++++++++- src/pack/mapshaper-unpack.mjs | 5 + test/flatgeobuf-export-test.mjs | 144 ++++++++++++++++++ test/pack-test.mjs | 31 ++++ test/projections-test.mjs | 46 ++++++ 6 files changed, 343 insertions(+), 7 deletions(-) diff --git a/src/crs/mapshaper-projections.mjs b/src/crs/mapshaper-projections.mjs index 96454df30..9ac41884e 100644 --- a/src/crs/mapshaper-projections.mjs +++ b/src/crs/mapshaper-projections.mjs @@ -310,3 +310,55 @@ export function wkt1ToProj(str) { export function parsePrj(str) { return parseCrsString(wkt1ToProj(str)); } + +// Extract an EPSG (or other authority) code from a short string like +// "epsg:4326" or "ESRI:54030". Returns {org, code} or null. +export function parseAuthorityCodeString(str) { + if (!str || typeof str != 'string') return null; + var match = str.match(/^([a-z]+):(\d+)$/i); + if (!match) return null; + var code = +match[2]; + if (!code) return null; + return { + org: match[1].toUpperCase(), + code: code + }; +} + +// Extract the top-level AUTHORITY clause from a WKT1 .prj string. +// Returns {org, code} or null. Skips nested AUTHORITY clauses on inner +// elements like the datum or unit, which would otherwise produce the +// wrong code for projected CRSes. +export function parseAuthorityCodeFromWkt(wkt) { + if (!wkt || typeof wkt != 'string') return null; + var depth = 0; + var inQuote = false; + for (var i = 0; i < wkt.length; i++) { + var c = wkt.charAt(i); + if (c == '"') { + inQuote = !inQuote; + continue; + } + if (inQuote) continue; + if (c == '[' || c == '(') { + depth++; + continue; + } + if (c == ']' || c == ')') { + depth--; + continue; + } + if (depth != 1) continue; + var slice = wkt.slice(i, i + 10).toUpperCase(); + if (slice == 'AUTHORITY[' || slice.slice(0, 10) == 'AUTHORITY(') { + var match = wkt.slice(i).match(/^AUTHORITY\s*[[(]\s*"([^"]+)"\s*,\s*"?(\d+)"?\s*[\])]/i); + if (match) { + return { + org: String(match[1]).toUpperCase(), + code: +match[2] + }; + } + } + } + return null; +} diff --git a/src/flatgeobuf/mapshaper-flatgeobuf-export.mjs b/src/flatgeobuf/mapshaper-flatgeobuf-export.mjs index 6afdd575e..cf6b6a020 100644 --- a/src/flatgeobuf/mapshaper-flatgeobuf-export.mjs +++ b/src/flatgeobuf/mapshaper-flatgeobuf-export.mjs @@ -6,8 +6,15 @@ import { magicbytes, SIZE_PREFIX_LEN } from '../flatgeobuf/mapshaper-flatgeobuf-lib'; -import { stop } from '../utils/mapshaper-logging'; +import { stop, message } from '../utils/mapshaper-logging'; import { getFileExtension } from '../utils/mapshaper-filename-utils'; +import { + getDatasetCrsInfo, + isWGS84, + isWebMercator, + parseAuthorityCodeString, + parseAuthorityCodeFromWkt +} from '../crs/mapshaper-projections'; export function exportFlatGeobuf(dataset, opts) { var extension = opts.extension || 'fgb'; @@ -15,13 +22,19 @@ export function exportFlatGeobuf(dataset, opts) { // Keep behavior consistent with other exporters that honor explicit output filename. extension = getFileExtension(opts.file) || extension; } + var crsMeta = resolveOutputCRS(dataset); return dataset.layers.map(function(lyr) { var geojson = getFeatureCollection(lyr, dataset, opts); var content = serialize(geojson); - content = setOutputCRS(content, dataset.info && dataset.info.flatgeobuf_crs); + var filename = lyr.name + '.' + extension; + if (crsMeta) { + content = rewriteHeaderWithCRS(content, crsMeta); + } else { + message('Wrote', filename, 'without a CRS in the FlatGeobuf header (mapshaper could not derive an EPSG code for this dataset). Downstream tools may misinterpret the coordinates or refuse to load the file.'); + } return { content: content, - filename: lyr.name + '.' + extension + filename: filename }; }); } @@ -37,10 +50,55 @@ function getFeatureCollection(lyr, dataset, opts) { }; } -function setOutputCRS(content, crs) { - var crsMeta = normalizeCRS(crs); - if (!crsMeta) return content; - return rewriteHeaderWithCRS(content, crsMeta); +// Try several strategies to derive an EPSG code for the dataset. Returns +// a CRS-meta object suitable for buildHeaderWithCRS(), or null if no +// EPSG code could be found. We don't write WKT-only CRSes -- mapshaper +// can't reliably round-trip them and many readers ignore the WKT field. +function resolveOutputCRS(dataset) { + var info = (dataset && dataset.info) || {}; + var meta; + + // 1. Round-tripped from another FlatGeobuf + meta = normalizeCRS(info.flatgeobuf_crs); + if (meta) return meta; + + // 2. Round-tripped from a GeoPackage with an EPSG-coded SRS + if (info.geopackage_crs && + String(info.geopackage_crs.organization || '').toUpperCase() === 'EPSG') { + meta = normalizeCRS({ + org: 'EPSG', + code: info.geopackage_crs.organization_coordsys_id || info.geopackage_crs.srs_id + }); + if (meta) return meta; + } + + // 3. Explicit "epsg:NNNN" / "esri:NNNN" string set by -proj or alike + meta = normalizeCRS(parseAuthorityCodeString(info.crs_string)); + if (meta) return meta; + + // 4. AUTHORITY["EPSG", N] in a .prj/WKT1 string (typically from a Shapefile) + meta = normalizeCRS(parseAuthorityCodeFromWkt(info.wkt1)); + if (meta) return meta; + + // 5. Recognized CRS object: WGS-84 (any encoding) or Web Mercator. + // getDatasetCrsInfo() also auto-detects WGS-84 from lat/lng-like bounds, + // which is how GeoJSON sources end up with a usable CRS object. + var crsInfo; + try { + crsInfo = getDatasetCrsInfo(dataset); + } catch (e) { + crsInfo = null; + } + if (crsInfo && crsInfo.crs) { + if (isWGS84(crsInfo.crs)) { + return normalizeCRS({org: 'EPSG', code: 4326}); + } + if (isWebMercator(crsInfo.crs)) { + return normalizeCRS({org: 'EPSG', code: 3857}); + } + } + + return null; } function normalizeCRS(crs) { diff --git a/src/pack/mapshaper-unpack.mjs b/src/pack/mapshaper-unpack.mjs index 6d1ea926b..ed4295475 100644 --- a/src/pack/mapshaper-unpack.mjs +++ b/src/pack/mapshaper-unpack.mjs @@ -89,7 +89,12 @@ async function importInfo(o) { // load external files (e.g. epsg definitions) if needed in GUI await initProjLibrary({crs: o.crs_string}); o.crs = parseCrsString(o.crs_string); + } else if (o.wkt1) { + // Shapefile-sourced snapshots typically carry wkt1 but no crs_string; + // reconstitute the proj object from it so direct readers of info.crs work. + o.crs = parsePrj(o.wkt1); } else if (o.prj) { + // legacy field name; older snapshots may have stored the .prj content here o.crs = parsePrj(o.prj); } return o; diff --git a/test/flatgeobuf-export-test.mjs b/test/flatgeobuf-export-test.mjs index fd5891f64..a5dbff974 100644 --- a/test/flatgeobuf-export-test.mjs +++ b/test/flatgeobuf-export-test.mjs @@ -96,4 +96,148 @@ describe('flatgeobuf export', function () { assert.equal(roundtrip.info.flatgeobuf_crs.org, 'EPSG'); assert.equal(roundtrip.info.flatgeobuf_crs.code, 4326); }); + + it('embeds EPSG:4326 when source is a WGS-84 GeoJSON', async function () { + var input = { + type: 'FeatureCollection', + features: [{ + type: 'Feature', + properties: {name: 'a'}, + geometry: {type: 'Point', coordinates: [-122.4, 37.8]} + }] + }; + var output = await api.applyCommands('-i in.json -o format=flatgeobuf', {'in.json': input}); + var fgbName = Object.keys(output)[0]; + var roundtrip = await api.internal.importContentAsync({ + fgb: {filename: fgbName, content: output[fgbName]} + }, {}); + + assert.equal(roundtrip.info.flatgeobuf_crs.org, 'EPSG'); + assert.equal(roundtrip.info.flatgeobuf_crs.code, 4326); + }); + + it('embeds EPSG:4326 when -proj wgs84 is applied', async function () { + var input = { + type: 'FeatureCollection', + features: [{ + type: 'Feature', + properties: {name: 'a'}, + geometry: {type: 'Point', coordinates: [-122.4, 37.8]} + }] + }; + var output = await api.applyCommands( + '-i in.json -proj wgs84 -o format=flatgeobuf', + {'in.json': input} + ); + var fgbName = Object.keys(output)[0]; + var roundtrip = await api.internal.importContentAsync({ + fgb: {filename: fgbName, content: output[fgbName]} + }, {}); + + assert.equal(roundtrip.info.flatgeobuf_crs.org, 'EPSG'); + assert.equal(roundtrip.info.flatgeobuf_crs.code, 4326); + }); + + it('embeds the EPSG code requested by -proj epsg:NNNN', async function () { + var input = { + type: 'FeatureCollection', + features: [{ + type: 'Feature', + properties: {name: 'a'}, + geometry: {type: 'Point', coordinates: [-122.4, 37.8]} + }] + }; + var output = await api.applyCommands( + '-i in.json -proj epsg:32610 -o format=flatgeobuf', + {'in.json': input} + ); + var fgbName = Object.keys(output)[0]; + var roundtrip = await api.internal.importContentAsync({ + fgb: {filename: fgbName, content: output[fgbName]} + }, {}); + + assert.equal(roundtrip.info.flatgeobuf_crs.org, 'EPSG'); + assert.equal(roundtrip.info.flatgeobuf_crs.code, 32610); + }); + + it('embeds EPSG:3857 when source is reprojected to Web Mercator', async function () { + var input = { + type: 'FeatureCollection', + features: [{ + type: 'Feature', + properties: {name: 'a'}, + geometry: {type: 'Point', coordinates: [-122.4, 37.8]} + }] + }; + var output = await api.applyCommands( + '-i in.json -proj webmercator -o format=flatgeobuf', + {'in.json': input} + ); + var fgbName = Object.keys(output)[0]; + var roundtrip = await api.internal.importContentAsync({ + fgb: {filename: fgbName, content: output[fgbName]} + }, {}); + + assert.equal(roundtrip.info.flatgeobuf_crs.org, 'EPSG'); + assert.equal(roundtrip.info.flatgeobuf_crs.code, 3857); + }); + + it('extracts top-level AUTHORITY["EPSG", N] from a WKT1 .prj string', async function () { + var dataset = { + info: { + wkt1: 'GEOGCS["NAD27",DATUM["North_American_Datum_1927",' + + 'SPHEROID["Clarke 1866",6378206.4,294.9786982139006,' + + 'AUTHORITY["EPSG","7008"]],AUTHORITY["EPSG","6267"]],' + + 'PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],' + + 'UNIT["degree",0.0174532925199433,AUTHORITY["EPSG","9122"]],' + + 'AUTHORITY["EPSG","4267"]]' + }, + layers: [{ + name: 'pts', + geometry_type: 'point', + shapes: [[[1, 2]]] + }] + }; + var files = api.internal.exportFileContent(dataset, {format: 'flatgeobuf'}); + var roundtrip = await api.internal.importContentAsync({ + fgb: {filename: files[0].filename, content: files[0].content} + }, {}); + + assert.equal(roundtrip.info.flatgeobuf_crs.org, 'EPSG'); + assert.equal(roundtrip.info.flatgeobuf_crs.code, 4267); + }); + + it('warns and writes no CRS when the projection has no EPSG code', async function () { + api.enableLogging(); + var calls = []; + var origError = console.error; + console.error = function() { calls.push(Array.prototype.join.call(arguments, ' ')); }; + try { + var input = { + type: 'FeatureCollection', + features: [{ + type: 'Feature', + properties: {name: 'a'}, + geometry: {type: 'Point', coordinates: [-122.4, 37.8]} + }] + }; + // +proj=aea is a custom projection that mapshaper can't tag with an EPSG code. + var output = await api.applyCommands( + '-i in.json -proj "+proj=aea +lat_1=29.5 +lat_2=45.5 +lat_0=37.5 +lon_0=-96 +datum=WGS84" -o format=flatgeobuf', + {'in.json': input} + ); + var fgbName = Object.keys(output)[0]; + var roundtrip = await api.internal.importContentAsync({ + fgb: {filename: fgbName, content: output[fgbName]} + }, {}); + + assert.strictEqual(roundtrip.info.flatgeobuf_crs, null); + assert.ok( + calls.some(s => /without a CRS in the FlatGeobuf header/.test(s)), + 'expected a "no CRS" warning but got:\n' + calls.join('\n') + ); + } finally { + console.error = origError; + } + }); }); diff --git a/test/pack-test.mjs b/test/pack-test.mjs index 4a2a40032..636cc05a6 100644 --- a/test/pack-test.mjs +++ b/test/pack-test.mjs @@ -1,5 +1,8 @@ import api from '../mapshaper.js'; import assert from 'assert'; +import fs from 'fs'; +import os from 'os'; +import path from 'path'; import { unpackSessionData } from '../src/pack/mapshaper-unpack'; describe('mapshaper-pack.mjs', function () { @@ -47,4 +50,32 @@ describe('mapshaper-pack.mjs', function () { assert(out['a.msx'].length > out['b.msx'].length); }); + + it('round-trips a Shapefile-sourced wkt1 and reconstitutes info.crs', function(done) { + // Shapefile imports populate info.wkt1 but not info.crs_string. Snapshot + // writers don't auto-fill crs_string when wkt1 is present, so the reader + // has to rebuild info.crs from wkt1 directly to support code that reads + // info.crs without going through getDatasetCrsInfo() (e.g. the GUI). + var tmpPath = path.join(os.tmpdir(), 'mapshaper-pack-wkt1-' + process.pid + '-' + Date.now() + '.msx'); + api.applyCommands('-i test/data/two_states.shp -o snap.msx', function(err, out) { + if (err) return done(err); + try { + fs.writeFileSync(tmpPath, Buffer.from(out['snap.msx'])); + } catch (e) { return done(e); } + api.internal.testCommands('-i ' + tmpPath, function(err2, dataset) { + try { + if (err2) throw err2; + var info = dataset.info; + assert(info.wkt1 && /WGS_1984/.test(info.wkt1), 'wkt1 should be preserved'); + assert(!info.crs_string, 'crs_string was not set by the original Shapefile import and should not appear after round-trip'); + assert(info.crs, 'info.crs should be reconstituted from wkt1'); + } catch (e) { + if (fs.existsSync(tmpPath)) fs.unlinkSync(tmpPath); + return done(e); + } + if (fs.existsSync(tmpPath)) fs.unlinkSync(tmpPath); + done(); + }); + }); + }); }) diff --git a/test/projections-test.mjs b/test/projections-test.mjs index 543904635..abe5190a7 100644 --- a/test/projections-test.mjs +++ b/test/projections-test.mjs @@ -110,4 +110,50 @@ describe('mapshaper-projections.js', function() { }) }) + describe('parseAuthorityCodeString()', function () { + var fn = api.internal.parseAuthorityCodeString; + it('parses "epsg:4326"', function () { + assert.deepEqual(fn('epsg:4326'), {org: 'EPSG', code: 4326}); + }); + it('parses "ESRI:54030" with mixed case', function () { + assert.deepEqual(fn('ESRI:54030'), {org: 'ESRI', code: 54030}); + }); + it('returns null for proj4 strings, aliases, and junk', function () { + assert.equal(fn('+proj=longlat +datum=WGS84'), null); + assert.equal(fn('wgs84'), null); + assert.equal(fn(''), null); + assert.equal(fn(null), null); + assert.equal(fn('epsg:'), null); + assert.equal(fn('epsg:0'), null); + }); + }); + + describe('parseAuthorityCodeFromWkt()', function () { + var fn = api.internal.parseAuthorityCodeFromWkt; + it('extracts the top-level AUTHORITY clause and ignores nested ones', function () { + var wkt = 'GEOGCS["NAD27",DATUM["North_American_Datum_1927",' + + 'SPHEROID["Clarke 1866",6378206.4,294.9786982139006,AUTHORITY["EPSG","7008"]],' + + 'AUTHORITY["EPSG","6267"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],' + + 'UNIT["degree",0.0174532925199433,AUTHORITY["EPSG","9122"]],' + + 'AUTHORITY["EPSG","4267"]]'; + assert.deepEqual(fn(wkt), {org: 'EPSG', code: 4267}); + }); + it('handles a simple PROJCS root authority', function () { + var wkt = 'PROJCS["WGS 84 / UTM zone 10N",GEOGCS["WGS 84",AUTHORITY["EPSG","4326"]],' + + 'PROJECTION["Transverse_Mercator"],AUTHORITY["EPSG","32610"]]'; + assert.deepEqual(fn(wkt), {org: 'EPSG', code: 32610}); + }); + it('returns null when there is no top-level AUTHORITY', function () { + var wkt = 'GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",' + + 'SPHEROID["WGS_1984",6378137.0,298.257223563]],PRIMEM["Greenwich",0.0],' + + 'UNIT["Degree",0.0174532925199433]]'; + assert.equal(fn(wkt), null); + }); + it('returns null for empty/invalid input', function () { + assert.equal(fn(''), null); + assert.equal(fn(null), null); + assert.equal(fn(undefined), null); + }); + }); + }); From 1f3f7541fa1f38a3d4efbe4945a4c7f3cfba9f55 Mon Sep 17 00:00:00 2001 From: Matthew Bloch Date: Wed, 22 Apr 2026 07:45:53 -0400 Subject: [PATCH 349/509] Update testing configuration --- src/utils/mapshaper-logging.mjs | 4 ++++ test/_loader.js | 20 -------------------- test/_loader.mjs | 21 +++++++++++++++++++++ test/_register.mjs | 3 +++ test/flatgeobuf-export-test.mjs | 2 ++ 5 files changed, 30 insertions(+), 20 deletions(-) delete mode 100644 test/_loader.js create mode 100644 test/_loader.mjs create mode 100644 test/_register.mjs diff --git a/src/utils/mapshaper-logging.mjs b/src/utils/mapshaper-logging.mjs index 0c1a3c7ec..78a241a54 100644 --- a/src/utils/mapshaper-logging.mjs +++ b/src/utils/mapshaper-logging.mjs @@ -45,6 +45,10 @@ export function enableLogging() { LOGGING = true; } +export function disableLogging() { + LOGGING = false; +} + export function loggingEnabled() { return !!LOGGING; } diff --git a/test/_loader.js b/test/_loader.js deleted file mode 100644 index 6761f5251..000000000 --- a/test/_loader.js +++ /dev/null @@ -1,20 +0,0 @@ -const {existsSync} = require('fs'); -const {basename, dirname, extname, join} = require('path'); -const {fileURLToPath} = require('url'); - -let extensions = ['mjs', 'js', 'json'], resolveDirs = false - -let indexFiles = resolveDirs ? extensions.map(e => `index.${e}`) : [] -let postfixes = extensions.map(e => `.${e}`).concat(indexFiles.map(p => `/${p}`)) -let findPostfix = (specifier, context) => (specifier.endsWith('/') ? indexFiles : postfixes).find(p => - existsSync(specifier.startsWith('/') ? specifier + p : join(dirname(fileURLToPath(context.parentURL)), specifier + p)) -) - -let prefixes = ['/', './', '../'] -module.exports.resolve = function(specifier, context, nextResolve) { - let postfix = prefixes.some(p => specifier.startsWith(p)) - && !extname(basename(specifier)) - && findPostfix(specifier, context) || '' - - return nextResolve(specifier + postfix) -} \ No newline at end of file diff --git a/test/_loader.mjs b/test/_loader.mjs new file mode 100644 index 000000000..df2532737 --- /dev/null +++ b/test/_loader.mjs @@ -0,0 +1,21 @@ +import { existsSync } from 'fs'; +import { basename, dirname, extname, join } from 'path'; +import { fileURLToPath } from 'url'; + +const extensions = ['mjs', 'js', 'json']; +const resolveDirs = false; + +const indexFiles = resolveDirs ? extensions.map(e => `index.${e}`) : []; +const postfixes = extensions.map(e => `.${e}`).concat(indexFiles.map(p => `/${p}`)); +const findPostfix = (specifier, context) => (specifier.endsWith('/') ? indexFiles : postfixes).find(p => + existsSync(specifier.startsWith('/') ? specifier + p : join(dirname(fileURLToPath(context.parentURL)), specifier + p)) +); + +const prefixes = ['/', './', '../']; +export function resolve(specifier, context, nextResolve) { + const postfix = prefixes.some(p => specifier.startsWith(p)) + && !extname(basename(specifier)) + && findPostfix(specifier, context) || ''; + + return nextResolve(specifier + postfix); +} diff --git a/test/_register.mjs b/test/_register.mjs new file mode 100644 index 000000000..c109a7ef3 --- /dev/null +++ b/test/_register.mjs @@ -0,0 +1,3 @@ +import { register } from 'node:module'; + +register('./_loader.mjs', import.meta.url); diff --git a/test/flatgeobuf-export-test.mjs b/test/flatgeobuf-export-test.mjs index a5dbff974..d9b42d88b 100644 --- a/test/flatgeobuf-export-test.mjs +++ b/test/flatgeobuf-export-test.mjs @@ -208,6 +208,7 @@ describe('flatgeobuf export', function () { }); it('warns and writes no CRS when the projection has no EPSG code', async function () { + var loggingWasEnabled = api.internal.loggingEnabled(); api.enableLogging(); var calls = []; var origError = console.error; @@ -238,6 +239,7 @@ describe('flatgeobuf export', function () { ); } finally { console.error = origError; + if (!loggingWasEnabled) api.internal.disableLogging(); } }); }); From 5e65e09923dd1b3e9200ac262e566dbd18d69d34 Mon Sep 17 00:00:00 2001 From: Matthew Bloch Date: Wed, 22 Apr 2026 15:11:41 -0400 Subject: [PATCH 350/509] Support importing inline CSV with -i --- src/cli/mapshaper-cli-utils.mjs | 9 ++++-- src/cli/mapshaper-options.mjs | 3 +- src/io/mapshaper-file-import.mjs | 41 +++++++++++++++++------- src/io/mapshaper-file-types.mjs | 33 +++++++++++++++++++ test/file-types-test.mjs | 54 +++++++++++++++++++++++++++++++- test/import-test.mjs | 53 +++++++++++++++++++++++++++++++ 6 files changed, 178 insertions(+), 15 deletions(-) diff --git a/src/cli/mapshaper-cli-utils.mjs b/src/cli/mapshaper-cli-utils.mjs index 1d2dddc32..12a6c4870 100644 --- a/src/cli/mapshaper-cli-utils.mjs +++ b/src/cli/mapshaper-cli-utils.mjs @@ -6,6 +6,7 @@ import utils from '../utils/mapshaper-utils'; import { runningInBrowser } from '../mapshaper-env'; import { getStashedVar } from '../mapshaper-stash'; import { parseLocalPath } from '../utils/mapshaper-filename-utils'; +import { stringLooksLikeJSON, stringLooksLikeCsv } from '../io/mapshaper-file-types'; import require from '../mapshaper-require'; var cli = {}; @@ -143,10 +144,14 @@ cli.expandFileName = function(name) { return files; }; -// Expand any wildcards. +// Expand any wildcards. Inline data strings (JSON / CSV passed directly on +// the command line) are passed through unchanged so that "*" appearing +// inside the data isn't interpreted as a glob. cli.expandInputFiles = function(files) { return files.reduce(function(memo, name) { - if (name.indexOf('*') > -1) { + if (stringLooksLikeJSON(name) || stringLooksLikeCsv(name)) { + memo.push(name); + } else if (name.indexOf('*') > -1) { memo = memo.concat(cli.expandFileName(name)); } else { memo.push(name); diff --git a/src/cli/mapshaper-options.mjs b/src/cli/mapshaper-options.mjs index b938114a8..f765069b7 100644 --- a/src/cli/mapshaper-options.mjs +++ b/src/cli/mapshaper-options.mjs @@ -1082,7 +1082,8 @@ export function getOptionParser() { describe: 'create a polygon to match the outline of the graticule', type: 'flag' }) - .option('name', nameOpt); + .option('name', nameOpt) + .option('target', targetOpt); // for testing grid update diff --git a/src/io/mapshaper-file-import.mjs b/src/io/mapshaper-file-import.mjs index ae8c90afd..014509215 100644 --- a/src/io/mapshaper-file-import.mjs +++ b/src/io/mapshaper-file-import.mjs @@ -7,6 +7,8 @@ import { isZipFile, isKmzFile, stringLooksLikeJSON, + stringLooksLikeCsv, + unescapeInlineCsv, isPackageFile } from '../io/mapshaper-file-types'; import cmd from '../mapshaper-cmd'; import cli from '../cli/mapshaper-cli-utils'; @@ -88,22 +90,39 @@ cmd.importFiles = async function(catalog, opts) { return target; }; -// replace any JSON data objects with filenames and cache the data +// Replace any inline data strings (JSON objects/arrays or comma-delimited +// text) with synthetic filenames and stash the content in @cache so the +// downstream importer can read it as if it had come from a file. function convertDataObjects(files, cache) { - var names = files.map(str => stringLooksLikeJSON(str) ? 'layer.json' : null).filter(Boolean); - if (names.length === 0) return; - if (names.length > 1) { - // make unique names if importing multiple objects - names = utils.uniqifyNames(names, formatVersionedFileName); + var slots = files.map(classifyInlineData); + var inlineCount = slots.filter(Boolean).length; + if (inlineCount === 0) return; + if (inlineCount > 1) { + // ensure unique filenames when multiple inline strings are passed together + var names = slots.filter(Boolean).map(function(s) { return s.filename; }); + var unique = utils.uniqifyNames(names, formatVersionedFileName); + var idx = 0; + slots.forEach(function(slot) { + if (slot) slot.filename = unique[idx++]; + }); } - files.forEach((str, i) => { - if (!stringLooksLikeJSON(str)) return; - var name = names.shift(); - cache[name] = str; - files[i] = name; + slots.forEach(function(slot, i) { + if (!slot) return; + cache[slot.filename] = slot.content; + files[i] = slot.filename; }); } +function classifyInlineData(str) { + if (stringLooksLikeJSON(str)) { + return {filename: 'layer.json', content: str}; + } + if (stringLooksLikeCsv(str)) { + return {filename: 'layer.csv', content: unescapeInlineCsv(str)}; + } + return null; +} + async function importMshpFile(file, catalog, opts) { var buf = cli.readFile(file, null, opts.input); var obj = await unpackSessionData(buf); diff --git a/src/io/mapshaper-file-types.mjs b/src/io/mapshaper-file-types.mjs index 9e47c851a..d8cf3d494 100644 --- a/src/io/mapshaper-file-types.mjs +++ b/src/io/mapshaper-file-types.mjs @@ -48,6 +48,39 @@ export function stringLooksLikeJSON(str) { return /^\s*[{[]/.test(String(str)); } +// Heuristic: detect inline comma-delimited data passed as an -i argument. +// Required signals (intentionally strict to avoid false positives on filenames): +// 1. Contains a real newline OR the literal escape sequence "\n" +// 2. The first and second non-empty lines each contain at least one comma +// Multi-character delimiters (tab, semicolon, pipe) are not detected here; +// only comma-delimited input is supported as inline data for now. +export function stringLooksLikeCsv(str) { + if (typeof str !== 'string' || str.length === 0) return false; + if (!stringHasInlineCsvNewline(str)) return false; + var normalized = unescapeInlineCsv(str); + var lines = normalized.split(/\r?\n/).filter(function(line) { + return line.length > 0; + }); + if (lines.length < 2) return false; + return lines[0].indexOf(',') > -1 && lines[1].indexOf(',') > -1; +} + +// True if @str contains either a real newline or the literal two-character +// escape sequence "\n" (backslash + n) anywhere in the string. +export function stringHasInlineCsvNewline(str) { + return str.indexOf('\n') > -1 || /\\n/.test(str); +} + +// Convert literal "\n" / "\r\n" escape sequences in an inline CSV string +// into real newline characters. If the input already contains a real newline, +// it is returned unchanged so that backslash-n sequences inside quoted cells +// are preserved verbatim. +export function unescapeInlineCsv(str) { + if (typeof str !== 'string') return str; + if (str.indexOf('\n') > -1) return str; + return str.replace(/\\r\\n/g, '\n').replace(/\\n/g, '\n'); +} + export function stringLooksLikeKML(str) { str = String(str); return str.includes(' Date: Wed, 22 Apr 2026 22:00:11 -0400 Subject: [PATCH 351/509] Export snapshots with targeted layers set to visible --- src/cli/mapshaper-options.mjs | 2 +- src/io/mapshaper-export.mjs | 76 ++++++++++++++++++++-- test/pack-test.mjs | 118 ++++++++++++++++++++++++++++++++++ 3 files changed, 191 insertions(+), 5 deletions(-) diff --git a/src/cli/mapshaper-options.mjs b/src/cli/mapshaper-options.mjs index f765069b7..f5d325f3c 100644 --- a/src/cli/mapshaper-options.mjs +++ b/src/cli/mapshaper-options.mjs @@ -1493,7 +1493,7 @@ export function getOptionParser() { }) .option('interval', { // alias: 'i', - describe: 'output resolution as a distance (e.g. 100)', + describe: 'output resolution as a distance (e.g. 100m)', type: 'distance' }) /* diff --git a/src/io/mapshaper-export.mjs b/src/io/mapshaper-export.mjs index 447bf74e2..b4e7e2b6f 100644 --- a/src/io/mapshaper-export.mjs +++ b/src/io/mapshaper-export.mjs @@ -30,10 +30,22 @@ export async function exportTargetLayers(catalog, targets, opts) { var bounds = getLayerBounds(target.layer, target.dataset.arcs); opts = Object.assign({svg_bbox: bounds.toArray()}, opts); } - // convert target fmt to dataset fmt - var datasets = targets.map(function(target) { - return utils.defaults({layers: target.layers}, target.dataset); - }); + var format = getOutputFormat(targets[0].dataset, opts); + var datasets; + if (format == PACKAGE_EXT && !runningInBrowser()) { + // CLI .msx export captures the whole session: every dataset/layer in the + // catalog ships in the snapshot, not just the -target subset. Targeted + // layers come back visible (pinned) and stacked in the order matched by + // -target; untargeted layers come along for the ride, hidden and parked + // at the bottom of the GUI stack. This matches GUI snapshot semantics + // and lets `mapshaper a.shp b.shp -target a -o foo.msx` produce a + // shareable bundle without losing b.shp. + datasets = prepareCatalogForCliPackExport(catalog, targets); + } else { + datasets = targets.map(function(target) { + return utils.defaults({layers: target.layers}, target.dataset); + }); + } return exportDatasets(datasets, opts); } @@ -279,3 +291,59 @@ function sortExportLayers(dataset) { utils.sortOn(dataset.layers, 'target_id', true); } } + +// Prepare the full catalog for a CLI `-o foo.msx` export. Returns a +// shallow-copied datasets/layers tree (the live model is left alone) where: +// +// - every dataset and every layer in the catalog is present, not just the +// -target subset, so .msx round-trips the entire working session; +// - layers matched by -target are marked `pinned: true` so the GUI shows +// them on load (no `&display-all` URL flag needed); +// - those targeted layers get menu_order values that follow the linear +// -target list (first targeted = bottom of the stack, last = top), +// matching the SVG draw order from the same -target line; +// - untargeted layers get menu_order values below every targeted layer, +// so they sit at the bottom of the GUI panel out of the way (they're +// hidden, but if the user pins one later it doesn't pop above the +// intended stack). +// +// Intra-dataset array order is preserved so re-importing with `mapshaper +// foo.msx -target * -o bar.svg` still iterates layers in the order they +// appeared during the original run. +function prepareCatalogForCliPackExport(catalog, targets) { + var targeted = new Set(); + targets.forEach(function(t) { + t.layers.forEach(function(lyr) { targeted.add(lyr); }); + }); + var datasets = catalog.getDatasets(); + // Count untargeted layers globally so we can offset targeted layers' + // menu_order to sit above them in a single consecutive range. + var untargetedCount = 0; + datasets.forEach(function(d) { + d.layers.forEach(function(lyr) { + if (!targeted.has(lyr)) untargetedCount++; + }); + }); + var untargetedSeq = 0; + return datasets.map(function(dataset) { + var layers = dataset.layers.map(function(lyr) { + var isTargeted = targeted.has(lyr); + var menuOrder; + if (isTargeted && lyr.target_id != null && lyr.target_id >= 0) { + // target_id is 0-based across the whole -target list; offset past + // the untargeted block so targeted layers occupy [untargetedCount+1 + // .. untargetedCount+N]. + menuOrder = untargetedCount + lyr.target_id + 1; + } else { + // Untargeted (or untargeted-shaped target_id): pack into the bottom + // of the global stack, in catalog walk order. + menuOrder = ++untargetedSeq; + } + return utils.defaults({ + pinned: isTargeted, + menu_order: menuOrder + }, lyr); + }); + return utils.defaults({layers: layers}, dataset); + }); +} diff --git a/test/pack-test.mjs b/test/pack-test.mjs index 636cc05a6..104c678e7 100644 --- a/test/pack-test.mjs +++ b/test/pack-test.mjs @@ -51,6 +51,124 @@ describe('mapshaper-pack.mjs', function () { }); + it('CLI .msx export pins targeted layers and assigns menu_order from -target order', async function() { + // Three layers in a single dataset, all targeted in the order c,a,b. + // Layer-array order is preserved (a,b,c, the import order), but + // menu_order encodes the -target stack: c=1 (bottom), a=2, b=3 (top). + // All three layers should be pinned visible. + var cmd = '-i a.json b.json c.json combine-files ' + + '-o target=c,a,b out.msx'; + var inputs = { + 'a.json': [{name: 'a'}], + 'b.json': [{name: 'b'}], + 'c.json': [{name: 'c'}] + }; + var out = await api.applyCommands(cmd, inputs); + var obj = await unpackSessionData(out['out.msx']); + var layers = obj.datasets[0].layers; + assert.deepEqual(layers.map(function(l) { return l.name; }), ['a', 'b', 'c']); + var byName = Object.fromEntries(layers.map(function(l) { return [l.name, l]; })); + assert.equal(byName.c.menu_order, 1, 'c was targeted first -> bottom of stack'); + assert.equal(byName.a.menu_order, 2); + assert.equal(byName.b.menu_order, 3, 'b was targeted last -> top of stack'); + layers.forEach(function(lyr) { + assert.equal(lyr.pinned, true, + 'targeted layer "' + lyr.name + '" should be pinned visible'); + }); + }); + + it('CLI .msx export keeps untargeted layers, unpinned, ranked below targeted', async function() { + // The whole catalog ships in the snapshot, not just the -target subset. + // Untargeted "extras" come along hidden and parked at the bottom of the + // GUI stack so they don't get in the way. + var cmd = '-i a.json b.json c.json combine-files ' + + '-o target=a,b out.msx'; + var inputs = { + 'a.json': [{name: 'a'}], + 'b.json': [{name: 'b'}], + 'c.json': [{name: 'c'}] + }; + var out = await api.applyCommands(cmd, inputs); + var obj = await unpackSessionData(out['out.msx']); + var layers = obj.datasets[0].layers; + assert.equal(layers.length, 3, 'all three layers preserved (not just targeted)'); + var byName = Object.fromEntries(layers.map(function(l) { return [l.name, l]; })); + assert.equal(byName.a.pinned, true, 'targeted -> pinned'); + assert.equal(byName.b.pinned, true, 'targeted -> pinned'); + assert.equal(byName.c.pinned, false, 'untargeted -> hidden'); + // 1 untargeted layer, so targeted layers occupy menu_order 2..3 + // and untargeted gets menu_order 1. + assert.equal(byName.c.menu_order, 1, 'untargeted layer slots below targeted ones'); + assert.equal(byName.a.menu_order, 2, 'first targeted -> just above untargeted block'); + assert.equal(byName.b.menu_order, 3, 'last targeted -> top'); + }); + + it('CLI .msx export preserves untargeted *datasets*, not just untargeted layers', async function() { + // Multi-dataset case: -target a only -> dataset b should still appear + // in the snapshot (hidden), with its layer ranked below targeted a. + var cmd = '-i a.json -i b.json -o target=a out.msx'; + var inputs = { + 'a.json': [{name: 'a'}], + 'b.json': [{name: 'b'}] + }; + var out = await api.applyCommands(cmd, inputs); + var obj = await unpackSessionData(out['out.msx']); + assert.equal(obj.datasets.length, 2, 'both datasets preserved in snapshot'); + var allLayers = obj.datasets.flatMap(function(d) { return d.layers; }); + var byName = Object.fromEntries(allLayers.map(function(l) { return [l.name, l]; })); + assert.equal(byName.a.pinned, true); + assert.equal(byName.b.pinned, false); + assert.equal(byName.b.menu_order, 1, 'untargeted layer at bottom'); + assert.equal(byName.a.menu_order, 2, 'targeted layer above untargeted block'); + }); + + it('CLI .msx export menu_order follows -target list when it interleaves datasets', async function() { + // Regression: snapshot writer groups layers by source dataset, so a + // -target list like a1,b1,a2,b2 (alternating across two datasets) ends + // up clumped as [[a1,a2],[b1,b2]]. menu_order must still reflect the + // *linear* target order so the GUI restacks them as the user asked, + // not in dataset-grouping order. + var cmd = '-i a1.json a2.json combine-files ' + + '-i b1.json b2.json combine-files ' + + '-o target=a1,b1,a2,b2 out.msx'; + var inputs = { + 'a1.json': [{val: 1}], + 'a2.json': [{val: 2}], + 'b1.json': [{val: 3}], + 'b2.json': [{val: 4}] + }; + var out = await api.applyCommands(cmd, inputs); + var obj = await unpackSessionData(out['out.msx']); + var pairs = obj.datasets.flatMap(function(d) { + return d.layers.map(function(l) { return [l.name, l.menu_order]; }); + }); + var byName = Object.fromEntries(pairs); + assert.equal(byName.a1, 1, 'a1 -> menu_order 1 (bottom)'); + assert.equal(byName.b1, 2, 'b1 -> menu_order 2'); + assert.equal(byName.a2, 3, 'a2 -> menu_order 3'); + assert.equal(byName.b2, 4, 'b2 -> menu_order 4 (top)'); + }); + + it('CLI .msx export with no explicit target pins every layer (default-target case)', async function() { + // The common `mapshaper input.shp -o foo.msx` case: no explicit + // -target, so the default target matches every layer. Result: every + // layer is pinned visible, behaviour identical to the old "only + // targeted layers, all visible" UX before the all-layers change. + var cmd = '-i a.json b.json combine-files -o out.msx'; + var inputs = { + 'a.json': [{name: 'a'}], + 'b.json': [{name: 'b'}] + }; + var out = await api.applyCommands(cmd, inputs); + var obj = await unpackSessionData(out['out.msx']); + var layers = obj.datasets[0].layers; + assert.equal(layers.length, 2); + layers.forEach(function(lyr) { + assert.equal(lyr.pinned, true, + 'default target should pin layer "' + lyr.name + '" visible'); + }); + }); + it('round-trips a Shapefile-sourced wkt1 and reconstitutes info.crs', function(done) { // Shapefile imports populate info.wkt1 but not info.crs_string. Snapshot // writers don't auto-fill crs_string when wkt1 is present, so the reader From 3a9dc0bedb9245562fd235fa90d0b81c422ad7fb Mon Sep 17 00:00:00 2001 From: Matthew Bloch Date: Fri, 24 Apr 2026 14:32:02 -0400 Subject: [PATCH 352/509] Fix .kmz output --- src/kml/kml-export.mjs | 15 +++++++++------ src/kml/kml-import.mjs | 1 - test/kml-test.mjs | 20 ++++++++++++++++++++ 3 files changed, 29 insertions(+), 7 deletions(-) diff --git a/src/kml/kml-export.mjs b/src/kml/kml-export.mjs index f12898a44..2c4591c1d 100644 --- a/src/kml/kml-export.mjs +++ b/src/kml/kml-export.mjs @@ -1,18 +1,21 @@ import { exportDatasetAsGeoJSON } from '../geojson/geojson-export'; import { getOutputFileBase } from '../utils/mapshaper-filename-utils'; +import { isKmzFile } from '../io/mapshaper-file-types'; +import { zipSync } from '../io/mapshaper-zip'; import require from '../mapshaper-require'; -// import { isKmzFile } from '../io/mapshaper-file-types'; export function exportKML(dataset, opts) { var toKML = require("@placemarkio/tokml").toKML; var geojsonOpts = Object.assign({combine_layers: true, geojson_type: 'FeatureCollection'}, opts); var geojson = exportDatasetAsGeoJSON(dataset, geojsonOpts); var kml = toKML(geojson); - // TODO: add KMZ output - // var useKmz = opts.file && isKmzFile(opts.file); - var ofile = opts.file || getOutputFileBase(dataset) + '.kml'; + var useKmz = !!(opts.file && isKmzFile(opts.file)); + var ofile = opts.file || getOutputFileBase(dataset) + (useKmz ? '.kmz' : '.kml'); + var content = useKmz + ? zipSync([{ filename: 'doc.kml', content: kml }]) + : kml; return [{ - content: kml, + content: content, filename: ofile }]; -} \ No newline at end of file +} diff --git a/src/kml/kml-import.mjs b/src/kml/kml-import.mjs index 832a812df..20257f62a 100644 --- a/src/kml/kml-import.mjs +++ b/src/kml/kml-import.mjs @@ -1,4 +1,3 @@ - import { importGeoJSON } from '../geojson/geojson-import'; import require from '../mapshaper-require'; diff --git a/test/kml-test.mjs b/test/kml-test.mjs index c937ce852..1755f240d 100644 --- a/test/kml-test.mjs +++ b/test/kml-test.mjs @@ -21,4 +21,24 @@ describe('kml i/o', function () { assert(/^ Date: Fri, 24 Apr 2026 14:33:39 -0400 Subject: [PATCH 353/509] Separate -vars and -defaults stores from global expression object --- src/cli/mapshaper-command-parser.mjs | 2 +- src/cli/mapshaper-options.mjs | 4 +- src/cli/mapshaper-parse-commands.mjs | 5 +- src/cli/mapshaper-run-commands.mjs | 8 +- src/cli/mapshaper-vars-utils.mjs | 50 +++++++++--- src/commands/mapshaper-calc.mjs | 2 +- src/commands/mapshaper-vars.mjs | 20 +++-- src/expressions/mapshaper-feature-proxy.mjs | 4 +- src/gui/gui-console.mjs | 4 +- src/mapshaper-job.mjs | 2 + test/run-command-file-test.mjs | 87 ++++++++++++++++++++- test/vars-utils-test.mjs | 63 ++++++++++++++- 12 files changed, 218 insertions(+), 33 deletions(-) diff --git a/src/cli/mapshaper-command-parser.mjs b/src/cli/mapshaper-command-parser.mjs index 4b7112331..6734b2f7f 100644 --- a/src/cli/mapshaper-command-parser.mjs +++ b/src/cli/mapshaper-command-parser.mjs @@ -188,7 +188,7 @@ export function CommandParser() { if (!optDef) { // left-hand identifier is not a recognized option... // assignment to an unrecognized identifier could be an expression - // (e.g. -each 'id=$.id') -- handle this case below + // (e.g. -each 'id=this.id') -- handle this case below } else if (optDef.type == 'flag' || optDef.assign_to) { stop("-" + cmdDef.name + " " + parts[0] + " option doesn't take a value"); } else { diff --git a/src/cli/mapshaper-options.mjs b/src/cli/mapshaper-options.mjs index f5d325f3c..e8bbcd0c7 100644 --- a/src/cli/mapshaper-options.mjs +++ b/src/cli/mapshaper-options.mjs @@ -927,7 +927,7 @@ export function getOptionParser() { parser.command('each') .describe('create/update/delete data fields using a JS expression') .example('Add two calculated data fields to a layer of U.S. counties\n' + - '$ mapshaper counties.shp -each \'STATE_FIPS=CNTY_FIPS.substr(0, 2), AREA=$.area\'') + '$ mapshaper counties.shp -each \'STATE_FIPS=CNTY_FIPS.substr(0, 2), AREA=this.area\'') .option('expression', { DEFAULT: true, describe: 'JS expression to apply to each target feature' @@ -2256,7 +2256,7 @@ export function getOptionParser() { parser.command('calc') .describe('calculate statistics about the features in a layer') .example('Calculate the total area of a polygon layer\n' + - '$ mapshaper polygons.shp -calc \'sum($.area)\'') + '$ mapshaper polygons.shp -calc \'sum(this.area)\'') .example('Count census blocks in NY with zero population\n' + '$ mapshaper ny-census-blocks.shp -calc \'count()\' where=\'POPULATION == 0\'') .validate(V.validateExpressionOpt) diff --git a/src/cli/mapshaper-parse-commands.mjs b/src/cli/mapshaper-parse-commands.mjs index 0a3bca89e..acfdd6fe1 100644 --- a/src/cli/mapshaper-parse-commands.mjs +++ b/src/cli/mapshaper-parse-commands.mjs @@ -69,8 +69,9 @@ export function parseConsoleCommands(raw) { // "-i " (data file). // // "{{VAR}}" placeholders are substituted at execution time, against the -// live job.defs object. See mapshaper-vars-utils.mjs and the late-binding -// hook in mapshaper-run-commands.mjs. +// live job.vars object (with job.defs as a fallback for values written by +// -define / -calc / -include). See mapshaper-vars-utils.mjs and the +// late-binding hook in mapshaper-run-commands.mjs. // export function parseCommandFileContent(content) { if (typeof content != 'string') { diff --git a/src/cli/mapshaper-run-commands.mjs b/src/cli/mapshaper-run-commands.mjs index 7c0905da7..8a50ee0d5 100644 --- a/src/cli/mapshaper-run-commands.mjs +++ b/src/cli/mapshaper-run-commands.mjs @@ -262,8 +262,9 @@ export function runParsedCommands(commands, job, done) { } // Late-binding interpolation: just before each command runs, replace any -// {{X}} placeholders in its source tokens against the live job.defs object, -// then re-parse to get fresh option values. +// {{X}} placeholders in its source tokens against the live job.vars and +// job.defs objects (vars first, defs as fallback), then re-parse to get +// fresh option values. // // Returns either the original cmd (no placeholders, no _tokens, or the // command will be skipped) or a fresh cmd object with re-parsed options. @@ -278,11 +279,12 @@ function maybeInterpolateCommand(cmd, job) { // variables shouldn't error here. if (skipCommand(cmd.name, job)) return cmd; + var vars = job.vars || {}; var defs = job.defs || {}; var interpolated; try { interpolated = tokens.map(function(tok) { - return interpolateString(tok, defs); + return interpolateString(tok, vars, defs); }); } catch(e) { e.message = '[' + cmd.name + '] ' + e.message; diff --git a/src/cli/mapshaper-vars-utils.mjs b/src/cli/mapshaper-vars-utils.mjs index c515b7596..c8cdc432f 100644 --- a/src/cli/mapshaper-vars-utils.mjs +++ b/src/cli/mapshaper-vars-utils.mjs @@ -103,15 +103,22 @@ function lookupEnvVar(name) { } // Resolve a single placeholder expression to a string. Recognised forms: -// VAR -> defs[VAR] +// VAR -> vars[VAR] if present, else defs[VAR] // env.VAR -> process.env[VAR] // +// vars is the templating-scope object (-vars / -defaults writes). +// defs is the expression-scope object (-define / -calc / -include / +// -require / -colorizer writes). The fallback exists so that +// "-define base = 'out'" -> "-o {{base}}.geojson" and +// "-calc 'N = count()'" -> "-if '{{N}} > 100'" keep working without +// the user having to know which scope a value lives in. +// // Throws on undefined names, invalid syntax, or non-primitive values. // -function resolvePlaceholder(expr, defs) { +function resolvePlaceholder(expr, vars, defs) { expr = expr.trim(); var envMatch = /^env\.([A-Za-z_][A-Za-z0-9_]*)$/.exec(expr); - var val; + var val, source; if (envMatch) { val = lookupEnvVar(envMatch[1]); if (val === undefined || val === null) { @@ -122,10 +129,14 @@ function resolvePlaceholder(expr, defs) { if (!isValidVarName(expr)) { stop('Invalid variable reference: {{' + expr + '}}'); } - if (!defs || !(expr in defs)) { + if (vars && expr in vars) { + source = vars; + } else if (defs && expr in defs) { + source = defs; + } else { stop('Undefined variable: ' + expr); } - val = defs[expr]; + val = source[expr]; if (val === null || val === undefined) { stop('Undefined variable: ' + expr); } @@ -137,15 +148,32 @@ function resolvePlaceholder(expr, defs) { return String(val); } -// Substitute {{...}} placeholders in @str using @defs. Placeholders that -// are preceded by a backslash are left literal (with the backslash removed). -// Substitution is single-pass (no recursion) so that values containing -// "{{...}}" do not trigger further interpolation. +// Substitute {{...}} placeholders in @str. +// +// Two call signatures, kept for backward compatibility: +// interpolateString(str, vars, defs) -- preferred, two-store form +// interpolateString(str, defs) -- legacy, single-store form +// +// In the legacy form, the second argument is treated as the expression +// scope (defs); there is no template scope. New callers should use the +// two-store form. // -export function interpolateString(str, defs) { +// Placeholders preceded by a backslash are left literal (with the +// backslash removed). Substitution is single-pass (no recursion) so +// values containing "{{...}}" do not trigger further interpolation. +// +export function interpolateString(str, varsOrDefs, defsArg) { if (typeof str != 'string') return str; + var vars, defs; + if (arguments.length >= 3) { + vars = varsOrDefs; + defs = defsArg; + } else { + vars = null; + defs = varsOrDefs; + } return str.replace(PLACEHOLDER_RXP, function(match, escape, expr) { if (escape === '\\') return '{{' + expr + '}}'; - return resolvePlaceholder(expr, defs); + return resolvePlaceholder(expr, vars, defs); }); } diff --git a/src/commands/mapshaper-calc.mjs b/src/commands/mapshaper-calc.mjs index 1e055ea8d..dea6ebac9 100644 --- a/src/commands/mapshaper-calc.mjs +++ b/src/commands/mapshaper-calc.mjs @@ -24,7 +24,7 @@ cmd.calc = function(layers, arcs, opts) { // Calculate an expression across a group of features, print and return the result // Supported functions include sum(), average(), max(), min(), median(), count() // Functions receive an expression to be applied to each feature (like the -each command) -// Examples: 'sum($.area)' 'min(income)' +// Examples: 'sum(this.area)' 'min(income)' // opts.expression Expression to evaluate // opts.where Optional filter expression (see -filter command) // diff --git a/src/commands/mapshaper-vars.mjs b/src/commands/mapshaper-vars.mjs index 5e07904a5..6144e6027 100644 --- a/src/commands/mapshaper-vars.mjs +++ b/src/commands/mapshaper-vars.mjs @@ -6,23 +6,27 @@ import { parseVarsArgs } from '../cli/mapshaper-vars-utils'; // -vars file.json [more ...] load primitives from a flat JSON object // Mixed forms allowed; later args override earlier ones. // -// Writes into job.defs (the same object read by {{X}} interpolation, -// -define, -calc and -include). +// Writes into job.vars, the templating-scope object read by {{X}} +// interpolation. Values written here are NOT visible by bare name in JS +// expressions (-each, -filter, -define, etc.); use -define for that. +// {{X}} substitution falls back to job.defs if a name is missing from +// vars, so values set by -define / -calc / -include are still +// referenceable from {{X}}. cmd.vars = function(job, opts) { var values = (opts && opts.values) || []; if (!values.length) { stop('-vars requires one or more KEY=value or file.json arguments'); } var parsed = parseVarsArgs(values, opts && opts.input); - if (!job.defs) job.defs = {}; + if (!job.vars) job.vars = {}; Object.keys(parsed).forEach(function(key) { - job.defs[key] = parsed[key]; + job.vars[key] = parsed[key]; }); }; // -defaults KEY=value [KEY=value ...] set-if-unset // Same syntax as -vars, but a key is only assigned if it is not already -// present in job.defs. Lets a command file declare overridable defaults +// present in job.vars. Lets a command file declare overridable defaults // that a CLI -vars can pre-empt. cmd.defaults = function(job, opts) { var values = (opts && opts.values) || []; @@ -30,10 +34,10 @@ cmd.defaults = function(job, opts) { stop('-defaults requires one or more KEY=value or file.json arguments'); } var parsed = parseVarsArgs(values, opts && opts.input); - if (!job.defs) job.defs = {}; + if (!job.vars) job.vars = {}; Object.keys(parsed).forEach(function(key) { - if (!(key in job.defs)) { - job.defs[key] = parsed[key]; + if (!(key in job.vars)) { + job.vars[key] = parsed[key]; } }); }; diff --git a/src/expressions/mapshaper-feature-proxy.mjs b/src/expressions/mapshaper-feature-proxy.mjs index 605f8819d..4f44289cd 100644 --- a/src/expressions/mapshaper-feature-proxy.mjs +++ b/src/expressions/mapshaper-feature-proxy.mjs @@ -66,7 +66,7 @@ export function initFeatureProxy(lyr, arcs, optsArg) { if (utils.isObject(obj)) { _records[_id] = obj; } else { - stop("Can't assign non-object to $.properties"); + stop("Can't assign non-object to this.properties"); } }, get: function() { var rec = _records[_id]; @@ -199,7 +199,7 @@ export function initFeatureProxy(lyr, arcs, optsArg) { if (!obj || utils.isArray(obj)) { lyr.shapes[_id] = obj || null; } else { - stop("Can't assign non-array to $.coordinates"); + stop("Can't assign non-array to this.coordinates"); } }, get: function() { return lyr.shapes[_id] || null; diff --git a/src/gui/gui-console.mjs b/src/gui/gui-console.mjs index 977f8c77e..97f47efb8 100644 --- a/src/gui/gui-console.mjs +++ b/src/gui/gui-console.mjs @@ -24,7 +24,8 @@ export function Console(gui) { var historyId = 0; var _isOpen = false; var btn = gui.container.findChild('.console-btn').on('click', toggle); - var globals = {}; // share user-defined globals between runs + var globals = {}; // share user-defined globals (job.defs) between runs + var sharedVars = {}; // share -vars / -defaults templating scope between runs // expose this function, so other components can run commands (e.g. box tool) this.runMapshaperCommands = runMapshaperCommands; @@ -428,6 +429,7 @@ export function Console(gui) { job = new internal.Job(model); job.defs = globals; // share globals between runs + job.vars = sharedVars; // share templating scope between runs internal.runParsedCommands(commands, job, function(err) { var flags = getCommandFlags(commands), active2 = model.getActiveLayer(), diff --git a/src/mapshaper-job.mjs b/src/mapshaper-job.mjs index 144a6ce06..4a6bd4029 100644 --- a/src/mapshaper-job.mjs +++ b/src/mapshaper-job.mjs @@ -7,6 +7,7 @@ export function Job(catalog) { var job = { catalog: catalog || new Catalog(), defs: {}, + vars: {}, settings: {}, input_files: [] }; @@ -42,5 +43,6 @@ function stashVars(job, cmd) { stashVar('VERBOSE', job.settings.VERBOSE || cmd.verbose); stashVar('QUIET', job.settings.QUIET || cmd.quiet); stashVar('defs', job.defs); + stashVar('vars', job.vars); stashVar('input_files', job.input_files); } diff --git a/test/run-command-file-test.mjs b/test/run-command-file-test.mjs index 8749bd0ef..eed821dac 100644 --- a/test/run-command-file-test.mjs +++ b/test/run-command-file-test.mjs @@ -377,7 +377,7 @@ describe('mapshaper-run-command-file.js', function() { assert.equal(out['out.csv'], 'a,b\n2,y\n3,z'); }); - it('-defaults is a no-op when defs.X is already set', async function() { + it('-defaults is a no-op when vars.X is already set', async function() { var input = { 'data.csv': 'a,b\n1,2\n' }; var out = await api.applyCommands( '-vars X=keep -defaults X=overwrite -i data.csv -o {{X}}.csv', @@ -431,4 +431,89 @@ describe('mapshaper-run-command-file.js', function() { }); + describe('vars / defs scope split', function() { + + it('-vars values are NOT visible by bare name in JS expressions', async function() { + // -vars writes to job.vars (templating scope). -each reads from + // job.defs only. A bare reference to X in -each that isn't a data + // field is a ReferenceError, which is the desired loud failure -- + // before the split, `X` would have silently coerced to the string + // "fromvars" and produced wrong arithmetic / equality results. + var input = { 'data.csv': 'a,b\n1,x\n' }; + var err; + try { + await api.applyCommands( + "-vars X=fromvars -i data.csv -each 'd.got = X' -o out.csv", + input); + } catch(e) { err = e; } + assert.ok(err); + assert.ok(/X is not defined/.test(err.message), + 'expected ReferenceError on bare -vars name; got: ' + (err && err.message)); + }); + + it('-define values ARE visible by bare name in -each expressions', async function() { + // -define writes to job.defs (expression scope). Bare X in -each + // resolves to it. + var input = { 'data.csv': 'a,b\n1,x\n' }; + var out = await api.applyCommands( + "-i data.csv -define 'X = \"fromdef\"' -each 'd.got = X' -o out.csv", + input); + assert.equal(out['out.csv'], 'a,b,got\n1,x,fromdef'); + }); + + it('{{X}} reads from vars when the name is in vars', async function() { + var input = { 'data.csv': 'a,b\n1,2\n' }; + var out = await api.applyCommands( + '-vars NAME=fromvars -i data.csv -o {{NAME}}.csv', + input); + assert.ok(out['fromvars.csv']); + }); + + it('{{X}} falls back to defs when the name is missing from vars', async function() { + // The bridge rule: -define puts the value in defs; {{X}} sees it + // because vars has no X and defs is the fallback. + var input = { 'data.csv': 'a,b\n1,2\n' }; + var out = await api.applyCommands( + "-i data.csv -define 'NAME = \"fromdef\"' -o {{NAME}}.csv", + input); + assert.ok(out['fromdef.csv']); + }); + + it('-vars and -define can coexist with the same name', async function() { + // No clobbering: vars.X and defs.X are independent. {{X}} sees the + // vars value (vars-first rule); the expression sees the defs value. + var input = { 'data.csv': 'a,b\n1,2\n' }; + var out = await api.applyCommands( + "-vars X=fromvars -i data.csv -define 'X = \"fromdef\"' " + + "-each 'd.got = X' -o {{X}}.csv", + input); + // Filename comes from vars (vars-first in interpolation) + assert.ok(out['fromvars.csv']); + // Field value comes from defs (expression scope) + assert.equal(out['fromvars.csv'], 'a,b,got\n1,2,fromdef'); + }); + + it('-defaults checks the vars scope, not defs', async function() { + // -define earlier writes X to defs only. -defaults X=... should + // still apply because vars.X is unset; it writes to vars. + var input = { 'data.csv': 'a,b\n1,2\n' }; + var out = await api.applyCommands( + "-i data.csv -define 'X = \"fromdef\"' " + + "-defaults X=fromdefaults -o {{X}}.csv", + input); + // Defaults won (vars.X was unset). {{X}} hits vars first. + assert.ok(out['fromdefaults.csv']); + }); + + it('-calc result in defs is reachable via {{X}} (fallback)', async function() { + // Regression: -calc 'N = count()' must keep flowing into {{N}}. + var input = { 'data.csv': 'a\n1\n2\n3\n' }; + var out = await api.applyCommands( + "-i data.csv -calc 'N = count()' -o count_{{N}}.csv", + input); + assert.ok(out['count_3.csv']); + }); + + }); + }); diff --git a/test/vars-utils-test.mjs b/test/vars-utils-test.mjs index cdd300338..2e7b8a285 100644 --- a/test/vars-utils-test.mjs +++ b/test/vars-utils-test.mjs @@ -84,7 +84,10 @@ describe('mapshaper-vars-utils.js', function () { }) }) - describe('interpolateString()', function () { + describe('interpolateString() -- legacy single-store form', function () { + // The two-argument form treats its second argument as the expression + // scope (defs). New callers should use the three-argument form. + it('substitutes a single variable', function () { assert.equal(interpolateString('a {{X}} b', {X: '1'}), 'a 1 b'); }) @@ -165,4 +168,62 @@ describe('mapshaper-vars-utils.js', function () { }, /not a primitive/); }) }) + + describe('interpolateString() -- two-store form', function () { + // The three-argument form takes (str, vars, defs). vars is the + // templating scope (-vars / -defaults) and is checked first; defs + // is the expression scope (-define / -calc / -include / ...) and + // acts as a fallback so values set by those commands are still + // referenceable from {{X}}. + + it('reads from vars when the name is in vars', function () { + assert.equal( + interpolateString('{{X}}', {X: 'from-vars'}, {X: 'from-defs'}), + 'from-vars'); + }) + + it('falls back to defs when the name is missing from vars', function () { + assert.equal( + interpolateString('{{Y}}', {X: 'a'}, {Y: 'from-defs'}), + 'from-defs'); + }) + + it('vars=null falls back to defs only', function () { + assert.equal( + interpolateString('{{X}}', null, {X: 'from-defs'}), + 'from-defs'); + }) + + it('errors if the name is in neither store', function () { + assert.throws(function () { + interpolateString('{{MISSING}}', {X: 'a'}, {Y: 'b'}); + }, /Undefined variable: MISSING/); + }) + + it('null/undefined in vars errors rather than falling back', function () { + // An explicit null in vars (only reachable via -vars file.json) is + // treated as "set to null" and errors on read. We don't fall through + // to defs in this case because the user said they wanted null. + assert.throws(function () { + interpolateString('{{X}}', {X: null}, {X: 'from-defs'}); + }, /Undefined variable: X/); + }) + + it('non-primitive in vars rejected even with defs fallback present', function () { + // vars is hit first; the non-primitive check applies to the + // resolved store, so this errors rather than silently falling + // through. (vars values come from -vars/-defaults which already + // validate primitive-only at write time, so this case shouldn't + // arise in practice -- the test just pins the behavior.) + assert.throws(function () { + interpolateString('{{X}}', {X: {a: 1}}, {X: 'safe'}); + }, /not a primitive/); + }) + + it('non-primitive in defs (no vars hit) is rejected', function () { + assert.throws(function () { + interpolateString('{{X}}', {}, {X: function () {}}); + }, /not a primitive/); + }) + }) }) From 19eb1636458ee62e2f34a896e2d435c7de9d6fde Mon Sep 17 00:00:00 2001 From: Matthew Bloch Date: Fri, 24 Apr 2026 14:47:54 -0400 Subject: [PATCH 354/509] Add docs pages --- build-docs.mjs | 774 +++++++ docs/_assets/cmd-search.js | 213 ++ docs/_assets/docs.css | 712 +++++++ docs/_assets/docs.js | 75 + docs/_layout.html | 58 + docs/_llms.md | 10 + docs/_nav.json | 57 + docs/essentials/command-line.md | 112 + docs/essentials/web-app.md | 106 + docs/examples/basics.md | 371 ++++ docs/examples/data/Makefile | 31 + docs/examples/data/globe.txt | 21 + .../data/ne_50m_admin_0_countries.geojson | 1 + ...50m_admin_1_states_provinces_lakes.geojson | 1 + docs/examples/data/us-states.txt | 6 + docs/examples/globe.md | 40 + docs/examples/us-states.md | 35 + docs/formats/csv.md | 97 + docs/formats/dbf.md | 39 + docs/formats/flatgeobuf.md | 42 + docs/formats/geojson.md | 65 + docs/formats/geopackage.md | 42 + docs/formats/json.md | 35 + docs/formats/kml.md | 39 + docs/formats/overview.md | 35 + docs/formats/shapefile.md | 84 + docs/formats/snapshot.md | 39 + docs/formats/svg.md | 51 + docs/formats/topojson.md | 54 + docs/gallery/index.md | 10 + docs/guides/combining-layers.md | 81 + docs/guides/expressions.md | 376 ++++ docs/guides/programmatic.md | 91 + docs/guides/projections.md | 118 ++ docs/guides/simplification.md | 94 + docs/guides/topology.md | 63 + docs/images/simplification-detail.png | Bin 0 -> 22873 bytes docs/images/simplification-dp.png | Bin 0 -> 79345 bytes docs/images/simplification-mod2.png | Bin 0 -> 68377 bytes docs/index.md | 42 + docs/reference.md | 1817 +++++++++++++++++ docs/whats-new.md | 53 + www/assets/jetbrains-mono-regular.woff2 | Bin 0 -> 21212 bytes www/assets/static-page.css | 179 ++ www/index.html | 33 +- www/page.css | 2 +- www/privacy.html | 113 +- www/sponsor.html | 168 +- www/terms.html | 113 +- 49 files changed, 6206 insertions(+), 392 deletions(-) create mode 100644 build-docs.mjs create mode 100644 docs/_assets/cmd-search.js create mode 100644 docs/_assets/docs.css create mode 100644 docs/_assets/docs.js create mode 100644 docs/_layout.html create mode 100644 docs/_llms.md create mode 100644 docs/_nav.json create mode 100644 docs/essentials/command-line.md create mode 100644 docs/essentials/web-app.md create mode 100644 docs/examples/basics.md create mode 100644 docs/examples/data/Makefile create mode 100644 docs/examples/data/globe.txt create mode 100644 docs/examples/data/ne_50m_admin_0_countries.geojson create mode 100644 docs/examples/data/ne_50m_admin_1_states_provinces_lakes.geojson create mode 100644 docs/examples/data/us-states.txt create mode 100644 docs/examples/globe.md create mode 100644 docs/examples/us-states.md create mode 100644 docs/formats/csv.md create mode 100644 docs/formats/dbf.md create mode 100644 docs/formats/flatgeobuf.md create mode 100644 docs/formats/geojson.md create mode 100644 docs/formats/geopackage.md create mode 100644 docs/formats/json.md create mode 100644 docs/formats/kml.md create mode 100644 docs/formats/overview.md create mode 100644 docs/formats/shapefile.md create mode 100644 docs/formats/snapshot.md create mode 100644 docs/formats/svg.md create mode 100644 docs/formats/topojson.md create mode 100644 docs/gallery/index.md create mode 100644 docs/guides/combining-layers.md create mode 100644 docs/guides/expressions.md create mode 100644 docs/guides/programmatic.md create mode 100644 docs/guides/projections.md create mode 100644 docs/guides/simplification.md create mode 100644 docs/guides/topology.md create mode 100644 docs/images/simplification-detail.png create mode 100644 docs/images/simplification-dp.png create mode 100644 docs/images/simplification-mod2.png create mode 100644 docs/index.md create mode 100644 docs/reference.md create mode 100644 docs/whats-new.md create mode 100644 www/assets/jetbrains-mono-regular.woff2 create mode 100644 www/assets/static-page.css diff --git a/build-docs.mjs b/build-docs.mjs new file mode 100644 index 000000000..3486149b5 --- /dev/null +++ b/build-docs.mjs @@ -0,0 +1,774 @@ +#!/usr/bin/env node +// Build the mapshaper docs site. +// +// - Reads markdown sources from docs/ +// - Reads navigation from docs/_nav.json +// - Wraps rendered content in docs/_layout.html +// - Copies docs/_assets/ verbatim +// - Writes the resulting static site to www/docs/ +// +// Run with: npm run docs + +import { Marked } from 'marked'; +import hljs from 'highlight.js'; +import fs from 'node:fs'; +import path from 'node:path'; +import { fileURLToPath } from 'node:url'; + +const HERE = path.dirname(fileURLToPath(import.meta.url)); +const SRC_DIR = path.join(HERE, 'docs'); +const WWW_DIR = path.join(HERE, 'www'); +const OUT_DIR = path.join(WWW_DIR, 'docs'); +const LAYOUT_PATH = path.join(SRC_DIR, '_layout.html'); +const NAV_PATH = path.join(SRC_DIR, '_nav.json'); +const ASSETS_DIR = path.join(SRC_DIR, '_assets'); +const LLMS_INTRO_PATH = path.join(SRC_DIR, '_llms.md'); + +// Public origin used to build absolute URLs in llms.txt and the .html.md +// mirror pages. Both files are designed to be machine-consumable, so links +// must work even when the file has been fetched and re-hosted elsewhere. +const SITE_URL = 'https://mapshaper.org'; + +// --- helpers ---------------------------------------------------------- + +function readFile(p) { return fs.readFileSync(p, 'utf8'); } + +function ensureDir(p) { fs.mkdirSync(p, { recursive: true }); } + +function copyDir(src, dest) { + if (!fs.existsSync(src)) return; + ensureDir(dest); + for (const entry of fs.readdirSync(src, { withFileTypes: true })) { + const s = path.join(src, entry.name); + const d = path.join(dest, entry.name); + if (entry.isDirectory()) copyDir(s, d); + else if (entry.isFile()) fs.copyFileSync(s, d); + } +} + +// Slugify heading text into an anchor id. Designed to preserve leading +// hyphens so commands like "-i (input)" become id "-i-input", matching +// the anchor scheme used by the existing wiki Command Reference. +function slugify(text) { + return text.toLowerCase() + .replace(/[()`'".,:;!?*]/g, '') + .replace(/[^a-z0-9_\-\s]/g, ' ') + .trim() + .replace(/\s+/g, '-'); +} + +// Recursively extract plain text from marked inline tokens. +function tokensToText(tokens = []) { + return tokens.map(t => { + if (typeof t.text === 'string' && !t.tokens) return t.text; + if (t.tokens) return tokensToText(t.tokens); + return ''; + }).join(''); +} + +// Parse simple --- yaml-ish frontmatter at the top of a markdown file. +// Recognises `key: value` pairs only (no nested structures). +function parseFrontmatter(src) { + const m = src.match(/^---\n([\s\S]*?)\n---\n?/); + if (!m) return { meta: {}, body: src }; + const meta = {}; + for (const line of m[1].split('\n')) { + const kv = line.match(/^(\w[\w-]*):\s*(.*)$/); + if (kv) meta[kv[1]] = kv[2].trim(); + } + return { meta, body: src.slice(m[0].length) }; +} + +// --- nav -------------------------------------------------------------- + +const nav = JSON.parse(readFile(NAV_PATH)); + +// Build a flat list of pages, with their output URL and source path. Top +// links and sidebar entries can be either a "page" (defined by `file:` and +// turned into a generated HTML page) or a "link" (defined by `url:` and +// pointing at a URL elsewhere -- typically a page generated by a different +// nav entry). +function expandPages() { + const pages = []; + for (const link of nav.topLinks || []) { + if (!link.file) continue; + pages.push({ + kind: 'top', + label: link.label, + file: link.file, + sourcePath: path.join(SRC_DIR, link.source || link.file), + outRel: link.file.replace(/\.md$/, '.html'), + url: '/docs/' + link.file.replace(/\.md$/, '.html').replace(/\/index\.html$/, '/'), + sectionLabel: null, + transform: link.transform || null, + }); + } + // Special-case the home page URL as /docs/ + for (const p of pages) { + if (p.outRel === 'index.html') p.url = '/docs/'; + } + for (const section of nav.sections || []) { + for (const page of section.pages) { + if (!page.file) continue; + const rel = path.join(section.path, page.file); + pages.push({ + kind: 'section', + label: page.label, + file: page.file, + sectionLabel: section.label, + sectionPath: section.path, + sourcePath: page.source + ? path.resolve(SRC_DIR, section.path, page.source) + : path.join(SRC_DIR, rel), + outRel: rel.replace(/\.md$/, '.html'), + url: '/docs/' + rel.replace(/\.md$/, '.html').replace(/\/index\.html$/, '/'), + transform: page.transform || null, + }); + } + } + return pages; +} + +const allPages = expandPages(); + +function renderNavHtml(currentUrl) { + const out = [''); + return out.join(''); +} + +function renderBreadcrumbs(page) { + if (page.kind !== 'section') return ''; + // The section name is rendered as plain text rather than a link, because + // there is no longer a landing page at /docs/
/ -- each section's + // first nav entry is a regular content page (e.g. command-line.md, basics.md, + // overview.md). + return `
Docs › ` + + `${escapeHtml(page.sectionLabel)} › ` + + `${escapeHtml(page.label)}
`; +} + +function escapeHtml(s) { + return String(s).replace(/[&<>"']/g, c => ({ + '&': '&', '<': '<', '>': '>', '"': '"', "'": ''' + }[c])); +} + +// --- example pre-processor ------------------------------------------- + +// HTML-comment placeholders that the docs build resolves at render time. +// +// Per-example placeholders (resolved from the page's own frontmatter, with +// asset files looked up in a sibling `data/` directory of the page source): +// +// replaced with an built from `image:` +// replaced with a fenced bash block from `recipe:` +// replaced with a list of download links built +// from `snapshot:` and `download:`, including a +// one-click "Open in web app" link when a +// snapshot is available. +// +// Cross-page placeholders (resolved by walking the nav, no frontmatter +// dependency): +// +// tile grid of every page in the +// Examples section that declares +// `image:` in its frontmatter, in +// nav order. +// compact strip of the first N +// examples (defaults to 2). Same +// tile markup but wrapped in +// `.featured-maps` and with the +// description suppressed, for use +// on the home page. +// +// References to missing files throw, since a typo here would otherwise +// silently produce a broken page. +function preprocessExample(body, meta, page) { + body = body.replace(//g, + () => renderExampleTiles({ variant: 'gallery' })); + body = body.replace(//g, + (_, n) => renderExampleTiles({ + variant: 'featured', + limit: n ? parseInt(n, 10) : 2 + })); + if (!meta.recipe && !meta.image && !meta.snapshot && !meta.download) { + return body; + } + const pageDir = path.dirname(page.sourcePath); + const dataDir = path.join(pageDir, 'data'); + const dataUrlBase = path.posix.join('/docs', + path.dirname(page.outRel).split(path.sep).join('/'), 'data'); + + function requireFile(kind, name) { + const p = path.join(dataDir, name); + if (!fs.existsSync(p)) { + throw new Error( + `${page.sourcePath}: ${kind} file "${name}" not found at ${p}`); + } + return p; + } + + body = body.replace(//g, () => { + if (!meta.image) return ''; + requireFile('image', meta.image); + const alt = (meta.title || page.label || meta.image).replace(/[\[\]]/g, ''); + const url = path.posix.join(dataUrlBase, meta.image); + return `![${alt}](${url})`; + }); + + body = body.replace(//g, () => { + if (!meta.recipe) return ''; + const recipePath = requireFile('recipe', meta.recipe); + const code = fs.readFileSync(recipePath, 'utf8').replace(/\s+$/, ''); + return '```bash\n' + code + '\n```'; + }); + + body = body.replace(//g, () => { + const lines = []; + if (meta.snapshot) { + requireFile('snapshot', meta.snapshot); + const snapUrl = path.posix.join(dataUrlBase, meta.snapshot); + const absSnapUrl = SITE_URL + snapUrl; + // `&q` skips the import dialog so the map appears immediately. + // CLI .msx exports already pin every targeted layer visible, so no + // `&display-all` flag is needed for finished gallery snapshots. + // The link is rewritten at page load by `_assets/docs.js` to point at + // the current origin, so it also works when the docs are previewed + // locally via `mapshaper-gui` (which serves `www/` on `localhost:NNNN`). + const openUrl = `${SITE_URL}/?files=${encodeURIComponent(absSnapUrl)}&q`; + lines.push(`- Open in the web app — loads a snapshot file containing the finished map`); + lines.push(`- [Download snapshot (\`${meta.snapshot}\`)](${snapUrl})`); + } + if (meta.download) { + requireFile('download', meta.download); + const dlUrl = path.posix.join(dataUrlBase, meta.download); + lines.push(`- [Download source data (\`${meta.download}\`)](${dlUrl})`); + } + return lines.join('\n'); + }); + + return body; +} + +// Walk the Examples section in nav order and collect a tile descriptor for +// every page that declares an `image:` in its frontmatter. Cached so we +// don't re-read every example's source for each render pass. +let exampleTilesCache = null; +function getExampleTiles() { + if (exampleTilesCache) return exampleTilesCache; + const examplesSection = (nav.sections || []).find(s => s.path === 'examples'); + if (!examplesSection) { + exampleTilesCache = []; + return exampleTilesCache; + } + const tiles = []; + for (const navEntry of examplesSection.pages) { + if (!navEntry.file) continue; + const page = allPages.find(p => + p.kind === 'section' && + p.sectionPath === examplesSection.path && + p.file === navEntry.file); + if (!page) continue; + const src = readFile(page.sourcePath); + const { meta, body } = parseFrontmatter(src); + if (!meta.image) continue; + const dataUrlBase = path.posix.join('/docs', + path.dirname(page.outRel).split(path.sep).join('/'), 'data'); + // Prefer the page's H1 over the frontmatter `title:`, since H1s tend to + // be polished display prose ("Globe locator map") while `title:` is + // often terse for nav/browser-tab use ("Globe"). + const h1Match = body.match(/^#\s+(.+?)\s*$/m); + const title = (h1Match && h1Match[1].trim()) + || meta.title || navEntry.label || page.label; + tiles.push({ + url: page.url, + imageUrl: path.posix.join(dataUrlBase, meta.image), + title: title, + description: meta.description || '' + }); + } + exampleTilesCache = tiles; + return exampleTilesCache; +} + +// Render a strip/grid of example tiles. Two variants: +// +// variant: 'gallery' full tile grid (used by docs/gallery/index.md); +// shows image, title and description. +// variant: 'featured' compact home-page strip; shows image and title only. +// `limit` (default 2) bounds the number of tiles. +function renderExampleTiles({ variant = 'gallery', limit = null } = {}) { + let tiles = getExampleTiles(); + if (limit != null && limit >= 0) tiles = tiles.slice(0, limit); + if (!tiles.length) return ''; + const showDesc = variant === 'gallery'; + const wrapperClass = variant === 'featured' ? 'featured-maps' : 'gallery-grid'; + const html = tiles.map(tile => { + const alt = tile.title.replace(/[\[\]]/g, ''); + const descHtml = showDesc && tile.description + ? `\n ` + : ''; + return ( + ` \n` + + ` \n` + + ` \n` + + ` `); + }).join('\n'); + return `
\n${html}\n
`; +} + +// --- markdown rendering ---------------------------------------------- + +function renderPage(page) { + const src = readFile(page.sourcePath); + const { meta, body: rawBody } = parseFrontmatter(src); + const body = preprocessExample(rawBody, meta, page); + + const headings = []; // collected for the on-page TOC + const seenIds = new Set(); + function uniqueId(base) { + let id = base || 'section'; + let n = 2; + while (seenIds.has(id)) id = `${base}-${n++}`; + seenIds.add(id); + return id; + } + + const md = new Marked({ + gfm: true, + breaks: false, + renderer: { + heading({ tokens, depth }) { + const text = this.parser.parseInline(tokens); + const plain = tokensToText(tokens); + const id = uniqueId(slugify(plain)); + if (depth === 2 || depth === 3) { + headings.push({ depth, id, text: plain }); + } + return `${text}\n`; + }, + code({ text, lang }) { + return renderCodeBlock(text, lang); + } + } + }); + + let contentHtml = md.parse(body); + if (page.transform === 'command-reference') { + contentHtml = applyCommandReferenceTransform(contentHtml); + } + const tocHtml = renderToc(headings); + + // Determine title: frontmatter > first H1 in source > page label + let title = meta.title; + if (!title) { + const m = body.match(/^#\s+(.+)$/m); + if (m) title = m[1].trim(); + } + if (!title) title = page.label; + + const description = meta.description || ''; + const bodyClasses = []; + if (page.outRel === 'index.html') bodyClasses.push('is-home'); + // Apply the `is-example-map` class to individual map pages in the Examples + // section -- everything except the "Basics" recipes page, which is a + // collection of short snippets that don't benefit from copy buttons. + if (page.kind === 'section' && page.sectionPath === 'examples' + && page.file !== 'basics.md') { + bodyClasses.push('is-example-map'); + } + const bodyClass = bodyClasses.join(' '); + + // Build edit-on-github path. For pages whose content lives outside docs/ + // (e.g. the command reference is sourced from REFERENCE.md), point at + // that real file so PRs go to the right place. + let editPath; + if (page.sourcePath.startsWith(SRC_DIR + path.sep)) { + editPath = 'docs/' + path.relative(SRC_DIR, page.sourcePath).split(path.sep).join('/'); + } else { + editPath = path.relative(HERE, page.sourcePath).split(path.sep).join('/'); + } + + const layout = readFile(LAYOUT_PATH); + const html = layout + .replace(/\{\{TITLE\}\}/g, escapeHtml(title)) + .replace(/\{\{DESCRIPTION\}\}/g, escapeHtml(description)) + .replace(/\{\{BODY_CLASS\}\}/g, bodyClass) + .replace(/\{\{NAV_HTML\}\}/g, renderNavHtml(page.url)) + .replace(/\{\{TOC_HTML\}\}/g, tocHtml) + .replace(/\{\{BREADCRUMBS_HTML\}\}/g, renderBreadcrumbs(page)) + .replace(/\{\{CONTENT\}\}/g, contentHtml) + .replace(/\{\{EDIT_PATH\}\}/g, editPath); + + return html; +} + +// --- code blocks ----------------------------------------------------- + +// Render a fenced code block. If a language was specified and highlight.js +// recognises it, server-side highlighting is applied; otherwise the content +// is HTML-escaped and emitted verbatim. +function renderCodeBlock(text, lang) { + const language = (lang || '').toLowerCase(); + if (language && hljs.getLanguage(language)) { + const highlighted = hljs.highlight(text, { language, ignoreIllegals: true }).value; + return `
${highlighted}\n
\n`; + } + const cls = language ? ` class="language-${escapeHtml(language)}"` : ''; + return `
${escapeHtml(text)}\n
\n`; +} + +// --- per-page transforms --------------------------------------------- + +// Command reference: wrap every command (h3 with id starting with `-`) and +// the content that follows it (up to the next h2/h3) in a
element +// tagged with the command name and a list of its option names. This lets +// cmd-search.js filter the page client-side. +// +// Also injects a sticky search box at the top of the article and pulls in +// the search script. +function applyCommandReferenceTransform(html) { + const cmdRe = /

([\s\S]*?)<\/h3>([\s\S]*?)(?=]|$)/g; + let transformed = html.replace(cmdRe, (full, id, headingInner, body) => { + const name = stripTags(headingInner).trim(); + const options = extractOptionNames(body); + const attrs = [ + `class="cmd-section"`, + `data-id="${escapeAttr(id)}"`, + `data-name="${escapeAttr(name.toLowerCase())}"`, + `data-options="${escapeAttr(options.join(' '))}"`, + ].join(' '); + return `

${headingInner}

${body}
\n`; + }); + + // Tag h2s that immediately introduce one or more commands as "categories", + // so the filter script can hide them when none of their commands match. + const h2Re = /

([\s\S]*?)<\/h2>([\s\S]*?)(?=]|$)/g; + transformed = transformed.replace(h2Re, (full, id, headingInner, body) => { + if (!/
${headingInner}

${body}`; + }); + + const searchBox = + '
' + + '' + + '' + + '
'; + + // Inject the search box right after the H1 (which is the first

tag). + const withSearch = transformed.replace( + /(]*>[\s\S]*?<\/h1>\s*(?:]*>[\s\S]*?<\/p>\s*)?)/, + `$1${searchBox}` + ); + + return withSearch + + '\n\n'; +} + +function stripTags(html) { + return html.replace(/<[^>]+>/g, ''); +} + +function escapeAttr(s) { + return String(s).replace(/[&<>"']/g, c => ({ + '&': '&', '<': '<', '>': '>', '"': '"', "'": ''' + }[c])); +} + +// Extract option-looking tokens from a command's rendered HTML body. Catches +// the common forms used in REFERENCE.md: +// `option=` description +// `option` (a flag) +// `` or `option=` description +// Limited to lowercase-leading identifiers so prose mentions of CamelCase +// or arbitrary code aren't picked up. +function extractOptionNames(bodyHtml) { + const names = new Set(); + const re = /([a-z][\w-]*)=?<\/code>/g; + let m; + while ((m = re.exec(bodyHtml))) { + const tok = m[1].toLowerCase(); + if (tok.length > 1 || tok === 'i' || tok === 'o') names.add(tok); + } + return Array.from(names); +} + +function renderToc(headings) { + if (!headings.length) return ''; + const out = ['
On this page
'); + return out.join(''); +} + +// --- llms.txt + markdown mirrors ------------------------------------- + +// Rewrite intra-docs links so they point at the markdown mirror instead of +// the human-facing HTML page. Two patterns are handled: +// /docs/path/foo.html(#anchor)? -> /docs/path/foo.html.md(#anchor)? +// /docs/path/ -> /docs/path/index.html.md +// External URLs and non-/docs paths are left alone. +function rewriteLinksToMd(markdown) { + let out = markdown; + // /docs/foo/bar.html(#anchor)? -> /docs/foo/bar.html.md(#anchor)? + out = out.replace( + /(\]\()(\/docs\/[^)\s#]+?)\.html(#[^)]*)?(\))/g, + (_, open, base, hash, close) => `${open}${base}.html.md${hash || ''}${close}` + ); + // /docs/(foo/)?(#anchor)? -> /docs/(foo/)?index.html.md(#anchor)? + out = out.replace( + /(\]\()(\/docs\/(?:[^)\s#]*\/)?)(#[^)]*)?(\))/g, + (_, open, dir, hash, close) => `${open}${dir}index.html.md${hash || ''}${close}` + ); + // Absolute mapshaper.org docs URLs (used in REFERENCE.md so it remains + // viewable on GitHub) get the same treatment so the markdown mirrors stay + // self-contained. + out = out.replace( + /(\]\()(https:\/\/mapshaper\.org\/docs\/[^)\s#]+?)\.html(#[^)]*)?(\))/g, + (_, open, base, hash, close) => `${open}${base}.html.md${hash || ''}${close}` + ); + out = out.replace( + /(\]\()(https:\/\/mapshaper\.org\/docs\/(?:[^)\s#]*\/)?)(#[^)]*)?(\))/g, + (_, open, dir, hash, close) => `${open}${dir}index.html.md${hash || ''}${close}` + ); + return out; +} + +// Resolve a one-line description for a page, preferring frontmatter, then +// any per-page override defined in _nav.json. +function pageDescription(page, navEntry) { + const { meta } = parseFrontmatter(readFile(page.sourcePath)); + if (meta.description) return meta.description; + if (navEntry && navEntry.description) return navEntry.description; + return ''; +} + +// URL of a page's markdown mirror (always an absolute https URL). +function mdMirrorUrl(page) { + return `${SITE_URL}/docs/${page.outRel}.md`; +} + +// Walk every page and write a copy of its source markdown alongside the HTML +// output, with intra-docs links rewritten to point at other mirrors. The +// command reference is emitted unchanged (its
wrapping is purely +// an HTML concern). +function emitMarkdownMirrors() { + let count = 0; + for (const page of allPages) { + const src = readFile(page.sourcePath); + const { meta, body } = parseFrontmatter(src); + const processedBody = preprocessExample(body, meta, page); + // Re-emit the original frontmatter block verbatim (preserving its + // formatting), then the resolved body. + const fmMatch = src.match(/^---\n[\s\S]*?\n---\n?/); + const frontmatter = fmMatch ? fmMatch[0] : ''; + const rewritten = frontmatter + rewriteLinksToMd(processedBody); + const outPath = path.join(OUT_DIR, page.outRel + '.md'); + ensureDir(path.dirname(outPath)); + fs.writeFileSync(outPath, rewritten); + count++; + } + return count; +} + +// Write llms.txt at the *site* root (www/llms.txt), following the +// convention at https://llmstxt.org/ that agents check the apex domain. +// Section overview pages and the top-level Home / What's new pages are +// grouped under "Optional" so a context-constrained agent can drop them +// first. +function emitLlmsTxt() { + const intro = fs.existsSync(LLMS_INTRO_PATH) + ? readFile(LLMS_INTRO_PATH).trim() + : '# Mapshaper\n\n> Geographic data editor.'; + const lines = [intro, '']; + + // A section page is treated as an overview (and goes under "Optional") only + // when it's labelled "Overview" and the section has other pages. Any other + // label means the page is substantive content and belongs in the main + // listing under its own name. + function isOverviewEntry(navEntry, section) { + if (!navEntry.file) return false; + if ((navEntry.label || '').trim().toLowerCase() !== 'overview') return false; + const others = section.pages.filter(p => p.file && p !== navEntry); + return others.length > 0; + } + + for (const section of nav.sections || []) { + const entries = []; + for (const navEntry of section.pages) { + if (!navEntry.file) continue; + if (isOverviewEntry(navEntry, section)) continue; + const page = allPages.find(p => + p.kind === 'section' && p.sectionPath === section.path && p.file === navEntry.file); + if (!page) continue; + const desc = pageDescription(page, navEntry); + const tail = desc ? `: ${desc}` : ''; + entries.push(`- [${navEntry.label}](${mdMirrorUrl(page)})${tail}`); + } + if (!entries.length) continue; + lines.push(`## ${section.label}`); + lines.push(''); + lines.push(...entries); + lines.push(''); + } + + // Top-link file entries marked mainContent:true appear in the main listing. + for (const link of nav.topLinks || []) { + if (!link.file || !link.mainContent) continue; + const page = allPages.find(p => p.kind === 'top' && p.file === link.file); + if (!page) continue; + const desc = pageDescription(page, link); + const tail = desc ? `: ${desc}` : ''; + lines.push(`## ${link.label}`); + lines.push(''); + lines.push(`- [${link.label}](${mdMirrorUrl(page)})${tail}`); + lines.push(''); + } + + const optional = []; + for (const link of nav.topLinks || []) { + if (!link.file || link.mainContent) continue; + const page = allPages.find(p => p.kind === 'top' && p.file === link.file); + if (!page) continue; + const desc = pageDescription(page, link); + const tail = desc ? `: ${desc}` : ''; + optional.push(`- [${link.label}](${mdMirrorUrl(page)})${tail}`); + } + for (const section of nav.sections || []) { + const navEntry = section.pages.find(p => isOverviewEntry(p, section)); + if (!navEntry) continue; + const page = allPages.find(p => + p.kind === 'section' && p.sectionPath === section.path && p.file === navEntry.file); + if (!page) continue; + const desc = pageDescription(page, navEntry); + const tail = desc ? `: ${desc}` : ''; + optional.push(`- [${section.label} overview](${mdMirrorUrl(page)})${tail}`); + } + if (optional.length) { + lines.push('## Optional'); + lines.push(''); + lines.push(...optional); + lines.push(''); + } + + fs.writeFileSync(path.join(WWW_DIR, 'llms.txt'), lines.join('\n')); +} + +// Write llms-full.txt at the site root: the intro followed by every page's +// markdown body +// (frontmatter stripped, links rewritten to the .md mirrors), separated by +// horizontal rules. This is the single-file fallback for agents that can +// swallow the whole corpus in one bite. +function emitLlmsFullTxt() { + const lines = []; + if (fs.existsSync(LLMS_INTRO_PATH)) { + lines.push(readFile(LLMS_INTRO_PATH).trim()); + lines.push(''); + lines.push('---'); + lines.push(''); + } + for (const page of allPages) { + const { body } = parseFrontmatter(readFile(page.sourcePath)); + lines.push(``); + lines.push(''); + lines.push(rewriteLinksToMd(body).trim()); + lines.push(''); + lines.push('---'); + lines.push(''); + } + fs.writeFileSync(path.join(WWW_DIR, 'llms-full.txt'), lines.join('\n')); +} + +// --- build ------------------------------------------------------------ + +// Copy a highlight.js theme stylesheet into the docs assets dir, so it can +// be served from /docs/_assets/highlight.css alongside our own stylesheet. +function copyHighlightTheme(destDir) { + const src = path.join(HERE, 'node_modules', 'highlight.js', 'styles', 'github-dark.min.css'); + if (fs.existsSync(src)) { + fs.copyFileSync(src, path.join(destDir, 'highlight.css')); + } else { + console.warn('highlight.js theme not found; skipping'); + } +} + +function build() { + // Wipe and recreate output dir, but only the docs subtree. + if (fs.existsSync(OUT_DIR)) { + fs.rmSync(OUT_DIR, { recursive: true, force: true }); + } + ensureDir(OUT_DIR); + copyDir(ASSETS_DIR, path.join(OUT_DIR, '_assets')); + copyHighlightTheme(path.join(OUT_DIR, '_assets')); + // Copy a shared image directory for content images referenced from any + // docs page as /docs/images/. + const imagesSrc = path.join(SRC_DIR, 'images'); + if (fs.existsSync(imagesSrc)) { + copyDir(imagesSrc, path.join(OUT_DIR, 'images')); + } + // Copy any per-section data directory verbatim so example pages can + // reference images, snapshots and download bundles via stable URLs like + // /docs/examples/data/. + copyDir(path.join(SRC_DIR, 'examples', 'data'), + path.join(OUT_DIR, 'examples', 'data')); + + let count = 0; + for (const page of allPages) { + const outPath = path.join(OUT_DIR, page.outRel); + ensureDir(path.dirname(outPath)); + fs.writeFileSync(outPath, renderPage(page)); + count++; + } + const mirrorCount = emitMarkdownMirrors(); + emitLlmsTxt(); + emitLlmsFullTxt(); + console.log( + `Built ${count} docs pages and ${mirrorCount} markdown mirrors -> ` + + `${path.relative(HERE, OUT_DIR)}/, ` + + `plus llms.txt and llms-full.txt -> ${path.relative(HERE, WWW_DIR)}/` + ); +} + +build(); diff --git a/docs/_assets/cmd-search.js b/docs/_assets/cmd-search.js new file mode 100644 index 000000000..b9c89116d --- /dev/null +++ b/docs/_assets/cmd-search.js @@ -0,0 +1,213 @@ +// Jump-to-command dropdown for the command reference page. +// +// The build script wraps each command in
and tags the H2 +// above each group as

. We use that to populate a +// dropdown of matching commands beneath the search input. Selecting an item +// jumps to the corresponding section -- the page itself is never filtered. + +(function () { + 'use strict'; + + var input = document.querySelector('.cmd-search-input'); + var panel = document.querySelector('.cmd-search-results'); + if (!input || !panel) return; + + var statusEl = panel.querySelector('.cmd-search-status'); + var listEl = panel.querySelector('.cmd-search-list'); + var sections = Array.prototype.slice.call( + document.querySelectorAll('.cmd-section') + ); + if (!sections.length) return; + + // Build a flat command index. We walk the article in document order so we + // can attach the most recent h2.cmd-category to each section. + var article = sections[0].closest('.docs-article') || document; + var commands = (function () { + var out = []; + var currentCat = ''; + var nodes = article.querySelectorAll('h2.cmd-category, section.cmd-section'); + for (var i = 0; i < nodes.length; i++) { + var n = nodes[i]; + if (n.tagName === 'H2') { + currentCat = (n.textContent || '').trim(); + } else { + var name = n.dataset.name || ''; + var opts = n.dataset.options || ''; + var id = n.dataset.id || ''; + if (!id) continue; + out.push({ + id: id, + name: name, + options: opts, + category: currentCat, + haystack: (name + ' ' + opts).toLowerCase(), + el: n + }); + } + } + return out; + })(); + + var MAX_RESULTS = 60; + var activeIdx = -1; + var results = []; + + function render() { + var raw = input.value.trim(); + var tokens = raw.toLowerCase().split(/\s+/).filter(Boolean); + + if (!tokens.length) { + close(); + return; + } + + // Score-free matching: every token must appear in the name + options + // string. We deliberately don't search the full body text -- the dropdown + // is for jumping to a known command, not for free-text search. + results = commands.filter(function (c) { + return tokens.every(function (t) { return c.haystack.indexOf(t) !== -1; }); + }); + + var truncated = results.length > MAX_RESULTS; + var shown = truncated ? results.slice(0, MAX_RESULTS) : results; + + listEl.innerHTML = shown.map(function (c, i) { + return '
  • ' + + '' + + '' + escapeHtml(c.name) + '' + + (c.category + ? '' + escapeHtml(c.category) + '' + : '') + + '' + + '
  • '; + }).join(''); + + if (!results.length) { + statusEl.textContent = 'No commands match \u201c' + raw + '\u201d.'; + } else if (truncated) { + statusEl.textContent = 'Showing first ' + MAX_RESULTS + ' of ' + + results.length + ' matches.'; + } else if (results.length === 1) { + statusEl.textContent = '1 match (press Enter to jump).'; + } else { + statusEl.textContent = results.length + ' matches.'; + } + + open(); + setActive(results.length ? 0 : -1); + } + + function open() { + panel.hidden = false; + input.setAttribute('aria-expanded', 'true'); + } + + function close() { + panel.hidden = true; + input.setAttribute('aria-expanded', 'false'); + input.removeAttribute('aria-activedescendant'); + activeIdx = -1; + results = []; + listEl.innerHTML = ''; + statusEl.textContent = ''; + } + + function setActive(idx) { + var items = listEl.querySelectorAll('.cmd-result'); + if (activeIdx >= 0 && items[activeIdx]) { + items[activeIdx].classList.remove('is-active'); + } + activeIdx = idx; + if (idx < 0 || !items[idx]) { + input.removeAttribute('aria-activedescendant'); + return; + } + items[idx].classList.add('is-active'); + input.setAttribute('aria-activedescendant', 'cmd-result-' + idx); + // Keep the highlighted item visible inside the (scrollable) dropdown. + var el = items[idx]; + var top = el.offsetTop; + var bottom = top + el.offsetHeight; + if (top < listEl.scrollTop) { + listEl.scrollTop = top; + } else if (bottom > listEl.scrollTop + listEl.clientHeight) { + listEl.scrollTop = bottom - listEl.clientHeight; + } + } + + function jumpTo(idx) { + if (idx < 0 || idx >= results.length) return; + var c = results[idx]; + // Use the anchor's href so the browser updates location.hash and triggers + // its native scroll-to-anchor behaviour (which respects scroll-margin-top). + var link = listEl.querySelectorAll('.cmd-result-link')[idx]; + if (link) link.click(); + close(); + input.blur(); + } + + function escapeHtml(s) { + return String(s).replace(/[&<>"']/g, function (c) { + return ({ '&': '&', '<': '<', '>': '>', + '"': '"', "'": ''' })[c]; + }); + } + function escapeAttr(s) { return escapeHtml(s); } + + input.addEventListener('input', render); + input.addEventListener('focus', function () { + if (input.value.trim()) render(); + }); + + input.addEventListener('keydown', function (e) { + if (e.key === 'ArrowDown') { + if (panel.hidden) { render(); return; } + e.preventDefault(); + if (results.length) setActive((activeIdx + 1) % results.length); + } else if (e.key === 'ArrowUp') { + if (panel.hidden) return; + e.preventDefault(); + if (results.length) { + setActive(activeIdx <= 0 ? results.length - 1 : activeIdx - 1); + } + } else if (e.key === 'Enter') { + if (panel.hidden || activeIdx < 0) return; + e.preventDefault(); + jumpTo(activeIdx); + } else if (e.key === 'Escape') { + if (!panel.hidden) { + e.preventDefault(); + close(); + } else if (input.value) { + e.preventDefault(); + input.value = ''; + } + } + }); + + // Mouse interaction with the dropdown. + listEl.addEventListener('mousemove', function (e) { + var li = e.target.closest('.cmd-result'); + if (!li) return; + var idx = Array.prototype.indexOf.call(listEl.children, li); + if (idx !== activeIdx) setActive(idx); + }); + + listEl.addEventListener('click', function (e) { + var link = e.target.closest('.cmd-result-link'); + if (!link) return; + // Let cmd/ctrl/middle-click open in new tab as normal; otherwise + // intercept so we can close the dropdown after navigation. + if (e.metaKey || e.ctrlKey || e.shiftKey || e.button === 1) return; + // Default click handles the scroll; just tidy up the UI. + setTimeout(close, 0); + }); + + // Click outside the wrap closes the dropdown. + document.addEventListener('click', function (e) { + if (panel.hidden) return; + if (e.target.closest('.cmd-search-wrap')) return; + close(); + }); +})(); diff --git a/docs/_assets/docs.css b/docs/_assets/docs.css new file mode 100644 index 000000000..9173d5fa0 --- /dev/null +++ b/docs/_assets/docs.css @@ -0,0 +1,712 @@ +/* Mapshaper docs site + * Reuses the look-and-feel of mapshaper.org (page.css): + * primary blue: #1385B7 accent: #10699b bg: #f8fdff + */ + +@font-face { + font-family: 'SourceSans3'; + src: url('/assets/SourceSans3-VariableFont_wght.ttf') format('truetype'); + font-display: swap; +} + +@font-face { + font-family: 'JetBrains Mono'; + src: url('/assets/jetbrains-mono-regular.woff2') format('woff2'); + font-weight: 400; + font-style: normal; + font-display: swap; +} + +* { box-sizing: border-box; } + +html, body { + margin: 0; + padding: 0; + background-color: #f8fdff; + color: #333; + font: 16px/1.55 'SourceSans3', Arial, sans-serif; +} + +a { color: #10699b; text-decoration: none; } +a:hover { color: #1A6A96; text-decoration: underline; } + +code, pre, .mono { + font-family: 'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; + font-size: 0.88em; +} + +/* --- Header ---------------------------------------------------------- */ + +.page-header { + background-color: #1385B7; + color: white; + padding: 0 14px; + height: 36px; + display: flex; + align-items: center; + gap: 14px; +} + +.mapshaper-logo, +.mapshaper-logo:hover { + font-weight: 600; + font-size: 18px; + color: white; + text-decoration: none; +} + +.mapshaper-logo .logo-highlight { color: #ffa; } + +.header-section-label { + font-weight: 400; + font-size: 14px; + color: rgba(255,255,255,0.85); + border-left: 1px solid rgba(255,255,255,0.3); + padding-left: 14px; +} + +.header-nav { + margin-left: auto; + display: flex; + gap: 4px; +} + +.header-nav a, +.header-nav a:hover { + color: white; + text-decoration: none; + font-size: 14px; + padding: 6px 10px; + border-radius: 3px; +} + +.header-nav a:hover { background-color: rgba(255,255,255,0.15); } + +.header-nav a.sponsor-link, +.header-nav a.sponsor-link:hover { color: #ffa; } + +.header-nav a.sponsor-link svg { + width: 12px; + height: 12px; + fill: currentColor; + vertical-align: -1px; + margin-right: 2px; +} + +/* --- Layout ---------------------------------------------------------- */ + +.docs-layout { + display: grid; + grid-template-columns: 240px minmax(0, 1fr) 220px; + gap: 32px; + max-width: 1280px; + margin: 0 auto; + padding: 24px; + align-items: start; +} + +.docs-sidebar { + position: sticky; + top: 24px; + align-self: start; + max-height: calc(100vh - 48px); + overflow-y: auto; +} + +.sidebar-inner { padding-right: 8px; } + +.docs-main { min-width: 0; } + +.docs-article { + background: #fff; + border: 1px solid #e0e8ec; + border-radius: 4px; + padding: 28px 36px 36px; +} + +.docs-toc { + position: sticky; + top: 24px; + align-self: start; + max-height: calc(100vh - 48px); + overflow-y: auto; + font-size: 14px; +} + +@media (max-width: 1080px) { + .docs-layout { grid-template-columns: 220px minmax(0, 1fr); } + .docs-toc { display: none; } +} + +@media (max-width: 720px) { + .docs-layout { + grid-template-columns: 1fr; + padding: 16px; + gap: 16px; + } + .docs-sidebar { position: static; max-height: none; } + .docs-article { padding: 20px; } +} + +/* --- Sidebar nav ----------------------------------------------------- */ + +.docs-nav h2 { + font-size: 11px; + text-transform: uppercase; + letter-spacing: 0.06em; + color: #888; + margin: 18px 0 6px; + font-weight: 600; +} + +.docs-nav ul { list-style: none; padding: 0; margin: 0; } + +.docs-nav li { margin: 0; } + +.docs-nav a { + display: block; + padding: 4px 8px; + border-radius: 3px; + color: #333; + font-size: 14px; +} + +.docs-nav a:hover { + background-color: #eaf3f7; + color: #10699b; + text-decoration: none; +} + +.docs-nav a.is-active { + background-color: #1385B7; + color: white; + font-weight: 600; +} + +.docs-nav .top-links { margin-bottom: 18px; } +.docs-nav .top-links a { font-weight: 600; } + +/* --- TOC ------------------------------------------------------------- */ + +.docs-toc-title { + font-size: 11px; + text-transform: uppercase; + letter-spacing: 0.06em; + color: #888; + margin: 0 0 8px; + font-weight: 600; +} + +.docs-toc ul { list-style: none; padding: 0; margin: 0; } + +.docs-toc li { margin: 2px 0; } + +.docs-toc a { + color: #555; + display: block; + padding: 2px 6px; + border-left: 2px solid transparent; + line-height: 1.35; +} + +.docs-toc a:hover { + color: #10699b; + border-left-color: #10699b; + text-decoration: none; +} + +.docs-toc .lvl-3 { padding-left: 14px; font-size: 13px; } + +/* --- Article content ------------------------------------------------- */ + +.docs-article h1 { + font-size: 32px; + font-weight: 600; + margin: 0 0 6px; + color: #1f2d33; + line-height: 1.2; +} + +.docs-article > .lead { + font-size: 17px; + color: #555; + margin: 0 0 24px; +} + +.docs-article h2 { + font-size: 22px; + font-weight: 600; + margin: 32px 0 10px; + padding-top: 8px; + color: #1f2d33; + border-top: 1px solid #eaeef0; + scroll-margin-top: 24px; +} + +.docs-article h2:first-child, +.docs-article h2:first-of-type:not(:first-child) { /* keep simple */ } + +.docs-article h3 { + font-size: 17px; + font-weight: 600; + margin: 22px 0 8px; + color: #1f2d33; + scroll-margin-top: 24px; +} + +.docs-article h4 { + font-size: 15px; + font-weight: 600; + margin: 18px 0 6px; + color: #1f2d33; +} + +.docs-article p { margin: 10px 0; } + +.docs-article ul, +.docs-article ol { margin: 10px 0; padding-left: 22px; } + +.docs-article li { margin: 4px 0; } + +.docs-article code { + background-color: #f3f6f8; + padding: 1px 5px; + border-radius: 3px; + border: 1px solid #e6ecef; + white-space: nowrap; +} + +.docs-article pre { + background-color: #1e2a30; + color: #e9eef1; + padding: 14px 16px; + border-radius: 4px; + overflow-x: auto; + line-height: 1.5; +} + +/* --- Copy-to-clipboard button on code blocks ------------------------- */ + +.docs-article pre.has-copy-btn { position: relative; } + +.copy-btn { + position: absolute; + top: 6px; + right: 6px; + padding: 3px 8px; + font: inherit; + font-size: 11px; + line-height: 1.2; + color: #cdd6da; + background-color: rgba(255,255,255,0.08); + border: 1px solid rgba(255,255,255,0.18); + border-radius: 3px; + cursor: pointer; + transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease; +} + +.copy-btn:hover, +.copy-btn:focus { + background-color: rgba(255,255,255,0.18); + color: #fff; + outline: none; +} + +.copy-btn.is-flashing { + color: #cdeac8; + border-color: rgba(180, 230, 160, 0.4); +} + +.docs-article pre code { + background: transparent; + border: 0; + padding: 0; + white-space: pre; + color: inherit; +} + +/* highlight.js theme overrides: + * Use the theme's per-token colors but keep our own pre/code background and + * padding (the theme would otherwise paint a different shade of dark behind + * the code and add inconsistent padding). */ +.docs-article pre code.hljs, +.docs-article code.hljs { + background: transparent; + padding: 0; + color: inherit; +} + +.docs-article blockquote { + border-left: 3px solid #1385B7; + margin: 14px 0; + padding: 4px 14px; + color: #444; + background-color: #f3f8fb; +} + +.docs-article table { + border-collapse: collapse; + margin: 14px 0; + font-size: 14px; +} + +.docs-article th, +.docs-article td { + border: 1px solid #e0e8ec; + padding: 6px 10px; + text-align: left; + vertical-align: top; +} + +.docs-article th { background-color: #f3f6f8; font-weight: 600; } + +/* Wrapper for wide tables (e.g. the formats comparison matrix) so they + * scroll horizontally instead of overflowing the article on narrow screens. */ +.formats-table-wrap { overflow-x: auto; } +.formats-table-wrap table { margin: 14px 0; } + +.docs-article hr { + border: 0; + border-top: 1px solid #e0e8ec; + margin: 28px 0; +} + +/* Breadcrumbs */ +.docs-breadcrumbs { + font-size: 13px; + color: #888; + margin: 0 0 14px; +} + +.docs-breadcrumbs a { color: #10699b; } + +/* Edit link footer */ +.edit-link { + margin-top: 36px; + padding-top: 14px; + border-top: 1px solid #eaeef0; + font-size: 13px; + color: #888; +} + +/* --- Home page ------------------------------------------------------- */ + +body.is-home .docs-article { padding: 32px 40px 40px; } + +.section-cards { + display: grid; + grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); + gap: 14px; + margin: 24px 0 12px; +} + +.section-card { + display: block; + border: 1px solid #d9e3e8; + border-radius: 4px; + padding: 16px 18px; + background-color: #fff; + color: inherit; + transition: border-color 0.1s, box-shadow 0.1s; +} + +.section-card:hover { + border-color: #1385B7; + box-shadow: 0 1px 4px rgba(19, 133, 183, 0.12); + text-decoration: none; + color: inherit; +} + +.section-card .card-title { + font-weight: 600; + font-size: 16px; + color: #1f2d33; + margin: 0 0 4px; +} + +.section-card .card-desc { + font-size: 14px; + color: #555; + margin: 0; +} + +.quickstart { + background-color: #1e2a30; + color: #e9eef1; + border-radius: 4px; + padding: 18px 20px; + margin: 24px 0; +} + +.quickstart h3 { + margin: 0 0 8px; + font-size: 14px; + text-transform: uppercase; + letter-spacing: 0.06em; + color: #9ec3d4; + font-weight: 600; +} + +.quickstart pre { + margin: 0; + background: transparent; + padding: 0; +} + +/* --- Command-reference search ---------------------------------------- */ + +.cmd-search-wrap { + position: sticky; + top: 0; + z-index: 10; + background-color: #fff; + /* break out of the article's padding so the bottom border spans full width */ + margin: 0 -36px 18px; + padding: 12px 36px 10px; + border-bottom: 1px solid #eaeef0; +} + +.cmd-search-input { + width: 100%; + padding: 8px 12px; + font-family: inherit; + font-size: 15px; + color: inherit; + background-color: #fff; + border: 1px solid #c8d4d9; + border-radius: 4px; + -webkit-appearance: none; + appearance: none; +} + +.cmd-search-input:focus { + outline: none; + border-color: #1385B7; + box-shadow: 0 0 0 3px rgba(19, 133, 183, 0.2); +} + +/* Floating dropdown of matching commands. Positioned just below the input + * within the sticky wrap, so it overlays page content rather than pushing + * sections out of the way. */ +.cmd-search-results { + position: absolute; + left: 36px; + right: 36px; + top: 100%; + margin-top: 4px; + background-color: #fff; + border: 1px solid #c8d4d9; + border-radius: 4px; + box-shadow: 0 6px 16px rgba(0, 0, 0, 0.12); + overflow: hidden; +} + +.cmd-search-status { + font-size: 13px; + color: #6a7a82; + padding: 6px 12px; + background-color: #f4f8fa; + border-bottom: 1px solid #eaeef0; +} + +.cmd-search-list { + list-style: none; + margin: 0; + padding: 4px 0; + max-height: 360px; + overflow-y: auto; +} + +.cmd-result { + margin: 0; +} + +.cmd-result-link { + display: flex; + align-items: baseline; + gap: 12px; + padding: 6px 12px; + color: inherit; + text-decoration: none; + cursor: pointer; +} + +.cmd-result-link:hover { + text-decoration: none; +} + +.cmd-result.is-active .cmd-result-link { + background-color: #e8f3f9; + color: #10699b; +} + +.cmd-result-name { + font-family: 'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; + font-size: 0.92em; + color: #10699b; + white-space: nowrap; +} + +.cmd-result.is-active .cmd-result-name { + color: inherit; +} + +.cmd-result-cat { + margin-left: auto; + font-size: 12px; + color: #8a9aa3; + white-space: nowrap; +} + +/* When the user clicks an anchor on the command reference page, leave room + * for the sticky search bar above the target heading so it doesn't end up + * hidden behind the bar. The :has() selector scopes the rule to the + * command reference article (the only one with a .cmd-search-wrap), so + * every id'd heading in that article -- including the prose headings + * above the first command (Conventions, Common options, Command files, + * Variable interpolation, Index of commands) -- gets the offset. + * scroll-margin-top has to live on the actual scroll target, which is the + * heading itself (the id is on the h2/h3/h4, not the wrapping section). */ +.docs-article:has(.cmd-search-wrap) :is(h2, h3, h4)[id], +.docs-article:has(.cmd-search-wrap) .cmd-section { + scroll-margin-top: 76px; +} + +@media (max-width: 720px) { + .cmd-search-wrap { margin: 0 -20px 14px; padding: 10px 20px 8px; } + .cmd-search-results { left: 20px; right: 20px; } + .docs-article:has(.cmd-search-wrap) :is(h2, h3, h4)[id], + .docs-article:has(.cmd-search-wrap) .cmd-section { + scroll-margin-top: 64px; + } +} + +/* --- Gallery -------------------------------------------------------- */ + +.gallery-grid { + display: grid; + grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); + gap: 18px; + margin: 20px 0 28px; +} + +.gallery-tile { + display: flex; + flex-direction: column; + border: 1px solid #d9e3e8; + border-radius: 4px; + background-color: #fff; + color: inherit; + overflow: hidden; + transition: border-color 0.1s, box-shadow 0.1s; +} + +.gallery-tile:hover { + border-color: #1385B7; + box-shadow: 0 2px 8px rgba(19, 133, 183, 0.15); + text-decoration: none; + color: inherit; +} + +.gallery-tile-image { + background-color: #f3f6f8; + aspect-ratio: 3 / 2; + display: flex; + align-items: center; + justify-content: center; + overflow: hidden; +} + +.gallery-tile-image img { + width: 100%; + height: 100%; + object-fit: contain; + display: block; +} + +.gallery-tile-caption { + padding: 12px 14px 14px; +} + +.gallery-tile-title { + font-weight: 600; + font-size: 15px; + color: #1f2d33; + margin: 0 0 4px; +} + +.gallery-tile-desc { + font-size: 13px; + color: #555; + line-height: 1.4; +} + +/* Home-page featured strip: same tile look, smaller grid, no descriptions. */ +.featured-maps { + display: grid; + grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); + gap: 14px; + margin: 16px 0 8px; +} + +.featured-maps .gallery-tile-image { aspect-ratio: 3 / 2; } +.featured-maps .gallery-tile-caption { padding: 10px 12px 12px; } +.featured-maps .gallery-tile-title { font-size: 14px; } + +.featured-maps-link { + margin: 0 0 16px; + font-size: 14px; +} + +/* Example-page hero image: the emitted by . + * Targets the first paragraph that contains a single image inside an article. + * Keeps the image full-width but capped, with a subtle frame to match tiles. */ +.docs-article .example-hero, +.docs-article p > img:only-child { + display: block; + max-width: 100%; + height: auto; + margin: 16px auto; + background-color: #f3f6f8; + border: 1px solid #e0e8ec; + border-radius: 4px; +} + +/* What's-new entries */ +.whats-new-entry { + border-left: 3px solid #1385B7; + padding: 4px 14px; + margin: 18px 0; + background-color: #f3f8fb; +} + +.whats-new-entry .date { + font-size: 13px; + color: #777; + font-weight: 600; + text-transform: uppercase; + letter-spacing: 0.04em; +} + +/* --- Footer ---------------------------------------------------------- */ + +.docs-footer { + border-top: 1px solid #e0e8ec; + margin-top: 24px; + padding: 16px 0; + background-color: #fff; +} + +.docs-footer-inner { + max-width: 1280px; + margin: 0 auto; + padding: 0 24px; + display: flex; + justify-content: space-between; + flex-wrap: wrap; + gap: 12px; + font-size: 13px; + color: #777; +} + +.docs-footer a { color: #777; } diff --git a/docs/_assets/docs.js b/docs/_assets/docs.js new file mode 100644 index 000000000..bfda3732b --- /dev/null +++ b/docs/_assets/docs.js @@ -0,0 +1,75 @@ +// Tiny client-side helpers for the docs site. +// +// 1. Rewrites "Open in the web app" links so they target the current +// origin. At build time, build-docs.mjs renders the link with `href` +// pointing at https://mapshaper.org/?files=https%3A%2F%2Fmapshaper.org%2F... +// and a `data-open-snapshot="/docs/.../foo.msx"` attribute holding the +// snapshot's site-root-relative path. On page load we recompute href +// against `location.origin` so the link works when the docs are +// previewed locally (typically via `mapshaper-gui`, which serves www/ +// on localhost:NNNN), and continues to do the right thing on the +// production site. +// +// 2. Adds a "Copy" button to every code block on individual example-map +// pages (body.is-example-map). Skipped on the Basics index, whose code +// blocks are short snippets where the buttons would be visual noise. +// Falls back gracefully if the Clipboard API is unavailable. +(function () { + rewriteOpenInWebAppLinks(); + if (document.body.classList.contains('is-example-map')) { + addCopyButtons(); + } + + function rewriteOpenInWebAppLinks() { + var links = document.querySelectorAll('a[data-open-snapshot]'); + if (!links.length) return; + var origin = location.origin; + for (var i = 0; i < links.length; i++) { + var a = links[i]; + var path = a.getAttribute('data-open-snapshot') || ''; + if (!path) continue; + var absUrl = origin + path; + a.href = origin + '/?files=' + encodeURIComponent(absUrl) + '&q'; + } + } + + function addCopyButtons() { + if (!navigator.clipboard || !navigator.clipboard.writeText) return; + var blocks = document.querySelectorAll('.docs-article pre'); + for (var i = 0; i < blocks.length; i++) { + attachCopyButton(blocks[i]); + } + } + + function attachCopyButton(pre) { + if (pre.querySelector(':scope > .copy-btn')) return; // already wired + pre.classList.add('has-copy-btn'); + var btn = document.createElement('button'); + btn.type = 'button'; + btn.className = 'copy-btn'; + btn.setAttribute('aria-label', 'Copy code to clipboard'); + btn.textContent = 'Copy'; + btn.addEventListener('click', function () { + var code = pre.querySelector('code') || pre; + var text = code.innerText.replace(/\n$/, ''); + navigator.clipboard.writeText(text).then(function () { + flash(btn, 'Copied'); + }, function () { + flash(btn, 'Copy failed'); + }); + }); + pre.appendChild(btn); + } + + var flashTimer = null; + function flash(btn, label) { + var original = 'Copy'; + btn.textContent = label; + btn.classList.add('is-flashing'); + if (flashTimer) clearTimeout(flashTimer); + flashTimer = setTimeout(function () { + btn.textContent = original; + btn.classList.remove('is-flashing'); + }, 1400); + } +})(); diff --git a/docs/_layout.html b/docs/_layout.html new file mode 100644 index 000000000..6218dbbeb --- /dev/null +++ b/docs/_layout.html @@ -0,0 +1,58 @@ + + + + + +{{TITLE}} · mapshaper docs + + + + + + + + + +
    + + + +
    + +
    + + + +
    + + + + + + + diff --git a/docs/_llms.md b/docs/_llms.md new file mode 100644 index 000000000..f2a25257d --- /dev/null +++ b/docs/_llms.md @@ -0,0 +1,10 @@ +# Mapshaper + +> Mapshaper is a command-line tool and in-browser editor for geographic vector data. It reads and writes Shapefile, GeoJSON, TopoJSON, GeoPackage, FlatGeobuf, KML/KMZ, CSV/TSV, DBF, JSON records and SVG, and can simplify, clip, dissolve, join, project and otherwise transform layers. The CLI and web app share the same command language, so commands written interactively in the browser console run unchanged in scripts. + +These docs cover the same material in two forms: + +- **Markdown mirrors** of every page (this file links to them) for use by language models and other tools. +- **HTML pages** at the same paths without the trailing `.md`, with navigation, search and syntax highlighting, intended for humans. + +When in doubt about a command's behavior, the [command reference](https://mapshaper.org/docs/reference.html.md) is the source of truth. The Node.js source code lives at . diff --git a/docs/_nav.json b/docs/_nav.json new file mode 100644 index 000000000..1e7149cc4 --- /dev/null +++ b/docs/_nav.json @@ -0,0 +1,57 @@ +{ + "topLinks": [ + { "label": "Home", "file": "index.md" }, + { "label": "What's new", "file": "whats-new.md" }, + { "label": "Command reference", "file": "reference.md", "transform": "command-reference", "mainContent": true, "description": "Exhaustive reference for every mapshaper command and its options, with short examples." }, + { "label": "Gallery", "file": "gallery/index.md" } + ], + "sections": [ + { + "label": "Getting started", + "path": "essentials", + "pages": [ + { "label": "The command-line tool", "file": "command-line.md" }, + { "label": "The web app", "file": "web-app.md" } + ] + }, + { + "label": "Guides", + "path": "guides", + "pages": [ + { "label": "Simplification", "file": "simplification.md" }, + { "label": "JavaScript expressions", "file": "expressions.md" }, + { "label": "Projections", "file": "projections.md" }, + { "label": "Topology and cleaning", "file": "topology.md" }, + { "label": "Combining two layers", "file": "combining-layers.md" }, + { "label": "Using Mapshaper from Node.js", "file": "programmatic.md" } + ] + }, + { + "label": "Formats", + "path": "formats", + "pages": [ + { "label": "Overview", "file": "overview.md" }, + { "label": "Shapefile", "file": "shapefile.md" }, + { "label": "GeoJSON", "file": "geojson.md" }, + { "label": "TopoJSON", "file": "topojson.md" }, + { "label": "GeoPackage", "file": "geopackage.md" }, + { "label": "FlatGeobuf", "file": "flatgeobuf.md" }, + { "label": "KML / KMZ", "file": "kml.md" }, + { "label": "CSV / TSV", "file": "csv.md" }, + { "label": "DBF", "file": "dbf.md" }, + { "label": "JSON records", "file": "json.md" }, + { "label": "SVG", "file": "svg.md" }, + { "label": "Mapshaper snapshot", "file": "snapshot.md" } + ] + }, + { + "label": "Examples", + "path": "examples", + "pages": [ + { "label": "Basics", "file": "basics.md" }, + { "label": "Globe", "file": "globe.md" }, + { "label": "U.S. state map", "file": "us-states.md"} + ] + } + ] +} diff --git a/docs/essentials/command-line.md b/docs/essentials/command-line.md new file mode 100644 index 000000000..d71d599ef --- /dev/null +++ b/docs/essentials/command-line.md @@ -0,0 +1,112 @@ +--- +title: The command-line tool +description: Install the mapshaper CLI, run your first commands and learn how Mapshaper organizes data into layers. +--- + +# The command-line tool + +Mapshaper ships as a command-line tool and a [web app](/docs/essentials/web-app.html). This page is a tour of the CLI and the most common things you'll use it for. + +## Install + +Mapshaper requires [Node.js](https://nodejs.org). With Node installed: + +```bash +npm install -g mapshaper +``` + +That gives you three executables: + +- `mapshaper` — the main CLI. +- `mapshaper-xl` — same as `mapshaper`, but launched with a larger Node heap (8 GB by default) for processing very large files. Override the limit with `mapshaper-xl 16gb [commands]`. +- `mapshaper-gui` — runs the [web UI](/docs/essentials/web-app.html) locally on `http://localhost:5555`. + +You can also run mapshaper without installing it via [Bun](https://bun.sh/) (`bunx mapshaper [commands]`) or with `npx mapshaper [commands]`. + +Check the install with: + +```bash +mapshaper -v +``` + +## Anatomy of a Mapshaper command + +A Mapshaper invocation is a sequence of commands run left-to-right. Each command starts with a hyphen-prefixed name and is followed by zero or more options. The initial `-i` (input) command is implied if the first argument is a file path. + +```bash +mapshaper provinces.shp -simplify dp 20% -o precision=0.00001 output.geojson +``` + +This reads a Shapefile, simplifies it using the Douglas-Peucker algorithm to 20% of its vertices, and writes a GeoJSON file with rounded coordinates. + +Options come in three forms: + +- **Values** like `provinces.shp` and `output.geojson`. +- **Flags** like `dp`. +- **Name/value pairs** like `precision=0.00001`. + +For the full reference, see the [command reference](/docs/reference.html). + +## Some examples + +### Get help + +```bash +mapshaper -h # list all commands +mapshaper -h simplify # detailed options for one command +``` + +### Chain commands + +```bash +# From census blocks: dissolve populated Census blocks to tract level. +mapshaper tabblock2010_36_pophu.shp \ + -filter 'POP10 > 0' \ + -each 'TRACT=BLOCKID10.substr(0,11)' \ + -dissolve TRACT sum-fields=POP10 \ + -o tracts.shp +``` + +```bash +# Generate state and national boundaries from one county-level Shapefile. +# Output: states.shp, usa.shp and other Shapefile component files +mapshaper counties.shp \ + -dissolve STATE_FIPS name=states \ + -dissolve + name=usa \ + -o target='*' +``` + +For a broader set of recipes — filtering, joining, dissolving, reprojection, styling and more — see [Basics](/docs/examples/basics.html). + +## Working with layers + +Most commands operate on **layers** of data features. A layer is a collection of features with the same geometry type and a consistent attribute schema. Mapshaper supports polygon, polyline and point layers; a single feature may contain one shape, multiple shapes, or no shapes at all. + +The simplest case is a single layer in, a single layer out: + +```bash +mapshaper counties.shp -filter 'this.isNull === false' -o counties_notnull.shp +``` + +When a command runs on a multi-layer dataset, it acts on the **target** layer(s). Most commands accept a `target=` option, and the [`-target`](/docs/reference.html#-target) command sets the target for everything that follows. + +The `+` option keeps the original layer and creates a new one from the command's output. Combined with `name=`, it's the idiomatic way to derive a new layer: + +```bash +# Output: out/provinces.json and out/lines.json +mapshaper provinces.shp \ + -simplify 20% \ + -innerlines + name=lines \ + -target provinces,lines \ + -o format=geojson out/ +``` + +This produces `out/provinces.json` and `out/lines.json`. + +When importing a TopoJSON file, each named object becomes a layer: + +```bash +mapshaper usa.topojson \ + -filter 'STATE == "HI"' target=states \ + -o out/hawaii.geojson +``` diff --git a/docs/essentials/web-app.md b/docs/essentials/web-app.md new file mode 100644 index 000000000..d1c72a3cb --- /dev/null +++ b/docs/essentials/web-app.md @@ -0,0 +1,106 @@ +--- +title: The web app +description: A tour of Mapshaper's web interface, including loading data, the console, the right-click menu, snapshots, browser support and running it locally. +--- + +# The web app + +The Mapshaper web app at [mapshaper.org](/) is designed for interactive editing and visual exploration. Its built-in console exposes the complete command set, so almost anything the CLI can do is available directly in the browser. + +All processing happens in your browser. Your data stays on your machine, even when you use the public website. + +## Loading data + +Drag-drop, paste, or use the **Add files** button to import data. + +A few less-obvious behaviors: + +- **Drop a `.zip` containing a Shapefile bundle** — Mapshaper unzips it on the fly and pulls out the sidecars. (Same goes for `.gz` for single-file formats and `.kmz` for KML.) +- **Paste a URL** anywhere on the page to import the file at that address. +- **Query-string preload** — `https://mapshaper.org/?files=URL1,URL2` imports a comma-separated list of URLs. All files need to be served from a host that allows cross-origin requests. Append `&q` to skip the import dialog and open the files immediately. +- **With advanced options** is a freeform text field. Anything you'd pass after `-i` on the CLI works here, including `encoding=`, `string-fields=`, `csv-fields=`, `csv-filter=`, `combine-files`, `name=` and so on. +- **Multiple files do not auto-combine.** Selecting several files at once imports them as independent layers. To get a shared topology (so common boundaries simplify identically), tick **with advanced options** and add `combine-files`. + +### Tips for importing Shapefiles + +- Drag-drop or select the `.shp`, `.dbf` and `.prj` files together. Without `.dbf` you'll have geometry but no attributes; without `.prj`, projection-dependent commands won't know what to do. +- If you see a warning about an unknown text encoding, re-import using the **with advanced options** checkbox and set `encoding=` (for example, `encoding=big5` for Big-5). + +## The console + +The Console (top-right of the header, or **space bar** to toggle) is the most powerful part of the UI. Anything the [CLI](/docs/reference.html) can do, you can do here. + +### Keyboard + +- **Space** — open or close the console (only when you're not typing in another text field). +- **Esc** — close the console, or close any open panel. +- **Up / Down** — cycle through previous commands. The history persists across page reloads. +- **Backslash `\` at end of line** — continue a long command on the next line. The Enter key adds the wrap; another **Enter** runs the full command. + +### Syntax + +- The leading `-` is optional in the console: `clip places` works the same as `-clip places`. +- Commands run on the **currently-selected layer** by default. Switch layers in the layer panel before issuing a command, or pass `target=` to be explicit (`target=*` runs against every layer). + +### Magic words at the prompt + +These are recognized directly by the console, not by Mapshaper: + +- `history` — print the current session as a single command-line string. Handy for reproducing an interactive workflow as a script. +- `layers` — print the list of loaded layers. +- `clear` — clear the console buffer. +- `close` / `exit` / `quit` — close the console. + +### Discovering commands + +- `help` lists every available command. +- `help ` shows the full options for one command, e.g. `help dissolve`. +- The [command reference](/docs/reference.html) is the same content with a search box. + +## The map + +### Right-click menu + +The right-click menu adapts to what's under the cursor: + +- **Copy lon, lat** — copy the WGS84 coordinates of the click point to the clipboard. +- **Copy x, y** — copy the projected coordinates of the click point. +- **Copy as GeoJSON** — copy the selected feature(s) to the clipboard as GeoJSON. Useful for snipping out one polygon for use elsewhere. +- **Delete vertex** / **delete point** / **delete feature** — available in the corresponding edit modes. + +### Layer navigation + +- **Left / Right arrows** (when not typing) — cycle through the loaded layers. + +## Display options + +The **Display** button at the top right opens the display options panel. + +- **Detect line intersections** — highlights self-intersections in red as you simplify or edit. The quickest way to spot simplification damage. The setting is remembered between sessions. + +## Snapshots and session history + +The ribbon icon in the layer panel opens the snapshot menu. Snapshots save the current state of a session so you can return to it. They also record the **session history** that produced the snapshot, so when you re-open one the full history is available too. + +- **Create a snapshot** — saves to in-browser storage. These are session-scoped and **deleted when the tab closes or the page is reloaded.** For anything you want to keep, **Save snapshot to file** writes a `.msx` file you can re-open later. +- **View session history** — a shortcut for typing `history` in the console: prints the full sequence of commands that produced the current state. + +See the [Mapshaper snapshot format page](/docs/formats/snapshot.html) for more on what a `.msx` file contains and how to use it from the CLI. + +## Running the web UI locally + +`mapshaper-gui` (installed alongside `mapshaper` when you `npm install -g mapshaper`) starts a local Node web server and opens the web UI at `http://localhost:5555`. Use `--port` to pick a different port. + +You can pre-load files by listing them on the command line, which skips the import dialog: + +```bash +mapshaper-gui states.shp rivers.shp +``` + +## Browser support + +When importing very large files (hundreds of megabytes), the web app may run out of memory and crash. Firefox used to be better than Chrome at handling large files, but Chrome seems to have improved recently. If the web app crashes, try the [`mapshaper-xl` command-line tool](/docs/essentials/command-line.html), which can allocate a large amount of memory. + +## Privacy + +The Mapshaper web app runs entirely in your browser. No file content is uploaded to any server. The only network traffic is for static assets (the app itself), basemap tiles when you've enabled a basemap, and analytics for `mapshaper.org` page loads. See the [privacy policy](/privacy.html) for details. diff --git a/docs/examples/basics.md b/docs/examples/basics.md new file mode 100644 index 000000000..8a2826b6f --- /dev/null +++ b/docs/examples/basics.md @@ -0,0 +1,371 @@ +--- +title: Basics +description: A scannable collection of short Mapshaper recipes for common GIS tasks — format conversion, joins, simplification, dissolves, projection, classification, web export and more. +--- + +# Basics + +Short Mapshaper recipes for common GIS tasks. The filenames and field names are illustrative — substitute your own. Most recipes also work in the [web app's](/docs/essentials/web-app.html) console: drop the leading `mapshaper` and the input filename, since the GUI already has the layer loaded. + +> Looking for the syntax of a particular command or option? See the [command reference](/docs/reference.html). For the JS expression context used by `-each`, `-filter`, `calc=` and other commands, see [JavaScript expressions](/docs/guides/expressions.html). + +## Inspecting and exploring + +### Print a summary of a dataset + +```bash +mapshaper input.shp -info +``` + +`-info` prints the geometry type, feature count, CRS (if known), bounding box, and the name and type of every attribute field. It's the fastest way to remind yourself what a file actually contains. Add `save-to=info.json` to capture it as JSON. + + +### Count features grouped by a field + +```bash +mapshaper counties.shp \ + -drop geometry \ + -dissolve STATE calc='N = count(), POP = sum(POP)' \ + -o state_data.csv +``` + +A dissolve with a `calc=` clause is an idiomatic way to aggregate data values. + +## Filtering and selecting + +### Keep features matching a condition + +```bash +mapshaper countries.geojson -filter 'CONTINENT == "Asia" && POP > 1e7' \ + -o output.geojson +``` + +`-filter` keeps features for which the expression returns `true`. + +### Keep features inside a bounding box + +```bash +mapshaper world.shp -clip bbox=-10,35,30,60 -o europe.shp +``` + +The four bbox numbers are `xmin,ymin,xmax,ymax` in the layer's own coordinates. + +### Keep the top N features by some attribute + +```bash +mapshaper cities.geojson \ + -sort POP descending \ + -filter 'this.id < 50' \ + -o top50.geojson +``` + +`-sort POP descending` orders by population from largest to smallest. Features have numerical ids starting with `0`, so `this.id < 50` keeps the first 50. + +### Drop features with empty geometry + +```bash +mapshaper messy.geojson -filter remove-empty -o clean.geojson +``` + +The `remove-empty` flag drops features with missing or empty geometry. + +## Editing attributes + +### Add derived fields + +```bash +mapshaper counties.shp \ + -each 'STATE_FIPS = COUNTY_FIPS.substr(0, 2), + AREA_KM2 = round(this.area / 1e6, 1)' \ + -o out.shp +``` + +`-each` runs a JS expression on each feature; assigning to a bare name creates or updates a field. `round(x, 1)` is Mapshaper's rounding helper (one decimal here). On unprojected lat/long data, `this.area` returns square meters, dividing by 1e6 converts to square kilometers. + +### Rename and filter fields + +```bash +mapshaper data.csv \ + -rename-fields POPULATION=POP,MEDIAN_INCOME=MEDIAN_INC \ + -filter-fields STATE,COUNTY,POPULATION,MEDIAN_INCOME \ + -o cleaned.csv +``` + +`-rename-fields` takes `NEW=OLD` pairs. `-filter-fields` keeps only the listed fields, in the listed order — convenient for shaping CSV output. + +### Preserve leading zeros from a CSV + +```bash +mapshaper -i counties.csv string-fields=FIPS,STATEFIPS \ + -o counties.shp +``` + +By default Mapshaper parses any numeric-looking CSV column as a number, which silently drops leading zeros from FIPS, ZIP and similar identifier columns. `string-fields=` forces the named columns to stay as strings. + +## Joining data + +### Join a CSV to a Shapefile by key + +```bash +mapshaper states.shp \ + -join demographics.csv keys=STATE_FIPS,FIPS string-fields=FIPS \ + -o states_with_data.shp +``` + +`keys=A,B` means "match the target's `A` field to the source's `B` field". `string-fields=FIPS` (passed through to the CSV import) keeps the FIPS code as a string so `"06"` matches `"06"` rather than being parsed to `6`. To pull just a few columns from the source, add `fields=FIELD_A,FIELD_B`. + +### Spatial join: tag points with the polygon they fall in + +```bash +mapshaper crimes.geojson \ + -join precinct_polygons.shp \ + -o crimes_with_precinct.geojson +``` + +When `keys=` is omitted, `-join` falls back to a spatial join based on the geometry types involved. Here, every point inherits the attributes of the polygon containing it. Use `fields=PRECINCT_ID,DIVISION` to keep just specific columns. + +### Many-to-one join with an aggregation + +```bash +mapshaper precincts.shp \ + -join crimes.geojson calc='N = count(), AVG_SEVERITY = mean(SEVERITY)' \ + -o precincts_with_stats.shp +``` + +A polygon-to-many-points join can use `calc=` to summarize the matched source records into one or more new fields per target feature. The functions in `calc=` are the same set documented under [`-calc`](/docs/reference.html#-calc). + +## Simplifying + +### Simplify a polygon layer for the web + +```bash +mapshaper provinces.shp \ + -simplify 5% keep-shapes \ + -clean \ + -o format=topojson provinces.topojson +``` + +`-simplify 5%` keeps 5% of the original vertices using the default weighted Visvalingam algorithm. `keep-shapes` prevents simplification from wiping out very small polygons. `-clean` mops up any topology errors introduced by aggressive simplification. TopoJSON output is usually 2–5x smaller than the equivalent GeoJSON. + +### Simplify multiple files with shared topology + +```bash +mapshaper -i states.shp counties.shp combine-files \ + -simplify 10% \ + -o out/ +``` + +`combine-files` merges the inputs into one dataset before Mapshaper builds its arc topology, so vertices shared between layers stay shared after simplification — no gaps or overlaps along state/county boundaries. Each input still gets written back out as a separate file in `out/`. In the web app, add `combine-files` in the **Advanced options** field at import time to get the same behavior. + +### Repair topology errors + +```bash +mapshaper messy.shp -clean -o cleaned.shp +``` + +`-clean` snaps near-duplicate vertices, removes tiny gaps and overlaps between polygons, and fixes self-intersecting lines. It's a safe first step before any spatial operation. You can tune `gap-fill-area=`, `sliver-control=` or `snap-interval=` if necessary. + +## Aggregating + +### Dissolve to a parent geography + +```bash +mapshaper counties.shp -dissolve STATE -o states.shp +``` + +`-dissolve` merges adjacent polygons that share a value in the named field. + +### Dissolve while computing per-group stats + +```bash +mapshaper counties.shp \ + -dissolve STATE calc='N = count(), + POP = sum(POP), + MEDIAN_INC = median(MEDIAN_INC)' \ + -o states_with_stats.shp +``` + +`calc=` works inside `-dissolve` as well as `-join`. The named functions (`count`, `sum`, `mean`, `median`, `mode`, `min`, `max`, `quartile1/2/3`, `iqr`, `quantile`, `collect`, `every`, `some`, `first`, `last`) all see the same per-feature context as `-each`. + +### Convert points to population-weighted centroids + +```bash +mapshaper cities.shp \ + -dissolve STATE_FIPS weight=POPULATION \ + -o state_centers.shp +``` + +Dissolve groups of points that share a `STATE_FIPS` value into a single weighted centroid per group. The `weight=` option accepts a field name or a JS expression. Omitting a grouping field dissolves all points into one centroid. + +## Spatial operations + +### Erase one layer from another + +```bash +mapshaper land.shp -erase lakes.shp -o land_no_lakes.shp +``` + +`-erase` removes the parts of the target layer that fall inside the source layer's polygons. Useful for masking out water, parks, or any "do-not-count" region. The inverse is `-clip`, which keeps the inside instead. + +### Compute interior boundaries + +```bash +mapshaper counties.shp -innerlines -o county_borders.shp +``` + +`-innerlines` returns the shared boundaries between polygons as a polyline layer, which is usually used for adding a stroke to interior boundaries on a styled map. Use [`-lines`](/docs/reference.html#-lines) instead if you want to retain both outer and inner boundaries. + +### Generate a hex grid covering a layer + +```bash +mapshaper region.shp \ + -grid type=hex interval=10km name=hex \ + -o hex.shp +``` + +`-grid` builds a regular grid (`square`, `hex`, `hex2`) covering the target's bounding box. Pair it with a spatial join to style the grid cells using interpolated count data (`-join interpolate=POPULATION`). + +## Reprojection + +### Project to a named CRS + +```bash +mapshaper world.geojson -proj robinson -o world_robinson.geojson +``` + +`-proj` accepts EPSG codes (`EPSG:3857`), PROJ strings (`+proj=tmerc +lon_0=...`), or short aliases (`wgs84`, `webmercator`, `robinson`, `albersusa`). See the [Projections guide](/docs/guides/projections.html) for details. + +### Match the projection of another file + +```bash +mapshaper points.shp -proj match=basemap.shp -o points_aligned.shp +``` + +`match=` reads the CRS of another file and projects the target to match it — handy when assembling multiple datasets that need to share a coordinate system. + +## Classification and styling + +### Quantile-classify into a color ramp + +```bash +mapshaper covid_cases.geojson \ + -classify save-as=fill quantile classes=6 color-scheme=Oranges \ + -o themed.geojson +``` + +`-classify` writes a class index or a derived value (here, a fill color) into the named field. The default is sequential quantile classification, but you can switch to `equal-interval`, `nice`, `categorical` or `non-adjacent`. Run `mapshaper -colors` to list the built-in color schemes. + +### Add SVG styling for export + +```bash +mapshaper boundaries.shp \ + -style stroke="#444" stroke-width=0.5 fill=none \ + -style where='RANK == 0' stroke="#000" stroke-width=1.5 \ + -o map.svg +``` + +`-style` writes SVG presentation attributes onto each feature; the `where=` form lets you set them conditionally. The result is a valid SVG you can drop into a print or web layout. + +## Output and conversion + +### Convert Shapefile ↔ GeoJSON + +```bash +mapshaper input.shp -o input.geojson +mapshaper input.geojson -o input.shp +``` + +The output format is inferred from the file extension. Use `format=` to force it (e.g. `-o format=topojson out.json`). When writing a Shapefile, Mapshaper produces `.shp`, `.shx`, `.dbf`, and `.prj`. If no output filename is given, the output file takes the name of the targeted layer. + +### Quantized TopoJSON + +```bash +mapshaper boundaries.shp -o boundaries.topojson +``` + +TopoJSON output is quantized by default — Mapshaper picks a quantization level based on the data's coordinate range. Quantization rounds coordinates to a grid, which dramatically shrinks file size. The default can be overridden with `quantization=` (e.g. `quantization=1e5`). Combined with `-simplify` and TopoJSON's shared-arc encoding, quantized output is routinely 2–5× smaller than equivalent GeoJSON. + +### Output as ndjson + +```bash +mapshaper big.geojson -o ndjson big.ndjson +``` + +Newline-delimited JSON is friendlier to line-oriented tools like jq, BigQuery, and DuckDB. One Feature per line, no enclosing FeatureCollection. + +### Split a layer into multiple files + +```bash +mapshaper counties.shp \ + -split STATE \ + -o out/ extension=geojson +``` + +`-split FIELD` partitions features into separate layers by the value of `FIELD`; `-o` to a directory then writes one file per layer, named after the field value. + +## Workflow patterns + +### Run a chain of commands from a file + +``` +# build.txt +mapshaper +-i counties.shp +-rename-fields POP=POPULATION +-dissolve STATE calc='POP = sum(POP)' +-simplify 5% +-o out/states.topojson +``` + +```bash +mapshaper -run build.txt +# or simply: +mapshaper build.txt +``` + +Long pipelines can be kept in a [command file](/docs/reference.html#command-files). + +### Parameterize a command file + +```bash +mapshaper -vars YEAR=2024 PCT=10 -run build.txt +``` + +``` +# build.txt +mapshaper +-defaults YEAR=2020 PCT=5 +-i sources/counties_{{YEAR}}.shp +-simplify {{PCT}}% +-o out/counties_{{YEAR}}.shp +``` + +`{{VAR}}` placeholders are substituted at parse time. `-defaults` sets values that the caller can override with `-vars` (or with `{{env.NAME}}` for environment variables). + +### Stop a pipeline early on bad input + +```bash +mapshaper input.csv \ + -calc 'N = count()' \ + -if 'global.N == 0' \ + -print 'No records, exiting' \ + -stop \ + -endif \ + -o out.csv +``` + +`-calc` expressions can publish values to the `global` object via simple assignment. `-if`/`-stop` then guard the rest of the pipeline. Useful in scripts where bad upstream data should fail loudly rather than silently produce empty output. + +### Increase the heap for very large files + +```bash +mapshaper-xl 16gb counties_5m.shp -simplify 10% -o counties_5m.topojson +``` + +`mapshaper-xl` is a wrapper that launches Node with extra heap space (default 8 GB; pass a size to override). Use it whenever you see "JavaScript heap out of memory" errors. + +## See also + +- [Command reference](/docs/reference.html) — every command and option +- [JavaScript expressions](/docs/guides/expressions.html) — the syntax and context used by `-each`, `-filter`, `calc=`, etc. +- [Guides](/docs/guides/) — longer-form walk-throughs of simplification, topology cleaning, and more diff --git a/docs/examples/data/Makefile b/docs/examples/data/Makefile new file mode 100644 index 000000000..ad737fe29 --- /dev/null +++ b/docs/examples/data/Makefile @@ -0,0 +1,31 @@ +# Per-example asset builds for the docs site. +# +# Each example is one short target. Mapshaper's CLI stacks multiple `-o` +# commands, so the recipe's own `-o .svg` and the trailing +# `-o .msx` here both fire from a single mapshaper invocation -- no +# need to run mapshaper twice. The .zip bundles the raw input files so +# readers can reproduce the example end-to-end. +# +# Add a new example by: +# 1. dropping .txt + source data into this directory +# 2. appending a target below following the globe pattern +# 3. adding the slug to `EXAMPLES` + +EXAMPLES := globe us-states + +all: $(EXAMPLES) + +clean: + rm -f $(addsuffix .svg,$(EXAMPLES)) \ + $(addsuffix .msx,$(EXAMPLES)) \ + $(addsuffix .zip,$(EXAMPLES)) + +globe: + mapshaper globe.txt -o globe.msx + rm -f globe.zip && zip globe.zip ne_50m_admin_0_countries.geojson + +us-states: + mapshaper us-states.txt -o us-states.msx + rm -f us-states.zip && zip us-states.zip ne_50m_admin_1_states_provinces_lakes.geojson + +.PHONY: all clean $(EXAMPLES) diff --git a/docs/examples/data/globe.txt b/docs/examples/data/globe.txt new file mode 100644 index 000000000..cc888f4b6 --- /dev/null +++ b/docs/examples/data/globe.txt @@ -0,0 +1,21 @@ +mapshaper \ +-i ne_50m_admin_0_countries.geojson name=countries \ +-proj +proj=nsper +h=1e7 +lat_0=35 +lon_0=2.35 \ +-simplify resolution=400 \ +-lines + name=lines \ +-graticule polygon name=background \ +-filter true + name=shadow \ +-graticule target=countries name=graticule interval=20 \ +-i "lat,lon,label\n48.86,2.35,Paris" name=dot \ +-points \ +-proj match=countries \ +-filter true + name=label \ +-style target=background fill='#f7f7f7' \ +-style target=shadow fill-effect=sphere fill='#ccc' \ +-style target=graticule stroke='#ccc' \ +-style target=countries fill='#e4e4e4' \ +-style target=lines stroke='TYPE == "inner" ? "#bbb" : "#c2c2c2"' \ +-style target=dot fill='#dd0000' r=4 \ +-style target=label label-text=label text-anchor=start dy=5 dx=10 font-size=16 \ +-target background,countries,lines,graticule,dot,label,shadow \ +-o globe.svg height=400 width=600 \ No newline at end of file diff --git a/docs/examples/data/ne_50m_admin_0_countries.geojson b/docs/examples/data/ne_50m_admin_0_countries.geojson new file mode 100644 index 000000000..9d99f26dc --- /dev/null +++ b/docs/examples/data/ne_50m_admin_0_countries.geojson @@ -0,0 +1 @@ +{"type":"FeatureCollection","name":"ne_50m_admin_0_countries","crs":{"type":"name","properties":{"name":"urn:ogc:def:crs:OGC:1.3:CRS84"}},"features":[{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":3,"SOVEREIGNT":"Zimbabwe","SOV_A3":"ZWE","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Zimbabwe","ADM0_A3":"ZWE","GEOU_DIF":0,"GEOUNIT":"Zimbabwe","GU_A3":"ZWE","SU_DIF":0,"SUBUNIT":"Zimbabwe","SU_A3":"ZWE","BRK_DIFF":0,"NAME":"Zimbabwe","NAME_LONG":"Zimbabwe","BRK_A3":"ZWE","BRK_NAME":"Zimbabwe","BRK_GROUP":null,"ABBREV":"Zimb.","POSTAL":"ZW","FORMAL_EN":"Republic of Zimbabwe","FORMAL_FR":null,"NAME_CIAWF":"Zimbabwe","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Zimbabwe","NAME_ALT":null,"MAPCOLOR7":1,"MAPCOLOR8":5,"MAPCOLOR9":3,"MAPCOLOR13":9,"POP_EST":14645468,"POP_RANK":14,"POP_YEAR":2019,"GDP_MD":21440,"GDP_YEAR":2019,"ECONOMY":"5. Emerging region: G20","INCOME_GRP":"5. Low income","FIPS_10":"ZI","ISO_A2":"ZW","ISO_A2_EH":"ZW","ISO_A3":"ZWE","ISO_A3_EH":"ZWE","ISO_N3":"716","ISO_N3_EH":"716","UN_A3":"716","WB_A2":"ZW","WB_A3":"ZWE","WOE_ID":23425004,"WOE_ID_EH":23425004,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"ZWE","ADM0_DIFF":null,"ADM0_TLC":"ZWE","ADM0_A3_US":"ZWE","ADM0_A3_FR":"ZWE","ADM0_A3_RU":"ZWE","ADM0_A3_ES":"ZWE","ADM0_A3_CN":"ZWE","ADM0_A3_TW":"ZWE","ADM0_A3_IN":"ZWE","ADM0_A3_NP":"ZWE","ADM0_A3_PK":"ZWE","ADM0_A3_DE":"ZWE","ADM0_A3_GB":"ZWE","ADM0_A3_BR":"ZWE","ADM0_A3_IL":"ZWE","ADM0_A3_PS":"ZWE","ADM0_A3_SA":"ZWE","ADM0_A3_EG":"ZWE","ADM0_A3_MA":"ZWE","ADM0_A3_PT":"ZWE","ADM0_A3_AR":"ZWE","ADM0_A3_JP":"ZWE","ADM0_A3_KO":"ZWE","ADM0_A3_VN":"ZWE","ADM0_A3_TR":"ZWE","ADM0_A3_ID":"ZWE","ADM0_A3_PL":"ZWE","ADM0_A3_GR":"ZWE","ADM0_A3_IT":"ZWE","ADM0_A3_NL":"ZWE","ADM0_A3_SE":"ZWE","ADM0_A3_BD":"ZWE","ADM0_A3_UA":"ZWE","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Africa","REGION_UN":"Africa","SUBREGION":"Eastern Africa","REGION_WB":"Sub-Saharan Africa","NAME_LEN":8,"LONG_LEN":8,"ABBREV_LEN":5,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":2.5,"MAX_LABEL":8,"LABEL_X":29.925444,"LABEL_Y":-18.91164,"NE_ID":1159321441,"WIKIDATAID":"Q954","NAME_AR":"زيمبابوي","NAME_BN":"জিম্বাবুয়ে","NAME_DE":"Simbabwe","NAME_EN":"Zimbabwe","NAME_ES":"Zimbabue","NAME_FA":"زیمبابوه","NAME_FR":"Zimbabwe","NAME_EL":"Ζιμπάμπουε","NAME_HE":"זימבבואה","NAME_HI":"ज़िम्बाब्वे","NAME_HU":"Zimbabwe","NAME_ID":"Zimbabwe","NAME_IT":"Zimbabwe","NAME_JA":"ジンバブエ","NAME_KO":"짐바브웨","NAME_NL":"Zimbabwe","NAME_PL":"Zimbabwe","NAME_PT":"Zimbábue","NAME_RU":"Зимбабве","NAME_SV":"Zimbabwe","NAME_TR":"Zimbabve","NAME_UK":"Зімбабве","NAME_UR":"زمبابوے","NAME_VI":"Zimbabwe","NAME_ZH":"津巴布韦","NAME_ZHT":"辛巴威","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[25.224023,-22.402051,33.006738,-15.643066],"geometry":{"type":"Polygon","coordinates":[[[31.287891,-22.402051],[31.197266,-22.344922],[31.073438,-22.307813],[30.916113,-22.290723],[30.711621,-22.297852],[30.460156,-22.329004],[30.19043,-22.291113],[29.902344,-22.18418],[29.663086,-22.146289],[29.377441,-22.192773],[29.364844,-22.193945],[29.315234,-22.157715],[29.237207,-22.079492],[29.106836,-22.065723],[29.071484,-22.047461],[29.042383,-22.018359],[29.02334,-21.98125],[29.01582,-21.939941],[29.037305,-21.811328],[29.025586,-21.796875],[28.990723,-21.781445],[28.919336,-21.766016],[28.747754,-21.707617],[28.532031,-21.65127],[28.181641,-21.589355],[28.045605,-21.573047],[28.014063,-21.554199],[27.974609,-21.506738],[27.907422,-21.359082],[27.844141,-21.261523],[27.693457,-21.111035],[27.669434,-21.064258],[27.676953,-20.944824],[27.688086,-20.84834],[27.704297,-20.766406],[27.696973,-20.689746],[27.694824,-20.594531],[27.699609,-20.530664],[27.679297,-20.503027],[27.624609,-20.483594],[27.468945,-20.474805],[27.280762,-20.478711],[27.274609,-20.381836],[27.256738,-20.232031],[27.221484,-20.145801],[27.178223,-20.100977],[27.091797,-20.054199],[26.916699,-19.990137],[26.678223,-19.892773],[26.474609,-19.748633],[26.241016,-19.569336],[26.168066,-19.538281],[26.081934,-19.369922],[25.950684,-19.081738],[25.95918,-18.985645],[25.939355,-18.938672],[25.811914,-18.79707],[25.783691,-18.723535],[25.76123,-18.649219],[25.558301,-18.441797],[25.489258,-18.35127],[25.436719,-18.234961],[25.384375,-18.141992],[25.340234,-18.104492],[25.282422,-18.041211],[25.242285,-17.969043],[25.224023,-17.915234],[25.239063,-17.843066],[25.258789,-17.793555],[25.451758,-17.845117],[25.557129,-17.849512],[25.639648,-17.824121],[25.741602,-17.858203],[25.863281,-17.951953],[25.995898,-17.969824],[26.139551,-17.911719],[26.333398,-17.929297],[26.577539,-18.022559],[26.779883,-18.041504],[27.020801,-17.958398],[27.235742,-17.72832],[27.437891,-17.511914],[27.636719,-17.262109],[27.756543,-17.060352],[27.932227,-16.896191],[28.16377,-16.769727],[28.399805,-16.662793],[28.760645,-16.531934],[28.760547,-16.532129],[28.832715,-16.424121],[28.856738,-16.306152],[28.856738,-16.142285],[28.875586,-16.036133],[28.913086,-15.987793],[28.973047,-15.950098],[29.050586,-15.901172],[29.287891,-15.776465],[29.487305,-15.696777],[29.72959,-15.644629],[29.994922,-15.644043],[30.250684,-15.643457],[30.396094,-15.643066],[30.398145,-15.800781],[30.409375,-15.978223],[30.437793,-15.995313],[30.630176,-15.999219],[30.93877,-16.011719],[31.23623,-16.023633],[31.426172,-16.152344],[31.489844,-16.179688],[31.687598,-16.21416],[31.939844,-16.428809],[32.243262,-16.44873],[32.451953,-16.515723],[32.63584,-16.589453],[32.741797,-16.677637],[32.810254,-16.697656],[32.90293,-16.704199],[32.948047,-16.712305],[32.937891,-16.775977],[32.87627,-16.883594],[32.884375,-17.037793],[32.969336,-17.251563],[32.980762,-17.4375],[32.954688,-17.76543],[32.955566,-18.08291],[32.964648,-18.196289],[32.978516,-18.271484],[32.996387,-18.312598],[32.993066,-18.35957],[32.94248,-18.492676],[32.90166,-18.63291],[32.900293,-18.689063],[32.88457,-18.728516],[32.854492,-18.763672],[32.721973,-18.828418],[32.699219,-18.868457],[32.699707,-18.940918],[32.716504,-19.001855],[32.766211,-19.024316],[32.826172,-19.058789],[32.849805,-19.104395],[32.85,-19.152441],[32.830957,-19.241406],[32.777637,-19.38877],[32.830762,-19.558203],[32.89043,-19.668066],[32.972656,-19.79541],[33.006738,-19.873828],[33.004883,-19.930176],[32.992773,-19.984863],[32.869629,-20.217188],[32.780859,-20.361523],[32.672559,-20.516113],[32.529297,-20.613086],[32.492383,-20.659766],[32.477637,-20.712988],[32.482813,-20.828906],[32.476172,-20.950098],[32.353613,-21.136523],[32.429785,-21.29707],[32.412402,-21.311816],[32.371094,-21.334863],[32.194727,-21.51543],[32.016309,-21.698047],[31.885938,-21.831543],[31.737695,-21.983398],[31.571484,-22.153516],[31.429492,-22.298828],[31.287891,-22.402051]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":3,"SOVEREIGNT":"Zambia","SOV_A3":"ZMB","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Zambia","ADM0_A3":"ZMB","GEOU_DIF":0,"GEOUNIT":"Zambia","GU_A3":"ZMB","SU_DIF":0,"SUBUNIT":"Zambia","SU_A3":"ZMB","BRK_DIFF":0,"NAME":"Zambia","NAME_LONG":"Zambia","BRK_A3":"ZMB","BRK_NAME":"Zambia","BRK_GROUP":null,"ABBREV":"Zambia","POSTAL":"ZM","FORMAL_EN":"Republic of Zambia","FORMAL_FR":null,"NAME_CIAWF":"Zambia","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Zambia","NAME_ALT":null,"MAPCOLOR7":5,"MAPCOLOR8":8,"MAPCOLOR9":5,"MAPCOLOR13":13,"POP_EST":17861030,"POP_RANK":14,"POP_YEAR":2019,"GDP_MD":23309,"GDP_YEAR":2019,"ECONOMY":"7. Least developed region","INCOME_GRP":"4. Lower middle income","FIPS_10":"ZA","ISO_A2":"ZM","ISO_A2_EH":"ZM","ISO_A3":"ZMB","ISO_A3_EH":"ZMB","ISO_N3":"894","ISO_N3_EH":"894","UN_A3":"894","WB_A2":"ZM","WB_A3":"ZMB","WOE_ID":23425003,"WOE_ID_EH":23425003,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"ZMB","ADM0_DIFF":null,"ADM0_TLC":"ZMB","ADM0_A3_US":"ZMB","ADM0_A3_FR":"ZMB","ADM0_A3_RU":"ZMB","ADM0_A3_ES":"ZMB","ADM0_A3_CN":"ZMB","ADM0_A3_TW":"ZMB","ADM0_A3_IN":"ZMB","ADM0_A3_NP":"ZMB","ADM0_A3_PK":"ZMB","ADM0_A3_DE":"ZMB","ADM0_A3_GB":"ZMB","ADM0_A3_BR":"ZMB","ADM0_A3_IL":"ZMB","ADM0_A3_PS":"ZMB","ADM0_A3_SA":"ZMB","ADM0_A3_EG":"ZMB","ADM0_A3_MA":"ZMB","ADM0_A3_PT":"ZMB","ADM0_A3_AR":"ZMB","ADM0_A3_JP":"ZMB","ADM0_A3_KO":"ZMB","ADM0_A3_VN":"ZMB","ADM0_A3_TR":"ZMB","ADM0_A3_ID":"ZMB","ADM0_A3_PL":"ZMB","ADM0_A3_GR":"ZMB","ADM0_A3_IT":"ZMB","ADM0_A3_NL":"ZMB","ADM0_A3_SE":"ZMB","ADM0_A3_BD":"ZMB","ADM0_A3_UA":"ZMB","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Africa","REGION_UN":"Africa","SUBREGION":"Eastern Africa","REGION_WB":"Sub-Saharan Africa","NAME_LEN":6,"LONG_LEN":6,"ABBREV_LEN":6,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":3,"MAX_LABEL":8,"LABEL_X":26.395298,"LABEL_Y":-14.660804,"NE_ID":1159321439,"WIKIDATAID":"Q953","NAME_AR":"زامبيا","NAME_BN":"জাম্বিয়া","NAME_DE":"Sambia","NAME_EN":"Zambia","NAME_ES":"Zambia","NAME_FA":"زامبیا","NAME_FR":"Zambie","NAME_EL":"Ζάμπια","NAME_HE":"זמביה","NAME_HI":"ज़ाम्बिया","NAME_HU":"Zambia","NAME_ID":"Zambia","NAME_IT":"Zambia","NAME_JA":"ザンビア","NAME_KO":"잠비아","NAME_NL":"Zambia","NAME_PL":"Zambia","NAME_PT":"Zâmbia","NAME_RU":"Замбия","NAME_SV":"Zambia","NAME_TR":"Zambiya","NAME_UK":"Замбія","NAME_UR":"زیمبیا","NAME_VI":"Zambia","NAME_ZH":"赞比亚","NAME_ZHT":"尚比亞","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[21.978906,-18.041504,33.661523,-8.193652],"geometry":{"type":"Polygon","coordinates":[[[30.396094,-15.643066],[30.250684,-15.643457],[29.994922,-15.644043],[29.72959,-15.644629],[29.487305,-15.696777],[29.287891,-15.776465],[29.050586,-15.901172],[28.973047,-15.950098],[28.913086,-15.987793],[28.875586,-16.036133],[28.856738,-16.142285],[28.856738,-16.306152],[28.832715,-16.424121],[28.760547,-16.532129],[28.760645,-16.531934],[28.399805,-16.662793],[28.16377,-16.769727],[27.932227,-16.896191],[27.756543,-17.060352],[27.636719,-17.262109],[27.437891,-17.511914],[27.235742,-17.72832],[27.020801,-17.958398],[26.779883,-18.041504],[26.577539,-18.022559],[26.333398,-17.929297],[26.139551,-17.911719],[25.995898,-17.969824],[25.863281,-17.951953],[25.741602,-17.858203],[25.639648,-17.824121],[25.557129,-17.849512],[25.451758,-17.845117],[25.258789,-17.793555],[25.092188,-17.634375],[25.001758,-17.568555],[24.932422,-17.543457],[24.73291,-17.517773],[24.274902,-17.481055],[24.227148,-17.489551],[24.036914,-17.520898],[23.799219,-17.560156],[23.594922,-17.599414],[23.380664,-17.640625],[23.181641,-17.474414],[22.955859,-17.285742],[22.721973,-17.075293],[22.545996,-16.910254],[22.459473,-16.815137],[22.305078,-16.689551],[22.193945,-16.628125],[22.150684,-16.597168],[22.040234,-16.262793],[21.979785,-15.955566],[21.979785,-15.724121],[21.979688,-15.403223],[21.97959,-15.082324],[21.979492,-14.761426],[21.979395,-14.440527],[21.979297,-14.119629],[21.979102,-13.79873],[21.979102,-13.477734],[21.979004,-13.156836],[21.978906,-13.000977],[22.20957,-13.000977],[22.470996,-13.000977],[22.744336,-13.000977],[23.041504,-13.000977],[23.338672,-13.000977],[23.63584,-13.000977],[23.843164,-13.000977],[23.897461,-12.998242],[23.962988,-12.988477],[23.968066,-12.956934],[23.882422,-12.799023],[23.886523,-12.743262],[23.909375,-12.636133],[23.944727,-12.54375],[23.991309,-12.422168],[23.996484,-12.350684],[23.958887,-12.117773],[23.962305,-11.987891],[23.973438,-11.85293],[23.983887,-11.725],[23.970996,-11.63584],[23.986816,-11.587207],[24.014648,-11.517676],[24.029297,-11.43916],[24.04668,-11.405371],[24.041406,-11.374121],[24.025586,-11.315625],[24.010059,-11.184766],[23.988281,-11.002832],[23.966504,-10.871777],[24.002734,-10.879102],[24.078418,-10.891504],[24.115137,-10.955664],[24.136523,-11.025977],[24.187207,-11.02998],[24.319922,-11.071777],[24.365723,-11.129883],[24.396289,-11.255176],[24.37793,-11.319336],[24.335156,-11.371289],[24.37793,-11.41709],[24.466602,-11.447656],[24.518555,-11.438477],[24.668262,-11.35293],[24.728125,-11.337793],[24.806348,-11.321191],[24.876855,-11.299121],[25.075977,-11.260059],[25.184863,-11.242969],[25.245996,-11.212402],[25.28877,-11.212402],[25.319336,-11.236914],[25.291797,-11.325488],[25.282617,-11.40498],[25.320703,-11.553516],[25.349414,-11.623047],[25.413379,-11.673535],[25.459961,-11.699805],[25.511914,-11.753418],[25.618848,-11.744141],[25.854883,-11.820117],[25.926563,-11.855273],[26.025977,-11.890137],[26.096387,-11.903223],[26.339648,-11.929883],[26.429688,-11.947852],[26.596387,-11.97207],[26.729688,-11.975977],[26.824023,-11.965234],[26.89043,-11.943555],[26.930859,-11.919336],[26.949609,-11.898828],[26.976855,-11.824609],[27.02666,-11.66377],[27.046094,-11.615918],[27.09541,-11.59375],[27.15918,-11.579199],[27.196387,-11.605078],[27.238086,-11.783496],[27.423633,-11.944531],[27.487012,-12.079688],[27.533398,-12.195312],[27.573828,-12.227051],[27.644336,-12.266797],[27.756836,-12.280859],[27.857422,-12.284863],[28.068848,-12.368164],[28.237305,-12.43457],[28.357715,-12.482031],[28.412891,-12.518066],[28.451465,-12.577441],[28.474414,-12.62334],[28.51123,-12.742188],[28.550879,-12.836133],[28.61543,-12.854102],[28.672949,-12.861328],[28.730078,-12.925488],[28.773145,-12.981934],[28.858789,-13.119434],[28.92168,-13.214648],[28.942285,-13.307129],[29.014258,-13.368848],[29.111621,-13.395117],[29.201855,-13.39834],[29.253711,-13.370801],[29.381836,-13.322852],[29.481445,-13.267969],[29.554199,-13.248926],[29.597168,-13.260547],[29.630273,-13.298535],[29.647656,-13.372949],[29.651758,-13.414355],[29.722656,-13.453809],[29.775195,-13.438086],[29.795313,-13.392773],[29.796484,-13.369727],[29.796289,-13.16748],[29.796094,-12.99209],[29.795801,-12.827051],[29.795605,-12.625879],[29.795508,-12.450586],[29.795313,-12.306152],[29.795117,-12.155469],[29.749609,-12.164062],[29.691992,-12.19834],[29.559766,-12.202441],[29.508203,-12.228223],[29.491992,-12.266895],[29.502246,-12.317578],[29.504883,-12.386133],[29.485547,-12.418457],[29.427539,-12.43125],[29.34375,-12.404785],[29.191211,-12.370215],[29.064355,-12.348828],[28.973438,-12.257812],[28.85,-12.120508],[28.769434,-12.05127],[28.574609,-11.908105],[28.541602,-11.879199],[28.48252,-11.812109],[28.431836,-11.69834],[28.407031,-11.622852],[28.383398,-11.566699],[28.357227,-11.483008],[28.404199,-11.354395],[28.470313,-11.10957],[28.517969,-10.933203],[28.544238,-10.802344],[28.638867,-10.669238],[28.645508,-10.550195],[28.607422,-10.397363],[28.617188,-10.312988],[28.623535,-10.098828],[28.628906,-9.91875],[28.630078,-9.83125],[28.604199,-9.678809],[28.540527,-9.510059],[28.400195,-9.275],[28.400684,-9.224805],[28.484277,-9.169434],[28.616504,-9.072266],[28.68125,-9.014648],[28.758789,-8.932617],[28.793555,-8.891016],[28.869531,-8.78584],[28.917773,-8.700586],[28.934473,-8.590234],[28.898145,-8.485449],[28.972266,-8.464941],[29.215625,-8.427832],[29.483789,-8.386914],[29.766211,-8.34375],[30.051367,-8.300293],[30.327539,-8.258203],[30.57793,-8.22002],[30.751172,-8.193652],[30.776758,-8.26582],[30.830664,-8.385547],[30.891992,-8.47373],[30.968359,-8.550977],[31.033398,-8.597656],[31.076367,-8.611914],[31.350586,-8.607031],[31.449219,-8.653906],[31.534863,-8.713281],[31.55625,-8.805469],[31.612793,-8.863281],[31.673633,-8.908789],[31.7,-8.914355],[31.744727,-8.903223],[31.818066,-8.902246],[31.886133,-8.921973],[31.918652,-8.942188],[31.921875,-9.019434],[31.942578,-9.054004],[32.035352,-9.067383],[32.129785,-9.07334],[32.220898,-9.125586],[32.319336,-9.134863],[32.433203,-9.156348],[32.487109,-9.212695],[32.608398,-9.270508],[32.756641,-9.322266],[32.863281,-9.380859],[32.919922,-9.407422],[32.92334,-9.433984],[32.951074,-9.48418],[32.979883,-9.520313],[32.982129,-9.573633],[32.995996,-9.622852],[33.037793,-9.635059],[33.072461,-9.638184],[33.104492,-9.602637],[33.148047,-9.603516],[33.195703,-9.626172],[33.212695,-9.683008],[33.25,-9.75957],[33.310449,-9.811816],[33.350977,-9.862207],[33.337109,-9.954004],[33.311523,-10.037988],[33.393555,-10.120898],[33.500098,-10.199707],[33.528906,-10.234668],[33.537598,-10.351562],[33.553711,-10.391309],[33.626172,-10.488574],[33.661523,-10.553125],[33.659082,-10.590527],[33.464746,-10.783105],[33.403125,-10.801758],[33.344922,-10.812695],[33.292773,-10.852344],[33.261328,-10.893359],[33.272754,-10.915039],[33.293262,-10.981152],[33.338672,-11.085156],[33.379785,-11.15791],[33.345508,-11.249121],[33.268359,-11.403906],[33.232715,-11.417676],[33.226367,-11.534863],[33.25,-11.577637],[33.288281,-11.611133],[33.303906,-11.69082],[33.305078,-11.8],[33.300977,-11.888184],[33.252344,-12.112598],[33.340137,-12.308301],[33.37002,-12.329688],[33.491406,-12.331055],[33.512305,-12.347754],[33.483203,-12.403418],[33.430664,-12.460449],[33.397949,-12.489844],[33.243457,-12.556543],[33.021582,-12.630469],[32.975195,-12.701367],[32.945605,-12.804395],[32.970508,-12.864746],[33,-12.899609],[32.99043,-12.989453],[32.971094,-13.084277],[32.977637,-13.158887],[32.967578,-13.225],[32.938574,-13.257422],[32.899707,-13.357031],[32.851855,-13.457031],[32.814063,-13.502734],[32.758398,-13.550293],[32.67041,-13.59043],[32.67207,-13.610352],[32.771777,-13.656543],[32.797461,-13.688477],[32.806738,-13.710254],[32.785352,-13.731445],[32.765137,-13.761035],[32.811035,-13.791602],[32.867188,-13.817383],[32.920313,-13.883887],[32.967578,-13.976855],[32.98125,-14.009375],[32.99209,-14.022168],[33.009277,-14.02373],[33.042383,-14.010059],[33.103613,-13.95918],[33.148047,-13.940918],[33.201758,-14.013379],[32.987109,-14.084961],[32.874512,-14.122461],[32.553223,-14.22959],[32.272852,-14.323047],[32.199902,-14.34082],[32.054492,-14.386523],[31.982129,-14.414453],[31.728906,-14.496094],[31.623047,-14.536719],[31.537891,-14.577148],[31.328516,-14.637695],[31.130859,-14.694629],[30.915137,-14.75332],[30.67334,-14.819141],[30.537695,-14.866504],[30.446094,-14.90752],[30.231836,-14.990332],[30.221777,-15.010547],[30.225,-15.066895],[30.252148,-15.183203],[30.305664,-15.288867],[30.350586,-15.349707],[30.379883,-15.505859],[30.396094,-15.643066]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":3,"SOVEREIGNT":"Yemen","SOV_A3":"YEM","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Yemen","ADM0_A3":"YEM","GEOU_DIF":0,"GEOUNIT":"Yemen","GU_A3":"YEM","SU_DIF":0,"SUBUNIT":"Yemen","SU_A3":"YEM","BRK_DIFF":0,"NAME":"Yemen","NAME_LONG":"Yemen","BRK_A3":"YEM","BRK_NAME":"Yemen","BRK_GROUP":null,"ABBREV":"Yem.","POSTAL":"YE","FORMAL_EN":"Republic of Yemen","FORMAL_FR":null,"NAME_CIAWF":"Yemen","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Yemen, Rep.","NAME_ALT":null,"MAPCOLOR7":5,"MAPCOLOR8":3,"MAPCOLOR9":3,"MAPCOLOR13":11,"POP_EST":29161922,"POP_RANK":15,"POP_YEAR":2019,"GDP_MD":22581,"GDP_YEAR":2019,"ECONOMY":"7. Least developed region","INCOME_GRP":"4. Lower middle income","FIPS_10":"YM","ISO_A2":"YE","ISO_A2_EH":"YE","ISO_A3":"YEM","ISO_A3_EH":"YEM","ISO_N3":"887","ISO_N3_EH":"887","UN_A3":"887","WB_A2":"RY","WB_A3":"YEM","WOE_ID":23425002,"WOE_ID_EH":23425002,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"YEM","ADM0_DIFF":null,"ADM0_TLC":"YEM","ADM0_A3_US":"YEM","ADM0_A3_FR":"YEM","ADM0_A3_RU":"YEM","ADM0_A3_ES":"YEM","ADM0_A3_CN":"YEM","ADM0_A3_TW":"YEM","ADM0_A3_IN":"YEM","ADM0_A3_NP":"YEM","ADM0_A3_PK":"YEM","ADM0_A3_DE":"YEM","ADM0_A3_GB":"YEM","ADM0_A3_BR":"YEM","ADM0_A3_IL":"YEM","ADM0_A3_PS":"YEM","ADM0_A3_SA":"YEM","ADM0_A3_EG":"YEM","ADM0_A3_MA":"YEM","ADM0_A3_PT":"YEM","ADM0_A3_AR":"YEM","ADM0_A3_JP":"YEM","ADM0_A3_KO":"YEM","ADM0_A3_VN":"YEM","ADM0_A3_TR":"YEM","ADM0_A3_ID":"YEM","ADM0_A3_PL":"YEM","ADM0_A3_GR":"YEM","ADM0_A3_IT":"YEM","ADM0_A3_NL":"YEM","ADM0_A3_SE":"YEM","ADM0_A3_BD":"YEM","ADM0_A3_UA":"YEM","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Asia","REGION_UN":"Asia","SUBREGION":"Western Asia","REGION_WB":"Middle East & North Africa","NAME_LEN":5,"LONG_LEN":5,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":3,"MAX_LABEL":8,"LABEL_X":45.874383,"LABEL_Y":15.328226,"NE_ID":1159321425,"WIKIDATAID":"Q805","NAME_AR":"اليمن","NAME_BN":"ইয়েমেন","NAME_DE":"Jemen","NAME_EN":"Yemen","NAME_ES":"Yemen","NAME_FA":"یمن","NAME_FR":"Yémen","NAME_EL":"Υεμένη","NAME_HE":"תימן","NAME_HI":"यमन","NAME_HU":"Jemen","NAME_ID":"Yaman","NAME_IT":"Yemen","NAME_JA":"イエメン","NAME_KO":"예멘","NAME_NL":"Jemen","NAME_PL":"Jemen","NAME_PT":"Iémen","NAME_RU":"Йемен","NAME_SV":"Jemen","NAME_TR":"Yemen","NAME_UK":"Ємен","NAME_UR":"یمن","NAME_VI":"Yemen","NAME_ZH":"也门","NAME_ZHT":"葉門","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[42.549023,12.318994,54.511133,18.996143],"geometry":{"type":"MultiPolygon","coordinates":[[[[53.085645,16.648389],[52.581445,16.470361],[52.448438,16.39126],[52.327734,16.293555],[52.237305,16.171387],[52.174023,15.956836],[52.22207,15.760596],[52.21748,15.655518],[52.087305,15.585938],[51.96582,15.535693],[51.830762,15.459277],[51.748633,15.440137],[51.681543,15.379102],[51.603711,15.336816],[51.322461,15.22627],[51.015137,15.140771],[50.527051,15.038184],[50.338574,14.927197],[50.166895,14.851025],[49.906348,14.828125],[49.548633,14.722412],[49.349902,14.637793],[49.10293,14.500049],[49.048047,14.456445],[49.004688,14.355029],[48.928711,14.26748],[48.77998,14.123877],[48.668359,14.050146],[48.59375,14.04624],[48.449023,14.005908],[48.277832,13.997656],[47.989941,14.048096],[47.916016,14.012842],[47.855078,13.956934],[47.633398,13.858447],[47.407715,13.661621],[47.242578,13.609375],[46.975684,13.547461],[46.788867,13.465576],[46.663477,13.432715],[46.501953,13.415576],[46.203125,13.423828],[45.919727,13.394287],[45.657324,13.338721],[45.533984,13.233496],[45.393555,13.067041],[45.163867,12.998291],[45.109766,12.938574],[45.038672,12.815869],[44.889844,12.78418],[44.755273,12.76377],[44.617773,12.817236],[44.358496,12.669141],[44.260352,12.644629],[44.111523,12.638672],[44.005859,12.607666],[43.929785,12.616504],[43.835352,12.674414],[43.634375,12.744482],[43.487598,12.698828],[43.475293,12.839014],[43.231934,13.26709],[43.282617,13.639844],[43.282422,13.692529],[43.234082,13.858936],[43.089063,14.010986],[43.093359,14.203662],[43.044824,14.341553],[43.00625,14.483105],[43.01875,14.520801],[43.021094,14.554883],[42.946973,14.773145],[42.922168,14.817383],[42.912988,14.863086],[42.937305,14.898047],[42.936426,14.938574],[42.89707,15.005566],[42.855664,15.132959],[42.657813,15.232812],[42.697852,15.326318],[42.736426,15.293555],[42.788477,15.265723],[42.799023,15.32627],[42.799902,15.371631],[42.717188,15.654639],[42.839648,16.032031],[42.799316,16.371777],[42.986328,16.509082],[43.033594,16.550391],[43.060742,16.586621],[43.104785,16.66416],[43.165039,16.689404],[43.186328,16.770996],[43.184473,16.811816],[43.145605,16.846777],[43.116504,16.941992],[43.126172,17.062451],[43.135938,17.112988],[43.155957,17.205029],[43.221387,17.239258],[43.236914,17.266455],[43.186328,17.324707],[43.190918,17.359375],[43.302148,17.456787],[43.346094,17.486035],[43.417969,17.51626],[43.474219,17.515918],[43.539258,17.49873],[43.597266,17.471436],[43.653418,17.421875],[43.712988,17.365527],[43.804297,17.344141],[43.866406,17.349609],[43.916992,17.324707],[43.959668,17.33833],[44.008203,17.36748],[44.085938,17.365527],[44.155957,17.398535],[44.354688,17.414355],[44.546484,17.404346],[44.746777,17.431689],[44.946484,17.42959],[45.148047,17.427441],[45.192773,17.423389],[45.236621,17.406201],[45.406543,17.319775],[45.535352,17.302051],[45.794434,17.278418],[46.070801,17.253174],[46.310352,17.231299],[46.513477,17.25166],[46.682031,17.268555],[46.727637,17.265576],[46.778516,17.212109],[46.87998,17.079004],[46.975684,16.953467],[47.143555,16.94668],[47.25127,16.993945],[47.369629,17.0604],[47.441797,17.111865],[47.525391,17.316113],[47.57959,17.44834],[47.703711,17.596826],[47.807813,17.721094],[47.945508,17.88584],[48.02168,17.976953],[48.172168,18.156934],[48.31582,18.227051],[48.592969,18.362402],[48.864844,18.495215],[49.041992,18.581787],[49.192383,18.621338],[49.445117,18.655322],[49.74209,18.695312],[50.038965,18.735254],[50.355273,18.777783],[50.708203,18.825293],[50.95,18.857861],[51.258398,18.899365],[51.514941,18.933887],[51.742969,18.964551],[51.977637,18.996143],[52.021875,18.896289],[52.066211,18.796387],[52.110449,18.696484],[52.154688,18.596582],[52.199023,18.49668],[52.243262,18.396826],[52.2875,18.296924],[52.331738,18.19707],[52.376074,18.097168],[52.420313,17.997314],[52.464551,17.897412],[52.508887,17.79751],[52.553125,17.697607],[52.597363,17.597754],[52.641699,17.497852],[52.685938,17.397949],[52.729199,17.300391],[52.800586,17.26792],[52.842969,17.175684],[52.903711,17.043848],[52.964355,16.912061],[53.025,16.780225],[53.085645,16.648389]]],[[[42.590234,15.303418],[42.558691,15.281201],[42.549023,15.320068],[42.569727,15.407324],[42.602344,15.43252],[42.624512,15.367969],[42.610449,15.332275],[42.590234,15.303418]]],[[[42.755859,13.704297],[42.689746,13.673633],[42.734961,13.752979],[42.78125,13.769287],[42.794141,13.766113],[42.755859,13.704297]]],[[[42.787402,13.971484],[42.774219,13.950244],[42.756055,13.954883],[42.694043,14.00791],[42.762109,14.06748],[42.79834,14.012256],[42.787402,13.971484]]],[[[53.763184,12.636816],[53.824805,12.624805],[53.918555,12.659424],[54.187402,12.664014],[54.511133,12.552783],[54.45,12.523438],[54.41377,12.483301],[54.271289,12.446631],[54.129492,12.360645],[53.718848,12.318994],[53.59834,12.342285],[53.499414,12.425342],[53.31582,12.533154],[53.388477,12.601855],[53.403906,12.63335],[53.430957,12.663574],[53.534961,12.715771],[53.638477,12.707373],[53.763184,12.636816]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":3,"LABELRANK":2,"SOVEREIGNT":"Vietnam","SOV_A3":"VNM","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Vietnam","ADM0_A3":"VNM","GEOU_DIF":0,"GEOUNIT":"Vietnam","GU_A3":"VNM","SU_DIF":0,"SUBUNIT":"Vietnam","SU_A3":"VNM","BRK_DIFF":0,"NAME":"Vietnam","NAME_LONG":"Vietnam","BRK_A3":"VNM","BRK_NAME":"Vietnam","BRK_GROUP":null,"ABBREV":"Viet.","POSTAL":"VN","FORMAL_EN":"Socialist Republic of Vietnam","FORMAL_FR":null,"NAME_CIAWF":"Vietnam","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Vietnam","NAME_ALT":null,"MAPCOLOR7":5,"MAPCOLOR8":6,"MAPCOLOR9":5,"MAPCOLOR13":4,"POP_EST":96462106,"POP_RANK":16,"POP_YEAR":2019,"GDP_MD":261921,"GDP_YEAR":2019,"ECONOMY":"5. Emerging region: G20","INCOME_GRP":"4. Lower middle income","FIPS_10":"VM","ISO_A2":"VN","ISO_A2_EH":"VN","ISO_A3":"VNM","ISO_A3_EH":"VNM","ISO_N3":"704","ISO_N3_EH":"704","UN_A3":"704","WB_A2":"VN","WB_A3":"VNM","WOE_ID":23424984,"WOE_ID_EH":23424984,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"VNM","ADM0_DIFF":null,"ADM0_TLC":"VNM","ADM0_A3_US":"VNM","ADM0_A3_FR":"VNM","ADM0_A3_RU":"VNM","ADM0_A3_ES":"VNM","ADM0_A3_CN":"VNM","ADM0_A3_TW":"VNM","ADM0_A3_IN":"VNM","ADM0_A3_NP":"VNM","ADM0_A3_PK":"VNM","ADM0_A3_DE":"VNM","ADM0_A3_GB":"VNM","ADM0_A3_BR":"VNM","ADM0_A3_IL":"VNM","ADM0_A3_PS":"VNM","ADM0_A3_SA":"VNM","ADM0_A3_EG":"VNM","ADM0_A3_MA":"VNM","ADM0_A3_PT":"VNM","ADM0_A3_AR":"VNM","ADM0_A3_JP":"VNM","ADM0_A3_KO":"VNM","ADM0_A3_VN":"VNM","ADM0_A3_TR":"VNM","ADM0_A3_ID":"VNM","ADM0_A3_PL":"VNM","ADM0_A3_GR":"VNM","ADM0_A3_IT":"VNM","ADM0_A3_NL":"VNM","ADM0_A3_SE":"VNM","ADM0_A3_BD":"VNM","ADM0_A3_UA":"VNM","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Asia","REGION_UN":"Asia","SUBREGION":"South-Eastern Asia","REGION_WB":"East Asia & Pacific","NAME_LEN":7,"LONG_LEN":7,"ABBREV_LEN":5,"TINY":2,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":2,"MAX_LABEL":7,"LABEL_X":105.387292,"LABEL_Y":21.715416,"NE_ID":1159321417,"WIKIDATAID":"Q881","NAME_AR":"فيتنام","NAME_BN":"ভিয়েতনাম","NAME_DE":"Vietnam","NAME_EN":"Vietnam","NAME_ES":"Vietnam","NAME_FA":"ویتنام","NAME_FR":"Viêt Nam","NAME_EL":"Βιετνάμ","NAME_HE":"וייטנאם","NAME_HI":"वियतनाम","NAME_HU":"Vietnám","NAME_ID":"Vietnam","NAME_IT":"Vietnam","NAME_JA":"ベトナム","NAME_KO":"베트남","NAME_NL":"Vietnam","NAME_PL":"Wietnam","NAME_PT":"Vietname","NAME_RU":"Вьетнам","NAME_SV":"Vietnam","NAME_TR":"Vietnam","NAME_UK":"В'єтнам","NAME_UR":"ویتنام","NAME_VI":"Việt Nam","NAME_ZH":"越南","NAME_ZHT":"越南","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[102.127441,8.583252,109.444922,23.345215],"geometry":{"type":"MultiPolygon","coordinates":[[[[104.063965,10.39082],[104.083008,10.341113],[104.075781,10.224854],[104.036816,10.110742],[104.04834,10.061035],[104.018457,10.029199],[103.952148,10.24292],[103.867969,10.3354],[103.849512,10.371094],[103.898438,10.368506],[103.98584,10.426953],[104.027734,10.428369],[104.063965,10.39082]]],[[[107.972656,21.507959],[107.925781,21.498926],[107.809082,21.497119],[107.707227,21.405859],[107.636719,21.368066],[107.526953,21.33623],[107.409961,21.284814],[107.376172,21.194141],[107.37334,21.128467],[107.354297,21.055176],[107.164746,20.94873],[107.111719,20.95957],[107.075195,20.999268],[107.019238,20.991211],[106.981445,20.971387],[106.936426,20.974072],[106.88623,20.95],[106.820605,20.95752],[106.760254,20.991113],[106.725195,20.999902],[106.683398,21.000293],[106.675488,20.960498],[106.737305,20.806152],[106.753418,20.735059],[106.550781,20.526562],[106.572852,20.392187],[106.517969,20.288867],[106.395508,20.205908],[106.165723,19.992041],[106.062207,19.987354],[105.984082,19.939062],[105.813965,19.587451],[105.812109,19.466992],[105.785352,19.378857],[105.791113,19.294189],[105.716406,19.127783],[105.639063,19.057178],[105.621777,18.966309],[105.732031,18.779297],[105.744238,18.746289],[105.808203,18.64585],[105.839258,18.57417],[105.888281,18.50249],[106.065625,18.316357],[106.144531,18.259424],[106.239551,18.220703],[106.411914,18.053174],[106.499023,17.946436],[106.459375,17.873682],[106.478906,17.71958],[106.355859,17.765039],[106.370508,17.746875],[106.516797,17.662793],[106.735742,17.367188],[106.926172,17.221387],[107.119922,17.055518],[107.180371,16.897949],[107.355078,16.79375],[107.549316,16.642578],[107.54082,16.608643],[107.593457,16.568066],[107.724121,16.487842],[107.803125,16.403076],[107.833789,16.322461],[107.882031,16.309619],[107.936328,16.329395],[107.990723,16.337109],[108.029395,16.331104],[108.087988,16.242725],[108.169727,16.163672],[108.208984,16.091064],[108.24082,16.100781],[108.267383,16.089795],[108.274023,16.029053],[108.286035,15.989063],[108.395312,15.872461],[108.447461,15.762695],[108.577832,15.584717],[108.674219,15.483594],[108.742773,15.426611],[108.821289,15.37793],[108.898242,15.180518],[108.939941,15.001465],[109.022461,14.802832],[109.084863,14.716162],[109.087012,14.552588],[109.137305,14.384131],[109.191406,14.270459],[109.207324,14.154297],[109.223926,14.09668],[109.244629,14.053418],[109.30332,13.856445],[109.288086,13.765039],[109.24707,13.854736],[109.252051,13.590527],[109.288086,13.450781],[109.271875,13.279346],[109.30957,13.219189],[109.376758,13.025488],[109.423926,12.955957],[109.42002,12.719043],[109.444922,12.599609],[109.381445,12.670752],[109.335547,12.751904],[109.274023,12.709033],[109.218945,12.645801],[109.304688,12.391162],[109.206836,12.415381],[109.215723,12.0729],[109.25625,11.992871],[109.25918,11.954541],[109.247266,11.908691],[109.220215,11.958838],[109.214551,12.010449],[109.199121,11.999023],[109.199902,11.972461],[109.167285,11.912012],[109.15752,11.837109],[109.192676,11.773438],[109.198633,11.724854],[109.173242,11.664746],[109.13252,11.601074],[109.039648,11.592676],[109.018457,11.468359],[108.986719,11.336377],[108.820801,11.31543],[108.700293,11.199268],[108.55127,11.155957],[108.418555,11.040723],[108.27168,10.934277],[108.176172,10.920166],[108.094922,10.897266],[108.001367,10.720361],[107.845117,10.700098],[107.564453,10.555469],[107.470313,10.48584],[107.384473,10.458643],[107.261523,10.398389],[107.235059,10.419873],[107.194141,10.471582],[107.087793,10.49834],[107.035742,10.556299],[107.020703,10.630957],[107.006641,10.660547],[106.983691,10.618311],[106.966113,10.440723],[106.947461,10.400342],[106.902051,10.382812],[106.812695,10.433301],[106.727344,10.535645],[106.605859,10.464941],[106.643066,10.45625],[106.698438,10.462061],[106.741211,10.444385],[106.777539,10.376123],[106.77627,10.338965],[106.757422,10.295801],[106.643555,10.288916],[106.491699,10.304102],[106.464063,10.298291],[106.602441,10.231738],[106.729004,10.193311],[106.785254,10.151172],[106.785254,10.116455],[106.71416,10.060205],[106.65918,9.991406],[106.658105,9.94873],[106.656836,9.901074],[106.595605,9.859863],[106.557324,9.868066],[106.449121,9.939648],[106.136426,10.22168],[106.183594,10.14209],[106.507422,9.82124],[106.564355,9.715625],[106.572461,9.641113],[106.53916,9.603564],[106.484082,9.559424],[106.378027,9.556104],[106.204004,9.675439],[105.925684,9.961719],[105.830957,10.000732],[106.1125,9.673584],[106.158594,9.594141],[106.206152,9.502344],[106.192578,9.447803],[106.168359,9.396729],[105.500977,9.093213],[105.401367,8.962402],[105.322266,8.801123],[105.191211,8.711328],[105.114355,8.629199],[104.891895,8.583252],[104.77041,8.597656],[104.896289,8.746631],[104.818555,8.801855],[104.814648,9.185498],[104.845215,9.606152],[104.903223,9.81626],[104.987109,9.868652],[105.092578,9.900977],[105.094922,9.945264],[105.084473,9.995703],[105.027832,10.067432],[104.96582,10.100586],[104.873242,10.114795],[104.801953,10.202734],[104.747656,10.199121],[104.663477,10.169922],[104.612695,10.207666],[104.594043,10.266895],[104.516113,10.33999],[104.426367,10.41123],[104.466992,10.422363],[104.514063,10.46333],[104.564258,10.515967],[104.689648,10.523242],[104.81543,10.520801],[104.850586,10.534473],[104.90127,10.590234],[104.983887,10.661914],[105.046387,10.70166],[105.061133,10.733789],[105.036133,10.809375],[105.022266,10.886865],[105.045703,10.911377],[105.159473,10.897559],[105.284277,10.861475],[105.314648,10.845166],[105.386523,10.940088],[105.405762,10.951611],[105.452734,10.951416],[105.576563,10.968896],[105.697754,10.994043],[105.755078,10.98999],[105.810742,10.926074],[105.85332,10.863574],[105.875195,10.858496],[105.938184,10.885156],[105.990137,10.851807],[106.098828,10.797266],[106.163965,10.794922],[106.131543,10.921973],[106.167969,11.012305],[106.160937,11.037109],[106.099512,11.078662],[105.891602,11.244824],[105.856055,11.294287],[105.860938,11.372412],[105.854004,11.487061],[105.835352,11.559131],[105.838477,11.601318],[105.851465,11.63501],[105.889844,11.648389],[105.926562,11.65293],[105.95625,11.682471],[106.006055,11.758008],[106.10293,11.75127],[106.23916,11.70835],[106.339844,11.681836],[106.399219,11.687012],[106.4125,11.697803],[106.410742,11.738379],[106.417773,11.911719],[106.413867,11.948437],[106.499609,11.965527],[106.630957,11.969189],[106.700098,11.979297],[106.764648,12.052344],[106.930664,12.07749],[107.050684,12.175879],[107.158984,12.277051],[107.212109,12.304004],[107.279688,12.321582],[107.330078,12.319043],[107.393359,12.260498],[107.445996,12.295703],[107.506445,12.364551],[107.538086,12.431787],[107.555469,12.53999],[107.543555,12.705908],[107.511523,12.835742],[107.481543,12.933105],[107.475391,13.030371],[107.545508,13.225439],[107.605469,13.437793],[107.593945,13.52168],[107.528613,13.654199],[107.462305,13.815625],[107.389453,13.993018],[107.362109,14.019482],[107.342578,14.068896],[107.331445,14.126611],[107.360352,14.307861],[107.364453,14.368701],[107.448438,14.451221],[107.493164,14.545752],[107.535254,14.649951],[107.519434,14.705078],[107.51377,14.817383],[107.524512,14.871826],[107.504687,14.915918],[107.480371,14.979883],[107.496289,15.021436],[107.555273,15.057031],[107.589648,15.118457],[107.633691,15.189844],[107.653125,15.255225],[107.62168,15.309863],[107.564258,15.391602],[107.45957,15.46582],[107.33877,15.560498],[107.279395,15.618701],[107.232617,15.678076],[107.189551,15.747266],[107.165918,15.80249],[107.188867,15.838623],[107.360645,15.921729],[107.391992,15.95166],[107.410156,15.997852],[107.396387,16.043018],[107.350098,16.067383],[107.296484,16.084033],[107.217383,16.136328],[107.069727,16.279834],[107.001953,16.311816],[106.930664,16.353125],[106.892773,16.396533],[106.851074,16.515625],[106.832422,16.52627],[106.791602,16.490332],[106.739551,16.452539],[106.696094,16.458984],[106.656445,16.492627],[106.6375,16.537939],[106.593652,16.600098],[106.546191,16.650732],[106.533691,16.821045],[106.525977,16.876611],[106.502246,16.954102],[106.465332,16.981836],[106.425977,17.002539],[106.333398,17.143701],[106.269531,17.216797],[106.00625,17.415283],[105.973535,17.446973],[105.902734,17.528662],[105.779492,17.644434],[105.691406,17.737842],[105.627246,17.834424],[105.597656,17.918262],[105.588477,17.983691],[105.518555,18.077441],[105.458203,18.154297],[105.4,18.179248],[105.333496,18.189648],[105.273242,18.235352],[105.163281,18.338721],[105.114551,18.405273],[105.08584,18.450098],[105.087012,18.49624],[105.113477,18.573047],[105.14541,18.616797],[105.146484,18.650977],[105.115137,18.678857],[104.993164,18.72832],[104.716504,18.803418],[104.613281,18.860645],[104.517969,18.934082],[104.445801,18.983838],[104.108594,19.195557],[104.006348,19.230908],[103.918359,19.268506],[103.891602,19.30498],[103.896387,19.33999],[103.932031,19.366064],[104.027539,19.420459],[104.062891,19.482568],[104.051562,19.56416],[104.013477,19.646484],[104.032031,19.675146],[104.062793,19.678418],[104.127148,19.680859],[104.259863,19.685498],[104.546289,19.610547],[104.587891,19.61875],[104.743164,19.754736],[104.801758,19.836133],[104.815137,19.904004],[104.845801,19.947168],[104.92793,20.018115],[104.929199,20.082813],[104.888672,20.169092],[104.847852,20.202441],[104.812695,20.216846],[104.69873,20.205322],[104.676953,20.224707],[104.661914,20.289014],[104.656445,20.328516],[104.618848,20.374512],[104.496191,20.413672],[104.392188,20.424756],[104.367773,20.441406],[104.407813,20.485742],[104.478613,20.52959],[104.532715,20.554883],[104.575195,20.600244],[104.583203,20.64668],[104.530371,20.687988],[104.461426,20.73374],[104.349609,20.821094],[104.195312,20.913965],[104.101367,20.945508],[104.052051,20.941211],[103.882031,20.861426],[103.790527,20.809521],[103.714453,20.716943],[103.635059,20.69707],[103.554688,20.737842],[103.463574,20.779834],[103.210742,20.840625],[103.104492,20.89165],[102.883789,21.202588],[102.851172,21.265918],[102.872266,21.3375],[102.8875,21.439941],[102.90957,21.506348],[102.948633,21.569775],[102.95918,21.626221],[102.949609,21.681348],[102.917676,21.712939],[102.876172,21.722266],[102.845215,21.734766],[102.815918,21.807373],[102.798242,21.797949],[102.771094,21.709668],[102.738574,21.67793],[102.695312,21.662109],[102.662012,21.676025],[102.64082,21.711426],[102.63125,21.771338],[102.609668,21.851758],[102.58252,21.904297],[102.4875,21.957764],[102.442676,22.027148],[102.301367,22.178174],[102.183008,22.284033],[102.127441,22.379199],[102.175977,22.414648],[102.237012,22.466016],[102.302246,22.545996],[102.375781,22.646631],[102.406445,22.708008],[102.42793,22.732812],[102.470898,22.750928],[102.517188,22.741016],[102.598535,22.700391],[102.720996,22.648486],[102.830078,22.587158],[102.874219,22.525391],[102.935156,22.466162],[102.981934,22.448242],[103.005371,22.452979],[103.075879,22.49751],[103.136328,22.542236],[103.137598,22.592969],[103.193359,22.638525],[103.266309,22.713525],[103.300586,22.764404],[103.32666,22.769775],[103.356055,22.754688],[103.470996,22.597412],[103.492969,22.587988],[103.525391,22.611572],[103.570703,22.734424],[103.620215,22.782031],[103.637305,22.77002],[103.915039,22.538232],[103.941504,22.540088],[103.971387,22.550488],[103.99082,22.586133],[104.012695,22.666357],[104.053906,22.752295],[104.143066,22.800146],[104.2125,22.809424],[104.238281,22.768506],[104.29834,22.712012],[104.371777,22.704053],[104.526855,22.804102],[104.577539,22.82002],[104.631738,22.818213],[104.687305,22.822217],[104.740039,22.860498],[104.795703,22.911133],[104.814746,23.010791],[104.826563,23.100195],[104.864746,23.136377],[104.910156,23.160547],[104.995703,23.194336],[105.189063,23.281055],[105.23877,23.322119],[105.275391,23.345215],[105.350488,23.307666],[105.440137,23.235352],[105.494531,23.180859],[105.530859,23.121973],[105.548145,23.072656],[105.691211,23.029932],[105.782324,22.969336],[105.842969,22.922803],[105.902637,22.924951],[105.962305,22.937451],[106.000977,22.974756],[106.068457,22.975537],[106.148438,22.970068],[106.183984,22.955127],[106.249414,22.869434],[106.279004,22.857471],[106.338086,22.863477],[106.450879,22.893896],[106.541797,22.90835],[106.624023,22.874268],[106.780273,22.778906],[106.736328,22.710938],[106.701563,22.637744],[106.633105,22.586035],[106.582422,22.573242],[106.550391,22.501367],[106.536328,22.39541],[106.553613,22.341699],[106.593164,22.324512],[106.636523,22.288623],[106.654199,22.241455],[106.660059,22.136475],[106.657715,22.018213],[106.663574,21.978906],[106.697656,21.986182],[106.729492,22.000342],[106.794141,21.981982],[106.874512,21.95127],[106.925195,21.920117],[106.970996,21.923926],[107.006445,21.893408],[107.019824,21.834863],[107.061621,21.794189],[107.178516,21.71709],[107.27207,21.710645],[107.351172,21.608887],[107.433496,21.642285],[107.471387,21.59834],[107.641016,21.613916],[107.759277,21.655029],[107.802051,21.645166],[107.908398,21.5604],[107.972656,21.507959]]],[[[106.61748,8.682812],[106.589258,8.680518],[106.567969,8.700928],[106.658594,8.766357],[106.649512,8.722998],[106.652539,8.701123],[106.61748,8.682812]]],[[[107.167676,10.397168],[107.083789,10.336572],[107.07793,10.3875],[107.150879,10.420312],[107.176562,10.446191],[107.194922,10.445703],[107.167676,10.397168]]],[[[106.865625,20.815723],[106.854102,20.796387],[106.803125,20.84375],[106.769434,20.864209],[106.795313,20.92793],[106.855078,20.858252],[106.865625,20.815723]]],[[[107.602734,21.216797],[107.458691,21.09165],[107.403516,21.093652],[107.452539,21.235303],[107.47627,21.268945],[107.562695,21.22041],[107.602734,21.216797]]],[[[107.521289,20.926611],[107.465527,20.900537],[107.399219,20.903467],[107.478613,20.952344],[107.518945,21.012842],[107.55127,21.034033],[107.551074,20.981201],[107.521289,20.926611]]],[[[107.031348,20.747021],[106.990039,20.743066],[106.910645,20.824219],[106.953418,20.867041],[107.04375,20.836816],[107.064453,20.817285],[107.063965,20.799756],[107.042285,20.761035],[107.031348,20.747021]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":5,"LABELRANK":3,"SOVEREIGNT":"Venezuela","SOV_A3":"VEN","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Venezuela","ADM0_A3":"VEN","GEOU_DIF":0,"GEOUNIT":"Venezuela","GU_A3":"VEN","SU_DIF":0,"SUBUNIT":"Venezuela","SU_A3":"VEN","BRK_DIFF":0,"NAME":"Venezuela","NAME_LONG":"Venezuela","BRK_A3":"VEN","BRK_NAME":"Venezuela","BRK_GROUP":null,"ABBREV":"Ven.","POSTAL":"VE","FORMAL_EN":"Bolivarian Republic of Venezuela","FORMAL_FR":"República Bolivariana de Venezuela","NAME_CIAWF":"Venezuela","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Venezuela, RB","NAME_ALT":null,"MAPCOLOR7":1,"MAPCOLOR8":3,"MAPCOLOR9":1,"MAPCOLOR13":4,"POP_EST":28515829,"POP_RANK":15,"POP_YEAR":2019,"GDP_MD":482359,"GDP_YEAR":2014,"ECONOMY":"5. Emerging region: G20","INCOME_GRP":"3. Upper middle income","FIPS_10":"VE","ISO_A2":"VE","ISO_A2_EH":"VE","ISO_A3":"VEN","ISO_A3_EH":"VEN","ISO_N3":"862","ISO_N3_EH":"862","UN_A3":"862","WB_A2":"VE","WB_A3":"VEN","WOE_ID":23424982,"WOE_ID_EH":23424982,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"VEN","ADM0_DIFF":null,"ADM0_TLC":"VEN","ADM0_A3_US":"VEN","ADM0_A3_FR":"VEN","ADM0_A3_RU":"VEN","ADM0_A3_ES":"VEN","ADM0_A3_CN":"VEN","ADM0_A3_TW":"VEN","ADM0_A3_IN":"VEN","ADM0_A3_NP":"VEN","ADM0_A3_PK":"VEN","ADM0_A3_DE":"VEN","ADM0_A3_GB":"VEN","ADM0_A3_BR":"VEN","ADM0_A3_IL":"VEN","ADM0_A3_PS":"VEN","ADM0_A3_SA":"VEN","ADM0_A3_EG":"VEN","ADM0_A3_MA":"VEN","ADM0_A3_PT":"VEN","ADM0_A3_AR":"VEN","ADM0_A3_JP":"VEN","ADM0_A3_KO":"VEN","ADM0_A3_VN":"VEN","ADM0_A3_TR":"VEN","ADM0_A3_ID":"VEN","ADM0_A3_PL":"VEN","ADM0_A3_GR":"VEN","ADM0_A3_IT":"VEN","ADM0_A3_NL":"VEN","ADM0_A3_SE":"VEN","ADM0_A3_BD":"VEN","ADM0_A3_UA":"VEN","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"South America","REGION_UN":"Americas","SUBREGION":"South America","REGION_WB":"Latin America & Caribbean","NAME_LEN":9,"LONG_LEN":9,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":2.5,"MAX_LABEL":7.5,"LABEL_X":-64.599381,"LABEL_Y":7.182476,"NE_ID":1159321411,"WIKIDATAID":"Q717","NAME_AR":"فنزويلا","NAME_BN":"ভেনেজুয়েলা","NAME_DE":"Venezuela","NAME_EN":"Venezuela","NAME_ES":"Venezuela","NAME_FA":"ونزوئلا","NAME_FR":"Venezuela","NAME_EL":"Βενεζουέλα","NAME_HE":"ונצואלה","NAME_HI":"वेनेज़ुएला","NAME_HU":"Venezuela","NAME_ID":"Venezuela","NAME_IT":"Venezuela","NAME_JA":"ベネズエラ","NAME_KO":"베네수엘라","NAME_NL":"Venezuela","NAME_PL":"Wenezuela","NAME_PT":"Venezuela","NAME_RU":"Венесуэла","NAME_SV":"Venezuela","NAME_TR":"Venezuela","NAME_UK":"Венесуела","NAME_UR":"وینیزویلا","NAME_VI":"Venezuela","NAME_ZH":"委内瑞拉","NAME_ZHT":"委內瑞拉","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[-73.366211,0.687988,-59.828906,12.177881],"geometry":{"type":"MultiPolygon","coordinates":[[[[-60.821191,9.138379],[-60.941406,9.105566],[-60.939453,9.132324],[-60.907275,9.178711],[-60.844873,9.191797],[-60.821387,9.207666],[-60.781592,9.218359],[-60.758887,9.216455],[-60.73584,9.20332],[-60.790381,9.177197],[-60.821191,9.138379]]],[[[-63.849365,11.131006],[-63.817285,11.000342],[-63.8271,10.97583],[-63.917627,10.887549],[-63.993555,10.881201],[-64.054688,10.884326],[-64.101172,10.901416],[-64.160889,10.958789],[-64.218945,10.941602],[-64.3625,10.961523],[-64.402344,10.981592],[-64.348633,11.051904],[-64.249756,11.080322],[-64.213672,11.086133],[-64.184814,11.042969],[-64.112793,11.005664],[-64.02832,11.001855],[-64.007324,11.068457],[-63.893115,11.167236],[-63.849365,11.131006]]],[[[-65.2125,10.906445],[-65.266406,10.883984],[-65.365234,10.906445],[-65.414648,10.937891],[-65.383203,10.973828],[-65.302344,10.973828],[-65.226562,10.930225],[-65.2125,10.906445]]],[[[-60.9979,8.867334],[-61.059961,8.847021],[-61.069189,8.947314],[-61.050488,8.974365],[-60.944775,9.055029],[-60.91582,9.070312],[-60.89458,9.053369],[-60.899902,9.031885],[-60.84917,8.995703],[-60.861426,8.949609],[-60.916406,8.899268],[-60.9979,8.867334]]],[[[-60.017529,8.549316],[-59.831641,8.305957],[-59.828906,8.27915],[-59.849072,8.248682],[-59.964844,8.191602],[-59.990723,8.162012],[-60.032422,8.053564],[-60.178174,7.994043],[-60.278906,7.919434],[-60.346777,7.854004],[-60.380615,7.827637],[-60.513623,7.813184],[-60.556348,7.772021],[-60.610107,7.64834],[-60.649463,7.596631],[-60.718652,7.535937],[-60.719238,7.498682],[-60.62373,7.36333],[-60.606543,7.32085],[-60.636182,7.256592],[-60.633301,7.211084],[-60.583203,7.156201],[-60.523193,7.143701],[-60.464941,7.166553],[-60.392383,7.164551],[-60.345068,7.15],[-60.325488,7.133984],[-60.32207,7.092041],[-60.3521,7.002881],[-60.39502,6.945361],[-60.586084,6.85708],[-60.671045,6.805957],[-60.71792,6.768311],[-60.82085,6.788477],[-60.87334,6.786914],[-60.913574,6.757812],[-60.937988,6.732764],[-61.00708,6.726611],[-61.104785,6.711377],[-61.145605,6.694531],[-61.177246,6.650928],[-61.203613,6.588379],[-61.181592,6.513379],[-61.151025,6.446533],[-61.152295,6.385107],[-61.128711,6.214307],[-61.159473,6.174414],[-61.224951,6.129199],[-61.303125,6.049512],[-61.39082,5.93877],[-61.376807,5.906982],[-61.167187,5.674219],[-60.954004,5.437402],[-60.742139,5.202051],[-60.711963,5.191553],[-60.671973,5.164355],[-60.63501,5.081982],[-60.604492,4.99458],[-60.603857,4.949365],[-60.627588,4.892529],[-60.67915,4.8271],[-60.741748,4.774121],[-60.833398,4.729199],[-60.90625,4.686816],[-60.966406,4.574707],[-61.002832,4.535254],[-61.036279,4.519336],[-61.102441,4.504687],[-61.209424,4.508057],[-61.280078,4.516895],[-61.367529,4.433008],[-61.479395,4.402246],[-61.554248,4.287793],[-61.82085,4.197021],[-62.081592,4.126318],[-62.153125,4.098389],[-62.410645,4.156738],[-62.472559,4.138525],[-62.543945,4.084326],[-62.609766,4.042285],[-62.665332,4.039648],[-62.712109,4.01792],[-62.739941,3.940332],[-62.7646,3.672949],[-62.856982,3.593457],[-62.968652,3.593945],[-63.045312,3.686475],[-63.13623,3.756445],[-63.294727,3.922266],[-63.338672,3.943896],[-63.379785,3.942871],[-63.526807,3.893701],[-63.596631,3.915039],[-63.65293,3.94082],[-63.746973,3.932568],[-63.914648,3.930664],[-64.021484,3.929102],[-64.073389,3.974414],[-64.121729,4.066992],[-64.154297,4.100146],[-64.19248,4.126855],[-64.255664,4.140332],[-64.525537,4.13999],[-64.576367,4.139893],[-64.613672,4.157715],[-64.665527,4.237109],[-64.722266,4.274414],[-64.788672,4.276025],[-64.817871,4.232275],[-64.702588,4.089307],[-64.668994,4.011816],[-64.56792,3.899805],[-64.275293,3.662695],[-64.221094,3.587402],[-64.227051,3.491211],[-64.22876,3.343994],[-64.218848,3.204687],[-64.143555,3.004883],[-64.037793,2.801514],[-64.009033,2.671875],[-64.028711,2.576074],[-64.048828,2.525098],[-64.046582,2.502393],[-64.024902,2.481885],[-63.92417,2.452441],[-63.712549,2.434033],[-63.584619,2.433936],[-63.389258,2.411914],[-63.374854,2.34043],[-63.393945,2.22251],[-63.43252,2.155566],[-63.463916,2.136035],[-63.570264,2.120508],[-63.682129,2.048145],[-63.844482,1.976709],[-63.937158,1.966992],[-63.975781,1.953027],[-64.008496,1.931592],[-64.035449,1.904443],[-64.067041,1.770508],[-64.114844,1.619287],[-64.205029,1.529492],[-64.304199,1.455273],[-64.405127,1.446875],[-64.486035,1.452783],[-64.52627,1.431006],[-64.584375,1.369873],[-64.667432,1.293848],[-64.731543,1.25332],[-64.817969,1.257129],[-64.910107,1.219727],[-65.026562,1.158447],[-65.10376,1.108105],[-65.169629,1.022217],[-65.263965,0.931885],[-65.36084,0.868652],[-65.407227,0.790479],[-65.473389,0.69126],[-65.556055,0.687988],[-65.562695,0.74751],[-65.522998,0.843408],[-65.566016,0.926074],[-65.644678,0.970361],[-65.681445,0.983447],[-65.718115,0.978027],[-65.811328,0.937256],[-65.925879,0.863135],[-65.996338,0.809766],[-66.060059,0.785352],[-66.191211,0.763281],[-66.30166,0.751953],[-66.347119,0.767187],[-66.429248,0.82168],[-66.619043,0.992139],[-66.876025,1.223047],[-66.895508,1.289893],[-66.884473,1.358252],[-66.931104,1.458008],[-66.95835,1.564209],[-66.981543,1.600781],[-66.988135,1.680176],[-67.043896,1.823193],[-67.089551,1.940332],[-67.131445,1.999854],[-67.113818,2.050586],[-67.131445,2.10127],[-67.165479,2.142578],[-67.215234,2.275488],[-67.197607,2.332764],[-67.21084,2.390137],[-67.252734,2.429443],[-67.312256,2.47168],[-67.391602,2.559912],[-67.486426,2.643652],[-67.534961,2.676758],[-67.568018,2.689941],[-67.59668,2.769336],[-67.618701,2.793604],[-67.667236,2.800195],[-67.766455,2.833301],[-67.859082,2.793604],[-67.86123,2.855322],[-67.834766,2.892822],[-67.514844,3.187256],[-67.353613,3.322656],[-67.336279,3.342627],[-67.322168,3.373975],[-67.311133,3.415869],[-67.347705,3.46377],[-67.498682,3.691113],[-67.551123,3.733838],[-67.602539,3.768799],[-67.661621,3.864258],[-67.732324,4.086523],[-67.783203,4.198242],[-67.798633,4.283887],[-67.79541,4.380713],[-67.814307,4.455078],[-67.855273,4.506885],[-67.855273,4.665479],[-67.814307,4.930811],[-67.804199,5.13252],[-67.824902,5.270459],[-67.788428,5.375488],[-67.694629,5.44751],[-67.642285,5.558789],[-67.631348,5.709375],[-67.575195,5.833105],[-67.473877,5.92998],[-67.439355,6.025537],[-67.471582,6.119775],[-67.481982,6.180273],[-67.568066,6.241797],[-67.727148,6.284961],[-67.85918,6.289893],[-67.938867,6.241943],[-68.143066,6.19751],[-68.471777,6.156543],[-68.736475,6.156787],[-68.937207,6.198193],[-69.089941,6.184375],[-69.194531,6.115332],[-69.268164,6.099707],[-69.31084,6.137598],[-69.35708,6.147998],[-69.427148,6.123975],[-69.439258,6.134912],[-69.594824,6.321484],[-69.738965,6.494385],[-69.904199,6.700244],[-70.09502,6.937939],[-70.129199,6.953613],[-70.188135,6.952051],[-70.266113,6.947949],[-70.3875,6.972607],[-70.470654,7.007129],[-70.535547,7.040527],[-70.655078,7.082764],[-70.737158,7.090039],[-70.810693,7.077588],[-71.013281,6.994434],[-71.128613,6.986719],[-71.217822,6.985205],[-71.457129,7.026367],[-71.620898,7.03291],[-71.811279,7.005811],[-71.892676,6.990332],[-72.006641,7.032617],[-72.084277,7.096875],[-72.156689,7.249707],[-72.207715,7.370264],[-72.296338,7.394531],[-72.394629,7.415088],[-72.442969,7.454883],[-72.471973,7.524268],[-72.478955,7.613232],[-72.468896,7.757959],[-72.45957,7.809863],[-72.446045,7.966113],[-72.391699,8.047705],[-72.357617,8.087305],[-72.36416,8.152783],[-72.390332,8.287061],[-72.416553,8.381982],[-72.525732,8.489697],[-72.66543,8.627588],[-72.725537,8.848291],[-72.796387,9.108984],[-72.8521,9.135156],[-72.904443,9.12207],[-72.960156,9.135156],[-73.009277,9.239941],[-73.058398,9.25957],[-73.136719,9.222803],[-73.193164,9.194141],[-73.336719,9.16792],[-73.366211,9.194141],[-73.356348,9.226855],[-73.295654,9.322021],[-73.224268,9.443604],[-73.14126,9.554639],[-73.064062,9.668213],[-73.006543,9.78916],[-72.967383,10.029736],[-72.940381,10.195752],[-72.869336,10.49126],[-72.73916,10.727197],[-72.690088,10.83584],[-72.572266,10.977148],[-72.518018,11.053906],[-72.446094,11.114258],[-72.248486,11.196436],[-72.012305,11.601953],[-71.958105,11.666406],[-71.719482,11.726855],[-71.536084,11.774072],[-71.400195,11.823535],[-71.355566,11.849756],[-71.319727,11.861914],[-71.349414,11.814941],[-71.414551,11.755176],[-71.488379,11.71875],[-71.868652,11.627344],[-71.90752,11.607959],[-71.956934,11.569922],[-71.957227,11.482812],[-71.946973,11.414453],[-71.835107,11.190332],[-71.791455,11.135059],[-71.641602,11.013525],[-71.675684,10.996729],[-71.730908,10.994678],[-71.69043,10.835498],[-71.598437,10.726221],[-71.594336,10.657373],[-71.664844,10.44375],[-71.793506,10.315967],[-71.884766,10.167236],[-71.955713,10.108057],[-72.112842,9.815576],[-71.993262,9.641504],[-71.97627,9.553223],[-71.873047,9.427637],[-71.805664,9.386426],[-71.760742,9.335742],[-71.781348,9.25],[-71.740137,9.133887],[-71.686719,9.07251],[-71.619531,9.047949],[-71.536621,9.048291],[-71.297949,9.125635],[-71.241406,9.160449],[-71.205371,9.222461],[-71.08584,9.348242],[-71.078418,9.510791],[-71.052686,9.705811],[-71.081738,9.833203],[-71.207227,10.0146],[-71.262207,10.143604],[-71.386621,10.26377],[-71.462793,10.469238],[-71.494238,10.533203],[-71.517871,10.621826],[-71.544629,10.778711],[-71.461133,10.835645],[-71.469531,10.96416],[-71.264355,10.999512],[-70.820508,11.208447],[-70.545605,11.261377],[-70.23252,11.372998],[-70.159961,11.428076],[-70.097119,11.519775],[-70.048535,11.530322],[-69.885352,11.444336],[-69.804785,11.474219],[-69.7729,11.541309],[-69.817334,11.67207],[-69.910937,11.672119],[-70.192578,11.624609],[-70.220117,11.680859],[-70.22002,11.730078],[-70.286523,11.886035],[-70.245117,12.003516],[-70.202783,12.098389],[-70.122021,12.136621],[-70.003955,12.177881],[-69.914355,12.1146],[-69.860107,12.054199],[-69.830615,11.995605],[-69.810547,11.836865],[-69.762402,11.676025],[-69.711914,11.564209],[-69.631592,11.479932],[-69.569824,11.485449],[-69.525732,11.499512],[-69.232568,11.518457],[-69.05459,11.461035],[-68.827979,11.431738],[-68.616211,11.309375],[-68.398633,11.160986],[-68.343164,11.052832],[-68.324805,10.949316],[-68.27207,10.880029],[-68.324707,10.80874],[-68.296289,10.689355],[-68.234082,10.569141],[-68.139941,10.492725],[-67.871631,10.47207],[-67.581348,10.52373],[-67.133301,10.57041],[-66.989062,10.610645],[-66.247217,10.632227],[-66.105859,10.574609],[-66.092139,10.51709],[-66.090479,10.472949],[-65.851758,10.257764],[-65.655859,10.228467],[-65.489355,10.159424],[-65.317383,10.122363],[-65.129102,10.070068],[-65.023291,10.07666],[-64.944043,10.09502],[-64.850488,10.098096],[-64.18833,10.457812],[-63.833691,10.448535],[-63.779053,10.471924],[-63.731885,10.503418],[-63.862695,10.558154],[-64.15791,10.579248],[-64.24751,10.542578],[-64.298193,10.635156],[-64.201953,10.632666],[-63.873437,10.66377],[-63.496777,10.643262],[-63.189893,10.70918],[-63.035498,10.720117],[-62.946729,10.70708],[-62.702344,10.749805],[-62.242285,10.699561],[-61.879492,10.741016],[-61.921387,10.681445],[-62.04043,10.645361],[-62.23291,10.633984],[-62.37998,10.546875],[-62.693555,10.562988],[-62.913574,10.531494],[-62.842969,10.507227],[-62.843018,10.41792],[-62.812939,10.399902],[-62.78125,10.399219],[-62.706299,10.333057],[-62.68584,10.289795],[-62.661621,10.198584],[-62.694678,10.100098],[-62.740576,10.056152],[-62.651172,10.070654],[-62.600488,10.116943],[-62.60791,10.163428],[-62.600488,10.217285],[-62.550342,10.200439],[-62.515137,10.176123],[-62.400928,9.918408],[-62.32041,9.783057],[-62.299805,9.788184],[-62.280664,9.792969],[-62.256738,9.818896],[-62.221143,9.882568],[-62.19043,9.842187],[-62.171973,9.826709],[-62.153369,9.821777],[-62.170312,9.879492],[-62.147461,9.953418],[-62.155322,9.979248],[-62.119629,9.984863],[-62.0771,9.975049],[-62.016504,9.954687],[-61.908594,9.869922],[-61.837256,9.78208],[-61.831152,9.733057],[-61.805371,9.705518],[-61.75874,9.676514],[-61.735937,9.631201],[-61.731738,9.70249],[-61.75918,9.754443],[-61.765918,9.813818],[-61.625391,9.816455],[-61.588867,9.894531],[-61.512305,9.84751],[-61.309375,9.633057],[-61.234424,9.597607],[-61.013379,9.556445],[-60.874072,9.45332],[-60.79248,9.360742],[-60.840967,9.263672],[-60.971045,9.215186],[-61.023145,9.15459],[-61.053076,9.095117],[-61.053564,9.035254],[-61.092969,8.965771],[-61.098828,8.941309],[-61.122363,8.843359],[-61.175879,8.725391],[-61.247266,8.600342],[-61.618701,8.597461],[-61.526904,8.546143],[-61.442578,8.508691],[-61.304004,8.4104],[-61.19375,8.487598],[-61.035986,8.493115],[-60.865234,8.578809],[-60.800977,8.592139],[-60.481494,8.547266],[-60.404492,8.610254],[-60.340234,8.62876],[-60.16748,8.616992],[-60.017529,8.549316]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":6,"LABELRANK":6,"SOVEREIGNT":"Vatican","SOV_A3":"VAT","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Vatican","ADM0_A3":"VAT","GEOU_DIF":0,"GEOUNIT":"Vatican","GU_A3":"VAT","SU_DIF":0,"SUBUNIT":"Vatican","SU_A3":"VAT","BRK_DIFF":0,"NAME":"Vatican","NAME_LONG":"Vatican","BRK_A3":"VAT","BRK_NAME":"Vatican","BRK_GROUP":null,"ABBREV":"Vat.","POSTAL":"V","FORMAL_EN":"State of the Vatican City","FORMAL_FR":null,"NAME_CIAWF":"Holy See (Vatican City)","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Vatican (Holy See)","NAME_ALT":"Holy See","MAPCOLOR7":1,"MAPCOLOR8":3,"MAPCOLOR9":4,"MAPCOLOR13":2,"POP_EST":825,"POP_RANK":2,"POP_YEAR":2019,"GDP_MD":-99,"GDP_YEAR":2019,"ECONOMY":"2. Developed region: nonG7","INCOME_GRP":"2. High income: nonOECD","FIPS_10":"VT","ISO_A2":"VA","ISO_A2_EH":"VA","ISO_A3":"VAT","ISO_A3_EH":"VAT","ISO_N3":"336","ISO_N3_EH":"336","UN_A3":"336","WB_A2":"-99","WB_A3":"-99","WOE_ID":23424986,"WOE_ID_EH":23424986,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"VAT","ADM0_DIFF":null,"ADM0_TLC":"VAT","ADM0_A3_US":"VAT","ADM0_A3_FR":"VAT","ADM0_A3_RU":"VAT","ADM0_A3_ES":"VAT","ADM0_A3_CN":"VAT","ADM0_A3_TW":"VAT","ADM0_A3_IN":"VAT","ADM0_A3_NP":"VAT","ADM0_A3_PK":"VAT","ADM0_A3_DE":"VAT","ADM0_A3_GB":"VAT","ADM0_A3_BR":"VAT","ADM0_A3_IL":"VAT","ADM0_A3_PS":"VAT","ADM0_A3_SA":"VAT","ADM0_A3_EG":"VAT","ADM0_A3_MA":"VAT","ADM0_A3_PT":"VAT","ADM0_A3_AR":"VAT","ADM0_A3_JP":"VAT","ADM0_A3_KO":"VAT","ADM0_A3_VN":"VAT","ADM0_A3_TR":"VAT","ADM0_A3_ID":"VAT","ADM0_A3_PL":"VAT","ADM0_A3_GR":"VAT","ADM0_A3_IT":"VAT","ADM0_A3_NL":"VAT","ADM0_A3_SE":"VAT","ADM0_A3_BD":"VAT","ADM0_A3_UA":"VAT","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Europe","REGION_UN":"Europe","SUBREGION":"Southern Europe","REGION_WB":"Europe & Central Asia","NAME_LEN":7,"LONG_LEN":7,"ABBREV_LEN":4,"TINY":4,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":5,"MAX_LABEL":10,"LABEL_X":12.453418,"LABEL_Y":41.903323,"NE_ID":1159321407,"WIKIDATAID":"Q237","NAME_AR":"الفاتيكان","NAME_BN":"ভ্যাটিকান সিটি","NAME_DE":"Vatikanstadt","NAME_EN":"Vatican City","NAME_ES":"Ciudad del Vaticano","NAME_FA":"واتیکان","NAME_FR":"Cité du Vatican","NAME_EL":"Βατικανό","NAME_HE":"קריית הוותיקן","NAME_HI":"वैटिकन नगर","NAME_HU":"Vatikán","NAME_ID":"Vatikan","NAME_IT":"Città del Vaticano","NAME_JA":"バチカン","NAME_KO":"바티칸 시국","NAME_NL":"Vaticaanstad","NAME_PL":"Watykan","NAME_PT":"Vaticano","NAME_RU":"Ватикан","NAME_SV":"Vatikanstaten","NAME_TR":"Vatikan","NAME_UK":"Ватикан","NAME_UR":"ویٹیکن سٹی","NAME_VI":"Thành Vatican","NAME_ZH":"梵蒂冈","NAME_ZHT":"梵蒂岡","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[12.427539,41.897559,12.43916,41.906201],"geometry":{"type":"Polygon","coordinates":[[[12.43916,41.898389],[12.430566,41.897559],[12.427539,41.900732],[12.430566,41.905469],[12.438379,41.906201],[12.43916,41.898389]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":4,"SOVEREIGNT":"Vanuatu","SOV_A3":"VUT","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Vanuatu","ADM0_A3":"VUT","GEOU_DIF":0,"GEOUNIT":"Vanuatu","GU_A3":"VUT","SU_DIF":0,"SUBUNIT":"Vanuatu","SU_A3":"VUT","BRK_DIFF":0,"NAME":"Vanuatu","NAME_LONG":"Vanuatu","BRK_A3":"VUT","BRK_NAME":"Vanuatu","BRK_GROUP":null,"ABBREV":"Van.","POSTAL":"VU","FORMAL_EN":"Republic of Vanuatu","FORMAL_FR":null,"NAME_CIAWF":"Vanuatu","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Vanuatu","NAME_ALT":null,"MAPCOLOR7":6,"MAPCOLOR8":3,"MAPCOLOR9":7,"MAPCOLOR13":3,"POP_EST":299882,"POP_RANK":10,"POP_YEAR":2019,"GDP_MD":934,"GDP_YEAR":2019,"ECONOMY":"7. Least developed region","INCOME_GRP":"4. Lower middle income","FIPS_10":"NH","ISO_A2":"VU","ISO_A2_EH":"VU","ISO_A3":"VUT","ISO_A3_EH":"VUT","ISO_N3":"548","ISO_N3_EH":"548","UN_A3":"548","WB_A2":"VU","WB_A3":"VUT","WOE_ID":23424907,"WOE_ID_EH":23424907,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"VUT","ADM0_DIFF":null,"ADM0_TLC":"VUT","ADM0_A3_US":"VUT","ADM0_A3_FR":"VUT","ADM0_A3_RU":"VUT","ADM0_A3_ES":"VUT","ADM0_A3_CN":"VUT","ADM0_A3_TW":"VUT","ADM0_A3_IN":"VUT","ADM0_A3_NP":"VUT","ADM0_A3_PK":"VUT","ADM0_A3_DE":"VUT","ADM0_A3_GB":"VUT","ADM0_A3_BR":"VUT","ADM0_A3_IL":"VUT","ADM0_A3_PS":"VUT","ADM0_A3_SA":"VUT","ADM0_A3_EG":"VUT","ADM0_A3_MA":"VUT","ADM0_A3_PT":"VUT","ADM0_A3_AR":"VUT","ADM0_A3_JP":"VUT","ADM0_A3_KO":"VUT","ADM0_A3_VN":"VUT","ADM0_A3_TR":"VUT","ADM0_A3_ID":"VUT","ADM0_A3_PL":"VUT","ADM0_A3_GR":"VUT","ADM0_A3_IT":"VUT","ADM0_A3_NL":"VUT","ADM0_A3_SE":"VUT","ADM0_A3_BD":"VUT","ADM0_A3_UA":"VUT","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Oceania","REGION_UN":"Oceania","SUBREGION":"Melanesia","REGION_WB":"East Asia & Pacific","NAME_LEN":7,"LONG_LEN":7,"ABBREV_LEN":4,"TINY":2,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":4,"MAX_LABEL":9,"LABEL_X":166.908762,"LABEL_Y":-15.37153,"NE_ID":1159321421,"WIKIDATAID":"Q686","NAME_AR":"فانواتو","NAME_BN":"ভানুয়াতু","NAME_DE":"Vanuatu","NAME_EN":"Vanuatu","NAME_ES":"Vanuatu","NAME_FA":"وانواتو","NAME_FR":"Vanuatu","NAME_EL":"Βανουάτου","NAME_HE":"ונואטו","NAME_HI":"वानूआटू","NAME_HU":"Vanuatu","NAME_ID":"Vanuatu","NAME_IT":"Vanuatu","NAME_JA":"バヌアツ","NAME_KO":"바누아투","NAME_NL":"Vanuatu","NAME_PL":"Vanuatu","NAME_PT":"Vanuatu","NAME_RU":"Вануату","NAME_SV":"Vanuatu","NAME_TR":"Vanuatu","NAME_UK":"Вануату","NAME_UR":"وانواتو","NAME_VI":"Vanuatu","NAME_ZH":"瓦努阿图","NAME_ZHT":"萬那杜","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[166.526074,-20.241797,169.896289,-13.709473],"geometry":{"type":"MultiPolygon","coordinates":[[[[166.745801,-14.826855],[166.810156,-15.157422],[166.885156,-15.156738],[166.923438,-15.13916],[166.967578,-15.061719],[166.987305,-14.940039],[167.026563,-14.922656],[167.075586,-14.935645],[167.054297,-14.974414],[167.068555,-15.071777],[167.106445,-15.125586],[167.131641,-15.135352],[167.182031,-15.389746],[167.200781,-15.443066],[167.199609,-15.485742],[167.093945,-15.580859],[166.936621,-15.578027],[166.825781,-15.634863],[166.758301,-15.631152],[166.758984,-15.566797],[166.698926,-15.515625],[166.631055,-15.406055],[166.647852,-15.211523],[166.527246,-14.850098],[166.526074,-14.759766],[166.567383,-14.641797],[166.607813,-14.636523],[166.662598,-14.735059],[166.745801,-14.826855]]],[[[167.4125,-16.095898],[167.458594,-16.117578],[167.483691,-16.117578],[167.49873,-16.166211],[167.641992,-16.263281],[167.681348,-16.260547],[167.714453,-16.313672],[167.775977,-16.340527],[167.792578,-16.394629],[167.836621,-16.449707],[167.759766,-16.516406],[167.611426,-16.498633],[167.526367,-16.574316],[167.449316,-16.55498],[167.436133,-16.515234],[167.446875,-16.501953],[167.400977,-16.400586],[167.380273,-16.245703],[167.349219,-16.154492],[167.315625,-16.115527],[167.246094,-16.149609],[167.218066,-16.155273],[167.151465,-16.080469],[167.183008,-15.928516],[167.199512,-15.885059],[167.253711,-15.876758],[167.335742,-15.916699],[167.4125,-16.095898]]],[[[168.446777,-16.778809],[168.476562,-16.793652],[168.460156,-16.835059],[168.322754,-16.787793],[168.212305,-16.806152],[168.181445,-16.804004],[168.148535,-16.765723],[168.124316,-16.690039],[168.135352,-16.636914],[168.181836,-16.599902],[168.199219,-16.593848],[168.233789,-16.639648],[168.26543,-16.670801],[168.296094,-16.68418],[168.366016,-16.758789],[168.446777,-16.778809]]],[[[168.29668,-16.336523],[168.182422,-16.346777],[168.02168,-16.315625],[167.957031,-16.272266],[167.929004,-16.228711],[167.98457,-16.196484],[168.064258,-16.18125],[168.163867,-16.081641],[168.19834,-16.119824],[168.235449,-16.231348],[168.275684,-16.264941],[168.297949,-16.29873],[168.29668,-16.336523]]],[[[168.445801,-17.542188],[168.54541,-17.684668],[168.584961,-17.695898],[168.524609,-17.798047],[168.399414,-17.807227],[168.25166,-17.780762],[168.305859,-17.745703],[168.277832,-17.706055],[168.233203,-17.698047],[168.182031,-17.716992],[168.158203,-17.710547],[168.190918,-17.644824],[168.273145,-17.552246],[168.297461,-17.544922],[168.319531,-17.543945],[168.341016,-17.552051],[168.445801,-17.542188]]],[[[167.911328,-15.435938],[167.844238,-15.481836],[167.720215,-15.477441],[167.674219,-15.451563],[167.82627,-15.312012],[168.002539,-15.283203],[167.911328,-15.435938]]],[[[168.212891,-15.97041],[168.196191,-15.97168],[168.179297,-15.925684],[168.122852,-15.680859],[168.159961,-15.461816],[168.183496,-15.508203],[168.267773,-15.892285],[168.256348,-15.955176],[168.212891,-15.97041]]],[[[168.18916,-15.328711],[168.171875,-15.390625],[168.130469,-15.318945],[168.104199,-15.016602],[168.114941,-14.988574],[168.136426,-14.986426],[168.186914,-15.196875],[168.18916,-15.328711]]],[[[167.218945,-15.724121],[167.200781,-15.750098],[167.094727,-15.685254],[167.119043,-15.622559],[167.234375,-15.64502],[167.218945,-15.724121]]],[[[167.584863,-14.260938],[167.543262,-14.311621],[167.430273,-14.294922],[167.403516,-14.281543],[167.410742,-14.197461],[167.439063,-14.168457],[167.506445,-14.142188],[167.598926,-14.183789],[167.584863,-14.260938]]],[[[167.488867,-13.907227],[167.474219,-13.91709],[167.451074,-13.909375],[167.391797,-13.788379],[167.406836,-13.748047],[167.481055,-13.709473],[167.547266,-13.77666],[167.553516,-13.813965],[167.553027,-13.845703],[167.542871,-13.873145],[167.498633,-13.88457],[167.488867,-13.907227]]],[[[169.896289,-20.186621],[169.861133,-20.241797],[169.807031,-20.241113],[169.7375,-20.202148],[169.750684,-20.15332],[169.829492,-20.144727],[169.852344,-20.147949],[169.896289,-20.186621]]],[[[169.491309,-19.540137],[169.438477,-19.648828],[169.347266,-19.623535],[169.261914,-19.54502],[169.21748,-19.476367],[169.247461,-19.344727],[169.291113,-19.321777],[169.336719,-19.329297],[169.359961,-19.457813],[169.491309,-19.540137]]],[[[169.334375,-18.940234],[169.288281,-18.988574],[169.248047,-18.983301],[168.986914,-18.871289],[168.997852,-18.825195],[168.987109,-18.707617],[169.01582,-18.64375],[169.087891,-18.61748],[169.143848,-18.631055],[169.178027,-18.725098],[169.255762,-18.763379],[169.201172,-18.795703],[169.296191,-18.866797],[169.334375,-18.940234]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":3,"SOVEREIGNT":"Uzbekistan","SOV_A3":"UZB","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Uzbekistan","ADM0_A3":"UZB","GEOU_DIF":0,"GEOUNIT":"Uzbekistan","GU_A3":"UZB","SU_DIF":0,"SUBUNIT":"Uzbekistan","SU_A3":"UZB","BRK_DIFF":0,"NAME":"Uzbekistan","NAME_LONG":"Uzbekistan","BRK_A3":"UZB","BRK_NAME":"Uzbekistan","BRK_GROUP":null,"ABBREV":"Uzb.","POSTAL":"UZ","FORMAL_EN":"Republic of Uzbekistan","FORMAL_FR":null,"NAME_CIAWF":"Uzbekistan","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Uzbekistan","NAME_ALT":null,"MAPCOLOR7":2,"MAPCOLOR8":3,"MAPCOLOR9":5,"MAPCOLOR13":4,"POP_EST":33580650,"POP_RANK":15,"POP_YEAR":2019,"GDP_MD":57921,"GDP_YEAR":2019,"ECONOMY":"6. Developing region","INCOME_GRP":"4. Lower middle income","FIPS_10":"UZ","ISO_A2":"UZ","ISO_A2_EH":"UZ","ISO_A3":"UZB","ISO_A3_EH":"UZB","ISO_N3":"860","ISO_N3_EH":"860","UN_A3":"860","WB_A2":"UZ","WB_A3":"UZB","WOE_ID":23424980,"WOE_ID_EH":23424980,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"UZB","ADM0_DIFF":null,"ADM0_TLC":"UZB","ADM0_A3_US":"UZB","ADM0_A3_FR":"UZB","ADM0_A3_RU":"UZB","ADM0_A3_ES":"UZB","ADM0_A3_CN":"UZB","ADM0_A3_TW":"UZB","ADM0_A3_IN":"UZB","ADM0_A3_NP":"UZB","ADM0_A3_PK":"UZB","ADM0_A3_DE":"UZB","ADM0_A3_GB":"UZB","ADM0_A3_BR":"UZB","ADM0_A3_IL":"UZB","ADM0_A3_PS":"UZB","ADM0_A3_SA":"UZB","ADM0_A3_EG":"UZB","ADM0_A3_MA":"UZB","ADM0_A3_PT":"UZB","ADM0_A3_AR":"UZB","ADM0_A3_JP":"UZB","ADM0_A3_KO":"UZB","ADM0_A3_VN":"UZB","ADM0_A3_TR":"UZB","ADM0_A3_ID":"UZB","ADM0_A3_PL":"UZB","ADM0_A3_GR":"UZB","ADM0_A3_IT":"UZB","ADM0_A3_NL":"UZB","ADM0_A3_SE":"UZB","ADM0_A3_BD":"UZB","ADM0_A3_UA":"UZB","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Asia","REGION_UN":"Asia","SUBREGION":"Central Asia","REGION_WB":"Europe & Central Asia","NAME_LEN":10,"LONG_LEN":10,"ABBREV_LEN":4,"TINY":5,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":3,"MAX_LABEL":8,"LABEL_X":64.005429,"LABEL_Y":41.693603,"NE_ID":1159321405,"WIKIDATAID":"Q265","NAME_AR":"أوزبكستان","NAME_BN":"উজবেকিস্তান","NAME_DE":"Usbekistan","NAME_EN":"Uzbekistan","NAME_ES":"Uzbekistán","NAME_FA":"ازبکستان","NAME_FR":"Ouzbékistan","NAME_EL":"Ουζμπεκιστάν","NAME_HE":"אוזבקיסטן","NAME_HI":"उज़्बेकिस्तान","NAME_HU":"Üzbegisztán","NAME_ID":"Uzbekistan","NAME_IT":"Uzbekistan","NAME_JA":"ウズベキスタン","NAME_KO":"우즈베키스탄","NAME_NL":"Oezbekistan","NAME_PL":"Uzbekistan","NAME_PT":"Uzbequistão","NAME_RU":"Узбекистан","NAME_SV":"Uzbekistan","NAME_TR":"Özbekistan","NAME_UK":"Узбекистан","NAME_UR":"ازبکستان","NAME_VI":"Uzbekistan","NAME_ZH":"乌兹别克斯坦","NAME_ZHT":"烏茲別克","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[55.975684,37.172217,73.136914,45.555371],"geometry":{"type":"MultiPolygon","coordinates":[[[[70.946777,42.248682],[70.979004,42.266553],[71.036035,42.284668],[71.12998,42.25],[71.212695,42.206445],[71.232324,42.186279],[71.228516,42.162891],[71.032227,42.077783],[70.910352,42.037988],[70.856641,42.030811],[70.841895,42.019629],[70.80332,41.922656],[70.727734,41.905225],[70.630859,41.875488],[70.562891,41.830811],[70.45498,41.725049],[70.180957,41.571436],[70.176953,41.53999],[70.200879,41.514453],[70.290039,41.496826],[70.407813,41.449561],[70.471387,41.412646],[70.645898,41.460352],[70.688867,41.449805],[70.734375,41.400537],[70.782422,41.2625],[70.860449,41.224902],[70.962598,41.195996],[71.025977,41.186572],[71.110742,41.152637],[71.223438,41.139941],[71.298828,41.15249],[71.393066,41.123389],[71.408398,41.136035],[71.420898,41.341895],[71.5,41.307471],[71.545605,41.308057],[71.585547,41.333252],[71.60625,41.367432],[71.619629,41.435449],[71.602246,41.503271],[71.6375,41.53418],[71.664941,41.541211],[71.685156,41.533008],[71.697266,41.515576],[71.700684,41.454004],[71.757715,41.428027],[71.79248,41.413135],[71.825781,41.361035],[71.858008,41.311377],[71.878613,41.19502],[71.958496,41.187061],[72.052441,41.164746],[72.11543,41.186572],[72.164258,41.17373],[72.180957,41.118457],[72.180664,41.066846],[72.187305,41.025928],[72.213086,41.014258],[72.294922,41.039941],[72.364063,41.043457],[72.427344,41.018945],[72.505957,40.981689],[72.62041,40.883789],[72.658301,40.869922],[72.830957,40.862158],[72.866602,40.842334],[72.925977,40.842432],[72.990039,40.860107],[73.132129,40.828516],[73.136914,40.810645],[73.112891,40.786035],[72.773828,40.650391],[72.748828,40.608691],[72.67959,40.555615],[72.604102,40.525439],[72.56748,40.524365],[72.402051,40.578076],[72.382617,40.565137],[72.369043,40.543457],[72.369727,40.519727],[72.405957,40.463086],[72.389258,40.427393],[72.357715,40.40166],[72.254004,40.424219],[72.234668,40.438623],[72.232813,40.454395],[72.192871,40.454443],[72.13125,40.438623],[72.012598,40.340723],[71.971094,40.289502],[71.955664,40.258594],[71.902734,40.240967],[71.84541,40.234326],[71.772656,40.188037],[71.69248,40.152344],[71.666797,40.178613],[71.650879,40.208008],[71.629883,40.217139],[71.580469,40.210254],[71.52041,40.208984],[71.457422,40.241992],[71.376172,40.275195],[71.304688,40.286914],[71.094531,40.27124],[70.990625,40.254883],[70.958008,40.238867],[70.899414,40.23457],[70.653125,40.201172],[70.602734,40.21416],[70.56582,40.267139],[70.533594,40.324512],[70.469922,40.345361],[70.398242,40.361377],[70.371582,40.384131],[70.369727,40.412012],[70.377148,40.439258],[70.382617,40.453516],[70.548828,40.562793],[70.69834,40.661182],[70.712012,40.669092],[70.725586,40.687793],[70.751074,40.721777],[70.750977,40.7396],[70.63916,40.778564],[70.634766,40.796582],[70.657324,40.815088],[70.657324,40.839648],[70.578223,40.911475],[70.441504,41.023438],[70.401953,41.035107],[70.372656,41.027637],[70.318945,40.919238],[70.29209,40.891699],[70.136328,40.82041],[70.005664,40.771436],[69.773242,40.684277],[69.712891,40.656982],[69.670801,40.661963],[69.628418,40.679053],[69.498242,40.76709],[69.413867,40.797168],[69.357227,40.767383],[69.309375,40.723926],[69.313965,40.634766],[69.259961,40.587646],[69.20625,40.566553],[69.304199,40.327393],[69.294434,40.296582],[69.219531,40.288135],[69.274902,40.198096],[69.22832,40.187598],[69.110352,40.20874],[68.951758,40.222607],[68.652539,40.182666],[68.630664,40.16709],[68.622461,40.147266],[68.639746,40.129199],[68.78457,40.1271],[68.926855,40.136328],[68.966016,40.11958],[68.97207,40.089941],[68.955664,40.071338],[68.908496,40.068213],[68.804688,40.050342],[68.792773,40.031494],[68.789453,40.01333],[68.824414,39.960791],[68.863867,39.927344],[68.86875,39.907471],[68.852246,39.890967],[68.832422,39.884326],[68.797656,39.909131],[68.777832,39.904199],[68.767969,39.881836],[68.758203,39.855566],[68.735254,39.83623],[68.686914,39.846289],[68.638965,39.838867],[68.610352,39.743262],[68.586133,39.634961],[68.506934,39.562793],[68.463281,39.536719],[68.399023,39.528857],[68.303027,39.537695],[68.244922,39.548291],[68.077148,39.56416],[67.908594,39.593799],[67.719043,39.621387],[67.54248,39.557617],[67.491699,39.51875],[67.45957,39.482422],[67.426172,39.465576],[67.349609,39.24209],[67.357617,39.216699],[67.400391,39.19668],[67.616504,39.150293],[67.64834,39.131055],[67.667285,39.10918],[67.676563,39.008496],[67.694434,38.994629],[67.768555,38.982227],[67.875684,38.983008],[67.95957,38.99292],[68.044336,38.983594],[68.103516,38.962012],[68.13252,38.927637],[68.148535,38.890625],[68.047852,38.669287],[68.055957,38.588916],[68.087207,38.473535],[68.144141,38.383105],[68.251367,38.294531],[68.333105,38.237793],[68.350293,38.211035],[68.354492,38.169531],[68.341211,38.116797],[68.294043,38.03291],[68.236523,37.959668],[68.174023,37.928418],[68.087598,37.835449],[68.010938,37.720947],[67.863574,37.570703],[67.814355,37.487012],[67.798047,37.244971],[67.758984,37.172217],[67.75293,37.199805],[67.7,37.227246],[67.607422,37.22251],[67.546484,37.235645],[67.517285,37.26665],[67.441699,37.258008],[67.319727,37.20957],[67.195508,37.235205],[67.068848,37.334814],[66.827734,37.371289],[66.522266,37.348486],[66.510645,37.458691],[66.511328,37.59917],[66.525586,37.785742],[66.629297,37.932031],[66.626367,37.959863],[66.60625,37.986719],[66.574512,38.010791],[66.389746,38.050928],[66.335352,38.072168],[66.263672,38.118066],[66.173145,38.166699],[66.094824,38.200146],[65.971191,38.244238],[65.857129,38.26875],[65.790234,38.250049],[65.728516,38.226367],[65.670898,38.225732],[65.612891,38.238574],[65.399609,38.348828],[65.07666,38.539453],[64.820703,38.672461],[64.659961,38.736035],[64.621875,38.756445],[64.531641,38.816211],[64.309961,38.977295],[64.162793,38.953613],[63.952539,39.05835],[63.763672,39.160547],[63.720801,39.188135],[63.506055,39.3771],[63.291895,39.499512],[63.058105,39.633154],[62.906836,39.716797],[62.650684,39.858496],[62.525488,39.944092],[62.483203,39.975635],[62.441602,40.03623],[62.375,40.33208],[62.298047,40.46748],[62.188477,40.541211],[62.09502,40.683301],[62.017578,40.893799],[61.953516,41.030615],[61.902832,41.093701],[61.799902,41.163428],[61.644531,41.239844],[61.496973,41.276074],[61.443652,41.274609],[61.417383,41.265137],[61.3875,41.252148],[61.328906,41.195117],[61.242383,41.189209],[61.179297,41.190576],[61.119922,41.210889],[60.933203,41.229004],[60.867188,41.248682],[60.754883,41.245752],[60.513574,41.216162],[60.45498,41.221631],[60.2,41.348975],[60.089648,41.399414],[60.067383,41.427344],[60.06875,41.476221],[60.106055,41.545215],[60.137988,41.594141],[60.124023,41.644971],[60.075586,41.700537],[60.075586,41.759668],[60.108594,41.792676],[60.176367,41.782275],[60.200781,41.803125],[60.19209,41.834424],[60.155566,41.857031],[60.106934,41.907422],[59.962598,41.954395],[59.941797,41.973535],[59.949316,41.99541],[59.974121,42.018799],[59.979199,42.068066],[59.981641,42.131738],[60.000781,42.164746],[60.006055,42.19082],[59.985156,42.211719],[59.936523,42.236035],[59.858301,42.295166],[59.762598,42.301562],[59.451074,42.299512],[59.354297,42.323291],[59.276563,42.356152],[59.199121,42.481689],[59.15957,42.511426],[59.123145,42.523779],[59.03584,42.528125],[58.930859,42.540283],[58.876953,42.561475],[58.72998,42.676172],[58.589063,42.778467],[58.532324,42.681934],[58.477148,42.662842],[58.353125,42.671729],[58.259668,42.688086],[58.206445,42.666309],[58.151563,42.628076],[58.162012,42.602979],[58.204102,42.576367],[58.288672,42.527295],[58.418164,42.406689],[58.476953,42.340137],[58.48584,42.316846],[58.474414,42.299365],[58.457031,42.291797],[58.431445,42.29209],[58.39707,42.29248],[58.377148,42.312451],[58.370508,42.346777],[58.327246,42.398926],[58.28291,42.428857],[58.234082,42.447705],[58.165625,42.461572],[58.075488,42.486523],[58.028906,42.487646],[57.983496,42.458789],[57.945703,42.42002],[57.923438,42.335205],[57.855957,42.231055],[57.814258,42.189844],[57.686133,42.164795],[57.381738,42.156299],[57.290625,42.123779],[57.228809,42.084473],[57.113574,41.957129],[57.033691,41.914844],[56.964063,41.856543],[56.984863,41.669336],[57.018164,41.450586],[57.07666,41.38999],[57.113867,41.371777],[57.118848,41.350293],[57.094824,41.331299],[57.064258,41.307275],[57.017969,41.263477],[56.96582,41.265137],[56.86084,41.276123],[56.773633,41.287988],[56.479883,41.300635],[56.241992,41.31084],[55.977441,41.322217],[55.977344,41.551758],[55.977148,41.781348],[55.977051,42.010889],[55.976953,42.24043],[55.976855,42.469971],[55.976758,42.699512],[55.97666,42.929053],[55.976562,43.158594],[55.976465,43.388086],[55.976367,43.617627],[55.97627,43.847217],[55.976172,44.076758],[55.976074,44.306299],[55.975977,44.53584],[55.975781,44.765381],[55.975684,44.994922],[56.100488,45.023389],[56.25791,45.059326],[56.40918,45.093799],[56.58877,45.134766],[56.791895,45.181055],[56.965039,45.220605],[57.17168,45.267725],[57.329297,45.303662],[57.477344,45.337451],[57.666699,45.377441],[57.961035,45.439697],[58.125195,45.474365],[58.291113,45.509424],[58.449414,45.54292],[58.555273,45.555371],[58.668945,45.507568],[58.807031,45.441797],[58.945117,45.375977],[59.083398,45.310205],[59.221484,45.244434],[59.35957,45.178613],[59.497852,45.112842],[59.635938,45.04707],[59.774023,44.981299],[59.912207,44.915576],[60.050293,44.849756],[60.188477,44.783984],[60.32666,44.718213],[60.464746,44.652441],[60.60293,44.586621],[60.741113,44.52085],[60.879199,44.455078],[61.00791,44.393799],[61.065332,44.348389],[61.09707,44.248242],[61.160742,44.168604],[61.271484,44.082275],[61.385059,43.993945],[61.525879,43.877197],[61.623633,43.796191],[61.723242,43.713574],[61.887598,43.577246],[61.990234,43.492139],[62.071973,43.489355],[62.237891,43.50957],[62.459375,43.536621],[62.634473,43.558008],[62.846191,43.583887],[63.047656,43.608496],[63.207031,43.627979],[63.444824,43.613232],[63.679688,43.598633],[63.848145,43.588135],[64.013281,43.577832],[64.208789,43.565723],[64.318164,43.558936],[64.443164,43.551172],[64.496094,43.571631],[64.604102,43.613477],[64.706055,43.652979],[64.811816,43.693945],[64.905469,43.714697],[65.003125,43.649072],[65.084863,43.573682],[65.170898,43.494189],[65.270508,43.417529],[65.366504,43.372021],[65.496191,43.310547],[65.570703,43.205176],[65.670215,43.0646],[65.735645,42.972119],[65.803027,42.876953],[65.901074,42.914502],[66.005664,42.95459],[66.100293,42.99082],[66.088867,42.873389],[66.078516,42.76665],[66.062695,42.605176],[66.049805,42.472754],[66.015527,42.314795],[66.013184,42.194482],[66.01123,42.08877],[66.00957,42.004883],[66.193164,42.001123],[66.328809,41.99834],[66.498633,41.994873],[66.515039,41.889404],[66.537891,41.74126],[66.572559,41.606982],[66.60166,41.494336],[66.645313,41.348633],[66.668652,41.270752],[66.709668,41.17915],[66.749805,41.15708],[66.814258,41.142383],[67.038672,41.15332],[67.225,41.162354],[67.371582,41.169531],[67.528027,41.177148],[67.735059,41.187256],[67.805078,41.163916],[67.865723,41.180273],[67.935742,41.196582],[67.991406,41.130029],[68.019727,41.09624],[68.059375,41.061279],[68.113086,41.028613],[68.090332,40.960254],[68.057031,40.860596],[68.047656,40.809277],[68.112305,40.754053],[68.160254,40.721777],[68.291895,40.656104],[68.415039,40.619434],[68.495703,40.608643],[68.572656,40.622656],[68.600684,40.659961],[68.593652,40.711279],[68.556543,40.765137],[68.559277,40.829297],[68.584082,40.87627],[68.662793,40.961523],[68.737109,41.041895],[68.851172,41.123828],[68.986914,41.205029],[69.043457,41.264111],[69.064941,41.366943],[69.153613,41.425244],[69.249316,41.460254],[69.368359,41.490576],[69.400977,41.541895],[69.565137,41.629053],[69.663867,41.672119],[69.788086,41.697314],[69.959961,41.754053],[70.095605,41.820508],[70.225879,41.945996],[70.328906,42.027979],[70.416016,42.078564],[70.489063,42.080273],[70.540137,42.039453],[70.584277,42.036035],[70.613281,42.054736],[70.6625,42.107471],[70.715234,42.168652],[70.764551,42.194189],[70.860352,42.207227],[70.946777,42.248682]],[[70.652539,40.936621],[70.649219,40.96084],[70.618359,41.00166],[70.57207,41.024805],[70.55,41.014893],[70.56875,40.981836],[70.622754,40.934424],[70.652539,40.936621]]],[[[71.206152,39.892578],[71.15625,39.883447],[71.064258,39.884912],[71.011719,39.895117],[71.043652,39.976318],[71.044824,39.992529],[71.041016,39.994922],[71.014453,40.005762],[70.974414,40.038867],[70.960645,40.087988],[70.97627,40.133252],[71.005469,40.152295],[71.024121,40.14917],[71.080371,40.079883],[71.130273,40.059668],[71.228711,40.048145],[71.179297,39.979834],[71.215625,39.906787],[71.206152,39.892578]]],[[[71.779688,39.950244],[71.75293,39.907129],[71.705859,39.917432],[71.668945,39.946094],[71.68125,39.968652],[71.736523,39.980957],[71.765332,39.993262],[71.789941,39.995312],[71.779688,39.950244]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":4,"SOVEREIGNT":"Uruguay","SOV_A3":"URY","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Uruguay","ADM0_A3":"URY","GEOU_DIF":0,"GEOUNIT":"Uruguay","GU_A3":"URY","SU_DIF":0,"SUBUNIT":"Uruguay","SU_A3":"URY","BRK_DIFF":0,"NAME":"Uruguay","NAME_LONG":"Uruguay","BRK_A3":"URY","BRK_NAME":"Uruguay","BRK_GROUP":null,"ABBREV":"Ury.","POSTAL":"UY","FORMAL_EN":"Oriental Republic of Uruguay","FORMAL_FR":null,"NAME_CIAWF":"Uruguay","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Uruguay","NAME_ALT":null,"MAPCOLOR7":1,"MAPCOLOR8":2,"MAPCOLOR9":2,"MAPCOLOR13":10,"POP_EST":3461734,"POP_RANK":12,"POP_YEAR":2019,"GDP_MD":56045,"GDP_YEAR":2019,"ECONOMY":"5. Emerging region: G20","INCOME_GRP":"3. Upper middle income","FIPS_10":"UY","ISO_A2":"UY","ISO_A2_EH":"UY","ISO_A3":"URY","ISO_A3_EH":"URY","ISO_N3":"858","ISO_N3_EH":"858","UN_A3":"858","WB_A2":"UY","WB_A3":"URY","WOE_ID":23424979,"WOE_ID_EH":23424979,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"URY","ADM0_DIFF":null,"ADM0_TLC":"URY","ADM0_A3_US":"URY","ADM0_A3_FR":"URY","ADM0_A3_RU":"URY","ADM0_A3_ES":"URY","ADM0_A3_CN":"URY","ADM0_A3_TW":"URY","ADM0_A3_IN":"URY","ADM0_A3_NP":"URY","ADM0_A3_PK":"URY","ADM0_A3_DE":"URY","ADM0_A3_GB":"URY","ADM0_A3_BR":"URY","ADM0_A3_IL":"URY","ADM0_A3_PS":"URY","ADM0_A3_SA":"URY","ADM0_A3_EG":"URY","ADM0_A3_MA":"URY","ADM0_A3_PT":"URY","ADM0_A3_AR":"URY","ADM0_A3_JP":"URY","ADM0_A3_KO":"URY","ADM0_A3_VN":"URY","ADM0_A3_TR":"URY","ADM0_A3_ID":"URY","ADM0_A3_PL":"URY","ADM0_A3_GR":"URY","ADM0_A3_IT":"URY","ADM0_A3_NL":"URY","ADM0_A3_SE":"URY","ADM0_A3_BD":"URY","ADM0_A3_UA":"URY","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"South America","REGION_UN":"Americas","SUBREGION":"South America","REGION_WB":"Latin America & Caribbean","NAME_LEN":7,"LONG_LEN":7,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":3,"MAX_LABEL":8,"LABEL_X":-55.966942,"LABEL_Y":-32.961127,"NE_ID":1159321353,"WIKIDATAID":"Q77","NAME_AR":"الأوروغواي","NAME_BN":"উরুগুয়ে","NAME_DE":"Uruguay","NAME_EN":"Uruguay","NAME_ES":"Uruguay","NAME_FA":"اروگوئه","NAME_FR":"Uruguay","NAME_EL":"Ουρουγουάη","NAME_HE":"אורוגוואי","NAME_HI":"उरुग्वे","NAME_HU":"Uruguay","NAME_ID":"Uruguay","NAME_IT":"Uruguay","NAME_JA":"ウルグアイ","NAME_KO":"우루과이","NAME_NL":"Uruguay","NAME_PL":"Urugwaj","NAME_PT":"Uruguai","NAME_RU":"Уругвай","NAME_SV":"Uruguay","NAME_TR":"Uruguay","NAME_UK":"Уругвай","NAME_UR":"یوراگوئے","NAME_VI":"Uruguay","NAME_ZH":"乌拉圭","NAME_ZHT":"烏拉圭","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[-58.438135,-34.932813,-53.125586,-30.101074],"geometry":{"type":"Polygon","coordinates":[[[-53.370605,-33.742188],[-53.41958,-33.779199],[-53.472461,-33.849316],[-53.534521,-34.01748],[-53.74292,-34.249512],[-53.785303,-34.380371],[-54.010254,-34.516992],[-54.168555,-34.670703],[-54.272119,-34.666895],[-54.365332,-34.732715],[-54.902295,-34.932813],[-55.095117,-34.895117],[-55.237891,-34.895801],[-55.370605,-34.807617],[-55.673145,-34.775684],[-55.862939,-34.810938],[-56.11792,-34.90791],[-56.194629,-34.906445],[-56.249951,-34.90127],[-56.387842,-34.861035],[-56.463086,-34.775391],[-56.855176,-34.67666],[-57.170703,-34.452344],[-57.543457,-34.448047],[-57.829102,-34.477344],[-57.873242,-34.447656],[-57.902148,-34.390137],[-57.96123,-34.306934],[-58.207031,-34.109082],[-58.400195,-33.912402],[-58.438135,-33.719141],[-58.411328,-33.508887],[-58.353369,-33.260059],[-58.363525,-33.182324],[-58.292187,-33.137988],[-58.221582,-33.129102],[-58.153564,-33.064648],[-58.092676,-32.967383],[-58.082324,-32.893652],[-58.12959,-32.757227],[-58.162207,-32.566504],[-58.201172,-32.47168],[-58.123047,-32.321875],[-58.119727,-32.248926],[-58.164795,-32.184863],[-58.177002,-32.119043],[-58.156348,-32.051563],[-58.1604,-31.986523],[-58.189014,-31.924219],[-58.16748,-31.872656],[-58.09585,-31.831836],[-58.042334,-31.769238],[-58.006982,-31.684961],[-57.988867,-31.620605],[-57.987988,-31.576172],[-58.009668,-31.534375],[-58.053857,-31.494922],[-58.033398,-31.416602],[-57.94834,-31.299414],[-57.893359,-31.195312],[-57.868408,-31.104395],[-57.870068,-31.031055],[-57.898291,-30.975195],[-57.886328,-30.937402],[-57.834082,-30.91748],[-57.810596,-30.858594],[-57.818555,-30.712012],[-57.87251,-30.591016],[-57.831201,-30.495215],[-57.712695,-30.384473],[-57.650879,-30.29502],[-57.645752,-30.226953],[-57.608887,-30.187793],[-57.552295,-30.26123],[-57.383838,-30.280664],[-57.214453,-30.283398],[-57.186914,-30.264844],[-57.120508,-30.144434],[-57.032715,-30.109961],[-56.937256,-30.101074],[-56.832715,-30.107227],[-56.72168,-30.186914],[-56.407227,-30.447461],[-56.176172,-30.628418],[-56.105859,-30.71377],[-56.044824,-30.777637],[-55.998975,-30.837207],[-56.018457,-30.991895],[-56.015527,-31.059668],[-56.004687,-31.079199],[-55.952002,-31.080859],[-55.873682,-31.069629],[-55.807764,-31.036719],[-55.756348,-30.987109],[-55.705957,-30.946582],[-55.665234,-30.924902],[-55.650488,-30.89209],[-55.627148,-30.858105],[-55.603027,-30.850781],[-55.557324,-30.875977],[-55.449561,-30.964453],[-55.366064,-31.046191],[-55.345508,-31.092969],[-55.313281,-31.141699],[-55.278955,-31.18418],[-55.254639,-31.225586],[-55.173535,-31.27959],[-55.091162,-31.313965],[-55.036035,-31.279004],[-54.895996,-31.391211],[-54.587646,-31.485156],[-54.530908,-31.541992],[-54.477686,-31.622754],[-54.369922,-31.74502],[-54.220557,-31.855176],[-54.100439,-31.901563],[-53.985156,-31.928125],[-53.920605,-31.952344],[-53.876514,-31.994531],[-53.806104,-32.039941],[-53.761719,-32.056836],[-53.746582,-32.097461],[-53.701123,-32.186328],[-53.653613,-32.29873],[-53.601709,-32.403027],[-53.489404,-32.503223],[-53.362744,-32.581152],[-53.23125,-32.625391],[-53.157275,-32.680078],[-53.125586,-32.736719],[-53.214062,-32.821094],[-53.310107,-32.927051],[-53.395215,-33.010352],[-53.482861,-33.068555],[-53.511865,-33.108691],[-53.531348,-33.170898],[-53.530371,-33.500293],[-53.537646,-33.622852],[-53.531348,-33.655469],[-53.518848,-33.677246],[-53.463574,-33.709863],[-53.397559,-33.737305],[-53.370605,-33.742188]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":3,"LABELRANK":6,"SOVEREIGNT":"Federated States of Micronesia","SOV_A3":"FSM","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Federated States of Micronesia","ADM0_A3":"FSM","GEOU_DIF":0,"GEOUNIT":"Federated States of Micronesia","GU_A3":"FSM","SU_DIF":0,"SUBUNIT":"Federated States of Micronesia","SU_A3":"FSM","BRK_DIFF":0,"NAME":"Micronesia","NAME_LONG":"Federated States of Micronesia","BRK_A3":"FSM","BRK_NAME":"Micronesia","BRK_GROUP":null,"ABBREV":"F.S.M.","POSTAL":"FSM","FORMAL_EN":"Federated States of Micronesia","FORMAL_FR":null,"NAME_CIAWF":"Micronesia, Federated States of","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Micronesia, Federated States of","NAME_ALT":null,"MAPCOLOR7":5,"MAPCOLOR8":2,"MAPCOLOR9":4,"MAPCOLOR13":13,"POP_EST":113815,"POP_RANK":9,"POP_YEAR":2019,"GDP_MD":401,"GDP_YEAR":2018,"ECONOMY":"6. Developing region","INCOME_GRP":"4. Lower middle income","FIPS_10":"FM","ISO_A2":"FM","ISO_A2_EH":"FM","ISO_A3":"FSM","ISO_A3_EH":"FSM","ISO_N3":"583","ISO_N3_EH":"583","UN_A3":"583","WB_A2":"FM","WB_A3":"FSM","WOE_ID":23424815,"WOE_ID_EH":23424815,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"FSM","ADM0_DIFF":null,"ADM0_TLC":"FSM","ADM0_A3_US":"FSM","ADM0_A3_FR":"FSM","ADM0_A3_RU":"FSM","ADM0_A3_ES":"FSM","ADM0_A3_CN":"FSM","ADM0_A3_TW":"FSM","ADM0_A3_IN":"FSM","ADM0_A3_NP":"FSM","ADM0_A3_PK":"FSM","ADM0_A3_DE":"FSM","ADM0_A3_GB":"FSM","ADM0_A3_BR":"FSM","ADM0_A3_IL":"FSM","ADM0_A3_PS":"FSM","ADM0_A3_SA":"FSM","ADM0_A3_EG":"FSM","ADM0_A3_MA":"FSM","ADM0_A3_PT":"FSM","ADM0_A3_AR":"FSM","ADM0_A3_JP":"FSM","ADM0_A3_KO":"FSM","ADM0_A3_VN":"FSM","ADM0_A3_TR":"FSM","ADM0_A3_ID":"FSM","ADM0_A3_PL":"FSM","ADM0_A3_GR":"FSM","ADM0_A3_IT":"FSM","ADM0_A3_NL":"FSM","ADM0_A3_SE":"FSM","ADM0_A3_BD":"FSM","ADM0_A3_UA":"FSM","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Oceania","REGION_UN":"Oceania","SUBREGION":"Micronesia","REGION_WB":"East Asia & Pacific","NAME_LEN":10,"LONG_LEN":30,"ABBREV_LEN":6,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":5,"MAX_LABEL":10,"LABEL_X":158.234019,"LABEL_Y":6.887553,"NE_ID":1159320691,"WIKIDATAID":"Q702","NAME_AR":"ولايات ميكرونيسيا المتحدة","NAME_BN":"মাইক্রোনেশিয়া যুক্তরাজ্য","NAME_DE":"Föderierte Staaten von Mikronesien","NAME_EN":"Federated States of Micronesia","NAME_ES":"Estados Federados de Micronesia","NAME_FA":"میکرونزی","NAME_FR":"États fédérés de Micronésie","NAME_EL":"Ομόσπονδες Πολιτείες της Μικρονησίας","NAME_HE":"מיקרונזיה","NAME_HI":"माइक्रोनेशिया के संघीकृत राज्य","NAME_HU":"Mikronéziai Szövetségi Államok","NAME_ID":"Mikronesia","NAME_IT":"Stati Federati di Micronesia","NAME_JA":"ミクロネシア連邦","NAME_KO":"미크로네시아 연방","NAME_NL":"Micronesia","NAME_PL":"Mikronezja","NAME_PT":"Micronésia","NAME_RU":"Микронезия","NAME_SV":"Mikronesiska federationen","NAME_TR":"Mikronezya","NAME_UK":"Мікронезія","NAME_UR":"مائیکرونیشیا","NAME_VI":"Micronesia","NAME_ZH":"密克罗尼西亚联邦","NAME_ZHT":"密克羅尼西亞聯邦","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[138.061914,5.277246,162.993457,9.593311],"geometry":{"type":"MultiPolygon","coordinates":[[[[162.983203,5.325732],[162.993457,5.277246],[162.929883,5.300781],[162.921094,5.31792],[162.958203,5.33501],[162.983203,5.325732]]],[[[138.142676,9.500684],[138.06709,9.419043],[138.061914,9.445752],[138.085059,9.49458],[138.116895,9.550195],[138.146973,9.583594],[138.18584,9.593311],[138.213574,9.547217],[138.18252,9.507373],[138.142676,9.500684]]],[[[151.647754,7.346191],[151.639453,7.333008],[151.57832,7.338086],[151.569727,7.345508],[151.575098,7.351318],[151.604297,7.357227],[151.607813,7.375391],[151.592871,7.379248],[151.605664,7.388721],[151.629492,7.39043],[151.643262,7.379248],[151.650488,7.362842],[151.647754,7.346191]]],[[[151.881445,7.432031],[151.864258,7.426758],[151.855957,7.431787],[151.859961,7.457373],[151.865332,7.466162],[151.881836,7.46709],[151.910547,7.460156],[151.912598,7.453857],[151.881445,7.432031]]],[[[158.314844,6.813672],[158.256543,6.791016],[158.183398,6.80127],[158.16084,6.882812],[158.127637,6.904639],[158.134766,6.944824],[158.186133,6.977734],[158.294629,6.951074],[158.334961,6.893164],[158.309375,6.854639],[158.314844,6.813672]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":5,"LABELRANK":6,"SOVEREIGNT":"Marshall Islands","SOV_A3":"MHL","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Marshall Islands","ADM0_A3":"MHL","GEOU_DIF":0,"GEOUNIT":"Marshall Islands","GU_A3":"MHL","SU_DIF":0,"SUBUNIT":"Marshall Islands","SU_A3":"MHL","BRK_DIFF":0,"NAME":"Marshall Is.","NAME_LONG":"Marshall Islands","BRK_A3":"MHL","BRK_NAME":"Marshall Is.","BRK_GROUP":null,"ABBREV":"M. Is.","POSTAL":"MH","FORMAL_EN":"Republic of the Marshall Islands","FORMAL_FR":null,"NAME_CIAWF":"Marshall Islands","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Marshall Islands","NAME_ALT":null,"MAPCOLOR7":2,"MAPCOLOR8":5,"MAPCOLOR9":5,"MAPCOLOR13":3,"POP_EST":58791,"POP_RANK":8,"POP_YEAR":2019,"GDP_MD":221,"GDP_YEAR":2018,"ECONOMY":"6. Developing region","INCOME_GRP":"4. Lower middle income","FIPS_10":"RM","ISO_A2":"MH","ISO_A2_EH":"MH","ISO_A3":"MHL","ISO_A3_EH":"MHL","ISO_N3":"584","ISO_N3_EH":"584","UN_A3":"584","WB_A2":"MH","WB_A3":"MHL","WOE_ID":23424932,"WOE_ID_EH":23424932,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"MHL","ADM0_DIFF":null,"ADM0_TLC":"MHL","ADM0_A3_US":"MHL","ADM0_A3_FR":"MHL","ADM0_A3_RU":"MHL","ADM0_A3_ES":"MHL","ADM0_A3_CN":"MHL","ADM0_A3_TW":"MHL","ADM0_A3_IN":"MHL","ADM0_A3_NP":"MHL","ADM0_A3_PK":"MHL","ADM0_A3_DE":"MHL","ADM0_A3_GB":"MHL","ADM0_A3_BR":"MHL","ADM0_A3_IL":"MHL","ADM0_A3_PS":"MHL","ADM0_A3_SA":"MHL","ADM0_A3_EG":"MHL","ADM0_A3_MA":"MHL","ADM0_A3_PT":"MHL","ADM0_A3_AR":"MHL","ADM0_A3_JP":"MHL","ADM0_A3_KO":"MHL","ADM0_A3_VN":"MHL","ADM0_A3_TR":"MHL","ADM0_A3_ID":"MHL","ADM0_A3_PL":"MHL","ADM0_A3_GR":"MHL","ADM0_A3_IT":"MHL","ADM0_A3_NL":"MHL","ADM0_A3_SE":"MHL","ADM0_A3_BD":"MHL","ADM0_A3_UA":"MHL","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Oceania","REGION_UN":"Oceania","SUBREGION":"Micronesia","REGION_WB":"East Asia & Pacific","NAME_LEN":12,"LONG_LEN":16,"ABBREV_LEN":6,"TINY":2,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":5,"MAX_LABEL":10,"LABEL_X":171.193609,"LABEL_Y":7.082568,"NE_ID":1159321057,"WIKIDATAID":"Q709","NAME_AR":"جزر مارشال","NAME_BN":"মার্শাল দ্বীপপুঞ্জ","NAME_DE":"Marshallinseln","NAME_EN":"Marshall Islands","NAME_ES":"Islas Marshall","NAME_FA":"جزایر مارشال","NAME_FR":"Îles Marshall","NAME_EL":"Νησιά Μάρσαλ","NAME_HE":"איי מרשל","NAME_HI":"मार्शल द्वीपसमूह","NAME_HU":"Marshall-szigetek","NAME_ID":"Kepulauan Marshall","NAME_IT":"Isole Marshall","NAME_JA":"マーシャル諸島","NAME_KO":"마셜 제도","NAME_NL":"Marshalleilanden","NAME_PL":"Wyspy Marshalla","NAME_PT":"Ilhas Marshall","NAME_RU":"Маршалловы Острова","NAME_SV":"Marshallöarna","NAME_TR":"Marshall Adaları","NAME_UK":"Маршаллові Острови","NAME_UR":"جزائر مارشل","NAME_VI":"Quần đảo Marshall","NAME_ZH":"马绍尔群岛","NAME_ZHT":"馬紹爾群島","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[166.844727,5.799805,171.756836,11.168652],"geometry":{"type":"MultiPolygon","coordinates":[[[[169.635059,5.830078],[169.61543,5.799805],[169.590527,5.801904],[169.612207,5.824414],[169.627148,5.855811],[169.651074,5.945117],[169.700391,5.977051],[169.73457,6.01416],[169.726367,5.975684],[169.672559,5.935205],[169.635059,5.830078]]],[[[168.830273,7.308984],[168.81543,7.293555],[168.719238,7.302734],[168.675098,7.321924],[168.679297,7.33623],[168.755469,7.322461],[168.830273,7.308984]]],[[[171.577344,7.048242],[171.614746,7.026611],[171.688379,7.028271],[171.756836,6.973145],[171.730469,6.976611],[171.693359,7.000146],[171.659375,7.010059],[171.61416,7.007178],[171.592773,7.01626],[171.577344,7.048242]]],[[[171.101953,7.138232],[171.226953,7.086963],[171.39375,7.110937],[171.366992,7.095557],[171.304688,7.081152],[171.263281,7.06875],[171.235352,7.06875],[171.202344,7.073535],[171.095508,7.109277],[171.035742,7.156104],[171.050391,7.171777],[171.101953,7.138232]]],[[[166.890332,11.153076],[166.864453,11.14624],[166.844727,11.153369],[166.858887,11.166309],[166.888086,11.168652],[166.899414,11.165039],[166.890332,11.153076]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":3,"LABELRANK":6,"SOVEREIGNT":"United States of America","SOV_A3":"US1","ADM0_DIF":1,"LEVEL":2,"TYPE":"Dependency","TLC":"1","ADMIN":"Northern Mariana Islands","ADM0_A3":"MNP","GEOU_DIF":0,"GEOUNIT":"Northern Mariana Islands","GU_A3":"MNP","SU_DIF":0,"SUBUNIT":"Northern Mariana Islands","SU_A3":"MNP","BRK_DIFF":0,"NAME":"N. Mariana Is.","NAME_LONG":"Northern Mariana Islands","BRK_A3":"MNP","BRK_NAME":"N. Mariana Is.","BRK_GROUP":null,"ABBREV":"N.M.I.","POSTAL":"MP","FORMAL_EN":"Commonwealth of the Northern Mariana Islands","FORMAL_FR":null,"NAME_CIAWF":"Northern Mariana Islands","NOTE_ADM0":"U.S.A.","NOTE_BRK":null,"NAME_SORT":"Northern Mariana Islands","NAME_ALT":null,"MAPCOLOR7":4,"MAPCOLOR8":5,"MAPCOLOR9":1,"MAPCOLOR13":1,"POP_EST":57216,"POP_RANK":8,"POP_YEAR":2019,"GDP_MD":1323,"GDP_YEAR":2018,"ECONOMY":"6. Developing region","INCOME_GRP":"2. High income: nonOECD","FIPS_10":"CQ","ISO_A2":"MP","ISO_A2_EH":"MP","ISO_A3":"MNP","ISO_A3_EH":"MNP","ISO_N3":"580","ISO_N3_EH":"580","UN_A3":"580","WB_A2":"MP","WB_A3":"MNP","WOE_ID":23424788,"WOE_ID_EH":23424788,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"MNP","ADM0_DIFF":null,"ADM0_TLC":"MNP","ADM0_A3_US":"MNP","ADM0_A3_FR":"MNP","ADM0_A3_RU":"MNP","ADM0_A3_ES":"MNP","ADM0_A3_CN":"MNP","ADM0_A3_TW":"MNP","ADM0_A3_IN":"MNP","ADM0_A3_NP":"MNP","ADM0_A3_PK":"MNP","ADM0_A3_DE":"MNP","ADM0_A3_GB":"MNP","ADM0_A3_BR":"MNP","ADM0_A3_IL":"MNP","ADM0_A3_PS":"MNP","ADM0_A3_SA":"MNP","ADM0_A3_EG":"MNP","ADM0_A3_MA":"MNP","ADM0_A3_PT":"MNP","ADM0_A3_AR":"MNP","ADM0_A3_JP":"MNP","ADM0_A3_KO":"MNP","ADM0_A3_VN":"MNP","ADM0_A3_TR":"MNP","ADM0_A3_ID":"MNP","ADM0_A3_PL":"MNP","ADM0_A3_GR":"MNP","ADM0_A3_IT":"MNP","ADM0_A3_NL":"MNP","ADM0_A3_SE":"MNP","ADM0_A3_BD":"MNP","ADM0_A3_UA":"MNP","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Oceania","REGION_UN":"Oceania","SUBREGION":"Micronesia","REGION_WB":"East Asia & Pacific","NAME_LEN":14,"LONG_LEN":24,"ABBREV_LEN":6,"TINY":3,"HOMEPART":-99,"MIN_ZOOM":0,"MIN_LABEL":5,"MAX_LABEL":10,"LABEL_X":145.734397,"LABEL_Y":15.188188,"NE_ID":1159321361,"WIKIDATAID":"Q16644","NAME_AR":"جزر ماريانا الشمالية","NAME_BN":"উত্তর মারিয়ানা দ্বীপপুঞ্জ","NAME_DE":"Nördliche Marianen","NAME_EN":"Northern Mariana Islands","NAME_ES":"Islas Marianas del Norte","NAME_FA":"جزایر ماریانای شمالی","NAME_FR":"îles Mariannes du Nord","NAME_EL":"Βόρειες Μαριάνες Νήσοι","NAME_HE":"איי מריאנה הצפוניים","NAME_HI":"उत्तरी मारियाना द्वीप","NAME_HU":"Északi-Mariana-szigetek","NAME_ID":"Kepulauan Mariana Utara","NAME_IT":"Isole Marianne Settentrionali","NAME_JA":"北マリアナ諸島","NAME_KO":"북마리아나 제도","NAME_NL":"Noordelijke Marianen","NAME_PL":"Mariany Północne","NAME_PT":"Ilhas Marianas do Norte","NAME_RU":"Северные Марианские острова","NAME_SV":"Nordmarianerna","NAME_TR":"Kuzey Mariana Adaları","NAME_UK":"Північні Маріанські острови","NAME_UR":"جزائر شمالی ماریانا","NAME_VI":"Quần đảo Bắc Mariana","NAME_ZH":"北马里亚纳群岛","NAME_ZHT":"北馬里亞納群島","FCLASS_ISO":"Admin-0 dependency","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 dependency","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[145.152148,14.111328,145.835449,18.806787],"geometry":{"type":"MultiPolygon","coordinates":[[[[145.708398,18.7625],[145.678125,18.725244],[145.652539,18.752637],[145.645508,18.806787],[145.690137,18.801611],[145.706641,18.790479],[145.708398,18.7625]]],[[[145.712109,16.339111],[145.690234,16.332129],[145.658301,16.335791],[145.636035,16.351514],[145.631055,16.377979],[145.695508,16.379639],[145.719531,16.359766],[145.712109,16.339111]]],[[[145.264844,14.158105],[145.215332,14.111328],[145.17959,14.120996],[145.157422,14.136914],[145.152148,14.163623],[145.232422,14.189453],[145.26543,14.180225],[145.264844,14.158105]]],[[[145.777539,18.078955],[145.729102,18.056934],[145.789258,18.15542],[145.807422,18.172656],[145.835449,18.136768],[145.777539,18.078955]]],[[[145.751953,15.133154],[145.749219,15.107227],[145.698242,15.113525],[145.684277,15.125098],[145.713184,15.215283],[145.786328,15.256885],[145.821875,15.265381],[145.788574,15.222656],[145.782324,15.174609],[145.751953,15.133154]]],[[[145.662305,14.970508],[145.620996,14.919531],[145.591602,14.998828],[145.586719,15.030811],[145.624805,15.060156],[145.647363,15.059473],[145.662305,14.970508]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":3,"LABELRANK":6,"SOVEREIGNT":"United States of America","SOV_A3":"US1","ADM0_DIF":1,"LEVEL":2,"TYPE":"Dependency","TLC":"1","ADMIN":"United States Virgin Islands","ADM0_A3":"VIR","GEOU_DIF":0,"GEOUNIT":"United States Virgin Islands","GU_A3":"VIR","SU_DIF":0,"SUBUNIT":"United States Virgin Islands","SU_A3":"VIR","BRK_DIFF":0,"NAME":"U.S. Virgin Is.","NAME_LONG":"United States Virgin Islands","BRK_A3":"VIR","BRK_NAME":"U.S. Virgin Is.","BRK_GROUP":null,"ABBREV":"V.I. (U.S.)","POSTAL":"VI","FORMAL_EN":"Virgin Islands of the United States","FORMAL_FR":null,"NAME_CIAWF":"Virgin Islands","NOTE_ADM0":"U.S.A.","NOTE_BRK":null,"NAME_SORT":"Virgin Islands (U.S.)","NAME_ALT":null,"MAPCOLOR7":4,"MAPCOLOR8":5,"MAPCOLOR9":1,"MAPCOLOR13":1,"POP_EST":106631,"POP_RANK":9,"POP_YEAR":2019,"GDP_MD":3855,"GDP_YEAR":2017,"ECONOMY":"6. Developing region","INCOME_GRP":"2. High income: nonOECD","FIPS_10":"VQ","ISO_A2":"VI","ISO_A2_EH":"VI","ISO_A3":"VIR","ISO_A3_EH":"VIR","ISO_N3":"850","ISO_N3_EH":"850","UN_A3":"850","WB_A2":"VI","WB_A3":"VIR","WOE_ID":23424985,"WOE_ID_EH":23424985,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"VIR","ADM0_DIFF":null,"ADM0_TLC":"VIR","ADM0_A3_US":"VIR","ADM0_A3_FR":"VIR","ADM0_A3_RU":"VIR","ADM0_A3_ES":"VIR","ADM0_A3_CN":"VIR","ADM0_A3_TW":"VIR","ADM0_A3_IN":"VIR","ADM0_A3_NP":"VIR","ADM0_A3_PK":"VIR","ADM0_A3_DE":"VIR","ADM0_A3_GB":"VIR","ADM0_A3_BR":"VIR","ADM0_A3_IL":"VIR","ADM0_A3_PS":"VIR","ADM0_A3_SA":"VIR","ADM0_A3_EG":"VIR","ADM0_A3_MA":"VIR","ADM0_A3_PT":"VIR","ADM0_A3_AR":"VIR","ADM0_A3_JP":"VIR","ADM0_A3_KO":"VIR","ADM0_A3_VN":"VIR","ADM0_A3_TR":"VIR","ADM0_A3_ID":"VIR","ADM0_A3_PL":"VIR","ADM0_A3_GR":"VIR","ADM0_A3_IT":"VIR","ADM0_A3_NL":"VIR","ADM0_A3_SE":"VIR","ADM0_A3_BD":"VIR","ADM0_A3_UA":"VIR","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"North America","REGION_UN":"Americas","SUBREGION":"Caribbean","REGION_WB":"Latin America & Caribbean","NAME_LEN":15,"LONG_LEN":28,"ABBREV_LEN":11,"TINY":3,"HOMEPART":-99,"MIN_ZOOM":0,"MIN_LABEL":5,"MAX_LABEL":10,"LABEL_X":-64.779172,"LABEL_Y":17.746706,"NE_ID":1159321371,"WIKIDATAID":"Q11703","NAME_AR":"جزر العذراء الأمريكية","NAME_BN":"মার্কিন ভার্জিন দ্বীপপুঞ্জ","NAME_DE":"Amerikanische Jungferninseln","NAME_EN":"United States Virgin Islands","NAME_ES":"Islas Vírgenes de los Estados Unidos","NAME_FA":"جزایر ویرجین ایالات متحده","NAME_FR":"îles Vierges des États-Unis","NAME_EL":"Αμερικανικές Παρθένοι Νήσοι","NAME_HE":"איי הבתולה של ארצות הברית","NAME_HI":"संयुक्त राज्य वर्जिन द्वीपसमूह","NAME_HU":"Amerikai Virgin-szigetek","NAME_ID":"Kepulauan Virgin Amerika Serikat","NAME_IT":"Isole Vergini americane","NAME_JA":"アメリカ領ヴァージン諸島","NAME_KO":"미국령 버진아일랜드","NAME_NL":"Amerikaanse Maagdeneilanden","NAME_PL":"Wyspy Dziewicze Stanów Zjednoczonych","NAME_PT":"Ilhas Virgens Americanas","NAME_RU":"Американские Виргинские острова","NAME_SV":"Amerikanska Jungfruöarna","NAME_TR":"ABD Virjin Adaları","NAME_UK":"Американські Віргінські Острови","NAME_UR":"امریکی جزائر ورجن","NAME_VI":"Quần đảo Virgin thuộc Mỹ","NAME_ZH":"美属维尔京群岛","NAME_ZHT":"美屬維京群島","FCLASS_ISO":"Admin-0 dependency","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 dependency","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[-65.023633,17.701709,-64.580469,18.385205],"geometry":{"type":"MultiPolygon","coordinates":[[[[-64.84502,18.330078],[-64.919971,18.321289],[-65.023633,18.367578],[-64.942041,18.385205],[-64.889111,18.374219],[-64.84502,18.330078]]],[[[-64.659814,18.354346],[-64.725977,18.327881],[-64.770605,18.331592],[-64.787695,18.341113],[-64.752441,18.371973],[-64.659814,18.354346]]],[[[-64.765625,17.794336],[-64.681836,17.750195],[-64.580469,17.750195],[-64.686279,17.706104],[-64.889111,17.701709],[-64.884717,17.772266],[-64.765625,17.794336]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":3,"LABELRANK":6,"SOVEREIGNT":"United States of America","SOV_A3":"US1","ADM0_DIF":1,"LEVEL":2,"TYPE":"Dependency","TLC":"1","ADMIN":"Guam","ADM0_A3":"GUM","GEOU_DIF":0,"GEOUNIT":"Guam","GU_A3":"GUM","SU_DIF":0,"SUBUNIT":"Guam","SU_A3":"GUM","BRK_DIFF":0,"NAME":"Guam","NAME_LONG":"Guam","BRK_A3":"GUM","BRK_NAME":"Guam","BRK_GROUP":null,"ABBREV":"Guam","POSTAL":"GU","FORMAL_EN":"Territory of Guam","FORMAL_FR":null,"NAME_CIAWF":"Guam","NOTE_ADM0":"U.S.A.","NOTE_BRK":null,"NAME_SORT":"Guam","NAME_ALT":null,"MAPCOLOR7":4,"MAPCOLOR8":5,"MAPCOLOR9":1,"MAPCOLOR13":1,"POP_EST":167294,"POP_RANK":9,"POP_YEAR":2019,"GDP_MD":5920,"GDP_YEAR":2018,"ECONOMY":"6. Developing region","INCOME_GRP":"2. High income: nonOECD","FIPS_10":"GQ","ISO_A2":"GU","ISO_A2_EH":"GU","ISO_A3":"GUM","ISO_A3_EH":"GUM","ISO_N3":"316","ISO_N3_EH":"316","UN_A3":"316","WB_A2":"GU","WB_A3":"GUM","WOE_ID":23424832,"WOE_ID_EH":23424832,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"GUM","ADM0_DIFF":null,"ADM0_TLC":"GUM","ADM0_A3_US":"GUM","ADM0_A3_FR":"GUM","ADM0_A3_RU":"GUM","ADM0_A3_ES":"GUM","ADM0_A3_CN":"GUM","ADM0_A3_TW":"GUM","ADM0_A3_IN":"GUM","ADM0_A3_NP":"GUM","ADM0_A3_PK":"GUM","ADM0_A3_DE":"GUM","ADM0_A3_GB":"GUM","ADM0_A3_BR":"GUM","ADM0_A3_IL":"GUM","ADM0_A3_PS":"GUM","ADM0_A3_SA":"GUM","ADM0_A3_EG":"GUM","ADM0_A3_MA":"GUM","ADM0_A3_PT":"GUM","ADM0_A3_AR":"GUM","ADM0_A3_JP":"GUM","ADM0_A3_KO":"GUM","ADM0_A3_VN":"GUM","ADM0_A3_TR":"GUM","ADM0_A3_ID":"GUM","ADM0_A3_PL":"GUM","ADM0_A3_GR":"GUM","ADM0_A3_IT":"GUM","ADM0_A3_NL":"GUM","ADM0_A3_SE":"GUM","ADM0_A3_BD":"GUM","ADM0_A3_UA":"GUM","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Oceania","REGION_UN":"Oceania","SUBREGION":"Micronesia","REGION_WB":"East Asia & Pacific","NAME_LEN":4,"LONG_LEN":4,"ABBREV_LEN":4,"TINY":2,"HOMEPART":-99,"MIN_ZOOM":0,"MIN_LABEL":3,"MAX_LABEL":10,"LABEL_X":144.703614,"LABEL_Y":13.354173,"NE_ID":1159321359,"WIKIDATAID":"Q16635","NAME_AR":"غوام","NAME_BN":"গুয়াম","NAME_DE":"Guam","NAME_EN":"Guam","NAME_ES":"Guam","NAME_FA":"گوآم","NAME_FR":"Guam","NAME_EL":"Γκουάμ","NAME_HE":"גואם","NAME_HI":"गुआम","NAME_HU":"Guam","NAME_ID":"Guam","NAME_IT":"Guam","NAME_JA":"グアム","NAME_KO":"괌","NAME_NL":"Guam","NAME_PL":"Guam","NAME_PT":"Guam","NAME_RU":"Гуам","NAME_SV":"Guam","NAME_TR":"Guam","NAME_UK":"Гуам","NAME_UR":"گوام","NAME_VI":"Guam","NAME_ZH":"关岛","NAME_ZHT":"關島","FCLASS_ISO":"Admin-0 dependency","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 dependency","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[144.649316,13.25752,144.94082,13.622363],"geometry":{"type":"Polygon","coordinates":[[[144.741797,13.259277],[144.699512,13.25752],[144.662793,13.291064],[144.65,13.313477],[144.649316,13.428711],[144.790332,13.526855],[144.836719,13.622363],[144.875391,13.614648],[144.909668,13.599023],[144.94082,13.570312],[144.779883,13.411133],[144.741797,13.259277]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":3,"LABELRANK":4,"SOVEREIGNT":"United States of America","SOV_A3":"US1","ADM0_DIF":1,"LEVEL":2,"TYPE":"Dependency","TLC":"1","ADMIN":"American Samoa","ADM0_A3":"ASM","GEOU_DIF":0,"GEOUNIT":"American Samoa","GU_A3":"ASM","SU_DIF":0,"SUBUNIT":"American Samoa","SU_A3":"ASM","BRK_DIFF":0,"NAME":"American Samoa","NAME_LONG":"American Samoa","BRK_A3":"ASM","BRK_NAME":"American Samoa","BRK_GROUP":null,"ABBREV":"Am. Samoa","POSTAL":"AS","FORMAL_EN":"American Samoa","FORMAL_FR":null,"NAME_CIAWF":"American Samoa","NOTE_ADM0":"U.S.A.","NOTE_BRK":null,"NAME_SORT":"American Samoa","NAME_ALT":null,"MAPCOLOR7":4,"MAPCOLOR8":5,"MAPCOLOR9":1,"MAPCOLOR13":1,"POP_EST":55312,"POP_RANK":8,"POP_YEAR":2019,"GDP_MD":636,"GDP_YEAR":2018,"ECONOMY":"6. Developing region","INCOME_GRP":"3. Upper middle income","FIPS_10":"AQ","ISO_A2":"AS","ISO_A2_EH":"AS","ISO_A3":"ASM","ISO_A3_EH":"ASM","ISO_N3":"016","ISO_N3_EH":"016","UN_A3":"016","WB_A2":"AS","WB_A3":"ASM","WOE_ID":23424746,"WOE_ID_EH":23424746,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"ASM","ADM0_DIFF":null,"ADM0_TLC":"ASM","ADM0_A3_US":"ASM","ADM0_A3_FR":"ASM","ADM0_A3_RU":"ASM","ADM0_A3_ES":"ASM","ADM0_A3_CN":"ASM","ADM0_A3_TW":"ASM","ADM0_A3_IN":"ASM","ADM0_A3_NP":"ASM","ADM0_A3_PK":"ASM","ADM0_A3_DE":"ASM","ADM0_A3_GB":"ASM","ADM0_A3_BR":"ASM","ADM0_A3_IL":"ASM","ADM0_A3_PS":"ASM","ADM0_A3_SA":"ASM","ADM0_A3_EG":"ASM","ADM0_A3_MA":"ASM","ADM0_A3_PT":"ASM","ADM0_A3_AR":"ASM","ADM0_A3_JP":"ASM","ADM0_A3_KO":"ASM","ADM0_A3_VN":"ASM","ADM0_A3_TR":"ASM","ADM0_A3_ID":"ASM","ADM0_A3_PL":"ASM","ADM0_A3_GR":"ASM","ADM0_A3_IT":"ASM","ADM0_A3_NL":"ASM","ADM0_A3_SE":"ASM","ADM0_A3_BD":"ASM","ADM0_A3_UA":"ASM","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Oceania","REGION_UN":"Oceania","SUBREGION":"Polynesia","REGION_WB":"East Asia & Pacific","NAME_LEN":14,"LONG_LEN":14,"ABBREV_LEN":9,"TINY":3,"HOMEPART":-99,"MIN_ZOOM":0,"MIN_LABEL":4,"MAX_LABEL":9,"LABEL_X":-170.747153,"LABEL_Y":-14.32671,"NE_ID":1159321357,"WIKIDATAID":"Q16641","NAME_AR":"ساموا الأمريكية","NAME_BN":"মার্কিন সামোয়া","NAME_DE":"Amerikanisch-Samoa","NAME_EN":"American Samoa","NAME_ES":"Samoa Estadounidense","NAME_FA":"ساموآی آمریکا","NAME_FR":"Samoa américaines","NAME_EL":"Αμερικανική Σαμόα","NAME_HE":"סמואה האמריקנית","NAME_HI":"अमेरिकी समोआ","NAME_HU":"Amerikai Szamoa","NAME_ID":"Samoa Amerika","NAME_IT":"Samoa Americane","NAME_JA":"アメリカ領サモア","NAME_KO":"아메리칸사모아","NAME_NL":"Amerikaans-Samoa","NAME_PL":"Samoa Amerykańskie","NAME_PT":"Samoa Americana","NAME_RU":"Американское Самоа","NAME_SV":"Amerikanska Samoa","NAME_TR":"Amerikan Samoası","NAME_UK":"Східне Самоа","NAME_UR":"امریکی سمووا","NAME_VI":"Samoa thuộc Mỹ","NAME_ZH":"美属萨摩亚","NAME_ZHT":"美屬薩摩亞","FCLASS_ISO":"Admin-0 dependency","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 dependency","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[-170.820508,-14.359766,-170.568115,-14.257422],"geometry":{"type":"Polygon","coordinates":[[[-170.72627,-14.351172],[-170.769238,-14.359766],[-170.820508,-14.312109],[-170.72085,-14.275977],[-170.68916,-14.257422],[-170.568115,-14.266797],[-170.640479,-14.282227],[-170.72627,-14.351172]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":5,"SOVEREIGNT":"United States of America","SOV_A3":"US1","ADM0_DIF":1,"LEVEL":2,"TYPE":"Dependency","TLC":"1","ADMIN":"Puerto Rico","ADM0_A3":"PRI","GEOU_DIF":0,"GEOUNIT":"Puerto Rico","GU_A3":"PRI","SU_DIF":0,"SUBUNIT":"Puerto Rico","SU_A3":"PRI","BRK_DIFF":0,"NAME":"Puerto Rico","NAME_LONG":"Puerto Rico","BRK_A3":"PRI","BRK_NAME":"Puerto Rico","BRK_GROUP":null,"ABBREV":"P.R.","POSTAL":"PR","FORMAL_EN":"Commonwealth of Puerto Rico","FORMAL_FR":null,"NAME_CIAWF":"Puerto Rico","NOTE_ADM0":"U.S.A.","NOTE_BRK":null,"NAME_SORT":"Puerto Rico","NAME_ALT":null,"MAPCOLOR7":4,"MAPCOLOR8":5,"MAPCOLOR9":1,"MAPCOLOR13":1,"POP_EST":3193694,"POP_RANK":12,"POP_YEAR":2019,"GDP_MD":104988,"GDP_YEAR":2019,"ECONOMY":"6. Developing region","INCOME_GRP":"2. High income: nonOECD","FIPS_10":"RQ","ISO_A2":"PR","ISO_A2_EH":"PR","ISO_A3":"PRI","ISO_A3_EH":"PRI","ISO_N3":"630","ISO_N3_EH":"630","UN_A3":"630","WB_A2":"PR","WB_A3":"PRI","WOE_ID":23424935,"WOE_ID_EH":23424935,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"PRI","ADM0_DIFF":null,"ADM0_TLC":"PRI","ADM0_A3_US":"PRI","ADM0_A3_FR":"PRI","ADM0_A3_RU":"PRI","ADM0_A3_ES":"PRI","ADM0_A3_CN":"PRI","ADM0_A3_TW":"PRI","ADM0_A3_IN":"PRI","ADM0_A3_NP":"PRI","ADM0_A3_PK":"PRI","ADM0_A3_DE":"PRI","ADM0_A3_GB":"PRI","ADM0_A3_BR":"PRI","ADM0_A3_IL":"PRI","ADM0_A3_PS":"PRI","ADM0_A3_SA":"PRI","ADM0_A3_EG":"PRI","ADM0_A3_MA":"PRI","ADM0_A3_PT":"PRI","ADM0_A3_AR":"PRI","ADM0_A3_JP":"PRI","ADM0_A3_KO":"PRI","ADM0_A3_VN":"PRI","ADM0_A3_TR":"PRI","ADM0_A3_ID":"PRI","ADM0_A3_PL":"PRI","ADM0_A3_GR":"PRI","ADM0_A3_IT":"PRI","ADM0_A3_NL":"PRI","ADM0_A3_SE":"PRI","ADM0_A3_BD":"PRI","ADM0_A3_UA":"PRI","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"North America","REGION_UN":"Americas","SUBREGION":"Caribbean","REGION_WB":"Latin America & Caribbean","NAME_LEN":11,"LONG_LEN":11,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":-99,"MIN_ZOOM":0,"MIN_LABEL":3,"MAX_LABEL":8,"LABEL_X":-66.481065,"LABEL_Y":18.234668,"NE_ID":1159321363,"WIKIDATAID":"Q1183","NAME_AR":"بورتوريكو","NAME_BN":"পুয়ের্তো রিকো","NAME_DE":"Puerto Rico","NAME_EN":"Puerto Rico","NAME_ES":"Puerto Rico","NAME_FA":"پورتوریکو","NAME_FR":"Porto Rico","NAME_EL":"Πουέρτο Ρίκο","NAME_HE":"פוארטו ריקו","NAME_HI":"पोर्टो रीको","NAME_HU":"Puerto Rico","NAME_ID":"Puerto Riko","NAME_IT":"Porto Rico","NAME_JA":"プエルトリコ","NAME_KO":"푸에르토리코","NAME_NL":"Puerto Rico","NAME_PL":"Portoryko","NAME_PT":"Porto Rico","NAME_RU":"Пуэрто-Рико","NAME_SV":"Puerto Rico","NAME_TR":"Porto Riko","NAME_UK":"Пуерто-Рико","NAME_UR":"پورٹو ریکو","NAME_VI":"Puerto Rico","NAME_ZH":"波多黎各","NAME_ZHT":"波多黎各","FCLASS_ISO":"Admin-0 dependency","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 dependency","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[-67.937061,17.947266,-65.294873,18.522168],"geometry":{"type":"MultiPolygon","coordinates":[[[[-66.129395,18.444922],[-66.098486,18.425195],[-66.068408,18.428027],[-66.092676,18.468994],[-66.07041,18.468994],[-65.87876,18.443848],[-65.755566,18.401611],[-65.628809,18.381396],[-65.62085,18.242334],[-65.718408,18.18667],[-65.782227,18.128613],[-65.834131,18.057324],[-65.970801,17.974365],[-66.135498,17.949463],[-66.24502,17.947266],[-66.285889,17.949951],[-66.325781,17.96416],[-66.408545,17.950586],[-66.510791,17.987012],[-66.598437,17.977881],[-66.772412,17.986572],[-66.837598,17.955078],[-66.9,17.9479],[-66.96123,17.95376],[-67.01333,17.967871],[-67.142383,17.966699],[-67.196875,17.994189],[-67.174316,18.152539],[-67.172461,18.224219],[-67.20415,18.283398],[-67.238965,18.320654],[-67.264062,18.3646],[-67.213379,18.393604],[-67.171777,18.435791],[-67.158643,18.499219],[-67.113037,18.514795],[-67.059619,18.522168],[-66.812891,18.492529],[-66.188574,18.475781],[-66.153076,18.470654],[-66.129395,18.444922]]],[[[-65.425586,18.105615],[-65.504004,18.099512],[-65.555078,18.107666],[-65.572217,18.137305],[-65.477148,18.165039],[-65.366211,18.161084],[-65.302686,18.144385],[-65.294873,18.13335],[-65.425586,18.105615]]],[[[-67.872461,18.059863],[-67.881836,18.058936],[-67.891162,18.059912],[-67.895459,18.062793],[-67.901904,18.071875],[-67.930371,18.086914],[-67.937061,18.100635],[-67.930615,18.115137],[-67.918945,18.120898],[-67.861084,18.122559],[-67.855176,18.121143],[-67.843652,18.111035],[-67.843359,18.103955],[-67.849072,18.097021],[-67.85918,18.07959],[-67.863428,18.075195],[-67.866797,18.070654],[-67.868115,18.062793],[-67.872461,18.059863]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":5,"LABELRANK":2,"SOVEREIGNT":"United States of America","SOV_A3":"US1","ADM0_DIF":1,"LEVEL":2,"TYPE":"Country","TLC":"1","ADMIN":"United States of America","ADM0_A3":"USA","GEOU_DIF":0,"GEOUNIT":"United States of America","GU_A3":"USA","SU_DIF":0,"SUBUNIT":"United States","SU_A3":"USA","BRK_DIFF":0,"NAME":"United States of America","NAME_LONG":"United States","BRK_A3":"USA","BRK_NAME":"United States","BRK_GROUP":null,"ABBREV":"U.S.A.","POSTAL":"US","FORMAL_EN":"United States of America","FORMAL_FR":null,"NAME_CIAWF":"United States","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"United States of America","NAME_ALT":null,"MAPCOLOR7":4,"MAPCOLOR8":5,"MAPCOLOR9":1,"MAPCOLOR13":1,"POP_EST":328239523,"POP_RANK":17,"POP_YEAR":2019,"GDP_MD":21433226,"GDP_YEAR":2019,"ECONOMY":"1. Developed region: G7","INCOME_GRP":"1. High income: OECD","FIPS_10":"US","ISO_A2":"US","ISO_A2_EH":"US","ISO_A3":"USA","ISO_A3_EH":"USA","ISO_N3":"840","ISO_N3_EH":"840","UN_A3":"840","WB_A2":"US","WB_A3":"USA","WOE_ID":23424977,"WOE_ID_EH":23424977,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"USA","ADM0_DIFF":null,"ADM0_TLC":"USA","ADM0_A3_US":"USA","ADM0_A3_FR":"USA","ADM0_A3_RU":"USA","ADM0_A3_ES":"USA","ADM0_A3_CN":"USA","ADM0_A3_TW":"USA","ADM0_A3_IN":"USA","ADM0_A3_NP":"USA","ADM0_A3_PK":"USA","ADM0_A3_DE":"USA","ADM0_A3_GB":"USA","ADM0_A3_BR":"USA","ADM0_A3_IL":"USA","ADM0_A3_PS":"USA","ADM0_A3_SA":"USA","ADM0_A3_EG":"USA","ADM0_A3_MA":"USA","ADM0_A3_PT":"USA","ADM0_A3_AR":"USA","ADM0_A3_JP":"USA","ADM0_A3_KO":"USA","ADM0_A3_VN":"USA","ADM0_A3_TR":"USA","ADM0_A3_ID":"USA","ADM0_A3_PL":"USA","ADM0_A3_GR":"USA","ADM0_A3_IT":"USA","ADM0_A3_NL":"USA","ADM0_A3_SE":"USA","ADM0_A3_BD":"USA","ADM0_A3_UA":"USA","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"North America","REGION_UN":"Americas","SUBREGION":"Northern America","REGION_WB":"North America","NAME_LEN":24,"LONG_LEN":13,"ABBREV_LEN":6,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":1.7,"MAX_LABEL":5.7,"LABEL_X":-97.482602,"LABEL_Y":39.538479,"NE_ID":1159321369,"WIKIDATAID":"Q30","NAME_AR":"الولايات المتحدة","NAME_BN":"মার্কিন যুক্তরাষ্ট্র","NAME_DE":"Vereinigte Staaten","NAME_EN":"United States of America","NAME_ES":"Estados Unidos","NAME_FA":"ایالات متحده آمریکا","NAME_FR":"États-Unis","NAME_EL":"Ηνωμένες Πολιτείες Αμερικής","NAME_HE":"ארצות הברית","NAME_HI":"संयुक्त राज्य अमेरिका","NAME_HU":"Amerikai Egyesült Államok","NAME_ID":"Amerika Serikat","NAME_IT":"Stati Uniti d'America","NAME_JA":"アメリカ合衆国","NAME_KO":"미국","NAME_NL":"Verenigde Staten van Amerika","NAME_PL":"Stany Zjednoczone","NAME_PT":"Estados Unidos","NAME_RU":"США","NAME_SV":"USA","NAME_TR":"Amerika Birleşik Devletleri","NAME_UK":"Сполучені Штати Америки","NAME_UR":"ریاستہائے متحدہ امریکا","NAME_VI":"Hoa Kỳ","NAME_ZH":"美国","NAME_ZHT":"美國","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[-178.194531,18.963916,179.77998,71.407666],"geometry":{"type":"MultiPolygon","coordinates":[[[[-132.746875,56.525684],[-132.757617,56.511035],[-132.884717,56.512451],[-132.930811,56.524463],[-132.948047,56.567236],[-132.93623,56.606836],[-132.906543,56.637402],[-132.870654,56.696387],[-132.842529,56.794775],[-132.655859,56.684717],[-132.598682,56.635742],[-132.567969,56.57583],[-132.634229,56.553467],[-132.714453,56.542529],[-132.746875,56.525684]]],[[[-132.779883,56.247266],[-132.830957,56.244141],[-132.891455,56.259424],[-133.03501,56.340918],[-133.037646,56.364844],[-133.01709,56.391992],[-132.935498,56.441797],[-132.902051,56.45376],[-132.706055,56.448486],[-132.643359,56.435156],[-132.629102,56.411914],[-132.632275,56.388281],[-132.652832,56.364355],[-132.657568,56.339307],[-132.646582,56.313184],[-132.669385,56.287305],[-132.779883,56.247266]]],[[[-134.312744,58.228906],[-134.319873,58.204102],[-134.45625,58.206543],[-134.593994,58.243115],[-134.661572,58.290918],[-134.647998,58.312402],[-134.519971,58.33252],[-134.398877,58.287207],[-134.312744,58.228906]]],[[[-145.118506,60.337109],[-145.150488,60.312646],[-145.237646,60.321338],[-145.284277,60.336816],[-145.128125,60.401123],[-145.102441,60.388232],[-145.118506,60.337109]]],[[[-144.565625,59.818408],[-144.613574,59.812646],[-144.541553,59.878223],[-144.444922,59.950684],[-144.353955,59.996191],[-144.235742,60.015186],[-144.248975,59.982129],[-144.403223,59.921094],[-144.565625,59.818408]]],[[[-148.021777,60.065332],[-148.07417,60.034717],[-148.271875,60.053271],[-148.230664,60.113525],[-148.07959,60.15166],[-147.914209,60.092334],[-148.021777,60.065332]]],[[[-152.020752,60.361719],[-152.069043,60.358057],[-152.004492,60.407422],[-151.959717,60.50376],[-151.899414,60.490381],[-151.887305,60.472705],[-151.986914,60.373975],[-152.020752,60.361719]]],[[[-160.329297,55.337695],[-160.343311,55.258789],[-160.480762,55.308984],[-160.51748,55.333838],[-160.49292,55.352344],[-160.362305,55.356982],[-160.329297,55.337695]]],[[[-159.362012,54.972412],[-159.394482,54.967334],[-159.421338,54.978125],[-159.458496,55.034961],[-159.461914,55.058789],[-159.39043,55.040869],[-159.363184,54.999512],[-159.362012,54.972412]]],[[[-159.515137,55.151855],[-159.52041,55.072168],[-159.534961,55.059619],[-159.561475,55.080908],[-159.617725,55.057324],[-159.648486,55.074561],[-159.6354,55.102344],[-159.639648,55.123975],[-159.597949,55.125684],[-159.588037,55.165332],[-159.595264,55.182031],[-159.574756,55.217725],[-159.545068,55.225977],[-159.515137,55.151855]]],[[[-166.209766,53.723291],[-166.223828,53.72041],[-166.249414,53.745166],[-166.250732,53.767773],[-166.234375,53.78418],[-166.187744,53.822461],[-166.154541,53.836133],[-166.113721,53.843066],[-166.102686,53.832812],[-166.138623,53.787402],[-166.18374,53.756885],[-166.209766,53.723291]]],[[[-176.008984,51.812354],[-176.093359,51.790479],[-176.204443,51.834814],[-176.193652,51.886279],[-176.071631,51.843311],[-176.008984,51.812354]]],[[[-166.109863,66.227441],[-166.148633,66.221826],[-166.146484,66.237158],[-166.03252,66.277734],[-165.822217,66.328076],[-165.829883,66.317139],[-165.942285,66.278174],[-166.109863,66.227441]]],[[[-171.463037,63.640039],[-171.447852,63.615674],[-171.343359,63.619629],[-171.196924,63.609131],[-171.034863,63.585498],[-170.874609,63.593994],[-170.67251,63.668848],[-170.551855,63.688477],[-170.43042,63.698828],[-170.299365,63.680615],[-170.171289,63.640918],[-170.121826,63.617529],[-170.082422,63.57666],[-170.056299,63.527197],[-170.017383,63.491748],[-169.777441,63.447998],[-169.624121,63.430566],[-169.587207,63.406592],[-169.554541,63.373486],[-169.427588,63.34834],[-169.295068,63.35752],[-169.221094,63.348584],[-168.996045,63.347314],[-168.716016,63.310596],[-168.761328,63.21377],[-168.852393,63.17124],[-169.109033,63.184912],[-169.364697,63.171143],[-169.47085,63.121289],[-169.559277,63.058203],[-169.571289,62.996777],[-169.622852,62.968555],[-169.676367,62.956104],[-169.719824,62.990088],[-169.777783,63.09375],[-169.818604,63.122363],[-169.863428,63.140381],[-169.988477,63.173145],[-170.115381,63.193848],[-170.1896,63.196338],[-170.243115,63.232275],[-170.272705,63.284277],[-170.323535,63.311133],[-170.42417,63.349268],[-170.5271,63.379297],[-170.848389,63.444385],[-170.954053,63.45293],[-171.06123,63.445898],[-171.176025,63.416211],[-171.287305,63.372168],[-171.401172,63.339258],[-171.519141,63.331982],[-171.631836,63.351221],[-171.737842,63.394238],[-171.790967,63.424707],[-171.819385,63.477246],[-171.81792,63.529834],[-171.803516,63.580518],[-171.746387,63.703076],[-171.646484,63.727002],[-171.463037,63.640039]]],[[[-166.135449,60.383545],[-166.043652,60.333936],[-165.994922,60.331152],[-165.840918,60.34624],[-165.784473,60.335596],[-165.729688,60.314209],[-165.695801,60.281543],[-165.689355,60.224121],[-165.714404,60.172852],[-165.706934,60.100586],[-165.712354,60.069336],[-165.630566,60.028369],[-165.605029,59.972803],[-165.591797,59.913135],[-165.769287,59.893213],[-165.946729,59.890039],[-166.099854,59.849609],[-166.131201,59.819775],[-166.106689,59.775439],[-166.14873,59.764111],[-166.187549,59.773828],[-166.261621,59.814893],[-166.342969,59.834424],[-166.627637,59.864648],[-166.985059,59.983887],[-167.138867,60.008545],[-167.295117,60.095703],[-167.436426,60.206641],[-167.344336,60.224463],[-167.251709,60.233545],[-166.836328,60.216992],[-166.784375,60.296436],[-166.730957,60.31626],[-166.598975,60.33877],[-166.475684,60.382764],[-166.420361,60.381689],[-166.363867,60.364746],[-166.246973,60.391162],[-166.184961,60.396777],[-166.135449,60.383545]]],[[[-152.898047,57.823926],[-152.89082,57.768994],[-152.850146,57.775684],[-152.69624,57.832275],[-152.616016,57.848877],[-152.511572,57.851465],[-152.42876,57.825684],[-152.411914,57.805908],[-152.419141,57.782324],[-152.4854,57.734424],[-152.482617,57.70332],[-152.411475,57.646094],[-152.236523,57.614893],[-152.215283,57.597705],[-152.216211,57.577002],[-152.33667,57.482227],[-152.380859,57.460107],[-152.412207,57.454785],[-152.630957,57.471826],[-152.831152,57.502881],[-152.912158,57.508154],[-152.940771,57.498096],[-152.997461,57.468945],[-152.956836,57.460352],[-152.781348,57.453418],[-152.719531,57.41084],[-152.692529,57.37959],[-152.679053,57.345117],[-152.714063,57.330957],[-152.789111,57.320654],[-152.879053,57.320801],[-152.990283,57.281982],[-153.051611,57.237646],[-153.274365,57.226367],[-153.443701,57.167187],[-153.503564,57.137988],[-153.524414,57.103076],[-153.588281,57.077686],[-153.732568,57.052344],[-153.646533,57.02959],[-153.633057,57.010352],[-153.631445,56.983691],[-153.643311,56.960742],[-153.757227,56.85835],[-153.972705,56.774219],[-154.027344,56.777979],[-154.050781,56.788477],[-154.07002,56.804541],[-154.07085,56.820654],[-153.793213,56.989502],[-153.804199,56.997803],[-153.879736,57.003516],[-153.999365,57.049951],[-154.083789,57.020068],[-154.102979,57.02124],[-154.080469,57.061035],[-154.025439,57.108496],[-154.035059,57.121826],[-154.065332,57.133691],[-154.134863,57.140771],[-154.24375,57.143018],[-154.324414,57.131787],[-154.376807,57.107031],[-154.381104,57.096533],[-154.269531,57.099463],[-154.239209,57.086865],[-154.209131,57.06333],[-154.19082,57.036133],[-154.184326,57.005322],[-154.207715,56.963818],[-154.260938,56.911768],[-154.338965,56.920898],[-154.498779,57.036572],[-154.569336,57.205908],[-154.705957,57.335352],[-154.712207,57.36626],[-154.673193,57.446094],[-154.535303,57.559424],[-154.387061,57.590479],[-154.281445,57.638086],[-154.179346,57.652441],[-154.116162,57.651221],[-154.029834,57.630713],[-153.99502,57.587305],[-154.015869,57.566895],[-154.00791,57.556152],[-153.947363,57.530078],[-153.881885,57.439014],[-153.80542,57.358203],[-153.75459,57.325342],[-153.687695,57.305127],[-153.756934,57.366846],[-153.797803,57.443262],[-153.818359,57.595605],[-153.838135,57.63584],[-153.799463,57.64668],[-153.690137,57.640723],[-153.693164,57.663428],[-153.808496,57.714746],[-153.879443,57.757178],[-153.906104,57.790771],[-153.904443,57.819873],[-153.841553,57.862842],[-153.805811,57.875098],[-153.768994,57.880371],[-153.695605,57.87124],[-153.662646,57.857813],[-153.568555,57.761084],[-153.524463,57.731006],[-153.487939,57.730957],[-153.454053,57.747021],[-153.422705,57.77915],[-153.39043,57.798389],[-153.357129,57.804688],[-153.252393,57.790479],[-153.21748,57.795752],[-153.200293,57.82002],[-153.201025,57.863281],[-153.175195,57.878857],[-153.168848,57.910645],[-153.225928,57.957617],[-153.160449,57.971973],[-152.943262,57.936035],[-152.850391,57.896777],[-152.898047,57.823926]]],[[[-130.025098,55.888232],[-130.074658,55.836035],[-130.111963,55.779785],[-130.137061,55.719385],[-130.146533,55.654492],[-130.14043,55.58501],[-130.12041,55.524414],[-130.059473,55.412305],[-130.039258,55.343604],[-130.036572,55.2979],[-130.171826,55.137012],[-130.218506,55.060254],[-130.214063,55.025879],[-130.312549,54.945947],[-130.493262,54.83418],[-130.575342,54.769678],[-130.61582,54.790918],[-130.849609,54.807617],[-130.934619,54.950391],[-130.979688,55.061182],[-131.047852,55.157666],[-131.045898,55.17959],[-130.983936,55.243945],[-130.750391,55.296973],[-130.748193,55.318018],[-130.835059,55.33208],[-130.855957,55.355127],[-130.879785,55.459521],[-130.873389,55.551123],[-130.879639,55.611816],[-130.918555,55.735986],[-130.977002,55.811963],[-131.127686,55.960156],[-131.140381,55.99751],[-131.074023,56.044385],[-131.032764,56.088086],[-131.287598,56.012109],[-131.635254,55.932227],[-131.78418,55.876562],[-131.815479,55.854199],[-131.826172,55.835352],[-131.799072,55.782812],[-131.803271,55.765967],[-131.833594,55.734912],[-131.869434,55.647168],[-131.94502,55.55415],[-131.983398,55.53501],[-132.118994,55.569775],[-132.15542,55.599561],[-132.223437,55.721045],[-132.20752,55.753418],[-132.157959,55.780664],[-132.090674,55.839551],[-132.005713,55.930078],[-131.843848,56.160107],[-131.738037,56.16123],[-131.551367,56.206787],[-131.844238,56.229639],[-131.887891,56.24165],[-131.927295,56.272998],[-131.962305,56.323682],[-132.021924,56.380078],[-132.133252,56.399854],[-132.182031,56.420654],[-132.255566,56.489111],[-132.30498,56.519873],[-132.332031,56.55791],[-132.33667,56.603125],[-132.357666,56.625879],[-132.434424,56.634131],[-132.475928,56.649658],[-132.487109,56.766406],[-132.639502,56.796436],[-132.701953,56.822266],[-132.802197,56.895166],[-132.829883,56.930615],[-132.838818,56.960205],[-132.814258,57.040723],[-132.824609,57.055811],[-132.913428,57.047461],[-133.465869,57.172168],[-133.43667,57.336865],[-133.538965,57.55415],[-133.64873,57.642285],[-133.626953,57.676514],[-133.603369,57.694678],[-133.554199,57.695068],[-133.342334,57.631104],[-133.142822,57.555127],[-133.117041,57.566211],[-133.435742,57.727051],[-133.515479,57.775146],[-133.535205,57.832959],[-133.536426,57.863867],[-133.511133,57.880127],[-133.212061,57.865674],[-133.194336,57.877686],[-133.497412,57.924658],[-133.559375,57.924463],[-133.625732,57.856982],[-133.657275,57.841016],[-133.722314,57.844238],[-133.744141,57.85459],[-133.821387,57.936377],[-133.894482,57.993262],[-134.031104,58.072168],[-134.056738,58.128369],[-134.06333,58.211084],[-134.045264,58.289258],[-133.933643,58.467871],[-133.888525,58.49873],[-133.876758,58.518164],[-133.911133,58.515234],[-133.943848,58.498291],[-134.036133,58.415332],[-134.131201,58.279346],[-134.208838,58.232959],[-134.257617,58.244189],[-134.331445,58.299609],[-134.485449,58.367188],[-134.663623,58.384717],[-134.776123,58.453857],[-134.942529,58.646289],[-134.964795,58.742188],[-134.986133,58.765625],[-135.076465,58.796777],[-135.131836,58.842871],[-135.217383,59.076611],[-135.330322,59.239063],[-135.358447,59.324902],[-135.348926,59.410059],[-135.363672,59.419434],[-135.402539,59.353076],[-135.412744,59.318457],[-135.484082,59.308691],[-135.416943,59.241504],[-135.400146,59.20791],[-135.43374,59.210693],[-135.502344,59.202295],[-135.386133,59.087549],[-135.334082,58.909619],[-135.257031,58.777734],[-135.20708,58.670898],[-135.18457,58.589746],[-135.151904,58.512207],[-135.062012,58.340869],[-135.049707,58.306787],[-135.060498,58.278906],[-135.090234,58.24585],[-135.141553,58.233398],[-135.302539,58.255908],[-135.363135,58.298291],[-135.449951,58.376123],[-135.571777,58.412061],[-135.873437,58.394238],[-135.897559,58.400195],[-135.896338,58.463818],[-135.861719,58.577051],[-135.889551,58.622705],[-136.045508,58.789111],[-136.043115,58.821631],[-135.826367,58.897949],[-135.931689,58.90376],[-136.016602,58.873975],[-136.049365,58.893213],[-136.100635,58.999854],[-136.133691,59.039551],[-136.150049,59.048096],[-136.159473,58.946777],[-136.123535,58.893457],[-136.118408,58.862598],[-136.12417,58.819629],[-136.146826,58.788818],[-136.186328,58.770166],[-136.22583,58.765479],[-136.299023,58.786914],[-136.380273,58.827295],[-136.451172,58.846338],[-136.477588,58.8625],[-136.511182,58.90708],[-136.566211,58.940918],[-136.830957,58.983838],[-136.989014,59.034473],[-137.002148,59.021143],[-136.952832,58.966943],[-136.948047,58.934912],[-136.987891,58.925146],[-137.059033,58.87373],[-137.038379,58.86665],[-136.963037,58.883545],[-136.879102,58.881543],[-136.740137,58.850195],[-136.613916,58.809277],[-136.568213,58.786328],[-136.549316,58.752393],[-136.533496,58.740234],[-136.410107,58.700635],[-136.404199,58.679785],[-136.48374,58.617676],[-136.319873,58.624463],[-136.224609,58.602246],[-136.102881,58.506299],[-136.061475,58.452734],[-136.055957,58.38418],[-136.08125,58.364209],[-136.129639,58.350391],[-136.462402,58.327979],[-136.582617,58.245215],[-136.607422,58.243994],[-136.698926,58.266455],[-136.86499,58.332422],[-137.071924,58.395215],[-137.543994,58.581201],[-137.556934,58.589941],[-137.5646,58.625879],[-137.59707,58.644238],[-137.661084,58.659912],[-137.75,58.70708],[-137.863721,58.785547],[-137.933984,58.846875],[-137.960889,58.891016],[-138.026904,58.941455],[-138.240723,59.046826],[-138.35249,59.087305],[-138.451318,59.110107],[-138.537158,59.115088],[-138.560303,59.12915],[-138.520703,59.152246],[-138.514893,59.165918],[-138.704199,59.187549],[-138.884326,59.236914],[-139.340967,59.375635],[-139.576807,59.462451],[-139.714453,59.503955],[-139.773291,59.527295],[-139.799121,59.54624],[-139.766064,59.566064],[-139.674121,59.586816],[-139.611621,59.610303],[-139.513037,59.698096],[-139.505566,59.726318],[-139.558496,59.790186],[-139.582178,59.848291],[-139.581152,59.880518],[-139.569141,59.912354],[-139.554102,59.933301],[-139.512305,59.953564],[-139.483008,59.96377],[-139.446875,59.956836],[-139.330957,59.877002],[-139.314648,59.847949],[-139.32002,59.738721],[-139.286719,59.610937],[-139.27627,59.620361],[-139.265625,59.662598],[-139.25874,59.743311],[-139.245703,59.78208],[-139.220801,59.819873],[-139.178857,59.839844],[-139.048291,59.828223],[-138.988086,59.83501],[-139.24248,59.892773],[-139.40249,60.000977],[-139.431445,60.012256],[-139.518945,60.01709],[-139.61167,59.973438],[-139.850195,59.830713],[-139.916895,59.805664],[-140.216748,59.72666],[-140.419824,59.710742],[-140.648389,59.723193],[-140.843164,59.748877],[-141.331934,59.873779],[-141.408301,59.902783],[-141.294629,59.980029],[-141.289941,60.00415],[-141.329541,60.082813],[-141.362158,60.105273],[-141.40874,60.117676],[-141.42168,60.108838],[-141.422168,60.085498],[-141.409717,60.042285],[-141.44707,60.019434],[-141.530176,59.994775],[-141.670166,59.969873],[-142.104102,60.033447],[-142.548584,60.086035],[-142.945654,60.096973],[-143.506104,60.055029],[-143.805078,60.012891],[-143.979492,60.008789],[-144.147217,60.016406],[-144.160937,60.045801],[-144.084277,60.063037],[-144.088525,60.084326],[-144.185498,60.150732],[-144.332617,60.191016],[-144.52998,60.205225],[-144.642969,60.224658],[-144.671582,60.249219],[-144.741406,60.272705],[-144.852441,60.295068],[-144.901318,60.335156],[-144.862451,60.45918],[-144.824414,60.533594],[-144.786572,60.584619],[-144.691113,60.669092],[-144.724414,60.662842],[-144.863086,60.600879],[-144.984033,60.536914],[-145.095996,60.453662],[-145.162695,60.415381],[-145.248291,60.380127],[-145.381787,60.388574],[-145.563135,60.440723],[-145.718457,60.467578],[-145.847754,60.469238],[-145.898877,60.478174],[-145.810645,60.524658],[-145.759814,60.562012],[-145.690234,60.621973],[-145.674902,60.651123],[-146.149023,60.660693],[-146.166406,60.692285],[-146.16709,60.715527],[-146.182324,60.734766],[-146.251025,60.749072],[-146.347168,60.738135],[-146.502979,60.700781],[-146.570459,60.72915],[-146.546387,60.745117],[-146.495508,60.756787],[-146.391992,60.81084],[-146.531934,60.838867],[-146.603564,60.870947],[-146.638428,60.897314],[-146.636035,60.992529],[-146.599121,61.053516],[-146.284912,61.112646],[-146.384375,61.13584],[-146.582715,61.127832],[-146.715918,61.077539],[-146.874023,61.004883],[-146.980176,60.977783],[-147.034326,60.996191],[-147.105957,61.002539],[-147.19502,60.996826],[-147.254883,60.978271],[-147.285596,60.946777],[-147.321094,60.925488],[-147.361377,60.914502],[-147.390576,60.918018],[-147.433398,60.950293],[-147.523291,60.970312],[-147.567285,60.994922],[-147.592578,60.979443],[-147.623291,60.933008],[-147.655664,60.909521],[-147.807617,60.8854],[-147.891113,60.889893],[-147.990771,60.948291],[-148.005127,60.968555],[-147.971191,61.019043],[-147.751855,61.218945],[-147.773779,61.217822],[-147.844824,61.186377],[-147.986377,61.106494],[-148.049414,61.082666],[-148.15791,61.079687],[-148.208691,61.088281],[-148.27002,61.081787],[-148.341895,61.0604],[-148.38877,61.036963],[-148.410742,61.011475],[-148.39585,61.007129],[-148.287402,61.03623],[-148.225879,61.044043],[-148.208691,61.029932],[-148.293164,60.939697],[-148.344434,60.853564],[-148.393311,60.831885],[-148.471045,60.835498],[-148.556152,60.827002],[-148.557373,60.80293],[-148.398682,60.734033],[-148.34126,60.724316],[-148.267871,60.699707],[-148.256738,60.675293],[-148.284229,60.609326],[-148.30498,60.58335],[-148.338428,60.569824],[-148.467773,60.57207],[-148.50957,60.565234],[-148.596631,60.523779],[-148.640137,60.489453],[-148.624268,60.486426],[-148.549121,60.514795],[-148.439844,60.52998],[-148.296387,60.53208],[-148.189453,60.547119],[-148.119189,60.575146],[-148.050684,60.567188],[-147.984033,60.52334],[-147.964111,60.484863],[-147.990967,60.451855],[-148.045996,60.42832],[-148.129199,60.414209],[-148.181689,60.393066],[-148.203564,60.364941],[-148.215869,60.323145],[-148.218652,60.267676],[-148.197607,60.167773],[-148.21377,60.154248],[-148.24502,60.146826],[-148.291357,60.145459],[-148.333105,60.122021],[-148.430713,59.989111],[-148.465088,59.974707],[-148.506055,59.988965],[-148.542383,59.987402],[-148.574072,59.970068],[-148.643604,59.956836],[-148.750879,59.947754],[-148.842725,59.951221],[-149.004248,59.97998],[-149.070117,60.000244],[-149.121582,60.033496],[-149.266602,59.998291],[-149.304932,60.013672],[-149.395264,60.105762],[-149.414844,60.100244],[-149.432227,60.001025],[-149.459717,59.96626],[-149.54917,59.894336],[-149.598047,59.770459],[-149.612891,59.766846],[-149.629639,59.784668],[-149.684668,59.895313],[-149.713867,59.91958],[-149.794775,59.855811],[-149.803662,59.832715],[-149.782471,59.750342],[-149.80127,59.737939],[-149.96499,59.782275],[-150.005322,59.784424],[-150.015967,59.776953],[-149.960156,59.713037],[-149.966504,59.690039],[-150.198047,59.566553],[-150.258496,59.570947],[-150.296484,59.583252],[-150.338135,59.581348],[-150.485352,59.535303],[-150.525977,59.537305],[-150.581543,59.5646],[-150.607373,59.563379],[-150.621143,59.535059],[-150.6229,59.479639],[-150.677441,59.426953],[-150.852783,59.341846],[-150.899316,59.302686],[-150.934521,59.249121],[-150.960742,59.243994],[-151.063574,59.278418],[-151.182764,59.300781],[-151.199219,59.289648],[-151.163037,59.256934],[-151.170703,59.236914],[-151.222266,59.229395],[-151.2875,59.232324],[-151.366357,59.245605],[-151.477002,59.230566],[-151.619385,59.187305],[-151.738184,59.188525],[-151.903857,59.259766],[-151.949512,59.265088],[-151.964063,59.285107],[-151.931689,59.342725],[-151.884619,59.386328],[-151.849951,59.406348],[-151.692578,59.462207],[-151.512695,59.482715],[-151.399609,59.516309],[-151.262109,59.585596],[-151.189404,59.637695],[-151.046484,59.771826],[-151.057324,59.782178],[-151.089453,59.789404],[-151.403662,59.662256],[-151.450098,59.650391],[-151.512598,59.65127],[-151.763818,59.7],[-151.816943,59.720898],[-151.853223,59.78208],[-151.783447,59.921143],[-151.734521,59.98833],[-151.611865,60.092041],[-151.451465,60.202637],[-151.395996,60.274463],[-151.312695,60.466455],[-151.317529,60.553564],[-151.355029,60.659863],[-151.356445,60.722949],[-151.321777,60.74292],[-150.95376,60.841211],[-150.779492,60.914795],[-150.44126,61.023584],[-150.349121,61.022656],[-150.281494,60.985205],[-150.202783,60.955225],[-150.113037,60.932812],[-149.997559,60.935156],[-149.85625,60.962256],[-149.632471,60.952002],[-149.172852,60.88042],[-149.075098,60.876416],[-149.071289,60.885547],[-149.142236,60.935693],[-149.459131,60.964746],[-149.59248,60.993848],[-149.967725,61.121729],[-150.053271,61.171094],[-150.018555,61.194238],[-149.926758,61.213281],[-149.895312,61.231738],[-149.882031,61.263721],[-149.829199,61.30752],[-149.736914,61.36333],[-149.595996,61.417285],[-149.329053,61.497363],[-149.433545,61.500781],[-149.625439,61.486035],[-149.695264,61.470703],[-149.82373,61.413379],[-149.873682,61.372998],[-149.945215,61.294238],[-149.975684,61.279346],[-150.108936,61.26792],[-150.471777,61.259961],[-150.533203,61.300244],[-150.567236,61.306787],[-150.612256,61.301123],[-150.945508,61.198242],[-151.06499,61.145703],[-151.150146,61.08584],[-151.281885,61.041943],[-151.460107,61.014111],[-151.593506,60.979639],[-151.733984,60.910742],[-151.781641,60.857959],[-151.784424,60.833154],[-151.750488,60.754883],[-151.785107,60.740234],[-151.866162,60.734082],[-151.99624,60.682227],[-152.270703,60.528125],[-152.306592,60.472217],[-152.305078,60.453027],[-152.260303,60.409424],[-152.291504,60.381104],[-152.368848,60.336328],[-152.540918,60.26543],[-152.653955,60.238428],[-152.727295,60.237061],[-152.7979,60.247168],[-152.923389,60.292871],[-153.025,60.295654],[-153.03125,60.289258],[-152.89292,60.240381],[-152.752393,60.17749],[-152.664746,60.125293],[-152.630127,60.083789],[-152.628564,60.041113],[-152.660107,59.997217],[-152.759473,59.920898],[-152.856934,59.898096],[-153.106055,59.875049],[-153.186377,59.856885],[-153.21123,59.842725],[-153.040088,59.810498],[-153.024609,59.793994],[-153.048145,59.730029],[-153.093604,59.709131],[-153.236182,59.670947],[-153.364014,59.659863],[-153.383496,59.667187],[-153.359619,59.71748],[-153.366455,59.729834],[-153.414404,59.740137],[-153.482617,59.720947],[-153.652539,59.647021],[-153.670703,59.634814],[-153.609375,59.615039],[-153.622266,59.598486],[-153.714355,59.545264],[-153.752588,59.509863],[-153.81416,59.47373],[-154.08833,59.363281],[-154.06748,59.336377],[-154.138818,59.240137],[-154.17832,59.155566],[-154.129834,59.119873],[-153.899561,59.078027],[-153.787939,59.06792],[-153.656396,59.038672],[-153.418262,58.959961],[-153.338965,58.908545],[-153.327051,58.884326],[-153.334424,58.857861],[-153.362939,58.822217],[-153.437598,58.754834],[-153.617334,58.654736],[-153.698584,58.626367],[-153.821484,58.604102],[-153.861963,58.587842],[-154.019873,58.492969],[-154.062451,58.441748],[-154.055713,58.397168],[-154.085889,58.36582],[-154.289014,58.304346],[-154.281787,58.293457],[-154.208057,58.28877],[-154.235107,58.234619],[-154.247021,58.159424],[-154.282275,58.146777],[-154.409229,58.147314],[-154.570605,58.118066],[-154.581934,58.109766],[-154.584912,58.055664],[-155.006885,58.016064],[-155.099268,57.91333],[-155.147363,57.881836],[-155.312744,57.807129],[-155.413965,57.777051],[-155.529639,57.758887],[-155.590234,57.733594],[-155.59585,57.701074],[-155.628711,57.673047],[-155.728955,57.626611],[-155.777979,57.568213],[-155.813672,57.559033],[-156.000195,57.544971],[-156.037354,57.526514],[-156.055371,57.447559],[-156.089893,57.445068],[-156.156006,57.463428],[-156.242188,57.449219],[-156.435889,57.359961],[-156.478418,57.327881],[-156.473682,57.310693],[-156.443555,57.293652],[-156.397656,57.240576],[-156.400488,57.204834],[-156.475146,57.105176],[-156.501318,57.089795],[-156.592041,57.065088],[-156.629004,57.009961],[-156.712646,57.016064],[-156.779883,57.005615],[-156.823877,56.968848],[-156.871729,56.947656],[-156.923438,56.94209],[-156.988428,56.912939],[-157.066699,56.860205],[-157.13916,56.826563],[-157.205762,56.812061],[-157.270557,56.808496],[-157.333594,56.815869],[-157.390234,56.809814],[-157.440576,56.790332],[-157.489648,56.759766],[-157.528711,56.673193],[-157.578369,56.634473],[-157.609766,56.627686],[-157.673877,56.633447],[-157.770703,56.65166],[-157.869092,56.645215],[-158.027881,56.592139],[-158.07832,56.552051],[-157.978271,56.543164],[-157.928711,56.531689],[-157.92998,56.520459],[-157.982178,56.50957],[-158.070947,56.510352],[-158.124365,56.501025],[-158.189404,56.478174],[-158.35249,56.453516],[-158.414404,56.43584],[-158.537402,56.335449],[-158.552148,56.312695],[-158.536377,56.307666],[-158.467334,56.318262],[-158.386133,56.301562],[-158.343994,56.280322],[-158.316992,56.25415],[-158.291406,56.203662],[-158.275635,56.19624],[-158.431836,56.111475],[-158.476123,56.075488],[-158.504687,56.062109],[-158.52334,56.072461],[-158.542676,56.166846],[-158.554443,56.182861],[-158.591162,56.184521],[-158.626758,56.154688],[-158.704883,56.043115],[-158.789844,55.986914],[-159.429443,55.842725],[-159.523242,55.81001],[-159.541309,55.748486],[-159.567627,55.695215],[-159.610059,55.652783],[-159.659668,55.625928],[-159.670264,55.64502],[-159.665332,55.794873],[-159.678516,55.824658],[-159.743018,55.84375],[-159.771387,55.841113],[-159.8104,55.832715],[-159.874365,55.800293],[-159.913525,55.792187],[-159.962305,55.794873],[-160.045654,55.762939],[-160.243799,55.660547],[-160.373193,55.635107],[-160.407422,55.613818],[-160.462695,55.557812],[-160.499316,55.537305],[-160.553516,55.535498],[-160.625244,55.552393],[-160.68291,55.54043],[-160.726514,55.499658],[-160.77085,55.483545],[-160.896729,55.513623],[-160.952197,55.493066],[-161.024219,55.44043],[-161.099512,55.405713],[-161.178027,55.388867],[-161.381934,55.371289],[-161.463867,55.38252],[-161.480518,55.397803],[-161.476709,55.464893],[-161.443799,55.513281],[-161.41333,55.536133],[-161.372705,55.556299],[-161.313281,55.558643],[-161.2021,55.543555],[-161.214697,55.559766],[-161.255127,55.579004],[-161.357471,55.612207],[-161.458789,55.62915],[-161.516943,55.618408],[-161.598779,55.592822],[-161.654297,55.563379],[-161.683545,55.529932],[-161.720361,55.420703],[-161.741553,55.391162],[-161.980322,55.198633],[-162.073975,55.139307],[-162.166602,55.14375],[-162.211475,55.121338],[-162.274658,55.073242],[-162.33291,55.050244],[-162.386377,55.052344],[-162.42793,55.061475],[-162.457471,55.077686],[-162.452393,55.092822],[-162.412549,55.106885],[-162.426807,55.14541],[-162.495264,55.208447],[-162.541895,55.242725],[-162.630371,55.24668],[-162.644141,55.218018],[-162.614307,55.071484],[-162.618896,55.038428],[-162.674365,54.996582],[-162.81958,54.95],[-162.865039,54.954541],[-162.995898,55.046484],[-163.119629,55.064697],[-163.127832,55.034766],[-163.100195,54.973633],[-163.131104,54.916553],[-163.220557,54.863379],[-163.288623,54.837598],[-163.335303,54.83916],[-163.337891,54.876367],[-163.296338,54.949268],[-163.285693,55.009961],[-163.305957,55.058545],[-163.303662,55.09585],[-163.278809,55.121826],[-163.114502,55.193945],[-163.045361,55.204736],[-163.008252,55.186865],[-162.961963,55.183838],[-162.906592,55.195557],[-162.871582,55.218604],[-162.857129,55.253027],[-162.78623,55.29707],[-162.658984,55.350781],[-162.513379,55.45],[-162.349365,55.594727],[-162.157129,55.719434],[-161.936621,55.82417],[-161.697314,55.907227],[-161.215625,56.021436],[-161.178613,56.014453],[-161.222559,55.977441],[-161.192529,55.954297],[-161.145166,55.951318],[-160.968652,55.969629],[-160.898633,55.993652],[-160.877832,55.970508],[-160.902393,55.941309],[-161.008398,55.911719],[-161.005371,55.887158],[-160.851318,55.771875],[-160.802832,55.754443],[-160.762598,55.756592],[-160.745508,55.771484],[-160.758398,55.854639],[-160.706348,55.870459],[-160.599707,55.874316],[-160.530225,55.863477],[-160.4979,55.837891],[-160.436914,55.816699],[-160.347314,55.799902],[-160.291699,55.805078],[-160.270117,55.832178],[-160.308496,55.864453],[-160.479883,55.935449],[-160.527441,55.965039],[-160.539062,56.006299],[-160.514697,56.059131],[-160.46084,56.1375],[-160.37749,56.241455],[-160.302051,56.314111],[-160.149268,56.396338],[-160.04624,56.437012],[-159.785059,56.561621],[-159.283105,56.688574],[-159.159033,56.770068],[-158.990381,56.860059],[-158.918018,56.882178],[-158.918018,56.847412],[-158.894873,56.816406],[-158.78208,56.795752],[-158.708838,56.788574],[-158.675146,56.794873],[-158.665918,56.82793],[-158.681055,56.887744],[-158.684814,56.944238],[-158.677246,56.997363],[-158.660791,57.039404],[-158.585596,57.114062],[-158.47373,57.199072],[-158.320947,57.2979],[-158.224512,57.342676],[-158.133545,57.366406],[-158.045703,57.409473],[-157.894336,57.511377],[-157.845752,57.528076],[-157.737207,57.548145],[-157.697412,57.539258],[-157.674023,57.513721],[-157.645557,57.497803],[-157.535303,57.483447],[-157.461914,57.506201],[-157.473877,57.518213],[-157.533496,57.525879],[-157.571631,57.540674],[-157.607568,57.601465],[-157.680664,57.638086],[-157.697217,57.679443],[-157.683984,57.743896],[-157.621191,57.895215],[-157.610889,58.05083],[-157.555029,58.139941],[-157.442676,58.172168],[-157.193701,58.194189],[-157.339404,58.234521],[-157.393604,58.234814],[-157.488379,58.253711],[-157.524414,58.350732],[-157.523633,58.421338],[-157.460889,58.503027],[-157.228857,58.640918],[-156.974658,58.736328],[-157.009033,58.744189],[-157.040479,58.772559],[-156.923242,58.963672],[-156.808887,59.134277],[-156.963379,58.988867],[-157.142041,58.877637],[-157.665723,58.748486],[-158.021924,58.640186],[-158.190918,58.614258],[-158.302588,58.641797],[-158.389648,58.745654],[-158.439307,58.782617],[-158.503174,58.850342],[-158.47627,58.938379],[-158.425635,58.999316],[-158.314502,59.009326],[-158.189209,58.979932],[-158.080518,58.977441],[-158.220605,59.0375],[-158.422803,59.089844],[-158.514404,59.072852],[-158.584473,58.987793],[-158.678271,58.929395],[-158.760596,58.950098],[-158.809473,58.973877],[-158.775537,58.902539],[-158.837744,58.793945],[-158.861377,58.71875],[-158.772119,58.520313],[-158.788623,58.440967],[-158.950684,58.404541],[-159.082666,58.469775],[-159.358203,58.721289],[-159.454199,58.79292],[-159.670264,58.911133],[-159.741455,58.894287],[-159.832227,58.835986],[-159.920215,58.819873],[-160.152588,58.905908],[-160.260791,58.971533],[-160.363135,59.051172],[-160.519922,59.007324],[-160.656641,58.955078],[-160.81709,58.87168],[-160.924268,58.872412],[-161.215918,58.800977],[-161.246826,58.799463],[-161.287891,58.760937],[-161.328125,58.743701],[-161.361328,58.669531],[-161.755469,58.612012],[-162.144922,58.644238],[-162.008691,58.68501],[-161.856494,58.71709],[-161.724365,58.794287],[-161.780518,58.897412],[-161.790283,58.949951],[-161.788672,59.016406],[-161.644385,59.109668],[-161.794482,59.109473],[-161.890771,59.076074],[-161.981055,59.146143],[-162.023291,59.283984],[-161.920117,59.365479],[-161.872217,59.428271],[-161.831689,59.514502],[-161.828711,59.588623],[-161.908643,59.714111],[-162.138135,59.980029],[-162.24248,60.17832],[-162.421338,60.283984],[-162.287793,60.456885],[-162.138867,60.614355],[-161.946582,60.684814],[-161.962012,60.695361],[-162.068262,60.694873],[-162.138037,60.685547],[-162.199902,60.634326],[-162.265039,60.595215],[-162.468701,60.394678],[-162.599707,60.296973],[-162.684961,60.268945],[-162.547705,60.231055],[-162.526953,60.199121],[-162.500488,60.126562],[-162.535645,60.038379],[-162.570752,59.989746],[-162.732617,59.993652],[-162.877832,59.922754],[-163.219385,59.845605],[-163.680371,59.801514],[-163.906885,59.806787],[-164.142822,59.896777],[-164.141113,59.948877],[-164.131543,59.994238],[-164.470508,60.149316],[-164.662256,60.303809],[-164.799951,60.307227],[-164.919727,60.348438],[-165.061133,60.412549],[-165.04873,60.464258],[-165.026514,60.500635],[-165.113281,60.526074],[-165.224512,60.523584],[-165.353809,60.541211],[-165.016016,60.740039],[-164.899805,60.873145],[-164.805176,60.892041],[-164.682373,60.871533],[-164.512939,60.819043],[-164.370068,60.795898],[-164.318506,60.771289],[-164.265674,60.724658],[-164.321387,60.646631],[-164.372363,60.591846],[-164.309668,60.606738],[-164.131836,60.691504],[-163.999561,60.766064],[-163.936133,60.758301],[-163.894922,60.745166],[-163.821387,60.668262],[-163.72998,60.58999],[-163.528711,60.664551],[-163.420947,60.757422],[-163.511865,60.798145],[-163.623047,60.822217],[-163.906543,60.853809],[-163.837305,60.88042],[-163.65542,60.87749],[-163.586914,60.902979],[-163.658936,60.938232],[-163.749023,60.969727],[-163.994629,60.864697],[-164.441553,60.869971],[-164.753955,60.931299],[-165.065625,60.920654],[-165.114844,60.932812],[-165.175488,60.965674],[-164.999902,61.043652],[-164.875586,61.086768],[-164.868994,61.111768],[-164.941211,61.114893],[-165.0771,61.094189],[-165.137695,61.130127],[-165.127783,61.192432],[-165.150049,61.186865],[-165.20376,61.152832],[-165.279785,61.169629],[-165.344873,61.197705],[-165.310791,61.227637],[-165.243945,61.26875],[-165.273633,61.274854],[-165.333691,61.266113],[-165.392041,61.212305],[-165.379297,61.16875],[-165.380762,61.106299],[-165.480469,61.094873],[-165.565869,61.102344],[-165.627588,61.165186],[-165.691357,61.299902],[-165.863965,61.335693],[-165.906299,61.403809],[-165.797119,61.491162],[-165.845313,61.53623],[-165.961328,61.550879],[-166.093994,61.506738],[-166.152734,61.545947],[-166.163525,61.589014],[-166.168115,61.65083],[-166.131152,61.657324],[-166.100488,61.645068],[-165.83457,61.679395],[-165.808936,61.696094],[-166.019922,61.748291],[-166.078809,61.803125],[-165.991406,61.83418],[-165.833838,61.836816],[-165.612793,61.869287],[-165.705811,61.927441],[-165.725244,61.959375],[-165.743945,62.011719],[-165.707275,62.100439],[-165.447656,62.303906],[-165.194531,62.473535],[-165.115625,62.512695],[-164.999707,62.533789],[-164.891846,62.517578],[-164.779199,62.481152],[-164.757861,62.496729],[-164.796094,62.511621],[-164.844385,62.581055],[-164.687988,62.608252],[-164.596289,62.68667],[-164.589453,62.709375],[-164.688965,62.676758],[-164.792676,62.623193],[-164.818652,62.677051],[-164.84541,62.800977],[-164.799658,62.918066],[-164.764062,62.970605],[-164.677441,63.020459],[-164.428125,63.04043],[-164.384229,63.030469],[-164.375098,63.054004],[-164.525195,63.127637],[-164.463281,63.185205],[-164.409033,63.215039],[-164.107617,63.261719],[-163.942871,63.247217],[-163.73623,63.192822],[-163.616309,63.125146],[-163.63374,63.09043],[-163.663574,63.070312],[-163.725732,63.047803],[-163.748975,63.030322],[-163.737842,63.016406],[-163.649365,63.056787],[-163.504346,63.105859],[-163.423193,63.084521],[-163.358838,63.045752],[-163.287842,63.046436],[-163.062256,63.079736],[-162.947705,63.11499],[-162.807764,63.206592],[-162.621484,63.26582],[-162.359814,63.452588],[-162.282813,63.529199],[-162.193311,63.540967],[-162.1125,63.53418],[-162.05625,63.471338],[-161.973975,63.45293],[-161.50542,63.468164],[-161.266016,63.496973],[-161.099707,63.55791],[-160.926709,63.660547],[-160.826514,63.729346],[-160.778564,63.818945],[-160.840479,63.934912],[-160.903955,64.031201],[-160.987549,64.25127],[-161.220117,64.396582],[-161.385693,64.439941],[-161.490723,64.433789],[-161.4146,64.526367],[-161.193066,64.516406],[-161.048779,64.534473],[-160.931934,64.579102],[-160.893701,64.612891],[-160.836035,64.681934],[-160.855908,64.755615],[-160.886963,64.795557],[-160.96748,64.839551],[-161.063232,64.904004],[-161.130176,64.925439],[-161.186914,64.924023],[-161.466357,64.794873],[-161.633984,64.79248],[-161.759375,64.81626],[-161.868311,64.742676],[-162.172266,64.678076],[-162.334619,64.612842],[-162.635742,64.45083],[-162.711084,64.377539],[-162.807031,64.374219],[-162.876416,64.516406],[-163.203906,64.652002],[-163.302832,64.605908],[-163.248291,64.563281],[-163.174072,64.532959],[-163.051758,64.519727],[-163.104492,64.478613],[-163.144336,64.423828],[-163.267041,64.475195],[-163.486182,64.549805],[-163.713086,64.588232],[-164.303955,64.583936],[-164.691846,64.507422],[-164.72749,64.523291],[-164.764941,64.529639],[-164.829541,64.511377],[-164.857275,64.480322],[-164.899512,64.460645],[-164.97876,64.453662],[-165.138135,64.465234],[-165.446191,64.512842],[-166.142773,64.582764],[-166.325098,64.625732],[-166.481396,64.728076],[-166.478125,64.797559],[-166.408691,64.826953],[-166.415234,64.926514],[-166.550879,64.952979],[-166.826953,65.096094],[-166.928418,65.15708],[-166.906396,65.163818],[-166.856787,65.147266],[-166.762549,65.134912],[-166.531006,65.154736],[-166.45166,65.247314],[-166.279687,65.273779],[-166.121484,65.260742],[-166.157031,65.28584],[-166.197412,65.305566],[-166.609375,65.352734],[-166.665381,65.338281],[-167.404004,65.422119],[-167.987256,65.567773],[-168.03501,65.595605],[-168.088379,65.657764],[-168.009668,65.719141],[-167.930566,65.748145],[-167.927002,65.714355],[-167.914355,65.681201],[-167.580029,65.758301],[-167.405322,65.859326],[-167.074219,65.877051],[-166.997217,65.904932],[-166.894434,65.95918],[-166.747656,66.051855],[-166.540137,66.100635],[-166.39873,66.144434],[-166.2146,66.170264],[-166.057422,66.127246],[-166.008936,66.121338],[-165.723682,66.112549],[-165.629932,66.131201],[-165.58999,66.145117],[-165.560205,66.16709],[-165.840234,66.245068],[-165.811865,66.288477],[-165.776172,66.319043],[-165.449414,66.409912],[-165.198291,66.439941],[-165.063965,66.437842],[-164.674121,66.555029],[-164.460498,66.588428],[-164.058252,66.610742],[-163.727686,66.616455],[-163.638232,66.574658],[-163.815723,66.583496],[-163.893945,66.575879],[-163.838232,66.561572],[-163.775488,66.531104],[-163.793701,66.492627],[-163.902881,66.378369],[-163.893945,66.286914],[-163.96499,66.257324],[-164.03374,66.215527],[-163.695361,66.083838],[-163.171436,66.075439],[-162.886475,66.099219],[-162.721777,66.059814],[-162.586865,66.05083],[-162.214258,66.071045],[-161.933691,66.042871],[-161.816309,66.053662],[-161.556836,66.250537],[-161.45542,66.281396],[-161.345068,66.247168],[-161.201074,66.219385],[-161.109229,66.239502],[-161.034277,66.188818],[-161.069531,66.294629],[-161.120313,66.334326],[-161.544434,66.407031],[-161.828174,66.37085],[-161.916895,66.411816],[-161.887598,66.493066],[-162.191162,66.693115],[-162.317725,66.733691],[-162.467432,66.735645],[-162.543652,66.805127],[-162.607422,66.894385],[-162.47832,66.930811],[-162.361621,66.947314],[-162.253564,66.918652],[-162.131396,66.801367],[-162.017627,66.784131],[-162.050732,66.667285],[-161.90957,66.559619],[-161.591016,66.459521],[-161.335938,66.496338],[-161.155811,66.495312],[-161.048145,66.474219],[-160.784473,66.384375],[-160.650537,66.373096],[-160.231689,66.420264],[-160.227344,66.508545],[-160.262549,66.572461],[-160.360889,66.6125],[-160.643799,66.60498],[-160.864014,66.67085],[-161.051465,66.652783],[-161.398047,66.551855],[-161.571729,66.591602],[-161.680908,66.645508],[-161.856689,66.700342],[-161.87876,66.803955],[-161.731299,66.922803],[-161.622217,66.979346],[-161.719922,67.020557],[-161.96543,67.049561],[-162.391553,67.019873],[-162.411572,67.060303],[-162.409424,67.103955],[-162.583105,67.018506],[-162.761426,67.036426],[-163.001709,67.027295],[-163.531836,67.102588],[-163.720557,67.195557],[-163.799805,67.270996],[-163.942676,67.477588],[-164.125195,67.606738],[-165.386035,68.045605],[-165.95957,68.155908],[-166.235938,68.27793],[-166.409131,68.307959],[-166.574463,68.320264],[-166.786279,68.359619],[-166.643896,68.408008],[-166.545898,68.424365],[-166.647852,68.373828],[-166.57041,68.361084],[-166.447021,68.390234],[-166.380518,68.425146],[-166.282959,68.573242],[-166.182031,68.797217],[-166.209082,68.885352],[-165.509473,68.867578],[-165.043945,68.882471],[-164.889697,68.902441],[-164.302344,68.936475],[-164.150195,68.961182],[-163.86792,69.03667],[-163.535693,69.170117],[-163.250537,69.345361],[-163.205176,69.392529],[-163.187109,69.380469],[-163.161475,69.387939],[-163.131006,69.454346],[-163.093555,69.610693],[-162.9521,69.758105],[-162.350391,70.094141],[-162.071143,70.227197],[-161.977979,70.287646],[-161.880957,70.331738],[-161.812598,70.289844],[-161.779932,70.277344],[-161.761084,70.257666],[-161.818408,70.248437],[-161.911963,70.205469],[-162.042383,70.17666],[-162.073877,70.161963],[-161.997412,70.165234],[-161.768164,70.196533],[-161.639014,70.234521],[-160.996289,70.30459],[-160.647656,70.420557],[-160.634131,70.446387],[-160.117139,70.591211],[-160.045605,70.585596],[-159.963135,70.568164],[-160.106396,70.472559],[-160.005566,70.447559],[-160.095068,70.333301],[-159.907568,70.331445],[-159.865674,70.278857],[-159.855225,70.32417],[-159.85752,70.389258],[-159.842627,70.453027],[-159.81499,70.49707],[-159.683301,70.477148],[-159.386768,70.524512],[-159.746191,70.530469],[-159.961816,70.634082],[-160.081592,70.634863],[-159.680908,70.786768],[-159.314502,70.878516],[-159.231738,70.876758],[-159.191748,70.859668],[-159.183154,70.831934],[-159.262207,70.813867],[-159.339844,70.78125],[-159.30415,70.752539],[-159.251172,70.748437],[-159.075049,70.77207],[-158.996289,70.801611],[-158.620947,70.799023],[-158.51084,70.820117],[-158.484375,70.841064],[-157.998486,70.845313],[-157.909375,70.860107],[-157.605615,70.94126],[-157.324756,71.0396],[-157.195312,71.093262],[-156.97334,71.230029],[-156.783301,71.318945],[-156.470215,71.407666],[-156.395264,71.39668],[-156.49668,71.379102],[-156.567236,71.341553],[-156.469971,71.291553],[-155.811133,71.188428],[-155.645605,71.182764],[-155.579443,71.121094],[-155.63457,71.061572],[-155.804346,70.99541],[-156.146582,70.927832],[-156.041943,70.902246],[-155.973535,70.841992],[-155.872217,70.834668],[-155.708057,70.857275],[-155.579395,70.894336],[-155.313379,71.01499],[-155.229736,71.082227],[-155.166846,71.099219],[-154.943799,71.083057],[-154.817529,71.048486],[-154.673682,70.987109],[-154.726318,70.927783],[-154.785205,70.894287],[-154.598633,70.847998],[-154.392188,70.83833],[-154.195215,70.801123],[-153.918213,70.877344],[-153.701367,70.893604],[-153.497705,70.891064],[-153.23291,70.932568],[-152.784912,70.876025],[-152.67085,70.890723],[-152.491211,70.880957],[-152.300391,70.846777],[-152.23291,70.810352],[-152.437256,70.733252],[-152.470605,70.653613],[-152.399219,70.620459],[-152.269678,70.614746],[-152.253369,70.568262],[-152.172949,70.556641],[-151.769043,70.560156],[-151.799902,70.538037],[-151.819629,70.511328],[-151.944678,70.4521],[-151.224805,70.41875],[-151.128027,70.451611],[-150.979053,70.464697],[-150.662646,70.509912],[-150.543506,70.490137],[-150.403223,70.443896],[-150.273633,70.434326],[-150.15249,70.443701],[-149.870117,70.509668],[-149.544043,70.512891],[-149.410596,70.491406],[-149.269434,70.500781],[-148.844775,70.425195],[-148.688379,70.416309],[-148.479199,70.31792],[-148.371143,70.31499],[-148.248779,70.356738],[-148.142725,70.355469],[-148.039062,70.315479],[-147.869531,70.303271],[-147.790576,70.240137],[-147.705371,70.217236],[-147.062939,70.17041],[-146.744873,70.191748],[-146.28125,70.186133],[-146.057666,70.15625],[-145.823145,70.160059],[-145.440088,70.050928],[-145.236816,70.033936],[-145.197363,70.008691],[-144.619189,69.982129],[-144.416895,70.039014],[-144.064111,70.054102],[-143.746436,70.101953],[-143.566406,70.101465],[-143.357031,70.089551],[-143.276465,70.095313],[-143.218311,70.11626],[-142.707861,70.033789],[-142.422119,69.939502],[-142.296973,69.869873],[-141.699219,69.770361],[-141.526367,69.714697],[-141.40791,69.653369],[-141.338623,69.646777],[-141.289648,69.664697],[-141.080811,69.659424],[-141.002148,69.650781],[-141.002148,69.358594],[-141.002148,69.066357],[-141.002148,68.77417],[-141.002148,68.481982],[-141.002148,68.189746],[-141.002148,67.897559],[-141.002148,67.605371],[-141.002148,67.313135],[-141.002148,67.020947],[-141.002148,66.72876],[-141.002148,66.436523],[-141.002148,66.144336],[-141.002148,65.852148],[-141.002148,65.559912],[-141.002148,65.267725],[-141.002148,64.975537],[-141.002148,64.683301],[-141.002148,64.391113],[-141.002148,64.098877],[-141.002148,63.806689],[-141.002148,63.514453],[-141.002148,63.222266],[-141.002148,62.930078],[-141.002148,62.637891],[-141.002148,62.345703],[-141.002148,62.053467],[-141.002148,61.761279],[-141.002148,61.469043],[-141.002148,61.176855],[-141.002148,60.884668],[-141.002148,60.592432],[-141.002148,60.300244],[-140.762744,60.259131],[-140.525439,60.218359],[-140.452832,60.299707],[-140.196924,60.2375],[-139.973291,60.183154],[-139.830664,60.252881],[-139.676318,60.32832],[-139.467969,60.333691],[-139.234766,60.339746],[-139.079248,60.343701],[-139.079248,60.279443],[-139.136963,60.172705],[-139.185156,60.083594],[-139.043457,59.993262],[-138.86875,59.945752],[-138.705469,59.901318],[-138.632275,59.778271],[-138.453613,59.683398],[-138.317627,59.611133],[-138.187451,59.541943],[-138.001123,59.44292],[-137.870557,59.373584],[-137.696631,59.281152],[-137.593311,59.22627],[-137.543701,59.119434],[-137.48418,58.991211],[-137.520898,58.915381],[-137.438574,58.903125],[-137.277539,58.988184],[-137.126221,59.040967],[-136.939307,59.106104],[-136.813281,59.150049],[-136.57876,59.152246],[-136.466748,59.279932],[-136.466357,59.459082],[-136.347852,59.456055],[-136.277979,59.480322],[-136.247119,59.53291],[-136.321826,59.604834],[-136.097168,59.638379],[-135.934668,59.662646],[-135.702588,59.72876],[-135.475928,59.793262],[-135.367871,59.743311],[-135.260791,59.69502],[-135.051025,59.578662],[-135.03667,59.550684],[-135.05083,59.496045],[-135.071289,59.441455],[-134.94375,59.288281],[-134.907227,59.271191],[-134.802393,59.25],[-134.677246,59.199268],[-134.621973,59.155322],[-134.440771,59.085352],[-134.410205,59.05625],[-134.393066,59.00918],[-134.363525,58.96875],[-134.329639,58.939697],[-134.296973,58.898486],[-134.218506,58.849902],[-134.069189,58.795508],[-133.965723,58.757861],[-133.820752,58.705029],[-133.673926,58.597168],[-133.546387,58.503467],[-133.401123,58.410889],[-133.422559,58.337061],[-133.275293,58.222852],[-133.12041,58.077734],[-133.001416,57.948975],[-132.916846,57.877002],[-132.815527,57.772705],[-132.691504,57.645117],[-132.550488,57.499902],[-132.44248,57.406738],[-132.30166,57.276318],[-132.232178,57.198535],[-132.279395,57.145361],[-132.337988,57.079443],[-132.157031,57.048193],[-132.031543,57.026562],[-132.062891,56.953369],[-132.104297,56.856787],[-131.9625,56.818701],[-131.866162,56.792822],[-131.885986,56.742139],[-131.833105,56.684814],[-131.824268,56.58999],[-131.651514,56.596094],[-131.575098,56.598828],[-131.471875,56.556738],[-131.335791,56.501221],[-131.199414,56.449219],[-131.08291,56.404834],[-130.930225,56.378613],[-130.741699,56.34082],[-130.649072,56.263672],[-130.4771,56.230566],[-130.413135,56.12251],[-130.214697,56.082812],[-130.097852,56.109277],[-130.055957,56.065234],[-130.0229,56.014502],[-130.014062,55.950537],[-130.025098,55.888232]]],[[[-163.476025,54.980713],[-163.378955,54.815527],[-163.336914,54.783203],[-163.274512,54.765576],[-163.187109,54.747754],[-163.135059,54.723291],[-163.089258,54.686084],[-163.083252,54.668994],[-163.358105,54.735693],[-163.530859,54.63833],[-163.583008,54.625684],[-164.073291,54.620996],[-164.171289,54.603027],[-164.234619,54.571338],[-164.34668,54.482422],[-164.403516,54.447852],[-164.463477,54.427344],[-164.59082,54.404346],[-164.743799,54.407471],[-164.823438,54.419092],[-164.866162,54.461377],[-164.903955,54.544775],[-164.903711,54.567969],[-164.887646,54.607813],[-164.751465,54.662939],[-164.706201,54.691992],[-164.529785,54.880859],[-164.478613,54.906836],[-164.424316,54.913184],[-164.273682,54.900049],[-164.145068,54.955127],[-163.867969,55.039111],[-163.807129,55.049072],[-163.607471,55.05083],[-163.553027,55.037842],[-163.510889,55.014307],[-163.476025,54.980713]]],[[[-133.305078,55.54375],[-133.283203,55.515625],[-133.281689,55.497852],[-133.426465,55.431445],[-133.429102,55.417725],[-133.463086,55.37666],[-133.493457,55.36167],[-133.547363,55.317236],[-133.650195,55.269287],[-133.63501,55.41333],[-133.737109,55.496924],[-133.634229,55.539258],[-133.566699,55.527197],[-133.454785,55.522314],[-133.345557,55.559082],[-133.305078,55.54375]]],[[[-131.339746,55.079834],[-131.237451,54.949512],[-131.232031,54.90376],[-131.329541,54.887744],[-131.406201,54.894287],[-131.445703,54.909326],[-131.456104,54.930566],[-131.431348,54.996484],[-131.481738,55.035254],[-131.540039,55.048486],[-131.592236,55.025684],[-131.595117,55.090723],[-131.556006,55.137402],[-131.577832,55.20083],[-131.578467,55.248779],[-131.56543,55.264111],[-131.512646,55.262744],[-131.404639,55.21333],[-131.339746,55.079834]]],[[[-132.112354,56.109375],[-132.132959,55.943262],[-132.172607,55.952637],[-132.210303,55.952979],[-132.287305,55.929395],[-132.368604,55.939746],[-132.406592,55.958203],[-132.420605,55.979541],[-132.406055,56.028857],[-132.451172,56.056348],[-132.602979,56.066406],[-132.659912,56.078174],[-132.691357,56.130078],[-132.699023,56.198193],[-132.675195,56.223633],[-132.59873,56.24165],[-132.539014,56.32417],[-132.505957,56.335254],[-132.379834,56.498779],[-132.316504,56.4875],[-132.205615,56.387939],[-132.066895,56.244238],[-132.112354,56.109375]]],[[[-130.97915,55.48916],[-131.013916,55.379297],[-131.082764,55.266797],[-131.187891,55.206299],[-131.261865,55.219775],[-131.316309,55.268506],[-131.366846,55.26582],[-131.420703,55.275879],[-131.450928,55.316309],[-131.422363,55.368408],[-131.447559,55.408789],[-131.474512,55.373486],[-131.521826,55.341064],[-131.641309,55.298926],[-131.723682,55.218359],[-131.7625,55.16582],[-131.810986,55.223096],[-131.841992,55.358691],[-131.846094,55.41626],[-131.759473,55.503076],[-131.647559,55.585547],[-131.624951,55.831689],[-131.269238,55.955371],[-131.236182,55.948975],[-131.120654,55.856641],[-130.997803,55.727637],[-130.965967,55.669531],[-130.965039,55.568018],[-130.97915,55.48916]]],[[[-133.366211,57.003516],[-133.299707,56.972168],[-133.263525,57.00498],[-133.195996,57.003467],[-133.070801,56.974268],[-132.99624,56.93042],[-132.95415,56.880273],[-132.950586,56.850439],[-132.96333,56.782568],[-132.954004,56.713086],[-132.95918,56.677051],[-132.975879,56.647266],[-133.004102,56.62373],[-133.034912,56.620752],[-133.132373,56.683252],[-133.243994,56.79585],[-133.328955,56.830078],[-133.332422,56.818506],[-133.309082,56.78623],[-133.239697,56.725684],[-133.227246,56.689258],[-133.178467,56.644824],[-133.156641,56.611133],[-133.144238,56.566895],[-133.144727,56.528223],[-133.158154,56.495166],[-133.180811,56.473975],[-133.212646,56.4646],[-133.382764,56.473877],[-133.48418,56.451758],[-133.602783,56.464111],[-133.631348,56.484033],[-133.649268,56.516797],[-133.658301,56.596289],[-133.688184,56.71001],[-133.680957,56.79751],[-133.75752,56.87666],[-133.823047,56.924365],[-133.917285,56.96709],[-133.979443,57.00957],[-133.962354,57.043457],[-133.865967,57.068701],[-133.707715,57.062842],[-133.366211,57.003516]]],[[[-132.862256,54.894434],[-132.837744,54.880957],[-132.812891,54.89043],[-132.772314,54.926074],[-132.700635,54.919043],[-132.648877,54.90708],[-132.617236,54.892432],[-132.634033,54.840479],[-132.646973,54.756152],[-132.67666,54.726221],[-132.705811,54.68418],[-132.807275,54.709131],[-132.8896,54.762646],[-133.008936,54.854834],[-133.075391,54.921338],[-133.080566,54.949414],[-133.122705,54.969824],[-133.204639,55.084473],[-133.251172,55.175146],[-133.324854,55.185498],[-133.417969,55.210693],[-133.453809,55.260352],[-133.429053,55.303809],[-133.296582,55.325732],[-133.097412,55.213721],[-133.06709,55.166211],[-132.995752,55.110596],[-132.982178,55.033008],[-132.945996,55.002588],[-132.862256,54.894434]]],[[[-146.393945,60.449658],[-146.37168,60.422168],[-146.179541,60.42876],[-146.124268,60.423926],[-146.102246,60.411182],[-146.128271,60.392529],[-146.202393,60.368018],[-146.419189,60.325049],[-146.595313,60.268457],[-146.618311,60.273682],[-146.650439,60.335645],[-146.683008,60.360693],[-146.702881,60.395605],[-146.702539,60.408545],[-146.670264,60.432617],[-146.605908,60.467822],[-146.560303,60.480566],[-146.393945,60.449658]]],[[[-147.735889,59.813232],[-147.846338,59.798828],[-147.872461,59.828369],[-147.814355,59.901953],[-147.768066,59.94375],[-147.733643,59.953613],[-147.606689,60.036621],[-147.46582,60.097021],[-147.336523,60.185352],[-147.205225,60.311328],[-147.180859,60.358252],[-147.12002,60.363086],[-147.019873,60.332227],[-146.957861,60.288867],[-146.986719,60.254346],[-147.318457,60.075293],[-147.346338,60.051953],[-147.376514,59.991162],[-147.403809,59.969971],[-147.447559,59.960254],[-147.479395,59.933691],[-147.499316,59.890186],[-147.540234,59.867529],[-147.602051,59.865576],[-147.644922,59.853613],[-147.66875,59.831543],[-147.735889,59.813232]]],[[[-147.658252,60.450488],[-147.658691,60.424121],[-147.690039,60.398877],[-147.659961,60.35249],[-147.712012,60.272754],[-147.732129,60.22207],[-147.759912,60.190234],[-147.787842,60.17793],[-147.81582,60.185156],[-147.82168,60.202734],[-147.805273,60.230664],[-147.871338,60.229785],[-147.891455,60.299414],[-147.854883,60.321436],[-147.841699,60.35127],[-147.837598,60.371289],[-147.794531,60.459863],[-147.77915,60.466064],[-147.77417,60.444971],[-147.760205,60.43877],[-147.737305,60.447412],[-147.702979,60.486816],[-147.688574,60.491406],[-147.658252,60.450488]]],[[[-147.930713,60.826172],[-148.057422,60.81792],[-148.11543,60.830615],[-148.123779,60.844336],[-148.099707,60.894824],[-148.10166,60.916113],[-148.037744,60.924121],[-147.964404,60.900146],[-147.943115,60.875391],[-147.930713,60.826172]]],[[[-153.00708,57.124854],[-153.134229,57.092578],[-153.156836,57.093945],[-153.2354,57.028613],[-153.29541,57.000439],[-153.374609,57.051904],[-153.354346,57.131934],[-153.285205,57.185059],[-152.935449,57.167334],[-152.908398,57.152441],[-152.907764,57.139746],[-152.933447,57.129248],[-153.00708,57.124854]]],[[[-152.486084,58.48501],[-152.515527,58.478613],[-152.588623,58.509229],[-152.636621,58.541699],[-152.604883,58.566406],[-152.463184,58.618506],[-152.395508,58.619385],[-152.36792,58.611084],[-152.356836,58.594971],[-152.362256,58.57085],[-152.392822,58.540869],[-152.486084,58.48501]]],[[[-153.240625,57.850098],[-153.268555,57.822363],[-153.294971,57.829492],[-153.35083,57.861963],[-153.465039,57.909375],[-153.51709,57.941895],[-153.520068,57.955762],[-153.481055,57.971045],[-153.346973,57.932812],[-153.290039,57.8979],[-153.240625,57.850098]]],[[[-155.566016,55.821191],[-155.604883,55.789551],[-155.680615,55.791846],[-155.723193,55.802197],[-155.737354,55.829785],[-155.620605,55.913086],[-155.593945,55.924316],[-155.573242,55.921094],[-155.563916,55.88667],[-155.566016,55.821191]]],[[[-154.682813,56.435791],[-154.751221,56.412158],[-154.773926,56.420264],[-154.777148,56.439893],[-154.760938,56.471143],[-154.729346,56.502148],[-154.62373,56.561328],[-154.517529,56.600537],[-154.463379,56.598193],[-154.444873,56.573193],[-154.511182,56.521436],[-154.682813,56.435791]]],[[[-154.208643,56.514893],[-154.257812,56.512695],[-154.332129,56.539014],[-154.322217,56.570605],[-154.216748,56.60874],[-154.1104,56.60293],[-154.102246,56.581641],[-154.107178,56.557812],[-154.115967,56.543896],[-154.149805,56.52959],[-154.208643,56.514893]]],[[[-160.684912,55.314795],[-160.669727,55.314258],[-160.638818,55.321924],[-160.573975,55.378271],[-160.552783,55.380762],[-160.55249,55.363379],[-160.583154,55.307617],[-160.531201,55.233203],[-160.482666,55.197412],[-160.487549,55.184863],[-160.609082,55.159033],[-160.701807,55.177637],[-160.750635,55.171191],[-160.795068,55.145215],[-160.825488,55.173975],[-160.846533,55.311328],[-160.839648,55.3354],[-160.789209,55.383105],[-160.723926,55.404639],[-160.695654,55.39834],[-160.672168,55.379395],[-160.666357,55.359424],[-160.684912,55.314795]]],[[[-162.298145,54.847021],[-162.321924,54.842383],[-162.390771,54.872998],[-162.415771,54.895898],[-162.433887,54.931543],[-162.293652,54.982861],[-162.2646,54.983496],[-162.238379,54.954736],[-162.23374,54.932031],[-162.272559,54.867188],[-162.298145,54.847021]]],[[[-162.554395,54.401367],[-162.641113,54.379541],[-162.733105,54.402295],[-162.811719,54.444385],[-162.820557,54.494531],[-162.64541,54.462061],[-162.607959,54.446631],[-162.554395,54.401367]]],[[[-159.872998,55.12876],[-159.933936,55.106836],[-159.953076,55.078955],[-159.999414,55.067187],[-160.038428,55.044482],[-160.16958,54.941699],[-160.227051,54.922705],[-160.163574,55.010449],[-160.153613,55.03833],[-160.152393,55.056885],[-160.17207,55.123047],[-160.13374,55.120166],[-160.102197,55.133887],[-160.03877,55.192529],[-159.981641,55.197754],[-159.920459,55.267529],[-159.887354,55.272998],[-159.871045,55.263574],[-159.898242,55.221289],[-159.839404,55.182373],[-159.854102,55.144678],[-159.872998,55.12876]]],[[[-165.841553,54.070654],[-165.879395,54.053027],[-165.909863,54.04917],[-165.93291,54.05918],[-166.036426,54.047168],[-166.056641,54.054346],[-166.102832,54.113965],[-166.105811,54.144824],[-166.087744,54.169141],[-166.04126,54.19126],[-165.966406,54.211035],[-165.892871,54.206982],[-165.764453,54.1521],[-165.704248,54.119922],[-165.692871,54.099902],[-165.737891,54.081104],[-165.841553,54.070654]]],[[[-165.561133,54.136719],[-165.604834,54.12915],[-165.615381,54.139551],[-165.620508,54.183545],[-165.65415,54.25332],[-165.590332,54.278662],[-165.550635,54.284521],[-165.533789,54.273877],[-165.487695,54.221875],[-165.441748,54.208008],[-165.407861,54.196826],[-165.467578,54.180908],[-165.561133,54.136719]]],[[[-160.918994,58.5771],[-160.992383,58.561035],[-161.070264,58.569141],[-161.131494,58.668213],[-161.08457,58.671289],[-160.98623,58.736426],[-160.768604,58.789209],[-160.715137,58.795215],[-160.918994,58.5771]]],[[[-172.742236,60.457373],[-172.526074,60.391748],[-172.3875,60.398486],[-172.277539,60.343652],[-172.23208,60.299121],[-172.397168,60.331104],[-172.635742,60.328857],[-172.958398,60.462793],[-173.074023,60.493213],[-173.047656,60.568311],[-172.923877,60.606836],[-172.860205,60.505664],[-172.742236,60.457373]]],[[[-170.160547,57.183936],[-170.264014,57.136768],[-170.358008,57.154199],[-170.385889,57.188574],[-170.386621,57.203027],[-170.116162,57.241797],[-170.160547,57.183936]]],[[[-169.691943,52.847363],[-169.708105,52.807129],[-169.722754,52.792334],[-169.877344,52.81377],[-169.980566,52.806006],[-169.991846,52.829834],[-169.982568,52.851025],[-169.820654,52.883398],[-169.754883,52.883643],[-169.710986,52.866748],[-169.691943,52.847363]]],[[[-170.733398,52.581494],[-170.797363,52.549756],[-170.816064,52.561523],[-170.827051,52.600732],[-170.791162,52.63125],[-170.68208,52.697559],[-170.608057,52.685059],[-170.584619,52.667578],[-170.586621,52.642432],[-170.614014,52.609619],[-170.649268,52.593115],[-170.692285,52.592969],[-170.733398,52.581494]]],[[[-172.464795,52.272266],[-172.539111,52.257471],[-172.619824,52.272852],[-172.582178,52.325635],[-172.543652,52.353809],[-172.47041,52.388037],[-172.383105,52.372949],[-172.313623,52.32959],[-172.464795,52.272266]]],[[[-169.755225,56.635059],[-169.623926,56.615137],[-169.550488,56.628125],[-169.485693,56.617725],[-169.474316,56.594043],[-169.586865,56.542432],[-169.632617,56.545703],[-169.766162,56.607959],[-169.755225,56.635059]]],[[[-176.286719,51.791992],[-176.349658,51.733301],[-176.396094,51.759863],[-176.413721,51.840576],[-176.378564,51.861133],[-176.280225,51.802832],[-176.286719,51.791992]]],[[[-176.021533,52.002441],[-176.045068,51.972998],[-176.142871,52.004297],[-176.177539,52.029834],[-176.184521,52.056055],[-176.155664,52.099414],[-176.077393,52.099951],[-176.031201,52.082324],[-175.988086,52.049463],[-175.975293,52.028955],[-176.021533,52.002441]]],[[[-177.148193,51.716748],[-177.177002,51.703711],[-177.229883,51.693555],[-177.382373,51.704834],[-177.474658,51.70127],[-177.577588,51.694189],[-177.654883,51.676562],[-177.670215,51.701074],[-177.667627,51.721191],[-177.334717,51.776221],[-177.257275,51.804932],[-177.209766,51.84126],[-177.166406,51.909424],[-177.131494,51.929785],[-177.110059,51.92876],[-177.063037,51.901904],[-177.079541,51.866553],[-177.121387,51.835791],[-177.135107,51.806934],[-177.148193,51.716748]]],[[[178.575488,51.91626],[178.511816,51.899121],[178.477734,51.942529],[178.475,51.967725],[178.509375,51.994678],[178.570605,51.977539],[178.607324,51.953027],[178.575488,51.91626]]],[[[179.451563,51.372607],[179.278125,51.372217],[178.925879,51.535059],[178.74707,51.586719],[178.647949,51.643896],[178.692188,51.655957],[178.908008,51.615576],[179.084277,51.527686],[179.181738,51.469922],[179.294336,51.42085],[179.415527,51.400879],[179.451563,51.372607]]],[[[173.722754,52.35957],[173.657813,52.356641],[173.616211,52.39126],[173.402344,52.404785],[173.424512,52.437646],[173.516504,52.451416],[173.657617,52.504102],[173.776074,52.495117],[173.744727,52.446631],[173.722754,52.35957]]],[[[-134.969775,57.351416],[-134.884863,57.241699],[-134.823193,57.156543],[-134.768506,57.054199],[-134.676855,56.842285],[-134.634082,56.762109],[-134.620703,56.718311],[-134.610547,56.603418],[-134.624316,56.578711],[-134.651709,56.556055],[-134.65708,56.523242],[-134.631689,56.435645],[-134.630029,56.302441],[-134.654004,56.22749],[-134.681885,56.216162],[-134.750293,56.240771],[-134.806445,56.28125],[-134.847998,56.323486],[-134.950146,56.456836],[-134.980566,56.518945],[-134.982422,56.563623],[-134.96665,56.596143],[-134.933203,56.616357],[-134.875098,56.670459],[-134.883447,56.679053],[-134.927588,56.666992],[-135.017822,56.660156],[-135.097168,56.702832],[-135.159033,56.725391],[-135.146582,56.802344],[-135.163135,56.824121],[-135.284814,56.800342],[-135.330615,56.821875],[-135.340625,56.850781],[-135.338379,56.893994],[-135.315137,56.931836],[-135.199609,57.027344],[-135.21123,57.044922],[-135.267383,57.048877],[-135.341357,57.081592],[-135.375293,57.188428],[-135.454932,57.249414],[-135.501953,57.243848],[-135.608936,57.071436],[-135.661865,57.03374],[-135.812305,57.009521],[-135.781641,57.05752],[-135.767725,57.100391],[-135.821143,57.23042],[-135.822754,57.28042],[-135.787109,57.317285],[-135.680908,57.332568],[-135.624512,57.354395],[-135.580566,57.38999],[-135.569629,57.424707],[-135.487305,57.516504],[-135.448682,57.534375],[-135.346289,57.533105],[-135.130664,57.431641],[-135.065234,57.416699],[-134.969775,57.351416]]],[[[-134.680273,58.16167],[-134.426123,58.138818],[-134.240088,58.143994],[-134.070166,57.994531],[-133.965527,57.873779],[-133.904102,57.789209],[-133.869287,57.70752],[-133.822754,57.628662],[-133.826904,57.617578],[-133.925,57.670801],[-133.995557,57.778467],[-134.031641,57.820605],[-134.067236,57.8396],[-134.104736,57.879346],[-134.177539,57.982178],[-134.180273,58.011133],[-134.212598,58.037939],[-134.249951,58.04917],[-134.292334,58.044727],[-134.306885,58.034375],[-134.300391,57.963428],[-134.26709,57.884521],[-134.083691,57.712256],[-133.961133,57.61416],[-133.937012,57.581592],[-133.92085,57.491992],[-133.97373,57.451367],[-133.908838,57.368701],[-133.911133,57.352539],[-133.925293,57.336768],[-134.100049,57.300098],[-134.260156,57.146777],[-134.435303,57.056982],[-134.516016,57.042578],[-134.554785,57.057568],[-134.591504,57.091992],[-134.613086,57.137939],[-134.619531,57.195508],[-134.575879,57.231738],[-134.489209,57.420166],[-134.486768,57.482031],[-134.594824,57.567822],[-134.659863,57.638086],[-134.695117,57.736035],[-134.754102,57.99502],[-134.781494,58.077832],[-134.820117,58.146875],[-134.869971,58.2021],[-134.907666,58.262793],[-134.933105,58.328955],[-134.923486,58.354639],[-134.836963,58.320166],[-134.733203,58.225],[-134.680273,58.16167]]],[[[-135.730371,58.244238],[-135.5875,58.146777],[-135.586279,58.124414],[-135.615381,58.057471],[-135.693115,58.038525],[-135.671143,58.011914],[-135.613232,57.991846],[-135.572021,58.008545],[-135.421191,58.102393],[-135.374707,58.122119],[-135.346631,58.124121],[-135.162842,58.09585],[-135.0021,58.051074],[-134.954688,58.015332],[-134.927979,57.952783],[-134.970654,57.817236],[-135.102588,57.793652],[-135.164746,57.796094],[-135.231201,57.81582],[-135.338477,57.768652],[-135.249561,57.732568],[-134.978857,57.724365],[-134.896631,57.647998],[-134.873096,57.589209],[-134.931494,57.481152],[-135.084863,57.511035],[-135.220215,57.573633],[-135.497852,57.662256],[-135.564209,57.666406],[-135.608545,57.650732],[-135.620654,57.596973],[-135.617822,57.480371],[-135.691943,57.419922],[-135.910791,57.446582],[-135.99668,57.534863],[-136.076611,57.674561],[-136.378223,57.83999],[-136.459912,57.873096],[-136.568604,57.972168],[-136.525098,58.050586],[-136.512305,58.095996],[-136.454395,58.108008],[-136.369531,58.143066],[-136.321973,58.218896],[-136.245703,58.157471],[-136.14375,58.098486],[-136.142334,58.153906],[-136.094385,58.198145],[-135.994385,58.196533],[-135.947412,58.205811],[-135.881738,58.247168],[-135.787061,58.268506],[-135.730371,58.244238]]],[[[-133.566113,56.339209],[-133.376611,56.317773],[-133.202979,56.319824],[-133.143701,56.278564],[-133.104492,56.235107],[-133.081738,56.194189],[-133.075439,56.155859],[-133.080127,56.128711],[-133.101221,56.099805],[-133.096631,56.090039],[-132.757568,55.99502],[-132.597607,55.89502],[-132.533789,55.84248],[-132.496973,55.798096],[-132.430176,55.687012],[-132.288867,55.558105],[-132.214746,55.518848],[-132.172705,55.480615],[-132.196338,55.47915],[-132.295898,55.507471],[-132.511279,55.593945],[-132.528857,55.590479],[-132.54834,55.543701],[-132.581738,55.502637],[-132.631299,55.473193],[-132.591602,55.464355],[-132.417871,55.48291],[-132.272021,55.398633],[-132.215283,55.383545],[-132.160254,55.322998],[-132.158398,55.299805],[-132.19043,55.25498],[-132.214893,55.236768],[-132.206689,55.224414],[-132.165967,55.218018],[-132.005078,55.230615],[-131.976416,55.208594],[-132.000391,55.033838],[-131.977588,54.969482],[-131.97793,54.940234],[-131.996582,54.901416],[-131.997217,54.868604],[-131.982715,54.834912],[-131.980859,54.804834],[-132.02168,54.726318],[-132.064746,54.713135],[-132.134326,54.712549],[-132.189258,54.734863],[-132.266309,54.802344],[-132.341309,54.907227],[-132.370215,54.922217],[-132.468652,54.937939],[-132.486475,54.950391],[-132.549365,54.952588],[-132.593848,54.995752],[-132.588477,55.052344],[-132.626953,55.110059],[-132.622168,55.135937],[-132.665332,55.146777],[-132.701758,55.130518],[-132.682861,55.073926],[-132.70415,55.030078],[-132.782324,55.048486],[-132.912598,55.188477],[-133.060596,55.300928],[-133.118555,55.327637],[-133.103027,55.360254],[-133.030029,55.377539],[-132.970801,55.376172],[-132.958887,55.395557],[-133.082471,55.504102],[-133.078418,55.534912],[-133.033398,55.589697],[-133.089648,55.612598],[-133.24375,55.59541],[-133.298242,55.606885],[-133.342822,55.65083],[-133.368994,55.688965],[-133.502734,55.695898],[-133.553271,55.691162],[-133.640479,55.748779],[-133.680176,55.785156],[-133.664404,55.803809],[-133.584082,55.836523],[-133.537158,55.831934],[-133.446973,55.797021],[-133.411719,55.79834],[-133.322119,55.844629],[-133.308496,55.886475],[-133.241504,55.920801],[-133.252148,55.95708],[-133.289209,56.018701],[-133.37124,56.035889],[-133.538623,55.999268],[-133.684229,55.942773],[-133.742529,55.964844],[-133.755176,55.999463],[-133.599219,56.093652],[-133.530859,56.145654],[-133.544092,56.176514],[-133.594434,56.216357],[-133.598633,56.31626],[-133.566113,56.339209]]],[[[-133.9896,56.844971],[-133.924805,56.775684],[-133.830859,56.781299],[-133.778125,56.728906],[-133.738379,56.650439],[-133.767285,56.600098],[-133.809033,56.611328],[-133.855273,56.582178],[-133.883594,56.485498],[-133.870459,56.388672],[-133.884619,56.292139],[-133.938525,56.193652],[-133.949707,56.127734],[-133.970801,56.10791],[-133.993994,56.101123],[-134.024023,56.118994],[-134.06748,56.133008],[-134.122412,56.077393],[-134.1896,56.076953],[-134.245068,56.203271],[-134.195459,56.413525],[-134.084375,56.456348],[-134.150488,56.513477],[-134.290234,56.580029],[-134.278369,56.61709],[-134.384424,56.724023],[-134.390625,56.749463],[-134.373682,56.838672],[-134.274414,56.918164],[-134.143262,56.932324],[-134.051807,56.898291],[-134.000586,56.869189],[-133.9896,56.844971]]],[[[-152.416943,58.360205],[-152.380762,58.3521],[-152.343018,58.411621],[-152.31626,58.413477],[-152.197949,58.363086],[-152.125244,58.374268],[-152.078516,58.312354],[-152.036621,58.306689],[-151.997754,58.314209],[-151.974365,58.309863],[-151.98252,58.244336],[-152.068896,58.17793],[-152.109082,58.161133],[-152.165479,58.178271],[-152.186523,58.184668],[-152.223584,58.214014],[-152.25166,58.251123],[-152.268359,58.251709],[-152.334375,58.208057],[-152.332666,58.186523],[-152.305225,58.154053],[-152.309229,58.133887],[-152.381152,58.124268],[-152.451611,58.129248],[-152.537646,58.100977],[-152.558203,58.118604],[-152.571338,58.168213],[-152.598242,58.162598],[-152.63877,58.101807],[-152.683057,58.06333],[-152.763867,58.031396],[-152.781543,58.015918],[-152.840723,58.013818],[-152.928418,57.993701],[-152.982568,57.99707],[-153.305469,58.063086],[-153.381348,58.087207],[-153.11582,58.238525],[-152.976123,58.297021],[-152.895361,58.293848],[-152.814551,58.275635],[-152.771875,58.278564],[-152.768701,58.345605],[-152.843945,58.395605],[-152.841113,58.416406],[-152.674658,58.450586],[-152.612305,58.445703],[-152.543555,58.428174],[-152.478467,58.399707],[-152.416943,58.360205]]],[[[-167.964355,53.345117],[-168.270703,53.238037],[-168.370117,53.159766],[-168.445996,53.084424],[-168.505615,53.043164],[-168.549023,53.036084],[-168.597412,53.016113],[-168.698535,52.963428],[-168.741016,52.956885],[-169.065918,52.833936],[-169.088916,52.832031],[-169.073096,52.86416],[-168.973877,52.909668],[-168.90918,52.951172],[-168.836084,53.019727],[-168.79585,53.044922],[-168.783008,53.079346],[-168.777783,53.148779],[-168.759619,53.175049],[-168.689844,53.227246],[-168.639014,53.255762],[-168.572168,53.265625],[-168.436621,53.256885],[-168.38042,53.283447],[-168.362988,53.303564],[-168.397266,53.321924],[-168.405322,53.353809],[-168.396436,53.408789],[-168.357227,53.457568],[-168.287695,53.500146],[-168.193066,53.533301],[-168.073291,53.556982],[-167.985693,53.558203],[-167.828076,53.507959],[-167.804688,53.484961],[-167.843115,53.43457],[-167.865137,53.387305],[-167.964355,53.345117]]],[[[-166.615332,53.900928],[-166.572168,53.853467],[-166.497461,53.883545],[-166.442773,53.924805],[-166.400049,53.978125],[-166.372314,53.998975],[-166.335645,53.970898],[-166.230859,53.932617],[-166.318994,53.873779],[-166.48877,53.785498],[-166.545605,53.726465],[-166.549219,53.700977],[-166.384717,53.720508],[-166.33877,53.717676],[-166.309473,53.69751],[-166.354541,53.673535],[-166.444189,53.651807],[-166.522021,53.609668],[-166.702197,53.53667],[-166.77041,53.476025],[-166.850977,53.452881],[-166.960742,53.447363],[-167.153662,53.407861],[-167.270801,53.370605],[-167.300439,53.350488],[-167.337256,53.340967],[-167.381299,53.341992],[-167.428809,53.325684],[-167.479834,53.291992],[-167.522461,53.276221],[-167.592187,53.272705],[-167.628613,53.259424],[-167.669434,53.259961],[-167.780859,53.300244],[-167.808789,53.323779],[-167.710107,53.370898],[-167.638721,53.386572],[-167.530176,53.393701],[-167.423535,53.437256],[-167.204102,53.494971],[-167.136084,53.526465],[-167.092334,53.635937],[-167.042432,53.65459],[-167.015723,53.698389],[-166.894141,53.697119],[-166.83833,53.648047],[-166.81875,53.641357],[-166.808984,53.646143],[-166.803662,53.6854],[-166.74126,53.712939],[-166.777246,53.733154],[-166.8896,53.758594],[-166.972949,53.770557],[-167.027246,53.769141],[-167.071484,53.783398],[-167.105615,53.813379],[-167.121143,53.843115],[-167.118164,53.872607],[-167.090479,53.905664],[-167.038086,53.942187],[-166.978076,53.962939],[-166.848682,53.977881],[-166.734033,54.002197],[-166.673291,54.005957],[-166.627393,53.995654],[-166.615332,53.900928]]],[[[-173.55332,52.136279],[-173.357227,52.095654],[-173.113281,52.100391],[-173.024316,52.090527],[-173.0229,52.07915],[-173.178857,52.0625],[-173.232227,52.067969],[-173.368408,52.045605],[-173.460986,52.041553],[-173.672559,52.062646],[-173.835791,52.048193],[-173.878955,52.053662],[-173.930225,52.072168],[-173.9896,52.103613],[-173.99248,52.12334],[-173.938916,52.131299],[-173.794092,52.104297],[-173.779004,52.118359],[-173.656836,52.14375],[-173.55332,52.136279]]],[[[-174.677393,52.03501],[-175.213867,51.993896],[-175.295557,52.022168],[-175.21416,52.038232],[-175.117676,52.047119],[-174.915918,52.094189],[-174.667773,52.134961],[-174.474268,52.184033],[-174.306152,52.216162],[-174.258838,52.269043],[-174.406494,52.295996],[-174.435547,52.317236],[-174.36543,52.341943],[-174.306885,52.37793],[-174.168896,52.420166],[-174.045605,52.367236],[-174.018359,52.331787],[-174.030078,52.289795],[-174.054883,52.245996],[-174.163232,52.223389],[-174.179395,52.200342],[-174.120654,52.135205],[-174.343555,52.077783],[-174.677393,52.03501]]],[[[-176.593311,51.866699],[-176.587939,51.833203],[-176.473389,51.837402],[-176.437451,51.820117],[-176.437354,51.754297],[-176.452344,51.735693],[-176.469775,51.731152],[-176.510986,51.745605],[-176.55752,51.712061],[-176.770947,51.629932],[-176.837109,51.675879],[-176.961621,51.603662],[-176.874414,51.790479],[-176.773633,51.81875],[-176.736426,51.839941],[-176.745117,51.894678],[-176.69834,51.986035],[-176.596826,51.981787],[-176.549902,51.944043],[-176.551611,51.91958],[-176.593311,51.866699]]],[[[-177.879053,51.649707],[-177.90127,51.616406],[-177.925342,51.617383],[-178.058887,51.672607],[-178.078467,51.69126],[-178.000049,51.71748],[-177.977246,51.737793],[-177.986377,51.764258],[-178.045117,51.801074],[-178.153467,51.848242],[-178.194531,51.882227],[-178.168262,51.903027],[-178.116602,51.915869],[-177.953809,51.918457],[-177.865869,51.8604],[-177.799609,51.840039],[-177.644482,51.82627],[-177.724951,51.80166],[-177.770654,51.777881],[-177.826953,51.685889],[-177.879053,51.649707]]],[[[179.727734,51.90542],[179.645215,51.880225],[179.549609,51.894043],[179.497656,51.932812],[179.503906,51.97959],[179.627148,52.03042],[179.77998,51.966846],[179.727734,51.90542]]],[[[177.41543,51.882812],[177.328516,51.841064],[177.260645,51.883691],[177.250293,51.90293],[177.380664,51.975781],[177.478418,51.991602],[177.520508,52.018213],[177.56377,52.110498],[177.636523,52.113818],[177.669629,52.103027],[177.653027,52.059766],[177.595996,51.993848],[177.594141,51.947559],[177.41543,51.882812]]],[[[172.811816,53.012988],[172.983984,52.980273],[173.102148,52.995605],[173.25166,52.942676],[173.436035,52.852051],[173.394727,52.834766],[173.348242,52.824854],[173.302539,52.825928],[173.158691,52.810791],[173.080273,52.814453],[172.935156,52.7521],[172.775586,52.796924],[172.721777,52.885547],[172.595117,52.907422],[172.494824,52.937891],[172.67793,53.007568],[172.811816,53.012988]]],[[[-155.581348,19.012012],[-155.625635,18.963916],[-155.680762,18.967676],[-155.881299,19.070508],[-155.905615,19.12583],[-155.890723,19.38252],[-155.96582,19.59082],[-156.048682,19.749951],[-155.988428,19.831592],[-155.908887,19.894727],[-155.820312,20.01416],[-155.892773,20.167383],[-155.874268,20.259814],[-155.831641,20.27583],[-155.62207,20.163428],[-155.198779,19.994385],[-155.086084,19.875635],[-155.065918,19.748193],[-154.989014,19.731982],[-154.952588,19.644629],[-154.841357,19.568164],[-154.804199,19.524463],[-154.850293,19.454102],[-155.053467,19.319189],[-155.309619,19.260156],[-155.535254,19.109082],[-155.581348,19.012012]]],[[[-157.213623,21.215381],[-157.002295,21.187939],[-156.952344,21.199707],[-156.917188,21.177295],[-156.742188,21.163525],[-156.712158,21.155078],[-156.7479,21.103564],[-156.859863,21.056348],[-157.020898,21.097803],[-157.290332,21.112598],[-157.279492,21.152344],[-157.253809,21.180566],[-157.249951,21.229785],[-157.213623,21.215381]]],[[[-156.486816,20.932568],[-156.46084,20.914746],[-156.354395,20.941455],[-156.277539,20.95127],[-156.14834,20.885498],[-156.103516,20.840332],[-156.018652,20.79209],[-155.989844,20.757129],[-156.013574,20.714795],[-156.107129,20.644775],[-156.234766,20.628613],[-156.309961,20.598779],[-156.408789,20.605176],[-156.438232,20.617871],[-156.448877,20.70625],[-156.480078,20.801221],[-156.543848,20.78999],[-156.61543,20.821826],[-156.689697,20.901416],[-156.697754,20.949072],[-156.656885,21.024512],[-156.5854,21.034326],[-156.532324,20.992676],[-156.486816,20.932568]]],[[[-157.799365,21.456641],[-157.76499,21.450928],[-157.720898,21.457715],[-157.705518,21.378076],[-157.65415,21.333936],[-157.6354,21.307617],[-157.690869,21.279736],[-157.798779,21.268604],[-157.849316,21.29082],[-157.901758,21.340576],[-157.958447,21.326904],[-157.968311,21.366895],[-157.978418,21.378516],[-158.017285,21.367725],[-157.980957,21.316113],[-158.07915,21.312256],[-158.110352,21.318604],[-158.137842,21.377148],[-158.239111,21.489355],[-158.238672,21.533057],[-158.273145,21.585254],[-158.123096,21.600244],[-158.020361,21.691797],[-157.9625,21.701367],[-157.851514,21.553369],[-157.854346,21.511914],[-157.82959,21.471436],[-157.799365,21.456641]]],[[[-159.372754,21.932373],[-159.460693,21.876123],[-159.511865,21.900391],[-159.608838,21.909521],[-159.646387,21.951758],[-159.747998,21.989844],[-159.78916,22.041797],[-159.726611,22.140186],[-159.579199,22.223145],[-159.352051,22.21958],[-159.304785,22.154053],[-159.300684,22.105273],[-159.330176,22.050684],[-159.34375,21.973633],[-159.372754,21.932373]]],[[[-160.180029,21.841064],[-160.200244,21.796875],[-160.234717,21.803662],[-160.243457,21.843066],[-160.220898,21.897266],[-160.163867,21.944043],[-160.100635,22.015234],[-160.04873,22.004639],[-160.076709,21.958105],[-160.080029,21.907422],[-160.153418,21.87876],[-160.180029,21.841064]]],[[[-156.849609,20.772656],[-156.908887,20.744482],[-156.973389,20.75752],[-156.988428,20.825684],[-157.050586,20.912451],[-156.941797,20.930029],[-156.880566,20.904834],[-156.848291,20.877783],[-156.809375,20.831152],[-156.849609,20.772656]]],[[[-74.708887,45.003857],[-74.663232,45.003906],[-74.430371,45.004199],[-74.014258,45.004687],[-73.598145,45.005176],[-73.182031,45.005615],[-72.765918,45.006104],[-72.349756,45.006592],[-71.933643,45.00708],[-71.517529,45.007568],[-71.419043,45.200342],[-71.327295,45.290088],[-71.201611,45.260352],[-71.134668,45.262842],[-71.060254,45.309131],[-70.999902,45.337256],[-70.960156,45.333105],[-70.926221,45.290723],[-70.897998,45.262451],[-70.865039,45.270703],[-70.836816,45.310693],[-70.837793,45.366162],[-70.79917,45.404785],[-70.75332,45.410693],[-70.710938,45.409473],[-70.689795,45.42832],[-70.692139,45.455371],[-70.707422,45.498926],[-70.702246,45.551367],[-70.596387,45.643994],[-70.466602,45.706836],[-70.421094,45.738232],[-70.407861,45.801904],[-70.333447,45.868066],[-70.29624,45.906104],[-70.287158,45.93916],[-70.306445,45.979834],[-70.304492,46.057373],[-70.278906,46.15],[-70.248291,46.250879],[-70.179688,46.341846],[-70.067187,46.441064],[-70.038232,46.571436],[-70.007715,46.708936],[-69.871729,46.84292],[-69.717529,46.994873],[-69.629785,47.081348],[-69.471484,47.238672],[-69.358887,47.350635],[-69.302148,47.402002],[-69.242871,47.462988],[-69.146289,47.444775],[-69.050195,47.426611],[-69.064258,47.338135],[-69.048584,47.273633],[-69.003125,47.236426],[-68.937207,47.21123],[-68.887402,47.202832],[-68.828711,47.20332],[-68.668555,47.253467],[-68.480371,47.285791],[-68.376904,47.316162],[-68.358008,47.344531],[-68.310889,47.354492],[-68.235498,47.345947],[-68.096777,47.274854],[-67.934863,47.167627],[-67.806787,47.082812],[-67.802832,46.935742],[-67.800342,46.779883],[-67.797705,46.615625],[-67.795801,46.498389],[-67.792529,46.337402],[-67.789941,46.209326],[-67.786475,46.042139],[-67.784668,45.952783],[-67.767041,45.927002],[-67.777637,45.891797],[-67.782275,45.87417],[-67.781152,45.860156],[-67.774121,45.842529],[-67.775293,45.817871],[-67.791699,45.795557],[-67.799902,45.769775],[-67.802246,45.727539],[-67.784668,45.701709],[-67.755322,45.686475],[-67.730664,45.686475],[-67.698975,45.671191],[-67.65791,45.644189],[-67.595752,45.620752],[-67.531201,45.612549],[-67.486621,45.618408],[-67.432666,45.603125],[-67.413867,45.565576],[-67.424414,45.53042],[-67.454932,45.513965],[-67.487793,45.501025],[-67.493652,45.474072],[-67.477246,45.445898],[-67.45376,45.42124],[-67.42793,45.37793],[-67.438525,45.340381],[-67.461963,45.308691],[-67.472559,45.275879],[-67.452588,45.247656],[-67.399805,45.210156],[-67.366943,45.173779],[-67.315283,45.153809],[-67.290674,45.16792],[-67.270703,45.186719],[-67.249609,45.200781],[-67.213232,45.192529],[-67.170996,45.181982],[-67.124854,45.169434],[-67.130371,45.139014],[-67.102246,45.087744],[-67.080469,44.98916],[-67.113916,44.944385],[-67.106738,44.885059],[-67.014014,44.867773],[-66.991455,44.849609],[-66.987012,44.827686],[-67.19126,44.675586],[-67.364062,44.696875],[-67.457812,44.656543],[-67.556006,44.644775],[-67.599072,44.576807],[-67.652979,44.562402],[-67.726807,44.566504],[-67.790479,44.585693],[-67.839062,44.57627],[-67.907031,44.453613],[-67.962695,44.464307],[-67.984863,44.420166],[-68.013965,44.400879],[-68.056641,44.384326],[-68.093701,44.438818],[-68.117285,44.490625],[-68.152051,44.502002],[-68.198242,44.515234],[-68.245752,44.514795],[-68.277441,44.507373],[-68.316748,44.473877],[-68.37373,44.445117],[-68.416846,44.469092],[-68.450586,44.507617],[-68.479443,44.445654],[-68.521436,44.380225],[-68.514453,44.303906],[-68.53252,44.258643],[-68.572363,44.27085],[-68.612012,44.310547],[-68.723291,44.342285],[-68.811914,44.339355],[-68.793896,44.381738],[-68.710107,44.442578],[-68.735889,44.454492],[-68.777002,44.446045],[-68.794922,44.454492],[-68.765527,44.509766],[-68.762695,44.570752],[-68.800195,44.549414],[-68.847363,44.485059],[-68.961475,44.433838],[-68.956152,44.348096],[-69.063574,44.172363],[-69.068359,44.097559],[-69.137256,44.037842],[-69.226074,43.986475],[-69.344531,44.000928],[-69.434961,43.956299],[-69.480859,43.905078],[-69.520752,43.897363],[-69.541553,43.962598],[-69.556689,43.982764],[-69.58999,43.886572],[-69.623926,43.880615],[-69.636768,43.948828],[-69.652881,43.993896],[-69.699121,43.955029],[-69.729834,43.852002],[-69.762012,43.860693],[-69.772266,43.899023],[-69.795312,43.910645],[-69.803223,43.866846],[-69.791602,43.805225],[-69.80835,43.772314],[-69.840332,43.789893],[-69.87251,43.819531],[-69.925586,43.797021],[-69.974316,43.787891],[-69.974512,43.818066],[-69.965234,43.855078],[-70.062354,43.834619],[-70.178809,43.766357],[-70.269238,43.671924],[-70.237891,43.656201],[-70.202588,43.626123],[-70.359668,43.480225],[-70.520703,43.348828],[-70.642334,43.134424],[-70.691162,43.109326],[-70.733105,43.07002],[-70.777637,42.940576],[-70.829053,42.825342],[-70.800293,42.774023],[-70.781348,42.72124],[-70.735693,42.669287],[-70.696875,42.6646],[-70.654834,42.673975],[-70.623975,42.671777],[-70.60415,42.649707],[-70.612939,42.623242],[-70.661426,42.61665],[-70.751855,42.570361],[-70.831152,42.552588],[-70.870898,42.496631],[-70.930469,42.431982],[-71.046191,42.331104],[-70.996729,42.3],[-70.817969,42.264941],[-70.738281,42.228857],[-70.617676,42.04043],[-70.645215,42.021582],[-70.656152,41.987061],[-70.548926,41.938623],[-70.514697,41.80332],[-70.42666,41.757275],[-70.295459,41.728955],[-70.13501,41.769873],[-70.001416,41.826172],[-70.006104,41.872314],[-70.090039,41.979687],[-70.110254,42.030127],[-70.172559,42.062793],[-70.19624,42.035107],[-70.236523,42.071045],[-70.241064,42.091211],[-70.203516,42.101025],[-70.159863,42.097119],[-70.108936,42.07832],[-69.977881,41.961279],[-69.941602,41.807861],[-69.933838,41.710449],[-69.948633,41.677148],[-69.986768,41.683984],[-70.059521,41.677344],[-70.404687,41.626904],[-70.481348,41.582471],[-70.657129,41.534229],[-70.668066,41.558301],[-70.655371,41.608105],[-70.666455,41.710107],[-70.701123,41.714844],[-70.974219,41.548535],[-71.079785,41.538086],[-71.168555,41.489404],[-71.188428,41.516406],[-71.204297,41.641113],[-71.14873,41.745703],[-71.17832,41.744043],[-71.271094,41.68125],[-71.310742,41.719873],[-71.330615,41.762256],[-71.35918,41.78623],[-71.390137,41.795312],[-71.363672,41.702734],[-71.426562,41.633301],[-71.443799,41.453711],[-71.522852,41.378955],[-71.769287,41.330908],[-71.929932,41.341064],[-72.073877,41.326123],[-72.265283,41.29165],[-72.371045,41.312158],[-72.479395,41.275781],[-72.847168,41.265869],[-72.924707,41.285156],[-73.02373,41.216455],[-73.182275,41.17583],[-73.583008,41.021875],[-73.671387,40.965869],[-73.779004,40.878418],[-73.85127,40.831396],[-73.910693,40.816113],[-73.947217,40.776953],[-73.987109,40.751367],[-73.948584,40.83877],[-73.906738,40.912451],[-73.871973,41.055176],[-73.882227,41.170605],[-73.925342,41.218066],[-73.969922,41.249707],[-73.917676,41.135791],[-73.909229,40.996094],[-73.927197,40.914258],[-74.025488,40.756396],[-74.067334,40.719629],[-74.11626,40.687305],[-74.153125,40.673242],[-74.187158,40.647998],[-74.226709,40.608008],[-74.264209,40.528613],[-74.241504,40.45625],[-74.049854,40.429834],[-73.998437,40.452148],[-73.972266,40.400342],[-73.957617,40.328369],[-73.971973,40.250537],[-74.004004,40.171338],[-74.02832,40.072998],[-74.048926,39.923047],[-74.079932,39.788135],[-74.083984,39.829102],[-74.0646,39.993115],[-74.095996,39.975977],[-74.117627,39.938135],[-74.176123,39.726611],[-74.256543,39.613867],[-74.330615,39.535889],[-74.407031,39.548779],[-74.389844,39.486816],[-74.41084,39.454541],[-74.428809,39.387207],[-74.474365,39.342578],[-74.517187,39.346875],[-74.578711,39.316113],[-74.602979,39.292578],[-74.604785,39.24751],[-74.645947,39.207861],[-74.794482,39.001904],[-74.923437,38.941113],[-74.954297,38.949951],[-74.920312,39.047168],[-74.897021,39.145459],[-74.975293,39.188232],[-75.050195,39.21084],[-75.136133,39.207861],[-75.231055,39.284277],[-75.353418,39.339844],[-75.524219,39.490186],[-75.519238,39.531885],[-75.523535,39.601855],[-75.471631,39.712402],[-75.421875,39.789697],[-75.353174,39.829736],[-75.153809,39.870508],[-75.103809,39.931836],[-75.07417,39.983496],[-75.172949,39.894775],[-75.320898,39.864697],[-75.400635,39.831592],[-75.464404,39.780957],[-75.502148,39.717383],[-75.587598,39.640771],[-75.581592,39.589453],[-75.567285,39.552979],[-75.573877,39.476953],[-75.519824,39.402832],[-75.412646,39.281396],[-75.392187,39.092773],[-75.3104,38.966553],[-75.185059,38.819385],[-75.088672,38.777539],[-75.083984,38.722803],[-75.128467,38.632422],[-75.187109,38.591113],[-75.11084,38.599365],[-75.072852,38.578711],[-75.035889,38.50332],[-75.03877,38.426367],[-75.05127,38.383008],[-75.074365,38.365723],[-75.073389,38.41001],[-75.089746,38.425391],[-75.116748,38.406201],[-75.134229,38.384326],[-75.141504,38.298145],[-75.16001,38.255078],[-75.225439,38.242285],[-75.291797,38.129199],[-75.353516,38.065039],[-75.596387,37.631201],[-75.587109,37.558691],[-75.631543,37.535352],[-75.698828,37.516357],[-75.766895,37.472998],[-75.812061,37.425195],[-75.854004,37.296631],[-75.934375,37.151904],[-75.984521,37.212207],[-75.997363,37.263818],[-75.975049,37.398438],[-75.888135,37.619141],[-75.792383,37.756348],[-75.719336,37.821387],[-75.659277,37.953955],[-75.735156,37.97373],[-75.85083,37.971582],[-75.829053,38.032764],[-75.795312,38.08667],[-75.855615,38.140381],[-75.891309,38.147217],[-75.928076,38.169238],[-75.884961,38.213965],[-75.863916,38.26123],[-75.876758,38.31875],[-75.858691,38.362061],[-75.888818,38.355518],[-75.937256,38.309668],[-75.967383,38.291357],[-75.985742,38.331934],[-76.006689,38.322754],[-76.020312,38.294873],[-76.051221,38.279541],[-76.116504,38.317676],[-76.21167,38.361328],[-76.264648,38.436426],[-76.294873,38.494629],[-76.26416,38.599951],[-76.198389,38.618652],[-76.112939,38.601562],[-76.000928,38.601709],[-76.016943,38.625098],[-76.056934,38.62124],[-76.175,38.706689],[-76.212988,38.758301],[-76.27832,38.772461],[-76.308105,38.722852],[-76.341162,38.709668],[-76.300342,38.818213],[-76.246973,38.822656],[-76.168164,38.852734],[-76.191064,38.915576],[-76.24082,38.943066],[-76.330664,38.908594],[-76.32959,38.952783],[-76.312744,39.009375],[-76.24502,39.00918],[-76.185693,38.990723],[-76.135205,39.082129],[-76.132959,39.122949],[-76.216846,39.063623],[-76.235693,39.191602],[-76.153125,39.315039],[-76.074365,39.368848],[-75.975977,39.367285],[-75.875977,39.375977],[-75.938721,39.398584],[-76.003125,39.41084],[-75.954736,39.459619],[-75.913477,39.468359],[-75.872949,39.510889],[-75.97041,39.50459],[-75.958936,39.585059],[-76.006299,39.568701],[-76.062988,39.561133],[-76.085059,39.527002],[-76.080713,39.470312],[-76.097266,39.433105],[-76.141357,39.403223],[-76.21582,39.379932],[-76.223047,39.420312],[-76.247656,39.438623],[-76.256836,39.352148],[-76.276367,39.322754],[-76.330811,39.403906],[-76.347168,39.387549],[-76.345068,39.364502],[-76.358984,39.324658],[-76.405664,39.303906],[-76.402783,39.252832],[-76.420898,39.225],[-76.57041,39.269336],[-76.573926,39.254297],[-76.489355,39.158691],[-76.427588,39.126025],[-76.420068,39.073877],[-76.473096,39.030615],[-76.54624,39.067969],[-76.558545,39.065234],[-76.518799,39.001172],[-76.49375,38.945215],[-76.519531,38.89834],[-76.515527,38.840625],[-76.521094,38.788281],[-76.536865,38.742627],[-76.501318,38.532178],[-76.458496,38.474951],[-76.416406,38.420215],[-76.394092,38.368994],[-76.43877,38.361523],[-76.509912,38.403662],[-76.572412,38.435791],[-76.646875,38.538525],[-76.65918,38.579541],[-76.677344,38.611963],[-76.668555,38.5375],[-76.641992,38.454346],[-76.408789,38.268262],[-76.365723,38.196875],[-76.33291,38.140771],[-76.341162,38.087012],[-76.401953,38.125049],[-76.454395,38.173535],[-76.593604,38.22832],[-76.769141,38.262939],[-76.868115,38.390283],[-76.867773,38.337158],[-76.889746,38.29209],[-76.950244,38.347021],[-76.988379,38.393896],[-77.001172,38.445264],[-77.076709,38.441748],[-77.155908,38.397119],[-77.23252,38.407715],[-77.241602,38.494824],[-77.220898,38.540967],[-77.134912,38.650098],[-77.053906,38.705811],[-77.018164,38.777734],[-77.030371,38.889258],[-77.045605,38.775781],[-77.091895,38.719531],[-77.164648,38.676562],[-77.2604,38.6],[-77.283789,38.529199],[-77.313672,38.396631],[-77.273242,38.351758],[-77.231934,38.340039],[-77.109912,38.370117],[-77.046777,38.356689],[-76.906348,38.19707],[-76.644873,38.133936],[-76.549512,38.094482],[-76.471777,38.011182],[-76.354932,37.963232],[-76.264258,37.893555],[-76.261816,37.848096],[-76.293213,37.794336],[-76.305615,37.721582],[-76.344141,37.675684],[-76.436621,37.67041],[-76.49248,37.682227],[-76.792773,37.937988],[-76.828613,37.961523],[-76.93999,38.095459],[-77.070654,38.167187],[-77.111084,38.165674],[-76.925098,38.033008],[-76.84917,37.940234],[-76.71543,37.810156],[-76.619824,37.755078],[-76.549463,37.669141],[-76.484082,37.628857],[-76.305566,37.571484],[-76.367627,37.530273],[-76.268555,37.495166],[-76.254395,37.430615],[-76.263477,37.357031],[-76.400977,37.386133],[-76.405469,37.331934],[-76.393164,37.299951],[-76.453906,37.273535],[-76.538379,37.309375],[-76.757715,37.50542],[-76.755859,37.479199],[-76.738086,37.448779],[-76.610889,37.322559],[-76.497363,37.246875],[-76.401123,37.212695],[-76.326953,37.149268],[-76.300781,37.110889],[-76.283301,37.052686],[-76.338281,37.013135],[-76.400879,36.991309],[-76.462012,37.030762],[-76.506836,37.072314],[-76.602295,37.142871],[-76.630908,37.221729],[-76.703516,37.217676],[-77.006982,37.317676],[-77.250879,37.329199],[-77.227051,37.309082],[-77.196191,37.295703],[-77.001953,37.271045],[-76.925195,37.225],[-76.76543,37.184131],[-76.671875,37.172949],[-76.633936,37.047412],[-76.504639,36.961035],[-76.487842,36.897021],[-76.399561,36.889844],[-76.244238,36.952637],[-76.143994,36.930615],[-75.999414,36.912646],[-75.966357,36.861963],[-75.941553,36.765527],[-75.89043,36.657031],[-75.757861,36.229248],[-75.558691,35.879346],[-75.53418,35.819092],[-75.580469,35.871973],[-75.728223,36.103711],[-75.809766,36.271045],[-75.893555,36.566504],[-75.917871,36.632666],[-75.946484,36.659082],[-75.965332,36.637598],[-75.973437,36.599951],[-75.959766,36.571045],[-75.992773,36.473779],[-75.978467,36.42915],[-75.924854,36.383008],[-75.866602,36.267871],[-75.820068,36.112842],[-75.883008,36.175684],[-75.950195,36.208984],[-76.054736,36.234521],[-76.147852,36.279297],[-76.141064,36.215088],[-76.15,36.145752],[-76.221777,36.166895],[-76.270605,36.189893],[-76.227393,36.116016],[-76.321191,36.138184],[-76.383691,36.133545],[-76.424316,36.067969],[-76.478809,36.028174],[-76.559375,36.015332],[-76.678906,36.075293],[-76.717627,36.148096],[-76.733643,36.22915],[-76.740039,36.133301],[-76.71875,36.033496],[-76.726221,35.957617],[-76.611133,35.943652],[-76.503516,35.956055],[-76.358301,35.952881],[-76.263574,35.96709],[-76.206543,35.991211],[-76.069775,35.970312],[-76.060059,35.878662],[-76.075684,35.787549],[-76.083594,35.690527],[-76.045703,35.691162],[-76.001172,35.722168],[-75.978906,35.895947],[-75.853906,35.960156],[-75.812012,35.955762],[-75.772217,35.899902],[-75.758838,35.843262],[-75.744727,35.765479],[-75.773926,35.646973],[-75.965967,35.508398],[-76.103516,35.380273],[-76.173828,35.35415],[-76.275244,35.369043],[-76.390234,35.40127],[-76.446631,35.407764],[-76.489502,35.397021],[-76.515625,35.436475],[-76.532471,35.508447],[-76.577197,35.532324],[-76.611035,35.529687],[-76.634131,35.453223],[-76.741406,35.431494],[-76.887256,35.463086],[-77.03999,35.527393],[-76.974463,35.458398],[-76.595459,35.329687],[-76.552783,35.305615],[-76.512939,35.27041],[-76.565967,35.215186],[-76.60752,35.152979],[-76.613379,35.10415],[-76.628027,35.07334],[-76.77915,34.990332],[-76.861035,35.00498],[-77.070264,35.154639],[-76.974951,35.025195],[-76.898633,34.970264],[-76.744971,34.940967],[-76.456738,34.989355],[-76.362207,34.936523],[-76.439795,34.84292],[-76.516895,34.777246],[-76.618018,34.769922],[-76.70708,34.752148],[-76.733203,34.706982],[-76.79668,34.70415],[-76.895898,34.701465],[-77.049512,34.697363],[-77.133887,34.70791],[-77.251758,34.615625],[-77.29624,34.60293],[-77.358398,34.620264],[-77.384473,34.694385],[-77.412256,34.730811],[-77.412939,34.592139],[-77.402051,34.554785],[-77.379785,34.526611],[-77.517676,34.451367],[-77.649658,34.35752],[-77.696973,34.331982],[-77.750732,34.284961],[-77.86084,34.14917],[-77.888037,34.050146],[-77.927832,33.939746],[-77.932861,33.989453],[-77.926025,34.073145],[-77.953271,34.168994],[-77.970557,33.993408],[-78.01333,33.911816],[-78.405859,33.917578],[-78.577686,33.873242],[-78.841455,33.724072],[-78.920312,33.658691],[-79.138184,33.405908],[-79.193799,33.244141],[-79.238379,33.312158],[-79.227344,33.363184],[-79.226465,33.404883],[-79.281348,33.31543],[-79.229248,33.185156],[-79.276025,33.1354],[-79.419922,33.042529],[-79.498682,33.027295],[-79.587109,33.000879],[-79.614941,32.909277],[-79.73501,32.824805],[-79.80498,32.787402],[-79.933105,32.810059],[-79.893652,32.728711],[-79.940723,32.667139],[-80.021777,32.619922],[-80.122559,32.589111],[-80.180322,32.592871],[-80.229687,32.576514],[-80.268359,32.537354],[-80.362842,32.500732],[-80.460986,32.521338],[-80.572217,32.533691],[-80.63418,32.511719],[-80.530029,32.475391],[-80.474268,32.422754],[-80.485742,32.351807],[-80.513623,32.324414],[-80.579346,32.287305],[-80.608203,32.292822],[-80.62583,32.32627],[-80.647217,32.395947],[-80.677783,32.381104],[-80.683057,32.348633],[-80.709326,32.337061],[-80.802539,32.448047],[-80.7979,32.363379],[-80.765332,32.29834],[-80.733838,32.265332],[-80.702051,32.245898],[-80.694238,32.215723],[-80.758008,32.142187],[-80.79082,32.12583],[-80.849219,32.113916],[-80.88208,32.068604],[-80.872363,32.02959],[-80.923437,31.944922],[-81.045557,31.892041],[-81.082861,31.894092],[-81.113281,31.878613],[-81.095508,31.840918],[-81.065039,31.813477],[-81.066113,31.787988],[-81.098389,31.753369],[-81.162109,31.743701],[-81.1979,31.704199],[-81.186572,31.666943],[-81.165527,31.646143],[-81.169922,31.610303],[-81.242383,31.574316],[-81.259375,31.538916],[-81.223389,31.528467],[-81.195703,31.538916],[-81.175439,31.531299],[-81.218896,31.472119],[-81.25791,31.436035],[-81.294971,31.371191],[-81.380957,31.353271],[-81.377734,31.332324],[-81.32915,31.31377],[-81.288477,31.263916],[-81.364893,31.171875],[-81.412598,31.179443],[-81.441748,31.199707],[-81.460352,31.127051],[-81.453223,31.088281],[-81.471387,31.009033],[-81.500586,30.91377],[-81.52041,30.874658],[-81.516211,30.801807],[-81.503955,30.731445],[-81.457178,30.640771],[-81.385742,30.269971],[-81.337109,30.141211],[-81.249512,29.793799],[-81.104541,29.456982],[-80.9,29.049854],[-80.564307,28.556396],[-80.524121,28.486084],[-80.567822,28.426465],[-80.581152,28.364697],[-80.584961,28.271582],[-80.572852,28.180859],[-80.533154,28.070068],[-80.456885,27.900684],[-80.499561,27.934473],[-80.61001,28.177588],[-80.622852,28.320361],[-80.606934,28.5229],[-80.632861,28.518018],[-80.653906,28.452197],[-80.665479,28.374902],[-80.693506,28.344971],[-80.731738,28.462891],[-80.729053,28.516211],[-80.688477,28.578516],[-80.700244,28.600928],[-80.765918,28.632812],[-80.779883,28.682959],[-80.770996,28.732471],[-80.808691,28.758936],[-80.838184,28.757666],[-80.818408,28.635596],[-80.787207,28.560645],[-80.748633,28.381006],[-80.686377,28.272168],[-80.650098,28.180908],[-80.226123,27.207031],[-80.125781,27.083008],[-80.088672,26.993945],[-80.050049,26.807715],[-80.041309,26.568604],[-80.110596,26.131592],[-80.126367,25.833496],[-80.136279,25.842627],[-80.14292,25.874023],[-80.158936,25.87832],[-80.219092,25.741748],[-80.30083,25.618555],[-80.327734,25.4271],[-80.366943,25.33125],[-80.484668,25.229834],[-80.557617,25.232422],[-80.736523,25.156348],[-80.862207,25.176172],[-81.011963,25.133252],[-81.110498,25.138037],[-81.167383,25.228516],[-81.158691,25.268994],[-81.136035,25.309668],[-81.097656,25.319141],[-80.965381,25.224316],[-80.94043,25.264209],[-80.980371,25.31167],[-81.056836,25.338135],[-81.11333,25.367236],[-81.227148,25.583398],[-81.345068,25.731836],[-81.364941,25.831055],[-81.568262,25.891553],[-81.715479,25.983154],[-81.811475,26.146094],[-81.866553,26.43501],[-81.931494,26.46748],[-81.958936,26.489941],[-81.895508,26.597168],[-81.828662,26.687061],[-81.881543,26.664697],[-81.920557,26.631445],[-81.970166,26.552051],[-82.006396,26.539844],[-82.0396,26.552051],[-82.077881,26.704346],[-82.066943,26.891553],[-82.013281,26.961572],[-82.095703,26.963428],[-82.181104,26.936768],[-82.168604,26.874365],[-82.180664,26.840088],[-82.242871,26.848877],[-82.290039,26.870801],[-82.354053,26.935742],[-82.441357,27.059668],[-82.620459,27.401074],[-82.655371,27.449219],[-82.7146,27.499609],[-82.686719,27.515283],[-82.63584,27.524561],[-82.52085,27.678271],[-82.430518,27.771143],[-82.400537,27.8354],[-82.405762,27.862891],[-82.445703,27.902832],[-82.498145,27.86792],[-82.520605,27.877881],[-82.57959,27.958447],[-82.635937,27.981201],[-82.675195,27.96377],[-82.633789,27.897754],[-82.596582,27.873242],[-82.610986,27.777246],[-82.626025,27.745996],[-82.660889,27.718408],[-82.715332,27.733105],[-82.742871,27.709375],[-82.775293,27.734375],[-82.807568,27.776562],[-82.843506,27.845996],[-82.748535,28.236816],[-82.660645,28.48584],[-82.650586,28.769922],[-82.644043,28.812012],[-82.651465,28.8875],[-82.769336,29.051562],[-83.290479,29.451904],[-83.694385,29.925977],[-84.044238,30.103809],[-84.309668,30.064746],[-84.355615,30.029004],[-84.375342,29.982275],[-84.358691,29.929395],[-84.382812,29.907373],[-84.454053,29.910156],[-84.55,29.897852],[-84.800537,29.773047],[-84.888916,29.777637],[-84.969189,29.745312],[-85.029297,29.721094],[-85.186035,29.70791],[-85.318945,29.680225],[-85.376367,29.695215],[-85.413818,29.767578],[-85.413818,29.84248],[-85.383447,29.785059],[-85.336426,29.740137],[-85.314893,29.758105],[-85.306836,29.797852],[-85.353613,29.875732],[-85.504297,29.975781],[-85.675781,30.121924],[-85.623486,30.11709],[-85.610254,30.148389],[-85.663428,30.189453],[-85.640967,30.236914],[-85.603516,30.286768],[-85.675879,30.279297],[-85.74082,30.244385],[-85.742969,30.20127],[-85.755811,30.166992],[-85.790771,30.171973],[-85.855664,30.214404],[-86.175146,30.33252],[-86.454443,30.399121],[-86.240088,30.429102],[-86.123828,30.405811],[-86.137695,30.441553],[-86.165674,30.464258],[-86.257373,30.493018],[-86.37417,30.48208],[-86.447949,30.495605],[-86.523389,30.46709],[-86.606055,30.424707],[-86.679639,30.402881],[-86.967627,30.372363],[-87.201172,30.339258],[-87.163721,30.374219],[-87.123779,30.39668],[-86.985791,30.430859],[-86.965137,30.501904],[-86.997559,30.570312],[-87.033887,30.553906],[-87.072021,30.500439],[-87.118799,30.538965],[-87.170605,30.53877],[-87.184668,30.453711],[-87.251074,30.39668],[-87.281055,30.339258],[-87.475781,30.294287],[-87.500732,30.309277],[-87.44375,30.363818],[-87.448291,30.394141],[-87.513281,30.368115],[-87.622266,30.264746],[-88.005957,30.230908],[-87.98501,30.254395],[-87.904004,30.259082],[-87.790283,30.291797],[-87.813281,30.346875],[-87.857129,30.407422],[-87.897607,30.41416],[-87.924316,30.449658],[-87.922998,30.561523],[-87.948877,30.626904],[-88.011328,30.694189],[-88.032422,30.68125],[-88.078369,30.566211],[-88.116553,30.415332],[-88.135449,30.366602],[-88.249219,30.363184],[-88.349902,30.373486],[-88.69209,30.355371],[-88.819922,30.406494],[-88.872949,30.416309],[-88.905225,30.415137],[-89.054053,30.368262],[-89.223633,30.332373],[-89.263574,30.343652],[-89.320557,30.345312],[-89.443506,30.223145],[-89.588477,30.165967],[-89.954248,30.26875],[-90.045215,30.351416],[-90.125977,30.369092],[-90.225293,30.379297],[-90.331982,30.277588],[-90.413037,30.140332],[-90.284961,30.065088],[-90.175342,30.029102],[-89.994189,30.059277],[-89.894043,30.125879],[-89.812256,30.123682],[-89.773145,30.137207],[-89.737451,30.171973],[-89.667529,30.144531],[-89.665039,30.117041],[-89.714697,30.07832],[-89.777246,30.045703],[-89.815186,30.007275],[-89.743799,29.929834],[-89.631689,29.903809],[-89.589502,29.915039],[-89.563379,30.0021],[-89.494434,30.058154],[-89.400732,30.046045],[-89.414062,30.010889],[-89.400928,29.977686],[-89.357861,29.920996],[-89.362793,29.839795],[-89.354443,29.820215],[-89.45542,29.784375],[-89.530664,29.772217],[-89.590869,29.725293],[-89.559326,29.698047],[-89.620654,29.674121],[-89.662109,29.683691],[-89.682959,29.674854],[-89.689209,29.646045],[-89.720898,29.619287],[-89.674805,29.538672],[-89.580322,29.486035],[-89.513672,29.420068],[-89.245703,29.333203],[-89.180762,29.335693],[-89.116846,29.248242],[-89.065332,29.218164],[-89.015723,29.202881],[-89.021387,29.142725],[-89.109521,29.098682],[-89.13335,29.046143],[-89.155518,29.016602],[-89.195264,29.054004],[-89.236084,29.081104],[-89.330566,28.998682],[-89.376123,28.981348],[-89.353516,29.070215],[-89.389209,29.105029],[-89.443164,29.194141],[-89.521777,29.249268],[-89.577148,29.267529],[-89.620264,29.302393],[-89.672461,29.316504],[-89.716992,29.312891],[-89.792383,29.333203],[-89.797363,29.380615],[-89.818262,29.416113],[-89.877246,29.458008],[-90.159082,29.537158],[-90.160791,29.504395],[-90.14126,29.479736],[-90.100781,29.46333],[-90.052344,29.431396],[-90.052783,29.336816],[-90.07373,29.296777],[-90.082715,29.239746],[-90.101367,29.181787],[-90.13584,29.136084],[-90.212793,29.104932],[-90.246729,29.131006],[-90.301611,29.255811],[-90.379199,29.295117],[-90.50249,29.299756],[-90.58623,29.271533],[-90.67749,29.150635],[-90.751025,29.130859],[-91.002734,29.193506],[-91.290137,29.288965],[-91.282715,29.320752],[-91.2375,29.330957],[-91.150781,29.31792],[-91.155371,29.350684],[-91.243994,29.457324],[-91.260254,29.505469],[-91.248828,29.564209],[-91.277734,29.562891],[-91.330957,29.513574],[-91.514209,29.555371],[-91.564795,29.605322],[-91.672461,29.746094],[-91.824414,29.750684],[-91.893164,29.836035],[-92.017334,29.800293],[-92.080225,29.760742],[-92.135498,29.699463],[-92.113965,29.667676],[-92.058887,29.617188],[-92.084033,29.592822],[-92.26084,29.556836],[-92.671289,29.59707],[-92.791309,29.634668],[-92.952393,29.71416],[-93.175684,29.778955],[-93.283203,29.789404],[-93.388477,29.776562],[-93.694824,29.769922],[-93.765918,29.752686],[-93.826465,29.725146],[-93.865723,29.755615],[-93.883887,29.81001],[-93.84834,29.818848],[-93.808789,29.85083],[-93.773096,29.914062],[-93.769043,29.952295],[-93.793994,29.977246],[-93.841455,29.979736],[-93.946289,29.81499],[-93.886377,29.722656],[-93.890479,29.689355],[-94.099658,29.67041],[-94.574463,29.484521],[-94.759619,29.384277],[-94.750146,29.418018],[-94.52627,29.547949],[-94.605322,29.567822],[-94.732617,29.535352],[-94.778271,29.547852],[-94.724365,29.655273],[-94.741943,29.75],[-94.832324,29.752588],[-94.889893,29.676953],[-94.929883,29.680176],[-94.982275,29.712598],[-95.022852,29.702344],[-94.992822,29.530957],[-94.935889,29.460449],[-94.888281,29.370557],[-95.018311,29.259473],[-95.139062,29.167822],[-95.152148,29.079248],[-95.273486,28.963867],[-95.387646,28.898438],[-95.655859,28.744629],[-95.732373,28.711719],[-95.853418,28.640332],[-96.02041,28.586816],[-96.180518,28.501855],[-96.234521,28.488965],[-96.132275,28.560889],[-96.011035,28.631934],[-96.115039,28.622217],[-96.275342,28.655127],[-96.373437,28.657031],[-96.374121,28.631104],[-96.44873,28.594482],[-96.526025,28.648291],[-96.559717,28.684473],[-96.575684,28.715723],[-96.608496,28.723291],[-96.640039,28.708789],[-96.524658,28.488721],[-96.475488,28.479199],[-96.421094,28.457324],[-96.488818,28.406055],[-96.561719,28.367139],[-96.676367,28.341309],[-96.773535,28.421631],[-96.79458,28.32085],[-96.806885,28.220215],[-96.839502,28.194385],[-96.891602,28.157568],[-96.919873,28.185352],[-96.933301,28.224268],[-96.96665,28.189551],[-97.015479,28.163477],[-97.096045,28.158252],[-97.156494,28.144336],[-97.155078,28.102637],[-97.14126,28.060742],[-97.034326,28.093848],[-97.073096,27.986084],[-97.171436,27.87959],[-97.251562,27.854443],[-97.374121,27.87002],[-97.404395,27.859326],[-97.431494,27.837207],[-97.288721,27.670605],[-97.380469,27.419336],[-97.439111,27.328271],[-97.479785,27.316602],[-97.523877,27.313965],[-97.682129,27.394922],[-97.768457,27.45752],[-97.692383,27.287158],[-97.485107,27.237402],[-97.474512,27.172949],[-97.475684,27.117871],[-97.516504,27.053223],[-97.554688,26.967334],[-97.526514,26.90752],[-97.493799,26.759619],[-97.46582,26.691748],[-97.435059,26.48584],[-97.402344,26.396533],[-97.213916,26.067871],[-97.150391,26.065332],[-97.140186,26.029736],[-97.14624,25.961475],[-97.281787,25.941602],[-97.338672,25.911182],[-97.349756,25.884766],[-97.358154,25.870508],[-97.375635,25.871826],[-97.440283,25.89082],[-97.587256,25.98418],[-97.801416,26.042041],[-98.082812,26.064453],[-98.275049,26.111182],[-98.378125,26.182373],[-98.485889,26.224561],[-98.598291,26.237842],[-98.691406,26.276465],[-98.765234,26.34043],[-98.873193,26.38125],[-99.015283,26.398975],[-99.107764,26.446924],[-99.17207,26.56416],[-99.172363,26.565918],[-99.229932,26.761914],[-99.302441,26.884717],[-99.443555,27.03667],[-99.456494,27.056641],[-99.456543,27.056689],[-99.457715,27.081689],[-99.440234,27.170117],[-99.455127,27.233691],[-99.499805,27.285498],[-99.510059,27.340332],[-99.48584,27.398047],[-99.484277,27.467383],[-99.505322,27.54834],[-99.595312,27.635889],[-99.754248,27.729932],[-99.889648,27.867285],[-100.001416,28.047852],[-100.111963,28.172949],[-100.221289,28.242627],[-100.296045,28.327686],[-100.336279,28.428125],[-100.348145,28.486426],[-100.331738,28.502539],[-100.398926,28.614209],[-100.549707,28.821338],[-100.636328,28.972803],[-100.658643,29.068555],[-100.75459,29.18252],[-100.924121,29.314697],[-101.016309,29.400684],[-101.038623,29.460303],[-101.038965,29.4604],[-101.303516,29.634082],[-101.380371,29.742578],[-101.440381,29.776855],[-101.509277,29.773145],[-101.544629,29.783545],[-101.546387,29.808057],[-101.568701,29.809229],[-101.611621,29.786963],[-101.752344,29.782471],[-101.990918,29.795703],[-102.163086,29.825244],[-102.268945,29.871191],[-102.343066,29.86499],[-102.385645,29.806641],[-102.47627,29.769092],[-102.614941,29.752344],[-102.73418,29.643945],[-102.833984,29.443945],[-102.877832,29.315332],[-102.865674,29.258008],[-102.891992,29.216406],[-102.956836,29.190381],[-103.022852,29.132227],[-103.08999,29.041895],[-103.168311,28.998193],[-103.257715,29.001123],[-103.422949,29.070703],[-103.663965,29.206885],[-103.85293,29.291064],[-103.989746,29.323145],[-104.110596,29.386133],[-104.215527,29.479883],[-104.312207,29.542432],[-104.400635,29.57373],[-104.504004,29.677686],[-104.622217,29.854297],[-104.681348,29.990527],[-104.681348,30.134375],[-104.835889,30.447656],[-104.917871,30.58335],[-104.978809,30.645947],[-105.098145,30.720557],[-105.27583,30.807275],[-105.514014,30.980762],[-105.812695,31.241016],[-106.024072,31.397754],[-106.148047,31.450928],[-106.255713,31.544678],[-106.346973,31.679004],[-106.436035,31.764453],[-106.44541,31.768408],[-106.453223,31.770166],[-106.673047,31.771338],[-106.892871,31.772461],[-107.112695,31.773633],[-107.33252,31.774756],[-107.552344,31.775879],[-107.772217,31.777051],[-107.992041,31.778174],[-108.211816,31.779346],[-108.2125,31.666846],[-108.213184,31.554395],[-108.213818,31.441895],[-108.214453,31.329443],[-108.567871,31.328809],[-108.921338,31.328125],[-109.274756,31.327441],[-109.628223,31.326807],[-109.981641,31.326172],[-110.335107,31.325537],[-110.688525,31.324854],[-111.041992,31.324219],[-111.516211,31.472266],[-111.990479,31.620215],[-112.464746,31.768262],[-112.938965,31.91626],[-113.413184,32.064307],[-113.887451,32.212305],[-114.361719,32.360303],[-114.835938,32.508301],[-114.787988,32.564795],[-114.724756,32.715332],[-114.839062,32.704736],[-115.125195,32.683301],[-115.411377,32.661865],[-115.69751,32.640479],[-115.983691,32.619043],[-116.269824,32.597607],[-116.555957,32.576221],[-116.84209,32.554785],[-117.128271,32.53335],[-117.130469,32.539746],[-117.137402,32.64917],[-117.18374,32.687891],[-117.243457,32.664014],[-117.270703,32.80625],[-117.255762,32.873389],[-117.262988,32.938867],[-117.318848,33.100049],[-117.467432,33.295508],[-117.788525,33.538477],[-117.9521,33.619629],[-118.080518,33.722168],[-118.161914,33.750684],[-118.264404,33.758594],[-118.294189,33.712305],[-118.410449,33.743945],[-118.392969,33.858301],[-118.506201,34.017383],[-118.598828,34.03501],[-118.832031,34.024463],[-119.14375,34.112012],[-119.23584,34.164111],[-119.267676,34.257422],[-119.413672,34.338574],[-119.606055,34.418018],[-119.713184,34.399658],[-119.85332,34.411963],[-120.052979,34.469287],[-120.169531,34.476465],[-120.396484,34.45957],[-120.481201,34.471631],[-120.559814,34.543896],[-120.644678,34.57998],[-120.626709,34.668945],[-120.637598,34.749365],[-120.624902,34.811963],[-120.663037,34.949268],[-120.633594,35.076465],[-120.659082,35.122412],[-120.707031,35.157666],[-120.857373,35.209668],[-120.884863,35.274951],[-120.860303,35.36543],[-120.899609,35.425098],[-121.022852,35.480762],[-121.137939,35.607129],[-121.283838,35.676318],[-121.343848,35.792236],[-121.43374,35.863867],[-121.46499,35.927393],[-121.664355,36.154053],[-121.877393,36.331055],[-121.910156,36.43291],[-121.918652,36.572363],[-121.835156,36.657471],[-121.78999,36.732275],[-121.794531,36.800977],[-121.807422,36.851221],[-121.880664,36.938916],[-122.164209,36.990967],[-122.394922,37.20752],[-122.408447,37.373145],[-122.499219,37.542627],[-122.500439,37.652783],[-122.514209,37.771973],[-122.445605,37.797998],[-122.384082,37.788525],[-122.390283,37.741064],[-122.369727,37.655859],[-122.297607,37.591846],[-122.228662,37.563916],[-122.166016,37.50166],[-122.119043,37.482812],[-122.070508,37.478271],[-122.096533,37.518213],[-122.124121,37.543799],[-122.158057,37.626465],[-122.222217,37.732031],[-122.295996,37.790332],[-122.333447,37.896582],[-122.365479,37.921191],[-122.385449,37.960596],[-122.314258,38.007324],[-122.217041,38.040625],[-122.086719,38.049609],[-121.716846,38.034082],[-121.638086,38.061279],[-121.572998,38.052393],[-121.525342,38.055908],[-121.625732,38.083936],[-121.682227,38.074805],[-121.748633,38.080469],[-121.880762,38.075],[-121.93418,38.086816],[-121.993115,38.120117],[-122.031494,38.123535],[-122.15376,38.065527],[-122.208301,38.072559],[-122.337109,38.135889],[-122.393359,38.144824],[-122.483887,38.108838],[-122.494922,37.953564],[-122.466895,37.838184],[-122.521338,37.826416],[-122.58418,37.874072],[-122.680713,37.902344],[-122.7604,37.945654],[-122.872949,38.026074],[-122.931982,38.055469],[-122.998779,37.988623],[-123.001465,38.019287],[-122.968164,38.097021],[-122.977588,38.227344],[-122.876807,38.12334],[-122.908154,38.196582],[-122.986523,38.2771],[-123.046191,38.305078],[-123.121143,38.449268],[-123.289746,38.53584],[-123.424805,38.675635],[-123.701123,38.907275],[-123.719531,39.110986],[-123.820312,39.368408],[-123.777783,39.514941],[-123.783496,39.618701],[-123.83291,39.775488],[-123.884473,39.860791],[-124.108496,40.094531],[-124.324023,40.251953],[-124.356543,40.371094],[-124.37168,40.491211],[-124.324512,40.598096],[-124.283691,40.710547],[-124.253906,40.740283],[-124.242334,40.727881],[-124.250586,40.703906],[-124.22002,40.696484],[-124.208447,40.746094],[-124.190234,40.771729],[-124.22251,40.775049],[-124.219189,40.790723],[-124.199902,40.82207],[-124.133105,40.969775],[-124.140039,41.155908],[-124.068506,41.38418],[-124.071924,41.459521],[-124.117676,41.621729],[-124.163232,41.718994],[-124.244629,41.787939],[-124.20874,41.888574],[-124.21167,41.984619],[-124.355273,42.1229],[-124.41001,42.304346],[-124.420508,42.381006],[-124.406152,42.583691],[-124.443799,42.670215],[-124.539648,42.812891],[-124.498584,42.936865],[-124.454443,43.012354],[-124.346582,43.34165],[-124.320605,43.368213],[-124.275488,43.367383],[-124.196924,43.42334],[-124.233154,43.436377],[-124.287988,43.409717],[-124.239209,43.540039],[-124.184375,43.651562],[-124.14873,43.691748],[-124.130664,44.055664],[-124.09917,44.333789],[-124.047461,44.425488],[-124.06543,44.520068],[-124.044531,44.648242],[-124.05918,44.777734],[-123.948584,45.40083],[-123.963086,45.476074],[-123.929346,45.576953],[-123.96123,45.842969],[-123.947119,46.140576],[-123.975244,46.17832],[-123.989307,46.219385],[-123.962939,46.225439],[-123.91167,46.182178],[-123.673633,46.182617],[-123.521631,46.222656],[-123.466357,46.209424],[-123.402295,46.15498],[-123.321582,46.143994],[-123.220605,46.153613],[-123.251318,46.167285],[-123.298682,46.17085],[-123.404736,46.220996],[-123.464844,46.271094],[-123.650342,46.267725],[-123.688379,46.299854],[-123.895703,46.267773],[-123.959766,46.300732],[-124.072754,46.279443],[-124.045117,46.3729],[-124.050195,46.490527],[-124.044336,46.605078],[-124.016406,46.521387],[-123.946143,46.432568],[-123.912402,46.53335],[-123.88916,46.66001],[-123.957715,46.708691],[-124.07168,46.744775],[-124.112549,46.862695],[-123.842871,46.963184],[-123.986035,46.984473],[-124.042236,47.029687],[-124.111719,47.035205],[-124.116797,47.000342],[-124.139258,46.954687],[-124.163574,47.015332],[-124.170508,47.08667],[-124.198828,47.208545],[-124.309277,47.40459],[-124.376025,47.658643],[-124.460059,47.784229],[-124.621094,47.90415],[-124.663086,47.974121],[-124.70166,48.15166],[-124.67998,48.285889],[-124.709961,48.380371],[-124.632617,48.375049],[-124.429053,48.300781],[-124.175488,48.242432],[-124.098779,48.2],[-123.975781,48.168457],[-123.294434,48.119531],[-123.249902,48.124219],[-123.161865,48.154541],[-123.124414,48.150928],[-123.024219,48.081592],[-122.973877,48.073291],[-122.908887,48.076904],[-122.860889,48.090039],[-122.778613,48.137598],[-122.767529,48.12002],[-122.769092,48.075977],[-122.739746,48.013232],[-122.679492,47.931787],[-122.656641,47.881152],[-122.778418,47.738428],[-122.801758,47.735352],[-122.805371,47.783643],[-122.821387,47.793164],[-123.050635,47.551953],[-123.131055,47.437744],[-123.139062,47.386084],[-123.136328,47.355811],[-123.104199,47.348389],[-123.030908,47.360205],[-122.922168,47.407666],[-122.916895,47.417969],[-123.018213,47.401074],[-123.066797,47.399658],[-123.060156,47.453662],[-123.048633,47.479346],[-122.982471,47.559375],[-122.912891,47.607373],[-122.814063,47.658545],[-122.757129,47.700537],[-122.717871,47.762109],[-122.608154,47.835498],[-122.587891,47.855957],[-122.592676,47.916406],[-122.585742,47.927881],[-122.532813,47.919727],[-122.510791,47.815723],[-122.523926,47.769336],[-122.618408,47.712793],[-122.630176,47.692822],[-122.613623,47.615625],[-122.628271,47.608154],[-122.664307,47.617236],[-122.675488,47.612354],[-122.58584,47.528418],[-122.557422,47.463184],[-122.553564,47.404932],[-122.577881,47.293164],[-122.603906,47.274609],[-122.648633,47.281445],[-122.707715,47.316406],[-122.720898,47.305127],[-122.767773,47.218359],[-122.783301,47.225977],[-122.812549,47.328955],[-122.828467,47.336572],[-122.919531,47.289648],[-122.956201,47.24458],[-122.987646,47.172559],[-123.027588,47.138916],[-122.91416,47.131494],[-122.811963,47.145996],[-122.729883,47.111816],[-122.701953,47.110889],[-122.627051,47.144238],[-122.60415,47.166992],[-122.542187,47.275586],[-122.511084,47.29502],[-122.464844,47.295801],[-122.420117,47.312109],[-122.353809,47.371582],[-122.351123,47.395215],[-122.375244,47.528369],[-122.368359,47.603906],[-122.380762,47.627832],[-122.410498,47.652637],[-122.406787,47.676758],[-122.383643,47.716455],[-122.381982,47.752344],[-122.401807,47.784277],[-122.392871,47.820557],[-122.330322,47.898633],[-122.318457,47.933057],[-122.241992,48.010742],[-122.261279,48.042041],[-122.31748,48.080176],[-122.352979,48.113818],[-122.388672,48.166357],[-122.41582,48.183936],[-122.424707,48.175928],[-122.386621,48.089941],[-122.394775,48.084131],[-122.494043,48.130469],[-122.516992,48.159668],[-122.52915,48.199316],[-122.520312,48.229102],[-122.467041,48.258496],[-122.403369,48.269189],[-122.408545,48.293896],[-122.488428,48.374316],[-122.54165,48.410937],[-122.582568,48.428662],[-122.637793,48.433301],[-122.6625,48.446387],[-122.668994,48.465234],[-122.657275,48.48999],[-122.627979,48.4979],[-122.542676,48.487988],[-122.496777,48.505566],[-122.501074,48.5375],[-122.514795,48.555176],[-122.512744,48.669434],[-122.545117,48.762305],[-122.562012,48.777979],[-122.580176,48.77959],[-122.599414,48.76709],[-122.653027,48.763867],[-122.685937,48.794287],[-122.722461,48.853027],[-122.78877,48.993018],[-122.686377,48.993018],[-122.26001,48.993018],[-121.833594,48.993018],[-121.407227,48.993018],[-120.980859,48.993018],[-120.554492,48.993018],[-120.128076,48.993018],[-119.701709,48.993018],[-119.275342,48.993066],[-118.848926,48.993066],[-118.422559,48.993066],[-117.996191,48.993066],[-117.569775,48.993066],[-117.143408,48.993066],[-116.717041,48.993066],[-116.290625,48.993066],[-115.864258,48.993066],[-115.437891,48.993066],[-115.011523,48.993066],[-114.585107,48.993066],[-114.15874,48.993066],[-113.732373,48.993066],[-113.305957,48.993066],[-112.87959,48.993066],[-112.453223,48.993066],[-112.026807,48.993066],[-111.600439,48.993066],[-111.174072,48.993066],[-110.747656,48.993066],[-110.321289,48.993066],[-109.894922,48.993066],[-109.468555,48.993066],[-109.042139,48.993115],[-108.615771,48.993115],[-108.189404,48.993115],[-107.762988,48.993115],[-107.336621,48.993115],[-106.910254,48.993115],[-106.483838,48.993115],[-106.057471,48.993115],[-105.631104,48.993115],[-105.204687,48.993115],[-104.77832,48.993115],[-104.351953,48.993115],[-103.925586,48.993115],[-103.49917,48.993115],[-103.072803,48.993115],[-102.646436,48.993115],[-102.22002,48.993115],[-101.793652,48.993115],[-101.367285,48.993115],[-100.940869,48.993115],[-100.514502,48.993115],[-100.088135,48.993115],[-99.661719,48.993115],[-99.235352,48.993115],[-98.808984,48.993164],[-98.382617,48.993164],[-97.956201,48.993164],[-97.529834,48.993164],[-97.103467,48.993164],[-96.677051,48.993164],[-96.250684,48.993164],[-95.824316,48.993164],[-95.3979,48.993164],[-95.162061,48.991748],[-95.158252,49.203076],[-95.155273,49.369678],[-94.939355,49.349414],[-94.874805,49.319043],[-94.854346,49.30459],[-94.8604,49.258594],[-94.842578,49.119189],[-94.803467,49.00293],[-94.712793,48.863428],[-94.712549,48.862988],[-94.705078,48.808496],[-94.675342,48.774414],[-94.620898,48.742627],[-94.41416,48.704102],[-94.055176,48.659033],[-93.851611,48.607275],[-93.803564,48.548926],[-93.707715,48.525439],[-93.564258,48.536914],[-93.463623,48.561279],[-93.377881,48.616553],[-93.257959,48.628857],[-93.155225,48.625342],[-93.051709,48.619873],[-92.99624,48.611816],[-92.836719,48.567773],[-92.732666,48.531836],[-92.583252,48.465088],[-92.500586,48.435352],[-92.460889,48.365869],[-92.4146,48.276611],[-92.348437,48.276611],[-92.298682,48.328906],[-92.171777,48.338379],[-92.005176,48.301855],[-91.858398,48.197559],[-91.647314,48.10459],[-91.518311,48.058301],[-91.387207,48.058545],[-91.220654,48.10459],[-91.043457,48.193701],[-90.916064,48.209131],[-90.840332,48.200537],[-90.797314,48.131055],[-90.744385,48.10459],[-90.60708,48.112598],[-90.320117,48.09917],[-90.091797,48.118115],[-90.039941,48.078174],[-89.993652,48.015332],[-89.901025,47.995459],[-89.775391,48.015332],[-89.550586,47.999902],[-89.455664,47.99624],[-89.273193,48.019971],[-89.185645,48.047412],[-89.062598,48.093799],[-88.898682,48.155713],[-88.611768,48.264014],[-88.378174,48.303076],[-88.160645,48.225391],[-87.987451,48.156885],[-87.920508,48.130371],[-87.743896,48.060547],[-87.494238,47.961768],[-87.208008,47.848486],[-86.921826,47.735205],[-86.672168,47.636426],[-86.495557,47.566602],[-86.428564,47.540088],[-86.234473,47.460059],[-86.040381,47.380029],[-85.846338,47.3],[-85.652246,47.219971],[-85.458203,47.139941],[-85.264111,47.059961],[-85.070068,46.979932],[-84.875977,46.899902],[-84.827051,46.766846],[-84.779395,46.637305],[-84.665771,46.543262],[-84.561768,46.457373],[-84.501562,46.461865],[-84.440479,46.498145],[-84.401709,46.515625],[-84.336719,46.518506],[-84.192187,46.549561],[-84.149463,46.542773],[-84.125195,46.527246],[-84.123193,46.50293],[-84.128125,46.483594],[-84.150488,46.444775],[-84.115186,46.370801],[-84.107764,46.288623],[-84.088379,46.226514],[-84.029199,46.147021],[-83.977783,46.084912],[-83.913037,46.0729],[-83.763184,46.109082],[-83.669287,46.122754],[-83.615967,46.116846],[-83.524756,46.058691],[-83.480127,46.02373],[-83.469482,45.994678],[-83.592676,45.817139],[-83.397314,45.729053],[-83.179297,45.632764],[-82.919336,45.517969],[-82.7604,45.447705],[-82.551074,45.347363],[-82.515234,45.204395],[-82.485059,45.08374],[-82.446582,44.915527],[-82.407373,44.743945],[-82.368262,44.572998],[-82.326807,44.391553],[-82.28125,44.192236],[-82.240771,44.015332],[-82.196582,43.822217],[-82.137842,43.570898],[-82.190381,43.474072],[-82.304785,43.263232],[-82.408203,43.072656],[-82.417236,43.017383],[-82.48833,42.739502],[-82.545312,42.624707],[-82.645117,42.558057],[-82.744189,42.493457],[-82.867773,42.385205],[-83.003711,42.331738],[-83.073145,42.300293],[-83.109521,42.250684],[-83.149658,42.141943],[-83.141943,41.975879],[-83.02998,41.832959],[-82.866211,41.753027],[-82.690039,41.675195],[-82.439062,41.674854],[-82.21333,41.778711],[-81.97417,41.888721],[-81.760937,41.986816],[-81.507324,42.103467],[-81.277637,42.20918],[-81.028223,42.247168],[-80.682617,42.299756],[-80.247559,42.366016],[-80.035742,42.441455],[-79.762012,42.538965],[-79.44624,42.651465],[-79.17373,42.748535],[-79.036719,42.802344],[-78.939258,42.863721],[-78.915088,42.909131],[-78.92085,42.935205],[-78.945996,42.961328],[-78.980762,42.980615],[-79.01167,42.997021],[-79.026172,43.017334],[-79.029053,43.061768],[-79.047998,43.087305],[-79.066064,43.106104],[-79.059229,43.278076],[-79.083057,43.331396],[-79.171875,43.466553],[-79.00249,43.527148],[-78.845557,43.58335],[-78.72041,43.624951],[-78.458252,43.631494],[-78.214795,43.630664],[-77.879248,43.629541],[-77.596533,43.628613],[-77.266699,43.62749],[-77.07334,43.626855],[-76.819971,43.628809],[-76.696484,43.784814],[-76.586133,43.924316],[-76.4646,44.057617],[-76.248535,44.214111],[-76.185791,44.242236],[-76.151172,44.303955],[-76.020215,44.362598],[-75.875928,44.416992],[-75.819336,44.468018],[-75.791943,44.49707],[-75.40127,44.772266],[-75.179395,44.899365],[-74.996143,44.970117],[-74.856641,45.003906],[-74.762451,44.999072],[-74.708887,45.003857]]],[[[-72.509766,40.986035],[-72.580859,40.921338],[-72.516602,40.914795],[-72.461328,40.933789],[-72.408984,40.972168],[-72.287451,41.024072],[-72.183887,41.046777],[-72.15127,41.051465],[-72.101904,41.015039],[-72.003955,41.044287],[-71.903223,41.060693],[-72.338965,40.894141],[-72.428076,40.875391],[-72.555566,40.825781],[-72.676074,40.790625],[-72.762842,40.777832],[-73.194287,40.654199],[-73.228516,40.651514],[-73.265527,40.663574],[-73.620898,40.599902],[-73.766748,40.592725],[-73.899561,40.570508],[-73.801318,40.621777],[-73.79917,40.640967],[-73.822656,40.655957],[-73.875195,40.651611],[-73.929004,40.598828],[-74.014893,40.581201],[-74.032031,40.638672],[-74.003369,40.683154],[-73.964551,40.725342],[-73.879248,40.79165],[-73.757227,40.833691],[-73.695215,40.87002],[-73.652246,40.838037],[-73.642822,40.88125],[-73.609766,40.906201],[-73.573828,40.919629],[-73.487402,40.919971],[-73.440869,40.926758],[-73.407227,40.941113],[-73.372705,40.943799],[-73.278174,40.924219],[-73.18584,40.929834],[-73.111279,40.956885],[-73.033789,40.965967],[-72.828809,40.97207],[-72.625098,40.991846],[-72.543652,41.027002],[-72.372559,41.125537],[-72.274121,41.153027],[-72.427393,41.038525],[-72.509766,40.986035]]],[[[-68.187256,44.332471],[-68.245459,44.312988],[-68.309277,44.321484],[-68.307959,44.268701],[-68.315088,44.249707],[-68.385791,44.276855],[-68.411719,44.294336],[-68.409473,44.364258],[-68.347021,44.430371],[-68.299414,44.456494],[-68.238037,44.438379],[-68.190918,44.364355],[-68.187256,44.332471]]],[[[-74.188135,40.522852],[-74.235889,40.518701],[-74.188184,40.6146],[-74.100488,40.658447],[-74.06875,40.649316],[-74.067383,40.61543],[-74.079687,40.586475],[-74.138525,40.541846],[-74.188135,40.522852]]],[[[-70.509912,41.376318],[-70.785303,41.327441],[-70.829199,41.358984],[-70.760498,41.373584],[-70.67373,41.448535],[-70.616016,41.457227],[-70.525342,41.414795],[-70.509912,41.376318]]],[[[-71.241406,41.491943],[-71.290918,41.4646],[-71.34624,41.469385],[-71.318164,41.506299],[-71.307471,41.560498],[-71.280176,41.62002],[-71.264453,41.638232],[-71.232031,41.654297],[-71.241406,41.491943]]],[[[-69.97793,41.265576],[-70.055078,41.249463],[-70.233057,41.286328],[-70.086621,41.317578],[-70.062695,41.328467],[-70.043604,41.374414],[-70.041211,41.397461],[-69.985596,41.298633],[-69.97793,41.265576]]],[[[-75.635693,35.855908],[-75.650781,35.835596],[-75.717187,35.946143],[-75.648877,35.9104],[-75.63667,35.880664],[-75.635693,35.855908]]],[[[-75.544141,35.240088],[-75.678271,35.212842],[-75.690088,35.221582],[-75.536377,35.278613],[-75.487891,35.479492],[-75.48125,35.572119],[-75.504297,35.7354],[-75.503516,35.769141],[-75.478516,35.716504],[-75.456445,35.56416],[-75.464746,35.448633],[-75.509326,35.280322],[-75.544141,35.240088]]],[[[-75.781934,35.190186],[-75.963672,35.118848],[-75.98418,35.123096],[-75.864941,35.174121],[-75.781934,35.190186]]],[[[-76.503662,34.642969],[-76.528564,34.631494],[-76.437012,34.756348],[-76.256201,34.914697],[-76.207373,34.938916],[-76.357715,34.803662],[-76.503662,34.642969]]],[[[-82.037207,26.453613],[-82.072852,26.427539],[-82.144971,26.44668],[-82.184375,26.480957],[-82.201367,26.548047],[-82.138574,26.477002],[-82.116064,26.460938],[-82.037207,26.453613]]],[[[-82.083789,26.552344],[-82.085205,26.493604],[-82.135596,26.591992],[-82.169141,26.700732],[-82.121143,26.665527],[-82.083789,26.552344]]],[[[-80.381836,25.142285],[-80.580566,24.954248],[-80.558545,25.001318],[-80.481055,25.101953],[-80.456006,25.149316],[-80.403662,25.179346],[-80.354932,25.233643],[-80.35127,25.296973],[-80.280469,25.34126],[-80.25708,25.347607],[-80.381836,25.142285]]],[[[-91.793701,29.500732],[-91.830859,29.486475],[-91.99624,29.573096],[-92.006641,29.610303],[-91.925049,29.643945],[-91.875244,29.640967],[-91.796484,29.596973],[-91.767676,29.584717],[-91.754297,29.566895],[-91.761914,29.539014],[-91.793701,29.500732]]],[[[-97.014355,27.901611],[-97.036035,27.89917],[-96.987646,27.981055],[-96.978662,28.013867],[-96.899316,28.11748],[-96.857422,28.13291],[-96.839746,28.088818],[-96.921338,28.016016],[-97.014355,27.901611]]],[[[-96.764404,28.152588],[-96.801123,28.148438],[-96.755615,28.202441],[-96.681641,28.229687],[-96.519336,28.333447],[-96.453125,28.340576],[-96.418652,28.376318],[-96.403564,28.381592],[-96.41333,28.337793],[-96.543896,28.275586],[-96.764404,28.152588]]],[[[-97.353613,27.300049],[-97.384814,27.242529],[-97.376221,27.328271],[-97.29502,27.523096],[-97.130029,27.77915],[-97.060547,27.822021],[-97.250879,27.541211],[-97.353613,27.300049]]],[[[-95.039697,29.145898],[-95.089648,29.136328],[-94.87168,29.290137],[-94.825977,29.341309],[-94.767627,29.339062],[-94.864941,29.252881],[-95.039697,29.145898]]],[[[-97.170703,26.159375],[-97.184521,26.112939],[-97.267334,26.329785],[-97.4021,26.820508],[-97.407178,27.100195],[-97.385986,27.196484],[-97.351221,26.801465],[-97.202246,26.299805],[-97.170703,26.159375]]],[[[-120.306592,34.024854],[-120.359717,34.022266],[-120.441553,34.03291],[-120.412939,34.056299],[-120.367725,34.073291],[-120.35332,34.060596],[-120.306592,34.024854]]],[[[-119.438037,33.217187],[-119.48252,33.215332],[-119.543652,33.224609],[-119.575195,33.27832],[-119.525146,33.282031],[-119.478809,33.274609],[-119.442041,33.232422],[-119.438037,33.217187]]],[[[-118.350391,32.827588],[-118.408594,32.818506],[-118.473193,32.838916],[-118.528906,32.935596],[-118.590186,33.011182],[-118.55708,33.032666],[-118.507471,32.959912],[-118.383203,32.849463],[-118.350391,32.827588]]],[[[-120.043555,33.918848],[-120.113916,33.904883],[-120.167139,33.918066],[-120.251904,34.013867],[-120.071826,34.026514],[-119.994385,33.984912],[-119.983936,33.97334],[-120.043555,33.918848]]],[[[-119.882373,34.079687],[-119.678857,34.028467],[-119.569141,34.052979],[-119.549268,34.028174],[-119.562207,34.006592],[-119.80957,33.967773],[-119.885498,33.994922],[-119.892432,34.032178],[-119.918066,34.067822],[-119.882373,34.079687]]],[[[-118.347949,33.385742],[-118.297461,33.312109],[-118.370215,33.32124],[-118.446289,33.31709],[-118.469336,33.357129],[-118.492041,33.412793],[-118.507324,33.427002],[-118.559424,33.431982],[-118.56333,33.437061],[-118.569434,33.46416],[-118.554834,33.4771],[-118.391699,33.415088],[-118.347949,33.385742]]],[[[-122.782129,48.672705],[-122.768848,48.650977],[-122.808984,48.629834],[-122.837598,48.626562],[-122.883105,48.660645],[-122.903027,48.664697],[-122.887012,48.612305],[-122.892529,48.594482],[-122.985645,48.626709],[-123.002832,48.652197],[-122.97666,48.67915],[-122.918018,48.706982],[-122.897705,48.710352],[-122.782129,48.672705]]],[[[-123.013135,48.500879],[-122.986768,48.468018],[-123.094434,48.489062],[-123.139941,48.507959],[-123.153418,48.526318],[-123.16958,48.586719],[-123.162158,48.606396],[-123.11416,48.613281],[-123.02417,48.538477],[-123.013135,48.500879]]],[[[-122.572754,48.156641],[-122.523828,48.025439],[-122.502832,48.080078],[-122.366748,47.985449],[-122.366602,47.938818],[-122.383154,47.923193],[-122.411426,47.917725],[-122.437598,47.931348],[-122.461621,47.964014],[-122.492285,47.981299],[-122.55752,47.99248],[-122.591357,48.029639],[-122.603174,48.055029],[-122.606299,48.128564],[-122.622656,48.151416],[-122.657275,48.156494],[-122.690381,48.173877],[-122.741504,48.225293],[-122.74873,48.239014],[-122.724512,48.280908],[-122.668994,48.351025],[-122.628613,48.384229],[-122.603516,48.380615],[-122.572461,48.35957],[-122.535547,48.321191],[-122.542432,48.293994],[-122.692139,48.241064],[-122.697021,48.228662],[-122.624414,48.21377],[-122.597607,48.200439],[-122.572754,48.156641]]],[[[-71.365332,41.485254],[-71.393066,41.466748],[-71.403418,41.515039],[-71.383984,41.570557],[-71.364307,41.571826],[-71.354492,41.542285],[-71.365332,41.485254]]],[[[-74.133203,39.680762],[-74.250488,39.529395],[-74.253174,39.558496],[-74.106738,39.746436],[-74.133203,39.680762]]],[[[-75.333057,37.888281],[-75.378516,37.87207],[-75.225977,38.072314],[-75.137402,38.240088],[-75.0979,38.298096],[-75.13623,38.180518],[-75.203223,38.072412],[-75.333057,37.888281]]],[[[-76.54624,34.654883],[-76.568506,34.652539],[-76.607812,34.663574],[-76.661963,34.684668],[-76.673926,34.700146],[-76.622266,34.694531],[-76.54624,34.654883]]],[[[-81.334814,24.650488],[-81.364795,24.629932],[-81.379053,24.636279],[-81.379053,24.66626],[-81.42168,24.732617],[-81.420068,24.75],[-81.322314,24.685059],[-81.319824,24.667627],[-81.334814,24.650488]]],[[[-80.829395,24.803662],[-80.84834,24.803662],[-80.838867,24.817871],[-80.799414,24.846289],[-80.785205,24.835254],[-80.786768,24.821045],[-80.829395,24.803662]]],[[[-80.638281,24.903174],[-80.665137,24.898438],[-80.625684,24.941113],[-80.6146,24.937939],[-80.638281,24.903174]]],[[[-81.044189,24.716797],[-81.08999,24.693115],[-81.137354,24.710498],[-81.085254,24.73418],[-80.930469,24.759473],[-80.988916,24.727881],[-81.044189,24.716797]]],[[[-81.418994,30.971436],[-81.463477,30.727783],[-81.482715,30.814062],[-81.484619,30.897852],[-81.450928,30.947412],[-81.418994,30.971436]]],[[[-81.566699,24.599902],[-81.631494,24.590039],[-81.579248,24.629395],[-81.562305,24.68916],[-81.531641,24.64248],[-81.532227,24.61416],[-81.566699,24.599902]]],[[[-80.186768,27.278418],[-80.170508,27.204785],[-80.262451,27.375586],[-80.376074,27.643408],[-80.436914,27.850537],[-80.395752,27.794531],[-80.355518,27.678613],[-80.186768,27.278418]]],[[[-81.783838,24.54458],[-81.809229,24.542334],[-81.811426,24.557812],[-81.767676,24.576709],[-81.738672,24.575439],[-81.739746,24.554492],[-81.783838,24.54458]]],[[[-88.889307,29.712598],[-88.943604,29.660254],[-88.941113,29.680225],[-88.901172,29.732617],[-88.872656,29.752979],[-88.889307,29.712598]]],[[[-88.558105,30.215918],[-88.570654,30.204785],[-88.659229,30.225586],[-88.713086,30.244922],[-88.722852,30.264258],[-88.573975,30.22915],[-88.558105,30.215918]]],[[[-88.071338,30.252344],[-88.159326,30.230908],[-88.289746,30.23291],[-88.31626,30.24043],[-88.263916,30.254736],[-88.109375,30.27373],[-88.071338,30.252344]]],[[[-89.223975,30.084082],[-89.220459,30.037598],[-89.269434,30.060742],[-89.341992,30.062842],[-89.310059,30.078711],[-89.287646,30.094189],[-89.276465,30.11084],[-89.184668,30.168652],[-89.210693,30.126221],[-89.223975,30.084082]]],[[[-88.827441,29.807715],[-88.855664,29.775879],[-88.827979,29.928369],[-88.866895,30.056738],[-88.825879,30.000391],[-88.812598,29.93335],[-88.827441,29.807715]]],[[[-84.90791,29.642627],[-85.008252,29.606641],[-85.116748,29.632812],[-85.049316,29.637793],[-85.000537,29.627197],[-84.877002,29.678662],[-84.812207,29.717627],[-84.737158,29.732422],[-84.90791,29.642627]]],[[[-122.853076,47.204736],[-122.862598,47.185059],[-122.876758,47.186133],[-122.907959,47.226123],[-122.911914,47.254346],[-122.885107,47.274707],[-122.84917,47.216309],[-122.853076,47.204736]]],[[[-122.394141,47.395264],[-122.39873,47.37251],[-122.437109,47.354785],[-122.456982,47.359326],[-122.458203,47.386133],[-122.468555,47.390234],[-122.509912,47.358008],[-122.506836,47.42168],[-122.486475,47.48877],[-122.468604,47.48999],[-122.44209,47.446143],[-122.394141,47.395264]]],[[[-122.497266,47.59458],[-122.502637,47.575439],[-122.557812,47.598291],[-122.575928,47.619482],[-122.57373,47.666846],[-122.560107,47.697754],[-122.549756,47.703955],[-122.517236,47.690576],[-122.507861,47.682666],[-122.497266,47.59458]]],[[[-122.820898,48.431348],[-122.836572,48.421533],[-122.890039,48.434668],[-122.921631,48.456934],[-122.932275,48.484766],[-122.912207,48.537988],[-122.885498,48.551611],[-122.868896,48.548633],[-122.861914,48.501855],[-122.8146,48.452344],[-122.820898,48.431348]]],[[[-68.623193,44.196045],[-68.661182,44.17627],[-68.701709,44.182666],[-68.703027,44.231982],[-68.690771,44.24873],[-68.676758,44.256201],[-68.655957,44.242334],[-68.623193,44.196045]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":3,"LABELRANK":4,"SOVEREIGNT":"United Kingdom","SOV_A3":"GB1","ADM0_DIF":1,"LEVEL":2,"TYPE":"Dependency","TLC":"1","ADMIN":"South Georgia and the Islands","ADM0_A3":"SGS","GEOU_DIF":0,"GEOUNIT":"South Georgia and the Islands","GU_A3":"SGS","SU_DIF":0,"SUBUNIT":"South Georgia and the Islands","SU_A3":"SGS","BRK_DIFF":0,"NAME":"S. Geo. and the Is.","NAME_LONG":"South Georgia and the Islands","BRK_A3":"SGS","BRK_NAME":"S. Geo. and the Is.","BRK_GROUP":null,"ABBREV":"S.G. & Is.","POSTAL":"GS","FORMAL_EN":"South Georgia and the Islands","FORMAL_FR":null,"NAME_CIAWF":null,"NOTE_ADM0":"U.K.","NOTE_BRK":null,"NAME_SORT":"South Georgia and the Islands","NAME_ALT":null,"MAPCOLOR7":6,"MAPCOLOR8":6,"MAPCOLOR9":6,"MAPCOLOR13":3,"POP_EST":30,"POP_RANK":1,"POP_YEAR":2017,"GDP_MD":0,"GDP_YEAR":2016,"ECONOMY":"7. Least developed region","INCOME_GRP":"5. Low income","FIPS_10":"SX","ISO_A2":"GS","ISO_A2_EH":"GS","ISO_A3":"SGS","ISO_A3_EH":"SGS","ISO_N3":"239","ISO_N3_EH":"239","UN_A3":"-099","WB_A2":"-99","WB_A3":"-99","WOE_ID":23424955,"WOE_ID_EH":23424955,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"SGS","ADM0_DIFF":null,"ADM0_TLC":"SGS","ADM0_A3_US":"SGS","ADM0_A3_FR":"SGS","ADM0_A3_RU":"SGS","ADM0_A3_ES":"SGS","ADM0_A3_CN":"SGS","ADM0_A3_TW":"SGS","ADM0_A3_IN":"SGS","ADM0_A3_NP":"SGS","ADM0_A3_PK":"SGS","ADM0_A3_DE":"SGS","ADM0_A3_GB":"SGS","ADM0_A3_BR":"SGS","ADM0_A3_IL":"SGS","ADM0_A3_PS":"SGS","ADM0_A3_SA":"SGS","ADM0_A3_EG":"SGS","ADM0_A3_MA":"SGS","ADM0_A3_PT":"SGS","ADM0_A3_AR":"SGS","ADM0_A3_JP":"SGS","ADM0_A3_KO":"SGS","ADM0_A3_VN":"SGS","ADM0_A3_TR":"SGS","ADM0_A3_ID":"SGS","ADM0_A3_PL":"SGS","ADM0_A3_GR":"SGS","ADM0_A3_IT":"SGS","ADM0_A3_NL":"SGS","ADM0_A3_SE":"SGS","ADM0_A3_BD":"SGS","ADM0_A3_UA":"SGS","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Seven seas (open ocean)","REGION_UN":"Americas","SUBREGION":"Seven seas (open ocean)","REGION_WB":"Antarctica","NAME_LEN":19,"LONG_LEN":29,"ABBREV_LEN":10,"TINY":3,"HOMEPART":-99,"MIN_ZOOM":0,"MIN_LABEL":5,"MAX_LABEL":9,"LABEL_X":-31.063179,"LABEL_Y":-55.683402,"NE_ID":1159320731,"WIKIDATAID":"Q35086","NAME_AR":"جورجيا الجنوبية وجزر ساندويتش الجنوبية","NAME_BN":"দক্ষিণ জর্জিয়া ও দক্ষিণ স্যন্ডউইচ দ্বীপপুঞ্জ","NAME_DE":"Südgeorgien und die Südlichen Sandwichinseln","NAME_EN":"South Georgia and the South Sandwich Islands","NAME_ES":"Islas Georgias del Sur y Sandwich del Sur","NAME_FA":"جزایر جورجیای جنوبی و ساندویچ جنوبی","NAME_FR":"Géorgie du Sud-et-les Îles Sandwich du Sud","NAME_EL":"Νήσοι Νότια Γεωργία και Νότιες Σάντουιτς","NAME_HE":"איי ג'ורג'יה הדרומית ואיי סנדוויץ' הדרומיים","NAME_HI":"दक्षिण जॉर्जिया एवं दक्षिण सैंडविच द्वीप समूह","NAME_HU":"Déli-Georgia és Déli-Sandwich-szigetek","NAME_ID":"Georgia Selatan dan Kepulauan Sandwich Selatan","NAME_IT":"Georgia del Sud e isole Sandwich meridionali","NAME_JA":"サウスジョージア・サウスサンドウィッチ諸島","NAME_KO":"사우스조지아 사우스샌드위치 제도","NAME_NL":"Zuid-Georgia en de Zuidelijke Sandwicheilanden","NAME_PL":"Georgia Południowa i Sandwich Południowy","NAME_PT":"Ilhas Geórgia do Sul e Sandwich do Sul","NAME_RU":"Южная Георгия и Южные Сандвичевы острова","NAME_SV":"Sydgeorgien och Sydsandwichöarna","NAME_TR":"Güney Georgia ve Güney Sandwich Adaları","NAME_UK":"Південна Джорджія та Південні Сандвічеві острови","NAME_UR":"جنوبی جارجیا و جزائر جنوبی سینڈوچ","NAME_VI":"Nam Georgia và Quần đảo Nam Sandwich","NAME_ZH":"南乔治亚和南桑威奇群岛","NAME_ZHT":"南喬治亞與南桑威奇","FCLASS_ISO":"Admin-0 dependency","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 dependency","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":"Unrecognized","FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[-38.017432,-58.492285,-26.259863,-53.984082],"geometry":{"type":"MultiPolygon","coordinates":[[[[-26.264111,-58.435156],[-26.259863,-58.492285],[-26.415332,-58.439844],[-26.451025,-58.415332],[-26.401221,-58.383203],[-26.303467,-58.382227],[-26.279395,-58.401758],[-26.264111,-58.435156]]],[[[-37.10332,-54.065625],[-37.006055,-54.114258],[-36.928906,-54.081152],[-36.848926,-54.085059],[-36.805176,-54.101465],[-36.760059,-54.107715],[-36.703809,-54.108105],[-36.606885,-54.189844],[-36.647412,-54.262305],[-36.541016,-54.248047],[-36.448633,-54.308398],[-36.406738,-54.30332],[-36.38584,-54.278906],[-36.326465,-54.251172],[-36.285254,-54.288672],[-36.235645,-54.360449],[-36.172607,-54.382227],[-36.116895,-54.458301],[-36.073145,-54.554102],[-36.033105,-54.567676],[-35.964648,-54.568066],[-35.895312,-54.554785],[-35.921533,-54.6375],[-35.913281,-54.71084],[-35.798584,-54.763477],[-35.866943,-54.792383],[-35.938916,-54.834277],[-36.085498,-54.866797],[-36.123633,-54.85293],[-36.251709,-54.779883],[-36.311475,-54.69375],[-36.445752,-54.570703],[-36.47207,-54.534473],[-36.506543,-54.51123],[-36.628125,-54.496094],[-36.734961,-54.466602],[-36.823877,-54.404297],[-36.851709,-54.366016],[-36.885986,-54.339453],[-37.006738,-54.340918],[-37.082812,-54.311523],[-37.158105,-54.271484],[-37.497656,-54.155859],[-37.630908,-54.16748],[-37.692285,-54.134766],[-37.689014,-54.076758],[-37.618848,-54.04209],[-37.912793,-54.028906],[-38.017432,-54.008008],[-37.945508,-53.995605],[-37.53584,-53.99375],[-37.382227,-53.984082],[-37.36875,-54.00918],[-37.232812,-54.060547],[-37.10332,-54.065625]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":3,"LABELRANK":5,"SOVEREIGNT":"United Kingdom","SOV_A3":"GB1","ADM0_DIF":1,"LEVEL":2,"TYPE":"Disputed","TLC":"1","ADMIN":"British Indian Ocean Territory","ADM0_A3":"IOT","GEOU_DIF":0,"GEOUNIT":"British Indian Ocean Territory","GU_A3":"IOT","SU_DIF":0,"SUBUNIT":"British Indian Ocean Territory","SU_A3":"IOT","BRK_DIFF":1,"NAME":"Br. Indian Ocean Ter.","NAME_LONG":"British Indian Ocean Territory","BRK_A3":"B69","BRK_NAME":"Br. Indian Ocean Ter.","BRK_GROUP":null,"ABBREV":"I.O.T.","POSTAL":"IO","FORMAL_EN":null,"FORMAL_FR":null,"NAME_CIAWF":null,"NOTE_ADM0":"U.K.","NOTE_BRK":"Admin. by U.K.; Claimed by Mauritius and Seychelles","NAME_SORT":"British Indian Ocean Territory","NAME_ALT":null,"MAPCOLOR7":6,"MAPCOLOR8":6,"MAPCOLOR9":6,"MAPCOLOR13":3,"POP_EST":3000,"POP_RANK":4,"POP_YEAR":2018,"GDP_MD":120,"GDP_YEAR":2013,"ECONOMY":"2. Developed region: nonG7","INCOME_GRP":"2. High income: nonOECD","FIPS_10":"IO","ISO_A2":"IO","ISO_A2_EH":"IO","ISO_A3":"IOT","ISO_A3_EH":"IOT","ISO_N3":"086","ISO_N3_EH":"086","UN_A3":"-099","WB_A2":"-99","WB_A3":"-99","WOE_ID":23424849,"WOE_ID_EH":23424849,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"B69","ADM0_DIFF":null,"ADM0_TLC":"B69","ADM0_A3_US":"IOT","ADM0_A3_FR":"IOT","ADM0_A3_RU":"IOT","ADM0_A3_ES":"IOT","ADM0_A3_CN":"IOT","ADM0_A3_TW":"IOT","ADM0_A3_IN":"IOT","ADM0_A3_NP":"IOT","ADM0_A3_PK":"IOT","ADM0_A3_DE":"IOT","ADM0_A3_GB":"IOT","ADM0_A3_BR":"IOT","ADM0_A3_IL":"IOT","ADM0_A3_PS":"IOT","ADM0_A3_SA":"IOT","ADM0_A3_EG":"IOT","ADM0_A3_MA":"IOT","ADM0_A3_PT":"IOT","ADM0_A3_AR":"IOT","ADM0_A3_JP":"IOT","ADM0_A3_KO":"IOT","ADM0_A3_VN":"IOT","ADM0_A3_TR":"IOT","ADM0_A3_ID":"IOT","ADM0_A3_PL":"IOT","ADM0_A3_GR":"IOT","ADM0_A3_IT":"IOT","ADM0_A3_NL":"IOT","ADM0_A3_SE":"IOT","ADM0_A3_BD":"IOT","ADM0_A3_UA":"IOT","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Seven seas (open ocean)","REGION_UN":"Africa","SUBREGION":"Seven seas (open ocean)","REGION_WB":"Sub-Saharan Africa","NAME_LEN":21,"LONG_LEN":30,"ABBREV_LEN":6,"TINY":5,"HOMEPART":-99,"MIN_ZOOM":0,"MIN_LABEL":5,"MAX_LABEL":9.5,"LABEL_X":71.348349,"LABEL_Y":-6.190826,"NE_ID":1159320723,"WIKIDATAID":"Q43448","NAME_AR":"إقليم المحيط الهندي البريطاني","NAME_BN":"ব্রিটিশ ভারত মহাসাগরীয় এলাকা","NAME_DE":"Britisches Territorium im Indischen Ozean","NAME_EN":"British Indian Ocean Territory","NAME_ES":"Territorio Británico del Océano Índico","NAME_FA":"قلمرو بریتانیا در اقیانوس هند","NAME_FR":"Territoire britannique de l’océan Indien","NAME_EL":"Βρετανικό Έδαφος Ινδικού Ωκεανού","NAME_HE":"הטריטוריה הבריטית באוקיינוס ההודי","NAME_HI":"ब्रिटिश हिंद महासागर क्षेत्र","NAME_HU":"Brit Indiai-óceáni Terület","NAME_ID":"Wilayah Samudra Hindia Britania","NAME_IT":"Territorio britannico dell'oceano Indiano","NAME_JA":"イギリス領インド洋地域","NAME_KO":"영국령 인도양 지역","NAME_NL":"Brits Indische Oceaanterritorium","NAME_PL":"Brytyjskie Terytorium Oceanu Indyjskiego","NAME_PT":"Território Britânico do Oceano Índico","NAME_RU":"Британская территория в Индийском океане","NAME_SV":"Brittiska territoriet i Indiska oceanen","NAME_TR":"Britanya Hint Okyanusu Toprakları","NAME_UK":"Британська територія в Індійському океані","NAME_UR":"برطانوی بحرہند کا خطہ","NAME_VI":"Lãnh thổ Ấn Độ Dương thuộc Anh","NAME_ZH":"英属印度洋领地","NAME_ZHT":"英屬印度洋領地","FCLASS_ISO":"Admin-0 dependency","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 dependency","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[72.349707,-7.435352,72.498535,-7.22041],"geometry":{"type":"Polygon","coordinates":[[[72.491992,-7.377441],[72.46875,-7.417188],[72.429102,-7.435352],[72.407617,-7.334473],[72.349707,-7.263379],[72.372852,-7.263379],[72.427441,-7.299805],[72.447266,-7.395703],[72.467188,-7.367578],[72.462207,-7.337793],[72.47373,-7.309668],[72.46543,-7.278223],[72.435742,-7.230273],[72.445605,-7.22041],[72.493555,-7.261719],[72.498535,-7.294824],[72.491992,-7.377441]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":3,"LABELRANK":6,"SOVEREIGNT":"United Kingdom","SOV_A3":"GB1","ADM0_DIF":1,"LEVEL":2,"TYPE":"Dependency","TLC":"1","ADMIN":"Saint Helena","ADM0_A3":"SHN","GEOU_DIF":0,"GEOUNIT":"Saint Helena","GU_A3":"SHN","SU_DIF":0,"SUBUNIT":"Saint Helena","SU_A3":"SHN","BRK_DIFF":0,"NAME":"Saint Helena","NAME_LONG":"Saint Helena","BRK_A3":"SHN","BRK_NAME":"Saint Helena","BRK_GROUP":null,"ABBREV":"St.H.","POSTAL":"SH","FORMAL_EN":null,"FORMAL_FR":null,"NAME_CIAWF":"Saint Helena, Ascension, and Tristan da Cunha","NOTE_ADM0":"U.K.","NOTE_BRK":null,"NAME_SORT":"St. Helena","NAME_ALT":null,"MAPCOLOR7":6,"MAPCOLOR8":6,"MAPCOLOR9":6,"MAPCOLOR13":3,"POP_EST":4534,"POP_RANK":4,"POP_YEAR":2016,"GDP_MD":31,"GDP_YEAR":2010,"ECONOMY":"6. Developing region","INCOME_GRP":"4. Lower middle income","FIPS_10":"SH","ISO_A2":"SH","ISO_A2_EH":"SH","ISO_A3":"SHN","ISO_A3_EH":"SHN","ISO_N3":"654","ISO_N3_EH":"654","UN_A3":"654","WB_A2":"-99","WB_A3":"-99","WOE_ID":23424944,"WOE_ID_EH":23424944,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"SHN","ADM0_DIFF":null,"ADM0_TLC":"SHN","ADM0_A3_US":"SHN","ADM0_A3_FR":"SHN","ADM0_A3_RU":"SHN","ADM0_A3_ES":"SHN","ADM0_A3_CN":"SHN","ADM0_A3_TW":"SHN","ADM0_A3_IN":"SHN","ADM0_A3_NP":"SHN","ADM0_A3_PK":"SHN","ADM0_A3_DE":"SHN","ADM0_A3_GB":"SHN","ADM0_A3_BR":"SHN","ADM0_A3_IL":"SHN","ADM0_A3_PS":"SHN","ADM0_A3_SA":"SHN","ADM0_A3_EG":"SHN","ADM0_A3_MA":"SHN","ADM0_A3_PT":"SHN","ADM0_A3_AR":"SHN","ADM0_A3_JP":"SHN","ADM0_A3_KO":"SHN","ADM0_A3_VN":"SHN","ADM0_A3_TR":"SHN","ADM0_A3_ID":"SHN","ADM0_A3_PL":"SHN","ADM0_A3_GR":"SHN","ADM0_A3_IT":"SHN","ADM0_A3_NL":"SHN","ADM0_A3_SE":"SHN","ADM0_A3_BD":"SHN","ADM0_A3_UA":"SHN","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Seven seas (open ocean)","REGION_UN":"Africa","SUBREGION":"Western Africa","REGION_WB":"Sub-Saharan Africa","NAME_LEN":12,"LONG_LEN":12,"ABBREV_LEN":5,"TINY":-99,"HOMEPART":-99,"MIN_ZOOM":0,"MIN_LABEL":5,"MAX_LABEL":10,"LABEL_X":-5.71262,"LABEL_Y":-15.950487,"NE_ID":1159320733,"WIKIDATAID":"Q34497","NAME_AR":"سانت هيلينا","NAME_BN":"সেন্ট হেলেনা","NAME_DE":"St. Helena","NAME_EN":"Saint Helena","NAME_ES":"Isla Santa Elena","NAME_FA":"سینت هلینا","NAME_FR":"Sainte-Hélène","NAME_EL":"Νήσος Αγίας Ελένης","NAME_HE":"סנט הלנה","NAME_HI":"सन्त हेलेना","NAME_HU":"Szent Ilona","NAME_ID":"Saint Helena","NAME_IT":"Sant'Elena","NAME_JA":"セントヘレナ","NAME_KO":"세인트헬레나","NAME_NL":"Sint-Helena","NAME_PL":"Wyspa Świętej Heleny","NAME_PT":"Santa Helena","NAME_RU":"Остров Святой Елены","NAME_SV":"Sankta Helena","NAME_TR":"Saint Helena","NAME_UK":"Острів Святої Єлени","NAME_UR":"سینٹ ہلینا","NAME_VI":"Saint Helena","NAME_ZH":"圣赫勒拿","NAME_ZHT":"聖赫勒拿","FCLASS_ISO":"Admin-0 dependency","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 dependency","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[-14.414941,-16.004004,-5.659717,-7.882617],"geometry":{"type":"MultiPolygon","coordinates":[[[[-5.692139,-15.997754],[-5.78252,-16.004004],[-5.775049,-15.956738],[-5.707861,-15.906152],[-5.6625,-15.912793],[-5.659717,-15.970898],[-5.692139,-15.997754]]],[[[-14.364355,-7.974316],[-14.398682,-7.975781],[-14.408691,-7.96748],[-14.414941,-7.94375],[-14.398584,-7.905762],[-14.383643,-7.882617],[-14.3604,-7.885938],[-14.328857,-7.912598],[-14.302539,-7.935449],[-14.316797,-7.956152],[-14.364355,-7.974316]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":3,"LABELRANK":4,"SOVEREIGNT":"United Kingdom","SOV_A3":"GB1","ADM0_DIF":1,"LEVEL":2,"TYPE":"Dependency","TLC":"1","ADMIN":"Pitcairn Islands","ADM0_A3":"PCN","GEOU_DIF":0,"GEOUNIT":"Pitcairn Islands","GU_A3":"PCN","SU_DIF":0,"SUBUNIT":"Pitcairn Islands","SU_A3":"PCN","BRK_DIFF":0,"NAME":"Pitcairn Is.","NAME_LONG":"Pitcairn Islands","BRK_A3":"PCN","BRK_NAME":"Pitcairn Is.","BRK_GROUP":null,"ABBREV":"Pit. Is.","POSTAL":"PN","FORMAL_EN":"Pitcairn, Henderson, Ducie and Oeno Islands","FORMAL_FR":null,"NAME_CIAWF":"Pitcairn Islands","NOTE_ADM0":"U.K.","NOTE_BRK":null,"NAME_SORT":"Pitcairn Islands","NAME_ALT":null,"MAPCOLOR7":6,"MAPCOLOR8":6,"MAPCOLOR9":6,"MAPCOLOR13":3,"POP_EST":54,"POP_RANK":1,"POP_YEAR":2016,"GDP_MD":0,"GDP_YEAR":2016,"ECONOMY":"7. Least developed region","INCOME_GRP":"5. Low income","FIPS_10":"PC","ISO_A2":"PN","ISO_A2_EH":"PN","ISO_A3":"PCN","ISO_A3_EH":"PCN","ISO_N3":"612","ISO_N3_EH":"612","UN_A3":"612","WB_A2":"-99","WB_A3":"-99","WOE_ID":23424918,"WOE_ID_EH":23424918,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"PCN","ADM0_DIFF":null,"ADM0_TLC":"PCN","ADM0_A3_US":"PCN","ADM0_A3_FR":"PCN","ADM0_A3_RU":"PCN","ADM0_A3_ES":"PCN","ADM0_A3_CN":"PCN","ADM0_A3_TW":"PCN","ADM0_A3_IN":"PCN","ADM0_A3_NP":"PCN","ADM0_A3_PK":"PCN","ADM0_A3_DE":"PCN","ADM0_A3_GB":"PCN","ADM0_A3_BR":"PCN","ADM0_A3_IL":"PCN","ADM0_A3_PS":"PCN","ADM0_A3_SA":"PCN","ADM0_A3_EG":"PCN","ADM0_A3_MA":"PCN","ADM0_A3_PT":"PCN","ADM0_A3_AR":"PCN","ADM0_A3_JP":"PCN","ADM0_A3_KO":"PCN","ADM0_A3_VN":"PCN","ADM0_A3_TR":"PCN","ADM0_A3_ID":"PCN","ADM0_A3_PL":"PCN","ADM0_A3_GR":"PCN","ADM0_A3_IT":"PCN","ADM0_A3_NL":"PCN","ADM0_A3_SE":"PCN","ADM0_A3_BD":"PCN","ADM0_A3_UA":"PCN","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Oceania","REGION_UN":"Oceania","SUBREGION":"Polynesia","REGION_WB":"East Asia & Pacific","NAME_LEN":12,"LONG_LEN":16,"ABBREV_LEN":8,"TINY":-99,"HOMEPART":-99,"MIN_ZOOM":0,"MIN_LABEL":5,"MAX_LABEL":9,"LABEL_X":-128.317536,"LABEL_Y":-24.364576,"NE_ID":1159320729,"WIKIDATAID":"Q35672","NAME_AR":"جزر بيتكيرن","NAME_BN":"পীটকেয়ার্ন দ্বীপপুঞ্জ","NAME_DE":"Pitcairninseln","NAME_EN":"Pitcairn Islands","NAME_ES":"Islas Pitcairn","NAME_FA":"جزایر پیتکرن","NAME_FR":"Iles Pitcairn","NAME_EL":"Νήσοι Πίτκερν","NAME_HE":"פיטקרן","NAME_HI":"पिटकेर्न द्वीपसमूह","NAME_HU":"Pitcairn-szigetek","NAME_ID":"Kepulauan Pitcairn","NAME_IT":"Isole Pitcairn","NAME_JA":"ピトケアン諸島","NAME_KO":"핏케언 제도","NAME_NL":"Pitcairneilanden","NAME_PL":"Pitcairn","NAME_PT":"Ilhas Pitcairn","NAME_RU":"Острова Питкэрн","NAME_SV":"Pitcairnöarna","NAME_TR":"Pitcairn Adaları","NAME_UK":"Піткерн","NAME_UR":"جزائر پٹکیرن","NAME_VI":"Quần đảo Pitcairn","NAME_ZH":"皮特凯恩群岛","NAME_ZHT":"皮特肯群島","FCLASS_ISO":"Admin-0 dependency","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 dependency","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[-128.350195,-24.412598,-128.290088,-24.323242],"geometry":{"type":"Polygon","coordinates":[[[-128.290088,-24.397363],[-128.3,-24.412598],[-128.320654,-24.399707],[-128.342187,-24.370703],[-128.350195,-24.340234],[-128.330127,-24.323242],[-128.303613,-24.333594],[-128.29082,-24.364648],[-128.290088,-24.397363]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":6,"SOVEREIGNT":"United Kingdom","SOV_A3":"GB1","ADM0_DIF":1,"LEVEL":2,"TYPE":"Dependency","TLC":"1","ADMIN":"Anguilla","ADM0_A3":"AIA","GEOU_DIF":0,"GEOUNIT":"Anguilla","GU_A3":"AIA","SU_DIF":0,"SUBUNIT":"Anguilla","SU_A3":"AIA","BRK_DIFF":0,"NAME":"Anguilla","NAME_LONG":"Anguilla","BRK_A3":"AIA","BRK_NAME":"Anguilla","BRK_GROUP":null,"ABBREV":"Ang.","POSTAL":"AI","FORMAL_EN":null,"FORMAL_FR":null,"NAME_CIAWF":"Anguilla","NOTE_ADM0":"U.K.","NOTE_BRK":null,"NAME_SORT":"Anguilla","NAME_ALT":null,"MAPCOLOR7":6,"MAPCOLOR8":6,"MAPCOLOR9":6,"MAPCOLOR13":3,"POP_EST":14731,"POP_RANK":6,"POP_YEAR":2018,"GDP_MD":175,"GDP_YEAR":2009,"ECONOMY":"6. Developing region","INCOME_GRP":"3. Upper middle income","FIPS_10":"AV","ISO_A2":"AI","ISO_A2_EH":"AI","ISO_A3":"AIA","ISO_A3_EH":"AIA","ISO_N3":"660","ISO_N3_EH":"660","UN_A3":"660","WB_A2":"-99","WB_A3":"-99","WOE_ID":23424751,"WOE_ID_EH":23424751,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"AIA","ADM0_DIFF":null,"ADM0_TLC":"AIA","ADM0_A3_US":"AIA","ADM0_A3_FR":"AIA","ADM0_A3_RU":"AIA","ADM0_A3_ES":"AIA","ADM0_A3_CN":"AIA","ADM0_A3_TW":"AIA","ADM0_A3_IN":"AIA","ADM0_A3_NP":"AIA","ADM0_A3_PK":"AIA","ADM0_A3_DE":"AIA","ADM0_A3_GB":"AIA","ADM0_A3_BR":"AIA","ADM0_A3_IL":"AIA","ADM0_A3_PS":"AIA","ADM0_A3_SA":"AIA","ADM0_A3_EG":"AIA","ADM0_A3_MA":"AIA","ADM0_A3_PT":"AIA","ADM0_A3_AR":"AIA","ADM0_A3_JP":"AIA","ADM0_A3_KO":"AIA","ADM0_A3_VN":"AIA","ADM0_A3_TR":"AIA","ADM0_A3_ID":"AIA","ADM0_A3_PL":"AIA","ADM0_A3_GR":"AIA","ADM0_A3_IT":"AIA","ADM0_A3_NL":"AIA","ADM0_A3_SE":"AIA","ADM0_A3_BD":"AIA","ADM0_A3_UA":"AIA","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"North America","REGION_UN":"Americas","SUBREGION":"Caribbean","REGION_WB":"Latin America & Caribbean","NAME_LEN":8,"LONG_LEN":8,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":-99,"MIN_ZOOM":0,"MIN_LABEL":5,"MAX_LABEL":10,"LABEL_X":-63.026361,"LABEL_Y":18.242979,"NE_ID":1159320703,"WIKIDATAID":"Q25228","NAME_AR":"أنغويلا","NAME_BN":"এ্যাঙ্গুইলা","NAME_DE":"Anguilla","NAME_EN":"Anguilla","NAME_ES":"Anguila","NAME_FA":"آنگویلا","NAME_FR":"Anguilla","NAME_EL":"Ανγκουίλα","NAME_HE":"אנגווילה","NAME_HI":"अंगुइला","NAME_HU":"Anguilla","NAME_ID":"Anguilla","NAME_IT":"Anguilla","NAME_JA":"アンギラ","NAME_KO":"앵귈라","NAME_NL":"Anguilla","NAME_PL":"Anguilla","NAME_PT":"Anguilla","NAME_RU":"Ангилья","NAME_SV":"Anguilla","NAME_TR":"Anguilla","NAME_UK":"Ангілья","NAME_UR":"اینگویلا","NAME_VI":"Anguilla","NAME_ZH":"安圭拉","NAME_ZHT":"安吉拉","FCLASS_ISO":"Admin-0 dependency","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 dependency","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[-63.16001,18.171387,-62.97959,18.269727],"geometry":{"type":"Polygon","coordinates":[[[-63.001221,18.221777],[-63.16001,18.171387],[-63.15332,18.200293],[-63.026025,18.269727],[-62.97959,18.264795],[-63.001221,18.221777]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":5,"SOVEREIGNT":"United Kingdom","SOV_A3":"GB1","ADM0_DIF":1,"LEVEL":2,"TYPE":"Disputed","TLC":"1","ADMIN":"Falkland Islands","ADM0_A3":"FLK","GEOU_DIF":0,"GEOUNIT":"Falkland Islands","GU_A3":"FLK","SU_DIF":0,"SUBUNIT":"Falkland Islands","SU_A3":"FLK","BRK_DIFF":1,"NAME":"Falkland Is.","NAME_LONG":"Falkland Islands / Malvinas","BRK_A3":"B12","BRK_NAME":"Falkland Is.","BRK_GROUP":null,"ABBREV":"Flk. Is.","POSTAL":"FK","FORMAL_EN":"Falkland Islands","FORMAL_FR":null,"NAME_CIAWF":"Falkland Islands (Islas Malvinas)","NOTE_ADM0":"U.K.","NOTE_BRK":"Admin. by U.K.; Claimed by Argentina","NAME_SORT":"Falkland Islands","NAME_ALT":"Islas Malvinas","MAPCOLOR7":6,"MAPCOLOR8":6,"MAPCOLOR9":6,"MAPCOLOR13":3,"POP_EST":3398,"POP_RANK":4,"POP_YEAR":2016,"GDP_MD":282,"GDP_YEAR":2012,"ECONOMY":"2. Developed region: nonG7","INCOME_GRP":"1. High income: OECD","FIPS_10":"FK","ISO_A2":"FK","ISO_A2_EH":"FK","ISO_A3":"FLK","ISO_A3_EH":"FLK","ISO_N3":"238","ISO_N3_EH":"238","UN_A3":"238","WB_A2":"-99","WB_A3":"-99","WOE_ID":23424814,"WOE_ID_EH":23424814,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"B12","ADM0_DIFF":null,"ADM0_TLC":"B12","ADM0_A3_US":"FLK","ADM0_A3_FR":"FLK","ADM0_A3_RU":"FLK","ADM0_A3_ES":"FLK","ADM0_A3_CN":"FLK","ADM0_A3_TW":"FLK","ADM0_A3_IN":"FLK","ADM0_A3_NP":"FLK","ADM0_A3_PK":"FLK","ADM0_A3_DE":"FLK","ADM0_A3_GB":"FLK","ADM0_A3_BR":"FLK","ADM0_A3_IL":"FLK","ADM0_A3_PS":"FLK","ADM0_A3_SA":"FLK","ADM0_A3_EG":"FLK","ADM0_A3_MA":"FLK","ADM0_A3_PT":"FLK","ADM0_A3_AR":"ARG","ADM0_A3_JP":"FLK","ADM0_A3_KO":"FLK","ADM0_A3_VN":"FLK","ADM0_A3_TR":"FLK","ADM0_A3_ID":"FLK","ADM0_A3_PL":"FLK","ADM0_A3_GR":"FLK","ADM0_A3_IT":"FLK","ADM0_A3_NL":"FLK","ADM0_A3_SE":"FLK","ADM0_A3_BD":"FLK","ADM0_A3_UA":"FLK","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"South America","REGION_UN":"Americas","SUBREGION":"South America","REGION_WB":"Latin America & Caribbean","NAME_LEN":12,"LONG_LEN":27,"ABBREV_LEN":8,"TINY":-99,"HOMEPART":-99,"MIN_ZOOM":0,"MIN_LABEL":4.5,"MAX_LABEL":9,"LABEL_X":-58.738602,"LABEL_Y":-51.608913,"NE_ID":1159320711,"WIKIDATAID":"Q9648","NAME_AR":"جزر فوكلاند","NAME_BN":"ফকল্যান্ড দ্বীপপুঞ্জ","NAME_DE":"Falklandinseln","NAME_EN":"Falkland Islands","NAME_ES":"Islas Malvinas","NAME_FA":"جزایر فالکلند","NAME_FR":"îles Malouines","NAME_EL":"Νήσοι Φώκλαντ","NAME_HE":"איי פוקלנד","NAME_HI":"फ़ॉकलैंड द्वीपसमूह","NAME_HU":"Falkland-szigetek","NAME_ID":"Kepulauan Falkland","NAME_IT":"Isole Falkland","NAME_JA":"フォークランド諸島","NAME_KO":"포클랜드 제도","NAME_NL":"Falklandeilanden","NAME_PL":"Falklandy","NAME_PT":"Ilhas Malvinas","NAME_RU":"Фолклендские острова","NAME_SV":"Falklandsöarna","NAME_TR":"Falkland Adaları","NAME_UK":"Фолклендські острови","NAME_UR":"جزائر فاکلینڈ","NAME_VI":"Quần đảo Falkland","NAME_ZH":"福克兰群岛","NAME_ZHT":"福克蘭群島","FCLASS_ISO":"Admin-0 dependency","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 dependency","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":"Unrecognized","FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[-61.14502,-52.308008,-57.791797,-51.269922],"geometry":{"type":"MultiPolygon","coordinates":[[[[-58.850195,-51.269922],[-58.69751,-51.328516],[-58.50625,-51.308105],[-58.42583,-51.324219],[-58.378711,-51.373047],[-58.406738,-51.418359],[-58.467432,-51.411816],[-58.519238,-51.423926],[-58.508936,-51.483594],[-58.47373,-51.509082],[-58.271582,-51.574707],[-58.234521,-51.578613],[-58.241113,-51.551074],[-58.276221,-51.506055],[-58.289307,-51.45752],[-58.259229,-51.41709],[-58.206445,-51.404687],[-57.976514,-51.384375],[-57.92251,-51.403516],[-57.808496,-51.517969],[-57.91543,-51.533789],[-57.960449,-51.583203],[-57.866357,-51.60459],[-57.791797,-51.636133],[-57.831152,-51.68457],[-57.838184,-51.70918],[-58.003955,-51.743457],[-58.150928,-51.76543],[-58.217627,-51.822461],[-58.335986,-51.86377],[-58.683496,-51.93623],[-58.643066,-51.994824],[-58.637695,-52.023047],[-58.652783,-52.099219],[-59.13125,-52.00791],[-59.19585,-52.017676],[-59.068018,-52.173047],[-59.162793,-52.201758],[-59.256348,-52.183105],[-59.341504,-52.195996],[-59.395654,-52.308008],[-59.532227,-52.236426],[-59.64873,-52.134375],[-59.64917,-52.077246],[-59.53667,-51.970605],[-59.570801,-51.925391],[-59.30874,-51.780469],[-59.261768,-51.737305],[-59.180029,-51.7125],[-59.09541,-51.704102],[-59.059521,-51.685449],[-59.065381,-51.650195],[-59.099463,-51.589746],[-59.096631,-51.491406],[-58.88667,-51.35791],[-58.91748,-51.27207],[-58.850195,-51.269922]]],[[[-60.28623,-51.461914],[-60.141553,-51.480957],[-60.008691,-51.410547],[-59.91709,-51.388086],[-59.841602,-51.40332],[-59.788428,-51.445996],[-59.711328,-51.439258],[-59.493457,-51.395703],[-59.465088,-51.410547],[-59.387598,-51.359961],[-59.32085,-51.383594],[-59.268066,-51.427539],[-59.293945,-51.478516],[-59.354199,-51.510938],[-59.392432,-51.556152],[-59.437012,-51.592676],[-59.514209,-51.626563],[-59.573193,-51.680859],[-59.714893,-51.807715],[-59.921387,-51.969531],[-59.989746,-51.984082],[-60.132275,-51.993848],[-60.19375,-51.982715],[-60.246338,-51.986426],[-60.288281,-52.07373],[-60.353467,-52.139941],[-60.384229,-52.154004],[-60.452002,-52.160254],[-60.484082,-52.170312],[-60.508398,-52.194727],[-60.686377,-52.188379],[-60.812207,-52.147754],[-60.961426,-52.057324],[-60.7625,-51.946484],[-60.591064,-51.951562],[-60.449756,-51.877148],[-60.334473,-51.839551],[-60.288672,-51.80127],[-60.238477,-51.771973],[-60.238135,-51.733789],[-60.276514,-51.716602],[-60.32832,-51.718359],[-60.37959,-51.735156],[-60.500098,-51.756543],[-60.58252,-51.712695],[-60.528076,-51.696387],[-60.467236,-51.697168],[-60.280957,-51.656055],[-60.245166,-51.638867],[-60.302637,-51.580469],[-60.414941,-51.54502],[-60.505811,-51.485449],[-60.522754,-51.463184],[-60.518262,-51.427832],[-60.568457,-51.357812],[-60.515723,-51.354297],[-60.445459,-51.399414],[-60.28623,-51.461914]]],[[[-61.01875,-51.785742],[-60.947266,-51.799512],[-60.875977,-51.794238],[-60.916162,-51.896973],[-60.947559,-51.946289],[-61.031982,-51.94248],[-61.115771,-51.875293],[-61.14502,-51.839453],[-61.05166,-51.813965],[-61.01875,-51.785742]]],[[[-58.438818,-52.011035],[-58.432715,-52.099023],[-58.512842,-52.071094],[-58.541406,-52.028418],[-58.49707,-51.999414],[-58.460547,-52.001563],[-58.438818,-52.011035]]],[[[-60.111719,-51.395898],[-60.248828,-51.395996],[-60.275879,-51.363184],[-60.275342,-51.280566],[-60.171387,-51.273438],[-60.069824,-51.30791],[-60.076465,-51.342578],[-60.111719,-51.395898]]],[[[-59.682666,-52.231641],[-59.746582,-52.250879],[-59.764453,-52.242188],[-59.784863,-52.204688],[-59.785937,-52.156152],[-59.793311,-52.13418],[-59.753223,-52.141406],[-59.681006,-52.180078],[-59.682666,-52.231641]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":5,"SOVEREIGNT":"United Kingdom","SOV_A3":"GB1","ADM0_DIF":1,"LEVEL":2,"TYPE":"Dependency","TLC":"1","ADMIN":"Cayman Islands","ADM0_A3":"CYM","GEOU_DIF":0,"GEOUNIT":"Cayman Islands","GU_A3":"CYM","SU_DIF":0,"SUBUNIT":"Cayman Islands","SU_A3":"CYM","BRK_DIFF":0,"NAME":"Cayman Is.","NAME_LONG":"Cayman Islands","BRK_A3":"CYM","BRK_NAME":"Cayman Is.","BRK_GROUP":null,"ABBREV":"Cym. Is.","POSTAL":"KY","FORMAL_EN":"Cayman Islands","FORMAL_FR":null,"NAME_CIAWF":"Cayman Islands","NOTE_ADM0":"U.K.","NOTE_BRK":null,"NAME_SORT":"Cayman Islands","NAME_ALT":null,"MAPCOLOR7":6,"MAPCOLOR8":6,"MAPCOLOR9":6,"MAPCOLOR13":3,"POP_EST":64948,"POP_RANK":8,"POP_YEAR":2019,"GDP_MD":5517,"GDP_YEAR":2018,"ECONOMY":"5. Emerging region: G20","INCOME_GRP":"2. High income: nonOECD","FIPS_10":"CJ","ISO_A2":"KY","ISO_A2_EH":"KY","ISO_A3":"CYM","ISO_A3_EH":"CYM","ISO_N3":"136","ISO_N3_EH":"136","UN_A3":"136","WB_A2":"KY","WB_A3":"CYM","WOE_ID":23424783,"WOE_ID_EH":23424783,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"CYM","ADM0_DIFF":null,"ADM0_TLC":"CYM","ADM0_A3_US":"CYM","ADM0_A3_FR":"CYM","ADM0_A3_RU":"CYM","ADM0_A3_ES":"CYM","ADM0_A3_CN":"CYM","ADM0_A3_TW":"CYM","ADM0_A3_IN":"CYM","ADM0_A3_NP":"CYM","ADM0_A3_PK":"CYM","ADM0_A3_DE":"CYM","ADM0_A3_GB":"CYM","ADM0_A3_BR":"CYM","ADM0_A3_IL":"CYM","ADM0_A3_PS":"CYM","ADM0_A3_SA":"CYM","ADM0_A3_EG":"CYM","ADM0_A3_MA":"CYM","ADM0_A3_PT":"CYM","ADM0_A3_AR":"CYM","ADM0_A3_JP":"CYM","ADM0_A3_KO":"CYM","ADM0_A3_VN":"CYM","ADM0_A3_TR":"CYM","ADM0_A3_ID":"CYM","ADM0_A3_PL":"CYM","ADM0_A3_GR":"CYM","ADM0_A3_IT":"CYM","ADM0_A3_NL":"CYM","ADM0_A3_SE":"CYM","ADM0_A3_BD":"CYM","ADM0_A3_UA":"CYM","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"North America","REGION_UN":"Americas","SUBREGION":"Caribbean","REGION_WB":"Latin America & Caribbean","NAME_LEN":10,"LONG_LEN":14,"ABBREV_LEN":8,"TINY":2,"HOMEPART":-99,"MIN_ZOOM":0,"MIN_LABEL":5,"MAX_LABEL":9.5,"LABEL_X":-81.24055,"LABEL_Y":19.319862,"NE_ID":1159320707,"WIKIDATAID":"Q5785","NAME_AR":"جزر كايمان","NAME_BN":"কেইম্যান দ্বীপপুঞ্জ","NAME_DE":"Cayman Islands","NAME_EN":"Cayman Islands","NAME_ES":"Islas Caimán","NAME_FA":"جزایر کیمن","NAME_FR":"îles Caïmans","NAME_EL":"Νησιά Καϋμάν","NAME_HE":"איי קיימן","NAME_HI":"केमन द्वीपसमूह","NAME_HU":"Kajmán-szigetek","NAME_ID":"Kepulauan Cayman","NAME_IT":"Isole Cayman","NAME_JA":"ケイマン諸島","NAME_KO":"케이맨 제도","NAME_NL":"Kaaimaneilanden","NAME_PL":"Kajmany","NAME_PT":"Ilhas Caimão","NAME_RU":"острова Кайман","NAME_SV":"Caymanöarna","NAME_TR":"Cayman Adaları","NAME_UK":"Кайманові острови","NAME_UR":"جزائر کیمین","NAME_VI":"Quần đảo Cayman","NAME_ZH":"开曼群岛","NAME_ZHT":"開曼群島","FCLASS_ISO":"Admin-0 dependency","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 dependency","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[-81.419092,19.271875,-79.742285,19.765723],"geometry":{"type":"MultiPolygon","coordinates":[[[[-81.369531,19.348877],[-81.337256,19.329492],[-81.296484,19.341357],[-81.284814,19.362549],[-81.130469,19.346777],[-81.107129,19.305176],[-81.224609,19.304102],[-81.277295,19.277393],[-81.303711,19.271875],[-81.404785,19.278418],[-81.419092,19.374756],[-81.391016,19.384912],[-81.369531,19.348877]]],[[[-79.979004,19.708203],[-79.98877,19.702539],[-80.020752,19.706836],[-80.094189,19.665918],[-80.125879,19.668359],[-80.116113,19.682666],[-80.100928,19.696094],[-80.083643,19.706104],[-80.067578,19.709961],[-80.016211,19.718262],[-79.991846,19.719287],[-79.975098,19.709961],[-79.979004,19.708203]]],[[[-79.823389,19.711914],[-79.870068,19.69668],[-79.906201,19.702539],[-79.824219,19.744092],[-79.803125,19.758105],[-79.785156,19.765625],[-79.766357,19.765723],[-79.742285,19.757129],[-79.742285,19.750879],[-79.823389,19.711914]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":3,"LABELRANK":6,"SOVEREIGNT":"United Kingdom","SOV_A3":"GB1","ADM0_DIF":1,"LEVEL":2,"TYPE":"Dependency","TLC":"1","ADMIN":"Bermuda","ADM0_A3":"BMU","GEOU_DIF":0,"GEOUNIT":"Bermuda","GU_A3":"BMU","SU_DIF":0,"SUBUNIT":"Bermuda","SU_A3":"BMU","BRK_DIFF":0,"NAME":"Bermuda","NAME_LONG":"Bermuda","BRK_A3":"BMU","BRK_NAME":"Bermuda","BRK_GROUP":null,"ABBREV":"Berm.","POSTAL":"BM","FORMAL_EN":"The Bermudas or Somers Isles","FORMAL_FR":null,"NAME_CIAWF":"Bermuda","NOTE_ADM0":"U.K.","NOTE_BRK":null,"NAME_SORT":"Bermuda","NAME_ALT":null,"MAPCOLOR7":6,"MAPCOLOR8":6,"MAPCOLOR9":6,"MAPCOLOR13":3,"POP_EST":63918,"POP_RANK":8,"POP_YEAR":2019,"GDP_MD":7484,"GDP_YEAR":2019,"ECONOMY":"2. Developed region: nonG7","INCOME_GRP":"2. High income: nonOECD","FIPS_10":"BD","ISO_A2":"BM","ISO_A2_EH":"BM","ISO_A3":"BMU","ISO_A3_EH":"BMU","ISO_N3":"060","ISO_N3_EH":"060","UN_A3":"060","WB_A2":"BM","WB_A3":"BMU","WOE_ID":23424756,"WOE_ID_EH":23424756,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"BMU","ADM0_DIFF":null,"ADM0_TLC":"BMU","ADM0_A3_US":"BMU","ADM0_A3_FR":"BMU","ADM0_A3_RU":"BMU","ADM0_A3_ES":"BMU","ADM0_A3_CN":"BMU","ADM0_A3_TW":"BMU","ADM0_A3_IN":"BMU","ADM0_A3_NP":"BMU","ADM0_A3_PK":"BMU","ADM0_A3_DE":"BMU","ADM0_A3_GB":"BMU","ADM0_A3_BR":"BMU","ADM0_A3_IL":"BMU","ADM0_A3_PS":"BMU","ADM0_A3_SA":"BMU","ADM0_A3_EG":"BMU","ADM0_A3_MA":"BMU","ADM0_A3_PT":"BMU","ADM0_A3_AR":"BMU","ADM0_A3_JP":"BMU","ADM0_A3_KO":"BMU","ADM0_A3_VN":"BMU","ADM0_A3_TR":"BMU","ADM0_A3_ID":"BMU","ADM0_A3_PL":"BMU","ADM0_A3_GR":"BMU","ADM0_A3_IT":"BMU","ADM0_A3_NL":"BMU","ADM0_A3_SE":"BMU","ADM0_A3_BD":"BMU","ADM0_A3_UA":"BMU","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"North America","REGION_UN":"Americas","SUBREGION":"Northern America","REGION_WB":"North America","NAME_LEN":7,"LONG_LEN":7,"ABBREV_LEN":5,"TINY":4,"HOMEPART":-99,"MIN_ZOOM":0,"MIN_LABEL":4,"MAX_LABEL":9,"LABEL_X":-64.763573,"LABEL_Y":32.296592,"NE_ID":1159320705,"WIKIDATAID":"Q23635","NAME_AR":"برمودا","NAME_BN":"বারমুডা","NAME_DE":"Bermuda","NAME_EN":"Bermuda","NAME_ES":"Bermudas","NAME_FA":"برمودا","NAME_FR":"Bermudes","NAME_EL":"Βερμούδες","NAME_HE":"ברמודה","NAME_HI":"बरमूडा","NAME_HU":"Bermuda","NAME_ID":"Bermuda","NAME_IT":"Bermuda","NAME_JA":"バミューダ諸島","NAME_KO":"버뮤다","NAME_NL":"Bermuda","NAME_PL":"Bermudy","NAME_PT":"Bermudas","NAME_RU":"Бермудские Острова","NAME_SV":"Bermuda","NAME_TR":"Bermuda","NAME_UK":"Бермудські острови","NAME_UR":"برمودا","NAME_VI":"Bermuda","NAME_ZH":"百慕大","NAME_ZHT":"百慕達","FCLASS_ISO":"Admin-0 dependency","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 dependency","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[-64.862842,32.259619,-64.668311,32.386914],"geometry":{"type":"Polygon","coordinates":[[[-64.730273,32.293457],[-64.820117,32.259619],[-64.845068,32.262305],[-64.862842,32.273877],[-64.771191,32.307715],[-64.694629,32.386914],[-64.668311,32.381934],[-64.730273,32.293457]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":3,"LABELRANK":6,"SOVEREIGNT":"United Kingdom","SOV_A3":"GB1","ADM0_DIF":1,"LEVEL":2,"TYPE":"Dependency","TLC":"1","ADMIN":"British Virgin Islands","ADM0_A3":"VGB","GEOU_DIF":0,"GEOUNIT":"British Virgin Islands","GU_A3":"VGB","SU_DIF":0,"SUBUNIT":"British Virgin Islands","SU_A3":"VGB","BRK_DIFF":0,"NAME":"British Virgin Is.","NAME_LONG":"British Virgin Islands","BRK_A3":"VGB","BRK_NAME":"British Virgin Is.","BRK_GROUP":null,"ABBREV":"V.I. (Br.)","POSTAL":"VG","FORMAL_EN":"British Virgin Islands","FORMAL_FR":null,"NAME_CIAWF":"British Virgin Islands","NOTE_ADM0":"U.K.","NOTE_BRK":null,"NAME_SORT":"British Virgin Islands","NAME_ALT":null,"MAPCOLOR7":6,"MAPCOLOR8":6,"MAPCOLOR9":6,"MAPCOLOR13":3,"POP_EST":30030,"POP_RANK":7,"POP_YEAR":2019,"GDP_MD":500,"GDP_YEAR":2017,"ECONOMY":"2. Developed region: nonG7","INCOME_GRP":"1. High income: OECD","FIPS_10":"VI","ISO_A2":"VG","ISO_A2_EH":"VG","ISO_A3":"VGB","ISO_A3_EH":"VGB","ISO_N3":"092","ISO_N3_EH":"092","UN_A3":"092","WB_A2":"-99","WB_A3":"-99","WOE_ID":23424983,"WOE_ID_EH":23424983,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"VGB","ADM0_DIFF":null,"ADM0_TLC":"VGB","ADM0_A3_US":"VGB","ADM0_A3_FR":"VGB","ADM0_A3_RU":"VGB","ADM0_A3_ES":"VGB","ADM0_A3_CN":"VGB","ADM0_A3_TW":"VGB","ADM0_A3_IN":"VGB","ADM0_A3_NP":"VGB","ADM0_A3_PK":"VGB","ADM0_A3_DE":"VGB","ADM0_A3_GB":"VGB","ADM0_A3_BR":"VGB","ADM0_A3_IL":"VGB","ADM0_A3_PS":"VGB","ADM0_A3_SA":"VGB","ADM0_A3_EG":"VGB","ADM0_A3_MA":"VGB","ADM0_A3_PT":"VGB","ADM0_A3_AR":"VGB","ADM0_A3_JP":"VGB","ADM0_A3_KO":"VGB","ADM0_A3_VN":"VGB","ADM0_A3_TR":"VGB","ADM0_A3_ID":"VGB","ADM0_A3_PL":"VGB","ADM0_A3_GR":"VGB","ADM0_A3_IT":"VGB","ADM0_A3_NL":"VGB","ADM0_A3_SE":"VGB","ADM0_A3_BD":"VGB","ADM0_A3_UA":"VGB","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"North America","REGION_UN":"Americas","SUBREGION":"Caribbean","REGION_WB":"Latin America & Caribbean","NAME_LEN":18,"LONG_LEN":22,"ABBREV_LEN":10,"TINY":3,"HOMEPART":-99,"MIN_ZOOM":0,"MIN_LABEL":5,"MAX_LABEL":9.5,"LABEL_X":-64.63661,"LABEL_Y":18.426606,"NE_ID":1159320739,"WIKIDATAID":"Q25305","NAME_AR":"جزر العذراء البريطانية","NAME_BN":"ব্রিটিশ ভার্জিন দ্বীপপুঞ্জ","NAME_DE":"Britische Jungferninseln","NAME_EN":"British Virgin Islands","NAME_ES":"Islas Vírgenes Británicas","NAME_FA":"جزایر ویرجین بریتانیا","NAME_FR":"îles Vierges britanniques","NAME_EL":"Βρετανικές Παρθένοι Νήσοι","NAME_HE":"איי הבתולה הבריטיים","NAME_HI":"ब्रिटिश वर्जिन द्वीपसमूह","NAME_HU":"Brit Virgin-szigetek","NAME_ID":"Kepulauan Virgin Britania Raya","NAME_IT":"Isole Vergini britanniche","NAME_JA":"イギリス領ヴァージン諸島","NAME_KO":"영국령 버진아일랜드","NAME_NL":"Britse Maagdeneilanden","NAME_PL":"Brytyjskie Wyspy Dziewicze","NAME_PT":"Ilhas Virgens Britânicas","NAME_RU":"Британские Виргинские острова","NAME_SV":"Brittiska Jungfruöarna","NAME_TR":"Britanya Virjin Adaları","NAME_UK":"Британські Віргінські острови","NAME_UR":"برطانوی جزائر ورجن","NAME_VI":"Quần đảo Virgin thuộc Anh","NAME_ZH":"英属维尔京群岛","NAME_ZHT":"英屬維京群島","FCLASS_ISO":"Admin-0 dependency","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 dependency","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[-64.695117,18.399121,-64.273584,18.752686],"geometry":{"type":"MultiPolygon","coordinates":[[[[-64.395215,18.4646],[-64.421143,18.457422],[-64.438037,18.458984],[-64.44375,18.473389],[-64.426074,18.513086],[-64.324658,18.51748],[-64.395215,18.4646]]],[[[-64.593652,18.402832],[-64.671826,18.399121],[-64.695117,18.41167],[-64.650977,18.442529],[-64.569141,18.446289],[-64.545166,18.438135],[-64.593652,18.402832]]],[[[-64.287891,18.740576],[-64.273584,18.707129],[-64.282324,18.707715],[-64.339453,18.730713],[-64.383398,18.732617],[-64.401465,18.738574],[-64.411426,18.751172],[-64.323096,18.752686],[-64.287891,18.740576]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":3,"LABELRANK":6,"SOVEREIGNT":"United Kingdom","SOV_A3":"GB1","ADM0_DIF":1,"LEVEL":2,"TYPE":"Dependency","TLC":"1","ADMIN":"Turks and Caicos Islands","ADM0_A3":"TCA","GEOU_DIF":0,"GEOUNIT":"Turks and Caicos Islands","GU_A3":"TCA","SU_DIF":0,"SUBUNIT":"Turks and Caicos Islands","SU_A3":"TCA","BRK_DIFF":0,"NAME":"Turks and Caicos Is.","NAME_LONG":"Turks and Caicos Islands","BRK_A3":"TCA","BRK_NAME":"Turks and Caicos Is.","BRK_GROUP":null,"ABBREV":"T.C. Is.","POSTAL":"TC","FORMAL_EN":"Turks and Caicos Islands","FORMAL_FR":null,"NAME_CIAWF":"Turks and Caicos Islands","NOTE_ADM0":"U.K.","NOTE_BRK":null,"NAME_SORT":"Turks and Caicos Islands","NAME_ALT":null,"MAPCOLOR7":6,"MAPCOLOR8":6,"MAPCOLOR9":6,"MAPCOLOR13":3,"POP_EST":38191,"POP_RANK":7,"POP_YEAR":2019,"GDP_MD":1197,"GDP_YEAR":2019,"ECONOMY":"6. Developing region","INCOME_GRP":"2. High income: nonOECD","FIPS_10":"TK","ISO_A2":"TC","ISO_A2_EH":"TC","ISO_A3":"TCA","ISO_A3_EH":"TCA","ISO_N3":"796","ISO_N3_EH":"796","UN_A3":"796","WB_A2":"TC","WB_A3":"TCA","WOE_ID":23424962,"WOE_ID_EH":23424962,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"TCA","ADM0_DIFF":null,"ADM0_TLC":"TCA","ADM0_A3_US":"TCA","ADM0_A3_FR":"TCA","ADM0_A3_RU":"TCA","ADM0_A3_ES":"TCA","ADM0_A3_CN":"TCA","ADM0_A3_TW":"TCA","ADM0_A3_IN":"TCA","ADM0_A3_NP":"TCA","ADM0_A3_PK":"TCA","ADM0_A3_DE":"TCA","ADM0_A3_GB":"TCA","ADM0_A3_BR":"TCA","ADM0_A3_IL":"TCA","ADM0_A3_PS":"TCA","ADM0_A3_SA":"TCA","ADM0_A3_EG":"TCA","ADM0_A3_MA":"TCA","ADM0_A3_PT":"TCA","ADM0_A3_AR":"TCA","ADM0_A3_JP":"TCA","ADM0_A3_KO":"TCA","ADM0_A3_VN":"TCA","ADM0_A3_TR":"TCA","ADM0_A3_ID":"TCA","ADM0_A3_PL":"TCA","ADM0_A3_GR":"TCA","ADM0_A3_IT":"TCA","ADM0_A3_NL":"TCA","ADM0_A3_SE":"TCA","ADM0_A3_BD":"TCA","ADM0_A3_UA":"TCA","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"North America","REGION_UN":"Americas","SUBREGION":"Caribbean","REGION_WB":"Latin America & Caribbean","NAME_LEN":20,"LONG_LEN":24,"ABBREV_LEN":8,"TINY":-99,"HOMEPART":-99,"MIN_ZOOM":0,"MIN_LABEL":5,"MAX_LABEL":10,"LABEL_X":-71.752704,"LABEL_Y":21.81663,"NE_ID":1159320737,"WIKIDATAID":"Q18221","NAME_AR":"جزر توركس وكايكوس","NAME_BN":"টার্কস ও কেইকোস দ্বীপপুঞ্জ","NAME_DE":"Turks- und Caicosinseln","NAME_EN":"Turks and Caicos Islands","NAME_ES":"Islas Turcas y Caicos","NAME_FA":"جزایر تورکس و کایکوس","NAME_FR":"îles Turques-et-Caïques","NAME_EL":"Τερκ και Κάικος","NAME_HE":"איי טרקס וקייקוס","NAME_HI":"तुर्क और केकोस द्वीपसमूह","NAME_HU":"Turks- és Caicos-szigetek","NAME_ID":"Kepulauan Turks dan Caicos","NAME_IT":"Turks e Caicos","NAME_JA":"タークス・カイコス諸島","NAME_KO":"터크스 케이커스 제도","NAME_NL":"Turks- en Caicoseilanden","NAME_PL":"Turks i Caicos","NAME_PT":"Turks e Caicos","NAME_RU":"Тёркс и Кайкос","NAME_SV":"Turks- och Caicosöarna","NAME_TR":"Turks ve Caicos Adaları","NAME_UK":"Острови Теркс і Кайкос","NAME_UR":"جزائر کیکس و ترکیہ","NAME_VI":"Quần đảo Turks và Caicos","NAME_ZH":"特克斯和凯科斯群岛","NAME_ZHT":"土克凱可群島","FCLASS_ISO":"Admin-0 dependency","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 dependency","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[-72.342383,21.751709,-71.636914,21.951904],"geometry":{"type":"MultiPolygon","coordinates":[[[[-71.661426,21.765234],[-71.665381,21.751709],[-71.721777,21.790234],[-71.83042,21.790625],[-71.847656,21.843457],[-71.806152,21.8521],[-71.668359,21.833447],[-71.636914,21.787549],[-71.661426,21.765234]]],[[[-71.879932,21.84043],[-71.897461,21.829883],[-71.955469,21.864404],[-71.96377,21.892041],[-71.984521,21.893408],[-72.019043,21.918262],[-72.010645,21.950439],[-71.931543,21.951904],[-71.899609,21.8625],[-71.879932,21.84043]]],[[[-72.332812,21.851367],[-72.218652,21.796289],[-72.149805,21.804492],[-72.144336,21.792725],[-72.181543,21.780029],[-72.190674,21.769775],[-72.300879,21.755225],[-72.335449,21.758008],[-72.342383,21.795312],[-72.332812,21.851367]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":3,"LABELRANK":6,"SOVEREIGNT":"United Kingdom","SOV_A3":"GB1","ADM0_DIF":1,"LEVEL":2,"TYPE":"Dependency","TLC":"1","ADMIN":"Montserrat","ADM0_A3":"MSR","GEOU_DIF":0,"GEOUNIT":"Montserrat","GU_A3":"MSR","SU_DIF":0,"SUBUNIT":"Montserrat","SU_A3":"MSR","BRK_DIFF":0,"NAME":"Montserrat","NAME_LONG":"Montserrat","BRK_A3":"MSR","BRK_NAME":"Montserrat","BRK_GROUP":null,"ABBREV":"Monts.","POSTAL":"MS","FORMAL_EN":null,"FORMAL_FR":null,"NAME_CIAWF":"Montserrat","NOTE_ADM0":"U.K.","NOTE_BRK":null,"NAME_SORT":"Montserrat","NAME_ALT":null,"MAPCOLOR7":6,"MAPCOLOR8":6,"MAPCOLOR9":6,"MAPCOLOR13":3,"POP_EST":4649,"POP_RANK":4,"POP_YEAR":2019,"GDP_MD":44,"GDP_YEAR":2006,"ECONOMY":"6. Developing region","INCOME_GRP":"4. Lower middle income","FIPS_10":"MH","ISO_A2":"MS","ISO_A2_EH":"MS","ISO_A3":"MSR","ISO_A3_EH":"MSR","ISO_N3":"500","ISO_N3_EH":"500","UN_A3":"500","WB_A2":"-99","WB_A3":"-99","WOE_ID":23424888,"WOE_ID_EH":23424888,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"MSR","ADM0_DIFF":null,"ADM0_TLC":"MSR","ADM0_A3_US":"MSR","ADM0_A3_FR":"MSR","ADM0_A3_RU":"MSR","ADM0_A3_ES":"MSR","ADM0_A3_CN":"MSR","ADM0_A3_TW":"MSR","ADM0_A3_IN":"MSR","ADM0_A3_NP":"MSR","ADM0_A3_PK":"MSR","ADM0_A3_DE":"MSR","ADM0_A3_GB":"MSR","ADM0_A3_BR":"MSR","ADM0_A3_IL":"MSR","ADM0_A3_PS":"MSR","ADM0_A3_SA":"MSR","ADM0_A3_EG":"MSR","ADM0_A3_MA":"MSR","ADM0_A3_PT":"MSR","ADM0_A3_AR":"MSR","ADM0_A3_JP":"MSR","ADM0_A3_KO":"MSR","ADM0_A3_VN":"MSR","ADM0_A3_TR":"MSR","ADM0_A3_ID":"MSR","ADM0_A3_PL":"MSR","ADM0_A3_GR":"MSR","ADM0_A3_IT":"MSR","ADM0_A3_NL":"MSR","ADM0_A3_SE":"MSR","ADM0_A3_BD":"MSR","ADM0_A3_UA":"MSR","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"North America","REGION_UN":"Americas","SUBREGION":"Caribbean","REGION_WB":"Latin America & Caribbean","NAME_LEN":10,"LONG_LEN":10,"ABBREV_LEN":6,"TINY":6,"HOMEPART":-99,"MIN_ZOOM":0,"MIN_LABEL":5,"MAX_LABEL":10,"LABEL_X":-62.188252,"LABEL_Y":16.73717,"NE_ID":1159320727,"WIKIDATAID":"Q13353","NAME_AR":"مونتسرات","NAME_BN":"মন্টসেরাট","NAME_DE":"Montserrat","NAME_EN":"Montserrat","NAME_ES":"Montserrat","NAME_FA":"مونتسرات","NAME_FR":"Montserrat","NAME_EL":"Μοντσερράτ","NAME_HE":"מונטסראט","NAME_HI":"मॉण्टसेराट","NAME_HU":"Montserrat","NAME_ID":"Montserrat","NAME_IT":"Montserrat","NAME_JA":"モントセラト","NAME_KO":"몬트세랫","NAME_NL":"Montserrat","NAME_PL":"Montserrat","NAME_PT":"Montserrat","NAME_RU":"Монтсеррат","NAME_SV":"Montserrat","NAME_TR":"Montserrat","NAME_UK":"Монтсеррат","NAME_UR":"مانٹسریٹ","NAME_VI":"Montserrat","NAME_ZH":"蒙特塞拉特","NAME_ZHT":"蒙哲臘","FCLASS_ISO":"Admin-0 dependency","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 dependency","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[-62.223047,16.681201,-62.148438,16.80957],"geometry":{"type":"Polygon","coordinates":[[[-62.148438,16.740332],[-62.154248,16.681201],[-62.221631,16.699512],[-62.223047,16.751562],[-62.191357,16.804395],[-62.175781,16.80957],[-62.148438,16.740332]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":4,"LABELRANK":6,"SOVEREIGNT":"United Kingdom","SOV_A3":"GB1","ADM0_DIF":1,"LEVEL":2,"TYPE":"Country","TLC":"1","ADMIN":"Jersey","ADM0_A3":"JEY","GEOU_DIF":0,"GEOUNIT":"Jersey","GU_A3":"JEY","SU_DIF":0,"SUBUNIT":"Jersey","SU_A3":"JEY","BRK_DIFF":0,"NAME":"Jersey","NAME_LONG":"Jersey","BRK_A3":"JEY","BRK_NAME":"Jersey","BRK_GROUP":"Channel Islands","ABBREV":"Jey.","POSTAL":"JE","FORMAL_EN":"Bailiwick of Jersey","FORMAL_FR":null,"NAME_CIAWF":"Jersey","NOTE_ADM0":"U.K.","NOTE_BRK":"U.K. crown dependency","NAME_SORT":"Jersey","NAME_ALT":null,"MAPCOLOR7":6,"MAPCOLOR8":6,"MAPCOLOR9":6,"MAPCOLOR13":3,"POP_EST":107800,"POP_RANK":9,"POP_YEAR":2019,"GDP_MD":5080,"GDP_YEAR":2015,"ECONOMY":"2. Developed region: nonG7","INCOME_GRP":"2. High income: nonOECD","FIPS_10":"JE","ISO_A2":"JE","ISO_A2_EH":"JE","ISO_A3":"JEY","ISO_A3_EH":"JEY","ISO_N3":"832","ISO_N3_EH":"832","UN_A3":"832","WB_A2":"JG","WB_A3":"CHI","WOE_ID":23424857,"WOE_ID_EH":23424857,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"JEY","ADM0_DIFF":null,"ADM0_TLC":"JEY","ADM0_A3_US":"JEY","ADM0_A3_FR":"JEY","ADM0_A3_RU":"JEY","ADM0_A3_ES":"JEY","ADM0_A3_CN":"JEY","ADM0_A3_TW":"JEY","ADM0_A3_IN":"JEY","ADM0_A3_NP":"JEY","ADM0_A3_PK":"JEY","ADM0_A3_DE":"JEY","ADM0_A3_GB":"JEY","ADM0_A3_BR":"JEY","ADM0_A3_IL":"JEY","ADM0_A3_PS":"JEY","ADM0_A3_SA":"JEY","ADM0_A3_EG":"JEY","ADM0_A3_MA":"JEY","ADM0_A3_PT":"JEY","ADM0_A3_AR":"JEY","ADM0_A3_JP":"JEY","ADM0_A3_KO":"JEY","ADM0_A3_VN":"JEY","ADM0_A3_TR":"JEY","ADM0_A3_ID":"JEY","ADM0_A3_PL":"JEY","ADM0_A3_GR":"JEY","ADM0_A3_IT":"JEY","ADM0_A3_NL":"JEY","ADM0_A3_SE":"JEY","ADM0_A3_BD":"JEY","ADM0_A3_UA":"JEY","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Europe","REGION_UN":"Europe","SUBREGION":"Northern Europe","REGION_WB":"Europe & Central Asia","NAME_LEN":6,"LONG_LEN":6,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":-99,"MIN_ZOOM":0,"MIN_LABEL":5,"MAX_LABEL":10,"LABEL_X":-2.090146,"LABEL_Y":49.220808,"NE_ID":1159320725,"WIKIDATAID":"Q785","NAME_AR":"جيرزي","NAME_BN":"জার্সি","NAME_DE":"Jersey","NAME_EN":"Jersey","NAME_ES":"Jersey","NAME_FA":"جرزی","NAME_FR":"Jersey","NAME_EL":"Τζέρσεϊ","NAME_HE":"ג'רזי","NAME_HI":"जर्सी","NAME_HU":"Jersey","NAME_ID":"Jersey","NAME_IT":"baliato di Jersey","NAME_JA":"ジャージー","NAME_KO":"저지섬","NAME_NL":"Jersey","NAME_PL":"Jersey","NAME_PT":"Jersey","NAME_RU":"Джерси","NAME_SV":"Jersey","NAME_TR":"Jersey","NAME_UK":"Джерсі","NAME_UR":"جرزی","NAME_VI":"Jersey","NAME_ZH":"泽西","NAME_ZHT":"澤西","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[-2.23584,49.169824,-2.009912,49.266357],"geometry":{"type":"Polygon","coordinates":[[[-2.018652,49.23125],[-2.009912,49.180811],[-2.05376,49.169824],[-2.091016,49.187402],[-2.165674,49.187402],[-2.23584,49.176367],[-2.220508,49.266357],[-2.082227,49.255371],[-2.018652,49.23125]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":4,"LABELRANK":6,"SOVEREIGNT":"United Kingdom","SOV_A3":"GB1","ADM0_DIF":1,"LEVEL":2,"TYPE":"Country","TLC":"1","ADMIN":"Guernsey","ADM0_A3":"GGY","GEOU_DIF":0,"GEOUNIT":"Guernsey","GU_A3":"GGY","SU_DIF":0,"SUBUNIT":"Guernsey","SU_A3":"GGY","BRK_DIFF":0,"NAME":"Guernsey","NAME_LONG":"Guernsey","BRK_A3":"GGY","BRK_NAME":"Guernsey","BRK_GROUP":"Channel Islands","ABBREV":"Guern.","POSTAL":"GG","FORMAL_EN":"Bailiwick of Guernsey","FORMAL_FR":null,"NAME_CIAWF":"Guernsey","NOTE_ADM0":"U.K.","NOTE_BRK":"U.K. crown dependency","NAME_SORT":"Guernsey","NAME_ALT":null,"MAPCOLOR7":6,"MAPCOLOR8":6,"MAPCOLOR9":6,"MAPCOLOR13":3,"POP_EST":62792,"POP_RANK":8,"POP_YEAR":2019,"GDP_MD":3465,"GDP_YEAR":2015,"ECONOMY":"2. Developed region: nonG7","INCOME_GRP":"2. High income: nonOECD","FIPS_10":"GK","ISO_A2":"GG","ISO_A2_EH":"GG","ISO_A3":"GGY","ISO_A3_EH":"GGY","ISO_N3":"831","ISO_N3_EH":"831","UN_A3":"831","WB_A2":"JG","WB_A3":"CHI","WOE_ID":23424827,"WOE_ID_EH":23424827,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"GGY","ADM0_DIFF":null,"ADM0_TLC":"GGY","ADM0_A3_US":"GGY","ADM0_A3_FR":"GGY","ADM0_A3_RU":"GGY","ADM0_A3_ES":"GGY","ADM0_A3_CN":"GGY","ADM0_A3_TW":"GGY","ADM0_A3_IN":"GGY","ADM0_A3_NP":"GGY","ADM0_A3_PK":"GGY","ADM0_A3_DE":"GGY","ADM0_A3_GB":"GGY","ADM0_A3_BR":"GGY","ADM0_A3_IL":"GGY","ADM0_A3_PS":"GGY","ADM0_A3_SA":"GGY","ADM0_A3_EG":"GGY","ADM0_A3_MA":"GGY","ADM0_A3_PT":"GGY","ADM0_A3_AR":"GGY","ADM0_A3_JP":"GGY","ADM0_A3_KO":"GGY","ADM0_A3_VN":"GGY","ADM0_A3_TR":"GGY","ADM0_A3_ID":"GGY","ADM0_A3_PL":"GGY","ADM0_A3_GR":"GGY","ADM0_A3_IT":"GGY","ADM0_A3_NL":"GGY","ADM0_A3_SE":"GGY","ADM0_A3_BD":"GGY","ADM0_A3_UA":"GGY","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Europe","REGION_UN":"Europe","SUBREGION":"Northern Europe","REGION_WB":"Europe & Central Asia","NAME_LEN":8,"LONG_LEN":8,"ABBREV_LEN":6,"TINY":-99,"HOMEPART":-99,"MIN_ZOOM":0,"MIN_LABEL":5,"MAX_LABEL":10,"LABEL_X":-2.561736,"LABEL_Y":49.463533,"NE_ID":1159320715,"WIKIDATAID":"Q25230","NAME_AR":"غيرنزي","NAME_BN":"গার্নসি","NAME_DE":"Guernsey","NAME_EN":"Guernsey","NAME_ES":"Guernsey","NAME_FA":"گرنزی","NAME_FR":"Guernesey","NAME_EL":"Γκέρνσεϊ","NAME_HE":"גרנזי","NAME_HI":"ग्वेर्नसे","NAME_HU":"Guernsey Bailiffség","NAME_ID":"Guernsey","NAME_IT":"Guernsey","NAME_JA":"ガーンジー","NAME_KO":"건지섬","NAME_NL":"Guernsey","NAME_PL":"Guernsey","NAME_PT":"Guernsey","NAME_RU":"Гернси","NAME_SV":"Guernsey","NAME_TR":"Guernsey","NAME_UK":"Гернсі","NAME_UR":"گرنزی","NAME_VI":"Guernsey","NAME_ZH":"根西","NAME_ZHT":"根西","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[-2.646143,49.428711,-2.512305,49.506592],"geometry":{"type":"Polygon","coordinates":[[[-2.512305,49.494531],[-2.547363,49.428711],[-2.639014,49.450928],[-2.646143,49.468213],[-2.542187,49.506592],[-2.520898,49.506299],[-2.512305,49.494531]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":3,"LABELRANK":6,"SOVEREIGNT":"United Kingdom","SOV_A3":"GB1","ADM0_DIF":1,"LEVEL":2,"TYPE":"Country","TLC":"1","ADMIN":"Isle of Man","ADM0_A3":"IMN","GEOU_DIF":0,"GEOUNIT":"Isle of Man","GU_A3":"IMN","SU_DIF":0,"SUBUNIT":"Isle of Man","SU_A3":"IMN","BRK_DIFF":0,"NAME":"Isle of Man","NAME_LONG":"Isle of Man","BRK_A3":"IMN","BRK_NAME":"Isle of Man","BRK_GROUP":null,"ABBREV":"IoMan","POSTAL":"IM","FORMAL_EN":null,"FORMAL_FR":null,"NAME_CIAWF":"Isle of Man","NOTE_ADM0":"U.K.","NOTE_BRK":"U.K. crown dependency","NAME_SORT":"Isle of Man","NAME_ALT":null,"MAPCOLOR7":6,"MAPCOLOR8":6,"MAPCOLOR9":6,"MAPCOLOR13":3,"POP_EST":84584,"POP_RANK":8,"POP_YEAR":2019,"GDP_MD":7491,"GDP_YEAR":2018,"ECONOMY":"2. Developed region: nonG7","INCOME_GRP":"2. High income: nonOECD","FIPS_10":"IM","ISO_A2":"IM","ISO_A2_EH":"IM","ISO_A3":"IMN","ISO_A3_EH":"IMN","ISO_N3":"833","ISO_N3_EH":"833","UN_A3":"833","WB_A2":"IM","WB_A3":"IMY","WOE_ID":23424847,"WOE_ID_EH":23424847,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"IMN","ADM0_DIFF":null,"ADM0_TLC":"IMN","ADM0_A3_US":"IMN","ADM0_A3_FR":"IMN","ADM0_A3_RU":"IMN","ADM0_A3_ES":"IMN","ADM0_A3_CN":"IMN","ADM0_A3_TW":"IMN","ADM0_A3_IN":"IMN","ADM0_A3_NP":"IMN","ADM0_A3_PK":"IMN","ADM0_A3_DE":"IMN","ADM0_A3_GB":"IMN","ADM0_A3_BR":"IMN","ADM0_A3_IL":"IMN","ADM0_A3_PS":"IMN","ADM0_A3_SA":"IMN","ADM0_A3_EG":"IMN","ADM0_A3_MA":"IMN","ADM0_A3_PT":"IMN","ADM0_A3_AR":"IMN","ADM0_A3_JP":"IMN","ADM0_A3_KO":"IMN","ADM0_A3_VN":"IMN","ADM0_A3_TR":"IMN","ADM0_A3_ID":"IMN","ADM0_A3_PL":"IMN","ADM0_A3_GR":"IMN","ADM0_A3_IT":"IMN","ADM0_A3_NL":"IMN","ADM0_A3_SE":"IMN","ADM0_A3_BD":"IMN","ADM0_A3_UA":"IMN","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Europe","REGION_UN":"Europe","SUBREGION":"Northern Europe","REGION_WB":"Europe & Central Asia","NAME_LEN":11,"LONG_LEN":11,"ABBREV_LEN":5,"TINY":-99,"HOMEPART":-99,"MIN_ZOOM":0,"MIN_LABEL":5,"MAX_LABEL":10,"LABEL_X":-4.530069,"LABEL_Y":54.220833,"NE_ID":1159320721,"WIKIDATAID":"Q9676","NAME_AR":"جزيرة مان","NAME_BN":"আইল অব ম্যান","NAME_DE":"Isle of Man","NAME_EN":"Isle of Man","NAME_ES":"Isla de Man","NAME_FA":"جزیره من","NAME_FR":"île de Man","NAME_EL":"Νήσος του Μαν","NAME_HE":"האי מאן","NAME_HI":"आइल ऑफ़ मैन","NAME_HU":"Man","NAME_ID":"Pulau Man","NAME_IT":"Isola di Man","NAME_JA":"マン島","NAME_KO":"맨섬","NAME_NL":"Man","NAME_PL":"Wyspa Man","NAME_PT":"Ilha de Man","NAME_RU":"остров Мэн","NAME_SV":"Isle of Man","NAME_TR":"Man Adası","NAME_UK":"Острів Мен","NAME_UR":"آئل آف مین","NAME_VI":"Đảo Man","NAME_ZH":"马恩岛","NAME_ZHT":"曼島","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[-4.785352,54.058691,-4.337988,54.407178],"geometry":{"type":"Polygon","coordinates":[[[-4.412061,54.185352],[-4.614258,54.058691],[-4.696094,54.081445],[-4.765771,54.069434],[-4.785352,54.073047],[-4.745557,54.118799],[-4.69873,54.224902],[-4.614844,54.266943],[-4.508643,54.376709],[-4.424707,54.407178],[-4.395557,54.40293],[-4.377197,54.392578],[-4.337988,54.269092],[-4.392285,54.225391],[-4.412061,54.185352]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":2,"SOVEREIGNT":"United Kingdom","SOV_A3":"GB1","ADM0_DIF":1,"LEVEL":2,"TYPE":"Country","TLC":"1","ADMIN":"United Kingdom","ADM0_A3":"GBR","GEOU_DIF":0,"GEOUNIT":"United Kingdom","GU_A3":"GBR","SU_DIF":0,"SUBUNIT":"United Kingdom","SU_A3":"GBR","BRK_DIFF":0,"NAME":"United Kingdom","NAME_LONG":"United Kingdom","BRK_A3":"GBR","BRK_NAME":"United Kingdom","BRK_GROUP":null,"ABBREV":"U.K.","POSTAL":"GB","FORMAL_EN":"United Kingdom of Great Britain and Northern Ireland","FORMAL_FR":null,"NAME_CIAWF":"United Kingdom","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"United Kingdom","NAME_ALT":null,"MAPCOLOR7":6,"MAPCOLOR8":6,"MAPCOLOR9":6,"MAPCOLOR13":3,"POP_EST":66834405,"POP_RANK":16,"POP_YEAR":2019,"GDP_MD":2829108,"GDP_YEAR":2019,"ECONOMY":"1. Developed region: G7","INCOME_GRP":"1. High income: OECD","FIPS_10":"UK","ISO_A2":"GB","ISO_A2_EH":"GB","ISO_A3":"GBR","ISO_A3_EH":"GBR","ISO_N3":"826","ISO_N3_EH":"826","UN_A3":"826","WB_A2":"GB","WB_A3":"GBR","WOE_ID":-90,"WOE_ID_EH":23424975,"WOE_NOTE":"Eh ID includes Channel Islands and Isle of Man. UK constituent countries of England (24554868), Wales (12578049), Scotland (12578048), and Northern Ireland (20070563).","ADM0_ISO":"GBR","ADM0_DIFF":null,"ADM0_TLC":"GBR","ADM0_A3_US":"GBR","ADM0_A3_FR":"GBR","ADM0_A3_RU":"GBR","ADM0_A3_ES":"GBR","ADM0_A3_CN":"GBR","ADM0_A3_TW":"GBR","ADM0_A3_IN":"GBR","ADM0_A3_NP":"GBR","ADM0_A3_PK":"GBR","ADM0_A3_DE":"GBR","ADM0_A3_GB":"GBR","ADM0_A3_BR":"GBR","ADM0_A3_IL":"GBR","ADM0_A3_PS":"GBR","ADM0_A3_SA":"GBR","ADM0_A3_EG":"GBR","ADM0_A3_MA":"GBR","ADM0_A3_PT":"GBR","ADM0_A3_AR":"GBR","ADM0_A3_JP":"GBR","ADM0_A3_KO":"GBR","ADM0_A3_VN":"GBR","ADM0_A3_TR":"GBR","ADM0_A3_ID":"GBR","ADM0_A3_PL":"GBR","ADM0_A3_GR":"GBR","ADM0_A3_IT":"GBR","ADM0_A3_NL":"GBR","ADM0_A3_SE":"GBR","ADM0_A3_BD":"GBR","ADM0_A3_UA":"GBR","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Europe","REGION_UN":"Europe","SUBREGION":"Northern Europe","REGION_WB":"Europe & Central Asia","NAME_LEN":14,"LONG_LEN":14,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":1.7,"MAX_LABEL":6.7,"LABEL_X":-2.116346,"LABEL_Y":54.402739,"NE_ID":1159320713,"WIKIDATAID":"Q145","NAME_AR":"المملكة المتحدة","NAME_BN":"যুক্তরাজ্য","NAME_DE":"Vereinigtes Königreich","NAME_EN":"United Kingdom","NAME_ES":"Reino Unido","NAME_FA":"بریتانیا","NAME_FR":"Royaume-Uni","NAME_EL":"Ηνωμένο Βασίλειο","NAME_HE":"הממלכה המאוחדת","NAME_HI":"यूनाइटेड किंगडम","NAME_HU":"Egyesült Királyság","NAME_ID":"Britania Raya","NAME_IT":"Regno Unito","NAME_JA":"イギリス","NAME_KO":"영국","NAME_NL":"Verenigd Koninkrijk","NAME_PL":"Wielka Brytania","NAME_PT":"Reino Unido","NAME_RU":"Великобритания","NAME_SV":"Storbritannien","NAME_TR":"Birleşik Krallık","NAME_UK":"Велика Британія","NAME_UR":"مملکت متحدہ","NAME_VI":"Vương quốc Liên hiệp Anh và Bắc Ireland","NAME_ZH":"英国","NAME_ZHT":"英國","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[-8.144824,50.021387,1.746582,60.831885],"geometry":{"type":"MultiPolygon","coordinates":[[[[-2.667676,51.622998],[-2.742139,51.581104],[-2.978516,51.538867],[-3.080371,51.495801],[-3.258789,51.398486],[-3.293115,51.39043],[-3.562354,51.413818],[-3.762695,51.539941],[-3.890771,51.59165],[-3.943652,51.59751],[-3.99834,51.582129],[-4.115283,51.566406],[-4.23457,51.569092],[-4.173682,51.627344],[-4.091016,51.659912],[-4.276172,51.68252],[-4.327637,51.700244],[-4.386279,51.741064],[-4.531494,51.748047],[-4.600781,51.737646],[-4.717627,51.683691],[-4.902295,51.62627],[-5.124756,51.705859],[-5.168359,51.740723],[-5.167236,51.808057],[-5.200586,51.861377],[-5.262305,51.880176],[-5.18335,51.949658],[-5.088086,51.995898],[-4.878516,52.041846],[-4.561133,52.150879],[-4.383154,52.197314],[-4.217725,52.277441],[-4.149365,52.32627],[-4.099756,52.393115],[-4.050537,52.475146],[-3.980322,52.541748],[-4.048437,52.557617],[-4.078906,52.607861],[-4.070703,52.658838],[-4.039258,52.704053],[-4.067432,52.760742],[-4.117529,52.82002],[-4.114746,52.866162],[-4.101465,52.915479],[-4.22915,52.912842],[-4.356445,52.897412],[-4.471826,52.862451],[-4.583691,52.814941],[-4.683057,52.806152],[-4.681445,52.844141],[-4.63833,52.891113],[-4.525684,52.958203],[-4.405078,53.013818],[-4.362207,53.056055],[-4.328418,53.105127],[-4.268555,53.144531],[-4.111035,53.218945],[-3.809277,53.302686],[-3.764209,53.307617],[-3.645898,53.2979],[-3.52959,53.310547],[-3.427734,53.340674],[-3.326172,53.347168],[-3.097559,53.260303],[-3.165576,53.394678],[-3.064746,53.426855],[-2.918555,53.305371],[-2.86416,53.292578],[-2.749512,53.310205],[-2.79375,53.330713],[-2.84541,53.331934],[-2.913086,53.350244],[-2.969971,53.389209],[-3.0646,53.512842],[-3.059473,53.58623],[-2.995703,53.662549],[-2.925098,53.732764],[-2.984326,53.746729],[-3.031787,53.773584],[-3.045361,53.843848],[-3.026758,53.905908],[-2.899854,53.960693],[-2.862402,54.043848],[-2.846484,54.135303],[-2.867578,54.177246],[-2.993506,54.170508],[-3.054736,54.153418],[-3.109668,54.126318],[-3.165967,54.12793],[-3.321533,54.229102],[-3.410254,54.305615],[-3.569385,54.467578],[-3.592041,54.564355],[-3.4646,54.773096],[-3.26792,54.906592],[-3.03623,54.953076],[-3.081055,54.961963],[-3.434082,54.96377],[-3.550439,54.947412],[-3.658301,54.892871],[-3.719238,54.876123],[-3.783252,54.869922],[-3.841602,54.842773],[-3.898584,54.805078],[-3.95791,54.780957],[-4.075781,54.787207],[-4.132959,54.779248],[-4.174023,54.801074],[-4.208398,54.837158],[-4.253418,54.846777],[-4.303662,54.835693],[-4.409912,54.787061],[-4.51748,54.75835],[-4.647559,54.789014],[-4.818066,54.846143],[-4.851709,54.825293],[-4.889502,54.772266],[-4.91123,54.689453],[-5.032324,54.761377],[-5.135498,54.85752],[-5.170117,54.91792],[-5.172705,54.985889],[-5.116699,55.012256],[-5.055859,54.988135],[-4.965186,55.149463],[-4.784814,55.359424],[-4.721143,55.420996],[-4.676758,55.501318],[-4.684375,55.553906],[-4.72417,55.598291],[-4.891846,55.699121],[-4.889648,55.781201],[-4.87168,55.873926],[-4.826074,55.929541],[-4.806836,55.940137],[-4.584082,55.938672],[-4.670947,55.967383],[-4.844092,56.051172],[-4.841016,56.080859],[-4.800293,56.15835],[-4.819141,56.150488],[-4.85625,56.114697],[-4.9271,56.028076],[-4.970361,56.007861],[-5.092822,55.987305],[-5.11499,55.944629],[-5.134668,55.933496],[-5.19585,55.928662],[-5.2146,55.888867],[-5.228223,55.886328],[-5.245605,55.929248],[-5.247314,56.000391],[-5.222949,56.06582],[-5.176416,56.116992],[-4.996973,56.23335],[-5.084326,56.197461],[-5.282324,56.089941],[-5.383447,56.019238],[-5.410449,55.995361],[-5.418896,55.975244],[-5.418311,55.952051],[-5.3729,55.827686],[-5.38584,55.770117],[-5.556445,55.3896],[-5.58877,55.351416],[-5.618457,55.331445],[-5.646533,55.326855],[-5.730664,55.334131],[-5.768213,55.362646],[-5.767871,55.394971],[-5.7521,55.443457],[-5.681348,55.623975],[-5.650635,55.674121],[-5.605029,55.720752],[-5.504492,55.802393],[-5.506934,55.807715],[-5.573877,55.791699],[-5.602393,55.796973],[-5.622852,55.813135],[-5.60957,56.055273],[-5.555273,56.134961],[-5.534961,56.25083],[-5.487891,56.350049],[-5.433398,56.422314],[-5.391943,56.514795],[-5.329443,56.555908],[-5.312695,56.618799],[-5.242578,56.686865],[-5.188379,56.758057],[-5.217578,56.751025],[-5.564209,56.565723],[-5.652441,56.531982],[-5.772803,56.541016],[-5.864844,56.561865],[-5.936768,56.605713],[-5.968896,56.689893],[-6.057715,56.692139],[-6.133691,56.706689],[-6.132764,56.718018],[-6.034717,56.763916],[-5.877637,56.779639],[-5.730615,56.853076],[-5.861426,56.902686],[-5.850391,56.918408],[-5.736279,56.960645],[-5.591309,57.102344],[-5.561914,57.232715],[-5.63125,57.293945],[-5.656348,57.334082],[-5.794922,57.378809],[-5.818066,57.436084],[-5.801953,57.468018],[-5.756738,57.499219],[-5.688623,57.523535],[-5.581787,57.546777],[-5.67876,57.57168],[-5.714941,57.601074],[-5.742383,57.643652],[-5.744922,57.668311],[-5.694727,57.778223],[-5.665479,57.823535],[-5.60835,57.881348],[-5.349023,57.878076],[-5.319189,57.903613],[-5.289795,57.90459],[-5.157227,57.881348],[-5.176904,57.906396],[-5.39375,58.043604],[-5.413184,58.069727],[-5.351367,58.143701],[-5.346875,58.17666],[-5.355957,58.211914],[-5.338281,58.238721],[-5.269531,58.251416],[-5.059961,58.250146],[-5.008301,58.262646],[-5.031836,58.298291],[-5.080615,58.345166],[-5.090137,58.384521],[-5.078711,58.419287],[-5.076025,58.489258],[-5.066504,58.520215],[-5.016748,58.566553],[-4.975635,58.580322],[-4.924658,58.588379],[-4.809619,58.5729],[-4.765771,58.554199],[-4.71543,58.51001],[-4.678223,58.513574],[-4.534961,58.561572],[-4.491895,58.568457],[-4.433252,58.512842],[-4.188623,58.557227],[-3.859521,58.5771],[-3.661816,58.606299],[-3.453564,58.616895],[-3.259131,58.65],[-3.053076,58.634814],[-3.046191,58.615527],[-3.056982,58.58877],[-3.109668,58.515479],[-3.101123,58.433691],[-3.112891,58.408887],[-3.136768,58.37832],[-3.212354,58.32124],[-3.410986,58.239648],[-3.775,58.0521],[-3.990039,57.959033],[-4.019629,57.914258],[-4.035596,57.852002],[-3.906836,57.839648],[-3.857129,57.818555],[-3.887939,57.786914],[-4.078418,57.677051],[-4.134521,57.577734],[-3.988477,57.58125],[-3.868164,57.600342],[-3.628223,57.662256],[-3.402783,57.708252],[-3.294531,57.710156],[-3.083936,57.673486],[-3.036035,57.672314],[-2.94668,57.689258],[-2.856299,57.692285],[-2.244141,57.680859],[-2.074072,57.702393],[-1.961523,57.67666],[-1.867383,57.612354],[-1.77793,57.49375],[-1.780664,57.474023],[-1.834717,57.419971],[-1.934473,57.352197],[-2.020312,57.258887],[-2.045508,57.208545],[-2.062354,57.153467],[-2.089551,57.102539],[-2.260254,56.86333],[-2.42666,56.730713],[-2.500977,56.636572],[-2.592676,56.561572],[-2.680957,56.514404],[-2.775195,56.482959],[-3.047412,56.449365],[-3.123584,56.425293],[-3.214453,56.383936],[-3.309961,56.363477],[-3.197998,56.366064],[-3.087012,56.389063],[-2.885156,56.39751],[-2.652734,56.318262],[-2.674268,56.253418],[-2.767578,56.202148],[-2.979785,56.194092],[-3.178223,56.080127],[-3.267773,56.045068],[-3.362256,56.027637],[-3.48042,56.032812],[-3.695117,56.06333],[-3.789062,56.095215],[-3.70415,56.043164],[-3.607812,56.016016],[-3.04873,55.951953],[-3.015088,55.958594],[-2.836865,56.02627],[-2.599316,56.027295],[-2.14707,55.902979],[-2.016846,55.807959],[-1.830273,55.671729],[-1.72876,55.618555],[-1.655371,55.570361],[-1.610156,55.498096],[-1.522559,55.259521],[-1.422656,55.026416],[-1.291748,54.773877],[-1.232422,54.703711],[-1.154395,54.654492],[-0.759326,54.541406],[-0.671387,54.503906],[-0.518115,54.395117],[-0.370361,54.279199],[-0.232861,54.190137],[-0.084375,54.118066],[-0.156299,54.080615],[-0.205566,54.021729],[-0.16875,53.94165],[-0.108252,53.865186],[0.010547,53.742822],[0.115332,53.609277],[0.076709,53.629443],[0.036084,53.640527],[-0.019434,53.637207],[-0.07373,53.643652],[-0.173828,53.685449],[-0.27002,53.736768],[-0.461377,53.716162],[-0.567676,53.725391],[-0.659912,53.724023],[-0.485059,53.694385],[-0.293701,53.692334],[0.12832,53.468262],[0.270996,53.335498],[0.355762,53.159961],[0.298047,53.081104],[0.208203,53.030029],[0.124414,52.971582],[0.045898,52.905615],[0.279785,52.808691],[0.330176,52.811621],[0.381934,52.825195],[0.431641,52.858154],[0.515527,52.938379],[0.558789,52.966943],[0.704492,52.977246],[0.826758,52.971094],[0.948535,52.953369],[1.055566,52.958984],[1.271289,52.924561],[1.382129,52.893506],[1.656738,52.753711],[1.716113,52.677246],[1.743359,52.578516],[1.746582,52.468994],[1.700391,52.368896],[1.647363,52.278516],[1.614648,52.161816],[1.591406,52.119775],[1.558984,52.086865],[1.413477,51.994775],[1.316797,51.956934],[1.275977,51.973535],[1.232422,51.97124],[1.227832,51.949121],[1.273828,51.9021],[1.274414,51.845361],[1.188477,51.803369],[1.101172,51.785449],[0.955078,51.807812],[0.752246,51.72959],[0.898047,51.689404],[0.927441,51.646631],[0.890918,51.571436],[0.799219,51.537891],[0.697559,51.523047],[0.593457,51.519482],[0.507227,51.501074],[0.424512,51.465625],[0.52832,51.484473],[0.600293,51.467969],[0.645508,51.404687],[0.686523,51.386572],[0.889355,51.359521],[1.014941,51.359717],[1.257129,51.375098],[1.373438,51.374707],[1.414941,51.363281],[1.415625,51.31084],[1.397559,51.182031],[1.365527,51.155469],[1.044434,51.047266],[0.978613,50.97168],[0.960156,50.925879],[0.772363,50.933984],[0.684375,50.885547],[0.532324,50.853418],[0.414746,50.819189],[0.299707,50.775977],[0.205078,50.763037],[-0.203906,50.814355],[-0.450781,50.810156],[-0.785254,50.76543],[-0.871387,50.772803],[-1.000586,50.815625],[-1.132861,50.84458],[-1.285059,50.857324],[-1.416455,50.896875],[-1.334473,50.820801],[-1.516748,50.747461],[-1.60083,50.732861],[-1.687891,50.735156],[-1.866016,50.715234],[-2.031055,50.725391],[-2.00625,50.673242],[-1.962061,50.627783],[-1.9979,50.608008],[-2.03584,50.603076],[-2.350146,50.637402],[-2.394678,50.630908],[-2.433447,50.599219],[-2.547754,50.616309],[-2.658838,50.669727],[-2.776953,50.705566],[-2.900879,50.722412],[-2.999414,50.716602],[-3.40459,50.632422],[-3.485449,50.547949],[-3.525879,50.428174],[-3.584375,50.321826],[-3.679785,50.239941],[-3.793359,50.229248],[-3.900195,50.285937],[-4.103418,50.348535],[-4.172559,50.39082],[-4.19458,50.393311],[-4.217285,50.378174],[-4.296973,50.359082],[-4.379492,50.358203],[-4.506689,50.341357],[-4.727979,50.290479],[-4.817383,50.255957],[-5.009521,50.160742],[-5.048633,50.134375],[-5.118506,50.03833],[-5.225244,50.021387],[-5.322852,50.082959],[-5.433984,50.104443],[-5.551221,50.083398],[-5.622119,50.050684],[-5.655176,50.077246],[-5.65625,50.131885],[-5.570654,50.196973],[-5.342285,50.246143],[-5.141797,50.37373],[-5.043457,50.451514],[-5.004443,50.495264],[-4.956396,50.523145],[-4.893555,50.533691],[-4.861279,50.582031],[-4.58291,50.776367],[-4.559961,50.820947],[-4.546094,50.900684],[-4.523096,50.977441],[-4.296484,51.027148],[-4.188184,51.188525],[-4.158398,51.201318],[-3.842334,51.230908],[-3.60791,51.228564],[-3.375098,51.196973],[-3.255762,51.194141],[-3.135986,51.205029],[-3.042041,51.248584],[-2.88125,51.405664],[-2.79082,51.474805],[-2.687207,51.537256],[-2.590283,51.608594],[-2.433057,51.740723],[-2.539355,51.695215],[-2.667676,51.622998]]],[[[-4.196777,53.321436],[-4.154883,53.302832],[-4.049365,53.305762],[-4.084277,53.264307],[-4.200391,53.218066],[-4.278613,53.172412],[-4.373047,53.13418],[-4.418848,53.178027],[-4.471973,53.176367],[-4.553223,53.260449],[-4.567871,53.386475],[-4.461719,53.419287],[-4.315088,53.417236],[-4.196777,53.321436]]],[[[-2.548877,59.231348],[-2.662061,59.230176],[-2.603613,59.289307],[-2.535645,59.30415],[-2.406982,59.297559],[-2.429834,59.271045],[-2.548877,59.231348]]],[[[-1.042529,60.513867],[-1.067871,60.502295],[-1.165527,60.603906],[-1.093311,60.720215],[-1.005615,60.716504],[-0.99165,60.686035],[-1.000342,60.658008],[-1.04502,60.655518],[-1.049023,60.646924],[-1.035107,60.59292],[-1.034229,60.530176],[-1.042529,60.513867]]],[[[-1.308105,60.5375],[-1.287402,60.467041],[-1.235742,60.485303],[-1.157764,60.417725],[-1.117969,60.417627],[-1.052441,60.444482],[-1.065674,60.381592],[-1.133691,60.206982],[-1.152783,60.177344],[-1.165723,60.124268],[-1.179248,60.113916],[-1.199316,60.006592],[-1.245312,59.97124],[-1.283789,59.886914],[-1.299463,59.878662],[-1.355859,59.911133],[-1.299512,60.039844],[-1.276172,60.114648],[-1.290918,60.153467],[-1.322803,60.188379],[-1.409033,60.189502],[-1.481494,60.173389],[-1.496875,60.193994],[-1.499121,60.221777],[-1.516602,60.231006],[-1.613037,60.229102],[-1.641357,60.236768],[-1.660059,60.262256],[-1.66377,60.28252],[-1.57666,60.298389],[-1.494434,60.29248],[-1.374609,60.33291],[-1.449561,60.468555],[-1.548828,60.481299],[-1.571777,60.494434],[-1.552637,60.517432],[-1.498145,60.529834],[-1.414209,60.59873],[-1.363965,60.60957],[-1.301709,60.607666],[-1.308105,60.5375]]],[[[-0.774268,60.811963],[-0.774316,60.800488],[-0.826172,60.716162],[-0.825488,60.683936],[-0.909131,60.687012],[-0.922266,60.697266],[-0.938086,60.745654],[-0.927539,60.797168],[-0.91582,60.810449],[-0.891406,60.815918],[-0.864941,60.805811],[-0.823437,60.831885],[-0.801807,60.83125],[-0.774268,60.811963]]],[[[-3.164941,58.794189],[-3.222119,58.780957],[-3.278809,58.781934],[-3.367188,58.839746],[-3.40083,58.881787],[-3.394727,58.909619],[-3.357422,58.918994],[-3.271924,58.905273],[-3.227637,58.857178],[-3.222119,58.825879],[-3.211621,58.813574],[-3.158545,58.801221],[-3.164941,58.794189]]],[[[-2.929395,58.741602],[-2.938965,58.738623],[-2.975391,58.756934],[-3.035449,58.822656],[-2.941211,58.835693],[-2.896436,58.827588],[-2.913086,58.799609],[-2.929395,58.741602]]],[[[-3.057422,59.029639],[-3.070703,59.00498],[-2.994678,59.005566],[-2.88457,58.984521],[-2.81792,58.981885],[-2.762451,58.955811],[-2.793018,58.906934],[-2.826221,58.893262],[-2.86377,58.890527],[-2.994824,58.939355],[-3.166602,58.919092],[-3.200781,58.925293],[-3.22334,58.93877],[-3.232617,58.955518],[-3.232812,58.989648],[-3.242139,58.999707],[-3.304346,58.967432],[-3.331641,58.97124],[-3.34707,58.986719],[-3.353711,59.01875],[-3.346826,59.06499],[-3.310352,59.130811],[-3.248584,59.143945],[-3.156494,59.136328],[-3.051123,59.099023],[-3.019238,59.076025],[-3.02002,59.057666],[-3.057422,59.029639]]],[[[-2.729395,59.186768],[-2.815234,59.161914],[-2.851855,59.182471],[-2.861426,59.246826],[-2.96377,59.274365],[-3.013477,59.291455],[-3.052051,59.323877],[-3.042236,59.333838],[-2.975537,59.347119],[-2.861621,59.28833],[-2.815039,59.24082],[-2.730664,59.226758],[-2.719922,59.219482],[-2.729395,59.186768]]],[[[-6.607617,56.58501],[-6.664453,56.579443],[-6.668555,56.593604],[-6.569922,56.66123],[-6.506055,56.672363],[-6.483691,56.665771],[-6.530078,56.626611],[-6.607617,56.58501]]],[[[-5.10542,55.448828],[-5.231494,55.448096],[-5.277051,55.456738],[-5.331494,55.481055],[-5.392676,55.618359],[-5.370801,55.666943],[-5.345703,55.690723],[-5.318115,55.70918],[-5.251611,55.716943],[-5.185449,55.690967],[-5.1604,55.666797],[-5.10498,55.573975],[-5.094727,55.494336],[-5.10542,55.448828]]],[[[-5.777881,56.344336],[-6.176172,56.288721],[-6.313428,56.293652],[-6.32583,56.320947],[-6.298486,56.33916],[-6.184863,56.356885],[-6.138867,56.490625],[-6.310645,56.552148],[-6.319678,56.569434],[-6.30625,56.598779],[-6.286328,56.611865],[-6.18208,56.642969],[-6.138281,56.649854],[-6.102734,56.645654],[-6.02959,56.609814],[-5.94668,56.534521],[-5.836035,56.522559],[-5.76084,56.490674],[-5.777881,56.344336]]],[[[-6.128906,55.930566],[-6.092822,55.802148],[-6.057617,55.72251],[-6.055322,55.695312],[-6.088379,55.65752],[-6.253174,55.607227],[-6.305078,55.606934],[-6.307227,55.619141],[-6.27002,55.670313],[-6.302051,55.728369],[-6.286426,55.77251],[-6.301758,55.780615],[-6.333887,55.774365],[-6.451953,55.704248],[-6.491357,55.697314],[-6.495654,55.711572],[-6.466455,55.768994],[-6.462842,55.808252],[-6.445264,55.832373],[-6.413184,55.854639],[-6.374951,55.871338],[-6.344141,55.87373],[-6.311279,55.856494],[-6.215674,55.90459],[-6.128906,55.930566]]],[[[-5.970068,55.814551],[-5.990918,55.803809],[-6.041553,55.806787],[-6.060352,55.8229],[-6.070703,55.847656],[-6.071973,55.893115],[-6.041309,55.925635],[-5.911768,55.974756],[-5.970312,55.992188],[-5.972656,56.004443],[-5.939062,56.045264],[-5.799609,56.108789],[-5.762256,56.120312],[-5.725146,56.118555],[-5.797217,56.005615],[-5.970068,55.814551]]],[[[-6.198682,58.363281],[-6.32583,58.188867],[-6.375586,58.18457],[-6.419287,58.140967],[-6.55459,58.092871],[-6.436523,58.091895],[-6.403369,58.075879],[-6.402441,58.041357],[-6.425195,58.021289],[-6.578125,57.941357],[-6.683301,57.911035],[-6.796582,57.827539],[-6.85376,57.826514],[-6.910352,57.773389],[-6.956934,57.750049],[-6.983105,57.75],[-7.013184,57.761768],[-7.083447,57.81377],[-6.955957,57.864893],[-6.944141,57.893652],[-6.856836,57.923535],[-6.86416,57.932861],[-7.002539,57.974902],[-7.05708,58.003174],[-7.051904,58.017969],[-6.985303,58.050488],[-7.016895,58.054785],[-7.038232,58.072314],[-7.076904,58.079004],[-7.088477,58.095361],[-7.095605,58.138281],[-7.085254,58.182178],[-7.044922,58.201562],[-7.028418,58.222314],[-7.012061,58.228711],[-6.949561,58.217676],[-6.88623,58.182568],[-6.812305,58.196094],[-6.726465,58.189404],[-6.724707,58.197559],[-6.787744,58.283887],[-6.776465,58.301514],[-6.742285,58.321631],[-6.544189,58.383154],[-6.297168,58.486621],[-6.237451,58.502832],[-6.219434,58.488721],[-6.194238,58.435107],[-6.198682,58.363281]]],[[[-6.279053,56.964697],[-6.30874,56.951807],[-6.34624,56.954297],[-6.383398,56.970898],[-6.432617,57.01792],[-6.322363,57.050537],[-6.278223,57.031396],[-6.261279,57.009521],[-6.260547,56.985254],[-6.279053,56.964697]]],[[[-6.144727,57.50498],[-6.146143,57.460791],[-6.16377,57.408838],[-6.14082,57.353662],[-6.135547,57.314258],[-6.093408,57.301709],[-6.067627,57.283545],[-5.880273,57.263232],[-5.706006,57.268945],[-5.672461,57.252686],[-5.668652,57.226904],[-5.696191,57.198437],[-5.79541,57.146533],[-5.91377,57.062646],[-5.949072,57.045166],[-5.987305,57.044434],[-6.014746,57.051953],[-6.034375,57.201221],[-6.162744,57.182129],[-6.266113,57.184326],[-6.322705,57.20249],[-6.362402,57.2375],[-6.442432,57.32749],[-6.675439,57.362891],[-6.741309,57.412451],[-6.761133,57.442383],[-6.752734,57.458936],[-6.704199,57.495752],[-6.643457,57.482617],[-6.605859,57.490674],[-6.583008,57.507129],[-6.583496,57.520654],[-6.615283,57.552734],[-6.616797,57.562695],[-6.378516,57.60332],[-6.357666,57.666797],[-6.305957,57.671973],[-6.246924,57.651221],[-6.166064,57.585303],[-6.144727,57.50498]]],[[[-7.205566,57.682959],[-7.092773,57.62666],[-7.182617,57.533301],[-7.320557,57.53374],[-7.514746,57.601953],[-7.515625,57.615869],[-7.499414,57.636328],[-7.470312,57.652539],[-7.440039,57.656396],[-7.391895,57.645215],[-7.324854,57.663135],[-7.271191,57.657471],[-7.205566,57.682959]]],[[[-7.249854,57.115332],[-7.292041,57.109766],[-7.347412,57.115137],[-7.381494,57.130664],[-7.415918,57.192139],[-7.422363,57.229346],[-7.407031,57.298486],[-7.410547,57.381104],[-7.296387,57.383691],[-7.267139,57.371777],[-7.247559,57.126367],[-7.249854,57.115332]]],[[[-7.416895,56.96543],[-7.504785,56.95166],[-7.537402,56.959717],[-7.542969,56.972363],[-7.522949,57.006787],[-7.455469,57.018945],[-7.406689,57.000293],[-7.398926,56.98335],[-7.416895,56.96543]]],[[[-6.218018,54.088721],[-6.303662,54.094873],[-6.363672,54.0771],[-6.402588,54.060645],[-6.440283,54.063623],[-6.548145,54.057275],[-6.649805,54.058643],[-6.664209,54.084766],[-6.646875,54.163428],[-6.669531,54.184717],[-6.766602,54.195605],[-6.802588,54.214355],[-6.85835,54.268652],[-6.869238,54.294043],[-6.877246,54.329102],[-6.936133,54.374316],[-7.007715,54.406689],[-7.049707,54.408252],[-7.133496,54.355371],[-7.202588,54.301807],[-7.178076,54.274902],[-7.155469,54.239502],[-7.193066,54.214111],[-7.306738,54.156006],[-7.324512,54.133447],[-7.355176,54.12124],[-7.409424,54.137305],[-7.544434,54.133594],[-7.606543,54.143848],[-7.67876,54.18667],[-7.854932,54.215283],[-7.884473,54.283789],[-7.918457,54.296582],[-8.118262,54.414258],[-8.144824,54.453516],[-8.118945,54.476953],[-8.044336,54.512451],[-7.793799,54.57124],[-7.754395,54.594922],[-7.746289,54.61582],[-7.819824,54.639697],[-7.886133,54.666064],[-7.90874,54.68335],[-7.910596,54.69834],[-7.872949,54.717871],[-7.797266,54.719287],[-7.7375,54.710449],[-7.68999,54.728027],[-7.606445,54.745703],[-7.550391,54.767969],[-7.502197,54.825439],[-7.45127,54.8771],[-7.445996,54.905127],[-7.401416,55.00332],[-7.376904,55.027686],[-7.218652,55.091992],[-7.178613,55.056885],[-7.100635,55.048291],[-7.030762,55.080615],[-6.947168,55.18252],[-6.888965,55.188916],[-6.824854,55.180664],[-6.698828,55.193457],[-6.475049,55.241016],[-6.375293,55.241797],[-6.234229,55.216846],[-6.12915,55.217383],[-6.035791,55.144531],[-5.985742,55.029688],[-5.869189,54.916211],[-5.716846,54.81748],[-5.710742,54.75708],[-5.765186,54.724658],[-5.879102,54.684375],[-5.878613,54.641309],[-5.803467,54.663037],[-5.738623,54.673047],[-5.58252,54.663428],[-5.52793,54.619629],[-5.490186,54.554053],[-5.47041,54.500195],[-5.483887,54.44165],[-5.525879,54.460205],[-5.568555,54.512598],[-5.615967,54.536719],[-5.671094,54.549756],[-5.646094,54.477881],[-5.655957,54.381738],[-5.631885,54.372656],[-5.557812,54.370996],[-5.606787,54.272559],[-5.708057,54.24585],[-5.826172,54.23584],[-5.854639,54.200977],[-5.876074,54.156055],[-5.937744,54.089062],[-6.019043,54.05127],[-6.119531,54.058887],[-6.218018,54.088721]]],[[[-1.065576,50.690234],[-1.149365,50.655713],[-1.17583,50.615234],[-1.196094,50.599219],[-1.251465,50.588818],[-1.306299,50.588525],[-1.515332,50.669775],[-1.563428,50.666113],[-1.515674,50.70332],[-1.38584,50.733545],[-1.312793,50.773486],[-1.144238,50.734717],[-1.065576,50.690234]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":4,"SOVEREIGNT":"United Arab Emirates","SOV_A3":"ARE","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"United Arab Emirates","ADM0_A3":"ARE","GEOU_DIF":0,"GEOUNIT":"United Arab Emirates","GU_A3":"ARE","SU_DIF":0,"SUBUNIT":"United Arab Emirates","SU_A3":"ARE","BRK_DIFF":0,"NAME":"United Arab Emirates","NAME_LONG":"United Arab Emirates","BRK_A3":"ARE","BRK_NAME":"United Arab Emirates","BRK_GROUP":null,"ABBREV":"U.A.E.","POSTAL":"AE","FORMAL_EN":"United Arab Emirates","FORMAL_FR":null,"NAME_CIAWF":"United Arab Emirates","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"United Arab Emirates","NAME_ALT":null,"MAPCOLOR7":2,"MAPCOLOR8":1,"MAPCOLOR9":3,"MAPCOLOR13":3,"POP_EST":9770529,"POP_RANK":13,"POP_YEAR":2019,"GDP_MD":421142,"GDP_YEAR":2019,"ECONOMY":"6. Developing region","INCOME_GRP":"2. High income: nonOECD","FIPS_10":"AE","ISO_A2":"AE","ISO_A2_EH":"AE","ISO_A3":"ARE","ISO_A3_EH":"ARE","ISO_N3":"784","ISO_N3_EH":"784","UN_A3":"784","WB_A2":"AE","WB_A3":"ARE","WOE_ID":23424738,"WOE_ID_EH":23424738,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"ARE","ADM0_DIFF":null,"ADM0_TLC":"ARE","ADM0_A3_US":"ARE","ADM0_A3_FR":"ARE","ADM0_A3_RU":"ARE","ADM0_A3_ES":"ARE","ADM0_A3_CN":"ARE","ADM0_A3_TW":"ARE","ADM0_A3_IN":"ARE","ADM0_A3_NP":"ARE","ADM0_A3_PK":"ARE","ADM0_A3_DE":"ARE","ADM0_A3_GB":"ARE","ADM0_A3_BR":"ARE","ADM0_A3_IL":"ARE","ADM0_A3_PS":"ARE","ADM0_A3_SA":"ARE","ADM0_A3_EG":"ARE","ADM0_A3_MA":"ARE","ADM0_A3_PT":"ARE","ADM0_A3_AR":"ARE","ADM0_A3_JP":"ARE","ADM0_A3_KO":"ARE","ADM0_A3_VN":"ARE","ADM0_A3_TR":"ARE","ADM0_A3_ID":"ARE","ADM0_A3_PL":"ARE","ADM0_A3_GR":"ARE","ADM0_A3_IT":"ARE","ADM0_A3_NL":"ARE","ADM0_A3_SE":"ARE","ADM0_A3_BD":"ARE","ADM0_A3_UA":"ARE","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Asia","REGION_UN":"Asia","SUBREGION":"Western Asia","REGION_WB":"Middle East & North Africa","NAME_LEN":20,"LONG_LEN":20,"ABBREV_LEN":6,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":4,"MAX_LABEL":9,"LABEL_X":54.547256,"LABEL_Y":23.466285,"NE_ID":1159320329,"WIKIDATAID":"Q878","NAME_AR":"الإمارات العربية المتحدة","NAME_BN":"সংযুক্ত আরব আমিরাত","NAME_DE":"Vereinigte Arabische Emirate","NAME_EN":"United Arab Emirates","NAME_ES":"Emiratos Árabes Unidos","NAME_FA":"امارات متحده عربی","NAME_FR":"Émirats arabes unis","NAME_EL":"Ηνωμένα Αραβικά Εμιράτα","NAME_HE":"איחוד האמירויות הערביות","NAME_HI":"संयुक्त अरब अमीरात","NAME_HU":"Egyesült Arab Emírségek","NAME_ID":"Uni Emirat Arab","NAME_IT":"Emirati Arabi Uniti","NAME_JA":"アラブ首長国連邦","NAME_KO":"아랍에미리트","NAME_NL":"Verenigde Arabische Emiraten","NAME_PL":"Zjednoczone Emiraty Arabskie","NAME_PT":"Emirados Árabes Unidos","NAME_RU":"Объединённые Арабские Эмираты","NAME_SV":"Förenade Arabemiraten","NAME_TR":"Birleşik Arap Emirlikleri","NAME_UK":"Об'єднані Арабські Емірати","NAME_UR":"متحدہ عرب امارات","NAME_VI":"Các Tiểu vương quốc Ả Rập Thống nhất","NAME_ZH":"阿拉伯联合酋长国","NAME_ZHT":"阿拉伯聯合大公國","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[51.568359,22.621484,56.387988,26.068164],"geometry":{"type":"MultiPolygon","coordinates":[[[[56.297852,25.650684],[56.363477,25.569385],[56.372852,25.018311],[56.387988,24.979199],[56.35293,24.973291],[56.313574,24.931299],[56.267871,24.866699],[56.204688,24.833301],[56.154492,24.795508],[56.106543,24.748682],[56.063867,24.73877],[56.008398,24.798242],[55.970313,24.858936],[55.979688,24.87207],[56.006348,24.876416],[56.016699,24.907715],[56.000586,24.953223],[55.963086,24.970264],[55.91582,24.971777],[55.870703,24.951416],[55.822852,24.911279],[55.795703,24.868115],[55.791602,24.781299],[55.804199,24.683594],[55.803906,24.63623],[55.777539,24.577344],[55.768164,24.490625],[55.786816,24.423535],[55.804004,24.383545],[55.805664,24.349805],[55.76084,24.242676],[55.799707,24.222656],[55.928613,24.215137],[55.966309,24.142627],[55.992188,24.092969],[55.985156,24.063379],[55.894141,24.041406],[55.779102,24.01709],[55.696582,24.024121],[55.547852,23.991357],[55.468457,23.941113],[55.491797,23.909668],[55.519336,23.885498],[55.531641,23.819043],[55.508496,23.724609],[55.466309,23.63291],[55.413867,23.51875],[55.353223,23.387451],[55.270215,23.189941],[55.199902,23.034766],[55.192188,22.922949],[55.194043,22.85],[55.18584,22.704102],[55.119434,22.623926],[55.104297,22.621484],[55.025,22.631152],[54.998242,22.634375],[54.922461,22.643652],[54.804883,22.658008],[54.652246,22.67666],[54.47168,22.69873],[54.270117,22.72334],[54.05459,22.749658],[53.832129,22.776807],[53.60957,22.804004],[53.394043,22.830322],[53.192383,22.854932],[53.011914,22.877002],[52.859277,22.895605],[52.741602,22.91001],[52.665918,22.919287],[52.63916,22.92251],[52.555078,22.932812],[52.50957,22.986963],[52.45459,23.052441],[52.399609,23.117969],[52.344531,23.183496],[52.289551,23.248975],[52.23457,23.314453],[52.179492,23.37998],[52.124512,23.445459],[52.069434,23.510986],[52.014453,23.576465],[51.959473,23.641992],[51.904395,23.70752],[51.849414,23.772998],[51.794336,23.838477],[51.739355,23.904004],[51.684375,23.969531],[51.629297,24.03501],[51.592578,24.078857],[51.572168,24.12832],[51.568359,24.25791],[51.568359,24.286182],[51.605469,24.338428],[51.623145,24.301074],[51.664551,24.250439],[51.734766,24.262793],[51.767578,24.254395],[51.791699,24.074756],[51.843164,24.010889],[51.906055,23.985352],[52.118555,23.971094],[52.250879,23.995215],[52.511426,24.1125],[52.648242,24.154639],[53.026367,24.147314],[53.32959,24.098438],[53.801758,24.069482],[53.893359,24.077051],[54.147949,24.171191],[54.304297,24.254297],[54.39707,24.278174],[54.458398,24.358252],[54.498828,24.462695],[54.534668,24.530957],[54.580469,24.563525],[54.624121,24.621289],[54.658984,24.715527],[54.746777,24.810449],[55.098145,25.041602],[55.303516,25.236816],[55.32168,25.299805],[55.433398,25.394482],[55.522852,25.498145],[55.941211,25.793994],[56.025195,25.916016],[56.074609,26.052783],[56.080469,26.062646],[56.116504,26.068164],[56.16748,26.047461],[56.172559,25.945166],[56.154102,25.848486],[56.151953,25.746094],[56.144629,25.690527],[56.183594,25.644922],[56.249512,25.625391],[56.278516,25.627734],[56.297852,25.650684]],[[56.281836,25.235547],[56.287793,25.278613],[56.277344,25.300879],[56.234277,25.303809],[56.216504,25.266699],[56.210547,25.213281],[56.240234,25.208838],[56.281836,25.235547]]],[[[53.332227,24.258594],[53.258301,24.25293],[53.190918,24.290918],[53.33252,24.341602],[53.370898,24.364453],[53.412402,24.411035],[53.445312,24.371191],[53.408984,24.30791],[53.382617,24.280859],[53.332227,24.258594]]],[[[52.616895,24.288574],[52.6,24.281299],[52.582227,24.335254],[52.583594,24.352344],[52.629395,24.376758],[52.657617,24.332617],[52.616895,24.288574]]],[[[53.927832,24.177197],[53.928125,24.143359],[53.826367,24.153125],[53.799121,24.135547],[53.71582,24.145313],[53.634473,24.169775],[53.689648,24.210791],[53.833789,24.258936],[53.89375,24.215137],[53.927832,24.177197]]],[[[54.46543,24.442773],[54.456641,24.42334],[54.428418,24.425098],[54.357715,24.442773],[54.334766,24.471045],[54.378906,24.50459],[54.39834,24.506348],[54.426563,24.471045],[54.46543,24.442773]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":3,"SOVEREIGNT":"Ukraine","SOV_A3":"UKR","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Ukraine","ADM0_A3":"UKR","GEOU_DIF":0,"GEOUNIT":"Ukraine","GU_A3":"UKR","SU_DIF":0,"SUBUNIT":"Ukraine","SU_A3":"UKR","BRK_DIFF":0,"NAME":"Ukraine","NAME_LONG":"Ukraine","BRK_A3":"UKR","BRK_NAME":"Ukraine","BRK_GROUP":null,"ABBREV":"Ukr.","POSTAL":"UA","FORMAL_EN":"Ukraine","FORMAL_FR":null,"NAME_CIAWF":"Ukraine","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Ukraine","NAME_ALT":null,"MAPCOLOR7":5,"MAPCOLOR8":1,"MAPCOLOR9":6,"MAPCOLOR13":3,"POP_EST":44385155,"POP_RANK":15,"POP_YEAR":2019,"GDP_MD":153781,"GDP_YEAR":2019,"ECONOMY":"6. Developing region","INCOME_GRP":"4. Lower middle income","FIPS_10":"UP","ISO_A2":"UA","ISO_A2_EH":"UA","ISO_A3":"UKR","ISO_A3_EH":"UKR","ISO_N3":"804","ISO_N3_EH":"804","UN_A3":"804","WB_A2":"UA","WB_A3":"UKR","WOE_ID":23424976,"WOE_ID_EH":23424976,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"UKR","ADM0_DIFF":null,"ADM0_TLC":"UKR","ADM0_A3_US":"UKR","ADM0_A3_FR":"UKR","ADM0_A3_RU":"UKR","ADM0_A3_ES":"UKR","ADM0_A3_CN":"UKR","ADM0_A3_TW":"UKR","ADM0_A3_IN":"UKR","ADM0_A3_NP":"UKR","ADM0_A3_PK":"UKR","ADM0_A3_DE":"UKR","ADM0_A3_GB":"UKR","ADM0_A3_BR":"UKR","ADM0_A3_IL":"UKR","ADM0_A3_PS":"UKR","ADM0_A3_SA":"UKR","ADM0_A3_EG":"UKR","ADM0_A3_MA":"UKR","ADM0_A3_PT":"UKR","ADM0_A3_AR":"UKR","ADM0_A3_JP":"UKR","ADM0_A3_KO":"UKR","ADM0_A3_VN":"UKR","ADM0_A3_TR":"UKR","ADM0_A3_ID":"UKR","ADM0_A3_PL":"UKR","ADM0_A3_GR":"UKR","ADM0_A3_IT":"UKR","ADM0_A3_NL":"UKR","ADM0_A3_SE":"UKR","ADM0_A3_BD":"UKR","ADM0_A3_UA":"UKR","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Europe","REGION_UN":"Europe","SUBREGION":"Eastern Europe","REGION_WB":"Europe & Central Asia","NAME_LEN":7,"LONG_LEN":7,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":2.7,"MAX_LABEL":7,"LABEL_X":32.140865,"LABEL_Y":49.724739,"NE_ID":1159321345,"WIKIDATAID":"Q212","NAME_AR":"أوكرانيا","NAME_BN":"ইউক্রেন","NAME_DE":"Ukraine","NAME_EN":"Ukraine","NAME_ES":"Ucrania","NAME_FA":"اوکراین","NAME_FR":"Ukraine","NAME_EL":"Ουκρανία","NAME_HE":"אוקראינה","NAME_HI":"युक्रेन","NAME_HU":"Ukrajna","NAME_ID":"Ukraina","NAME_IT":"Ucraina","NAME_JA":"ウクライナ","NAME_KO":"우크라이나","NAME_NL":"Oekraïne","NAME_PL":"Ukraina","NAME_PT":"Ucrânia","NAME_RU":"Украина","NAME_SV":"Ukraina","NAME_TR":"Ukrayna","NAME_UK":"Україна","NAME_UR":"یوکرین","NAME_VI":"Ukraina","NAME_ZH":"乌克兰","NAME_ZHT":"烏克蘭","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[22.131836,45.234131,40.12832,52.353564],"geometry":{"type":"MultiPolygon","coordinates":[[[[38.214355,47.091455],[38.17832,47.080225],[37.828711,47.09585],[37.761147,47.090809],[37.543359,47.074561],[37.339844,46.916895],[37.218555,46.917334],[37.047559,46.876221],[36.932031,46.825146],[36.794824,46.714404],[36.688672,46.764111],[36.558789,46.762695],[36.432031,46.732568],[36.279492,46.658594],[36.194629,46.645508],[36.024902,46.666797],[35.827148,46.624316],[35.400195,46.381396],[35.256641,46.203906],[35.204395,46.169189],[35.132324,46.125879],[35.055273,46.104004],[35.014551,46.106006],[35.217773,46.232178],[35.280176,46.279492],[35.290918,46.314404],[35.291992,46.370703],[35.230371,46.440625],[35.064063,46.267236],[34.969531,46.24209],[34.849609,46.189893],[34.84375,46.073584],[34.857324,45.987354],[34.906641,45.878809],[35.001674,45.733383],[34.946428,45.728686],[34.799726,45.790752],[34.794084,45.892315],[34.686878,45.97695],[34.523249,45.97695],[34.449898,45.965666],[34.353978,46.061586],[34.224203,46.101083],[34.128283,46.089798],[34.02672,46.106725],[33.806667,46.208288],[33.659965,46.219573],[33.654323,46.146222],[33.594141,46.09624],[33.498828,46.078857],[33.429883,46.057617],[33.263477,46.125684],[33.202246,46.175732],[32.941797,46.123779],[32.796875,46.131494],[32.476758,46.083691],[32.329883,46.130371],[32.035742,46.260986],[31.925195,46.287256],[31.83125,46.281689],[31.77998,46.324658],[31.842871,46.346143],[31.915918,46.348682],[31.991699,46.364404],[32.013086,46.387158],[32.008496,46.42998],[31.855762,46.462451],[31.713672,46.471777],[31.623633,46.510254],[31.554883,46.554297],[31.716016,46.55498],[31.87793,46.52168],[32.131445,46.509375],[32.361328,46.474951],[32.418945,46.517773],[32.552539,46.591992],[32.578027,46.615625],[32.354102,46.564844],[32.127246,46.597217],[32.044336,46.64248],[31.974316,46.708789],[31.944922,46.784375],[31.964063,46.854834],[31.939551,46.981982],[31.864746,47.095117],[31.838184,47.157227],[31.75918,47.212842],[31.836914,47.087012],[31.865918,47.003271],[31.912695,46.926123],[31.90166,46.721631],[31.872852,46.649756],[31.77959,46.631641],[31.657031,46.642432],[31.532129,46.664746],[31.563379,46.777295],[31.496875,46.738379],[31.40293,46.628809],[31.320313,46.6125],[31.136816,46.624463],[30.796289,46.552002],[30.772852,46.473047],[30.72168,46.366211],[30.672266,46.304004],[30.656738,46.266504],[30.511523,46.105371],[30.492969,46.090137],[30.219043,45.866748],[30.18418,45.849951],[30.006641,45.797949],[29.90166,45.752393],[29.821191,45.73208],[29.685059,45.754688],[29.628418,45.722461],[29.60166,45.68252],[29.601172,45.6],[29.670313,45.540674],[29.726953,45.343311],[29.705859,45.259912],[29.651953,45.313916],[29.567676,45.370801],[29.403711,45.419678],[29.223535,45.40293],[29.027441,45.320557],[28.894336,45.289941],[28.824316,45.311084],[28.781738,45.309863],[28.766602,45.28623],[28.769824,45.266895],[28.791406,45.251904],[28.788281,45.240967],[28.760742,45.234131],[28.45127,45.292187],[28.317676,45.347119],[28.2125,45.450439],[28.264844,45.483887],[28.310352,45.498584],[28.471387,45.507178],[28.499023,45.517725],[28.501758,45.541553],[28.51377,45.572412],[28.509473,45.617822],[28.491602,45.665771],[28.562305,45.735791],[28.667578,45.793848],[28.729297,45.852002],[28.73877,45.937158],[28.849512,45.978662],[28.947754,46.049951],[28.971875,46.127637],[29.00625,46.176465],[28.94375,46.288428],[28.930566,46.362256],[28.927441,46.424121],[28.958398,46.458496],[29.049902,46.497021],[29.146289,46.526904],[29.18623,46.523975],[29.200781,46.50498],[29.20459,46.379346],[29.223828,46.376953],[29.25459,46.392627],[29.304883,46.466602],[29.339551,46.445068],[29.392871,46.436914],[29.432813,46.455957],[29.458789,46.45376],[29.491016,46.434668],[29.555078,46.407764],[29.614941,46.398828],[29.664551,46.416748],[29.706836,46.44873],[29.751953,46.437793],[29.837891,46.350537],[29.878027,46.360205],[30.075684,46.377832],[30.10752,46.401562],[30.131055,46.423096],[29.924316,46.538867],[29.934766,46.625],[29.94248,46.723779],[29.918066,46.782422],[29.877832,46.828906],[29.719727,46.88291],[29.597754,46.938818],[29.571973,46.964014],[29.568652,46.996729],[29.563477,47.04751],[29.515039,47.091113],[29.510938,47.128027],[29.541797,47.185547],[29.549316,47.246826],[29.53916,47.270996],[29.510645,47.290723],[29.455664,47.292627],[29.383398,47.328027],[29.333789,47.375732],[29.200586,47.444482],[29.159766,47.455664],[29.134863,47.489697],[29.122949,47.530371],[29.150879,47.580859],[29.186035,47.658594],[29.210742,47.731543],[29.211133,47.775],[29.194824,47.882422],[29.125391,47.964551],[29.092969,47.975439],[29.036914,47.952344],[28.97334,47.933008],[28.923145,47.951123],[28.86582,47.995654],[28.773828,48.11958],[28.60166,48.144385],[28.530469,48.150293],[28.463086,48.090527],[28.441992,48.108691],[28.423047,48.146875],[28.3875,48.162109],[28.340527,48.144434],[28.326953,48.161426],[28.347168,48.213037],[28.291016,48.238574],[28.158789,48.237988],[28.088477,48.257031],[28.080078,48.295801],[28.038477,48.321289],[27.963379,48.333545],[27.890625,48.365234],[27.82002,48.41626],[27.714453,48.449512],[27.57373,48.464893],[27.562207,48.47041],[27.549219,48.477734],[27.458398,48.443066],[27.403809,48.415625],[27.336914,48.432715],[27.228516,48.371436],[27.008496,48.368262],[26.900586,48.371924],[26.84707,48.387158],[26.64043,48.294141],[26.618945,48.259863],[26.572461,48.248486],[26.442383,48.22998],[26.305664,48.20376],[26.276953,48.113232],[26.23623,48.064355],[26.162695,47.992529],[25.908691,47.967578],[25.689258,47.932471],[25.464258,47.910791],[25.169629,47.823096],[25.073828,47.745703],[24.979102,47.724121],[24.893359,47.717773],[24.837891,47.76084],[24.650977,47.876514],[24.578906,47.931055],[24.484082,47.947119],[24.380957,47.938037],[24.281934,47.911182],[24.177734,47.906055],[24.059766,47.944775],[24.047363,47.941016],[24.001855,47.935791],[23.708984,47.982617],[23.682031,47.990381],[23.669043,47.992334],[23.628711,47.99585],[23.408203,47.98999],[23.202637,48.084521],[23.139453,48.087402],[23.09082,48.049121],[23.054785,48.006543],[22.912891,47.964258],[22.87666,47.947266],[22.856055,47.960303],[22.846484,47.99707],[22.857227,48.029541],[22.83623,48.060303],[22.782227,48.095215],[22.769141,48.109619],[22.701563,48.107031],[22.683105,48.103613],[22.676367,48.104395],[22.582422,48.134033],[22.520117,48.205371],[22.423828,48.243311],[22.350195,48.256055],[22.316699,48.286621],[22.295117,48.327295],[22.272168,48.358008],[22.269434,48.360889],[22.253711,48.407373],[22.231152,48.412158],[22.227148,48.413428],[22.131836,48.405322],[22.142871,48.568506],[22.295215,48.68584],[22.332617,48.745068],[22.389453,48.873486],[22.432031,48.933545],[22.483203,48.983252],[22.524121,49.031396],[22.538672,49.072705],[22.57998,49.077197],[22.70127,49.039941],[22.809766,49.020752],[22.839746,49.038916],[22.852051,49.062744],[22.84707,49.08125],[22.760156,49.13623],[22.705664,49.171191],[22.702344,49.192725],[22.721973,49.240967],[22.732422,49.295166],[22.719922,49.353809],[22.660645,49.483691],[22.649414,49.539014],[22.706152,49.606201],[22.890723,49.76626],[22.952246,49.826367],[23.036328,49.899072],[23.264453,50.072852],[23.408594,50.173926],[23.506152,50.229834],[23.649023,50.327051],[23.711719,50.377344],[23.972656,50.410059],[24.00498,50.457031],[24.052637,50.508447],[24.089941,50.530469],[24.094727,50.617041],[24.046289,50.722803],[24.007324,50.760156],[23.978418,50.785596],[23.99707,50.809375],[24.025977,50.816162],[24.061621,50.819531],[24.105762,50.844971],[24.095801,50.872754],[23.985742,50.94043],[23.938086,50.992529],[23.863477,51.126221],[23.712207,51.265137],[23.664453,51.310059],[23.657617,51.35249],[23.679688,51.394922],[23.658887,51.448975],[23.605273,51.51792],[23.61377,51.525391],[23.608594,51.610498],[23.64668,51.628857],[23.706836,51.641309],[23.791699,51.637109],[23.864258,51.623975],[23.951172,51.585059],[23.97832,51.591309],[24.126855,51.664648],[24.280078,51.774707],[24.32373,51.838428],[24.361914,51.867529],[24.495215,51.883057],[24.611328,51.889502],[24.685156,51.888281],[24.866406,51.899121],[24.973828,51.911133],[25.066699,51.930518],[25.267188,51.937744],[25.580273,51.924756],[25.785742,51.923828],[25.925293,51.913525],[26.26709,51.855029],[26.394336,51.844434],[26.453418,51.813428],[26.566895,51.801904],[26.773438,51.770703],[26.952832,51.754004],[27.074121,51.76084],[27.141992,51.752051],[27.270117,51.613574],[27.296289,51.597412],[27.347656,51.594141],[27.452344,51.606104],[27.601367,51.601611],[27.689746,51.572412],[27.676758,51.489941],[27.7,51.477979],[27.741309,51.482568],[27.788867,51.52915],[27.828809,51.577441],[27.858594,51.592383],[28.010742,51.559766],[28.080273,51.565039],[28.144434,51.60166],[28.183789,51.607861],[28.291602,51.581836],[28.424609,51.563623],[28.532031,51.562451],[28.599023,51.542627],[28.647754,51.456543],[28.690234,51.438867],[28.73125,51.433398],[28.793262,51.510352],[28.849512,51.540186],[28.927539,51.562158],[28.977734,51.571777],[29.013086,51.598926],[29.060742,51.625439],[29.102051,51.627539],[29.135645,51.617285],[29.174219,51.580615],[29.230469,51.497021],[29.298828,51.413037],[29.346484,51.382568],[29.469629,51.40835],[29.553125,51.43457],[29.706055,51.439551],[29.908789,51.458008],[30.06377,51.482031],[30.160742,51.477881],[30.219531,51.451221],[30.308984,51.399609],[30.333398,51.325537],[30.449512,51.274316],[30.544531,51.265039],[30.576953,51.318359],[30.63252,51.35542],[30.611719,51.406348],[30.602344,51.47124],[30.560742,51.531494],[30.533008,51.596338],[30.583887,51.688965],[30.639453,51.770068],[30.667285,51.814111],[30.755273,51.895166],[30.845703,51.953076],[30.980664,52.046191],[31.079297,52.076953],[31.168457,52.062939],[31.217969,52.050244],[31.345996,52.105371],[31.57373,52.108105],[31.763379,52.101074],[31.782422,52.099414],[31.875586,52.070898],[31.973828,52.046631],[32.041602,52.04502],[32.122266,52.050586],[32.216797,52.082959],[32.282813,52.114014],[32.362988,52.272119],[32.391309,52.294824],[32.435449,52.307227],[32.50791,52.308545],[32.64541,52.279102],[32.806445,52.252637],[32.899707,52.256348],[33.148438,52.34043],[33.287109,52.353564],[33.451855,52.333789],[33.613379,52.332617],[33.735254,52.344775],[33.818848,52.315625],[33.92207,52.251465],[34.015332,52.155957],[34.113086,51.979639],[34.397852,51.78042],[34.402734,51.741504],[34.379297,51.716504],[34.23916,51.692236],[34.121094,51.67915],[34.11543,51.644971],[34.146777,51.607959],[34.200879,51.553809],[34.209277,51.484082],[34.206543,51.419922],[34.229883,51.363232],[34.275,51.340186],[34.280664,51.31167],[34.228418,51.276855],[34.213867,51.255371],[34.23418,51.243799],[34.491016,51.237061],[34.616797,51.203125],[34.712305,51.172217],[34.760352,51.169336],[34.868555,51.189209],[34.990234,51.201758],[35.064063,51.203418],[35.092578,51.180664],[35.115332,51.12085],[35.158105,51.060986],[35.198047,51.043896],[35.269141,51.046777],[35.311914,51.043896],[35.334766,51.021143],[35.309082,50.986914],[35.314746,50.949902],[35.346094,50.904297],[35.383203,50.798926],[35.417383,50.767578],[35.440137,50.727686],[35.440137,50.68208],[35.411621,50.642236],[35.391699,50.610937],[35.411621,50.539697],[35.488477,50.459912],[35.545508,50.43999],[35.591113,50.36875],[35.67373,50.345996],[35.796191,50.405762],[35.890234,50.437109],[36.007812,50.419678],[36.116406,50.408545],[36.189453,50.367822],[36.243359,50.311768],[36.306055,50.280469],[36.368848,50.296826],[36.499805,50.280469],[36.559668,50.234863],[36.619434,50.209229],[36.696387,50.24624],[36.759082,50.291846],[36.988477,50.339551],[37.13125,50.351514],[37.171094,50.360889],[37.254883,50.394971],[37.343164,50.417627],[37.422852,50.411475],[37.501367,50.340723],[37.582324,50.291846],[37.605078,50.214941],[37.704199,50.109082],[37.950293,49.964209],[38.046875,49.92002],[38.1125,49.927832],[38.146777,49.939404],[38.162695,49.954541],[38.177539,50.025391],[38.208691,50.051465],[38.258594,50.052344],[38.451172,49.964062],[38.551953,49.95459],[38.647754,49.952881],[38.77666,49.884326],[38.918359,49.824707],[39.027734,49.818408],[39.114941,49.841748],[39.174805,49.855957],[39.211816,49.833203],[39.245996,49.781934],[39.30293,49.742041],[39.368457,49.730664],[39.462793,49.728027],[39.626563,49.650684],[39.780566,49.572021],[39.876855,49.567676],[39.958496,49.590771],[40.030664,49.596729],[40.080664,49.576855],[40.094922,49.542676],[40.057813,49.49707],[40.057813,49.431543],[40.126172,49.368848],[40.12832,49.307227],[40.108789,49.251562],[40.07002,49.200293],[39.976367,49.129834],[39.889746,49.064062],[39.759473,49.036572],[39.686523,49.00791],[39.705664,48.95957],[39.75332,48.914453],[39.86377,48.877979],[39.98916,48.851416],[40.003613,48.82207],[39.984473,48.807373],[39.904102,48.79375],[39.792871,48.807715],[39.755859,48.78208],[39.70459,48.739355],[39.67041,48.662451],[39.644727,48.591211],[39.76543,48.571875],[39.835645,48.542773],[39.85752,48.484229],[39.882617,48.419092],[39.889844,48.360449],[39.849902,48.331934],[39.847461,48.302783],[39.866309,48.288428],[39.918164,48.281934],[39.95791,48.268896],[39.961035,48.237939],[39.885059,48.168359],[39.813965,48.035303],[39.775781,47.964453],[39.778711,47.887549],[39.735938,47.844824],[39.658496,47.841211],[39.391016,47.83374],[39.158496,47.837402],[39.057813,47.848486],[38.900293,47.855127],[38.822266,47.837012],[38.718945,47.714111],[38.640625,47.665918],[38.510938,47.622412],[38.368848,47.609961],[38.287402,47.55918],[38.258789,47.479541],[38.256543,47.408936],[38.243262,47.373682],[38.212402,47.342773],[38.201367,47.320801],[38.208008,47.296533],[38.241016,47.287695],[38.280762,47.27666],[38.280762,47.259033],[38.265332,47.236963],[38.221191,47.212744],[38.201367,47.175244],[38.205859,47.135596],[38.214355,47.091455]]],[[[32.012207,46.203906],[32.150098,46.154687],[32.009375,46.167822],[31.700195,46.214062],[31.563867,46.257764],[31.528711,46.306592],[31.508789,46.373145],[31.584863,46.303174],[31.638477,46.272559],[32.012207,46.203906]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":3,"SOVEREIGNT":"Uganda","SOV_A3":"UGA","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Uganda","ADM0_A3":"UGA","GEOU_DIF":0,"GEOUNIT":"Uganda","GU_A3":"UGA","SU_DIF":0,"SUBUNIT":"Uganda","SU_A3":"UGA","BRK_DIFF":0,"NAME":"Uganda","NAME_LONG":"Uganda","BRK_A3":"UGA","BRK_NAME":"Uganda","BRK_GROUP":null,"ABBREV":"Uga.","POSTAL":"UG","FORMAL_EN":"Republic of Uganda","FORMAL_FR":null,"NAME_CIAWF":"Uganda","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Uganda","NAME_ALT":null,"MAPCOLOR7":6,"MAPCOLOR8":3,"MAPCOLOR9":6,"MAPCOLOR13":4,"POP_EST":44269594,"POP_RANK":15,"POP_YEAR":2019,"GDP_MD":35165,"GDP_YEAR":2019,"ECONOMY":"7. Least developed region","INCOME_GRP":"5. Low income","FIPS_10":"UG","ISO_A2":"UG","ISO_A2_EH":"UG","ISO_A3":"UGA","ISO_A3_EH":"UGA","ISO_N3":"800","ISO_N3_EH":"800","UN_A3":"800","WB_A2":"UG","WB_A3":"UGA","WOE_ID":23424974,"WOE_ID_EH":23424974,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"UGA","ADM0_DIFF":null,"ADM0_TLC":"UGA","ADM0_A3_US":"UGA","ADM0_A3_FR":"UGA","ADM0_A3_RU":"UGA","ADM0_A3_ES":"UGA","ADM0_A3_CN":"UGA","ADM0_A3_TW":"UGA","ADM0_A3_IN":"UGA","ADM0_A3_NP":"UGA","ADM0_A3_PK":"UGA","ADM0_A3_DE":"UGA","ADM0_A3_GB":"UGA","ADM0_A3_BR":"UGA","ADM0_A3_IL":"UGA","ADM0_A3_PS":"UGA","ADM0_A3_SA":"UGA","ADM0_A3_EG":"UGA","ADM0_A3_MA":"UGA","ADM0_A3_PT":"UGA","ADM0_A3_AR":"UGA","ADM0_A3_JP":"UGA","ADM0_A3_KO":"UGA","ADM0_A3_VN":"UGA","ADM0_A3_TR":"UGA","ADM0_A3_ID":"UGA","ADM0_A3_PL":"UGA","ADM0_A3_GR":"UGA","ADM0_A3_IT":"UGA","ADM0_A3_NL":"UGA","ADM0_A3_SE":"UGA","ADM0_A3_BD":"UGA","ADM0_A3_UA":"UGA","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Africa","REGION_UN":"Africa","SUBREGION":"Eastern Africa","REGION_WB":"Sub-Saharan Africa","NAME_LEN":6,"LONG_LEN":6,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":3,"MAX_LABEL":8,"LABEL_X":32.948555,"LABEL_Y":1.972589,"NE_ID":1159321343,"WIKIDATAID":"Q1036","NAME_AR":"أوغندا","NAME_BN":"উগান্ডা","NAME_DE":"Uganda","NAME_EN":"Uganda","NAME_ES":"Uganda","NAME_FA":"اوگاندا","NAME_FR":"Ouganda","NAME_EL":"Ουγκάντα","NAME_HE":"אוגנדה","NAME_HI":"युगाण्डा","NAME_HU":"Uganda","NAME_ID":"Uganda","NAME_IT":"Uganda","NAME_JA":"ウガンダ","NAME_KO":"우간다","NAME_NL":"Oeganda","NAME_PL":"Uganda","NAME_PT":"Uganda","NAME_RU":"Уганда","NAME_SV":"Uganda","NAME_TR":"Uganda","NAME_UK":"Уганда","NAME_UR":"یوگنڈا","NAME_VI":"Uganda","NAME_ZH":"乌干达","NAME_ZHT":"烏干達","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[29.561914,-1.469922,34.978223,4.220215],"geometry":{"type":"Polygon","coordinates":[[[33.903223,-1.002051],[33.794043,-1.002051],[33.616309,-1.002051],[33.438477,-1.002051],[33.260742,-1.002051],[33.083008,-1.002051],[32.905176,-1.002051],[32.727441,-1.002051],[32.549707,-1.002051],[32.371875,-1.002051],[32.194141,-1.002051],[32.016406,-1.002051],[31.838574,-1.002051],[31.66084,-1.002051],[31.483105,-1.002051],[31.305273,-1.002051],[31.127539,-1.002051],[30.949707,-1.002051],[30.844727,-1.002051],[30.823633,-0.999023],[30.80918,-0.994922],[30.741992,-1.00752],[30.672754,-1.051367],[30.59873,-1.069727],[30.519922,-1.0625],[30.509961,-1.067285],[30.469922,-1.066016],[30.412305,-1.063086],[30.360254,-1.074609],[30.320508,-1.113086],[30.279883,-1.178809],[30.207031,-1.254199],[30.15,-1.321094],[30.101562,-1.368652],[29.990527,-1.446973],[29.930078,-1.469922],[29.9,-1.466309],[29.881641,-1.451758],[29.846875,-1.35166],[29.825391,-1.335547],[29.609668,-1.387109],[29.576953,-1.387891],[29.57998,-1.356738],[29.564063,-1.121387],[29.561914,-0.977344],[29.590039,-0.887109],[29.606445,-0.783105],[29.608203,-0.691309],[29.647852,-0.535254],[29.633203,-0.441699],[29.684375,-0.113574],[29.697852,-0.060205],[29.717676,0.09834],[29.749707,0.147217],[29.777832,0.166357],[29.814648,0.263623],[29.885449,0.418945],[29.934473,0.499023],[29.923828,0.673926],[29.931641,0.792871],[29.942871,0.819238],[30.047363,0.863525],[30.18291,0.973486],[30.240137,1.102783],[30.321094,1.185303],[30.477832,1.238818],[30.478125,1.239062],[30.942578,1.682812],[31.158789,1.922021],[31.252734,2.04458],[31.256055,2.088477],[31.274023,2.146289],[31.236328,2.191357],[31.191406,2.232275],[31.176367,2.270068],[31.137598,2.288867],[31.082129,2.288086],[31.045313,2.315527],[31.003613,2.369385],[30.961914,2.403271],[30.830078,2.400439],[30.728613,2.455371],[30.729883,2.530273],[30.769531,2.677979],[30.84668,2.847021],[30.850781,2.893652],[30.839941,2.933496],[30.821387,2.967578],[30.786523,3.001367],[30.754004,3.041797],[30.779297,3.163379],[30.827832,3.282617],[30.867578,3.342139],[30.906445,3.408936],[30.895313,3.463672],[30.838574,3.490723],[30.868164,3.544141],[30.929395,3.634082],[31.048047,3.725],[31.152344,3.785596],[31.221973,3.785937],[31.357422,3.737598],[31.47998,3.680469],[31.547168,3.677588],[31.628906,3.701465],[31.798047,3.802637],[31.838672,3.770459],[31.888281,3.709082],[31.941797,3.607568],[32.048242,3.561182],[32.099414,3.529199],[32.135938,3.519727],[32.15625,3.528027],[32.19668,3.607812],[32.245508,3.651318],[32.335742,3.706201],[32.534766,3.749951],[32.676953,3.763184],[32.737109,3.772705],[32.838086,3.798486],[32.997266,3.880176],[33.154102,3.774707],[33.324316,3.754346],[33.489355,3.755078],[33.539551,3.787109],[33.568457,3.811719],[33.741602,3.985254],[33.976074,4.220215],[34.132031,3.88916],[34.185742,3.869775],[34.178223,3.840869],[34.165039,3.812988],[34.26709,3.733154],[34.392871,3.691504],[34.437695,3.650586],[34.441797,3.60625],[34.399414,3.412695],[34.407227,3.35752],[34.447852,3.163477],[34.522559,3.119971],[34.58916,2.924756],[34.723242,2.841943],[34.74248,2.818115],[34.773438,2.723437],[34.814453,2.619824],[34.84668,2.595752],[34.866211,2.589697],[34.905762,2.479687],[34.883008,2.41792],[34.913965,2.230176],[34.964063,2.062402],[34.977539,1.861914],[34.978223,1.773633],[34.976465,1.719629],[34.965234,1.643359],[34.941211,1.599268],[34.89834,1.556494],[34.850977,1.489014],[34.80957,1.416699],[34.783594,1.381152],[34.803809,1.272852],[34.798633,1.244531],[34.787598,1.230713],[34.726758,1.214258],[34.649121,1.185303],[34.601953,1.156445],[34.535254,1.101562],[34.481738,1.042139],[34.41084,0.867285],[34.292578,0.73125],[34.272559,0.686426],[34.160938,0.605176],[34.111719,0.505127],[34.080566,0.382471],[34.037207,0.294531],[33.943164,0.173779],[33.921484,-0.016992],[33.924414,-0.397852],[33.9,-0.831641],[33.903223,-1.002051]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":4,"LABELRANK":4,"SOVEREIGNT":"Turkmenistan","SOV_A3":"TKM","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Turkmenistan","ADM0_A3":"TKM","GEOU_DIF":0,"GEOUNIT":"Turkmenistan","GU_A3":"TKM","SU_DIF":0,"SUBUNIT":"Turkmenistan","SU_A3":"TKM","BRK_DIFF":0,"NAME":"Turkmenistan","NAME_LONG":"Turkmenistan","BRK_A3":"TKM","BRK_NAME":"Turkmenistan","BRK_GROUP":null,"ABBREV":"Turkm.","POSTAL":"TM","FORMAL_EN":"Turkmenistan","FORMAL_FR":null,"NAME_CIAWF":"Turkmenistan","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Turkmenistan","NAME_ALT":null,"MAPCOLOR7":3,"MAPCOLOR8":2,"MAPCOLOR9":1,"MAPCOLOR13":9,"POP_EST":5942089,"POP_RANK":13,"POP_YEAR":2019,"GDP_MD":40761,"GDP_YEAR":2018,"ECONOMY":"6. Developing region","INCOME_GRP":"3. Upper middle income","FIPS_10":"TX","ISO_A2":"TM","ISO_A2_EH":"TM","ISO_A3":"TKM","ISO_A3_EH":"TKM","ISO_N3":"795","ISO_N3_EH":"795","UN_A3":"795","WB_A2":"TM","WB_A3":"TKM","WOE_ID":23424972,"WOE_ID_EH":23424972,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"TKM","ADM0_DIFF":null,"ADM0_TLC":"TKM","ADM0_A3_US":"TKM","ADM0_A3_FR":"TKM","ADM0_A3_RU":"TKM","ADM0_A3_ES":"TKM","ADM0_A3_CN":"TKM","ADM0_A3_TW":"TKM","ADM0_A3_IN":"TKM","ADM0_A3_NP":"TKM","ADM0_A3_PK":"TKM","ADM0_A3_DE":"TKM","ADM0_A3_GB":"TKM","ADM0_A3_BR":"TKM","ADM0_A3_IL":"TKM","ADM0_A3_PS":"TKM","ADM0_A3_SA":"TKM","ADM0_A3_EG":"TKM","ADM0_A3_MA":"TKM","ADM0_A3_PT":"TKM","ADM0_A3_AR":"TKM","ADM0_A3_JP":"TKM","ADM0_A3_KO":"TKM","ADM0_A3_VN":"TKM","ADM0_A3_TR":"TKM","ADM0_A3_ID":"TKM","ADM0_A3_PL":"TKM","ADM0_A3_GR":"TKM","ADM0_A3_IT":"TKM","ADM0_A3_NL":"TKM","ADM0_A3_SE":"TKM","ADM0_A3_BD":"TKM","ADM0_A3_UA":"TKM","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Asia","REGION_UN":"Asia","SUBREGION":"Central Asia","REGION_WB":"Europe & Central Asia","NAME_LEN":12,"LONG_LEN":12,"ABBREV_LEN":6,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":3,"MAX_LABEL":8,"LABEL_X":58.676647,"LABEL_Y":39.855246,"NE_ID":1159321309,"WIKIDATAID":"Q874","NAME_AR":"تركمانستان","NAME_BN":"তুর্কমেনিস্তান","NAME_DE":"Turkmenistan","NAME_EN":"Turkmenistan","NAME_ES":"Turkmenistán","NAME_FA":"ترکمنستان","NAME_FR":"Turkménistan","NAME_EL":"Τουρκμενιστάν","NAME_HE":"טורקמניסטן","NAME_HI":"तुर्कमेनिस्तान","NAME_HU":"Türkmenisztán","NAME_ID":"Turkmenistan","NAME_IT":"Turkmenistan","NAME_JA":"トルクメニスタン","NAME_KO":"투르크메니스탄","NAME_NL":"Turkmenistan","NAME_PL":"Turkmenistan","NAME_PT":"Turquemenistão","NAME_RU":"Туркмения","NAME_SV":"Turkmenistan","NAME_TR":"Türkmenistan","NAME_UK":"Туркменістан","NAME_UR":"ترکمانستان","NAME_VI":"Turkmenistan","NAME_ZH":"土库曼斯坦","NAME_ZHT":"土庫曼","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[52.493848,35.170801,66.629297,42.778467],"geometry":{"type":"MultiPolygon","coordinates":[[[[53.10957,38.803076],[53.100195,38.756152],[53.045898,38.897217],[53.018555,39.052734],[53.05332,39.096582],[53.092188,39.094092],[53.055176,39.037939],[53.10957,38.803076]]],[[[55.977441,41.322217],[56.241992,41.31084],[56.479883,41.300635],[56.773633,41.287988],[56.86084,41.276123],[56.96582,41.265137],[57.017969,41.263477],[57.064258,41.307275],[57.094824,41.331299],[57.118848,41.350293],[57.113867,41.371777],[57.07666,41.38999],[57.018164,41.450586],[56.984863,41.669336],[56.964063,41.856543],[57.033691,41.914844],[57.113574,41.957129],[57.228809,42.084473],[57.290625,42.123779],[57.381738,42.156299],[57.686133,42.164795],[57.814258,42.189844],[57.855957,42.231055],[57.923438,42.335205],[57.945703,42.42002],[57.983496,42.458789],[58.028906,42.487646],[58.075488,42.486523],[58.165625,42.461572],[58.234082,42.447705],[58.28291,42.428857],[58.327246,42.398926],[58.370508,42.346777],[58.377148,42.312451],[58.39707,42.29248],[58.431445,42.29209],[58.457031,42.291797],[58.474414,42.299365],[58.48584,42.316846],[58.476953,42.340137],[58.418164,42.406689],[58.288672,42.527295],[58.204102,42.576367],[58.162012,42.602979],[58.151563,42.628076],[58.206445,42.666309],[58.259668,42.688086],[58.353125,42.671729],[58.477148,42.662842],[58.532324,42.681934],[58.589063,42.778467],[58.72998,42.676172],[58.876953,42.561475],[58.930859,42.540283],[59.03584,42.528125],[59.123145,42.523779],[59.15957,42.511426],[59.199121,42.481689],[59.276563,42.356152],[59.354297,42.323291],[59.451074,42.299512],[59.762598,42.301562],[59.858301,42.295166],[59.936523,42.236035],[59.985156,42.211719],[60.006055,42.19082],[60.000781,42.164746],[59.981641,42.131738],[59.979199,42.068066],[59.974121,42.018799],[59.949316,41.99541],[59.941797,41.973535],[59.962598,41.954395],[60.106934,41.907422],[60.155566,41.857031],[60.19209,41.834424],[60.200781,41.803125],[60.176367,41.782275],[60.108594,41.792676],[60.075586,41.759668],[60.075586,41.700537],[60.124023,41.644971],[60.137988,41.594141],[60.106055,41.545215],[60.06875,41.476221],[60.067383,41.427344],[60.089648,41.399414],[60.2,41.348975],[60.45498,41.221631],[60.513574,41.216162],[60.754883,41.245752],[60.867188,41.248682],[60.933203,41.229004],[61.119922,41.210889],[61.179297,41.190576],[61.242383,41.189209],[61.328906,41.195117],[61.3875,41.252148],[61.417383,41.265137],[61.443652,41.274609],[61.496973,41.276074],[61.644531,41.239844],[61.799902,41.163428],[61.902832,41.093701],[61.953516,41.030615],[62.017578,40.893799],[62.09502,40.683301],[62.188477,40.541211],[62.298047,40.46748],[62.375,40.33208],[62.441602,40.03623],[62.483203,39.975635],[62.525488,39.944092],[62.650684,39.858496],[62.906836,39.716797],[63.058105,39.633154],[63.291895,39.499512],[63.506055,39.3771],[63.720801,39.188135],[63.763672,39.160547],[63.952539,39.05835],[64.162793,38.953613],[64.309961,38.977295],[64.531641,38.816211],[64.621875,38.756445],[64.659961,38.736035],[64.820703,38.672461],[65.07666,38.539453],[65.399609,38.348828],[65.612891,38.238574],[65.670898,38.225732],[65.728516,38.226367],[65.790234,38.250049],[65.857129,38.26875],[65.971191,38.244238],[66.094824,38.200146],[66.173145,38.166699],[66.263672,38.118066],[66.335352,38.072168],[66.389746,38.050928],[66.574512,38.010791],[66.60625,37.986719],[66.626367,37.959863],[66.629297,37.932031],[66.525586,37.785742],[66.511328,37.59917],[66.510645,37.458691],[66.522266,37.348486],[66.471875,37.344727],[66.350293,37.368164],[66.108398,37.414746],[65.900684,37.508105],[65.765039,37.569141],[65.743848,37.56084],[65.683008,37.519141],[65.641211,37.467822],[65.608008,37.368408],[65.55498,37.251172],[65.303613,37.246777],[65.089648,37.237939],[64.951563,37.193555],[64.816309,37.13208],[64.782422,37.059277],[64.753125,36.964795],[64.674316,36.750195],[64.602539,36.554541],[64.56582,36.427588],[64.511035,36.340674],[64.358008,36.226074],[64.184375,36.148926],[64.092188,36.112695],[64.051367,36.067627],[64.042383,36.025098],[64.009668,36.012109],[63.938086,36.019727],[63.8625,36.012354],[63.696582,35.967822],[63.516992,35.913135],[63.30166,35.858398],[63.178906,35.858447],[63.12998,35.846191],[63.108594,35.818701],[63.12998,35.766748],[63.150781,35.728271],[63.169727,35.678125],[63.119336,35.637549],[63.08418,35.568066],[63.056641,35.445801],[62.980273,35.40918],[62.858008,35.349658],[62.722656,35.271338],[62.688086,35.255322],[62.610547,35.233154],[62.533105,35.239893],[62.462891,35.251367],[62.386621,35.23125],[62.307813,35.170801],[62.271191,35.189111],[62.252832,35.250244],[62.213086,35.289941],[62.089648,35.379687],[61.983887,35.443701],[61.938086,35.4479],[61.841016,35.431494],[61.719727,35.419434],[61.620996,35.432324],[61.542773,35.457861],[61.421777,35.545801],[61.377734,35.593115],[61.344727,35.629492],[61.262012,35.61958],[61.238867,35.659277],[61.235547,35.705566],[61.258691,35.761816],[61.252148,35.867627],[61.205859,35.943701],[61.15293,35.976758],[61.159473,35.999902],[61.182617,36.052832],[61.212402,36.099121],[61.212012,36.190527],[61.175098,36.289697],[61.160352,36.432715],[61.169922,36.572266],[61.119629,36.642578],[60.70791,36.642969],[60.341309,36.637646],[60.320703,36.653564],[60.17832,36.829443],[60.062793,36.962891],[59.948633,37.041602],[59.687207,37.138477],[59.562207,37.178906],[59.45498,37.252832],[59.367383,37.33374],[59.344727,37.444727],[59.326953,37.481152],[59.301758,37.510645],[59.274121,37.52373],[59.24082,37.520752],[58.937207,37.649658],[58.81543,37.683496],[58.700781,37.65625],[58.650195,37.651562],[58.550488,37.688184],[58.435742,37.638525],[58.386719,37.635352],[58.318164,37.647217],[58.261621,37.66582],[58.108789,37.783057],[57.980566,37.830469],[57.888184,37.86084],[57.710547,37.905273],[57.520996,37.928467],[57.423828,37.947705],[57.353711,37.97334],[57.335742,37.989941],[57.336719,38.03291],[57.331445,38.089307],[57.308105,38.130371],[57.260156,38.17959],[57.193555,38.216406],[57.079004,38.209961],[56.906641,38.213037],[56.774609,38.250049],[56.669922,38.256641],[56.544043,38.249609],[56.440625,38.249414],[56.366895,38.22251],[56.324121,38.191113],[56.296973,38.094824],[56.27207,38.08042],[56.228809,38.073389],[56.171191,38.078369],[56.050293,38.077539],[55.841309,38.094629],[55.578418,38.099756],[55.380859,38.051123],[55.224707,37.981348],[55.075586,37.90249],[54.900098,37.77793],[54.848633,37.722656],[54.745215,37.501904],[54.699414,37.470166],[54.639648,37.444727],[54.578906,37.440234],[54.458691,37.407568],[54.299805,37.353613],[54.191602,37.332471],[53.91416,37.343555],[53.897852,37.413574],[53.847852,37.66958],[53.823535,37.92793],[53.825195,38.046924],[53.854102,38.285645],[53.851855,38.405908],[53.840039,38.514941],[53.851562,38.621777],[53.87373,38.741943],[53.885352,38.864062],[53.868652,38.949268],[53.814941,39.018018],[53.724121,39.103076],[53.709766,39.153418],[53.70459,39.20957],[53.617578,39.215967],[53.539453,39.274072],[53.475,39.305713],[53.336328,39.34082],[53.266797,39.342627],[53.20332,39.316797],[53.156641,39.26499],[53.124023,39.34668],[53.124805,39.43208],[53.235645,39.608545],[53.30498,39.55708],[53.389648,39.536426],[53.497363,39.533301],[53.603125,39.546973],[53.582422,39.607422],[53.533301,39.641748],[53.472266,39.668799],[53.450488,39.748535],[53.458301,39.831201],[53.487305,39.909375],[53.454297,39.940869],[53.404199,39.960352],[53.288574,39.958008],[53.138574,39.978662],[52.9875,39.987598],[52.952148,39.895459],[53.035547,39.774414],[52.964844,39.833887],[52.898242,39.9125],[52.804688,40.054004],[52.744434,40.219775],[52.733691,40.39873],[52.784766,40.546729],[52.849902,40.685645],[52.889258,40.863477],[52.943457,41.038086],[52.997656,40.959863],[53.05957,40.889746],[53.145215,40.824951],[53.191992,40.809473],[53.33291,40.782715],[53.423633,40.792773],[53.520313,40.831055],[53.615234,40.818506],[53.69375,40.746436],[53.76377,40.665674],[53.87002,40.648682],[54.088867,40.70708],[54.192969,40.72041],[54.283301,40.693701],[54.329883,40.68877],[54.377344,40.693262],[54.33623,40.764941],[54.319434,40.83457],[54.374414,40.871387],[54.54707,40.832275],[54.657031,40.85835],[54.685059,40.873047],[54.710059,40.891113],[54.723242,40.95127],[54.717969,41.012988],[54.703711,41.071143],[54.671484,41.122168],[54.592188,41.193555],[54.28457,41.363721],[54.181055,41.431592],[54.094824,41.519385],[54.039844,41.643359],[53.995215,41.772559],[53.953809,41.868457],[53.846484,42.091162],[53.804688,42.117627],[53.752344,42.129395],[53.624902,42.136377],[53.495898,42.120166],[53.284961,42.081836],[53.16416,42.093799],[53.108301,42.070068],[52.97002,41.976221],[52.905273,41.895752],[52.814844,41.711816],[52.883496,41.652539],[52.882227,41.613672],[52.830176,41.341895],[52.861816,41.210059],[52.850391,41.200293],[52.825586,41.230859],[52.747266,41.36543],[52.609375,41.529443],[52.493848,41.780371],[52.696875,41.944385],[52.870508,42.060596],[53.0125,42.130713],[53.055859,42.147754],[53.250098,42.205859],[53.500781,42.258252],[53.685352,42.296875],[53.926367,42.329785],[54.005176,42.335889],[54.120996,42.335205],[54.214941,42.304199],[54.271875,42.27998],[54.472852,42.180176],[54.67793,42.078223],[54.853809,41.965186],[54.903711,41.919092],[54.931641,41.864014],[54.952344,41.81001],[55.101855,41.638721],[55.162305,41.560254],[55.249609,41.458105],[55.319727,41.408398],[55.388379,41.346924],[55.434375,41.296289],[55.487012,41.272266],[55.545215,41.262744],[55.678613,41.278809],[55.839063,41.310791],[55.934961,41.324121],[55.977441,41.322217]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":3,"LABELRANK":2,"SOVEREIGNT":"Turkey","SOV_A3":"TUR","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Turkey","ADM0_A3":"TUR","GEOU_DIF":0,"GEOUNIT":"Turkey","GU_A3":"TUR","SU_DIF":0,"SUBUNIT":"Turkey","SU_A3":"TUR","BRK_DIFF":0,"NAME":"Turkey","NAME_LONG":"Turkey","BRK_A3":"TUR","BRK_NAME":"Turkey","BRK_GROUP":null,"ABBREV":"Tur.","POSTAL":"TR","FORMAL_EN":"Republic of Turkey","FORMAL_FR":null,"NAME_CIAWF":"Turkey","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Turkey","NAME_ALT":null,"MAPCOLOR7":6,"MAPCOLOR8":3,"MAPCOLOR9":8,"MAPCOLOR13":4,"POP_EST":83429615,"POP_RANK":16,"POP_YEAR":2019,"GDP_MD":761425,"GDP_YEAR":2019,"ECONOMY":"4. Emerging region: MIKT","INCOME_GRP":"3. Upper middle income","FIPS_10":"TU","ISO_A2":"TR","ISO_A2_EH":"TR","ISO_A3":"TUR","ISO_A3_EH":"TUR","ISO_N3":"792","ISO_N3_EH":"792","UN_A3":"792","WB_A2":"TR","WB_A3":"TUR","WOE_ID":23424969,"WOE_ID_EH":23424969,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"TUR","ADM0_DIFF":null,"ADM0_TLC":"TUR","ADM0_A3_US":"TUR","ADM0_A3_FR":"TUR","ADM0_A3_RU":"TUR","ADM0_A3_ES":"TUR","ADM0_A3_CN":"TUR","ADM0_A3_TW":"TUR","ADM0_A3_IN":"TUR","ADM0_A3_NP":"TUR","ADM0_A3_PK":"TUR","ADM0_A3_DE":"TUR","ADM0_A3_GB":"TUR","ADM0_A3_BR":"TUR","ADM0_A3_IL":"TUR","ADM0_A3_PS":"TUR","ADM0_A3_SA":"TUR","ADM0_A3_EG":"TUR","ADM0_A3_MA":"TUR","ADM0_A3_PT":"TUR","ADM0_A3_AR":"TUR","ADM0_A3_JP":"TUR","ADM0_A3_KO":"TUR","ADM0_A3_VN":"TUR","ADM0_A3_TR":"TUR","ADM0_A3_ID":"TUR","ADM0_A3_PL":"TUR","ADM0_A3_GR":"TUR","ADM0_A3_IT":"TUR","ADM0_A3_NL":"TUR","ADM0_A3_SE":"TUR","ADM0_A3_BD":"TUR","ADM0_A3_UA":"TUR","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Asia","REGION_UN":"Asia","SUBREGION":"Western Asia","REGION_WB":"Europe & Central Asia","NAME_LEN":6,"LONG_LEN":6,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":2,"MAX_LABEL":7,"LABEL_X":34.508268,"LABEL_Y":39.345388,"NE_ID":1159321331,"WIKIDATAID":"Q43","NAME_AR":"تركيا","NAME_BN":"তুরস্ক","NAME_DE":"Türkei","NAME_EN":"Turkey","NAME_ES":"Turquía","NAME_FA":"ترکیه","NAME_FR":"Turquie","NAME_EL":"Τουρκία","NAME_HE":"טורקיה","NAME_HI":"तुर्की","NAME_HU":"Törökország","NAME_ID":"Turki","NAME_IT":"Turchia","NAME_JA":"トルコ","NAME_KO":"터키","NAME_NL":"Turkije","NAME_PL":"Turcja","NAME_PT":"Turquia","NAME_RU":"Турция","NAME_SV":"Turkiet","NAME_TR":"Türkiye","NAME_UK":"Туреччина","NAME_UR":"ترکی","NAME_VI":"Thổ Nhĩ Kỳ","NAME_ZH":"土耳其","NAME_ZHT":"土耳其","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[25.668945,35.831445,44.817188,42.093262],"geometry":{"type":"MultiPolygon","coordinates":[[[[25.97002,40.136328],[25.740234,40.105469],[25.668945,40.135889],[25.740918,40.196289],[25.874805,40.233691],[25.918359,40.237988],[25.977051,40.177832],[25.97002,40.136328]]],[[[41.510059,41.51748],[41.576563,41.497314],[41.701758,41.471582],[41.779395,41.440527],[41.823535,41.432373],[41.925781,41.495654],[42.077734,41.494092],[42.211133,41.486719],[42.27998,41.475],[42.364355,41.454004],[42.466406,41.439844],[42.50791,41.470068],[42.567383,41.559277],[42.59043,41.570703],[42.606836,41.578809],[42.682422,41.585742],[42.754102,41.578906],[42.787891,41.563721],[42.82168,41.492383],[42.906738,41.466846],[43.057129,41.352832],[43.149023,41.307129],[43.171289,41.287939],[43.141016,41.264844],[43.152832,41.236426],[43.205469,41.19917],[43.279297,41.185205],[43.358984,41.190137],[43.402344,41.176562],[43.433398,41.155518],[43.441602,41.125977],[43.439453,41.107129],[43.455273,41.064697],[43.51748,41.004834],[43.591699,40.968213],[43.631641,40.929004],[43.696484,40.794141],[43.722656,40.719531],[43.712891,40.647754],[43.667871,40.574072],[43.569336,40.482373],[43.59375,40.444043],[43.61582,40.393311],[43.608398,40.356592],[43.678125,40.239307],[43.709863,40.166504],[43.683301,40.149658],[43.666211,40.126367],[43.791699,40.070264],[43.941992,40.023145],[44.005371,40.014111],[44.178027,40.035742],[44.289258,40.040381],[44.399609,39.995752],[44.560449,39.887598],[44.733789,39.746484],[44.768262,39.703516],[44.783398,39.684668],[44.817188,39.650439],[44.782129,39.651074],[44.725,39.681738],[44.587109,39.768555],[44.516699,39.73125],[44.455957,39.666748],[44.389355,39.422119],[44.335449,39.396045],[44.24043,39.396777],[44.124023,39.405225],[44.043945,39.392969],[44.023242,39.377441],[44.033789,39.351025],[44.05752,39.31084],[44.074316,39.259961],[44.079102,39.218311],[44.121289,39.180615],[44.178027,39.144824],[44.180566,39.108057],[44.171875,39.05625],[44.158789,39.016748],[44.144531,38.994385],[44.170801,38.934375],[44.232422,38.863232],[44.27168,38.836035],[44.257031,38.700635],[44.280176,38.640674],[44.297852,38.557812],[44.29082,38.420117],[44.298535,38.386279],[44.319629,38.374707],[44.375781,38.36958],[44.430859,38.356787],[44.449902,38.334229],[44.449609,38.317773],[44.380859,38.25459],[44.372754,38.209717],[44.348926,38.146484],[44.329395,38.109277],[44.267969,38.038818],[44.228906,37.967187],[44.211328,37.908057],[44.222949,37.880176],[44.33623,37.871777],[44.397754,37.829248],[44.56123,37.744629],[44.589941,37.710352],[44.545313,37.658154],[44.546094,37.636328],[44.567188,37.608643],[44.577148,37.560205],[44.573145,37.506396],[44.574023,37.4354],[44.604102,37.42373],[44.715137,37.357129],[44.794141,37.290381],[44.796777,37.269775],[44.758301,37.21709],[44.766699,37.156348],[44.765137,37.142432],[44.730957,37.165283],[44.669336,37.173584],[44.605957,37.176025],[44.566016,37.158252],[44.495996,37.110547],[44.401953,37.058496],[44.325586,37.010742],[44.281836,36.978027],[44.245703,36.983301],[44.21748,37.011865],[44.20166,37.051807],[44.208398,37.202637],[44.191797,37.249854],[44.15625,37.282959],[44.114453,37.301855],[44.064648,37.312451],[44.013184,37.313525],[43.940039,37.269287],[43.836426,37.223535],[43.675781,37.227246],[43.567969,37.23584],[43.51582,37.244531],[43.306738,37.314648],[43.263086,37.316504],[43.185156,37.344873],[43.09248,37.367383],[42.936621,37.324756],[42.869141,37.334912],[42.774609,37.371875],[42.741113,37.361914],[42.635449,37.249268],[42.455859,37.128711],[42.358984,37.108594],[42.312891,37.22959],[42.268555,37.276562],[42.247559,37.282227],[42.202734,37.297266],[42.167871,37.288623],[42.059863,37.206055],[41.886816,37.156396],[41.743555,37.126123],[41.515527,37.08916],[41.339551,37.070801],[41.264648,37.069336],[41.102148,37.085889],[40.958887,37.10918],[40.815625,37.108154],[40.705664,37.097705],[40.450391,37.008887],[40.016406,36.826074],[39.686523,36.738623],[39.501465,36.702246],[39.356641,36.681592],[39.108398,36.680566],[38.906445,36.694678],[38.766602,36.693115],[38.688867,36.715088],[38.578027,36.789111],[38.44375,36.862256],[38.383984,36.879248],[38.305859,36.893359],[38.191699,36.901562],[37.906641,36.794629],[37.817969,36.765576],[37.720313,36.743701],[37.523535,36.67832],[37.436328,36.643311],[37.327051,36.646582],[37.187402,36.655908],[37.066211,36.652637],[36.985352,36.702393],[36.941797,36.758398],[36.776563,36.792676],[36.658594,36.802539],[36.628418,36.777686],[36.596875,36.701367],[36.54668,36.506348],[36.5375,36.457422],[36.641406,36.263525],[36.636719,36.233984],[36.562402,36.223926],[36.477051,36.220703],[36.421484,36.203467],[36.375391,36.17124],[36.347559,36.003516],[36.248828,35.972705],[36.201953,35.937549],[36.153613,35.833887],[36.127344,35.831445],[35.967578,35.910059],[35.892676,35.916553],[35.956934,35.998145],[35.887109,36.159082],[35.810938,36.309863],[35.882812,36.406348],[36.031738,36.522705],[36.188477,36.658984],[36.188184,36.743066],[36.180078,36.807227],[36.135156,36.851611],[36.048926,36.910596],[35.90459,36.847607],[35.801563,36.778076],[35.734277,36.763965],[35.661133,36.724316],[35.625586,36.652783],[35.537402,36.597021],[35.393164,36.575195],[35.176172,36.634863],[34.943164,36.725684],[34.81123,36.799268],[34.703613,36.816797],[34.601367,36.784473],[34.299609,36.604199],[34.023438,36.340771],[33.954883,36.295215],[33.694727,36.181982],[33.522754,36.143994],[33.441797,36.152832],[33.099512,36.102979],[32.929492,36.095703],[32.794824,36.035889],[32.533789,36.100732],[32.377734,36.183643],[32.283789,36.267871],[32.130566,36.449121],[32.021973,36.535303],[31.77793,36.612793],[31.352539,36.801074],[31.240625,36.821729],[30.950293,36.848682],[30.644043,36.865674],[30.582031,36.797168],[30.558496,36.52583],[30.506055,36.451123],[30.483594,36.3104],[30.446094,36.269873],[30.387305,36.243262],[30.29541,36.287695],[30.231641,36.307324],[30.083203,36.249365],[29.789258,36.168066],[29.689063,36.156689],[29.34834,36.258838],[29.223633,36.324463],[29.143262,36.397217],[29.116113,36.520117],[29.065527,36.590088],[29.058105,36.638135],[29.038281,36.693457],[28.969629,36.715332],[28.895898,36.673584],[28.816895,36.675293],[28.717676,36.700879],[28.483594,36.803809],[28.303711,36.811963],[28.195605,36.686328],[28.111523,36.646387],[28.019434,36.634473],[28.01416,36.670215],[28.083984,36.751465],[27.803809,36.736475],[27.655859,36.674609],[27.54043,36.684229],[27.453906,36.712158],[27.466895,36.746338],[27.554688,36.758887],[27.630859,36.78667],[27.934473,36.809277],[28.005371,36.831982],[28.083008,36.920264],[28.224414,36.996387],[28.242383,37.029053],[28.133691,37.029492],[27.668359,37.007422],[27.348926,37.01958],[27.311035,36.981885],[27.262988,36.976562],[27.249707,37.07915],[27.300195,37.126855],[27.368164,37.122412],[27.535059,37.163867],[27.520117,37.249121],[27.400586,37.306738],[27.37627,37.340723],[27.289551,37.348682],[27.219238,37.38916],[27.203906,37.491406],[27.147949,37.603613],[27.067969,37.65791],[27.077832,37.687695],[27.224414,37.725439],[27.254785,37.882324],[27.232422,37.978662],[27.158691,37.986865],[26.943848,38.062891],[26.878613,38.054785],[26.807422,38.13833],[26.682813,38.19834],[26.621094,38.176367],[26.582422,38.149268],[26.524707,38.162256],[26.42793,38.214355],[26.33291,38.24248],[26.290723,38.277197],[26.343652,38.370068],[26.416406,38.367871],[26.429688,38.440625],[26.372266,38.561914],[26.377832,38.62417],[26.441309,38.641211],[26.513574,38.629492],[26.586523,38.557031],[26.610352,38.486914],[26.59502,38.418604],[26.641309,38.352441],[26.674219,38.335742],[26.696387,38.405371],[26.727344,38.418604],[26.769922,38.388184],[26.861426,38.372949],[27.098633,38.415723],[27.144238,38.451953],[26.97041,38.447852],[26.906836,38.481738],[26.837793,38.557568],[26.795313,38.626416],[26.787695,38.660205],[26.763672,38.709619],[26.790137,38.736084],[26.90918,38.775781],[27.013672,38.886865],[26.970117,38.919043],[26.920313,38.934229],[26.866211,38.922949],[26.814941,38.960986],[26.808301,39.013916],[26.849316,39.056738],[26.853613,39.115625],[26.719336,39.260645],[26.681836,39.292236],[26.710742,39.339648],[26.813281,39.419043],[26.910938,39.517334],[26.899219,39.549658],[26.827051,39.562891],[26.484082,39.520703],[26.350781,39.484082],[26.113086,39.467383],[26.095996,39.520801],[26.101367,39.568945],[26.154688,39.656641],[26.149805,39.872852],[26.181348,39.990088],[26.313379,40.025],[26.475391,40.197266],[26.738086,40.400244],[27.012109,40.396338],[27.12168,40.452344],[27.28457,40.455615],[27.31416,40.414893],[27.332617,40.375928],[27.475586,40.319922],[27.728027,40.328809],[27.789355,40.350879],[27.848535,40.381738],[27.731836,40.481494],[27.769141,40.509619],[27.874902,40.512939],[27.989551,40.489453],[27.994824,40.466602],[27.964355,40.435303],[27.928906,40.38042],[27.962598,40.369873],[28.289062,40.403027],[28.630273,40.376465],[28.738867,40.390869],[29.007129,40.389746],[29.055176,40.42417],[28.974023,40.467383],[28.894629,40.482422],[28.841211,40.503467],[28.787891,40.534033],[28.958008,40.630566],[29.054102,40.649121],[29.507617,40.708398],[29.844922,40.738086],[29.849219,40.760107],[29.800586,40.760156],[29.364746,40.809277],[29.259766,40.847314],[29.113867,40.937842],[29.082227,40.963428],[29.045508,41.007568],[29.067383,41.10166],[29.094336,41.177246],[29.148145,41.221045],[29.322266,41.227734],[29.919336,41.15083],[30.344922,41.196924],[30.810059,41.084863],[31.254883,41.107617],[31.34668,41.15791],[31.458008,41.32002],[32.086426,41.589209],[32.306445,41.72959],[32.542188,41.806396],[32.94668,41.891748],[33.284766,42.00459],[33.381348,42.017578],[34.192969,41.963672],[34.750488,41.956836],[35.006445,42.063281],[35.154883,42.027539],[35.141016,41.989502],[35.114063,41.956982],[35.12207,41.891113],[35.20918,41.794385],[35.297754,41.728516],[35.558008,41.634033],[35.919824,41.713721],[35.978125,41.704834],[36.051758,41.682568],[36.179199,41.426562],[36.278418,41.336133],[36.405371,41.274609],[36.509668,41.2625],[36.587109,41.32666],[36.64707,41.352539],[36.777734,41.363477],[36.991992,41.275391],[37.066211,41.184424],[37.430957,41.114111],[37.765625,41.078906],[37.910059,41.001904],[38.381055,40.924512],[38.556934,40.936523],[38.852148,41.017676],[39.426367,41.106445],[39.80791,40.98252],[39.911133,40.966455],[40.000195,40.977148],[40.128418,40.943018],[40.265234,40.961328],[40.6875,41.107422],[40.819531,41.190234],[40.959473,41.211621],[41.083594,41.261182],[41.414355,41.423633],[41.510059,41.51748]]],[[[28.014453,41.969043],[27.987305,41.854883],[28.050293,41.72915],[28.197852,41.554492],[28.346387,41.466357],[28.946777,41.248389],[29.057227,41.229736],[29.032129,41.140479],[28.995996,41.061133],[28.95625,41.008203],[28.780371,40.97417],[28.294922,41.071484],[28.172168,41.080713],[28.085547,41.061328],[27.925195,40.990576],[27.747363,41.013281],[27.499414,40.973145],[27.430176,40.839941],[27.258008,40.687354],[26.974609,40.564014],[26.77207,40.498047],[26.467969,40.261475],[26.32998,40.123389],[26.271777,40.096582],[26.202734,40.075391],[26.225977,40.141699],[26.260156,40.202393],[26.252344,40.248145],[26.253809,40.314697],[26.355273,40.390234],[26.447461,40.44502],[26.720313,40.544238],[26.79209,40.626611],[26.578125,40.624658],[26.360938,40.606348],[26.224219,40.618066],[26.105469,40.611328],[26.067773,40.683398],[26.038965,40.726758],[26.069727,40.740283],[26.10918,40.749658],[26.178906,40.826514],[26.241211,40.883203],[26.331055,40.954492],[26.354102,40.99707],[26.354102,41.036768],[26.332617,41.064307],[26.328418,41.097021],[26.325684,41.143262],[26.330664,41.23877],[26.536426,41.343115],[26.602344,41.35415],[26.624902,41.401758],[26.609766,41.512158],[26.581348,41.60127],[26.544531,41.607227],[26.49502,41.633252],[26.4625,41.663379],[26.410547,41.696338],[26.320898,41.716553],[26.317969,41.744678],[26.327246,41.772803],[26.360352,41.801562],[26.511426,41.826367],[26.529297,41.84668],[26.549707,41.896729],[26.579688,41.947949],[26.615332,41.964893],[26.679199,41.96333],[26.800391,41.975146],[26.884863,41.991846],[26.96875,42.026855],[27.011719,42.058643],[27.193359,42.0771],[27.244336,42.093262],[27.294922,42.079541],[27.362891,42.025049],[27.474805,41.946875],[27.534863,41.920801],[27.579883,41.93291],[27.661133,41.961328],[27.738867,41.961523],[27.80166,41.956543],[27.831934,41.981299],[27.879199,41.986621],[28.014453,41.969043]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":3,"SOVEREIGNT":"Tunisia","SOV_A3":"TUN","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Tunisia","ADM0_A3":"TUN","GEOU_DIF":0,"GEOUNIT":"Tunisia","GU_A3":"TUN","SU_DIF":0,"SUBUNIT":"Tunisia","SU_A3":"TUN","BRK_DIFF":0,"NAME":"Tunisia","NAME_LONG":"Tunisia","BRK_A3":"TUN","BRK_NAME":"Tunisia","BRK_GROUP":null,"ABBREV":"Tun.","POSTAL":"TN","FORMAL_EN":"Republic of Tunisia","FORMAL_FR":null,"NAME_CIAWF":"Tunisia","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Tunisia","NAME_ALT":null,"MAPCOLOR7":4,"MAPCOLOR8":3,"MAPCOLOR9":3,"MAPCOLOR13":2,"POP_EST":11694719,"POP_RANK":14,"POP_YEAR":2019,"GDP_MD":38796,"GDP_YEAR":2019,"ECONOMY":"6. Developing region","INCOME_GRP":"3. Upper middle income","FIPS_10":"TS","ISO_A2":"TN","ISO_A2_EH":"TN","ISO_A3":"TUN","ISO_A3_EH":"TUN","ISO_N3":"788","ISO_N3_EH":"788","UN_A3":"788","WB_A2":"TN","WB_A3":"TUN","WOE_ID":23424967,"WOE_ID_EH":23424967,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"TUN","ADM0_DIFF":null,"ADM0_TLC":"TUN","ADM0_A3_US":"TUN","ADM0_A3_FR":"TUN","ADM0_A3_RU":"TUN","ADM0_A3_ES":"TUN","ADM0_A3_CN":"TUN","ADM0_A3_TW":"TUN","ADM0_A3_IN":"TUN","ADM0_A3_NP":"TUN","ADM0_A3_PK":"TUN","ADM0_A3_DE":"TUN","ADM0_A3_GB":"TUN","ADM0_A3_BR":"TUN","ADM0_A3_IL":"TUN","ADM0_A3_PS":"TUN","ADM0_A3_SA":"TUN","ADM0_A3_EG":"TUN","ADM0_A3_MA":"TUN","ADM0_A3_PT":"TUN","ADM0_A3_AR":"TUN","ADM0_A3_JP":"TUN","ADM0_A3_KO":"TUN","ADM0_A3_VN":"TUN","ADM0_A3_TR":"TUN","ADM0_A3_ID":"TUN","ADM0_A3_PL":"TUN","ADM0_A3_GR":"TUN","ADM0_A3_IT":"TUN","ADM0_A3_NL":"TUN","ADM0_A3_SE":"TUN","ADM0_A3_BD":"TUN","ADM0_A3_UA":"TUN","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Africa","REGION_UN":"Africa","SUBREGION":"Northern Africa","REGION_WB":"Middle East & North Africa","NAME_LEN":7,"LONG_LEN":7,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":3,"MAX_LABEL":8,"LABEL_X":9.007881,"LABEL_Y":33.687263,"NE_ID":1159321327,"WIKIDATAID":"Q948","NAME_AR":"تونس","NAME_BN":"তিউনিসিয়া","NAME_DE":"Tunesien","NAME_EN":"Tunisia","NAME_ES":"Túnez","NAME_FA":"تونس","NAME_FR":"Tunisie","NAME_EL":"Τυνησία","NAME_HE":"תוניסיה","NAME_HI":"ट्यूनिशिया","NAME_HU":"Tunézia","NAME_ID":"Tunisia","NAME_IT":"Tunisia","NAME_JA":"チュニジア","NAME_KO":"튀니지","NAME_NL":"Tunesië","NAME_PL":"Tunezja","NAME_PT":"Tunísia","NAME_RU":"Тунис","NAME_SV":"Tunisien","NAME_TR":"Tunus","NAME_UK":"Туніс","NAME_UR":"تونس","NAME_VI":"Tuy-ni-di","NAME_ZH":"突尼斯","NAME_ZHT":"突尼西亞","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[7.495605,30.229395,11.535938,37.340381],"geometry":{"type":"MultiPolygon","coordinates":[[[[11.50459,33.181934],[11.502441,33.155566],[11.467188,32.965723],[11.45918,32.897363],[11.453906,32.781689],[11.453906,32.642578],[11.533789,32.524951],[11.535938,32.47334],[11.50498,32.413672],[11.358008,32.345215],[11.168262,32.256738],[11.005176,32.172705],[10.826367,32.080664],[10.771582,32.021191],[10.683008,31.975391],[10.608887,31.929541],[10.595508,31.885742],[10.543652,31.802539],[10.475781,31.736035],[10.306055,31.704834],[10.274609,31.684961],[10.195996,31.585107],[10.159863,31.545801],[10.114941,31.46377],[10.172656,31.250977],[10.243359,31.032129],[10.257031,30.94082],[10.256055,30.864941],[10.216406,30.783203],[10.125977,30.665967],[10.059766,30.580078],[9.93252,30.425342],[9.89502,30.387305],[9.807422,30.342236],[9.637988,30.282324],[9.51875,30.229395],[9.458008,30.465381],[9.406055,30.666797],[9.363281,30.83291],[9.287891,31.125342],[9.224023,31.373682],[9.160254,31.621338],[9.102344,31.846143],[9.044043,32.072363],[9.018945,32.105371],[8.844043,32.212109],[8.68291,32.310449],[8.515137,32.422314],[8.333398,32.543604],[8.304199,32.696289],[8.210938,32.926709],[8.1125,33.055322],[8.075586,33.089062],[7.877246,33.172119],[7.762695,33.233105],[7.731348,33.268506],[7.70918,33.362305],[7.627539,33.548633],[7.534375,33.71792],[7.500195,33.832471],[7.495605,33.976514],[7.513867,34.080518],[7.554492,34.125],[7.748535,34.254492],[7.838281,34.410303],[7.949414,34.468701],[8.045605,34.512695],[8.123438,34.563916],[8.192773,34.646289],[8.245605,34.734082],[8.254688,34.828955],[8.276855,34.979492],[8.312109,35.084619],[8.394238,35.203857],[8.359863,35.299609],[8.316406,35.403125],[8.329004,35.582227],[8.318066,35.654932],[8.28291,35.719287],[8.24707,35.801807],[8.245703,35.870557],[8.280273,36.050977],[8.306738,36.18877],[8.34873,36.367969],[8.333984,36.418164],[8.302734,36.455615],[8.208789,36.495117],[8.207617,36.518945],[8.230762,36.545264],[8.369629,36.63252],[8.444238,36.760742],[8.506738,36.7875],[8.60127,36.833936],[8.597656,36.883887],[8.576563,36.937207],[8.823535,36.997607],[9.058887,37.155859],[9.141992,37.194629],[9.687988,37.340381],[9.758887,37.330273],[9.838477,37.308984],[9.815527,37.254639],[9.783984,37.211426],[9.830273,37.135352],[9.896387,37.181641],[9.879395,37.212842],[9.875586,37.25415],[9.988086,37.257764],[10.087402,37.25127],[10.196387,37.205859],[10.18877,37.033887],[10.334082,36.865381],[10.293262,36.781494],[10.412305,36.731836],[10.518164,36.791357],[10.571289,36.879443],[10.766211,36.930273],[10.951367,37.059277],[11.053906,37.07251],[11.077051,36.966699],[11.12666,36.874072],[11.056543,36.841455],[10.967188,36.743018],[10.798145,36.493115],[10.642383,36.419629],[10.525684,36.32334],[10.487988,36.254883],[10.476562,36.175146],[10.505762,36.032422],[10.59082,35.887256],[10.688965,35.799512],[10.783691,35.77207],[11.004297,35.633838],[11.000684,35.551611],[11.031543,35.453857],[11.043262,35.335107],[11.120117,35.240283],[10.955859,35.033643],[10.866211,34.884326],[10.690918,34.678467],[10.534863,34.544727],[10.200391,34.346045],[10.118359,34.280078],[10.064844,34.211621],[10.040039,34.140332],[10.049023,34.056299],[10.158984,33.850049],[10.305273,33.728271],[10.454297,33.6625],[10.713184,33.689014],[10.704297,33.609668],[10.722754,33.514404],[10.828125,33.518896],[10.898438,33.533691],[10.958008,33.626318],[11.08457,33.562891],[11.150293,33.369238],[11.257422,33.308838],[11.269922,33.286328],[11.232129,33.271582],[11.202637,33.249219],[11.234277,33.233594],[11.338086,33.209473],[11.400586,33.224902],[11.50459,33.181934]]],[[[11.278027,34.753809],[11.123633,34.681689],[11.153027,34.74458],[11.254883,34.820312],[11.281055,34.802197],[11.278027,34.753809]]],[[[10.957617,33.72207],[10.931348,33.717432],[10.883008,33.690186],[10.857422,33.687158],[10.784766,33.717676],[10.757031,33.71748],[10.72207,33.738916],[10.733887,33.855615],[10.745215,33.888672],[10.921973,33.893115],[11.017871,33.82334],[11.033594,33.805029],[11.037598,33.785059],[10.993066,33.745947],[10.957617,33.72207]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":3,"LABELRANK":5,"SOVEREIGNT":"Trinidad and Tobago","SOV_A3":"TTO","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Trinidad and Tobago","ADM0_A3":"TTO","GEOU_DIF":0,"GEOUNIT":"Trinidad and Tobago","GU_A3":"TTO","SU_DIF":0,"SUBUNIT":"Trinidad and Tobago","SU_A3":"TTO","BRK_DIFF":0,"NAME":"Trinidad and Tobago","NAME_LONG":"Trinidad and Tobago","BRK_A3":"TTO","BRK_NAME":"Trinidad and Tobago","BRK_GROUP":null,"ABBREV":"Tr.T.","POSTAL":"TT","FORMAL_EN":"Republic of Trinidad and Tobago","FORMAL_FR":null,"NAME_CIAWF":"Trinidad and Tobago","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Trinidad and Tobago","NAME_ALT":null,"MAPCOLOR7":5,"MAPCOLOR8":6,"MAPCOLOR9":2,"MAPCOLOR13":5,"POP_EST":1394973,"POP_RANK":12,"POP_YEAR":2019,"GDP_MD":24269,"GDP_YEAR":2019,"ECONOMY":"6. Developing region","INCOME_GRP":"2. High income: nonOECD","FIPS_10":"TD","ISO_A2":"TT","ISO_A2_EH":"TT","ISO_A3":"TTO","ISO_A3_EH":"TTO","ISO_N3":"780","ISO_N3_EH":"780","UN_A3":"780","WB_A2":"TT","WB_A3":"TTO","WOE_ID":23424958,"WOE_ID_EH":23424958,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"TTO","ADM0_DIFF":null,"ADM0_TLC":"TTO","ADM0_A3_US":"TTO","ADM0_A3_FR":"TTO","ADM0_A3_RU":"TTO","ADM0_A3_ES":"TTO","ADM0_A3_CN":"TTO","ADM0_A3_TW":"TTO","ADM0_A3_IN":"TTO","ADM0_A3_NP":"TTO","ADM0_A3_PK":"TTO","ADM0_A3_DE":"TTO","ADM0_A3_GB":"TTO","ADM0_A3_BR":"TTO","ADM0_A3_IL":"TTO","ADM0_A3_PS":"TTO","ADM0_A3_SA":"TTO","ADM0_A3_EG":"TTO","ADM0_A3_MA":"TTO","ADM0_A3_PT":"TTO","ADM0_A3_AR":"TTO","ADM0_A3_JP":"TTO","ADM0_A3_KO":"TTO","ADM0_A3_VN":"TTO","ADM0_A3_TR":"TTO","ADM0_A3_ID":"TTO","ADM0_A3_PL":"TTO","ADM0_A3_GR":"TTO","ADM0_A3_IT":"TTO","ADM0_A3_NL":"TTO","ADM0_A3_SE":"TTO","ADM0_A3_BD":"TTO","ADM0_A3_UA":"TTO","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"North America","REGION_UN":"Americas","SUBREGION":"Caribbean","REGION_WB":"Latin America & Caribbean","NAME_LEN":19,"LONG_LEN":19,"ABBREV_LEN":5,"TINY":2,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":4.5,"MAX_LABEL":9.5,"LABEL_X":-60.9184,"LABEL_Y":10.9989,"NE_ID":1159321321,"WIKIDATAID":"Q754","NAME_AR":"ترينيداد وتوباغو","NAME_BN":"ত্রিনিদাদ ও টোবাগো","NAME_DE":"Trinidad und Tobago","NAME_EN":"Trinidad and Tobago","NAME_ES":"Trinidad y Tobago","NAME_FA":"ترینیداد و توباگو","NAME_FR":"Trinité-et-Tobago","NAME_EL":"Τρινιντάντ και Τομπάγκο","NAME_HE":"טרינידד וטובגו","NAME_HI":"त्रिनिदाद और टोबैगो","NAME_HU":"Trinidad és Tobago","NAME_ID":"Trinidad dan Tobago","NAME_IT":"Trinidad e Tobago","NAME_JA":"トリニダード・トバゴ","NAME_KO":"트리니다드 토바고","NAME_NL":"Trinidad en Tobago","NAME_PL":"Trynidad i Tobago","NAME_PT":"Trinidad e Tobago","NAME_RU":"Тринидад и Тобаго","NAME_SV":"Trinidad och Tobago","NAME_TR":"Trinidad ve Tobago","NAME_UK":"Тринідад і Тобаго","NAME_UR":"ٹرینیڈاڈ و ٹوباگو","NAME_VI":"Trinidad và Tobago","NAME_ZH":"特立尼达和多巴哥","NAME_ZHT":"千里達及托巴哥","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[-61.906104,10.064648,-60.525488,11.325391],"geometry":{"type":"MultiPolygon","coordinates":[[[[-60.756299,11.178516],[-60.810645,11.168604],[-60.804297,11.208398],[-60.708936,11.277246],[-60.562793,11.323535],[-60.525488,11.325391],[-60.546484,11.263721],[-60.756299,11.178516]]],[[[-61.012109,10.134326],[-61.174268,10.078027],[-61.59668,10.064648],[-61.77168,10.085059],[-61.906104,10.069141],[-61.661475,10.191699],[-61.632715,10.243408],[-61.528857,10.253125],[-61.499316,10.268555],[-61.464746,10.538965],[-61.478271,10.603369],[-61.498828,10.638867],[-61.540918,10.664453],[-61.635303,10.699365],[-61.651172,10.718066],[-61.591846,10.747949],[-61.464844,10.764453],[-61.37002,10.796826],[-61.17373,10.80332],[-61.078516,10.831934],[-60.917627,10.840234],[-60.996729,10.716162],[-61.03374,10.669873],[-61.019336,10.558105],[-61.0375,10.482275],[-61.016406,10.386377],[-60.968457,10.323389],[-60.999609,10.261475],[-61.004102,10.167822],[-61.012109,10.134326]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":3,"LABELRANK":4,"SOVEREIGNT":"Tonga","SOV_A3":"TON","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Tonga","ADM0_A3":"TON","GEOU_DIF":0,"GEOUNIT":"Tonga","GU_A3":"TON","SU_DIF":0,"SUBUNIT":"Tonga","SU_A3":"TON","BRK_DIFF":0,"NAME":"Tonga","NAME_LONG":"Tonga","BRK_A3":"TON","BRK_NAME":"Tonga","BRK_GROUP":null,"ABBREV":"Tongo","POSTAL":"TO","FORMAL_EN":"Kingdom of Tonga","FORMAL_FR":null,"NAME_CIAWF":"Tonga","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Tonga","NAME_ALT":null,"MAPCOLOR7":2,"MAPCOLOR8":1,"MAPCOLOR9":1,"MAPCOLOR13":8,"POP_EST":104494,"POP_RANK":9,"POP_YEAR":2019,"GDP_MD":512,"GDP_YEAR":2019,"ECONOMY":"6. Developing region","INCOME_GRP":"4. Lower middle income","FIPS_10":"TN","ISO_A2":"TO","ISO_A2_EH":"TO","ISO_A3":"TON","ISO_A3_EH":"TON","ISO_N3":"776","ISO_N3_EH":"776","UN_A3":"776","WB_A2":"TO","WB_A3":"TON","WOE_ID":23424964,"WOE_ID_EH":23424964,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"TON","ADM0_DIFF":null,"ADM0_TLC":"TON","ADM0_A3_US":"TON","ADM0_A3_FR":"TON","ADM0_A3_RU":"TON","ADM0_A3_ES":"TON","ADM0_A3_CN":"TON","ADM0_A3_TW":"TON","ADM0_A3_IN":"TON","ADM0_A3_NP":"TON","ADM0_A3_PK":"TON","ADM0_A3_DE":"TON","ADM0_A3_GB":"TON","ADM0_A3_BR":"TON","ADM0_A3_IL":"TON","ADM0_A3_PS":"TON","ADM0_A3_SA":"TON","ADM0_A3_EG":"TON","ADM0_A3_MA":"TON","ADM0_A3_PT":"TON","ADM0_A3_AR":"TON","ADM0_A3_JP":"TON","ADM0_A3_KO":"TON","ADM0_A3_VN":"TON","ADM0_A3_TR":"TON","ADM0_A3_ID":"TON","ADM0_A3_PL":"TON","ADM0_A3_GR":"TON","ADM0_A3_IT":"TON","ADM0_A3_NL":"TON","ADM0_A3_SE":"TON","ADM0_A3_BD":"TON","ADM0_A3_UA":"TON","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Oceania","REGION_UN":"Oceania","SUBREGION":"Polynesia","REGION_WB":"East Asia & Pacific","NAME_LEN":5,"LONG_LEN":5,"ABBREV_LEN":5,"TINY":3,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":4,"MAX_LABEL":9,"LABEL_X":-175.163014,"LABEL_Y":-21.210026,"NE_ID":1159321319,"WIKIDATAID":"Q678","NAME_AR":"تونغا","NAME_BN":"টোঙ্গা","NAME_DE":"Tonga","NAME_EN":"Tonga","NAME_ES":"Tonga","NAME_FA":"تونگا","NAME_FR":"Tonga","NAME_EL":"Τόνγκα","NAME_HE":"טונגה","NAME_HI":"टोंगा","NAME_HU":"Tonga","NAME_ID":"Tonga","NAME_IT":"Tonga","NAME_JA":"トンガ","NAME_KO":"통가","NAME_NL":"Tonga","NAME_PL":"Tonga","NAME_PT":"Tonga","NAME_RU":"Тонга","NAME_SV":"Tonga","NAME_TR":"Tonga","NAME_UK":"Тонга","NAME_UR":"ٹونگا","NAME_VI":"Tonga","NAME_ZH":"汤加","NAME_ZHT":"東加","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[-175.362354,-21.450586,-173.921875,-18.565332],"geometry":{"type":"MultiPolygon","coordinates":[[[[-175.161914,-21.169336],[-175.147656,-21.169434],[-175.131934,-21.139746],[-175.078174,-21.129004],[-175.084082,-21.160742],[-175.156592,-21.263672],[-175.202344,-21.223438],[-175.335449,-21.157715],[-175.362354,-21.106836],[-175.318066,-21.068262],[-175.322607,-21.099316],[-175.300439,-21.113379],[-175.225391,-21.11875],[-175.158008,-21.146484],[-175.199756,-21.155664],[-175.161914,-21.169336]]],[[[-173.953516,-18.639355],[-173.991309,-18.698633],[-174.009326,-18.697754],[-174.053125,-18.663379],[-174.069141,-18.640234],[-174.002441,-18.570703],[-173.968066,-18.565332],[-173.921875,-18.588574],[-173.923975,-18.608496],[-173.953516,-18.639355]]],[[[-174.913135,-21.300488],[-174.918652,-21.450586],[-174.967529,-21.381738],[-174.972949,-21.349805],[-174.923486,-21.303418],[-174.913135,-21.300488]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":6,"SOVEREIGNT":"Togo","SOV_A3":"TGO","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Togo","ADM0_A3":"TGO","GEOU_DIF":0,"GEOUNIT":"Togo","GU_A3":"TGO","SU_DIF":0,"SUBUNIT":"Togo","SU_A3":"TGO","BRK_DIFF":0,"NAME":"Togo","NAME_LONG":"Togo","BRK_A3":"TGO","BRK_NAME":"Togo","BRK_GROUP":null,"ABBREV":"Togo","POSTAL":"TG","FORMAL_EN":"Togolese Republic","FORMAL_FR":"République Togolaise","NAME_CIAWF":"Togo","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Togo","NAME_ALT":null,"MAPCOLOR7":3,"MAPCOLOR8":1,"MAPCOLOR9":3,"MAPCOLOR13":5,"POP_EST":8082366,"POP_RANK":13,"POP_YEAR":2019,"GDP_MD":5490,"GDP_YEAR":2019,"ECONOMY":"7. Least developed region","INCOME_GRP":"5. Low income","FIPS_10":"TO","ISO_A2":"TG","ISO_A2_EH":"TG","ISO_A3":"TGO","ISO_A3_EH":"TGO","ISO_N3":"768","ISO_N3_EH":"768","UN_A3":"768","WB_A2":"TG","WB_A3":"TGO","WOE_ID":23424965,"WOE_ID_EH":23424965,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"TGO","ADM0_DIFF":null,"ADM0_TLC":"TGO","ADM0_A3_US":"TGO","ADM0_A3_FR":"TGO","ADM0_A3_RU":"TGO","ADM0_A3_ES":"TGO","ADM0_A3_CN":"TGO","ADM0_A3_TW":"TGO","ADM0_A3_IN":"TGO","ADM0_A3_NP":"TGO","ADM0_A3_PK":"TGO","ADM0_A3_DE":"TGO","ADM0_A3_GB":"TGO","ADM0_A3_BR":"TGO","ADM0_A3_IL":"TGO","ADM0_A3_PS":"TGO","ADM0_A3_SA":"TGO","ADM0_A3_EG":"TGO","ADM0_A3_MA":"TGO","ADM0_A3_PT":"TGO","ADM0_A3_AR":"TGO","ADM0_A3_JP":"TGO","ADM0_A3_KO":"TGO","ADM0_A3_VN":"TGO","ADM0_A3_TR":"TGO","ADM0_A3_ID":"TGO","ADM0_A3_PL":"TGO","ADM0_A3_GR":"TGO","ADM0_A3_IT":"TGO","ADM0_A3_NL":"TGO","ADM0_A3_SE":"TGO","ADM0_A3_BD":"TGO","ADM0_A3_UA":"TGO","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Africa","REGION_UN":"Africa","SUBREGION":"Western Africa","REGION_WB":"Sub-Saharan Africa","NAME_LEN":4,"LONG_LEN":4,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":5,"MAX_LABEL":10,"LABEL_X":1.058113,"LABEL_Y":8.80722,"NE_ID":1159321303,"WIKIDATAID":"Q945","NAME_AR":"توغو","NAME_BN":"টোগো","NAME_DE":"Togo","NAME_EN":"Togo","NAME_ES":"Togo","NAME_FA":"توگو","NAME_FR":"Togo","NAME_EL":"Τόγκο","NAME_HE":"טוגו","NAME_HI":"टोगो","NAME_HU":"Togo","NAME_ID":"Togo","NAME_IT":"Togo","NAME_JA":"トーゴ","NAME_KO":"토고","NAME_NL":"Togo","NAME_PL":"Togo","NAME_PT":"Togo","NAME_RU":"Того","NAME_SV":"Togo","NAME_TR":"Togo","NAME_UK":"Того","NAME_UR":"ٹوگو","NAME_VI":"Togo","NAME_ZH":"多哥","NAME_ZHT":"多哥","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[-0.090186,6.089404,1.77793,11.115625],"geometry":{"type":"Polygon","coordinates":[[[0.900488,10.993262],[0.874805,10.885742],[0.821875,10.752588],[0.7875,10.710254],[0.763379,10.38667],[0.77998,10.35957],[0.792188,10.351562],[0.958301,10.242041],[1.176172,10.098389],[1.330078,9.996973],[1.342871,9.962939],[1.345117,9.750195],[1.34707,9.567529],[1.378906,9.462988],[1.385742,9.36167],[1.424316,9.28501],[1.566309,9.137256],[1.600195,9.050049],[1.603809,8.770996],[1.606641,8.559277],[1.624609,8.270996],[1.624609,8.030225],[1.624609,7.725879],[1.624707,7.369189],[1.624707,6.997314],[1.530957,6.992432],[1.582031,6.877002],[1.59082,6.772266],[1.60293,6.738086],[1.577539,6.687402],[1.598535,6.610205],[1.639258,6.581543],[1.743164,6.42627],[1.77793,6.294629],[1.610938,6.25083],[1.622656,6.216797],[1.310645,6.146875],[1.187207,6.089404],[1.185059,6.14502],[1.139648,6.155029],[1.084473,6.173779],[1.049902,6.202637],[1.002148,6.268555],[0.984961,6.320312],[0.912207,6.328564],[0.822461,6.386377],[0.736914,6.452588],[0.707227,6.51875],[0.71543,6.549316],[0.702246,6.580762],[0.672754,6.592529],[0.595703,6.742188],[0.548047,6.80249],[0.525586,6.850928],[0.533398,6.88833],[0.523047,6.938867],[0.538086,6.979687],[0.579492,7.004102],[0.59248,7.033984],[0.596191,7.096631],[0.619531,7.226562],[0.634766,7.353662],[0.591016,7.388818],[0.537305,7.39873],[0.50957,7.435107],[0.498926,7.495117],[0.5,7.546875],[0.605176,7.728223],[0.583594,8.145801],[0.599219,8.20957],[0.64707,8.253467],[0.688086,8.304248],[0.686328,8.354883],[0.616211,8.479639],[0.483301,8.575293],[0.415332,8.652734],[0.378613,8.722021],[0.372559,8.759277],[0.453125,8.81377],[0.48877,8.851465],[0.493262,8.894922],[0.460352,8.974219],[0.466113,9.115332],[0.497168,9.22124],[0.529004,9.358301],[0.525684,9.398486],[0.447559,9.480273],[0.405273,9.491455],[0.370996,9.485547],[0.289355,9.431836],[0.259961,9.426025],[0.241504,9.441895],[0.233398,9.463525],[0.261914,9.495605],[0.251563,9.535645],[0.275488,9.570605],[0.327344,9.586572],[0.342578,9.60415],[0.272754,9.620947],[0.264551,9.644727],[0.269531,9.66792],[0.289648,9.672314],[0.311719,9.670996],[0.323926,9.687598],[0.33457,9.803955],[0.343066,9.84458],[0.351855,9.924902],[0.362695,10.236475],[0.378613,10.268555],[0.380859,10.291846],[0.331836,10.306934],[0.216016,10.390527],[0.148242,10.454785],[0.089258,10.520605],[0.039453,10.563867],[-0.057715,10.630615],[-0.086328,10.673047],[-0.090186,10.715527],[-0.060596,10.800586],[-0.013867,10.891357],[0.009424,11.020996],[-0.004736,11.055566],[-0.068604,11.115625],[0.159277,11.069629],[0.48418,10.991992],[0.490723,10.978174],[0.492676,10.95498],[0.549121,10.95542],[0.642969,10.983057],[0.900488,10.993262]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":4,"LABELRANK":5,"SOVEREIGNT":"East Timor","SOV_A3":"TLS","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"East Timor","ADM0_A3":"TLS","GEOU_DIF":0,"GEOUNIT":"East Timor","GU_A3":"TLS","SU_DIF":0,"SUBUNIT":"East Timor","SU_A3":"TLS","BRK_DIFF":0,"NAME":"Timor-Leste","NAME_LONG":"Timor-Leste","BRK_A3":"TLS","BRK_NAME":"Timor-Leste","BRK_GROUP":null,"ABBREV":"T.L.","POSTAL":"TL","FORMAL_EN":"Democratic Republic of Timor-Leste","FORMAL_FR":null,"NAME_CIAWF":"Timor-Leste","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Timor-Leste","NAME_ALT":"East Timor","MAPCOLOR7":2,"MAPCOLOR8":2,"MAPCOLOR9":4,"MAPCOLOR13":3,"POP_EST":1293119,"POP_RANK":12,"POP_YEAR":2019,"GDP_MD":2017,"GDP_YEAR":2019,"ECONOMY":"7. Least developed region","INCOME_GRP":"4. Lower middle income","FIPS_10":"TT","ISO_A2":"TL","ISO_A2_EH":"TL","ISO_A3":"TLS","ISO_A3_EH":"TLS","ISO_N3":"626","ISO_N3_EH":"626","UN_A3":"626","WB_A2":"TP","WB_A3":"TMP","WOE_ID":23424968,"WOE_ID_EH":23424968,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"TLS","ADM0_DIFF":null,"ADM0_TLC":"TLS","ADM0_A3_US":"TLS","ADM0_A3_FR":"TLS","ADM0_A3_RU":"TLS","ADM0_A3_ES":"TLS","ADM0_A3_CN":"TLS","ADM0_A3_TW":"TLS","ADM0_A3_IN":"TLS","ADM0_A3_NP":"TLS","ADM0_A3_PK":"TLS","ADM0_A3_DE":"TLS","ADM0_A3_GB":"TLS","ADM0_A3_BR":"TLS","ADM0_A3_IL":"TLS","ADM0_A3_PS":"TLS","ADM0_A3_SA":"TLS","ADM0_A3_EG":"TLS","ADM0_A3_MA":"TLS","ADM0_A3_PT":"TLS","ADM0_A3_AR":"TLS","ADM0_A3_JP":"TLS","ADM0_A3_KO":"TLS","ADM0_A3_VN":"TLS","ADM0_A3_TR":"TLS","ADM0_A3_ID":"TLS","ADM0_A3_PL":"TLS","ADM0_A3_GR":"TLS","ADM0_A3_IT":"TLS","ADM0_A3_NL":"TLS","ADM0_A3_SE":"TLS","ADM0_A3_BD":"TLS","ADM0_A3_UA":"TLS","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Asia","REGION_UN":"Asia","SUBREGION":"South-Eastern Asia","REGION_WB":"East Asia & Pacific","NAME_LEN":11,"LONG_LEN":11,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":4,"MAX_LABEL":9,"LABEL_X":125.854679,"LABEL_Y":-8.803705,"NE_ID":1159321313,"WIKIDATAID":"Q574","NAME_AR":"تيمور الشرقية","NAME_BN":"পূর্ব তিমুর","NAME_DE":"Osttimor","NAME_EN":"East Timor","NAME_ES":"Timor Oriental","NAME_FA":"تیمور شرقی","NAME_FR":"Timor oriental","NAME_EL":"Ανατολικό Τιμόρ","NAME_HE":"מזרח טימור","NAME_HI":"पूर्वी तिमोर","NAME_HU":"Kelet-Timor","NAME_ID":"Timor Leste","NAME_IT":"Timor Est","NAME_JA":"東ティモール","NAME_KO":"동티모르","NAME_NL":"Oost-Timor","NAME_PL":"Timor Wschodni","NAME_PT":"Timor-Leste","NAME_RU":"Восточный Тимор","NAME_SV":"Östtimor","NAME_TR":"Doğu Timor","NAME_UK":"Східний Тимор","NAME_UR":"مشرقی تیمور","NAME_VI":"Đông Timor","NAME_ZH":"东帝汶","NAME_ZHT":"東帝汶","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[124.036328,-9.511914,127.296094,-8.139941],"geometry":{"type":"MultiPolygon","coordinates":[[[[125.646094,-8.139941],[125.579492,-8.311816],[125.507129,-8.275098],[125.584082,-8.178613],[125.621094,-8.15],[125.646094,-8.139941]]],[[[125.068164,-9.511914],[125.033594,-9.381836],[124.996973,-9.325977],[124.968262,-9.294238],[124.958594,-9.254688],[124.960156,-9.21377],[124.977539,-9.194922],[125.100488,-9.189844],[125.149414,-9.122949],[125.149023,-9.042578],[125.124414,-9.01543],[125.100391,-9.004004],[124.973242,-9.064258],[124.936816,-9.053418],[124.915039,-9.031543],[124.922266,-8.94248],[125.026953,-8.859082],[125.115723,-8.708008],[125.178027,-8.647852],[125.323145,-8.591309],[125.381836,-8.575391],[125.804297,-8.492188],[125.905078,-8.486523],[126.172852,-8.488965],[126.531055,-8.470801],[126.619727,-8.459473],[126.73457,-8.422754],[126.845703,-8.377344],[126.904688,-8.341602],[126.966406,-8.315723],[127.058496,-8.348242],[127.214844,-8.372949],[127.257031,-8.394531],[127.296094,-8.424512],[127.114551,-8.583594],[126.915234,-8.715234],[126.79248,-8.755078],[126.66543,-8.782031],[126.568555,-8.83291],[126.486914,-8.912695],[126.38252,-8.957617],[126.264746,-8.972754],[126.164258,-8.99668],[126.073047,-9.043555],[125.946094,-9.123926],[125.894727,-9.132129],[125.840332,-9.130176],[125.735156,-9.160938],[125.408008,-9.275781],[125.210254,-9.403516],[125.068164,-9.511914]]],[[[124.036328,-9.341602],[124.198145,-9.256152],[124.444434,-9.190332],[124.438281,-9.238574],[124.412988,-9.314355],[124.375684,-9.349902],[124.319336,-9.41377],[124.282324,-9.42793],[124.13457,-9.413867],[124.115527,-9.423145],[124.090137,-9.416406],[124.052441,-9.375391],[124.036328,-9.341602]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":4,"LABELRANK":3,"SOVEREIGNT":"Thailand","SOV_A3":"THA","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Thailand","ADM0_A3":"THA","GEOU_DIF":0,"GEOUNIT":"Thailand","GU_A3":"THA","SU_DIF":0,"SUBUNIT":"Thailand","SU_A3":"THA","BRK_DIFF":0,"NAME":"Thailand","NAME_LONG":"Thailand","BRK_A3":"THA","BRK_NAME":"Thailand","BRK_GROUP":null,"ABBREV":"Thai.","POSTAL":"TH","FORMAL_EN":"Kingdom of Thailand","FORMAL_FR":null,"NAME_CIAWF":"Thailand","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Thailand","NAME_ALT":null,"MAPCOLOR7":3,"MAPCOLOR8":6,"MAPCOLOR9":8,"MAPCOLOR13":1,"POP_EST":69625582,"POP_RANK":16,"POP_YEAR":2019,"GDP_MD":543548,"GDP_YEAR":2019,"ECONOMY":"5. Emerging region: G20","INCOME_GRP":"3. Upper middle income","FIPS_10":"TH","ISO_A2":"TH","ISO_A2_EH":"TH","ISO_A3":"THA","ISO_A3_EH":"THA","ISO_N3":"764","ISO_N3_EH":"764","UN_A3":"764","WB_A2":"TH","WB_A3":"THA","WOE_ID":23424960,"WOE_ID_EH":23424960,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"THA","ADM0_DIFF":null,"ADM0_TLC":"THA","ADM0_A3_US":"THA","ADM0_A3_FR":"THA","ADM0_A3_RU":"THA","ADM0_A3_ES":"THA","ADM0_A3_CN":"THA","ADM0_A3_TW":"THA","ADM0_A3_IN":"THA","ADM0_A3_NP":"THA","ADM0_A3_PK":"THA","ADM0_A3_DE":"THA","ADM0_A3_GB":"THA","ADM0_A3_BR":"THA","ADM0_A3_IL":"THA","ADM0_A3_PS":"THA","ADM0_A3_SA":"THA","ADM0_A3_EG":"THA","ADM0_A3_MA":"THA","ADM0_A3_PT":"THA","ADM0_A3_AR":"THA","ADM0_A3_JP":"THA","ADM0_A3_KO":"THA","ADM0_A3_VN":"THA","ADM0_A3_TR":"THA","ADM0_A3_ID":"THA","ADM0_A3_PL":"THA","ADM0_A3_GR":"THA","ADM0_A3_IT":"THA","ADM0_A3_NL":"THA","ADM0_A3_SE":"THA","ADM0_A3_BD":"THA","ADM0_A3_UA":"THA","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Asia","REGION_UN":"Asia","SUBREGION":"South-Eastern Asia","REGION_WB":"East Asia & Pacific","NAME_LEN":8,"LONG_LEN":8,"ABBREV_LEN":5,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":2.7,"MAX_LABEL":8,"LABEL_X":101.073198,"LABEL_Y":15.45974,"NE_ID":1159321305,"WIKIDATAID":"Q869","NAME_AR":"تايلاند","NAME_BN":"থাইল্যান্ড","NAME_DE":"Thailand","NAME_EN":"Thailand","NAME_ES":"Tailandia","NAME_FA":"تایلند","NAME_FR":"Thaïlande","NAME_EL":"Ταϊλάνδη","NAME_HE":"תאילנד","NAME_HI":"थाईलैण्ड","NAME_HU":"Thaiföld","NAME_ID":"Thailand","NAME_IT":"Thailandia","NAME_JA":"タイ王国","NAME_KO":"태국","NAME_NL":"Thailand","NAME_PL":"Tajlandia","NAME_PT":"Tailândia","NAME_RU":"Таиланд","NAME_SV":"Thailand","NAME_TR":"Tayland","NAME_UK":"Таїланд","NAME_UR":"تھائی لینڈ","NAME_VI":"Thái Lan","NAME_ZH":"泰国","NAME_ZHT":"泰國","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[97.373926,5.636768,105.641016,20.424414],"geometry":{"type":"MultiPolygon","coordinates":[[[[102.606445,11.676514],[102.589941,11.572168],[102.532813,11.614941],[102.546484,11.667773],[102.568945,11.691699],[102.606445,11.676514]]],[[[102.426758,11.988721],[102.42998,11.964746],[102.378125,11.982959],[102.359961,11.974414],[102.301953,11.980811],[102.27334,12.119336],[102.277441,12.151855],[102.318848,12.14165],[102.378125,12.072852],[102.408398,12.025098],[102.426758,11.988721]]],[[[98.409082,7.902051],[98.398438,7.828418],[98.357422,7.829443],[98.315625,7.782324],[98.296289,7.776074],[98.262305,7.926074],[98.301367,8.13623],[98.32207,8.166309],[98.350977,8.110645],[98.434961,8.085645],[98.398828,7.964551],[98.409082,7.902051]]],[[[100.122461,20.31665],[100.114941,20.257666],[100.139746,20.24541],[100.174121,20.272754],[100.218066,20.3396],[100.266016,20.377295],[100.317969,20.385889],[100.373145,20.340381],[100.431543,20.240723],[100.491602,20.184082],[100.519531,20.17793],[100.539941,20.132373],[100.543066,20.088672],[100.514551,19.996338],[100.466211,19.888916],[100.397656,19.756104],[100.420117,19.644482],[100.513574,19.553467],[100.625488,19.499854],[100.743945,19.514746],[100.806836,19.541943],[100.858203,19.585059],[100.906055,19.605371],[100.966504,19.610791],[101.154688,19.579199],[101.211914,19.54834],[101.220801,19.486621],[101.197559,19.32793],[101.226562,19.211523],[101.279883,19.088916],[101.286328,18.977148],[101.220508,18.792773],[101.165527,18.618311],[101.106348,18.533545],[101.060449,18.479004],[101.046973,18.441992],[101.050586,18.407031],[101.092773,18.354541],[101.1375,18.286865],[101.14873,18.222168],[101.143945,18.142627],[101.113281,18.033545],[100.999023,17.797168],[100.908496,17.583887],[100.955859,17.541113],[101.045703,17.509961],[101.105176,17.479541],[101.16748,17.499023],[101.299707,17.625],[101.413672,17.71875],[101.555078,17.812354],[101.563672,17.820508],[101.6875,17.889404],[101.744141,17.952686],[101.774805,18.033398],[101.818652,18.064648],[101.875488,18.046436],[101.947461,18.081494],[102.03457,18.169824],[102.101465,18.210645],[102.148242,18.203857],[102.231641,18.148975],[102.351855,18.045947],[102.458789,17.984619],[102.552539,17.965088],[102.598242,17.926758],[102.596094,17.869629],[102.616797,17.83335],[102.660645,17.817969],[102.680078,17.824121],[102.675195,17.851758],[102.717578,17.892236],[102.807422,17.945557],[102.898633,17.976904],[102.991406,17.98623],[103.051367,18.028516],[103.091211,18.138232],[103.148535,18.221729],[103.199707,18.259473],[103.263184,18.278467],[103.27959,18.30498],[103.248926,18.338965],[103.251758,18.373486],[103.288281,18.408398],[103.366992,18.42334],[103.487988,18.418164],[103.629687,18.382568],[103.792285,18.316504],[103.898828,18.295313],[103.949609,18.318994],[104.04873,18.216699],[104.196191,17.988379],[104.322656,17.81582],[104.428125,17.698975],[104.539258,17.609277],[104.655859,17.546729],[104.739648,17.46167],[104.816016,17.300293],[104.758984,17.077148],[104.743555,16.884375],[104.750586,16.647559],[104.819336,16.466064],[104.949902,16.339941],[105.025781,16.237988],[105.047168,16.160254],[105.14873,16.093555],[105.330664,16.037891],[105.40625,15.987451],[105.375586,15.942188],[105.373242,15.889697],[105.398926,15.829883],[105.462012,15.78042],[105.562402,15.74126],[105.62207,15.699951],[105.641016,15.656543],[105.638867,15.585938],[105.615625,15.488281],[105.57373,15.413232],[105.513184,15.360889],[105.505859,15.319629],[105.49043,15.256592],[105.49043,15.127588],[105.533398,15.041602],[105.54668,14.932471],[105.523047,14.843311],[105.500195,14.66123],[105.497363,14.590674],[105.475586,14.530127],[105.422656,14.471631],[105.342188,14.416699],[105.243652,14.367871],[105.183301,14.34624],[105.169141,14.336084],[105.125977,14.280957],[105.074121,14.227441],[105.033691,14.227393],[105.003418,14.254443],[104.982422,14.289453],[104.969727,14.366113],[104.878809,14.404004],[104.779004,14.427832],[104.575781,14.390039],[104.411621,14.36958],[104.227734,14.395508],[104.054297,14.362744],[103.981836,14.35791],[103.898633,14.362793],[103.818359,14.362158],[103.741895,14.37417],[103.600391,14.421094],[103.546387,14.417432],[103.432422,14.378613],[103.313477,14.351318],[103.199414,14.332617],[103.031055,14.252539],[102.909277,14.136719],[102.873242,14.054883],[102.812793,13.972461],[102.728906,13.841895],[102.62041,13.716943],[102.544727,13.659961],[102.565527,13.626367],[102.546875,13.585693],[102.428516,13.567578],[102.336328,13.560303],[102.319727,13.53999],[102.330762,13.288232],[102.362988,13.192969],[102.422656,13.077979],[102.461719,13.015039],[102.490723,12.82832],[102.499609,12.669971],[102.629687,12.569922],[102.70332,12.493506],[102.755664,12.42627],[102.737402,12.383398],[102.70625,12.255664],[102.736621,12.089795],[102.918066,11.73208],[102.933887,11.706689],[102.912305,11.703857],[102.883691,11.772754],[102.791602,11.888623],[102.762988,12.012451],[102.654883,12.148828],[102.594141,12.203027],[102.574805,12.157812],[102.540234,12.109229],[102.434082,12.179248],[102.343164,12.252588],[102.259082,12.394336],[102.248438,12.361426],[102.22959,12.331641],[102.13418,12.443018],[102.034375,12.531885],[101.944531,12.563672],[101.889063,12.593262],[101.835742,12.640381],[101.723633,12.689355],[101.444922,12.618945],[101.090234,12.673633],[100.953711,12.62124],[100.897754,12.653809],[100.863281,12.714502],[100.896387,12.818164],[100.903906,13.034912],[100.946094,13.187256],[100.92627,13.303027],[100.946973,13.357568],[100.962695,13.431982],[100.906543,13.462402],[100.656055,13.521289],[100.60293,13.568164],[100.536426,13.514453],[100.235645,13.484473],[100.122363,13.439551],[100.01748,13.353174],[99.990527,13.243457],[100.051074,13.17124],[100.089941,13.045654],[99.982031,12.771484],[99.963965,12.690039],[100.005664,12.354736],[99.989062,12.170801],[99.930273,12.047461],[99.837109,11.936621],[99.79873,11.748779],[99.725488,11.661768],[99.627344,11.462891],[99.561328,11.215186],[99.514355,11.100586],[99.486914,10.889551],[99.284766,10.569141],[99.237305,10.388135],[99.165039,10.319824],[99.190332,10.265869],[99.194629,10.175439],[99.169336,9.93418],[99.160742,9.734033],[99.191309,9.627148],[99.288281,9.4146],[99.265039,9.352979],[99.253906,9.265234],[99.335449,9.225439],[99.393848,9.213721],[99.723828,9.314209],[99.835547,9.288379],[99.877539,9.194629],[99.904688,9.112891],[99.960645,8.67124],[99.989551,8.589209],[100.05625,8.511133],[100.129297,8.428076],[100.154102,8.442969],[100.158887,8.473779],[100.163477,8.508398],[100.228711,8.424707],[100.279395,8.268506],[100.453516,7.442285],[100.503711,7.337305],[100.545215,7.226904],[100.439355,7.280762],[100.410742,7.464307],[100.380371,7.541504],[100.342969,7.552881],[100.283789,7.551514],[100.27998,7.584326],[100.324316,7.644189],[100.317383,7.715967],[100.256641,7.774902],[100.158203,7.728125],[100.160742,7.599268],[100.204883,7.500537],[100.371387,7.280127],[100.423535,7.187842],[100.489746,7.161377],[100.58623,7.175977],[100.70166,7.081982],[100.792578,6.994678],[101.017871,6.860937],[101.154395,6.875146],[101.301953,6.908301],[101.400879,6.899561],[101.497949,6.865283],[101.614258,6.753955],[101.799219,6.474609],[102.101074,6.242236],[102.068359,6.184668],[102.055176,6.09668],[101.936133,5.979346],[101.917188,5.911377],[101.873633,5.825293],[101.790723,5.779346],[101.719531,5.770605],[101.678418,5.778809],[101.65,5.795996],[101.601367,5.877148],[101.576758,5.902002],[101.556055,5.907764],[101.404199,5.85166],[101.257031,5.789355],[101.229785,5.733691],[101.190625,5.66875],[101.147656,5.643066],[101.113965,5.636768],[101.081738,5.674902],[101.025195,5.724512],[100.981641,5.771045],[100.992773,5.846191],[101.075586,5.956494],[101.086523,6.033691],[101.075977,6.166064],[101.053516,6.242578],[101.029395,6.245312],[100.98877,6.257666],[100.873926,6.24541],[100.816504,6.331641],[100.79375,6.426172],[100.754492,6.460059],[100.715625,6.480664],[100.629492,6.447998],[100.563867,6.467529],[100.34541,6.549902],[100.261426,6.682715],[100.216602,6.686621],[100.176758,6.671826],[100.16123,6.641602],[100.137988,6.488672],[100.119141,6.441992],[99.868652,6.749902],[99.695996,6.87666],[99.720313,7.106201],[99.667773,7.150879],[99.602441,7.155322],[99.553027,7.218799],[99.596973,7.355615],[99.529102,7.329492],[99.435156,7.334375],[99.358594,7.372217],[99.300391,7.561328],[99.263672,7.619043],[99.183398,7.718066],[99.077637,7.718066],[99.042676,7.765625],[99.051074,7.887842],[98.973926,7.962793],[98.872461,8.023926],[98.788672,8.059814],[98.703516,8.256738],[98.636328,8.305029],[98.579199,8.344287],[98.499805,8.317822],[98.474023,8.246924],[98.420996,8.178223],[98.360742,8.186963],[98.305469,8.226221],[98.238184,8.423096],[98.226953,8.543652],[98.241797,8.767871],[98.325977,8.968945],[98.371387,9.290527],[98.443164,9.492822],[98.492969,9.561426],[98.561914,9.8375],[98.702539,10.190381],[98.718457,10.266016],[98.746875,10.35083],[98.768359,10.430859],[98.775391,10.557031],[98.757227,10.623584],[98.757227,10.660937],[98.786914,10.708447],[98.887109,10.78833],[99.025391,10.919971],[99.190137,11.105273],[99.358789,11.389453],[99.442676,11.554395],[99.47793,11.6125],[99.515234,11.630664],[99.572852,11.687158],[99.6125,11.749658],[99.614746,11.781201],[99.522949,12.089648],[99.462891,12.190234],[99.432422,12.309033],[99.416309,12.394824],[99.394238,12.473633],[99.405078,12.5479],[99.371973,12.594238],[99.297363,12.652881],[99.219824,12.739746],[99.173535,12.881934],[99.173535,12.961328],[99.123926,13.030762],[99.107422,13.103516],[99.137109,13.172998],[99.176172,13.233057],[99.17168,13.496924],[99.156055,13.575781],[99.136816,13.716699],[99.08623,13.822754],[99.014648,13.947168],[98.933594,14.049854],[98.721191,14.235742],[98.57002,14.359912],[98.49502,14.4729],[98.400195,14.602979],[98.332129,14.696484],[98.245996,14.814746],[98.202148,14.975928],[98.17793,15.147412],[98.191016,15.204102],[98.232227,15.241357],[98.286133,15.271582],[98.329395,15.278564],[98.452148,15.357373],[98.537305,15.350684],[98.556934,15.367676],[98.565234,15.403564],[98.554492,15.559766],[98.558203,15.768604],[98.574023,15.938623],[98.592383,16.050684],[98.817969,16.180811],[98.865527,16.237061],[98.888477,16.298096],[98.888281,16.351904],[98.869336,16.394189],[98.835449,16.417578],[98.689258,16.30542],[98.660742,16.33042],[98.593652,16.514795],[98.564746,16.570947],[98.523145,16.638184],[98.478125,16.732227],[98.471191,16.89502],[98.438867,16.975684],[98.256543,17.147656],[98.174609,17.239893],[98.063086,17.373291],[97.929297,17.533301],[97.792969,17.68125],[97.729102,17.77583],[97.706445,17.797119],[97.698535,17.833545],[97.739941,17.935303],[97.719727,18.037402],[97.651563,18.17373],[97.622461,18.258008],[97.632227,18.290332],[97.599316,18.302979],[97.523828,18.295898],[97.450781,18.359668],[97.380664,18.494287],[97.373926,18.517969],[97.39707,18.517529],[97.484961,18.494238],[97.515137,18.497754],[97.577344,18.528711],[97.671582,18.56123],[97.727734,18.572021],[97.745898,18.588184],[97.754004,18.620801],[97.706055,18.931787],[97.71416,18.996484],[97.803906,19.130469],[97.793555,19.265869],[97.816797,19.459961],[97.916406,19.592871],[97.991211,19.653711],[98.015039,19.749512],[98.049023,19.769727],[98.111035,19.762158],[98.239062,19.690674],[98.293652,19.687256],[98.371289,19.68916],[98.45498,19.694434],[98.493848,19.701318],[98.760645,19.771094],[98.819531,19.778467],[98.875781,19.76958],[98.916699,19.7729],[98.958008,19.804932],[98.987402,19.861377],[99.020703,20.041797],[99.039746,20.073633],[99.074219,20.099365],[99.130762,20.116602],[99.196875,20.115137],[99.283691,20.08042],[99.337891,20.078906],[99.399219,20.093457],[99.451563,20.118311],[99.485938,20.149854],[99.50166,20.187744],[99.4875,20.260645],[99.447949,20.352051],[99.458887,20.363037],[99.531641,20.342822],[99.638672,20.320459],[99.720117,20.325439],[99.77334,20.341309],[99.825195,20.384473],[99.890332,20.424414],[99.954297,20.41543],[100.003613,20.37959],[100.122461,20.31665]]],[[[100.074121,9.69668],[100.064453,9.67998],[100.025684,9.711719],[99.998047,9.747607],[99.983398,9.793555],[100.043457,9.79165],[100.073047,9.749121],[100.074121,9.69668]]],[[[100.070703,9.586035],[100.075293,9.529443],[100.053711,9.461426],[99.962402,9.421631],[99.93125,9.476074],[99.939551,9.559961],[99.953613,9.581006],[100.042969,9.576855],[100.070703,9.586035]]],[[[99.663086,6.521924],[99.644043,6.516113],[99.606641,6.596826],[99.654004,6.714111],[99.701367,6.570557],[99.663086,6.521924]]],[[[98.591992,7.933936],[98.57998,7.917041],[98.529395,8.108545],[98.604297,8.057324],[98.591992,7.933936]]],[[[98.30752,9.051465],[98.250781,9.04082],[98.258398,9.09541],[98.273633,9.129883],[98.301172,9.139111],[98.3125,9.080371],[98.30752,9.051465]]],[[[99.078418,7.591846],[99.104395,7.471289],[99.067871,7.495898],[99.037695,7.548486],[99.038086,7.625732],[99.045117,7.636523],[99.078418,7.591846]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":3,"LABELRANK":3,"SOVEREIGNT":"United Republic of Tanzania","SOV_A3":"TZA","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"United Republic of Tanzania","ADM0_A3":"TZA","GEOU_DIF":0,"GEOUNIT":"Tanzania","GU_A3":"TZA","SU_DIF":0,"SUBUNIT":"Tanzania","SU_A3":"TZA","BRK_DIFF":0,"NAME":"Tanzania","NAME_LONG":"Tanzania","BRK_A3":"TZA","BRK_NAME":"Tanzania","BRK_GROUP":null,"ABBREV":"Tanz.","POSTAL":"TZ","FORMAL_EN":"United Republic of Tanzania","FORMAL_FR":null,"NAME_CIAWF":"Tanzania","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Tanzania","NAME_ALT":null,"MAPCOLOR7":3,"MAPCOLOR8":6,"MAPCOLOR9":2,"MAPCOLOR13":2,"POP_EST":58005463,"POP_RANK":16,"POP_YEAR":2019,"GDP_MD":63177,"GDP_YEAR":2019,"ECONOMY":"7. Least developed region","INCOME_GRP":"5. Low income","FIPS_10":"TZ","ISO_A2":"TZ","ISO_A2_EH":"TZ","ISO_A3":"TZA","ISO_A3_EH":"TZA","ISO_N3":"834","ISO_N3_EH":"834","UN_A3":"834","WB_A2":"TZ","WB_A3":"TZA","WOE_ID":23424973,"WOE_ID_EH":23424973,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"TZA","ADM0_DIFF":null,"ADM0_TLC":"TZA","ADM0_A3_US":"TZA","ADM0_A3_FR":"TZA","ADM0_A3_RU":"TZA","ADM0_A3_ES":"TZA","ADM0_A3_CN":"TZA","ADM0_A3_TW":"TZA","ADM0_A3_IN":"TZA","ADM0_A3_NP":"TZA","ADM0_A3_PK":"TZA","ADM0_A3_DE":"TZA","ADM0_A3_GB":"TZA","ADM0_A3_BR":"TZA","ADM0_A3_IL":"TZA","ADM0_A3_PS":"TZA","ADM0_A3_SA":"TZA","ADM0_A3_EG":"TZA","ADM0_A3_MA":"TZA","ADM0_A3_PT":"TZA","ADM0_A3_AR":"TZA","ADM0_A3_JP":"TZA","ADM0_A3_KO":"TZA","ADM0_A3_VN":"TZA","ADM0_A3_TR":"TZA","ADM0_A3_ID":"TZA","ADM0_A3_PL":"TZA","ADM0_A3_GR":"TZA","ADM0_A3_IT":"TZA","ADM0_A3_NL":"TZA","ADM0_A3_SE":"TZA","ADM0_A3_BD":"TZA","ADM0_A3_UA":"TZA","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Africa","REGION_UN":"Africa","SUBREGION":"Eastern Africa","REGION_WB":"Sub-Saharan Africa","NAME_LEN":8,"LONG_LEN":8,"ABBREV_LEN":5,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":3,"MAX_LABEL":8,"LABEL_X":34.959183,"LABEL_Y":-6.051866,"NE_ID":1159321337,"WIKIDATAID":"Q924","NAME_AR":"تنزانيا","NAME_BN":"তানজানিয়া","NAME_DE":"Tansania","NAME_EN":"Tanzania","NAME_ES":"Tanzania","NAME_FA":"تانزانیا","NAME_FR":"Tanzanie","NAME_EL":"Τανζανία","NAME_HE":"טנזניה","NAME_HI":"तंज़ानिया","NAME_HU":"Tanzánia","NAME_ID":"Tanzania","NAME_IT":"Tanzania","NAME_JA":"タンザニア","NAME_KO":"탄자니아","NAME_NL":"Tanzania","NAME_PL":"Tanzania","NAME_PT":"Tanzânia","NAME_RU":"Танзания","NAME_SV":"Tanzania","NAME_TR":"Tanzanya","NAME_UK":"Танзанія","NAME_UR":"تنزانیہ","NAME_VI":"Tanzania","NAME_ZH":"坦桑尼亚","NAME_ZHT":"坦尚尼亞","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[29.323438,-11.716211,40.463574,-0.994922],"geometry":{"type":"MultiPolygon","coordinates":[[[[39.496484,-6.174609],[39.573047,-6.387402],[39.563184,-6.427246],[39.50918,-6.45166],[39.480957,-6.453711],[39.447363,-6.419727],[39.423633,-6.347852],[39.382617,-6.364941],[39.312695,-6.279102],[39.243457,-6.275],[39.182324,-6.172559],[39.20625,-6.083203],[39.192383,-5.931055],[39.266992,-5.853125],[39.308984,-5.721973],[39.357227,-5.811523],[39.368262,-5.951172],[39.433301,-6.11543],[39.487891,-6.166211],[39.496484,-6.174609]]],[[[39.865039,-4.906152],[39.870996,-4.956543],[39.855664,-5.004004],[39.858984,-5.155176],[39.853027,-5.255469],[39.795898,-5.394434],[39.749316,-5.443848],[39.707617,-5.429492],[39.673438,-5.406641],[39.646777,-5.368555],[39.701074,-5.113672],[39.673438,-4.927051],[39.780762,-4.944922],[39.865039,-4.906152]]],[[[32.919922,-9.407422],[32.863281,-9.380859],[32.756641,-9.322266],[32.608398,-9.270508],[32.487109,-9.212695],[32.433203,-9.156348],[32.319336,-9.134863],[32.220898,-9.125586],[32.129785,-9.07334],[32.035352,-9.067383],[31.942578,-9.054004],[31.921875,-9.019434],[31.918652,-8.942188],[31.886133,-8.921973],[31.818066,-8.902246],[31.744727,-8.903223],[31.7,-8.914355],[31.673633,-8.908789],[31.612793,-8.863281],[31.55625,-8.805469],[31.534863,-8.713281],[31.449219,-8.653906],[31.350586,-8.607031],[31.076367,-8.611914],[31.033398,-8.597656],[30.968359,-8.550977],[30.891992,-8.47373],[30.830664,-8.385547],[30.776758,-8.26582],[30.751172,-8.193652],[30.720898,-8.104395],[30.653809,-7.970898],[30.558887,-7.781934],[30.485645,-7.627148],[30.406738,-7.460645],[30.374512,-7.338672],[30.313184,-7.203711],[30.212695,-7.037891],[30.161816,-6.973047],[30.10625,-6.915039],[29.961816,-6.803125],[29.798145,-6.691895],[29.709668,-6.616895],[29.590625,-6.394434],[29.54082,-6.313867],[29.50625,-6.17207],[29.480078,-6.025],[29.49082,-5.96543],[29.596387,-5.775977],[29.607031,-5.722656],[29.594141,-5.650781],[29.542383,-5.499805],[29.503711,-5.400977],[29.476465,-5.316602],[29.420117,-5.176172],[29.342773,-4.983105],[29.323438,-4.898828],[29.325684,-4.835645],[29.367578,-4.668848],[29.404199,-4.49668],[29.403223,-4.449316],[29.717773,-4.455859],[29.769531,-4.418066],[29.947266,-4.307324],[30.147168,-4.085352],[30.187109,-3.992871],[30.268555,-3.850488],[30.348438,-3.779785],[30.379102,-3.730762],[30.4,-3.653906],[30.425,-3.588867],[30.529883,-3.49248],[30.631934,-3.418652],[30.624609,-3.388672],[30.610938,-3.366406],[30.626074,-3.347363],[30.681836,-3.309375],[30.790234,-3.274609],[30.811426,-3.200586],[30.811133,-3.116406],[30.793555,-3.069336],[30.796875,-3.015137],[30.780273,-2.984863],[30.709473,-2.977246],[30.604297,-2.935254],[30.515039,-2.917578],[30.455566,-2.893164],[30.433496,-2.874512],[30.424023,-2.824023],[30.441309,-2.769043],[30.450488,-2.753223],[30.47334,-2.694336],[30.434375,-2.658887],[30.424219,-2.641602],[30.441992,-2.613477],[30.533691,-2.42627],[30.553613,-2.400098],[30.593359,-2.396777],[30.656641,-2.373828],[30.714844,-2.363477],[30.7625,-2.37168],[30.797656,-2.362695],[30.828711,-2.338477],[30.85498,-2.26543],[30.876563,-2.143359],[30.864648,-2.044043],[30.819141,-1.96748],[30.806738,-1.850684],[30.827539,-1.693652],[30.812598,-1.563086],[30.762207,-1.458691],[30.710742,-1.396777],[30.631934,-1.36748],[30.508105,-1.208203],[30.470215,-1.131152],[30.477051,-1.083008],[30.509961,-1.067285],[30.519922,-1.0625],[30.59873,-1.069727],[30.672754,-1.051367],[30.741992,-1.00752],[30.80918,-0.994922],[30.823633,-0.999023],[30.844727,-1.002051],[30.949707,-1.002051],[31.127539,-1.002051],[31.305273,-1.002051],[31.483105,-1.002051],[31.66084,-1.002051],[31.838574,-1.002051],[32.016406,-1.002051],[32.194141,-1.002051],[32.371875,-1.002051],[32.549707,-1.002051],[32.727441,-1.002051],[32.905176,-1.002051],[33.083008,-1.002051],[33.260742,-1.002051],[33.438477,-1.002051],[33.616309,-1.002051],[33.794043,-1.002051],[33.903223,-1.002051],[33.979395,-1.002051],[34.051563,-1.039844],[34.131641,-1.08457],[34.344727,-1.203613],[34.55791,-1.322559],[34.771094,-1.441602],[34.984277,-1.560547],[35.197461,-1.67959],[35.410547,-1.798633],[35.62373,-1.917578],[35.836914,-2.036621],[36.05,-2.155664],[36.263086,-2.274609],[36.476367,-2.393555],[36.689453,-2.512598],[36.902637,-2.631641],[37.11582,-2.750586],[37.329004,-2.869629],[37.542188,-2.988574],[37.643848,-3.04541],[37.65918,-3.07002],[37.676855,-3.178418],[37.687988,-3.246191],[37.681836,-3.305762],[37.625391,-3.407227],[37.608691,-3.460254],[37.608203,-3.49707],[37.62207,-3.511523],[37.670117,-3.516797],[37.711035,-3.54082],[37.726172,-3.559766],[37.757422,-3.636133],[37.797266,-3.674414],[37.887305,-3.739258],[38.04082,-3.849805],[38.194336,-3.960352],[38.347852,-4.070898],[38.501367,-4.181445],[38.654883,-4.291895],[38.808398,-4.402441],[38.961914,-4.512988],[39.11543,-4.623535],[39.190137,-4.677246],[39.221777,-4.692383],[39.201855,-4.776465],[39.123242,-4.980469],[39.11875,-5.06543],[39.087988,-5.16543],[39.058301,-5.231543],[38.978223,-5.518555],[38.911035,-5.625977],[38.819238,-5.877637],[38.804688,-6.070117],[38.855273,-6.204883],[38.874023,-6.33125],[38.981445,-6.455078],[39.067383,-6.499316],[39.125488,-6.555957],[39.228418,-6.685254],[39.287305,-6.814941],[39.472363,-6.878613],[39.546094,-7.024023],[39.519238,-7.124121],[39.433398,-7.207031],[39.353125,-7.341406],[39.288477,-7.517871],[39.287012,-7.787695],[39.330469,-7.74668],[39.428418,-7.812793],[39.441016,-8.011523],[39.340039,-8.242871],[39.308984,-8.350977],[39.304004,-8.443848],[39.377344,-8.720801],[39.488379,-8.861816],[39.480078,-8.905957],[39.45127,-8.942969],[39.641309,-9.19248],[39.625488,-9.409473],[39.69668,-9.578418],[39.72793,-9.724805],[39.774805,-9.837109],[39.783789,-9.914551],[39.725195,-10.000488],[39.86377,-10.021973],[39.945215,-10.092285],[39.983594,-10.15957],[40.083691,-10.156641],[40.137891,-10.202637],[40.216016,-10.240625],[40.38877,-10.353516],[40.435547,-10.410254],[40.452539,-10.442969],[40.463574,-10.464355],[40.347461,-10.551563],[40.166211,-10.6875],[39.988672,-10.820801],[39.81709,-10.912402],[39.694434,-10.954785],[39.563477,-10.978516],[39.43916,-11.03457],[39.321582,-11.122559],[39.170996,-11.166895],[38.9875,-11.167285],[38.794727,-11.228906],[38.60332,-11.345313],[38.491797,-11.413281],[38.315137,-11.311133],[38.176563,-11.278711],[38.017285,-11.282129],[37.920215,-11.294727],[37.885352,-11.316699],[37.855078,-11.379102],[37.829297,-11.481934],[37.724805,-11.580664],[37.541699,-11.675098],[37.372852,-11.710449],[37.218359,-11.686523],[37.113867,-11.647168],[37.05918,-11.592188],[36.978906,-11.566992],[36.872656,-11.571289],[36.771094,-11.610352],[36.673828,-11.684277],[36.518652,-11.716211],[36.305664,-11.706348],[36.191309,-11.670703],[36.175488,-11.609277],[36.082227,-11.537305],[35.911328,-11.454688],[35.785449,-11.45293],[35.704688,-11.532129],[35.630957,-11.582031],[35.564355,-11.602344],[35.504395,-11.604785],[35.451367,-11.589551],[35.418262,-11.583203],[35.182617,-11.574805],[34.959473,-11.578125],[34.952637,-11.54375],[34.937012,-11.463477],[34.890625,-11.393555],[34.850586,-11.351953],[34.800879,-11.340918],[34.773828,-11.341699],[34.752148,-11.309473],[34.726465,-11.238184],[34.688477,-11.177441],[34.638086,-11.127148],[34.60791,-11.080469],[34.597656,-11.0375],[34.605664,-10.990234],[34.652344,-10.872852],[34.66709,-10.79248],[34.661816,-10.710059],[34.636523,-10.625586],[34.583594,-10.525098],[34.589551,-10.496191],[34.571582,-10.427637],[34.569727,-10.379688],[34.57998,-10.319824],[34.569922,-10.241113],[34.524219,-10.073145],[34.524219,-10.030176],[34.475977,-9.948828],[34.327832,-9.756543],[34.320898,-9.731543],[34.088574,-9.537793],[33.995605,-9.49541],[33.962109,-9.531738],[33.949609,-9.565332],[33.959375,-9.627344],[33.953711,-9.658203],[33.943945,-9.672168],[33.888867,-9.670117],[33.854199,-9.662988],[33.766211,-9.610938],[33.697656,-9.598145],[33.527539,-9.60752],[33.467773,-9.619727],[33.420898,-9.608008],[33.330859,-9.519141],[33.225293,-9.500488],[33.130469,-9.495898],[32.974023,-9.39502],[32.937305,-9.399707],[32.919922,-9.407422]]],[[[39.711328,-7.977441],[39.657227,-7.990527],[39.636133,-7.977832],[39.60293,-7.936133],[39.660645,-7.900586],[39.716602,-7.831543],[39.846582,-7.730273],[39.890918,-7.663477],[39.907129,-7.649219],[39.897754,-7.728125],[39.824414,-7.900684],[39.761816,-7.911914],[39.711328,-7.977441]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":4,"SOVEREIGNT":"Tajikistan","SOV_A3":"TJK","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Tajikistan","ADM0_A3":"TJK","GEOU_DIF":0,"GEOUNIT":"Tajikistan","GU_A3":"TJK","SU_DIF":0,"SUBUNIT":"Tajikistan","SU_A3":"TJK","BRK_DIFF":0,"NAME":"Tajikistan","NAME_LONG":"Tajikistan","BRK_A3":"TJK","BRK_NAME":"Tajikistan","BRK_GROUP":null,"ABBREV":"Tjk.","POSTAL":"TJ","FORMAL_EN":"Republic of Tajikistan","FORMAL_FR":null,"NAME_CIAWF":"Tajikistan","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Tajikistan","NAME_ALT":null,"MAPCOLOR7":3,"MAPCOLOR8":6,"MAPCOLOR9":2,"MAPCOLOR13":5,"POP_EST":9321018,"POP_RANK":13,"POP_YEAR":2019,"GDP_MD":8116,"GDP_YEAR":2019,"ECONOMY":"6. Developing region","INCOME_GRP":"5. Low income","FIPS_10":"TI","ISO_A2":"TJ","ISO_A2_EH":"TJ","ISO_A3":"TJK","ISO_A3_EH":"TJK","ISO_N3":"762","ISO_N3_EH":"762","UN_A3":"762","WB_A2":"TJ","WB_A3":"TJK","WOE_ID":23424961,"WOE_ID_EH":23424961,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"TJK","ADM0_DIFF":null,"ADM0_TLC":"TJK","ADM0_A3_US":"TJK","ADM0_A3_FR":"TJK","ADM0_A3_RU":"TJK","ADM0_A3_ES":"TJK","ADM0_A3_CN":"TJK","ADM0_A3_TW":"TJK","ADM0_A3_IN":"TJK","ADM0_A3_NP":"TJK","ADM0_A3_PK":"TJK","ADM0_A3_DE":"TJK","ADM0_A3_GB":"TJK","ADM0_A3_BR":"TJK","ADM0_A3_IL":"TJK","ADM0_A3_PS":"TJK","ADM0_A3_SA":"TJK","ADM0_A3_EG":"TJK","ADM0_A3_MA":"TJK","ADM0_A3_PT":"TJK","ADM0_A3_AR":"TJK","ADM0_A3_JP":"TJK","ADM0_A3_KO":"TJK","ADM0_A3_VN":"TJK","ADM0_A3_TR":"TJK","ADM0_A3_ID":"TJK","ADM0_A3_PL":"TJK","ADM0_A3_GR":"TJK","ADM0_A3_IT":"TJK","ADM0_A3_NL":"TJK","ADM0_A3_SE":"TJK","ADM0_A3_BD":"TJK","ADM0_A3_UA":"TJK","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Asia","REGION_UN":"Asia","SUBREGION":"Central Asia","REGION_WB":"Europe & Central Asia","NAME_LEN":10,"LONG_LEN":10,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":4,"MAX_LABEL":9,"LABEL_X":72.587276,"LABEL_Y":38.199835,"NE_ID":1159321307,"WIKIDATAID":"Q863","NAME_AR":"طاجيكستان","NAME_BN":"তাজিকিস্তান","NAME_DE":"Tadschikistan","NAME_EN":"Tajikistan","NAME_ES":"Tayikistán","NAME_FA":"تاجیکستان","NAME_FR":"Tadjikistan","NAME_EL":"Τατζικιστάν","NAME_HE":"טג׳יקיסטן","NAME_HI":"ताजिकिस्तान","NAME_HU":"Tádzsikisztán","NAME_ID":"Tajikistan","NAME_IT":"Tagikistan","NAME_JA":"タジキスタン","NAME_KO":"타지키스탄","NAME_NL":"Tadzjikistan","NAME_PL":"Tadżykistan","NAME_PT":"Tajiquistão","NAME_RU":"Таджикистан","NAME_SV":"Tadzjikistan","NAME_TR":"Tacikistan","NAME_UK":"Таджикистан","NAME_UR":"تاجکستان","NAME_VI":"Tajikistan","NAME_ZH":"塔吉克斯坦","NAME_ZHT":"塔吉克","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[67.349609,36.684033,75.11875,41.035107],"geometry":{"type":"MultiPolygon","coordinates":[[[[67.758984,37.172217],[67.798047,37.244971],[67.814355,37.487012],[67.863574,37.570703],[68.010938,37.720947],[68.087598,37.835449],[68.174023,37.928418],[68.236523,37.959668],[68.294043,38.03291],[68.341211,38.116797],[68.354492,38.169531],[68.350293,38.211035],[68.333105,38.237793],[68.251367,38.294531],[68.144141,38.383105],[68.087207,38.473535],[68.055957,38.588916],[68.047852,38.669287],[68.148535,38.890625],[68.13252,38.927637],[68.103516,38.962012],[68.044336,38.983594],[67.95957,38.99292],[67.875684,38.983008],[67.768555,38.982227],[67.694434,38.994629],[67.676563,39.008496],[67.667285,39.10918],[67.64834,39.131055],[67.616504,39.150293],[67.400391,39.19668],[67.357617,39.216699],[67.349609,39.24209],[67.426172,39.465576],[67.45957,39.482422],[67.491699,39.51875],[67.54248,39.557617],[67.719043,39.621387],[67.908594,39.593799],[68.077148,39.56416],[68.244922,39.548291],[68.303027,39.537695],[68.399023,39.528857],[68.463281,39.536719],[68.506934,39.562793],[68.586133,39.634961],[68.610352,39.743262],[68.638965,39.838867],[68.686914,39.846289],[68.735254,39.83623],[68.758203,39.855566],[68.767969,39.881836],[68.777832,39.904199],[68.797656,39.909131],[68.832422,39.884326],[68.852246,39.890967],[68.86875,39.907471],[68.863867,39.927344],[68.824414,39.960791],[68.789453,40.01333],[68.792773,40.031494],[68.804688,40.050342],[68.908496,40.068213],[68.955664,40.071338],[68.97207,40.089941],[68.966016,40.11958],[68.926855,40.136328],[68.78457,40.1271],[68.639746,40.129199],[68.622461,40.147266],[68.630664,40.16709],[68.652539,40.182666],[68.951758,40.222607],[69.110352,40.20874],[69.22832,40.187598],[69.274902,40.198096],[69.219531,40.288135],[69.294434,40.296582],[69.304199,40.327393],[69.20625,40.566553],[69.259961,40.587646],[69.313965,40.634766],[69.309375,40.723926],[69.357227,40.767383],[69.413867,40.797168],[69.498242,40.76709],[69.628418,40.679053],[69.670801,40.661963],[69.712891,40.656982],[69.773242,40.684277],[70.005664,40.771436],[70.136328,40.82041],[70.29209,40.891699],[70.318945,40.919238],[70.372656,41.027637],[70.401953,41.035107],[70.441504,41.023438],[70.578223,40.911475],[70.657324,40.839648],[70.657324,40.815088],[70.634766,40.796582],[70.63916,40.778564],[70.750977,40.7396],[70.751074,40.721777],[70.725586,40.687793],[70.712012,40.669092],[70.69834,40.661182],[70.548828,40.562793],[70.382617,40.453516],[70.377148,40.439258],[70.369727,40.412012],[70.371582,40.384131],[70.398242,40.361377],[70.469922,40.345361],[70.533594,40.324512],[70.56582,40.267139],[70.602734,40.21416],[70.653125,40.201172],[70.899414,40.23457],[70.958008,40.238867],[70.960938,40.220654],[70.946387,40.187598],[70.738574,40.131152],[70.644336,40.083447],[70.624121,39.998975],[70.599219,39.974512],[70.556836,39.954492],[70.515137,39.949902],[70.451367,40.049219],[70.378906,40.069873],[70.274414,40.104834],[70.071484,40.172754],[69.966797,40.202246],[69.765234,40.158008],[69.530273,40.097314],[69.493652,40.060352],[69.46875,40.020752],[69.470996,39.990625],[69.487891,39.950439],[69.47627,39.919727],[69.431934,39.909766],[69.36543,39.94707],[69.307227,39.968555],[69.278809,39.917773],[69.244727,39.8271],[69.229102,39.761084],[69.280273,39.665869],[69.297656,39.524805],[69.391504,39.532471],[69.463281,39.53208],[69.598828,39.573779],[69.666992,39.574902],[69.77207,39.556738],[69.955957,39.553076],[70.10166,39.560596],[70.136816,39.557568],[70.171094,39.58418],[70.209277,39.575],[70.244824,39.542627],[70.39209,39.581885],[70.501172,39.587354],[70.567969,39.575879],[70.607813,39.564404],[70.678613,39.471289],[70.733105,39.413281],[70.799316,39.394727],[71.004883,39.411865],[71.065039,39.493408],[71.118066,39.513574],[71.202734,39.519824],[71.272852,39.535303],[71.328516,39.568701],[71.404297,39.597852],[71.470313,39.603662],[71.503027,39.582178],[71.517383,39.553857],[71.505859,39.51709],[71.50332,39.478809],[71.546289,39.453076],[71.672656,39.44707],[71.732227,39.422998],[71.735352,39.377734],[71.725684,39.306592],[71.778613,39.277979],[71.805957,39.275586],[71.991016,39.350928],[72.042773,39.352148],[72.08418,39.310645],[72.147363,39.260742],[72.22998,39.20752],[72.249805,39.215674],[72.287207,39.27373],[72.357715,39.336865],[72.490234,39.357373],[72.563379,39.377197],[72.639941,39.385986],[72.872461,39.3604],[72.949414,39.35708],[73.109277,39.361914],[73.234961,39.374561],[73.336133,39.412354],[73.387402,39.442725],[73.47041,39.460596],[73.575586,39.457617],[73.631641,39.448877],[73.636328,39.39668],[73.623145,39.297852],[73.607324,39.229199],[73.69043,39.104541],[73.74375,39.044531],[73.795605,39.002148],[73.805273,38.968652],[73.794531,38.941309],[73.72998,38.914697],[73.706836,38.88623],[73.696094,38.854297],[73.716797,38.817236],[73.754102,38.698926],[73.80166,38.606885],[73.869141,38.562891],[73.97002,38.533691],[74.025586,38.539844],[74.065332,38.608496],[74.131348,38.661182],[74.187305,38.65752],[74.277441,38.659766],[74.514063,38.6],[74.74502,38.51001],[74.812305,38.460303],[74.835938,38.404297],[74.77207,38.274756],[74.775098,38.191895],[74.789648,38.103613],[74.84248,38.038086],[74.89082,37.925781],[74.900293,37.832715],[74.921289,37.80498],[74.938281,37.77251],[74.912305,37.687305],[74.894238,37.601416],[74.91582,37.572803],[74.986426,37.530371],[75.097461,37.45127],[75.11875,37.385693],[75.079004,37.344043],[75.008398,37.293555],[74.918164,37.25],[74.891309,37.231641],[74.875391,37.241992],[74.830469,37.285937],[74.730566,37.357031],[74.659375,37.394482],[74.524219,37.382373],[74.444922,37.395605],[74.349023,37.41875],[74.259668,37.41543],[74.203516,37.372461],[74.16709,37.329443],[74.077734,37.316211],[73.948828,37.283154],[73.749609,37.231787],[73.653516,37.239355],[73.627539,37.261572],[73.648828,37.291211],[73.717285,37.329443],[73.733789,37.375781],[73.720605,37.41875],[73.657129,37.430469],[73.632617,37.437207],[73.604688,37.446045],[73.481348,37.47168],[73.38291,37.462256],[73.211133,37.408496],[72.895508,37.267529],[72.757031,37.172705],[72.657422,37.029053],[72.358789,36.98291],[72.153516,36.900537],[71.941992,36.766455],[71.802051,36.694287],[71.733789,36.684033],[71.665625,36.696924],[71.597461,36.73291],[71.530859,36.845117],[71.471875,37.015088],[71.43291,37.127539],[71.454785,37.271826],[71.479688,37.436035],[71.505078,37.60293],[71.546191,37.795654],[71.580371,37.864258],[71.582227,37.910107],[71.551953,37.933154],[71.487793,37.931885],[71.389648,37.906299],[71.319922,37.901855],[71.278516,37.918408],[71.282813,38.00791],[71.332715,38.170264],[71.255859,38.306982],[71.052148,38.417871],[70.878906,38.456396],[70.735938,38.422559],[70.61582,38.334424],[70.518555,38.191992],[70.417773,38.075439],[70.313281,37.984814],[70.23877,37.941211],[70.214648,37.924414],[70.199414,37.886035],[70.25498,37.765381],[70.251465,37.66416],[70.188672,37.582471],[70.119824,37.543506],[70.044727,37.547217],[69.984961,37.566162],[69.940625,37.600293],[69.820898,37.60957],[69.625781,37.594043],[69.49209,37.553076],[69.420117,37.486719],[69.399219,37.399316],[69.429688,37.290869],[69.414453,37.207764],[69.353809,37.150049],[69.303906,37.116943],[69.264844,37.108398],[69.180176,37.158301],[69.05,37.266504],[68.960449,37.325049],[68.911816,37.333936],[68.885254,37.328076],[68.855371,37.316846],[68.838477,37.302832],[68.82373,37.270703],[68.782031,37.258008],[68.723242,37.268018],[68.669141,37.258398],[68.637012,37.224463],[68.546484,37.183447],[68.386914,37.1375],[68.299512,37.088428],[68.284766,37.036328],[68.260938,37.013086],[68.212109,37.021533],[68.067773,36.949805],[67.958008,36.972021],[67.834473,37.064209],[67.766016,37.140137],[67.758984,37.172217]]],[[[70.652539,40.936621],[70.622754,40.934424],[70.56875,40.981836],[70.55,41.014893],[70.57207,41.024805],[70.618359,41.00166],[70.649219,40.96084],[70.652539,40.936621]]],[[[70.70166,39.825293],[70.612109,39.786768],[70.55957,39.790918],[70.518652,39.828174],[70.489258,39.863037],[70.482813,39.882715],[70.497754,39.882422],[70.56709,39.866602],[70.66416,39.855469],[70.698242,39.84585],[70.70166,39.825293]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":3,"SOVEREIGNT":"Taiwan","SOV_A3":"TWN","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Taiwan","ADM0_A3":"TWN","GEOU_DIF":0,"GEOUNIT":"Taiwan","GU_A3":"TWN","SU_DIF":0,"SUBUNIT":"Taiwan","SU_A3":"TWN","BRK_DIFF":0,"NAME":"Taiwan","NAME_LONG":"Taiwan","BRK_A3":"TWN","BRK_NAME":"Taiwan","BRK_GROUP":null,"ABBREV":"Taiwan","POSTAL":"TW","FORMAL_EN":null,"FORMAL_FR":null,"NAME_CIAWF":"Taiwan","NOTE_ADM0":null,"NOTE_BRK":"Self admin.; Claimed by China","NAME_SORT":"Taiwan","NAME_ALT":null,"MAPCOLOR7":1,"MAPCOLOR8":5,"MAPCOLOR9":7,"MAPCOLOR13":2,"POP_EST":23568378,"POP_RANK":15,"POP_YEAR":2020,"GDP_MD":1127000,"GDP_YEAR":2016,"ECONOMY":"2. Developed region: nonG7","INCOME_GRP":"2. High income: nonOECD","FIPS_10":"TW","ISO_A2":"CN-TW","ISO_A2_EH":"TW","ISO_A3":"TWN","ISO_A3_EH":"TWN","ISO_N3":"158","ISO_N3_EH":"158","UN_A3":"-099","WB_A2":"-99","WB_A3":"-99","WOE_ID":23424971,"WOE_ID_EH":23424971,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"TWN","ADM0_DIFF":null,"ADM0_TLC":"TWN","ADM0_A3_US":"TWN","ADM0_A3_FR":"TWN","ADM0_A3_RU":"CHN","ADM0_A3_ES":"TWN","ADM0_A3_CN":"CHN","ADM0_A3_TW":"TWN","ADM0_A3_IN":"TWN","ADM0_A3_NP":"CHN","ADM0_A3_PK":"CHN","ADM0_A3_DE":"TWN","ADM0_A3_GB":"TWN","ADM0_A3_BR":"TWN","ADM0_A3_IL":"TWN","ADM0_A3_PS":"TWN","ADM0_A3_SA":"TWN","ADM0_A3_EG":"CHN","ADM0_A3_MA":"CHN","ADM0_A3_PT":"TWN","ADM0_A3_AR":"TWN","ADM0_A3_JP":"TWN","ADM0_A3_KO":"TWN","ADM0_A3_VN":"TWN","ADM0_A3_TR":"TWN","ADM0_A3_ID":"CHN","ADM0_A3_PL":"TWN","ADM0_A3_GR":"TWN","ADM0_A3_IT":"TWN","ADM0_A3_NL":"TWN","ADM0_A3_SE":"TWN","ADM0_A3_BD":"CHN","ADM0_A3_UA":"TWN","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Asia","REGION_UN":"Asia","SUBREGION":"Eastern Asia","REGION_WB":"East Asia & Pacific","NAME_LEN":6,"LONG_LEN":6,"ABBREV_LEN":6,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":4.5,"MAX_LABEL":8,"LABEL_X":120.868204,"LABEL_Y":23.652408,"NE_ID":1159321335,"WIKIDATAID":"Q865","NAME_AR":"تايوان","NAME_BN":"তাইওয়ান","NAME_DE":"Republik China","NAME_EN":"Taiwan","NAME_ES":"República de China","NAME_FA":"تایوان","NAME_FR":"Taïwan","NAME_EL":"Δημοκρατία της Κίνας","NAME_HE":"טאיוואן","NAME_HI":"चीनी गणराज्य","NAME_HU":"Kínai Köztársaság","NAME_ID":"Taiwan","NAME_IT":"Taiwan","NAME_JA":"中華民国","NAME_KO":"중화민국","NAME_NL":"Taiwan","NAME_PL":"Republika Chińska","NAME_PT":"Taiwan","NAME_RU":"Тайвань","NAME_SV":"Taiwan","NAME_TR":"Çin Cumhuriyeti","NAME_UK":"Республіка Китай","NAME_UR":"تائیوان","NAME_VI":"Đài Loan","NAME_ZH":"中华民国","NAME_ZHT":"中華民國","FCLASS_ISO":"Admin-1 states provinces","TLC_DIFF":"1","FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":"Admin-1 states provinces","FCLASS_TW":"Admin-0 country","FCLASS_IN":null,"FCLASS_NP":"Admin-1 states provinces","FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":"Admin-1 states provinces","FCLASS_MA":"Admin-1 states provinces","FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":"Admin-1 states provinces","FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":"Admin-1 states provinces","FCLASS_UA":null},"bbox":[118.287305,21.925,121.929004,25.276904],"geometry":{"type":"MultiPolygon","coordinates":[[[[121.008789,22.620361],[120.946875,22.503076],[120.897363,22.37915],[120.877344,22.262207],[120.878418,22.141553],[120.864258,22.032666],[120.839844,21.925],[120.742773,21.956006],[120.690137,22.033105],[120.678027,22.159668],[120.607617,22.312549],[120.58125,22.356396],[120.479785,22.441895],[120.387598,22.484521],[120.316211,22.547607],[120.325586,22.542432],[120.272852,22.627441],[120.232813,22.71792],[120.150098,22.974902],[120.121582,23.037012],[120.083398,23.093701],[120.072461,23.149756],[120.085547,23.212061],[120.121191,23.305176],[120.142969,23.399072],[120.125391,23.526611],[120.132129,23.65293],[120.158984,23.709033],[120.629687,24.478516],[120.757422,24.642285],[120.835938,24.722656],[120.901563,24.813281],[120.964063,24.927979],[121.040625,25.032812],[121.09541,25.065088],[121.36543,25.15918],[121.449609,25.249023],[121.51709,25.276904],[121.593652,25.275342],[121.643066,25.232422],[121.687109,25.181592],[121.733301,25.154102],[121.852832,25.104443],[121.905176,25.056445],[121.929004,24.97373],[121.85625,24.895264],[121.820117,24.824512],[121.813379,24.746338],[121.826367,24.640527],[121.828027,24.534375],[121.737012,24.285254],[121.639355,24.130078],[121.613086,24.052734],[121.583398,23.860889],[121.526074,23.668262],[121.477148,23.424072],[121.397461,23.17251],[121.352246,23.067285],[121.295898,22.966602],[121.16123,22.776367],[121.008789,22.620361]]],[[[118.407422,24.522119],[118.451172,24.455566],[118.432715,24.414355],[118.295117,24.436328],[118.287305,24.476611],[118.339355,24.469141],[118.407422,24.522119]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":3,"SOVEREIGNT":"Syria","SOV_A3":"SYR","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Syria","ADM0_A3":"SYR","GEOU_DIF":0,"GEOUNIT":"Syria","GU_A3":"SYR","SU_DIF":0,"SUBUNIT":"Syria","SU_A3":"SYR","BRK_DIFF":0,"NAME":"Syria","NAME_LONG":"Syria","BRK_A3":"SYR","BRK_NAME":"Syria","BRK_GROUP":null,"ABBREV":"Syria","POSTAL":"SYR","FORMAL_EN":"Syrian Arab Republic","FORMAL_FR":null,"NAME_CIAWF":"Syria","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Syrian Arab Republic","NAME_ALT":null,"MAPCOLOR7":2,"MAPCOLOR8":6,"MAPCOLOR9":2,"MAPCOLOR13":6,"POP_EST":17070135,"POP_RANK":14,"POP_YEAR":2019,"GDP_MD":98830,"GDP_YEAR":2015,"ECONOMY":"6. Developing region","INCOME_GRP":"4. Lower middle income","FIPS_10":"SY","ISO_A2":"SY","ISO_A2_EH":"SY","ISO_A3":"SYR","ISO_A3_EH":"SYR","ISO_N3":"760","ISO_N3_EH":"760","UN_A3":"760","WB_A2":"SY","WB_A3":"SYR","WOE_ID":23424956,"WOE_ID_EH":23424956,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"SYR","ADM0_DIFF":null,"ADM0_TLC":"SYR","ADM0_A3_US":"SYR","ADM0_A3_FR":"SYR","ADM0_A3_RU":"SYR","ADM0_A3_ES":"SYR","ADM0_A3_CN":"SYR","ADM0_A3_TW":"SYR","ADM0_A3_IN":"SYR","ADM0_A3_NP":"SYR","ADM0_A3_PK":"SYR","ADM0_A3_DE":"SYR","ADM0_A3_GB":"SYR","ADM0_A3_BR":"SYR","ADM0_A3_IL":"SYR","ADM0_A3_PS":"SYR","ADM0_A3_SA":"SYR","ADM0_A3_EG":"SYR","ADM0_A3_MA":"SYR","ADM0_A3_PT":"SYR","ADM0_A3_AR":"SYR","ADM0_A3_JP":"SYR","ADM0_A3_KO":"SYR","ADM0_A3_VN":"SYR","ADM0_A3_TR":"SYR","ADM0_A3_ID":"SYR","ADM0_A3_PL":"SYR","ADM0_A3_GR":"SYR","ADM0_A3_IT":"SYR","ADM0_A3_NL":"SYR","ADM0_A3_SE":"SYR","ADM0_A3_BD":"SYR","ADM0_A3_UA":"SYR","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Asia","REGION_UN":"Asia","SUBREGION":"Western Asia","REGION_WB":"Middle East & North Africa","NAME_LEN":5,"LONG_LEN":5,"ABBREV_LEN":5,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":3,"MAX_LABEL":8,"LABEL_X":38.277783,"LABEL_Y":35.006636,"NE_ID":1159321295,"WIKIDATAID":"Q858","NAME_AR":"سوريا","NAME_BN":"সিরিয়া","NAME_DE":"Syrien","NAME_EN":"Syria","NAME_ES":"Siria","NAME_FA":"سوریه","NAME_FR":"Syrie","NAME_EL":"Συρία","NAME_HE":"סוריה","NAME_HI":"सीरिया","NAME_HU":"Szíria","NAME_ID":"Suriah","NAME_IT":"Siria","NAME_JA":"シリア","NAME_KO":"시리아","NAME_NL":"Syrië","NAME_PL":"Syria","NAME_PT":"Síria","NAME_RU":"Сирия","NAME_SV":"Syrien","NAME_TR":"Suriye","NAME_UK":"Сирія","NAME_UR":"سوریہ","NAME_VI":"Syria","NAME_ZH":"叙利亚","NAME_ZHT":"敘利亞","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[35.764453,32.317285,42.359082,37.297266],"geometry":{"type":"Polygon","coordinates":[[[35.892676,35.916553],[35.967578,35.910059],[36.127344,35.831445],[36.153613,35.833887],[36.201953,35.937549],[36.248828,35.972705],[36.347559,36.003516],[36.375391,36.17124],[36.421484,36.203467],[36.477051,36.220703],[36.562402,36.223926],[36.636719,36.233984],[36.641406,36.263525],[36.5375,36.457422],[36.54668,36.506348],[36.596875,36.701367],[36.628418,36.777686],[36.658594,36.802539],[36.776563,36.792676],[36.941797,36.758398],[36.985352,36.702393],[37.066211,36.652637],[37.187402,36.655908],[37.327051,36.646582],[37.436328,36.643311],[37.523535,36.67832],[37.720313,36.743701],[37.817969,36.765576],[37.906641,36.794629],[38.191699,36.901562],[38.305859,36.893359],[38.383984,36.879248],[38.44375,36.862256],[38.578027,36.789111],[38.688867,36.715088],[38.766602,36.693115],[38.906445,36.694678],[39.108398,36.680566],[39.356641,36.681592],[39.501465,36.702246],[39.686523,36.738623],[40.016406,36.826074],[40.450391,37.008887],[40.705664,37.097705],[40.815625,37.108154],[40.958887,37.10918],[41.102148,37.085889],[41.264648,37.069336],[41.339551,37.070801],[41.515527,37.08916],[41.743555,37.126123],[41.886816,37.156396],[42.059863,37.206055],[42.167871,37.288623],[42.202734,37.297266],[42.247559,37.282227],[42.268555,37.276562],[42.312891,37.22959],[42.358984,37.108594],[42.359082,37.09502],[42.350098,37.060596],[42.237305,36.961133],[42.083984,36.826025],[41.974023,36.74082],[41.788574,36.597168],[41.650195,36.566406],[41.416797,36.514648],[41.354199,36.464404],[41.295996,36.38335],[41.261816,36.272461],[41.251758,36.203027],[41.245605,36.073389],[41.300195,35.938965],[41.352637,35.809961],[41.359375,35.724609],[41.354102,35.64043],[41.30332,35.550635],[41.24834,35.42749],[41.216406,35.288184],[41.199609,35.027393],[41.199219,34.805322],[41.194727,34.768994],[41.099023,34.612305],[40.987012,34.429053],[40.935059,34.386572],[40.689453,34.332031],[40.421484,34.197754],[40.121973,34.047656],[39.85,33.911377],[39.564453,33.768359],[39.268359,33.62002],[39.056738,33.514014],[38.773535,33.372217],[38.515625,33.236621],[38.254297,33.099219],[38.055762,32.994873],[37.754102,32.829834],[37.577441,32.733057],[37.317578,32.590771],[37.088965,32.465527],[36.818359,32.317285],[36.479199,32.361328],[36.37207,32.386914],[36.284277,32.457471],[36.219727,32.495117],[36.059473,32.533789],[35.956445,32.666699],[35.894727,32.71377],[35.787305,32.734912],[35.833283,32.820094],[35.841863,32.875954],[35.887977,32.944379],[35.859022,32.989367],[35.84508,33.084665],[35.824704,33.108024],[35.817197,33.133173],[35.833283,33.163702],[35.826849,33.195117],[35.808618,33.208577],[35.800038,33.256121],[35.785024,33.291089],[35.792531,33.334107],[35.816125,33.361879],[35.840738,33.415661],[35.869141,33.431738],[35.914746,33.465381],[35.926563,33.500293],[35.967578,33.53457],[36.022266,33.5625],[36.034473,33.585059],[36.02666,33.597949],[35.97168,33.623096],[35.942383,33.667578],[35.968457,33.732422],[35.986133,33.752637],[36.018848,33.783936],[36.092188,33.831592],[36.149805,33.839502],[36.199414,33.839551],[36.283398,33.835596],[36.348535,33.827051],[36.365039,33.839355],[36.362793,33.855127],[36.282227,33.894189],[36.277832,33.925293],[36.297852,33.958643],[36.354883,34.011328],[36.422852,34.049854],[36.45752,34.056836],[36.535156,34.134326],[36.584961,34.22124],[36.504395,34.432373],[36.455566,34.466162],[36.376465,34.495166],[36.329883,34.499609],[36.32627,34.51333],[36.388672,34.566895],[36.433008,34.613477],[36.383887,34.65791],[36.296289,34.678711],[36.263574,34.632861],[36.151074,34.628613],[35.97627,34.629199],[35.899316,34.8521],[35.887891,34.948633],[35.889941,35.060303],[35.943066,35.223828],[35.918066,35.299512],[35.916016,35.350537],[35.902441,35.420703],[35.764453,35.571582],[35.839648,35.849219],[35.892676,35.916553]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":4,"SOVEREIGNT":"Switzerland","SOV_A3":"CHE","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Switzerland","ADM0_A3":"CHE","GEOU_DIF":0,"GEOUNIT":"Switzerland","GU_A3":"CHE","SU_DIF":0,"SUBUNIT":"Switzerland","SU_A3":"CHE","BRK_DIFF":0,"NAME":"Switzerland","NAME_LONG":"Switzerland","BRK_A3":"CHE","BRK_NAME":"Switzerland","BRK_GROUP":null,"ABBREV":"Switz.","POSTAL":"CH","FORMAL_EN":"Swiss Confederation","FORMAL_FR":null,"NAME_CIAWF":"Switzerland","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Switzerland","NAME_ALT":null,"MAPCOLOR7":5,"MAPCOLOR8":2,"MAPCOLOR9":7,"MAPCOLOR13":3,"POP_EST":8574832,"POP_RANK":13,"POP_YEAR":2019,"GDP_MD":703082,"GDP_YEAR":2019,"ECONOMY":"2. Developed region: nonG7","INCOME_GRP":"1. High income: OECD","FIPS_10":"SZ","ISO_A2":"CH","ISO_A2_EH":"CH","ISO_A3":"CHE","ISO_A3_EH":"CHE","ISO_N3":"756","ISO_N3_EH":"756","UN_A3":"756","WB_A2":"CH","WB_A3":"CHE","WOE_ID":23424957,"WOE_ID_EH":23424957,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"CHE","ADM0_DIFF":null,"ADM0_TLC":"CHE","ADM0_A3_US":"CHE","ADM0_A3_FR":"CHE","ADM0_A3_RU":"CHE","ADM0_A3_ES":"CHE","ADM0_A3_CN":"CHE","ADM0_A3_TW":"CHE","ADM0_A3_IN":"CHE","ADM0_A3_NP":"CHE","ADM0_A3_PK":"CHE","ADM0_A3_DE":"CHE","ADM0_A3_GB":"CHE","ADM0_A3_BR":"CHE","ADM0_A3_IL":"CHE","ADM0_A3_PS":"CHE","ADM0_A3_SA":"CHE","ADM0_A3_EG":"CHE","ADM0_A3_MA":"CHE","ADM0_A3_PT":"CHE","ADM0_A3_AR":"CHE","ADM0_A3_JP":"CHE","ADM0_A3_KO":"CHE","ADM0_A3_VN":"CHE","ADM0_A3_TR":"CHE","ADM0_A3_ID":"CHE","ADM0_A3_PL":"CHE","ADM0_A3_GR":"CHE","ADM0_A3_IT":"CHE","ADM0_A3_NL":"CHE","ADM0_A3_SE":"CHE","ADM0_A3_BD":"CHE","ADM0_A3_UA":"CHE","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Europe","REGION_UN":"Europe","SUBREGION":"Western Europe","REGION_WB":"Europe & Central Asia","NAME_LEN":11,"LONG_LEN":11,"ABBREV_LEN":6,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":4,"MAX_LABEL":9,"LABEL_X":7.463965,"LABEL_Y":46.719114,"NE_ID":1159320491,"WIKIDATAID":"Q39","NAME_AR":"سويسرا","NAME_BN":"সুইজারল্যান্ড","NAME_DE":"Schweiz","NAME_EN":"Switzerland","NAME_ES":"Suiza","NAME_FA":"سوئیس","NAME_FR":"Suisse","NAME_EL":"Ελβετία","NAME_HE":"שווייץ","NAME_HI":"स्विट्ज़रलैण्ड","NAME_HU":"Svájc","NAME_ID":"Swiss","NAME_IT":"Svizzera","NAME_JA":"スイス","NAME_KO":"스위스","NAME_NL":"Zwitserland","NAME_PL":"Szwajcaria","NAME_PT":"Suíça","NAME_RU":"Швейцария","NAME_SV":"Schweiz","NAME_TR":"İsviçre","NAME_UK":"Швейцарія","NAME_UR":"سویٹزرلینڈ","NAME_VI":"Thụy Sĩ","NAME_ZH":"瑞士","NAME_ZHT":"瑞士","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[5.97002,45.830029,10.45459,47.775635],"geometry":{"type":"Polygon","coordinates":[[[9.524023,47.524219],[9.554395,47.511133],[9.625879,47.467041],[9.609082,47.391797],[9.527539,47.270752],[9.484277,47.172656],[9.479492,47.09751],[9.487695,47.062256],[9.502344,47.062744],[9.580273,47.057373],[9.619922,47.057471],[9.74502,47.037109],[9.845313,47.007373],[9.864648,46.975977],[9.877734,46.937695],[9.996875,46.885352],[10.133496,46.851514],[10.179785,46.862354],[10.349414,46.984766],[10.414941,46.964404],[10.45459,46.899414],[10.452832,46.864941],[10.406055,46.734863],[10.397949,46.665039],[10.438281,46.618848],[10.44248,46.582861],[10.430664,46.550049],[10.363086,46.54707],[10.272266,46.564844],[10.195508,46.621094],[10.1375,46.614355],[10.087012,46.599902],[10.06123,46.546777],[10.038281,46.483203],[10.045605,46.4479],[10.081934,46.420752],[10.109668,46.362842],[10.129883,46.287988],[10.145215,46.253516],[10.12832,46.238232],[10.080566,46.227979],[10.041016,46.238086],[9.97168,46.327686],[9.939258,46.361816],[9.884473,46.367773],[9.787793,46.346045],[9.639453,46.295898],[9.57959,46.296094],[9.528711,46.306201],[9.481055,46.348779],[9.440625,46.430811],[9.427637,46.482324],[9.399316,46.480664],[9.304395,46.495557],[9.260156,46.475195],[9.259766,46.39126],[9.251074,46.286768],[9.203418,46.219238],[9.070996,46.102441],[9.022363,46.051465],[9.003027,46.014893],[8.998926,45.983105],[9.019141,45.928125],[9.04668,45.875586],[9.02373,45.845703],[8.953711,45.830029],[8.904297,45.861963],[8.885156,45.918701],[8.778027,45.996191],[8.826758,46.061035],[8.818555,46.077148],[8.641699,46.110791],[8.56543,46.159814],[8.458398,46.245898],[8.438477,46.282861],[8.442969,46.402783],[8.436816,46.431885],[8.422559,46.446045],[8.370703,46.445117],[8.298535,46.403418],[8.231934,46.341211],[8.095703,46.271045],[8.081543,46.256006],[8.127246,46.187598],[8.125195,46.160937],[8.014258,46.051904],[7.993164,46.015918],[7.852344,45.947461],[7.787891,45.921826],[7.592578,45.972217],[7.538574,45.978174],[7.451563,45.944434],[7.32793,45.912354],[7.129004,45.88042],[7.055762,45.903809],[7.021094,45.925781],[7.003906,45.958838],[6.953711,46.017139],[6.897266,46.051758],[6.858008,46.089404],[6.805664,46.130664],[6.77207,46.165137],[6.816797,46.275195],[6.78418,46.313965],[6.767383,46.369189],[6.776074,46.406641],[6.758105,46.415771],[6.578223,46.437354],[6.428906,46.430518],[6.321875,46.393701],[6.234668,46.332617],[6.224219,46.319434],[6.22959,46.308447],[6.272949,46.252246],[6.199414,46.193066],[6.086621,46.147021],[6.006641,46.142334],[5.971484,46.151221],[5.97002,46.214697],[6.036133,46.238086],[6.095898,46.279395],[6.115918,46.337646],[6.123242,46.378613],[6.060254,46.428174],[6.067969,46.458545],[6.107031,46.516064],[6.129688,46.566992],[6.160742,46.611035],[6.285156,46.683057],[6.410156,46.75542],[6.429004,46.832275],[6.438574,46.925879],[6.45625,46.94834],[6.624805,47.004346],[6.666895,47.026514],[6.688086,47.058252],[6.820703,47.163184],[6.952051,47.267187],[6.978516,47.302051],[7.000586,47.32251],[7.000586,47.339453],[6.984082,47.352539],[6.921484,47.36123],[6.900391,47.394238],[6.968359,47.453223],[7.053418,47.489355],[7.136035,47.489844],[7.169238,47.473242],[7.16748,47.453711],[7.203125,47.432715],[7.265723,47.425781],[7.343164,47.433105],[7.42002,47.455176],[7.467383,47.507666],[7.494922,47.547363],[7.615625,47.592725],[7.698047,47.569873],[7.927051,47.563867],[8.09375,47.576172],[8.198242,47.606934],[8.327832,47.606934],[8.414746,47.5896],[8.430078,47.592139],[8.454004,47.596191],[8.477637,47.612695],[8.559473,47.624023],[8.570508,47.637793],[8.56709,47.651904],[8.552344,47.659131],[8.451758,47.651807],[8.413281,47.662695],[8.403418,47.687793],[8.435742,47.731348],[8.509863,47.766895],[8.572656,47.775635],[8.617871,47.766113],[8.72832,47.700049],[8.754785,47.698047],[8.770117,47.709912],[8.793066,47.716553],[8.831152,47.703613],[8.874023,47.662695],[8.881152,47.656396],[9.127539,47.670703],[9.182813,47.670703],[9.35,47.598926],[9.524023,47.524219]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":3,"LABELRANK":3,"SOVEREIGNT":"Sweden","SOV_A3":"SWE","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Sweden","ADM0_A3":"SWE","GEOU_DIF":0,"GEOUNIT":"Sweden","GU_A3":"SWE","SU_DIF":0,"SUBUNIT":"Sweden","SU_A3":"SWE","BRK_DIFF":0,"NAME":"Sweden","NAME_LONG":"Sweden","BRK_A3":"SWE","BRK_NAME":"Sweden","BRK_GROUP":null,"ABBREV":"Swe.","POSTAL":"S","FORMAL_EN":"Kingdom of Sweden","FORMAL_FR":null,"NAME_CIAWF":"Sweden","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Sweden","NAME_ALT":null,"MAPCOLOR7":1,"MAPCOLOR8":4,"MAPCOLOR9":2,"MAPCOLOR13":4,"POP_EST":10285453,"POP_RANK":14,"POP_YEAR":2019,"GDP_MD":530883,"GDP_YEAR":2019,"ECONOMY":"2. Developed region: nonG7","INCOME_GRP":"1. High income: OECD","FIPS_10":"SW","ISO_A2":"SE","ISO_A2_EH":"SE","ISO_A3":"SWE","ISO_A3_EH":"SWE","ISO_N3":"752","ISO_N3_EH":"752","UN_A3":"752","WB_A2":"SE","WB_A3":"SWE","WOE_ID":23424954,"WOE_ID_EH":23424954,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"SWE","ADM0_DIFF":null,"ADM0_TLC":"SWE","ADM0_A3_US":"SWE","ADM0_A3_FR":"SWE","ADM0_A3_RU":"SWE","ADM0_A3_ES":"SWE","ADM0_A3_CN":"SWE","ADM0_A3_TW":"SWE","ADM0_A3_IN":"SWE","ADM0_A3_NP":"SWE","ADM0_A3_PK":"SWE","ADM0_A3_DE":"SWE","ADM0_A3_GB":"SWE","ADM0_A3_BR":"SWE","ADM0_A3_IL":"SWE","ADM0_A3_PS":"SWE","ADM0_A3_SA":"SWE","ADM0_A3_EG":"SWE","ADM0_A3_MA":"SWE","ADM0_A3_PT":"SWE","ADM0_A3_AR":"SWE","ADM0_A3_JP":"SWE","ADM0_A3_KO":"SWE","ADM0_A3_VN":"SWE","ADM0_A3_TR":"SWE","ADM0_A3_ID":"SWE","ADM0_A3_PL":"SWE","ADM0_A3_GR":"SWE","ADM0_A3_IT":"SWE","ADM0_A3_NL":"SWE","ADM0_A3_SE":"SWE","ADM0_A3_BD":"SWE","ADM0_A3_UA":"SWE","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Europe","REGION_UN":"Europe","SUBREGION":"Northern Europe","REGION_WB":"Europe & Central Asia","NAME_LEN":6,"LONG_LEN":6,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":2,"MAX_LABEL":7,"LABEL_X":19.01705,"LABEL_Y":65.85918,"NE_ID":1159321287,"WIKIDATAID":"Q34","NAME_AR":"السويد","NAME_BN":"সুইডেন","NAME_DE":"Schweden","NAME_EN":"Sweden","NAME_ES":"Suecia","NAME_FA":"سوئد","NAME_FR":"Suède","NAME_EL":"Σουηδία","NAME_HE":"שוודיה","NAME_HI":"स्वीडन","NAME_HU":"Svédország","NAME_ID":"Swedia","NAME_IT":"Svezia","NAME_JA":"スウェーデン","NAME_KO":"스웨덴","NAME_NL":"Zweden","NAME_PL":"Szwecja","NAME_PT":"Suécia","NAME_RU":"Швеция","NAME_SV":"Sverige","NAME_TR":"İsveç","NAME_UK":"Швеція","NAME_UR":"سویڈن","NAME_VI":"Thụy Điển","NAME_ZH":"瑞典","NAME_ZHT":"瑞典","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[11.147168,55.346387,24.155469,69.036865],"geometry":{"type":"MultiPolygon","coordinates":[[[[19.076465,57.835938],[18.99375,57.812109],[18.945117,57.741602],[18.878125,57.729687],[18.813867,57.706201],[18.790918,57.483105],[18.90791,57.39834],[18.843652,57.386475],[18.784863,57.361084],[18.742871,57.323535],[18.699902,57.242725],[18.538477,57.196924],[18.477344,57.163037],[18.387207,57.087646],[18.340234,56.978223],[18.248926,56.931543],[18.146387,56.920508],[18.206543,57.010156],[18.285352,57.083203],[18.20957,57.133301],[18.163965,57.211719],[18.105078,57.271875],[18.151953,57.339062],[18.128906,57.44917],[18.136523,57.556641],[18.204883,57.610889],[18.283203,57.655127],[18.405176,57.756836],[18.537402,57.830566],[18.721875,57.863721],[18.805176,57.833154],[18.841113,57.900195],[18.900586,57.915479],[18.956445,57.9],[19.076465,57.835938]]],[[[16.528516,56.290527],[16.477148,56.240186],[16.431641,56.24375],[16.40127,56.310889],[16.394141,56.483643],[16.412305,56.568994],[16.630371,56.876855],[16.727734,56.902002],[16.864648,57.090674],[16.901563,57.174609],[16.960938,57.250195],[16.995996,57.317773],[17.025391,57.345068],[17.089258,57.332275],[17.117676,57.319824],[17.050391,57.280469],[17.058203,57.229248],[17.053516,57.208008],[16.883691,56.985205],[16.838281,56.840527],[16.778027,56.805225],[16.528516,56.290527]]],[[[11.388281,59.036523],[11.470703,58.909521],[11.543555,58.893018],[11.642773,58.926074],[11.712207,59.018652],[11.751855,59.157568],[11.798145,59.289893],[11.743359,59.431445],[11.684863,59.555762],[11.680762,59.592285],[11.834277,59.697168],[11.88125,59.782471],[11.932129,59.863672],[11.988281,59.891309],[12.071875,59.897607],[12.169238,59.912891],[12.291992,59.967236],[12.402051,60.040039],[12.486133,60.106787],[12.514648,60.238867],[12.51582,60.305225],[12.552832,60.354492],[12.588672,60.450732],[12.553809,60.545654],[12.445312,60.689648],[12.314648,60.892139],[12.294141,61.002686],[12.353711,61.023193],[12.467578,61.041504],[12.683008,61.046826],[12.706055,61.059863],[12.727832,61.108252],[12.776367,61.173975],[12.828223,61.221826],[12.863672,61.290283],[12.880762,61.352295],[12.75752,61.445703],[12.596094,61.541309],[12.486816,61.572998],[12.29209,61.653467],[12.155371,61.720752],[12.233691,61.976855],[12.291992,62.167432],[12.301367,62.21377],[12.303516,62.285596],[12.114551,62.591895],[12.121875,62.66001],[12.139844,62.721338],[12.119629,62.825928],[12.108594,62.919482],[12.141016,62.947852],[12.218164,63.000635],[12.144629,63.08252],[12.138672,63.08916],[11.999902,63.291699],[12.212109,63.492236],[12.175195,63.595947],[12.301953,63.671191],[12.532715,63.843555],[12.6625,63.940479],[12.690039,63.957422],[12.792773,64],[12.987598,64.050488],[13.203516,64.075098],[13.299609,64.074805],[13.670703,64.040625],[13.960547,64.014014],[14.002734,64.040723],[14.063281,64.095508],[14.141211,64.173535],[14.148047,64.260303],[14.119922,64.387744],[14.077637,64.464014],[13.873535,64.513574],[13.650293,64.581543],[13.924805,64.796777],[14.115137,64.946143],[14.352441,65.17085],[14.42627,65.264355],[14.479688,65.301465],[14.549512,65.646387],[14.595801,65.742871],[14.63457,65.793262],[14.635156,65.84502],[14.609961,65.932275],[14.543262,66.129346],[14.917969,66.153711],[15.040039,66.167529],[15.15332,66.191064],[15.374902,66.252051],[15.483789,66.305957],[15.422949,66.489844],[15.557031,66.5521],[15.88418,66.768848],[16.237695,66.976416],[16.403516,67.05498],[16.420703,67.093359],[16.434277,67.155078],[16.360645,67.252002],[16.281543,67.312061],[16.127441,67.42583],[16.193555,67.505176],[16.307129,67.520605],[16.457129,67.551758],[16.574121,67.61958],[16.585547,67.62832],[16.783594,67.89502],[17.170508,68.030127],[17.324609,68.103809],[17.564746,68.048438],[17.916699,67.964893],[18.073242,68.087842],[18.125,68.133447],[18.17666,68.200635],[18.155957,68.316846],[18.14707,68.467773],[18.162598,68.528418],[18.303027,68.55542],[18.378613,68.562402],[18.769824,68.500049],[18.868262,68.501123],[19.052637,68.492725],[19.258984,68.465332],[19.691211,68.392432],[19.87002,68.362256],[19.969824,68.356396],[20.055957,68.390381],[20.240039,68.477539],[19.968848,68.542041],[20.147461,68.607324],[20.240039,68.673145],[20.319434,68.754053],[20.348047,68.84873],[20.337109,68.899658],[20.282324,68.934326],[20.116699,69.020898],[20.491992,69.033301],[20.622168,69.036865],[20.895117,68.979834],[20.907031,68.96748],[20.908984,68.937744],[20.918555,68.906934],[21.183398,68.828809],[21.259766,68.787451],[21.422363,68.724609],[21.46543,68.690674],[21.616016,68.650977],[21.724023,68.608545],[21.850195,68.574121],[21.997461,68.520605],[22.195117,68.477979],[22.362109,68.464062],[22.782422,68.391016],[22.854102,68.367334],[22.975391,68.316455],[23.097852,68.257568],[23.18252,68.136621],[23.318555,68.130322],[23.355469,68.088672],[23.474219,68.017334],[23.638867,67.954395],[23.63291,67.933203],[23.501855,67.875195],[23.487793,67.796582],[23.500195,67.696191],[23.541309,67.614307],[23.537012,67.590381],[23.504492,67.562158],[23.46543,67.517871],[23.451465,67.479199],[23.454883,67.460254],[23.468066,67.449951],[23.537109,67.44917],[23.66084,67.440039],[23.733594,67.4229],[23.774902,67.328613],[23.760938,67.310498],[23.656641,67.267822],[23.626074,67.233936],[23.623047,67.184131],[23.641504,67.129395],[23.677344,67.068115],[23.758984,67.002588],[23.869336,66.934033],[23.941797,66.877832],[23.976074,66.838232],[23.988574,66.810547],[23.938867,66.775732],[23.894141,66.706885],[23.88584,66.628027],[23.865527,66.576611],[23.768359,66.505859],[23.701172,66.480762],[23.682031,66.443408],[23.673828,66.380713],[23.693555,66.304297],[23.700293,66.252637],[23.720996,66.21543],[23.751465,66.191162],[23.907324,66.148242],[23.994629,66.060352],[24.049023,65.989844],[24.155469,65.805273],[23.890527,65.782227],[23.691406,65.828516],[23.59209,65.805322],[23.418359,65.804346],[23.221094,65.786133],[23.15459,65.749902],[23.102344,65.735352],[22.919336,65.786475],[22.746582,65.870947],[22.620313,65.806543],[22.538574,65.794336],[22.465137,65.852637],[22.400977,65.862109],[22.366309,65.842676],[22.335938,65.791162],[22.287598,65.750635],[22.275,65.725],[22.266602,65.621533],[22.254004,65.597559],[22.08623,65.610938],[22.096289,65.583789],[22.132812,65.570117],[22.147559,65.552881],[22.086719,65.530225],[21.920117,65.532373],[21.903125,65.50835],[21.95,65.470361],[21.913477,65.437109],[21.87959,65.424023],[21.680664,65.403369],[21.565527,65.408105],[21.532617,65.386572],[21.523438,65.358594],[21.545215,65.331152],[21.595996,65.316553],[21.612695,65.299121],[21.60918,65.261377],[21.566895,65.254541],[21.446875,65.32085],[21.410352,65.317432],[21.437793,65.282959],[21.506348,65.245361],[21.545996,65.206982],[21.580664,65.160791],[21.573926,65.125781],[21.424902,65.012695],[21.29375,64.94126],[21.195898,64.876904],[21.138184,64.808691],[21.20498,64.774316],[21.279297,64.724707],[21.331543,64.629346],[21.393848,64.544336],[21.519629,64.463086],[21.494336,64.416113],[21.465039,64.37959],[21.255762,64.29917],[21.018457,64.177979],[20.762695,63.867822],[20.677637,63.82627],[20.453711,63.77373],[20.371387,63.7229],[20.204688,63.662451],[19.913672,63.610547],[19.781641,63.538184],[19.72207,63.46333],[19.655762,63.458008],[19.590039,63.487256],[19.502344,63.509033],[19.490918,63.460205],[19.494629,63.424365],[19.354297,63.47749],[19.288086,63.42876],[19.236328,63.347363],[19.034375,63.237744],[18.816699,63.257471],[18.792285,63.238135],[18.850195,63.224121],[18.858984,63.206592],[18.819434,63.197266],[18.75957,63.198242],[18.667188,63.176563],[18.606445,63.178271],[18.577637,63.126416],[18.530664,63.063525],[18.407715,63.0375],[18.344238,63.032129],[18.312891,62.996387],[18.502051,62.988867],[18.486914,62.958594],[18.482617,62.92832],[18.463086,62.89585],[18.248047,62.849072],[18.214941,62.812207],[18.17002,62.789355],[18.074414,62.790674],[18.07793,62.811963],[18.093555,62.836035],[17.951074,62.833887],[17.906641,62.886768],[17.87959,62.873193],[17.895605,62.830518],[17.93291,62.786133],[17.974414,62.721045],[17.940723,62.679883],[17.903027,62.659473],[17.930469,62.640625],[18.006543,62.62627],[18.037305,62.600537],[17.94707,62.578467],[17.834473,62.502734],[17.717773,62.500879],[17.646387,62.450879],[17.570605,62.451025],[17.508984,62.48252],[17.410254,62.508398],[17.378418,62.462793],[17.37334,62.426514],[17.429004,62.334717],[17.535254,62.263672],[17.633691,62.233008],[17.562891,62.212305],[17.510156,62.166309],[17.446582,62.022656],[17.412012,61.966113],[17.374512,61.866309],[17.398242,61.78208],[17.417285,61.740674],[17.46543,61.684473],[17.33457,61.691699],[17.196387,61.724561],[17.215625,61.656348],[17.130762,61.575732],[17.146582,61.504639],[17.164258,61.458301],[17.137988,61.381689],[17.17793,61.357617],[17.199609,61.311963],[17.163867,61.278271],[17.179785,61.249268],[17.185742,61.146533],[17.212891,60.98584],[17.20293,60.951855],[17.278906,60.812158],[17.26123,60.763184],[17.250977,60.700781],[17.359863,60.64082],[17.457031,60.641797],[17.555469,60.642725],[17.593066,60.627686],[17.630762,60.585254],[17.661133,60.535156],[17.742188,60.539307],[17.871582,60.580078],[17.955762,60.589795],[18.011328,60.511426],[18.1625,60.40791],[18.250488,60.361523],[18.4,60.337109],[18.55752,60.253564],[18.535449,60.152881],[18.601172,60.119238],[18.787012,60.079492],[18.852734,60.025879],[18.884277,59.980176],[18.933203,59.942285],[18.99043,59.827783],[18.970508,59.757227],[18.895605,59.732959],[18.71875,59.657373],[18.639941,59.600928],[18.578125,59.565771],[18.402441,59.490381],[18.338086,59.476855],[18.276465,59.437646],[18.216895,59.420508],[18.163574,59.430371],[17.964258,59.359375],[17.979785,59.329053],[18.132617,59.316211],[18.210547,59.331445],[18.270508,59.367139],[18.336035,59.375342],[18.395801,59.368604],[18.45918,59.396729],[18.508887,59.407959],[18.560254,59.394482],[18.617578,59.327051],[18.498633,59.291943],[18.414258,59.290332],[18.373047,59.179736],[18.321973,59.132227],[18.285352,59.109375],[18.098145,59.062305],[17.974609,59.002637],[17.829004,58.95459],[17.76543,58.965039],[17.669629,58.916211],[17.456738,58.858398],[17.347656,58.780518],[17.102832,58.71084],[16.978125,58.65415],[16.639355,58.651172],[16.31582,58.663623],[16.214258,58.63667],[16.318066,58.62832],[16.39082,58.601855],[16.478027,58.612891],[16.683008,58.599658],[16.788477,58.585254],[16.923828,58.492578],[16.824316,58.459619],[16.651953,58.434326],[16.716602,58.302881],[16.769922,58.214258],[16.700098,58.160791],[16.694922,57.917529],[16.596973,57.912891],[16.555371,57.812256],[16.58623,57.760937],[16.583789,57.641748],[16.604199,57.568311],[16.652246,57.500684],[16.630859,57.430176],[16.475977,57.265137],[16.479492,57.187695],[16.507324,57.141699],[16.52793,57.068164],[16.45752,56.926807],[16.407813,56.808691],[16.34873,56.709277],[16.216504,56.58999],[16.150684,56.50083],[15.99668,56.222607],[15.920313,56.167383],[15.82666,56.124951],[15.722266,56.164209],[15.626563,56.185596],[15.509668,56.183008],[15.326563,56.15083],[15.051172,56.172217],[14.782031,56.161914],[14.713965,56.134131],[14.754785,56.033154],[14.655566,56.019922],[14.558594,56.048633],[14.473242,56.014355],[14.401953,55.976758],[14.261914,55.887549],[14.215039,55.832617],[14.20293,55.72915],[14.276465,55.636377],[14.341699,55.527734],[14.17373,55.396631],[14.07998,55.392187],[13.806348,55.428564],[13.321387,55.346387],[12.88584,55.411377],[12.940625,55.481592],[12.93877,55.533203],[12.963379,55.612598],[12.978027,55.693799],[12.973926,55.748145],[12.941992,55.806055],[12.83457,55.881836],[12.592578,56.137598],[12.520996,56.245557],[12.471191,56.290527],[12.507031,56.292969],[12.706348,56.23501],[12.752832,56.242139],[12.80166,56.263916],[12.742188,56.346875],[12.691113,56.384424],[12.656445,56.440576],[12.773145,56.455762],[12.857422,56.452393],[12.919531,56.515576],[12.883691,56.617725],[12.793164,56.64917],[12.717578,56.662842],[12.572656,56.823291],[12.421484,56.906396],[12.151855,57.226953],[12.053223,57.446973],[11.961523,57.426074],[11.916992,57.521924],[11.885059,57.612695],[11.878711,57.679443],[11.734961,57.717676],[11.729102,57.764453],[11.703223,57.973193],[11.549023,58.001221],[11.449316,58.118359],[11.431543,58.33999],[11.32998,58.380322],[11.248242,58.369141],[11.252051,58.424072],[11.271582,58.475635],[11.223828,58.679932],[11.20791,58.866406],[11.169141,58.922705],[11.147168,58.988623],[11.166895,59.045557],[11.195801,59.078271],[11.295313,59.086865],[11.388281,59.036523]]],[[[19.156348,57.922607],[19.138379,57.860254],[19.086523,57.86499],[19.039258,57.911035],[19.134863,57.981348],[19.281152,57.977539],[19.331445,57.962891],[19.156348,57.922607]]],[[[18.416211,59.029102],[18.371875,59.01958],[18.349902,59.022607],[18.377246,59.069043],[18.397559,59.089111],[18.464941,59.107861],[18.485547,59.10459],[18.416211,59.029102]]],[[[18.59541,59.470361],[18.570312,59.437256],[18.545117,59.477832],[18.555176,59.485791],[18.572363,59.52583],[18.620898,59.547803],[18.698438,59.534619],[18.697949,59.524609],[18.623828,59.492188],[18.59541,59.470361]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":4,"SOVEREIGNT":"eSwatini","SOV_A3":"SWZ","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"eSwatini","ADM0_A3":"SWZ","GEOU_DIF":0,"GEOUNIT":"eSwatini","GU_A3":"SWZ","SU_DIF":0,"SUBUNIT":"eSwatini","SU_A3":"SWZ","BRK_DIFF":0,"NAME":"eSwatini","NAME_LONG":"Kingdom of eSwatini","BRK_A3":"SWZ","BRK_NAME":"eSwatini","BRK_GROUP":null,"ABBREV":"eSw.","POSTAL":"ES","FORMAL_EN":"Kingdom of eSwatini","FORMAL_FR":null,"NAME_CIAWF":"eSwatini","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"eSwatini","NAME_ALT":"Swaziland","MAPCOLOR7":3,"MAPCOLOR8":6,"MAPCOLOR9":2,"MAPCOLOR13":5,"POP_EST":1148130,"POP_RANK":12,"POP_YEAR":2019,"GDP_MD":4471,"GDP_YEAR":2019,"ECONOMY":"6. Developing region","INCOME_GRP":"4. Lower middle income","FIPS_10":"WZ","ISO_A2":"SZ","ISO_A2_EH":"SZ","ISO_A3":"SWZ","ISO_A3_EH":"SWZ","ISO_N3":"748","ISO_N3_EH":"748","UN_A3":"748","WB_A2":"SZ","WB_A3":"SWZ","WOE_ID":23424993,"WOE_ID_EH":23424993,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"SWZ","ADM0_DIFF":null,"ADM0_TLC":"SWZ","ADM0_A3_US":"SWZ","ADM0_A3_FR":"SWZ","ADM0_A3_RU":"SWZ","ADM0_A3_ES":"SWZ","ADM0_A3_CN":"SWZ","ADM0_A3_TW":"SWZ","ADM0_A3_IN":"SWZ","ADM0_A3_NP":"SWZ","ADM0_A3_PK":"SWZ","ADM0_A3_DE":"SWZ","ADM0_A3_GB":"SWZ","ADM0_A3_BR":"SWZ","ADM0_A3_IL":"SWZ","ADM0_A3_PS":"SWZ","ADM0_A3_SA":"SWZ","ADM0_A3_EG":"SWZ","ADM0_A3_MA":"SWZ","ADM0_A3_PT":"SWZ","ADM0_A3_AR":"SWZ","ADM0_A3_JP":"SWZ","ADM0_A3_KO":"SWZ","ADM0_A3_VN":"SWZ","ADM0_A3_TR":"SWZ","ADM0_A3_ID":"SWZ","ADM0_A3_PL":"SWZ","ADM0_A3_GR":"SWZ","ADM0_A3_IT":"SWZ","ADM0_A3_NL":"SWZ","ADM0_A3_SE":"SWZ","ADM0_A3_BD":"SWZ","ADM0_A3_UA":"SWZ","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Africa","REGION_UN":"Africa","SUBREGION":"Southern Africa","REGION_WB":"Sub-Saharan Africa","NAME_LEN":8,"LONG_LEN":19,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":4,"MAX_LABEL":9,"LABEL_X":31.467264,"LABEL_Y":-26.533676,"NE_ID":1159321289,"WIKIDATAID":"Q1050","NAME_AR":"إسواتيني","NAME_BN":"ইসোয়াতিনি","NAME_DE":"Eswatini","NAME_EN":"Eswatini","NAME_ES":"Suazilandia","NAME_FA":"اسواتینی","NAME_FR":"Eswatini","NAME_EL":"Εσουατίνι","NAME_HE":"אסוואטיני","NAME_HI":"एस्वातीनी","NAME_HU":"Szváziföld","NAME_ID":"Eswatini","NAME_IT":"eSwatini","NAME_JA":"エスワティニ","NAME_KO":"에스와티니","NAME_NL":"Swaziland","NAME_PL":"Eswatini","NAME_PT":"Essuatíni","NAME_RU":"Эсватини","NAME_SV":"Swaziland","NAME_TR":"Esvatini","NAME_UK":"Есватіні","NAME_UR":"اسواتینی","NAME_VI":"Eswatini","NAME_ZH":"斯威士兰","NAME_ZHT":"史瓦帝尼","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[30.7875,-27.309961,32.112891,-25.742969],"geometry":{"type":"Polygon","coordinates":[[[31.948242,-25.957617],[31.968457,-25.972266],[32.060547,-26.018359],[32.068848,-26.110156],[32.059961,-26.215039],[32.041406,-26.28125],[32.04834,-26.347168],[32.07793,-26.449805],[32.105957,-26.52002],[32.112891,-26.839453],[32.081641,-26.824805],[32.024805,-26.811133],[31.994727,-26.81748],[31.967188,-26.960645],[31.946094,-27.173633],[31.958398,-27.305859],[31.742578,-27.309961],[31.469531,-27.295508],[31.274023,-27.238379],[31.063379,-27.112305],[30.938086,-26.91582],[30.883301,-26.792383],[30.806738,-26.785254],[30.794336,-26.764258],[30.7875,-26.613672],[30.789062,-26.455469],[30.80332,-26.413477],[30.945215,-26.21875],[31.033301,-26.097754],[31.088086,-25.980664],[31.207324,-25.843359],[31.335156,-25.755566],[31.382617,-25.742969],[31.415137,-25.746582],[31.64043,-25.867285],[31.871484,-25.981641],[31.92168,-25.96875],[31.948242,-25.957617]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":4,"SOVEREIGNT":"Suriname","SOV_A3":"SUR","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Suriname","ADM0_A3":"SUR","GEOU_DIF":0,"GEOUNIT":"Suriname","GU_A3":"SUR","SU_DIF":0,"SUBUNIT":"Suriname","SU_A3":"SUR","BRK_DIFF":0,"NAME":"Suriname","NAME_LONG":"Suriname","BRK_A3":"SUR","BRK_NAME":"Suriname","BRK_GROUP":null,"ABBREV":"Sur.","POSTAL":"SR","FORMAL_EN":"Republic of Suriname","FORMAL_FR":null,"NAME_CIAWF":"Suriname","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Suriname","NAME_ALT":null,"MAPCOLOR7":1,"MAPCOLOR8":4,"MAPCOLOR9":7,"MAPCOLOR13":6,"POP_EST":581363,"POP_RANK":11,"POP_YEAR":2019,"GDP_MD":3697,"GDP_YEAR":2019,"ECONOMY":"6. Developing region","INCOME_GRP":"3. Upper middle income","FIPS_10":"NS","ISO_A2":"SR","ISO_A2_EH":"SR","ISO_A3":"SUR","ISO_A3_EH":"SUR","ISO_N3":"740","ISO_N3_EH":"740","UN_A3":"740","WB_A2":"SR","WB_A3":"SUR","WOE_ID":23424913,"WOE_ID_EH":23424913,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"SUR","ADM0_DIFF":null,"ADM0_TLC":"SUR","ADM0_A3_US":"SUR","ADM0_A3_FR":"SUR","ADM0_A3_RU":"SUR","ADM0_A3_ES":"SUR","ADM0_A3_CN":"SUR","ADM0_A3_TW":"SUR","ADM0_A3_IN":"SUR","ADM0_A3_NP":"SUR","ADM0_A3_PK":"SUR","ADM0_A3_DE":"SUR","ADM0_A3_GB":"SUR","ADM0_A3_BR":"SUR","ADM0_A3_IL":"SUR","ADM0_A3_PS":"SUR","ADM0_A3_SA":"SUR","ADM0_A3_EG":"SUR","ADM0_A3_MA":"SUR","ADM0_A3_PT":"SUR","ADM0_A3_AR":"SUR","ADM0_A3_JP":"SUR","ADM0_A3_KO":"SUR","ADM0_A3_VN":"SUR","ADM0_A3_TR":"SUR","ADM0_A3_ID":"SUR","ADM0_A3_PL":"SUR","ADM0_A3_GR":"SUR","ADM0_A3_IT":"SUR","ADM0_A3_NL":"SUR","ADM0_A3_SE":"SUR","ADM0_A3_BD":"SUR","ADM0_A3_UA":"SUR","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"South America","REGION_UN":"Americas","SUBREGION":"South America","REGION_WB":"Latin America & Caribbean","NAME_LEN":8,"LONG_LEN":8,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":4,"MAX_LABEL":9,"LABEL_X":-55.91094,"LABEL_Y":4.143987,"NE_ID":1159321281,"WIKIDATAID":"Q730","NAME_AR":"سورينام","NAME_BN":"সুরিনাম","NAME_DE":"Suriname","NAME_EN":"Suriname","NAME_ES":"Surinam","NAME_FA":"سورینام","NAME_FR":"Suriname","NAME_EL":"Σουρινάμ","NAME_HE":"סורינאם","NAME_HI":"सूरीनाम","NAME_HU":"Suriname","NAME_ID":"Suriname","NAME_IT":"Suriname","NAME_JA":"スリナム","NAME_KO":"수리남","NAME_NL":"Suriname","NAME_PL":"Surinam","NAME_PT":"Suriname","NAME_RU":"Суринам","NAME_SV":"Surinam","NAME_TR":"Surinam","NAME_UK":"Суринам","NAME_UR":"سرینام","NAME_VI":"Suriname","NAME_ZH":"苏里南","NAME_ZHT":"蘇利南","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[-58.054492,1.842236,-53.990479,5.993457],"geometry":{"type":"Polygon","coordinates":[[[-54.155957,5.358984],[-54.240186,5.288232],[-54.331641,5.187402],[-54.452197,5.013477],[-54.446875,4.958789],[-54.47334,4.914697],[-54.479687,4.836523],[-54.471143,4.749316],[-54.440234,4.691992],[-54.426074,4.583008],[-54.449609,4.48501],[-54.440674,4.428027],[-54.416016,4.337646],[-54.39624,4.241406],[-54.398389,4.20249],[-54.369141,4.170947],[-54.342139,4.140039],[-54.350732,4.054102],[-54.255518,3.901074],[-54.197461,3.834424],[-54.112793,3.769434],[-54.081982,3.705957],[-54.034229,3.629395],[-54.005908,3.62041],[-53.990479,3.589551],[-54.005957,3.530518],[-54.00957,3.448535],[-54.063184,3.35332],[-54.188037,3.17876],[-54.203125,3.138184],[-54.170703,2.993604],[-54.188086,2.874854],[-54.195508,2.817871],[-54.256738,2.713721],[-54.402002,2.461523],[-54.485547,2.416113],[-54.535937,2.343311],[-54.568408,2.342578],[-54.604736,2.335791],[-54.61626,2.326758],[-54.661865,2.327539],[-54.697412,2.359814],[-54.70293,2.397949],[-54.722217,2.44165],[-54.766846,2.454736],[-54.85166,2.439551],[-54.876074,2.450391],[-54.926562,2.497363],[-54.968408,2.54834],[-54.978662,2.597656],[-55.005811,2.592969],[-55.070312,2.54834],[-55.114111,2.539209],[-55.148828,2.550781],[-55.187695,2.54751],[-55.286035,2.499658],[-55.343994,2.48877],[-55.385352,2.440625],[-55.658936,2.41875],[-55.730566,2.406152],[-55.89375,2.489502],[-55.935937,2.516602],[-55.957471,2.520459],[-55.975586,2.515967],[-55.993506,2.49751],[-56.020361,2.392773],[-56.045117,2.364404],[-56.087793,2.341309],[-56.129395,2.299512],[-56.137695,2.259033],[-56.073633,2.236768],[-56.020068,2.158154],[-55.961963,2.095117],[-55.915332,2.039551],[-55.921631,1.97666],[-55.929639,1.8875],[-55.96333,1.85708],[-56.019922,1.842236],[-56.227148,1.885352],[-56.38584,1.923877],[-56.452832,1.932324],[-56.482812,1.942139],[-56.522363,1.974805],[-56.562695,2.005078],[-56.627197,2.016016],[-56.704346,2.036475],[-56.761133,2.114893],[-56.819824,2.22666],[-56.840527,2.277148],[-56.886426,2.325977],[-56.931494,2.395361],[-56.945215,2.456836],[-56.979297,2.513232],[-56.997119,2.532178],[-57.023486,2.608984],[-57.028955,2.6375],[-57.041943,2.641113],[-57.060449,2.665674],[-57.096875,2.747852],[-57.105127,2.768262],[-57.121143,2.775537],[-57.163623,2.833252],[-57.197363,2.853271],[-57.209814,2.882812],[-57.206934,2.963379],[-57.225,3.003076],[-57.230566,3.078564],[-57.231641,3.108887],[-57.248975,3.142285],[-57.27793,3.164307],[-57.28291,3.218848],[-57.289941,3.353613],[-57.303662,3.3771],[-57.425586,3.375439],[-57.437891,3.362256],[-57.490576,3.354297],[-57.549609,3.352832],[-57.602734,3.370947],[-57.646729,3.394531],[-57.656104,3.42373],[-57.649463,3.517383],[-57.720361,3.588281],[-57.832666,3.675977],[-57.866553,3.787256],[-57.907715,3.856689],[-58.032227,4.001953],[-58.054297,4.10166],[-58.054492,4.171924],[-58.010742,4.236475],[-57.949756,4.349951],[-57.924707,4.453125],[-57.90625,4.506787],[-57.874707,4.5771],[-57.845996,4.668164],[-57.867871,4.724316],[-57.904883,4.779297],[-57.917041,4.82041],[-57.881104,4.880615],[-57.844922,4.923047],[-57.804102,4.929053],[-57.752002,4.954492],[-57.711084,4.991064],[-57.648828,5.000684],[-57.570898,5.004492],[-57.412158,5.00459],[-57.331006,5.020166],[-57.305762,5.049561],[-57.30957,5.105859],[-57.269287,5.157031],[-57.226855,5.178516],[-57.209814,5.19541],[-57.207324,5.214209],[-57.218457,5.231543],[-57.235303,5.242871],[-57.279639,5.246777],[-57.318555,5.335352],[-57.291895,5.373975],[-57.25752,5.445166],[-57.2479,5.485254],[-57.194775,5.548437],[-57.182129,5.528906],[-57.14082,5.643799],[-57.136035,5.737207],[-57.10459,5.829395],[-57.056641,5.938672],[-56.969824,5.992871],[-56.466016,5.937744],[-56.235596,5.885352],[-55.939551,5.795459],[-55.897607,5.699316],[-55.895508,5.795459],[-55.909912,5.892627],[-55.828174,5.96167],[-55.64834,5.985889],[-55.379297,5.952637],[-55.148291,5.993457],[-54.833691,5.98833],[-54.356152,5.909863],[-54.142334,5.856348],[-54.054199,5.80791],[-54.037402,5.720508],[-54.045947,5.608887],[-54.080469,5.502246],[-54.155957,5.358984]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":3,"SOVEREIGNT":"South Sudan","SOV_A3":"SDS","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"South Sudan","ADM0_A3":"SDS","GEOU_DIF":0,"GEOUNIT":"South Sudan","GU_A3":"SDS","SU_DIF":0,"SUBUNIT":"South Sudan","SU_A3":"SDS","BRK_DIFF":0,"NAME":"S. Sudan","NAME_LONG":"South Sudan","BRK_A3":"SDS","BRK_NAME":"S. Sudan","BRK_GROUP":null,"ABBREV":"S. Sud.","POSTAL":"SS","FORMAL_EN":"Republic of South Sudan","FORMAL_FR":null,"NAME_CIAWF":"South Sudan","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"South Sudan","NAME_ALT":null,"MAPCOLOR7":1,"MAPCOLOR8":3,"MAPCOLOR9":3,"MAPCOLOR13":5,"POP_EST":11062113,"POP_RANK":14,"POP_YEAR":2019,"GDP_MD":11998,"GDP_YEAR":2015,"ECONOMY":"7. Least developed region","INCOME_GRP":"5. Low income","FIPS_10":"-99","ISO_A2":"SS","ISO_A2_EH":"SS","ISO_A3":"SSD","ISO_A3_EH":"SSD","ISO_N3":"728","ISO_N3_EH":"728","UN_A3":"728","WB_A2":"SS","WB_A3":"SSD","WOE_ID":-99,"WOE_ID_EH":-99,"WOE_NOTE":"Includes states of 20069899, 20069897, 20069898, 20069901, 20069909, and 20069908 but maybe more?","ADM0_ISO":"SSD","ADM0_DIFF":"1","ADM0_TLC":"SDS","ADM0_A3_US":"SDS","ADM0_A3_FR":"SDS","ADM0_A3_RU":"SDS","ADM0_A3_ES":"SDS","ADM0_A3_CN":"SDS","ADM0_A3_TW":"SDS","ADM0_A3_IN":"SDS","ADM0_A3_NP":"SDS","ADM0_A3_PK":"SDS","ADM0_A3_DE":"SDS","ADM0_A3_GB":"SDS","ADM0_A3_BR":"SDS","ADM0_A3_IL":"SDS","ADM0_A3_PS":"SDS","ADM0_A3_SA":"SDS","ADM0_A3_EG":"SDS","ADM0_A3_MA":"SDS","ADM0_A3_PT":"SDS","ADM0_A3_AR":"SDS","ADM0_A3_JP":"SDS","ADM0_A3_KO":"SDS","ADM0_A3_VN":"SDS","ADM0_A3_TR":"SDS","ADM0_A3_ID":"SDS","ADM0_A3_PL":"SDS","ADM0_A3_GR":"SDS","ADM0_A3_IT":"SDS","ADM0_A3_NL":"SDS","ADM0_A3_SE":"SDS","ADM0_A3_BD":"SDS","ADM0_A3_UA":"SDS","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Africa","REGION_UN":"Africa","SUBREGION":"Eastern Africa","REGION_WB":"Sub-Saharan Africa","NAME_LEN":8,"LONG_LEN":11,"ABBREV_LEN":7,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":3,"MAX_LABEL":8,"LABEL_X":30.390151,"LABEL_Y":7.230477,"NE_ID":1159321235,"WIKIDATAID":"Q958","NAME_AR":"جنوب السودان","NAME_BN":"দক্ষিণ সুদান","NAME_DE":"Südsudan","NAME_EN":"South Sudan","NAME_ES":"Sudán del Sur","NAME_FA":"سودان جنوبی","NAME_FR":"Soudan du Sud","NAME_EL":"Νότιο Σουδάν","NAME_HE":"דרום סודאן","NAME_HI":"दक्षिण सूडान","NAME_HU":"Dél-Szudán","NAME_ID":"Sudan Selatan","NAME_IT":"Sudan del Sud","NAME_JA":"南スーダン","NAME_KO":"남수단","NAME_NL":"Zuid-Soedan","NAME_PL":"Sudan Południowy","NAME_PT":"Sudão do Sul","NAME_RU":"Южный Судан","NAME_SV":"Sydsudan","NAME_TR":"Güney Sudan","NAME_UK":"Південний Судан","NAME_UR":"جنوبی سوڈان","NAME_VI":"Nam Sudan","NAME_ZH":"南苏丹","NAME_ZHT":"南蘇丹","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[24.147363,3.490723,35.268359,12.223096],"geometry":{"type":"Polygon","coordinates":[[[33.976074,4.220215],[33.741602,3.985254],[33.568457,3.811719],[33.539551,3.787109],[33.489355,3.755078],[33.324316,3.754346],[33.154102,3.774707],[32.997266,3.880176],[32.838086,3.798486],[32.737109,3.772705],[32.676953,3.763184],[32.534766,3.749951],[32.335742,3.706201],[32.245508,3.651318],[32.19668,3.607812],[32.15625,3.528027],[32.135938,3.519727],[32.099414,3.529199],[32.048242,3.561182],[31.941797,3.607568],[31.888281,3.709082],[31.838672,3.770459],[31.798047,3.802637],[31.628906,3.701465],[31.547168,3.677588],[31.47998,3.680469],[31.357422,3.737598],[31.221973,3.785937],[31.152344,3.785596],[31.048047,3.725],[30.929395,3.634082],[30.868164,3.544141],[30.838574,3.490723],[30.816895,3.53335],[30.796973,3.573145],[30.757227,3.624219],[30.699902,3.644092],[30.647656,3.634131],[30.586719,3.624219],[30.559375,3.652783],[30.553516,3.722949],[30.536914,3.787207],[30.508301,3.835693],[30.420703,3.883887],[30.194922,3.981934],[30.021387,4.177637],[29.933984,4.268506],[29.870215,4.327148],[29.779883,4.480957],[29.676855,4.586914],[29.552051,4.636035],[29.469629,4.611816],[29.384863,4.498389],[29.224902,4.391895],[29.151465,4.388184],[29.057422,4.445947],[28.939355,4.487061],[28.727051,4.50498],[28.639551,4.454492],[28.524805,4.372852],[28.427539,4.32417],[28.367188,4.318652],[28.311035,4.338037],[28.247266,4.348535],[28.19209,4.350244],[28.078613,4.424805],[28.019824,4.479395],[27.980664,4.53208],[27.916602,4.56792],[27.841602,4.597754],[27.788086,4.644678],[27.761426,4.703223],[27.719238,4.77832],[27.66416,4.845996],[27.491016,4.967578],[27.439258,5.039209],[27.40332,5.10918],[27.332422,5.186328],[27.256738,5.289648],[27.23252,5.440771],[27.229102,5.5625],[27.213379,5.618799],[27.18125,5.675146],[27.143945,5.722949],[27.083398,5.776855],[26.942285,5.854932],[26.796484,5.945508],[26.726367,5.998242],[26.593652,6.017529],[26.514258,6.069238],[26.447461,6.183008],[26.420508,6.27417],[26.35332,6.344922],[26.324609,6.39624],[26.308594,6.455322],[26.361816,6.635303],[26.28457,6.699023],[26.169336,6.781738],[26.086914,6.872119],[26.036523,6.955225],[25.888965,7.064941],[25.566602,7.228711],[25.380664,7.333398],[25.278906,7.42749],[25.190137,7.519336],[25.181348,7.557227],[25.238672,7.648975],[25.247363,7.724561],[25.200391,7.80791],[25.007227,7.964844],[24.85332,8.137549],[24.736719,8.191553],[24.456055,8.239453],[24.375488,8.258447],[24.291406,8.291406],[24.208398,8.369141],[24.17998,8.461133],[24.220898,8.608252],[24.194824,8.653369],[24.147363,8.665625],[24.160449,8.696289],[24.213574,8.767822],[24.300195,8.814258],[24.531934,8.886914],[24.544824,8.914844],[24.549414,9.006787],[24.568262,9.051709],[24.648047,9.179102],[24.659375,9.229932],[24.662891,9.338135],[24.673633,9.389307],[24.69668,9.425684],[24.760352,9.488916],[24.782617,9.527344],[24.792188,9.610303],[24.785254,9.774658],[24.817676,9.8396],[24.963867,9.988867],[25.00293,10.055273],[25.016211,10.115234],[25.014844,10.175879],[25.023633,10.235791],[25.066992,10.293799],[25.104004,10.311816],[25.211719,10.329932],[25.285156,10.318506],[25.798047,10.420508],[25.858203,10.406494],[25.885254,10.346094],[25.882812,10.249609],[25.891504,10.202734],[25.919141,10.169336],[26.000586,10.123437],[26.057031,10.046777],[26.087012,10.018457],[26.169531,9.965918],[26.551367,9.52583],[26.658691,9.484131],[26.763184,9.499219],[26.970508,9.590625],[27.074219,9.613818],[27.799805,9.587891],[27.880859,9.601611],[27.88584,9.599658],[27.996289,9.378809],[28.048926,9.328613],[28.844531,9.326074],[28.829395,9.388818],[28.839453,9.459082],[28.932324,9.549463],[28.97959,9.594189],[28.97959,9.593994],[28.999609,9.610156],[29.122363,9.674658],[29.242383,9.718066],[29.473145,9.768604],[29.557422,9.848291],[29.603906,9.921387],[29.605469,10.065088],[29.635938,10.088623],[29.691016,10.121924],[29.95791,10.250244],[30.003027,10.277393],[30.474609,9.978955],[30.739355,9.742676],[30.755371,9.731201],[30.769141,9.726807],[30.783105,9.734961],[30.794922,9.74585],[30.81416,9.753125],[30.827051,9.756299],[30.940332,9.759375],[31.154492,9.770947],[31.224902,9.799268],[31.654883,10.221143],[31.764258,10.355713],[31.791992,10.383154],[31.854297,10.479053],[31.919922,10.643848],[31.933008,10.6625],[32.404102,11.057764],[32.420801,11.089111],[32.425391,11.113965],[32.354199,11.246924],[32.338867,11.314502],[32.335742,11.418555],[32.349902,11.58042],[32.344922,11.682715],[32.343066,11.694287],[32.338477,11.710107],[32.335352,11.716016],[32.072266,12.006738],[32.736719,12.009668],[32.738281,12.03374],[32.737695,12.046436],[32.735645,12.058057],[32.723047,12.09292],[32.71582,12.139258],[32.715332,12.152197],[32.716309,12.164844],[32.720117,12.188818],[32.720508,12.201807],[32.719824,12.208008],[32.718555,12.21377],[32.718945,12.218848],[32.721875,12.223096],[33.199316,12.217285],[33.193066,12.13501],[33.135059,11.941602],[33.136133,11.825586],[33.122461,11.693164],[33.119141,11.682422],[33.106055,11.653857],[33.094629,11.6375],[33.081543,11.621729],[33.077832,11.615771],[33.07334,11.606104],[33.073047,11.591504],[33.172168,10.850146],[33.168457,10.831445],[33.164746,10.819189],[33.138281,10.772949],[33.131445,10.757715],[33.130078,10.745947],[33.14082,10.737891],[33.360742,10.657812],[33.371387,10.652734],[33.379883,10.646191],[33.459082,10.55083],[33.892188,10.198975],[33.907031,10.181445],[33.951855,10.070947],[33.956836,10.054199],[33.958398,10.027734],[33.957324,10.007178],[33.946191,9.940918],[33.949902,9.911133],[33.957324,9.891455],[33.963281,9.868701],[33.963281,9.861768],[33.9625,9.855811],[33.95918,9.845264],[33.894922,9.717627],[33.874023,9.626758],[33.867773,9.550342],[33.871484,9.506152],[33.878809,9.477734],[33.882129,9.471191],[33.884863,9.466406],[33.887891,9.463525],[33.890918,9.462207],[34.076758,9.461523],[34.078125,9.461523],[34.077148,9.420996],[34.08457,9.218506],[34.091016,9.04126],[34.101562,8.751855],[34.101758,8.676367],[34.094531,8.582227],[34.072754,8.545264],[34.019727,8.49209],[33.95332,8.443506],[33.785059,8.431104],[33.644824,8.432568],[33.545313,8.443408],[33.409375,8.447754],[33.281055,8.437256],[33.234277,8.396387],[33.165234,8.251074],[33.065234,8.040479],[33.012598,7.951514],[32.998926,7.899512],[33.014648,7.868555],[33.080762,7.82373],[33.225977,7.760645],[33.392285,7.72373],[33.516309,7.707764],[33.600977,7.69043],[33.666113,7.670996],[33.902441,7.509521],[33.97793,7.43457],[34.02041,7.367969],[34.030176,7.296973],[34.064258,7.225732],[34.200391,7.08457],[34.279297,7.002832],[34.484375,6.898389],[34.562793,6.779834],[34.63877,6.722168],[34.710645,6.660303],[34.749219,6.567871],[34.838086,6.300146],[34.897852,6.159814],[34.958984,6.045068],[34.983594,5.858301],[35.031934,5.774902],[35.081934,5.673145],[35.164453,5.581201],[35.252441,5.511035],[35.268359,5.492285],[35.084473,5.311865],[34.87832,5.10957],[34.639844,4.875488],[34.380176,4.620654],[34.176855,4.419092],[33.976074,4.220215]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":3,"SOVEREIGNT":"Sudan","SOV_A3":"SDN","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Sudan","ADM0_A3":"SDN","GEOU_DIF":0,"GEOUNIT":"Sudan","GU_A3":"SDN","SU_DIF":0,"SUBUNIT":"Sudan","SU_A3":"SDN","BRK_DIFF":0,"NAME":"Sudan","NAME_LONG":"Sudan","BRK_A3":"SDN","BRK_NAME":"Sudan","BRK_GROUP":null,"ABBREV":"Sudan","POSTAL":"SD","FORMAL_EN":"Republic of the Sudan","FORMAL_FR":null,"NAME_CIAWF":"Sudan","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Sudan","NAME_ALT":null,"MAPCOLOR7":2,"MAPCOLOR8":6,"MAPCOLOR9":4,"MAPCOLOR13":1,"POP_EST":42813238,"POP_RANK":15,"POP_YEAR":2019,"GDP_MD":30513,"GDP_YEAR":2019,"ECONOMY":"6. Developing region","INCOME_GRP":"4. Lower middle income","FIPS_10":"SU","ISO_A2":"SD","ISO_A2_EH":"SD","ISO_A3":"SDN","ISO_A3_EH":"SDN","ISO_N3":"729","ISO_N3_EH":"729","UN_A3":"729","WB_A2":"SD","WB_A3":"SDN","WOE_ID":-90,"WOE_ID_EH":23424952,"WOE_NOTE":"Almost all FLickr photos are in the north.","ADM0_ISO":"SDZ","ADM0_DIFF":null,"ADM0_TLC":"SDZ","ADM0_A3_US":"SDN","ADM0_A3_FR":"SDN","ADM0_A3_RU":"SDN","ADM0_A3_ES":"SDN","ADM0_A3_CN":"SDN","ADM0_A3_TW":"SDN","ADM0_A3_IN":"SDN","ADM0_A3_NP":"SDN","ADM0_A3_PK":"SDN","ADM0_A3_DE":"SDN","ADM0_A3_GB":"SDN","ADM0_A3_BR":"SDN","ADM0_A3_IL":"SDN","ADM0_A3_PS":"SDN","ADM0_A3_SA":"SDN","ADM0_A3_EG":"SDN","ADM0_A3_MA":"SDN","ADM0_A3_PT":"SDN","ADM0_A3_AR":"SDN","ADM0_A3_JP":"SDN","ADM0_A3_KO":"SDN","ADM0_A3_VN":"SDN","ADM0_A3_TR":"SDN","ADM0_A3_ID":"SDN","ADM0_A3_PL":"SDN","ADM0_A3_GR":"SDN","ADM0_A3_IT":"SDN","ADM0_A3_NL":"SDN","ADM0_A3_SE":"SDN","ADM0_A3_BD":"SDN","ADM0_A3_UA":"SDN","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Africa","REGION_UN":"Africa","SUBREGION":"Northern Africa","REGION_WB":"Sub-Saharan Africa","NAME_LEN":5,"LONG_LEN":5,"ABBREV_LEN":5,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":2.5,"MAX_LABEL":8,"LABEL_X":29.260657,"LABEL_Y":16.330746,"NE_ID":1159321229,"WIKIDATAID":"Q1049","NAME_AR":"السودان","NAME_BN":"সুদান","NAME_DE":"Sudan","NAME_EN":"Sudan","NAME_ES":"Sudán","NAME_FA":"سودان","NAME_FR":"Soudan","NAME_EL":"Σουδάν","NAME_HE":"סודאן","NAME_HI":"सूडान","NAME_HU":"Szudán","NAME_ID":"Sudan","NAME_IT":"Sudan","NAME_JA":"スーダン","NAME_KO":"수단","NAME_NL":"Soedan","NAME_PL":"Sudan","NAME_PT":"Sudão","NAME_RU":"Судан","NAME_SV":"Sudan","NAME_TR":"Sudan","NAME_UK":"Судан","NAME_UR":"سوڈان","NAME_VI":"Sudan","NAME_ZH":"苏丹","NAME_ZHT":"蘇丹","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[21.825293,8.665625,38.609473,22.202441],"geometry":{"type":"Polygon","coordinates":[[[34.078125,9.461523],[34.076758,9.461523],[33.890918,9.462207],[33.887891,9.463525],[33.884863,9.466406],[33.882129,9.471191],[33.878809,9.477734],[33.871484,9.506152],[33.867773,9.550342],[33.874023,9.626758],[33.894922,9.717627],[33.95918,9.845264],[33.9625,9.855811],[33.963281,9.861768],[33.963281,9.868701],[33.957324,9.891455],[33.949902,9.911133],[33.946191,9.940918],[33.957324,10.007178],[33.958398,10.027734],[33.956836,10.054199],[33.951855,10.070947],[33.907031,10.181445],[33.892188,10.198975],[33.459082,10.55083],[33.379883,10.646191],[33.371387,10.652734],[33.360742,10.657812],[33.14082,10.737891],[33.130078,10.745947],[33.131445,10.757715],[33.138281,10.772949],[33.164746,10.819189],[33.168457,10.831445],[33.172168,10.850146],[33.073047,11.591504],[33.07334,11.606104],[33.077832,11.615771],[33.081543,11.621729],[33.094629,11.6375],[33.106055,11.653857],[33.119141,11.682422],[33.122461,11.693164],[33.136133,11.825586],[33.135059,11.941602],[33.193066,12.13501],[33.199316,12.217285],[32.721875,12.223096],[32.718945,12.218848],[32.718555,12.21377],[32.719824,12.208008],[32.720508,12.201807],[32.720117,12.188818],[32.716309,12.164844],[32.715332,12.152197],[32.71582,12.139258],[32.723047,12.09292],[32.735645,12.058057],[32.737695,12.046436],[32.738281,12.03374],[32.736719,12.009668],[32.072266,12.006738],[32.335352,11.716016],[32.338477,11.710107],[32.343066,11.694287],[32.344922,11.682715],[32.349902,11.58042],[32.335742,11.418555],[32.338867,11.314502],[32.354199,11.246924],[32.425391,11.113965],[32.420801,11.089111],[32.404102,11.057764],[31.933008,10.6625],[31.919922,10.643848],[31.854297,10.479053],[31.791992,10.383154],[31.764258,10.355713],[31.654883,10.221143],[31.224902,9.799268],[31.154492,9.770947],[30.940332,9.759375],[30.827051,9.756299],[30.81416,9.753125],[30.794922,9.74585],[30.783105,9.734961],[30.769141,9.726807],[30.755371,9.731201],[30.739355,9.742676],[30.474609,9.978955],[30.003027,10.277393],[29.95791,10.250244],[29.691016,10.121924],[29.635938,10.088623],[29.605469,10.065088],[29.603906,9.921387],[29.557422,9.848291],[29.473145,9.768604],[29.242383,9.718066],[29.122363,9.674658],[28.999609,9.610156],[28.97959,9.593994],[28.97959,9.594189],[28.932324,9.549463],[28.839453,9.459082],[28.829395,9.388818],[28.844531,9.326074],[28.048926,9.328613],[27.996289,9.378809],[27.88584,9.599658],[27.880859,9.601611],[27.799805,9.587891],[27.074219,9.613818],[26.970508,9.590625],[26.763184,9.499219],[26.658691,9.484131],[26.551367,9.52583],[26.169531,9.965918],[26.087012,10.018457],[26.057031,10.046777],[26.000586,10.123437],[25.919141,10.169336],[25.891504,10.202734],[25.882812,10.249609],[25.885254,10.346094],[25.858203,10.406494],[25.798047,10.420508],[25.285156,10.318506],[25.211719,10.329932],[25.104004,10.311816],[25.066992,10.293799],[25.023633,10.235791],[25.014844,10.175879],[25.016211,10.115234],[25.00293,10.055273],[24.963867,9.988867],[24.817676,9.8396],[24.785254,9.774658],[24.792188,9.610303],[24.782617,9.527344],[24.760352,9.488916],[24.69668,9.425684],[24.673633,9.389307],[24.662891,9.338135],[24.659375,9.229932],[24.648047,9.179102],[24.568262,9.051709],[24.549414,9.006787],[24.544824,8.914844],[24.531934,8.886914],[24.300195,8.814258],[24.213574,8.767822],[24.160449,8.696289],[24.147363,8.665625],[24.048145,8.691309],[23.921973,8.709717],[23.679297,8.732471],[23.583203,8.76582],[23.537305,8.81582],[23.551855,8.943213],[23.528027,8.970605],[23.489063,8.993311],[23.462793,9.048486],[23.468262,9.114746],[23.596094,9.261914],[23.622656,9.340625],[23.642773,9.613916],[23.65625,9.710352],[23.646289,9.8229],[23.54502,10.030078],[23.456641,10.174268],[23.312305,10.387939],[23.255859,10.457812],[22.964355,10.751807],[22.930762,10.795312],[22.860059,10.919678],[22.894824,11.029004],[22.937695,11.192041],[22.942773,11.267187],[22.922656,11.344873],[22.849023,11.403271],[22.783398,11.409961],[22.754004,11.439844],[22.697363,11.482666],[22.641016,11.515918],[22.591113,11.579883],[22.556348,11.669531],[22.580957,11.990137],[22.564355,12.032959],[22.489844,12.044727],[22.472461,12.067773],[22.475488,12.129248],[22.435254,12.311914],[22.390234,12.462988],[22.414453,12.546387],[22.352344,12.660449],[22.233398,12.709473],[22.121191,12.69458],[22.000684,12.671875],[21.928125,12.678125],[21.878125,12.699365],[21.843359,12.741211],[21.825293,12.790527],[21.841797,12.864746],[21.907715,13.000977],[21.990234,13.113086],[22.158008,13.215039],[22.202637,13.269336],[22.228125,13.32959],[22.232617,13.398779],[22.221387,13.471631],[22.202344,13.538086],[22.15293,13.626416],[22.107617,13.730322],[22.106445,13.799805],[22.128223,13.850146],[22.173145,13.910596],[22.262109,13.978711],[22.283496,13.992334],[22.339355,14.028857],[22.388184,14.055518],[22.509961,14.127441],[22.538574,14.161865],[22.528223,14.203223],[22.49834,14.237061],[22.449316,14.284229],[22.439355,14.342139],[22.425,14.441211],[22.399707,14.504199],[22.381543,14.550488],[22.416211,14.585205],[22.467773,14.63335],[22.532031,14.662744],[22.631836,14.688086],[22.670898,14.722461],[22.682422,14.788623],[22.679199,14.851465],[22.714941,14.898389],[22.763281,14.998682],[22.802148,15.044434],[22.867188,15.096631],[22.932324,15.162109],[22.961328,15.238135],[22.969531,15.311328],[22.933887,15.533105],[23.00918,15.62583],[23.105176,15.702539],[23.243457,15.697217],[23.458008,15.713965],[23.604004,15.745996],[23.708203,15.744971],[23.945996,15.703516],[23.965234,15.713428],[23.970801,15.721533],[23.983398,15.780176],[23.983301,15.928125],[23.98291,16.374219],[23.98252,16.820264],[23.982227,17.266357],[23.981836,17.712402],[23.981445,18.158496],[23.981055,18.604541],[23.980664,19.050586],[23.980273,19.496631],[23.980273,19.621484],[23.980273,19.746289],[23.980273,19.871094],[23.980273,19.995947],[24.226953,19.99585],[24.473633,19.995703],[24.72041,19.995557],[24.966992,19.995459],[24.970215,19.997266],[24.973242,19.999023],[24.976367,20.000781],[24.979492,20.002588],[24.979688,20.500928],[24.979883,20.999219],[24.980078,21.497559],[24.980273,21.99585],[25.362305,21.995801],[25.744336,21.995752],[26.126367,21.995654],[26.508398,21.995605],[26.89043,21.995557],[27.272461,21.995508],[27.654492,21.995459],[28.036426,21.995361],[28.418555,21.995312],[28.800586,21.995264],[29.18252,21.995215],[29.564551,21.995117],[29.94668,21.995117],[30.328613,21.99502],[30.710645,21.994922],[31.092676,21.994873],[31.20918,21.994873],[31.260645,22.002295],[31.358496,22.188623],[31.400293,22.202441],[31.464258,22.191504],[31.486133,22.147803],[31.466406,22.084668],[31.434473,21.99585],[31.62168,21.99585],[31.949805,21.995898],[32.277832,21.995996],[32.606055,21.995996],[32.934082,21.996094],[33.262207,21.996143],[33.590332,21.996191],[33.918457,21.99624],[34.246484,21.996289],[34.574609,21.996338],[34.902734,21.996387],[35.230859,21.996436],[35.558984,21.996484],[35.887012,21.996533],[36.215234,21.996582],[36.543262,21.996631],[36.871387,21.996729],[36.882617,21.768799],[36.926953,21.586523],[37.081152,21.326025],[37.211719,21.18584],[37.258594,21.108545],[37.263184,21.072656],[37.257227,21.039404],[37.21748,21.077637],[37.150586,21.10376],[37.141113,20.981787],[37.156836,20.894922],[37.172656,20.731982],[37.227539,20.556738],[37.187891,20.394922],[37.193164,20.120703],[37.262598,19.791895],[37.248438,19.581885],[37.361523,19.091992],[37.471289,18.820117],[37.531641,18.753125],[37.599414,18.717432],[37.729785,18.694336],[37.921875,18.555908],[38.074023,18.409766],[38.128125,18.333301],[38.201758,18.249414],[38.252148,18.264404],[38.283105,18.286719],[38.33291,18.219043],[38.574023,18.072949],[38.609473,18.005078],[38.522852,17.938525],[38.422461,17.823926],[38.397168,17.778369],[38.385547,17.75127],[38.37373,17.717334],[38.347363,17.683594],[38.289844,17.637012],[38.267285,17.616699],[38.253516,17.584766],[38.219043,17.563965],[38.181543,17.562842],[38.148535,17.548535],[38.098926,17.526465],[38.025293,17.537793],[37.950098,17.517676],[37.922559,17.492334],[37.862988,17.470264],[37.80332,17.465527],[37.782422,17.458008],[37.725977,17.420508],[37.656738,17.368262],[37.575977,17.33501],[37.547461,17.324121],[37.510156,17.288135],[37.45293,17.108691],[37.411035,17.061719],[37.34043,17.05708],[37.248828,17.056885],[37.169531,17.041406],[37.061523,17.061279],[37.008984,17.058887],[36.995215,17.020557],[36.975781,16.866553],[36.978711,16.800586],[36.935742,16.722363],[36.887793,16.624658],[36.905469,16.459521],[36.91377,16.296191],[36.825879,16.050293],[36.813477,15.993945],[36.724512,15.798877],[36.679199,15.726367],[36.566016,15.362109],[36.521777,15.250146],[36.426758,15.13208],[36.448145,14.940088],[36.470801,14.736475],[36.492285,14.544336],[36.524316,14.256836],[36.443945,13.988428],[36.44707,13.842041],[36.390625,13.626074],[36.346289,13.52627],[36.306836,13.466846],[36.273535,13.405762],[36.212207,13.271094],[36.160156,13.093311],[36.137109,12.911133],[36.135352,12.805322],[36.125195,12.757031],[36.10752,12.726465],[35.987598,12.706299],[35.820605,12.684863],[35.730566,12.661035],[35.670215,12.62373],[35.596094,12.537305],[35.449609,12.300586],[35.372754,12.155566],[35.252441,11.957031],[35.112305,11.816553],[35.082715,11.748291],[35.059668,11.621045],[35.00791,11.419873],[34.960742,11.276758],[34.969141,11.161768],[34.924902,10.962109],[34.931445,10.864795],[34.882324,10.810547],[34.816211,10.75918],[34.771289,10.746191],[34.675,10.804932],[34.601758,10.864551],[34.571875,10.880176],[34.508008,10.842871],[34.431445,10.787842],[34.343945,10.658643],[34.275684,10.528125],[34.314844,10.251562],[34.31123,10.190869],[34.291504,10.124756],[34.185254,9.918555],[34.159082,9.853418],[34.120313,9.729687],[34.079297,9.513477],[34.078125,9.461523]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":4,"LABELRANK":3,"SOVEREIGNT":"Sri Lanka","SOV_A3":"LKA","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Sri Lanka","ADM0_A3":"LKA","GEOU_DIF":0,"GEOUNIT":"Sri Lanka","GU_A3":"LKA","SU_DIF":0,"SUBUNIT":"Sri Lanka","SU_A3":"LKA","BRK_DIFF":0,"NAME":"Sri Lanka","NAME_LONG":"Sri Lanka","BRK_A3":"LKA","BRK_NAME":"Sri Lanka","BRK_GROUP":null,"ABBREV":"Sri L.","POSTAL":"LK","FORMAL_EN":"Democratic Socialist Republic of Sri Lanka","FORMAL_FR":null,"NAME_CIAWF":"Sri Lanka","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Sri Lanka","NAME_ALT":null,"MAPCOLOR7":3,"MAPCOLOR8":5,"MAPCOLOR9":4,"MAPCOLOR13":9,"POP_EST":21803000,"POP_RANK":15,"POP_YEAR":2019,"GDP_MD":84008,"GDP_YEAR":2019,"ECONOMY":"6. Developing region","INCOME_GRP":"4. Lower middle income","FIPS_10":"CE","ISO_A2":"LK","ISO_A2_EH":"LK","ISO_A3":"LKA","ISO_A3_EH":"LKA","ISO_N3":"144","ISO_N3_EH":"144","UN_A3":"144","WB_A2":"LK","WB_A3":"LKA","WOE_ID":23424778,"WOE_ID_EH":23424778,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"LKA","ADM0_DIFF":null,"ADM0_TLC":"LKA","ADM0_A3_US":"LKA","ADM0_A3_FR":"LKA","ADM0_A3_RU":"LKA","ADM0_A3_ES":"LKA","ADM0_A3_CN":"LKA","ADM0_A3_TW":"LKA","ADM0_A3_IN":"LKA","ADM0_A3_NP":"LKA","ADM0_A3_PK":"LKA","ADM0_A3_DE":"LKA","ADM0_A3_GB":"LKA","ADM0_A3_BR":"LKA","ADM0_A3_IL":"LKA","ADM0_A3_PS":"LKA","ADM0_A3_SA":"LKA","ADM0_A3_EG":"LKA","ADM0_A3_MA":"LKA","ADM0_A3_PT":"LKA","ADM0_A3_AR":"LKA","ADM0_A3_JP":"LKA","ADM0_A3_KO":"LKA","ADM0_A3_VN":"LKA","ADM0_A3_TR":"LKA","ADM0_A3_ID":"LKA","ADM0_A3_PL":"LKA","ADM0_A3_GR":"LKA","ADM0_A3_IT":"LKA","ADM0_A3_NL":"LKA","ADM0_A3_SE":"LKA","ADM0_A3_BD":"LKA","ADM0_A3_UA":"LKA","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Asia","REGION_UN":"Asia","SUBREGION":"Southern Asia","REGION_WB":"South Asia","NAME_LEN":9,"LONG_LEN":9,"ABBREV_LEN":6,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":3,"MAX_LABEL":8,"LABEL_X":80.704823,"LABEL_Y":7.581097,"NE_ID":1159321025,"WIKIDATAID":"Q854","NAME_AR":"سريلانكا","NAME_BN":"শ্রীলঙ্কা","NAME_DE":"Sri Lanka","NAME_EN":"Sri Lanka","NAME_ES":"Sri Lanka","NAME_FA":"سریلانکا","NAME_FR":"Sri Lanka","NAME_EL":"Σρι Λάνκα","NAME_HE":"סרי לנקה","NAME_HI":"श्रीलंका","NAME_HU":"Srí Lanka","NAME_ID":"Sri Lanka","NAME_IT":"Sri Lanka","NAME_JA":"スリランカ","NAME_KO":"스리랑카","NAME_NL":"Sri Lanka","NAME_PL":"Sri Lanka","NAME_PT":"Sri Lanka","NAME_RU":"Шри-Ланка","NAME_SV":"Sri Lanka","NAME_TR":"Sri Lanka","NAME_UK":"Шрі-Ланка","NAME_UR":"سری لنکا","NAME_VI":"Sri Lanka","NAME_ZH":"斯里兰卡","NAME_ZHT":"斯里蘭卡","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[79.707812,5.949365,81.876953,9.812695],"geometry":{"type":"MultiPolygon","coordinates":[[[[79.969531,9.630664],[79.906836,9.619824],[79.857422,9.686377],[79.845703,9.714648],[79.858594,9.734375],[79.872266,9.744336],[79.888477,9.741162],[79.911914,9.67915],[79.969531,9.630664]]],[[[79.874805,9.050732],[79.903711,8.975],[79.821094,9.026855],[79.766797,9.069775],[79.747656,9.10459],[79.859961,9.065723],[79.874805,9.050732]]],[[[79.982324,9.812695],[80.078418,9.807471],[80.180957,9.81001],[80.252832,9.796338],[80.375977,9.642334],[80.711133,9.366357],[80.893457,9.085889],[80.910059,9.024512],[80.935449,8.971484],[80.979199,8.956934],[81.016016,8.932617],[81.198242,8.661963],[81.219238,8.608398],[81.216211,8.549414],[81.226953,8.505518],[81.274609,8.483594],[81.333984,8.47207],[81.372852,8.431445],[81.422168,8.215234],[81.422168,8.147852],[81.435938,8.118896],[81.66543,7.782471],[81.678711,7.741553],[81.67627,7.710938],[81.68291,7.684473],[81.727344,7.625],[81.79668,7.464795],[81.832031,7.428418],[81.874121,7.28833],[81.876953,7.020459],[81.861426,6.90127],[81.818555,6.756201],[81.767773,6.614307],[81.712695,6.511865],[81.637402,6.425146],[81.37998,6.240918],[81.30625,6.203857],[80.971094,6.088379],[80.724121,5.979053],[80.495801,5.949365],[80.267383,6.009766],[80.095313,6.153174],[80.007227,6.364404],[79.946973,6.584521],[79.859375,6.829297],[79.79209,7.585205],[79.759961,7.796484],[79.707812,8.065674],[79.712988,8.182324],[79.749805,8.294238],[79.749707,8.048877],[79.783496,8.018457],[79.808887,8.05],[79.831934,8.304053],[79.850879,8.411572],[79.941797,8.691504],[79.943652,8.741162],[79.92793,8.846436],[79.928906,8.899219],[80.064844,9.095654],[80.099609,9.209961],[80.118359,9.326855],[80.110938,9.453271],[80.086328,9.577832],[80.196094,9.538135],[80.256445,9.494775],[80.317969,9.46543],[80.367969,9.480469],[80.42832,9.480957],[80.385352,9.548779],[80.257617,9.611279],[80.045801,9.649902],[79.979492,9.699365],[79.954004,9.742334],[79.966992,9.792627],[79.982324,9.812695]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":4,"LABELRANK":2,"SOVEREIGNT":"Spain","SOV_A3":"ESP","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Spain","ADM0_A3":"ESP","GEOU_DIF":0,"GEOUNIT":"Spain","GU_A3":"ESP","SU_DIF":0,"SUBUNIT":"Spain","SU_A3":"ESP","BRK_DIFF":0,"NAME":"Spain","NAME_LONG":"Spain","BRK_A3":"ESP","BRK_NAME":"Spain","BRK_GROUP":null,"ABBREV":"Sp.","POSTAL":"E","FORMAL_EN":"Kingdom of Spain","FORMAL_FR":null,"NAME_CIAWF":"Spain","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Spain","NAME_ALT":null,"MAPCOLOR7":4,"MAPCOLOR8":5,"MAPCOLOR9":5,"MAPCOLOR13":5,"POP_EST":47076781,"POP_RANK":15,"POP_YEAR":2019,"GDP_MD":1393490,"GDP_YEAR":2019,"ECONOMY":"2. Developed region: nonG7","INCOME_GRP":"1. High income: OECD","FIPS_10":"SP","ISO_A2":"ES","ISO_A2_EH":"ES","ISO_A3":"ESP","ISO_A3_EH":"ESP","ISO_N3":"724","ISO_N3_EH":"724","UN_A3":"724","WB_A2":"ES","WB_A3":"ESP","WOE_ID":23424950,"WOE_ID_EH":23424950,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"ESP","ADM0_DIFF":null,"ADM0_TLC":"ESP","ADM0_A3_US":"ESP","ADM0_A3_FR":"ESP","ADM0_A3_RU":"ESP","ADM0_A3_ES":"ESP","ADM0_A3_CN":"ESP","ADM0_A3_TW":"ESP","ADM0_A3_IN":"ESP","ADM0_A3_NP":"ESP","ADM0_A3_PK":"ESP","ADM0_A3_DE":"ESP","ADM0_A3_GB":"ESP","ADM0_A3_BR":"ESP","ADM0_A3_IL":"ESP","ADM0_A3_PS":"ESP","ADM0_A3_SA":"ESP","ADM0_A3_EG":"ESP","ADM0_A3_MA":"ESP","ADM0_A3_PT":"ESP","ADM0_A3_AR":"ESP","ADM0_A3_JP":"ESP","ADM0_A3_KO":"ESP","ADM0_A3_VN":"ESP","ADM0_A3_TR":"ESP","ADM0_A3_ID":"ESP","ADM0_A3_PL":"ESP","ADM0_A3_GR":"ESP","ADM0_A3_IT":"ESP","ADM0_A3_NL":"ESP","ADM0_A3_SE":"ESP","ADM0_A3_BD":"ESP","ADM0_A3_UA":"ESP","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Europe","REGION_UN":"Europe","SUBREGION":"Southern Europe","REGION_WB":"Europe & Central Asia","NAME_LEN":5,"LONG_LEN":5,"ABBREV_LEN":3,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":2,"MAX_LABEL":7,"LABEL_X":-3.464718,"LABEL_Y":40.090953,"NE_ID":1159320587,"WIKIDATAID":"Q29","NAME_AR":"إسبانيا","NAME_BN":"স্পেন","NAME_DE":"Spanien","NAME_EN":"Spain","NAME_ES":"España","NAME_FA":"اسپانیا","NAME_FR":"Espagne","NAME_EL":"Ισπανία","NAME_HE":"ספרד","NAME_HI":"स्पेन","NAME_HU":"Spanyolország","NAME_ID":"Spanyol","NAME_IT":"Spagna","NAME_JA":"スペイン","NAME_KO":"스페인","NAME_NL":"Spanje","NAME_PL":"Hiszpania","NAME_PT":"Espanha","NAME_RU":"Испания","NAME_SV":"Spanien","NAME_TR":"İspanya","NAME_UK":"Іспанія","NAME_UR":"ہسپانیہ","NAME_VI":"Tây Ban Nha","NAME_ZH":"西班牙","NAME_ZHT":"西班牙","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[-18.160547,27.646387,4.32207,43.764551],"geometry":{"type":"MultiPolygon","coordinates":[[[[1.593945,38.67207],[1.571191,38.658838],[1.50498,38.670996],[1.405762,38.670996],[1.401953,38.711426],[1.417188,38.739648],[1.436328,38.768213],[1.496875,38.711914],[1.592676,38.701465],[1.593945,38.67207]]],[[[3.145313,39.790088],[3.241113,39.756689],[3.342188,39.786719],[3.395898,39.777295],[3.448926,39.76123],[3.461816,39.697754],[3.414648,39.627148],[3.34873,39.555664],[3.292969,39.477051],[3.244727,39.386621],[3.15459,39.333252],[3.072852,39.30127],[2.900098,39.368359],[2.799805,39.385059],[2.769824,39.410254],[2.745996,39.510254],[2.700586,39.542139],[2.634082,39.556201],[2.575879,39.530664],[2.499512,39.477881],[2.458789,39.530469],[2.394336,39.540381],[2.37002,39.57207],[2.371289,39.613086],[2.784961,39.854834],[2.904785,39.908301],[3.158691,39.970508],[3.197559,39.961084],[3.164453,39.924219],[3.166992,39.907715],[3.198633,39.889844],[3.190918,39.861377],[3.158691,39.836572],[3.145313,39.790088]]],[[[4.293652,39.841846],[4.275293,39.830273],[3.967676,39.94585],[3.867188,39.95874],[3.842676,39.976367],[3.84541,40.036475],[3.853418,40.063037],[4.05918,40.075098],[4.225781,40.032373],[4.315137,39.917236],[4.32207,39.89751],[4.293652,39.841846]]],[[[1.445215,38.918701],[1.408984,38.857275],[1.256934,38.879004],[1.22334,38.903857],[1.25625,38.973389],[1.299805,38.981738],[1.302539,39.031152],[1.348633,39.080811],[1.564453,39.121045],[1.613184,39.087402],[1.623633,39.038818],[1.494531,38.93252],[1.445215,38.918701]]],[[[-1.794043,43.407324],[-1.792725,43.372559],[-1.753271,43.324707],[-1.712842,43.307031],[-1.627148,43.282471],[-1.561475,43.279199],[-1.471729,43.267676],[-1.410693,43.240088],[-1.407324,43.197119],[-1.422607,43.149121],[-1.459424,43.10498],[-1.480469,43.071143],[-1.46084,43.051758],[-1.42876,43.036768],[-1.394043,43.032617],[-1.370508,43.037598],[-1.352734,43.064258],[-1.318848,43.096973],[-1.300049,43.100977],[-1.301562,43.082471],[-1.285449,43.059619],[-1.175439,43.021143],[-0.933838,42.949512],[-0.839209,42.948193],[-0.762646,42.939795],[-0.740186,42.909521],[-0.586426,42.798975],[-0.549805,42.802002],[-0.481152,42.799316],[-0.398438,42.808105],[-0.338574,42.828809],[-0.299316,42.825342],[-0.256055,42.803955],[-0.205322,42.785303],[-0.140039,42.748926],[-0.081494,42.703857],[-0.041162,42.689111],[0.201367,42.719336],[0.255469,42.69292],[0.312891,42.693262],[0.377246,42.700146],[0.517676,42.686279],[0.631641,42.6896],[0.641992,42.700635],[0.651758,42.800439],[0.669824,42.835742],[0.696875,42.845117],[0.764453,42.838037],[1.010059,42.778955],[1.111133,42.742041],[1.208301,42.713135],[1.293262,42.709961],[1.349414,42.690674],[1.42832,42.595898],[1.414844,42.548389],[1.421973,42.530811],[1.430273,42.497852],[1.428125,42.461328],[1.448828,42.437451],[1.48623,42.434473],[1.534082,42.441699],[1.586426,42.455957],[1.678516,42.49668],[1.706055,42.50332],[1.859766,42.45708],[1.92793,42.426318],[1.951465,42.392773],[1.986523,42.358496],[2.032715,42.353516],[2.09834,42.386084],[2.200391,42.420947],[2.374414,42.390283],[2.567969,42.345801],[2.65166,42.340479],[2.654785,42.362109],[2.67002,42.393018],[2.701855,42.408496],[2.749414,42.413037],[2.815625,42.429248],[2.891406,42.456055],[2.97002,42.467236],[3.052637,42.447217],[3.152148,42.431006],[3.211426,42.431152],[3.239844,42.367871],[3.287891,42.343701],[3.306738,42.288965],[3.218652,42.260352],[3.166406,42.256494],[3.150391,42.162451],[3.175195,42.135986],[3.224609,42.111133],[3.238086,42.082227],[3.248047,41.944238],[3.146875,41.861035],[3.004883,41.767432],[2.310938,41.466504],[2.145605,41.320752],[2.082617,41.287402],[1.566602,41.195605],[1.205859,41.097559],[1.03291,41.062061],[0.816895,40.891602],[0.714648,40.822852],[0.796094,40.803809],[0.891113,40.722363],[0.85918,40.68623],[0.720605,40.630469],[0.660059,40.61333],[0.627148,40.622217],[0.596094,40.614502],[0.363672,40.319043],[0.158398,40.106592],[0.043066,40.013965],[-0.075146,39.875928],[-0.327002,39.519873],[-0.328955,39.41709],[-0.204932,39.062598],[-0.133789,38.969482],[-0.034131,38.891211],[0.154883,38.824658],[0.201563,38.75918],[0.136328,38.696777],[-0.052734,38.585693],[-0.38125,38.435645],[-0.520801,38.317285],[-0.550684,38.203125],[-0.646777,38.151855],[-0.683203,37.992041],[-0.741553,37.886133],[-0.752734,37.850244],[-0.814648,37.769922],[-0.823096,37.711621],[-0.721582,37.631055],[-0.771875,37.59624],[-0.822168,37.580762],[-0.938086,37.571338],[-1.327539,37.561133],[-1.640967,37.386963],[-1.797607,37.232861],[-1.939307,36.94585],[-2.111523,36.77666],[-2.187695,36.745459],[-2.305566,36.819824],[-2.452832,36.831152],[-2.595703,36.806494],[-2.670605,36.747559],[-2.787549,36.714746],[-2.901855,36.743164],[-3.14917,36.758496],[-3.259131,36.755762],[-3.43125,36.70791],[-3.578809,36.739844],[-3.827783,36.756055],[-4.366846,36.718115],[-4.434863,36.700244],[-4.502246,36.62915],[-4.674121,36.506445],[-4.935303,36.502051],[-5.171484,36.423779],[-5.230518,36.373633],[-5.329687,36.235742],[-5.360937,36.134912],[-5.381592,36.134082],[-5.407227,36.158887],[-5.443604,36.150586],[-5.4625,36.073779],[-5.55127,36.038818],[-5.625488,36.025928],[-5.808398,36.08833],[-5.960693,36.181738],[-6.040674,36.188428],[-6.170459,36.333789],[-6.22627,36.426465],[-6.265918,36.526514],[-6.257715,36.564844],[-6.268945,36.596729],[-6.384131,36.637012],[-6.412256,36.728857],[-6.32832,36.848145],[-6.259424,36.898975],[-6.216797,36.913574],[-6.320947,36.908496],[-6.396191,36.831641],[-6.492432,36.954639],[-6.884619,37.194238],[-6.859375,37.24917],[-6.86377,37.278906],[-6.929492,37.214941],[-6.974658,37.198437],[-7.174951,37.208789],[-7.406152,37.179443],[-7.467187,37.428027],[-7.496045,37.523584],[-7.503516,37.585498],[-7.443945,37.728271],[-7.378906,37.786377],[-7.292236,37.906445],[-7.185449,38.006348],[-7.07251,38.030029],[-7.022852,38.044727],[-6.981104,38.121973],[-6.957568,38.187891],[-6.974805,38.194434],[-7.106396,38.181006],[-7.343018,38.457422],[-7.335791,38.501465],[-7.305957,38.566846],[-7.286377,38.649365],[-7.281543,38.714551],[-7.219922,38.770508],[-7.125488,38.826953],[-7.046045,38.907031],[-7.00625,38.985254],[-6.997949,39.056445],[-7.042969,39.10708],[-7.172412,39.135205],[-7.305762,39.338135],[-7.335449,39.465137],[-7.362695,39.47832],[-7.445117,39.536182],[-7.524219,39.644727],[-7.535693,39.661572],[-7.454102,39.680664],[-7.117676,39.681689],[-7.047412,39.705566],[-7.036719,39.713965],[-6.975391,39.798389],[-6.911182,39.937109],[-6.896094,40.021826],[-6.916406,40.056836],[-7.027832,40.142627],[-7.032617,40.16792],[-7.014697,40.20835],[-6.948437,40.251611],[-6.858887,40.300732],[-6.810156,40.343115],[-6.821777,40.37627],[-6.847949,40.410986],[-6.852051,40.443262],[-6.835693,40.483154],[-6.829834,40.619092],[-6.818359,40.654053],[-6.835889,40.77749],[-6.857715,40.87832],[-6.928467,41.009131],[-6.915527,41.038037],[-6.882812,41.062402],[-6.775781,41.107715],[-6.690137,41.214502],[-6.565918,41.303711],[-6.403125,41.375391],[-6.289355,41.455029],[-6.244336,41.515918],[-6.2125,41.532031],[-6.22168,41.560449],[-6.243115,41.601807],[-6.308057,41.642187],[-6.391699,41.665381],[-6.484668,41.664404],[-6.542187,41.67251],[-6.558984,41.704053],[-6.552588,41.789551],[-6.55752,41.874121],[-6.575342,41.913086],[-6.618262,41.942383],[-6.703613,41.93457],[-6.777295,41.958496],[-6.833203,41.96416],[-6.865527,41.945264],[-7.030469,41.950635],[-7.099121,41.964209],[-7.147119,41.981152],[-7.17793,41.97168],[-7.195361,41.955225],[-7.19834,41.929395],[-7.209619,41.895264],[-7.268555,41.864404],[-7.403613,41.833691],[-7.512598,41.835986],[-7.612598,41.857959],[-7.644678,41.873975],[-7.693066,41.888477],[-7.896387,41.870557],[-7.92085,41.883643],[-7.990967,41.851904],[-8.094434,41.814209],[-8.15249,41.811963],[-8.173535,41.819971],[-8.18125,41.836963],[-8.224756,41.89585],[-8.21333,41.9271],[-8.12998,42.018164],[-8.139307,42.039941],[-8.173584,42.069385],[-8.204199,42.111865],[-8.213086,42.133691],[-8.266064,42.137402],[-8.322559,42.115088],[-8.538086,42.069336],[-8.589648,42.052734],[-8.682959,42.008496],[-8.777148,41.941064],[-8.852344,41.926904],[-8.87832,41.946875],[-8.887207,42.105273],[-8.772461,42.210596],[-8.690918,42.27417],[-8.729199,42.287012],[-8.81582,42.285254],[-8.809961,42.334473],[-8.769385,42.358154],[-8.730029,42.411719],[-8.776172,42.434814],[-8.812109,42.470068],[-8.809912,42.562354],[-8.799902,42.599902],[-8.811523,42.640332],[-8.987793,42.585645],[-9.033105,42.593848],[-9.035059,42.662354],[-8.937207,42.766699],[-8.927197,42.798584],[-9.041602,42.814014],[-9.127197,42.865234],[-9.179443,42.910986],[-9.235205,42.976904],[-9.235645,43.035791],[-9.178076,43.174023],[-9.095557,43.214209],[-9.024512,43.238965],[-8.873682,43.334424],[-8.665625,43.316602],[-8.537061,43.337061],[-8.421582,43.38584],[-8.355469,43.396826],[-8.248926,43.439404],[-8.252295,43.496924],[-8.288867,43.5396],[-8.256738,43.579883],[-8.137158,43.629053],[-8.004687,43.694385],[-7.852734,43.706982],[-7.698145,43.764551],[-7.59458,43.727344],[-7.503613,43.739941],[-7.399316,43.695801],[-7.261963,43.594629],[-7.060986,43.553955],[-6.900684,43.585645],[-6.617285,43.592383],[-6.475684,43.578906],[-6.224121,43.603857],[-6.080127,43.594922],[-5.84668,43.645068],[-5.66582,43.582471],[-5.315723,43.553174],[-5.105273,43.501855],[-4.523047,43.415723],[-4.312793,43.414746],[-4.015332,43.463086],[-3.889355,43.499414],[-3.774023,43.477881],[-3.604639,43.519482],[-3.523633,43.511035],[-3.417871,43.451709],[-3.045605,43.371582],[-2.947705,43.439697],[-2.875049,43.454443],[-2.60708,43.412744],[-2.337109,43.328027],[-2.19668,43.321924],[-1.991309,43.345068],[-1.828516,43.40083],[-1.794043,43.407324]]],[[[-16.334473,28.379932],[-16.418213,28.151416],[-16.49624,28.061914],[-16.542773,28.03208],[-16.658008,28.007178],[-16.794727,28.14917],[-16.866016,28.293262],[-16.905322,28.3396],[-16.843066,28.376123],[-16.752051,28.369824],[-16.556836,28.400488],[-16.517432,28.412695],[-16.318994,28.558203],[-16.123633,28.575977],[-16.119141,28.528271],[-16.334473,28.379932]]],[[[-13.715967,28.91123],[-13.783984,28.845459],[-13.859912,28.869092],[-13.823633,29.01333],[-13.788184,29.056104],[-13.650098,29.118994],[-13.535059,29.144287],[-13.501416,29.21123],[-13.463574,29.237207],[-13.422949,29.19751],[-13.45376,29.151367],[-13.47793,29.006592],[-13.554688,28.960205],[-13.715967,28.91123]]],[[[-14.196777,28.169287],[-14.332617,28.056006],[-14.468604,28.082373],[-14.491797,28.100928],[-14.355566,28.129687],[-14.231982,28.21582],[-14.152588,28.406641],[-14.028369,28.617432],[-14.003369,28.706689],[-13.95415,28.741455],[-13.886279,28.744678],[-13.857227,28.738037],[-13.827148,28.691211],[-13.827588,28.585156],[-13.862988,28.409326],[-13.928027,28.253467],[-14.196777,28.169287]]],[[[-15.400586,28.147363],[-15.406689,28.070508],[-15.383154,27.992822],[-15.38916,27.874707],[-15.436768,27.810693],[-15.559375,27.746973],[-15.655762,27.758398],[-15.710303,27.784082],[-15.807324,27.887549],[-15.809473,27.994482],[-15.720947,28.06416],[-15.682764,28.154053],[-15.452783,28.136914],[-15.432715,28.154248],[-15.415479,28.159326],[-15.400586,28.147363]]],[[[-17.184668,28.021973],[-17.225391,28.013525],[-17.273926,28.038281],[-17.324902,28.117676],[-17.290332,28.176318],[-17.258594,28.203174],[-17.214355,28.199268],[-17.129639,28.155957],[-17.10376,28.111133],[-17.101074,28.083447],[-17.184668,28.021973]]],[[[-17.887939,27.80957],[-17.984766,27.646387],[-18.106592,27.707471],[-18.135937,27.72793],[-18.160547,27.761475],[-18.043359,27.768115],[-17.924512,27.850146],[-17.887939,27.80957]]],[[[-17.834277,28.493213],[-17.859375,28.485693],[-17.882129,28.5646],[-18.000781,28.758252],[-17.928809,28.84458],[-17.797559,28.846777],[-17.744531,28.786572],[-17.726562,28.724463],[-17.751611,28.688574],[-17.744385,28.616016],[-17.758008,28.569092],[-17.834277,28.493213]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":2,"SOVEREIGNT":"South Korea","SOV_A3":"KOR","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"South Korea","ADM0_A3":"KOR","GEOU_DIF":0,"GEOUNIT":"South Korea","GU_A3":"KOR","SU_DIF":0,"SUBUNIT":"South Korea","SU_A3":"KOR","BRK_DIFF":0,"NAME":"South Korea","NAME_LONG":"Republic of Korea","BRK_A3":"KOR","BRK_NAME":"Republic of Korea","BRK_GROUP":null,"ABBREV":"S.K.","POSTAL":"KR","FORMAL_EN":"Republic of Korea","FORMAL_FR":null,"NAME_CIAWF":"Korea, South","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Korea, Rep.","NAME_ALT":null,"MAPCOLOR7":4,"MAPCOLOR8":1,"MAPCOLOR9":1,"MAPCOLOR13":5,"POP_EST":51709098,"POP_RANK":16,"POP_YEAR":2019,"GDP_MD":1646739,"GDP_YEAR":2019,"ECONOMY":"4. Emerging region: MIKT","INCOME_GRP":"1. High income: OECD","FIPS_10":"KS","ISO_A2":"KR","ISO_A2_EH":"KR","ISO_A3":"KOR","ISO_A3_EH":"KOR","ISO_N3":"410","ISO_N3_EH":"410","UN_A3":"410","WB_A2":"KR","WB_A3":"KOR","WOE_ID":23424868,"WOE_ID_EH":23424868,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"KOR","ADM0_DIFF":null,"ADM0_TLC":"KOR","ADM0_A3_US":"KOR","ADM0_A3_FR":"KOR","ADM0_A3_RU":"KOR","ADM0_A3_ES":"KOR","ADM0_A3_CN":"KOR","ADM0_A3_TW":"KOR","ADM0_A3_IN":"KOR","ADM0_A3_NP":"KOR","ADM0_A3_PK":"KOR","ADM0_A3_DE":"KOR","ADM0_A3_GB":"KOR","ADM0_A3_BR":"KOR","ADM0_A3_IL":"KOR","ADM0_A3_PS":"KOR","ADM0_A3_SA":"KOR","ADM0_A3_EG":"KOR","ADM0_A3_MA":"KOR","ADM0_A3_PT":"KOR","ADM0_A3_AR":"KOR","ADM0_A3_JP":"KOR","ADM0_A3_KO":"KOR","ADM0_A3_VN":"KOR","ADM0_A3_TR":"KOR","ADM0_A3_ID":"KOR","ADM0_A3_PL":"KOR","ADM0_A3_GR":"KOR","ADM0_A3_IT":"KOR","ADM0_A3_NL":"KOR","ADM0_A3_SE":"KOR","ADM0_A3_BD":"KOR","ADM0_A3_UA":"KOR","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Asia","REGION_UN":"Asia","SUBREGION":"Eastern Asia","REGION_WB":"East Asia & Pacific","NAME_LEN":11,"LONG_LEN":17,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":2.5,"MAX_LABEL":7,"LABEL_X":128.129504,"LABEL_Y":36.384924,"NE_ID":1159320985,"WIKIDATAID":"Q884","NAME_AR":"كوريا الجنوبية","NAME_BN":"দক্ষিণ কোরিয়া","NAME_DE":"Südkorea","NAME_EN":"South Korea","NAME_ES":"Corea del Sur","NAME_FA":"کره جنوبی","NAME_FR":"Corée du Sud","NAME_EL":"Νότια Κορέα","NAME_HE":"קוריאה הדרומית","NAME_HI":"दक्षिण कोरिया","NAME_HU":"Dél-Korea","NAME_ID":"Korea Selatan","NAME_IT":"Corea del Sud","NAME_JA":"大韓民国","NAME_KO":"대한민국","NAME_NL":"Zuid-Korea","NAME_PL":"Korea Południowa","NAME_PT":"Coreia do Sul","NAME_RU":"Республика Корея","NAME_SV":"Sydkorea","NAME_TR":"Güney Kore","NAME_UK":"Південна Корея","NAME_UR":"جنوبی کوریا","NAME_VI":"Hàn Quốc","NAME_ZH":"大韩民国","NAME_ZHT":"大韓民國","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[126.00752,33.201514,130.934277,38.623437],"geometry":{"type":"MultiPolygon","coordinates":[[[[126.633887,37.781836],[126.664551,37.800732],[126.666504,37.82793],[126.666797,37.917187],[126.754297,37.978955],[126.878906,38.106055],[126.940039,38.175586],[127.009668,38.240527],[127.090332,38.283887],[127.169531,38.304541],[127.294043,38.313281],[127.532715,38.30498],[127.579492,38.3125],[127.745508,38.319238],[127.784668,38.307715],[127.905273,38.300439],[128.038965,38.308545],[128.10625,38.327344],[128.168652,38.359326],[128.223145,38.416992],[128.279297,38.523779],[128.339453,38.607861],[128.374609,38.623437],[128.618848,38.176074],[128.852441,37.887061],[129.051563,37.677637],[129.335156,37.274561],[129.418262,37.059033],[129.426172,36.925537],[129.473438,36.741895],[129.433008,36.636621],[129.44502,36.470703],[129.427148,36.385498],[129.392578,36.322705],[129.391309,36.202148],[129.402441,36.137646],[129.403516,36.052148],[129.425781,36.018799],[129.458301,36.006445],[129.509766,36.037598],[129.572852,36.050537],[129.561719,35.947656],[129.485449,35.687402],[129.419141,35.497852],[129.329004,35.332764],[129.21416,35.181836],[129.076758,35.122705],[128.980078,35.101514],[128.795703,35.093896],[128.642578,35.11958],[128.510938,35.100977],[128.458105,35.069434],[128.418848,35.015674],[128.447656,34.93208],[128.443945,34.870361],[128.387695,34.875098],[128.275977,34.910986],[128.152344,34.915869],[128.094531,34.933594],[128.03623,35.021973],[127.976758,35.018701],[127.873242,34.966309],[127.714844,34.954687],[127.659082,34.926367],[127.639355,34.889697],[127.6625,34.843408],[127.742188,34.782568],[127.71543,34.721045],[127.632422,34.690234],[127.56543,34.765918],[127.523633,34.840088],[127.476953,34.844287],[127.404297,34.823096],[127.389648,34.743018],[127.423438,34.688477],[127.479102,34.625244],[127.401172,34.552539],[127.380566,34.500635],[127.324609,34.463281],[127.173438,34.546143],[127.194922,34.605029],[127.260547,34.66167],[127.268652,34.720361],[127.24707,34.755127],[127.030762,34.606885],[126.897461,34.438867],[126.82627,34.451074],[126.796484,34.494287],[126.754785,34.511865],[126.61084,34.403516],[126.584375,34.317529],[126.531445,34.314258],[126.508301,34.350635],[126.506445,34.428369],[126.481738,34.493945],[126.332617,34.589648],[126.264453,34.673242],[126.301074,34.719971],[126.425586,34.69458],[126.524512,34.6979],[126.50498,34.737549],[126.472852,34.756348],[126.538574,34.778662],[126.593359,34.824365],[126.547949,34.836768],[126.478516,34.810352],[126.420703,34.823389],[126.397852,34.932812],[126.327441,35.045117],[126.291113,35.15415],[126.360547,35.216895],[126.395898,35.314404],[126.460449,35.455615],[126.492773,35.50127],[126.582227,35.534473],[126.614062,35.570996],[126.564941,35.589746],[126.486523,35.606348],[126.488477,35.64707],[126.541895,35.669336],[126.601562,35.714209],[126.717383,35.768848],[126.753027,35.871973],[126.719629,35.8979],[126.647461,35.922412],[126.663672,35.974512],[126.693457,36.01416],[126.682324,36.037939],[126.59707,36.105029],[126.54043,36.166162],[126.557227,36.23584],[126.544238,36.341211],[126.551953,36.429688],[126.548242,36.477637],[126.506641,36.585645],[126.487695,36.693799],[126.433008,36.678027],[126.38877,36.651172],[126.230664,36.689258],[126.180859,36.691602],[126.160547,36.771924],[126.217188,36.870947],[126.351562,36.958203],[126.428711,36.969043],[126.487012,37.007471],[126.577734,37.01958],[126.686719,36.960352],[126.784473,36.948437],[126.83877,36.846094],[126.87207,36.824463],[126.879102,36.862061],[126.958008,36.906152],[126.976855,36.939404],[126.959766,36.957617],[126.868945,36.975732],[126.787402,37.102734],[126.776074,37.158203],[126.746387,37.193555],[126.790527,37.294922],[126.696191,37.410693],[126.650293,37.447119],[126.656836,37.551172],[126.607617,37.617432],[126.580176,37.65376],[126.563379,37.716504],[126.577734,37.744727],[126.620703,37.755469],[126.633887,37.781836]]],[[[128.741016,34.798535],[128.64668,34.736865],[128.519531,34.81958],[128.489258,34.865283],[128.585938,34.932275],[128.667969,35.008789],[128.721875,35.013574],[128.741016,34.798535]]],[[[128.06582,34.805859],[128.054688,34.708057],[127.983984,34.703223],[127.941797,34.76626],[127.896875,34.735498],[127.873438,34.734961],[127.838281,34.81333],[127.832227,34.874512],[127.91543,34.920996],[127.965625,34.893018],[128.037988,34.878613],[128.06582,34.805859]]],[[[126.233691,34.370508],[126.169727,34.355176],[126.133789,34.3896],[126.108594,34.39873],[126.122852,34.443945],[126.227051,34.532715],[126.247461,34.56333],[126.343848,34.544922],[126.379883,34.497949],[126.335449,34.426416],[126.233691,34.370508]]],[[[126.520703,37.736816],[126.516016,37.604687],[126.46084,37.610352],[126.42334,37.623633],[126.407227,37.649414],[126.369336,37.772021],[126.411621,37.822656],[126.493555,37.782568],[126.520703,37.736816]]],[[[126.753027,34.343994],[126.769922,34.296436],[126.689063,34.30542],[126.646094,34.351123],[126.651855,34.390332],[126.7,34.395898],[126.753027,34.343994]]],[[[127.799023,34.615039],[127.787793,34.584082],[127.737305,34.630908],[127.787109,34.682129],[127.799023,34.615039]]],[[[126.417578,36.492578],[126.403809,36.427881],[126.3375,36.470557],[126.318555,36.612549],[126.386621,36.571143],[126.417578,36.492578]]],[[[126.171973,34.731152],[126.158789,34.706982],[126.115234,34.714209],[126.070605,34.783057],[126.052051,34.837549],[126.00752,34.86748],[126.078418,34.914844],[126.168555,34.829687],[126.171973,34.731152]]],[[[130.916016,37.478467],[130.870605,37.44873],[130.816797,37.478467],[130.810254,37.509912],[130.838379,37.537207],[130.903711,37.553711],[130.934277,37.529736],[130.916016,37.478467]]],[[[126.326953,33.223633],[126.282031,33.201514],[126.240234,33.214844],[126.229004,33.225244],[126.178711,33.282568],[126.165625,33.312012],[126.199414,33.368066],[126.337695,33.4604],[126.695508,33.549316],[126.759863,33.553223],[126.901172,33.515137],[126.93125,33.443848],[126.905371,33.382373],[126.872852,33.341162],[126.70918,33.27168],[126.581738,33.23833],[126.326953,33.223633]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":2,"SOVEREIGNT":"South Africa","SOV_A3":"ZAF","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"South Africa","ADM0_A3":"ZAF","GEOU_DIF":0,"GEOUNIT":"South Africa","GU_A3":"ZAF","SU_DIF":0,"SUBUNIT":"South Africa","SU_A3":"ZAF","BRK_DIFF":0,"NAME":"South Africa","NAME_LONG":"South Africa","BRK_A3":"ZAF","BRK_NAME":"South Africa","BRK_GROUP":null,"ABBREV":"S.Af.","POSTAL":"ZA","FORMAL_EN":"Republic of South Africa","FORMAL_FR":null,"NAME_CIAWF":"South Africa","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"South Africa","NAME_ALT":null,"MAPCOLOR7":2,"MAPCOLOR8":3,"MAPCOLOR9":4,"MAPCOLOR13":2,"POP_EST":58558270,"POP_RANK":16,"POP_YEAR":2019,"GDP_MD":351431,"GDP_YEAR":2019,"ECONOMY":"5. Emerging region: G20","INCOME_GRP":"3. Upper middle income","FIPS_10":"SF","ISO_A2":"ZA","ISO_A2_EH":"ZA","ISO_A3":"ZAF","ISO_A3_EH":"ZAF","ISO_N3":"710","ISO_N3_EH":"710","UN_A3":"710","WB_A2":"ZA","WB_A3":"ZAF","WOE_ID":23424942,"WOE_ID_EH":23424942,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"ZAF","ADM0_DIFF":null,"ADM0_TLC":"ZAF","ADM0_A3_US":"ZAF","ADM0_A3_FR":"ZAF","ADM0_A3_RU":"ZAF","ADM0_A3_ES":"ZAF","ADM0_A3_CN":"ZAF","ADM0_A3_TW":"ZAF","ADM0_A3_IN":"ZAF","ADM0_A3_NP":"ZAF","ADM0_A3_PK":"ZAF","ADM0_A3_DE":"ZAF","ADM0_A3_GB":"ZAF","ADM0_A3_BR":"ZAF","ADM0_A3_IL":"ZAF","ADM0_A3_PS":"ZAF","ADM0_A3_SA":"ZAF","ADM0_A3_EG":"ZAF","ADM0_A3_MA":"ZAF","ADM0_A3_PT":"ZAF","ADM0_A3_AR":"ZAF","ADM0_A3_JP":"ZAF","ADM0_A3_KO":"ZAF","ADM0_A3_VN":"ZAF","ADM0_A3_TR":"ZAF","ADM0_A3_ID":"ZAF","ADM0_A3_PL":"ZAF","ADM0_A3_GR":"ZAF","ADM0_A3_IT":"ZAF","ADM0_A3_NL":"ZAF","ADM0_A3_SE":"ZAF","ADM0_A3_BD":"ZAF","ADM0_A3_UA":"ZAF","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Africa","REGION_UN":"Africa","SUBREGION":"Southern Africa","REGION_WB":"Sub-Saharan Africa","NAME_LEN":12,"LONG_LEN":12,"ABBREV_LEN":5,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":1.7,"MAX_LABEL":6.7,"LABEL_X":23.665734,"LABEL_Y":-29.708776,"NE_ID":1159321431,"WIKIDATAID":"Q258","NAME_AR":"جنوب أفريقيا","NAME_BN":"দক্ষিণ আফ্রিকা","NAME_DE":"Südafrika","NAME_EN":"South Africa","NAME_ES":"Sudáfrica","NAME_FA":"آفریقای جنوبی","NAME_FR":"Afrique du Sud","NAME_EL":"Νότια Αφρική","NAME_HE":"דרום אפריקה","NAME_HI":"दक्षिण अफ़्रीका","NAME_HU":"Dél-afrikai Köztársaság","NAME_ID":"Afrika Selatan","NAME_IT":"Sudafrica","NAME_JA":"南アフリカ共和国","NAME_KO":"남아프리카 공화국","NAME_NL":"Zuid-Afrika","NAME_PL":"Południowa Afryka","NAME_PT":"África do Sul","NAME_RU":"ЮАР","NAME_SV":"Sydafrika","NAME_TR":"Güney Afrika Cumhuriyeti","NAME_UK":"Південно-Африканська Республіка","NAME_UR":"جنوبی افریقا","NAME_VI":"Cộng hòa Nam Phi","NAME_ZH":"南非","NAME_ZHT":"南非","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[16.447559,-46.962891,37.887695,-22.146289],"geometry":{"type":"MultiPolygon","coordinates":[[[[29.364844,-22.193945],[29.377441,-22.192773],[29.663086,-22.146289],[29.902344,-22.18418],[30.19043,-22.291113],[30.460156,-22.329004],[30.711621,-22.297852],[30.916113,-22.290723],[31.073438,-22.307813],[31.197266,-22.344922],[31.287891,-22.402051],[31.293164,-22.454688],[31.300195,-22.478613],[31.348047,-22.617578],[31.419336,-22.825098],[31.466699,-23.016699],[31.531738,-23.279492],[31.529688,-23.425781],[31.545605,-23.482324],[31.604102,-23.55293],[31.675586,-23.674219],[31.7,-23.743066],[31.724023,-23.794531],[31.799609,-23.892188],[31.858301,-24.040234],[31.908008,-24.23623],[31.950586,-24.330273],[31.966602,-24.376465],[31.98584,-24.460645],[31.983203,-24.638281],[31.984375,-24.844043],[31.985742,-25.073828],[31.987012,-25.263477],[31.979395,-25.359473],[31.98457,-25.631934],[31.920313,-25.773926],[31.92832,-25.885352],[31.948242,-25.957617],[31.92168,-25.96875],[31.871484,-25.981641],[31.64043,-25.867285],[31.415137,-25.746582],[31.382617,-25.742969],[31.335156,-25.755566],[31.207324,-25.843359],[31.088086,-25.980664],[31.033301,-26.097754],[30.945215,-26.21875],[30.80332,-26.413477],[30.789062,-26.455469],[30.7875,-26.613672],[30.794336,-26.764258],[30.806738,-26.785254],[30.883301,-26.792383],[30.938086,-26.91582],[31.063379,-27.112305],[31.274023,-27.238379],[31.469531,-27.295508],[31.742578,-27.309961],[31.958398,-27.305859],[31.946094,-27.173633],[31.967188,-26.960645],[31.994727,-26.81748],[32.024805,-26.811133],[32.081641,-26.824805],[32.112891,-26.839453],[32.199609,-26.833496],[32.353516,-26.861621],[32.477734,-26.858496],[32.58877,-26.855762],[32.776563,-26.850977],[32.886133,-26.849316],[32.849121,-27.080176],[32.705859,-27.441602],[32.657031,-27.607324],[32.534766,-28.199707],[32.375195,-28.498242],[32.285742,-28.621484],[32.027246,-28.839551],[31.955371,-28.883789],[31.891504,-28.912109],[31.778223,-28.937109],[31.335156,-29.378125],[31.169922,-29.59082],[31.02334,-29.900879],[30.877637,-30.071094],[30.663574,-30.43418],[30.472266,-30.714551],[30.288672,-30.970117],[29.971191,-31.32207],[29.830273,-31.423828],[29.735156,-31.47041],[29.48291,-31.674707],[29.127832,-32.003125],[28.855957,-32.294238],[28.449414,-32.624609],[28.214063,-32.769238],[27.860645,-33.053906],[27.762109,-33.095996],[27.36377,-33.360547],[27.077441,-33.521191],[26.613672,-33.707422],[26.429492,-33.75957],[25.989551,-33.711328],[25.805859,-33.737109],[25.652441,-33.849609],[25.638184,-34.011133],[25.574219,-34.035352],[25.477246,-34.028125],[25.169727,-33.960742],[25.00293,-33.973633],[24.905566,-34.059766],[24.827148,-34.168945],[24.595508,-34.174512],[24.183008,-34.061523],[23.697852,-33.992773],[23.585547,-33.985156],[23.350391,-34.068945],[23.268164,-34.081152],[22.925586,-34.063184],[22.735547,-34.010254],[22.553809,-34.010059],[22.414453,-34.053809],[22.245508,-34.069141],[21.788965,-34.372656],[21.553223,-34.373047],[21.349805,-34.408203],[21.248926,-34.407031],[21.060156,-34.364648],[20.989844,-34.36748],[20.882422,-34.386523],[20.774805,-34.439941],[20.529883,-34.463086],[20.434668,-34.508594],[20.020605,-34.785742],[19.92627,-34.774707],[19.85,-34.756641],[19.634961,-34.75332],[19.391504,-34.605664],[19.298242,-34.615039],[19.323242,-34.570801],[19.330762,-34.492383],[19.279395,-34.437012],[19.244629,-34.412305],[19.149121,-34.416895],[19.09834,-34.350098],[18.952148,-34.34375],[18.901563,-34.360645],[18.831348,-34.364063],[18.825098,-34.296484],[18.830664,-34.253906],[18.826367,-34.188477],[18.808789,-34.108203],[18.752148,-34.082617],[18.708691,-34.071875],[18.605176,-34.077344],[18.533887,-34.085938],[18.500391,-34.109277],[18.462109,-34.168066],[18.461621,-34.346875],[18.410352,-34.295605],[18.352051,-34.188477],[18.333398,-34.074219],[18.354395,-33.939063],[18.465039,-33.887793],[18.456445,-33.796484],[18.433008,-33.717285],[18.309473,-33.514453],[18.26123,-33.42168],[18.156348,-33.358789],[18.074805,-33.207324],[17.992578,-33.152344],[17.958398,-33.046387],[17.878223,-32.961523],[17.851074,-32.827441],[17.895313,-32.750488],[17.965234,-32.708594],[18.036523,-32.775098],[18.125,-32.749121],[18.250879,-32.652148],[18.325293,-32.50498],[18.329883,-32.269531],[18.310742,-32.122461],[18.21084,-31.74248],[18.163672,-31.655176],[17.938574,-31.383203],[17.677441,-31.019043],[17.34707,-30.444824],[17.189063,-30.099805],[16.95,-29.403418],[16.739453,-29.009375],[16.480762,-28.641504],[16.447559,-28.617578],[16.487109,-28.572852],[16.626172,-28.487891],[16.689453,-28.464941],[16.723047,-28.475488],[16.755762,-28.452148],[16.7875,-28.394727],[16.794531,-28.34082],[16.810156,-28.264551],[16.841211,-28.218945],[16.875293,-28.12793],[16.933301,-28.069629],[17.05625,-28.031055],[17.149414,-28.082227],[17.188477,-28.13252],[17.20459,-28.198828],[17.245801,-28.230859],[17.312012,-28.228613],[17.358691,-28.269434],[17.385742,-28.353223],[17.380273,-28.413965],[17.342578,-28.45166],[17.347852,-28.501172],[17.395898,-28.562695],[17.415723,-28.621094],[17.447949,-28.698145],[17.616797,-28.743066],[17.699316,-28.768359],[17.841602,-28.776953],[17.976074,-28.811328],[18.102734,-28.87168],[18.31084,-28.88623],[18.600391,-28.855273],[18.83877,-28.869141],[19.026074,-28.92793],[19.161719,-28.93877],[19.245801,-28.90166],[19.282227,-28.847949],[19.270996,-28.777734],[19.312695,-28.733301],[19.407227,-28.714453],[19.48291,-28.661621],[19.539844,-28.574609],[19.671484,-28.503906],[19.877832,-28.449414],[19.980469,-28.45127],[19.980469,-28.310352],[19.980469,-27.865527],[19.980469,-27.420703],[19.980469,-26.975977],[19.980469,-26.531152],[19.980469,-26.086328],[19.980469,-25.641602],[19.980469,-25.196777],[19.980469,-24.776758],[20.028613,-24.807031],[20.345215,-25.029883],[20.430664,-25.14707],[20.473145,-25.221289],[20.609277,-25.491211],[20.710742,-25.733203],[20.793164,-25.915625],[20.799414,-25.999023],[20.811035,-26.080566],[20.822656,-26.120605],[20.815039,-26.164941],[20.757031,-26.26416],[20.697852,-26.340137],[20.626758,-26.443848],[20.619922,-26.580859],[20.641406,-26.742188],[20.685059,-26.822461],[20.739844,-26.848828],[20.870898,-26.808789],[20.953906,-26.821094],[21.070996,-26.851758],[21.45498,-26.832813],[21.501367,-26.842676],[21.646289,-26.854199],[21.694727,-26.840918],[21.738086,-26.806836],[21.788281,-26.710059],[21.833203,-26.67832],[21.914551,-26.661914],[22.010938,-26.63584],[22.090918,-26.580176],[22.217578,-26.388867],[22.470898,-26.219043],[22.548633,-26.178418],[22.597656,-26.132715],[22.640234,-26.071191],[22.729004,-25.857324],[22.796094,-25.679102],[22.818945,-25.595117],[22.878809,-25.45791],[22.95127,-25.370313],[23.02207,-25.324121],[23.05752,-25.312305],[23.14873,-25.288672],[23.266016,-25.266602],[23.389258,-25.291406],[23.521484,-25.344434],[23.670703,-25.433984],[23.823438,-25.544629],[23.89375,-25.600879],[23.969531,-25.626074],[24.104492,-25.634863],[24.192969,-25.63291],[24.330566,-25.742871],[24.400195,-25.749805],[24.555859,-25.783105],[24.748145,-25.817383],[24.869238,-25.813477],[24.998926,-25.754004],[25.09248,-25.751465],[25.213379,-25.75625],[25.346191,-25.739941],[25.443652,-25.714453],[25.518164,-25.662793],[25.583789,-25.60625],[25.65918,-25.437891],[25.702637,-25.302344],[25.769922,-25.146484],[25.852441,-24.935254],[25.881836,-24.787988],[25.912109,-24.747461],[26.031836,-24.702441],[26.130859,-24.671484],[26.397168,-24.613574],[26.451758,-24.582715],[26.501563,-24.513281],[26.617773,-24.395508],[26.761133,-24.297168],[26.835059,-24.24082],[26.970605,-23.763477],[26.987012,-23.70459],[27.085547,-23.57793],[27.146387,-23.524414],[27.185547,-23.523438],[27.241211,-23.490039],[27.313379,-23.424219],[27.399219,-23.383594],[27.49873,-23.368359],[27.563184,-23.324609],[27.592676,-23.252637],[27.643848,-23.217676],[27.716797,-23.219629],[27.758301,-23.196777],[27.768555,-23.148926],[27.812598,-23.108008],[27.890527,-23.073926],[27.931348,-23.033594],[27.935059,-22.987012],[28.02793,-22.87373],[28.210156,-22.693652],[28.381738,-22.593359],[28.542871,-22.572949],[28.695508,-22.535449],[28.839844,-22.480859],[28.945801,-22.395117],[29.013477,-22.278418],[29.129883,-22.213281],[29.364844,-22.193945]],[[28.736914,-30.101953],[28.901074,-30.038477],[28.975293,-29.999414],[29.029004,-29.967578],[29.098047,-29.919043],[29.121973,-29.801172],[29.142188,-29.700977],[29.195117,-29.65166],[29.249219,-29.618848],[29.293555,-29.566895],[29.348828,-29.441992],[29.386719,-29.319727],[29.390723,-29.269727],[29.370898,-29.218457],[29.335938,-29.163672],[29.301367,-29.089844],[29.259766,-29.07832],[29.178027,-29.036914],[29.058008,-28.953711],[28.953711,-28.881445],[28.85625,-28.776074],[28.816211,-28.758887],[28.721777,-28.687695],[28.681152,-28.646777],[28.652637,-28.597852],[28.625781,-28.581738],[28.583398,-28.594141],[28.471875,-28.61582],[28.232617,-28.70127],[28.084375,-28.77998],[27.959863,-28.87334],[27.830371,-28.909082],[27.735547,-28.940039],[27.660449,-29.046973],[27.590234,-29.146484],[27.527148,-29.236133],[27.491016,-29.276563],[27.458008,-29.302734],[27.424902,-29.360059],[27.356836,-29.455273],[27.294531,-29.519336],[27.207422,-29.554199],[27.095215,-29.599316],[27.056934,-29.625586],[27.051758,-29.664062],[27.091797,-29.753711],[27.130469,-29.840234],[27.193555,-29.941309],[27.239746,-30.015332],[27.312695,-30.105664],[27.355371,-30.158594],[27.349707,-30.247363],[27.364063,-30.279199],[27.388477,-30.315918],[27.408594,-30.325293],[27.431445,-30.338477],[27.491992,-30.363965],[27.506543,-30.380957],[27.549023,-30.41123],[27.589648,-30.466406],[27.666602,-30.542285],[27.753125,-30.6],[27.901855,-30.623828],[28.018164,-30.642285],[28.056836,-30.631055],[28.096387,-30.58457],[28.128711,-30.525098],[28.139063,-30.449902],[28.176172,-30.409863],[28.31543,-30.218457],[28.39209,-30.147559],[28.439063,-30.14248],[28.499609,-30.128906],[28.57666,-30.123047],[28.634375,-30.128711],[28.646875,-30.126563],[28.736914,-30.101953]]],[[[37.856934,-46.944238],[37.813965,-46.962891],[37.611816,-46.946484],[37.590039,-46.908008],[37.649707,-46.848926],[37.684863,-46.824023],[37.789551,-46.8375],[37.872852,-46.885449],[37.887695,-46.90166],[37.856934,-46.944238]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":6,"SOVEREIGNT":"Somalia","SOV_A3":"SOM","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Somalia","ADM0_A3":"SOM","GEOU_DIF":0,"GEOUNIT":"Somalia","GU_A3":"SOM","SU_DIF":0,"SUBUNIT":"Somalia","SU_A3":"SOM","BRK_DIFF":0,"NAME":"Somalia","NAME_LONG":"Somalia","BRK_A3":"SOM","BRK_NAME":"Somalia","BRK_GROUP":null,"ABBREV":"Som.","POSTAL":"SO","FORMAL_EN":"Federal Republic of Somalia","FORMAL_FR":null,"NAME_CIAWF":"Somalia","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Somalia","NAME_ALT":null,"MAPCOLOR7":2,"MAPCOLOR8":8,"MAPCOLOR9":6,"MAPCOLOR13":7,"POP_EST":10192317.3,"POP_RANK":14,"POP_YEAR":2019,"GDP_MD":4719,"GDP_YEAR":2016,"ECONOMY":"7. Least developed region","INCOME_GRP":"5. Low income","FIPS_10":"SO","ISO_A2":"SO","ISO_A2_EH":"SO","ISO_A3":"SOM","ISO_A3_EH":"SOM","ISO_N3":"706","ISO_N3_EH":"706","UN_A3":"706","WB_A2":"SO","WB_A3":"SOM","WOE_ID":-90,"WOE_ID_EH":23424949,"WOE_NOTE":"Includes Somaliland (2347021, 2347020, 2347017 and portion of 2347016)","ADM0_ISO":"SOM","ADM0_DIFF":null,"ADM0_TLC":"SOM","ADM0_A3_US":"SOM","ADM0_A3_FR":"SOM","ADM0_A3_RU":"SOM","ADM0_A3_ES":"SOM","ADM0_A3_CN":"SOM","ADM0_A3_TW":"SOM","ADM0_A3_IN":"SOM","ADM0_A3_NP":"SOM","ADM0_A3_PK":"SOM","ADM0_A3_DE":"SOM","ADM0_A3_GB":"SOM","ADM0_A3_BR":"SOM","ADM0_A3_IL":"SOM","ADM0_A3_PS":"SOM","ADM0_A3_SA":"SOM","ADM0_A3_EG":"SOM","ADM0_A3_MA":"SOM","ADM0_A3_PT":"SOM","ADM0_A3_AR":"SOM","ADM0_A3_JP":"SOM","ADM0_A3_KO":"SOM","ADM0_A3_VN":"SOM","ADM0_A3_TR":"SOM","ADM0_A3_ID":"SOM","ADM0_A3_PL":"SOM","ADM0_A3_GR":"SOM","ADM0_A3_IT":"SOM","ADM0_A3_NL":"SOM","ADM0_A3_SE":"SOM","ADM0_A3_BD":"SOM","ADM0_A3_UA":"SOM","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Africa","REGION_UN":"Africa","SUBREGION":"Eastern Africa","REGION_WB":"Sub-Saharan Africa","NAME_LEN":7,"LONG_LEN":7,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":4,"MAX_LABEL":9,"LABEL_X":45.19238,"LABEL_Y":3.568925,"NE_ID":1159321261,"WIKIDATAID":"Q1045","NAME_AR":"الصومال","NAME_BN":"সোমালিয়া","NAME_DE":"Somalia","NAME_EN":"Somalia","NAME_ES":"Somalia","NAME_FA":"سومالی","NAME_FR":"Somalie","NAME_EL":"Σομαλία","NAME_HE":"סומליה","NAME_HI":"सोमालिया","NAME_HU":"Szomália","NAME_ID":"Somalia","NAME_IT":"Somalia","NAME_JA":"ソマリア","NAME_KO":"소말리아","NAME_NL":"Somalië","NAME_PL":"Somalia","NAME_PT":"Somália","NAME_RU":"Сомали","NAME_SV":"Somalia","NAME_TR":"Somali","NAME_UK":"Сомалі","NAME_UR":"صومالیہ","NAME_VI":"Somalia","NAME_ZH":"索马里","NAME_ZHT":"索馬利亞","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[40.964453,-1.695312,51.390234,11.983691],"geometry":{"type":"Polygon","coordinates":[[[41.532715,-1.695312],[41.537598,-1.613184],[41.521875,-1.572266],[41.426953,-1.449512],[41.249805,-1.220508],[41.11582,-1.047461],[40.978711,-0.870313],[40.978223,-0.728711],[40.976562,-0.307324],[40.973242,0.5354],[40.97002,1.378174],[40.966699,2.220947],[40.965039,2.642334],[40.964453,2.814648],[40.978711,2.842432],[41.134961,2.99707],[41.341797,3.20166],[41.613477,3.590479],[41.760938,3.801611],[41.883984,3.977734],[41.915332,4.031299],[42.024121,4.137939],[42.228418,4.20166],[42.355176,4.212256],[42.791602,4.291992],[42.856641,4.324219],[42.894727,4.361084],[42.930957,4.445312],[43.016016,4.56333],[43.125684,4.644482],[43.333984,4.750391],[43.538281,4.840332],[43.583496,4.85498],[43.829199,4.911426],[43.889453,4.930762],[43.988867,4.950537],[44.028125,4.950977],[44.369531,4.931201],[44.636621,4.915771],[44.911621,4.899902],[44.940527,4.912012],[45.132812,5.12168],[45.438477,5.45542],[45.633594,5.668262],[45.934961,5.997217],[46.166797,6.234668],[46.422949,6.497266],[46.671777,6.737256],[46.971191,7.026025],[47.159766,7.207861],[47.452832,7.490479],[47.731641,7.759326],[47.978223,7.99707],[48.126758,8.222168],[48.272754,8.443359],[48.428613,8.67959],[48.616602,8.9646],[48.793555,9.232715],[48.938086,9.451758],[48.938086,9.564111],[48.938281,9.807617],[48.938281,9.973486],[48.938379,10.433252],[48.938477,10.714209],[48.938477,10.982324],[48.938574,11.258447],[49.062109,11.27085],[49.388281,11.342725],[49.64209,11.450928],[50.110059,11.529297],[50.466211,11.727539],[50.52832,11.823193],[50.635938,11.943799],[50.792285,11.983691],[51.191309,11.841992],[51.254883,11.830713],[51.231836,11.74502],[51.218164,11.657666],[51.136328,11.505127],[51.084277,11.335645],[51.122266,11.076758],[51.140625,10.656885],[51.13125,10.595898],[51.104883,10.53584],[51.093848,10.488525],[51.050781,10.471973],[51.031836,10.444775],[51.063184,10.433936],[51.188281,10.479736],[51.185547,10.529834],[51.192969,10.554639],[51.295703,10.498682],[51.369141,10.475244],[51.390234,10.422607],[51.38457,10.386523],[51.268164,10.403125],[51.208789,10.431055],[51.035938,10.385156],[50.930078,10.335547],[50.898438,10.253125],[50.87373,9.92417],[50.832813,9.710498],[50.825,9.428174],[50.685156,9.241162],[50.637988,9.109277],[50.429785,8.845264],[50.321191,8.61958],[50.285742,8.509424],[50.102832,8.199805],[49.852051,7.962549],[49.76123,7.659521],[49.671191,7.469531],[49.57002,7.296973],[49.348535,6.990527],[49.234961,6.777344],[49.092676,6.407861],[49.049316,6.173633],[48.649023,5.494385],[48.233984,4.952686],[47.975293,4.497021],[47.511426,3.968262],[46.878809,3.285645],[46.051172,2.475146],[45.82627,2.309863],[44.920215,1.810156],[44.332715,1.390967],[44.032715,1.105908],[43.717578,0.857861],[43.467676,0.621631],[42.712109,-0.175684],[42.63418,-0.250781],[42.560742,-0.321484],[42.465625,-0.456543],[42.399414,-0.510059],[42.218945,-0.737988],[42.10625,-0.856152],[41.979883,-0.973047],[41.92627,-1.055566],[41.888281,-1.150586],[41.846191,-1.203418],[41.732227,-1.430078],[41.632031,-1.578516],[41.532715,-1.695312]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":5,"SOVEREIGNT":"Somaliland","SOV_A3":"SOL","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Somaliland","ADM0_A3":"SOL","GEOU_DIF":0,"GEOUNIT":"Somaliland","GU_A3":"SOL","SU_DIF":0,"SUBUNIT":"Somaliland","SU_A3":"SOL","BRK_DIFF":0,"NAME":"Somaliland","NAME_LONG":"Somaliland","BRK_A3":"SOL","BRK_NAME":"Somaliland","BRK_GROUP":null,"ABBREV":"Solnd.","POSTAL":"SL","FORMAL_EN":"Republic of Somaliland","FORMAL_FR":null,"NAME_CIAWF":null,"NOTE_ADM0":"Disputed","NOTE_BRK":"Self admin.; Claimed by Somalia","NAME_SORT":"Somaliland","NAME_ALT":null,"MAPCOLOR7":3,"MAPCOLOR8":6,"MAPCOLOR9":5,"MAPCOLOR13":2,"POP_EST":5096159,"POP_RANK":13,"POP_YEAR":2014,"GDP_MD":17836,"GDP_YEAR":2013,"ECONOMY":"6. Developing region","INCOME_GRP":"4. Lower middle income","FIPS_10":"-99","ISO_A2":"-99","ISO_A2_EH":"-99","ISO_A3":"-99","ISO_A3_EH":"-99","ISO_N3":"-99","ISO_N3_EH":"-99","UN_A3":"-099","WB_A2":"-99","WB_A3":"-99","WOE_ID":-99,"WOE_ID_EH":-99,"WOE_NOTE":"Includes old states of 2347021, 2347020, 2347017 and portion of 2347016.","ADM0_ISO":"SOM","ADM0_DIFF":"1","ADM0_TLC":"SOL","ADM0_A3_US":"SOM","ADM0_A3_FR":"SOM","ADM0_A3_RU":"SOM","ADM0_A3_ES":"SOM","ADM0_A3_CN":"SOM","ADM0_A3_TW":"SOL","ADM0_A3_IN":"SOM","ADM0_A3_NP":"SOM","ADM0_A3_PK":"SOM","ADM0_A3_DE":"SOM","ADM0_A3_GB":"SOM","ADM0_A3_BR":"SOM","ADM0_A3_IL":"SOM","ADM0_A3_PS":"SOM","ADM0_A3_SA":"SOM","ADM0_A3_EG":"SOM","ADM0_A3_MA":"SOM","ADM0_A3_PT":"SOM","ADM0_A3_AR":"SOM","ADM0_A3_JP":"SOM","ADM0_A3_KO":"SOM","ADM0_A3_VN":"SOM","ADM0_A3_TR":"SOM","ADM0_A3_ID":"SOM","ADM0_A3_PL":"SOM","ADM0_A3_GR":"SOM","ADM0_A3_IT":"SOM","ADM0_A3_NL":"SOM","ADM0_A3_SE":"SOM","ADM0_A3_BD":"SOM","ADM0_A3_UA":"SOM","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Africa","REGION_UN":"Africa","SUBREGION":"Eastern Africa","REGION_WB":"Sub-Saharan Africa","NAME_LEN":10,"LONG_LEN":10,"ABBREV_LEN":6,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":4,"MIN_LABEL":4.5,"MAX_LABEL":9,"LABEL_X":46.731595,"LABEL_Y":9.443889,"NE_ID":1159321259,"WIKIDATAID":"Q34754","NAME_AR":"صوماليلاند","NAME_BN":"সোমালিল্যান্ড","NAME_DE":"Somaliland","NAME_EN":"Somaliland","NAME_ES":"Somalilandia","NAME_FA":"سومالیلند","NAME_FR":"Somaliland","NAME_EL":"Σομαλιλάνδη","NAME_HE":"סומלילנד","NAME_HI":"सोमालीदेश","NAME_HU":"Szomáliföld","NAME_ID":"Somaliland","NAME_IT":"Somaliland","NAME_JA":"ソマリランド","NAME_KO":"소말릴란드","NAME_NL":"Somaliland","NAME_PL":"Somaliland","NAME_PT":"Somalilândia","NAME_RU":"Сомалиленд","NAME_SV":"Somaliland","NAME_TR":"Somaliland","NAME_UK":"Сомаліленд","NAME_UR":"صومالی لینڈ","NAME_VI":"Somaliland","NAME_ZH":"索马里兰","NAME_ZHT":"索馬利蘭","FCLASS_ISO":"Unrecognized","TLC_DIFF":"1","FCLASS_TLC":"Admin-0 country","FCLASS_US":"Unrecognized","FCLASS_FR":"Unrecognized","FCLASS_RU":"Unrecognized","FCLASS_ES":"Unrecognized","FCLASS_CN":"Unrecognized","FCLASS_TW":"Admin-0 country","FCLASS_IN":"Unrecognized","FCLASS_NP":"Unrecognized","FCLASS_PK":"Unrecognized","FCLASS_DE":"Unrecognized","FCLASS_GB":"Unrecognized","FCLASS_BR":"Unrecognized","FCLASS_IL":"Unrecognized","FCLASS_PS":"Unrecognized","FCLASS_SA":"Unrecognized","FCLASS_EG":"Unrecognized","FCLASS_MA":"Unrecognized","FCLASS_PT":"Unrecognized","FCLASS_AR":"Unrecognized","FCLASS_JP":"Unrecognized","FCLASS_KO":"Unrecognized","FCLASS_VN":"Unrecognized","FCLASS_TR":"Unrecognized","FCLASS_ID":"Unrecognized","FCLASS_PL":"Unrecognized","FCLASS_GR":"Unrecognized","FCLASS_IT":"Unrecognized","FCLASS_NL":"Unrecognized","FCLASS_SE":"Unrecognized","FCLASS_BD":"Unrecognized","FCLASS_UA":"Unrecognized"},"bbox":[42.656445,7.99707,48.938574,11.499805],"geometry":{"type":"Polygon","coordinates":[[[48.938574,11.258447],[48.938477,10.982324],[48.938477,10.714209],[48.938379,10.433252],[48.938281,9.973486],[48.938281,9.807617],[48.938086,9.564111],[48.938086,9.451758],[48.793555,9.232715],[48.616602,8.9646],[48.428613,8.67959],[48.272754,8.443359],[48.126758,8.222168],[47.978223,7.99707],[47.637695,7.99707],[47.305664,7.99707],[46.978223,7.99707],[46.919531,8.026123],[46.644727,8.118164],[46.295996,8.234961],[45.863281,8.379883],[45.555469,8.483008],[45.226953,8.59082],[44.893555,8.700195],[44.632031,8.786084],[44.30625,8.893066],[44.022852,8.986035],[43.983789,9.008838],[43.826758,9.150781],[43.620508,9.337402],[43.581055,9.340723],[43.48252,9.379492],[43.394336,9.480273],[43.303125,9.609082],[43.218457,9.770166],[43.181641,9.87998],[43.068945,9.926221],[43.014746,10.012598],[42.9125,10.14082],[42.841602,10.203076],[42.816406,10.257373],[42.783691,10.369629],[42.725195,10.491748],[42.669238,10.567578],[42.656445,10.6],[42.65957,10.621387],[42.763086,10.786914],[42.809766,10.845996],[42.862891,10.903223],[42.906152,10.960254],[42.922754,10.999316],[43.048633,11.194336],[43.159375,11.365723],[43.245996,11.499805],[43.441211,11.346436],[43.631152,11.035449],[43.852734,10.784277],[44.158203,10.550781],[44.279297,10.471875],[44.386523,10.430225],[44.942969,10.436719],[45.337695,10.649756],[45.695898,10.803906],[45.816699,10.835889],[46.024512,10.793701],[46.253906,10.781104],[46.460254,10.73418],[46.565039,10.745996],[46.973438,10.925391],[47.230078,11.099902],[47.40498,11.174023],[47.473828,11.174805],[47.7125,11.112012],[48.019238,11.139355],[48.438867,11.290137],[48.572559,11.320508],[48.674414,11.322656],[48.903125,11.254883],[48.938574,11.258447]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":4,"LABELRANK":3,"SOVEREIGNT":"Solomon Islands","SOV_A3":"SLB","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Solomon Islands","ADM0_A3":"SLB","GEOU_DIF":0,"GEOUNIT":"Solomon Islands","GU_A3":"SLB","SU_DIF":0,"SUBUNIT":"Solomon Islands","SU_A3":"SLB","BRK_DIFF":0,"NAME":"Solomon Is.","NAME_LONG":"Solomon Islands","BRK_A3":"SLB","BRK_NAME":"Solomon Is.","BRK_GROUP":null,"ABBREV":"S. Is.","POSTAL":"SB","FORMAL_EN":null,"FORMAL_FR":null,"NAME_CIAWF":"Solomon Islands","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Solomon Islands","NAME_ALT":null,"MAPCOLOR7":1,"MAPCOLOR8":4,"MAPCOLOR9":1,"MAPCOLOR13":6,"POP_EST":669823,"POP_RANK":11,"POP_YEAR":2019,"GDP_MD":1589,"GDP_YEAR":2019,"ECONOMY":"7. Least developed region","INCOME_GRP":"4. Lower middle income","FIPS_10":"BP","ISO_A2":"SB","ISO_A2_EH":"SB","ISO_A3":"SLB","ISO_A3_EH":"SLB","ISO_N3":"090","ISO_N3_EH":"090","UN_A3":"090","WB_A2":"SB","WB_A3":"SLB","WOE_ID":23424766,"WOE_ID_EH":23424766,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"SLB","ADM0_DIFF":null,"ADM0_TLC":"SLB","ADM0_A3_US":"SLB","ADM0_A3_FR":"SLB","ADM0_A3_RU":"SLB","ADM0_A3_ES":"SLB","ADM0_A3_CN":"SLB","ADM0_A3_TW":"SLB","ADM0_A3_IN":"SLB","ADM0_A3_NP":"SLB","ADM0_A3_PK":"SLB","ADM0_A3_DE":"SLB","ADM0_A3_GB":"SLB","ADM0_A3_BR":"SLB","ADM0_A3_IL":"SLB","ADM0_A3_PS":"SLB","ADM0_A3_SA":"SLB","ADM0_A3_EG":"SLB","ADM0_A3_MA":"SLB","ADM0_A3_PT":"SLB","ADM0_A3_AR":"SLB","ADM0_A3_JP":"SLB","ADM0_A3_KO":"SLB","ADM0_A3_VN":"SLB","ADM0_A3_TR":"SLB","ADM0_A3_ID":"SLB","ADM0_A3_PL":"SLB","ADM0_A3_GR":"SLB","ADM0_A3_IT":"SLB","ADM0_A3_NL":"SLB","ADM0_A3_SE":"SLB","ADM0_A3_BD":"SLB","ADM0_A3_UA":"SLB","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Oceania","REGION_UN":"Oceania","SUBREGION":"Melanesia","REGION_WB":"East Asia & Pacific","NAME_LEN":11,"LONG_LEN":15,"ABBREV_LEN":6,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":3,"MAX_LABEL":8,"LABEL_X":159.170468,"LABEL_Y":-8.029548,"NE_ID":1159321249,"WIKIDATAID":"Q685","NAME_AR":"جزر سليمان","NAME_BN":"সলোমন দ্বীপপুঞ্জ","NAME_DE":"Salomonen","NAME_EN":"Solomon Islands","NAME_ES":"Islas Salomón","NAME_FA":"جزایر سلیمان","NAME_FR":"Îles Salomon","NAME_EL":"Νησιά Σολομώντα","NAME_HE":"איי שלמה","NAME_HI":"सोलोमन द्वीपसमूह","NAME_HU":"Salamon-szigetek","NAME_ID":"Kepulauan Solomon","NAME_IT":"Isole Salomone","NAME_JA":"ソロモン諸島","NAME_KO":"솔로몬 제도","NAME_NL":"Salomonseilanden","NAME_PL":"Wyspy Salomona","NAME_PT":"Ilhas Salomão","NAME_RU":"Соломоновы Острова","NAME_SV":"Salomonöarna","NAME_TR":"Solomon Adaları","NAME_UK":"Соломонові Острови","NAME_UR":"جزائر سلیمان","NAME_VI":"Quần đảo Solomon","NAME_ZH":"所罗门群岛","NAME_ZHT":"索羅門群島","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[155.677539,-11.832227,166.929199,-6.608887],"geometry":{"type":"MultiPolygon","coordinates":[[[[159.687695,-8.50791],[159.640039,-8.521484],[159.569238,-8.484766],[159.538477,-8.451367],[159.553223,-8.399219],[159.594629,-8.379492],[159.641602,-8.414453],[159.646289,-8.450391],[159.687695,-8.50791]]],[[[166.929199,-11.665137],[166.84082,-11.681348],[166.805957,-11.677344],[166.747461,-11.59082],[166.790918,-11.571289],[166.855469,-11.578809],[166.875098,-11.629688],[166.929199,-11.665137]]],[[[166.133203,-10.757812],[166.05332,-10.775098],[166.02793,-10.770215],[165.968164,-10.779492],[165.904004,-10.851465],[165.856543,-10.841406],[165.819336,-10.844043],[165.791016,-10.784766],[165.79043,-10.756055],[165.835938,-10.760645],[165.859863,-10.703027],[165.90918,-10.674316],[166.023828,-10.661133],[166.125684,-10.679883],[166.162109,-10.693066],[166.129883,-10.745215],[166.133203,-10.757812]]],[[[160.57627,-11.797852],[160.506543,-11.832227],[160.443066,-11.814941],[160.394531,-11.788867],[160.355078,-11.711914],[160.270215,-11.663965],[160.149512,-11.643945],[160.1,-11.610742],[160.087109,-11.594336],[160.003516,-11.57959],[159.979297,-11.537988],[159.986328,-11.494727],[160,-11.471973],[160.077344,-11.492871],[160.44873,-11.695898],[160.537109,-11.758789],[160.57627,-11.797852]]],[[[161.547852,-9.625684],[161.558887,-9.732715],[161.553809,-9.769727],[161.47793,-9.691113],[161.44248,-9.718945],[161.409766,-9.681641],[161.412012,-9.600391],[161.416992,-9.51377],[161.402246,-9.448145],[161.36416,-9.353418],[161.406836,-9.368457],[161.547852,-9.625684]]],[[[159.188574,-9.123535],[159.175098,-9.125977],[159.128125,-9.11377],[159.071094,-9.109668],[159.036328,-9.075],[159.077637,-9.025391],[159.129785,-8.993066],[159.153711,-9.001367],[159.176074,-9.02207],[159.228418,-9.02998],[159.233984,-9.09375],[159.188574,-9.123535]]],[[[160.168164,-8.995508],[160.225684,-9.00957],[160.253516,-9.007324],[160.319336,-9.061133],[160.40752,-9.140332],[160.371484,-9.18125],[160.3,-9.160352],[160.275977,-9.168652],[160.268164,-9.163184],[160.253125,-9.123438],[160.175195,-9.084082],[160.105371,-9.080762],[160.096289,-9.033984],[160.168164,-8.995508]]],[[[157.763477,-8.242188],[157.82627,-8.324023],[157.898438,-8.506348],[157.885449,-8.569141],[157.833691,-8.572656],[157.819336,-8.612012],[157.749219,-8.523633],[157.655957,-8.499707],[157.587891,-8.44541],[157.564551,-8.337793],[157.558008,-8.269922],[157.504199,-8.258301],[157.351367,-8.275293],[157.302441,-8.333301],[157.232422,-8.314844],[157.217578,-8.262793],[157.228516,-8.211621],[157.321582,-8.16123],[157.340625,-8.096387],[157.433398,-7.984668],[157.490625,-7.965723],[157.598828,-8.005957],[157.612305,-8.164844],[157.65127,-8.216797],[157.763477,-8.242188]]],[[[158.200781,-8.821973],[158.178809,-8.825781],[158.155371,-8.785938],[158.209961,-8.678125],[158.236328,-8.764844],[158.253418,-8.797363],[158.200781,-8.821973]]],[[[158.10791,-8.68418],[158.009473,-8.763086],[157.937598,-8.736426],[157.879297,-8.66875],[157.898438,-8.587207],[157.909277,-8.565625],[157.938281,-8.560938],[157.966992,-8.544238],[157.998438,-8.508203],[158.105469,-8.536816],[158.132227,-8.556641],[158.068359,-8.606641],[158.089648,-8.622656],[158.103516,-8.646484],[158.10791,-8.68418]]],[[[157.388965,-8.713477],[157.389063,-8.728125],[157.333887,-8.7],[157.212305,-8.565039],[157.233789,-8.519922],[157.345117,-8.432422],[157.379492,-8.420898],[157.410938,-8.475098],[157.383496,-8.555078],[157.34707,-8.575488],[157.332227,-8.650684],[157.388965,-8.713477]]],[[[156.687891,-7.923047],[156.66875,-7.936816],[156.635352,-7.882812],[156.611035,-7.865918],[156.611719,-7.805762],[156.510938,-7.707813],[156.502441,-7.640234],[156.560938,-7.574023],[156.639648,-7.612598],[156.717676,-7.695703],[156.809082,-7.722852],[156.790234,-7.77793],[156.708008,-7.876953],[156.687891,-7.923047]]],[[[156.603906,-8.171582],[156.591699,-8.196289],[156.539648,-8.072949],[156.542285,-8.01084],[156.55127,-7.970996],[156.570312,-7.958789],[156.612402,-8.096191],[156.603906,-8.171582]]],[[[157.171875,-8.108105],[157.15,-8.123242],[157.041211,-8.11748],[156.958301,-8.014355],[156.958984,-7.937988],[157.024121,-7.867871],[157.102734,-7.855469],[157.145801,-7.882617],[157.186133,-7.941211],[157.200586,-8.015918],[157.191504,-8.081836],[157.171875,-8.108105]]],[[[155.839844,-7.097168],[155.739355,-7.121094],[155.677539,-7.088965],[155.70498,-7.012695],[155.738965,-6.972949],[155.864648,-7.043262],[155.839844,-7.097168]]],[[[157.64541,-8.758887],[157.643164,-8.794043],[157.58584,-8.783105],[157.45791,-8.730176],[157.453516,-8.705957],[157.526367,-8.69707],[157.579297,-8.703711],[157.623242,-8.73457],[157.64541,-8.758887]]],[[[159.750391,-9.272656],[159.970605,-9.433301],[160.065332,-9.418652],[160.35459,-9.421582],[160.525195,-9.53623],[160.625488,-9.588867],[160.681836,-9.691602],[160.751465,-9.715039],[160.794336,-9.767383],[160.818945,-9.862793],[160.80166,-9.87832],[160.713086,-9.913867],[160.649219,-9.928613],[160.481641,-9.894727],[160.321094,-9.821289],[160.002344,-9.812402],[159.853711,-9.791504],[159.802734,-9.763477],[159.755469,-9.726074],[159.680469,-9.636816],[159.621875,-9.532129],[159.612305,-9.470703],[159.607422,-9.353809],[159.625586,-9.31123],[159.686328,-9.268652],[159.750391,-9.272656]]],[[[159.879102,-8.534277],[159.880859,-8.557422],[159.746484,-8.473828],[159.644531,-8.37168],[159.354102,-8.260449],[159.291699,-8.203418],[159.239258,-8.196289],[159.090234,-8.10332],[158.944043,-8.040723],[158.85459,-7.959766],[158.831836,-7.92666],[158.778027,-7.906934],[158.68623,-7.818066],[158.596973,-7.759082],[158.56543,-7.651367],[158.478809,-7.577148],[158.457422,-7.544727],[158.734375,-7.604297],[158.862793,-7.722363],[158.972461,-7.78916],[159.010547,-7.837402],[159.109375,-7.903516],[159.198047,-7.90957],[159.286816,-7.976172],[159.367676,-7.994141],[159.431445,-8.029004],[159.843066,-8.326953],[159.793945,-8.406055],[159.848633,-8.463477],[159.879102,-8.534277]]],[[[157.486719,-7.330371],[157.518652,-7.365625],[157.441309,-7.425684],[157.339258,-7.393066],[157.317285,-7.359375],[157.314648,-7.341504],[157.243457,-7.353027],[157.101562,-7.323633],[156.904297,-7.180469],[156.695801,-6.910938],[156.494922,-6.761621],[156.457422,-6.715234],[156.452539,-6.638281],[156.479395,-6.608887],[156.604199,-6.641016],[156.76543,-6.764063],[157.030273,-6.891992],[157.102539,-6.957227],[157.148438,-7.11377],[157.193359,-7.160352],[157.336133,-7.280469],[157.411621,-7.308594],[157.451563,-7.313672],[157.486719,-7.330371]]],[[[160.749414,-8.313965],[160.997656,-8.612012],[160.987793,-8.664844],[160.954102,-8.698926],[160.944336,-8.799023],[160.975586,-8.8375],[161.043457,-8.855078],[161.158691,-8.961816],[161.204688,-9.09248],[161.208789,-9.132617],[161.256641,-9.191992],[161.258496,-9.316895],[161.367969,-9.490332],[161.377539,-9.57373],[161.367383,-9.61123],[161.321875,-9.589551],[161.191016,-9.392871],[161.041504,-9.308008],[161.024414,-9.271484],[160.873438,-9.156836],[160.77207,-8.963867],[160.662598,-8.620605],[160.714063,-8.539258],[160.59043,-8.372754],[160.596289,-8.328223],[160.648535,-8.338379],[160.684766,-8.336328],[160.702148,-8.316504],[160.749414,-8.313965]]],[[[161.715332,-10.387305],[161.841113,-10.446094],[161.914355,-10.436426],[162.022852,-10.476855],[162.105371,-10.453809],[162.156836,-10.506055],[162.287207,-10.709961],[162.287988,-10.776172],[162.37334,-10.823242],[162.30127,-10.832129],[162.20127,-10.807813],[162.123633,-10.824414],[162.042676,-10.784863],[161.905859,-10.764355],[161.786816,-10.716895],[161.537891,-10.566406],[161.539258,-10.491309],[161.499121,-10.45459],[161.487012,-10.361426],[161.397949,-10.331934],[161.293945,-10.326465],[161.285547,-10.282422],[161.304785,-10.204395],[161.382324,-10.205566],[161.475684,-10.237988],[161.653809,-10.351855],[161.697949,-10.371289],[161.715332,-10.387305]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":6,"SOVEREIGNT":"Slovakia","SOV_A3":"SVK","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Slovakia","ADM0_A3":"SVK","GEOU_DIF":0,"GEOUNIT":"Slovakia","GU_A3":"SVK","SU_DIF":0,"SUBUNIT":"Slovakia","SU_A3":"SVK","BRK_DIFF":0,"NAME":"Slovakia","NAME_LONG":"Slovakia","BRK_A3":"SVK","BRK_NAME":"Slovakia","BRK_GROUP":null,"ABBREV":"Svk.","POSTAL":"SK","FORMAL_EN":"Slovak Republic","FORMAL_FR":null,"NAME_CIAWF":"Slovakia","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Slovak Republic","NAME_ALT":null,"MAPCOLOR7":2,"MAPCOLOR8":4,"MAPCOLOR9":4,"MAPCOLOR13":9,"POP_EST":5454073,"POP_RANK":13,"POP_YEAR":2019,"GDP_MD":105079,"GDP_YEAR":2019,"ECONOMY":"2. Developed region: nonG7","INCOME_GRP":"1. High income: OECD","FIPS_10":"LO","ISO_A2":"SK","ISO_A2_EH":"SK","ISO_A3":"SVK","ISO_A3_EH":"SVK","ISO_N3":"703","ISO_N3_EH":"703","UN_A3":"703","WB_A2":"SK","WB_A3":"SVK","WOE_ID":23424877,"WOE_ID_EH":23424877,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"SVK","ADM0_DIFF":null,"ADM0_TLC":"SVK","ADM0_A3_US":"SVK","ADM0_A3_FR":"SVK","ADM0_A3_RU":"SVK","ADM0_A3_ES":"SVK","ADM0_A3_CN":"SVK","ADM0_A3_TW":"SVK","ADM0_A3_IN":"SVK","ADM0_A3_NP":"SVK","ADM0_A3_PK":"SVK","ADM0_A3_DE":"SVK","ADM0_A3_GB":"SVK","ADM0_A3_BR":"SVK","ADM0_A3_IL":"SVK","ADM0_A3_PS":"SVK","ADM0_A3_SA":"SVK","ADM0_A3_EG":"SVK","ADM0_A3_MA":"SVK","ADM0_A3_PT":"SVK","ADM0_A3_AR":"SVK","ADM0_A3_JP":"SVK","ADM0_A3_KO":"SVK","ADM0_A3_VN":"SVK","ADM0_A3_TR":"SVK","ADM0_A3_ID":"SVK","ADM0_A3_PL":"SVK","ADM0_A3_GR":"SVK","ADM0_A3_IT":"SVK","ADM0_A3_NL":"SVK","ADM0_A3_SE":"SVK","ADM0_A3_BD":"SVK","ADM0_A3_UA":"SVK","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Europe","REGION_UN":"Europe","SUBREGION":"Eastern Europe","REGION_WB":"Europe & Central Asia","NAME_LEN":8,"LONG_LEN":8,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":4,"MAX_LABEL":9,"LABEL_X":19.049868,"LABEL_Y":48.734044,"NE_ID":1159321283,"WIKIDATAID":"Q214","NAME_AR":"سلوفاكيا","NAME_BN":"স্লোভাকিয়া","NAME_DE":"Slowakei","NAME_EN":"Slovakia","NAME_ES":"Eslovaquia","NAME_FA":"اسلواکی","NAME_FR":"Slovaquie","NAME_EL":"Σλοβακία","NAME_HE":"סלובקיה","NAME_HI":"स्लोवाकिया","NAME_HU":"Szlovákia","NAME_ID":"Slowakia","NAME_IT":"Slovacchia","NAME_JA":"スロバキア","NAME_KO":"슬로바키아","NAME_NL":"Slowakije","NAME_PL":"Słowacja","NAME_PT":"Eslováquia","NAME_RU":"Словакия","NAME_SV":"Slovakien","NAME_TR":"Slovakya","NAME_UK":"Словаччина","NAME_UR":"سلوواکیہ","NAME_VI":"Slovakia","NAME_ZH":"斯洛伐克","NAME_ZHT":"斯洛伐克","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[16.862695,47.763428,22.538672,49.597705],"geometry":{"type":"Polygon","coordinates":[[[22.538672,49.072705],[22.524121,49.031396],[22.483203,48.983252],[22.432031,48.933545],[22.389453,48.873486],[22.332617,48.745068],[22.295215,48.68584],[22.142871,48.568506],[22.131836,48.405322],[22.111328,48.393359],[21.766992,48.338086],[21.721484,48.346582],[21.674609,48.378369],[21.648633,48.401465],[21.63252,48.418506],[21.602637,48.463672],[21.563184,48.495703],[21.504688,48.521875],[21.451367,48.552246],[21.382422,48.553467],[21.196387,48.510596],[21.067285,48.505908],[20.981152,48.519678],[20.866602,48.545654],[20.643164,48.549707],[20.490039,48.526904],[20.475,48.495117],[20.333789,48.295557],[20.128613,48.222021],[19.950391,48.146631],[19.898633,48.131348],[19.810059,48.155029],[19.70918,48.199805],[19.625391,48.223096],[19.564258,48.212842],[19.497461,48.162109],[19.466992,48.110693],[19.265137,48.073047],[18.91416,48.05083],[18.791895,48.000293],[18.750098,47.939453],[18.74834,47.892676],[18.778027,47.852881],[18.740625,47.806494],[18.724219,47.787158],[18.47627,47.777002],[18.145605,47.763428],[17.947949,47.766895],[17.761914,47.770166],[17.635254,47.809912],[17.480664,47.887598],[17.317285,47.990918],[17.301563,47.993359],[17.277246,48.004346],[17.174609,48.012061],[17.147363,48.005957],[17.085938,48.039551],[17.067871,48.083252],[16.972656,48.198096],[16.86543,48.386914],[16.862695,48.441406],[16.904492,48.503516],[16.943359,48.550928],[16.948828,48.588574],[16.953125,48.598828],[16.985254,48.676904],[17.063281,48.780762],[17.135645,48.841064],[17.188477,48.860937],[17.296875,48.842822],[17.482617,48.827783],[17.625391,48.841846],[17.758496,48.888135],[17.830859,48.928613],[17.892676,48.971143],[17.913281,48.99873],[17.940723,49.011963],[18.050879,49.036523],[18.085938,49.065137],[18.100391,49.119336],[18.109961,49.179785],[18.132617,49.224561],[18.160938,49.257373],[18.364844,49.33623],[18.383105,49.363916],[18.41582,49.390918],[18.476074,49.421094],[18.53457,49.464697],[18.596484,49.491455],[18.676172,49.488477],[18.749707,49.493994],[18.807031,49.509229],[18.832227,49.510791],[18.938184,49.498291],[18.957227,49.448291],[18.968359,49.39624],[19.149414,49.4],[19.250195,49.511426],[19.302344,49.524854],[19.38623,49.563623],[19.441602,49.597705],[19.479688,49.576367],[19.534766,49.504785],[19.593066,49.447119],[19.62666,49.424365],[19.630273,49.406641],[19.66416,49.396045],[19.730078,49.3896],[19.773926,49.372168],[19.787012,49.318555],[19.787988,49.269971],[19.767383,49.235205],[19.756641,49.204395],[19.802246,49.192334],[19.868945,49.204004],[19.916113,49.221387],[20.057617,49.181299],[20.107617,49.270752],[20.163672,49.316406],[20.236523,49.337646],[20.302539,49.365527],[20.362988,49.385254],[20.404688,49.384082],[20.422656,49.392334],[20.474512,49.390186],[20.53457,49.381201],[20.616113,49.391699],[20.729004,49.369922],[20.799512,49.328662],[20.868457,49.314697],[20.947266,49.31709],[21.001172,49.339844],[21.079395,49.418262],[21.136133,49.417041],[21.225,49.429443],[21.350488,49.42876],[21.639648,49.411963],[21.712109,49.381934],[21.890137,49.343457],[21.967676,49.299072],[22.002148,49.246094],[22.020117,49.209521],[22.202539,49.153223],[22.473047,49.081299],[22.538672,49.072705]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":6,"SOVEREIGNT":"Slovenia","SOV_A3":"SVN","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Slovenia","ADM0_A3":"SVN","GEOU_DIF":0,"GEOUNIT":"Slovenia","GU_A3":"SVN","SU_DIF":0,"SUBUNIT":"Slovenia","SU_A3":"SVN","BRK_DIFF":0,"NAME":"Slovenia","NAME_LONG":"Slovenia","BRK_A3":"SVN","BRK_NAME":"Slovenia","BRK_GROUP":null,"ABBREV":"Slo.","POSTAL":"SLO","FORMAL_EN":"Republic of Slovenia","FORMAL_FR":null,"NAME_CIAWF":"Slovenia","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Slovenia","NAME_ALT":null,"MAPCOLOR7":2,"MAPCOLOR8":3,"MAPCOLOR9":2,"MAPCOLOR13":12,"POP_EST":2087946,"POP_RANK":12,"POP_YEAR":2019,"GDP_MD":54174,"GDP_YEAR":2019,"ECONOMY":"2. Developed region: nonG7","INCOME_GRP":"1. High income: OECD","FIPS_10":"SI","ISO_A2":"SI","ISO_A2_EH":"SI","ISO_A3":"SVN","ISO_A3_EH":"SVN","ISO_N3":"705","ISO_N3_EH":"705","UN_A3":"705","WB_A2":"SI","WB_A3":"SVN","WOE_ID":23424945,"WOE_ID_EH":23424945,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"SVN","ADM0_DIFF":null,"ADM0_TLC":"SVN","ADM0_A3_US":"SVN","ADM0_A3_FR":"SVN","ADM0_A3_RU":"SVN","ADM0_A3_ES":"SVN","ADM0_A3_CN":"SVN","ADM0_A3_TW":"SVN","ADM0_A3_IN":"SVN","ADM0_A3_NP":"SVN","ADM0_A3_PK":"SVN","ADM0_A3_DE":"SVN","ADM0_A3_GB":"SVN","ADM0_A3_BR":"SVN","ADM0_A3_IL":"SVN","ADM0_A3_PS":"SVN","ADM0_A3_SA":"SVN","ADM0_A3_EG":"SVN","ADM0_A3_MA":"SVN","ADM0_A3_PT":"SVN","ADM0_A3_AR":"SVN","ADM0_A3_JP":"SVN","ADM0_A3_KO":"SVN","ADM0_A3_VN":"SVN","ADM0_A3_TR":"SVN","ADM0_A3_ID":"SVN","ADM0_A3_PL":"SVN","ADM0_A3_GR":"SVN","ADM0_A3_IT":"SVN","ADM0_A3_NL":"SVN","ADM0_A3_SE":"SVN","ADM0_A3_BD":"SVN","ADM0_A3_UA":"SVN","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Europe","REGION_UN":"Europe","SUBREGION":"Southern Europe","REGION_WB":"Europe & Central Asia","NAME_LEN":8,"LONG_LEN":8,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":5,"MAX_LABEL":10,"LABEL_X":14.915312,"LABEL_Y":46.06076,"NE_ID":1159321285,"WIKIDATAID":"Q215","NAME_AR":"سلوفينيا","NAME_BN":"স্লোভেনিয়া","NAME_DE":"Slowenien","NAME_EN":"Slovenia","NAME_ES":"Eslovenia","NAME_FA":"اسلوونی","NAME_FR":"Slovénie","NAME_EL":"Σλοβενία","NAME_HE":"סלובניה","NAME_HI":"स्लोवेनिया","NAME_HU":"Szlovénia","NAME_ID":"Slovenia","NAME_IT":"Slovenia","NAME_JA":"スロベニア","NAME_KO":"슬로베니아","NAME_NL":"Slovenië","NAME_PL":"Słowenia","NAME_PT":"Eslovénia","NAME_RU":"Словения","NAME_SV":"Slovenien","NAME_TR":"Slovenya","NAME_UK":"Словенія","NAME_UR":"سلووینیا","NAME_VI":"Slovenia","NAME_ZH":"斯洛文尼亚","NAME_ZHT":"斯洛維尼亞","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[13.378223,45.428369,16.516211,46.863281],"geometry":{"type":"Polygon","coordinates":[[[16.516211,46.499902],[16.427637,46.524414],[16.321191,46.534619],[16.301172,46.521387],[16.258398,46.50791],[16.236719,46.483838],[16.25332,46.389111],[16.227441,46.372852],[16.106445,46.382227],[16.066504,46.371338],[16.000684,46.305371],[15.933301,46.277637],[15.847559,46.257861],[15.784277,46.233984],[15.704199,46.213232],[15.635938,46.200732],[15.608984,46.171924],[15.592578,46.13999],[15.596875,46.109229],[15.666211,46.048486],[15.675586,45.983691],[15.668066,45.904443],[15.652148,45.862158],[15.624805,45.834033],[15.454102,45.797607],[15.277051,45.732617],[15.272949,45.717725],[15.353711,45.659912],[15.356934,45.645508],[15.290137,45.612646],[15.283594,45.579687],[15.291211,45.541553],[15.32666,45.502295],[15.339453,45.467041],[15.24209,45.441406],[15.110449,45.450781],[14.95459,45.499902],[14.9,45.492676],[14.84707,45.467334],[14.793066,45.478223],[14.733594,45.508496],[14.649512,45.571484],[14.608594,45.610107],[14.591797,45.65127],[14.568848,45.657227],[14.533984,45.645264],[14.505176,45.595215],[14.427344,45.505762],[14.369922,45.481445],[14.283008,45.486621],[14.16123,45.485156],[14.085547,45.477832],[13.992773,45.509424],[13.970313,45.503369],[13.970117,45.482617],[13.935645,45.449805],[13.878711,45.428369],[13.615234,45.476758],[13.57793,45.516895],[13.637305,45.535937],[13.719824,45.587598],[13.775977,45.581982],[13.844727,45.592871],[13.874707,45.614844],[13.831152,45.68042],[13.72168,45.761279],[13.663477,45.791992],[13.583398,45.812354],[13.569629,45.834131],[13.613965,45.96167],[13.600586,45.979785],[13.50918,45.973779],[13.487695,45.987109],[13.480273,46.009229],[13.486426,46.039551],[13.548047,46.089111],[13.616602,46.133105],[13.634961,46.157764],[13.63252,46.177051],[13.544727,46.196582],[13.491797,46.216602],[13.449805,46.223535],[13.420996,46.212305],[13.399609,46.224951],[13.378223,46.261621],[13.399512,46.317529],[13.478516,46.369189],[13.563281,46.415088],[13.637109,46.448535],[13.679688,46.462891],[13.7,46.520264],[13.743945,46.514307],[13.831348,46.51123],[13.928809,46.498193],[14.019629,46.482178],[14.099512,46.461914],[14.267285,46.440723],[14.419922,46.42793],[14.465918,46.416113],[14.503516,46.417041],[14.549805,46.399707],[14.577148,46.412939],[14.596973,46.436084],[14.680176,46.463428],[14.756738,46.499121],[14.810547,46.54458],[14.840625,46.580469],[14.893262,46.605908],[14.949414,46.613232],[15.000684,46.625977],[15.216992,46.642969],[15.439258,46.629639],[15.545313,46.654639],[15.632617,46.698437],[15.760254,46.710742],[15.766895,46.711279],[15.957617,46.677637],[15.972266,46.697217],[15.980469,46.705859],[15.976855,46.801367],[16.037207,46.844824],[16.093066,46.863281],[16.283594,46.857275],[16.308496,46.827979],[16.318457,46.78252],[16.335449,46.721631],[16.367188,46.704785],[16.38457,46.680811],[16.38125,46.638672],[16.418457,46.607227],[16.505664,46.52207],[16.516211,46.499902]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":3,"LABELRANK":6,"SOVEREIGNT":"Singapore","SOV_A3":"SGP","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Singapore","ADM0_A3":"SGP","GEOU_DIF":0,"GEOUNIT":"Singapore","GU_A3":"SGP","SU_DIF":0,"SUBUNIT":"Singapore","SU_A3":"SGP","BRK_DIFF":0,"NAME":"Singapore","NAME_LONG":"Singapore","BRK_A3":"SGP","BRK_NAME":"Singapore","BRK_GROUP":null,"ABBREV":"Sing.","POSTAL":"SG","FORMAL_EN":"Republic of Singapore","FORMAL_FR":null,"NAME_CIAWF":"Singapore","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Singapore","NAME_ALT":null,"MAPCOLOR7":5,"MAPCOLOR8":3,"MAPCOLOR9":7,"MAPCOLOR13":3,"POP_EST":5703569,"POP_RANK":13,"POP_YEAR":2019,"GDP_MD":372062,"GDP_YEAR":2019,"ECONOMY":"6. Developing region","INCOME_GRP":"2. High income: nonOECD","FIPS_10":"SN","ISO_A2":"SG","ISO_A2_EH":"SG","ISO_A3":"SGP","ISO_A3_EH":"SGP","ISO_N3":"702","ISO_N3_EH":"702","UN_A3":"702","WB_A2":"SG","WB_A3":"SGP","WOE_ID":23424948,"WOE_ID_EH":23424948,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"SGP","ADM0_DIFF":null,"ADM0_TLC":"SGP","ADM0_A3_US":"SGP","ADM0_A3_FR":"SGP","ADM0_A3_RU":"SGP","ADM0_A3_ES":"SGP","ADM0_A3_CN":"SGP","ADM0_A3_TW":"SGP","ADM0_A3_IN":"SGP","ADM0_A3_NP":"SGP","ADM0_A3_PK":"SGP","ADM0_A3_DE":"SGP","ADM0_A3_GB":"SGP","ADM0_A3_BR":"SGP","ADM0_A3_IL":"SGP","ADM0_A3_PS":"SGP","ADM0_A3_SA":"SGP","ADM0_A3_EG":"SGP","ADM0_A3_MA":"SGP","ADM0_A3_PT":"SGP","ADM0_A3_AR":"SGP","ADM0_A3_JP":"SGP","ADM0_A3_KO":"SGP","ADM0_A3_VN":"SGP","ADM0_A3_TR":"SGP","ADM0_A3_ID":"SGP","ADM0_A3_PL":"SGP","ADM0_A3_GR":"SGP","ADM0_A3_IT":"SGP","ADM0_A3_NL":"SGP","ADM0_A3_SE":"SGP","ADM0_A3_BD":"SGP","ADM0_A3_UA":"SGP","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Asia","REGION_UN":"Asia","SUBREGION":"South-Eastern Asia","REGION_WB":"East Asia & Pacific","NAME_LEN":9,"LONG_LEN":9,"ABBREV_LEN":5,"TINY":3,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":4,"MAX_LABEL":9,"LABEL_X":103.816925,"LABEL_Y":1.366587,"NE_ID":1159321247,"WIKIDATAID":"Q334","NAME_AR":"سنغافورة","NAME_BN":"সিঙ্গাপুর","NAME_DE":"Singapur","NAME_EN":"Singapore","NAME_ES":"Singapur","NAME_FA":"سنگاپور","NAME_FR":"Singapour","NAME_EL":"Σιγκαπούρη","NAME_HE":"סינגפור","NAME_HI":"सिंगापुर","NAME_HU":"Szingapúr","NAME_ID":"Singapura","NAME_IT":"Singapore","NAME_JA":"シンガポール","NAME_KO":"싱가포르","NAME_NL":"Singapore","NAME_PL":"Singapur","NAME_PT":"Singapura","NAME_RU":"Сингапур","NAME_SV":"Singapore","NAME_TR":"Singapur","NAME_UK":"Сінгапур","NAME_UR":"سنگاپور","NAME_VI":"Singapore","NAME_ZH":"新加坡","NAME_ZHT":"新加坡","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[103.650195,1.265381,103.996387,1.44707],"geometry":{"type":"Polygon","coordinates":[[[103.969727,1.331445],[103.819922,1.265381],[103.650195,1.325537],[103.705273,1.423437],[103.817969,1.44707],[103.908984,1.415967],[103.96084,1.392236],[103.996387,1.365234],[103.969727,1.331445]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":4,"SOVEREIGNT":"Sierra Leone","SOV_A3":"SLE","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Sierra Leone","ADM0_A3":"SLE","GEOU_DIF":0,"GEOUNIT":"Sierra Leone","GU_A3":"SLE","SU_DIF":0,"SUBUNIT":"Sierra Leone","SU_A3":"SLE","BRK_DIFF":0,"NAME":"Sierra Leone","NAME_LONG":"Sierra Leone","BRK_A3":"SLE","BRK_NAME":"Sierra Leone","BRK_GROUP":null,"ABBREV":"S.L.","POSTAL":"SL","FORMAL_EN":"Republic of Sierra Leone","FORMAL_FR":null,"NAME_CIAWF":"Sierra Leone","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Sierra Leone","NAME_ALT":null,"MAPCOLOR7":1,"MAPCOLOR8":4,"MAPCOLOR9":1,"MAPCOLOR13":7,"POP_EST":7813215,"POP_RANK":13,"POP_YEAR":2019,"GDP_MD":4121,"GDP_YEAR":2019,"ECONOMY":"7. Least developed region","INCOME_GRP":"5. Low income","FIPS_10":"SL","ISO_A2":"SL","ISO_A2_EH":"SL","ISO_A3":"SLE","ISO_A3_EH":"SLE","ISO_N3":"694","ISO_N3_EH":"694","UN_A3":"694","WB_A2":"SL","WB_A3":"SLE","WOE_ID":23424946,"WOE_ID_EH":23424946,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"SLE","ADM0_DIFF":null,"ADM0_TLC":"SLE","ADM0_A3_US":"SLE","ADM0_A3_FR":"SLE","ADM0_A3_RU":"SLE","ADM0_A3_ES":"SLE","ADM0_A3_CN":"SLE","ADM0_A3_TW":"SLE","ADM0_A3_IN":"SLE","ADM0_A3_NP":"SLE","ADM0_A3_PK":"SLE","ADM0_A3_DE":"SLE","ADM0_A3_GB":"SLE","ADM0_A3_BR":"SLE","ADM0_A3_IL":"SLE","ADM0_A3_PS":"SLE","ADM0_A3_SA":"SLE","ADM0_A3_EG":"SLE","ADM0_A3_MA":"SLE","ADM0_A3_PT":"SLE","ADM0_A3_AR":"SLE","ADM0_A3_JP":"SLE","ADM0_A3_KO":"SLE","ADM0_A3_VN":"SLE","ADM0_A3_TR":"SLE","ADM0_A3_ID":"SLE","ADM0_A3_PL":"SLE","ADM0_A3_GR":"SLE","ADM0_A3_IT":"SLE","ADM0_A3_NL":"SLE","ADM0_A3_SE":"SLE","ADM0_A3_BD":"SLE","ADM0_A3_UA":"SLE","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Africa","REGION_UN":"Africa","SUBREGION":"Western Africa","REGION_WB":"Sub-Saharan Africa","NAME_LEN":12,"LONG_LEN":12,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":4,"MAX_LABEL":9,"LABEL_X":-11.763677,"LABEL_Y":8.617449,"NE_ID":1159321251,"WIKIDATAID":"Q1044","NAME_AR":"سيراليون","NAME_BN":"সিয়েরা লিওন","NAME_DE":"Sierra Leone","NAME_EN":"Sierra Leone","NAME_ES":"Sierra Leona","NAME_FA":"سیرالئون","NAME_FR":"Sierra Leone","NAME_EL":"Σιέρα Λεόνε","NAME_HE":"סיירה לאון","NAME_HI":"सिएरा लियोन","NAME_HU":"Sierra Leone","NAME_ID":"Sierra Leone","NAME_IT":"Sierra Leone","NAME_JA":"シエラレオネ","NAME_KO":"시에라리온","NAME_NL":"Sierra Leone","NAME_PL":"Sierra Leone","NAME_PT":"Serra Leoa","NAME_RU":"Сьерра-Леоне","NAME_SV":"Sierra Leone","NAME_TR":"Sierra Leone","NAME_UK":"Сьєрра-Леоне","NAME_UR":"سیرالیون","NAME_VI":"Sierra Leone","NAME_ZH":"塞拉利昂","NAME_ZHT":"獅子山","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[-13.292676,6.906543,-10.283203,9.996533],"geometry":{"type":"MultiPolygon","coordinates":[[[[-10.283203,8.485156],[-10.285742,8.454102],[-10.314648,8.31084],[-10.359814,8.187939],[-10.389551,8.157617],[-10.516748,8.125293],[-10.57085,8.071143],[-10.617578,7.896436],[-10.647461,7.759375],[-10.691309,7.736426],[-10.878076,7.538232],[-11.000244,7.463037],[-11.0854,7.398584],[-11.166113,7.314404],[-11.267676,7.232617],[-11.37666,7.094678],[-11.454541,6.951221],[-11.50752,6.906543],[-11.54751,6.946973],[-11.733447,7.088574],[-11.929199,7.183545],[-12.346631,7.341797],[-12.485645,7.386279],[-12.480664,7.44248],[-12.432715,7.54502],[-12.510449,7.665723],[-12.480273,7.753271],[-12.510449,7.753369],[-12.570215,7.700586],[-12.697607,7.715869],[-12.781934,7.791113],[-12.850879,7.818701],[-12.880957,7.856641],[-12.925146,8.055176],[-12.956934,8.145312],[-13.020801,8.200928],[-13.148975,8.2146],[-13.201758,8.33584],[-13.272754,8.429736],[-13.26123,8.487598],[-13.20332,8.484277],[-13.157959,8.442285],[-13.08501,8.424756],[-12.994238,8.526465],[-12.912939,8.581543],[-12.894092,8.629785],[-12.904004,8.65625],[-12.953369,8.615137],[-13.088232,8.625732],[-13.121631,8.58877],[-13.181836,8.576904],[-13.228418,8.695898],[-13.226172,8.765967],[-13.206934,8.843115],[-13.071045,8.856348],[-13.059473,8.881152],[-13.153711,8.897705],[-13.271631,8.987402],[-13.292676,9.049219],[-13.234229,9.070117],[-13.178369,9.060889],[-13.129883,9.047559],[-13.077295,9.069629],[-13.028027,9.103564],[-12.998633,9.146924],[-12.958789,9.26333],[-12.831104,9.302246],[-12.755859,9.373584],[-12.684424,9.48418],[-12.65166,9.561914],[-12.622168,9.600635],[-12.603613,9.634229],[-12.589844,9.671143],[-12.557861,9.70498],[-12.524365,9.787207],[-12.501465,9.862158],[-12.427979,9.898145],[-12.277734,9.929785],[-12.142334,9.875391],[-11.922754,9.922754],[-11.911084,9.993018],[-11.710059,9.994189],[-11.471924,9.995459],[-11.273633,9.996533],[-11.205664,9.977734],[-11.180859,9.925342],[-11.115674,9.843164],[-11.047461,9.786328],[-10.963086,9.661621],[-10.864795,9.516455],[-10.758594,9.385352],[-10.690527,9.314258],[-10.682715,9.289355],[-10.687646,9.261133],[-10.72124,9.194482],[-10.749951,9.122363],[-10.747021,9.095264],[-10.726855,9.081689],[-10.615967,9.05918],[-10.605762,8.978809],[-10.605615,8.867578],[-10.551758,8.76377],[-10.500537,8.687549],[-10.503125,8.660303],[-10.628467,8.52998],[-10.677344,8.400586],[-10.702148,8.364209],[-10.712109,8.335254],[-10.686963,8.32168],[-10.652637,8.330273],[-10.604004,8.319482],[-10.557715,8.315674],[-10.496436,8.362109],[-10.394434,8.480957],[-10.360059,8.495508],[-10.283203,8.485156]]],[[[-12.526074,7.436328],[-12.540625,7.410254],[-12.607178,7.474512],[-12.951611,7.57085],[-12.854395,7.622021],[-12.615234,7.637207],[-12.544189,7.607373],[-12.5125,7.582422],[-12.500635,7.535107],[-12.526074,7.436328]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":6,"SOVEREIGNT":"Seychelles","SOV_A3":"SYC","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Seychelles","ADM0_A3":"SYC","GEOU_DIF":0,"GEOUNIT":"Seychelles","GU_A3":"SYC","SU_DIF":0,"SUBUNIT":"Seychelles","SU_A3":"SYC","BRK_DIFF":0,"NAME":"Seychelles","NAME_LONG":"Seychelles","BRK_A3":"SYC","BRK_NAME":"Seychelles","BRK_GROUP":null,"ABBREV":"Syc.","POSTAL":"SC","FORMAL_EN":"Republic of Seychelles","FORMAL_FR":null,"NAME_CIAWF":"Seychelles","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Seychelles","NAME_ALT":null,"MAPCOLOR7":5,"MAPCOLOR8":8,"MAPCOLOR9":3,"MAPCOLOR13":1,"POP_EST":97625,"POP_RANK":8,"POP_YEAR":2019,"GDP_MD":1703,"GDP_YEAR":2019,"ECONOMY":"6. Developing region","INCOME_GRP":"3. Upper middle income","FIPS_10":"SE","ISO_A2":"SC","ISO_A2_EH":"SC","ISO_A3":"SYC","ISO_A3_EH":"SYC","ISO_N3":"690","ISO_N3_EH":"690","UN_A3":"690","WB_A2":"SC","WB_A3":"SYC","WOE_ID":23424941,"WOE_ID_EH":23424941,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"SYC","ADM0_DIFF":null,"ADM0_TLC":"SYC","ADM0_A3_US":"SYC","ADM0_A3_FR":"SYC","ADM0_A3_RU":"SYC","ADM0_A3_ES":"SYC","ADM0_A3_CN":"SYC","ADM0_A3_TW":"SYC","ADM0_A3_IN":"SYC","ADM0_A3_NP":"SYC","ADM0_A3_PK":"SYC","ADM0_A3_DE":"SYC","ADM0_A3_GB":"SYC","ADM0_A3_BR":"SYC","ADM0_A3_IL":"SYC","ADM0_A3_PS":"SYC","ADM0_A3_SA":"SYC","ADM0_A3_EG":"SYC","ADM0_A3_MA":"SYC","ADM0_A3_PT":"SYC","ADM0_A3_AR":"SYC","ADM0_A3_JP":"SYC","ADM0_A3_KO":"SYC","ADM0_A3_VN":"SYC","ADM0_A3_TR":"SYC","ADM0_A3_ID":"SYC","ADM0_A3_PL":"SYC","ADM0_A3_GR":"SYC","ADM0_A3_IT":"SYC","ADM0_A3_NL":"SYC","ADM0_A3_SE":"SYC","ADM0_A3_BD":"SYC","ADM0_A3_UA":"SYC","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Seven seas (open ocean)","REGION_UN":"Africa","SUBREGION":"Eastern Africa","REGION_WB":"Sub-Saharan Africa","NAME_LEN":10,"LONG_LEN":10,"ABBREV_LEN":4,"TINY":2,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":5,"MAX_LABEL":10,"LABEL_X":55.480175,"LABEL_Y":-4.676659,"NE_ID":1159321291,"WIKIDATAID":"Q1042","NAME_AR":"سيشل","NAME_BN":"সেশেলস","NAME_DE":"Seychellen","NAME_EN":"Seychelles","NAME_ES":"Seychelles","NAME_FA":"سیشل","NAME_FR":"Seychelles","NAME_EL":"Σεϋχέλλες","NAME_HE":"סיישל","NAME_HI":"सेशेल्स","NAME_HU":"Seychelle-szigetek","NAME_ID":"Seychelles","NAME_IT":"Seychelles","NAME_JA":"セーシェル","NAME_KO":"세이셸","NAME_NL":"Seychellen","NAME_PL":"Seszele","NAME_PT":"Seychelles","NAME_RU":"Сейшельские Острова","NAME_SV":"Seychellerna","NAME_TR":"Seyşeller","NAME_UK":"Сейшельські Острови","NAME_UR":"سیشیلز","NAME_VI":"Seychelles","NAME_ZH":"塞舌尔","NAME_ZHT":"塞席爾","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[55.383398,-4.785547,55.542969,-4.558789],"geometry":{"type":"Polygon","coordinates":[[[55.540332,-4.693066],[55.542969,-4.785547],[55.494727,-4.75459],[55.48125,-4.694824],[55.416797,-4.650293],[55.383398,-4.609277],[55.455762,-4.558789],[55.540332,-4.693066]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":5,"SOVEREIGNT":"Republic of Serbia","SOV_A3":"SRB","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Republic of Serbia","ADM0_A3":"SRB","GEOU_DIF":0,"GEOUNIT":"Republic of Serbia","GU_A3":"SRB","SU_DIF":0,"SUBUNIT":"Republic of Serbia","SU_A3":"SRB","BRK_DIFF":0,"NAME":"Serbia","NAME_LONG":"Serbia","BRK_A3":"SRB","BRK_NAME":"Serbia","BRK_GROUP":null,"ABBREV":"Serb.","POSTAL":"RS","FORMAL_EN":"Republic of Serbia","FORMAL_FR":null,"NAME_CIAWF":"Serbia","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Serbia","NAME_ALT":null,"MAPCOLOR7":3,"MAPCOLOR8":3,"MAPCOLOR9":2,"MAPCOLOR13":10,"POP_EST":6944975,"POP_RANK":13,"POP_YEAR":2019,"GDP_MD":51475,"GDP_YEAR":2019,"ECONOMY":"6. Developing region","INCOME_GRP":"3. Upper middle income","FIPS_10":"RI","ISO_A2":"RS","ISO_A2_EH":"RS","ISO_A3":"SRB","ISO_A3_EH":"SRB","ISO_N3":"688","ISO_N3_EH":"688","UN_A3":"688","WB_A2":"YF","WB_A3":"SRB","WOE_ID":-90,"WOE_ID_EH":20069818,"WOE_NOTE":"Expired WOE also contains Kosovo.","ADM0_ISO":"SRB","ADM0_DIFF":null,"ADM0_TLC":"SRB","ADM0_A3_US":"SRB","ADM0_A3_FR":"SRB","ADM0_A3_RU":"SRB","ADM0_A3_ES":"SRB","ADM0_A3_CN":"SRB","ADM0_A3_TW":"SRB","ADM0_A3_IN":"SRB","ADM0_A3_NP":"SRB","ADM0_A3_PK":"SRB","ADM0_A3_DE":"SRB","ADM0_A3_GB":"SRB","ADM0_A3_BR":"SRB","ADM0_A3_IL":"SRB","ADM0_A3_PS":"SRB","ADM0_A3_SA":"SRB","ADM0_A3_EG":"SRB","ADM0_A3_MA":"SRB","ADM0_A3_PT":"SRB","ADM0_A3_AR":"SRB","ADM0_A3_JP":"SRB","ADM0_A3_KO":"SRB","ADM0_A3_VN":"SRB","ADM0_A3_TR":"SRB","ADM0_A3_ID":"SRB","ADM0_A3_PL":"SRB","ADM0_A3_GR":"SRB","ADM0_A3_IT":"SRB","ADM0_A3_NL":"SRB","ADM0_A3_SE":"SRB","ADM0_A3_BD":"SRB","ADM0_A3_UA":"SRB","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Europe","REGION_UN":"Europe","SUBREGION":"Southern Europe","REGION_WB":"Europe & Central Asia","NAME_LEN":6,"LONG_LEN":6,"ABBREV_LEN":5,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":4,"MAX_LABEL":7,"LABEL_X":20.787989,"LABEL_Y":44.189919,"NE_ID":1159321267,"WIKIDATAID":"Q403","NAME_AR":"صربيا","NAME_BN":"সার্বিয়া","NAME_DE":"Serbien","NAME_EN":"Serbia","NAME_ES":"Serbia","NAME_FA":"صربستان","NAME_FR":"Serbie","NAME_EL":"Σερβία","NAME_HE":"סרביה","NAME_HI":"सर्बिया","NAME_HU":"Szerbia","NAME_ID":"Serbia","NAME_IT":"Serbia","NAME_JA":"セルビア","NAME_KO":"세르비아","NAME_NL":"Servië","NAME_PL":"Serbia","NAME_PT":"Sérvia","NAME_RU":"Сербия","NAME_SV":"Serbien","NAME_TR":"Sırbistan","NAME_UK":"Сербія","NAME_UR":"سربیا","NAME_VI":"Serbia","NAME_ZH":"塞尔维亚","NAME_ZHT":"塞爾維亞","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[18.839063,42.242139,22.976855,46.169189],"geometry":{"type":"Polygon","coordinates":[[[21.360059,44.82666],[21.523145,44.790088],[21.59707,44.75542],[21.636133,44.710449],[21.740234,44.680664],[21.909277,44.666113],[22.026953,44.619873],[22.093066,44.541943],[22.200977,44.560693],[22.350684,44.676123],[22.497656,44.70625],[22.64209,44.650977],[22.720898,44.605518],[22.734375,44.569922],[22.700781,44.555518],[22.620117,44.562354],[22.554004,44.540332],[22.502344,44.4896],[22.494531,44.435449],[22.530664,44.377979],[22.581836,44.33833],[22.647949,44.316455],[22.683301,44.286475],[22.687891,44.248291],[22.705078,44.237793],[22.66748,44.220215],[22.626563,44.194092],[22.603418,44.148584],[22.597461,44.075293],[22.469043,44.018018],[22.420801,44.007422],[22.399023,43.969531],[22.36543,43.862109],[22.369629,43.781299],[22.386914,43.740137],[22.394824,43.706641],[22.436328,43.665479],[22.474121,43.602246],[22.499121,43.518848],[22.55459,43.454492],[22.696973,43.391064],[22.767578,43.35415],[22.819727,43.300732],[22.85957,43.252344],[22.976855,43.187988],[22.967969,43.142041],[22.942285,43.09707],[22.915234,43.075977],[22.856836,43.018262],[22.799902,42.985742],[22.706152,42.883936],[22.558105,42.878467],[22.522754,42.870312],[22.466797,42.84248],[22.439258,42.79165],[22.465625,42.750781],[22.463281,42.709473],[22.43623,42.629102],[22.47207,42.543311],[22.524219,42.503906],[22.532422,42.481201],[22.523535,42.440967],[22.445703,42.359131],[22.42207,42.328857],[22.344043,42.313965],[22.317383,42.321729],[22.277051,42.349854],[22.239746,42.358154],[22.14668,42.325],[22.052051,42.304639],[21.977539,42.320068],[21.904102,42.32207],[21.853027,42.308398],[21.814648,42.303125],[21.739258,42.267725],[21.618262,42.242139],[21.5625,42.24751],[21.541602,42.280811],[21.518945,42.328418],[21.52998,42.35],[21.609863,42.387451],[21.619043,42.423242],[21.730664,42.595459],[21.752148,42.651514],[21.75293,42.669824],[21.723828,42.681982],[21.6625,42.681494],[21.390625,42.751416],[21.403027,42.831543],[21.323145,42.874707],[21.237109,42.913232],[21.222656,42.956201],[21.127051,43.043018],[21.057031,43.091699],[20.967676,43.116016],[20.890723,43.15166],[20.844434,43.173437],[20.823828,43.213965],[20.823828,43.237939],[20.800586,43.261084],[20.763379,43.258594],[20.700586,43.226367],[20.623145,43.198633],[20.609668,43.178418],[20.637598,43.130371],[20.657617,43.099854],[20.648535,43.070947],[20.624023,43.03418],[20.475098,42.953027],[20.458398,42.924561],[20.486816,42.879053],[20.468848,42.85791],[20.344336,42.82793],[20.347656,42.852783],[20.339941,42.892871],[20.268457,42.935449],[20.167871,42.968506],[19.944043,43.081641],[19.858008,43.096533],[19.781152,43.109766],[19.670996,43.163965],[19.614453,43.173437],[19.551563,43.212256],[19.414648,43.342822],[19.298242,43.413965],[19.21875,43.449951],[19.196484,43.48501],[19.191602,43.521045],[19.194336,43.533301],[19.254492,43.584375],[19.300781,43.591797],[19.360352,43.593457],[19.399609,43.567578],[19.45127,43.562061],[19.47998,43.595166],[19.495117,43.642871],[19.488184,43.703564],[19.364063,43.844775],[19.257227,43.943311],[19.24502,43.965039],[19.268066,43.983447],[19.305273,43.993359],[19.345215,43.985107],[19.449414,43.978027],[19.549512,43.987109],[19.583691,44.011084],[19.583789,44.043457],[19.547168,44.073486],[19.430176,44.154492],[19.338867,44.22583],[19.231543,44.280566],[19.151855,44.302539],[19.12832,44.330273],[19.118457,44.359961],[19.127344,44.414551],[19.132422,44.483789],[19.151367,44.527344],[19.223145,44.60957],[19.291895,44.696777],[19.334473,44.780664],[19.356836,44.858545],[19.348633,44.880908],[19.312695,44.897461],[19.236816,44.914258],[19.131543,44.899609],[19.04209,44.871338],[19.007129,44.869189],[18.995508,44.904004],[19.00957,44.919385],[19.037598,44.917529],[19.060547,44.910986],[19.085254,44.926758],[19.1,44.973779],[19.062891,45.137207],[19.129688,45.151709],[19.130762,45.175488],[19.136914,45.19624],[19.205957,45.167773],[19.303027,45.167285],[19.388086,45.172998],[19.400977,45.189062],[19.4,45.2125],[19.382324,45.230615],[19.352246,45.24541],[19.330273,45.268066],[19.272852,45.277979],[19.093066,45.336914],[19.004688,45.399512],[19.007617,45.46582],[19.033301,45.502197],[19.064258,45.51499],[19.055078,45.527246],[18.953711,45.558008],[18.917871,45.60083],[18.947266,45.655811],[18.894531,45.76709],[18.839063,45.835742],[18.893555,45.865527],[18.901074,45.907617],[18.905371,45.931738],[18.927832,45.931396],[19.015723,45.959717],[19.047656,45.982666],[19.066211,46.009521],[19.087305,46.016162],[19.146289,45.987012],[19.208398,45.984424],[19.278125,46.002881],[19.330273,46.028516],[19.392871,46.049805],[19.421289,46.064453],[19.45752,46.087354],[19.530762,46.155176],[19.613477,46.169189],[19.724512,46.151904],[19.844434,46.145898],[19.934082,46.161475],[20.161426,46.141895],[20.210156,46.126025],[20.241797,46.108594],[20.301367,46.050684],[20.358594,45.975488],[20.437988,45.940771],[20.532617,45.899512],[20.581152,45.869482],[20.652734,45.779395],[20.709277,45.735254],[20.727832,45.737402],[20.746875,45.748975],[20.760156,45.758105],[20.775,45.749805],[20.775781,45.72251],[20.779297,45.662012],[20.76582,45.597461],[20.786035,45.536475],[20.786523,45.51748],[20.772461,45.500098],[20.774219,45.484424],[20.794043,45.467871],[20.870801,45.427539],[20.941797,45.365332],[21.023828,45.321533],[21.099902,45.293555],[21.147852,45.291748],[21.226465,45.241309],[21.381738,45.205078],[21.431445,45.192529],[21.46543,45.171875],[21.490234,45.1479],[21.491797,45.122266],[21.467871,45.109863],[21.434473,45.075146],[21.420703,45.032959],[21.395898,45.022217],[21.371094,45.021387],[21.35293,45.008984],[21.357031,44.990771],[21.377734,44.973437],[21.409961,44.957715],[21.471973,44.941992],[21.533203,44.918848],[21.532324,44.900684],[21.519922,44.880811],[21.442188,44.873389],[21.384375,44.870068],[21.35791,44.861816],[21.360059,44.82666]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":3,"SOVEREIGNT":"Senegal","SOV_A3":"SEN","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Senegal","ADM0_A3":"SEN","GEOU_DIF":0,"GEOUNIT":"Senegal","GU_A3":"SEN","SU_DIF":0,"SUBUNIT":"Senegal","SU_A3":"SEN","BRK_DIFF":0,"NAME":"Senegal","NAME_LONG":"Senegal","BRK_A3":"SEN","BRK_NAME":"Senegal","BRK_GROUP":null,"ABBREV":"Sen.","POSTAL":"SN","FORMAL_EN":"Republic of Senegal","FORMAL_FR":null,"NAME_CIAWF":"Senegal","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Senegal","NAME_ALT":null,"MAPCOLOR7":2,"MAPCOLOR8":6,"MAPCOLOR9":5,"MAPCOLOR13":5,"POP_EST":16296364,"POP_RANK":14,"POP_YEAR":2019,"GDP_MD":23578,"GDP_YEAR":2019,"ECONOMY":"7. Least developed region","INCOME_GRP":"4. Lower middle income","FIPS_10":"SG","ISO_A2":"SN","ISO_A2_EH":"SN","ISO_A3":"SEN","ISO_A3_EH":"SEN","ISO_N3":"686","ISO_N3_EH":"686","UN_A3":"686","WB_A2":"SN","WB_A3":"SEN","WOE_ID":23424943,"WOE_ID_EH":23424943,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"SEN","ADM0_DIFF":null,"ADM0_TLC":"SEN","ADM0_A3_US":"SEN","ADM0_A3_FR":"SEN","ADM0_A3_RU":"SEN","ADM0_A3_ES":"SEN","ADM0_A3_CN":"SEN","ADM0_A3_TW":"SEN","ADM0_A3_IN":"SEN","ADM0_A3_NP":"SEN","ADM0_A3_PK":"SEN","ADM0_A3_DE":"SEN","ADM0_A3_GB":"SEN","ADM0_A3_BR":"SEN","ADM0_A3_IL":"SEN","ADM0_A3_PS":"SEN","ADM0_A3_SA":"SEN","ADM0_A3_EG":"SEN","ADM0_A3_MA":"SEN","ADM0_A3_PT":"SEN","ADM0_A3_AR":"SEN","ADM0_A3_JP":"SEN","ADM0_A3_KO":"SEN","ADM0_A3_VN":"SEN","ADM0_A3_TR":"SEN","ADM0_A3_ID":"SEN","ADM0_A3_PL":"SEN","ADM0_A3_GR":"SEN","ADM0_A3_IT":"SEN","ADM0_A3_NL":"SEN","ADM0_A3_SE":"SEN","ADM0_A3_BD":"SEN","ADM0_A3_UA":"SEN","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Africa","REGION_UN":"Africa","SUBREGION":"Western Africa","REGION_WB":"Sub-Saharan Africa","NAME_LEN":7,"LONG_LEN":7,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":2.7,"MAX_LABEL":8,"LABEL_X":-14.778586,"LABEL_Y":15.138125,"NE_ID":1159321243,"WIKIDATAID":"Q1041","NAME_AR":"السنغال","NAME_BN":"সেনেগাল","NAME_DE":"Senegal","NAME_EN":"Senegal","NAME_ES":"Senegal","NAME_FA":"سنگال","NAME_FR":"Sénégal","NAME_EL":"Σενεγάλη","NAME_HE":"סנגל","NAME_HI":"सेनेगल","NAME_HU":"Szenegál","NAME_ID":"Senegal","NAME_IT":"Senegal","NAME_JA":"セネガル","NAME_KO":"세네갈","NAME_NL":"Senegal","NAME_PL":"Senegal","NAME_PT":"Senegal","NAME_RU":"Сенегал","NAME_SV":"Senegal","NAME_TR":"Senegal","NAME_UK":"Сенегал","NAME_UR":"سینیگال","NAME_VI":"Sénégal","NAME_ZH":"塞内加尔","NAME_ZHT":"塞內加爾","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[-17.535645,12.328027,-11.382422,16.678906],"geometry":{"type":"Polygon","coordinates":[[[-12.280615,14.809033],[-12.186523,14.648145],[-12.206836,14.571143],[-12.228418,14.458594],[-12.175244,14.37666],[-12.112891,14.323291],[-12.068359,14.274219],[-12.019189,14.206494],[-12.011182,14.071826],[-12.020117,13.974658],[-11.988086,13.930762],[-11.960889,13.875293],[-11.966357,13.828955],[-11.98418,13.788086],[-12.044141,13.733887],[-12.054199,13.633057],[-11.95708,13.510889],[-11.89458,13.444434],[-11.895215,13.406299],[-11.877783,13.364551],[-11.831689,13.31582],[-11.803369,13.327295],[-11.772217,13.36709],[-11.758252,13.394531],[-11.674463,13.382373],[-11.634961,13.369873],[-11.581348,13.290039],[-11.56167,13.236963],[-11.548779,13.170264],[-11.492822,13.086963],[-11.444141,13.028223],[-11.433936,12.991602],[-11.390381,12.941992],[-11.417432,12.831885],[-11.414355,12.775488],[-11.444092,12.627588],[-11.450586,12.557715],[-11.448779,12.531934],[-11.382422,12.479248],[-11.389404,12.404395],[-11.456738,12.417578],[-11.573682,12.426318],[-11.808105,12.387305],[-11.888574,12.40332],[-12.042383,12.398047],[-12.151953,12.376611],[-12.291211,12.328027],[-12.399072,12.340088],[-12.457373,12.378369],[-12.534229,12.375781],[-12.620801,12.396191],[-12.713037,12.433154],[-12.797314,12.451904],[-12.888184,12.52002],[-12.930713,12.532275],[-12.960547,12.514355],[-12.985645,12.49165],[-13.011914,12.477637],[-13.061279,12.48999],[-13.079834,12.536279],[-13.064404,12.581055],[-13.059766,12.615039],[-13.08291,12.633545],[-13.138477,12.639746],[-13.228076,12.6396],[-13.372559,12.653613],[-13.405762,12.662256],[-13.729248,12.673926],[-14.064844,12.675293],[-14.349219,12.676416],[-14.708154,12.677979],[-14.960596,12.678955],[-15.196094,12.679932],[-15.37793,12.588965],[-15.574805,12.490381],[-15.839551,12.437891],[-16.144189,12.457422],[-16.241504,12.443311],[-16.342285,12.399512],[-16.416309,12.367676],[-16.521338,12.348633],[-16.656934,12.364355],[-16.711816,12.354834],[-16.74585,12.399707],[-16.784863,12.47251],[-16.760303,12.525781],[-16.677637,12.560059],[-16.553223,12.604883],[-16.488086,12.581836],[-16.449951,12.580713],[-16.442871,12.609473],[-16.455029,12.624805],[-16.548828,12.663818],[-16.597656,12.715283],[-16.637842,12.685156],[-16.672559,12.622021],[-16.701416,12.603174],[-16.743896,12.585449],[-16.767969,12.628418],[-16.778418,12.670166],[-16.758984,12.702344],[-16.768945,12.883301],[-16.757373,12.979785],[-16.76333,13.06416],[-16.704541,13.119727],[-16.648779,13.15415],[-16.430859,13.157324],[-16.22832,13.160303],[-16.033057,13.15835],[-15.834277,13.156445],[-15.814404,13.325146],[-15.751562,13.338379],[-15.657324,13.355811],[-15.481836,13.376367],[-15.28623,13.395996],[-15.244531,13.429102],[-15.212109,13.485059],[-15.191602,13.535254],[-15.151123,13.556494],[-15.096387,13.539648],[-15.024609,13.51333],[-14.950293,13.472607],[-14.865039,13.434863],[-14.808252,13.411133],[-14.671924,13.351709],[-14.438574,13.268896],[-14.246777,13.23584],[-14.014893,13.296387],[-13.84751,13.335303],[-13.826709,13.407812],[-13.852832,13.478564],[-13.977393,13.543457],[-14.146973,13.536133],[-14.199023,13.51875],[-14.278027,13.497168],[-14.325537,13.488574],[-14.405469,13.503711],[-14.506982,13.559717],[-14.57085,13.616162],[-14.660156,13.642627],[-14.766016,13.669092],[-14.935791,13.785205],[-15.024463,13.806006],[-15.10835,13.812109],[-15.269531,13.789111],[-15.426855,13.727002],[-15.509668,13.58623],[-15.667187,13.588281],[-16.001611,13.592773],[-16.30874,13.596875],[-16.562305,13.587305],[-16.587793,13.689551],[-16.647852,13.770996],[-16.74541,13.84043],[-16.766943,13.904932],[-16.733887,13.961182],[-16.6396,14.007471],[-16.618115,14.040527],[-16.66748,14.035596],[-16.742139,14.005811],[-16.791748,14.00415],[-16.797754,14.093262],[-16.880518,14.20835],[-16.973828,14.403223],[-17.079395,14.483057],[-17.168066,14.640625],[-17.260645,14.701074],[-17.345801,14.729297],[-17.418457,14.723486],[-17.44502,14.651611],[-17.535645,14.755127],[-17.411816,14.792187],[-17.147168,14.922021],[-16.843408,15.293994],[-16.570752,15.734424],[-16.535254,15.838379],[-16.502051,15.917334],[-16.480078,16.097217],[-16.441016,16.204541],[-16.404346,16.224902],[-16.358105,16.307178],[-16.302295,16.451318],[-16.239014,16.531299],[-16.168359,16.54707],[-16.113281,16.540137],[-16.074023,16.510449],[-15.958984,16.492139],[-15.768213,16.485107],[-15.620801,16.506592],[-15.516699,16.556592],[-15.37998,16.581982],[-15.210547,16.582617],[-15.121436,16.603613],[-15.112646,16.644922],[-15.090576,16.657373],[-15.055225,16.640967],[-15.021924,16.647461],[-14.990625,16.676904],[-14.959521,16.678906],[-14.928613,16.653516],[-14.786719,16.645898],[-14.53374,16.655957],[-14.300098,16.580273],[-14.085645,16.418848],[-13.975049,16.311133],[-13.968164,16.257227],[-13.932617,16.202881],[-13.868457,16.148145],[-13.809814,16.138037],[-13.756641,16.17251],[-13.714941,16.168799],[-13.684668,16.126904],[-13.623535,16.118311],[-13.555518,16.144043],[-13.506982,16.135205],[-13.498145,16.110303],[-13.486963,16.097021],[-13.454102,16.091113],[-13.409668,16.05918],[-13.347559,15.973486],[-13.297021,15.853857],[-13.258008,15.700391],[-13.206445,15.616895],[-13.142383,15.60332],[-13.105273,15.571777],[-13.0979,15.535254],[-13.079297,15.510449],[-13.048535,15.496631],[-12.994336,15.504883],[-12.930859,15.453027],[-12.862695,15.34043],[-12.851904,15.289648],[-12.862646,15.262402],[-12.858496,15.242529],[-12.813184,15.223535],[-12.770312,15.18667],[-12.735254,15.13125],[-12.659619,15.08208],[-12.543555,15.039014],[-12.459863,14.974658],[-12.408691,14.889014],[-12.302539,14.816992],[-12.280615,14.809033]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":4,"LABELRANK":2,"SOVEREIGNT":"Saudi Arabia","SOV_A3":"SAU","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Saudi Arabia","ADM0_A3":"SAU","GEOU_DIF":0,"GEOUNIT":"Saudi Arabia","GU_A3":"SAU","SU_DIF":0,"SUBUNIT":"Saudi Arabia","SU_A3":"SAU","BRK_DIFF":0,"NAME":"Saudi Arabia","NAME_LONG":"Saudi Arabia","BRK_A3":"SAU","BRK_NAME":"Saudi Arabia","BRK_GROUP":null,"ABBREV":"Saud.","POSTAL":"SA","FORMAL_EN":"Kingdom of Saudi Arabia","FORMAL_FR":null,"NAME_CIAWF":"Saudi Arabia","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Saudi Arabia","NAME_ALT":null,"MAPCOLOR7":6,"MAPCOLOR8":1,"MAPCOLOR9":6,"MAPCOLOR13":7,"POP_EST":34268528,"POP_RANK":15,"POP_YEAR":2019,"GDP_MD":792966,"GDP_YEAR":2019,"ECONOMY":"2. Developed region: nonG7","INCOME_GRP":"2. High income: nonOECD","FIPS_10":"SA","ISO_A2":"SA","ISO_A2_EH":"SA","ISO_A3":"SAU","ISO_A3_EH":"SAU","ISO_N3":"682","ISO_N3_EH":"682","UN_A3":"682","WB_A2":"SA","WB_A3":"SAU","WOE_ID":23424938,"WOE_ID_EH":23424938,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"SAU","ADM0_DIFF":null,"ADM0_TLC":"SAU","ADM0_A3_US":"SAU","ADM0_A3_FR":"SAU","ADM0_A3_RU":"SAU","ADM0_A3_ES":"SAU","ADM0_A3_CN":"SAU","ADM0_A3_TW":"SAU","ADM0_A3_IN":"SAU","ADM0_A3_NP":"SAU","ADM0_A3_PK":"SAU","ADM0_A3_DE":"SAU","ADM0_A3_GB":"SAU","ADM0_A3_BR":"SAU","ADM0_A3_IL":"SAU","ADM0_A3_PS":"SAU","ADM0_A3_SA":"SAU","ADM0_A3_EG":"SAU","ADM0_A3_MA":"SAU","ADM0_A3_PT":"SAU","ADM0_A3_AR":"SAU","ADM0_A3_JP":"SAU","ADM0_A3_KO":"SAU","ADM0_A3_VN":"SAU","ADM0_A3_TR":"SAU","ADM0_A3_ID":"SAU","ADM0_A3_PL":"SAU","ADM0_A3_GR":"SAU","ADM0_A3_IT":"SAU","ADM0_A3_NL":"SAU","ADM0_A3_SE":"SAU","ADM0_A3_BD":"SAU","ADM0_A3_UA":"SAU","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Asia","REGION_UN":"Asia","SUBREGION":"Western Asia","REGION_WB":"Middle East & North Africa","NAME_LEN":12,"LONG_LEN":12,"ABBREV_LEN":5,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":1.7,"MAX_LABEL":7,"LABEL_X":44.6996,"LABEL_Y":23.806908,"NE_ID":1159321225,"WIKIDATAID":"Q851","NAME_AR":"السعودية","NAME_BN":"সৌদি আরব","NAME_DE":"Saudi-Arabien","NAME_EN":"Saudi Arabia","NAME_ES":"Arabia Saudita","NAME_FA":"عربستان سعودی","NAME_FR":"Arabie saoudite","NAME_EL":"Σαουδική Αραβία","NAME_HE":"ערב הסעודית","NAME_HI":"सउदी अरब","NAME_HU":"Szaúd-Arábia","NAME_ID":"Arab Saudi","NAME_IT":"Arabia Saudita","NAME_JA":"サウジアラビア","NAME_KO":"사우디아라비아","NAME_NL":"Saoedi-Arabië","NAME_PL":"Arabia Saudyjska","NAME_PT":"Arábia Saudita","NAME_RU":"Саудовская Аравия","NAME_SV":"Saudiarabien","NAME_TR":"Suudi Arabistan","NAME_UK":"Саудівська Аравія","NAME_UR":"سعودی عرب","NAME_VI":"Ả Rập Saudi","NAME_ZH":"沙特阿拉伯","NAME_ZHT":"沙烏地阿拉伯","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[34.616211,16.371777,55.641016,32.124512],"geometry":{"type":"MultiPolygon","coordinates":[[[[36.90166,25.383057],[36.875195,25.383057],[36.805078,25.450732],[36.763867,25.500586],[36.72207,25.534033],[36.530273,25.601562],[36.504297,25.645117],[36.533594,25.688721],[36.554102,25.645361],[36.58877,25.619824],[36.747559,25.55874],[36.924414,25.425537],[36.954785,25.414648],[36.90166,25.383057]]],[[[41.987695,16.715625],[42.065039,16.710059],[42.033203,16.741943],[42.026367,16.757666],[42.059961,16.803516],[42.17041,16.708643],[42.167188,16.596387],[42.157813,16.570703],[42.127734,16.594824],[42.108398,16.618457],[42.102344,16.643945],[42.071777,16.671484],[41.96416,16.653467],[41.897266,16.684277],[41.801563,16.77876],[41.776074,16.846875],[41.816113,16.860156],[41.858203,16.89292],[41.884961,16.946826],[41.860449,17.002539],[41.917285,16.993652],[41.947949,16.936426],[41.953906,16.80625],[41.9625,16.778662],[41.94668,16.748926],[41.987695,16.715625]]],[[[51.977637,18.996143],[51.742969,18.964551],[51.514941,18.933887],[51.258398,18.899365],[50.95,18.857861],[50.708203,18.825293],[50.355273,18.777783],[50.038965,18.735254],[49.74209,18.695312],[49.445117,18.655322],[49.192383,18.621338],[49.041992,18.581787],[48.864844,18.495215],[48.592969,18.362402],[48.31582,18.227051],[48.172168,18.156934],[48.02168,17.976953],[47.945508,17.88584],[47.807813,17.721094],[47.703711,17.596826],[47.57959,17.44834],[47.525391,17.316113],[47.441797,17.111865],[47.369629,17.0604],[47.25127,16.993945],[47.143555,16.94668],[46.975684,16.953467],[46.87998,17.079004],[46.778516,17.212109],[46.727637,17.265576],[46.682031,17.268555],[46.513477,17.25166],[46.310352,17.231299],[46.070801,17.253174],[45.794434,17.278418],[45.535352,17.302051],[45.406543,17.319775],[45.236621,17.406201],[45.192773,17.423389],[45.148047,17.427441],[44.946484,17.42959],[44.746777,17.431689],[44.546484,17.404346],[44.354688,17.414355],[44.155957,17.398535],[44.085938,17.365527],[44.008203,17.36748],[43.959668,17.33833],[43.916992,17.324707],[43.866406,17.349609],[43.804297,17.344141],[43.712988,17.365527],[43.653418,17.421875],[43.597266,17.471436],[43.539258,17.49873],[43.474219,17.515918],[43.417969,17.51626],[43.346094,17.486035],[43.302148,17.456787],[43.190918,17.359375],[43.186328,17.324707],[43.236914,17.266455],[43.221387,17.239258],[43.155957,17.205029],[43.135938,17.112988],[43.126172,17.062451],[43.116504,16.941992],[43.145605,16.846777],[43.184473,16.811816],[43.186328,16.770996],[43.165039,16.689404],[43.104785,16.66416],[43.060742,16.586621],[43.033594,16.550391],[42.986328,16.509082],[42.799316,16.371777],[42.789844,16.451562],[42.730664,16.569824],[42.726367,16.65332],[42.698828,16.736963],[42.647461,16.801367],[42.55293,16.868457],[42.544141,16.959668],[42.475,17.049854],[42.383301,17.122461],[42.332422,17.256641],[42.293945,17.434961],[42.052246,17.669336],[41.75,17.885742],[41.658008,18.007666],[41.507617,18.256104],[41.431738,18.452441],[41.229492,18.678418],[41.220801,18.765234],[41.19082,18.871191],[41.144141,18.989063],[41.116016,19.082178],[40.913281,19.490137],[40.847852,19.555273],[40.791602,19.646387],[40.777051,19.716895],[40.75918,19.755469],[40.615918,19.822363],[40.482227,19.993457],[40.080664,20.265918],[39.884082,20.292969],[39.72832,20.390332],[39.613672,20.517676],[39.491211,20.737012],[39.276074,20.973975],[39.093555,21.310352],[39.150684,21.432764],[39.14707,21.518994],[39.091016,21.663965],[39.029785,21.775977],[38.987891,21.881738],[39.021191,22.033447],[39.033984,22.203369],[39.069922,22.293652],[39.095898,22.392773],[39.062012,22.592187],[39.001367,22.698975],[39.007422,22.770068],[38.93877,22.804785],[38.88291,22.882031],[38.941113,22.881836],[38.835547,22.989063],[38.796875,23.048584],[38.757031,23.194287],[38.706055,23.305518],[38.542285,23.55791],[38.46416,23.711865],[38.288867,23.910986],[38.098633,24.058008],[37.977832,24.124561],[37.919727,24.1854],[37.820996,24.1875],[37.713379,24.274414],[37.638184,24.277734],[37.543066,24.29165],[37.430957,24.459033],[37.338477,24.61582],[37.180859,24.82002],[37.22041,24.87334],[37.266309,24.960059],[37.243457,25.073437],[37.218359,25.150684],[37.148828,25.291113],[36.920703,25.641162],[36.860156,25.69248],[36.762695,25.751318],[36.702539,25.902881],[36.675195,26.038867],[36.51875,26.104883],[36.249609,26.594775],[36.09375,26.76582],[36.032031,26.881006],[35.85166,27.070459],[35.762988,27.258789],[35.581348,27.432471],[35.423828,27.733789],[35.180469,28.034863],[35.07832,28.087012],[34.827539,28.108594],[34.72207,28.130664],[34.625,28.064502],[34.616211,28.14834],[34.683301,28.264111],[34.779883,28.507324],[34.799121,28.720508],[34.950781,29.353516],[35.16377,29.320947],[35.33916,29.294092],[35.595313,29.254883],[35.860352,29.214258],[36.01543,29.190479],[36.068457,29.200537],[36.282813,29.355371],[36.476074,29.495117],[36.591797,29.666113],[36.703906,29.831641],[36.755273,29.866016],[36.927051,29.89707],[37.199414,29.946289],[37.469238,29.995068],[37.490723,30.011719],[37.553613,30.14458],[37.633594,30.313281],[37.649902,30.330957],[37.669727,30.348145],[37.862891,30.442627],[37.980078,30.5],[37.812988,30.669287],[37.655469,30.828955],[37.479004,31.007764],[37.329492,31.146826],[37.105273,31.355176],[36.958594,31.491504],[37.215625,31.556104],[37.493359,31.625879],[37.773828,31.696338],[38.111426,31.781152],[38.375488,31.847461],[38.769629,31.946484],[38.962305,31.994922],[38.99707,32.007471],[39.14541,32.124512],[39.368652,32.091748],[39.704102,32.042529],[40.027832,31.99502],[40.369336,31.938965],[40.478906,31.893359],[40.808398,31.725439],[41.022461,31.616357],[41.272461,31.489014],[41.585059,31.329736],[41.799707,31.220361],[42.074414,31.080371],[42.288574,30.92041],[42.559766,30.717773],[42.857715,30.495215],[43.103125,30.322217],[43.44082,30.083984],[43.77373,29.849219],[44.099609,29.619336],[44.360742,29.435254],[44.69082,29.202344],[44.716504,29.193604],[45.050293,29.16709],[45.498926,29.131543],[45.949707,29.09585],[46.356445,29.063672],[46.531445,29.09624],[46.724805,29.074609],[46.982227,29.045654],[47.13877,29.026172],[47.433203,28.989551],[47.521289,28.837842],[47.553223,28.731543],[47.583105,28.627979],[47.671289,28.533154],[47.871973,28.535449],[48.049609,28.5375],[48.26875,28.540527],[48.44248,28.54292],[48.498535,28.448877],[48.523047,28.355029],[48.626367,28.132568],[48.77373,27.959082],[48.808984,27.895898],[48.832813,27.800684],[48.807227,27.765283],[48.797168,27.724316],[48.906445,27.629053],[49.086914,27.548584],[49.15752,27.528223],[49.2375,27.492725],[49.175098,27.437646],[49.281543,27.310498],[49.405273,27.180957],[49.537695,27.151758],[49.716504,26.955859],[49.986133,26.828906],[50.149805,26.662646],[50.134668,26.659521],[50.086621,26.676416],[50.026367,26.699219],[50.008105,26.678516],[50.011328,26.608789],[50.027344,26.526855],[50.110742,26.455957],[50.184961,26.404932],[50.213867,26.308496],[50.155469,26.100537],[50.135254,26.100684],[50.095996,26.118701],[50.053906,26.122852],[50.031641,26.110986],[50.081055,25.961377],[50.130273,25.846631],[50.189648,25.755811],[50.238965,25.622852],[50.28125,25.566113],[50.455176,25.424805],[50.508496,25.306689],[50.55791,25.08667],[50.666895,24.963818],[50.725586,24.869385],[50.804395,24.789258],[50.855664,24.679639],[50.92832,24.595117],[50.966016,24.573926],[51.022754,24.565234],[51.093359,24.564648],[51.178027,24.586719],[51.267969,24.607227],[51.338477,24.564355],[51.41123,24.570801],[51.418359,24.530957],[51.369922,24.476904],[51.309863,24.340381],[51.395215,24.318848],[51.476758,24.308203],[51.534766,24.286328],[51.568359,24.286182],[51.568359,24.25791],[51.572168,24.12832],[51.592578,24.078857],[51.629297,24.03501],[51.684375,23.969531],[51.739355,23.904004],[51.794336,23.838477],[51.849414,23.772998],[51.904395,23.70752],[51.959473,23.641992],[52.014453,23.576465],[52.069434,23.510986],[52.124512,23.445459],[52.179492,23.37998],[52.23457,23.314453],[52.289551,23.248975],[52.344531,23.183496],[52.399609,23.117969],[52.45459,23.052441],[52.50957,22.986963],[52.555078,22.932812],[52.63916,22.92251],[52.665918,22.919287],[52.741602,22.91001],[52.859277,22.895605],[53.011914,22.877002],[53.192383,22.854932],[53.394043,22.830322],[53.60957,22.804004],[53.832129,22.776807],[54.05459,22.749658],[54.270117,22.72334],[54.47168,22.69873],[54.652246,22.67666],[54.804883,22.658008],[54.922461,22.643652],[54.998242,22.634375],[55.025,22.631152],[55.104297,22.621484],[55.119434,22.623926],[55.18584,22.704102],[55.259277,22.590918],[55.320117,22.496924],[55.403809,22.367822],[55.492773,22.230664],[55.577734,22.099512],[55.641016,22.001855],[55.607422,21.900391],[55.570801,21.789697],[55.53418,21.679004],[55.497559,21.568311],[55.460938,21.457617],[55.424316,21.346924],[55.387695,21.23623],[55.351074,21.125537],[55.314453,21.014795],[55.27793,20.904102],[55.241211,20.793408],[55.20459,20.682715],[55.168066,20.572021],[55.131445,20.461328],[55.094727,20.350635],[55.058203,20.239941],[55.021484,20.129248],[54.977344,19.995947],[54.871094,19.960498],[54.699023,19.903125],[54.527051,19.845801],[54.35498,19.788477],[54.183008,19.731152],[54.010938,19.673828],[53.838867,19.616504],[53.666895,19.559131],[53.494824,19.501807],[53.322852,19.444482],[53.150781,19.387158],[52.978711,19.329785],[52.806738,19.272461],[52.634668,19.215137],[52.462695,19.157812],[52.290625,19.100488],[52.118555,19.043164],[51.977637,18.996143]]],[[[36.595508,25.712793],[36.586133,25.699219],[36.543945,25.734277],[36.546484,25.811621],[36.582715,25.855518],[36.579883,25.79541],[36.595605,25.734863],[36.595508,25.712793]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":6,"SOVEREIGNT":"São Tomé and Principe","SOV_A3":"STP","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"São Tomé and Principe","ADM0_A3":"STP","GEOU_DIF":0,"GEOUNIT":"São Tomé and Principe","GU_A3":"STP","SU_DIF":0,"SUBUNIT":"São Tomé and Principe","SU_A3":"STP","BRK_DIFF":0,"NAME":"São Tomé and Principe","NAME_LONG":"São Tomé and Principe","BRK_A3":"STP","BRK_NAME":"Sao Tome and Principe","BRK_GROUP":null,"ABBREV":"S.T.P.","POSTAL":"ST","FORMAL_EN":"Democratic Republic of São Tomé and Principe","FORMAL_FR":null,"NAME_CIAWF":"Sao Tome and Principe","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Sao Tome and Principe","NAME_ALT":null,"MAPCOLOR7":1,"MAPCOLOR8":6,"MAPCOLOR9":1,"MAPCOLOR13":7,"POP_EST":215056,"POP_RANK":10,"POP_YEAR":2019,"GDP_MD":418,"GDP_YEAR":2019,"ECONOMY":"7. Least developed region","INCOME_GRP":"4. Lower middle income","FIPS_10":"TP","ISO_A2":"ST","ISO_A2_EH":"ST","ISO_A3":"STP","ISO_A3_EH":"STP","ISO_N3":"678","ISO_N3_EH":"678","UN_A3":"678","WB_A2":"ST","WB_A3":"STP","WOE_ID":23424966,"WOE_ID_EH":23424966,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"STP","ADM0_DIFF":null,"ADM0_TLC":"STP","ADM0_A3_US":"STP","ADM0_A3_FR":"STP","ADM0_A3_RU":"STP","ADM0_A3_ES":"STP","ADM0_A3_CN":"STP","ADM0_A3_TW":"STP","ADM0_A3_IN":"STP","ADM0_A3_NP":"STP","ADM0_A3_PK":"STP","ADM0_A3_DE":"STP","ADM0_A3_GB":"STP","ADM0_A3_BR":"STP","ADM0_A3_IL":"STP","ADM0_A3_PS":"STP","ADM0_A3_SA":"STP","ADM0_A3_EG":"STP","ADM0_A3_MA":"STP","ADM0_A3_PT":"STP","ADM0_A3_AR":"STP","ADM0_A3_JP":"STP","ADM0_A3_KO":"STP","ADM0_A3_VN":"STP","ADM0_A3_TR":"STP","ADM0_A3_ID":"STP","ADM0_A3_PL":"STP","ADM0_A3_GR":"STP","ADM0_A3_IT":"STP","ADM0_A3_NL":"STP","ADM0_A3_SE":"STP","ADM0_A3_BD":"STP","ADM0_A3_UA":"STP","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Africa","REGION_UN":"Africa","SUBREGION":"Middle Africa","REGION_WB":"Sub-Saharan Africa","NAME_LEN":21,"LONG_LEN":21,"ABBREV_LEN":6,"TINY":3,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":5,"MAX_LABEL":10,"LABEL_X":7.021,"LABEL_Y":0.9709,"NE_ID":1159321273,"WIKIDATAID":"Q1039","NAME_AR":"ساو تومي وبرينسيب","NAME_BN":"সাঁউ তুমি ও প্রিন্সিপি","NAME_DE":"São Tomé und Príncipe","NAME_EN":"São Tomé and Príncipe","NAME_ES":"Santo Tomé y Príncipe","NAME_FA":"سائوتومه و پرینسیپ","NAME_FR":"Sao Tomé-et-Principe","NAME_EL":"Σάο Τομέ και Πρίνσιπε","NAME_HE":"סאו טומה ופרינסיפה","NAME_HI":"साओ तोमे और प्रिन्सिपी","NAME_HU":"São Tomé és Príncipe","NAME_ID":"Sao Tome dan Principe","NAME_IT":"São Tomé e Príncipe","NAME_JA":"サントメ・プリンシペ","NAME_KO":"상투메 프린시페","NAME_NL":"Sao Tomé en Principe","NAME_PL":"Wyspy Świętego Tomasza i Książęca","NAME_PT":"São Tomé e Príncipe","NAME_RU":"Сан-Томе и Принсипи","NAME_SV":"São Tomé och Príncipe","NAME_TR":"São Tomé ve Príncipe","NAME_UK":"Сан-Томе і Принсіпі","NAME_UR":"ساؤ ٹومے و پرنسپے","NAME_VI":"São Tomé và Príncipe","NAME_ZH":"圣多美和普林西比","NAME_ZHT":"聖多美普林西比","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[6.468164,0.047363,7.452344,1.699121],"geometry":{"type":"MultiPolygon","coordinates":[[[[7.423828,1.567725],[7.386621,1.541553],[7.342383,1.563574],[7.330664,1.603369],[7.387598,1.680176],[7.414453,1.699121],[7.437012,1.683057],[7.450391,1.661963],[7.452344,1.631104],[7.423828,1.567725]]],[[[6.659961,0.120654],[6.556836,0.047363],[6.519727,0.066309],[6.496973,0.117383],[6.468164,0.227344],[6.477539,0.280127],[6.524316,0.340283],[6.625879,0.400244],[6.686914,0.404395],[6.749805,0.325635],[6.75,0.243457],[6.659961,0.120654]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":3,"LABELRANK":6,"SOVEREIGNT":"San Marino","SOV_A3":"SMR","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"San Marino","ADM0_A3":"SMR","GEOU_DIF":0,"GEOUNIT":"San Marino","GU_A3":"SMR","SU_DIF":0,"SUBUNIT":"San Marino","SU_A3":"SMR","BRK_DIFF":0,"NAME":"San Marino","NAME_LONG":"San Marino","BRK_A3":"SMR","BRK_NAME":"San Marino","BRK_GROUP":null,"ABBREV":"S.M.","POSTAL":"RSM","FORMAL_EN":"Republic of San Marino","FORMAL_FR":null,"NAME_CIAWF":"San Marino","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"San Marino","NAME_ALT":null,"MAPCOLOR7":2,"MAPCOLOR8":3,"MAPCOLOR9":1,"MAPCOLOR13":6,"POP_EST":33860,"POP_RANK":7,"POP_YEAR":2019,"GDP_MD":1655,"GDP_YEAR":2018,"ECONOMY":"2. Developed region: nonG7","INCOME_GRP":"2. High income: nonOECD","FIPS_10":"SM","ISO_A2":"SM","ISO_A2_EH":"SM","ISO_A3":"SMR","ISO_A3_EH":"SMR","ISO_N3":"674","ISO_N3_EH":"674","UN_A3":"674","WB_A2":"SM","WB_A3":"SMR","WOE_ID":23424947,"WOE_ID_EH":23424947,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"SMR","ADM0_DIFF":null,"ADM0_TLC":"SMR","ADM0_A3_US":"SMR","ADM0_A3_FR":"SMR","ADM0_A3_RU":"SMR","ADM0_A3_ES":"SMR","ADM0_A3_CN":"SMR","ADM0_A3_TW":"SMR","ADM0_A3_IN":"SMR","ADM0_A3_NP":"SMR","ADM0_A3_PK":"SMR","ADM0_A3_DE":"SMR","ADM0_A3_GB":"SMR","ADM0_A3_BR":"SMR","ADM0_A3_IL":"SMR","ADM0_A3_PS":"SMR","ADM0_A3_SA":"SMR","ADM0_A3_EG":"SMR","ADM0_A3_MA":"SMR","ADM0_A3_PT":"SMR","ADM0_A3_AR":"SMR","ADM0_A3_JP":"SMR","ADM0_A3_KO":"SMR","ADM0_A3_VN":"SMR","ADM0_A3_TR":"SMR","ADM0_A3_ID":"SMR","ADM0_A3_PL":"SMR","ADM0_A3_GR":"SMR","ADM0_A3_IT":"SMR","ADM0_A3_NL":"SMR","ADM0_A3_SE":"SMR","ADM0_A3_BD":"SMR","ADM0_A3_UA":"SMR","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Europe","REGION_UN":"Europe","SUBREGION":"Southern Europe","REGION_WB":"Europe & Central Asia","NAME_LEN":10,"LONG_LEN":10,"ABBREV_LEN":4,"TINY":5,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":5,"MAX_LABEL":10,"LABEL_X":12.441206,"LABEL_Y":43.933916,"NE_ID":1159321255,"WIKIDATAID":"Q238","NAME_AR":"سان مارينو","NAME_BN":"সান মারিনো","NAME_DE":"San Marino","NAME_EN":"San Marino","NAME_ES":"San Marino","NAME_FA":"سان مارینو","NAME_FR":"Saint-Marin","NAME_EL":"Άγιος Μαρίνος","NAME_HE":"סן מרינו","NAME_HI":"सान मारिनो","NAME_HU":"San Marino","NAME_ID":"San Marino","NAME_IT":"San Marino","NAME_JA":"サンマリノ","NAME_KO":"산마리노","NAME_NL":"San Marino","NAME_PL":"San Marino","NAME_PT":"San Marino","NAME_RU":"Сан-Марино","NAME_SV":"San Marino","NAME_TR":"San Marino","NAME_UK":"Сан-Марино","NAME_UR":"سان مارینو","NAME_VI":"San Marino","NAME_ZH":"圣马力诺","NAME_ZHT":"聖馬力諾","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[12.396875,43.894092,12.514648,43.989746],"geometry":{"type":"Polygon","coordinates":[[[12.485254,43.901416],[12.426367,43.894092],[12.396875,43.93457],[12.441113,43.982422],[12.503711,43.989746],[12.514648,43.952979],[12.485254,43.901416]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":4,"SOVEREIGNT":"Samoa","SOV_A3":"WSM","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Samoa","ADM0_A3":"WSM","GEOU_DIF":0,"GEOUNIT":"Samoa","GU_A3":"WSM","SU_DIF":0,"SUBUNIT":"Samoa","SU_A3":"WSM","BRK_DIFF":0,"NAME":"Samoa","NAME_LONG":"Samoa","BRK_A3":"WSM","BRK_NAME":"Samoa","BRK_GROUP":null,"ABBREV":"Samoa","POSTAL":"WS","FORMAL_EN":"Independent State of Samoa","FORMAL_FR":null,"NAME_CIAWF":"Samoa","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Samoa","NAME_ALT":null,"MAPCOLOR7":3,"MAPCOLOR8":3,"MAPCOLOR9":4,"MAPCOLOR13":6,"POP_EST":197097,"POP_RANK":9,"POP_YEAR":2019,"GDP_MD":852,"GDP_YEAR":2019,"ECONOMY":"7. Least developed region","INCOME_GRP":"4. Lower middle income","FIPS_10":"WS","ISO_A2":"WS","ISO_A2_EH":"WS","ISO_A3":"WSM","ISO_A3_EH":"WSM","ISO_N3":"882","ISO_N3_EH":"882","UN_A3":"882","WB_A2":"WS","WB_A3":"WSM","WOE_ID":23424992,"WOE_ID_EH":23424992,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"WSM","ADM0_DIFF":null,"ADM0_TLC":"WSM","ADM0_A3_US":"WSM","ADM0_A3_FR":"WSM","ADM0_A3_RU":"WSM","ADM0_A3_ES":"WSM","ADM0_A3_CN":"WSM","ADM0_A3_TW":"WSM","ADM0_A3_IN":"WSM","ADM0_A3_NP":"WSM","ADM0_A3_PK":"WSM","ADM0_A3_DE":"WSM","ADM0_A3_GB":"WSM","ADM0_A3_BR":"WSM","ADM0_A3_IL":"WSM","ADM0_A3_PS":"WSM","ADM0_A3_SA":"WSM","ADM0_A3_EG":"WSM","ADM0_A3_MA":"WSM","ADM0_A3_PT":"WSM","ADM0_A3_AR":"WSM","ADM0_A3_JP":"WSM","ADM0_A3_KO":"WSM","ADM0_A3_VN":"WSM","ADM0_A3_TR":"WSM","ADM0_A3_ID":"WSM","ADM0_A3_PL":"WSM","ADM0_A3_GR":"WSM","ADM0_A3_IT":"WSM","ADM0_A3_NL":"WSM","ADM0_A3_SE":"WSM","ADM0_A3_BD":"WSM","ADM0_A3_UA":"WSM","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Oceania","REGION_UN":"Oceania","SUBREGION":"Polynesia","REGION_WB":"East Asia & Pacific","NAME_LEN":5,"LONG_LEN":5,"ABBREV_LEN":5,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":3,"MAX_LABEL":8,"LABEL_X":-172.438241,"LABEL_Y":-13.639139,"NE_ID":1159321423,"WIKIDATAID":"Q683","NAME_AR":"ساموا","NAME_BN":"সামোয়া","NAME_DE":"Samoa","NAME_EN":"Samoa","NAME_ES":"Samoa","NAME_FA":"ساموآ","NAME_FR":"Samoa","NAME_EL":"Σαμόα","NAME_HE":"סמואה","NAME_HI":"समोआ","NAME_HU":"Szamoa","NAME_ID":"Samoa","NAME_IT":"Samoa","NAME_JA":"サモア","NAME_KO":"사모아","NAME_NL":"Samoa","NAME_PL":"Samoa","NAME_PT":"Samoa","NAME_RU":"Самоа","NAME_SV":"Samoa","NAME_TR":"Samoa","NAME_UK":"Самоа","NAME_UR":"سامووا","NAME_VI":"Samoa","NAME_ZH":"萨摩亚","NAME_ZHT":"薩摩亞","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[-172.778516,-14.047266,-171.449561,-13.465234],"geometry":{"type":"MultiPolygon","coordinates":[[[[-172.333496,-13.465234],[-172.221533,-13.55957],[-172.176855,-13.684668],[-172.224951,-13.804297],[-172.330859,-13.774707],[-172.484521,-13.800195],[-172.535693,-13.791699],[-172.658789,-13.644824],[-172.744092,-13.578711],[-172.778516,-13.516797],[-172.669629,-13.523828],[-172.510889,-13.482813],[-172.333496,-13.465234]]],[[[-171.454102,-14.046484],[-171.728223,-14.047266],[-171.86377,-14.002051],[-171.911914,-14.00166],[-172.028076,-13.906836],[-172.045898,-13.857129],[-171.984863,-13.824414],[-171.858154,-13.807129],[-171.603906,-13.879199],[-171.56543,-13.943066],[-171.506885,-13.949902],[-171.461377,-13.977637],[-171.449561,-14.022461],[-171.454102,-14.046484]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":6,"SOVEREIGNT":"Saint Vincent and the Grenadines","SOV_A3":"VCT","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Saint Vincent and the Grenadines","ADM0_A3":"VCT","GEOU_DIF":0,"GEOUNIT":"Saint Vincent and the Grenadines","GU_A3":"VCT","SU_DIF":0,"SUBUNIT":"Saint Vincent and the Grenadines","SU_A3":"VCT","BRK_DIFF":0,"NAME":"St. Vin. and Gren.","NAME_LONG":"Saint Vincent and the Grenadines","BRK_A3":"VCT","BRK_NAME":"St. Vin. and Gren.","BRK_GROUP":null,"ABBREV":"St.V.G.","POSTAL":"VC","FORMAL_EN":"Saint Vincent and the Grenadines","FORMAL_FR":null,"NAME_CIAWF":"Saint Vincent and the Grenadines","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"St. Vincent and the Grenadines","NAME_ALT":null,"MAPCOLOR7":1,"MAPCOLOR8":1,"MAPCOLOR9":5,"MAPCOLOR13":7,"POP_EST":110589,"POP_RANK":9,"POP_YEAR":2019,"GDP_MD":824,"GDP_YEAR":2019,"ECONOMY":"6. Developing region","INCOME_GRP":"3. Upper middle income","FIPS_10":"VC","ISO_A2":"VC","ISO_A2_EH":"VC","ISO_A3":"VCT","ISO_A3_EH":"VCT","ISO_N3":"670","ISO_N3_EH":"670","UN_A3":"670","WB_A2":"VC","WB_A3":"VCT","WOE_ID":23424981,"WOE_ID_EH":23424981,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"VCT","ADM0_DIFF":null,"ADM0_TLC":"VCT","ADM0_A3_US":"VCT","ADM0_A3_FR":"VCT","ADM0_A3_RU":"VCT","ADM0_A3_ES":"VCT","ADM0_A3_CN":"VCT","ADM0_A3_TW":"VCT","ADM0_A3_IN":"VCT","ADM0_A3_NP":"VCT","ADM0_A3_PK":"VCT","ADM0_A3_DE":"VCT","ADM0_A3_GB":"VCT","ADM0_A3_BR":"VCT","ADM0_A3_IL":"VCT","ADM0_A3_PS":"VCT","ADM0_A3_SA":"VCT","ADM0_A3_EG":"VCT","ADM0_A3_MA":"VCT","ADM0_A3_PT":"VCT","ADM0_A3_AR":"VCT","ADM0_A3_JP":"VCT","ADM0_A3_KO":"VCT","ADM0_A3_VN":"VCT","ADM0_A3_TR":"VCT","ADM0_A3_ID":"VCT","ADM0_A3_PL":"VCT","ADM0_A3_GR":"VCT","ADM0_A3_IT":"VCT","ADM0_A3_NL":"VCT","ADM0_A3_SE":"VCT","ADM0_A3_BD":"VCT","ADM0_A3_UA":"VCT","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"North America","REGION_UN":"Americas","SUBREGION":"Caribbean","REGION_WB":"Latin America & Caribbean","NAME_LEN":18,"LONG_LEN":32,"ABBREV_LEN":7,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":5,"MAX_LABEL":10,"LABEL_X":-61.3359,"LABEL_Y":13.0879,"NE_ID":1159321409,"WIKIDATAID":"Q757","NAME_AR":"سانت فينسنت والغرينادين","NAME_BN":"সেন্ট ভিনসেন্ট ও গ্রেনাডাইন","NAME_DE":"St. Vincent und die Grenadinen","NAME_EN":"Saint Vincent and the Grenadines","NAME_ES":"San Vicente y las Granadinas","NAME_FA":"سنت وینسنت و گرنادینها","NAME_FR":"Saint-Vincent-et-les-Grenadines","NAME_EL":"Άγιος Βικέντιος και Γρεναδίνες","NAME_HE":"סנט וינסנט והגרנדינים","NAME_HI":"सन्त विन्सेण्ट और ग्रेनाडाइन्स","NAME_HU":"Saint Vincent és a Grenadine-szigetek","NAME_ID":"Saint Vincent dan Grenadine","NAME_IT":"Saint Vincent e Grenadine","NAME_JA":"セントビンセント・グレナディーン","NAME_KO":"세인트빈센트 그레나딘","NAME_NL":"Saint Vincent en de Grenadines","NAME_PL":"Saint Vincent i Grenadyny","NAME_PT":"São Vicente e Granadinas","NAME_RU":"Сент-Винсент и Гренадины","NAME_SV":"Saint Vincent och Grenadinerna","NAME_TR":"Saint Vincent ve Grenadinler","NAME_UK":"Сент-Вінсент і Гренадини","NAME_UR":"سینٹ وینسینٹ و گریناڈائنز","NAME_VI":"Saint Vincent và Grenadines","NAME_ZH":"圣文森特和格林纳丁斯","NAME_ZHT":"聖文森及格瑞那丁","FCLASS_ISO":"Admin-0 dependency","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 dependency","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[-61.353516,12.694727,-61.124023,13.35874],"geometry":{"type":"MultiPolygon","coordinates":[[[[-61.174512,13.158105],[-61.203906,13.142285],[-61.277295,13.20957],[-61.268457,13.287695],[-61.224072,13.330664],[-61.182129,13.355957],[-61.138965,13.35874],[-61.124023,13.294043],[-61.134521,13.202881],[-61.174512,13.158105]]],[[[-61.226221,12.994629],[-61.242236,12.983691],[-61.234717,12.983691],[-61.242236,12.97627],[-61.247266,12.983643],[-61.255225,12.988184],[-61.265332,12.990186],[-61.276953,12.989893],[-61.276953,12.997363],[-61.262061,12.992773],[-61.239355,12.997266],[-61.239258,13.005371],[-61.245947,13.012695],[-61.249023,13.017822],[-61.240625,13.025732],[-61.212842,13.043262],[-61.201172,13.052539],[-61.199805,13.04873],[-61.199316,13.045117],[-61.197949,13.041699],[-61.19375,13.038281],[-61.208057,13.024707],[-61.226221,12.994629]]],[[[-61.334375,12.695215],[-61.344531,12.694727],[-61.353516,12.698145],[-61.351123,12.701172],[-61.339746,12.703613],[-61.334424,12.710205],[-61.336328,12.719043],[-61.33584,12.728809],[-61.326807,12.734814],[-61.319873,12.735449],[-61.316797,12.731689],[-61.314844,12.722559],[-61.320117,12.715527],[-61.325928,12.709863],[-61.328809,12.701123],[-61.334375,12.695215]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":6,"SOVEREIGNT":"Saint Lucia","SOV_A3":"LCA","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Saint Lucia","ADM0_A3":"LCA","GEOU_DIF":0,"GEOUNIT":"Saint Lucia","GU_A3":"LCA","SU_DIF":0,"SUBUNIT":"Saint Lucia","SU_A3":"LCA","BRK_DIFF":0,"NAME":"Saint Lucia","NAME_LONG":"Saint Lucia","BRK_A3":"LCA","BRK_NAME":"Saint Lucia","BRK_GROUP":null,"ABBREV":"S.L.","POSTAL":"LC","FORMAL_EN":"Saint Lucia","FORMAL_FR":null,"NAME_CIAWF":"Saint Lucia","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"St. Lucia","NAME_ALT":null,"MAPCOLOR7":3,"MAPCOLOR8":4,"MAPCOLOR9":3,"MAPCOLOR13":4,"POP_EST":182790,"POP_RANK":9,"POP_YEAR":2019,"GDP_MD":2122,"GDP_YEAR":2019,"ECONOMY":"6. Developing region","INCOME_GRP":"3. Upper middle income","FIPS_10":"ST","ISO_A2":"LC","ISO_A2_EH":"LC","ISO_A3":"LCA","ISO_A3_EH":"LCA","ISO_N3":"662","ISO_N3_EH":"662","UN_A3":"662","WB_A2":"LC","WB_A3":"LCA","WOE_ID":23424951,"WOE_ID_EH":23424951,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"LCA","ADM0_DIFF":null,"ADM0_TLC":"LCA","ADM0_A3_US":"LCA","ADM0_A3_FR":"LCA","ADM0_A3_RU":"LCA","ADM0_A3_ES":"LCA","ADM0_A3_CN":"LCA","ADM0_A3_TW":"LCA","ADM0_A3_IN":"LCA","ADM0_A3_NP":"LCA","ADM0_A3_PK":"LCA","ADM0_A3_DE":"LCA","ADM0_A3_GB":"LCA","ADM0_A3_BR":"LCA","ADM0_A3_IL":"LCA","ADM0_A3_PS":"LCA","ADM0_A3_SA":"LCA","ADM0_A3_EG":"LCA","ADM0_A3_MA":"LCA","ADM0_A3_PT":"LCA","ADM0_A3_AR":"LCA","ADM0_A3_JP":"LCA","ADM0_A3_KO":"LCA","ADM0_A3_VN":"LCA","ADM0_A3_TR":"LCA","ADM0_A3_ID":"LCA","ADM0_A3_PL":"LCA","ADM0_A3_GR":"LCA","ADM0_A3_IT":"LCA","ADM0_A3_NL":"LCA","ADM0_A3_SE":"LCA","ADM0_A3_BD":"LCA","ADM0_A3_UA":"LCA","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"North America","REGION_UN":"Americas","SUBREGION":"Caribbean","REGION_WB":"Latin America & Caribbean","NAME_LEN":11,"LONG_LEN":11,"ABBREV_LEN":4,"TINY":4,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":5,"MAX_LABEL":9.5,"LABEL_X":-60.980094,"LABEL_Y":13.892371,"NE_ID":1159321019,"WIKIDATAID":"Q760","NAME_AR":"سانت لوسيا","NAME_BN":"সেন্ট লুসিয়া","NAME_DE":"St. Lucia","NAME_EN":"Saint Lucia","NAME_ES":"Santa Lucía","NAME_FA":"سنت لوسیا","NAME_FR":"Sainte-Lucie","NAME_EL":"Αγία Λουκία","NAME_HE":"סנט לוסיה","NAME_HI":"सेंट लूसिया","NAME_HU":"Saint Lucia","NAME_ID":"Saint Lucia","NAME_IT":"Saint Lucia","NAME_JA":"セントルシア","NAME_KO":"세인트루시아","NAME_NL":"Saint Lucia","NAME_PL":"Saint Lucia","NAME_PT":"Santa Lúcia","NAME_RU":"Сент-Люсия","NAME_SV":"Saint Lucia","NAME_TR":"Saint Lucia","NAME_UK":"Сент-Люсія","NAME_UR":"سینٹ لوسیا","NAME_VI":"Saint Lucia","NAME_ZH":"圣卢西亚","NAME_ZHT":"聖露西亞","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[-61.073145,13.717578,-60.886768,14.093359],"geometry":{"type":"Polygon","coordinates":[[[-60.895215,13.821973],[-60.951416,13.717578],[-61.060645,13.783105],[-61.073145,13.865576],[-61.063574,13.915576],[-60.99668,14.010937],[-60.94458,14.072852],[-60.908105,14.093359],[-60.886768,14.011133],[-60.895215,13.821973]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":3,"LABELRANK":6,"SOVEREIGNT":"Saint Kitts and Nevis","SOV_A3":"KNA","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Saint Kitts and Nevis","ADM0_A3":"KNA","GEOU_DIF":0,"GEOUNIT":"Saint Kitts and Nevis","GU_A3":"KNA","SU_DIF":0,"SUBUNIT":"Saint Kitts and Nevis","SU_A3":"KNA","BRK_DIFF":0,"NAME":"St. Kitts and Nevis","NAME_LONG":"Saint Kitts and Nevis","BRK_A3":"KNA","BRK_NAME":"Saint Kitts and Nevis","BRK_GROUP":null,"ABBREV":"St.K.N.","POSTAL":"KN","FORMAL_EN":"Federation of Saint Kitts and Nevis","FORMAL_FR":null,"NAME_CIAWF":"Saint Kitts and Nevis","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"St. Kitts and Nevis","NAME_ALT":null,"MAPCOLOR7":1,"MAPCOLOR8":4,"MAPCOLOR9":1,"MAPCOLOR13":8,"POP_EST":52834,"POP_RANK":8,"POP_YEAR":2019,"GDP_MD":1053,"GDP_YEAR":2019,"ECONOMY":"6. Developing region","INCOME_GRP":"2. High income: nonOECD","FIPS_10":"SC","ISO_A2":"KN","ISO_A2_EH":"KN","ISO_A3":"KNA","ISO_A3_EH":"KNA","ISO_N3":"659","ISO_N3_EH":"659","UN_A3":"659","WB_A2":"KN","WB_A3":"KNA","WOE_ID":23424940,"WOE_ID_EH":23424940,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"KNA","ADM0_DIFF":null,"ADM0_TLC":"KNA","ADM0_A3_US":"KNA","ADM0_A3_FR":"KNA","ADM0_A3_RU":"KNA","ADM0_A3_ES":"KNA","ADM0_A3_CN":"KNA","ADM0_A3_TW":"KNA","ADM0_A3_IN":"KNA","ADM0_A3_NP":"KNA","ADM0_A3_PK":"KNA","ADM0_A3_DE":"KNA","ADM0_A3_GB":"KNA","ADM0_A3_BR":"KNA","ADM0_A3_IL":"KNA","ADM0_A3_PS":"KNA","ADM0_A3_SA":"KNA","ADM0_A3_EG":"KNA","ADM0_A3_MA":"KNA","ADM0_A3_PT":"KNA","ADM0_A3_AR":"KNA","ADM0_A3_JP":"KNA","ADM0_A3_KO":"KNA","ADM0_A3_VN":"KNA","ADM0_A3_TR":"KNA","ADM0_A3_ID":"KNA","ADM0_A3_PL":"KNA","ADM0_A3_GR":"KNA","ADM0_A3_IT":"KNA","ADM0_A3_NL":"KNA","ADM0_A3_SE":"KNA","ADM0_A3_BD":"KNA","ADM0_A3_UA":"KNA","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"North America","REGION_UN":"Americas","SUBREGION":"Caribbean","REGION_WB":"Latin America & Caribbean","NAME_LEN":19,"LONG_LEN":21,"ABBREV_LEN":7,"TINY":4,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":5,"MAX_LABEL":10,"LABEL_X":-62.757975,"LABEL_Y":17.336558,"NE_ID":1159320983,"WIKIDATAID":"Q763","NAME_AR":"سانت كيتس ونيفيس","NAME_BN":"সেন্ট কিট্স ও নেভিস","NAME_DE":"St. Kitts und Nevis","NAME_EN":"Saint Kitts and Nevis","NAME_ES":"San Cristóbal y Nieves","NAME_FA":"سنت کیتس و نویس","NAME_FR":"Saint-Christophe-et-Niévès","NAME_EL":"Άγιος Χριστόφορος και Νέβις","NAME_HE":"סנט קיטס ונוויס","NAME_HI":"सन्त किट्स और नेविस","NAME_HU":"Saint Kitts és Nevis","NAME_ID":"Saint Kitts dan Nevis","NAME_IT":"Saint Kitts e Nevis","NAME_JA":"セントクリストファー・ネイビス","NAME_KO":"세인트키츠 네비스","NAME_NL":"Saint Kitts en Nevis","NAME_PL":"Saint Kitts i Nevis","NAME_PT":"São Cristóvão e Nevis","NAME_RU":"Сент-Китс и Невис","NAME_SV":"Saint Kitts och Nevis","NAME_TR":"Saint Kitts ve Nevis","NAME_UK":"Сент-Кіттс і Невіс","NAME_UR":"سینٹ کیٹز و ناویس","NAME_VI":"Saint Kitts và Nevis","NAME_ZH":"圣基茨和尼维斯","NAME_ZHT":"聖克里斯多福與尼維斯","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[-62.840479,17.100586,-62.532227,17.402588],"geometry":{"type":"MultiPolygon","coordinates":[[[[-62.532227,17.121875],[-62.582422,17.100586],[-62.624902,17.12959],[-62.615283,17.199121],[-62.574707,17.201025],[-62.53418,17.170117],[-62.532227,17.121875]]],[[[-62.630664,17.23999],[-62.656494,17.224414],[-62.702002,17.286035],[-62.775537,17.302832],[-62.838916,17.339258],[-62.840479,17.34707],[-62.839404,17.365332],[-62.827051,17.386426],[-62.794629,17.402588],[-62.713721,17.353271],[-62.675781,17.290918],[-62.640527,17.262305],[-62.630664,17.23999]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":3,"SOVEREIGNT":"Rwanda","SOV_A3":"RWA","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Rwanda","ADM0_A3":"RWA","GEOU_DIF":0,"GEOUNIT":"Rwanda","GU_A3":"RWA","SU_DIF":0,"SUBUNIT":"Rwanda","SU_A3":"RWA","BRK_DIFF":0,"NAME":"Rwanda","NAME_LONG":"Rwanda","BRK_A3":"RWA","BRK_NAME":"Rwanda","BRK_GROUP":null,"ABBREV":"Rwa.","POSTAL":"RW","FORMAL_EN":"Republic of Rwanda","FORMAL_FR":null,"NAME_CIAWF":"Rwanda","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Rwanda","NAME_ALT":null,"MAPCOLOR7":5,"MAPCOLOR8":2,"MAPCOLOR9":3,"MAPCOLOR13":10,"POP_EST":12626950,"POP_RANK":14,"POP_YEAR":2019,"GDP_MD":10354,"GDP_YEAR":2019,"ECONOMY":"7. Least developed region","INCOME_GRP":"5. Low income","FIPS_10":"RW","ISO_A2":"RW","ISO_A2_EH":"RW","ISO_A3":"RWA","ISO_A3_EH":"RWA","ISO_N3":"646","ISO_N3_EH":"646","UN_A3":"646","WB_A2":"RW","WB_A3":"RWA","WOE_ID":23424937,"WOE_ID_EH":23424937,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"RWA","ADM0_DIFF":null,"ADM0_TLC":"RWA","ADM0_A3_US":"RWA","ADM0_A3_FR":"RWA","ADM0_A3_RU":"RWA","ADM0_A3_ES":"RWA","ADM0_A3_CN":"RWA","ADM0_A3_TW":"RWA","ADM0_A3_IN":"RWA","ADM0_A3_NP":"RWA","ADM0_A3_PK":"RWA","ADM0_A3_DE":"RWA","ADM0_A3_GB":"RWA","ADM0_A3_BR":"RWA","ADM0_A3_IL":"RWA","ADM0_A3_PS":"RWA","ADM0_A3_SA":"RWA","ADM0_A3_EG":"RWA","ADM0_A3_MA":"RWA","ADM0_A3_PT":"RWA","ADM0_A3_AR":"RWA","ADM0_A3_JP":"RWA","ADM0_A3_KO":"RWA","ADM0_A3_VN":"RWA","ADM0_A3_TR":"RWA","ADM0_A3_ID":"RWA","ADM0_A3_PL":"RWA","ADM0_A3_GR":"RWA","ADM0_A3_IT":"RWA","ADM0_A3_NL":"RWA","ADM0_A3_SE":"RWA","ADM0_A3_BD":"RWA","ADM0_A3_UA":"RWA","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Africa","REGION_UN":"Africa","SUBREGION":"Eastern Africa","REGION_WB":"Sub-Saharan Africa","NAME_LEN":6,"LONG_LEN":6,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":3,"MAX_LABEL":8,"LABEL_X":30.103894,"LABEL_Y":-1.897196,"NE_ID":1159321219,"WIKIDATAID":"Q1037","NAME_AR":"رواندا","NAME_BN":"রুয়ান্ডা","NAME_DE":"Ruanda","NAME_EN":"Rwanda","NAME_ES":"Ruanda","NAME_FA":"رواندا","NAME_FR":"Rwanda","NAME_EL":"Ρουάντα","NAME_HE":"רואנדה","NAME_HI":"रवाण्डा","NAME_HU":"Ruanda","NAME_ID":"Rwanda","NAME_IT":"Ruanda","NAME_JA":"ルワンダ","NAME_KO":"르완다","NAME_NL":"Rwanda","NAME_PL":"Rwanda","NAME_PT":"Ruanda","NAME_RU":"Руанда","NAME_SV":"Rwanda","NAME_TR":"Ruanda","NAME_UK":"Руанда","NAME_UR":"روانڈا","NAME_VI":"Rwanda","NAME_ZH":"卢旺达","NAME_ZHT":"盧旺達","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[28.857617,-2.808594,30.876563,-1.063086],"geometry":{"type":"Polygon","coordinates":[[[29.576953,-1.387891],[29.609668,-1.387109],[29.825391,-1.335547],[29.846875,-1.35166],[29.881641,-1.451758],[29.9,-1.466309],[29.930078,-1.469922],[29.990527,-1.446973],[30.101562,-1.368652],[30.15,-1.321094],[30.207031,-1.254199],[30.279883,-1.178809],[30.320508,-1.113086],[30.360254,-1.074609],[30.412305,-1.063086],[30.469922,-1.066016],[30.509961,-1.067285],[30.477051,-1.083008],[30.470215,-1.131152],[30.508105,-1.208203],[30.631934,-1.36748],[30.710742,-1.396777],[30.762207,-1.458691],[30.812598,-1.563086],[30.827539,-1.693652],[30.806738,-1.850684],[30.819141,-1.96748],[30.864648,-2.044043],[30.876563,-2.143359],[30.85498,-2.26543],[30.828711,-2.338477],[30.797656,-2.362695],[30.7625,-2.37168],[30.714844,-2.363477],[30.656641,-2.373828],[30.593359,-2.396777],[30.553613,-2.400098],[30.528906,-2.395605],[30.482227,-2.376074],[30.408496,-2.312988],[30.270996,-2.347852],[30.233789,-2.34707],[30.183301,-2.377051],[30.142285,-2.413965],[30.117285,-2.416602],[30.091895,-2.411523],[29.973438,-2.337109],[29.930176,-2.339551],[29.912402,-2.548633],[29.892578,-2.664648],[29.868164,-2.716406],[29.783398,-2.766406],[29.698047,-2.794727],[29.651367,-2.792773],[29.463672,-2.808398],[29.390234,-2.808594],[29.349805,-2.791504],[29.29707,-2.673047],[29.197559,-2.620313],[29.102051,-2.595703],[29.063184,-2.602539],[29.028613,-2.664551],[29.014355,-2.720215],[28.921777,-2.682031],[28.893945,-2.635059],[28.891406,-2.555566],[28.857617,-2.44668],[28.876367,-2.400293],[28.912695,-2.370313],[28.989551,-2.312793],[29.106445,-2.233203],[29.131543,-2.195117],[29.148047,-2.131836],[29.140625,-1.98457],[29.129395,-1.860254],[29.143262,-1.816016],[29.196582,-1.719922],[29.268164,-1.621582],[29.35166,-1.517578],[29.401953,-1.507422],[29.467969,-1.468066],[29.537793,-1.409766],[29.576953,-1.387891]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":5,"LABELRANK":2,"SOVEREIGNT":"Russia","SOV_A3":"RUS","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Russia","ADM0_A3":"RUS","GEOU_DIF":0,"GEOUNIT":"Russia","GU_A3":"RUS","SU_DIF":0,"SUBUNIT":"Russia","SU_A3":"RUS","BRK_DIFF":0,"NAME":"Russia","NAME_LONG":"Russian Federation","BRK_A3":"RUS","BRK_NAME":"Russia","BRK_GROUP":null,"ABBREV":"Rus.","POSTAL":"RUS","FORMAL_EN":"Russian Federation","FORMAL_FR":null,"NAME_CIAWF":"Russia","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Russian Federation","NAME_ALT":null,"MAPCOLOR7":2,"MAPCOLOR8":5,"MAPCOLOR9":7,"MAPCOLOR13":7,"POP_EST":144373535,"POP_RANK":17,"POP_YEAR":2019,"GDP_MD":1699876,"GDP_YEAR":2019,"ECONOMY":"3. Emerging region: BRIC","INCOME_GRP":"3. Upper middle income","FIPS_10":"RS","ISO_A2":"RU","ISO_A2_EH":"RU","ISO_A3":"RUS","ISO_A3_EH":"RUS","ISO_N3":"643","ISO_N3_EH":"643","UN_A3":"643","WB_A2":"RU","WB_A3":"RUS","WOE_ID":23424936,"WOE_ID_EH":23424936,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"RUS","ADM0_DIFF":null,"ADM0_TLC":"RUS","ADM0_A3_US":"RUS","ADM0_A3_FR":"RUS","ADM0_A3_RU":"RUS","ADM0_A3_ES":"RUS","ADM0_A3_CN":"RUS","ADM0_A3_TW":"RUS","ADM0_A3_IN":"RUS","ADM0_A3_NP":"RUS","ADM0_A3_PK":"RUS","ADM0_A3_DE":"RUS","ADM0_A3_GB":"RUS","ADM0_A3_BR":"RUS","ADM0_A3_IL":"RUS","ADM0_A3_PS":"RUS","ADM0_A3_SA":"RUS","ADM0_A3_EG":"RUS","ADM0_A3_MA":"RUS","ADM0_A3_PT":"RUS","ADM0_A3_AR":"RUS","ADM0_A3_JP":"RUS","ADM0_A3_KO":"RUS","ADM0_A3_VN":"RUS","ADM0_A3_TR":"RUS","ADM0_A3_ID":"RUS","ADM0_A3_PL":"RUS","ADM0_A3_GR":"RUS","ADM0_A3_IT":"RUS","ADM0_A3_NL":"RUS","ADM0_A3_SE":"RUS","ADM0_A3_BD":"RUS","ADM0_A3_UA":"RUS","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Europe","REGION_UN":"Europe","SUBREGION":"Eastern Europe","REGION_WB":"Europe & Central Asia","NAME_LEN":6,"LONG_LEN":18,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":1.7,"MAX_LABEL":5.2,"LABEL_X":44.686469,"LABEL_Y":58.249357,"NE_ID":1159321201,"WIKIDATAID":"Q159","NAME_AR":"روسيا","NAME_BN":"রাশিয়া","NAME_DE":"Russland","NAME_EN":"Russia","NAME_ES":"Rusia","NAME_FA":"روسیه","NAME_FR":"Russie","NAME_EL":"Ρωσία","NAME_HE":"רוסיה","NAME_HI":"रूस","NAME_HU":"Oroszország","NAME_ID":"Rusia","NAME_IT":"Russia","NAME_JA":"ロシア","NAME_KO":"러시아","NAME_NL":"Rusland","NAME_PL":"Rosja","NAME_PT":"Rússia","NAME_RU":"Россия","NAME_SV":"Ryssland","NAME_TR":"Rusya","NAME_UK":"Росія","NAME_UR":"روس","NAME_VI":"Nga","NAME_ZH":"俄罗斯","NAME_ZHT":"俄羅斯","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[-180,41.199268,180,81.854199],"geometry":{"type":"MultiPolygon","coordinates":[[[[145.881543,43.459521],[145.895605,43.454541],[145.913867,43.455371],[145.931152,43.457031],[145.941113,43.445459],[145.943555,43.426465],[145.931152,43.425635],[145.907227,43.422314],[145.893945,43.419824],[145.886523,43.433057],[145.881543,43.443799],[145.869141,43.450439],[145.869141,43.457861],[145.881543,43.459521]]],[[[146.358789,43.625391],[146.332324,43.619922],[146.288184,43.625391],[146.273828,43.629834],[146.283691,43.638623],[146.310156,43.651855],[146.333301,43.647461],[146.349805,43.644141],[146.358789,43.625391]]],[[[146.045605,43.409326],[146.032324,43.407129],[146.028027,43.420361],[146.048926,43.433594],[146.088574,43.449023],[146.100781,43.440186],[146.086328,43.429199],[146.069922,43.421484],[146.045605,43.409326]]],[[[137.178613,55.100439],[137.055273,54.926758],[136.969434,54.923975],[136.902734,54.960645],[136.765137,54.946045],[136.714648,54.956152],[136.795313,55.009375],[136.995703,55.092725],[137.077539,55.091748],[137.156055,55.107813],[137.178613,55.100439]]],[[[150.589941,59.01875],[150.511133,59.007422],[150.471777,59.034766],[150.470215,59.054053],[150.59248,59.097217],[150.666211,59.160156],[150.712695,59.122461],[150.727734,59.095215],[150.589941,59.01875]]],[[[120.261328,73.089844],[120.00791,73.044873],[119.79209,73.04541],[119.64043,73.124316],[119.761914,73.155469],[119.964453,73.167676],[120.078516,73.156738],[120.236816,73.107275],[120.261328,73.089844]]],[[[124.542969,73.850098],[124.481738,73.8479],[124.366406,73.874609],[124.335742,73.910303],[124.336523,73.928369],[124.429688,73.943018],[124.547656,73.933838],[124.636914,73.900391],[124.65293,73.888037],[124.542969,73.850098]]],[[[106.27041,78.206201],[106.151074,78.198633],[106.023633,78.220117],[106.058398,78.264648],[106.350586,78.272607],[106.456836,78.340039],[106.64043,78.33623],[106.691211,78.31665],[106.719629,78.294189],[106.718945,78.26499],[106.679102,78.26499],[106.504687,78.26167],[106.472461,78.24502],[106.27041,78.206201]]],[[[107.414746,77.242676],[107.302246,77.241504],[107.269531,77.289014],[107.366406,77.346631],[107.486426,77.347119],[107.593652,77.330029],[107.629297,77.319678],[107.664551,77.299805],[107.679492,77.268262],[107.414746,77.242676]]],[[[97.588379,76.599365],[97.535254,76.584424],[97.430371,76.590723],[97.341699,76.628857],[97.310352,76.6896],[97.381641,76.706689],[97.588379,76.599365]]],[[[96.853906,76.19917],[96.797852,76.188428],[96.754492,76.195752],[96.739355,76.206934],[96.740234,76.257861],[96.83291,76.32417],[96.835254,76.344824],[96.87793,76.355225],[96.990234,76.343408],[97.045313,76.315381],[97.053027,76.302588],[96.974219,76.236523],[96.853906,76.19917]]],[[[100.135938,79.614209],[99.91543,79.601611],[99.942285,79.671436],[99.955762,79.690332],[100.068359,79.701025],[100.141504,79.683691],[100.300293,79.670264],[100.135938,79.614209]]],[[[76.756055,73.445801],[76.659375,73.439502],[76.234473,73.476221],[76.083105,73.523486],[76.139551,73.554297],[76.250684,73.555273],[76.756055,73.445801]]],[[[82.709961,74.090869],[82.612793,74.056445],[82.478125,74.075781],[82.381543,74.099219],[82.329395,74.131104],[82.382422,74.149268],[82.525586,74.161426],[82.611035,74.148535],[82.688965,74.11123],[82.709961,74.090869]]],[[[84.758984,74.459424],[84.710449,74.399805],[84.428906,74.430322],[84.389453,74.454443],[84.540332,74.49043],[84.679883,74.512354],[84.872852,74.515527],[84.758984,74.459424]]],[[[86.653125,74.981299],[86.737109,74.962988],[87.000586,74.991943],[87.052148,74.982568],[87.124316,74.939893],[87.011719,74.861914],[86.927148,74.830762],[86.691992,74.848291],[86.390527,74.850879],[86.258594,74.893506],[86.330664,74.938965],[86.504492,74.965967],[86.605469,74.992822],[86.653125,74.981299]]],[[[59.313086,81.305225],[59.096973,81.292285],[58.719043,81.313525],[58.610156,81.337256],[58.634473,81.360352],[58.880566,81.391846],[59.075,81.397705],[59.280859,81.366113],[59.374609,81.325049],[59.313086,81.305225]]],[[[-179.798535,68.94043],[-179.59541,68.906494],[-179.514502,68.917139],[-179.47085,68.912402],[-179.355957,68.852979],[-179.279297,68.825195],[-178.873877,68.754102],[-178.689307,68.675146],[-178.538525,68.585645],[-178.613672,68.603076],[-178.751465,68.660449],[-178.736523,68.593018],[-178.692627,68.545996],[-178.473926,68.501758],[-178.244482,68.46665],[-178.097461,68.424805],[-178.048682,68.388428],[-178.018701,68.322754],[-178.055811,68.264893],[-177.922412,68.286523],[-177.796777,68.337988],[-177.861816,68.378223],[-178.284521,68.518555],[-178.373047,68.565674],[-178.249854,68.541406],[-177.683203,68.362793],[-177.527246,68.294385],[-177.593213,68.281152],[-177.639355,68.241211],[-177.589209,68.224219],[-177.520898,68.236865],[-177.40752,68.245166],[-177.297412,68.22251],[-177.171826,68.174658],[-176.907275,68.119141],[-175.345215,67.678076],[-175.309863,67.602051],[-175.265918,67.566504],[-175.239551,67.521094],[-175.23252,67.44668],[-175.374707,67.357373],[-175.155078,67.365381],[-175.122803,67.376953],[-175.065625,67.413428],[-175.002686,67.4375],[-174.918066,67.407568],[-174.849854,67.348877],[-174.869922,67.268506],[-174.93042,67.203467],[-174.938135,67.093018],[-174.885059,67.000244],[-174.828711,66.961377],[-174.783643,66.916797],[-174.771191,66.784326],[-174.870117,66.724902],[-174.924902,66.623145],[-174.864258,66.613135],[-174.674658,66.603418],[-174.612451,66.5854],[-174.50376,66.537939],[-174.477734,66.492188],[-174.45376,66.429883],[-174.418701,66.371973],[-174.394092,66.344238],[-174.366064,66.34834],[-174.256982,66.428467],[-174.206006,66.452344],[-174.084766,66.473096],[-174.017725,66.38252],[-174.065039,66.22959],[-174.025439,66.229687],[-173.994482,66.245801],[-173.955469,66.286768],[-173.899951,66.310498],[-173.832031,66.366064],[-173.773975,66.434668],[-173.842529,66.488281],[-173.920947,66.521777],[-174.101855,66.540625],[-174.196338,66.580713],[-174.231592,66.631885],[-174.1396,66.652637],[-174.060596,66.689795],[-174.005518,66.778613],[-174.018848,66.827393],[-174.041016,66.875488],[-174.086426,66.942871],[-174.154346,66.982031],[-174.283545,67.001563],[-174.341846,67.039746],[-174.430908,67.037646],[-174.518945,67.049072],[-174.554492,67.063037],[-174.550098,67.090625],[-174.447607,67.103125],[-173.884033,67.106445],[-173.679688,67.144775],[-173.586572,67.132764],[-173.493994,67.105176],[-173.157813,67.069092],[-173.167627,67.052246],[-173.22417,67.035107],[-173.323535,66.954834],[-173.343066,66.909229],[-173.347363,66.851367],[-173.258936,66.840088],[-173.175391,66.8646],[-173.216162,66.91123],[-173.228271,66.968555],[-173.193018,66.993604],[-173.146826,66.998975],[-173.058496,66.955859],[-172.962598,66.942139],[-172.640576,66.925],[-172.549365,66.930518],[-172.520117,66.95249],[-172.582959,66.977832],[-173.001904,67.033984],[-173.00752,67.064893],[-172.621045,67.026807],[-172.447314,66.991748],[-172.273926,66.965576],[-172.031494,66.973291],[-171.795557,66.931738],[-171.56958,66.818701],[-171.360498,66.676758],[-171.149268,66.592725],[-170.92666,66.529736],[-170.555664,66.357227],[-170.509521,66.343652],[-170.473096,66.320264],[-170.542822,66.291064],[-170.604443,66.248926],[-170.483301,66.278076],[-170.361133,66.2979],[-170.301221,66.294043],[-170.246973,66.271875],[-170.211621,66.236426],[-170.191943,66.20127],[-170.243945,66.169287],[-169.888818,66.163477],[-169.777881,66.143115],[-169.72915,66.058105],[-169.831689,65.998926],[-169.891699,66.006104],[-169.949316,66.031006],[-170.003809,66.033496],[-170.159424,66.008057],[-170.401025,65.928516],[-170.540674,65.86543],[-170.563037,65.823584],[-170.541406,65.710254],[-170.560986,65.65625],[-170.666309,65.621533],[-170.896875,65.642627],[-171.001465,65.664893],[-171.118994,65.69502],[-171.232031,65.736865],[-171.376855,65.803955],[-171.421533,65.810352],[-171.451172,65.794238],[-171.401709,65.751758],[-171.303223,65.698486],[-171.134424,65.628076],[-171.054248,65.549951],[-171.105859,65.511035],[-171.169971,65.5021],[-171.216016,65.502783],[-171.36377,65.527197],[-171.46626,65.533105],[-171.790381,65.510449],[-171.907129,65.495947],[-171.947168,65.507959],[-171.957178,65.54209],[-172.131494,65.566943],[-172.233887,65.570459],[-172.282275,65.582324],[-172.322266,65.617529],[-172.435693,65.669629],[-172.607715,65.690039],[-172.719189,65.692432],[-172.783301,65.681055],[-172.556543,65.612012],[-172.353955,65.495996],[-172.391992,65.474561],[-172.417773,65.449561],[-172.305713,65.447803],[-172.232812,65.455713],[-172.211572,65.425195],[-172.269873,65.302734],[-172.309277,65.275635],[-172.661914,65.248535],[-172.573145,65.228223],[-172.48208,65.221875],[-172.378711,65.226709],[-172.286035,65.205713],[-172.223682,65.128711],[-172.213184,65.048145],[-172.304346,65.002148],[-172.39873,64.964746],[-172.592822,64.907959],[-172.79248,64.88291],[-172.897363,64.889209],[-172.999121,64.876611],[-173.066211,64.847168],[-173.085791,64.817334],[-172.998047,64.837109],[-172.896875,64.826074],[-172.801074,64.790527],[-172.811572,64.761182],[-172.902588,64.729199],[-172.924023,64.704932],[-172.889062,64.664014],[-172.900879,64.628857],[-172.85415,64.609912],[-172.746875,64.603271],[-172.616113,64.577881],[-172.487402,64.544189],[-172.436621,64.515332],[-172.393848,64.474658],[-172.37876,64.431543],[-172.401465,64.413916],[-172.694678,64.40708],[-172.73916,64.412256],[-172.755957,64.459961],[-172.791504,64.498926],[-172.903174,64.526074],[-172.949023,64.507373],[-172.915869,64.369434],[-172.960059,64.327686],[-173.009131,64.297461],[-173.157422,64.279736],[-173.275488,64.289648],[-173.375684,64.354883],[-173.375537,64.4104],[-173.309229,64.442676],[-173.309326,64.487451],[-173.32749,64.539551],[-173.395654,64.479004],[-173.474951,64.428613],[-173.603613,64.365479],[-173.665967,64.357324],[-173.729736,64.364502],[-173.897852,64.409717],[-174.001367,64.448975],[-174.204834,64.577783],[-174.318018,64.637646],[-174.570557,64.717773],[-174.830469,64.775977],[-175.036035,64.813672],[-175.14585,64.809277],[-175.255908,64.793994],[-175.395117,64.802393],[-175.442139,64.816699],[-175.483203,64.848584],[-175.520654,64.86709],[-175.715869,64.946094],[-175.853857,65.01084],[-175.859473,65.054199],[-175.830225,65.105518],[-175.856152,65.232812],[-175.922949,65.35249],[-176.093262,65.471045],[-176.547461,65.547559],[-176.922119,65.601367],[-177.05625,65.613623],[-177.175244,65.60166],[-177.48877,65.503711],[-177.698633,65.489697],[-178.310205,65.484863],[-178.4125,65.495557],[-178.504639,65.537207],[-178.525928,65.593018],[-178.499316,65.696631],[-178.502344,65.74043],[-178.526221,65.755225],[-178.558545,65.754004],[-178.67915,65.795361],[-178.791064,65.864746],[-178.879346,65.936475],[-178.939063,66.032764],[-178.858252,66.037549],[-178.746729,66.013672],[-178.730566,66.037256],[-178.693799,66.124219],[-178.61626,66.166016],[-178.586523,66.198437],[-178.534131,66.316553],[-178.526563,66.401562],[-178.615771,66.355176],[-178.752783,66.237256],[-178.82085,66.202686],[-178.868115,66.187061],[-178.915527,66.179932],[-179.026123,66.203516],[-179.105078,66.231934],[-179.106885,66.346094],[-179.143408,66.375049],[-179.178369,66.35332],[-179.192676,66.312549],[-179.293164,66.305078],[-179.340137,66.2875],[-179.316211,66.219824],[-179.327197,66.162598],[-179.422656,66.141064],[-179.616162,66.127881],[-179.683301,66.184131],[-179.740869,66.105762],[-179.783643,66.017969],[-179.789697,65.900879],[-179.72832,65.803809],[-179.640625,65.757568],[-179.449072,65.687842],[-179.365967,65.638623],[-179.344385,65.575244],[-179.3521,65.516748],[-179.45166,65.445312],[-179.519336,65.386279],[-179.635156,65.244141],[-179.70459,65.187207],[-180,65.067236],[-180,65.311963],[-180,65.556787],[-180,65.801563],[-180,66.046289],[-180,66.291064],[-180,66.53584],[-180,66.780566],[-180,67.025342],[-180,67.270117],[-180,67.514844],[-180,67.759619],[-180,68.004395],[-180,68.249121],[-180,68.493896],[-180,68.738672],[-179.999951,68.983447],[-179.798535,68.94043]]],[[[130.687305,42.302539],[130.658008,42.327783],[130.651563,42.37251],[130.617969,42.415625],[130.554102,42.474707],[130.526953,42.5354],[130.584473,42.567334],[130.576563,42.623242],[130.520605,42.674316],[130.439258,42.685547],[130.419922,42.699854],[130.424805,42.727051],[130.452734,42.75542],[130.492969,42.779102],[130.577246,42.811621],[130.722461,42.83584],[130.80332,42.856836],[130.868555,42.86333],[130.942871,42.851758],[131.005566,42.883105],[131.068555,42.902246],[131.083496,42.956299],[131.086133,43.038086],[131.108984,43.062451],[131.135547,43.097607],[131.175586,43.142187],[131.211914,43.257764],[131.239355,43.337646],[131.257324,43.378076],[131.261816,43.433057],[131.243945,43.469043],[131.20918,43.49043],[131.182422,43.505566],[131.180078,43.56709],[131.183594,43.650879],[131.174219,43.704736],[131.213281,44.00293],[131.255273,44.071582],[131.125781,44.469189],[131.086914,44.595654],[131.060645,44.659668],[131.003906,44.753223],[130.967773,44.799951],[130.981641,44.844336],[131.033008,44.888867],[131.082324,44.91001],[131.22793,44.920166],[131.268262,44.936133],[131.446875,44.984033],[131.4875,45.013135],[131.578711,45.083643],[131.613965,45.136572],[131.654004,45.205371],[131.74209,45.242627],[131.794922,45.305273],[131.851855,45.326855],[131.909277,45.27373],[131.977539,45.243994],[132.067383,45.225977],[132.181348,45.203271],[132.362988,45.159961],[132.549023,45.122803],[132.665625,45.093701],[132.723145,45.080566],[132.838672,45.061133],[132.88877,45.046045],[132.936035,45.029932],[133.011719,45.074561],[133.113477,45.130713],[133.096875,45.220459],[133.113379,45.321436],[133.186035,45.494824],[133.266992,45.545264],[133.30957,45.553076],[133.355469,45.572217],[133.436426,45.604687],[133.465625,45.651221],[133.449121,45.705078],[133.475781,45.757666],[133.484668,45.810449],[133.513086,45.878809],[133.551172,45.897803],[133.608008,45.920312],[133.647852,45.955225],[133.685742,46.008936],[133.711133,46.069629],[133.700684,46.139746],[133.750195,46.185937],[133.832813,46.224268],[133.861328,46.247754],[133.874805,46.309082],[133.880273,46.336035],[133.902734,46.366943],[133.886719,46.430566],[133.866602,46.499121],[133.95752,46.614258],[134.022656,46.713184],[134.038574,46.858154],[134.045996,46.881982],[134.071387,46.950781],[134.086426,46.978125],[134.136914,47.068994],[134.202148,47.128076],[134.189258,47.194238],[134.162988,47.25874],[134.167676,47.302197],[134.225195,47.352637],[134.260059,47.377734],[134.29082,47.413574],[134.339453,47.429492],[134.38252,47.438232],[134.483496,47.447363],[134.541895,47.485156],[134.596191,47.523877],[134.695801,47.624854],[134.728125,47.684473],[134.752344,47.71543],[134.698633,47.801416],[134.650293,47.874268],[134.591309,47.975195],[134.566016,48.02251],[134.605371,48.08291],[134.647266,48.120166],[134.669336,48.15332],[134.680859,48.210449],[134.665234,48.253906],[134.563574,48.321729],[134.456152,48.355322],[134.334961,48.368848],[134.293359,48.373437],[134.205859,48.359912],[133.842188,48.27373],[133.671777,48.207715],[133.573242,48.133008],[133.468359,48.097168],[133.301172,48.101514],[133.144043,48.105664],[133.020117,48.064404],[132.877148,47.979102],[132.772852,47.940088],[132.707227,47.947266],[132.636914,47.890088],[132.561914,47.768506],[132.47627,47.71499],[132.380176,47.729492],[132.149805,47.717969],[131.785254,47.680518],[131.556738,47.682031],[131.464258,47.722607],[131.319336,47.727832],[131.121875,47.697656],[131.002734,47.691455],[130.961914,47.709326],[130.932813,47.759814],[130.91543,47.84292],[130.848633,47.929443],[130.732617,48.019238],[130.712109,48.127637],[130.787207,48.25459],[130.804297,48.341504],[130.763477,48.388428],[130.746875,48.430371],[130.65918,48.483398],[130.597266,48.574658],[130.552148,48.60249],[130.565625,48.680127],[130.617188,48.773193],[130.553125,48.861182],[130.355273,48.866357],[130.195996,48.89165],[130.037109,48.972266],[129.792578,49.198877],[129.671094,49.278516],[129.591406,49.28667],[129.533691,49.323437],[129.498145,49.388818],[129.440723,49.389453],[129.384668,49.389453],[129.350098,49.362354],[129.309863,49.353857],[129.248438,49.378662],[129.185156,49.381396],[129.120117,49.362061],[129.065137,49.374658],[129.020313,49.419238],[128.938281,49.448926],[128.819336,49.46377],[128.770313,49.494727],[128.791016,49.541846],[128.769043,49.576953],[128.704004,49.600146],[128.526758,49.594238],[128.237109,49.559277],[127.999609,49.568604],[127.814258,49.622119],[127.711133,49.671533],[127.690137,49.716748],[127.636719,49.760205],[127.550781,49.801807],[127.502441,49.873437],[127.491797,49.975049],[127.512305,50.07168],[127.590234,50.208984],[127.395313,50.298584],[127.337207,50.350146],[127.351172,50.393604],[127.34082,50.428076],[127.306055,50.453516],[127.308203,50.494189],[127.347168,50.550098],[127.346875,50.621338],[127.307031,50.707959],[127.198242,50.829443],[127.02041,50.985889],[126.924805,51.100146],[126.911523,51.172314],[126.887695,51.230127],[126.854395,51.261377],[126.833789,51.314893],[126.847754,51.37417],[126.827344,51.412256],[126.801758,51.448047],[126.805469,51.505664],[126.774512,51.545068],[126.70918,51.566309],[126.688672,51.609912],[126.700781,51.703027],[126.653711,51.781299],[126.510547,51.92583],[126.468066,52.031299],[126.455566,52.126465],[126.394824,52.172998],[126.391504,52.214502],[126.383496,52.286523],[126.346289,52.30625],[126.324219,52.331641],[126.341699,52.362012],[126.312891,52.399756],[126.237598,52.444824],[126.20293,52.483838],[126.194434,52.519141],[126.156641,52.546631],[126.045898,52.57334],[126.016016,52.610205],[126.023242,52.643018],[126.04707,52.673486],[126.060156,52.691992],[126.056055,52.715869],[126.048145,52.739453],[126.004297,52.767871],[125.941602,52.800684],[125.871875,52.871533],[125.782813,52.890723],[125.728125,52.890723],[125.680762,52.930811],[125.695312,52.956299],[125.691699,53.003711],[125.649023,53.042285],[125.595996,53.057471],[125.545996,53.047607],[125.422461,53.08374],[125.225586,53.16582],[125.075,53.203662],[124.970898,53.197314],[124.906641,53.172656],[124.882129,53.129736],[124.812305,53.133838],[124.639844,53.210645],[124.465918,53.229639],[124.369141,53.270947],[124.291406,53.340869],[124.219922,53.370117],[124.154297,53.358691],[123.994727,53.405615],[123.740918,53.510986],[123.607813,53.546533],[123.559766,53.52666],[123.534766,53.526465],[123.489453,53.529443],[123.424023,53.530762],[123.30957,53.555615],[123.154102,53.54458],[122.957617,53.497705],[122.744727,53.468506],[122.51582,53.456982],[122.380176,53.4625],[122.337793,53.48501],[122.088867,53.451465],[121.743945,53.383594],[121.405469,53.317041],[120.985449,53.28457],[120.704102,53.171826],[120.421289,52.968066],[120.218164,52.839893],[120.094531,52.787207],[120.044336,52.718213],[120.067578,52.63291],[120.172754,52.60249],[120.360059,52.627002],[120.521094,52.615039],[120.656152,52.56665],[120.699219,52.493604],[120.650391,52.395898],[120.66543,52.299902],[120.744531,52.205469],[120.749805,52.096533],[120.681445,51.973047],[120.510547,51.848535],[120.237012,51.722998],[120.066895,51.600684],[119.966992,51.422119],[119.813184,51.267041],[119.756641,51.179492],[119.745996,51.107715],[119.684961,51.030127],[119.573438,50.946777],[119.512305,50.863135],[119.501758,50.779248],[119.445703,50.702832],[119.344043,50.633887],[119.280664,50.560986],[119.255859,50.48418],[119.216699,50.43252],[119.163672,50.406006],[119.191895,50.379834],[119.301562,50.353906],[119.346289,50.278955],[119.326074,50.154932],[119.259863,50.066406],[119.147461,50.013379],[118.979492,49.978857],[118.755957,49.962842],[118.451563,49.844482],[118.186621,49.692773],[117.873438,49.513477],[117.812598,49.513525],[117.698438,49.53584],[117.477148,49.609424],[117.245605,49.624854],[117.02168,49.692969],[116.888965,49.737793],[116.683301,49.823779],[116.631543,49.877051],[116.551172,49.920312],[116.351172,49.978076],[116.216797,50.009277],[116.13457,50.010791],[115.925977,49.952148],[115.795215,49.905908],[115.717773,49.880615],[115.587988,49.886035],[115.429199,49.896484],[115.365039,49.911768],[115.274512,49.948877],[115.098047,50.059424],[115.00332,50.138574],[114.87959,50.183057],[114.743164,50.233691],[114.674902,50.245703],[114.554004,50.241455],[114.386328,50.255469],[114.29707,50.274414],[114.221777,50.257275],[114.070703,50.204736],[113.881152,50.101123],[113.732422,50.061523],[113.574219,50.007031],[113.445508,49.941602],[113.319043,49.874316],[113.16416,49.797168],[113.09209,49.692529],[113.055566,49.61626],[112.914844,49.569238],[112.806445,49.523584],[112.697363,49.507275],[112.494922,49.532324],[112.375195,49.5146],[112.079688,49.424219],[111.934473,49.416016],[111.833398,49.403613],[111.735547,49.397754],[111.574805,49.376416],[111.511914,49.360937],[111.429297,49.342627],[111.336621,49.355859],[111.204199,49.304297],[110.82793,49.166162],[110.709766,49.142969],[110.631055,49.137598],[110.52959,49.187061],[110.427832,49.219971],[110.321387,49.215869],[110.199902,49.17041],[109.994531,49.205615],[109.750391,49.239307],[109.528711,49.269873],[109.453711,49.296338],[109.236719,49.334912],[108.919922,49.335352],[108.733008,49.335645],[108.613672,49.322803],[108.522461,49.341504],[108.406934,49.396387],[108.213086,49.524805],[108.098047,49.562646],[108.033789,49.593994],[108.00957,49.646875],[107.96543,49.653516],[107.936719,49.691016],[107.93877,49.740723],[107.934863,49.849023],[107.947852,49.924707],[107.916602,49.947803],[107.786816,49.96001],[107.630957,49.983105],[107.34707,49.98667],[107.233301,49.989404],[107.143066,50.033008],[107.040234,50.086475],[106.941309,50.19668],[106.853711,50.248291],[106.711133,50.312598],[106.574414,50.328809],[106.368457,50.317578],[106.217871,50.30459],[106.08252,50.332568],[105.996484,50.36792],[105.875195,50.405371],[105.692578,50.41416],[105.541602,50.44126],[105.383594,50.47373],[105.266699,50.460498],[105.185938,50.42959],[105.094727,50.389941],[104.976953,50.38291],[104.685352,50.341846],[104.596387,50.317187],[104.466309,50.306152],[104.353906,50.275293],[104.259961,50.214453],[104.179688,50.169434],[104.078711,50.154248],[103.958496,50.157275],[103.856152,50.171826],[103.802637,50.176074],[103.723242,50.153857],[103.63291,50.138574],[103.496289,50.164941],[103.421191,50.187061],[103.304395,50.200293],[103.233789,50.264258],[103.161719,50.290723],[103.039453,50.300635],[102.859668,50.333252],[102.76543,50.366553],[102.683301,50.387158],[102.546289,50.461328],[102.469434,50.525684],[102.406836,50.536182],[102.336426,50.544238],[102.288379,50.585107],[102.285742,50.634668],[102.30332,50.665527],[102.316602,50.718457],[102.276563,50.768701],[102.235059,50.791211],[102.215039,50.829443],[102.226172,50.901465],[102.210254,50.974316],[102.194531,51.050684],[102.151953,51.10752],[102.142383,51.216064],[102.160059,51.26084],[102.155664,51.31377],[102.111523,51.353467],[101.979199,51.382227],[101.821191,51.421045],[101.570898,51.467187],[101.464355,51.471484],[101.38125,51.452637],[101.304492,51.474756],[101.223242,51.513281],[101.085352,51.553027],[100.903613,51.604248],[100.710742,51.661572],[100.53623,51.713477],[100.468945,51.726074],[100.230371,51.729834],[100.03457,51.737109],[99.92168,51.755518],[99.787891,51.827539],[99.719238,51.871631],[99.612891,51.892529],[99.532324,51.899902],[99.407031,51.923535],[99.176172,51.998877],[99.091406,52.034863],[99.034277,52.0354],[98.958105,52.101709],[98.893164,52.117285],[98.848633,52.070068],[98.802539,51.957471],[98.760156,51.905078],[98.640527,51.801172],[98.352734,51.717627],[98.303125,51.674268],[98.276855,51.63457],[98.2375,51.578418],[98.219922,51.505615],[98.184668,51.485742],[98.103125,51.483545],[98.037598,51.449951],[97.98916,51.377051],[97.946875,51.348437],[97.923242,51.280469],[97.927344,51.250732],[97.917871,51.217871],[97.91084,51.165186],[97.835742,51.05166],[97.825293,50.985254],[97.856152,50.943359],[97.919824,50.887158],[97.953125,50.855176],[97.96416,50.817676],[97.961914,50.769141],[98.001172,50.702051],[98.029785,50.644629],[98.078906,50.603809],[98.14502,50.568555],[98.220508,50.557178],[98.279492,50.533252],[98.292676,50.486963],[98.277344,50.422998],[98.250293,50.302441],[98.2,50.227686],[98.170117,50.180566],[98.121973,50.106592],[98.103418,50.077832],[98.003906,50.014258],[97.936621,49.996777],[97.853906,49.946777],[97.785547,49.944531],[97.720703,49.944629],[97.650977,49.933594],[97.589355,49.911475],[97.54082,49.843115],[97.418359,49.773047],[97.359766,49.741455],[97.208594,49.730811],[97.136914,49.761719],[97.097656,49.805029],[97.049121,49.829883],[96.985742,49.882812],[96.711719,49.911572],[96.640234,49.897852],[96.598437,49.878418],[96.543262,49.892529],[96.505762,49.918701],[96.466406,49.911523],[96.381152,49.896045],[96.315039,49.901123],[96.229688,49.954102],[96.111719,49.982471],[96.065527,49.99873],[96.018555,49.998779],[95.989551,49.973584],[95.935742,49.96001],[95.899414,49.990576],[95.851953,50.012939],[95.789355,50.0125],[95.707812,49.966016],[95.567187,49.943848],[95.522656,49.91123],[95.441797,49.915527],[95.385645,49.941211],[95.329492,49.944141],[95.166211,49.943848],[95.111426,49.935449],[95.044336,49.961572],[95.012891,50.008252],[94.930273,50.04375],[94.81123,50.048193],[94.718066,50.043262],[94.675488,50.028076],[94.614746,50.02373],[94.564648,50.087939],[94.496875,50.132812],[94.458496,50.165723],[94.400195,50.179639],[94.354688,50.221826],[94.346875,50.303418],[94.319336,50.404883],[94.287012,50.511377],[94.251074,50.556396],[94.075781,50.572852],[93.989844,50.568848],[93.79541,50.577637],[93.662012,50.583691],[93.625586,50.585547],[93.501074,50.597461],[93.386816,50.608496],[93.270508,50.615576],[93.222559,50.606543],[93.103125,50.603906],[93.009863,50.654541],[92.970703,50.7125],[92.963574,50.744922],[92.941309,50.778223],[92.856445,50.789111],[92.779297,50.778662],[92.738672,50.710938],[92.681348,50.683203],[92.62666,50.688281],[92.578906,50.725439],[92.486426,50.765088],[92.426367,50.803076],[92.354785,50.86416],[92.295801,50.849805],[92.279004,50.812207],[92.265332,50.775195],[92.192383,50.700586],[92.104004,50.691992],[91.956543,50.697607],[91.804297,50.693604],[91.706348,50.665527],[91.63418,50.615137],[91.596875,50.575537],[91.52168,50.562012],[91.446484,50.522168],[91.415039,50.468018],[91.34082,50.470068],[91.300586,50.463379],[91.233789,50.452393],[91.062793,50.422607],[91.021582,50.415479],[90.917188,50.36416],[90.838086,50.32373],[90.760742,50.305957],[90.714355,50.259424],[90.655078,50.222363],[90.516895,50.21333],[90.364844,50.166895],[90.311328,50.151172],[90.224512,50.116699],[90.103711,50.10332],[90.053711,50.09375],[90.00498,50.069287],[89.977344,49.984326],[89.878027,49.953516],[89.744238,49.948096],[89.643848,49.903027],[89.634277,49.823291],[89.669531,49.750488],[89.654102,49.71748],[89.579199,49.699707],[89.475,49.660547],[89.395605,49.611523],[89.299219,49.611133],[89.243945,49.627051],[89.20293,49.595703],[89.17998,49.532227],[89.109473,49.501367],[89.008398,49.472803],[88.970605,49.48374],[88.94541,49.507666],[88.900195,49.539697],[88.863867,49.527637],[88.860352,49.481543],[88.831641,49.448437],[88.747852,49.44624],[88.682715,49.464551],[88.633203,49.486133],[88.544336,49.482568],[88.452441,49.472705],[88.393359,49.482861],[88.337793,49.472559],[88.192578,49.451709],[88.135547,49.381494],[88.134277,49.298437],[88.115723,49.256299],[88.028516,49.219775],[87.988086,49.186914],[87.934766,49.164551],[87.818262,49.162109],[87.814258,49.162305],[87.7625,49.16582],[87.668359,49.147217],[87.576563,49.132373],[87.51582,49.122412],[87.476172,49.091455],[87.416699,49.076611],[87.322852,49.085791],[87.296875,49.147656],[87.233691,49.216162],[87.148047,49.239795],[87.070605,49.25459],[87.000977,49.287305],[86.95293,49.32207],[86.812109,49.487891],[86.714355,49.558594],[86.626465,49.562695],[86.614258,49.609717],[86.665332,49.656689],[86.730664,49.695557],[86.728711,49.748682],[86.675488,49.777295],[86.610156,49.769141],[86.522266,49.707764],[86.417969,49.638477],[86.292383,49.5875],[86.242188,49.546338],[86.180859,49.499316],[86.092969,49.505469],[86.02959,49.503418],[85.974414,49.499316],[85.933594,49.550439],[85.880469,49.556543],[85.498438,49.605371],[85.371582,49.623926],[85.291895,49.599463],[85.232617,49.61582],[85.210156,49.664844],[85.136523,49.750732],[85.076465,49.821631],[85.000781,49.894141],[84.975195,49.951074],[84.999707,50.010303],[84.989453,50.061426],[84.924023,50.087988],[84.838965,50.091309],[84.607324,50.202393],[84.499023,50.21875],[84.400977,50.23916],[84.323242,50.23916],[84.257812,50.288232],[84.194531,50.437451],[84.175977,50.520557],[84.099316,50.604736],[84.002344,50.676855],[83.945117,50.774658],[83.859766,50.818018],[83.717773,50.887158],[83.581445,50.935742],[83.357324,50.99458],[83.27373,50.99458],[83.160254,50.989209],[83.092773,50.960596],[83.019238,50.897266],[82.919043,50.893115],[82.76084,50.893359],[82.718555,50.869482],[82.692969,50.826318],[82.611719,50.771484],[82.493945,50.727588],[82.326367,50.741895],[82.211914,50.719434],[82.098047,50.71084],[81.933691,50.766357],[81.752051,50.764404],[81.633887,50.739111],[81.465918,50.739844],[81.431445,50.771143],[81.451563,50.823682],[81.437695,50.871045],[81.410156,50.909766],[81.388281,50.956494],[81.319141,50.966406],[81.124609,50.946289],[81.071484,50.96875],[81.077539,51.014941],[81.112402,51.072363],[81.141016,51.146582],[81.127246,51.191064],[81.026758,51.185693],[80.965625,51.189795],[80.934082,51.242773],[80.877344,51.281445],[80.813086,51.283496],[80.735254,51.293408],[80.650488,51.277344],[80.605469,51.224219],[80.550684,51.216602],[80.491016,51.201758],[80.448047,51.18335],[80.421484,51.136377],[80.433594,51.092627],[80.452246,50.997607],[80.423633,50.946289],[80.345215,50.919092],[80.27041,50.924609],[80.220215,50.911768],[80.127246,50.85835],[80.086328,50.83999],[80.07207,50.807275],[80.065918,50.758203],[79.98623,50.774561],[79.859668,50.955469],[79.716406,51.16001],[79.554297,51.377979],[79.468848,51.493115],[79.14873,51.868115],[78.99209,52.047412],[78.721484,52.357031],[78.475488,52.638428],[78.198047,52.929688],[78.033496,53.094971],[77.859961,53.269189],[77.799414,53.317432],[77.704395,53.37915],[77.469238,53.498779],[77.132422,53.670117],[76.820703,53.822656],[76.575684,53.942529],[76.513086,53.993213],[76.484766,54.022559],[76.458594,54.055273],[76.42207,54.113525],[76.42168,54.151514],[76.65459,54.145264],[76.703027,54.182471],[76.788965,54.321875],[76.837305,54.442383],[76.759375,54.436865],[76.615527,54.387109],[76.53916,54.351074],[76.496484,54.335693],[76.266602,54.311963],[76.140527,54.258545],[75.880664,54.167969],[75.692871,54.114795],[75.656836,54.106006],[75.437207,54.089648],[75.398145,54.068506],[75.392383,54.021729],[75.377051,53.970117],[75.220215,53.893799],[75.052148,53.826709],[74.988965,53.819238],[74.886816,53.834033],[74.83418,53.825684],[74.681445,53.754395],[74.451953,53.647266],[74.430469,53.603711],[74.429297,53.550732],[74.402734,53.504443],[74.351562,53.487646],[74.277344,53.527734],[74.209961,53.576465],[74.068652,53.611426],[73.858984,53.619727],[73.731152,53.602783],[73.642969,53.57627],[73.469922,53.468896],[73.406934,53.447559],[73.371875,53.454395],[73.361914,53.506201],[73.326855,53.543164],[73.285742,53.598389],[73.305664,53.707227],[73.399414,53.811475],[73.554199,53.868311],[73.678906,53.929443],[73.715527,53.996191],[73.712402,54.042383],[73.666406,54.063477],[73.617969,54.067383],[73.589941,54.044971],[73.505664,53.999316],[73.380664,53.962842],[73.276563,53.955615],[73.229883,53.957812],[73.119336,53.980762],[72.914062,54.107324],[72.741016,54.124512],[72.622266,54.134326],[72.582715,54.121582],[72.564258,54.09043],[72.575586,54.056494],[72.599219,54.023047],[72.585938,53.995947],[72.530273,53.975781],[72.446777,53.941846],[72.404297,53.964453],[72.383008,54.053662],[72.387305,54.123047],[72.329492,54.181445],[72.269141,54.272119],[72.186035,54.325635],[72.105371,54.308447],[72.065625,54.231641],[72.004492,54.205664],[71.887402,54.221484],[71.677148,54.178027],[71.336426,54.15835],[71.093164,54.212207],[71.052734,54.260498],[71.152148,54.364062],[71.159766,54.45542],[71.15918,54.538623],[71.185547,54.599316],[71.12627,54.715039],[70.991797,54.950488],[70.910156,55.127979],[70.790332,55.261133],[70.738086,55.305176],[70.486328,55.282373],[70.417188,55.253174],[70.371484,55.212256],[70.293359,55.183594],[70.182422,55.162451],[70.087402,55.176758],[69.981738,55.199072],[69.870215,55.245654],[69.740234,55.307373],[69.493262,55.356885],[69.246973,55.37251],[68.977246,55.3896],[68.842969,55.35835],[68.712891,55.308496],[68.524805,55.204834],[68.438477,55.194434],[68.301953,55.186523],[68.20625,55.160937],[68.225293,55.115234],[68.244043,55.052441],[68.209375,55.003027],[68.155859,54.976709],[68.073828,54.95957],[67.939941,54.953711],[67.829883,54.943555],[67.693359,54.872412],[67.484668,54.854492],[67.257324,54.828809],[67.09834,54.788184],[66.754492,54.737891],[66.555371,54.71543],[66.222656,54.667383],[65.954688,54.659521],[65.914258,54.693311],[65.707813,54.618701],[65.476953,54.623291],[65.434375,54.593311],[65.378125,54.564453],[65.315918,54.551562],[65.237402,54.516064],[65.192188,54.441113],[65.157813,54.364404],[65.088379,54.340186],[64.99541,54.36875],[64.926758,54.396631],[64.809277,54.368555],[64.649902,54.352246],[64.525098,54.362158],[64.46123,54.38418],[64.199414,54.347412],[64.062891,54.30293],[64.037402,54.279736],[64.003906,54.26709],[63.84707,54.236475],[63.721191,54.24502],[63.701367,54.243213],[63.582031,54.221924],[63.413672,54.183203],[63.292676,54.170459],[63.191309,54.171045],[63.126563,54.139258],[63.073926,54.105225],[62.632715,54.069287],[62.588281,54.044434],[62.499023,54.013184],[62.040234,54.002637],[62.002344,53.979932],[61.985645,53.954395],[61.928711,53.946484],[61.598145,53.994922],[61.333691,54.049268],[61.231055,54.019482],[61.14375,53.963818],[61.113184,53.882471],[61.113184,53.812988],[61.113184,53.753467],[61.073535,53.710449],[60.985547,53.657422],[60.979492,53.621729],[61.098535,53.583105],[61.247949,53.550977],[61.336133,53.565186],[61.409961,53.587061],[61.474121,53.580273],[61.519141,53.554492],[61.534961,53.523291],[61.526563,53.501562],[61.498535,53.484668],[61.400977,53.455811],[61.311621,53.465723],[61.228906,53.445898],[61.185938,53.406201],[61.162793,53.336768],[61.199219,53.287158],[61.310938,53.275195],[61.436816,53.239404],[61.576172,53.222461],[61.659863,53.228467],[61.766211,53.173926],[62.014648,53.107861],[62.081055,53.057422],[62.082715,53.00542],[62.037109,52.966113],[61.974219,52.94375],[61.888574,52.955908],[61.719336,52.969385],[61.533594,52.978516],[61.400781,52.995996],[61.206934,52.989062],[61.047461,52.972461],[61.006543,52.93335],[60.944727,52.860156],[60.893262,52.819434],[60.802344,52.744727],[60.774414,52.675781],[60.821289,52.569824],[60.979492,52.394775],[60.994531,52.336865],[60.937598,52.280566],[60.828418,52.233398],[60.670313,52.15083],[60.499316,52.146338],[60.425488,52.125586],[60.233691,52.024512],[60.065527,51.976465],[60.030273,51.933252],[60.06748,51.890625],[60.280371,51.834619],[60.3875,51.772998],[60.418359,51.703906],[60.464746,51.651172],[60.630371,51.616943],[60.973535,51.537061],[60.993359,51.528711],[61.014844,51.492383],[61.363086,51.441895],[61.411328,51.414746],[61.554688,51.324609],[61.585059,51.229687],[61.512207,51.137012],[61.465039,50.990234],[61.389453,50.861035],[61.226855,50.774805],[60.942285,50.695508],[60.637988,50.663721],[60.508496,50.669189],[60.424805,50.67915],[60.288086,50.70415],[60.186719,50.769775],[60.112109,50.83418],[60.058594,50.850293],[60.005273,50.839697],[59.955176,50.799268],[59.887793,50.690186],[59.812402,50.582031],[59.751172,50.543945],[59.523047,50.492871],[59.497852,50.511084],[59.523926,50.582812],[59.495117,50.604297],[59.452344,50.62041],[59.170898,50.6479],[59.064355,50.668213],[58.984863,50.676123],[58.883691,50.694434],[58.814063,50.737207],[58.664551,50.868311],[58.547461,50.971045],[58.35918,51.063818],[58.188477,51.081738],[58.174707,51.072266],[58.045117,51.068848],[57.838867,51.09165],[57.828906,51.089014],[57.764844,51.046875],[57.716992,50.980957],[57.653809,50.925146],[57.557813,50.895557],[57.442188,50.888867],[57.3125,50.946533],[57.179004,51.036035],[57.011719,51.065186],[56.849609,51.045557],[56.790332,51.031592],[56.620215,50.980859],[56.566895,51.004492],[56.491406,51.019531],[56.325586,50.936084],[56.143945,50.844629],[56.104492,50.77627],[56.049707,50.713525],[55.929199,50.65376],[55.797656,50.602051],[55.68623,50.582861],[55.542285,50.601807],[55.361133,50.665283],[55.195215,50.744727],[55.014844,50.869775],[54.867969,50.941357],[54.727148,50.998096],[54.641602,51.011572],[54.572949,50.990234],[54.546094,50.946045],[54.565625,50.911279],[54.60625,50.879883],[54.637891,50.781055],[54.65,50.660156],[54.636133,50.591602],[54.596191,50.550684],[54.555273,50.535791],[54.517383,50.541162],[54.471484,50.583789],[54.443359,50.673926],[54.421484,50.780322],[54.297852,50.914062],[54.191113,50.995703],[54.139746,51.040771],[54.041504,51.115186],[53.956836,51.161182],[53.776465,51.213721],[53.688086,51.251807],[53.534668,51.399561],[53.448633,51.444531],[53.338086,51.482373],[53.247266,51.493604],[53.227344,51.484961],[53.038379,51.463721],[52.902637,51.466943],[52.820508,51.49458],[52.735059,51.4979],[52.728125,51.498145],[52.635156,51.479541],[52.617773,51.480762],[52.571191,51.481641],[52.496191,51.512158],[52.423047,51.594238],[52.331055,51.681299],[52.219141,51.709375],[52.007129,51.672705],[51.775391,51.554248],[51.609082,51.483984],[51.473438,51.482031],[51.395996,51.471289],[51.344531,51.475342],[51.301074,51.497412],[51.290723,51.540186],[51.269922,51.594482],[51.163477,51.647461],[51.017871,51.681641],[50.882422,51.719189],[50.793945,51.729199],[50.756152,51.675146],[50.643945,51.58916],[50.516309,51.505615],[50.353711,51.369727],[50.309277,51.321582],[50.246875,51.289502],[50.104883,51.25459],[49.932324,51.197168],[49.822266,51.131885],[49.666309,51.102295],[49.498047,51.083594],[49.424609,51.027002],[49.379492,50.934668],[49.323438,50.851709],[49.058691,50.726074],[48.91377,50.64458],[48.808398,50.601318],[48.734766,50.606885],[48.655176,50.619873],[48.625098,50.612695],[48.666016,50.550342],[48.700488,50.35376],[48.749414,50.228467],[48.784766,50.156445],[48.817969,50.099854],[48.843262,50.013135],[48.810254,49.962402],[48.758984,49.92832],[48.6,49.874707],[48.434277,49.828516],[48.334961,49.858252],[48.224805,49.931934],[48.181348,49.97002],[48.060742,50.093604],[47.849609,50.282324],[47.705762,50.377979],[47.599609,50.413574],[47.503613,50.402734],[47.429199,50.357959],[47.376367,50.318115],[47.326465,50.273535],[47.294727,50.21748],[47.297656,50.140234],[47.295215,50.058496],[47.24834,50.000879],[47.12959,49.939062],[46.991992,49.852734],[46.889551,49.696973],[46.823145,49.502246],[46.802051,49.36709],[46.85293,49.303857],[46.953418,49.252588],[47.018164,49.199902],[47.031348,49.150293],[47.014258,49.09834],[46.962207,49.03833],[46.85293,48.969629],[46.702637,48.805566],[46.60918,48.573877],[46.660938,48.412256],[46.853125,48.323584],[47.004297,48.284473],[47.064648,48.232471],[47.119043,48.127002],[47.111523,48.020117],[47.093262,47.947705],[47.130762,47.876758],[47.202051,47.79248],[47.292383,47.740918],[47.387305,47.768652],[47.481934,47.803906],[47.600195,47.78999],[47.934668,47.760693],[48.109961,47.74541],[48.166992,47.708789],[48.275684,47.589941],[48.413086,47.456494],[48.552539,47.320996],[48.600684,47.262305],[48.714355,47.100488],[48.831836,46.954932],[48.959375,46.774609],[48.950293,46.725781],[48.883594,46.70542],[48.776367,46.710352],[48.693555,46.736816],[48.64707,46.758691],[48.605273,46.765918],[48.558398,46.757129],[48.518555,46.734326],[48.502344,46.698633],[48.50918,46.649951],[48.541211,46.605615],[48.586035,46.5771],[48.610156,46.566455],[48.774316,46.507959],[48.958984,46.442139],[49.184277,46.348828],[49.232227,46.337158],[49.245898,46.291602],[49.125488,46.281738],[49.110645,46.228467],[49.07959,46.189209],[48.809961,46.100488],[48.742578,46.100732],[48.683691,46.086182],[48.687305,46.02876],[48.703418,45.976221],[48.749609,45.920557],[48.72959,45.896826],[48.689648,45.888867],[48.637402,45.905762],[48.589063,45.934863],[48.537305,45.942139],[48.487012,45.934863],[48.257617,45.777783],[48.15918,45.737012],[48.052832,45.720996],[47.830176,45.663037],[47.763965,45.665967],[47.701074,45.686182],[47.649805,45.656738],[47.633301,45.584033],[47.574023,45.634277],[47.508398,45.67417],[47.479395,45.687598],[47.463281,45.679688],[47.524219,45.601709],[47.529492,45.530225],[47.514551,45.490918],[47.488672,45.455078],[47.454492,45.433057],[47.413086,45.421045],[47.391113,45.294775],[47.35127,45.217725],[47.296191,45.149463],[47.221484,45.024268],[47.161523,44.969629],[47.114746,44.905957],[47.083789,44.816992],[47.039258,44.837891],[47.00293,44.876074],[46.983691,44.825586],[46.957422,44.782568],[46.841211,44.718262],[46.755273,44.656543],[46.716113,44.560693],[46.707227,44.50332],[46.720898,44.45166],[46.753027,44.420654],[46.915723,44.387158],[47.023633,44.343262],[47.122656,44.26167],[47.229883,44.192383],[47.307031,44.103125],[47.361523,43.993359],[47.429199,43.779883],[47.462793,43.555029],[47.562598,43.834668],[47.646484,43.884619],[47.627832,43.805957],[47.567969,43.684961],[47.508984,43.509717],[47.489844,43.381689],[47.511621,43.270752],[47.512891,43.21875],[47.463184,43.035059],[47.488867,42.999756],[47.529004,42.967139],[47.634863,42.903467],[47.709082,42.810937],[47.727734,42.680713],[47.769727,42.644775],[47.822363,42.613477],[48.080176,42.353711],[48.228613,42.180957],[48.303027,42.080225],[48.383789,41.953418],[48.426367,41.923975],[48.476758,41.905127],[48.572852,41.844482],[48.518652,41.779346],[48.430664,41.66333],[48.391406,41.601904],[48.298145,41.54502],[48.142285,41.484766],[48.056055,41.458691],[47.963672,41.333984],[47.861133,41.212744],[47.791016,41.199268],[47.591797,41.218115],[47.520605,41.229053],[47.317676,41.282422],[47.261133,41.315088],[47.205273,41.455615],[47.142578,41.516064],[47.063965,41.554688],[47.010156,41.5875],[46.987793,41.621387],[46.930859,41.67041],[46.825586,41.743408],[46.749316,41.812598],[46.690332,41.831348],[46.616016,41.806934],[46.571289,41.800098],[46.552148,41.812305],[46.537695,41.87041],[46.429883,41.890967],[46.411523,41.904639],[46.267773,41.960352],[46.212695,41.989893],[46.159766,41.992041],[46.048438,42.00874],[45.954004,42.0354],[45.910352,42.070703],[45.845996,42.109961],[45.726562,42.158887],[45.638574,42.205078],[45.634277,42.234717],[45.688379,42.357373],[45.727539,42.475049],[45.705273,42.498096],[45.655566,42.517676],[45.562891,42.535742],[45.34375,42.529785],[45.208203,42.648242],[45.160254,42.675],[45.071582,42.694141],[44.943359,42.730273],[44.870996,42.756396],[44.850488,42.746826],[44.771094,42.616797],[44.691797,42.709619],[44.644336,42.734717],[44.576465,42.748486],[44.505859,42.748633],[44.329492,42.703516],[44.199707,42.653613],[44.102734,42.616357],[44.004688,42.595605],[43.957422,42.566553],[43.825977,42.571533],[43.759863,42.593848],[43.738379,42.616992],[43.749902,42.65752],[43.79541,42.702979],[43.79873,42.727783],[43.782617,42.747021],[43.623047,42.807715],[43.557813,42.844482],[43.347949,42.89668],[43.08916,42.989062],[43.000195,43.049658],[42.991602,43.091504],[42.890039,43.132617],[42.760645,43.16958],[42.660254,43.159082],[42.566016,43.155127],[42.419043,43.224219],[42.279688,43.228076],[42.122266,43.207324],[42.087793,43.199121],[42.05,43.190137],[41.580566,43.219238],[41.460742,43.276318],[41.358203,43.333398],[41.083105,43.374463],[40.941992,43.418066],[40.80166,43.479932],[40.648047,43.533887],[40.518945,43.512012],[40.342285,43.542725],[40.150195,43.569775],[40.08457,43.553125],[40.02373,43.484863],[39.97832,43.419824],[39.873633,43.472803],[39.516699,43.727881],[39.329395,43.897266],[38.717285,44.288086],[38.63584,44.318018],[38.311816,44.374463],[38.18125,44.419678],[37.851465,44.698828],[37.704883,44.661377],[37.572461,44.67085],[37.495117,44.695264],[37.411328,44.735352],[37.352344,44.788379],[37.284082,44.905029],[37.204785,44.971973],[36.944434,45.06958],[36.650781,45.126465],[36.627637,45.151318],[36.619141,45.185498],[36.873047,45.251758],[36.941211,45.289697],[36.811035,45.340039],[36.761621,45.34834],[36.72041,45.371875],[36.79375,45.409717],[36.865918,45.427051],[36.977832,45.383594],[37.103516,45.302881],[37.213574,45.272314],[37.264258,45.310937],[37.647168,45.377197],[37.672949,45.429736],[37.671875,45.488379],[37.634375,45.486328],[37.609961,45.499512],[37.612402,45.564697],[37.669238,45.654053],[37.840918,45.799561],[37.933105,46.001709],[38.014258,46.047754],[38.073828,46.01709],[38.069727,45.969873],[38.07959,45.934814],[38.132812,46.002832],[38.183594,46.094824],[38.311816,46.095361],[38.400391,46.080029],[38.492285,46.090527],[38.315234,46.241943],[38.077734,46.394336],[37.977539,46.382861],[37.913867,46.406494],[37.80957,46.53208],[37.766504,46.636133],[37.867383,46.633789],[37.967969,46.618018],[38.159473,46.690674],[38.22998,46.70127],[38.343457,46.67832],[38.500977,46.663672],[38.487988,46.732178],[38.438672,46.813086],[38.630762,46.873047],[38.801074,46.906152],[39.126758,47.023438],[39.270703,47.044141],[39.289062,47.070898],[39.293457,47.105762],[39.244531,47.199512],[39.195703,47.268848],[39.02373,47.272217],[38.92832,47.175684],[38.668164,47.143945],[38.552441,47.150342],[38.644336,47.212207],[38.736035,47.23584],[38.761914,47.261621],[38.577246,47.239111],[38.484766,47.175537],[38.214355,47.091455],[38.205859,47.135596],[38.201367,47.175244],[38.221191,47.212744],[38.265332,47.236963],[38.280762,47.259033],[38.280762,47.27666],[38.241016,47.287695],[38.208008,47.296533],[38.201367,47.320801],[38.212402,47.342773],[38.243262,47.373682],[38.256543,47.408936],[38.258789,47.479541],[38.287402,47.55918],[38.368848,47.609961],[38.510938,47.622412],[38.640625,47.665918],[38.718945,47.714111],[38.822266,47.837012],[38.900293,47.855127],[39.057813,47.848486],[39.158496,47.837402],[39.391016,47.83374],[39.658496,47.841211],[39.735938,47.844824],[39.778711,47.887549],[39.775781,47.964453],[39.813965,48.035303],[39.885059,48.168359],[39.961035,48.237939],[39.95791,48.268896],[39.918164,48.281934],[39.866309,48.288428],[39.847461,48.302783],[39.849902,48.331934],[39.889844,48.360449],[39.882617,48.419092],[39.85752,48.484229],[39.835645,48.542773],[39.76543,48.571875],[39.644727,48.591211],[39.67041,48.662451],[39.70459,48.739355],[39.755859,48.78208],[39.792871,48.807715],[39.904102,48.79375],[39.984473,48.807373],[40.003613,48.82207],[39.98916,48.851416],[39.86377,48.877979],[39.75332,48.914453],[39.705664,48.95957],[39.686523,49.00791],[39.759473,49.036572],[39.889746,49.064062],[39.976367,49.129834],[40.07002,49.200293],[40.108789,49.251562],[40.12832,49.307227],[40.126172,49.368848],[40.057813,49.431543],[40.057813,49.49707],[40.094922,49.542676],[40.080664,49.576855],[40.030664,49.596729],[39.958496,49.590771],[39.876855,49.567676],[39.780566,49.572021],[39.626563,49.650684],[39.462793,49.728027],[39.368457,49.730664],[39.30293,49.742041],[39.245996,49.781934],[39.211816,49.833203],[39.174805,49.855957],[39.114941,49.841748],[39.027734,49.818408],[38.918359,49.824707],[38.77666,49.884326],[38.647754,49.952881],[38.551953,49.95459],[38.451172,49.964062],[38.258594,50.052344],[38.208691,50.051465],[38.177539,50.025391],[38.162695,49.954541],[38.146777,49.939404],[38.1125,49.927832],[38.046875,49.92002],[37.950293,49.964209],[37.704199,50.109082],[37.605078,50.214941],[37.582324,50.291846],[37.501367,50.340723],[37.422852,50.411475],[37.343164,50.417627],[37.254883,50.394971],[37.171094,50.360889],[37.13125,50.351514],[36.988477,50.339551],[36.759082,50.291846],[36.696387,50.24624],[36.619434,50.209229],[36.559668,50.234863],[36.499805,50.280469],[36.368848,50.296826],[36.306055,50.280469],[36.243359,50.311768],[36.189453,50.367822],[36.116406,50.408545],[36.007812,50.419678],[35.890234,50.437109],[35.796191,50.405762],[35.67373,50.345996],[35.591113,50.36875],[35.545508,50.43999],[35.488477,50.459912],[35.411621,50.539697],[35.391699,50.610937],[35.411621,50.642236],[35.440137,50.68208],[35.440137,50.727686],[35.417383,50.767578],[35.383203,50.798926],[35.346094,50.904297],[35.314746,50.949902],[35.309082,50.986914],[35.334766,51.021143],[35.311914,51.043896],[35.269141,51.046777],[35.198047,51.043896],[35.158105,51.060986],[35.115332,51.12085],[35.092578,51.180664],[35.064063,51.203418],[34.990234,51.201758],[34.868555,51.189209],[34.760352,51.169336],[34.712305,51.172217],[34.616797,51.203125],[34.491016,51.237061],[34.23418,51.243799],[34.213867,51.255371],[34.228418,51.276855],[34.280664,51.31167],[34.275,51.340186],[34.229883,51.363232],[34.206543,51.419922],[34.209277,51.484082],[34.200879,51.553809],[34.146777,51.607959],[34.11543,51.644971],[34.121094,51.67915],[34.23916,51.692236],[34.379297,51.716504],[34.402734,51.741504],[34.397852,51.78042],[34.113086,51.979639],[34.015332,52.155957],[33.92207,52.251465],[33.818848,52.315625],[33.735254,52.344775],[33.613379,52.332617],[33.451855,52.333789],[33.287109,52.353564],[33.148438,52.34043],[32.899707,52.256348],[32.806445,52.252637],[32.64541,52.279102],[32.50791,52.308545],[32.435449,52.307227],[32.391309,52.294824],[32.362988,52.272119],[32.282813,52.114014],[32.216797,52.082959],[32.122266,52.050586],[32.041602,52.04502],[31.973828,52.046631],[31.875586,52.070898],[31.782422,52.099414],[31.763379,52.101074],[31.758594,52.12583],[31.690625,52.220654],[31.649902,52.262207],[31.601562,52.284814],[31.577344,52.312305],[31.576563,52.426025],[31.585547,52.532471],[31.615918,52.546191],[31.526172,52.633008],[31.519434,52.69873],[31.563477,52.731445],[31.564844,52.759229],[31.535156,52.798242],[31.442773,52.861816],[31.353027,52.933447],[31.295117,52.989795],[31.258789,53.016699],[31.30293,53.060889],[31.364551,53.138965],[31.388379,53.184814],[31.417871,53.196045],[31.562988,53.20249],[31.668262,53.200928],[31.747461,53.18418],[31.777441,53.146875],[31.849707,53.106201],[32.055469,53.089453],[32.141992,53.091162],[32.250684,53.128369],[32.42627,53.210596],[32.469336,53.270312],[32.578027,53.312402],[32.644434,53.328906],[32.704297,53.336328],[32.710254,53.371436],[32.706445,53.419434],[32.685742,53.448145],[32.469629,53.546973],[32.442383,53.579248],[32.425195,53.617285],[32.450977,53.65332],[32.450195,53.69292],[32.200391,53.78125],[31.992188,53.796875],[31.820801,53.791943],[31.754199,53.810449],[31.783008,53.85498],[31.825293,53.93501],[31.837793,54.000781],[31.825977,54.030713],[31.791992,54.055908],[31.628418,54.111182],[31.403613,54.195947],[31.299121,54.291699],[31.245508,54.39165],[31.184766,54.452979],[31.074805,54.491797],[31.081934,54.51709],[31.154883,54.610937],[31.152148,54.625342],[31.121289,54.648486],[30.98418,54.695898],[30.798828,54.783252],[30.791016,54.806006],[30.804492,54.860937],[30.829883,54.91499],[30.866797,54.940723],[30.977734,55.050488],[30.977734,55.087793],[30.958887,55.137598],[30.877441,55.223437],[30.814453,55.278711],[30.810547,55.306982],[30.820996,55.330273],[30.861816,55.3604],[30.900586,55.397412],[30.908789,55.525342],[30.906836,55.57002],[30.882227,55.596387],[30.855957,55.60752],[30.800781,55.601123],[30.72168,55.622119],[30.662305,55.655469],[30.625586,55.66626],[30.586719,55.700293],[30.475391,55.768799],[30.45625,55.786816],[30.233594,55.845215],[30.042676,55.836426],[29.937012,55.845264],[29.881641,55.832324],[29.823926,55.795117],[29.744141,55.77041],[29.68457,55.769727],[29.630078,55.751172],[29.482227,55.68457],[29.412988,55.724854],[29.353418,55.784375],[29.373145,55.834717],[29.397949,55.881055],[29.396094,55.912207],[29.375,55.938721],[29.283008,55.967871],[29.087402,56.021143],[29.031738,56.021777],[28.947461,56.0021],[28.794727,55.942578],[28.74082,55.955371],[28.69082,56.002637],[28.636914,56.061768],[28.563965,56.091992],[28.407031,56.089014],[28.39209,56.086719],[28.316309,56.052539],[28.284277,56.055908],[28.147949,56.14292],[28.17334,56.190332],[28.202051,56.2604],[28.191699,56.315576],[28.169238,56.386865],[28.11084,56.510693],[28.103125,56.545703],[28.00752,56.599854],[27.991602,56.645312],[27.941406,56.703711],[27.89209,56.741064],[27.881543,56.82417],[27.848633,56.853418],[27.806055,56.86709],[27.655664,56.843213],[27.639453,56.845654],[27.711133,56.978076],[27.717383,57.054639],[27.762793,57.135107],[27.814551,57.166895],[27.830273,57.194482],[27.838281,57.247705],[27.828613,57.293311],[27.796875,57.316943],[27.672754,57.368115],[27.538672,57.429785],[27.511133,57.508154],[27.469727,57.524023],[27.351953,57.528125],[27.354297,57.550293],[27.371777,57.612549],[27.4,57.666797],[27.491992,57.724951],[27.514746,57.764209],[27.54209,57.799414],[27.752832,57.841016],[27.776953,57.856738],[27.778516,57.870703],[27.76875,57.884131],[27.721973,57.905469],[27.673438,57.934619],[27.644141,58.013916],[27.571094,58.138086],[27.502441,58.221338],[27.487793,58.270068],[27.505566,58.32627],[27.530078,58.381494],[27.531348,58.435254],[27.427051,58.733057],[27.43418,58.787256],[27.464453,58.841309],[27.513086,58.886279],[27.621777,58.944971],[27.757617,59.052002],[27.849512,59.192676],[27.897656,59.277637],[27.938184,59.297021],[28.016406,59.301709],[28.046094,59.327832],[28.061328,59.343262],[28.12832,59.357568],[28.151074,59.374414],[28.133008,59.403076],[28.06582,59.453174],[28.0125,59.484277],[28.063965,59.554004],[28.046289,59.647168],[28.013965,59.724756],[28.058008,59.781543],[28.131152,59.786523],[28.2125,59.724658],[28.33457,59.692529],[28.42373,59.734082],[28.453906,59.814258],[28.518164,59.849561],[28.603906,59.818066],[28.747656,59.806689],[28.866895,59.811914],[28.947266,59.82876],[28.981543,59.854785],[29.013379,59.901562],[29.079102,59.960986],[29.147266,59.999756],[29.669727,59.955664],[30.122559,59.873584],[30.156836,59.904297],[30.172656,59.957129],[30.059961,60.002588],[29.976758,60.026367],[29.872266,60.12085],[29.721191,60.195312],[29.569336,60.201855],[29.37041,60.175928],[29.069141,60.191455],[28.812695,60.331543],[28.643164,60.375293],[28.522266,60.482959],[28.491602,60.540137],[28.622461,60.491602],[28.640332,60.542871],[28.650586,60.610986],[28.577832,60.652539],[28.512793,60.677295],[28.179297,60.570996],[27.797656,60.536133],[28.151953,60.74585],[28.407422,60.896924],[28.455078,60.919629],[28.568164,60.960205],[28.662891,61.002832],[28.739063,61.05874],[28.992969,61.169043],[29.25166,61.287793],[29.492383,61.444238],[29.579395,61.493457],[29.690137,61.546094],[29.933203,61.711572],[30.009961,61.757373],[30.306445,61.964844],[30.479688,62.068213],[30.565625,62.127588],[30.935742,62.323779],[31.186719,62.481396],[31.285645,62.567822],[31.382422,62.69165],[31.437305,62.776123],[31.533984,62.8854],[31.536523,62.921631],[31.509277,62.955322],[31.437012,63.007715],[31.336719,63.068066],[31.247461,63.141895],[31.180859,63.208301],[30.974805,63.300635],[30.655273,63.41748],[30.418555,63.504053],[30.055371,63.689014],[29.991504,63.735156],[30.004102,63.747314],[30.210254,63.80332],[30.415332,63.94751],[30.503906,64.020605],[30.526074,64.077295],[30.52793,64.141113],[30.51377,64.2],[30.487891,64.236523],[30.390625,64.282422],[30.108105,64.366113],[30.041895,64.443359],[29.986621,64.524268],[29.985547,64.557715],[30.120117,64.644629],[30.126172,64.688086],[30.110254,64.732568],[30.072852,64.765039],[29.783203,64.804297],[29.70166,64.845752],[29.6375,64.911768],[29.604199,64.968408],[29.600879,65.001953],[29.622461,65.039502],[29.72002,65.080322],[29.81084,65.10791],[29.826953,65.145068],[29.826172,65.185303],[29.810547,65.204736],[29.629688,65.223877],[29.612402,65.234766],[29.608008,65.248682],[29.617188,65.265332],[29.714844,65.336963],[29.728027,65.473438],[29.819434,65.56875],[29.715918,65.624561],[29.723926,65.634375],[29.882617,65.663623],[30.029004,65.670703],[30.095313,65.681689],[30.102734,65.72627],[30.0875,65.786523],[29.936621,66.022949],[29.903418,66.091064],[29.803516,66.177051],[29.720703,66.234863],[29.670898,66.276123],[29.590723,66.356836],[29.544336,66.439697],[29.464355,66.532178],[29.371191,66.617041],[29.293262,66.695508],[29.093066,66.849219],[29.066211,66.891748],[29.069043,66.930225],[29.087012,66.970947],[29.243359,67.096582],[29.387695,67.201416],[29.572266,67.324365],[29.750586,67.426416],[29.941211,67.547461],[29.988086,67.668262],[29.979199,67.688574],[29.821582,67.754004],[29.524219,67.929102],[29.343848,68.061865],[29.062988,68.117969],[28.685156,68.189795],[28.560156,68.351367],[28.470703,68.488379],[28.479297,68.537646],[28.752051,68.771436],[28.777637,68.813818],[28.772852,68.840039],[28.744824,68.856445],[28.705957,68.865527],[28.453516,68.872266],[28.414062,68.90415],[28.566016,68.928223],[28.692188,68.961035],[28.898926,69.009668],[28.96582,69.021973],[29.118555,69.049951],[29.170898,69.071533],[29.209961,69.097021],[29.353027,69.270605],[29.388281,69.298145],[29.832715,69.360449],[29.994043,69.39248],[30.087305,69.432861],[30.131836,69.464258],[30.16377,69.501611],[30.186719,69.542773],[30.196484,69.580566],[30.159766,69.629883],[30.180176,69.63584],[30.227539,69.633789],[30.379688,69.584717],[30.61543,69.532568],[30.788867,69.528516],[30.860742,69.538428],[30.89668,69.56123],[30.922461,69.605811],[30.924121,69.651758],[30.869727,69.783447],[31.049512,69.769238],[31.452734,69.6896],[31.546973,69.696924],[31.666211,69.720996],[31.788574,69.815771],[31.879395,69.831982],[31.997949,69.809912],[32.030566,69.835303],[31.969336,69.913916],[31.98457,69.953662],[32.391602,69.868701],[32.56543,69.806494],[32.941699,69.751855],[33.007812,69.722119],[33.012598,69.670508],[32.994629,69.626172],[32.915039,69.601709],[32.754297,69.605713],[32.176758,69.674023],[32.091504,69.632568],[32.161328,69.596631],[32.330566,69.554248],[32.377734,69.479102],[32.636816,69.489453],[32.883789,69.46084],[32.999805,69.470117],[33.020996,69.445605],[32.941602,69.38335],[32.978906,69.367334],[33.255859,69.427734],[33.384863,69.444287],[33.454297,69.428174],[33.463672,69.378174],[33.417969,69.315283],[33.412988,69.267432],[33.327734,69.151855],[33.196387,69.116846],[33.141211,69.068701],[33.333398,69.098193],[33.435645,69.130371],[33.627051,69.28916],[33.684375,69.310254],[34.229395,69.313135],[34.352734,69.30293],[34.863965,69.228076],[35.00957,69.22124],[35.175879,69.230811],[35.233203,69.265576],[35.289844,69.275439],[35.85791,69.191748],[36.618262,69.003467],[37.730566,68.692139],[38.357617,68.415137],[38.430176,68.355615],[38.656836,68.321875],[38.705566,68.344727],[38.831543,68.324902],[39.568945,68.071729],[39.82334,68.058594],[39.789746,68.112158],[39.746289,68.162207],[39.809277,68.15083],[39.895605,68.114502],[40.035742,68.015381],[40.206641,67.941895],[40.380664,67.831885],[40.525781,67.789697],[40.656543,67.774072],[40.766309,67.743018],[40.966406,67.713477],[41.060938,67.444189],[41.133887,67.386035],[41.133887,67.266943],[41.261719,67.218457],[41.358789,67.209668],[41.354297,67.121436],[41.275586,66.914307],[41.188965,66.826172],[40.521582,66.446631],[40.10332,66.299951],[39.289062,66.132031],[38.653906,66.069043],[38.397559,66.064453],[37.900684,66.095605],[37.628223,66.12959],[37.294824,66.225049],[36.983691,66.272559],[36.769922,66.293555],[36.373438,66.302295],[35.513477,66.395801],[35.363965,66.428662],[34.824609,66.611133],[34.610254,66.559619],[34.482617,66.550342],[34.396094,66.613184],[34.430859,66.629785],[34.451563,66.651221],[34.146094,66.703271],[33.893652,66.706738],[33.75957,66.750977],[33.59541,66.784619],[33.522949,66.764355],[33.482031,66.764551],[33.150195,66.843945],[33.001953,66.908301],[32.847559,67.021533],[32.885254,67.061133],[32.930469,67.086816],[32.399902,67.152686],[31.895313,67.161426],[31.983008,67.129834],[32.201563,67.113232],[32.340625,67.067871],[32.500977,67.003857],[32.463672,66.916309],[32.686426,66.829541],[32.857324,66.746924],[32.862402,66.721387],[32.928711,66.704102],[33.180566,66.679932],[33.224414,66.603857],[33.18291,66.573877],[33.217383,66.531641],[33.405273,66.484277],[33.517676,66.471387],[33.655957,66.442627],[33.593262,66.38457],[33.476953,66.346875],[33.360547,66.329541],[33.41582,66.315625],[33.566699,66.320996],[34.112695,66.225244],[34.399805,66.128418],[34.691797,65.951855],[34.786328,65.864551],[34.793164,65.816357],[34.776953,65.768262],[34.734766,65.716309],[34.715527,65.664062],[34.615723,65.509912],[34.544141,65.456689],[34.406445,65.395752],[34.535938,65.27793],[34.671094,65.168115],[34.803516,64.985986],[34.827148,64.912695],[34.832617,64.800195],[34.952246,64.755957],[34.905469,64.738672],[34.858301,64.706689],[34.869531,64.56001],[35.035352,64.440234],[35.284082,64.362549],[35.432031,64.346777],[35.64707,64.37832],[35.802051,64.335352],[36.146484,64.189014],[36.301953,64.034375],[36.364941,64.002832],[36.71377,63.945068],[36.975195,63.909521],[37.372754,63.816748],[37.442188,63.813379],[37.635352,63.893408],[37.967969,63.949121],[38.070801,64.02583],[38.062207,64.091016],[37.977148,64.207031],[37.953711,64.320117],[37.843555,64.366309],[37.740625,64.396973],[37.42959,64.373584],[37.289551,64.37793],[37.183691,64.408496],[37.04043,64.48916],[36.769336,64.685254],[36.624219,64.750537],[36.578711,64.790967],[36.528223,64.847363],[36.53457,64.938623],[36.65293,64.935449],[36.785938,64.987158],[36.882812,65.172363],[37.050195,65.195898],[37.14082,65.194287],[37.528125,65.108252],[38.009375,64.87876],[38.115723,64.85459],[38.228223,64.851221],[38.412109,64.85708],[38.441992,64.827148],[38.540918,64.79126],[38.613086,64.78667],[39.053516,64.713916],[39.567383,64.570557],[39.758008,64.577051],[39.833008,64.656396],[39.848633,64.690527],[40.057813,64.770752],[40.203711,64.784033],[40.407813,64.754883],[40.444922,64.778711],[40.375391,64.896289],[40.28125,64.998096],[40.142676,65.063281],[39.896484,65.254785],[39.798047,65.349854],[39.749121,65.447949],[39.781152,65.534717],[39.816504,65.597949],[40.327832,65.751709],[40.512793,65.843799],[40.691602,65.963428],[40.774414,65.987891],[41.076074,66.021094],[41.475781,66.123437],[41.780859,66.259326],[42.083594,66.465918],[42.210547,66.519678],[42.313672,66.514746],[42.450781,66.482422],[42.602148,66.42251],[42.806543,66.411328],[43.005957,66.420947],[43.233203,66.415527],[43.550879,66.321289],[43.60332,66.291211],[43.653125,66.250977],[43.550391,66.173389],[43.541895,66.123389],[43.623926,66.146729],[43.737012,66.158398],[43.84375,66.142383],[43.944141,66.098682],[44.016699,66.049756],[44.104395,66.008594],[44.132422,66.064551],[44.145313,66.112744],[44.097168,66.235059],[44.220703,66.40708],[44.316406,66.481689],[44.488672,66.671777],[44.437109,66.794629],[44.429297,66.937744],[44.403906,67.004199],[44.291797,67.099658],[44.074414,67.167334],[43.855371,67.188623],[43.782422,67.254492],[43.795703,67.32959],[43.856348,67.439307],[44.036426,67.670654],[44.225391,67.995605],[44.231543,68.07124],[44.213867,68.112598],[44.226465,68.154443],[44.204688,68.25376],[44.169141,68.3271],[43.404004,68.608545],[43.358008,68.635791],[43.333203,68.673389],[43.413281,68.681738],[43.471973,68.679834],[44.048047,68.548828],[44.175293,68.541748],[45.078125,68.578174],[45.519434,68.546533],[45.891992,68.479687],[46.158398,68.291357],[46.429688,68.118848],[46.683594,67.970459],[46.69043,67.848828],[46.428906,67.823682],[46.174219,67.818164],[45.528711,67.757568],[45.374121,67.688867],[44.939453,67.477441],[44.902148,67.413135],[44.939453,67.350781],[45.138867,67.284717],[45.562207,67.185596],[45.752539,66.98916],[45.885352,66.891064],[45.986035,66.853125],[46.083984,66.843506],[46.297754,66.842822],[46.448535,66.818994],[46.492383,66.800195],[46.552344,66.818994],[46.69082,66.825537],[47.496484,66.929834],[47.655859,66.975928],[47.709082,67.04502],[47.768066,67.275635],[47.839258,67.355713],[47.908203,67.454688],[47.882617,67.515332],[47.874707,67.58418],[48.278711,67.650391],[48.653809,67.695264],[48.833203,67.681494],[48.87793,67.731348],[48.762695,67.827002],[48.695703,67.874219],[48.754297,67.895947],[48.840625,67.869727],[48.953906,67.853809],[49.155273,67.87041],[49.93125,68.065137],[50.233203,68.175342],[50.414062,68.218359],[50.699414,68.317725],[50.838867,68.349951],[51.078516,68.36333],[51.336133,68.402441],[51.616699,68.476318],[51.994727,68.53877],[52.055664,68.541309],[52.128809,68.532031],[52.285352,68.459375],[52.227441,68.418604],[52.183496,68.374268],[52.25918,68.350928],[52.322266,68.339697],[52.39668,68.351709],[52.475,68.382129],[52.669727,68.426758],[52.722656,68.484033],[52.647656,68.506152],[52.550098,68.592432],[52.435059,68.610205],[52.344043,68.608154],[52.683594,68.731201],[53.412891,68.912549],[53.801953,68.995898],[54.18584,69.00332],[54.491211,68.992334],[54.37627,68.964746],[53.874414,68.926611],[53.797656,68.907471],[53.798242,68.884668],[53.919531,68.87124],[53.970605,68.844287],[53.929297,68.811865],[53.891211,68.801514],[53.833887,68.708936],[53.758887,68.633984],[53.917676,68.536963],[53.930859,68.435547],[53.829492,68.382666],[53.690039,68.402539],[53.566699,68.36709],[53.342578,68.343213],[53.293359,68.31167],[53.260547,68.26748],[53.403125,68.256836],[53.515137,68.259668],[53.913672,68.231201],[53.967871,68.227344],[54.099219,68.259033],[54.23291,68.266309],[54.393945,68.275098],[54.476172,68.294141],[54.56123,68.273047],[54.717969,68.18418],[54.861328,68.201855],[54.923047,68.373828],[55.150879,68.480029],[55.418066,68.567822],[55.675293,68.575879],[55.924609,68.637305],[56.043652,68.648877],[56.275684,68.624072],[56.620215,68.619043],[56.909375,68.566699],[57.126855,68.554004],[57.444336,68.641504],[58.173047,68.889746],[58.237012,68.833936],[58.353906,68.916211],[58.918945,69.003809],[59.057324,69.006055],[59.059863,68.972559],[59.110156,68.896289],[59.22041,68.849609],[59.370508,68.738379],[59.29834,68.708447],[59.222559,68.691309],[59.112305,68.616309],[59.099023,68.444336],[59.310742,68.400293],[59.604297,68.351123],[59.725684,68.351611],[59.827539,68.380322],[59.858789,68.396045],[59.897363,68.421924],[59.922852,68.471338],[59.941406,68.510498],[59.865137,68.604932],[59.895996,68.706348],[60.160254,68.699512],[60.48916,68.728955],[60.637695,68.787012],[60.815137,68.895215],[60.933594,68.986768],[60.858594,69.145508],[60.664551,69.110254],[60.337305,69.457031],[60.170605,69.590918],[60.276465,69.652637],[60.558691,69.692334],[60.812988,69.821143],[60.909082,69.847119],[61.015918,69.851465],[61.770508,69.763037],[62.63125,69.743115],[63.361426,69.675293],[64.19043,69.534668],[64.592188,69.435645],[64.928516,69.325391],[64.896289,69.247803],[65.031543,69.269824],[65.326758,69.201367],[65.52793,69.173438],[65.735742,69.132324],[65.812695,69.077002],[66.084766,69.036328],[66.365625,68.961328],[66.416113,68.947852],[66.756445,68.891992],[67.002441,68.873584],[67.149219,68.753955],[67.639648,68.579297],[67.730762,68.513672],[68.156934,68.403662],[68.371191,68.314258],[68.504199,68.348438],[68.829492,68.567432],[69.024316,68.817969],[69.140527,68.950635],[68.924414,68.956201],[68.762891,68.917383],[68.65957,68.927393],[68.542773,68.96709],[68.355078,69.067578],[68.117383,69.23623],[68.073047,69.420801],[68.005859,69.480029],[67.774316,69.52998],[67.624121,69.584424],[67.064453,69.693701],[66.964063,69.655566],[66.93418,69.59668],[66.89668,69.553809],[66.840234,69.60918],[66.804004,69.659229],[66.80293,69.740137],[66.832227,69.842187],[66.926367,70.014258],[67.069043,70.005615],[67.144434,70.030615],[67.239258,70.108057],[67.197461,70.171631],[67.146484,70.219922],[67.156836,70.295117],[67.246875,70.500098],[67.284766,70.738721],[67.211523,70.798438],[67.143359,70.837549],[66.822461,70.797363],[66.702246,70.818506],[66.675195,70.864697],[66.666113,70.900586],[66.758789,70.962354],[66.84707,71.063721],[66.692578,71.041699],[66.639648,71.081396],[66.768066,71.139893],[66.917578,71.282373],[67.274219,71.347852],[67.541797,71.412012],[67.959375,71.548389],[68.269238,71.682812],[68.469434,71.852637],[68.607422,72.012744],[68.829688,72.391553],[69.039062,72.669922],[69.391406,72.955518],[69.611816,72.981934],[69.694336,72.977539],[69.708984,72.956396],[69.658789,72.931836],[69.645117,72.897559],[69.738281,72.884961],[69.8875,72.882568],[70.172168,72.901172],[70.655371,72.890381],[71.500195,72.913672],[71.616992,72.9021],[71.92959,72.819678],[72.100977,72.829004],[72.446387,72.790332],[72.633789,72.744482],[72.812109,72.691406],[72.787402,72.482959],[72.75293,72.343164],[72.624414,72.079443],[72.574121,72.012549],[72.375,71.821631],[72.279492,71.695508],[72.129688,71.60918],[71.912012,71.547949],[71.884375,71.511377],[71.867285,71.457373],[72.079297,71.306689],[72.581348,71.151123],[72.704492,70.963232],[72.731641,70.822852],[72.7,70.457324],[72.65332,70.403418],[72.561914,70.345557],[72.469434,70.274951],[72.529688,70.17251],[72.599414,69.793213],[72.615625,69.484033],[72.557324,69.378418],[72.527051,69.154248],[72.527344,69.080518],[72.576758,68.968701],[72.67832,68.874854],[72.811914,68.815234],[73.190723,68.706787],[73.548047,68.574512],[73.573438,68.532617],[73.591699,68.481885],[73.465234,68.430762],[73.266406,68.294482],[73.139453,68.181348],[73.129395,68.090918],[73.173047,67.973047],[73.152148,67.865039],[73.066797,67.766943],[72.94873,67.69624],[72.594336,67.586963],[71.847461,67.007617],[71.668164,66.939697],[71.365234,66.961523],[71.448926,66.878955],[71.551172,66.760449],[71.539551,66.683105],[71.341992,66.686719],[71.065625,66.604492],[70.939453,66.548145],[70.724902,66.519434],[70.561426,66.548682],[70.382812,66.60249],[70.408887,66.647607],[70.442578,66.668262],[70.567969,66.700879],[70.690723,66.745312],[70.630762,66.754199],[70.579102,66.75376],[70.443945,66.697314],[70.283398,66.685791],[70.09375,66.754346],[69.948633,66.82998],[69.877148,66.845459],[69.74043,66.8146],[69.217773,66.828613],[69.078711,66.815918],[69.013477,66.78833],[69.051172,66.766357],[69.091113,66.723584],[69.143945,66.640723],[69.194336,66.578662],[69.412012,66.510742],[69.700977,66.48457],[69.982422,66.401416],[70.339453,66.342383],[71.145508,66.36665],[71.358008,66.359424],[71.565625,66.33374],[71.916992,66.246729],[72.067578,66.25332],[72.321582,66.332129],[72.383984,66.506543],[72.417383,66.560791],[73.341602,66.806836],[73.513574,66.861084],[73.79209,66.995312],[73.883301,67.084961],[73.98623,67.327686],[74.074512,67.414111],[74.676074,67.694629],[74.769531,67.766357],[74.787305,67.89751],[74.778223,67.985938],[74.742676,68.073535],[74.632422,68.218311],[74.51123,68.303076],[74.391406,68.420605],[74.480957,68.658887],[74.57959,68.751221],[75.124609,68.861719],[75.589551,68.901172],[76.10752,68.975732],[76.316016,68.991504],[76.45918,68.978271],[76.605762,68.897607],[76.735059,68.776904],[77.111719,68.596191],[77.238477,68.46958],[77.261035,68.315576],[77.248438,67.941016],[77.174414,67.778516],[77.325098,67.735645],[77.395605,67.698682],[77.579199,67.643945],[77.675098,67.5896],[77.771582,67.570264],[77.985547,67.55918],[78.589551,67.578467],[78.922461,67.589111],[78.887598,67.613135],[78.839063,67.631201],[78.559082,67.639111],[78.16123,67.678369],[77.588281,67.751904],[77.520117,67.909619],[77.535937,68.007666],[77.664844,68.190381],[77.756836,68.222363],[77.868262,68.234717],[77.995117,68.259473],[77.958691,68.377051],[77.906836,68.482275],[77.785254,68.630469],[77.650684,68.903027],[77.466309,68.905127],[77.32832,68.958643],[76.644922,69.117383],[76.000977,69.235059],[75.561133,69.251807],[75.42002,69.238623],[75.053516,69.116309],[74.814844,69.090576],[74.362598,69.14458],[73.977441,69.114648],[73.836035,69.143213],[73.775684,69.198242],[73.890918,69.417969],[73.832715,69.503906],[73.663281,69.61709],[73.560156,69.707227],[73.578125,69.802979],[73.830176,70.175684],[73.937402,70.272852],[74.206738,70.445459],[74.343359,70.578711],[74.310938,70.653613],[73.731543,71.068701],[73.576563,71.216504],[73.507227,71.263525],[73.365234,71.319775],[73.150488,71.385205],[73.08623,71.444922],[73.671777,71.845068],[73.939453,71.914746],[74.31123,71.957813],[74.489063,71.997021],[74.804102,72.077393],[74.992188,72.144824],[75.053223,72.199219],[75.089941,72.263135],[75.09707,72.420654],[75.060352,72.548779],[75.008008,72.619434],[74.896875,72.710107],[74.786816,72.811865],[74.864941,72.838428],[74.942188,72.853809],[75.152441,72.852734],[75.369336,72.796631],[75.474902,72.68501],[75.603516,72.581055],[75.603125,72.512158],[75.591406,72.457227],[75.644336,72.382275],[75.691113,72.35],[75.741406,72.29624],[75.694434,72.253516],[75.644336,72.232324],[75.550195,72.170801],[75.394531,71.983203],[75.273828,71.958936],[75.247461,71.813379],[75.503223,71.654639],[75.468555,71.534375],[75.417188,71.494678],[75.280273,71.430078],[75.298047,71.378467],[75.332031,71.341748],[75.733594,71.265918],[76.110449,71.218555],[76.741992,71.202051],[76.929004,71.127881],[76.995215,71.181055],[77.589648,71.16792],[78.068262,70.986328],[78.320605,70.93042],[78.525781,70.911816],[78.942187,70.933789],[79.01543,70.950195],[79.083887,71.002002],[78.888672,70.997168],[78.803516,70.973535],[78.723926,70.975977],[78.587695,70.993896],[78.491406,71.025391],[78.386523,71.087109],[78.212598,71.266309],[77.908398,71.324072],[77.706641,71.300586],[77.481055,71.311572],[77.113672,71.409375],[76.871191,71.446582],[76.433398,71.55249],[76.312109,71.595459],[76.215723,71.682861],[76.103613,71.829004],[76.032422,71.9104],[76.124023,71.926611],[76.42168,72.006006],[76.871387,72.033008],[77.061328,72.004199],[77.550781,71.84209],[77.777539,71.836426],[78.186914,71.90708],[78.232422,71.952295],[78.14082,72.044678],[78.016406,72.092041],[77.780664,72.114307],[77.492871,72.071729],[77.41084,72.107764],[77.439746,72.156543],[77.471582,72.192139],[77.625293,72.201416],[77.733203,72.229199],[77.968164,72.328711],[78.225391,72.377441],[78.482617,72.394971],[79.42207,72.380762],[79.953906,72.223047],[80.474023,72.153125],[80.699219,72.098291],[80.7625,72.08916],[80.814746,72.054297],[80.856055,71.970215],[81.51123,71.746143],[81.661621,71.715967],[82.079883,71.706836],[82.547266,71.758594],[82.757812,71.764111],[82.986133,71.748682],[83.106641,71.720508],[83.233594,71.668164],[83.165527,71.602197],[83.105664,71.562451],[82.977051,71.451367],[82.917969,71.419922],[82.493164,71.292871],[82.322852,71.26001],[82.276953,71.093457],[82.254297,71.056201],[82.23916,70.997705],[82.316016,70.879443],[82.335938,70.807373],[82.270703,70.706738],[82.163184,70.598145],[82.182422,70.511475],[82.221191,70.395703],[82.23584,70.430273],[82.231445,70.48291],[82.258398,70.543604],[82.45166,70.690088],[82.59248,70.889941],[82.737793,70.94209],[82.869141,70.954834],[83.010156,70.89541],[83.051074,70.815234],[83.058398,70.694727],[83.030176,70.580518],[82.919824,70.407422],[82.74248,70.286475],[82.682324,70.217725],[82.767285,70.154053],[82.856543,70.104541],[82.961035,70.088281],[83.080762,70.093018],[83.10957,70.10957],[83.132031,70.157178],[83.094141,70.221094],[83.073828,70.276709],[83.293457,70.321338],[83.49707,70.345264],[83.659863,70.418359],[83.700488,70.466406],[83.735938,70.546484],[83.65127,70.672217],[83.578906,70.765918],[83.333887,70.988525],[83.15127,71.103613],[83.266016,71.275879],[83.457617,71.467529],[83.531055,71.514258],[83.550488,71.543652],[83.571289,71.594385],[83.553516,71.649805],[83.534375,71.683936],[83.34043,71.827539],[83.200293,71.874707],[82.755078,71.902832],[82.64541,71.925244],[82.319141,72.071826],[82.280664,72.105127],[82.209277,72.211182],[82.183594,72.237549],[82.093652,72.26543],[81.792871,72.326611],[81.58623,72.351709],[81.282715,72.358838],[81.098145,72.389746],[80.827051,72.488281],[80.797754,72.519971],[80.719629,72.6479],[80.65625,72.712012],[80.675391,72.75918],[80.77373,72.860791],[80.841602,72.94917],[80.757422,73.025244],[80.638672,73.04917],[80.509668,73.086084],[80.455469,73.155225],[80.424512,73.231152],[80.418945,73.289648],[80.398047,73.356836],[80.458301,73.413721],[80.595898,73.474023],[80.561914,73.51499],[80.583203,73.568457],[81.468848,73.64043],[81.816992,73.658838],[83.544727,73.666504],[83.666992,73.686475],[84.417383,73.722021],[84.737891,73.762842],[85.077441,73.719531],[85.200586,73.721533],[85.44834,73.734619],[85.611426,73.821582],[85.979297,73.856934],[86.591406,73.894287],[86.892969,73.887109],[86.961328,73.860742],[87.029492,73.82417],[86.697656,73.716846],[86.365918,73.619775],[86.094141,73.57832],[85.827051,73.492773],[85.800488,73.458936],[85.792578,73.43833],[85.802441,73.37168],[85.818164,73.326953],[86.098145,73.272607],[86.30791,73.195752],[86.514355,73.140479],[86.677051,73.106787],[86.715039,73.12583],[86.12168,73.306738],[85.970801,73.34707],[85.910059,73.39043],[85.938965,73.456494],[85.998926,73.48584],[86.092383,73.519141],[86.155078,73.534668],[86.37627,73.568848],[87.120117,73.615039],[87.294434,73.704688],[87.369531,73.755908],[87.571191,73.810742],[87.503223,73.832471],[87.3375,73.846045],[87.209668,73.878662],[86.69707,74.195312],[86.571094,74.24375],[86.177832,74.279395],[86.001367,74.316016],[86.18291,74.423047],[86.395801,74.450098],[86.538477,74.444238],[86.664746,74.414258],[86.897949,74.325342],[87.229688,74.363867],[87.106152,74.403564],[86.894238,74.449707],[86.700098,74.522461],[86.425684,74.585498],[86.116113,74.628564],[85.791016,74.645117],[85.880762,74.740234],[86.058887,74.728223],[86.119531,74.757422],[86.20127,74.816211],[86.651465,74.682422],[86.862891,74.717871],[87.041797,74.778857],[87.419336,74.940918],[87.467578,75.013232],[87.287402,75.052539],[87.140723,75.072266],[86.939063,75.068115],[86.92168,75.112793],[87.005957,75.169824],[87.170801,75.191748],[87.671387,75.12959],[88.503711,75.290479],[88.733105,75.369189],[89.310254,75.470117],[89.595117,75.458252],[90.184961,75.591064],[91.004687,75.649561],[91.479492,75.649658],[91.84541,75.723682],[92.40752,75.749658],[92.602539,75.779102],[93.549805,75.854102],[94.075195,75.912891],[94.156348,75.959229],[93.687012,75.921582],[93.574023,75.956299],[93.475488,75.932861],[93.406055,75.90127],[93.178125,75.958984],[93.116309,75.944629],[93.068652,75.912842],[92.986621,75.902686],[92.89043,75.909961],[92.858594,75.979492],[92.971582,76.075098],[93.104883,76.02583],[93.259277,76.098779],[93.35957,76.100732],[93.648438,76.05415],[93.842871,76.101318],[94.102344,76.123584],[94.388281,76.102783],[94.506738,76.107959],[94.575586,76.151758],[95.038477,76.113525],[95.359277,76.1396],[95.578711,76.137305],[95.919922,76.113135],[96.075488,76.081982],[95.986035,76.009668],[95.65332,75.892188],[95.743848,75.872314],[95.934766,75.926025],[96.508594,76.005566],[96.600586,75.989893],[96.537695,75.921631],[96.49707,75.891211],[96.879199,75.931055],[97.205469,76.018701],[97.350684,76.033398],[97.499219,75.980225],[97.637695,76.029053],[97.669824,76.078027],[97.918359,76.088672],[98.02002,76.133691],[98.194629,76.166406],[98.341992,76.180566],[98.662012,76.242676],[98.771289,76.224023],[98.984668,76.207568],[99.187305,76.177637],[99.562695,76.109326],[99.615625,76.082324],[99.663184,76.078027],[99.77041,76.02876],[99.689258,75.956348],[99.602344,75.852051],[99.442187,75.803174],[99.540723,75.798584],[99.609375,75.811279],[99.7375,75.880664],[99.851367,75.930273],[99.825391,76.135937],[99.616797,76.240186],[99.460645,76.275098],[99.093848,76.384326],[98.969531,76.430811],[98.805664,76.480664],[98.869434,76.50957],[99.57627,76.471436],[99.935742,76.489893],[100.322363,76.47915],[100.84375,76.525195],[101.060742,76.477246],[101.310742,76.478906],[101.597754,76.439209],[101.683789,76.485498],[101.212988,76.535693],[101.002637,76.530518],[100.928027,76.556738],[101.00625,76.615088],[101.099316,76.704004],[101.008203,76.781348],[100.92041,76.82251],[100.905859,76.900684],[100.989941,76.990479],[101.185742,77.028564],[101.292871,77.101562],[101.517676,77.198096],[102.610156,77.508545],[103.131445,77.626465],[103.33125,77.641064],[103.560742,77.631934],[104.014551,77.73042],[104.184863,77.730469],[104.814258,77.6521],[104.965234,77.594727],[105.308984,77.549219],[105.710254,77.525244],[105.894531,77.488867],[105.983398,77.447607],[106.05957,77.390527],[105.73418,77.352002],[105.38457,77.237842],[104.911914,77.174707],[104.323633,77.132666],[104.202441,77.101807],[105.320215,77.092334],[105.645898,77.100684],[105.712012,77.001465],[105.822168,76.99751],[106.14541,77.045312],[106.338672,77.047852],[106.705078,77.01377],[106.783691,77.031787],[106.941602,77.034375],[107.278906,76.990967],[107.429785,76.926563],[107.190234,76.822021],[106.940918,76.730469],[106.63877,76.573389],[106.545508,76.586279],[106.384668,76.589453],[106.413574,76.512256],[106.683203,76.514697],[106.825391,76.480078],[107.157715,76.524072],[107.624219,76.510107],[107.722168,76.522314],[107.902246,76.569678],[107.949902,76.660645],[108.02793,76.718457],[108.181641,76.737842],[108.352051,76.719531],[108.638379,76.720117],[109.369336,76.749219],[109.981152,76.711865],[110.471484,76.758398],[111.114844,76.723047],[111.39248,76.68667],[111.600586,76.622314],[111.786133,76.603564],[111.938672,76.553418],[112.093945,76.480322],[112.016797,76.420557],[111.942676,76.380469],[112.142773,76.423975],[112.29707,76.434668],[112.413281,76.408301],[112.619531,76.383545],[112.68418,76.218848],[112.742578,76.186914],[112.798438,76.129639],[112.721875,76.077197],[112.65625,76.053564],[112.818945,76.058594],[113.04668,76.114111],[113.094043,76.13291],[113.150391,76.174512],[113.066016,76.215234],[112.987988,76.239746],[113.086035,76.258105],[113.272656,76.25166],[113.365527,76.178857],[113.427734,76.112109],[113.563867,75.89165],[113.857227,75.921289],[113.870996,75.856006],[113.74873,75.704785],[113.619922,75.592676],[113.567578,75.568408],[113.485938,75.563965],[113.517188,75.621875],[113.469043,75.656689],[113.391602,75.677881],[113.126367,75.698682],[112.629199,75.8354],[112.49668,75.849902],[112.466113,75.843652],[112.453027,75.830176],[112.72959,75.737646],[112.955664,75.571924],[113.161523,75.620508],[113.242969,75.611426],[113.35625,75.534277],[113.558887,75.502051],[113.726172,75.450635],[113.613574,75.292969],[112.924902,75.015039],[112.191992,74.853174],[111.868262,74.740039],[111.299023,74.658447],[110.892773,74.548096],[110.373535,74.466064],[110.225879,74.378662],[109.840332,74.321973],[109.866406,74.293066],[109.911328,74.261328],[109.863867,74.208887],[109.810254,74.169189],[109.51084,74.088818],[109.075,74.032324],[108.199512,73.694092],[107.76543,73.625],[107.271094,73.621045],[107.166992,73.589404],[106.794238,73.37666],[106.679395,73.330664],[106.188672,73.308008],[105.677148,72.959277],[105.392773,72.841016],[105.143945,72.777051],[105.402734,72.789941],[105.708203,72.83667],[106.066699,72.949854],[106.15957,73.002002],[106.208789,73.060547],[106.315039,73.106396],[106.47793,73.139404],[107.108789,73.177295],[107.36875,73.163135],[107.750391,73.173145],[108.00127,73.235596],[108.150977,73.25791],[108.285352,73.265869],[108.351465,73.310205],[108.575391,73.319043],[109.089941,73.378418],[109.165625,73.399609],[109.331055,73.487451],[109.637109,73.454004],[109.855273,73.472461],[110.428711,73.628906],[110.77334,73.68916],[110.868164,73.730713],[110.799219,73.759766],[110.722363,73.779932],[110.388281,73.726025],[110.091211,73.708545],[109.752734,73.722559],[109.706738,73.74375],[109.665625,73.800244],[109.774121,73.88125],[109.869141,73.930615],[110.083887,73.994385],[110.261426,74.017432],[110.920117,73.9479],[111.05625,73.939355],[111.130859,74.052832],[111.341406,74.047363],[111.550586,74.028516],[111.459961,74.004834],[111.228125,73.968555],[111.299512,73.884863],[111.400391,73.827734],[111.803711,73.745264],[112.147266,73.708936],[112.4,73.711133],[112.79541,73.746094],[112.855957,73.771143],[112.939648,73.835645],[112.835938,73.962061],[112.934961,73.945703],[113.032813,73.913867],[113.181543,73.837402],[113.326855,73.707422],[113.416211,73.647607],[113.364453,73.582764],[113.156934,73.45957],[113.276953,73.391504],[113.490918,73.346094],[113.487598,73.145117],[113.474609,73.047852],[113.369336,72.941895],[113.247363,72.897217],[113.127832,72.830664],[113.158203,72.769482],[113.186133,72.730176],[113.312207,72.657373],[113.664551,72.634521],[113.711914,72.65415],[113.630078,72.6771],[113.391406,72.711035],[113.298145,72.738867],[113.215527,72.805859],[113.311523,72.87832],[113.41748,72.932178],[113.542773,73.054346],[113.581445,73.142236],[113.558887,73.232617],[113.63916,73.273584],[113.765234,73.317969],[113.829297,73.326562],[113.88623,73.345801],[113.795117,73.367432],[113.711328,73.378564],[113.539453,73.433643],[113.510352,73.50498],[113.856934,73.533398],[114.060547,73.584668],[114.816016,73.607178],[115.337695,73.702588],[116.495508,73.676074],[117.308594,73.59917],[118.450195,73.589795],[118.870898,73.537891],[118.91123,73.518359],[118.936426,73.481201],[118.754492,73.464502],[118.457031,73.464404],[118.376563,73.367236],[118.430273,73.246533],[118.960352,73.117285],[119.425293,73.063965],[119.750391,72.979102],[119.92168,72.971338],[120.597949,72.981104],[120.997168,72.936719],[121.354297,72.97085],[121.747852,72.969678],[121.886035,72.960889],[122.029785,72.897217],[122.260156,72.880566],[122.5375,72.877783],[122.69209,72.89082],[122.751953,72.906494],[122.730859,72.931299],[122.501953,72.970654],[122.526758,73.016699],[122.615234,73.02793],[122.999316,72.964648],[123.160352,72.954883],[123.301172,73.001807],[123.40459,73.085645],[123.461621,73.144189],[123.521875,73.1729],[123.572461,73.177344],[123.622266,73.193262],[123.500977,73.261621],[123.383887,73.347314],[123.355273,73.40249],[123.322656,73.430811],[123.305078,73.53291],[123.416211,73.636865],[123.491113,73.666357],[123.796875,73.626758],[123.933887,73.689307],[124.019043,73.712305],[124.388086,73.754834],[124.541211,73.75127],[124.796289,73.711768],[125.61709,73.520605],[125.598535,73.447412],[125.794434,73.468457],[125.887891,73.498096],[126.107422,73.51748],[126.254492,73.548193],[126.295996,73.53667],[126.344922,73.506299],[126.308887,73.463672],[126.257422,73.419775],[126.29248,73.394189],[126.335449,73.38877],[126.552539,73.334912],[126.838477,73.43418],[126.955176,73.528223],[127.031348,73.547461],[127.740332,73.481543],[127.955078,73.445557],[127.996875,73.425635],[128.025684,73.390771],[128.141699,73.352393],[128.281445,73.330566],[128.26416,73.300732],[128.257812,73.26748],[128.587012,73.262402],[128.730469,73.233398],[128.888672,73.190234],[128.87168,73.139355],[128.913379,73.110596],[129.05918,73.10752],[129.100586,73.112354],[129.053711,73.04541],[128.853516,72.972607],[128.735254,72.943262],[128.599023,72.895166],[128.674023,72.885889],[129.017285,72.872461],[129.229102,72.775732],[129.250391,72.705176],[129.117578,72.676953],[128.815332,72.585889],[128.633398,72.550146],[128.508496,72.547314],[128.418262,72.535156],[128.549414,72.49585],[129.116602,72.485742],[129.281348,72.437695],[129.411719,72.315479],[129.410645,72.166309],[129.283496,72.092041],[128.934961,72.079492],[128.475195,72.245557],[128.196973,72.309619],[127.803418,72.434033],[127.726074,72.413184],[127.841406,72.308252],[128.026563,72.25],[128.358789,72.08833],[128.911426,71.755322],[129.040137,71.782422],[129.116602,71.824609],[129.154199,71.878662],[129.121582,71.953223],[129.210254,71.916943],[129.291797,71.850195],[129.46084,71.739307],[129.23418,71.744824],[128.949023,71.707568],[128.843262,71.663477],[128.922656,71.601758],[129.134277,71.592871],[129.224512,71.508838],[129.389844,71.404883],[129.761914,71.119531],[130.025977,71.065381],[130.28125,70.947314],[130.537109,70.892529],[130.668457,70.88833],[130.757129,70.962354],[130.831934,70.935889],[130.898047,70.803564],[131.021582,70.746094],[131.157422,70.742188],[131.268262,70.765527],[131.432324,70.828271],[131.562012,70.901025],[131.769043,71.101416],[131.906445,71.202637],[132.035352,71.244043],[131.99082,71.293213],[132.003711,71.350195],[132.098828,71.483984],[132.227637,71.642773],[132.325781,71.726221],[132.562305,71.895313],[132.653906,71.925977],[132.71582,71.871484],[132.768555,71.79873],[132.803613,71.767578],[132.839258,71.755176],[133.130859,71.606689],[133.426172,71.490967],[133.688867,71.434229],[134.102832,71.378955],[134.702734,71.386816],[134.813867,71.460596],[135.022363,71.515039],[135.359375,71.543506],[135.55918,71.610352],[135.884766,71.630566],[136.090332,71.61958],[136.406152,71.570752],[137.11582,71.415674],[137.31543,71.359424],[137.41748,71.299023],[137.650586,71.208154],[137.797852,71.163916],[137.939648,71.133398],[137.991699,71.142725],[137.97373,71.168652],[137.901953,71.194043],[137.844043,71.226807],[138.012695,71.26084],[138.03252,71.28584],[138.090625,71.307422],[138.314063,71.325537],[138.097168,71.358594],[138.022168,71.363428],[137.918359,71.384082],[137.927344,71.429785],[137.995703,71.463525],[138.04834,71.525977],[138.118457,71.566162],[138.23418,71.596338],[138.318066,71.602832],[138.525195,71.562744],[138.67002,71.634814],[138.780176,71.629004],[139.004883,71.556055],[139.209375,71.444775],[139.320215,71.444727],[139.632129,71.489258],[139.98418,71.491504],[139.93877,71.557666],[139.695117,71.700439],[139.722949,71.884961],[139.552344,71.926709],[139.359277,71.951367],[139.640234,71.99834],[139.84707,72.148584],[140.014063,72.162109],[140.187695,72.191309],[140.134375,72.209619],[139.616992,72.225684],[139.505273,72.207666],[139.430469,72.163477],[139.176367,72.163477],[139.14502,72.264404],[139.14082,72.329736],[139.473633,72.466504],[139.601172,72.496094],[140.450586,72.493115],[140.705078,72.518945],[141.079297,72.586914],[140.983203,72.630029],[140.972852,72.716992],[140.652344,72.842822],[140.675977,72.871631],[140.708105,72.890039],[140.808203,72.890967],[141.309766,72.857715],[141.518359,72.788672],[142.061426,72.720801],[143.51582,72.698242],[143.680957,72.673193],[144.303906,72.643018],[144.568652,72.609912],[145.199316,72.570215],[145.485742,72.54209],[145.71416,72.497363],[146.083301,72.471387],[146.25293,72.442236],[146.234766,72.349707],[145.46709,72.362061],[145.212891,72.392676],[144.897461,72.39624],[144.776367,72.382275],[144.587598,72.305518],[144.360938,72.265332],[144.169238,72.258789],[144.294922,72.192627],[144.470703,72.174756],[145.03916,72.259863],[146.594141,72.302441],[146.831836,72.29541],[146.807031,72.236572],[146.599219,72.123535],[146.40166,72.035498],[146.113281,71.944971],[146.005859,71.945459],[146.230273,72.1375],[146.137305,72.146484],[146.051465,72.142285],[145.799414,72.221875],[145.758594,72.225879],[145.709668,72.206348],[145.710156,72.177588],[145.664062,72.066992],[145.756738,72.020654],[145.756738,71.941309],[145.407227,71.890137],[145.271191,71.894629],[145.125781,71.927148],[145.063965,71.926074],[145.046875,71.901025],[145.077734,71.854639],[145.07373,71.830859],[145.017871,71.793701],[144.989648,71.753369],[145.075586,71.707373],[145.188574,71.695801],[145.804785,71.746484],[146.073242,71.80835],[146.367969,71.92207],[146.894727,72.19751],[147.127051,72.292041],[147.261816,72.327881],[147.433984,72.340918],[148.402051,72.311963],[148.964844,72.252344],[149.501563,72.164307],[149.766211,72.09126],[149.963086,71.992188],[149.998145,71.950488],[150.016895,71.895654],[149.881055,71.843018],[149.279688,71.825537],[149.04873,71.795752],[148.965332,71.762793],[148.954883,71.744141],[148.92334,71.714648],[148.968164,71.690479],[149.237891,71.687939],[149.498047,71.664014],[149.857129,71.601465],[149.912695,71.580713],[150.026465,71.521338],[150.06084,71.51084],[150.599805,71.520117],[150.634863,71.498877],[150.667773,71.455225],[150.525098,71.38584],[150.384766,71.338818],[150.097656,71.226562],[150.242969,71.267188],[150.82168,71.362891],[150.967773,71.380469],[151.145313,71.37373],[151.582422,71.286963],[151.759766,71.217822],[152.092773,71.023291],[151.999805,71.00249],[151.762012,70.982471],[152.508789,70.834473],[152.79834,70.835645],[153.460645,70.878613],[153.794141,70.87998],[154.413965,70.974463],[155.029492,71.034229],[155.595898,71.038623],[155.895215,71.095508],[156.68457,71.09375],[157.447363,71.074512],[158.037012,71.039258],[158.702148,70.93501],[159.350684,70.790723],[159.72793,70.649658],[159.804688,70.604932],[159.911816,70.506104],[159.958594,70.423633],[160.006445,70.309668],[159.983398,70.221387],[159.889648,70.158789],[159.831445,70.081445],[159.83916,69.98999],[159.729395,69.870215],[159.83252,69.784961],[160.119141,69.729785],[160.739453,69.655176],[160.910742,69.606348],[160.928906,69.458545],[160.982031,69.334473],[161.035547,69.098193],[161.14082,69.038867],[161.309863,68.982275],[161.340625,68.905176],[161.129004,68.653857],[160.99668,68.60752],[160.856055,68.53833],[161.104492,68.5625],[161.230176,68.653906],[161.365137,68.822998],[161.495313,68.849854],[161.565625,68.905176],[161.565625,69.063965],[161.480078,69.201709],[161.480078,69.300098],[161.536914,69.379541],[161.945117,69.545117],[162.166016,69.611572],[162.375684,69.649072],[162.944629,69.682764],[163.201367,69.714746],[163.498047,69.693262],[163.705273,69.701807],[163.945996,69.735156],[164.15957,69.719287],[164.513281,69.609131],[165.760742,69.584424],[165.980469,69.545996],[166.820312,69.499561],[166.884375,69.499902],[167.073145,69.554443],[167.628125,69.740332],[167.856836,69.728223],[167.950098,69.69917],[168.047656,69.625635],[168.15,69.577393],[168.22998,69.447021],[168.303027,69.271484],[168.423047,69.239502],[168.587598,69.228369],[168.946191,69.16333],[169.310645,69.079541],[169.414648,68.919629],[169.609863,68.786035],[170.065625,68.798682],[170.537598,68.825391],[170.99541,69.045312],[170.99668,69.134717],[170.883789,69.263623],[170.71416,69.388232],[170.582227,69.58335],[170.160938,69.626563],[170.201172,69.683203],[170.35957,69.750977],[170.503125,69.856543],[170.525391,69.937891],[170.486816,70.107568],[170.867969,70.096045],[171.24668,70.076123],[171.970508,70.000342],[172.55957,69.968359],[172.869238,69.919775],[173.056348,69.864941],[173.277441,69.823828],[173.35332,69.924023],[173.438672,69.946826],[173.733398,69.891113],[173.948047,69.874121],[174.319434,69.881641],[174.785547,69.855664],[175.295605,69.860059],[175.751172,69.90415],[175.921484,69.895313],[176.10752,69.860303],[176.410449,69.768506],[176.924414,69.645996],[177.394531,69.611621],[177.933691,69.495605],[178.442773,69.452979],[178.84834,69.387207],[178.906934,69.362109],[178.925,69.325977],[178.950684,69.295801],[179.272656,69.259668],[179.868262,69.012695],[180,68.983447],[180,65.067236],[179.827344,65.03418],[179.651367,64.920947],[179.448242,64.822021],[179.15,64.781592],[178.698438,64.631104],[178.519531,64.602979],[178.285352,64.672266],[177.748633,64.717041],[177.581641,64.777881],[177.337012,64.931348],[177.251855,64.953613],[177.179199,65.014111],[176.880859,65.081934],[176.624805,65.037598],[176.413086,65.07124],[176.341016,65.047314],[176.452148,65.025244],[176.645508,65.007178],[176.940039,65.016016],[177.037305,64.999658],[177.123438,64.947021],[177.222852,64.86167],[177.148242,64.804834],[177.06875,64.78667],[176.831055,64.849219],[176.556641,64.83999],[176.429492,64.855176],[176.061133,64.960889],[175.781152,64.844043],[175.396484,64.783691],[175.097754,64.776855],[174.548828,64.683887],[174.698633,64.681445],[175.09707,64.746631],[175.330664,64.746631],[175.67793,64.782471],[175.858594,64.825293],[175.945898,64.865186],[176.056543,64.904736],[176.169238,64.884766],[176.246973,64.843018],[176.300879,64.783838],[176.350977,64.705127],[176.283203,64.663818],[176.219434,64.641943],[176.140918,64.58584],[176.507617,64.682422],[176.730957,64.624854],[176.842871,64.633789],[177.049805,64.719238],[177.3875,64.774023],[177.427441,64.763379],[177.467188,64.736816],[177.409863,64.572803],[177.43291,64.444482],[177.6875,64.304736],[177.95332,64.222266],[178.044727,64.21958],[178.130566,64.235254],[178.163965,64.309082],[178.229492,64.364404],[178.312988,64.314404],[178.381445,64.260889],[178.477148,64.127881],[178.474805,64.089014],[178.451367,64.011377],[178.536035,63.975635],[178.650293,63.965283],[178.69248,63.842334],[178.731445,63.66709],[178.681348,63.650732],[178.625977,63.650732],[178.44043,63.605566],[178.466113,63.574072],[178.653711,63.556641],[178.706445,63.521533],[178.668848,63.439941],[178.678711,63.402295],[178.744043,63.394775],[178.786719,63.442432],[178.775391,63.510254],[178.792969,63.540332],[178.918555,63.400244],[178.921484,63.34502],[179.028125,63.282422],[179.332324,63.190186],[179.388574,63.147217],[179.405078,63.077734],[179.329004,63.05791],[179.25957,63.008301],[179.302148,62.939844],[179.381055,62.883691],[179.510938,62.862793],[179.570508,62.773486],[179.570508,62.6875],[179.477246,62.613086],[179.288672,62.510352],[179.176953,62.469189],[179.133887,62.396436],[179.120703,62.320361],[179.044629,62.323682],[178.963867,62.355273],[178.019238,62.546973],[177.663086,62.582813],[177.35127,62.587451],[177.292578,62.599023],[177.295898,62.644482],[177.31582,62.685254],[177.359668,62.736963],[177.338965,62.781348],[177.29834,62.784229],[177.258691,62.750439],[177.172656,62.750342],[177.091211,62.789551],[177.023535,62.777246],[176.990039,62.722217],[176.963477,62.693262],[176.964746,62.658643],[177.008008,62.626562],[177.189648,62.591602],[177.159473,62.560986],[176.907422,62.536084],[176.702539,62.505762],[176.436523,62.41084],[176.328418,62.346045],[175.613867,62.184375],[175.441992,62.12793],[175.36582,62.121338],[175.267871,62.102393],[175.192383,62.034424],[174.797559,61.938867],[174.715039,61.9479],[174.610547,61.867627],[174.514355,61.823633],[174.284961,61.817529],[174.138867,61.795166],[173.822363,61.679395],[173.623438,61.716064],[173.390723,61.556738],[173.131836,61.406641],[173.05459,61.406201],[172.856543,61.469189],[172.806836,61.436133],[172.837891,61.375586],[172.908008,61.311621],[172.867773,61.293066],[172.789062,61.310693],[172.730664,61.314404],[172.690039,61.295166],[172.696973,61.249316],[172.584766,61.19043],[172.49707,61.185889],[172.396094,61.167383],[172.362402,61.116602],[172.392773,61.061768],[172.213281,60.997852],[172.067285,60.915674],[171.997656,60.900684],[171.917969,60.864111],[171.830566,60.837354],[171.729492,60.843115],[171.489746,60.725732],[170.949316,60.522949],[170.799316,60.496484],[170.608203,60.434912],[170.589746,60.393701],[170.588574,60.342871],[170.512305,60.259521],[170.423438,60.047803],[170.396484,60.009766],[170.350977,59.965527],[170.154102,59.986084],[169.982617,60.06709],[169.927246,60.104248],[169.897559,60.147852],[169.887012,60.21792],[169.854297,60.250244],[169.814746,60.265381],[169.618359,60.438037],[169.275684,60.556641],[169.226758,60.595947],[168.788281,60.563818],[168.670313,60.562891],[168.462793,60.592236],[168.1375,60.573926],[167.745996,60.509326],[167.626074,60.468945],[167.226758,60.406299],[166.964063,60.307031],[166.452539,59.947021],[166.331836,59.872412],[166.273047,59.85625],[166.186523,59.849463],[166.148926,59.92207],[166.136035,59.979346],[166.168359,60.088818],[166.229785,60.17832],[166.29248,60.346094],[166.308105,60.414258],[166.352148,60.484814],[166.180176,60.480371],[165.941992,60.356885],[165.583008,60.236475],[165.41582,60.205176],[165.285254,60.134912],[165.192578,60.124756],[165.08457,60.098584],[165.073633,59.945605],[165.018945,59.860742],[164.953711,59.843604],[164.854297,59.840967],[164.779395,59.874219],[164.669727,59.997461],[164.525293,60.061279],[164.440039,60.072705],[164.376855,60.058057],[164.251563,59.973779],[164.113281,59.897559],[164.135059,59.984375],[164.017578,60.017334],[163.912891,60.037061],[163.780078,60.041113],[163.743848,60.028027],[163.690039,59.978418],[163.574316,59.914062],[163.49375,59.886768],[163.409961,59.834961],[163.364844,59.781445],[163.321191,59.70542],[163.269043,59.52002],[163.272852,59.302588],[163.084863,59.131396],[163.010156,59.148291],[162.974902,59.137061],[162.940039,59.114307],[163.004297,59.020166],[162.969824,58.986475],[162.93457,58.963965],[162.847266,58.939258],[162.643359,58.799902],[162.453027,58.708594],[162.141602,58.447412],[162.049219,58.272852],[161.960059,58.076904],[162.001953,57.980957],[162.039648,57.918262],[162.097949,57.874658],[162.197461,57.82915],[162.411426,57.778369],[162.392188,57.74502],[162.391406,57.717236],[162.466992,57.766211],[162.521973,57.904102],[162.654297,57.948242],[162.718359,57.946094],[163.14502,57.837305],[163.225781,57.790381],[163.213867,57.686816],[163.187891,57.637402],[163.108789,57.564844],[162.957031,57.47749],[162.779297,57.357617],[162.762305,57.284082],[162.761523,57.243945],[162.808105,57.102783],[162.814844,57.023389],[162.791113,56.875391],[162.802637,56.811475],[162.849902,56.756836],[162.92207,56.722656],[163.046387,56.741309],[163.16543,56.725488],[163.256543,56.688037],[163.243262,56.564551],[163.294043,56.447705],[163.335547,56.23252],[163.261328,56.17373],[163.189258,56.137012],[163.047363,56.044678],[162.97168,56.033789],[162.840332,56.065625],[162.628125,56.232275],[162.713184,56.330859],[162.893262,56.399463],[162.975195,56.449023],[163.038379,56.521875],[162.944141,56.508057],[162.877637,56.476367],[162.671484,56.490088],[162.589063,56.454932],[162.488672,56.399121],[162.528223,56.260693],[162.461133,56.235498],[162.334082,56.187744],[162.146094,56.128271],[162.084961,56.089648],[161.924023,55.840381],[161.775586,55.654834],[161.723926,55.496143],[161.729395,55.358008],[161.784961,55.205322],[161.824219,55.138916],[161.996094,54.997998],[162.080273,54.886133],[162.105566,54.752148],[161.966895,54.688672],[161.725684,54.532959],[161.624805,54.51626],[161.294043,54.520557],[161.129883,54.598242],[160.935547,54.578369],[160.772656,54.541357],[160.517188,54.430859],[160.288867,54.288232],[160.074414,54.18916],[160.010156,54.130859],[159.921777,54.008398],[159.84375,53.783643],[159.870898,53.672656],[159.914258,53.62085],[159.955859,53.552197],[159.899121,53.447705],[159.897656,53.380762],[160.002148,53.274902],[160.025098,53.12959],[159.947461,53.125098],[159.771582,53.229687],[159.585938,53.237695],[159.136133,53.117139],[158.952051,53.047559],[158.74541,52.908936],[158.683691,52.9354],[158.639551,53.014795],[158.564648,53.05],[158.47207,53.032373],[158.432324,52.957422],[158.560156,52.922168],[158.608789,52.873633],[158.533691,52.688428],[158.480762,52.62666],[158.500391,52.460303],[158.493164,52.383154],[158.463477,52.30498],[158.331641,52.090869],[158.103516,51.809619],[157.823242,51.605322],[157.628906,51.53457],[157.530957,51.479883],[157.489844,51.408936],[157.202246,51.212744],[156.847461,51.006592],[156.747754,50.969287],[156.724316,51.04707],[156.713477,51.124121],[156.670801,51.226855],[156.543457,51.311621],[156.521191,51.380273],[156.500391,51.475098],[156.489844,51.913037],[156.377344,52.366553],[156.364746,52.509375],[156.228613,52.62627],[156.154395,52.747266],[156.110352,52.866162],[156.098828,53.006494],[155.950195,53.744287],[155.904883,53.928125],[155.706445,54.521484],[155.620313,54.864551],[155.563867,55.199121],[155.554883,55.348486],[155.643457,55.793555],[155.716602,56.072217],[155.98252,56.695215],[156.025391,56.752002],[156.06748,56.781592],[156.529297,57.021191],[156.728418,57.152246],[156.848828,57.290186],[156.976758,57.466309],[156.963574,57.560938],[156.948242,57.615771],[156.899902,57.676904],[156.791602,57.747949],[156.829883,57.779639],[156.871973,57.803662],[156.985742,57.830176],[157.216797,57.776807],[157.450391,57.799268],[157.666406,58.019775],[157.974609,57.985937],[158.210449,58.025293],[158.275195,58.008984],[158.321094,58.083447],[158.449414,58.162842],[158.687012,58.281348],[159.036914,58.423926],[159.210645,58.519434],[159.308398,58.610547],[159.452637,58.695947],[159.591504,58.803662],[159.847363,59.127148],[160.350391,59.394043],[160.547461,59.547363],[160.711426,59.60166],[160.855273,59.626855],[161.218945,59.845605],[161.449316,60.027344],[161.753516,60.152295],[161.845996,60.232227],[162.003613,60.420166],[162.068164,60.466406],[162.266309,60.536719],[162.713184,60.659473],[162.973145,60.78291],[163.352344,60.800439],[163.466406,60.849756],[163.585156,60.877148],[163.709961,60.916797],[163.553516,61.025635],[163.589258,61.084375],[163.619629,61.111328],[163.893359,61.240479],[164.005469,61.343799],[163.99209,61.388232],[163.972754,61.419873],[163.804395,61.461377],[163.837109,61.558252],[163.882715,61.640137],[164.019531,61.710693],[164.067969,61.873877],[164.074219,62.04502],[164.207227,62.292236],[164.2875,62.346631],[164.59834,62.470557],[164.670703,62.473779],[164.887695,62.431885],[165.124121,62.411523],[165.208105,62.373975],[165.225684,62.405762],[165.213867,62.448193],[165.280371,62.462988],[165.417383,62.44707],[165.396582,62.493896],[165.044043,62.516992],[164.792383,62.571094],[164.566992,62.675488],[164.418359,62.704639],[164.255664,62.696582],[163.331738,62.550928],[163.287109,62.511426],[163.244238,62.455371],[163.302148,62.372998],[163.258008,62.336914],[163.213281,62.313428],[163.163477,62.25957],[163.118457,62.15293],[163.131055,62.049902],[163.017676,61.891064],[163.009277,61.791504],[163.207617,61.736572],[163.257812,61.699463],[163.197852,61.644775],[163.138867,61.611426],[163.085254,61.570557],[163.047266,61.554053],[162.993945,61.544189],[162.92168,61.597705],[162.855957,61.705029],[162.752344,61.711279],[162.717871,61.695117],[162.699023,61.652588],[162.607617,61.650049],[162.506445,61.670117],[162.392578,61.662109],[162.188379,61.540674],[161.037109,60.962891],[160.915039,60.892676],[160.766602,60.75332],[160.482031,60.739844],[160.368164,60.708545],[160.287305,60.667041],[160.173633,60.638428],[160.177344,60.690723],[160.201074,60.729639],[160.225781,60.831543],[160.378906,61.025488],[160.28125,61.044775],[160.184277,61.047656],[160.004004,61.007422],[159.883105,60.943408],[159.79043,60.956641],[159.83457,61.013965],[159.949219,61.128613],[159.913965,61.234473],[159.883105,61.291797],[159.930859,61.323926],[160.162695,61.5375],[160.246875,61.647607],[160.317383,61.793359],[160.321484,61.838574],[160.309375,61.894385],[160.237793,61.903857],[160.18252,61.902832],[159.722168,61.758398],[159.552344,61.719482],[159.496289,61.781445],[159.423047,61.808057],[159.29502,61.91416],[159.189258,61.929395],[159.07666,61.922266],[158.824316,61.850244],[158.547168,61.810889],[158.333691,61.825684],[158.151563,61.764844],[158.070117,61.753613],[157.799316,61.795264],[157.469336,61.798926],[157.370703,61.74707],[157.08418,61.675684],[156.891797,61.565186],[156.790625,61.529639],[156.680273,61.480615],[156.629688,61.272461],[156.482617,61.206006],[156.344141,61.155078],[156.055957,60.995605],[155.85332,60.777148],[155.716113,60.682373],[155.427832,60.549854],[154.970801,60.37666],[154.578223,60.09502],[154.440723,59.883789],[154.389844,59.876758],[154.293066,59.83335],[154.266602,59.730371],[154.268848,59.658398],[154.20918,59.600342],[154.149805,59.528516],[154.212891,59.483398],[154.272168,59.475146],[154.357617,59.481445],[154.58252,59.540088],[154.971289,59.449609],[155.166699,59.360156],[155.153027,59.270215],[155.160449,59.190137],[155.016699,59.195605],[154.82373,59.187549],[154.703516,59.141309],[154.458008,59.216553],[154.375977,59.187842],[154.24668,59.108594],[154.010938,59.075537],[153.891699,59.11416],[153.695215,59.224756],[153.361133,59.214795],[153.272949,59.091309],[153.196094,59.094434],[153.077734,59.081885],[152.882227,58.939062],[152.817871,58.92627],[152.575586,58.954102],[152.400684,59.026416],[152.319629,59.030762],[152.165234,58.997021],[152.087891,58.910449],[151.70459,58.866699],[151.326758,58.875098],[151.121094,59.08252],[151.50498,59.164014],[151.733496,59.14668],[151.990039,59.160059],[152.260645,59.223584],[152.169531,59.27793],[152.104492,59.290576],[151.942383,59.284082],[151.798047,59.323242],[151.485742,59.524121],[151.348242,59.561133],[151.170313,59.583252],[151.033594,59.585645],[150.98252,59.571338],[150.911914,59.523047],[150.863281,59.475439],[150.823438,59.460742],[150.729492,59.469141],[150.615234,59.506543],[150.483594,59.494385],[150.539844,59.524951],[150.667285,59.556348],[150.457227,59.590723],[150.325586,59.638867],[150.202539,59.65127],[149.642578,59.77041],[149.424512,59.760986],[149.29043,59.728467],[149.065234,59.630518],[149.127734,59.558789],[149.175391,59.526758],[149.20498,59.488184],[149.133008,59.480518],[148.925,59.475],[148.79707,59.532324],[148.708887,59.448535],[148.744141,59.373535],[148.889648,59.4],[148.964648,59.369141],[148.914062,59.282715],[148.72666,59.25791],[148.491211,59.262305],[148.257422,59.414209],[147.874609,59.388037],[147.687891,59.290674],[147.514453,59.268555],[147.040039,59.365723],[146.803711,59.372949],[146.537207,59.456982],[146.444336,59.430469],[146.273438,59.221484],[146.049512,59.170557],[145.931641,59.198389],[145.829102,59.330322],[145.756445,59.37373],[145.55459,59.413525],[144.483398,59.37627],[144.123438,59.408301],[143.86875,59.411377],[143.523828,59.343652],[143.192188,59.370117],[142.580273,59.240137],[142.330371,59.152637],[142.025391,58.999658],[141.754688,58.745264],[141.60293,58.649023],[141.34707,58.528076],[140.987695,58.416846],[140.790234,58.303467],[140.684961,58.212158],[140.495117,57.86543],[140.446875,57.813672],[140.002344,57.6875],[139.861523,57.549316],[139.80332,57.51416],[139.619238,57.455713],[139.506641,57.358301],[139.443848,57.329687],[139.181641,57.261523],[138.965723,57.088135],[138.662109,56.965527],[138.217773,56.629004],[138.180078,56.588525],[138.140625,56.498682],[138.073828,56.433105],[137.691504,56.139355],[137.572949,56.112109],[137.384082,55.974756],[137.189844,55.892285],[137.012109,55.795264],[136.793555,55.694189],[136.460254,55.576709],[136.351172,55.51001],[136.175195,55.352246],[135.750781,55.160645],[135.540625,55.11377],[135.2625,54.943311],[135.234766,54.903223],[135.211523,54.84082],[135.257715,54.731494],[135.325391,54.707422],[135.437793,54.69248],[135.851562,54.583936],[136.237988,54.614062],[136.580273,54.613623],[136.714551,54.624316],[136.797266,54.620996],[136.82373,54.561475],[136.82041,54.452344],[136.77041,54.35332],[136.729395,54.060645],[136.683008,53.931299],[136.718848,53.804102],[136.802637,53.781982],[136.886426,53.839355],[137.01875,53.848145],[137.155371,53.82168],[137.258008,54.025244],[137.172461,54.056885],[137.096191,54.128564],[137.141602,54.182227],[137.377734,54.282324],[137.525098,54.291211],[137.666016,54.283301],[137.513184,54.156396],[137.45127,54.130469],[137.403418,54.123535],[137.339258,54.100537],[137.476465,54.027588],[137.622754,53.970459],[137.834766,53.946729],[137.786133,53.90332],[137.644824,53.86582],[137.516992,53.70708],[137.313672,53.631592],[137.221484,53.579199],[137.253711,53.546143],[137.32832,53.538965],[137.738184,53.560303],[137.950488,53.603564],[138.25293,53.726416],[138.378906,53.909277],[138.493555,53.959668],[138.52793,53.959863],[138.568164,53.947168],[138.569141,53.818799],[138.407031,53.67417],[138.292188,53.592432],[138.249707,53.524023],[138.320312,53.5229],[138.450684,53.537012],[138.510938,53.57002],[138.660742,53.744775],[138.699414,53.869727],[138.72168,54.04375],[138.704688,54.147656],[138.715918,54.222656],[138.657227,54.29834],[138.695703,54.32002],[139.105078,54.217822],[139.319727,54.192969],[139.707422,54.277148],[139.795508,54.256445],[139.858398,54.205322],[140.178711,54.051562],[140.241699,54.001025],[140.34707,53.812598],[140.687598,53.596436],[141.005664,53.49458],[141.015039,53.454248],[141.217676,53.334473],[141.37373,53.292773],[141.402051,53.183984],[141.32793,53.097266],[141.18125,53.015283],[140.887305,53.091504],[140.839648,53.087891],[140.874512,53.039844],[141.086816,52.897559],[141.255859,52.840137],[141.265918,52.652588],[141.24502,52.550146],[141.132422,52.435693],[141.169824,52.368408],[141.329688,52.271143],[141.409082,52.234326],[141.485254,52.178516],[141.385547,52.057227],[141.366895,51.920654],[141.258398,51.860693],[141.129395,51.727783],[140.932617,51.619922],[140.838574,51.41416],[140.687695,51.232275],[140.670703,51.051318],[140.645605,50.986768],[140.520898,50.800195],[140.476367,50.545996],[140.535449,50.130762],[140.564063,50.106689],[140.624512,50.082422],[140.613281,50.053711],[140.58457,50.03335],[140.462695,49.911475],[140.464551,49.825586],[140.511328,49.76167],[140.517188,49.596143],[140.431055,49.331494],[140.399121,49.289795],[140.364355,49.22085],[140.348633,49.15918],[140.325586,49.12002],[140.308984,49.053906],[140.333691,48.994824],[140.37832,48.964111],[140.224219,48.772852],[140.170605,48.523682],[140.113281,48.422656],[139.998438,48.323779],[139.760742,48.180566],[139.67627,48.089893],[139.520508,47.975293],[139.372656,47.887354],[139.166992,47.634863],[139.001367,47.383301],[138.586816,47.057227],[138.529688,46.976221],[138.500488,46.889844],[138.391797,46.745068],[138.336914,46.543408],[138.210156,46.462939],[138.106348,46.250732],[137.769141,45.928516],[137.685449,45.818359],[137.425195,45.63999],[137.146973,45.393506],[136.803516,45.171143],[136.737207,45.080029],[136.604102,44.978174],[136.460449,44.822119],[136.251172,44.666797],[136.208691,44.562012],[136.142285,44.489111],[135.987012,44.439844],[135.874609,44.373535],[135.533203,43.971484],[135.489063,43.898828],[135.483398,43.83501],[135.260156,43.684619],[135.131055,43.525732],[134.916992,43.426562],[134.691797,43.290576],[134.156445,43.042139],[134.010449,42.947461],[133.709375,42.829932],[133.586719,42.828223],[133.329492,42.763867],[133.159961,42.696973],[133.059375,42.722803],[132.996582,42.808008],[132.923926,42.805273],[132.863574,42.79375],[132.708984,42.87583],[132.576465,42.871582],[132.481348,42.909766],[132.303809,42.883301],[132.334375,43.238672],[132.30957,43.313525],[132.233203,43.245068],[132.028711,43.118945],[131.947266,43.09541],[131.866602,43.095166],[131.89834,43.170752],[132.013086,43.280029],[131.97627,43.296045],[131.938965,43.301953],[131.794727,43.255273],[131.72207,43.202637],[131.516406,42.996436],[131.393262,42.822314],[131.29248,42.772119],[131.245313,42.697412],[131.158301,42.626025],[131.024805,42.645166],[130.945703,42.633936],[130.756152,42.673291],[130.709375,42.656396],[130.83418,42.522949],[130.729883,42.325781],[130.687305,42.302539]]],[[[47.441992,80.853662],[47.899512,80.812695],[48.243262,80.823486],[48.345215,80.818994],[48.445703,80.806006],[48.547363,80.779053],[48.686523,80.717773],[48.683594,80.633252],[48.625488,80.629297],[48.044336,80.668164],[47.777344,80.75625],[47.705273,80.765186],[47.600098,80.741943],[47.512305,80.687939],[47.41416,80.674512],[47.303906,80.606201],[47.198242,80.614941],[47.144922,80.609033],[47.011035,80.562109],[46.677539,80.561328],[46.623926,80.540674],[46.513672,80.475537],[46.378125,80.456787],[46.141406,80.446729],[46.059863,80.483789],[46.023633,80.540869],[45.969043,80.569482],[45.64082,80.536963],[45.389258,80.560303],[45.149219,80.59873],[44.90498,80.611279],[45.124512,80.652246],[46.327441,80.735156],[46.799121,80.755225],[47.020605,80.814404],[47.352344,80.85293],[47.441992,80.853662]]],[[[50.278125,80.927246],[50.431445,80.910889],[50.801074,80.91416],[50.917676,80.89043],[51.454785,80.744678],[51.591016,80.740771],[51.703613,80.687646],[51.146191,80.603955],[50.96084,80.540479],[50.279688,80.527344],[49.845996,80.497656],[49.749805,80.47207],[49.794141,80.425342],[49.585938,80.376563],[48.896094,80.369189],[48.811035,80.353711],[48.677051,80.300049],[48.688965,80.290283],[48.921973,80.276807],[48.95957,80.265674],[48.99082,80.242383],[49.010742,80.207422],[48.977539,80.162598],[48.891895,80.155322],[48.797363,80.161133],[48.581738,80.195361],[48.55459,80.183301],[48.532617,80.158252],[48.466797,80.110107],[48.38623,80.095801],[48.167188,80.132764],[48.095898,80.122314],[48.025781,80.099463],[47.939941,80.088623],[47.737305,80.081689],[47.632422,80.111963],[47.723145,80.151367],[47.977539,80.212549],[47.892969,80.239258],[47.642383,80.245312],[47.444336,80.230127],[47.343066,80.188525],[47.248633,80.180225],[46.991016,80.182764],[46.845898,80.237207],[46.738184,80.257666],[46.644434,80.300342],[47.40293,80.444775],[47.656055,80.500537],[47.895801,80.529053],[48.208203,80.543896],[48.306152,80.561572],[48.402637,80.568799],[48.464746,80.558057],[48.625098,80.508301],[49.087793,80.515771],[49.185254,80.558643],[49.192676,80.656006],[49.147461,80.712109],[49.244336,80.821387],[49.507812,80.865332],[50.124316,80.923877],[50.278125,80.927246]]],[[[67.765332,76.237598],[67.365234,76.161279],[67.126953,76.108154],[66.893164,76.072266],[66.657422,76.047021],[66.282422,75.983691],[65.619141,75.904639],[65.201563,75.839453],[64.744531,75.788232],[64.262598,75.719678],[63.779297,75.672607],[63.659473,75.66875],[63.316699,75.603076],[63.045996,75.575732],[62.066113,75.427734],[61.616211,75.319629],[61.486523,75.31084],[61.355957,75.314844],[61.248828,75.281006],[61.147266,75.222559],[60.935645,75.163672],[60.829199,75.11084],[60.719238,75.068604],[60.655371,75.055029],[60.533789,75.059277],[60.475586,75.054736],[60.276855,75.007568],[60.241113,74.970752],[60.454883,74.946143],[60.501367,74.904639],[60.43916,74.875342],[60.300781,74.837012],[60.222461,74.796582],[60.080078,74.755859],[59.982324,74.744629],[59.747266,74.745898],[59.734668,74.695459],[59.771484,74.664453],[59.752734,74.637012],[59.674023,74.610156],[59.595996,74.613721],[59.240137,74.692969],[59.182031,74.665771],[59.157031,74.61084],[59.146094,74.551904],[59.100977,74.50752],[59.04043,74.485547],[58.928223,74.462695],[58.534668,74.498926],[58.502148,74.464209],[58.562012,74.421826],[58.645703,74.328027],[58.665039,74.289258],[58.617871,74.227393],[58.441406,74.128857],[57.767383,74.013818],[57.778418,73.973926],[57.853418,73.897852],[57.872266,73.850439],[57.844922,73.805078],[57.755957,73.769189],[57.657422,73.768164],[57.603711,73.775488],[57.448535,73.825635],[57.313086,73.838037],[57.290918,73.814551],[57.464258,73.746045],[57.542578,73.658203],[57.459766,73.610303],[57.134375,73.504395],[56.963867,73.366553],[56.63418,73.304297],[56.430371,73.297217],[56.22832,73.314111],[56.03457,73.345898],[55.549219,73.356836],[55.280176,73.392041],[55.006836,73.453857],[54.768652,73.449414],[54.56582,73.418506],[54.299902,73.350977],[54.131543,73.481006],[54.20459,73.542041],[53.838672,73.697119],[53.762891,73.766162],[53.851367,73.800537],[53.963477,73.822314],[54.174023,73.885742],[54.386328,73.935645],[54.605664,73.951318],[54.642676,73.95957],[54.733398,74.033984],[54.83125,74.095752],[54.920313,74.129102],[55.022852,74.186621],[55.340918,74.419629],[55.416406,74.436133],[56.07832,74.481299],[56.137109,74.496094],[55.947461,74.542187],[55.751758,74.541211],[55.661523,74.556104],[55.610352,74.590527],[55.582227,74.627686],[55.659668,74.656299],[55.913672,74.796094],[56.217871,74.89751],[56.49873,74.95708],[56.428516,74.972949],[56.340039,75.013477],[55.998047,75.003369],[55.863184,75.05874],[55.821191,75.090625],[55.810059,75.124902],[55.920703,75.168359],[56.035547,75.194238],[56.162207,75.186572],[56.288672,75.164307],[56.389063,75.138184],[56.485254,75.096094],[56.570312,75.097754],[56.87627,75.244385],[56.829297,75.277734],[56.809473,75.328418],[56.844434,75.351416],[56.989453,75.375098],[57.0875,75.383838],[57.301758,75.373242],[57.606836,75.34126],[57.631543,75.356445],[57.708203,75.454492],[57.783398,75.506689],[58.093652,75.592529],[58.072559,75.618994],[58.058301,75.663086],[58.418359,75.719775],[58.652734,75.776807],[58.88125,75.854785],[58.994727,75.871729],[59.110449,75.87373],[59.346582,75.907031],[59.781934,75.94585],[60.036133,75.983838],[60.118164,76.066553],[60.279297,76.09624],[60.606152,76.108643],[60.730566,76.104053],[60.801172,76.068799],[60.942188,76.071289],[60.997754,76.089258],[61.053906,76.119873],[61.036914,76.169043],[61.034375,76.232959],[61.156934,76.273535],[61.20166,76.282031],[61.569434,76.298486],[61.787109,76.291016],[62.237305,76.241602],[62.471094,76.230469],[62.782031,76.245215],[62.971484,76.23667],[63.526172,76.309521],[64.463477,76.378174],[64.707617,76.426025],[64.95,76.484326],[65.072852,76.496729],[65.197168,76.499658],[65.309766,76.51792],[65.528418,76.567822],[65.636914,76.578662],[65.755176,76.579297],[65.862891,76.61333],[65.958887,76.687939],[66.062988,76.746094],[66.345215,76.821045],[66.828809,76.923828],[67.263672,76.96377],[67.534961,77.007764],[67.651855,77.011572],[68.017285,76.990625],[68.485742,76.933691],[68.699121,76.870654],[68.87334,76.7896],[68.911719,76.760547],[68.941699,76.707666],[68.890527,76.659717],[68.858008,76.610498],[68.899805,76.572949],[68.558594,76.449414],[68.222363,76.313477],[68.16543,76.284863],[67.765332,76.237598]]],[[[55.319824,73.308301],[55.787305,73.268604],[56.137695,73.256152],[56.350488,73.225537],[56.42959,73.201172],[56.397461,73.13916],[56.334668,73.113672],[56.188965,73.033008],[56.166992,72.983203],[56.192871,72.90498],[56.170508,72.848096],[56.12168,72.806592],[56.083789,72.789404],[55.819727,72.789502],[55.723438,72.766406],[55.718457,72.721533],[55.700977,72.671729],[55.616406,72.599072],[55.441309,72.575391],[55.40332,72.549072],[55.416895,72.501318],[55.355957,72.465088],[55.35957,72.408691],[55.39043,72.377832],[55.399121,72.313623],[55.518066,72.220654],[55.494922,72.182324],[55.40332,72.106885],[55.375,72.014893],[55.297852,71.935352],[55.471094,71.869238],[55.54668,71.78335],[55.613672,71.689893],[55.819336,71.507568],[56.043164,71.345605],[56.454395,71.107373],[56.894824,70.927002],[57.065625,70.876025],[57.483594,70.792285],[57.556445,70.76582],[57.625391,70.728809],[57.447168,70.661035],[57.263672,70.636035],[57.246973,70.605127],[57.145898,70.589111],[56.648828,70.646533],[56.62168,70.655371],[56.568652,70.697461],[56.510059,70.728809],[56.385742,70.734131],[56.260059,70.714746],[56.334766,70.676709],[56.417188,70.664941],[56.561328,70.593555],[56.499707,70.566406],[56.43457,70.562988],[56.14248,70.657861],[56.114746,70.646143],[56.087109,70.618359],[55.941602,70.649268],[55.907227,70.626318],[55.796875,70.615576],[55.706738,70.641895],[55.706445,70.675244],[55.687305,70.692188],[55.236914,70.666016],[55.05166,70.666748],[54.86709,70.678125],[54.645117,70.741846],[54.608203,70.713232],[54.601172,70.680078],[54.517383,70.693311],[54.332617,70.744678],[54.199414,70.764893],[53.722363,70.814453],[53.383594,70.873535],[53.467773,70.900586],[53.613574,70.914648],[53.615625,70.95083],[53.592578,71.000684],[53.587793,71.052295],[53.670508,71.086914],[53.857031,71.07041],[53.834277,71.126709],[53.922266,71.137598],[54.093945,71.105225],[54.155664,71.125488],[53.886133,71.196289],[53.59082,71.29668],[53.622168,71.332764],[53.515234,71.342529],[53.409961,71.340137],[53.319043,71.39917],[53.33252,71.477246],[53.411621,71.530127],[53.363867,71.54165],[52.908984,71.49502],[52.678711,71.505664],[52.418848,71.536865],[52.17998,71.490234],[51.937891,71.474707],[51.812598,71.491309],[51.691602,71.525146],[51.59043,71.571143],[51.511328,71.648096],[51.438672,71.776807],[51.428613,71.825537],[51.443555,71.934375],[51.482227,71.979785],[51.58252,72.071191],[51.653125,72.099365],[51.805469,72.142139],[51.885449,72.153223],[52.068652,72.131152],[52.252051,72.129736],[52.332324,72.153955],[52.406738,72.196729],[52.461914,72.252344],[52.586133,72.284033],[52.62207,72.300977],[52.661914,72.336865],[52.705762,72.390967],[52.713867,72.436963],[52.74873,72.482959],[52.863672,72.549854],[52.823242,72.59126],[52.839063,72.619287],[52.916602,72.668896],[52.683105,72.682324],[52.60498,72.704053],[52.528516,72.737354],[52.550586,72.768555],[52.579297,72.791357],[52.812207,72.875244],[52.913184,72.899951],[53.024219,72.913574],[53.134961,72.913232],[53.253516,72.90376],[53.369824,72.916748],[53.247266,72.973145],[53.237109,73.011182],[53.188965,73.104004],[53.197949,73.147559],[53.251172,73.182959],[53.357617,73.224561],[53.512207,73.238379],[53.633691,73.260254],[53.753223,73.293262],[53.865625,73.298975],[54.091016,73.276465],[54.202344,73.281348],[54.327637,73.299463],[54.676074,73.37002],[54.803906,73.387646],[54.940625,73.383252],[55.121387,73.356836],[55.319824,73.308301]]],[[[96.526563,81.075586],[96.563086,81.030078],[96.693262,80.994189],[96.75498,80.957861],[97.413672,80.841846],[97.703027,80.826709],[97.831836,80.798291],[97.869922,80.763281],[97.856445,80.698096],[97.747168,80.698682],[97.66543,80.678076],[97.221387,80.652441],[97.113086,80.614063],[97.025391,80.535547],[97.072559,80.519873],[97.115039,80.496582],[97.250195,80.362988],[97.286816,80.342529],[97.416992,80.323145],[97.298438,80.272754],[97.175195,80.241016],[95.855762,80.176953],[94.961328,80.150391],[94.66123,80.122803],[94.565039,80.126074],[94.328418,80.076025],[93.872363,80.010107],[93.654688,80.009619],[93.002344,80.1021],[92.201563,80.179297],[92.092188,80.22334],[91.891602,80.249268],[91.637402,80.269922],[91.523828,80.358545],[91.687793,80.418506],[91.89668,80.477539],[92.24668,80.499121],[92.57793,80.533252],[92.826758,80.618555],[92.981055,80.702979],[93.2625,80.79126],[92.772949,80.768652],[92.592578,80.780859],[92.610156,80.81001],[92.710352,80.872168],[92.764648,80.893066],[92.938672,80.92583],[93.065137,80.988477],[93.358691,81.031689],[93.497363,81.039209],[93.636719,81.038135],[93.888867,81.058398],[94.140137,81.089453],[94.375488,81.107373],[94.611621,81.114648],[94.837891,81.139404],[95.060938,81.188086],[95.15957,81.270996],[95.800684,81.280469],[95.901953,81.260596],[95.983984,81.211426],[96.075195,81.192773],[96.186914,81.183936],[96.471094,81.099268],[96.526563,81.075586]]],[[[97.674512,80.158252],[97.903613,80.09502],[98.017773,80.022852],[97.906738,80.00376],[97.80791,79.956299],[97.759961,79.89585],[97.626953,79.850439],[97.591309,79.774951],[97.65166,79.760645],[97.724512,79.781396],[97.870703,79.852637],[98.064551,79.901074],[98.273242,79.874121],[98.353125,79.884326],[98.499023,79.953125],[98.471875,80.009131],[98.531836,80.043604],[98.596484,80.052197],[98.865918,80.04541],[99.294922,80.016357],[99.370703,79.986377],[99.473047,79.970166],[99.536133,79.941309],[99.726562,79.919922],[99.818359,79.898193],[99.946582,79.848975],[100.06123,79.7771],[99.91582,79.73833],[99.839258,79.668945],[99.805469,79.653076],[99.781641,79.628271],[99.771094,79.567725],[99.748828,79.515186],[99.721191,79.491846],[99.70625,79.463477],[99.721582,79.385107],[99.680664,79.32334],[99.537305,79.276562],[99.387793,79.274756],[99.16709,79.306299],[99.104395,79.305371],[99.041797,79.293018],[99.317383,79.227197],[99.517285,79.130176],[99.750781,79.107666],[99.814648,79.09585],[99.899609,79.006396],[99.929297,78.961426],[99.54082,78.852734],[99.439551,78.834229],[98.819531,78.818262],[98.411133,78.787793],[98.28252,78.79502],[98.054199,78.820996],[97.905176,78.810205],[97.688574,78.827344],[97.555469,78.826562],[97.248145,78.868018],[96.93291,78.933936],[96.871191,78.963818],[96.807813,78.984961],[96.42998,79.003027],[96.347363,79.015869],[95.796484,79.001416],[95.702832,79.012012],[95.531055,79.098096],[95.436914,79.099316],[95.133203,79.049609],[95.02041,79.052686],[94.791016,79.086621],[94.652344,79.12749],[94.631641,79.140869],[94.619727,79.192383],[94.482129,79.218604],[94.31377,79.30752],[94.21875,79.402344],[93.758594,79.451416],[93.478711,79.462744],[93.272266,79.458398],[93.070801,79.495312],[93.404688,79.631592],[93.847266,79.70166],[94.038184,79.756006],[94.257129,79.829736],[94.347266,79.941943],[94.719434,80.01123],[94.815039,80.034814],[94.946777,80.089258],[94.987305,80.096826],[95.281348,80.030518],[95.337988,80.042139],[95.390723,80.072803],[95.497559,80.105615],[95.857813,80.11001],[96.1625,80.096826],[96.277344,80.110059],[96.416602,80.104346],[97.120508,80.153027],[97.586816,80.168262],[97.674512,80.158252]]],[[[102.884766,79.253955],[102.787305,79.176416],[102.745801,79.106055],[102.447852,78.87666],[102.412305,78.835449],[102.587305,78.871289],[102.747656,78.949561],[102.844824,79.014355],[102.950391,79.055762],[103.075684,79.056494],[103.199121,79.071289],[103.433398,79.126123],[103.672852,79.15],[103.800781,79.149268],[103.925684,79.123242],[104.004004,79.062549],[104.091113,79.013184],[104.404199,78.9771],[104.449219,78.963916],[104.476953,78.92334],[104.452051,78.880029],[104.633203,78.835156],[104.881055,78.854883],[105.014648,78.843311],[105.145996,78.818848],[105.20459,78.779932],[105.256055,78.733008],[105.310156,78.666162],[105.342676,78.593945],[105.312598,78.499902],[104.832617,78.352734],[104.741797,78.339746],[104.519434,78.349219],[104.297461,78.335059],[103.719336,78.258252],[103.003125,78.255859],[102.79668,78.187891],[102.734375,78.189893],[102.673145,78.201709],[102.617188,78.224609],[102.180469,78.205322],[101.692383,78.194336],[101.204102,78.191943],[101.039941,78.142969],[100.541211,78.04751],[100.082227,77.975],[99.84502,77.956836],[99.500293,77.976074],[99.391699,78.000684],[99.287109,78.038086],[99.438672,78.083936],[99.545605,78.178564],[99.67793,78.233496],[100.018945,78.338916],[100.05752,78.380371],[100.123535,78.470459],[100.162988,78.503955],[100.215039,78.535791],[100.257227,78.573828],[100.262695,78.631494],[100.283984,78.679199],[100.416406,78.753174],[100.515625,78.787793],[100.619629,78.797412],[100.875586,78.783594],[100.955762,78.788477],[100.897949,78.812451],[100.85625,78.897754],[100.864551,78.92583],[100.901367,78.980078],[100.96543,79.006543],[101.030859,79.023291],[101.068164,79.09624],[101.052246,79.123242],[101.148828,79.156885],[101.196094,79.204443],[101.310449,79.232617],[101.543066,79.254443],[101.555273,79.312646],[101.590625,79.350439],[101.643359,79.361377],[101.761328,79.371973],[101.824219,79.370215],[101.912109,79.311621],[102.005273,79.263672],[102.128516,79.25249],[102.25127,79.256055],[102.177246,79.312598],[102.180664,79.373389],[102.225098,79.412939],[102.282422,79.430078],[102.404883,79.433203],[102.789844,79.392139],[103.041602,79.331543],[103.097949,79.299121],[103.052441,79.28252],[102.939648,79.271191],[102.884766,79.253955]]],[[[140.04873,75.828955],[140.152148,75.809814],[140.274414,75.822412],[140.389063,75.79585],[140.496289,75.689795],[140.54668,75.663184],[140.602148,75.643945],[140.656738,75.634131],[140.815918,75.630713],[140.889258,75.652002],[140.944141,75.700488],[140.94043,75.749512],[140.926563,75.798926],[140.925781,75.866846],[140.950293,75.927344],[140.985352,75.964502],[141.032617,75.988965],[141.299316,76.06377],[141.485449,76.137158],[141.742285,76.108057],[142.001465,76.043555],[142.460352,75.903613],[142.669531,75.863428],[142.926758,75.826904],[143.185156,75.813623],[143.311133,75.822314],[143.559961,75.8604],[143.68584,75.863672],[145.255273,75.585596],[145.309766,75.564063],[145.359961,75.530469],[145.023438,75.489746],[144.803125,75.416064],[144.726758,75.365576],[144.814258,75.324512],[144.883496,75.268945],[144.407813,75.102295],[144.216016,75.05918],[144.019727,75.044678],[143.625879,75.083984],[143.396094,75.082861],[143.170313,75.116895],[142.92207,75.217432],[142.820117,75.267822],[142.729492,75.337646],[142.699609,75.448877],[142.734473,75.54458],[142.867578,75.571777],[142.986035,75.633252],[143.002441,75.659863],[142.941797,75.713281],[142.551563,75.720898],[142.30791,75.691699],[142.08623,75.660645],[142.151074,75.457568],[142.198828,75.392676],[142.264746,75.346143],[142.616797,75.133252],[142.696973,75.103076],[142.929688,75.062402],[143.12793,74.970313],[142.778223,74.867773],[142.626074,74.837402],[142.472754,74.82041],[142.378418,74.828564],[142.287402,74.849902],[142.18418,74.899609],[142.1,74.950977],[141.987305,74.99126],[141.748438,74.982568],[141.52998,74.947168],[141.310449,74.923193],[140.660742,74.881836],[140.463867,74.856055],[140.267871,74.846924],[140.011035,74.894775],[139.758203,74.96377],[139.68125,74.964062],[139.605859,74.945605],[139.548047,74.904053],[139.512305,74.837793],[139.430078,74.749219],[139.325586,74.686816],[139.215332,74.659668],[139.099121,74.656543],[138.981738,74.673682],[138.865625,74.700928],[138.092285,74.797461],[138.001367,74.827002],[137.915039,74.87085],[137.683008,75.008545],[137.568066,75.040576],[137.446973,75.054199],[137.217969,75.12373],[137.00625,75.23501],[136.962305,75.270361],[136.947656,75.325537],[136.982422,75.365332],[137.166016,75.346582],[137.289746,75.348633],[137.215234,75.554395],[137.268848,75.749414],[137.358496,75.781641],[137.706543,75.75957],[137.593555,75.823389],[137.501172,75.909668],[137.560547,75.955225],[137.625391,75.988184],[137.774414,76.015674],[137.977051,76.027783],[138.038672,76.047266],[138.095996,76.080518],[138.207617,76.114941],[138.430664,76.130078],[138.813965,76.199707],[138.919531,76.196729],[139.017578,76.160107],[139.10918,76.10835],[139.211328,76.080713],[139.528516,76.013428],[139.743359,75.953076],[140.04873,75.828955]]],[[[146.795215,75.370752],[147.060352,75.364307],[147.443555,75.437988],[147.496973,75.440527],[148.432422,75.413525],[148.508887,75.387451],[148.518848,75.336475],[148.48916,75.309375],[148.475,75.272412],[148.590137,75.236377],[148.892188,75.228125],[149.083203,75.262061],[149.645313,75.24458],[150.103906,75.219238],[150.280664,75.164014],[150.417188,75.134326],[150.530566,75.099854],[150.612891,75.120166],[150.690332,75.155322],[150.756934,75.162402],[150.822363,75.156543],[150.646289,74.94458],[150.580273,74.918945],[150.33125,74.866797],[149.838086,74.795312],[149.596875,74.772607],[149.050195,74.772461],[148.296875,74.800439],[148.092383,74.825684],[147.971875,74.857324],[147.740918,74.931982],[147.626855,74.958936],[147.257031,74.984277],[147.144043,74.998437],[146.924902,75.0625],[146.70332,75.114209],[146.148535,75.198291],[146.186133,75.295557],[146.257617,75.39375],[146.342969,75.480908],[146.438477,75.558203],[146.5375,75.581787],[146.750977,75.510449],[146.748242,75.428662],[146.795215,75.370752]]],[[[178.861523,70.826416],[178.792578,70.82207],[178.648242,71.000586],[178.62832,71.047363],[178.683887,71.105664],[178.829004,71.177881],[178.891113,71.231104],[179.235059,71.324512],[179.547656,71.447656],[179.715918,71.466211],[179.886426,71.52334],[180,71.537744],[180,70.993018],[179.881348,70.975684],[179.647656,70.898926],[179.152539,70.880273],[178.861523,70.826416]]],[[[142.761035,54.393945],[142.976172,54.140967],[142.985938,54.085693],[142.96709,54.028809],[142.926563,53.955615],[142.911426,53.878369],[142.936426,53.810938],[142.917969,53.794238],[143.095508,53.488672],[143.223633,53.296045],[143.259961,53.217285],[143.287891,53.134375],[143.324707,52.963086],[143.332617,52.700049],[143.323633,52.613574],[143.295117,52.52915],[143.264258,52.478662],[143.200977,52.44292],[143.172266,52.349365],[143.155566,52.08374],[143.190625,51.944482],[143.250586,51.8479],[143.294727,51.744336],[143.299512,51.632373],[143.320508,51.583252],[143.417773,51.520605],[143.455469,51.471484],[143.467383,51.401904],[143.472949,51.299219],[143.48877,51.277051],[143.53418,51.246289],[143.736035,50.506738],[143.816016,50.282617],[144.047949,49.895752],[144.141309,49.661475],[144.199609,49.549756],[144.239941,49.432031],[144.27207,49.311328],[144.341211,49.180518],[144.431738,49.051074],[144.606836,48.93584],[144.685547,48.87124],[144.706641,48.819531],[144.71377,48.640283],[144.672656,48.678564],[144.620996,48.814844],[144.536328,48.893555],[144.411816,48.986377],[144.283789,49.069775],[144.125488,49.208545],[144.04873,49.24917],[143.967773,49.276318],[143.819141,49.308594],[143.732324,49.312012],[143.382227,49.290674],[143.236328,49.262842],[143.10498,49.198828],[143.026855,49.10542],[142.97168,48.917773],[142.650977,48.246875],[142.574219,48.072168],[142.545898,47.884912],[142.556934,47.737891],[142.579004,47.683984],[142.670117,47.536914],[142.74541,47.452393],[142.800781,47.416162],[142.863965,47.391797],[142.905469,47.361865],[142.940332,47.322754],[143.005566,47.222705],[143.089258,47.000781],[143.17793,46.844043],[143.217676,46.794873],[143.318652,46.807373],[143.384375,46.805664],[143.447266,46.791992],[143.485645,46.752051],[143.540332,46.575098],[143.578711,46.406055],[143.580664,46.360693],[143.508594,46.230176],[143.490625,46.174609],[143.482324,46.11582],[143.463477,46.069482],[143.431641,46.028662],[143.418652,46.222021],[143.370313,46.358496],[143.352148,46.476221],[143.282324,46.558984],[143.047852,46.592627],[142.829297,46.605273],[142.795508,46.620215],[142.747363,46.670654],[142.691895,46.71084],[142.635742,46.716211],[142.578027,46.700781],[142.478809,46.644238],[142.406445,46.554688],[142.35,46.458691],[142.304004,46.357568],[142.208594,46.088867],[142.149707,45.999268],[142.077148,45.917041],[142.015625,45.961621],[141.961621,46.013477],[141.92998,46.088281],[141.916309,46.170752],[141.830371,46.451074],[141.866504,46.694189],[142.011035,47.030322],[142.038672,47.140283],[142.016895,47.244678],[141.98418,47.347705],[141.9625,47.543799],[141.964063,47.587451],[142.015625,47.700635],[142.075977,47.80835],[142.149219,47.902148],[142.181738,48.013379],[142.135352,48.290088],[142.028711,48.4771],[141.897266,48.654687],[141.873047,48.701953],[141.866309,48.750098],[141.97959,48.972168],[142.020117,49.078467],[142.066504,49.312061],[142.108691,49.439648],[142.142285,49.569141],[142.153125,50.216748],[142.143066,50.312109],[142.071094,50.51499],[142.066016,50.630469],[142.100488,50.776465],[142.147266,50.890186],[142.20791,50.998486],[142.206738,51.222559],[142.090723,51.429395],[142.005957,51.520508],[141.872949,51.630029],[141.771875,51.690186],[141.722363,51.736328],[141.771875,51.751807],[141.808105,51.789209],[141.720996,51.846777],[141.668457,51.93335],[141.66084,52.272949],[141.682422,52.359131],[141.747559,52.454834],[141.80332,52.555615],[141.855566,52.793506],[141.873633,53.038916],[141.838867,53.138477],[141.823535,53.339502],[141.852441,53.389453],[141.964453,53.456396],[142.141992,53.495605],[142.179883,53.484033],[142.318945,53.405469],[142.370508,53.402539],[142.424023,53.410742],[142.526172,53.447461],[142.583496,53.536768],[142.50918,53.587598],[142.552539,53.652637],[142.67959,53.674365],[142.688867,53.730176],[142.642871,53.736768],[142.683008,53.816016],[142.705957,53.895703],[142.670215,53.968408],[142.466602,54.148535],[142.334961,54.280713],[142.55166,54.278955],[142.615625,54.303613],[142.666211,54.358203],[142.692773,54.416113],[142.761035,54.393945]]],[[[-178.876465,71.577051],[-178.438965,71.541162],[-178.353564,71.529199],[-178.214697,71.481641],[-178.133887,71.465479],[-178.056641,71.437598],[-177.974805,71.390527],[-177.816992,71.33999],[-177.584131,71.281689],[-177.532178,71.263086],[-177.498486,71.219141],[-177.523584,71.166895],[-177.821777,71.067578],[-178.062695,71.041943],[-178.527979,71.014795],[-179.156885,70.939844],[-179.415674,70.918994],[-179.506689,70.923438],[-179.734033,70.97168],[-179.999951,70.993018],[-179.999951,71.184229],[-179.999951,71.399707],[-179.999951,71.537744],[-179.844873,71.550977],[-179.691016,71.577979],[-179.546387,71.582422],[-179.402051,71.56665],[-179.256494,71.57168],[-179.111572,71.596191],[-178.994043,71.593213],[-178.876465,71.577051]]],[[[35.816113,65.18208],[35.848438,65.142676],[35.858398,65.07793],[35.827344,65.036475],[35.842285,65.001465],[35.778711,64.97666],[35.680078,65.057617],[35.621387,65.058789],[35.558594,65.093604],[35.528906,65.151074],[35.585742,65.16709],[35.608691,65.157129],[35.729102,65.197559],[35.816113,65.18208]]],[[[42.713672,66.701709],[42.675586,66.688086],[42.477344,66.735059],[42.460059,66.770361],[42.468555,66.785547],[42.547461,66.795508],[42.631445,66.782227],[42.690723,66.735303],[42.713672,66.701709]]],[[[52.90332,71.36499],[52.994141,71.29126],[53.074023,71.237939],[53.141406,71.241895],[53.192578,71.215283],[53.205176,71.159717],[53.071484,71.065039],[53.048145,71.030957],[53.105762,70.999268],[53.120996,70.982031],[53.022656,70.968701],[53.004492,71.011621],[52.949609,71.053613],[52.835352,71.08584],[52.788965,71.114941],[52.738379,71.180664],[52.546582,71.250439],[52.425488,71.239258],[52.289453,71.270361],[52.249609,71.284912],[52.239844,71.325049],[52.296582,71.356836],[52.512598,71.385059],[52.617383,71.38335],[52.729688,71.355127],[52.720313,71.389795],[52.732227,71.403711],[52.776758,71.399805],[52.90332,71.36499]]],[[[168.039062,54.56499],[168.081348,54.512744],[167.677344,54.697656],[167.488086,54.794971],[167.441504,54.855859],[167.511719,54.856934],[167.59248,54.797754],[167.710645,54.770166],[167.882617,54.690479],[168.039062,54.56499]]],[[[160.718945,70.822705],[160.651367,70.805859],[160.504785,70.819727],[160.436914,70.851025],[160.44043,70.922656],[160.448535,70.934033],[160.56582,70.923779],[160.644922,70.883545],[160.718945,70.822705]]],[[[161.46709,68.900977],[161.422461,68.899658],[161.45625,68.966016],[161.461133,68.995605],[161.364063,69.044434],[161.18252,69.081592],[161.136523,69.110254],[161.125488,69.197021],[161.164551,69.333594],[161.082813,69.405664],[161.110742,69.469824],[161.32334,69.540918],[161.409766,69.595703],[161.505176,69.639453],[161.520703,69.634033],[161.617773,69.592432],[161.609277,69.500928],[161.540332,69.436523],[161.374414,69.413672],[161.350879,69.369336],[161.372656,69.292822],[161.377539,69.194434],[161.394238,69.106445],[161.494727,69.016016],[161.516992,68.96958],[161.506738,68.927588],[161.46709,68.900977]]],[[[152.885938,76.121729],[152.786328,76.085791],[152.558594,76.143604],[152.642773,76.174805],[152.799414,76.194824],[152.835059,76.185156],[152.86377,76.163428],[152.885938,76.121729]]],[[[149.150195,76.659912],[148.398633,76.648242],[148.448145,76.676953],[148.719629,76.746582],[149.406445,76.78208],[149.268359,76.747217],[149.204785,76.677002],[149.150195,76.659912]]],[[[137.959863,71.507666],[137.711816,71.423242],[137.612891,71.433936],[137.511816,71.474609],[137.457813,71.483496],[137.403223,71.477295],[137.344238,71.460547],[137.265527,71.455908],[137.078711,71.502197],[137.064063,71.529883],[137.081836,71.542725],[137.129492,71.556152],[137.168164,71.557129],[137.281836,71.579932],[137.816797,71.587891],[137.857617,71.583057],[137.933789,71.542773],[137.959863,71.507666]]],[[[107.695508,78.130908],[107.60625,78.082568],[107.481641,78.057764],[107.343848,78.098584],[107.00166,78.095654],[106.415527,78.139844],[106.583301,78.167578],[107.508301,78.189404],[107.573242,78.185547],[107.695508,78.130908]]],[[[112.478027,76.620898],[112.63252,76.552979],[112.66084,76.50957],[112.61416,76.499268],[112.586523,76.482959],[112.574805,76.452393],[112.531641,76.450049],[112.394824,76.483789],[112.296875,76.537988],[112.153809,76.549316],[112.002734,76.602979],[111.968945,76.626172],[112.011133,76.632861],[112.281445,76.618359],[112.394141,76.643799],[112.478027,76.620898]]],[[[96.532422,76.278125],[96.613965,76.263818],[96.589648,76.22124],[96.486719,76.23374],[96.350781,76.212158],[96.353418,76.17749],[96.300586,76.121729],[96.108789,76.155469],[95.844531,76.160254],[95.678613,76.193652],[95.311133,76.214746],[95.32207,76.261621],[95.379883,76.289062],[95.594434,76.249609],[95.78623,76.293896],[96.150977,76.271875],[96.270703,76.305371],[96.532422,76.278125]]],[[[96.285449,77.02666],[96.253516,77.007275],[96.209863,76.992139],[96.091406,77.002539],[95.854688,76.974951],[95.76582,76.990625],[95.680859,77.021338],[95.364062,77.011523],[95.270312,77.018848],[95.420703,77.056494],[95.854102,77.097559],[96.528418,77.205518],[96.561914,77.154053],[96.561328,77.12959],[96.424316,77.071191],[96.285449,77.02666]]],[[[89.514258,77.188818],[89.299512,77.183984],[89.179297,77.209912],[89.141699,77.226807],[89.200488,77.271973],[89.281543,77.301465],[89.616211,77.311035],[89.67959,77.280322],[89.66582,77.254492],[89.514258,77.188818]]],[[[74.660547,72.873437],[74.638379,72.86377],[74.588086,72.881152],[74.434766,72.907666],[74.180664,72.975342],[74.100195,73.021533],[74.142383,73.074365],[74.198535,73.109082],[74.408789,73.130469],[74.599902,73.121777],[74.725293,73.108154],[74.961523,73.0625],[74.742578,73.032715],[74.647266,72.969043],[74.660156,72.929297],[74.697168,72.907715],[74.660547,72.873437]]],[[[75.503711,73.456641],[75.344336,73.432275],[75.375,73.477393],[75.569727,73.540625],[75.930176,73.573633],[76.039453,73.559912],[76.051562,73.549268],[75.900977,73.481494],[75.827148,73.459131],[75.503711,73.456641]]],[[[83.549023,74.071777],[83.495801,74.048438],[83.45,74.05166],[83.410645,74.039551],[83.158984,74.075342],[82.817773,74.091602],[82.90293,74.128906],[83.149805,74.151611],[83.513477,74.122363],[83.618359,74.089453],[83.549023,74.071777]]],[[[67.344922,69.529834],[67.263965,69.442529],[67.097852,69.447168],[67.047266,69.467041],[67.025879,69.483203],[67.216113,69.575391],[67.328906,69.572119],[67.344922,69.529834]]],[[[66.560938,70.541748],[66.568555,70.501465],[66.51582,70.514893],[66.448633,70.561035],[66.407617,70.615771],[66.394824,70.727295],[66.418164,70.757129],[66.440234,70.772656],[66.462891,70.769336],[66.457715,70.698779],[66.560938,70.541748]]],[[[70.020703,66.502197],[69.844727,66.489746],[69.651367,66.565332],[69.469336,66.715967],[69.502734,66.751074],[69.616406,66.739014],[69.800391,66.736475],[69.917578,66.71167],[70.07666,66.695898],[70.057617,66.627197],[70.057227,66.599463],[70.110059,66.569092],[70.05918,66.517578],[70.020703,66.502197]]],[[[50.051758,80.074316],[49.970898,80.060742],[49.588281,80.136133],[49.556055,80.158936],[49.883691,80.230225],[50.250977,80.219482],[50.309961,80.185645],[50.319141,80.172363],[50.072266,80.109473],[50.051758,80.074316]]],[[[51.409277,79.944238],[51.435156,79.931934],[51.43125,79.920508],[51.07627,79.931982],[50.454102,79.924414],[50.091406,79.980566],[50.472656,80.035449],[50.675781,80.048535],[50.936328,80.094238],[51.254395,80.048633],[51.237891,80.010352],[51.242773,79.99126],[51.326953,79.972314],[51.409277,79.944238]]],[[[50.753711,81.047412],[50.616016,81.04126],[50.518164,81.045557],[50.411914,81.084375],[50.377441,81.102734],[50.368457,81.12251],[50.464941,81.126221],[50.505957,81.144238],[50.521582,81.158203],[50.591797,81.169434],[50.715918,81.170654],[50.878613,81.150879],[50.946191,81.108154],[50.78877,81.071826],[50.753711,81.047412]]],[[[55.479688,80.273828],[55.195117,80.226807],[55.048438,80.228369],[54.979688,80.256445],[55.091602,80.295557],[55.240039,80.325391],[55.353223,80.317676],[55.434766,80.302246],[55.479688,80.273828]]],[[[54.415332,80.472803],[54.275879,80.421338],[53.811914,80.476221],[53.85,80.503857],[53.900195,80.51543],[53.901563,80.54248],[53.858887,80.563037],[53.877246,80.605273],[54.176758,80.574365],[54.205371,80.561768],[54.407129,80.540137],[54.437305,80.498682],[54.415332,80.472803]]],[[[59.688867,79.955811],[59.330664,79.923047],[59.202637,79.932959],[59.169238,79.948291],[59.100391,79.96416],[58.919238,79.984619],[58.946094,80.042334],[59.001465,80.053906],[59.544531,80.118848],[59.80166,80.082666],[59.911035,79.994287],[59.688867,79.955811]]],[[[58.622363,81.04165],[58.761523,80.990967],[58.815332,80.933594],[58.902539,80.897656],[58.930566,80.831689],[58.859961,80.779395],[58.641895,80.767969],[58.285645,80.764893],[57.937891,80.793359],[57.749805,80.889062],[57.405176,80.915137],[57.210938,81.01709],[57.410254,81.046777],[57.65625,81.031543],[58.049512,81.118457],[58.102344,81.114258],[58.189941,81.09458],[58.507617,81.061768],[58.622363,81.04165]]],[[[47.983008,45.488232],[47.967676,45.469971],[47.920313,45.562061],[47.917578,45.618164],[47.947168,45.64707],[47.987109,45.554053],[47.983008,45.488232]]],[[[50.265234,69.185596],[50.283008,69.088867],[50.220605,69.048779],[50.164453,69.037549],[50.140918,69.098145],[50.093945,69.125537],[49.920801,69.053271],[49.839844,68.973779],[49.62627,68.859717],[49.180469,68.778418],[48.910352,68.743066],[48.666992,68.733154],[48.439063,68.804883],[48.315918,68.942383],[48.294434,68.984229],[48.278809,69.040332],[48.280273,69.096631],[48.296289,69.183887],[48.319922,69.269238],[48.413867,69.345654],[48.631348,69.436035],[48.844922,69.494727],[48.95332,69.509277],[49.225195,69.51123],[49.996289,69.309424],[50.167285,69.25708],[50.265234,69.185596]]],[[[63.373828,80.700098],[63.187598,80.697607],[63.002148,80.712842],[62.760449,80.762695],[62.520313,80.821875],[62.592578,80.853027],[62.819336,80.893799],[63.11582,80.966797],[63.614746,80.980908],[63.855957,80.981152],[64.095703,80.99834],[64.165918,81.035742],[64.210449,81.106348],[64.255859,81.144434],[64.310156,81.175195],[64.575391,81.198486],[64.802051,81.197266],[65.027734,81.169482],[65.171973,81.144043],[65.309766,81.096436],[65.382031,81.056738],[65.360059,81.008203],[65.37207,80.968018],[65.437402,80.930713],[64.997461,80.818896],[64.54834,80.75542],[63.373828,80.700098]]],[[[57.95625,80.123242],[57.800098,80.104053],[57.392285,80.13916],[57.332324,80.158105],[57.281445,80.193896],[57.214063,80.328271],[57.211719,80.368457],[57.18623,80.39624],[57.083398,80.445215],[57.011133,80.468311],[57.075,80.493945],[57.521973,80.475391],[58.480469,80.464746],[58.97168,80.415869],[59.115918,80.388428],[59.255469,80.343213],[58.397949,80.31875],[58.283887,80.297803],[58.285742,80.248145],[58.255469,80.201807],[58.163184,80.196533],[57.95625,80.123242]]],[[[62.167773,80.834766],[62.227734,80.794385],[62.191797,80.730225],[62.114551,80.683691],[62.075781,80.616943],[61.769141,80.601025],[61.68125,80.586328],[61.597461,80.534961],[61.285156,80.504736],[61.05127,80.418604],[60.722266,80.434668],[60.27832,80.494434],[59.900195,80.446094],[59.649805,80.43125],[59.346387,80.505029],[59.304395,80.521533],[59.288184,80.572656],[59.30625,80.617773],[59.386523,80.712549],[59.495117,80.766504],[59.549414,80.783594],[59.592285,80.816504],[59.71582,80.836377],[60.094531,80.848584],[60.234961,80.837744],[60.278027,80.801465],[60.481543,80.804248],[60.820215,80.826562],[61.313184,80.862646],[61.597461,80.89292],[61.850586,80.885937],[62.10293,80.866602],[62.167773,80.834766]]],[[[61.14082,80.950342],[60.826758,80.929688],[60.321094,80.955518],[60.058203,80.984619],[60.07832,80.99917],[60.147559,81.01665],[60.586621,81.087695],[61.457422,81.103955],[61.567383,81.050293],[61.471973,81.011035],[61.14082,80.950342]]],[[[53.521387,80.185205],[52.856348,80.173242],[52.635938,80.178857],[52.607031,80.191162],[52.550488,80.201855],[52.343555,80.213232],[52.213379,80.263721],[52.270215,80.276318],[52.57666,80.296924],[52.680566,80.318506],[52.716016,80.347559],[52.853906,80.402393],[53.185645,80.412646],[53.329199,80.402393],[53.345898,80.366309],[53.486133,80.323389],[53.85166,80.268359],[53.77793,80.22832],[53.65293,80.222559],[53.521387,80.185205]]],[[[57.078711,80.350928],[57.122656,80.316992],[57.118945,80.193945],[57.072754,80.139404],[57.080176,80.094678],[56.986914,80.071484],[56.200586,80.076465],[55.811621,80.087158],[55.724023,80.104736],[55.942285,80.163281],[56.012207,80.203906],[55.989844,80.320068],[56.024414,80.341309],[56.655078,80.330322],[56.707227,80.363281],[56.944531,80.366162],[57.078711,80.350928]]],[[[57.810254,81.546045],[57.862695,81.506445],[58.016602,81.483789],[58.436035,81.46416],[58.563867,81.418408],[58.371875,81.386963],[57.858691,81.368066],[57.911914,81.303271],[58.015332,81.254834],[57.912891,81.19751],[57.769727,81.169727],[57.450977,81.135547],[57.159473,81.178467],[56.821875,81.237939],[56.669238,81.198291],[56.5125,81.175244],[56.363965,81.178613],[56.191992,81.223975],[55.716699,81.188477],[55.572656,81.228076],[55.466016,81.311182],[55.781934,81.329443],[56.156836,81.303076],[56.404688,81.387012],[56.71875,81.423389],[56.973047,81.510547],[57.091504,81.541211],[57.365039,81.535254],[57.456445,81.542871],[57.716602,81.564648],[57.810254,81.546045]]],[[[54.718945,81.115967],[55.470703,81.019873],[56.170117,81.02915],[56.472266,80.998242],[56.909668,80.912891],[57.567773,80.819727],[57.694141,80.792285],[57.580371,80.755469],[56.814746,80.663623],[56.315527,80.632861],[55.883398,80.628418],[55.7125,80.637305],[55.540625,80.70332],[55.117188,80.751904],[54.668164,80.738672],[54.62334,80.765234],[54.532813,80.783008],[54.376074,80.786963],[54.066602,80.813623],[54.04541,80.871973],[54.240527,80.901855],[54.367285,80.903809],[54.416797,80.986523],[54.633984,81.113184],[54.718945,81.115967]]],[[[63.650977,81.609326],[63.528516,81.596582],[62.884961,81.608887],[62.573047,81.633057],[62.53125,81.647021],[62.515234,81.659131],[62.106445,81.679346],[62.283984,81.706543],[62.794922,81.718945],[63.70957,81.687305],[63.767383,81.66416],[63.782422,81.649805],[63.650977,81.609326]]],[[[58.29541,81.715186],[57.964844,81.695654],[57.920605,81.710498],[57.909277,81.721924],[57.945117,81.747852],[57.984961,81.797021],[58.13457,81.827979],[59.261816,81.854199],[59.408496,81.825439],[59.356836,81.780957],[59.356445,81.758984],[58.29541,81.715186]]],[[[92.683496,79.685205],[92.440625,79.675488],[92.153711,79.684668],[91.683594,79.790576],[91.37627,79.835498],[91.126074,79.904932],[91.070312,79.981494],[91.229297,80.030713],[91.425977,80.049219],[91.751953,80.052295],[92.173438,80.045459],[92.592773,79.996533],[93.481543,79.941113],[93.803125,79.904541],[93.603516,79.816748],[93.382031,79.783887],[93.155078,79.737598],[92.92627,79.704492],[92.683496,79.685205]]],[[[91.567187,81.141211],[91.222852,81.063818],[89.975781,81.113135],[89.919434,81.14873],[89.901172,81.170703],[90.069922,81.213721],[91.108984,81.199121],[91.477832,81.183936],[91.567187,81.141211]]],[[[141.010254,73.999463],[140.507227,73.918652],[140.409473,73.92168],[140.183203,74.00459],[140.101562,74.184277],[140.193555,74.236719],[140.300293,74.257227],[140.407422,74.266455],[140.849219,74.273779],[140.944336,74.264648],[141.038574,74.242725],[141.079492,74.209326],[141.097461,74.167822],[141.046875,74.050391],[141.010254,73.999463]]],[[[142.184863,73.895898],[142.435059,73.851562],[142.63916,73.803076],[143.34375,73.56875],[143.410742,73.52085],[143.463965,73.458887],[143.491309,73.246436],[143.451465,73.231299],[143.193262,73.220752],[142.841602,73.244824],[142.586914,73.25332],[142.342188,73.252881],[142.126367,73.281689],[141.59668,73.31084],[141.182715,73.389209],[140.754004,73.446045],[140.662793,73.452002],[140.39248,73.435352],[140.026953,73.361426],[139.925098,73.355225],[139.785547,73.355225],[139.685547,73.425732],[139.920117,73.448584],[140.155176,73.45752],[140.380664,73.483008],[140.593555,73.564551],[140.697461,73.62915],[140.883789,73.777539],[140.983594,73.831543],[141.084766,73.865869],[141.189941,73.876465],[141.311914,73.871875],[141.681934,73.904199],[141.931836,73.914941],[142.184863,73.895898]]],[[[135.948633,75.40957],[135.745898,75.381982],[135.451953,75.389551],[135.473047,75.463232],[135.523438,75.49585],[135.592676,75.576465],[135.56123,75.636475],[135.578418,75.709961],[135.613867,75.766309],[135.698633,75.845264],[135.788281,75.798486],[135.849219,75.729248],[135.904785,75.694385],[136.127344,75.625586],[136.168945,75.605566],[135.983398,75.521924],[135.965137,75.486133],[136.020508,75.438379],[135.948633,75.40957]]],[[[136.197461,73.913623],[136.12168,73.88501],[136.051465,73.929102],[135.714551,74.059521],[135.633398,74.121436],[135.448633,74.179688],[135.402441,74.201709],[135.387012,74.253369],[135.62832,74.219922],[136.036816,74.090332],[136.25918,73.984961],[136.197461,73.913623]]],[[[137.940527,55.092627],[138.03125,55.05332],[138.17207,55.060059],[138.206152,55.033545],[138.096484,54.990918],[138.016602,54.900879],[137.991211,54.820703],[137.959473,54.789014],[137.870117,54.749561],[137.790234,54.696924],[137.721484,54.663232],[137.661133,54.653271],[137.525586,54.82583],[137.462695,54.873389],[137.276074,54.792383],[137.23291,54.790576],[137.275195,54.891016],[137.384375,55.000684],[137.435547,55.016016],[137.543652,55.163086],[137.577344,55.197021],[137.910449,55.110059],[137.940527,55.092627]]],[[[169.200781,69.580469],[168.915723,69.571436],[168.348047,69.664355],[168.144336,69.71333],[167.992676,69.77583],[167.821289,69.819629],[167.788867,69.836865],[167.813965,69.873047],[167.864746,69.901074],[168.05957,69.974902],[168.196289,70.008398],[168.35791,70.015674],[169.374805,69.882617],[169.420703,69.856055],[169.433594,69.832178],[169.418164,69.779199],[169.332422,69.76958],[169.299121,69.734766],[169.263379,69.628711],[169.245801,69.601123],[169.200781,69.580469]]],[[[163.635156,58.603369],[163.471387,58.509375],[163.447266,58.524658],[163.431836,58.546143],[163.427246,58.578955],[163.576758,58.640869],[163.726562,58.798535],[163.784473,58.929736],[163.766602,58.972363],[163.760938,59.015039],[164.202148,59.096191],[164.517383,59.226758],[164.572656,59.221143],[164.629297,59.112207],[164.661621,58.970752],[164.615723,58.885596],[164.278809,58.838086],[163.960059,58.74375],[163.635156,58.603369]]],[[[166.650293,54.839062],[166.645117,54.694092],[166.521289,54.767627],[166.463672,54.826855],[166.381738,54.838086],[166.324805,54.864551],[166.229883,54.936523],[166.119727,55.030371],[166.082324,55.076563],[166.066309,55.135693],[165.991895,55.190479],[165.751074,55.294531],[165.830469,55.306934],[165.93125,55.351465],[166.211914,55.323975],[166.275781,55.311963],[166.22998,55.242334],[166.248047,55.16543],[166.404297,55.005615],[166.479492,54.949902],[166.577344,54.907715],[166.650293,54.839062]]],[[[154.810449,49.312012],[154.714844,49.267676],[154.610938,49.294043],[154.612988,49.380615],[154.824902,49.646924],[154.899609,49.630371],[154.883301,49.566406],[154.802344,49.468262],[154.829883,49.3479],[154.810449,49.312012]]],[[[156.405078,50.657617],[156.36543,50.633789],[156.325781,50.639062],[156.196289,50.702148],[156.167969,50.731885],[156.213086,50.784717],[156.376465,50.862109],[156.455859,50.85957],[156.4875,50.842969],[156.483105,50.751221],[156.405078,50.657617]]],[[[155.921094,50.302197],[155.792383,50.202051],[155.60752,50.177246],[155.516406,50.145605],[155.448926,50.077783],[155.397168,50.04126],[155.288672,50.061182],[155.243066,50.094629],[155.243066,50.212793],[155.195117,50.264551],[155.218359,50.297852],[155.326758,50.293262],[155.433887,50.368945],[155.680176,50.400732],[155.772754,50.482422],[155.884766,50.684131],[156.00166,50.756934],[156.096875,50.771875],[156.122852,50.671289],[156.100586,50.559277],[156.044434,50.451758],[155.921094,50.302197]]],[[[154.08125,48.790283],[154.042969,48.73877],[154.000684,48.755713],[153.992285,48.77251],[154.091699,48.832129],[154.126367,48.904443],[154.199023,48.904932],[154.228418,48.89209],[154.204688,48.857178],[154.08125,48.790283]]],[[[155.644824,50.821924],[155.553516,50.810596],[155.512793,50.837305],[155.483496,50.869629],[155.467383,50.913574],[155.568555,50.934473],[155.639648,50.910498],[155.653613,50.845361],[155.644824,50.821924]]],[[[153.101074,47.762939],[153.053809,47.706104],[153.004102,47.713477],[152.984277,47.72793],[153.049121,47.797021],[153.079199,47.80874],[153.101074,47.762939]]],[[[152.002051,46.897168],[151.815625,46.787109],[151.754102,46.78833],[151.723438,46.828809],[151.715332,46.852686],[151.864355,46.868994],[152.039844,47.01499],[152.16582,47.110449],[152.234668,47.143408],[152.288867,47.142187],[152.002051,46.897168]]],[[[149.687695,45.642041],[149.538867,45.591357],[149.44707,45.593359],[149.665918,45.839795],[149.796289,45.876074],[149.962305,46.021924],[150.308789,46.200342],[150.348633,46.213428],[150.553125,46.208545],[150.23457,46.012305],[150.19502,45.933203],[150.056641,45.849365],[149.954102,45.822461],[149.883398,45.783154],[149.687695,45.642041]]],[[[148.599512,45.317627],[148.414648,45.247168],[148.262305,45.216846],[148.005273,45.070166],[147.91377,44.990381],[147.784082,44.958594],[147.657813,44.977148],[147.621875,44.944727],[147.60957,44.886572],[147.563086,44.835547],[147.310156,44.677637],[147.207422,44.553564],[147.098438,44.53125],[146.897461,44.404297],[146.933496,44.513086],[146.974219,44.565723],[147.140918,44.66333],[147.154785,44.766211],[147.246582,44.856055],[147.430469,44.945215],[147.557813,45.062451],[147.65791,45.093018],[147.769434,45.190723],[147.885547,45.225635],[147.872656,45.300293],[147.924023,45.383301],[147.964551,45.377734],[148.056055,45.262109],[148.130078,45.258203],[148.324219,45.282422],[148.612305,45.484668],[148.706641,45.520654],[148.772656,45.526465],[148.812207,45.51001],[148.826172,45.486084],[148.825391,45.455908],[148.803027,45.413525],[148.837109,45.362695],[148.790723,45.323975],[148.599512,45.317627]]],[[[146.713965,43.743799],[146.683008,43.716357],[146.608594,43.740479],[146.613477,43.797021],[146.621973,43.812988],[146.824609,43.860498],[146.884082,43.82915],[146.899023,43.80415],[146.713965,43.743799]]],[[[146.207617,44.497656],[146.355957,44.424609],[146.567773,44.44043],[146.516211,44.374658],[146.436523,44.375684],[146.296191,44.280957],[146.172949,44.268652],[146.112305,44.245947],[145.914062,44.103711],[145.887305,44.047754],[145.766992,43.940723],[145.586816,43.845117],[145.555859,43.6646],[145.439258,43.737061],[145.426172,43.810352],[145.461719,43.870898],[145.666309,43.999072],[145.74834,44.071533],[145.77334,44.129004],[145.851953,44.193018],[145.890234,44.248584],[145.94043,44.272656],[146.112109,44.500146],[146.207617,44.497656]]],[[[113.387207,74.400439],[113.353125,74.352979],[113.299219,74.317139],[113.258887,74.272705],[113.190234,74.239307],[112.977637,74.196826],[112.811328,74.10293],[112.782422,74.095068],[112.195801,74.14624],[112.105078,74.163232],[111.912109,74.219238],[111.642969,74.272949],[111.503418,74.353076],[111.570117,74.368311],[111.6375,74.374316],[111.879785,74.363818],[111.949219,74.38877],[111.982813,74.456299],[111.989355,74.49624],[112.007617,74.526758],[112.084473,74.548975],[112.951758,74.47959],[113.28623,74.441016],[113.387207,74.400439]]],[[[76.248926,79.651074],[76.372559,79.615234],[76.467383,79.643164],[77.360156,79.556836],[77.549316,79.524414],[77.588965,79.501904],[76.810156,79.489502],[76.649512,79.493408],[76.636523,79.544434],[76.457617,79.545459],[76.153711,79.57876],[76.071875,79.625635],[76.051562,79.644727],[76.148438,79.664453],[76.248926,79.651074]]],[[[80.02666,80.848145],[79.098535,80.812061],[79.006836,80.834814],[78.977637,80.848242],[79.109863,80.923584],[79.217383,80.960352],[79.806641,80.975391],[80.27959,80.949805],[80.42793,80.927686],[80.37334,80.882617],[80.344824,80.86792],[80.02666,80.848145]]],[[[70.673926,73.09502],[70.380371,73.048096],[70.29834,73.044482],[70.118652,73.056299],[70.040723,73.037158],[69.920117,73.084521],[69.930371,73.126611],[69.985645,73.169238],[70.01875,73.224316],[69.995898,73.359375],[70.149609,73.444727],[70.35,73.477637],[70.940234,73.514404],[71.023242,73.504199],[71.141211,73.477979],[71.231641,73.447754],[71.351172,73.372217],[71.444922,73.34209],[71.589551,73.283154],[71.630469,73.224805],[71.626172,73.173975],[71.355664,73.162451],[70.886719,73.119629],[70.673926,73.09502]]],[[[77.63252,72.29126],[77.145605,72.281885],[76.905957,72.297656],[76.871094,72.317041],[76.903125,72.365576],[77.149512,72.439209],[77.260449,72.486133],[77.377832,72.565283],[77.578711,72.630859],[77.748535,72.631201],[78.279102,72.553223],[78.35293,72.504297],[78.365137,72.482422],[78.154492,72.416992],[78.007227,72.39248],[77.780859,72.308545],[77.63252,72.29126]]],[[[79.501465,72.721924],[79.430664,72.710693],[78.880566,72.751611],[78.690234,72.803418],[78.633203,72.850732],[78.656836,72.892285],[79.164258,73.094336],[79.356543,73.038623],[79.4125,72.983105],[79.541309,72.918652],[79.537891,72.769336],[79.501465,72.721924]]],[[[82.172363,75.419385],[82.208789,75.386963],[82.221582,75.350537],[82.179297,75.338965],[82.050098,75.340967],[81.978516,75.247119],[81.905078,75.262793],[81.860547,75.316504],[81.697656,75.280518],[81.654785,75.288916],[81.579297,75.330957],[81.532129,75.339551],[81.500586,75.36792],[81.712109,75.451416],[81.842188,75.407031],[81.926562,75.409961],[81.909766,75.46001],[81.912793,75.497705],[82.021875,75.513477],[82.165625,75.515625],[82.172363,75.419385]]],[[[60.450488,69.934863],[60.480664,69.885498],[60.477246,69.793701],[60.440234,69.725928],[60.327148,69.715283],[60.215918,69.687695],[60.026172,69.717041],[59.919531,69.696973],[59.812793,69.695654],[59.724609,69.706201],[59.637012,69.721045],[59.578223,69.738623],[59.58125,69.790869],[59.502637,69.866211],[59.381543,69.89043],[59.268359,69.898438],[59.144238,69.921924],[59.08252,69.910791],[59.004004,69.883301],[58.952734,69.892773],[58.680078,70.051025],[58.63418,70.088037],[58.605566,70.129199],[58.568066,70.155664],[58.473047,70.266846],[58.519922,70.318311],[58.615332,70.35083],[58.678027,70.35957],[58.794238,70.432959],[59.005273,70.465186],[59.048047,70.460498],[59.088281,70.437109],[59.309863,70.36167],[59.425977,70.310937],[59.529102,70.248975],[59.636328,70.197021],[59.955859,70.10835],[60.172266,70.022852],[60.392578,69.962402],[60.450488,69.934863]]],[[[20.957813,55.278906],[20.859375,55.183643],[20.594824,54.982373],[20.677734,54.955664],[20.774023,54.947021],[20.8875,54.909473],[20.995898,54.902686],[21.188867,54.935205],[21.222852,55.107764],[21.235742,55.264111],[21.297559,55.264453],[21.389258,55.275537],[21.44707,55.234424],[21.554688,55.195312],[21.682715,55.160352],[21.873926,55.100732],[22.072363,55.063672],[22.137891,55.059375],[22.346387,55.064258],[22.567285,55.059131],[22.627441,54.970703],[22.736523,54.928857],[22.824707,54.871289],[22.83125,54.838477],[22.709668,54.632617],[22.684473,54.562939],[22.679883,54.493018],[22.724316,54.405615],[22.766211,54.356787],[22.731836,54.350098],[22.168457,54.359863],[21.63418,54.376465],[21.140527,54.391797],[20.664746,54.406641],[20.208203,54.420752],[19.924316,54.433984],[19.644238,54.44707],[19.604395,54.45918],[19.758496,54.544824],[19.858887,54.633838],[19.944141,54.75],[19.953223,54.830469],[19.974512,54.921191],[20.107617,54.956494],[20.39668,54.95127],[20.520313,54.994873],[20.678906,55.102637],[20.845703,55.232031],[20.899805,55.28667],[20.957813,55.278906]]],[[[33.594141,46.09624],[33.654323,46.146222],[33.659965,46.219573],[33.806667,46.208288],[34.02672,46.106725],[34.128283,46.089798],[34.224203,46.101083],[34.353978,46.061586],[34.449898,45.965666],[34.523249,45.97695],[34.686878,45.97695],[34.794084,45.892315],[34.799726,45.790752],[34.946428,45.728686],[35.001674,45.733383],[35.022852,45.700977],[35.260156,45.446924],[35.373926,45.353613],[35.45752,45.316309],[35.558008,45.310889],[35.750977,45.389355],[35.833496,45.401611],[36.012891,45.37168],[36.077148,45.424121],[36.170508,45.453076],[36.290332,45.456738],[36.427051,45.433252],[36.575,45.393555],[36.514258,45.30376],[36.450781,45.232324],[36.428418,45.153271],[36.393359,45.065381],[36.229883,45.025977],[36.054785,45.030811],[35.870117,45.005322],[35.803613,45.0396],[35.759473,45.07085],[35.677539,45.102002],[35.569531,45.119336],[35.472559,45.098486],[35.357813,44.978418],[35.154785,44.896338],[35.087695,44.802637],[34.887793,44.823584],[34.716895,44.807129],[34.469922,44.72168],[34.281738,44.538428],[34.074414,44.423828],[33.909961,44.387598],[33.755664,44.398926],[33.655859,44.433203],[33.450684,44.553662],[33.462695,44.596826],[33.491309,44.618604],[33.530078,44.680518],[33.612207,44.907812],[33.601172,44.981494],[33.555176,45.097656],[33.39248,45.187842],[33.261523,45.170752],[33.186914,45.194775],[32.918652,45.348145],[32.772656,45.358984],[32.611328,45.328076],[32.551855,45.350391],[32.508008,45.403809],[32.828027,45.593018],[33.142285,45.749219],[33.280078,45.765234],[33.466211,45.837939],[33.664844,45.94707],[33.636719,46.032861],[33.594141,46.09624]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":3,"SOVEREIGNT":"Romania","SOV_A3":"ROU","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Romania","ADM0_A3":"ROU","GEOU_DIF":0,"GEOUNIT":"Romania","GU_A3":"ROU","SU_DIF":0,"SUBUNIT":"Romania","SU_A3":"ROU","BRK_DIFF":0,"NAME":"Romania","NAME_LONG":"Romania","BRK_A3":"ROU","BRK_NAME":"Romania","BRK_GROUP":null,"ABBREV":"Rom.","POSTAL":"RO","FORMAL_EN":"Romania","FORMAL_FR":null,"NAME_CIAWF":"Romania","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Romania","NAME_ALT":null,"MAPCOLOR7":1,"MAPCOLOR8":4,"MAPCOLOR9":3,"MAPCOLOR13":13,"POP_EST":19356544,"POP_RANK":14,"POP_YEAR":2019,"GDP_MD":250077,"GDP_YEAR":2019,"ECONOMY":"2. Developed region: nonG7","INCOME_GRP":"3. Upper middle income","FIPS_10":"RO","ISO_A2":"RO","ISO_A2_EH":"RO","ISO_A3":"ROU","ISO_A3_EH":"ROU","ISO_N3":"642","ISO_N3_EH":"642","UN_A3":"642","WB_A2":"RO","WB_A3":"ROM","WOE_ID":23424933,"WOE_ID_EH":23424933,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"ROU","ADM0_DIFF":null,"ADM0_TLC":"ROU","ADM0_A3_US":"ROU","ADM0_A3_FR":"ROU","ADM0_A3_RU":"ROU","ADM0_A3_ES":"ROU","ADM0_A3_CN":"ROU","ADM0_A3_TW":"ROU","ADM0_A3_IN":"ROU","ADM0_A3_NP":"ROU","ADM0_A3_PK":"ROU","ADM0_A3_DE":"ROU","ADM0_A3_GB":"ROU","ADM0_A3_BR":"ROU","ADM0_A3_IL":"ROU","ADM0_A3_PS":"ROU","ADM0_A3_SA":"ROU","ADM0_A3_EG":"ROU","ADM0_A3_MA":"ROU","ADM0_A3_PT":"ROU","ADM0_A3_AR":"ROU","ADM0_A3_JP":"ROU","ADM0_A3_KO":"ROU","ADM0_A3_VN":"ROU","ADM0_A3_TR":"ROU","ADM0_A3_ID":"ROU","ADM0_A3_PL":"ROU","ADM0_A3_GR":"ROU","ADM0_A3_IT":"ROU","ADM0_A3_NL":"ROU","ADM0_A3_SE":"ROU","ADM0_A3_BD":"ROU","ADM0_A3_UA":"ROU","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Europe","REGION_UN":"Europe","SUBREGION":"Eastern Europe","REGION_WB":"Europe & Central Asia","NAME_LEN":7,"LONG_LEN":7,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":3,"MAX_LABEL":8,"LABEL_X":24.972624,"LABEL_Y":45.733237,"NE_ID":1159321199,"WIKIDATAID":"Q218","NAME_AR":"رومانيا","NAME_BN":"রোমানিয়া","NAME_DE":"Rumänien","NAME_EN":"Romania","NAME_ES":"Rumania","NAME_FA":"رومانی","NAME_FR":"Roumanie","NAME_EL":"Ρουμανία","NAME_HE":"רומניה","NAME_HI":"रोमानिया","NAME_HU":"Románia","NAME_ID":"Rumania","NAME_IT":"Romania","NAME_JA":"ルーマニア","NAME_KO":"루마니아","NAME_NL":"Roemenië","NAME_PL":"Rumunia","NAME_PT":"Roménia","NAME_RU":"Румыния","NAME_SV":"Rumänien","NAME_TR":"Romanya","NAME_UK":"Румунія","NAME_UR":"رومانیہ","NAME_VI":"Romania","NAME_ZH":"罗马尼亚","NAME_ZHT":"羅馬尼亞","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[20.241797,43.670801,29.705859,48.263477],"geometry":{"type":"Polygon","coordinates":[[[28.2125,45.450439],[28.317676,45.347119],[28.45127,45.292187],[28.760742,45.234131],[28.788281,45.240967],[28.791406,45.251904],[28.769824,45.266895],[28.766602,45.28623],[28.781738,45.309863],[28.824316,45.311084],[28.894336,45.289941],[29.027441,45.320557],[29.223535,45.40293],[29.403711,45.419678],[29.567676,45.370801],[29.651953,45.313916],[29.705859,45.259912],[29.689063,45.193213],[29.678613,45.15166],[29.635352,44.979639],[29.605469,44.915479],[29.55752,44.843408],[29.048242,44.757568],[29.081055,44.798828],[29.069141,44.871143],[29.047754,44.925684],[29.095313,44.975049],[28.980664,44.99292],[28.930566,44.96582],[28.891504,44.918652],[28.926172,44.81001],[28.87041,44.749951],[28.849023,44.716309],[28.846484,44.636865],[28.813574,44.60249],[28.807031,44.565039],[28.888184,44.574756],[28.851758,44.506104],[28.699219,44.374219],[28.64541,44.295654],[28.658594,43.983838],[28.590723,43.797412],[28.585352,43.742236],[28.423438,43.740479],[28.375195,43.744775],[28.221973,43.772852],[28.05,43.822412],[27.948926,43.918604],[27.884277,43.987354],[27.738574,43.956299],[27.710742,43.9646],[27.670898,43.997803],[27.561035,44.020068],[27.425391,44.020508],[27.120703,44.146143],[27.086914,44.167383],[26.847754,44.146191],[26.489258,44.083984],[26.21582,44.007275],[25.933398,43.870557],[25.818848,43.766846],[25.686133,43.711768],[25.49707,43.670801],[25.159668,43.686328],[24.808203,43.738428],[24.430566,43.794385],[24.226758,43.763477],[23.950781,43.78667],[23.53457,43.853564],[23.224609,43.873877],[22.919043,43.834473],[22.867676,43.864551],[22.856445,43.899023],[22.868262,43.9479],[22.911328,43.987207],[22.985352,44.016992],[23.024414,44.047217],[23.028516,44.077979],[22.94541,44.127295],[22.775195,44.195215],[22.705078,44.237793],[22.687891,44.248291],[22.683301,44.286475],[22.647949,44.316455],[22.581836,44.33833],[22.530664,44.377979],[22.494531,44.435449],[22.502344,44.4896],[22.554004,44.540332],[22.620117,44.562354],[22.700781,44.555518],[22.734375,44.569922],[22.720898,44.605518],[22.64209,44.650977],[22.497656,44.70625],[22.350684,44.676123],[22.200977,44.560693],[22.093066,44.541943],[22.026953,44.619873],[21.909277,44.666113],[21.740234,44.680664],[21.636133,44.710449],[21.59707,44.75542],[21.523145,44.790088],[21.360059,44.82666],[21.35791,44.861816],[21.384375,44.870068],[21.442188,44.873389],[21.519922,44.880811],[21.532324,44.900684],[21.533203,44.918848],[21.471973,44.941992],[21.409961,44.957715],[21.377734,44.973437],[21.357031,44.990771],[21.35293,45.008984],[21.371094,45.021387],[21.395898,45.022217],[21.420703,45.032959],[21.434473,45.075146],[21.467871,45.109863],[21.491797,45.122266],[21.490234,45.1479],[21.46543,45.171875],[21.431445,45.192529],[21.381738,45.205078],[21.226465,45.241309],[21.147852,45.291748],[21.099902,45.293555],[21.023828,45.321533],[20.941797,45.365332],[20.870801,45.427539],[20.794043,45.467871],[20.774219,45.484424],[20.772461,45.500098],[20.786523,45.51748],[20.786035,45.536475],[20.76582,45.597461],[20.779297,45.662012],[20.775781,45.72251],[20.775,45.749805],[20.760156,45.758105],[20.746875,45.748975],[20.727832,45.737402],[20.709277,45.735254],[20.652734,45.779395],[20.581152,45.869482],[20.532617,45.899512],[20.437988,45.940771],[20.358594,45.975488],[20.301367,46.050684],[20.241797,46.108594],[20.280957,46.133008],[20.508105,46.166943],[20.613672,46.133496],[20.661035,46.145654],[20.707422,46.172803],[20.732715,46.194434],[20.737402,46.21748],[20.760254,46.24624],[20.837012,46.259717],[21.039844,46.242236],[21.12168,46.282422],[21.151953,46.304346],[21.17041,46.352686],[21.191797,46.391553],[21.264551,46.412305],[21.263281,46.447754],[21.252246,46.486377],[21.294531,46.572461],[21.320215,46.607812],[21.361328,46.620752],[21.411035,46.647852],[21.49707,46.704297],[21.477051,46.753369],[21.494434,46.789746],[21.58418,46.878369],[21.652637,46.96377],[21.651465,47.006543],[21.661426,47.043896],[21.721777,47.084814],[21.785449,47.138135],[21.869336,47.30459],[21.899219,47.332568],[21.954297,47.364258],[21.995313,47.395703],[21.999707,47.505029],[22.037988,47.536621],[22.111914,47.572021],[22.185059,47.629053],[22.244629,47.696387],[22.290625,47.727832],[22.351465,47.73623],[22.41748,47.762646],[22.491406,47.772559],[22.562891,47.75957],[22.608398,47.766309],[22.676758,47.799023],[22.851758,47.922559],[22.87666,47.947266],[22.912891,47.964258],[23.054785,48.006543],[23.09082,48.049121],[23.139453,48.087402],[23.202637,48.084521],[23.408203,47.98999],[23.628711,47.99585],[23.669043,47.992334],[23.682031,47.990381],[23.708984,47.982617],[24.001855,47.935791],[24.047363,47.941016],[24.059766,47.944775],[24.177734,47.906055],[24.281934,47.911182],[24.380957,47.938037],[24.484082,47.947119],[24.578906,47.931055],[24.650977,47.876514],[24.837891,47.76084],[24.893359,47.717773],[24.979102,47.724121],[25.073828,47.745703],[25.169629,47.823096],[25.464258,47.910791],[25.689258,47.932471],[25.908691,47.967578],[26.162695,47.992529],[26.23623,48.064355],[26.276953,48.113232],[26.305664,48.20376],[26.442383,48.22998],[26.572461,48.248486],[26.618945,48.259863],[26.71377,48.263477],[26.787305,48.255811],[26.900977,48.211133],[26.980762,48.155029],[27.012207,48.110498],[27.080371,48.047656],[27.152051,47.959277],[27.230859,47.841748],[27.248145,47.782227],[27.27793,47.717969],[27.336914,47.639746],[27.449219,47.553125],[27.464844,47.53667],[27.51582,47.475635],[27.614063,47.340527],[27.696191,47.286426],[27.767969,47.227588],[27.802344,47.168311],[27.853809,47.114502],[27.974219,47.043213],[28.071777,46.978418],[28.15,46.79209],[28.204688,46.706396],[28.239453,46.64082],[28.222656,46.508057],[28.244336,46.45127],[28.199609,46.347559],[28.119141,46.138672],[28.099707,45.972607],[28.113574,45.883057],[28.115527,45.825537],[28.134961,45.788867],[28.15625,45.713086],[28.159766,45.647119],[28.130859,45.628271],[28.090332,45.612744],[28.074707,45.598975],[28.111914,45.569141],[28.1625,45.51377],[28.2125,45.450439]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":5,"SOVEREIGNT":"Qatar","SOV_A3":"QAT","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Qatar","ADM0_A3":"QAT","GEOU_DIF":0,"GEOUNIT":"Qatar","GU_A3":"QAT","SU_DIF":0,"SUBUNIT":"Qatar","SU_A3":"QAT","BRK_DIFF":0,"NAME":"Qatar","NAME_LONG":"Qatar","BRK_A3":"QAT","BRK_NAME":"Qatar","BRK_GROUP":null,"ABBREV":"Qatar","POSTAL":"QA","FORMAL_EN":"State of Qatar","FORMAL_FR":null,"NAME_CIAWF":"Qatar","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Qatar","NAME_ALT":null,"MAPCOLOR7":3,"MAPCOLOR8":6,"MAPCOLOR9":2,"MAPCOLOR13":4,"POP_EST":2832067,"POP_RANK":12,"POP_YEAR":2019,"GDP_MD":175837,"GDP_YEAR":2019,"ECONOMY":"6. Developing region","INCOME_GRP":"2. High income: nonOECD","FIPS_10":"QA","ISO_A2":"QA","ISO_A2_EH":"QA","ISO_A3":"QAT","ISO_A3_EH":"QAT","ISO_N3":"634","ISO_N3_EH":"634","UN_A3":"634","WB_A2":"QA","WB_A3":"QAT","WOE_ID":23424930,"WOE_ID_EH":23424930,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"QAT","ADM0_DIFF":null,"ADM0_TLC":"QAT","ADM0_A3_US":"QAT","ADM0_A3_FR":"QAT","ADM0_A3_RU":"QAT","ADM0_A3_ES":"QAT","ADM0_A3_CN":"QAT","ADM0_A3_TW":"QAT","ADM0_A3_IN":"QAT","ADM0_A3_NP":"QAT","ADM0_A3_PK":"QAT","ADM0_A3_DE":"QAT","ADM0_A3_GB":"QAT","ADM0_A3_BR":"QAT","ADM0_A3_IL":"QAT","ADM0_A3_PS":"QAT","ADM0_A3_SA":"QAT","ADM0_A3_EG":"QAT","ADM0_A3_MA":"QAT","ADM0_A3_PT":"QAT","ADM0_A3_AR":"QAT","ADM0_A3_JP":"QAT","ADM0_A3_KO":"QAT","ADM0_A3_VN":"QAT","ADM0_A3_TR":"QAT","ADM0_A3_ID":"QAT","ADM0_A3_PL":"QAT","ADM0_A3_GR":"QAT","ADM0_A3_IT":"QAT","ADM0_A3_NL":"QAT","ADM0_A3_SE":"QAT","ADM0_A3_BD":"QAT","ADM0_A3_UA":"QAT","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Asia","REGION_UN":"Asia","SUBREGION":"Western Asia","REGION_WB":"Middle East & North Africa","NAME_LEN":5,"LONG_LEN":5,"ABBREV_LEN":5,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":4,"MAX_LABEL":9,"LABEL_X":51.143509,"LABEL_Y":25.237383,"NE_ID":1159321197,"WIKIDATAID":"Q846","NAME_AR":"قطر","NAME_BN":"কাতার","NAME_DE":"Katar","NAME_EN":"Qatar","NAME_ES":"Catar","NAME_FA":"قطر","NAME_FR":"Qatar","NAME_EL":"Κατάρ","NAME_HE":"קטר","NAME_HI":"क़तर","NAME_HU":"Katar","NAME_ID":"Qatar","NAME_IT":"Qatar","NAME_JA":"カタール","NAME_KO":"카타르","NAME_NL":"Qatar","NAME_PL":"Katar","NAME_PT":"Catar","NAME_RU":"Катар","NAME_SV":"Qatar","NAME_TR":"Katar","NAME_UK":"Катар","NAME_UR":"قطر","NAME_VI":"Qatar","NAME_ZH":"卡塔尔","NAME_ZHT":"卡達","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[50.75459,24.564648,51.608887,26.153271],"geometry":{"type":"Polygon","coordinates":[[[51.267969,24.607227],[51.178027,24.586719],[51.093359,24.564648],[51.022754,24.565234],[50.966016,24.573926],[50.92832,24.595117],[50.855664,24.679639],[50.804395,24.789258],[50.835938,24.850391],[50.846777,24.888574],[50.777344,25.177441],[50.75459,25.399268],[50.762891,25.444727],[50.802637,25.49707],[50.868652,25.612695],[50.903809,25.724072],[51.003125,25.981445],[51.108105,26.080566],[51.262305,26.153271],[51.389063,26.011133],[51.543066,25.902393],[51.572266,25.781006],[51.526953,25.682129],[51.485352,25.524707],[51.510254,25.452344],[51.519531,25.389746],[51.561426,25.284473],[51.601953,25.147949],[51.608887,25.052881],[51.586914,24.964844],[51.533398,24.890869],[51.42793,24.668262],[51.396484,24.645117],[51.267969,24.607227]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":3,"LABELRANK":2,"SOVEREIGNT":"Portugal","SOV_A3":"PRT","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Portugal","ADM0_A3":"PRT","GEOU_DIF":0,"GEOUNIT":"Portugal","GU_A3":"PRT","SU_DIF":1,"SUBUNIT":"Portugal","SU_A3":"PR1","BRK_DIFF":0,"NAME":"Portugal","NAME_LONG":"Portugal","BRK_A3":"PR1","BRK_NAME":"Portugal","BRK_GROUP":null,"ABBREV":"Port.","POSTAL":"P","FORMAL_EN":"Portuguese Republic","FORMAL_FR":null,"NAME_CIAWF":"Portugal","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Portugal","NAME_ALT":null,"MAPCOLOR7":1,"MAPCOLOR8":7,"MAPCOLOR9":1,"MAPCOLOR13":4,"POP_EST":10269417,"POP_RANK":14,"POP_YEAR":2019,"GDP_MD":238785,"GDP_YEAR":2019,"ECONOMY":"2. Developed region: nonG7","INCOME_GRP":"1. High income: OECD","FIPS_10":"PO","ISO_A2":"PT","ISO_A2_EH":"PT","ISO_A3":"PRT","ISO_A3_EH":"PRT","ISO_N3":"620","ISO_N3_EH":"620","UN_A3":"620","WB_A2":"PT","WB_A3":"PRT","WOE_ID":23424925,"WOE_ID_EH":23424925,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"PR1","ADM0_DIFF":null,"ADM0_TLC":"PR1","ADM0_A3_US":"PRT","ADM0_A3_FR":"PRT","ADM0_A3_RU":"PRT","ADM0_A3_ES":"PRT","ADM0_A3_CN":"PRT","ADM0_A3_TW":"PRT","ADM0_A3_IN":"PRT","ADM0_A3_NP":"PRT","ADM0_A3_PK":"PRT","ADM0_A3_DE":"PRT","ADM0_A3_GB":"PRT","ADM0_A3_BR":"PRT","ADM0_A3_IL":"PRT","ADM0_A3_PS":"PRT","ADM0_A3_SA":"PRT","ADM0_A3_EG":"PRT","ADM0_A3_MA":"PRT","ADM0_A3_PT":"PRT","ADM0_A3_AR":"PRT","ADM0_A3_JP":"PRT","ADM0_A3_KO":"PRT","ADM0_A3_VN":"PRT","ADM0_A3_TR":"PRT","ADM0_A3_ID":"PRT","ADM0_A3_PL":"PRT","ADM0_A3_GR":"PRT","ADM0_A3_IT":"PRT","ADM0_A3_NL":"PRT","ADM0_A3_SE":"PRT","ADM0_A3_BD":"PRT","ADM0_A3_UA":"PRT","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Europe","REGION_UN":"Europe","SUBREGION":"Southern Europe","REGION_WB":"Europe & Central Asia","NAME_LEN":8,"LONG_LEN":8,"ABBREV_LEN":5,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":3,"MAX_LABEL":8,"LABEL_X":-8.271754,"LABEL_Y":39.606675,"NE_ID":1159321187,"WIKIDATAID":"Q45","NAME_AR":"البرتغال","NAME_BN":"পর্তুগাল","NAME_DE":"Portugal","NAME_EN":"Portugal","NAME_ES":"Portugal","NAME_FA":"پرتغال","NAME_FR":"Portugal","NAME_EL":"Πορτογαλία","NAME_HE":"פורטוגל","NAME_HI":"पुर्तगाल","NAME_HU":"Portugália","NAME_ID":"Portugal","NAME_IT":"Portogallo","NAME_JA":"ポルトガル","NAME_KO":"포르투갈","NAME_NL":"Portugal","NAME_PL":"Portugalia","NAME_PT":"Portugal","NAME_RU":"Португалия","NAME_SV":"Portugal","NAME_TR":"Portekiz","NAME_UK":"Португалія","NAME_UR":"پرتگال","NAME_VI":"Bồ Đào Nha","NAME_ZH":"葡萄牙","NAME_ZHT":"葡萄牙","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[-31.282959,32.648291,-6.2125,42.137402],"geometry":{"type":"MultiPolygon","coordinates":[[[[-17.190869,32.868604],[-17.054492,32.815869],[-16.929199,32.841406],[-16.773975,32.773535],[-16.693262,32.758008],[-16.765283,32.709717],[-16.837402,32.648291],[-17.018262,32.662793],[-17.171191,32.721875],[-17.226025,32.766846],[-17.241016,32.807373],[-17.190869,32.868604]]],[[[-8.777148,41.941064],[-8.682959,42.008496],[-8.589648,42.052734],[-8.538086,42.069336],[-8.322559,42.115088],[-8.266064,42.137402],[-8.213086,42.133691],[-8.204199,42.111865],[-8.173584,42.069385],[-8.139307,42.039941],[-8.12998,42.018164],[-8.21333,41.9271],[-8.224756,41.89585],[-8.18125,41.836963],[-8.173535,41.819971],[-8.15249,41.811963],[-8.094434,41.814209],[-7.990967,41.851904],[-7.92085,41.883643],[-7.896387,41.870557],[-7.693066,41.888477],[-7.644678,41.873975],[-7.612598,41.857959],[-7.512598,41.835986],[-7.403613,41.833691],[-7.268555,41.864404],[-7.209619,41.895264],[-7.19834,41.929395],[-7.195361,41.955225],[-7.17793,41.97168],[-7.147119,41.981152],[-7.099121,41.964209],[-7.030469,41.950635],[-6.865527,41.945264],[-6.833203,41.96416],[-6.777295,41.958496],[-6.703613,41.93457],[-6.618262,41.942383],[-6.575342,41.913086],[-6.55752,41.874121],[-6.552588,41.789551],[-6.558984,41.704053],[-6.542187,41.67251],[-6.484668,41.664404],[-6.391699,41.665381],[-6.308057,41.642187],[-6.243115,41.601807],[-6.22168,41.560449],[-6.2125,41.532031],[-6.244336,41.515918],[-6.289355,41.455029],[-6.403125,41.375391],[-6.565918,41.303711],[-6.690137,41.214502],[-6.775781,41.107715],[-6.882812,41.062402],[-6.915527,41.038037],[-6.928467,41.009131],[-6.857715,40.87832],[-6.835889,40.77749],[-6.818359,40.654053],[-6.829834,40.619092],[-6.835693,40.483154],[-6.852051,40.443262],[-6.847949,40.410986],[-6.821777,40.37627],[-6.810156,40.343115],[-6.858887,40.300732],[-6.948437,40.251611],[-7.014697,40.20835],[-7.032617,40.16792],[-7.027832,40.142627],[-6.916406,40.056836],[-6.896094,40.021826],[-6.911182,39.937109],[-6.975391,39.798389],[-7.036719,39.713965],[-7.047412,39.705566],[-7.117676,39.681689],[-7.454102,39.680664],[-7.535693,39.661572],[-7.524219,39.644727],[-7.445117,39.536182],[-7.362695,39.47832],[-7.335449,39.465137],[-7.305762,39.338135],[-7.172412,39.135205],[-7.042969,39.10708],[-6.997949,39.056445],[-7.00625,38.985254],[-7.046045,38.907031],[-7.125488,38.826953],[-7.219922,38.770508],[-7.281543,38.714551],[-7.286377,38.649365],[-7.305957,38.566846],[-7.335791,38.501465],[-7.343018,38.457422],[-7.106396,38.181006],[-6.974805,38.194434],[-6.957568,38.187891],[-6.981104,38.121973],[-7.022852,38.044727],[-7.07251,38.030029],[-7.185449,38.006348],[-7.292236,37.906445],[-7.378906,37.786377],[-7.443945,37.728271],[-7.503516,37.585498],[-7.496045,37.523584],[-7.467187,37.428027],[-7.406152,37.179443],[-7.493604,37.168311],[-7.834131,37.005713],[-7.939697,37.00542],[-8.136768,37.077051],[-8.484326,37.100049],[-8.597656,37.121338],[-8.739111,37.074609],[-8.848437,37.075684],[-8.935352,37.016016],[-8.997803,37.032275],[-8.92627,37.166064],[-8.81416,37.430811],[-8.818555,37.592432],[-8.791846,37.732812],[-8.822656,37.871875],[-8.878955,37.958691],[-8.802246,38.183838],[-8.810937,38.299756],[-8.881104,38.44668],[-8.668311,38.424316],[-8.733984,38.482422],[-8.798877,38.518164],[-8.861621,38.509961],[-8.914795,38.512109],[-9.095996,38.455225],[-9.186719,38.438184],[-9.213281,38.448096],[-9.203369,38.538965],[-9.250391,38.656738],[-9.177832,38.687793],[-9.093311,38.69668],[-9.021484,38.746875],[-8.977051,38.80293],[-9.000488,38.903027],[-8.938086,38.998096],[-8.791602,39.078174],[-8.86748,39.065967],[-8.954297,39.016064],[-9.091016,38.834668],[-9.135791,38.742773],[-9.252295,38.712793],[-9.356738,38.6979],[-9.410205,38.70752],[-9.474121,38.730859],[-9.479736,38.798779],[-9.474756,38.85293],[-9.431445,38.960449],[-9.414355,39.112109],[-9.352832,39.248145],[-9.357227,39.284277],[-9.374756,39.338281],[-9.319629,39.391113],[-9.251416,39.426025],[-9.148291,39.542578],[-9.004053,39.820557],[-8.837842,40.115674],[-8.851318,40.151807],[-8.886621,40.179443],[-8.872656,40.259082],[-8.772412,40.605664],[-8.731592,40.650928],[-8.684619,40.752539],[-8.673975,40.916504],[-8.655566,41.029492],[-8.659814,41.086279],[-8.674609,41.154492],[-8.738379,41.284668],[-8.805664,41.56001],[-8.81084,41.651953],[-8.75542,41.698389],[-8.846387,41.705176],[-8.887598,41.7646],[-8.878223,41.83208],[-8.777148,41.941064]]],[[[-25.027344,36.959961],[-25.031543,36.941553],[-25.088379,36.948877],[-25.159912,36.943359],[-25.198389,36.996533],[-25.163525,37.018555],[-25.08291,37.024023],[-25.044336,37.000195],[-25.027344,36.959961]]],[[[-31.137109,39.406934],[-31.181348,39.358936],[-31.257617,39.375977],[-31.282959,39.394092],[-31.26084,39.496777],[-31.199854,39.52085],[-31.138623,39.479443],[-31.137109,39.406934]]],[[[-27.075244,38.643457],[-27.095313,38.634033],[-27.302832,38.661035],[-27.361914,38.697852],[-27.385937,38.76582],[-27.351025,38.788965],[-27.259668,38.802686],[-27.127002,38.789844],[-27.041943,38.741211],[-27.041992,38.678906],[-27.075244,38.643457]]],[[[-27.778467,38.555615],[-27.825879,38.543555],[-28.092334,38.620557],[-28.187256,38.655371],[-28.310645,38.743896],[-27.962646,38.636328],[-27.778467,38.555615]]],[[[-28.641309,38.525],[-28.743848,38.522363],[-28.842041,38.598437],[-28.697754,38.638477],[-28.65542,38.614062],[-28.624219,38.586328],[-28.605811,38.550732],[-28.641309,38.525]]],[[[-28.147266,38.452686],[-28.064795,38.412744],[-28.189746,38.40415],[-28.231152,38.384668],[-28.332422,38.412891],[-28.454492,38.408643],[-28.531152,38.462549],[-28.548828,38.518555],[-28.510254,38.553027],[-28.402148,38.553369],[-28.147266,38.452686]]],[[[-25.648975,37.840918],[-25.585498,37.834033],[-25.266602,37.848633],[-25.181934,37.837891],[-25.190723,37.764355],[-25.251123,37.73501],[-25.439014,37.715332],[-25.734473,37.762891],[-25.833691,37.826074],[-25.847852,37.872412],[-25.845898,37.894043],[-25.78374,37.911133],[-25.648975,37.840918]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":3,"SOVEREIGNT":"Poland","SOV_A3":"POL","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Poland","ADM0_A3":"POL","GEOU_DIF":0,"GEOUNIT":"Poland","GU_A3":"POL","SU_DIF":0,"SUBUNIT":"Poland","SU_A3":"POL","BRK_DIFF":0,"NAME":"Poland","NAME_LONG":"Poland","BRK_A3":"POL","BRK_NAME":"Poland","BRK_GROUP":null,"ABBREV":"Pol.","POSTAL":"PL","FORMAL_EN":"Republic of Poland","FORMAL_FR":null,"NAME_CIAWF":"Poland","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Poland","NAME_ALT":null,"MAPCOLOR7":3,"MAPCOLOR8":7,"MAPCOLOR9":1,"MAPCOLOR13":2,"POP_EST":37970874,"POP_RANK":15,"POP_YEAR":2019,"GDP_MD":595858,"GDP_YEAR":2019,"ECONOMY":"2. Developed region: nonG7","INCOME_GRP":"1. High income: OECD","FIPS_10":"PL","ISO_A2":"PL","ISO_A2_EH":"PL","ISO_A3":"POL","ISO_A3_EH":"POL","ISO_N3":"616","ISO_N3_EH":"616","UN_A3":"616","WB_A2":"PL","WB_A3":"POL","WOE_ID":23424923,"WOE_ID_EH":23424923,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"POL","ADM0_DIFF":null,"ADM0_TLC":"POL","ADM0_A3_US":"POL","ADM0_A3_FR":"POL","ADM0_A3_RU":"POL","ADM0_A3_ES":"POL","ADM0_A3_CN":"POL","ADM0_A3_TW":"POL","ADM0_A3_IN":"POL","ADM0_A3_NP":"POL","ADM0_A3_PK":"POL","ADM0_A3_DE":"POL","ADM0_A3_GB":"POL","ADM0_A3_BR":"POL","ADM0_A3_IL":"POL","ADM0_A3_PS":"POL","ADM0_A3_SA":"POL","ADM0_A3_EG":"POL","ADM0_A3_MA":"POL","ADM0_A3_PT":"POL","ADM0_A3_AR":"POL","ADM0_A3_JP":"POL","ADM0_A3_KO":"POL","ADM0_A3_VN":"POL","ADM0_A3_TR":"POL","ADM0_A3_ID":"POL","ADM0_A3_PL":"POL","ADM0_A3_GR":"POL","ADM0_A3_IT":"POL","ADM0_A3_NL":"POL","ADM0_A3_SE":"POL","ADM0_A3_BD":"POL","ADM0_A3_UA":"POL","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Europe","REGION_UN":"Europe","SUBREGION":"Eastern Europe","REGION_WB":"Europe & Central Asia","NAME_LEN":6,"LONG_LEN":6,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":2.5,"MAX_LABEL":7,"LABEL_X":19.490468,"LABEL_Y":51.990316,"NE_ID":1159321179,"WIKIDATAID":"Q36","NAME_AR":"بولندا","NAME_BN":"পোল্যান্ড","NAME_DE":"Polen","NAME_EN":"Poland","NAME_ES":"Polonia","NAME_FA":"لهستان","NAME_FR":"Pologne","NAME_EL":"Πολωνία","NAME_HE":"פולין","NAME_HI":"पोलैंड","NAME_HU":"Lengyelország","NAME_ID":"Polandia","NAME_IT":"Polonia","NAME_JA":"ポーランド","NAME_KO":"폴란드","NAME_NL":"Polen","NAME_PL":"Polska","NAME_PT":"Polónia","NAME_RU":"Польша","NAME_SV":"Polen","NAME_TR":"Polonya","NAME_UK":"Польща","NAME_UR":"پولینڈ","NAME_VI":"Ba Lan","NAME_ZH":"波兰","NAME_ZHT":"波蘭","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[14.128613,49.020752,24.105762,54.838184],"geometry":{"type":"Polygon","coordinates":[[[23.605273,51.51792],[23.658887,51.448975],[23.679688,51.394922],[23.657617,51.35249],[23.664453,51.310059],[23.712207,51.265137],[23.863477,51.126221],[23.938086,50.992529],[23.985742,50.94043],[24.095801,50.872754],[24.105762,50.844971],[24.061621,50.819531],[24.025977,50.816162],[23.99707,50.809375],[23.978418,50.785596],[24.007324,50.760156],[24.046289,50.722803],[24.094727,50.617041],[24.089941,50.530469],[24.052637,50.508447],[24.00498,50.457031],[23.972656,50.410059],[23.711719,50.377344],[23.649023,50.327051],[23.506152,50.229834],[23.408594,50.173926],[23.264453,50.072852],[23.036328,49.899072],[22.952246,49.826367],[22.890723,49.76626],[22.706152,49.606201],[22.649414,49.539014],[22.660645,49.483691],[22.719922,49.353809],[22.732422,49.295166],[22.721973,49.240967],[22.702344,49.192725],[22.705664,49.171191],[22.760156,49.13623],[22.84707,49.08125],[22.852051,49.062744],[22.839746,49.038916],[22.809766,49.020752],[22.70127,49.039941],[22.57998,49.077197],[22.538672,49.072705],[22.473047,49.081299],[22.202539,49.153223],[22.020117,49.209521],[22.002148,49.246094],[21.967676,49.299072],[21.890137,49.343457],[21.712109,49.381934],[21.639648,49.411963],[21.350488,49.42876],[21.225,49.429443],[21.136133,49.417041],[21.079395,49.418262],[21.001172,49.339844],[20.947266,49.31709],[20.868457,49.314697],[20.799512,49.328662],[20.729004,49.369922],[20.616113,49.391699],[20.53457,49.381201],[20.474512,49.390186],[20.422656,49.392334],[20.404688,49.384082],[20.362988,49.385254],[20.302539,49.365527],[20.236523,49.337646],[20.163672,49.316406],[20.107617,49.270752],[20.057617,49.181299],[19.916113,49.221387],[19.868945,49.204004],[19.802246,49.192334],[19.756641,49.204395],[19.767383,49.235205],[19.787988,49.269971],[19.787012,49.318555],[19.773926,49.372168],[19.730078,49.3896],[19.66416,49.396045],[19.630273,49.406641],[19.62666,49.424365],[19.593066,49.447119],[19.534766,49.504785],[19.479688,49.576367],[19.441602,49.597705],[19.38623,49.563623],[19.302344,49.524854],[19.250195,49.511426],[19.149414,49.4],[18.968359,49.39624],[18.957227,49.448291],[18.938184,49.498291],[18.832227,49.510791],[18.829297,49.540137],[18.806934,49.613721],[18.594629,49.757812],[18.568848,49.81792],[18.577148,49.841113],[18.562402,49.879346],[18.516211,49.902393],[18.348438,49.929834],[18.305273,49.914062],[18.266309,49.930273],[18.205273,49.964746],[18.099219,49.992773],[18.087695,50.007275],[18.049512,50.031934],[18.02832,50.035254],[18.014648,50.020264],[17.983789,49.999072],[17.874805,49.972266],[17.83125,49.983301],[17.791699,50.006592],[17.746582,50.056787],[17.681055,50.100781],[17.627051,50.116406],[17.596289,50.139502],[17.589355,50.157471],[17.709277,50.193555],[17.735449,50.230762],[17.720117,50.298633],[17.702246,50.307178],[17.654688,50.284229],[17.55459,50.264062],[17.462305,50.254785],[17.415234,50.254785],[17.151953,50.37832],[16.980762,50.416113],[16.880078,50.427051],[16.869141,50.414502],[16.914746,50.345215],[16.993359,50.259717],[16.989648,50.236914],[16.895313,50.201953],[16.841797,50.186719],[16.778613,50.157031],[16.725293,50.116064],[16.679102,50.097461],[16.63916,50.102148],[16.59668,50.121924],[16.487598,50.248389],[16.350488,50.345215],[16.33418,50.366895],[16.291309,50.371875],[16.230762,50.394092],[16.210352,50.42373],[16.240723,50.454687],[16.28252,50.483008],[16.356641,50.500488],[16.379102,50.516895],[16.392285,50.54165],[16.419727,50.573633],[16.4125,50.585156],[16.359961,50.621387],[16.282227,50.655615],[16.066406,50.629932],[16.007227,50.611621],[15.973828,50.635449],[15.948535,50.670264],[15.893945,50.676904],[15.819238,50.708691],[15.730566,50.739697],[15.643945,50.748877],[15.463965,50.793848],[15.394629,50.796289],[15.354395,50.811768],[15.312598,50.845752],[15.277051,50.883008],[15.258594,50.958545],[15.125977,50.992871],[14.99375,51.014355],[14.984473,51.003418],[14.989941,50.927246],[14.98291,50.886572],[14.895801,50.861377],[14.809375,50.858984],[14.814258,50.871631],[14.91748,51.00874],[14.963867,51.095117],[15.016602,51.252734],[14.953125,51.377148],[14.935547,51.435352],[14.905957,51.46333],[14.724707,51.523877],[14.710938,51.544922],[14.738672,51.627148],[14.724902,51.661719],[14.681348,51.698193],[14.623926,51.770801],[14.60166,51.832373],[14.674902,51.904834],[14.692969,51.958008],[14.724805,52.030859],[14.748145,52.070801],[14.752539,52.081836],[14.70459,52.110205],[14.692383,52.150049],[14.705371,52.207471],[14.679883,52.25],[14.615625,52.277637],[14.573926,52.31416],[14.55459,52.359668],[14.569727,52.431104],[14.619434,52.528516],[14.514063,52.645605],[14.253711,52.78252],[14.128613,52.878223],[14.138867,52.932861],[14.193652,52.982324],[14.293164,53.026758],[14.368555,53.105566],[14.410938,53.199023],[14.412305,53.216748],[14.414551,53.283496],[14.29873,53.556445],[14.279883,53.624756],[14.266113,53.707129],[14.258887,53.729639],[14.487598,53.671875],[14.583496,53.639355],[14.571582,53.675879],[14.552148,53.707324],[14.564941,53.753516],[14.558398,53.823193],[14.350879,53.85874],[14.213672,53.870752],[14.198242,53.919043],[14.211426,53.950342],[14.249316,53.931934],[14.38418,53.924707],[14.715723,54.018311],[15.288379,54.139893],[15.9,54.253955],[16.042773,54.266357],[16.186328,54.290381],[16.239355,54.333057],[16.292285,54.361621],[16.375586,54.436865],[16.559766,54.553809],[16.885449,54.596387],[17.007031,54.651855],[17.261914,54.729541],[17.842969,54.816699],[18.085645,54.83584],[18.323438,54.838184],[18.535156,54.769434],[18.759277,54.68457],[18.799609,54.63335],[18.67832,54.665283],[18.501563,54.741504],[18.43623,54.744727],[18.587109,54.512891],[18.669629,54.430908],[18.836426,54.36958],[18.97627,54.348926],[19.407129,54.386084],[19.560156,54.434619],[19.604395,54.45918],[19.644238,54.44707],[19.924316,54.433984],[20.208203,54.420752],[20.664746,54.406641],[21.140527,54.391797],[21.63418,54.376465],[22.168457,54.359863],[22.731836,54.350098],[22.766211,54.356787],[22.82373,54.395801],[22.893945,54.390527],[22.976758,54.366357],[23.015527,54.34834],[23.031934,54.327881],[23.042188,54.304199],[23.0875,54.299463],[23.170313,54.281445],[23.282324,54.240332],[23.370117,54.200488],[23.453613,54.143457],[23.481348,54.079004],[23.483008,54.005957],[23.477637,53.958936],[23.484668,53.939795],[23.598926,53.599219],[23.789258,53.270947],[23.85918,53.112109],[23.887109,53.027539],[23.909375,52.904883],[23.916309,52.81875],[23.91543,52.770264],[23.90127,52.703613],[23.844727,52.664209],[23.47959,52.551562],[23.410938,52.516211],[23.30332,52.428369],[23.204102,52.337891],[23.18125,52.306982],[23.175098,52.286621],[23.196973,52.256934],[23.327148,52.208447],[23.458398,52.169531],[23.501172,52.140381],[23.597949,52.103076],[23.633301,52.06958],[23.652441,52.040381],[23.651074,51.972998],[23.607422,51.879785],[23.625684,51.809326],[23.581348,51.762402],[23.544824,51.710254],[23.539648,51.618896],[23.605273,51.51792]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":2,"SOVEREIGNT":"Philippines","SOV_A3":"PHL","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Philippines","ADM0_A3":"PHL","GEOU_DIF":0,"GEOUNIT":"Philippines","GU_A3":"PHL","SU_DIF":0,"SUBUNIT":"Philippines","SU_A3":"PHL","BRK_DIFF":0,"NAME":"Philippines","NAME_LONG":"Philippines","BRK_A3":"PHL","BRK_NAME":"Philippines","BRK_GROUP":null,"ABBREV":"Phil.","POSTAL":"PH","FORMAL_EN":"Republic of the Philippines","FORMAL_FR":null,"NAME_CIAWF":"Philippines","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Philippines","NAME_ALT":null,"MAPCOLOR7":3,"MAPCOLOR8":2,"MAPCOLOR9":2,"MAPCOLOR13":8,"POP_EST":108116615,"POP_RANK":17,"POP_YEAR":2019,"GDP_MD":376795,"GDP_YEAR":2019,"ECONOMY":"5. Emerging region: G20","INCOME_GRP":"4. Lower middle income","FIPS_10":"RP","ISO_A2":"PH","ISO_A2_EH":"PH","ISO_A3":"PHL","ISO_A3_EH":"PHL","ISO_N3":"608","ISO_N3_EH":"608","UN_A3":"608","WB_A2":"PH","WB_A3":"PHL","WOE_ID":23424934,"WOE_ID_EH":23424934,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"PHL","ADM0_DIFF":null,"ADM0_TLC":"PHL","ADM0_A3_US":"PHL","ADM0_A3_FR":"PHL","ADM0_A3_RU":"PHL","ADM0_A3_ES":"PHL","ADM0_A3_CN":"PHL","ADM0_A3_TW":"PHL","ADM0_A3_IN":"PHL","ADM0_A3_NP":"PHL","ADM0_A3_PK":"PHL","ADM0_A3_DE":"PHL","ADM0_A3_GB":"PHL","ADM0_A3_BR":"PHL","ADM0_A3_IL":"PHL","ADM0_A3_PS":"PHL","ADM0_A3_SA":"PHL","ADM0_A3_EG":"PHL","ADM0_A3_MA":"PHL","ADM0_A3_PT":"PHL","ADM0_A3_AR":"PHL","ADM0_A3_JP":"PHL","ADM0_A3_KO":"PHL","ADM0_A3_VN":"PHL","ADM0_A3_TR":"PHL","ADM0_A3_ID":"PHL","ADM0_A3_PL":"PHL","ADM0_A3_GR":"PHL","ADM0_A3_IT":"PHL","ADM0_A3_NL":"PHL","ADM0_A3_SE":"PHL","ADM0_A3_BD":"PHL","ADM0_A3_UA":"PHL","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Asia","REGION_UN":"Asia","SUBREGION":"South-Eastern Asia","REGION_WB":"East Asia & Pacific","NAME_LEN":11,"LONG_LEN":11,"ABBREV_LEN":5,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":2.5,"MAX_LABEL":7,"LABEL_X":122.465,"LABEL_Y":11.198,"NE_ID":1159321169,"WIKIDATAID":"Q928","NAME_AR":"الفلبين","NAME_BN":"ফিলিপাইন","NAME_DE":"Philippinen","NAME_EN":"Philippines","NAME_ES":"Filipinas","NAME_FA":"فیلیپین","NAME_FR":"Philippines","NAME_EL":"Φιλιππίνες","NAME_HE":"הפיליפינים","NAME_HI":"फ़िलीपीन्स","NAME_HU":"Fülöp-szigetek","NAME_ID":"Filipina","NAME_IT":"Filippine","NAME_JA":"フィリピン","NAME_KO":"필리핀","NAME_NL":"Filipijnen","NAME_PL":"Filipiny","NAME_PT":"Filipinas","NAME_RU":"Филиппины","NAME_SV":"Filippinerna","NAME_TR":"Filipinler","NAME_UK":"Філіппіни","NAME_UR":"فلپائن","NAME_VI":"Philippines","NAME_ZH":"菲律宾","NAME_ZHT":"菲律賓","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[116.969531,5.060205,126.593359,20.84126],"geometry":{"type":"MultiPolygon","coordinates":[[[[121.101562,18.615283],[121.254492,18.563428],[121.592969,18.376465],[121.716797,18.330078],[121.845605,18.29541],[121.947559,18.285156],[122.038477,18.32793],[122.076953,18.37168],[122.14668,18.486572],[122.221191,18.500635],[122.265527,18.458838],[122.299805,18.402783],[122.315039,18.320312],[122.293848,18.234277],[122.222852,18.157129],[122.179492,18.064258],[122.150977,17.756494],[122.152344,17.664404],[122.175195,17.575684],[122.236816,17.434863],[122.269043,17.395264],[122.362305,17.344873],[122.3875,17.306787],[122.392871,17.238379],[122.40752,17.178125],[122.467871,17.155127],[122.519141,17.124854],[122.5,17.058008],[122.467969,16.990039],[122.425781,16.822656],[122.225879,16.435205],[122.21416,16.351514],[122.135156,16.184814],[121.974707,16.15791],[121.788672,16.077441],[121.685156,16.014746],[121.595313,15.933252],[121.560938,15.826758],[121.59043,15.778027],[121.60918,15.726025],[121.607031,15.669824],[121.579199,15.623193],[121.489844,15.509521],[121.452051,15.41665],[121.411914,15.375049],[121.392285,15.324414],[121.398926,15.266602],[121.434961,15.216309],[121.543945,14.99917],[121.660547,14.789502],[121.685645,14.76543],[121.69541,14.737305],[121.626563,14.681738],[121.62793,14.581152],[121.648535,14.481494],[121.751855,14.23418],[121.766602,14.168066],[121.800488,14.113867],[121.85332,14.063086],[121.911719,14.02041],[122.07959,13.947119],[122.144336,13.932715],[122.211719,13.930176],[122.228418,13.979492],[122.2875,13.996191],[122.274414,14.044727],[122.202539,14.11167],[122.199707,14.148047],[122.2375,14.175049],[122.282617,14.19082],[122.383691,14.263867],[122.49082,14.322363],[122.627148,14.317529],[122.761035,14.284863],[122.856055,14.250781],[122.93418,14.188086],[123.014551,14.079834],[123.070996,13.959961],[123.070703,13.902734],[123.056934,13.845459],[123.059961,13.78877],[123.101953,13.750244],[123.231445,13.747363],[123.296973,13.836426],[123.305371,13.936572],[123.259277,13.975439],[123.280469,14.024805],[123.320312,14.06167],[123.377441,14.028662],[123.432324,13.96626],[123.632812,13.898486],[123.684082,13.897021],[123.725977,13.884326],[123.815723,13.837109],[123.857617,13.799609],[123.80625,13.721729],[123.607129,13.704443],[123.549609,13.645752],[123.608105,13.528076],[123.703613,13.431592],[123.764844,13.353516],[123.819238,13.269482],[123.816602,13.191602],[123.785156,13.110547],[123.872754,13.116992],[123.955176,13.099707],[124.069141,13.031934],[124.10459,13.025],[124.142773,13.035791],[124.137305,12.791162],[124.059766,12.56709],[123.961719,12.594971],[123.877832,12.689697],[123.894922,12.80498],[123.948535,12.916406],[123.917969,12.939941],[123.863867,12.930664],[123.802344,12.905566],[123.736035,12.896924],[123.626758,12.911768],[123.402344,13.033105],[123.310938,13.044092],[123.29043,13.099023],[123.295508,13.215576],[123.205957,13.353516],[123.191602,13.402881],[123.163281,13.441748],[122.896191,13.591943],[122.863477,13.617236],[122.781348,13.737061],[122.595215,13.907617],[122.543066,13.925049],[122.486328,13.92998],[122.467969,13.886719],[122.49375,13.820215],[122.504199,13.763086],[122.500195,13.703174],[122.508008,13.656836],[122.596191,13.562012],[122.609375,13.517139],[122.667871,13.395361],[122.675098,13.253174],[122.599902,13.194141],[122.515234,13.26001],[122.5125,13.313623],[122.497949,13.363525],[122.406934,13.492773],[122.376563,13.520605],[122.205273,13.648242],[122.072754,13.788379],[121.77793,13.937646],[121.742871,13.94585],[121.691699,13.93457],[121.643457,13.915967],[121.501074,13.842187],[121.450781,13.790771],[121.446289,13.711865],[121.344141,13.649121],[121.203516,13.640283],[121.095508,13.679492],[121.006152,13.758105],[120.932324,13.761865],[120.840723,13.884717],[120.729102,13.900537],[120.637109,13.804492],[120.617383,13.995312],[120.616797,14.188037],[120.642676,14.244336],[120.688281,14.291211],[120.92207,14.493115],[120.951563,14.557959],[120.941309,14.645068],[120.888086,14.715771],[120.804492,14.758789],[120.70791,14.776611],[120.638281,14.816162],[120.583691,14.88125],[120.546777,14.766113],[120.582715,14.594629],[120.588672,14.483105],[120.555664,14.441357],[120.495703,14.440186],[120.43877,14.453369],[120.396094,14.493311],[120.365234,14.608301],[120.283887,14.684375],[120.250781,14.793311],[120.213867,14.808789],[120.137988,14.800391],[120.082129,14.851074],[120.044531,14.978125],[120.036621,15.114551],[120.00498,15.229248],[119.959375,15.340234],[119.932813,15.430908],[119.891602,15.837695],[119.881445,15.875],[119.859668,15.905762],[119.808203,15.951953],[119.768945,16.008447],[119.761816,16.05498],[119.772559,16.255127],[119.790234,16.30332],[119.830762,16.326562],[119.886133,16.287402],[119.930371,16.23877],[119.985156,16.21543],[120.033398,16.18457],[120.124023,16.066211],[120.159766,16.047656],[120.271289,16.051416],[120.337012,16.066455],[120.36875,16.10957],[120.38877,16.160938],[120.389258,16.221631],[120.325,16.400342],[120.305273,16.529248],[120.304395,16.645459],[120.321191,16.761865],[120.408887,16.955615],[120.420117,17.090088],[120.411719,17.269922],[120.427148,17.376904],[120.424512,17.43833],[120.37207,17.535107],[120.358398,17.638184],[120.505078,18.162646],[120.550977,18.264062],[120.584473,18.36875],[120.599707,18.507861],[120.709375,18.545947],[120.81377,18.603418],[120.867773,18.598926],[120.925,18.585107],[121.051367,18.613672],[121.101562,18.615283]]],[[[117.311133,8.4396],[117.218555,8.367285],[117.228516,8.456689],[117.255859,8.540967],[117.349902,8.713574],[117.417773,8.76665],[117.52998,8.902588],[117.593262,8.968311],[117.744922,9.098242],[117.884766,9.240674],[117.931543,9.25127],[117.983008,9.253418],[118.023828,9.269775],[118.114844,9.34668],[118.343945,9.602783],[118.533398,9.793652],[118.727539,10.03501],[118.820117,10.105322],[118.845117,10.131299],[119.023828,10.353564],[119.079883,10.38584],[119.143066,10.409277],[119.186035,10.439453],[119.223828,10.477295],[119.287012,10.574023],[119.312695,10.687109],[119.29668,10.750977],[119.261133,10.845166],[119.305664,10.973633],[119.340723,11.03291],[119.465332,11.293799],[119.50127,11.346436],[119.55332,11.313525],[119.560254,11.266797],[119.53457,11.156836],[119.532617,11.101611],[119.561914,11.045508],[119.52666,10.953174],[119.616113,10.707373],[119.684375,10.551709],[119.686914,10.500342],[119.595215,10.407422],[119.540527,10.379346],[119.422461,10.354395],[119.369336,10.327295],[119.284766,10.251709],[119.231934,10.152148],[119.218555,10.100684],[119.191504,10.061084],[118.948633,9.993457],[118.834668,9.949316],[118.782129,9.916113],[118.75498,9.862109],[118.773828,9.766797],[118.569629,9.422754],[118.504492,9.332666],[118.434961,9.256006],[118.349609,9.201465],[118.229297,9.167969],[118.134082,9.101367],[118.069434,8.983545],[117.989551,8.8771],[117.888574,8.798242],[117.779785,8.728613],[117.679883,8.677832],[117.572168,8.641992],[117.539648,8.595605],[117.516602,8.53833],[117.469141,8.511377],[117.4125,8.49585],[117.311133,8.4396]]],[[[122.496191,11.615088],[122.612695,11.56416],[122.72627,11.60791],[122.838086,11.595654],[122.93125,11.529297],[122.900781,11.487354],[122.894531,11.441309],[123.102734,11.541455],[123.158301,11.535547],[123.156445,11.442529],[123.144141,11.363574],[123.119531,11.286816],[123.075488,11.196875],[123.016504,11.116504],[122.93877,11.058154],[122.84668,11.022461],[122.80293,10.990039],[122.789453,10.941211],[122.791113,10.879736],[122.769922,10.823828],[122.673145,10.800928],[122.52207,10.691895],[122.197656,10.6229],[122.108594,10.575537],[122.051758,10.514062],[121.988379,10.458301],[121.954004,10.444385],[121.938281,10.470898],[121.933789,10.493652],[121.980078,10.638574],[121.972363,10.698877],[121.950293,10.757373],[121.964355,10.87168],[122.020703,10.979102],[122.050879,11.097363],[122.059668,11.325684],[122.103516,11.64292],[122.101367,11.680859],[122.066992,11.72373],[121.94082,11.758301],[121.891211,11.790869],[121.916016,11.854346],[121.963672,11.897363],[122.029199,11.89541],[122.086816,11.855078],[122.290723,11.772021],[122.399219,11.702197],[122.496191,11.615088]]],[[[123.130859,9.064111],[123.064648,9.053369],[122.994727,9.058838],[122.947852,9.107959],[122.866602,9.319824],[122.772461,9.371338],[122.664551,9.410352],[122.610352,9.443213],[122.5625,9.482812],[122.410937,9.693896],[122.399512,9.823047],[122.425586,9.896094],[122.471484,9.961523],[122.523242,9.979199],[122.648242,9.981543],[122.712988,9.990137],[122.855566,10.086914],[122.86582,10.125],[122.866504,10.284033],[122.852344,10.395264],[122.816992,10.503809],[122.855566,10.553418],[122.905859,10.602539],[122.958398,10.69834],[122.96875,10.765723],[122.969727,10.836182],[122.983301,10.886621],[123.024414,10.911816],[123.221777,10.988672],[123.256641,10.993945],[123.510645,10.923047],[123.5625,10.816064],[123.567578,10.780762],[123.527734,10.662012],[123.492871,10.582324],[123.406934,10.458984],[123.343555,10.325391],[123.296094,10.124512],[123.266211,10.059033],[123.186621,9.933301],[123.162012,9.864258],[123.162695,9.714648],[123.149414,9.659326],[123.149805,9.606152],[123.308398,9.356982],[123.321875,9.31748],[123.320508,9.272949],[123.293359,9.217285],[123.228711,9.121387],[123.19248,9.087891],[123.130859,9.064111]]],[[[124.574609,11.343066],[124.644336,11.308105],[124.724316,11.32207],[124.821094,11.401416],[124.92998,11.372852],[124.993945,11.255908],[125.026563,11.211719],[125.044336,11.135254],[125.039746,10.951904],[125.013184,10.785693],[125.033789,10.751465],[125.083887,10.721582],[125.127539,10.684717],[125.16416,10.637451],[125.187695,10.584863],[125.197168,10.457227],[125.260059,10.349609],[125.268457,10.307715],[125.25332,10.263818],[125.148438,10.272412],[125.140039,10.235352],[125.142578,10.189453],[125.105371,10.218311],[125.043945,10.323437],[124.9875,10.367578],[125.004883,10.19707],[125.023535,10.115283],[125.026563,10.033105],[124.929102,10.095898],[124.812793,10.134619],[124.780762,10.168066],[124.791699,10.274561],[124.789551,10.327539],[124.737695,10.439746],[124.798633,10.682227],[124.797168,10.731787],[124.786719,10.781396],[124.738672,10.879736],[124.662695,10.961963],[124.616113,10.962207],[124.502832,10.904443],[124.445508,10.923584],[124.411719,11.150342],[124.366016,11.370703],[124.330957,11.4271],[124.308203,11.486182],[124.330664,11.535205],[124.374121,11.51499],[124.435938,11.457227],[124.510938,11.423877],[124.548242,11.39502],[124.574609,11.343066]]],[[[125.239551,12.527881],[125.310352,12.446289],[125.327539,12.387207],[125.320215,12.321826],[125.352246,12.292773],[125.408789,12.284863],[125.48125,12.251953],[125.535645,12.191406],[125.50332,12.135791],[125.513379,12.05459],[125.456543,11.952539],[125.464258,11.771582],[125.496875,11.71377],[125.5,11.65542],[125.491797,11.594336],[125.505762,11.544238],[125.592969,11.378223],[125.608984,11.323047],[125.582324,11.279492],[125.573535,11.238232],[125.627344,11.233887],[125.704004,11.164795],[125.749121,11.073584],[125.735645,11.049609],[125.674414,11.120801],[125.628125,11.132031],[125.431836,11.112598],[125.311523,11.142285],[125.233398,11.145068],[125.155859,11.267041],[125.087891,11.287354],[125.034277,11.34126],[124.945312,11.47915],[124.916992,11.558398],[124.978906,11.638477],[124.998242,11.702344],[124.99502,11.764941],[124.935645,11.754639],[124.884277,11.775488],[124.821094,11.8521],[124.795801,11.896338],[124.749805,11.93335],[124.676758,12.020898],[124.571875,12.055127],[124.529102,12.079199],[124.445703,12.152783],[124.384863,12.243994],[124.325781,12.403809],[124.294727,12.569336],[124.56582,12.526221],[124.840137,12.53457],[125.150195,12.572559],[125.239551,12.527881]]],[[[120.704395,13.479492],[120.755371,13.470996],[120.915332,13.501074],[120.980762,13.485986],[121.024707,13.428711],[121.079297,13.410742],[121.122461,13.38125],[121.202734,13.432324],[121.284375,13.374121],[121.356836,13.265479],[121.442187,13.188428],[121.522754,13.131201],[121.538672,13.088867],[121.489746,13.01958],[121.474805,12.931592],[121.479688,12.837109],[121.540625,12.638184],[121.519238,12.584229],[121.458008,12.507959],[121.412305,12.423047],[121.418164,12.38877],[121.400098,12.360742],[121.394336,12.300586],[121.356836,12.313086],[121.322363,12.303613],[121.288867,12.276709],[121.236719,12.218799],[121.155469,12.236328],[121.116992,12.253418],[121.107617,12.303613],[121.083398,12.338965],[121.048535,12.359961],[120.9625,12.446533],[120.922168,12.511621],[120.921484,12.581104],[120.899414,12.64585],[120.854785,12.703662],[120.795996,12.747998],[120.776367,12.790576],[120.76875,12.840918],[120.763672,12.969824],[120.680273,13.130615],[120.651367,13.169141],[120.573145,13.208887],[120.508301,13.260059],[120.480664,13.311035],[120.455469,13.393506],[120.438086,13.40542],[120.3875,13.40166],[120.338477,13.412354],[120.352734,13.472949],[120.40127,13.517041],[120.468359,13.522412],[120.65332,13.497607],[120.704395,13.479492]]],[[[126.005957,9.320947],[126.087598,9.260742],[126.193359,9.276709],[126.191992,9.124902],[126.209082,9.080566],[126.30459,8.952051],[126.319531,8.844727],[126.262988,8.743945],[126.220215,8.696289],[126.141602,8.627295],[126.139551,8.595654],[126.173047,8.560059],[126.282324,8.539307],[126.365332,8.483887],[126.379785,8.326758],[126.458691,8.202832],[126.456641,8.148779],[126.425293,7.927441],[126.435352,7.832812],[126.494434,7.756982],[126.544434,7.724805],[126.570117,7.677246],[126.593359,7.546777],[126.589258,7.325146],[126.581543,7.247754],[126.54668,7.17583],[126.439063,7.012354],[126.294043,6.882324],[126.216895,6.891016],[126.19209,6.852539],[126.240234,6.733887],[126.221191,6.483398],[126.189355,6.309668],[126.14248,6.397559],[126.109766,6.489648],[126.080078,6.73335],[126.043066,6.843164],[125.984961,6.943555],[125.961621,7.033203],[125.901172,7.116992],[125.824414,7.333301],[125.773633,7.322168],[125.689258,7.263037],[125.670215,7.222314],[125.660254,7.160596],[125.640723,7.105078],[125.542188,7.016602],[125.464746,6.911133],[125.400977,6.795752],[125.380664,6.689941],[125.43291,6.607129],[125.486621,6.57373],[125.564551,6.499609],[125.588477,6.465771],[125.670703,6.225],[125.667969,5.978662],[125.607813,5.870166],[125.455859,5.664258],[125.346484,5.598975],[125.287891,5.632275],[125.241016,5.756934],[125.233203,5.808301],[125.264941,5.925586],[125.268457,6.033154],[125.231543,6.069531],[125.191016,6.0625],[125.174023,6.046973],[125.076172,5.90625],[125.035352,5.870654],[124.975195,5.865723],[124.927344,5.875342],[124.636328,5.998193],[124.398828,6.119727],[124.212793,6.233252],[124.078125,6.404443],[124.049707,6.532568],[124.048145,6.666553],[123.987891,6.862988],[123.980859,6.929688],[123.985254,6.993701],[124.045117,7.114111],[124.117578,7.175098],[124.158203,7.218799],[124.190723,7.267334],[124.212891,7.332129],[124.206641,7.396436],[124.182422,7.436719],[124.067969,7.577881],[123.968457,7.664648],[123.764746,7.742627],[123.717383,7.7854],[123.66582,7.817773],[123.608887,7.831641],[123.553223,7.832129],[123.493066,7.80791],[123.477441,7.756348],[123.481641,7.710254],[123.476367,7.665381],[123.390918,7.40752],[123.282031,7.464111],[123.178223,7.529443],[123.150684,7.575195],[123.13877,7.629932],[123.121191,7.666895],[123.09668,7.700439],[123.048926,7.614355],[122.989551,7.546289],[122.916895,7.530518],[122.842969,7.529297],[122.81875,7.558496],[122.791797,7.722461],[122.713965,7.774121],[122.616211,7.763135],[122.497949,7.672754],[122.474414,7.638965],[122.448633,7.561133],[122.319727,7.340234],[122.251465,7.17002],[122.176172,7.004199],[122.14248,6.949658],[122.098145,6.913721],[122.027637,6.928613],[121.964258,6.968213],[121.904199,7.075195],[121.924609,7.199512],[121.991113,7.27876],[122.047168,7.363574],[122.114844,7.659912],[122.119922,7.765381],[122.131836,7.810498],[122.243359,7.945117],[122.337109,8.028418],[122.386719,8.045898],[122.589453,8.093311],[122.672949,8.133105],[122.804395,8.133691],[122.911133,8.156445],[122.996289,8.220508],[123.002734,8.286914],[122.998828,8.356055],[123.017578,8.39834],[123.050586,8.433936],[123.095898,8.480811],[123.147168,8.516016],[123.292871,8.541455],[123.341211,8.57041],[123.380176,8.615625],[123.43457,8.70332],[123.498926,8.681543],[123.563672,8.647461],[123.680078,8.620605],[123.783398,8.547705],[123.849219,8.432715],[123.860547,8.376074],[123.877441,8.188818],[123.853418,8.145117],[123.753125,8.058252],[123.799414,8.049121],[123.931152,8.128418],[123.996875,8.158984],[124.159375,8.201465],[124.197656,8.229541],[124.225781,8.271387],[124.283203,8.385986],[124.325195,8.508447],[124.35791,8.559424],[124.404883,8.599854],[124.45127,8.606348],[124.621777,8.522656],[124.731152,8.562988],[124.761719,8.689795],[124.786816,8.874121],[124.806152,8.924023],[124.868945,8.972266],[124.943848,8.956689],[125.046387,8.890527],[125.141016,8.86875],[125.176172,8.92207],[125.209668,9.027148],[125.247852,9.026562],[125.375586,8.991797],[125.49873,9.014746],[125.533398,9.140918],[125.510156,9.275879],[125.413965,9.669189],[125.471289,9.756787],[125.520898,9.759131],[125.64248,9.654492],[125.87666,9.513135],[125.954688,9.42666],[126.005957,9.320947]]],[[[123.370313,9.449609],[123.331738,9.422949],[123.316016,9.488965],[123.327051,9.578076],[123.403711,9.889258],[123.38623,9.96709],[123.514355,10.140332],[123.592871,10.30293],[123.711426,10.473682],[123.726465,10.562207],[123.831543,10.731006],[123.929883,10.963818],[123.924609,11.040918],[123.950098,11.07915],[123.964063,11.137451],[123.967188,11.186914],[124.038867,11.273535],[124.05791,11.217236],[124.036523,11.106689],[124.039844,11.053613],[124.052539,11.02876],[124.05332,10.925781],[124.027539,10.767871],[124.05127,10.585596],[124.00498,10.400098],[123.952148,10.316602],[123.873926,10.257715],[123.788672,10.220801],[123.700488,10.12832],[123.643359,10.020215],[123.633984,9.921729],[123.493555,9.589307],[123.370313,9.449609]]],[[[121.92168,18.894727],[121.858203,18.8229],[121.825195,18.842725],[121.860742,18.912549],[121.859766,18.936768],[121.888867,18.991553],[121.943359,19.010449],[121.987891,18.956641],[121.92168,18.894727]]],[[[121.520898,19.361963],[121.53125,19.271338],[121.47207,19.27334],[121.38291,19.328467],[121.374609,19.356299],[121.375977,19.379688],[121.391602,19.399365],[121.520898,19.361963]]],[[[121.960059,20.365869],[121.941309,20.353711],[121.914062,20.359424],[121.941211,20.453711],[121.991211,20.47959],[122.031152,20.469385],[121.960059,20.365869]]],[[[121.878125,20.781885],[121.82959,20.700293],[121.790625,20.701172],[121.796484,20.746631],[121.847852,20.84126],[121.866992,20.839209],[121.878125,20.781885]]],[[[121.159375,6.075635],[121.213867,6.003516],[121.28252,6.022266],[121.391504,6.0021],[121.414648,5.964502],[121.411035,5.939844],[121.294434,5.869971],[121.218164,5.942725],[121.083008,5.893018],[121.018555,5.922949],[120.930664,5.896191],[120.876367,5.952637],[120.898242,6.006934],[121.037695,6.095996],[121.159375,6.075635]]],[[[117.079883,7.883398],[117.02832,7.80752],[116.969531,7.894922],[116.975781,8.01665],[116.993555,8.050537],[117.077051,8.069141],[117.079883,7.883398]]],[[[119.916211,10.485986],[119.793164,10.455273],[119.764453,10.551611],[119.852051,10.640137],[119.950195,10.604785],[120.008398,10.570117],[119.981152,10.538721],[119.916211,10.485986]]],[[[120.1,12.167676],[120.154688,12.152393],[120.19375,12.167041],[120.228223,12.219824],[120.260547,12.141748],[120.341406,12.077441],[120.314551,12.012402],[120.243457,12.004785],[120.173633,12.019629],[120.100098,11.99375],[120.010547,12.008252],[119.957031,12.069238],[119.896094,12.17876],[119.865918,12.199023],[119.869629,12.243994],[119.891797,12.27251],[119.880078,12.279883],[119.885742,12.299854],[119.89668,12.313428],[119.916406,12.319092],[119.963867,12.27041],[120.077539,12.197754],[120.1,12.167676]]],[[[120.03877,11.70332],[119.963867,11.669385],[119.944922,11.690723],[119.931738,11.740332],[119.932813,11.774463],[119.860938,11.953955],[119.916016,11.981348],[119.956543,11.960254],[119.997852,11.932129],[120.035937,11.917236],[120.070703,11.860547],[120.062402,11.821338],[120.073145,11.783496],[120.03877,11.70332]]],[[[122.649512,10.472705],[122.621875,10.459033],[122.597168,10.461035],[122.538379,10.424951],[122.516699,10.492529],[122.5375,10.607568],[122.625781,10.69502],[122.648438,10.72251],[122.672559,10.738818],[122.70127,10.740625],[122.729199,10.706396],[122.737207,10.65459],[122.68125,10.498242],[122.649512,10.472705]]],[[[124.593848,9.787207],[124.584277,9.750488],[124.505664,9.753516],[124.477539,9.7479],[124.403418,9.654102],[124.359863,9.630225],[124.122461,9.599316],[123.935645,9.623975],[123.87168,9.675732],[123.82998,9.761133],[123.817187,9.817383],[123.863867,9.878809],[123.908887,9.919629],[124.059766,10.000195],[124.093848,10.061328],[124.172852,10.135205],[124.335742,10.159912],[124.351562,10.141357],[124.373242,10.12959],[124.405859,10.126416],[124.486328,10.065479],[124.577148,10.026709],[124.555078,9.879199],[124.582227,9.82959],[124.593848,9.787207]]],[[[120.250391,5.256592],[120.223242,5.19624],[120.191602,5.168311],[120.15,5.184082],[120.118359,5.215381],[120.100586,5.168994],[120.013281,5.151123],[119.958105,5.079541],[119.877539,5.060205],[119.821484,5.069531],[119.827344,5.133154],[119.982715,5.228418],[120.079688,5.263623],[120.165234,5.332422],[120.208008,5.340088],[120.229395,5.284082],[120.250391,5.256592]]],[[[122.092871,6.42832],[121.991406,6.414551],[121.95918,6.41582],[121.879883,6.517578],[121.872461,6.562744],[121.808691,6.613721],[121.832031,6.664062],[121.914941,6.676221],[122.058301,6.740723],[122.288086,6.638916],[122.323535,6.602246],[122.251758,6.579785],[122.200977,6.48291],[122.092871,6.42832]]],[[[126.059375,9.766211],[126.046777,9.760791],[125.991211,9.838525],[125.998633,9.927051],[126.073828,10.059229],[126.129492,9.943555],[126.128906,9.891113],[126.120801,9.865186],[126.172559,9.799951],[126.136914,9.767773],[126.059375,9.766211]]],[[[125.690234,9.914453],[125.672559,9.886475],[125.648633,9.944092],[125.590527,9.998193],[125.534473,10.090088],[125.494824,10.118701],[125.521973,10.191504],[125.524609,10.309717],[125.580176,10.363672],[125.605859,10.37959],[125.647949,10.436816],[125.666797,10.440137],[125.68457,10.392041],[125.64668,10.24541],[125.70332,10.071777],[125.684375,9.963184],[125.69248,9.939014],[125.690234,9.914453]]],[[[120.271289,13.750684],[120.272852,13.682959],[120.104199,13.782373],[120.099414,13.816943],[120.103418,13.842529],[120.120703,13.858057],[120.211426,13.820654],[120.271289,13.750684]]],[[[121.914844,13.540332],[121.976562,13.537402],[121.995703,13.546777],[122.114551,13.463184],[122.107324,13.42085],[122.122363,13.365137],[122.054688,13.268652],[122.042383,13.236182],[122.004883,13.20498],[121.875879,13.281738],[121.829199,13.328613],[121.815039,13.424463],[121.866211,13.566162],[121.914844,13.540332]]],[[[122.094043,12.354883],[122.013965,12.105615],[121.960156,12.191406],[121.981934,12.245312],[121.935645,12.290381],[121.923242,12.331299],[121.941016,12.3854],[121.989453,12.435303],[122.001563,12.598535],[122.103809,12.650635],[122.14502,12.652637],[122.130273,12.612598],[122.131641,12.537549],[122.094043,12.354883]]],[[[122.654492,12.309033],[122.60332,12.285596],[122.499316,12.383691],[122.438867,12.429492],[122.422949,12.455078],[122.471875,12.491943],[122.603613,12.491602],[122.673633,12.424268],[122.683301,12.382324],[122.654492,12.309033]]],[[[123.281836,12.853418],[123.367188,12.70083],[123.274219,12.805078],[123.166406,12.875879],[123.054199,12.993457],[122.973437,13.034717],[122.949023,13.058691],[122.95752,13.107178],[123.01709,13.116162],[123.043555,13.113379],[123.20625,12.90542],[123.281836,12.853418]]],[[[123.775391,12.453906],[123.779102,12.36626],[123.741504,12.398535],[123.620605,12.570508],[123.587207,12.633301],[123.621484,12.674902],[123.708691,12.610791],[123.775391,12.453906]]],[[[123.716602,12.287354],[123.908301,12.169092],[124.040332,11.966797],[124.055664,11.811572],[124.045508,11.752441],[123.982715,11.818896],[123.847754,11.913574],[123.754004,11.934473],[123.725195,11.951562],[123.736035,12.002637],[123.674805,12.05],[123.667578,12.069336],[123.612012,12.090234],[123.531055,12.196631],[123.47373,12.21665],[123.418848,12.194238],[123.292676,12.036377],[123.157813,11.925635],[123.155859,11.967969],[123.210547,12.106592],[123.245313,12.328027],[123.267188,12.395459],[123.239844,12.494678],[123.236426,12.583496],[123.337012,12.542383],[123.462988,12.501221],[123.558984,12.444824],[123.574805,12.406934],[123.716602,12.287354]]],[[[124.353613,13.632227],[124.327051,13.567383],[124.294531,13.590332],[124.248242,13.58667],[124.175391,13.531543],[124.057031,13.605566],[124.038867,13.663135],[124.12373,13.790479],[124.122852,13.979687],[124.153711,14.026172],[124.18623,14.059521],[124.224902,14.077588],[124.308301,13.946973],[124.336719,13.931104],[124.417188,13.871045],[124.396289,13.750098],[124.404004,13.679443],[124.353613,13.632227]]],[[[122.175391,14.048828],[122.172266,14.008008],[121.95625,14.156055],[121.946387,14.181494],[121.945996,14.205127],[121.95918,14.22876],[122.175391,14.048828]]],[[[122.033496,15.005029],[122.051562,14.969873],[122.031738,14.971631],[122.017285,14.965283],[121.970313,14.892969],[122.02168,14.759424],[121.989648,14.662158],[121.933008,14.656055],[121.910645,14.666504],[121.922168,14.714551],[121.93457,14.736621],[121.923047,14.8],[121.889258,14.839844],[121.862305,14.917187],[121.820312,14.963574],[121.839844,15.038135],[121.97168,15.046387],[122.033496,15.005029]]],[[[124.316211,10.606006],[124.288477,10.601465],[124.334668,10.706689],[124.371094,10.691357],[124.382324,10.679834],[124.381348,10.632568],[124.316211,10.606006]]],[[[125.280762,9.982178],[125.287695,9.932715],[125.158984,10.062939],[125.133008,10.155029],[125.175879,10.151074],[125.230957,10.115674],[125.280762,9.982178]]],[[[122.937109,7.409131],[122.948047,7.385742],[122.943652,7.361035],[122.839551,7.3146],[122.804688,7.315967],[122.796582,7.393359],[122.822168,7.428467],[122.871191,7.397314],[122.914844,7.433398],[122.937109,7.409131]]],[[[125.78457,6.962744],[125.768945,6.905762],[125.70752,7.03999],[125.683008,7.073193],[125.714453,7.185547],[125.783398,7.130664],[125.78457,6.962744]]],[[[124.608398,11.492188],[124.483496,11.48584],[124.428809,11.531738],[124.360352,11.665918],[124.437402,11.69502],[124.510938,11.687109],[124.564941,11.639697],[124.622266,11.549561],[124.608398,11.492188]]],[[[124.806641,9.142627],[124.77793,9.083105],[124.66582,9.132324],[124.639063,9.175098],[124.65332,9.22583],[124.708105,9.243018],[124.736816,9.243164],[124.790234,9.190088],[124.806641,9.142627]]],[[[121.252246,19.082422],[121.24668,19.015186],[121.196094,19.050684],[121.184863,19.101416],[121.189941,19.138916],[121.213184,19.183594],[121.244727,19.143018],[121.252246,19.082422]]],[[[119.861426,11.525342],[119.88291,11.472412],[119.854883,11.393066],[119.830664,11.375684],[119.798633,11.40874],[119.72998,11.431934],[119.725586,11.474658],[119.761426,11.473633],[119.826758,11.51543],[119.861426,11.525342]]],[[[123.757031,11.283301],[123.815625,11.150732],[123.736719,11.151465],[123.707617,11.247998],[123.741406,11.27915],[123.757031,11.283301]]],[[[122.31084,12.528809],[122.279785,12.498291],[122.260938,12.503076],[122.247852,12.556934],[122.278027,12.59292],[122.2875,12.589258],[122.31084,12.528809]]],[[[125.970508,9.593555],[125.952441,9.567969],[125.92207,9.621484],[125.948535,9.739209],[125.967773,9.759082],[125.992969,9.68457],[125.970508,9.593555]]],[[[124.854395,11.594775],[124.835938,11.543311],[124.806641,11.557568],[124.781055,11.580762],[124.743652,11.658545],[124.730859,11.715332],[124.788379,11.683105],[124.821484,11.626611],[124.854395,11.594775]]],[[[117.355273,8.214648],[117.287012,8.191016],[117.272266,8.253516],[117.280859,8.31499],[117.32959,8.308496],[117.353711,8.289258],[117.355273,8.214648]]],[[[123.697656,9.237305],[123.70625,9.133545],[123.614453,9.10332],[123.540723,9.129736],[123.493457,9.19209],[123.493555,9.215527],[123.535156,9.213574],[123.626074,9.268262],[123.654883,9.27876],[123.697656,9.237305]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":2,"SOVEREIGNT":"Peru","SOV_A3":"PER","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Peru","ADM0_A3":"PER","GEOU_DIF":0,"GEOUNIT":"Peru","GU_A3":"PER","SU_DIF":0,"SUBUNIT":"Peru","SU_A3":"PER","BRK_DIFF":0,"NAME":"Peru","NAME_LONG":"Peru","BRK_A3":"PER","BRK_NAME":"Peru","BRK_GROUP":null,"ABBREV":"Peru","POSTAL":"PE","FORMAL_EN":"Republic of Peru","FORMAL_FR":null,"NAME_CIAWF":"Peru","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Peru","NAME_ALT":null,"MAPCOLOR7":4,"MAPCOLOR8":4,"MAPCOLOR9":4,"MAPCOLOR13":11,"POP_EST":32510453,"POP_RANK":15,"POP_YEAR":2019,"GDP_MD":226848,"GDP_YEAR":2019,"ECONOMY":"5. Emerging region: G20","INCOME_GRP":"3. Upper middle income","FIPS_10":"PE","ISO_A2":"PE","ISO_A2_EH":"PE","ISO_A3":"PER","ISO_A3_EH":"PER","ISO_N3":"604","ISO_N3_EH":"604","UN_A3":"604","WB_A2":"PE","WB_A3":"PER","WOE_ID":23424919,"WOE_ID_EH":23424919,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"PER","ADM0_DIFF":null,"ADM0_TLC":"PER","ADM0_A3_US":"PER","ADM0_A3_FR":"PER","ADM0_A3_RU":"PER","ADM0_A3_ES":"PER","ADM0_A3_CN":"PER","ADM0_A3_TW":"PER","ADM0_A3_IN":"PER","ADM0_A3_NP":"PER","ADM0_A3_PK":"PER","ADM0_A3_DE":"PER","ADM0_A3_GB":"PER","ADM0_A3_BR":"PER","ADM0_A3_IL":"PER","ADM0_A3_PS":"PER","ADM0_A3_SA":"PER","ADM0_A3_EG":"PER","ADM0_A3_MA":"PER","ADM0_A3_PT":"PER","ADM0_A3_AR":"PER","ADM0_A3_JP":"PER","ADM0_A3_KO":"PER","ADM0_A3_VN":"PER","ADM0_A3_TR":"PER","ADM0_A3_ID":"PER","ADM0_A3_PL":"PER","ADM0_A3_GR":"PER","ADM0_A3_IT":"PER","ADM0_A3_NL":"PER","ADM0_A3_SE":"PER","ADM0_A3_BD":"PER","ADM0_A3_UA":"PER","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"South America","REGION_UN":"Americas","SUBREGION":"South America","REGION_WB":"Latin America & Caribbean","NAME_LEN":4,"LONG_LEN":4,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":2,"MAX_LABEL":7,"LABEL_X":-72.90016,"LABEL_Y":-12.976679,"NE_ID":1159321163,"WIKIDATAID":"Q419","NAME_AR":"بيرو","NAME_BN":"পেরু","NAME_DE":"Peru","NAME_EN":"Peru","NAME_ES":"Perú","NAME_FA":"پرو","NAME_FR":"Pérou","NAME_EL":"Περού","NAME_HE":"פרו","NAME_HI":"पेरू","NAME_HU":"Peru","NAME_ID":"Peru","NAME_IT":"Perù","NAME_JA":"ペルー","NAME_KO":"페루","NAME_NL":"Peru","NAME_PL":"Peru","NAME_PT":"Peru","NAME_RU":"Перу","NAME_SV":"Peru","NAME_TR":"Peru","NAME_UK":"Перу","NAME_UR":"پیرو","NAME_VI":"Peru","NAME_ZH":"秘鲁","NAME_ZHT":"秘魯","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[-81.336621,-18.345605,-68.685254,-0.041748],"geometry":{"type":"Polygon","coordinates":[[[-69.965918,-4.235938],[-69.972021,-4.301172],[-70.003955,-4.327246],[-70.05332,-4.333105],[-70.128809,-4.286621],[-70.183984,-4.298145],[-70.23916,-4.301172],[-70.316895,-4.246973],[-70.343652,-4.193652],[-70.404639,-4.150098],[-70.530664,-4.167578],[-70.63457,-4.168652],[-70.721582,-4.158887],[-70.799512,-4.17334],[-70.866016,-4.22959],[-70.915625,-4.295313],[-70.973682,-4.350488],[-71.144238,-4.387207],[-71.23501,-4.388184],[-71.316797,-4.424316],[-71.438281,-4.437598],[-71.521338,-4.469727],[-71.668359,-4.487305],[-71.844727,-4.504395],[-71.943164,-4.55332],[-71.982422,-4.574609],[-72.08252,-4.642285],[-72.256787,-4.748926],[-72.352832,-4.786035],[-72.468994,-4.90127],[-72.60835,-5.00957],[-72.69873,-5.067188],[-72.831934,-5.09375],[-72.887061,-5.122754],[-72.907471,-5.157715],[-72.895801,-5.198242],[-72.918262,-5.302539],[-72.958936,-5.495215],[-72.970215,-5.589648],[-72.979883,-5.634863],[-73.068066,-5.789551],[-73.162891,-5.933398],[-73.209375,-6.028711],[-73.235547,-6.098438],[-73.206494,-6.156445],[-73.167725,-6.260645],[-73.135352,-6.344336],[-73.126318,-6.400879],[-73.137354,-6.46582],[-73.177441,-6.525195],[-73.240332,-6.564063],[-73.325488,-6.574707],[-73.499902,-6.679492],[-73.694531,-6.833789],[-73.758105,-6.905762],[-73.77627,-6.973535],[-73.804639,-7.079883],[-73.793018,-7.135059],[-73.758203,-7.172754],[-73.72334,-7.262793],[-73.72041,-7.309277],[-73.749463,-7.335352],[-73.804639,-7.341211],[-73.854004,-7.349902],[-73.891748,-7.373145],[-73.929443,-7.367285],[-73.964307,-7.378906],[-73.964307,-7.416699],[-73.952686,-7.460254],[-73.958496,-7.506641],[-73.981738,-7.535742],[-74.002051,-7.556055],[-73.981738,-7.585059],[-73.946875,-7.61123],[-73.894629,-7.654785],[-73.82207,-7.738965],[-73.766895,-7.753516],[-73.72041,-7.78252],[-73.7146,-7.829004],[-73.732031,-7.875391],[-73.772705,-7.895703],[-73.775586,-7.936426],[-73.72041,-7.985742],[-73.682666,-8.020605],[-73.644922,-8.072852],[-73.610107,-8.14541],[-73.610107,-8.191895],[-73.572363,-8.249902],[-73.549121,-8.299316],[-73.549121,-8.345801],[-73.488135,-8.392188],[-73.435889,-8.427051],[-73.398145,-8.458984],[-73.3604,-8.479297],[-73.351709,-8.51416],[-73.356738,-8.566992],[-73.302441,-8.654004],[-73.203125,-8.719336],[-73.122559,-8.814063],[-73.070508,-8.882812],[-72.974023,-8.993164],[-72.970361,-9.120117],[-73.089844,-9.265723],[-73.209424,-9.411426],[-73.01377,-9.407422],[-72.814258,-9.410352],[-72.605469,-9.452051],[-72.464746,-9.492188],[-72.379053,-9.510156],[-72.318066,-9.556641],[-72.289014,-9.629199],[-72.26582,-9.688477],[-72.259961,-9.774316],[-72.172852,-9.844043],[-72.179102,-9.910156],[-72.181592,-10.003711],[-72.142969,-10.005176],[-71.887451,-10.005566],[-71.608008,-10.006055],[-71.339404,-9.988574],[-71.237939,-9.966016],[-71.115283,-9.852441],[-71.041748,-9.81875],[-70.970752,-9.765723],[-70.884521,-9.669043],[-70.81626,-9.625293],[-70.758496,-9.57168],[-70.672461,-9.517969],[-70.636914,-9.478223],[-70.60791,-9.463672],[-70.541113,-9.4375],[-70.570166,-9.489844],[-70.592236,-9.543457],[-70.59917,-9.620508],[-70.567236,-9.70459],[-70.593799,-9.76748],[-70.636914,-9.82373],[-70.637598,-9.971777],[-70.638525,-10.181543],[-70.639355,-10.361328],[-70.640332,-10.586035],[-70.641553,-10.84082],[-70.642334,-11.010254],[-70.596533,-10.976855],[-70.533252,-10.946875],[-70.450879,-11.024805],[-70.392285,-11.058594],[-70.341992,-11.066699],[-70.290381,-11.064258],[-70.220068,-11.047656],[-70.066309,-10.982422],[-69.960352,-10.929883],[-69.839795,-10.933398],[-69.674023,-10.954102],[-69.578613,-10.951758],[-69.453613,-11.16875],[-69.362012,-11.327539],[-69.257715,-11.508594],[-69.17373,-11.654297],[-69.046191,-11.875684],[-68.936035,-12.066797],[-68.818701,-12.27041],[-68.685254,-12.501953],[-68.728125,-12.560742],[-68.762891,-12.607715],[-68.759082,-12.687207],[-68.811816,-12.72959],[-68.867676,-12.755176],[-68.93374,-12.82207],[-68.978613,-12.880078],[-68.980518,-12.962598],[-68.972266,-13.382324],[-68.983447,-13.496387],[-69.017529,-13.594434],[-69.052832,-13.643945],[-69.074121,-13.682813],[-69.023047,-13.780273],[-68.974268,-13.975977],[-68.937451,-14.014648],[-68.891699,-14.094336],[-68.870898,-14.169727],[-68.880322,-14.198828],[-68.971777,-14.234375],[-69.004492,-14.265039],[-69.013135,-14.377246],[-69.052783,-14.417578],[-69.119727,-14.470313],[-69.162695,-14.530957],[-69.199268,-14.572559],[-69.234912,-14.59707],[-69.252344,-14.671094],[-69.276025,-14.745898],[-69.359473,-14.795313],[-69.37373,-14.8875],[-69.374707,-14.962988],[-69.330713,-15.038965],[-69.187109,-15.19873],[-69.172461,-15.236621],[-69.254297,-15.33291],[-69.301904,-15.399414],[-69.418506,-15.603418],[-69.420898,-15.640625],[-69.391895,-15.736914],[-69.217578,-16.149121],[-69.187988,-16.182813],[-69.13418,-16.221973],[-69.04624,-16.217676],[-68.913477,-16.261914],[-68.848828,-16.312793],[-68.842773,-16.337891],[-68.857812,-16.354785],[-68.928027,-16.389063],[-69.00625,-16.433691],[-69.03291,-16.475977],[-69.038379,-16.542676],[-69.020703,-16.642188],[-69.054541,-16.674316],[-69.13252,-16.713086],[-69.199805,-16.768457],[-69.267236,-16.860938],[-69.381543,-17.001367],[-69.421094,-17.040039],[-69.43833,-17.088379],[-69.50332,-17.104785],[-69.624854,-17.200195],[-69.645703,-17.248535],[-69.625879,-17.294434],[-69.563818,-17.33291],[-69.521924,-17.388965],[-69.510986,-17.460352],[-69.511084,-17.504883],[-69.510937,-17.506055],[-69.586426,-17.573242],[-69.684766,-17.649805],[-69.806104,-17.664941],[-69.8521,-17.703809],[-69.841504,-17.785156],[-69.802441,-17.9],[-69.802588,-17.990234],[-69.839697,-18.093457],[-69.926367,-18.206055],[-70.059082,-18.283496],[-70.183789,-18.325195],[-70.282275,-18.325391],[-70.37749,-18.333594],[-70.418262,-18.345605],[-70.491602,-18.277734],[-70.81748,-18.052539],[-70.941699,-17.932031],[-71.056592,-17.875684],[-71.336963,-17.68252],[-71.364941,-17.620508],[-71.399414,-17.421973],[-71.435889,-17.366016],[-71.532227,-17.294336],[-71.774463,-17.198828],[-71.868359,-17.151074],[-71.966895,-17.064063],[-72.111279,-17.002539],[-72.268604,-16.876172],[-72.3625,-16.775],[-72.467676,-16.708105],[-72.793945,-16.614551],[-72.957715,-16.520898],[-73.26377,-16.388574],[-73.400049,-16.304297],[-73.727686,-16.20166],[-73.824951,-16.152832],[-74.14707,-15.9125],[-74.3729,-15.833984],[-74.554883,-15.699023],[-75.104248,-15.411914],[-75.190527,-15.320117],[-75.274561,-15.178125],[-75.396582,-15.093555],[-75.533643,-14.899219],[-75.737695,-14.784961],[-75.933887,-14.633594],[-76.006299,-14.495801],[-76.136475,-14.320312],[-76.175146,-14.22666],[-76.289014,-14.133105],[-76.297021,-13.948438],[-76.376465,-13.863086],[-76.319482,-13.821484],[-76.259229,-13.802832],[-76.183936,-13.515234],[-76.223633,-13.371191],[-76.427344,-13.109961],[-76.502148,-12.984375],[-76.555225,-12.823438],[-76.637109,-12.728027],[-76.758008,-12.527148],[-76.832129,-12.34873],[-76.994092,-12.219238],[-77.038135,-12.172754],[-77.062695,-12.106836],[-77.152734,-12.060352],[-77.157617,-11.923438],[-77.220312,-11.663379],[-77.309912,-11.532422],[-77.633203,-11.287793],[-77.638574,-11.193555],[-77.664307,-11.02207],[-77.736084,-10.836719],[-78.095459,-10.260645],[-78.185596,-10.089063],[-78.275586,-9.810352],[-78.356494,-9.652051],[-78.445654,-9.370605],[-78.580127,-9.156641],[-78.6646,-8.971094],[-78.75459,-8.74043],[-78.762256,-8.616992],[-78.925391,-8.40459],[-79.012256,-8.210156],[-79.164404,-8.047168],[-79.312842,-7.923242],[-79.377246,-7.835547],[-79.588867,-7.418945],[-79.617725,-7.295605],[-79.761963,-7.066504],[-79.904687,-6.90166],[-79.994971,-6.768945],[-80.110254,-6.649609],[-80.811621,-6.282227],[-81.058447,-6.129395],[-81.142041,-6.056738],[-81.180518,-5.942383],[-81.164307,-5.875293],[-81.091846,-5.812402],[-80.99165,-5.860938],[-80.930664,-5.84082],[-80.882715,-5.758984],[-80.881934,-5.635059],[-80.943115,-5.475391],[-81.167676,-5.16709],[-81.150732,-5.101855],[-81.108496,-5.027832],[-81.195068,-4.879492],[-81.289404,-4.760742],[-81.336621,-4.669531],[-81.283203,-4.322266],[-81.232031,-4.234277],[-80.891943,-3.881641],[-80.798584,-3.731055],[-80.652734,-3.638184],[-80.503662,-3.496094],[-80.324658,-3.387891],[-80.29834,-3.406445],[-80.273535,-3.424609],[-80.271875,-3.461035],[-80.265234,-3.49248],[-80.24541,-3.522168],[-80.24375,-3.576758],[-80.220605,-3.613184],[-80.218945,-3.654492],[-80.217285,-3.710742],[-80.228857,-3.738867],[-80.217578,-3.787695],[-80.179248,-3.877734],[-80.194141,-3.905859],[-80.230518,-3.924023],[-80.266895,-3.948828],[-80.303271,-4.005078],[-80.357861,-4.003418],[-80.437207,-3.978613],[-80.490137,-4.010059],[-80.51001,-4.069531],[-80.493457,-4.119141],[-80.488477,-4.165527],[-80.45376,-4.205176],[-80.352881,-4.208496],[-80.443848,-4.33584],[-80.488477,-4.393652],[-80.478564,-4.430078],[-80.42417,-4.461426],[-80.383496,-4.463672],[-80.293359,-4.416797],[-80.232178,-4.349023],[-80.197461,-4.311035],[-80.139551,-4.296094],[-80.063525,-4.327539],[-79.962891,-4.390332],[-79.845117,-4.445898],[-79.797266,-4.476367],[-79.710986,-4.467578],[-79.638525,-4.454883],[-79.577686,-4.500586],[-79.516162,-4.53916],[-79.501904,-4.670605],[-79.455762,-4.766211],[-79.399414,-4.840039],[-79.330957,-4.927832],[-79.268115,-4.957617],[-79.18667,-4.958203],[-79.07627,-4.990625],[-79.033301,-4.969141],[-78.995264,-4.908008],[-78.975391,-4.873242],[-78.919189,-4.858398],[-78.914209,-4.818652],[-78.925781,-4.770703],[-78.907617,-4.714453],[-78.861523,-4.665039],[-78.743066,-4.592676],[-78.686035,-4.562402],[-78.674463,-4.517676],[-78.65293,-4.458203],[-78.66123,-4.425098],[-78.685156,-4.383984],[-78.679395,-4.325879],[-78.647998,-4.248145],[-78.603369,-4.157324],[-78.565137,-4.041602],[-78.550439,-3.986914],[-78.509082,-3.952148],[-78.493457,-3.902051],[-78.471045,-3.843066],[-78.419775,-3.776855],[-78.421436,-3.705762],[-78.399951,-3.674316],[-78.398047,-3.594824],[-78.347266,-3.43125],[-78.345361,-3.397363],[-78.323047,-3.388281],[-78.28418,-3.399023],[-78.250732,-3.436133],[-78.240381,-3.472559],[-78.226318,-3.48916],[-78.194873,-3.48584],[-78.158496,-3.465137],[-78.160986,-3.432129],[-78.187451,-3.399805],[-78.194629,-3.380469],[-78.183301,-3.350195],[-78.128223,-3.283887],[-78.06792,-3.206836],[-77.938477,-3.046973],[-77.860596,-2.981641],[-77.658984,-2.912402],[-77.506494,-2.859961],[-77.360059,-2.809668],[-77.161475,-2.737695],[-76.880762,-2.635938],[-76.679102,-2.562598],[-76.499365,-2.432324],[-76.360156,-2.331348],[-76.240918,-2.243945],[-76.089795,-2.133105],[-75.885449,-1.893457],[-75.744531,-1.728125],[-75.64165,-1.607324],[-75.570557,-1.53125],[-75.513867,-1.316309],[-75.44917,-1.071191],[-75.42041,-0.962207],[-75.408057,-0.924316],[-75.380127,-0.940234],[-75.348193,-0.966797],[-75.30918,-0.968066],[-75.272412,-0.966797],[-75.249609,-0.951855],[-75.283594,-0.707129],[-75.278711,-0.653906],[-75.259375,-0.590137],[-75.263232,-0.555371],[-75.325244,-0.506543],[-75.424707,-0.408887],[-75.465967,-0.321777],[-75.491064,-0.24834],[-75.560596,-0.200098],[-75.632031,-0.157617],[-75.62627,-0.122852],[-75.58374,-0.122852],[-75.475977,-0.157129],[-75.398389,-0.145996],[-75.340479,-0.142188],[-75.284473,-0.106543],[-75.224609,-0.041748],[-75.184082,-0.041748],[-75.138379,-0.050488],[-75.054688,-0.116699],[-75.00498,-0.155859],[-74.945312,-0.188184],[-74.888818,-0.199414],[-74.8375,-0.20332],[-74.801758,-0.200098],[-74.780469,-0.244531],[-74.755371,-0.298633],[-74.69165,-0.335254],[-74.616357,-0.37002],[-74.555078,-0.429883],[-74.513867,-0.470117],[-74.465186,-0.517676],[-74.417871,-0.580664],[-74.374902,-0.691406],[-74.353125,-0.766602],[-74.328613,-0.808398],[-74.334424,-0.850879],[-74.283887,-0.927832],[-74.246387,-0.970605],[-74.180762,-0.997754],[-74.054395,-1.028613],[-73.986816,-1.098145],[-73.926953,-1.125195],[-73.863184,-1.19668],[-73.807178,-1.217969],[-73.735742,-1.21416],[-73.664307,-1.248828],[-73.610254,-1.316406],[-73.575488,-1.401367],[-73.521387,-1.449707],[-73.494336,-1.536621],[-73.525244,-1.638867],[-73.496289,-1.693066],[-73.440283,-1.737402],[-73.349512,-1.783887],[-73.266455,-1.772266],[-73.223975,-1.787695],[-73.196973,-1.830273],[-73.181494,-1.880371],[-73.145215,-2.00332],[-73.126514,-2.081055],[-73.160205,-2.156348],[-73.172656,-2.208398],[-73.154492,-2.278223],[-73.068164,-2.312012],[-72.989648,-2.339746],[-72.941113,-2.394043],[-72.887158,-2.408496],[-72.81123,-2.405469],[-72.71416,-2.392188],[-72.660156,-2.361035],[-72.625342,-2.35166],[-72.586719,-2.365137],[-72.500684,-2.39502],[-72.395605,-2.428906],[-72.300732,-2.409277],[-72.218457,-2.400488],[-72.136816,-2.380664],[-72.053809,-2.324609],[-71.984277,-2.326563],[-71.932471,-2.288672],[-71.867285,-2.227734],[-71.802734,-2.166309],[-71.752539,-2.152734],[-71.671484,-2.182129],[-71.559473,-2.224219],[-71.496094,-2.279199],[-71.447461,-2.29375],[-71.396973,-2.334082],[-71.300098,-2.334863],[-71.196387,-2.313086],[-71.113379,-2.24541],[-71.027295,-2.225781],[-70.968555,-2.206836],[-70.914551,-2.218555],[-70.705371,-2.341992],[-70.647998,-2.405762],[-70.575879,-2.418262],[-70.516797,-2.453125],[-70.418213,-2.490723],[-70.36416,-2.529297],[-70.294629,-2.552539],[-70.244434,-2.606543],[-70.164746,-2.639844],[-70.09585,-2.658203],[-70.064746,-2.70166],[-70.064453,-2.730762],[-70.074023,-2.750195],[-70.14707,-2.864063],[-70.290137,-3.087305],[-70.418994,-3.288281],[-70.62168,-3.60459],[-70.735107,-3.781543],[-70.706201,-3.788965],[-70.529687,-3.866406],[-70.48584,-3.869336],[-70.421094,-3.849609],[-70.379199,-3.81875],[-70.339502,-3.814355],[-70.298437,-3.844238],[-70.240283,-3.882715],[-70.198389,-3.995117],[-70.167529,-4.050195],[-70.094775,-4.092188],[-70.017187,-4.162012],[-69.965918,-4.235938]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":4,"SOVEREIGNT":"Paraguay","SOV_A3":"PRY","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Paraguay","ADM0_A3":"PRY","GEOU_DIF":0,"GEOUNIT":"Paraguay","GU_A3":"PRY","SU_DIF":0,"SUBUNIT":"Paraguay","SU_A3":"PRY","BRK_DIFF":0,"NAME":"Paraguay","NAME_LONG":"Paraguay","BRK_A3":"PRY","BRK_NAME":"Paraguay","BRK_GROUP":null,"ABBREV":"Para.","POSTAL":"PY","FORMAL_EN":"Republic of Paraguay","FORMAL_FR":null,"NAME_CIAWF":"Paraguay","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Paraguay","NAME_ALT":null,"MAPCOLOR7":6,"MAPCOLOR8":3,"MAPCOLOR9":6,"MAPCOLOR13":2,"POP_EST":7044636,"POP_RANK":13,"POP_YEAR":2019,"GDP_MD":38145,"GDP_YEAR":2019,"ECONOMY":"5. Emerging region: G20","INCOME_GRP":"4. Lower middle income","FIPS_10":"PA","ISO_A2":"PY","ISO_A2_EH":"PY","ISO_A3":"PRY","ISO_A3_EH":"PRY","ISO_N3":"600","ISO_N3_EH":"600","UN_A3":"600","WB_A2":"PY","WB_A3":"PRY","WOE_ID":23424917,"WOE_ID_EH":23424917,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"PRY","ADM0_DIFF":null,"ADM0_TLC":"PRY","ADM0_A3_US":"PRY","ADM0_A3_FR":"PRY","ADM0_A3_RU":"PRY","ADM0_A3_ES":"PRY","ADM0_A3_CN":"PRY","ADM0_A3_TW":"PRY","ADM0_A3_IN":"PRY","ADM0_A3_NP":"PRY","ADM0_A3_PK":"PRY","ADM0_A3_DE":"PRY","ADM0_A3_GB":"PRY","ADM0_A3_BR":"PRY","ADM0_A3_IL":"PRY","ADM0_A3_PS":"PRY","ADM0_A3_SA":"PRY","ADM0_A3_EG":"PRY","ADM0_A3_MA":"PRY","ADM0_A3_PT":"PRY","ADM0_A3_AR":"PRY","ADM0_A3_JP":"PRY","ADM0_A3_KO":"PRY","ADM0_A3_VN":"PRY","ADM0_A3_TR":"PRY","ADM0_A3_ID":"PRY","ADM0_A3_PL":"PRY","ADM0_A3_GR":"PRY","ADM0_A3_IT":"PRY","ADM0_A3_NL":"PRY","ADM0_A3_SE":"PRY","ADM0_A3_BD":"PRY","ADM0_A3_UA":"PRY","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"South America","REGION_UN":"Americas","SUBREGION":"South America","REGION_WB":"Latin America & Caribbean","NAME_LEN":8,"LONG_LEN":8,"ABBREV_LEN":5,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":3,"MAX_LABEL":8,"LABEL_X":-60.146394,"LABEL_Y":-21.674509,"NE_ID":1159321195,"WIKIDATAID":"Q733","NAME_AR":"باراغواي","NAME_BN":"প্যারাগুয়ে","NAME_DE":"Paraguay","NAME_EN":"Paraguay","NAME_ES":"Paraguay","NAME_FA":"پاراگوئه","NAME_FR":"Paraguay","NAME_EL":"Παραγουάη","NAME_HE":"פרגוואי","NAME_HI":"पैराग्वे","NAME_HU":"Paraguay","NAME_ID":"Paraguay","NAME_IT":"Paraguay","NAME_JA":"パラグアイ","NAME_KO":"파라과이","NAME_NL":"Paraguay","NAME_PL":"Paragwaj","NAME_PT":"Paraguai","NAME_RU":"Парагвай","NAME_SV":"Paraguay","NAME_TR":"Paraguay","NAME_UK":"Парагвай","NAME_UR":"پیراگوئے","NAME_VI":"Paraguay","NAME_ZH":"巴拉圭","NAME_ZHT":"巴拉圭","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[-62.650977,-27.553809,-54.241797,-19.28623],"geometry":{"type":"Polygon","coordinates":[[[-58.159766,-20.164648],[-58.137793,-20.237305],[-58.124609,-20.293457],[-58.091504,-20.333203],[-58.058447,-20.386133],[-58.025391,-20.41582],[-58.002246,-20.46543],[-58.008838,-20.52168],[-57.995605,-20.594434],[-57.979053,-20.657324],[-57.9625,-20.673828],[-57.915137,-20.690332],[-57.891406,-20.747461],[-57.908496,-20.776367],[-57.901904,-20.809375],[-57.884814,-20.841699],[-57.900488,-20.873047],[-57.892236,-20.89707],[-57.86001,-20.918555],[-57.830225,-20.997949],[-57.826953,-21.133594],[-57.86001,-21.20625],[-57.886475,-21.26582],[-57.893066,-21.302246],[-57.873242,-21.355078],[-57.906299,-21.417969],[-57.945996,-21.494043],[-57.936084,-21.546973],[-57.929443,-21.596582],[-57.926172,-21.649512],[-57.916211,-21.699121],[-57.929443,-21.751953],[-57.942676,-21.79834],[-57.949316,-21.851172],[-57.932764,-21.910742],[-57.9625,-21.966992],[-57.979053,-22.006641],[-57.985693,-22.046387],[-57.955908,-22.10918],[-57.879834,-22.135645],[-57.820312,-22.142285],[-57.764062,-22.10918],[-57.721094,-22.099219],[-57.641699,-22.129004],[-57.568945,-22.181934],[-57.476367,-22.188574],[-57.393652,-22.198438],[-57.330859,-22.215039],[-57.238232,-22.195215],[-57.142334,-22.215039],[-57.029883,-22.244824],[-56.937256,-22.271289],[-56.844678,-22.264648],[-56.775195,-22.261328],[-56.702441,-22.231543],[-56.633008,-22.234863],[-56.580078,-22.181934],[-56.550293,-22.135645],[-56.523828,-22.102539],[-56.447803,-22.076172],[-56.394873,-22.092676],[-56.351855,-22.178613],[-56.275781,-22.228223],[-56.246045,-22.264648],[-56.189844,-22.281152],[-56.06748,-22.284473],[-55.991406,-22.281152],[-55.905371,-22.307617],[-55.84917,-22.307617],[-55.799561,-22.353906],[-55.753271,-22.410156],[-55.746631,-22.512695],[-55.703662,-22.59209],[-55.647412,-22.621875],[-55.617676,-22.671484],[-55.627588,-22.740918],[-55.654053,-22.810352],[-55.650732,-22.886426],[-55.620996,-22.955859],[-55.620996,-23.025293],[-55.601123,-23.094727],[-55.561426,-23.154297],[-55.548193,-23.250195],[-55.554834,-23.319629],[-55.528369,-23.359375],[-55.518457,-23.415625],[-55.534961,-23.461914],[-55.541602,-23.524707],[-55.538281,-23.580957],[-55.518457,-23.627246],[-55.458887,-23.686719],[-55.442383,-23.792578],[-55.442383,-23.865332],[-55.415918,-23.951367],[-55.366309,-23.991016],[-55.286914,-24.004297],[-55.194336,-24.01748],[-55.081885,-23.997656],[-54.982666,-23.974512],[-54.926465,-23.951367],[-54.817285,-23.888477],[-54.721387,-23.852148],[-54.671777,-23.829004],[-54.625488,-23.8125],[-54.52959,-23.852148],[-54.440234,-23.901758],[-54.370801,-23.971191],[-54.241797,-24.047266],[-54.266895,-24.06582],[-54.318262,-24.128125],[-54.317285,-24.20127],[-54.281006,-24.306055],[-54.312939,-24.528125],[-54.412988,-24.86748],[-54.454102,-25.065234],[-54.43623,-25.121289],[-54.473145,-25.220215],[-54.610547,-25.432715],[-54.615869,-25.576074],[-54.631934,-26.005762],[-54.677734,-26.308789],[-54.755078,-26.53291],[-54.825488,-26.652246],[-54.888916,-26.666797],[-54.934473,-26.702539],[-54.962158,-26.759375],[-55.013623,-26.806641],[-55.088867,-26.844531],[-55.129639,-26.886035],[-55.135937,-26.931152],[-55.208008,-26.960156],[-55.345801,-26.973145],[-55.42666,-27.009277],[-55.450635,-27.068359],[-55.496729,-27.115332],[-55.564893,-27.15],[-55.597266,-27.207617],[-55.593799,-27.288086],[-55.63291,-27.357129],[-55.714648,-27.414844],[-55.78999,-27.416406],[-55.859033,-27.361914],[-55.951465,-27.325684],[-56.067334,-27.307715],[-56.164062,-27.321484],[-56.241699,-27.366797],[-56.310547,-27.43877],[-56.370508,-27.537402],[-56.437158,-27.553809],[-56.510547,-27.487891],[-56.603369,-27.467871],[-56.715723,-27.49375],[-56.805176,-27.484668],[-56.871729,-27.440625],[-56.973975,-27.435742],[-57.111816,-27.470117],[-57.39126,-27.430469],[-57.812207,-27.316602],[-58.168262,-27.273438],[-58.604834,-27.314355],[-58.641748,-27.196094],[-58.618604,-27.132129],[-58.547705,-27.083984],[-58.503223,-27.029492],[-58.485254,-26.968457],[-58.436328,-26.921973],[-58.356445,-26.890039],[-58.322559,-26.857617],[-58.334668,-26.824902],[-58.317676,-26.795898],[-58.27168,-26.770703],[-58.245557,-26.731055],[-58.239355,-26.676855],[-58.22207,-26.65],[-58.191309,-26.62998],[-58.187939,-26.592578],[-58.205176,-26.476562],[-58.203027,-26.381445],[-58.181494,-26.307422],[-58.154687,-26.262598],[-58.135645,-26.251465],[-58.118066,-26.224902],[-58.111133,-26.180176],[-58.082422,-26.138574],[-57.943115,-26.05293],[-57.890625,-26.006543],[-57.88623,-25.964258],[-57.865234,-25.906934],[-57.782471,-25.783691],[-57.75708,-25.725977],[-57.754785,-25.69707],[-57.725488,-25.667188],[-57.62583,-25.59873],[-57.57168,-25.53418],[-57.563135,-25.47373],[-57.587158,-25.405078],[-57.643896,-25.328418],[-57.82168,-25.136426],[-57.959814,-25.049219],[-58.136475,-24.977148],[-58.252783,-24.953809],[-58.308691,-24.979102],[-58.365381,-24.959277],[-58.422803,-24.894141],[-58.519629,-24.842871],[-58.724023,-24.786621],[-59.187256,-24.562305],[-59.372949,-24.453906],[-59.4354,-24.387012],[-59.608594,-24.266797],[-59.89248,-24.093555],[-60.110303,-24.00918],[-60.262207,-24.013965],[-60.505371,-23.963574],[-60.839844,-23.858105],[-61.03291,-23.755664],[-61.084717,-23.656445],[-61.208398,-23.557031],[-61.403955,-23.45752],[-61.505518,-23.391992],[-61.513037,-23.360449],[-61.570996,-23.319434],[-61.679492,-23.26875],[-61.798535,-23.182031],[-61.928027,-23.059277],[-62.066602,-22.869434],[-62.21416,-22.612402],[-62.37251,-22.43916],[-62.541553,-22.349609],[-62.625977,-22.29043],[-62.625684,-22.261523],[-62.650977,-22.233691],[-62.628516,-22.183984],[-62.566943,-21.988672],[-62.477832,-21.705273],[-62.385449,-21.411719],[-62.27666,-21.066016],[-62.276514,-20.820801],[-62.276318,-20.5625],[-62.121631,-20.349902],[-62.011816,-20.199023],[-61.916943,-20.055371],[-61.820898,-19.809473],[-61.756836,-19.645313],[-61.511816,-19.606445],[-61.095996,-19.520996],[-60.88877,-19.478516],[-60.451611,-19.38877],[-60.007373,-19.297559],[-59.540869,-19.291797],[-59.090527,-19.28623],[-58.741113,-19.490234],[-58.474219,-19.646094],[-58.180176,-19.817871],[-58.160059,-19.854883],[-58.139941,-19.998828],[-58.159766,-20.164648]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":2,"SOVEREIGNT":"Papua New Guinea","SOV_A3":"PNG","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Papua New Guinea","ADM0_A3":"PNG","GEOU_DIF":0,"GEOUNIT":"Papua New Guinea","GU_A3":"PNG","SU_DIF":1,"SUBUNIT":"Papua New Guinea","SU_A3":"PN1","BRK_DIFF":0,"NAME":"Papua New Guinea","NAME_LONG":"Papua New Guinea","BRK_A3":"PN1","BRK_NAME":"Papua New Guinea","BRK_GROUP":null,"ABBREV":"P.N.G.","POSTAL":"PG","FORMAL_EN":"Independent State of Papua New Guinea","FORMAL_FR":null,"NAME_CIAWF":"Papua New Guinea","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Papua New Guinea","NAME_ALT":null,"MAPCOLOR7":4,"MAPCOLOR8":2,"MAPCOLOR9":3,"MAPCOLOR13":1,"POP_EST":8776109,"POP_RANK":13,"POP_YEAR":2019,"GDP_MD":24829,"GDP_YEAR":2019,"ECONOMY":"6. Developing region","INCOME_GRP":"4. Lower middle income","FIPS_10":"PP","ISO_A2":"PG","ISO_A2_EH":"PG","ISO_A3":"PNG","ISO_A3_EH":"PNG","ISO_N3":"598","ISO_N3_EH":"598","UN_A3":"598","WB_A2":"PG","WB_A3":"PNG","WOE_ID":23424926,"WOE_ID_EH":23424926,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"PN1","ADM0_DIFF":null,"ADM0_TLC":"PN1","ADM0_A3_US":"PNG","ADM0_A3_FR":"PNG","ADM0_A3_RU":"PNG","ADM0_A3_ES":"PNG","ADM0_A3_CN":"PNG","ADM0_A3_TW":"PNG","ADM0_A3_IN":"PNG","ADM0_A3_NP":"PNG","ADM0_A3_PK":"PNG","ADM0_A3_DE":"PNG","ADM0_A3_GB":"PNG","ADM0_A3_BR":"PNG","ADM0_A3_IL":"PNG","ADM0_A3_PS":"PNG","ADM0_A3_SA":"PNG","ADM0_A3_EG":"PNG","ADM0_A3_MA":"PNG","ADM0_A3_PT":"PNG","ADM0_A3_AR":"PNG","ADM0_A3_JP":"PNG","ADM0_A3_KO":"PNG","ADM0_A3_VN":"PNG","ADM0_A3_TR":"PNG","ADM0_A3_ID":"PNG","ADM0_A3_PL":"PNG","ADM0_A3_GR":"PNG","ADM0_A3_IT":"PNG","ADM0_A3_NL":"PNG","ADM0_A3_SE":"PNG","ADM0_A3_BD":"PNG","ADM0_A3_UA":"PNG","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Oceania","REGION_UN":"Oceania","SUBREGION":"Melanesia","REGION_WB":"East Asia & Pacific","NAME_LEN":16,"LONG_LEN":16,"ABBREV_LEN":6,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":2.5,"MAX_LABEL":7.5,"LABEL_X":143.910216,"LABEL_Y":-5.695285,"NE_ID":1159321173,"WIKIDATAID":"Q691","NAME_AR":"بابوا غينيا الجديدة","NAME_BN":"পাপুয়া নিউগিনি","NAME_DE":"Papua-Neuguinea","NAME_EN":"Papua New Guinea","NAME_ES":"Papúa Nueva Guinea","NAME_FA":"پاپوآ گینه نو","NAME_FR":"Papouasie-Nouvelle-Guinée","NAME_EL":"Παπούα Νέα Γουινέα","NAME_HE":"פפואה גינאה החדשה","NAME_HI":"पापुआ न्यू गिनी","NAME_HU":"Pápua Új-Guinea","NAME_ID":"Papua Nugini","NAME_IT":"Papua Nuova Guinea","NAME_JA":"パプアニューギニア","NAME_KO":"파푸아뉴기니","NAME_NL":"Papoea-Nieuw-Guinea","NAME_PL":"Papua-Nowa Gwinea","NAME_PT":"Papua-Nova Guiné","NAME_RU":"Папуа — Новая Гвинея","NAME_SV":"Papua Nya Guinea","NAME_TR":"Papua Yeni Gine","NAME_UK":"Папуа Нова Гвінея","NAME_UR":"پاپوا نیو گنی","NAME_VI":"Papua New Guinea","NAME_ZH":"巴布亚新几内亚","NAME_ZHT":"巴布亞紐幾內亞","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[140.862305,-11.630566,155.957617,-1.353223],"geometry":{"type":"MultiPolygon","coordinates":[[[[152.96582,-4.756348],[152.891699,-4.832422],[152.845605,-4.761523],[152.786523,-4.699414],[152.739941,-4.63584],[152.680664,-4.498438],[152.677734,-4.429199],[152.693359,-4.355957],[152.696777,-4.282031],[152.668164,-4.131836],[152.598438,-3.994824],[152.355762,-3.668164],[152.279395,-3.582422],[152.192188,-3.505859],[152.136328,-3.487109],[152.023242,-3.46875],[151.972949,-3.453418],[151.879785,-3.400098],[151.793164,-3.337891],[151.578516,-3.153516],[151.465039,-3.101367],[151.405078,-3.036914],[151.066797,-2.829004],[150.968066,-2.779883],[150.847852,-2.779785],[150.746094,-2.738867],[150.826465,-2.712891],[150.842969,-2.643555],[150.825391,-2.572949],[150.995313,-2.688281],[151.174609,-2.789062],[151.226465,-2.870313],[151.314746,-2.875293],[151.475391,-2.94248],[151.585742,-3.003027],[151.689844,-3.072852],[151.807129,-3.172852],[152.03291,-3.251367],[152.065039,-3.279883],[152.179395,-3.410352],[152.329492,-3.520996],[152.380469,-3.581934],[153.016797,-4.105664],[153.124219,-4.252344],[153.13252,-4.352441],[153.111523,-4.391699],[153.044336,-4.476367],[153.045605,-4.576367],[153.023242,-4.666309],[152.96582,-4.756348]]],[[[151.915625,-4.296777],[151.967578,-4.316992],[152.117188,-4.212207],[152.197266,-4.285156],[152.299414,-4.320703],[152.405664,-4.340723],[152.363574,-4.49082],[152.376074,-4.560254],[152.403516,-4.629297],[152.4,-4.73125],[152.351172,-4.822168],[152.257617,-4.954688],[152.215723,-4.979199],[152.166602,-4.993164],[152.013281,-5.003809],[151.983691,-5.074414],[151.993945,-5.149023],[152.076855,-5.24707],[152.142969,-5.357031],[152.077051,-5.458301],[151.968457,-5.528809],[151.86543,-5.564844],[151.694922,-5.543555],[151.515137,-5.552344],[151.481445,-5.590918],[151.480469,-5.65459],[151.455176,-5.703125],[151.422461,-5.747363],[151.33125,-5.839063],[151.229297,-5.919922],[151.090039,-5.99668],[151.043164,-6.015039],[150.919922,-6.027246],[150.808984,-6.071387],[150.75957,-6.114453],[150.705762,-6.149414],[150.588086,-6.187793],[150.473535,-6.263379],[150.42832,-6.276172],[150.19082,-6.289355],[149.850977,-6.292969],[149.750293,-6.300879],[149.652539,-6.29043],[149.598438,-6.260938],[149.483008,-6.124805],[149.382324,-6.078125],[149.272656,-6.079492],[149.126563,-6.127637],[149.099023,-6.116992],[148.80752,-5.916406],[148.719141,-5.867383],[148.624805,-5.830762],[148.509766,-5.805371],[148.401172,-5.765039],[148.337207,-5.669434],[148.344727,-5.544922],[148.432031,-5.471777],[148.564941,-5.50791],[148.61582,-5.507422],[148.66582,-5.486621],[148.724316,-5.493262],[148.783496,-5.511621],[148.999219,-5.48457],[149.124023,-5.522656],[149.245313,-5.573047],[149.358887,-5.583984],[149.475391,-5.573242],[149.631738,-5.516016],[149.681055,-5.523535],[149.831445,-5.524121],[149.962793,-5.447754],[150.011914,-5.139551],[150.045313,-5.034668],[150.090039,-5.011816],[150.122266,-5.018164],[150.170313,-5.070605],[150.108691,-5.136035],[150.081543,-5.186426],[150.072461,-5.30957],[150.10625,-5.429004],[150.183105,-5.523633],[150.29873,-5.535645],[150.404395,-5.473145],[150.519434,-5.460254],[150.625781,-5.520898],[150.734473,-5.510449],[150.784375,-5.470898],[150.842578,-5.453711],[150.900293,-5.447168],[150.95293,-5.42373],[151.022266,-5.320703],[151.068848,-5.204492],[151.137793,-5.112891],[151.326563,-4.960352],[151.380957,-4.941309],[151.439844,-4.930957],[151.572559,-4.9375],[151.671191,-4.883301],[151.678906,-4.761035],[151.664648,-4.637012],[151.551953,-4.345508],[151.544238,-4.299219],[151.560547,-4.247363],[151.593066,-4.200781],[151.703711,-4.2],[151.819336,-4.216992],[151.864746,-4.26084],[151.915625,-4.296777]]],[[[140.976172,-9.11875],[140.975977,-9.105566],[140.975977,-8.902246],[140.975879,-8.698926],[140.975781,-8.495703],[140.975684,-8.292383],[140.975586,-8.089063],[140.975586,-7.885742],[140.975488,-7.68252],[140.975391,-7.479199],[140.975293,-7.275879],[140.975195,-7.072559],[140.975195,-6.905371],[140.919531,-6.840039],[140.862305,-6.740039],[140.874609,-6.611523],[140.944043,-6.452246],[140.975,-6.346094],[140.975,-6.259375],[140.974902,-6.056152],[140.974805,-5.852832],[140.974707,-5.649512],[140.974609,-5.446191],[140.974609,-5.242969],[140.974512,-5.039648],[140.974414,-4.836328],[140.974316,-4.633008],[140.974219,-4.429785],[140.974219,-4.226465],[140.974023,-4.023145],[140.974023,-3.819824],[140.973926,-3.616602],[140.973828,-3.413281],[140.97373,-3.209961],[140.973633,-3.006641],[140.973535,-2.803418],[140.973438,-2.681055],[140.973438,-2.613574],[140.973438,-2.609766],[141.00332,-2.610156],[141.104785,-2.611328],[141.185645,-2.627832],[141.686816,-2.84502],[141.836523,-2.932129],[141.8875,-2.952539],[141.937793,-2.95332],[141.985742,-2.963574],[142.211523,-3.083496],[142.549023,-3.20459],[142.905176,-3.320703],[143.015625,-3.344922],[143.12998,-3.355078],[143.37832,-3.395313],[143.508984,-3.431152],[143.700586,-3.57334],[143.797168,-3.617285],[143.887695,-3.697461],[144.01582,-3.783594],[144.066406,-3.805176],[144.121973,-3.815234],[144.247949,-3.818262],[144.374414,-3.802734],[144.426563,-3.809668],[144.477734,-3.825293],[144.524512,-3.855273],[144.548242,-3.913086],[144.62666,-3.993066],[144.737891,-4.029102],[144.843457,-4.101465],[144.938477,-4.188184],[145.008398,-4.275488],[145.087793,-4.349121],[145.208008,-4.380273],[145.33457,-4.385254],[145.766992,-4.823047],[145.788086,-4.890625],[145.792871,-5.17793],[145.745215,-5.402441],[145.852832,-5.471289],[145.999414,-5.49707],[146.205371,-5.545117],[146.403418,-5.616602],[147.034277,-5.919238],[147.120898,-5.94502],[147.248242,-5.954785],[147.37666,-5.950781],[147.422754,-5.966211],[147.518555,-6.021094],[147.566699,-6.056934],[147.653027,-6.154785],[147.730078,-6.261133],[147.762891,-6.291504],[147.802051,-6.315234],[147.824512,-6.373047],[147.854492,-6.551172],[147.845508,-6.662402],[147.810449,-6.703613],[147.70957,-6.723633],[147.355762,-6.742383],[147.119141,-6.72168],[146.953613,-6.834082],[146.949219,-6.883105],[146.960742,-6.928809],[147.104883,-7.166992],[147.190039,-7.378125],[147.260156,-7.464063],[147.365332,-7.533789],[147.458984,-7.616211],[147.545117,-7.710938],[147.724316,-7.87627],[147.821875,-7.9375],[147.936133,-7.975391],[148.126758,-8.103613],[148.151953,-8.160254],[148.206445,-8.338672],[148.22998,-8.459668],[148.233594,-8.50957],[148.246875,-8.554297],[148.414453,-8.663965],[148.451172,-8.694531],[148.525879,-8.938574],[148.583105,-9.051758],[148.679492,-9.091992],[148.791797,-9.089453],[149.097461,-9.016895],[149.141699,-9.014551],[149.19834,-9.03125],[149.247656,-9.070996],[149.264063,-9.180762],[149.216211,-9.295898],[149.203027,-9.406836],[149.263184,-9.497852],[149.41875,-9.568848],[149.475781,-9.588281],[149.755762,-9.610938],[149.865625,-9.630078],[149.973535,-9.660742],[150.011035,-9.688184],[149.984668,-9.737012],[149.928223,-9.76084],[149.864355,-9.770605],[149.76123,-9.805859],[149.763086,-9.868652],[149.821289,-9.93418],[149.874414,-10.012988],[149.919141,-10.041602],[149.967578,-10.060742],[150.088574,-10.088086],[150.20625,-10.125586],[150.283887,-10.162891],[150.364063,-10.189648],[150.538867,-10.206738],[150.666992,-10.257129],[150.849512,-10.236035],[150.691309,-10.317871],[150.636816,-10.337988],[150.446094,-10.307324],[150.410254,-10.339258],[150.488867,-10.425781],[150.605469,-10.484082],[150.647168,-10.517969],[150.617969,-10.557617],[150.482422,-10.636914],[150.425781,-10.648535],[150.319922,-10.654883],[150.142383,-10.620703],[150.016797,-10.577148],[149.981543,-10.517676],[149.948047,-10.482617],[149.834766,-10.398828],[149.754102,-10.353027],[149.651367,-10.3375],[149.544336,-10.338477],[149.352637,-10.289746],[148.936816,-10.255176],[148.837695,-10.233984],[148.712891,-10.166895],[148.654199,-10.157324],[148.591211,-10.178418],[148.430566,-10.191406],[148.383398,-10.185449],[148.26875,-10.128223],[148.150488,-10.107324],[148.10127,-10.124512],[148.051367,-10.12832],[147.890137,-10.087402],[147.768652,-10.070117],[147.668848,-10.013086],[147.614355,-9.959766],[147.553125,-9.912402],[147.496484,-9.79043],[147.408301,-9.674707],[147.298926,-9.57959],[147.064453,-9.426074],[147.017188,-9.387891],[146.925391,-9.247168],[146.930371,-9.153906],[146.96377,-9.05957],[146.913281,-9.091699],[146.85625,-9.087695],[146.696582,-9.025391],[146.630859,-8.951172],[146.524121,-8.749707],[146.455859,-8.643555],[146.296484,-8.455566],[146.250586,-8.343945],[146.184082,-8.246387],[146.142969,-8.210254],[146.108789,-8.168457],[146.078516,-8.11416],[146.033203,-8.076367],[145.810938,-7.992773],[145.771777,-7.966406],[145.728711,-7.952441],[145.563379,-7.943848],[145.467773,-7.930078],[145.2875,-7.861621],[145.194336,-7.841113],[145.082324,-7.828125],[144.973828,-7.802148],[144.920898,-7.77666],[144.885352,-7.733594],[144.864258,-7.631543],[144.773438,-7.64248],[144.684375,-7.624805],[144.597949,-7.588965],[144.509863,-7.567383],[144.449707,-7.598145],[144.43125,-7.679395],[144.403418,-7.683594],[144.351855,-7.666992],[144.326172,-7.676758],[144.270215,-7.714258],[144.225391,-7.764941],[144.142871,-7.757227],[143.973633,-7.705957],[143.898242,-7.673828],[143.83418,-7.615918],[143.779102,-7.550098],[143.72334,-7.498242],[143.654883,-7.460352],[143.74209,-7.549805],[143.942285,-7.944238],[143.892188,-7.951855],[143.840625,-7.941895],[143.887988,-8.017676],[143.833398,-8.029102],[143.779297,-8.028223],[143.665039,-7.995508],[143.551563,-7.984668],[143.518164,-8.000684],[143.542188,-8.029102],[143.582031,-8.112695],[143.61377,-8.200391],[143.45,-8.239844],[143.282031,-8.263867],[143.094922,-8.31123],[142.905469,-8.314453],[142.808301,-8.2875],[142.708594,-8.272266],[142.615039,-8.2875],[142.524121,-8.32168],[142.447559,-8.316211],[142.399219,-8.254688],[142.376465,-8.208008],[142.347461,-8.16748],[142.275879,-8.173926],[142.206836,-8.195801],[142.325098,-8.19834],[142.360547,-8.25],[142.391016,-8.312695],[142.474805,-8.369434],[142.575977,-8.335645],[142.797949,-8.34502],[143.013672,-8.443848],[143.064844,-8.455176],[143.111816,-8.474512],[143.222949,-8.572168],[143.306738,-8.660938],[143.377246,-8.762207],[143.392188,-8.801855],[143.3875,-8.908203],[143.366211,-8.961035],[143.226855,-9.035938],[143.078223,-9.09248],[142.85918,-9.202637],[142.647168,-9.327832],[142.535742,-9.30332],[142.435254,-9.237012],[142.396289,-9.219043],[142.292773,-9.18291],[142.22959,-9.169922],[141.978906,-9.198145],[141.727344,-9.212598],[141.621582,-9.211328],[141.51875,-9.190137],[141.405664,-9.150684],[141.293652,-9.168164],[141.216992,-9.214453],[141.133203,-9.221289],[140.976172,-9.11875]]],[[[148.025781,-5.826367],[147.985449,-5.833984],[147.967969,-5.788574],[147.874512,-5.749219],[147.781055,-5.627246],[147.78252,-5.522461],[147.794629,-5.492383],[147.846484,-5.49082],[148.054785,-5.611523],[148.076074,-5.650195],[148.060449,-5.764648],[148.025781,-5.826367]]],[[[146.019336,-4.726172],[145.952344,-4.755762],[145.904004,-4.733008],[145.883594,-4.66748],[145.900195,-4.604199],[145.958789,-4.554297],[145.995801,-4.539258],[146.037402,-4.573145],[146.053418,-4.640137],[146.019336,-4.726172]]],[[[152.670605,-3.133398],[152.646191,-3.221191],[152.585059,-3.169824],[152.543262,-3.095605],[152.569922,-3.0625],[152.63877,-3.042773],[152.670605,-3.133398]]],[[[152.099219,-2.947363],[152.088477,-2.997852],[152.057324,-2.994922],[151.971094,-2.896094],[151.95459,-2.870508],[151.974707,-2.845605],[152.074609,-2.918457],[152.099219,-2.947363]]],[[[149.76543,-1.553027],[149.763184,-1.58916],[149.690918,-1.570898],[149.671094,-1.57627],[149.545898,-1.47168],[149.547852,-1.407715],[149.580957,-1.353223],[149.633008,-1.362012],[149.725293,-1.430664],[149.76543,-1.553027]]],[[[151.080957,-10.020117],[151.123438,-10.020215],[151.194336,-9.945508],[151.255664,-9.922656],[151.296484,-9.956738],[151.230859,-10.194727],[151.175488,-10.158887],[150.95918,-10.092578],[150.952441,-9.998438],[150.896094,-9.968066],[150.861328,-9.876172],[150.789648,-9.774316],[150.776074,-9.709082],[150.816699,-9.735938],[150.862305,-9.802441],[151.051465,-9.938965],[151.044141,-9.983105],[151.080957,-10.020117]]],[[[150.34541,-9.493848],[150.331348,-9.518555],[150.272852,-9.500391],[150.109766,-9.361914],[150.134961,-9.25957],[150.208301,-9.206348],[150.320117,-9.26416],[150.357031,-9.349023],[150.368164,-9.396484],[150.34541,-9.493848]]],[[[151.106836,-8.733496],[151.124121,-8.804883],[151.046191,-8.72832],[151.080762,-8.641797],[151.086816,-8.59502],[151.082813,-8.568652],[151.00498,-8.523828],[151.046289,-8.450586],[151.090137,-8.425977],[151.117578,-8.418848],[151.116406,-8.521875],[151.138574,-8.568066],[151.106836,-8.733496]]],[[[154.280762,-11.361426],[154.266016,-11.415918],[154.22959,-11.397461],[154.121191,-11.425684],[154.064063,-11.419336],[154.031152,-11.370508],[154.023438,-11.347949],[154.117676,-11.365527],[154.101758,-11.311426],[154.237891,-11.338867],[154.280762,-11.361426]]],[[[143.586816,-8.481738],[143.543164,-8.484766],[143.366895,-8.416895],[143.321875,-8.367578],[143.528223,-8.378516],[143.581445,-8.390918],[143.592578,-8.459961],[143.586816,-8.481738]]],[[[147.17627,-5.431934],[147.120215,-5.437402],[147.029004,-5.342383],[147.005859,-5.307031],[147.014746,-5.257422],[147.131055,-5.19082],[147.206348,-5.251563],[147.221875,-5.381543],[147.17627,-5.431934]]],[[[147.067578,-1.960156],[147.400586,-2.025098],[147.422559,-2.024316],[147.41875,-2.001074],[147.424414,-1.994531],[147.444141,-2.011523],[147.438086,-2.058984],[147.385449,-2.070605],[147.336523,-2.066016],[147.301367,-2.09043],[147.206348,-2.181934],[147.142188,-2.166602],[147.063867,-2.187109],[146.926367,-2.189063],[146.747852,-2.148828],[146.699121,-2.182715],[146.635449,-2.17334],[146.572461,-2.210449],[146.546484,-2.208594],[146.531348,-2.154102],[146.532422,-2.126172],[146.607031,-2.102539],[146.595898,-2.016895],[146.65625,-1.974023],[146.760059,-1.977734],[146.857129,-1.948535],[147.067578,-1.960156]]],[[[150.436621,-2.661816],[150.2375,-2.675488],[150.165723,-2.660254],[150.101562,-2.602539],[150.043457,-2.5125],[149.985156,-2.491504],[149.961621,-2.473828],[150.102539,-2.40498],[150.227148,-2.38418],[150.429492,-2.47041],[150.45,-2.513281],[150.451563,-2.541113],[150.446094,-2.632324],[150.436621,-2.661816]]],[[[150.528418,-9.346582],[150.669043,-9.428516],[150.746484,-9.404492],[150.788672,-9.417969],[150.879102,-9.512695],[150.884082,-9.581934],[150.898633,-9.641406],[150.894043,-9.66748],[150.844043,-9.702832],[150.848242,-9.662598],[150.809961,-9.654785],[150.67832,-9.656543],[150.57627,-9.631152],[150.43623,-9.624609],[150.495313,-9.561719],[150.508496,-9.536133],[150.434668,-9.434961],[150.431445,-9.386621],[150.437305,-9.359961],[150.498926,-9.345605],[150.528418,-9.346582]]],[[[152.630957,-8.959375],[152.689258,-8.974609],[152.810059,-8.967188],[152.849805,-9.024512],[152.905078,-9.044238],[152.95293,-9.070117],[152.995313,-9.107813],[152.99502,-9.130762],[152.984961,-9.150781],[152.959277,-9.168652],[152.966895,-9.208984],[152.922754,-9.203027],[152.86748,-9.224316],[152.759473,-9.177148],[152.720117,-9.166504],[152.708203,-9.126074],[152.638086,-9.058398],[152.515137,-9.009863],[152.577051,-8.97002],[152.630957,-8.959375]]],[[[153.536133,-11.476172],[153.703223,-11.528516],[153.759863,-11.586328],[153.699512,-11.612598],[153.553711,-11.630566],[153.519238,-11.595215],[153.379004,-11.55957],[153.357031,-11.49502],[153.286816,-11.516992],[153.322363,-11.471484],[153.234473,-11.420313],[153.207031,-11.351855],[153.203613,-11.324121],[153.306738,-11.356348],[153.536133,-11.476172]]],[[[143.590332,-8.633398],[143.608203,-8.677148],[143.462793,-8.61709],[143.324121,-8.516797],[143.253809,-8.489551],[143.206836,-8.423438],[143.293066,-8.472754],[143.443359,-8.518945],[143.590332,-8.633398]]],[[[147.876953,-2.283105],[147.844531,-2.335742],[147.768945,-2.33125],[147.735547,-2.315527],[147.790234,-2.305566],[147.812207,-2.262109],[147.83584,-2.246777],[147.876953,-2.283105]]],[[[151.957227,-2.830176],[151.933398,-2.830371],[151.929785,-2.750586],[151.946387,-2.708594],[152.001953,-2.737793],[152.011328,-2.80918],[151.957227,-2.830176]]],[[[150.89873,-10.565332],[150.884668,-10.643457],[150.802344,-10.620215],[150.785742,-10.603418],[150.799316,-10.554102],[150.87207,-10.551855],[150.89873,-10.565332]]],[[[153.659277,-4.099316],[153.650098,-4.123047],[153.591504,-4.095996],[153.639746,-4.044727],[153.662988,-4.041211],[153.659277,-4.099316]]],[[[155.957617,-6.686816],[155.933203,-6.780469],[155.914941,-6.79668],[155.891895,-6.761523],[155.80498,-6.795605],[155.763477,-6.834375],[155.719336,-6.862793],[155.617383,-6.855957],[155.520898,-6.830273],[155.427344,-6.782715],[155.344043,-6.72168],[155.260547,-6.626074],[155.208594,-6.526855],[155.234473,-6.411621],[155.202148,-6.307617],[155.044629,-6.233691],[155.010156,-6.209766],[154.940234,-6.106152],[154.870313,-6.061426],[154.781934,-5.970703],[154.759277,-5.931348],[154.721094,-5.816504],[154.708984,-5.74707],[154.741113,-5.545313],[154.729297,-5.444434],[154.772656,-5.454102],[154.818457,-5.494043],[154.870508,-5.521387],[154.99707,-5.539941],[155.093848,-5.620215],[155.186719,-5.776953],[155.197852,-5.82832],[155.227539,-5.865234],[155.323047,-5.931738],[155.372559,-5.974414],[155.466992,-6.145117],[155.519336,-6.181543],[155.581055,-6.196191],[155.638477,-6.220801],[155.73418,-6.295703],[155.822559,-6.380469],[155.882227,-6.469629],[155.927637,-6.565039],[155.957617,-6.686816]]],[[[154.647266,-5.432715],[154.627344,-5.440625],[154.583887,-5.314453],[154.576172,-5.220898],[154.562793,-5.151953],[154.540039,-5.11084],[154.605566,-5.034961],[154.632617,-5.013867],[154.682031,-5.054004],[154.68916,-5.142676],[154.727148,-5.218066],[154.698438,-5.382812],[154.647266,-5.432715]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":4,"SOVEREIGNT":"Panama","SOV_A3":"PAN","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Panama","ADM0_A3":"PAN","GEOU_DIF":0,"GEOUNIT":"Panama","GU_A3":"PAN","SU_DIF":0,"SUBUNIT":"Panama","SU_A3":"PAN","BRK_DIFF":0,"NAME":"Panama","NAME_LONG":"Panama","BRK_A3":"PAN","BRK_NAME":"Panama","BRK_GROUP":null,"ABBREV":"Pan.","POSTAL":"PA","FORMAL_EN":"Republic of Panama","FORMAL_FR":null,"NAME_CIAWF":"Panama","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Panama","NAME_ALT":null,"MAPCOLOR7":4,"MAPCOLOR8":4,"MAPCOLOR9":6,"MAPCOLOR13":3,"POP_EST":4246439,"POP_RANK":12,"POP_YEAR":2019,"GDP_MD":66800,"GDP_YEAR":2019,"ECONOMY":"6. Developing region","INCOME_GRP":"3. Upper middle income","FIPS_10":"PM","ISO_A2":"PA","ISO_A2_EH":"PA","ISO_A3":"PAN","ISO_A3_EH":"PAN","ISO_N3":"591","ISO_N3_EH":"591","UN_A3":"591","WB_A2":"PA","WB_A3":"PAN","WOE_ID":23424924,"WOE_ID_EH":23424924,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"PAN","ADM0_DIFF":null,"ADM0_TLC":"PAN","ADM0_A3_US":"PAN","ADM0_A3_FR":"PAN","ADM0_A3_RU":"PAN","ADM0_A3_ES":"PAN","ADM0_A3_CN":"PAN","ADM0_A3_TW":"PAN","ADM0_A3_IN":"PAN","ADM0_A3_NP":"PAN","ADM0_A3_PK":"PAN","ADM0_A3_DE":"PAN","ADM0_A3_GB":"PAN","ADM0_A3_BR":"PAN","ADM0_A3_IL":"PAN","ADM0_A3_PS":"PAN","ADM0_A3_SA":"PAN","ADM0_A3_EG":"PAN","ADM0_A3_MA":"PAN","ADM0_A3_PT":"PAN","ADM0_A3_AR":"PAN","ADM0_A3_JP":"PAN","ADM0_A3_KO":"PAN","ADM0_A3_VN":"PAN","ADM0_A3_TR":"PAN","ADM0_A3_ID":"PAN","ADM0_A3_PL":"PAN","ADM0_A3_GR":"PAN","ADM0_A3_IT":"PAN","ADM0_A3_NL":"PAN","ADM0_A3_SE":"PAN","ADM0_A3_BD":"PAN","ADM0_A3_UA":"PAN","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"North America","REGION_UN":"Americas","SUBREGION":"Central America","REGION_WB":"Latin America & Caribbean","NAME_LEN":6,"LONG_LEN":6,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":4,"MAX_LABEL":9,"LABEL_X":-80.352106,"LABEL_Y":8.72198,"NE_ID":1159321161,"WIKIDATAID":"Q804","NAME_AR":"بنما","NAME_BN":"পানামা","NAME_DE":"Panama","NAME_EN":"Panama","NAME_ES":"Panamá","NAME_FA":"پاناما","NAME_FR":"Panama","NAME_EL":"Παναμάς","NAME_HE":"פנמה","NAME_HI":"पनामा","NAME_HU":"Panama","NAME_ID":"Panama","NAME_IT":"Panama","NAME_JA":"パナマ","NAME_KO":"파나마","NAME_NL":"Panama","NAME_PL":"Panama","NAME_PT":"Panamá","NAME_RU":"Панама","NAME_SV":"Panama","NAME_TR":"Panama","NAME_UK":"Панама","NAME_UR":"پاناما","NAME_VI":"Panama","NAME_ZH":"巴拿马","NAME_ZHT":"巴拿馬","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[-83.027344,7.220068,-77.195996,9.597852],"geometry":{"type":"MultiPolygon","coordinates":[[[[-77.374219,8.658301],[-77.393066,8.644678],[-77.44834,8.565869],[-77.478516,8.498437],[-77.407275,8.427246],[-77.385889,8.35166],[-77.345508,8.269531],[-77.282617,8.187061],[-77.212305,8.033887],[-77.195996,7.972461],[-77.215967,7.93252],[-77.282959,7.908154],[-77.345605,7.836523],[-77.362744,7.749072],[-77.350781,7.705859],[-77.538281,7.56626],[-77.586572,7.543066],[-77.618604,7.564551],[-77.658594,7.634619],[-77.706348,7.691211],[-77.732031,7.710938],[-77.746924,7.711865],[-77.761914,7.698828],[-77.76875,7.668066],[-77.743896,7.536963],[-77.764697,7.483691],[-77.82832,7.442822],[-77.901172,7.229346],[-77.929785,7.256348],[-78.170117,7.543799],[-78.378223,7.899902],[-78.421582,8.060986],[-78.367627,8.070557],[-78.31543,8.066943],[-78.287354,8.091797],[-78.254883,8.138623],[-78.281201,8.247559],[-78.180029,8.330273],[-78.141895,8.386084],[-78.113867,8.37959],[-78.047754,8.284766],[-77.95166,8.230273],[-77.833643,8.151172],[-77.760547,8.133252],[-77.85293,8.216211],[-78.0125,8.325391],[-78.057178,8.397119],[-78.099463,8.496973],[-78.161816,8.453711],[-78.190771,8.417334],[-78.223047,8.396631],[-78.251123,8.421436],[-78.256104,8.453711],[-78.350146,8.46001],[-78.374316,8.489258],[-78.399219,8.505664],[-78.387891,8.443408],[-78.369385,8.404932],[-78.379297,8.358594],[-78.409863,8.355322],[-78.436035,8.40332],[-78.469434,8.44668],[-78.514062,8.628174],[-78.620898,8.713721],[-78.669824,8.742188],[-78.710205,8.75293],[-78.769678,8.811084],[-78.848242,8.842187],[-78.955176,8.93252],[-79.086377,8.997168],[-79.24668,9.020068],[-79.441504,9.006006],[-79.50708,8.970068],[-79.55166,8.924463],[-79.572363,8.903271],[-79.687451,8.850977],[-79.731055,8.775342],[-79.758545,8.711572],[-79.815918,8.639209],[-79.750439,8.595508],[-80.125781,8.349658],[-80.200098,8.313965],[-80.368701,8.28877],[-80.407568,8.262451],[-80.458984,8.213867],[-80.465869,8.139941],[-80.458105,8.077051],[-80.409131,8.028564],[-80.365576,7.997998],[-80.260937,7.85166],[-80.075195,7.667041],[-80.040039,7.599805],[-80.01123,7.500049],[-80.067285,7.453223],[-80.110596,7.433447],[-80.287305,7.425635],[-80.348242,7.385693],[-80.372949,7.324658],[-80.438867,7.274951],[-80.666699,7.225684],[-80.845557,7.220068],[-80.901221,7.277148],[-80.914648,7.4375],[-81.035107,7.711133],[-81.063867,7.899756],[-81.093945,7.876318],[-81.157812,7.854395],[-81.179395,7.80752],[-81.195459,7.668408],[-81.219043,7.620947],[-81.268408,7.625488],[-81.36958,7.675293],[-81.50415,7.721191],[-81.675684,8.015918],[-81.694287,8.071387],[-81.727637,8.137549],[-81.860254,8.16543],[-81.973291,8.215088],[-82.096729,8.222754],[-82.159863,8.194824],[-82.224316,8.230371],[-82.235449,8.311035],[-82.364844,8.274854],[-82.530957,8.287402],[-82.679541,8.321973],[-82.781152,8.303516],[-82.866113,8.246338],[-82.854346,8.099512],[-82.879346,8.070654],[-82.883301,8.130566],[-82.912891,8.199609],[-82.948437,8.256836],[-83.023389,8.316016],[-83.027344,8.337744],[-82.997559,8.367773],[-82.861621,8.453516],[-82.844775,8.489355],[-82.842627,8.563965],[-82.855713,8.635303],[-82.917041,8.740332],[-82.881982,8.805322],[-82.811914,8.857422],[-82.73999,8.898584],[-82.727832,8.916064],[-82.741162,8.951709],[-82.783057,8.990283],[-82.881348,9.055859],[-82.940332,9.060107],[-82.942822,9.248877],[-82.939844,9.44917],[-82.925049,9.469043],[-82.888965,9.481006],[-82.860156,9.511475],[-82.843994,9.570801],[-82.801025,9.591797],[-82.723389,9.546094],[-82.644092,9.505859],[-82.611279,9.519238],[-82.586523,9.538818],[-82.569238,9.558203],[-82.563574,9.57666],[-82.500342,9.523242],[-82.370801,9.428564],[-82.363184,9.381934],[-82.375391,9.337256],[-82.339746,9.20918],[-82.272461,9.190625],[-82.204883,9.21543],[-82.188135,9.191748],[-82.200684,9.168115],[-82.235449,9.14165],[-82.244189,9.031494],[-82.133301,8.980078],[-82.077881,8.934863],[-81.894141,8.956104],[-81.826416,8.944092],[-81.780225,8.957227],[-81.831494,9.045605],[-81.900146,9.111035],[-81.894482,9.14043],[-81.842383,9.118701],[-81.802588,9.074121],[-81.712207,9.018945],[-81.545605,8.827002],[-81.354785,8.780566],[-81.20376,8.786719],[-81.063086,8.812646],[-80.838672,8.887207],[-80.676465,9.021875],[-80.546875,9.081934],[-80.1271,9.209912],[-79.977979,9.343701],[-79.915088,9.361328],[-79.855078,9.378076],[-79.723096,9.479297],[-79.652246,9.558203],[-79.577295,9.597852],[-79.355469,9.569238],[-79.211621,9.531934],[-79.112256,9.536768],[-79.016699,9.510449],[-78.975,9.452979],[-78.931641,9.428467],[-78.696924,9.434766],[-78.504346,9.406299],[-78.082764,9.236279],[-77.830811,9.068115],[-77.697217,8.889453],[-77.374219,8.658301]]],[[[-78.89834,8.274268],[-78.918115,8.231934],[-78.964941,8.32627],[-78.957422,8.350586],[-78.960596,8.43584],[-78.916016,8.458252],[-78.883252,8.460254],[-78.856152,8.448242],[-78.83916,8.3479],[-78.853223,8.302441],[-78.89834,8.274268]]],[[[-81.603271,7.332812],[-81.658105,7.327539],[-81.770117,7.370361],[-81.852051,7.45332],[-81.858594,7.480176],[-81.856934,7.507666],[-81.812158,7.592383],[-81.752295,7.621631],[-81.72876,7.621191],[-81.671436,7.523438],[-81.710449,7.485547],[-81.694727,7.425],[-81.613428,7.380176],[-81.603271,7.332812]]],[[[-82.233496,9.380713],[-82.244434,9.334082],[-82.321729,9.418115],[-82.275781,9.431885],[-82.259424,9.430273],[-82.233496,9.380713]]],[[[-79.06543,8.254199],[-79.110352,8.209814],[-79.127539,8.251855],[-79.096289,8.29541],[-79.085303,8.295801],[-79.06543,8.254199]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":4,"LABELRANK":6,"SOVEREIGNT":"Palau","SOV_A3":"PLW","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Palau","ADM0_A3":"PLW","GEOU_DIF":0,"GEOUNIT":"Palau","GU_A3":"PLW","SU_DIF":0,"SUBUNIT":"Palau","SU_A3":"PLW","BRK_DIFF":0,"NAME":"Palau","NAME_LONG":"Palau","BRK_A3":"PLW","BRK_NAME":"Palau","BRK_GROUP":null,"ABBREV":"Palau","POSTAL":"PW","FORMAL_EN":"Republic of Palau","FORMAL_FR":null,"NAME_CIAWF":"Palau","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Palau","NAME_ALT":null,"MAPCOLOR7":2,"MAPCOLOR8":5,"MAPCOLOR9":1,"MAPCOLOR13":12,"POP_EST":18008,"POP_RANK":6,"POP_YEAR":2019,"GDP_MD":268,"GDP_YEAR":2019,"ECONOMY":"6. Developing region","INCOME_GRP":"3. Upper middle income","FIPS_10":"PS","ISO_A2":"PW","ISO_A2_EH":"PW","ISO_A3":"PLW","ISO_A3_EH":"PLW","ISO_N3":"585","ISO_N3_EH":"585","UN_A3":"585","WB_A2":"PW","WB_A3":"PLW","WOE_ID":23424927,"WOE_ID_EH":23424927,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"PLW","ADM0_DIFF":null,"ADM0_TLC":"PLW","ADM0_A3_US":"PLW","ADM0_A3_FR":"PLW","ADM0_A3_RU":"PLW","ADM0_A3_ES":"PLW","ADM0_A3_CN":"PLW","ADM0_A3_TW":"PLW","ADM0_A3_IN":"PLW","ADM0_A3_NP":"PLW","ADM0_A3_PK":"PLW","ADM0_A3_DE":"PLW","ADM0_A3_GB":"PLW","ADM0_A3_BR":"PLW","ADM0_A3_IL":"PLW","ADM0_A3_PS":"PLW","ADM0_A3_SA":"PLW","ADM0_A3_EG":"PLW","ADM0_A3_MA":"PLW","ADM0_A3_PT":"PLW","ADM0_A3_AR":"PLW","ADM0_A3_JP":"PLW","ADM0_A3_KO":"PLW","ADM0_A3_VN":"PLW","ADM0_A3_TR":"PLW","ADM0_A3_ID":"PLW","ADM0_A3_PL":"PLW","ADM0_A3_GR":"PLW","ADM0_A3_IT":"PLW","ADM0_A3_NL":"PLW","ADM0_A3_SE":"PLW","ADM0_A3_BD":"PLW","ADM0_A3_UA":"PLW","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Oceania","REGION_UN":"Oceania","SUBREGION":"Micronesia","REGION_WB":"East Asia & Pacific","NAME_LEN":5,"LONG_LEN":5,"ABBREV_LEN":5,"TINY":2,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":5,"MAX_LABEL":10,"LABEL_X":134.580157,"LABEL_Y":7.518252,"NE_ID":1159321171,"WIKIDATAID":"Q695","NAME_AR":"بالاو","NAME_BN":"পালাউ","NAME_DE":"Palau","NAME_EN":"Palau","NAME_ES":"Palaos","NAME_FA":"پالائو","NAME_FR":"Palaos","NAME_EL":"Παλάου","NAME_HE":"פלאו","NAME_HI":"पलाउ","NAME_HU":"Palau","NAME_ID":"Palau","NAME_IT":"Palau","NAME_JA":"パラオ","NAME_KO":"팔라우","NAME_NL":"Palau","NAME_PL":"Palau","NAME_PT":"Palau","NAME_RU":"Палау","NAME_SV":"Palau","NAME_TR":"Palau","NAME_UK":"Республіка Палау","NAME_UR":"پلاؤ","NAME_VI":"Palau","NAME_ZH":"帕劳","NAME_ZHT":"帛琉","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[131.134961,3.021875,134.65957,7.712109],"geometry":{"type":"MultiPolygon","coordinates":[[[[131.172363,3.026221],[131.149609,3.021875],[131.134961,3.025244],[131.136719,3.039453],[131.151563,3.054102],[131.172363,3.060596],[131.187891,3.055615],[131.186328,3.04209],[131.172363,3.026221]]],[[[134.59541,7.382031],[134.534668,7.360645],[134.50625,7.437109],[134.515723,7.525781],[134.555957,7.593945],[134.599707,7.615771],[134.608691,7.623584],[134.651172,7.712109],[134.65957,7.663281],[134.632715,7.501318],[134.598242,7.438281],[134.59541,7.382031]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":2,"SOVEREIGNT":"Pakistan","SOV_A3":"PAK","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Pakistan","ADM0_A3":"PAK","GEOU_DIF":0,"GEOUNIT":"Pakistan","GU_A3":"PAK","SU_DIF":0,"SUBUNIT":"Pakistan","SU_A3":"PAK","BRK_DIFF":0,"NAME":"Pakistan","NAME_LONG":"Pakistan","BRK_A3":"PAK","BRK_NAME":"Pakistan","BRK_GROUP":null,"ABBREV":"Pak.","POSTAL":"PK","FORMAL_EN":"Islamic Republic of Pakistan","FORMAL_FR":null,"NAME_CIAWF":"Pakistan","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Pakistan","NAME_ALT":null,"MAPCOLOR7":2,"MAPCOLOR8":2,"MAPCOLOR9":3,"MAPCOLOR13":11,"POP_EST":216565318,"POP_RANK":17,"POP_YEAR":2019,"GDP_MD":278221,"GDP_YEAR":2019,"ECONOMY":"5. Emerging region: G20","INCOME_GRP":"4. Lower middle income","FIPS_10":"PK","ISO_A2":"PK","ISO_A2_EH":"PK","ISO_A3":"PAK","ISO_A3_EH":"PAK","ISO_N3":"586","ISO_N3_EH":"586","UN_A3":"586","WB_A2":"PK","WB_A3":"PAK","WOE_ID":23424922,"WOE_ID_EH":23424922,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"PAK","ADM0_DIFF":null,"ADM0_TLC":"PAK","ADM0_A3_US":"PAK","ADM0_A3_FR":"PAK","ADM0_A3_RU":"PAK","ADM0_A3_ES":"PAK","ADM0_A3_CN":"PAK","ADM0_A3_TW":"PAK","ADM0_A3_IN":"PAK","ADM0_A3_NP":"PAK","ADM0_A3_PK":"PAK","ADM0_A3_DE":"PAK","ADM0_A3_GB":"PAK","ADM0_A3_BR":"PAK","ADM0_A3_IL":"PAK","ADM0_A3_PS":"PAK","ADM0_A3_SA":"PAK","ADM0_A3_EG":"PAK","ADM0_A3_MA":"PAK","ADM0_A3_PT":"PAK","ADM0_A3_AR":"PAK","ADM0_A3_JP":"PAK","ADM0_A3_KO":"PAK","ADM0_A3_VN":"PAK","ADM0_A3_TR":"PAK","ADM0_A3_ID":"PAK","ADM0_A3_PL":"PAK","ADM0_A3_GR":"PAK","ADM0_A3_IT":"PAK","ADM0_A3_NL":"PAK","ADM0_A3_SE":"PAK","ADM0_A3_BD":"PAK","ADM0_A3_UA":"PAK","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Asia","REGION_UN":"Asia","SUBREGION":"Southern Asia","REGION_WB":"South Asia","NAME_LEN":8,"LONG_LEN":8,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":2.7,"MAX_LABEL":7,"LABEL_X":68.545632,"LABEL_Y":29.328389,"NE_ID":1159321153,"WIKIDATAID":"Q843","NAME_AR":"باكستان","NAME_BN":"পাকিস্তান","NAME_DE":"Pakistan","NAME_EN":"Pakistan","NAME_ES":"Pakistán","NAME_FA":"پاکستان","NAME_FR":"Pakistan","NAME_EL":"Πακιστάν","NAME_HE":"פקיסטן","NAME_HI":"पाकिस्तान","NAME_HU":"Pakisztán","NAME_ID":"Pakistan","NAME_IT":"Pakistan","NAME_JA":"パキスタン","NAME_KO":"파키스탄","NAME_NL":"Pakistan","NAME_PL":"Pakistan","NAME_PT":"Paquistão","NAME_RU":"Пакистан","NAME_SV":"Pakistan","NAME_TR":"Pakistan","NAME_UK":"Пакистан","NAME_UR":"پاکستان","NAME_VI":"Pakistan","NAME_ZH":"巴基斯坦","NAME_ZHT":"巴基斯坦","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[60.843359,23.753369,77.048633,37.03667],"geometry":{"type":"Polygon","coordinates":[[[76.766895,35.661719],[76.812793,35.571826],[76.882227,35.435742],[76.927734,35.346631],[76.978906,35.246436],[77.004492,35.196338],[77.048633,35.109912],[77.030664,35.062354],[77.000879,34.991992],[76.891699,34.938721],[76.78291,34.900195],[76.75752,34.877832],[76.749023,34.847559],[76.696289,34.786914],[76.594434,34.73584],[76.509961,34.740869],[76.456738,34.756104],[76.172461,34.667725],[76.041016,34.669922],[75.938281,34.612549],[75.862109,34.560254],[75.70918,34.503076],[75.605566,34.502734],[75.452539,34.536719],[75.264063,34.601367],[75.1875,34.639014],[75.118457,34.636816],[74.951855,34.64585],[74.78877,34.677734],[74.594141,34.715771],[74.497949,34.732031],[74.300391,34.765381],[74.171973,34.720898],[74.055859,34.680664],[73.96123,34.653467],[73.883105,34.529053],[73.850098,34.485303],[73.812109,34.422363],[73.794531,34.378223],[73.809961,34.325342],[73.924609,34.287842],[73.972363,34.236621],[73.979492,34.191309],[73.938281,34.144775],[73.903906,34.108008],[73.904102,34.075684],[73.922363,34.043066],[73.949902,34.018799],[74.112598,34.003711],[74.208984,34.003418],[74.246484,33.990186],[74.250879,33.946094],[74.215625,33.886572],[74.078418,33.838672],[74.000977,33.788184],[73.976465,33.721289],[73.977539,33.667822],[74.004004,33.632422],[74.069727,33.591699],[74.13125,33.545068],[74.15,33.506982],[74.142578,33.455371],[74.117773,33.384131],[74.050391,33.30127],[73.994238,33.242188],[73.989844,33.221191],[74.003809,33.189453],[74.049121,33.143408],[74.12627,33.075439],[74.22207,33.020312],[74.283594,33.005127],[74.303613,32.991797],[74.322754,32.927979],[74.32998,32.86084],[74.305469,32.810449],[74.35459,32.768701],[74.483398,32.770996],[74.588281,32.753223],[74.632422,32.770898],[74.663281,32.757666],[74.643359,32.607715],[74.657813,32.518945],[74.685742,32.493799],[74.788867,32.457812],[74.987305,32.462207],[75.104102,32.420361],[75.233691,32.372119],[75.302637,32.318896],[75.333496,32.279199],[75.324707,32.215283],[75.254102,32.140332],[75.13877,32.104785],[75.071484,32.089355],[74.739453,31.948828],[74.635742,31.889746],[74.555566,31.818555],[74.525977,31.765137],[74.509961,31.712939],[74.581836,31.523926],[74.593945,31.465381],[74.534961,31.261377],[74.517676,31.185596],[74.539746,31.132666],[74.610352,31.112842],[74.625781,31.06875],[74.632812,31.034668],[74.509766,30.959668],[74.380371,30.893408],[74.339355,30.893555],[74.215625,30.768994],[74.008984,30.519678],[73.899316,30.435352],[73.891602,30.394043],[73.882715,30.352148],[73.924609,30.281641],[73.933398,30.22207],[73.886523,30.162012],[73.80918,30.093359],[73.658008,30.033203],[73.46748,29.97168],[73.381641,29.934375],[73.317285,29.772998],[73.257812,29.610693],[73.231152,29.550635],[73.12832,29.363916],[72.94873,29.088818],[72.90332,29.02876],[72.625586,28.896143],[72.341895,28.751904],[72.291992,28.697266],[72.233887,28.56582],[72.179199,28.421777],[72.128516,28.346338],[71.948047,28.177295],[71.888867,28.047461],[71.870313,27.9625],[71.716699,27.915088],[71.542969,27.869873],[71.290137,27.855273],[71.184766,27.831641],[70.874902,27.714453],[70.797949,27.709619],[70.737402,27.729004],[70.691602,27.768994],[70.649121,27.835352],[70.629102,27.937451],[70.569238,27.983789],[70.488574,28.023145],[70.403711,28.025049],[70.318457,27.981641],[70.244336,27.934131],[70.193945,27.894873],[70.144531,27.849023],[70.049805,27.694727],[69.896289,27.473633],[69.724805,27.312695],[69.661328,27.264502],[69.621582,27.228076],[69.567969,27.174609],[69.537012,27.122949],[69.494531,26.95415],[69.47002,26.804443],[69.48125,26.770996],[69.506934,26.742676],[69.600586,26.699121],[69.735938,26.627051],[69.911426,26.586133],[70.059375,26.57876],[70.114648,26.548047],[70.147656,26.506445],[70.156836,26.471436],[70.149219,26.347559],[70.132617,26.214795],[70.077734,26.071973],[70.078613,25.990039],[70.100195,25.910059],[70.264648,25.706543],[70.325195,25.685742],[70.448535,25.681348],[70.505859,25.685303],[70.569531,25.705957],[70.614844,25.691895],[70.648438,25.666943],[70.657227,25.625781],[70.652051,25.4229],[70.702539,25.331055],[70.800488,25.205859],[70.877734,25.062988],[70.950879,24.891602],[71.020703,24.757666],[71.047852,24.687744],[71.002344,24.653906],[70.976367,24.61875],[70.969824,24.571875],[70.979297,24.522461],[70.973242,24.487402],[71.00625,24.444336],[71.045313,24.42998],[71.044043,24.400098],[70.982813,24.361035],[70.928125,24.362354],[70.88623,24.34375],[70.805078,24.261963],[70.767285,24.24541],[70.716309,24.237988],[70.659473,24.246094],[70.579297,24.279053],[70.555859,24.331104],[70.565039,24.385791],[70.546777,24.418311],[70.489258,24.412158],[70.289062,24.356299],[70.098242,24.2875],[70.065137,24.240576],[70.021094,24.191553],[69.933789,24.171387],[69.805176,24.165234],[69.716211,24.172607],[69.63418,24.225195],[69.55918,24.273096],[69.443457,24.275391],[69.235059,24.268262],[69.119531,24.268652],[69.051563,24.286328],[68.98457,24.273096],[68.900781,24.292432],[68.863477,24.266504],[68.82832,24.264014],[68.8,24.309082],[68.781152,24.313721],[68.758984,24.307227],[68.739648,24.291992],[68.728125,24.265625],[68.724121,23.964697],[68.586621,23.966602],[68.488672,23.967236],[68.38125,23.950879],[68.28252,23.927979],[68.23418,23.900537],[68.165039,23.857324],[68.148828,23.797217],[68.115527,23.753369],[68.067773,23.818359],[68.037012,23.848242],[68.001465,23.826074],[67.950977,23.828613],[67.859961,23.902686],[67.819043,23.828076],[67.668457,23.810986],[67.649512,23.867285],[67.645801,23.919873],[67.563086,23.881836],[67.503613,23.940039],[67.476855,24.018262],[67.453906,24.039893],[67.427637,24.064844],[67.365234,24.091602],[67.309375,24.174805],[67.304297,24.262891],[67.288672,24.367773],[67.171484,24.756104],[67.100586,24.791943],[66.703027,24.860937],[66.682227,24.928857],[66.709863,25.111328],[66.698633,25.226318],[66.569922,25.378516],[66.533887,25.484375],[66.428613,25.575342],[66.324219,25.601807],[66.219043,25.589893],[66.162305,25.553906],[66.131152,25.493262],[66.356445,25.507373],[66.407129,25.485059],[66.467676,25.445312],[66.40293,25.446826],[66.32832,25.465771],[66.234668,25.464355],[65.883594,25.419629],[65.679688,25.355273],[65.40625,25.374316],[65.061328,25.311084],[64.77666,25.307324],[64.658984,25.184082],[64.594043,25.206299],[64.54375,25.23667],[64.152051,25.333447],[64.124902,25.373926],[64.059375,25.40293],[63.987305,25.351172],[63.935547,25.342529],[63.720898,25.385889],[63.556641,25.353174],[63.495703,25.29751],[63.491406,25.21084],[63.285742,25.227588],[63.17002,25.254883],[63.015039,25.224658],[62.664746,25.264795],[62.572461,25.254736],[62.444727,25.197266],[62.391211,25.152539],[62.315332,25.134912],[62.24873,25.197363],[62.198633,25.224854],[62.152148,25.206641],[62.089453,25.155322],[61.90791,25.131299],[61.743652,25.138184],[61.566895,25.186328],[61.587891,25.202344],[61.61543,25.286133],[61.640137,25.584619],[61.671387,25.692383],[61.661816,25.75127],[61.668652,25.768994],[61.737695,25.821094],[61.754395,25.843359],[61.780762,25.99585],[61.809961,26.165283],[61.842383,26.225928],[61.869824,26.242432],[62.089063,26.318262],[62.125977,26.368994],[62.239355,26.357031],[62.249609,26.369238],[62.259668,26.42749],[62.312305,26.490869],[62.385059,26.542627],[62.439258,26.561035],[62.636426,26.593652],[62.751563,26.63916],[62.786621,26.643896],[63.092969,26.632324],[63.157813,26.649756],[63.168066,26.665576],[63.186133,26.837598],[63.241602,26.864746],[63.250391,26.879248],[63.231445,26.998145],[63.24209,27.077686],[63.305176,27.124561],[63.301563,27.151465],[63.25625,27.20791],[63.196094,27.243945],[63.166797,27.25249],[62.91543,27.218408],[62.811621,27.229443],[62.762988,27.250195],[62.752734,27.265625],[62.7625,27.300195],[62.764258,27.356738],[62.800879,27.444531],[62.812012,27.497021],[62.782324,27.800537],[62.739746,28.002051],[62.7625,28.202051],[62.758008,28.243555],[62.749414,28.252881],[62.717578,28.252783],[62.564551,28.235156],[62.433887,28.363867],[62.353027,28.414746],[62.130566,28.478809],[62.033008,28.491016],[61.889844,28.546533],[61.758008,28.667676],[61.623047,28.791602],[61.56875,28.870898],[61.508594,29.006055],[61.337891,29.26499],[61.339453,29.331787],[61.318359,29.372607],[61.152148,29.542725],[61.03418,29.663428],[60.843359,29.858691],[61.224414,29.749414],[61.521484,29.665674],[62.000977,29.53042],[62.373438,29.425391],[62.476562,29.40835],[63.567578,29.497998],[63.970996,29.430078],[64.09873,29.391943],[64.117969,29.414258],[64.172168,29.460352],[64.266113,29.506934],[64.39375,29.544336],[64.521094,29.564502],[64.703516,29.567139],[64.827344,29.56416],[64.918945,29.552783],[65.095508,29.559473],[65.180469,29.577637],[65.470996,29.651562],[65.666211,29.701318],[65.961621,29.778906],[66.177051,29.835596],[66.23125,29.865723],[66.286914,29.92002],[66.313379,29.968555],[66.247168,30.043506],[66.238477,30.109619],[66.281836,30.193457],[66.305469,30.321143],[66.300977,30.502979],[66.286914,30.60791],[66.346875,30.802783],[66.397168,30.912207],[66.497363,30.964551],[66.566797,30.996582],[66.595801,31.019971],[66.624219,31.046045],[66.731348,31.194531],[66.829297,31.263672],[66.924316,31.305615],[67.027734,31.300244],[67.115918,31.24292],[67.287305,31.217822],[67.452832,31.234619],[67.596387,31.277686],[67.661523,31.312988],[67.737891,31.343945],[67.733496,31.379248],[67.64707,31.409961],[67.597559,31.45332],[67.578223,31.506494],[67.626758,31.53877],[67.739844,31.548193],[68.017188,31.677979],[68.130176,31.763281],[68.161035,31.802979],[68.213965,31.807373],[68.319824,31.767676],[68.443262,31.754492],[68.520703,31.794141],[68.597656,31.802979],[68.673242,31.759717],[68.713672,31.708057],[68.782324,31.646436],[68.868945,31.634229],[68.973438,31.667383],[69.083105,31.738477],[69.186914,31.838086],[69.279297,31.936816],[69.256543,32.249463],[69.241406,32.433545],[69.289941,32.530566],[69.359473,32.590332],[69.405371,32.682715],[69.40459,32.764258],[69.453125,32.832812],[69.501563,33.020068],[69.567773,33.06416],[69.703711,33.094727],[69.920117,33.1125],[70.090234,33.198096],[70.261133,33.289014],[70.28418,33.369043],[70.219727,33.454687],[70.13418,33.620752],[70.056641,33.719873],[69.868066,33.897656],[69.889648,34.007275],[69.994727,34.051807],[70.253613,33.975977],[70.325684,33.961133],[70.415723,33.950439],[70.654004,33.952295],[70.848438,33.981885],[71.051563,34.049707],[71.091309,34.120264],[71.089063,34.204053],[71.092383,34.273242],[71.095703,34.369434],[71.022949,34.431152],[70.978906,34.486279],[70.965625,34.530371],[71.016309,34.554639],[71.065625,34.599609],[71.113281,34.681592],[71.225781,34.779541],[71.294141,34.867725],[71.358105,34.909619],[71.455078,34.966943],[71.51709,35.051123],[71.545508,35.101416],[71.60166,35.150684],[71.620508,35.183008],[71.605273,35.211768],[71.577246,35.247998],[71.545508,35.288867],[71.545508,35.328516],[71.571973,35.37041],[71.600586,35.40791],[71.587402,35.46084],[71.571973,35.546826],[71.519043,35.59751],[71.483594,35.7146],[71.427539,35.83374],[71.397559,35.880176],[71.342871,35.938525],[71.220215,36.000684],[71.185059,36.04209],[71.23291,36.121777],[71.312598,36.171191],[71.463281,36.293262],[71.545898,36.377686],[71.620508,36.436475],[71.716406,36.426562],[71.772656,36.431836],[71.822266,36.486084],[71.920703,36.53418],[72.095605,36.63374],[72.156738,36.700879],[72.249805,36.734717],[72.326953,36.742383],[72.431152,36.76582],[72.531348,36.802002],[72.622852,36.82959],[72.766211,36.83501],[72.99375,36.851611],[73.116797,36.868555],[73.411133,36.881689],[73.731836,36.887793],[73.769141,36.888477],[73.907813,36.85293],[74.001855,36.823096],[74.038867,36.825732],[74.194727,36.896875],[74.431055,36.983691],[74.541406,37.022168],[74.600586,37.03667],[74.692188,37.035742],[74.766016,37.012744],[74.841211,36.979102],[74.889258,36.952441],[74.949121,36.968359],[75.053906,36.987158],[75.145215,36.973242],[75.34668,36.913477],[75.376855,36.883691],[75.424219,36.738232],[75.460254,36.725049],[75.57373,36.759326],[75.667188,36.741992],[75.772168,36.694922],[75.840234,36.649707],[75.884961,36.600732],[75.933008,36.521582],[75.951855,36.458105],[75.974414,36.382422],[75.968652,36.168848],[75.934082,36.133936],[75.904883,36.088477],[75.912305,36.048975],[75.945117,36.017578],[76.010449,35.996338],[76.070898,35.983008],[76.10332,35.949219],[76.147852,35.829004],[76.177832,35.810547],[76.25166,35.810937],[76.385742,35.837158],[76.502051,35.878223],[76.55127,35.887061],[76.563477,35.772998],[76.631836,35.729395],[76.727539,35.678662],[76.766895,35.661719]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":3,"LABELRANK":4,"SOVEREIGNT":"Oman","SOV_A3":"OMN","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Oman","ADM0_A3":"OMN","GEOU_DIF":0,"GEOUNIT":"Oman","GU_A3":"OMN","SU_DIF":0,"SUBUNIT":"Oman","SU_A3":"OMN","BRK_DIFF":0,"NAME":"Oman","NAME_LONG":"Oman","BRK_A3":"OMN","BRK_NAME":"Oman","BRK_GROUP":null,"ABBREV":"Oman","POSTAL":"OM","FORMAL_EN":"Sultanate of Oman","FORMAL_FR":null,"NAME_CIAWF":"Oman","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Oman","NAME_ALT":null,"MAPCOLOR7":1,"MAPCOLOR8":4,"MAPCOLOR9":1,"MAPCOLOR13":6,"POP_EST":4974986,"POP_RANK":12,"POP_YEAR":2019,"GDP_MD":76331,"GDP_YEAR":2019,"ECONOMY":"6. Developing region","INCOME_GRP":"2. High income: nonOECD","FIPS_10":"MU","ISO_A2":"OM","ISO_A2_EH":"OM","ISO_A3":"OMN","ISO_A3_EH":"OMN","ISO_N3":"512","ISO_N3_EH":"512","UN_A3":"512","WB_A2":"OM","WB_A3":"OMN","WOE_ID":23424898,"WOE_ID_EH":23424898,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"OMN","ADM0_DIFF":null,"ADM0_TLC":"OMN","ADM0_A3_US":"OMN","ADM0_A3_FR":"OMN","ADM0_A3_RU":"OMN","ADM0_A3_ES":"OMN","ADM0_A3_CN":"OMN","ADM0_A3_TW":"OMN","ADM0_A3_IN":"OMN","ADM0_A3_NP":"OMN","ADM0_A3_PK":"OMN","ADM0_A3_DE":"OMN","ADM0_A3_GB":"OMN","ADM0_A3_BR":"OMN","ADM0_A3_IL":"OMN","ADM0_A3_PS":"OMN","ADM0_A3_SA":"OMN","ADM0_A3_EG":"OMN","ADM0_A3_MA":"OMN","ADM0_A3_PT":"OMN","ADM0_A3_AR":"OMN","ADM0_A3_JP":"OMN","ADM0_A3_KO":"OMN","ADM0_A3_VN":"OMN","ADM0_A3_TR":"OMN","ADM0_A3_ID":"OMN","ADM0_A3_PL":"OMN","ADM0_A3_GR":"OMN","ADM0_A3_IT":"OMN","ADM0_A3_NL":"OMN","ADM0_A3_SE":"OMN","ADM0_A3_BD":"OMN","ADM0_A3_UA":"OMN","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Asia","REGION_UN":"Asia","SUBREGION":"Western Asia","REGION_WB":"Middle East & North Africa","NAME_LEN":4,"LONG_LEN":4,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":4,"MAX_LABEL":9,"LABEL_X":57.336553,"LABEL_Y":22.120427,"NE_ID":1159321151,"WIKIDATAID":"Q842","NAME_AR":"سلطنة عمان","NAME_BN":"ওমান","NAME_DE":"Oman","NAME_EN":"Oman","NAME_ES":"Omán","NAME_FA":"عمان","NAME_FR":"Oman","NAME_EL":"Ομάν","NAME_HE":"עומאן","NAME_HI":"ओमान","NAME_HU":"Omán","NAME_ID":"Oman","NAME_IT":"Oman","NAME_JA":"オマーン","NAME_KO":"오만","NAME_NL":"Oman","NAME_PL":"Oman","NAME_PT":"Omã","NAME_RU":"Оман","NAME_SV":"Oman","NAME_TR":"Umman","NAME_UK":"Оман","NAME_UR":"عمان","NAME_VI":"Oman","NAME_ZH":"阿曼","NAME_ZHT":"阿曼","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[51.977637,16.648389,59.8375,26.356348],"geometry":{"type":"MultiPolygon","coordinates":[[[[58.72207,20.21875],[58.659082,20.203613],[58.640918,20.210693],[58.641211,20.337354],[58.787988,20.496582],[58.884375,20.680566],[58.950781,20.516162],[58.835156,20.423926],[58.772266,20.266846],[58.72207,20.21875]]],[[[53.085645,16.648389],[53.025,16.780225],[52.964355,16.912061],[52.903711,17.043848],[52.842969,17.175684],[52.800586,17.26792],[52.729199,17.300391],[52.685938,17.397949],[52.641699,17.497852],[52.597363,17.597754],[52.553125,17.697607],[52.508887,17.79751],[52.464551,17.897412],[52.420313,17.997314],[52.376074,18.097168],[52.331738,18.19707],[52.2875,18.296924],[52.243262,18.396826],[52.199023,18.49668],[52.154688,18.596582],[52.110449,18.696484],[52.066211,18.796387],[52.021875,18.896289],[51.977637,18.996143],[52.118555,19.043164],[52.290625,19.100488],[52.462695,19.157812],[52.634668,19.215137],[52.806738,19.272461],[52.978711,19.329785],[53.150781,19.387158],[53.322852,19.444482],[53.494824,19.501807],[53.666895,19.559131],[53.838867,19.616504],[54.010938,19.673828],[54.183008,19.731152],[54.35498,19.788477],[54.527051,19.845801],[54.699023,19.903125],[54.871094,19.960498],[54.977344,19.995947],[55.021484,20.129248],[55.058203,20.239941],[55.094727,20.350635],[55.131445,20.461328],[55.168066,20.572021],[55.20459,20.682715],[55.241211,20.793408],[55.27793,20.904102],[55.314453,21.014795],[55.351074,21.125537],[55.387695,21.23623],[55.424316,21.346924],[55.460938,21.457617],[55.497559,21.568311],[55.53418,21.679004],[55.570801,21.789697],[55.607422,21.900391],[55.641016,22.001855],[55.577734,22.099512],[55.492773,22.230664],[55.403809,22.367822],[55.320117,22.496924],[55.259277,22.590918],[55.18584,22.704102],[55.194043,22.85],[55.192188,22.922949],[55.199902,23.034766],[55.270215,23.189941],[55.353223,23.387451],[55.413867,23.51875],[55.466309,23.63291],[55.508496,23.724609],[55.531641,23.819043],[55.519336,23.885498],[55.491797,23.909668],[55.468457,23.941113],[55.547852,23.991357],[55.696582,24.024121],[55.779102,24.01709],[55.894141,24.041406],[55.985156,24.063379],[55.992188,24.092969],[55.966309,24.142627],[55.928613,24.215137],[55.799707,24.222656],[55.76084,24.242676],[55.805664,24.349805],[55.804004,24.383545],[55.786816,24.423535],[55.768164,24.490625],[55.777539,24.577344],[55.803906,24.63623],[55.804199,24.683594],[55.791602,24.781299],[55.795703,24.868115],[55.822852,24.911279],[55.870703,24.951416],[55.91582,24.971777],[55.963086,24.970264],[56.000586,24.953223],[56.016699,24.907715],[56.006348,24.876416],[55.979688,24.87207],[55.970313,24.858936],[56.008398,24.798242],[56.063867,24.73877],[56.106543,24.748682],[56.154492,24.795508],[56.204688,24.833301],[56.267871,24.866699],[56.313574,24.931299],[56.35293,24.973291],[56.387988,24.979199],[56.489844,24.716357],[56.640625,24.470312],[56.774121,24.33457],[56.9125,24.150195],[57.123047,23.980713],[57.219824,23.922754],[57.611328,23.803662],[57.825098,23.759131],[58.12041,23.716553],[58.324512,23.623828],[58.393164,23.618164],[58.5,23.645654],[58.578027,23.643457],[58.773047,23.517187],[58.830371,23.397461],[58.911523,23.33418],[58.983398,23.234717],[59.029883,23.130566],[59.194727,22.971875],[59.310938,22.793359],[59.429395,22.66084],[59.535156,22.578516],[59.695605,22.546143],[59.823242,22.508984],[59.8375,22.420557],[59.824414,22.305176],[59.8,22.219922],[59.680859,22.053809],[59.652539,21.951367],[59.517578,21.782324],[59.371484,21.498828],[59.304492,21.435352],[59.06875,21.289062],[58.895703,21.112793],[58.69043,20.807129],[58.53418,20.503906],[58.474219,20.406885],[58.34873,20.386914],[58.266016,20.395459],[58.208984,20.423975],[58.231641,20.506836],[58.24502,20.599219],[58.169434,20.589502],[58.10293,20.570361],[57.947168,20.343604],[57.861816,20.244141],[57.843652,20.117725],[57.802148,19.95459],[57.741211,19.804492],[57.71416,19.678418],[57.715137,19.606934],[57.76084,19.432227],[57.763965,19.25332],[57.790332,19.145947],[57.811621,19.01709],[57.738477,18.977344],[57.675781,18.957861],[57.42793,18.943799],[57.176563,18.902588],[56.957227,18.827832],[56.825977,18.753516],[56.655078,18.587354],[56.550781,18.165967],[56.383496,17.987988],[56.270313,17.950781],[55.997656,17.935205],[55.613867,17.886084],[55.479102,17.843262],[55.255371,17.585645],[55.238184,17.504736],[55.281445,17.44624],[55.295605,17.381592],[55.275195,17.320898],[55.17373,17.157617],[55.06416,17.038916],[54.771875,16.964648],[54.664648,17.008887],[54.566504,17.03125],[54.376953,17.033643],[54.068164,17.005518],[53.954395,16.917822],[53.775391,16.855713],[53.609863,16.759961],[53.297754,16.72334],[53.085645,16.648389]]],[[[56.297852,25.650684],[56.278516,25.627734],[56.249512,25.625391],[56.183594,25.644922],[56.144629,25.690527],[56.151953,25.746094],[56.154102,25.848486],[56.172559,25.945166],[56.16748,26.047461],[56.116504,26.068164],[56.080469,26.062646],[56.164453,26.207031],[56.197266,26.229199],[56.228418,26.219775],[56.305566,26.235205],[56.346484,26.313623],[56.378711,26.356348],[56.413086,26.351172],[56.429785,26.327197],[56.417773,26.208154],[56.416406,26.10874],[56.373633,25.80459],[56.329297,25.751953],[56.307227,25.709326],[56.297852,25.650684]]],[[[56.281836,25.235547],[56.240234,25.208838],[56.210547,25.213281],[56.216504,25.266699],[56.234277,25.303809],[56.277344,25.300879],[56.287793,25.278613],[56.281836,25.235547]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":3,"SOVEREIGNT":"Norway","SOV_A3":"NOR","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":null,"ADMIN":"Norway","ADM0_A3":"NOR","GEOU_DIF":0,"GEOUNIT":"Norway","GU_A3":"NOR","SU_DIF":0,"SUBUNIT":"Norway","SU_A3":"NOR","BRK_DIFF":0,"NAME":"Norway","NAME_LONG":"Norway","BRK_A3":"NOR","BRK_NAME":"Norway","BRK_GROUP":null,"ABBREV":"Nor.","POSTAL":"N","FORMAL_EN":"Kingdom of Norway","FORMAL_FR":null,"NAME_CIAWF":"Norway","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Norway","NAME_ALT":null,"MAPCOLOR7":5,"MAPCOLOR8":3,"MAPCOLOR9":8,"MAPCOLOR13":12,"POP_EST":5347896,"POP_RANK":13,"POP_YEAR":2019,"GDP_MD":403336,"GDP_YEAR":2019,"ECONOMY":"2. Developed region: nonG7","INCOME_GRP":"1. High income: OECD","FIPS_10":"-99","ISO_A2":"-99","ISO_A2_EH":"NO","ISO_A3":"-99","ISO_A3_EH":"NOR","ISO_N3":"-99","ISO_N3_EH":"578","UN_A3":"-99","WB_A2":"-99","WB_A3":"-99","WOE_ID":-90,"WOE_ID_EH":23424910,"WOE_NOTE":"Does not include Svalbard, Jan Mayen, or Bouvet Islands (28289410).","ADM0_ISO":"NOR","ADM0_DIFF":null,"ADM0_TLC":"NOR","ADM0_A3_US":"NOR","ADM0_A3_FR":"NOR","ADM0_A3_RU":"NOR","ADM0_A3_ES":"NOR","ADM0_A3_CN":"NOR","ADM0_A3_TW":"NOR","ADM0_A3_IN":"NOR","ADM0_A3_NP":"NOR","ADM0_A3_PK":"NOR","ADM0_A3_DE":"NOR","ADM0_A3_GB":"NOR","ADM0_A3_BR":"NOR","ADM0_A3_IL":"NOR","ADM0_A3_PS":"NOR","ADM0_A3_SA":"NOR","ADM0_A3_EG":"NOR","ADM0_A3_MA":"NOR","ADM0_A3_PT":"NOR","ADM0_A3_AR":"NOR","ADM0_A3_JP":"NOR","ADM0_A3_KO":"NOR","ADM0_A3_VN":"NOR","ADM0_A3_TR":"NOR","ADM0_A3_ID":"NOR","ADM0_A3_PL":"NOR","ADM0_A3_GR":"NOR","ADM0_A3_IT":"NOR","ADM0_A3_NL":"NOR","ADM0_A3_SE":"NOR","ADM0_A3_BD":"NOR","ADM0_A3_UA":"NOR","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Europe","REGION_UN":"Europe","SUBREGION":"Northern Europe","REGION_WB":"Europe & Central Asia","NAME_LEN":6,"LONG_LEN":6,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":3,"MAX_LABEL":7,"LABEL_X":9.679975,"LABEL_Y":61.357092,"NE_ID":1159321109,"WIKIDATAID":"Q20","NAME_AR":"النرويج","NAME_BN":"নরওয়ে","NAME_DE":"Norwegen","NAME_EN":"Norway","NAME_ES":"Noruega","NAME_FA":"نروژ","NAME_FR":"Norvège","NAME_EL":"Νορβηγία","NAME_HE":"נורווגיה","NAME_HI":"नॉर्वे","NAME_HU":"Norvégia","NAME_ID":"Norwegia","NAME_IT":"Norvegia","NAME_JA":"ノルウェー","NAME_KO":"노르웨이","NAME_NL":"Noorwegen","NAME_PL":"Norwegia","NAME_PT":"Noruega","NAME_RU":"Норвегия","NAME_SV":"Norge","NAME_TR":"Norveç","NAME_UK":"Норвегія","NAME_UR":"ناروے","NAME_VI":"Na Uy","NAME_ZH":"挪威","NAME_ZHT":"挪威","FCLASS_ISO":"Unrecognized","TLC_DIFF":null,"FCLASS_TLC":"Unrecognized","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[-9.098877,58.020947,33.629297,80.477832],"geometry":{"type":"MultiPolygon","coordinates":[[[[20.622168,69.036865],[20.491992,69.033301],[20.116699,69.020898],[20.282324,68.934326],[20.337109,68.899658],[20.348047,68.84873],[20.319434,68.754053],[20.240039,68.673145],[20.147461,68.607324],[19.968848,68.542041],[20.240039,68.477539],[20.055957,68.390381],[19.969824,68.356396],[19.87002,68.362256],[19.691211,68.392432],[19.258984,68.465332],[19.052637,68.492725],[18.868262,68.501123],[18.769824,68.500049],[18.378613,68.562402],[18.303027,68.55542],[18.162598,68.528418],[18.14707,68.467773],[18.155957,68.316846],[18.17666,68.200635],[18.125,68.133447],[18.073242,68.087842],[17.916699,67.964893],[17.564746,68.048438],[17.324609,68.103809],[17.170508,68.030127],[16.783594,67.89502],[16.585547,67.62832],[16.574121,67.61958],[16.457129,67.551758],[16.307129,67.520605],[16.193555,67.505176],[16.127441,67.42583],[16.281543,67.312061],[16.360645,67.252002],[16.434277,67.155078],[16.420703,67.093359],[16.403516,67.05498],[16.237695,66.976416],[15.88418,66.768848],[15.557031,66.5521],[15.422949,66.489844],[15.483789,66.305957],[15.374902,66.252051],[15.15332,66.191064],[15.040039,66.167529],[14.917969,66.153711],[14.543262,66.129346],[14.609961,65.932275],[14.635156,65.84502],[14.63457,65.793262],[14.595801,65.742871],[14.549512,65.646387],[14.479688,65.301465],[14.42627,65.264355],[14.352441,65.17085],[14.115137,64.946143],[13.924805,64.796777],[13.650293,64.581543],[13.873535,64.513574],[14.077637,64.464014],[14.119922,64.387744],[14.148047,64.260303],[14.141211,64.173535],[14.063281,64.095508],[14.002734,64.040723],[13.960547,64.014014],[13.670703,64.040625],[13.299609,64.074805],[13.203516,64.075098],[12.987598,64.050488],[12.792773,64],[12.690039,63.957422],[12.6625,63.940479],[12.532715,63.843555],[12.301953,63.671191],[12.175195,63.595947],[12.212109,63.492236],[11.999902,63.291699],[12.138672,63.08916],[12.144629,63.08252],[12.218164,63.000635],[12.141016,62.947852],[12.108594,62.919482],[12.119629,62.825928],[12.139844,62.721338],[12.121875,62.66001],[12.114551,62.591895],[12.303516,62.285596],[12.301367,62.21377],[12.291992,62.167432],[12.233691,61.976855],[12.155371,61.720752],[12.29209,61.653467],[12.486816,61.572998],[12.596094,61.541309],[12.75752,61.445703],[12.880762,61.352295],[12.863672,61.290283],[12.828223,61.221826],[12.776367,61.173975],[12.727832,61.108252],[12.706055,61.059863],[12.683008,61.046826],[12.467578,61.041504],[12.353711,61.023193],[12.294141,61.002686],[12.314648,60.892139],[12.445312,60.689648],[12.553809,60.545654],[12.588672,60.450732],[12.552832,60.354492],[12.51582,60.305225],[12.514648,60.238867],[12.486133,60.106787],[12.402051,60.040039],[12.291992,59.967236],[12.169238,59.912891],[12.071875,59.897607],[11.988281,59.891309],[11.932129,59.863672],[11.88125,59.782471],[11.834277,59.697168],[11.680762,59.592285],[11.684863,59.555762],[11.743359,59.431445],[11.798145,59.289893],[11.751855,59.157568],[11.712207,59.018652],[11.642773,58.926074],[11.543555,58.893018],[11.470703,58.909521],[11.388281,59.036523],[11.386426,59.065723],[11.365918,59.104541],[11.132129,59.143213],[11.09082,59.141797],[10.998926,59.164453],[10.94502,59.17085],[10.834473,59.183936],[10.742578,59.295996],[10.644922,59.389209],[10.631055,59.428174],[10.634375,59.60249],[10.604492,59.680029],[10.595313,59.764551],[10.533887,59.695801],[10.569531,59.587109],[10.49375,59.541504],[10.398145,59.519336],[10.407129,59.455664],[10.446387,59.443604],[10.45459,59.37749],[10.431348,59.279639],[10.243164,59.062061],[10.205176,59.038672],[10.179395,59.009277],[10.083105,59.028809],[9.95957,58.968213],[9.842578,58.958496],[9.800195,59.027051],[9.635156,59.117773],[9.557227,59.112695],[9.627148,59.06792],[9.696094,59.009717],[9.656934,58.971191],[9.618457,58.946045],[9.551074,58.933008],[9.309961,58.856836],[9.395801,58.805664],[9.322949,58.747559],[9.238672,58.739014],[9.19375,58.711865],[9.178125,58.675],[8.928418,58.569971],[8.521387,58.300586],[8.312207,58.224463],[8.166113,58.145313],[8.037402,58.147266],[7.875586,58.07998],[7.465918,58.020947],[7.194141,58.047656],[7.004883,58.024219],[6.903418,58.070508],[6.890234,58.102295],[6.895313,58.120752],[6.912305,58.142871],[6.877051,58.150732],[6.802832,58.154541],[6.771094,58.132227],[6.766797,58.081543],[6.731445,58.068311],[6.590527,58.097314],[6.555078,58.123437],[6.605762,58.176367],[6.69248,58.224023],[6.676758,58.233789],[6.659863,58.262744],[6.617578,58.266406],[6.491504,58.259424],[6.389063,58.267969],[6.054688,58.375146],[5.976562,58.432324],[5.706836,58.523633],[5.585938,58.62041],[5.517285,58.726514],[5.522461,58.822656],[5.555566,58.975195],[5.612207,59.012891],[5.854297,58.959473],[6.099023,58.870264],[6.137305,58.874658],[6.21416,58.944678],[6.363281,59.000928],[6.321094,59.016455],[6.099414,58.951953],[6.016992,58.987695],[5.88916,59.060498],[5.88916,59.097949],[5.94873,59.135449],[5.968555,59.186133],[5.937305,59.233984],[5.951855,59.299072],[6.050684,59.368164],[6.198926,59.438086],[6.305664,59.505566],[6.415332,59.547119],[6.403906,59.560986],[6.278516,59.534521],[6.158594,59.489648],[6.017383,59.414453],[5.845215,59.353467],[5.717969,59.329834],[5.657324,59.310254],[5.564063,59.291211],[5.467578,59.203809],[5.362305,59.166357],[5.173242,59.162549],[5.131641,59.226465],[5.185059,59.453662],[5.242188,59.564307],[5.304883,59.642578],[5.403516,59.655762],[5.472461,59.713086],[5.529688,59.713086],[5.579492,59.686621],[5.772168,59.660938],[5.867285,59.733984],[5.991016,59.744678],[6.216602,59.818359],[6.211914,59.831787],[6.059277,59.815576],[5.966699,59.813184],[5.833984,59.794678],[5.763477,59.80791],[5.730469,59.863086],[5.783594,59.912793],[5.996484,60.031494],[6.069922,60.083496],[6.111816,60.13208],[6.105176,60.165137],[6.140527,60.233496],[6.34873,60.352979],[6.518066,60.407568],[6.573633,60.360596],[6.526367,60.213623],[6.526855,60.15293],[6.660938,60.367236],[6.719922,60.418164],[6.787109,60.454102],[6.949707,60.478223],[6.995703,60.511963],[6.806348,60.500781],[6.346973,60.419092],[6.15332,60.34624],[6.101758,60.290137],[5.967383,60.205566],[5.904395,60.150635],[5.876563,60.07002],[5.800879,60.026221],[5.698828,60.01001],[5.557031,59.907764],[5.494531,59.825586],[5.353418,59.760107],[5.263867,59.709766],[5.234473,59.691797],[5.186035,59.642285],[5.145801,59.638818],[5.110742,59.667822],[5.104883,59.731689],[5.119238,59.833691],[5.187109,59.90708],[5.219531,59.97876],[5.174414,60.045703],[5.205664,60.087939],[5.26543,60.086475],[5.376465,60.067236],[5.494531,60.070312],[5.688574,60.123193],[5.657617,60.154102],[5.573828,60.158496],[5.417383,60.154102],[5.28584,60.205713],[5.183594,60.308398],[5.137109,60.445605],[5.168164,60.484814],[5.546484,60.624561],[5.64834,60.687988],[5.589355,60.694287],[5.447363,60.617334],[5.244043,60.56958],[5.11582,60.635986],[5.049121,60.70752],[5.010742,60.858545],[5.024609,60.936133],[5.008594,61.038184],[5.09541,61.071338],[5.19248,61.053711],[5.288184,61.047168],[5.505273,61.056104],[5.983984,61.117334],[6.292578,61.080957],[6.417969,61.084277],[6.609863,61.137012],[6.777832,61.142432],[6.903418,61.102148],[6.97207,61.055957],[6.980566,60.994141],[7.038672,60.95293],[7.07793,60.966309],[7.04668,61.015283],[7.040137,61.091162],[7.54502,61.177148],[7.604492,61.210547],[7.403906,61.222168],[7.346582,61.300586],[7.452539,61.419238],[7.442578,61.434619],[7.331152,61.372021],[7.27627,61.283936],[7.298047,61.213623],[7.275977,61.180957],[7.173535,61.165967],[6.942578,61.160547],[6.794336,61.190381],[6.657031,61.206592],[6.610254,61.229102],[6.625879,61.279297],[6.599902,61.289648],[6.543066,61.244531],[6.492578,61.15459],[6.383496,61.133887],[6.08252,61.167285],[5.646777,61.147607],[5.45127,61.102344],[5.324609,61.108252],[5.106738,61.187549],[5.02168,61.250586],[4.989941,61.377686],[5.002734,61.433594],[5.172461,61.457129],[5.258301,61.455469],[5.338672,61.485498],[5.267578,61.505029],[5.167578,61.543359],[5.099414,61.620166],[4.99668,61.645215],[4.927832,61.710693],[4.910352,61.80957],[4.930078,61.87832],[4.985059,61.900439],[5.116992,61.8854],[5.465332,61.896924],[5.793262,61.8271],[6.01582,61.7875],[6.466699,61.807422],[6.730762,61.869775],[6.682324,61.887012],[6.395898,61.850977],[6.131152,61.852441],[5.664453,61.9229],[5.473047,61.945605],[5.266895,61.935596],[5.15957,61.956982],[5.096484,62.02666],[5.143164,62.159912],[5.240918,62.188672],[5.293848,62.153906],[5.357715,62.151709],[5.422363,62.207373],[5.484277,62.239111],[5.533301,62.310889],[5.718164,62.378906],[5.796289,62.384668],[5.908301,62.416016],[5.979785,62.407129],[6.025586,62.375684],[6.083496,62.349609],[6.208984,62.352783],[6.580078,62.407275],[6.62002,62.423291],[6.692383,62.468066],[6.457129,62.448096],[6.261719,62.416309],[6.136133,62.407471],[6.118457,62.447168],[6.164746,62.482422],[6.2375,62.519922],[6.272852,62.583838],[6.35293,62.611133],[6.439453,62.609668],[6.618359,62.621289],[6.744629,62.637891],[6.961133,62.626758],[7.283789,62.602295],[7.491797,62.542822],[7.570117,62.548193],[7.653125,62.564014],[7.690723,62.585596],[7.527441,62.610303],[7.518164,62.645508],[7.538379,62.67207],[7.804688,62.720996],[8.095508,62.731836],[8.045508,62.77124],[7.408398,62.711768],[7.24209,62.752344],[7.11084,62.752002],[7.024902,62.728809],[6.77998,62.700732],[6.734961,62.720703],[6.781543,62.789648],[6.928223,62.902734],[6.94043,62.930469],[7.008496,62.957666],[7.389063,63.023291],[7.571875,63.099512],[7.654297,63.10918],[7.736035,63.103857],[7.860352,63.112793],[8.100586,63.090967],[8.211133,62.995508],[8.310547,62.965527],[8.623145,62.84624],[8.60918,62.880566],[8.338574,63.042187],[8.235156,63.082178],[8.158008,63.161523],[8.184473,63.236523],[8.271484,63.286572],[8.580176,63.313379],[8.635547,63.342334],[8.641016,63.39209],[8.59375,63.426123],[8.480176,63.42417],[8.386523,63.445264],[8.360742,63.498877],[8.398145,63.535107],[8.576172,63.601172],[8.673633,63.622607],[8.842383,63.645898],[9.13584,63.593652],[9.158105,63.56626],[9.075879,63.500391],[9.08418,63.463428],[9.156055,63.459326],[9.323633,63.570361],[9.520703,63.585693],[9.602246,63.60957],[9.696875,63.624561],[9.832227,63.52417],[9.891504,63.492041],[9.936035,63.478857],[9.979199,63.395264],[10.020996,63.39082],[10.080566,63.432715],[10.188574,63.454785],[10.340039,63.469336],[10.590918,63.447217],[10.704492,63.463574],[10.760156,63.461279],[10.706738,63.536328],[10.673633,63.558008],[10.725293,63.625],[10.779199,63.651172],[10.952539,63.698193],[11.117871,63.719189],[11.225781,63.763818],[11.370703,63.804834],[11.347949,63.837695],[11.307617,63.875732],[11.213867,63.878125],[11.175586,63.898877],[11.294629,63.948193],[11.457617,64.002979],[11.429199,64.024512],[11.306641,64.048877],[11.213574,64.030518],[11.075195,63.988135],[10.914258,63.921094],[10.966699,63.901562],[11.047266,63.845215],[10.934863,63.770215],[10.33916,63.571045],[10.055078,63.512695],[9.924023,63.521777],[9.892773,63.576221],[9.832324,63.616504],[9.76748,63.699512],[9.657227,63.697314],[9.594629,63.678955],[9.567285,63.706152],[9.614746,63.794824],[9.708008,63.864893],[9.864453,63.917822],[9.939453,63.981738],[10.009961,64.083154],[10.23623,64.179639],[10.565625,64.418311],[10.833984,64.494482],[10.932324,64.577734],[11.09043,64.614551],[11.225391,64.679492],[11.331348,64.685937],[11.523828,64.744385],[11.63291,64.813916],[11.561719,64.818262],[11.39248,64.772998],[11.296777,64.754785],[11.303516,64.829395],[11.349902,64.905908],[11.489355,64.97583],[12.159668,65.178955],[12.226562,65.145361],[12.306543,65.085986],[12.508398,65.099414],[12.738379,65.214404],[12.915527,65.339258],[12.819824,65.31748],[12.715332,65.266357],[12.511719,65.195312],[12.417578,65.184082],[12.363867,65.193311],[12.333984,65.240723],[12.263379,65.256104],[12.199609,65.245459],[12.133887,65.27915],[12.122168,65.362354],[12.20625,65.48623],[12.272852,65.568164],[12.344824,65.630176],[12.627734,65.806152],[12.688867,65.902197],[12.816797,65.952881],[12.983008,65.941602],[13.033105,65.95625],[12.976074,66.019189],[12.794922,66.069092],[12.783789,66.100439],[13.387109,66.182764],[13.674414,66.17998],[13.759668,66.221045],[13.91582,66.247363],[14.03418,66.297559],[13.973145,66.319727],[13.681348,66.273584],[13.498926,66.251904],[13.416406,66.252588],[13.352051,66.236719],[13.118848,66.230664],[13.068164,66.430811],[13.104688,66.539404],[13.191602,66.537158],[13.211426,66.64082],[13.311816,66.701855],[13.450391,66.715527],[13.520215,66.74165],[13.621094,66.794824],[13.787988,66.782471],[13.959473,66.794336],[13.916992,66.819385],[13.704102,66.85166],[13.651563,66.90708],[13.72666,66.938037],[13.808398,66.960791],[13.880176,66.964893],[14.022363,67.073096],[14.108789,67.119238],[14.205566,67.11123],[14.340332,67.158936],[14.472656,67.142676],[14.600684,67.173877],[14.775586,67.194482],[15.415723,67.202441],[15.434766,67.24668],[15.300098,67.256934],[14.824414,67.268311],[14.581543,67.267432],[14.479297,67.255957],[14.441699,67.271387],[14.44834,67.297852],[14.536621,67.339746],[14.578516,67.386035],[14.75498,67.499023],[14.961914,67.574268],[15.120508,67.555029],[15.28916,67.483154],[15.409375,67.47417],[15.465332,67.450928],[15.55293,67.351758],[15.594434,67.348535],[15.575684,67.443848],[15.691504,67.521387],[15.661328,67.542822],[15.487305,67.514795],[15.354004,67.543945],[15.24873,67.602148],[15.218652,67.655371],[15.284082,67.707959],[15.345801,67.734424],[15.303906,67.765283],[15.04082,67.682568],[14.854688,67.66333],[14.781348,67.674902],[14.821094,67.749854],[14.798926,67.809326],[15.048438,67.955762],[15.134277,67.972705],[15.274414,67.960938],[15.400879,67.919629],[15.506641,67.926221],[15.621387,67.948291],[15.605762,67.987891],[15.356934,68.003613],[15.292871,68.036475],[15.316016,68.06875],[15.486816,68.102832],[15.656641,68.164355],[15.85127,68.182178],[16.00791,68.228711],[16.038086,68.218164],[16.064551,68.199902],[16.120801,68.027344],[16.260742,67.886572],[16.312305,67.881445],[16.258594,68.001221],[16.308691,68.035645],[16.372168,68.061816],[16.391992,68.091602],[16.319238,68.101758],[16.259766,68.144531],[16.174805,68.28125],[16.203809,68.316748],[16.387891,68.389551],[16.618848,68.406299],[16.864941,68.355273],[16.951367,68.354687],[17.094043,68.368408],[17.336133,68.410352],[17.478516,68.426318],[17.552832,68.42627],[17.571191,68.447461],[17.502344,68.461084],[17.480176,68.474316],[17.426172,68.481934],[17.202344,68.459277],[16.584863,68.466455],[16.525293,68.490674],[16.514355,68.532568],[16.579883,68.592676],[16.651855,68.625781],[16.884668,68.6854],[17.131152,68.693457],[17.39082,68.799365],[17.490039,68.87876],[17.546289,69.001123],[17.70459,69.100049],[18.101465,69.156299],[18.11748,69.181201],[18.075391,69.232617],[18.078711,69.325244],[18.1875,69.433105],[18.259766,69.470605],[18.293164,69.475098],[18.378711,69.439844],[18.482617,69.364844],[18.645508,69.321875],[18.858984,69.314453],[18.915918,69.335596],[18.75,69.378418],[18.624414,69.434375],[18.614453,69.490576],[18.674023,69.520361],[18.766602,69.517041],[18.882812,69.52334],[18.991113,69.561133],[19.006836,69.587695],[19.011328,69.62373],[19.038379,69.6604],[19.197266,69.747852],[19.687012,69.804736],[19.722461,69.781641],[19.695996,69.612939],[19.639746,69.503809],[19.641504,69.424023],[19.736816,69.503809],[19.864648,69.722119],[19.960547,69.824609],[20.068945,69.883447],[20.146387,69.896729],[20.223047,69.927197],[20.324219,69.945312],[20.355176,69.921924],[20.387207,69.867627],[20.332715,69.676953],[20.338184,69.61665],[20.277148,69.53584],[20.04375,69.355664],[20.054492,69.332666],[20.107227,69.341211],[20.197656,69.370947],[20.486719,69.54209],[20.739453,69.520508],[20.742578,69.534521],[20.661523,69.584717],[20.5625,69.632812],[20.532715,69.692334],[20.545996,69.851074],[20.62207,69.913916],[20.840332,69.907324],[20.971094,69.916016],[21.032129,69.887451],[21.163086,69.889502],[21.253711,70.003223],[21.43291,70.013184],[21.590234,69.938037],[21.77959,69.887451],[21.931738,69.814697],[21.974707,69.83457],[21.892578,70.004248],[21.802734,70.066064],[21.607813,70.098193],[21.400391,70.174463],[21.346289,70.208252],[21.355762,70.233398],[21.53877,70.257666],[21.780273,70.229883],[21.995508,70.293359],[22.054395,70.275977],[22.219434,70.30918],[22.321973,70.264502],[22.384766,70.277734],[22.421191,70.337598],[22.68457,70.374756],[22.85166,70.340479],[22.941211,70.30498],[22.982813,70.236768],[23.046484,70.101855],[23.176953,70.029053],[23.25791,69.993311],[23.353906,69.983398],[23.400195,70.019775],[23.310254,70.063574],[23.286035,70.104834],[23.329102,70.207227],[23.379395,70.247461],[23.66123,70.399756],[23.897168,70.47876],[24.038477,70.485352],[24.285547,70.662402],[24.355566,70.69458],[24.42002,70.702002],[24.403516,70.745312],[24.268164,70.772705],[24.263477,70.826318],[24.441797,70.891553],[24.658008,71.001025],[24.764746,71.008447],[24.831641,70.978027],[25.042188,70.928613],[25.171191,70.872021],[25.264648,70.843506],[25.325391,70.849414],[25.375586,70.891943],[25.435938,70.911865],[25.569824,70.900684],[25.649707,70.87334],[25.711914,70.869727],[25.768164,70.853174],[25.781445,70.816797],[25.665625,70.777148],[25.468262,70.671973],[25.273535,70.552393],[25.209277,70.489404],[25.146387,70.324023],[24.994238,70.218213],[24.982715,70.143994],[25.043848,70.109033],[25.211816,70.136475],[25.418848,70.235498],[25.470508,70.340576],[25.988086,70.625391],[26.230859,70.782617],[26.506934,70.912793],[26.661328,70.939746],[26.733984,70.853564],[26.675488,70.740967],[26.558203,70.669141],[26.644629,70.63623],[26.628125,70.550879],[26.601172,70.503467],[26.583984,70.453809],[26.585059,70.41001],[26.666113,70.42168],[26.989355,70.511377],[27.071289,70.608447],[27.147266,70.681201],[27.183691,70.744043],[27.309375,70.803564],[27.546484,70.804004],[27.555664,70.827393],[27.269043,70.91001],[27.235254,70.947217],[27.331641,70.996729],[27.59707,71.091309],[27.733496,71.080859],[27.815039,71.059375],[28.141699,71.043018],[28.392285,70.975293],[28.382715,70.869434],[28.326855,70.825195],[28.271875,70.797949],[27.950977,70.717578],[27.898047,70.67793],[27.998828,70.664258],[28.215625,70.704346],[28.271777,70.667969],[28.202734,70.576904],[28.191016,70.440186],[28.166016,70.3604],[28.166016,70.287646],[28.192969,70.248584],[28.280078,70.403418],[28.309863,70.443066],[28.437305,70.501367],[28.484766,70.618799],[28.609375,70.759668],[28.749805,70.841504],[28.831543,70.863965],[29.102344,70.860742],[29.218555,70.829932],[29.321094,70.761475],[29.397656,70.734131],[29.639063,70.705029],[29.721973,70.668555],[29.7375,70.646826],[29.796484,70.642529],[29.959375,70.694385],[30.065137,70.702979],[30.237695,70.622168],[30.203027,70.562305],[30.213184,70.543311],[30.42207,70.547168],[30.595898,70.523682],[30.926367,70.401123],[30.960645,70.343848],[30.944141,70.274414],[30.468945,70.197852],[30.262988,70.124707],[29.925879,70.096484],[28.781152,70.14541],[28.804297,70.092529],[29.601367,69.976758],[29.646875,69.943701],[29.621387,69.874072],[29.620996,69.818213],[29.635938,69.780127],[29.694629,69.74458],[29.79209,69.727881],[29.990332,69.73667],[30.088281,69.717578],[30.155176,69.745947],[30.180078,69.841162],[30.237598,69.862207],[30.348828,69.83457],[30.397266,69.732812],[30.42832,69.722266],[30.484375,69.794873],[30.594531,69.789648],[30.714453,69.795703],[30.869727,69.783447],[30.924121,69.651758],[30.922461,69.605811],[30.89668,69.56123],[30.860742,69.538428],[30.788867,69.528516],[30.61543,69.532568],[30.379688,69.584717],[30.227539,69.633789],[30.180176,69.63584],[30.159766,69.629883],[30.196484,69.580566],[30.186719,69.542773],[30.16377,69.501611],[30.131836,69.464258],[30.087305,69.432861],[29.994043,69.39248],[29.832715,69.360449],[29.388281,69.298145],[29.353027,69.270605],[29.209961,69.097021],[29.170898,69.071533],[29.118555,69.049951],[28.96582,69.021973],[28.891895,69.060596],[28.832617,69.118994],[28.846289,69.176904],[29.024902,69.287988],[29.191797,69.366699],[29.238867,69.393945],[29.333398,69.472998],[29.141602,69.671436],[28.800391,69.731494],[28.411719,69.822754],[28.269141,69.871436],[28.047266,69.97168],[27.889941,70.06167],[27.747852,70.064844],[27.591699,70.042236],[27.348047,69.960059],[27.205664,69.918701],[27.127539,69.906494],[27.108691,69.904687],[26.934277,69.928125],[26.740234,69.933057],[26.584277,69.926318],[26.525391,69.915039],[26.308203,69.781934],[26.156152,69.714697],[26.072461,69.691553],[26.011523,69.652637],[25.961523,69.588623],[25.850195,69.366504],[25.767188,69.282666],[25.748633,69.231445],[25.768164,69.076123],[25.74834,68.990137],[25.64668,68.919141],[25.575293,68.887158],[25.480859,68.880615],[25.357129,68.862451],[25.249121,68.821338],[25.172852,68.765283],[25.086914,68.6396],[24.941406,68.593262],[24.802441,68.606494],[24.703223,68.652832],[24.490527,68.688672],[24.332031,68.711523],[24.154102,68.760889],[23.997363,68.798438],[23.854004,68.805908],[23.772559,68.758398],[23.707031,68.713867],[23.4625,68.677637],[23.324023,68.648975],[23.144336,68.642578],[23.07168,68.674365],[22.811035,68.695312],[22.500684,68.720215],[22.410938,68.719873],[22.38291,68.776611],[22.300391,68.855859],[22.079688,68.992773],[21.989453,69.041113],[21.819727,69.154492],[21.621777,69.270703],[21.59375,69.273584],[21.46123,69.27749],[21.266797,69.273682],[21.14375,69.247266],[21.066113,69.214111],[21.052637,69.186572],[21.127832,69.080811],[21.104492,69.054443],[21.065723,69.041748],[20.889258,69.071436],[20.675879,69.069482],[20.622168,69.036865]]],[[[4.958691,61.08457],[4.870117,61.071924],[4.799023,61.082715],[4.824414,61.178223],[4.861621,61.193848],[4.91543,61.199365],[4.973242,61.148242],[4.958691,61.08457]]],[[[5.08584,60.307568],[5.089063,60.18877],[4.996973,60.197754],[4.955566,60.243311],[4.943555,60.272412],[4.950781,60.341162],[4.930078,60.412061],[4.957227,60.447266],[4.990625,60.452051],[5.050195,60.388965],[5.08584,60.307568]]],[[[29.956152,69.796777],[29.766211,69.767529],[29.744238,69.791602],[29.785938,69.829053],[29.83584,69.905566],[29.913965,69.902441],[29.992969,69.873242],[30.055176,69.838379],[29.956152,69.796777]]],[[[11.967969,65.626514],[11.901855,65.595703],[11.77832,65.604541],[11.765137,65.630957],[11.800391,65.683887],[11.875391,65.705908],[11.972363,65.701562],[12.003223,65.679443],[11.967969,65.626514]]],[[[8.470801,63.667139],[8.356152,63.664795],[8.287109,63.687158],[8.45127,63.731836],[8.708887,63.774316],[8.733398,63.801318],[8.764648,63.804639],[8.80918,63.771436],[8.814844,63.725977],[8.786523,63.703467],[8.470801,63.667139]]],[[[8.102734,63.337598],[8.004688,63.336914],[7.888281,63.352344],[7.815332,63.385059],[7.804004,63.413916],[7.938379,63.449805],[8.073535,63.470801],[8.136133,63.431348],[8.140918,63.366406],[8.102734,63.337598]]],[[[23.440527,70.815771],[23.420898,70.784424],[23.387109,70.753906],[23.305176,70.72168],[23.068164,70.594092],[22.928906,70.573535],[22.884766,70.553516],[22.829102,70.541553],[22.656055,70.559033],[22.605371,70.533154],[22.55752,70.515869],[22.432227,70.50918],[22.358691,70.514795],[22.16875,70.562109],[22.055762,70.61333],[21.994531,70.657129],[22.17002,70.656299],[22.232617,70.666895],[22.350293,70.657666],[22.420996,70.702588],[22.570703,70.697168],[22.858105,70.728418],[22.963574,70.710986],[23.204688,70.815479],[23.280176,70.812744],[23.395605,70.842578],[23.440527,70.815771]]],[[[25.586328,71.14209],[25.853516,71.103857],[25.94502,71.104639],[26.077637,71.033154],[26.146875,71.039502],[26.133789,70.995801],[25.999707,70.975098],[25.791309,70.9625],[25.760156,70.953809],[25.582031,70.960791],[25.482031,71.01958],[25.314941,71.034131],[25.315234,71.052979],[25.423438,71.097412],[25.586328,71.14209]]],[[[23.615332,70.549316],[23.633984,70.502539],[23.641016,70.463965],[23.547754,70.408154],[23.332813,70.334961],[23.345117,70.315283],[23.270703,70.296484],[23.15918,70.282617],[23.100293,70.296094],[23.108398,70.358838],[23.090625,70.377637],[23.005957,70.352783],[22.917871,70.384668],[22.917773,70.416748],[22.941016,70.44458],[23.022461,70.486914],[23.158398,70.516064],[23.248047,70.505127],[23.54668,70.61709],[23.578906,70.593652],[23.615332,70.549316]]],[[[24.017578,70.567383],[23.827148,70.52749],[23.716602,70.561865],[23.670117,70.59707],[23.663281,70.675244],[23.68916,70.722803],[23.778418,70.747363],[23.836523,70.729395],[23.852051,70.714355],[23.956445,70.699609],[24.07832,70.650586],[24.017578,70.567383]]],[[[13.872852,68.265332],[13.932324,68.248242],[14.087695,68.253223],[14.118848,68.246826],[14.096777,68.218604],[14.029297,68.187549],[13.887695,68.168506],[13.824023,68.121094],[13.778418,68.10498],[13.656152,68.104785],[13.583984,68.093848],[13.495215,68.05166],[13.424219,68.082764],[13.404395,68.060693],[13.391504,68.02124],[13.352051,68.009668],[13.229395,67.995361],[13.199512,68.087256],[13.255957,68.120605],[13.300195,68.160449],[13.367969,68.166553],[13.428711,68.163232],[13.537988,68.249023],[13.687695,68.273389],[13.784082,68.276123],[13.872852,68.265332]]],[[[12.971777,67.874121],[12.824023,67.82124],[12.87793,67.917773],[12.957715,68.015479],[13.068066,68.071338],[13.122852,68.049414],[13.097754,68.002686],[13.098242,67.956445],[13.074609,67.93457],[12.971777,67.874121]]],[[[15.207129,68.943115],[15.337207,68.842432],[15.396582,68.783594],[15.348438,68.672412],[15.22207,68.616309],[15.027051,68.606348],[14.890234,68.610986],[14.804004,68.637988],[14.793262,68.668262],[14.743457,68.677197],[14.612109,68.63833],[14.520801,68.633057],[14.404688,68.663232],[14.373438,68.711426],[14.49668,68.771875],[14.553711,68.818848],[14.69043,68.814697],[14.724609,68.800098],[14.801855,68.790967],[14.848828,68.847559],[14.837988,68.88667],[14.872363,68.913867],[15.0375,68.894287],[15.037793,69.000537],[15.101855,69.008008],[15.128125,69.003955],[15.175586,68.981543],[15.207129,68.943115]]],[[[19.76748,70.216699],[19.818359,70.20498],[19.868652,70.212256],[19.910449,70.201904],[19.994141,70.149268],[20.084277,70.128564],[20.088477,70.102051],[20.005957,70.076221],[19.897266,70.068457],[19.780859,70.077441],[19.74668,70.110498],[19.71084,70.165332],[19.613477,70.219092],[19.599023,70.266162],[19.683789,70.273584],[19.76748,70.216699]]],[[[20.779199,70.089746],[20.725293,70.066504],[20.642578,70.057031],[20.598047,70.071436],[20.534668,70.080908],[20.464258,70.076562],[20.405078,70.119141],[20.411719,70.154883],[20.492773,70.20332],[20.654883,70.230859],[20.786035,70.219531],[20.819434,70.205469],[20.779199,70.089746]]],[[[19.255078,70.066406],[19.34375,70.011963],[19.422266,70.017188],[19.445898,70.037744],[19.499512,70.0479],[19.607813,70.019141],[19.592285,69.970166],[19.442383,69.908398],[19.334766,69.820264],[19.19707,69.799805],[19.130859,69.810449],[19.007812,69.75957],[18.90918,69.706689],[18.806934,69.639844],[18.800684,69.605371],[18.784766,69.579004],[18.410254,69.552832],[18.274121,69.535498],[18.129883,69.557861],[18.061523,69.6021],[18.083496,69.626123],[18.227441,69.635742],[18.232031,69.676758],[18.268457,69.701807],[18.315039,69.715479],[18.349316,69.767871],[18.40625,69.781543],[18.512402,69.768652],[18.583984,69.806592],[18.624316,69.813037],[18.674023,69.781641],[18.697949,69.824854],[18.674023,69.864307],[18.686523,69.890918],[18.823828,69.960107],[18.883203,70.010547],[18.968652,70.043018],[19.050977,70.037842],[19.074902,70.085693],[19.050977,70.134668],[19.060059,70.166602],[19.132715,70.244141],[19.212695,70.247461],[19.249414,70.178564],[19.255078,70.066406]]],[[[12.50957,65.901953],[12.429492,65.899072],[12.430176,65.939941],[12.476074,65.9771],[12.548828,66.001904],[12.642383,66.008545],[12.74707,66.011377],[12.778809,65.991699],[12.718652,65.963867],[12.50957,65.901953]]],[[[12.419922,66.043262],[12.327344,66.036621],[12.342773,66.080762],[12.417676,66.122656],[12.446387,66.151318],[12.461328,66.18501],[12.527441,66.210547],[12.620801,66.17793],[12.622656,66.122461],[12.576367,66.071924],[12.419922,66.043262]]],[[[11.231445,64.865869],[11.179004,64.838037],[11.0625,64.8604],[10.83252,64.843115],[10.739844,64.870312],[10.813477,64.923242],[11.020996,64.978711],[11.132617,64.976172],[11.246191,64.90791],[11.231445,64.865869]]],[[[17.503027,69.59624],[17.623242,69.539062],[17.677344,69.556543],[17.783691,69.563037],[17.862793,69.542969],[17.927441,69.506641],[18.004102,69.50498],[18.052246,69.45752],[18.076758,69.395752],[18.021094,69.349609],[17.94209,69.328711],[17.920703,69.274316],[17.950684,69.198145],[17.773535,69.172021],[17.568164,69.1604],[17.487891,69.196826],[17.323633,69.130029],[17.160938,69.025928],[17.08252,69.013672],[17.077051,69.046631],[16.960156,69.069385],[16.810449,69.070703],[16.81543,69.095117],[16.842578,69.112354],[16.971777,69.137891],[16.997559,69.190625],[16.974121,69.284717],[16.996875,69.330371],[17.001758,69.361914],[17.083008,69.398828],[17.36084,69.381494],[17.394531,69.416699],[17.373438,69.438867],[17.229883,69.477686],[17.251953,69.503809],[17.355566,69.527148],[17.453613,69.530176],[17.483105,69.569678],[17.488184,69.586865],[17.503027,69.59624]]],[[[15.760352,68.56123],[15.772363,68.554199],[15.908594,68.650488],[16.05957,68.680518],[16.068945,68.714014],[16.127441,68.746436],[16.120801,68.799365],[16.150586,68.842383],[16.227539,68.85376],[16.275586,68.868311],[16.328906,68.876318],[16.425195,68.841553],[16.479688,68.80293],[16.547363,68.716553],[16.519238,68.633008],[16.337988,68.567871],[16.193945,68.538477],[16.048438,68.463672],[15.975293,68.40249],[15.9125,68.389258],[15.872754,68.394238],[15.837402,68.409033],[15.763672,68.409082],[15.68252,68.356006],[15.4375,68.312842],[15.341406,68.325293],[15.337012,68.378223],[15.279688,68.373828],[15.187891,68.3104],[15.098047,68.289209],[15.037695,68.282715],[14.926855,68.306592],[14.628906,68.198486],[14.349512,68.178271],[14.25752,68.190771],[14.257227,68.256934],[14.437793,68.341553],[14.58584,68.400342],[15.095313,68.441406],[15.412598,68.61582],[15.489258,68.805322],[15.564258,68.87373],[15.529004,68.912402],[15.443652,68.919189],[15.438477,68.978564],[15.483008,69.043457],[15.649512,69.132568],[15.741992,69.170508],[15.892676,69.277881],[15.965332,69.302051],[16.048047,69.302051],[16.129492,69.273926],[16.114844,69.216406],[15.992676,69.112646],[15.811719,69.024219],[15.833789,68.960742],[15.905859,68.908496],[15.923535,68.819189],[15.92793,68.733203],[15.790723,68.617041],[15.760352,68.56123]]],[[[-8.953564,70.83916],[-9.045801,70.832666],[-9.098877,70.854883],[-8.964648,70.915918],[-8.520801,71.030664],[-8.343701,71.140137],[-8.001367,71.177686],[-7.978809,71.116895],[-8.0021,71.04126],[-8.302344,70.981152],[-8.635352,70.94043],[-8.953564,70.83916]]],[[[19.219336,74.391016],[19.098535,74.352148],[18.917578,74.410645],[18.797461,74.485693],[18.86123,74.51416],[19.18291,74.51792],[19.261523,74.478955],[19.274707,74.456738],[19.219336,74.391016]]],[[[26.875977,78.648926],[26.729492,78.646484],[26.45957,78.720264],[26.407715,78.784326],[26.455762,78.810498],[26.585938,78.811475],[26.78877,78.723975],[27.007617,78.69751],[26.875977,78.648926]]],[[[32.525977,80.119141],[31.577637,80.081445],[31.481934,80.10791],[33.019141,80.217969],[33.098633,80.228711],[33.383984,80.242334],[33.629297,80.217432],[33.556641,80.198145],[32.525977,80.119141]]],[[[21.608105,78.595703],[21.745605,78.572021],[22.043164,78.576953],[22.207324,78.407666],[22.299512,78.228174],[22.449316,78.215234],[22.73457,78.239941],[22.988867,78.251953],[23.119238,78.238623],[23.35166,78.186279],[23.451953,78.149463],[23.364648,78.120508],[23.151953,78.088086],[23.116699,77.991504],[23.330566,77.957861],[23.683984,77.875439],[23.883008,77.864746],[24.238281,77.898535],[24.571484,77.834424],[24.901855,77.756592],[24.129785,77.658252],[24.061914,77.630615],[23.95498,77.557715],[23.841211,77.497754],[23.736133,77.462354],[23.505176,77.401416],[23.380859,77.380322],[23.101367,77.385059],[22.99668,77.360791],[22.899512,77.311377],[22.801758,77.275781],[22.553711,77.26665],[22.426953,77.315918],[22.468848,77.331104],[22.486621,77.360107],[22.44248,77.429346],[22.678906,77.500146],[22.732617,77.539355],[22.685352,77.553516],[22.620313,77.549609],[22.448242,77.571143],[22.397266,77.570117],[22.25459,77.528857],[22.056836,77.501172],[21.856152,77.494141],[21.049902,77.440967],[20.928125,77.459668],[20.873145,77.565332],[21.201074,77.619482],[21.251465,77.710938],[21.33418,77.771777],[21.430859,77.812109],[21.608398,77.916064],[21.653125,77.923535],[21.210449,78.005762],[21.035449,78.05918],[20.844922,78.165869],[20.786426,78.252148],[20.52832,78.325586],[20.560254,78.419385],[20.372754,78.412012],[20.22793,78.477832],[20.362695,78.514795],[21.046875,78.556738],[21.454785,78.597559],[21.608105,78.595703]]],[[[20.897852,80.249951],[20.998438,80.238818],[21.549219,80.24292],[21.654883,80.218457],[21.69668,80.15918],[21.780664,80.13877],[21.897754,80.132471],[22.190234,80.059717],[22.289746,80.049219],[22.376367,80.089648],[22.442676,80.190283],[22.446191,80.30835],[22.417871,80.365527],[22.450781,80.402246],[22.548828,80.416455],[22.67207,80.412646],[22.792578,80.433008],[22.896875,80.468994],[23.008008,80.473975],[23.251367,80.44668],[23.31543,80.425244],[23.250098,80.380859],[23.224609,80.317627],[23.114551,80.186963],[23.35332,80.178857],[23.687988,80.206543],[23.772949,80.244385],[23.95293,80.30459],[24.142969,80.295166],[24.234082,80.303125],[24.280176,80.329297],[24.297559,80.3604],[24.402637,80.355176],[24.54668,80.295166],[24.613672,80.28584],[24.736328,80.301318],[24.785938,80.300684],[24.907031,80.27666],[25.471289,80.233105],[25.666895,80.209766],[25.751172,80.188037],[25.836328,80.175146],[26.436719,80.175488],[26.86084,80.16001],[27.017188,80.125488],[27.14834,80.059229],[27.198633,79.906592],[27.079883,79.865381],[26.221094,79.677441],[26.005859,79.617041],[25.902051,79.561377],[25.726367,79.439746],[25.641211,79.403027],[25.239063,79.345068],[25.145117,79.338867],[24.842871,79.367236],[24.750586,79.3646],[24.383398,79.301611],[24.256836,79.263477],[24.13291,79.215479],[23.947754,79.194287],[23.758789,79.205615],[22.903711,79.230664],[22.78916,79.264355],[22.695703,79.329053],[22.865527,79.411865],[21.911426,79.381055],[20.861133,79.397852],[20.805566,79.409521],[20.76084,79.441504],[20.399512,79.463379],[20.128223,79.4896],[19.900195,79.533789],[19.674609,79.591162],[19.74668,79.617969],[19.821094,79.633643],[20.014844,79.640234],[20.187109,79.632275],[20.493457,79.632764],[20.564844,79.690527],[20.686816,79.707178],[20.784082,79.748584],[20.460742,79.774658],[20.123438,79.778564],[19.898633,79.744189],[19.638086,79.728613],[19.4,79.726562],[18.94209,79.736328],[18.725,79.760742],[18.428027,79.824512],[18.324707,79.859717],[18.284766,79.887354],[18.255371,79.929199],[18.594629,79.966699],[18.726465,79.99624],[18.855957,80.036621],[18.343848,80.05957],[18.129492,80.093408],[17.916895,80.143115],[18.089453,80.171143],[18.779297,80.193506],[18.961914,80.174805],[19.142969,80.138672],[19.343359,80.116406],[19.537109,80.163232],[19.354688,80.1854],[19.191406,80.263232],[19.156934,80.301855],[19.17832,80.331543],[19.26377,80.335986],[19.327441,80.323096],[19.568457,80.25],[19.751074,80.227197],[19.802246,80.294727],[19.810352,80.326807],[19.777148,80.353369],[19.691309,80.402344],[19.614355,80.462549],[19.733301,80.477832],[19.851172,80.471191],[20.104297,80.42998],[20.359375,80.400928],[20.475879,80.371631],[20.693457,80.298682],[20.897852,80.249951]]],[[[16.786719,79.906738],[16.838477,79.904785],[16.888965,79.91543],[16.925586,79.943457],[16.966406,79.958936],[17.219434,79.940771],[17.578223,79.884668],[17.684766,79.857031],[17.83457,79.800049],[17.956152,79.704248],[17.859766,79.63501],[17.732617,79.569531],[17.6875,79.53335],[17.733984,79.481348],[17.715039,79.430762],[17.66875,79.385937],[17.861035,79.437061],[18.27207,79.600586],[18.333301,79.610693],[18.397363,79.605176],[18.581445,79.571582],[18.748438,79.488184],[18.785254,79.460596],[18.815234,79.42666],[18.832422,79.384766],[18.822949,79.33667],[18.807422,79.303174],[18.72002,79.281494],[18.677832,79.261719],[18.772266,79.260254],[18.880078,79.234277],[18.979004,79.17915],[19.089453,79.157031],[19.490234,79.175684],[19.750879,79.146826],[19.893555,79.056201],[20.11377,79.076709],[20.114453,79.125],[20.162695,79.145654],[20.458203,79.129248],[20.611035,79.106641],[20.767188,79.059131],[20.500684,78.981396],[20.720313,78.906689],[21.089648,78.852637],[21.312207,78.79585],[21.352539,78.772021],[21.38877,78.74043],[21.243945,78.699414],[21.096289,78.67627],[20.724805,78.672314],[20.387012,78.643262],[19.76875,78.622705],[19.676758,78.60957],[19.65498,78.597852],[19.618555,78.562158],[19.380664,78.479785],[19.150488,78.379395],[19.055664,78.318945],[18.983789,78.234229],[18.957617,78.182471],[19.008691,78.132275],[18.995117,78.081494],[18.82207,78.041699],[18.712305,78.040088],[18.574609,78.047998],[18.439258,78.025049],[18.430664,77.990576],[18.438672,77.942041],[18.404004,77.793945],[18.361914,77.682275],[18.29873,77.578564],[18.22793,77.522607],[18.137402,77.507031],[17.84707,77.496777],[17.62334,77.399365],[17.44248,77.225244],[17.348633,77.156885],[17.152539,77.048926],[17.187891,77.010645],[17.249023,76.969189],[17.141992,76.894922],[16.97666,76.811621],[16.979883,76.779395],[17.035547,76.720361],[17.062695,76.658984],[16.935156,76.606152],[16.700488,76.579297],[16.461914,76.609326],[16.345801,76.644775],[16.238086,76.701514],[16.123828,76.738525],[16.004492,76.760742],[15.546777,76.886426],[15.124219,77.085107],[14.738477,77.162354],[14.486914,77.199023],[14.36582,77.234473],[14.247559,77.282129],[14.145313,77.335596],[14.050391,77.403223],[14.004199,77.445215],[13.995703,77.508203],[14.026074,77.545166],[14.071289,77.564111],[14.377637,77.579639],[14.487793,77.57085],[14.596289,77.537939],[14.69502,77.525049],[14.920801,77.688818],[16.205957,77.782471],[16.619141,77.798682],[17.033301,77.797705],[16.96875,77.841943],[16.914062,77.897998],[16.85293,77.911572],[16.539648,77.880225],[16.060059,77.847119],[15.826367,77.84707],[15.585352,77.869141],[15.344824,77.856982],[15.096875,77.809033],[14.846875,77.778662],[14.603906,77.766455],[14.089941,77.771387],[13.9625,77.79624],[13.791113,77.853809],[13.749609,77.883301],[13.71416,77.919434],[13.680566,78.028125],[13.717676,78.057617],[13.770117,78.074609],[13.824023,78.08501],[13.936914,78.085547],[14.047754,78.066846],[14.307227,78.005078],[14.248145,78.071387],[14.994727,78.151221],[15.341406,78.220947],[15.519434,78.232715],[15.698047,78.227588],[15.658691,78.264697],[15.657129,78.299023],[15.783887,78.327051],[15.875391,78.339111],[16.150293,78.352881],[16.776953,78.350439],[17.00293,78.369385],[17.171973,78.417139],[16.991797,78.400488],[16.81123,78.397266],[16.726562,78.407178],[16.535352,78.448877],[16.448633,78.503564],[16.696582,78.612891],[16.782617,78.663623],[16.530469,78.656299],[16.446289,78.638525],[16.15752,78.538135],[15.944043,78.493018],[15.680664,78.471338],[15.417383,78.473242],[15.359961,78.487549],[15.279395,78.554102],[15.254199,78.589062],[15.264941,78.608301],[15.34834,78.663135],[15.391602,78.721191],[15.38418,78.771191],[15.322754,78.781201],[15.225293,78.732324],[15.137305,78.664258],[15.016309,78.630127],[14.891797,78.639453],[14.838672,78.665576],[14.792383,78.705566],[14.743555,78.720947],[14.689258,78.720947],[14.577637,78.70498],[14.467188,78.675391],[14.505273,78.630518],[14.51543,78.580566],[14.467773,78.540918],[14.431836,78.49248],[14.545605,78.461963],[14.638281,78.4146],[14.499512,78.392383],[14.363281,78.359912],[14.238281,78.309863],[14.110449,78.270898],[13.907617,78.266748],[13.65498,78.245166],[13.150195,78.2375],[12.912793,78.301074],[12.869531,78.33125],[12.822168,78.351465],[12.664648,78.384766],[12.434766,78.482959],[12.25791,78.594678],[12.138281,78.605518],[11.961719,78.642383],[11.865527,78.674219],[11.773828,78.716406],[11.746289,78.76626],[11.755176,78.81167],[11.861035,78.831885],[11.611035,78.882959],[11.36543,78.950391],[11.456152,78.972998],[11.547559,78.982959],[12.274902,78.904492],[12.323438,78.914258],[12.40332,78.953223],[12.375,78.966357],[12.253125,78.975342],[12.087305,78.975098],[12.045801,78.983154],[11.981836,79.025293],[11.925684,79.077246],[11.901953,79.111865],[11.892773,79.152344],[12.016113,79.213086],[12.083984,79.267529],[11.97832,79.292676],[11.679297,79.291162],[11.579785,79.283496],[11.616406,79.205273],[11.521191,79.15127],[11.338867,79.109131],[11.208105,79.129639],[11.107227,79.232959],[10.975391,79.304883],[10.925781,79.350195],[10.888086,79.41543],[10.834375,79.462842],[10.737598,79.520166],[10.725,79.555518],[10.737012,79.581641],[10.810742,79.640918],[10.75459,79.690332],[10.68623,79.733594],[10.682129,79.758252],[10.746387,79.788672],[10.804004,79.798779],[10.865918,79.796582],[11.049609,79.760303],[11.150391,79.716992],[11.185254,79.720459],[11.250586,79.784863],[11.343652,79.799414],[11.702344,79.820605],[12.101758,79.737549],[12.205176,79.719092],[12.287793,79.713135],[12.245215,79.75],[12.219141,79.7979],[12.27998,79.815967],[12.602441,79.773242],[12.753516,79.775781],[13.10752,79.831738],[13.692871,79.860986],[13.91416,79.816943],[13.925684,79.793408],[13.921094,79.761719],[13.907031,79.752197],[13.777539,79.715283],[13.039258,79.685156],[12.555371,79.569482],[13.215137,79.588086],[13.333789,79.574805],[13.383594,79.480762],[13.431641,79.470898],[13.60127,79.457227],[13.716211,79.42915],[13.833691,79.375684],[13.957227,79.339648],[14.02959,79.344141],[14.055859,79.383105],[14.026367,79.429297],[14.011133,79.481934],[14.019824,79.538672],[14.039844,79.585645],[14.178418,79.618701],[14.379785,79.725977],[14.593652,79.79873],[14.831836,79.766406],[15.052344,79.675342],[15.25127,79.545459],[15.443945,79.406787],[15.660156,79.234863],[15.764063,79.174268],[15.858496,79.159912],[16.294531,78.981055],[16.34375,78.976123],[16.253516,79.112109],[16.027539,79.342383],[15.875098,79.519238],[15.840723,79.586865],[15.816113,79.681836],[15.825781,79.709033],[15.845117,79.733594],[15.955762,79.835107],[16.100195,79.884424],[16.056641,79.953955],[16.093848,80.007324],[16.245703,80.049463],[16.386621,80.052588],[16.524023,80.020508],[16.786719,79.906738]]],[[[11.250293,78.610693],[11.261719,78.541699],[11.424219,78.548584],[11.616309,78.475098],[11.825684,78.436084],[11.884863,78.409326],[11.929395,78.374902],[12.056152,78.305615],[12.116406,78.232568],[11.965039,78.224854],[11.756543,78.329004],[11.586523,78.388232],[11.372461,78.43877],[11.199219,78.44126],[11.121289,78.463281],[10.840625,78.644727],[10.788867,78.686523],[10.628418,78.753857],[10.557617,78.8375],[10.558203,78.90293],[10.772852,78.8875],[10.96084,78.846387],[11.123926,78.753369],[11.15293,78.724463],[11.078223,78.686035],[11.15498,78.640576],[11.250293,78.610693]]],[[[18.741602,80.300928],[18.525,80.245605],[18.162207,80.288184],[18.205566,80.331787],[18.291699,80.35835],[18.519336,80.34834],[18.741602,80.300928]]],[[[29.04707,78.912061],[29.34541,78.905762],[29.645117,78.921631],[29.69668,78.904736],[29.310547,78.8521],[28.881152,78.880078],[28.494531,78.887207],[28.037891,78.828711],[27.889063,78.852148],[28.120996,78.908447],[28.374023,78.927051],[28.414746,78.961426],[28.511133,78.967334],[28.845215,78.97085],[29.04707,78.912061]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":3,"SOVEREIGNT":"North Korea","SOV_A3":"PRK","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"North Korea","ADM0_A3":"PRK","GEOU_DIF":0,"GEOUNIT":"North Korea","GU_A3":"PRK","SU_DIF":0,"SUBUNIT":"North Korea","SU_A3":"PRK","BRK_DIFF":0,"NAME":"North Korea","NAME_LONG":"Dem. Rep. Korea","BRK_A3":"PRK","BRK_NAME":"Dem. Rep. Korea","BRK_GROUP":null,"ABBREV":"N.K.","POSTAL":"KP","FORMAL_EN":"Democratic People's Republic of Korea","FORMAL_FR":null,"NAME_CIAWF":"Korea, North","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Korea, Dem. Rep.","NAME_ALT":null,"MAPCOLOR7":3,"MAPCOLOR8":5,"MAPCOLOR9":3,"MAPCOLOR13":9,"POP_EST":25666161,"POP_RANK":15,"POP_YEAR":2019,"GDP_MD":40000,"GDP_YEAR":2016,"ECONOMY":"7. Least developed region","INCOME_GRP":"5. Low income","FIPS_10":"KN","ISO_A2":"KP","ISO_A2_EH":"KP","ISO_A3":"PRK","ISO_A3_EH":"PRK","ISO_N3":"408","ISO_N3_EH":"408","UN_A3":"408","WB_A2":"KP","WB_A3":"PRK","WOE_ID":23424865,"WOE_ID_EH":23424865,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"PRK","ADM0_DIFF":null,"ADM0_TLC":"PRK","ADM0_A3_US":"PRK","ADM0_A3_FR":"PRK","ADM0_A3_RU":"PRK","ADM0_A3_ES":"PRK","ADM0_A3_CN":"PRK","ADM0_A3_TW":"PRK","ADM0_A3_IN":"PRK","ADM0_A3_NP":"PRK","ADM0_A3_PK":"PRK","ADM0_A3_DE":"PRK","ADM0_A3_GB":"PRK","ADM0_A3_BR":"PRK","ADM0_A3_IL":"PRK","ADM0_A3_PS":"PRK","ADM0_A3_SA":"PRK","ADM0_A3_EG":"PRK","ADM0_A3_MA":"PRK","ADM0_A3_PT":"PRK","ADM0_A3_AR":"PRK","ADM0_A3_JP":"PRK","ADM0_A3_KO":"PRK","ADM0_A3_VN":"PRK","ADM0_A3_TR":"PRK","ADM0_A3_ID":"PRK","ADM0_A3_PL":"PRK","ADM0_A3_GR":"PRK","ADM0_A3_IT":"PRK","ADM0_A3_NL":"PRK","ADM0_A3_SE":"PRK","ADM0_A3_BD":"PRK","ADM0_A3_UA":"PRK","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Asia","REGION_UN":"Asia","SUBREGION":"Eastern Asia","REGION_WB":"East Asia & Pacific","NAME_LEN":11,"LONG_LEN":15,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":3,"MAX_LABEL":8,"LABEL_X":126.444516,"LABEL_Y":39.885252,"NE_ID":1159321181,"WIKIDATAID":"Q423","NAME_AR":"كوريا الشمالية","NAME_BN":"উত্তর কোরিয়া","NAME_DE":"Nordkorea","NAME_EN":"North Korea","NAME_ES":"Corea del Norte","NAME_FA":"کره شمالی","NAME_FR":"Corée du Nord","NAME_EL":"Βόρεια Κορέα","NAME_HE":"קוריאה הצפונית","NAME_HI":"उत्तर कोरिया","NAME_HU":"Észak-Korea","NAME_ID":"Korea Utara","NAME_IT":"Corea del Nord","NAME_JA":"朝鮮民主主義人民共和国","NAME_KO":"조선민주주의인민공화국","NAME_NL":"Noord-Korea","NAME_PL":"Korea Północna","NAME_PT":"Coreia do Norte","NAME_RU":"КНДР","NAME_SV":"Nordkorea","NAME_TR":"Kuzey Kore","NAME_UK":"Корейська Народно-Демократична Республіка","NAME_UR":"شمالی کوریا","NAME_VI":"Cộng hòa Dân chủ Nhân dân Triều Tiên","NAME_ZH":"朝鲜民主主义人民共和国","NAME_ZHT":"朝鮮民主主義人民共和國","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[124.348633,37.719043,130.687305,42.998145],"geometry":{"type":"MultiPolygon","coordinates":[[[[128.374609,38.623437],[128.339453,38.607861],[128.279297,38.523779],[128.223145,38.416992],[128.168652,38.359326],[128.10625,38.327344],[128.038965,38.308545],[127.905273,38.300439],[127.784668,38.307715],[127.745508,38.319238],[127.579492,38.3125],[127.532715,38.30498],[127.294043,38.313281],[127.169531,38.304541],[127.090332,38.283887],[127.009668,38.240527],[126.940039,38.175586],[126.878906,38.106055],[126.754297,37.978955],[126.666797,37.917187],[126.666504,37.82793],[126.664551,37.800732],[126.633887,37.781836],[126.623242,37.790186],[126.572754,37.796826],[126.369922,37.878369],[126.203125,37.828516],[126.161035,37.763721],[126.116699,37.74292],[126.050293,37.869824],[125.941699,37.873682],[125.769141,37.985352],[125.69502,37.962695],[125.676172,37.917725],[125.581543,37.815039],[125.449316,37.730225],[125.406641,37.719043],[125.357813,37.724805],[125.364844,37.748242],[125.310742,37.843506],[125.101953,37.88208],[125.026758,37.922607],[124.98877,37.931445],[125.193164,38.037793],[125.24668,38.056836],[125.206738,38.081543],[125.162598,38.093652],[124.99502,38.077832],[124.907031,38.112646],[124.779492,38.101514],[124.690918,38.129199],[124.874512,38.233398],[124.882715,38.294971],[124.880566,38.34165],[124.97373,38.480127],[125.067383,38.556738],[125.309668,38.665381],[125.415332,38.68042],[125.491797,38.676123],[125.554492,38.68623],[125.488672,38.727783],[125.424219,38.746875],[125.298926,38.742969],[125.168848,38.805518],[125.157324,38.871533],[125.409668,39.288379],[125.413184,39.32627],[125.373633,39.427637],[125.36084,39.526611],[125.180078,39.583496],[125.100098,39.590332],[124.867871,39.701807],[124.775293,39.758057],[124.738867,39.741504],[124.732227,39.652197],[124.699219,39.632373],[124.638281,39.615088],[124.607617,39.716943],[124.557422,39.790576],[124.403809,39.865527],[124.348633,39.906885],[124.375098,39.996143],[124.362109,40.004053],[124.386621,40.104248],[124.481055,40.181641],[124.712402,40.319238],[124.771973,40.38374],[124.889355,40.459814],[124.942285,40.458154],[124.996875,40.464746],[125.013379,40.497852],[125.025977,40.523877],[125.072949,40.547461],[125.185938,40.589404],[125.314453,40.644629],[125.416895,40.659912],[125.542578,40.742578],[125.593848,40.778955],[125.645117,40.778955],[125.65918,40.795898],[125.688281,40.838672],[125.72832,40.866699],[125.783984,40.872021],[125.874902,40.892236],[125.989062,40.904639],[126.066797,40.974072],[126.093164,41.023682],[126.144531,41.078271],[126.253613,41.137793],[126.328711,41.225684],[126.411816,41.321338],[126.451465,41.351855],[126.49043,41.358057],[126.513574,41.393994],[126.540137,41.495557],[126.57832,41.594336],[126.60127,41.640967],[126.696973,41.691895],[126.721582,41.716553],[126.743066,41.724854],[126.787695,41.718213],[126.847266,41.747998],[126.903516,41.781055],[126.954785,41.769482],[127.006934,41.742041],[127.061328,41.687354],[127.085352,41.643799],[127.128418,41.607422],[127.136719,41.554541],[127.179688,41.531348],[127.270801,41.519824],[127.420313,41.483789],[127.516992,41.481738],[127.572168,41.454736],[127.687695,41.43999],[127.918652,41.461133],[128.013086,41.448682],[128.052734,41.415625],[128.11123,41.389258],[128.149414,41.387744],[128.200293,41.433008],[128.254883,41.506543],[128.290918,41.562793],[128.289258,41.607422],[128.257812,41.655371],[128.181738,41.700049],[128.131934,41.769141],[128.08418,41.840576],[128.056055,41.86377],[128.03291,41.898486],[128.028711,41.951611],[128.045215,41.9875],[128.160156,42.011621],[128.307813,42.025635],[128.427246,42.010742],[128.626758,42.02085],[128.749023,42.040674],[128.839844,42.037842],[128.923438,42.038232],[128.960645,42.068799],[129.077246,42.142383],[129.133691,42.168506],[129.195508,42.218457],[129.205371,42.270557],[129.217773,42.312695],[129.252539,42.357861],[129.313672,42.413574],[129.36582,42.439209],[129.423633,42.435889],[129.484863,42.410303],[129.52373,42.384668],[129.567578,42.39209],[129.603906,42.435889],[129.62793,42.444287],[129.697852,42.448145],[129.719727,42.475],[129.746484,42.603809],[129.773438,42.705469],[129.779199,42.776562],[129.841504,42.894238],[129.861035,42.965088],[129.898242,42.998145],[129.941211,42.995654],[129.976953,42.974854],[130.022266,42.962598],[130.082617,42.97417],[130.124805,42.956006],[130.15127,42.917969],[130.240332,42.891797],[130.248828,42.872607],[130.24668,42.744824],[130.295605,42.684961],[130.360742,42.630859],[130.450293,42.581689],[130.498242,42.570508],[130.526953,42.5354],[130.554102,42.474707],[130.617969,42.415625],[130.651563,42.37251],[130.658008,42.327783],[130.687305,42.302539],[130.636523,42.274854],[130.569238,42.291699],[130.45752,42.301709],[130.314746,42.214111],[130.235742,42.183203],[130.179883,42.096973],[130.068262,42.045752],[130.007324,41.991162],[129.928223,41.896729],[129.876367,41.805518],[129.756348,41.712256],[129.686328,41.594971],[129.682422,41.494336],[129.758984,41.391504],[129.76582,41.303857],[129.712109,41.123682],[129.741992,40.932275],[129.708691,40.857324],[129.341113,40.726318],[129.245117,40.661035],[129.109766,40.491064],[128.945215,40.427881],[128.842969,40.358496],[128.701367,40.317529],[128.610742,40.1979],[128.51123,40.130225],[128.392969,40.088965],[128.304492,40.035937],[128.106348,40.032568],[127.966602,39.995605],[127.86709,39.895947],[127.568164,39.781982],[127.527441,39.695703],[127.547266,39.562793],[127.548926,39.461084],[127.522852,39.377393],[127.457422,39.400977],[127.422266,39.373584],[127.383496,39.296143],[127.394531,39.20791],[127.496973,39.179492],[127.580957,39.143262],[127.698926,39.125049],[127.786133,39.084131],[127.97168,38.897998],[128.123047,38.816406],[128.1625,38.786133],[128.249414,38.745215],[128.329492,38.680908],[128.374609,38.623437]]],[[[124.905273,39.536279],[124.848926,39.507568],[124.846094,39.558887],[124.889551,39.6021],[124.93457,39.607812],[124.905273,39.536279]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":2,"SOVEREIGNT":"Nigeria","SOV_A3":"NGA","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Nigeria","ADM0_A3":"NGA","GEOU_DIF":0,"GEOUNIT":"Nigeria","GU_A3":"NGA","SU_DIF":0,"SUBUNIT":"Nigeria","SU_A3":"NGA","BRK_DIFF":0,"NAME":"Nigeria","NAME_LONG":"Nigeria","BRK_A3":"NGA","BRK_NAME":"Nigeria","BRK_GROUP":null,"ABBREV":"Nigeria","POSTAL":"NG","FORMAL_EN":"Federal Republic of Nigeria","FORMAL_FR":null,"NAME_CIAWF":"Nigeria","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Nigeria","NAME_ALT":null,"MAPCOLOR7":3,"MAPCOLOR8":2,"MAPCOLOR9":5,"MAPCOLOR13":2,"POP_EST":200963599,"POP_RANK":17,"POP_YEAR":2019,"GDP_MD":448120,"GDP_YEAR":2019,"ECONOMY":"5. Emerging region: G20","INCOME_GRP":"4. Lower middle income","FIPS_10":"NI","ISO_A2":"NG","ISO_A2_EH":"NG","ISO_A3":"NGA","ISO_A3_EH":"NGA","ISO_N3":"566","ISO_N3_EH":"566","UN_A3":"566","WB_A2":"NG","WB_A3":"NGA","WOE_ID":23424908,"WOE_ID_EH":23424908,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"NGA","ADM0_DIFF":null,"ADM0_TLC":"NGA","ADM0_A3_US":"NGA","ADM0_A3_FR":"NGA","ADM0_A3_RU":"NGA","ADM0_A3_ES":"NGA","ADM0_A3_CN":"NGA","ADM0_A3_TW":"NGA","ADM0_A3_IN":"NGA","ADM0_A3_NP":"NGA","ADM0_A3_PK":"NGA","ADM0_A3_DE":"NGA","ADM0_A3_GB":"NGA","ADM0_A3_BR":"NGA","ADM0_A3_IL":"NGA","ADM0_A3_PS":"NGA","ADM0_A3_SA":"NGA","ADM0_A3_EG":"NGA","ADM0_A3_MA":"NGA","ADM0_A3_PT":"NGA","ADM0_A3_AR":"NGA","ADM0_A3_JP":"NGA","ADM0_A3_KO":"NGA","ADM0_A3_VN":"NGA","ADM0_A3_TR":"NGA","ADM0_A3_ID":"NGA","ADM0_A3_PL":"NGA","ADM0_A3_GR":"NGA","ADM0_A3_IT":"NGA","ADM0_A3_NL":"NGA","ADM0_A3_SE":"NGA","ADM0_A3_BD":"NGA","ADM0_A3_UA":"NGA","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Africa","REGION_UN":"Africa","SUBREGION":"Western Africa","REGION_WB":"Sub-Saharan Africa","NAME_LEN":7,"LONG_LEN":7,"ABBREV_LEN":7,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":1.7,"MAX_LABEL":6.7,"LABEL_X":7.50322,"LABEL_Y":9.439799,"NE_ID":1159321089,"WIKIDATAID":"Q1033","NAME_AR":"نيجيريا","NAME_BN":"নাইজেরিয়া","NAME_DE":"Nigeria","NAME_EN":"Nigeria","NAME_ES":"Nigeria","NAME_FA":"نیجریه","NAME_FR":"Nigeria","NAME_EL":"Νιγηρία","NAME_HE":"ניגריה","NAME_HI":"नाईजीरिया","NAME_HU":"Nigéria","NAME_ID":"Nigeria","NAME_IT":"Nigeria","NAME_JA":"ナイジェリア","NAME_KO":"나이지리아","NAME_NL":"Nigeria","NAME_PL":"Nigeria","NAME_PT":"Nigéria","NAME_RU":"Нигерия","NAME_SV":"Nigeria","NAME_TR":"Nijerya","NAME_UK":"Нігерія","NAME_UR":"نائجیریا","NAME_VI":"Nigeria","NAME_ZH":"尼日利亚","NAME_ZHT":"奈及利亞","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[2.686035,4.277393,14.627148,13.872852],"geometry":{"type":"MultiPolygon","coordinates":[[[[7.300781,4.418164],[7.203906,4.387646],[7.14043,4.395117],[7.227344,4.527344],[7.271387,4.498926],[7.32793,4.487207],[7.300781,4.418164]]],[[[13.606348,13.70459],[13.763477,13.489551],[13.932324,13.258496],[14.063965,13.078516],[14.160059,12.612793],[14.170313,12.524072],[14.177637,12.484082],[14.184863,12.447217],[14.197461,12.383789],[14.272852,12.356494],[14.41543,12.344141],[14.518945,12.298242],[14.580957,12.22207],[14.587012,12.209424],[14.619727,12.150977],[14.627148,12.108691],[14.618164,11.986621],[14.597363,11.829834],[14.561816,11.728711],[14.581641,11.591162],[14.575391,11.532422],[14.559766,11.492285],[14.496094,11.446143],[14.409473,11.401172],[14.202344,11.268164],[14.143262,11.248535],[14.056738,11.24502],[13.981445,11.211865],[13.89209,11.140088],[13.699902,10.873145],[13.535352,10.605078],[13.478516,10.383252],[13.414551,10.171436],[13.269922,10.036182],[13.249805,9.960059],[13.24375,9.915918],[13.23877,9.814014],[13.221191,9.645166],[13.19873,9.56377],[13.175488,9.539648],[13.019434,9.48833],[12.929492,9.42627],[12.875684,9.303516],[12.855957,9.170752],[12.824414,9.019434],[12.806543,8.886621],[12.782227,8.817871],[12.731152,8.745654],[12.651563,8.667773],[12.582715,8.624121],[12.403516,8.595557],[12.311328,8.419727],[12.233398,8.282324],[12.231152,8.227393],[12.155957,7.94248],[12.025195,7.727783],[12.016602,7.652002],[12.016016,7.589746],[11.852441,7.400732],[11.80918,7.345068],[11.767383,7.272266],[11.808594,7.201953],[11.854785,7.137988],[11.861426,7.116406],[11.787012,7.056201],[11.65752,6.951562],[11.580078,6.888867],[11.562988,6.854639],[11.55166,6.697266],[11.529102,6.655029],[11.477539,6.597412],[11.401758,6.533936],[11.324609,6.484668],[11.237305,6.450537],[11.15332,6.437939],[11.106445,6.457715],[11.079688,6.505518],[11.03252,6.6979],[11.008691,6.739111],[10.954199,6.776562],[10.846484,6.881787],[10.737598,6.988281],[10.60625,7.063086],[10.578125,7.057715],[10.556348,7.037451],[10.519043,6.930469],[10.482324,6.89126],[10.413184,6.877734],[10.293066,6.876758],[10.205469,6.891602],[10.185547,6.912793],[10.167773,6.95918],[10.143555,6.996436],[10.038867,6.921387],[9.874219,6.803271],[9.820703,6.783936],[9.779883,6.760156],[9.725586,6.65],[9.659961,6.531982],[9.574023,6.47041],[9.490234,6.418652],[9.442188,6.373389],[9.37334,6.319629],[9.23877,6.186133],[9.060156,6.009082],[8.997168,5.917725],[8.935059,5.781006],[8.898828,5.629687],[8.85918,5.46377],[8.800977,5.197461],[8.715625,5.046875],[8.640527,4.927002],[8.585156,4.832812],[8.555859,4.755225],[8.54375,4.757812],[8.514844,4.724707],[8.431348,4.74624],[8.393652,4.81377],[8.34209,4.824756],[8.252734,4.923975],[8.233789,4.907471],[8.328027,4.656104],[8.293066,4.557617],[8.028516,4.555371],[7.800781,4.522266],[7.644238,4.525342],[7.565625,4.560937],[7.530762,4.655176],[7.517383,4.645459],[7.509473,4.594922],[7.459863,4.555225],[7.284375,4.547656],[7.206738,4.612061],[7.143848,4.684082],[7.076563,4.716162],[7.086914,4.68584],[7.16416,4.615576],[7.154688,4.514404],[7.013379,4.397314],[6.923242,4.390674],[6.867871,4.441113],[6.83916,4.523486],[6.824707,4.645264],[6.787598,4.724707],[6.767676,4.724707],[6.786035,4.652002],[6.792188,4.592627],[6.793066,4.469141],[6.860352,4.37334],[6.757031,4.343555],[6.715137,4.342432],[6.633008,4.340234],[6.617285,4.375781],[6.601562,4.455176],[6.57998,4.475977],[6.55459,4.341406],[6.5,4.331934],[6.462109,4.333154],[6.299805,4.303857],[6.263672,4.309424],[6.255957,4.334473],[6.275293,4.37168],[6.270996,4.432129],[6.214648,4.385498],[6.205566,4.292285],[6.17334,4.277393],[6.076563,4.290625],[5.970703,4.338574],[5.906445,4.387744],[5.798633,4.455957],[5.587793,4.647217],[5.553613,4.733203],[5.493262,4.83877],[5.448145,4.94585],[5.383301,5.129004],[5.403223,5.142285],[5.452148,5.126562],[5.475977,5.153857],[5.388281,5.173779],[5.37002,5.19502],[5.36416,5.259277],[5.367969,5.337744],[5.439258,5.365332],[5.500879,5.378613],[5.531836,5.426367],[5.549707,5.474219],[5.38584,5.401758],[5.232422,5.483789],[5.199219,5.533545],[5.21582,5.57168],[5.289062,5.57749],[5.393848,5.574512],[5.456641,5.611719],[5.418066,5.624707],[5.350293,5.623291],[5.325293,5.647949],[5.327344,5.70752],[5.305371,5.694336],[5.27627,5.641553],[5.172852,5.602734],[5.112402,5.641553],[5.10625,5.728125],[5.093066,5.76709],[5.04209,5.79751],[4.861035,6.026318],[4.633594,6.217187],[4.431348,6.348584],[4.125879,6.411377],[3.486621,6.408936],[3.450781,6.427051],[3.489941,6.457275],[3.546094,6.477441],[3.75166,6.583838],[3.716992,6.597949],[3.50332,6.531348],[3.430176,6.525],[3.335547,6.396924],[2.772461,6.375732],[2.706445,6.369238],[2.708008,6.427686],[2.735645,6.595703],[2.753711,6.661768],[2.774609,6.711719],[2.75293,6.771631],[2.731738,6.852832],[2.721387,6.980273],[2.747754,7.019824],[2.756738,7.06792],[2.750586,7.143213],[2.750488,7.395068],[2.76582,7.42251],[2.783984,7.443408],[2.785156,7.476855],[2.750977,7.541895],[2.719336,7.61626],[2.72041,7.723096],[2.707715,7.826611],[2.686035,7.87373],[2.702344,8.049805],[2.711523,8.272998],[2.703125,8.371826],[2.723633,8.441895],[2.734668,8.614014],[2.73291,8.78252],[2.774805,9.048535],[2.898047,9.061377],[3.044922,9.083838],[3.110449,9.188281],[3.148047,9.320605],[3.136133,9.451611],[3.164648,9.494678],[3.223438,9.565625],[3.329492,9.667041],[3.325195,9.778467],[3.354492,9.812793],[3.404785,9.838623],[3.476758,9.851904],[3.557227,9.907324],[3.602051,10.004541],[3.645898,10.160156],[3.576563,10.268359],[3.57793,10.29248],[3.604102,10.350684],[3.646582,10.408984],[3.680273,10.427783],[3.758496,10.412695],[3.771777,10.417627],[3.783789,10.435889],[3.834473,10.607422],[3.829688,10.65376],[3.756836,10.76875],[3.744922,10.850439],[3.73418,10.971924],[3.716406,11.07959],[3.695312,11.120312],[3.65625,11.15459],[3.638867,11.176855],[3.487793,11.39541],[3.490527,11.499219],[3.553906,11.631885],[3.59541,11.696289],[3.653125,11.731836],[3.664746,11.762451],[3.647363,11.799658],[3.618457,11.827734],[3.611816,11.887305],[3.620117,11.926953],[3.640625,11.970361],[3.63252,12.061572],[3.63418,12.201611],[3.643848,12.405273],[3.64668,12.52998],[3.769238,12.622168],[3.947852,12.775049],[4.03877,12.934668],[4.087402,13.055469],[4.147559,13.457715],[4.19082,13.482129],[4.242188,13.501074],[4.421387,13.64751],[4.559473,13.701807],[4.664844,13.733203],[4.82334,13.759766],[4.92168,13.749121],[5.100879,13.742725],[5.241895,13.757227],[5.361621,13.836865],[5.41582,13.85918],[5.491992,13.872852],[5.838184,13.765381],[6.184277,13.663672],[6.247168,13.672998],[6.299805,13.658789],[6.386328,13.603613],[6.514063,13.4854],[6.589941,13.409131],[6.626563,13.364258],[6.804297,13.107666],[6.870605,13.043262],[6.937207,13.008203],[7.005078,12.995557],[7.056738,13.000195],[7.106055,13.029102],[7.173047,13.086328],[7.274707,13.112256],[7.357813,13.107178],[7.788672,13.337891],[7.830469,13.340918],[7.955762,13.322754],[8.09502,13.291162],[8.456055,13.059668],[8.750586,12.908154],[8.957617,12.857471],[9.201563,12.821484],[9.615918,12.810645],[9.929297,13.135254],[10.045117,13.206152],[10.184668,13.270117],[10.22959,13.281006],[10.475879,13.330225],[10.958887,13.371533],[11.411914,13.353613],[11.501074,13.340527],[11.693359,13.297705],[11.990039,13.191797],[12.117969,13.09043],[12.319043,13.073682],[12.463184,13.09375],[12.510156,13.194336],[12.654785,13.326562],[12.759961,13.380371],[12.87168,13.449023],[13.048438,13.534521],[13.193848,13.573047],[13.323828,13.67085],[13.426953,13.701758],[13.606348,13.70459]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":3,"SOVEREIGNT":"Niger","SOV_A3":"NER","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Niger","ADM0_A3":"NER","GEOU_DIF":0,"GEOUNIT":"Niger","GU_A3":"NER","SU_DIF":0,"SUBUNIT":"Niger","SU_A3":"NER","BRK_DIFF":0,"NAME":"Niger","NAME_LONG":"Niger","BRK_A3":"NER","BRK_NAME":"Niger","BRK_GROUP":null,"ABBREV":"Niger","POSTAL":"NE","FORMAL_EN":"Republic of Niger","FORMAL_FR":null,"NAME_CIAWF":"Niger","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Niger","NAME_ALT":null,"MAPCOLOR7":4,"MAPCOLOR8":5,"MAPCOLOR9":3,"MAPCOLOR13":13,"POP_EST":23310715,"POP_RANK":15,"POP_YEAR":2019,"GDP_MD":12911,"GDP_YEAR":2019,"ECONOMY":"7. Least developed region","INCOME_GRP":"5. Low income","FIPS_10":"NG","ISO_A2":"NE","ISO_A2_EH":"NE","ISO_A3":"NER","ISO_A3_EH":"NER","ISO_N3":"562","ISO_N3_EH":"562","UN_A3":"562","WB_A2":"NE","WB_A3":"NER","WOE_ID":23424906,"WOE_ID_EH":23424906,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"NER","ADM0_DIFF":null,"ADM0_TLC":"NER","ADM0_A3_US":"NER","ADM0_A3_FR":"NER","ADM0_A3_RU":"NER","ADM0_A3_ES":"NER","ADM0_A3_CN":"NER","ADM0_A3_TW":"NER","ADM0_A3_IN":"NER","ADM0_A3_NP":"NER","ADM0_A3_PK":"NER","ADM0_A3_DE":"NER","ADM0_A3_GB":"NER","ADM0_A3_BR":"NER","ADM0_A3_IL":"NER","ADM0_A3_PS":"NER","ADM0_A3_SA":"NER","ADM0_A3_EG":"NER","ADM0_A3_MA":"NER","ADM0_A3_PT":"NER","ADM0_A3_AR":"NER","ADM0_A3_JP":"NER","ADM0_A3_KO":"NER","ADM0_A3_VN":"NER","ADM0_A3_TR":"NER","ADM0_A3_ID":"NER","ADM0_A3_PL":"NER","ADM0_A3_GR":"NER","ADM0_A3_IT":"NER","ADM0_A3_NL":"NER","ADM0_A3_SE":"NER","ADM0_A3_BD":"NER","ADM0_A3_UA":"NER","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Africa","REGION_UN":"Africa","SUBREGION":"Western Africa","REGION_WB":"Sub-Saharan Africa","NAME_LEN":5,"LONG_LEN":5,"ABBREV_LEN":5,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":3,"MAX_LABEL":8,"LABEL_X":9.504356,"LABEL_Y":17.446195,"NE_ID":1159321087,"WIKIDATAID":"Q1032","NAME_AR":"النيجر","NAME_BN":"নাইজার","NAME_DE":"Niger","NAME_EN":"Niger","NAME_ES":"Níger","NAME_FA":"نیجر","NAME_FR":"Niger","NAME_EL":"Νίγηρας","NAME_HE":"ניז'ר","NAME_HI":"नाइजर","NAME_HU":"Niger","NAME_ID":"Niger","NAME_IT":"Niger","NAME_JA":"ニジェール","NAME_KO":"니제르","NAME_NL":"Niger","NAME_PL":"Niger","NAME_PT":"Níger","NAME_RU":"Нигер","NAME_SV":"Niger","NAME_TR":"Nijer","NAME_UK":"Нігер","NAME_UR":"نائجر","NAME_VI":"Niger","NAME_ZH":"尼日尔","NAME_ZHT":"尼日","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[0.163867,11.696289,15.963184,23.517871],"geometry":{"type":"Polygon","coordinates":[[[13.606348,13.70459],[13.426953,13.701758],[13.323828,13.67085],[13.193848,13.573047],[13.048438,13.534521],[12.87168,13.449023],[12.759961,13.380371],[12.654785,13.326562],[12.510156,13.194336],[12.463184,13.09375],[12.319043,13.073682],[12.117969,13.09043],[11.990039,13.191797],[11.693359,13.297705],[11.501074,13.340527],[11.411914,13.353613],[10.958887,13.371533],[10.475879,13.330225],[10.22959,13.281006],[10.184668,13.270117],[10.045117,13.206152],[9.929297,13.135254],[9.615918,12.810645],[9.201563,12.821484],[8.957617,12.857471],[8.750586,12.908154],[8.456055,13.059668],[8.09502,13.291162],[7.955762,13.322754],[7.830469,13.340918],[7.788672,13.337891],[7.357813,13.107178],[7.274707,13.112256],[7.173047,13.086328],[7.106055,13.029102],[7.056738,13.000195],[7.005078,12.995557],[6.937207,13.008203],[6.870605,13.043262],[6.804297,13.107666],[6.626563,13.364258],[6.589941,13.409131],[6.514063,13.4854],[6.386328,13.603613],[6.299805,13.658789],[6.247168,13.672998],[6.184277,13.663672],[5.838184,13.765381],[5.491992,13.872852],[5.41582,13.85918],[5.361621,13.836865],[5.241895,13.757227],[5.100879,13.742725],[4.92168,13.749121],[4.82334,13.759766],[4.664844,13.733203],[4.559473,13.701807],[4.421387,13.64751],[4.242188,13.501074],[4.19082,13.482129],[4.147559,13.457715],[4.087402,13.055469],[4.03877,12.934668],[3.947852,12.775049],[3.769238,12.622168],[3.64668,12.52998],[3.643848,12.405273],[3.63418,12.201611],[3.63252,12.061572],[3.640625,11.970361],[3.620117,11.926953],[3.611816,11.887305],[3.618457,11.827734],[3.647363,11.799658],[3.664746,11.762451],[3.653125,11.731836],[3.59541,11.696289],[3.531738,11.787451],[3.449805,11.851953],[3.359961,11.880469],[3.299121,11.927148],[3.267383,11.991895],[3.149609,12.118066],[2.878125,12.367725],[2.850195,12.373682],[2.805273,12.383838],[2.728516,12.353613],[2.681348,12.312793],[2.648438,12.296777],[2.598438,12.294336],[2.469336,12.262793],[2.366016,12.221924],[2.363281,12.188428],[2.412695,11.999316],[2.38916,11.89707],[2.343359,11.945996],[2.194434,12.136475],[2.091406,12.277979],[2.072949,12.309375],[2.058398,12.357959],[2.068555,12.37915],[2.109375,12.393848],[2.203809,12.412598],[2.221387,12.427246],[2.22627,12.466064],[2.211523,12.538428],[2.159766,12.636426],[2.10459,12.70127],[2.073828,12.713965],[2.017383,12.716211],[1.956152,12.707422],[1.840918,12.627881],[1.789844,12.613281],[1.671094,12.619824],[1.564941,12.6354],[1.500488,12.676465],[1.308691,12.834277],[1.096777,13.001123],[1.00791,13.024805],[0.987305,13.041895],[0.973047,13.170361],[0.976758,13.324512],[0.988477,13.364844],[1.076855,13.340771],[1.170898,13.32959],[1.201172,13.35752],[1.125977,13.412354],[1.017871,13.467871],[0.977734,13.551953],[0.946582,13.581152],[0.897949,13.610937],[0.842285,13.626416],[0.786035,13.650049],[0.747754,13.674512],[0.68457,13.6854],[0.618164,13.703418],[0.522363,13.839746],[0.429199,13.972119],[0.374023,14.076367],[0.354883,14.139014],[0.38252,14.245801],[0.35459,14.288037],[0.250586,14.396436],[0.163867,14.497217],[0.185059,14.65293],[0.202734,14.782812],[0.203809,14.865039],[0.21748,14.911475],[0.228711,14.963672],[0.28623,14.980176],[0.433008,14.979004],[0.718652,14.954883],[0.947461,14.982129],[0.960059,14.986914],[1.121289,15.126123],[1.300195,15.272266],[1.569141,15.286475],[1.859375,15.301709],[2.088184,15.309375],[2.420801,15.32041],[2.689648,15.329883],[3.001074,15.340967],[3.010547,15.408301],[3.029395,15.424854],[3.060156,15.427197],[3.289062,15.391113],[3.504297,15.356348],[3.520508,15.483105],[3.70957,15.641699],[3.816504,15.674023],[3.842969,15.701709],[3.876953,15.755273],[3.897949,15.837988],[3.907227,15.896826],[3.94707,15.945654],[3.976172,16.035547],[4.014844,16.192725],[4.121289,16.357715],[4.182129,16.581787],[4.191211,16.798193],[4.20293,16.962695],[4.234668,16.996387],[4.233691,17.288428],[4.232715,17.582178],[4.231934,17.830518],[4.230859,18.139453],[4.22998,18.410596],[4.229004,18.704346],[4.228223,18.968066],[4.227637,19.142773],[4.445703,19.184521],[4.671289,19.227783],[5.001367,19.291064],[5.358691,19.359521],[5.74834,19.434229],[5.836621,19.47915],[6.130664,19.731982],[6.263379,19.846143],[6.527051,20.072949],[6.730664,20.248047],[6.989355,20.470508],[7.263379,20.694482],[7.481738,20.873096],[7.825195,21.075586],[8.343066,21.380859],[8.860938,21.686133],[9.378711,21.991406],[9.896484,22.296729],[10.414355,22.602002],[10.932227,22.907275],[11.45,23.212598],[11.967871,23.517871],[12.48877,23.40166],[12.983594,23.29126],[13.48125,23.180176],[13.598633,23.119531],[13.862695,22.9021],[14.200684,22.62373],[14.215527,22.619678],[14.230762,22.618457],[14.555664,22.78252],[14.978906,22.996289],[14.979004,22.996191],[15.088965,22.418359],[15.172266,21.92207],[15.177832,21.605811],[15.181836,21.523389],[15.21582,21.467432],[15.293652,21.411523],[15.607324,20.954395],[15.540332,20.874902],[15.587109,20.733301],[15.668457,20.672363],[15.929297,20.399854],[15.963184,20.346191],[15.948828,20.303174],[15.766211,19.982568],[15.735059,19.904053],[15.698633,19.495215],[15.672949,19.206787],[15.637598,18.81084],[15.595508,18.337061],[15.561523,17.937256],[15.516699,17.408496],[15.474316,16.908398],[15.212109,16.633887],[14.74668,16.146631],[14.367969,15.750146],[14.178223,15.484766],[13.807129,14.966113],[13.642383,14.630762],[13.513672,14.455518],[13.448242,14.380664],[13.505762,14.134424],[13.606348,13.70459]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":5,"SOVEREIGNT":"Nicaragua","SOV_A3":"NIC","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Nicaragua","ADM0_A3":"NIC","GEOU_DIF":0,"GEOUNIT":"Nicaragua","GU_A3":"NIC","SU_DIF":0,"SUBUNIT":"Nicaragua","SU_A3":"NIC","BRK_DIFF":0,"NAME":"Nicaragua","NAME_LONG":"Nicaragua","BRK_A3":"NIC","BRK_NAME":"Nicaragua","BRK_GROUP":null,"ABBREV":"Nic.","POSTAL":"NI","FORMAL_EN":"Republic of Nicaragua","FORMAL_FR":null,"NAME_CIAWF":"Nicaragua","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Nicaragua","NAME_ALT":null,"MAPCOLOR7":1,"MAPCOLOR8":4,"MAPCOLOR9":1,"MAPCOLOR13":9,"POP_EST":6545502,"POP_RANK":13,"POP_YEAR":2019,"GDP_MD":12520,"GDP_YEAR":2019,"ECONOMY":"6. Developing region","INCOME_GRP":"4. Lower middle income","FIPS_10":"NU","ISO_A2":"NI","ISO_A2_EH":"NI","ISO_A3":"NIC","ISO_A3_EH":"NIC","ISO_N3":"558","ISO_N3_EH":"558","UN_A3":"558","WB_A2":"NI","WB_A3":"NIC","WOE_ID":23424915,"WOE_ID_EH":23424915,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"NIC","ADM0_DIFF":null,"ADM0_TLC":"NIC","ADM0_A3_US":"NIC","ADM0_A3_FR":"NIC","ADM0_A3_RU":"NIC","ADM0_A3_ES":"NIC","ADM0_A3_CN":"NIC","ADM0_A3_TW":"NIC","ADM0_A3_IN":"NIC","ADM0_A3_NP":"NIC","ADM0_A3_PK":"NIC","ADM0_A3_DE":"NIC","ADM0_A3_GB":"NIC","ADM0_A3_BR":"NIC","ADM0_A3_IL":"NIC","ADM0_A3_PS":"NIC","ADM0_A3_SA":"NIC","ADM0_A3_EG":"NIC","ADM0_A3_MA":"NIC","ADM0_A3_PT":"NIC","ADM0_A3_AR":"NIC","ADM0_A3_JP":"NIC","ADM0_A3_KO":"NIC","ADM0_A3_VN":"NIC","ADM0_A3_TR":"NIC","ADM0_A3_ID":"NIC","ADM0_A3_PL":"NIC","ADM0_A3_GR":"NIC","ADM0_A3_IT":"NIC","ADM0_A3_NL":"NIC","ADM0_A3_SE":"NIC","ADM0_A3_BD":"NIC","ADM0_A3_UA":"NIC","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"North America","REGION_UN":"Americas","SUBREGION":"Central America","REGION_WB":"Latin America & Caribbean","NAME_LEN":9,"LONG_LEN":9,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":4,"MAX_LABEL":9,"LABEL_X":-85.069347,"LABEL_Y":12.670697,"NE_ID":1159321091,"WIKIDATAID":"Q811","NAME_AR":"نيكاراغوا","NAME_BN":"নিকারাগুয়া","NAME_DE":"Nicaragua","NAME_EN":"Nicaragua","NAME_ES":"Nicaragua","NAME_FA":"نیکاراگوئه","NAME_FR":"Nicaragua","NAME_EL":"Νικαράγουα","NAME_HE":"ניקרגואה","NAME_HI":"निकारागुआ","NAME_HU":"Nicaragua","NAME_ID":"Nikaragua","NAME_IT":"Nicaragua","NAME_JA":"ニカラグア","NAME_KO":"니카라과","NAME_NL":"Nicaragua","NAME_PL":"Nikaragua","NAME_PT":"Nicarágua","NAME_RU":"Никарагуа","NAME_SV":"Nicaragua","NAME_TR":"Nikaragua","NAME_UK":"Нікарагуа","NAME_UR":"نکاراگوا","NAME_VI":"Nicaragua","NAME_ZH":"尼加拉瓜","NAME_ZHT":"尼加拉瓜","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[-87.670166,10.735352,-83.15752,15.008057],"geometry":{"type":"Polygon","coordinates":[[[-83.15752,14.993066],[-83.185352,14.956396],[-83.215918,14.932373],[-83.279883,14.812793],[-83.302002,14.8021],[-83.306348,14.890527],[-83.344385,14.9021],[-83.389014,14.870654],[-83.413721,14.825342],[-83.374854,14.766113],[-83.340723,14.765283],[-83.299219,14.749023],[-83.187744,14.340088],[-83.211719,14.267139],[-83.280811,14.153613],[-83.346582,14.056982],[-83.412305,13.996484],[-83.49375,13.738818],[-83.567334,13.320312],[-83.514453,12.943945],[-83.541211,12.596289],[-83.517969,12.514111],[-83.510937,12.411816],[-83.565234,12.393408],[-83.595898,12.396484],[-83.627197,12.459326],[-83.623682,12.514551],[-83.591211,12.579346],[-83.578076,12.667139],[-83.593359,12.713086],[-83.625342,12.612891],[-83.681641,12.568115],[-83.718359,12.552637],[-83.754248,12.501953],[-83.716211,12.406738],[-83.667334,12.337061],[-83.65127,12.287061],[-83.669238,12.227539],[-83.68042,12.024316],[-83.697705,12.02998],[-83.715576,12.057422],[-83.767187,12.059277],[-83.77334,11.977393],[-83.769336,11.931641],[-83.813184,11.896387],[-83.828906,11.861035],[-83.792969,11.836182],[-83.753369,11.821289],[-83.70459,11.824561],[-83.664307,11.723877],[-83.651758,11.642041],[-83.744971,11.566504],[-83.776611,11.503955],[-83.829395,11.428174],[-83.859082,11.353662],[-83.867871,11.300049],[-83.831836,11.130518],[-83.76792,11.010254],[-83.714062,10.933838],[-83.641992,10.917236],[-83.658936,10.836865],[-83.712939,10.785889],[-83.811182,10.743262],[-83.919287,10.735352],[-84.096191,10.775684],[-84.168359,10.780371],[-84.196582,10.801709],[-84.20498,10.841309],[-84.255566,10.900732],[-84.348291,10.979883],[-84.401855,10.974463],[-84.48916,10.99165],[-84.63418,11.045605],[-84.701172,11.052197],[-84.797363,11.005908],[-84.90918,10.945312],[-85.178955,11.039941],[-85.368359,11.106445],[-85.538721,11.166309],[-85.58418,11.189453],[-85.621387,11.184473],[-85.653662,11.153076],[-85.690527,11.097461],[-85.702637,11.081543],[-85.722266,11.06626],[-85.744336,11.062109],[-85.745215,11.088574],[-85.828516,11.19873],[-85.961133,11.331348],[-86.468896,11.738281],[-86.655518,11.981543],[-86.755615,12.156641],[-86.850977,12.247754],[-87.125195,12.434131],[-87.188428,12.50835],[-87.460156,12.757568],[-87.667529,12.903564],[-87.670166,12.965674],[-87.585059,13.043311],[-87.543311,13.039697],[-87.497949,12.98418],[-87.424365,12.921143],[-87.389648,12.920654],[-87.338574,12.949951],[-87.337256,12.979248],[-87.05918,12.991455],[-87.009326,13.007812],[-86.958887,13.053711],[-86.933154,13.117529],[-86.928809,13.179395],[-86.918213,13.223584],[-86.873535,13.266504],[-86.792139,13.279785],[-86.729297,13.284375],[-86.710693,13.313379],[-86.72959,13.407227],[-86.763525,13.635254],[-86.770605,13.69873],[-86.758984,13.746143],[-86.733643,13.763477],[-86.610254,13.774854],[-86.376953,13.755664],[-86.331738,13.770068],[-86.238232,13.899463],[-86.151221,13.99458],[-86.089258,14.037207],[-86.040381,14.050146],[-85.983789,13.965674],[-85.786719,13.844434],[-85.753418,13.852051],[-85.733936,13.858691],[-85.727734,13.876074],[-85.731201,13.931836],[-85.681934,13.982568],[-85.579785,14.028223],[-85.477051,14.108691],[-85.373779,14.223877],[-85.28418,14.29165],[-85.20835,14.311816],[-85.179492,14.343311],[-85.197559,14.385986],[-85.191504,14.446631],[-85.161328,14.525146],[-85.117285,14.570605],[-85.059375,14.582959],[-85.036523,14.607666],[-85.048633,14.644727],[-85.037354,14.685547],[-84.985156,14.752441],[-84.860449,14.809766],[-84.78916,14.790381],[-84.729785,14.713379],[-84.645947,14.661084],[-84.537646,14.633398],[-84.453564,14.643701],[-84.393652,14.691748],[-84.339795,14.706348],[-84.291943,14.687354],[-84.26665,14.698145],[-84.263965,14.738525],[-84.239209,14.747852],[-84.192383,14.726025],[-84.150781,14.72041],[-84.114404,14.731006],[-84.100293,14.750635],[-84.092969,14.770898],[-84.06582,14.786084],[-83.972266,14.771094],[-83.867285,14.794482],[-83.750928,14.85625],[-83.673633,14.883545],[-83.635498,14.876416],[-83.589746,14.907568],[-83.536523,14.977002],[-83.415039,15.008057],[-83.15752,14.993066]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":2,"SOVEREIGNT":"New Zealand","SOV_A3":"NZ1","ADM0_DIF":1,"LEVEL":2,"TYPE":"Country","TLC":"1","ADMIN":"New Zealand","ADM0_A3":"NZL","GEOU_DIF":0,"GEOUNIT":"New Zealand","GU_A3":"NZL","SU_DIF":0,"SUBUNIT":"New Zealand","SU_A3":"NZL","BRK_DIFF":0,"NAME":"New Zealand","NAME_LONG":"New Zealand","BRK_A3":"NZL","BRK_NAME":"New Zealand","BRK_GROUP":null,"ABBREV":"N.Z.","POSTAL":"NZ","FORMAL_EN":"New Zealand","FORMAL_FR":null,"NAME_CIAWF":"New Zealand","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"New Zealand","NAME_ALT":null,"MAPCOLOR7":3,"MAPCOLOR8":3,"MAPCOLOR9":4,"MAPCOLOR13":4,"POP_EST":4917000,"POP_RANK":12,"POP_YEAR":2019,"GDP_MD":206928,"GDP_YEAR":2019,"ECONOMY":"2. Developed region: nonG7","INCOME_GRP":"1. High income: OECD","FIPS_10":"NZ","ISO_A2":"NZ","ISO_A2_EH":"NZ","ISO_A3":"NZL","ISO_A3_EH":"NZL","ISO_N3":"554","ISO_N3_EH":"554","UN_A3":"554","WB_A2":"NZ","WB_A3":"NZL","WOE_ID":23424916,"WOE_ID_EH":23424916,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"NZL","ADM0_DIFF":null,"ADM0_TLC":"NZL","ADM0_A3_US":"NZL","ADM0_A3_FR":"NZL","ADM0_A3_RU":"NZL","ADM0_A3_ES":"NZL","ADM0_A3_CN":"NZL","ADM0_A3_TW":"NZL","ADM0_A3_IN":"NZL","ADM0_A3_NP":"NZL","ADM0_A3_PK":"NZL","ADM0_A3_DE":"NZL","ADM0_A3_GB":"NZL","ADM0_A3_BR":"NZL","ADM0_A3_IL":"NZL","ADM0_A3_PS":"NZL","ADM0_A3_SA":"NZL","ADM0_A3_EG":"NZL","ADM0_A3_MA":"NZL","ADM0_A3_PT":"NZL","ADM0_A3_AR":"NZL","ADM0_A3_JP":"NZL","ADM0_A3_KO":"NZL","ADM0_A3_VN":"NZL","ADM0_A3_TR":"NZL","ADM0_A3_ID":"NZL","ADM0_A3_PL":"NZL","ADM0_A3_GR":"NZL","ADM0_A3_IT":"NZL","ADM0_A3_NL":"NZL","ADM0_A3_SE":"NZL","ADM0_A3_BD":"NZL","ADM0_A3_UA":"NZL","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Oceania","REGION_UN":"Oceania","SUBREGION":"Australia and New Zealand","REGION_WB":"East Asia & Pacific","NAME_LEN":11,"LONG_LEN":11,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":2,"MAX_LABEL":6.7,"LABEL_X":172.787,"LABEL_Y":-39.759,"NE_ID":1159321135,"WIKIDATAID":"Q664","NAME_AR":"نيوزيلندا","NAME_BN":"নিউজিল্যান্ড","NAME_DE":"Neuseeland","NAME_EN":"New Zealand","NAME_ES":"Nueva Zelanda","NAME_FA":"نیوزیلند","NAME_FR":"Nouvelle-Zélande","NAME_EL":"Νέα Ζηλανδία","NAME_HE":"ניו זילנד","NAME_HI":"न्यूज़ीलैण्ड","NAME_HU":"Új-Zéland","NAME_ID":"Selandia Baru","NAME_IT":"Nuova Zelanda","NAME_JA":"ニュージーランド","NAME_KO":"뉴질랜드","NAME_NL":"Nieuw-Zeeland","NAME_PL":"Nowa Zelandia","NAME_PT":"Nova Zelândia","NAME_RU":"Новая Зеландия","NAME_SV":"Nya Zeeland","NAME_TR":"Yeni Zelanda","NAME_UK":"Нова Зеландія","NAME_UR":"نیوزی لینڈ","NAME_VI":"New Zealand","NAME_ZH":"新西兰","NAME_ZHT":"新西蘭","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[-176.847656,-52.570312,178.53623,-8.546484],"geometry":{"type":"MultiPolygon","coordinates":[[[[173.115332,-41.279297],[173.230859,-41.28418],[173.337793,-41.210938],[173.447266,-41.151367],[173.5625,-41.102051],[173.737891,-40.988965],[173.783789,-40.972363],[173.897559,-40.950781],[173.947168,-40.924121],[174.002441,-40.917773],[173.952832,-40.984863],[173.889844,-41.007227],[173.879883,-41.031445],[173.915137,-41.070117],[173.860352,-41.124414],[173.862402,-41.19209],[173.797852,-41.271973],[173.89707,-41.239355],[173.933398,-41.187305],[173.914648,-41.158008],[173.957617,-41.099902],[174.024023,-41.072266],[173.997559,-41.028125],[173.999414,-40.993262],[174.080566,-41.006152],[174.121191,-41.004688],[174.153223,-40.990918],[174.211816,-40.985449],[174.223828,-41.024414],[174.302539,-41.019531],[174.273926,-41.06875],[174.213672,-41.125586],[174.199512,-41.160156],[174.103125,-41.217383],[174.038574,-41.241895],[174.138086,-41.248242],[174.283594,-41.171582],[174.370117,-41.103711],[174.367578,-41.188379],[174.297266,-41.264258],[174.237109,-41.312207],[174.169531,-41.327051],[174.102051,-41.365918],[174.069336,-41.429492],[174.072949,-41.47168],[174.092383,-41.505176],[174.161133,-41.561816],[174.083691,-41.670801],[174.169922,-41.657227],[174.21709,-41.677734],[174.283105,-41.740625],[174.243359,-41.813086],[174.21543,-41.850195],[174.047266,-42.003027],[173.973926,-42.080566],[173.887988,-42.130176],[173.88916,-42.211621],[173.839844,-42.270898],[173.589258,-42.473926],[173.545117,-42.517969],[173.347559,-42.84082],[173.221191,-42.976562],[173.148828,-43.022754],[173.072363,-43.060254],[172.888867,-43.124219],[172.808008,-43.197754],[172.718555,-43.258789],[172.624023,-43.272461],[172.626953,-43.299512],[172.6875,-43.314648],[172.734766,-43.354785],[172.699707,-43.399707],[172.632227,-43.42793],[172.562207,-43.436035],[172.52666,-43.464746],[172.693457,-43.444336],[172.74043,-43.467871],[172.749219,-43.517285],[172.766602,-43.561914],[172.807031,-43.620996],[172.947266,-43.658594],[173.073242,-43.676172],[173.098047,-43.703516],[173.116895,-43.797852],[173.093945,-43.844141],[173.065625,-43.874609],[173.02334,-43.885449],[172.920605,-43.891406],[172.817676,-43.870117],[172.749316,-43.813086],[172.554688,-43.831348],[172.502734,-43.843652],[172.475977,-43.833398],[172.583789,-43.773535],[172.527246,-43.739453],[172.480371,-43.72666],[172.429688,-43.746484],[172.395605,-43.777832],[172.385254,-43.82959],[172.350391,-43.859375],[172.296582,-43.867871],[172.220703,-43.825],[172.145801,-43.763574],[172.035547,-43.701758],[172.052246,-43.740039],[172.137207,-43.833789],[172.179785,-43.895996],[172.080762,-43.945605],[171.977637,-43.984277],[171.890625,-44.006934],[171.808398,-44.042285],[171.712012,-44.097461],[171.658984,-44.117188],[171.517773,-44.118359],[171.442578,-44.13584],[171.41748,-44.208691],[171.364551,-44.25498],[171.240723,-44.26416],[171.285352,-44.278711],[171.312988,-44.301855],[171.231055,-44.521191],[171.213086,-44.612207],[171.197852,-44.767871],[171.146289,-44.912305],[170.999023,-44.911426],[171.022852,-44.937012],[171.13418,-44.977734],[171.113281,-45.039258],[170.990723,-45.151465],[170.939648,-45.216406],[170.889941,-45.373926],[170.815234,-45.519141],[170.700586,-45.684277],[170.699707,-45.713965],[170.739844,-45.756055],[170.788477,-45.79248],[170.791211,-45.843848],[170.77627,-45.870898],[170.721777,-45.878027],[170.674219,-45.895703],[170.419141,-45.941016],[170.335449,-45.991797],[170.266797,-46.082617],[170.186133,-46.16084],[169.918262,-46.334375],[169.760742,-46.479785],[169.729102,-46.521387],[169.686621,-46.55166],[169.342285,-46.620508],[169.098633,-46.630664],[168.96582,-46.612988],[168.837793,-46.578223],[168.766797,-46.566309],[168.631445,-46.587598],[168.572266,-46.611035],[168.466406,-46.587891],[168.382129,-46.605371],[168.357227,-46.588379],[168.325684,-46.545703],[168.343066,-46.489063],[168.319727,-46.447168],[168.266211,-46.41875],[168.230273,-46.385742],[168.18916,-46.362207],[168.077344,-46.35293],[167.900391,-46.367773],[167.841992,-46.366211],[167.72207,-46.227148],[167.682227,-46.192969],[167.539453,-46.148535],[167.490625,-46.154687],[167.414258,-46.228906],[167.368945,-46.241504],[167.100293,-46.249414],[166.830762,-46.225488],[166.731543,-46.197852],[166.712109,-46.133691],[166.916699,-45.957227],[166.856445,-45.980859],[166.730273,-46.052734],[166.649902,-46.041699],[166.726953,-45.963281],[166.733789,-45.92832],[166.717969,-45.889355],[166.612695,-45.955371],[166.493164,-45.963867],[166.477637,-45.902734],[166.488281,-45.831836],[166.512891,-45.811719],[166.836035,-45.774512],[166.952539,-45.750195],[167.00332,-45.712109],[166.809961,-45.699023],[166.797656,-45.645605],[166.825586,-45.602832],[166.99082,-45.531738],[166.869043,-45.549902],[166.733984,-45.543555],[166.743066,-45.468457],[166.77832,-45.409668],[166.919922,-45.40791],[166.875586,-45.367578],[166.869238,-45.31123],[166.908594,-45.307422],[167.052148,-45.383203],[167.155664,-45.410938],[167.112109,-45.353906],[167.117773,-45.317969],[167.145313,-45.301855],[167.230078,-45.290332],[167.206836,-45.280273],[167.127344,-45.26582],[167.032813,-45.222461],[167.022656,-45.17666],[167.025879,-45.123633],[167.12793,-45.050781],[167.188184,-45.094141],[167.259473,-45.082227],[167.205078,-45.048145],[167.171875,-44.99707],[167.194531,-44.963477],[167.410742,-44.82793],[167.466211,-44.958301],[167.479199,-44.915039],[167.482129,-44.873926],[167.45625,-44.838281],[167.459961,-44.802344],[167.484961,-44.771387],[167.577637,-44.74082],[167.698145,-44.641309],[167.787012,-44.59502],[167.859375,-44.624707],[167.908984,-44.664746],[167.901563,-44.625],[167.866406,-44.59209],[167.856543,-44.500684],[168.018359,-44.358789],[168.196191,-44.223633],[168.366602,-44.082031],[168.457422,-44.030566],[168.650977,-43.972168],[168.774805,-43.996484],[168.806445,-43.991992],[168.99043,-43.889941],[169.066504,-43.863477],[169.135938,-43.899902],[169.178906,-43.913086],[169.135742,-43.819824],[169.169531,-43.777051],[169.323145,-43.701562],[169.515234,-43.623633],[169.661523,-43.591211],[169.769238,-43.538477],[169.833887,-43.537012],[169.824023,-43.497168],[169.835059,-43.458984],[169.89082,-43.461621],[169.908008,-43.446582],[169.858984,-43.425977],[170.017578,-43.349414],[170.103711,-43.265039],[170.148828,-43.247559],[170.189648,-43.22207],[170.240234,-43.163867],[170.3,-43.144629],[170.355762,-43.153613],[170.396094,-43.182227],[170.374316,-43.134668],[170.302832,-43.107617],[170.379492,-43.066211],[170.458691,-43.037695],[170.53584,-43.058496],[170.611816,-43.091797],[170.53584,-43.040723],[170.523633,-43.008984],[170.615527,-42.972461],[170.66543,-42.96123],[170.735254,-43.029785],[170.725293,-42.975488],[170.741602,-42.927344],[170.840332,-42.848633],[170.969922,-42.718359],[171.011426,-42.763672],[171.017773,-42.81875],[171.011719,-42.885059],[171.038379,-42.862109],[171.047559,-42.801855],[171.027734,-42.696094],[171.189551,-42.500488],[171.221289,-42.478613],[171.257031,-42.465332],[171.313379,-42.460156],[171.296094,-42.430566],[171.252246,-42.401953],[171.296484,-42.302539],[171.322656,-42.189063],[171.360254,-42.07998],[171.420605,-41.973047],[171.48623,-41.794727],[171.536328,-41.75752],[171.672168,-41.744727],[171.731641,-41.719629],[171.830664,-41.655176],[171.948047,-41.538672],[172.010742,-41.444727],[172.093359,-41.201562],[172.139453,-40.947266],[172.272754,-40.758691],[172.468164,-40.622168],[172.640625,-40.518262],[172.711133,-40.49668],[172.830176,-40.490039],[172.943652,-40.51875],[172.732617,-40.54375],[172.711133,-40.605371],[172.704395,-40.667773],[172.728906,-40.723633],[172.766797,-40.773438],[172.869141,-40.820312],[172.988672,-40.848242],[173.042285,-40.953613],[173.052148,-41.078613],[173.068652,-41.18584],[173.115332,-41.279297]]],[[[173.914648,-40.863672],[173.780859,-40.921777],[173.78623,-40.881445],[173.812402,-40.793652],[173.87334,-40.749316],[173.90332,-40.746289],[173.964453,-40.712988],[173.958008,-40.786816],[173.914648,-40.863672]]],[[[166.746289,-45.655859],[166.741016,-45.70498],[166.729199,-45.729688],[166.694531,-45.729883],[166.64248,-45.724414],[166.591699,-45.701758],[166.55918,-45.708203],[166.532031,-45.699805],[166.56709,-45.644434],[166.685645,-45.615039],[166.731445,-45.638672],[166.746289,-45.655859]]],[[[166.979492,-45.179688],[167.022656,-45.299805],[166.931152,-45.276855],[166.892676,-45.240527],[166.962695,-45.180371],[166.979492,-45.179688]]],[[[168.144922,-46.862207],[168.145313,-46.902148],[168.041016,-46.887793],[168.043164,-46.932617],[168.125488,-46.956152],[168.155957,-46.988281],[168.241406,-46.979004],[168.260645,-47.027051],[168.240918,-47.07002],[168.183887,-47.101562],[168.015039,-47.11748],[167.905566,-47.179883],[167.810742,-47.17041],[167.784961,-47.176074],[167.676367,-47.242969],[167.554883,-47.263672],[167.521973,-47.258691],[167.53877,-47.199023],[167.629004,-47.142285],[167.630957,-47.087793],[167.654102,-47.044238],[167.740918,-47.013574],[167.741992,-46.956836],[167.800781,-46.906543],[167.765234,-46.797656],[167.783984,-46.699805],[167.955762,-46.694434],[168.144922,-46.862207]]],[[[175.543164,-36.279297],[175.551172,-36.333887],[175.474609,-36.314453],[175.444629,-36.273242],[175.358789,-36.230664],[175.346191,-36.217773],[175.336621,-36.134766],[175.381641,-36.094824],[175.389551,-36.077734],[175.409375,-36.070898],[175.444336,-36.114648],[175.512598,-36.176953],[175.543164,-36.279297]]],[[[173.269434,-34.934766],[173.28457,-34.980566],[173.339941,-34.947949],[173.38125,-34.896484],[173.447852,-34.844336],[173.438672,-34.928516],[173.472656,-34.946973],[173.69375,-35.005664],[173.739258,-35.05459],[173.78623,-35.068555],[173.812793,-35.041211],[173.843945,-35.02627],[173.923828,-35.057129],[174.104004,-35.142871],[174.118945,-35.172363],[174.109766,-35.216406],[174.11875,-35.262891],[174.143164,-35.3],[174.203223,-35.308594],[174.28291,-35.253516],[174.320312,-35.24668],[174.37334,-35.324512],[174.393164,-35.368555],[174.384961,-35.36709],[174.419141,-35.410742],[174.464746,-35.454102],[174.543457,-35.582031],[174.531738,-35.626953],[174.508594,-35.667383],[174.580664,-35.785547],[174.533496,-35.79375],[174.391016,-35.77373],[174.395801,-35.797363],[174.478711,-35.884082],[174.54873,-36.006641],[174.604883,-36.080566],[174.802148,-36.309473],[174.772461,-36.390918],[174.777051,-36.444629],[174.751758,-36.49082],[174.819238,-36.612109],[174.777148,-36.649805],[174.749219,-36.774023],[174.718652,-36.795801],[174.722461,-36.841211],[174.801953,-36.853223],[174.849902,-36.872559],[174.891406,-36.909375],[174.917188,-36.865039],[174.952051,-36.85293],[175.04707,-36.912207],[175.245117,-36.971289],[175.299512,-36.993262],[175.326465,-37.040918],[175.34668,-37.156152],[175.385352,-37.206934],[175.460938,-37.216699],[175.54248,-37.201367],[175.568164,-37.159375],[175.551953,-37.046484],[175.493164,-36.865723],[175.492871,-36.806934],[175.50127,-36.748047],[175.487402,-36.689551],[175.458008,-36.634277],[175.426367,-36.591895],[175.385547,-36.556348],[175.399805,-36.500781],[175.46084,-36.475684],[175.497656,-36.522656],[175.528027,-36.579297],[175.681445,-36.746973],[175.772168,-36.735156],[175.780664,-36.80459],[175.842188,-36.875098],[175.876172,-36.957715],[175.921094,-37.20459],[175.990137,-37.437012],[176.114551,-37.538281],[176.129004,-37.586719],[176.05332,-37.561719],[176.029883,-37.57627],[176.037891,-37.600684],[176.108398,-37.645117],[176.191113,-37.666992],[176.243164,-37.663867],[176.291699,-37.680078],[176.614746,-37.830957],[176.77002,-37.889648],[177.161816,-37.985742],[177.274023,-37.993457],[177.335938,-37.99082],[177.45332,-37.957422],[177.558301,-37.897461],[177.648926,-37.807813],[177.727344,-37.705566],[177.812695,-37.655957],[177.909473,-37.616895],[177.958008,-37.580664],[178.00918,-37.554883],[178.272168,-37.566895],[178.360742,-37.618457],[178.475977,-37.659766],[178.53623,-37.69209],[178.516016,-37.757617],[178.44707,-37.854395],[178.393945,-37.960254],[178.347266,-38.200879],[178.31543,-38.444043],[178.267676,-38.551172],[178.180664,-38.633691],[178.084863,-38.693945],[177.976172,-38.722266],[177.932129,-38.860254],[177.910352,-39.021777],[177.916602,-39.062402],[177.951367,-39.094531],[177.965625,-39.14248],[177.908789,-39.239551],[177.875488,-39.225488],[177.828711,-39.144727],[177.786133,-39.110938],[177.655859,-39.085742],[177.522949,-39.073828],[177.40752,-39.081152],[177.296582,-39.11582],[177.128711,-39.186133],[177.076758,-39.221777],[177.03125,-39.266895],[176.954102,-39.367578],[176.935742,-39.490723],[176.939258,-39.555273],[176.966602,-39.605176],[177.109863,-39.673145],[176.967969,-39.910742],[176.842188,-40.157813],[176.770703,-40.228418],[176.68877,-40.293457],[176.611523,-40.441992],[176.476465,-40.57002],[176.385156,-40.667676],[176.313867,-40.768945],[176.251758,-40.876855],[176.118652,-41.029102],[176.059961,-41.129688],[175.98291,-41.213281],[175.839648,-41.320117],[175.687305,-41.411719],[175.44707,-41.538281],[175.380273,-41.580078],[175.309766,-41.610645],[175.222168,-41.574414],[175.204492,-41.534961],[175.184668,-41.449023],[175.165625,-41.417383],[175.053906,-41.391211],[174.906055,-41.43291],[174.881348,-41.424023],[174.875195,-41.404297],[174.875,-41.278223],[174.900195,-41.242676],[174.865625,-41.223047],[174.831543,-41.230762],[174.819727,-41.262891],[174.841211,-41.290723],[174.757031,-41.325293],[174.669531,-41.32627],[174.642969,-41.312695],[174.635352,-41.289453],[174.656543,-41.25127],[174.684863,-41.217676],[174.847754,-41.058789],[175.016797,-40.847656],[175.1625,-40.621582],[175.200488,-40.505371],[175.254102,-40.289355],[175.210156,-40.199414],[175.155957,-40.114941],[175.009277,-39.952148],[174.81377,-39.860156],[174.687305,-39.847168],[174.56748,-39.812988],[174.454688,-39.735156],[174.352051,-39.643359],[174.148633,-39.568164],[173.934375,-39.509082],[173.812109,-39.425781],[173.783008,-39.376172],[173.763672,-39.31875],[173.766406,-39.265332],[173.781641,-39.21123],[173.806055,-39.169531],[173.844336,-39.139355],[174.071387,-39.03125],[174.311719,-38.971094],[174.356055,-38.972168],[174.398438,-38.962598],[174.458496,-38.925781],[174.566211,-38.841602],[174.597363,-38.785059],[174.618555,-38.605273],[174.653027,-38.42832],[174.715332,-38.225586],[174.809277,-38.099805],[174.840039,-38.022656],[174.80166,-37.895508],[174.836816,-37.848926],[174.87959,-37.820801],[174.928027,-37.804492],[174.845996,-37.685156],[174.749414,-37.504688],[174.729199,-37.44873],[174.743945,-37.393457],[174.767676,-37.339063],[174.707422,-37.325293],[174.672559,-37.273145],[174.58584,-37.097754],[174.609668,-37.069922],[174.659668,-37.08877],[174.734277,-37.215234],[174.746387,-37.150098],[174.803613,-37.110059],[174.863867,-37.089258],[174.928906,-37.084766],[174.782031,-36.94375],[174.73291,-36.949414],[174.667969,-36.971875],[174.601465,-36.985742],[174.536523,-36.97334],[174.475586,-36.941895],[174.444531,-36.88252],[174.406055,-36.768262],[174.381934,-36.725977],[174.188867,-36.492285],[174.245703,-36.484961],[174.401563,-36.601953],[174.431738,-36.564551],[174.454297,-36.510742],[174.446875,-36.450879],[174.40957,-36.405566],[174.354102,-36.375977],[174.353125,-36.322852],[174.39541,-36.274121],[174.392773,-36.240039],[174.303516,-36.170508],[174.267871,-36.163086],[174.252051,-36.195605],[174.277539,-36.24375],[174.253711,-36.249121],[174.036426,-36.122461],[173.969336,-36.020605],[173.914453,-35.908691],[173.908887,-35.954199],[173.917285,-36.018164],[174.003125,-36.146289],[174.142383,-36.289453],[174.166406,-36.327637],[174.145801,-36.376953],[174.097461,-36.391016],[174.054688,-36.359766],[173.991016,-36.237207],[173.945117,-36.175879],[173.412207,-35.542578],[173.480273,-35.458984],[173.58584,-35.388574],[173.610352,-35.357227],[173.626172,-35.319141],[173.581641,-35.312598],[173.541699,-35.329883],[173.496094,-35.362305],[173.454297,-35.399219],[173.40166,-35.481152],[173.376367,-35.500098],[173.313965,-35.443359],[173.290234,-35.408301],[173.291211,-35.366309],[173.274512,-35.339648],[173.228125,-35.33125],[173.160156,-35.247754],[173.116699,-35.205273],[173.18877,-35.12373],[173.190625,-35.016211],[173.117285,-34.90332],[173.02959,-34.799902],[172.860742,-34.632324],[172.705957,-34.455176],[172.87373,-34.43291],[173.043945,-34.429102],[172.96377,-34.535156],[172.999805,-34.596484],[173.054395,-34.648242],[173.171094,-34.806934],[173.18125,-34.852734],[173.240527,-34.899023],[173.269434,-34.934766]]],[[[169.178223,-52.497266],[169.233496,-52.548242],[169.127539,-52.570312],[169.075977,-52.551855],[169.039844,-52.528516],[169.021777,-52.49541],[169.079102,-52.498828],[169.128613,-52.485156],[169.178223,-52.497266]]],[[[166.221094,-50.761523],[166.242871,-50.845703],[166.187891,-50.846094],[166.073242,-50.822656],[166.037695,-50.786719],[166.013281,-50.77793],[165.971387,-50.819531],[165.904102,-50.821484],[165.88916,-50.807715],[165.915625,-50.763086],[166.073828,-50.679004],[166.103125,-50.573047],[166.101367,-50.538965],[166.225098,-50.530957],[166.254297,-50.543945],[166.26748,-50.558594],[166.259375,-50.577246],[166.20957,-50.612012],[166.207617,-50.652441],[166.22041,-50.694336],[166.179492,-50.714648],[166.200781,-50.750879],[166.221094,-50.761523]]],[[[-176.177637,-43.740332],[-176.213525,-43.766309],[-176.274854,-43.764844],[-176.381738,-43.866797],[-176.375244,-43.790625],[-176.407373,-43.760938],[-176.499121,-43.768066],[-176.516553,-43.784766],[-176.454932,-43.804883],[-176.44126,-43.816113],[-176.500146,-43.860156],[-176.439111,-43.954688],[-176.385449,-43.951465],[-176.333594,-44.025293],[-176.333838,-44.048438],[-176.452783,-44.076855],[-176.515527,-44.116602],[-176.571533,-44.114941],[-176.597998,-44.107227],[-176.629346,-44.036133],[-176.631543,-44.00625],[-176.562744,-43.954102],[-176.523779,-43.900977],[-176.555127,-43.851953],[-176.63457,-43.820215],[-176.807959,-43.83457],[-176.847656,-43.823926],[-176.761084,-43.75791],[-176.667236,-43.765137],[-176.566113,-43.717578],[-176.177637,-43.740332]]],[[[-176.176465,-44.32168],[-176.220801,-44.330566],[-176.2146,-44.273535],[-176.229297,-44.236719],[-176.154687,-44.224512],[-176.122559,-44.268457],[-176.176465,-44.32168]]],[[[-172.47915,-8.580762],[-172.483691,-8.58291],[-172.488232,-8.571582],[-172.494043,-8.55918],[-172.498682,-8.547949],[-172.497021,-8.546484],[-172.487256,-8.556152],[-172.481104,-8.56748],[-172.47915,-8.580762]]],[[[-171.186426,-9.355469],[-171.188623,-9.358301],[-171.193018,-9.352441],[-171.200049,-9.344727],[-171.204443,-9.333301],[-171.20166,-9.332617],[-171.194434,-9.33877],[-171.189307,-9.346582],[-171.186426,-9.355469]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":3,"LABELRANK":4,"SOVEREIGNT":"New Zealand","SOV_A3":"NZ1","ADM0_DIF":1,"LEVEL":2,"TYPE":"Dependency","TLC":"1","ADMIN":"Niue","ADM0_A3":"NIU","GEOU_DIF":0,"GEOUNIT":"Niue","GU_A3":"NIU","SU_DIF":0,"SUBUNIT":"Niue","SU_A3":"NIU","BRK_DIFF":0,"NAME":"Niue","NAME_LONG":"Niue","BRK_A3":"NIU","BRK_NAME":"Niue","BRK_GROUP":null,"ABBREV":"Niue","POSTAL":"NU","FORMAL_EN":null,"FORMAL_FR":null,"NAME_CIAWF":"Niue","NOTE_ADM0":"Assoc. with N.Z.","NOTE_BRK":"Assoc. with N.Z.","NAME_SORT":"Niue","NAME_ALT":null,"MAPCOLOR7":3,"MAPCOLOR8":3,"MAPCOLOR9":4,"MAPCOLOR13":4,"POP_EST":1620,"POP_RANK":3,"POP_YEAR":2018,"GDP_MD":10,"GDP_YEAR":2003,"ECONOMY":"6. Developing region","INCOME_GRP":"3. Upper middle income","FIPS_10":"NE","ISO_A2":"NU","ISO_A2_EH":"NU","ISO_A3":"NIU","ISO_A3_EH":"NIU","ISO_N3":"570","ISO_N3_EH":"570","UN_A3":"570","WB_A2":"-99","WB_A3":"-99","WOE_ID":23424904,"WOE_ID_EH":23424904,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"NIU","ADM0_DIFF":null,"ADM0_TLC":"NIU","ADM0_A3_US":"NIU","ADM0_A3_FR":"NIU","ADM0_A3_RU":"NIU","ADM0_A3_ES":"NIU","ADM0_A3_CN":"NIU","ADM0_A3_TW":"NIU","ADM0_A3_IN":"NIU","ADM0_A3_NP":"NIU","ADM0_A3_PK":"NIU","ADM0_A3_DE":"NIU","ADM0_A3_GB":"NIU","ADM0_A3_BR":"NIU","ADM0_A3_IL":"NIU","ADM0_A3_PS":"NIU","ADM0_A3_SA":"NIU","ADM0_A3_EG":"NIU","ADM0_A3_MA":"NIU","ADM0_A3_PT":"NIU","ADM0_A3_AR":"NIU","ADM0_A3_JP":"NIU","ADM0_A3_KO":"NIU","ADM0_A3_VN":"NIU","ADM0_A3_TR":"NIU","ADM0_A3_ID":"NIU","ADM0_A3_PL":"NIU","ADM0_A3_GR":"NIU","ADM0_A3_IT":"NIU","ADM0_A3_NL":"NIU","ADM0_A3_SE":"NIU","ADM0_A3_BD":"NIU","ADM0_A3_UA":"NIU","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Oceania","REGION_UN":"Oceania","SUBREGION":"Polynesia","REGION_WB":"East Asia & Pacific","NAME_LEN":4,"LONG_LEN":4,"ABBREV_LEN":4,"TINY":3,"HOMEPART":-99,"MIN_ZOOM":0,"MIN_LABEL":4,"MAX_LABEL":9,"LABEL_X":-169.862565,"LABEL_Y":-19.045956,"NE_ID":1159321133,"WIKIDATAID":"Q34020","NAME_AR":"نييوي","NAME_BN":"নিউয়ে","NAME_DE":"Niue","NAME_EN":"Niue","NAME_ES":"Niue","NAME_FA":"نیووی","NAME_FR":"Niue","NAME_EL":"Νιούε","NAME_HE":"ניואה","NAME_HI":"निउए","NAME_HU":"Niue","NAME_ID":"Niue","NAME_IT":"Niue","NAME_JA":"ニウエ","NAME_KO":"니우에","NAME_NL":"Niue","NAME_PL":"Niue","NAME_PT":"Niue","NAME_RU":"Ниуэ","NAME_SV":"Niue","NAME_TR":"Niue","NAME_UK":"Ніуе","NAME_UR":"نیووے","NAME_VI":"Niue","NAME_ZH":"纽埃","NAME_ZHT":"紐埃","FCLASS_ISO":"Admin-0 dependency","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 dependency","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[-169.94834,-19.137891,-169.793408,-18.966016],"geometry":{"type":"Polygon","coordinates":[[[-169.803418,-19.083008],[-169.903809,-19.137891],[-169.94834,-19.072852],[-169.90874,-18.990234],[-169.861572,-18.968652],[-169.834033,-18.966016],[-169.793408,-19.042578],[-169.803418,-19.083008]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":3,"LABELRANK":4,"SOVEREIGNT":"New Zealand","SOV_A3":"NZ1","ADM0_DIF":1,"LEVEL":2,"TYPE":"Dependency","TLC":"1","ADMIN":"Cook Islands","ADM0_A3":"COK","GEOU_DIF":0,"GEOUNIT":"Cook Islands","GU_A3":"COK","SU_DIF":0,"SUBUNIT":"Cook Islands","SU_A3":"COK","BRK_DIFF":0,"NAME":"Cook Is.","NAME_LONG":"Cook Islands","BRK_A3":"COK","BRK_NAME":"Cook Is.","BRK_GROUP":null,"ABBREV":"Cook Is.","POSTAL":"CK","FORMAL_EN":null,"FORMAL_FR":null,"NAME_CIAWF":"Cook Islands","NOTE_ADM0":"Assoc. with N.Z.","NOTE_BRK":"Assoc. with N.Z.","NAME_SORT":"Cook Islands","NAME_ALT":null,"MAPCOLOR7":3,"MAPCOLOR8":3,"MAPCOLOR9":4,"MAPCOLOR13":4,"POP_EST":17459,"POP_RANK":6,"POP_YEAR":2016,"GDP_MD":244,"GDP_YEAR":2010,"ECONOMY":"6. Developing region","INCOME_GRP":"3. Upper middle income","FIPS_10":"CW","ISO_A2":"CK","ISO_A2_EH":"CK","ISO_A3":"COK","ISO_A3_EH":"COK","ISO_N3":"184","ISO_N3_EH":"184","UN_A3":"184","WB_A2":"-99","WB_A3":"-99","WOE_ID":23424795,"WOE_ID_EH":23424795,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"COK","ADM0_DIFF":null,"ADM0_TLC":"COK","ADM0_A3_US":"COK","ADM0_A3_FR":"COK","ADM0_A3_RU":"COK","ADM0_A3_ES":"COK","ADM0_A3_CN":"COK","ADM0_A3_TW":"COK","ADM0_A3_IN":"COK","ADM0_A3_NP":"COK","ADM0_A3_PK":"COK","ADM0_A3_DE":"COK","ADM0_A3_GB":"COK","ADM0_A3_BR":"COK","ADM0_A3_IL":"COK","ADM0_A3_PS":"COK","ADM0_A3_SA":"COK","ADM0_A3_EG":"COK","ADM0_A3_MA":"COK","ADM0_A3_PT":"COK","ADM0_A3_AR":"COK","ADM0_A3_JP":"COK","ADM0_A3_KO":"COK","ADM0_A3_VN":"COK","ADM0_A3_TR":"COK","ADM0_A3_ID":"COK","ADM0_A3_PL":"COK","ADM0_A3_GR":"COK","ADM0_A3_IT":"COK","ADM0_A3_NL":"COK","ADM0_A3_SE":"COK","ADM0_A3_BD":"COK","ADM0_A3_UA":"COK","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Oceania","REGION_UN":"Oceania","SUBREGION":"Polynesia","REGION_WB":"East Asia & Pacific","NAME_LEN":8,"LONG_LEN":12,"ABBREV_LEN":8,"TINY":3,"HOMEPART":-99,"MIN_ZOOM":0,"MIN_LABEL":4,"MAX_LABEL":9,"LABEL_X":-159.785675,"LABEL_Y":-21.215993,"NE_ID":1159321129,"WIKIDATAID":"Q26988","NAME_AR":"جزر كوك","NAME_BN":"কুক দ্বীপপুঞ্জ","NAME_DE":"Cookinseln","NAME_EN":"Cook Islands","NAME_ES":"Islas Cook","NAME_FA":"جزایر کوک","NAME_FR":"Îles Cook","NAME_EL":"Νήσοι Κουκ","NAME_HE":"איי קוק","NAME_HI":"कुक द्वीपसमूह","NAME_HU":"Cook-szigetek","NAME_ID":"Kepulauan Cook","NAME_IT":"Isole Cook","NAME_JA":"クック諸島","NAME_KO":"쿡 제도","NAME_NL":"Cookeilanden","NAME_PL":"Wyspy Cooka","NAME_PT":"Ilhas Cook","NAME_RU":"Острова Кука","NAME_SV":"Cooköarna","NAME_TR":"Cook Adaları","NAME_UK":"Острови Кука","NAME_UR":"جزائر کک","NAME_VI":"Quần đảo Cook","NAME_ZH":"库克群岛","NAME_ZHT":"庫克群島","FCLASS_ISO":"Admin-0 dependency","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 dependency","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[-159.84248,-21.249512,-159.736865,-21.186426],"geometry":{"type":"Polygon","coordinates":[[[-159.740527,-21.249219],[-159.772559,-21.249512],[-159.813086,-21.24209],[-159.8396,-21.238086],[-159.84248,-21.229102],[-159.832031,-21.200488],[-159.810596,-21.186426],[-159.768359,-21.188477],[-159.739502,-21.208105],[-159.736865,-21.240625],[-159.740527,-21.249219]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":5,"SOVEREIGNT":"Netherlands","SOV_A3":"NL1","ADM0_DIF":1,"LEVEL":2,"TYPE":"Country","TLC":"1","ADMIN":"Netherlands","ADM0_A3":"NLD","GEOU_DIF":0,"GEOUNIT":"Netherlands","GU_A3":"NLD","SU_DIF":0,"SUBUNIT":"Netherlands","SU_A3":"NLD","BRK_DIFF":0,"NAME":"Netherlands","NAME_LONG":"Netherlands","BRK_A3":"NLD","BRK_NAME":"Netherlands","BRK_GROUP":null,"ABBREV":"Neth.","POSTAL":"NL","FORMAL_EN":"Kingdom of the Netherlands","FORMAL_FR":null,"NAME_CIAWF":"Netherlands","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Netherlands","NAME_ALT":null,"MAPCOLOR7":4,"MAPCOLOR8":2,"MAPCOLOR9":2,"MAPCOLOR13":9,"POP_EST":17332850,"POP_RANK":14,"POP_YEAR":2019,"GDP_MD":907050,"GDP_YEAR":2019,"ECONOMY":"2. Developed region: nonG7","INCOME_GRP":"1. High income: OECD","FIPS_10":"NL","ISO_A2":"NL","ISO_A2_EH":"NL","ISO_A3":"NLD","ISO_A3_EH":"NLD","ISO_N3":"528","ISO_N3_EH":"528","UN_A3":"528","WB_A2":"NL","WB_A3":"NLD","WOE_ID":-90,"WOE_ID_EH":23424909,"WOE_NOTE":"Doesn't include new former units of Netherlands Antilles (24549811, 24549808, and 24549809)","ADM0_ISO":"NLD","ADM0_DIFF":null,"ADM0_TLC":"NLD","ADM0_A3_US":"NLD","ADM0_A3_FR":"NLD","ADM0_A3_RU":"NLD","ADM0_A3_ES":"NLD","ADM0_A3_CN":"NLD","ADM0_A3_TW":"NLD","ADM0_A3_IN":"NLD","ADM0_A3_NP":"NLD","ADM0_A3_PK":"NLD","ADM0_A3_DE":"NLD","ADM0_A3_GB":"NLD","ADM0_A3_BR":"NLD","ADM0_A3_IL":"NLD","ADM0_A3_PS":"NLD","ADM0_A3_SA":"NLD","ADM0_A3_EG":"NLD","ADM0_A3_MA":"NLD","ADM0_A3_PT":"NLD","ADM0_A3_AR":"NLD","ADM0_A3_JP":"NLD","ADM0_A3_KO":"NLD","ADM0_A3_VN":"NLD","ADM0_A3_TR":"NLD","ADM0_A3_ID":"NLD","ADM0_A3_PL":"NLD","ADM0_A3_GR":"NLD","ADM0_A3_IT":"NLD","ADM0_A3_NL":"NLD","ADM0_A3_SE":"NLD","ADM0_A3_BD":"NLD","ADM0_A3_UA":"NLD","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Europe","REGION_UN":"Europe","SUBREGION":"Western Europe","REGION_WB":"Europe & Central Asia","NAME_LEN":11,"LONG_LEN":11,"ABBREV_LEN":5,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":4,"MAX_LABEL":10,"LABEL_X":5.61144,"LABEL_Y":52.422211,"NE_ID":1159321101,"WIKIDATAID":"Q55","NAME_AR":"هولندا","NAME_BN":"নেদারল্যান্ডস","NAME_DE":"Niederlande","NAME_EN":"Netherlands","NAME_ES":"Países Bajos","NAME_FA":"هلند","NAME_FR":"Pays-Bas","NAME_EL":"Ολλανδία","NAME_HE":"הולנד","NAME_HI":"नीदरलैण्ड","NAME_HU":"Hollandia","NAME_ID":"Belanda","NAME_IT":"Paesi Bassi","NAME_JA":"オランダ","NAME_KO":"네덜란드","NAME_NL":"Nederland","NAME_PL":"Holandia","NAME_PT":"Países Baixos","NAME_RU":"Нидерланды","NAME_SV":"Nederländerna","NAME_TR":"Hollanda","NAME_UK":"Нідерланди","NAME_UR":"نیدرلینڈز","NAME_VI":"Hà Lan","NAME_ZH":"荷兰","NAME_ZHT":"荷蘭","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[-68.371094,12.03208,7.197266,53.625488],"geometry":{"type":"MultiPolygon","coordinates":[[[[5.993945,50.750439],[5.892461,50.752557],[5.797363,50.754541],[5.74707,50.75957],[5.693652,50.774658],[5.693555,50.774756],[5.669141,50.805957],[5.639453,50.843604],[5.647559,50.86665],[5.736621,50.932129],[5.75,50.950244],[5.74082,50.959912],[5.749805,50.98877],[5.818262,51.086426],[5.827148,51.125635],[5.796484,51.153076],[5.752344,51.169482],[5.608789,51.198437],[5.54043,51.239307],[5.508789,51.275],[5.476855,51.285059],[5.429785,51.272998],[5.31084,51.259717],[5.21416,51.278955],[5.099902,51.346484],[5.073438,51.406836],[5.059473,51.453125],[5.030957,51.469092],[4.992578,51.445361],[4.943945,51.407764],[4.848047,51.403271],[4.820703,51.412061],[4.816016,51.432812],[4.810547,51.452734],[4.78418,51.477393],[4.755664,51.491113],[4.633984,51.421729],[4.58877,51.421924],[4.531641,51.448584],[4.503418,51.474707],[4.440918,51.459814],[4.384766,51.427588],[4.404004,51.36709],[4.37373,51.356006],[4.304492,51.361523],[4.226172,51.386475],[4.138867,51.401514],[4.006543,51.443213],[3.821875,51.409375],[3.693555,51.449902],[3.586914,51.453906],[3.520508,51.486182],[3.448926,51.540771],[3.499609,51.57666],[3.548633,51.589111],[3.743945,51.596045],[3.886035,51.574219],[4.141309,51.455762],[4.205762,51.456689],[4.274121,51.471631],[4.239355,51.503906],[4.175488,51.519287],[4.080469,51.551123],[4.004785,51.59585],[4.182617,51.610303],[4.158008,51.633447],[4.13457,51.6729],[3.946875,51.810547],[3.978906,51.847803],[4.026074,51.927734],[4.084863,51.994092],[4.131738,52.011914],[4.208789,52.058984],[4.37627,52.196826],[4.482813,52.30918],[4.562109,52.442578],[4.67832,52.809766],[4.712695,52.872119],[4.76875,52.941309],[4.839063,52.928271],[4.887988,52.90835],[5.06123,52.960645],[5.358398,53.096484],[5.445996,53.214062],[5.532031,53.268701],[5.873535,53.375195],[6.062207,53.40708],[6.353223,53.415283],[6.563574,53.434277],[6.816211,53.441162],[6.912402,53.375391],[6.968164,53.327295],[7.058008,53.300586],[7.197266,53.282275],[7.188965,53.187207],[7.189941,52.999512],[7.179492,52.966211],[7.11709,52.887012],[7.050879,52.744775],[7.033008,52.651367],[7.013184,52.633545],[6.748438,52.634082],[6.710742,52.617871],[6.705371,52.597656],[6.71875,52.573584],[6.712402,52.549658],[6.691602,52.530176],[6.70293,52.499219],[6.748828,52.464014],[6.83252,52.442285],[6.92207,52.440283],[6.968164,52.444092],[7.001855,52.418994],[7.035156,52.380225],[7.032617,52.331494],[7.019629,52.266016],[6.977246,52.205518],[6.855078,52.135791],[6.800391,52.11123],[6.749023,52.098682],[6.724512,52.080225],[6.712988,52.056885],[6.715625,52.036182],[6.802441,51.980176],[6.800391,51.967383],[6.775195,51.938281],[6.741797,51.910889],[6.517578,51.853955],[6.425,51.858398],[6.372168,51.830029],[6.355664,51.824658],[6.29707,51.850732],[6.166504,51.880762],[6.117188,51.87041],[6.089844,51.853955],[6.007617,51.833984],[5.94873,51.802686],[5.948535,51.762402],[6.052734,51.658252],[6.089355,51.637793],[6.091113,51.598926],[6.141602,51.550098],[6.193262,51.488916],[6.198828,51.45],[6.192871,51.410596],[6.166211,51.354834],[6.075879,51.224121],[6.074805,51.199023],[6.082422,51.17998],[6.113379,51.174707],[6.136914,51.164844],[6.12998,51.147412],[5.961035,51.056689],[5.939258,51.04082],[5.868359,51.045312],[5.85752,51.030127],[5.867188,51.005664],[5.894727,50.984229],[5.955078,50.972949],[6.006836,50.949951],[6.048438,50.904883],[5.993945,50.750439]]],[[[4.226172,51.386475],[4.211426,51.34873],[4.172559,51.30708],[4.040039,51.24707],[3.902051,51.207666],[3.830762,51.212598],[3.781934,51.233203],[3.755664,51.254834],[3.681836,51.275684],[3.580273,51.286182],[3.51709,51.263623],[3.471973,51.242236],[3.43252,51.245752],[3.402832,51.263623],[3.380078,51.291113],[3.350098,51.377686],[3.425781,51.393506],[3.589453,51.399414],[3.716504,51.369141],[3.883398,51.354492],[4.011035,51.395947],[4.111523,51.360645],[4.226172,51.386475]]],[[[6.333398,53.510742],[6.193262,53.476807],[6.159277,53.483936],[6.167676,53.49375],[6.290918,53.51499],[6.333398,53.510742]]],[[[5.929297,53.458838],[5.732031,53.442627],[5.665332,53.454883],[5.654297,53.466504],[5.708105,53.473389],[5.87627,53.475098],[5.928223,53.46499],[5.929297,53.458838]]],[[[5.108594,53.308008],[4.92373,53.23457],[4.90791,53.24624],[5.027051,53.310205],[5.108594,53.308008]]],[[[5.325781,53.385742],[5.232617,53.377783],[5.190234,53.391797],[5.415137,53.431445],[5.557422,53.443555],[5.582617,53.438086],[5.325781,53.385742]]],[[[4.886133,53.070703],[4.787109,52.999805],[4.726758,53.019629],[4.70918,53.036035],[4.739844,53.091309],[4.886426,53.183301],[4.886133,53.070703]]],[[[3.949121,51.739453],[4.046777,51.684912],[4.067578,51.66748],[4.075098,51.648779],[3.950977,51.627051],[3.819043,51.693994],[3.731836,51.678223],[3.699023,51.709912],[3.698535,51.729687],[3.789062,51.746436],[3.949121,51.739453]]],[[[6.734766,53.58252],[6.64209,53.579199],[6.668555,53.605664],[6.75459,53.625488],[6.800879,53.625488],[6.734766,53.58252]]],[[[-68.205811,12.14458],[-68.254346,12.03208],[-68.282227,12.082275],[-68.287256,12.171729],[-68.307129,12.206738],[-68.348437,12.228076],[-68.371094,12.25752],[-68.369238,12.301953],[-68.219482,12.23125],[-68.205811,12.14458]]],[[[-62.9375,17.495654],[-62.961719,17.475049],[-62.983105,17.476904],[-62.997168,17.496826],[-62.999609,17.530371],[-62.979346,17.521191],[-62.971777,17.516064],[-62.96543,17.509277],[-62.9375,17.495654]]],[[[-63.232666,17.623145],[-63.241602,17.61958],[-63.254492,17.628662],[-63.252148,17.645264],[-63.24165,17.651807],[-63.233496,17.647217],[-63.226904,17.634131],[-63.232666,17.623145]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":3,"LABELRANK":5,"SOVEREIGNT":"Netherlands","SOV_A3":"NL1","ADM0_DIF":1,"LEVEL":2,"TYPE":"Country","TLC":"1","ADMIN":"Aruba","ADM0_A3":"ABW","GEOU_DIF":0,"GEOUNIT":"Aruba","GU_A3":"ABW","SU_DIF":0,"SUBUNIT":"Aruba","SU_A3":"ABW","BRK_DIFF":0,"NAME":"Aruba","NAME_LONG":"Aruba","BRK_A3":"ABW","BRK_NAME":"Aruba","BRK_GROUP":null,"ABBREV":"Aruba","POSTAL":"AW","FORMAL_EN":"Aruba","FORMAL_FR":null,"NAME_CIAWF":"Aruba","NOTE_ADM0":"Neth.","NOTE_BRK":null,"NAME_SORT":"Aruba","NAME_ALT":null,"MAPCOLOR7":4,"MAPCOLOR8":2,"MAPCOLOR9":2,"MAPCOLOR13":9,"POP_EST":106314,"POP_RANK":9,"POP_YEAR":2019,"GDP_MD":3056,"GDP_YEAR":2017,"ECONOMY":"6. Developing region","INCOME_GRP":"2. High income: nonOECD","FIPS_10":"AA","ISO_A2":"AW","ISO_A2_EH":"AW","ISO_A3":"ABW","ISO_A3_EH":"ABW","ISO_N3":"533","ISO_N3_EH":"533","UN_A3":"533","WB_A2":"AW","WB_A3":"ABW","WOE_ID":23424736,"WOE_ID_EH":23424736,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"ABW","ADM0_DIFF":null,"ADM0_TLC":"ABW","ADM0_A3_US":"ABW","ADM0_A3_FR":"ABW","ADM0_A3_RU":"ABW","ADM0_A3_ES":"ABW","ADM0_A3_CN":"ABW","ADM0_A3_TW":"ABW","ADM0_A3_IN":"ABW","ADM0_A3_NP":"ABW","ADM0_A3_PK":"ABW","ADM0_A3_DE":"ABW","ADM0_A3_GB":"ABW","ADM0_A3_BR":"ABW","ADM0_A3_IL":"ABW","ADM0_A3_PS":"ABW","ADM0_A3_SA":"ABW","ADM0_A3_EG":"ABW","ADM0_A3_MA":"ABW","ADM0_A3_PT":"ABW","ADM0_A3_AR":"ABW","ADM0_A3_JP":"ABW","ADM0_A3_KO":"ABW","ADM0_A3_VN":"ABW","ADM0_A3_TR":"ABW","ADM0_A3_ID":"ABW","ADM0_A3_PL":"ABW","ADM0_A3_GR":"ABW","ADM0_A3_IT":"ABW","ADM0_A3_NL":"ABW","ADM0_A3_SE":"ABW","ADM0_A3_BD":"ABW","ADM0_A3_UA":"ABW","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"North America","REGION_UN":"Americas","SUBREGION":"Caribbean","REGION_WB":"Latin America & Caribbean","NAME_LEN":5,"LONG_LEN":5,"ABBREV_LEN":5,"TINY":4,"HOMEPART":-99,"MIN_ZOOM":0,"MIN_LABEL":5,"MAX_LABEL":10,"LABEL_X":-69.972795,"LABEL_Y":12.5174,"NE_ID":1159321097,"WIKIDATAID":"Q21203","NAME_AR":"أروبا","NAME_BN":"আরুবা","NAME_DE":"Aruba","NAME_EN":"Aruba","NAME_ES":"Aruba","NAME_FA":"آروبا","NAME_FR":"Aruba","NAME_EL":"Αρούμπα","NAME_HE":"ארובה","NAME_HI":"अरूबा","NAME_HU":"Aruba","NAME_ID":"Aruba","NAME_IT":"Aruba","NAME_JA":"アルバ","NAME_KO":"아루바","NAME_NL":"Aruba","NAME_PL":"Aruba","NAME_PT":"Aruba","NAME_RU":"Аруба","NAME_SV":"Aruba","NAME_TR":"Aruba","NAME_UK":"Аруба","NAME_UR":"اروبا","NAME_VI":"Aruba","NAME_ZH":"阿鲁巴","NAME_ZHT":"阿魯巴","FCLASS_ISO":"Admin-0 dependency","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 dependency","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[-70.066113,12.422998,-69.895703,12.614111],"geometry":{"type":"Polygon","coordinates":[[[-69.899121,12.452002],[-69.895703,12.422998],[-69.942187,12.438525],[-70.00415,12.500488],[-70.066113,12.546973],[-70.050879,12.59707],[-70.035107,12.614111],[-69.973145,12.567627],[-69.911816,12.480469],[-69.899121,12.452002]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":3,"LABELRANK":5,"SOVEREIGNT":"Netherlands","SOV_A3":"NL1","ADM0_DIF":1,"LEVEL":2,"TYPE":"Country","TLC":"1","ADMIN":"Curaçao","ADM0_A3":"CUW","GEOU_DIF":0,"GEOUNIT":"Curaçao","GU_A3":"CUW","SU_DIF":0,"SUBUNIT":"Curaçao","SU_A3":"CUW","BRK_DIFF":0,"NAME":"Curaçao","NAME_LONG":"Curaçao","BRK_A3":"CUW","BRK_NAME":"Curaçao","BRK_GROUP":null,"ABBREV":"Cur.","POSTAL":"CW","FORMAL_EN":"Curaçao","FORMAL_FR":null,"NAME_CIAWF":"Curacao","NOTE_ADM0":"Neth.","NOTE_BRK":null,"NAME_SORT":"Curaçao","NAME_ALT":null,"MAPCOLOR7":4,"MAPCOLOR8":2,"MAPCOLOR9":2,"MAPCOLOR13":9,"POP_EST":157538,"POP_RANK":9,"POP_YEAR":2019,"GDP_MD":3101,"GDP_YEAR":2019,"ECONOMY":"6. Developing region","INCOME_GRP":"2. High income: nonOECD","FIPS_10":"NT","ISO_A2":"CW","ISO_A2_EH":"CW","ISO_A3":"CUW","ISO_A3_EH":"CUW","ISO_N3":"531","ISO_N3_EH":"531","UN_A3":"531","WB_A2":"CW","WB_A3":"CUW","WOE_ID":-90,"WOE_ID_EH":24549810,"WOE_NOTE":"Expired subunits of Netherlands Antilles (23424914).","ADM0_ISO":"CUW","ADM0_DIFF":null,"ADM0_TLC":"CUW","ADM0_A3_US":"CUW","ADM0_A3_FR":"CUW","ADM0_A3_RU":"CUW","ADM0_A3_ES":"CUW","ADM0_A3_CN":"CUW","ADM0_A3_TW":"CUW","ADM0_A3_IN":"CUW","ADM0_A3_NP":"CUW","ADM0_A3_PK":"CUW","ADM0_A3_DE":"CUW","ADM0_A3_GB":"CUW","ADM0_A3_BR":"CUW","ADM0_A3_IL":"CUW","ADM0_A3_PS":"CUW","ADM0_A3_SA":"CUW","ADM0_A3_EG":"CUW","ADM0_A3_MA":"CUW","ADM0_A3_PT":"CUW","ADM0_A3_AR":"CUW","ADM0_A3_JP":"CUW","ADM0_A3_KO":"CUW","ADM0_A3_VN":"CUW","ADM0_A3_TR":"CUW","ADM0_A3_ID":"CUW","ADM0_A3_PL":"CUW","ADM0_A3_GR":"CUW","ADM0_A3_IT":"CUW","ADM0_A3_NL":"CUW","ADM0_A3_SE":"CUW","ADM0_A3_BD":"CUW","ADM0_A3_UA":"CUW","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"North America","REGION_UN":"Americas","SUBREGION":"Caribbean","REGION_WB":"Latin America & Caribbean","NAME_LEN":7,"LONG_LEN":7,"ABBREV_LEN":4,"TINY":4,"HOMEPART":-99,"MIN_ZOOM":0,"MIN_LABEL":5,"MAX_LABEL":10,"LABEL_X":-68.920578,"LABEL_Y":12.145039,"NE_ID":1159321099,"WIKIDATAID":"Q25279","NAME_AR":"كوراساو","NAME_BN":"কিউরাসাও","NAME_DE":"Curaçao","NAME_EN":"Curaçao","NAME_ES":"Curazao","NAME_FA":"کوراسائو","NAME_FR":"Curaçao","NAME_EL":"Κουρασάο","NAME_HE":"קוראסאו","NAME_HI":"कुराकाओ","NAME_HU":"Curaçao","NAME_ID":"Curaçao","NAME_IT":"Curaçao","NAME_JA":"キュラソー","NAME_KO":"퀴라소","NAME_NL":"Curaçao","NAME_PL":"Curaçao","NAME_PT":"Curaçao","NAME_RU":"Кюрасао","NAME_SV":"Curaçao","NAME_TR":"Curaçao","NAME_UK":"Кюрасао","NAME_UR":"کیوراساؤ","NAME_VI":"Curaçao","NAME_ZH":"库拉索","NAME_ZHT":"古拉索","FCLASS_ISO":"Admin-0 dependency","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 dependency","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[-69.158887,12.045459,-68.751074,12.380273],"geometry":{"type":"Polygon","coordinates":[[[-68.751074,12.059766],[-68.80332,12.045459],[-68.995117,12.141846],[-69.153809,12.298437],[-69.158887,12.380273],[-69.118457,12.373242],[-69.076758,12.342041],[-69.013135,12.231348],[-68.827393,12.158545],[-68.751074,12.059766]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":3,"SOVEREIGNT":"Nepal","SOV_A3":"NPL","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Nepal","ADM0_A3":"NPL","GEOU_DIF":0,"GEOUNIT":"Nepal","GU_A3":"NPL","SU_DIF":0,"SUBUNIT":"Nepal","SU_A3":"NPL","BRK_DIFF":0,"NAME":"Nepal","NAME_LONG":"Nepal","BRK_A3":"NPL","BRK_NAME":"Nepal","BRK_GROUP":null,"ABBREV":"Nepal","POSTAL":"NP","FORMAL_EN":"Nepal","FORMAL_FR":null,"NAME_CIAWF":"Nepal","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Nepal","NAME_ALT":null,"MAPCOLOR7":2,"MAPCOLOR8":2,"MAPCOLOR9":3,"MAPCOLOR13":12,"POP_EST":28608710,"POP_RANK":15,"POP_YEAR":2019,"GDP_MD":30641,"GDP_YEAR":2019,"ECONOMY":"7. Least developed region","INCOME_GRP":"5. Low income","FIPS_10":"NP","ISO_A2":"NP","ISO_A2_EH":"NP","ISO_A3":"NPL","ISO_A3_EH":"NPL","ISO_N3":"524","ISO_N3_EH":"524","UN_A3":"524","WB_A2":"NP","WB_A3":"NPL","WOE_ID":23424911,"WOE_ID_EH":23424911,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"NPL","ADM0_DIFF":null,"ADM0_TLC":"NPL","ADM0_A3_US":"NPL","ADM0_A3_FR":"NPL","ADM0_A3_RU":"NPL","ADM0_A3_ES":"NPL","ADM0_A3_CN":"NPL","ADM0_A3_TW":"NPL","ADM0_A3_IN":"NPL","ADM0_A3_NP":"NPL","ADM0_A3_PK":"NPL","ADM0_A3_DE":"NPL","ADM0_A3_GB":"NPL","ADM0_A3_BR":"NPL","ADM0_A3_IL":"NPL","ADM0_A3_PS":"NPL","ADM0_A3_SA":"NPL","ADM0_A3_EG":"NPL","ADM0_A3_MA":"NPL","ADM0_A3_PT":"NPL","ADM0_A3_AR":"NPL","ADM0_A3_JP":"NPL","ADM0_A3_KO":"NPL","ADM0_A3_VN":"NPL","ADM0_A3_TR":"NPL","ADM0_A3_ID":"NPL","ADM0_A3_PL":"NPL","ADM0_A3_GR":"NPL","ADM0_A3_IT":"NPL","ADM0_A3_NL":"NPL","ADM0_A3_SE":"NPL","ADM0_A3_BD":"NPL","ADM0_A3_UA":"NPL","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Asia","REGION_UN":"Asia","SUBREGION":"Southern Asia","REGION_WB":"South Asia","NAME_LEN":5,"LONG_LEN":5,"ABBREV_LEN":5,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":3,"MAX_LABEL":8,"LABEL_X":83.639914,"LABEL_Y":28.297925,"NE_ID":1159321121,"WIKIDATAID":"Q837","NAME_AR":"نيبال","NAME_BN":"নেপাল","NAME_DE":"Nepal","NAME_EN":"Nepal","NAME_ES":"Nepal","NAME_FA":"نپال","NAME_FR":"Népal","NAME_EL":"Νεπάλ","NAME_HE":"נפאל","NAME_HI":"नेपाल","NAME_HU":"Nepál","NAME_ID":"Nepal","NAME_IT":"Nepal","NAME_JA":"ネパール","NAME_KO":"네팔","NAME_NL":"Nepal","NAME_PL":"Nepal","NAME_PT":"Nepal","NAME_RU":"Непал","NAME_SV":"Nepal","NAME_TR":"Nepal","NAME_UK":"Непал","NAME_UR":"نیپال","NAME_VI":"Nepal","NAME_ZH":"尼泊尔","NAME_ZHT":"尼泊爾","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[80.05166,26.360303,88.161523,30.3875],"geometry":{"type":"Polygon","coordinates":[[[88.109766,27.870605],[88.150293,27.843311],[88.154297,27.798682],[88.146973,27.749219],[88.105566,27.642432],[88.067871,27.567383],[88.024121,27.408887],[87.984375,27.133936],[87.993164,27.086084],[88.111035,26.928467],[88.157227,26.807324],[88.161523,26.724805],[88.111523,26.586426],[88.054883,26.430029],[88.026953,26.39502],[87.995117,26.382373],[87.849219,26.436914],[87.748828,26.429297],[87.633398,26.399121],[87.513086,26.40498],[87.413574,26.422949],[87.287402,26.360303],[87.166797,26.394238],[87.089551,26.433203],[87.037891,26.541602],[87.016406,26.55542],[86.7625,26.441943],[86.701367,26.435059],[86.543652,26.495996],[86.414453,26.556299],[86.366113,26.574414],[86.241602,26.597998],[86.129395,26.611719],[86.007324,26.649365],[85.855664,26.600195],[85.794531,26.60415],[85.737305,26.639746],[85.707422,26.712646],[85.699902,26.781641],[85.648438,26.829004],[85.568457,26.839844],[85.456445,26.797217],[85.292969,26.741016],[85.240234,26.750342],[85.191797,26.766553],[85.174121,26.781543],[85.151563,26.846631],[85.125391,26.860986],[85.087305,26.862939],[85.020117,26.878516],[84.937207,26.926904],[84.685352,27.041016],[84.653809,27.091699],[84.654785,27.203662],[84.640723,27.249854],[84.610156,27.298682],[84.480859,27.348193],[84.229785,27.427832],[84.091016,27.491357],[84.024805,27.46167],[83.897168,27.435107],[83.828809,27.377832],[83.746973,27.395947],[83.55166,27.456348],[83.447168,27.465332],[83.383984,27.444824],[83.369434,27.410254],[83.289746,27.370996],[83.213867,27.402295],[83.064063,27.444531],[82.932813,27.467676],[82.733398,27.518994],[82.71084,27.59668],[82.677344,27.673437],[82.629883,27.687061],[82.451367,27.671826],[82.287695,27.756543],[82.111914,27.864941],[82.037012,27.900586],[81.987695,27.91377],[81.945215,27.899268],[81.896875,27.874463],[81.852637,27.86709],[81.757227,27.913818],[81.635547,27.980469],[81.486035,28.062207],[81.31084,28.176367],[81.238965,28.240869],[81.20625,28.289404],[81.168945,28.33501],[81.016602,28.40957],[80.896094,28.468555],[80.750781,28.539697],[80.726172,28.553906],[80.671289,28.59624],[80.587012,28.649609],[80.517871,28.665186],[80.495801,28.635791],[80.479102,28.604883],[80.418555,28.612012],[80.324805,28.666406],[80.226562,28.72334],[80.149609,28.776074],[80.070703,28.830176],[80.05166,28.870312],[80.08457,28.994189],[80.130469,29.100391],[80.169531,29.124316],[80.233008,29.194629],[80.255957,29.318018],[80.254883,29.42334],[80.316895,29.57207],[80.401855,29.730273],[80.549023,29.899805],[80.612891,29.955859],[80.684082,29.994336],[80.819922,30.119336],[80.848145,30.139746],[80.907617,30.171924],[80.966113,30.180029],[81.010254,30.164502],[81.055566,30.098975],[81.110352,30.036816],[81.177148,30.039893],[81.255078,30.093311],[81.417188,30.337598],[81.641895,30.3875],[81.854883,30.362402],[82.043359,30.326758],[82.098926,30.245068],[82.135352,30.158984],[82.158984,30.115186],[82.220703,30.063867],[82.486523,29.941504],[82.64082,29.831201],[82.854297,29.683398],[83.013965,29.618066],[83.155469,29.612646],[83.235156,29.55459],[83.355176,29.43916],[83.456641,29.306348],[83.583496,29.183594],[83.671094,29.187598],[83.79043,29.227441],[83.935938,29.279492],[84.021973,29.253857],[84.101367,29.219971],[84.127832,29.156299],[84.175586,29.036377],[84.228711,28.911768],[84.312109,28.868115],[84.410742,28.803906],[84.46543,28.75293],[84.650586,28.65957],[84.676758,28.621533],[84.714258,28.595557],[84.759375,28.579248],[84.796875,28.560205],[84.855078,28.553613],[85.069141,28.609668],[85.126367,28.602637],[85.159082,28.592236],[85.160156,28.571875],[85.121484,28.484277],[85.088574,28.372266],[85.122461,28.315967],[85.212109,28.292627],[85.410645,28.276025],[85.67832,28.277441],[85.759473,28.220654],[85.840234,28.135352],[85.92168,27.989697],[85.954102,27.928223],[85.994531,27.9104],[86.06416,27.934717],[86.075488,27.99458],[86.078711,28.083594],[86.137012,28.114355],[86.174219,28.091699],[86.217969,28.02207],[86.328613,27.959521],[86.408691,27.928662],[86.484961,27.939551],[86.516895,27.963525],[86.554492,28.085205],[86.614453,28.103027],[86.690527,28.094922],[86.719629,28.070654],[86.750391,28.02207],[86.842383,27.99917],[86.933789,27.968457],[87.020117,27.928662],[87.141406,27.83833],[87.290723,27.821924],[87.46416,27.823828],[87.555273,27.821826],[87.622559,27.815186],[87.682715,27.821387],[87.860742,27.886084],[87.933398,27.89082],[88.02334,27.883398],[88.109766,27.870605]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":3,"LABELRANK":6,"SOVEREIGNT":"Nauru","SOV_A3":"NRU","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Nauru","ADM0_A3":"NRU","GEOU_DIF":0,"GEOUNIT":"Nauru","GU_A3":"NRU","SU_DIF":0,"SUBUNIT":"Nauru","SU_A3":"NRU","BRK_DIFF":0,"NAME":"Nauru","NAME_LONG":"Nauru","BRK_A3":"NRU","BRK_NAME":"Nauru","BRK_GROUP":null,"ABBREV":"Nauru","POSTAL":"NR","FORMAL_EN":"Republic of Nauru","FORMAL_FR":null,"NAME_CIAWF":"Nauru","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Nauru","NAME_ALT":null,"MAPCOLOR7":3,"MAPCOLOR8":7,"MAPCOLOR9":6,"MAPCOLOR13":9,"POP_EST":12581,"POP_RANK":6,"POP_YEAR":2019,"GDP_MD":118,"GDP_YEAR":2019,"ECONOMY":"6. Developing region","INCOME_GRP":"4. Lower middle income","FIPS_10":"NR","ISO_A2":"NR","ISO_A2_EH":"NR","ISO_A3":"NRU","ISO_A3_EH":"NRU","ISO_N3":"520","ISO_N3_EH":"520","UN_A3":"520","WB_A2":"-99","WB_A3":"-99","WOE_ID":23424912,"WOE_ID_EH":23424912,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"NRU","ADM0_DIFF":null,"ADM0_TLC":"NRU","ADM0_A3_US":"NRU","ADM0_A3_FR":"NRU","ADM0_A3_RU":"NRU","ADM0_A3_ES":"NRU","ADM0_A3_CN":"NRU","ADM0_A3_TW":"NRU","ADM0_A3_IN":"NRU","ADM0_A3_NP":"NRU","ADM0_A3_PK":"NRU","ADM0_A3_DE":"NRU","ADM0_A3_GB":"NRU","ADM0_A3_BR":"NRU","ADM0_A3_IL":"NRU","ADM0_A3_PS":"NRU","ADM0_A3_SA":"NRU","ADM0_A3_EG":"NRU","ADM0_A3_MA":"NRU","ADM0_A3_PT":"NRU","ADM0_A3_AR":"NRU","ADM0_A3_JP":"NRU","ADM0_A3_KO":"NRU","ADM0_A3_VN":"NRU","ADM0_A3_TR":"NRU","ADM0_A3_ID":"NRU","ADM0_A3_PL":"NRU","ADM0_A3_GR":"NRU","ADM0_A3_IT":"NRU","ADM0_A3_NL":"NRU","ADM0_A3_SE":"NRU","ADM0_A3_BD":"NRU","ADM0_A3_UA":"NRU","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Oceania","REGION_UN":"Oceania","SUBREGION":"Micronesia","REGION_WB":"East Asia & Pacific","NAME_LEN":5,"LONG_LEN":5,"ABBREV_LEN":5,"TINY":3,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":5,"MAX_LABEL":10,"LABEL_X":166.932644,"LABEL_Y":-0.520261,"NE_ID":1159321123,"WIKIDATAID":"Q697","NAME_AR":"ناورو","NAME_BN":"নাউরু","NAME_DE":"Nauru","NAME_EN":"Nauru","NAME_ES":"Nauru","NAME_FA":"نائورو","NAME_FR":"Nauru","NAME_EL":"Ναουρού","NAME_HE":"נאורו","NAME_HI":"नौरु","NAME_HU":"Nauru","NAME_ID":"Nauru","NAME_IT":"Nauru","NAME_JA":"ナウル","NAME_KO":"나우루","NAME_NL":"Nauru","NAME_PL":"Nauru","NAME_PT":"Nauru","NAME_RU":"Науру","NAME_SV":"Nauru","NAME_TR":"Nauru","NAME_UK":"Науру","NAME_UR":"ناورو","NAME_VI":"Nauru","NAME_ZH":"瑙鲁","NAME_ZHT":"諾魯","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[166.907031,-0.550781,166.958398,-0.489355],"geometry":{"type":"Polygon","coordinates":[[[166.958398,-0.516602],[166.938965,-0.550781],[166.916406,-0.546484],[166.907031,-0.52373],[166.913574,-0.499121],[166.938965,-0.489355],[166.955664,-0.496973],[166.958398,-0.516602]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":3,"SOVEREIGNT":"Namibia","SOV_A3":"NAM","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Namibia","ADM0_A3":"NAM","GEOU_DIF":0,"GEOUNIT":"Namibia","GU_A3":"NAM","SU_DIF":0,"SUBUNIT":"Namibia","SU_A3":"NAM","BRK_DIFF":0,"NAME":"Namibia","NAME_LONG":"Namibia","BRK_A3":"NAM","BRK_NAME":"Namibia","BRK_GROUP":null,"ABBREV":"Nam.","POSTAL":"NA","FORMAL_EN":"Republic of Namibia","FORMAL_FR":null,"NAME_CIAWF":"Namibia","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Namibia","NAME_ALT":null,"MAPCOLOR7":4,"MAPCOLOR8":1,"MAPCOLOR9":1,"MAPCOLOR13":7,"POP_EST":2494530,"POP_RANK":12,"POP_YEAR":2019,"GDP_MD":12366,"GDP_YEAR":2019,"ECONOMY":"6. Developing region","INCOME_GRP":"3. Upper middle income","FIPS_10":"WA","ISO_A2":"NA","ISO_A2_EH":"NA","ISO_A3":"NAM","ISO_A3_EH":"NAM","ISO_N3":"516","ISO_N3_EH":"516","UN_A3":"516","WB_A2":"NA","WB_A3":"NAM","WOE_ID":23424987,"WOE_ID_EH":23424987,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"NAM","ADM0_DIFF":null,"ADM0_TLC":"NAM","ADM0_A3_US":"NAM","ADM0_A3_FR":"NAM","ADM0_A3_RU":"NAM","ADM0_A3_ES":"NAM","ADM0_A3_CN":"NAM","ADM0_A3_TW":"NAM","ADM0_A3_IN":"NAM","ADM0_A3_NP":"NAM","ADM0_A3_PK":"NAM","ADM0_A3_DE":"NAM","ADM0_A3_GB":"NAM","ADM0_A3_BR":"NAM","ADM0_A3_IL":"NAM","ADM0_A3_PS":"NAM","ADM0_A3_SA":"NAM","ADM0_A3_EG":"NAM","ADM0_A3_MA":"NAM","ADM0_A3_PT":"NAM","ADM0_A3_AR":"NAM","ADM0_A3_JP":"NAM","ADM0_A3_KO":"NAM","ADM0_A3_VN":"NAM","ADM0_A3_TR":"NAM","ADM0_A3_ID":"NAM","ADM0_A3_PL":"NAM","ADM0_A3_GR":"NAM","ADM0_A3_IT":"NAM","ADM0_A3_NL":"NAM","ADM0_A3_SE":"NAM","ADM0_A3_BD":"NAM","ADM0_A3_UA":"NAM","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Africa","REGION_UN":"Africa","SUBREGION":"Southern Africa","REGION_WB":"Sub-Saharan Africa","NAME_LEN":7,"LONG_LEN":7,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":3,"MAX_LABEL":7.5,"LABEL_X":17.108166,"LABEL_Y":-20.575298,"NE_ID":1159321085,"WIKIDATAID":"Q1030","NAME_AR":"ناميبيا","NAME_BN":"নামিবিয়া","NAME_DE":"Namibia","NAME_EN":"Namibia","NAME_ES":"Namibia","NAME_FA":"نامیبیا","NAME_FR":"Namibie","NAME_EL":"Ναμίμπια","NAME_HE":"נמיביה","NAME_HI":"नामीबिया","NAME_HU":"Namíbia","NAME_ID":"Namibia","NAME_IT":"Namibia","NAME_JA":"ナミビア","NAME_KO":"나미비아","NAME_NL":"Namibië","NAME_PL":"Namibia","NAME_PT":"Namíbia","NAME_RU":"Намибия","NAME_SV":"Namibia","NAME_TR":"Namibya","NAME_UK":"Намібія","NAME_UR":"نمیبیا","NAME_VI":"Namibia","NAME_ZH":"纳米比亚","NAME_ZHT":"納米比亞","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[11.72168,-28.93877,25.258789,-16.967676],"geometry":{"type":"Polygon","coordinates":[[[23.380664,-17.640625],[23.594922,-17.599414],[23.799219,-17.560156],[24.036914,-17.520898],[24.227148,-17.489551],[24.274902,-17.481055],[24.73291,-17.517773],[24.932422,-17.543457],[25.001758,-17.568555],[25.092188,-17.634375],[25.258789,-17.793555],[25.216016,-17.787598],[24.909082,-17.821387],[24.792188,-17.864648],[24.530566,-18.052734],[24.474902,-18.028516],[24.412207,-17.989453],[24.358984,-17.978223],[24.243945,-18.023438],[24.129297,-18.077539],[24.002637,-18.154102],[23.89834,-18.229199],[23.864258,-18.269531],[23.700488,-18.424316],[23.647168,-18.449414],[23.599707,-18.459961],[23.580566,-18.45293],[23.560156,-18.386426],[23.459766,-18.231055],[23.298633,-18.027344],[23.251563,-18.00752],[23.219336,-17.999707],[23.099902,-18.00957],[22.752734,-18.067188],[22.460059,-18.115723],[22.011426,-18.198633],[21.529688,-18.265625],[21.23252,-18.306836],[20.974121,-18.318848],[20.974316,-18.520508],[20.975,-18.928516],[20.975586,-19.336426],[20.976172,-19.744336],[20.976855,-20.152344],[20.977441,-20.560254],[20.978125,-20.968164],[20.978711,-21.376074],[20.979297,-21.784082],[20.979492,-21.961914],[20.970996,-22.000195],[20.822754,-22.000195],[20.4875,-22.000195],[20.205371,-22.000195],[19.977344,-22.000195],[19.977637,-22.242578],[19.97793,-22.529297],[19.978223,-22.815918],[19.978516,-23.102539],[19.978906,-23.38916],[19.979297,-23.675781],[19.97959,-23.962402],[19.979883,-24.249023],[19.980176,-24.535742],[19.980469,-24.751953],[19.980469,-24.776758],[19.980469,-25.196777],[19.980469,-25.641602],[19.980469,-26.086328],[19.980469,-26.531152],[19.980469,-26.975977],[19.980469,-27.420703],[19.980469,-27.865527],[19.980469,-28.310352],[19.980469,-28.45127],[19.877832,-28.449414],[19.671484,-28.503906],[19.539844,-28.574609],[19.48291,-28.661621],[19.407227,-28.714453],[19.312695,-28.733301],[19.270996,-28.777734],[19.282227,-28.847949],[19.245801,-28.90166],[19.161719,-28.93877],[19.026074,-28.92793],[18.83877,-28.869141],[18.600391,-28.855273],[18.31084,-28.88623],[18.102734,-28.87168],[17.976074,-28.811328],[17.841602,-28.776953],[17.699316,-28.768359],[17.616797,-28.743066],[17.447949,-28.698145],[17.415723,-28.621094],[17.395898,-28.562695],[17.347852,-28.501172],[17.342578,-28.45166],[17.380273,-28.413965],[17.385742,-28.353223],[17.358691,-28.269434],[17.312012,-28.228613],[17.245801,-28.230859],[17.20459,-28.198828],[17.188477,-28.13252],[17.149414,-28.082227],[17.05625,-28.031055],[16.933301,-28.069629],[16.875293,-28.12793],[16.841211,-28.218945],[16.810156,-28.264551],[16.794531,-28.34082],[16.7875,-28.394727],[16.755762,-28.452148],[16.723047,-28.475488],[16.689453,-28.464941],[16.626172,-28.487891],[16.487109,-28.572852],[16.447559,-28.617578],[16.335059,-28.536523],[16.007129,-28.231738],[15.890918,-28.152539],[15.719043,-27.96582],[15.341504,-27.386523],[15.287598,-27.275],[15.215723,-26.995117],[15.132812,-26.787598],[15.12373,-26.667871],[15.163281,-26.600195],[15.139063,-26.508008],[15.096582,-26.425781],[14.967773,-26.318066],[14.93125,-25.958203],[14.845215,-25.725684],[14.863672,-25.533594],[14.822559,-25.358594],[14.818555,-25.246387],[14.837109,-25.033203],[14.767969,-24.787988],[14.62793,-24.548047],[14.501563,-24.201953],[14.483398,-24.050391],[14.496875,-23.642871],[14.472461,-23.47666],[14.473828,-23.281152],[14.423828,-23.078613],[14.40332,-22.968066],[14.438477,-22.880566],[14.459277,-22.908203],[14.495703,-22.921387],[14.519922,-22.805176],[14.525977,-22.702539],[14.462793,-22.449121],[14.321875,-22.189941],[13.973242,-21.767578],[13.888086,-21.606641],[13.839355,-21.473242],[13.450586,-20.916699],[13.284375,-20.523926],[13.168359,-20.184668],[13.04209,-20.028223],[12.458203,-18.926758],[12.328711,-18.751074],[12.095703,-18.540918],[12.041211,-18.470703],[11.951367,-18.270508],[11.775879,-18.001758],[11.733496,-17.750977],[11.72168,-17.466797],[11.743066,-17.249219],[11.902539,-17.226562],[12.013965,-17.168555],[12.114355,-17.164551],[12.213379,-17.209961],[12.318457,-17.213379],[12.359277,-17.205859],[12.548145,-17.212695],[12.656543,-17.160547],[12.785156,-17.108203],[12.859277,-17.062598],[12.963184,-17.01543],[13.101172,-16.967676],[13.179492,-16.97168],[13.275684,-16.989551],[13.403711,-17.007812],[13.475977,-17.040039],[13.561719,-17.141211],[13.694336,-17.233496],[13.791992,-17.288379],[13.904199,-17.360742],[13.937988,-17.38877],[13.987402,-17.404199],[14.01748,-17.408887],[14.225879,-17.397754],[14.414746,-17.387695],[14.617969,-17.387988],[15.000586,-17.388574],[15.383203,-17.38916],[15.76582,-17.389648],[16.148438,-17.390234],[16.531055,-17.39082],[16.913672,-17.391406],[17.296289,-17.391992],[17.678809,-17.392578],[17.835352,-17.392773],[18.108789,-17.395996],[18.396387,-17.399414],[18.428223,-17.405176],[18.460352,-17.424609],[18.486621,-17.442773],[18.588184,-17.57002],[18.718066,-17.703223],[18.825977,-17.766309],[18.955273,-17.803516],[19.076465,-17.817676],[19.189453,-17.808496],[19.377148,-17.825488],[19.639355,-17.868652],[19.911816,-17.881348],[20.194336,-17.863672],[20.392969,-17.887402],[20.507617,-17.952539],[20.625098,-17.99668],[20.745508,-18.019727],[20.908301,-18.006055],[21.113477,-17.955762],[21.287891,-17.962988],[21.36875,-17.999512],[21.416895,-18.000684],[21.718457,-17.947754],[21.96084,-17.905176],[22.324219,-17.8375],[22.624023,-17.781641],[23.068262,-17.698828],[23.380664,-17.640625]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":3,"SOVEREIGNT":"Mozambique","SOV_A3":"MOZ","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Mozambique","ADM0_A3":"MOZ","GEOU_DIF":0,"GEOUNIT":"Mozambique","GU_A3":"MOZ","SU_DIF":0,"SUBUNIT":"Mozambique","SU_A3":"MOZ","BRK_DIFF":0,"NAME":"Mozambique","NAME_LONG":"Mozambique","BRK_A3":"MOZ","BRK_NAME":"Mozambique","BRK_GROUP":null,"ABBREV":"Moz.","POSTAL":"MZ","FORMAL_EN":"Republic of Mozambique","FORMAL_FR":null,"NAME_CIAWF":"Mozambique","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Mozambique","NAME_ALT":null,"MAPCOLOR7":4,"MAPCOLOR8":2,"MAPCOLOR9":1,"MAPCOLOR13":4,"POP_EST":30366036,"POP_RANK":15,"POP_YEAR":2019,"GDP_MD":15291,"GDP_YEAR":2019,"ECONOMY":"7. Least developed region","INCOME_GRP":"5. Low income","FIPS_10":"MZ","ISO_A2":"MZ","ISO_A2_EH":"MZ","ISO_A3":"MOZ","ISO_A3_EH":"MOZ","ISO_N3":"508","ISO_N3_EH":"508","UN_A3":"508","WB_A2":"MZ","WB_A3":"MOZ","WOE_ID":23424902,"WOE_ID_EH":23424902,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"MOZ","ADM0_DIFF":null,"ADM0_TLC":"MOZ","ADM0_A3_US":"MOZ","ADM0_A3_FR":"MOZ","ADM0_A3_RU":"MOZ","ADM0_A3_ES":"MOZ","ADM0_A3_CN":"MOZ","ADM0_A3_TW":"MOZ","ADM0_A3_IN":"MOZ","ADM0_A3_NP":"MOZ","ADM0_A3_PK":"MOZ","ADM0_A3_DE":"MOZ","ADM0_A3_GB":"MOZ","ADM0_A3_BR":"MOZ","ADM0_A3_IL":"MOZ","ADM0_A3_PS":"MOZ","ADM0_A3_SA":"MOZ","ADM0_A3_EG":"MOZ","ADM0_A3_MA":"MOZ","ADM0_A3_PT":"MOZ","ADM0_A3_AR":"MOZ","ADM0_A3_JP":"MOZ","ADM0_A3_KO":"MOZ","ADM0_A3_VN":"MOZ","ADM0_A3_TR":"MOZ","ADM0_A3_ID":"MOZ","ADM0_A3_PL":"MOZ","ADM0_A3_GR":"MOZ","ADM0_A3_IT":"MOZ","ADM0_A3_NL":"MOZ","ADM0_A3_SE":"MOZ","ADM0_A3_BD":"MOZ","ADM0_A3_UA":"MOZ","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Africa","REGION_UN":"Africa","SUBREGION":"Eastern Africa","REGION_WB":"Sub-Saharan Africa","NAME_LEN":10,"LONG_LEN":10,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":3,"MAX_LABEL":8,"LABEL_X":37.83789,"LABEL_Y":-13.94323,"NE_ID":1159321073,"WIKIDATAID":"Q1029","NAME_AR":"موزمبيق","NAME_BN":"মোজাম্বিক","NAME_DE":"Mosambik","NAME_EN":"Mozambique","NAME_ES":"Mozambique","NAME_FA":"موزامبیک","NAME_FR":"Mozambique","NAME_EL":"Μοζαμβίκη","NAME_HE":"מוזמביק","NAME_HI":"मोज़ाम्बीक","NAME_HU":"Mozambik","NAME_ID":"Mozambik","NAME_IT":"Mozambico","NAME_JA":"モザンビーク","NAME_KO":"모잠비크","NAME_NL":"Mozambique","NAME_PL":"Mozambik","NAME_PT":"Moçambique","NAME_RU":"Мозамбик","NAME_SV":"Moçambique","NAME_TR":"Mozambik","NAME_UK":"Мозамбік","NAME_UR":"موزمبیق","NAME_VI":"Mozambique","NAME_ZH":"莫桑比克","NAME_ZHT":"莫三比克","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[30.221777,-26.861621,40.844531,-10.464355],"geometry":{"type":"Polygon","coordinates":[[[31.287891,-22.402051],[31.429492,-22.298828],[31.571484,-22.153516],[31.737695,-21.983398],[31.885938,-21.831543],[32.016309,-21.698047],[32.194727,-21.51543],[32.371094,-21.334863],[32.412402,-21.311816],[32.429785,-21.29707],[32.353613,-21.136523],[32.476172,-20.950098],[32.482813,-20.828906],[32.477637,-20.712988],[32.492383,-20.659766],[32.529297,-20.613086],[32.672559,-20.516113],[32.780859,-20.361523],[32.869629,-20.217188],[32.992773,-19.984863],[33.004883,-19.930176],[33.006738,-19.873828],[32.972656,-19.79541],[32.89043,-19.668066],[32.830762,-19.558203],[32.777637,-19.38877],[32.830957,-19.241406],[32.85,-19.152441],[32.849805,-19.104395],[32.826172,-19.058789],[32.766211,-19.024316],[32.716504,-19.001855],[32.699707,-18.940918],[32.699219,-18.868457],[32.721973,-18.828418],[32.854492,-18.763672],[32.88457,-18.728516],[32.900293,-18.689063],[32.90166,-18.63291],[32.94248,-18.492676],[32.993066,-18.35957],[32.996387,-18.312598],[32.978516,-18.271484],[32.964648,-18.196289],[32.955566,-18.08291],[32.954688,-17.76543],[32.980762,-17.4375],[32.969336,-17.251563],[32.884375,-17.037793],[32.87627,-16.883594],[32.937891,-16.775977],[32.948047,-16.712305],[32.90293,-16.704199],[32.810254,-16.697656],[32.741797,-16.677637],[32.63584,-16.589453],[32.451953,-16.515723],[32.243262,-16.44873],[31.939844,-16.428809],[31.687598,-16.21416],[31.489844,-16.179688],[31.426172,-16.152344],[31.23623,-16.023633],[30.93877,-16.011719],[30.630176,-15.999219],[30.437793,-15.995313],[30.409375,-15.978223],[30.398145,-15.800781],[30.396094,-15.643066],[30.379883,-15.505859],[30.350586,-15.349707],[30.305664,-15.288867],[30.252148,-15.183203],[30.225,-15.066895],[30.221777,-15.010547],[30.231836,-14.990332],[30.446094,-14.90752],[30.537695,-14.866504],[30.67334,-14.819141],[30.915137,-14.75332],[31.130859,-14.694629],[31.328516,-14.637695],[31.537891,-14.577148],[31.623047,-14.536719],[31.728906,-14.496094],[31.982129,-14.414453],[32.054492,-14.386523],[32.199902,-14.34082],[32.272852,-14.323047],[32.553223,-14.22959],[32.874512,-14.122461],[32.987109,-14.084961],[33.201758,-14.013379],[33.243555,-14.043066],[33.389941,-14.289453],[33.505273,-14.434082],[33.636426,-14.568164],[33.658301,-14.561621],[33.696094,-14.530273],[33.761426,-14.517285],[33.969824,-14.487109],[34.049414,-14.485254],[34.101855,-14.449316],[34.208789,-14.42373],[34.33252,-14.408594],[34.375,-14.424805],[34.505273,-14.598145],[34.524121,-14.730762],[34.551172,-14.922363],[34.557617,-15.015918],[34.555469,-15.140918],[34.54082,-15.297266],[34.434961,-15.477148],[34.414746,-15.566797],[34.358008,-15.705273],[34.283008,-15.773438],[34.246094,-15.829395],[34.248242,-15.8875],[34.288281,-15.936133],[34.375977,-16.02373],[34.403027,-16.080273],[34.395117,-16.130859],[34.395508,-16.199219],[34.416406,-16.246777],[34.441309,-16.274414],[34.528125,-16.319141],[34.612695,-16.431543],[34.758789,-16.56709],[34.933398,-16.760352],[35.015332,-16.819531],[35.079883,-16.833887],[35.112109,-16.898535],[35.094238,-16.973828],[35.043945,-17.016895],[35.064648,-17.078613],[35.093066,-17.110938],[35.124609,-17.127246],[35.201367,-17.131055],[35.272559,-17.118457],[35.29043,-17.096973],[35.281152,-16.807813],[35.229785,-16.639258],[35.17832,-16.57334],[35.167188,-16.560254],[35.185254,-16.504883],[35.242773,-16.375391],[35.291504,-16.247168],[35.322461,-16.193164],[35.358496,-16.160547],[35.599316,-16.125879],[35.708887,-16.095801],[35.755273,-16.058301],[35.791211,-15.958691],[35.819922,-15.680371],[35.830273,-15.418945],[35.805371,-15.265625],[35.839941,-15.034668],[35.892773,-14.891797],[35.866699,-14.86377],[35.847168,-14.670898],[35.69043,-14.465527],[35.488477,-14.201074],[35.375781,-14.058691],[35.247461,-13.896875],[35.013867,-13.643457],[34.906836,-13.55166],[34.850488,-13.516016],[34.661621,-13.486719],[34.611523,-13.437891],[34.563672,-13.360156],[34.545703,-13.216309],[34.542578,-13.108691],[34.521289,-12.925781],[34.48291,-12.666797],[34.46582,-12.590723],[34.412109,-12.395898],[34.36084,-12.210547],[34.357813,-12.164746],[34.375977,-12.120215],[34.462891,-11.983789],[34.524805,-11.887012],[34.553906,-11.834082],[34.60625,-11.690039],[34.618555,-11.620215],[34.65957,-11.588672],[34.826563,-11.575684],[34.959473,-11.578125],[35.182617,-11.574805],[35.418262,-11.583203],[35.451367,-11.589551],[35.504395,-11.604785],[35.564355,-11.602344],[35.630957,-11.582031],[35.704688,-11.532129],[35.785449,-11.45293],[35.911328,-11.454688],[36.082227,-11.537305],[36.175488,-11.609277],[36.191309,-11.670703],[36.305664,-11.706348],[36.518652,-11.716211],[36.673828,-11.684277],[36.771094,-11.610352],[36.872656,-11.571289],[36.978906,-11.566992],[37.05918,-11.592188],[37.113867,-11.647168],[37.218359,-11.686523],[37.372852,-11.710449],[37.541699,-11.675098],[37.724805,-11.580664],[37.829297,-11.481934],[37.855078,-11.379102],[37.885352,-11.316699],[37.920215,-11.294727],[38.017285,-11.282129],[38.176563,-11.278711],[38.315137,-11.311133],[38.491797,-11.413281],[38.60332,-11.345313],[38.794727,-11.228906],[38.9875,-11.167285],[39.170996,-11.166895],[39.321582,-11.122559],[39.43916,-11.03457],[39.563477,-10.978516],[39.694434,-10.954785],[39.81709,-10.912402],[39.988672,-10.820801],[40.166211,-10.6875],[40.347461,-10.551563],[40.463574,-10.464355],[40.516699,-10.567383],[40.611719,-10.661523],[40.555078,-10.716211],[40.486621,-10.765137],[40.597168,-10.830664],[40.516113,-10.92959],[40.50625,-10.998438],[40.526855,-11.025391],[40.544531,-11.065625],[40.491406,-11.178906],[40.420996,-11.265625],[40.402832,-11.332031],[40.465137,-11.449414],[40.433105,-11.657324],[40.493555,-11.844434],[40.510449,-11.94043],[40.531543,-12.00459],[40.501465,-12.119434],[40.50918,-12.312891],[40.523145,-12.392773],[40.487109,-12.492188],[40.54834,-12.526563],[40.580859,-12.635547],[40.57207,-12.758398],[40.55332,-12.824609],[40.447656,-12.904785],[40.435156,-12.935938],[40.436816,-12.983105],[40.56875,-12.984668],[40.573242,-13.057715],[40.564453,-13.115234],[40.569531,-13.223438],[40.551953,-13.29375],[40.58291,-13.374023],[40.545117,-13.462891],[40.558203,-13.531445],[40.559863,-13.620313],[40.590527,-13.84502],[40.595703,-14.122852],[40.602539,-14.167383],[40.649512,-14.198828],[40.715625,-14.214453],[40.713086,-14.290625],[40.639941,-14.390039],[40.635547,-14.451855],[40.646094,-14.538672],[40.72666,-14.420703],[40.775,-14.421289],[40.818164,-14.467578],[40.812109,-14.535547],[40.826953,-14.569043],[40.820605,-14.634961],[40.844531,-14.718652],[40.835156,-14.791504],[40.775977,-14.84248],[40.700684,-14.929785],[40.687402,-15.011621],[40.694336,-15.065234],[40.642188,-15.082422],[40.617773,-15.115527],[40.653125,-15.192676],[40.650977,-15.260938],[40.558984,-15.473438],[40.313867,-15.763965],[40.208008,-15.86709],[40.108789,-15.979297],[40.108887,-16.025293],[40.099219,-16.065332],[39.983594,-16.225488],[39.859766,-16.251758],[39.790918,-16.294531],[39.844629,-16.435645],[39.764551,-16.468164],[39.625391,-16.579395],[39.242285,-16.792578],[39.181738,-16.841992],[39.084375,-16.972852],[38.956055,-17.00459],[38.884766,-17.041602],[38.757617,-17.055176],[38.713281,-17.045703],[38.669922,-17.050293],[38.633301,-17.07832],[38.380762,-17.170117],[38.144922,-17.242773],[38.086914,-17.275977],[38.048242,-17.321387],[37.839453,-17.393164],[37.512305,-17.570703],[37.244531,-17.739941],[37.050586,-17.909277],[36.999512,-17.934961],[36.939355,-17.993457],[36.919238,-18.080078],[36.899609,-18.129004],[36.756152,-18.307324],[36.540137,-18.518164],[36.498047,-18.575781],[36.412207,-18.692969],[36.403711,-18.769727],[36.327246,-18.793164],[36.262891,-18.719629],[36.235645,-18.861328],[36.183203,-18.871387],[36.125,-18.842383],[35.980078,-18.9125],[35.853711,-18.993359],[35.65127,-19.163867],[35.365332,-19.493945],[34.947852,-19.812695],[34.89082,-19.821777],[34.852344,-19.820508],[34.720996,-19.70957],[34.649414,-19.701367],[34.713477,-19.767188],[34.755762,-19.821973],[34.74502,-19.929492],[34.75,-20.09082],[34.698145,-20.404395],[34.705078,-20.473047],[34.764746,-20.561914],[34.877051,-20.670801],[34.982324,-20.80625],[35.117578,-21.195215],[35.128027,-21.395313],[35.267676,-21.650977],[35.272949,-21.761719],[35.329297,-22.037402],[35.325586,-22.260352],[35.315723,-22.396875],[35.383008,-22.45459],[35.407813,-22.402539],[35.400879,-22.316211],[35.418848,-22.177637],[35.456348,-22.115918],[35.49375,-22.124707],[35.504883,-22.190137],[35.530078,-22.248145],[35.540234,-22.302637],[35.541992,-22.376563],[35.490234,-22.657715],[35.505762,-22.77207],[35.575391,-22.963086],[35.494434,-23.185156],[35.376953,-23.707813],[35.37041,-23.798242],[35.398828,-23.837695],[35.462109,-23.851074],[35.485352,-23.784473],[35.522461,-23.784961],[35.541992,-23.824414],[35.489648,-24.065527],[35.438086,-24.171191],[35.254883,-24.430273],[35.155957,-24.541406],[34.99209,-24.650586],[34.607324,-24.821289],[33.836035,-25.067969],[33.530078,-25.188867],[33.347461,-25.260938],[32.961133,-25.49043],[32.792188,-25.644336],[32.722559,-25.820898],[32.655859,-25.901758],[32.59043,-26.004102],[32.647461,-26.091992],[32.703516,-26.158496],[32.769629,-26.203027],[32.803906,-26.241406],[32.848828,-26.268066],[32.894043,-26.129883],[32.916406,-26.086914],[32.954883,-26.083594],[32.933594,-26.252344],[32.88916,-26.830469],[32.886133,-26.849316],[32.776563,-26.850977],[32.58877,-26.855762],[32.477734,-26.858496],[32.353516,-26.861621],[32.199609,-26.833496],[32.112891,-26.839453],[32.105957,-26.52002],[32.07793,-26.449805],[32.04834,-26.347168],[32.041406,-26.28125],[32.059961,-26.215039],[32.068848,-26.110156],[32.060547,-26.018359],[31.968457,-25.972266],[31.948242,-25.957617],[31.92832,-25.885352],[31.920313,-25.773926],[31.98457,-25.631934],[31.979395,-25.359473],[31.987012,-25.263477],[31.985742,-25.073828],[31.984375,-24.844043],[31.983203,-24.638281],[31.98584,-24.460645],[31.966602,-24.376465],[31.950586,-24.330273],[31.908008,-24.23623],[31.858301,-24.040234],[31.799609,-23.892188],[31.724023,-23.794531],[31.7,-23.743066],[31.675586,-23.674219],[31.604102,-23.55293],[31.545605,-23.482324],[31.529688,-23.425781],[31.531738,-23.279492],[31.466699,-23.016699],[31.419336,-22.825098],[31.348047,-22.617578],[31.300195,-22.478613],[31.293164,-22.454688],[31.287891,-22.402051]],[[34.641602,-12.013672],[34.624219,-11.984766],[34.591406,-11.971094],[34.554004,-11.982227],[34.541602,-12.018652],[34.580469,-12.06582],[34.621777,-12.066602],[34.641602,-12.013672]],[[34.719336,-12.110645],[34.745996,-12.088379],[34.75625,-12.059082],[34.755957,-12.030762],[34.738965,-12.013086],[34.714941,-12.002734],[34.679883,-12.008887],[34.66748,-12.047559],[34.662109,-12.100781],[34.68418,-12.118652],[34.719336,-12.110645]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":3,"SOVEREIGNT":"Morocco","SOV_A3":"MAR","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Morocco","ADM0_A3":"MAR","GEOU_DIF":0,"GEOUNIT":"Morocco","GU_A3":"MAR","SU_DIF":0,"SUBUNIT":"Morocco","SU_A3":"MAR","BRK_DIFF":0,"NAME":"Morocco","NAME_LONG":"Morocco","BRK_A3":"MAR","BRK_NAME":"Morocco","BRK_GROUP":null,"ABBREV":"Mor.","POSTAL":"MA","FORMAL_EN":"Kingdom of Morocco","FORMAL_FR":null,"NAME_CIAWF":"Morocco","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Morocco","NAME_ALT":null,"MAPCOLOR7":2,"MAPCOLOR8":2,"MAPCOLOR9":3,"MAPCOLOR13":9,"POP_EST":36471769,"POP_RANK":15,"POP_YEAR":2019,"GDP_MD":119700,"GDP_YEAR":2019,"ECONOMY":"6. Developing region","INCOME_GRP":"4. Lower middle income","FIPS_10":"MO","ISO_A2":"MA","ISO_A2_EH":"MA","ISO_A3":"MAR","ISO_A3_EH":"MAR","ISO_N3":"504","ISO_N3_EH":"504","UN_A3":"504","WB_A2":"MA","WB_A3":"MAR","WOE_ID":23424893,"WOE_ID_EH":23424893,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"MAR","ADM0_DIFF":null,"ADM0_TLC":"MAR","ADM0_A3_US":"MAR","ADM0_A3_FR":"MAR","ADM0_A3_RU":"MAR","ADM0_A3_ES":"MAR","ADM0_A3_CN":"MAR","ADM0_A3_TW":"MAR","ADM0_A3_IN":"MAR","ADM0_A3_NP":"MAR","ADM0_A3_PK":"MAR","ADM0_A3_DE":"MAR","ADM0_A3_GB":"MAR","ADM0_A3_BR":"MAR","ADM0_A3_IL":"MAR","ADM0_A3_PS":"MAR","ADM0_A3_SA":"MAR","ADM0_A3_EG":"MAR","ADM0_A3_MA":"MAR","ADM0_A3_PT":"MAR","ADM0_A3_AR":"MAR","ADM0_A3_JP":"MAR","ADM0_A3_KO":"MAR","ADM0_A3_VN":"MAR","ADM0_A3_TR":"MAR","ADM0_A3_ID":"MAR","ADM0_A3_PL":"MAR","ADM0_A3_GR":"MAR","ADM0_A3_IT":"MAR","ADM0_A3_NL":"MAR","ADM0_A3_SE":"MAR","ADM0_A3_BD":"MAR","ADM0_A3_UA":"MAR","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Africa","REGION_UN":"Africa","SUBREGION":"Northern Africa","REGION_WB":"Middle East & North Africa","NAME_LEN":7,"LONG_LEN":7,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":2.7,"MAX_LABEL":8,"LABEL_X":-7.187296,"LABEL_Y":31.650723,"NE_ID":1159321035,"WIKIDATAID":"Q1028","NAME_AR":"المغرب","NAME_BN":"মরক্কো","NAME_DE":"Marokko","NAME_EN":"Morocco","NAME_ES":"Marruecos","NAME_FA":"مراکش","NAME_FR":"Maroc","NAME_EL":"Μαρόκο","NAME_HE":"מרוקו","NAME_HI":"मोरक्को","NAME_HU":"Marokkó","NAME_ID":"Maroko","NAME_IT":"Marocco","NAME_JA":"モロッコ","NAME_KO":"모로코","NAME_NL":"Marokko","NAME_PL":"Maroko","NAME_PT":"Marrocos","NAME_RU":"Марокко","NAME_SV":"Marocko","NAME_TR":"Fas","NAME_UK":"Марокко","NAME_UR":"مراکش","NAME_VI":"Maroc","NAME_ZH":"摩洛哥","NAME_ZHT":"摩洛哥","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[-17.003076,21.420703,-1.065527,35.929883],"geometry":{"type":"Polygon","coordinates":[[[-2.219629,35.104199],[-2.190771,35.029785],[-2.131787,34.97085],[-1.920898,34.835547],[-1.795605,34.751904],[-1.792187,34.723193],[-1.832422,34.654639],[-1.849658,34.607324],[-1.816602,34.55708],[-1.739453,34.496094],[-1.733301,34.467041],[-1.751855,34.433252],[-1.791797,34.36792],[-1.706934,34.176074],[-1.692676,33.990283],[-1.714697,33.858203],[-1.714111,33.781836],[-1.702979,33.716846],[-1.63125,33.566748],[-1.679199,33.318652],[-1.625098,33.18335],[-1.550732,33.073584],[-1.51001,32.877637],[-1.45,32.784814],[-1.352148,32.703369],[-1.296387,32.675684],[-1.188232,32.608496],[-1.111035,32.552295],[-1.065527,32.468311],[-1.162598,32.39917],[-1.240332,32.337598],[-1.262109,32.271143],[-1.225928,32.164551],[-1.225928,32.107227],[-1.275342,32.089014],[-1.477051,32.094873],[-1.635156,32.099561],[-1.816992,32.104785],[-2.072803,32.115039],[-2.23125,32.121338],[-2.448389,32.12998],[-2.523242,32.125684],[-2.722607,32.095752],[-2.863428,32.074707],[-2.887207,32.068848],[-2.930859,32.042529],[-2.961133,31.963965],[-2.988232,31.874219],[-3.017383,31.834277],[-3.439795,31.704541],[-3.60459,31.686768],[-3.700244,31.700098],[-3.768164,31.689551],[-3.826758,31.661914],[-3.84668,31.619873],[-3.849561,31.566406],[-3.837109,31.512354],[-3.796436,31.437109],[-3.78916,31.361816],[-3.815137,31.308838],[-3.821387,31.255469],[-3.833398,31.197803],[-3.811816,31.166602],[-3.770996,31.161816],[-3.730176,31.1354],[-3.67251,31.111377],[-3.624512,31.065771],[-3.626904,31.000928],[-3.666797,30.964014],[-3.702002,30.944482],[-3.860059,30.927246],[-3.985352,30.913525],[-4.148779,30.80957],[-4.322852,30.698877],[-4.52915,30.625537],[-4.619629,30.604785],[-4.778516,30.552393],[-4.968262,30.465381],[-5.061914,30.326416],[-5.180127,30.166162],[-5.293652,30.058643],[-5.448779,29.956934],[-5.593311,29.917969],[-5.775,29.869043],[-6.004297,29.83125],[-6.166504,29.818945],[-6.214795,29.810693],[-6.357617,29.808301],[-6.427637,29.816113],[-6.479736,29.820361],[-6.500879,29.809131],[-6.50791,29.783789],[-6.510693,29.726025],[-6.520557,29.659863],[-6.565674,29.603857],[-6.597754,29.578955],[-6.635352,29.568799],[-6.755127,29.583838],[-6.855566,29.601611],[-7.094922,29.625195],[-7.142432,29.61958],[-7.160205,29.612646],[-7.234912,29.574902],[-7.349756,29.494727],[-7.427686,29.425],[-7.485742,29.392236],[-7.624609,29.375195],[-7.685156,29.349512],[-7.943848,29.174756],[-7.998926,29.132422],[-8.265186,28.980518],[-8.340479,28.930176],[-8.399316,28.880176],[-8.55835,28.767871],[-8.659912,28.718604],[-8.678418,28.689404],[-8.68335,28.620752],[-8.68335,28.469238],[-8.68335,28.323682],[-8.68335,28.112012],[-8.68335,27.900391],[-8.68335,27.656445],[-8.817822,27.656445],[-8.817773,27.655908],[-8.813916,27.613867],[-8.78457,27.530859],[-8.774365,27.460547],[-8.788965,27.416553],[-8.802686,27.360937],[-8.796826,27.308203],[-8.774365,27.250586],[-8.753857,27.191016],[-8.753857,27.150977],[-8.794873,27.120703],[-8.889062,27.104102],[-9.001904,27.09043],[-9.084424,27.09043],[-9.208447,27.100195],[-9.285596,27.098242],[-9.352979,27.098242],[-9.413037,27.088477],[-9.487305,27.050391],[-9.569824,26.99082],[-9.67334,26.910742],[-9.735352,26.860937],[-9.817871,26.850195],[-9.900342,26.850195],[-9.980908,26.890234],[-10.032715,26.910742],[-10.066846,26.908789],[-10.123047,26.880469],[-10.189453,26.860937],[-10.251465,26.860937],[-10.354932,26.900977],[-10.478955,26.960547],[-10.55127,26.99082],[-10.654248,27.000586],[-10.757764,27.020117],[-10.830078,27.010352],[-10.922803,27.010352],[-11.046826,26.970312],[-11.150342,26.941016],[-11.263623,26.910742],[-11.392578,26.883398],[-11.361279,26.793555],[-11.316846,26.744727],[-11.316846,26.68418],[-11.337891,26.633398],[-11.399902,26.583594],[-11.470703,26.520117],[-11.51167,26.470312],[-11.553174,26.400977],[-11.583984,26.360937],[-11.637207,26.295508],[-11.684521,26.213477],[-11.699219,26.162695],[-11.718213,26.104102],[-11.754883,26.086523],[-11.880859,26.070898],[-11.960889,26.050391],[-12.030762,26.030859],[-12.056787,25.996338],[-12.060986,25.99082],[-12.081055,25.920508],[-12.081055,25.870703],[-12.101025,25.830664],[-12.130859,25.731055],[-12.17085,25.640234],[-12.201123,25.520117],[-12.230957,25.420508],[-12.270947,25.260303],[-12.310986,25.110937],[-12.36084,24.970312],[-12.400879,24.880469],[-12.431152,24.830664],[-12.500977,24.770117],[-12.561035,24.731055],[-12.630811,24.680273],[-12.710938,24.630469],[-12.820752,24.570898],[-12.911133,24.520117],[-12.947852,24.497266],[-12.991162,24.470312],[-13.061035,24.400977],[-13.121094,24.300391],[-13.161133,24.220312],[-13.230957,24.09043],[-13.280762,24.020117],[-13.310986,23.981055],[-13.391113,23.941016],[-13.480957,23.910742],[-13.581055,23.870703],[-13.661084,23.830664],[-13.770947,23.790625],[-13.840771,23.750586],[-13.891113,23.691016],[-13.931104,23.620703],[-13.980908,23.520117],[-14.020996,23.410742],[-14.040967,23.34043],[-14.101074,23.100195],[-14.121094,22.960547],[-14.141064,22.870703],[-14.170898,22.760352],[-14.190869,22.59043],[-14.190869,22.450781],[-14.210938,22.370703],[-14.221191,22.310156],[-14.270996,22.24082],[-14.311035,22.191016],[-14.380811,22.120703],[-14.440918,22.080664],[-14.460889,22.040625],[-14.520996,21.990869],[-14.581006,21.910742],[-14.630859,21.860937],[-14.621094,21.820898],[-14.610791,21.750586],[-14.641113,21.680273],[-14.67085,21.600195],[-14.750977,21.500586],[-14.84082,21.450781],[-14.971143,21.441016],[-15.150879,21.441016],[-15.290967,21.450781],[-15.460938,21.450781],[-15.610791,21.470312],[-15.750928,21.49082],[-15.92085,21.500586],[-16.041016,21.500586],[-16.190869,21.481055],[-16.581006,21.481055],[-16.730957,21.470312],[-16.951123,21.430273],[-17.002979,21.420752],[-17.003076,21.420703],[-16.930859,21.9],[-16.793262,22.159717],[-16.683984,22.274365],[-16.514404,22.333496],[-16.35874,22.594531],[-16.304297,22.834814],[-16.201855,22.945361],[-16.169727,23.031934],[-16.210254,23.0979],[-16.113672,23.227539],[-15.996729,23.425488],[-15.942627,23.552637],[-15.805957,23.749512],[-15.789258,23.792871],[-15.80166,23.842236],[-15.855176,23.800342],[-15.912549,23.727588],[-15.980713,23.670312],[-15.952832,23.74082],[-15.899316,23.844434],[-15.777783,23.95293],[-15.586328,24.072754],[-15.188623,24.478809],[-15.038867,24.548828],[-14.904297,24.719775],[-14.856055,24.871582],[-14.84292,25.220117],[-14.794922,25.40415],[-14.707031,25.547705],[-14.602295,25.808545],[-14.522754,25.925244],[-14.470557,26.163037],[-14.413867,26.253711],[-14.312451,26.296729],[-14.168359,26.41543],[-13.9521,26.48877],[-13.695898,26.64292],[-13.575781,26.735107],[-13.495752,26.872656],[-13.409814,27.146631],[-13.256152,27.434619],[-13.177393,27.651855],[-13.175977,27.655713],[-13.040723,27.769824],[-12.948926,27.91416],[-12.793652,27.978418],[-12.468896,28.009424],[-11.986084,28.129297],[-11.552686,28.310107],[-11.430176,28.382031],[-11.299072,28.526074],[-11.080957,28.71377],[-10.673828,28.939209],[-10.486475,29.064941],[-10.200586,29.380371],[-10.010498,29.641406],[-9.852637,29.809229],[-9.743457,29.958203],[-9.66709,30.109277],[-9.623828,30.352637],[-9.65293,30.447559],[-9.773145,30.603125],[-9.853906,30.64458],[-9.875488,30.71792],[-9.832422,30.847266],[-9.83335,31.069629],[-9.808691,31.424609],[-9.674951,31.710986],[-9.347461,32.086377],[-9.286572,32.240576],[-9.249121,32.48584],[-9.24585,32.572461],[-8.83623,32.920459],[-8.596289,33.187158],[-8.512842,33.252441],[-8.301172,33.374365],[-7.562354,33.640283],[-7.144678,33.830322],[-6.900977,33.969043],[-6.755762,34.13291],[-6.353125,34.776074],[-5.957568,35.681152],[-5.924805,35.785791],[-5.747949,35.815967],[-5.622852,35.828906],[-5.522266,35.862012],[-5.397363,35.929883],[-5.277832,35.902734],[-5.337646,35.856543],[-5.337646,35.745215],[-5.252686,35.614746],[-5.105371,35.467773],[-4.837207,35.281299],[-4.62832,35.206396],[-4.32998,35.161475],[-3.982422,35.243408],[-3.787988,35.244922],[-3.693262,35.27998],[-3.590625,35.22832],[-3.394727,35.211816],[-3.206006,35.239111],[-3.063086,35.317236],[-2.972217,35.407275],[-2.957959,35.363086],[-2.953613,35.315137],[-2.925977,35.287109],[-2.869531,35.172656],[-2.839941,35.127832],[-2.731396,35.135205],[-2.636816,35.112695],[-2.42373,35.123486],[-2.219629,35.104199]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":7,"SOVEREIGNT":"Western Sahara","SOV_A3":"SAH","ADM0_DIF":0,"LEVEL":2,"TYPE":"Indeterminate","TLC":"1","ADMIN":"Western Sahara","ADM0_A3":"SAH","GEOU_DIF":0,"GEOUNIT":"Western Sahara","GU_A3":"SAH","SU_DIF":0,"SUBUNIT":"Western Sahara","SU_A3":"SAH","BRK_DIFF":1,"NAME":"W. Sahara","NAME_LONG":"Western Sahara","BRK_A3":"B28","BRK_NAME":"W. Sahara","BRK_GROUP":null,"ABBREV":"W. Sah.","POSTAL":"WS","FORMAL_EN":"Sahrawi Arab Democratic Republic","FORMAL_FR":null,"NAME_CIAWF":"Western Sahara","NOTE_ADM0":null,"NOTE_BRK":"Self admin.; Claimed by Morocco","NAME_SORT":"Western Sahara","NAME_ALT":null,"MAPCOLOR7":4,"MAPCOLOR8":7,"MAPCOLOR9":4,"MAPCOLOR13":4,"POP_EST":603253,"POP_RANK":11,"POP_YEAR":2017,"GDP_MD":907,"GDP_YEAR":2007,"ECONOMY":"7. Least developed region","INCOME_GRP":"5. Low income","FIPS_10":"WI","ISO_A2":"EH","ISO_A2_EH":"EH","ISO_A3":"ESH","ISO_A3_EH":"ESH","ISO_N3":"732","ISO_N3_EH":"732","UN_A3":"732","WB_A2":"-99","WB_A3":"-99","WOE_ID":23424990,"WOE_ID_EH":23424990,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"B28","ADM0_DIFF":null,"ADM0_TLC":"B28","ADM0_A3_US":"SAH","ADM0_A3_FR":"MAR","ADM0_A3_RU":"SAH","ADM0_A3_ES":"SAH","ADM0_A3_CN":"SAH","ADM0_A3_TW":"SAH","ADM0_A3_IN":"MAR","ADM0_A3_NP":"SAH","ADM0_A3_PK":"SAH","ADM0_A3_DE":"SAH","ADM0_A3_GB":"SAH","ADM0_A3_BR":"SAH","ADM0_A3_IL":"SAH","ADM0_A3_PS":"MAR","ADM0_A3_SA":"MAR","ADM0_A3_EG":"SAH","ADM0_A3_MA":"MAR","ADM0_A3_PT":"SAH","ADM0_A3_AR":"SAH","ADM0_A3_JP":"SAH","ADM0_A3_KO":"SAH","ADM0_A3_VN":"SAH","ADM0_A3_TR":"MAR","ADM0_A3_ID":"MAR","ADM0_A3_PL":"MAR","ADM0_A3_GR":"SAH","ADM0_A3_IT":"SAH","ADM0_A3_NL":"MAR","ADM0_A3_SE":"SAH","ADM0_A3_BD":"SAH","ADM0_A3_UA":"SAH","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Africa","REGION_UN":"Africa","SUBREGION":"Northern Africa","REGION_WB":"Middle East & North Africa","NAME_LEN":9,"LONG_LEN":14,"ABBREV_LEN":7,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":4.7,"MIN_LABEL":6,"MAX_LABEL":11,"LABEL_X":-12.630304,"LABEL_Y":23.967592,"NE_ID":1159321223,"WIKIDATAID":"Q6250","NAME_AR":"الصحراء الغربية","NAME_BN":"পশ্চিম সাহারা","NAME_DE":"Westsahara","NAME_EN":"Western Sahara","NAME_ES":"Sahara Occidental","NAME_FA":"صحرای غربی","NAME_FR":"Sahara occidental","NAME_EL":"Δυτική Σαχάρα","NAME_HE":"סהרה המערבית","NAME_HI":"पश्चिमी सहारा","NAME_HU":"Nyugat-Szahara","NAME_ID":"Sahara Barat","NAME_IT":"Sahara Occidentale","NAME_JA":"西サハラ","NAME_KO":"서사하라","NAME_NL":"Westelijke Sahara","NAME_PL":"Sahara Zachodnia","NAME_PT":"Sara Ocidental","NAME_RU":"Западная Сахара","NAME_SV":"Västsahara","NAME_TR":"Batı Sahra","NAME_UK":"Західна Сахара","NAME_UR":"مغربی صحارا","NAME_VI":"Tây Sahara","NAME_ZH":"西撒哈拉","NAME_ZHT":"西撒哈拉","FCLASS_ISO":"Admin-0 dependency","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 dependency","FCLASS_US":null,"FCLASS_FR":"Unrecognized","FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":"Unrecognized","FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":"Unrecognized","FCLASS_SA":"Unrecognized","FCLASS_EG":null,"FCLASS_MA":"Unrecognized","FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":"Unrecognized","FCLASS_ID":"Unrecognized","FCLASS_PL":"Unrecognized","FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":"Unrecognized","FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[-17.098779,20.806152,-8.682129,27.656445],"geometry":{"type":"Polygon","coordinates":[[[-8.817773,27.655908],[-8.817822,27.656445],[-8.68335,27.656445],[-8.68335,27.490234],[-8.68335,27.285937],[-8.683105,27.119287],[-8.682861,26.921338],[-8.682617,26.723145],[-8.682324,26.497705],[-8.682129,26.273193],[-8.682129,26.109473],[-8.682227,25.995508],[-8.885645,25.995508],[-9.071924,25.995508],[-9.258203,25.995508],[-9.444531,25.995508],[-9.630859,25.995508],[-9.817187,25.995459],[-10.003516,25.995459],[-10.189795,25.995459],[-10.376123,25.995459],[-10.562451,25.995459],[-10.748779,25.995459],[-10.935107,25.995459],[-11.121387,25.995459],[-11.307715,25.99541],[-11.494043,25.99541],[-11.680371,25.99541],[-11.86665,25.99541],[-12.016309,25.99541],[-12.016309,25.876318],[-12.016309,25.740137],[-12.016309,25.604004],[-12.016309,25.467871],[-12.016309,25.331689],[-12.016309,25.195557],[-12.016309,25.059375],[-12.016309,24.923242],[-12.016309,24.787109],[-12.016309,24.650977],[-12.016309,24.514795],[-12.016309,24.378662],[-12.016309,24.24248],[-12.016309,24.106348],[-12.016309,23.970215],[-12.016309,23.834033],[-12.016309,23.6979],[-12.016309,23.576465],[-12.023438,23.467578],[-12.08335,23.435449],[-12.226172,23.37749],[-12.3729,23.318018],[-12.559375,23.29082],[-12.62041,23.271338],[-12.7396,23.192725],[-12.895996,23.089551],[-13.031494,23.000244],[-13.120898,22.884082],[-13.153271,22.820508],[-13.166504,22.753223],[-13.155957,22.689307],[-13.107324,22.560742],[-13.094336,22.495996],[-13.086768,22.383252],[-13.078467,22.260449],[-13.06958,22.128174],[-13.060645,21.995752],[-13.051221,21.854785],[-13.041748,21.713818],[-13.032227,21.57207],[-13.025098,21.466797],[-13.016211,21.333936],[-13.167432,21.333789],[-13.396729,21.333545],[-13.626025,21.333252],[-13.855371,21.332959],[-14.084668,21.332715],[-14.313965,21.332422],[-14.543262,21.332129],[-14.772607,21.331885],[-15.001904,21.331592],[-15.231201,21.331299],[-15.460547,21.331055],[-15.689795,21.330762],[-15.919141,21.330469],[-16.148438,21.330225],[-16.377734,21.329932],[-16.607031,21.329639],[-16.836328,21.329395],[-16.964551,21.329248],[-17.005908,21.142432],[-17.042383,21.008008],[-17.063965,20.898828],[-17.048047,20.806152],[-17.098779,20.856885],[-17.009619,21.3771],[-17.003076,21.420703],[-17.002979,21.420752],[-16.951123,21.430273],[-16.730957,21.470312],[-16.581006,21.481055],[-16.190869,21.481055],[-16.041016,21.500586],[-15.92085,21.500586],[-15.750928,21.49082],[-15.610791,21.470312],[-15.460938,21.450781],[-15.290967,21.450781],[-15.150879,21.441016],[-14.971143,21.441016],[-14.84082,21.450781],[-14.750977,21.500586],[-14.67085,21.600195],[-14.641113,21.680273],[-14.610791,21.750586],[-14.621094,21.820898],[-14.630859,21.860937],[-14.581006,21.910742],[-14.520996,21.990869],[-14.460889,22.040625],[-14.440918,22.080664],[-14.380811,22.120703],[-14.311035,22.191016],[-14.270996,22.24082],[-14.221191,22.310156],[-14.210938,22.370703],[-14.190869,22.450781],[-14.190869,22.59043],[-14.170898,22.760352],[-14.141064,22.870703],[-14.121094,22.960547],[-14.101074,23.100195],[-14.040967,23.34043],[-14.020996,23.410742],[-13.980908,23.520117],[-13.931104,23.620703],[-13.891113,23.691016],[-13.840771,23.750586],[-13.770947,23.790625],[-13.661084,23.830664],[-13.581055,23.870703],[-13.480957,23.910742],[-13.391113,23.941016],[-13.310986,23.981055],[-13.280762,24.020117],[-13.230957,24.09043],[-13.161133,24.220312],[-13.121094,24.300391],[-13.061035,24.400977],[-12.991162,24.470312],[-12.947852,24.497266],[-12.911133,24.520117],[-12.820752,24.570898],[-12.710938,24.630469],[-12.630811,24.680273],[-12.561035,24.731055],[-12.500977,24.770117],[-12.431152,24.830664],[-12.400879,24.880469],[-12.36084,24.970312],[-12.310986,25.110937],[-12.270947,25.260303],[-12.230957,25.420508],[-12.201123,25.520117],[-12.17085,25.640234],[-12.130859,25.731055],[-12.101025,25.830664],[-12.081055,25.870703],[-12.081055,25.920508],[-12.060986,25.99082],[-12.056787,25.996338],[-12.030762,26.030859],[-11.960889,26.050391],[-11.880859,26.070898],[-11.754883,26.086523],[-11.718213,26.104102],[-11.699219,26.162695],[-11.684521,26.213477],[-11.637207,26.295508],[-11.583984,26.360937],[-11.553174,26.400977],[-11.51167,26.470312],[-11.470703,26.520117],[-11.399902,26.583594],[-11.337891,26.633398],[-11.316846,26.68418],[-11.316846,26.744727],[-11.361279,26.793555],[-11.392578,26.883398],[-11.263623,26.910742],[-11.150342,26.941016],[-11.046826,26.970312],[-10.922803,27.010352],[-10.830078,27.010352],[-10.757764,27.020117],[-10.654248,27.000586],[-10.55127,26.99082],[-10.478955,26.960547],[-10.354932,26.900977],[-10.251465,26.860937],[-10.189453,26.860937],[-10.123047,26.880469],[-10.066846,26.908789],[-10.032715,26.910742],[-9.980908,26.890234],[-9.900342,26.850195],[-9.817871,26.850195],[-9.735352,26.860937],[-9.67334,26.910742],[-9.569824,26.99082],[-9.487305,27.050391],[-9.413037,27.088477],[-9.352979,27.098242],[-9.285596,27.098242],[-9.208447,27.100195],[-9.084424,27.09043],[-9.001904,27.09043],[-8.889062,27.104102],[-8.794873,27.120703],[-8.753857,27.150977],[-8.753857,27.191016],[-8.774365,27.250586],[-8.796826,27.308203],[-8.802686,27.360937],[-8.788965,27.416553],[-8.774365,27.460547],[-8.78457,27.530859],[-8.813916,27.613867],[-8.817773,27.655908]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":6,"SOVEREIGNT":"Montenegro","SOV_A3":"MNE","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Montenegro","ADM0_A3":"MNE","GEOU_DIF":0,"GEOUNIT":"Montenegro","GU_A3":"MNE","SU_DIF":0,"SUBUNIT":"Montenegro","SU_A3":"MNE","BRK_DIFF":0,"NAME":"Montenegro","NAME_LONG":"Montenegro","BRK_A3":"MNE","BRK_NAME":"Montenegro","BRK_GROUP":null,"ABBREV":"Mont.","POSTAL":"ME","FORMAL_EN":"Montenegro","FORMAL_FR":null,"NAME_CIAWF":"Montenegro","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Montenegro","NAME_ALT":null,"MAPCOLOR7":4,"MAPCOLOR8":1,"MAPCOLOR9":4,"MAPCOLOR13":5,"POP_EST":622137,"POP_RANK":11,"POP_YEAR":2019,"GDP_MD":5542,"GDP_YEAR":2019,"ECONOMY":"6. Developing region","INCOME_GRP":"3. Upper middle income","FIPS_10":"MJ","ISO_A2":"ME","ISO_A2_EH":"ME","ISO_A3":"MNE","ISO_A3_EH":"MNE","ISO_N3":"499","ISO_N3_EH":"499","UN_A3":"499","WB_A2":"ME","WB_A3":"MNE","WOE_ID":20069817,"WOE_ID_EH":20069817,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"MNE","ADM0_DIFF":null,"ADM0_TLC":"MNE","ADM0_A3_US":"MNE","ADM0_A3_FR":"MNE","ADM0_A3_RU":"MNE","ADM0_A3_ES":"MNE","ADM0_A3_CN":"MNE","ADM0_A3_TW":"MNE","ADM0_A3_IN":"MNE","ADM0_A3_NP":"MNE","ADM0_A3_PK":"MNE","ADM0_A3_DE":"MNE","ADM0_A3_GB":"MNE","ADM0_A3_BR":"MNE","ADM0_A3_IL":"MNE","ADM0_A3_PS":"MNE","ADM0_A3_SA":"MNE","ADM0_A3_EG":"MNE","ADM0_A3_MA":"MNE","ADM0_A3_PT":"MNE","ADM0_A3_AR":"MNE","ADM0_A3_JP":"MNE","ADM0_A3_KO":"MNE","ADM0_A3_VN":"MNE","ADM0_A3_TR":"MNE","ADM0_A3_ID":"MNE","ADM0_A3_PL":"MNE","ADM0_A3_GR":"MNE","ADM0_A3_IT":"MNE","ADM0_A3_NL":"MNE","ADM0_A3_SE":"MNE","ADM0_A3_BD":"MNE","ADM0_A3_UA":"MNE","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Europe","REGION_UN":"Europe","SUBREGION":"Southern Europe","REGION_WB":"Europe & Central Asia","NAME_LEN":10,"LONG_LEN":10,"ABBREV_LEN":5,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":5,"MAX_LABEL":10,"LABEL_X":19.143727,"LABEL_Y":42.803101,"NE_ID":1159321069,"WIKIDATAID":"Q236","NAME_AR":"الجبل الأسود","NAME_BN":"মন্টিনিগ্রো","NAME_DE":"Montenegro","NAME_EN":"Montenegro","NAME_ES":"Montenegro","NAME_FA":"مونتهنگرو","NAME_FR":"Monténégro","NAME_EL":"Μαυροβούνιο","NAME_HE":"מונטנגרו","NAME_HI":"मॉन्टेनीग्रो","NAME_HU":"Montenegró","NAME_ID":"Montenegro","NAME_IT":"Montenegro","NAME_JA":"モンテネグロ","NAME_KO":"몬테네그로","NAME_NL":"Montenegro","NAME_PL":"Czarnogóra","NAME_PT":"Montenegro","NAME_RU":"Черногория","NAME_SV":"Montenegro","NAME_TR":"Karadağ","NAME_UK":"Чорногорія","NAME_UR":"مونٹینیگرو","NAME_VI":"Montenegro","NAME_ZH":"黑山","NAME_ZHT":"蒙特內哥羅","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[18.436328,41.869092,20.347656,43.542334],"geometry":{"type":"Polygon","coordinates":[[[19.194336,43.533301],[19.191602,43.521045],[19.196484,43.48501],[19.21875,43.449951],[19.298242,43.413965],[19.414648,43.342822],[19.551563,43.212256],[19.614453,43.173437],[19.670996,43.163965],[19.781152,43.109766],[19.858008,43.096533],[19.944043,43.081641],[20.167871,42.968506],[20.268457,42.935449],[20.339941,42.892871],[20.347656,42.852783],[20.344336,42.82793],[20.215137,42.798828],[20.192578,42.754639],[20.12998,42.759766],[20.054297,42.760059],[20.029492,42.732031],[20.065723,42.68584],[20.089258,42.631543],[20.070312,42.55708],[20.063965,42.547266],[20.045703,42.549902],[19.939063,42.506689],[19.859766,42.486328],[19.788281,42.476172],[19.754492,42.496924],[19.737793,42.525146],[19.740723,42.606934],[19.727832,42.634521],[19.703418,42.647949],[19.654492,42.628564],[19.597461,42.56543],[19.544531,42.491943],[19.465137,42.415381],[19.399609,42.341895],[19.329004,42.249268],[19.280664,42.172559],[19.330859,42.129297],[19.361426,42.069092],[19.352148,42.024023],[19.361133,41.997754],[19.345508,41.918848],[19.342383,41.869092],[19.186426,41.948633],[19.122266,42.060498],[18.894238,42.249463],[18.63291,42.378076],[18.619043,42.398389],[18.633398,42.423145],[18.645898,42.442725],[18.591602,42.444189],[18.553516,42.428516],[18.51748,42.43291],[18.47666,42.481104],[18.438086,42.522949],[18.436328,42.559717],[18.453906,42.564502],[18.480078,42.579199],[18.534961,42.620117],[18.545898,42.641602],[18.543262,42.67417],[18.466016,42.777246],[18.455078,42.844092],[18.443848,42.968457],[18.460156,42.9979],[18.488477,43.012158],[18.623633,43.027686],[18.621875,43.124609],[18.62998,43.153662],[18.656836,43.193945],[18.674219,43.230811],[18.749219,43.283545],[18.851074,43.346338],[18.895605,43.348193],[18.934668,43.339453],[18.978711,43.2854],[19.02666,43.292432],[19.036719,43.357324],[18.973828,43.442383],[18.940234,43.496729],[18.950684,43.52666],[18.974219,43.542334],[19.02832,43.53252],[19.080078,43.517725],[19.112793,43.527734],[19.164355,43.535449],[19.194336,43.533301]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":3,"SOVEREIGNT":"Mongolia","SOV_A3":"MNG","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Mongolia","ADM0_A3":"MNG","GEOU_DIF":0,"GEOUNIT":"Mongolia","GU_A3":"MNG","SU_DIF":0,"SUBUNIT":"Mongolia","SU_A3":"MNG","BRK_DIFF":0,"NAME":"Mongolia","NAME_LONG":"Mongolia","BRK_A3":"MNG","BRK_NAME":"Mongolia","BRK_GROUP":null,"ABBREV":"Mong.","POSTAL":"MN","FORMAL_EN":"Mongolia","FORMAL_FR":null,"NAME_CIAWF":"Mongolia","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Mongolia","NAME_ALT":null,"MAPCOLOR7":3,"MAPCOLOR8":5,"MAPCOLOR9":5,"MAPCOLOR13":6,"POP_EST":3225167,"POP_RANK":12,"POP_YEAR":2019,"GDP_MD":13996,"GDP_YEAR":2019,"ECONOMY":"6. Developing region","INCOME_GRP":"4. Lower middle income","FIPS_10":"MG","ISO_A2":"MN","ISO_A2_EH":"MN","ISO_A3":"MNG","ISO_A3_EH":"MNG","ISO_N3":"496","ISO_N3_EH":"496","UN_A3":"496","WB_A2":"MN","WB_A3":"MNG","WOE_ID":23424887,"WOE_ID_EH":23424887,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"MNG","ADM0_DIFF":null,"ADM0_TLC":"MNG","ADM0_A3_US":"MNG","ADM0_A3_FR":"MNG","ADM0_A3_RU":"MNG","ADM0_A3_ES":"MNG","ADM0_A3_CN":"MNG","ADM0_A3_TW":"MNG","ADM0_A3_IN":"MNG","ADM0_A3_NP":"MNG","ADM0_A3_PK":"MNG","ADM0_A3_DE":"MNG","ADM0_A3_GB":"MNG","ADM0_A3_BR":"MNG","ADM0_A3_IL":"MNG","ADM0_A3_PS":"MNG","ADM0_A3_SA":"MNG","ADM0_A3_EG":"MNG","ADM0_A3_MA":"MNG","ADM0_A3_PT":"MNG","ADM0_A3_AR":"MNG","ADM0_A3_JP":"MNG","ADM0_A3_KO":"MNG","ADM0_A3_VN":"MNG","ADM0_A3_TR":"MNG","ADM0_A3_ID":"MNG","ADM0_A3_PL":"MNG","ADM0_A3_GR":"MNG","ADM0_A3_IT":"MNG","ADM0_A3_NL":"MNG","ADM0_A3_SE":"MNG","ADM0_A3_BD":"MNG","ADM0_A3_UA":"MNG","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Asia","REGION_UN":"Asia","SUBREGION":"Eastern Asia","REGION_WB":"East Asia & Pacific","NAME_LEN":8,"LONG_LEN":8,"ABBREV_LEN":5,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":3,"MAX_LABEL":7,"LABEL_X":104.150405,"LABEL_Y":45.997488,"NE_ID":1159321071,"WIKIDATAID":"Q711","NAME_AR":"منغوليا","NAME_BN":"মঙ্গোলিয়া","NAME_DE":"Mongolei","NAME_EN":"Mongolia","NAME_ES":"Mongolia","NAME_FA":"مغولستان","NAME_FR":"Mongolie","NAME_EL":"Μογγολία","NAME_HE":"מונגוליה","NAME_HI":"मंगोलिया","NAME_HU":"Mongólia","NAME_ID":"Mongolia","NAME_IT":"Mongolia","NAME_JA":"モンゴル国","NAME_KO":"몽골","NAME_NL":"Mongolië","NAME_PL":"Mongolia","NAME_PT":"Mongólia","NAME_RU":"Монголия","NAME_SV":"Mongoliet","NAME_TR":"Moğolistan","NAME_UK":"Монголія","NAME_UR":"منگولیا","NAME_VI":"Mông Cổ","NAME_ZH":"蒙古国","NAME_ZHT":"蒙古國","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[87.743164,41.595508,119.897852,52.117285],"geometry":{"type":"Polygon","coordinates":[[[87.814258,49.162305],[87.818262,49.162109],[87.934766,49.164551],[87.988086,49.186914],[88.028516,49.219775],[88.115723,49.256299],[88.134277,49.298437],[88.135547,49.381494],[88.192578,49.451709],[88.337793,49.472559],[88.393359,49.482861],[88.452441,49.472705],[88.544336,49.482568],[88.633203,49.486133],[88.682715,49.464551],[88.747852,49.44624],[88.831641,49.448437],[88.860352,49.481543],[88.863867,49.527637],[88.900195,49.539697],[88.94541,49.507666],[88.970605,49.48374],[89.008398,49.472803],[89.109473,49.501367],[89.17998,49.532227],[89.20293,49.595703],[89.243945,49.627051],[89.299219,49.611133],[89.395605,49.611523],[89.475,49.660547],[89.579199,49.699707],[89.654102,49.71748],[89.669531,49.750488],[89.634277,49.823291],[89.643848,49.903027],[89.744238,49.948096],[89.878027,49.953516],[89.977344,49.984326],[90.00498,50.069287],[90.053711,50.09375],[90.103711,50.10332],[90.224512,50.116699],[90.311328,50.151172],[90.364844,50.166895],[90.516895,50.21333],[90.655078,50.222363],[90.714355,50.259424],[90.760742,50.305957],[90.838086,50.32373],[90.917188,50.36416],[91.021582,50.415479],[91.062793,50.422607],[91.233789,50.452393],[91.300586,50.463379],[91.34082,50.470068],[91.415039,50.468018],[91.446484,50.522168],[91.52168,50.562012],[91.596875,50.575537],[91.63418,50.615137],[91.706348,50.665527],[91.804297,50.693604],[91.956543,50.697607],[92.104004,50.691992],[92.192383,50.700586],[92.265332,50.775195],[92.279004,50.812207],[92.295801,50.849805],[92.354785,50.86416],[92.426367,50.803076],[92.486426,50.765088],[92.578906,50.725439],[92.62666,50.688281],[92.681348,50.683203],[92.738672,50.710938],[92.779297,50.778662],[92.856445,50.789111],[92.941309,50.778223],[92.963574,50.744922],[92.970703,50.7125],[93.009863,50.654541],[93.103125,50.603906],[93.222559,50.606543],[93.270508,50.615576],[93.386816,50.608496],[93.501074,50.597461],[93.625586,50.585547],[93.662012,50.583691],[93.79541,50.577637],[93.989844,50.568848],[94.075781,50.572852],[94.251074,50.556396],[94.287012,50.511377],[94.319336,50.404883],[94.346875,50.303418],[94.354688,50.221826],[94.400195,50.179639],[94.458496,50.165723],[94.496875,50.132812],[94.564648,50.087939],[94.614746,50.02373],[94.675488,50.028076],[94.718066,50.043262],[94.81123,50.048193],[94.930273,50.04375],[95.012891,50.008252],[95.044336,49.961572],[95.111426,49.935449],[95.166211,49.943848],[95.329492,49.944141],[95.385645,49.941211],[95.441797,49.915527],[95.522656,49.91123],[95.567187,49.943848],[95.707812,49.966016],[95.789355,50.0125],[95.851953,50.012939],[95.899414,49.990576],[95.935742,49.96001],[95.989551,49.973584],[96.018555,49.998779],[96.065527,49.99873],[96.111719,49.982471],[96.229688,49.954102],[96.315039,49.901123],[96.381152,49.896045],[96.466406,49.911523],[96.505762,49.918701],[96.543262,49.892529],[96.598437,49.878418],[96.640234,49.897852],[96.711719,49.911572],[96.985742,49.882812],[97.049121,49.829883],[97.097656,49.805029],[97.136914,49.761719],[97.208594,49.730811],[97.359766,49.741455],[97.418359,49.773047],[97.54082,49.843115],[97.589355,49.911475],[97.650977,49.933594],[97.720703,49.944629],[97.785547,49.944531],[97.853906,49.946777],[97.936621,49.996777],[98.003906,50.014258],[98.103418,50.077832],[98.121973,50.106592],[98.170117,50.180566],[98.2,50.227686],[98.250293,50.302441],[98.277344,50.422998],[98.292676,50.486963],[98.279492,50.533252],[98.220508,50.557178],[98.14502,50.568555],[98.078906,50.603809],[98.029785,50.644629],[98.001172,50.702051],[97.961914,50.769141],[97.96416,50.817676],[97.953125,50.855176],[97.919824,50.887158],[97.856152,50.943359],[97.825293,50.985254],[97.835742,51.05166],[97.91084,51.165186],[97.917871,51.217871],[97.927344,51.250732],[97.923242,51.280469],[97.946875,51.348437],[97.98916,51.377051],[98.037598,51.449951],[98.103125,51.483545],[98.184668,51.485742],[98.219922,51.505615],[98.2375,51.578418],[98.276855,51.63457],[98.303125,51.674268],[98.352734,51.717627],[98.640527,51.801172],[98.760156,51.905078],[98.802539,51.957471],[98.848633,52.070068],[98.893164,52.117285],[98.958105,52.101709],[99.034277,52.0354],[99.091406,52.034863],[99.176172,51.998877],[99.407031,51.923535],[99.532324,51.899902],[99.612891,51.892529],[99.719238,51.871631],[99.787891,51.827539],[99.92168,51.755518],[100.03457,51.737109],[100.230371,51.729834],[100.468945,51.726074],[100.53623,51.713477],[100.710742,51.661572],[100.903613,51.604248],[101.085352,51.553027],[101.223242,51.513281],[101.304492,51.474756],[101.38125,51.452637],[101.464355,51.471484],[101.570898,51.467187],[101.821191,51.421045],[101.979199,51.382227],[102.111523,51.353467],[102.155664,51.31377],[102.160059,51.26084],[102.142383,51.216064],[102.151953,51.10752],[102.194531,51.050684],[102.210254,50.974316],[102.226172,50.901465],[102.215039,50.829443],[102.235059,50.791211],[102.276563,50.768701],[102.316602,50.718457],[102.30332,50.665527],[102.285742,50.634668],[102.288379,50.585107],[102.336426,50.544238],[102.406836,50.536182],[102.469434,50.525684],[102.546289,50.461328],[102.683301,50.387158],[102.76543,50.366553],[102.859668,50.333252],[103.039453,50.300635],[103.161719,50.290723],[103.233789,50.264258],[103.304395,50.200293],[103.421191,50.187061],[103.496289,50.164941],[103.63291,50.138574],[103.723242,50.153857],[103.802637,50.176074],[103.856152,50.171826],[103.958496,50.157275],[104.078711,50.154248],[104.179688,50.169434],[104.259961,50.214453],[104.353906,50.275293],[104.466309,50.306152],[104.596387,50.317187],[104.685352,50.341846],[104.976953,50.38291],[105.094727,50.389941],[105.185938,50.42959],[105.266699,50.460498],[105.383594,50.47373],[105.541602,50.44126],[105.692578,50.41416],[105.875195,50.405371],[105.996484,50.36792],[106.08252,50.332568],[106.217871,50.30459],[106.368457,50.317578],[106.574414,50.328809],[106.711133,50.312598],[106.853711,50.248291],[106.941309,50.19668],[107.040234,50.086475],[107.143066,50.033008],[107.233301,49.989404],[107.34707,49.98667],[107.630957,49.983105],[107.786816,49.96001],[107.916602,49.947803],[107.947852,49.924707],[107.934863,49.849023],[107.93877,49.740723],[107.936719,49.691016],[107.96543,49.653516],[108.00957,49.646875],[108.033789,49.593994],[108.098047,49.562646],[108.213086,49.524805],[108.406934,49.396387],[108.522461,49.341504],[108.613672,49.322803],[108.733008,49.335645],[108.919922,49.335352],[109.236719,49.334912],[109.453711,49.296338],[109.528711,49.269873],[109.750391,49.239307],[109.994531,49.205615],[110.199902,49.17041],[110.321387,49.215869],[110.427832,49.219971],[110.52959,49.187061],[110.631055,49.137598],[110.709766,49.142969],[110.82793,49.166162],[111.204199,49.304297],[111.336621,49.355859],[111.429297,49.342627],[111.511914,49.360937],[111.574805,49.376416],[111.735547,49.397754],[111.833398,49.403613],[111.934473,49.416016],[112.079688,49.424219],[112.375195,49.5146],[112.494922,49.532324],[112.697363,49.507275],[112.806445,49.523584],[112.914844,49.569238],[113.055566,49.61626],[113.09209,49.692529],[113.16416,49.797168],[113.319043,49.874316],[113.445508,49.941602],[113.574219,50.007031],[113.732422,50.061523],[113.881152,50.101123],[114.070703,50.204736],[114.221777,50.257275],[114.29707,50.274414],[114.386328,50.255469],[114.554004,50.241455],[114.674902,50.245703],[114.743164,50.233691],[114.87959,50.183057],[115.00332,50.138574],[115.098047,50.059424],[115.274512,49.948877],[115.365039,49.911768],[115.429199,49.896484],[115.587988,49.886035],[115.717773,49.880615],[115.795215,49.905908],[115.925977,49.952148],[116.13457,50.010791],[116.216797,50.009277],[116.351172,49.978076],[116.551172,49.920312],[116.631543,49.877051],[116.683301,49.823779],[116.589746,49.684814],[116.402148,49.406201],[116.243359,49.170361],[116.159668,49.037451],[116.098242,48.936133],[116.034375,48.840039],[116.025488,48.782275],[115.953809,48.689355],[115.820508,48.577246],[115.791699,48.455713],[115.796582,48.346338],[115.785547,48.248242],[115.639453,48.18623],[115.525098,48.130859],[115.557617,47.94502],[115.616406,47.874805],[115.711719,47.798926],[115.811719,47.738232],[115.898242,47.686914],[115.993848,47.711328],[116.074805,47.789551],[116.231152,47.858203],[116.317187,47.859863],[116.378223,47.844043],[116.513477,47.839551],[116.651953,47.864502],[116.760547,47.869775],[116.901172,47.853076],[116.95166,47.836572],[117.069727,47.806396],[117.19707,47.740283],[117.285937,47.666357],[117.350781,47.652197],[117.383984,47.675732],[117.455078,47.741357],[117.555371,47.804688],[117.67666,47.908301],[117.768359,47.987891],[117.84043,47.999854],[117.979199,47.999609],[118.041895,48.018945],[118.14707,48.028906],[118.239648,47.999512],[118.498438,47.983984],[118.567773,47.943262],[118.690527,47.822266],[118.759961,47.757617],[118.880273,47.725098],[118.953125,47.70293],[119.017578,47.685352],[119.081934,47.65415],[119.097266,47.61626],[119.122949,47.558496],[119.162402,47.525195],[119.235254,47.492578],[119.29082,47.472656],[119.308594,47.430713],[119.325977,47.410156],[119.37666,47.380859],[119.526953,47.255908],[119.600195,47.222461],[119.711133,47.15],[119.757227,47.090039],[119.759863,47.027002],[119.788477,46.978809],[119.862695,46.906592],[119.897852,46.857812],[119.88418,46.791455],[119.895898,46.732861],[119.867188,46.672168],[119.747461,46.627197],[119.706641,46.606006],[119.620215,46.603955],[119.474023,46.62666],[119.331836,46.613818],[119.162109,46.638672],[119.028516,46.692187],[118.957129,46.734863],[118.843945,46.760205],[118.790332,46.74707],[118.722949,46.691895],[118.64873,46.70166],[118.580469,46.691895],[118.404395,46.703174],[118.308691,46.717041],[118.156836,46.678564],[118.071289,46.666602],[117.910449,46.619336],[117.813477,46.537695],[117.741211,46.518164],[117.671094,46.52207],[117.620508,46.552002],[117.546875,46.588281],[117.438086,46.58623],[117.405566,46.570898],[117.392188,46.537598],[117.356348,46.43667],[117.356934,46.391309],[117.333398,46.362012],[117.269043,46.352246],[117.155957,46.355078],[116.978809,46.361768],[116.859082,46.387939],[116.787012,46.37666],[116.688867,46.321973],[116.619336,46.313086],[116.562598,46.289795],[116.516699,46.209082],[116.444824,46.158789],[116.357617,46.096582],[116.264551,45.963037],[116.212988,45.886914],[116.229102,45.845752],[116.240625,45.795996],[116.197656,45.739355],[116.109863,45.686719],[116.039551,45.676953],[115.93418,45.626172],[115.78916,45.534814],[115.681055,45.458252],[115.539453,45.439502],[115.439453,45.419971],[115.21748,45.396191],[115.162598,45.390234],[114.919238,45.378271],[114.73877,45.419629],[114.644336,45.413281],[114.560156,45.38999],[114.517188,45.3646],[114.502246,45.316309],[114.487305,45.271729],[114.419141,45.202588],[114.281055,45.110889],[114.167383,45.049854],[114.080273,44.971143],[114.030273,44.942578],[113.930859,44.912305],[113.877051,44.896191],[113.752148,44.825928],[113.652637,44.763477],[113.587012,44.745703],[113.50791,44.762354],[113.455664,44.767432],[113.300977,44.79165],[113.196094,44.794824],[113.049414,44.810352],[112.706738,44.883447],[112.596777,44.917676],[112.499316,45.010937],[112.411328,45.058203],[112.29209,45.063037],[112.112891,45.062939],[112.032617,45.081641],[111.898047,45.064062],[111.751074,44.969531],[111.681445,44.89917],[111.621289,44.827148],[111.547461,44.6729],[111.514746,44.569824],[111.489453,44.511572],[111.410937,44.419189],[111.402246,44.367285],[111.42959,44.322363],[111.48623,44.271631],[111.519727,44.191895],[111.602637,44.107129],[111.683789,44.041113],[111.836914,43.934668],[111.880273,43.878906],[111.931738,43.814941],[111.942871,43.752441],[111.933203,43.711426],[111.878125,43.680176],[111.771094,43.6646],[111.719727,43.621143],[111.64082,43.563184],[111.547363,43.496289],[111.503516,43.492773],[111.451074,43.474902],[111.186816,43.391992],[111.086523,43.36875],[111.007227,43.341406],[110.913281,43.256885],[110.839551,43.194092],[110.748535,43.110791],[110.708594,43.073877],[110.627539,42.990527],[110.520898,42.895264],[110.461719,42.844141],[110.42959,42.813574],[110.400391,42.773682],[110.288867,42.742725],[110.196875,42.71001],[110.058008,42.660596],[109.858789,42.60625],[109.698047,42.553809],[109.595508,42.510547],[109.443164,42.455957],[109.339844,42.438379],[109.131641,42.440576],[108.874512,42.426465],[108.687305,42.416113],[108.546484,42.429297],[108.333984,42.436768],[108.171191,42.447314],[108.062305,42.427197],[107.805957,42.405859],[107.74873,42.400977],[107.292383,42.349268],[107.090723,42.321533],[106.906055,42.308887],[106.77002,42.288721],[106.693164,42.263574],[106.579102,42.227344],[106.51875,42.211572],[106.317187,42.140576],[105.867578,41.993994],[105.566406,41.875098],[105.51709,41.854736],[105.314355,41.770898],[105.19707,41.738037],[105.11543,41.663281],[105.050586,41.615918],[104.982031,41.595508],[104.860352,41.64375],[104.773633,41.641162],[104.498242,41.658691],[104.498242,41.877002],[104.305176,41.846143],[103.997266,41.796973],[103.711133,41.751318],[103.449707,41.855859],[103.247852,41.936572],[103.072852,42.005957],[102.806836,42.052002],[102.575195,42.09209],[102.156641,42.158105],[101.972949,42.215869],[101.879883,42.292334],[101.713867,42.46582],[101.659961,42.500049],[101.579102,42.523535],[101.495313,42.53877],[101.31377,42.537891],[101.091992,42.551318],[100.772559,42.587793],[100.519043,42.616797],[100.086328,42.670752],[99.983789,42.677344],[99.757422,42.629443],[99.467871,42.568213],[98.946875,42.616211],[98.716309,42.638721],[98.248242,42.684521],[97.718945,42.736279],[97.205664,42.789795],[96.833008,42.760254],[96.625293,42.743848],[96.385449,42.720361],[96.352344,42.746777],[96.34248,42.849316],[96.299512,42.928711],[96.168457,43.014502],[96.080273,43.096143],[95.9125,43.206494],[95.85957,43.275977],[95.841992,43.383691],[95.687305,43.664062],[95.591211,43.853613],[95.567187,43.892236],[95.525586,43.953955],[95.471289,43.986182],[95.356445,44.005957],[95.325586,44.039355],[95.325586,44.104883],[95.343652,44.19541],[95.366797,44.261523],[95.350293,44.278076],[95.049805,44.259424],[94.866016,44.30332],[94.712012,44.35083],[94.494336,44.47251],[94.364746,44.519482],[94.199316,44.645166],[93.95791,44.674951],[93.868164,44.724219],[93.755273,44.831934],[93.656445,44.900977],[93.516211,44.944482],[93.294336,44.983154],[92.916016,45.020166],[92.787891,45.035742],[92.578906,45.010986],[92.423828,45.008936],[92.172656,45.035254],[92.029785,45.068506],[91.852832,45.069336],[91.737793,45.068945],[91.584375,45.076514],[91.510059,45.098242],[91.441016,45.124756],[91.312109,45.118115],[91.221777,45.144531],[91.137695,45.193945],[91.05,45.217432],[90.953613,45.215918],[90.913965,45.193945],[90.877246,45.196094],[90.853223,45.262891],[90.763184,45.370654],[90.749609,45.418945],[90.694434,45.474658],[90.661816,45.525244],[90.670703,45.595166],[90.709668,45.730811],[90.795898,45.853516],[90.852441,45.8854],[90.887109,45.921631],[90.959766,45.985059],[91.001758,46.035791],[90.996777,46.10498],[90.947559,46.177295],[90.911523,46.270654],[90.918262,46.324268],[90.971484,46.387988],[91.033887,46.529004],[91.028906,46.566064],[91.004297,46.595752],[90.997852,46.661084],[90.985742,46.749023],[90.910547,46.883252],[90.869922,46.954492],[90.799023,46.985156],[90.715527,47.003857],[90.643359,47.100293],[90.55293,47.214014],[90.496191,47.285156],[90.476465,47.328809],[90.46748,47.408154],[90.425195,47.504102],[90.380664,47.556641],[90.347461,47.596973],[90.330664,47.655176],[90.313281,47.676172],[90.191016,47.7021],[90.103223,47.74541],[90.066602,47.803564],[90.053906,47.850488],[90.02793,47.877686],[89.958691,47.886328],[89.910449,47.844336],[89.831348,47.823291],[89.778125,47.827002],[89.725586,47.85249],[89.693164,47.87915],[89.638477,47.909082],[89.560938,48.003955],[89.479199,48.029053],[89.329883,48.024854],[89.196289,47.980908],[89.115625,47.987695],[89.047656,48.002539],[88.971094,48.049951],[88.917773,48.089014],[88.838281,48.101709],[88.681836,48.170557],[88.575977,48.220166],[88.566797,48.317432],[88.51709,48.384473],[88.413965,48.403418],[88.309961,48.47207],[88.158203,48.509082],[88.062598,48.537842],[87.979688,48.555127],[87.967383,48.581055],[87.972266,48.60332],[88.010645,48.64043],[88.050195,48.675049],[88.060059,48.707178],[88.02793,48.735596],[87.942187,48.765283],[87.831836,48.79165],[87.80918,48.835742],[87.743164,48.881641],[87.754687,48.918555],[87.806836,48.945508],[87.859863,48.965527],[87.872168,49.000146],[87.834668,49.031934],[87.816309,49.080273],[87.825195,49.116309],[87.814258,49.162305]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":6,"SOVEREIGNT":"Moldova","SOV_A3":"MDA","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Moldova","ADM0_A3":"MDA","GEOU_DIF":0,"GEOUNIT":"Moldova","GU_A3":"MDA","SU_DIF":0,"SUBUNIT":"Moldova","SU_A3":"MDA","BRK_DIFF":0,"NAME":"Moldova","NAME_LONG":"Moldova","BRK_A3":"MDA","BRK_NAME":"Moldova","BRK_GROUP":null,"ABBREV":"Mda.","POSTAL":"MD","FORMAL_EN":"Republic of Moldova","FORMAL_FR":null,"NAME_CIAWF":"Moldova","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Moldova","NAME_ALT":null,"MAPCOLOR7":3,"MAPCOLOR8":5,"MAPCOLOR9":4,"MAPCOLOR13":12,"POP_EST":2657637,"POP_RANK":12,"POP_YEAR":2019,"GDP_MD":11968,"GDP_YEAR":2019,"ECONOMY":"6. Developing region","INCOME_GRP":"4. Lower middle income","FIPS_10":"MD","ISO_A2":"MD","ISO_A2_EH":"MD","ISO_A3":"MDA","ISO_A3_EH":"MDA","ISO_N3":"498","ISO_N3_EH":"498","UN_A3":"498","WB_A2":"MD","WB_A3":"MDA","WOE_ID":23424885,"WOE_ID_EH":23424885,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"MDA","ADM0_DIFF":null,"ADM0_TLC":"MDA","ADM0_A3_US":"MDA","ADM0_A3_FR":"MDA","ADM0_A3_RU":"MDA","ADM0_A3_ES":"MDA","ADM0_A3_CN":"MDA","ADM0_A3_TW":"MDA","ADM0_A3_IN":"MDA","ADM0_A3_NP":"MDA","ADM0_A3_PK":"MDA","ADM0_A3_DE":"MDA","ADM0_A3_GB":"MDA","ADM0_A3_BR":"MDA","ADM0_A3_IL":"MDA","ADM0_A3_PS":"MDA","ADM0_A3_SA":"MDA","ADM0_A3_EG":"MDA","ADM0_A3_MA":"MDA","ADM0_A3_PT":"MDA","ADM0_A3_AR":"MDA","ADM0_A3_JP":"MDA","ADM0_A3_KO":"MDA","ADM0_A3_VN":"MDA","ADM0_A3_TR":"MDA","ADM0_A3_ID":"MDA","ADM0_A3_PL":"MDA","ADM0_A3_GR":"MDA","ADM0_A3_IT":"MDA","ADM0_A3_NL":"MDA","ADM0_A3_SE":"MDA","ADM0_A3_BD":"MDA","ADM0_A3_UA":"MDA","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Europe","REGION_UN":"Europe","SUBREGION":"Eastern Europe","REGION_WB":"Europe & Central Asia","NAME_LEN":7,"LONG_LEN":7,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":5,"MAX_LABEL":10,"LABEL_X":28.487904,"LABEL_Y":47.434999,"NE_ID":1159321045,"WIKIDATAID":"Q217","NAME_AR":"مولدوفا","NAME_BN":"মলদোভা","NAME_DE":"Republik Moldau","NAME_EN":"Moldova","NAME_ES":"Moldavia","NAME_FA":"مولداوی","NAME_FR":"Moldavie","NAME_EL":"Μολδαβία","NAME_HE":"מולדובה","NAME_HI":"मॉल्डोवा","NAME_HU":"Moldova","NAME_ID":"Moldova","NAME_IT":"Moldavia","NAME_JA":"モルドバ","NAME_KO":"몰도바","NAME_NL":"Moldavië","NAME_PL":"Mołdawia","NAME_PT":"Moldávia","NAME_RU":"Молдавия","NAME_SV":"Moldavien","NAME_TR":"Moldova","NAME_UK":"Молдова","NAME_UR":"مالدووا","NAME_VI":"Moldova","NAME_ZH":"摩尔多瓦","NAME_ZHT":"摩爾多瓦","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[26.618945,45.450439,30.131055,48.477734],"geometry":{"type":"Polygon","coordinates":[[[26.618945,48.259863],[26.64043,48.294141],[26.84707,48.387158],[26.900586,48.371924],[27.008496,48.368262],[27.228516,48.371436],[27.336914,48.432715],[27.403809,48.415625],[27.458398,48.443066],[27.549219,48.477734],[27.562207,48.47041],[27.57373,48.464893],[27.714453,48.449512],[27.82002,48.41626],[27.890625,48.365234],[27.963379,48.333545],[28.038477,48.321289],[28.080078,48.295801],[28.088477,48.257031],[28.158789,48.237988],[28.291016,48.238574],[28.347168,48.213037],[28.326953,48.161426],[28.340527,48.144434],[28.3875,48.162109],[28.423047,48.146875],[28.441992,48.108691],[28.463086,48.090527],[28.530469,48.150293],[28.60166,48.144385],[28.773828,48.11958],[28.86582,47.995654],[28.923145,47.951123],[28.97334,47.933008],[29.036914,47.952344],[29.092969,47.975439],[29.125391,47.964551],[29.194824,47.882422],[29.211133,47.775],[29.210742,47.731543],[29.186035,47.658594],[29.150879,47.580859],[29.122949,47.530371],[29.134863,47.489697],[29.159766,47.455664],[29.200586,47.444482],[29.333789,47.375732],[29.383398,47.328027],[29.455664,47.292627],[29.510645,47.290723],[29.53916,47.270996],[29.549316,47.246826],[29.541797,47.185547],[29.510938,47.128027],[29.515039,47.091113],[29.563477,47.04751],[29.568652,46.996729],[29.571973,46.964014],[29.597754,46.938818],[29.719727,46.88291],[29.877832,46.828906],[29.918066,46.782422],[29.94248,46.723779],[29.934766,46.625],[29.924316,46.538867],[30.131055,46.423096],[30.10752,46.401562],[30.075684,46.377832],[29.878027,46.360205],[29.837891,46.350537],[29.751953,46.437793],[29.706836,46.44873],[29.664551,46.416748],[29.614941,46.398828],[29.555078,46.407764],[29.491016,46.434668],[29.458789,46.45376],[29.432813,46.455957],[29.392871,46.436914],[29.339551,46.445068],[29.304883,46.466602],[29.25459,46.392627],[29.223828,46.376953],[29.20459,46.379346],[29.200781,46.50498],[29.18623,46.523975],[29.146289,46.526904],[29.049902,46.497021],[28.958398,46.458496],[28.927441,46.424121],[28.930566,46.362256],[28.94375,46.288428],[29.00625,46.176465],[28.971875,46.127637],[28.947754,46.049951],[28.849512,45.978662],[28.73877,45.937158],[28.729297,45.852002],[28.667578,45.793848],[28.562305,45.735791],[28.491602,45.665771],[28.509473,45.617822],[28.51377,45.572412],[28.501758,45.541553],[28.499023,45.517725],[28.471387,45.507178],[28.310352,45.498584],[28.264844,45.483887],[28.2125,45.450439],[28.1625,45.51377],[28.111914,45.569141],[28.074707,45.598975],[28.090332,45.612744],[28.130859,45.628271],[28.159766,45.647119],[28.15625,45.713086],[28.134961,45.788867],[28.115527,45.825537],[28.113574,45.883057],[28.099707,45.972607],[28.119141,46.138672],[28.199609,46.347559],[28.244336,46.45127],[28.222656,46.508057],[28.239453,46.64082],[28.204688,46.706396],[28.15,46.79209],[28.071777,46.978418],[27.974219,47.043213],[27.853809,47.114502],[27.802344,47.168311],[27.767969,47.227588],[27.696191,47.286426],[27.614063,47.340527],[27.51582,47.475635],[27.464844,47.53667],[27.449219,47.553125],[27.336914,47.639746],[27.27793,47.717969],[27.248145,47.782227],[27.230859,47.841748],[27.152051,47.959277],[27.080371,48.047656],[27.012207,48.110498],[26.980762,48.155029],[26.900977,48.211133],[26.787305,48.255811],[26.71377,48.263477],[26.618945,48.259863]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":6,"LABELRANK":6,"SOVEREIGNT":"Monaco","SOV_A3":"MCO","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Monaco","ADM0_A3":"MCO","GEOU_DIF":0,"GEOUNIT":"Monaco","GU_A3":"MCO","SU_DIF":0,"SUBUNIT":"Monaco","SU_A3":"MCO","BRK_DIFF":0,"NAME":"Monaco","NAME_LONG":"Monaco","BRK_A3":"MCO","BRK_NAME":"Monaco","BRK_GROUP":null,"ABBREV":"Mco.","POSTAL":"MC","FORMAL_EN":"Principality of Monaco","FORMAL_FR":null,"NAME_CIAWF":"Monaco","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Monaco","NAME_ALT":null,"MAPCOLOR7":1,"MAPCOLOR8":1,"MAPCOLOR9":2,"MAPCOLOR13":12,"POP_EST":38964,"POP_RANK":7,"POP_YEAR":2019,"GDP_MD":7188,"GDP_YEAR":2018,"ECONOMY":"2. Developed region: nonG7","INCOME_GRP":"2. High income: nonOECD","FIPS_10":"MN","ISO_A2":"MC","ISO_A2_EH":"MC","ISO_A3":"MCO","ISO_A3_EH":"MCO","ISO_N3":"492","ISO_N3_EH":"492","UN_A3":"492","WB_A2":"MC","WB_A3":"MCO","WOE_ID":23424892,"WOE_ID_EH":23424892,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"MCO","ADM0_DIFF":null,"ADM0_TLC":"MCO","ADM0_A3_US":"MCO","ADM0_A3_FR":"MCO","ADM0_A3_RU":"MCO","ADM0_A3_ES":"MCO","ADM0_A3_CN":"MCO","ADM0_A3_TW":"MCO","ADM0_A3_IN":"MCO","ADM0_A3_NP":"MCO","ADM0_A3_PK":"MCO","ADM0_A3_DE":"MCO","ADM0_A3_GB":"MCO","ADM0_A3_BR":"MCO","ADM0_A3_IL":"MCO","ADM0_A3_PS":"MCO","ADM0_A3_SA":"MCO","ADM0_A3_EG":"MCO","ADM0_A3_MA":"MCO","ADM0_A3_PT":"MCO","ADM0_A3_AR":"MCO","ADM0_A3_JP":"MCO","ADM0_A3_KO":"MCO","ADM0_A3_VN":"MCO","ADM0_A3_TR":"MCO","ADM0_A3_ID":"MCO","ADM0_A3_PL":"MCO","ADM0_A3_GR":"MCO","ADM0_A3_IT":"MCO","ADM0_A3_NL":"MCO","ADM0_A3_SE":"MCO","ADM0_A3_BD":"MCO","ADM0_A3_UA":"MCO","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Europe","REGION_UN":"Europe","SUBREGION":"Western Europe","REGION_WB":"Europe & Central Asia","NAME_LEN":6,"LONG_LEN":6,"ABBREV_LEN":4,"TINY":5,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":5,"MAX_LABEL":10,"LABEL_X":7.398291,"LABEL_Y":43.739652,"NE_ID":1159321043,"WIKIDATAID":"Q235","NAME_AR":"موناكو","NAME_BN":"মোনাকো","NAME_DE":"Monaco","NAME_EN":"Monaco","NAME_ES":"Mónaco","NAME_FA":"موناکو","NAME_FR":"Monaco","NAME_EL":"Μονακό","NAME_HE":"מונקו","NAME_HI":"मोनैको","NAME_HU":"Monaco","NAME_ID":"Monako","NAME_IT":"Principato di Monaco","NAME_JA":"モナコ","NAME_KO":"모나코","NAME_NL":"Monaco","NAME_PL":"Monako","NAME_PT":"Mónaco","NAME_RU":"Монако","NAME_SV":"Monaco","NAME_TR":"Monako","NAME_UK":"Монако","NAME_UR":"موناکو","NAME_VI":"Monaco","NAME_ZH":"摩纳哥","NAME_ZHT":"摩納哥","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[7.377734,43.731738,7.438672,43.770898],"geometry":{"type":"Polygon","coordinates":[[[7.438672,43.750439],[7.377734,43.731738],[7.380078,43.753223],[7.39502,43.765332],[7.414453,43.770898],[7.436914,43.761475],[7.438672,43.750439]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":2,"SOVEREIGNT":"Mexico","SOV_A3":"MEX","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Mexico","ADM0_A3":"MEX","GEOU_DIF":0,"GEOUNIT":"Mexico","GU_A3":"MEX","SU_DIF":0,"SUBUNIT":"Mexico","SU_A3":"MEX","BRK_DIFF":0,"NAME":"Mexico","NAME_LONG":"Mexico","BRK_A3":"MEX","BRK_NAME":"Mexico","BRK_GROUP":null,"ABBREV":"Mex.","POSTAL":"MX","FORMAL_EN":"United Mexican States","FORMAL_FR":null,"NAME_CIAWF":"Mexico","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Mexico","NAME_ALT":null,"MAPCOLOR7":6,"MAPCOLOR8":1,"MAPCOLOR9":7,"MAPCOLOR13":3,"POP_EST":127575529,"POP_RANK":17,"POP_YEAR":2019,"GDP_MD":1268870,"GDP_YEAR":2019,"ECONOMY":"4. Emerging region: MIKT","INCOME_GRP":"3. Upper middle income","FIPS_10":"MX","ISO_A2":"MX","ISO_A2_EH":"MX","ISO_A3":"MEX","ISO_A3_EH":"MEX","ISO_N3":"484","ISO_N3_EH":"484","UN_A3":"484","WB_A2":"MX","WB_A3":"MEX","WOE_ID":23424900,"WOE_ID_EH":23424900,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"MEX","ADM0_DIFF":null,"ADM0_TLC":"MEX","ADM0_A3_US":"MEX","ADM0_A3_FR":"MEX","ADM0_A3_RU":"MEX","ADM0_A3_ES":"MEX","ADM0_A3_CN":"MEX","ADM0_A3_TW":"MEX","ADM0_A3_IN":"MEX","ADM0_A3_NP":"MEX","ADM0_A3_PK":"MEX","ADM0_A3_DE":"MEX","ADM0_A3_GB":"MEX","ADM0_A3_BR":"MEX","ADM0_A3_IL":"MEX","ADM0_A3_PS":"MEX","ADM0_A3_SA":"MEX","ADM0_A3_EG":"MEX","ADM0_A3_MA":"MEX","ADM0_A3_PT":"MEX","ADM0_A3_AR":"MEX","ADM0_A3_JP":"MEX","ADM0_A3_KO":"MEX","ADM0_A3_VN":"MEX","ADM0_A3_TR":"MEX","ADM0_A3_ID":"MEX","ADM0_A3_PL":"MEX","ADM0_A3_GR":"MEX","ADM0_A3_IT":"MEX","ADM0_A3_NL":"MEX","ADM0_A3_SE":"MEX","ADM0_A3_BD":"MEX","ADM0_A3_UA":"MEX","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"North America","REGION_UN":"Americas","SUBREGION":"Central America","REGION_WB":"Latin America & Caribbean","NAME_LEN":6,"LONG_LEN":6,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":2,"MAX_LABEL":6.7,"LABEL_X":-102.289448,"LABEL_Y":23.919988,"NE_ID":1159321055,"WIKIDATAID":"Q96","NAME_AR":"المكسيك","NAME_BN":"মেক্সিকো","NAME_DE":"Mexiko","NAME_EN":"Mexico","NAME_ES":"México","NAME_FA":"مکزیک","NAME_FR":"Mexique","NAME_EL":"Μεξικό","NAME_HE":"מקסיקו","NAME_HI":"मेक्सिको","NAME_HU":"Mexikó","NAME_ID":"Meksiko","NAME_IT":"Messico","NAME_JA":"メキシコ","NAME_KO":"멕시코","NAME_NL":"Mexico","NAME_PL":"Meksyk","NAME_PT":"México","NAME_RU":"Мексика","NAME_SV":"Mexiko","NAME_TR":"Meksika","NAME_UK":"Мексика","NAME_UR":"میکسیکو","NAME_VI":"México","NAME_ZH":"墨西哥","NAME_ZHT":"墨西哥","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[-118.401367,14.54541,-86.696289,32.715332],"geometry":{"type":"MultiPolygon","coordinates":[[[[-117.128271,32.53335],[-116.84209,32.554785],[-116.555957,32.576221],[-116.269824,32.597607],[-115.983691,32.619043],[-115.69751,32.640479],[-115.411377,32.661865],[-115.125195,32.683301],[-114.839062,32.704736],[-114.724756,32.715332],[-114.787988,32.564795],[-114.835938,32.508301],[-114.361719,32.360303],[-113.887451,32.212305],[-113.413184,32.064307],[-112.938965,31.91626],[-112.464746,31.768262],[-111.990479,31.620215],[-111.516211,31.472266],[-111.041992,31.324219],[-110.688525,31.324854],[-110.335107,31.325537],[-109.981641,31.326172],[-109.628223,31.326807],[-109.274756,31.327441],[-108.921338,31.328125],[-108.567871,31.328809],[-108.214453,31.329443],[-108.213818,31.441895],[-108.213184,31.554395],[-108.2125,31.666846],[-108.211816,31.779346],[-107.992041,31.778174],[-107.772217,31.777051],[-107.552344,31.775879],[-107.33252,31.774756],[-107.112695,31.773633],[-106.892871,31.772461],[-106.673047,31.771338],[-106.453223,31.770166],[-106.44541,31.768408],[-106.436035,31.764453],[-106.346973,31.679004],[-106.255713,31.544678],[-106.148047,31.450928],[-106.024072,31.397754],[-105.812695,31.241016],[-105.514014,30.980762],[-105.27583,30.807275],[-105.098145,30.720557],[-104.978809,30.645947],[-104.917871,30.58335],[-104.835889,30.447656],[-104.681348,30.134375],[-104.681348,29.990527],[-104.622217,29.854297],[-104.504004,29.677686],[-104.400635,29.57373],[-104.312207,29.542432],[-104.215527,29.479883],[-104.110596,29.386133],[-103.989746,29.323145],[-103.85293,29.291064],[-103.663965,29.206885],[-103.422949,29.070703],[-103.257715,29.001123],[-103.168311,28.998193],[-103.08999,29.041895],[-103.022852,29.132227],[-102.956836,29.190381],[-102.891992,29.216406],[-102.865674,29.258008],[-102.877832,29.315332],[-102.833984,29.443945],[-102.73418,29.643945],[-102.614941,29.752344],[-102.47627,29.769092],[-102.385645,29.806641],[-102.343066,29.86499],[-102.268945,29.871191],[-102.163086,29.825244],[-101.990918,29.795703],[-101.752344,29.782471],[-101.611621,29.786963],[-101.568701,29.809229],[-101.546387,29.808057],[-101.544629,29.783545],[-101.509277,29.773145],[-101.440381,29.776855],[-101.380371,29.742578],[-101.303516,29.634082],[-101.038965,29.4604],[-101.038623,29.460303],[-101.016309,29.400684],[-100.924121,29.314697],[-100.75459,29.18252],[-100.658643,29.068555],[-100.636328,28.972803],[-100.549707,28.821338],[-100.398926,28.614209],[-100.331738,28.502539],[-100.348145,28.486426],[-100.336279,28.428125],[-100.296045,28.327686],[-100.221289,28.242627],[-100.111963,28.172949],[-100.001416,28.047852],[-99.889648,27.867285],[-99.754248,27.729932],[-99.595312,27.635889],[-99.505322,27.54834],[-99.484277,27.467383],[-99.48584,27.398047],[-99.510059,27.340332],[-99.499805,27.285498],[-99.455127,27.233691],[-99.440234,27.170117],[-99.457715,27.081689],[-99.456543,27.056689],[-99.456494,27.056641],[-99.443555,27.03667],[-99.302441,26.884717],[-99.229932,26.761914],[-99.172363,26.565918],[-99.17207,26.56416],[-99.107764,26.446924],[-99.015283,26.398975],[-98.873193,26.38125],[-98.765234,26.34043],[-98.691406,26.276465],[-98.598291,26.237842],[-98.485889,26.224561],[-98.378125,26.182373],[-98.275049,26.111182],[-98.082812,26.064453],[-97.801416,26.042041],[-97.587256,25.98418],[-97.440283,25.89082],[-97.375635,25.871826],[-97.358154,25.870508],[-97.349756,25.884766],[-97.338672,25.911182],[-97.281787,25.941602],[-97.14624,25.961475],[-97.164453,25.754932],[-97.224902,25.585449],[-97.424072,25.233105],[-97.50708,25.014551],[-97.667676,24.38999],[-97.717041,23.980615],[-97.728613,23.787939],[-97.742676,23.760645],[-97.727393,23.732227],[-97.765869,23.306152],[-97.745215,22.942383],[-97.75835,22.886035],[-97.816699,22.776318],[-97.857812,22.624512],[-97.841602,22.55708],[-97.84248,22.510303],[-97.782373,22.279297],[-97.763281,22.105859],[-97.584766,21.808545],[-97.484521,21.704834],[-97.360156,21.614941],[-97.314502,21.564209],[-97.336865,21.437891],[-97.387549,21.373926],[-97.40918,21.272559],[-97.434131,21.356494],[-97.424414,21.465332],[-97.384814,21.523828],[-97.383447,21.566699],[-97.456592,21.612402],[-97.590381,21.762012],[-97.753809,22.02666],[-97.637549,21.603662],[-97.597607,21.535889],[-97.566553,21.507715],[-97.514551,21.477979],[-97.501074,21.432031],[-97.500586,21.398047],[-97.357129,21.104004],[-97.194971,20.800098],[-97.186328,20.717041],[-97.121436,20.61499],[-96.708691,20.188281],[-96.456055,19.869775],[-96.368359,19.567236],[-96.315332,19.472852],[-96.289551,19.34375],[-96.123975,19.199072],[-96.073389,19.105664],[-95.984668,19.05376],[-95.913037,18.897168],[-95.778125,18.805518],[-95.810352,18.803857],[-95.928223,18.850098],[-95.920361,18.81958],[-95.821094,18.754639],[-95.626807,18.690576],[-95.57832,18.69043],[-95.654932,18.723682],[-95.719824,18.768359],[-95.697119,18.774902],[-95.561426,18.719141],[-95.181836,18.700732],[-95.014697,18.570605],[-94.798145,18.5146],[-94.681641,18.348486],[-94.546191,18.174854],[-94.459766,18.16665],[-94.392285,18.165967],[-94.189014,18.195264],[-93.873145,18.304443],[-93.764404,18.35791],[-93.552344,18.430469],[-93.22793,18.443799],[-93.127344,18.423437],[-92.884766,18.468652],[-92.769092,18.524121],[-92.728955,18.574512],[-92.710107,18.61167],[-92.485303,18.664795],[-92.441016,18.675293],[-92.213184,18.684863],[-92.103223,18.704395],[-91.973779,18.715869],[-91.880371,18.637793],[-91.880469,18.599658],[-91.942676,18.563428],[-91.913574,18.528516],[-91.802979,18.470605],[-91.599707,18.447168],[-91.533984,18.456543],[-91.440479,18.541846],[-91.275244,18.624463],[-91.27876,18.720654],[-91.308301,18.773291],[-91.356299,18.776562],[-91.367773,18.806104],[-91.334229,18.876807],[-91.343066,18.900586],[-91.445557,18.832813],[-91.469189,18.833008],[-91.457861,18.864648],[-91.43667,18.889795],[-91.135937,19.0375],[-91.058936,19.098193],[-90.955029,19.15166],[-90.739258,19.352246],[-90.693164,19.729883],[-90.650098,19.795947],[-90.50708,19.911865],[-90.491699,19.946777],[-90.482422,20.025732],[-90.486377,20.224023],[-90.47832,20.37998],[-90.484131,20.556348],[-90.458447,20.713721],[-90.435156,20.75752],[-90.353125,21.009424],[-90.18291,21.120898],[-89.887646,21.252637],[-89.819775,21.274609],[-88.878711,21.414111],[-88.74668,21.448145],[-88.584912,21.538672],[-88.466699,21.569385],[-88.251025,21.566895],[-88.184766,21.578955],[-88.171729,21.591455],[-88.171387,21.603516],[-88.131641,21.615869],[-88.006836,21.604053],[-87.77373,21.549512],[-87.688818,21.53584],[-87.480469,21.472461],[-87.250879,21.446973],[-87.21792,21.458008],[-87.187598,21.477295],[-87.164307,21.514209],[-87.188281,21.546436],[-87.210596,21.543945],[-87.249463,21.526611],[-87.295752,21.524951],[-87.38667,21.551465],[-87.368506,21.57373],[-87.275732,21.571631],[-87.216455,21.582422],[-87.128467,21.621484],[-87.034766,21.592236],[-86.911719,21.462842],[-86.824072,21.42168],[-86.81709,21.234229],[-86.803857,21.200049],[-86.771777,21.150537],[-86.815527,21.005225],[-86.864697,20.885059],[-86.926221,20.786475],[-87.05957,20.63125],[-87.22124,20.507275],[-87.421387,20.231396],[-87.467187,20.102148],[-87.46582,19.998535],[-87.431934,19.898486],[-87.441748,19.861523],[-87.466211,19.82417],[-87.506885,19.82749],[-87.585791,19.779492],[-87.687695,19.637109],[-87.690088,19.593701],[-87.645312,19.553906],[-87.587305,19.572998],[-87.51167,19.574707],[-87.469385,19.586475],[-87.424756,19.58335],[-87.434717,19.501709],[-87.482666,19.44375],[-87.512891,19.425586],[-87.566992,19.415723],[-87.627539,19.382715],[-87.658691,19.352344],[-87.655762,19.257861],[-87.62207,19.250488],[-87.550781,19.320947],[-87.509473,19.31748],[-87.501074,19.287793],[-87.593555,19.046387],[-87.653027,18.798535],[-87.733545,18.655029],[-87.761816,18.446143],[-87.804102,18.35708],[-87.853223,18.268994],[-87.881982,18.273877],[-87.959668,18.440869],[-88.039062,18.483887],[-88.056445,18.524463],[-88.011133,18.726855],[-88.031738,18.838916],[-88.073779,18.834473],[-88.126758,18.773047],[-88.196777,18.719678],[-88.195312,18.642627],[-88.275732,18.514551],[-88.295654,18.472412],[-88.372412,18.482324],[-88.461279,18.476758],[-88.522998,18.445898],[-88.586182,18.290527],[-88.743604,18.071631],[-88.806348,17.965527],[-88.857373,17.928809],[-88.897803,17.914551],[-88.942627,17.939648],[-89.050439,17.999707],[-89.133545,17.970801],[-89.162354,17.901953],[-89.161475,17.814844],[-89.371533,17.81499],[-89.728809,17.815332],[-90.183594,17.815723],[-90.622021,17.816113],[-90.98916,17.816406],[-90.99043,17.620752],[-90.991602,17.447461],[-90.992969,17.252441],[-91.195508,17.254102],[-91.409619,17.255859],[-91.392334,17.236426],[-91.319189,17.199805],[-91.22417,17.112256],[-91.111865,16.976172],[-90.97583,16.867822],[-90.816016,16.787109],[-90.710693,16.708105],[-90.659961,16.630908],[-90.634375,16.565137],[-90.634082,16.510742],[-90.575781,16.467822],[-90.471094,16.439551],[-90.416992,16.391016],[-90.416992,16.351318],[-90.450146,16.261377],[-90.459863,16.162354],[-90.447168,16.072705],[-90.521973,16.071191],[-90.703223,16.071045],[-90.97959,16.070801],[-91.233789,16.070654],[-91.433984,16.070459],[-91.736572,16.070166],[-91.819434,15.932373],[-91.957227,15.703223],[-92.082129,15.495557],[-92.187158,15.320898],[-92.204248,15.275],[-92.204346,15.237695],[-92.074805,15.074219],[-92.09873,15.026758],[-92.144238,15.001953],[-92.158545,14.963574],[-92.155664,14.901318],[-92.186377,14.818359],[-92.176465,14.761328],[-92.159912,14.691016],[-92.187061,14.630078],[-92.209033,14.570996],[-92.235156,14.54541],[-92.264551,14.567773],[-92.530957,14.839648],[-92.808936,15.138574],[-92.918408,15.236133],[-93.024414,15.310254],[-93.166895,15.448047],[-93.541162,15.750391],[-93.734375,15.888477],[-93.916064,16.053564],[-94.078955,16.145264],[-94.239893,16.205078],[-94.311279,16.239355],[-94.37417,16.284766],[-94.409033,16.287354],[-94.426416,16.22627],[-94.370166,16.19541],[-94.302832,16.169336],[-94.249512,16.167529],[-94.193408,16.145605],[-94.02832,16.062061],[-94.00127,16.018945],[-94.470752,16.186572],[-94.661523,16.201904],[-94.682275,16.228223],[-94.587109,16.31582],[-94.616846,16.347559],[-94.650781,16.351807],[-94.752832,16.291211],[-94.79082,16.287158],[-94.797461,16.327051],[-94.79292,16.3646],[-94.858691,16.419727],[-94.900439,16.41748],[-94.934717,16.379102],[-95.023535,16.30625],[-95.02085,16.277637],[-94.846045,16.246582],[-94.785791,16.229102],[-94.799414,16.209668],[-94.949316,16.21001],[-95.134375,16.176953],[-95.464404,15.974707],[-95.771777,15.887793],[-96.213574,15.693066],[-96.408643,15.683105],[-96.51084,15.651904],[-96.807959,15.726416],[-97.184668,15.909277],[-97.754785,15.966846],[-98.138965,16.206299],[-98.520312,16.304834],[-98.762207,16.534766],[-98.907959,16.54458],[-99.00166,16.581445],[-99.348047,16.664746],[-99.690674,16.719629],[-100.024512,16.920508],[-100.243018,16.98418],[-100.431885,17.064062],[-100.847803,17.200488],[-101.001953,17.276123],[-101.147852,17.393115],[-101.385498,17.514209],[-101.487061,17.615332],[-101.600293,17.651562],[-101.762402,17.841992],[-101.84707,17.922266],[-101.918701,17.959766],[-101.995508,17.972705],[-102.216602,17.957422],[-102.546973,18.041406],[-102.699561,18.062842],[-103.018506,18.186865],[-103.441602,18.325391],[-103.580273,18.484375],[-103.698926,18.632959],[-103.912451,18.828467],[-104.045654,18.911816],[-104.277002,19.010986],[-104.405176,19.091211],[-104.602979,19.152881],[-104.938477,19.309375],[-105.045215,19.443262],[-105.107666,19.562207],[-105.286377,19.706494],[-105.48208,19.976074],[-105.532422,20.075391],[-105.57041,20.227832],[-105.615918,20.316309],[-105.669434,20.385596],[-105.642139,20.435986],[-105.542578,20.497949],[-105.377051,20.511865],[-105.260156,20.579053],[-105.244678,20.63418],[-105.252295,20.668506],[-105.327051,20.752979],[-105.420117,20.775391],[-105.492383,20.776611],[-105.51084,20.80874],[-105.456348,20.843799],[-105.393994,20.926123],[-105.301953,21.026562],[-105.237061,21.119189],[-105.225,21.249707],[-105.233252,21.38042],[-105.208691,21.49082],[-105.431445,21.618262],[-105.457422,21.672461],[-105.527441,21.818457],[-105.649121,21.988086],[-105.645508,22.326904],[-105.791797,22.62749],[-105.943359,22.777002],[-106.021729,22.829053],[-106.23457,23.060937],[-106.402246,23.195605],[-106.566504,23.449463],[-106.72876,23.610693],[-106.935498,23.88125],[-107.084863,24.016113],[-107.764941,24.471924],[-107.726611,24.471924],[-107.527246,24.360059],[-107.493701,24.369385],[-107.488916,24.423975],[-107.511914,24.48916],[-107.548877,24.504785],[-107.602002,24.490137],[-107.673682,24.503564],[-107.709521,24.525049],[-107.816699,24.539014],[-107.951172,24.614893],[-108.008789,24.693555],[-108.015088,24.783398],[-108.207666,24.974805],[-108.280762,25.081543],[-108.243311,25.073682],[-108.192041,25.030664],[-108.140088,25.018408],[-108.079639,25.018066],[-108.035693,25.035352],[-108.051465,25.067041],[-108.092822,25.093506],[-108.373682,25.194336],[-108.46626,25.265137],[-108.696387,25.38291],[-108.750977,25.424219],[-108.787256,25.538037],[-108.843604,25.543311],[-108.893164,25.511572],[-109.028809,25.480469],[-109.063477,25.516699],[-109.068457,25.551563],[-108.972754,25.588477],[-108.884863,25.696045],[-108.886572,25.733447],[-108.935156,25.690283],[-109.00835,25.641992],[-109.084082,25.615039],[-109.196484,25.592529],[-109.253955,25.608789],[-109.304297,25.633154],[-109.384961,25.727148],[-109.425635,26.032568],[-109.35415,26.138477],[-109.270654,26.243115],[-109.199707,26.305225],[-109.158789,26.25835],[-109.116699,26.252734],[-109.146338,26.305713],[-109.216016,26.355273],[-109.240625,26.404687],[-109.243262,26.449951],[-109.27627,26.533887],[-109.482861,26.710352],[-109.676074,26.696826],[-109.754785,26.70293],[-109.828369,26.770117],[-109.890918,26.883398],[-109.921729,26.978174],[-109.925635,27.028662],[-109.943994,27.079346],[-110.277148,27.162207],[-110.377295,27.233301],[-110.477783,27.322656],[-110.519385,27.395605],[-110.560645,27.450146],[-110.592676,27.544336],[-110.615479,27.653906],[-110.578271,27.795654],[-110.529883,27.864209],[-110.759033,27.915186],[-110.848633,27.917578],[-110.920801,27.888867],[-110.986084,27.925977],[-111.121387,27.966992],[-111.282422,28.115234],[-111.47168,28.383984],[-111.680078,28.470557],[-111.747217,28.563965],[-111.832422,28.648145],[-111.907031,28.75249],[-111.918604,28.7979],[-111.94082,28.823193],[-112.044873,28.895898],[-112.161768,29.018896],[-112.192041,29.117969],[-112.223486,29.269482],[-112.301416,29.3229],[-112.378223,29.347705],[-112.393213,29.419727],[-112.388672,29.460107],[-112.414551,29.536426],[-112.5729,29.719531],[-112.653125,29.870068],[-112.697168,29.916846],[-112.738379,29.985449],[-112.759229,30.125684],[-112.824805,30.300146],[-112.951758,30.51001],[-113.057666,30.651025],[-113.110449,30.793311],[-113.087012,30.938086],[-113.10498,31.027197],[-113.118604,31.048096],[-113.107959,31.077295],[-113.072803,31.060889],[-113.04292,31.087012],[-113.046729,31.179248],[-113.083643,31.207178],[-113.186182,31.236035],[-113.231445,31.255957],[-113.480811,31.293604],[-113.623486,31.345898],[-113.633008,31.467627],[-113.699951,31.52334],[-113.759424,31.557764],[-113.947754,31.629346],[-113.97749,31.592725],[-114.002686,31.525146],[-114.080908,31.510352],[-114.149316,31.507373],[-114.264062,31.554443],[-114.548682,31.733545],[-114.608789,31.762256],[-114.697607,31.777441],[-114.741309,31.806494],[-114.933594,31.900732],[-114.895068,31.850635],[-114.839502,31.798535],[-114.789893,31.647119],[-114.848145,31.537939],[-114.881885,31.156396],[-114.844678,31.080469],[-114.761035,30.95874],[-114.703369,30.765186],[-114.685449,30.621191],[-114.633301,30.506885],[-114.649756,30.238135],[-114.629932,30.156299],[-114.550488,30.022266],[-114.403418,29.896484],[-114.372607,29.830225],[-114.179199,29.734326],[-114.061914,29.609521],[-113.828955,29.439453],[-113.755469,29.36748],[-113.545312,29.102246],[-113.538477,29.023389],[-113.499707,28.926709],[-113.381836,28.94668],[-113.328906,28.873047],[-113.33501,28.839062],[-113.320703,28.813135],[-113.258887,28.818848],[-113.205566,28.798779],[-113.093652,28.511768],[-113.033594,28.472607],[-112.956641,28.455859],[-112.87085,28.424219],[-112.865234,28.350635],[-112.868457,28.291992],[-112.795703,28.207129],[-112.808057,28.092187],[-112.749316,27.994873],[-112.758203,27.900635],[-112.734033,27.825977],[-112.552637,27.657471],[-112.329199,27.523438],[-112.282617,27.347461],[-112.191455,27.18667],[-112.098145,27.145947],[-112.003955,27.079102],[-112.015576,27.009717],[-112.009082,26.96709],[-111.883154,26.840186],[-111.862646,26.678516],[-111.754004,26.572705],[-111.723389,26.564404],[-111.699414,26.580957],[-111.778516,26.687256],[-111.816846,26.75625],[-111.821777,26.865088],[-111.795264,26.879687],[-111.569678,26.707617],[-111.545898,26.579199],[-111.470166,26.506641],[-111.464502,26.408447],[-111.418506,26.349951],[-111.40459,26.265039],[-111.332129,26.125439],[-111.330371,25.931348],[-111.291602,25.789795],[-111.149561,25.572607],[-111.034424,25.526953],[-111.013623,25.420312],[-110.893945,25.144238],[-110.755664,24.99458],[-110.686768,24.867676],[-110.677246,24.788525],[-110.729004,24.671533],[-110.734521,24.589844],[-110.659326,24.341455],[-110.546973,24.21416],[-110.421484,24.183398],[-110.399658,24.165137],[-110.409619,24.130957],[-110.367432,24.100488],[-110.319971,24.139453],[-110.296826,24.194873],[-110.320898,24.25918],[-110.325098,24.305957],[-110.30376,24.339453],[-110.262891,24.344531],[-110.022803,24.174609],[-109.98252,24.109375],[-109.893164,24.033008],[-109.811328,23.939014],[-109.775977,23.864893],[-109.710547,23.803809],[-109.676563,23.661572],[-109.509619,23.5979],[-109.42085,23.480127],[-109.41499,23.405566],[-109.458057,23.214746],[-109.495703,23.159814],[-109.630469,23.078662],[-109.728418,22.981836],[-109.823047,22.922168],[-109.923437,22.885889],[-110.00625,22.894043],[-110.086035,23.005469],[-110.180615,23.341504],[-110.244092,23.412256],[-110.28877,23.517676],[-110.362695,23.604932],[-110.62998,23.737305],[-110.764893,23.877002],[-110.895557,23.970264],[-111.036182,24.105273],[-111.419336,24.329004],[-111.578223,24.443018],[-111.68291,24.555811],[-111.750391,24.55415],[-111.80249,24.542529],[-111.822266,24.573389],[-111.825195,24.631787],[-111.848242,24.670068],[-112.072559,24.840039],[-112.119043,24.934033],[-112.128516,25.043115],[-112.077979,25.323975],[-112.055762,25.488232],[-112.069873,25.572852],[-112.093359,25.584375],[-112.1146,25.630371],[-112.119775,25.765527],[-112.173828,25.912598],[-112.377246,26.213916],[-112.526074,26.273486],[-112.658398,26.316748],[-113.020752,26.583252],[-113.119238,26.716504],[-113.143213,26.792187],[-113.155811,26.94624],[-113.205762,26.856982],[-113.272266,26.790967],[-113.425879,26.795801],[-113.598535,26.721289],[-113.70127,26.791357],[-113.756641,26.87085],[-113.840967,26.966504],[-113.935937,26.985254],[-113.996484,26.987695],[-114.110059,27.105957],[-114.201855,27.143506],[-114.333398,27.158008],[-114.445264,27.218164],[-114.479687,27.283594],[-114.498291,27.376221],[-114.539893,27.431104],[-114.715625,27.539551],[-114.85874,27.65918],[-114.993506,27.736035],[-115.033203,27.798877],[-115.036475,27.841846],[-114.823535,27.829932],[-114.57002,27.783936],[-114.448486,27.796875],[-114.372705,27.841211],[-114.300586,27.872998],[-114.289062,27.838574],[-114.302246,27.775732],[-114.232666,27.718115],[-114.137207,27.671436],[-114.069336,27.675684],[-114.135059,27.726611],[-114.175391,27.830566],[-114.157324,27.867969],[-114.158398,27.919678],[-114.252637,27.908008],[-114.265869,27.934473],[-114.185254,28.013281],[-114.092725,28.221338],[-114.048486,28.426172],[-114.145508,28.60542],[-114.309229,28.729932],[-114.664014,29.09458],[-114.875928,29.281885],[-114.937305,29.351611],[-114.993506,29.384424],[-115.166357,29.427246],[-115.311182,29.531934],[-115.565283,29.680029],[-115.673828,29.756396],[-115.748682,29.935742],[-115.808301,29.960205],[-115.789551,30.08418],[-115.815625,30.303613],[-115.858203,30.359814],[-115.995801,30.414453],[-116.028564,30.563574],[-116.035352,30.705469],[-116.062158,30.80415],[-116.296289,30.970508],[-116.309619,31.050977],[-116.309668,31.127344],[-116.333447,31.202783],[-116.458496,31.360986],[-116.60957,31.499072],[-116.662158,31.564893],[-116.668457,31.698633],[-116.72207,31.73457],[-116.701709,31.743652],[-116.6521,31.740332],[-116.623877,31.758008],[-116.620801,31.851074],[-116.847998,31.997363],[-116.913672,32.198535],[-117.034766,32.305029],[-117.063135,32.343604],[-117.128271,32.53335]]],[[[-86.939648,20.30332],[-86.991406,20.272168],[-87.019434,20.382324],[-86.977979,20.489795],[-86.927832,20.551514],[-86.828564,20.558789],[-86.763281,20.579053],[-86.755029,20.551758],[-86.808789,20.468457],[-86.939648,20.30332]]],[[[-106.502246,21.61084],[-106.531348,21.528516],[-106.607031,21.561475],[-106.63418,21.613135],[-106.639355,21.697852],[-106.597363,21.712158],[-106.536426,21.676367],[-106.523828,21.652344],[-106.502246,21.61084]]],[[[-110.914453,18.741455],[-110.974805,18.720361],[-111.063672,18.781641],[-111.039941,18.830127],[-110.989404,18.863135],[-110.94209,18.801709],[-110.914453,18.741455]]],[[[-110.567383,25.003467],[-110.538867,24.891553],[-110.590186,24.908057],[-110.657422,24.968848],[-110.703418,25.046631],[-110.699268,25.081445],[-110.690234,25.087842],[-110.595215,25.042139],[-110.567383,25.003467]]],[[[-113.155615,29.052246],[-113.162793,29.034766],[-113.264746,29.096729],[-113.496338,29.307617],[-113.580615,29.413232],[-113.594385,29.462695],[-113.587207,29.573047],[-113.507959,29.559912],[-113.415918,29.485937],[-113.37583,29.41748],[-113.373828,29.338916],[-113.202148,29.301855],[-113.17793,29.131934],[-113.155615,29.052246]]],[[[-115.170605,28.069385],[-115.184277,28.037256],[-115.35293,28.103955],[-115.2604,28.220557],[-115.273975,28.342773],[-115.233545,28.368359],[-115.196973,28.327881],[-115.148535,28.172119],[-115.170605,28.069385]]],[[[-112.203076,29.005322],[-112.278418,28.769336],[-112.355273,28.773145],[-112.514062,28.847607],[-112.531006,28.893994],[-112.469824,29.167725],[-112.423535,29.203662],[-112.285059,29.24043],[-112.263428,29.206787],[-112.24873,29.125977],[-112.203076,29.005322]]],[[[-118.242773,28.941943],[-118.285498,28.90376],[-118.400098,29.112305],[-118.401367,29.162744],[-118.367822,29.187598],[-118.312305,29.182861],[-118.312061,29.130518],[-118.265527,29.086426],[-118.247363,29.043359],[-118.242773,28.941943]]],[[[-86.714014,21.239307],[-86.696289,21.191016],[-86.713623,21.196777],[-86.736377,21.233301],[-86.752881,21.278809],[-86.739062,21.27998],[-86.726904,21.264307],[-86.714014,21.239307]]],[[[-91.683691,18.677344],[-91.796143,18.654199],[-91.816113,18.675879],[-91.589111,18.778027],[-91.550293,18.773682],[-91.536719,18.76001],[-91.654248,18.711475],[-91.683691,18.677344]]],[[[-109.805078,24.151074],[-109.826758,24.147559],[-109.87793,24.200635],[-109.900488,24.330908],[-109.890332,24.344824],[-109.793799,24.183398],[-109.795605,24.163574],[-109.805078,24.151074]]],[[[-114.694141,31.705615],[-114.727246,31.701367],[-114.789209,31.747412],[-114.78457,31.789795],[-114.771094,31.794092],[-114.709082,31.756885],[-114.687939,31.724219],[-114.694141,31.705615]]],[[[-111.100293,26.020605],[-111.087744,25.984521],[-111.094434,25.974072],[-111.135254,25.99917],[-111.204492,25.849707],[-111.224658,25.835889],[-111.18291,26.040625],[-111.139258,26.069824],[-111.090869,26.075684],[-111.100293,26.020605]]],[[[-111.698877,24.393604],[-111.712305,24.346387],[-112.013281,24.533398],[-111.940869,24.551123],[-111.856836,24.537988],[-111.698877,24.393604]]],[[[-112.057275,24.545703],[-112.077344,24.53457],[-112.162891,24.650293],[-112.175488,24.72959],[-112.210498,24.763135],[-112.296777,24.789648],[-112.222314,24.951123],[-112.159424,25.285645],[-112.131689,25.224365],[-112.198389,24.885449],[-112.19502,24.841064],[-112.16377,24.799658],[-112.130225,24.72959],[-112.12627,24.654004],[-112.06748,24.583643],[-112.057275,24.545703]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":5,"SOVEREIGNT":"Mauritius","SOV_A3":"MUS","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Mauritius","ADM0_A3":"MUS","GEOU_DIF":0,"GEOUNIT":"Mauritius","GU_A3":"MUS","SU_DIF":0,"SUBUNIT":"Mauritius","SU_A3":"MUS","BRK_DIFF":0,"NAME":"Mauritius","NAME_LONG":"Mauritius","BRK_A3":"MUS","BRK_NAME":"Mauritius","BRK_GROUP":null,"ABBREV":"Mus.","POSTAL":"MU","FORMAL_EN":"Republic of Mauritius","FORMAL_FR":null,"NAME_CIAWF":"Mauritius","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Mauritius","NAME_ALT":null,"MAPCOLOR7":1,"MAPCOLOR8":3,"MAPCOLOR9":5,"MAPCOLOR13":7,"POP_EST":1265711,"POP_RANK":12,"POP_YEAR":2019,"GDP_MD":14048,"GDP_YEAR":2019,"ECONOMY":"6. Developing region","INCOME_GRP":"3. Upper middle income","FIPS_10":"MP","ISO_A2":"MU","ISO_A2_EH":"MU","ISO_A3":"MUS","ISO_A3_EH":"MUS","ISO_N3":"480","ISO_N3_EH":"480","UN_A3":"480","WB_A2":"MU","WB_A3":"MUS","WOE_ID":23424894,"WOE_ID_EH":23424894,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"MUS","ADM0_DIFF":null,"ADM0_TLC":"MUS","ADM0_A3_US":"MUS","ADM0_A3_FR":"MUS","ADM0_A3_RU":"MUS","ADM0_A3_ES":"MUS","ADM0_A3_CN":"MUS","ADM0_A3_TW":"MUS","ADM0_A3_IN":"MUS","ADM0_A3_NP":"MUS","ADM0_A3_PK":"MUS","ADM0_A3_DE":"MUS","ADM0_A3_GB":"MUS","ADM0_A3_BR":"MUS","ADM0_A3_IL":"MUS","ADM0_A3_PS":"MUS","ADM0_A3_SA":"MUS","ADM0_A3_EG":"MUS","ADM0_A3_MA":"MUS","ADM0_A3_PT":"MUS","ADM0_A3_AR":"MUS","ADM0_A3_JP":"MUS","ADM0_A3_KO":"MUS","ADM0_A3_VN":"MUS","ADM0_A3_TR":"MUS","ADM0_A3_ID":"MUS","ADM0_A3_PL":"MUS","ADM0_A3_GR":"MUS","ADM0_A3_IT":"MUS","ADM0_A3_NL":"MUS","ADM0_A3_SE":"MUS","ADM0_A3_BD":"MUS","ADM0_A3_UA":"MUS","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Seven seas (open ocean)","REGION_UN":"Africa","SUBREGION":"Eastern Africa","REGION_WB":"Sub-Saharan Africa","NAME_LEN":9,"LONG_LEN":9,"ABBREV_LEN":4,"TINY":2,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":4,"MAX_LABEL":9,"LABEL_X":57.565848,"LABEL_Y":-20.299506,"NE_ID":1159321079,"WIKIDATAID":"Q1027","NAME_AR":"موريشيوس","NAME_BN":"মরিশাস","NAME_DE":"Mauritius","NAME_EN":"Mauritius","NAME_ES":"Mauricio","NAME_FA":"موریس","NAME_FR":"Maurice","NAME_EL":"Μαυρίκιος","NAME_HE":"מאוריציוס","NAME_HI":"मॉरिशस","NAME_HU":"Mauritius","NAME_ID":"Mauritius","NAME_IT":"Mauritius","NAME_JA":"モーリシャス","NAME_KO":"모리셔스","NAME_NL":"Mauritius","NAME_PL":"Mauritius","NAME_PT":"Maurícia","NAME_RU":"Маврикий","NAME_SV":"Mauritius","NAME_TR":"Mauritius","NAME_UK":"Маврикій","NAME_UR":"موریشس","NAME_VI":"Mauritius","NAME_ZH":"毛里求斯","NAME_ZHT":"模里西斯","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[57.317676,-20.513184,57.791992,-19.989941],"geometry":{"type":"Polygon","coordinates":[[[57.65127,-20.484863],[57.524805,-20.513184],[57.383301,-20.503711],[57.32832,-20.45],[57.317676,-20.427637],[57.365137,-20.406445],[57.362109,-20.337598],[57.385742,-20.228613],[57.416016,-20.183789],[57.486426,-20.143945],[57.515039,-20.055957],[57.575781,-19.997168],[57.656543,-19.989941],[57.737207,-20.098438],[57.791992,-20.212598],[57.780664,-20.326953],[57.725,-20.368848],[57.706641,-20.434863],[57.65127,-20.484863]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":5,"LABELRANK":3,"SOVEREIGNT":"Mauritania","SOV_A3":"MRT","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Mauritania","ADM0_A3":"MRT","GEOU_DIF":0,"GEOUNIT":"Mauritania","GU_A3":"MRT","SU_DIF":0,"SUBUNIT":"Mauritania","SU_A3":"MRT","BRK_DIFF":0,"NAME":"Mauritania","NAME_LONG":"Mauritania","BRK_A3":"MRT","BRK_NAME":"Mauritania","BRK_GROUP":null,"ABBREV":"Mrt.","POSTAL":"MR","FORMAL_EN":"Islamic Republic of Mauritania","FORMAL_FR":null,"NAME_CIAWF":"Mauritania","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Mauritania","NAME_ALT":null,"MAPCOLOR7":3,"MAPCOLOR8":3,"MAPCOLOR9":2,"MAPCOLOR13":1,"POP_EST":4525696,"POP_RANK":12,"POP_YEAR":2019,"GDP_MD":7600,"GDP_YEAR":2019,"ECONOMY":"7. Least developed region","INCOME_GRP":"5. Low income","FIPS_10":"MR","ISO_A2":"MR","ISO_A2_EH":"MR","ISO_A3":"MRT","ISO_A3_EH":"MRT","ISO_N3":"478","ISO_N3_EH":"478","UN_A3":"478","WB_A2":"MR","WB_A3":"MRT","WOE_ID":23424896,"WOE_ID_EH":23424896,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"MRT","ADM0_DIFF":null,"ADM0_TLC":"MRT","ADM0_A3_US":"MRT","ADM0_A3_FR":"MRT","ADM0_A3_RU":"MRT","ADM0_A3_ES":"MRT","ADM0_A3_CN":"MRT","ADM0_A3_TW":"MRT","ADM0_A3_IN":"MRT","ADM0_A3_NP":"MRT","ADM0_A3_PK":"MRT","ADM0_A3_DE":"MRT","ADM0_A3_GB":"MRT","ADM0_A3_BR":"MRT","ADM0_A3_IL":"MRT","ADM0_A3_PS":"MRT","ADM0_A3_SA":"MRT","ADM0_A3_EG":"MRT","ADM0_A3_MA":"MRT","ADM0_A3_PT":"MRT","ADM0_A3_AR":"MRT","ADM0_A3_JP":"MRT","ADM0_A3_KO":"MRT","ADM0_A3_VN":"MRT","ADM0_A3_TR":"MRT","ADM0_A3_ID":"MRT","ADM0_A3_PL":"MRT","ADM0_A3_GR":"MRT","ADM0_A3_IT":"MRT","ADM0_A3_NL":"MRT","ADM0_A3_SE":"MRT","ADM0_A3_BD":"MRT","ADM0_A3_UA":"MRT","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Africa","REGION_UN":"Africa","SUBREGION":"Western Africa","REGION_WB":"Sub-Saharan Africa","NAME_LEN":10,"LONG_LEN":10,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":3,"MAX_LABEL":8,"LABEL_X":-9.740299,"LABEL_Y":19.587062,"NE_ID":1159321075,"WIKIDATAID":"Q1025","NAME_AR":"موريتانيا","NAME_BN":"মৌরিতানিয়া","NAME_DE":"Mauretanien","NAME_EN":"Mauritania","NAME_ES":"Mauritania","NAME_FA":"موریتانی","NAME_FR":"Mauritanie","NAME_EL":"Μαυριτανία","NAME_HE":"מאוריטניה","NAME_HI":"मॉरीतानिया","NAME_HU":"Mauritánia","NAME_ID":"Mauritania","NAME_IT":"Mauritania","NAME_JA":"モーリタニア","NAME_KO":"모리타니","NAME_NL":"Mauritanië","NAME_PL":"Mauretania","NAME_PT":"Mauritânia","NAME_RU":"Мавритания","NAME_SV":"Mauretanien","NAME_TR":"Moritanya","NAME_UK":"Мавританія","NAME_UR":"موریتانیہ","NAME_VI":"Mauritanie","NAME_ZH":"毛里塔尼亚","NAME_ZHT":"茅利塔尼亞","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[-17.063965,14.745361,-4.822607,27.285937],"geometry":{"type":"MultiPolygon","coordinates":[[[[-16.37334,19.706445],[-16.437549,19.609277],[-16.465967,19.646387],[-16.477002,19.710352],[-16.420166,19.801953],[-16.393262,19.849268],[-16.343652,19.866211],[-16.37334,19.706445]]],[[[-12.280615,14.809033],[-12.302539,14.816992],[-12.408691,14.889014],[-12.459863,14.974658],[-12.543555,15.039014],[-12.659619,15.08208],[-12.735254,15.13125],[-12.770312,15.18667],[-12.813184,15.223535],[-12.858496,15.242529],[-12.862646,15.262402],[-12.851904,15.289648],[-12.862695,15.34043],[-12.930859,15.453027],[-12.994336,15.504883],[-13.048535,15.496631],[-13.079297,15.510449],[-13.0979,15.535254],[-13.105273,15.571777],[-13.142383,15.60332],[-13.206445,15.616895],[-13.258008,15.700391],[-13.297021,15.853857],[-13.347559,15.973486],[-13.409668,16.05918],[-13.454102,16.091113],[-13.486963,16.097021],[-13.498145,16.110303],[-13.506982,16.135205],[-13.555518,16.144043],[-13.623535,16.118311],[-13.684668,16.126904],[-13.714941,16.168799],[-13.756641,16.17251],[-13.809814,16.138037],[-13.868457,16.148145],[-13.932617,16.202881],[-13.968164,16.257227],[-13.975049,16.311133],[-14.085645,16.418848],[-14.300098,16.580273],[-14.53374,16.655957],[-14.786719,16.645898],[-14.928613,16.653516],[-14.959521,16.678906],[-14.990625,16.676904],[-15.021924,16.647461],[-15.055225,16.640967],[-15.090576,16.657373],[-15.112646,16.644922],[-15.121436,16.603613],[-15.210547,16.582617],[-15.37998,16.581982],[-15.516699,16.556592],[-15.620801,16.506592],[-15.768213,16.485107],[-15.958984,16.492139],[-16.074023,16.510449],[-16.113281,16.540137],[-16.168359,16.54707],[-16.239014,16.531299],[-16.302295,16.451318],[-16.358105,16.307178],[-16.404346,16.224902],[-16.441016,16.204541],[-16.480078,16.097217],[-16.502051,15.917334],[-16.535254,15.838379],[-16.535742,16.286816],[-16.481299,16.454248],[-16.463623,16.601514],[-16.34668,16.926416],[-16.207471,17.192578],[-16.078906,17.54585],[-16.030322,17.887939],[-16.046729,18.223145],[-16.084961,18.521191],[-16.150098,18.718164],[-16.213086,19.00332],[-16.305908,19.153809],[-16.476172,19.285059],[-16.514453,19.361963],[-16.474805,19.390625],[-16.371289,19.410254],[-16.305273,19.512646],[-16.444873,19.473145],[-16.283398,19.787158],[-16.233203,20.000977],[-16.241162,20.14126],[-16.210449,20.22793],[-16.33374,20.415869],[-16.429785,20.652344],[-16.479199,20.689795],[-16.53042,20.709521],[-16.534912,20.654004],[-16.562695,20.60415],[-16.62251,20.63418],[-16.728369,20.806152],[-16.876074,21.086133],[-16.92793,21.114795],[-16.971143,21.076465],[-16.998242,21.039697],[-17.048047,20.806152],[-17.063965,20.898828],[-17.042383,21.008008],[-17.005908,21.142432],[-16.964551,21.329248],[-16.836328,21.329395],[-16.607031,21.329639],[-16.377734,21.329932],[-16.148438,21.330225],[-15.919141,21.330469],[-15.689795,21.330762],[-15.460547,21.331055],[-15.231201,21.331299],[-15.001904,21.331592],[-14.772607,21.331885],[-14.543262,21.332129],[-14.313965,21.332422],[-14.084668,21.332715],[-13.855371,21.332959],[-13.626025,21.333252],[-13.396729,21.333545],[-13.167432,21.333789],[-13.016211,21.333936],[-13.025098,21.466797],[-13.032227,21.57207],[-13.041748,21.713818],[-13.051221,21.854785],[-13.060645,21.995752],[-13.06958,22.128174],[-13.078467,22.260449],[-13.086768,22.383252],[-13.094336,22.495996],[-13.107324,22.560742],[-13.155957,22.689307],[-13.166504,22.753223],[-13.153271,22.820508],[-13.120898,22.884082],[-13.031494,23.000244],[-12.895996,23.089551],[-12.7396,23.192725],[-12.62041,23.271338],[-12.559375,23.29082],[-12.3729,23.318018],[-12.226172,23.37749],[-12.08335,23.435449],[-12.023438,23.467578],[-12.016309,23.576465],[-12.016309,23.6979],[-12.016309,23.834033],[-12.016309,23.970215],[-12.016309,24.106348],[-12.016309,24.24248],[-12.016309,24.378662],[-12.016309,24.514795],[-12.016309,24.650977],[-12.016309,24.787109],[-12.016309,24.923242],[-12.016309,25.059375],[-12.016309,25.195557],[-12.016309,25.331689],[-12.016309,25.467871],[-12.016309,25.604004],[-12.016309,25.740137],[-12.016309,25.876318],[-12.016309,25.99541],[-11.86665,25.99541],[-11.680371,25.99541],[-11.494043,25.99541],[-11.307715,25.99541],[-11.121387,25.995459],[-10.935107,25.995459],[-10.748779,25.995459],[-10.562451,25.995459],[-10.376123,25.995459],[-10.189795,25.995459],[-10.003516,25.995459],[-9.817187,25.995459],[-9.630859,25.995508],[-9.444531,25.995508],[-9.258203,25.995508],[-9.071924,25.995508],[-8.885645,25.995508],[-8.682227,25.995508],[-8.682129,26.109473],[-8.682129,26.273193],[-8.682324,26.497705],[-8.682617,26.723145],[-8.682861,26.921338],[-8.683105,27.119287],[-8.68335,27.285937],[-8.495312,27.175342],[-8.307275,27.064746],[-8.119238,26.95415],[-7.931152,26.843555],[-7.743115,26.732959],[-7.555078,26.622363],[-7.366992,26.511768],[-7.178906,26.401172],[-6.990869,26.290576],[-6.802832,26.17998],[-6.614746,26.069434],[-6.426709,25.958789],[-6.238672,25.848193],[-6.050586,25.737598],[-5.862549,25.627002],[-5.674512,25.516406],[-5.516943,25.423779],[-5.275,25.274512],[-5.049512,25.135449],[-4.822607,24.995605],[-5.1729,24.99541],[-5.640771,24.995166],[-5.959814,24.994971],[-6.287207,24.994824],[-6.594092,24.994629],[-6.567383,24.766797],[-6.538965,24.518164],[-6.510449,24.269482],[-6.482031,24.020801],[-6.453516,23.772168],[-6.425049,23.523486],[-6.396582,23.274805],[-6.368115,23.026123],[-6.339648,22.77749],[-6.311133,22.528857],[-6.282715,22.280176],[-6.254199,22.031543],[-6.225732,21.782861],[-6.197266,21.53418],[-6.168799,21.285547],[-6.140332,21.036865],[-6.111816,20.788184],[-6.083398,20.539502],[-6.054883,20.290869],[-6.026416,20.042187],[-5.997949,19.793506],[-5.969482,19.544873],[-5.941016,19.296191],[-5.9125,19.04751],[-5.884082,18.798877],[-5.855566,18.550244],[-5.8271,18.301563],[-5.798633,18.05293],[-5.770166,17.804248],[-5.741699,17.555566],[-5.713184,17.306885],[-5.684766,17.058252],[-5.65625,16.80957],[-5.628662,16.568652],[-5.509619,16.442041],[-5.359912,16.282861],[-5.403564,16.05791],[-5.455615,15.789404],[-5.5125,15.496289],[-5.723877,15.496289],[-5.927832,15.496289],[-6.131787,15.49624],[-6.335742,15.496191],[-6.539648,15.496191],[-6.743604,15.496191],[-6.947559,15.496191],[-7.151514,15.496191],[-7.355469,15.496191],[-7.559375,15.496143],[-7.763379,15.496143],[-7.967285,15.496143],[-8.17124,15.496143],[-8.375195,15.496143],[-8.57915,15.496143],[-8.783105,15.496094],[-8.987061,15.496094],[-9.176807,15.496094],[-9.293701,15.502832],[-9.335449,15.525684],[-9.350586,15.677393],[-9.385352,15.667627],[-9.426562,15.623047],[-9.447705,15.574854],[-9.440332,15.51167],[-9.446924,15.458203],[-9.577832,15.437256],[-9.755078,15.401465],[-9.941406,15.373779],[-10.129541,15.383691],[-10.19375,15.396045],[-10.262109,15.416016],[-10.411816,15.437939],[-10.493164,15.439795],[-10.586572,15.434863],[-10.696582,15.422656],[-10.731982,15.394922],[-10.815088,15.281738],[-10.895605,15.150488],[-10.948242,15.151123],[-11.007422,15.2229],[-11.169336,15.358643],[-11.365625,15.536768],[-11.455225,15.625391],[-11.502686,15.636816],[-11.596729,15.573242],[-11.675879,15.512061],[-11.760156,15.425537],[-11.798437,15.342725],[-11.82876,15.244873],[-11.842236,15.129395],[-11.872852,14.995166],[-11.940918,14.886914],[-12.021582,14.804932],[-12.081543,14.766357],[-12.104687,14.745361],[-12.280615,14.809033]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":3,"LABELRANK":5,"SOVEREIGNT":"Malta","SOV_A3":"MLT","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Malta","ADM0_A3":"MLT","GEOU_DIF":0,"GEOUNIT":"Malta","GU_A3":"MLT","SU_DIF":0,"SUBUNIT":"Malta","SU_A3":"MLT","BRK_DIFF":0,"NAME":"Malta","NAME_LONG":"Malta","BRK_A3":"MLT","BRK_NAME":"Malta","BRK_GROUP":null,"ABBREV":"Malta","POSTAL":"M","FORMAL_EN":"Republic of Malta","FORMAL_FR":null,"NAME_CIAWF":"Malta","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Malta","NAME_ALT":null,"MAPCOLOR7":1,"MAPCOLOR8":4,"MAPCOLOR9":1,"MAPCOLOR13":8,"POP_EST":502653,"POP_RANK":11,"POP_YEAR":2019,"GDP_MD":14989,"GDP_YEAR":2019,"ECONOMY":"2. Developed region: nonG7","INCOME_GRP":"2. High income: nonOECD","FIPS_10":"MT","ISO_A2":"MT","ISO_A2_EH":"MT","ISO_A3":"MLT","ISO_A3_EH":"MLT","ISO_N3":"470","ISO_N3_EH":"470","UN_A3":"470","WB_A2":"MT","WB_A3":"MLT","WOE_ID":23424897,"WOE_ID_EH":23424897,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"MLT","ADM0_DIFF":null,"ADM0_TLC":"MLT","ADM0_A3_US":"MLT","ADM0_A3_FR":"MLT","ADM0_A3_RU":"MLT","ADM0_A3_ES":"MLT","ADM0_A3_CN":"MLT","ADM0_A3_TW":"MLT","ADM0_A3_IN":"MLT","ADM0_A3_NP":"MLT","ADM0_A3_PK":"MLT","ADM0_A3_DE":"MLT","ADM0_A3_GB":"MLT","ADM0_A3_BR":"MLT","ADM0_A3_IL":"MLT","ADM0_A3_PS":"MLT","ADM0_A3_SA":"MLT","ADM0_A3_EG":"MLT","ADM0_A3_MA":"MLT","ADM0_A3_PT":"MLT","ADM0_A3_AR":"MLT","ADM0_A3_JP":"MLT","ADM0_A3_KO":"MLT","ADM0_A3_VN":"MLT","ADM0_A3_TR":"MLT","ADM0_A3_ID":"MLT","ADM0_A3_PL":"MLT","ADM0_A3_GR":"MLT","ADM0_A3_IT":"MLT","ADM0_A3_NL":"MLT","ADM0_A3_SE":"MLT","ADM0_A3_BD":"MLT","ADM0_A3_UA":"MLT","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Europe","REGION_UN":"Europe","SUBREGION":"Southern Europe","REGION_WB":"Middle East & North Africa","NAME_LEN":5,"LONG_LEN":5,"ABBREV_LEN":5,"TINY":3,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":4,"MAX_LABEL":9,"LABEL_X":14.433005,"LABEL_Y":35.892886,"NE_ID":1159321065,"WIKIDATAID":"Q233","NAME_AR":"مالطا","NAME_BN":"মাল্টা","NAME_DE":"Malta","NAME_EN":"Malta","NAME_ES":"Malta","NAME_FA":"مالت","NAME_FR":"Malte","NAME_EL":"Μάλτα","NAME_HE":"מלטה","NAME_HI":"माल्टा","NAME_HU":"Málta","NAME_ID":"Malta","NAME_IT":"Malta","NAME_JA":"マルタ","NAME_KO":"몰타","NAME_NL":"Malta","NAME_PL":"Malta","NAME_PT":"Malta","NAME_RU":"Мальта","NAME_SV":"Malta","NAME_TR":"Malta","NAME_UK":"Мальта","NAME_UR":"مالٹا","NAME_VI":"Malta","NAME_ZH":"马耳他","NAME_ZHT":"馬耳他","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[14.180371,35.820215,14.566211,36.075781],"geometry":{"type":"MultiPolygon","coordinates":[[[[14.566211,35.852734],[14.532715,35.820215],[14.436426,35.82168],[14.352344,35.872266],[14.35127,35.978418],[14.44834,35.957422],[14.537012,35.886279],[14.566211,35.852734]]],[[[14.313477,36.027588],[14.253613,36.012158],[14.194238,36.042236],[14.180371,36.0604],[14.263281,36.075781],[14.303711,36.062305],[14.320898,36.03623],[14.313477,36.027588]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":3,"SOVEREIGNT":"Mali","SOV_A3":"MLI","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Mali","ADM0_A3":"MLI","GEOU_DIF":0,"GEOUNIT":"Mali","GU_A3":"MLI","SU_DIF":0,"SUBUNIT":"Mali","SU_A3":"MLI","BRK_DIFF":0,"NAME":"Mali","NAME_LONG":"Mali","BRK_A3":"MLI","BRK_NAME":"Mali","BRK_GROUP":null,"ABBREV":"Mali","POSTAL":"ML","FORMAL_EN":"Republic of Mali","FORMAL_FR":null,"NAME_CIAWF":"Mali","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Mali","NAME_ALT":null,"MAPCOLOR7":1,"MAPCOLOR8":4,"MAPCOLOR9":1,"MAPCOLOR13":7,"POP_EST":19658031,"POP_RANK":14,"POP_YEAR":2019,"GDP_MD":17279,"GDP_YEAR":2019,"ECONOMY":"7. Least developed region","INCOME_GRP":"5. Low income","FIPS_10":"ML","ISO_A2":"ML","ISO_A2_EH":"ML","ISO_A3":"MLI","ISO_A3_EH":"MLI","ISO_N3":"466","ISO_N3_EH":"466","UN_A3":"466","WB_A2":"ML","WB_A3":"MLI","WOE_ID":23424891,"WOE_ID_EH":23424891,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"MLI","ADM0_DIFF":null,"ADM0_TLC":"MLI","ADM0_A3_US":"MLI","ADM0_A3_FR":"MLI","ADM0_A3_RU":"MLI","ADM0_A3_ES":"MLI","ADM0_A3_CN":"MLI","ADM0_A3_TW":"MLI","ADM0_A3_IN":"MLI","ADM0_A3_NP":"MLI","ADM0_A3_PK":"MLI","ADM0_A3_DE":"MLI","ADM0_A3_GB":"MLI","ADM0_A3_BR":"MLI","ADM0_A3_IL":"MLI","ADM0_A3_PS":"MLI","ADM0_A3_SA":"MLI","ADM0_A3_EG":"MLI","ADM0_A3_MA":"MLI","ADM0_A3_PT":"MLI","ADM0_A3_AR":"MLI","ADM0_A3_JP":"MLI","ADM0_A3_KO":"MLI","ADM0_A3_VN":"MLI","ADM0_A3_TR":"MLI","ADM0_A3_ID":"MLI","ADM0_A3_PL":"MLI","ADM0_A3_GR":"MLI","ADM0_A3_IT":"MLI","ADM0_A3_NL":"MLI","ADM0_A3_SE":"MLI","ADM0_A3_BD":"MLI","ADM0_A3_UA":"MLI","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Africa","REGION_UN":"Africa","SUBREGION":"Western Africa","REGION_WB":"Sub-Saharan Africa","NAME_LEN":4,"LONG_LEN":4,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":3,"MAX_LABEL":7,"LABEL_X":-2.038455,"LABEL_Y":18.692713,"NE_ID":1159321063,"WIKIDATAID":"Q912","NAME_AR":"مالي","NAME_BN":"মালি","NAME_DE":"Mali","NAME_EN":"Mali","NAME_ES":"Malí","NAME_FA":"مالی","NAME_FR":"Mali","NAME_EL":"Μάλι","NAME_HE":"מאלי","NAME_HI":"माली","NAME_HU":"Mali","NAME_ID":"Mali","NAME_IT":"Mali","NAME_JA":"マリ共和国","NAME_KO":"말리","NAME_NL":"Mali","NAME_PL":"Mali","NAME_PT":"Mali","NAME_RU":"Мали","NAME_SV":"Mali","NAME_TR":"Mali","NAME_UK":"Малі","NAME_UR":"مالی","NAME_VI":"Mali","NAME_ZH":"马里","NAME_ZHT":"馬利共和國","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[-12.280615,10.143262,4.234668,24.995605],"geometry":{"type":"Polygon","coordinates":[[[-11.389404,12.404395],[-11.382422,12.479248],[-11.448779,12.531934],[-11.450586,12.557715],[-11.444092,12.627588],[-11.414355,12.775488],[-11.417432,12.831885],[-11.390381,12.941992],[-11.433936,12.991602],[-11.444141,13.028223],[-11.492822,13.086963],[-11.548779,13.170264],[-11.56167,13.236963],[-11.581348,13.290039],[-11.634961,13.369873],[-11.674463,13.382373],[-11.758252,13.394531],[-11.772217,13.36709],[-11.803369,13.327295],[-11.831689,13.31582],[-11.877783,13.364551],[-11.895215,13.406299],[-11.89458,13.444434],[-11.95708,13.510889],[-12.054199,13.633057],[-12.044141,13.733887],[-11.98418,13.788086],[-11.966357,13.828955],[-11.960889,13.875293],[-11.988086,13.930762],[-12.020117,13.974658],[-12.011182,14.071826],[-12.019189,14.206494],[-12.068359,14.274219],[-12.112891,14.323291],[-12.175244,14.37666],[-12.228418,14.458594],[-12.206836,14.571143],[-12.186523,14.648145],[-12.280615,14.809033],[-12.104687,14.745361],[-12.081543,14.766357],[-12.021582,14.804932],[-11.940918,14.886914],[-11.872852,14.995166],[-11.842236,15.129395],[-11.82876,15.244873],[-11.798437,15.342725],[-11.760156,15.425537],[-11.675879,15.512061],[-11.596729,15.573242],[-11.502686,15.636816],[-11.455225,15.625391],[-11.365625,15.536768],[-11.169336,15.358643],[-11.007422,15.2229],[-10.948242,15.151123],[-10.895605,15.150488],[-10.815088,15.281738],[-10.731982,15.394922],[-10.696582,15.422656],[-10.586572,15.434863],[-10.493164,15.439795],[-10.411816,15.437939],[-10.262109,15.416016],[-10.19375,15.396045],[-10.129541,15.383691],[-9.941406,15.373779],[-9.755078,15.401465],[-9.577832,15.437256],[-9.446924,15.458203],[-9.440332,15.51167],[-9.447705,15.574854],[-9.426562,15.623047],[-9.385352,15.667627],[-9.350586,15.677393],[-9.335449,15.525684],[-9.293701,15.502832],[-9.176807,15.496094],[-8.987061,15.496094],[-8.783105,15.496094],[-8.57915,15.496143],[-8.375195,15.496143],[-8.17124,15.496143],[-7.967285,15.496143],[-7.763379,15.496143],[-7.559375,15.496143],[-7.355469,15.496191],[-7.151514,15.496191],[-6.947559,15.496191],[-6.743604,15.496191],[-6.539648,15.496191],[-6.335742,15.496191],[-6.131787,15.49624],[-5.927832,15.496289],[-5.723877,15.496289],[-5.5125,15.496289],[-5.455615,15.789404],[-5.403564,16.05791],[-5.359912,16.282861],[-5.509619,16.442041],[-5.628662,16.568652],[-5.65625,16.80957],[-5.684766,17.058252],[-5.713184,17.306885],[-5.741699,17.555566],[-5.770166,17.804248],[-5.798633,18.05293],[-5.8271,18.301563],[-5.855566,18.550244],[-5.884082,18.798877],[-5.9125,19.04751],[-5.941016,19.296191],[-5.969482,19.544873],[-5.997949,19.793506],[-6.026416,20.042187],[-6.054883,20.290869],[-6.083398,20.539502],[-6.111816,20.788184],[-6.140332,21.036865],[-6.168799,21.285547],[-6.197266,21.53418],[-6.225732,21.782861],[-6.254199,22.031543],[-6.282715,22.280176],[-6.311133,22.528857],[-6.339648,22.77749],[-6.368115,23.026123],[-6.396582,23.274805],[-6.425049,23.523486],[-6.453516,23.772168],[-6.482031,24.020801],[-6.510449,24.269482],[-6.538965,24.518164],[-6.567383,24.766797],[-6.594092,24.994629],[-6.287207,24.994824],[-5.959814,24.994971],[-5.640771,24.995166],[-5.1729,24.99541],[-4.822607,24.995605],[-4.516992,24.804492],[-4.240332,24.623535],[-3.912793,24.409473],[-3.585352,24.195361],[-3.257861,23.98125],[-2.930371,23.767139],[-2.60293,23.553027],[-2.275391,23.338867],[-1.9479,23.124805],[-1.62041,22.910645],[-1.292969,22.696533],[-0.965479,22.482471],[-0.637988,22.268311],[-0.310547,22.054199],[0.016992,21.840137],[0.344434,21.625977],[0.671875,21.411865],[0.999414,21.197754],[1.145508,21.102246],[1.15918,21.0625],[1.172754,20.981982],[1.164062,20.891309],[1.165723,20.817432],[1.208887,20.767285],[1.290234,20.713574],[1.610645,20.555566],[1.636035,20.524365],[1.647363,20.458838],[1.685449,20.378369],[1.753223,20.331592],[1.832422,20.296875],[1.928809,20.272705],[2.219336,20.247803],[2.280859,20.210303],[2.406152,20.063867],[2.474219,20.03501],[2.667773,19.99292],[2.80791,19.969434],[2.865723,19.955957],[2.99248,19.916602],[3.130273,19.850195],[3.203711,19.789697],[3.203418,19.770752],[3.202734,19.718311],[3.20166,19.5604],[3.227051,19.473584],[3.255859,19.410938],[3.254395,19.372607],[3.219629,19.34541],[3.192383,19.312061],[3.177246,19.268164],[3.137891,19.212158],[3.106055,19.150098],[3.119727,19.103174],[3.174219,19.0729],[3.255957,19.013281],[3.323438,18.988379],[3.356445,18.986621],[3.400879,18.988428],[3.43877,18.996143],[3.683496,19.041602],[3.910156,19.08374],[4.227637,19.142773],[4.228223,18.968066],[4.229004,18.704346],[4.22998,18.410596],[4.230859,18.139453],[4.231934,17.830518],[4.232715,17.582178],[4.233691,17.288428],[4.234668,16.996387],[4.20293,16.962695],[4.191211,16.798193],[4.182129,16.581787],[4.121289,16.357715],[4.014844,16.192725],[3.976172,16.035547],[3.94707,15.945654],[3.907227,15.896826],[3.897949,15.837988],[3.876953,15.755273],[3.842969,15.701709],[3.816504,15.674023],[3.70957,15.641699],[3.520508,15.483105],[3.504297,15.356348],[3.289062,15.391113],[3.060156,15.427197],[3.029395,15.424854],[3.010547,15.408301],[3.001074,15.340967],[2.689648,15.329883],[2.420801,15.32041],[2.088184,15.309375],[1.859375,15.301709],[1.569141,15.286475],[1.300195,15.272266],[1.121289,15.126123],[0.960059,14.986914],[0.947461,14.982129],[0.718652,14.954883],[0.433008,14.979004],[0.28623,14.980176],[0.228711,14.963672],[0.21748,14.911475],[0.007324,14.984814],[-0.235889,15.059424],[-0.40542,15.0125],[-0.432275,15.028516],[-0.454492,15.059668],[-0.536523,15.077881],[-0.666455,15.069775],[-0.760449,15.047754],[-0.907959,14.937402],[-1.019189,14.841357],[-1.049561,14.819531],[-1.20498,14.761523],[-1.493652,14.626074],[-1.657324,14.526807],[-1.695068,14.508496],[-1.767773,14.486035],[-1.879785,14.481494],[-1.973047,14.456543],[-2.057129,14.194629],[-2.113232,14.168457],[-2.457227,14.274121],[-2.526904,14.258301],[-2.586719,14.227588],[-2.778857,14.07373],[-2.873926,13.950732],[-2.925879,13.786768],[-2.918506,13.736377],[-2.91709,13.679492],[-2.95083,13.648438],[-2.997217,13.637109],[-3.038672,13.639111],[-3.198437,13.672852],[-3.248633,13.65835],[-3.270166,13.577441],[-3.266748,13.400781],[-3.301758,13.280762],[-3.396729,13.243701],[-3.469922,13.196387],[-3.527637,13.182715],[-3.575781,13.194189],[-3.853467,13.373535],[-3.947314,13.402197],[-4.051172,13.382422],[-4.151025,13.306201],[-4.196191,13.256152],[-4.258691,13.197314],[-4.328711,13.119043],[-4.310254,13.05249],[-4.260645,12.975342],[-4.225244,12.879492],[-4.2271,12.793701],[-4.480615,12.672217],[-4.459863,12.630371],[-4.421924,12.581592],[-4.421582,12.493066],[-4.428711,12.337598],[-4.479883,12.281787],[-4.546045,12.226465],[-4.586914,12.155029],[-4.627246,12.120215],[-4.699316,12.076172],[-4.797949,12.032129],[-4.968994,11.993311],[-5.105908,11.967529],[-5.15752,11.942383],[-5.230176,11.890283],[-5.288135,11.82793],[-5.302002,11.760449],[-5.290527,11.683301],[-5.270312,11.619873],[-5.244775,11.576758],[-5.229395,11.522461],[-5.250244,11.375781],[-5.299854,11.205957],[-5.347412,11.130273],[-5.424219,11.088721],[-5.490479,11.042383],[-5.468555,10.931055],[-5.45708,10.771387],[-5.475684,10.643945],[-5.479004,10.565088],[-5.507031,10.483447],[-5.523535,10.426025],[-5.556592,10.439941],[-5.694287,10.433203],[-5.843848,10.389551],[-5.896191,10.354736],[-5.907568,10.307227],[-5.940674,10.275098],[-5.988672,10.239111],[-6.03457,10.194824],[-6.117188,10.201904],[-6.196875,10.232129],[-6.238379,10.261621],[-6.241309,10.279199],[-6.21499,10.322363],[-6.192627,10.369434],[-6.190674,10.400293],[-6.217773,10.47627],[-6.239746,10.558105],[-6.230664,10.59751],[-6.250244,10.71792],[-6.261133,10.724072],[-6.365625,10.692822],[-6.40415,10.685107],[-6.425879,10.671777],[-6.432617,10.64873],[-6.40752,10.572363],[-6.423926,10.559131],[-6.482617,10.56123],[-6.5646,10.586426],[-6.65415,10.656445],[-6.676367,10.633789],[-6.686133,10.578027],[-6.691992,10.512012],[-6.669336,10.392187],[-6.693262,10.349463],[-6.753223,10.357129],[-6.833643,10.356982],[-6.903809,10.345068],[-6.950342,10.342334],[-6.979492,10.299561],[-6.991748,10.251855],[-6.963818,10.19873],[-6.968164,10.176221],[-6.989453,10.155664],[-7.01709,10.143262],[-7.039746,10.144775],[-7.104883,10.203516],[-7.182324,10.225684],[-7.363184,10.259375],[-7.385059,10.340137],[-7.414795,10.341309],[-7.456543,10.383936],[-7.497949,10.439795],[-7.532812,10.436816],[-7.562109,10.42124],[-7.661133,10.427441],[-7.749072,10.342285],[-7.814209,10.236572],[-7.884082,10.185742],[-7.960938,10.163477],[-7.990625,10.1625],[-7.974463,10.229541],[-7.985693,10.278418],[-8.007275,10.321875],[-8.231494,10.437988],[-8.26665,10.485986],[-8.301562,10.617578],[-8.324121,10.749512],[-8.32168,10.826953],[-8.306348,10.896094],[-8.312744,10.949756],[-8.337402,10.990625],[-8.404492,11.029932],[-8.474707,11.048389],[-8.563525,10.99668],[-8.606201,10.986963],[-8.646191,10.990479],[-8.666699,11.009473],[-8.663916,11.03584],[-8.567285,11.177002],[-8.520312,11.235937],[-8.463525,11.280713],[-8.425293,11.304736],[-8.400684,11.339404],[-8.398535,11.366553],[-8.407471,11.386279],[-8.470703,11.412207],[-8.56875,11.478076],[-8.621143,11.485107],[-8.664941,11.51499],[-8.711426,11.617773],[-8.733105,11.6375],[-8.779736,11.648242],[-8.822021,11.673242],[-8.820068,11.807129],[-8.818311,11.92251],[-8.913867,12.108545],[-8.95083,12.225586],[-8.998926,12.345898],[-9.043066,12.402344],[-9.120459,12.449951],[-9.215527,12.482861],[-9.3,12.490283],[-9.365186,12.479297],[-9.395361,12.464648],[-9.393652,12.442236],[-9.34082,12.366016],[-9.331543,12.32373],[-9.340186,12.282764],[-9.358105,12.25542],[-9.40498,12.252441],[-9.486816,12.228662],[-9.587744,12.182471],[-9.658301,12.143115],[-9.714746,12.04248],[-9.754004,12.029932],[-9.820703,12.04248],[-10.010645,12.116455],[-10.16709,12.177441],[-10.274854,12.212646],[-10.339893,12.190283],[-10.372754,12.179541],[-10.46582,12.138672],[-10.589502,11.990283],[-10.618994,11.941211],[-10.643701,11.925537],[-10.677344,11.899414],[-10.709229,11.89873],[-10.734912,11.916455],[-10.743018,11.927246],[-10.806494,12.034277],[-10.876172,12.151855],[-10.933203,12.205176],[-11.004541,12.20752],[-11.06582,12.170801],[-11.129248,12.09502],[-11.209668,12.024854],[-11.260693,12.004053],[-11.305176,12.01543],[-11.414648,12.104004],[-11.492432,12.166943],[-11.502197,12.198633],[-11.474561,12.247168],[-11.447559,12.319238],[-11.418066,12.377686],[-11.389404,12.404395]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":4,"LABELRANK":5,"SOVEREIGNT":"Maldives","SOV_A3":"MDV","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Maldives","ADM0_A3":"MDV","GEOU_DIF":0,"GEOUNIT":"Maldives","GU_A3":"MDV","SU_DIF":0,"SUBUNIT":"Maldives","SU_A3":"MDV","BRK_DIFF":0,"NAME":"Maldives","NAME_LONG":"Maldives","BRK_A3":"MDV","BRK_NAME":"Maldives","BRK_GROUP":null,"ABBREV":"Mald.","POSTAL":"MV","FORMAL_EN":"Republic of Maldives","FORMAL_FR":null,"NAME_CIAWF":"Maldives","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Maldives","NAME_ALT":null,"MAPCOLOR7":2,"MAPCOLOR8":3,"MAPCOLOR9":1,"MAPCOLOR13":7,"POP_EST":530953,"POP_RANK":11,"POP_YEAR":2019,"GDP_MD":5642,"GDP_YEAR":2019,"ECONOMY":"6. Developing region","INCOME_GRP":"3. Upper middle income","FIPS_10":"MV","ISO_A2":"MV","ISO_A2_EH":"MV","ISO_A3":"MDV","ISO_A3_EH":"MDV","ISO_N3":"462","ISO_N3_EH":"462","UN_A3":"462","WB_A2":"MV","WB_A3":"MDV","WOE_ID":23424899,"WOE_ID_EH":23424899,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"MDV","ADM0_DIFF":null,"ADM0_TLC":"MDV","ADM0_A3_US":"MDV","ADM0_A3_FR":"MDV","ADM0_A3_RU":"MDV","ADM0_A3_ES":"MDV","ADM0_A3_CN":"MDV","ADM0_A3_TW":"MDV","ADM0_A3_IN":"MDV","ADM0_A3_NP":"MDV","ADM0_A3_PK":"MDV","ADM0_A3_DE":"MDV","ADM0_A3_GB":"MDV","ADM0_A3_BR":"MDV","ADM0_A3_IL":"MDV","ADM0_A3_PS":"MDV","ADM0_A3_SA":"MDV","ADM0_A3_EG":"MDV","ADM0_A3_MA":"MDV","ADM0_A3_PT":"MDV","ADM0_A3_AR":"MDV","ADM0_A3_JP":"MDV","ADM0_A3_KO":"MDV","ADM0_A3_VN":"MDV","ADM0_A3_TR":"MDV","ADM0_A3_ID":"MDV","ADM0_A3_PL":"MDV","ADM0_A3_GR":"MDV","ADM0_A3_IT":"MDV","ADM0_A3_NL":"MDV","ADM0_A3_SE":"MDV","ADM0_A3_BD":"MDV","ADM0_A3_UA":"MDV","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Seven seas (open ocean)","REGION_UN":"Asia","SUBREGION":"Southern Asia","REGION_WB":"South Asia","NAME_LEN":8,"LONG_LEN":8,"ABBREV_LEN":5,"TINY":2,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":4,"MAX_LABEL":9,"LABEL_X":73.507554,"LABEL_Y":4.174441,"NE_ID":1159321053,"WIKIDATAID":"Q826","NAME_AR":"المالديف","NAME_BN":"মালদ্বীপ","NAME_DE":"Malediven","NAME_EN":"Maldives","NAME_ES":"Maldivas","NAME_FA":"مالدیو","NAME_FR":"Maldives","NAME_EL":"Μαλδίβες","NAME_HE":"האיים המלדיביים","NAME_HI":"मालदीव","NAME_HU":"Maldív-szigetek","NAME_ID":"Maladewa","NAME_IT":"Maldive","NAME_JA":"モルディブ","NAME_KO":"몰디브","NAME_NL":"Maldiven","NAME_PL":"Malediwy","NAME_PT":"Maldivas","NAME_RU":"Мальдивы","NAME_SV":"Maldiverna","NAME_TR":"Maldivler","NAME_UK":"Мальдіви","NAME_UR":"مالدیپ","NAME_VI":"Maldives","NAME_ZH":"马尔代夫","NAME_ZHT":"馬爾地夫","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[73.382031,3.229395,73.52832,4.247656],"geometry":{"type":"MultiPolygon","coordinates":[[[[73.416602,3.23125],[73.395313,3.229395],[73.382031,3.246484],[73.384961,3.271387],[73.401563,3.28877],[73.427734,3.289844],[73.442773,3.274316],[73.434961,3.250146],[73.416602,3.23125]]],[[[73.512207,4.164551],[73.494824,4.155176],[73.478613,4.158936],[73.473047,4.170703],[73.481152,4.188135],[73.494727,4.210449],[73.504102,4.234619],[73.517773,4.247656],[73.52832,4.243311],[73.527148,4.229687],[73.522168,4.211035],[73.519043,4.186865],[73.512207,4.164551]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":3,"SOVEREIGNT":"Malaysia","SOV_A3":"MYS","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Malaysia","ADM0_A3":"MYS","GEOU_DIF":0,"GEOUNIT":"Malaysia","GU_A3":"MYS","SU_DIF":0,"SUBUNIT":"Malaysia","SU_A3":"MYS","BRK_DIFF":0,"NAME":"Malaysia","NAME_LONG":"Malaysia","BRK_A3":"MYS","BRK_NAME":"Malaysia","BRK_GROUP":null,"ABBREV":"Malay.","POSTAL":"MY","FORMAL_EN":"Malaysia","FORMAL_FR":null,"NAME_CIAWF":"Malaysia","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Malaysia","NAME_ALT":null,"MAPCOLOR7":2,"MAPCOLOR8":4,"MAPCOLOR9":3,"MAPCOLOR13":6,"POP_EST":31949777,"POP_RANK":15,"POP_YEAR":2019,"GDP_MD":364681,"GDP_YEAR":2019,"ECONOMY":"6. Developing region","INCOME_GRP":"3. Upper middle income","FIPS_10":"MY","ISO_A2":"MY","ISO_A2_EH":"MY","ISO_A3":"MYS","ISO_A3_EH":"MYS","ISO_N3":"458","ISO_N3_EH":"458","UN_A3":"458","WB_A2":"MY","WB_A3":"MYS","WOE_ID":23424901,"WOE_ID_EH":23424901,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"MYS","ADM0_DIFF":null,"ADM0_TLC":"MYS","ADM0_A3_US":"MYS","ADM0_A3_FR":"MYS","ADM0_A3_RU":"MYS","ADM0_A3_ES":"MYS","ADM0_A3_CN":"MYS","ADM0_A3_TW":"MYS","ADM0_A3_IN":"MYS","ADM0_A3_NP":"MYS","ADM0_A3_PK":"MYS","ADM0_A3_DE":"MYS","ADM0_A3_GB":"MYS","ADM0_A3_BR":"MYS","ADM0_A3_IL":"MYS","ADM0_A3_PS":"MYS","ADM0_A3_SA":"MYS","ADM0_A3_EG":"MYS","ADM0_A3_MA":"MYS","ADM0_A3_PT":"MYS","ADM0_A3_AR":"MYS","ADM0_A3_JP":"MYS","ADM0_A3_KO":"MYS","ADM0_A3_VN":"MYS","ADM0_A3_TR":"MYS","ADM0_A3_ID":"MYS","ADM0_A3_PL":"MYS","ADM0_A3_GR":"MYS","ADM0_A3_IT":"MYS","ADM0_A3_NL":"MYS","ADM0_A3_SE":"MYS","ADM0_A3_BD":"MYS","ADM0_A3_UA":"MYS","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Asia","REGION_UN":"Asia","SUBREGION":"South-Eastern Asia","REGION_WB":"East Asia & Pacific","NAME_LEN":8,"LONG_LEN":8,"ABBREV_LEN":6,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":3,"MAX_LABEL":8,"LABEL_X":113.83708,"LABEL_Y":2.528667,"NE_ID":1159321083,"WIKIDATAID":"Q833","NAME_AR":"ماليزيا","NAME_BN":"মালয়েশিয়া","NAME_DE":"Malaysia","NAME_EN":"Malaysia","NAME_ES":"Malasia","NAME_FA":"مالزی","NAME_FR":"Malaisie","NAME_EL":"Μαλαισία","NAME_HE":"מלזיה","NAME_HI":"मलेशिया","NAME_HU":"Malajzia","NAME_ID":"Malaysia","NAME_IT":"Malaysia","NAME_JA":"マレーシア","NAME_KO":"말레이시아","NAME_NL":"Maleisië","NAME_PL":"Malezja","NAME_PT":"Malásia","NAME_RU":"Малайзия","NAME_SV":"Malaysia","NAME_TR":"Malezya","NAME_UK":"Малайзія","NAME_UR":"ملائیشیا","NAME_VI":"Malaysia","NAME_ZH":"马来西亚","NAME_ZHT":"馬來西亞","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[99.646289,0.861963,119.266309,7.35166],"geometry":{"type":"MultiPolygon","coordinates":[[[[100.119141,6.441992],[100.137988,6.488672],[100.16123,6.641602],[100.176758,6.671826],[100.216602,6.686621],[100.261426,6.682715],[100.34541,6.549902],[100.563867,6.467529],[100.629492,6.447998],[100.715625,6.480664],[100.754492,6.460059],[100.79375,6.426172],[100.816504,6.331641],[100.873926,6.24541],[100.98877,6.257666],[101.029395,6.245312],[101.053516,6.242578],[101.075977,6.166064],[101.086523,6.033691],[101.075586,5.956494],[100.992773,5.846191],[100.981641,5.771045],[101.025195,5.724512],[101.081738,5.674902],[101.113965,5.636768],[101.147656,5.643066],[101.190625,5.66875],[101.229785,5.733691],[101.257031,5.789355],[101.404199,5.85166],[101.556055,5.907764],[101.576758,5.902002],[101.601367,5.877148],[101.65,5.795996],[101.678418,5.778809],[101.719531,5.770605],[101.790723,5.779346],[101.873633,5.825293],[101.917188,5.911377],[101.936133,5.979346],[102.055176,6.09668],[102.068359,6.184668],[102.101074,6.242236],[102.274023,6.203418],[102.340137,6.172021],[102.534375,5.862549],[102.790234,5.644922],[102.898535,5.56377],[102.982422,5.524951],[103.09707,5.408447],[103.196973,5.262158],[103.41582,4.850293],[103.453906,4.669482],[103.46875,4.393262],[103.420508,3.976855],[103.362012,3.769141],[103.37334,3.671094],[103.453516,3.520605],[103.429492,3.378564],[103.44502,3.260596],[103.439453,2.933105],[103.485156,2.836572],[103.537305,2.774756],[103.812207,2.580469],[103.832324,2.508496],[103.967773,2.26123],[104.218555,1.722852],[104.288477,1.480664],[104.280371,1.415576],[104.250098,1.388574],[104.176367,1.364893],[104.114941,1.412256],[104.094238,1.446191],[104.100586,1.48833],[104.076172,1.529785],[104.016016,1.579297],[103.981445,1.623633],[103.991211,1.550049],[103.991504,1.454785],[103.915137,1.44668],[103.816797,1.476562],[103.694531,1.449658],[103.549805,1.332812],[103.480273,1.329492],[103.427344,1.429834],[103.4,1.497852],[103.356836,1.546143],[102.896875,1.792334],[102.727148,1.855566],[102.548242,2.042383],[102.145605,2.248486],[101.889941,2.449414],[101.78125,2.573584],[101.519727,2.683643],[101.406836,2.813477],[101.351367,2.838965],[101.295508,2.885205],[101.354297,3.011133],[101.330176,3.14248],[101.299902,3.253271],[101.11543,3.472021],[101.024805,3.624707],[100.85127,3.776709],[100.781836,3.864453],[100.71543,3.966211],[100.757031,4.001807],[100.795508,4.023389],[100.760254,4.097217],[100.661035,4.225732],[100.614551,4.373437],[100.614551,4.652246],[100.473437,5.044287],[100.352637,5.587695],[100.374023,5.777979],[100.343262,5.98418],[100.263281,6.18252],[100.158398,6.324219],[100.119141,6.441992]]],[[[117.574414,4.170605],[117.537305,4.171387],[117.450879,4.192871],[117.277539,4.299316],[117.100586,4.337061],[116.843555,4.340137],[116.697852,4.35498],[116.638672,4.339111],[116.589063,4.338428],[116.553125,4.359863],[116.514746,4.370801],[116.414551,4.308203],[116.367676,4.327344],[116.320312,4.353711],[116.23623,4.362549],[116.134473,4.355176],[116.021582,4.290674],[115.896191,4.348682],[115.860742,4.348047],[115.836816,4.333301],[115.782422,4.25376],[115.678809,4.193018],[115.627539,4.081982],[115.596094,3.975537],[115.568457,3.93877],[115.560938,3.733057],[115.544531,3.633691],[115.570703,3.502295],[115.566113,3.445752],[115.519922,3.36167],[115.514258,3.342383],[115.489746,3.208643],[115.499121,3.173145],[115.493164,3.128125],[115.454395,3.034326],[115.38418,3.00874],[115.310156,2.993945],[115.246973,3.025928],[115.189941,2.974463],[115.117578,2.894873],[115.086328,2.841113],[115.086523,2.791211],[115.093652,2.757812],[115.078906,2.723437],[115.077051,2.687012],[115.080762,2.634229],[115.129883,2.612402],[115.180859,2.566895],[115.179102,2.523193],[115.150781,2.49292],[115.086523,2.446143],[114.969141,2.35083],[114.836328,2.269385],[114.786426,2.250488],[114.768359,2.212939],[114.758691,2.162402],[114.787988,2.051611],[114.81582,2.018945],[114.830566,1.980029],[114.812695,1.933789],[114.8,1.893945],[114.751074,1.868994],[114.703516,1.850781],[114.686133,1.819043],[114.660937,1.686279],[114.632227,1.617041],[114.56748,1.51416],[114.545898,1.467139],[114.5125,1.452002],[114.387109,1.500049],[114.274707,1.470898],[114.125977,1.452344],[114,1.455273],[113.902344,1.434277],[113.835254,1.379883],[113.760352,1.311377],[113.681641,1.260596],[113.622266,1.235937],[113.513184,1.308398],[113.458203,1.302148],[113.358984,1.327148],[113.12627,1.408105],[113.068652,1.431787],[113.006543,1.433887],[112.988281,1.457129],[112.998047,1.49624],[112.988281,1.547559],[112.942969,1.566992],[112.476172,1.559082],[112.341602,1.514746],[112.250684,1.479639],[112.185742,1.439062],[112.167383,1.338184],[112.128613,1.243604],[112.078516,1.143359],[111.923145,1.113281],[111.808984,1.01167],[111.769727,0.999463],[111.691309,1.014209],[111.607422,1.022607],[111.54668,0.994336],[111.483203,0.995752],[111.286719,1.043213],[111.101367,1.050537],[110.996094,1.026367],[110.938086,1.017334],[110.614746,0.878125],[110.505762,0.861963],[110.461426,0.88208],[110.399023,0.939062],[110.315234,0.995996],[110.114746,1.190137],[110.04082,1.235742],[109.991699,1.282568],[109.944922,1.338037],[109.878516,1.397852],[109.818066,1.438965],[109.735742,1.522949],[109.654004,1.614893],[109.63584,1.77666],[109.570801,1.806299],[109.548926,1.84834],[109.538965,1.896191],[109.628906,2.027539],[109.694336,1.88877],[109.719629,1.857812],[109.864844,1.764453],[109.98457,1.717627],[110.114062,1.698584],[110.245898,1.694727],[110.29834,1.701172],[110.349219,1.719727],[110.399512,1.699854],[110.675195,1.548047],[110.782031,1.52085],[110.894922,1.532471],[110.939941,1.517334],[111.098437,1.400879],[111.145215,1.386963],[111.223242,1.39585],[111.123438,1.449023],[111.058008,1.48667],[111.028711,1.557812],[111.046582,1.633643],[111.110156,1.684082],[111.154199,1.73877],[111.17002,1.902295],[111.198047,1.985107],[111.250879,2.063867],[111.268164,2.139746],[111.208887,2.197656],[111.195508,2.297168],[111.208594,2.379639],[111.242188,2.435742],[111.295898,2.398779],[111.351367,2.364453],[111.406152,2.367871],[111.443848,2.381543],[111.450781,2.424072],[111.44043,2.498096],[111.443262,2.634326],[111.5125,2.743018],[111.623242,2.817969],[111.727734,2.853809],[112.118848,2.914697],[112.737305,3.070459],[112.920508,3.130713],[112.987891,3.161914],[113.044727,3.205225],[113.140234,3.343506],[113.320117,3.561475],[113.446094,3.740576],[113.712109,4.001416],[113.923926,4.243213],[113.952539,4.288721],[113.987793,4.420703],[113.99043,4.482812],[113.984277,4.545801],[114.0125,4.575244],[114.053613,4.592871],[114.063867,4.592676],[114.095117,4.565234],[114.168848,4.526953],[114.224121,4.477881],[114.261035,4.414258],[114.287598,4.354736],[114.289648,4.304199],[114.322949,4.262793],[114.416602,4.255859],[114.44707,4.203564],[114.512207,4.113574],[114.571777,4.049072],[114.608301,4.023975],[114.654102,4.037646],[114.725,4.096533],[114.776172,4.168799],[114.810449,4.266504],[114.783496,4.280762],[114.831055,4.354492],[114.840234,4.393213],[114.818262,4.42876],[114.790137,4.463916],[114.779297,4.553027],[114.759961,4.666504],[114.74668,4.718066],[114.78418,4.754834],[114.864551,4.801758],[114.944727,4.85625],[115.026758,4.899707],[115.028809,4.821143],[115.026758,4.691357],[115.051562,4.582666],[115.107031,4.39043],[115.170605,4.364209],[115.24668,4.347217],[115.290625,4.352588],[115.319238,4.365283],[115.326758,4.380762],[115.279297,4.456348],[115.266699,4.633984],[115.22793,4.750586],[115.168457,4.866699],[115.140039,4.899756],[115.374902,4.932764],[115.427637,4.969189],[115.519824,5.048926],[115.554492,5.093555],[115.582031,5.194141],[115.466895,5.254102],[115.42168,5.330518],[115.419043,5.413184],[115.556445,5.566699],[115.603906,5.603418],[115.624512,5.548877],[115.685059,5.535107],[115.74082,5.533008],[115.796875,5.536133],[115.877148,5.613525],[115.918457,5.724951],[116.059766,5.882373],[116.110059,6.003271],[116.138379,6.129541],[116.494727,6.52168],[116.538281,6.582715],[116.749805,6.9771],[116.776172,6.990234],[116.833008,6.952051],[116.849805,6.826709],[116.841992,6.77207],[116.807715,6.691064],[116.788086,6.606104],[116.812402,6.60791],[116.913281,6.659668],[117.018555,6.797363],[117.07793,6.916846],[117.128516,6.968896],[117.229883,6.93999],[117.252441,6.919238],[117.245313,6.833398],[117.25498,6.783447],[117.294043,6.676904],[117.380371,6.612256],[117.499219,6.571484],[117.609668,6.512646],[117.645703,6.473682],[117.669629,6.426758],[117.69375,6.35],[117.695605,6.272314],[117.615918,6.196533],[117.649805,6.073584],[117.644531,6.001855],[117.617188,5.940723],[117.501172,5.884668],[117.817676,5.94043],[117.895801,5.972266],[118.003809,6.05332],[118.061719,5.983447],[118.11582,5.8625],[118.072266,5.83208],[117.934766,5.7875],[117.928027,5.769189],[117.973633,5.70625],[118.031152,5.712109],[118.144629,5.754199],[118.249121,5.820557],[118.299805,5.819727],[118.353125,5.806055],[118.456348,5.763428],[118.51416,5.728906],[118.563086,5.684521],[118.594824,5.59209],[118.713672,5.558545],[118.957324,5.429004],[119.002539,5.417822],[119.05,5.415234],[119.178418,5.430908],[119.223437,5.412646],[119.255566,5.365918],[119.266309,5.308105],[119.262793,5.245898],[119.249707,5.19873],[119.219629,5.159814],[119.132227,5.100488],[118.9125,5.0229],[118.67207,4.964062],[118.551367,4.968115],[118.381836,5.018506],[118.32002,5.012012],[118.260547,4.988867],[118.185352,4.828516],[118.324219,4.668701],[118.5625,4.502148],[118.595117,4.460645],[118.586328,4.409668],[118.54834,4.379248],[118.498047,4.362354],[118.364062,4.335742],[118.228711,4.316016],[118.117285,4.287598],[118.008203,4.250244],[117.895605,4.262939],[117.741016,4.337549],[117.696484,4.342822],[117.649805,4.304492],[117.603809,4.2],[117.574414,4.170605]]],[[[104.221582,2.731738],[104.17334,2.721338],[104.146875,2.728223],[104.129102,2.767236],[104.169824,2.856836],[104.184766,2.871729],[104.223242,2.774219],[104.221582,2.731738]]],[[[100.288965,5.294727],[100.26377,5.266992],[100.191016,5.282861],[100.203906,5.446875],[100.245508,5.467773],[100.310156,5.437939],[100.338867,5.410059],[100.288965,5.294727]]],[[[99.848047,6.465723],[99.918652,6.358594],[99.883398,6.31084],[99.86582,6.29707],[99.823242,6.312744],[99.782617,6.271582],[99.74375,6.263281],[99.704688,6.337549],[99.656641,6.367139],[99.646289,6.418359],[99.710547,6.427344],[99.749219,6.409619],[99.82168,6.44502],[99.848047,6.465723]]],[[[117.141602,7.168213],[117.080664,7.115283],[117.060156,7.178857],[117.064258,7.260693],[117.146875,7.337012],[117.264063,7.35166],[117.280762,7.290625],[117.266797,7.220801],[117.239355,7.184766],[117.141602,7.168213]]],[[[101.318555,2.988477],[101.268066,2.97041],[101.26543,2.996484],[101.274219,3.032812],[101.31123,3.067383],[101.328418,3.047607],[101.318555,2.988477]]],[[[111.389258,2.415332],[111.358691,2.402197],[111.311523,2.437598],[111.300391,2.741162],[111.333496,2.768311],[111.355078,2.764453],[111.37832,2.709326],[111.37627,2.576318],[111.380469,2.458936],[111.389258,2.415332]]],[[[117.884766,4.186133],[117.74541,4.166943],[117.649023,4.168994],[117.666797,4.204004],[117.662109,4.250195],[117.708008,4.262402],[117.761426,4.252344],[117.884766,4.186133]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":5,"LABELRANK":6,"SOVEREIGNT":"Malawi","SOV_A3":"MWI","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Malawi","ADM0_A3":"MWI","GEOU_DIF":0,"GEOUNIT":"Malawi","GU_A3":"MWI","SU_DIF":0,"SUBUNIT":"Malawi","SU_A3":"MWI","BRK_DIFF":0,"NAME":"Malawi","NAME_LONG":"Malawi","BRK_A3":"MWI","BRK_NAME":"Malawi","BRK_GROUP":null,"ABBREV":"Mal.","POSTAL":"MW","FORMAL_EN":"Republic of Malawi","FORMAL_FR":null,"NAME_CIAWF":"Malawi","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Malawi","NAME_ALT":null,"MAPCOLOR7":1,"MAPCOLOR8":3,"MAPCOLOR9":4,"MAPCOLOR13":5,"POP_EST":18628747,"POP_RANK":14,"POP_YEAR":2019,"GDP_MD":7666,"GDP_YEAR":2019,"ECONOMY":"7. Least developed region","INCOME_GRP":"5. Low income","FIPS_10":"MI","ISO_A2":"MW","ISO_A2_EH":"MW","ISO_A3":"MWI","ISO_A3_EH":"MWI","ISO_N3":"454","ISO_N3_EH":"454","UN_A3":"454","WB_A2":"MW","WB_A3":"MWI","WOE_ID":23424889,"WOE_ID_EH":23424889,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"MWI","ADM0_DIFF":null,"ADM0_TLC":"MWI","ADM0_A3_US":"MWI","ADM0_A3_FR":"MWI","ADM0_A3_RU":"MWI","ADM0_A3_ES":"MWI","ADM0_A3_CN":"MWI","ADM0_A3_TW":"MWI","ADM0_A3_IN":"MWI","ADM0_A3_NP":"MWI","ADM0_A3_PK":"MWI","ADM0_A3_DE":"MWI","ADM0_A3_GB":"MWI","ADM0_A3_BR":"MWI","ADM0_A3_IL":"MWI","ADM0_A3_PS":"MWI","ADM0_A3_SA":"MWI","ADM0_A3_EG":"MWI","ADM0_A3_MA":"MWI","ADM0_A3_PT":"MWI","ADM0_A3_AR":"MWI","ADM0_A3_JP":"MWI","ADM0_A3_KO":"MWI","ADM0_A3_VN":"MWI","ADM0_A3_TR":"MWI","ADM0_A3_ID":"MWI","ADM0_A3_PL":"MWI","ADM0_A3_GR":"MWI","ADM0_A3_IT":"MWI","ADM0_A3_NL":"MWI","ADM0_A3_SE":"MWI","ADM0_A3_BD":"MWI","ADM0_A3_UA":"MWI","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Africa","REGION_UN":"Africa","SUBREGION":"Eastern Africa","REGION_WB":"Sub-Saharan Africa","NAME_LEN":6,"LONG_LEN":6,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":4,"MAX_LABEL":9,"LABEL_X":33.608082,"LABEL_Y":-13.386737,"NE_ID":1159321081,"WIKIDATAID":"Q1020","NAME_AR":"مالاوي","NAME_BN":"মালাউই","NAME_DE":"Malawi","NAME_EN":"Malawi","NAME_ES":"Malaui","NAME_FA":"مالاوی","NAME_FR":"Malawi","NAME_EL":"Μαλάουι","NAME_HE":"מלאווי","NAME_HI":"मलावी","NAME_HU":"Malawi","NAME_ID":"Malawi","NAME_IT":"Malawi","NAME_JA":"マラウイ","NAME_KO":"말라위","NAME_NL":"Malawi","NAME_PL":"Malawi","NAME_PT":"Malawi","NAME_RU":"Малави","NAME_SV":"Malawi","NAME_TR":"Malavi","NAME_UK":"Малаві","NAME_UR":"ملاوی","NAME_VI":"Malawi","NAME_ZH":"马拉维","NAME_ZHT":"馬拉威","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[32.67041,-17.131055,35.892773,-9.39502],"geometry":{"type":"MultiPolygon","coordinates":[[[[34.719336,-12.110645],[34.68418,-12.118652],[34.662109,-12.100781],[34.66748,-12.047559],[34.679883,-12.008887],[34.714941,-12.002734],[34.738965,-12.013086],[34.755957,-12.030762],[34.75625,-12.059082],[34.745996,-12.088379],[34.719336,-12.110645]]],[[[34.641602,-12.013672],[34.621777,-12.066602],[34.580469,-12.06582],[34.541602,-12.018652],[34.554004,-11.982227],[34.591406,-11.971094],[34.624219,-11.984766],[34.641602,-12.013672]]],[[[33.201758,-14.013379],[33.148047,-13.940918],[33.103613,-13.95918],[33.042383,-14.010059],[33.009277,-14.02373],[32.99209,-14.022168],[32.98125,-14.009375],[32.967578,-13.976855],[32.920313,-13.883887],[32.867188,-13.817383],[32.811035,-13.791602],[32.765137,-13.761035],[32.785352,-13.731445],[32.806738,-13.710254],[32.797461,-13.688477],[32.771777,-13.656543],[32.67207,-13.610352],[32.67041,-13.59043],[32.758398,-13.550293],[32.814063,-13.502734],[32.851855,-13.457031],[32.899707,-13.357031],[32.938574,-13.257422],[32.967578,-13.225],[32.977637,-13.158887],[32.971094,-13.084277],[32.99043,-12.989453],[33,-12.899609],[32.970508,-12.864746],[32.945605,-12.804395],[32.975195,-12.701367],[33.021582,-12.630469],[33.243457,-12.556543],[33.397949,-12.489844],[33.430664,-12.460449],[33.483203,-12.403418],[33.512305,-12.347754],[33.491406,-12.331055],[33.37002,-12.329688],[33.340137,-12.308301],[33.252344,-12.112598],[33.300977,-11.888184],[33.305078,-11.8],[33.303906,-11.69082],[33.288281,-11.611133],[33.25,-11.577637],[33.226367,-11.534863],[33.232715,-11.417676],[33.268359,-11.403906],[33.345508,-11.249121],[33.379785,-11.15791],[33.338672,-11.085156],[33.293262,-10.981152],[33.272754,-10.915039],[33.261328,-10.893359],[33.292773,-10.852344],[33.344922,-10.812695],[33.403125,-10.801758],[33.464746,-10.783105],[33.659082,-10.590527],[33.661523,-10.553125],[33.626172,-10.488574],[33.553711,-10.391309],[33.537598,-10.351562],[33.528906,-10.234668],[33.500098,-10.199707],[33.393555,-10.120898],[33.311523,-10.037988],[33.337109,-9.954004],[33.350977,-9.862207],[33.310449,-9.811816],[33.25,-9.75957],[33.212695,-9.683008],[33.195703,-9.626172],[33.148047,-9.603516],[33.104492,-9.602637],[33.072461,-9.638184],[33.037793,-9.635059],[32.995996,-9.622852],[32.982129,-9.573633],[32.979883,-9.520313],[32.951074,-9.48418],[32.92334,-9.433984],[32.919922,-9.407422],[32.937305,-9.399707],[32.974023,-9.39502],[33.130469,-9.495898],[33.225293,-9.500488],[33.330859,-9.519141],[33.420898,-9.608008],[33.467773,-9.619727],[33.527539,-9.60752],[33.697656,-9.598145],[33.766211,-9.610938],[33.854199,-9.662988],[33.888867,-9.670117],[33.943945,-9.672168],[33.953711,-9.658203],[33.959375,-9.627344],[33.949609,-9.565332],[33.962109,-9.531738],[33.995605,-9.49541],[34.088574,-9.537793],[34.320898,-9.731543],[34.327832,-9.756543],[34.475977,-9.948828],[34.524219,-10.030176],[34.524219,-10.073145],[34.569922,-10.241113],[34.57998,-10.319824],[34.569727,-10.379688],[34.571582,-10.427637],[34.589551,-10.496191],[34.583594,-10.525098],[34.636523,-10.625586],[34.661816,-10.710059],[34.66709,-10.79248],[34.652344,-10.872852],[34.605664,-10.990234],[34.597656,-11.0375],[34.60791,-11.080469],[34.638086,-11.127148],[34.688477,-11.177441],[34.726465,-11.238184],[34.752148,-11.309473],[34.773828,-11.341699],[34.800879,-11.340918],[34.850586,-11.351953],[34.890625,-11.393555],[34.937012,-11.463477],[34.952637,-11.54375],[34.959473,-11.578125],[34.826563,-11.575684],[34.65957,-11.588672],[34.618555,-11.620215],[34.60625,-11.690039],[34.553906,-11.834082],[34.524805,-11.887012],[34.462891,-11.983789],[34.375977,-12.120215],[34.357813,-12.164746],[34.36084,-12.210547],[34.412109,-12.395898],[34.46582,-12.590723],[34.48291,-12.666797],[34.521289,-12.925781],[34.542578,-13.108691],[34.545703,-13.216309],[34.563672,-13.360156],[34.611523,-13.437891],[34.661621,-13.486719],[34.850488,-13.516016],[34.906836,-13.55166],[35.013867,-13.643457],[35.247461,-13.896875],[35.375781,-14.058691],[35.488477,-14.201074],[35.69043,-14.465527],[35.847168,-14.670898],[35.866699,-14.86377],[35.892773,-14.891797],[35.839941,-15.034668],[35.805371,-15.265625],[35.830273,-15.418945],[35.819922,-15.680371],[35.791211,-15.958691],[35.755273,-16.058301],[35.708887,-16.095801],[35.599316,-16.125879],[35.358496,-16.160547],[35.322461,-16.193164],[35.291504,-16.247168],[35.242773,-16.375391],[35.185254,-16.504883],[35.167188,-16.560254],[35.17832,-16.57334],[35.229785,-16.639258],[35.281152,-16.807813],[35.29043,-17.096973],[35.272559,-17.118457],[35.201367,-17.131055],[35.124609,-17.127246],[35.093066,-17.110938],[35.064648,-17.078613],[35.043945,-17.016895],[35.094238,-16.973828],[35.112109,-16.898535],[35.079883,-16.833887],[35.015332,-16.819531],[34.933398,-16.760352],[34.758789,-16.56709],[34.612695,-16.431543],[34.528125,-16.319141],[34.441309,-16.274414],[34.416406,-16.246777],[34.395508,-16.199219],[34.395117,-16.130859],[34.403027,-16.080273],[34.375977,-16.02373],[34.288281,-15.936133],[34.248242,-15.8875],[34.246094,-15.829395],[34.283008,-15.773438],[34.358008,-15.705273],[34.414746,-15.566797],[34.434961,-15.477148],[34.54082,-15.297266],[34.555469,-15.140918],[34.557617,-15.015918],[34.551172,-14.922363],[34.524121,-14.730762],[34.505273,-14.598145],[34.375,-14.424805],[34.33252,-14.408594],[34.208789,-14.42373],[34.101855,-14.449316],[34.049414,-14.485254],[33.969824,-14.487109],[33.761426,-14.517285],[33.696094,-14.530273],[33.658301,-14.561621],[33.636426,-14.568164],[33.505273,-14.434082],[33.389941,-14.289453],[33.243555,-14.043066],[33.201758,-14.013379]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":3,"SOVEREIGNT":"Madagascar","SOV_A3":"MDG","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Madagascar","ADM0_A3":"MDG","GEOU_DIF":0,"GEOUNIT":"Madagascar","GU_A3":"MDG","SU_DIF":0,"SUBUNIT":"Madagascar","SU_A3":"MDG","BRK_DIFF":0,"NAME":"Madagascar","NAME_LONG":"Madagascar","BRK_A3":"MDG","BRK_NAME":"Madagascar","BRK_GROUP":null,"ABBREV":"Mad.","POSTAL":"MG","FORMAL_EN":"Republic of Madagascar","FORMAL_FR":null,"NAME_CIAWF":"Madagascar","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Madagascar","NAME_ALT":null,"MAPCOLOR7":6,"MAPCOLOR8":5,"MAPCOLOR9":2,"MAPCOLOR13":3,"POP_EST":26969307,"POP_RANK":15,"POP_YEAR":2019,"GDP_MD":14114,"GDP_YEAR":2019,"ECONOMY":"7. Least developed region","INCOME_GRP":"5. Low income","FIPS_10":"MA","ISO_A2":"MG","ISO_A2_EH":"MG","ISO_A3":"MDG","ISO_A3_EH":"MDG","ISO_N3":"450","ISO_N3_EH":"450","UN_A3":"450","WB_A2":"MG","WB_A3":"MDG","WOE_ID":23424883,"WOE_ID_EH":23424883,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"MDG","ADM0_DIFF":null,"ADM0_TLC":"MDG","ADM0_A3_US":"MDG","ADM0_A3_FR":"MDG","ADM0_A3_RU":"MDG","ADM0_A3_ES":"MDG","ADM0_A3_CN":"MDG","ADM0_A3_TW":"MDG","ADM0_A3_IN":"MDG","ADM0_A3_NP":"MDG","ADM0_A3_PK":"MDG","ADM0_A3_DE":"MDG","ADM0_A3_GB":"MDG","ADM0_A3_BR":"MDG","ADM0_A3_IL":"MDG","ADM0_A3_PS":"MDG","ADM0_A3_SA":"MDG","ADM0_A3_EG":"MDG","ADM0_A3_MA":"MDG","ADM0_A3_PT":"MDG","ADM0_A3_AR":"MDG","ADM0_A3_JP":"MDG","ADM0_A3_KO":"MDG","ADM0_A3_VN":"MDG","ADM0_A3_TR":"MDG","ADM0_A3_ID":"MDG","ADM0_A3_PL":"MDG","ADM0_A3_GR":"MDG","ADM0_A3_IT":"MDG","ADM0_A3_NL":"MDG","ADM0_A3_SE":"MDG","ADM0_A3_BD":"MDG","ADM0_A3_UA":"MDG","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Africa","REGION_UN":"Africa","SUBREGION":"Eastern Africa","REGION_WB":"Sub-Saharan Africa","NAME_LEN":10,"LONG_LEN":10,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":2.7,"MAX_LABEL":7,"LABEL_X":46.704241,"LABEL_Y":-18.628288,"NE_ID":1159321051,"WIKIDATAID":"Q1019","NAME_AR":"مدغشقر","NAME_BN":"মাদাগাস্কার","NAME_DE":"Madagaskar","NAME_EN":"Madagascar","NAME_ES":"Madagascar","NAME_FA":"ماداگاسکار","NAME_FR":"Madagascar","NAME_EL":"Μαδαγασκάρη","NAME_HE":"מדגסקר","NAME_HI":"मेडागास्कर","NAME_HU":"Madagaszkár","NAME_ID":"Madagaskar","NAME_IT":"Madagascar","NAME_JA":"マダガスカル","NAME_KO":"마다가스카르","NAME_NL":"Madagaskar","NAME_PL":"Madagaskar","NAME_PT":"Madagáscar","NAME_RU":"Мадагаскар","NAME_SV":"Madagaskar","NAME_TR":"Madagaskar","NAME_UK":"Мадагаскар","NAME_UR":"مڈغاسکر","NAME_VI":"Madagascar","NAME_ZH":"马达加斯加","NAME_ZHT":"馬達加斯加","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[43.257129,-25.570508,50.482715,-12.07959],"geometry":{"type":"MultiPolygon","coordinates":[[[[49.538281,-12.432129],[49.58418,-12.536719],[49.637793,-12.637109],[49.80498,-12.879688],[49.876465,-12.973047],[49.9375,-13.072266],[49.967188,-13.270215],[50.073438,-13.57793],[50.173828,-14.040234],[50.20459,-14.514453],[50.235352,-14.732031],[50.313477,-14.936816],[50.441309,-15.149316],[50.482715,-15.385645],[50.40459,-15.629102],[50.291504,-15.858496],[50.262305,-15.901563],[50.208984,-15.960449],[50.184961,-15.957813],[50.094434,-15.898633],[50.02041,-15.801758],[49.926563,-15.573535],[49.892578,-15.457715],[49.85332,-15.439453],[49.74375,-15.449512],[49.664355,-15.521582],[49.649902,-15.566992],[49.666992,-15.695703],[49.69707,-15.811426],[49.710449,-15.928906],[49.712793,-16.076758],[49.742285,-16.121484],[49.785938,-16.159082],[49.831055,-16.255859],[49.839063,-16.486523],[49.811328,-16.603027],[49.733984,-16.703027],[49.738574,-16.758398],[49.767188,-16.815137],[49.739746,-16.849414],[49.636914,-16.892871],[49.595215,-16.931152],[49.539551,-17.03291],[49.449316,-17.240625],[49.437109,-17.34668],[49.493652,-17.669531],[49.477832,-17.898535],[49.362891,-18.336328],[49.296875,-18.544043],[49.20332,-18.792285],[49.060059,-19.119629],[48.918066,-19.530469],[48.797461,-19.953223],[48.708301,-20.207324],[48.607031,-20.45752],[48.468555,-20.9],[48.350781,-21.349023],[48.175879,-21.843066],[47.934473,-22.393945],[47.908398,-22.46582],[47.858301,-22.747266],[47.804102,-22.991504],[47.739453,-23.233398],[47.604102,-23.633105],[47.588672,-23.756348],[47.558008,-23.874609],[47.427637,-24.125195],[47.372559,-24.218457],[47.333594,-24.317578],[47.311719,-24.443164],[47.272852,-24.564355],[47.177344,-24.787207],[47.034961,-24.979004],[46.938184,-25.04873],[46.728516,-25.149902],[46.622266,-25.17041],[46.386719,-25.172754],[46.158691,-25.230371],[45.920898,-25.341309],[45.692188,-25.468457],[45.60459,-25.528711],[45.508008,-25.563184],[45.205762,-25.570508],[45.115234,-25.543066],[44.812891,-25.33418],[44.695801,-25.299707],[44.473828,-25.271094],[44.406738,-25.25332],[44.345898,-25.226074],[44.256152,-25.116895],[44.078125,-25.024609],[44.035352,-24.995703],[44.008301,-24.932031],[43.989844,-24.863477],[43.94375,-24.786719],[43.90957,-24.640625],[43.851562,-24.538379],[43.6875,-24.35791],[43.67002,-24.300293],[43.656836,-24.108789],[43.662109,-23.979199],[43.646094,-23.741895],[43.664746,-23.630273],[43.722266,-23.529688],[43.69873,-23.420898],[43.637598,-23.306543],[43.614648,-23.188184],[43.569531,-23.080469],[43.397852,-22.886328],[43.35752,-22.79082],[43.32959,-22.691895],[43.264844,-22.383594],[43.257129,-22.276367],[43.266602,-22.049316],[43.290527,-21.93252],[43.332227,-21.851172],[43.342676,-21.79043],[43.369727,-21.738281],[43.410547,-21.696484],[43.437793,-21.64668],[43.501855,-21.356445],[43.583105,-21.291992],[43.703613,-21.25498],[43.800195,-21.179199],[43.855664,-21.076855],[43.911133,-20.86582],[44.063086,-20.65625],[44.117188,-20.546094],[44.239648,-20.379688],[44.348145,-20.145508],[44.381055,-20.035156],[44.404688,-19.92207],[44.432227,-19.674219],[44.45293,-19.550879],[44.448828,-19.428711],[44.386523,-19.303125],[44.23877,-19.075195],[44.233984,-19.032617],[44.245703,-18.863184],[44.233105,-18.740625],[44.178711,-18.618555],[44.108789,-18.503516],[44.040039,-18.288477],[44.006641,-17.933008],[44.013672,-17.804492],[43.993555,-17.690332],[43.943555,-17.581445],[43.979395,-17.391602],[44.421387,-16.702637],[44.435742,-16.621484],[44.417969,-16.411328],[44.427051,-16.289062],[44.44248,-16.24375],[44.476172,-16.217285],[44.551855,-16.204492],[44.90918,-16.174512],[44.955078,-16.15332],[45.044238,-16.095117],[45.166797,-15.982813],[45.222852,-15.950488],[45.271289,-15.962305],[45.302344,-16.010449],[45.342188,-16.036719],[45.486328,-15.98584],[45.541797,-15.984277],[45.598242,-15.992578],[45.624707,-15.945801],[45.640527,-15.883105],[45.661523,-15.838867],[45.700195,-15.81377],[45.885938,-15.800098],[46.004297,-15.782129],[46.15752,-15.738281],[46.190527,-15.746875],[46.314063,-15.90459],[46.351562,-15.918164],[46.399609,-15.924609],[46.441602,-15.895898],[46.341309,-15.813379],[46.326172,-15.766699],[46.331445,-15.713672],[46.385156,-15.600098],[46.475098,-15.513477],[46.674707,-15.381836],[46.882031,-15.22959],[46.942285,-15.219043],[46.993262,-15.243164],[47.032324,-15.422656],[47.027441,-15.452246],[47.060547,-15.456348],[47.099219,-15.43418],[47.133398,-15.361719],[47.135156,-15.301563],[47.107324,-15.243848],[47.09375,-15.19502],[47.092578,-15.150098],[47.197656,-15.044043],[47.280469,-14.942676],[47.31875,-14.821777],[47.351953,-14.766113],[47.439063,-14.70332],[47.464746,-14.713281],[47.485059,-14.764355],[47.496387,-14.818359],[47.474023,-14.871973],[47.44209,-14.925],[47.429199,-14.995703],[47.47832,-15.009375],[47.524707,-14.992188],[47.592578,-14.864258],[47.67002,-14.743262],[47.716016,-14.680371],[47.774023,-14.636719],[47.87041,-14.645508],[47.96416,-14.672559],[47.811523,-14.544824],[47.77334,-14.369922],[47.955176,-14.067285],[47.956934,-14.004297],[47.983203,-13.984863],[47.995508,-13.960449],[47.901367,-13.858203],[47.883594,-13.80752],[47.895996,-13.730664],[47.941016,-13.662402],[47.981836,-13.614648],[48.039844,-13.596289],[48.085938,-13.622559],[48.187109,-13.706543],[48.255273,-13.719336],[48.337695,-13.638672],[48.405078,-13.537988],[48.506445,-13.46875],[48.621387,-13.425977],[48.796484,-13.26748],[48.910352,-12.93584],[48.919434,-12.839063],[48.894238,-12.72168],[48.853809,-12.610156],[48.786328,-12.470898],[48.803906,-12.440039],[48.899609,-12.458496],[48.931738,-12.439063],[49.035742,-12.31582],[49.207031,-12.07959],[49.263477,-12.080176],[49.312109,-12.123926],[49.330176,-12.188672],[49.363965,-12.236328],[49.479785,-12.348438],[49.538281,-12.432129]]],[[[48.342188,-13.363867],[48.343555,-13.400391],[48.211914,-13.385254],[48.191211,-13.259961],[48.255664,-13.256055],[48.269727,-13.20459],[48.308887,-13.198242],[48.351074,-13.30957],[48.342188,-13.363867]]],[[[49.936426,-16.90293],[49.824023,-17.086523],[49.855664,-16.933203],[49.985938,-16.712402],[50.023047,-16.695312],[49.936426,-16.90293]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":6,"SOVEREIGNT":"North Macedonia","SOV_A3":"MKD","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"North Macedonia","ADM0_A3":"MKD","GEOU_DIF":0,"GEOUNIT":"North Macedonia","GU_A3":"MKD","SU_DIF":0,"SUBUNIT":"North Macedonia","SU_A3":"MKD","BRK_DIFF":0,"NAME":"North Macedonia","NAME_LONG":"North Macedonia","BRK_A3":"MKD","BRK_NAME":"North Macedonia","BRK_GROUP":null,"ABBREV":"N. Mac.","POSTAL":"NM","FORMAL_EN":"Republic of North Macedonia","FORMAL_FR":null,"NAME_CIAWF":"North Macedonia","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"North Macedonia","NAME_ALT":null,"MAPCOLOR7":5,"MAPCOLOR8":3,"MAPCOLOR9":7,"MAPCOLOR13":3,"POP_EST":2083459,"POP_RANK":12,"POP_YEAR":2019,"GDP_MD":12547,"GDP_YEAR":2019,"ECONOMY":"6. Developing region","INCOME_GRP":"3. Upper middle income","FIPS_10":"MK","ISO_A2":"MK","ISO_A2_EH":"MK","ISO_A3":"MKD","ISO_A3_EH":"MKD","ISO_N3":"807","ISO_N3_EH":"807","UN_A3":"807","WB_A2":"MK","WB_A3":"MKD","WOE_ID":23424890,"WOE_ID_EH":23424890,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"MKD","ADM0_DIFF":null,"ADM0_TLC":"MKD","ADM0_A3_US":"MKD","ADM0_A3_FR":"MKD","ADM0_A3_RU":"MKD","ADM0_A3_ES":"MKD","ADM0_A3_CN":"MKD","ADM0_A3_TW":"MKD","ADM0_A3_IN":"MKD","ADM0_A3_NP":"MKD","ADM0_A3_PK":"MKD","ADM0_A3_DE":"MKD","ADM0_A3_GB":"MKD","ADM0_A3_BR":"MKD","ADM0_A3_IL":"MKD","ADM0_A3_PS":"MKD","ADM0_A3_SA":"MKD","ADM0_A3_EG":"MKD","ADM0_A3_MA":"MKD","ADM0_A3_PT":"MKD","ADM0_A3_AR":"MKD","ADM0_A3_JP":"MKD","ADM0_A3_KO":"MKD","ADM0_A3_VN":"MKD","ADM0_A3_TR":"MKD","ADM0_A3_ID":"MKD","ADM0_A3_PL":"MKD","ADM0_A3_GR":"MKD","ADM0_A3_IT":"MKD","ADM0_A3_NL":"MKD","ADM0_A3_SE":"MKD","ADM0_A3_BD":"MKD","ADM0_A3_UA":"MKD","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Europe","REGION_UN":"Europe","SUBREGION":"Southern Europe","REGION_WB":"Europe & Central Asia","NAME_LEN":15,"LONG_LEN":15,"ABBREV_LEN":7,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":5,"MAX_LABEL":10,"LABEL_X":21.555839,"LABEL_Y":41.558223,"NE_ID":1159321061,"WIKIDATAID":"Q221","NAME_AR":"مقدونيا الشمالية","NAME_BN":"উত্তর মেসিডোনিয়া","NAME_DE":"Nordmazedonien","NAME_EN":"North Macedonia","NAME_ES":"Macedonia del Norte","NAME_FA":"مقدونیه شمالی","NAME_FR":"Macédoine du Nord","NAME_EL":"Βόρεια Μακεδονία","NAME_HE":"מקדוניה הצפונית","NAME_HI":"उत्तर मैसिडोनिया","NAME_HU":"Észak-Macedónia","NAME_ID":"Republik Makedonia Utara","NAME_IT":"Macedonia del Nord","NAME_JA":"北マケドニア","NAME_KO":"북마케도니아","NAME_NL":"Noord-Macedonië","NAME_PL":"Macedonia Północna","NAME_PT":"Macedónia do Norte","NAME_RU":"Северная Македония","NAME_SV":"Nordmakedonien","NAME_TR":"Kuzey Makedonya","NAME_UK":"Північна Македонія","NAME_UR":"شمالی مقدونیہ","NAME_VI":"Bắc Macedonia","NAME_ZH":"北马其顿","NAME_ZHT":"北馬其頓","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[20.448633,40.849902,23.005664,42.358154],"geometry":{"type":"Polygon","coordinates":[[[21.5625,42.24751],[21.618262,42.242139],[21.739258,42.267725],[21.814648,42.303125],[21.853027,42.308398],[21.904102,42.32207],[21.977539,42.320068],[22.052051,42.304639],[22.14668,42.325],[22.239746,42.358154],[22.277051,42.349854],[22.317383,42.321729],[22.344043,42.313965],[22.498242,42.165088],[22.582715,42.104834],[22.682324,42.059131],[22.796094,42.025684],[22.836816,41.993604],[22.90918,41.835205],[22.943945,41.775098],[22.991992,41.757178],[23.003613,41.739844],[23.005664,41.716943],[22.951465,41.605615],[22.929688,41.356104],[22.916016,41.336279],[22.859277,41.337354],[22.783887,41.331982],[22.755078,41.312744],[22.724805,41.178516],[22.603613,41.140186],[22.493555,41.118506],[22.400781,41.123389],[22.237695,41.155176],[22.184473,41.158643],[22.138867,41.140527],[21.993359,41.130957],[21.929492,41.107422],[21.779492,40.950439],[21.627539,40.896338],[21.575781,40.868945],[21.459668,40.903613],[21.404102,40.907178],[21.32373,40.867139],[21.147559,40.863135],[21.1,40.856152],[20.964258,40.849902],[20.958594,40.871533],[20.933496,40.903125],[20.870215,40.91792],[20.74082,40.905273],[20.709277,40.928369],[20.656055,41.06167],[20.614453,41.083057],[20.567871,41.127832],[20.488965,41.272607],[20.487012,41.336084],[20.492383,41.391406],[20.448633,41.521289],[20.475586,41.554102],[20.516211,41.574756],[20.516602,41.627051],[20.505176,41.706494],[20.553125,41.862354],[20.566211,41.873682],[20.578516,41.866211],[20.694922,41.853809],[20.725,41.873535],[20.744141,41.904297],[20.750391,42.018359],[20.778125,42.071045],[21.059766,42.171289],[21.14248,42.175],[21.206055,42.128955],[21.256348,42.099512],[21.286621,42.100391],[21.297559,42.130078],[21.331738,42.187158],[21.389551,42.219824],[21.56084,42.247656],[21.5625,42.24751]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":6,"SOVEREIGNT":"Luxembourg","SOV_A3":"LUX","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Luxembourg","ADM0_A3":"LUX","GEOU_DIF":0,"GEOUNIT":"Luxembourg","GU_A3":"LUX","SU_DIF":0,"SUBUNIT":"Luxembourg","SU_A3":"LUX","BRK_DIFF":0,"NAME":"Luxembourg","NAME_LONG":"Luxembourg","BRK_A3":"LUX","BRK_NAME":"Luxembourg","BRK_GROUP":null,"ABBREV":"Lux.","POSTAL":"L","FORMAL_EN":"Grand Duchy of Luxembourg","FORMAL_FR":null,"NAME_CIAWF":"Luxembourg","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Luxembourg","NAME_ALT":null,"MAPCOLOR7":1,"MAPCOLOR8":7,"MAPCOLOR9":3,"MAPCOLOR13":7,"POP_EST":619896,"POP_RANK":11,"POP_YEAR":2019,"GDP_MD":71104,"GDP_YEAR":2019,"ECONOMY":"2. Developed region: nonG7","INCOME_GRP":"1. High income: OECD","FIPS_10":"LU","ISO_A2":"LU","ISO_A2_EH":"LU","ISO_A3":"LUX","ISO_A3_EH":"LUX","ISO_N3":"442","ISO_N3_EH":"442","UN_A3":"442","WB_A2":"LU","WB_A3":"LUX","WOE_ID":23424881,"WOE_ID_EH":23424881,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"LUX","ADM0_DIFF":null,"ADM0_TLC":"LUX","ADM0_A3_US":"LUX","ADM0_A3_FR":"LUX","ADM0_A3_RU":"LUX","ADM0_A3_ES":"LUX","ADM0_A3_CN":"LUX","ADM0_A3_TW":"LUX","ADM0_A3_IN":"LUX","ADM0_A3_NP":"LUX","ADM0_A3_PK":"LUX","ADM0_A3_DE":"LUX","ADM0_A3_GB":"LUX","ADM0_A3_BR":"LUX","ADM0_A3_IL":"LUX","ADM0_A3_PS":"LUX","ADM0_A3_SA":"LUX","ADM0_A3_EG":"LUX","ADM0_A3_MA":"LUX","ADM0_A3_PT":"LUX","ADM0_A3_AR":"LUX","ADM0_A3_JP":"LUX","ADM0_A3_KO":"LUX","ADM0_A3_VN":"LUX","ADM0_A3_TR":"LUX","ADM0_A3_ID":"LUX","ADM0_A3_PL":"LUX","ADM0_A3_GR":"LUX","ADM0_A3_IT":"LUX","ADM0_A3_NL":"LUX","ADM0_A3_SE":"LUX","ADM0_A3_BD":"LUX","ADM0_A3_UA":"LUX","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Europe","REGION_UN":"Europe","SUBREGION":"Western Europe","REGION_WB":"Europe & Central Asia","NAME_LEN":10,"LONG_LEN":10,"ABBREV_LEN":4,"TINY":5,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":5.7,"MAX_LABEL":10,"LABEL_X":6.07762,"LABEL_Y":49.733732,"NE_ID":1159321031,"WIKIDATAID":"Q32","NAME_AR":"لوكسمبورغ","NAME_BN":"লুক্সেমবুর্গ","NAME_DE":"Luxemburg","NAME_EN":"Luxembourg","NAME_ES":"Luxemburgo","NAME_FA":"لوکزامبورگ","NAME_FR":"Luxembourg","NAME_EL":"Λουξεμβούργο","NAME_HE":"לוקסמבורג","NAME_HI":"लक्ज़मबर्ग","NAME_HU":"Luxemburg","NAME_ID":"Luksemburg","NAME_IT":"Lussemburgo","NAME_JA":"ルクセンブルク","NAME_KO":"룩셈부르크","NAME_NL":"Luxemburg","NAME_PL":"Luksemburg","NAME_PT":"Luxemburgo","NAME_RU":"Люксембург","NAME_SV":"Luxemburg","NAME_TR":"Lüksemburg","NAME_UK":"Люксембург","NAME_UR":"لکسمبرگ","NAME_VI":"Luxembourg","NAME_ZH":"卢森堡","NAME_ZHT":"盧森堡","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[5.725,49.445459,6.49375,50.167187],"geometry":{"type":"Polygon","coordinates":[[[6.116504,50.120996],[6.108301,50.094238],[6.109766,50.034375],[6.138184,49.974316],[6.204883,49.915137],[6.256055,49.872168],[6.324609,49.837891],[6.440918,49.805322],[6.487305,49.798486],[6.49375,49.754395],[6.484766,49.707812],[6.444629,49.682031],[6.406738,49.644971],[6.37832,49.599609],[6.348438,49.512695],[6.344336,49.452734],[6.277344,49.477539],[6.242188,49.494336],[6.181055,49.498926],[6.119922,49.485205],[6.074121,49.454639],[6.011426,49.445459],[5.959473,49.454639],[5.928906,49.477539],[5.901367,49.489746],[5.823438,49.505078],[5.789746,49.538281],[5.81543,49.553809],[5.837598,49.57832],[5.856543,49.612842],[5.880371,49.644775],[5.803711,49.732178],[5.787988,49.758887],[5.725,49.808301],[5.725781,49.83335],[5.74082,49.857178],[5.735254,49.875635],[5.744043,49.919629],[5.788086,49.96123],[5.817383,50.012695],[5.866895,50.082812],[5.97627,50.167187],[6.054785,50.154297],[6.089063,50.15459],[6.110059,50.123779],[6.116504,50.120996]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":3,"LABELRANK":5,"SOVEREIGNT":"Lithuania","SOV_A3":"LTU","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Lithuania","ADM0_A3":"LTU","GEOU_DIF":0,"GEOUNIT":"Lithuania","GU_A3":"LTU","SU_DIF":0,"SUBUNIT":"Lithuania","SU_A3":"LTU","BRK_DIFF":0,"NAME":"Lithuania","NAME_LONG":"Lithuania","BRK_A3":"LTU","BRK_NAME":"Lithuania","BRK_GROUP":null,"ABBREV":"Lith.","POSTAL":"LT","FORMAL_EN":"Republic of Lithuania","FORMAL_FR":null,"NAME_CIAWF":"Lithuania","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Lithuania","NAME_ALT":null,"MAPCOLOR7":6,"MAPCOLOR8":3,"MAPCOLOR9":3,"MAPCOLOR13":9,"POP_EST":2786844,"POP_RANK":12,"POP_YEAR":2019,"GDP_MD":54627,"GDP_YEAR":2019,"ECONOMY":"2. Developed region: nonG7","INCOME_GRP":"3. Upper middle income","FIPS_10":"LH","ISO_A2":"LT","ISO_A2_EH":"LT","ISO_A3":"LTU","ISO_A3_EH":"LTU","ISO_N3":"440","ISO_N3_EH":"440","UN_A3":"440","WB_A2":"LT","WB_A3":"LTU","WOE_ID":23424875,"WOE_ID_EH":23424875,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"LTU","ADM0_DIFF":null,"ADM0_TLC":"LTU","ADM0_A3_US":"LTU","ADM0_A3_FR":"LTU","ADM0_A3_RU":"LTU","ADM0_A3_ES":"LTU","ADM0_A3_CN":"LTU","ADM0_A3_TW":"LTU","ADM0_A3_IN":"LTU","ADM0_A3_NP":"LTU","ADM0_A3_PK":"LTU","ADM0_A3_DE":"LTU","ADM0_A3_GB":"LTU","ADM0_A3_BR":"LTU","ADM0_A3_IL":"LTU","ADM0_A3_PS":"LTU","ADM0_A3_SA":"LTU","ADM0_A3_EG":"LTU","ADM0_A3_MA":"LTU","ADM0_A3_PT":"LTU","ADM0_A3_AR":"LTU","ADM0_A3_JP":"LTU","ADM0_A3_KO":"LTU","ADM0_A3_VN":"LTU","ADM0_A3_TR":"LTU","ADM0_A3_ID":"LTU","ADM0_A3_PL":"LTU","ADM0_A3_GR":"LTU","ADM0_A3_IT":"LTU","ADM0_A3_NL":"LTU","ADM0_A3_SE":"LTU","ADM0_A3_BD":"LTU","ADM0_A3_UA":"LTU","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Europe","REGION_UN":"Europe","SUBREGION":"Northern Europe","REGION_WB":"Europe & Central Asia","NAME_LEN":9,"LONG_LEN":9,"ABBREV_LEN":5,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":4,"MAX_LABEL":9,"LABEL_X":24.089932,"LABEL_Y":55.103703,"NE_ID":1159321029,"WIKIDATAID":"Q37","NAME_AR":"ليتوانيا","NAME_BN":"লিথুয়ানিয়া","NAME_DE":"Litauen","NAME_EN":"Lithuania","NAME_ES":"Lituania","NAME_FA":"لیتوانی","NAME_FR":"Lituanie","NAME_EL":"Λιθουανία","NAME_HE":"ליטא","NAME_HI":"लिथुआनिया","NAME_HU":"Litvánia","NAME_ID":"Lituania","NAME_IT":"Lituania","NAME_JA":"リトアニア","NAME_KO":"리투아니아","NAME_NL":"Litouwen","NAME_PL":"Litwa","NAME_PT":"Lituânia","NAME_RU":"Литва","NAME_SV":"Litauen","NAME_TR":"Litvanya","NAME_UK":"Литва","NAME_UR":"لتھووینیا","NAME_VI":"Litva","NAME_ZH":"立陶宛","NAME_ZHT":"立陶宛","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[20.899805,53.892969,26.775684,56.411182],"geometry":{"type":"MultiPolygon","coordinates":[[[[20.957813,55.278906],[20.899805,55.28667],[21.014063,55.401953],[21.057617,55.476807],[21.087891,55.583105],[21.114844,55.616504],[21.115723,55.568164],[21.103906,55.487744],[21.031738,55.350488],[20.957813,55.278906]]],[[[22.766211,54.356787],[22.724316,54.405615],[22.679883,54.493018],[22.684473,54.562939],[22.709668,54.632617],[22.83125,54.838477],[22.824707,54.871289],[22.736523,54.928857],[22.627441,54.970703],[22.567285,55.059131],[22.346387,55.064258],[22.137891,55.059375],[22.072363,55.063672],[21.873926,55.100732],[21.682715,55.160352],[21.554688,55.195312],[21.44707,55.234424],[21.389258,55.275537],[21.297559,55.264453],[21.235742,55.264111],[21.236328,55.271191],[21.201074,55.343799],[21.237891,55.455029],[21.171094,55.617725],[21.061914,55.813428],[21.053809,56.022949],[21.046094,56.070068],[21.314648,56.188135],[21.653516,56.314551],[21.730566,56.325977],[22.042871,56.400781],[22.08457,56.406738],[22.365918,56.392871],[22.586914,56.375098],[22.773242,56.377295],[22.875586,56.396436],[22.968262,56.38042],[23.042969,56.324072],[23.119824,56.330664],[23.195898,56.367139],[23.612695,56.333838],[23.706738,56.334619],[23.812695,56.329248],[24.008203,56.295264],[24.120703,56.264258],[24.367871,56.283008],[24.473633,56.284082],[24.529004,56.296289],[24.699512,56.381299],[24.773242,56.395898],[24.841016,56.411182],[24.903027,56.398193],[24.943848,56.325586],[25.069922,56.200391],[25.206934,56.178418],[25.585742,56.130176],[25.663184,56.104834],[25.876367,55.994336],[26.004199,55.940137],[26.085547,55.896875],[26.20957,55.812109],[26.28125,55.750439],[26.401074,55.703809],[26.542871,55.672412],[26.593555,55.667529],[26.59082,55.622656],[26.566602,55.546484],[26.519238,55.448145],[26.469531,55.371924],[26.457617,55.34248],[26.495313,55.318018],[26.68125,55.306445],[26.760156,55.293359],[26.775684,55.273096],[26.734375,55.246777],[26.675,55.224902],[26.648438,55.204199],[26.601172,55.130176],[26.291797,55.1396],[26.250781,55.124512],[26.23125,55.090137],[26.21582,55.050391],[26.175195,55.003271],[26.092969,54.962305],[25.964453,54.947168],[25.859277,54.919287],[25.780859,54.833252],[25.722461,54.717871],[25.723926,54.636035],[25.731641,54.590381],[25.724805,54.564258],[25.685156,54.535791],[25.620313,54.4604],[25.567578,54.377051],[25.547363,54.331836],[25.55752,54.310693],[25.616895,54.310107],[25.702539,54.292969],[25.748145,54.259668],[25.765039,54.221191],[25.765234,54.179785],[25.749219,54.156982],[25.680566,54.140479],[25.573047,54.139893],[25.510352,54.159619],[25.497363,54.175244],[25.527344,54.215137],[25.505664,54.264941],[25.461133,54.292773],[25.370605,54.251221],[25.283691,54.25127],[25.179492,54.214258],[25.111426,54.154932],[25.046094,54.133057],[24.869531,54.145166],[24.825684,54.118994],[24.789258,53.998242],[24.768164,53.974658],[24.620703,53.979834],[24.478516,53.931836],[24.317969,53.892969],[24.236621,53.919971],[24.191309,53.950439],[24.103906,53.94502],[24.008496,53.931641],[23.944434,53.938965],[23.872559,53.935693],[23.733691,53.912256],[23.559082,53.919824],[23.484668,53.939795],[23.477637,53.958936],[23.483008,54.005957],[23.481348,54.079004],[23.453613,54.143457],[23.370117,54.200488],[23.282324,54.240332],[23.170313,54.281445],[23.0875,54.299463],[23.042188,54.304199],[23.031934,54.327881],[23.015527,54.34834],[22.976758,54.366357],[22.893945,54.390527],[22.82373,54.395801],[22.766211,54.356787]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":6,"SOVEREIGNT":"Liechtenstein","SOV_A3":"LIE","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Liechtenstein","ADM0_A3":"LIE","GEOU_DIF":0,"GEOUNIT":"Liechtenstein","GU_A3":"LIE","SU_DIF":0,"SUBUNIT":"Liechtenstein","SU_A3":"LIE","BRK_DIFF":0,"NAME":"Liechtenstein","NAME_LONG":"Liechtenstein","BRK_A3":"LIE","BRK_NAME":"Liechtenstein","BRK_GROUP":null,"ABBREV":"Liech.","POSTAL":"FL","FORMAL_EN":"Principality of Liechtenstein","FORMAL_FR":null,"NAME_CIAWF":"Liechtenstein","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Liechtenstein","NAME_ALT":null,"MAPCOLOR7":2,"MAPCOLOR8":4,"MAPCOLOR9":2,"MAPCOLOR13":9,"POP_EST":38019,"POP_RANK":7,"POP_YEAR":2019,"GDP_MD":6876,"GDP_YEAR":2018,"ECONOMY":"2. Developed region: nonG7","INCOME_GRP":"2. High income: nonOECD","FIPS_10":"LS","ISO_A2":"LI","ISO_A2_EH":"LI","ISO_A3":"LIE","ISO_A3_EH":"LIE","ISO_N3":"438","ISO_N3_EH":"438","UN_A3":"438","WB_A2":"LI","WB_A3":"LIE","WOE_ID":23424879,"WOE_ID_EH":23424879,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"LIE","ADM0_DIFF":null,"ADM0_TLC":"LIE","ADM0_A3_US":"LIE","ADM0_A3_FR":"LIE","ADM0_A3_RU":"LIE","ADM0_A3_ES":"LIE","ADM0_A3_CN":"LIE","ADM0_A3_TW":"LIE","ADM0_A3_IN":"LIE","ADM0_A3_NP":"LIE","ADM0_A3_PK":"LIE","ADM0_A3_DE":"LIE","ADM0_A3_GB":"LIE","ADM0_A3_BR":"LIE","ADM0_A3_IL":"LIE","ADM0_A3_PS":"LIE","ADM0_A3_SA":"LIE","ADM0_A3_EG":"LIE","ADM0_A3_MA":"LIE","ADM0_A3_PT":"LIE","ADM0_A3_AR":"LIE","ADM0_A3_JP":"LIE","ADM0_A3_KO":"LIE","ADM0_A3_VN":"LIE","ADM0_A3_TR":"LIE","ADM0_A3_ID":"LIE","ADM0_A3_PL":"LIE","ADM0_A3_GR":"LIE","ADM0_A3_IT":"LIE","ADM0_A3_NL":"LIE","ADM0_A3_SE":"LIE","ADM0_A3_BD":"LIE","ADM0_A3_UA":"LIE","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Europe","REGION_UN":"Europe","SUBREGION":"Western Europe","REGION_WB":"Europe & Central Asia","NAME_LEN":13,"LONG_LEN":13,"ABBREV_LEN":6,"TINY":6,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":5,"MAX_LABEL":10,"LABEL_X":9.559439,"LABEL_Y":47.111405,"NE_ID":1159321021,"WIKIDATAID":"Q347","NAME_AR":"ليختنشتاين","NAME_BN":"লিশটেনস্টাইন","NAME_DE":"Liechtenstein","NAME_EN":"Liechtenstein","NAME_ES":"Liechtenstein","NAME_FA":"لیختناشتاین","NAME_FR":"Liechtenstein","NAME_EL":"Λίχτενσταϊν","NAME_HE":"ליכטנשטיין","NAME_HI":"लिक्टेन्स्टाइन","NAME_HU":"Liechtenstein","NAME_ID":"Liechtenstein","NAME_IT":"Liechtenstein","NAME_JA":"リヒテンシュタイン","NAME_KO":"리히텐슈타인","NAME_NL":"Liechtenstein","NAME_PL":"Liechtenstein","NAME_PT":"Liechtenstein","NAME_RU":"Лихтенштейн","NAME_SV":"Liechtenstein","NAME_TR":"Lihtenştayn","NAME_UK":"Ліхтенштейн","NAME_UR":"لیختینستائن","NAME_VI":"Liechtenstein","NAME_ZH":"列支敦士登","NAME_ZHT":"列支敦斯登","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[9.479492,47.057373,9.610547,47.270752],"geometry":{"type":"Polygon","coordinates":[[[9.580273,47.057373],[9.502344,47.062744],[9.487695,47.062256],[9.479492,47.09751],[9.484277,47.172656],[9.527539,47.270752],[9.536816,47.254639],[9.542188,47.234131],[9.551074,47.212256],[9.555762,47.185498],[9.571875,47.15791],[9.601172,47.13208],[9.610547,47.107129],[9.595703,47.07583],[9.580273,47.057373]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":3,"SOVEREIGNT":"Libya","SOV_A3":"LBY","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Libya","ADM0_A3":"LBY","GEOU_DIF":0,"GEOUNIT":"Libya","GU_A3":"LBY","SU_DIF":0,"SUBUNIT":"Libya","SU_A3":"LBY","BRK_DIFF":0,"NAME":"Libya","NAME_LONG":"Libya","BRK_A3":"LBY","BRK_NAME":"Libya","BRK_GROUP":null,"ABBREV":"Libya","POSTAL":"LY","FORMAL_EN":"Libya","FORMAL_FR":null,"NAME_CIAWF":"Libya","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Libya","NAME_ALT":null,"MAPCOLOR7":1,"MAPCOLOR8":2,"MAPCOLOR9":2,"MAPCOLOR13":11,"POP_EST":6777452,"POP_RANK":13,"POP_YEAR":2019,"GDP_MD":52091,"GDP_YEAR":2019,"ECONOMY":"6. Developing region","INCOME_GRP":"3. Upper middle income","FIPS_10":"LY","ISO_A2":"LY","ISO_A2_EH":"LY","ISO_A3":"LBY","ISO_A3_EH":"LBY","ISO_N3":"434","ISO_N3_EH":"434","UN_A3":"434","WB_A2":"LY","WB_A3":"LBY","WOE_ID":23424882,"WOE_ID_EH":23424882,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"LBY","ADM0_DIFF":null,"ADM0_TLC":"LBY","ADM0_A3_US":"LBY","ADM0_A3_FR":"LBY","ADM0_A3_RU":"LBY","ADM0_A3_ES":"LBY","ADM0_A3_CN":"LBY","ADM0_A3_TW":"LBY","ADM0_A3_IN":"LBY","ADM0_A3_NP":"LBY","ADM0_A3_PK":"LBY","ADM0_A3_DE":"LBY","ADM0_A3_GB":"LBY","ADM0_A3_BR":"LBY","ADM0_A3_IL":"LBY","ADM0_A3_PS":"LBY","ADM0_A3_SA":"LBY","ADM0_A3_EG":"LBY","ADM0_A3_MA":"LBY","ADM0_A3_PT":"LBY","ADM0_A3_AR":"LBY","ADM0_A3_JP":"LBY","ADM0_A3_KO":"LBY","ADM0_A3_VN":"LBY","ADM0_A3_TR":"LBY","ADM0_A3_ID":"LBY","ADM0_A3_PL":"LBY","ADM0_A3_GR":"LBY","ADM0_A3_IT":"LBY","ADM0_A3_NL":"LBY","ADM0_A3_SE":"LBY","ADM0_A3_BD":"LBY","ADM0_A3_UA":"LBY","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Africa","REGION_UN":"Africa","SUBREGION":"Northern Africa","REGION_WB":"Middle East & North Africa","NAME_LEN":5,"LONG_LEN":5,"ABBREV_LEN":5,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":3,"MAX_LABEL":8,"LABEL_X":18.011015,"LABEL_Y":26.638944,"NE_ID":1159321017,"WIKIDATAID":"Q1016","NAME_AR":"ليبيا","NAME_BN":"লিবিয়া","NAME_DE":"Libyen","NAME_EN":"Libya","NAME_ES":"Libia","NAME_FA":"لیبی","NAME_FR":"Libye","NAME_EL":"Λιβύη","NAME_HE":"לוב","NAME_HI":"लीबिया","NAME_HU":"Líbia","NAME_ID":"Libya","NAME_IT":"Libia","NAME_JA":"リビア","NAME_KO":"리비아","NAME_NL":"Libië","NAME_PL":"Libia","NAME_PT":"Líbia","NAME_RU":"Ливия","NAME_SV":"Libyen","NAME_TR":"Libya","NAME_UK":"Лівія","NAME_UR":"لیبیا","NAME_VI":"Libya","NAME_ZH":"利比亚","NAME_ZHT":"利比亞","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[9.310254,19.496631,25.150488,33.181934],"geometry":{"type":"Polygon","coordinates":[[[9.51875,30.229395],[9.637988,30.282324],[9.807422,30.342236],[9.89502,30.387305],[9.93252,30.425342],[10.059766,30.580078],[10.125977,30.665967],[10.216406,30.783203],[10.256055,30.864941],[10.257031,30.94082],[10.243359,31.032129],[10.172656,31.250977],[10.114941,31.46377],[10.159863,31.545801],[10.195996,31.585107],[10.274609,31.684961],[10.306055,31.704834],[10.475781,31.736035],[10.543652,31.802539],[10.595508,31.885742],[10.608887,31.929541],[10.683008,31.975391],[10.771582,32.021191],[10.826367,32.080664],[11.005176,32.172705],[11.168262,32.256738],[11.358008,32.345215],[11.50498,32.413672],[11.535938,32.47334],[11.533789,32.524951],[11.453906,32.642578],[11.453906,32.781689],[11.45918,32.897363],[11.467188,32.965723],[11.502441,33.155566],[11.50459,33.181934],[11.657129,33.118896],[11.813477,33.093701],[12.279883,32.858545],[12.427051,32.829102],[12.753516,32.801074],[13.138086,32.897363],[13.283496,32.914648],[13.536328,32.824268],[13.647754,32.798828],[13.835352,32.791797],[14.155664,32.709766],[14.237109,32.68125],[14.423828,32.550293],[14.513379,32.511084],[15.176563,32.391162],[15.266895,32.31167],[15.359082,32.159668],[15.363086,31.971191],[15.414062,31.834229],[15.496387,31.656787],[15.595801,31.531104],[15.705957,31.426416],[15.832227,31.360986],[16.123047,31.264453],[16.450977,31.227295],[16.781543,31.214746],[17.349219,31.081494],[17.830469,30.927588],[17.949316,30.851904],[18.19043,30.777295],[18.669824,30.415674],[18.936426,30.29043],[19.12373,30.266113],[19.291699,30.288086],[19.589844,30.41377],[19.713281,30.488379],[20.013184,30.800684],[20.111523,30.963721],[20.150977,31.078613],[20.141113,31.195508],[20.103809,31.300537],[20.02002,31.410645],[19.96123,31.556006],[19.926367,31.817529],[19.973438,31.999072],[20.030957,32.107861],[20.121484,32.21875],[20.370605,32.430762],[20.621094,32.580176],[21.062305,32.775537],[21.31875,32.777686],[21.424707,32.79917],[21.635938,32.937305],[21.721387,32.94248],[21.839453,32.908643],[22.187402,32.918262],[22.340625,32.879883],[22.523438,32.793945],[22.754102,32.740527],[22.916895,32.687158],[23.090625,32.61875],[23.129688,32.448145],[23.110449,32.397412],[23.10625,32.331445],[23.286328,32.213818],[23.797656,32.158691],[23.898438,32.127197],[24.038965,32.037012],[24.129688,32.009229],[24.479785,31.996533],[24.683887,32.015967],[24.878516,31.984277],[24.950684,31.953711],[25.025,31.88335],[25.115039,31.712305],[25.150488,31.65498],[25.112012,31.626904],[25.057227,31.567187],[25.022656,31.514014],[24.92998,31.42749],[24.852734,31.334814],[24.859961,31.19917],[24.877539,31.06123],[24.929492,30.926465],[24.973926,30.776562],[24.961426,30.678516],[24.923047,30.558008],[24.877539,30.45752],[24.726465,30.250586],[24.703223,30.201074],[24.711621,30.131543],[24.803711,29.886035],[24.81084,29.80874],[24.865918,29.570264],[24.916113,29.37627],[24.97168,29.223828],[24.980273,29.181885],[24.980273,28.957324],[24.980273,28.732764],[24.980273,28.508203],[24.980273,28.283643],[24.980273,28.059082],[24.980273,27.834521],[24.980273,27.609961],[24.980273,27.3854],[24.980273,27.16084],[24.980273,26.93623],[24.980273,26.71167],[24.980273,26.487109],[24.980273,26.262549],[24.980273,26.037988],[24.980273,25.813428],[24.980273,25.588867],[24.980273,25.364307],[24.980273,25.139746],[24.980273,24.915186],[24.980273,24.690625],[24.980273,24.466064],[24.980273,24.241504],[24.980273,24.016943],[24.980273,23.792383],[24.980273,23.567822],[24.980273,23.343213],[24.980273,23.118652],[24.980273,22.894092],[24.980273,22.669531],[24.980273,22.444971],[24.980273,22.22041],[24.980273,21.99585],[24.980078,21.497559],[24.979883,20.999219],[24.979688,20.500928],[24.979492,20.002588],[24.976367,20.000781],[24.973242,19.999023],[24.970215,19.997266],[24.966992,19.995459],[24.72041,19.995557],[24.473633,19.995703],[24.226953,19.99585],[23.980273,19.995947],[23.980273,19.871094],[23.980273,19.746289],[23.980273,19.621484],[23.980273,19.496631],[23.50127,19.733203],[23.022168,19.969775],[22.543066,20.206348],[22.064063,20.44292],[21.584961,20.679492],[21.105859,20.916113],[20.626758,21.152637],[20.147656,21.389258],[19.668555,21.62583],[19.189453,21.862402],[18.710449,22.098975],[18.231348,22.335547],[17.752246,22.572119],[17.273242,22.808691],[16.794141,23.045264],[16.315039,23.281836],[15.984082,23.445215],[15.627148,23.285742],[15.347461,23.160693],[14.979004,22.996191],[14.978906,22.996289],[14.555664,22.78252],[14.230762,22.618457],[14.215527,22.619678],[14.200684,22.62373],[13.862695,22.9021],[13.598633,23.119531],[13.48125,23.180176],[12.983594,23.29126],[12.48877,23.40166],[11.967871,23.517871],[11.873047,23.694824],[11.766992,23.892578],[11.624219,24.139697],[11.536914,24.29082],[11.507617,24.314355],[11.108203,24.434033],[10.686133,24.551367],[10.438965,24.480225],[10.395898,24.485596],[10.325781,24.530225],[10.255859,24.591016],[10.218652,24.676221],[10.119531,24.790234],[10.028125,25.051025],[10.019043,25.258545],[10.000684,25.33208],[9.781055,25.624268],[9.58125,25.890137],[9.448242,26.067139],[9.422363,26.14707],[9.437891,26.245508],[9.491406,26.33374],[9.684961,26.438232],[9.859375,26.551953],[9.883203,26.630811],[9.894434,26.847949],[9.837109,26.91582],[9.79541,27.044775],[9.752539,27.219336],[9.747559,27.330859],[9.825293,27.552979],[9.916016,27.785693],[9.858203,28.043311],[9.815625,28.560205],[9.842578,28.966992],[9.820703,29.114795],[9.805273,29.176953],[9.745898,29.368945],[9.672656,29.566992],[9.640137,29.636426],[9.546191,29.795947],[9.391016,29.993652],[9.310254,30.115234],[9.420996,30.179297],[9.51875,30.229395]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":4,"SOVEREIGNT":"Liberia","SOV_A3":"LBR","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Liberia","ADM0_A3":"LBR","GEOU_DIF":0,"GEOUNIT":"Liberia","GU_A3":"LBR","SU_DIF":0,"SUBUNIT":"Liberia","SU_A3":"LBR","BRK_DIFF":0,"NAME":"Liberia","NAME_LONG":"Liberia","BRK_A3":"LBR","BRK_NAME":"Liberia","BRK_GROUP":null,"ABBREV":"Liberia","POSTAL":"LR","FORMAL_EN":"Republic of Liberia","FORMAL_FR":null,"NAME_CIAWF":"Liberia","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Liberia","NAME_ALT":null,"MAPCOLOR7":2,"MAPCOLOR8":3,"MAPCOLOR9":4,"MAPCOLOR13":9,"POP_EST":4937374,"POP_RANK":12,"POP_YEAR":2019,"GDP_MD":3070,"GDP_YEAR":2019,"ECONOMY":"7. Least developed region","INCOME_GRP":"5. Low income","FIPS_10":"LI","ISO_A2":"LR","ISO_A2_EH":"LR","ISO_A3":"LBR","ISO_A3_EH":"LBR","ISO_N3":"430","ISO_N3_EH":"430","UN_A3":"430","WB_A2":"LR","WB_A3":"LBR","WOE_ID":23424876,"WOE_ID_EH":23424876,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"LBR","ADM0_DIFF":null,"ADM0_TLC":"LBR","ADM0_A3_US":"LBR","ADM0_A3_FR":"LBR","ADM0_A3_RU":"LBR","ADM0_A3_ES":"LBR","ADM0_A3_CN":"LBR","ADM0_A3_TW":"LBR","ADM0_A3_IN":"LBR","ADM0_A3_NP":"LBR","ADM0_A3_PK":"LBR","ADM0_A3_DE":"LBR","ADM0_A3_GB":"LBR","ADM0_A3_BR":"LBR","ADM0_A3_IL":"LBR","ADM0_A3_PS":"LBR","ADM0_A3_SA":"LBR","ADM0_A3_EG":"LBR","ADM0_A3_MA":"LBR","ADM0_A3_PT":"LBR","ADM0_A3_AR":"LBR","ADM0_A3_JP":"LBR","ADM0_A3_KO":"LBR","ADM0_A3_VN":"LBR","ADM0_A3_TR":"LBR","ADM0_A3_ID":"LBR","ADM0_A3_PL":"LBR","ADM0_A3_GR":"LBR","ADM0_A3_IT":"LBR","ADM0_A3_NL":"LBR","ADM0_A3_SE":"LBR","ADM0_A3_BD":"LBR","ADM0_A3_UA":"LBR","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Africa","REGION_UN":"Africa","SUBREGION":"Western Africa","REGION_WB":"Sub-Saharan Africa","NAME_LEN":7,"LONG_LEN":7,"ABBREV_LEN":7,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":4,"MAX_LABEL":9,"LABEL_X":-9.460379,"LABEL_Y":6.447177,"NE_ID":1159321015,"WIKIDATAID":"Q1014","NAME_AR":"ليبيريا","NAME_BN":"লাইবেরিয়া","NAME_DE":"Liberia","NAME_EN":"Liberia","NAME_ES":"Liberia","NAME_FA":"لیبریا","NAME_FR":"Liberia","NAME_EL":"Λιβερία","NAME_HE":"ליבריה","NAME_HI":"लाइबेरिया","NAME_HU":"Libéria","NAME_ID":"Liberia","NAME_IT":"Liberia","NAME_JA":"リベリア","NAME_KO":"라이베리아","NAME_NL":"Liberia","NAME_PL":"Liberia","NAME_PT":"Libéria","NAME_RU":"Либерия","NAME_SV":"Liberia","NAME_TR":"Liberya","NAME_UK":"Ліберія","NAME_UR":"لائبیریا","NAME_VI":"Liberia","NAME_ZH":"利比里亚","NAME_ZHT":"賴比瑞亞","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[-11.50752,4.351318,-7.399902,8.537695],"geometry":{"type":"Polygon","coordinates":[[[-11.50752,6.906543],[-11.454541,6.951221],[-11.37666,7.094678],[-11.267676,7.232617],[-11.166113,7.314404],[-11.0854,7.398584],[-11.000244,7.463037],[-10.878076,7.538232],[-10.691309,7.736426],[-10.647461,7.759375],[-10.617578,7.896436],[-10.57085,8.071143],[-10.516748,8.125293],[-10.389551,8.157617],[-10.359814,8.187939],[-10.314648,8.31084],[-10.285742,8.454102],[-10.283203,8.485156],[-10.233057,8.488818],[-10.147412,8.519727],[-10.097656,8.505859],[-10.075684,8.4646],[-10.064355,8.429883],[-9.804736,8.519189],[-9.781982,8.537695],[-9.768262,8.53457],[-9.735596,8.453955],[-9.716895,8.458887],[-9.701172,8.482178],[-9.683887,8.484424],[-9.663574,8.473535],[-9.643213,8.436035],[-9.610156,8.402344],[-9.553906,8.378613],[-9.518262,8.346094],[-9.522217,8.26001],[-9.508496,8.17627],[-9.484131,8.156982],[-9.471143,8.106982],[-9.464551,8.0521],[-9.451123,8.023242],[-9.441553,7.96792],[-9.446387,7.908496],[-9.436328,7.866699],[-9.394922,7.794629],[-9.369141,7.703809],[-9.368945,7.639551],[-9.383984,7.571875],[-9.411475,7.509961],[-9.459766,7.442529],[-9.463818,7.415869],[-9.435107,7.398438],[-9.39165,7.394922],[-9.355322,7.408691],[-9.263281,7.377734],[-9.215186,7.333301],[-9.172852,7.278418],[-9.134814,7.250586],[-9.117578,7.215918],[-9.052344,7.225488],[-8.976562,7.258887],[-8.960986,7.274609],[-8.938428,7.266162],[-8.889648,7.262695],[-8.855518,7.322803],[-8.82793,7.391943],[-8.769141,7.466797],[-8.740234,7.495703],[-8.732617,7.543555],[-8.729443,7.605273],[-8.708301,7.658887],[-8.659766,7.688379],[-8.607324,7.687939],[-8.578857,7.677051],[-8.564404,7.625098],[-8.522266,7.585547],[-8.486426,7.558496],[-8.467285,7.547021],[-8.437158,7.516406],[-8.40874,7.411816],[-8.296631,7.074023],[-8.302344,6.980957],[-8.324512,6.92002],[-8.325098,6.8604],[-8.332568,6.801562],[-8.401221,6.705127],[-8.603564,6.507812],[-8.587891,6.490527],[-8.539551,6.468066],[-8.490332,6.456396],[-8.449902,6.4625],[-8.399316,6.413184],[-8.344873,6.35127],[-8.287109,6.319043],[-8.203857,6.290723],[-8.131006,6.287549],[-8.068945,6.298389],[-7.981592,6.286133],[-7.888623,6.234863],[-7.855518,6.150146],[-7.833252,6.076367],[-7.800928,6.038916],[-7.796533,5.975098],[-7.730371,5.919043],[-7.636133,5.907715],[-7.513916,5.842041],[-7.482812,5.845508],[-7.469434,5.853711],[-7.454395,5.841309],[-7.42373,5.651318],[-7.399902,5.550586],[-7.412451,5.509912],[-7.428906,5.477881],[-7.429834,5.324512],[-7.485205,5.236426],[-7.494141,5.139795],[-7.509766,5.108496],[-7.568896,5.080664],[-7.569336,5.006445],[-7.585059,4.916748],[-7.591211,4.821533],[-7.574658,4.572314],[-7.571582,4.386426],[-7.544971,4.351318],[-7.66001,4.366797],[-7.998242,4.508691],[-8.259033,4.58999],[-9.132178,5.054639],[-9.374756,5.241064],[-9.654395,5.518701],[-10.276367,6.077637],[-10.418164,6.167334],[-10.59707,6.210938],[-10.707617,6.258496],[-10.785596,6.310156],[-10.849023,6.465088],[-11.004541,6.557373],[-11.291602,6.688232],[-11.50752,6.906543]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":6,"SOVEREIGNT":"Lesotho","SOV_A3":"LSO","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Lesotho","ADM0_A3":"LSO","GEOU_DIF":0,"GEOUNIT":"Lesotho","GU_A3":"LSO","SU_DIF":0,"SUBUNIT":"Lesotho","SU_A3":"LSO","BRK_DIFF":0,"NAME":"Lesotho","NAME_LONG":"Lesotho","BRK_A3":"LSO","BRK_NAME":"Lesotho","BRK_GROUP":null,"ABBREV":"Les.","POSTAL":"LS","FORMAL_EN":"Kingdom of Lesotho","FORMAL_FR":null,"NAME_CIAWF":"Lesotho","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Lesotho","NAME_ALT":null,"MAPCOLOR7":1,"MAPCOLOR8":5,"MAPCOLOR9":2,"MAPCOLOR13":8,"POP_EST":2125268,"POP_RANK":12,"POP_YEAR":2019,"GDP_MD":2376,"GDP_YEAR":2019,"ECONOMY":"7. Least developed region","INCOME_GRP":"4. Lower middle income","FIPS_10":"LT","ISO_A2":"LS","ISO_A2_EH":"LS","ISO_A3":"LSO","ISO_A3_EH":"LSO","ISO_N3":"426","ISO_N3_EH":"426","UN_A3":"426","WB_A2":"LS","WB_A3":"LSO","WOE_ID":23424880,"WOE_ID_EH":23424880,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"LSO","ADM0_DIFF":null,"ADM0_TLC":"LSO","ADM0_A3_US":"LSO","ADM0_A3_FR":"LSO","ADM0_A3_RU":"LSO","ADM0_A3_ES":"LSO","ADM0_A3_CN":"LSO","ADM0_A3_TW":"LSO","ADM0_A3_IN":"LSO","ADM0_A3_NP":"LSO","ADM0_A3_PK":"LSO","ADM0_A3_DE":"LSO","ADM0_A3_GB":"LSO","ADM0_A3_BR":"LSO","ADM0_A3_IL":"LSO","ADM0_A3_PS":"LSO","ADM0_A3_SA":"LSO","ADM0_A3_EG":"LSO","ADM0_A3_MA":"LSO","ADM0_A3_PT":"LSO","ADM0_A3_AR":"LSO","ADM0_A3_JP":"LSO","ADM0_A3_KO":"LSO","ADM0_A3_VN":"LSO","ADM0_A3_TR":"LSO","ADM0_A3_ID":"LSO","ADM0_A3_PL":"LSO","ADM0_A3_GR":"LSO","ADM0_A3_IT":"LSO","ADM0_A3_NL":"LSO","ADM0_A3_SE":"LSO","ADM0_A3_BD":"LSO","ADM0_A3_UA":"LSO","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Africa","REGION_UN":"Africa","SUBREGION":"Southern Africa","REGION_WB":"Sub-Saharan Africa","NAME_LEN":7,"LONG_LEN":7,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":4,"MAX_LABEL":9,"LABEL_X":28.246639,"LABEL_Y":-29.480158,"NE_ID":1159321027,"WIKIDATAID":"Q1013","NAME_AR":"ليسوتو","NAME_BN":"লেসোথো","NAME_DE":"Lesotho","NAME_EN":"Lesotho","NAME_ES":"Lesoto","NAME_FA":"لسوتو","NAME_FR":"Lesotho","NAME_EL":"Λεσότο","NAME_HE":"לסוטו","NAME_HI":"लेसोथो","NAME_HU":"Lesotho","NAME_ID":"Lesotho","NAME_IT":"Lesotho","NAME_JA":"レソト","NAME_KO":"레소토","NAME_NL":"Lesotho","NAME_PL":"Lesotho","NAME_PT":"Lesoto","NAME_RU":"Лесото","NAME_SV":"Lesotho","NAME_TR":"Lesotho","NAME_UK":"Лесото","NAME_UR":"لیسوتھو","NAME_VI":"Lesotho","NAME_ZH":"莱索托","NAME_ZHT":"賴索托","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[27.051758,-30.642285,29.390723,-28.581738],"geometry":{"type":"Polygon","coordinates":[[[28.736914,-30.101953],[28.646875,-30.126563],[28.634375,-30.128711],[28.57666,-30.123047],[28.499609,-30.128906],[28.439063,-30.14248],[28.39209,-30.147559],[28.31543,-30.218457],[28.176172,-30.409863],[28.139063,-30.449902],[28.128711,-30.525098],[28.096387,-30.58457],[28.056836,-30.631055],[28.018164,-30.642285],[27.901855,-30.623828],[27.753125,-30.6],[27.666602,-30.542285],[27.589648,-30.466406],[27.549023,-30.41123],[27.506543,-30.380957],[27.491992,-30.363965],[27.431445,-30.338477],[27.408594,-30.325293],[27.388477,-30.315918],[27.364063,-30.279199],[27.349707,-30.247363],[27.355371,-30.158594],[27.312695,-30.105664],[27.239746,-30.015332],[27.193555,-29.941309],[27.130469,-29.840234],[27.091797,-29.753711],[27.051758,-29.664062],[27.056934,-29.625586],[27.095215,-29.599316],[27.207422,-29.554199],[27.294531,-29.519336],[27.356836,-29.455273],[27.424902,-29.360059],[27.458008,-29.302734],[27.491016,-29.276563],[27.527148,-29.236133],[27.590234,-29.146484],[27.660449,-29.046973],[27.735547,-28.940039],[27.830371,-28.909082],[27.959863,-28.87334],[28.084375,-28.77998],[28.232617,-28.70127],[28.471875,-28.61582],[28.583398,-28.594141],[28.625781,-28.581738],[28.652637,-28.597852],[28.681152,-28.646777],[28.721777,-28.687695],[28.816211,-28.758887],[28.85625,-28.776074],[28.953711,-28.881445],[29.058008,-28.953711],[29.178027,-29.036914],[29.259766,-29.07832],[29.301367,-29.089844],[29.335938,-29.163672],[29.370898,-29.218457],[29.390723,-29.269727],[29.386719,-29.319727],[29.348828,-29.441992],[29.293555,-29.566895],[29.249219,-29.618848],[29.195117,-29.65166],[29.142188,-29.700977],[29.121973,-29.801172],[29.098047,-29.919043],[29.029004,-29.967578],[28.975293,-29.999414],[28.901074,-30.038477],[28.736914,-30.101953]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":5,"SOVEREIGNT":"Lebanon","SOV_A3":"LBN","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Lebanon","ADM0_A3":"LBN","GEOU_DIF":0,"GEOUNIT":"Lebanon","GU_A3":"LBN","SU_DIF":0,"SUBUNIT":"Lebanon","SU_A3":"LBN","BRK_DIFF":0,"NAME":"Lebanon","NAME_LONG":"Lebanon","BRK_A3":"LBN","BRK_NAME":"Lebanon","BRK_GROUP":null,"ABBREV":"Leb.","POSTAL":"LB","FORMAL_EN":"Lebanese Republic","FORMAL_FR":null,"NAME_CIAWF":"Lebanon","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Lebanon","NAME_ALT":null,"MAPCOLOR7":4,"MAPCOLOR8":4,"MAPCOLOR9":4,"MAPCOLOR13":12,"POP_EST":6855713,"POP_RANK":13,"POP_YEAR":2019,"GDP_MD":51991,"GDP_YEAR":2019,"ECONOMY":"6. Developing region","INCOME_GRP":"3. Upper middle income","FIPS_10":"LE","ISO_A2":"LB","ISO_A2_EH":"LB","ISO_A3":"LBN","ISO_A3_EH":"LBN","ISO_N3":"422","ISO_N3_EH":"422","UN_A3":"422","WB_A2":"LB","WB_A3":"LBN","WOE_ID":23424873,"WOE_ID_EH":23424873,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"LBN","ADM0_DIFF":null,"ADM0_TLC":"LBN","ADM0_A3_US":"LBN","ADM0_A3_FR":"LBN","ADM0_A3_RU":"LBN","ADM0_A3_ES":"LBN","ADM0_A3_CN":"LBN","ADM0_A3_TW":"LBN","ADM0_A3_IN":"LBN","ADM0_A3_NP":"LBN","ADM0_A3_PK":"LBN","ADM0_A3_DE":"LBN","ADM0_A3_GB":"LBN","ADM0_A3_BR":"LBN","ADM0_A3_IL":"LBN","ADM0_A3_PS":"LBN","ADM0_A3_SA":"LBN","ADM0_A3_EG":"LBN","ADM0_A3_MA":"LBN","ADM0_A3_PT":"LBN","ADM0_A3_AR":"LBN","ADM0_A3_JP":"LBN","ADM0_A3_KO":"LBN","ADM0_A3_VN":"LBN","ADM0_A3_TR":"LBN","ADM0_A3_ID":"LBN","ADM0_A3_PL":"LBN","ADM0_A3_GR":"LBN","ADM0_A3_IT":"LBN","ADM0_A3_NL":"LBN","ADM0_A3_SE":"LBN","ADM0_A3_BD":"LBN","ADM0_A3_UA":"LBN","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Asia","REGION_UN":"Asia","SUBREGION":"Western Asia","REGION_WB":"Middle East & North Africa","NAME_LEN":7,"LONG_LEN":7,"ABBREV_LEN":4,"TINY":4,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":4,"MAX_LABEL":9,"LABEL_X":35.992892,"LABEL_Y":34.133368,"NE_ID":1159321013,"WIKIDATAID":"Q822","NAME_AR":"لبنان","NAME_BN":"লেবানন","NAME_DE":"Libanon","NAME_EN":"Lebanon","NAME_ES":"Líbano","NAME_FA":"لبنان","NAME_FR":"Liban","NAME_EL":"Λίβανος","NAME_HE":"לבנון","NAME_HI":"लेबनान","NAME_HU":"Libanon","NAME_ID":"Lebanon","NAME_IT":"Libano","NAME_JA":"レバノン","NAME_KO":"레바논","NAME_NL":"Libanon","NAME_PL":"Liban","NAME_PT":"Líbano","NAME_RU":"Ливан","NAME_SV":"Libanon","NAME_TR":"Lübnan","NAME_UK":"Ліван","NAME_UR":"لبنان","NAME_VI":"Liban","NAME_ZH":"黎巴嫩","NAME_ZHT":"黎巴嫩","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[35.108594,33.075684,36.584961,34.678711],"geometry":{"type":"Polygon","coordinates":[[[35.97627,34.629199],[36.151074,34.628613],[36.263574,34.632861],[36.296289,34.678711],[36.383887,34.65791],[36.433008,34.613477],[36.388672,34.566895],[36.32627,34.51333],[36.329883,34.499609],[36.376465,34.495166],[36.455566,34.466162],[36.504395,34.432373],[36.584961,34.22124],[36.535156,34.134326],[36.45752,34.056836],[36.422852,34.049854],[36.354883,34.011328],[36.297852,33.958643],[36.277832,33.925293],[36.282227,33.894189],[36.362793,33.855127],[36.365039,33.839355],[36.348535,33.827051],[36.283398,33.835596],[36.199414,33.839551],[36.149805,33.839502],[36.092188,33.831592],[36.018848,33.783936],[35.986133,33.752637],[35.968457,33.732422],[35.942383,33.667578],[35.97168,33.623096],[36.02666,33.597949],[36.034473,33.585059],[36.022266,33.5625],[35.967578,33.53457],[35.926563,33.500293],[35.914746,33.465381],[35.869141,33.431738],[35.840723,33.415674],[35.7875,33.369775],[35.734473,33.332617],[35.627246,33.275049],[35.60293,33.240625],[35.579297,33.271484],[35.53252,33.250488],[35.493164,33.119482],[35.41123,33.075684],[35.308887,33.079541],[35.22334,33.091992],[35.108594,33.083691],[35.155078,33.16001],[35.203516,33.258984],[35.251367,33.392627],[35.335742,33.503467],[35.51084,33.879736],[35.611816,34.032178],[35.647852,34.248242],[35.804297,34.437402],[35.921387,34.493311],[35.97793,34.547412],[35.97627,34.629199]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":5,"SOVEREIGNT":"Latvia","SOV_A3":"LVA","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Latvia","ADM0_A3":"LVA","GEOU_DIF":0,"GEOUNIT":"Latvia","GU_A3":"LVA","SU_DIF":0,"SUBUNIT":"Latvia","SU_A3":"LVA","BRK_DIFF":0,"NAME":"Latvia","NAME_LONG":"Latvia","BRK_A3":"LVA","BRK_NAME":"Latvia","BRK_GROUP":null,"ABBREV":"Lat.","POSTAL":"LV","FORMAL_EN":"Republic of Latvia","FORMAL_FR":null,"NAME_CIAWF":"Latvia","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Latvia","NAME_ALT":null,"MAPCOLOR7":4,"MAPCOLOR8":7,"MAPCOLOR9":6,"MAPCOLOR13":13,"POP_EST":1912789,"POP_RANK":12,"POP_YEAR":2019,"GDP_MD":34102,"GDP_YEAR":2019,"ECONOMY":"2. Developed region: nonG7","INCOME_GRP":"3. Upper middle income","FIPS_10":"LG","ISO_A2":"LV","ISO_A2_EH":"LV","ISO_A3":"LVA","ISO_A3_EH":"LVA","ISO_N3":"428","ISO_N3_EH":"428","UN_A3":"428","WB_A2":"LV","WB_A3":"LVA","WOE_ID":23424874,"WOE_ID_EH":23424874,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"LVA","ADM0_DIFF":null,"ADM0_TLC":"LVA","ADM0_A3_US":"LVA","ADM0_A3_FR":"LVA","ADM0_A3_RU":"LVA","ADM0_A3_ES":"LVA","ADM0_A3_CN":"LVA","ADM0_A3_TW":"LVA","ADM0_A3_IN":"LVA","ADM0_A3_NP":"LVA","ADM0_A3_PK":"LVA","ADM0_A3_DE":"LVA","ADM0_A3_GB":"LVA","ADM0_A3_BR":"LVA","ADM0_A3_IL":"LVA","ADM0_A3_PS":"LVA","ADM0_A3_SA":"LVA","ADM0_A3_EG":"LVA","ADM0_A3_MA":"LVA","ADM0_A3_PT":"LVA","ADM0_A3_AR":"LVA","ADM0_A3_JP":"LVA","ADM0_A3_KO":"LVA","ADM0_A3_VN":"LVA","ADM0_A3_TR":"LVA","ADM0_A3_ID":"LVA","ADM0_A3_PL":"LVA","ADM0_A3_GR":"LVA","ADM0_A3_IT":"LVA","ADM0_A3_NL":"LVA","ADM0_A3_SE":"LVA","ADM0_A3_BD":"LVA","ADM0_A3_UA":"LVA","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Europe","REGION_UN":"Europe","SUBREGION":"Northern Europe","REGION_WB":"Europe & Central Asia","NAME_LEN":6,"LONG_LEN":6,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":4,"MAX_LABEL":9,"LABEL_X":25.458723,"LABEL_Y":57.066872,"NE_ID":1159321033,"WIKIDATAID":"Q211","NAME_AR":"لاتفيا","NAME_BN":"লাতভিয়া","NAME_DE":"Lettland","NAME_EN":"Latvia","NAME_ES":"Letonia","NAME_FA":"لتونی","NAME_FR":"Lettonie","NAME_EL":"Λετονία","NAME_HE":"לטביה","NAME_HI":"लातविया","NAME_HU":"Lettország","NAME_ID":"Latvia","NAME_IT":"Lettonia","NAME_JA":"ラトビア","NAME_KO":"라트비아","NAME_NL":"Letland","NAME_PL":"Łotwa","NAME_PT":"Letónia","NAME_RU":"Латвия","NAME_SV":"Lettland","NAME_TR":"Letonya","NAME_UK":"Латвія","NAME_UR":"لٹویا","NAME_VI":"Latvia","NAME_ZH":"拉脱维亚","NAME_ZHT":"拉脫維亞","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[21.014941,55.667529,28.202051,58.063428],"geometry":{"type":"Polygon","coordinates":[[[26.593555,55.667529],[26.542871,55.672412],[26.401074,55.703809],[26.28125,55.750439],[26.20957,55.812109],[26.085547,55.896875],[26.004199,55.940137],[25.876367,55.994336],[25.663184,56.104834],[25.585742,56.130176],[25.206934,56.178418],[25.069922,56.200391],[24.943848,56.325586],[24.903027,56.398193],[24.841016,56.411182],[24.773242,56.395898],[24.699512,56.381299],[24.529004,56.296289],[24.473633,56.284082],[24.367871,56.283008],[24.120703,56.264258],[24.008203,56.295264],[23.812695,56.329248],[23.706738,56.334619],[23.612695,56.333838],[23.195898,56.367139],[23.119824,56.330664],[23.042969,56.324072],[22.968262,56.38042],[22.875586,56.396436],[22.773242,56.377295],[22.586914,56.375098],[22.365918,56.392871],[22.08457,56.406738],[22.042871,56.400781],[21.730566,56.325977],[21.653516,56.314551],[21.314648,56.188135],[21.046094,56.070068],[21.014941,56.258936],[21.031445,56.636572],[21.071289,56.82373],[21.257422,56.932764],[21.350781,57.017676],[21.405078,57.131006],[21.421484,57.23584],[21.45918,57.322461],[21.728711,57.570996],[21.942383,57.597852],[22.231445,57.666797],[22.55459,57.724268],[22.616992,57.651172],[22.648633,57.595361],[23.037793,57.39209],[23.136816,57.323828],[23.287305,57.089746],[23.647754,56.971045],[23.931152,57.008496],[24.054297,57.066113],[24.28125,57.172314],[24.382617,57.250049],[24.403223,57.325],[24.362988,57.645312],[24.301563,57.784131],[24.322559,57.870605],[24.3625,57.866162],[24.458887,57.907861],[24.775781,57.985254],[24.839063,57.988721],[24.911328,58.00459],[25.111035,58.063428],[25.175195,58.032129],[25.228711,57.996582],[25.258301,57.996143],[25.272656,58.009375],[25.268652,58.032227],[25.282617,58.048486],[25.340039,58.039453],[25.571289,57.942773],[25.660156,57.920166],[25.720898,57.913818],[25.79375,57.868555],[25.991113,57.838184],[26.015234,57.814746],[26.030371,57.785547],[26.215039,57.662744],[26.298047,57.601074],[26.462109,57.544482],[26.532617,57.531006],[26.819727,57.588721],[26.899805,57.608789],[26.966016,57.609131],[27.033398,57.57876],[27.187109,57.53833],[27.326563,57.525488],[27.351953,57.528125],[27.469727,57.524023],[27.511133,57.508154],[27.538672,57.429785],[27.672754,57.368115],[27.796875,57.316943],[27.828613,57.293311],[27.838281,57.247705],[27.830273,57.194482],[27.814551,57.166895],[27.762793,57.135107],[27.717383,57.054639],[27.711133,56.978076],[27.639453,56.845654],[27.655664,56.843213],[27.806055,56.86709],[27.848633,56.853418],[27.881543,56.82417],[27.89209,56.741064],[27.941406,56.703711],[27.991602,56.645312],[28.00752,56.599854],[28.103125,56.545703],[28.11084,56.510693],[28.169238,56.386865],[28.191699,56.315576],[28.202051,56.2604],[28.17334,56.190332],[28.147949,56.14292],[28.117871,56.145801],[28.032031,56.133301],[27.896289,56.076172],[27.694238,55.941553],[27.642285,55.911719],[27.589453,55.80918],[27.576758,55.798779],[27.45918,55.803516],[27.427148,55.805957],[27.30918,55.803906],[27.052539,55.830566],[26.953027,55.812939],[26.822461,55.709229],[26.771875,55.693994],[26.620215,55.679639],[26.593555,55.667529]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":4,"SOVEREIGNT":"Laos","SOV_A3":"LAO","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Laos","ADM0_A3":"LAO","GEOU_DIF":0,"GEOUNIT":"Laos","GU_A3":"LAO","SU_DIF":0,"SUBUNIT":"Laos","SU_A3":"LAO","BRK_DIFF":0,"NAME":"Laos","NAME_LONG":"Lao PDR","BRK_A3":"LAO","BRK_NAME":"Laos","BRK_GROUP":null,"ABBREV":"Laos","POSTAL":"LA","FORMAL_EN":"Lao People's Democratic Republic","FORMAL_FR":null,"NAME_CIAWF":"Laos","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Lao PDR","NAME_ALT":null,"MAPCOLOR7":1,"MAPCOLOR8":1,"MAPCOLOR9":1,"MAPCOLOR13":9,"POP_EST":7169455,"POP_RANK":13,"POP_YEAR":2019,"GDP_MD":18173,"GDP_YEAR":2019,"ECONOMY":"7. Least developed region","INCOME_GRP":"4. Lower middle income","FIPS_10":"LA","ISO_A2":"LA","ISO_A2_EH":"LA","ISO_A3":"LAO","ISO_A3_EH":"LAO","ISO_N3":"418","ISO_N3_EH":"418","UN_A3":"418","WB_A2":"LA","WB_A3":"LAO","WOE_ID":23424872,"WOE_ID_EH":23424872,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"LAO","ADM0_DIFF":null,"ADM0_TLC":"LAO","ADM0_A3_US":"LAO","ADM0_A3_FR":"LAO","ADM0_A3_RU":"LAO","ADM0_A3_ES":"LAO","ADM0_A3_CN":"LAO","ADM0_A3_TW":"LAO","ADM0_A3_IN":"LAO","ADM0_A3_NP":"LAO","ADM0_A3_PK":"LAO","ADM0_A3_DE":"LAO","ADM0_A3_GB":"LAO","ADM0_A3_BR":"LAO","ADM0_A3_IL":"LAO","ADM0_A3_PS":"LAO","ADM0_A3_SA":"LAO","ADM0_A3_EG":"LAO","ADM0_A3_MA":"LAO","ADM0_A3_PT":"LAO","ADM0_A3_AR":"LAO","ADM0_A3_JP":"LAO","ADM0_A3_KO":"LAO","ADM0_A3_VN":"LAO","ADM0_A3_TR":"LAO","ADM0_A3_ID":"LAO","ADM0_A3_PL":"LAO","ADM0_A3_GR":"LAO","ADM0_A3_IT":"LAO","ADM0_A3_NL":"LAO","ADM0_A3_SE":"LAO","ADM0_A3_BD":"LAO","ADM0_A3_UA":"LAO","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Asia","REGION_UN":"Asia","SUBREGION":"South-Eastern Asia","REGION_WB":"East Asia & Pacific","NAME_LEN":4,"LONG_LEN":7,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":4,"MAX_LABEL":9,"LABEL_X":102.533912,"LABEL_Y":19.431821,"NE_ID":1159321011,"WIKIDATAID":"Q819","NAME_AR":"لاوس","NAME_BN":"লাওস","NAME_DE":"Laos","NAME_EN":"Laos","NAME_ES":"Laos","NAME_FA":"لائوس","NAME_FR":"Laos","NAME_EL":"Λάος","NAME_HE":"לאוס","NAME_HI":"लाओस","NAME_HU":"Laosz","NAME_ID":"Laos","NAME_IT":"Laos","NAME_JA":"ラオス","NAME_KO":"라오스","NAME_NL":"Laos","NAME_PL":"Laos","NAME_PT":"Laos","NAME_RU":"Лаос","NAME_SV":"Laos","NAME_TR":"Laos","NAME_UK":"Лаос","NAME_UR":"لاؤس","NAME_VI":"Lào","NAME_ZH":"老挝","NAME_ZHT":"寮國","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[100.114941,13.921191,107.653125,22.495264],"geometry":{"type":"Polygon","coordinates":[[[102.127441,22.379199],[102.183008,22.284033],[102.301367,22.178174],[102.442676,22.027148],[102.4875,21.957764],[102.58252,21.904297],[102.609668,21.851758],[102.63125,21.771338],[102.64082,21.711426],[102.662012,21.676025],[102.695312,21.662109],[102.738574,21.67793],[102.771094,21.709668],[102.798242,21.797949],[102.815918,21.807373],[102.845215,21.734766],[102.876172,21.722266],[102.917676,21.712939],[102.949609,21.681348],[102.95918,21.626221],[102.948633,21.569775],[102.90957,21.506348],[102.8875,21.439941],[102.872266,21.3375],[102.851172,21.265918],[102.883789,21.202588],[103.104492,20.89165],[103.210742,20.840625],[103.463574,20.779834],[103.554688,20.737842],[103.635059,20.69707],[103.714453,20.716943],[103.790527,20.809521],[103.882031,20.861426],[104.052051,20.941211],[104.101367,20.945508],[104.195312,20.913965],[104.349609,20.821094],[104.461426,20.73374],[104.530371,20.687988],[104.583203,20.64668],[104.575195,20.600244],[104.532715,20.554883],[104.478613,20.52959],[104.407813,20.485742],[104.367773,20.441406],[104.392188,20.424756],[104.496191,20.413672],[104.618848,20.374512],[104.656445,20.328516],[104.661914,20.289014],[104.676953,20.224707],[104.69873,20.205322],[104.812695,20.216846],[104.847852,20.202441],[104.888672,20.169092],[104.929199,20.082813],[104.92793,20.018115],[104.845801,19.947168],[104.815137,19.904004],[104.801758,19.836133],[104.743164,19.754736],[104.587891,19.61875],[104.546289,19.610547],[104.259863,19.685498],[104.127148,19.680859],[104.062793,19.678418],[104.032031,19.675146],[104.013477,19.646484],[104.051562,19.56416],[104.062891,19.482568],[104.027539,19.420459],[103.932031,19.366064],[103.896387,19.33999],[103.891602,19.30498],[103.918359,19.268506],[104.006348,19.230908],[104.108594,19.195557],[104.445801,18.983838],[104.517969,18.934082],[104.613281,18.860645],[104.716504,18.803418],[104.993164,18.72832],[105.115137,18.678857],[105.146484,18.650977],[105.14541,18.616797],[105.113477,18.573047],[105.087012,18.49624],[105.08584,18.450098],[105.114551,18.405273],[105.163281,18.338721],[105.273242,18.235352],[105.333496,18.189648],[105.4,18.179248],[105.458203,18.154297],[105.518555,18.077441],[105.588477,17.983691],[105.597656,17.918262],[105.627246,17.834424],[105.691406,17.737842],[105.779492,17.644434],[105.902734,17.528662],[105.973535,17.446973],[106.00625,17.415283],[106.269531,17.216797],[106.333398,17.143701],[106.425977,17.002539],[106.465332,16.981836],[106.502246,16.954102],[106.525977,16.876611],[106.533691,16.821045],[106.546191,16.650732],[106.593652,16.600098],[106.6375,16.537939],[106.656445,16.492627],[106.696094,16.458984],[106.739551,16.452539],[106.791602,16.490332],[106.832422,16.52627],[106.851074,16.515625],[106.892773,16.396533],[106.930664,16.353125],[107.001953,16.311816],[107.069727,16.279834],[107.217383,16.136328],[107.296484,16.084033],[107.350098,16.067383],[107.396387,16.043018],[107.410156,15.997852],[107.391992,15.95166],[107.360645,15.921729],[107.188867,15.838623],[107.165918,15.80249],[107.189551,15.747266],[107.232617,15.678076],[107.279395,15.618701],[107.33877,15.560498],[107.45957,15.46582],[107.564258,15.391602],[107.62168,15.309863],[107.653125,15.255225],[107.633691,15.189844],[107.589648,15.118457],[107.555273,15.057031],[107.496289,15.021436],[107.480371,14.979883],[107.504687,14.915918],[107.524512,14.871826],[107.51377,14.817383],[107.519434,14.705078],[107.465137,14.66499],[107.414746,14.562891],[107.379883,14.555322],[107.292676,14.592383],[107.262305,14.572119],[107.206641,14.4979],[107.109375,14.416699],[107.062402,14.415771],[107.030176,14.425684],[106.992187,14.391016],[106.938086,14.327344],[106.913184,14.329395],[106.819922,14.314697],[106.783496,14.335107],[106.738184,14.387744],[106.66543,14.441309],[106.599219,14.479395],[106.563672,14.505078],[106.531152,14.549414],[106.501465,14.578223],[106.446973,14.515039],[106.35498,14.454785],[106.267969,14.466211],[106.225391,14.476221],[106.190723,14.388135],[106.165234,14.372363],[106.008398,14.357178],[105.978906,14.343018],[106.004102,14.262891],[106.09668,14.1271],[106.124707,14.049121],[106.066797,13.921191],[105.904492,13.924512],[105.831445,13.976611],[105.764063,14.049072],[105.739746,14.084961],[105.531543,14.156152],[105.392676,14.10708],[105.350195,14.10957],[105.284863,14.161475],[105.245703,14.200537],[105.207031,14.259375],[105.185547,14.319092],[105.183301,14.34624],[105.243652,14.367871],[105.342188,14.416699],[105.422656,14.471631],[105.475586,14.530127],[105.497363,14.590674],[105.500195,14.66123],[105.523047,14.843311],[105.54668,14.932471],[105.533398,15.041602],[105.49043,15.127588],[105.49043,15.256592],[105.505859,15.319629],[105.513184,15.360889],[105.57373,15.413232],[105.615625,15.488281],[105.638867,15.585938],[105.641016,15.656543],[105.62207,15.699951],[105.562402,15.74126],[105.462012,15.78042],[105.398926,15.829883],[105.373242,15.889697],[105.375586,15.942188],[105.40625,15.987451],[105.330664,16.037891],[105.14873,16.093555],[105.047168,16.160254],[105.025781,16.237988],[104.949902,16.339941],[104.819336,16.466064],[104.750586,16.647559],[104.743555,16.884375],[104.758984,17.077148],[104.816016,17.300293],[104.739648,17.46167],[104.655859,17.546729],[104.539258,17.609277],[104.428125,17.698975],[104.322656,17.81582],[104.196191,17.988379],[104.04873,18.216699],[103.949609,18.318994],[103.898828,18.295313],[103.792285,18.316504],[103.629687,18.382568],[103.487988,18.418164],[103.366992,18.42334],[103.288281,18.408398],[103.251758,18.373486],[103.248926,18.338965],[103.27959,18.30498],[103.263184,18.278467],[103.199707,18.259473],[103.148535,18.221729],[103.091211,18.138232],[103.051367,18.028516],[102.991406,17.98623],[102.898633,17.976904],[102.807422,17.945557],[102.717578,17.892236],[102.675195,17.851758],[102.680078,17.824121],[102.660645,17.817969],[102.616797,17.83335],[102.596094,17.869629],[102.598242,17.926758],[102.552539,17.965088],[102.458789,17.984619],[102.351855,18.045947],[102.231641,18.148975],[102.148242,18.203857],[102.101465,18.210645],[102.03457,18.169824],[101.947461,18.081494],[101.875488,18.046436],[101.818652,18.064648],[101.774805,18.033398],[101.744141,17.952686],[101.6875,17.889404],[101.563672,17.820508],[101.555078,17.812354],[101.413672,17.71875],[101.299707,17.625],[101.16748,17.499023],[101.105176,17.479541],[101.045703,17.509961],[100.955859,17.541113],[100.908496,17.583887],[100.999023,17.797168],[101.113281,18.033545],[101.143945,18.142627],[101.14873,18.222168],[101.1375,18.286865],[101.092773,18.354541],[101.050586,18.407031],[101.046973,18.441992],[101.060449,18.479004],[101.106348,18.533545],[101.165527,18.618311],[101.220508,18.792773],[101.286328,18.977148],[101.279883,19.088916],[101.226562,19.211523],[101.197559,19.32793],[101.220801,19.486621],[101.211914,19.54834],[101.154688,19.579199],[100.966504,19.610791],[100.906055,19.605371],[100.858203,19.585059],[100.806836,19.541943],[100.743945,19.514746],[100.625488,19.499854],[100.513574,19.553467],[100.420117,19.644482],[100.397656,19.756104],[100.466211,19.888916],[100.514551,19.996338],[100.543066,20.088672],[100.539941,20.132373],[100.519531,20.17793],[100.491602,20.184082],[100.431543,20.240723],[100.373145,20.340381],[100.317969,20.385889],[100.266016,20.377295],[100.218066,20.3396],[100.174121,20.272754],[100.139746,20.24541],[100.114941,20.257666],[100.122461,20.31665],[100.129687,20.372217],[100.183887,20.589111],[100.249316,20.730273],[100.326074,20.795703],[100.407422,20.823242],[100.493359,20.812988],[100.565137,20.825098],[100.622949,20.85957],[100.617676,20.879248],[100.549316,20.884229],[100.522266,20.921924],[100.536133,20.992383],[100.566602,21.038184],[100.613672,21.059326],[100.65918,21.130371],[100.703125,21.251367],[100.756641,21.312646],[100.819531,21.314209],[100.927539,21.366211],[101.080371,21.468652],[101.138867,21.56748],[101.19668,21.52207],[101.175391,21.40752],[101.205566,21.383301],[101.219922,21.342432],[101.211816,21.278223],[101.224414,21.22373],[101.247852,21.197314],[101.281445,21.184131],[101.443555,21.230811],[101.542383,21.234277],[101.583887,21.203564],[101.62168,21.184424],[101.668555,21.169629],[101.704785,21.150146],[101.728125,21.156396],[101.783496,21.20415],[101.800586,21.212598],[101.802051,21.235986],[101.763086,21.278906],[101.722949,21.314941],[101.724219,21.39502],[101.743457,21.533838],[101.747266,21.605762],[101.743945,21.777979],[101.736523,21.826514],[101.699609,21.882471],[101.60293,21.989697],[101.575781,22.055273],[101.560254,22.120898],[101.561816,22.162402],[101.537305,22.209863],[101.524512,22.253662],[101.567871,22.276367],[101.619922,22.327441],[101.646191,22.40542],[101.671484,22.462305],[101.70752,22.486572],[101.73877,22.495264],[101.759961,22.490332],[101.841797,22.388477],[101.94541,22.439404],[102.024414,22.439209],[102.091504,22.412256],[102.127441,22.379199]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":4,"SOVEREIGNT":"Kyrgyzstan","SOV_A3":"KGZ","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Kyrgyzstan","ADM0_A3":"KGZ","GEOU_DIF":0,"GEOUNIT":"Kyrgyzstan","GU_A3":"KGZ","SU_DIF":0,"SUBUNIT":"Kyrgyzstan","SU_A3":"KGZ","BRK_DIFF":0,"NAME":"Kyrgyzstan","NAME_LONG":"Kyrgyzstan","BRK_A3":"KGZ","BRK_NAME":"Kyrgyzstan","BRK_GROUP":null,"ABBREV":"Kgz.","POSTAL":"KG","FORMAL_EN":"Kyrgyz Republic","FORMAL_FR":null,"NAME_CIAWF":"Kyrgyzstan","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Kyrgyz Republic","NAME_ALT":null,"MAPCOLOR7":5,"MAPCOLOR8":7,"MAPCOLOR9":7,"MAPCOLOR13":6,"POP_EST":6456900,"POP_RANK":13,"POP_YEAR":2019,"GDP_MD":8454,"GDP_YEAR":2019,"ECONOMY":"6. Developing region","INCOME_GRP":"5. Low income","FIPS_10":"KG","ISO_A2":"KG","ISO_A2_EH":"KG","ISO_A3":"KGZ","ISO_A3_EH":"KGZ","ISO_N3":"417","ISO_N3_EH":"417","UN_A3":"417","WB_A2":"KG","WB_A3":"KGZ","WOE_ID":23424864,"WOE_ID_EH":23424864,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"KGZ","ADM0_DIFF":null,"ADM0_TLC":"KGZ","ADM0_A3_US":"KGZ","ADM0_A3_FR":"KGZ","ADM0_A3_RU":"KGZ","ADM0_A3_ES":"KGZ","ADM0_A3_CN":"KGZ","ADM0_A3_TW":"KGZ","ADM0_A3_IN":"KGZ","ADM0_A3_NP":"KGZ","ADM0_A3_PK":"KGZ","ADM0_A3_DE":"KGZ","ADM0_A3_GB":"KGZ","ADM0_A3_BR":"KGZ","ADM0_A3_IL":"KGZ","ADM0_A3_PS":"KGZ","ADM0_A3_SA":"KGZ","ADM0_A3_EG":"KGZ","ADM0_A3_MA":"KGZ","ADM0_A3_PT":"KGZ","ADM0_A3_AR":"KGZ","ADM0_A3_JP":"KGZ","ADM0_A3_KO":"KGZ","ADM0_A3_VN":"KGZ","ADM0_A3_TR":"KGZ","ADM0_A3_ID":"KGZ","ADM0_A3_PL":"KGZ","ADM0_A3_GR":"KGZ","ADM0_A3_IT":"KGZ","ADM0_A3_NL":"KGZ","ADM0_A3_SE":"KGZ","ADM0_A3_BD":"KGZ","ADM0_A3_UA":"KGZ","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Asia","REGION_UN":"Asia","SUBREGION":"Central Asia","REGION_WB":"Europe & Central Asia","NAME_LEN":10,"LONG_LEN":10,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":3,"MAX_LABEL":8,"LABEL_X":74.532637,"LABEL_Y":41.66854,"NE_ID":1159320977,"WIKIDATAID":"Q813","NAME_AR":"قيرغيزستان","NAME_BN":"কিরগিজস্তান","NAME_DE":"Kirgisistan","NAME_EN":"Kyrgyzstan","NAME_ES":"Kirguistán","NAME_FA":"قرقیزستان","NAME_FR":"Kirghizistan","NAME_EL":"Κιργιζία","NAME_HE":"קירגיזסטן","NAME_HI":"किर्गिज़स्तान","NAME_HU":"Kirgizisztán","NAME_ID":"Kirgizstan","NAME_IT":"Kirghizistan","NAME_JA":"キルギス","NAME_KO":"키르기스스탄","NAME_NL":"Kirgizië","NAME_PL":"Kirgistan","NAME_PT":"Quirguistão","NAME_RU":"Киргизия","NAME_SV":"Kirgizistan","NAME_TR":"Kırgızistan","NAME_UK":"Киргизстан","NAME_UR":"کرغیزستان","NAME_VI":"Kyrgyzstan","NAME_ZH":"吉尔吉斯斯坦","NAME_ZHT":"吉爾吉斯","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[69.229102,39.20752,80.246191,43.240381],"geometry":{"type":"Polygon","coordinates":[[[70.958008,40.238867],[70.990625,40.254883],[71.094531,40.27124],[71.304688,40.286914],[71.376172,40.275195],[71.457422,40.241992],[71.52041,40.208984],[71.580469,40.210254],[71.629883,40.217139],[71.650879,40.208008],[71.666797,40.178613],[71.69248,40.152344],[71.772656,40.188037],[71.84541,40.234326],[71.902734,40.240967],[71.955664,40.258594],[71.971094,40.289502],[72.012598,40.340723],[72.13125,40.438623],[72.192871,40.454443],[72.232813,40.454395],[72.234668,40.438623],[72.254004,40.424219],[72.357715,40.40166],[72.389258,40.427393],[72.405957,40.463086],[72.369727,40.519727],[72.369043,40.543457],[72.382617,40.565137],[72.402051,40.578076],[72.56748,40.524365],[72.604102,40.525439],[72.67959,40.555615],[72.748828,40.608691],[72.773828,40.650391],[73.112891,40.786035],[73.136914,40.810645],[73.132129,40.828516],[72.990039,40.860107],[72.925977,40.842432],[72.866602,40.842334],[72.830957,40.862158],[72.658301,40.869922],[72.62041,40.883789],[72.505957,40.981689],[72.427344,41.018945],[72.364063,41.043457],[72.294922,41.039941],[72.213086,41.014258],[72.187305,41.025928],[72.180664,41.066846],[72.180957,41.118457],[72.164258,41.17373],[72.11543,41.186572],[72.052441,41.164746],[71.958496,41.187061],[71.878613,41.19502],[71.858008,41.311377],[71.825781,41.361035],[71.79248,41.413135],[71.757715,41.428027],[71.700684,41.454004],[71.697266,41.515576],[71.685156,41.533008],[71.664941,41.541211],[71.6375,41.53418],[71.602246,41.503271],[71.619629,41.435449],[71.60625,41.367432],[71.585547,41.333252],[71.545605,41.308057],[71.5,41.307471],[71.420898,41.341895],[71.408398,41.136035],[71.393066,41.123389],[71.298828,41.15249],[71.223438,41.139941],[71.110742,41.152637],[71.025977,41.186572],[70.962598,41.195996],[70.860449,41.224902],[70.782422,41.2625],[70.734375,41.400537],[70.688867,41.449805],[70.645898,41.460352],[70.471387,41.412646],[70.407813,41.449561],[70.290039,41.496826],[70.200879,41.514453],[70.176953,41.53999],[70.180957,41.571436],[70.45498,41.725049],[70.562891,41.830811],[70.630859,41.875488],[70.727734,41.905225],[70.80332,41.922656],[70.841895,42.019629],[70.856641,42.030811],[70.910352,42.037988],[71.032227,42.077783],[71.228516,42.162891],[71.232324,42.186279],[71.212695,42.206445],[71.12998,42.25],[71.036035,42.284668],[70.979004,42.266553],[70.946777,42.248682],[70.892871,42.293701],[70.892871,42.33999],[70.952344,42.419385],[71.001953,42.459082],[71.022754,42.535449],[71.093555,42.586523],[71.167383,42.667432],[71.256641,42.733545],[71.42207,42.783154],[71.514258,42.766943],[71.600781,42.778662],[71.734766,42.818896],[71.760547,42.821484],[71.816797,42.822168],[72.161816,42.760693],[72.275781,42.757666],[72.543164,42.677734],[72.666113,42.6604],[72.75293,42.637891],[72.792383,42.603467],[72.855078,42.561133],[73.19082,42.526855],[73.28291,42.504102],[73.316016,42.466992],[73.411621,42.419775],[73.492969,42.409033],[73.421875,42.593506],[73.450195,42.703027],[73.55625,43.002783],[73.612012,43.0479],[73.718555,43.087891],[73.886035,43.132568],[73.949219,43.19502],[74.08623,43.188623],[74.145898,43.194092],[74.186816,43.205273],[74.209082,43.240381],[74.363867,43.179443],[74.622266,43.056201],[74.817578,42.978174],[75.047656,42.904395],[75.366211,42.836963],[75.635645,42.8146],[75.681738,42.830469],[75.789551,42.93291],[75.840332,42.9375],[75.932227,42.928516],[76.218164,42.92373],[76.50918,42.918896],[76.646484,42.928809],[76.944043,42.971484],[76.988086,42.973584],[77.057324,42.970654],[77.235547,42.912646],[77.368555,42.904443],[77.459277,42.904736],[77.512207,42.900049],[77.622461,42.902246],[77.80166,42.895215],[78.023145,42.85752],[78.290039,42.864355],[78.375977,42.871484],[78.524219,42.864648],[78.642285,42.828711],[78.791504,42.79082],[78.885156,42.774902],[78.947949,42.766699],[79.059863,42.763818],[79.12666,42.775732],[79.164844,42.759033],[79.203027,42.666016],[79.295508,42.604834],[79.367773,42.547217],[79.428223,42.483496],[79.490137,42.457568],[79.598437,42.456641],[79.803418,42.438477],[79.921094,42.413135],[80.071289,42.302979],[80.209375,42.190039],[80.229199,42.129834],[80.246191,42.059814],[80.235156,42.043457],[80.216211,42.032422],[79.909668,42.01499],[79.84043,41.995752],[79.766113,41.898877],[79.503906,41.820996],[79.354395,41.781055],[79.293555,41.782812],[79.148438,41.719141],[78.742578,41.560059],[78.543164,41.45957],[78.442871,41.417529],[78.362402,41.371631],[78.348828,41.325195],[78.346289,41.281445],[78.123438,41.075635],[77.956445,41.050684],[77.815234,41.055615],[77.719336,41.024316],[77.581738,40.992773],[77.283984,41.014355],[77.182031,41.010742],[76.986621,41.03916],[76.907715,41.02417],[76.824023,40.982324],[76.708398,40.818115],[76.661133,40.779639],[76.639844,40.742236],[76.622168,40.662354],[76.57793,40.577881],[76.520898,40.51123],[76.480176,40.449512],[76.396387,40.389795],[76.318555,40.352246],[76.258301,40.430762],[76.206055,40.408398],[76.156641,40.376465],[76.062305,40.387549],[76.004297,40.371436],[75.871973,40.303223],[75.677148,40.305811],[75.655957,40.329248],[75.617383,40.516602],[75.583496,40.605322],[75.555566,40.625195],[75.520801,40.627539],[75.241016,40.480273],[75.111328,40.454102],[75.004492,40.449512],[74.865625,40.493506],[74.835156,40.482617],[74.811133,40.458789],[74.80127,40.428516],[74.841797,40.344971],[74.830469,40.328516],[74.767773,40.329883],[74.679883,40.310596],[74.613086,40.272168],[74.411914,40.137207],[74.242676,40.092041],[74.085156,40.074316],[74.020508,40.059375],[73.991602,40.043115],[73.93877,39.978809],[73.88457,39.87793],[73.85625,39.828662],[73.835352,39.800146],[73.839746,39.762842],[73.88252,39.714551],[73.914648,39.606494],[73.907129,39.578516],[73.872754,39.533301],[73.822949,39.488965],[73.715723,39.462256],[73.631641,39.448877],[73.575586,39.457617],[73.47041,39.460596],[73.387402,39.442725],[73.336133,39.412354],[73.234961,39.374561],[73.109277,39.361914],[72.949414,39.35708],[72.872461,39.3604],[72.639941,39.385986],[72.563379,39.377197],[72.490234,39.357373],[72.357715,39.336865],[72.287207,39.27373],[72.249805,39.215674],[72.22998,39.20752],[72.147363,39.260742],[72.08418,39.310645],[72.042773,39.352148],[71.991016,39.350928],[71.805957,39.275586],[71.778613,39.277979],[71.725684,39.306592],[71.735352,39.377734],[71.732227,39.422998],[71.672656,39.44707],[71.546289,39.453076],[71.50332,39.478809],[71.505859,39.51709],[71.517383,39.553857],[71.503027,39.582178],[71.470313,39.603662],[71.404297,39.597852],[71.328516,39.568701],[71.272852,39.535303],[71.202734,39.519824],[71.118066,39.513574],[71.065039,39.493408],[71.004883,39.411865],[70.799316,39.394727],[70.733105,39.413281],[70.678613,39.471289],[70.607813,39.564404],[70.567969,39.575879],[70.501172,39.587354],[70.39209,39.581885],[70.244824,39.542627],[70.209277,39.575],[70.171094,39.58418],[70.136816,39.557568],[70.10166,39.560596],[69.955957,39.553076],[69.77207,39.556738],[69.666992,39.574902],[69.598828,39.573779],[69.463281,39.53208],[69.391504,39.532471],[69.297656,39.524805],[69.280273,39.665869],[69.229102,39.761084],[69.244727,39.8271],[69.278809,39.917773],[69.307227,39.968555],[69.36543,39.94707],[69.431934,39.909766],[69.47627,39.919727],[69.487891,39.950439],[69.470996,39.990625],[69.46875,40.020752],[69.493652,40.060352],[69.530273,40.097314],[69.765234,40.158008],[69.966797,40.202246],[70.071484,40.172754],[70.274414,40.104834],[70.378906,40.069873],[70.451367,40.049219],[70.515137,39.949902],[70.556836,39.954492],[70.599219,39.974512],[70.624121,39.998975],[70.644336,40.083447],[70.738574,40.131152],[70.946387,40.187598],[70.960938,40.220654],[70.958008,40.238867]],[[71.206152,39.892578],[71.215625,39.906787],[71.179297,39.979834],[71.228711,40.048145],[71.130273,40.059668],[71.080371,40.079883],[71.024121,40.14917],[71.005469,40.152295],[70.97627,40.133252],[70.960645,40.087988],[70.974414,40.038867],[71.014453,40.005762],[71.041016,39.994922],[71.044824,39.992529],[71.043652,39.976318],[71.011719,39.895117],[71.064258,39.884912],[71.15625,39.883447],[71.206152,39.892578]],[[71.779688,39.950244],[71.789941,39.995312],[71.765332,39.993262],[71.736523,39.980957],[71.68125,39.968652],[71.668945,39.946094],[71.705859,39.917432],[71.75293,39.907129],[71.779688,39.950244]],[[70.70166,39.825293],[70.698242,39.84585],[70.66416,39.855469],[70.56709,39.866602],[70.497754,39.882422],[70.482813,39.882715],[70.489258,39.863037],[70.518652,39.828174],[70.55957,39.790918],[70.612109,39.786768],[70.70166,39.825293]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":3,"LABELRANK":6,"SOVEREIGNT":"Kuwait","SOV_A3":"KWT","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Kuwait","ADM0_A3":"KWT","GEOU_DIF":0,"GEOUNIT":"Kuwait","GU_A3":"KWT","SU_DIF":0,"SUBUNIT":"Kuwait","SU_A3":"KWT","BRK_DIFF":0,"NAME":"Kuwait","NAME_LONG":"Kuwait","BRK_A3":"KWT","BRK_NAME":"Kuwait","BRK_GROUP":null,"ABBREV":"Kwt.","POSTAL":"KW","FORMAL_EN":"State of Kuwait","FORMAL_FR":null,"NAME_CIAWF":"Kuwait","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Kuwait","NAME_ALT":null,"MAPCOLOR7":2,"MAPCOLOR8":2,"MAPCOLOR9":2,"MAPCOLOR13":2,"POP_EST":4207083,"POP_RANK":12,"POP_YEAR":2019,"GDP_MD":134628,"GDP_YEAR":2019,"ECONOMY":"6. Developing region","INCOME_GRP":"2. High income: nonOECD","FIPS_10":"KU","ISO_A2":"KW","ISO_A2_EH":"KW","ISO_A3":"KWT","ISO_A3_EH":"KWT","ISO_N3":"414","ISO_N3_EH":"414","UN_A3":"414","WB_A2":"KW","WB_A3":"KWT","WOE_ID":23424870,"WOE_ID_EH":23424870,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"KWT","ADM0_DIFF":null,"ADM0_TLC":"KWT","ADM0_A3_US":"KWT","ADM0_A3_FR":"KWT","ADM0_A3_RU":"KWT","ADM0_A3_ES":"KWT","ADM0_A3_CN":"KWT","ADM0_A3_TW":"KWT","ADM0_A3_IN":"KWT","ADM0_A3_NP":"KWT","ADM0_A3_PK":"KWT","ADM0_A3_DE":"KWT","ADM0_A3_GB":"KWT","ADM0_A3_BR":"KWT","ADM0_A3_IL":"KWT","ADM0_A3_PS":"KWT","ADM0_A3_SA":"KWT","ADM0_A3_EG":"KWT","ADM0_A3_MA":"KWT","ADM0_A3_PT":"KWT","ADM0_A3_AR":"KWT","ADM0_A3_JP":"KWT","ADM0_A3_KO":"KWT","ADM0_A3_VN":"KWT","ADM0_A3_TR":"KWT","ADM0_A3_ID":"KWT","ADM0_A3_PL":"KWT","ADM0_A3_GR":"KWT","ADM0_A3_IT":"KWT","ADM0_A3_NL":"KWT","ADM0_A3_SE":"KWT","ADM0_A3_BD":"KWT","ADM0_A3_UA":"KWT","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Asia","REGION_UN":"Asia","SUBREGION":"Western Asia","REGION_WB":"Middle East & North Africa","NAME_LEN":6,"LONG_LEN":6,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":5,"MAX_LABEL":10,"LABEL_X":47.313999,"LABEL_Y":29.413628,"NE_ID":1159321009,"WIKIDATAID":"Q817","NAME_AR":"الكويت","NAME_BN":"কুয়েত","NAME_DE":"Kuwait","NAME_EN":"Kuwait","NAME_ES":"Kuwait","NAME_FA":"کویت","NAME_FR":"Koweït","NAME_EL":"Κουβέιτ","NAME_HE":"כווית","NAME_HI":"कुवैत","NAME_HU":"Kuvait","NAME_ID":"Kuwait","NAME_IT":"Kuwait","NAME_JA":"クウェート","NAME_KO":"쿠웨이트","NAME_NL":"Koeweit","NAME_PL":"Kuwejt","NAME_PT":"Kuwait","NAME_RU":"Кувейт","NAME_SV":"Kuwait","NAME_TR":"Kuveyt","NAME_UK":"Кувейт","NAME_UR":"کویت","NAME_VI":"Kuwait","NAME_ZH":"科威特","NAME_ZHT":"科威特","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[46.531445,28.533154,48.44248,30.097314],"geometry":{"type":"MultiPolygon","coordinates":[[[[48.275391,29.624316],[48.218262,29.601953],[48.179688,29.611426],[48.142578,29.665283],[48.081445,29.798926],[48.114746,29.848779],[48.113477,29.870215],[48.120117,29.886328],[48.138867,29.896582],[48.158594,29.95957],[48.184766,29.978857],[48.227734,29.936328],[48.348242,29.782666],[48.347363,29.719971],[48.340234,29.694727],[48.275391,29.624316]]],[[[48.44248,28.54292],[48.26875,28.540527],[48.049609,28.5375],[47.871973,28.535449],[47.671289,28.533154],[47.583105,28.627979],[47.553223,28.731543],[47.521289,28.837842],[47.433203,28.989551],[47.13877,29.026172],[46.982227,29.045654],[46.724805,29.074609],[46.531445,29.09624],[46.69375,29.259668],[46.769336,29.347461],[46.905859,29.5375],[46.975977,29.672852],[47.043652,29.822998],[47.102051,29.93999],[47.114355,29.961328],[47.148242,30.000977],[47.223242,30.041504],[47.331348,30.079687],[47.514844,30.096484],[47.64375,30.097314],[47.672754,30.095605],[47.753906,30.076611],[47.978711,29.982812],[47.973633,29.945898],[48.005664,29.835791],[48.077344,29.715576],[48.136133,29.618115],[48.143457,29.572461],[48.089453,29.579102],[48.04834,29.59751],[47.969629,29.616699],[47.81748,29.487402],[47.725293,29.416943],[47.722656,29.393018],[47.845313,29.365723],[47.935352,29.366602],[47.998145,29.385547],[48.051465,29.355371],[48.086328,29.275488],[48.100391,29.210742],[48.183789,28.979395],[48.25293,28.90127],[48.339258,28.763281],[48.371289,28.691846],[48.389648,28.631592],[48.44248,28.54292]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":6,"SOVEREIGNT":"Kosovo","SOV_A3":"KOS","ADM0_DIF":0,"LEVEL":2,"TYPE":"Disputed","TLC":"1","ADMIN":"Kosovo","ADM0_A3":"KOS","GEOU_DIF":0,"GEOUNIT":"Kosovo","GU_A3":"KOS","SU_DIF":0,"SUBUNIT":"Kosovo","SU_A3":"KOS","BRK_DIFF":0,"NAME":"Kosovo","NAME_LONG":"Kosovo","BRK_A3":"KOS","BRK_NAME":"Kosovo","BRK_GROUP":null,"ABBREV":"Kos.","POSTAL":"KO","FORMAL_EN":"Republic of Kosovo","FORMAL_FR":null,"NAME_CIAWF":"Kosovo","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Kosovo","NAME_ALT":null,"MAPCOLOR7":2,"MAPCOLOR8":2,"MAPCOLOR9":3,"MAPCOLOR13":11,"POP_EST":1794248,"POP_RANK":12,"POP_YEAR":2019,"GDP_MD":7926,"GDP_YEAR":2019,"ECONOMY":"6. Developing region","INCOME_GRP":"4. Lower middle income","FIPS_10":"KV","ISO_A2":"-99","ISO_A2_EH":"XK","ISO_A3":"-99","ISO_A3_EH":"-99","ISO_N3":"-99","ISO_N3_EH":"-99","UN_A3":"-099","WB_A2":"KV","WB_A3":"KSV","WOE_ID":-90,"WOE_ID_EH":29389201,"WOE_NOTE":"Subunit of Serbia in WOE still; should include 29389201, 29389207, 29389218, 29389209 and 29389214.","ADM0_ISO":"SRB","ADM0_DIFF":"1","ADM0_TLC":"KOS","ADM0_A3_US":"KOS","ADM0_A3_FR":"KOS","ADM0_A3_RU":"SRB","ADM0_A3_ES":"SRB","ADM0_A3_CN":"SRB","ADM0_A3_TW":"KOS","ADM0_A3_IN":"SRB","ADM0_A3_NP":"SRB","ADM0_A3_PK":"KOS","ADM0_A3_DE":"KOS","ADM0_A3_GB":"SRB","ADM0_A3_BR":"KOS","ADM0_A3_IL":"KOS","ADM0_A3_PS":"SRB","ADM0_A3_SA":"KOS","ADM0_A3_EG":"KOS","ADM0_A3_MA":"SRB","ADM0_A3_PT":"KOS","ADM0_A3_AR":"SRB","ADM0_A3_JP":"KOS","ADM0_A3_KO":"KOS","ADM0_A3_VN":"SRB","ADM0_A3_TR":"KOS","ADM0_A3_ID":"SRB","ADM0_A3_PL":"KOS","ADM0_A3_GR":"SRB","ADM0_A3_IT":"KOS","ADM0_A3_NL":"KOS","ADM0_A3_SE":"KOS","ADM0_A3_BD":"KOS","ADM0_A3_UA":"SRB","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Europe","REGION_UN":"Europe","SUBREGION":"Southern Europe","REGION_WB":"Europe & Central Asia","NAME_LEN":6,"LONG_LEN":6,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":5,"MAX_LABEL":10,"LABEL_X":20.860719,"LABEL_Y":42.593587,"NE_ID":1159321007,"WIKIDATAID":"Q1246","NAME_AR":"كوسوفو","NAME_BN":"কসোভো","NAME_DE":"Kosovo","NAME_EN":"Kosovo","NAME_ES":"Kosovo","NAME_FA":"کوزووو","NAME_FR":"Kosovo","NAME_EL":"Κοσσυφοπέδιο","NAME_HE":"קוסובו","NAME_HI":"कोसोवो गणराज्य","NAME_HU":"Koszovó","NAME_ID":"Kosovo","NAME_IT":"Kosovo","NAME_JA":"コソボ共和国","NAME_KO":"코소보","NAME_NL":"Kosovo","NAME_PL":"Kosowo","NAME_PT":"Kosovo","NAME_RU":"Республика Косово","NAME_SV":"Kosovo","NAME_TR":"Kosova","NAME_UK":"Косово","NAME_UR":"کوسووہ","NAME_VI":"Kosovo","NAME_ZH":"科索沃","NAME_ZHT":"科索沃","FCLASS_ISO":"Unrecognized","TLC_DIFF":"1","FCLASS_TLC":"Admin-0 country","FCLASS_US":"Admin-0 country","FCLASS_FR":"Admin-0 country","FCLASS_RU":"Admin-1 region","FCLASS_ES":"Unrecognized","FCLASS_CN":"Unrecognized","FCLASS_TW":"Admin-0 country","FCLASS_IN":"Admin-1 region","FCLASS_NP":"Unrecognized","FCLASS_PK":"Admin-0 country","FCLASS_DE":"Admin-0 country","FCLASS_GB":"Admin-0 country","FCLASS_BR":"Unrecognized","FCLASS_IL":"Admin-0 country","FCLASS_PS":"Unrecognized","FCLASS_SA":"Admin-0 country","FCLASS_EG":"Admin-0 country","FCLASS_MA":"Unrecognized","FCLASS_PT":"Admin-0 country","FCLASS_AR":"Unrecognized","FCLASS_JP":"Admin-0 country","FCLASS_KO":"Admin-0 country","FCLASS_VN":"Unrecognized","FCLASS_TR":"Admin-0 country","FCLASS_ID":"Unrecognized","FCLASS_PL":"Admin-0 country","FCLASS_GR":"Unrecognized","FCLASS_IT":"Admin-0 country","FCLASS_NL":"Admin-0 country","FCLASS_SE":"Admin-0 country","FCLASS_BD":"Admin-0 country","FCLASS_UA":"Unrecognized"},"bbox":[20.029492,41.853809,21.75293,43.261084],"geometry":{"type":"Polygon","coordinates":[[[20.344336,42.82793],[20.468848,42.85791],[20.486816,42.879053],[20.458398,42.924561],[20.475098,42.953027],[20.624023,43.03418],[20.648535,43.070947],[20.657617,43.099854],[20.637598,43.130371],[20.609668,43.178418],[20.623145,43.198633],[20.700586,43.226367],[20.763379,43.258594],[20.800586,43.261084],[20.823828,43.237939],[20.823828,43.213965],[20.844434,43.173437],[20.890723,43.15166],[20.967676,43.116016],[21.057031,43.091699],[21.127051,43.043018],[21.222656,42.956201],[21.237109,42.913232],[21.323145,42.874707],[21.403027,42.831543],[21.390625,42.751416],[21.6625,42.681494],[21.723828,42.681982],[21.75293,42.669824],[21.752148,42.651514],[21.730664,42.595459],[21.619043,42.423242],[21.609863,42.387451],[21.52998,42.35],[21.518945,42.328418],[21.541602,42.280811],[21.5625,42.24751],[21.56084,42.247656],[21.389551,42.219824],[21.331738,42.187158],[21.297559,42.130078],[21.286621,42.100391],[21.256348,42.099512],[21.206055,42.128955],[21.14248,42.175],[21.059766,42.171289],[20.778125,42.071045],[20.750391,42.018359],[20.744141,41.904297],[20.725,41.873535],[20.694922,41.853809],[20.578516,41.866211],[20.566211,41.873682],[20.581445,41.917432],[20.575391,42.013086],[20.522852,42.171484],[20.485449,42.223389],[20.408301,42.274951],[20.348242,42.308789],[20.240527,42.338965],[20.185742,42.425879],[20.103516,42.524658],[20.063965,42.547266],[20.070312,42.55708],[20.089258,42.631543],[20.065723,42.68584],[20.029492,42.732031],[20.054297,42.760059],[20.12998,42.759766],[20.192578,42.754639],[20.215137,42.798828],[20.344336,42.82793]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":5,"LABELRANK":6,"SOVEREIGNT":"Kiribati","SOV_A3":"KIR","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Kiribati","ADM0_A3":"KIR","GEOU_DIF":0,"GEOUNIT":"Kiribati","GU_A3":"KIR","SU_DIF":0,"SUBUNIT":"Kiribati","SU_A3":"KIR","BRK_DIFF":0,"NAME":"Kiribati","NAME_LONG":"Kiribati","BRK_A3":"KIR","BRK_NAME":"Kiribati","BRK_GROUP":null,"ABBREV":"Kir.","POSTAL":"KI","FORMAL_EN":"Republic of Kiribati","FORMAL_FR":null,"NAME_CIAWF":"Kiribati","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Kiribati","NAME_ALT":null,"MAPCOLOR7":5,"MAPCOLOR8":7,"MAPCOLOR9":6,"MAPCOLOR13":12,"POP_EST":117606,"POP_RANK":9,"POP_YEAR":2019,"GDP_MD":194,"GDP_YEAR":2019,"ECONOMY":"7. Least developed region","INCOME_GRP":"4. Lower middle income","FIPS_10":"KR","ISO_A2":"KI","ISO_A2_EH":"KI","ISO_A3":"KIR","ISO_A3_EH":"KIR","ISO_N3":"296","ISO_N3_EH":"296","UN_A3":"296","WB_A2":"KI","WB_A3":"KIR","WOE_ID":23424867,"WOE_ID_EH":23424867,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"KIR","ADM0_DIFF":null,"ADM0_TLC":"KIR","ADM0_A3_US":"KIR","ADM0_A3_FR":"KIR","ADM0_A3_RU":"KIR","ADM0_A3_ES":"KIR","ADM0_A3_CN":"KIR","ADM0_A3_TW":"KIR","ADM0_A3_IN":"KIR","ADM0_A3_NP":"KIR","ADM0_A3_PK":"KIR","ADM0_A3_DE":"KIR","ADM0_A3_GB":"KIR","ADM0_A3_BR":"KIR","ADM0_A3_IL":"KIR","ADM0_A3_PS":"KIR","ADM0_A3_SA":"KIR","ADM0_A3_EG":"KIR","ADM0_A3_MA":"KIR","ADM0_A3_PT":"KIR","ADM0_A3_AR":"KIR","ADM0_A3_JP":"KIR","ADM0_A3_KO":"KIR","ADM0_A3_VN":"KIR","ADM0_A3_TR":"KIR","ADM0_A3_ID":"KIR","ADM0_A3_PL":"KIR","ADM0_A3_GR":"KIR","ADM0_A3_IT":"KIR","ADM0_A3_NL":"KIR","ADM0_A3_SE":"KIR","ADM0_A3_BD":"KIR","ADM0_A3_UA":"KIR","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Oceania","REGION_UN":"Oceania","SUBREGION":"Micronesia","REGION_WB":"East Asia & Pacific","NAME_LEN":8,"LONG_LEN":8,"ABBREV_LEN":4,"TINY":2,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":5,"MAX_LABEL":10,"LABEL_X":-157.384577,"LABEL_Y":1.820437,"NE_ID":1159320981,"WIKIDATAID":"Q710","NAME_AR":"كيريباتي","NAME_BN":"কিরিবাস","NAME_DE":"Kiribati","NAME_EN":"Kiribati","NAME_ES":"Kiribati","NAME_FA":"کیریباتی","NAME_FR":"Kiribati","NAME_EL":"Κιριμπάτι","NAME_HE":"קיריבטי","NAME_HI":"किरिबाती","NAME_HU":"Kiribati","NAME_ID":"Kiribati","NAME_IT":"Kiribati","NAME_JA":"キリバス","NAME_KO":"키리바시","NAME_NL":"Kiribati","NAME_PL":"Kiribati","NAME_PT":"Kiribati","NAME_RU":"Кирибати","NAME_SV":"Kiribati","NAME_TR":"Kiribati","NAME_UK":"Кірибаті","NAME_UR":"کیریباتی","NAME_VI":"Kiribati","NAME_ZH":"基里巴斯","NAME_ZHT":"吉里巴斯","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[-174.54082,-11.456836,174.778906,3.923535],"geometry":{"type":"MultiPolygon","coordinates":[[[[172.969629,3.129199],[172.90625,3.095898],[172.887109,3.10127],[172.9625,3.148779],[172.962207,3.14292],[172.969629,3.129199]]],[[[172.844238,3.051221],[172.770313,3.012549],[172.750488,3.033057],[172.777344,3.033887],[172.826953,3.071094],[172.887109,3.073975],[172.880273,3.053516],[172.844238,3.051221]]],[[[173.01875,1.845703],[173.023633,1.822559],[172.966602,1.8854],[172.932715,1.925928],[172.934766,1.943701],[172.950098,1.93252],[172.969141,1.912695],[172.981543,1.896973],[173.01875,1.845703]]],[[[173.029395,1.717383],[172.993262,1.713086],[173.02041,1.72749],[173.027832,1.747314],[173.023633,1.809326],[173.037695,1.804395],[173.042676,1.77876],[173.045215,1.741553],[173.029395,1.717383]]],[[[173.032813,1.013135],[173.086523,0.973437],[173.079492,0.94624],[173.061426,0.915234],[172.991113,0.835449],[172.969922,0.842773],[173.038574,0.914746],[173.065039,0.962695],[173.025586,0.999072],[173.009961,0.990967],[173.003711,0.990967],[172.990039,1.025098],[173.003711,1.025098],[173.032813,1.013135]]],[[[174.508691,-0.801758],[174.476367,-0.829004],[174.464063,-0.804199],[174.479688,-0.773633],[174.452734,-0.64707],[174.407813,-0.629785],[174.381055,-0.591797],[174.394043,-0.591797],[174.43877,-0.626563],[174.474805,-0.642188],[174.49541,-0.725684],[174.508691,-0.801758]]],[[[174.773242,-1.211914],[174.778906,-1.263379],[174.755957,-1.256445],[174.748438,-1.236426],[174.741016,-1.18457],[174.716797,-1.133691],[174.744141,-1.147363],[174.766602,-1.187109],[174.773242,-1.211914]]],[[[173.038379,1.34209],[173.011328,1.338379],[173.028613,1.35874],[173.143359,1.381348],[173.15332,1.387549],[173.171875,1.375146],[173.171484,1.363379],[173.163086,1.35752],[173.106348,1.35708],[173.061719,1.346338],[173.038379,1.34209]]],[[[169.551074,-0.87373],[169.541699,-0.875977],[169.522949,-0.865625],[169.525586,-0.852637],[169.538672,-0.846875],[169.555273,-0.856543],[169.551074,-0.87373]]],[[[-172.214551,-4.511133],[-172.208301,-4.517969],[-172.193896,-4.516016],[-172.180957,-4.514844],[-172.188818,-4.52168],[-172.215234,-4.524414],[-172.22832,-4.507031],[-172.212207,-4.493945],[-172.197852,-4.491699],[-172.196387,-4.49541],[-172.197217,-4.499512],[-172.203857,-4.499512],[-172.214746,-4.502637],[-172.214551,-4.511133]]],[[[-171.085156,-3.135449],[-171.089795,-3.143262],[-171.096729,-3.136914],[-171.091748,-3.125098],[-171.087695,-3.115039],[-171.081006,-3.12041],[-171.085156,-3.135449]]],[[[-171.233203,-4.463477],[-171.243018,-4.468066],[-171.254541,-4.466504],[-171.261768,-4.459766],[-171.261963,-4.449219],[-171.252393,-4.441602],[-171.239404,-4.444141],[-171.231885,-4.453711],[-171.233203,-4.463477]]],[[[-174.512939,-4.675098],[-174.501123,-4.688379],[-174.501025,-4.694727],[-174.506738,-4.693652],[-174.523877,-4.689648],[-174.529248,-4.681641],[-174.516748,-4.686816],[-174.511475,-4.685645],[-174.523047,-4.674023],[-174.533105,-4.665332],[-174.540674,-4.661719],[-174.54082,-4.657324],[-174.531396,-4.659473],[-174.512939,-4.675098]]],[[[-154.95625,-4.087988],[-154.959033,-4.093848],[-154.971094,-4.08584],[-154.994629,-4.071094],[-155.0146,-4.054883],[-155.015039,-4.048047],[-154.986963,-4.038574],[-154.951221,-4.031055],[-154.943359,-4.041602],[-154.950049,-4.055957],[-154.95625,-4.087988]]],[[[-151.782617,-11.441016],[-151.790869,-11.456836],[-151.806689,-11.45127],[-151.815967,-11.431152],[-151.819141,-11.409277],[-151.813281,-11.391797],[-151.802783,-11.392676],[-151.791113,-11.414355],[-151.782617,-11.441016]]],[[[-155.863818,-5.62666],[-155.887109,-5.631836],[-155.914355,-5.631641],[-155.92793,-5.618555],[-155.928613,-5.607617],[-155.919385,-5.60752],[-155.910791,-5.609473],[-155.872266,-5.611328],[-155.862354,-5.619141],[-155.863818,-5.62666]]],[[[-157.342139,1.855566],[-157.175781,1.739844],[-157.246143,1.731738],[-157.420117,1.787549],[-157.578955,1.902051],[-157.531494,1.926855],[-157.508203,1.885693],[-157.43584,1.847266],[-157.393213,1.927686],[-157.365186,1.946094],[-157.492188,2.029297],[-157.441895,2.025049],[-157.321875,1.968555],[-157.342139,1.855566]]],[[[-159.339063,3.923535],[-159.259326,3.839209],[-159.274756,3.796582],[-159.332275,3.800488],[-159.35874,3.815332],[-159.313672,3.822656],[-159.30625,3.838379],[-159.326807,3.863184],[-159.354199,3.880518],[-159.373193,3.880518],[-159.377783,3.846631],[-159.409033,3.873242],[-159.390967,3.899561],[-159.369043,3.916992],[-159.339063,3.923535]]],[[[-171.697607,-2.766406],[-171.66499,-2.785547],[-171.639648,-2.81123],[-171.627637,-2.846973],[-171.628418,-2.855859],[-171.647363,-2.855566],[-171.670605,-2.844434],[-171.687305,-2.829785],[-171.696094,-2.825684],[-171.698291,-2.822266],[-171.678369,-2.824512],[-171.655371,-2.839844],[-171.638525,-2.84668],[-171.639746,-2.829199],[-171.660205,-2.798535],[-171.672656,-2.787988],[-171.688037,-2.779102],[-171.705957,-2.773145],[-171.718164,-2.778613],[-171.724805,-2.781348],[-171.727637,-2.774121],[-171.725146,-2.767871],[-171.718896,-2.761426],[-171.697607,-2.766406]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":4,"LABELRANK":2,"SOVEREIGNT":"Kenya","SOV_A3":"KEN","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Kenya","ADM0_A3":"KEN","GEOU_DIF":0,"GEOUNIT":"Kenya","GU_A3":"KEN","SU_DIF":0,"SUBUNIT":"Kenya","SU_A3":"KEN","BRK_DIFF":0,"NAME":"Kenya","NAME_LONG":"Kenya","BRK_A3":"KEN","BRK_NAME":"Kenya","BRK_GROUP":null,"ABBREV":"Ken.","POSTAL":"KE","FORMAL_EN":"Republic of Kenya","FORMAL_FR":null,"NAME_CIAWF":"Kenya","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Kenya","NAME_ALT":null,"MAPCOLOR7":5,"MAPCOLOR8":2,"MAPCOLOR9":7,"MAPCOLOR13":3,"POP_EST":52573973,"POP_RANK":16,"POP_YEAR":2019,"GDP_MD":95503,"GDP_YEAR":2019,"ECONOMY":"5. Emerging region: G20","INCOME_GRP":"5. Low income","FIPS_10":"KE","ISO_A2":"KE","ISO_A2_EH":"KE","ISO_A3":"KEN","ISO_A3_EH":"KEN","ISO_N3":"404","ISO_N3_EH":"404","UN_A3":"404","WB_A2":"KE","WB_A3":"KEN","WOE_ID":23424863,"WOE_ID_EH":23424863,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"KEN","ADM0_DIFF":null,"ADM0_TLC":"KEN","ADM0_A3_US":"KEN","ADM0_A3_FR":"KEN","ADM0_A3_RU":"KEN","ADM0_A3_ES":"KEN","ADM0_A3_CN":"KEN","ADM0_A3_TW":"KEN","ADM0_A3_IN":"KEN","ADM0_A3_NP":"KEN","ADM0_A3_PK":"KEN","ADM0_A3_DE":"KEN","ADM0_A3_GB":"KEN","ADM0_A3_BR":"KEN","ADM0_A3_IL":"KEN","ADM0_A3_PS":"KEN","ADM0_A3_SA":"KEN","ADM0_A3_EG":"KEN","ADM0_A3_MA":"KEN","ADM0_A3_PT":"KEN","ADM0_A3_AR":"KEN","ADM0_A3_JP":"KEN","ADM0_A3_KO":"KEN","ADM0_A3_VN":"KEN","ADM0_A3_TR":"KEN","ADM0_A3_ID":"KEN","ADM0_A3_PL":"KEN","ADM0_A3_GR":"KEN","ADM0_A3_IT":"KEN","ADM0_A3_NL":"KEN","ADM0_A3_SE":"KEN","ADM0_A3_BD":"KEN","ADM0_A3_UA":"KEN","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Africa","REGION_UN":"Africa","SUBREGION":"Eastern Africa","REGION_WB":"Sub-Saharan Africa","NAME_LEN":5,"LONG_LEN":5,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":1.7,"MAX_LABEL":6.7,"LABEL_X":37.907632,"LABEL_Y":0.549043,"NE_ID":1159320971,"WIKIDATAID":"Q114","NAME_AR":"كينيا","NAME_BN":"কেনিয়া","NAME_DE":"Kenia","NAME_EN":"Kenya","NAME_ES":"Kenia","NAME_FA":"کنیا","NAME_FR":"Kenya","NAME_EL":"Κένυα","NAME_HE":"קניה","NAME_HI":"कीनिया","NAME_HU":"Kenya","NAME_ID":"Kenya","NAME_IT":"Kenya","NAME_JA":"ケニア","NAME_KO":"케냐","NAME_NL":"Kenia","NAME_PL":"Kenia","NAME_PT":"Quénia","NAME_RU":"Кения","NAME_SV":"Kenya","NAME_TR":"Kenya","NAME_UK":"Кенія","NAME_UR":"کینیا","NAME_VI":"Kenya","NAME_ZH":"肯尼亚","NAME_ZHT":"肯亞","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[33.9,-4.692383,41.883984,5.492285],"geometry":{"type":"MultiPolygon","coordinates":[[[[40.994434,-2.158398],[40.957324,-2.167285],[40.976465,-2.109766],[41.086035,-2.036523],[41.130664,-2.053027],[41.139258,-2.069824],[41.136816,-2.085059],[41.118164,-2.100098],[40.994434,-2.158398]]],[[[33.903223,-1.002051],[33.9,-0.831641],[33.924414,-0.397852],[33.921484,-0.016992],[33.943164,0.173779],[34.037207,0.294531],[34.080566,0.382471],[34.111719,0.505127],[34.160938,0.605176],[34.272559,0.686426],[34.292578,0.73125],[34.41084,0.867285],[34.481738,1.042139],[34.535254,1.101562],[34.601953,1.156445],[34.649121,1.185303],[34.726758,1.214258],[34.787598,1.230713],[34.798633,1.244531],[34.803809,1.272852],[34.783594,1.381152],[34.80957,1.416699],[34.850977,1.489014],[34.89834,1.556494],[34.941211,1.599268],[34.965234,1.643359],[34.976465,1.719629],[34.978223,1.773633],[34.977539,1.861914],[34.964063,2.062402],[34.913965,2.230176],[34.883008,2.41792],[34.905762,2.479687],[34.866211,2.589697],[34.84668,2.595752],[34.814453,2.619824],[34.773438,2.723437],[34.74248,2.818115],[34.723242,2.841943],[34.58916,2.924756],[34.522559,3.119971],[34.447852,3.163477],[34.407227,3.35752],[34.399414,3.412695],[34.441797,3.60625],[34.437695,3.650586],[34.392871,3.691504],[34.26709,3.733154],[34.165039,3.812988],[34.178223,3.840869],[34.185742,3.869775],[34.132031,3.88916],[33.976074,4.220215],[34.176855,4.419092],[34.380176,4.620654],[34.639844,4.875488],[34.87832,5.10957],[35.084473,5.311865],[35.268359,5.492285],[35.263867,5.45791],[35.264648,5.412061],[35.287598,5.384082],[35.325293,5.364893],[35.37793,5.385156],[35.424023,5.413281],[35.468652,5.419092],[35.74502,5.343994],[35.791406,5.278564],[35.788477,5.208105],[35.800293,5.156934],[35.779297,5.105566],[35.756152,4.950488],[35.763086,4.808008],[35.845605,4.702637],[35.919824,4.619824],[35.978711,4.503809],[36.021973,4.468115],[36.081934,4.449707],[36.271875,4.444727],[36.553027,4.437256],[36.823633,4.430127],[36.848242,4.427344],[36.905566,4.411475],[37.15459,4.254541],[37.38252,4.11084],[37.575488,3.985937],[37.762891,3.864648],[37.944922,3.746729],[38.086133,3.648828],[38.225293,3.618994],[38.451563,3.604834],[38.608008,3.600098],[38.752734,3.558984],[38.967773,3.520605],[39.12832,3.500879],[39.225488,3.47876],[39.494434,3.456104],[39.538867,3.469189],[39.65752,3.577832],[39.790332,3.754248],[39.842188,3.851465],[40.01416,3.947949],[40.316016,4.082715],[40.528711,4.177637],[40.765234,4.273047],[40.872656,4.190332],[41.020801,4.057471],[41.087207,3.991943],[41.14043,3.962988],[41.220898,3.943555],[41.318945,3.943066],[41.372461,3.946191],[41.481934,3.963281],[41.737695,3.979053],[41.883984,3.977734],[41.760938,3.801611],[41.613477,3.590479],[41.341797,3.20166],[41.134961,2.99707],[40.978711,2.842432],[40.964453,2.814648],[40.965039,2.642334],[40.966699,2.220947],[40.97002,1.378174],[40.973242,0.5354],[40.976562,-0.307324],[40.978223,-0.728711],[40.978711,-0.870313],[41.11582,-1.047461],[41.249805,-1.220508],[41.426953,-1.449512],[41.521875,-1.572266],[41.537598,-1.613184],[41.532715,-1.695312],[41.386914,-1.866992],[41.26748,-1.94502],[41.106836,-1.982324],[41.058691,-1.975195],[40.995508,-1.950586],[40.970703,-1.991797],[40.952148,-2.055957],[40.916602,-2.04248],[40.889746,-2.023535],[40.905859,-2.1375],[40.922363,-2.19375],[40.898242,-2.269922],[40.820117,-2.336328],[40.813184,-2.392383],[40.644141,-2.539453],[40.404492,-2.555664],[40.278516,-2.628613],[40.222461,-2.688379],[40.179785,-2.819043],[40.194727,-3.019238],[40.128125,-3.17334],[40.11543,-3.250586],[39.991699,-3.350684],[39.936816,-3.44248],[39.896289,-3.53584],[39.860938,-3.576758],[39.819141,-3.786035],[39.761426,-3.913086],[39.745801,-3.955176],[39.731641,-3.993262],[39.686914,-4.067871],[39.658008,-4.119141],[39.637109,-4.152832],[39.490918,-4.478418],[39.376953,-4.625488],[39.2875,-4.608594],[39.228125,-4.665527],[39.221777,-4.692383],[39.190137,-4.677246],[39.11543,-4.623535],[38.961914,-4.512988],[38.808398,-4.402441],[38.654883,-4.291895],[38.501367,-4.181445],[38.347852,-4.070898],[38.194336,-3.960352],[38.04082,-3.849805],[37.887305,-3.739258],[37.797266,-3.674414],[37.757422,-3.636133],[37.726172,-3.559766],[37.711035,-3.54082],[37.670117,-3.516797],[37.62207,-3.511523],[37.608203,-3.49707],[37.608691,-3.460254],[37.625391,-3.407227],[37.681836,-3.305762],[37.687988,-3.246191],[37.676855,-3.178418],[37.65918,-3.07002],[37.643848,-3.04541],[37.542188,-2.988574],[37.329004,-2.869629],[37.11582,-2.750586],[36.902637,-2.631641],[36.689453,-2.512598],[36.476367,-2.393555],[36.263086,-2.274609],[36.05,-2.155664],[35.836914,-2.036621],[35.62373,-1.917578],[35.410547,-1.798633],[35.197461,-1.67959],[34.984277,-1.560547],[34.771094,-1.441602],[34.55791,-1.322559],[34.344727,-1.203613],[34.131641,-1.08457],[34.051563,-1.039844],[33.979395,-1.002051],[33.903223,-1.002051]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":5,"LABELRANK":3,"SOVEREIGNT":"Kazakhstan","SOV_A3":"KA1","ADM0_DIF":1,"LEVEL":1,"TYPE":"Sovereignty","TLC":"1","ADMIN":"Kazakhstan","ADM0_A3":"KAZ","GEOU_DIF":0,"GEOUNIT":"Kazakhstan","GU_A3":"KAZ","SU_DIF":0,"SUBUNIT":"Kazakhstan","SU_A3":"KAZ","BRK_DIFF":0,"NAME":"Kazakhstan","NAME_LONG":"Kazakhstan","BRK_A3":"KAZ","BRK_NAME":"Kazakhstan","BRK_GROUP":null,"ABBREV":"Kaz.","POSTAL":"KZ","FORMAL_EN":"Republic of Kazakhstan","FORMAL_FR":null,"NAME_CIAWF":"Kazakhstan","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Kazakhstan","NAME_ALT":null,"MAPCOLOR7":6,"MAPCOLOR8":1,"MAPCOLOR9":6,"MAPCOLOR13":1,"POP_EST":18513930,"POP_RANK":14,"POP_YEAR":2019,"GDP_MD":181665,"GDP_YEAR":2019,"ECONOMY":"6. Developing region","INCOME_GRP":"3. Upper middle income","FIPS_10":"KZ","ISO_A2":"KZ","ISO_A2_EH":"KZ","ISO_A3":"KAZ","ISO_A3_EH":"KAZ","ISO_N3":"398","ISO_N3_EH":"398","UN_A3":"398","WB_A2":"KZ","WB_A3":"KAZ","WOE_ID":-90,"WOE_ID_EH":23424871,"WOE_NOTE":"Includes Baykonur Cosmodrome as an Admin-1 states provinces","ADM0_ISO":"KAZ","ADM0_DIFF":null,"ADM0_TLC":"KAZ","ADM0_A3_US":"KAZ","ADM0_A3_FR":"KAZ","ADM0_A3_RU":"KAZ","ADM0_A3_ES":"KAZ","ADM0_A3_CN":"KAZ","ADM0_A3_TW":"KAZ","ADM0_A3_IN":"KAZ","ADM0_A3_NP":"KAZ","ADM0_A3_PK":"KAZ","ADM0_A3_DE":"KAZ","ADM0_A3_GB":"KAZ","ADM0_A3_BR":"KAZ","ADM0_A3_IL":"KAZ","ADM0_A3_PS":"KAZ","ADM0_A3_SA":"KAZ","ADM0_A3_EG":"KAZ","ADM0_A3_MA":"KAZ","ADM0_A3_PT":"KAZ","ADM0_A3_AR":"KAZ","ADM0_A3_JP":"KAZ","ADM0_A3_KO":"KAZ","ADM0_A3_VN":"KAZ","ADM0_A3_TR":"KAZ","ADM0_A3_ID":"KAZ","ADM0_A3_PL":"KAZ","ADM0_A3_GR":"KAZ","ADM0_A3_IT":"KAZ","ADM0_A3_NL":"KAZ","ADM0_A3_SE":"KAZ","ADM0_A3_BD":"KAZ","ADM0_A3_UA":"KAZ","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Asia","REGION_UN":"Asia","SUBREGION":"Central Asia","REGION_WB":"Europe & Central Asia","NAME_LEN":10,"LONG_LEN":10,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":2.7,"MAX_LABEL":7,"LABEL_X":68.685548,"LABEL_Y":49.054149,"NE_ID":1159320967,"WIKIDATAID":"Q232","NAME_AR":"كازاخستان","NAME_BN":"কাজাখস্তান","NAME_DE":"Kasachstan","NAME_EN":"Kazakhstan","NAME_ES":"Kazajistán","NAME_FA":"قزاقستان","NAME_FR":"Kazakhstan","NAME_EL":"Καζακστάν","NAME_HE":"קזחסטן","NAME_HI":"कज़ाख़िस्तान","NAME_HU":"Kazahsztán","NAME_ID":"Kazakhstan","NAME_IT":"Kazakistan","NAME_JA":"カザフスタン","NAME_KO":"카자흐스탄","NAME_NL":"Kazachstan","NAME_PL":"Kazachstan","NAME_PT":"Cazaquistão","NAME_RU":"Казахстан","NAME_SV":"Kazakstan","NAME_TR":"Kazakistan","NAME_UK":"Казахстан","NAME_UR":"قازقستان","NAME_VI":"Kazakhstan","NAME_ZH":"哈萨克斯坦","NAME_ZHT":"哈薩克","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[46.60918,40.608643,87.322852,55.3896],"geometry":{"type":"MultiPolygon","coordinates":[[[[50.184473,44.854639],[50.14873,44.826465],[50.095313,44.830615],[49.995117,44.936963],[50.023047,45.044727],[50.059375,45.066797],[50.109863,45.081934],[50.116602,45.058252],[50.045313,45.01001],[50.038867,44.949121],[50.098145,44.881543],[50.184473,44.854639]]],[[[50.311719,44.97207],[50.277246,44.958594],[50.256152,45.022412],[50.294922,45.075928],[50.349707,45.083008],[50.330859,44.998437],[50.311719,44.97207]]],[[[52.682422,45.411816],[52.664844,45.401318],[52.59834,45.428174],[52.554297,45.473975],[52.608887,45.528027],[52.65957,45.518066],[52.692969,45.460742],[52.682422,45.411816]]],[[[70.946777,42.248682],[70.860352,42.207227],[70.764551,42.194189],[70.715234,42.168652],[70.6625,42.107471],[70.613281,42.054736],[70.584277,42.036035],[70.540137,42.039453],[70.489063,42.080273],[70.416016,42.078564],[70.328906,42.027979],[70.225879,41.945996],[70.095605,41.820508],[69.959961,41.754053],[69.788086,41.697314],[69.663867,41.672119],[69.565137,41.629053],[69.400977,41.541895],[69.368359,41.490576],[69.249316,41.460254],[69.153613,41.425244],[69.064941,41.366943],[69.043457,41.264111],[68.986914,41.205029],[68.851172,41.123828],[68.737109,41.041895],[68.662793,40.961523],[68.584082,40.87627],[68.559277,40.829297],[68.556543,40.765137],[68.593652,40.711279],[68.600684,40.659961],[68.572656,40.622656],[68.495703,40.608643],[68.415039,40.619434],[68.291895,40.656104],[68.160254,40.721777],[68.112305,40.754053],[68.047656,40.809277],[68.057031,40.860596],[68.090332,40.960254],[68.113086,41.028613],[68.059375,41.061279],[68.019727,41.09624],[67.991406,41.130029],[67.935742,41.196582],[67.865723,41.180273],[67.805078,41.163916],[67.735059,41.187256],[67.528027,41.177148],[67.371582,41.169531],[67.225,41.162354],[67.038672,41.15332],[66.814258,41.142383],[66.749805,41.15708],[66.709668,41.17915],[66.668652,41.270752],[66.645313,41.348633],[66.60166,41.494336],[66.572559,41.606982],[66.537891,41.74126],[66.515039,41.889404],[66.498633,41.994873],[66.328809,41.99834],[66.193164,42.001123],[66.00957,42.004883],[66.01123,42.08877],[66.013184,42.194482],[66.015527,42.314795],[66.049805,42.472754],[66.062695,42.605176],[66.078516,42.76665],[66.088867,42.873389],[66.100293,42.99082],[66.005664,42.95459],[65.901074,42.914502],[65.803027,42.876953],[65.735645,42.972119],[65.670215,43.0646],[65.570703,43.205176],[65.496191,43.310547],[65.366504,43.372021],[65.270508,43.417529],[65.170898,43.494189],[65.084863,43.573682],[65.003125,43.649072],[64.905469,43.714697],[64.811816,43.693945],[64.706055,43.652979],[64.604102,43.613477],[64.496094,43.571631],[64.443164,43.551172],[64.318164,43.558936],[64.208789,43.565723],[64.013281,43.577832],[63.848145,43.588135],[63.679688,43.598633],[63.444824,43.613232],[63.207031,43.627979],[63.047656,43.608496],[62.846191,43.583887],[62.634473,43.558008],[62.459375,43.536621],[62.237891,43.50957],[62.071973,43.489355],[61.990234,43.492139],[61.887598,43.577246],[61.723242,43.713574],[61.623633,43.796191],[61.525879,43.877197],[61.385059,43.993945],[61.271484,44.082275],[61.160742,44.168604],[61.09707,44.248242],[61.065332,44.348389],[61.00791,44.393799],[60.879199,44.455078],[60.741113,44.52085],[60.60293,44.586621],[60.464746,44.652441],[60.32666,44.718213],[60.188477,44.783984],[60.050293,44.849756],[59.912207,44.915576],[59.774023,44.981299],[59.635938,45.04707],[59.497852,45.112842],[59.35957,45.178613],[59.221484,45.244434],[59.083398,45.310205],[58.945117,45.375977],[58.807031,45.441797],[58.668945,45.507568],[58.555273,45.555371],[58.449414,45.54292],[58.291113,45.509424],[58.125195,45.474365],[57.961035,45.439697],[57.666699,45.377441],[57.477344,45.337451],[57.329297,45.303662],[57.17168,45.267725],[56.965039,45.220605],[56.791895,45.181055],[56.58877,45.134766],[56.40918,45.093799],[56.25791,45.059326],[56.100488,45.023389],[55.975684,44.994922],[55.975781,44.765381],[55.975977,44.53584],[55.976074,44.306299],[55.976172,44.076758],[55.97627,43.847217],[55.976367,43.617627],[55.976465,43.388086],[55.976562,43.158594],[55.97666,42.929053],[55.976758,42.699512],[55.976855,42.469971],[55.976953,42.24043],[55.977051,42.010889],[55.977148,41.781348],[55.977344,41.551758],[55.977441,41.322217],[55.934961,41.324121],[55.839063,41.310791],[55.678613,41.278809],[55.545215,41.262744],[55.487012,41.272266],[55.434375,41.296289],[55.388379,41.346924],[55.319727,41.408398],[55.249609,41.458105],[55.162305,41.560254],[55.101855,41.638721],[54.952344,41.81001],[54.931641,41.864014],[54.903711,41.919092],[54.853809,41.965186],[54.67793,42.078223],[54.472852,42.180176],[54.271875,42.27998],[54.214941,42.304199],[54.120996,42.335205],[54.005176,42.335889],[53.926367,42.329785],[53.685352,42.296875],[53.500781,42.258252],[53.250098,42.205859],[53.055859,42.147754],[53.0125,42.130713],[52.870508,42.060596],[52.696875,41.944385],[52.493848,41.780371],[52.467578,41.885889],[52.458594,42.04834],[52.462109,42.100635],[52.517188,42.237158],[52.573242,42.330859],[52.618359,42.428223],[52.638477,42.555664],[52.596582,42.760156],[52.55,42.805469],[52.493945,42.820264],[52.434277,42.824463],[52.324414,42.816162],[52.273047,42.799805],[52.183691,42.86875],[52.075586,42.879785],[52.018555,42.860547],[51.960742,42.850586],[51.898242,42.869629],[51.844141,42.910449],[51.811035,42.954443],[51.785156,43.004346],[51.700391,43.104053],[51.616016,43.158447],[51.514063,43.170508],[51.347852,43.167383],[51.29541,43.174121],[51.292383,43.230713],[51.313379,43.355664],[51.313867,43.42085],[51.301758,43.482373],[51.274121,43.53291],[51.238965,43.576709],[51.139648,43.648779],[51.064844,43.750146],[50.939844,43.958545],[50.830762,44.192773],[50.782617,44.228027],[50.684961,44.265088],[50.471777,44.294775],[50.331152,44.325488],[50.275586,44.355127],[50.252539,44.406494],[50.25293,44.461523],[50.264551,44.526562],[50.297461,44.581543],[50.409473,44.624023],[50.652441,44.63335],[50.860352,44.62876],[51.048828,44.530469],[51.110742,44.507812],[51.177148,44.501367],[51.310742,44.532422],[51.37666,44.541211],[51.543555,44.531006],[51.49375,44.577539],[51.431055,44.601953],[51.366309,44.599854],[51.310254,44.61875],[51.218164,44.708984],[51.05791,44.811572],[51.020703,44.854004],[51.009375,44.921826],[51.040332,44.980322],[51.153711,45.040234],[51.249902,45.12168],[51.294043,45.229785],[51.333398,45.27959],[51.415723,45.357861],[51.539648,45.342871],[51.732617,45.399463],[52.04873,45.388379],[52.426758,45.404639],[52.531055,45.398633],[52.771973,45.343506],[52.910742,45.319727],[53.078906,45.30752],[53.200391,45.331982],[53.085742,45.407373],[52.8375,45.496729],[52.773828,45.572754],[52.8875,45.779541],[53.041602,45.967871],[53.135254,46.19165],[53.108984,46.414062],[53.063965,46.475293],[53.078516,46.547461],[53.132422,46.60835],[53.170215,46.669043],[53.1375,46.742041],[53.069434,46.856055],[53.03457,46.89292],[52.916016,46.954395],[52.677637,46.957129],[52.483203,46.990674],[52.420313,46.963672],[52.384863,46.922119],[52.340332,46.894775],[52.18877,46.839502],[52.138281,46.828613],[52.085547,46.8396],[52.011133,46.901904],[51.945117,46.894873],[51.744531,46.93374],[51.650098,47.018066],[51.615234,47.029932],[51.29082,47.097314],[51.178027,47.110156],[50.92002,47.040674],[50.732715,46.95166],[50.679883,46.938721],[50.58291,46.882275],[50.528418,46.873291],[50.472266,46.88291],[50.419336,46.879492],[50.30625,46.794922],[50.101562,46.696436],[49.999805,46.634277],[49.886328,46.595654],[49.760547,46.571484],[49.631543,46.567578],[49.584375,46.545215],[49.437207,46.537256],[49.347461,46.519141],[49.344238,46.485547],[49.362109,46.410205],[49.28584,46.436816],[49.205664,46.385693],[49.232227,46.337158],[49.184277,46.348828],[48.958984,46.442139],[48.774316,46.507959],[48.610156,46.566455],[48.586035,46.5771],[48.541211,46.605615],[48.50918,46.649951],[48.502344,46.698633],[48.518555,46.734326],[48.558398,46.757129],[48.605273,46.765918],[48.64707,46.758691],[48.693555,46.736816],[48.776367,46.710352],[48.883594,46.70542],[48.950293,46.725781],[48.959375,46.774609],[48.831836,46.954932],[48.714355,47.100488],[48.600684,47.262305],[48.552539,47.320996],[48.413086,47.456494],[48.275684,47.589941],[48.166992,47.708789],[48.109961,47.74541],[47.934668,47.760693],[47.600195,47.78999],[47.481934,47.803906],[47.387305,47.768652],[47.292383,47.740918],[47.202051,47.79248],[47.130762,47.876758],[47.093262,47.947705],[47.111523,48.020117],[47.119043,48.127002],[47.064648,48.232471],[47.004297,48.284473],[46.853125,48.323584],[46.660938,48.412256],[46.60918,48.573877],[46.702637,48.805566],[46.85293,48.969629],[46.962207,49.03833],[47.014258,49.09834],[47.031348,49.150293],[47.018164,49.199902],[46.953418,49.252588],[46.85293,49.303857],[46.802051,49.36709],[46.823145,49.502246],[46.889551,49.696973],[46.991992,49.852734],[47.12959,49.939062],[47.24834,50.000879],[47.295215,50.058496],[47.297656,50.140234],[47.294727,50.21748],[47.326465,50.273535],[47.376367,50.318115],[47.429199,50.357959],[47.503613,50.402734],[47.599609,50.413574],[47.705762,50.377979],[47.849609,50.282324],[48.060742,50.093604],[48.181348,49.97002],[48.224805,49.931934],[48.334961,49.858252],[48.434277,49.828516],[48.6,49.874707],[48.758984,49.92832],[48.810254,49.962402],[48.843262,50.013135],[48.817969,50.099854],[48.784766,50.156445],[48.749414,50.228467],[48.700488,50.35376],[48.666016,50.550342],[48.625098,50.612695],[48.655176,50.619873],[48.734766,50.606885],[48.808398,50.601318],[48.91377,50.64458],[49.058691,50.726074],[49.323438,50.851709],[49.379492,50.934668],[49.424609,51.027002],[49.498047,51.083594],[49.666309,51.102295],[49.822266,51.131885],[49.932324,51.197168],[50.104883,51.25459],[50.246875,51.289502],[50.309277,51.321582],[50.353711,51.369727],[50.516309,51.505615],[50.643945,51.58916],[50.756152,51.675146],[50.793945,51.729199],[50.882422,51.719189],[51.017871,51.681641],[51.163477,51.647461],[51.269922,51.594482],[51.290723,51.540186],[51.301074,51.497412],[51.344531,51.475342],[51.395996,51.471289],[51.473438,51.482031],[51.609082,51.483984],[51.775391,51.554248],[52.007129,51.672705],[52.219141,51.709375],[52.331055,51.681299],[52.423047,51.594238],[52.496191,51.512158],[52.571191,51.481641],[52.617773,51.480762],[52.635156,51.479541],[52.728125,51.498145],[52.735059,51.4979],[52.820508,51.49458],[52.902637,51.466943],[53.038379,51.463721],[53.227344,51.484961],[53.247266,51.493604],[53.338086,51.482373],[53.448633,51.444531],[53.534668,51.399561],[53.688086,51.251807],[53.776465,51.213721],[53.956836,51.161182],[54.041504,51.115186],[54.139746,51.040771],[54.191113,50.995703],[54.297852,50.914062],[54.421484,50.780322],[54.443359,50.673926],[54.471484,50.583789],[54.517383,50.541162],[54.555273,50.535791],[54.596191,50.550684],[54.636133,50.591602],[54.65,50.660156],[54.637891,50.781055],[54.60625,50.879883],[54.565625,50.911279],[54.546094,50.946045],[54.572949,50.990234],[54.641602,51.011572],[54.727148,50.998096],[54.867969,50.941357],[55.014844,50.869775],[55.195215,50.744727],[55.361133,50.665283],[55.542285,50.601807],[55.68623,50.582861],[55.797656,50.602051],[55.929199,50.65376],[56.049707,50.713525],[56.104492,50.77627],[56.143945,50.844629],[56.325586,50.936084],[56.491406,51.019531],[56.566895,51.004492],[56.620215,50.980859],[56.790332,51.031592],[56.849609,51.045557],[57.011719,51.065186],[57.179004,51.036035],[57.3125,50.946533],[57.442188,50.888867],[57.557813,50.895557],[57.653809,50.925146],[57.716992,50.980957],[57.764844,51.046875],[57.828906,51.089014],[57.838867,51.09165],[58.045117,51.068848],[58.174707,51.072266],[58.188477,51.081738],[58.35918,51.063818],[58.547461,50.971045],[58.664551,50.868311],[58.814063,50.737207],[58.883691,50.694434],[58.984863,50.676123],[59.064355,50.668213],[59.170898,50.6479],[59.452344,50.62041],[59.495117,50.604297],[59.523926,50.582812],[59.497852,50.511084],[59.523047,50.492871],[59.751172,50.543945],[59.812402,50.582031],[59.887793,50.690186],[59.955176,50.799268],[60.005273,50.839697],[60.058594,50.850293],[60.112109,50.83418],[60.186719,50.769775],[60.288086,50.70415],[60.424805,50.67915],[60.508496,50.669189],[60.637988,50.663721],[60.942285,50.695508],[61.226855,50.774805],[61.389453,50.861035],[61.465039,50.990234],[61.512207,51.137012],[61.585059,51.229687],[61.554688,51.324609],[61.411328,51.414746],[61.363086,51.441895],[61.014844,51.492383],[60.993359,51.528711],[60.973535,51.537061],[60.630371,51.616943],[60.464746,51.651172],[60.418359,51.703906],[60.3875,51.772998],[60.280371,51.834619],[60.06748,51.890625],[60.030273,51.933252],[60.065527,51.976465],[60.233691,52.024512],[60.425488,52.125586],[60.499316,52.146338],[60.670313,52.15083],[60.828418,52.233398],[60.937598,52.280566],[60.994531,52.336865],[60.979492,52.394775],[60.821289,52.569824],[60.774414,52.675781],[60.802344,52.744727],[60.893262,52.819434],[60.944727,52.860156],[61.006543,52.93335],[61.047461,52.972461],[61.206934,52.989062],[61.400781,52.995996],[61.533594,52.978516],[61.719336,52.969385],[61.888574,52.955908],[61.974219,52.94375],[62.037109,52.966113],[62.082715,53.00542],[62.081055,53.057422],[62.014648,53.107861],[61.766211,53.173926],[61.659863,53.228467],[61.576172,53.222461],[61.436816,53.239404],[61.310938,53.275195],[61.199219,53.287158],[61.162793,53.336768],[61.185938,53.406201],[61.228906,53.445898],[61.311621,53.465723],[61.400977,53.455811],[61.498535,53.484668],[61.526563,53.501562],[61.534961,53.523291],[61.519141,53.554492],[61.474121,53.580273],[61.409961,53.587061],[61.336133,53.565186],[61.247949,53.550977],[61.098535,53.583105],[60.979492,53.621729],[60.985547,53.657422],[61.073535,53.710449],[61.113184,53.753467],[61.113184,53.812988],[61.113184,53.882471],[61.14375,53.963818],[61.231055,54.019482],[61.333691,54.049268],[61.598145,53.994922],[61.928711,53.946484],[61.985645,53.954395],[62.002344,53.979932],[62.040234,54.002637],[62.499023,54.013184],[62.588281,54.044434],[62.632715,54.069287],[63.073926,54.105225],[63.126563,54.139258],[63.191309,54.171045],[63.292676,54.170459],[63.413672,54.183203],[63.582031,54.221924],[63.701367,54.243213],[63.721191,54.24502],[63.84707,54.236475],[64.003906,54.26709],[64.037402,54.279736],[64.062891,54.30293],[64.199414,54.347412],[64.46123,54.38418],[64.525098,54.362158],[64.649902,54.352246],[64.809277,54.368555],[64.926758,54.396631],[64.99541,54.36875],[65.088379,54.340186],[65.157813,54.364404],[65.192188,54.441113],[65.237402,54.516064],[65.315918,54.551562],[65.378125,54.564453],[65.434375,54.593311],[65.476953,54.623291],[65.707813,54.618701],[65.914258,54.693311],[65.954688,54.659521],[66.222656,54.667383],[66.555371,54.71543],[66.754492,54.737891],[67.09834,54.788184],[67.257324,54.828809],[67.484668,54.854492],[67.693359,54.872412],[67.829883,54.943555],[67.939941,54.953711],[68.073828,54.95957],[68.155859,54.976709],[68.209375,55.003027],[68.244043,55.052441],[68.225293,55.115234],[68.20625,55.160937],[68.301953,55.186523],[68.438477,55.194434],[68.524805,55.204834],[68.712891,55.308496],[68.842969,55.35835],[68.977246,55.3896],[69.246973,55.37251],[69.493262,55.356885],[69.740234,55.307373],[69.870215,55.245654],[69.981738,55.199072],[70.087402,55.176758],[70.182422,55.162451],[70.293359,55.183594],[70.371484,55.212256],[70.417188,55.253174],[70.486328,55.282373],[70.738086,55.305176],[70.790332,55.261133],[70.910156,55.127979],[70.991797,54.950488],[71.12627,54.715039],[71.185547,54.599316],[71.15918,54.538623],[71.159766,54.45542],[71.152148,54.364062],[71.052734,54.260498],[71.093164,54.212207],[71.336426,54.15835],[71.677148,54.178027],[71.887402,54.221484],[72.004492,54.205664],[72.065625,54.231641],[72.105371,54.308447],[72.186035,54.325635],[72.269141,54.272119],[72.329492,54.181445],[72.387305,54.123047],[72.383008,54.053662],[72.404297,53.964453],[72.446777,53.941846],[72.530273,53.975781],[72.585938,53.995947],[72.599219,54.023047],[72.575586,54.056494],[72.564258,54.09043],[72.582715,54.121582],[72.622266,54.134326],[72.741016,54.124512],[72.914062,54.107324],[73.119336,53.980762],[73.229883,53.957812],[73.276563,53.955615],[73.380664,53.962842],[73.505664,53.999316],[73.589941,54.044971],[73.617969,54.067383],[73.666406,54.063477],[73.712402,54.042383],[73.715527,53.996191],[73.678906,53.929443],[73.554199,53.868311],[73.399414,53.811475],[73.305664,53.707227],[73.285742,53.598389],[73.326855,53.543164],[73.361914,53.506201],[73.371875,53.454395],[73.406934,53.447559],[73.469922,53.468896],[73.642969,53.57627],[73.731152,53.602783],[73.858984,53.619727],[74.068652,53.611426],[74.209961,53.576465],[74.277344,53.527734],[74.351562,53.487646],[74.402734,53.504443],[74.429297,53.550732],[74.430469,53.603711],[74.451953,53.647266],[74.681445,53.754395],[74.83418,53.825684],[74.886816,53.834033],[74.988965,53.819238],[75.052148,53.826709],[75.220215,53.893799],[75.377051,53.970117],[75.392383,54.021729],[75.398145,54.068506],[75.437207,54.089648],[75.656836,54.106006],[75.692871,54.114795],[75.880664,54.167969],[76.140527,54.258545],[76.266602,54.311963],[76.496484,54.335693],[76.53916,54.351074],[76.615527,54.387109],[76.759375,54.436865],[76.837305,54.442383],[76.788965,54.321875],[76.703027,54.182471],[76.65459,54.145264],[76.42168,54.151514],[76.42207,54.113525],[76.458594,54.055273],[76.484766,54.022559],[76.513086,53.993213],[76.575684,53.942529],[76.820703,53.822656],[77.132422,53.670117],[77.469238,53.498779],[77.704395,53.37915],[77.799414,53.317432],[77.859961,53.269189],[78.033496,53.094971],[78.198047,52.929688],[78.475488,52.638428],[78.721484,52.357031],[78.99209,52.047412],[79.14873,51.868115],[79.468848,51.493115],[79.554297,51.377979],[79.716406,51.16001],[79.859668,50.955469],[79.98623,50.774561],[80.065918,50.758203],[80.07207,50.807275],[80.086328,50.83999],[80.127246,50.85835],[80.220215,50.911768],[80.27041,50.924609],[80.345215,50.919092],[80.423633,50.946289],[80.452246,50.997607],[80.433594,51.092627],[80.421484,51.136377],[80.448047,51.18335],[80.491016,51.201758],[80.550684,51.216602],[80.605469,51.224219],[80.650488,51.277344],[80.735254,51.293408],[80.813086,51.283496],[80.877344,51.281445],[80.934082,51.242773],[80.965625,51.189795],[81.026758,51.185693],[81.127246,51.191064],[81.141016,51.146582],[81.112402,51.072363],[81.077539,51.014941],[81.071484,50.96875],[81.124609,50.946289],[81.319141,50.966406],[81.388281,50.956494],[81.410156,50.909766],[81.437695,50.871045],[81.451563,50.823682],[81.431445,50.771143],[81.465918,50.739844],[81.633887,50.739111],[81.752051,50.764404],[81.933691,50.766357],[82.098047,50.71084],[82.211914,50.719434],[82.326367,50.741895],[82.493945,50.727588],[82.611719,50.771484],[82.692969,50.826318],[82.718555,50.869482],[82.76084,50.893359],[82.919043,50.893115],[83.019238,50.897266],[83.092773,50.960596],[83.160254,50.989209],[83.27373,50.99458],[83.357324,50.99458],[83.581445,50.935742],[83.717773,50.887158],[83.859766,50.818018],[83.945117,50.774658],[84.002344,50.676855],[84.099316,50.604736],[84.175977,50.520557],[84.194531,50.437451],[84.257812,50.288232],[84.323242,50.23916],[84.400977,50.23916],[84.499023,50.21875],[84.607324,50.202393],[84.838965,50.091309],[84.924023,50.087988],[84.989453,50.061426],[84.999707,50.010303],[84.975195,49.951074],[85.000781,49.894141],[85.076465,49.821631],[85.136523,49.750732],[85.210156,49.664844],[85.232617,49.61582],[85.291895,49.599463],[85.371582,49.623926],[85.498438,49.605371],[85.880469,49.556543],[85.933594,49.550439],[85.974414,49.499316],[86.02959,49.503418],[86.092969,49.505469],[86.180859,49.499316],[86.242188,49.546338],[86.292383,49.5875],[86.417969,49.638477],[86.522266,49.707764],[86.610156,49.769141],[86.675488,49.777295],[86.728711,49.748682],[86.730664,49.695557],[86.665332,49.656689],[86.614258,49.609717],[86.626465,49.562695],[86.714355,49.558594],[86.812109,49.487891],[86.95293,49.32207],[87.000977,49.287305],[87.070605,49.25459],[87.148047,49.239795],[87.233691,49.216162],[87.296875,49.147656],[87.322852,49.085791],[87.22998,49.105859],[87.048535,49.109912],[86.937988,49.097559],[86.885938,49.090576],[86.808301,49.049707],[86.753125,49.008838],[86.728613,48.939355],[86.757812,48.860742],[86.717969,48.697168],[86.66377,48.635547],[86.549414,48.528613],[86.483301,48.505371],[86.372559,48.48623],[86.265625,48.454541],[86.056152,48.42373],[85.829883,48.408057],[85.749414,48.385059],[85.692187,48.311816],[85.651563,48.250537],[85.626367,48.204004],[85.562305,48.051855],[85.525977,47.915625],[85.561621,47.746484],[85.588281,47.558496],[85.586621,47.493652],[85.641797,47.397412],[85.669824,47.338379],[85.656641,47.254639],[85.577246,47.188477],[85.529688,47.100781],[85.484766,47.063525],[85.355371,47.046729],[85.233496,47.036377],[85.110547,46.96123],[85.012207,46.909229],[84.858203,46.843164],[84.786133,46.830713],[84.745996,46.864355],[84.719531,46.939355],[84.666602,46.972363],[84.592285,46.974951],[84.532422,46.975781],[84.338867,46.996143],[84.215137,46.994727],[84.12207,46.978613],[84.016016,46.970508],[83.832617,46.997852],[83.713965,47.021045],[83.634082,47.043213],[83.443555,47.108643],[83.193066,47.186572],[83.090332,47.209375],[83.029492,47.185937],[83.020117,47.141455],[83.004102,47.033496],[82.974902,46.966016],[82.8,46.624463],[82.692187,46.38667],[82.555078,46.158691],[82.511719,46.005811],[82.429688,45.811914],[82.348145,45.671533],[82.315234,45.594922],[82.312207,45.563721],[82.32666,45.519922],[82.45166,45.471973],[82.58252,45.442578],[82.611621,45.424268],[82.625781,45.374414],[82.621094,45.293115],[82.596973,45.215967],[82.558984,45.15542],[82.521484,45.125488],[82.478711,45.123584],[82.39668,45.162451],[82.323438,45.205859],[82.266602,45.219092],[82.122754,45.194873],[81.989258,45.161865],[81.944922,45.16084],[81.86748,45.18208],[81.789648,45.226025],[81.758887,45.31084],[81.691992,45.349365],[81.602051,45.31084],[81.334766,45.246191],[81.040332,45.169141],[80.85332,45.129297],[80.780078,45.135547],[80.634766,45.126514],[80.50918,45.10498],[80.414941,45.075098],[80.228223,45.033984],[80.05918,45.006445],[79.950195,44.944092],[79.871875,44.883789],[79.875293,44.86084],[79.932129,44.825195],[79.997168,44.797217],[80.127832,44.80376],[80.255078,44.808105],[80.36084,44.770312],[80.455469,44.746094],[80.481543,44.714648],[80.455469,44.684082],[80.400586,44.676904],[80.381445,44.65542],[80.391016,44.626807],[80.355078,44.552002],[80.336328,44.438379],[80.354883,44.326514],[80.365332,44.223291],[80.358984,44.171289],[80.355273,44.097266],[80.395801,44.047168],[80.431543,43.951758],[80.495996,43.89209],[80.593457,43.685107],[80.650781,43.56416],[80.703809,43.427051],[80.66543,43.352979],[80.667773,43.310059],[80.729785,43.274268],[80.757031,43.204346],[80.785742,43.161572],[80.777734,43.118945],[80.751172,43.10249],[80.616992,43.128271],[80.507031,43.085791],[80.390234,43.043115],[80.374512,43.02041],[80.371289,42.995605],[80.383398,42.973779],[80.450684,42.935547],[80.54375,42.911719],[80.538965,42.873486],[80.424023,42.855762],[80.250293,42.797266],[80.202246,42.734473],[80.165039,42.665527],[80.161914,42.625537],[80.179297,42.518359],[80.205762,42.399414],[80.255078,42.27417],[80.259082,42.2354],[80.233008,42.207812],[80.209375,42.190039],[80.071289,42.302979],[79.921094,42.413135],[79.803418,42.438477],[79.598437,42.456641],[79.490137,42.457568],[79.428223,42.483496],[79.367773,42.547217],[79.295508,42.604834],[79.203027,42.666016],[79.164844,42.759033],[79.12666,42.775732],[79.059863,42.763818],[78.947949,42.766699],[78.885156,42.774902],[78.791504,42.79082],[78.642285,42.828711],[78.524219,42.864648],[78.375977,42.871484],[78.290039,42.864355],[78.023145,42.85752],[77.80166,42.895215],[77.622461,42.902246],[77.512207,42.900049],[77.459277,42.904736],[77.368555,42.904443],[77.235547,42.912646],[77.057324,42.970654],[76.988086,42.973584],[76.944043,42.971484],[76.646484,42.928809],[76.50918,42.918896],[76.218164,42.92373],[75.932227,42.928516],[75.840332,42.9375],[75.789551,42.93291],[75.681738,42.830469],[75.635645,42.8146],[75.366211,42.836963],[75.047656,42.904395],[74.817578,42.978174],[74.622266,43.056201],[74.363867,43.179443],[74.209082,43.240381],[74.186816,43.205273],[74.145898,43.194092],[74.08623,43.188623],[73.949219,43.19502],[73.886035,43.132568],[73.718555,43.087891],[73.612012,43.0479],[73.55625,43.002783],[73.450195,42.703027],[73.421875,42.593506],[73.492969,42.409033],[73.411621,42.419775],[73.316016,42.466992],[73.28291,42.504102],[73.19082,42.526855],[72.855078,42.561133],[72.792383,42.603467],[72.75293,42.637891],[72.666113,42.6604],[72.543164,42.677734],[72.275781,42.757666],[72.161816,42.760693],[71.816797,42.822168],[71.760547,42.821484],[71.734766,42.818896],[71.600781,42.778662],[71.514258,42.766943],[71.42207,42.783154],[71.256641,42.733545],[71.167383,42.667432],[71.093555,42.586523],[71.022754,42.535449],[71.001953,42.459082],[70.952344,42.419385],[70.892871,42.33999],[70.892871,42.293701],[70.946777,42.248682]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":4,"SOVEREIGNT":"Jordan","SOV_A3":"JOR","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Jordan","ADM0_A3":"JOR","GEOU_DIF":0,"GEOUNIT":"Jordan","GU_A3":"JOR","SU_DIF":0,"SUBUNIT":"Jordan","SU_A3":"JOR","BRK_DIFF":0,"NAME":"Jordan","NAME_LONG":"Jordan","BRK_A3":"JOR","BRK_NAME":"Jordan","BRK_GROUP":null,"ABBREV":"Jord.","POSTAL":"J","FORMAL_EN":"Hashemite Kingdom of Jordan","FORMAL_FR":null,"NAME_CIAWF":"Jordan","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Jordan","NAME_ALT":null,"MAPCOLOR7":5,"MAPCOLOR8":3,"MAPCOLOR9":4,"MAPCOLOR13":4,"POP_EST":10101694,"POP_RANK":14,"POP_YEAR":2019,"GDP_MD":44502,"GDP_YEAR":2019,"ECONOMY":"6. Developing region","INCOME_GRP":"3. Upper middle income","FIPS_10":"JO","ISO_A2":"JO","ISO_A2_EH":"JO","ISO_A3":"JOR","ISO_A3_EH":"JOR","ISO_N3":"400","ISO_N3_EH":"400","UN_A3":"400","WB_A2":"JO","WB_A3":"JOR","WOE_ID":23424860,"WOE_ID_EH":23424860,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"JOR","ADM0_DIFF":null,"ADM0_TLC":"JOR","ADM0_A3_US":"JOR","ADM0_A3_FR":"JOR","ADM0_A3_RU":"JOR","ADM0_A3_ES":"JOR","ADM0_A3_CN":"JOR","ADM0_A3_TW":"JOR","ADM0_A3_IN":"JOR","ADM0_A3_NP":"JOR","ADM0_A3_PK":"JOR","ADM0_A3_DE":"JOR","ADM0_A3_GB":"JOR","ADM0_A3_BR":"JOR","ADM0_A3_IL":"JOR","ADM0_A3_PS":"JOR","ADM0_A3_SA":"JOR","ADM0_A3_EG":"JOR","ADM0_A3_MA":"JOR","ADM0_A3_PT":"JOR","ADM0_A3_AR":"JOR","ADM0_A3_JP":"JOR","ADM0_A3_KO":"JOR","ADM0_A3_VN":"JOR","ADM0_A3_TR":"JOR","ADM0_A3_ID":"JOR","ADM0_A3_PL":"JOR","ADM0_A3_GR":"JOR","ADM0_A3_IT":"JOR","ADM0_A3_NL":"JOR","ADM0_A3_SE":"JOR","ADM0_A3_BD":"JOR","ADM0_A3_UA":"JOR","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Asia","REGION_UN":"Asia","SUBREGION":"Western Asia","REGION_WB":"Middle East & North Africa","NAME_LEN":6,"LONG_LEN":6,"ABBREV_LEN":5,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":4,"MAX_LABEL":9,"LABEL_X":36.375991,"LABEL_Y":30.805025,"NE_ID":1159320935,"WIKIDATAID":"Q810","NAME_AR":"الأردن","NAME_BN":"জর্ডান","NAME_DE":"Jordanien","NAME_EN":"Jordan","NAME_ES":"Jordania","NAME_FA":"اردن","NAME_FR":"Jordanie","NAME_EL":"Ιορδανία","NAME_HE":"ירדן","NAME_HI":"जॉर्डन","NAME_HU":"Jordánia","NAME_ID":"Yordania","NAME_IT":"Giordania","NAME_JA":"ヨルダン","NAME_KO":"요르단","NAME_NL":"Jordanië","NAME_PL":"Jordania","NAME_PT":"Jordânia","NAME_RU":"Иордания","NAME_SV":"Jordanien","NAME_TR":"Ürdün","NAME_UK":"Йорданія","NAME_UR":"اردن","NAME_VI":"Jordan","NAME_ZH":"约旦","NAME_ZHT":"約旦","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[34.950781,29.190479,39.292773,33.372217],"geometry":{"type":"Polygon","coordinates":[[[35.787305,32.734912],[35.894727,32.71377],[35.956445,32.666699],[36.059473,32.533789],[36.219727,32.495117],[36.284277,32.457471],[36.37207,32.386914],[36.479199,32.361328],[36.818359,32.317285],[37.088965,32.465527],[37.317578,32.590771],[37.577441,32.733057],[37.754102,32.829834],[38.055762,32.994873],[38.254297,33.099219],[38.515625,33.236621],[38.773535,33.372217],[38.84502,33.150879],[38.914844,32.934668],[38.987402,32.710693],[39.057813,32.493164],[38.981641,32.472559],[39.041406,32.305664],[39.140039,32.331201],[39.247461,32.350977],[39.292773,32.243848],[39.14541,32.124512],[38.99707,32.007471],[38.962305,31.994922],[38.769629,31.946484],[38.375488,31.847461],[38.111426,31.781152],[37.773828,31.696338],[37.493359,31.625879],[37.215625,31.556104],[36.958594,31.491504],[37.105273,31.355176],[37.329492,31.146826],[37.479004,31.007764],[37.655469,30.828955],[37.812988,30.669287],[37.980078,30.5],[37.862891,30.442627],[37.669727,30.348145],[37.649902,30.330957],[37.633594,30.313281],[37.553613,30.14458],[37.490723,30.011719],[37.469238,29.995068],[37.199414,29.946289],[36.927051,29.89707],[36.755273,29.866016],[36.703906,29.831641],[36.591797,29.666113],[36.476074,29.495117],[36.282813,29.355371],[36.068457,29.200537],[36.01543,29.190479],[35.860352,29.214258],[35.595313,29.254883],[35.33916,29.294092],[35.16377,29.320947],[34.950781,29.353516],[34.982227,29.484473],[34.973438,29.555029],[35.023926,29.787061],[35.053418,29.896924],[35.068164,29.977881],[35.141602,30.141699],[35.132617,30.195312],[35.148145,30.384326],[35.140625,30.420898],[35.174023,30.523926],[35.236621,30.673486],[35.297852,30.802246],[35.320117,30.860205],[35.383008,30.982275],[35.439258,31.132422],[35.409668,31.214453],[35.400684,31.230518],[35.423535,31.324854],[35.422852,31.325391],[35.450586,31.479297],[35.46543,31.562354],[35.499414,31.672363],[35.558984,31.765527],[35.531445,31.984912],[35.534766,32.103027],[35.57207,32.237891],[35.551465,32.395508],[35.569043,32.619873],[35.572852,32.640869],[35.594531,32.668018],[35.61123,32.68208],[35.734473,32.728906],[35.787305,32.734912]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":3,"LABELRANK":2,"SOVEREIGNT":"Japan","SOV_A3":"JPN","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Japan","ADM0_A3":"JPN","GEOU_DIF":0,"GEOUNIT":"Japan","GU_A3":"JPN","SU_DIF":0,"SUBUNIT":"Japan","SU_A3":"JPN","BRK_DIFF":0,"NAME":"Japan","NAME_LONG":"Japan","BRK_A3":"JPN","BRK_NAME":"Japan","BRK_GROUP":null,"ABBREV":"Japan","POSTAL":"J","FORMAL_EN":"Japan","FORMAL_FR":null,"NAME_CIAWF":"Japan","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Japan","NAME_ALT":null,"MAPCOLOR7":5,"MAPCOLOR8":3,"MAPCOLOR9":5,"MAPCOLOR13":4,"POP_EST":126264931,"POP_RANK":17,"POP_YEAR":2019,"GDP_MD":5081769,"GDP_YEAR":2019,"ECONOMY":"1. Developed region: G7","INCOME_GRP":"1. High income: OECD","FIPS_10":"JA","ISO_A2":"JP","ISO_A2_EH":"JP","ISO_A3":"JPN","ISO_A3_EH":"JPN","ISO_N3":"392","ISO_N3_EH":"392","UN_A3":"392","WB_A2":"JP","WB_A3":"JPN","WOE_ID":23424856,"WOE_ID_EH":23424856,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"JPN","ADM0_DIFF":null,"ADM0_TLC":"JPN","ADM0_A3_US":"JPN","ADM0_A3_FR":"JPN","ADM0_A3_RU":"JPN","ADM0_A3_ES":"JPN","ADM0_A3_CN":"JPN","ADM0_A3_TW":"JPN","ADM0_A3_IN":"JPN","ADM0_A3_NP":"JPN","ADM0_A3_PK":"JPN","ADM0_A3_DE":"JPN","ADM0_A3_GB":"JPN","ADM0_A3_BR":"JPN","ADM0_A3_IL":"JPN","ADM0_A3_PS":"JPN","ADM0_A3_SA":"JPN","ADM0_A3_EG":"JPN","ADM0_A3_MA":"JPN","ADM0_A3_PT":"JPN","ADM0_A3_AR":"JPN","ADM0_A3_JP":"JPN","ADM0_A3_KO":"JPN","ADM0_A3_VN":"JPN","ADM0_A3_TR":"JPN","ADM0_A3_ID":"JPN","ADM0_A3_PL":"JPN","ADM0_A3_GR":"JPN","ADM0_A3_IT":"JPN","ADM0_A3_NL":"JPN","ADM0_A3_SE":"JPN","ADM0_A3_BD":"JPN","ADM0_A3_UA":"JPN","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Asia","REGION_UN":"Asia","SUBREGION":"Eastern Asia","REGION_WB":"East Asia & Pacific","NAME_LEN":5,"LONG_LEN":5,"ABBREV_LEN":5,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":1.7,"MAX_LABEL":7,"LABEL_X":138.44217,"LABEL_Y":36.142538,"NE_ID":1159320937,"WIKIDATAID":"Q17","NAME_AR":"اليابان","NAME_BN":"জাপান","NAME_DE":"Japan","NAME_EN":"Japan","NAME_ES":"Japón","NAME_FA":"ژاپن","NAME_FR":"Japon","NAME_EL":"Ιαπωνία","NAME_HE":"יפן","NAME_HI":"जापान","NAME_HU":"Japán","NAME_ID":"Jepang","NAME_IT":"Giappone","NAME_JA":"日本","NAME_KO":"일본","NAME_NL":"Japan","NAME_PL":"Japonia","NAME_PT":"Japão","NAME_RU":"Япония","NAME_SV":"Japan","NAME_TR":"Japonya","NAME_UK":"Японія","NAME_UR":"جاپان","NAME_VI":"Nhật Bản","NAME_ZH":"日本","NAME_ZHT":"日本","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[123.679785,24.266064,145.833008,45.509521],"geometry":{"type":"MultiPolygon","coordinates":[[[[133.370508,36.203857],[133.324707,36.166504],[133.239258,36.17876],[133.189941,36.232617],[133.206152,36.293408],[133.295703,36.340137],[133.38125,36.246387],[133.370508,36.203857]]],[[[138.344043,37.822119],[138.249023,37.81958],[138.225195,37.829395],[138.282813,37.854199],[138.287891,37.895801],[138.322266,37.969531],[138.32168,37.99082],[138.246191,37.99458],[138.25,38.078467],[138.306348,38.161133],[138.461328,38.291455],[138.503613,38.315918],[138.510059,38.258984],[138.462793,38.124316],[138.453613,38.075684],[138.575195,38.065527],[138.496973,37.903906],[138.344043,37.822119]]],[[[134.932813,34.288135],[134.824414,34.20293],[134.730664,34.208887],[134.683496,34.246973],[134.667871,34.294141],[134.757227,34.368164],[134.834277,34.472656],[134.904102,34.519092],[134.960742,34.544922],[135.004688,34.544043],[134.905469,34.398291],[134.932813,34.288135]]],[[[130.622754,30.262988],[130.508203,30.241406],[130.445605,30.264697],[130.388086,30.388184],[130.497168,30.465527],[130.643555,30.388965],[130.673242,30.366895],[130.622754,30.262988]]],[[[130.959766,30.396924],[130.872168,30.386328],[130.870313,30.444238],[130.939941,30.575098],[130.947363,30.671191],[131.012207,30.792285],[131.039844,30.818896],[131.060352,30.828467],[131.082617,30.790869],[131.057422,30.64248],[130.992578,30.52998],[130.959766,30.396924]]],[[[130.08252,32.229687],[130.003516,32.193994],[129.993359,32.228174],[129.960156,32.24375],[130.017285,32.291846],[130.015332,32.313672],[129.979297,32.346191],[130.021289,32.468848],[130.009766,32.521631],[130.167773,32.541211],[130.19668,32.491602],[130.199512,32.340576],[130.08252,32.229687]]],[[[129.279492,34.123389],[129.214453,34.082812],[129.186426,34.14502],[129.214844,34.320654],[129.337109,34.284766],[129.335059,34.230811],[129.279492,34.123389]]],[[[129.385645,34.353662],[129.365332,34.305518],[129.297461,34.3396],[129.266699,34.370459],[129.329395,34.521875],[129.32207,34.579297],[129.325879,34.607275],[129.451074,34.686572],[129.472461,34.671338],[129.480176,34.649463],[129.469141,34.615527],[129.475391,34.54043],[129.381445,34.416455],[129.385645,34.353662]]],[[[128.665332,32.783887],[128.704102,32.756885],[128.761035,32.772363],[128.806055,32.775977],[128.838574,32.762891],[128.879395,32.693311],[128.894531,32.652148],[128.821289,32.646338],[128.79043,32.636719],[128.750488,32.586133],[128.692969,32.604736],[128.657324,32.628418],[128.649121,32.662012],[128.665332,32.783887]]],[[[130.381055,32.42373],[130.292578,32.419336],[130.256055,32.431006],[130.241699,32.462793],[130.36543,32.527197],[130.461426,32.515723],[130.418555,32.457715],[130.381055,32.42373]]],[[[141.072754,45.332861],[141.033984,45.269336],[140.982129,45.36377],[140.97168,45.465479],[141.00166,45.464844],[141.056738,45.449561],[141.069922,45.4],[141.072754,45.332861]]],[[[141.29541,45.119336],[141.225977,45.112207],[141.145313,45.153906],[141.135352,45.206201],[141.19375,45.247852],[141.251855,45.232471],[141.310059,45.178564],[141.329199,45.150488],[141.29541,45.119336]]],[[[139.48125,42.081006],[139.458398,42.075635],[139.43457,42.084082],[139.411523,42.159668],[139.431348,42.199561],[139.495801,42.227441],[139.558398,42.235205],[139.505078,42.096387],[139.48125,42.081006]]],[[[134.351855,34.483643],[134.333203,34.46377],[134.315332,34.468945],[134.251855,34.423047],[134.238086,34.467041],[134.188281,34.496338],[134.182129,34.519238],[134.325977,34.534375],[134.372266,34.522363],[134.351855,34.483643]]],[[[139.456445,34.726514],[139.445703,34.679541],[139.392383,34.689893],[139.366895,34.720508],[139.37002,34.775439],[139.426172,34.775879],[139.456445,34.726514]]],[[[129.076953,32.840283],[129.051953,32.829492],[129.019629,32.919629],[128.997266,32.951855],[129.034961,32.969092],[129.109766,33.132568],[129.123633,33.067676],[129.152734,33.00332],[129.181934,32.993115],[129.153516,32.946191],[129.111621,32.928857],[129.076953,32.840283]]],[[[129.491797,33.223047],[129.421387,33.17583],[129.37041,33.176025],[129.416992,33.231104],[129.423145,33.257373],[129.461914,33.33125],[129.537988,33.357764],[129.569922,33.361035],[129.508105,33.284326],[129.491797,33.223047]]],[[[129.795703,33.748828],[129.726562,33.707324],[129.674805,33.739697],[129.7,33.828906],[129.717285,33.858398],[129.776367,33.829199],[129.795703,33.748828]]],[[[132.578418,34.115186],[132.549414,34.075098],[132.460938,34.087256],[132.496289,34.121973],[132.523535,34.164062],[132.543457,34.172656],[132.560156,34.126904],[132.578418,34.115186]]],[[[132.266016,33.945166],[132.314551,33.908594],[132.430469,33.923535],[132.444922,33.913184],[132.411035,33.879932],[132.359961,33.847021],[132.267285,33.871484],[132.208789,33.872852],[132.200586,33.927783],[132.208008,33.947803],[132.266016,33.945166]]],[[[129.717969,31.657129],[129.686816,31.639648],[129.706836,31.718262],[129.787305,31.787109],[129.793652,31.74248],[129.717969,31.657129]]],[[[142.188184,26.616504],[142.169922,26.615674],[142.107129,26.721533],[142.125293,26.726465],[142.161719,26.709961],[142.202148,26.648779],[142.188184,26.616504]]],[[[143.824316,44.116992],[143.949512,44.111914],[144.005469,44.11665],[144.101367,44.101562],[144.481836,43.949561],[144.59668,43.930225],[144.715234,43.927979],[144.798535,43.940234],[144.871875,43.981934],[145.101562,44.166162],[145.342773,44.333887],[145.369531,44.327393],[145.369629,44.281299],[145.351953,44.229785],[145.245215,44.076172],[145.126367,43.869385],[145.101074,43.764551],[145.139648,43.6625],[145.214063,43.578223],[145.272949,43.462891],[145.34082,43.302539],[145.436133,43.282227],[145.487891,43.279736],[145.583301,43.327783],[145.673633,43.388867],[145.75127,43.396289],[145.833008,43.385937],[145.725586,43.343457],[145.624219,43.291309],[145.537402,43.192676],[145.505078,43.174219],[145.404785,43.180273],[145.347461,43.176709],[145.230078,43.135498],[145.127148,43.088867],[145.028809,43.031641],[144.921387,43.000928],[144.807129,42.993701],[144.630762,42.946924],[144.516211,42.943604],[144.301563,42.984424],[144.197266,42.973633],[143.969336,42.881396],[143.762109,42.748145],[143.580957,42.59873],[143.429492,42.418896],[143.368652,42.325146],[143.332129,42.220361],[143.327148,42.151025],[143.313672,42.084326],[143.278711,42.037842],[143.236523,42.000195],[143.111719,42.022217],[142.906348,42.118359],[142.508203,42.257959],[142.087891,42.471729],[141.851367,42.579053],[141.406641,42.546924],[140.986133,42.342139],[140.948438,42.35957],[140.787598,42.5],[140.709766,42.555615],[140.616797,42.571338],[140.547656,42.569531],[140.480469,42.559375],[140.385449,42.487158],[140.350586,42.435107],[140.323535,42.376074],[140.315234,42.334277],[140.32666,42.293359],[140.416602,42.200732],[140.527539,42.131787],[140.577734,42.118652],[140.684277,42.123486],[140.733789,42.116357],[140.912305,41.977783],[141.107715,41.848047],[141.150977,41.805078],[141.078711,41.759814],[140.999512,41.737402],[140.90752,41.743262],[140.816406,41.7604],[140.659863,41.815576],[140.592969,41.768555],[140.48916,41.672168],[140.431641,41.567383],[140.384961,41.519287],[140.270117,41.456006],[140.148633,41.423242],[140.085156,41.434082],[140.036621,41.473779],[140.00918,41.521338],[139.995313,41.576416],[140.021289,41.695752],[140.08418,41.803223],[140.108398,41.912939],[140.056836,42.067334],[140.024121,42.099561],[139.895117,42.190039],[139.835449,42.278076],[139.820898,42.387598],[139.828516,42.448145],[139.860156,42.581738],[139.891113,42.649219],[139.950586,42.671436],[140.015039,42.684766],[140.114648,42.732959],[140.224121,42.795508],[140.328613,42.866846],[140.432227,42.954102],[140.486426,43.049902],[140.397461,43.167334],[140.379297,43.237109],[140.392383,43.303125],[140.486914,43.338184],[140.58457,43.311719],[140.780664,43.21499],[140.819141,43.205469],[140.953809,43.200977],[141.138184,43.179932],[141.24502,43.185059],[141.296289,43.199658],[141.374121,43.279639],[141.412305,43.381494],[141.39834,43.5125],[141.397656,43.642627],[141.446777,43.748633],[141.600684,43.918994],[141.644727,44.019434],[141.66084,44.263623],[141.716309,44.371191],[141.760938,44.48252],[141.782227,44.716357],[141.719043,44.941064],[141.655762,45.051221],[141.583008,45.155957],[141.59375,45.255957],[141.652539,45.348633],[141.654004,45.376562],[141.667969,45.40127],[141.778125,45.418896],[141.829492,45.43877],[141.878711,45.483301],[141.937695,45.509521],[141.980859,45.483496],[142.016406,45.437939],[142.171582,45.325635],[142.416016,45.125],[142.704102,44.819189],[142.884766,44.670117],[143.075098,44.534912],[143.288574,44.396631],[143.511914,44.277539],[143.65459,44.221338],[143.759082,44.131641],[143.824316,44.116992]]],[[[131.174609,33.602588],[131.30918,33.572754],[131.366016,33.570898],[131.41875,33.584424],[131.498828,33.623584],[131.583008,33.652393],[131.643066,33.637793],[131.696289,33.602832],[131.724219,33.553809],[131.710645,33.502344],[131.615527,33.391846],[131.537402,33.274072],[131.71709,33.2521],[131.896582,33.25459],[131.854688,33.181641],[131.847852,33.118066],[131.902734,33.087793],[131.949316,33.04707],[131.937207,33.010156],[131.910449,32.973682],[132.008594,32.919043],[132.002148,32.882373],[131.97666,32.843945],[131.732129,32.592822],[131.660352,32.465625],[131.610352,32.325488],[131.564648,32.223047],[131.531152,32.116748],[131.505664,32.001953],[131.460254,31.883496],[131.475293,31.778418],[131.459961,31.670801],[131.337207,31.404687],[131.249707,31.409619],[131.139746,31.441846],[131.070801,31.436865],[131.035156,31.377686],[131.098438,31.256152],[130.902246,31.112061],[130.685742,31.015137],[130.68418,31.059277],[130.704492,31.094092],[130.735742,31.12207],[130.758398,31.155811],[130.789746,31.269092],[130.774219,31.383203],[130.708984,31.526074],[130.704199,31.577441],[130.749414,31.598193],[130.779785,31.604102],[130.796289,31.624072],[130.796875,31.671289],[130.77627,31.706299],[130.714551,31.717676],[130.655078,31.718408],[130.613477,31.66543],[130.556055,31.563086],[130.528125,31.459668],[130.54043,31.403076],[130.565918,31.352393],[130.644531,31.26748],[130.621484,31.217529],[130.58877,31.178516],[130.310645,31.266895],[130.250586,31.273193],[130.200684,31.291895],[130.147266,31.408496],[130.260547,31.436572],[130.294141,31.450684],[130.306641,31.487793],[130.321973,31.601465],[130.268945,31.696338],[130.224219,31.730078],[130.187891,31.768848],[130.210938,31.848975],[130.195801,31.949854],[130.194434,32.090771],[130.214063,32.115039],[130.319141,32.143506],[130.394922,32.218994],[130.462012,32.304932],[130.560352,32.456055],[130.640527,32.619238],[130.563281,32.626367],[130.497852,32.656934],[130.569434,32.734131],[130.547266,32.831592],[130.44043,32.951367],[130.381738,33.092578],[130.287305,33.154785],[130.2375,33.177637],[130.176855,33.144531],[130.126855,33.104834],[130.173145,33.012988],[130.167773,32.931787],[130.175,32.851318],[130.222168,32.846826],[130.280078,32.866846],[130.326465,32.852637],[130.353516,32.810352],[130.36084,32.755859],[130.34043,32.701855],[130.297656,32.675],[130.245508,32.677148],[130.192969,32.706299],[130.152051,32.747852],[130.054102,32.770801],[129.950781,32.721729],[129.852539,32.621729],[129.768555,32.570996],[129.808105,32.645264],[129.826758,32.725342],[129.785938,32.781641],[129.690039,32.875244],[129.667773,32.929395],[129.662305,32.994922],[129.679102,33.059961],[129.777734,32.985547],[129.82832,32.892676],[129.900781,32.851904],[129.991699,32.851562],[129.921875,32.987988],[129.896777,33.022363],[129.79873,33.083594],[129.665039,33.186621],[129.580078,33.236279],[129.610156,33.343652],[129.659961,33.36499],[129.702148,33.359814],[129.844141,33.321777],[129.85752,33.375244],[129.836621,33.403809],[129.825684,33.437012],[129.919141,33.483496],[130.07207,33.521777],[130.103418,33.539697],[130.130566,33.578174],[130.167969,33.598291],[130.275098,33.597705],[130.365039,33.634473],[130.439453,33.734229],[130.457227,33.788965],[130.483789,33.834619],[130.669531,33.915479],[130.715625,33.927783],[130.839648,33.917773],[130.953125,33.872021],[131.009082,33.77583],[131.058105,33.672852],[131.174609,33.602588]]],[[[134.357422,34.256348],[134.495703,34.214746],[134.6375,34.226611],[134.635254,34.043945],[134.655371,33.982617],[134.695312,33.927734],[134.674805,33.847803],[134.738867,33.820508],[134.54873,33.729297],[134.377051,33.608398],[134.306543,33.526807],[134.242676,33.439453],[134.205664,33.346973],[134.181641,33.247217],[134.124121,33.286768],[133.958691,33.44834],[133.854004,33.492676],[133.685645,33.516309],[133.632031,33.510986],[133.285938,33.359961],[133.239941,33.249609],[133.145605,33.083154],[133.100879,33.028223],[133.051172,33.012451],[133.016016,32.983887],[132.977246,32.841992],[132.869922,32.75459],[132.804297,32.752002],[132.692188,32.775928],[132.641797,32.762451],[132.708984,32.90249],[132.601953,32.919531],[132.495117,32.916602],[132.492578,33.007666],[132.427832,33.059375],[132.475781,33.126465],[132.477148,33.181152],[132.505273,33.211279],[132.515039,33.255371],[132.511426,33.293066],[132.44541,33.30459],[132.405176,33.33125],[132.412793,33.430469],[132.374902,33.434082],[132.281055,33.416797],[132.08584,33.340137],[132.032617,33.33999],[132.114453,33.39458],[132.287891,33.469531],[132.365918,33.512451],[132.536035,33.63291],[132.643066,33.689941],[132.698926,33.790918],[132.716211,33.852246],[132.752344,33.906152],[132.784277,33.992432],[132.839453,34.02124],[132.935156,34.095312],[132.990137,34.088135],[133.05127,33.997119],[133.133691,33.927295],[133.193066,33.933203],[133.298828,33.968994],[133.349805,33.977051],[133.47207,33.972803],[133.582031,34.017139],[133.626758,34.069385],[133.643457,34.134668],[133.602637,34.243848],[133.655566,34.232861],[133.70625,34.237354],[133.825586,34.306836],[133.94834,34.348047],[134.075879,34.358398],[134.219238,34.319043],[134.357422,34.256348]]],[[[141.229297,41.372656],[141.26875,41.353809],[141.455469,41.404736],[141.419922,41.251172],[141.4,41.096338],[141.413672,40.839355],[141.430469,40.72334],[141.462793,40.611133],[141.542285,40.530713],[141.646289,40.473633],[141.79707,40.291162],[141.87793,40.067236],[141.935059,39.958496],[141.977832,39.844434],[141.99082,39.792236],[141.991895,39.739893],[141.979102,39.668359],[141.993164,39.610547],[141.976953,39.428809],[141.909473,39.218701],[141.900781,39.111328],[141.84209,39.090039],[141.806543,39.04043],[141.776172,39.017432],[141.74248,38.999609],[141.693555,38.995166],[141.658594,38.974854],[141.644727,38.91792],[141.622266,38.865137],[141.579688,38.816504],[141.546289,38.762842],[141.51875,38.632031],[141.508789,38.497852],[141.46748,38.40415],[141.368164,38.379736],[141.254297,38.381396],[141.108398,38.337939],[141.077344,38.312549],[140.962109,38.148877],[140.929004,38.052881],[140.92793,37.949609],[140.959961,37.822607],[141.003418,37.698437],[141.036328,37.467236],[141.00166,37.114648],[140.968359,37.002051],[140.895117,36.925732],[140.839648,36.890332],[140.791797,36.846875],[140.729883,36.731885],[140.627344,36.502783],[140.618848,36.445312],[140.619238,36.385596],[140.591602,36.307812],[140.573535,36.231348],[140.59043,36.142432],[140.621973,36.059229],[140.75957,35.845703],[140.813477,35.78252],[140.874023,35.724951],[140.639258,35.661279],[140.596875,35.632031],[140.457422,35.510254],[140.412891,35.394775],[140.416504,35.266992],[140.392969,35.221143],[140.354688,35.181445],[140.314746,35.155029],[140.158887,35.096484],[140.05918,35.038281],[139.959766,34.947314],[139.92041,34.899609],[139.843945,34.914893],[139.799219,34.956934],[139.843262,35.009863],[139.829688,35.072168],[139.851465,35.232324],[139.826465,35.29668],[139.906152,35.345264],[139.944141,35.422998],[140.027148,35.485205],[140.086328,35.54043],[140.096875,35.585156],[140.043652,35.63335],[139.9875,35.668213],[139.909766,35.668359],[139.834766,35.658057],[139.786328,35.612109],[139.770117,35.549561],[139.773926,35.520361],[139.767773,35.494824],[139.65,35.409131],[139.665527,35.319482],[139.7,35.273975],[139.744043,35.252393],[139.730859,35.221533],[139.675,35.149268],[139.635938,35.142139],[139.564063,35.243262],[139.474414,35.298535],[139.363477,35.298096],[139.249414,35.278027],[139.162695,35.210742],[139.134082,35.154883],[139.11582,35.097119],[139.121973,34.956494],[139.086035,34.83916],[139.015625,34.736035],[138.982617,34.698389],[138.89668,34.628418],[138.8375,34.619238],[138.795117,34.651025],[138.761035,34.699219],[138.804492,34.875732],[138.802734,34.974805],[138.903613,35.025244],[138.820898,35.095703],[138.719629,35.124072],[138.577148,35.086475],[138.537012,35.044141],[138.50957,34.987158],[138.433105,34.915186],[138.348633,34.847705],[138.253223,34.732666],[138.189063,34.596338],[137.979004,34.640918],[137.864258,34.650879],[137.748535,34.647412],[137.543359,34.664209],[137.318066,34.636377],[137.061719,34.582812],[137.077051,34.621436],[137.287793,34.703516],[137.29541,34.727588],[137.275195,34.77251],[137.222656,34.774707],[137.096582,34.759033],[137.032227,34.765918],[137.005957,34.814111],[136.963281,34.834912],[136.934766,34.815186],[136.944141,34.721533],[136.912891,34.709033],[136.871289,34.733105],[136.88457,34.805859],[136.856152,34.9125],[136.85293,34.978711],[136.89707,35.035547],[136.851855,35.059521],[136.804199,35.050293],[136.743555,35.022998],[136.690039,34.984131],[136.576953,34.789551],[136.533008,34.678369],[136.61582,34.589062],[136.841602,34.464209],[136.880273,34.433594],[136.881152,34.380469],[136.853711,34.324072],[136.792188,34.299268],[136.544434,34.257715],[136.329883,34.176855],[136.267871,34.094873],[136.072559,33.778223],[135.916211,33.561719],[135.695312,33.486963],[135.452832,33.553369],[135.394238,33.62876],[135.346777,33.721973],[135.256641,33.80625],[135.175391,33.898047],[135.12793,34.006982],[135.135352,34.182617],[135.100098,34.288379],[135.131934,34.316553],[135.265625,34.380811],[135.309277,34.416797],[135.384766,34.500439],[135.411816,34.546973],[135.415918,34.61748],[135.355176,34.654297],[135.198242,34.65293],[135.041699,34.631006],[134.929883,34.661816],[134.784961,34.74707],[134.740039,34.765234],[134.583789,34.770605],[134.472266,34.754785],[134.362695,34.723682],[134.246875,34.713867],[134.208301,34.697656],[134.074512,34.593115],[133.968262,34.527295],[133.876367,34.494629],[133.67793,34.485889],[133.578613,34.464697],[133.474414,34.430127],[133.445312,34.433154],[133.335645,34.385352],[133.209766,34.343994],[133.142383,34.302441],[133.018945,34.32959],[132.774609,34.255225],[132.656543,34.246094],[132.534473,34.287061],[132.421289,34.353369],[132.312598,34.324951],[132.238086,34.227002],[132.201953,34.032031],[132.159375,33.944238],[132.146484,33.83877],[132.090234,33.855469],[131.763184,34.045264],[131.740527,34.052051],[131.476172,34.019385],[131.40791,34.003613],[131.322754,33.965186],[131.232617,33.947998],[131.150391,33.975635],[131.071875,34.020654],[130.996387,34.007275],[130.918848,33.975732],[130.889258,34.261816],[130.904297,34.299561],[130.951855,34.349707],[131.004199,34.392578],[131.132227,34.407373],[131.261816,34.393457],[131.354395,34.413184],[131.43252,34.469824],[131.515039,34.550146],[131.608008,34.615479],[131.734082,34.66709],[131.856055,34.726318],[131.963086,34.809375],[132.064746,34.9],[132.158203,34.966504],[132.25957,35.022314],[132.414062,35.156299],[132.619043,35.306836],[132.697656,35.418311],[132.746582,35.449023],[132.922949,35.511279],[133.156934,35.558838],[133.267188,35.556543],[133.376465,35.458838],[133.435352,35.472217],[133.494922,35.497461],[133.61543,35.511426],[133.739355,35.495264],[133.860254,35.494873],[133.98125,35.507227],[134.214063,35.539258],[134.336523,35.57793],[134.456055,35.62793],[134.882227,35.663232],[135.174316,35.74707],[135.220508,35.741113],[135.26543,35.721777],[135.26875,35.659668],[135.232031,35.591895],[135.267773,35.550879],[135.326953,35.525537],[135.601855,35.517725],[135.680273,35.503125],[135.79502,35.549512],[135.903125,35.606885],[136.016211,35.68252],[136.095313,35.767627],[136.022266,35.874121],[136.00625,35.990576],[136.06748,36.116846],[136.15625,36.22334],[136.261816,36.287695],[136.358984,36.361768],[136.555859,36.571973],[136.698145,36.742041],[136.749316,36.951025],[136.719238,37.198389],[136.843457,37.382129],[136.962305,37.413672],[137.198633,37.497461],[137.322656,37.52207],[137.341211,37.485449],[137.3375,37.437451],[137.152051,37.283154],[137.045801,37.219727],[136.982227,37.200049],[136.924023,37.171973],[136.899902,37.117676],[136.994434,37.026758],[137.018555,36.959619],[137.012695,36.895117],[137.016699,36.837207],[137.12373,36.774072],[137.246289,36.753174],[137.297656,36.75376],[137.342578,36.770361],[137.482617,36.924756],[137.514063,36.951562],[137.913184,37.0646],[138.10957,37.151074],[138.218066,37.173389],[138.319922,37.218408],[138.54834,37.392139],[138.632812,37.472168],[138.709375,37.560645],[138.770605,37.663428],[138.818848,37.774707],[138.885059,37.843945],[139.247168,38.009082],[139.363867,38.099023],[139.400977,38.142578],[139.445801,38.26875],[139.476758,38.399805],[139.520801,38.502539],[139.580176,38.598877],[139.659766,38.697021],[139.749121,38.788135],[139.801953,38.881592],[139.878613,39.104932],[139.912305,39.228564],[139.938574,39.273145],[139.977148,39.310645],[140.01084,39.358057],[140.036523,39.411133],[140.048145,39.463721],[140.064746,39.624414],[140.054688,39.749268],[139.994727,39.855078],[139.945215,39.885107],[139.891211,39.886865],[139.810352,39.877734],[139.741504,39.92085],[139.755469,39.958936],[139.825684,39.966016],[139.873633,39.985693],[139.908008,40.021729],[139.972461,40.136963],[140.011133,40.260352],[140.014453,40.314893],[139.964063,40.414307],[139.923926,40.533887],[139.922852,40.598437],[139.966699,40.672754],[140.029297,40.733154],[140.085352,40.747363],[140.146094,40.751562],[140.20127,40.774902],[140.252344,40.808789],[140.28125,40.846094],[140.32627,40.947656],[140.343555,41.005664],[140.315234,41.160889],[140.344434,41.20332],[140.385938,41.229785],[140.441309,41.209668],[140.498047,41.205664],[140.56416,41.211816],[140.627637,41.19541],[140.639648,41.155615],[140.679395,40.893262],[140.702441,40.857812],[140.748633,40.830322],[140.800781,40.834326],[140.845801,40.875146],[140.876172,40.929541],[140.936035,40.940771],[141.118555,40.882275],[141.183203,40.924023],[141.225391,40.988477],[141.262109,41.102686],[141.244238,41.205615],[141.200391,41.243604],[141.155078,41.236719],[141.115039,41.208496],[141.07041,41.193066],[140.800586,41.138818],[140.801855,41.253662],[140.85957,41.425439],[140.891504,41.479785],[140.936914,41.505566],[141.050195,41.475732],[141.105859,41.455859],[141.229297,41.372656]]],[[[124.293164,24.515918],[124.234277,24.358057],[124.185645,24.335059],[124.135742,24.347607],[124.084766,24.43584],[124.12041,24.469629],[124.170215,24.451855],[124.210547,24.458643],[124.301953,24.587109],[124.324023,24.566357],[124.293164,24.515918]]],[[[123.888672,24.280127],[123.825586,24.266064],[123.749805,24.283301],[123.680664,24.288037],[123.679785,24.317773],[123.752344,24.348486],[123.753711,24.391309],[123.771484,24.414453],[123.934863,24.362012],[123.928125,24.323633],[123.888672,24.280127]]],[[[125.444141,24.743164],[125.359375,24.71709],[125.268945,24.73252],[125.283594,24.871924],[125.314941,24.852393],[125.33457,24.804688],[125.401855,24.776855],[125.444141,24.743164]]],[[[128.258789,26.652783],[128.1625,26.606934],[128.126953,26.552246],[128.037891,26.533594],[127.95127,26.456494],[127.86709,26.44248],[127.869238,26.380566],[127.904785,26.328125],[127.84873,26.318945],[127.790137,26.255078],[127.785547,26.208691],[127.806445,26.17124],[127.803613,26.152539],[127.729395,26.097168],[127.653125,26.094727],[127.649707,26.154492],[127.654883,26.19917],[127.727051,26.30791],[127.728906,26.433936],[127.795898,26.448535],[127.82041,26.466064],[127.925977,26.555713],[127.945508,26.593945],[127.89082,26.631055],[127.894824,26.674951],[127.907227,26.693604],[127.994336,26.679443],[128.029688,26.646875],[128.046777,26.643311],[128.097656,26.667773],[128.121582,26.711426],[128.216504,26.796875],[128.254883,26.881885],[128.331641,26.812109],[128.310938,26.720703],[128.258789,26.652783]]],[[[128.998145,27.720801],[128.95625,27.70249],[128.9,27.727783],[128.882812,27.842432],[128.907617,27.897998],[128.95166,27.910254],[128.989746,27.811133],[129.016406,27.770215],[128.998145,27.720801]]],[[[129.452539,28.208984],[129.366406,28.127734],[129.274902,28.200879],[129.164648,28.249756],[129.21709,28.262939],[129.247852,28.28252],[129.250879,28.313574],[129.322461,28.359619],[129.464551,28.395264],[129.509668,28.39751],[129.560547,28.431055],[129.577148,28.461279],[129.598047,28.475879],[129.689551,28.51748],[129.714648,28.469629],[129.710449,28.432129],[129.641699,28.411279],[129.574609,28.361182],[129.512695,28.29873],[129.456738,28.272314],[129.439063,28.254785],[129.452539,28.208984]]],[[[129.324023,28.104932],[129.330566,28.081592],[129.232422,28.101123],[129.19248,28.19248],[129.257422,28.176172],[129.277344,28.144727],[129.324023,28.104932]]],[[[139.841113,33.056055],[139.823828,33.045459],[139.775684,33.078223],[139.768945,33.107178],[139.777441,33.125146],[139.808887,33.129248],[139.873633,33.093506],[139.841113,33.056055]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":4,"SOVEREIGNT":"Jamaica","SOV_A3":"JAM","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Jamaica","ADM0_A3":"JAM","GEOU_DIF":0,"GEOUNIT":"Jamaica","GU_A3":"JAM","SU_DIF":0,"SUBUNIT":"Jamaica","SU_A3":"JAM","BRK_DIFF":0,"NAME":"Jamaica","NAME_LONG":"Jamaica","BRK_A3":"JAM","BRK_NAME":"Jamaica","BRK_GROUP":null,"ABBREV":"Jam.","POSTAL":"J","FORMAL_EN":"Jamaica","FORMAL_FR":null,"NAME_CIAWF":"Jamaica","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Jamaica","NAME_ALT":null,"MAPCOLOR7":1,"MAPCOLOR8":2,"MAPCOLOR9":4,"MAPCOLOR13":10,"POP_EST":2948279,"POP_RANK":12,"POP_YEAR":2019,"GDP_MD":16458,"GDP_YEAR":2019,"ECONOMY":"6. Developing region","INCOME_GRP":"3. Upper middle income","FIPS_10":"JM","ISO_A2":"JM","ISO_A2_EH":"JM","ISO_A3":"JAM","ISO_A3_EH":"JAM","ISO_N3":"388","ISO_N3_EH":"388","UN_A3":"388","WB_A2":"JM","WB_A3":"JAM","WOE_ID":23424858,"WOE_ID_EH":23424858,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"JAM","ADM0_DIFF":null,"ADM0_TLC":"JAM","ADM0_A3_US":"JAM","ADM0_A3_FR":"JAM","ADM0_A3_RU":"JAM","ADM0_A3_ES":"JAM","ADM0_A3_CN":"JAM","ADM0_A3_TW":"JAM","ADM0_A3_IN":"JAM","ADM0_A3_NP":"JAM","ADM0_A3_PK":"JAM","ADM0_A3_DE":"JAM","ADM0_A3_GB":"JAM","ADM0_A3_BR":"JAM","ADM0_A3_IL":"JAM","ADM0_A3_PS":"JAM","ADM0_A3_SA":"JAM","ADM0_A3_EG":"JAM","ADM0_A3_MA":"JAM","ADM0_A3_PT":"JAM","ADM0_A3_AR":"JAM","ADM0_A3_JP":"JAM","ADM0_A3_KO":"JAM","ADM0_A3_VN":"JAM","ADM0_A3_TR":"JAM","ADM0_A3_ID":"JAM","ADM0_A3_PL":"JAM","ADM0_A3_GR":"JAM","ADM0_A3_IT":"JAM","ADM0_A3_NL":"JAM","ADM0_A3_SE":"JAM","ADM0_A3_BD":"JAM","ADM0_A3_UA":"JAM","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"North America","REGION_UN":"Americas","SUBREGION":"Caribbean","REGION_WB":"Latin America & Caribbean","NAME_LEN":7,"LONG_LEN":7,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":4,"MAX_LABEL":9,"LABEL_X":-77.318767,"LABEL_Y":18.137124,"NE_ID":1159320931,"WIKIDATAID":"Q766","NAME_AR":"جامايكا","NAME_BN":"জ্যামাইকা","NAME_DE":"Jamaika","NAME_EN":"Jamaica","NAME_ES":"Jamaica","NAME_FA":"جامائیکا","NAME_FR":"Jamaïque","NAME_EL":"Τζαμάικα","NAME_HE":"ג'מייקה","NAME_HI":"जमैका","NAME_HU":"Jamaica","NAME_ID":"Jamaika","NAME_IT":"Giamaica","NAME_JA":"ジャマイカ","NAME_KO":"자메이카","NAME_NL":"Jamaica","NAME_PL":"Jamajka","NAME_PT":"Jamaica","NAME_RU":"Ямайка","NAME_SV":"Jamaica","NAME_TR":"Jamaika","NAME_UK":"Ямайка","NAME_UR":"جمیکا","NAME_VI":"Jamaica","NAME_ZH":"牙买加","NAME_ZHT":"牙買加","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[-78.339502,17.714941,-76.210791,18.522217],"geometry":{"type":"Polygon","coordinates":[[[-77.261475,18.457422],[-77.139551,18.421484],[-77.01377,18.40293],[-76.959375,18.401855],[-76.908203,18.39043],[-76.793262,18.304297],[-76.700732,18.257178],[-76.349854,18.151855],[-76.232764,17.970312],[-76.210791,17.913525],[-76.301465,17.879834],[-76.415527,17.868213],[-76.524609,17.866211],[-76.625391,17.900977],[-76.669385,17.927637],[-76.774316,17.94043],[-76.748291,17.964893],[-76.794824,17.976318],[-76.853223,17.97373],[-76.89624,17.904102],[-76.944141,17.848779],[-77.035937,17.854102],[-77.071289,17.90127],[-77.119482,17.880078],[-77.158398,17.845068],[-77.20498,17.714941],[-77.279883,17.779541],[-77.361426,17.833691],[-77.463867,17.856055],[-77.670752,17.859717],[-77.768164,17.877393],[-77.849414,17.9875],[-77.881299,18.019043],[-77.962988,18.047559],[-78.044482,18.173828],[-78.073633,18.191162],[-78.294092,18.218066],[-78.339502,18.287207],[-78.325977,18.349756],[-78.252441,18.42627],[-78.216699,18.448096],[-78.094531,18.444824],[-77.978174,18.467822],[-77.926855,18.500684],[-77.873437,18.522217],[-77.451611,18.467041],[-77.354248,18.466455],[-77.261475,18.457422]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":2,"SOVEREIGNT":"Italy","SOV_A3":"ITA","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Italy","ADM0_A3":"ITA","GEOU_DIF":0,"GEOUNIT":"Italy","GU_A3":"ITA","SU_DIF":0,"SUBUNIT":"Italy","SU_A3":"ITA","BRK_DIFF":0,"NAME":"Italy","NAME_LONG":"Italy","BRK_A3":"ITA","BRK_NAME":"Italy","BRK_GROUP":null,"ABBREV":"Italy","POSTAL":"I","FORMAL_EN":"Italian Republic","FORMAL_FR":null,"NAME_CIAWF":"Italy","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Italy","NAME_ALT":null,"MAPCOLOR7":6,"MAPCOLOR8":7,"MAPCOLOR9":8,"MAPCOLOR13":7,"POP_EST":60297396,"POP_RANK":16,"POP_YEAR":2019,"GDP_MD":2003576,"GDP_YEAR":2019,"ECONOMY":"1. Developed region: G7","INCOME_GRP":"1. High income: OECD","FIPS_10":"IT","ISO_A2":"IT","ISO_A2_EH":"IT","ISO_A3":"ITA","ISO_A3_EH":"ITA","ISO_N3":"380","ISO_N3_EH":"380","UN_A3":"380","WB_A2":"IT","WB_A3":"ITA","WOE_ID":23424853,"WOE_ID_EH":23424853,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"ITA","ADM0_DIFF":null,"ADM0_TLC":"ITA","ADM0_A3_US":"ITA","ADM0_A3_FR":"ITA","ADM0_A3_RU":"ITA","ADM0_A3_ES":"ITA","ADM0_A3_CN":"ITA","ADM0_A3_TW":"ITA","ADM0_A3_IN":"ITA","ADM0_A3_NP":"ITA","ADM0_A3_PK":"ITA","ADM0_A3_DE":"ITA","ADM0_A3_GB":"ITA","ADM0_A3_BR":"ITA","ADM0_A3_IL":"ITA","ADM0_A3_PS":"ITA","ADM0_A3_SA":"ITA","ADM0_A3_EG":"ITA","ADM0_A3_MA":"ITA","ADM0_A3_PT":"ITA","ADM0_A3_AR":"ITA","ADM0_A3_JP":"ITA","ADM0_A3_KO":"ITA","ADM0_A3_VN":"ITA","ADM0_A3_TR":"ITA","ADM0_A3_ID":"ITA","ADM0_A3_PL":"ITA","ADM0_A3_GR":"ITA","ADM0_A3_IT":"ITA","ADM0_A3_NL":"ITA","ADM0_A3_SE":"ITA","ADM0_A3_BD":"ITA","ADM0_A3_UA":"ITA","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Europe","REGION_UN":"Europe","SUBREGION":"Southern Europe","REGION_WB":"Europe & Central Asia","NAME_LEN":5,"LONG_LEN":5,"ABBREV_LEN":5,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":2,"MAX_LABEL":7,"LABEL_X":11.076907,"LABEL_Y":44.732482,"NE_ID":1159320919,"WIKIDATAID":"Q38","NAME_AR":"إيطاليا","NAME_BN":"ইতালি","NAME_DE":"Italien","NAME_EN":"Italy","NAME_ES":"Italia","NAME_FA":"ایتالیا","NAME_FR":"Italie","NAME_EL":"Ιταλία","NAME_HE":"איטליה","NAME_HI":"इटली","NAME_HU":"Olaszország","NAME_ID":"Italia","NAME_IT":"Italia","NAME_JA":"イタリア","NAME_KO":"이탈리아","NAME_NL":"Italië","NAME_PL":"Włochy","NAME_PT":"Itália","NAME_RU":"Италия","NAME_SV":"Italien","NAME_TR":"İtalya","NAME_UK":"Італія","NAME_UR":"اطالیہ","NAME_VI":"Ý","NAME_ZH":"意大利","NAME_ZHT":"義大利","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[6.627734,36.687842,18.48584,47.082129],"geometry":{"type":"MultiPolygon","coordinates":[[[[7.021094,45.925781],[7.055762,45.903809],[7.129004,45.88042],[7.32793,45.912354],[7.451563,45.944434],[7.538574,45.978174],[7.592578,45.972217],[7.787891,45.921826],[7.852344,45.947461],[7.993164,46.015918],[8.014258,46.051904],[8.125195,46.160937],[8.127246,46.187598],[8.081543,46.256006],[8.095703,46.271045],[8.231934,46.341211],[8.298535,46.403418],[8.370703,46.445117],[8.422559,46.446045],[8.436816,46.431885],[8.442969,46.402783],[8.438477,46.282861],[8.458398,46.245898],[8.56543,46.159814],[8.641699,46.110791],[8.818555,46.077148],[8.826758,46.061035],[8.778027,45.996191],[8.885156,45.918701],[8.904297,45.861963],[8.953711,45.830029],[9.02373,45.845703],[9.04668,45.875586],[9.019141,45.928125],[8.998926,45.983105],[9.003027,46.014893],[9.022363,46.051465],[9.070996,46.102441],[9.203418,46.219238],[9.251074,46.286768],[9.259766,46.39126],[9.260156,46.475195],[9.304395,46.495557],[9.399316,46.480664],[9.427637,46.482324],[9.440625,46.430811],[9.481055,46.348779],[9.528711,46.306201],[9.57959,46.296094],[9.639453,46.295898],[9.787793,46.346045],[9.884473,46.367773],[9.939258,46.361816],[9.97168,46.327686],[10.041016,46.238086],[10.080566,46.227979],[10.12832,46.238232],[10.145215,46.253516],[10.129883,46.287988],[10.109668,46.362842],[10.081934,46.420752],[10.045605,46.4479],[10.038281,46.483203],[10.06123,46.546777],[10.087012,46.599902],[10.1375,46.614355],[10.195508,46.621094],[10.272266,46.564844],[10.363086,46.54707],[10.430664,46.550049],[10.44248,46.582861],[10.438281,46.618848],[10.397949,46.665039],[10.406055,46.734863],[10.452832,46.864941],[10.479395,46.855127],[10.579785,46.853711],[10.689258,46.846387],[10.759766,46.793311],[10.828906,46.775244],[10.927344,46.769482],[10.993262,46.777002],[11.025098,46.796973],[11.063477,46.859131],[11.133887,46.936182],[11.244434,46.975684],[11.433203,46.983057],[11.527539,46.997412],[11.625488,46.996582],[11.699414,46.984668],[11.775684,46.986084],[11.969531,47.039697],[12.169434,47.082129],[12.197168,47.075],[12.20127,47.060889],[12.165527,47.028174],[12.130762,46.984766],[12.154102,46.935254],[12.267969,46.835889],[12.330078,46.759814],[12.388281,46.702637],[12.479199,46.67251],[12.598633,46.654102],[12.699805,46.647461],[12.805566,46.625879],[13.16875,46.572656],[13.351562,46.55791],[13.490039,46.555566],[13.7,46.520264],[13.679688,46.462891],[13.637109,46.448535],[13.563281,46.415088],[13.478516,46.369189],[13.399512,46.317529],[13.378223,46.261621],[13.399609,46.224951],[13.420996,46.212305],[13.449805,46.223535],[13.491797,46.216602],[13.544727,46.196582],[13.63252,46.177051],[13.634961,46.157764],[13.616602,46.133105],[13.548047,46.089111],[13.486426,46.039551],[13.480273,46.009229],[13.487695,45.987109],[13.50918,45.973779],[13.600586,45.979785],[13.613965,45.96167],[13.569629,45.834131],[13.583398,45.812354],[13.663477,45.791992],[13.72168,45.761279],[13.831152,45.68042],[13.874707,45.614844],[13.844727,45.592871],[13.775977,45.581982],[13.719824,45.587598],[13.783301,45.627246],[13.62832,45.770947],[13.558203,45.770703],[13.465137,45.709961],[13.206348,45.771387],[13.156738,45.746582],[13.120117,45.6979],[13.030273,45.6375],[12.903027,45.610791],[12.76123,45.544287],[12.611719,45.497217],[12.497559,45.46167],[12.432129,45.46792],[12.536133,45.544922],[12.491797,45.546289],[12.353809,45.491992],[12.274316,45.446045],[12.248828,45.368848],[12.225684,45.241504],[12.286328,45.207715],[12.39248,45.039795],[12.523438,44.967969],[12.497949,44.899414],[12.463574,44.845215],[12.384473,44.79834],[12.319043,44.833105],[12.278906,44.832227],[12.24834,44.72251],[12.30498,44.429443],[12.396289,44.223877],[12.486816,44.134229],[12.691113,43.994727],[12.907031,43.921191],[13.295313,43.686084],[13.508203,43.61167],[13.56416,43.571289],[13.693262,43.389893],[13.804688,43.180371],[13.924902,42.851562],[14.010449,42.689551],[14.182715,42.506445],[14.540723,42.244287],[14.866113,42.052539],[15.16875,41.934033],[15.40498,41.913232],[15.964063,41.939453],[16.061523,41.928125],[16.164648,41.896191],[16.18916,41.814014],[16.15127,41.758496],[16.033691,41.700781],[15.91377,41.62085],[15.900488,41.512061],[16.012598,41.4354],[16.551855,41.232031],[17.103418,41.062158],[17.275195,40.975439],[17.474219,40.840576],[17.95498,40.655176],[18.036133,40.564941],[18.328223,40.37085],[18.460645,40.221045],[18.48584,40.104834],[18.422559,39.986865],[18.393457,39.903613],[18.34375,39.821387],[18.219336,39.852539],[18.07793,39.936963],[17.865039,40.280176],[17.476172,40.314941],[17.395801,40.340234],[17.257715,40.399072],[17.249414,40.437891],[17.215332,40.486426],[17.17998,40.502783],[17.03125,40.513477],[16.928223,40.458057],[16.807031,40.326465],[16.669629,40.137207],[16.52998,39.859668],[16.521875,39.747559],[16.597754,39.638916],[16.824316,39.57832],[16.999219,39.481592],[17.114551,39.380615],[17.122949,39.136572],[17.174609,38.998096],[17.098535,38.919336],[16.951465,38.939795],[16.755469,38.889697],[16.616699,38.800146],[16.558984,38.714795],[16.574219,38.493555],[16.545605,38.409082],[16.282422,38.249561],[16.144141,38.086377],[16.109766,38.018652],[16.056836,37.941846],[15.724512,37.939111],[15.645801,38.034229],[15.643066,38.175391],[15.700195,38.262305],[15.822363,38.302979],[15.904785,38.483496],[15.878906,38.613916],[15.926953,38.671729],[15.972363,38.712598],[16.065527,38.736426],[16.196777,38.759229],[16.209961,38.941113],[16.107422,39.023828],[16.071484,39.139453],[16.023633,39.353613],[15.854395,39.626514],[15.763672,39.870068],[15.692773,39.990186],[15.585156,40.052832],[15.390918,40.052148],[15.294531,40.07002],[14.950879,40.239014],[14.926953,40.264746],[14.929102,40.30957],[14.986133,40.37749],[14.947656,40.469336],[14.906934,40.556055],[14.839551,40.62998],[14.765723,40.668408],[14.61123,40.644775],[14.556934,40.626416],[14.459375,40.632715],[14.382715,40.599854],[14.339941,40.598828],[14.460547,40.728711],[14.428125,40.759326],[14.308887,40.812646],[14.147168,40.820703],[14.102344,40.827148],[14.075879,40.793945],[14.044336,40.812256],[14.047656,40.870312],[13.859766,41.12998],[13.733398,41.235645],[13.669727,41.254492],[13.554785,41.232178],[13.361914,41.278516],[13.246875,41.288867],[13.183398,41.277686],[13.088672,41.243848],[13.041016,41.266211],[13.024219,41.300928],[12.849219,41.40874],[12.630859,41.469678],[12.205664,41.812646],[12.075293,41.940869],[11.807031,42.082031],[11.637305,42.287549],[11.498438,42.362939],[11.296289,42.423291],[11.249707,42.415723],[11.188867,42.393115],[11.141211,42.389893],[11.103223,42.416602],[11.141797,42.444092],[11.184766,42.456592],[11.167773,42.535156],[10.937793,42.738721],[10.803125,42.804297],[10.765137,42.844678],[10.737109,42.899951],[10.708398,42.936328],[10.644629,42.957178],[10.590234,42.953613],[10.514844,42.967529],[10.517285,43.065137],[10.532324,43.140137],[10.520801,43.203809],[10.447559,43.371191],[10.320508,43.513086],[10.245801,43.8521],[10.188086,43.94751],[10.047656,44.019971],[9.730859,44.101172],[9.289355,44.319238],[9.195996,44.322998],[8.930371,44.407764],[8.76582,44.422314],[8.551953,44.346143],[8.292383,44.136523],[8.081641,43.918945],[8.00498,43.876758],[7.733301,43.802588],[7.493164,43.767139],[7.490527,43.822949],[7.482031,43.864893],[7.522656,43.911084],[7.589648,43.96543],[7.651465,44.033643],[7.677148,44.083154],[7.665039,44.116016],[7.637207,44.164844],[7.599414,44.168359],[7.370898,44.127393],[7.318555,44.137988],[7.149414,44.201709],[6.967285,44.280029],[6.900195,44.335742],[6.874805,44.392041],[6.893848,44.428174],[6.878613,44.463281],[6.842969,44.510693],[6.875195,44.564551],[6.931934,44.631641],[6.960352,44.677148],[7.00791,44.688965],[7.030664,44.716699],[6.992676,44.827295],[6.972852,44.84502],[6.939844,44.85874],[6.889355,44.860303],[6.801074,44.883154],[6.738184,44.921387],[6.724707,44.972998],[6.691406,45.022607],[6.634766,45.068164],[6.627734,45.117969],[6.692285,45.144287],[6.780371,45.145312],[6.842285,45.135645],[6.98125,45.215576],[7.032422,45.222607],[7.07832,45.239941],[7.116797,45.349023],[7.146387,45.381738],[7.153418,45.400928],[7.126074,45.423682],[7.013672,45.500488],[6.962402,45.580566],[6.881445,45.670361],[6.80625,45.71001],[6.790918,45.740869],[6.78916,45.780078],[6.804492,45.814551],[6.94082,45.868359],[7.021094,45.925781]],[[12.43916,41.898389],[12.438379,41.906201],[12.430566,41.905469],[12.427539,41.900732],[12.430566,41.897559],[12.43916,41.898389]],[[12.485254,43.901416],[12.514648,43.952979],[12.503711,43.989746],[12.441113,43.982422],[12.396875,43.93457],[12.426367,43.894092],[12.485254,43.901416]]],[[[10.395117,42.858154],[10.42832,42.819189],[10.432227,42.796582],[10.409961,42.770996],[10.419336,42.713184],[10.335645,42.761133],[10.208984,42.736914],[10.13125,42.742041],[10.109766,42.785059],[10.127539,42.810303],[10.248242,42.815771],[10.285742,42.828076],[10.358984,42.822314],[10.395117,42.858154]]],[[[13.938281,40.705615],[13.893652,40.696973],[13.867676,40.70874],[13.853516,40.724072],[13.871191,40.761816],[13.962109,40.739404],[13.96084,40.718164],[13.938281,40.705615]]],[[[12.05127,36.757031],[12.00332,36.745996],[11.940625,36.780371],[11.936426,36.828613],[11.948047,36.843066],[12.024219,36.820947],[12.048047,36.776367],[12.05127,36.757031]]],[[[15.576563,38.220312],[15.508887,38.106641],[15.475684,38.062939],[15.234473,37.784814],[15.206836,37.720557],[15.189844,37.650732],[15.164844,37.589551],[15.131055,37.531885],[15.099512,37.458594],[15.105664,37.375488],[15.116992,37.334717],[15.145996,37.308008],[15.193652,37.282861],[15.230273,37.244336],[15.174121,37.20918],[15.236035,37.138721],[15.288672,37.096924],[15.295703,37.055176],[15.294531,37.013281],[15.185156,36.934814],[15.142383,36.891602],[15.11582,36.839258],[15.104297,36.785254],[15.116309,36.736475],[15.112598,36.687842],[15.002441,36.693896],[14.889648,36.723535],[14.775977,36.7104],[14.614355,36.766602],[14.555469,36.776758],[14.501855,36.798682],[14.367285,36.972852],[14.259082,37.046436],[14.142969,37.103662],[14.024316,37.107129],[13.905469,37.100635],[13.800586,37.135889],[13.587109,37.25415],[13.360938,37.34873],[13.264941,37.410352],[13.221094,37.451807],[13.169922,37.479297],[13.040332,37.506543],[12.924121,37.570508],[12.871191,37.575195],[12.757324,37.567383],[12.699023,37.571826],[12.640234,37.594336],[12.526758,37.669531],[12.454395,37.773779],[12.435547,37.819775],[12.486816,37.938721],[12.547656,38.05293],[12.60166,38.084961],[12.664355,38.10791],[12.702344,38.141699],[12.734375,38.183057],[12.850684,38.063721],[12.902734,38.034863],[12.955469,38.041309],[13.049023,38.084082],[13.056836,38.130908],[13.159961,38.190332],[13.291113,38.191455],[13.35166,38.180518],[13.383496,38.126807],[13.433496,38.110254],[13.491309,38.103125],[13.681543,38.000732],[13.734863,37.984033],[13.788867,37.981201],[13.936621,38.02417],[14.05,38.040527],[14.287695,38.016846],[14.416211,38.042578],[14.505957,38.045508],[14.636719,38.085059],[14.737207,38.150781],[14.789648,38.166992],[14.845898,38.17168],[14.981934,38.167578],[15.11875,38.152734],[15.176074,38.168066],[15.224023,38.211035],[15.27959,38.230371],[15.340723,38.217334],[15.49873,38.290869],[15.568359,38.295898],[15.634668,38.267578],[15.576563,38.220312]]],[[[9.632031,40.882031],[9.682031,40.818115],[9.794336,40.556201],[9.805273,40.499561],[9.782813,40.441504],[9.754199,40.400293],[9.642969,40.268408],[9.659473,40.159229],[9.700781,40.091797],[9.706738,40.017041],[9.686035,39.924365],[9.616992,39.354395],[9.583594,39.253564],[9.5625,39.166016],[9.486328,39.139551],[9.388086,39.167529],[9.26416,39.216797],[9.206934,39.213818],[9.149316,39.196973],[9.101758,39.211279],[9.056348,39.23916],[9.022656,39.043262],[8.966602,38.963721],[8.881348,38.912891],[8.801172,38.909668],[8.718555,38.926709],[8.648535,38.926562],[8.59541,38.964307],[8.55332,39.030322],[8.48623,39.110498],[8.418164,39.205713],[8.410742,39.291797],[8.399121,39.481592],[8.418652,39.523047],[8.44707,39.562793],[8.461035,39.647705],[8.451172,39.72168],[8.471094,39.748096],[8.510742,39.72168],[8.540527,39.731592],[8.538672,39.769678],[8.547754,39.839209],[8.495898,39.897461],[8.407813,39.917236],[8.399316,39.978174],[8.408594,40.037646],[8.455078,40.077588],[8.470801,40.130713],[8.471289,40.292676],[8.40918,40.352344],[8.385352,40.442676],[8.353223,40.500537],[8.295508,40.558643],[8.230273,40.605957],[8.189941,40.651611],[8.180859,40.771045],[8.203809,40.870703],[8.224219,40.91333],[8.245215,40.907031],[8.310156,40.85752],[8.363281,40.846338],[8.468457,40.834326],[8.571875,40.850195],[8.698926,40.895264],[8.821191,40.949902],[8.998145,41.110352],[9.107227,41.14292],[9.163086,41.185156],[9.182129,41.242188],[9.228418,41.25708],[9.283008,41.20166],[9.350781,41.195898],[9.455176,41.150146],[9.500195,41.106348],[9.53877,41.053662],[9.575684,41.030518],[9.615332,41.017285],[9.621191,41.004883],[9.589746,40.99248],[9.553711,40.932129],[9.574023,40.914746],[9.632031,40.882031]]],[[[8.478906,39.067529],[8.421484,38.968652],[8.360938,39.038672],[8.358594,39.098779],[8.366797,39.115918],[8.440625,39.090625],[8.478906,39.067529]]],[[[8.286035,41.039844],[8.252734,40.994141],[8.205664,40.997461],[8.224023,41.031299],[8.267383,41.099121],[8.320215,41.121875],[8.34375,41.101611],[8.318945,41.062744],[8.286035,41.039844]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":4,"SOVEREIGNT":"Israel","SOV_A3":"IS1","ADM0_DIF":1,"LEVEL":2,"TYPE":"Disputed","TLC":"1","ADMIN":"Israel","ADM0_A3":"ISR","GEOU_DIF":0,"GEOUNIT":"Israel","GU_A3":"ISR","SU_DIF":0,"SUBUNIT":"Israel","SU_A3":"ISR","BRK_DIFF":1,"NAME":"Israel","NAME_LONG":"Israel","BRK_A3":"ISR","BRK_NAME":"Israel","BRK_GROUP":null,"ABBREV":"Isr.","POSTAL":"IS","FORMAL_EN":"State of Israel","FORMAL_FR":null,"NAME_CIAWF":"Israel","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Israel","NAME_ALT":null,"MAPCOLOR7":3,"MAPCOLOR8":2,"MAPCOLOR9":5,"MAPCOLOR13":9,"POP_EST":9053300,"POP_RANK":13,"POP_YEAR":2019,"GDP_MD":394652,"GDP_YEAR":2019,"ECONOMY":"2. Developed region: nonG7","INCOME_GRP":"1. High income: OECD","FIPS_10":"-99","ISO_A2":"IL","ISO_A2_EH":"IL","ISO_A3":"ISR","ISO_A3_EH":"ISR","ISO_N3":"376","ISO_N3_EH":"376","UN_A3":"376","WB_A2":"IL","WB_A3":"ISR","WOE_ID":23424852,"WOE_ID_EH":23424852,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"ISR","ADM0_DIFF":null,"ADM0_TLC":"ISR","ADM0_A3_US":"ISR","ADM0_A3_FR":"ISR","ADM0_A3_RU":"ISR","ADM0_A3_ES":"ISR","ADM0_A3_CN":"ISR","ADM0_A3_TW":"ISR","ADM0_A3_IN":"ISR","ADM0_A3_NP":"ISR","ADM0_A3_PK":"PSX","ADM0_A3_DE":"ISR","ADM0_A3_GB":"ISR","ADM0_A3_BR":"ISR","ADM0_A3_IL":"ISR","ADM0_A3_PS":"ISR","ADM0_A3_SA":"PSX","ADM0_A3_EG":"ISR","ADM0_A3_MA":"ISR","ADM0_A3_PT":"ISR","ADM0_A3_AR":"ISR","ADM0_A3_JP":"ISR","ADM0_A3_KO":"ISR","ADM0_A3_VN":"ISR","ADM0_A3_TR":"ISR","ADM0_A3_ID":"ISR","ADM0_A3_PL":"ISR","ADM0_A3_GR":"ISR","ADM0_A3_IT":"ISR","ADM0_A3_NL":"ISR","ADM0_A3_SE":"ISR","ADM0_A3_BD":"PSX","ADM0_A3_UA":"ISR","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Asia","REGION_UN":"Asia","SUBREGION":"Western Asia","REGION_WB":"Middle East & North Africa","NAME_LEN":6,"LONG_LEN":6,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":3,"MAX_LABEL":8,"LABEL_X":34.847915,"LABEL_Y":30.911148,"NE_ID":1159320895,"WIKIDATAID":"Q801","NAME_AR":"إسرائيل","NAME_BN":"ইসরায়েল","NAME_DE":"Israel","NAME_EN":"Israel","NAME_ES":"Israel","NAME_FA":"اسرائیل","NAME_FR":"Israël","NAME_EL":"Ισραήλ","NAME_HE":"ישראל","NAME_HI":"इज़राइल","NAME_HU":"Izrael","NAME_ID":"Israel","NAME_IT":"Israele","NAME_JA":"イスラエル","NAME_KO":"이스라엘","NAME_NL":"Israël","NAME_PL":"Izrael","NAME_PT":"Israel","NAME_RU":"Израиль","NAME_SV":"Israel","NAME_TR":"İsrail","NAME_UK":"Ізраїль","NAME_UR":"اسرائیل","NAME_VI":"Israel","NAME_ZH":"以色列","NAME_ZHT":"以色列","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":"Unrecognized","FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":"Unrecognized","FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":"Unrecognized","FCLASS_UA":null},"bbox":[34.245313,29.477344,35.887977,33.415674],"geometry":{"type":"Polygon","coordinates":[[[35.840723,33.415674],[35.816125,33.361879],[35.792531,33.334107],[35.785024,33.291089],[35.800038,33.256121],[35.808618,33.208577],[35.826849,33.195117],[35.833283,33.163702],[35.817197,33.133173],[35.824704,33.108024],[35.84508,33.084665],[35.859022,32.989367],[35.887977,32.944379],[35.841863,32.875954],[35.833283,32.820094],[35.787305,32.734912],[35.734473,32.728906],[35.61123,32.68208],[35.594531,32.668018],[35.572852,32.640869],[35.569043,32.619873],[35.551465,32.395508],[35.484375,32.40166],[35.402637,32.450635],[35.386719,32.493018],[35.362109,32.507471],[35.303809,32.512939],[35.193262,32.534424],[35.065039,32.460449],[35.010547,32.338184],[34.999512,32.281055],[34.955957,32.160937],[34.971387,32.087109],[34.978809,31.991602],[34.989746,31.913281],[34.97832,31.866406],[34.953809,31.84126],[34.961133,31.82334],[34.983008,31.816797],[35.053223,31.837939],[35.127148,31.816748],[35.198047,31.776318],[35.203711,31.75],[35.153418,31.734473],[35.034668,31.673242],[34.950977,31.602295],[34.929199,31.536572],[34.872754,31.396875],[34.880469,31.368164],[34.907813,31.351318],[35.101172,31.366211],[35.27666,31.422803],[35.408691,31.48291],[35.450586,31.479297],[35.422852,31.325391],[35.423535,31.324854],[35.400684,31.230518],[35.409668,31.214453],[35.439258,31.132422],[35.383008,30.982275],[35.320117,30.860205],[35.297852,30.802246],[35.236621,30.673486],[35.174023,30.523926],[35.140625,30.420898],[35.148145,30.384326],[35.132617,30.195312],[35.141602,30.141699],[35.068164,29.977881],[35.053418,29.896924],[35.023926,29.787061],[34.973438,29.555029],[34.904297,29.477344],[34.869824,29.563916],[34.791113,29.812109],[34.735059,29.982031],[34.658594,30.191455],[34.529688,30.446045],[34.517773,30.507373],[34.489941,30.596289],[34.400977,30.827832],[34.328516,30.99502],[34.245313,31.208301],[34.34834,31.29292],[34.350195,31.362744],[34.525586,31.525635],[34.524121,31.54165],[34.477344,31.584863],[34.483984,31.592285],[34.678418,31.895703],[34.803809,32.196338],[34.921875,32.614062],[35.005859,32.826611],[35.077051,32.967187],[35.108594,33.083691],[35.22334,33.091992],[35.308887,33.079541],[35.41123,33.075684],[35.493164,33.119482],[35.53252,33.250488],[35.579297,33.271484],[35.60293,33.240625],[35.627246,33.275049],[35.734473,33.332617],[35.7875,33.369775],[35.840723,33.415674]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":5,"SOVEREIGNT":"Israel","SOV_A3":"IS1","ADM0_DIF":1,"LEVEL":2,"TYPE":"Indeterminate","TLC":"1","ADMIN":"Palestine","ADM0_A3":"PSX","GEOU_DIF":0,"GEOUNIT":"Palestine","GU_A3":"PSX","SU_DIF":0,"SUBUNIT":"Palestine","SU_A3":"PSX","BRK_DIFF":0,"NAME":"Palestine","NAME_LONG":"Palestine","BRK_A3":"PSX","BRK_NAME":"Palestine","BRK_GROUP":null,"ABBREV":"Pal.","POSTAL":"PAL","FORMAL_EN":"West Bank and Gaza","FORMAL_FR":null,"NAME_CIAWF":null,"NOTE_ADM0":null,"NOTE_BRK":"Partial self-admin.","NAME_SORT":"Palestine (West Bank and Gaza)","NAME_ALT":null,"MAPCOLOR7":3,"MAPCOLOR8":2,"MAPCOLOR9":5,"MAPCOLOR13":8,"POP_EST":4685306,"POP_RANK":12,"POP_YEAR":2019,"GDP_MD":16276,"GDP_YEAR":2018,"ECONOMY":"6. Developing region","INCOME_GRP":"4. Lower middle income","FIPS_10":"-99","ISO_A2":"PS","ISO_A2_EH":"PS","ISO_A3":"PSE","ISO_A3_EH":"PSE","ISO_N3":"275","ISO_N3_EH":"275","UN_A3":"275","WB_A2":"GZ","WB_A3":"WBG","WOE_ID":28289408,"WOE_ID_EH":28289408,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"PSX","ADM0_DIFF":null,"ADM0_TLC":"PSX","ADM0_A3_US":"PSX","ADM0_A3_FR":"PSX","ADM0_A3_RU":"PSX","ADM0_A3_ES":"PSX","ADM0_A3_CN":"PSX","ADM0_A3_TW":"PSX","ADM0_A3_IN":"PSX","ADM0_A3_NP":"PSX","ADM0_A3_PK":"PSX","ADM0_A3_DE":"PSX","ADM0_A3_GB":"PSX","ADM0_A3_BR":"PSX","ADM0_A3_IL":"PSX","ADM0_A3_PS":"PSX","ADM0_A3_SA":"PSX","ADM0_A3_EG":"PSX","ADM0_A3_MA":"PSX","ADM0_A3_PT":"PSX","ADM0_A3_AR":"PSX","ADM0_A3_JP":"PSX","ADM0_A3_KO":"PSX","ADM0_A3_VN":"PSX","ADM0_A3_TR":"PSX","ADM0_A3_ID":"PSX","ADM0_A3_PL":"PSX","ADM0_A3_GR":"PSX","ADM0_A3_IT":"PSX","ADM0_A3_NL":"PSX","ADM0_A3_SE":"PSX","ADM0_A3_BD":"PSX","ADM0_A3_UA":"PSX","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Asia","REGION_UN":"Asia","SUBREGION":"Western Asia","REGION_WB":"Middle East & North Africa","NAME_LEN":9,"LONG_LEN":9,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":-99,"MIN_ZOOM":7,"MIN_LABEL":4.5,"MAX_LABEL":9.5,"LABEL_X":35.291341,"LABEL_Y":32.047431,"NE_ID":1159320899,"WIKIDATAID":"Q23792","NAME_AR":"فلسطين","NAME_BN":"ফিলিস্তিন অঞ্চল","NAME_DE":"Palästina","NAME_EN":"Palestine","NAME_ES":"Palestina","NAME_FA":"فلسطین","NAME_FR":"Palestine","NAME_EL":"Παλαιστίνη","NAME_HE":"ארץ ישראל","NAME_HI":"फ़िलिस्तीनी राज्यक्षेत्र","NAME_HU":"Palesztina","NAME_ID":"Palestina","NAME_IT":"Palestina","NAME_JA":"パレスチナ","NAME_KO":"팔레스타인","NAME_NL":"Palestina","NAME_PL":"Palestyna","NAME_PT":"Palestina","NAME_RU":"Палестина","NAME_SV":"Palestina","NAME_TR":"Filistin","NAME_UK":"Палестина","NAME_UR":"فلسطین","NAME_VI":"Palestine","NAME_ZH":"巴勒斯坦","NAME_ZHT":"巴勒斯坦地區","FCLASS_ISO":"Admin-0 dependency","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 dependency","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":"Admin-0 country","FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":"Admin-0 country","FCLASS_SA":"Admin-0 country","FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":"Admin-0 country","FCLASS_UA":null},"bbox":[34.198145,31.208301,35.57207,32.534424],"geometry":{"type":"MultiPolygon","coordinates":[[[[34.477344,31.584863],[34.524121,31.54165],[34.525586,31.525635],[34.350195,31.362744],[34.34834,31.29292],[34.245313,31.208301],[34.2125,31.292285],[34.198145,31.322607],[34.387305,31.483789],[34.477344,31.584863]]],[[[35.551465,32.395508],[35.57207,32.237891],[35.534766,32.103027],[35.531445,31.984912],[35.558984,31.765527],[35.499414,31.672363],[35.46543,31.562354],[35.450586,31.479297],[35.408691,31.48291],[35.27666,31.422803],[35.101172,31.366211],[34.907813,31.351318],[34.880469,31.368164],[34.872754,31.396875],[34.929199,31.536572],[34.950977,31.602295],[35.034668,31.673242],[35.153418,31.734473],[35.203711,31.75],[35.198047,31.776318],[35.127148,31.816748],[35.053223,31.837939],[34.983008,31.816797],[34.961133,31.82334],[34.953809,31.84126],[34.97832,31.866406],[34.989746,31.913281],[34.978809,31.991602],[34.971387,32.087109],[34.955957,32.160937],[34.999512,32.281055],[35.010547,32.338184],[35.065039,32.460449],[35.193262,32.534424],[35.303809,32.512939],[35.362109,32.507471],[35.386719,32.493018],[35.402637,32.450635],[35.484375,32.40166],[35.551465,32.395508]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":4,"LABELRANK":3,"SOVEREIGNT":"Ireland","SOV_A3":"IRL","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Ireland","ADM0_A3":"IRL","GEOU_DIF":0,"GEOUNIT":"Ireland","GU_A3":"IRL","SU_DIF":0,"SUBUNIT":"Ireland","SU_A3":"IRL","BRK_DIFF":0,"NAME":"Ireland","NAME_LONG":"Ireland","BRK_A3":"IRL","BRK_NAME":"Ireland","BRK_GROUP":null,"ABBREV":"Ire.","POSTAL":"IRL","FORMAL_EN":"Ireland","FORMAL_FR":null,"NAME_CIAWF":"Ireland","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Ireland","NAME_ALT":null,"MAPCOLOR7":2,"MAPCOLOR8":3,"MAPCOLOR9":2,"MAPCOLOR13":2,"POP_EST":4941444,"POP_RANK":12,"POP_YEAR":2019,"GDP_MD":388698,"GDP_YEAR":2019,"ECONOMY":"2. Developed region: nonG7","INCOME_GRP":"1. High income: OECD","FIPS_10":"EI","ISO_A2":"IE","ISO_A2_EH":"IE","ISO_A3":"IRL","ISO_A3_EH":"IRL","ISO_N3":"372","ISO_N3_EH":"372","UN_A3":"372","WB_A2":"IE","WB_A3":"IRL","WOE_ID":23424803,"WOE_ID_EH":23424803,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"IRL","ADM0_DIFF":null,"ADM0_TLC":"IRL","ADM0_A3_US":"IRL","ADM0_A3_FR":"IRL","ADM0_A3_RU":"IRL","ADM0_A3_ES":"IRL","ADM0_A3_CN":"IRL","ADM0_A3_TW":"IRL","ADM0_A3_IN":"IRL","ADM0_A3_NP":"IRL","ADM0_A3_PK":"IRL","ADM0_A3_DE":"IRL","ADM0_A3_GB":"IRL","ADM0_A3_BR":"IRL","ADM0_A3_IL":"IRL","ADM0_A3_PS":"IRL","ADM0_A3_SA":"IRL","ADM0_A3_EG":"IRL","ADM0_A3_MA":"IRL","ADM0_A3_PT":"IRL","ADM0_A3_AR":"IRL","ADM0_A3_JP":"IRL","ADM0_A3_KO":"IRL","ADM0_A3_VN":"IRL","ADM0_A3_TR":"IRL","ADM0_A3_ID":"IRL","ADM0_A3_PL":"IRL","ADM0_A3_GR":"IRL","ADM0_A3_IT":"IRL","ADM0_A3_NL":"IRL","ADM0_A3_SE":"IRL","ADM0_A3_BD":"IRL","ADM0_A3_UA":"IRL","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Europe","REGION_UN":"Europe","SUBREGION":"Northern Europe","REGION_WB":"Europe & Central Asia","NAME_LEN":7,"LONG_LEN":7,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":3,"MAX_LABEL":8,"LABEL_X":-7.798588,"LABEL_Y":53.078726,"NE_ID":1159320877,"WIKIDATAID":"Q27","NAME_AR":"جمهورية أيرلندا","NAME_BN":"প্রজাতন্ত্রী আয়ারল্যান্ড","NAME_DE":"Irland","NAME_EN":"Ireland","NAME_ES":"Irlanda","NAME_FA":"ایرلند","NAME_FR":"Irlande","NAME_EL":"Δημοκρατία της Ιρλανδίας","NAME_HE":"אירלנד","NAME_HI":"आयरलैण्ड","NAME_HU":"Írország","NAME_ID":"Republik Irlandia","NAME_IT":"Irlanda","NAME_JA":"アイルランド","NAME_KO":"아일랜드","NAME_NL":"Ierland","NAME_PL":"Irlandia","NAME_PT":"República da Irlanda","NAME_RU":"Ирландия","NAME_SV":"Irland","NAME_TR":"İrlanda","NAME_UK":"Ірландія","NAME_UR":"جمہوریہ آئرلینڈ","NAME_VI":"Cộng hòa Ireland","NAME_ZH":"爱尔兰","NAME_ZHT":"愛爾蘭","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[-10.390234,51.47373,-6.027393,55.36582],"geometry":{"type":"MultiPolygon","coordinates":[[[[-9.948193,53.913135],[-9.952441,53.88457],[-10.026514,53.920557],[-10.0625,53.959717],[-10.265723,53.977686],[-10.181055,54.016846],[-10.139746,54.005225],[-9.996387,54.003613],[-9.956152,53.987207],[-9.948193,53.913135]]],[[[-7.218652,55.091992],[-7.376904,55.027686],[-7.401416,55.00332],[-7.445996,54.905127],[-7.45127,54.8771],[-7.502197,54.825439],[-7.550391,54.767969],[-7.606445,54.745703],[-7.68999,54.728027],[-7.7375,54.710449],[-7.797266,54.719287],[-7.872949,54.717871],[-7.910596,54.69834],[-7.90874,54.68335],[-7.886133,54.666064],[-7.819824,54.639697],[-7.746289,54.61582],[-7.754395,54.594922],[-7.793799,54.57124],[-8.044336,54.512451],[-8.118945,54.476953],[-8.144824,54.453516],[-8.118262,54.414258],[-7.918457,54.296582],[-7.884473,54.283789],[-7.854932,54.215283],[-7.67876,54.18667],[-7.606543,54.143848],[-7.544434,54.133594],[-7.409424,54.137305],[-7.355176,54.12124],[-7.324512,54.133447],[-7.306738,54.156006],[-7.193066,54.214111],[-7.155469,54.239502],[-7.178076,54.274902],[-7.202588,54.301807],[-7.133496,54.355371],[-7.049707,54.408252],[-7.007715,54.406689],[-6.936133,54.374316],[-6.877246,54.329102],[-6.869238,54.294043],[-6.85835,54.268652],[-6.802588,54.214355],[-6.766602,54.195605],[-6.669531,54.184717],[-6.646875,54.163428],[-6.664209,54.084766],[-6.649805,54.058643],[-6.548145,54.057275],[-6.440283,54.063623],[-6.402588,54.060645],[-6.363672,54.0771],[-6.303662,54.094873],[-6.218018,54.088721],[-6.175732,54.053516],[-6.156934,54.017236],[-6.230664,54.003613],[-6.307617,54.011035],[-6.345166,53.987207],[-6.347607,53.941309],[-6.321582,53.882178],[-6.270117,53.840234],[-6.229004,53.745703],[-6.194873,53.640869],[-6.141846,53.577539],[-6.130957,53.498926],[-6.13877,53.460303],[-6.129102,53.390869],[-6.15166,53.366406],[-6.134717,53.301221],[-6.072266,53.166309],[-6.04502,53.091162],[-6.027393,52.9271],[-6.071484,52.865625],[-6.130664,52.807275],[-6.169336,52.738135],[-6.199219,52.663477],[-6.217236,52.543115],[-6.34541,52.402002],[-6.399951,52.366943],[-6.463184,52.345361],[-6.325,52.24668],[-6.437939,52.202686],[-6.561084,52.188818],[-6.697314,52.213525],[-6.782227,52.210498],[-6.859717,52.178564],[-6.890234,52.159229],[-6.914648,52.168555],[-6.965771,52.249512],[-7.003271,52.165918],[-7.081787,52.139307],[-7.216211,52.144971],[-7.440869,52.122705],[-7.527295,52.098877],[-7.563184,52.061621],[-7.589844,52.018555],[-7.624902,51.993115],[-7.664551,51.979736],[-7.837988,51.947998],[-7.872168,51.935303],[-7.95249,51.865771],[-8.057812,51.825586],[-8.14502,51.813525],[-8.222461,51.854004],[-8.254297,51.87832],[-8.290234,51.890674],[-8.40918,51.88877],[-8.371631,51.87627],[-8.347363,51.847705],[-8.335596,51.792969],[-8.349121,51.739307],[-8.407812,51.712061],[-8.477832,51.707031],[-8.588281,51.651367],[-8.734473,51.636182],[-8.813428,51.584912],[-9.296484,51.498242],[-9.323877,51.497217],[-9.390576,51.519287],[-9.462891,51.529053],[-9.534863,51.522168],[-9.737305,51.47373],[-9.835352,51.48335],[-9.710352,51.603711],[-9.542383,51.664453],[-9.524902,51.681104],[-9.579834,51.689258],[-9.899023,51.64707],[-10.009912,51.611133],[-10.120752,51.600684],[-10.069434,51.655566],[-9.926416,51.730713],[-9.849707,51.766113],[-9.802881,51.780127],[-9.749512,51.824268],[-9.598828,51.874414],[-10.084229,51.770996],[-10.211719,51.783594],[-10.241748,51.812451],[-10.341064,51.798926],[-10.378711,51.86875],[-10.231592,51.974512],[-10.14585,52.02002],[-10.044043,52.04458],[-9.946045,52.079834],[-9.909668,52.122949],[-9.955811,52.13667],[-10.249512,52.125732],[-10.390234,52.134912],[-10.382617,52.169092],[-10.356689,52.206934],[-10.210938,52.27168],[-10.13208,52.28208],[-10.061768,52.275928],[-9.993115,52.259326],[-9.937305,52.237646],[-9.772119,52.250098],[-9.841064,52.291455],[-9.853223,52.375488],[-9.906055,52.403711],[-9.838477,52.442676],[-9.761133,52.466357],[-9.632227,52.546924],[-9.586328,52.55918],[-9.33125,52.57876],[-9.056152,52.621143],[-8.783447,52.679639],[-8.923291,52.712305],[-8.990283,52.75542],[-9.0979,52.668262],[-9.175391,52.634912],[-9.394238,52.61709],[-9.463477,52.626904],[-9.561035,52.653955],[-9.591357,52.643652],[-9.619531,52.622754],[-9.764355,52.57998],[-9.916602,52.569727],[-9.7396,52.648193],[-9.51499,52.781152],[-9.464893,52.823193],[-9.393652,52.89624],[-9.415723,52.92876],[-9.461963,52.947266],[-9.299219,53.097559],[-9.241895,53.124854],[-9.137598,53.129248],[-9.061133,53.153076],[-9.027441,53.153174],[-8.997168,53.162061],[-8.930127,53.20708],[-9.033545,53.235742],[-9.140332,53.250488],[-9.470752,53.234863],[-9.514209,53.238232],[-9.555176,53.252051],[-9.581738,53.271973],[-9.601758,53.323047],[-9.625977,53.334473],[-9.700586,53.334473],[-9.774072,53.318848],[-9.825391,53.320361],[-9.875781,53.342725],[-9.79541,53.394971],[-9.899023,53.407275],[-10.003906,53.397021],[-10.09126,53.412842],[-10.093994,53.445605],[-10.054395,53.47832],[-10.10625,53.509326],[-10.116992,53.548535],[-10.061719,53.567822],[-10.001367,53.561426],[-9.878271,53.59043],[-9.720654,53.604492],[-9.855859,53.633105],[-9.909717,53.657617],[-9.912305,53.695117],[-9.901611,53.727197],[-9.745068,53.781494],[-9.578223,53.80542],[-9.590527,53.841162],[-9.578857,53.879834],[-9.74751,53.891016],[-9.914062,53.863721],[-9.89624,53.937598],[-9.856348,54.004297],[-9.848486,54.048291],[-9.856445,54.095361],[-9.934473,54.075244],[-9.943604,54.141602],[-9.9771,54.187109],[-10.092676,54.155762],[-10.089697,54.21582],[-10.056396,54.257812],[-9.995947,54.276025],[-9.935937,54.268115],[-9.824561,54.268896],[-9.717139,54.300439],[-9.562305,54.308545],[-9.315527,54.298633],[-9.145898,54.209619],[-9.1021,54.225537],[-9.034277,54.281787],[-9.002441,54.287988],[-8.746777,54.263477],[-8.588037,54.231104],[-8.545557,54.241211],[-8.568457,54.303613],[-8.623145,54.346875],[-8.554443,54.403564],[-8.470996,54.441943],[-8.415234,54.461084],[-8.286523,54.484863],[-8.230371,54.507275],[-8.192969,54.580127],[-8.133447,54.64082],[-8.456543,54.609277],[-8.763916,54.681201],[-8.715186,54.732031],[-8.650293,54.760889],[-8.538281,54.782959],[-8.527686,54.809473],[-8.470996,54.831543],[-8.377295,54.889453],[-8.411719,54.965088],[-8.393262,55.02041],[-8.325781,55.056445],[-8.304688,55.108203],[-8.274609,55.146289],[-8.137695,55.159912],[-8.006104,55.195312],[-7.958594,55.191895],[-7.803174,55.200049],[-7.750537,55.185791],[-7.762549,55.24834],[-7.66709,55.256494],[-7.629785,55.243994],[-7.613379,55.199658],[-7.57002,55.171387],[-7.556641,55.122217],[-7.585693,55.084229],[-7.634277,55.05498],[-7.589844,55.025049],[-7.65874,54.970947],[-7.584375,54.993994],[-7.478418,55.046973],[-7.483936,55.090283],[-7.501953,55.144727],[-7.531445,55.193848],[-7.517871,55.247949],[-7.458301,55.281787],[-7.301758,55.298779],[-7.365967,55.360205],[-7.308789,55.36582],[-7.24668,55.353027],[-7.155322,55.305176],[-7.060254,55.267627],[-6.96167,55.237891],[-7.056396,55.17832],[-7.172852,55.137012],[-7.218652,55.091992]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":3,"SOVEREIGNT":"Iraq","SOV_A3":"IRQ","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Iraq","ADM0_A3":"IRQ","GEOU_DIF":0,"GEOUNIT":"Iraq","GU_A3":"IRQ","SU_DIF":0,"SUBUNIT":"Iraq","SU_A3":"IRQ","BRK_DIFF":0,"NAME":"Iraq","NAME_LONG":"Iraq","BRK_A3":"IRQ","BRK_NAME":"Iraq","BRK_GROUP":null,"ABBREV":"Iraq","POSTAL":"IRQ","FORMAL_EN":"Republic of Iraq","FORMAL_FR":null,"NAME_CIAWF":"Iraq","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Iraq","NAME_ALT":null,"MAPCOLOR7":1,"MAPCOLOR8":4,"MAPCOLOR9":3,"MAPCOLOR13":1,"POP_EST":39309783,"POP_RANK":15,"POP_YEAR":2019,"GDP_MD":234094,"GDP_YEAR":2019,"ECONOMY":"6. Developing region","INCOME_GRP":"4. Lower middle income","FIPS_10":"IZ","ISO_A2":"IQ","ISO_A2_EH":"IQ","ISO_A3":"IRQ","ISO_A3_EH":"IRQ","ISO_N3":"368","ISO_N3_EH":"368","UN_A3":"368","WB_A2":"IQ","WB_A3":"IRQ","WOE_ID":23424855,"WOE_ID_EH":23424855,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"IRQ","ADM0_DIFF":null,"ADM0_TLC":"IRQ","ADM0_A3_US":"IRQ","ADM0_A3_FR":"IRQ","ADM0_A3_RU":"IRQ","ADM0_A3_ES":"IRQ","ADM0_A3_CN":"IRQ","ADM0_A3_TW":"IRQ","ADM0_A3_IN":"IRQ","ADM0_A3_NP":"IRQ","ADM0_A3_PK":"IRQ","ADM0_A3_DE":"IRQ","ADM0_A3_GB":"IRQ","ADM0_A3_BR":"IRQ","ADM0_A3_IL":"IRQ","ADM0_A3_PS":"IRQ","ADM0_A3_SA":"IRQ","ADM0_A3_EG":"IRQ","ADM0_A3_MA":"IRQ","ADM0_A3_PT":"IRQ","ADM0_A3_AR":"IRQ","ADM0_A3_JP":"IRQ","ADM0_A3_KO":"IRQ","ADM0_A3_VN":"IRQ","ADM0_A3_TR":"IRQ","ADM0_A3_ID":"IRQ","ADM0_A3_PL":"IRQ","ADM0_A3_GR":"IRQ","ADM0_A3_IT":"IRQ","ADM0_A3_NL":"IRQ","ADM0_A3_SE":"IRQ","ADM0_A3_BD":"IRQ","ADM0_A3_UA":"IRQ","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Asia","REGION_UN":"Asia","SUBREGION":"Western Asia","REGION_WB":"Middle East & North Africa","NAME_LEN":4,"LONG_LEN":4,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":3,"MAX_LABEL":7.5,"LABEL_X":43.26181,"LABEL_Y":33.09403,"NE_ID":1159320887,"WIKIDATAID":"Q796","NAME_AR":"العراق","NAME_BN":"ইরাক","NAME_DE":"Irak","NAME_EN":"Iraq","NAME_ES":"Irak","NAME_FA":"عراق","NAME_FR":"Irak","NAME_EL":"Ιράκ","NAME_HE":"עיראק","NAME_HI":"इराक","NAME_HU":"Irak","NAME_ID":"Irak","NAME_IT":"Iraq","NAME_JA":"イラク","NAME_KO":"이라크","NAME_NL":"Irak","NAME_PL":"Irak","NAME_PT":"Iraque","NAME_RU":"Ирак","NAME_SV":"Irak","NAME_TR":"Irak","NAME_UK":"Ірак","NAME_UR":"عراق","NAME_VI":"Iraq","NAME_ZH":"伊拉克","NAME_ZHT":"伊拉克","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[38.773535,29.063672,48.546484,37.371875],"geometry":{"type":"Polygon","coordinates":[[[42.358984,37.108594],[42.455859,37.128711],[42.635449,37.249268],[42.741113,37.361914],[42.774609,37.371875],[42.869141,37.334912],[42.936621,37.324756],[43.09248,37.367383],[43.185156,37.344873],[43.263086,37.316504],[43.306738,37.314648],[43.51582,37.244531],[43.567969,37.23584],[43.675781,37.227246],[43.836426,37.223535],[43.940039,37.269287],[44.013184,37.313525],[44.064648,37.312451],[44.114453,37.301855],[44.15625,37.282959],[44.191797,37.249854],[44.208398,37.202637],[44.20166,37.051807],[44.21748,37.011865],[44.245703,36.983301],[44.281836,36.978027],[44.325586,37.010742],[44.401953,37.058496],[44.495996,37.110547],[44.566016,37.158252],[44.605957,37.176025],[44.669336,37.173584],[44.730957,37.165283],[44.765137,37.142432],[44.76543,37.13501],[44.798438,37.063867],[44.880859,36.799316],[44.927832,36.765918],[44.981445,36.737695],[45.019238,36.698389],[45.033984,36.658887],[45.029395,36.597559],[45.031055,36.526074],[45.053125,36.471631],[45.083789,36.430029],[45.112402,36.409277],[45.155273,36.407373],[45.206543,36.397168],[45.241113,36.355957],[45.350879,36.054639],[45.361621,36.015332],[45.407715,36.002783],[45.483789,36.008545],[45.561621,35.977197],[45.64502,35.928369],[45.723438,35.83667],[45.776367,35.821826],[45.941406,35.8354],[46.16748,35.820557],[46.273438,35.773242],[46.2625,35.744141],[46.180957,35.711377],[46.037402,35.673145],[45.99502,35.608105],[45.971094,35.52417],[45.975391,35.476807],[46.010645,35.424805],[46.112109,35.32168],[46.117773,35.284277],[46.135742,35.232275],[46.154688,35.196729],[46.133789,35.127637],[46.041797,35.080176],[45.920898,35.028516],[45.678125,34.798437],[45.660059,34.748779],[45.661523,34.612695],[45.6375,34.573828],[45.56084,34.574512],[45.500781,34.581592],[45.497754,34.533887],[45.459375,34.470361],[45.437598,34.415137],[45.526855,34.284668],[45.542773,34.215527],[45.528613,34.152539],[45.446094,34.044043],[45.39707,33.97085],[45.408984,33.954492],[45.473242,33.925488],[45.67373,33.68667],[45.738281,33.602832],[45.822852,33.624805],[45.854492,33.62334],[45.879395,33.609766],[45.894727,33.581543],[45.894727,33.545654],[45.873242,33.491992],[45.981055,33.470117],[46.019922,33.415723],[46.145898,33.229639],[46.141113,33.174414],[46.080762,33.086523],[46.080469,33.028223],[46.093066,32.975879],[46.112793,32.957666],[46.298242,32.950244],[46.377051,32.929248],[46.569922,32.833936],[46.789062,32.687988],[46.968555,32.568408],[47.121387,32.466602],[47.285156,32.474023],[47.329785,32.455518],[47.371289,32.42373],[47.418164,32.340088],[47.511914,32.15083],[47.591504,32.087988],[47.714551,31.936426],[47.82998,31.794434],[47.753906,31.601367],[47.679492,31.400586],[47.679492,31.141504],[47.679492,31.002393],[47.836328,30.996436],[48.010645,30.989795],[48.012012,30.823633],[48.013477,30.656445],[48.014941,30.465625],[48.066113,30.457666],[48.147559,30.416846],[48.182422,30.355029],[48.226172,30.321338],[48.278906,30.31582],[48.331055,30.285449],[48.382617,30.230176],[48.401367,30.18833],[48.387598,30.159863],[48.398633,30.109619],[48.43457,30.037598],[48.478516,30.003809],[48.546484,29.962354],[48.454199,29.938477],[48.35459,29.956738],[48.141699,30.040918],[48.072754,30.043213],[47.98252,30.011328],[47.978711,29.982812],[47.753906,30.076611],[47.672754,30.095605],[47.64375,30.097314],[47.514844,30.096484],[47.331348,30.079687],[47.223242,30.041504],[47.148242,30.000977],[47.114355,29.961328],[47.102051,29.93999],[47.043652,29.822998],[46.975977,29.672852],[46.905859,29.5375],[46.769336,29.347461],[46.69375,29.259668],[46.531445,29.09624],[46.356445,29.063672],[45.949707,29.09585],[45.498926,29.131543],[45.050293,29.16709],[44.716504,29.193604],[44.69082,29.202344],[44.360742,29.435254],[44.099609,29.619336],[43.77373,29.849219],[43.44082,30.083984],[43.103125,30.322217],[42.857715,30.495215],[42.559766,30.717773],[42.288574,30.92041],[42.074414,31.080371],[41.799707,31.220361],[41.585059,31.329736],[41.272461,31.489014],[41.022461,31.616357],[40.808398,31.725439],[40.478906,31.893359],[40.369336,31.938965],[40.027832,31.99502],[39.704102,32.042529],[39.368652,32.091748],[39.14541,32.124512],[39.292773,32.243848],[39.247461,32.350977],[39.140039,32.331201],[39.041406,32.305664],[38.981641,32.472559],[39.057813,32.493164],[38.987402,32.710693],[38.914844,32.934668],[38.84502,33.150879],[38.773535,33.372217],[39.056738,33.514014],[39.268359,33.62002],[39.564453,33.768359],[39.85,33.911377],[40.121973,34.047656],[40.421484,34.197754],[40.689453,34.332031],[40.935059,34.386572],[40.987012,34.429053],[41.099023,34.612305],[41.194727,34.768994],[41.199219,34.805322],[41.199609,35.027393],[41.216406,35.288184],[41.24834,35.42749],[41.30332,35.550635],[41.354102,35.64043],[41.359375,35.724609],[41.352637,35.809961],[41.300195,35.938965],[41.245605,36.073389],[41.251758,36.203027],[41.261816,36.272461],[41.295996,36.38335],[41.354199,36.464404],[41.416797,36.514648],[41.650195,36.566406],[41.788574,36.597168],[41.974023,36.74082],[42.083984,36.826025],[42.237305,36.961133],[42.350098,37.060596],[42.359082,37.09502],[42.358984,37.108594]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":3,"LABELRANK":2,"SOVEREIGNT":"Iran","SOV_A3":"IRN","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Iran","ADM0_A3":"IRN","GEOU_DIF":0,"GEOUNIT":"Iran","GU_A3":"IRN","SU_DIF":0,"SUBUNIT":"Iran","SU_A3":"IRN","BRK_DIFF":0,"NAME":"Iran","NAME_LONG":"Iran","BRK_A3":"IRN","BRK_NAME":"Iran","BRK_GROUP":null,"ABBREV":"Iran","POSTAL":"IRN","FORMAL_EN":"Islamic Republic of Iran","FORMAL_FR":null,"NAME_CIAWF":"Iran","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Iran, Islamic Rep.","NAME_ALT":null,"MAPCOLOR7":4,"MAPCOLOR8":3,"MAPCOLOR9":4,"MAPCOLOR13":13,"POP_EST":82913906,"POP_RANK":16,"POP_YEAR":2019,"GDP_MD":453996,"GDP_YEAR":2018,"ECONOMY":"5. Emerging region: G20","INCOME_GRP":"3. Upper middle income","FIPS_10":"IR","ISO_A2":"IR","ISO_A2_EH":"IR","ISO_A3":"IRN","ISO_A3_EH":"IRN","ISO_N3":"364","ISO_N3_EH":"364","UN_A3":"364","WB_A2":"IR","WB_A3":"IRN","WOE_ID":23424851,"WOE_ID_EH":23424851,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"IRN","ADM0_DIFF":null,"ADM0_TLC":"IRN","ADM0_A3_US":"IRN","ADM0_A3_FR":"IRN","ADM0_A3_RU":"IRN","ADM0_A3_ES":"IRN","ADM0_A3_CN":"IRN","ADM0_A3_TW":"IRN","ADM0_A3_IN":"IRN","ADM0_A3_NP":"IRN","ADM0_A3_PK":"IRN","ADM0_A3_DE":"IRN","ADM0_A3_GB":"IRN","ADM0_A3_BR":"IRN","ADM0_A3_IL":"IRN","ADM0_A3_PS":"IRN","ADM0_A3_SA":"IRN","ADM0_A3_EG":"IRN","ADM0_A3_MA":"IRN","ADM0_A3_PT":"IRN","ADM0_A3_AR":"IRN","ADM0_A3_JP":"IRN","ADM0_A3_KO":"IRN","ADM0_A3_VN":"IRN","ADM0_A3_TR":"IRN","ADM0_A3_ID":"IRN","ADM0_A3_PL":"IRN","ADM0_A3_GR":"IRN","ADM0_A3_IT":"IRN","ADM0_A3_NL":"IRN","ADM0_A3_SE":"IRN","ADM0_A3_BD":"IRN","ADM0_A3_UA":"IRN","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Asia","REGION_UN":"Asia","SUBREGION":"Southern Asia","REGION_WB":"Middle East & North Africa","NAME_LEN":4,"LONG_LEN":4,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":2.5,"MAX_LABEL":6.7,"LABEL_X":54.931495,"LABEL_Y":32.166225,"NE_ID":1159320881,"WIKIDATAID":"Q794","NAME_AR":"إيران","NAME_BN":"ইরান","NAME_DE":"Iran","NAME_EN":"Iran","NAME_ES":"Irán","NAME_FA":"ایران","NAME_FR":"Iran","NAME_EL":"Ιράν","NAME_HE":"איראן","NAME_HI":"ईरान","NAME_HU":"Irán","NAME_ID":"Iran","NAME_IT":"Iran","NAME_JA":"イラン","NAME_KO":"이란","NAME_NL":"Iran","NAME_PL":"Iran","NAME_PT":"Irão","NAME_RU":"Иран","NAME_SV":"Iran","NAME_TR":"İran","NAME_UK":"Іран","NAME_UR":"ایران","NAME_VI":"Iran","NAME_ZH":"伊朗","NAME_ZHT":"伊朗","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[44.023242,25.1021,63.305176,39.768555],"geometry":{"type":"MultiPolygon","coordinates":[[[[56.187988,26.921143],[56.094922,26.801172],[55.954297,26.701123],[55.894141,26.732275],[55.847656,26.730811],[55.747266,26.69248],[55.674609,26.68584],[55.543164,26.617529],[55.42373,26.583105],[55.34043,26.585742],[55.311523,26.592627],[55.29502,26.639209],[55.296484,26.657568],[55.346973,26.647949],[55.531738,26.71001],[55.762598,26.811963],[55.78457,26.857178],[55.747461,26.930957],[55.757617,26.947656],[55.907129,26.909814],[56.074121,26.98335],[56.213965,27.003271],[56.279395,26.9521],[56.187988,26.921143]]],[[[53.91416,37.343555],[54.191602,37.332471],[54.299805,37.353613],[54.458691,37.407568],[54.578906,37.440234],[54.639648,37.444727],[54.699414,37.470166],[54.745215,37.501904],[54.848633,37.722656],[54.900098,37.77793],[55.075586,37.90249],[55.224707,37.981348],[55.380859,38.051123],[55.578418,38.099756],[55.841309,38.094629],[56.050293,38.077539],[56.171191,38.078369],[56.228809,38.073389],[56.27207,38.08042],[56.296973,38.094824],[56.324121,38.191113],[56.366895,38.22251],[56.440625,38.249414],[56.544043,38.249609],[56.669922,38.256641],[56.774609,38.250049],[56.906641,38.213037],[57.079004,38.209961],[57.193555,38.216406],[57.260156,38.17959],[57.308105,38.130371],[57.331445,38.089307],[57.336719,38.03291],[57.335742,37.989941],[57.353711,37.97334],[57.423828,37.947705],[57.520996,37.928467],[57.710547,37.905273],[57.888184,37.86084],[57.980566,37.830469],[58.108789,37.783057],[58.261621,37.66582],[58.318164,37.647217],[58.386719,37.635352],[58.435742,37.638525],[58.550488,37.688184],[58.650195,37.651562],[58.700781,37.65625],[58.81543,37.683496],[58.937207,37.649658],[59.24082,37.520752],[59.274121,37.52373],[59.301758,37.510645],[59.326953,37.481152],[59.344727,37.444727],[59.367383,37.33374],[59.45498,37.252832],[59.562207,37.178906],[59.687207,37.138477],[59.948633,37.041602],[60.062793,36.962891],[60.17832,36.829443],[60.320703,36.653564],[60.341309,36.637646],[60.70791,36.642969],[61.119629,36.642578],[61.169922,36.572266],[61.160352,36.432715],[61.175098,36.289697],[61.212012,36.190527],[61.212402,36.099121],[61.182617,36.052832],[61.159473,35.999902],[61.15293,35.976758],[61.205859,35.943701],[61.252148,35.867627],[61.258691,35.761816],[61.235547,35.705566],[61.238867,35.659277],[61.262012,35.61958],[61.281836,35.553418],[61.278516,35.51377],[61.245508,35.474072],[61.225684,35.424463],[61.199219,35.361621],[61.189258,35.312012],[61.139648,35.288867],[61.1,35.272314],[61.106641,35.209473],[61.126465,35.156543],[61.149609,35.09375],[61.123145,35.050732],[61.106641,35.001123],[61.070215,34.921729],[61.080078,34.855615],[61.04043,34.799365],[60.99082,34.749756],[60.957813,34.710059],[60.951172,34.653857],[60.914746,34.633984],[60.845313,34.587695],[60.802344,34.554639],[60.739453,34.544727],[60.72627,34.518262],[60.736133,34.491797],[60.762598,34.475244],[60.803906,34.418018],[60.889453,34.319434],[60.642676,34.307178],[60.570215,34.219629],[60.485742,34.094775],[60.527051,33.841992],[60.485938,33.711914],[60.51084,33.638916],[60.573828,33.58833],[60.65459,33.5604],[60.806445,33.558691],[60.906934,33.538965],[60.916992,33.505225],[60.859277,33.45625],[60.766895,33.363818],[60.718066,33.323535],[60.560547,33.137842],[60.561914,33.058789],[60.576563,32.994873],[60.644531,32.794385],[60.710449,32.6],[60.829297,32.249414],[60.827246,32.167969],[60.789941,31.987109],[60.7875,31.877197],[60.804297,31.734473],[60.791602,31.660596],[60.820703,31.495166],[60.854102,31.483252],[61.110742,31.451123],[61.346484,31.421631],[61.660156,31.382422],[61.755078,31.285303],[61.814258,31.072559],[61.81084,30.913281],[61.78418,30.831934],[61.559473,30.599365],[61.331641,30.363721],[61.104102,30.128418],[60.843359,29.858691],[61.03418,29.663428],[61.152148,29.542725],[61.318359,29.372607],[61.339453,29.331787],[61.337891,29.26499],[61.508594,29.006055],[61.56875,28.870898],[61.623047,28.791602],[61.758008,28.667676],[61.889844,28.546533],[62.033008,28.491016],[62.130566,28.478809],[62.353027,28.414746],[62.433887,28.363867],[62.564551,28.235156],[62.717578,28.252783],[62.749414,28.252881],[62.758008,28.243555],[62.7625,28.202051],[62.739746,28.002051],[62.782324,27.800537],[62.812012,27.497021],[62.800879,27.444531],[62.764258,27.356738],[62.7625,27.300195],[62.752734,27.265625],[62.762988,27.250195],[62.811621,27.229443],[62.91543,27.218408],[63.166797,27.25249],[63.196094,27.243945],[63.25625,27.20791],[63.301563,27.151465],[63.305176,27.124561],[63.24209,27.077686],[63.231445,26.998145],[63.250391,26.879248],[63.241602,26.864746],[63.186133,26.837598],[63.168066,26.665576],[63.157813,26.649756],[63.092969,26.632324],[62.786621,26.643896],[62.751563,26.63916],[62.636426,26.593652],[62.439258,26.561035],[62.385059,26.542627],[62.312305,26.490869],[62.259668,26.42749],[62.249609,26.369238],[62.239355,26.357031],[62.125977,26.368994],[62.089063,26.318262],[61.869824,26.242432],[61.842383,26.225928],[61.809961,26.165283],[61.780762,25.99585],[61.754395,25.843359],[61.737695,25.821094],[61.668652,25.768994],[61.661816,25.75127],[61.671387,25.692383],[61.640137,25.584619],[61.61543,25.286133],[61.587891,25.202344],[61.533105,25.195508],[61.490332,25.153662],[61.412207,25.1021],[61.242969,25.141992],[61.108594,25.183887],[60.663867,25.282227],[60.615137,25.329834],[60.5875,25.413525],[60.510547,25.437061],[60.400195,25.311572],[60.024707,25.384131],[59.89707,25.361816],[59.818359,25.400879],[59.616016,25.403271],[59.456055,25.481494],[59.227246,25.427734],[59.046094,25.417285],[58.797852,25.55459],[58.530859,25.592432],[58.314258,25.580859],[58.20293,25.591602],[58.022363,25.64082],[57.936621,25.69165],[57.796094,25.653027],[57.73252,25.724902],[57.33457,25.791553],[57.260938,25.918848],[57.205566,26.037207],[57.201367,26.158838],[57.104297,26.371436],[57.071973,26.680078],[57.036035,26.800684],[56.982227,26.905469],[56.910449,26.99458],[56.812891,27.08999],[56.728125,27.127686],[56.356152,27.200244],[56.284375,27.190625],[56.118066,27.143115],[55.941113,27.037598],[55.650293,26.977539],[55.591602,26.932129],[55.518555,26.829932],[55.424023,26.770557],[55.294141,26.785937],[55.15459,26.725391],[54.895801,26.556689],[54.759277,26.505078],[54.644922,26.508936],[54.52207,26.58916],[54.24707,26.696631],[54.069336,26.732373],[53.822559,26.707715],[53.705762,26.725586],[53.507129,26.851758],[53.45498,26.943262],[53.341699,27.004492],[52.98252,27.141943],[52.691602,27.323389],[52.638184,27.391992],[52.602637,27.493359],[52.475879,27.616504],[52.191895,27.717285],[52.030762,27.824414],[51.841992,27.848242],[51.666309,27.844971],[51.589063,27.864209],[51.518555,27.91001],[51.278906,28.131348],[51.276074,28.218848],[51.128418,28.435156],[51.093848,28.512109],[51.062012,28.726123],[51.021191,28.78208],[50.866992,28.870166],[50.842969,28.927832],[50.875781,29.004395],[50.875781,29.062695],[50.795508,29.117432],[50.675195,29.146582],[50.646094,29.212207],[50.667969,29.339844],[50.649609,29.420068],[50.543555,29.547998],[50.386914,29.679053],[50.230176,29.8729],[50.168945,29.92124],[50.128906,30.048096],[50.071582,30.198535],[49.983105,30.209375],[49.554883,30.028955],[49.42998,30.130469],[49.054297,30.306934],[49.028125,30.333447],[49.001953,30.373926],[49.049023,30.397266],[49.096191,30.406787],[49.190332,30.375391],[49.247266,30.4125],[49.224512,30.472314],[49.130371,30.509424],[49.001953,30.506543],[49.037109,30.450488],[48.916797,30.397266],[48.891211,30.327637],[48.908691,30.241455],[48.919141,30.120898],[48.870117,30.062402],[48.832422,30.035498],[48.670898,30.02832],[48.595508,29.975049],[48.546484,29.962354],[48.478516,30.003809],[48.43457,30.037598],[48.398633,30.109619],[48.387598,30.159863],[48.401367,30.18833],[48.382617,30.230176],[48.331055,30.285449],[48.278906,30.31582],[48.226172,30.321338],[48.182422,30.355029],[48.147559,30.416846],[48.066113,30.457666],[48.014941,30.465625],[48.013477,30.656445],[48.012012,30.823633],[48.010645,30.989795],[47.836328,30.996436],[47.679492,31.002393],[47.679492,31.141504],[47.679492,31.400586],[47.753906,31.601367],[47.82998,31.794434],[47.714551,31.936426],[47.591504,32.087988],[47.511914,32.15083],[47.418164,32.340088],[47.371289,32.42373],[47.329785,32.455518],[47.285156,32.474023],[47.121387,32.466602],[46.968555,32.568408],[46.789062,32.687988],[46.569922,32.833936],[46.377051,32.929248],[46.298242,32.950244],[46.112793,32.957666],[46.093066,32.975879],[46.080469,33.028223],[46.080762,33.086523],[46.141113,33.174414],[46.145898,33.229639],[46.019922,33.415723],[45.981055,33.470117],[45.873242,33.491992],[45.894727,33.545654],[45.894727,33.581543],[45.879395,33.609766],[45.854492,33.62334],[45.822852,33.624805],[45.738281,33.602832],[45.67373,33.68667],[45.473242,33.925488],[45.408984,33.954492],[45.39707,33.97085],[45.446094,34.044043],[45.528613,34.152539],[45.542773,34.215527],[45.526855,34.284668],[45.437598,34.415137],[45.459375,34.470361],[45.497754,34.533887],[45.500781,34.581592],[45.56084,34.574512],[45.6375,34.573828],[45.661523,34.612695],[45.660059,34.748779],[45.678125,34.798437],[45.920898,35.028516],[46.041797,35.080176],[46.133789,35.127637],[46.154688,35.196729],[46.135742,35.232275],[46.117773,35.284277],[46.112109,35.32168],[46.010645,35.424805],[45.975391,35.476807],[45.971094,35.52417],[45.99502,35.608105],[46.037402,35.673145],[46.180957,35.711377],[46.2625,35.744141],[46.273438,35.773242],[46.16748,35.820557],[45.941406,35.8354],[45.776367,35.821826],[45.723438,35.83667],[45.64502,35.928369],[45.561621,35.977197],[45.483789,36.008545],[45.407715,36.002783],[45.361621,36.015332],[45.350879,36.054639],[45.241113,36.355957],[45.206543,36.397168],[45.155273,36.407373],[45.112402,36.409277],[45.083789,36.430029],[45.053125,36.471631],[45.031055,36.526074],[45.029395,36.597559],[45.033984,36.658887],[45.019238,36.698389],[44.981445,36.737695],[44.927832,36.765918],[44.880859,36.799316],[44.798438,37.063867],[44.76543,37.13501],[44.765137,37.142432],[44.766699,37.156348],[44.758301,37.21709],[44.796777,37.269775],[44.794141,37.290381],[44.715137,37.357129],[44.604102,37.42373],[44.574023,37.4354],[44.573145,37.506396],[44.577148,37.560205],[44.567188,37.608643],[44.546094,37.636328],[44.545313,37.658154],[44.589941,37.710352],[44.56123,37.744629],[44.397754,37.829248],[44.33623,37.871777],[44.222949,37.880176],[44.211328,37.908057],[44.228906,37.967187],[44.267969,38.038818],[44.329395,38.109277],[44.348926,38.146484],[44.372754,38.209717],[44.380859,38.25459],[44.449609,38.317773],[44.449902,38.334229],[44.430859,38.356787],[44.375781,38.36958],[44.319629,38.374707],[44.298535,38.386279],[44.29082,38.420117],[44.297852,38.557812],[44.280176,38.640674],[44.257031,38.700635],[44.27168,38.836035],[44.232422,38.863232],[44.170801,38.934375],[44.144531,38.994385],[44.158789,39.016748],[44.171875,39.05625],[44.180566,39.108057],[44.178027,39.144824],[44.121289,39.180615],[44.079102,39.218311],[44.074316,39.259961],[44.05752,39.31084],[44.033789,39.351025],[44.023242,39.377441],[44.043945,39.392969],[44.124023,39.405225],[44.24043,39.396777],[44.335449,39.396045],[44.389355,39.422119],[44.455957,39.666748],[44.516699,39.73125],[44.587109,39.768555],[44.725,39.681738],[44.782129,39.651074],[44.817188,39.650439],[44.838184,39.629102],[45.000195,39.423535],[45.07168,39.362891],[45.113086,39.311572],[45.141211,39.254297],[45.190625,39.215625],[45.255957,39.194678],[45.335547,39.13916],[45.389258,39.095898],[45.479688,39.00625],[45.575,38.972803],[45.921875,38.90791],[46.114453,38.877783],[46.170117,38.869043],[46.317773,38.912646],[46.490625,38.906689],[46.554785,38.904395],[46.783203,39.087402],[46.852539,39.148438],[46.988867,39.180176],[47.06543,39.252881],[47.188379,39.340967],[47.338477,39.423877],[47.476172,39.49834],[47.581836,39.543359],[47.772852,39.648584],[47.892285,39.685059],[47.995898,39.683936],[48.151074,39.560547],[48.281738,39.44834],[48.322168,39.399072],[48.257227,39.35498],[48.136035,39.312354],[48.112891,39.281104],[48.104395,39.241113],[48.10918,39.202832],[48.125488,39.171631],[48.274121,39.099121],[48.291016,39.059277],[48.29209,39.018848],[48.275098,38.993604],[48.241992,38.978955],[48.138574,38.958643],[48.050098,38.93501],[48.019336,38.911816],[47.992676,38.884277],[47.996484,38.85376],[48.023242,38.819043],[48.204688,38.724121],[48.225195,38.689209],[48.261328,38.642285],[48.305566,38.613477],[48.38125,38.605615],[48.417383,38.58623],[48.592676,38.411084],[48.635547,38.39873],[48.840332,38.437256],[48.86875,38.435498],[48.870703,38.392529],[48.901367,38.143652],[48.925098,38.015137],[48.959961,37.890137],[49.015332,37.776074],[49.080957,37.667578],[49.171191,37.600586],[49.372461,37.519971],[49.470117,37.49668],[49.726953,37.480518],[49.980664,37.444873],[50.130469,37.407129],[50.17627,37.380518],[50.214063,37.3396],[50.337891,37.14917],[50.533203,37.013672],[50.927441,36.810205],[51.118555,36.742578],[51.762012,36.614502],[52.190137,36.621729],[53.374121,36.86875],[53.767676,36.930322],[53.91543,36.930322],[53.827441,36.881201],[53.679492,36.853125],[53.76875,36.818457],[53.90625,36.812695],[53.970117,36.818311],[54.016211,36.849658],[54.023828,36.901318],[54.017188,36.95249],[53.951953,37.181738],[53.91416,37.343555]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":3,"LABELRANK":2,"SOVEREIGNT":"Indonesia","SOV_A3":"IDN","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Indonesia","ADM0_A3":"IDN","GEOU_DIF":0,"GEOUNIT":"Indonesia","GU_A3":"IDN","SU_DIF":0,"SUBUNIT":"Indonesia","SU_A3":"IDN","BRK_DIFF":0,"NAME":"Indonesia","NAME_LONG":"Indonesia","BRK_A3":"IDN","BRK_NAME":"Indonesia","BRK_GROUP":null,"ABBREV":"Indo.","POSTAL":"INDO","FORMAL_EN":"Republic of Indonesia","FORMAL_FR":null,"NAME_CIAWF":"Indonesia","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Indonesia","NAME_ALT":null,"MAPCOLOR7":6,"MAPCOLOR8":6,"MAPCOLOR9":6,"MAPCOLOR13":11,"POP_EST":270625568,"POP_RANK":17,"POP_YEAR":2019,"GDP_MD":1119190,"GDP_YEAR":2019,"ECONOMY":"4. Emerging region: MIKT","INCOME_GRP":"4. Lower middle income","FIPS_10":"ID","ISO_A2":"ID","ISO_A2_EH":"ID","ISO_A3":"IDN","ISO_A3_EH":"IDN","ISO_N3":"360","ISO_N3_EH":"360","UN_A3":"360","WB_A2":"ID","WB_A3":"IDN","WOE_ID":23424846,"WOE_ID_EH":23424846,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"IDN","ADM0_DIFF":null,"ADM0_TLC":"IDN","ADM0_A3_US":"IDN","ADM0_A3_FR":"IDN","ADM0_A3_RU":"IDN","ADM0_A3_ES":"IDN","ADM0_A3_CN":"IDN","ADM0_A3_TW":"IDN","ADM0_A3_IN":"IDN","ADM0_A3_NP":"IDN","ADM0_A3_PK":"IDN","ADM0_A3_DE":"IDN","ADM0_A3_GB":"IDN","ADM0_A3_BR":"IDN","ADM0_A3_IL":"IDN","ADM0_A3_PS":"IDN","ADM0_A3_SA":"IDN","ADM0_A3_EG":"IDN","ADM0_A3_MA":"IDN","ADM0_A3_PT":"IDN","ADM0_A3_AR":"IDN","ADM0_A3_JP":"IDN","ADM0_A3_KO":"IDN","ADM0_A3_VN":"IDN","ADM0_A3_TR":"IDN","ADM0_A3_ID":"IDN","ADM0_A3_PL":"IDN","ADM0_A3_GR":"IDN","ADM0_A3_IT":"IDN","ADM0_A3_NL":"IDN","ADM0_A3_SE":"IDN","ADM0_A3_BD":"IDN","ADM0_A3_UA":"IDN","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Asia","REGION_UN":"Asia","SUBREGION":"South-Eastern Asia","REGION_WB":"East Asia & Pacific","NAME_LEN":9,"LONG_LEN":9,"ABBREV_LEN":5,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":1.7,"MAX_LABEL":6.7,"LABEL_X":101.892949,"LABEL_Y":-0.954404,"NE_ID":1159320845,"WIKIDATAID":"Q252","NAME_AR":"إندونيسيا","NAME_BN":"ইন্দোনেশিয়া","NAME_DE":"Indonesien","NAME_EN":"Indonesia","NAME_ES":"Indonesia","NAME_FA":"اندونزی","NAME_FR":"Indonésie","NAME_EL":"Ινδονησία","NAME_HE":"אינדונזיה","NAME_HI":"इंडोनेशिया","NAME_HU":"Indonézia","NAME_ID":"Indonesia","NAME_IT":"Indonesia","NAME_JA":"インドネシア","NAME_KO":"인도네시아","NAME_NL":"Indonesië","NAME_PL":"Indonezja","NAME_PT":"Indonésia","NAME_RU":"Индонезия","NAME_SV":"Indonesien","NAME_TR":"Endonezya","NAME_UK":"Індонезія","NAME_UR":"انڈونیشیا","NAME_VI":"Indonesia","NAME_ZH":"印度尼西亚","NAME_ZHT":"印度尼西亞","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[95.206641,-10.909668,140.976172,5.907031],"geometry":{"type":"MultiPolygon","coordinates":[[[[97.481543,1.465088],[97.69834,1.18374],[97.786426,1.145898],[97.903223,1.018262],[97.931934,0.973926],[97.902051,0.884229],[97.876465,0.62832],[97.82041,0.564453],[97.683984,0.596094],[97.68252,0.641064],[97.603906,0.833887],[97.46123,0.941406],[97.405371,0.946973],[97.368848,1.056934],[97.296875,1.187354],[97.079199,1.425488],[97.244238,1.423633],[97.324414,1.481641],[97.342773,1.52793],[97.355957,1.539746],[97.481543,1.465088]]],[[[99.163867,-1.77793],[99.071777,-1.783496],[98.874316,-1.663672],[98.827734,-1.609961],[98.816309,-1.538281],[98.626953,-1.261328],[98.601758,-1.197852],[98.676074,-0.970508],[98.869043,-0.915625],[98.932617,-0.954004],[98.954785,-1.05625],[99.065039,-1.240723],[99.101465,-1.340137],[99.128906,-1.38418],[99.14043,-1.418457],[99.130664,-1.442383],[99.210352,-1.559277],[99.267285,-1.627734],[99.271484,-1.738477],[99.163867,-1.77793]]],[[[116.64082,-8.613867],[116.514258,-8.820996],[116.559375,-8.854395],[116.586523,-8.886133],[116.377246,-8.929004],[116.289844,-8.906152],[116.239355,-8.912109],[116.026758,-8.873145],[115.874609,-8.825586],[115.857324,-8.787891],[115.869336,-8.742773],[115.914453,-8.758008],[116.031641,-8.765234],[116.076465,-8.744922],[116.077734,-8.611328],[116.061133,-8.437402],[116.219824,-8.295215],[116.304297,-8.237988],[116.401563,-8.204199],[116.646973,-8.282715],[116.6875,-8.304102],[116.718945,-8.336035],[116.734082,-8.386914],[116.64082,-8.613867]]],[[[115.447852,-8.155176],[115.549414,-8.208301],[115.690918,-8.363574],[115.704297,-8.407129],[115.661426,-8.448242],[115.559961,-8.51416],[115.333789,-8.615723],[115.29502,-8.663672],[115.247168,-8.75752],[115.236133,-8.797559],[115.220215,-8.819531],[115.194238,-8.835449],[115.144922,-8.849023],[115.091504,-8.829395],[115.139746,-8.768945],[115.141602,-8.696875],[115.105664,-8.629492],[115.055078,-8.573047],[114.952051,-8.496387],[114.84209,-8.428516],[114.731348,-8.393945],[114.613184,-8.37832],[114.570898,-8.34541],[114.501758,-8.26084],[114.478906,-8.214746],[114.467578,-8.166309],[114.475293,-8.119434],[114.504297,-8.116602],[114.62002,-8.127734],[114.833008,-8.182617],[114.938477,-8.187109],[114.998145,-8.174414],[115.154004,-8.065723],[115.191016,-8.06748],[115.340234,-8.11543],[115.447852,-8.155176]]],[[[106.045703,-1.669434],[106.080078,-1.738281],[106.127148,-1.800195],[106.161719,-1.866992],[106.208789,-2.188672],[106.365918,-2.464844],[106.818457,-2.57334],[106.744336,-2.617969],[106.706641,-2.658008],[106.678809,-2.704004],[106.612012,-2.895508],[106.618555,-2.936133],[106.657617,-3.001172],[106.667188,-3.071777],[106.610547,-3.071387],[106.546777,-3.055566],[106.496094,-3.029004],[106.44873,-2.994238],[106.397363,-2.966602],[106.341602,-2.94873],[106.250098,-2.894043],[106.125879,-2.855371],[105.99873,-2.824902],[105.937207,-2.743555],[105.908008,-2.643262],[105.939063,-2.493457],[105.907617,-2.451953],[105.862402,-2.41543],[105.806836,-2.307422],[105.78584,-2.181348],[105.705273,-2.132617],[105.599023,-2.103125],[105.552734,-2.079004],[105.342871,-2.125098],[105.292578,-2.114258],[105.247656,-2.079395],[105.133398,-2.042578],[105.137695,-1.972656],[105.191016,-1.916895],[105.316211,-1.860547],[105.374805,-1.813184],[105.386523,-1.750781],[105.364258,-1.705078],[105.373145,-1.657324],[105.412695,-1.611035],[105.45957,-1.574707],[105.585449,-1.526758],[105.64043,-1.610449],[105.667578,-1.680371],[105.700879,-1.731055],[105.754492,-1.658691],[105.72041,-1.533887],[105.816113,-1.506055],[105.910059,-1.50498],[105.980957,-1.53916],[106.027344,-1.593164],[106.045703,-1.669434]]],[[[123.179785,-4.551172],[123.203027,-4.766211],[123.195703,-4.822656],[123.139453,-4.739941],[123.119238,-4.723438],[123.103809,-4.739941],[123.083887,-4.749023],[123.055176,-4.748242],[123.017969,-4.831738],[123.014648,-4.910254],[122.986523,-4.963086],[122.97168,-5.138477],[122.981055,-5.185742],[123.024609,-5.162402],[123.051465,-5.156445],[123.149902,-5.224023],[123.201953,-5.27334],[123.187305,-5.333008],[123.120703,-5.393164],[123.043359,-5.419336],[122.985742,-5.393555],[122.96875,-5.405762],[122.934668,-5.436719],[122.908789,-5.477441],[122.916211,-5.519336],[122.850195,-5.637988],[122.812109,-5.671289],[122.733105,-5.634961],[122.684375,-5.666211],[122.64502,-5.663379],[122.584961,-5.544629],[122.586426,-5.488867],[122.642188,-5.42627],[122.642578,-5.381152],[122.670117,-5.330859],[122.731445,-5.261914],[122.766504,-5.210156],[122.767578,-5.177246],[122.793652,-5.052441],[122.803809,-5.000098],[122.821484,-4.944434],[122.849414,-4.83125],[122.85332,-4.618359],[122.946875,-4.442676],[123.038281,-4.394727],[123.074609,-4.386914],[123.068945,-4.433594],[123.179785,-4.551172]]],[[[122.645117,-5.269434],[122.619336,-5.33584],[122.563867,-5.3875],[122.519727,-5.391211],[122.473633,-5.380664],[122.391992,-5.335449],[122.371289,-5.383105],[122.307031,-5.380957],[122.283105,-5.319531],[122.329004,-5.137695],[122.396289,-5.069824],[122.390039,-4.998535],[122.334473,-4.846582],[122.368945,-4.767188],[122.524414,-4.707129],[122.659961,-4.633887],[122.701953,-4.618652],[122.739746,-4.675],[122.759863,-4.933887],[122.614062,-5.138672],[122.645117,-5.269434]]],[[[108.316016,3.689648],[108.17959,3.653076],[108.100391,3.704541],[108.186133,3.767969],[108.216406,3.772168],[108.236133,3.78457],[108.243262,3.810352],[108.088477,3.8521],[108.044531,3.888965],[108.002344,3.982861],[108.003516,4.042578],[108.201953,4.200488],[108.24834,4.217139],[108.255566,4.151758],[108.392871,3.986182],[108.398828,3.875977],[108.393555,3.836182],[108.316016,3.689648]]],[[[108.207227,-2.997656],[108.191797,-3.103027],[108.167285,-3.142773],[108.083594,-3.194922],[108.055273,-3.226855],[107.977148,-3.221777],[107.967285,-3.166602],[107.941113,-3.129297],[107.858203,-3.086328],[107.836621,-3.09668],[107.821777,-3.160742],[107.65957,-3.205566],[107.614453,-3.209375],[107.636719,-3.124805],[107.594922,-3.058398],[107.591602,-2.976562],[107.583887,-2.940723],[107.563477,-2.920117],[107.604883,-2.863086],[107.598145,-2.799707],[107.641602,-2.731543],[107.666309,-2.566309],[107.837793,-2.530273],[107.874707,-2.559668],[108.074414,-2.596973],[108.215137,-2.696973],[108.290625,-2.82998],[108.207227,-2.997656]]],[[[135.383008,-0.651367],[135.595703,-0.69043],[135.673242,-0.688281],[135.749023,-0.73252],[135.841211,-0.711621],[135.893555,-0.725781],[136.06875,-0.877734],[136.154688,-0.97832],[136.282617,-1.064648],[136.375293,-1.094043],[136.305371,-1.173145],[136.164746,-1.214746],[136.110352,-1.216797],[136.002539,-1.169727],[135.915039,-1.178418],[135.83877,-1.119434],[135.825586,-1.02832],[135.74707,-0.823047],[135.645703,-0.881934],[135.523828,-0.787305],[135.491113,-0.785059],[135.483398,-0.801074],[135.431641,-0.768848],[135.387695,-0.704883],[135.383008,-0.651367]]],[[[135.474219,-1.591797],[135.869141,-1.641992],[135.976172,-1.635547],[136.201563,-1.65498],[136.389648,-1.721582],[136.718555,-1.733984],[136.816699,-1.753809],[136.892578,-1.799707],[136.708594,-1.837695],[136.621875,-1.873047],[136.46084,-1.89043],[136.326074,-1.872461],[136.228125,-1.893652],[136.192578,-1.85918],[136.049219,-1.824121],[135.865723,-1.752148],[135.487598,-1.668359],[135.469727,-1.616211],[135.474219,-1.591797]]],[[[130.813281,-0.004102],[130.986523,-0.046582],[131.025781,-0.039941],[131.276855,-0.149805],[131.316895,-0.204297],[131.302734,-0.241113],[131.339746,-0.290332],[131.25752,-0.365723],[131.217871,-0.374121],[131.177734,-0.345996],[131.097754,-0.330078],[131.005371,-0.360742],[130.946484,-0.337598],[130.89668,-0.268457],[130.808398,-0.226465],[130.683496,-0.080664],[130.622168,-0.085938],[130.638281,-0.142969],[130.691309,-0.180566],[130.761328,-0.291406],[130.801563,-0.302148],[130.843164,-0.29834],[130.899219,-0.344434],[130.896289,-0.416016],[130.750195,-0.443848],[130.699805,-0.391602],[130.688672,-0.296582],[130.606543,-0.328613],[130.574902,-0.361816],[130.550781,-0.366406],[130.496289,-0.267383],[130.340527,-0.262305],[130.236621,-0.209668],[130.287695,-0.154688],[130.294922,-0.101465],[130.3625,-0.072852],[130.430957,-0.098486],[130.499609,-0.060107],[130.54834,-0.069922],[130.584277,-0.04541],[130.722363,-0.029834],[130.813281,-0.004102]]],[[[128.453906,2.051758],[128.295898,2.034717],[128.259961,2.08252],[128.217969,2.297461],[128.330371,2.469336],[128.47207,2.570508],[128.568652,2.596094],[128.602148,2.597607],[128.688477,2.473682],[128.623242,2.224414],[128.547559,2.09707],[128.453906,2.051758]]],[[[128.153027,-1.660547],[128.091797,-1.701172],[128.06123,-1.712402],[127.91377,-1.685156],[127.741016,-1.69082],[127.561621,-1.728516],[127.457617,-1.69668],[127.392188,-1.644824],[127.39502,-1.589844],[127.456738,-1.453711],[127.591797,-1.350781],[127.64668,-1.332422],[127.742969,-1.360254],[127.905078,-1.439063],[128.032813,-1.531641],[128.14873,-1.603711],[128.153027,-1.660547]]],[[[126.055078,-2.45127],[126.037891,-2.469434],[125.97793,-2.41543],[125.937598,-2.262793],[125.903223,-2.222168],[125.862891,-2.077148],[125.873242,-2.035938],[125.922754,-1.974805],[125.962793,-1.975781],[125.992676,-2.011816],[125.975977,-2.168066],[126.065723,-2.36582],[126.055078,-2.45127]]],[[[126.024219,-1.789746],[126.331738,-1.822852],[126.288086,-1.858887],[125.956445,-1.916602],[125.838867,-1.906152],[125.479199,-1.940039],[125.432617,-1.938086],[125.425977,-1.882227],[125.387207,-1.843066],[125.444727,-1.808984],[125.520898,-1.800879],[125.720313,-1.81377],[126.024219,-1.789746]]],[[[124.969531,-1.705469],[125.062988,-1.741016],[125.095898,-1.74082],[125.126758,-1.699316],[125.145801,-1.692578],[125.187891,-1.712891],[125.197656,-1.780273],[125.258203,-1.770898],[125.305371,-1.793945],[125.320215,-1.810059],[125.314063,-1.877148],[125.134766,-1.888965],[125.006738,-1.943066],[124.834473,-1.894434],[124.63916,-1.978223],[124.520605,-2.006934],[124.417773,-2.005176],[124.329688,-1.858887],[124.380859,-1.6875],[124.417578,-1.659277],[124.483008,-1.644336],[124.663965,-1.635938],[124.969531,-1.705469]]],[[[131.325586,-7.999512],[131.30918,-8.01084],[131.184961,-7.997852],[131.11377,-7.997363],[131.123438,-7.921875],[131.086816,-7.865039],[131.136816,-7.781738],[131.137793,-7.684863],[131.190039,-7.671875],[131.197363,-7.616699],[131.260059,-7.470508],[131.296875,-7.438086],[131.349219,-7.425391],[131.411035,-7.340137],[131.446191,-7.315332],[131.482617,-7.250684],[131.535254,-7.220605],[131.530859,-7.165137],[131.560742,-7.135742],[131.643457,-7.112793],[131.700781,-7.140234],[131.736133,-7.19707],[131.643848,-7.266895],[131.691113,-7.438867],[131.624414,-7.626172],[131.580273,-7.682227],[131.498438,-7.730664],[131.473535,-7.77666],[131.377051,-7.869141],[131.347754,-7.948047],[131.343457,-7.981445],[131.325586,-7.999512]]],[[[126.800977,-7.667871],[126.814453,-7.716504],[126.812695,-7.737891],[126.692871,-7.753516],[126.577344,-7.807617],[126.518164,-7.869922],[126.47207,-7.950391],[126.312891,-7.917676],[126.171094,-7.912305],[126.108398,-7.883984],[126.040039,-7.88584],[125.951563,-7.910938],[125.826172,-7.979297],[125.798242,-7.98457],[125.808398,-7.880664],[125.843164,-7.816699],[125.975293,-7.663379],[126.085352,-7.697363],[126.213672,-7.706738],[126.359375,-7.676758],[126.462891,-7.607813],[126.60957,-7.571777],[126.726367,-7.662207],[126.800977,-7.667871]]],[[[124.575586,-8.14082],[124.599609,-8.201758],[124.676855,-8.168066],[124.752246,-8.15957],[124.924121,-8.166016],[125.050293,-8.17959],[125.124609,-8.204785],[125.131738,-8.326465],[125.096777,-8.352832],[124.444238,-8.444629],[124.380664,-8.415137],[124.355566,-8.385938],[124.425977,-8.295801],[124.393555,-8.253027],[124.430664,-8.183203],[124.508594,-8.135449],[124.575586,-8.14082]]],[[[131.001855,-1.315527],[130.966602,-1.343457],[130.845117,-1.317285],[130.782324,-1.255469],[130.739355,-1.172559],[130.712109,-1.104395],[130.704395,-1.050195],[130.667969,-0.983984],[130.672949,-0.959766],[130.897168,-0.890039],[130.939453,-0.915332],[131.033008,-0.917578],[131.073926,-0.968262],[131.046191,-1.188184],[131.001855,-1.315527]]],[[[96.492578,5.229346],[96.615234,5.220215],[96.842676,5.274463],[96.967773,5.269141],[97.085742,5.229932],[97.19043,5.207324],[97.451172,5.236035],[97.500195,5.22832],[97.547168,5.205859],[97.5875,5.170361],[97.706738,5.040137],[97.908398,4.87998],[97.966602,4.77749],[97.999805,4.662256],[98.020703,4.635205],[98.248438,4.414551],[98.27334,4.322314],[98.241211,4.194531],[98.307324,4.092871],[98.52832,3.997559],[98.658691,3.928125],[98.686523,3.885547],[98.705762,3.834766],[98.77793,3.759424],[98.868652,3.710352],[99.151172,3.58125],[99.521484,3.311182],[99.732324,3.183057],[99.906641,2.988184],[99.969434,2.894922],[100.021289,2.794238],[100.127246,2.647607],[100.307227,2.466602],[100.352734,2.411475],[100.401172,2.331641],[100.457031,2.257422],[100.523828,2.18916],[100.603613,2.136963],[100.685254,2.120068],[100.816797,1.989258],[100.887891,1.948242],[100.87666,2.050586],[100.816895,2.140186],[100.817773,2.194238],[100.828223,2.242578],[100.877051,2.283301],[100.935938,2.294727],[101.046191,2.257471],[101.225195,2.102246],[101.300781,2.011816],[101.357617,1.887012],[101.405078,1.757422],[101.47666,1.693066],[101.575,1.670557],[101.684277,1.66123],[101.784766,1.621387],[102.019922,1.442139],[102.098047,1.35791],[102.157227,1.258887],[102.197949,1.141699],[102.22334,1.018701],[102.239062,0.990332],[102.389941,0.841992],[102.469238,0.779297],[102.566406,0.748828],[102.849414,0.715479],[102.949316,0.664209],[103.031836,0.578906],[103.066504,0.491992],[103.00752,0.415332],[102.786328,0.297754],[102.55,0.216455],[102.77959,0.244482],[102.895898,0.278613],[103.002832,0.331982],[103.108691,0.399805],[103.276563,0.494531],[103.338965,0.513721],[103.412305,0.506934],[103.478906,0.480176],[103.578711,0.387061],[103.672656,0.288916],[103.742773,0.174414],[103.786719,0.046973],[103.706445,-0.01958],[103.589453,-0.06875],[103.428516,-0.191797],[103.411621,-0.24043],[103.444434,-0.27168],[103.405176,-0.362207],[103.49541,-0.418066],[103.50918,-0.465527],[103.431152,-0.533594],[103.438574,-0.575586],[103.532715,-0.754688],[103.577539,-0.795703],[103.721094,-0.886719],[103.940039,-0.979102],[104.061133,-1.021387],[104.198535,-1.054297],[104.25752,-1.053418],[104.360547,-1.038379],[104.38125,-1.074219],[104.425684,-1.250684],[104.446875,-1.362402],[104.47832,-1.600098],[104.518555,-1.69873],[104.515918,-1.819434],[104.56875,-1.921777],[104.676367,-1.987207],[104.791016,-2.04082],[104.845215,-2.092969],[104.844531,-2.171777],[104.826074,-2.23418],[104.787305,-2.282715],[104.668457,-2.385547],[104.647266,-2.429883],[104.630566,-2.543359],[104.650781,-2.595215],[104.69834,-2.598145],[104.735742,-2.570898],[104.878418,-2.418848],[104.916992,-2.392188],[104.970801,-2.370898],[105.025879,-2.35752],[105.286523,-2.35625],[105.396973,-2.380176],[105.495313,-2.429688],[105.582031,-2.491992],[105.899121,-2.887793],[106.044336,-3.10625],[106.055762,-3.160645],[106.058398,-3.217188],[106.033691,-3.260938],[105.901465,-3.410059],[105.885059,-3.45127],[105.84375,-3.613672],[105.851562,-3.730566],[105.895508,-3.779688],[105.930469,-3.833008],[105.927734,-3.881348],[105.840625,-4.121777],[105.831445,-4.162891],[105.886523,-4.553906],[105.890527,-4.659766],[105.879297,-4.793652],[105.887207,-5.00957],[105.816113,-5.676563],[105.802734,-5.716406],[105.74834,-5.818262],[105.676562,-5.817578],[105.618555,-5.799609],[105.57793,-5.760645],[105.555566,-5.712305],[105.522656,-5.672754],[105.349414,-5.549512],[105.304004,-5.57002],[105.128125,-5.722852],[105.081348,-5.745508],[105.022656,-5.726855],[104.930273,-5.681152],[104.639551,-5.52041],[104.62168,-5.571777],[104.618164,-5.641504],[104.675977,-5.816211],[104.683984,-5.892676],[104.631055,-5.90791],[104.601562,-5.90459],[104.480859,-5.803125],[104.369531,-5.690723],[104.242969,-5.538867],[104.150488,-5.466602],[104.066797,-5.385938],[103.831445,-5.07959],[103.770312,-5.032813],[103.405664,-4.816406],[103.332129,-4.765234],[103.238867,-4.675684],[103.138672,-4.596191],[102.918945,-4.470703],[102.537695,-4.152148],[102.371973,-3.969238],[102.187695,-3.674512],[102.127539,-3.599219],[101.817871,-3.378027],[101.649023,-3.244043],[101.578613,-3.166992],[101.414258,-2.898828],[101.366211,-2.808496],[101.305664,-2.728711],[101.20625,-2.663965],[101.118555,-2.587793],[100.944434,-2.345215],[100.889551,-2.248535],[100.848047,-2.143945],[100.855273,-1.93418],[100.486523,-1.299121],[100.393945,-1.10127],[100.308203,-0.82666],[100.289062,-0.798828],[100.087891,-0.55293],[100.016699,-0.474219],[99.930664,-0.400195],[99.860059,-0.31377],[99.721289,-0.032959],[99.669824,0.045068],[99.597656,0.102441],[99.33457,0.208594],[99.236426,0.267773],[99.15918,0.351758],[99.111719,0.458936],[99.05957,0.686377],[98.935547,1.031934],[98.796387,1.494629],[98.702539,1.701953],[98.595313,1.8646],[98.564258,1.902148],[98.086523,2.195068],[98.005078,2.238184],[97.918555,2.264209],[97.79502,2.282861],[97.700781,2.358545],[97.662012,2.494287],[97.640625,2.676416],[97.616797,2.785107],[97.59082,2.846582],[97.391309,2.975293],[97.313184,3.077051],[97.247949,3.189014],[97.188379,3.275732],[96.968945,3.575146],[96.893945,3.653711],[96.800977,3.708545],[96.525391,3.766602],[96.444727,3.816309],[96.31084,3.986328],[96.230078,4.072754],[95.987988,4.263281],[95.578613,4.661963],[95.494727,4.761377],[95.431934,4.865039],[95.38125,4.976172],[95.206641,5.284033],[95.220703,5.34624],[95.24707,5.410791],[95.242969,5.464307],[95.223828,5.51709],[95.227832,5.564795],[95.27959,5.592871],[95.396094,5.628809],[95.516992,5.624609],[95.628906,5.609082],[95.737305,5.579297],[95.841309,5.514502],[96.027344,5.351172],[96.133301,5.294287],[96.250879,5.266992],[96.492578,5.229346]]],[[[122.78291,-8.611719],[122.641504,-8.647266],[122.553809,-8.680957],[122.470215,-8.725488],[122.417285,-8.734668],[122.321484,-8.738281],[122.185742,-8.730273],[122.094141,-8.744727],[121.838672,-8.860352],[121.738281,-8.87041],[121.651367,-8.89873],[121.621289,-8.853809],[121.58457,-8.820605],[121.499609,-8.812207],[121.414648,-8.814844],[121.32832,-8.916895],[121.19082,-8.895508],[121.1375,-8.904492],[121.086133,-8.925977],[121.035254,-8.935449],[120.981836,-8.92832],[120.780957,-8.848828],[120.550488,-8.801855],[120.319531,-8.820312],[120.120898,-8.776953],[120.012109,-8.810156],[119.909375,-8.857617],[119.879102,-8.807617],[119.841406,-8.763574],[119.80791,-8.697656],[119.807031,-8.622949],[119.818164,-8.570508],[119.847656,-8.522852],[119.866113,-8.473145],[119.874805,-8.419824],[119.918262,-8.445117],[119.96377,-8.435547],[120.099219,-8.377539],[120.231152,-8.289844],[120.354102,-8.257812],[120.424902,-8.248926],[120.485547,-8.266113],[120.547168,-8.259863],[120.610254,-8.24043],[120.70957,-8.307813],[120.751367,-8.321484],[120.886133,-8.32666],[121.008691,-8.365527],[121.118164,-8.423535],[121.27666,-8.47793],[121.371973,-8.550879],[121.444531,-8.577832],[121.498438,-8.585156],[121.547949,-8.575293],[121.610352,-8.526172],[121.683398,-8.505859],[121.74707,-8.506641],[121.862891,-8.493945],[121.911719,-8.482129],[121.966504,-8.455176],[122.020117,-8.471875],[122.06709,-8.49668],[122.263086,-8.624902],[122.323242,-8.62832],[122.433496,-8.600781],[122.466602,-8.566406],[122.483594,-8.513574],[122.51377,-8.469629],[122.555859,-8.431543],[122.603516,-8.402441],[122.75,-8.353125],[122.850488,-8.304395],[122.919141,-8.221875],[122.758594,-8.185938],[122.792383,-8.126563],[122.845703,-8.093262],[122.916992,-8.105566],[122.97832,-8.151953],[123.005957,-8.329102],[122.955469,-8.354102],[122.923633,-8.380957],[122.902148,-8.416309],[122.811133,-8.481152],[122.846777,-8.562207],[122.82002,-8.595703],[122.78291,-8.611719]]],[[[120.0125,-9.374707],[120.057617,-9.419727],[120.221094,-9.506348],[120.248047,-9.542871],[120.258301,-9.603125],[120.291113,-9.647852],[120.364746,-9.654688],[120.443652,-9.645605],[120.503711,-9.674023],[120.555566,-9.719043],[120.632617,-9.806445],[120.700391,-9.903125],[120.784473,-9.957031],[120.832617,-10.0375],[120.804199,-10.108496],[120.698047,-10.206641],[120.64043,-10.22793],[120.561719,-10.235645],[120.43916,-10.294043],[120.394531,-10.263477],[120.255469,-10.242285],[120.144824,-10.200098],[120.051953,-10.122852],[119.998438,-10.039746],[119.930664,-9.966504],[119.812793,-9.91748],[119.601074,-9.773535],[119.470313,-9.760547],[119.416504,-9.771094],[119.362598,-9.771777],[119.085449,-9.706934],[119.042383,-9.669043],[119.008398,-9.620508],[118.977344,-9.572852],[118.958789,-9.519336],[118.994141,-9.47207],[119.031445,-9.440234],[119.185645,-9.384473],[119.295898,-9.367188],[119.423926,-9.369824],[119.614746,-9.352441],[119.795117,-9.380469],[119.850781,-9.35957],[119.94209,-9.301465],[119.973828,-9.321582],[120.0125,-9.374707]]],[[[118.242383,-8.317773],[118.292383,-8.357227],[118.337891,-8.353516],[118.433203,-8.293262],[118.490625,-8.271484],[118.552148,-8.27041],[118.611914,-8.280664],[118.670605,-8.323438],[118.691797,-8.393457],[118.713867,-8.414941],[118.74834,-8.331152],[118.794238,-8.305859],[118.845703,-8.293066],[118.926172,-8.297656],[118.987793,-8.337695],[119.043848,-8.456738],[119.04209,-8.560938],[119.0625,-8.599805],[119.101074,-8.628223],[119.129687,-8.668164],[119.104199,-8.709961],[119.078906,-8.730469],[119.00625,-8.749609],[118.971484,-8.741211],[118.939355,-8.713086],[118.90332,-8.702734],[118.821191,-8.712109],[118.745898,-8.735449],[118.75625,-8.773633],[118.818066,-8.79082],[118.836719,-8.808887],[118.832617,-8.833398],[118.808301,-8.838281],[118.72793,-8.805273],[118.673633,-8.811914],[118.478613,-8.856445],[118.426953,-8.855469],[118.397852,-8.813379],[118.399902,-8.703711],[118.378906,-8.674609],[118.233984,-8.807813],[118.189941,-8.840527],[118.131543,-8.855957],[118.070703,-8.850586],[117.86123,-8.931445],[117.79541,-8.920117],[117.731641,-8.919922],[117.50791,-9.00752],[117.387891,-9.031934],[117.326367,-9.033691],[117.265039,-9.026172],[117.210254,-9.034082],[117.16123,-9.069238],[117.061328,-9.099023],[116.958203,-9.076367],[116.871094,-9.046191],[116.788477,-9.006348],[116.767969,-8.955469],[116.77207,-8.894336],[116.806934,-8.810938],[116.783105,-8.664648],[116.80127,-8.597949],[116.835059,-8.532422],[116.88623,-8.508301],[116.953125,-8.503418],[117.063672,-8.444434],[117.164844,-8.367188],[117.223633,-8.374512],[117.356641,-8.428516],[117.43457,-8.434961],[117.56709,-8.426367],[117.621777,-8.45957],[117.643359,-8.535547],[117.672852,-8.563281],[117.712109,-8.582617],[117.806055,-8.711133],[117.893164,-8.704395],[117.969531,-8.728027],[118.104102,-8.650293],[118.205957,-8.652148],[118.234863,-8.591895],[118.174023,-8.527539],[118.100488,-8.475195],[118.061035,-8.464258],[118.017871,-8.467383],[117.979102,-8.458887],[117.814844,-8.34209],[117.766406,-8.279004],[117.738379,-8.20459],[117.755273,-8.149512],[117.868262,-8.100879],[117.920996,-8.089063],[118.11748,-8.122266],[118.150684,-8.15],[118.202832,-8.267285],[118.242383,-8.317773]]],[[[124.888867,0.995312],[124.698145,0.825586],[124.639844,0.743555],[124.589063,0.655273],[124.514063,0.557129],[124.427539,0.470605],[124.384375,0.444971],[124.278027,0.398438],[124.216797,0.380371],[124.101367,0.374561],[123.753809,0.305518],[123.639648,0.297461],[123.525977,0.300342],[123.310449,0.317578],[123.26543,0.326611],[123.179492,0.415527],[123.08252,0.48584],[122.996875,0.493506],[122.90957,0.485986],[122.280762,0.481055],[122.060938,0.468018],[121.841992,0.436572],[121.722754,0.450879],[121.60459,0.486133],[121.515723,0.498437],[121.425781,0.494824],[121.012988,0.441699],[120.90918,0.446777],[120.700391,0.514697],[120.579004,0.52832],[120.459961,0.510303],[120.349023,0.449219],[120.307031,0.408252],[120.192285,0.268506],[120.127344,0.166553],[120.07832,0.039746],[120.036035,-0.089941],[120.013281,-0.196191],[120.012109,-0.307129],[120.031738,-0.432031],[120.062891,-0.555566],[120.097461,-0.649902],[120.240625,-0.868262],[120.269824,-0.899219],[120.425391,-0.960645],[120.517578,-1.039453],[120.605078,-1.258496],[120.667383,-1.370117],[120.728613,-1.371484],[120.796973,-1.363672],[120.91582,-1.377832],[121.033691,-1.406543],[121.148535,-1.339453],[121.212598,-1.2125],[121.276855,-1.118164],[121.431348,-0.938574],[121.519336,-0.855566],[121.575586,-0.828516],[121.632715,-0.840332],[121.681152,-0.887891],[121.737695,-0.925684],[121.853125,-0.945996],[121.969629,-0.933301],[122.093652,-0.875],[122.138086,-0.839258],[122.174902,-0.79375],[122.27998,-0.757031],[122.529688,-0.756641],[122.658789,-0.769824],[122.88877,-0.755176],[122.885547,-0.72207],[122.841113,-0.687012],[122.829492,-0.658887],[122.872266,-0.640723],[123.02041,-0.599805],[123.171484,-0.570703],[123.281445,-0.591504],[123.379687,-0.648535],[123.417383,-0.707422],[123.43418,-0.778223],[123.396289,-0.961621],[123.37793,-1.004102],[123.299609,-1.026074],[123.225781,-1.001758],[123.152734,-0.907031],[123.049414,-0.872363],[122.902832,-0.900977],[122.852539,-0.928125],[122.807422,-0.966016],[122.724609,-1.064258],[122.655664,-1.175195],[122.506641,-1.347852],[122.33418,-1.497852],[122.250684,-1.555273],[122.157617,-1.593945],[121.858594,-1.693262],[121.779883,-1.766992],[121.71875,-1.862793],[121.650977,-1.89541],[121.572656,-1.905762],[121.513867,-1.887793],[121.394727,-1.833789],[121.355469,-1.878223],[121.348828,-1.945996],[121.40752,-1.970117],[121.501953,-2.04502],[121.575,-2.150879],[121.621875,-2.173633],[121.725977,-2.208008],[121.769727,-2.240918],[121.848242,-2.331543],[121.971875,-2.542383],[122.013965,-2.656445],[122.082617,-2.749512],[122.291699,-2.907617],[122.30332,-2.952246],[122.29043,-3.004199],[122.306543,-3.051563],[122.38125,-3.142383],[122.399023,-3.200879],[122.317285,-3.275098],[122.312793,-3.382715],[122.262695,-3.527441],[122.251367,-3.57627],[122.25293,-3.62041],[122.288086,-3.661621],[122.329102,-3.694238],[122.385352,-3.711426],[122.43457,-3.739844],[122.529199,-3.852637],[122.578613,-3.882324],[122.609961,-3.923438],[122.606738,-3.984668],[122.649902,-4.020508],[122.689648,-4.084473],[122.750391,-4.1],[122.778809,-4.081641],[122.798242,-4.054199],[122.847949,-4.064551],[122.877344,-4.109082],[122.894336,-4.166309],[122.899805,-4.229395],[122.897363,-4.349121],[122.872266,-4.391992],[122.817578,-4.389941],[122.719727,-4.340723],[122.715039,-4.37627],[122.72168,-4.410742],[122.671875,-4.422168],[122.614746,-4.417383],[122.471387,-4.42207],[122.207129,-4.496387],[122.114258,-4.540234],[122.054199,-4.620117],[122.05,-4.675293],[122.073242,-4.791699],[122.038086,-4.832422],[121.916992,-4.847949],[121.748047,-4.816699],[121.645703,-4.785645],[121.588672,-4.75957],[121.514355,-4.68125],[121.486523,-4.581055],[121.541211,-4.28291],[121.556738,-4.244629],[121.583398,-4.210547],[121.611523,-4.156348],[121.618066,-4.092676],[121.537402,-4.014844],[121.41582,-3.984277],[121.312695,-3.919434],[120.914258,-3.555762],[120.891797,-3.520605],[120.890918,-3.460352],[120.906934,-3.404004],[121.037891,-3.205176],[121.054297,-3.16709],[121.070312,-3.010156],[121.066797,-2.880957],[121.052148,-2.75166],[120.990137,-2.670313],[120.879395,-2.645605],[120.765039,-2.641602],[120.653613,-2.667578],[120.543945,-2.732617],[120.341406,-2.869629],[120.261035,-2.949316],[120.254102,-3.052832],[120.300488,-3.154297],[120.360449,-3.246875],[120.392383,-3.348145],[120.436621,-3.707324],[120.435156,-3.747852],[120.383008,-3.852344],[120.3625,-4.085742],[120.38457,-4.415137],[120.420117,-4.617383],[120.40498,-4.727246],[120.310156,-4.963184],[120.281445,-5.092676],[120.279297,-5.146094],[120.390918,-5.392578],[120.416602,-5.490039],[120.430371,-5.591016],[120.311621,-5.541602],[120.256445,-5.544141],[120.200781,-5.559375],[120.077051,-5.575488],[119.951563,-5.577637],[119.907617,-5.596289],[119.818457,-5.661816],[119.764453,-5.688281],[119.717285,-5.693359],[119.557422,-5.611035],[119.463086,-5.52168],[119.376172,-5.424805],[119.360352,-5.31416],[119.390625,-5.200586],[119.433594,-5.079199],[119.519531,-4.877344],[119.515527,-4.741895],[119.544922,-4.630859],[119.594043,-4.523145],[119.611719,-4.423535],[119.623633,-4.034375],[119.611426,-3.999805],[119.493652,-3.768555],[119.480078,-3.729785],[119.479297,-3.667383],[119.491992,-3.607813],[119.494531,-3.554102],[119.46748,-3.512988],[119.419824,-3.475391],[119.362109,-3.458984],[119.240039,-3.475293],[118.994629,-3.537598],[118.922168,-3.482715],[118.867676,-3.398047],[118.832812,-3.280176],[118.8125,-3.156641],[118.821875,-3.040625],[118.858105,-2.928516],[118.828906,-2.850098],[118.783691,-2.764746],[118.783301,-2.720801],[118.808984,-2.682324],[118.85332,-2.650195],[118.90752,-2.631445],[118.958203,-2.597461],[119.092188,-2.48291],[119.135352,-2.382324],[119.138184,-2.258496],[119.172266,-2.140039],[119.24082,-2.030957],[119.321875,-1.929688],[119.348242,-1.825293],[119.308301,-1.659668],[119.324121,-1.584277],[119.310352,-1.495703],[119.308984,-1.408203],[119.35918,-1.243457],[119.508203,-0.906738],[119.653516,-0.72793],[119.711328,-0.680762],[119.786719,-0.763965],[119.844336,-0.861914],[119.845215,-0.773242],[119.829883,-0.686328],[119.77168,-0.483594],[119.721875,-0.088477],[119.73584,-0.051025],[119.786523,-0.056982],[119.838281,-0.022119],[119.865625,0.040088],[119.811719,0.186914],[119.809277,0.238672],[119.913281,0.445068],[119.998047,0.520215],[120.035156,0.566602],[120.056445,0.692529],[120.100586,0.740137],[120.156543,0.77417],[120.229785,0.86123],[120.269531,0.970801],[120.293848,0.97915],[120.322461,0.983154],[120.366504,0.887549],[120.416016,0.848682],[120.516602,0.817529],[120.602539,0.854395],[120.626465,0.902393],[120.658887,0.943652],[120.711035,0.98667],[120.754883,1.035645],[120.803613,1.149268],[120.867969,1.252832],[120.912109,1.288965],[120.96543,1.311816],[121.024609,1.325781],[121.081738,1.327637],[121.208398,1.2625],[121.281738,1.249805],[121.356738,1.254541],[121.404102,1.243604],[121.440039,1.214404],[121.472754,1.155518],[121.513281,1.104736],[121.550684,1.079687],[121.591797,1.067969],[121.867383,1.088525],[122.108203,1.031152],[122.436621,1.018066],[122.549316,0.984473],[122.657422,0.940576],[122.789844,0.862891],[122.838281,0.845703],[122.89248,0.85],[122.960059,0.922998],[123.012793,0.938965],[123.066504,0.941797],[123.278125,0.928076],[123.84668,0.838184],[123.930762,0.850439],[124.273633,1.022266],[124.41084,1.185107],[124.533691,1.230469],[124.575391,1.304053],[124.600195,1.392432],[124.64375,1.416162],[124.74668,1.441406],[124.787695,1.467578],[124.860645,1.576025],[124.94707,1.672168],[124.989258,1.701025],[125.110938,1.685693],[125.164844,1.643652],[125.233789,1.502295],[125.22168,1.478711],[125.140918,1.408398],[125.11748,1.378906],[125.028027,1.180225],[124.966797,1.082617],[124.888867,0.995312]]],[[[107.373926,-6.007617],[107.474707,-6.121777],[107.562988,-6.182715],[107.666797,-6.21582],[107.776074,-6.218945],[107.883789,-6.233301],[108.008789,-6.276953],[108.137598,-6.29668],[108.197461,-6.289062],[108.254492,-6.266602],[108.29502,-6.265039],[108.330176,-6.286035],[108.419141,-6.382812],[108.515918,-6.471191],[108.537988,-6.516211],[108.603613,-6.729199],[108.677832,-6.790527],[108.779688,-6.808301],[108.899414,-6.808398],[109.018359,-6.817285],[109.294238,-6.866992],[109.403711,-6.860156],[109.500586,-6.810156],[109.586914,-6.842578],[109.820996,-6.902441],[109.93623,-6.91582],[110.06709,-6.89873],[110.198438,-6.895117],[110.260938,-6.912402],[110.321094,-6.938379],[110.372754,-6.947754],[110.42627,-6.947266],[110.520898,-6.897266],[110.583594,-6.805664],[110.634277,-6.690137],[110.674023,-6.569824],[110.700781,-6.518066],[110.736914,-6.472363],[110.78418,-6.442676],[110.834766,-6.424219],[110.972266,-6.435645],[111.000684,-6.464746],[111.154395,-6.669043],[111.181543,-6.686719],[111.34209,-6.699512],[111.386523,-6.692871],[111.484473,-6.651855],[111.540332,-6.648242],[111.643555,-6.69873],[111.688086,-6.741699],[111.737598,-6.773438],[111.989844,-6.805957],[112.087305,-6.893359],[112.136719,-6.905078],[112.312305,-6.894434],[112.433594,-6.903027],[112.539258,-6.926465],[112.586914,-7.050586],[112.625977,-7.178027],[112.64873,-7.221289],[112.751953,-7.265039],[112.794336,-7.304492],[112.78291,-7.431641],[112.794531,-7.552441],[113.013574,-7.657715],[113.248438,-7.718164],[113.497656,-7.723828],[113.747461,-7.703027],[113.87627,-7.677246],[114.037305,-7.632129],[114.070703,-7.633008],[114.382715,-7.771094],[114.409277,-7.79248],[114.444238,-7.895605],[114.443262,-8.00459],[114.384961,-8.263281],[114.381348,-8.334277],[114.386914,-8.405176],[114.448828,-8.559277],[114.481738,-8.603809],[114.59502,-8.684766],[114.599219,-8.727246],[114.583789,-8.769629],[114.45918,-8.740527],[114.383203,-8.705371],[114.339258,-8.647363],[114.276953,-8.614648],[114.159668,-8.626465],[113.940332,-8.568359],[113.692578,-8.478027],[113.25332,-8.286719],[113.133691,-8.288281],[113.018945,-8.312695],[112.897754,-8.361426],[112.77168,-8.396094],[112.678809,-8.40918],[112.586035,-8.399609],[112.351562,-8.353613],[112.115137,-8.323926],[111.509961,-8.305078],[111.338574,-8.261719],[111.055371,-8.239551],[110.830176,-8.201953],[110.607227,-8.149414],[110.038672,-7.890527],[109.852637,-7.828418],[109.281641,-7.704883],[109.193555,-7.694922],[108.986719,-7.704102],[108.85625,-7.667871],[108.741211,-7.66709],[108.570508,-7.707227],[108.517969,-7.736035],[108.451758,-7.796973],[108.335547,-7.794043],[108.220508,-7.782324],[107.91748,-7.724121],[107.804395,-7.688379],[107.695801,-7.635547],[107.597852,-7.566699],[107.546875,-7.541895],[107.284961,-7.47168],[107.071191,-7.447461],[106.631445,-7.415527],[106.535352,-7.394238],[106.455273,-7.368652],[106.411328,-7.311719],[106.416895,-7.239355],[106.448438,-7.176758],[106.491504,-7.113867],[106.519727,-7.053711],[106.198242,-6.927832],[105.944336,-6.858984],[105.834766,-6.845801],[105.724805,-6.846094],[105.600977,-6.860352],[105.478418,-6.853711],[105.420801,-6.833203],[105.361914,-6.826172],[105.30293,-6.841016],[105.255469,-6.835254],[105.243164,-6.778027],[105.273438,-6.729395],[105.335645,-6.674121],[105.370898,-6.664355],[105.387012,-6.750781],[105.404688,-6.767969],[105.459766,-6.786914],[105.483691,-6.781543],[105.580859,-6.670996],[105.608008,-6.616699],[105.655078,-6.469531],[105.706055,-6.497949],[105.757422,-6.480371],[105.786914,-6.456934],[105.868262,-6.116406],[105.936133,-6.016992],[106.028809,-5.934277],[106.075,-5.91416],[106.16582,-5.964746],[106.349707,-5.984082],[106.459082,-6.017578],[106.56875,-6.021875],[106.675879,-6.038379],[106.825195,-6.098242],[106.87793,-6.091992],[106.931641,-6.073438],[107.011621,-6.008496],[107.046289,-5.904199],[107.162109,-5.957129],[107.331836,-5.978125],[107.373926,-6.007617]]],[[[109.628906,2.027539],[109.538965,1.896191],[109.548926,1.84834],[109.570801,1.806299],[109.63584,1.77666],[109.654004,1.614893],[109.735742,1.522949],[109.818066,1.438965],[109.878516,1.397852],[109.944922,1.338037],[109.991699,1.282568],[110.04082,1.235742],[110.114746,1.190137],[110.315234,0.995996],[110.399023,0.939062],[110.461426,0.88208],[110.505762,0.861963],[110.614746,0.878125],[110.938086,1.017334],[110.996094,1.026367],[111.101367,1.050537],[111.286719,1.043213],[111.483203,0.995752],[111.54668,0.994336],[111.607422,1.022607],[111.691309,1.014209],[111.769727,0.999463],[111.808984,1.01167],[111.923145,1.113281],[112.078516,1.143359],[112.128613,1.243604],[112.167383,1.338184],[112.185742,1.439062],[112.250684,1.479639],[112.341602,1.514746],[112.476172,1.559082],[112.942969,1.566992],[112.988281,1.547559],[112.998047,1.49624],[112.988281,1.457129],[113.006543,1.433887],[113.068652,1.431787],[113.12627,1.408105],[113.358984,1.327148],[113.458203,1.302148],[113.513184,1.308398],[113.622266,1.235937],[113.681641,1.260596],[113.760352,1.311377],[113.835254,1.379883],[113.902344,1.434277],[114,1.455273],[114.125977,1.452344],[114.274707,1.470898],[114.387109,1.500049],[114.5125,1.452002],[114.545898,1.467139],[114.56748,1.51416],[114.632227,1.617041],[114.660937,1.686279],[114.686133,1.819043],[114.703516,1.850781],[114.751074,1.868994],[114.8,1.893945],[114.812695,1.933789],[114.830566,1.980029],[114.81582,2.018945],[114.787988,2.051611],[114.758691,2.162402],[114.768359,2.212939],[114.786426,2.250488],[114.836328,2.269385],[114.969141,2.35083],[115.086523,2.446143],[115.150781,2.49292],[115.179102,2.523193],[115.180859,2.566895],[115.129883,2.612402],[115.080762,2.634229],[115.077051,2.687012],[115.078906,2.723437],[115.093652,2.757812],[115.086523,2.791211],[115.086328,2.841113],[115.117578,2.894873],[115.189941,2.974463],[115.246973,3.025928],[115.310156,2.993945],[115.38418,3.00874],[115.454395,3.034326],[115.493164,3.128125],[115.499121,3.173145],[115.489746,3.208643],[115.514258,3.342383],[115.519922,3.36167],[115.566113,3.445752],[115.570703,3.502295],[115.544531,3.633691],[115.560938,3.733057],[115.568457,3.93877],[115.596094,3.975537],[115.627539,4.081982],[115.678809,4.193018],[115.782422,4.25376],[115.836816,4.333301],[115.860742,4.348047],[115.896191,4.348682],[116.021582,4.290674],[116.134473,4.355176],[116.23623,4.362549],[116.320312,4.353711],[116.367676,4.327344],[116.414551,4.308203],[116.514746,4.370801],[116.553125,4.359863],[116.589063,4.338428],[116.638672,4.339111],[116.697852,4.35498],[116.843555,4.340137],[117.100586,4.337061],[117.277539,4.299316],[117.450879,4.192871],[117.537305,4.171387],[117.574414,4.170605],[117.566211,4.162305],[117.497461,4.133398],[117.465332,4.076074],[117.559375,3.98833],[117.566016,3.929932],[117.639063,3.877979],[117.728223,3.796729],[117.731738,3.770264],[117.762012,3.733887],[117.777246,3.689258],[117.714453,3.644824],[117.629883,3.636328],[117.567383,3.678271],[117.509668,3.730371],[117.494922,3.665576],[117.450391,3.628516],[117.287891,3.639307],[117.171582,3.638965],[117.055957,3.622656],[117.113867,3.612646],[117.166406,3.591992],[117.346289,3.426611],[117.384668,3.365381],[117.321875,3.243555],[117.352441,3.19375],[117.42207,3.165186],[117.506836,3.10459],[117.567187,3.098486],[117.610645,3.064355],[117.612402,3.004883],[117.637891,2.95083],[117.569141,2.929297],[117.637207,2.914941],[117.697656,2.887305],[117.664551,2.859277],[117.638867,2.825293],[117.666797,2.806934],[117.749707,2.775586],[117.785937,2.746777],[117.804883,2.668945],[117.885742,2.541748],[118.03418,2.377637],[118.066602,2.317822],[118.066309,2.262744],[118.041602,2.21543],[117.957031,2.159961],[117.889258,2.087012],[117.881055,2.060645],[117.789258,2.026855],[117.83125,2.002002],[117.864648,1.968408],[117.928418,1.866797],[118.080371,1.701855],[118.156836,1.640332],[118.47168,1.416455],[118.638965,1.318994],[118.852539,1.09585],[118.963477,1.044287],[118.984961,0.982129],[118.892383,0.886865],[118.757422,0.839209],[118.534766,0.813525],[118.311523,0.84707],[118.196094,0.874365],[118.095508,0.92915],[118.016309,1.03916],[117.911621,1.098682],[117.951953,1.031982],[117.977344,0.963818],[117.964258,0.889551],[117.923047,0.831348],[117.852539,0.788672],[117.776953,0.754004],[117.745117,0.729639],[117.55332,0.341016],[117.522168,0.235889],[117.46377,-0.200488],[117.462891,-0.32373],[117.548926,-0.554395],[117.556836,-0.675293],[117.573828,-0.727539],[117.5625,-0.770898],[117.521777,-0.79668],[117.357129,-0.867188],[117.240723,-0.925684],[117.146484,-1.008984],[117.070215,-1.112695],[117.003223,-1.187695],[116.913965,-1.223633],[116.849414,-1.218262],[116.79707,-1.183789],[116.760547,-1.117188],[116.739844,-1.044238],[116.726172,-1.098145],[116.728711,-1.150781],[116.759277,-1.207129],[116.770996,-1.266602],[116.753418,-1.327344],[116.715234,-1.375781],[116.611621,-1.428613],[116.554492,-1.473926],[116.545117,-1.553125],[116.517578,-1.598047],[116.47793,-1.632812],[116.332129,-1.7125],[116.299609,-1.744336],[116.275488,-1.784863],[116.353223,-1.778613],[116.424316,-1.784863],[116.42959,-1.86416],[116.451953,-1.923145],[116.423535,-2.052539],[116.313965,-2.139844],[116.368652,-2.158203],[116.418164,-2.186719],[116.528125,-2.20791],[116.56543,-2.299707],[116.549219,-2.41084],[116.529297,-2.510547],[116.450391,-2.538281],[116.40127,-2.519824],[116.352539,-2.521582],[116.316797,-2.551855],[116.307227,-2.60332],[116.375488,-2.578027],[116.37168,-2.706836],[116.353223,-2.832715],[116.330664,-2.902148],[116.288867,-2.958789],[116.225781,-2.976953],[116.166309,-2.93457],[116.154102,-2.983789],[116.172266,-3.025293],[116.257227,-3.126367],[116.205078,-3.148535],[116.16709,-3.183008],[116.15,-3.233203],[116.05752,-3.348242],[116.016699,-3.432813],[115.999414,-3.52334],[115.956152,-3.59502],[115.258203,-3.906836],[114.693555,-4.169727],[114.652539,-4.151855],[114.625293,-4.111719],[114.605957,-3.70332],[114.536133,-3.494434],[114.525586,-3.37666],[114.445996,-3.481836],[114.397168,-3.471191],[114.344336,-3.444434],[114.30459,-3.410059],[114.30166,-3.364746],[114.344336,-3.235156],[114.292676,-3.30625],[114.236328,-3.361133],[114.17793,-3.354395],[114.127637,-3.327246],[114.108984,-3.285156],[114.082227,-3.278906],[113.958789,-3.394336],[113.795801,-3.45625],[113.705078,-3.455273],[113.633594,-3.419922],[113.637305,-3.332031],[113.630078,-3.246094],[113.610059,-3.195703],[113.566309,-3.177734],[113.525977,-3.184082],[113.408984,-3.228906],[113.367188,-3.223633],[113.343164,-3.246484],[113.033984,-2.933496],[112.971484,-3.187109],[112.758008,-3.322168],[112.600293,-3.400488],[112.443945,-3.371094],[112.284961,-3.320996],[112.12666,-3.381445],[111.954883,-3.529688],[111.907422,-3.552539],[111.858105,-3.551855],[111.82207,-3.53252],[111.834375,-3.420117],[111.835938,-3.307715],[111.823047,-3.057227],[111.809375,-3.008008],[111.760156,-2.93916],[111.694727,-2.889453],[111.658301,-2.925781],[111.625488,-2.975488],[111.494922,-2.97334],[111.367578,-2.933691],[111.25918,-2.956445],[111.044336,-3.055762],[110.930078,-3.071094],[110.86875,-3.04873],[110.829688,-2.995117],[110.852051,-2.946191],[110.899316,-2.908594],[110.811133,-2.938477],[110.73584,-2.988672],[110.703125,-3.020898],[110.668164,-3.004785],[110.574023,-2.891406],[110.377539,-2.933789],[110.350977,-2.946777],[110.302539,-2.985352],[110.256055,-2.966113],[110.232617,-2.925098],[110.224316,-2.688672],[110.124414,-2.233887],[110.096582,-2.001367],[110.075,-1.946387],[109.959863,-1.862793],[109.96377,-1.742871],[110.023438,-1.642578],[110.036133,-1.525684],[110.019238,-1.398828],[109.983301,-1.274805],[109.938086,-1.181152],[109.873438,-1.101074],[109.787402,-1.011328],[109.681738,-0.944238],[109.453809,-0.86875],[109.333496,-0.875391],[109.288867,-0.845801],[109.258789,-0.807422],[109.270996,-0.732031],[109.311719,-0.680176],[109.366309,-0.667383],[109.372754,-0.638184],[109.257031,-0.577441],[109.160547,-0.494922],[109.130273,-0.44541],[109.121094,-0.390918],[109.121777,-0.265039],[109.149609,-0.185547],[109.164746,-0.14248],[109.194629,-0.009424],[109.25752,0.031152],[109.247266,0.055762],[109.220215,0.073828],[109.180762,0.11748],[109.148535,0.167676],[109.074805,0.252832],[108.944531,0.355664],[108.922754,0.532812],[108.905859,0.793945],[108.916797,0.912646],[108.958594,1.134619],[109.030859,1.204492],[109.088477,1.223926],[109.131543,1.253857],[109.096094,1.258154],[109.06543,1.247168],[109.010254,1.239648],[109.055469,1.438477],[109.075879,1.495898],[109.166699,1.60708],[109.273145,1.705469],[109.318164,1.821094],[109.378516,1.922705],[109.628906,2.027539]]],[[[127.732715,0.848145],[127.805371,0.825928],[127.881055,0.832129],[127.918652,0.876807],[127.929102,0.934717],[127.967285,1.042578],[128.055273,1.115625],[128.116992,1.127051],[128.160742,1.157812],[128.153125,1.237891],[128.157422,1.316602],[128.222461,1.400635],[128.424121,1.517529],[128.539258,1.559229],[128.688379,1.572559],[128.705176,1.527734],[128.688086,1.463721],[128.716895,1.367285],[128.702637,1.106396],[128.66875,1.069434],[128.514551,0.979248],[128.345996,0.907129],[128.298828,0.876807],[128.257227,0.80498],[128.260645,0.733789],[128.397949,0.638818],[128.61123,0.549951],[128.655273,0.508252],[128.683789,0.438477],[128.691602,0.360352],[128.743262,0.323242],[128.81543,0.305371],[128.863281,0.268359],[128.899609,0.21626],[128.54043,0.337891],[128.446484,0.391553],[128.332813,0.397949],[128.220605,0.414258],[128.106055,0.460889],[127.983105,0.471875],[127.924414,0.438086],[127.901367,0.372266],[127.887402,0.29834],[127.914648,0.206299],[127.912207,0.150537],[127.888965,0.049512],[127.977832,-0.24834],[128.089453,-0.485254],[128.253516,-0.731641],[128.33457,-0.816309],[128.425488,-0.892676],[128.278125,-0.87002],[128.233398,-0.787695],[128.046387,-0.706055],[128.01084,-0.657324],[127.888965,-0.423535],[127.85332,-0.379883],[127.74082,-0.300391],[127.691602,-0.241895],[127.674805,-0.162891],[127.687402,-0.079932],[127.681348,0.034863],[127.685449,0.149023],[127.708691,0.288086],[127.668652,0.336768],[127.616211,0.38291],[127.555371,0.489648],[127.537109,0.610889],[127.541797,0.680664],[127.566992,0.742529],[127.600684,0.796045],[127.608008,0.848242],[127.52041,0.924023],[127.428516,1.13999],[127.420313,1.251953],[127.537109,1.46748],[127.534668,1.57207],[127.55791,1.634229],[127.570703,1.700146],[127.631738,1.843701],[127.731445,1.966113],[127.899902,2.137354],[127.964258,2.174707],[128.036426,2.199023],[128.042773,2.15708],[128.03125,2.119873],[127.906738,1.945654],[127.890137,1.906299],[127.886816,1.832959],[127.946484,1.789648],[128.010938,1.701221],[128.02373,1.583496],[128.025879,1.458105],[128.011719,1.331738],[127.987695,1.2896],[127.885352,1.162793],[127.652832,1.013867],[127.633008,0.977197],[127.634375,0.936133],[127.677441,0.886572],[127.732715,0.848145]]],[[[129.754688,-2.86582],[129.984375,-2.97666],[130.103418,-2.992969],[130.303613,-2.978516],[130.379102,-2.989355],[130.569922,-3.130859],[130.625586,-3.228027],[130.641699,-3.311914],[130.671094,-3.391504],[130.718066,-3.411328],[130.773438,-3.41875],[130.845605,-3.533301],[130.859961,-3.570312],[130.805078,-3.857715],[130.580371,-3.748828],[130.363086,-3.625195],[130.269727,-3.579297],[130.019531,-3.474707],[129.981152,-3.438867],[129.953125,-3.391602],[129.844141,-3.327148],[129.62666,-3.317188],[129.54502,-3.318848],[129.511719,-3.328516],[129.52041,-3.363184],[129.52168,-3.433691],[129.467676,-3.453223],[129.332813,-3.408691],[129.212109,-3.392676],[129.107617,-3.349219],[128.96748,-3.326074],[128.952051,-3.304199],[128.964063,-3.27168],[128.957813,-3.241113],[128.925391,-3.229297],[128.8625,-3.234961],[128.801758,-3.265625],[128.75127,-3.300488],[128.676953,-3.396582],[128.638965,-3.433398],[128.516602,-3.449121],[128.465918,-3.439844],[128.419238,-3.416016],[128.27998,-3.240527],[128.233008,-3.202637],[128.180664,-3.17168],[128.132031,-3.157422],[128.082129,-3.184082],[128.055762,-3.238574],[128.043945,-3.30332],[128.030078,-3.340527],[127.97002,-3.444336],[127.92041,-3.506055],[127.902344,-3.496289],[127.927832,-3.397266],[127.92793,-3.341406],[127.897168,-3.282324],[127.87793,-3.22207],[128.113379,-2.93457],[128.198535,-2.865918],[128.569824,-2.842188],[128.790527,-2.856641],[128.910742,-2.849609],[128.991113,-2.828516],[129.057715,-2.838477],[129.074316,-2.895117],[129.116309,-2.937012],[129.174414,-2.933496],[129.27959,-2.889063],[129.371094,-2.820508],[129.427344,-2.790723],[129.48418,-2.785742],[129.542969,-2.790332],[129.600488,-2.806152],[129.754688,-2.86582]]],[[[126.861133,-3.087891],[127.025488,-3.166016],[127.062891,-3.216992],[127.092383,-3.277539],[127.124707,-3.31084],[127.163477,-3.338086],[127.227344,-3.391016],[127.244238,-3.471094],[127.22959,-3.633008],[127.155176,-3.647266],[127.085059,-3.670898],[126.940918,-3.764551],[126.869922,-3.78291],[126.794141,-3.78916],[126.740332,-3.813672],[126.686328,-3.823633],[126.54668,-3.77168],[126.411133,-3.710645],[126.214551,-3.605176],[126.17832,-3.579395],[126.14668,-3.522754],[126.056543,-3.420996],[126.033984,-3.355859],[126.026465,-3.170508],[126.050098,-3.128125],[126.088281,-3.105469],[126.219629,-3.148145],[126.30625,-3.103223],[126.555078,-3.065234],[126.808301,-3.069141],[126.861133,-3.087891]]],[[[124.922266,-8.94248],[124.915039,-9.031543],[124.936816,-9.053418],[124.973242,-9.064258],[125.100391,-9.004004],[125.124414,-9.01543],[125.149023,-9.042578],[125.149414,-9.122949],[125.100488,-9.189844],[124.977539,-9.194922],[124.960156,-9.21377],[124.958594,-9.254688],[124.968262,-9.294238],[124.996973,-9.325977],[125.033594,-9.381836],[125.068164,-9.511914],[124.997949,-9.565332],[124.963086,-9.665625],[124.841797,-9.759766],[124.708398,-9.91416],[124.601855,-9.992969],[124.508203,-10.086133],[124.427539,-10.148633],[124.326758,-10.169824],[124.175977,-10.183301],[123.971094,-10.294824],[123.857617,-10.343555],[123.747266,-10.347168],[123.644141,-10.310938],[123.604785,-10.270117],[123.614062,-10.215039],[123.648242,-10.167773],[123.690137,-10.128809],[123.716406,-10.078613],[123.599414,-10.015137],[123.589258,-9.966797],[123.635742,-9.838086],[123.66582,-9.705273],[123.709375,-9.614844],[123.876758,-9.453125],[123.977148,-9.372949],[124.036328,-9.341602],[124.052441,-9.375391],[124.090137,-9.416406],[124.115527,-9.423145],[124.13457,-9.413867],[124.282324,-9.42793],[124.319336,-9.41377],[124.375684,-9.349902],[124.412988,-9.314355],[124.438281,-9.238574],[124.444434,-9.190332],[124.575488,-9.155371],[124.645898,-9.116699],[124.708203,-9.061816],[124.889746,-8.968457],[124.922266,-8.94248]]],[[[134.746973,-5.707031],[134.739063,-5.745605],[134.738379,-5.816797],[134.75498,-5.882715],[134.712207,-5.949707],[134.752148,-6.050098],[134.758105,-6.1],[134.755859,-6.170605],[134.744434,-6.202344],[134.71416,-6.295117],[134.683887,-6.328125],[134.661133,-6.337305],[134.637598,-6.365332],[134.441113,-6.334863],[134.356152,-6.270508],[134.280469,-6.200781],[134.264453,-6.17168],[134.175391,-6.090332],[134.154883,-6.062891],[134.153125,-6.019531],[134.225098,-6.008496],[134.301953,-6.009766],[134.298633,-5.970703],[134.343066,-5.833008],[134.226172,-5.744434],[134.205371,-5.707227],[134.247266,-5.681934],[134.341309,-5.712891],[134.456348,-5.55752],[134.490332,-5.525098],[134.506445,-5.438477],[134.570801,-5.427344],[134.616504,-5.438574],[134.646094,-5.492383],[134.657813,-5.539258],[134.645508,-5.581348],[134.700781,-5.603027],[134.746973,-5.707031]]],[[[134.536816,-6.442285],[134.52041,-6.512695],[134.504297,-6.591406],[134.4125,-6.679688],[134.355957,-6.814844],[134.322754,-6.84873],[134.2,-6.908789],[134.09082,-6.833789],[134.05918,-6.769336],[134.107031,-6.471582],[134.154199,-6.481445],[134.184766,-6.479297],[134.194629,-6.459766],[134.124609,-6.426465],[134.11123,-6.255371],[134.114648,-6.19082],[134.168066,-6.17627],[134.23418,-6.226367],[134.317773,-6.316113],[134.415039,-6.386719],[134.536816,-6.442285]]],[[[138.535352,-8.273633],[138.296289,-8.405176],[137.982813,-8.381934],[137.871875,-8.379688],[137.687695,-8.411719],[137.650391,-8.386133],[137.685156,-8.262207],[137.83252,-7.932227],[138.00752,-7.641602],[138.081836,-7.566211],[138.185352,-7.495313],[138.295508,-7.438477],[138.543848,-7.37959],[138.769824,-7.39043],[138.801953,-7.414648],[138.899414,-7.511621],[138.962598,-7.587988],[138.989063,-7.696094],[138.892969,-7.882129],[138.785938,-8.059082],[138.611719,-8.19834],[138.535352,-8.273633]]],[[[140.973438,-2.609766],[140.973438,-2.613574],[140.973438,-2.681055],[140.973535,-2.803418],[140.973633,-3.006641],[140.97373,-3.209961],[140.973828,-3.413281],[140.973926,-3.616602],[140.974023,-3.819824],[140.974023,-4.023145],[140.974219,-4.226465],[140.974219,-4.429785],[140.974316,-4.633008],[140.974414,-4.836328],[140.974512,-5.039648],[140.974609,-5.242969],[140.974609,-5.446191],[140.974707,-5.649512],[140.974805,-5.852832],[140.974902,-6.056152],[140.975,-6.259375],[140.975,-6.346094],[140.944043,-6.452246],[140.874609,-6.611523],[140.862305,-6.740039],[140.919531,-6.840039],[140.975195,-6.905371],[140.975195,-7.072559],[140.975293,-7.275879],[140.975391,-7.479199],[140.975488,-7.68252],[140.975586,-7.885742],[140.975586,-8.089063],[140.975684,-8.292383],[140.975781,-8.495703],[140.975879,-8.698926],[140.975977,-8.902246],[140.975977,-9.105566],[140.976172,-9.11875],[140.924609,-9.085059],[140.786523,-8.97373],[140.661523,-8.846777],[140.581055,-8.72832],[140.489746,-8.62041],[140.10166,-8.300586],[140.00293,-8.195508],[139.983301,-8.166504],[139.992578,-8.139355],[140.037402,-8.083984],[140.116992,-7.92373],[140.033789,-8.022754],[139.934766,-8.101172],[139.79082,-8.106348],[139.649414,-8.125391],[139.518555,-8.172754],[139.385645,-8.189063],[139.319141,-8.16582],[139.279102,-8.106934],[139.258301,-8.046582],[139.248828,-7.982422],[139.192969,-8.086133],[139.083203,-8.142871],[138.933496,-8.262402],[138.890625,-8.237793],[138.864746,-8.192285],[138.856152,-8.145117],[138.885059,-8.094727],[138.905469,-8.041211],[138.935938,-7.913086],[139.003027,-7.837598],[139.045703,-7.691406],[139.073633,-7.639258],[139.087988,-7.587207],[139.048926,-7.52832],[138.983008,-7.508203],[138.937891,-7.472461],[138.885547,-7.373242],[138.853125,-7.339648],[138.793652,-7.298926],[138.747949,-7.251465],[138.798438,-7.215723],[138.864844,-7.201367],[138.919336,-7.203613],[139.017969,-7.225879],[139.0625,-7.227148],[139.176855,-7.19043],[139.112598,-7.201758],[139.049023,-7.200586],[138.845703,-7.136328],[138.72002,-7.069824],[138.601367,-6.936523],[138.600195,-6.910742],[138.683789,-6.886523],[138.864551,-6.858398],[138.808496,-6.79043],[138.72666,-6.731152],[138.698145,-6.625684],[138.642188,-6.560449],[138.521582,-6.453809],[138.438672,-6.343359],[138.368359,-6.118555],[138.296289,-5.949023],[138.313867,-5.8875],[138.374609,-5.843652],[138.282813,-5.838574],[138.199609,-5.807031],[138.243555,-5.724414],[138.339648,-5.675684],[138.252148,-5.688184],[138.166504,-5.712012],[138.127441,-5.716504],[138.087109,-5.70918],[138.065918,-5.675977],[138.063086,-5.628906],[138.075586,-5.545801],[138.06084,-5.465234],[137.984961,-5.427637],[137.922266,-5.370117],[137.886816,-5.348828],[137.840332,-5.350488],[137.795215,-5.312012],[137.759082,-5.256152],[137.306641,-5.014355],[137.279785,-4.94541],[137.237891,-4.975684],[137.195898,-4.99043],[137.14375,-4.950781],[137.089258,-4.924414],[137.029688,-4.928711],[136.974609,-4.907324],[136.916992,-4.895117],[136.856836,-4.893164],[136.618848,-4.81875],[136.39375,-4.70127],[136.210645,-4.650684],[136.097461,-4.584766],[135.979688,-4.530859],[135.716602,-4.478418],[135.450195,-4.443066],[135.353906,-4.441797],[135.273145,-4.453125],[135.195605,-4.450684],[134.754199,-4.19541],[134.679688,-4.079102],[134.686914,-4.011133],[134.706543,-3.954785],[134.886523,-3.938477],[134.759766,-3.922168],[134.707617,-3.929883],[134.603418,-3.976074],[134.546875,-3.979297],[134.467188,-3.948633],[134.391016,-3.909961],[134.266211,-3.945801],[134.202344,-3.887012],[134.180469,-3.825098],[134.14707,-3.796777],[134.1,-3.799707],[134.036914,-3.821973],[133.973828,-3.817969],[133.933203,-3.775586],[133.904004,-3.720117],[133.860742,-3.680371],[133.808496,-3.65],[133.723047,-3.57793],[133.67832,-3.479492],[133.683398,-3.30918],[133.697168,-3.248145],[133.781641,-3.148926],[133.841504,-3.054785],[133.767383,-3.044336],[133.700391,-3.0875],[133.671973,-3.131836],[133.660742,-3.185547],[133.653125,-3.364355],[133.599414,-3.416113],[133.518164,-3.411914],[133.542285,-3.516406],[133.50918,-3.615527],[133.415137,-3.732129],[133.407227,-3.785156],[133.422266,-3.842578],[133.400879,-3.899023],[133.24873,-4.062305],[133.198047,-4.070117],[133.085156,-4.069043],[132.968555,-4.094922],[132.914453,-4.056934],[132.870117,-4.007422],[132.837109,-3.948926],[132.790918,-3.828125],[132.753906,-3.703613],[132.869727,-3.550977],[132.829785,-3.412988],[132.751367,-3.294629],[132.553516,-3.130664],[132.348242,-2.975098],[132.25498,-2.943457],[132.102051,-2.92959],[132.053906,-2.914551],[132.006348,-2.856055],[131.971191,-2.788574],[132.066895,-2.75957],[132.230664,-2.680371],[132.32334,-2.68418],[132.575488,-2.727148],[132.65293,-2.766211],[132.725,-2.789062],[132.897266,-2.658203],[133.033789,-2.487402],[133.118848,-2.450293],[133.191016,-2.437793],[133.264941,-2.454297],[133.411426,-2.513965],[133.526563,-2.541699],[133.608691,-2.547168],[133.651563,-2.600586],[133.700098,-2.624609],[133.710938,-2.544043],[133.75332,-2.450684],[133.834668,-2.42168],[133.877637,-2.415039],[133.904883,-2.390918],[133.898926,-2.304492],[133.791016,-2.293652],[133.849707,-2.219629],[133.902441,-2.183594],[133.920508,-2.147461],[133.921582,-2.102051],[133.710352,-2.18916],[133.487793,-2.225586],[133.35625,-2.215723],[133.224902,-2.214453],[132.962793,-2.272559],[132.863281,-2.270215],[132.631055,-2.24668],[132.502637,-2.218457],[132.40332,-2.24043],[132.307617,-2.242285],[132.207422,-2.175781],[132.122168,-2.092383],[132.079883,-2.033203],[132.023438,-1.990332],[131.998438,-1.93252],[131.936133,-1.714941],[131.930371,-1.559668],[131.829785,-1.556543],[131.731445,-1.541211],[131.29375,-1.393457],[131.24082,-1.429688],[131.179199,-1.44834],[131.117773,-1.455273],[131.056738,-1.447656],[130.995898,-1.424707],[131.000977,-1.383984],[131.046191,-1.284082],[131.090527,-1.247266],[131.151855,-1.218848],[131.19082,-1.16582],[131.254102,-1.006934],[131.258984,-0.952637],[131.252051,-0.897168],[131.257227,-0.855469],[131.296387,-0.833594],[131.461523,-0.781836],[131.804297,-0.703809],[131.890918,-0.657129],[131.962402,-0.582422],[132.045996,-0.537012],[132.084473,-0.491113],[132.128418,-0.454102],[132.39375,-0.355469],[132.508008,-0.347461],[132.625098,-0.358887],[132.856445,-0.417383],[133.077148,-0.511816],[133.268457,-0.635742],[133.472656,-0.726172],[133.723633,-0.741406],[133.850293,-0.731445],[133.974512,-0.744336],[134.024902,-0.769727],[134.111523,-0.846777],[134.086719,-0.897363],[134.071973,-1.001855],[134.116211,-1.102441],[134.188281,-1.203125],[134.247168,-1.310547],[134.25957,-1.362988],[134.237207,-1.474121],[134.216992,-1.529102],[134.14541,-1.620801],[134.105859,-1.720996],[134.13125,-1.844531],[134.14541,-1.96875],[134.142773,-2.08291],[134.155664,-2.195215],[134.194824,-2.309082],[134.362109,-2.620996],[134.459961,-2.832324],[134.491211,-2.714258],[134.483301,-2.583008],[134.517969,-2.535645],[134.566895,-2.510449],[134.627441,-2.536719],[134.644727,-2.589844],[134.649023,-2.705859],[134.702148,-2.933594],[134.769824,-2.944043],[134.843359,-2.90918],[134.855371,-2.978809],[134.852734,-3.107617],[134.886816,-3.209863],[134.917188,-3.249902],[135.037402,-3.333105],[135.092188,-3.348535],[135.251563,-3.368555],[135.371582,-3.374902],[135.486621,-3.345117],[135.560742,-3.26875],[135.627734,-3.186035],[135.85918,-2.995313],[135.926172,-2.904102],[135.990723,-2.764258],[136.012988,-2.734277],[136.243262,-2.583105],[136.269531,-2.529492],[136.302539,-2.425684],[136.352441,-2.325195],[136.389941,-2.27334],[136.612305,-2.224316],[136.843262,-2.197656],[137.07207,-2.105078],[137.171094,-2.025488],[137.175781,-1.973145],[137.125488,-1.88125],[137.123438,-1.840918],[137.176465,-1.802148],[137.380566,-1.685645],[137.616602,-1.56582],[137.80625,-1.483203],[137.911133,-1.483789],[138.007812,-1.556543],[138.110938,-1.615918],[138.649805,-1.791113],[138.736133,-1.845508],[138.811426,-1.917773],[138.919141,-1.967871],[139.039453,-1.99209],[139.148828,-2.038867],[139.252637,-2.099219],[139.481836,-2.211816],[139.789551,-2.348242],[139.868359,-2.356445],[140.15459,-2.35],[140.204004,-2.375684],[140.250977,-2.412012],[140.294629,-2.42041],[140.622559,-2.445801],[140.673047,-2.47207],[140.720508,-2.508105],[140.747461,-2.607129],[140.973438,-2.609766]]],[[[138.895117,-8.388672],[138.845508,-8.401758],[138.594238,-8.371484],[138.567188,-8.330273],[138.563379,-8.309082],[138.620996,-8.268457],[138.67666,-8.199219],[138.762695,-8.173438],[138.796191,-8.173633],[138.897656,-8.3375],[138.895117,-8.388672]]],[[[101.708105,2.078418],[101.762305,1.996533],[101.773535,1.943457],[101.734082,1.882568],[101.719434,1.78916],[101.602734,1.715723],[101.500781,1.733203],[101.467773,1.759375],[101.403418,1.901318],[101.409668,2.02168],[101.450293,2.067822],[101.544727,2.060742],[101.640723,2.126709],[101.708105,2.078418]]],[[[102.427148,0.990137],[102.380859,0.959766],[102.325293,1.007031],[102.27959,1.075684],[102.255469,1.147168],[102.23418,1.263965],[102.228613,1.347852],[102.256348,1.39707],[102.276465,1.395264],[102.358594,1.345654],[102.412891,1.260791],[102.442871,1.234229],[102.448828,1.15625],[102.428906,1.067285],[102.427148,0.990137]]],[[[102.491895,1.45918],[102.499414,1.330908],[102.425195,1.364453],[102.366895,1.415479],[102.274219,1.453125],[102.161328,1.46543],[102.078711,1.498584],[102.020898,1.558203],[102.018359,1.585645],[102.024023,1.607959],[102.042188,1.625391],[102.469531,1.510059],[102.491895,1.45918]]],[[[103.027539,0.746631],[103.008789,0.708105],[102.971484,0.736523],[102.77627,0.77959],[102.710547,0.784375],[102.541602,0.831592],[102.49043,0.856641],[102.453906,0.889502],[102.466406,0.950342],[102.491406,0.986865],[102.506641,1.08877],[102.549219,1.130225],[102.633203,1.054395],[102.726172,0.989209],[102.780078,0.959375],[102.944141,0.892725],[103.002441,0.859277],[103.027539,0.746631]]],[[[103.166406,0.870166],[103.137207,0.84165],[103.086719,0.848145],[103.033398,0.882031],[102.963965,0.942676],[102.886328,0.996777],[102.787988,1.030957],[102.726465,1.04126],[102.701855,1.053711],[102.725586,1.158838],[102.790137,1.165479],[102.999414,1.067773],[103.067578,1.014746],[103.166406,0.870166]]],[[[103.284473,0.541943],[103.172168,0.536182],[103.139551,0.549072],[103.15332,0.643115],[103.187402,0.699756],[103.238184,0.698633],[103.295117,0.613965],[103.284473,0.541943]]],[[[103.450195,0.664453],[103.429688,0.650879],[103.344434,0.777881],[103.365723,0.851123],[103.386133,0.86958],[103.433105,0.825],[103.470313,0.778125],[103.497461,0.722705],[103.450195,0.664453]]],[[[104.024805,1.180566],[104.088086,1.137012],[104.139844,1.165576],[104.137793,1.128223],[104.127344,1.092383],[104.066113,0.989551],[103.963574,1.013232],[103.939844,1.046484],[103.932227,1.071387],[103.946973,1.087012],[103.955371,1.137451],[103.999805,1.137256],[104.024805,1.180566]]],[[[104.585352,1.216113],[104.591016,1.141064],[104.648145,1.10459],[104.662891,1.049512],[104.652832,0.961035],[104.599121,0.858984],[104.575195,0.831934],[104.504297,0.852637],[104.480664,0.886768],[104.471191,0.913477],[104.481055,0.93252],[104.428613,0.956494],[104.462402,0.995557],[104.439258,1.050439],[104.293945,1.016113],[104.251953,1.014893],[104.244238,1.077393],[104.250195,1.102637],[104.361816,1.181494],[104.428418,1.196045],[104.500098,1.180225],[104.585352,1.216113]]],[[[104.778613,-0.175977],[104.80752,-0.19248],[104.843164,-0.140625],[104.908984,-0.211719],[104.949707,-0.247266],[105.005371,-0.282813],[104.950586,-0.284473],[104.928516,-0.316992],[104.914258,-0.32334],[104.702246,-0.208691],[104.566602,-0.245605],[104.473535,-0.212109],[104.44707,-0.18916],[104.49707,-0.126367],[104.542676,0.017725],[104.635645,-0.018457],[104.658398,-0.062842],[104.652734,-0.076025],[104.713477,-0.103027],[104.778613,-0.175977]]],[[[104.474219,-0.334668],[104.567773,-0.431836],[104.590137,-0.466602],[104.543945,-0.520508],[104.506543,-0.59668],[104.485352,-0.612891],[104.413867,-0.583691],[104.363184,-0.658594],[104.329785,-0.539062],[104.257129,-0.463281],[104.302344,-0.385742],[104.31875,-0.380176],[104.340723,-0.382617],[104.363574,-0.402832],[104.474219,-0.334668]]],[[[103.736523,-0.347949],[103.606348,-0.38291],[103.461328,-0.357617],[103.479004,-0.297461],[103.548926,-0.227539],[103.610938,-0.230566],[103.723926,-0.27666],[103.764258,-0.317773],[103.736523,-0.347949]]],[[[109.710254,-1.180664],[109.51084,-1.282813],[109.463672,-1.277539],[109.428125,-1.241211],[109.450293,-1.044141],[109.475977,-0.985352],[109.614648,-0.979102],[109.699512,-1.007324],[109.743359,-1.039355],[109.760547,-1.105176],[109.750781,-1.14502],[109.710254,-1.180664]]],[[[113.844531,-7.105371],[113.825586,-7.119922],[113.655859,-7.111719],[113.546387,-7.193359],[113.470703,-7.218457],[113.198438,-7.218359],[113.166016,-7.207324],[113.141895,-7.207617],[113.126953,-7.224121],[113.04043,-7.211816],[112.76377,-7.139648],[112.725879,-7.072754],[112.76875,-7.00127],[112.868066,-6.899902],[113.067383,-6.87998],[113.974707,-6.873047],[114.073633,-6.960156],[114.083008,-6.989355],[113.885352,-7.049023],[113.844531,-7.105371]]],[[[134.965332,-1.116016],[134.917383,-1.134277],[134.861719,-1.11416],[134.808887,-1.037598],[134.82793,-0.978809],[134.889258,-0.938477],[134.94082,-0.978906],[134.956738,-1.030566],[134.996289,-1.034082],[134.965332,-1.116016]]],[[[127.249902,-0.495313],[127.187305,-0.521191],[127.119141,-0.520508],[127.104395,-0.413867],[127.126465,-0.278613],[127.189648,-0.255762],[127.290039,-0.284375],[127.253027,-0.318652],[127.280566,-0.391016],[127.249902,-0.495313]]],[[[127.566992,-0.318945],[127.682422,-0.468359],[127.60498,-0.610156],[127.658594,-0.689453],[127.804297,-0.694434],[127.837891,-0.724121],[127.863281,-0.759863],[127.880176,-0.808691],[127.842285,-0.847754],[127.761133,-0.883691],[127.667578,-0.832031],[127.642871,-0.783984],[127.623828,-0.766016],[127.497852,-0.802441],[127.462695,-0.805957],[127.438281,-0.739063],[127.468652,-0.642969],[127.380566,-0.599609],[127.3,-0.500293],[127.29707,-0.460254],[127.329492,-0.390918],[127.325098,-0.33584],[127.371191,-0.331641],[127.455176,-0.406348],[127.491699,-0.335938],[127.527344,-0.306641],[127.566992,-0.318945]]],[[[132.92627,-5.902051],[132.84502,-5.987988],[132.92168,-5.785254],[132.937695,-5.682617],[133.008789,-5.621387],[133.114648,-5.310645],[133.138477,-5.317871],[133.172852,-5.348145],[133.119629,-5.575977],[132.971094,-5.73584],[132.92627,-5.902051]]],[[[132.807129,-5.850781],[132.746289,-5.94707],[132.704883,-5.913086],[132.681445,-5.912598],[132.667285,-5.856055],[132.681348,-5.738867],[132.630176,-5.607031],[132.697852,-5.608984],[132.716504,-5.64834],[132.737793,-5.661719],[132.804297,-5.788867],[132.807129,-5.850781]]],[[[128.275586,-3.674609],[128.249902,-3.711133],[128.191797,-3.735254],[128.143164,-3.732715],[128.158984,-3.697656],[128.146875,-3.677148],[128.11084,-3.686426],[128.052246,-3.714551],[127.978027,-3.770996],[127.934375,-3.743066],[127.925,-3.699316],[127.927539,-3.679395],[128.016211,-3.600879],[128.119141,-3.5875],[128.264355,-3.512305],[128.329102,-3.515918],[128.313672,-3.563672],[128.291016,-3.597656],[128.277441,-3.633203],[128.275586,-3.674609]]],[[[126.816602,4.033496],[126.77627,4.012598],[126.71123,4.020264],[126.704492,4.070996],[126.770117,4.162207],[126.813574,4.258496],[126.767285,4.282568],[126.72207,4.344189],[126.720508,4.41582],[126.757324,4.5479],[126.8125,4.537207],[126.865137,4.479834],[126.886719,4.37251],[126.921094,4.291016],[126.847656,4.17998],[126.816602,4.033496]]],[[[125.658105,3.436035],[125.633203,3.40542],[125.511523,3.461133],[125.517578,3.549609],[125.501172,3.593213],[125.468555,3.639111],[125.455273,3.68418],[125.468848,3.733252],[125.543457,3.67041],[125.585645,3.571094],[125.643555,3.476514],[125.658105,3.436035]]],[[[130.862207,-8.31875],[130.775195,-8.349902],[130.833398,-8.270801],[131.020117,-8.091309],[131.087402,-8.124512],[131.176367,-8.130762],[131.04375,-8.212012],[130.908105,-8.245703],[130.862207,-8.31875]]],[[[129.838867,-7.95459],[129.779785,-8.046484],[129.713477,-8.040723],[129.591895,-7.917383],[129.59873,-7.831348],[129.608984,-7.803418],[129.655469,-7.794824],[129.812988,-7.819727],[129.843555,-7.889355],[129.838867,-7.95459]]],[[[127.823438,-8.098828],[127.998438,-8.139063],[128.098828,-8.134863],[128.119238,-8.170703],[128.023535,-8.255371],[127.820898,-8.190234],[127.78623,-8.120313],[127.823438,-8.098828]]],[[[130.35332,-1.690527],[130.36543,-1.749805],[130.425,-1.80459],[130.404297,-1.889844],[130.380566,-1.902637],[130.393359,-1.941602],[130.418848,-1.971289],[130.372656,-1.991895],[130.338965,-1.981836],[130.28418,-2.009375],[130.248047,-2.047754],[130.133496,-2.063867],[130.093359,-2.02832],[129.886523,-1.986426],[129.754395,-1.894434],[129.737695,-1.866895],[129.993652,-1.758887],[130.105762,-1.730469],[130.199609,-1.732227],[130.317969,-1.691992],[130.35332,-1.690527]]],[[[102.367188,-5.478711],[102.285937,-5.483496],[102.135547,-5.360547],[102.110742,-5.322559],[102.153516,-5.28623],[102.198438,-5.288867],[102.371777,-5.366406],[102.405469,-5.404785],[102.367188,-5.478711]]],[[[100.425098,-3.18291],[100.465137,-3.328516],[100.346094,-3.229199],[100.348437,-3.158789],[100.332031,-3.113086],[100.259961,-3.056934],[100.204297,-2.986816],[100.179297,-2.820215],[100.198535,-2.785547],[100.245605,-2.783203],[100.45459,-3.001953],[100.468848,-3.038965],[100.464258,-3.116895],[100.433887,-3.141309],[100.425098,-3.18291]]],[[[100.204102,-2.741016],[100.132715,-2.821387],[100.014941,-2.819727],[99.991895,-2.769824],[99.996875,-2.649316],[99.968164,-2.609766],[99.969336,-2.594141],[99.987891,-2.525391],[100.011914,-2.510254],[100.201953,-2.679688],[100.204102,-2.741016]]],[[[99.843066,-2.343066],[99.847852,-2.369727],[99.685156,-2.281738],[99.607031,-2.25752],[99.537402,-2.161523],[99.558887,-2.11543],[99.561816,-2.051172],[99.572168,-2.025781],[99.62207,-2.016602],[99.686426,-2.063379],[99.734766,-2.177734],[99.815723,-2.284375],[99.843066,-2.343066]]],[[[98.459277,-0.530469],[98.399707,-0.576855],[98.309668,-0.531836],[98.339941,-0.467871],[98.354785,-0.379297],[98.408789,-0.308984],[98.427148,-0.226465],[98.322949,-0.000781],[98.374512,0.00708],[98.41543,-0.017529],[98.484375,-0.167676],[98.544141,-0.257617],[98.520117,-0.379688],[98.459277,-0.530469]]],[[[96.463672,2.36001],[96.400977,2.350684],[96.340625,2.37207],[96.29043,2.42959],[96.021973,2.595752],[95.938477,2.598437],[95.879785,2.640918],[95.808594,2.655615],[95.733008,2.766504],[95.717188,2.825977],[95.772168,2.85498],[95.80625,2.916016],[95.895801,2.889062],[95.997852,2.781396],[96.101562,2.741211],[96.129785,2.720898],[96.17998,2.661328],[96.417285,2.515186],[96.443066,2.465625],[96.459375,2.41582],[96.463672,2.36001]]],[[[122.042969,-5.437988],[121.97959,-5.464746],[121.859375,-5.350293],[121.808496,-5.256152],[121.820703,-5.20293],[121.856641,-5.15625],[121.87373,-5.144629],[121.866309,-5.095996],[121.913672,-5.072266],[121.965723,-5.075586],[121.999902,-5.14082],[122.041016,-5.158789],[122.061816,-5.221289],[122.042969,-5.437988]]],[[[123.212305,-1.171289],[123.234277,-1.233691],[123.198047,-1.287695],[123.237793,-1.389355],[123.338574,-1.254004],[123.434766,-1.236816],[123.489355,-1.259277],[123.526855,-1.286035],[123.547266,-1.337402],[123.511914,-1.447363],[123.44873,-1.498828],[123.366992,-1.507129],[123.328613,-1.443066],[123.274902,-1.437207],[123.237402,-1.576953],[123.220508,-1.59834],[123.172949,-1.616016],[123.130371,-1.577441],[123.122949,-1.556055],[123.18291,-1.492773],[123.150391,-1.304492],[123.105176,-1.339844],[122.984375,-1.510645],[122.89043,-1.587207],[122.858496,-1.548242],[122.81084,-1.432129],[122.832227,-1.283008],[122.908008,-1.182227],[122.972461,-1.18916],[123.158301,-1.15752],[123.212305,-1.171289]]],[[[121.864355,-0.406836],[121.906836,-0.45127],[121.88125,-0.502637],[121.846875,-0.489844],[121.756055,-0.49082],[121.721777,-0.494727],[121.680957,-0.525],[121.655273,-0.526172],[121.672363,-0.478809],[121.749316,-0.407031],[121.797363,-0.417676],[121.864355,-0.406836]]],[[[120.52832,-6.298438],[120.487305,-6.464844],[120.467969,-6.406152],[120.460742,-6.254004],[120.435547,-6.180176],[120.451563,-6.094922],[120.446484,-5.87627],[120.477344,-5.775293],[120.53418,-5.903809],[120.549219,-5.969238],[120.52832,-6.298438]]],[[[115.377051,-6.970801],[115.295801,-6.987793],[115.220313,-6.952539],[115.222168,-6.905176],[115.240527,-6.86123],[115.353711,-6.838477],[115.414453,-6.839746],[115.479199,-6.870215],[115.524219,-6.901855],[115.546094,-6.938672],[115.424121,-6.940625],[115.377051,-6.970801]]],[[[116.30332,-3.868164],[116.093359,-4.054102],[116.058789,-4.006934],[116.076953,-3.81748],[116.018359,-3.699902],[116.022461,-3.612402],[116.063574,-3.45791],[116.117383,-3.339551],[116.239355,-3.260352],[116.269727,-3.251074],[116.262109,-3.394824],[116.286523,-3.448828],[116.295117,-3.49502],[116.282031,-3.534766],[116.305176,-3.718555],[116.318652,-3.762988],[116.289258,-3.820898],[116.30332,-3.868164]]],[[[122.948926,-10.909277],[122.855859,-10.909668],[122.826172,-10.899121],[122.818457,-10.811035],[122.845703,-10.761816],[123.061426,-10.698438],[123.145801,-10.639941],[123.26543,-10.518164],[123.339648,-10.48623],[123.358496,-10.472461],[123.371094,-10.474902],[123.383105,-10.567578],[123.412891,-10.622656],[123.418164,-10.65127],[123.310742,-10.698438],[123.214844,-10.806152],[123.005273,-10.876367],[122.948926,-10.909277]]],[[[124.286621,-8.329492],[124.225781,-8.391309],[124.184375,-8.49873],[124.14668,-8.531445],[124.065723,-8.55166],[124.017285,-8.443848],[123.927734,-8.448926],[123.971484,-8.354102],[124.01377,-8.318652],[124.06875,-8.317773],[124.095801,-8.356152],[124.110547,-8.364258],[124.239551,-8.203418],[124.265625,-8.201758],[124.287109,-8.208691],[124.304492,-8.228809],[124.286621,-8.329492]]],[[[123.924805,-8.272461],[123.783887,-8.299609],[123.697852,-8.424414],[123.629199,-8.422461],[123.591602,-8.47793],[123.582617,-8.50166],[123.587891,-8.523828],[123.580176,-8.544922],[123.553027,-8.566797],[123.488672,-8.532324],[123.433789,-8.576074],[123.410742,-8.586621],[123.32998,-8.535645],[123.25332,-8.538574],[123.230078,-8.530664],[123.325,-8.439063],[123.45459,-8.353711],[123.475879,-8.322266],[123.425195,-8.313379],[123.394922,-8.300586],[123.391211,-8.280469],[123.473242,-8.26709],[123.52998,-8.265234],[123.573145,-8.291504],[123.600586,-8.291309],[123.775977,-8.19043],[123.845508,-8.213379],[123.896094,-8.239258],[123.924805,-8.272461]]],[[[123.31748,-8.354785],[123.297266,-8.398633],[123.025,-8.395508],[123.032617,-8.337793],[123.108301,-8.274805],[123.133496,-8.253809],[123.21709,-8.235449],[123.336035,-8.269043],[123.31748,-8.354785]]],[[[134.716113,-6.549414],[134.66084,-6.558887],[134.633691,-6.477246],[134.679102,-6.456055],[134.728516,-6.505859],[134.716113,-6.549414]]],[[[103.423926,1.04834],[103.429688,0.993359],[103.363281,1.006836],[103.31543,1.071289],[103.35498,1.117236],[103.37998,1.133643],[103.404883,1.072559],[103.423926,1.04834]]],[[[103.828613,0.801025],[103.833984,0.772217],[103.742383,0.82998],[103.740039,0.871826],[103.751953,0.891357],[103.806641,0.846338],[103.828613,0.801025]]],[[[104.239355,0.833984],[104.176758,0.804883],[104.098145,0.89624],[104.101074,0.91748],[104.108301,0.933545],[104.122754,0.943994],[104.170508,0.896729],[104.227051,0.879883],[104.239355,0.833984]]],[[[104.689258,0.059521],[104.698145,0.034668],[104.650879,0.062695],[104.622363,0.079639],[104.603516,0.095215],[104.499219,0.23208],[104.543848,0.223291],[104.659863,0.103076],[104.689258,0.059521]]],[[[106.285254,3.157129],[106.283691,3.088232],[106.214551,3.128564],[106.200977,3.204883],[106.22373,3.22959],[106.271191,3.216309],[106.285254,3.157129]]],[[[105.760352,2.863037],[105.718555,2.85918],[105.706152,2.888867],[105.70791,2.940088],[105.704199,2.980908],[105.692187,3.011328],[105.692187,3.0625],[105.730664,3.036963],[105.760352,3.013037],[105.794531,2.995947],[105.822168,2.984375],[105.836719,2.976514],[105.809375,2.903955],[105.760352,2.863037]]],[[[108.8875,2.90542],[108.838867,2.853027],[108.786523,2.885645],[108.86709,2.991895],[108.885742,2.998975],[108.8875,2.90542]]],[[[108.953125,-1.619629],[108.837891,-1.661621],[108.803711,-1.567773],[108.877246,-1.539844],[108.956836,-1.564063],[108.953125,-1.619629]]],[[[107.47334,-2.899512],[107.432813,-2.925293],[107.409277,-2.900586],[107.402441,-2.872949],[107.419336,-2.838086],[107.474414,-2.834668],[107.499707,-2.84502],[107.47334,-2.899512]]],[[[106.886426,-3.005273],[106.869727,-3.025293],[106.814258,-3.014453],[106.774316,-2.986816],[106.749219,-2.960449],[106.742871,-2.932813],[106.796875,-2.898926],[106.910645,-2.933984],[106.886426,-3.005273]]],[[[114.412598,-7.133496],[114.397656,-7.173145],[114.346875,-7.163281],[114.298828,-7.097559],[114.322168,-7.080371],[114.348926,-7.073438],[114.383594,-7.080664],[114.412598,-7.133496]]],[[[112.719434,-5.811035],[112.697949,-5.846484],[112.602148,-5.843652],[112.586035,-5.803613],[112.648535,-5.730859],[112.690039,-5.726172],[112.727344,-5.752734],[112.719434,-5.811035]]],[[[105.252832,-6.64043],[105.19043,-6.6625],[105.142773,-6.643066],[105.121387,-6.614941],[105.192285,-6.545605],[105.225684,-6.529102],[105.260547,-6.523926],[105.277441,-6.561426],[105.252832,-6.64043]]],[[[97.33418,2.075635],[97.32832,2.053271],[97.225098,2.158496],[97.108301,2.216895],[97.156641,2.232227],[97.252832,2.216016],[97.291406,2.20083],[97.328711,2.148535],[97.33418,2.075635]]],[[[95.362109,5.812402],[95.342578,5.784131],[95.283203,5.798535],[95.217676,5.889502],[95.241992,5.907031],[95.28252,5.897754],[95.35918,5.876758],[95.366016,5.842676],[95.362109,5.812402]]],[[[123.597559,-1.704297],[123.528613,-1.71084],[123.48252,-1.681445],[123.486621,-1.534863],[123.528516,-1.502832],[123.548535,-1.508203],[123.561328,-1.551855],[123.582031,-1.590918],[123.616406,-1.627441],[123.597559,-1.704297]]],[[[123.242383,-4.112988],[123.144531,-4.233301],[123.076172,-4.227148],[122.994727,-4.148047],[122.970898,-4.061328],[122.969043,-4.02998],[123.024902,-3.980957],[123.211914,-3.997559],[123.246973,-4.040918],[123.242383,-4.112988]]],[[[123.848242,-1.955469],[123.866016,-1.995703],[123.803516,-1.994336],[123.777246,-1.918652],[123.783496,-1.87832],[123.848242,-1.955469]]],[[[123.152539,-1.816504],[123.078809,-1.898926],[123.070898,-1.854883],[123.08584,-1.814844],[123.106445,-1.786719],[123.1375,-1.772656],[123.152539,-1.816504]]],[[[119.464063,-8.741016],[119.424902,-8.750488],[119.385547,-8.736035],[119.40166,-8.64707],[119.378906,-8.586523],[119.419922,-8.539062],[119.430176,-8.45498],[119.446484,-8.429199],[119.470508,-8.455664],[119.481738,-8.472949],[119.502148,-8.481055],[119.546973,-8.482617],[119.557227,-8.518848],[119.555469,-8.553418],[119.536328,-8.589355],[119.482813,-8.628223],[119.444043,-8.671777],[119.464063,-8.741016]]],[[[119.073828,-8.238867],[119.02998,-8.240039],[119.020898,-8.199902],[119.036621,-8.157813],[119.078711,-8.140234],[119.097754,-8.13916],[119.12832,-8.177148],[119.134863,-8.19707],[119.106738,-8.223438],[119.073828,-8.238867]]],[[[115.609961,-8.769824],[115.581934,-8.804199],[115.500879,-8.742871],[115.480469,-8.71543],[115.540625,-8.675391],[115.561426,-8.669922],[115.613281,-8.713184],[115.609961,-8.769824]]],[[[117.649023,4.168994],[117.74541,4.166943],[117.884766,4.186133],[117.917871,4.090527],[117.922852,4.054297],[117.736816,4.004004],[117.625098,4.121484],[117.649023,4.168994]]],[[[117.658398,3.280518],[117.645801,3.247754],[117.560352,3.328223],[117.5375,3.386377],[117.547852,3.431982],[117.636719,3.436084],[117.680859,3.40752],[117.658398,3.280518]]],[[[124.05127,-5.97373],[124.04209,-6.021582],[124.005664,-5.966699],[123.972266,-5.939355],[123.975781,-5.880176],[124.022949,-5.902148],[124.05127,-5.97373]]],[[[123.626758,-5.271582],[123.622754,-5.373047],[123.582617,-5.367383],[123.550098,-5.331836],[123.540918,-5.29834],[123.542773,-5.271094],[123.560645,-5.249805],[123.626758,-5.271582]]],[[[120.774414,-7.118945],[120.672363,-7.124707],[120.64082,-7.11582],[120.633398,-7.018262],[120.745508,-7.060156],[120.781738,-7.063086],[120.774414,-7.118945]]],[[[117.556348,-8.367285],[117.533594,-8.367969],[117.49043,-8.34873],[117.505957,-8.307031],[117.482129,-8.239258],[117.490527,-8.183398],[117.546094,-8.151953],[117.665039,-8.148242],[117.669238,-8.189258],[117.556348,-8.367285]]],[[[116.424121,-3.464453],[116.387793,-3.636719],[116.326563,-3.539062],[116.395312,-3.42334],[116.426953,-3.399902],[116.424121,-3.464453]]],[[[127.372656,0.791309],[127.338379,0.758447],[127.306055,0.769434],[127.286426,0.811914],[127.292773,0.84248],[127.319824,0.862012],[127.353809,0.847461],[127.372656,0.791309]]],[[[134.374219,-2.123535],[134.345215,-2.13877],[134.335059,-2.095215],[134.350781,-2.036914],[134.369531,-2.027637],[134.391016,-2.030762],[134.419043,-2.051758],[134.374219,-2.123535]]],[[[133.570801,-4.245898],[133.621875,-4.299316],[133.50293,-4.257422],[133.333008,-4.169629],[133.320898,-4.111035],[133.464355,-4.199805],[133.570801,-4.245898]]],[[[130.905273,-0.777441],[130.879785,-0.828418],[130.832422,-0.862891],[130.402441,-0.923926],[130.439063,-0.887402],[130.457324,-0.851172],[130.484277,-0.83252],[130.526953,-0.837305],[130.548145,-0.82627],[130.569531,-0.821875],[130.59375,-0.82666],[130.635449,-0.811621],[130.723242,-0.822461],[130.813477,-0.813867],[130.807031,-0.765039],[130.905273,-0.777441]]],[[[130.62666,-0.528711],[130.569141,-0.52998],[130.46543,-0.486523],[130.525879,-0.44873],[130.56416,-0.440918],[130.597461,-0.418262],[130.615918,-0.417285],[130.656934,-0.436523],[130.684277,-0.469141],[130.62666,-0.528711]]],[[[129.548926,-0.187012],[129.505664,-0.189844],[129.469238,-0.131445],[129.370117,-0.066406],[129.308789,0.04541],[129.541992,-0.139258],[129.548926,-0.187012]]],[[[127.453418,-0.005859],[127.448633,-0.036621],[127.417871,0.006348],[127.396777,0.016602],[127.419531,0.124414],[127.431348,0.142578],[127.449414,0.068994],[127.453418,-0.005859]]],[[[127.419727,0.64209],[127.383984,0.631006],[127.373633,0.634863],[127.362891,0.675146],[127.382617,0.743555],[127.424805,0.744385],[127.442578,0.733447],[127.445898,0.683301],[127.419727,0.64209]]],[[[127.300391,-0.780957],[127.289062,-0.801563],[127.18457,-0.775293],[127.156445,-0.760938],[127.209082,-0.619336],[127.258203,-0.623438],[127.30127,-0.758398],[127.300391,-0.780957]]],[[[128.722461,-3.546875],[128.720117,-3.58916],[128.713281,-3.602539],[128.658789,-3.587793],[128.619531,-3.588574],[128.585156,-3.512207],[128.594922,-3.494824],[128.666504,-3.516699],[128.693555,-3.524512],[128.722461,-3.546875]]],[[[128.562598,-3.585449],[128.391602,-3.637891],[128.42832,-3.54043],[128.451563,-3.514746],[128.536328,-3.541309],[128.562598,-3.585449]]],[[[126.719336,3.874658],[126.721777,3.83252],[126.66123,3.928418],[126.6375,4.041943],[126.685547,4.001416],[126.739648,3.917725],[126.719336,3.874658]]],[[[126.851855,3.768457],[126.835547,3.756934],[126.799609,3.783887],[126.777539,3.813428],[126.778906,3.843164],[126.804492,3.85791],[126.857031,3.812402],[126.857813,3.787207],[126.851855,3.768457]]],[[[125.407422,2.651611],[125.397266,2.629541],[125.360059,2.746826],[125.39082,2.805371],[125.435254,2.783887],[125.446484,2.762988],[125.403906,2.707031],[125.407422,2.651611]]],[[[131.982031,-7.202051],[131.969531,-7.251367],[131.926855,-7.225],[131.884473,-7.16748],[131.822852,-7.15918],[131.777539,-7.143945],[131.750781,-7.116797],[131.922266,-7.104492],[131.982031,-7.202051]]],[[[128.670117,-7.183301],[128.625,-7.208594],[128.550195,-7.156348],[128.529785,-7.13457],[128.577344,-7.083203],[128.627734,-7.06875],[128.658301,-7.091113],[128.673242,-7.113379],[128.666895,-7.137988],[128.670117,-7.183301]]],[[[127.419434,-7.623047],[127.355273,-7.646484],[127.375,-7.572461],[127.370703,-7.512793],[127.475195,-7.531055],[127.474023,-7.578516],[127.463965,-7.596875],[127.419434,-7.623047]]],[[[123.416211,-10.302637],[123.325977,-10.3375],[123.325586,-10.26416],[123.395312,-10.171387],[123.458789,-10.139941],[123.493945,-10.176953],[123.496777,-10.193945],[123.405078,-10.227148],[123.416211,-10.302637]]],[[[121.883008,-10.590332],[121.833105,-10.602148],[121.726172,-10.573145],[121.704688,-10.555664],[121.796289,-10.507422],[121.866992,-10.438867],[121.949512,-10.433008],[121.99834,-10.446973],[121.981348,-10.528418],[121.883008,-10.590332]]],[[[134.819531,-6.43418],[134.795117,-6.442383],[134.795313,-6.393066],[134.822949,-6.349609],[134.851855,-6.324609],[134.88584,-6.323535],[134.819531,-6.43418]]],[[[134.674414,-6.749805],[134.657422,-6.765332],[134.631445,-6.73291],[134.629102,-6.712793],[134.663477,-6.657715],[134.697656,-6.625684],[134.735742,-6.62334],[134.726074,-6.668652],[134.674414,-6.749805]]],[[[127.987891,-2.936523],[127.937695,-3.02002],[127.849609,-3.016309],[127.834277,-3.004395],[127.938379,-2.952344],[127.987891,-2.936523]]],[[[127.60625,-3.315137],[127.629297,-3.35918],[127.531055,-3.331348],[127.487695,-3.288184],[127.530469,-3.261523],[127.554492,-3.254297],[127.60625,-3.315137]]],[[[122.977344,-8.545215],[122.945508,-8.604004],[122.887793,-8.587305],[122.903516,-8.530664],[122.932813,-8.49707],[123.010547,-8.44834],[123.089453,-8.439844],[123.137891,-8.456934],[123.153125,-8.475781],[123.030078,-8.494824],[122.977344,-8.545215]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":2,"SOVEREIGNT":"India","SOV_A3":"IND","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"India","ADM0_A3":"IND","GEOU_DIF":0,"GEOUNIT":"India","GU_A3":"IND","SU_DIF":0,"SUBUNIT":"India","SU_A3":"IND","BRK_DIFF":0,"NAME":"India","NAME_LONG":"India","BRK_A3":"IND","BRK_NAME":"India","BRK_GROUP":null,"ABBREV":"India","POSTAL":"IND","FORMAL_EN":"Republic of India","FORMAL_FR":null,"NAME_CIAWF":"India","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"India","NAME_ALT":null,"MAPCOLOR7":1,"MAPCOLOR8":3,"MAPCOLOR9":2,"MAPCOLOR13":2,"POP_EST":1366417754,"POP_RANK":18,"POP_YEAR":2019,"GDP_MD":2868929,"GDP_YEAR":2019,"ECONOMY":"3. Emerging region: BRIC","INCOME_GRP":"4. Lower middle income","FIPS_10":"IN","ISO_A2":"IN","ISO_A2_EH":"IN","ISO_A3":"IND","ISO_A3_EH":"IND","ISO_N3":"356","ISO_N3_EH":"356","UN_A3":"356","WB_A2":"IN","WB_A3":"IND","WOE_ID":23424848,"WOE_ID_EH":23424848,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"IND","ADM0_DIFF":null,"ADM0_TLC":"IND","ADM0_A3_US":"IND","ADM0_A3_FR":"IND","ADM0_A3_RU":"IND","ADM0_A3_ES":"IND","ADM0_A3_CN":"IND","ADM0_A3_TW":"IND","ADM0_A3_IN":"IND","ADM0_A3_NP":"IND","ADM0_A3_PK":"IND","ADM0_A3_DE":"IND","ADM0_A3_GB":"IND","ADM0_A3_BR":"IND","ADM0_A3_IL":"IND","ADM0_A3_PS":"IND","ADM0_A3_SA":"IND","ADM0_A3_EG":"IND","ADM0_A3_MA":"IND","ADM0_A3_PT":"IND","ADM0_A3_AR":"IND","ADM0_A3_JP":"IND","ADM0_A3_KO":"IND","ADM0_A3_VN":"IND","ADM0_A3_TR":"IND","ADM0_A3_ID":"IND","ADM0_A3_PL":"IND","ADM0_A3_GR":"IND","ADM0_A3_IT":"IND","ADM0_A3_NL":"IND","ADM0_A3_SE":"IND","ADM0_A3_BD":"IND","ADM0_A3_UA":"IND","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Asia","REGION_UN":"Asia","SUBREGION":"Southern Asia","REGION_WB":"South Asia","NAME_LEN":5,"LONG_LEN":5,"ABBREV_LEN":5,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":1.7,"MAX_LABEL":6.7,"LABEL_X":79.358105,"LABEL_Y":22.686852,"NE_ID":1159320847,"WIKIDATAID":"Q668","NAME_AR":"الهند","NAME_BN":"ভারত","NAME_DE":"Indien","NAME_EN":"India","NAME_ES":"India","NAME_FA":"هند","NAME_FR":"Inde","NAME_EL":"Ινδία","NAME_HE":"הודו","NAME_HI":"भारत","NAME_HU":"India","NAME_ID":"India","NAME_IT":"India","NAME_JA":"インド","NAME_KO":"인도","NAME_NL":"India","NAME_PL":"Indie","NAME_PT":"Índia","NAME_RU":"Индия","NAME_SV":"Indien","NAME_TR":"Hindistan","NAME_UK":"Індія","NAME_UR":"بھارت","NAME_VI":"Ấn Độ","NAME_ZH":"印度","NAME_ZHT":"印度","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[68.165039,6.748682,97.343555,35.495898],"geometry":{"type":"MultiPolygon","coordinates":[[[[68.165039,23.857324],[68.23418,23.900537],[68.28252,23.927979],[68.38125,23.950879],[68.488672,23.967236],[68.586621,23.966602],[68.724121,23.964697],[68.728125,24.265625],[68.739648,24.291992],[68.758984,24.307227],[68.781152,24.313721],[68.8,24.309082],[68.82832,24.264014],[68.863477,24.266504],[68.900781,24.292432],[68.98457,24.273096],[69.051563,24.286328],[69.119531,24.268652],[69.235059,24.268262],[69.443457,24.275391],[69.55918,24.273096],[69.63418,24.225195],[69.716211,24.172607],[69.805176,24.165234],[69.933789,24.171387],[70.021094,24.191553],[70.065137,24.240576],[70.098242,24.2875],[70.289062,24.356299],[70.489258,24.412158],[70.546777,24.418311],[70.565039,24.385791],[70.555859,24.331104],[70.579297,24.279053],[70.659473,24.246094],[70.716309,24.237988],[70.767285,24.24541],[70.805078,24.261963],[70.88623,24.34375],[70.928125,24.362354],[70.982813,24.361035],[71.044043,24.400098],[71.045313,24.42998],[71.00625,24.444336],[70.973242,24.487402],[70.979297,24.522461],[70.969824,24.571875],[70.976367,24.61875],[71.002344,24.653906],[71.047852,24.687744],[71.020703,24.757666],[70.950879,24.891602],[70.877734,25.062988],[70.800488,25.205859],[70.702539,25.331055],[70.652051,25.4229],[70.657227,25.625781],[70.648438,25.666943],[70.614844,25.691895],[70.569531,25.705957],[70.505859,25.685303],[70.448535,25.681348],[70.325195,25.685742],[70.264648,25.706543],[70.100195,25.910059],[70.078613,25.990039],[70.077734,26.071973],[70.132617,26.214795],[70.149219,26.347559],[70.156836,26.471436],[70.147656,26.506445],[70.114648,26.548047],[70.059375,26.57876],[69.911426,26.586133],[69.735938,26.627051],[69.600586,26.699121],[69.506934,26.742676],[69.48125,26.770996],[69.47002,26.804443],[69.494531,26.95415],[69.537012,27.122949],[69.567969,27.174609],[69.621582,27.228076],[69.661328,27.264502],[69.724805,27.312695],[69.896289,27.473633],[70.049805,27.694727],[70.144531,27.849023],[70.193945,27.894873],[70.244336,27.934131],[70.318457,27.981641],[70.403711,28.025049],[70.488574,28.023145],[70.569238,27.983789],[70.629102,27.937451],[70.649121,27.835352],[70.691602,27.768994],[70.737402,27.729004],[70.797949,27.709619],[70.874902,27.714453],[71.184766,27.831641],[71.290137,27.855273],[71.542969,27.869873],[71.716699,27.915088],[71.870313,27.9625],[71.888867,28.047461],[71.948047,28.177295],[72.128516,28.346338],[72.179199,28.421777],[72.233887,28.56582],[72.291992,28.697266],[72.341895,28.751904],[72.625586,28.896143],[72.90332,29.02876],[72.94873,29.088818],[73.12832,29.363916],[73.231152,29.550635],[73.257812,29.610693],[73.317285,29.772998],[73.381641,29.934375],[73.46748,29.97168],[73.658008,30.033203],[73.80918,30.093359],[73.886523,30.162012],[73.933398,30.22207],[73.924609,30.281641],[73.882715,30.352148],[73.891602,30.394043],[73.899316,30.435352],[74.008984,30.519678],[74.215625,30.768994],[74.339355,30.893555],[74.380371,30.893408],[74.509766,30.959668],[74.632812,31.034668],[74.625781,31.06875],[74.610352,31.112842],[74.539746,31.132666],[74.517676,31.185596],[74.534961,31.261377],[74.593945,31.465381],[74.581836,31.523926],[74.509961,31.712939],[74.525977,31.765137],[74.555566,31.818555],[74.635742,31.889746],[74.739453,31.948828],[75.071484,32.089355],[75.13877,32.104785],[75.254102,32.140332],[75.324707,32.215283],[75.333496,32.279199],[75.302637,32.318896],[75.233691,32.372119],[75.104102,32.420361],[74.987305,32.462207],[74.788867,32.457812],[74.685742,32.493799],[74.657813,32.518945],[74.643359,32.607715],[74.663281,32.757666],[74.632422,32.770898],[74.588281,32.753223],[74.483398,32.770996],[74.35459,32.768701],[74.305469,32.810449],[74.32998,32.86084],[74.322754,32.927979],[74.303613,32.991797],[74.283594,33.005127],[74.22207,33.020312],[74.12627,33.075439],[74.049121,33.143408],[74.003809,33.189453],[73.989844,33.221191],[73.994238,33.242188],[74.050391,33.30127],[74.117773,33.384131],[74.142578,33.455371],[74.15,33.506982],[74.13125,33.545068],[74.069727,33.591699],[74.004004,33.632422],[73.977539,33.667822],[73.976465,33.721289],[74.000977,33.788184],[74.078418,33.838672],[74.215625,33.886572],[74.250879,33.946094],[74.246484,33.990186],[74.208984,34.003418],[74.112598,34.003711],[73.949902,34.018799],[73.922363,34.043066],[73.904102,34.075684],[73.903906,34.108008],[73.938281,34.144775],[73.979492,34.191309],[73.972363,34.236621],[73.924609,34.287842],[73.809961,34.325342],[73.794531,34.378223],[73.812109,34.422363],[73.850098,34.485303],[73.883105,34.529053],[73.96123,34.653467],[74.055859,34.680664],[74.171973,34.720898],[74.300391,34.765381],[74.497949,34.732031],[74.594141,34.715771],[74.78877,34.677734],[74.951855,34.64585],[75.118457,34.636816],[75.1875,34.639014],[75.264063,34.601367],[75.452539,34.536719],[75.605566,34.502734],[75.70918,34.503076],[75.862109,34.560254],[75.938281,34.612549],[76.041016,34.669922],[76.172461,34.667725],[76.456738,34.756104],[76.509961,34.740869],[76.594434,34.73584],[76.696289,34.786914],[76.749023,34.847559],[76.75752,34.877832],[76.78291,34.900195],[76.891699,34.938721],[77.000879,34.991992],[77.030664,35.062354],[77.048633,35.109912],[77.168555,35.171533],[77.292969,35.235547],[77.423437,35.302588],[77.571582,35.37876],[77.696973,35.443262],[77.799414,35.495898],[77.802539,35.492773],[77.810938,35.484521],[77.851562,35.460791],[77.894922,35.449023],[77.945898,35.471631],[78.009473,35.490234],[78.042676,35.479785],[78.047461,35.449414],[78.00918,35.306934],[78.012207,35.251025],[78.075781,35.134912],[78.158496,34.946484],[78.236133,34.769824],[78.282031,34.653906],[78.326953,34.606396],[78.515723,34.557959],[78.670801,34.518164],[78.763086,34.45293],[78.864844,34.390332],[78.936426,34.351953],[78.970117,34.302637],[78.976953,34.258105],[78.970605,34.228223],[78.931738,34.188965],[78.753027,34.087695],[78.731738,34.055566],[78.72666,34.013379],[78.761719,33.887598],[78.783789,33.808789],[78.789941,33.650342],[78.801855,33.499707],[78.865039,33.431104],[78.916699,33.386768],[78.948438,33.346533],[79.012598,33.291455],[79.066504,33.250391],[79.1125,33.22627],[79.135156,33.171924],[79.12168,33.108105],[79.102832,33.052539],[79.108594,33.022656],[79.145508,33.001465],[79.202246,32.946045],[79.20957,32.864844],[79.205566,32.809033],[79.22793,32.758789],[79.233887,32.703076],[79.216504,32.564014],[79.219043,32.507568],[79.219336,32.501074],[79.169922,32.497217],[79.127344,32.475781],[79.066992,32.388184],[78.997656,32.365137],[78.918945,32.358203],[78.837891,32.411963],[78.771289,32.468066],[78.753516,32.499268],[78.736719,32.558398],[78.700879,32.597021],[78.631543,32.578955],[78.526367,32.570801],[78.4125,32.557715],[78.391699,32.544727],[78.389648,32.519873],[78.41748,32.466699],[78.441309,32.397363],[78.455273,32.300342],[78.486133,32.23623],[78.495898,32.215771],[78.677734,32.023047],[78.725586,31.983789],[78.735449,31.957959],[78.719727,31.887646],[78.687012,31.805518],[78.693457,31.740381],[78.753906,31.668359],[78.80293,31.618066],[78.755078,31.550293],[78.726758,31.471826],[78.758594,31.436572],[78.743555,31.323779],[78.757812,31.30249],[78.791602,31.293652],[78.844531,31.301514],[78.899512,31.331348],[78.945996,31.337207],[78.973926,31.328613],[79.011133,31.414111],[79.04375,31.426221],[79.107129,31.402637],[79.232617,31.241748],[79.33877,31.105713],[79.369629,31.079932],[79.388477,31.064209],[79.493164,30.993701],[79.56543,30.949072],[79.664258,30.965234],[79.794629,30.968262],[79.871875,30.924609],[79.916602,30.894189],[79.918555,30.889893],[79.924512,30.88877],[80.081445,30.781934],[80.149414,30.789844],[80.194336,30.759229],[80.207129,30.68374],[80.18623,30.605322],[80.191211,30.568408],[80.260938,30.561328],[80.40957,30.509473],[80.541016,30.463525],[80.608887,30.448877],[80.682129,30.414844],[80.746777,30.3604],[80.873535,30.290576],[80.985449,30.237109],[81.010254,30.164502],[80.966113,30.180029],[80.907617,30.171924],[80.848145,30.139746],[80.819922,30.119336],[80.684082,29.994336],[80.612891,29.955859],[80.549023,29.899805],[80.401855,29.730273],[80.316895,29.57207],[80.254883,29.42334],[80.255957,29.318018],[80.233008,29.194629],[80.169531,29.124316],[80.130469,29.100391],[80.08457,28.994189],[80.05166,28.870312],[80.070703,28.830176],[80.149609,28.776074],[80.226562,28.72334],[80.324805,28.666406],[80.418555,28.612012],[80.479102,28.604883],[80.495801,28.635791],[80.517871,28.665186],[80.587012,28.649609],[80.671289,28.59624],[80.726172,28.553906],[80.750781,28.539697],[80.896094,28.468555],[81.016602,28.40957],[81.168945,28.33501],[81.20625,28.289404],[81.238965,28.240869],[81.31084,28.176367],[81.486035,28.062207],[81.635547,27.980469],[81.757227,27.913818],[81.852637,27.86709],[81.896875,27.874463],[81.945215,27.899268],[81.987695,27.91377],[82.037012,27.900586],[82.111914,27.864941],[82.287695,27.756543],[82.451367,27.671826],[82.629883,27.687061],[82.677344,27.673437],[82.71084,27.59668],[82.733398,27.518994],[82.932813,27.467676],[83.064063,27.444531],[83.213867,27.402295],[83.289746,27.370996],[83.369434,27.410254],[83.383984,27.444824],[83.447168,27.465332],[83.55166,27.456348],[83.746973,27.395947],[83.828809,27.377832],[83.897168,27.435107],[84.024805,27.46167],[84.091016,27.491357],[84.229785,27.427832],[84.480859,27.348193],[84.610156,27.298682],[84.640723,27.249854],[84.654785,27.203662],[84.653809,27.091699],[84.685352,27.041016],[84.937207,26.926904],[85.020117,26.878516],[85.087305,26.862939],[85.125391,26.860986],[85.151563,26.846631],[85.174121,26.781543],[85.191797,26.766553],[85.240234,26.750342],[85.292969,26.741016],[85.456445,26.797217],[85.568457,26.839844],[85.648438,26.829004],[85.699902,26.781641],[85.707422,26.712646],[85.737305,26.639746],[85.794531,26.60415],[85.855664,26.600195],[86.007324,26.649365],[86.129395,26.611719],[86.241602,26.597998],[86.366113,26.574414],[86.414453,26.556299],[86.543652,26.495996],[86.701367,26.435059],[86.7625,26.441943],[87.016406,26.55542],[87.037891,26.541602],[87.089551,26.433203],[87.166797,26.394238],[87.287402,26.360303],[87.413574,26.422949],[87.513086,26.40498],[87.633398,26.399121],[87.748828,26.429297],[87.849219,26.436914],[87.995117,26.382373],[88.026953,26.39502],[88.054883,26.430029],[88.111523,26.586426],[88.161523,26.724805],[88.157227,26.807324],[88.111035,26.928467],[87.993164,27.086084],[87.984375,27.133936],[88.024121,27.408887],[88.067871,27.567383],[88.105566,27.642432],[88.146973,27.749219],[88.154297,27.798682],[88.150293,27.843311],[88.109766,27.870605],[88.098926,27.904541],[88.108984,27.933008],[88.141113,27.948926],[88.275195,27.968848],[88.425977,28.01167],[88.486133,28.034473],[88.531641,28.057373],[88.57793,28.093359],[88.621094,28.091846],[88.75625,28.039697],[88.803711,28.006934],[88.828613,27.907275],[88.848828,27.868652],[88.829883,27.767383],[88.749023,27.521875],[88.764844,27.429883],[88.83252,27.362842],[88.891406,27.316064],[88.881641,27.297461],[88.760352,27.218115],[88.73877,27.175586],[88.765625,27.134229],[88.813574,27.099023],[88.835156,27.065576],[88.857617,26.961475],[88.919141,26.932227],[89.040918,26.865039],[89.148242,26.816162],[89.332129,26.848633],[89.38418,26.826562],[89.474609,26.803418],[89.545117,26.79624],[89.586133,26.778955],[89.60918,26.762207],[89.606152,26.741113],[89.609961,26.719434],[89.710938,26.713916],[89.763867,26.701563],[89.943164,26.723926],[90.122949,26.75459],[90.206055,26.84751],[90.242383,26.85415],[90.345898,26.890332],[90.447656,26.850781],[90.559863,26.796582],[90.620313,26.780225],[90.739648,26.77168],[90.855762,26.777734],[91.133887,26.803418],[91.286523,26.789941],[91.426758,26.86709],[91.455859,26.866895],[91.517578,26.807324],[91.671582,26.802002],[91.753711,26.830762],[91.84209,26.852979],[91.898633,26.860059],[91.94375,26.86084],[91.99834,26.85498],[92.049707,26.874854],[92.073438,26.914844],[92.068164,26.975195],[92.030859,27.04082],[91.998633,27.079297],[91.992285,27.099902],[92.002539,27.147363],[92.031152,27.214307],[92.083398,27.290625],[92.044922,27.364697],[91.99082,27.450195],[91.950977,27.458301],[91.85127,27.438623],[91.743066,27.442529],[91.658105,27.493604],[91.594727,27.557666],[91.579297,27.611426],[91.597656,27.677002],[91.625879,27.737305],[91.631934,27.759961],[91.712598,27.759814],[91.824707,27.746436],[91.909375,27.729687],[91.977637,27.730371],[92.10127,27.807617],[92.157617,27.812256],[92.222266,27.826953],[92.250488,27.841504],[92.270117,27.830225],[92.341016,27.820752],[92.414844,27.824609],[92.480664,27.845947],[92.54668,27.879199],[92.664355,27.948926],[92.687793,27.988965],[92.6875,28.025732],[92.665625,28.049854],[92.643457,28.061523],[92.652539,28.093359],[92.701855,28.147119],[92.881836,28.228125],[93.034961,28.327637],[93.119238,28.402295],[93.157813,28.492725],[93.206543,28.59082],[93.251953,28.629492],[93.360547,28.654053],[93.664941,28.690234],[93.760742,28.729785],[93.902246,28.803223],[93.973633,28.860791],[94.013281,28.90752],[94.017676,28.959521],[94.111523,28.975879],[94.193457,29.059912],[94.293262,29.144629],[94.468066,29.216211],[94.623047,29.312402],[94.677051,29.297021],[94.733398,29.251611],[94.763086,29.20127],[94.769434,29.175879],[94.96748,29.144043],[94.998828,29.14917],[95.144727,29.104053],[95.279102,29.049561],[95.353125,29.035889],[95.389258,29.037402],[95.420215,29.054297],[95.456543,29.102295],[95.49375,29.137012],[95.516992,29.151172],[95.51582,29.206348],[95.710352,29.313818],[95.885059,29.390918],[96.035352,29.447168],[96.07959,29.424121],[96.128516,29.381396],[96.194727,29.272461],[96.234961,29.245801],[96.337207,29.260986],[96.355859,29.249072],[96.339746,29.209814],[96.270508,29.16123],[96.180859,29.117676],[96.122363,29.08208],[96.141406,28.963477],[96.137109,28.922607],[96.162207,28.909717],[96.346875,29.027441],[96.435742,29.050684],[96.46709,29.022266],[96.477148,28.959326],[96.55,28.82959],[96.580859,28.763672],[96.395605,28.606543],[96.327344,28.525391],[96.329883,28.496826],[96.326172,28.468555],[96.278906,28.428174],[96.281445,28.412061],[96.319824,28.386523],[96.366406,28.367285],[96.389063,28.36792],[96.427734,28.406006],[96.602637,28.459912],[96.652832,28.449756],[96.775781,28.367041],[96.833008,28.362402],[96.980859,28.337695],[97.075391,28.368945],[97.145117,28.340332],[97.289453,28.236816],[97.322461,28.217969],[97.310254,28.155225],[97.302734,28.085986],[97.33916,28.030859],[97.343555,27.982324],[97.335156,27.937744],[97.306152,27.90708],[97.226074,27.890039],[97.157813,27.836865],[97.049707,27.76001],[96.962793,27.698291],[96.899707,27.643848],[96.876855,27.586719],[96.883594,27.514844],[96.901953,27.4396],[97.103711,27.16333],[97.102051,27.11543],[97.038086,27.102051],[96.953418,27.133301],[96.880273,27.177832],[96.797852,27.296191],[96.731641,27.331494],[96.665723,27.339258],[96.274219,27.278369],[96.19082,27.261279],[96.061426,27.21709],[95.970898,27.128076],[95.905273,27.046631],[95.837305,27.013818],[95.738379,26.950439],[95.463867,26.756055],[95.305078,26.672266],[95.201465,26.641406],[95.128711,26.597266],[95.089453,26.525488],[95.059766,26.473975],[95.050879,26.347266],[95.068945,26.191113],[95.108398,26.091406],[95.129297,26.07041],[95.132422,26.04126],[95.092969,25.987305],[95.040723,25.941309],[95.015234,25.912939],[94.991992,25.770459],[94.945703,25.700244],[94.861133,25.597217],[94.78584,25.519336],[94.667773,25.458887],[94.622852,25.41001],[94.579883,25.319824],[94.554395,25.243457],[94.553027,25.215723],[94.566504,25.191504],[94.615625,25.1646],[94.675293,25.138574],[94.703711,25.097852],[94.707617,25.04873],[94.663281,24.931006],[94.584082,24.767236],[94.493164,24.637646],[94.399414,24.514062],[94.377246,24.47373],[94.293066,24.321875],[94.219727,24.113184],[94.170313,23.972656],[94.127637,23.876465],[94.074805,23.87207],[94.01084,23.90293],[93.855469,23.943896],[93.755859,23.976904],[93.683398,24.006543],[93.633301,24.005371],[93.564063,23.986084],[93.49375,23.972852],[93.452148,23.987402],[93.355566,24.074121],[93.32627,24.064209],[93.307324,24.021875],[93.372559,23.77417],[93.414941,23.68208],[93.408105,23.528027],[93.391309,23.33916],[93.366016,23.13252],[93.349414,23.084961],[93.308008,23.030371],[93.253516,23.015479],[93.203906,23.037012],[93.16416,23.032031],[93.150977,22.997314],[93.1625,22.907959],[93.114258,22.805713],[93.078711,22.718213],[93.088184,22.633252],[93.105078,22.547119],[93.162012,22.360205],[93.162402,22.291895],[93.151172,22.230615],[93.121484,22.205176],[93.070605,22.209424],[93.042969,22.183984],[93.021973,22.145703],[92.964551,22.00376],[92.909473,21.988916],[92.854297,22.010156],[92.771387,22.104785],[92.720996,22.132422],[92.688965,22.130957],[92.674707,22.106006],[92.652637,22.049316],[92.630371,22.011328],[92.574902,21.978076],[92.56123,22.048047],[92.531836,22.410303],[92.50957,22.525684],[92.491406,22.6854],[92.464453,22.734424],[92.430469,22.821826],[92.393164,22.897021],[92.361621,22.929004],[92.341211,23.069824],[92.333789,23.242383],[92.33418,23.323828],[92.289355,23.49248],[92.246094,23.683594],[92.187109,23.675537],[92.152344,23.721875],[92.127051,23.720996],[92.044043,23.677783],[91.978516,23.691992],[91.92959,23.685986],[91.929492,23.598242],[91.937891,23.504688],[91.919141,23.471045],[91.790039,23.361035],[91.754199,23.287305],[91.75791,23.209814],[91.773828,23.106104],[91.750977,23.053516],[91.694922,23.004834],[91.619531,22.979688],[91.553516,22.991553],[91.51123,23.033691],[91.471387,23.14126],[91.43623,23.199902],[91.399414,23.213867],[91.370605,23.197998],[91.366797,23.130469],[91.368652,23.074561],[91.359375,23.068359],[91.338867,23.077002],[91.315234,23.104395],[91.253809,23.373633],[91.165527,23.581055],[91.160449,23.660645],[91.19248,23.762891],[91.232031,23.920459],[91.336426,24.018799],[91.350195,24.060498],[91.36709,24.093506],[91.392676,24.100098],[91.526367,24.090771],[91.571387,24.106592],[91.611133,24.152832],[91.66875,24.190088],[91.726562,24.205078],[91.772461,24.210645],[91.846191,24.175293],[91.876953,24.195312],[91.899023,24.260693],[91.931055,24.325537],[91.95166,24.356738],[92.001074,24.370898],[92.06416,24.374365],[92.085059,24.386182],[92.101953,24.408057],[92.11748,24.493945],[92.198047,24.685742],[92.22666,24.770996],[92.230566,24.78623],[92.22832,24.881348],[92.25127,24.895068],[92.384961,24.848779],[92.443164,24.849414],[92.475,24.868506],[92.485449,24.90332],[92.468359,24.944141],[92.373438,25.015137],[92.204688,25.110937],[92.049707,25.169482],[91.763477,25.160645],[91.479688,25.142139],[91.39668,25.151611],[91.293164,25.177979],[91.038281,25.174072],[90.730176,25.159473],[90.613086,25.167725],[90.555273,25.166602],[90.439355,25.157715],[90.250391,25.184961],[90.119629,25.219971],[90.003809,25.25835],[89.866309,25.293164],[89.833301,25.292773],[89.814063,25.305371],[89.800879,25.336133],[89.796289,25.37583],[89.824902,25.560156],[89.799609,25.8396],[89.822949,25.941406],[89.709863,26.17124],[89.670898,26.213818],[89.619043,26.215674],[89.585742,26.186035],[89.572754,26.132324],[89.591406,26.072412],[89.549902,26.005273],[89.466895,25.983545],[89.369727,26.006104],[89.289258,26.037598],[89.186426,26.105957],[89.108301,26.202246],[89.101953,26.30835],[89.066797,26.376904],[89.018652,26.410254],[88.983398,26.419531],[88.951953,26.412109],[88.924121,26.375098],[88.948242,26.337988],[88.981543,26.286133],[88.97041,26.250879],[88.940723,26.245361],[88.896484,26.260498],[88.828027,26.252197],[88.761914,26.279395],[88.722168,26.281836],[88.682813,26.291699],[88.680664,26.352979],[88.620117,26.430664],[88.518262,26.517773],[88.418164,26.571533],[88.369922,26.564111],[88.345898,26.504785],[88.351465,26.482568],[88.38623,26.471533],[88.436719,26.437109],[88.447852,26.401025],[88.44043,26.369482],[88.378027,26.312012],[88.333984,26.25752],[88.235156,26.178076],[88.150781,26.087158],[88.129004,26.018213],[88.097363,25.956348],[88.08457,25.888232],[88.106641,25.841113],[88.147461,25.811426],[88.25293,25.789795],[88.363086,25.698193],[88.452344,25.574414],[88.502441,25.537012],[88.593457,25.495312],[88.769141,25.490479],[88.79541,25.45625],[88.820312,25.365527],[88.854785,25.333545],[88.944141,25.290771],[88.95166,25.259277],[88.929785,25.222998],[88.890137,25.194385],[88.817285,25.176221],[88.747559,25.168945],[88.677539,25.180469],[88.573828,25.187891],[88.45625,25.188428],[88.372949,24.961523],[88.313379,24.881836],[88.279492,24.881934],[88.188867,24.920605],[88.149805,24.914648],[88.045117,24.713037],[88.030273,24.664453],[88.023438,24.627832],[88.079102,24.549902],[88.145508,24.485791],[88.225,24.460645],[88.287109,24.479736],[88.3375,24.453857],[88.396973,24.389258],[88.498535,24.346631],[88.642285,24.325977],[88.723535,24.274902],[88.733594,24.230908],[88.726562,24.18623],[88.71377,24.069629],[88.699805,24.002539],[88.622559,23.826367],[88.567383,23.674414],[88.595996,23.602197],[88.616406,23.572754],[88.635742,23.55],[88.697656,23.493018],[88.74082,23.436621],[88.704004,23.292822],[88.724414,23.25498],[88.807617,23.229687],[88.89707,23.2104],[88.928125,23.186621],[88.850586,23.040527],[88.866992,22.938867],[88.899707,22.843506],[88.923438,22.687549],[88.926953,22.671143],[88.920703,22.632031],[88.971484,22.510937],[89.05,22.274609],[89.055859,22.18623],[89.051465,22.093164],[89.02793,21.937207],[88.949316,21.937939],[89.019629,21.833643],[89.041992,21.758691],[89.05166,21.654102],[88.96709,21.641357],[88.907422,21.653076],[88.85752,21.744678],[88.834375,21.661377],[88.74502,21.584375],[88.712988,21.621973],[88.694727,21.662402],[88.691211,21.733496],[88.740234,22.00542],[88.730273,22.036084],[88.708301,22.056152],[88.65957,22.066943],[88.641602,22.121973],[88.566797,21.832129],[88.599805,21.71377],[88.584668,21.659717],[88.445996,21.614258],[88.305469,21.72334],[88.2875,21.758203],[88.279199,21.696875],[88.253711,21.622314],[88.12207,21.635791],[88.056836,21.694141],[88.099414,21.793555],[88.181055,22.03291],[88.196289,22.139551],[88.087109,22.217725],[87.994434,22.265674],[87.941406,22.374316],[87.961621,22.255029],[88.010742,22.212646],[88.083008,22.182715],[88.159277,22.121729],[88.104102,22.047363],[88.050781,22.001074],[87.948437,21.825439],[87.82373,21.727344],[87.678223,21.653516],[87.200684,21.544873],[87.100684,21.500781],[86.954102,21.365332],[86.85957,21.236719],[86.842285,21.106348],[86.895801,20.965576],[86.939355,20.745068],[86.975488,20.700146],[86.924512,20.619775],[86.835938,20.534326],[86.7625,20.419141],[86.769238,20.355908],[86.750391,20.313232],[86.49873,20.171631],[86.445801,20.088916],[86.376563,20.006738],[86.293652,20.05376],[86.245215,20.053027],[86.311914,19.987793],[86.30293,19.944678],[86.279492,19.919434],[86.216211,19.895801],[85.85293,19.791748],[85.575,19.69292],[85.496875,19.696924],[85.511133,19.726904],[85.559766,19.753467],[85.555078,19.866895],[85.504102,19.887695],[85.459961,19.895898],[85.248633,19.757666],[85.162793,19.620898],[85.180762,19.594873],[85.228516,19.601318],[85.370898,19.678906],[85.436914,19.656885],[85.441602,19.626562],[85.225586,19.50835],[84.770996,19.125391],[84.749805,19.050098],[84.69082,18.964697],[84.609375,18.884326],[84.462793,18.689746],[84.181738,18.400586],[84.104102,18.292676],[83.654297,18.069873],[83.572266,18.003613],[83.387988,17.78667],[83.19834,17.608984],[82.976855,17.461816],[82.593164,17.273926],[82.35957,17.096191],[82.286523,16.978076],[82.281934,16.936084],[82.307227,16.878564],[82.35,16.825195],[82.359766,16.782813],[82.338672,16.706543],[82.327148,16.664355],[82.258789,16.559863],[82.141504,16.485352],[81.761914,16.329492],[81.711719,16.334473],[81.401855,16.365234],[81.286133,16.337061],[81.238574,16.263965],[81.132129,15.961768],[81.030078,15.881445],[80.993457,15.80874],[80.978711,15.75835],[80.917773,15.759668],[80.864746,15.782227],[80.825977,15.765918],[80.781836,15.867334],[80.707812,15.888086],[80.646582,15.89502],[80.384863,15.792773],[80.293457,15.710742],[80.101074,15.323633],[80.053418,15.074023],[80.098633,14.798242],[80.16543,14.577832],[80.178711,14.47832],[80.170117,14.349414],[80.13623,14.286572],[80.111719,14.212207],[80.143652,14.058936],[80.224414,13.858203],[80.244141,13.773486],[80.245801,13.68584],[80.306543,13.485059],[80.265625,13.521289],[80.233398,13.605762],[80.15625,13.71377],[80.062109,13.60625],[80.114258,13.528711],[80.290332,13.436719],[80.342383,13.361328],[80.229102,12.690332],[80.143066,12.452002],[80.0375,12.295801],[79.981738,12.235449],[79.858496,11.98877],[79.771387,11.690234],[79.754102,11.575293],[79.793359,11.44668],[79.748926,11.370605],[79.693164,11.312549],[79.799023,11.338672],[79.835254,11.268848],[79.848633,11.196875],[79.850195,10.768848],[79.838184,10.322559],[79.756934,10.304346],[79.667383,10.299707],[79.588574,10.312354],[79.531641,10.329639],[79.390527,10.305957],[79.314551,10.256689],[79.253613,10.174805],[79.257812,10.035205],[78.996289,9.683105],[78.939941,9.565771],[78.919141,9.452881],[78.953125,9.393799],[79.019922,9.33335],[79.107031,9.308936],[79.275488,9.284619],[79.356348,9.252148],[79.411426,9.192383],[79.212891,9.256006],[78.97959,9.268555],[78.421484,9.105029],[78.274512,8.990186],[78.19248,8.890869],[78.136035,8.663379],[78.126367,8.511328],[78.060156,8.38457],[77.770312,8.189844],[77.587207,8.129883],[77.517578,8.07832],[77.301465,8.145313],[77.065918,8.315918],[76.966895,8.407275],[76.617285,8.84707],[76.553418,8.902783],[76.48291,9.090771],[76.471777,9.16084],[76.452344,9.18877],[76.419043,9.207812],[76.403125,9.236816],[76.324609,9.4521],[76.292383,9.676465],[76.242383,9.9271],[76.284668,9.909863],[76.343066,9.827344],[76.372266,9.707373],[76.375586,9.539893],[76.419531,9.520459],[76.458789,9.53623],[76.346484,9.922119],[76.24873,10.017969],[76.222754,10.024268],[76.195605,10.086133],[76.192676,10.16377],[76.201465,10.200635],[76.12334,10.327002],[76.096094,10.402246],[75.922559,10.784082],[75.844629,11.057568],[75.723828,11.361768],[75.646094,11.468408],[75.524512,11.703125],[75.422656,11.812207],[75.314648,11.958447],[75.229785,12.02334],[75.19668,12.05752],[74.945508,12.564551],[74.868262,12.84458],[74.80293,12.976855],[74.770508,13.077344],[74.682324,13.506934],[74.681641,13.58374],[74.670898,13.667627],[74.608496,13.849658],[74.498535,14.046338],[74.466699,14.168848],[74.466992,14.216504],[74.397168,14.407422],[74.382227,14.494727],[74.335059,14.575439],[74.280371,14.649512],[74.223047,14.708887],[74.08877,14.902197],[74.040625,14.949365],[73.949219,15.074756],[73.884277,15.306445],[73.800781,15.396973],[73.931934,15.396973],[73.851953,15.482471],[73.813867,15.538574],[73.771777,15.573047],[73.832813,15.659375],[73.732813,15.656934],[73.679883,15.708887],[73.607715,15.871094],[73.476074,16.054248],[73.453711,16.1521],[73.337598,16.459863],[73.23916,17.198535],[73.149023,17.527441],[73.156055,17.621924],[73.047168,17.906738],[72.993945,18.097705],[72.97207,18.259277],[72.943164,18.365625],[72.917187,18.576123],[72.875488,18.642822],[72.870898,18.683057],[72.89873,18.778955],[72.976855,18.927197],[73.005566,19.021094],[72.97207,19.15332],[72.900684,19.014502],[72.834668,18.975586],[72.803027,19.079297],[72.802734,19.21875],[72.794531,19.2521],[72.811621,19.298926],[72.987207,19.277441],[72.787891,19.362988],[72.763965,19.413184],[72.756445,19.450537],[72.799414,19.519824],[72.726563,19.578271],[72.697461,19.757129],[72.675977,19.797949],[72.667773,19.830957],[72.708984,20.078027],[72.881152,20.563184],[72.89375,20.672754],[72.878906,20.828516],[72.840527,20.95249],[72.824316,21.083594],[72.813867,21.117188],[72.751562,21.12915],[72.692383,21.177637],[72.623828,21.371973],[72.686523,21.435742],[72.734766,21.470801],[72.668359,21.455908],[72.613281,21.461816],[72.717578,21.55127],[72.810547,21.619922],[73.022461,21.699609],[73.1125,21.750439],[72.979102,21.704688],[72.839746,21.687256],[72.543066,21.696582],[72.59248,21.877588],[72.644043,21.937988],[72.700195,21.971924],[72.61748,21.961719],[72.522266,21.976221],[72.553027,22.159961],[72.62793,22.199609],[72.708789,22.207178],[72.80918,22.233301],[72.701953,22.263623],[72.590137,22.278125],[72.455957,22.248096],[72.332617,22.270215],[72.182813,22.269727],[72.242578,22.245166],[72.306445,22.189209],[72.274414,22.089746],[72.244336,22.027637],[72.161719,21.984814],[72.094434,21.919971],[72.075586,21.862988],[72.037207,21.823047],[72.10293,21.79458],[72.170898,21.774316],[72.210352,21.728223],[72.256641,21.66123],[72.254004,21.531006],[72.076563,21.224072],[72.015234,21.155713],[71.571094,20.970557],[71.396484,20.869775],[71.024609,20.738867],[70.879687,20.714502],[70.719336,20.74043],[70.485059,20.840186],[70.127344,21.094678],[70.034375,21.178809],[69.748438,21.505713],[69.541992,21.678564],[69.385449,21.839551],[69.191699,21.991504],[69.008789,22.196777],[68.969922,22.290283],[68.983496,22.3854],[69.05166,22.437305],[69.131348,22.41626],[69.194238,22.336084],[69.238867,22.300195],[69.276563,22.285498],[69.549219,22.408398],[69.655176,22.403516],[69.727539,22.465186],[69.819043,22.451758],[70.005859,22.547705],[70.08418,22.553516],[70.177246,22.572754],[70.327734,22.815771],[70.44043,22.970312],[70.513477,23.00249],[70.509375,23.040137],[70.489258,23.089502],[70.43457,23.0771],[70.396289,23.030127],[70.367969,22.973486],[70.339453,22.939746],[70.251172,22.970898],[70.191699,22.965674],[70.118262,22.947021],[69.849805,22.856445],[69.739648,22.775195],[69.664648,22.759082],[69.235937,22.848535],[68.81709,23.053711],[68.640723,23.189941],[68.529199,23.364063],[68.41748,23.571484],[68.453809,23.629492],[68.627148,23.75415],[68.776758,23.8521],[68.642383,23.808496],[68.496875,23.747998],[68.424902,23.705566],[68.343359,23.616846],[68.234961,23.596973],[68.191992,23.728906],[68.165039,23.857324]]],[[[93.890039,6.831055],[93.828809,6.748682],[93.709277,7.000684],[93.658008,7.016064],[93.656348,7.13623],[93.68418,7.183594],[93.822461,7.236621],[93.858984,7.206836],[93.92959,6.973486],[93.890039,6.831055]]],[[[93.733594,7.356494],[93.638477,7.261865],[93.597266,7.31875],[93.614258,7.358105],[93.654688,7.379932],[93.69248,7.410596],[93.733594,7.356494]]],[[[93.140723,8.249512],[93.170605,8.212061],[93.115234,8.218506],[93.064258,8.274951],[93.077539,8.327881],[93.096973,8.349365],[93.140723,8.249512]]],[[[93.442578,7.877832],[93.365039,7.876562],[93.341992,7.919336],[93.309375,7.964014],[93.334473,8.006934],[93.375488,8.01792],[93.433691,7.948389],[93.447363,7.899121],[93.442578,7.877832]]],[[[93.536914,8.056641],[93.490039,8.019434],[93.478223,8.024463],[93.471777,8.052686],[93.469727,8.072656],[93.46123,8.108594],[93.456445,8.171875],[93.494043,8.224658],[93.531641,8.21377],[93.511621,8.159766],[93.536914,8.056641]]],[[[92.7875,9.13667],[92.743555,9.130957],[92.716602,9.165088],[92.713281,9.204883],[92.738574,9.230664],[92.762109,9.243896],[92.785742,9.240527],[92.809277,9.173389],[92.7875,9.13667]]],[[[92.502832,10.554883],[92.472656,10.520752],[92.369531,10.547412],[92.377148,10.650586],[92.352832,10.751123],[92.370703,10.793506],[92.447852,10.865527],[92.510352,10.897461],[92.554004,10.799805],[92.574316,10.704248],[92.502832,10.554883]]],[[[92.693164,11.381152],[92.644531,11.361328],[92.595703,11.386426],[92.633887,11.426758],[92.640234,11.509131],[92.690039,11.463428],[92.687207,11.41123],[92.693164,11.381152]]],[[[92.722754,11.536084],[92.700781,11.512549],[92.668359,11.538721],[92.575586,11.718213],[92.559668,11.833447],[92.533887,11.873389],[92.566504,11.930518],[92.60752,11.949512],[92.631836,12.013867],[92.640625,12.112207],[92.676465,12.192383],[92.694727,12.214697],[92.769238,12.215576],[92.788281,12.225781],[92.777637,12.302539],[92.734082,12.335938],[92.718945,12.357324],[92.720703,12.54126],[92.732031,12.615625],[92.75918,12.669092],[92.740039,12.779639],[92.753125,12.820898],[92.807031,12.878906],[92.830859,13.002637],[92.808984,13.0396],[92.860156,13.230566],[92.857324,13.358105],[92.924609,13.48584],[93.029395,13.543848],[93.062305,13.545459],[93.066699,13.436475],[93.07666,13.400684],[93.016016,13.336182],[93.073828,13.2521],[93.066113,13.221582],[93.042969,13.154883],[93.004687,13.089355],[92.951367,13.0625],[92.909961,12.975195],[92.88623,12.942285],[92.965039,12.850488],[92.990234,12.538525],[92.932617,12.453076],[92.863672,12.436035],[92.879492,12.22793],[92.867188,12.181445],[92.798828,12.079248],[92.78623,12.034668],[92.747656,11.992773],[92.763965,11.94043],[92.796777,11.917529],[92.797559,11.874658],[92.766992,11.764648],[92.764648,11.63916],[92.722754,11.536084]]],[[[93.017383,12.036816],[93.062109,11.899414],[92.981738,11.959473],[92.955371,12.002441],[92.995801,12.031787],[93.017383,12.036816]]],[[[92.717578,12.864893],[92.685742,12.799951],[92.679688,12.939258],[92.694434,12.956787],[92.710645,12.961572],[92.730859,12.948535],[92.717578,12.864893]]],[[[72.780371,11.20249],[72.773047,11.196094],[72.772461,11.214258],[72.781836,11.243311],[72.792676,11.262744],[72.795898,11.260449],[72.792871,11.241553],[72.787891,11.215918],[72.780371,11.20249]]],[[[73.067383,8.269092],[73.05332,8.256689],[73.038867,8.251953],[73.028516,8.253516],[73.023438,8.265918],[73.026074,8.275293],[73.038965,8.264844],[73.055859,8.274561],[73.075195,8.306348],[73.079492,8.316504],[73.083594,8.311035],[73.079785,8.293066],[73.067383,8.269092]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":3,"SOVEREIGNT":"Iceland","SOV_A3":"ISL","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Iceland","ADM0_A3":"ISL","GEOU_DIF":0,"GEOUNIT":"Iceland","GU_A3":"ISL","SU_DIF":0,"SUBUNIT":"Iceland","SU_A3":"ISL","BRK_DIFF":0,"NAME":"Iceland","NAME_LONG":"Iceland","BRK_A3":"ISL","BRK_NAME":"Iceland","BRK_GROUP":null,"ABBREV":"Iceland","POSTAL":"IS","FORMAL_EN":"Republic of Iceland","FORMAL_FR":null,"NAME_CIAWF":"Iceland","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Iceland","NAME_ALT":null,"MAPCOLOR7":1,"MAPCOLOR8":4,"MAPCOLOR9":4,"MAPCOLOR13":9,"POP_EST":361313,"POP_RANK":10,"POP_YEAR":2019,"GDP_MD":24188,"GDP_YEAR":2019,"ECONOMY":"2. Developed region: nonG7","INCOME_GRP":"1. High income: OECD","FIPS_10":"IC","ISO_A2":"IS","ISO_A2_EH":"IS","ISO_A3":"ISL","ISO_A3_EH":"ISL","ISO_N3":"352","ISO_N3_EH":"352","UN_A3":"352","WB_A2":"IS","WB_A3":"ISL","WOE_ID":23424845,"WOE_ID_EH":23424845,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"ISL","ADM0_DIFF":null,"ADM0_TLC":"ISL","ADM0_A3_US":"ISL","ADM0_A3_FR":"ISL","ADM0_A3_RU":"ISL","ADM0_A3_ES":"ISL","ADM0_A3_CN":"ISL","ADM0_A3_TW":"ISL","ADM0_A3_IN":"ISL","ADM0_A3_NP":"ISL","ADM0_A3_PK":"ISL","ADM0_A3_DE":"ISL","ADM0_A3_GB":"ISL","ADM0_A3_BR":"ISL","ADM0_A3_IL":"ISL","ADM0_A3_PS":"ISL","ADM0_A3_SA":"ISL","ADM0_A3_EG":"ISL","ADM0_A3_MA":"ISL","ADM0_A3_PT":"ISL","ADM0_A3_AR":"ISL","ADM0_A3_JP":"ISL","ADM0_A3_KO":"ISL","ADM0_A3_VN":"ISL","ADM0_A3_TR":"ISL","ADM0_A3_ID":"ISL","ADM0_A3_PL":"ISL","ADM0_A3_GR":"ISL","ADM0_A3_IT":"ISL","ADM0_A3_NL":"ISL","ADM0_A3_SE":"ISL","ADM0_A3_BD":"ISL","ADM0_A3_UA":"ISL","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Europe","REGION_UN":"Europe","SUBREGION":"Northern Europe","REGION_WB":"Europe & Central Asia","NAME_LEN":7,"LONG_LEN":7,"ABBREV_LEN":7,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":2,"MAX_LABEL":7,"LABEL_X":-18.673711,"LABEL_Y":64.779286,"NE_ID":1159320917,"WIKIDATAID":"Q189","NAME_AR":"آيسلندا","NAME_BN":"আইসল্যান্ড","NAME_DE":"Island","NAME_EN":"Iceland","NAME_ES":"Islandia","NAME_FA":"ایسلند","NAME_FR":"Islande","NAME_EL":"Ισλανδία","NAME_HE":"איסלנד","NAME_HI":"आइसलैण्ड","NAME_HU":"Izland","NAME_ID":"Islandia","NAME_IT":"Islanda","NAME_JA":"アイスランド","NAME_KO":"아이슬란드","NAME_NL":"IJsland","NAME_PL":"Islandia","NAME_PT":"Islândia","NAME_RU":"Исландия","NAME_SV":"Island","NAME_TR":"İzlanda","NAME_UK":"Ісландія","NAME_UR":"آئس لینڈ","NAME_VI":"Iceland","NAME_ZH":"冰岛","NAME_ZHT":"冰島","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[-24.475684,63.406689,-13.556104,66.526074],"geometry":{"type":"Polygon","coordinates":[[[-15.543115,66.228516],[-15.428467,66.224805],[-15.240918,66.259131],[-15.162402,66.281689],[-14.969971,66.359717],[-14.856104,66.381445],[-14.680664,66.376123],[-14.59585,66.381543],[-14.593896,66.373975],[-14.70166,66.342285],[-14.788232,66.331445],[-14.912207,66.284277],[-15.02998,66.177881],[-15.117383,66.125635],[-15.116406,66.102441],[-15.010303,66.061279],[-14.894043,66.037891],[-14.787158,66.059082],[-14.74043,66.05083],[-14.698193,66.020215],[-14.674365,65.989893],[-14.668994,65.959863],[-14.688232,65.896973],[-14.752539,65.833789],[-14.839307,65.780908],[-14.8271,65.764258],[-14.75752,65.755664],[-14.426221,65.789941],[-14.391846,65.787402],[-14.372803,65.770361],[-14.369092,65.738721],[-14.350879,65.710107],[-14.318164,65.684473],[-14.328369,65.658252],[-14.473389,65.575342],[-14.302295,65.627539],[-14.166943,65.642285],[-13.935449,65.616064],[-13.840723,65.585938],[-13.785254,65.533008],[-13.705127,65.550537],[-13.670312,65.549512],[-13.617871,65.519336],[-13.616016,65.487158],[-13.654443,65.441309],[-13.667773,65.398975],[-13.708008,65.381592],[-13.783252,65.368994],[-13.804785,65.354785],[-13.771631,65.32251],[-13.722852,65.290967],[-13.653467,65.289502],[-13.641113,65.275],[-13.639551,65.257471],[-13.648926,65.236963],[-13.671582,65.222852],[-13.707422,65.215137],[-13.754883,65.192529],[-13.580811,65.143018],[-13.558594,65.124658],[-13.556104,65.097656],[-13.569678,65.068115],[-13.599316,65.035938],[-13.651855,65.016846],[-13.777246,65.013721],[-13.854004,64.992871],[-13.827832,64.958008],[-13.829834,64.914014],[-13.85293,64.862158],[-13.95166,64.783643],[-14.044434,64.741895],[-14.135156,64.714795],[-14.296973,64.724365],[-14.385107,64.745215],[-14.375293,64.677441],[-14.465381,64.635693],[-14.44834,64.60083],[-14.416992,64.583105],[-14.432568,64.53833],[-14.475391,64.493994],[-14.54707,64.445947],[-14.628223,64.415967],[-14.789551,64.379834],[-14.927393,64.319678],[-15.021582,64.295898],[-15.255859,64.296924],[-15.494971,64.258203],[-15.83291,64.17666],[-16.060449,64.11123],[-16.236035,64.037207],[-16.468066,63.916357],[-16.640332,63.865479],[-16.739697,63.851758],[-16.933057,63.840918],[-17.095117,63.808105],[-17.633447,63.746582],[-17.815723,63.712988],[-17.839258,63.682373],[-17.914844,63.636377],[-17.91958,63.619727],[-17.886377,63.606885],[-17.880273,63.590186],[-17.946924,63.535742],[-18.080029,63.496338],[-18.14292,63.496973],[-18.219043,63.530859],[-18.252197,63.529687],[-18.265234,63.524512],[-18.266016,63.513867],[-18.222266,63.473193],[-18.302832,63.454248],[-18.653613,63.406689],[-19.250195,63.441992],[-19.486572,63.478516],[-19.778271,63.536572],[-19.951953,63.552051],[-20.198145,63.555811],[-20.400439,63.637109],[-20.494043,63.687354],[-20.501562,63.708203],[-20.491016,63.731982],[-20.469971,63.748193],[-20.438477,63.756982],[-20.371729,63.757861],[-20.363037,63.764941],[-20.413965,63.805176],[-20.462695,63.792139],[-20.592969,63.735352],[-20.650928,63.737402],[-20.727051,63.765771],[-20.729932,63.793359],[-20.87876,63.803906],[-21.008105,63.838379],[-21.136572,63.887939],[-21.155762,63.906836],[-21.094043,63.934424],[-21.105957,63.939844],[-21.152393,63.944531],[-21.24624,63.935449],[-21.387598,63.872803],[-21.448633,63.858398],[-22.372559,63.84375],[-22.606885,63.837256],[-22.652197,63.827734],[-22.693018,63.868506],[-22.729395,63.959473],[-22.742969,64.019385],[-22.733643,64.048389],[-22.701172,64.083203],[-22.650928,64.077295],[-22.603076,64.049609],[-22.559814,64.010352],[-22.510059,63.991455],[-22.187598,64.039209],[-22.056641,64.071338],[-22.000977,64.101855],[-21.935449,64.15376],[-21.865918,64.180322],[-21.832764,64.20542],[-21.767578,64.284863],[-21.722559,64.321777],[-21.668652,64.349023],[-21.606006,64.366602],[-21.46333,64.37915],[-21.557178,64.397852],[-21.64668,64.397852],[-21.951221,64.313916],[-22.053369,64.313916],[-22.049072,64.327002],[-22.006006,64.350684],[-21.90127,64.391602],[-21.973193,64.394678],[-22.000684,64.413184],[-22.003809,64.452197],[-21.950342,64.51499],[-21.702393,64.597803],[-21.61665,64.61001],[-21.590625,64.626367],[-21.623145,64.639746],[-21.674951,64.647705],[-21.924414,64.562549],[-22.106006,64.533057],[-22.159961,64.538818],[-22.253906,64.571875],[-22.28418,64.586572],[-22.324707,64.624414],[-22.320117,64.647217],[-22.233594,64.713965],[-22.247559,64.726904],[-22.307031,64.733496],[-22.467041,64.794971],[-22.720312,64.788818],[-23.346973,64.824365],[-23.476465,64.809277],[-23.689941,64.756543],[-23.818994,64.73916],[-23.878564,64.750635],[-23.932764,64.778516],[-23.981982,64.816113],[-24.026172,64.863428],[-24.007031,64.896436],[-23.924414,64.915234],[-23.863818,64.92417],[-23.693213,64.912744],[-23.485303,64.94585],[-23.352686,64.952783],[-23.3146,64.958008],[-23.236523,64.993262],[-23.197998,65.002148],[-23.137891,64.989795],[-23.108838,64.965869],[-22.899512,65.003027],[-22.827686,65.02168],[-22.81958,65.033105],[-22.788086,65.046484],[-22.683984,65.026367],[-22.599707,65.025732],[-22.494482,65.039551],[-22.308447,65.045654],[-21.892139,65.048779],[-21.829785,65.079102],[-21.800439,65.105908],[-21.763721,65.17373],[-21.77998,65.187695],[-22.03999,65.125244],[-22.099316,65.126221],[-22.400293,65.159326],[-22.509082,65.196777],[-22.473437,65.226855],[-22.313965,65.291602],[-22.149316,65.343555],[-21.906982,65.399707],[-21.850244,65.421533],[-21.844385,65.447363],[-22.005762,65.493457],[-22.311475,65.480713],[-22.389697,65.5354],[-22.643604,65.567773],[-22.812646,65.547412],[-22.90249,65.580469],[-23.12207,65.534766],[-23.604541,65.468604],[-23.796484,65.422754],[-23.899902,65.407568],[-24.018994,65.44502],[-24.223975,65.487207],[-24.454785,65.500342],[-24.475684,65.525195],[-24.341064,65.601221],[-24.248926,65.61499],[-24.156104,65.608008],[-23.979004,65.55498],[-23.856738,65.538379],[-24.01001,65.616211],[-24.006006,65.646143],[-24.017578,65.690918],[-24.065039,65.710156],[-24.111914,65.759717],[-24.092627,65.776465],[-24.032422,65.782324],[-23.909082,65.765576],[-23.615918,65.67959],[-23.471973,65.694824],[-23.392969,65.726514],[-23.285352,65.75],[-23.315918,65.762256],[-23.569287,65.763721],[-23.704736,65.781201],[-23.773242,65.806348],[-23.832617,65.849219],[-23.811719,65.868896],[-23.741309,65.88457],[-23.524951,65.880029],[-23.66748,65.954297],[-23.766553,65.996973],[-23.777344,66.017578],[-23.770557,66.043457],[-23.757129,66.060791],[-23.737158,66.069434],[-23.488867,66.026074],[-23.434473,66.024219],[-23.484668,66.052246],[-23.593555,66.093408],[-23.598535,66.108838],[-23.552637,66.121582],[-23.52998,66.14502],[-23.52793,66.164404],[-23.452539,66.181006],[-23.376562,66.181738],[-23.3,66.166602],[-23.062549,66.08623],[-23.028516,66.063672],[-23.017285,66.033936],[-23.028906,65.99707],[-23.018994,65.982129],[-22.926221,65.994824],[-22.852246,65.979297],[-22.815332,65.983496],[-22.72334,66.039014],[-22.659863,66.025928],[-22.621582,65.999951],[-22.609717,65.976465],[-22.604053,65.944189],[-22.620215,65.876953],[-22.616016,65.86748],[-22.551562,65.90542],[-22.441699,65.908301],[-22.427539,65.927393],[-22.424219,65.998096],[-22.433154,66.057666],[-22.445312,66.07002],[-22.806445,66.152588],[-22.869238,66.17207],[-22.9479,66.212744],[-22.931982,66.233203],[-22.861621,66.251465],[-22.755518,66.25874],[-22.509375,66.257764],[-22.484424,66.266309],[-22.532129,66.287744],[-22.646094,66.301563],[-22.672754,66.313916],[-22.68623,66.337695],[-22.821338,66.324707],[-22.972021,66.32417],[-23.116943,66.338721],[-23.119922,66.357227],[-23.062695,66.384375],[-22.944336,66.429443],[-22.889209,66.440625],[-22.72373,66.432764],[-22.559326,66.44541],[-22.426123,66.430127],[-22.320459,66.385498],[-22.170215,66.307129],[-21.966992,66.256982],[-21.948389,66.24126],[-21.840234,66.200195],[-21.625293,66.089697],[-21.406885,66.025586],[-21.396777,66.009277],[-21.432715,65.990088],[-21.51665,65.967578],[-21.497461,65.955078],[-21.387793,65.93877],[-21.308789,65.895313],[-21.303467,65.876465],[-21.374902,65.741895],[-21.412842,65.71333],[-21.456641,65.698242],[-21.658447,65.723584],[-21.610352,65.680762],[-21.46626,65.635156],[-21.433643,65.609668],[-21.455127,65.584668],[-21.439404,65.578906],[-21.386621,65.592432],[-21.364746,65.578223],[-21.373877,65.536377],[-21.396338,65.50166],[-21.432178,65.474072],[-21.421875,65.462158],[-21.365479,65.46582],[-21.312549,65.458691],[-21.22998,65.420605],[-21.162988,65.304248],[-21.129687,65.266602],[-21.105713,65.3],[-21.075586,65.384961],[-21.047314,65.428369],[-21.02085,65.430273],[-20.997998,65.444531],[-20.978857,65.471191],[-20.939746,65.565186],[-20.804346,65.636426],[-20.739697,65.658252],[-20.678955,65.663086],[-20.649414,65.654199],[-20.548145,65.579492],[-20.486523,65.566943],[-20.454834,65.571045],[-20.411523,65.621729],[-20.356641,65.719043],[-20.344092,65.827734],[-20.373926,65.947705],[-20.356592,66.033252],[-20.292139,66.084375],[-20.20752,66.100098],[-20.102686,66.080469],[-20.026074,66.049268],[-19.874756,65.930127],[-19.752637,65.867773],[-19.647852,65.800781],[-19.593555,65.779053],[-19.489697,65.768066],[-19.461816,65.772363],[-19.443262,65.787842],[-19.433887,65.814453],[-19.45625,65.984912],[-19.427051,66.037988],[-19.382959,66.075684],[-19.195312,66.0979],[-19.093213,66.121533],[-18.99375,66.160352],[-18.911328,66.181152],[-18.845898,66.183936],[-18.777539,66.168799],[-18.706201,66.135742],[-18.594922,66.071338],[-18.454932,65.964551],[-18.276953,65.884717],[-18.183643,65.758008],[-18.163721,65.736572],[-18.141943,65.734082],[-18.118408,65.750537],[-18.10332,65.773926],[-18.099023,65.830273],[-18.148877,65.905029],[-18.315332,66.093164],[-18.318213,66.128809],[-18.297168,66.157422],[-18.179883,66.160547],[-17.906982,66.143311],[-17.819824,66.114111],[-17.634326,65.99917],[-17.582227,65.971387],[-17.550439,65.964404],[-17.539014,65.97832],[-17.467041,65.999658],[-17.417236,66.025537],[-17.334277,66.088867],[-17.153027,66.202832],[-17.115381,66.206201],[-17.062451,66.197217],[-16.969531,66.167383],[-16.925439,66.143457],[-16.838037,66.125244],[-16.748437,66.131641],[-16.624756,66.171582],[-16.48501,66.195947],[-16.437109,66.252539],[-16.428076,66.278369],[-16.540674,66.446729],[-16.493359,66.481152],[-16.249316,66.5229],[-16.035889,66.526074],[-15.9854,66.514648],[-15.850928,66.432861],[-15.759766,66.391699],[-15.71377,66.358594],[-15.702783,66.285742],[-15.647363,66.258789],[-15.543115,66.228516]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":5,"SOVEREIGNT":"Hungary","SOV_A3":"HUN","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Hungary","ADM0_A3":"HUN","GEOU_DIF":0,"GEOUNIT":"Hungary","GU_A3":"HUN","SU_DIF":0,"SUBUNIT":"Hungary","SU_A3":"HUN","BRK_DIFF":0,"NAME":"Hungary","NAME_LONG":"Hungary","BRK_A3":"HUN","BRK_NAME":"Hungary","BRK_GROUP":null,"ABBREV":"Hun.","POSTAL":"HU","FORMAL_EN":"Republic of Hungary","FORMAL_FR":null,"NAME_CIAWF":"Hungary","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Hungary","NAME_ALT":null,"MAPCOLOR7":4,"MAPCOLOR8":6,"MAPCOLOR9":1,"MAPCOLOR13":5,"POP_EST":9769949,"POP_RANK":13,"POP_YEAR":2019,"GDP_MD":163469,"GDP_YEAR":2019,"ECONOMY":"2. Developed region: nonG7","INCOME_GRP":"1. High income: OECD","FIPS_10":"HU","ISO_A2":"HU","ISO_A2_EH":"HU","ISO_A3":"HUN","ISO_A3_EH":"HUN","ISO_N3":"348","ISO_N3_EH":"348","UN_A3":"348","WB_A2":"HU","WB_A3":"HUN","WOE_ID":23424844,"WOE_ID_EH":23424844,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"HUN","ADM0_DIFF":null,"ADM0_TLC":"HUN","ADM0_A3_US":"HUN","ADM0_A3_FR":"HUN","ADM0_A3_RU":"HUN","ADM0_A3_ES":"HUN","ADM0_A3_CN":"HUN","ADM0_A3_TW":"HUN","ADM0_A3_IN":"HUN","ADM0_A3_NP":"HUN","ADM0_A3_PK":"HUN","ADM0_A3_DE":"HUN","ADM0_A3_GB":"HUN","ADM0_A3_BR":"HUN","ADM0_A3_IL":"HUN","ADM0_A3_PS":"HUN","ADM0_A3_SA":"HUN","ADM0_A3_EG":"HUN","ADM0_A3_MA":"HUN","ADM0_A3_PT":"HUN","ADM0_A3_AR":"HUN","ADM0_A3_JP":"HUN","ADM0_A3_KO":"HUN","ADM0_A3_VN":"HUN","ADM0_A3_TR":"HUN","ADM0_A3_ID":"HUN","ADM0_A3_PL":"HUN","ADM0_A3_GR":"HUN","ADM0_A3_IT":"HUN","ADM0_A3_NL":"HUN","ADM0_A3_SE":"HUN","ADM0_A3_BD":"HUN","ADM0_A3_UA":"HUN","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Europe","REGION_UN":"Europe","SUBREGION":"Eastern Europe","REGION_WB":"Europe & Central Asia","NAME_LEN":7,"LONG_LEN":7,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":4,"MAX_LABEL":9,"LABEL_X":19.447867,"LABEL_Y":47.086841,"NE_ID":1159320841,"WIKIDATAID":"Q28","NAME_AR":"المجر","NAME_BN":"হাঙ্গেরি","NAME_DE":"Ungarn","NAME_EN":"Hungary","NAME_ES":"Hungría","NAME_FA":"مجارستان","NAME_FR":"Hongrie","NAME_EL":"Ουγγαρία","NAME_HE":"הונגריה","NAME_HI":"हंगरी","NAME_HU":"Magyarország","NAME_ID":"Hongaria","NAME_IT":"Ungheria","NAME_JA":"ハンガリー","NAME_KO":"헝가리","NAME_NL":"Hongarije","NAME_PL":"Węgry","NAME_PT":"Hungria","NAME_RU":"Венгрия","NAME_SV":"Ungern","NAME_TR":"Macaristan","NAME_UK":"Угорщина","NAME_UR":"ہنگری","NAME_VI":"Hungary","NAME_ZH":"匈牙利","NAME_ZHT":"匈牙利","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[16.093066,45.753027,22.87666,48.553467],"geometry":{"type":"Polygon","coordinates":[[[22.131836,48.405322],[22.227148,48.413428],[22.231152,48.412158],[22.253711,48.407373],[22.269434,48.360889],[22.272168,48.358008],[22.295117,48.327295],[22.316699,48.286621],[22.350195,48.256055],[22.423828,48.243311],[22.520117,48.205371],[22.582422,48.134033],[22.676367,48.104395],[22.683105,48.103613],[22.701563,48.107031],[22.769141,48.109619],[22.782227,48.095215],[22.83623,48.060303],[22.857227,48.029541],[22.846484,47.99707],[22.856055,47.960303],[22.87666,47.947266],[22.851758,47.922559],[22.676758,47.799023],[22.608398,47.766309],[22.562891,47.75957],[22.491406,47.772559],[22.41748,47.762646],[22.351465,47.73623],[22.290625,47.727832],[22.244629,47.696387],[22.185059,47.629053],[22.111914,47.572021],[22.037988,47.536621],[21.999707,47.505029],[21.995313,47.395703],[21.954297,47.364258],[21.899219,47.332568],[21.869336,47.30459],[21.785449,47.138135],[21.721777,47.084814],[21.661426,47.043896],[21.651465,47.006543],[21.652637,46.96377],[21.58418,46.878369],[21.494434,46.789746],[21.477051,46.753369],[21.49707,46.704297],[21.411035,46.647852],[21.361328,46.620752],[21.320215,46.607812],[21.294531,46.572461],[21.252246,46.486377],[21.263281,46.447754],[21.264551,46.412305],[21.191797,46.391553],[21.17041,46.352686],[21.151953,46.304346],[21.12168,46.282422],[21.039844,46.242236],[20.837012,46.259717],[20.760254,46.24624],[20.737402,46.21748],[20.732715,46.194434],[20.707422,46.172803],[20.661035,46.145654],[20.613672,46.133496],[20.508105,46.166943],[20.280957,46.133008],[20.241797,46.108594],[20.210156,46.126025],[20.161426,46.141895],[19.934082,46.161475],[19.844434,46.145898],[19.724512,46.151904],[19.613477,46.169189],[19.530762,46.155176],[19.45752,46.087354],[19.421289,46.064453],[19.392871,46.049805],[19.330273,46.028516],[19.278125,46.002881],[19.208398,45.984424],[19.146289,45.987012],[19.087305,46.016162],[19.066211,46.009521],[19.047656,45.982666],[19.015723,45.959717],[18.927832,45.931396],[18.905371,45.931738],[18.900293,45.931738],[18.833008,45.91084],[18.721777,45.899365],[18.666016,45.907471],[18.564648,45.813281],[18.533594,45.796143],[18.437305,45.767334],[18.358301,45.753027],[18.290625,45.764453],[18.263965,45.765479],[17.963867,45.770264],[17.807129,45.79043],[17.706445,45.827246],[17.639648,45.868359],[17.607031,45.91377],[17.529199,45.941309],[17.406348,45.951074],[17.310645,45.996143],[17.242188,46.076611],[17.149609,46.140332],[17.032715,46.187305],[16.939941,46.253662],[16.871484,46.339307],[16.748047,46.416406],[16.569922,46.48501],[16.516211,46.499902],[16.505664,46.52207],[16.418457,46.607227],[16.38125,46.638672],[16.38457,46.680811],[16.367188,46.704785],[16.335449,46.721631],[16.318457,46.78252],[16.308496,46.827979],[16.283594,46.857275],[16.093066,46.863281],[16.252539,46.971924],[16.331836,47.002197],[16.423926,46.996973],[16.453418,47.006787],[16.46123,47.022461],[16.476953,47.057861],[16.484766,47.09126],[16.492676,47.122656],[16.482813,47.140381],[16.438379,47.145898],[16.416895,47.223437],[16.439746,47.252734],[16.462598,47.273145],[16.434375,47.367432],[16.442871,47.399512],[16.514746,47.404541],[16.574414,47.424658],[16.623047,47.447559],[16.636621,47.476611],[16.676563,47.536035],[16.639746,47.608887],[16.432129,47.656299],[16.421289,47.674463],[16.469629,47.695068],[16.521094,47.724463],[16.550977,47.747363],[16.590918,47.750537],[16.647461,47.739014],[16.747559,47.686279],[16.785938,47.678662],[16.823047,47.693994],[16.862695,47.697266],[16.973438,47.695312],[17.066602,47.707568],[17.045605,47.76377],[17.045898,47.804541],[17.030078,47.837109],[17.039941,47.872949],[17.077734,47.900879],[17.089063,47.963623],[17.147363,48.005957],[17.174609,48.012061],[17.277246,48.004346],[17.301563,47.993359],[17.317285,47.990918],[17.480664,47.887598],[17.635254,47.809912],[17.761914,47.770166],[17.947949,47.766895],[18.145605,47.763428],[18.47627,47.777002],[18.724219,47.787158],[18.740625,47.806494],[18.778027,47.852881],[18.74834,47.892676],[18.750098,47.939453],[18.791895,48.000293],[18.91416,48.05083],[19.265137,48.073047],[19.466992,48.110693],[19.497461,48.162109],[19.564258,48.212842],[19.625391,48.223096],[19.70918,48.199805],[19.810059,48.155029],[19.898633,48.131348],[19.950391,48.146631],[20.128613,48.222021],[20.333789,48.295557],[20.475,48.495117],[20.490039,48.526904],[20.643164,48.549707],[20.866602,48.545654],[20.981152,48.519678],[21.067285,48.505908],[21.196387,48.510596],[21.382422,48.553467],[21.451367,48.552246],[21.504688,48.521875],[21.563184,48.495703],[21.602637,48.463672],[21.63252,48.418506],[21.648633,48.401465],[21.674609,48.378369],[21.721484,48.346582],[21.766992,48.338086],[22.111328,48.393359],[22.131836,48.405322]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":5,"SOVEREIGNT":"Honduras","SOV_A3":"HND","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Honduras","ADM0_A3":"HND","GEOU_DIF":0,"GEOUNIT":"Honduras","GU_A3":"HND","SU_DIF":0,"SUBUNIT":"Honduras","SU_A3":"HND","BRK_DIFF":0,"NAME":"Honduras","NAME_LONG":"Honduras","BRK_A3":"HND","BRK_NAME":"Honduras","BRK_GROUP":null,"ABBREV":"Hond.","POSTAL":"HN","FORMAL_EN":"Republic of Honduras","FORMAL_FR":null,"NAME_CIAWF":"Honduras","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Honduras","NAME_ALT":null,"MAPCOLOR7":2,"MAPCOLOR8":5,"MAPCOLOR9":2,"MAPCOLOR13":5,"POP_EST":9746117,"POP_RANK":13,"POP_YEAR":2019,"GDP_MD":25095,"GDP_YEAR":2019,"ECONOMY":"6. Developing region","INCOME_GRP":"4. Lower middle income","FIPS_10":"HO","ISO_A2":"HN","ISO_A2_EH":"HN","ISO_A3":"HND","ISO_A3_EH":"HND","ISO_N3":"340","ISO_N3_EH":"340","UN_A3":"340","WB_A2":"HN","WB_A3":"HND","WOE_ID":23424841,"WOE_ID_EH":23424841,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"HND","ADM0_DIFF":null,"ADM0_TLC":"HND","ADM0_A3_US":"HND","ADM0_A3_FR":"HND","ADM0_A3_RU":"HND","ADM0_A3_ES":"HND","ADM0_A3_CN":"HND","ADM0_A3_TW":"HND","ADM0_A3_IN":"HND","ADM0_A3_NP":"HND","ADM0_A3_PK":"HND","ADM0_A3_DE":"HND","ADM0_A3_GB":"HND","ADM0_A3_BR":"HND","ADM0_A3_IL":"HND","ADM0_A3_PS":"HND","ADM0_A3_SA":"HND","ADM0_A3_EG":"HND","ADM0_A3_MA":"HND","ADM0_A3_PT":"HND","ADM0_A3_AR":"HND","ADM0_A3_JP":"HND","ADM0_A3_KO":"HND","ADM0_A3_VN":"HND","ADM0_A3_TR":"HND","ADM0_A3_ID":"HND","ADM0_A3_PL":"HND","ADM0_A3_GR":"HND","ADM0_A3_IT":"HND","ADM0_A3_NL":"HND","ADM0_A3_SE":"HND","ADM0_A3_BD":"HND","ADM0_A3_UA":"HND","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"North America","REGION_UN":"Americas","SUBREGION":"Central America","REGION_WB":"Latin America & Caribbean","NAME_LEN":8,"LONG_LEN":8,"ABBREV_LEN":5,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":4.5,"MAX_LABEL":9.5,"LABEL_X":-86.887604,"LABEL_Y":14.794801,"NE_ID":1159320827,"WIKIDATAID":"Q783","NAME_AR":"هندوراس","NAME_BN":"হন্ডুরাস","NAME_DE":"Honduras","NAME_EN":"Honduras","NAME_ES":"Honduras","NAME_FA":"هندوراس","NAME_FR":"Honduras","NAME_EL":"Ονδούρα","NAME_HE":"הונדורס","NAME_HI":"हौण्डुरस","NAME_HU":"Honduras","NAME_ID":"Honduras","NAME_IT":"Honduras","NAME_JA":"ホンジュラス","NAME_KO":"온두라스","NAME_NL":"Honduras","NAME_PL":"Honduras","NAME_PT":"Honduras","NAME_RU":"Гондурас","NAME_SV":"Honduras","NAME_TR":"Honduras","NAME_UK":"Гондурас","NAME_UR":"ہونڈوراس","NAME_VI":"Honduras","NAME_ZH":"洪都拉斯","NAME_ZHT":"宏都拉斯","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[-89.362598,12.979248,-83.15752,16.513965],"geometry":{"type":"MultiPolygon","coordinates":[[[[-83.15752,14.993066],[-83.415039,15.008057],[-83.536523,14.977002],[-83.589746,14.907568],[-83.635498,14.876416],[-83.673633,14.883545],[-83.750928,14.85625],[-83.867285,14.794482],[-83.972266,14.771094],[-84.06582,14.786084],[-84.092969,14.770898],[-84.100293,14.750635],[-84.114404,14.731006],[-84.150781,14.72041],[-84.192383,14.726025],[-84.239209,14.747852],[-84.263965,14.738525],[-84.26665,14.698145],[-84.291943,14.687354],[-84.339795,14.706348],[-84.393652,14.691748],[-84.453564,14.643701],[-84.537646,14.633398],[-84.645947,14.661084],[-84.729785,14.713379],[-84.78916,14.790381],[-84.860449,14.809766],[-84.985156,14.752441],[-85.037354,14.685547],[-85.048633,14.644727],[-85.036523,14.607666],[-85.059375,14.582959],[-85.117285,14.570605],[-85.161328,14.525146],[-85.191504,14.446631],[-85.197559,14.385986],[-85.179492,14.343311],[-85.20835,14.311816],[-85.28418,14.29165],[-85.373779,14.223877],[-85.477051,14.108691],[-85.579785,14.028223],[-85.681934,13.982568],[-85.731201,13.931836],[-85.727734,13.876074],[-85.733936,13.858691],[-85.753418,13.852051],[-85.786719,13.844434],[-85.983789,13.965674],[-86.040381,14.050146],[-86.089258,14.037207],[-86.151221,13.99458],[-86.238232,13.899463],[-86.331738,13.770068],[-86.376953,13.755664],[-86.610254,13.774854],[-86.733643,13.763477],[-86.758984,13.746143],[-86.770605,13.69873],[-86.763525,13.635254],[-86.72959,13.407227],[-86.710693,13.313379],[-86.729297,13.284375],[-86.792139,13.279785],[-86.873535,13.266504],[-86.918213,13.223584],[-86.928809,13.179395],[-86.933154,13.117529],[-86.958887,13.053711],[-87.009326,13.007812],[-87.05918,12.991455],[-87.337256,12.979248],[-87.33252,13.084717],[-87.412793,13.127441],[-87.458447,13.21543],[-87.498389,13.274902],[-87.485156,13.310596],[-87.489111,13.35293],[-87.602246,13.385596],[-87.70835,13.360059],[-87.769385,13.37666],[-87.814209,13.39917],[-87.737012,13.451367],[-87.731641,13.483105],[-87.756445,13.506006],[-87.781885,13.521387],[-87.774219,13.580322],[-87.758545,13.649951],[-87.715332,13.812695],[-87.731445,13.841064],[-87.802246,13.88999],[-87.891992,13.894971],[-87.991016,13.879639],[-88.038721,13.904639],[-88.080469,13.960596],[-88.151025,13.987354],[-88.276221,13.942676],[-88.408496,13.875391],[-88.449121,13.850977],[-88.482666,13.854248],[-88.497656,13.904541],[-88.504346,13.964209],[-88.512549,13.978955],[-88.583154,14.000146],[-88.665625,14.015527],[-88.707617,14.03208],[-88.747363,14.072266],[-88.845947,14.124756],[-88.868311,14.163672],[-89.000195,14.252734],[-89.026855,14.296973],[-89.057129,14.32915],[-89.120508,14.370215],[-89.170117,14.360303],[-89.337256,14.411377],[-89.362598,14.416016],[-89.339404,14.460742],[-89.286719,14.52998],[-89.171777,14.606885],[-89.162207,14.669238],[-89.192236,14.788721],[-89.222363,14.866064],[-89.206104,14.900586],[-89.170312,15.039893],[-89.142578,15.072314],[-88.976416,15.142676],[-88.960986,15.152441],[-88.829932,15.251025],[-88.684473,15.360498],[-88.533301,15.481201],[-88.364551,15.616016],[-88.271436,15.694873],[-88.22832,15.729004],[-88.131104,15.701025],[-88.05459,15.764844],[-88.0104,15.786182],[-87.907031,15.862598],[-87.874951,15.879346],[-87.701855,15.910645],[-87.618164,15.909863],[-87.544971,15.832373],[-87.486914,15.790186],[-87.37749,15.826465],[-87.285889,15.834424],[-86.907227,15.762354],[-86.757031,15.794238],[-86.480811,15.801074],[-86.356641,15.783203],[-86.181201,15.885156],[-86.068555,15.905664],[-85.936279,15.953418],[-85.953906,16.002246],[-85.985645,16.02417],[-85.783984,16.002832],[-85.483691,15.899512],[-85.163672,15.918164],[-85.048242,15.973975],[-84.97373,15.989893],[-84.646094,15.883594],[-84.559668,15.802002],[-84.492285,15.793945],[-84.440039,15.812598],[-84.425977,15.829492],[-84.490381,15.847266],[-84.519629,15.872754],[-84.261426,15.822607],[-83.775488,15.436865],[-83.765283,15.405469],[-83.972803,15.519629],[-84.082764,15.510889],[-84.111328,15.492432],[-84.105176,15.430127],[-84.095068,15.400928],[-84.047949,15.397607],[-84.013184,15.414404],[-83.927441,15.394043],[-83.870654,15.352734],[-83.80166,15.289258],[-83.760449,15.220361],[-83.715918,15.219238],[-83.672168,15.260742],[-83.589648,15.265771],[-83.535937,15.219385],[-83.497949,15.222119],[-83.551074,15.293994],[-83.676123,15.36543],[-83.646387,15.368408],[-83.369189,15.23999],[-83.290869,15.078906],[-83.225586,15.042285],[-83.15752,14.993066]]],[[[-86.419922,16.378369],[-86.580273,16.300244],[-86.63042,16.301758],[-86.556934,16.362109],[-86.438281,16.413867],[-86.337842,16.439209],[-86.255518,16.428223],[-86.419922,16.378369]]],[[[-85.870947,16.461523],[-85.947217,16.403613],[-85.960986,16.429688],[-85.924219,16.483301],[-85.878223,16.513965],[-85.833789,16.510889],[-85.844434,16.487744],[-85.870947,16.461523]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":5,"SOVEREIGNT":"Haiti","SOV_A3":"HTI","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Haiti","ADM0_A3":"HTI","GEOU_DIF":0,"GEOUNIT":"Haiti","GU_A3":"HTI","SU_DIF":0,"SUBUNIT":"Haiti","SU_A3":"HTI","BRK_DIFF":0,"NAME":"Haiti","NAME_LONG":"Haiti","BRK_A3":"HTI","BRK_NAME":"Haiti","BRK_GROUP":null,"ABBREV":"Haiti","POSTAL":"HT","FORMAL_EN":"Republic of Haiti","FORMAL_FR":null,"NAME_CIAWF":"Haiti","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Haiti","NAME_ALT":null,"MAPCOLOR7":2,"MAPCOLOR8":1,"MAPCOLOR9":7,"MAPCOLOR13":2,"POP_EST":11263077,"POP_RANK":14,"POP_YEAR":2019,"GDP_MD":14332,"GDP_YEAR":2019,"ECONOMY":"7. Least developed region","INCOME_GRP":"5. Low income","FIPS_10":"HA","ISO_A2":"HT","ISO_A2_EH":"HT","ISO_A3":"HTI","ISO_A3_EH":"HTI","ISO_N3":"332","ISO_N3_EH":"332","UN_A3":"332","WB_A2":"HT","WB_A3":"HTI","WOE_ID":23424839,"WOE_ID_EH":23424839,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"HTI","ADM0_DIFF":null,"ADM0_TLC":"HTI","ADM0_A3_US":"HTI","ADM0_A3_FR":"HTI","ADM0_A3_RU":"HTI","ADM0_A3_ES":"HTI","ADM0_A3_CN":"HTI","ADM0_A3_TW":"HTI","ADM0_A3_IN":"HTI","ADM0_A3_NP":"HTI","ADM0_A3_PK":"HTI","ADM0_A3_DE":"HTI","ADM0_A3_GB":"HTI","ADM0_A3_BR":"HTI","ADM0_A3_IL":"HTI","ADM0_A3_PS":"HTI","ADM0_A3_SA":"HTI","ADM0_A3_EG":"HTI","ADM0_A3_MA":"HTI","ADM0_A3_PT":"HTI","ADM0_A3_AR":"HTI","ADM0_A3_JP":"HTI","ADM0_A3_KO":"HTI","ADM0_A3_VN":"HTI","ADM0_A3_TR":"HTI","ADM0_A3_ID":"HTI","ADM0_A3_PL":"HTI","ADM0_A3_GR":"HTI","ADM0_A3_IT":"HTI","ADM0_A3_NL":"HTI","ADM0_A3_SE":"HTI","ADM0_A3_BD":"HTI","ADM0_A3_UA":"HTI","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"North America","REGION_UN":"Americas","SUBREGION":"Caribbean","REGION_WB":"Latin America & Caribbean","NAME_LEN":5,"LONG_LEN":5,"ABBREV_LEN":5,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":4,"MAX_LABEL":9,"LABEL_X":-72.224051,"LABEL_Y":19.263784,"NE_ID":1159320839,"WIKIDATAID":"Q790","NAME_AR":"هايتي","NAME_BN":"হাইতি","NAME_DE":"Haiti","NAME_EN":"Haiti","NAME_ES":"Haití","NAME_FA":"هائیتی","NAME_FR":"Haïti","NAME_EL":"Αϊτή","NAME_HE":"האיטי","NAME_HI":"हैती","NAME_HU":"Haiti","NAME_ID":"Haiti","NAME_IT":"Haiti","NAME_JA":"ハイチ","NAME_KO":"아이티","NAME_NL":"Haïti","NAME_PL":"Haiti","NAME_PT":"Haiti","NAME_RU":"Республика Гаити","NAME_SV":"Haiti","NAME_TR":"Haiti","NAME_UK":"Гаїті","NAME_UR":"ہیٹی","NAME_VI":"Haiti","NAME_ZH":"海地","NAME_ZHT":"海地","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[-74.478125,18.03916,-71.645312,20.093652],"geometry":{"type":"MultiPolygon","coordinates":[[[[-71.779248,19.718164],[-71.757422,19.688184],[-71.711475,19.486572],[-71.706934,19.421973],[-71.753174,19.324463],[-71.746484,19.28584],[-71.647217,19.195947],[-71.645312,19.163525],[-71.657031,19.130762],[-71.742041,19.045508],[-71.807129,18.987012],[-71.786377,18.92002],[-71.733643,18.856396],[-71.727051,18.803223],[-71.743213,18.73291],[-71.824219,18.645508],[-71.866504,18.61416],[-71.986865,18.610352],[-72.000391,18.5979],[-71.940381,18.512598],[-71.872559,18.416211],[-71.761914,18.341309],[-71.737256,18.270801],[-71.76377,18.203955],[-71.768311,18.03916],[-71.85293,18.119141],[-71.946094,18.186084],[-72.002051,18.212012],[-72.059863,18.228564],[-72.503564,18.219922],[-72.553223,18.208398],[-72.591895,18.186914],[-72.633301,18.176221],[-72.755273,18.156152],[-72.87666,18.151758],[-73.160059,18.205615],[-73.272266,18.233545],[-73.385156,18.251172],[-73.514844,18.245361],[-73.644043,18.229053],[-73.747314,18.190234],[-73.824707,18.121777],[-73.83916,18.058203],[-73.884961,18.041895],[-73.989453,18.143164],[-74.0854,18.215137],[-74.194629,18.269189],[-74.419043,18.346191],[-74.459961,18.393066],[-74.478125,18.45],[-74.3875,18.624707],[-74.284473,18.656689],[-74.227734,18.662695],[-74.100342,18.641113],[-73.975977,18.601416],[-73.8625,18.575439],[-73.687012,18.565332],[-73.591602,18.522363],[-72.917285,18.455713],[-72.789355,18.434814],[-72.739453,18.442139],[-72.695996,18.468213],[-72.659766,18.515332],[-72.618066,18.550781],[-72.418115,18.558691],[-72.376074,18.574463],[-72.346729,18.62373],[-72.347656,18.674951],[-72.465234,18.743555],[-72.649121,18.894141],[-72.811084,19.071582],[-72.741211,19.131348],[-72.767969,19.240625],[-72.741797,19.341846],[-72.703223,19.441064],[-72.863428,19.526074],[-73.052734,19.610742],[-73.315527,19.637305],[-73.396338,19.658691],[-73.438379,19.722119],[-73.400537,19.807422],[-73.315332,19.85459],[-73.217773,19.883691],[-73.117773,19.903809],[-72.876514,19.928076],[-72.637012,19.900879],[-72.429932,19.813281],[-72.219824,19.744629],[-71.954297,19.72168],[-71.834717,19.696729],[-71.779248,19.718164]]],[[[-72.80459,18.777686],[-72.822217,18.707129],[-73.077979,18.790918],[-73.285254,18.896729],[-73.276416,18.954053],[-73.170605,18.967285],[-73.069141,18.932031],[-72.919238,18.861475],[-72.80459,18.777686]]],[[[-72.664062,20.0375],[-72.623486,20.01416],[-72.638867,19.98584],[-72.739795,20.003418],[-72.844238,20.035449],[-72.878418,20.027441],[-72.899316,20.031445],[-72.960352,20.062256],[-72.906738,20.08584],[-72.851465,20.093652],[-72.791016,20.091895],[-72.664062,20.0375]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":4,"SOVEREIGNT":"Guyana","SOV_A3":"GUY","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Guyana","ADM0_A3":"GUY","GEOU_DIF":0,"GEOUNIT":"Guyana","GU_A3":"GUY","SU_DIF":0,"SUBUNIT":"Guyana","SU_A3":"GUY","BRK_DIFF":0,"NAME":"Guyana","NAME_LONG":"Guyana","BRK_A3":"GUY","BRK_NAME":"Guyana","BRK_GROUP":null,"ABBREV":"Guy.","POSTAL":"GY","FORMAL_EN":"Co-operative Republic of Guyana","FORMAL_FR":null,"NAME_CIAWF":"Guyana","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Guyana","NAME_ALT":null,"MAPCOLOR7":3,"MAPCOLOR8":1,"MAPCOLOR9":4,"MAPCOLOR13":8,"POP_EST":782766,"POP_RANK":11,"POP_YEAR":2019,"GDP_MD":5173,"GDP_YEAR":2019,"ECONOMY":"6. Developing region","INCOME_GRP":"4. Lower middle income","FIPS_10":"GY","ISO_A2":"GY","ISO_A2_EH":"GY","ISO_A3":"GUY","ISO_A3_EH":"GUY","ISO_N3":"328","ISO_N3_EH":"328","UN_A3":"328","WB_A2":"GY","WB_A3":"GUY","WOE_ID":23424836,"WOE_ID_EH":23424836,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"GUY","ADM0_DIFF":null,"ADM0_TLC":"GUY","ADM0_A3_US":"GUY","ADM0_A3_FR":"GUY","ADM0_A3_RU":"GUY","ADM0_A3_ES":"GUY","ADM0_A3_CN":"GUY","ADM0_A3_TW":"GUY","ADM0_A3_IN":"GUY","ADM0_A3_NP":"GUY","ADM0_A3_PK":"GUY","ADM0_A3_DE":"GUY","ADM0_A3_GB":"GUY","ADM0_A3_BR":"GUY","ADM0_A3_IL":"GUY","ADM0_A3_PS":"GUY","ADM0_A3_SA":"GUY","ADM0_A3_EG":"GUY","ADM0_A3_MA":"GUY","ADM0_A3_PT":"GUY","ADM0_A3_AR":"GUY","ADM0_A3_JP":"GUY","ADM0_A3_KO":"GUY","ADM0_A3_VN":"GUY","ADM0_A3_TR":"GUY","ADM0_A3_ID":"GUY","ADM0_A3_PL":"GUY","ADM0_A3_GR":"GUY","ADM0_A3_IT":"GUY","ADM0_A3_NL":"GUY","ADM0_A3_SE":"GUY","ADM0_A3_BD":"GUY","ADM0_A3_UA":"GUY","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"South America","REGION_UN":"Americas","SUBREGION":"South America","REGION_WB":"Latin America & Caribbean","NAME_LEN":6,"LONG_LEN":6,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":4,"MAX_LABEL":9,"LABEL_X":-58.942643,"LABEL_Y":5.124317,"NE_ID":1159320817,"WIKIDATAID":"Q734","NAME_AR":"غيانا","NAME_BN":"গায়ানা","NAME_DE":"Guyana","NAME_EN":"Guyana","NAME_ES":"Guyana","NAME_FA":"گویان","NAME_FR":"Guyana","NAME_EL":"Γουιάνα","NAME_HE":"גיאנה","NAME_HI":"गयाना","NAME_HU":"Guyana","NAME_ID":"Guyana","NAME_IT":"Guyana","NAME_JA":"ガイアナ","NAME_KO":"가이아나","NAME_NL":"Guyana","NAME_PL":"Gujana","NAME_PT":"Guiana","NAME_RU":"Гайана","NAME_SV":"Guyana","NAME_TR":"Guyana","NAME_UK":"Гаяна","NAME_UR":"گیانا","NAME_VI":"Guyana","NAME_ZH":"圭亚那","NAME_ZHT":"圭亞那","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[-61.39082,1.201221,-56.482812,8.549316],"geometry":{"type":"Polygon","coordinates":[[[-60.742139,5.202051],[-60.954004,5.437402],[-61.167187,5.674219],[-61.376807,5.906982],[-61.39082,5.93877],[-61.303125,6.049512],[-61.224951,6.129199],[-61.159473,6.174414],[-61.128711,6.214307],[-61.152295,6.385107],[-61.151025,6.446533],[-61.181592,6.513379],[-61.203613,6.588379],[-61.177246,6.650928],[-61.145605,6.694531],[-61.104785,6.711377],[-61.00708,6.726611],[-60.937988,6.732764],[-60.913574,6.757812],[-60.87334,6.786914],[-60.82085,6.788477],[-60.71792,6.768311],[-60.671045,6.805957],[-60.586084,6.85708],[-60.39502,6.945361],[-60.3521,7.002881],[-60.32207,7.092041],[-60.325488,7.133984],[-60.345068,7.15],[-60.392383,7.164551],[-60.464941,7.166553],[-60.523193,7.143701],[-60.583203,7.156201],[-60.633301,7.211084],[-60.636182,7.256592],[-60.606543,7.32085],[-60.62373,7.36333],[-60.719238,7.498682],[-60.718652,7.535937],[-60.649463,7.596631],[-60.610107,7.64834],[-60.556348,7.772021],[-60.513623,7.813184],[-60.380615,7.827637],[-60.346777,7.854004],[-60.278906,7.919434],[-60.178174,7.994043],[-60.032422,8.053564],[-59.990723,8.162012],[-59.964844,8.191602],[-59.849072,8.248682],[-59.828906,8.27915],[-59.831641,8.305957],[-60.017529,8.549316],[-59.980615,8.532617],[-59.836523,8.373828],[-59.756738,8.339502],[-59.739941,8.338721],[-59.739307,8.37998],[-59.666113,8.362598],[-59.476904,8.254004],[-59.200244,8.074609],[-58.811572,7.735596],[-58.701074,7.606641],[-58.626611,7.545898],[-58.511084,7.398047],[-58.477295,7.325781],[-58.480566,7.038135],[-58.58291,6.843652],[-58.60791,6.697314],[-58.613477,6.502539],[-58.672949,6.390771],[-58.593994,6.451514],[-58.569482,6.627246],[-58.502295,6.733984],[-58.41499,6.851172],[-58.298437,6.879297],[-58.172852,6.829395],[-58.071777,6.820605],[-57.982568,6.785889],[-57.792871,6.598535],[-57.607568,6.450391],[-57.540137,6.331543],[-57.343652,6.272119],[-57.227539,6.178418],[-57.190234,6.097314],[-57.167236,5.88501],[-57.205273,5.5646],[-57.194775,5.548437],[-57.2479,5.485254],[-57.25752,5.445166],[-57.291895,5.373975],[-57.318555,5.335352],[-57.279639,5.246777],[-57.235303,5.242871],[-57.218457,5.231543],[-57.207324,5.214209],[-57.209814,5.19541],[-57.226855,5.178516],[-57.269287,5.157031],[-57.30957,5.105859],[-57.305762,5.049561],[-57.331006,5.020166],[-57.412158,5.00459],[-57.570898,5.004492],[-57.648828,5.000684],[-57.711084,4.991064],[-57.752002,4.954492],[-57.804102,4.929053],[-57.844922,4.923047],[-57.881104,4.880615],[-57.917041,4.82041],[-57.904883,4.779297],[-57.867871,4.724316],[-57.845996,4.668164],[-57.874707,4.5771],[-57.90625,4.506787],[-57.924707,4.453125],[-57.949756,4.349951],[-58.010742,4.236475],[-58.054492,4.171924],[-58.054297,4.10166],[-58.032227,4.001953],[-57.907715,3.856689],[-57.866553,3.787256],[-57.832666,3.675977],[-57.720361,3.588281],[-57.649463,3.517383],[-57.656104,3.42373],[-57.646729,3.394531],[-57.602734,3.370947],[-57.549609,3.352832],[-57.490576,3.354297],[-57.437891,3.362256],[-57.425586,3.375439],[-57.303662,3.3771],[-57.289941,3.353613],[-57.28291,3.218848],[-57.27793,3.164307],[-57.248975,3.142285],[-57.231641,3.108887],[-57.230566,3.078564],[-57.225,3.003076],[-57.206934,2.963379],[-57.209814,2.882812],[-57.197363,2.853271],[-57.163623,2.833252],[-57.121143,2.775537],[-57.105127,2.768262],[-57.096875,2.747852],[-57.060449,2.665674],[-57.041943,2.641113],[-57.028955,2.6375],[-57.023486,2.608984],[-56.997119,2.532178],[-56.979297,2.513232],[-56.945215,2.456836],[-56.931494,2.395361],[-56.886426,2.325977],[-56.840527,2.277148],[-56.819824,2.22666],[-56.761133,2.114893],[-56.704346,2.036475],[-56.627197,2.016016],[-56.562695,2.005078],[-56.522363,1.974805],[-56.482812,1.942139],[-56.525488,1.927246],[-56.563574,1.907227],[-56.616455,1.922656],[-56.689844,1.914307],[-56.76626,1.892187],[-56.836719,1.88125],[-56.969531,1.916406],[-57.010059,1.92124],[-57.037598,1.936475],[-57.092676,2.005811],[-57.118896,2.013965],[-57.1896,1.981592],[-57.275586,1.959229],[-57.31748,1.963477],[-57.366797,1.940137],[-57.412695,1.908936],[-57.500439,1.773828],[-57.545752,1.726074],[-57.594434,1.704102],[-57.691748,1.704785],[-57.795654,1.7],[-57.873437,1.667285],[-57.946338,1.650586],[-57.982812,1.648438],[-57.995117,1.574316],[-58.011768,1.539941],[-58.034668,1.520264],[-58.091309,1.514355],[-58.142236,1.516992],[-58.173096,1.547852],[-58.23042,1.563281],[-58.281152,1.574316],[-58.314209,1.591943],[-58.340674,1.587549],[-58.362695,1.556689],[-58.380371,1.530225],[-58.395801,1.481738],[-58.472949,1.46626],[-58.506055,1.438672],[-58.486865,1.347754],[-58.495703,1.312256],[-58.511865,1.284668],[-58.605078,1.27915],[-58.684619,1.281055],[-58.730322,1.24751],[-58.787207,1.208496],[-58.821777,1.201221],[-58.8625,1.203613],[-58.916602,1.248877],[-58.968506,1.30459],[-59.100391,1.343652],[-59.231201,1.376025],[-59.316992,1.4646],[-59.337256,1.508203],[-59.377686,1.527344],[-59.479443,1.632422],[-59.535693,1.7],[-59.596631,1.718018],[-59.666602,1.746289],[-59.66377,1.795215],[-59.668506,1.842334],[-59.698535,1.861475],[-59.740723,1.87417],[-59.756201,1.900635],[-59.751758,1.962402],[-59.743506,2.121631],[-59.755225,2.274121],[-59.849121,2.327051],[-59.889648,2.362939],[-59.960791,2.588379],[-59.994336,2.68999],[-59.995898,2.76543],[-59.972314,2.990479],[-59.945654,3.087842],[-59.873047,3.283105],[-59.831152,3.349219],[-59.828809,3.398584],[-59.833057,3.462158],[-59.854395,3.5875],[-59.731641,3.666553],[-59.679004,3.699805],[-59.670215,3.752734],[-59.604443,3.819678],[-59.575391,3.883447],[-59.551123,3.933545],[-59.557764,3.96001],[-59.586426,3.975391],[-59.620215,4.023145],[-59.691211,4.1604],[-59.716895,4.188184],[-59.738574,4.226758],[-59.72749,4.287646],[-59.699707,4.353516],[-59.703271,4.381104],[-59.745801,4.41665],[-59.83335,4.475928],[-59.906104,4.480322],[-59.962354,4.501709],[-60.04502,4.50459],[-60.111133,4.511182],[-60.148633,4.533252],[-60.140918,4.569629],[-60.124561,4.597656],[-60.068945,4.66665],[-60.031787,4.740527],[-60.026758,4.812695],[-60.015479,4.90752],[-59.999365,4.989844],[-59.990674,5.082861],[-60.078076,5.143994],[-60.105957,5.194238],[-60.142041,5.238818],[-60.181738,5.238818],[-60.24165,5.257959],[-60.335205,5.199316],[-60.408789,5.210156],[-60.459521,5.188086],[-60.576416,5.19248],[-60.651367,5.221143],[-60.742139,5.202051]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":6,"SOVEREIGNT":"Guinea-Bissau","SOV_A3":"GNB","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Guinea-Bissau","ADM0_A3":"GNB","GEOU_DIF":0,"GEOUNIT":"Guinea-Bissau","GU_A3":"GNB","SU_DIF":0,"SUBUNIT":"Guinea-Bissau","SU_A3":"GNB","BRK_DIFF":0,"NAME":"Guinea-Bissau","NAME_LONG":"Guinea-Bissau","BRK_A3":"GNB","BRK_NAME":"Guinea-Bissau","BRK_GROUP":null,"ABBREV":"GnB.","POSTAL":"GW","FORMAL_EN":"Republic of Guinea-Bissau","FORMAL_FR":null,"NAME_CIAWF":"Guinea-Bissau","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Guinea-Bissau","NAME_ALT":null,"MAPCOLOR7":3,"MAPCOLOR8":5,"MAPCOLOR9":3,"MAPCOLOR13":4,"POP_EST":1920922,"POP_RANK":12,"POP_YEAR":2019,"GDP_MD":1339,"GDP_YEAR":2019,"ECONOMY":"7. Least developed region","INCOME_GRP":"5. Low income","FIPS_10":"PU","ISO_A2":"GW","ISO_A2_EH":"GW","ISO_A3":"GNB","ISO_A3_EH":"GNB","ISO_N3":"624","ISO_N3_EH":"624","UN_A3":"624","WB_A2":"GW","WB_A3":"GNB","WOE_ID":23424929,"WOE_ID_EH":23424929,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"GNB","ADM0_DIFF":null,"ADM0_TLC":"GNB","ADM0_A3_US":"GNB","ADM0_A3_FR":"GNB","ADM0_A3_RU":"GNB","ADM0_A3_ES":"GNB","ADM0_A3_CN":"GNB","ADM0_A3_TW":"GNB","ADM0_A3_IN":"GNB","ADM0_A3_NP":"GNB","ADM0_A3_PK":"GNB","ADM0_A3_DE":"GNB","ADM0_A3_GB":"GNB","ADM0_A3_BR":"GNB","ADM0_A3_IL":"GNB","ADM0_A3_PS":"GNB","ADM0_A3_SA":"GNB","ADM0_A3_EG":"GNB","ADM0_A3_MA":"GNB","ADM0_A3_PT":"GNB","ADM0_A3_AR":"GNB","ADM0_A3_JP":"GNB","ADM0_A3_KO":"GNB","ADM0_A3_VN":"GNB","ADM0_A3_TR":"GNB","ADM0_A3_ID":"GNB","ADM0_A3_PL":"GNB","ADM0_A3_GR":"GNB","ADM0_A3_IT":"GNB","ADM0_A3_NL":"GNB","ADM0_A3_SE":"GNB","ADM0_A3_BD":"GNB","ADM0_A3_UA":"GNB","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Africa","REGION_UN":"Africa","SUBREGION":"Western Africa","REGION_WB":"Sub-Saharan Africa","NAME_LEN":13,"LONG_LEN":13,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":5,"MAX_LABEL":10,"LABEL_X":-14.52413,"LABEL_Y":12.163712,"NE_ID":1159320799,"WIKIDATAID":"Q1007","NAME_AR":"غينيا بيساو","NAME_BN":"গিনি-বিসাউ","NAME_DE":"Guinea-Bissau","NAME_EN":"Guinea-Bissau","NAME_ES":"Guinea-Bisáu","NAME_FA":"گینه بیسائو","NAME_FR":"Guinée-Bissau","NAME_EL":"Γουινέα-Μπισσάου","NAME_HE":"גינאה ביסאו","NAME_HI":"गिनी-बिसाऊ","NAME_HU":"Bissau-Guinea","NAME_ID":"Guinea-Bissau","NAME_IT":"Guinea-Bissau","NAME_JA":"ギニアビサウ","NAME_KO":"기니비사우","NAME_NL":"Guinee-Bissau","NAME_PL":"Gwinea Bissau","NAME_PT":"Guiné-Bissau","NAME_RU":"Гвинея-Бисау","NAME_SV":"Guinea-Bissau","NAME_TR":"Gine-Bissau","NAME_UK":"Гвінея-Бісау","NAME_UR":"گنی بساؤ","NAME_VI":"Guiné-Bissau","NAME_ZH":"几内亚比绍","NAME_ZHT":"幾內亞比索","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[-16.711816,10.940137,-13.673535,12.679932],"geometry":{"type":"MultiPolygon","coordinates":[[[[-16.711816,12.354834],[-16.656934,12.364355],[-16.521338,12.348633],[-16.416309,12.367676],[-16.342285,12.399512],[-16.241504,12.443311],[-16.144189,12.457422],[-15.839551,12.437891],[-15.574805,12.490381],[-15.37793,12.588965],[-15.196094,12.679932],[-14.960596,12.678955],[-14.708154,12.677979],[-14.349219,12.676416],[-14.064844,12.675293],[-13.729248,12.673926],[-13.732617,12.592822],[-13.673535,12.478516],[-13.682373,12.393408],[-13.70791,12.312695],[-13.730078,12.280811],[-13.759766,12.262354],[-13.849463,12.262988],[-13.8875,12.246875],[-13.947314,12.215234],[-13.948877,12.178174],[-13.901172,12.142871],[-13.861914,12.093311],[-13.816309,12.054492],[-13.737988,12.009668],[-13.730664,11.959863],[-13.728564,11.834131],[-13.732764,11.736035],[-13.953223,11.6646],[-14.122314,11.651953],[-14.265576,11.659912],[-14.327832,11.629785],[-14.452441,11.556201],[-14.604785,11.511621],[-14.682959,11.508496],[-14.720264,11.481934],[-14.779297,11.405518],[-14.944434,11.072168],[-14.999023,10.992188],[-15.043018,10.940137],[-15.09375,11.011035],[-15.05459,11.141943],[-15.096777,11.140039],[-15.181055,11.034229],[-15.222119,11.030908],[-15.216699,11.15625],[-15.263379,11.160889],[-15.31748,11.152002],[-15.393115,11.217236],[-15.400586,11.266211],[-15.394531,11.334473],[-15.348437,11.378076],[-15.354687,11.396338],[-15.39917,11.401465],[-15.448975,11.389746],[-15.479492,11.410303],[-15.429102,11.498877],[-15.252588,11.573291],[-15.16377,11.580957],[-15.072656,11.597803],[-15.122412,11.661572],[-15.230371,11.686768],[-15.316699,11.669189],[-15.359668,11.6229],[-15.412988,11.615234],[-15.501904,11.723779],[-15.500244,11.778369],[-15.467187,11.842822],[-15.415723,11.871777],[-15.21084,11.870947],[-15.133105,11.907324],[-15.101709,11.913965],[-15.071973,11.947021],[-15.078271,11.968994],[-15.111523,11.970264],[-15.188086,11.927295],[-15.434766,11.943555],[-15.513477,11.917578],[-15.650684,11.818359],[-15.819385,11.763477],[-15.941748,11.786621],[-15.902734,11.919678],[-15.920215,11.937793],[-15.958789,11.959619],[-16.138428,11.917285],[-16.274316,11.978125],[-16.328076,12.051611],[-16.318848,12.14375],[-16.254736,12.206055],[-16.24458,12.237109],[-16.312305,12.243018],[-16.436816,12.20415],[-16.711816,12.354834]]],[[[-16.114502,11.059424],[-16.194531,11.04458],[-16.231006,11.094238],[-16.236426,11.113428],[-16.194629,11.130127],[-16.175879,11.130811],[-16.144043,11.166846],[-16.104785,11.191016],[-16.087451,11.198779],[-16.067334,11.197217],[-16.052783,11.117529],[-16.072217,11.084082],[-16.114502,11.059424]]],[[[-15.895898,11.082471],[-15.905176,11.054736],[-15.963965,11.058984],[-15.950635,11.087109],[-15.963477,11.095312],[-15.946484,11.179736],[-15.937695,11.192773],[-15.909131,11.161328],[-15.905273,11.14834],[-15.895898,11.082471]]],[[[-15.725146,11.215479],[-15.725146,11.174512],[-15.76748,11.182275],[-15.779785,11.194531],[-15.754687,11.268701],[-15.71748,11.301758],[-15.671924,11.296484],[-15.65835,11.286475],[-15.667187,11.257861],[-15.687109,11.234326],[-15.725146,11.215479]]],[[[-15.553418,11.537012],[-15.562793,11.51377],[-15.619629,11.533496],[-15.536572,11.617627],[-15.482471,11.632324],[-15.484424,11.567529],[-15.526221,11.553857],[-15.553418,11.537012]]],[[[-15.901807,11.46582],[-15.94873,11.434424],[-15.997217,11.44917],[-16.023193,11.477148],[-16.019336,11.527295],[-15.964551,11.598291],[-15.915332,11.589111],[-15.901807,11.46582]]],[[[-15.986426,11.882031],[-16.03833,11.759717],[-16.102441,11.773193],[-16.147363,11.845996],[-16.152441,11.876807],[-16.021875,11.88667],[-15.986426,11.882031]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":3,"SOVEREIGNT":"Guinea","SOV_A3":"GIN","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Guinea","ADM0_A3":"GIN","GEOU_DIF":0,"GEOUNIT":"Guinea","GU_A3":"GIN","SU_DIF":0,"SUBUNIT":"Guinea","SU_A3":"GIN","BRK_DIFF":0,"NAME":"Guinea","NAME_LONG":"Guinea","BRK_A3":"GIN","BRK_NAME":"Guinea","BRK_GROUP":null,"ABBREV":"Gin.","POSTAL":"GN","FORMAL_EN":"Republic of Guinea","FORMAL_FR":null,"NAME_CIAWF":"Guinea","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Guinea","NAME_ALT":null,"MAPCOLOR7":6,"MAPCOLOR8":3,"MAPCOLOR9":7,"MAPCOLOR13":2,"POP_EST":12771246,"POP_RANK":14,"POP_YEAR":2019,"GDP_MD":12296,"GDP_YEAR":2019,"ECONOMY":"7. Least developed region","INCOME_GRP":"5. Low income","FIPS_10":"GV","ISO_A2":"GN","ISO_A2_EH":"GN","ISO_A3":"GIN","ISO_A3_EH":"GIN","ISO_N3":"324","ISO_N3_EH":"324","UN_A3":"324","WB_A2":"GN","WB_A3":"GIN","WOE_ID":23424835,"WOE_ID_EH":23424835,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"GIN","ADM0_DIFF":null,"ADM0_TLC":"GIN","ADM0_A3_US":"GIN","ADM0_A3_FR":"GIN","ADM0_A3_RU":"GIN","ADM0_A3_ES":"GIN","ADM0_A3_CN":"GIN","ADM0_A3_TW":"GIN","ADM0_A3_IN":"GIN","ADM0_A3_NP":"GIN","ADM0_A3_PK":"GIN","ADM0_A3_DE":"GIN","ADM0_A3_GB":"GIN","ADM0_A3_BR":"GIN","ADM0_A3_IL":"GIN","ADM0_A3_PS":"GIN","ADM0_A3_SA":"GIN","ADM0_A3_EG":"GIN","ADM0_A3_MA":"GIN","ADM0_A3_PT":"GIN","ADM0_A3_AR":"GIN","ADM0_A3_JP":"GIN","ADM0_A3_KO":"GIN","ADM0_A3_VN":"GIN","ADM0_A3_TR":"GIN","ADM0_A3_ID":"GIN","ADM0_A3_PL":"GIN","ADM0_A3_GR":"GIN","ADM0_A3_IT":"GIN","ADM0_A3_NL":"GIN","ADM0_A3_SE":"GIN","ADM0_A3_BD":"GIN","ADM0_A3_UA":"GIN","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Africa","REGION_UN":"Africa","SUBREGION":"Western Africa","REGION_WB":"Sub-Saharan Africa","NAME_LEN":6,"LONG_LEN":6,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":3,"MAX_LABEL":8,"LABEL_X":-10.016402,"LABEL_Y":10.618516,"NE_ID":1159320795,"WIKIDATAID":"Q1006","NAME_AR":"غينيا","NAME_BN":"গিনি","NAME_DE":"Guinea","NAME_EN":"Guinea","NAME_ES":"Guinea","NAME_FA":"گینه","NAME_FR":"Guinée","NAME_EL":"Γουινέα","NAME_HE":"גינאה","NAME_HI":"गिनी","NAME_HU":"Guinea","NAME_ID":"Guinea","NAME_IT":"Guinea","NAME_JA":"ギニア","NAME_KO":"기니","NAME_NL":"Guinee","NAME_PL":"Gwinea","NAME_PT":"Guiné","NAME_RU":"Гвинея","NAME_SV":"Guinea","NAME_TR":"Gine","NAME_UK":"Гвінея","NAME_UR":"جمہوریہ گنی","NAME_VI":"Guinée","NAME_ZH":"几内亚","NAME_ZHT":"幾內亞","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[-15.051221,7.215918,-7.681201,12.673926],"geometry":{"type":"Polygon","coordinates":[[[-10.283203,8.485156],[-10.360059,8.495508],[-10.394434,8.480957],[-10.496436,8.362109],[-10.557715,8.315674],[-10.604004,8.319482],[-10.652637,8.330273],[-10.686963,8.32168],[-10.712109,8.335254],[-10.702148,8.364209],[-10.677344,8.400586],[-10.628467,8.52998],[-10.503125,8.660303],[-10.500537,8.687549],[-10.551758,8.76377],[-10.605615,8.867578],[-10.605762,8.978809],[-10.615967,9.05918],[-10.726855,9.081689],[-10.747021,9.095264],[-10.749951,9.122363],[-10.72124,9.194482],[-10.687646,9.261133],[-10.682715,9.289355],[-10.690527,9.314258],[-10.758594,9.385352],[-10.864795,9.516455],[-10.963086,9.661621],[-11.047461,9.786328],[-11.115674,9.843164],[-11.180859,9.925342],[-11.205664,9.977734],[-11.273633,9.996533],[-11.471924,9.995459],[-11.710059,9.994189],[-11.911084,9.993018],[-11.922754,9.922754],[-12.142334,9.875391],[-12.277734,9.929785],[-12.427979,9.898145],[-12.501465,9.862158],[-12.524365,9.787207],[-12.557861,9.70498],[-12.589844,9.671143],[-12.603613,9.634229],[-12.622168,9.600635],[-12.65166,9.561914],[-12.684424,9.48418],[-12.755859,9.373584],[-12.831104,9.302246],[-12.958789,9.26333],[-12.998633,9.146924],[-13.028027,9.103564],[-13.077295,9.069629],[-13.129883,9.047559],[-13.178369,9.060889],[-13.234229,9.070117],[-13.292676,9.049219],[-13.302637,9.078369],[-13.269482,9.170557],[-13.295898,9.218506],[-13.396094,9.314307],[-13.405566,9.360645],[-13.436279,9.420312],[-13.568262,9.543408],[-13.691357,9.535791],[-13.657129,9.639111],[-13.658691,9.776367],[-13.700488,9.85127],[-13.689795,9.927783],[-13.712646,9.922949],[-13.753711,9.870264],[-13.820117,9.887207],[-13.954639,9.968701],[-14.021875,10.047852],[-14.029932,10.115137],[-14.04502,10.14126],[-14.086279,10.127246],[-14.17041,10.128613],[-14.426904,10.24834],[-14.60957,10.549854],[-14.613623,10.617822],[-14.587402,10.734912],[-14.593506,10.766699],[-14.677344,10.688965],[-14.693359,10.741016],[-14.757373,10.862061],[-14.775928,10.931641],[-14.837451,10.962549],[-14.886719,10.968066],[-14.924805,10.944922],[-14.975,10.803418],[-15.012402,10.804346],[-15.051221,10.83457],[-15.043018,10.940137],[-14.999023,10.992188],[-14.944434,11.072168],[-14.779297,11.405518],[-14.720264,11.481934],[-14.682959,11.508496],[-14.604785,11.511621],[-14.452441,11.556201],[-14.327832,11.629785],[-14.265576,11.659912],[-14.122314,11.651953],[-13.953223,11.6646],[-13.732764,11.736035],[-13.728564,11.834131],[-13.730664,11.959863],[-13.737988,12.009668],[-13.816309,12.054492],[-13.861914,12.093311],[-13.901172,12.142871],[-13.948877,12.178174],[-13.947314,12.215234],[-13.8875,12.246875],[-13.849463,12.262988],[-13.759766,12.262354],[-13.730078,12.280811],[-13.70791,12.312695],[-13.682373,12.393408],[-13.673535,12.478516],[-13.732617,12.592822],[-13.729248,12.673926],[-13.405762,12.662256],[-13.372559,12.653613],[-13.228076,12.6396],[-13.138477,12.639746],[-13.08291,12.633545],[-13.059766,12.615039],[-13.064404,12.581055],[-13.079834,12.536279],[-13.061279,12.48999],[-13.011914,12.477637],[-12.985645,12.49165],[-12.960547,12.514355],[-12.930713,12.532275],[-12.888184,12.52002],[-12.797314,12.451904],[-12.713037,12.433154],[-12.620801,12.396191],[-12.534229,12.375781],[-12.457373,12.378369],[-12.399072,12.340088],[-12.291211,12.328027],[-12.151953,12.376611],[-12.042383,12.398047],[-11.888574,12.40332],[-11.808105,12.387305],[-11.573682,12.426318],[-11.456738,12.417578],[-11.389404,12.404395],[-11.418066,12.377686],[-11.447559,12.319238],[-11.474561,12.247168],[-11.502197,12.198633],[-11.492432,12.166943],[-11.414648,12.104004],[-11.305176,12.01543],[-11.260693,12.004053],[-11.209668,12.024854],[-11.129248,12.09502],[-11.06582,12.170801],[-11.004541,12.20752],[-10.933203,12.205176],[-10.876172,12.151855],[-10.806494,12.034277],[-10.743018,11.927246],[-10.734912,11.916455],[-10.709229,11.89873],[-10.677344,11.899414],[-10.643701,11.925537],[-10.618994,11.941211],[-10.589502,11.990283],[-10.46582,12.138672],[-10.372754,12.179541],[-10.339893,12.190283],[-10.274854,12.212646],[-10.16709,12.177441],[-10.010645,12.116455],[-9.820703,12.04248],[-9.754004,12.029932],[-9.714746,12.04248],[-9.658301,12.143115],[-9.587744,12.182471],[-9.486816,12.228662],[-9.40498,12.252441],[-9.358105,12.25542],[-9.340186,12.282764],[-9.331543,12.32373],[-9.34082,12.366016],[-9.393652,12.442236],[-9.395361,12.464648],[-9.365186,12.479297],[-9.3,12.490283],[-9.215527,12.482861],[-9.120459,12.449951],[-9.043066,12.402344],[-8.998926,12.345898],[-8.95083,12.225586],[-8.913867,12.108545],[-8.818311,11.92251],[-8.820068,11.807129],[-8.822021,11.673242],[-8.779736,11.648242],[-8.733105,11.6375],[-8.711426,11.617773],[-8.664941,11.51499],[-8.621143,11.485107],[-8.56875,11.478076],[-8.470703,11.412207],[-8.407471,11.386279],[-8.398535,11.366553],[-8.400684,11.339404],[-8.425293,11.304736],[-8.463525,11.280713],[-8.520312,11.235937],[-8.567285,11.177002],[-8.663916,11.03584],[-8.666699,11.009473],[-8.646191,10.990479],[-8.606201,10.986963],[-8.563525,10.99668],[-8.474707,11.048389],[-8.404492,11.029932],[-8.337402,10.990625],[-8.312744,10.949756],[-8.306348,10.896094],[-8.32168,10.826953],[-8.324121,10.749512],[-8.301562,10.617578],[-8.26665,10.485986],[-8.231494,10.437988],[-8.007275,10.321875],[-7.985693,10.278418],[-7.974463,10.229541],[-7.990625,10.1625],[-8.013525,10.125293],[-8.077832,10.06709],[-8.136621,10.02207],[-8.155176,9.973193],[-8.14585,9.881738],[-8.146045,9.674805],[-8.136963,9.495703],[-8.088672,9.430664],[-8.031006,9.397656],[-7.962695,9.403857],[-7.896191,9.415869],[-7.9,9.308691],[-7.918066,9.188525],[-7.839404,9.151611],[-7.799805,9.115039],[-7.777979,9.080859],[-7.9021,9.01709],[-7.938184,8.979785],[-7.95498,8.879443],[-7.950977,8.786816],[-7.784033,8.720605],[-7.71958,8.643018],[-7.690967,8.5625],[-7.681201,8.410352],[-7.696094,8.375586],[-7.738965,8.375244],[-7.787402,8.421973],[-7.823584,8.467676],[-7.86875,8.467529],[-7.953125,8.477734],[-8.049121,8.495312],[-8.167773,8.490674],[-8.209961,8.483252],[-8.236963,8.455664],[-8.244141,8.40791],[-8.256104,8.253711],[-8.217139,8.219678],[-8.140625,8.181445],[-8.090527,8.165137],[-8.048584,8.169727],[-8.016748,8.144922],[-8.009863,8.078516],[-8.031738,8.029736],[-8.073828,7.984424],[-8.126855,7.867725],[-8.117822,7.824023],[-8.11543,7.760742],[-8.205957,7.590234],[-8.231885,7.556738],[-8.351758,7.590576],[-8.42998,7.601855],[-8.486426,7.558496],[-8.522266,7.585547],[-8.564404,7.625098],[-8.578857,7.677051],[-8.607324,7.687939],[-8.659766,7.688379],[-8.708301,7.658887],[-8.729443,7.605273],[-8.732617,7.543555],[-8.740234,7.495703],[-8.769141,7.466797],[-8.82793,7.391943],[-8.855518,7.322803],[-8.889648,7.262695],[-8.938428,7.266162],[-8.960986,7.274609],[-8.976562,7.258887],[-9.052344,7.225488],[-9.117578,7.215918],[-9.134814,7.250586],[-9.172852,7.278418],[-9.215186,7.333301],[-9.263281,7.377734],[-9.355322,7.408691],[-9.39165,7.394922],[-9.435107,7.398438],[-9.463818,7.415869],[-9.459766,7.442529],[-9.411475,7.509961],[-9.383984,7.571875],[-9.368945,7.639551],[-9.369141,7.703809],[-9.394922,7.794629],[-9.436328,7.866699],[-9.446387,7.908496],[-9.441553,7.96792],[-9.451123,8.023242],[-9.464551,8.0521],[-9.471143,8.106982],[-9.484131,8.156982],[-9.508496,8.17627],[-9.522217,8.26001],[-9.518262,8.346094],[-9.553906,8.378613],[-9.610156,8.402344],[-9.643213,8.436035],[-9.663574,8.473535],[-9.683887,8.484424],[-9.701172,8.482178],[-9.716895,8.458887],[-9.735596,8.453955],[-9.768262,8.53457],[-9.781982,8.537695],[-9.804736,8.519189],[-10.064355,8.429883],[-10.075684,8.4646],[-10.097656,8.505859],[-10.147412,8.519727],[-10.233057,8.488818],[-10.283203,8.485156]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":3,"SOVEREIGNT":"Guatemala","SOV_A3":"GTM","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Guatemala","ADM0_A3":"GTM","GEOU_DIF":0,"GEOUNIT":"Guatemala","GU_A3":"GTM","SU_DIF":0,"SUBUNIT":"Guatemala","SU_A3":"GTM","BRK_DIFF":0,"NAME":"Guatemala","NAME_LONG":"Guatemala","BRK_A3":"GTM","BRK_NAME":"Guatemala","BRK_GROUP":null,"ABBREV":"Guat.","POSTAL":"GT","FORMAL_EN":"Republic of Guatemala","FORMAL_FR":null,"NAME_CIAWF":"Guatemala","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Guatemala","NAME_ALT":null,"MAPCOLOR7":3,"MAPCOLOR8":3,"MAPCOLOR9":3,"MAPCOLOR13":6,"POP_EST":16604026,"POP_RANK":14,"POP_YEAR":2019,"GDP_MD":76710,"GDP_YEAR":2019,"ECONOMY":"6. Developing region","INCOME_GRP":"4. Lower middle income","FIPS_10":"GT","ISO_A2":"GT","ISO_A2_EH":"GT","ISO_A3":"GTM","ISO_A3_EH":"GTM","ISO_N3":"320","ISO_N3_EH":"320","UN_A3":"320","WB_A2":"GT","WB_A3":"GTM","WOE_ID":23424834,"WOE_ID_EH":23424834,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"GTM","ADM0_DIFF":null,"ADM0_TLC":"GTM","ADM0_A3_US":"GTM","ADM0_A3_FR":"GTM","ADM0_A3_RU":"GTM","ADM0_A3_ES":"GTM","ADM0_A3_CN":"GTM","ADM0_A3_TW":"GTM","ADM0_A3_IN":"GTM","ADM0_A3_NP":"GTM","ADM0_A3_PK":"GTM","ADM0_A3_DE":"GTM","ADM0_A3_GB":"GTM","ADM0_A3_BR":"GTM","ADM0_A3_IL":"GTM","ADM0_A3_PS":"GTM","ADM0_A3_SA":"GTM","ADM0_A3_EG":"GTM","ADM0_A3_MA":"GTM","ADM0_A3_PT":"GTM","ADM0_A3_AR":"GTM","ADM0_A3_JP":"GTM","ADM0_A3_KO":"GTM","ADM0_A3_VN":"GTM","ADM0_A3_TR":"GTM","ADM0_A3_ID":"GTM","ADM0_A3_PL":"GTM","ADM0_A3_GR":"GTM","ADM0_A3_IT":"GTM","ADM0_A3_NL":"GTM","ADM0_A3_SE":"GTM","ADM0_A3_BD":"GTM","ADM0_A3_UA":"GTM","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"North America","REGION_UN":"Americas","SUBREGION":"Central America","REGION_WB":"Latin America & Caribbean","NAME_LEN":9,"LONG_LEN":9,"ABBREV_LEN":5,"TINY":4,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":3,"MAX_LABEL":8,"LABEL_X":-90.497134,"LABEL_Y":14.982133,"NE_ID":1159320815,"WIKIDATAID":"Q774","NAME_AR":"غواتيمالا","NAME_BN":"গুয়াতেমালা","NAME_DE":"Guatemala","NAME_EN":"Guatemala","NAME_ES":"Guatemala","NAME_FA":"گواتمالا","NAME_FR":"Guatemala","NAME_EL":"Γουατεμάλα","NAME_HE":"גואטמלה","NAME_HI":"ग्वाटेमाला","NAME_HU":"Guatemala","NAME_ID":"Guatemala","NAME_IT":"Guatemala","NAME_JA":"グアテマラ","NAME_KO":"과테말라","NAME_NL":"Guatemala","NAME_PL":"Gwatemala","NAME_PT":"Guatemala","NAME_RU":"Гватемала","NAME_SV":"Guatemala","NAME_TR":"Guatemala","NAME_UK":"Гватемала","NAME_UR":"گواتیمالا","NAME_VI":"Guatemala","NAME_ZH":"危地马拉","NAME_ZHT":"瓜地馬拉","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[-92.235156,13.736523,-88.22832,17.816406],"geometry":{"type":"Polygon","coordinates":[[[-92.235156,14.54541],[-92.209033,14.570996],[-92.187061,14.630078],[-92.159912,14.691016],[-92.176465,14.761328],[-92.186377,14.818359],[-92.155664,14.901318],[-92.158545,14.963574],[-92.144238,15.001953],[-92.09873,15.026758],[-92.074805,15.074219],[-92.204346,15.237695],[-92.204248,15.275],[-92.187158,15.320898],[-92.082129,15.495557],[-91.957227,15.703223],[-91.819434,15.932373],[-91.736572,16.070166],[-91.433984,16.070459],[-91.233789,16.070654],[-90.97959,16.070801],[-90.703223,16.071045],[-90.521973,16.071191],[-90.447168,16.072705],[-90.459863,16.162354],[-90.450146,16.261377],[-90.416992,16.351318],[-90.416992,16.391016],[-90.471094,16.439551],[-90.575781,16.467822],[-90.634082,16.510742],[-90.634375,16.565137],[-90.659961,16.630908],[-90.710693,16.708105],[-90.816016,16.787109],[-90.97583,16.867822],[-91.111865,16.976172],[-91.22417,17.112256],[-91.319189,17.199805],[-91.392334,17.236426],[-91.409619,17.255859],[-91.195508,17.254102],[-90.992969,17.252441],[-90.991602,17.447461],[-90.99043,17.620752],[-90.98916,17.816406],[-90.622021,17.816113],[-90.183594,17.815723],[-89.728809,17.815332],[-89.371533,17.81499],[-89.161475,17.814844],[-89.171094,17.572266],[-89.182178,17.291211],[-89.190381,17.084668],[-89.20127,16.808984],[-89.212451,16.527148],[-89.227637,16.142822],[-89.2375,15.894434],[-89.232812,15.888672],[-89.113574,15.900684],[-88.937158,15.889844],[-88.894043,15.890625],[-88.83999,15.868994],[-88.79834,15.8625],[-88.708643,15.806543],[-88.603369,15.76416],[-88.53623,15.849609],[-88.571582,15.901074],[-88.597998,15.927344],[-88.593945,15.950293],[-88.22832,15.729004],[-88.271436,15.694873],[-88.364551,15.616016],[-88.533301,15.481201],[-88.684473,15.360498],[-88.829932,15.251025],[-88.960986,15.152441],[-88.976416,15.142676],[-89.142578,15.072314],[-89.170312,15.039893],[-89.206104,14.900586],[-89.222363,14.866064],[-89.192236,14.788721],[-89.162207,14.669238],[-89.171777,14.606885],[-89.286719,14.52998],[-89.339404,14.460742],[-89.362598,14.416016],[-89.383252,14.427637],[-89.418848,14.431104],[-89.500879,14.41377],[-89.540527,14.409912],[-89.573633,14.390088],[-89.576953,14.34707],[-89.555029,14.277246],[-89.547168,14.24126],[-89.570264,14.224658],[-89.671289,14.182715],[-89.711133,14.141309],[-89.749365,14.077002],[-89.793701,14.050098],[-89.839941,14.055078],[-89.872705,14.045605],[-89.942676,13.997363],[-90.048145,13.904053],[-90.104736,13.834766],[-90.105908,13.783008],[-90.095215,13.736523],[-90.479102,13.900928],[-90.606934,13.929004],[-91.146045,13.925586],[-91.377344,13.990186],[-91.640918,14.114941],[-91.819092,14.228223],[-92.235156,14.54541]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":6,"SOVEREIGNT":"Grenada","SOV_A3":"GRD","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Grenada","ADM0_A3":"GRD","GEOU_DIF":0,"GEOUNIT":"Grenada","GU_A3":"GRD","SU_DIF":0,"SUBUNIT":"Grenada","SU_A3":"GRD","BRK_DIFF":0,"NAME":"Grenada","NAME_LONG":"Grenada","BRK_A3":"GRD","BRK_NAME":"Grenada","BRK_GROUP":null,"ABBREV":"Gren.","POSTAL":"GD","FORMAL_EN":"Grenada","FORMAL_FR":null,"NAME_CIAWF":"Grenada","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Grenada","NAME_ALT":null,"MAPCOLOR7":2,"MAPCOLOR8":4,"MAPCOLOR9":3,"MAPCOLOR13":6,"POP_EST":112003,"POP_RANK":9,"POP_YEAR":2019,"GDP_MD":1210,"GDP_YEAR":2019,"ECONOMY":"6. Developing region","INCOME_GRP":"3. Upper middle income","FIPS_10":"GJ","ISO_A2":"GD","ISO_A2_EH":"GD","ISO_A3":"GRD","ISO_A3_EH":"GRD","ISO_N3":"308","ISO_N3_EH":"308","UN_A3":"308","WB_A2":"GD","WB_A3":"GRD","WOE_ID":23424826,"WOE_ID_EH":23424826,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"GRD","ADM0_DIFF":null,"ADM0_TLC":"GRD","ADM0_A3_US":"GRD","ADM0_A3_FR":"GRD","ADM0_A3_RU":"GRD","ADM0_A3_ES":"GRD","ADM0_A3_CN":"GRD","ADM0_A3_TW":"GRD","ADM0_A3_IN":"GRD","ADM0_A3_NP":"GRD","ADM0_A3_PK":"GRD","ADM0_A3_DE":"GRD","ADM0_A3_GB":"GRD","ADM0_A3_BR":"GRD","ADM0_A3_IL":"GRD","ADM0_A3_PS":"GRD","ADM0_A3_SA":"GRD","ADM0_A3_EG":"GRD","ADM0_A3_MA":"GRD","ADM0_A3_PT":"GRD","ADM0_A3_AR":"GRD","ADM0_A3_JP":"GRD","ADM0_A3_KO":"GRD","ADM0_A3_VN":"GRD","ADM0_A3_TR":"GRD","ADM0_A3_ID":"GRD","ADM0_A3_PL":"GRD","ADM0_A3_GR":"GRD","ADM0_A3_IT":"GRD","ADM0_A3_NL":"GRD","ADM0_A3_SE":"GRD","ADM0_A3_BD":"GRD","ADM0_A3_UA":"GRD","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"North America","REGION_UN":"Americas","SUBREGION":"Caribbean","REGION_WB":"Latin America & Caribbean","NAME_LEN":7,"LONG_LEN":7,"ABBREV_LEN":5,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":4,"MAX_LABEL":9,"LABEL_X":-61.680461,"LABEL_Y":12.113156,"NE_ID":1159320813,"WIKIDATAID":"Q769","NAME_AR":"غرينادا","NAME_BN":"গ্রেনাডা","NAME_DE":"Grenada","NAME_EN":"Grenada","NAME_ES":"Granada","NAME_FA":"گرنادا","NAME_FR":"Grenade","NAME_EL":"Γρενάδα","NAME_HE":"גרנדה","NAME_HI":"ग्रेनाडा","NAME_HU":"Grenada","NAME_ID":"Grenada","NAME_IT":"Grenada","NAME_JA":"グレナダ","NAME_KO":"그레나다","NAME_NL":"Grenada","NAME_PL":"Grenada","NAME_PT":"Granada","NAME_RU":"Гренада","NAME_SV":"Grenada","NAME_TR":"Grenada","NAME_UK":"Гренада","NAME_UR":"گریناڈا","NAME_VI":"Grenada","NAME_ZH":"格林纳达","NAME_ZHT":"格瑞那達","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[-61.782178,12.008447,-61.607031,12.237012],"geometry":{"type":"Polygon","coordinates":[[[-61.715527,12.012646],[-61.782178,12.008447],[-61.755762,12.045459],[-61.749902,12.108447],[-61.71499,12.185156],[-61.660449,12.237012],[-61.607031,12.223291],[-61.627148,12.053955],[-61.715527,12.012646]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":3,"LABELRANK":3,"SOVEREIGNT":"Greece","SOV_A3":"GRC","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Greece","ADM0_A3":"GRC","GEOU_DIF":0,"GEOUNIT":"Greece","GU_A3":"GRC","SU_DIF":0,"SUBUNIT":"Greece","SU_A3":"GRC","BRK_DIFF":0,"NAME":"Greece","NAME_LONG":"Greece","BRK_A3":"GRC","BRK_NAME":"Greece","BRK_GROUP":null,"ABBREV":"Greece","POSTAL":"GR","FORMAL_EN":"Hellenic Republic","FORMAL_FR":null,"NAME_CIAWF":"Greece","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Greece","NAME_ALT":null,"MAPCOLOR7":2,"MAPCOLOR8":2,"MAPCOLOR9":2,"MAPCOLOR13":9,"POP_EST":10716322,"POP_RANK":14,"POP_YEAR":2019,"GDP_MD":209852,"GDP_YEAR":2019,"ECONOMY":"2. Developed region: nonG7","INCOME_GRP":"1. High income: OECD","FIPS_10":"GR","ISO_A2":"GR","ISO_A2_EH":"GR","ISO_A3":"GRC","ISO_A3_EH":"GRC","ISO_N3":"300","ISO_N3_EH":"300","UN_A3":"300","WB_A2":"GR","WB_A3":"GRC","WOE_ID":23424833,"WOE_ID_EH":23424833,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"GRC","ADM0_DIFF":null,"ADM0_TLC":"GRC","ADM0_A3_US":"GRC","ADM0_A3_FR":"GRC","ADM0_A3_RU":"GRC","ADM0_A3_ES":"GRC","ADM0_A3_CN":"GRC","ADM0_A3_TW":"GRC","ADM0_A3_IN":"GRC","ADM0_A3_NP":"GRC","ADM0_A3_PK":"GRC","ADM0_A3_DE":"GRC","ADM0_A3_GB":"GRC","ADM0_A3_BR":"GRC","ADM0_A3_IL":"GRC","ADM0_A3_PS":"GRC","ADM0_A3_SA":"GRC","ADM0_A3_EG":"GRC","ADM0_A3_MA":"GRC","ADM0_A3_PT":"GRC","ADM0_A3_AR":"GRC","ADM0_A3_JP":"GRC","ADM0_A3_KO":"GRC","ADM0_A3_VN":"GRC","ADM0_A3_TR":"GRC","ADM0_A3_ID":"GRC","ADM0_A3_PL":"GRC","ADM0_A3_GR":"GRC","ADM0_A3_IT":"GRC","ADM0_A3_NL":"GRC","ADM0_A3_SE":"GRC","ADM0_A3_BD":"GRC","ADM0_A3_UA":"GRC","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Europe","REGION_UN":"Europe","SUBREGION":"Southern Europe","REGION_WB":"Europe & Central Asia","NAME_LEN":6,"LONG_LEN":6,"ABBREV_LEN":6,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":2.7,"MAX_LABEL":8,"LABEL_X":21.72568,"LABEL_Y":39.492763,"NE_ID":1159320811,"WIKIDATAID":"Q41","NAME_AR":"اليونان","NAME_BN":"গ্রিস","NAME_DE":"Griechenland","NAME_EN":"Greece","NAME_ES":"Grecia","NAME_FA":"یونان","NAME_FR":"Grèce","NAME_EL":"Ελλάδα","NAME_HE":"יוון","NAME_HI":"यूनान","NAME_HU":"Görögország","NAME_ID":"Yunani","NAME_IT":"Grecia","NAME_JA":"ギリシャ","NAME_KO":"그리스","NAME_NL":"Griekenland","NAME_PL":"Grecja","NAME_PT":"Grécia","NAME_RU":"Греция","NAME_SV":"Grekland","NAME_TR":"Yunanistan","NAME_UK":"Греція","NAME_UR":"یونان","NAME_VI":"Hy Lạp","NAME_ZH":"希腊","NAME_ZHT":"希臘","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[19.646484,34.934473,28.231836,41.743799],"geometry":{"type":"MultiPolygon","coordinates":[[[[27.860156,36.553906],[27.838281,36.537988],[27.788086,36.583691],[27.785742,36.60752],[27.836816,36.634863],[27.8625,36.641162],[27.869824,36.62251],[27.869043,36.582666],[27.860156,36.553906]]],[[[20.612305,38.38335],[20.624707,38.267871],[20.695215,38.246191],[20.788867,38.14209],[20.780762,38.088818],[20.761328,38.070557],[20.606152,38.119727],[20.568945,38.097656],[20.523535,38.106641],[20.495508,38.16416],[20.49873,38.184375],[20.47334,38.218799],[20.452148,38.23418],[20.391016,38.188428],[20.352539,38.179883],[20.352246,38.221729],[20.408691,38.336768],[20.435059,38.356201],[20.481445,38.318213],[20.519629,38.332324],[20.54834,38.394531],[20.550293,38.456543],[20.563184,38.474951],[20.612305,38.38335]]],[[[20.888477,37.805371],[20.993945,37.708008],[20.909082,37.732129],[20.818555,37.664746],[20.703809,37.743457],[20.635059,37.823145],[20.619531,37.855029],[20.691504,37.929541],[20.758691,37.852979],[20.839844,37.840723],[20.888477,37.805371]]],[[[20.686719,38.608691],[20.647852,38.600977],[20.614355,38.60625],[20.583984,38.601709],[20.554688,38.582568],[20.55791,38.661865],[20.59248,38.760156],[20.634668,38.817578],[20.694141,38.844238],[20.719629,38.79917],[20.714844,38.63833],[20.686719,38.608691]]],[[[20.758691,38.329443],[20.709277,38.318604],[20.646387,38.414307],[20.623633,38.480322],[20.649707,38.483984],[20.674805,38.476318],[20.70127,38.451416],[20.701074,38.425928],[20.711621,38.398633],[20.73916,38.365771],[20.758691,38.329443]]],[[[20.07793,39.432715],[20.099609,39.376611],[19.975,39.411426],[19.883984,39.461523],[19.808887,39.585303],[19.648926,39.726172],[19.646484,39.76709],[19.707324,39.798096],[19.838574,39.820117],[19.891699,39.797266],[19.926074,39.77373],[19.936816,39.746729],[19.862207,39.692627],[19.84668,39.668115],[19.904102,39.619482],[19.903125,39.6],[19.927344,39.505908],[19.955273,39.47041],[20.027734,39.44209],[20.07793,39.432715]]],[[[23.41543,38.958643],[23.471973,38.850098],[23.525,38.813477],[23.63623,38.770215],[23.688477,38.764697],[23.878223,38.686572],[24.099023,38.670996],[24.127539,38.648486],[24.154688,38.588281],[24.199707,38.541016],[24.211035,38.504248],[24.1875,38.463428],[24.220117,38.338623],[24.275781,38.22002],[24.359668,38.1625],[24.463965,38.145117],[24.563281,38.14751],[24.588379,38.123975],[24.578516,38.020166],[24.536523,37.979736],[24.502344,37.969922],[24.472656,37.980518],[24.445801,38.00498],[24.416504,38.016553],[24.359473,38.018555],[24.317773,38.060352],[24.212012,38.117529],[24.192578,38.15166],[24.189063,38.204297],[24.144141,38.243066],[24.102832,38.316846],[24.063574,38.337207],[24.041895,38.374121],[24.040137,38.38999],[23.88623,38.400732],[23.758789,38.401221],[23.650781,38.443066],[23.617383,38.552539],[23.55332,38.581982],[23.505273,38.612939],[23.465234,38.655859],[23.364063,38.73501],[23.252148,38.801221],[23.143945,38.844824],[23.029102,38.873389],[22.935742,38.839648],[22.881348,38.847656],[22.870313,38.870508],[22.986328,38.915918],[23.145801,39.002686],[23.258203,39.031348],[23.312695,39.034912],[23.41543,38.958643]]],[[[23.779785,39.114404],[23.735156,39.080566],[23.666113,39.095361],[23.593945,39.208594],[23.779785,39.114404]]],[[[23.887988,39.158301],[23.841211,39.146582],[23.888086,39.226367],[23.970898,39.267725],[23.939746,39.200537],[23.887988,39.158301]]],[[[24.674707,38.809229],[24.569043,38.784814],[24.541016,38.788672],[24.564551,38.819434],[24.566406,38.832373],[24.461035,38.888623],[24.473438,38.96167],[24.485645,38.980273],[24.564063,38.942236],[24.58125,38.878857],[24.674707,38.809229]]],[[[24.774219,40.615186],[24.645898,40.579443],[24.515527,40.647021],[24.516699,40.687207],[24.585547,40.76875],[24.62334,40.79292],[24.719141,40.786279],[24.773633,40.730273],[24.786328,40.703857],[24.768652,40.658887],[24.774219,40.615186]]],[[[23.550977,37.925879],[23.511426,37.901172],[23.466797,37.902393],[23.435254,37.911475],[23.419336,37.93125],[23.439063,37.940674],[23.462207,37.980371],[23.483691,37.991113],[23.515527,37.986035],[23.534863,37.970215],[23.550977,37.925879]]],[[[23.053809,36.189795],[23.042188,36.146387],[22.939453,36.176221],[22.91084,36.220996],[22.905664,36.320312],[22.932617,36.36875],[22.950488,36.383936],[22.997852,36.328125],[23.09707,36.246582],[23.053809,36.189795]]],[[[27.176074,35.465283],[27.137891,35.409082],[27.099121,35.456445],[27.11582,35.511133],[27.070703,35.597754],[27.156055,35.72627],[27.158008,35.788672],[27.223145,35.820459],[27.207031,35.714453],[27.157227,35.629492],[27.208887,35.558936],[27.233594,35.478564],[27.176074,35.465283]]],[[[27.019727,36.959033],[26.919922,36.945215],[26.937695,37.024609],[26.888672,37.087256],[26.966602,37.0521],[27.016016,37.009668],[27.040137,37.001562],[27.03457,36.975977],[27.019727,36.959033]]],[[[26.949609,36.7271],[26.918359,36.725928],[26.955566,36.774219],[27.061133,36.840381],[27.214941,36.898633],[27.265625,36.905127],[27.352148,36.868896],[27.193164,36.809131],[27.150977,36.777588],[27.033594,36.770752],[26.949609,36.7271]]],[[[25.545898,36.967578],[25.456738,36.929688],[25.395898,36.984375],[25.361914,37.07041],[25.525293,37.196387],[25.564355,37.185107],[25.587891,37.152539],[25.584277,37.039307],[25.545898,36.967578]]],[[[25.278906,37.068408],[25.199414,36.991309],[25.133301,36.999658],[25.105469,37.034961],[25.146484,37.107422],[25.235059,37.148535],[25.275293,37.137842],[25.271484,37.08418],[25.278906,37.068408]]],[[[25.482422,36.392627],[25.435938,36.340088],[25.370508,36.358936],[25.397168,36.378955],[25.412891,36.404883],[25.414648,36.442285],[25.396875,36.465332],[25.408984,36.47373],[25.467383,36.435059],[25.482422,36.392627]]],[[[25.381738,36.674023],[25.364355,36.65835],[25.288672,36.721533],[25.259961,36.758447],[25.295898,36.78916],[25.406934,36.717334],[25.381738,36.674023]]],[[[26.824414,37.811426],[26.947363,37.778467],[26.981543,37.781982],[27.039648,37.77002],[27.055078,37.709277],[26.978125,37.700488],[26.844922,37.644727],[26.788281,37.656982],[26.720508,37.705469],[26.612891,37.710498],[26.581055,37.72373],[26.638672,37.780859],[26.743359,37.809766],[26.824414,37.811426]]],[[[26.029297,37.529395],[25.982422,37.525586],[25.996777,37.565576],[26.086328,37.634912],[26.211523,37.638281],[26.325586,37.673047],[26.351367,37.674316],[26.296875,37.61958],[26.204883,37.568506],[26.029297,37.529395]]],[[[25.859375,36.79043],[25.771094,36.782227],[25.743164,36.789746],[25.796777,36.807031],[25.834375,36.825391],[25.852441,36.847559],[25.941992,36.886572],[26.000684,36.937402],[26.064453,36.902734],[25.984668,36.879687],[25.859375,36.79043]]],[[[26.460645,36.5854],[26.381641,36.561523],[26.331445,36.511377],[26.27002,36.546924],[26.269824,36.59541],[26.337012,36.580566],[26.38418,36.607861],[26.37002,36.638574],[26.421289,36.624219],[26.460645,36.5854]]],[[[24.355957,37.576855],[24.288965,37.528271],[24.277441,37.601123],[24.32041,37.677734],[24.379102,37.682715],[24.400781,37.649023],[24.355957,37.576855]]],[[[24.435742,37.344434],[24.378906,37.314111],[24.397754,37.383447],[24.369727,37.419629],[24.394824,37.450391],[24.43125,37.475195],[24.448535,37.449561],[24.481445,37.408008],[24.435742,37.344434]]],[[[24.535742,36.76377],[24.5375,36.705029],[24.530664,36.683984],[24.325977,36.655615],[24.344922,36.722998],[24.357422,36.744287],[24.425195,36.712939],[24.450195,36.728955],[24.460352,36.747461],[24.535742,36.76377]]],[[[24.942871,37.493506],[24.937891,37.389697],[24.911523,37.390576],[24.896191,37.406592],[24.895313,37.446338],[24.906543,37.508887],[24.942871,37.493506]]],[[[24.991699,37.759619],[24.962207,37.692383],[24.884082,37.770508],[24.798535,37.824023],[24.766504,37.870703],[24.714355,37.898877],[24.700195,37.96167],[24.763379,37.9875],[24.79043,37.990137],[24.855078,37.913672],[24.956348,37.904785],[24.948438,37.857666],[24.980469,37.796924],[24.991699,37.759619]]],[[[25.255859,37.599609],[25.21875,37.535107],[25.156348,37.545068],[25.051953,37.614453],[25.016309,37.645947],[24.996484,37.676904],[25.039355,37.680664],[25.091797,37.647998],[25.225391,37.630664],[25.255859,37.599609]]],[[[24.720898,36.921436],[24.702637,36.91709],[24.676465,36.959277],[24.670996,36.998584],[24.681445,37.021631],[24.716113,37.023828],[24.763184,36.949219],[24.720898,36.921436]]],[[[26.094043,38.218066],[25.998535,38.161523],[25.891895,38.243311],[25.874316,38.269629],[25.952637,38.302637],[25.991406,38.353516],[25.959961,38.416016],[25.85127,38.508398],[25.846094,38.574023],[26.0125,38.601709],[26.110449,38.544629],[26.160352,38.540723],[26.141211,38.486182],[26.149609,38.468457],[26.157031,38.30293],[26.110742,38.279639],[26.103125,38.23418],[26.094043,38.218066]]],[[[26.410156,39.329443],[26.392773,39.270117],[26.531055,39.171777],[26.578223,39.109521],[26.595605,39.048828],[26.583984,39.031445],[26.531543,39.064355],[26.488672,39.074805],[26.503125,39.031445],[26.547168,38.994141],[26.46875,38.972803],[26.390137,38.973926],[26.16084,39.025879],[26.10791,39.081055],[26.245117,39.164111],[26.273145,39.197559],[26.175977,39.194287],[26.072363,39.095605],[25.90625,39.138965],[25.855469,39.178662],[25.844141,39.200049],[25.90957,39.287549],[26.026465,39.284619],[26.088379,39.304297],[26.164844,39.331982],[26.16543,39.373535],[26.347754,39.383008],[26.410156,39.329443]]],[[[25.685742,40.426562],[25.572656,40.400439],[25.448047,40.482812],[25.568555,40.515869],[25.624316,40.491992],[25.664258,40.463867],[25.685742,40.426562]]],[[[25.437695,39.983301],[25.399902,39.949561],[25.37207,39.891309],[25.357031,39.808105],[25.29873,39.806104],[25.263379,39.822949],[25.251758,39.854395],[25.249414,39.894141],[25.223828,39.892578],[25.203223,39.849414],[25.185156,39.829932],[25.126465,39.82583],[25.062207,39.852393],[25.065234,39.909863],[25.052344,39.976367],[25.058008,39.999658],[25.23418,40.00542],[25.285742,39.956299],[25.348047,39.984766],[25.373633,40.015527],[25.449121,40.034814],[25.437695,39.983301]]],[[[25.402734,37.419141],[25.307129,37.412988],[25.312695,37.489307],[25.348145,37.50918],[25.462988,37.471094],[25.457422,37.44707],[25.402734,37.419141]]],[[[24.523535,37.125098],[24.486523,37.110059],[24.424805,37.131982],[24.441211,37.186865],[24.483789,37.210205],[24.529102,37.192334],[24.535938,37.167676],[24.523535,37.125098]]],[[[27.842773,35.929297],[27.770605,35.908301],[27.745703,35.911035],[27.715527,35.957324],[27.757324,36.069189],[27.718652,36.141113],[27.716309,36.171582],[27.774414,36.21377],[27.815234,36.276953],[27.914453,36.345312],[28.171484,36.426221],[28.231836,36.433643],[28.230078,36.370264],[28.144043,36.209863],[28.067676,36.129687],[28.087793,36.065332],[27.965527,36.04751],[27.842773,35.929297]]],[[[23.852246,35.535449],[23.920605,35.528174],[24.013281,35.529443],[24.034375,35.5354],[24.093359,35.593848],[24.166016,35.595215],[24.197754,35.537451],[24.124023,35.51084],[24.108984,35.495801],[24.123145,35.483643],[24.178516,35.459521],[24.255371,35.468604],[24.257715,35.423145],[24.274902,35.385986],[24.312891,35.363818],[24.354004,35.359473],[24.444922,35.366016],[24.53457,35.380762],[24.626953,35.409912],[24.721289,35.424805],[25.003125,35.409863],[25.104297,35.346924],[25.296777,35.339355],[25.475684,35.306201],[25.569629,35.328076],[25.730176,35.348584],[25.755859,35.326367],[25.735156,35.184033],[25.74502,35.142725],[25.791309,35.122852],[25.837109,35.132568],[25.893359,35.179199],[26.028027,35.215283],[26.167871,35.215088],[26.285547,35.309766],[26.320215,35.315137],[26.298633,35.268604],[26.280859,35.159229],[26.255566,35.095166],[26.244336,35.044678],[26.165625,35.018604],[26.04668,35.01416],[25.829688,35.025195],[25.610938,35.007324],[25.205762,34.959277],[24.799805,34.934473],[24.745215,34.950635],[24.743945,35.014355],[24.735156,35.058301],[24.708887,35.089062],[24.583398,35.115332],[24.463672,35.160352],[23.994336,35.221924],[23.883594,35.246094],[23.703906,35.233496],[23.638086,35.235156],[23.592773,35.257227],[23.561621,35.295166],[23.547559,35.415576],[23.569824,35.534766],[23.608691,35.56626],[23.626563,35.530371],[23.672656,35.513916],[23.71543,35.550146],[23.715039,35.604736],[23.736914,35.655518],[23.770801,35.634229],[23.793359,35.556201],[23.852246,35.535449]]],[[[26.320898,41.716553],[26.410547,41.696338],[26.4625,41.663379],[26.49502,41.633252],[26.544531,41.607227],[26.581348,41.60127],[26.609766,41.512158],[26.624902,41.401758],[26.602344,41.35415],[26.536426,41.343115],[26.330664,41.23877],[26.325684,41.143262],[26.328418,41.097021],[26.332617,41.064307],[26.354102,41.036768],[26.354102,40.99707],[26.331055,40.954492],[26.241211,40.883203],[26.178906,40.826514],[26.10918,40.749658],[26.069727,40.740283],[26.038965,40.726758],[26.010742,40.769141],[25.855664,40.844092],[25.496777,40.887793],[25.325293,40.943115],[25.250098,40.932812],[25.104492,40.994727],[25.004688,40.967529],[24.792969,40.85752],[24.678711,40.869482],[24.556543,40.935596],[24.477051,40.947754],[24.383789,40.912744],[24.234375,40.786133],[24.082324,40.724072],[23.946094,40.74834],[23.762793,40.747803],[23.743262,40.677002],[23.778711,40.627979],[23.878906,40.544385],[23.831934,40.481543],[23.866797,40.418555],[23.932031,40.405762],[24.030566,40.409326],[24.212793,40.327783],[24.29248,40.241797],[24.343359,40.147705],[24.232422,40.215186],[24.158789,40.280029],[24.056055,40.303564],[23.913184,40.358789],[23.823438,40.368018],[23.72793,40.329736],[23.720508,40.286279],[23.823438,40.205127],[23.917578,40.155225],[23.96748,40.114551],[24.000781,40.024609],[23.981836,39.994043],[23.94707,39.965576],[23.835352,40.022266],[23.664551,40.223828],[23.42627,40.263965],[23.386426,40.221973],[23.433203,40.11543],[23.46709,40.073926],[23.674121,39.958887],[23.65752,39.934473],[23.627344,39.924072],[23.395605,39.989844],[23.328223,40.089941],[23.312012,40.216455],[23.098145,40.304297],[22.896484,40.399902],[22.851367,40.490625],[22.892871,40.524268],[22.922266,40.590869],[22.811426,40.578613],[22.741895,40.536475],[22.629492,40.495557],[22.624902,40.428613],[22.642676,40.366602],[22.605469,40.276416],[22.569336,40.119336],[22.592188,40.036914],[22.835742,39.800586],[22.919043,39.628906],[22.978809,39.563818],[23.103418,39.492041],[23.233398,39.358447],[23.288477,39.288818],[23.327734,39.174902],[23.218359,39.104395],[23.154688,39.101465],[23.119434,39.132764],[23.16875,39.210449],[23.161719,39.257764],[22.992871,39.331055],[22.921387,39.306348],[22.838965,39.258594],[22.886035,39.169971],[22.938965,39.111523],[22.965527,39.030908],[23.066699,39.037939],[22.930469,38.947705],[22.802637,38.901611],[22.676855,38.898926],[22.596777,38.890576],[22.569141,38.86748],[22.634277,38.850684],[22.6875,38.84917],[22.774023,38.800391],[23.020313,38.741895],[23.137695,38.667969],[23.25293,38.66123],[23.368945,38.525537],[23.569629,38.489404],[23.683984,38.352441],[23.836035,38.325488],[23.966992,38.275],[24.005371,38.226807],[24.024512,38.139795],[24.033008,37.955322],[24.061328,37.81792],[24.062305,37.774512],[24.055371,37.709619],[24.019727,37.677734],[23.971582,37.676758],[23.877344,37.777783],[23.732813,37.884082],[23.580469,38.010547],[23.537207,38.032764],[23.501758,38.034863],[23.420215,37.99209],[23.193652,37.959033],[23.087402,37.912842],[23.047461,37.902637],[23.036328,37.878369],[23.086133,37.853125],[23.147168,37.795312],[23.147168,37.71626],[23.197559,37.620215],[23.262695,37.59541],[23.347559,37.597559],[23.396191,37.579785],[23.408789,37.541553],[23.458105,37.496924],[23.490625,37.463867],[23.489258,37.440186],[23.252539,37.377295],[23.203027,37.348535],[23.161523,37.333838],[23.1,37.36377],[23.096484,37.440576],[23.015137,37.481787],[22.940527,37.51709],[22.851074,37.532227],[22.775,37.585107],[22.725391,37.542139],[22.765039,37.393311],[22.851074,37.29082],[22.99502,37.015869],[23.060352,36.853516],[23.073535,36.774951],[23.041016,36.644531],[23.111719,36.547607],[23.160156,36.448096],[23.106836,36.451855],[23.060547,36.486963],[22.98291,36.528369],[22.832324,36.687109],[22.779883,36.786182],[22.717188,36.793945],[22.608398,36.779736],[22.489063,36.568164],[22.489453,36.446924],[22.427734,36.475781],[22.374805,36.513574],[22.38125,36.646191],[22.375977,36.701904],[22.231152,36.882568],[22.164746,36.902832],[22.133789,36.963916],[22.080469,37.028955],[22.011719,37.016504],[21.955566,36.990088],[21.940039,36.891797],[21.934277,36.803662],[21.892383,36.737305],[21.738086,36.863232],[21.58291,37.080957],[21.578809,37.200391],[21.69248,37.309277],[21.678906,37.387207],[21.571289,37.541016],[21.416211,37.639941],[21.329297,37.669336],[21.288477,37.774512],[21.205273,37.828857],[21.137988,37.85415],[21.124707,37.891602],[21.14502,37.919287],[21.308105,38.027441],[21.403711,38.19668],[21.451172,38.204736],[21.54873,38.1646],[21.658398,38.175098],[21.748438,38.274219],[21.824707,38.328125],[21.95332,38.321191],[22.24375,38.188721],[22.555859,38.113232],[22.711523,38.046924],[22.799609,37.981201],[22.846387,37.967578],[22.920313,37.958301],[22.916992,38.007471],[22.893164,38.050928],[22.954785,38.074609],[23.12207,38.07334],[23.152539,38.096387],[23.183496,38.133691],[23.148926,38.176074],[23.093555,38.196436],[23.034375,38.2021],[22.99541,38.215527],[22.93252,38.201953],[22.834375,38.234717],[22.783691,38.261719],[22.753906,38.289502],[22.583398,38.344922],[22.42168,38.438525],[22.385254,38.385547],[22.319922,38.356836],[22.226855,38.352832],[21.965332,38.412451],[21.804688,38.366943],[21.71709,38.355029],[21.650098,38.354004],[21.567676,38.333594],[21.472559,38.321387],[21.390137,38.407812],[21.355469,38.474805],[21.331055,38.487305],[21.329785,38.424365],[21.30332,38.373926],[21.182617,38.345557],[21.113184,38.384668],[21.059766,38.503271],[20.992188,38.654004],[20.873242,38.775732],[20.776855,38.80752],[20.768555,38.874414],[20.777344,38.927881],[20.893164,38.941113],[21.074219,38.885156],[21.111621,38.896289],[21.152344,38.92207],[21.144531,38.979199],[21.118359,39.02998],[21.068555,39.032275],[21.034082,39.02627],[20.922754,39.036768],[20.779688,39.008545],[20.713379,39.035156],[20.691309,39.06748],[20.57168,39.147705],[20.468262,39.255273],[20.300781,39.3271],[20.191406,39.545801],[20.099414,39.64126],[20.00127,39.709424],[20.022559,39.710693],[20.059766,39.699121],[20.131055,39.661621],[20.206836,39.653516],[20.248242,39.678369],[20.27207,39.701172],[20.287598,39.738574],[20.293848,39.782227],[20.306152,39.79668],[20.364063,39.791748],[20.382422,39.802637],[20.381641,39.841797],[20.344238,39.890625],[20.311328,39.950781],[20.311133,39.979443],[20.338477,39.991064],[20.383691,40.017187],[20.408008,40.049463],[20.456055,40.065576],[20.527051,40.068506],[20.60625,40.082666],[20.657422,40.117383],[20.664941,40.151758],[20.696973,40.246387],[20.717871,40.292676],[20.75166,40.334912],[20.77002,40.391895],[20.806055,40.445459],[20.881641,40.46792],[20.950195,40.494385],[21.001953,40.563379],[21.030859,40.622461],[21.031055,40.658643],[20.987891,40.717773],[20.955762,40.775293],[20.964258,40.849902],[21.1,40.856152],[21.147559,40.863135],[21.32373,40.867139],[21.404102,40.907178],[21.459668,40.903613],[21.575781,40.868945],[21.627539,40.896338],[21.779492,40.950439],[21.929492,41.107422],[21.993359,41.130957],[22.138867,41.140527],[22.184473,41.158643],[22.237695,41.155176],[22.400781,41.123389],[22.493555,41.118506],[22.603613,41.140186],[22.724805,41.178516],[22.755078,41.312744],[22.783887,41.331982],[22.859277,41.337354],[22.916016,41.336279],[23.025586,41.325635],[23.155957,41.32207],[23.239844,41.384961],[23.37207,41.389648],[23.433398,41.39873],[23.53584,41.386035],[23.635156,41.386768],[23.762305,41.412988],[23.880859,41.455957],[23.973535,41.452295],[24.011328,41.460059],[24.03291,41.469092],[24.056055,41.527246],[24.230371,41.530811],[24.289453,41.525049],[24.386719,41.523535],[24.487891,41.555225],[24.518262,41.552539],[24.569336,41.467383],[24.595996,41.442725],[24.651074,41.419971],[24.77373,41.356104],[24.795801,41.3729],[24.846875,41.394238],[24.993555,41.36499],[25.133398,41.315771],[25.251172,41.243555],[25.381934,41.264355],[25.527051,41.299805],[25.621484,41.310107],[25.723926,41.315039],[25.784961,41.33042],[25.92334,41.311914],[26.066406,41.350684],[26.135352,41.385742],[26.155176,41.434863],[26.143555,41.521533],[26.11123,41.608203],[26.076953,41.640186],[26.066016,41.673242],[26.085547,41.70415],[26.107422,41.725684],[26.200586,41.743799],[26.320898,41.716553]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":3,"SOVEREIGNT":"Ghana","SOV_A3":"GHA","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Ghana","ADM0_A3":"GHA","GEOU_DIF":0,"GEOUNIT":"Ghana","GU_A3":"GHA","SU_DIF":0,"SUBUNIT":"Ghana","SU_A3":"GHA","BRK_DIFF":0,"NAME":"Ghana","NAME_LONG":"Ghana","BRK_A3":"GHA","BRK_NAME":"Ghana","BRK_GROUP":null,"ABBREV":"Ghana","POSTAL":"GH","FORMAL_EN":"Republic of Ghana","FORMAL_FR":null,"NAME_CIAWF":"Ghana","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Ghana","NAME_ALT":null,"MAPCOLOR7":5,"MAPCOLOR8":3,"MAPCOLOR9":1,"MAPCOLOR13":4,"POP_EST":30417856,"POP_RANK":15,"POP_YEAR":2019,"GDP_MD":66983,"GDP_YEAR":2019,"ECONOMY":"6. Developing region","INCOME_GRP":"4. Lower middle income","FIPS_10":"GH","ISO_A2":"GH","ISO_A2_EH":"GH","ISO_A3":"GHA","ISO_A3_EH":"GHA","ISO_N3":"288","ISO_N3_EH":"288","UN_A3":"288","WB_A2":"GH","WB_A3":"GHA","WOE_ID":23424824,"WOE_ID_EH":23424824,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"GHA","ADM0_DIFF":null,"ADM0_TLC":"GHA","ADM0_A3_US":"GHA","ADM0_A3_FR":"GHA","ADM0_A3_RU":"GHA","ADM0_A3_ES":"GHA","ADM0_A3_CN":"GHA","ADM0_A3_TW":"GHA","ADM0_A3_IN":"GHA","ADM0_A3_NP":"GHA","ADM0_A3_PK":"GHA","ADM0_A3_DE":"GHA","ADM0_A3_GB":"GHA","ADM0_A3_BR":"GHA","ADM0_A3_IL":"GHA","ADM0_A3_PS":"GHA","ADM0_A3_SA":"GHA","ADM0_A3_EG":"GHA","ADM0_A3_MA":"GHA","ADM0_A3_PT":"GHA","ADM0_A3_AR":"GHA","ADM0_A3_JP":"GHA","ADM0_A3_KO":"GHA","ADM0_A3_VN":"GHA","ADM0_A3_TR":"GHA","ADM0_A3_ID":"GHA","ADM0_A3_PL":"GHA","ADM0_A3_GR":"GHA","ADM0_A3_IT":"GHA","ADM0_A3_NL":"GHA","ADM0_A3_SE":"GHA","ADM0_A3_BD":"GHA","ADM0_A3_UA":"GHA","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Africa","REGION_UN":"Africa","SUBREGION":"Western Africa","REGION_WB":"Sub-Saharan Africa","NAME_LEN":5,"LONG_LEN":5,"ABBREV_LEN":5,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":2.7,"MAX_LABEL":8,"LABEL_X":-1.036941,"LABEL_Y":7.717639,"NE_ID":1159320793,"WIKIDATAID":"Q117","NAME_AR":"غانا","NAME_BN":"ঘানা","NAME_DE":"Ghana","NAME_EN":"Ghana","NAME_ES":"Ghana","NAME_FA":"غنا","NAME_FR":"Ghana","NAME_EL":"Γκάνα","NAME_HE":"גאנה","NAME_HI":"घाना","NAME_HU":"Ghána","NAME_ID":"Ghana","NAME_IT":"Ghana","NAME_JA":"ガーナ","NAME_KO":"가나","NAME_NL":"Ghana","NAME_PL":"Ghana","NAME_PT":"Gana","NAME_RU":"Гана","NAME_SV":"Ghana","NAME_TR":"Gana","NAME_UK":"Гана","NAME_UR":"گھانا","NAME_VI":"Ghana","NAME_ZH":"加纳","NAME_ZHT":"迦納","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[-3.243896,4.762451,1.187207,11.166895],"geometry":{"type":"Polygon","coordinates":[[[-0.068604,11.115625],[-0.004736,11.055566],[0.009424,11.020996],[-0.013867,10.891357],[-0.060596,10.800586],[-0.090186,10.715527],[-0.086328,10.673047],[-0.057715,10.630615],[0.039453,10.563867],[0.089258,10.520605],[0.148242,10.454785],[0.216016,10.390527],[0.331836,10.306934],[0.380859,10.291846],[0.378613,10.268555],[0.362695,10.236475],[0.351855,9.924902],[0.343066,9.84458],[0.33457,9.803955],[0.323926,9.687598],[0.311719,9.670996],[0.289648,9.672314],[0.269531,9.66792],[0.264551,9.644727],[0.272754,9.620947],[0.342578,9.60415],[0.327344,9.586572],[0.275488,9.570605],[0.251563,9.535645],[0.261914,9.495605],[0.233398,9.463525],[0.241504,9.441895],[0.259961,9.426025],[0.289355,9.431836],[0.370996,9.485547],[0.405273,9.491455],[0.447559,9.480273],[0.525684,9.398486],[0.529004,9.358301],[0.497168,9.22124],[0.466113,9.115332],[0.460352,8.974219],[0.493262,8.894922],[0.48877,8.851465],[0.453125,8.81377],[0.372559,8.759277],[0.378613,8.722021],[0.415332,8.652734],[0.483301,8.575293],[0.616211,8.479639],[0.686328,8.354883],[0.688086,8.304248],[0.64707,8.253467],[0.599219,8.20957],[0.583594,8.145801],[0.605176,7.728223],[0.5,7.546875],[0.498926,7.495117],[0.50957,7.435107],[0.537305,7.39873],[0.591016,7.388818],[0.634766,7.353662],[0.619531,7.226562],[0.596191,7.096631],[0.59248,7.033984],[0.579492,7.004102],[0.538086,6.979687],[0.523047,6.938867],[0.533398,6.88833],[0.525586,6.850928],[0.548047,6.80249],[0.595703,6.742188],[0.672754,6.592529],[0.702246,6.580762],[0.71543,6.549316],[0.707227,6.51875],[0.736914,6.452588],[0.822461,6.386377],[0.912207,6.328564],[0.984961,6.320312],[1.002148,6.268555],[1.049902,6.202637],[1.084473,6.173779],[1.139648,6.155029],[1.185059,6.14502],[1.187207,6.089404],[1.105566,6.051367],[1.050293,5.993994],[1.008008,5.906396],[0.949707,5.810254],[0.748828,5.760107],[0.671875,5.759717],[0.259668,5.757324],[-0.126514,5.568164],[-0.34873,5.500781],[-0.485449,5.394238],[-0.669434,5.318555],[-0.797705,5.226709],[-1.064307,5.182666],[-1.50166,5.037988],[-1.638477,4.980859],[-1.776855,4.880371],[-2.001855,4.762451],[-2.090186,4.764062],[-2.266406,4.874072],[-2.398926,4.929346],[-2.723047,5.013721],[-2.96499,5.046289],[-3.081885,5.082471],[-3.114014,5.088672],[-3.086719,5.12832],[-3.019141,5.130811],[-2.94834,5.118848],[-2.894727,5.149023],[-2.815674,5.153027],[-2.795215,5.184521],[-2.788672,5.264111],[-2.7896,5.328223],[-2.761914,5.356934],[-2.75498,5.43252],[-2.793652,5.600098],[-2.821191,5.619189],[-2.962256,5.643018],[-2.972803,5.67627],[-2.998291,5.711328],[-3.025293,5.797754],[-3.056152,5.92627],[-3.105566,6.085645],[-3.200586,6.348242],[-3.224023,6.441064],[-3.240283,6.535645],[-3.243896,6.648682],[-3.224121,6.690771],[-3.227148,6.749121],[-3.235791,6.807227],[-3.168896,6.940967],[-3.037695,7.10459],[-3.010156,7.16377],[-2.985791,7.204883],[-2.982324,7.263623],[-2.959082,7.454541],[-2.896338,7.68501],[-2.856885,7.77207],[-2.830127,7.819043],[-2.798145,7.895996],[-2.789746,7.931934],[-2.668848,8.022217],[-2.613379,8.04668],[-2.600977,8.082227],[-2.619971,8.121094],[-2.611719,8.147559],[-2.582764,8.160791],[-2.538281,8.171631],[-2.505859,8.20874],[-2.556885,8.493018],[-2.597998,8.776367],[-2.600391,8.800439],[-2.624902,8.8396],[-2.649219,8.956592],[-2.689893,9.025098],[-2.746924,9.045117],[-2.74668,9.109619],[-2.689209,9.218604],[-2.674219,9.282617],[-2.701807,9.30166],[-2.705762,9.351367],[-2.686133,9.431738],[-2.69585,9.481348],[-2.706201,9.533936],[-2.765967,9.658057],[-2.780518,9.74585],[-2.749805,9.797217],[-2.750732,9.909668],[-2.783203,10.083105],[-2.788477,10.192578],[-2.766504,10.238184],[-2.7771,10.281592],[-2.820312,10.322852],[-2.823437,10.362939],[-2.786621,10.401904],[-2.791162,10.432422],[-2.837207,10.454639],[-2.878418,10.507959],[-2.914893,10.592334],[-2.907324,10.727979],[-2.838574,10.97749],[-2.829932,10.998389],[-2.7521,10.996973],[-2.75166,10.986377],[-2.50918,10.988721],[-2.231934,10.991406],[-1.900635,10.994678],[-1.599658,10.997656],[-1.586475,11.008887],[-1.536768,11.022656],[-1.232617,10.997217],[-1.04248,11.010059],[-0.961816,11.001709],[-0.90293,10.984717],[-0.771582,10.995264],[-0.701416,10.988965],[-0.648535,10.926758],[-0.627148,10.927393],[-0.597656,10.953662],[-0.545215,10.983691],[-0.491699,11.007617],[-0.453516,11.056299],[-0.430322,11.093262],[-0.395605,11.085693],[-0.345752,11.087939],[-0.312549,11.118896],[-0.299463,11.166895],[-0.068604,11.115625]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":2,"SOVEREIGNT":"Germany","SOV_A3":"DEU","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Germany","ADM0_A3":"DEU","GEOU_DIF":0,"GEOUNIT":"Germany","GU_A3":"DEU","SU_DIF":0,"SUBUNIT":"Germany","SU_A3":"DEU","BRK_DIFF":0,"NAME":"Germany","NAME_LONG":"Germany","BRK_A3":"DEU","BRK_NAME":"Germany","BRK_GROUP":null,"ABBREV":"Ger.","POSTAL":"D","FORMAL_EN":"Federal Republic of Germany","FORMAL_FR":null,"NAME_CIAWF":"Germany","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Germany","NAME_ALT":null,"MAPCOLOR7":2,"MAPCOLOR8":5,"MAPCOLOR9":5,"MAPCOLOR13":1,"POP_EST":83132799,"POP_RANK":16,"POP_YEAR":2019,"GDP_MD":3861123,"GDP_YEAR":2019,"ECONOMY":"1. Developed region: G7","INCOME_GRP":"1. High income: OECD","FIPS_10":"GM","ISO_A2":"DE","ISO_A2_EH":"DE","ISO_A3":"DEU","ISO_A3_EH":"DEU","ISO_N3":"276","ISO_N3_EH":"276","UN_A3":"276","WB_A2":"DE","WB_A3":"DEU","WOE_ID":23424829,"WOE_ID_EH":23424829,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"DEU","ADM0_DIFF":null,"ADM0_TLC":"DEU","ADM0_A3_US":"DEU","ADM0_A3_FR":"DEU","ADM0_A3_RU":"DEU","ADM0_A3_ES":"DEU","ADM0_A3_CN":"DEU","ADM0_A3_TW":"DEU","ADM0_A3_IN":"DEU","ADM0_A3_NP":"DEU","ADM0_A3_PK":"DEU","ADM0_A3_DE":"DEU","ADM0_A3_GB":"DEU","ADM0_A3_BR":"DEU","ADM0_A3_IL":"DEU","ADM0_A3_PS":"DEU","ADM0_A3_SA":"DEU","ADM0_A3_EG":"DEU","ADM0_A3_MA":"DEU","ADM0_A3_PT":"DEU","ADM0_A3_AR":"DEU","ADM0_A3_JP":"DEU","ADM0_A3_KO":"DEU","ADM0_A3_VN":"DEU","ADM0_A3_TR":"DEU","ADM0_A3_ID":"DEU","ADM0_A3_PL":"DEU","ADM0_A3_GR":"DEU","ADM0_A3_IT":"DEU","ADM0_A3_NL":"DEU","ADM0_A3_SE":"DEU","ADM0_A3_BD":"DEU","ADM0_A3_UA":"DEU","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Europe","REGION_UN":"Europe","SUBREGION":"Western Europe","REGION_WB":"Europe & Central Asia","NAME_LEN":7,"LONG_LEN":7,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":1.7,"MAX_LABEL":6.7,"LABEL_X":9.678348,"LABEL_Y":50.961733,"NE_ID":1159320539,"WIKIDATAID":"Q183","NAME_AR":"ألمانيا","NAME_BN":"জার্মানি","NAME_DE":"Deutschland","NAME_EN":"Germany","NAME_ES":"Alemania","NAME_FA":"آلمان","NAME_FR":"Allemagne","NAME_EL":"Γερμανία","NAME_HE":"גרמניה","NAME_HI":"जर्मनी","NAME_HU":"Németország","NAME_ID":"Jerman","NAME_IT":"Germania","NAME_JA":"ドイツ","NAME_KO":"독일","NAME_NL":"Duitsland","NAME_PL":"Niemcy","NAME_PT":"Alemanha","NAME_RU":"Германия","NAME_SV":"Tyskland","NAME_TR":"Almanya","NAME_UK":"Німеччина","NAME_UR":"جرمنی","NAME_VI":"Đức","NAME_ZH":"德国","NAME_ZHT":"德國","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[5.85752,47.278809,15.016602,55.05874],"geometry":{"type":"MultiPolygon","coordinates":[[[[9.524023,47.524219],[9.35,47.598926],[9.182813,47.670703],[9.127539,47.670703],[8.881152,47.656396],[8.874023,47.662695],[8.831152,47.703613],[8.793066,47.716553],[8.770117,47.709912],[8.754785,47.698047],[8.72832,47.700049],[8.617871,47.766113],[8.572656,47.775635],[8.509863,47.766895],[8.435742,47.731348],[8.403418,47.687793],[8.413281,47.662695],[8.451758,47.651807],[8.552344,47.659131],[8.56709,47.651904],[8.570508,47.637793],[8.559473,47.624023],[8.477637,47.612695],[8.454004,47.596191],[8.430078,47.592139],[8.414746,47.5896],[8.327832,47.606934],[8.198242,47.606934],[8.09375,47.576172],[7.927051,47.563867],[7.698047,47.569873],[7.615625,47.592725],[7.56543,47.606543],[7.529395,47.673877],[7.538574,47.773633],[7.593262,47.905664],[7.608496,48.002588],[7.58418,48.064307],[7.616602,48.156787],[7.705664,48.280029],[7.765137,48.41001],[7.794824,48.546826],[7.837988,48.636035],[7.922754,48.698535],[8.124023,48.873291],[8.140332,48.886426],[8.134863,48.973584],[8.080664,48.985889],[8.00127,49.010937],[7.799219,49.041895],[7.610938,49.061768],[7.525488,49.086377],[7.450586,49.152197],[7.404199,49.153076],[7.313379,49.129541],[7.199902,49.113623],[7.117383,49.127539],[7.065723,49.124854],[7.036719,49.112695],[7.022168,49.123437],[7.001465,49.179883],[6.958301,49.194629],[6.891211,49.20752],[6.849512,49.201953],[6.820703,49.173926],[6.77627,49.15415],[6.735449,49.160596],[6.607617,49.290869],[6.574707,49.319678],[6.566309,49.346191],[6.534277,49.394678],[6.458105,49.442871],[6.382227,49.458154],[6.344336,49.452734],[6.348438,49.512695],[6.37832,49.599609],[6.406738,49.644971],[6.444629,49.682031],[6.484766,49.707812],[6.49375,49.754395],[6.487305,49.798486],[6.440918,49.805322],[6.324609,49.837891],[6.256055,49.872168],[6.204883,49.915137],[6.138184,49.974316],[6.109766,50.034375],[6.108301,50.094238],[6.116504,50.120996],[6.121289,50.139355],[6.175098,50.232666],[6.364453,50.316162],[6.343652,50.400244],[6.340918,50.451758],[6.294922,50.485498],[6.203027,50.499121],[6.178711,50.52251],[6.168457,50.545361],[6.235938,50.59668],[6.154492,50.637256],[6.119434,50.679248],[6.005957,50.732227],[5.993945,50.750439],[6.048438,50.904883],[6.006836,50.949951],[5.955078,50.972949],[5.894727,50.984229],[5.867188,51.005664],[5.85752,51.030127],[5.868359,51.045312],[5.939258,51.04082],[5.961035,51.056689],[6.12998,51.147412],[6.136914,51.164844],[6.113379,51.174707],[6.082422,51.17998],[6.074805,51.199023],[6.075879,51.224121],[6.166211,51.354834],[6.192871,51.410596],[6.198828,51.45],[6.193262,51.488916],[6.141602,51.550098],[6.091113,51.598926],[6.089355,51.637793],[6.052734,51.658252],[5.948535,51.762402],[5.94873,51.802686],[6.007617,51.833984],[6.089844,51.853955],[6.117188,51.87041],[6.166504,51.880762],[6.29707,51.850732],[6.355664,51.824658],[6.372168,51.830029],[6.425,51.858398],[6.517578,51.853955],[6.741797,51.910889],[6.775195,51.938281],[6.800391,51.967383],[6.802441,51.980176],[6.715625,52.036182],[6.712988,52.056885],[6.724512,52.080225],[6.749023,52.098682],[6.800391,52.11123],[6.855078,52.135791],[6.977246,52.205518],[7.019629,52.266016],[7.032617,52.331494],[7.035156,52.380225],[7.001855,52.418994],[6.968164,52.444092],[6.92207,52.440283],[6.83252,52.442285],[6.748828,52.464014],[6.70293,52.499219],[6.691602,52.530176],[6.712402,52.549658],[6.71875,52.573584],[6.705371,52.597656],[6.710742,52.617871],[6.748438,52.634082],[7.013184,52.633545],[7.033008,52.651367],[7.050879,52.744775],[7.11709,52.887012],[7.179492,52.966211],[7.189941,52.999512],[7.188965,53.187207],[7.197266,53.282275],[7.152051,53.326953],[7.05332,53.37583],[7.074316,53.477637],[7.107129,53.556982],[7.206445,53.654541],[7.285254,53.681348],[7.629199,53.697266],[8.009277,53.690723],[8.16709,53.543408],[8.108496,53.467676],[8.200781,53.432422],[8.245215,53.445312],[8.279004,53.511182],[8.301563,53.584131],[8.333887,53.606201],[8.451367,53.551709],[8.492676,53.514355],[8.495215,53.394238],[8.538477,53.556885],[8.50625,53.670752],[8.528418,53.781104],[8.575586,53.838477],[8.618945,53.875],[8.897754,53.835693],[9.205566,53.855957],[9.321973,53.813477],[9.585352,53.600488],[9.673145,53.565625],[9.783984,53.554639],[9.63125,53.600195],[9.312012,53.859131],[9.216406,53.891211],[9.069629,53.900928],[8.978125,53.926221],[8.92041,53.965332],[8.903516,54.000293],[8.906641,54.260791],[8.851562,54.299561],[8.780371,54.313037],[8.736035,54.295215],[8.644922,54.294971],[8.625781,54.353955],[8.648047,54.397656],[8.831152,54.427539],[8.951855,54.467578],[8.957227,54.53833],[8.880957,54.593945],[8.789648,54.695947],[8.682324,54.791846],[8.670313,54.903418],[8.670703,54.90332],[8.857227,54.901123],[8.90293,54.896924],[9.18584,54.844678],[9.25498,54.808008],[9.341992,54.806299],[9.49873,54.84043],[9.61582,54.85542],[9.66123,54.834375],[9.725,54.825537],[9.739746,54.825537],[9.745898,54.807178],[9.892285,54.780615],[9.953809,54.738281],[10.022168,54.673926],[10.028809,54.581299],[9.941309,54.514648],[9.868652,54.472461],[10.143457,54.488428],[10.170801,54.450195],[10.212402,54.408936],[10.360449,54.43833],[10.731543,54.31626],[10.955957,54.375684],[11.013379,54.37915],[11.064355,54.280518],[11.008594,54.181152],[10.810742,54.075146],[10.85459,54.009814],[10.917773,53.995312],[11.104297,54.00918],[11.399609,53.944629],[11.461133,53.964746],[11.700586,54.113525],[11.796289,54.145459],[12.111328,54.168311],[12.168652,54.225879],[12.296289,54.283789],[12.378516,54.347021],[12.575391,54.467383],[12.779102,54.445703],[12.898047,54.422656],[13.028613,54.411035],[13.147461,54.282715],[13.448047,54.140869],[13.724219,54.153223],[13.822266,54.019043],[13.865527,53.853369],[13.950391,53.801367],[14.025,53.767432],[14.25,53.731885],[14.258887,53.729639],[14.266113,53.707129],[14.279883,53.624756],[14.29873,53.556445],[14.414551,53.283496],[14.412305,53.216748],[14.410938,53.199023],[14.368555,53.105566],[14.293164,53.026758],[14.193652,52.982324],[14.138867,52.932861],[14.128613,52.878223],[14.253711,52.78252],[14.514063,52.645605],[14.619434,52.528516],[14.569727,52.431104],[14.55459,52.359668],[14.573926,52.31416],[14.615625,52.277637],[14.679883,52.25],[14.705371,52.207471],[14.692383,52.150049],[14.70459,52.110205],[14.752539,52.081836],[14.748145,52.070801],[14.724805,52.030859],[14.692969,51.958008],[14.674902,51.904834],[14.60166,51.832373],[14.623926,51.770801],[14.681348,51.698193],[14.724902,51.661719],[14.738672,51.627148],[14.710938,51.544922],[14.724707,51.523877],[14.905957,51.46333],[14.935547,51.435352],[14.953125,51.377148],[15.016602,51.252734],[14.963867,51.095117],[14.91748,51.00874],[14.814258,50.871631],[14.809375,50.858984],[14.797461,50.842334],[14.766504,50.818311],[14.72334,50.814697],[14.658203,50.832617],[14.613574,50.855566],[14.623828,50.914746],[14.595215,50.918604],[14.559668,50.954932],[14.545703,50.993945],[14.507324,51.009863],[14.367285,51.02627],[14.319727,51.037793],[14.283203,51.029492],[14.255859,51.001855],[14.27334,50.976904],[14.299414,50.952588],[14.377051,50.914062],[14.369043,50.89873],[14.201758,50.86123],[14.096484,50.822754],[13.998438,50.801123],[13.898535,50.761279],[13.701367,50.716504],[13.556738,50.704639],[13.526563,50.692822],[13.472559,50.616943],[13.436133,50.601074],[13.401172,50.609326],[13.374609,50.621729],[13.341016,50.611426],[13.306055,50.586328],[13.269531,50.576416],[13.237695,50.576758],[13.181152,50.510498],[13.016406,50.490381],[12.99707,50.456055],[12.966797,50.416211],[12.942676,50.406445],[12.868262,50.422217],[12.76543,50.430957],[12.706445,50.409131],[12.635547,50.39707],[12.549023,50.393408],[12.452637,50.349805],[12.358594,50.273242],[12.305664,50.205713],[12.277344,50.181445],[12.231152,50.244873],[12.174805,50.288379],[12.134863,50.310937],[12.099219,50.310986],[12.089844,50.301758],[12.089746,50.268555],[12.127832,50.213428],[12.175,50.17583],[12.18252,50.148047],[12.207813,50.09751],[12.276465,50.042334],[12.38418,49.998584],[12.457617,49.955518],[12.512012,49.895801],[12.5125,49.877441],[12.497559,49.853076],[12.471875,49.830078],[12.450195,49.800146],[12.390527,49.739648],[12.408203,49.713184],[12.457031,49.679785],[12.500293,49.639697],[12.555762,49.574854],[12.632031,49.46123],[12.681152,49.414502],[12.747852,49.366211],[12.813379,49.329346],[12.916699,49.330469],[13.02373,49.260107],[13.140527,49.15835],[13.227832,49.11167],[13.28877,49.097461],[13.339063,49.060791],[13.383691,49.008105],[13.401172,48.977588],[13.440723,48.955566],[13.547656,48.959668],[13.684961,48.876709],[13.769922,48.815967],[13.814746,48.766943],[13.80293,48.74751],[13.797461,48.686426],[13.798828,48.62168],[13.785352,48.587451],[13.723926,48.542383],[13.692188,48.532764],[13.675195,48.523047],[13.486621,48.581836],[13.47168,48.571826],[13.459863,48.564551],[13.409375,48.394141],[13.374609,48.361377],[13.322852,48.33125],[13.215234,48.301904],[13.14043,48.289941],[13.082129,48.275098],[12.897461,48.203711],[12.814258,48.16084],[12.760352,48.106982],[12.760059,48.075977],[12.849902,47.984814],[12.953516,47.890625],[12.954199,47.807764],[12.908301,47.745801],[12.897656,47.721875],[12.928125,47.712842],[12.985547,47.709424],[13.033594,47.69873],[13.054102,47.655127],[13.047949,47.57915],[13.031543,47.508008],[13.014355,47.478076],[12.968066,47.475684],[12.878906,47.506445],[12.809375,47.542187],[12.782813,47.56416],[12.781152,47.59043],[12.796191,47.607031],[12.771387,47.639404],[12.68584,47.669336],[12.594238,47.656299],[12.526563,47.636133],[12.48291,47.637305],[12.435742,47.666113],[12.363184,47.688184],[12.268359,47.702734],[12.209277,47.718262],[12.196875,47.709082],[12.203809,47.646729],[12.185645,47.619531],[11.716797,47.583496],[11.573926,47.549756],[11.469922,47.506104],[11.392969,47.487158],[11.374121,47.460254],[11.297949,47.424902],[11.211914,47.413623],[11.191211,47.425195],[11.136035,47.408887],[11.041992,47.393115],[10.980859,47.398145],[10.952148,47.426709],[10.893945,47.470459],[10.870605,47.500781],[10.873047,47.520215],[10.741602,47.524121],[10.658691,47.547217],[10.482813,47.541797],[10.439453,47.551562],[10.430371,47.541064],[10.403906,47.416992],[10.369141,47.366064],[10.312793,47.313428],[10.240625,47.284131],[10.183008,47.278809],[10.185742,47.317187],[10.200293,47.363428],[10.158789,47.374268],[10.096484,47.37959],[10.066309,47.393359],[10.074219,47.428516],[10.059863,47.449072],[10.034082,47.473584],[9.971582,47.505322],[9.83916,47.552295],[9.748926,47.575537],[9.715137,47.550781],[9.650586,47.525879],[9.548926,47.534033],[9.524023,47.524219]]],[[[13.70918,54.382715],[13.73418,54.31543],[13.707324,54.281152],[13.594922,54.338184],[13.482031,54.337402],[13.414551,54.249561],[13.364355,54.24585],[13.190039,54.325635],[13.162109,54.364551],[13.156348,54.396924],[13.18125,54.508984],[13.17666,54.544238],[13.231445,54.582764],[13.239941,54.638428],[13.336816,54.697119],[13.422754,54.699316],[13.450098,54.649609],[13.491211,54.615381],[13.636035,54.577002],[13.657617,54.55957],[13.670703,54.535449],[13.60332,54.488184],[13.580469,54.463965],[13.601855,54.425146],[13.70918,54.382715]]],[[[14.211426,53.950342],[14.198242,53.919043],[14.213672,53.870752],[14.172168,53.874365],[14.04834,53.863086],[13.925781,53.879053],[13.902148,53.938965],[13.92168,53.996631],[13.872461,54.036279],[13.827148,54.05957],[13.82041,54.092822],[13.827734,54.127246],[14.038867,54.03457],[14.211426,53.950342]]],[[[11.282813,54.417969],[11.129297,54.416016],[11.070703,54.456006],[11.011719,54.466162],[11.043457,54.515479],[11.084961,54.533398],[11.233594,54.50127],[11.280273,54.438379],[11.282813,54.417969]]],[[[8.307715,54.786963],[8.284668,54.76709],[8.295703,54.908301],[8.405176,55.05874],[8.451465,55.055371],[8.404102,55.014746],[8.39043,54.986279],[8.371191,54.929395],[8.379883,54.899854],[8.62959,54.891748],[8.600586,54.865381],[8.347363,54.847607],[8.307715,54.786963]]],[[[8.587891,54.712695],[8.548926,54.688184],[8.453809,54.691064],[8.400391,54.714111],[8.417676,54.738672],[8.468164,54.757422],[8.509961,54.760303],[8.573438,54.74873],[8.587891,54.712695]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":5,"SOVEREIGNT":"Georgia","SOV_A3":"GEO","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Georgia","ADM0_A3":"GEO","GEOU_DIF":0,"GEOUNIT":"Georgia","GU_A3":"GEO","SU_DIF":0,"SUBUNIT":"Georgia","SU_A3":"GEO","BRK_DIFF":0,"NAME":"Georgia","NAME_LONG":"Georgia","BRK_A3":"GEO","BRK_NAME":"Georgia","BRK_GROUP":null,"ABBREV":"Geo.","POSTAL":"GE","FORMAL_EN":"Georgia","FORMAL_FR":null,"NAME_CIAWF":"Georgia","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Georgia","NAME_ALT":null,"MAPCOLOR7":5,"MAPCOLOR8":1,"MAPCOLOR9":3,"MAPCOLOR13":2,"POP_EST":3720382,"POP_RANK":12,"POP_YEAR":2019,"GDP_MD":17477,"GDP_YEAR":2019,"ECONOMY":"6. Developing region","INCOME_GRP":"4. Lower middle income","FIPS_10":"GG","ISO_A2":"GE","ISO_A2_EH":"GE","ISO_A3":"GEO","ISO_A3_EH":"GEO","ISO_N3":"268","ISO_N3_EH":"268","UN_A3":"268","WB_A2":"GE","WB_A3":"GEO","WOE_ID":23424823,"WOE_ID_EH":23424823,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"GEO","ADM0_DIFF":null,"ADM0_TLC":"GEO","ADM0_A3_US":"GEO","ADM0_A3_FR":"GEO","ADM0_A3_RU":"GEO","ADM0_A3_ES":"GEO","ADM0_A3_CN":"GEO","ADM0_A3_TW":"GEO","ADM0_A3_IN":"GEO","ADM0_A3_NP":"GEO","ADM0_A3_PK":"GEO","ADM0_A3_DE":"GEO","ADM0_A3_GB":"GEO","ADM0_A3_BR":"GEO","ADM0_A3_IL":"GEO","ADM0_A3_PS":"GEO","ADM0_A3_SA":"GEO","ADM0_A3_EG":"GEO","ADM0_A3_MA":"GEO","ADM0_A3_PT":"GEO","ADM0_A3_AR":"GEO","ADM0_A3_JP":"GEO","ADM0_A3_KO":"GEO","ADM0_A3_VN":"GEO","ADM0_A3_TR":"GEO","ADM0_A3_ID":"GEO","ADM0_A3_PL":"GEO","ADM0_A3_GR":"GEO","ADM0_A3_IT":"GEO","ADM0_A3_NL":"GEO","ADM0_A3_SE":"GEO","ADM0_A3_BD":"GEO","ADM0_A3_UA":"GEO","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Asia","REGION_UN":"Asia","SUBREGION":"Western Asia","REGION_WB":"Europe & Central Asia","NAME_LEN":7,"LONG_LEN":7,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":4,"MAX_LABEL":9,"LABEL_X":43.735724,"LABEL_Y":41.870087,"NE_ID":1159320779,"WIKIDATAID":"Q230","NAME_AR":"جورجيا","NAME_BN":"জর্জিয়া","NAME_DE":"Georgien","NAME_EN":"Georgia","NAME_ES":"Georgia","NAME_FA":"گرجستان","NAME_FR":"Géorgie","NAME_EL":"Γεωργία","NAME_HE":"גאורגיה","NAME_HI":"जॉर्जिया","NAME_HU":"Grúzia","NAME_ID":"Georgia","NAME_IT":"Georgia","NAME_JA":"ジョージア","NAME_KO":"조지아","NAME_NL":"Georgië","NAME_PL":"Gruzja","NAME_PT":"Geórgia","NAME_RU":"Грузия","NAME_SV":"Georgien","NAME_TR":"Gürcistan","NAME_UK":"Грузія","NAME_UR":"جارجیا","NAME_VI":"Gruzia","NAME_ZH":"格鲁吉亚","NAME_ZHT":"喬治亞","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[39.97832,41.070215,46.672559,43.569775],"geometry":{"type":"Polygon","coordinates":[[[43.439453,41.107129],[43.441602,41.125977],[43.433398,41.155518],[43.402344,41.176562],[43.358984,41.190137],[43.279297,41.185205],[43.205469,41.19917],[43.152832,41.236426],[43.141016,41.264844],[43.171289,41.287939],[43.149023,41.307129],[43.057129,41.352832],[42.906738,41.466846],[42.82168,41.492383],[42.787891,41.563721],[42.754102,41.578906],[42.682422,41.585742],[42.606836,41.578809],[42.59043,41.570703],[42.567383,41.559277],[42.50791,41.470068],[42.466406,41.439844],[42.364355,41.454004],[42.27998,41.475],[42.211133,41.486719],[42.077734,41.494092],[41.925781,41.495654],[41.823535,41.432373],[41.779395,41.440527],[41.701758,41.471582],[41.576563,41.497314],[41.510059,41.51748],[41.701758,41.70542],[41.758789,41.817139],[41.760742,41.884863],[41.762988,41.97002],[41.663281,42.146875],[41.577734,42.397852],[41.48877,42.659326],[41.419434,42.737646],[41.128711,42.828125],[41.061621,42.930859],[40.836621,43.063477],[40.524023,43.121045],[40.462109,43.145703],[40.190625,43.312402],[39.97832,43.419824],[40.02373,43.484863],[40.08457,43.553125],[40.150195,43.569775],[40.342285,43.542725],[40.518945,43.512012],[40.648047,43.533887],[40.80166,43.479932],[40.941992,43.418066],[41.083105,43.374463],[41.358203,43.333398],[41.460742,43.276318],[41.580566,43.219238],[42.05,43.190137],[42.087793,43.199121],[42.122266,43.207324],[42.279688,43.228076],[42.419043,43.224219],[42.566016,43.155127],[42.660254,43.159082],[42.760645,43.16958],[42.890039,43.132617],[42.991602,43.091504],[43.000195,43.049658],[43.08916,42.989062],[43.347949,42.89668],[43.557813,42.844482],[43.623047,42.807715],[43.782617,42.747021],[43.79873,42.727783],[43.79541,42.702979],[43.749902,42.65752],[43.738379,42.616992],[43.759863,42.593848],[43.825977,42.571533],[43.957422,42.566553],[44.004688,42.595605],[44.102734,42.616357],[44.199707,42.653613],[44.329492,42.703516],[44.505859,42.748633],[44.576465,42.748486],[44.644336,42.734717],[44.691797,42.709619],[44.771094,42.616797],[44.850488,42.746826],[44.870996,42.756396],[44.943359,42.730273],[45.071582,42.694141],[45.160254,42.675],[45.208203,42.648242],[45.34375,42.529785],[45.562891,42.535742],[45.655566,42.517676],[45.705273,42.498096],[45.727539,42.475049],[45.688379,42.357373],[45.634277,42.234717],[45.638574,42.205078],[45.726562,42.158887],[45.845996,42.109961],[45.910352,42.070703],[45.954004,42.0354],[46.048438,42.00874],[46.159766,41.992041],[46.212695,41.989893],[46.267773,41.960352],[46.411523,41.904639],[46.429883,41.890967],[46.405469,41.855078],[46.348242,41.790186],[46.302539,41.75708],[46.251855,41.751758],[46.201855,41.736865],[46.184277,41.702148],[46.182129,41.65708],[46.190527,41.624854],[46.203516,41.612598],[46.254688,41.602148],[46.305469,41.507715],[46.384961,41.459863],[46.508789,41.405566],[46.618945,41.34375],[46.672559,41.286816],[46.662402,41.245508],[46.626367,41.159668],[46.534375,41.088574],[46.45791,41.070215],[46.430957,41.077051],[46.380762,41.099316],[46.27998,41.154443],[46.170703,41.197852],[46.086523,41.183838],[46.03125,41.167285],[45.921973,41.186719],[45.792773,41.224414],[45.725488,41.261621],[45.695703,41.289014],[45.715625,41.337646],[45.422266,41.425293],[45.280957,41.449561],[45.217188,41.423193],[45.001367,41.290967],[44.975879,41.27749],[44.811328,41.259375],[44.810938,41.248584],[44.848535,41.220166],[44.841406,41.211377],[44.564844,41.208203],[44.473047,41.191016],[44.227344,41.21333],[44.146484,41.203369],[44.077246,41.18252],[43.90918,41.158984],[43.793164,41.131104],[43.64502,41.11665],[43.491992,41.115527],[43.439453,41.107129]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":6,"SOVEREIGNT":"Gambia","SOV_A3":"GMB","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Gambia","ADM0_A3":"GMB","GEOU_DIF":0,"GEOUNIT":"Gambia","GU_A3":"GMB","SU_DIF":0,"SUBUNIT":"Gambia","SU_A3":"GMB","BRK_DIFF":0,"NAME":"Gambia","NAME_LONG":"The Gambia","BRK_A3":"GMB","BRK_NAME":"Gambia","BRK_GROUP":null,"ABBREV":"Gambia","POSTAL":"GM","FORMAL_EN":"Republic of the Gambia","FORMAL_FR":null,"NAME_CIAWF":"Gambia, The","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Gambia, The","NAME_ALT":null,"MAPCOLOR7":1,"MAPCOLOR8":4,"MAPCOLOR9":1,"MAPCOLOR13":8,"POP_EST":2347706,"POP_RANK":12,"POP_YEAR":2019,"GDP_MD":1826,"GDP_YEAR":2019,"ECONOMY":"7. Least developed region","INCOME_GRP":"5. Low income","FIPS_10":"GA","ISO_A2":"GM","ISO_A2_EH":"GM","ISO_A3":"GMB","ISO_A3_EH":"GMB","ISO_N3":"270","ISO_N3_EH":"270","UN_A3":"270","WB_A2":"GM","WB_A3":"GMB","WOE_ID":23424821,"WOE_ID_EH":23424821,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"GMB","ADM0_DIFF":null,"ADM0_TLC":"GMB","ADM0_A3_US":"GMB","ADM0_A3_FR":"GMB","ADM0_A3_RU":"GMB","ADM0_A3_ES":"GMB","ADM0_A3_CN":"GMB","ADM0_A3_TW":"GMB","ADM0_A3_IN":"GMB","ADM0_A3_NP":"GMB","ADM0_A3_PK":"GMB","ADM0_A3_DE":"GMB","ADM0_A3_GB":"GMB","ADM0_A3_BR":"GMB","ADM0_A3_IL":"GMB","ADM0_A3_PS":"GMB","ADM0_A3_SA":"GMB","ADM0_A3_EG":"GMB","ADM0_A3_MA":"GMB","ADM0_A3_PT":"GMB","ADM0_A3_AR":"GMB","ADM0_A3_JP":"GMB","ADM0_A3_KO":"GMB","ADM0_A3_VN":"GMB","ADM0_A3_TR":"GMB","ADM0_A3_ID":"GMB","ADM0_A3_PL":"GMB","ADM0_A3_GR":"GMB","ADM0_A3_IT":"GMB","ADM0_A3_NL":"GMB","ADM0_A3_SE":"GMB","ADM0_A3_BD":"GMB","ADM0_A3_UA":"GMB","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Africa","REGION_UN":"Africa","SUBREGION":"Western Africa","REGION_WB":"Sub-Saharan Africa","NAME_LEN":6,"LONG_LEN":10,"ABBREV_LEN":6,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":5,"MAX_LABEL":10,"LABEL_X":-14.998318,"LABEL_Y":13.641721,"NE_ID":1159320797,"WIKIDATAID":"Q1005","NAME_AR":"غامبيا","NAME_BN":"গাম্বিয়া","NAME_DE":"Gambia","NAME_EN":"The Gambia","NAME_ES":"Gambia","NAME_FA":"گامبیا","NAME_FR":"Gambie","NAME_EL":"Γκάμπια","NAME_HE":"גמביה","NAME_HI":"गाम्बिया","NAME_HU":"Gambia","NAME_ID":"Gambia","NAME_IT":"Gambia","NAME_JA":"ガンビア","NAME_KO":"감비아","NAME_NL":"Gambia","NAME_PL":"Gambia","NAME_PT":"Gâmbia","NAME_RU":"Гамбия","NAME_SV":"Gambia","NAME_TR":"Gambiya","NAME_UK":"Гамбія","NAME_UR":"گیمبیا","NAME_VI":"Gambia","NAME_ZH":"冈比亚","NAME_ZHT":"甘比亞","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[-16.824805,13.06416,-13.826709,13.812109],"geometry":{"type":"Polygon","coordinates":[[[-16.562305,13.587305],[-16.30874,13.596875],[-16.001611,13.592773],[-15.667187,13.588281],[-15.509668,13.58623],[-15.426855,13.727002],[-15.269531,13.789111],[-15.10835,13.812109],[-15.024463,13.806006],[-14.935791,13.785205],[-14.766016,13.669092],[-14.660156,13.642627],[-14.57085,13.616162],[-14.506982,13.559717],[-14.405469,13.503711],[-14.325537,13.488574],[-14.278027,13.497168],[-14.199023,13.51875],[-14.146973,13.536133],[-13.977393,13.543457],[-13.852832,13.478564],[-13.826709,13.407812],[-13.84751,13.335303],[-14.014893,13.296387],[-14.246777,13.23584],[-14.438574,13.268896],[-14.671924,13.351709],[-14.808252,13.411133],[-14.865039,13.434863],[-14.950293,13.472607],[-15.024609,13.51333],[-15.096387,13.539648],[-15.151123,13.556494],[-15.191602,13.535254],[-15.212109,13.485059],[-15.244531,13.429102],[-15.28623,13.395996],[-15.481836,13.376367],[-15.657324,13.355811],[-15.751562,13.338379],[-15.814404,13.325146],[-15.834277,13.156445],[-16.033057,13.15835],[-16.22832,13.160303],[-16.430859,13.157324],[-16.648779,13.15415],[-16.704541,13.119727],[-16.76333,13.06416],[-16.769336,13.148486],[-16.824805,13.341064],[-16.750391,13.425391],[-16.669336,13.475],[-16.614795,13.435303],[-16.59834,13.356836],[-16.556445,13.303223],[-16.413379,13.269727],[-16.27168,13.293799],[-16.185059,13.282715],[-16.187891,13.326172],[-16.158398,13.384033],[-15.986426,13.408838],[-15.804492,13.425391],[-15.617676,13.460107],[-15.471289,13.458643],[-15.42749,13.468359],[-15.438135,13.483203],[-15.569531,13.499854],[-15.849902,13.459961],[-16.135449,13.448242],[-16.351807,13.343359],[-16.440527,13.353174],[-16.530078,13.457959],[-16.562305,13.587305]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":4,"SOVEREIGNT":"Gabon","SOV_A3":"GAB","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Gabon","ADM0_A3":"GAB","GEOU_DIF":0,"GEOUNIT":"Gabon","GU_A3":"GAB","SU_DIF":0,"SUBUNIT":"Gabon","SU_A3":"GAB","BRK_DIFF":0,"NAME":"Gabon","NAME_LONG":"Gabon","BRK_A3":"GAB","BRK_NAME":"Gabon","BRK_GROUP":null,"ABBREV":"Gabon","POSTAL":"GA","FORMAL_EN":"Gabonese Republic","FORMAL_FR":null,"NAME_CIAWF":"Gabon","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Gabon","NAME_ALT":null,"MAPCOLOR7":6,"MAPCOLOR8":2,"MAPCOLOR9":5,"MAPCOLOR13":5,"POP_EST":2172579,"POP_RANK":12,"POP_YEAR":2019,"GDP_MD":16874,"GDP_YEAR":2019,"ECONOMY":"6. Developing region","INCOME_GRP":"3. Upper middle income","FIPS_10":"GB","ISO_A2":"GA","ISO_A2_EH":"GA","ISO_A3":"GAB","ISO_A3_EH":"GAB","ISO_N3":"266","ISO_N3_EH":"266","UN_A3":"266","WB_A2":"GA","WB_A3":"GAB","WOE_ID":23424822,"WOE_ID_EH":23424822,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"GAB","ADM0_DIFF":null,"ADM0_TLC":"GAB","ADM0_A3_US":"GAB","ADM0_A3_FR":"GAB","ADM0_A3_RU":"GAB","ADM0_A3_ES":"GAB","ADM0_A3_CN":"GAB","ADM0_A3_TW":"GAB","ADM0_A3_IN":"GAB","ADM0_A3_NP":"GAB","ADM0_A3_PK":"GAB","ADM0_A3_DE":"GAB","ADM0_A3_GB":"GAB","ADM0_A3_BR":"GAB","ADM0_A3_IL":"GAB","ADM0_A3_PS":"GAB","ADM0_A3_SA":"GAB","ADM0_A3_EG":"GAB","ADM0_A3_MA":"GAB","ADM0_A3_PT":"GAB","ADM0_A3_AR":"GAB","ADM0_A3_JP":"GAB","ADM0_A3_KO":"GAB","ADM0_A3_VN":"GAB","ADM0_A3_TR":"GAB","ADM0_A3_ID":"GAB","ADM0_A3_PL":"GAB","ADM0_A3_GR":"GAB","ADM0_A3_IT":"GAB","ADM0_A3_NL":"GAB","ADM0_A3_SE":"GAB","ADM0_A3_BD":"GAB","ADM0_A3_UA":"GAB","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Africa","REGION_UN":"Africa","SUBREGION":"Middle Africa","REGION_WB":"Sub-Saharan Africa","NAME_LEN":5,"LONG_LEN":5,"ABBREV_LEN":5,"TINY":3,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":3,"MAX_LABEL":8,"LABEL_X":11.835939,"LABEL_Y":-0.437739,"NE_ID":1159320693,"WIKIDATAID":"Q1000","NAME_AR":"الغابون","NAME_BN":"গ্যাবন","NAME_DE":"Gabun","NAME_EN":"Gabon","NAME_ES":"Gabón","NAME_FA":"گابن","NAME_FR":"Gabon","NAME_EL":"Γκαμπόν","NAME_HE":"גבון","NAME_HI":"गबॉन","NAME_HU":"Gabon","NAME_ID":"Gabon","NAME_IT":"Gabon","NAME_JA":"ガボン","NAME_KO":"가봉","NAME_NL":"Gabon","NAME_PL":"Gabon","NAME_PT":"Gabão","NAME_RU":"Габон","NAME_SV":"Gabon","NAME_TR":"Gabon","NAME_UK":"Габон","NAME_UR":"گیبون","NAME_VI":"Gabon","NAME_ZH":"加蓬","NAME_ZHT":"加彭","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[8.703125,-3.916309,14.480566,2.302197],"geometry":{"type":"Polygon","coordinates":[[[13.293555,2.161572],[13.288672,2.091699],[13.209473,1.92041],[13.172168,1.788574],[13.162695,1.648096],[13.18457,1.535059],[13.222754,1.45459],[13.247363,1.366699],[13.22832,1.30542],[13.190137,1.279248],[13.216309,1.248437],[13.274121,1.241016],[13.372363,1.267773],[13.52334,1.3146],[13.721191,1.382275],[13.851367,1.41875],[14.066211,1.395898],[14.180859,1.370215],[14.239746,1.322559],[14.303027,1.12085],[14.334473,1.090234],[14.386426,1.004443],[14.429883,0.901465],[14.43916,0.849121],[14.434473,0.811475],[14.390625,0.755713],[14.341504,0.673828],[14.324219,0.624219],[14.283105,0.587451],[14.230957,0.551123],[14.0875,0.536572],[14.065527,0.51499],[14.025293,0.427734],[13.949609,0.353809],[13.915137,0.283984],[13.88457,0.19082],[13.890625,0.075293],[13.875488,-0.09082],[13.860059,-0.20332],[13.898047,-0.242578],[14.069434,-0.270117],[14.102832,-0.292383],[14.14834,-0.361914],[14.206738,-0.427344],[14.36377,-0.468555],[14.424707,-0.518652],[14.474121,-0.573438],[14.480566,-0.618359],[14.444922,-0.798828],[14.410645,-0.97207],[14.424023,-1.103906],[14.436914,-1.229785],[14.455566,-1.413184],[14.447266,-1.525098],[14.40293,-1.593359],[14.40293,-1.646973],[14.423242,-1.711523],[14.383984,-1.890039],[14.358594,-1.920215],[14.288379,-1.953516],[14.251465,-2.001465],[14.239648,-2.076758],[14.201758,-2.179883],[14.162891,-2.217578],[14.162891,-2.265527],[14.200391,-2.300586],[14.199805,-2.354199],[14.129785,-2.417969],[14.087402,-2.466895],[13.993848,-2.490625],[13.886914,-2.46543],[13.861816,-2.429883],[13.887695,-2.374512],[13.878516,-2.330176],[13.841602,-2.283691],[13.784375,-2.16377],[13.733789,-2.138477],[13.705566,-2.1875],[13.618555,-2.278613],[13.464941,-2.39541],[13.357324,-2.404785],[13.158594,-2.369141],[12.991992,-2.313379],[12.913574,-2.17627],[12.864453,-2.063281],[12.793555,-1.931836],[12.713672,-1.869434],[12.628418,-1.82959],[12.59043,-1.826855],[12.468652,-1.9],[12.432129,-1.928906],[12.432422,-1.990332],[12.44375,-2.047559],[12.462598,-2.075293],[12.478516,-2.112012],[12.475684,-2.169238],[12.453809,-2.245605],[12.446387,-2.32998],[12.064453,-2.412598],[11.998242,-2.382812],[11.950293,-2.344824],[11.892383,-2.351465],[11.726758,-2.394727],[11.665918,-2.364551],[11.605469,-2.342578],[11.577734,-2.360938],[11.575195,-2.39707],[11.603418,-2.59541],[11.594531,-2.670996],[11.557129,-2.769629],[11.537793,-2.836719],[11.639063,-2.855371],[11.675684,-2.886621],[11.711328,-2.936523],[11.760156,-2.983105],[11.763477,-3.01123],[11.708008,-3.063086],[11.689063,-3.126953],[11.71543,-3.176953],[11.784375,-3.229102],[11.885059,-3.283203],[11.93418,-3.318555],[11.929297,-3.350977],[11.882812,-3.420215],[11.864746,-3.478613],[11.83291,-3.531445],[11.839453,-3.580078],[11.884766,-3.625391],[11.879883,-3.665918],[11.849121,-3.69668],[11.786426,-3.690234],[11.733398,-3.694531],[11.685742,-3.682031],[11.536816,-3.525],[11.504297,-3.520313],[11.288281,-3.641113],[11.234473,-3.69082],[11.190039,-3.762012],[11.130176,-3.916309],[11.032031,-3.826465],[10.947266,-3.662109],[10.848535,-3.561328],[10.640723,-3.398047],[10.585449,-3.278027],[10.347656,-3.013086],[10.006152,-2.74834],[9.759473,-2.518555],[9.72207,-2.467578],[9.763672,-2.473828],[10.001953,-2.588379],[10.034473,-2.575586],[10.062012,-2.549902],[9.959082,-2.489844],[9.86084,-2.442578],[9.768652,-2.413086],[9.676367,-2.415625],[9.624609,-2.36709],[9.591016,-2.293164],[9.574023,-2.22998],[9.533203,-2.163867],[9.402246,-2.027637],[9.370508,-1.975],[9.298926,-1.903027],[9.34248,-1.893652],[9.482813,-1.962305],[9.495313,-1.934961],[9.483203,-1.894629],[9.342188,-1.829395],[9.265625,-1.825098],[9.247949,-1.779297],[9.258398,-1.72627],[9.15752,-1.527734],[9.052832,-1.379102],[9.036328,-1.308887],[9.318848,-1.632031],[9.356641,-1.637598],[9.406348,-1.63457],[9.52334,-1.59834],[9.501074,-1.555176],[9.44834,-1.508887],[9.397168,-1.530176],[9.330664,-1.53457],[9.295801,-1.515234],[9.280176,-1.481934],[9.34668,-1.325],[9.317871,-1.33291],[9.29668,-1.360938],[9.260156,-1.374219],[9.203809,-1.382422],[9.064648,-1.29834],[8.941895,-1.071484],[8.909375,-1.025],[8.876563,-0.946094],[8.844238,-0.913574],[8.703125,-0.591016],[8.757227,-0.614941],[8.821387,-0.708398],[8.946387,-0.68877],[8.995215,-0.634668],[9.037891,-0.636719],[9.081543,-0.624316],[9.136523,-0.57334],[9.29668,-0.35127],[9.339063,-0.058252],[9.325293,0.11582],[9.301855,0.288525],[9.354883,0.343604],[9.375781,0.307227],[9.386133,0.245898],[9.411133,0.200439],[9.468164,0.159766],[9.574316,0.148926],[9.738379,0.084961],[9.796777,0.044238],[9.812695,0.125586],[10.001465,0.194971],[9.944434,0.219873],[9.77666,0.19248],[9.546484,0.295947],[9.470117,0.361914],[9.398828,0.486719],[9.324805,0.5521],[9.32998,0.61084],[9.495313,0.664844],[9.538965,0.658691],[9.556641,0.594189],[9.601074,0.567725],[9.617969,0.576514],[9.625293,0.631641],[9.625879,0.779443],[9.575391,0.991309],[9.59082,1.031982],[9.636133,1.04668],[9.676465,1.074707],[9.70459,1.07998],[9.760547,1.074707],[9.788672,1.025684],[9.803906,0.99873],[9.860352,0.98623],[9.906738,0.960107],[9.94668,0.967139],[9.979785,0.997705],[10.028516,1.004004],[10.178906,1.003564],[10.31543,1.003076],[10.587207,1.002148],[10.858887,1.00127],[11.130664,1.000391],[11.335352,0.999707],[11.334668,1.120752],[11.333594,1.307617],[11.332324,1.528369],[11.331152,1.740186],[11.330078,1.935889],[11.328711,2.167432],[11.339941,2.233838],[11.35332,2.261426],[11.348438,2.299707],[11.558984,2.302197],[11.939746,2.285156],[12.106152,2.2875],[12.153418,2.284375],[12.361328,2.295996],[12.529785,2.281348],[12.601367,2.265039],[12.665723,2.256787],[12.86748,2.246777],[13.130859,2.259424],[13.220313,2.256445],[13.269922,2.224219],[13.293555,2.161572]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":2,"SOVEREIGNT":"France","SOV_A3":"FR1","ADM0_DIF":1,"LEVEL":2,"TYPE":"Country","TLC":"1","ADMIN":"France","ADM0_A3":"FRA","GEOU_DIF":0,"GEOUNIT":"France","GU_A3":"FRA","SU_DIF":0,"SUBUNIT":"France","SU_A3":"FRA","BRK_DIFF":0,"NAME":"France","NAME_LONG":"France","BRK_A3":"FRA","BRK_NAME":"France","BRK_GROUP":null,"ABBREV":"Fr.","POSTAL":"F","FORMAL_EN":"French Republic","FORMAL_FR":null,"NAME_CIAWF":"France","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"France","NAME_ALT":null,"MAPCOLOR7":7,"MAPCOLOR8":5,"MAPCOLOR9":9,"MAPCOLOR13":11,"POP_EST":67059887,"POP_RANK":16,"POP_YEAR":2019,"GDP_MD":2715518,"GDP_YEAR":2019,"ECONOMY":"1. Developed region: G7","INCOME_GRP":"1. High income: OECD","FIPS_10":"FR","ISO_A2":"-99","ISO_A2_EH":"FR","ISO_A3":"-99","ISO_A3_EH":"FRA","ISO_N3":"-99","ISO_N3_EH":"250","UN_A3":"250","WB_A2":"FR","WB_A3":"FRA","WOE_ID":-90,"WOE_ID_EH":23424819,"WOE_NOTE":"Includes only Metropolitan France (including Corsica)","ADM0_ISO":"FRA","ADM0_DIFF":null,"ADM0_TLC":"FRA","ADM0_A3_US":"FRA","ADM0_A3_FR":"FRA","ADM0_A3_RU":"FRA","ADM0_A3_ES":"FRA","ADM0_A3_CN":"FRA","ADM0_A3_TW":"FRA","ADM0_A3_IN":"FRA","ADM0_A3_NP":"FRA","ADM0_A3_PK":"FRA","ADM0_A3_DE":"FRA","ADM0_A3_GB":"FRA","ADM0_A3_BR":"FRA","ADM0_A3_IL":"FRA","ADM0_A3_PS":"FRA","ADM0_A3_SA":"FRA","ADM0_A3_EG":"FRA","ADM0_A3_MA":"FRA","ADM0_A3_PT":"FRA","ADM0_A3_AR":"FRA","ADM0_A3_JP":"FRA","ADM0_A3_KO":"FRA","ADM0_A3_VN":"FRA","ADM0_A3_TR":"FRA","ADM0_A3_ID":"FRA","ADM0_A3_PL":"FRA","ADM0_A3_GR":"FRA","ADM0_A3_IT":"FRA","ADM0_A3_NL":"FRA","ADM0_A3_SE":"FRA","ADM0_A3_BD":"FRA","ADM0_A3_UA":"FRA","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Europe","REGION_UN":"Europe","SUBREGION":"Western Europe","REGION_WB":"Europe & Central Asia","NAME_LEN":6,"LONG_LEN":6,"ABBREV_LEN":3,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":1.7,"MAX_LABEL":6.7,"LABEL_X":2.552275,"LABEL_Y":46.696113,"NE_ID":1159320637,"WIKIDATAID":"Q142","NAME_AR":"فرنسا","NAME_BN":"ফ্রান্স","NAME_DE":"Frankreich","NAME_EN":"France","NAME_ES":"Francia","NAME_FA":"فرانسه","NAME_FR":"France","NAME_EL":"Γαλλία","NAME_HE":"צרפת","NAME_HI":"फ़्रान्स","NAME_HU":"Franciaország","NAME_ID":"Prancis","NAME_IT":"Francia","NAME_JA":"フランス","NAME_KO":"프랑스","NAME_NL":"Frankrijk","NAME_PL":"Francja","NAME_PT":"França","NAME_RU":"Франция","NAME_SV":"Frankrike","NAME_TR":"Fransa","NAME_UK":"Франція","NAME_UR":"فرانس","NAME_VI":"Pháp","NAME_ZH":"法国","NAME_ZHT":"法國","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[-61.794092,-21.369043,55.839063,51.097119],"geometry":{"type":"MultiPolygon","coordinates":[[[[9.480371,42.80542],[9.454199,42.658594],[9.473242,42.615576],[9.509375,42.585596],[9.526172,42.552637],[9.556445,42.160937],[9.550684,42.129736],[9.428418,41.972412],[9.400879,41.926221],[9.394824,41.731201],[9.374219,41.678809],[9.330859,41.627148],[9.253418,41.460059],[9.186133,41.384912],[9.003027,41.476562],[8.89502,41.516162],[8.84209,41.558887],[8.80752,41.588379],[8.829785,41.627686],[8.879004,41.668555],[8.886816,41.700684],[8.770996,41.737109],[8.717969,41.761426],[8.718652,41.804004],[8.758691,41.87041],[8.74043,41.925146],[8.673633,41.922363],[8.621875,41.930713],[8.615137,41.959131],[8.653418,41.995557],[8.702539,42.043115],[8.700977,42.095605],[8.641602,42.118213],[8.587793,42.16084],[8.566211,42.218799],[8.60791,42.258447],[8.675488,42.284033],[8.625879,42.343408],[8.592383,42.344727],[8.565625,42.357715],[8.5875,42.385303],[8.640039,42.426562],[8.713086,42.549756],[8.814844,42.60791],[8.994922,42.645312],[9.043652,42.66167],[9.088379,42.70498],[9.137891,42.73291],[9.198047,42.729199],[9.253516,42.712451],[9.287695,42.694629],[9.313379,42.713184],[9.338379,42.766895],[9.323047,42.814062],[9.330957,42.943799],[9.363184,43.017383],[9.415234,43.021484],[9.463281,42.981006],[9.46084,42.945215],[9.478613,42.860498],[9.480371,42.80542]]],[[[7.615625,47.592725],[7.494922,47.547363],[7.467383,47.507666],[7.42002,47.455176],[7.343164,47.433105],[7.265723,47.425781],[7.203125,47.432715],[7.16748,47.453711],[7.169238,47.473242],[7.136035,47.489844],[7.053418,47.489355],[6.968359,47.453223],[6.900391,47.394238],[6.921484,47.36123],[6.984082,47.352539],[7.000586,47.339453],[7.000586,47.32251],[6.978516,47.302051],[6.952051,47.267187],[6.820703,47.163184],[6.688086,47.058252],[6.666895,47.026514],[6.624805,47.004346],[6.45625,46.94834],[6.438574,46.925879],[6.429004,46.832275],[6.410156,46.75542],[6.285156,46.683057],[6.160742,46.611035],[6.129688,46.566992],[6.107031,46.516064],[6.067969,46.458545],[6.060254,46.428174],[6.123242,46.378613],[6.115918,46.337646],[6.095898,46.279395],[6.036133,46.238086],[5.97002,46.214697],[5.971484,46.151221],[6.006641,46.142334],[6.086621,46.147021],[6.199414,46.193066],[6.272949,46.252246],[6.22959,46.308447],[6.224219,46.319434],[6.234668,46.332617],[6.321875,46.393701],[6.428906,46.430518],[6.578223,46.437354],[6.758105,46.415771],[6.776074,46.406641],[6.767383,46.369189],[6.78418,46.313965],[6.816797,46.275195],[6.77207,46.165137],[6.805664,46.130664],[6.858008,46.089404],[6.897266,46.051758],[6.953711,46.017139],[7.003906,45.958838],[7.021094,45.925781],[6.94082,45.868359],[6.804492,45.814551],[6.78916,45.780078],[6.790918,45.740869],[6.80625,45.71001],[6.881445,45.670361],[6.962402,45.580566],[7.013672,45.500488],[7.126074,45.423682],[7.153418,45.400928],[7.146387,45.381738],[7.116797,45.349023],[7.07832,45.239941],[7.032422,45.222607],[6.98125,45.215576],[6.842285,45.135645],[6.780371,45.145312],[6.692285,45.144287],[6.627734,45.117969],[6.634766,45.068164],[6.691406,45.022607],[6.724707,44.972998],[6.738184,44.921387],[6.801074,44.883154],[6.889355,44.860303],[6.939844,44.85874],[6.972852,44.84502],[6.992676,44.827295],[7.030664,44.716699],[7.00791,44.688965],[6.960352,44.677148],[6.931934,44.631641],[6.875195,44.564551],[6.842969,44.510693],[6.878613,44.463281],[6.893848,44.428174],[6.874805,44.392041],[6.900195,44.335742],[6.967285,44.280029],[7.149414,44.201709],[7.318555,44.137988],[7.370898,44.127393],[7.599414,44.168359],[7.637207,44.164844],[7.665039,44.116016],[7.677148,44.083154],[7.651465,44.033643],[7.589648,43.96543],[7.522656,43.911084],[7.482031,43.864893],[7.490527,43.822949],[7.493164,43.767139],[7.438672,43.750439],[7.436914,43.761475],[7.414453,43.770898],[7.39502,43.765332],[7.380078,43.753223],[7.377734,43.731738],[7.261523,43.696094],[7.181445,43.659131],[6.864746,43.43833],[6.716602,43.373584],[6.687402,43.33457],[6.657227,43.26167],[6.570215,43.199072],[6.494043,43.169287],[6.305371,43.138721],[6.115918,43.072363],[6.030566,43.100977],[5.809473,43.0979],[5.671582,43.177832],[5.406543,43.228516],[5.320215,43.344922],[5.199512,43.35249],[5.12041,43.348975],[5.073145,43.366602],[5.06084,43.406299],[5.059766,43.444531],[4.975977,43.426953],[4.911914,43.426953],[4.87373,43.411621],[4.843555,43.393945],[4.80791,43.405225],[4.787207,43.401416],[4.789062,43.378906],[4.712109,43.373291],[4.628711,43.387109],[4.409766,43.447217],[4.376172,43.456396],[4.224219,43.479639],[4.162793,43.503662],[4.113086,43.563037],[4.075098,43.581836],[4.052637,43.593066],[3.91084,43.563086],[3.861621,43.516357],[3.784766,43.461621],[3.258887,43.193213],[3.162891,43.080762],[3.051758,42.915137],[3.043066,42.837891],[3.090918,42.590869],[3.197852,42.461182],[3.211426,42.431152],[3.152148,42.431006],[3.052637,42.447217],[2.97002,42.467236],[2.891406,42.456055],[2.815625,42.429248],[2.749414,42.413037],[2.701855,42.408496],[2.67002,42.393018],[2.654785,42.362109],[2.65166,42.340479],[2.567969,42.345801],[2.374414,42.390283],[2.200391,42.420947],[2.09834,42.386084],[2.032715,42.353516],[1.986523,42.358496],[1.951465,42.392773],[1.92793,42.426318],[1.859766,42.45708],[1.706055,42.50332],[1.713965,42.525635],[1.740234,42.556738],[1.739453,42.575928],[1.709863,42.604443],[1.568164,42.63501],[1.501367,42.642725],[1.458887,42.62168],[1.42832,42.595898],[1.349414,42.690674],[1.293262,42.709961],[1.208301,42.713135],[1.111133,42.742041],[1.010059,42.778955],[0.764453,42.838037],[0.696875,42.845117],[0.669824,42.835742],[0.651758,42.800439],[0.641992,42.700635],[0.631641,42.6896],[0.517676,42.686279],[0.377246,42.700146],[0.312891,42.693262],[0.255469,42.69292],[0.201367,42.719336],[-0.041162,42.689111],[-0.081494,42.703857],[-0.140039,42.748926],[-0.205322,42.785303],[-0.256055,42.803955],[-0.299316,42.825342],[-0.338574,42.828809],[-0.398438,42.808105],[-0.481152,42.799316],[-0.549805,42.802002],[-0.586426,42.798975],[-0.740186,42.909521],[-0.762646,42.939795],[-0.839209,42.948193],[-0.933838,42.949512],[-1.175439,43.021143],[-1.285449,43.059619],[-1.301562,43.082471],[-1.300049,43.100977],[-1.318848,43.096973],[-1.352734,43.064258],[-1.370508,43.037598],[-1.394043,43.032617],[-1.42876,43.036768],[-1.46084,43.051758],[-1.480469,43.071143],[-1.459424,43.10498],[-1.422607,43.149121],[-1.407324,43.197119],[-1.410693,43.240088],[-1.471729,43.267676],[-1.561475,43.279199],[-1.627148,43.282471],[-1.712842,43.307031],[-1.753271,43.324707],[-1.792725,43.372559],[-1.794043,43.407324],[-1.631445,43.438037],[-1.484863,43.56377],[-1.345996,44.020215],[-1.245508,44.559863],[-1.170801,44.661816],[-1.076953,44.689844],[-1.152881,44.764014],[-1.200391,44.726465],[-1.220312,44.686621],[-1.245215,44.666699],[-1.189062,45.161475],[-1.149072,45.342627],[-1.081006,45.532422],[-0.941748,45.45708],[-0.826318,45.380664],[-0.76665,45.314355],[-0.691113,45.093457],[-0.633984,45.047119],[-0.548486,45.000586],[-0.582275,45.051367],[-0.641113,45.090186],[-0.733105,45.384619],[-0.790771,45.468018],[-0.880664,45.538184],[-1.169971,45.685937],[-1.195996,45.714453],[-1.209961,45.770898],[-1.114355,45.768506],[-1.031738,45.741064],[-1.041504,45.772656],[-1.066016,45.805664],[-1.104395,45.925342],[-1.136377,46.204834],[-1.132031,46.252686],[-1.146289,46.311377],[-1.238818,46.324512],[-1.312793,46.326904],[-1.39248,46.350098],[-1.786523,46.514844],[-1.921436,46.684814],[-2.059375,46.810303],[-2.09248,46.865039],[-2.090283,46.920508],[-2.018896,47.037646],[-2.081934,47.111621],[-2.143555,47.126318],[-2.19707,47.162939],[-2.148584,47.223926],[-2.108301,47.262939],[-2.027588,47.273584],[-1.921729,47.260645],[-1.821289,47.225342],[-1.742529,47.215967],[-1.975391,47.310693],[-2.353027,47.27876],[-2.434424,47.290967],[-2.503125,47.312061],[-2.530029,47.381592],[-2.476318,47.412939],[-2.427686,47.470898],[-2.482715,47.511621],[-2.554053,47.527051],[-2.665918,47.526172],[-2.770312,47.513867],[-2.796777,47.537256],[-2.733105,47.601807],[-2.787207,47.625537],[-2.859375,47.614453],[-2.964062,47.601074],[-3.064209,47.621338],[-3.158838,47.694678],[-3.221582,47.694141],[-3.264697,47.685107],[-3.328613,47.71333],[-3.395898,47.72041],[-3.443945,47.711035],[-3.507812,47.753125],[-3.900928,47.837549],[-4.070703,47.847852],[-4.226416,47.809619],[-4.312109,47.8229],[-4.375098,47.877441],[-4.427979,47.968945],[-4.678809,48.039502],[-4.629199,48.085791],[-4.512402,48.096729],[-4.377832,48.128809],[-4.329443,48.169971],[-4.434619,48.217969],[-4.512207,48.229736],[-4.544336,48.246973],[-4.577148,48.290039],[-4.530664,48.309717],[-4.4979,48.299268],[-4.40332,48.293066],[-4.241406,48.303662],[-4.301758,48.34707],[-4.364404,48.356738],[-4.393164,48.367627],[-4.524805,48.372314],[-4.584717,48.35752],[-4.719385,48.363135],[-4.748535,48.41001],[-4.7625,48.450244],[-4.720752,48.539893],[-4.531201,48.619971],[-4.058887,48.70752],[-3.855664,48.694727],[-3.714795,48.710498],[-3.545996,48.765674],[-3.471484,48.812939],[-3.231445,48.84082],[-3.003223,48.790674],[-2.792871,48.601074],[-2.692334,48.536816],[-2.446191,48.648291],[-2.079443,48.64502],[-2.003711,48.58208],[-1.973145,48.635107],[-1.905713,48.697119],[-1.851953,48.668848],[-1.824707,48.630518],[-1.437646,48.641406],[-1.376465,48.652588],[-1.480469,48.697607],[-1.565479,48.805518],[-1.583105,49.202393],[-1.690332,49.313184],[-1.813428,49.490137],[-1.870068,49.595117],[-1.875391,49.631396],[-1.856445,49.683789],[-1.705127,49.680957],[-1.588232,49.667676],[-1.365723,49.707275],[-1.258643,49.680176],[-1.264941,49.598242],[-1.232275,49.494873],[-1.194971,49.444824],[-1.138525,49.387891],[-0.959131,49.393164],[-0.765527,49.359717],[-0.520898,49.354541],[-0.163477,49.296777],[-0.011182,49.330225],[0.136133,49.401514],[0.416895,49.448389],[0.439258,49.473193],[0.277637,49.463281],[0.129395,49.508447],[0.109375,49.55752],[0.126563,49.601562],[0.186719,49.703027],[0.616211,49.862939],[0.924121,49.910205],[1.245508,49.998242],[1.407227,50.088525],[1.514063,50.205078],[1.548438,50.230713],[1.592773,50.252197],[1.551563,50.293945],[1.579492,50.739258],[1.60957,50.819482],[1.672266,50.88501],[1.767676,50.935693],[1.9125,50.990625],[2.445703,51.066504],[2.524902,51.097119],[2.536035,51.049512],[2.574805,50.988574],[2.601465,50.955273],[2.579297,50.911768],[2.596777,50.875928],[2.669141,50.811426],[2.759375,50.750635],[2.839746,50.711768],[2.862402,50.716016],[2.921973,50.727051],[3.022852,50.766895],[3.106836,50.779443],[3.154883,50.748926],[3.182031,50.731689],[3.234961,50.662939],[3.249805,50.591162],[3.27334,50.531543],[3.316211,50.507373],[3.476953,50.499463],[3.59541,50.477344],[3.626758,50.457324],[3.667285,50.324805],[3.689355,50.306055],[3.718848,50.32168],[3.748047,50.343506],[3.788574,50.346973],[3.858105,50.338574],[3.949707,50.335938],[4.044141,50.321338],[4.174609,50.246484],[4.169629,50.221777],[4.144141,50.178418],[4.135254,50.143799],[4.157715,50.129883],[4.192188,50.094141],[4.183887,50.052832],[4.150293,50.023877],[4.136816,50],[4.137012,49.984473],[4.149316,49.971582],[4.176074,49.960254],[4.36875,49.944971],[4.54502,49.960254],[4.656152,50.002441],[4.675098,50.046875],[4.706641,50.09707],[4.772852,50.139062],[4.818652,50.153174],[4.860547,50.135889],[4.790039,49.95957],[4.841504,49.914502],[4.849121,49.847119],[4.867578,49.788135],[4.930566,49.789258],[5.006934,49.778369],[5.061035,49.756543],[5.124121,49.721484],[5.215039,49.689258],[5.278809,49.67793],[5.301953,49.650977],[5.353516,49.619824],[5.434668,49.554492],[5.507324,49.510889],[5.542383,49.511035],[5.610059,49.528223],[5.710449,49.539209],[5.789746,49.538281],[5.823438,49.505078],[5.901367,49.489746],[5.928906,49.477539],[5.959473,49.454639],[6.011426,49.445459],[6.074121,49.454639],[6.119922,49.485205],[6.181055,49.498926],[6.242188,49.494336],[6.277344,49.477539],[6.344336,49.452734],[6.382227,49.458154],[6.458105,49.442871],[6.534277,49.394678],[6.566309,49.346191],[6.574707,49.319678],[6.607617,49.290869],[6.735449,49.160596],[6.77627,49.15415],[6.820703,49.173926],[6.849512,49.201953],[6.891211,49.20752],[6.958301,49.194629],[7.001465,49.179883],[7.022168,49.123437],[7.036719,49.112695],[7.065723,49.124854],[7.117383,49.127539],[7.199902,49.113623],[7.313379,49.129541],[7.404199,49.153076],[7.450586,49.152197],[7.525488,49.086377],[7.610938,49.061768],[7.799219,49.041895],[8.00127,49.010937],[8.080664,48.985889],[8.134863,48.973584],[8.140332,48.886426],[8.124023,48.873291],[7.922754,48.698535],[7.837988,48.636035],[7.794824,48.546826],[7.765137,48.41001],[7.705664,48.280029],[7.616602,48.156787],[7.58418,48.064307],[7.608496,48.002588],[7.593262,47.905664],[7.538574,47.773633],[7.529395,47.673877],[7.56543,47.606543],[7.615625,47.592725]]],[[[-1.17832,45.904053],[-1.213574,45.816602],[-1.280273,45.897119],[-1.368701,45.967676],[-1.388867,46.032959],[-1.388672,46.050391],[-1.285059,46.002686],[-1.17832,45.904053]]],[[[45.180273,-12.976758],[45.117578,-12.984961],[45.087695,-12.958496],[45.069434,-12.895605],[45.088281,-12.835059],[45.093555,-12.786133],[45.042578,-12.70127],[45.092383,-12.653027],[45.134766,-12.70918],[45.158789,-12.712988],[45.223145,-12.752148],[45.204297,-12.824316],[45.208594,-12.847949],[45.179395,-12.920215],[45.180273,-12.976758]]],[[[55.797363,-21.339355],[55.656152,-21.369043],[55.557617,-21.358301],[55.362695,-21.273633],[55.310352,-21.217383],[55.232813,-21.058398],[55.25,-21.002441],[55.311328,-20.904102],[55.450488,-20.865137],[55.596484,-20.87959],[55.661914,-20.90625],[55.73916,-21.021484],[55.839063,-21.138574],[55.822461,-21.277832],[55.797363,-21.339355]]],[[[-60.82627,14.494482],[-60.836621,14.437402],[-60.862109,14.42627],[-60.899414,14.473779],[-61.063721,14.46709],[-61.088867,14.50957],[-61.090332,14.529687],[-61.011328,14.601904],[-61.104297,14.62124],[-61.141113,14.652393],[-61.219727,14.804395],[-61.21333,14.848584],[-61.180811,14.871924],[-61.127393,14.875293],[-61.0271,14.826172],[-60.952539,14.75625],[-60.927148,14.755176],[-60.918652,14.735352],[-60.933691,14.686182],[-60.88916,14.644531],[-60.869971,14.613721],[-60.82627,14.494482]]],[[[-61.327148,16.23042],[-61.444824,16.219287],[-61.522168,16.228027],[-61.53999,16.299609],[-61.500586,16.360205],[-61.528906,16.433789],[-61.510645,16.477686],[-61.471191,16.506641],[-61.406445,16.468311],[-61.396143,16.413428],[-61.355469,16.363184],[-61.172607,16.256104],[-61.327148,16.23042]]],[[[-61.589551,16.006934],[-61.670459,15.962061],[-61.710254,15.975928],[-61.759424,16.062061],[-61.794092,16.300977],[-61.767139,16.340479],[-61.748047,16.355273],[-61.641504,16.325977],[-61.597021,16.292187],[-61.552344,16.270898],[-61.575049,16.227148],[-61.563867,16.047754],[-61.589551,16.006934]]],[[[-61.230469,15.889941],[-61.28623,15.886035],[-61.310742,15.894678],[-61.318408,15.954883],[-61.275293,15.99624],[-61.25,16.006299],[-61.212354,15.959912],[-61.203418,15.92124],[-61.230469,15.889941]]],[[[-54.61626,2.326758],[-54.604736,2.335791],[-54.568408,2.342578],[-54.535937,2.343311],[-54.485547,2.416113],[-54.402002,2.461523],[-54.256738,2.713721],[-54.195508,2.817871],[-54.188086,2.874854],[-54.170703,2.993604],[-54.203125,3.138184],[-54.188037,3.17876],[-54.063184,3.35332],[-54.00957,3.448535],[-54.005957,3.530518],[-53.990479,3.589551],[-54.005908,3.62041],[-54.034229,3.629395],[-54.081982,3.705957],[-54.112793,3.769434],[-54.197461,3.834424],[-54.255518,3.901074],[-54.350732,4.054102],[-54.342139,4.140039],[-54.369141,4.170947],[-54.398389,4.20249],[-54.39624,4.241406],[-54.416016,4.337646],[-54.440674,4.428027],[-54.449609,4.48501],[-54.426074,4.583008],[-54.440234,4.691992],[-54.471143,4.749316],[-54.479687,4.836523],[-54.47334,4.914697],[-54.446875,4.958789],[-54.452197,5.013477],[-54.331641,5.187402],[-54.240186,5.288232],[-54.155957,5.358984],[-54.085303,5.411816],[-53.9896,5.676025],[-53.919922,5.768994],[-53.847168,5.782227],[-53.454443,5.563477],[-53.270361,5.543262],[-52.899316,5.425049],[-52.76499,5.273486],[-52.453955,5.021338],[-52.290527,4.942187],[-52.288916,4.876123],[-52.324609,4.770898],[-52.219971,4.862793],[-52.058105,4.717383],[-52.012305,4.645996],[-51.961914,4.514404],[-51.979346,4.429883],[-52.001709,4.38623],[-52.00293,4.352295],[-51.954785,4.399072],[-51.927686,4.436133],[-51.91958,4.524316],[-51.880273,4.63374],[-51.827539,4.635693],[-51.785645,4.570508],[-51.698633,4.286816],[-51.66582,4.228809],[-51.653271,4.13877],[-51.658105,4.098486],[-51.652539,4.061279],[-51.683447,4.039697],[-51.76709,3.992676],[-51.805273,3.929932],[-51.82749,3.86958],[-51.879492,3.828564],[-51.928906,3.776953],[-51.944336,3.735107],[-51.990625,3.702002],[-51.999512,3.646875],[-52.116113,3.452295],[-52.162598,3.364697],[-52.229443,3.27168],[-52.27124,3.237109],[-52.327881,3.181738],[-52.356641,3.117725],[-52.356641,3.051562],[-52.396387,2.972217],[-52.418408,2.903857],[-52.455859,2.86416],[-52.554688,2.647656],[-52.559473,2.573145],[-52.583008,2.528906],[-52.653174,2.425732],[-52.700635,2.363672],[-52.783398,2.317187],[-52.87041,2.26665],[-52.903467,2.211523],[-52.964844,2.183545],[-53.009717,2.181738],[-53.082275,2.201709],[-53.180078,2.211328],[-53.229785,2.204883],[-53.252197,2.232275],[-53.285498,2.295215],[-53.334424,2.339746],[-53.366016,2.324219],[-53.431836,2.279443],[-53.508984,2.253125],[-53.563965,2.261914],[-53.683691,2.29292],[-53.734717,2.308545],[-53.750146,2.33501],[-53.767773,2.354834],[-53.794238,2.345996],[-53.829541,2.312939],[-53.876611,2.278271],[-53.946436,2.232568],[-54.089746,2.150488],[-54.130078,2.121045],[-54.167383,2.137061],[-54.227979,2.15332],[-54.293066,2.154248],[-54.433105,2.20752],[-54.515088,2.245459],[-54.550488,2.293066],[-54.591943,2.31377],[-54.61626,2.326758]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":4,"LABELRANK":4,"SOVEREIGNT":"France","SOV_A3":"FR1","ADM0_DIF":1,"LEVEL":2,"TYPE":"Dependency","TLC":"1","ADMIN":"Saint Pierre and Miquelon","ADM0_A3":"SPM","GEOU_DIF":0,"GEOUNIT":"Saint Pierre and Miquelon","GU_A3":"SPM","SU_DIF":0,"SUBUNIT":"Saint Pierre and Miquelon","SU_A3":"SPM","BRK_DIFF":0,"NAME":"St. Pierre and Miquelon","NAME_LONG":"Saint Pierre and Miquelon","BRK_A3":"SPM","BRK_NAME":"St. Pierre and Miquelon","BRK_GROUP":null,"ABBREV":"St. P.M.","POSTAL":"PM","FORMAL_EN":"Saint Pierre and Miquelon","FORMAL_FR":null,"NAME_CIAWF":"Saint Pierre and Miquelon","NOTE_ADM0":"Fr.","NOTE_BRK":null,"NAME_SORT":"St. Pierre and Miquelon","NAME_ALT":null,"MAPCOLOR7":7,"MAPCOLOR8":5,"MAPCOLOR9":9,"MAPCOLOR13":11,"POP_EST":5997,"POP_RANK":5,"POP_YEAR":2017,"GDP_MD":215,"GDP_YEAR":2016,"ECONOMY":"2. Developed region: nonG7","INCOME_GRP":"3. Upper middle income","FIPS_10":"SB","ISO_A2":"PM","ISO_A2_EH":"PM","ISO_A3":"SPM","ISO_A3_EH":"SPM","ISO_N3":"666","ISO_N3_EH":"666","UN_A3":"666","WB_A2":"-99","WB_A3":"-99","WOE_ID":23424939,"WOE_ID_EH":23424939,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"SPM","ADM0_DIFF":null,"ADM0_TLC":"SPM","ADM0_A3_US":"SPM","ADM0_A3_FR":"SPM","ADM0_A3_RU":"SPM","ADM0_A3_ES":"SPM","ADM0_A3_CN":"SPM","ADM0_A3_TW":"SPM","ADM0_A3_IN":"SPM","ADM0_A3_NP":"SPM","ADM0_A3_PK":"SPM","ADM0_A3_DE":"SPM","ADM0_A3_GB":"SPM","ADM0_A3_BR":"SPM","ADM0_A3_IL":"SPM","ADM0_A3_PS":"SPM","ADM0_A3_SA":"SPM","ADM0_A3_EG":"SPM","ADM0_A3_MA":"SPM","ADM0_A3_PT":"SPM","ADM0_A3_AR":"SPM","ADM0_A3_JP":"SPM","ADM0_A3_KO":"SPM","ADM0_A3_VN":"SPM","ADM0_A3_TR":"SPM","ADM0_A3_ID":"SPM","ADM0_A3_PL":"SPM","ADM0_A3_GR":"SPM","ADM0_A3_IT":"SPM","ADM0_A3_NL":"SPM","ADM0_A3_SE":"SPM","ADM0_A3_BD":"SPM","ADM0_A3_UA":"SPM","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"North America","REGION_UN":"Americas","SUBREGION":"Northern America","REGION_WB":"North America","NAME_LEN":23,"LONG_LEN":25,"ABBREV_LEN":8,"TINY":3,"HOMEPART":-99,"MIN_ZOOM":0,"MIN_LABEL":5,"MAX_LABEL":10,"LABEL_X":-56.332352,"LABEL_Y":47.040344,"NE_ID":1159320647,"WIKIDATAID":"Q34617","NAME_AR":"سان بيير وميكلون","NAME_BN":"সাঁ পিয়ের ও মিকলোঁ","NAME_DE":"Saint-Pierre und Miquelon","NAME_EN":"Saint Pierre and Miquelon","NAME_ES":"San Pedro y Miquelón","NAME_FA":"سن پیر و میکلن","NAME_FR":"Saint-Pierre-et-Miquelon","NAME_EL":"Σαιν-Πιερ και Μικελόν","NAME_HE":"סן-פייר ומיקלון","NAME_HI":"सन्त पियर और मिकलान","NAME_HU":"Saint-Pierre és Miquelon","NAME_ID":"Saint Pierre dan Miquelon","NAME_IT":"Saint-Pierre e Miquelon","NAME_JA":"サンピエール島・ミクロン島","NAME_KO":"생피에르 미클롱","NAME_NL":"Saint-Pierre en Miquelon","NAME_PL":"Saint-Pierre i Miquelon","NAME_PT":"Saint-Pierre e Miquelon","NAME_RU":"Сен-Пьер и Микелон","NAME_SV":"Saint-Pierre och Miquelon","NAME_TR":"Saint Pierre ve Miquelon","NAME_UK":"Сен-П'єр і Мікелон","NAME_UR":"سینٹ پیئر و میکیلون","NAME_VI":"Saint-Pierre và Miquelon","NAME_ZH":"圣皮埃尔和密克隆","NAME_ZHT":"聖皮埃與密克隆群島","FCLASS_ISO":"Admin-0 dependency","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 dependency","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[-56.386914,46.752832,-56.137354,47.098975],"geometry":{"type":"MultiPolygon","coordinates":[[[[-56.150732,46.762402],[-56.17168,46.752832],[-56.243262,46.767187],[-56.20918,46.798242],[-56.185059,46.807275],[-56.152637,46.811084],[-56.137354,46.801562],[-56.139258,46.778662],[-56.150732,46.762402]]],[[[-56.26709,46.838477],[-56.354199,46.795312],[-56.384766,46.819434],[-56.377246,46.847656],[-56.332568,46.915967],[-56.333936,46.935645],[-56.386914,47.067969],[-56.37793,47.089551],[-56.364648,47.098975],[-56.287354,47.070996],[-56.278369,47.03501],[-56.314893,46.953857],[-56.289795,46.899902],[-56.255469,46.860986],[-56.26709,46.838477]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":3,"LABELRANK":4,"SOVEREIGNT":"France","SOV_A3":"FR1","ADM0_DIF":1,"LEVEL":2,"TYPE":"Dependency","TLC":"1","ADMIN":"Wallis and Futuna","ADM0_A3":"WLF","GEOU_DIF":0,"GEOUNIT":"Wallis and Futuna","GU_A3":"WLF","SU_DIF":0,"SUBUNIT":"Wallis and Futuna","SU_A3":"WLF","BRK_DIFF":0,"NAME":"Wallis and Futuna Is.","NAME_LONG":"Wallis and Futuna Islands","BRK_A3":"WLF","BRK_NAME":"Wallis and Futuna Islands","BRK_GROUP":null,"ABBREV":"Wlf.","POSTAL":"WF","FORMAL_EN":"Wallis and Futuna Islands","FORMAL_FR":null,"NAME_CIAWF":"Wallis and Futuna","NOTE_ADM0":"Fr.","NOTE_BRK":null,"NAME_SORT":"Wallis and Futuna","NAME_ALT":null,"MAPCOLOR7":7,"MAPCOLOR8":5,"MAPCOLOR9":9,"MAPCOLOR13":11,"POP_EST":11558,"POP_RANK":6,"POP_YEAR":2018,"GDP_MD":60,"GDP_YEAR":2016,"ECONOMY":"6. Developing region","INCOME_GRP":"4. Lower middle income","FIPS_10":"WF","ISO_A2":"WF","ISO_A2_EH":"WF","ISO_A3":"WLF","ISO_A3_EH":"WLF","ISO_N3":"876","ISO_N3_EH":"876","UN_A3":"876","WB_A2":"-99","WB_A3":"-99","WOE_ID":23424989,"WOE_ID_EH":23424989,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"WLF","ADM0_DIFF":null,"ADM0_TLC":"WLF","ADM0_A3_US":"WLF","ADM0_A3_FR":"WLF","ADM0_A3_RU":"WLF","ADM0_A3_ES":"WLF","ADM0_A3_CN":"WLF","ADM0_A3_TW":"WLF","ADM0_A3_IN":"WLF","ADM0_A3_NP":"WLF","ADM0_A3_PK":"WLF","ADM0_A3_DE":"WLF","ADM0_A3_GB":"WLF","ADM0_A3_BR":"WLF","ADM0_A3_IL":"WLF","ADM0_A3_PS":"WLF","ADM0_A3_SA":"WLF","ADM0_A3_EG":"WLF","ADM0_A3_MA":"WLF","ADM0_A3_PT":"WLF","ADM0_A3_AR":"WLF","ADM0_A3_JP":"WLF","ADM0_A3_KO":"WLF","ADM0_A3_VN":"WLF","ADM0_A3_TR":"WLF","ADM0_A3_ID":"WLF","ADM0_A3_PL":"WLF","ADM0_A3_GR":"WLF","ADM0_A3_IT":"WLF","ADM0_A3_NL":"WLF","ADM0_A3_SE":"WLF","ADM0_A3_BD":"WLF","ADM0_A3_UA":"WLF","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Oceania","REGION_UN":"Oceania","SUBREGION":"Polynesia","REGION_WB":"East Asia & Pacific","NAME_LEN":21,"LONG_LEN":25,"ABBREV_LEN":4,"TINY":3,"HOMEPART":-99,"MIN_ZOOM":0,"MIN_LABEL":4.7,"MAX_LABEL":9,"LABEL_X":-178.137436,"LABEL_Y":-14.286415,"NE_ID":1159320649,"WIKIDATAID":"Q35555","NAME_AR":"واليس وفوتونا","NAME_BN":"ওয়ালিস ও ফুটুনা","NAME_DE":"Wallis und Futuna","NAME_EN":"Wallis and Futuna","NAME_ES":"Wallis y Futuna","NAME_FA":"والیس و فوتونا","NAME_FR":"Wallis-et-Futuna","NAME_EL":"Ουαλίς και Φουτουνά","NAME_HE":"ואליס ופוטונה","NAME_HI":"वालिस और फ़्यूचूना","NAME_HU":"Wallis és Futuna","NAME_ID":"Wallis dan Futuna","NAME_IT":"Wallis e Futuna","NAME_JA":"ウォリス・フツナ","NAME_KO":"왈리스 푸투나","NAME_NL":"Wallis en Futuna","NAME_PL":"Wallis i Futuna","NAME_PT":"Wallis e Futuna","NAME_RU":"Уоллис и Футуна","NAME_SV":"Wallis- och Futunaöarna","NAME_TR":"Wallis ve Futuna Adaları","NAME_UK":"Волліс і Футуна","NAME_UR":"والس و فتونہ","NAME_VI":"Wallis và Futuna","NAME_ZH":"瓦利斯和富图纳","NAME_ZHT":"瓦利斯和富圖納","FCLASS_ISO":"Admin-0 dependency","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 dependency","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[-178.194385,-14.324902,-176.128076,-13.22168],"geometry":{"type":"MultiPolygon","coordinates":[[[[-176.160596,-13.332813],[-176.176904,-13.340918],[-176.195361,-13.30166],[-176.171191,-13.242578],[-176.147949,-13.22168],[-176.128076,-13.268164],[-176.160596,-13.332813]]],[[[-178.04668,-14.318359],[-178.10332,-14.324902],[-178.158594,-14.311914],[-178.194385,-14.255469],[-178.178027,-14.231641],[-178.142236,-14.242578],[-178.105029,-14.28418],[-178.043652,-14.303223],[-178.04668,-14.318359]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":3,"LABELRANK":6,"SOVEREIGNT":"France","SOV_A3":"FR1","ADM0_DIF":1,"LEVEL":2,"TYPE":"Dependency","TLC":"1","ADMIN":"Saint Martin","ADM0_A3":"MAF","GEOU_DIF":0,"GEOUNIT":"Saint Martin","GU_A3":"MAF","SU_DIF":0,"SUBUNIT":"Saint Martin","SU_A3":"MAF","BRK_DIFF":0,"NAME":"St-Martin","NAME_LONG":"Saint-Martin","BRK_A3":"MAF","BRK_NAME":"Saint-Martin","BRK_GROUP":null,"ABBREV":"St. M.","POSTAL":"MF","FORMAL_EN":"Saint-Martin (French part)","FORMAL_FR":null,"NAME_CIAWF":"Saint Martin","NOTE_ADM0":"Fr.","NOTE_BRK":null,"NAME_SORT":"St. Martin (French part)","NAME_ALT":null,"MAPCOLOR7":7,"MAPCOLOR8":5,"MAPCOLOR9":9,"MAPCOLOR13":11,"POP_EST":38002,"POP_RANK":7,"POP_YEAR":2019,"GDP_MD":562,"GDP_YEAR":2016,"ECONOMY":"6. Developing region","INCOME_GRP":"2. High income: nonOECD","FIPS_10":"RN","ISO_A2":"MF","ISO_A2_EH":"MF","ISO_A3":"MAF","ISO_A3_EH":"MAF","ISO_N3":"663","ISO_N3_EH":"663","UN_A3":"663","WB_A2":"MF","WB_A3":"MAF","WOE_ID":56042305,"WOE_ID_EH":56042305,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"MAF","ADM0_DIFF":null,"ADM0_TLC":"MAF","ADM0_A3_US":"MAF","ADM0_A3_FR":"MAF","ADM0_A3_RU":"MAF","ADM0_A3_ES":"MAF","ADM0_A3_CN":"MAF","ADM0_A3_TW":"MAF","ADM0_A3_IN":"MAF","ADM0_A3_NP":"MAF","ADM0_A3_PK":"MAF","ADM0_A3_DE":"MAF","ADM0_A3_GB":"MAF","ADM0_A3_BR":"MAF","ADM0_A3_IL":"MAF","ADM0_A3_PS":"MAF","ADM0_A3_SA":"MAF","ADM0_A3_EG":"MAF","ADM0_A3_MA":"MAF","ADM0_A3_PT":"MAF","ADM0_A3_AR":"MAF","ADM0_A3_JP":"MAF","ADM0_A3_KO":"MAF","ADM0_A3_VN":"MAF","ADM0_A3_TR":"MAF","ADM0_A3_ID":"MAF","ADM0_A3_PL":"MAF","ADM0_A3_GR":"MAF","ADM0_A3_IT":"MAF","ADM0_A3_NL":"MAF","ADM0_A3_SE":"MAF","ADM0_A3_BD":"MAF","ADM0_A3_UA":"MAF","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"North America","REGION_UN":"Americas","SUBREGION":"Caribbean","REGION_WB":"Latin America & Caribbean","NAME_LEN":9,"LONG_LEN":12,"ABBREV_LEN":6,"TINY":4,"HOMEPART":-99,"MIN_ZOOM":0,"MIN_LABEL":5,"MAX_LABEL":10,"LABEL_X":-63.049399,"LABEL_Y":18.081302,"NE_ID":1159320639,"WIKIDATAID":"Q126125","NAME_AR":"تجمع سان مارتين","NAME_BN":"সেন্ট-মার্টিন","NAME_DE":"Saint-Martin","NAME_EN":"Saint Martin","NAME_ES":"San Martín","NAME_FA":"سنت مارتین فرانسه","NAME_FR":"Saint-Martin","NAME_EL":"Άγιος Μαρτίνος","NAME_HE":"סן מרטן","NAME_HI":"सेंट मार्टिन की सामूहिकता","NAME_HU":"Saint-Martin","NAME_ID":"Saint Martin","NAME_IT":"Saint-Martin","NAME_JA":"サン・マルタン","NAME_KO":"생마르탱","NAME_NL":"Sint-Maarten","NAME_PL":"Saint-Martin","NAME_PT":"São Martinho","NAME_RU":"Сен-Мартен","NAME_SV":"Saint Martin","NAME_TR":"Saint Martin","NAME_UK":"Сен-Мартен","NAME_UR":"سینٹ مارٹن","NAME_VI":"Saint-Martin","NAME_ZH":"法属圣马丁","NAME_ZHT":"法屬聖馬丁","FCLASS_ISO":"Admin-0 dependency","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 dependency","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[-63.123047,18.068945,-63.009424,18.115332],"geometry":{"type":"Polygon","coordinates":[[[-63.011182,18.068945],[-63.123047,18.068945],[-63.11499,18.090723],[-63.063086,18.115332],[-63.024805,18.113086],[-63.009424,18.104297],[-63.011182,18.068945]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":3,"LABELRANK":6,"SOVEREIGNT":"France","SOV_A3":"FR1","ADM0_DIF":1,"LEVEL":2,"TYPE":"Dependency","TLC":"1","ADMIN":"Saint Barthelemy","ADM0_A3":"BLM","GEOU_DIF":0,"GEOUNIT":"Saint Barthelemy","GU_A3":"BLM","SU_DIF":0,"SUBUNIT":"Saint Barthelemy","SU_A3":"BLM","BRK_DIFF":0,"NAME":"St-Barthélemy","NAME_LONG":"Saint-Barthélemy","BRK_A3":"BLM","BRK_NAME":"St-Barthélemy","BRK_GROUP":null,"ABBREV":"St. B.","POSTAL":"BL","FORMAL_EN":"Saint-Barthélemy","FORMAL_FR":null,"NAME_CIAWF":"Saint Barthelemy","NOTE_ADM0":"Fr.","NOTE_BRK":null,"NAME_SORT":"St-Barthélemy","NAME_ALT":null,"MAPCOLOR7":7,"MAPCOLOR8":5,"MAPCOLOR9":9,"MAPCOLOR13":11,"POP_EST":9961,"POP_RANK":5,"POP_YEAR":2017,"GDP_MD":255,"GDP_YEAR":2016,"ECONOMY":"2. Developed region: nonG7","INCOME_GRP":"1. High income: OECD","FIPS_10":"TB","ISO_A2":"BL","ISO_A2_EH":"BL","ISO_A3":"BLM","ISO_A3_EH":"BLM","ISO_N3":"652","ISO_N3_EH":"652","UN_A3":"652","WB_A2":"-99","WB_A3":"-99","WOE_ID":56042304,"WOE_ID_EH":56042304,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"BLM","ADM0_DIFF":null,"ADM0_TLC":"BLM","ADM0_A3_US":"BLM","ADM0_A3_FR":"BLM","ADM0_A3_RU":"BLM","ADM0_A3_ES":"BLM","ADM0_A3_CN":"BLM","ADM0_A3_TW":"BLM","ADM0_A3_IN":"BLM","ADM0_A3_NP":"BLM","ADM0_A3_PK":"BLM","ADM0_A3_DE":"BLM","ADM0_A3_GB":"BLM","ADM0_A3_BR":"BLM","ADM0_A3_IL":"BLM","ADM0_A3_PS":"BLM","ADM0_A3_SA":"BLM","ADM0_A3_EG":"BLM","ADM0_A3_MA":"BLM","ADM0_A3_PT":"BLM","ADM0_A3_AR":"BLM","ADM0_A3_JP":"BLM","ADM0_A3_KO":"BLM","ADM0_A3_VN":"BLM","ADM0_A3_TR":"BLM","ADM0_A3_ID":"BLM","ADM0_A3_PL":"BLM","ADM0_A3_GR":"BLM","ADM0_A3_IT":"BLM","ADM0_A3_NL":"BLM","ADM0_A3_SE":"BLM","ADM0_A3_BD":"BLM","ADM0_A3_UA":"BLM","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"North America","REGION_UN":"Americas","SUBREGION":"Caribbean","REGION_WB":"Latin America & Caribbean","NAME_LEN":13,"LONG_LEN":16,"ABBREV_LEN":6,"TINY":4,"HOMEPART":-99,"MIN_ZOOM":0,"MIN_LABEL":5.7,"MAX_LABEL":10,"LABEL_X":-62.833193,"LABEL_Y":17.901987,"NE_ID":1159320633,"WIKIDATAID":"Q25362","NAME_AR":"سان بارتيلمي","NAME_BN":"সেন্ট-বার্থেলেমি","NAME_DE":"Saint-Barthélemy","NAME_EN":"Saint Barthélemy","NAME_ES":"San Bartolomé","NAME_FA":"سنت بارثلمی","NAME_FR":"Saint-Barthélemy","NAME_EL":"Άγιος Βαρθολομαίος","NAME_HE":"סן ברתלמי","NAME_HI":"सेंट बार्थेलेमी","NAME_HU":"Saint-Barthélemy","NAME_ID":"Saint-Barthélemy","NAME_IT":"Saint-Barthélemy","NAME_JA":"サン・バルテルミー島","NAME_KO":"생바르텔레미","NAME_NL":"Saint-Barthélemy","NAME_PL":"Saint-Barthélemy","NAME_PT":"Coletividade de São Bartolomeu","NAME_RU":"Сен-Бартелеми","NAME_SV":"Saint-Barthélemy","NAME_TR":"Saint Barthélemy","NAME_UK":"Сен-Бартельмі","NAME_UR":"سینٹ بارتھیملے","NAME_VI":"Saint-Barthélemy","NAME_ZH":"圣巴泰勒米","NAME_ZHT":"聖巴瑟米","FCLASS_ISO":"Admin-0 dependency","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 dependency","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[-62.875439,17.875195,-62.799707,17.922266],"geometry":{"type":"Polygon","coordinates":[[[-62.831934,17.876465],[-62.846924,17.875195],[-62.858936,17.883643],[-62.869385,17.898584],[-62.875439,17.913574],[-62.874219,17.922266],[-62.86543,17.918262],[-62.799707,17.908691],[-62.807031,17.897656],[-62.818164,17.885449],[-62.831934,17.876465]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":3,"LABELRANK":4,"SOVEREIGNT":"France","SOV_A3":"FR1","ADM0_DIF":1,"LEVEL":2,"TYPE":"Dependency","TLC":"1","ADMIN":"French Polynesia","ADM0_A3":"PYF","GEOU_DIF":0,"GEOUNIT":"French Polynesia","GU_A3":"PYF","SU_DIF":0,"SUBUNIT":"French Polynesia","SU_A3":"PYF","BRK_DIFF":0,"NAME":"Fr. Polynesia","NAME_LONG":"French Polynesia","BRK_A3":"PYF","BRK_NAME":"Fr. Polynesia","BRK_GROUP":null,"ABBREV":"Fr. Poly.","POSTAL":"PF","FORMAL_EN":"French Polynesia","FORMAL_FR":null,"NAME_CIAWF":"French Polynesia","NOTE_ADM0":"Fr.","NOTE_BRK":null,"NAME_SORT":"French Polynesia","NAME_ALT":null,"MAPCOLOR7":7,"MAPCOLOR8":5,"MAPCOLOR9":9,"MAPCOLOR13":11,"POP_EST":279287,"POP_RANK":10,"POP_YEAR":2019,"GDP_MD":5490,"GDP_YEAR":2016,"ECONOMY":"6. Developing region","INCOME_GRP":"2. High income: nonOECD","FIPS_10":"FP","ISO_A2":"PF","ISO_A2_EH":"PF","ISO_A3":"PYF","ISO_A3_EH":"PYF","ISO_N3":"258","ISO_N3_EH":"258","UN_A3":"258","WB_A2":"PF","WB_A3":"PYF","WOE_ID":23424817,"WOE_ID_EH":23424817,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"PYF","ADM0_DIFF":null,"ADM0_TLC":"PYF","ADM0_A3_US":"PYF","ADM0_A3_FR":"PYF","ADM0_A3_RU":"PYF","ADM0_A3_ES":"PYF","ADM0_A3_CN":"PYF","ADM0_A3_TW":"PYF","ADM0_A3_IN":"PYF","ADM0_A3_NP":"PYF","ADM0_A3_PK":"PYF","ADM0_A3_DE":"PYF","ADM0_A3_GB":"PYF","ADM0_A3_BR":"PYF","ADM0_A3_IL":"PYF","ADM0_A3_PS":"PYF","ADM0_A3_SA":"PYF","ADM0_A3_EG":"PYF","ADM0_A3_MA":"PYF","ADM0_A3_PT":"PYF","ADM0_A3_AR":"PYF","ADM0_A3_JP":"PYF","ADM0_A3_KO":"PYF","ADM0_A3_VN":"PYF","ADM0_A3_TR":"PYF","ADM0_A3_ID":"PYF","ADM0_A3_PL":"PYF","ADM0_A3_GR":"PYF","ADM0_A3_IT":"PYF","ADM0_A3_NL":"PYF","ADM0_A3_SE":"PYF","ADM0_A3_BD":"PYF","ADM0_A3_UA":"PYF","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Oceania","REGION_UN":"Oceania","SUBREGION":"Polynesia","REGION_WB":"East Asia & Pacific","NAME_LEN":13,"LONG_LEN":16,"ABBREV_LEN":9,"TINY":2,"HOMEPART":-99,"MIN_ZOOM":0,"MIN_LABEL":3.5,"MAX_LABEL":8.5,"LABEL_X":-149.46157,"LABEL_Y":-17.628081,"NE_ID":1159320643,"WIKIDATAID":"Q30971","NAME_AR":"بولينزيا الفرنسية","NAME_BN":"ফরাসি পলিনেশিয়া","NAME_DE":"Französisch-Polynesien","NAME_EN":"French Polynesia","NAME_ES":"Polinesia Francesa","NAME_FA":"پلینزی فرانسه","NAME_FR":"Polynésie française","NAME_EL":"Γαλλική Πολυνησία","NAME_HE":"פולינזיה הצרפתית","NAME_HI":"फ़्रान्सीसी पॉलिनेशिया","NAME_HU":"Francia Polinézia","NAME_ID":"Polinesia Prancis","NAME_IT":"Polinesia francese","NAME_JA":"フランス領ポリネシア","NAME_KO":"프랑스령 폴리네시아","NAME_NL":"Frans-Polynesië","NAME_PL":"Polinezja Francuska","NAME_PT":"Polinésia Francesa","NAME_RU":"Французская Полинезия","NAME_SV":"Franska Polynesien","NAME_TR":"Fransız Polinezyası","NAME_UK":"Французька Полінезія","NAME_UR":"فرانسیسی پولینیشیا","NAME_VI":"Polynésie thuộc Pháp","NAME_ZH":"法属波利尼西亚","NAME_ZHT":"法屬玻里尼西亞","FCLASS_ISO":"Admin-0 dependency","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 dependency","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[-151.512402,-20.875879,-136.293896,-8.781543],"geometry":{"type":"MultiPolygon","coordinates":[[[[-151.466602,-16.65752],[-151.484912,-16.665137],[-151.50415,-16.646973],[-151.512402,-16.619043],[-151.505762,-16.574023],[-151.457422,-16.603711],[-151.438086,-16.623438],[-151.466602,-16.65752]]],[[[-149.813672,-17.54502],[-149.844922,-17.571094],[-149.886572,-17.552832],[-149.905127,-17.527734],[-149.911816,-17.501172],[-149.902148,-17.469531],[-149.808789,-17.473926],[-149.782422,-17.487793],[-149.813672,-17.54502]]],[[[-151.409814,-16.877734],[-151.449463,-16.879297],[-151.485498,-16.863672],[-151.476416,-16.760742],[-151.466748,-16.739648],[-151.411182,-16.774414],[-151.364502,-16.864258],[-151.409814,-16.877734]]],[[[-149.321533,-17.690039],[-149.177686,-17.736621],[-149.150879,-17.812109],[-149.181787,-17.862305],[-149.254492,-17.849902],[-149.290479,-17.822461],[-149.341113,-17.732422],[-149.481689,-17.752734],[-149.578906,-17.734961],[-149.632812,-17.617578],[-149.63501,-17.564258],[-149.611426,-17.531641],[-149.508105,-17.496387],[-149.379199,-17.522363],[-149.330078,-17.588965],[-149.321533,-17.690039]]],[[[-139.024316,-9.695215],[-138.874463,-9.747168],[-138.827344,-9.741602],[-138.874951,-9.792871],[-139.024268,-9.820703],[-139.073682,-9.845703],[-139.134082,-9.829492],[-139.166455,-9.770215],[-139.024316,-9.695215]]],[[[-139.059717,-9.931348],[-139.133984,-10.00957],[-139.134229,-9.92627],[-139.107471,-9.91543],[-139.083154,-9.91543],[-139.059717,-9.931348]]],[[[-138.651123,-10.515332],[-138.687744,-10.532422],[-138.690381,-10.425586],[-138.64292,-10.445898],[-138.624463,-10.462988],[-138.632373,-10.492188],[-138.651123,-10.515332]]],[[[-140.072607,-8.910449],[-140.170557,-8.933984],[-140.217432,-8.929688],[-140.252686,-8.848047],[-140.240039,-8.797559],[-140.224414,-8.781543],[-140.057666,-8.801465],[-140.043701,-8.838477],[-140.046143,-8.873633],[-140.072607,-8.910449]]],[[[-140.075635,-9.425977],[-140.097363,-9.444141],[-140.138037,-9.384375],[-140.144385,-9.359375],[-140.070947,-9.328125],[-140.031104,-9.344727],[-140.075635,-9.425977]]],[[[-140.809375,-17.856641],[-140.804443,-17.875684],[-140.84082,-17.873145],[-140.851562,-17.866602],[-140.850732,-17.831055],[-140.824268,-17.787988],[-140.803613,-17.75166],[-140.761426,-17.717773],[-140.686182,-17.683789],[-140.649805,-17.669727],[-140.638232,-17.678027],[-140.652051,-17.683105],[-140.776318,-17.754102],[-140.815186,-17.803711],[-140.83252,-17.838477],[-140.829248,-17.849219],[-140.809375,-17.856641]]],[[[-139.556201,-8.940234],[-139.620996,-8.947949],[-139.631787,-8.898535],[-139.611768,-8.872363],[-139.583984,-8.860059],[-139.53457,-8.875391],[-139.50835,-8.89707],[-139.509912,-8.915625],[-139.556201,-8.940234]]],[[[-140.685352,-18.379883],[-140.671875,-18.416113],[-140.696045,-18.399121],[-140.773242,-18.36377],[-140.781738,-18.33418],[-140.685352,-18.379883]]],[[[-140.829883,-18.189355],[-140.822705,-18.216895],[-140.860059,-18.19873],[-140.895459,-18.147949],[-140.958643,-18.085059],[-140.973535,-18.05918],[-140.925146,-18.083789],[-140.893262,-18.120508],[-140.829883,-18.189355]]],[[[-136.293896,-18.544336],[-136.314063,-18.566309],[-136.316016,-18.545215],[-136.344043,-18.534863],[-136.38291,-18.513672],[-136.435693,-18.489063],[-136.464258,-18.485059],[-136.478516,-18.470801],[-136.458691,-18.463184],[-136.426123,-18.474316],[-136.380371,-18.496777],[-136.327637,-18.519336],[-136.293896,-18.544336]]],[[[-136.971729,-18.341992],[-136.971338,-18.360938],[-137.067578,-18.265332],[-137.029639,-18.272852],[-136.971729,-18.341992]]],[[[-138.505859,-20.857227],[-138.534863,-20.875879],[-138.524023,-20.850586],[-138.546387,-20.795117],[-138.568359,-20.787109],[-138.546387,-20.771191],[-138.514941,-20.813379],[-138.505859,-20.857227]]],[[[-142.511816,-16.096289],[-142.52959,-16.107129],[-142.506836,-16.027734],[-142.481201,-16.017773],[-142.511816,-16.096289]]],[[[-143.440576,-16.619727],[-143.386182,-16.668848],[-143.458545,-16.635449],[-143.550684,-16.621094],[-143.515576,-16.612305],[-143.464697,-16.613574],[-143.440576,-16.619727]]],[[[-143.571143,-16.634766],[-143.610645,-16.64043],[-143.707422,-16.580859],[-143.670215,-16.580859],[-143.614795,-16.618066],[-143.571143,-16.634766]]],[[[-145.051367,-15.856055],[-145.057666,-15.901074],[-145.076416,-15.857617],[-145.137939,-15.788086],[-145.160742,-15.757031],[-145.133545,-15.762012],[-145.051367,-15.856055]]],[[[-145.48667,-16.329785],[-145.482227,-16.346777],[-145.502734,-16.345801],[-145.539844,-16.295117],[-145.553125,-16.251172],[-145.576709,-16.201465],[-145.609131,-16.165234],[-145.612793,-16.131836],[-145.613818,-16.079199],[-145.5771,-16.159863],[-145.542334,-16.224609],[-145.516992,-16.277832],[-145.48667,-16.329785]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":3,"SOVEREIGNT":"France","SOV_A3":"FR1","ADM0_DIF":1,"LEVEL":2,"TYPE":"Dependency","TLC":"1","ADMIN":"New Caledonia","ADM0_A3":"NCL","GEOU_DIF":0,"GEOUNIT":"New Caledonia","GU_A3":"NCL","SU_DIF":0,"SUBUNIT":"New Caledonia","SU_A3":"NCL","BRK_DIFF":0,"NAME":"New Caledonia","NAME_LONG":"New Caledonia","BRK_A3":"NCL","BRK_NAME":"New Caledonia","BRK_GROUP":null,"ABBREV":"New C.","POSTAL":"NC","FORMAL_EN":"New Caledonia","FORMAL_FR":"Nouvelle-Calédonie","NAME_CIAWF":"New Caledonia","NOTE_ADM0":"Fr.","NOTE_BRK":null,"NAME_SORT":"New Caledonia","NAME_ALT":null,"MAPCOLOR7":7,"MAPCOLOR8":5,"MAPCOLOR9":9,"MAPCOLOR13":11,"POP_EST":287800,"POP_RANK":10,"POP_YEAR":2019,"GDP_MD":10770,"GDP_YEAR":2016,"ECONOMY":"6. Developing region","INCOME_GRP":"2. High income: nonOECD","FIPS_10":"NC","ISO_A2":"NC","ISO_A2_EH":"NC","ISO_A3":"NCL","ISO_A3_EH":"NCL","ISO_N3":"540","ISO_N3_EH":"540","UN_A3":"540","WB_A2":"NC","WB_A3":"NCL","WOE_ID":23424903,"WOE_ID_EH":23424903,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"NCL","ADM0_DIFF":null,"ADM0_TLC":"NCL","ADM0_A3_US":"NCL","ADM0_A3_FR":"NCL","ADM0_A3_RU":"NCL","ADM0_A3_ES":"NCL","ADM0_A3_CN":"NCL","ADM0_A3_TW":"NCL","ADM0_A3_IN":"NCL","ADM0_A3_NP":"NCL","ADM0_A3_PK":"NCL","ADM0_A3_DE":"NCL","ADM0_A3_GB":"NCL","ADM0_A3_BR":"NCL","ADM0_A3_IL":"NCL","ADM0_A3_PS":"NCL","ADM0_A3_SA":"NCL","ADM0_A3_EG":"NCL","ADM0_A3_MA":"NCL","ADM0_A3_PT":"NCL","ADM0_A3_AR":"NCL","ADM0_A3_JP":"NCL","ADM0_A3_KO":"NCL","ADM0_A3_VN":"NCL","ADM0_A3_TR":"NCL","ADM0_A3_ID":"NCL","ADM0_A3_PL":"NCL","ADM0_A3_GR":"NCL","ADM0_A3_IT":"NCL","ADM0_A3_NL":"NCL","ADM0_A3_SE":"NCL","ADM0_A3_BD":"NCL","ADM0_A3_UA":"NCL","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Oceania","REGION_UN":"Oceania","SUBREGION":"Melanesia","REGION_WB":"East Asia & Pacific","NAME_LEN":13,"LONG_LEN":13,"ABBREV_LEN":6,"TINY":-99,"HOMEPART":-99,"MIN_ZOOM":0,"MIN_LABEL":4.6,"MAX_LABEL":8,"LABEL_X":165.084004,"LABEL_Y":-21.064697,"NE_ID":1159320641,"WIKIDATAID":"Q33788","NAME_AR":"كاليدونيا الجديدة","NAME_BN":"নতুন ক্যালিডোনিয়া","NAME_DE":"Neukaledonien","NAME_EN":"New Caledonia","NAME_ES":"Nueva Caledonia","NAME_FA":"کالدونیای جدید","NAME_FR":"Nouvelle-Calédonie","NAME_EL":"Νέα Καληδονία","NAME_HE":"קלדוניה החדשה","NAME_HI":"नया कैलेडोनिया","NAME_HU":"Új-Kaledónia","NAME_ID":"Kaledonia Baru","NAME_IT":"Nuova Caledonia","NAME_JA":"ニューカレドニア","NAME_KO":"누벨칼레도니","NAME_NL":"Nieuw-Caledonië","NAME_PL":"Nowa Kaledonia","NAME_PT":"Nova Caledónia","NAME_RU":"Новая Каледония","NAME_SV":"Nya Kaledonien","NAME_TR":"Yeni Kaledonya","NAME_UK":"Нова Каледонія","NAME_UR":"نیو کیلیڈونیا","NAME_VI":"Nouvelle-Calédonie","NAME_ZH":"新喀里多尼亚","NAME_ZHT":"新喀里多尼亞","FCLASS_ISO":"Admin-0 dependency","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 dependency","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[159.928223,-22.661133,168.139063,-19.114648],"geometry":{"type":"MultiPolygon","coordinates":[[[[164.202344,-20.246094],[164.315137,-20.308887],[164.435938,-20.282227],[164.588086,-20.381152],[164.975684,-20.681055],[165.111914,-20.744531],[165.191797,-20.768848],[165.252344,-20.817969],[165.306641,-20.887012],[165.380566,-20.93584],[165.4125,-20.981348],[165.420508,-21.042773],[165.447168,-21.080566],[165.582422,-21.17998],[165.662793,-21.267188],[165.774609,-21.311719],[165.822852,-21.36377],[165.885352,-21.38916],[165.949512,-21.442383],[166.057813,-21.483887],[166.30332,-21.637207],[166.492969,-21.782813],[166.5875,-21.872852],[166.689648,-21.953027],[166.820117,-22.016992],[166.942383,-22.090137],[167.004297,-22.261523],[166.970313,-22.322852],[166.9,-22.35332],[166.834961,-22.355469],[166.774121,-22.376172],[166.570605,-22.265527],[166.522168,-22.249219],[166.467969,-22.256055],[166.437695,-22.231543],[166.416406,-22.196191],[166.292285,-22.155078],[166.17666,-22.08916],[166.143164,-22.044434],[166.12373,-21.98877],[166.096094,-21.956641],[165.933008,-21.908008],[165.823438,-21.853809],[165.743848,-21.777344],[165.620215,-21.724219],[165.427637,-21.615039],[165.328613,-21.580078],[165.241992,-21.525488],[165.010156,-21.326855],[164.927441,-21.289844],[164.855273,-21.201563],[164.655664,-20.99209],[164.559473,-20.905859],[164.454688,-20.829102],[164.374512,-20.739258],[164.312891,-20.632715],[164.169727,-20.480176],[164.152148,-20.414941],[164.158105,-20.347949],[164.123633,-20.304883],[164.065039,-20.278613],[164.037305,-20.233594],[164.040527,-20.172852],[164.059668,-20.141504],[164.202344,-20.246094]]],[[[167.544434,-22.623242],[167.512695,-22.661133],[167.473438,-22.65332],[167.44375,-22.63916],[167.42207,-22.618555],[167.443457,-22.541406],[167.529492,-22.579199],[167.544434,-22.623242]]],[[[159.951758,-19.311719],[159.936426,-19.333105],[159.928223,-19.174316],[159.959863,-19.114648],[159.975098,-19.238281],[159.951758,-19.311719]]],[[[168.010938,-21.42998],[168.05791,-21.448438],[168.139063,-21.445215],[168.120703,-21.61582],[168.006445,-21.643164],[167.966797,-21.641602],[167.941309,-21.605762],[167.875879,-21.582129],[167.879102,-21.523633],[167.81543,-21.392676],[167.925977,-21.372852],[167.988477,-21.337891],[167.984961,-21.369727],[167.994629,-21.406934],[168.010938,-21.42998]]],[[[166.546777,-20.69873],[166.493555,-20.708594],[166.557813,-20.61709],[166.559668,-20.561133],[166.585449,-20.450488],[166.58252,-20.413379],[166.624707,-20.418262],[166.670801,-20.450195],[166.617871,-20.477539],[166.600293,-20.525391],[166.602148,-20.585352],[166.622559,-20.596289],[166.588867,-20.661914],[166.546777,-20.69873]]],[[[167.400879,-21.160645],[167.346191,-21.16875],[167.273242,-21.096777],[167.133887,-21.060645],[167.072656,-20.997266],[167.032715,-20.922559],[167.111719,-20.904102],[167.189453,-20.803516],[167.136426,-20.766113],[167.04502,-20.759473],[167.055762,-20.720215],[167.204004,-20.673535],[167.268945,-20.700586],[167.297949,-20.73252],[167.293457,-20.891504],[167.36084,-20.94209],[167.430566,-21.055273],[167.430273,-21.087012],[167.400879,-21.160645]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":3,"LABELRANK":6,"SOVEREIGNT":"France","SOV_A3":"FR1","ADM0_DIF":1,"LEVEL":2,"TYPE":"Dependency","TLC":"1","ADMIN":"French Southern and Antarctic Lands","ADM0_A3":"ATF","GEOU_DIF":0,"GEOUNIT":"French Southern and Antarctic Lands","GU_A3":"ATF","SU_DIF":0,"SUBUNIT":"French Southern and Antarctic Lands","SU_A3":"ATF","BRK_DIFF":0,"NAME":"Fr. S. Antarctic Lands","NAME_LONG":"French Southern and Antarctic Lands","BRK_A3":"ATF","BRK_NAME":"Fr. S. and Antarctic Lands","BRK_GROUP":null,"ABBREV":"Fr. S.A.L.","POSTAL":"TF","FORMAL_EN":"Territory of the French Southern and Antarctic Lands","FORMAL_FR":null,"NAME_CIAWF":null,"NOTE_ADM0":"Fr.","NOTE_BRK":null,"NAME_SORT":"French Southern and Antarctic Lands","NAME_ALT":null,"MAPCOLOR7":7,"MAPCOLOR8":5,"MAPCOLOR9":9,"MAPCOLOR13":11,"POP_EST":140,"POP_RANK":1,"POP_YEAR":2017,"GDP_MD":16,"GDP_YEAR":2016,"ECONOMY":"6. Developing region","INCOME_GRP":"2. High income: nonOECD","FIPS_10":"FS","ISO_A2":"TF","ISO_A2_EH":"TF","ISO_A3":"ATF","ISO_A3_EH":"ATF","ISO_N3":"260","ISO_N3_EH":"260","UN_A3":"260","WB_A2":"-99","WB_A3":"-99","WOE_ID":28289406,"WOE_ID_EH":28289406,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"ATF","ADM0_DIFF":null,"ADM0_TLC":"ATF","ADM0_A3_US":"ATF","ADM0_A3_FR":"ATF","ADM0_A3_RU":"ATF","ADM0_A3_ES":"ATF","ADM0_A3_CN":"ATF","ADM0_A3_TW":"ATF","ADM0_A3_IN":"ATF","ADM0_A3_NP":"ATF","ADM0_A3_PK":"ATF","ADM0_A3_DE":"ATF","ADM0_A3_GB":"ATF","ADM0_A3_BR":"ATF","ADM0_A3_IL":"ATF","ADM0_A3_PS":"ATF","ADM0_A3_SA":"ATF","ADM0_A3_EG":"ATF","ADM0_A3_MA":"ATF","ADM0_A3_PT":"ATF","ADM0_A3_AR":"ATF","ADM0_A3_JP":"ATF","ADM0_A3_KO":"ATF","ADM0_A3_VN":"ATF","ADM0_A3_TR":"ATF","ADM0_A3_ID":"ATF","ADM0_A3_PL":"ATF","ADM0_A3_GR":"ATF","ADM0_A3_IT":"ATF","ADM0_A3_NL":"ATF","ADM0_A3_SE":"ATF","ADM0_A3_BD":"ATF","ADM0_A3_UA":"ATF","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Seven seas (open ocean)","REGION_UN":"Africa","SUBREGION":"Seven seas (open ocean)","REGION_WB":"Sub-Saharan Africa","NAME_LEN":22,"LONG_LEN":35,"ABBREV_LEN":10,"TINY":2,"HOMEPART":-99,"MIN_ZOOM":0,"MIN_LABEL":4,"MAX_LABEL":9,"LABEL_X":69.122136,"LABEL_Y":-49.303721,"NE_ID":1159320631,"WIKIDATAID":"Q129003","NAME_AR":"أراض فرنسية جنوبية وأنتارتيكية","NAME_BN":"ফ্র. এস. অ্যান্ড অ্যান্টার্কটিক ল্যান্ড","NAME_DE":"Französische Süd- und Antarktisgebiete","NAME_EN":"French Southern and Antarctic Lands","NAME_ES":"Tierras Australes y Antárticas Francesas","NAME_FA":"سرزمینهای جنوبی و جنوبگانی فرانسه","NAME_FR":"Terres australes et antarctiques françaises","NAME_EL":"Γαλλικά Νότια και Ανταρκτικά Εδάφη","NAME_HE":"הארצות הדרומיות והאנטארקטיות של צרפת","NAME_HI":"दक्षिण फ्रांसीसी और अंटार्कटिक लैंड","NAME_HU":"Francia déli és antarktiszi területek","NAME_ID":"Daratan Selatan dan Antarktika Perancis","NAME_IT":"Terre australi e antartiche francesi","NAME_JA":"フランス領南方・南極地域","NAME_KO":"프랑스령 남방 및 남극","NAME_NL":"Franse Zuidelijke Gebieden","NAME_PL":"Francuskie Terytoria Południowe i Antarktyczne","NAME_PT":"Terras Austrais e Antárticas Francesas","NAME_RU":"Французские Южные и Антарктические территории","NAME_SV":"Franska sydterritorierna","NAME_TR":"Fransız Güney ve Antarktika Toprakları","NAME_UK":"Французькі Південні і Антарктичні території","NAME_UR":"سرزمین جنوبی فرانسیسیہ و انٹارکٹیکا","NAME_VI":"Vùng đất phía Nam và châu Nam Cực thuộc Pháp","NAME_ZH":"法属南部和南极领地","NAME_ZHT":"法屬南部和南極領地","FCLASS_ISO":"Admin-0 dependency","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 dependency","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[51.659277,-49.709863,70.555469,-46.326855],"geometry":{"type":"MultiPolygon","coordinates":[[[[69.184863,-49.10957],[69.265137,-49.11543],[69.314258,-49.10625],[69.534961,-48.974316],[69.592773,-48.970996],[69.587305,-49.071973],[69.644043,-49.117383],[69.572266,-49.129004],[69.43623,-49.124023],[69.405078,-49.181738],[69.542383,-49.255664],[69.610742,-49.26582],[69.666602,-49.264941],[69.770703,-49.248145],[69.854395,-49.221582],[69.983984,-49.159863],[70.061328,-49.136035],[70.208398,-49.134961],[70.284961,-49.076465],[70.320215,-49.058594],[70.40625,-49.061133],[70.484277,-49.083887],[70.530859,-49.136914],[70.555469,-49.201465],[70.536816,-49.265527],[70.485059,-49.327637],[70.389844,-49.365625],[70.411426,-49.410938],[70.386133,-49.433984],[70.338379,-49.435254],[70.297656,-49.424805],[70.237793,-49.371582],[70.16582,-49.342969],[69.993164,-49.344922],[69.915625,-49.348535],[69.902148,-49.389258],[69.861133,-49.420508],[69.818359,-49.437695],[69.759961,-49.430176],[69.749219,-49.447559],[69.780273,-49.490137],[69.855957,-49.544043],[69.986426,-49.581641],[70.062891,-49.589355],[70.073438,-49.517773],[70.16582,-49.509375],[70.247754,-49.530664],[70.307129,-49.583496],[70.258789,-49.600781],[70.216211,-49.628809],[70.207422,-49.665039],[70.124316,-49.704395],[70.075098,-49.708594],[69.918945,-49.689355],[69.826074,-49.644922],[69.803906,-49.613574],[69.74668,-49.601758],[69.682031,-49.642188],[69.612891,-49.650977],[69.477637,-49.617383],[69.352734,-49.563184],[69.274609,-49.542773],[69.153125,-49.529687],[69.085938,-49.65293],[68.992969,-49.70498],[68.872656,-49.709863],[68.814746,-49.699609],[68.782813,-49.65127],[68.791211,-49.599609],[68.810547,-49.550195],[68.84834,-49.499609],[68.87207,-49.444336],[68.861914,-49.392188],[68.818457,-49.353906],[68.841406,-49.285352],[68.798828,-49.231641],[68.813574,-49.19209],[68.883398,-49.164941],[68.853809,-49.141309],[68.816699,-49.135059],[68.790137,-49.103711],[68.769531,-49.065918],[68.796582,-48.994727],[68.836914,-48.926172],[68.832031,-48.84873],[68.900293,-48.775586],[68.958691,-48.693848],[69.002441,-48.66123],[69.057227,-48.656445],[69.08125,-48.679297],[69.093066,-48.723926],[69.071582,-48.752832],[69.122754,-48.766016],[69.136133,-48.861035],[69.104102,-48.899902],[69.099414,-48.937598],[69.032715,-49.017578],[69.052148,-49.081934],[69.184863,-49.10957]]],[[[69.282422,-49.058887],[69.220605,-49.066797],[69.201563,-49.034277],[69.203906,-48.991211],[69.169531,-48.957031],[69.150098,-48.919043],[69.167188,-48.88291],[69.266406,-48.878809],[69.36875,-48.89043],[69.394727,-48.951172],[69.321191,-49.034277],[69.282422,-49.058887]]],[[[51.83457,-46.439941],[51.761719,-46.44873],[51.696582,-46.428125],[51.659277,-46.373633],[51.741895,-46.326855],[51.78418,-46.358887],[51.81543,-46.394727],[51.83457,-46.439941]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":3,"LABELRANK":6,"SOVEREIGNT":"Finland","SOV_A3":"FI1","ADM0_DIF":1,"LEVEL":2,"TYPE":"Country","TLC":"1","ADMIN":"Aland","ADM0_A3":"ALD","GEOU_DIF":0,"GEOUNIT":"Aland","GU_A3":"ALD","SU_DIF":0,"SUBUNIT":"Aland","SU_A3":"ALD","BRK_DIFF":0,"NAME":"Åland","NAME_LONG":"Åland Islands","BRK_A3":"ALD","BRK_NAME":"Åland","BRK_GROUP":null,"ABBREV":"Åland","POSTAL":"AI","FORMAL_EN":"Åland Islands","FORMAL_FR":null,"NAME_CIAWF":null,"NOTE_ADM0":"Fin.","NOTE_BRK":null,"NAME_SORT":"Aland","NAME_ALT":null,"MAPCOLOR7":4,"MAPCOLOR8":1,"MAPCOLOR9":4,"MAPCOLOR13":6,"POP_EST":29884,"POP_RANK":7,"POP_YEAR":2019,"GDP_MD":1563,"GDP_YEAR":2016,"ECONOMY":"2. Developed region: nonG7","INCOME_GRP":"1. High income: OECD","FIPS_10":"-99","ISO_A2":"AX","ISO_A2_EH":"AX","ISO_A3":"ALA","ISO_A3_EH":"ALA","ISO_N3":"248","ISO_N3_EH":"248","UN_A3":"248","WB_A2":"-99","WB_A3":"-99","WOE_ID":12577865,"WOE_ID_EH":12577865,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"ALD","ADM0_DIFF":null,"ADM0_TLC":"ALD","ADM0_A3_US":"ALD","ADM0_A3_FR":"ALD","ADM0_A3_RU":"ALD","ADM0_A3_ES":"ALD","ADM0_A3_CN":"ALD","ADM0_A3_TW":"ALD","ADM0_A3_IN":"ALD","ADM0_A3_NP":"ALD","ADM0_A3_PK":"ALD","ADM0_A3_DE":"ALD","ADM0_A3_GB":"ALD","ADM0_A3_BR":"ALD","ADM0_A3_IL":"ALD","ADM0_A3_PS":"ALD","ADM0_A3_SA":"ALD","ADM0_A3_EG":"ALD","ADM0_A3_MA":"ALD","ADM0_A3_PT":"ALD","ADM0_A3_AR":"ALD","ADM0_A3_JP":"ALD","ADM0_A3_KO":"ALD","ADM0_A3_VN":"ALD","ADM0_A3_TR":"ALD","ADM0_A3_ID":"ALD","ADM0_A3_PL":"ALD","ADM0_A3_GR":"ALD","ADM0_A3_IT":"ALD","ADM0_A3_NL":"ALD","ADM0_A3_SE":"ALD","ADM0_A3_BD":"ALD","ADM0_A3_UA":"ALD","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Europe","REGION_UN":"Europe","SUBREGION":"Northern Europe","REGION_WB":"Europe & Central Asia","NAME_LEN":5,"LONG_LEN":13,"ABBREV_LEN":5,"TINY":5,"HOMEPART":-99,"MIN_ZOOM":0,"MIN_LABEL":5,"MAX_LABEL":10,"LABEL_X":19.869671,"LABEL_Y":60.156467,"NE_ID":1159320621,"WIKIDATAID":"Q5689","NAME_AR":"جزر أولاند","NAME_BN":"অলান্দ দ্বীপপুঞ্জ","NAME_DE":"Åland","NAME_EN":"Åland","NAME_ES":"Åland","NAME_FA":"جزایر الند","NAME_FR":"Åland","NAME_EL":"Ώλαντ","NAME_HE":"אולנד","NAME_HI":"ऑलैण्ड द्वीपसमूह","NAME_HU":"Åland","NAME_ID":"Åland","NAME_IT":"Isole Åland","NAME_JA":"オーランド諸島","NAME_KO":"올란드 제도","NAME_NL":"Åland","NAME_PL":"Wyspy Alandzkie","NAME_PT":"Åland","NAME_RU":"Аландские острова","NAME_SV":"Åland","NAME_TR":"Åland","NAME_UK":"Аландські острови","NAME_UR":"جزائر ایلانڈ","NAME_VI":"Åland","NAME_ZH":"奥兰","NAME_ZHT":"奧蘭","FCLASS_ISO":"Admin-0 dependency","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 dependency","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":"Unrecognized","FCLASS_ES":null,"FCLASS_CN":"Unrecognized","FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[19.519043,60.01167,20.611328,60.405811],"geometry":{"type":"MultiPolygon","coordinates":[[[[19.989551,60.351172],[20.020215,60.350879],[20.033887,60.359326],[20.087402,60.353418],[20.167871,60.314697],[20.184082,60.29375],[20.239551,60.283008],[20.258887,60.261279],[20.194727,60.193555],[20.155078,60.192285],[20.125488,60.200879],[20.073242,60.193457],[20.042578,60.180664],[20.032324,60.15249],[20.033984,60.093555],[19.799805,60.081738],[19.745996,60.098975],[19.672266,60.233008],[19.686914,60.267627],[19.736523,60.282373],[19.779004,60.285547],[19.785254,60.213379],[19.847656,60.220557],[19.867188,60.268115],[19.871582,60.301611],[19.854688,60.318506],[19.812305,60.331592],[19.787793,60.354053],[19.823047,60.390186],[19.888281,60.405811],[19.944531,60.35752],[19.989551,60.351172]]],[[[19.662305,60.187158],[19.66748,60.164746],[19.629199,60.170361],[19.599805,60.162695],[19.579883,60.135059],[19.536523,60.144971],[19.519043,60.18457],[19.551367,60.243848],[19.628809,60.246094],[19.662305,60.187158]]],[[[20.611328,60.040674],[20.603418,60.016943],[20.521777,60.01167],[20.4875,60.032764],[20.41123,60.030127],[20.397949,60.040674],[20.42959,60.061719],[20.490137,60.074902],[20.569141,60.069629],[20.611328,60.040674]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":3,"SOVEREIGNT":"Finland","SOV_A3":"FI1","ADM0_DIF":1,"LEVEL":2,"TYPE":"Country","TLC":"1","ADMIN":"Finland","ADM0_A3":"FIN","GEOU_DIF":0,"GEOUNIT":"Finland","GU_A3":"FIN","SU_DIF":0,"SUBUNIT":"Finland","SU_A3":"FIN","BRK_DIFF":0,"NAME":"Finland","NAME_LONG":"Finland","BRK_A3":"FIN","BRK_NAME":"Finland","BRK_GROUP":null,"ABBREV":"Fin.","POSTAL":"FIN","FORMAL_EN":"Republic of Finland","FORMAL_FR":null,"NAME_CIAWF":"Finland","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Finland","NAME_ALT":null,"MAPCOLOR7":4,"MAPCOLOR8":1,"MAPCOLOR9":4,"MAPCOLOR13":6,"POP_EST":5520314,"POP_RANK":13,"POP_YEAR":2019,"GDP_MD":269296,"GDP_YEAR":2019,"ECONOMY":"2. Developed region: nonG7","INCOME_GRP":"1. High income: OECD","FIPS_10":"FI","ISO_A2":"FI","ISO_A2_EH":"FI","ISO_A3":"FIN","ISO_A3_EH":"FIN","ISO_N3":"246","ISO_N3_EH":"246","UN_A3":"246","WB_A2":"FI","WB_A3":"FIN","WOE_ID":23424812,"WOE_ID_EH":23424812,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"FIN","ADM0_DIFF":null,"ADM0_TLC":"FIN","ADM0_A3_US":"FIN","ADM0_A3_FR":"FIN","ADM0_A3_RU":"FIN","ADM0_A3_ES":"FIN","ADM0_A3_CN":"FIN","ADM0_A3_TW":"FIN","ADM0_A3_IN":"FIN","ADM0_A3_NP":"FIN","ADM0_A3_PK":"FIN","ADM0_A3_DE":"FIN","ADM0_A3_GB":"FIN","ADM0_A3_BR":"FIN","ADM0_A3_IL":"FIN","ADM0_A3_PS":"FIN","ADM0_A3_SA":"FIN","ADM0_A3_EG":"FIN","ADM0_A3_MA":"FIN","ADM0_A3_PT":"FIN","ADM0_A3_AR":"FIN","ADM0_A3_JP":"FIN","ADM0_A3_KO":"FIN","ADM0_A3_VN":"FIN","ADM0_A3_TR":"FIN","ADM0_A3_ID":"FIN","ADM0_A3_PL":"FIN","ADM0_A3_GR":"FIN","ADM0_A3_IT":"FIN","ADM0_A3_NL":"FIN","ADM0_A3_SE":"FIN","ADM0_A3_BD":"FIN","ADM0_A3_UA":"FIN","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Europe","REGION_UN":"Europe","SUBREGION":"Northern Europe","REGION_WB":"Europe & Central Asia","NAME_LEN":7,"LONG_LEN":7,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":3,"MAX_LABEL":8,"LABEL_X":27.276449,"LABEL_Y":63.252361,"NE_ID":1159320623,"WIKIDATAID":"Q33","NAME_AR":"فنلندا","NAME_BN":"ফিনল্যান্ড","NAME_DE":"Finnland","NAME_EN":"Finland","NAME_ES":"Finlandia","NAME_FA":"فنلاند","NAME_FR":"Finlande","NAME_EL":"Φινλανδία","NAME_HE":"פינלנד","NAME_HI":"फ़िनलैण्ड","NAME_HU":"Finnország","NAME_ID":"Finlandia","NAME_IT":"Finlandia","NAME_JA":"フィンランド","NAME_KO":"핀란드","NAME_NL":"Finland","NAME_PL":"Finlandia","NAME_PT":"Finlândia","NAME_RU":"Финляндия","NAME_SV":"Finland","NAME_TR":"Finlandiya","NAME_UK":"Фінляндія","NAME_UR":"فن لینڈ","NAME_VI":"Phần Lan","NAME_ZH":"芬兰","NAME_ZHT":"芬蘭","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[20.622168,59.816016,31.536523,70.064844],"geometry":{"type":"MultiPolygon","coordinates":[[[[24.155469,65.805273],[24.049023,65.989844],[23.994629,66.060352],[23.907324,66.148242],[23.751465,66.191162],[23.720996,66.21543],[23.700293,66.252637],[23.693555,66.304297],[23.673828,66.380713],[23.682031,66.443408],[23.701172,66.480762],[23.768359,66.505859],[23.865527,66.576611],[23.88584,66.628027],[23.894141,66.706885],[23.938867,66.775732],[23.988574,66.810547],[23.976074,66.838232],[23.941797,66.877832],[23.869336,66.934033],[23.758984,67.002588],[23.677344,67.068115],[23.641504,67.129395],[23.623047,67.184131],[23.626074,67.233936],[23.656641,67.267822],[23.760938,67.310498],[23.774902,67.328613],[23.733594,67.4229],[23.66084,67.440039],[23.537109,67.44917],[23.468066,67.449951],[23.454883,67.460254],[23.451465,67.479199],[23.46543,67.517871],[23.504492,67.562158],[23.537012,67.590381],[23.541309,67.614307],[23.500195,67.696191],[23.487793,67.796582],[23.501855,67.875195],[23.63291,67.933203],[23.638867,67.954395],[23.474219,68.017334],[23.355469,68.088672],[23.318555,68.130322],[23.18252,68.136621],[23.097852,68.257568],[22.975391,68.316455],[22.854102,68.367334],[22.782422,68.391016],[22.362109,68.464062],[22.195117,68.477979],[21.997461,68.520605],[21.850195,68.574121],[21.724023,68.608545],[21.616016,68.650977],[21.46543,68.690674],[21.422363,68.724609],[21.259766,68.787451],[21.183398,68.828809],[20.918555,68.906934],[20.908984,68.937744],[20.907031,68.96748],[20.895117,68.979834],[20.622168,69.036865],[20.675879,69.069482],[20.889258,69.071436],[21.065723,69.041748],[21.104492,69.054443],[21.127832,69.080811],[21.052637,69.186572],[21.066113,69.214111],[21.14375,69.247266],[21.266797,69.273682],[21.46123,69.27749],[21.59375,69.273584],[21.621777,69.270703],[21.819727,69.154492],[21.989453,69.041113],[22.079688,68.992773],[22.300391,68.855859],[22.38291,68.776611],[22.410938,68.719873],[22.500684,68.720215],[22.811035,68.695312],[23.07168,68.674365],[23.144336,68.642578],[23.324023,68.648975],[23.4625,68.677637],[23.707031,68.713867],[23.772559,68.758398],[23.854004,68.805908],[23.997363,68.798438],[24.154102,68.760889],[24.332031,68.711523],[24.490527,68.688672],[24.703223,68.652832],[24.802441,68.606494],[24.941406,68.593262],[25.086914,68.6396],[25.172852,68.765283],[25.249121,68.821338],[25.357129,68.862451],[25.480859,68.880615],[25.575293,68.887158],[25.64668,68.919141],[25.74834,68.990137],[25.768164,69.076123],[25.748633,69.231445],[25.767188,69.282666],[25.850195,69.366504],[25.961523,69.588623],[26.011523,69.652637],[26.072461,69.691553],[26.156152,69.714697],[26.308203,69.781934],[26.525391,69.915039],[26.584277,69.926318],[26.740234,69.933057],[26.934277,69.928125],[27.108691,69.904687],[27.127539,69.906494],[27.205664,69.918701],[27.348047,69.960059],[27.591699,70.042236],[27.747852,70.064844],[27.889941,70.06167],[28.047266,69.97168],[28.269141,69.871436],[28.411719,69.822754],[28.800391,69.731494],[29.141602,69.671436],[29.333398,69.472998],[29.238867,69.393945],[29.191797,69.366699],[29.024902,69.287988],[28.846289,69.176904],[28.832617,69.118994],[28.891895,69.060596],[28.96582,69.021973],[28.898926,69.009668],[28.692188,68.961035],[28.566016,68.928223],[28.414062,68.90415],[28.453516,68.872266],[28.705957,68.865527],[28.744824,68.856445],[28.772852,68.840039],[28.777637,68.813818],[28.752051,68.771436],[28.479297,68.537646],[28.470703,68.488379],[28.560156,68.351367],[28.685156,68.189795],[29.062988,68.117969],[29.343848,68.061865],[29.524219,67.929102],[29.821582,67.754004],[29.979199,67.688574],[29.988086,67.668262],[29.941211,67.547461],[29.750586,67.426416],[29.572266,67.324365],[29.387695,67.201416],[29.243359,67.096582],[29.087012,66.970947],[29.069043,66.930225],[29.066211,66.891748],[29.093066,66.849219],[29.293262,66.695508],[29.371191,66.617041],[29.464355,66.532178],[29.544336,66.439697],[29.590723,66.356836],[29.670898,66.276123],[29.720703,66.234863],[29.803516,66.177051],[29.903418,66.091064],[29.936621,66.022949],[30.0875,65.786523],[30.102734,65.72627],[30.095313,65.681689],[30.029004,65.670703],[29.882617,65.663623],[29.723926,65.634375],[29.715918,65.624561],[29.819434,65.56875],[29.728027,65.473438],[29.714844,65.336963],[29.617188,65.265332],[29.608008,65.248682],[29.612402,65.234766],[29.629688,65.223877],[29.810547,65.204736],[29.826172,65.185303],[29.826953,65.145068],[29.81084,65.10791],[29.72002,65.080322],[29.622461,65.039502],[29.600879,65.001953],[29.604199,64.968408],[29.6375,64.911768],[29.70166,64.845752],[29.783203,64.804297],[30.072852,64.765039],[30.110254,64.732568],[30.126172,64.688086],[30.120117,64.644629],[29.985547,64.557715],[29.986621,64.524268],[30.041895,64.443359],[30.108105,64.366113],[30.390625,64.282422],[30.487891,64.236523],[30.51377,64.2],[30.52793,64.141113],[30.526074,64.077295],[30.503906,64.020605],[30.415332,63.94751],[30.210254,63.80332],[30.004102,63.747314],[29.991504,63.735156],[30.055371,63.689014],[30.418555,63.504053],[30.655273,63.41748],[30.974805,63.300635],[31.180859,63.208301],[31.247461,63.141895],[31.336719,63.068066],[31.437012,63.007715],[31.509277,62.955322],[31.536523,62.921631],[31.533984,62.8854],[31.437305,62.776123],[31.382422,62.69165],[31.285645,62.567822],[31.186719,62.481396],[30.935742,62.323779],[30.565625,62.127588],[30.479688,62.068213],[30.306445,61.964844],[30.009961,61.757373],[29.933203,61.711572],[29.690137,61.546094],[29.579395,61.493457],[29.492383,61.444238],[29.25166,61.287793],[28.992969,61.169043],[28.739063,61.05874],[28.662891,61.002832],[28.568164,60.960205],[28.455078,60.919629],[28.407422,60.896924],[28.151953,60.74585],[27.797656,60.536133],[27.761621,60.532861],[27.669336,60.498975],[27.525098,60.490771],[27.462402,60.464844],[27.241895,60.538672],[27.205273,60.543457],[27.075586,60.525146],[26.951172,60.471484],[26.721484,60.455078],[26.607422,60.437695],[26.534668,60.412891],[26.519727,60.471582],[26.551172,60.545996],[26.601758,60.595605],[26.606445,60.62793],[26.569336,60.624561],[26.495801,60.551807],[26.456445,60.466797],[26.377734,60.424072],[26.204688,60.406592],[26.036035,60.474902],[25.955957,60.474219],[26.00625,60.425293],[26.040234,60.371582],[26.03584,60.341504],[25.945898,60.346777],[25.845801,60.3146],[25.758008,60.267529],[25.71543,60.267432],[25.656445,60.333203],[25.548242,60.30249],[25.455762,60.26123],[25.267871,60.24834],[25.155859,60.194092],[24.957617,60.157471],[24.84873,60.15835],[24.600488,60.114258],[24.517969,60.046289],[24.445605,60.021289],[24.342578,60.042334],[24.025195,60.00918],[23.721777,59.965674],[23.592676,59.968164],[23.463574,59.98623],[23.326758,59.925781],[23.181445,59.844922],[23.021289,59.816016],[22.963867,59.826367],[23.009766,59.868799],[23.115723,59.912695],[23.188477,59.972217],[23.198438,60.021826],[23.148438,60.041309],[23.080176,60.047266],[22.994141,60.098535],[22.911719,60.209717],[22.86709,60.21582],[22.844434,60.186621],[22.819141,60.101367],[22.793457,60.076807],[22.749805,60.057275],[22.697363,60.037598],[22.646191,60.028027],[22.462695,60.029199],[22.438574,60.072266],[22.438574,60.090283],[22.471094,60.146973],[22.442676,60.156885],[22.469727,60.201318],[22.512988,60.198926],[22.564258,60.205518],[22.589941,60.228369],[22.587988,60.255664],[22.516699,60.262744],[22.512305,60.281348],[22.575879,60.359082],[22.584961,60.380566],[22.560352,60.38501],[22.520508,60.376562],[22.25791,60.400928],[21.933984,60.500293],[21.854297,60.50542],[21.805273,60.594141],[21.727148,60.58291],[21.613281,60.530957],[21.527832,60.57041],[21.436035,60.596387],[21.410645,60.636963],[21.411914,60.696826],[21.404004,60.767432],[21.378906,60.850049],[21.360547,60.96748],[21.377734,61.059229],[21.450977,61.127148],[21.479102,61.170508],[21.513477,61.281201],[21.521191,61.41084],[21.501758,61.45498],[21.506641,61.484326],[21.565039,61.484326],[21.552344,61.509521],[21.52666,61.523291],[21.498242,61.551953],[21.522461,61.567139],[21.592383,61.568213],[21.598047,61.577881],[21.605957,61.591553],[21.551855,61.666846],[21.545605,61.702734],[21.470508,61.81167],[21.384863,61.914941],[21.255957,61.989648],[21.30166,62.112646],[21.353711,62.223828],[21.343359,62.277393],[21.323438,62.342578],[21.165625,62.414062],[21.142188,62.514795],[21.103613,62.622949],[21.118164,62.689258],[21.143848,62.73999],[21.195703,62.790527],[21.45752,62.95],[21.473535,63.033252],[21.650977,63.039307],[21.568652,63.113721],[21.549219,63.155518],[21.545117,63.204297],[21.800391,63.237695],[21.895703,63.210254],[22.120313,63.244141],[22.319727,63.310449],[22.316211,63.345654],[22.285547,63.377197],[22.243262,63.437939],[22.273242,63.454785],[22.345996,63.442383],[22.312598,63.472559],[22.318652,63.504395],[22.398047,63.491162],[22.527637,63.57998],[22.532324,63.647852],[22.75625,63.68335],[23.014453,63.821826],[23.133594,63.864941],[23.24873,63.896143],[23.493945,64.034473],[23.598926,64.040918],[23.65293,64.13418],[23.861426,64.258252],[23.924805,64.274121],[24.022266,64.385986],[24.27832,64.515283],[24.440625,64.680127],[24.530176,64.738672],[24.55791,64.801025],[24.657617,64.806299],[24.747559,64.8521],[24.942188,64.884033],[25.134277,64.875195],[25.214258,64.853467],[25.288184,64.860352],[25.280762,64.916406],[25.228027,64.951025],[25.271094,64.984277],[25.372656,65.009473],[25.362305,65.065137],[25.340234,65.098633],[25.255859,65.143262],[25.297852,65.243213],[25.30791,65.352734],[25.347852,65.479248],[25.241797,65.546289],[24.839355,65.660352],[24.764258,65.656396],[24.674902,65.670703],[24.581543,65.757129],[24.623242,65.831689],[24.628027,65.85918],[24.591602,65.85835],[24.532617,65.822021],[24.404297,65.780469],[24.2375,65.812354],[24.155469,65.805273]]],[[[21.994238,60.33667],[21.921484,60.332275],[21.818652,60.381836],[21.805664,60.401221],[21.845996,60.412451],[21.819336,60.452295],[21.827246,60.469922],[21.906836,60.438477],[21.950293,60.401709],[21.907813,60.393164],[21.979785,60.355225],[21.994238,60.33667]]],[[[21.217773,63.241309],[21.228516,63.222656],[21.287109,63.227783],[21.366016,63.261768],[21.421973,63.245898],[21.415625,63.197363],[21.377637,63.199219],[21.367188,63.207227],[21.318457,63.179492],[21.309766,63.162695],[21.253418,63.152002],[21.149316,63.199463],[21.083887,63.277539],[21.236328,63.277734],[21.221777,63.259131],[21.217773,63.241309]]],[[[22.175098,60.370752],[22.301758,60.347559],[22.35498,60.355859],[22.415527,60.303369],[22.312891,60.269971],[22.305762,60.228564],[22.346289,60.202832],[22.360547,60.165576],[22.258301,60.165625],[22.209375,60.196973],[22.188086,60.236768],[22.140527,60.264893],[22.077148,60.286328],[22.108203,60.314893],[22.125879,60.355859],[22.175098,60.370752]]],[[[21.450879,60.52959],[21.436914,60.483057],[21.369043,60.488232],[21.3,60.479785],[21.244336,60.525977],[21.214551,60.603857],[21.224707,60.620605],[21.268066,60.638281],[21.30127,60.595557],[21.450879,60.52959]]],[[[21.833203,60.140527],[21.733105,60.106152],[21.69502,60.114355],[21.704785,60.172314],[21.764258,60.198828],[21.864355,60.201807],[21.833203,60.140527]]],[[[21.62832,60.107812],[21.540625,60.0979],[21.486035,60.126807],[21.506738,60.14834],[21.567969,60.172314],[21.634082,60.168994],[21.648145,60.140869],[21.62832,60.107812]]],[[[24.848242,64.991016],[24.698926,64.957813],[24.578613,64.978564],[24.576563,65.042871],[24.651172,65.073975],[24.786035,65.086426],[24.970605,65.055322],[24.997559,65.038721],[24.891797,65.02627],[24.848242,64.991016]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":6,"SOVEREIGNT":"Fiji","SOV_A3":"FJI","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Fiji","ADM0_A3":"FJI","GEOU_DIF":0,"GEOUNIT":"Fiji","GU_A3":"FJI","SU_DIF":0,"SUBUNIT":"Fiji","SU_A3":"FJI","BRK_DIFF":0,"NAME":"Fiji","NAME_LONG":"Fiji","BRK_A3":"FJI","BRK_NAME":"Fiji","BRK_GROUP":null,"ABBREV":"Fiji","POSTAL":"FJ","FORMAL_EN":"Republic of Fiji","FORMAL_FR":null,"NAME_CIAWF":"Fiji","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Fiji","NAME_ALT":null,"MAPCOLOR7":5,"MAPCOLOR8":1,"MAPCOLOR9":2,"MAPCOLOR13":2,"POP_EST":889953,"POP_RANK":11,"POP_YEAR":2019,"GDP_MD":5496,"GDP_YEAR":2019,"ECONOMY":"6. Developing region","INCOME_GRP":"4. Lower middle income","FIPS_10":"FJ","ISO_A2":"FJ","ISO_A2_EH":"FJ","ISO_A3":"FJI","ISO_A3_EH":"FJI","ISO_N3":"242","ISO_N3_EH":"242","UN_A3":"242","WB_A2":"FJ","WB_A3":"FJI","WOE_ID":23424813,"WOE_ID_EH":23424813,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"FJI","ADM0_DIFF":null,"ADM0_TLC":"FJI","ADM0_A3_US":"FJI","ADM0_A3_FR":"FJI","ADM0_A3_RU":"FJI","ADM0_A3_ES":"FJI","ADM0_A3_CN":"FJI","ADM0_A3_TW":"FJI","ADM0_A3_IN":"FJI","ADM0_A3_NP":"FJI","ADM0_A3_PK":"FJI","ADM0_A3_DE":"FJI","ADM0_A3_GB":"FJI","ADM0_A3_BR":"FJI","ADM0_A3_IL":"FJI","ADM0_A3_PS":"FJI","ADM0_A3_SA":"FJI","ADM0_A3_EG":"FJI","ADM0_A3_MA":"FJI","ADM0_A3_PT":"FJI","ADM0_A3_AR":"FJI","ADM0_A3_JP":"FJI","ADM0_A3_KO":"FJI","ADM0_A3_VN":"FJI","ADM0_A3_TR":"FJI","ADM0_A3_ID":"FJI","ADM0_A3_PL":"FJI","ADM0_A3_GR":"FJI","ADM0_A3_IT":"FJI","ADM0_A3_NL":"FJI","ADM0_A3_SE":"FJI","ADM0_A3_BD":"FJI","ADM0_A3_UA":"FJI","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Oceania","REGION_UN":"Oceania","SUBREGION":"Melanesia","REGION_WB":"East Asia & Pacific","NAME_LEN":4,"LONG_LEN":4,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":3,"MAX_LABEL":8,"LABEL_X":177.975427,"LABEL_Y":-17.826099,"NE_ID":1159320625,"WIKIDATAID":"Q712","NAME_AR":"فيجي","NAME_BN":"ফিজি","NAME_DE":"Fidschi","NAME_EN":"Fiji","NAME_ES":"Fiyi","NAME_FA":"فیجی","NAME_FR":"Fidji","NAME_EL":"Φίτζι","NAME_HE":"פיג'י","NAME_HI":"फ़िजी","NAME_HU":"Fidzsi-szigetek","NAME_ID":"Fiji","NAME_IT":"Figi","NAME_JA":"フィジー","NAME_KO":"피지","NAME_NL":"Fiji","NAME_PL":"Fidżi","NAME_PT":"Fiji","NAME_RU":"Фиджи","NAME_SV":"Fiji","NAME_TR":"Fiji","NAME_UK":"Фіджі","NAME_UR":"فجی","NAME_VI":"Fiji","NAME_ZH":"斐济","NAME_ZHT":"斐濟","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[-180,-21.705859,180,-12.476953],"geometry":{"type":"MultiPolygon","coordinates":[[[[179.999219,-16.168555],[179.848242,-16.30166],[179.793848,-16.370313],[179.748145,-16.446289],[179.619141,-16.527734],[179.56416,-16.636914],[179.568164,-16.747461],[179.69707,-16.631934],[179.841016,-16.5375],[179.884961,-16.518457],[179.930371,-16.519434],[179.926563,-16.55166],[179.905957,-16.583594],[179.890039,-16.666992],[179.92793,-16.744434],[179.820801,-16.736914],[179.714746,-16.743555],[179.588965,-16.787012],[179.46543,-16.806055],[179.419336,-16.806543],[179.375,-16.791992],[179.345996,-16.769727],[179.32334,-16.718066],[179.300488,-16.710352],[179.202344,-16.712695],[179.055469,-16.813574],[179.006836,-16.900195],[178.950391,-16.904004],[178.883691,-16.886035],[178.80293,-16.952148],[178.706641,-16.976172],[178.665039,-16.92002],[178.638086,-16.85127],[178.603711,-16.800586],[178.497461,-16.787891],[178.51377,-16.726074],[178.541992,-16.700488],[178.567773,-16.663867],[178.583594,-16.621875],[178.634277,-16.648535],[178.686328,-16.665625],[178.744531,-16.63418],[178.805078,-16.631445],[178.865723,-16.540039],[178.960547,-16.482813],[179.091406,-16.4375],[179.224609,-16.405176],[179.293555,-16.398633],[179.35918,-16.379883],[179.475098,-16.294141],[179.551758,-16.249902],[179.635254,-16.223242],[179.715039,-16.207617],[179.788867,-16.221484],[179.848145,-16.214258],[180,-16.15293],[179.999219,-16.168555]]],[[[178.280176,-17.371973],[178.280176,-17.416211],[178.309473,-17.435352],[178.338574,-17.438477],[178.410938,-17.523047],[178.523242,-17.595801],[178.591602,-17.651465],[178.595703,-17.699023],[178.574902,-17.749316],[178.603809,-17.839355],[178.617871,-17.932813],[178.667676,-18.080859],[178.597363,-18.108984],[178.486719,-18.112305],[178.461133,-18.138965],[178.423438,-18.124219],[178.331543,-18.135254],[178.24375,-18.183984],[178.160156,-18.250195],[178.063965,-18.250391],[177.955469,-18.264063],[177.84707,-18.254883],[177.770801,-18.219531],[177.636426,-18.181055],[177.457324,-18.148242],[177.383203,-18.120703],[177.321387,-18.077539],[177.263477,-17.968652],[177.254883,-17.914941],[177.263965,-17.863477],[177.316309,-17.846094],[177.360156,-17.82002],[177.366406,-17.786035],[177.385742,-17.762305],[177.410938,-17.753711],[177.423242,-17.737305],[177.405566,-17.682129],[177.400684,-17.631641],[177.504492,-17.539551],[177.617969,-17.461035],[177.817969,-17.388477],[177.940234,-17.395117],[178.127637,-17.339258],[178.187598,-17.312988],[178.247168,-17.329102],[178.280176,-17.371973]]],[[[-179.974902,-16.924805],[-180,-16.962988],[-180,-16.907813],[-179.999951,-16.858789],[-180,-16.824316],[-180,-16.785547],[-179.893604,-16.700391],[-179.860986,-16.688281],[-179.822314,-16.765332],[-179.867773,-16.850293],[-179.974902,-16.924805]]],[[[180,-16.963086],[179.925879,-17.000293],[179.896973,-16.964063],[179.930957,-16.875977],[180,-16.785742],[179.999219,-16.858789],[180,-16.963086]]],[[[178.487891,-18.974121],[178.487695,-19.01709],[178.358984,-19.045605],[178.315625,-19.010156],[178.287988,-19.003711],[178.211328,-19.066504],[178.18916,-19.092285],[178.181836,-19.111719],[178.162109,-19.121484],[178.020801,-19.15166],[177.958691,-19.121582],[178.000781,-19.101074],[178.051953,-19.060156],[178.104102,-19.066211],[178.156641,-19.02793],[178.208398,-18.969629],[178.282227,-18.957031],[178.334277,-18.934473],[178.420313,-18.950781],[178.487891,-18.974121]]],[[[-178.988086,-17.97666],[-179.018408,-17.991797],[-179.039209,-17.988379],[-179.063818,-17.972363],[-179.079004,-17.944141],[-179.047607,-17.92041],[-178.999121,-17.947363],[-178.988086,-17.97666]]],[[[-178.761914,-18.233887],[-178.773633,-18.252441],[-178.827344,-18.222168],[-178.8479,-18.202051],[-178.790869,-18.186328],[-178.763086,-18.191406],[-178.761914,-18.233887]]],[[[-178.251123,-17.952734],[-178.306836,-17.963281],[-178.357227,-17.920898],[-178.325391,-17.875781],[-178.280322,-17.886426],[-178.25459,-17.92998],[-178.251123,-17.952734]]],[[[-178.956494,-17.272852],[-178.981836,-17.307031],[-179.003906,-17.294922],[-178.975537,-17.2375],[-178.971484,-17.212695],[-179.014941,-17.182422],[-179.017676,-17.161328],[-179.005029,-17.14834],[-178.952832,-17.182031],[-178.921143,-17.208398],[-178.914844,-17.223047],[-178.924561,-17.248633],[-178.956494,-17.272852]]],[[[-178.535107,-19.166016],[-178.546338,-19.175],[-178.57373,-19.164941],[-178.595947,-19.151367],[-178.598682,-19.137109],[-178.589307,-19.118848],[-178.567676,-19.109277],[-178.556689,-19.112988],[-178.562988,-19.11875],[-178.576172,-19.125195],[-178.574072,-19.143164],[-178.557129,-19.154102],[-178.540625,-19.157031],[-178.535107,-19.166016]]],[[[-179.799854,-18.940332],[-179.797607,-18.969824],[-179.812451,-18.968164],[-179.830225,-18.955566],[-179.839355,-18.961719],[-179.845508,-18.970801],[-179.848584,-18.991309],[-179.851221,-19.00293],[-179.865039,-18.99873],[-179.867334,-18.978418],[-179.862793,-18.96416],[-179.856201,-18.943262],[-179.831104,-18.924219],[-179.799854,-18.940332]]],[[[177.23418,-17.14707],[177.182813,-17.163867],[177.210156,-17.084277],[177.239258,-17.059375],[177.25752,-17.054199],[177.287402,-17.048633],[177.275781,-17.104883],[177.23418,-17.14707]]],[[[179.422363,-17.366797],[179.388965,-17.393848],[179.373145,-17.256152],[179.407617,-17.257324],[179.432813,-17.271582],[179.447168,-17.30625],[179.422363,-17.366797]]],[[[179.349316,-18.102344],[179.34043,-18.110449],[179.253516,-18.030566],[179.256445,-17.999023],[179.271777,-17.970703],[179.306445,-17.944043],[179.337891,-17.989551],[179.362402,-18.065234],[179.349316,-18.102344]]],[[[178.827539,-17.729004],[178.776074,-17.746777],[178.747656,-17.685742],[178.787109,-17.624414],[178.831055,-17.618848],[178.852539,-17.68125],[178.827539,-17.729004]]],[[[-179.929443,-16.502832],[-179.999951,-16.540039],[-179.999951,-16.488867],[-179.943652,-16.441406],[-179.900928,-16.431543],[-179.927344,-16.479102],[-179.929443,-16.502832]]],[[[-179.956152,-16.149219],[-180,-16.168262],[-180,-16.156055],[-180,-16.15293],[-179.969385,-16.126074],[-179.94458,-16.126074],[-179.956152,-16.149219]]],[[[180,-16.540039],[179.987207,-16.541211],[179.984668,-16.522168],[180,-16.488867],[180,-16.540039]]],[[[177.121484,-12.505469],[177.082422,-12.515625],[177.019336,-12.507324],[177.00625,-12.491113],[177.026367,-12.4875],[177.067578,-12.476953],[177.118066,-12.482324],[177.126953,-12.492871],[177.121484,-12.505469]]],[[[174.629688,-21.69502],[174.621875,-21.705859],[174.592969,-21.702344],[174.587207,-21.680078],[174.604199,-21.66748],[174.627734,-21.675977],[174.629688,-21.69502]]],[[[-178.711621,-20.667773],[-178.709521,-20.670508],[-178.714941,-20.670313],[-178.723096,-20.666797],[-178.729102,-20.660156],[-178.730566,-20.652832],[-178.727539,-20.645215],[-178.724561,-20.645703],[-178.719189,-20.652344],[-178.714209,-20.659766],[-178.711621,-20.667773]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":2,"SOVEREIGNT":"Ethiopia","SOV_A3":"ETH","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Ethiopia","ADM0_A3":"ETH","GEOU_DIF":0,"GEOUNIT":"Ethiopia","GU_A3":"ETH","SU_DIF":0,"SUBUNIT":"Ethiopia","SU_A3":"ETH","BRK_DIFF":0,"NAME":"Ethiopia","NAME_LONG":"Ethiopia","BRK_A3":"ETH","BRK_NAME":"Ethiopia","BRK_GROUP":null,"ABBREV":"Eth.","POSTAL":"ET","FORMAL_EN":"Federal Democratic Republic of Ethiopia","FORMAL_FR":null,"NAME_CIAWF":"Ethiopia","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Ethiopia","NAME_ALT":null,"MAPCOLOR7":4,"MAPCOLOR8":4,"MAPCOLOR9":1,"MAPCOLOR13":13,"POP_EST":112078730,"POP_RANK":17,"POP_YEAR":2019,"GDP_MD":95912,"GDP_YEAR":2019,"ECONOMY":"7. Least developed region","INCOME_GRP":"5. Low income","FIPS_10":"ET","ISO_A2":"ET","ISO_A2_EH":"ET","ISO_A3":"ETH","ISO_A3_EH":"ETH","ISO_N3":"231","ISO_N3_EH":"231","UN_A3":"231","WB_A2":"ET","WB_A3":"ETH","WOE_ID":23424808,"WOE_ID_EH":23424808,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"ETH","ADM0_DIFF":null,"ADM0_TLC":"ETH","ADM0_A3_US":"ETH","ADM0_A3_FR":"ETH","ADM0_A3_RU":"ETH","ADM0_A3_ES":"ETH","ADM0_A3_CN":"ETH","ADM0_A3_TW":"ETH","ADM0_A3_IN":"ETH","ADM0_A3_NP":"ETH","ADM0_A3_PK":"ETH","ADM0_A3_DE":"ETH","ADM0_A3_GB":"ETH","ADM0_A3_BR":"ETH","ADM0_A3_IL":"ETH","ADM0_A3_PS":"ETH","ADM0_A3_SA":"ETH","ADM0_A3_EG":"ETH","ADM0_A3_MA":"ETH","ADM0_A3_PT":"ETH","ADM0_A3_AR":"ETH","ADM0_A3_JP":"ETH","ADM0_A3_KO":"ETH","ADM0_A3_VN":"ETH","ADM0_A3_TR":"ETH","ADM0_A3_ID":"ETH","ADM0_A3_PL":"ETH","ADM0_A3_GR":"ETH","ADM0_A3_IT":"ETH","ADM0_A3_NL":"ETH","ADM0_A3_SE":"ETH","ADM0_A3_BD":"ETH","ADM0_A3_UA":"ETH","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Africa","REGION_UN":"Africa","SUBREGION":"Eastern Africa","REGION_WB":"Sub-Saharan Africa","NAME_LEN":8,"LONG_LEN":8,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":2,"MAX_LABEL":7,"LABEL_X":39.0886,"LABEL_Y":8.032795,"NE_ID":1159320617,"WIKIDATAID":"Q115","NAME_AR":"إثيوبيا","NAME_BN":"ইথিওপিয়া","NAME_DE":"Äthiopien","NAME_EN":"Ethiopia","NAME_ES":"Etiopía","NAME_FA":"اتیوپی","NAME_FR":"Éthiopie","NAME_EL":"Αιθιοπία","NAME_HE":"אתיופיה","NAME_HI":"इथियोपिया","NAME_HU":"Etiópia","NAME_ID":"Ethiopia","NAME_IT":"Etiopia","NAME_JA":"エチオピア","NAME_KO":"에티오피아","NAME_NL":"Ethiopië","NAME_PL":"Etiopia","NAME_PT":"Etiópia","NAME_RU":"Эфиопия","NAME_SV":"Etiopien","NAME_TR":"Etiyopya","NAME_UK":"Ефіопія","NAME_UR":"ایتھوپیا","NAME_VI":"Ethiopia","NAME_ZH":"埃塞俄比亚","NAME_ZHT":"衣索比亞","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[32.998926,3.456104,47.978223,14.852295],"geometry":{"type":"Polygon","coordinates":[[[35.268359,5.492285],[35.252441,5.511035],[35.164453,5.581201],[35.081934,5.673145],[35.031934,5.774902],[34.983594,5.858301],[34.958984,6.045068],[34.897852,6.159814],[34.838086,6.300146],[34.749219,6.567871],[34.710645,6.660303],[34.63877,6.722168],[34.562793,6.779834],[34.484375,6.898389],[34.279297,7.002832],[34.200391,7.08457],[34.064258,7.225732],[34.030176,7.296973],[34.02041,7.367969],[33.97793,7.43457],[33.902441,7.509521],[33.666113,7.670996],[33.600977,7.69043],[33.516309,7.707764],[33.392285,7.72373],[33.225977,7.760645],[33.080762,7.82373],[33.014648,7.868555],[32.998926,7.899512],[33.012598,7.951514],[33.065234,8.040479],[33.165234,8.251074],[33.234277,8.396387],[33.281055,8.437256],[33.409375,8.447754],[33.545313,8.443408],[33.644824,8.432568],[33.785059,8.431104],[33.95332,8.443506],[34.019727,8.49209],[34.072754,8.545264],[34.094531,8.582227],[34.101758,8.676367],[34.101562,8.751855],[34.091016,9.04126],[34.08457,9.218506],[34.077148,9.420996],[34.078125,9.461523],[34.079297,9.513477],[34.120313,9.729687],[34.159082,9.853418],[34.185254,9.918555],[34.291504,10.124756],[34.31123,10.190869],[34.314844,10.251562],[34.275684,10.528125],[34.343945,10.658643],[34.431445,10.787842],[34.508008,10.842871],[34.571875,10.880176],[34.601758,10.864551],[34.675,10.804932],[34.771289,10.746191],[34.816211,10.75918],[34.882324,10.810547],[34.931445,10.864795],[34.924902,10.962109],[34.969141,11.161768],[34.960742,11.276758],[35.00791,11.419873],[35.059668,11.621045],[35.082715,11.748291],[35.112305,11.816553],[35.252441,11.957031],[35.372754,12.155566],[35.449609,12.300586],[35.596094,12.537305],[35.670215,12.62373],[35.730566,12.661035],[35.820605,12.684863],[35.987598,12.706299],[36.10752,12.726465],[36.125195,12.757031],[36.135352,12.805322],[36.137109,12.911133],[36.160156,13.093311],[36.212207,13.271094],[36.273535,13.405762],[36.306836,13.466846],[36.346289,13.52627],[36.390625,13.626074],[36.44707,13.842041],[36.443945,13.988428],[36.524316,14.256836],[36.542383,14.258203],[36.679102,14.307568],[36.811914,14.315039],[36.940723,14.280566],[37.024512,14.271973],[37.063477,14.289258],[37.099414,14.333984],[37.132617,14.406055],[37.185156,14.445996],[37.257227,14.45376],[37.353711,14.372461],[37.507227,14.156396],[37.546777,14.143848],[37.571191,14.149072],[37.648438,14.322559],[37.708398,14.457227],[37.820312,14.708496],[37.88418,14.852295],[37.943457,14.810547],[38.002539,14.737109],[38.069922,14.702734],[38.141992,14.681494],[38.177051,14.678809],[38.221484,14.649658],[38.376953,14.47041],[38.431445,14.428613],[38.504395,14.424414],[38.812012,14.482324],[38.995703,14.586865],[39.023828,14.628223],[39.074219,14.628223],[39.135449,14.581885],[39.158594,14.5375],[39.198047,14.479395],[39.270117,14.470312],[39.446094,14.511865],[39.531836,14.536719],[39.604883,14.516064],[39.697949,14.499023],[39.756152,14.499023],[39.895117,14.440674],[40.062109,14.459131],[40.140625,14.456055],[40.221484,14.431152],[40.353125,14.338086],[40.524414,14.225195],[40.769531,14.144482],[40.820117,14.11167],[40.938574,13.983105],[41.122363,13.736133],[41.362891,13.499805],[41.625,13.313232],[41.765039,13.183936],[41.85957,13.025879],[41.952148,12.882324],[42.046582,12.820605],[42.134277,12.771436],[42.225,12.661963],[42.289941,12.570215],[42.378516,12.466406],[42.280371,12.324268],[42.149121,12.134131],[41.995898,11.912354],[41.949609,11.857861],[41.815625,11.723779],[41.792676,11.686035],[41.766504,11.589111],[41.764648,11.412891],[41.782031,11.187793],[41.798242,10.980469],[41.872168,10.955811],[41.957422,10.941016],[42.052148,10.968359],[42.166211,10.991602],[42.308105,11.005225],[42.465137,11.04707],[42.557715,11.080762],[42.65498,11.07832],[42.741211,11.042383],[42.783008,11.009277],[42.844141,10.997949],[42.922754,10.999316],[42.906152,10.960254],[42.862891,10.903223],[42.809766,10.845996],[42.763086,10.786914],[42.65957,10.621387],[42.656445,10.6],[42.669238,10.567578],[42.725195,10.491748],[42.783691,10.369629],[42.816406,10.257373],[42.841602,10.203076],[42.9125,10.14082],[43.014746,10.012598],[43.068945,9.926221],[43.181641,9.87998],[43.218457,9.770166],[43.303125,9.609082],[43.394336,9.480273],[43.48252,9.379492],[43.581055,9.340723],[43.620508,9.337402],[43.826758,9.150781],[43.983789,9.008838],[44.022852,8.986035],[44.30625,8.893066],[44.632031,8.786084],[44.893555,8.700195],[45.226953,8.59082],[45.555469,8.483008],[45.863281,8.379883],[46.295996,8.234961],[46.644727,8.118164],[46.919531,8.026123],[46.978223,7.99707],[47.305664,7.99707],[47.637695,7.99707],[47.978223,7.99707],[47.731641,7.759326],[47.452832,7.490479],[47.159766,7.207861],[46.971191,7.026025],[46.671777,6.737256],[46.422949,6.497266],[46.166797,6.234668],[45.934961,5.997217],[45.633594,5.668262],[45.438477,5.45542],[45.132812,5.12168],[44.940527,4.912012],[44.911621,4.899902],[44.636621,4.915771],[44.369531,4.931201],[44.028125,4.950977],[43.988867,4.950537],[43.889453,4.930762],[43.829199,4.911426],[43.583496,4.85498],[43.538281,4.840332],[43.333984,4.750391],[43.125684,4.644482],[43.016016,4.56333],[42.930957,4.445312],[42.894727,4.361084],[42.856641,4.324219],[42.791602,4.291992],[42.355176,4.212256],[42.228418,4.20166],[42.024121,4.137939],[41.915332,4.031299],[41.883984,3.977734],[41.737695,3.979053],[41.481934,3.963281],[41.372461,3.946191],[41.318945,3.943066],[41.220898,3.943555],[41.14043,3.962988],[41.087207,3.991943],[41.020801,4.057471],[40.872656,4.190332],[40.765234,4.273047],[40.528711,4.177637],[40.316016,4.082715],[40.01416,3.947949],[39.842188,3.851465],[39.790332,3.754248],[39.65752,3.577832],[39.538867,3.469189],[39.494434,3.456104],[39.225488,3.47876],[39.12832,3.500879],[38.967773,3.520605],[38.752734,3.558984],[38.608008,3.600098],[38.451563,3.604834],[38.225293,3.618994],[38.086133,3.648828],[37.944922,3.746729],[37.762891,3.864648],[37.575488,3.985937],[37.38252,4.11084],[37.15459,4.254541],[36.905566,4.411475],[36.848242,4.427344],[36.823633,4.430127],[36.553027,4.437256],[36.271875,4.444727],[36.081934,4.449707],[36.021973,4.468115],[35.978711,4.503809],[35.919824,4.619824],[35.845605,4.702637],[35.763086,4.808008],[35.756152,4.950488],[35.779297,5.105566],[35.800293,5.156934],[35.788477,5.208105],[35.791406,5.278564],[35.74502,5.343994],[35.468652,5.419092],[35.424023,5.413281],[35.37793,5.385156],[35.325293,5.364893],[35.287598,5.384082],[35.264648,5.412061],[35.263867,5.45791],[35.268359,5.492285]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":6,"SOVEREIGNT":"Estonia","SOV_A3":"EST","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Estonia","ADM0_A3":"EST","GEOU_DIF":0,"GEOUNIT":"Estonia","GU_A3":"EST","SU_DIF":0,"SUBUNIT":"Estonia","SU_A3":"EST","BRK_DIFF":0,"NAME":"Estonia","NAME_LONG":"Estonia","BRK_A3":"EST","BRK_NAME":"Estonia","BRK_GROUP":null,"ABBREV":"Est.","POSTAL":"EST","FORMAL_EN":"Republic of Estonia","FORMAL_FR":null,"NAME_CIAWF":"Estonia","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Estonia","NAME_ALT":null,"MAPCOLOR7":3,"MAPCOLOR8":2,"MAPCOLOR9":1,"MAPCOLOR13":10,"POP_EST":1326590,"POP_RANK":12,"POP_YEAR":2019,"GDP_MD":31471,"GDP_YEAR":2019,"ECONOMY":"2. Developed region: nonG7","INCOME_GRP":"1. High income: OECD","FIPS_10":"EN","ISO_A2":"EE","ISO_A2_EH":"EE","ISO_A3":"EST","ISO_A3_EH":"EST","ISO_N3":"233","ISO_N3_EH":"233","UN_A3":"233","WB_A2":"EE","WB_A3":"EST","WOE_ID":23424805,"WOE_ID_EH":23424805,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"EST","ADM0_DIFF":null,"ADM0_TLC":"EST","ADM0_A3_US":"EST","ADM0_A3_FR":"EST","ADM0_A3_RU":"EST","ADM0_A3_ES":"EST","ADM0_A3_CN":"EST","ADM0_A3_TW":"EST","ADM0_A3_IN":"EST","ADM0_A3_NP":"EST","ADM0_A3_PK":"EST","ADM0_A3_DE":"EST","ADM0_A3_GB":"EST","ADM0_A3_BR":"EST","ADM0_A3_IL":"EST","ADM0_A3_PS":"EST","ADM0_A3_SA":"EST","ADM0_A3_EG":"EST","ADM0_A3_MA":"EST","ADM0_A3_PT":"EST","ADM0_A3_AR":"EST","ADM0_A3_JP":"EST","ADM0_A3_KO":"EST","ADM0_A3_VN":"EST","ADM0_A3_TR":"EST","ADM0_A3_ID":"EST","ADM0_A3_PL":"EST","ADM0_A3_GR":"EST","ADM0_A3_IT":"EST","ADM0_A3_NL":"EST","ADM0_A3_SE":"EST","ADM0_A3_BD":"EST","ADM0_A3_UA":"EST","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Europe","REGION_UN":"Europe","SUBREGION":"Northern Europe","REGION_WB":"Europe & Central Asia","NAME_LEN":7,"LONG_LEN":7,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":3,"MAX_LABEL":8,"LABEL_X":25.867126,"LABEL_Y":58.724865,"NE_ID":1159320615,"WIKIDATAID":"Q191","NAME_AR":"إستونيا","NAME_BN":"এস্তোনিয়া","NAME_DE":"Estland","NAME_EN":"Estonia","NAME_ES":"Estonia","NAME_FA":"استونی","NAME_FR":"Estonie","NAME_EL":"Εσθονία","NAME_HE":"אסטוניה","NAME_HI":"एस्टोनिया","NAME_HU":"Észtország","NAME_ID":"Estonia","NAME_IT":"Estonia","NAME_JA":"エストニア","NAME_KO":"에스토니아","NAME_NL":"Estland","NAME_PL":"Estonia","NAME_PT":"Estónia","NAME_RU":"Эстония","NAME_SV":"Estland","NAME_TR":"Estonya","NAME_UK":"Естонія","NAME_UR":"استونیا","NAME_VI":"Estonia","NAME_ZH":"爱沙尼亚","NAME_ZHT":"愛沙尼亞","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[21.854492,57.525488,28.151074,59.639014],"geometry":{"type":"MultiPolygon","coordinates":[[[[27.351953,57.528125],[27.326563,57.525488],[27.187109,57.53833],[27.033398,57.57876],[26.966016,57.609131],[26.899805,57.608789],[26.819727,57.588721],[26.532617,57.531006],[26.462109,57.544482],[26.298047,57.601074],[26.215039,57.662744],[26.030371,57.785547],[26.015234,57.814746],[25.991113,57.838184],[25.79375,57.868555],[25.720898,57.913818],[25.660156,57.920166],[25.571289,57.942773],[25.340039,58.039453],[25.282617,58.048486],[25.268652,58.032227],[25.272656,58.009375],[25.258301,57.996143],[25.228711,57.996582],[25.175195,58.032129],[25.111035,58.063428],[24.911328,58.00459],[24.839063,57.988721],[24.775781,57.985254],[24.458887,57.907861],[24.3625,57.866162],[24.322559,57.870605],[24.332031,57.909766],[24.463867,58.105957],[24.4875,58.261621],[24.535742,58.283008],[24.549707,58.30459],[24.529102,58.354248],[24.392188,58.386084],[24.336914,58.381396],[24.287207,58.328027],[24.235645,58.289551],[24.114844,58.266113],[24.010938,58.306641],[23.767578,58.36084],[23.706055,58.433008],[23.691504,58.505615],[23.562793,58.57583],[23.509277,58.658545],[23.530664,58.71626],[23.647461,58.75415],[23.680762,58.787158],[23.533594,58.781934],[23.503613,58.789844],[23.497168,58.819531],[23.432031,58.920654],[23.489648,58.960498],[23.515039,58.999219],[23.467773,59.032178],[23.480176,59.069678],[23.516992,59.107568],[23.494434,59.195654],[23.640527,59.242334],[23.78252,59.275146],[24.083398,59.291895],[24.053613,59.372314],[24.175391,59.375928],[24.380371,59.472656],[24.583594,59.455664],[24.877539,59.52207],[25.44375,59.521143],[25.520898,59.559473],[25.507422,59.597998],[25.509277,59.639014],[25.615723,59.627539],[25.79375,59.634668],[26.46084,59.553906],[26.625,59.553906],[26.852051,59.471777],[26.974707,59.450635],[27.33584,59.450488],[27.892578,59.414209],[28.001855,59.469824],[28.0125,59.484277],[28.06582,59.453174],[28.133008,59.403076],[28.151074,59.374414],[28.12832,59.357568],[28.061328,59.343262],[28.046094,59.327832],[28.016406,59.301709],[27.938184,59.297021],[27.897656,59.277637],[27.849512,59.192676],[27.757617,59.052002],[27.621777,58.944971],[27.513086,58.886279],[27.464453,58.841309],[27.43418,58.787256],[27.427051,58.733057],[27.531348,58.435254],[27.530078,58.381494],[27.505566,58.32627],[27.487793,58.270068],[27.502441,58.221338],[27.571094,58.138086],[27.644141,58.013916],[27.673438,57.934619],[27.721973,57.905469],[27.76875,57.884131],[27.778516,57.870703],[27.776953,57.856738],[27.752832,57.841016],[27.54209,57.799414],[27.514746,57.764209],[27.491992,57.724951],[27.4,57.666797],[27.371777,57.612549],[27.354297,57.550293],[27.351953,57.528125]]],[[[22.617383,58.62124],[22.688379,58.597021],[22.753809,58.604687],[22.820117,58.621533],[22.964258,58.605713],[23.292871,58.483496],[23.323242,58.45083],[23.127148,58.435986],[23.082617,58.398486],[23.035449,58.372314],[22.979883,58.363867],[22.885156,58.311279],[22.757031,58.260889],[22.730273,58.230664],[22.498438,58.23623],[22.37168,58.217139],[22.269336,58.160742],[22.227344,58.051807],[22.152441,57.966797],[22.07627,57.936035],[21.996875,57.931348],[21.978027,57.963281],[21.985547,57.995166],[22.15293,58.115332],[22.187695,58.154346],[22.104395,58.17168],[22.03457,58.213379],[21.882129,58.262354],[21.854492,58.30166],[21.891016,58.30459],[21.924414,58.315869],[21.965039,58.348828],[21.984082,58.38667],[21.862305,58.497168],[21.924414,58.514258],[22.001855,58.510254],[22.081348,58.478125],[22.168555,58.51582],[22.205566,58.521387],[22.266602,58.507959],[22.328125,58.580859],[22.474414,58.604883],[22.546973,58.627393],[22.617383,58.62124]]],[[[22.92373,58.826904],[22.841699,58.777441],[22.792871,58.797217],[22.767285,58.820898],[22.661426,58.70918],[22.542188,58.68999],[22.472656,58.712061],[22.478906,58.753809],[22.411035,58.863379],[22.307422,58.895459],[22.161914,58.898486],[22.05625,58.943604],[22.462598,58.974316],[22.50459,59.026465],[22.587207,59.081201],[22.649414,59.087109],[22.702246,59.074414],[22.712207,59.031982],[22.725488,59.015088],[22.909863,58.991211],[22.981641,58.919824],[23.008691,58.833936],[22.92373,58.826904]]],[[[23.343555,58.550342],[23.260352,58.53999],[23.063477,58.611084],[23.109082,58.659229],[23.16543,58.678125],[23.332813,58.648584],[23.356445,58.575537],[23.343555,58.550342]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":4,"SOVEREIGNT":"Eritrea","SOV_A3":"ERI","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Eritrea","ADM0_A3":"ERI","GEOU_DIF":0,"GEOUNIT":"Eritrea","GU_A3":"ERI","SU_DIF":0,"SUBUNIT":"Eritrea","SU_A3":"ERI","BRK_DIFF":0,"NAME":"Eritrea","NAME_LONG":"Eritrea","BRK_A3":"ERI","BRK_NAME":"Eritrea","BRK_GROUP":null,"ABBREV":"Erit.","POSTAL":"ER","FORMAL_EN":"State of Eritrea","FORMAL_FR":null,"NAME_CIAWF":"Eritrea","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Eritrea","NAME_ALT":null,"MAPCOLOR7":3,"MAPCOLOR8":1,"MAPCOLOR9":2,"MAPCOLOR13":12,"POP_EST":6081196,"POP_RANK":13,"POP_YEAR":2020,"GDP_MD":2065,"GDP_YEAR":2011,"ECONOMY":"7. Least developed region","INCOME_GRP":"5. Low income","FIPS_10":"ER","ISO_A2":"ER","ISO_A2_EH":"ER","ISO_A3":"ERI","ISO_A3_EH":"ERI","ISO_N3":"232","ISO_N3_EH":"232","UN_A3":"232","WB_A2":"ER","WB_A3":"ERI","WOE_ID":23424806,"WOE_ID_EH":23424806,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"ERI","ADM0_DIFF":null,"ADM0_TLC":"ERI","ADM0_A3_US":"ERI","ADM0_A3_FR":"ERI","ADM0_A3_RU":"ERI","ADM0_A3_ES":"ERI","ADM0_A3_CN":"ERI","ADM0_A3_TW":"ERI","ADM0_A3_IN":"ERI","ADM0_A3_NP":"ERI","ADM0_A3_PK":"ERI","ADM0_A3_DE":"ERI","ADM0_A3_GB":"ERI","ADM0_A3_BR":"ERI","ADM0_A3_IL":"ERI","ADM0_A3_PS":"ERI","ADM0_A3_SA":"ERI","ADM0_A3_EG":"ERI","ADM0_A3_MA":"ERI","ADM0_A3_PT":"ERI","ADM0_A3_AR":"ERI","ADM0_A3_JP":"ERI","ADM0_A3_KO":"ERI","ADM0_A3_VN":"ERI","ADM0_A3_TR":"ERI","ADM0_A3_ID":"ERI","ADM0_A3_PL":"ERI","ADM0_A3_GR":"ERI","ADM0_A3_IT":"ERI","ADM0_A3_NL":"ERI","ADM0_A3_SE":"ERI","ADM0_A3_BD":"ERI","ADM0_A3_UA":"ERI","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Africa","REGION_UN":"Africa","SUBREGION":"Eastern Africa","REGION_WB":"Sub-Saharan Africa","NAME_LEN":7,"LONG_LEN":7,"ABBREV_LEN":5,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":4,"MAX_LABEL":9,"LABEL_X":38.285566,"LABEL_Y":15.787401,"NE_ID":1159320581,"WIKIDATAID":"Q986","NAME_AR":"إريتريا","NAME_BN":"ইরিত্রিয়া","NAME_DE":"Eritrea","NAME_EN":"Eritrea","NAME_ES":"Eritrea","NAME_FA":"اریتره","NAME_FR":"Érythrée","NAME_EL":"Ερυθραία","NAME_HE":"אריתריאה","NAME_HI":"इरित्रिया","NAME_HU":"Eritrea","NAME_ID":"Eritrea","NAME_IT":"Eritrea","NAME_JA":"エリトリア","NAME_KO":"에리트레아","NAME_NL":"Eritrea","NAME_PL":"Erytrea","NAME_PT":"Eritreia","NAME_RU":"Эритрея","NAME_SV":"Eritrea","NAME_TR":"Eritre","NAME_UK":"Еритрея","NAME_UR":"اریتریا","NAME_VI":"Eritrea","NAME_ZH":"厄立特里亚","NAME_ZHT":"厄利垂亞","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[36.426758,12.376562,43.116699,18.005078],"geometry":{"type":"MultiPolygon","coordinates":[[[[36.524316,14.256836],[36.492285,14.544336],[36.470801,14.736475],[36.448145,14.940088],[36.426758,15.13208],[36.521777,15.250146],[36.566016,15.362109],[36.679199,15.726367],[36.724512,15.798877],[36.813477,15.993945],[36.825879,16.050293],[36.91377,16.296191],[36.905469,16.459521],[36.887793,16.624658],[36.935742,16.722363],[36.978711,16.800586],[36.975781,16.866553],[36.995215,17.020557],[37.008984,17.058887],[37.061523,17.061279],[37.169531,17.041406],[37.248828,17.056885],[37.34043,17.05708],[37.411035,17.061719],[37.45293,17.108691],[37.510156,17.288135],[37.547461,17.324121],[37.575977,17.33501],[37.656738,17.368262],[37.725977,17.420508],[37.782422,17.458008],[37.80332,17.465527],[37.862988,17.470264],[37.922559,17.492334],[37.950098,17.517676],[38.025293,17.537793],[38.098926,17.526465],[38.148535,17.548535],[38.181543,17.562842],[38.219043,17.563965],[38.253516,17.584766],[38.267285,17.616699],[38.289844,17.637012],[38.347363,17.683594],[38.37373,17.717334],[38.385547,17.75127],[38.397168,17.778369],[38.422461,17.823926],[38.522852,17.938525],[38.609473,18.005078],[38.911719,17.427148],[39.034473,17.085547],[39.142578,16.72915],[39.222559,16.193701],[39.298926,15.921094],[39.422266,15.78667],[39.506543,15.532129],[39.578809,15.52251],[39.63125,15.452539],[39.720801,15.213672],[39.785547,15.124854],[39.819434,15.20127],[39.815625,15.245312],[39.790332,15.318848],[39.813477,15.413574],[39.86377,15.470312],[39.97832,15.393115],[40.041016,15.334521],[40.057813,15.21709],[40.084082,15.151953],[40.204102,15.014111],[40.305273,14.974023],[40.436523,14.963965],[40.546289,14.933594],[40.634375,14.883008],[40.799316,14.743018],[41.176465,14.620312],[41.479688,14.243896],[41.658203,13.983057],[42.245117,13.587646],[42.346484,13.398096],[42.399316,13.212598],[42.522852,13.221484],[42.734473,13.018604],[42.796191,12.864258],[42.969531,12.80835],[42.999023,12.899512],[43.08291,12.824609],[43.116699,12.708594],[43.005664,12.662305],[42.883301,12.621289],[42.865918,12.622803],[42.825293,12.569336],[42.76748,12.422852],[42.703711,12.380322],[42.670117,12.376562],[42.479395,12.513623],[42.45,12.521338],[42.408594,12.494385],[42.378516,12.466406],[42.289941,12.570215],[42.225,12.661963],[42.134277,12.771436],[42.046582,12.820605],[41.952148,12.882324],[41.85957,13.025879],[41.765039,13.183936],[41.625,13.313232],[41.362891,13.499805],[41.122363,13.736133],[40.938574,13.983105],[40.820117,14.11167],[40.769531,14.144482],[40.524414,14.225195],[40.353125,14.338086],[40.221484,14.431152],[40.140625,14.456055],[40.062109,14.459131],[39.895117,14.440674],[39.756152,14.499023],[39.697949,14.499023],[39.604883,14.516064],[39.531836,14.536719],[39.446094,14.511865],[39.270117,14.470312],[39.198047,14.479395],[39.158594,14.5375],[39.135449,14.581885],[39.074219,14.628223],[39.023828,14.628223],[38.995703,14.586865],[38.812012,14.482324],[38.504395,14.424414],[38.431445,14.428613],[38.376953,14.47041],[38.221484,14.649658],[38.177051,14.678809],[38.141992,14.681494],[38.069922,14.702734],[38.002539,14.737109],[37.943457,14.810547],[37.88418,14.852295],[37.820312,14.708496],[37.708398,14.457227],[37.648438,14.322559],[37.571191,14.149072],[37.546777,14.143848],[37.507227,14.156396],[37.353711,14.372461],[37.257227,14.45376],[37.185156,14.445996],[37.132617,14.406055],[37.099414,14.333984],[37.063477,14.289258],[37.024512,14.271973],[36.940723,14.280566],[36.811914,14.315039],[36.679102,14.307568],[36.542383,14.258203],[36.524316,14.256836]]],[[[40.076465,16.082422],[40.110059,15.985742],[40.012402,16.022656],[39.996094,16.042676],[40.039062,16.080957],[40.048145,16.104492],[40.076465,16.082422]]],[[[40.141211,15.696143],[40.18252,15.64292],[40.211426,15.648145],[40.234082,15.665869],[40.250098,15.703467],[40.408203,15.629199],[40.399023,15.579883],[40.304688,15.577344],[40.195801,15.598145],[40.095117,15.590918],[39.975195,15.612451],[39.947461,15.696143],[40.023926,15.655615],[40.063477,15.665869],[40.070508,15.676611],[40.016309,15.733252],[39.939941,15.744531],[39.945215,15.789062],[39.979395,15.806592],[40.000488,15.828271],[39.956738,15.889404],[40.042578,15.875488],[40.096777,15.838477],[40.132422,15.795264],[40.141211,15.696143]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":4,"SOVEREIGNT":"Equatorial Guinea","SOV_A3":"GNQ","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Equatorial Guinea","ADM0_A3":"GNQ","GEOU_DIF":0,"GEOUNIT":"Equatorial Guinea","GU_A3":"GNQ","SU_DIF":0,"SUBUNIT":"Equatorial Guinea","SU_A3":"GNQ","BRK_DIFF":0,"NAME":"Eq. Guinea","NAME_LONG":"Equatorial Guinea","BRK_A3":"GNQ","BRK_NAME":"Eq. Guinea","BRK_GROUP":null,"ABBREV":"Eq. G.","POSTAL":"GQ","FORMAL_EN":"Republic of Equatorial Guinea","FORMAL_FR":null,"NAME_CIAWF":"Equatorial Guinea","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Equatorial Guinea","NAME_ALT":null,"MAPCOLOR7":4,"MAPCOLOR8":1,"MAPCOLOR9":4,"MAPCOLOR13":8,"POP_EST":1355986,"POP_RANK":12,"POP_YEAR":2019,"GDP_MD":11026,"GDP_YEAR":2019,"ECONOMY":"7. Least developed region","INCOME_GRP":"2. High income: nonOECD","FIPS_10":"EK","ISO_A2":"GQ","ISO_A2_EH":"GQ","ISO_A3":"GNQ","ISO_A3_EH":"GNQ","ISO_N3":"226","ISO_N3_EH":"226","UN_A3":"226","WB_A2":"GQ","WB_A3":"GNQ","WOE_ID":23424804,"WOE_ID_EH":23424804,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"GNQ","ADM0_DIFF":null,"ADM0_TLC":"GNQ","ADM0_A3_US":"GNQ","ADM0_A3_FR":"GNQ","ADM0_A3_RU":"GNQ","ADM0_A3_ES":"GNQ","ADM0_A3_CN":"GNQ","ADM0_A3_TW":"GNQ","ADM0_A3_IN":"GNQ","ADM0_A3_NP":"GNQ","ADM0_A3_PK":"GNQ","ADM0_A3_DE":"GNQ","ADM0_A3_GB":"GNQ","ADM0_A3_BR":"GNQ","ADM0_A3_IL":"GNQ","ADM0_A3_PS":"GNQ","ADM0_A3_SA":"GNQ","ADM0_A3_EG":"GNQ","ADM0_A3_MA":"GNQ","ADM0_A3_PT":"GNQ","ADM0_A3_AR":"GNQ","ADM0_A3_JP":"GNQ","ADM0_A3_KO":"GNQ","ADM0_A3_VN":"GNQ","ADM0_A3_TR":"GNQ","ADM0_A3_ID":"GNQ","ADM0_A3_PL":"GNQ","ADM0_A3_GR":"GNQ","ADM0_A3_IT":"GNQ","ADM0_A3_NL":"GNQ","ADM0_A3_SE":"GNQ","ADM0_A3_BD":"GNQ","ADM0_A3_UA":"GNQ","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Africa","REGION_UN":"Africa","SUBREGION":"Middle Africa","REGION_WB":"Sub-Saharan Africa","NAME_LEN":10,"LONG_LEN":17,"ABBREV_LEN":6,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":4,"MAX_LABEL":9,"LABEL_X":8.9902,"LABEL_Y":2.333,"NE_ID":1159320801,"WIKIDATAID":"Q983","NAME_AR":"غينيا الاستوائية","NAME_BN":"বিষুবীয় গিনি","NAME_DE":"Äquatorialguinea","NAME_EN":"Equatorial Guinea","NAME_ES":"Guinea Ecuatorial","NAME_FA":"گینه استوایی","NAME_FR":"Guinée équatoriale","NAME_EL":"Ισημερινή Γουινέα","NAME_HE":"גינאה המשוונית","NAME_HI":"भूमध्यरेखीय गिनी","NAME_HU":"Egyenlítői-Guinea","NAME_ID":"Guinea Khatulistiwa","NAME_IT":"Guinea Equatoriale","NAME_JA":"赤道ギニア","NAME_KO":"적도 기니","NAME_NL":"Equatoriaal-Guinea","NAME_PL":"Gwinea Równikowa","NAME_PT":"Guiné Equatorial","NAME_RU":"Экваториальная Гвинея","NAME_SV":"Ekvatorialguinea","NAME_TR":"Ekvator Ginesi","NAME_UK":"Екваторіальна Гвінея","NAME_UR":"استوائی گنی","NAME_VI":"Guinea Xích Đạo","NAME_ZH":"赤道几内亚","NAME_ZHT":"赤道幾內亞","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[8.434277,0.960107,11.335352,3.758301],"geometry":{"type":"MultiPolygon","coordinates":[[[[8.735742,3.758301],[8.760449,3.754346],[8.910059,3.758203],[8.950684,3.705322],[8.946094,3.627539],[8.792188,3.400391],[8.763477,3.304639],[8.704004,3.223633],[8.652344,3.21709],[8.474902,3.264648],[8.444922,3.293506],[8.434277,3.332422],[8.451758,3.4229],[8.464648,3.450586],[8.549805,3.467627],[8.577246,3.482373],[8.622754,3.57998],[8.637695,3.668848],[8.675879,3.735937],[8.735742,3.758301]]],[[[11.328711,2.167432],[11.330078,1.935889],[11.331152,1.740186],[11.332324,1.528369],[11.333594,1.307617],[11.334668,1.120752],[11.335352,0.999707],[11.130664,1.000391],[10.858887,1.00127],[10.587207,1.002148],[10.31543,1.003076],[10.178906,1.003564],[10.028516,1.004004],[9.979785,0.997705],[9.94668,0.967139],[9.906738,0.960107],[9.860352,0.98623],[9.803906,0.99873],[9.788672,1.025684],[9.760547,1.074707],[9.70459,1.07998],[9.676465,1.074707],[9.636133,1.04668],[9.59082,1.031982],[9.599414,1.054443],[9.509863,1.114795],[9.445312,1.120654],[9.385938,1.139258],[9.434082,1.296387],[9.494238,1.435303],[9.584277,1.540234],[9.632129,1.565527],[9.647656,1.617578],[9.718848,1.788672],[9.807031,1.92749],[9.779688,2.068213],[9.800781,2.304443],[9.826172,2.297803],[9.830371,2.275488],[9.836914,2.242383],[9.870117,2.213281],[9.979883,2.167773],[10.307031,2.167725],[10.502246,2.167627],[10.790918,2.167578],[11.096582,2.16748],[11.328711,2.167432]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":6,"SOVEREIGNT":"El Salvador","SOV_A3":"SLV","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"El Salvador","ADM0_A3":"SLV","GEOU_DIF":0,"GEOUNIT":"El Salvador","GU_A3":"SLV","SU_DIF":0,"SUBUNIT":"El Salvador","SU_A3":"SLV","BRK_DIFF":0,"NAME":"El Salvador","NAME_LONG":"El Salvador","BRK_A3":"SLV","BRK_NAME":"El Salvador","BRK_GROUP":null,"ABBREV":"El. S.","POSTAL":"SV","FORMAL_EN":"Republic of El Salvador","FORMAL_FR":null,"NAME_CIAWF":"El Salvador","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"El Salvador","NAME_ALT":null,"MAPCOLOR7":1,"MAPCOLOR8":4,"MAPCOLOR9":6,"MAPCOLOR13":8,"POP_EST":6453553,"POP_RANK":13,"POP_YEAR":2019,"GDP_MD":27022,"GDP_YEAR":2019,"ECONOMY":"6. Developing region","INCOME_GRP":"4. Lower middle income","FIPS_10":"ES","ISO_A2":"SV","ISO_A2_EH":"SV","ISO_A3":"SLV","ISO_A3_EH":"SLV","ISO_N3":"222","ISO_N3_EH":"222","UN_A3":"222","WB_A2":"SV","WB_A3":"SLV","WOE_ID":23424807,"WOE_ID_EH":23424807,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"SLV","ADM0_DIFF":null,"ADM0_TLC":"SLV","ADM0_A3_US":"SLV","ADM0_A3_FR":"SLV","ADM0_A3_RU":"SLV","ADM0_A3_ES":"SLV","ADM0_A3_CN":"SLV","ADM0_A3_TW":"SLV","ADM0_A3_IN":"SLV","ADM0_A3_NP":"SLV","ADM0_A3_PK":"SLV","ADM0_A3_DE":"SLV","ADM0_A3_GB":"SLV","ADM0_A3_BR":"SLV","ADM0_A3_IL":"SLV","ADM0_A3_PS":"SLV","ADM0_A3_SA":"SLV","ADM0_A3_EG":"SLV","ADM0_A3_MA":"SLV","ADM0_A3_PT":"SLV","ADM0_A3_AR":"SLV","ADM0_A3_JP":"SLV","ADM0_A3_KO":"SLV","ADM0_A3_VN":"SLV","ADM0_A3_TR":"SLV","ADM0_A3_ID":"SLV","ADM0_A3_PL":"SLV","ADM0_A3_GR":"SLV","ADM0_A3_IT":"SLV","ADM0_A3_NL":"SLV","ADM0_A3_SE":"SLV","ADM0_A3_BD":"SLV","ADM0_A3_UA":"SLV","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"North America","REGION_UN":"Americas","SUBREGION":"Central America","REGION_WB":"Latin America & Caribbean","NAME_LEN":11,"LONG_LEN":11,"ABBREV_LEN":6,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":5,"MAX_LABEL":10,"LABEL_X":-88.890124,"LABEL_Y":13.685371,"NE_ID":1159321253,"WIKIDATAID":"Q792","NAME_AR":"السلفادور","NAME_BN":"এল সালভাদোর","NAME_DE":"El Salvador","NAME_EN":"El Salvador","NAME_ES":"El Salvador","NAME_FA":"السالوادور","NAME_FR":"Salvador","NAME_EL":"Ελ Σαλβαδόρ","NAME_HE":"אל סלוודור","NAME_HI":"अल साल्वाडोर","NAME_HU":"Salvador","NAME_ID":"El Salvador","NAME_IT":"El Salvador","NAME_JA":"エルサルバドル","NAME_KO":"엘살바도르","NAME_NL":"El Salvador","NAME_PL":"Salwador","NAME_PT":"El Salvador","NAME_RU":"Сальвадор","NAME_SV":"El Salvador","NAME_TR":"El Salvador","NAME_UK":"Сальвадор","NAME_UR":"ایل سیلواڈور","NAME_VI":"El Salvador","NAME_ZH":"萨尔瓦多","NAME_ZHT":"薩爾瓦多","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[-90.105908,13.164014,-87.715332,14.431104],"geometry":{"type":"Polygon","coordinates":[[[-89.362598,14.416016],[-89.337256,14.411377],[-89.170117,14.360303],[-89.120508,14.370215],[-89.057129,14.32915],[-89.026855,14.296973],[-89.000195,14.252734],[-88.868311,14.163672],[-88.845947,14.124756],[-88.747363,14.072266],[-88.707617,14.03208],[-88.665625,14.015527],[-88.583154,14.000146],[-88.512549,13.978955],[-88.504346,13.964209],[-88.497656,13.904541],[-88.482666,13.854248],[-88.449121,13.850977],[-88.408496,13.875391],[-88.276221,13.942676],[-88.151025,13.987354],[-88.080469,13.960596],[-88.038721,13.904639],[-87.991016,13.879639],[-87.891992,13.894971],[-87.802246,13.88999],[-87.731445,13.841064],[-87.715332,13.812695],[-87.758545,13.649951],[-87.774219,13.580322],[-87.781885,13.521387],[-87.756445,13.506006],[-87.731641,13.483105],[-87.737012,13.451367],[-87.814209,13.39917],[-87.838379,13.385791],[-87.820703,13.285156],[-87.878076,13.224414],[-87.930859,13.180664],[-88.023438,13.16875],[-88.180664,13.164014],[-88.417139,13.213525],[-88.591553,13.281055],[-88.685645,13.281494],[-88.655859,13.25918],[-88.581543,13.244971],[-88.483887,13.197168],[-88.512012,13.183936],[-88.867041,13.283252],[-89.277637,13.478076],[-89.523242,13.509131],[-89.804199,13.560107],[-89.970459,13.683154],[-90.095215,13.736523],[-90.105908,13.783008],[-90.104736,13.834766],[-90.048145,13.904053],[-89.942676,13.997363],[-89.872705,14.045605],[-89.839941,14.055078],[-89.793701,14.050098],[-89.749365,14.077002],[-89.711133,14.141309],[-89.671289,14.182715],[-89.570264,14.224658],[-89.547168,14.24126],[-89.555029,14.277246],[-89.576953,14.34707],[-89.573633,14.390088],[-89.540527,14.409912],[-89.500879,14.41377],[-89.418848,14.431104],[-89.383252,14.427637],[-89.362598,14.416016]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":2,"SOVEREIGNT":"Egypt","SOV_A3":"EGY","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Egypt","ADM0_A3":"EGY","GEOU_DIF":0,"GEOUNIT":"Egypt","GU_A3":"EGY","SU_DIF":0,"SUBUNIT":"Egypt","SU_A3":"EGY","BRK_DIFF":0,"NAME":"Egypt","NAME_LONG":"Egypt","BRK_A3":"EGY","BRK_NAME":"Egypt","BRK_GROUP":null,"ABBREV":"Egypt","POSTAL":"EG","FORMAL_EN":"Arab Republic of Egypt","FORMAL_FR":null,"NAME_CIAWF":"Egypt","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Egypt, Arab Rep.","NAME_ALT":null,"MAPCOLOR7":4,"MAPCOLOR8":6,"MAPCOLOR9":7,"MAPCOLOR13":2,"POP_EST":100388073,"POP_RANK":17,"POP_YEAR":2019,"GDP_MD":303092,"GDP_YEAR":2019,"ECONOMY":"5. Emerging region: G20","INCOME_GRP":"4. Lower middle income","FIPS_10":"EG","ISO_A2":"EG","ISO_A2_EH":"EG","ISO_A3":"EGY","ISO_A3_EH":"EGY","ISO_N3":"818","ISO_N3_EH":"818","UN_A3":"818","WB_A2":"EG","WB_A3":"EGY","WOE_ID":23424802,"WOE_ID_EH":23424802,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"EGY","ADM0_DIFF":null,"ADM0_TLC":"EGY","ADM0_A3_US":"EGY","ADM0_A3_FR":"EGY","ADM0_A3_RU":"EGY","ADM0_A3_ES":"EGY","ADM0_A3_CN":"EGY","ADM0_A3_TW":"EGY","ADM0_A3_IN":"EGY","ADM0_A3_NP":"EGY","ADM0_A3_PK":"EGY","ADM0_A3_DE":"EGY","ADM0_A3_GB":"EGY","ADM0_A3_BR":"EGY","ADM0_A3_IL":"EGY","ADM0_A3_PS":"EGY","ADM0_A3_SA":"EGY","ADM0_A3_EG":"EGY","ADM0_A3_MA":"EGY","ADM0_A3_PT":"EGY","ADM0_A3_AR":"EGY","ADM0_A3_JP":"EGY","ADM0_A3_KO":"EGY","ADM0_A3_VN":"EGY","ADM0_A3_TR":"EGY","ADM0_A3_ID":"EGY","ADM0_A3_PL":"EGY","ADM0_A3_GR":"EGY","ADM0_A3_IT":"EGY","ADM0_A3_NL":"EGY","ADM0_A3_SE":"EGY","ADM0_A3_BD":"EGY","ADM0_A3_UA":"EGY","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Africa","REGION_UN":"Africa","SUBREGION":"Northern Africa","REGION_WB":"Middle East & North Africa","NAME_LEN":5,"LONG_LEN":5,"ABBREV_LEN":5,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":1.7,"MAX_LABEL":6.7,"LABEL_X":29.445837,"LABEL_Y":26.186173,"NE_ID":1159320575,"WIKIDATAID":"Q79","NAME_AR":"مصر","NAME_BN":"মিশর","NAME_DE":"Ägypten","NAME_EN":"Egypt","NAME_ES":"Egipto","NAME_FA":"مصر","NAME_FR":"Égypte","NAME_EL":"Αίγυπτος","NAME_HE":"מצרים","NAME_HI":"मिस्र","NAME_HU":"Egyiptom","NAME_ID":"Mesir","NAME_IT":"Egitto","NAME_JA":"エジプト","NAME_KO":"이집트","NAME_NL":"Egypte","NAME_PL":"Egipt","NAME_PT":"Egito","NAME_RU":"Египет","NAME_SV":"Egypten","NAME_TR":"Mısır","NAME_UK":"Єгипет","NAME_UR":"مصر","NAME_VI":"Ai Cập","NAME_ZH":"埃及","NAME_ZHT":"埃及","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[24.703223,21.994873,36.871387,31.65498],"geometry":{"type":"Polygon","coordinates":[[[36.871387,21.996729],[36.543262,21.996631],[36.215234,21.996582],[35.887012,21.996533],[35.558984,21.996484],[35.230859,21.996436],[34.902734,21.996387],[34.574609,21.996338],[34.246484,21.996289],[33.918457,21.99624],[33.590332,21.996191],[33.262207,21.996143],[32.934082,21.996094],[32.606055,21.995996],[32.277832,21.995996],[31.949805,21.995898],[31.62168,21.99585],[31.434473,21.99585],[31.466406,22.084668],[31.486133,22.147803],[31.464258,22.191504],[31.400293,22.202441],[31.358496,22.188623],[31.260645,22.002295],[31.20918,21.994873],[31.092676,21.994873],[30.710645,21.994922],[30.328613,21.99502],[29.94668,21.995117],[29.564551,21.995117],[29.18252,21.995215],[28.800586,21.995264],[28.418555,21.995312],[28.036426,21.995361],[27.654492,21.995459],[27.272461,21.995508],[26.89043,21.995557],[26.508398,21.995605],[26.126367,21.995654],[25.744336,21.995752],[25.362305,21.995801],[24.980273,21.99585],[24.980273,22.22041],[24.980273,22.444971],[24.980273,22.669531],[24.980273,22.894092],[24.980273,23.118652],[24.980273,23.343213],[24.980273,23.567822],[24.980273,23.792383],[24.980273,24.016943],[24.980273,24.241504],[24.980273,24.466064],[24.980273,24.690625],[24.980273,24.915186],[24.980273,25.139746],[24.980273,25.364307],[24.980273,25.588867],[24.980273,25.813428],[24.980273,26.037988],[24.980273,26.262549],[24.980273,26.487109],[24.980273,26.71167],[24.980273,26.93623],[24.980273,27.16084],[24.980273,27.3854],[24.980273,27.609961],[24.980273,27.834521],[24.980273,28.059082],[24.980273,28.283643],[24.980273,28.508203],[24.980273,28.732764],[24.980273,28.957324],[24.980273,29.181885],[24.97168,29.223828],[24.916113,29.37627],[24.865918,29.570264],[24.81084,29.80874],[24.803711,29.886035],[24.711621,30.131543],[24.703223,30.201074],[24.726465,30.250586],[24.877539,30.45752],[24.923047,30.558008],[24.961426,30.678516],[24.973926,30.776562],[24.929492,30.926465],[24.877539,31.06123],[24.859961,31.19917],[24.852734,31.334814],[24.92998,31.42749],[25.022656,31.514014],[25.057227,31.567187],[25.112012,31.626904],[25.150488,31.65498],[25.225488,31.533789],[25.382227,31.512793],[25.893262,31.620898],[26.457324,31.512109],[26.768652,31.470361],[27.248047,31.377881],[27.540039,31.212695],[27.620117,31.191748],[27.82998,31.19502],[27.967578,31.097412],[28.514844,31.050439],[28.806934,30.942676],[28.972754,30.856738],[29.07207,30.830273],[29.159961,30.83457],[29.278906,30.866943],[29.428516,30.927441],[29.591602,31.011523],[29.929785,31.22749],[30.049414,31.26543],[30.127539,31.255664],[30.222656,31.258398],[30.262305,31.316846],[30.312305,31.357031],[30.34375,31.402734],[30.395117,31.457617],[30.570996,31.472998],[30.923535,31.566846],[30.88418,31.522363],[30.562988,31.416992],[30.700488,31.403857],[30.841406,31.439893],[31.001758,31.462793],[31.030859,31.507568],[31.051953,31.591553],[31.08291,31.60332],[31.193945,31.587598],[31.524414,31.458252],[31.606543,31.455762],[31.839258,31.526318],[31.888965,31.541406],[31.964258,31.5021],[32.136035,31.341064],[32.076074,31.344482],[31.892188,31.482471],[31.875879,31.413721],[31.771094,31.292578],[31.902051,31.240186],[32.008496,31.220508],[32.065625,31.152979],[32.101758,31.092822],[32.206543,31.119043],[32.281836,31.200879],[32.242773,31.246533],[32.216211,31.29375],[32.250586,31.294922],[32.323535,31.256055],[32.532813,31.100732],[32.60332,31.06875],[32.68457,31.074023],[32.854492,31.117725],[32.901563,31.110937],[33.129883,31.168164],[33.156738,31.126221],[33.194336,31.084521],[33.37793,31.130957],[33.666504,31.13042],[33.902539,31.180957],[34.17627,31.303906],[34.198145,31.322607],[34.2125,31.292285],[34.245313,31.208301],[34.328516,30.99502],[34.400977,30.827832],[34.489941,30.596289],[34.517773,30.507373],[34.529688,30.446045],[34.658594,30.191455],[34.735059,29.982031],[34.791113,29.812109],[34.869824,29.563916],[34.904297,29.477344],[34.848535,29.432129],[34.736426,29.270605],[34.617188,28.75791],[34.446484,28.357324],[34.427148,28.106494],[34.399707,28.016016],[34.318555,27.888965],[34.220117,27.764307],[34.045117,27.828857],[33.760254,28.047656],[33.594141,28.255566],[33.416113,28.389844],[33.247754,28.567725],[33.201953,28.695703],[33.203711,28.777783],[33.130176,28.978271],[33.075781,29.073047],[32.870605,29.28623],[32.811719,29.4],[32.766699,29.45],[32.721484,29.521777],[32.647168,29.798437],[32.565723,29.973975],[32.473047,29.925439],[32.489453,29.851514],[32.408594,29.749316],[32.359766,29.630664],[32.397266,29.533789],[32.565039,29.386328],[32.599023,29.321924],[32.638086,29.182178],[32.631836,28.992236],[32.658887,28.927734],[32.784473,28.786621],[32.829492,28.702881],[32.856543,28.630615],[32.898242,28.565234],[33.022852,28.442285],[33.202148,28.208301],[33.372266,28.050586],[33.494922,27.974463],[33.54707,27.898145],[33.558789,27.701221],[33.549805,27.607373],[33.657422,27.430566],[33.697266,27.341113],[33.80166,27.268164],[33.849316,27.184912],[33.893066,27.049463],[33.959082,26.649023],[34.049512,26.550732],[34.329297,26.024365],[34.565137,25.691162],[34.679297,25.442529],[34.853223,25.139795],[35.194141,24.475146],[35.39707,24.269971],[35.477832,24.154785],[35.624707,24.066016],[35.783887,23.937793],[35.632031,23.950342],[35.593848,23.942578],[35.54082,23.920654],[35.515234,23.842871],[35.504395,23.779297],[35.522754,23.442529],[35.564355,23.271094],[35.697852,22.946191],[35.797363,22.84873],[35.845801,22.785693],[35.913379,22.739648],[36.229688,22.628809],[36.414551,22.394189],[36.829688,22.097656],[36.87041,22.015771],[36.871387,21.996729]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":3,"SOVEREIGNT":"Ecuador","SOV_A3":"ECU","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Ecuador","ADM0_A3":"ECU","GEOU_DIF":0,"GEOUNIT":"Ecuador","GU_A3":"ECU","SU_DIF":0,"SUBUNIT":"Ecuador","SU_A3":"ECU","BRK_DIFF":0,"NAME":"Ecuador","NAME_LONG":"Ecuador","BRK_A3":"ECU","BRK_NAME":"Ecuador","BRK_GROUP":null,"ABBREV":"Ecu.","POSTAL":"EC","FORMAL_EN":"Republic of Ecuador","FORMAL_FR":null,"NAME_CIAWF":"Ecuador","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Ecuador","NAME_ALT":null,"MAPCOLOR7":1,"MAPCOLOR8":5,"MAPCOLOR9":2,"MAPCOLOR13":12,"POP_EST":17373662,"POP_RANK":14,"POP_YEAR":2019,"GDP_MD":107435,"GDP_YEAR":2019,"ECONOMY":"6. Developing region","INCOME_GRP":"3. Upper middle income","FIPS_10":"EC","ISO_A2":"EC","ISO_A2_EH":"EC","ISO_A3":"ECU","ISO_A3_EH":"ECU","ISO_N3":"218","ISO_N3_EH":"218","UN_A3":"218","WB_A2":"EC","WB_A3":"ECU","WOE_ID":23424801,"WOE_ID_EH":23424801,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"ECU","ADM0_DIFF":null,"ADM0_TLC":"ECU","ADM0_A3_US":"ECU","ADM0_A3_FR":"ECU","ADM0_A3_RU":"ECU","ADM0_A3_ES":"ECU","ADM0_A3_CN":"ECU","ADM0_A3_TW":"ECU","ADM0_A3_IN":"ECU","ADM0_A3_NP":"ECU","ADM0_A3_PK":"ECU","ADM0_A3_DE":"ECU","ADM0_A3_GB":"ECU","ADM0_A3_BR":"ECU","ADM0_A3_IL":"ECU","ADM0_A3_PS":"ECU","ADM0_A3_SA":"ECU","ADM0_A3_EG":"ECU","ADM0_A3_MA":"ECU","ADM0_A3_PT":"ECU","ADM0_A3_AR":"ECU","ADM0_A3_JP":"ECU","ADM0_A3_KO":"ECU","ADM0_A3_VN":"ECU","ADM0_A3_TR":"ECU","ADM0_A3_ID":"ECU","ADM0_A3_PL":"ECU","ADM0_A3_GR":"ECU","ADM0_A3_IT":"ECU","ADM0_A3_NL":"ECU","ADM0_A3_SE":"ECU","ADM0_A3_BD":"ECU","ADM0_A3_UA":"ECU","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"South America","REGION_UN":"Americas","SUBREGION":"South America","REGION_WB":"Latin America & Caribbean","NAME_LEN":7,"LONG_LEN":7,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":3,"MAX_LABEL":8,"LABEL_X":-78.188375,"LABEL_Y":-1.259076,"NE_ID":1159320567,"WIKIDATAID":"Q736","NAME_AR":"الإكوادور","NAME_BN":"ইকুয়েডর","NAME_DE":"Ecuador","NAME_EN":"Ecuador","NAME_ES":"Ecuador","NAME_FA":"اکوادور","NAME_FR":"Équateur","NAME_EL":"Εκουαδόρ","NAME_HE":"אקוודור","NAME_HI":"ईक्वाडोर","NAME_HU":"Ecuador","NAME_ID":"Ekuador","NAME_IT":"Ecuador","NAME_JA":"エクアドル","NAME_KO":"에콰도르","NAME_NL":"Ecuador","NAME_PL":"Ekwador","NAME_PT":"Equador","NAME_RU":"Эквадор","NAME_SV":"Ecuador","NAME_TR":"Ekvador","NAME_UK":"Еквадор","NAME_UR":"ایکواڈور","NAME_VI":"Ecuador","NAME_ZH":"厄瓜多尔","NAME_ZHT":"厄瓜多爾","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[-91.65415,-4.990625,-75.249609,1.455371],"geometry":{"type":"MultiPolygon","coordinates":[[[[-75.284473,-0.106543],[-75.340479,-0.142188],[-75.398389,-0.145996],[-75.475977,-0.157129],[-75.58374,-0.122852],[-75.62627,-0.122852],[-75.632031,-0.157617],[-75.560596,-0.200098],[-75.491064,-0.24834],[-75.465967,-0.321777],[-75.424707,-0.408887],[-75.325244,-0.506543],[-75.263232,-0.555371],[-75.259375,-0.590137],[-75.278711,-0.653906],[-75.283594,-0.707129],[-75.249609,-0.951855],[-75.272412,-0.966797],[-75.30918,-0.968066],[-75.348193,-0.966797],[-75.380127,-0.940234],[-75.408057,-0.924316],[-75.42041,-0.962207],[-75.44917,-1.071191],[-75.513867,-1.316309],[-75.570557,-1.53125],[-75.64165,-1.607324],[-75.744531,-1.728125],[-75.885449,-1.893457],[-76.089795,-2.133105],[-76.240918,-2.243945],[-76.360156,-2.331348],[-76.499365,-2.432324],[-76.679102,-2.562598],[-76.880762,-2.635938],[-77.161475,-2.737695],[-77.360059,-2.809668],[-77.506494,-2.859961],[-77.658984,-2.912402],[-77.860596,-2.981641],[-77.938477,-3.046973],[-78.06792,-3.206836],[-78.128223,-3.283887],[-78.183301,-3.350195],[-78.194629,-3.380469],[-78.187451,-3.399805],[-78.160986,-3.432129],[-78.158496,-3.465137],[-78.194873,-3.48584],[-78.226318,-3.48916],[-78.240381,-3.472559],[-78.250732,-3.436133],[-78.28418,-3.399023],[-78.323047,-3.388281],[-78.345361,-3.397363],[-78.347266,-3.43125],[-78.398047,-3.594824],[-78.399951,-3.674316],[-78.421436,-3.705762],[-78.419775,-3.776855],[-78.471045,-3.843066],[-78.493457,-3.902051],[-78.509082,-3.952148],[-78.550439,-3.986914],[-78.565137,-4.041602],[-78.603369,-4.157324],[-78.647998,-4.248145],[-78.679395,-4.325879],[-78.685156,-4.383984],[-78.66123,-4.425098],[-78.65293,-4.458203],[-78.674463,-4.517676],[-78.686035,-4.562402],[-78.743066,-4.592676],[-78.861523,-4.665039],[-78.907617,-4.714453],[-78.925781,-4.770703],[-78.914209,-4.818652],[-78.919189,-4.858398],[-78.975391,-4.873242],[-78.995264,-4.908008],[-79.033301,-4.969141],[-79.07627,-4.990625],[-79.18667,-4.958203],[-79.268115,-4.957617],[-79.330957,-4.927832],[-79.399414,-4.840039],[-79.455762,-4.766211],[-79.501904,-4.670605],[-79.516162,-4.53916],[-79.577686,-4.500586],[-79.638525,-4.454883],[-79.710986,-4.467578],[-79.797266,-4.476367],[-79.845117,-4.445898],[-79.962891,-4.390332],[-80.063525,-4.327539],[-80.139551,-4.296094],[-80.197461,-4.311035],[-80.232178,-4.349023],[-80.293359,-4.416797],[-80.383496,-4.463672],[-80.42417,-4.461426],[-80.478564,-4.430078],[-80.488477,-4.393652],[-80.443848,-4.33584],[-80.352881,-4.208496],[-80.45376,-4.205176],[-80.488477,-4.165527],[-80.493457,-4.119141],[-80.51001,-4.069531],[-80.490137,-4.010059],[-80.437207,-3.978613],[-80.357861,-4.003418],[-80.303271,-4.005078],[-80.266895,-3.948828],[-80.230518,-3.924023],[-80.194141,-3.905859],[-80.179248,-3.877734],[-80.217578,-3.787695],[-80.228857,-3.738867],[-80.217285,-3.710742],[-80.218945,-3.654492],[-80.220605,-3.613184],[-80.24375,-3.576758],[-80.24541,-3.522168],[-80.265234,-3.49248],[-80.271875,-3.461035],[-80.273535,-3.424609],[-80.29834,-3.406445],[-80.324658,-3.387891],[-80.303125,-3.374805],[-80.159863,-3.324316],[-80.100342,-3.274023],[-80.02666,-3.228125],[-79.96333,-3.157715],[-79.921582,-3.090137],[-79.822705,-2.776953],[-79.729883,-2.579102],[-79.745508,-2.484668],[-79.822412,-2.356543],[-79.839746,-2.167871],[-79.832617,-2.110547],[-79.842139,-2.067383],[-79.893408,-2.145703],[-79.880322,-2.423633],[-79.925586,-2.548535],[-79.989014,-2.578711],[-80.030176,-2.556738],[-80.006641,-2.353809],[-80.053076,-2.390723],[-80.127148,-2.528418],[-80.248633,-2.630566],[-80.255273,-2.664648],[-80.284717,-2.706738],[-80.378564,-2.667969],[-80.450098,-2.625977],[-80.684863,-2.396875],[-80.839062,-2.349023],[-80.932178,-2.269141],[-80.951611,-2.235449],[-80.962793,-2.189258],[-80.867627,-2.141211],[-80.770361,-2.07666],[-80.760596,-1.93457],[-80.763135,-1.822949],[-80.83501,-1.632422],[-80.801416,-1.383398],[-80.82002,-1.28584],[-80.902393,-1.078906],[-80.841406,-0.974707],[-80.623682,-0.89873],[-80.553906,-0.847949],[-80.505078,-0.683789],[-80.455469,-0.585449],[-80.358398,-0.625098],[-80.282373,-0.620508],[-80.384766,-0.583984],[-80.468311,-0.436035],[-80.482275,-0.368262],[-80.321289,-0.16582],[-80.237012,-0.113086],[-80.133398,-0.006055],[-80.046143,0.155371],[-80.025,0.410156],[-80.061035,0.592285],[-80.088281,0.784766],[-80.035937,0.83457],[-79.903516,0.860205],[-79.79585,0.922266],[-79.741211,0.979785],[-79.613184,0.971143],[-79.465381,1.060059],[-79.229053,1.10459],[-78.899658,1.20625],[-78.827051,1.295947],[-78.859668,1.455371],[-78.828857,1.434668],[-78.737109,1.358691],[-78.681641,1.283447],[-78.587646,1.23667],[-78.511523,1.198828],[-78.312109,1.046094],[-78.180664,0.968555],[-78.037012,0.89873],[-77.829541,0.825391],[-77.702881,0.837842],[-77.673193,0.782227],[-77.648633,0.723633],[-77.601318,0.689502],[-77.526123,0.660352],[-77.481396,0.651172],[-77.467676,0.636523],[-77.422754,0.424854],[-77.396338,0.393896],[-77.292676,0.3604],[-77.165723,0.347754],[-77.114111,0.355078],[-77.002441,0.29624],[-76.920117,0.268506],[-76.829346,0.247754],[-76.767725,0.24165],[-76.739307,0.25083],[-76.729004,0.272119],[-76.678516,0.268164],[-76.603027,0.240967],[-76.494629,0.235449],[-76.427295,0.26123],[-76.417969,0.303906],[-76.413379,0.378857],[-76.388184,0.40498],[-76.311035,0.448486],[-76.270605,0.439404],[-76.06792,0.345557],[-76.026172,0.313086],[-75.974854,0.247754],[-75.879785,0.150977],[-75.77666,0.089258],[-75.617334,0.062891],[-75.463965,-0.038428],[-75.284473,-0.106543]]],[[[-80.131592,-2.973145],[-80.150684,-3.011719],[-80.245703,-3.008301],[-80.272949,-2.995898],[-80.272168,-2.951758],[-80.249805,-2.811914],[-80.223682,-2.753125],[-80.145703,-2.696289],[-80.080762,-2.668848],[-79.997266,-2.673828],[-79.909033,-2.725586],[-80.013232,-2.819531],[-80.071191,-2.833789],[-80.093408,-2.845898],[-80.131592,-2.973145]]],[[[-78.909229,1.252783],[-78.965625,1.245361],[-78.991699,1.293213],[-78.923242,1.348926],[-78.899805,1.359766],[-78.909229,1.252783]]],[[[-90.334863,-0.771582],[-90.387109,-0.77334],[-90.542139,-0.676465],[-90.531689,-0.581445],[-90.469727,-0.517383],[-90.269385,-0.484668],[-90.185303,-0.544824],[-90.192725,-0.658789],[-90.261084,-0.741992],[-90.31543,-0.757227],[-90.334863,-0.771582]]],[[[-89.418896,-0.911035],[-89.536621,-0.952344],[-89.577295,-0.933789],[-89.602637,-0.913477],[-89.608594,-0.888574],[-89.543457,-0.826855],[-89.479932,-0.793359],[-89.423145,-0.722266],[-89.318408,-0.680078],[-89.287842,-0.689844],[-89.267432,-0.70459],[-89.259375,-0.728418],[-89.294873,-0.785938],[-89.35835,-0.826074],[-89.418896,-0.911035]]],[[[-91.425977,-0.46084],[-91.526367,-0.478223],[-91.610742,-0.443945],[-91.646582,-0.39082],[-91.65415,-0.310938],[-91.64668,-0.284473],[-91.460156,-0.255664],[-91.399365,-0.322461],[-91.399951,-0.420898],[-91.425977,-0.46084]]],[[[-90.423926,-1.339941],[-90.464404,-1.341992],[-90.519531,-1.299121],[-90.477197,-1.220996],[-90.431982,-1.239844],[-90.39873,-1.262305],[-90.37915,-1.292285],[-90.423926,-1.339941]]],[[[-91.272168,0.025146],[-91.210059,-0.039307],[-91.176221,-0.223047],[-90.975537,-0.416895],[-90.950635,-0.525195],[-90.968457,-0.575586],[-90.958936,-0.595313],[-90.862549,-0.671777],[-90.799658,-0.752051],[-90.905518,-0.940527],[-91.131055,-1.019629],[-91.371533,-1.016992],[-91.419043,-0.99668],[-91.483545,-0.924609],[-91.49541,-0.860938],[-91.458301,-0.799512],[-91.334082,-0.70625],[-91.144678,-0.622852],[-91.120947,-0.559082],[-91.197021,-0.496973],[-91.249512,-0.373633],[-91.369189,-0.287207],[-91.428857,-0.023389],[-91.468701,-0.010303],[-91.55,-0.04668],[-91.590088,-0.014795],[-91.596826,0.0021],[-91.50918,0.062256],[-91.491016,0.105176],[-91.361377,0.12583],[-91.305762,0.091406],[-91.272168,0.025146]]],[[[-90.573926,-0.333984],[-90.620459,-0.364258],[-90.809033,-0.329395],[-90.867773,-0.271387],[-90.820361,-0.192188],[-90.780371,-0.160449],[-90.667529,-0.189844],[-90.55332,-0.278418],[-90.573926,-0.333984]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":5,"SOVEREIGNT":"Dominican Republic","SOV_A3":"DOM","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Dominican Republic","ADM0_A3":"DOM","GEOU_DIF":0,"GEOUNIT":"Dominican Republic","GU_A3":"DOM","SU_DIF":0,"SUBUNIT":"Dominican Republic","SU_A3":"DOM","BRK_DIFF":0,"NAME":"Dominican Rep.","NAME_LONG":"Dominican Republic","BRK_A3":"DOM","BRK_NAME":"Dominican Rep.","BRK_GROUP":null,"ABBREV":"Dom. Rep.","POSTAL":"DO","FORMAL_EN":"Dominican Republic","FORMAL_FR":null,"NAME_CIAWF":"Dominican Republic","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Dominican Republic","NAME_ALT":null,"MAPCOLOR7":5,"MAPCOLOR8":2,"MAPCOLOR9":5,"MAPCOLOR13":7,"POP_EST":10738958,"POP_RANK":14,"POP_YEAR":2019,"GDP_MD":88941,"GDP_YEAR":2019,"ECONOMY":"6. Developing region","INCOME_GRP":"3. Upper middle income","FIPS_10":"DR","ISO_A2":"DO","ISO_A2_EH":"DO","ISO_A3":"DOM","ISO_A3_EH":"DOM","ISO_N3":"214","ISO_N3_EH":"214","UN_A3":"214","WB_A2":"DO","WB_A3":"DOM","WOE_ID":23424800,"WOE_ID_EH":23424800,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"DOM","ADM0_DIFF":null,"ADM0_TLC":"DOM","ADM0_A3_US":"DOM","ADM0_A3_FR":"DOM","ADM0_A3_RU":"DOM","ADM0_A3_ES":"DOM","ADM0_A3_CN":"DOM","ADM0_A3_TW":"DOM","ADM0_A3_IN":"DOM","ADM0_A3_NP":"DOM","ADM0_A3_PK":"DOM","ADM0_A3_DE":"DOM","ADM0_A3_GB":"DOM","ADM0_A3_BR":"DOM","ADM0_A3_IL":"DOM","ADM0_A3_PS":"DOM","ADM0_A3_SA":"DOM","ADM0_A3_EG":"DOM","ADM0_A3_MA":"DOM","ADM0_A3_PT":"DOM","ADM0_A3_AR":"DOM","ADM0_A3_JP":"DOM","ADM0_A3_KO":"DOM","ADM0_A3_VN":"DOM","ADM0_A3_TR":"DOM","ADM0_A3_ID":"DOM","ADM0_A3_PL":"DOM","ADM0_A3_GR":"DOM","ADM0_A3_IT":"DOM","ADM0_A3_NL":"DOM","ADM0_A3_SE":"DOM","ADM0_A3_BD":"DOM","ADM0_A3_UA":"DOM","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"North America","REGION_UN":"Americas","SUBREGION":"Caribbean","REGION_WB":"Latin America & Caribbean","NAME_LEN":14,"LONG_LEN":18,"ABBREV_LEN":9,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":4.5,"MAX_LABEL":9.5,"LABEL_X":-70.653998,"LABEL_Y":19.104137,"NE_ID":1159320563,"WIKIDATAID":"Q786","NAME_AR":"جمهورية الدومينيكان","NAME_BN":"ডোমিনিকান প্রজাতন্ত্র","NAME_DE":"Dominikanische Republik","NAME_EN":"Dominican Republic","NAME_ES":"República Dominicana","NAME_FA":"جمهوری دومینیکن","NAME_FR":"République dominicaine","NAME_EL":"Δομινικανή Δημοκρατία","NAME_HE":"הרפובליקה הדומיניקנית","NAME_HI":"डोमिनिकन गणराज्य","NAME_HU":"Dominikai Köztársaság","NAME_ID":"Republik Dominika","NAME_IT":"Repubblica Dominicana","NAME_JA":"ドミニカ共和国","NAME_KO":"도미니카 공화국","NAME_NL":"Dominicaanse Republiek","NAME_PL":"Dominikana","NAME_PT":"República Dominicana","NAME_RU":"Доминиканская Республика","NAME_SV":"Dominikanska republiken","NAME_TR":"Dominik Cumhuriyeti","NAME_UK":"Домініканська Республіка","NAME_UR":"جمہوریہ ڈومینیکن","NAME_VI":"Cộng hòa Dominica","NAME_ZH":"多米尼加","NAME_ZHT":"多明尼加","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[-72.000391,17.635596,-68.33916,19.913965],"geometry":{"type":"Polygon","coordinates":[[[-71.768311,18.03916],[-71.76377,18.203955],[-71.737256,18.270801],[-71.761914,18.341309],[-71.872559,18.416211],[-71.940381,18.512598],[-72.000391,18.5979],[-71.986865,18.610352],[-71.866504,18.61416],[-71.824219,18.645508],[-71.743213,18.73291],[-71.727051,18.803223],[-71.733643,18.856396],[-71.786377,18.92002],[-71.807129,18.987012],[-71.742041,19.045508],[-71.657031,19.130762],[-71.645312,19.163525],[-71.647217,19.195947],[-71.746484,19.28584],[-71.753174,19.324463],[-71.706934,19.421973],[-71.711475,19.486572],[-71.757422,19.688184],[-71.779248,19.718164],[-71.735107,19.735107],[-71.706055,19.795166],[-71.667383,19.848633],[-71.615967,19.877441],[-71.557764,19.895361],[-71.441699,19.893994],[-71.281348,19.847363],[-71.235937,19.848145],[-71.081934,19.890479],[-70.95415,19.913965],[-70.833887,19.887256],[-70.785254,19.850879],[-70.685937,19.793262],[-70.636182,19.775635],[-70.479346,19.776953],[-70.436426,19.77124],[-70.304736,19.676074],[-70.193848,19.638037],[-70.129443,19.636133],[-70.014062,19.672949],[-69.956836,19.671875],[-69.891211,19.589746],[-69.87832,19.473291],[-69.823437,19.367139],[-69.739404,19.299219],[-69.324951,19.327734],[-69.232471,19.271826],[-69.264258,19.225684],[-69.322754,19.201074],[-69.519727,19.212012],[-69.605957,19.206494],[-69.623242,19.160498],[-69.623633,19.117822],[-69.50835,19.107617],[-69.395264,19.086084],[-69.280225,19.051904],[-69.163037,19.028467],[-69.031299,19.013184],[-68.901367,18.988477],[-68.684766,18.904785],[-68.44541,18.714453],[-68.381396,18.671143],[-68.33916,18.611523],[-68.359277,18.538086],[-68.444824,18.417725],[-68.493213,18.379004],[-68.56377,18.355469],[-68.612207,18.30625],[-68.658838,18.222021],[-68.687402,18.214941],[-68.720996,18.218408],[-68.778467,18.266113],[-68.819531,18.339307],[-68.934961,18.408008],[-69.072266,18.399219],[-69.274512,18.439844],[-69.396973,18.420117],[-69.519434,18.415674],[-69.644727,18.436377],[-69.770654,18.443555],[-69.896387,18.417725],[-70.018311,18.373633],[-70.06333,18.345654],[-70.141602,18.2771],[-70.183105,18.251758],[-70.479932,18.217285],[-70.56543,18.267578],[-70.644678,18.33623],[-70.758838,18.345605],[-70.924316,18.29248],[-71.027832,18.273193],[-71.069971,18.250342],[-71.082227,18.224365],[-71.082617,18.128369],[-71.106006,18.07002],[-71.267285,17.849609],[-71.358301,17.694141],[-71.395703,17.646094],[-71.438965,17.635596],[-71.518359,17.725],[-71.569043,17.757373],[-71.631738,17.773633],[-71.658301,17.821143],[-71.657227,17.888672],[-71.67373,17.954102],[-71.712451,18.005469],[-71.768311,18.03916]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":6,"SOVEREIGNT":"Dominica","SOV_A3":"DMA","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Dominica","ADM0_A3":"DMA","GEOU_DIF":0,"GEOUNIT":"Dominica","GU_A3":"DMA","SU_DIF":0,"SUBUNIT":"Dominica","SU_A3":"DMA","BRK_DIFF":0,"NAME":"Dominica","NAME_LONG":"Dominica","BRK_A3":"DMA","BRK_NAME":"Dominica","BRK_GROUP":null,"ABBREV":"D'inca","POSTAL":"DM","FORMAL_EN":"Commonwealth of Dominica","FORMAL_FR":null,"NAME_CIAWF":"Dominica","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Dominica","NAME_ALT":null,"MAPCOLOR7":4,"MAPCOLOR8":5,"MAPCOLOR9":2,"MAPCOLOR13":12,"POP_EST":71808,"POP_RANK":8,"POP_YEAR":2019,"GDP_MD":582,"GDP_YEAR":2019,"ECONOMY":"6. Developing region","INCOME_GRP":"3. Upper middle income","FIPS_10":"DO","ISO_A2":"DM","ISO_A2_EH":"DM","ISO_A3":"DMA","ISO_A3_EH":"DMA","ISO_N3":"212","ISO_N3_EH":"212","UN_A3":"212","WB_A2":"DM","WB_A3":"DMA","WOE_ID":23424798,"WOE_ID_EH":23424798,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"DMA","ADM0_DIFF":null,"ADM0_TLC":"DMA","ADM0_A3_US":"DMA","ADM0_A3_FR":"DMA","ADM0_A3_RU":"DMA","ADM0_A3_ES":"DMA","ADM0_A3_CN":"DMA","ADM0_A3_TW":"DMA","ADM0_A3_IN":"DMA","ADM0_A3_NP":"DMA","ADM0_A3_PK":"DMA","ADM0_A3_DE":"DMA","ADM0_A3_GB":"DMA","ADM0_A3_BR":"DMA","ADM0_A3_IL":"DMA","ADM0_A3_PS":"DMA","ADM0_A3_SA":"DMA","ADM0_A3_EG":"DMA","ADM0_A3_MA":"DMA","ADM0_A3_PT":"DMA","ADM0_A3_AR":"DMA","ADM0_A3_JP":"DMA","ADM0_A3_KO":"DMA","ADM0_A3_VN":"DMA","ADM0_A3_TR":"DMA","ADM0_A3_ID":"DMA","ADM0_A3_PL":"DMA","ADM0_A3_GR":"DMA","ADM0_A3_IT":"DMA","ADM0_A3_NL":"DMA","ADM0_A3_SE":"DMA","ADM0_A3_BD":"DMA","ADM0_A3_UA":"DMA","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"North America","REGION_UN":"Americas","SUBREGION":"Caribbean","REGION_WB":"Latin America & Caribbean","NAME_LEN":8,"LONG_LEN":8,"ABBREV_LEN":6,"TINY":4,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":4,"MAX_LABEL":9,"LABEL_X":-61.344958,"LABEL_Y":15.458829,"NE_ID":1159320543,"WIKIDATAID":"Q784","NAME_AR":"دومينيكا","NAME_BN":"ডোমিনিকা","NAME_DE":"Dominica","NAME_EN":"Dominica","NAME_ES":"Dominica","NAME_FA":"دومینیکا","NAME_FR":"Dominique","NAME_EL":"Δομινίκα","NAME_HE":"דומיניקה","NAME_HI":"डोमिनिका","NAME_HU":"Dominikai Közösség","NAME_ID":"Dominika","NAME_IT":"Dominica","NAME_JA":"ドミニカ国","NAME_KO":"도미니카 연방","NAME_NL":"Dominica","NAME_PL":"Dominika","NAME_PT":"Dominica","NAME_RU":"Доминика","NAME_SV":"Dominica","NAME_TR":"Dominika","NAME_UK":"Домініка","NAME_UR":"ڈومینیکا","NAME_VI":"Dominica","NAME_ZH":"多米尼克","NAME_ZHT":"多米尼克","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[-61.481152,15.227295,-61.251074,15.633105],"geometry":{"type":"Polygon","coordinates":[[[-61.281689,15.249023],[-61.375391,15.227295],[-61.415723,15.399854],[-61.481152,15.525146],[-61.469922,15.603467],[-61.458105,15.633105],[-61.32002,15.585059],[-61.277246,15.526709],[-61.251074,15.373145],[-61.281689,15.249023]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":5,"SOVEREIGNT":"Djibouti","SOV_A3":"DJI","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Djibouti","ADM0_A3":"DJI","GEOU_DIF":0,"GEOUNIT":"Djibouti","GU_A3":"DJI","SU_DIF":0,"SUBUNIT":"Djibouti","SU_A3":"DJI","BRK_DIFF":0,"NAME":"Djibouti","NAME_LONG":"Djibouti","BRK_A3":"DJI","BRK_NAME":"Djibouti","BRK_GROUP":null,"ABBREV":"Dji.","POSTAL":"DJ","FORMAL_EN":"Republic of Djibouti","FORMAL_FR":null,"NAME_CIAWF":"Djibouti","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Djibouti","NAME_ALT":null,"MAPCOLOR7":1,"MAPCOLOR8":2,"MAPCOLOR9":4,"MAPCOLOR13":8,"POP_EST":973560,"POP_RANK":11,"POP_YEAR":2019,"GDP_MD":3324,"GDP_YEAR":2019,"ECONOMY":"7. Least developed region","INCOME_GRP":"4. Lower middle income","FIPS_10":"DJ","ISO_A2":"DJ","ISO_A2_EH":"DJ","ISO_A3":"DJI","ISO_A3_EH":"DJI","ISO_N3":"262","ISO_N3_EH":"262","UN_A3":"262","WB_A2":"DJ","WB_A3":"DJI","WOE_ID":23424797,"WOE_ID_EH":23424797,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"DJI","ADM0_DIFF":null,"ADM0_TLC":"DJI","ADM0_A3_US":"DJI","ADM0_A3_FR":"DJI","ADM0_A3_RU":"DJI","ADM0_A3_ES":"DJI","ADM0_A3_CN":"DJI","ADM0_A3_TW":"DJI","ADM0_A3_IN":"DJI","ADM0_A3_NP":"DJI","ADM0_A3_PK":"DJI","ADM0_A3_DE":"DJI","ADM0_A3_GB":"DJI","ADM0_A3_BR":"DJI","ADM0_A3_IL":"DJI","ADM0_A3_PS":"DJI","ADM0_A3_SA":"DJI","ADM0_A3_EG":"DJI","ADM0_A3_MA":"DJI","ADM0_A3_PT":"DJI","ADM0_A3_AR":"DJI","ADM0_A3_JP":"DJI","ADM0_A3_KO":"DJI","ADM0_A3_VN":"DJI","ADM0_A3_TR":"DJI","ADM0_A3_ID":"DJI","ADM0_A3_PL":"DJI","ADM0_A3_GR":"DJI","ADM0_A3_IT":"DJI","ADM0_A3_NL":"DJI","ADM0_A3_SE":"DJI","ADM0_A3_BD":"DJI","ADM0_A3_UA":"DJI","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Africa","REGION_UN":"Africa","SUBREGION":"Eastern Africa","REGION_WB":"Middle East & North Africa","NAME_LEN":8,"LONG_LEN":8,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":4,"MAX_LABEL":9,"LABEL_X":42.498825,"LABEL_Y":11.976343,"NE_ID":1159320541,"WIKIDATAID":"Q977","NAME_AR":"جيبوتي","NAME_BN":"জিবুতি","NAME_DE":"Dschibuti","NAME_EN":"Djibouti","NAME_ES":"Yibuti","NAME_FA":"جیبوتی","NAME_FR":"Djibouti","NAME_EL":"Τζιμπουτί","NAME_HE":"ג'יבוטי","NAME_HI":"जिबूती","NAME_HU":"Dzsibuti","NAME_ID":"Djibouti","NAME_IT":"Gibuti","NAME_JA":"ジブチ","NAME_KO":"지부티","NAME_NL":"Djibouti","NAME_PL":"Dżibuti","NAME_PT":"Djibouti","NAME_RU":"Джибути","NAME_SV":"Djibouti","NAME_TR":"Cibuti","NAME_UK":"Джибуті","NAME_UR":"جبوتی","NAME_VI":"Djibouti","NAME_ZH":"吉布提","NAME_ZHT":"吉布地","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[41.764648,10.941016,43.409766,12.708594],"geometry":{"type":"Polygon","coordinates":[[[43.245996,11.499805],[43.159375,11.365723],[43.048633,11.194336],[42.922754,10.999316],[42.844141,10.997949],[42.783008,11.009277],[42.741211,11.042383],[42.65498,11.07832],[42.557715,11.080762],[42.465137,11.04707],[42.308105,11.005225],[42.166211,10.991602],[42.052148,10.968359],[41.957422,10.941016],[41.872168,10.955811],[41.798242,10.980469],[41.782031,11.187793],[41.764648,11.412891],[41.766504,11.589111],[41.792676,11.686035],[41.815625,11.723779],[41.949609,11.857861],[41.995898,11.912354],[42.149121,12.134131],[42.280371,12.324268],[42.378516,12.466406],[42.408594,12.494385],[42.45,12.521338],[42.479395,12.513623],[42.670117,12.376562],[42.703711,12.380322],[42.76748,12.422852],[42.825293,12.569336],[42.865918,12.622803],[42.883301,12.621289],[43.005664,12.662305],[43.116699,12.708594],[43.130859,12.660449],[43.298633,12.463867],[43.353516,12.367041],[43.409766,12.189941],[43.380273,12.09126],[43.336719,12.027002],[43.27207,11.969531],[43.048047,11.829053],[42.799023,11.739404],[42.640039,11.560107],[42.521777,11.572168],[42.539746,11.504297],[42.583789,11.496777],[42.652734,11.50957],[42.789746,11.561719],[42.911523,11.586621],[43.042773,11.588477],[43.161719,11.566016],[43.245996,11.499805]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":3,"SOVEREIGNT":"Denmark","SOV_A3":"DN1","ADM0_DIF":1,"LEVEL":2,"TYPE":"Country","TLC":"1","ADMIN":"Greenland","ADM0_A3":"GRL","GEOU_DIF":0,"GEOUNIT":"Greenland","GU_A3":"GRL","SU_DIF":0,"SUBUNIT":"Greenland","SU_A3":"GRL","BRK_DIFF":0,"NAME":"Greenland","NAME_LONG":"Greenland","BRK_A3":"GRL","BRK_NAME":"Greenland","BRK_GROUP":null,"ABBREV":"Grlnd.","POSTAL":"GL","FORMAL_EN":"Greenland","FORMAL_FR":null,"NAME_CIAWF":"Greenland","NOTE_ADM0":"Den.","NOTE_BRK":null,"NAME_SORT":"Greenland","NAME_ALT":null,"MAPCOLOR7":4,"MAPCOLOR8":1,"MAPCOLOR9":3,"MAPCOLOR13":12,"POP_EST":56225,"POP_RANK":8,"POP_YEAR":2019,"GDP_MD":3051,"GDP_YEAR":2018,"ECONOMY":"2. Developed region: nonG7","INCOME_GRP":"2. High income: nonOECD","FIPS_10":"GL","ISO_A2":"GL","ISO_A2_EH":"GL","ISO_A3":"GRL","ISO_A3_EH":"GRL","ISO_N3":"304","ISO_N3_EH":"304","UN_A3":"304","WB_A2":"GL","WB_A3":"GRL","WOE_ID":23424828,"WOE_ID_EH":23424828,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"GRL","ADM0_DIFF":null,"ADM0_TLC":"GRL","ADM0_A3_US":"GRL","ADM0_A3_FR":"GRL","ADM0_A3_RU":"GRL","ADM0_A3_ES":"GRL","ADM0_A3_CN":"GRL","ADM0_A3_TW":"GRL","ADM0_A3_IN":"GRL","ADM0_A3_NP":"GRL","ADM0_A3_PK":"GRL","ADM0_A3_DE":"GRL","ADM0_A3_GB":"GRL","ADM0_A3_BR":"GRL","ADM0_A3_IL":"GRL","ADM0_A3_PS":"GRL","ADM0_A3_SA":"GRL","ADM0_A3_EG":"GRL","ADM0_A3_MA":"GRL","ADM0_A3_PT":"GRL","ADM0_A3_AR":"GRL","ADM0_A3_JP":"GRL","ADM0_A3_KO":"GRL","ADM0_A3_VN":"GRL","ADM0_A3_TR":"GRL","ADM0_A3_ID":"GRL","ADM0_A3_PL":"GRL","ADM0_A3_GR":"GRL","ADM0_A3_IT":"GRL","ADM0_A3_NL":"GRL","ADM0_A3_SE":"GRL","ADM0_A3_BD":"GRL","ADM0_A3_UA":"GRL","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"North America","REGION_UN":"Americas","SUBREGION":"Northern America","REGION_WB":"Europe & Central Asia","NAME_LEN":9,"LONG_LEN":9,"ABBREV_LEN":6,"TINY":-99,"HOMEPART":-99,"MIN_ZOOM":0,"MIN_LABEL":1.7,"MAX_LABEL":6.7,"LABEL_X":-39.335251,"LABEL_Y":74.319387,"NE_ID":1159320551,"WIKIDATAID":"Q223","NAME_AR":"جرينلاند","NAME_BN":"গ্রিনল্যান্ড","NAME_DE":"Grönland","NAME_EN":"Greenland","NAME_ES":"Groenlandia","NAME_FA":"گرینلند","NAME_FR":"Groenland","NAME_EL":"Γροιλανδία","NAME_HE":"גרינלנד","NAME_HI":"ग्रीनलैण्ड","NAME_HU":"Grönland","NAME_ID":"Greenland","NAME_IT":"Groenlandia","NAME_JA":"グリーンランド","NAME_KO":"그린란드","NAME_NL":"Groenland","NAME_PL":"Grenlandia","NAME_PT":"Groenlândia","NAME_RU":"Гренландия","NAME_SV":"Grönland","NAME_TR":"Grönland","NAME_UK":"Гренландія","NAME_UR":"گرین لینڈ","NAME_VI":"Greenland","NAME_ZH":"格陵兰","NAME_ZHT":"格陵蘭","FCLASS_ISO":"Admin-0 dependency","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 dependency","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[-72.818066,59.815479,-11.425537,83.599609],"geometry":{"type":"MultiPolygon","coordinates":[[[[-29.952881,83.564844],[-28.991992,83.504785],[-28.483789,83.434912],[-28.377051,83.437207],[-27.688379,83.4104],[-27.034424,83.376904],[-25.947412,83.289648],[-25.795068,83.260986],[-25.912451,83.2375],[-26.182715,83.221387],[-27.571875,83.192627],[-30.091992,83.157422],[-31.533984,83.088916],[-31.992676,83.085352],[-32.032715,82.983447],[-31.836768,82.977881],[-31.515576,82.99165],[-30.386035,83.093701],[-29.963574,83.110498],[-29.175,83.102002],[-28.151465,83.063721],[-27.738525,83.077197],[-27.002051,83.067188],[-26.14082,83.096436],[-25.123389,83.159619],[-24.845166,83.018555],[-24.470312,82.877393],[-24.173633,82.893018],[-23.919531,82.885107],[-23.833545,82.83877],[-23.694629,82.819141],[-23.406934,82.829688],[-22.524902,82.78916],[-21.919678,82.716406],[-21.691797,82.68252],[-21.58252,82.63418],[-21.520654,82.59541],[-21.615771,82.547705],[-21.993945,82.462793],[-22.472559,82.384717],[-23.118066,82.324707],[-23.862207,82.287061],[-29.579395,82.161182],[-29.772754,82.13125],[-29.887402,82.054834],[-29.810986,81.955469],[-29.543848,81.939941],[-28.919434,81.995898],[-27.839502,82.048877],[-27.045947,82.046338],[-25.148828,82.001123],[-24.58916,81.882812],[-24.293066,81.700977],[-23.636523,81.741846],[-23.496143,81.773047],[-23.392969,81.827197],[-23.310547,81.885303],[-23.248779,81.947266],[-23.179834,81.989453],[-23.103711,82.011816],[-22.940088,82.030518],[-22.563379,82.053027],[-21.575537,82.074951],[-21.337988,82.068701],[-21.167383,81.983838],[-21.130322,81.934229],[-21.117969,81.869629],[-21.123437,81.789941],[-21.146582,81.695166],[-21.230518,81.601367],[-21.503906,81.4375],[-21.723633,81.348242],[-21.960742,81.283936],[-22.415283,81.137109],[-22.572754,81.0979],[-23.072461,80.926709],[-23.196387,80.847363],[-23.203662,80.789258],[-23.117725,80.778174],[-22.972852,80.832813],[-22.918945,80.871826],[-22.825684,80.912646],[-22.089404,81.020215],[-21.931348,81.050195],[-21.449756,81.178174],[-21.142432,81.226172],[-20.889746,81.276367],[-20.755859,81.312012],[-20.015723,81.564355],[-19.629932,81.639893],[-19.224756,81.640039],[-19.152979,81.512207],[-18.667383,81.492432],[-18.456543,81.497949],[-18.117871,81.466846],[-17.969385,81.441162],[-17.71665,81.428174],[-17.456055,81.397705],[-17.226221,81.43042],[-17.159033,81.450928],[-16.937061,81.543896],[-16.637109,81.626221],[-16.358984,81.729053],[-16.266797,81.753955],[-16.120703,81.776611],[-15.968896,81.785498],[-15.555518,81.833594],[-15.450635,81.836963],[-15.22749,81.821777],[-14.241992,81.813867],[-13.704492,81.789062],[-12.956006,81.720215],[-12.434424,81.68252],[-12.192871,81.649121],[-11.841113,81.577539],[-11.557471,81.502637],[-11.425537,81.480615],[-11.430664,81.456836],[-11.528809,81.424023],[-12.231348,81.309229],[-12.46123,81.23252],[-13.126221,81.087793],[-13.451172,81.038086],[-13.804297,81.018604],[-14.197363,81.013916],[-14.452344,80.993115],[-14.490137,80.973291],[-14.308496,80.913232],[-14.228564,80.870459],[-14.240186,80.832422],[-14.43125,80.776074],[-14.503564,80.763281],[-15.194238,80.721436],[-15.542676,80.650391],[-15.99751,80.641699],[-16.318945,80.649805],[-16.760596,80.573389],[-16.587793,80.51123],[-16.429443,80.484229],[-15.937256,80.427637],[-15.932617,80.395117],[-16.167773,80.329395],[-16.48877,80.251953],[-16.868408,80.198242],[-17.011133,80.190186],[-17.191162,80.203662],[-17.357227,80.200781],[-17.722852,80.176025],[-18.070947,80.17207],[-18.692578,80.20708],[-19.029004,80.247607],[-19.206006,80.261621],[-19.429199,80.257715],[-19.515039,80.241406],[-19.866797,80.144727],[-20.039502,80.078711],[-20.150146,80.01123],[-20.197412,79.937646],[-20.181348,79.857959],[-20.138477,79.803369],[-20.068848,79.773779],[-19.9854,79.755859],[-19.839307,79.746484],[-19.517871,79.755371],[-19.391504,79.750342],[-19.353027,79.73418],[-19.283594,79.683154],[-19.295996,79.63501],[-19.354199,79.567334],[-19.399316,79.488379],[-19.431201,79.398145],[-19.414014,79.348828],[-19.283984,79.338037],[-19.222949,79.341602],[-19.152197,79.325391],[-19.071777,79.289453],[-19.011328,79.251465],[-18.970801,79.211377],[-18.991992,79.178369],[-19.074951,79.152344],[-19.262207,79.122998],[-19.723047,79.065039],[-19.769824,79.047363],[-19.806055,79.012109],[-19.831592,78.959131],[-19.887207,78.910938],[-19.9729,78.867627],[-20.050488,78.841797],[-20.199902,78.830322],[-20.395703,78.828809],[-20.615576,78.803906],[-21.13374,78.658643],[-21.141455,78.642529],[-20.947461,78.595898],[-20.955664,78.555029],[-21.194775,78.379834],[-21.260205,78.293018],[-21.312012,78.173975],[-21.397266,78.073584],[-21.515967,77.991846],[-21.632666,77.897461],[-21.747559,77.790625],[-21.72959,77.708545],[-21.578906,77.651367],[-21.379687,77.697559],[-21.131885,77.847217],[-20.862598,77.911865],[-20.571826,77.891553],[-20.318604,77.861963],[-19.995117,77.803418],[-19.724316,77.766943],[-19.49043,77.718896],[-19.393994,77.678369],[-19.296875,77.621289],[-19.296094,77.585254],[-19.467529,77.56582],[-19.524121,77.571973],[-19.953223,77.666357],[-20.162061,77.689844],[-20.439209,77.661621],[-20.680811,77.618994],[-20.46377,77.447314],[-20.231934,77.368408],[-19.808643,77.332373],[-19.587598,77.294434],[-19.426416,77.245996],[-19.300293,77.222363],[-19.131006,77.232764],[-18.903418,77.280469],[-18.585889,77.283057],[-18.442627,77.259375],[-18.339014,77.215283],[-18.292383,77.132861],[-18.302734,77.012109],[-18.337256,76.921191],[-18.396045,76.860059],[-18.510303,76.778174],[-18.605762,76.763281],[-18.740283,76.767725],[-18.865332,76.784521],[-18.981006,76.81377],[-19.156348,76.836572],[-19.508789,76.861084],[-19.864941,76.914404],[-20.064355,76.927588],[-20.486719,76.920801],[-20.94209,76.887012],[-20.959912,76.842676],[-21.614697,76.687891],[-21.749023,76.68999],[-21.930811,76.743164],[-22.185254,76.794092],[-22.334326,76.793701],[-22.554541,76.729248],[-22.609326,76.704297],[-22.606641,76.680762],[-22.444434,76.625049],[-22.378613,76.612207],[-22.294873,76.601465],[-22.003711,76.588086],[-21.877344,76.573486],[-21.758105,76.400537],[-21.569092,76.293701],[-21.488232,76.271875],[-21.416846,76.264014],[-21.185449,76.267969],[-20.887402,76.304004],[-20.783301,76.275146],[-20.563818,76.239844],[-20.4354,76.231055],[-20.279297,76.232471],[-20.103613,76.219092],[-19.862891,76.120654],[-19.957715,75.99668],[-19.806885,75.897363],[-19.566016,75.794971],[-19.508984,75.75752],[-19.485693,75.6896],[-19.480273,75.644775],[-19.462158,75.603857],[-19.431445,75.566895],[-19.399512,75.494434],[-19.366455,75.386426],[-19.375293,75.298193],[-19.425977,75.229834],[-19.526367,75.180225],[-19.67627,75.149365],[-19.798486,75.157471],[-19.893164,75.204541],[-20.026562,75.254688],[-20.198682,75.307959],[-20.484961,75.314258],[-20.905859,75.156934],[-21.093848,75.149072],[-21.246533,75.133398],[-21.409424,75.064795],[-21.649316,75.023438],[-21.861035,75.039844],[-22.232861,75.119727],[-22.097754,75.066357],[-21.904346,75.003906],[-21.783936,74.971484],[-21.695117,74.964453],[-21.597656,74.971973],[-21.457324,74.997559],[-21.140576,75.068555],[-21.056689,75.079395],[-20.985791,75.074365],[-20.927783,75.053418],[-20.861084,74.992578],[-20.785693,74.891748],[-20.795312,74.805957],[-20.88999,74.735205],[-20.970996,74.689844],[-21.038281,74.669873],[-21.038477,74.65415],[-20.861572,74.635937],[-20.611133,74.728223],[-20.531738,74.84292],[-20.41709,74.975195],[-20.214258,75.019238],[-19.984912,74.975195],[-19.799707,74.851709],[-19.537793,74.624561],[-19.427344,74.600928],[-19.287012,74.546387],[-19.225098,74.479492],[-19.24165,74.400195],[-19.271582,74.342627],[-19.314941,74.306787],[-19.369141,74.284033],[-19.466748,74.269482],[-19.64624,74.257959],[-20.047559,74.282275],[-20.256445,74.282813],[-20.230566,74.204639],[-20.653125,74.137354],[-21.129443,74.110889],[-21.580566,74.163477],[-21.954932,74.244287],[-21.832031,74.357275],[-21.761963,74.482764],[-21.94292,74.565723],[-21.982617,74.56748],[-21.920166,74.439209],[-21.972705,74.390039],[-22.177197,74.330176],[-22.321582,74.302539],[-22.334326,74.286377],[-22.263525,74.272412],[-22.217334,74.245508],[-22.195654,74.205713],[-22.22002,74.165527],[-22.290576,74.125],[-22.328955,74.090967],[-22.335254,74.063428],[-22.270557,74.029883],[-22.134814,73.990479],[-21.987695,73.970996],[-21.298291,73.962451],[-21.022217,73.94126],[-20.367285,73.848242],[-20.337988,73.819678],[-20.448926,73.653027],[-20.509668,73.492871],[-20.636719,73.463574],[-21.325879,73.456641],[-21.547998,73.431689],[-21.872852,73.358105],[-22.185059,73.269873],[-22.346875,73.269238],[-22.9875,73.34624],[-23.233203,73.397705],[-23.760596,73.543115],[-24.157715,73.764453],[-24.339893,73.672412],[-24.45127,73.628516],[-24.566309,73.605762],[-24.677246,73.602197],[-24.78418,73.61792],[-24.905469,73.652783],[-25.108838,73.733691],[-25.351465,73.813623],[-25.521289,73.851611],[-25.527734,73.84082],[-25.427441,73.793799],[-25.280518,73.7396],[-24.908887,73.580176],[-24.77832,73.539893],[-24.79126,73.511279],[-25.025879,73.485791],[-25.310742,73.431006],[-25.450098,73.390674],[-25.66543,73.292822],[-25.740186,73.277637],[-26.062305,73.253027],[-26.168555,73.259033],[-26.406738,73.312939],[-26.765479,73.348193],[-26.976709,73.379541],[-27.27041,73.436279],[-27.169385,73.37417],[-26.603613,73.279492],[-26.541846,73.248975],[-26.657617,73.192139],[-26.728613,73.171387],[-26.86333,73.166992],[-27.061865,73.178906],[-27.264893,73.176465],[-27.472363,73.159814],[-27.561621,73.138477],[-27.532568,73.112549],[-27.483154,73.088916],[-27.41333,73.067627],[-27.348047,73.067822],[-27.189893,73.132422],[-27.07002,73.137012],[-26.753223,73.121094],[-26.432861,73.171484],[-26.202002,73.193213],[-26.02876,73.198779],[-25.399023,73.275781],[-25.268311,73.361963],[-25.057031,73.396484],[-24.587207,73.422949],[-24.132666,73.409375],[-23.898975,73.398291],[-23.709619,73.316797],[-23.455762,73.259082],[-23.244092,73.193262],[-22.996045,73.171582],[-22.852295,73.083984],[-22.450195,72.986084],[-22.194238,72.965039],[-22.036328,72.918457],[-22.023486,72.720801],[-22.006738,72.635449],[-22.074805,72.399219],[-22.280225,72.344775],[-22.239258,72.220264],[-22.293213,72.119531],[-22.49751,72.157764],[-22.706836,72.223926],[-23.208008,72.326562],[-23.674365,72.392578],[-23.855566,72.452441],[-24.069043,72.49873],[-24.358594,72.687305],[-24.547217,72.921729],[-24.62998,73.037646],[-24.788574,73.044141],[-24.99248,73.013086],[-25.170557,72.980273],[-25.255859,72.924121],[-25.86084,72.846875],[-26.080469,72.793994],[-26.205762,72.795557],[-26.657617,72.71582],[-26.476562,72.677637],[-26.39209,72.672803],[-26.209473,72.694385],[-26.099805,72.721924],[-25.687988,72.797363],[-25.357422,72.810254],[-25.2375,72.842773],[-24.984814,72.889209],[-24.81333,72.901514],[-24.789453,72.889746],[-24.771045,72.868652],[-24.65,72.58252],[-24.700684,72.506348],[-24.836914,72.47334],[-25.128027,72.419189],[-25.203711,72.392969],[-25.117871,72.346973],[-24.844189,72.390332],[-24.666846,72.437354],[-24.572363,72.420215],[-24.417187,72.348242],[-24.242285,72.311328],[-23.797705,72.200732],[-23.587109,72.139795],[-23.290918,72.081006],[-22.955762,71.999414],[-22.868506,71.970654],[-22.562158,71.928271],[-22.496875,71.913818],[-22.370215,71.769824],[-22.264502,71.753809],[-21.959668,71.744678],[-22.01333,71.688818],[-22.311035,71.564551],[-22.46499,71.524902],[-22.503223,71.500439],[-22.488574,71.456689],[-22.479639,71.383447],[-22.417578,71.248682],[-22.347754,71.373486],[-22.299023,71.432324],[-22.233789,71.449951],[-22.16958,71.452539],[-21.961426,71.508203],[-21.752246,71.47832],[-21.697949,71.337451],[-21.671191,71.205957],[-21.689648,71.092383],[-21.666602,70.915869],[-21.674512,70.856299],[-21.625146,70.804639],[-21.573926,70.590479],[-21.522656,70.526221],[-21.625537,70.468555],[-21.943506,70.443457],[-22.069287,70.471875],[-22.384131,70.462402],[-22.384521,70.513135],[-22.399854,70.571289],[-22.401123,70.611914],[-22.422119,70.648682],[-22.437012,70.86001],[-22.526074,70.807812],[-22.531348,70.76499],[-22.555029,70.721436],[-22.609668,70.493311],[-22.690674,70.437305],[-22.942578,70.450781],[-23.190625,70.44248],[-23.327832,70.450977],[-23.791797,70.555176],[-23.971387,70.649463],[-24.130371,70.791064],[-24.228516,70.923389],[-24.265723,71.046338],[-24.377002,71.146387],[-24.562207,71.223535],[-24.781006,71.286084],[-25.033398,71.333936],[-25.25498,71.395703],[-25.445801,71.47124],[-25.655859,71.530029],[-25.885156,71.571924],[-26.211426,71.589941],[-26.688525,71.58335],[-27.010645,71.630566],[-27.087207,71.626563],[-27.162305,71.602197],[-27.107031,71.532666],[-26.737207,71.500781],[-26.452002,71.493506],[-26.074072,71.498047],[-25.842725,71.480176],[-25.757812,71.439941],[-25.699414,71.368311],[-25.667578,71.265332],[-25.742236,71.183594],[-26.014111,71.092822],[-26.15752,71.050293],[-26.575977,70.968701],[-26.71792,70.950488],[-27.067334,70.944922],[-27.335693,70.952783],[-27.68877,70.993457],[-27.888916,71.001709],[-28.303125,71.007178],[-28.398438,70.99292],[-28.291553,70.949316],[-28.115869,70.924609],[-27.992188,70.895215],[-27.979297,70.839502],[-28.023877,70.756787],[-28.069873,70.699023],[-28.145654,70.655664],[-28.41748,70.573535],[-28.530078,70.547559],[-29.036816,70.461523],[-29.07207,70.444971],[-28.953467,70.447217],[-28.633105,70.477783],[-28.540918,70.476904],[-28.015039,70.402246],[-27.596094,70.406689],[-26.747266,70.475537],[-26.67749,70.474219],[-26.621777,70.463379],[-26.56543,70.437549],[-26.508398,70.396631],[-26.576807,70.35708],[-26.770654,70.318896],[-27.07251,70.281201],[-27.203223,70.255713],[-27.328125,70.217139],[-27.56084,70.124463],[-27.628857,70.028223],[-27.38418,69.991602],[-27.274219,70.037939],[-27.144482,70.14082],[-27.027734,70.201221],[-26.752148,70.242188],[-26.415674,70.221338],[-26.155713,70.245605],[-25.624854,70.346973],[-25.529883,70.353174],[-24.748828,70.295068],[-24.041016,70.181201],[-23.667334,70.139307],[-23.173242,70.1146],[-22.284473,70.12583],[-22.206592,70.10791],[-22.235449,70.067578],[-22.287061,70.033398],[-22.435107,69.985742],[-22.614941,69.954248],[-22.726221,69.945361],[-22.820898,69.922852],[-23.033643,69.90083],[-23.088232,69.882959],[-23.014551,69.804834],[-23.049561,69.792725],[-23.236963,69.791455],[-23.552539,69.740527],[-23.811621,69.744189],[-23.865723,69.736719],[-23.816553,69.717822],[-23.764258,69.681348],[-23.708984,69.627246],[-23.739404,69.588623],[-23.855566,69.565576],[-23.943652,69.558057],[-24.24751,69.590381],[-24.29668,69.585547],[-24.252295,69.562354],[-24.227051,69.526953],[-24.220898,69.479297],[-24.295557,69.439307],[-24.451074,69.40708],[-24.740576,69.318408],[-24.866602,69.293066],[-25.13252,69.272119],[-25.188574,69.260547],[-25.080469,69.19248],[-25.092432,69.165186],[-25.272217,69.091602],[-25.544043,69.045703],[-25.581152,69.020947],[-25.606348,68.954443],[-25.626123,68.927979],[-25.697998,68.889893],[-25.955859,68.817285],[-26.138623,68.781152],[-26.229248,68.751563],[-26.341406,68.702148],[-26.48291,68.675928],[-26.653711,68.672852],[-26.815332,68.654346],[-27.081152,68.601807],[-27.26626,68.584326],[-27.851221,68.493506],[-28.126465,68.479004],[-28.364551,68.446533],[-28.854346,68.359814],[-29.087695,68.331934],[-29.249512,68.298779],[-29.426221,68.289307],[-29.713574,68.31084],[-29.868506,68.311572],[-29.96377,68.298535],[-30.051123,68.271924],[-30.195508,68.198975],[-30.318115,68.193311],[-30.72002,68.251172],[-30.711865,68.224951],[-30.605664,68.162354],[-30.610742,68.11792],[-30.849756,68.072852],[-30.978564,68.061328],[-31.168457,68.079834],[-31.419482,68.128467],[-31.741992,68.22998],[-32.137256,68.384912],[-32.327441,68.437305],[-32.313672,68.387598],[-32.269629,68.339014],[-32.195215,68.29165],[-32.180127,68.257275],[-32.224219,68.235986],[-32.282373,68.225244],[-32.35459,68.225098],[-32.366846,68.213037],[-32.248926,68.139111],[-32.155957,68.063184],[-32.164551,67.991113],[-32.274805,67.922852],[-32.369531,67.882764],[-32.44873,67.870947],[-32.918018,67.700684],[-33.04873,67.679248],[-33.108154,67.658203],[-33.156982,67.626709],[-33.293604,67.485742],[-33.348877,67.442725],[-33.458496,67.386719],[-33.504443,67.377002],[-33.517578,67.354199],[-33.497754,67.318164],[-33.527979,67.258154],[-33.608203,67.174219],[-33.881348,66.942285],[-34.10166,66.725928],[-34.198242,66.655078],[-34.268896,66.625049],[-34.313623,66.635791],[-34.422852,66.630176],[-34.475879,66.592139],[-34.523926,66.52334],[-34.57627,66.470898],[-34.632812,66.434766],[-35.074658,66.27915],[-35.188574,66.250293],[-35.290869,66.268555],[-35.411719,66.261523],[-35.662061,66.34375],[-35.705469,66.373975],[-35.867236,66.441406],[-35.861865,66.40625],[-35.834717,66.386865],[-35.812109,66.358398],[-35.755518,66.323535],[-35.630078,66.139941],[-35.729297,66.102246],[-35.81792,66.059229],[-36.044189,65.986621],[-36.288721,65.864844],[-36.379199,65.830811],[-36.399219,65.930078],[-36.388965,65.959717],[-36.527246,66.007715],[-36.522754,65.973145],[-36.537012,65.940869],[-36.637256,65.812305],[-36.665186,65.790088],[-36.714502,65.795068],[-36.822168,65.771338],[-36.932422,65.782568],[-37.025879,65.841113],[-37.062793,65.871436],[-37.233203,65.788086],[-37.316016,65.790234],[-37.329834,65.720166],[-37.410059,65.656348],[-37.516064,65.628711],[-37.66377,65.630859],[-37.754199,65.593066],[-37.954785,65.633594],[-38.00127,65.709619],[-37.842285,65.813818],[-37.797363,65.856787],[-37.826514,65.909668],[-37.787842,65.977979],[-37.484473,66.194629],[-37.278711,66.304395],[-37.290674,66.323926],[-37.569922,66.347852],[-37.813916,66.385498],[-38.05166,66.398438],[-38.156641,66.385596],[-37.98916,66.322656],[-37.752344,66.261523],[-37.868896,66.203125],[-37.969434,66.141113],[-38.073437,65.972559],[-38.139941,65.903516],[-38.398145,65.982861],[-38.520361,66.009668],[-38.442676,65.92168],[-38.216357,65.83833],[-38.201855,65.810889],[-38.203369,65.711719],[-38.636719,65.624365],[-39.088965,65.611133],[-39.413379,65.586279],[-39.960938,65.556201],[-40.173535,65.556152],[-40.191553,65.52251],[-39.655957,65.368896],[-39.57793,65.340771],[-39.652539,65.287842],[-39.763184,65.254932],[-39.937256,65.141602],[-40.028027,65.102539],[-40.253125,65.048877],[-40.667578,65.10874],[-40.880566,65.081982],[-41.084424,65.10083],[-41.088672,65.035352],[-41.027734,64.987549],[-40.966016,64.868848],[-40.829297,64.878076],[-40.655469,64.915332],[-40.521094,64.825488],[-40.432715,64.673193],[-40.278418,64.595947],[-40.209863,64.536279],[-40.182227,64.479932],[-40.278467,64.423828],[-40.477637,64.344434],[-40.698535,64.329736],[-40.686426,64.266943],[-40.781738,64.221777],[-40.98457,64.23501],[-41.079395,64.266504],[-41.177734,64.281445],[-41.581006,64.29834],[-41.175,64.177393],[-41.030566,64.121045],[-40.966309,64.154443],[-40.825684,64.162549],[-40.617773,64.131738],[-40.652344,63.927734],[-40.561279,63.762354],[-40.550391,63.725244],[-40.771533,63.626172],[-40.775195,63.533643],[-40.906836,63.507861],[-41.04873,63.513818],[-41.056152,63.412256],[-41.152246,63.348926],[-41.135205,63.309277],[-41.107715,63.273779],[-41.195459,63.209229],[-41.274707,63.130664],[-41.387891,63.061865],[-41.447852,63.068945],[-41.62793,63.064502],[-41.844482,63.070264],[-42.019727,63.159619],[-42.092383,63.189355],[-42.174512,63.208789],[-42.142969,63.151318],[-42.093994,63.116748],[-41.932275,63.052246],[-41.634473,62.972461],[-41.643604,62.915869],[-41.723242,62.89126],[-41.908984,62.737109],[-41.974902,62.733789],[-42.058252,62.693994],[-42.315625,62.707324],[-42.42373,62.723145],[-42.741113,62.713037],[-42.849072,62.72666],[-42.94165,62.720215],[-42.855273,62.676709],[-42.673682,62.6375],[-42.467139,62.598193],[-42.152979,62.568457],[-42.164355,62.512207],[-42.243164,62.466064],[-42.197949,62.397119],[-42.233105,62.347705],[-42.248145,62.289062],[-42.321484,62.152734],[-42.236133,62.05918],[-42.143066,62.013525],[-42.153857,61.953418],[-42.110205,61.857227],[-42.249707,61.771387],[-42.36543,61.774609],[-42.53042,61.755322],[-42.585303,61.71748],[-42.323633,61.681738],[-42.347363,61.617432],[-42.41875,61.537012],[-42.49375,61.362793],[-42.645996,61.064111],[-42.717041,60.76748],[-43.044092,60.523682],[-43.159961,60.516943],[-43.189063,60.507275],[-43.34834,60.519775],[-43.59834,60.576025],[-43.791992,60.59458],[-43.922705,60.595361],[-43.939551,60.567383],[-43.831152,60.521973],[-43.665479,60.502979],[-43.533057,60.472998],[-43.295654,60.444971],[-43.212988,60.390674],[-43.156494,60.332861],[-43.164844,60.301025],[-43.165332,60.263428],[-43.1229,60.06123],[-43.234814,59.991309],[-43.320117,59.928125],[-43.616895,59.936914],[-43.668506,59.958936],[-43.955029,60.025488],[-43.937402,59.994238],[-43.730127,59.90376],[-43.65791,59.858643],[-43.706201,59.849316],[-43.789844,59.845947],[-43.906543,59.815479],[-44.116992,59.831934],[-44.10542,59.877734],[-44.065479,59.924805],[-44.161719,59.916797],[-44.268945,59.89292],[-44.33125,59.901709],[-44.383594,59.899072],[-44.412939,59.922607],[-44.453467,60.014551],[-44.404932,60.060791],[-44.231348,60.180273],[-44.176123,60.244385],[-44.224365,60.273535],[-44.34834,60.204785],[-44.476367,60.095508],[-44.533154,60.029492],[-44.613281,60.01665],[-44.812207,60.049902],[-45.379248,60.20293],[-45.362354,60.295947],[-45.367773,60.372949],[-45.20249,60.382715],[-45.082275,60.416211],[-44.974707,60.457227],[-44.853516,60.531934],[-44.742432,60.655273],[-44.756738,60.6646],[-45.082715,60.507178],[-45.283301,60.454541],[-45.380518,60.444922],[-45.428857,60.468262],[-45.590283,60.518848],[-45.695215,60.541846],[-45.934326,60.579443],[-45.976514,60.599707],[-46.046631,60.615723],[-46.141943,60.776514],[-46.018652,60.971777],[-45.93374,61.028418],[-45.879883,61.094141],[-45.849414,61.181152],[-45.870215,61.218311],[-45.942285,61.205566],[-45.975684,61.175781],[-45.97041,61.129199],[-46.011719,61.096826],[-46.29668,61.022363],[-46.582422,60.962061],[-46.717773,60.904932],[-46.805664,60.860303],[-46.874463,60.816406],[-46.979687,60.820361],[-47.124854,60.811328],[-47.224414,60.782861],[-47.369727,60.800342],[-47.464648,60.842627],[-47.579053,60.847461],[-47.707471,60.8271],[-47.79624,60.828857],[-47.788867,60.800146],[-47.729932,60.729492],[-47.82793,60.724756],[-48.013965,60.721973],[-48.10752,60.742432],[-48.180811,60.769238],[-48.241943,60.806836],[-48.205176,60.855908],[-47.905957,60.945752],[-47.770312,60.997754],[-47.858789,61.015674],[-48.146143,60.999463],[-48.193945,61.012939],[-48.386426,61.004736],[-48.378125,61.138477],[-48.424951,61.17168],[-48.428174,61.187402],[-48.494824,61.224707],[-48.55791,61.233984],[-48.597168,61.247412],[-48.92207,61.277441],[-48.964502,61.352002],[-48.987207,61.428711],[-49.049219,61.523877],[-49.204736,61.548682],[-49.289062,61.589941],[-49.222266,61.632129],[-49.193115,61.685645],[-49.265234,61.710059],[-49.31123,61.747803],[-49.304492,61.772314],[-49.362891,61.838525],[-49.380273,61.890186],[-49.313477,61.938623],[-49.129785,61.993408],[-49.070557,62.015479],[-49.039648,62.039355],[-48.828711,62.079687],[-49.008154,62.108203],[-49.120459,62.112598],[-49.202295,62.099316],[-49.27793,62.045752],[-49.348535,62.010205],[-49.623779,61.998584],[-49.664258,62.016943],[-49.683398,62.092578],[-49.667725,62.150879],[-49.553467,62.232715],[-49.685254,62.27334],[-49.806055,62.286523],[-49.943359,62.324463],[-50.070215,62.364502],[-50.17915,62.411133],[-50.285205,62.466211],[-50.319238,62.473193],[-50.280908,62.530762],[-50.259326,62.578076],[-50.256006,62.679785],[-50.29873,62.721973],[-50.20376,62.808789],[-50.076025,62.90376],[-49.793115,63.044629],[-50.092236,62.976758],[-50.33833,62.82876],[-50.390088,62.822021],[-50.408203,62.848828],[-50.501563,62.944922],[-50.572021,62.971143],[-50.603516,63.000049],[-50.743506,63.05127],[-50.804297,63.090771],[-50.890479,63.166943],[-51.013086,63.257568],[-51.187598,63.436426],[-51.468848,63.642285],[-51.538184,63.758008],[-51.451074,63.904785],[-51.54751,64.006104],[-51.280078,64.052979],[-50.897559,64.105566],[-50.699365,64.149268],[-50.58501,64.162354],[-50.341895,64.170361],[-50.260693,64.214258],[-50.395947,64.203174],[-50.486621,64.208887],[-50.492285,64.229346],[-50.45874,64.26582],[-50.437061,64.312842],[-50.483398,64.304346],[-50.721045,64.22334],[-51.072314,64.159033],[-51.34668,64.123096],[-51.391113,64.125],[-51.487109,64.103271],[-51.542285,64.097021],[-51.584912,64.103174],[-51.682031,64.164746],[-51.707861,64.205078],[-51.533789,64.314209],[-51.40376,64.463184],[-51.231543,64.560596],[-51.109912,64.572803],[-50.906543,64.567578],[-50.834912,64.558984],[-50.857715,64.616797],[-50.849219,64.644678],[-50.684326,64.678174],[-50.49209,64.693164],[-50.355127,64.682568],[-50.268945,64.614746],[-50.158203,64.489551],[-50.008984,64.447266],[-50.015527,64.507422],[-50.092969,64.584912],[-50.121631,64.70376],[-50.219922,64.753857],[-50.298877,64.778564],[-50.516992,64.766504],[-50.648145,64.85332],[-50.677881,64.885205],[-50.681299,64.927539],[-50.812158,65.051855],[-50.854248,65.113965],[-50.92373,65.196729],[-50.960645,65.201123],[-50.913721,65.096973],[-50.852344,65.023682],[-50.764844,64.862549],[-50.721582,64.797607],[-50.780176,64.746143],[-50.891064,64.695215],[-50.989062,64.664844],[-51.220605,64.628467],[-51.17085,64.707764],[-51.138965,64.785742],[-51.255371,64.758105],[-51.363623,64.701562],[-51.400928,64.623096],[-51.470459,64.551807],[-51.676758,64.377051],[-51.758105,64.279932],[-51.834961,64.231982],[-51.922607,64.21875],[-51.998682,64.256787],[-52.063184,64.346094],[-52.093408,64.415918],[-52.097021,64.59707],[-52.088867,64.681543],[-52.124023,64.79541],[-52.235449,65.060547],[-52.259033,65.154932],[-52.447607,65.205127],[-52.450342,65.221338],[-52.499707,65.275049],[-52.537695,65.328809],[-52.50625,65.348486],[-52.461426,65.362695],[-52.17959,65.441943],[-51.970703,65.530713],[-51.721094,65.669922],[-51.619141,65.713184],[-51.25293,65.746484],[-51.090381,65.751025],[-51.091895,65.775781],[-51.146387,65.785645],[-51.393799,65.77915],[-51.723437,65.723486],[-51.779883,65.703418],[-51.924121,65.616797],[-52.035352,65.569482],[-52.348242,65.461328],[-52.55127,65.461377],[-52.760937,65.59082],[-52.994922,65.566016],[-53.15293,65.574561],[-53.198975,65.594043],[-53.23374,65.77085],[-53.106348,65.977148],[-53.24375,65.979053],[-53.272217,65.987402],[-53.344727,66.034375],[-53.392041,66.04834],[-53.356934,66.073291],[-53.017871,66.170898],[-52.510889,66.362402],[-52.292627,66.437646],[-52.15791,66.470117],[-52.056104,66.507324],[-51.932178,66.587891],[-51.891211,66.623145],[-51.822119,66.651562],[-51.676367,66.683594],[-51.51709,66.732031],[-51.258594,66.841211],[-51.225,66.881543],[-51.281055,66.890967],[-51.401953,66.85376],[-51.647705,66.754004],[-51.823047,66.697852],[-52.42124,66.44668],[-52.675879,66.355225],[-52.814453,66.296875],[-52.921924,66.241113],[-53.035791,66.201416],[-53.156055,66.177734],[-53.412744,66.159961],[-53.53877,66.139355],[-53.614697,66.154492],[-53.648096,66.273535],[-53.622607,66.344043],[-53.634717,66.413672],[-53.570703,66.513281],[-53.475684,66.583838],[-53.435791,66.622168],[-53.41875,66.648535],[-53.222705,66.721436],[-53.114648,66.753809],[-53.038281,66.826807],[-52.603125,66.852734],[-52.491064,66.850146],[-52.431445,66.859912],[-52.386865,66.881152],[-52.429736,66.897559],[-52.560107,66.909082],[-52.906689,66.906885],[-53.226953,66.919385],[-53.373096,66.931934],[-53.443604,66.924658],[-53.56001,66.945947],[-53.687158,66.986475],[-53.884424,67.135547],[-53.805469,67.326904],[-53.798584,67.418164],[-53.5479,67.498193],[-53.413867,67.524707],[-53.223584,67.584961],[-52.969531,67.687256],[-52.666455,67.749707],[-52.512012,67.761279],[-52.383594,67.752344],[-51.909082,67.663721],[-51.665039,67.646387],[-51.450586,67.667725],[-51.181445,67.636523],[-50.705371,67.508887],[-50.613477,67.52793],[-50.640137,67.558838],[-51.171045,67.693604],[-51.167969,67.733838],[-51.03208,67.744385],[-50.887012,67.783545],[-50.968848,67.806641],[-51.321484,67.786572],[-51.423242,67.754492],[-51.765234,67.737842],[-51.943848,67.765186],[-52.104199,67.778711],[-52.344824,67.836914],[-52.546191,67.81792],[-52.673242,67.794971],[-52.89834,67.773242],[-52.97959,67.757764],[-53.418799,67.574561],[-53.603613,67.536475],[-53.735205,67.549023],[-53.642822,67.668262],[-53.616211,67.715332],[-53.616357,67.766602],[-53.577979,67.836816],[-53.35293,67.970508],[-53.211377,68.116943],[-53.151562,68.207764],[-53.040967,68.21792],[-52.889844,68.204541],[-52.436084,68.145654],[-52.058496,68.075488],[-51.77998,68.056738],[-51.596875,68.054785],[-51.518359,68.077148],[-51.456494,68.116064],[-51.432666,68.143018],[-51.414697,68.198193],[-51.393701,68.217773],[-51.33252,68.241846],[-51.207275,68.325537],[-51.169141,68.385205],[-51.210156,68.419922],[-51.293457,68.416357],[-51.456104,68.393506],[-51.478027,68.383984],[-51.475049,68.365381],[-51.632422,68.273047],[-51.804004,68.251807],[-52.198535,68.220801],[-52.378516,68.218604],[-52.698389,68.261523],[-52.746777,68.278369],[-52.780029,68.309863],[-53.17251,68.302734],[-53.289844,68.293262],[-53.383154,68.297363],[-53.337402,68.352148],[-53.213281,68.412988],[-53.039453,68.610889],[-52.893848,68.661523],[-52.60459,68.70874],[-52.302783,68.701123],[-51.780664,68.548193],[-51.623145,68.534814],[-51.478711,68.547168],[-51.133301,68.598438],[-51.069922,68.619189],[-50.945703,68.682666],[-50.800635,68.79126],[-50.807715,68.816992],[-51.030225,68.756299],[-51.148877,68.739941],[-51.249414,68.739941],[-51.156055,68.938428],[-51.119727,69.090527],[-51.084863,69.128271],[-50.792285,69.116846],[-50.392676,69.137402],[-50.297363,69.170605],[-50.298877,69.185352],[-50.459375,69.205518],[-50.536621,69.247852],[-50.671045,69.234473],[-50.851074,69.20625],[-51.076953,69.209473],[-51.057812,69.274805],[-50.892236,69.411768],[-50.875195,69.474219],[-50.810596,69.599023],[-50.804102,69.663037],[-50.720264,69.725342],[-50.459082,69.769727],[-50.349463,69.79624],[-50.343457,69.825244],[-50.5,69.935791],[-50.460254,69.966309],[-50.3375,69.994141],[-50.291699,70.014453],[-50.322949,70.027148],[-50.436084,70.039355],[-50.609863,70.014941],[-50.802344,70.003223],[-50.972705,70.039893],[-51.105713,70.057422],[-51.189941,70.051904],[-51.418848,69.989209],[-51.499072,69.987158],[-51.598096,70.004541],[-52.254639,70.058936],[-52.336035,70.078125],[-52.57124,70.172119],[-52.765039,70.234131],[-53.023047,70.301904],[-53.35752,70.35332],[-53.768506,70.388525],[-54.014453,70.42168],[-54.135645,70.468408],[-54.343311,70.571191],[-54.501172,70.656885],[-54.530762,70.699268],[-54.437988,70.751611],[-54.343555,70.789209],[-54.16582,70.820117],[-53.85918,70.809912],[-53.694434,70.796094],[-53.513086,70.766602],[-53.376025,70.761035],[-53.091309,70.769385],[-52.801953,70.750586],[-52.63042,70.729932],[-52.405225,70.686768],[-51.783789,70.503223],[-51.524463,70.439453],[-51.411719,70.431787],[-50.946875,70.363623],[-50.872363,70.364893],[-50.682129,70.396875],[-50.663281,70.417578],[-50.727539,70.437988],[-50.932666,70.453857],[-51.17334,70.529102],[-51.322852,70.58877],[-51.339893,70.687549],[-51.32041,70.742871],[-51.282813,70.768018],[-51.256592,70.852686],[-51.396094,70.903027],[-51.493555,70.918896],[-51.752686,70.992236],[-51.774316,71.010449],[-51.650098,71.019043],[-51.528418,71.014014],[-51.26709,70.976855],[-51.130078,70.971729],[-51.03042,70.986279],[-51.018945,71.001318],[-51.177783,71.043457],[-51.37666,71.119043],[-51.791895,71.130127],[-52.061377,71.121631],[-52.233594,71.147559],[-52.416895,71.189697],[-52.53457,71.200439],[-52.775,71.174023],[-52.89668,71.170703],[-53.007568,71.17998],[-53.117041,71.312891],[-53.087891,71.352734],[-53.0021,71.369971],[-52.937305,71.412842],[-52.891846,71.457666],[-52.749414,71.501514],[-51.967285,71.599121],[-51.769922,71.671729],[-51.778613,71.68291],[-51.911719,71.669434],[-52.081934,71.636719],[-52.195801,71.62998],[-52.656299,71.672266],[-52.728076,71.662646],[-52.914551,71.601904],[-53.167529,71.535938],[-53.284082,71.539941],[-53.440088,71.579004],[-53.464844,71.606787],[-53.476025,71.640186],[-53.304736,71.685889],[-53.249707,71.710156],[-53.138867,71.775195],[-53.144531,71.807422],[-53.333691,71.789746],[-53.35835,71.819629],[-53.355273,71.870898],[-53.373633,71.935742],[-53.420117,71.999756],[-53.575391,72.098047],[-53.639795,72.12334],[-53.692871,72.159668],[-53.809863,72.292578],[-53.775977,72.32583],[-53.672021,72.351025],[-53.652148,72.362646],[-53.900537,72.341748],[-53.927734,72.318799],[-53.880908,72.284961],[-53.847461,72.239844],[-53.827539,72.183447],[-53.792871,72.134082],[-53.70293,72.080029],[-53.630957,72.051514],[-53.513672,71.97627],[-53.4625,71.893555],[-53.477588,71.849951],[-53.568652,71.805566],[-53.71543,71.757666],[-53.759863,71.718018],[-53.779687,71.678516],[-53.894092,71.641992],[-53.964355,71.655664],[-54.019922,71.657861],[-53.954297,71.592676],[-53.912061,71.525928],[-53.962988,71.458984],[-54.098926,71.418506],[-54.172705,71.417285],[-54.317725,71.384473],[-54.689062,71.367236],[-54.818311,71.375293],[-55.055371,71.408594],[-55.336426,71.426758],[-55.4479,71.471777],[-55.594043,71.553516],[-55.667822,71.626758],[-55.669336,71.691504],[-55.629785,71.738623],[-55.549219,71.768262],[-55.452441,71.957666],[-55.315576,72.110693],[-54.970898,72.268408],[-54.872607,72.325439],[-54.840137,72.356104],[-54.840625,72.379395],[-54.896338,72.394189],[-55.320117,72.199561],[-55.581445,72.178857],[-55.659473,72.222607],[-55.63584,72.300439],[-55.589307,72.318506],[-55.37793,72.311133],[-55.295703,72.354395],[-55.427979,72.419873],[-55.56875,72.437012],[-55.601709,72.453467],[-55.456787,72.503271],[-55.121875,72.499609],[-55.04624,72.534424],[-54.924951,72.571973],[-54.790381,72.641602],[-54.740039,72.700195],[-54.728711,72.750488],[-54.757715,72.791064],[-54.76084,72.831738],[-54.737939,72.87251],[-54.773096,72.917578],[-54.866211,72.966846],[-55.073096,73.015137],[-55.133984,72.960645],[-55.198437,72.938232],[-55.288916,72.933203],[-55.372412,72.956152],[-55.459521,72.964404],[-55.545117,72.984912],[-55.633984,72.991406],[-55.668555,73.00791],[-55.69082,73.054102],[-55.692773,73.112842],[-55.592285,73.140283],[-55.452344,73.161914],[-55.358691,73.20293],[-55.297168,73.262305],[-55.288281,73.3271],[-55.332031,73.397363],[-55.445703,73.460498],[-55.656201,73.399072],[-55.738867,73.383984],[-55.75791,73.42793],[-55.787061,73.460498],[-55.875537,73.504639],[-55.991992,73.536816],[-56.104053,73.558154],[-56.10918,73.590771],[-56.082617,73.62749],[-56.033008,73.670312],[-55.968408,73.75957],[-55.897314,73.751611],[-55.838281,73.759717],[-55.872412,73.833447],[-55.929492,73.89541],[-55.996533,73.930615],[-55.998926,73.945947],[-56.014453,73.963867],[-56.066211,74.007275],[-56.124219,74.039062],[-56.225391,74.129102],[-56.298486,74.163428],[-56.392187,74.181201],[-56.493164,74.182178],[-56.655176,74.158545],[-56.954297,74.131201],[-57.191113,74.118213],[-57.230566,74.125293],[-57.112109,74.159473],[-56.9375,74.195068],[-56.706348,74.219189],[-56.638965,74.278369],[-56.663916,74.32959],[-56.654297,74.378125],[-56.717676,74.429248],[-56.656006,74.457568],[-56.445557,74.486084],[-56.350293,74.490479],[-56.255469,74.526807],[-56.52207,74.614307],[-56.801318,74.67168],[-56.871143,74.694971],[-56.932568,74.73335],[-56.985547,74.786768],[-57.07168,74.840234],[-57.190869,74.89375],[-57.364795,74.945459],[-57.813184,75.03999],[-57.96709,75.105176],[-58.108838,75.204932],[-58.179688,75.247461],[-58.25332,75.278955],[-58.565527,75.352734],[-58.603467,75.385303],[-58.281201,75.47207],[-58.249658,75.506689],[-58.381299,75.612012],[-58.516211,75.689063],[-58.663086,75.716406],[-58.881445,75.730469],[-59.081592,75.764697],[-59.263623,75.818896],[-59.445312,75.858594],[-59.717432,75.896289],[-60.172754,75.993311],[-60.874609,76.097168],[-61.188232,76.157861],[-61.374805,76.17998],[-61.62085,76.185645],[-62.09668,76.242334],[-62.496191,76.260449],[-62.742871,76.252148],[-62.823437,76.261523],[-63.005811,76.319092],[-63.291309,76.352051],[-63.438867,76.339453],[-63.621973,76.277881],[-63.843066,76.217139],[-63.960352,76.208936],[-64.135205,76.264502],[-64.223193,76.30332],[-64.307275,76.316504],[-64.387305,76.304004],[-64.543408,76.253076],[-64.69209,76.21626],[-64.911963,76.17251],[-65.087646,76.151514],[-65.313232,76.146387],[-65.369922,76.130566],[-65.456787,76.129834],[-65.57373,76.144238],[-65.683301,76.172705],[-65.785449,76.215332],[-65.875732,76.23833],[-65.954053,76.241699],[-66.134033,76.219629],[-66.361768,76.154785],[-66.465771,76.13916],[-66.553223,76.145947],[-66.659961,76.166162],[-66.874023,76.217871],[-66.992578,76.212939],[-67.078711,76.194824],[-67.054785,76.151855],[-66.853906,76.05],[-66.674805,75.977393],[-66.826172,75.968799],[-68.14873,76.067041],[-68.317285,76.090771],[-68.560645,76.150195],[-68.763086,76.186621],[-69.107568,76.280859],[-69.3729,76.331885],[-69.460889,76.371729],[-69.484082,76.39917],[-69.399658,76.436279],[-68.86499,76.561377],[-68.660742,76.586621],[-68.24541,76.616748],[-68.147217,76.635645],[-68.114258,76.650635],[-68.223389,76.677686],[-68.767383,76.668018],[-69.252051,76.686133],[-69.673828,76.735889],[-69.747217,76.752393],[-69.818652,76.782764],[-69.888086,76.827051],[-69.872217,76.876611],[-69.771045,76.931445],[-69.711719,76.969043],[-69.694238,76.989453],[-70.224463,76.85459],[-70.441309,76.807373],[-70.613135,76.821826],[-70.733691,76.844189],[-70.792822,76.869092],[-70.790625,76.896484],[-70.77124,76.916504],[-70.734668,76.929004],[-71.015039,76.984863],[-71.141455,77.028662],[-71.154883,77.073877],[-71.055469,77.120508],[-70.958105,77.154346],[-70.862842,77.175439],[-70.603711,77.193848],[-69.656543,77.229004],[-68.97832,77.195312],[-68.747461,77.306934],[-68.591602,77.342529],[-68.135547,77.37959],[-67.433789,77.384668],[-66.937988,77.364209],[-66.705762,77.338037],[-66.389453,77.280273],[-66.371289,77.297705],[-66.447656,77.349805],[-66.453076,77.393066],[-66.325293,77.468213],[-66.266455,77.515381],[-66.306445,77.564502],[-66.445361,77.615674],[-66.691211,77.681201],[-66.823535,77.686621],[-66.970654,77.67085],[-67.147363,77.634521],[-67.514648,77.54292],[-67.688086,77.523779],[-67.977344,77.518896],[-68.137305,77.530469],[-68.291895,77.544189],[-68.533496,77.592773],[-68.621533,77.601855],[-68.728223,77.580566],[-68.853662,77.528857],[-68.974561,77.492627],[-69.090918,77.471924],[-69.199658,77.462939],[-69.351367,77.467139],[-69.976758,77.547656],[-70.118164,77.583496],[-70.126367,77.637793],[-70.318311,77.690381],[-70.5354,77.699561],[-70.561914,77.717187],[-70.286621,77.798242],[-70.081494,77.831396],[-70.114453,77.841357],[-70.412402,77.843115],[-70.613525,77.8],[-70.728711,77.792725],[-70.993604,77.791553],[-71.271631,77.813135],[-71.389844,77.832031],[-71.512402,77.875391],[-71.649902,77.899805],[-72.064941,77.936816],[-72.158545,77.956934],[-72.247266,77.99043],[-72.586328,78.085205],[-72.791504,78.154883],[-72.818066,78.194336],[-72.581299,78.279102],[-72.570947,78.29873],[-72.672461,78.335303],[-72.714795,78.362305],[-72.679736,78.399561],[-72.47251,78.482031],[-72.395605,78.504346],[-72.023682,78.552783],[-71.651318,78.623145],[-71.515625,78.638965],[-71.394775,78.642627],[-70.905762,78.638477],[-70.754102,78.655811],[-70.625391,78.690137],[-70.414209,78.724902],[-69.973535,78.777686],[-68.993457,78.857422],[-68.929639,78.866797],[-68.923926,78.881934],[-69.011963,78.923047],[-69.030518,78.942871],[-68.829834,78.979736],[-68.377051,79.037842],[-68.067529,79.06582],[-67.868359,79.067871],[-67.707764,79.080371],[-67.482227,79.116895],[-67.354541,79.12334],[-66.58374,79.137695],[-66.242773,79.117822],[-66.075342,79.118213],[-65.967871,79.132373],[-65.825537,79.17373],[-65.559766,79.276465],[-65.419873,79.340234],[-65.287793,79.437305],[-65.116943,79.589014],[-64.989258,79.736963],[-64.904639,79.88125],[-64.838965,79.969189],[-64.792285,80.000635],[-64.632422,80.040576],[-64.465723,80.07168],[-64.17915,80.099268],[-64.205273,80.112109],[-64.326807,80.133594],[-64.439941,80.141846],[-64.544629,80.136914],[-64.735254,80.104443],[-64.982227,80.082471],[-65.222119,80.085938],[-65.394922,80.077734],[-65.553418,80.047998],[-65.810449,80.024072],[-65.981934,80.029492],[-66.291504,80.072266],[-66.447705,80.080273],[-66.843652,80.076221],[-66.959473,80.092041],[-67.060645,80.123145],[-67.141309,80.166455],[-67.201465,80.222168],[-67.193164,80.280078],[-67.050635,80.384521],[-66.995898,80.412988],[-66.610059,80.52959],[-66.372314,80.58418],[-66.135693,80.625],[-65.963281,80.648975],[-65.800977,80.659717],[-65.645215,80.685059],[-65.358203,80.766504],[-65.062158,80.836328],[-64.693799,80.966016],[-64.515527,81],[-63.891553,81.056445],[-63.721973,81.057324],[-63.578027,81.043262],[-63.441699,81.013867],[-63.058594,80.885596],[-63.028662,80.889551],[-63.095459,80.938086],[-63.235205,81.08335],[-63.2125,81.143115],[-62.993262,81.206982],[-62.903369,81.218359],[-62.671924,81.214111],[-62.298877,81.194385],[-62.049414,81.172754],[-61.860352,81.137598],[-61.635596,81.115723],[-61.519092,81.116797],[-61.435986,81.133594],[-61.316992,81.188477],[-61.162061,81.281494],[-61.1,81.396094],[-61.130762,81.532324],[-61.175977,81.631885],[-61.235693,81.69458],[-61.20293,81.746875],[-61.015039,81.80957],[-60.842871,81.855371],[-60.432373,81.920166],[-60.099463,81.937354],[-59.901904,81.933008],[-59.642285,81.902637],[-59.281934,81.884033],[-58.956787,81.825195],[-58.429785,81.690039],[-58.079932,81.622217],[-57.790332,81.591748],[-57.504883,81.539893],[-57.082861,81.429932],[-56.862061,81.382715],[-56.730664,81.365625],[-56.615137,81.362891],[-56.658154,81.394287],[-56.859668,81.459961],[-57.168408,81.532178],[-57.853027,81.662012],[-58.230078,81.753662],[-58.568213,81.858203],[-58.816748,81.92041],[-59.268018,81.98208],[-59.261816,82.006641],[-58.717383,82.093066],[-57.716895,82.168311],[-56.589355,82.227148],[-56.211963,82.221143],[-55.548682,82.245752],[-55.48623,82.282861],[-55.343604,82.299561],[-54.725879,82.351367],[-54.548877,82.350635],[-54.277051,82.326074],[-53.987305,82.279248],[-53.853223,82.236865],[-53.671338,82.164062],[-53.582031,82.061572],[-53.595508,81.738037],[-53.590771,81.676855],[-53.555664,81.653271],[-53.430127,81.688379],[-53.27998,81.753613],[-53.14502,81.799756],[-53.041211,81.870996],[-52.968506,81.967139],[-52.925537,82.038379],[-53.101953,82.118945],[-53.110742,82.251221],[-53.022559,82.321729],[-52.775586,82.321729],[-51.754004,82.078223],[-51.351855,82.025635],[-50.894434,81.895215],[-50.360059,81.909082],[-49.867041,81.893018],[-49.648828,81.897803],[-49.541064,81.918066],[-49.694287,81.972119],[-50.394824,82.120703],[-50.713135,82.237354],[-50.935547,82.382812],[-50.989941,82.460156],[-50.819531,82.474072],[-50.037109,82.472412],[-48.861182,82.40542],[-47.357422,82.173633],[-46.617334,82.096973],[-45.291064,81.828809],[-44.890967,81.788281],[-44.729492,81.779834],[-44.607617,81.812939],[-44.532422,81.848926],[-44.526904,81.896826],[-44.591016,81.956689],[-44.627734,82.025879],[-44.637109,82.104443],[-44.54707,82.260059],[-44.333203,82.310791],[-44.238867,82.368164],[-44.326562,82.471729],[-44.577246,82.542627],[-45.552441,82.725244],[-45.556543,82.747021],[-45.359619,82.770947],[-45.067432,82.784961],[-42.650732,82.741455],[-42.232959,82.725488],[-42.054639,82.709814],[-41.976562,82.68916],[-41.876465,82.680322],[-41.357275,82.70498],[-41.369629,82.75],[-41.434424,82.778613],[-44.239209,82.856787],[-44.761963,82.883545],[-45.02793,82.885596],[-45.302979,82.865088],[-45.87334,82.854883],[-46.136816,82.858838],[-46.478174,82.951904],[-46.169043,83.063867],[-45.908887,83.061328],[-45.4146,83.017676],[-45.121777,83.078662],[-44.656934,83.129053],[-44.197314,83.146826],[-43.19458,83.255127],[-43.009277,83.2646],[-42.775537,83.258789],[-42.259521,83.231982],[-42.05459,83.205176],[-41.819775,83.147754],[-41.683496,83.130029],[-41.521973,83.126758],[-41.300146,83.100781],[-40.979395,83.184863],[-40.689453,83.275195],[-40.356836,83.332178],[-39.886328,83.298926],[-39.588428,83.255566],[-39.316016,83.203906],[-38.931104,83.175342],[-38.278369,82.998877],[-38.15625,82.998633],[-38.098584,83.013574],[-38.037012,83.046289],[-38.014893,83.094824],[-37.934766,83.160742],[-37.992773,83.185107],[-38.539551,83.258154],[-38.64292,83.286279],[-38.747803,83.332568],[-38.749561,83.37085],[-38.648242,83.401025],[-38.541455,83.414795],[-38.187939,83.402295],[-38.071094,83.412109],[-37.96084,83.437646],[-37.828027,83.485547],[-37.72334,83.497754],[-37.486914,83.499121],[-37.122998,83.468408],[-36.804492,83.46582],[-36.6896,83.479932],[-36.672119,83.509912],[-36.644434,83.528955],[-36.606494,83.536963],[-35.451855,83.538623],[-35.165527,83.545752],[-34.94165,83.568457],[-34.667773,83.571143],[-34.42832,83.557568],[-34.131934,83.528662],[-33.837354,83.52998],[-33.39834,83.577246],[-32.984424,83.599609],[-30.70293,83.593408],[-29.952881,83.564844]]],[[[-52.731152,69.944727],[-52.398242,69.863428],[-52.045312,69.807227],[-52.010791,69.781543],[-51.983398,69.742676],[-51.977051,69.722412],[-51.985107,69.703613],[-52.007471,69.686279],[-51.981689,69.663965],[-51.907764,69.63667],[-51.900195,69.604785],[-51.988428,69.55],[-52.112598,69.489111],[-52.770459,69.363916],[-53.003125,69.342627],[-53.578418,69.256641],[-53.754346,69.260156],[-53.793164,69.264209],[-53.902051,69.302002],[-54.051172,69.337158],[-54.121045,69.364404],[-54.182715,69.403516],[-54.158154,69.427783],[-54.047363,69.437305],[-53.8896,69.43667],[-53.658301,69.465137],[-53.722266,69.490723],[-53.783057,69.506299],[-53.825,69.540332],[-53.921484,69.533691],[-53.99375,69.553174],[-54.133203,69.56543],[-54.496973,69.577197],[-54.734131,69.610547],[-54.804102,69.630518],[-54.865771,69.665039],[-54.919141,69.713623],[-54.84126,69.901904],[-54.787891,69.949854],[-54.6646,69.965674],[-54.363086,69.923828],[-54.322607,69.941895],[-54.652441,70.011182],[-54.773633,70.052539],[-54.809326,70.085107],[-54.830762,70.132959],[-54.830469,70.161084],[-54.815576,70.189404],[-54.78623,70.217773],[-54.705957,70.256152],[-54.371631,70.317285],[-54.007227,70.296436],[-53.375146,70.221289],[-53.296729,70.205371],[-53.10293,70.140869],[-52.731152,69.944727]]],[[[-51.013672,69.55249],[-51.17041,69.517139],[-51.202051,69.525],[-51.233984,69.551855],[-51.314893,69.674072],[-51.338867,69.732031],[-51.318945,69.804053],[-51.350293,69.854785],[-51.208887,69.913916],[-51.09458,69.92417],[-50.940234,69.908691],[-50.679004,69.848535],[-50.6979,69.829053],[-50.754395,69.797656],[-50.911719,69.756689],[-50.967236,69.664258],[-50.977881,69.617822],[-50.97041,69.583008],[-51.013672,69.55249]]],[[[-53.535205,71.04082],[-53.628809,71.034277],[-53.897559,71.085156],[-53.941162,71.104297],[-53.957812,71.127734],[-53.947461,71.155518],[-53.861865,71.207227],[-53.700977,71.283008],[-53.584473,71.29707],[-53.512354,71.249609],[-53.441406,71.18584],[-53.432129,71.153418],[-53.436914,71.115234],[-53.455469,71.08291],[-53.487793,71.056299],[-53.535205,71.04082]]],[[[-55.016895,72.791113],[-55.158203,72.723291],[-55.273584,72.684326],[-55.523633,72.568408],[-55.566602,72.564355],[-55.634131,72.579443],[-55.686523,72.609912],[-55.781006,72.617236],[-55.813916,72.636475],[-55.827148,72.652148],[-55.869043,72.662109],[-55.935693,72.668359],[-56.042676,72.656445],[-56.140869,72.668457],[-56.214795,72.719189],[-56.078076,72.753223],[-55.993555,72.782275],[-55.666455,72.793701],[-55.574219,72.780371],[-55.51626,72.780713],[-55.42793,72.788623],[-55.234668,72.824805],[-55.205811,72.84165],[-55.033008,72.820508],[-55.016895,72.791113]]],[[[-71.667334,77.325293],[-72.023535,77.316455],[-72.374414,77.35542],[-72.494922,77.385547],[-72.489551,77.431641],[-72.436426,77.447559],[-72.246777,77.463525],[-72.089062,77.46709],[-71.982764,77.459961],[-71.73291,77.431641],[-71.552148,77.403271],[-71.433447,77.394385],[-71.46709,77.353662],[-71.667334,77.325293]]],[[[-44.864551,82.083643],[-45.067432,82.066016],[-45.490771,82.171826],[-46.161035,82.277686],[-46.751904,82.348193],[-47.30752,82.533398],[-47.351221,82.599219],[-47.272266,82.656934],[-46.787207,82.665723],[-46.39917,82.692139],[-45.411377,82.577539],[-44.91748,82.480518],[-44.749902,82.401123],[-44.776367,82.242383],[-44.864551,82.083643]]],[[[-25.432324,70.921338],[-25.397217,70.862451],[-25.393652,70.834668],[-25.401367,70.811279],[-25.420801,70.79458],[-25.467773,70.779687],[-25.380127,70.740576],[-25.35166,70.714307],[-25.346338,70.693311],[-25.402246,70.652686],[-25.800586,70.598926],[-25.911328,70.573047],[-26.049707,70.509131],[-26.217871,70.454053],[-26.273877,70.454346],[-26.33916,70.511426],[-26.604687,70.553369],[-27.104785,70.531494],[-27.690039,70.478662],[-27.897998,70.454004],[-28.003027,70.467139],[-28.035254,70.486816],[-28.036816,70.514355],[-27.967529,70.594824],[-27.939551,70.615283],[-27.805273,70.642041],[-27.714209,70.712793],[-27.743994,70.789746],[-27.708936,70.897119],[-27.617236,70.91377],[-27.3875,70.875635],[-27.238867,70.867578],[-26.975586,70.862695],[-26.621777,70.875635],[-26.337451,70.919238],[-25.818896,71.043652],[-25.726807,71.042041],[-25.66084,70.997949],[-25.612305,70.976318],[-25.458252,70.942529],[-25.432324,70.921338]]],[[[-18.664746,81.846484],[-18.767676,81.814307],[-19.031445,81.827197],[-19.369287,81.917285],[-19.594482,81.99126],[-19.610547,82.078125],[-19.494727,82.116699],[-19.314551,82.123193],[-19.066895,82.04917],[-18.812695,81.949463],[-18.664746,81.846484]]],[[[-17.6125,79.825879],[-18.03584,79.71123],[-18.662012,79.72002],[-19.032422,79.772949],[-19.138281,79.852344],[-18.997168,79.940479],[-18.547363,80.011084],[-17.98291,80.055176],[-17.471387,80.028711],[-17.40083,79.940479],[-17.6125,79.825879]]],[[[-18.997168,77.973779],[-19.129492,77.938525],[-19.217627,78.044336],[-19.297021,78.185449],[-19.314697,78.344189],[-19.111816,78.423584],[-19.005957,78.441211],[-18.9354,78.423584],[-18.953027,78.352979],[-18.953027,78.211914],[-18.882471,78.114893],[-18.997168,77.973779]]],[[[-18.582617,76.042334],[-18.697266,76.015869],[-19.085352,76.430371],[-19.085352,76.580273],[-19.058887,76.694971],[-18.882471,76.703809],[-18.732617,76.642041],[-18.662012,76.403906],[-18.582617,76.042334]]],[[[-18.000537,75.407324],[-17.921191,75.301514],[-17.885889,75.204443],[-17.762402,75.142773],[-17.497852,75.151514],[-17.391992,75.036914],[-17.586035,74.992773],[-18.35332,75.010449],[-18.670801,75.00166],[-18.891309,75.072168],[-18.882471,75.195654],[-18.856055,75.319141],[-18.635547,75.389648],[-18.450342,75.327979],[-18.229883,75.37207],[-18.000537,75.407324]]],[[[-17.953711,77.642334],[-18.147998,77.642334],[-18.22002,77.668359],[-18.174023,77.714355],[-17.903711,77.862598],[-17.813574,77.874609],[-17.681445,77.858594],[-17.641357,77.782471],[-17.729492,77.706396],[-17.953711,77.642334]]],[[[-37.03125,65.531982],[-37.186816,65.531348],[-37.238428,65.609863],[-37.2229,65.695459],[-37.04751,65.722266],[-36.953076,65.66333],[-36.986914,65.575586],[-37.03125,65.531982]]],[[[-46.266699,60.781396],[-46.381543,60.660303],[-46.496338,60.68667],[-46.553125,60.740771],[-46.666211,60.765918],[-46.788086,60.758398],[-46.78999,60.779834],[-46.393896,60.908789],[-46.205225,60.943506],[-46.218604,60.88916],[-46.254492,60.841553],[-46.266699,60.781396]]],[[[-51.675146,70.855225],[-51.808691,70.852539],[-52.119385,70.870654],[-52.144189,70.882275],[-52.148047,70.904395],[-52.106738,70.968018],[-51.969824,70.976465],[-51.806934,70.94165],[-51.631348,70.892139],[-51.606934,70.868848],[-51.675146,70.855225]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":3,"LABELRANK":6,"SOVEREIGNT":"Denmark","SOV_A3":"DN1","ADM0_DIF":1,"LEVEL":2,"TYPE":"Dependency","TLC":"1","ADMIN":"Faroe Islands","ADM0_A3":"FRO","GEOU_DIF":0,"GEOUNIT":"Faroe Islands","GU_A3":"FRO","SU_DIF":0,"SUBUNIT":"Faroe Islands","SU_A3":"FRO","BRK_DIFF":0,"NAME":"Faeroe Is.","NAME_LONG":"Faeroe Islands","BRK_A3":"FRO","BRK_NAME":"Faeroe Islands","BRK_GROUP":null,"ABBREV":"Faeroe Is.","POSTAL":"FO","FORMAL_EN":"Føroyar Is. (Faeroe Is.)","FORMAL_FR":null,"NAME_CIAWF":"Faroe Islands","NOTE_ADM0":"Den.","NOTE_BRK":null,"NAME_SORT":"Faeroe Islands","NAME_ALT":null,"MAPCOLOR7":4,"MAPCOLOR8":1,"MAPCOLOR9":3,"MAPCOLOR13":12,"POP_EST":48678,"POP_RANK":7,"POP_YEAR":2019,"GDP_MD":3116,"GDP_YEAR":2018,"ECONOMY":"2. Developed region: nonG7","INCOME_GRP":"2. High income: nonOECD","FIPS_10":"FO","ISO_A2":"FO","ISO_A2_EH":"FO","ISO_A3":"FRO","ISO_A3_EH":"FRO","ISO_N3":"234","ISO_N3_EH":"234","UN_A3":"234","WB_A2":"FO","WB_A3":"FRO","WOE_ID":23424816,"WOE_ID_EH":23424816,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"FRO","ADM0_DIFF":null,"ADM0_TLC":"FRO","ADM0_A3_US":"FRO","ADM0_A3_FR":"FRO","ADM0_A3_RU":"FRO","ADM0_A3_ES":"FRO","ADM0_A3_CN":"FRO","ADM0_A3_TW":"FRO","ADM0_A3_IN":"FRO","ADM0_A3_NP":"FRO","ADM0_A3_PK":"FRO","ADM0_A3_DE":"FRO","ADM0_A3_GB":"FRO","ADM0_A3_BR":"FRO","ADM0_A3_IL":"FRO","ADM0_A3_PS":"FRO","ADM0_A3_SA":"FRO","ADM0_A3_EG":"FRO","ADM0_A3_MA":"FRO","ADM0_A3_PT":"FRO","ADM0_A3_AR":"FRO","ADM0_A3_JP":"FRO","ADM0_A3_KO":"FRO","ADM0_A3_VN":"FRO","ADM0_A3_TR":"FRO","ADM0_A3_ID":"FRO","ADM0_A3_PL":"FRO","ADM0_A3_GR":"FRO","ADM0_A3_IT":"FRO","ADM0_A3_NL":"FRO","ADM0_A3_SE":"FRO","ADM0_A3_BD":"FRO","ADM0_A3_UA":"FRO","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Europe","REGION_UN":"Europe","SUBREGION":"Northern Europe","REGION_WB":"Europe & Central Asia","NAME_LEN":10,"LONG_LEN":14,"ABBREV_LEN":10,"TINY":3,"HOMEPART":-99,"MIN_ZOOM":0,"MIN_LABEL":4,"MAX_LABEL":9,"LABEL_X":-7.058429,"LABEL_Y":62.185604,"NE_ID":1159320549,"WIKIDATAID":"Q4628","NAME_AR":"جزر فارو","NAME_BN":"ফ্যারো দ্বীপপুঞ্জ","NAME_DE":"Färöer","NAME_EN":"Faroe Islands","NAME_ES":"Islas Feroe","NAME_FA":"جزایر فارو","NAME_FR":"îles Féroé","NAME_EL":"Νήσοι Φερόες","NAME_HE":"איי פארו","NAME_HI":"फ़रो द्वीपसमूह","NAME_HU":"Feröer","NAME_ID":"Kepulauan Faroe","NAME_IT":"Fær Øer","NAME_JA":"フェロー諸島","NAME_KO":"페로 제도","NAME_NL":"Faeröer","NAME_PL":"Wyspy Owcze","NAME_PT":"Ilhas Feroe","NAME_RU":"Фарерские острова","NAME_SV":"Färöarna","NAME_TR":"Faroe Adaları","NAME_UK":"Фарерські острови","NAME_UR":"جزائرفارو","NAME_VI":"Quần đảo Faroe","NAME_ZH":"法罗群岛","NAME_ZHT":"法羅群島","FCLASS_ISO":"Admin-0 dependency","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 dependency","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[-7.422607,61.414307,-6.406055,62.355664],"geometry":{"type":"MultiPolygon","coordinates":[[[[-6.623193,61.805957],[-6.642773,61.768311],[-6.670166,61.768652],[-6.764258,61.815332],[-6.83916,61.840771],[-6.863965,61.862256],[-6.884766,61.899121],[-6.841797,61.903711],[-6.790771,61.895361],[-6.662109,61.861768],[-6.62583,61.826709],[-6.623193,61.805957]]],[[[-6.699463,61.444629],[-6.679688,61.414307],[-6.703027,61.417676],[-6.770508,61.452246],[-6.888135,61.534766],[-6.929248,61.60293],[-6.934863,61.634326],[-6.905908,61.630811],[-6.881641,61.602783],[-6.77002,61.584375],[-6.740625,61.570508],[-6.741064,61.536377],[-6.703516,61.495947],[-6.699463,61.444629]]],[[[-7.186865,62.139307],[-7.097119,62.100537],[-7.065186,62.073242],[-7.116797,62.046826],[-7.179395,62.040039],[-7.254932,62.046143],[-7.379102,62.074805],[-7.422607,62.140283],[-7.336768,62.138672],[-7.235303,62.151221],[-7.186865,62.139307]]],[[[-6.631055,62.227881],[-6.655811,62.093604],[-6.696436,62.094336],[-6.768896,62.131494],[-6.823437,62.139111],[-6.840527,62.119287],[-6.837695,62.09541],[-6.809473,62.08042],[-6.722559,61.990381],[-6.714404,61.96416],[-6.725195,61.951465],[-6.809717,61.977441],[-7.013574,62.093994],[-7.172168,62.285596],[-6.958643,62.31626],[-6.803662,62.265967],[-6.631055,62.227881]]],[[[-6.406055,62.258643],[-6.453857,62.186523],[-6.524707,62.197852],[-6.544141,62.205615],[-6.559473,62.224512],[-6.552051,62.278125],[-6.55459,62.355664],[-6.473047,62.291895],[-6.406055,62.258643]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":4,"SOVEREIGNT":"Denmark","SOV_A3":"DN1","ADM0_DIF":1,"LEVEL":2,"TYPE":"Country","TLC":"1","ADMIN":"Denmark","ADM0_A3":"DNK","GEOU_DIF":0,"GEOUNIT":"Denmark","GU_A3":"DNK","SU_DIF":0,"SUBUNIT":"Denmark","SU_A3":"DNK","BRK_DIFF":0,"NAME":"Denmark","NAME_LONG":"Denmark","BRK_A3":"DNK","BRK_NAME":"Denmark","BRK_GROUP":null,"ABBREV":"Den.","POSTAL":"DK","FORMAL_EN":"Kingdom of Denmark","FORMAL_FR":null,"NAME_CIAWF":"Denmark","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Denmark","NAME_ALT":null,"MAPCOLOR7":4,"MAPCOLOR8":1,"MAPCOLOR9":3,"MAPCOLOR13":12,"POP_EST":5818553,"POP_RANK":13,"POP_YEAR":2019,"GDP_MD":350104,"GDP_YEAR":2019,"ECONOMY":"2. Developed region: nonG7","INCOME_GRP":"1. High income: OECD","FIPS_10":"DA","ISO_A2":"DK","ISO_A2_EH":"DK","ISO_A3":"DNK","ISO_A3_EH":"DNK","ISO_N3":"208","ISO_N3_EH":"208","UN_A3":"208","WB_A2":"DK","WB_A3":"DNK","WOE_ID":23424796,"WOE_ID_EH":23424796,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"DNK","ADM0_DIFF":null,"ADM0_TLC":"DNK","ADM0_A3_US":"DNK","ADM0_A3_FR":"DNK","ADM0_A3_RU":"DNK","ADM0_A3_ES":"DNK","ADM0_A3_CN":"DNK","ADM0_A3_TW":"DNK","ADM0_A3_IN":"DNK","ADM0_A3_NP":"DNK","ADM0_A3_PK":"DNK","ADM0_A3_DE":"DNK","ADM0_A3_GB":"DNK","ADM0_A3_BR":"DNK","ADM0_A3_IL":"DNK","ADM0_A3_PS":"DNK","ADM0_A3_SA":"DNK","ADM0_A3_EG":"DNK","ADM0_A3_MA":"DNK","ADM0_A3_PT":"DNK","ADM0_A3_AR":"DNK","ADM0_A3_JP":"DNK","ADM0_A3_KO":"DNK","ADM0_A3_VN":"DNK","ADM0_A3_TR":"DNK","ADM0_A3_ID":"DNK","ADM0_A3_PL":"DNK","ADM0_A3_GR":"DNK","ADM0_A3_IT":"DNK","ADM0_A3_NL":"DNK","ADM0_A3_SE":"DNK","ADM0_A3_BD":"DNK","ADM0_A3_UA":"DNK","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Europe","REGION_UN":"Europe","SUBREGION":"Northern Europe","REGION_WB":"Europe & Central Asia","NAME_LEN":7,"LONG_LEN":7,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":3,"MAX_LABEL":8,"LABEL_X":9.018163,"LABEL_Y":55.966965,"NE_ID":1159320547,"WIKIDATAID":"Q35","NAME_AR":"الدنمارك","NAME_BN":"ডেনমার্ক","NAME_DE":"Dänemark","NAME_EN":"Denmark","NAME_ES":"Dinamarca","NAME_FA":"دانمارک","NAME_FR":"Danemark","NAME_EL":"Δανία","NAME_HE":"דנמרק","NAME_HI":"डेनमार्क","NAME_HU":"Dánia","NAME_ID":"Denmark","NAME_IT":"Danimarca","NAME_JA":"デンマーク","NAME_KO":"덴마크","NAME_NL":"Denemarken","NAME_PL":"Dania","NAME_PT":"Dinamarca","NAME_RU":"Дания","NAME_SV":"Danmark","NAME_TR":"Danimarka","NAME_UK":"Данія","NAME_UR":"ڈنمارک","NAME_VI":"Đan Mạch","NAME_ZH":"丹麦","NAME_ZHT":"丹麥","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[8.121484,54.628857,15.137109,57.736914],"geometry":{"type":"MultiPolygon","coordinates":[[[[12.56875,55.785059],[12.571191,55.684961],[12.545215,55.655811],[12.507031,55.636621],[12.407129,55.61626],[12.320605,55.587842],[12.243457,55.537891],[12.215039,55.466504],[12.275391,55.414258],[12.385156,55.385645],[12.413086,55.286182],[12.322461,55.237109],[12.089941,55.188135],[12.065527,55.069922],[12.073047,54.976758],[12.068848,54.909033],[12.050391,54.815332],[11.862305,54.772607],[11.740918,54.915332],[11.739844,54.972461],[11.703613,55.03916],[11.696777,55.095996],[11.653809,55.186914],[11.475879,55.211523],[11.406836,55.214746],[11.310254,55.197852],[11.286328,55.204443],[11.170703,55.328613],[11.189746,55.465625],[11.128027,55.534766],[11.119531,55.566064],[11.120996,55.600732],[11.070312,55.629297],[11.008789,55.644434],[10.978906,55.721533],[11.049609,55.740234],[11.224414,55.731201],[11.275488,55.736475],[11.322266,55.752539],[11.463672,55.879297],[11.45957,55.907227],[11.474707,55.943457],[11.627734,55.956885],[11.695898,55.90791],[11.682227,55.829492],[11.690918,55.729004],[11.783594,55.70166],[11.819727,55.697656],[11.858301,55.771875],[11.885352,55.807959],[11.92207,55.828076],[11.93457,55.895898],[11.912793,55.937305],[11.866406,55.968164],[12.039648,56.052148],[12.218945,56.118652],[12.323242,56.122119],[12.428223,56.105859],[12.525781,56.083398],[12.578711,56.064062],[12.608398,56.033008],[12.542969,55.958984],[12.524805,55.918457],[12.56875,55.785059]]],[[[9.739746,54.825537],[9.725,54.825537],[9.66123,54.834375],[9.61582,54.85542],[9.49873,54.84043],[9.341992,54.806299],[9.25498,54.808008],[9.18584,54.844678],[8.90293,54.896924],[8.857227,54.901123],[8.670703,54.90332],[8.670313,54.903418],[8.661426,54.985937],[8.638281,55.045557],[8.572949,55.134277],[8.669824,55.155664],[8.651074,55.328564],[8.615918,55.418213],[8.345313,55.510303],[8.132129,55.599805],[8.181348,55.901172],[8.202344,55.982373],[8.121484,56.139893],[8.129883,56.321191],[8.163965,56.606885],[8.231738,56.618066],[8.281445,56.616699],[8.473145,56.56543],[8.55293,56.560303],[8.607617,56.514502],[8.67168,56.495654],[8.718066,56.544287],[8.736133,56.627441],[8.888086,56.735059],[8.994531,56.774805],[9.06709,56.793848],[9.140332,56.750439],[9.196387,56.70166],[9.209668,56.808398],[9.254883,57.011719],[9.110449,57.043652],[8.992773,57.016113],[8.876074,56.887256],[8.771973,56.725293],[8.603125,56.7104],[8.468359,56.664551],[8.34668,56.712109],[8.268262,56.754004],[8.266309,56.815332],[8.284082,56.852344],[8.427051,56.984424],[8.618555,57.111279],[8.811523,57.110059],[8.952246,57.150586],[9.036328,57.15542],[9.298828,57.146533],[9.433594,57.174316],[9.554297,57.232471],[9.815137,57.478418],[9.962305,57.580957],[10.259082,57.617041],[10.533301,57.7354],[10.609961,57.736914],[10.480957,57.648682],[10.460254,57.614551],[10.444629,57.562207],[10.537109,57.448535],[10.517578,57.379346],[10.524121,57.243213],[10.436914,57.172266],[10.338477,57.021338],[10.296094,56.999121],[10.287012,56.822949],[10.29668,56.780908],[10.282715,56.620508],[10.383594,56.554834],[10.490234,56.520508],[10.845898,56.521729],[10.882812,56.492871],[10.926172,56.443262],[10.894434,56.359033],[10.856445,56.295508],[10.753418,56.241992],[10.621191,56.2021],[10.538965,56.200342],[10.426953,56.276172],[10.37373,56.251562],[10.31875,56.212891],[10.22666,56.005371],[10.183008,55.865186],[10.159375,55.853809],[10.107324,55.874463],[10.017383,55.876074],[9.903711,55.842822],[9.962012,55.813086],[10.023633,55.761426],[9.999023,55.735547],[9.899023,55.707568],[9.810352,55.650977],[9.773242,55.608154],[9.661426,55.557471],[9.591113,55.493213],[9.625586,55.413574],[9.640234,55.343652],[9.670996,55.266406],[9.643262,55.204736],[9.504785,55.11626],[9.453711,55.039551],[9.572363,55.040527],[9.64541,55.022803],[9.688184,55.000146],[9.732324,54.968018],[9.705273,54.92832],[9.739746,54.825537]]],[[[10.645117,55.609814],[10.686816,55.557617],[10.738086,55.446338],[10.819238,55.321875],[10.785352,55.269775],[10.808398,55.203027],[10.785254,55.133398],[10.623828,55.052441],[10.442773,55.048779],[10.25459,55.087891],[9.98877,55.163184],[9.967383,55.205469],[9.930078,55.228906],[9.858984,55.357227],[9.860645,55.515479],[9.994238,55.535303],[10.286133,55.61084],[10.353613,55.598975],[10.424023,55.560352],[10.505078,55.558057],[10.622754,55.612842],[10.645117,55.609814]]],[[[11.361426,54.89165],[11.538379,54.82959],[11.658105,54.833154],[11.739551,54.807422],[11.758984,54.767676],[11.765918,54.679443],[11.680371,54.653711],[11.585938,54.662451],[11.457422,54.628857],[11.035547,54.773096],[11.041699,54.893359],[11.058594,54.940576],[11.258496,54.951807],[11.361426,54.89165]]],[[[10.734082,54.750732],[10.689746,54.745068],[10.629492,54.826074],[10.62168,54.851416],[10.69248,54.903271],[10.738281,54.962012],[10.856738,55.052197],[10.925,55.157861],[10.951074,55.156201],[10.920801,55.062109],[10.765234,54.799658],[10.734082,54.750732]]],[[[12.549219,54.965771],[12.511035,54.950879],[12.35752,54.961816],[12.184473,54.89248],[12.118848,54.914404],[12.143652,54.958691],[12.161719,54.974805],[12.219922,54.993604],[12.258789,55.021094],[12.274023,55.064111],[12.310059,55.040918],[12.417188,55.031201],[12.469531,55.01748],[12.513281,54.997314],[12.549219,54.965771]]],[[[12.665723,55.596533],[12.571582,55.554004],[12.550879,55.55625],[12.520313,55.6146],[12.569922,55.650098],[12.599219,55.680225],[12.62002,55.679346],[12.648438,55.646777],[12.665723,55.596533]]],[[[10.484375,54.847559],[10.417285,54.837158],[10.340527,54.858936],[10.215625,54.940967],[10.199902,54.962744],[10.265527,54.948828],[10.346973,54.905957],[10.413672,54.896826],[10.504883,54.860547],[10.484375,54.847559]]],[[[10.06123,54.886377],[9.957129,54.872461],[9.903906,54.896631],[9.80625,54.906006],[9.771191,55.059912],[9.78125,55.069043],[9.830371,55.058252],[9.998828,54.986475],[10.057715,54.90791],[10.06123,54.886377]]],[[[10.607324,55.783057],[10.590332,55.765088],[10.526953,55.783789],[10.520313,55.848486],[10.544336,55.906592],[10.516113,55.958545],[10.547168,55.991943],[10.636328,55.91416],[10.661719,55.877588],[10.627344,55.833887],[10.607324,55.783057]]],[[[11.052148,57.252539],[11.011426,57.229102],[10.873828,57.262256],[10.93457,57.308594],[11.085742,57.329932],[11.174512,57.3229],[11.076855,57.276904],[11.052148,57.252539]]],[[[15.087695,55.021875],[15.050781,55.004932],[14.885547,55.032959],[14.68418,55.102246],[14.713672,55.238037],[14.765332,55.296729],[15.132617,55.144531],[15.137109,55.087158],[15.087695,55.021875]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":5,"SOVEREIGNT":"Czechia","SOV_A3":"CZE","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Czechia","ADM0_A3":"CZE","GEOU_DIF":0,"GEOUNIT":"Czechia","GU_A3":"CZE","SU_DIF":0,"SUBUNIT":"Czechia","SU_A3":"CZE","BRK_DIFF":0,"NAME":"Czechia","NAME_LONG":"Czech Republic","BRK_A3":"CZE","BRK_NAME":"Czechia","BRK_GROUP":null,"ABBREV":"Cz.","POSTAL":"CZ","FORMAL_EN":"Czech Republic","FORMAL_FR":"la République tchèque","NAME_CIAWF":"Czechia","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Czechia","NAME_ALT":"Česko","MAPCOLOR7":1,"MAPCOLOR8":1,"MAPCOLOR9":2,"MAPCOLOR13":6,"POP_EST":10669709,"POP_RANK":14,"POP_YEAR":2019,"GDP_MD":250680,"GDP_YEAR":2019,"ECONOMY":"2. Developed region: nonG7","INCOME_GRP":"1. High income: OECD","FIPS_10":"EZ","ISO_A2":"CZ","ISO_A2_EH":"CZ","ISO_A3":"CZE","ISO_A3_EH":"CZE","ISO_N3":"203","ISO_N3_EH":"203","UN_A3":"203","WB_A2":"CZ","WB_A3":"CZE","WOE_ID":23424810,"WOE_ID_EH":23424810,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"CZE","ADM0_DIFF":null,"ADM0_TLC":"CZE","ADM0_A3_US":"CZE","ADM0_A3_FR":"CZE","ADM0_A3_RU":"CZE","ADM0_A3_ES":"CZE","ADM0_A3_CN":"CZE","ADM0_A3_TW":"CZE","ADM0_A3_IN":"CZE","ADM0_A3_NP":"CZE","ADM0_A3_PK":"CZE","ADM0_A3_DE":"CZE","ADM0_A3_GB":"CZE","ADM0_A3_BR":"CZE","ADM0_A3_IL":"CZE","ADM0_A3_PS":"CZE","ADM0_A3_SA":"CZE","ADM0_A3_EG":"CZE","ADM0_A3_MA":"CZE","ADM0_A3_PT":"CZE","ADM0_A3_AR":"CZE","ADM0_A3_JP":"CZE","ADM0_A3_KO":"CZE","ADM0_A3_VN":"CZE","ADM0_A3_TR":"CZE","ADM0_A3_ID":"CZE","ADM0_A3_PL":"CZE","ADM0_A3_GR":"CZE","ADM0_A3_IT":"CZE","ADM0_A3_NL":"CZE","ADM0_A3_SE":"CZE","ADM0_A3_BD":"CZE","ADM0_A3_UA":"CZE","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Europe","REGION_UN":"Europe","SUBREGION":"Eastern Europe","REGION_WB":"Europe & Central Asia","NAME_LEN":7,"LONG_LEN":14,"ABBREV_LEN":3,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":4,"MAX_LABEL":9,"LABEL_X":15.377555,"LABEL_Y":49.882364,"NE_ID":1159320535,"WIKIDATAID":"Q213","NAME_AR":"التشيك","NAME_BN":"চেক প্রজাতন্ত্র","NAME_DE":"Tschechien","NAME_EN":"Czech Republic","NAME_ES":"República Checa","NAME_FA":"جمهوری چک","NAME_FR":"Tchéquie","NAME_EL":"Τσεχία","NAME_HE":"צ'כיה","NAME_HI":"चेक गणराज्य","NAME_HU":"Csehország","NAME_ID":"Republik Ceko","NAME_IT":"Repubblica Ceca","NAME_JA":"チェコ","NAME_KO":"체코","NAME_NL":"Tsjechië","NAME_PL":"Czechy","NAME_PT":"Chéquia","NAME_RU":"Чехия","NAME_SV":"Tjeckien","NAME_TR":"Çek Cumhuriyeti","NAME_UK":"Чехія","NAME_UR":"چیک جمہوریہ","NAME_VI":"Cộng hòa Séc","NAME_ZH":"捷克","NAME_ZHT":"捷克共和國","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[12.089746,48.576221,18.832227,51.037793],"geometry":{"type":"Polygon","coordinates":[[[18.832227,49.510791],[18.807031,49.509229],[18.749707,49.493994],[18.676172,49.488477],[18.596484,49.491455],[18.53457,49.464697],[18.476074,49.421094],[18.41582,49.390918],[18.383105,49.363916],[18.364844,49.33623],[18.160938,49.257373],[18.132617,49.224561],[18.109961,49.179785],[18.100391,49.119336],[18.085938,49.065137],[18.050879,49.036523],[17.940723,49.011963],[17.913281,48.99873],[17.892676,48.971143],[17.830859,48.928613],[17.758496,48.888135],[17.625391,48.841846],[17.482617,48.827783],[17.296875,48.842822],[17.188477,48.860937],[17.135645,48.841064],[17.063281,48.780762],[16.985254,48.676904],[16.953125,48.598828],[16.92832,48.620898],[16.883691,48.703711],[16.833203,48.714307],[16.764453,48.722021],[16.712695,48.734229],[16.600977,48.781885],[16.543555,48.79624],[16.47793,48.800098],[16.414844,48.77207],[16.367285,48.738965],[16.219336,48.739404],[16.057227,48.754785],[15.825195,48.864453],[15.765039,48.86543],[15.700781,48.860449],[15.599414,48.886377],[15.40293,48.957373],[15.310938,48.974023],[15.252734,48.963867],[15.199609,48.948145],[15.161719,48.946289],[15.139746,48.969336],[15.066797,48.997852],[14.993457,49.001123],[14.972168,48.983936],[14.947363,48.827734],[14.922559,48.771387],[14.821875,48.774023],[14.785938,48.747363],[14.706641,48.671924],[14.691309,48.599219],[14.553906,48.61333],[14.488672,48.625537],[14.431055,48.61626],[14.367578,48.576221],[14.189844,48.578564],[14.049121,48.60249],[13.98877,48.692432],[13.924316,48.728027],[13.843164,48.759863],[13.814746,48.766943],[13.769922,48.815967],[13.684961,48.876709],[13.547656,48.959668],[13.440723,48.955566],[13.401172,48.977588],[13.383691,49.008105],[13.339063,49.060791],[13.28877,49.097461],[13.227832,49.11167],[13.140527,49.15835],[13.02373,49.260107],[12.916699,49.330469],[12.813379,49.329346],[12.747852,49.366211],[12.681152,49.414502],[12.632031,49.46123],[12.555762,49.574854],[12.500293,49.639697],[12.457031,49.679785],[12.408203,49.713184],[12.390527,49.739648],[12.450195,49.800146],[12.471875,49.830078],[12.497559,49.853076],[12.5125,49.877441],[12.512012,49.895801],[12.457617,49.955518],[12.38418,49.998584],[12.276465,50.042334],[12.207813,50.09751],[12.18252,50.148047],[12.175,50.17583],[12.127832,50.213428],[12.089746,50.268555],[12.089844,50.301758],[12.099219,50.310986],[12.134863,50.310937],[12.174805,50.288379],[12.231152,50.244873],[12.277344,50.181445],[12.305664,50.205713],[12.358594,50.273242],[12.452637,50.349805],[12.549023,50.393408],[12.635547,50.39707],[12.706445,50.409131],[12.76543,50.430957],[12.868262,50.422217],[12.942676,50.406445],[12.966797,50.416211],[12.99707,50.456055],[13.016406,50.490381],[13.181152,50.510498],[13.237695,50.576758],[13.269531,50.576416],[13.306055,50.586328],[13.341016,50.611426],[13.374609,50.621729],[13.401172,50.609326],[13.436133,50.601074],[13.472559,50.616943],[13.526563,50.692822],[13.556738,50.704639],[13.701367,50.716504],[13.898535,50.761279],[13.998438,50.801123],[14.096484,50.822754],[14.201758,50.86123],[14.369043,50.89873],[14.377051,50.914062],[14.299414,50.952588],[14.27334,50.976904],[14.255859,51.001855],[14.283203,51.029492],[14.319727,51.037793],[14.367285,51.02627],[14.507324,51.009863],[14.545703,50.993945],[14.559668,50.954932],[14.595215,50.918604],[14.623828,50.914746],[14.613574,50.855566],[14.658203,50.832617],[14.72334,50.814697],[14.766504,50.818311],[14.797461,50.842334],[14.809375,50.858984],[14.895801,50.861377],[14.98291,50.886572],[14.989941,50.927246],[14.984473,51.003418],[14.99375,51.014355],[15.125977,50.992871],[15.258594,50.958545],[15.277051,50.883008],[15.312598,50.845752],[15.354395,50.811768],[15.394629,50.796289],[15.463965,50.793848],[15.643945,50.748877],[15.730566,50.739697],[15.819238,50.708691],[15.893945,50.676904],[15.948535,50.670264],[15.973828,50.635449],[16.007227,50.611621],[16.066406,50.629932],[16.282227,50.655615],[16.359961,50.621387],[16.4125,50.585156],[16.419727,50.573633],[16.392285,50.54165],[16.379102,50.516895],[16.356641,50.500488],[16.28252,50.483008],[16.240723,50.454687],[16.210352,50.42373],[16.230762,50.394092],[16.291309,50.371875],[16.33418,50.366895],[16.350488,50.345215],[16.487598,50.248389],[16.59668,50.121924],[16.63916,50.102148],[16.679102,50.097461],[16.725293,50.116064],[16.778613,50.157031],[16.841797,50.186719],[16.895313,50.201953],[16.989648,50.236914],[16.993359,50.259717],[16.914746,50.345215],[16.869141,50.414502],[16.880078,50.427051],[16.980762,50.416113],[17.151953,50.37832],[17.415234,50.254785],[17.462305,50.254785],[17.55459,50.264062],[17.654688,50.284229],[17.702246,50.307178],[17.720117,50.298633],[17.735449,50.230762],[17.709277,50.193555],[17.589355,50.157471],[17.596289,50.139502],[17.627051,50.116406],[17.681055,50.100781],[17.746582,50.056787],[17.791699,50.006592],[17.83125,49.983301],[17.874805,49.972266],[17.983789,49.999072],[18.014648,50.020264],[18.02832,50.035254],[18.049512,50.031934],[18.087695,50.007275],[18.099219,49.992773],[18.205273,49.964746],[18.266309,49.930273],[18.305273,49.914062],[18.348438,49.929834],[18.516211,49.902393],[18.562402,49.879346],[18.577148,49.841113],[18.568848,49.81792],[18.594629,49.757812],[18.806934,49.613721],[18.829297,49.540137],[18.832227,49.510791]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":6,"SOVEREIGNT":"Northern Cyprus","SOV_A3":"CYN","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Northern Cyprus","ADM0_A3":"CYN","GEOU_DIF":0,"GEOUNIT":"Northern Cyprus","GU_A3":"CYN","SU_DIF":0,"SUBUNIT":"Northern Cyprus","SU_A3":"CYN","BRK_DIFF":0,"NAME":"N. Cyprus","NAME_LONG":"Northern Cyprus","BRK_A3":"CYN","BRK_NAME":"N. Cyprus","BRK_GROUP":null,"ABBREV":"N. Cy.","POSTAL":"CN","FORMAL_EN":"Turkish Republic of Northern Cyprus","FORMAL_FR":null,"NAME_CIAWF":null,"NOTE_ADM0":"Self admin.","NOTE_BRK":"Self admin.; Claimed by Cyprus","NAME_SORT":"Cyprus, Northern","NAME_ALT":null,"MAPCOLOR7":3,"MAPCOLOR8":1,"MAPCOLOR9":4,"MAPCOLOR13":8,"POP_EST":326000,"POP_RANK":10,"POP_YEAR":2017,"GDP_MD":3600,"GDP_YEAR":2013,"ECONOMY":"6. Developing region","INCOME_GRP":"3. Upper middle income","FIPS_10":"-99","ISO_A2":"-99","ISO_A2_EH":"-99","ISO_A3":"-99","ISO_A3_EH":"-99","ISO_N3":"-99","ISO_N3_EH":"-99","UN_A3":"-099","WB_A2":"-99","WB_A3":"-99","WOE_ID":-90,"WOE_ID_EH":23424995,"WOE_NOTE":"WOE lists as subunit of united Cyprus","ADM0_ISO":"CYP","ADM0_DIFF":"1","ADM0_TLC":"CYN","ADM0_A3_US":"CYP","ADM0_A3_FR":"CYP","ADM0_A3_RU":"CYP","ADM0_A3_ES":"CYP","ADM0_A3_CN":"CYP","ADM0_A3_TW":"CYP","ADM0_A3_IN":"CYP","ADM0_A3_NP":"CYP","ADM0_A3_PK":"CYP","ADM0_A3_DE":"CYP","ADM0_A3_GB":"CYP","ADM0_A3_BR":"CYP","ADM0_A3_IL":"CYP","ADM0_A3_PS":"CYP","ADM0_A3_SA":"CYP","ADM0_A3_EG":"CYP","ADM0_A3_MA":"CYP","ADM0_A3_PT":"CYP","ADM0_A3_AR":"CYP","ADM0_A3_JP":"CYP","ADM0_A3_KO":"CYP","ADM0_A3_VN":"CYP","ADM0_A3_TR":"CYN","ADM0_A3_ID":"CYP","ADM0_A3_PL":"CYP","ADM0_A3_GR":"CYP","ADM0_A3_IT":"CYP","ADM0_A3_NL":"CYP","ADM0_A3_SE":"CYP","ADM0_A3_BD":"CYP","ADM0_A3_UA":"CYP","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Asia","REGION_UN":"Asia","SUBREGION":"Western Asia","REGION_WB":"Europe & Central Asia","NAME_LEN":9,"LONG_LEN":15,"ABBREV_LEN":6,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":6,"MAX_LABEL":10,"LABEL_X":33.692434,"LABEL_Y":35.216071,"NE_ID":1159320531,"WIKIDATAID":"Q23681","NAME_AR":"قبرص الشمالية","NAME_BN":"উত্তর সাইপ্রাস","NAME_DE":"Türkische Republik Nordzypern","NAME_EN":"Turkish Republic of Northern Cyprus","NAME_ES":"República Turca del Norte de Chipre","NAME_FA":"جمهوری ترک قبرس شمالی","NAME_FR":"Chypre du Nord","NAME_EL":"Τουρκική Δημοκρατία της Βόρειας Κύπρου","NAME_HE":"הרפובליקה הטורקית של צפון קפריסין","NAME_HI":"उत्तरी साइप्रस","NAME_HU":"Észak-Ciprus","NAME_ID":"Republik Turki Siprus Utara","NAME_IT":"Cipro del Nord","NAME_JA":"北キプロス・トルコ共和国","NAME_KO":"북키프로스","NAME_NL":"Noord-Cyprus","NAME_PL":"Cypr Północny","NAME_PT":"República Turca do Chipre do Norte","NAME_RU":"Турецкая Республика Северного Кипра","NAME_SV":"Nordcypern","NAME_TR":"Kuzey Kıbrıs Türk Cumhuriyeti","NAME_UK":"Турецька Республіка Північного Кіпру","NAME_UR":"ترک جمہوریہ شمالی قبرص","NAME_VI":"Bắc Síp","NAME_ZH":"北塞浦路斯土耳其共和国","NAME_ZHT":"北賽普勒斯土耳其共和國","FCLASS_ISO":"Unrecognized","TLC_DIFF":"1","FCLASS_TLC":"Admin-0 country","FCLASS_US":"Admin-0 breakaway and disputed","FCLASS_FR":"Unrecognized","FCLASS_RU":"Unrecognized","FCLASS_ES":"Unrecognized","FCLASS_CN":"Unrecognized","FCLASS_TW":"Unrecognized","FCLASS_IN":"Unrecognized","FCLASS_NP":"Unrecognized","FCLASS_PK":"Unrecognized","FCLASS_DE":"Unrecognized","FCLASS_GB":"Unrecognized","FCLASS_BR":"Unrecognized","FCLASS_IL":"Unrecognized","FCLASS_PS":"Unrecognized","FCLASS_SA":"Unrecognized","FCLASS_EG":"Unrecognized","FCLASS_MA":"Unrecognized","FCLASS_PT":"Unrecognized","FCLASS_AR":"Unrecognized","FCLASS_JP":"Unrecognized","FCLASS_KO":"Unrecognized","FCLASS_VN":"Unrecognized","FCLASS_TR":"Admin-0 country","FCLASS_ID":"Unrecognized","FCLASS_PL":"Unrecognized","FCLASS_GR":"Unrecognized","FCLASS_IT":"Unrecognized","FCLASS_NL":"Unrecognized","FCLASS_SE":"Unrecognized","FCLASS_BD":"Unrecognized","FCLASS_UA":"Unrecognized"},"bbox":[32.712695,35.000342,34.556055,35.662061],"geometry":{"type":"Polygon","coordinates":[[[34.004492,35.065234],[33.965723,35.056787],[33.90332,35.085449],[33.866406,35.093604],[33.832031,35.067187],[33.792285,35.048193],[33.756934,35.039746],[33.725781,35.037305],[33.675391,35.017871],[33.614453,35.022754],[33.525684,35.038672],[33.475781,35.000342],[33.463867,35.004932],[33.455957,35.101416],[33.424219,35.140918],[33.383789,35.162695],[33.325586,35.153613],[33.24834,35.156934],[33.191016,35.173145],[33.077539,35.146191],[32.985938,35.116406],[32.919531,35.087842],[32.869434,35.089404],[32.784082,35.115771],[32.720215,35.145361],[32.712695,35.171045],[32.772363,35.15957],[32.879883,35.180566],[32.926367,35.278076],[32.941602,35.39043],[33.123438,35.358203],[33.307813,35.341504],[33.458789,35.335889],[33.607617,35.35415],[34.063477,35.473975],[34.19248,35.545703],[34.272363,35.569971],[34.411133,35.629297],[34.556055,35.662061],[34.463184,35.593506],[33.941992,35.292041],[33.90791,35.202393],[33.93125,35.140381],[34.004492,35.065234]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":5,"SOVEREIGNT":"Cyprus","SOV_A3":"CYP","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Cyprus","ADM0_A3":"CYP","GEOU_DIF":0,"GEOUNIT":"Cyprus","GU_A3":"CYP","SU_DIF":0,"SUBUNIT":"Cyprus","SU_A3":"CYP","BRK_DIFF":0,"NAME":"Cyprus","NAME_LONG":"Cyprus","BRK_A3":"CYP","BRK_NAME":"Cyprus","BRK_GROUP":null,"ABBREV":"Cyp.","POSTAL":"CY","FORMAL_EN":"Republic of Cyprus","FORMAL_FR":null,"NAME_CIAWF":"Cyprus","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Cyprus","NAME_ALT":null,"MAPCOLOR7":1,"MAPCOLOR8":2,"MAPCOLOR9":3,"MAPCOLOR13":7,"POP_EST":1198575,"POP_RANK":12,"POP_YEAR":2019,"GDP_MD":24948,"GDP_YEAR":2019,"ECONOMY":"6. Developing region","INCOME_GRP":"2. High income: nonOECD","FIPS_10":"CY","ISO_A2":"CY","ISO_A2_EH":"CY","ISO_A3":"CYP","ISO_A3_EH":"CYP","ISO_N3":"196","ISO_N3_EH":"196","UN_A3":"196","WB_A2":"CY","WB_A3":"CYP","WOE_ID":-90,"WOE_ID_EH":23424994,"WOE_NOTE":"WOE lists as subunit of united Cyprus","ADM0_ISO":"CYP","ADM0_DIFF":null,"ADM0_TLC":"CYP","ADM0_A3_US":"CYP","ADM0_A3_FR":"CYP","ADM0_A3_RU":"CYP","ADM0_A3_ES":"CYP","ADM0_A3_CN":"CYP","ADM0_A3_TW":"CYP","ADM0_A3_IN":"CYP","ADM0_A3_NP":"CYP","ADM0_A3_PK":"CYP","ADM0_A3_DE":"CYP","ADM0_A3_GB":"CYP","ADM0_A3_BR":"CYP","ADM0_A3_IL":"CYP","ADM0_A3_PS":"CYP","ADM0_A3_SA":"CYP","ADM0_A3_EG":"CYP","ADM0_A3_MA":"CYP","ADM0_A3_PT":"CYP","ADM0_A3_AR":"CYP","ADM0_A3_JP":"CYP","ADM0_A3_KO":"CYP","ADM0_A3_VN":"CYP","ADM0_A3_TR":"CYP","ADM0_A3_ID":"CYP","ADM0_A3_PL":"CYP","ADM0_A3_GR":"CYP","ADM0_A3_IT":"CYP","ADM0_A3_NL":"CYP","ADM0_A3_SE":"CYP","ADM0_A3_BD":"CYP","ADM0_A3_UA":"CYP","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Asia","REGION_UN":"Asia","SUBREGION":"Western Asia","REGION_WB":"Europe & Central Asia","NAME_LEN":6,"LONG_LEN":6,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":4.5,"MAX_LABEL":9.5,"LABEL_X":33.084182,"LABEL_Y":34.913329,"NE_ID":1159320533,"WIKIDATAID":"Q229","NAME_AR":"قبرص","NAME_BN":"সাইপ্রাস","NAME_DE":"Republik Zypern","NAME_EN":"Cyprus","NAME_ES":"Chipre","NAME_FA":"قبرس","NAME_FR":"Chypre","NAME_EL":"Κύπρος","NAME_HE":"קפריסין","NAME_HI":"साइप्रस","NAME_HU":"Ciprus","NAME_ID":"Siprus","NAME_IT":"Cipro","NAME_JA":"キプロス","NAME_KO":"키프로스","NAME_NL":"Cyprus","NAME_PL":"Cypr","NAME_PT":"Chipre","NAME_RU":"Кипр","NAME_SV":"Cypern","NAME_TR":"Kıbrıs Cumhuriyeti","NAME_UK":"Кіпр","NAME_UR":"قبرص","NAME_VI":"Cộng hòa Síp","NAME_ZH":"塞浦路斯","NAME_ZHT":"賽普勒斯","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[32.300977,34.56958,34.050195,35.182666],"geometry":{"type":"Polygon","coordinates":[[[32.712695,35.171045],[32.720215,35.145361],[32.784082,35.115771],[32.869434,35.089404],[32.919531,35.087842],[32.985938,35.116406],[33.077539,35.146191],[33.191016,35.173145],[33.24834,35.156934],[33.325586,35.153613],[33.383789,35.162695],[33.424219,35.140918],[33.455957,35.101416],[33.463867,35.004932],[33.475781,35.000342],[33.525684,35.038672],[33.614453,35.022754],[33.675391,35.017871],[33.725781,35.037305],[33.756934,35.039746],[33.792285,35.048193],[33.832031,35.067187],[33.866406,35.093604],[33.90332,35.085449],[33.965723,35.056787],[34.004492,35.065234],[34.023633,35.045557],[34.050195,34.988379],[33.936523,34.971484],[33.822461,34.965918],[33.758984,34.973242],[33.699414,34.969873],[33.514453,34.806445],[33.414941,34.750879],[33.296582,34.717725],[33.176074,34.698047],[33.115527,34.695557],[33.062305,34.674805],[33.024902,34.636914],[33.023926,34.6],[33.00791,34.56958],[32.941797,34.575879],[32.914258,34.635498],[32.867188,34.661133],[32.750098,34.647803],[32.692969,34.649365],[32.505566,34.70625],[32.449023,34.729443],[32.41377,34.778027],[32.317188,34.95332],[32.300977,35.082959],[32.390918,35.049805],[32.475,35.08999],[32.555957,35.155762],[32.652344,35.182666],[32.712695,35.171045]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":3,"SOVEREIGNT":"Cuba","SOV_A3":"CU1","ADM0_DIF":1,"LEVEL":1,"TYPE":"Sovereignty","TLC":"1","ADMIN":"Cuba","ADM0_A3":"CUB","GEOU_DIF":0,"GEOUNIT":"Cuba","GU_A3":"CUB","SU_DIF":0,"SUBUNIT":"Cuba","SU_A3":"CUB","BRK_DIFF":0,"NAME":"Cuba","NAME_LONG":"Cuba","BRK_A3":"CUB","BRK_NAME":"Cuba","BRK_GROUP":null,"ABBREV":"Cuba","POSTAL":"CU","FORMAL_EN":"Republic of Cuba","FORMAL_FR":null,"NAME_CIAWF":"Cuba","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Cuba","NAME_ALT":null,"MAPCOLOR7":3,"MAPCOLOR8":5,"MAPCOLOR9":3,"MAPCOLOR13":4,"POP_EST":11333483,"POP_RANK":14,"POP_YEAR":2019,"GDP_MD":100023,"GDP_YEAR":2018,"ECONOMY":"5. Emerging region: G20","INCOME_GRP":"3. Upper middle income","FIPS_10":"CU","ISO_A2":"CU","ISO_A2_EH":"CU","ISO_A3":"CUB","ISO_A3_EH":"CUB","ISO_N3":"192","ISO_N3_EH":"192","UN_A3":"192","WB_A2":"CU","WB_A3":"CUB","WOE_ID":23424793,"WOE_ID_EH":23424793,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"CUB","ADM0_DIFF":null,"ADM0_TLC":"CUB","ADM0_A3_US":"CUB","ADM0_A3_FR":"CUB","ADM0_A3_RU":"CUB","ADM0_A3_ES":"CUB","ADM0_A3_CN":"CUB","ADM0_A3_TW":"CUB","ADM0_A3_IN":"CUB","ADM0_A3_NP":"CUB","ADM0_A3_PK":"CUB","ADM0_A3_DE":"CUB","ADM0_A3_GB":"CUB","ADM0_A3_BR":"CUB","ADM0_A3_IL":"CUB","ADM0_A3_PS":"CUB","ADM0_A3_SA":"CUB","ADM0_A3_EG":"CUB","ADM0_A3_MA":"CUB","ADM0_A3_PT":"CUB","ADM0_A3_AR":"CUB","ADM0_A3_JP":"CUB","ADM0_A3_KO":"CUB","ADM0_A3_VN":"CUB","ADM0_A3_TR":"CUB","ADM0_A3_ID":"CUB","ADM0_A3_PL":"CUB","ADM0_A3_GR":"CUB","ADM0_A3_IT":"CUB","ADM0_A3_NL":"CUB","ADM0_A3_SE":"CUB","ADM0_A3_BD":"CUB","ADM0_A3_UA":"CUB","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"North America","REGION_UN":"Americas","SUBREGION":"Caribbean","REGION_WB":"Latin America & Caribbean","NAME_LEN":4,"LONG_LEN":4,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":2.7,"MAX_LABEL":8,"LABEL_X":-77.975855,"LABEL_Y":21.334024,"NE_ID":1159320527,"WIKIDATAID":"Q241","NAME_AR":"كوبا","NAME_BN":"কিউবা","NAME_DE":"Kuba","NAME_EN":"Cuba","NAME_ES":"Cuba","NAME_FA":"کوبا","NAME_FR":"Cuba","NAME_EL":"Κούβα","NAME_HE":"קובה","NAME_HI":"क्यूबा","NAME_HU":"Kuba","NAME_ID":"Kuba","NAME_IT":"Cuba","NAME_JA":"キューバ","NAME_KO":"쿠바","NAME_NL":"Cuba","NAME_PL":"Kuba","NAME_PT":"Cuba","NAME_RU":"Куба","NAME_SV":"Kuba","NAME_TR":"Küba","NAME_UK":"Куба","NAME_UR":"کیوبا","NAME_VI":"Cuba","NAME_ZH":"古巴","NAME_ZHT":"古巴","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[-84.887207,19.855469,-74.136816,23.19043],"geometry":{"type":"MultiPolygon","coordinates":[[[[-81.837451,23.163037],[-81.575439,23.116504],[-81.363623,23.129688],[-81.262354,23.156836],[-81.271631,23.128613],[-81.178613,23.059668],[-81.144629,23.054932],[-81.007666,23.089844],[-80.650146,23.103076],[-80.613428,23.08374],[-80.550488,23.016602],[-80.459229,22.975],[-80.364893,22.943408],[-80.266162,22.934961],[-80.167627,22.949365],[-80.075244,22.942334],[-79.959912,22.876904],[-79.923535,22.869141],[-79.820264,22.887012],[-79.850732,22.827197],[-79.67666,22.743066],[-79.549219,22.577783],[-79.456494,22.509863],[-79.358301,22.448926],[-79.275684,22.407617],[-79.183008,22.387891],[-78.901904,22.395996],[-78.835449,22.390918],[-78.775977,22.367334],[-78.719238,22.358057],[-78.686475,22.366846],[-78.143115,22.109424],[-77.970508,21.971973],[-77.865039,21.900586],[-77.636816,21.797363],[-77.545117,21.774609],[-77.497119,21.78833],[-77.506543,21.811035],[-77.57334,21.868311],[-77.583154,21.889258],[-77.497266,21.871631],[-77.342139,21.755273],[-77.299512,21.712256],[-77.22207,21.672412],[-77.144141,21.643604],[-77.18125,21.597656],[-77.244531,21.59375],[-77.366162,21.612646],[-77.26958,21.537891],[-77.252881,21.483496],[-77.20791,21.478857],[-77.140967,21.538623],[-77.098633,21.589014],[-76.928076,21.458984],[-76.836328,21.399512],[-76.859814,21.364795],[-76.867432,21.33042],[-76.76499,21.362402],[-76.726074,21.358887],[-76.688525,21.34043],[-76.647412,21.284521],[-76.551709,21.272119],[-76.455176,21.273633],[-76.259229,21.227393],[-76.073633,21.133447],[-75.899023,21.114258],[-75.722949,21.111035],[-75.63374,21.061328],[-75.595801,20.994678],[-75.638525,20.947461],[-75.662939,20.898145],[-75.597266,20.837646],[-75.740234,20.811963],[-75.7604,20.775537],[-75.752979,20.736182],[-75.724561,20.714551],[-75.642773,20.733496],[-75.524609,20.71665],[-75.338135,20.701611],[-75.213281,20.713867],[-74.959717,20.672656],[-74.882568,20.650635],[-74.73208,20.573193],[-74.662451,20.522119],[-74.513135,20.38457],[-74.384375,20.330469],[-74.272803,20.317383],[-74.233887,20.326416],[-74.198486,20.311475],[-74.16748,20.292187],[-74.136816,20.231934],[-74.153711,20.168555],[-74.217432,20.117139],[-74.252832,20.079687],[-74.412158,20.075342],[-74.634766,20.058154],[-74.850049,20.002295],[-74.955127,19.95791],[-75.003174,19.928564],[-75.116406,19.901416],[-75.124121,19.924658],[-75.121973,19.953906],[-75.151611,20.00835],[-75.177295,19.959375],[-75.219434,19.923633],[-75.290479,19.893115],[-75.551953,19.891113],[-75.657227,19.932227],[-75.765137,19.9604],[-76.158447,19.989746],[-76.252832,19.987158],[-76.515625,19.956689],[-76.779736,19.940186],[-76.890234,19.921338],[-76.999463,19.892822],[-77.211963,19.89375],[-77.463184,19.861377],[-77.715088,19.855469],[-77.55376,20.082129],[-77.213379,20.300391],[-77.149414,20.347266],[-77.103809,20.40752],[-77.093018,20.45293],[-77.10791,20.49165],[-77.188965,20.559961],[-77.205469,20.61084],[-77.22959,20.64375],[-77.347559,20.672363],[-77.467041,20.689502],[-77.592725,20.690088],[-77.856885,20.713623],[-77.997314,20.715381],[-78.116357,20.761865],[-78.313867,20.92749],[-78.406348,20.973877],[-78.453857,21.010986],[-78.490771,21.053711],[-78.537256,21.296826],[-78.576562,21.413818],[-78.636475,21.515527],[-78.727686,21.592725],[-78.822949,21.618945],[-79.189209,21.552832],[-79.274414,21.562646],[-79.357422,21.585156],[-79.910303,21.742578],[-80.13833,21.829248],[-80.231348,21.872168],[-80.310693,21.933398],[-80.39292,22.03374],[-80.485449,22.123437],[-80.484814,22.087158],[-80.499072,22.063525],[-80.961914,22.052881],[-81.035645,22.073584],[-81.083105,22.097949],[-81.11665,22.134229],[-81.141406,22.206934],[-81.185498,22.267969],[-81.199561,22.20293],[-81.222412,22.14292],[-81.284375,22.109424],[-81.355273,22.104102],[-81.441113,22.183789],[-81.816211,22.200195],[-81.849414,22.213672],[-81.972607,22.290869],[-82.077734,22.387695],[-81.973047,22.421826],[-81.75708,22.466748],[-81.710352,22.49668],[-81.683252,22.534814],[-81.702734,22.591895],[-81.745654,22.63291],[-81.789893,22.657031],[-81.838818,22.672461],[-81.903418,22.679004],[-82.738037,22.689258],[-82.786377,22.65835],[-82.86123,22.595117],[-83.009424,22.514014],[-83.107129,22.429883],[-83.14375,22.386475],[-83.189404,22.35542],[-83.292139,22.303223],[-83.379639,22.222998],[-83.485937,22.187109],[-83.544043,22.208936],[-83.601514,22.20874],[-83.643066,22.188965],[-83.686621,22.179932],[-83.900732,22.170117],[-83.932715,22.149658],[-83.96333,22.09209],[-83.998047,21.980127],[-84.030957,21.943115],[-84.13833,21.929004],[-84.240674,21.89834],[-84.448828,21.79165],[-84.502588,21.776172],[-84.490918,21.854297],[-84.501367,21.930273],[-84.56001,21.933008],[-84.626904,21.920361],[-84.682666,21.899072],[-84.78584,21.842285],[-84.838232,21.82793],[-84.887207,21.856982],[-84.877246,21.894141],[-84.532764,22.031152],[-84.494238,22.041602],[-84.433057,22.031299],[-84.373145,22.035938],[-84.326367,22.074316],[-84.383008,22.255566],[-84.361279,22.378906],[-84.281348,22.474219],[-84.121777,22.618555],[-84.044922,22.666016],[-83.257812,22.967578],[-83.177246,22.983008],[-82.66582,23.043555],[-82.587793,23.064551],[-82.350537,23.153955],[-82.101367,23.19043],[-81.837451,23.163037]]],[[[-77.668994,21.951953],[-77.710059,21.921338],[-77.755029,21.965576],[-77.783643,21.97041],[-77.823193,21.987939],[-77.9,22.037158],[-77.918555,22.088086],[-77.854736,22.091943],[-77.774414,22.082959],[-77.633691,22.054004],[-77.645996,21.996484],[-77.668994,21.951953]]],[[[-78.0271,22.285156],[-78.04751,22.268506],[-78.10166,22.305762],[-78.180029,22.321973],[-78.226123,22.37998],[-78.27002,22.402246],[-78.273535,22.423584],[-78.200977,22.437646],[-78.150586,22.431494],[-78.094141,22.387207],[-78.06167,22.305908],[-78.0271,22.285156]]],[[[-78.630127,22.552246],[-78.492871,22.531055],[-78.445312,22.54375],[-78.399561,22.547461],[-78.351221,22.538623],[-78.283887,22.455469],[-78.343018,22.445117],[-78.389941,22.445117],[-78.424561,22.460107],[-78.547656,22.464014],[-78.629004,22.488184],[-78.673633,22.508838],[-78.695508,22.533984],[-78.630127,22.552246]]],[[[-77.879395,22.127539],[-77.912354,22.124707],[-78.011914,22.166406],[-78.04165,22.20127],[-78.006689,22.247998],[-77.999219,22.29873],[-77.985645,22.3021],[-77.96958,22.240674],[-77.893652,22.214551],[-77.889111,22.201074],[-77.84248,22.148975],[-77.879395,22.127539]]],[[[-82.561768,21.57168],[-82.654834,21.518652],[-82.853174,21.443896],[-82.959619,21.441309],[-83.067285,21.469385],[-83.141504,21.531885],[-83.183789,21.593457],[-83.180225,21.623047],[-83.112939,21.573682],[-83.054883,21.549414],[-83.007227,21.565576],[-82.973584,21.592285],[-83.08252,21.791406],[-83.077734,21.833496],[-82.991211,21.942725],[-82.755762,21.909521],[-82.714551,21.890283],[-82.681836,21.821143],[-82.629395,21.766895],[-82.567822,21.621826],[-82.561768,21.57168]]],[[[-79.349561,22.663916],[-79.3479,22.637695],[-79.522754,22.711133],[-79.597852,22.787646],[-79.628174,22.805225],[-79.57915,22.806738],[-79.382178,22.681348],[-79.349561,22.663916]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":6,"SOVEREIGNT":"Croatia","SOV_A3":"HRV","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Croatia","ADM0_A3":"HRV","GEOU_DIF":0,"GEOUNIT":"Croatia","GU_A3":"HRV","SU_DIF":0,"SUBUNIT":"Croatia","SU_A3":"HRV","BRK_DIFF":0,"NAME":"Croatia","NAME_LONG":"Croatia","BRK_A3":"HRV","BRK_NAME":"Croatia","BRK_GROUP":null,"ABBREV":"Cro.","POSTAL":"HR","FORMAL_EN":"Republic of Croatia","FORMAL_FR":null,"NAME_CIAWF":"Croatia","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Croatia","NAME_ALT":null,"MAPCOLOR7":5,"MAPCOLOR8":4,"MAPCOLOR9":5,"MAPCOLOR13":1,"POP_EST":4067500,"POP_RANK":12,"POP_YEAR":2019,"GDP_MD":60752,"GDP_YEAR":2019,"ECONOMY":"2. Developed region: nonG7","INCOME_GRP":"2. High income: nonOECD","FIPS_10":"HR","ISO_A2":"HR","ISO_A2_EH":"HR","ISO_A3":"HRV","ISO_A3_EH":"HRV","ISO_N3":"191","ISO_N3_EH":"191","UN_A3":"191","WB_A2":"HR","WB_A3":"HRV","WOE_ID":23424843,"WOE_ID_EH":23424843,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"HRV","ADM0_DIFF":null,"ADM0_TLC":"HRV","ADM0_A3_US":"HRV","ADM0_A3_FR":"HRV","ADM0_A3_RU":"HRV","ADM0_A3_ES":"HRV","ADM0_A3_CN":"HRV","ADM0_A3_TW":"HRV","ADM0_A3_IN":"HRV","ADM0_A3_NP":"HRV","ADM0_A3_PK":"HRV","ADM0_A3_DE":"HRV","ADM0_A3_GB":"HRV","ADM0_A3_BR":"HRV","ADM0_A3_IL":"HRV","ADM0_A3_PS":"HRV","ADM0_A3_SA":"HRV","ADM0_A3_EG":"HRV","ADM0_A3_MA":"HRV","ADM0_A3_PT":"HRV","ADM0_A3_AR":"HRV","ADM0_A3_JP":"HRV","ADM0_A3_KO":"HRV","ADM0_A3_VN":"HRV","ADM0_A3_TR":"HRV","ADM0_A3_ID":"HRV","ADM0_A3_PL":"HRV","ADM0_A3_GR":"HRV","ADM0_A3_IT":"HRV","ADM0_A3_NL":"HRV","ADM0_A3_SE":"HRV","ADM0_A3_BD":"HRV","ADM0_A3_UA":"HRV","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Europe","REGION_UN":"Europe","SUBREGION":"Southern Europe","REGION_WB":"Europe & Central Asia","NAME_LEN":7,"LONG_LEN":7,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":4,"MAX_LABEL":9,"LABEL_X":16.37241,"LABEL_Y":45.805799,"NE_ID":1159320833,"WIKIDATAID":"Q224","NAME_AR":"كرواتيا","NAME_BN":"ক্রোয়েশিয়া","NAME_DE":"Kroatien","NAME_EN":"Croatia","NAME_ES":"Croacia","NAME_FA":"کرواسی","NAME_FR":"Croatie","NAME_EL":"Κροατία","NAME_HE":"קרואטיה","NAME_HI":"क्रोएशिया","NAME_HU":"Horvátország","NAME_ID":"Kroasia","NAME_IT":"Croazia","NAME_JA":"クロアチア","NAME_KO":"크로아티아","NAME_NL":"Kroatië","NAME_PL":"Chorwacja","NAME_PT":"Croácia","NAME_RU":"Хорватия","NAME_SV":"Kroatien","NAME_TR":"Hırvatistan","NAME_UK":"Хорватія","NAME_UR":"کروشیا","NAME_VI":"Croatia","NAME_ZH":"克罗地亚","NAME_ZHT":"克羅地亞","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[13.517188,42.43291,19.400977,46.534619],"geometry":{"type":"MultiPolygon","coordinates":[[[[13.57793,45.516895],[13.615234,45.476758],[13.878711,45.428369],[13.935645,45.449805],[13.970117,45.482617],[13.970313,45.503369],[13.992773,45.509424],[14.085547,45.477832],[14.16123,45.485156],[14.283008,45.486621],[14.369922,45.481445],[14.427344,45.505762],[14.505176,45.595215],[14.533984,45.645264],[14.568848,45.657227],[14.591797,45.65127],[14.608594,45.610107],[14.649512,45.571484],[14.733594,45.508496],[14.793066,45.478223],[14.84707,45.467334],[14.9,45.492676],[14.95459,45.499902],[15.110449,45.450781],[15.24209,45.441406],[15.339453,45.467041],[15.32666,45.502295],[15.291211,45.541553],[15.283594,45.579687],[15.290137,45.612646],[15.356934,45.645508],[15.353711,45.659912],[15.272949,45.717725],[15.277051,45.732617],[15.454102,45.797607],[15.624805,45.834033],[15.652148,45.862158],[15.668066,45.904443],[15.675586,45.983691],[15.666211,46.048486],[15.596875,46.109229],[15.592578,46.13999],[15.608984,46.171924],[15.635938,46.200732],[15.704199,46.213232],[15.784277,46.233984],[15.847559,46.257861],[15.933301,46.277637],[16.000684,46.305371],[16.066504,46.371338],[16.106445,46.382227],[16.227441,46.372852],[16.25332,46.389111],[16.236719,46.483838],[16.258398,46.50791],[16.301172,46.521387],[16.321191,46.534619],[16.427637,46.524414],[16.516211,46.499902],[16.569922,46.48501],[16.748047,46.416406],[16.871484,46.339307],[16.939941,46.253662],[17.032715,46.187305],[17.149609,46.140332],[17.242188,46.076611],[17.310645,45.996143],[17.406348,45.951074],[17.529199,45.941309],[17.607031,45.91377],[17.639648,45.868359],[17.706445,45.827246],[17.807129,45.79043],[17.963867,45.770264],[18.263965,45.765479],[18.290625,45.764453],[18.358301,45.753027],[18.437305,45.767334],[18.533594,45.796143],[18.564648,45.813281],[18.666016,45.907471],[18.721777,45.899365],[18.833008,45.91084],[18.900293,45.931738],[18.905371,45.931738],[18.901074,45.907617],[18.893555,45.865527],[18.839063,45.835742],[18.894531,45.76709],[18.947266,45.655811],[18.917871,45.60083],[18.953711,45.558008],[19.055078,45.527246],[19.064258,45.51499],[19.033301,45.502197],[19.007617,45.46582],[19.004688,45.399512],[19.093066,45.336914],[19.272852,45.277979],[19.330273,45.268066],[19.352246,45.24541],[19.382324,45.230615],[19.4,45.2125],[19.400977,45.189062],[19.388086,45.172998],[19.303027,45.167285],[19.205957,45.167773],[19.136914,45.19624],[19.130762,45.175488],[19.129688,45.151709],[19.062891,45.137207],[19.1,44.973779],[19.085254,44.926758],[19.060547,44.910986],[19.037598,44.917529],[19.00957,44.919385],[18.995508,44.904004],[19.007129,44.869189],[18.941309,44.865186],[18.836426,44.883252],[18.788379,44.914893],[18.780176,44.947217],[18.779395,44.977246],[18.746094,45.026514],[18.662598,45.077441],[18.488281,45.08584],[18.423926,45.102002],[18.357617,45.120557],[18.284961,45.134277],[18.217969,45.13291],[18.137207,45.119385],[17.996289,45.141797],[17.948633,45.111865],[17.874414,45.077246],[17.812793,45.078125],[17.690137,45.158398],[17.653516,45.163477],[17.546289,45.122559],[17.502637,45.120361],[17.469141,45.133301],[17.324121,45.163965],[17.258691,45.170557],[17.210645,45.156055],[17.125391,45.171777],[16.918652,45.276562],[16.79082,45.196875],[16.530664,45.216699],[16.453516,45.162012],[16.365039,45.05835],[16.293359,45.008838],[16.231055,45.026611],[16.157324,45.072217],[16.02832,45.1896],[15.963184,45.210791],[15.888281,45.215723],[15.822852,45.202783],[15.788086,45.178955],[15.761523,45.00752],[15.737988,44.856396],[15.736621,44.76582],[15.880078,44.681934],[16.049023,44.537598],[16.103418,44.520996],[16.130273,44.47373],[16.169824,44.352002],[16.214258,44.215137],[16.300098,44.124512],[16.377539,44.059619],[16.47207,44.002588],[16.590527,43.913184],[16.687695,43.815039],[16.713477,43.778809],[16.901855,43.649023],[17.08457,43.516553],[17.248047,43.470215],[17.273828,43.445752],[17.275293,43.343848],[17.293066,43.305615],[17.402246,43.198926],[17.624805,43.042773],[17.650488,43.006592],[17.657813,42.980078],[17.643457,42.959766],[17.585156,42.938379],[17.537305,42.962256],[17.329883,43.114893],[17.129395,43.211133],[16.903125,43.392432],[16.600293,43.464062],[16.393945,43.543359],[16.268945,43.53125],[16.131055,43.506299],[16.045996,43.505518],[15.985547,43.519775],[15.942578,43.568945],[15.949121,43.606982],[15.941504,43.656641],[15.820605,43.735937],[15.655664,43.811279],[15.499414,43.908789],[15.18584,44.172119],[15.122949,44.256787],[15.184668,44.2729],[15.231348,44.271436],[15.284277,44.288818],[15.369727,44.289258],[15.470996,44.271973],[15.381348,44.328271],[15.269824,44.383496],[14.981348,44.60293],[14.895215,44.706592],[14.885254,44.818262],[14.906543,44.971387],[14.85459,45.081006],[14.632031,45.2229],[14.550488,45.297705],[14.386133,45.342139],[14.312695,45.337793],[14.268555,45.28252],[14.236328,45.159668],[14.090625,44.997607],[14.041992,44.927197],[13.96582,44.835645],[13.899805,44.829346],[13.860742,44.837402],[13.74248,44.991504],[13.629297,45.108203],[13.613477,45.163428],[13.60332,45.231396],[13.517188,45.481787],[13.57793,45.516895]]],[[[16.650684,42.996582],[16.835547,42.968652],[16.971094,42.981494],[17.093652,42.964355],[17.169824,42.932617],[17.188281,42.917041],[17.089355,42.914893],[16.977539,42.927783],[16.850684,42.895508],[16.738867,42.912744],[16.696387,42.933691],[16.666309,42.959912],[16.650684,42.996582]]],[[[17.194043,43.125781],[17.124121,43.11543],[16.679199,43.123145],[16.549805,43.143896],[16.405859,43.197363],[16.376465,43.21377],[16.521387,43.229248],[16.655957,43.21377],[16.697266,43.174951],[17.061133,43.143896],[17.194043,43.125781]]],[[[16.785254,43.270654],[16.627441,43.268066],[16.490332,43.286182],[16.423145,43.317236],[16.428125,43.343408],[16.448926,43.387061],[16.601562,43.381885],[16.834375,43.35083],[16.891309,43.314648],[16.873633,43.297949],[16.785254,43.270654]]],[[[15.231055,44.062305],[15.24668,44.027051],[15.121875,44.093311],[15.074609,44.137842],[15.06582,44.157666],[15.231055,44.062305]]],[[[14.810254,44.977051],[14.687012,44.955615],[14.62832,44.993945],[14.612988,45.025439],[14.511719,45.0354],[14.450391,45.079199],[14.437891,45.098633],[14.524609,45.146826],[14.571094,45.224756],[14.62998,45.178027],[14.701172,45.090039],[14.73916,45.065479],[14.810254,44.977051]]],[[[14.831445,44.758936],[14.856641,44.714844],[14.7625,44.754639],[14.678223,44.769873],[14.660352,44.799805],[14.672461,44.824365],[14.690527,44.848145],[14.754199,44.844824],[14.76377,44.821387],[14.831445,44.758936]]],[[[15.188477,44.335742],[15.162598,44.30918],[15.097949,44.358154],[15.038574,44.393018],[14.996094,44.434326],[14.912793,44.48584],[14.884668,44.544727],[14.760449,44.664746],[14.741895,44.697363],[14.803809,44.648682],[14.855371,44.618262],[14.898047,44.61084],[15.006445,44.534229],[15.112988,44.435742],[15.239941,44.350195],[15.213574,44.347559],[15.188477,44.335742]]],[[[15.18877,43.922363],[15.203027,43.907715],[15.20166,43.897754],[15.149805,43.911816],[15.13584,43.907275],[14.891309,44.125537],[14.865039,44.167969],[14.952539,44.117188],[15.18877,43.922363]]],[[[15.371387,43.973828],[15.437207,43.899512],[15.374219,43.914795],[15.308594,43.960791],[15.27002,44.010742],[15.371387,43.973828]]],[[[14.488086,44.660059],[14.480371,44.62124],[14.419531,44.670312],[14.388867,44.758301],[14.312402,44.900391],[14.302539,44.94043],[14.342188,44.979932],[14.340039,45.019971],[14.28584,45.144629],[14.33125,45.16499],[14.358203,45.167432],[14.369141,45.080957],[14.39375,45.03125],[14.467383,44.970215],[14.452539,44.869189],[14.467578,44.725342],[14.48252,44.693359],[14.488086,44.660059]]],[[[17.607813,42.769043],[17.744238,42.700342],[17.344141,42.790381],[17.389551,42.798633],[17.431934,42.800391],[17.607813,42.769043]]],[[[18.436328,42.559717],[18.438086,42.522949],[18.47666,42.481104],[18.51748,42.43291],[18.333008,42.527881],[18.160645,42.634033],[17.823828,42.797412],[17.584961,42.837158],[17.258203,42.968457],[17.04541,43.014893],[17.126465,43.025586],[17.219824,43.025879],[17.723633,42.850684],[17.667578,42.897119],[17.740234,42.915479],[17.801953,42.902246],[17.841309,42.845068],[17.918848,42.807422],[18.044531,42.74126],[18.123926,42.690576],[18.304004,42.599414],[18.346582,42.58667],[18.436328,42.559717]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":5,"LABELRANK":3,"SOVEREIGNT":"Ivory Coast","SOV_A3":"CIV","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Ivory Coast","ADM0_A3":"CIV","GEOU_DIF":0,"GEOUNIT":"Ivory Coast","GU_A3":"CIV","SU_DIF":0,"SUBUNIT":"Ivory Coast","SU_A3":"CIV","BRK_DIFF":0,"NAME":"Côte d'Ivoire","NAME_LONG":"Côte d'Ivoire","BRK_A3":"CIV","BRK_NAME":"Côte d'Ivoire","BRK_GROUP":null,"ABBREV":"I.C.","POSTAL":"CI","FORMAL_EN":"Republic of Ivory Coast","FORMAL_FR":"Republic of Cote D'Ivoire","NAME_CIAWF":"Cote D'ivoire","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Côte d'Ivoire","NAME_ALT":null,"MAPCOLOR7":4,"MAPCOLOR8":6,"MAPCOLOR9":3,"MAPCOLOR13":3,"POP_EST":25716544,"POP_RANK":15,"POP_YEAR":2019,"GDP_MD":58539,"GDP_YEAR":2019,"ECONOMY":"6. Developing region","INCOME_GRP":"4. Lower middle income","FIPS_10":"IV","ISO_A2":"CI","ISO_A2_EH":"CI","ISO_A3":"CIV","ISO_A3_EH":"CIV","ISO_N3":"384","ISO_N3_EH":"384","UN_A3":"384","WB_A2":"CI","WB_A3":"CIV","WOE_ID":23424854,"WOE_ID_EH":23424854,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"CIV","ADM0_DIFF":null,"ADM0_TLC":"CIV","ADM0_A3_US":"CIV","ADM0_A3_FR":"CIV","ADM0_A3_RU":"CIV","ADM0_A3_ES":"CIV","ADM0_A3_CN":"CIV","ADM0_A3_TW":"CIV","ADM0_A3_IN":"CIV","ADM0_A3_NP":"CIV","ADM0_A3_PK":"CIV","ADM0_A3_DE":"CIV","ADM0_A3_GB":"CIV","ADM0_A3_BR":"CIV","ADM0_A3_IL":"CIV","ADM0_A3_PS":"CIV","ADM0_A3_SA":"CIV","ADM0_A3_EG":"CIV","ADM0_A3_MA":"CIV","ADM0_A3_PT":"CIV","ADM0_A3_AR":"CIV","ADM0_A3_JP":"CIV","ADM0_A3_KO":"CIV","ADM0_A3_VN":"CIV","ADM0_A3_TR":"CIV","ADM0_A3_ID":"CIV","ADM0_A3_PL":"CIV","ADM0_A3_GR":"CIV","ADM0_A3_IT":"CIV","ADM0_A3_NL":"CIV","ADM0_A3_SE":"CIV","ADM0_A3_BD":"CIV","ADM0_A3_UA":"CIV","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Africa","REGION_UN":"Africa","SUBREGION":"Western Africa","REGION_WB":"Sub-Saharan Africa","NAME_LEN":13,"LONG_LEN":13,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":2.5,"MAX_LABEL":8,"LABEL_X":-5.568618,"LABEL_Y":7.49139,"NE_ID":1159320507,"WIKIDATAID":"Q1008","NAME_AR":"ساحل العاج","NAME_BN":"কোত দিভোয়ার","NAME_DE":"Elfenbeinküste","NAME_EN":"Ivory Coast","NAME_ES":"Costa de Marfil","NAME_FA":"ساحل عاج","NAME_FR":"Côte d'Ivoire","NAME_EL":"Ακτή Ελεφαντοστού","NAME_HE":"חוף השנהב","NAME_HI":"कोत दिव्वार","NAME_HU":"Elefántcsontpart","NAME_ID":"Pantai Gading","NAME_IT":"Costa d'Avorio","NAME_JA":"コートジボワール","NAME_KO":"코트디부아르","NAME_NL":"Ivoorkust","NAME_PL":"Wybrzeże Kości Słoniowej","NAME_PT":"Costa do Marfim","NAME_RU":"Кот-д’Ивуар","NAME_SV":"Elfenbenskusten","NAME_TR":"Fildişi Sahili","NAME_UK":"Кот-д'Івуар","NAME_UR":"کوت داوواغ","NAME_VI":"Bờ Biển Ngà","NAME_ZH":"科特迪瓦","NAME_ZHT":"象牙海岸","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[-8.603564,4.351318,-2.505859,10.724072],"geometry":{"type":"MultiPolygon","coordinates":[[[[-3.086719,5.12832],[-3.114014,5.088672],[-3.246387,5.114062],[-3.214893,5.147217],[-3.086719,5.12832]]],[[[-7.990625,10.1625],[-7.960938,10.163477],[-7.884082,10.185742],[-7.814209,10.236572],[-7.749072,10.342285],[-7.661133,10.427441],[-7.562109,10.42124],[-7.532812,10.436816],[-7.497949,10.439795],[-7.456543,10.383936],[-7.414795,10.341309],[-7.385059,10.340137],[-7.363184,10.259375],[-7.182324,10.225684],[-7.104883,10.203516],[-7.039746,10.144775],[-7.01709,10.143262],[-6.989453,10.155664],[-6.968164,10.176221],[-6.963818,10.19873],[-6.991748,10.251855],[-6.979492,10.299561],[-6.950342,10.342334],[-6.903809,10.345068],[-6.833643,10.356982],[-6.753223,10.357129],[-6.693262,10.349463],[-6.669336,10.392187],[-6.691992,10.512012],[-6.686133,10.578027],[-6.676367,10.633789],[-6.65415,10.656445],[-6.5646,10.586426],[-6.482617,10.56123],[-6.423926,10.559131],[-6.40752,10.572363],[-6.432617,10.64873],[-6.425879,10.671777],[-6.40415,10.685107],[-6.365625,10.692822],[-6.261133,10.724072],[-6.250244,10.71792],[-6.230664,10.59751],[-6.239746,10.558105],[-6.217773,10.47627],[-6.190674,10.400293],[-6.192627,10.369434],[-6.21499,10.322363],[-6.241309,10.279199],[-6.238379,10.261621],[-6.196875,10.232129],[-6.117188,10.201904],[-6.03457,10.194824],[-5.988672,10.239111],[-5.940674,10.275098],[-5.907568,10.307227],[-5.896191,10.354736],[-5.843848,10.389551],[-5.694287,10.433203],[-5.556592,10.439941],[-5.523535,10.426025],[-5.461279,10.35957],[-5.382275,10.314014],[-5.262305,10.319678],[-5.175293,10.292627],[-5.099854,10.241602],[-5.049316,10.12832],[-4.994043,10.046484],[-4.969922,9.930078],[-4.882715,9.868945],[-4.814453,9.841162],[-4.721777,9.756543],[-4.62583,9.713574],[-4.526611,9.723486],[-4.480273,9.679248],[-4.406201,9.647998],[-4.332227,9.645703],[-4.267187,9.743262],[-4.181152,9.781738],[-3.963477,9.859619],[-3.877637,9.894922],[-3.790625,9.917187],[-3.581152,9.924316],[-3.386279,9.900293],[-3.289697,9.882227],[-3.223535,9.895459],[-3.160693,9.84917],[-3.095801,9.7521],[-3.042627,9.720898],[-2.988281,9.687354],[-2.948145,9.610742],[-2.900879,9.534619],[-2.875146,9.500928],[-2.816748,9.42583],[-2.766602,9.424707],[-2.717187,9.457129],[-2.69585,9.481348],[-2.686133,9.431738],[-2.705762,9.351367],[-2.701807,9.30166],[-2.674219,9.282617],[-2.689209,9.218604],[-2.74668,9.109619],[-2.746924,9.045117],[-2.689893,9.025098],[-2.649219,8.956592],[-2.624902,8.8396],[-2.600391,8.800439],[-2.597998,8.776367],[-2.556885,8.493018],[-2.505859,8.20874],[-2.538281,8.171631],[-2.582764,8.160791],[-2.611719,8.147559],[-2.619971,8.121094],[-2.600977,8.082227],[-2.613379,8.04668],[-2.668848,8.022217],[-2.789746,7.931934],[-2.798145,7.895996],[-2.830127,7.819043],[-2.856885,7.77207],[-2.896338,7.68501],[-2.959082,7.454541],[-2.982324,7.263623],[-2.985791,7.204883],[-3.010156,7.16377],[-3.037695,7.10459],[-3.168896,6.940967],[-3.235791,6.807227],[-3.227148,6.749121],[-3.224121,6.690771],[-3.243896,6.648682],[-3.240283,6.535645],[-3.224023,6.441064],[-3.200586,6.348242],[-3.105566,6.085645],[-3.056152,5.92627],[-3.025293,5.797754],[-2.998291,5.711328],[-2.972803,5.67627],[-2.962256,5.643018],[-2.821191,5.619189],[-2.793652,5.600098],[-2.75498,5.43252],[-2.761914,5.356934],[-2.7896,5.328223],[-2.788672,5.264111],[-2.795215,5.184521],[-2.815674,5.153027],[-2.894727,5.149023],[-2.94834,5.118848],[-3.019141,5.130811],[-3.025879,5.150537],[-3.063965,5.157715],[-3.168701,5.203027],[-3.151416,5.348291],[-3.199951,5.354492],[-3.237598,5.3354],[-3.312012,5.160791],[-3.347559,5.130664],[-3.870605,5.220703],[-3.98418,5.293164],[-4.120166,5.309717],[-4.357275,5.301416],[-4.552832,5.279883],[-4.608887,5.235889],[-4.115186,5.261621],[-4.062061,5.256641],[-4.037207,5.230127],[-4.661523,5.172559],[-4.899707,5.13833],[-4.970117,5.147754],[-5.023682,5.203613],[-5.282373,5.210254],[-5.335449,5.191992],[-5.367529,5.150781],[-5.265771,5.159717],[-5.104883,5.162158],[-5.061816,5.130664],[-5.564746,5.089453],[-5.91377,5.010937],[-6.061719,4.952832],[-6.548437,4.761768],[-6.845166,4.671484],[-6.9229,4.63833],[-7.057959,4.544727],[-7.231396,4.485986],[-7.426074,4.376025],[-7.544971,4.351318],[-7.571582,4.386426],[-7.574658,4.572314],[-7.591211,4.821533],[-7.585059,4.916748],[-7.569336,5.006445],[-7.568896,5.080664],[-7.509766,5.108496],[-7.494141,5.139795],[-7.485205,5.236426],[-7.429834,5.324512],[-7.428906,5.477881],[-7.412451,5.509912],[-7.399902,5.550586],[-7.42373,5.651318],[-7.454395,5.841309],[-7.469434,5.853711],[-7.482812,5.845508],[-7.513916,5.842041],[-7.636133,5.907715],[-7.730371,5.919043],[-7.796533,5.975098],[-7.800928,6.038916],[-7.833252,6.076367],[-7.855518,6.150146],[-7.888623,6.234863],[-7.981592,6.286133],[-8.068945,6.298389],[-8.131006,6.287549],[-8.203857,6.290723],[-8.287109,6.319043],[-8.344873,6.35127],[-8.399316,6.413184],[-8.449902,6.4625],[-8.490332,6.456396],[-8.539551,6.468066],[-8.587891,6.490527],[-8.603564,6.507812],[-8.401221,6.705127],[-8.332568,6.801562],[-8.325098,6.8604],[-8.324512,6.92002],[-8.302344,6.980957],[-8.296631,7.074023],[-8.40874,7.411816],[-8.437158,7.516406],[-8.467285,7.547021],[-8.486426,7.558496],[-8.42998,7.601855],[-8.351758,7.590576],[-8.231885,7.556738],[-8.205957,7.590234],[-8.11543,7.760742],[-8.117822,7.824023],[-8.126855,7.867725],[-8.073828,7.984424],[-8.031738,8.029736],[-8.009863,8.078516],[-8.016748,8.144922],[-8.048584,8.169727],[-8.090527,8.165137],[-8.140625,8.181445],[-8.217139,8.219678],[-8.256104,8.253711],[-8.244141,8.40791],[-8.236963,8.455664],[-8.209961,8.483252],[-8.167773,8.490674],[-8.049121,8.495312],[-7.953125,8.477734],[-7.86875,8.467529],[-7.823584,8.467676],[-7.787402,8.421973],[-7.738965,8.375244],[-7.696094,8.375586],[-7.681201,8.410352],[-7.690967,8.5625],[-7.71958,8.643018],[-7.784033,8.720605],[-7.950977,8.786816],[-7.95498,8.879443],[-7.938184,8.979785],[-7.9021,9.01709],[-7.777979,9.080859],[-7.799805,9.115039],[-7.839404,9.151611],[-7.918066,9.188525],[-7.9,9.308691],[-7.896191,9.415869],[-7.962695,9.403857],[-8.031006,9.397656],[-8.088672,9.430664],[-8.136963,9.495703],[-8.146045,9.674805],[-8.14585,9.881738],[-8.155176,9.973193],[-8.136621,10.02207],[-8.077832,10.06709],[-8.013525,10.125293],[-7.990625,10.1625]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":5,"SOVEREIGNT":"Costa Rica","SOV_A3":"CRI","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Costa Rica","ADM0_A3":"CRI","GEOU_DIF":0,"GEOUNIT":"Costa Rica","GU_A3":"CRI","SU_DIF":0,"SUBUNIT":"Costa Rica","SU_A3":"CRI","BRK_DIFF":0,"NAME":"Costa Rica","NAME_LONG":"Costa Rica","BRK_A3":"CRI","BRK_NAME":"Costa Rica","BRK_GROUP":null,"ABBREV":"C.R.","POSTAL":"CR","FORMAL_EN":"Republic of Costa Rica","FORMAL_FR":null,"NAME_CIAWF":"Costa Rica","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Costa Rica","NAME_ALT":null,"MAPCOLOR7":3,"MAPCOLOR8":2,"MAPCOLOR9":4,"MAPCOLOR13":2,"POP_EST":5047561,"POP_RANK":13,"POP_YEAR":2019,"GDP_MD":61801,"GDP_YEAR":2019,"ECONOMY":"5. Emerging region: G20","INCOME_GRP":"3. Upper middle income","FIPS_10":"CS","ISO_A2":"CR","ISO_A2_EH":"CR","ISO_A3":"CRI","ISO_A3_EH":"CRI","ISO_N3":"188","ISO_N3_EH":"188","UN_A3":"188","WB_A2":"CR","WB_A3":"CRI","WOE_ID":23424791,"WOE_ID_EH":23424791,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"CRI","ADM0_DIFF":null,"ADM0_TLC":"CRI","ADM0_A3_US":"CRI","ADM0_A3_FR":"CRI","ADM0_A3_RU":"CRI","ADM0_A3_ES":"CRI","ADM0_A3_CN":"CRI","ADM0_A3_TW":"CRI","ADM0_A3_IN":"CRI","ADM0_A3_NP":"CRI","ADM0_A3_PK":"CRI","ADM0_A3_DE":"CRI","ADM0_A3_GB":"CRI","ADM0_A3_BR":"CRI","ADM0_A3_IL":"CRI","ADM0_A3_PS":"CRI","ADM0_A3_SA":"CRI","ADM0_A3_EG":"CRI","ADM0_A3_MA":"CRI","ADM0_A3_PT":"CRI","ADM0_A3_AR":"CRI","ADM0_A3_JP":"CRI","ADM0_A3_KO":"CRI","ADM0_A3_VN":"CRI","ADM0_A3_TR":"CRI","ADM0_A3_ID":"CRI","ADM0_A3_PL":"CRI","ADM0_A3_GR":"CRI","ADM0_A3_IT":"CRI","ADM0_A3_NL":"CRI","ADM0_A3_SE":"CRI","ADM0_A3_BD":"CRI","ADM0_A3_UA":"CRI","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"North America","REGION_UN":"Americas","SUBREGION":"Central America","REGION_WB":"Latin America & Caribbean","NAME_LEN":10,"LONG_LEN":10,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":2.5,"MAX_LABEL":8,"LABEL_X":-84.077922,"LABEL_Y":10.0651,"NE_ID":1159320525,"WIKIDATAID":"Q800","NAME_AR":"كوستاريكا","NAME_BN":"কোস্টা রিকা","NAME_DE":"Costa Rica","NAME_EN":"Costa Rica","NAME_ES":"Costa Rica","NAME_FA":"کاستاریکا","NAME_FR":"Costa Rica","NAME_EL":"Κόστα Ρίκα","NAME_HE":"קוסטה ריקה","NAME_HI":"कोस्टा रीका","NAME_HU":"Costa Rica","NAME_ID":"Kosta Rika","NAME_IT":"Costa Rica","NAME_JA":"コスタリカ","NAME_KO":"코스타리카","NAME_NL":"Costa Rica","NAME_PL":"Kostaryka","NAME_PT":"Costa Rica","NAME_RU":"Коста-Рика","NAME_SV":"Costa Rica","NAME_TR":"Kosta Rika","NAME_UK":"Коста-Рика","NAME_UR":"کوسٹاریکا","NAME_VI":"Costa Rica","NAME_ZH":"哥斯达黎加","NAME_ZHT":"哥斯大黎加","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[-85.908008,8.070654,-82.563574,11.189453],"geometry":{"type":"Polygon","coordinates":[[[-82.563574,9.57666],[-82.569238,9.558203],[-82.586523,9.538818],[-82.611279,9.519238],[-82.644092,9.505859],[-82.723389,9.546094],[-82.801025,9.591797],[-82.843994,9.570801],[-82.860156,9.511475],[-82.888965,9.481006],[-82.925049,9.469043],[-82.939844,9.44917],[-82.942822,9.248877],[-82.940332,9.060107],[-82.881348,9.055859],[-82.783057,8.990283],[-82.741162,8.951709],[-82.727832,8.916064],[-82.73999,8.898584],[-82.811914,8.857422],[-82.881982,8.805322],[-82.917041,8.740332],[-82.855713,8.635303],[-82.842627,8.563965],[-82.844775,8.489355],[-82.861621,8.453516],[-82.997559,8.367773],[-83.027344,8.337744],[-83.023389,8.316016],[-82.948437,8.256836],[-82.912891,8.199609],[-82.883301,8.130566],[-82.879346,8.070654],[-82.947266,8.181738],[-83.041455,8.287744],[-83.12334,8.353076],[-83.12959,8.505469],[-83.162402,8.588184],[-83.285791,8.664355],[-83.391406,8.717725],[-83.469727,8.706836],[-83.421777,8.619238],[-83.297754,8.506885],[-83.289551,8.463818],[-83.291504,8.406006],[-83.376807,8.414893],[-83.452051,8.438477],[-83.54375,8.44585],[-83.604736,8.480322],[-83.734082,8.614453],[-83.642187,8.728906],[-83.613721,8.804053],[-83.616162,8.959814],[-83.637256,9.035352],[-83.736914,9.150293],[-83.895557,9.276416],[-84.117871,9.379443],[-84.222363,9.4625],[-84.482666,9.526172],[-84.581592,9.568359],[-84.658887,9.64668],[-84.670459,9.702881],[-84.643066,9.789404],[-84.714941,9.899414],[-85.025049,10.115723],[-85.198437,10.195312],[-85.235645,10.24209],[-85.263184,10.256641],[-85.236523,10.107373],[-85.160742,10.017432],[-84.962793,9.933447],[-84.90835,9.88457],[-84.886426,9.820947],[-85.00127,9.699268],[-85.059717,9.668311],[-85.077051,9.601953],[-85.114502,9.581787],[-85.154004,9.620068],[-85.314551,9.810937],[-85.624854,9.902441],[-85.681006,9.958594],[-85.796484,10.132861],[-85.849658,10.292041],[-85.830615,10.398145],[-85.703125,10.563477],[-85.66333,10.635449],[-85.671436,10.679785],[-85.667236,10.74502],[-85.714844,10.790576],[-85.832861,10.849951],[-85.908008,10.897559],[-85.887402,10.921289],[-85.752246,10.985254],[-85.743701,11.042969],[-85.744336,11.062109],[-85.722266,11.06626],[-85.702637,11.081543],[-85.690527,11.097461],[-85.653662,11.153076],[-85.621387,11.184473],[-85.58418,11.189453],[-85.538721,11.166309],[-85.368359,11.106445],[-85.178955,11.039941],[-84.90918,10.945312],[-84.797363,11.005908],[-84.701172,11.052197],[-84.63418,11.045605],[-84.48916,10.99165],[-84.401855,10.974463],[-84.348291,10.979883],[-84.255566,10.900732],[-84.20498,10.841309],[-84.196582,10.801709],[-84.168359,10.780371],[-84.096191,10.775684],[-83.919287,10.735352],[-83.811182,10.743262],[-83.712939,10.785889],[-83.658936,10.836865],[-83.641992,10.917236],[-83.617285,10.87749],[-83.588184,10.81499],[-83.575293,10.734717],[-83.448242,10.465918],[-83.346826,10.315381],[-83.124609,10.041602],[-83.028516,9.99126],[-82.866309,9.770947],[-82.810303,9.73457],[-82.778418,9.669531],[-82.610156,9.616016],[-82.563574,9.57666]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":2,"SOVEREIGNT":"Democratic Republic of the Congo","SOV_A3":"COD","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Democratic Republic of the Congo","ADM0_A3":"COD","GEOU_DIF":0,"GEOUNIT":"Democratic Republic of the Congo","GU_A3":"COD","SU_DIF":0,"SUBUNIT":"Democratic Republic of the Congo","SU_A3":"COD","BRK_DIFF":0,"NAME":"Dem. Rep. Congo","NAME_LONG":"Democratic Republic of the Congo","BRK_A3":"COD","BRK_NAME":"Democratic Republic of the Congo","BRK_GROUP":null,"ABBREV":"D.R.C.","POSTAL":"DRC","FORMAL_EN":"Democratic Republic of the Congo","FORMAL_FR":null,"NAME_CIAWF":"Congo, Democratic Republic of the","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Congo, Dem. Rep.","NAME_ALT":null,"MAPCOLOR7":4,"MAPCOLOR8":4,"MAPCOLOR9":4,"MAPCOLOR13":7,"POP_EST":86790567,"POP_RANK":16,"POP_YEAR":2019,"GDP_MD":50400,"GDP_YEAR":2019,"ECONOMY":"7. Least developed region","INCOME_GRP":"5. Low income","FIPS_10":"CG","ISO_A2":"CD","ISO_A2_EH":"CD","ISO_A3":"COD","ISO_A3_EH":"COD","ISO_N3":"180","ISO_N3_EH":"180","UN_A3":"180","WB_A2":"ZR","WB_A3":"ZAR","WOE_ID":23424780,"WOE_ID_EH":23424780,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"COD","ADM0_DIFF":null,"ADM0_TLC":"COD","ADM0_A3_US":"COD","ADM0_A3_FR":"COD","ADM0_A3_RU":"COD","ADM0_A3_ES":"COD","ADM0_A3_CN":"COD","ADM0_A3_TW":"COD","ADM0_A3_IN":"COD","ADM0_A3_NP":"COD","ADM0_A3_PK":"COD","ADM0_A3_DE":"COD","ADM0_A3_GB":"COD","ADM0_A3_BR":"COD","ADM0_A3_IL":"COD","ADM0_A3_PS":"COD","ADM0_A3_SA":"COD","ADM0_A3_EG":"COD","ADM0_A3_MA":"COD","ADM0_A3_PT":"COD","ADM0_A3_AR":"COD","ADM0_A3_JP":"COD","ADM0_A3_KO":"COD","ADM0_A3_VN":"COD","ADM0_A3_TR":"COD","ADM0_A3_ID":"COD","ADM0_A3_PL":"COD","ADM0_A3_GR":"COD","ADM0_A3_IT":"COD","ADM0_A3_NL":"COD","ADM0_A3_SE":"COD","ADM0_A3_BD":"COD","ADM0_A3_UA":"COD","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Africa","REGION_UN":"Africa","SUBREGION":"Middle Africa","REGION_WB":"Sub-Saharan Africa","NAME_LEN":15,"LONG_LEN":32,"ABBREV_LEN":6,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":2,"MAX_LABEL":7,"LABEL_X":23.458829,"LABEL_Y":-1.858167,"NE_ID":1159320513,"WIKIDATAID":"Q974","NAME_AR":"جمهورية الكونغو الديمقراطية","NAME_BN":"গণতান্ত্রিক কঙ্গো প্রজাতন্ত্র","NAME_DE":"Demokratische Republik Kongo","NAME_EN":"Democratic Republic of the Congo","NAME_ES":"República Democrática del Congo","NAME_FA":"جمهوری دموکراتیک کنگو","NAME_FR":"République démocratique du Congo","NAME_EL":"Λαϊκή Δημοκρατία του Κονγκό","NAME_HE":"הרפובליקה הדמוקרטית של קונגו","NAME_HI":"कांगो लोकतान्त्रिक गणराज्य","NAME_HU":"Kongói Demokratikus Köztársaság","NAME_ID":"Republik Demokratik Kongo","NAME_IT":"Repubblica Democratica del Congo","NAME_JA":"コンゴ民主共和国","NAME_KO":"콩고 민주 공화국","NAME_NL":"Congo-Kinshasa","NAME_PL":"Demokratyczna Republika Konga","NAME_PT":"República Democrática do Congo","NAME_RU":"Демократическая Республика Конго","NAME_SV":"Kongo-Kinshasa","NAME_TR":"Demokratik Kongo Cumhuriyeti","NAME_UK":"Демократична Республіка Конго","NAME_UR":"جمہوری جمہوریہ کانگو","NAME_VI":"Cộng hòa Dân chủ Congo","NAME_ZH":"刚果民主共和国","NAME_ZHT":"剛果民主共和國","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[12.213672,-13.453809,31.274023,5.312109],"geometry":{"type":"Polygon","coordinates":[[[30.751172,-8.193652],[30.57793,-8.22002],[30.327539,-8.258203],[30.051367,-8.300293],[29.766211,-8.34375],[29.483789,-8.386914],[29.215625,-8.427832],[28.972266,-8.464941],[28.898145,-8.485449],[28.934473,-8.590234],[28.917773,-8.700586],[28.869531,-8.78584],[28.793555,-8.891016],[28.758789,-8.932617],[28.68125,-9.014648],[28.616504,-9.072266],[28.484277,-9.169434],[28.400684,-9.224805],[28.400195,-9.275],[28.540527,-9.510059],[28.604199,-9.678809],[28.630078,-9.83125],[28.628906,-9.91875],[28.623535,-10.098828],[28.617188,-10.312988],[28.607422,-10.397363],[28.645508,-10.550195],[28.638867,-10.669238],[28.544238,-10.802344],[28.517969,-10.933203],[28.470313,-11.10957],[28.404199,-11.354395],[28.357227,-11.483008],[28.383398,-11.566699],[28.407031,-11.622852],[28.431836,-11.69834],[28.48252,-11.812109],[28.541602,-11.879199],[28.574609,-11.908105],[28.769434,-12.05127],[28.85,-12.120508],[28.973438,-12.257812],[29.064355,-12.348828],[29.191211,-12.370215],[29.34375,-12.404785],[29.427539,-12.43125],[29.485547,-12.418457],[29.504883,-12.386133],[29.502246,-12.317578],[29.491992,-12.266895],[29.508203,-12.228223],[29.559766,-12.202441],[29.691992,-12.19834],[29.749609,-12.164062],[29.795117,-12.155469],[29.795313,-12.306152],[29.795508,-12.450586],[29.795605,-12.625879],[29.795801,-12.827051],[29.796094,-12.99209],[29.796289,-13.16748],[29.796484,-13.369727],[29.795313,-13.392773],[29.775195,-13.438086],[29.722656,-13.453809],[29.651758,-13.414355],[29.647656,-13.372949],[29.630273,-13.298535],[29.597168,-13.260547],[29.554199,-13.248926],[29.481445,-13.267969],[29.381836,-13.322852],[29.253711,-13.370801],[29.201855,-13.39834],[29.111621,-13.395117],[29.014258,-13.368848],[28.942285,-13.307129],[28.92168,-13.214648],[28.858789,-13.119434],[28.773145,-12.981934],[28.730078,-12.925488],[28.672949,-12.861328],[28.61543,-12.854102],[28.550879,-12.836133],[28.51123,-12.742188],[28.474414,-12.62334],[28.451465,-12.577441],[28.412891,-12.518066],[28.357715,-12.482031],[28.237305,-12.43457],[28.068848,-12.368164],[27.857422,-12.284863],[27.756836,-12.280859],[27.644336,-12.266797],[27.573828,-12.227051],[27.533398,-12.195312],[27.487012,-12.079688],[27.423633,-11.944531],[27.238086,-11.783496],[27.196387,-11.605078],[27.15918,-11.579199],[27.09541,-11.59375],[27.046094,-11.615918],[27.02666,-11.66377],[26.976855,-11.824609],[26.949609,-11.898828],[26.930859,-11.919336],[26.89043,-11.943555],[26.824023,-11.965234],[26.729688,-11.975977],[26.596387,-11.97207],[26.429688,-11.947852],[26.339648,-11.929883],[26.096387,-11.903223],[26.025977,-11.890137],[25.926563,-11.855273],[25.854883,-11.820117],[25.618848,-11.744141],[25.511914,-11.753418],[25.459961,-11.699805],[25.413379,-11.673535],[25.349414,-11.623047],[25.320703,-11.553516],[25.282617,-11.40498],[25.291797,-11.325488],[25.319336,-11.236914],[25.28877,-11.212402],[25.245996,-11.212402],[25.184863,-11.242969],[25.075977,-11.260059],[24.876855,-11.299121],[24.806348,-11.321191],[24.728125,-11.337793],[24.668262,-11.35293],[24.518555,-11.438477],[24.466602,-11.447656],[24.37793,-11.41709],[24.335156,-11.371289],[24.37793,-11.319336],[24.396289,-11.255176],[24.365723,-11.129883],[24.319922,-11.071777],[24.187207,-11.02998],[24.136523,-11.025977],[24.115137,-10.955664],[24.078418,-10.891504],[24.002734,-10.879102],[23.966504,-10.871777],[23.928711,-10.891504],[23.907324,-10.943457],[23.901172,-10.983203],[23.833887,-11.013672],[23.696387,-11.007617],[23.559961,-10.978613],[23.463965,-10.969336],[23.400195,-10.976465],[23.156738,-11.074805],[23.07627,-11.087891],[22.814746,-11.080273],[22.666504,-11.059766],[22.561035,-11.055859],[22.486133,-11.086719],[22.392969,-11.159473],[22.314941,-11.198633],[22.278809,-11.194141],[22.256641,-11.163672],[22.226172,-11.121973],[22.216699,-11.012695],[22.17793,-10.892285],[22.203516,-10.829492],[22.280469,-10.783984],[22.307031,-10.691309],[22.283203,-10.551563],[22.281641,-10.45332],[22.302441,-10.39668],[22.274512,-10.259082],[22.197754,-10.040625],[22.08916,-9.862793],[21.948633,-9.725586],[21.856641,-9.594238],[21.813184,-9.46875],[21.829492,-9.168457],[21.871875,-8.903516],[21.905371,-8.693359],[21.895898,-8.341113],[21.800879,-8.111914],[21.780078,-7.86543],[21.833594,-7.60166],[21.841602,-7.420996],[21.806055,-7.328613],[21.781641,-7.314648],[21.751074,-7.305469],[21.51084,-7.29668],[21.190332,-7.284961],[20.910938,-7.281445],[20.607813,-7.277734],[20.558398,-7.244434],[20.53584,-7.182813],[20.536914,-7.121777],[20.59873,-6.935156],[20.590039,-6.919922],[20.482227,-6.91582],[20.190039,-6.946289],[19.997461,-6.976465],[19.875195,-6.986328],[19.660352,-7.037109],[19.527637,-7.144434],[19.483789,-7.279492],[19.487402,-7.390723],[19.479883,-7.472168],[19.419336,-7.557324],[19.37168,-7.655078],[19.369922,-7.706543],[19.34082,-7.966602],[19.142676,-8.001465],[18.944434,-8.001465],[18.89834,-7.998145],[18.653418,-7.936035],[18.562695,-7.935938],[18.484668,-7.968555],[18.334863,-8.000293],[18.191504,-8.023828],[18.047168,-8.100781],[18.008789,-8.107617],[17.913086,-8.067676],[17.778809,-8.071387],[17.643359,-8.090723],[17.57959,-8.099023],[17.536035,-8.075879],[17.411328,-7.881934],[17.24502,-7.62334],[17.155078,-7.461328],[17.121582,-7.419043],[17.06377,-7.363086],[16.984766,-7.257422],[16.952051,-7.157031],[16.96582,-7.062109],[16.919434,-6.933984],[16.813086,-6.772559],[16.742969,-6.618457],[16.709375,-6.47168],[16.700977,-6.345996],[16.717773,-6.241406],[16.697266,-6.164258],[16.639551,-6.114551],[16.608008,-6.051563],[16.585156,-6.025293],[16.537109,-5.96582],[16.431445,-5.900195],[16.315234,-5.865625],[16.060156,-5.864941],[15.726953,-5.863867],[15.425,-5.868848],[15.089355,-5.874512],[14.749414,-5.880078],[14.65791,-5.888867],[14.398633,-5.892676],[14.19082,-5.875977],[14.11377,-5.865137],[13.978516,-5.857227],[13.764551,-5.855176],[13.649023,-5.861719],[13.371484,-5.861816],[13.346484,-5.863379],[13.302637,-5.881836],[13.184375,-5.85625],[13.068164,-5.864844],[13.00332,-5.836133],[12.86084,-5.854102],[12.791602,-5.877734],[12.680664,-5.96084],[12.514551,-6.004199],[12.45293,-6.000488],[12.411719,-5.986328],[12.315039,-5.895313],[12.24043,-5.807324],[12.213672,-5.758691],[12.255273,-5.746484],[12.386035,-5.727734],[12.48457,-5.71875],[12.503711,-5.695801],[12.518945,-5.424609],[12.522363,-5.148926],[12.487402,-5.112695],[12.453223,-5.090625],[12.451465,-5.071484],[12.502734,-5.036914],[12.573535,-4.996582],[12.596191,-4.978418],[12.674805,-4.905371],[12.829688,-4.736621],[12.947461,-4.695312],[13.057324,-4.651074],[13.072754,-4.634766],[13.087402,-4.601953],[13.136621,-4.604297],[13.152344,-4.620313],[13.176465,-4.655859],[13.219629,-4.705859],[13.297266,-4.765234],[13.375781,-4.829395],[13.414941,-4.837402],[13.478418,-4.80498],[13.55166,-4.756738],[13.65957,-4.721484],[13.685352,-4.688672],[13.699414,-4.618359],[13.707617,-4.543262],[13.71709,-4.454492],[13.739063,-4.44248],[13.778027,-4.433887],[13.849512,-4.458887],[13.882324,-4.484668],[13.940918,-4.484668],[13.978418,-4.46123],[14.046875,-4.41748],[14.133887,-4.4],[14.227051,-4.358105],[14.316211,-4.304102],[14.358301,-4.299414],[14.40293,-4.369727],[14.442773,-4.419043],[14.449805,-4.449512],[14.409961,-4.508105],[14.36543,-4.585547],[14.40293,-4.681641],[14.411914,-4.775],[14.410742,-4.83125],[14.440918,-4.854102],[14.461621,-4.864941],[14.493945,-4.85166],[14.557617,-4.855762],[14.633984,-4.885059],[14.70791,-4.881738],[14.779297,-4.845703],[14.912109,-4.705566],[15.10625,-4.461035],[15.267188,-4.307617],[15.394629,-4.244922],[15.480957,-4.171777],[15.525977,-4.087988],[15.600098,-4.030957],[15.75459,-3.985547],[15.872461,-3.934277],[15.990039,-3.766211],[16.146777,-3.46416],[16.190625,-3.194434],[16.217383,-3.030273],[16.201855,-2.464746],[16.191602,-2.279102],[16.215332,-2.177832],[16.273926,-2.108203],[16.433594,-1.96084],[16.540723,-1.840137],[16.622461,-1.698926],[16.780078,-1.376367],[16.849121,-1.272461],[16.879883,-1.225879],[16.974707,-1.139941],[17.107617,-1.064453],[17.278809,-0.999609],[17.542871,-0.775],[17.752832,-0.549023],[17.724121,-0.277539],[17.773145,-0.052393],[17.887695,0.234131],[17.925195,0.537305],[17.885742,0.856885],[17.902441,1.118066],[18.011719,1.422119],[18.057813,1.534863],[18.072852,1.719385],[18.072168,2.013281],[18.211621,2.414941],[18.343457,2.65542],[18.490918,2.924414],[18.54707,3.087012],[18.622168,3.304053],[18.610352,3.478418],[18.59668,3.678711],[18.633691,3.954297],[18.619922,4.116602],[18.56748,4.257568],[18.594141,4.34624],[18.699902,4.382617],[18.831738,4.523438],[19.068555,4.891406],[19.323438,5.070752],[19.500977,5.12749],[19.686035,5.121387],[19.806543,5.089307],[19.8625,5.031299],[20.002344,4.944727],[20.226367,4.829639],[20.393555,4.686182],[20.486523,4.541553],[20.558105,4.462695],[20.647461,4.435645],[20.792969,4.447314],[20.955762,4.413135],[21.125586,4.332178],[21.229785,4.302197],[21.268359,4.323096],[21.350195,4.311377],[21.537598,4.244824],[21.687012,4.281396],[21.908203,4.253906],[22.422168,4.134961],[22.449707,4.155127],[22.461816,4.159766],[22.505664,4.207666],[22.617188,4.445557],[22.711719,4.591748],[22.755762,4.64668],[22.864551,4.723877],[22.992871,4.743848],[23.115918,4.736914],[23.218848,4.702979],[23.312891,4.663525],[23.417188,4.663135],[23.523633,4.70127],[23.681836,4.770801],[23.848438,4.816357],[23.991699,4.86626],[24.227734,4.953857],[24.319824,4.994141],[24.437109,5.009961],[24.765527,4.930078],[24.978418,4.982959],[25.065234,4.967432],[25.249316,5.024561],[25.283105,5.062695],[25.400195,5.255908],[25.525098,5.312109],[25.713867,5.283691],[25.819922,5.253711],[26.173535,5.171143],[26.632617,5.085205],[26.767578,5.071924],[26.82207,5.062402],[26.870117,5.075684],[27.020605,5.184375],[27.071875,5.199756],[27.114941,5.197852],[27.40332,5.10918],[27.439258,5.039209],[27.491016,4.967578],[27.66416,4.845996],[27.719238,4.77832],[27.761426,4.703223],[27.788086,4.644678],[27.841602,4.597754],[27.916602,4.56792],[27.980664,4.53208],[28.019824,4.479395],[28.078613,4.424805],[28.19209,4.350244],[28.247266,4.348535],[28.311035,4.338037],[28.367188,4.318652],[28.427539,4.32417],[28.524805,4.372852],[28.639551,4.454492],[28.727051,4.50498],[28.939355,4.487061],[29.057422,4.445947],[29.151465,4.388184],[29.224902,4.391895],[29.384863,4.498389],[29.469629,4.611816],[29.552051,4.636035],[29.676855,4.586914],[29.779883,4.480957],[29.870215,4.327148],[29.933984,4.268506],[30.021387,4.177637],[30.194922,3.981934],[30.420703,3.883887],[30.508301,3.835693],[30.536914,3.787207],[30.553516,3.722949],[30.559375,3.652783],[30.586719,3.624219],[30.647656,3.634131],[30.699902,3.644092],[30.757227,3.624219],[30.796973,3.573145],[30.816895,3.53335],[30.838574,3.490723],[30.895313,3.463672],[30.906445,3.408936],[30.867578,3.342139],[30.827832,3.282617],[30.779297,3.163379],[30.754004,3.041797],[30.786523,3.001367],[30.821387,2.967578],[30.839941,2.933496],[30.850781,2.893652],[30.84668,2.847021],[30.769531,2.677979],[30.729883,2.530273],[30.728613,2.455371],[30.830078,2.400439],[30.961914,2.403271],[31.003613,2.369385],[31.045313,2.315527],[31.082129,2.288086],[31.137598,2.288867],[31.176367,2.270068],[31.191406,2.232275],[31.236328,2.191357],[31.274023,2.146289],[31.256055,2.088477],[31.252734,2.04458],[31.158789,1.922021],[30.942578,1.682812],[30.478125,1.239062],[30.477832,1.238818],[30.321094,1.185303],[30.240137,1.102783],[30.18291,0.973486],[30.047363,0.863525],[29.942871,0.819238],[29.931641,0.792871],[29.923828,0.673926],[29.934473,0.499023],[29.885449,0.418945],[29.814648,0.263623],[29.777832,0.166357],[29.749707,0.147217],[29.717676,0.09834],[29.697852,-0.060205],[29.684375,-0.113574],[29.633203,-0.441699],[29.647852,-0.535254],[29.608203,-0.691309],[29.606445,-0.783105],[29.590039,-0.887109],[29.561914,-0.977344],[29.564063,-1.121387],[29.57998,-1.356738],[29.576953,-1.387891],[29.537793,-1.409766],[29.467969,-1.468066],[29.401953,-1.507422],[29.35166,-1.517578],[29.268164,-1.621582],[29.196582,-1.719922],[29.143262,-1.816016],[29.129395,-1.860254],[29.140625,-1.98457],[29.148047,-2.131836],[29.131543,-2.195117],[29.106445,-2.233203],[28.989551,-2.312793],[28.912695,-2.370313],[28.876367,-2.400293],[28.857617,-2.44668],[28.891406,-2.555566],[28.893945,-2.635059],[28.921777,-2.682031],[29.014355,-2.720215],[29.01416,-2.758301],[29.016602,-2.799609],[29.064746,-2.850781],[29.153223,-2.955273],[29.224414,-3.053516],[29.226074,-3.138672],[29.212305,-3.28125],[29.210059,-3.363281],[29.217188,-3.475684],[29.216797,-3.684961],[29.211816,-3.833789],[29.223242,-3.91084],[29.331348,-4.09541],[29.379199,-4.299707],[29.403223,-4.449316],[29.404199,-4.49668],[29.367578,-4.668848],[29.325684,-4.835645],[29.323438,-4.898828],[29.342773,-4.983105],[29.420117,-5.176172],[29.476465,-5.316602],[29.503711,-5.400977],[29.542383,-5.499805],[29.594141,-5.650781],[29.607031,-5.722656],[29.596387,-5.775977],[29.49082,-5.96543],[29.480078,-6.025],[29.50625,-6.17207],[29.54082,-6.313867],[29.590625,-6.394434],[29.709668,-6.616895],[29.798145,-6.691895],[29.961816,-6.803125],[30.10625,-6.915039],[30.161816,-6.973047],[30.212695,-7.037891],[30.313184,-7.203711],[30.374512,-7.338672],[30.406738,-7.460645],[30.485645,-7.627148],[30.558887,-7.781934],[30.653809,-7.970898],[30.720898,-8.104395],[30.751172,-8.193652]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":4,"SOVEREIGNT":"Republic of the Congo","SOV_A3":"COG","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Republic of the Congo","ADM0_A3":"COG","GEOU_DIF":0,"GEOUNIT":"Republic of the Congo","GU_A3":"COG","SU_DIF":0,"SUBUNIT":"Republic of the Congo","SU_A3":"COG","BRK_DIFF":0,"NAME":"Congo","NAME_LONG":"Republic of the Congo","BRK_A3":"COG","BRK_NAME":"Republic of the Congo","BRK_GROUP":null,"ABBREV":"Rep. Congo","POSTAL":"CG","FORMAL_EN":"Republic of the Congo","FORMAL_FR":null,"NAME_CIAWF":"Congo, Republic of the","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Congo, Rep.","NAME_ALT":null,"MAPCOLOR7":2,"MAPCOLOR8":1,"MAPCOLOR9":3,"MAPCOLOR13":10,"POP_EST":5380508,"POP_RANK":13,"POP_YEAR":2019,"GDP_MD":12267,"GDP_YEAR":2019,"ECONOMY":"6. Developing region","INCOME_GRP":"4. Lower middle income","FIPS_10":"CF","ISO_A2":"CG","ISO_A2_EH":"CG","ISO_A3":"COG","ISO_A3_EH":"COG","ISO_N3":"178","ISO_N3_EH":"178","UN_A3":"178","WB_A2":"CG","WB_A3":"COG","WOE_ID":23424779,"WOE_ID_EH":23424779,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"COG","ADM0_DIFF":null,"ADM0_TLC":"COG","ADM0_A3_US":"COG","ADM0_A3_FR":"COG","ADM0_A3_RU":"COG","ADM0_A3_ES":"COG","ADM0_A3_CN":"COG","ADM0_A3_TW":"COG","ADM0_A3_IN":"COG","ADM0_A3_NP":"COG","ADM0_A3_PK":"COG","ADM0_A3_DE":"COG","ADM0_A3_GB":"COG","ADM0_A3_BR":"COG","ADM0_A3_IL":"COG","ADM0_A3_PS":"COG","ADM0_A3_SA":"COG","ADM0_A3_EG":"COG","ADM0_A3_MA":"COG","ADM0_A3_PT":"COG","ADM0_A3_AR":"COG","ADM0_A3_JP":"COG","ADM0_A3_KO":"COG","ADM0_A3_VN":"COG","ADM0_A3_TR":"COG","ADM0_A3_ID":"COG","ADM0_A3_PL":"COG","ADM0_A3_GR":"COG","ADM0_A3_IT":"COG","ADM0_A3_NL":"COG","ADM0_A3_SE":"COG","ADM0_A3_BD":"COG","ADM0_A3_UA":"COG","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Africa","REGION_UN":"Africa","SUBREGION":"Middle Africa","REGION_WB":"Sub-Saharan Africa","NAME_LEN":5,"LONG_LEN":21,"ABBREV_LEN":10,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":4,"MAX_LABEL":9,"LABEL_X":15.9005,"LABEL_Y":0.142331,"NE_ID":1159320515,"WIKIDATAID":"Q971","NAME_AR":"جمهورية الكونغو","NAME_BN":"কঙ্গো প্রজাতন্ত্র","NAME_DE":"Republik Kongo","NAME_EN":"Republic of the Congo","NAME_ES":"República del Congo","NAME_FA":"جمهوری کنگو","NAME_FR":"République du Congo","NAME_EL":"Δημοκρατία του Κονγκό","NAME_HE":"הרפובליקה של קונגו","NAME_HI":"कांगो गणराज्य","NAME_HU":"Kongói Köztársaság","NAME_ID":"Republik Kongo","NAME_IT":"Repubblica del Congo","NAME_JA":"コンゴ共和国","NAME_KO":"콩고 공화국","NAME_NL":"Congo-Brazzaville","NAME_PL":"Kongo","NAME_PT":"República do Congo","NAME_RU":"Республика Конго","NAME_SV":"Kongo-Brazzaville","NAME_TR":"Kongo Cumhuriyeti","NAME_UK":"Республіка Конго","NAME_UR":"جمہوریہ کانگو","NAME_VI":"Cộng hòa Congo","NAME_ZH":"刚果共和国","NAME_ZHT":"剛果共和國","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[11.130176,-5.004297,18.622168,3.687305],"geometry":{"type":"Polygon","coordinates":[[[11.130176,-3.916309],[11.190039,-3.762012],[11.234473,-3.69082],[11.288281,-3.641113],[11.504297,-3.520313],[11.536816,-3.525],[11.685742,-3.682031],[11.733398,-3.694531],[11.786426,-3.690234],[11.849121,-3.69668],[11.879883,-3.665918],[11.884766,-3.625391],[11.839453,-3.580078],[11.83291,-3.531445],[11.864746,-3.478613],[11.882812,-3.420215],[11.929297,-3.350977],[11.93418,-3.318555],[11.885059,-3.283203],[11.784375,-3.229102],[11.71543,-3.176953],[11.689063,-3.126953],[11.708008,-3.063086],[11.763477,-3.01123],[11.760156,-2.983105],[11.711328,-2.936523],[11.675684,-2.886621],[11.639063,-2.855371],[11.537793,-2.836719],[11.557129,-2.769629],[11.594531,-2.670996],[11.603418,-2.59541],[11.575195,-2.39707],[11.577734,-2.360938],[11.605469,-2.342578],[11.665918,-2.364551],[11.726758,-2.394727],[11.892383,-2.351465],[11.950293,-2.344824],[11.998242,-2.382812],[12.064453,-2.412598],[12.446387,-2.32998],[12.453809,-2.245605],[12.475684,-2.169238],[12.478516,-2.112012],[12.462598,-2.075293],[12.44375,-2.047559],[12.432422,-1.990332],[12.432129,-1.928906],[12.468652,-1.9],[12.59043,-1.826855],[12.628418,-1.82959],[12.713672,-1.869434],[12.793555,-1.931836],[12.864453,-2.063281],[12.913574,-2.17627],[12.991992,-2.313379],[13.158594,-2.369141],[13.357324,-2.404785],[13.464941,-2.39541],[13.618555,-2.278613],[13.705566,-2.1875],[13.733789,-2.138477],[13.784375,-2.16377],[13.841602,-2.283691],[13.878516,-2.330176],[13.887695,-2.374512],[13.861816,-2.429883],[13.886914,-2.46543],[13.993848,-2.490625],[14.087402,-2.466895],[14.129785,-2.417969],[14.199805,-2.354199],[14.200391,-2.300586],[14.162891,-2.265527],[14.162891,-2.217578],[14.201758,-2.179883],[14.239648,-2.076758],[14.251465,-2.001465],[14.288379,-1.953516],[14.358594,-1.920215],[14.383984,-1.890039],[14.423242,-1.711523],[14.40293,-1.646973],[14.40293,-1.593359],[14.447266,-1.525098],[14.455566,-1.413184],[14.436914,-1.229785],[14.424023,-1.103906],[14.410645,-0.97207],[14.444922,-0.798828],[14.480566,-0.618359],[14.474121,-0.573438],[14.424707,-0.518652],[14.36377,-0.468555],[14.206738,-0.427344],[14.14834,-0.361914],[14.102832,-0.292383],[14.069434,-0.270117],[13.898047,-0.242578],[13.860059,-0.20332],[13.875488,-0.09082],[13.890625,0.075293],[13.88457,0.19082],[13.915137,0.283984],[13.949609,0.353809],[14.025293,0.427734],[14.065527,0.51499],[14.0875,0.536572],[14.230957,0.551123],[14.283105,0.587451],[14.324219,0.624219],[14.341504,0.673828],[14.390625,0.755713],[14.434473,0.811475],[14.43916,0.849121],[14.429883,0.901465],[14.386426,1.004443],[14.334473,1.090234],[14.303027,1.12085],[14.239746,1.322559],[14.180859,1.370215],[14.066211,1.395898],[13.851367,1.41875],[13.721191,1.382275],[13.52334,1.3146],[13.372363,1.267773],[13.274121,1.241016],[13.216309,1.248437],[13.190137,1.279248],[13.22832,1.30542],[13.247363,1.366699],[13.222754,1.45459],[13.18457,1.535059],[13.162695,1.648096],[13.172168,1.788574],[13.209473,1.92041],[13.288672,2.091699],[13.293555,2.161572],[13.533496,2.159521],[13.772754,2.157422],[14.034375,2.158887],[14.287012,2.160352],[14.484082,2.154736],[14.578906,2.199121],[14.669141,2.13208],[14.713281,2.117139],[14.72832,2.122412],[14.762891,2.075195],[14.875,2.080469],[14.892773,2.069336],[14.902441,2.012305],[15.006445,2.01377],[15.057813,2.000879],[15.099609,2.002344],[15.160059,2.035596],[15.203516,2.024463],[15.282422,1.981738],[15.33877,1.944727],[15.41748,1.956738],[15.600293,1.950391],[15.741602,1.91499],[15.881641,1.816602],[15.975195,1.76001],[16.059375,1.676221],[16.090332,1.69126],[16.119531,1.714111],[16.136133,1.724219],[16.134961,1.795947],[16.087891,1.918066],[16.069629,2.02168],[16.080078,2.106787],[16.115723,2.167822],[16.176563,2.204785],[16.182617,2.262451],[16.183398,2.270068],[16.251758,2.406787],[16.319629,2.542773],[16.40127,2.701025],[16.468555,2.831738],[16.45957,2.896533],[16.466211,2.993213],[16.480078,3.100977],[16.476758,3.165137],[16.496289,3.208838],[16.543066,3.369531],[16.57041,3.463086],[16.610742,3.505371],[16.67334,3.535205],[16.764355,3.536279],[17.002539,3.556689],[17.224707,3.598437],[17.298438,3.617188],[17.437988,3.684619],[17.491602,3.687305],[17.537695,3.661621],[17.806641,3.58418],[17.880371,3.553857],[17.907129,3.558398],[17.947949,3.551758],[18.010742,3.55083],[18.072266,3.560303],[18.111328,3.551074],[18.160938,3.499805],[18.193945,3.50542],[18.237109,3.542676],[18.318164,3.580811],[18.474414,3.622998],[18.499805,3.604102],[18.553809,3.510205],[18.610352,3.478418],[18.622168,3.304053],[18.54707,3.087012],[18.490918,2.924414],[18.343457,2.65542],[18.211621,2.414941],[18.072168,2.013281],[18.072852,1.719385],[18.057813,1.534863],[18.011719,1.422119],[17.902441,1.118066],[17.885742,0.856885],[17.925195,0.537305],[17.887695,0.234131],[17.773145,-0.052393],[17.724121,-0.277539],[17.752832,-0.549023],[17.542871,-0.775],[17.278809,-0.999609],[17.107617,-1.064453],[16.974707,-1.139941],[16.879883,-1.225879],[16.849121,-1.272461],[16.780078,-1.376367],[16.622461,-1.698926],[16.540723,-1.840137],[16.433594,-1.96084],[16.273926,-2.108203],[16.215332,-2.177832],[16.191602,-2.279102],[16.201855,-2.464746],[16.217383,-3.030273],[16.190625,-3.194434],[16.146777,-3.46416],[15.990039,-3.766211],[15.872461,-3.934277],[15.75459,-3.985547],[15.600098,-4.030957],[15.525977,-4.087988],[15.480957,-4.171777],[15.394629,-4.244922],[15.267188,-4.307617],[15.10625,-4.461035],[14.912109,-4.705566],[14.779297,-4.845703],[14.70791,-4.881738],[14.633984,-4.885059],[14.557617,-4.855762],[14.493945,-4.85166],[14.461621,-4.864941],[14.440918,-4.854102],[14.410742,-4.83125],[14.411914,-4.775],[14.40293,-4.681641],[14.36543,-4.585547],[14.409961,-4.508105],[14.449805,-4.449512],[14.442773,-4.419043],[14.40293,-4.369727],[14.358301,-4.299414],[14.316211,-4.304102],[14.227051,-4.358105],[14.133887,-4.4],[14.046875,-4.41748],[13.978418,-4.46123],[13.940918,-4.484668],[13.882324,-4.484668],[13.849512,-4.458887],[13.778027,-4.433887],[13.739063,-4.44248],[13.71709,-4.454492],[13.707617,-4.543262],[13.699414,-4.618359],[13.685352,-4.688672],[13.65957,-4.721484],[13.55166,-4.756738],[13.478418,-4.80498],[13.414941,-4.837402],[13.375781,-4.829395],[13.297266,-4.765234],[13.219629,-4.705859],[13.176465,-4.655859],[13.152344,-4.620313],[13.136621,-4.604297],[13.087402,-4.601953],[13.072754,-4.634766],[13.048047,-4.619238],[12.971387,-4.551758],[12.881055,-4.445117],[12.848145,-4.428906],[12.798242,-4.430566],[12.719434,-4.469727],[12.641699,-4.531152],[12.501465,-4.5875],[12.38457,-4.619141],[12.374023,-4.657715],[12.34668,-4.724121],[12.30791,-4.765527],[12.204297,-4.778613],[12.16709,-4.837695],[12.077539,-4.952148],[12.018359,-5.004297],[12.002734,-4.982031],[11.966797,-4.954395],[11.893262,-4.865723],[11.820703,-4.755469],[11.80127,-4.705176],[11.780859,-4.676563],[11.777539,-4.56582],[11.668066,-4.434277],[11.393848,-4.200293],[11.364453,-4.130566],[11.130176,-3.916309]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":3,"LABELRANK":6,"SOVEREIGNT":"Comoros","SOV_A3":"COM","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Comoros","ADM0_A3":"COM","GEOU_DIF":0,"GEOUNIT":"Comoros","GU_A3":"COM","SU_DIF":0,"SUBUNIT":"Comoros","SU_A3":"COM","BRK_DIFF":0,"NAME":"Comoros","NAME_LONG":"Comoros","BRK_A3":"COM","BRK_NAME":"Comoros","BRK_GROUP":null,"ABBREV":"Com.","POSTAL":"KM","FORMAL_EN":"Union of the Comoros","FORMAL_FR":null,"NAME_CIAWF":"Comoros","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Comoros","NAME_ALT":null,"MAPCOLOR7":2,"MAPCOLOR8":1,"MAPCOLOR9":4,"MAPCOLOR13":10,"POP_EST":850886,"POP_RANK":11,"POP_YEAR":2019,"GDP_MD":1165,"GDP_YEAR":2019,"ECONOMY":"7. Least developed region","INCOME_GRP":"5. Low income","FIPS_10":"CN","ISO_A2":"KM","ISO_A2_EH":"KM","ISO_A3":"COM","ISO_A3_EH":"COM","ISO_N3":"174","ISO_N3_EH":"174","UN_A3":"174","WB_A2":"KM","WB_A3":"COM","WOE_ID":23424786,"WOE_ID_EH":23424786,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"COM","ADM0_DIFF":null,"ADM0_TLC":"COM","ADM0_A3_US":"COM","ADM0_A3_FR":"COM","ADM0_A3_RU":"COM","ADM0_A3_ES":"COM","ADM0_A3_CN":"COM","ADM0_A3_TW":"COM","ADM0_A3_IN":"COM","ADM0_A3_NP":"COM","ADM0_A3_PK":"COM","ADM0_A3_DE":"COM","ADM0_A3_GB":"COM","ADM0_A3_BR":"COM","ADM0_A3_IL":"COM","ADM0_A3_PS":"COM","ADM0_A3_SA":"COM","ADM0_A3_EG":"COM","ADM0_A3_MA":"COM","ADM0_A3_PT":"COM","ADM0_A3_AR":"COM","ADM0_A3_JP":"COM","ADM0_A3_KO":"COM","ADM0_A3_VN":"COM","ADM0_A3_TR":"COM","ADM0_A3_ID":"COM","ADM0_A3_PL":"COM","ADM0_A3_GR":"COM","ADM0_A3_IT":"COM","ADM0_A3_NL":"COM","ADM0_A3_SE":"COM","ADM0_A3_BD":"COM","ADM0_A3_UA":"COM","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Africa","REGION_UN":"Africa","SUBREGION":"Eastern Africa","REGION_WB":"Sub-Saharan Africa","NAME_LEN":7,"LONG_LEN":7,"ABBREV_LEN":4,"TINY":2,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":4,"MAX_LABEL":9,"LABEL_X":43.318094,"LABEL_Y":-11.727683,"NE_ID":1159320521,"WIKIDATAID":"Q970","NAME_AR":"جزر القمر","NAME_BN":"কোমোরোস","NAME_DE":"Komoren","NAME_EN":"Comoros","NAME_ES":"Comoras","NAME_FA":"مجمعالجزایر قمر","NAME_FR":"Comores","NAME_EL":"Κομόρες","NAME_HE":"קומורו","NAME_HI":"कोमोरोस","NAME_HU":"Comore-szigetek","NAME_ID":"Komoro","NAME_IT":"Comore","NAME_JA":"コモロ","NAME_KO":"코모로","NAME_NL":"Comoren","NAME_PL":"Komory","NAME_PT":"Comores","NAME_RU":"Коморы","NAME_SV":"Komorerna","NAME_TR":"Komorlar","NAME_UK":"Коморські Острови","NAME_UR":"اتحاد القمری","NAME_VI":"Comoros","NAME_ZH":"科摩罗","NAME_ZHT":"葛摩","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[43.22666,-12.368262,44.526758,-11.368457],"geometry":{"type":"MultiPolygon","coordinates":[[[[44.476367,-12.081543],[44.526758,-12.219531],[44.52627,-12.323535],[44.50498,-12.356543],[44.460156,-12.335156],[44.377441,-12.252246],[44.220117,-12.171387],[44.292285,-12.164746],[44.334473,-12.173047],[44.379102,-12.165625],[44.407031,-12.120117],[44.412598,-12.092969],[44.451855,-12.071387],[44.476367,-12.081543]]],[[[43.788672,-12.307031],[43.858984,-12.368262],[43.663672,-12.342871],[43.63291,-12.287695],[43.631348,-12.24707],[43.704297,-12.255957],[43.788672,-12.307031]]],[[[43.46582,-11.90127],[43.446777,-11.914551],[43.355469,-11.85752],[43.30332,-11.844043],[43.22666,-11.751855],[43.256055,-11.432129],[43.280664,-11.391211],[43.299023,-11.374512],[43.341504,-11.368457],[43.392969,-11.408594],[43.379395,-11.61416],[43.447656,-11.752539],[43.491504,-11.862109],[43.46582,-11.90127]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":2,"SOVEREIGNT":"Colombia","SOV_A3":"COL","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Colombia","ADM0_A3":"COL","GEOU_DIF":0,"GEOUNIT":"Colombia","GU_A3":"COL","SU_DIF":0,"SUBUNIT":"Colombia","SU_A3":"COL","BRK_DIFF":0,"NAME":"Colombia","NAME_LONG":"Colombia","BRK_A3":"COL","BRK_NAME":"Colombia","BRK_GROUP":null,"ABBREV":"Col.","POSTAL":"CO","FORMAL_EN":"Republic of Colombia","FORMAL_FR":null,"NAME_CIAWF":"Colombia","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Colombia","NAME_ALT":null,"MAPCOLOR7":2,"MAPCOLOR8":1,"MAPCOLOR9":3,"MAPCOLOR13":1,"POP_EST":50339443,"POP_RANK":16,"POP_YEAR":2019,"GDP_MD":323615,"GDP_YEAR":2019,"ECONOMY":"6. Developing region","INCOME_GRP":"3. Upper middle income","FIPS_10":"CO","ISO_A2":"CO","ISO_A2_EH":"CO","ISO_A3":"COL","ISO_A3_EH":"COL","ISO_N3":"170","ISO_N3_EH":"170","UN_A3":"170","WB_A2":"CO","WB_A3":"COL","WOE_ID":23424787,"WOE_ID_EH":23424787,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"COL","ADM0_DIFF":null,"ADM0_TLC":"COL","ADM0_A3_US":"COL","ADM0_A3_FR":"COL","ADM0_A3_RU":"COL","ADM0_A3_ES":"COL","ADM0_A3_CN":"COL","ADM0_A3_TW":"COL","ADM0_A3_IN":"COL","ADM0_A3_NP":"COL","ADM0_A3_PK":"COL","ADM0_A3_DE":"COL","ADM0_A3_GB":"COL","ADM0_A3_BR":"COL","ADM0_A3_IL":"COL","ADM0_A3_PS":"COL","ADM0_A3_SA":"COL","ADM0_A3_EG":"COL","ADM0_A3_MA":"COL","ADM0_A3_PT":"COL","ADM0_A3_AR":"COL","ADM0_A3_JP":"COL","ADM0_A3_KO":"COL","ADM0_A3_VN":"COL","ADM0_A3_TR":"COL","ADM0_A3_ID":"COL","ADM0_A3_PL":"COL","ADM0_A3_GR":"COL","ADM0_A3_IT":"COL","ADM0_A3_NL":"COL","ADM0_A3_SE":"COL","ADM0_A3_BD":"COL","ADM0_A3_UA":"COL","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"South America","REGION_UN":"Americas","SUBREGION":"South America","REGION_WB":"Latin America & Caribbean","NAME_LEN":8,"LONG_LEN":8,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":3,"MAX_LABEL":7,"LABEL_X":-73.174347,"LABEL_Y":3.373111,"NE_ID":1159320517,"WIKIDATAID":"Q739","NAME_AR":"كولومبيا","NAME_BN":"কলম্বিয়া","NAME_DE":"Kolumbien","NAME_EN":"Colombia","NAME_ES":"Colombia","NAME_FA":"کلمبیا","NAME_FR":"Colombie","NAME_EL":"Κολομβία","NAME_HE":"קולומביה","NAME_HI":"कोलम्बिया","NAME_HU":"Kolumbia","NAME_ID":"Kolombia","NAME_IT":"Colombia","NAME_JA":"コロンビア","NAME_KO":"콜롬비아","NAME_NL":"Colombia","NAME_PL":"Kolumbia","NAME_PT":"Colômbia","NAME_RU":"Колумбия","NAME_SV":"Colombia","NAME_TR":"Kolombiya","NAME_UK":"Колумбія","NAME_UR":"کولمبیا","NAME_VI":"Colombia","NAME_ZH":"哥伦比亚","NAME_ZHT":"哥倫比亞","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[-79.025439,-4.235938,-66.876025,12.434375],"geometry":{"type":"MultiPolygon","coordinates":[[[[-71.319727,11.861914],[-71.355566,11.849756],[-71.400195,11.823535],[-71.536084,11.774072],[-71.719482,11.726855],[-71.958105,11.666406],[-72.012305,11.601953],[-72.248486,11.196436],[-72.446094,11.114258],[-72.518018,11.053906],[-72.572266,10.977148],[-72.690088,10.83584],[-72.73916,10.727197],[-72.869336,10.49126],[-72.940381,10.195752],[-72.967383,10.029736],[-73.006543,9.78916],[-73.064062,9.668213],[-73.14126,9.554639],[-73.224268,9.443604],[-73.295654,9.322021],[-73.356348,9.226855],[-73.366211,9.194141],[-73.336719,9.16792],[-73.193164,9.194141],[-73.136719,9.222803],[-73.058398,9.25957],[-73.009277,9.239941],[-72.960156,9.135156],[-72.904443,9.12207],[-72.8521,9.135156],[-72.796387,9.108984],[-72.725537,8.848291],[-72.66543,8.627588],[-72.525732,8.489697],[-72.416553,8.381982],[-72.390332,8.287061],[-72.36416,8.152783],[-72.357617,8.087305],[-72.391699,8.047705],[-72.446045,7.966113],[-72.45957,7.809863],[-72.468896,7.757959],[-72.478955,7.613232],[-72.471973,7.524268],[-72.442969,7.454883],[-72.394629,7.415088],[-72.296338,7.394531],[-72.207715,7.370264],[-72.156689,7.249707],[-72.084277,7.096875],[-72.006641,7.032617],[-71.892676,6.990332],[-71.811279,7.005811],[-71.620898,7.03291],[-71.457129,7.026367],[-71.217822,6.985205],[-71.128613,6.986719],[-71.013281,6.994434],[-70.810693,7.077588],[-70.737158,7.090039],[-70.655078,7.082764],[-70.535547,7.040527],[-70.470654,7.007129],[-70.3875,6.972607],[-70.266113,6.947949],[-70.188135,6.952051],[-70.129199,6.953613],[-70.09502,6.937939],[-69.904199,6.700244],[-69.738965,6.494385],[-69.594824,6.321484],[-69.439258,6.134912],[-69.427148,6.123975],[-69.35708,6.147998],[-69.31084,6.137598],[-69.268164,6.099707],[-69.194531,6.115332],[-69.089941,6.184375],[-68.937207,6.198193],[-68.736475,6.156787],[-68.471777,6.156543],[-68.143066,6.19751],[-67.938867,6.241943],[-67.85918,6.289893],[-67.727148,6.284961],[-67.568066,6.241797],[-67.481982,6.180273],[-67.471582,6.119775],[-67.439355,6.025537],[-67.473877,5.92998],[-67.575195,5.833105],[-67.631348,5.709375],[-67.642285,5.558789],[-67.694629,5.44751],[-67.788428,5.375488],[-67.824902,5.270459],[-67.804199,5.13252],[-67.814307,4.930811],[-67.855273,4.665479],[-67.855273,4.506885],[-67.814307,4.455078],[-67.79541,4.380713],[-67.798633,4.283887],[-67.783203,4.198242],[-67.732324,4.086523],[-67.661621,3.864258],[-67.602539,3.768799],[-67.551123,3.733838],[-67.498682,3.691113],[-67.347705,3.46377],[-67.311133,3.415869],[-67.322168,3.373975],[-67.336279,3.342627],[-67.353613,3.322656],[-67.514844,3.187256],[-67.834766,2.892822],[-67.86123,2.855322],[-67.859082,2.793604],[-67.766455,2.833301],[-67.667236,2.800195],[-67.618701,2.793604],[-67.59668,2.769336],[-67.568018,2.689941],[-67.534961,2.676758],[-67.486426,2.643652],[-67.391602,2.559912],[-67.312256,2.47168],[-67.252734,2.429443],[-67.21084,2.390137],[-67.197607,2.332764],[-67.215234,2.275488],[-67.165479,2.142578],[-67.131445,2.10127],[-67.113818,2.050586],[-67.131445,1.999854],[-67.089551,1.940332],[-67.043896,1.823193],[-66.988135,1.680176],[-66.981543,1.600781],[-66.95835,1.564209],[-66.931104,1.458008],[-66.884473,1.358252],[-66.895508,1.289893],[-66.876025,1.223047],[-67.065234,1.178369],[-67.082275,1.1854],[-67.093652,1.21001],[-67.088281,1.400586],[-67.090137,1.615576],[-67.119238,1.703613],[-67.205811,1.844824],[-67.320605,2.03208],[-67.351953,2.08584],[-67.400439,2.116699],[-67.457764,2.121143],[-67.499658,2.10791],[-67.556055,2.072998],[-67.609229,2.035059],[-67.711865,1.922119],[-67.815088,1.790088],[-67.875537,1.760596],[-67.93623,1.748486],[-67.989746,1.752539],[-68.032861,1.788037],[-68.077051,1.860107],[-68.130273,1.955762],[-68.193799,1.987012],[-68.218359,1.957617],[-68.239453,1.901367],[-68.255957,1.845508],[-68.213281,1.774561],[-68.176562,1.719824],[-68.239551,1.72168],[-68.443457,1.721582],[-68.678467,1.721484],[-68.913184,1.721387],[-69.124268,1.721289],[-69.319727,1.72124],[-69.394336,1.725781],[-69.470166,1.75791],[-69.54292,1.773242],[-69.58125,1.770752],[-69.650049,1.739453],[-69.7396,1.734863],[-69.799951,1.705176],[-69.848584,1.70874],[-69.849463,1.543896],[-69.850781,1.308789],[-69.852148,1.059521],[-69.798145,1.078418],[-69.751318,1.076611],[-69.716992,1.059082],[-69.620898,1.073242],[-69.567578,1.065771],[-69.517139,1.059473],[-69.470312,1.058594],[-69.441504,1.038818],[-69.402783,1.042383],[-69.361377,1.064014],[-69.311816,1.050488],[-69.258691,1.015381],[-69.224463,0.963135],[-69.193848,0.898291],[-69.163232,0.864062],[-69.165039,0.801953],[-69.165967,0.75332],[-69.176758,0.712842],[-69.163232,0.68667],[-69.15332,0.658789],[-69.156055,0.642529],[-69.174072,0.635352],[-69.212793,0.629932],[-69.254199,0.625439],[-69.283008,0.627246],[-69.305518,0.652441],[-69.327148,0.655176],[-69.358643,0.651562],[-69.391992,0.666895],[-69.420801,0.698389],[-69.472119,0.729932],[-69.527051,0.716406],[-69.564844,0.700195],[-69.603613,0.680371],[-69.638721,0.659668],[-69.673828,0.665088],[-69.718896,0.649805],[-69.756738,0.626367],[-69.807129,0.607471],[-69.862061,0.598486],[-69.925098,0.589404],[-69.985449,0.58584],[-70.053906,0.578613],[-70.05791,0.447363],[-70.065723,0.189355],[-70.070947,0.018555],[-70.070508,-0.138867],[-70.044043,-0.196191],[-69.922754,-0.31748],[-69.82793,-0.381348],[-69.747461,-0.452539],[-69.66748,-0.482422],[-69.633984,-0.509277],[-69.611914,-0.55332],[-69.600879,-0.599609],[-69.592041,-0.639355],[-69.600879,-0.68125],[-69.620703,-0.720898],[-69.611914,-0.762793],[-69.583252,-0.795898],[-69.574414,-0.837793],[-69.55459,-0.877441],[-69.543555,-0.917188],[-69.519287,-0.945801],[-69.488428,-0.965723],[-69.44873,-0.99873],[-69.444336,-1.02959],[-69.44873,-1.064941],[-69.449121,-1.091602],[-69.411426,-1.152246],[-69.400244,-1.194922],[-69.417871,-1.245703],[-69.434912,-1.42168],[-69.478613,-1.621973],[-69.506445,-1.774902],[-69.551855,-2.024219],[-69.604687,-2.314258],[-69.669043,-2.667676],[-69.732617,-3.016699],[-69.794141,-3.35459],[-69.849756,-3.659863],[-69.911035,-3.996582],[-69.948193,-4.200586],[-69.965918,-4.235938],[-70.017187,-4.162012],[-70.094775,-4.092188],[-70.167529,-4.050195],[-70.198389,-3.995117],[-70.240283,-3.882715],[-70.298437,-3.844238],[-70.339502,-3.814355],[-70.379199,-3.81875],[-70.421094,-3.849609],[-70.48584,-3.869336],[-70.529687,-3.866406],[-70.706201,-3.788965],[-70.735107,-3.781543],[-70.62168,-3.60459],[-70.418994,-3.288281],[-70.290137,-3.087305],[-70.14707,-2.864063],[-70.074023,-2.750195],[-70.064453,-2.730762],[-70.064746,-2.70166],[-70.09585,-2.658203],[-70.164746,-2.639844],[-70.244434,-2.606543],[-70.294629,-2.552539],[-70.36416,-2.529297],[-70.418213,-2.490723],[-70.516797,-2.453125],[-70.575879,-2.418262],[-70.647998,-2.405762],[-70.705371,-2.341992],[-70.914551,-2.218555],[-70.968555,-2.206836],[-71.027295,-2.225781],[-71.113379,-2.24541],[-71.196387,-2.313086],[-71.300098,-2.334863],[-71.396973,-2.334082],[-71.447461,-2.29375],[-71.496094,-2.279199],[-71.559473,-2.224219],[-71.671484,-2.182129],[-71.752539,-2.152734],[-71.802734,-2.166309],[-71.867285,-2.227734],[-71.932471,-2.288672],[-71.984277,-2.326563],[-72.053809,-2.324609],[-72.136816,-2.380664],[-72.218457,-2.400488],[-72.300732,-2.409277],[-72.395605,-2.428906],[-72.500684,-2.39502],[-72.586719,-2.365137],[-72.625342,-2.35166],[-72.660156,-2.361035],[-72.71416,-2.392188],[-72.81123,-2.405469],[-72.887158,-2.408496],[-72.941113,-2.394043],[-72.989648,-2.339746],[-73.068164,-2.312012],[-73.154492,-2.278223],[-73.172656,-2.208398],[-73.160205,-2.156348],[-73.126514,-2.081055],[-73.145215,-2.00332],[-73.181494,-1.880371],[-73.196973,-1.830273],[-73.223975,-1.787695],[-73.266455,-1.772266],[-73.349512,-1.783887],[-73.440283,-1.737402],[-73.496289,-1.693066],[-73.525244,-1.638867],[-73.494336,-1.536621],[-73.521387,-1.449707],[-73.575488,-1.401367],[-73.610254,-1.316406],[-73.664307,-1.248828],[-73.735742,-1.21416],[-73.807178,-1.217969],[-73.863184,-1.19668],[-73.926953,-1.125195],[-73.986816,-1.098145],[-74.054395,-1.028613],[-74.180762,-0.997754],[-74.246387,-0.970605],[-74.283887,-0.927832],[-74.334424,-0.850879],[-74.328613,-0.808398],[-74.353125,-0.766602],[-74.374902,-0.691406],[-74.417871,-0.580664],[-74.465186,-0.517676],[-74.513867,-0.470117],[-74.555078,-0.429883],[-74.616357,-0.37002],[-74.69165,-0.335254],[-74.755371,-0.298633],[-74.780469,-0.244531],[-74.801758,-0.200098],[-74.8375,-0.20332],[-74.888818,-0.199414],[-74.945312,-0.188184],[-75.00498,-0.155859],[-75.054688,-0.116699],[-75.138379,-0.050488],[-75.184082,-0.041748],[-75.224609,-0.041748],[-75.284473,-0.106543],[-75.463965,-0.038428],[-75.617334,0.062891],[-75.77666,0.089258],[-75.879785,0.150977],[-75.974854,0.247754],[-76.026172,0.313086],[-76.06792,0.345557],[-76.270605,0.439404],[-76.311035,0.448486],[-76.388184,0.40498],[-76.413379,0.378857],[-76.417969,0.303906],[-76.427295,0.26123],[-76.494629,0.235449],[-76.603027,0.240967],[-76.678516,0.268164],[-76.729004,0.272119],[-76.739307,0.25083],[-76.767725,0.24165],[-76.829346,0.247754],[-76.920117,0.268506],[-77.002441,0.29624],[-77.114111,0.355078],[-77.165723,0.347754],[-77.292676,0.3604],[-77.396338,0.393896],[-77.422754,0.424854],[-77.467676,0.636523],[-77.481396,0.651172],[-77.526123,0.660352],[-77.601318,0.689502],[-77.648633,0.723633],[-77.673193,0.782227],[-77.702881,0.837842],[-77.829541,0.825391],[-78.037012,0.89873],[-78.180664,0.968555],[-78.312109,1.046094],[-78.511523,1.198828],[-78.587646,1.23667],[-78.681641,1.283447],[-78.737109,1.358691],[-78.828857,1.434668],[-78.859668,1.455371],[-78.888477,1.524072],[-79.025439,1.623682],[-78.957666,1.752197],[-78.792969,1.84873],[-78.576904,1.773779],[-78.550439,1.923633],[-78.628613,2.05625],[-78.617041,2.306787],[-78.591699,2.356641],[-78.534717,2.423682],[-78.460449,2.470068],[-78.416895,2.483496],[-78.342871,2.460547],[-78.296143,2.510498],[-78.12002,2.488184],[-78.06665,2.509131],[-78.030176,2.543066],[-77.987207,2.568994],[-77.932275,2.629248],[-77.900781,2.698828],[-77.874512,2.725879],[-77.813574,2.716357],[-77.807959,2.746387],[-77.77666,2.787305],[-77.67002,2.878857],[-77.671094,2.919336],[-77.700977,3.007568],[-77.693652,3.039941],[-77.632031,3.051172],[-77.559131,3.075977],[-77.520264,3.160254],[-77.472217,3.233789],[-77.417139,3.341797],[-77.356543,3.348584],[-77.324414,3.474756],[-77.242773,3.585352],[-77.076807,3.913281],[-77.126855,3.906055],[-77.166602,3.862256],[-77.212012,3.867432],[-77.263525,3.893213],[-77.248389,4.040967],[-77.278027,4.058496],[-77.358203,3.944727],[-77.427295,4.060449],[-77.433545,4.130957],[-77.404492,4.200781],[-77.40874,4.247754],[-77.520703,4.212793],[-77.515527,4.256299],[-77.44585,4.301025],[-77.414258,4.347607],[-77.353516,4.398291],[-77.32832,4.475],[-77.313672,4.593848],[-77.286328,4.721729],[-77.306543,4.784668],[-77.339453,4.838525],[-77.366748,5.076562],[-77.35918,5.215186],[-77.373291,5.323975],[-77.401758,5.416162],[-77.534424,5.537109],[-77.324609,5.675635],[-77.249268,5.780176],[-77.344678,5.995361],[-77.469434,6.176758],[-77.473047,6.285645],[-77.440088,6.271729],[-77.398242,6.275],[-77.359863,6.504492],[-77.368799,6.575586],[-77.438867,6.690332],[-77.525977,6.693115],[-77.602148,6.837305],[-77.64585,6.869629],[-77.680957,6.9604],[-77.803711,7.137256],[-77.901172,7.229346],[-77.82832,7.442822],[-77.764697,7.483691],[-77.743896,7.536963],[-77.76875,7.668066],[-77.761914,7.698828],[-77.746924,7.711865],[-77.732031,7.710938],[-77.706348,7.691211],[-77.658594,7.634619],[-77.618604,7.564551],[-77.586572,7.543066],[-77.538281,7.56626],[-77.350781,7.705859],[-77.362744,7.749072],[-77.345605,7.836523],[-77.282959,7.908154],[-77.215967,7.93252],[-77.195996,7.972461],[-77.212305,8.033887],[-77.282617,8.187061],[-77.345508,8.269531],[-77.385889,8.35166],[-77.407275,8.427246],[-77.478516,8.498437],[-77.44834,8.565869],[-77.393066,8.644678],[-77.374219,8.658301],[-77.344141,8.636719],[-77.261572,8.493701],[-77.130127,8.400586],[-76.992285,8.250342],[-76.93584,8.146826],[-76.890967,8.127979],[-76.851855,8.090479],[-76.869092,8.062695],[-76.912207,8.033398],[-76.924658,7.973193],[-76.896631,7.939453],[-76.866895,7.917969],[-76.786572,7.931592],[-76.742334,8.002148],[-76.77207,8.310547],[-76.818604,8.464697],[-76.872217,8.512744],[-76.920459,8.57373],[-76.887988,8.619873],[-76.802246,8.640674],[-76.689355,8.694727],[-76.276855,8.989111],[-76.135498,9.265625],[-76.027246,9.365771],[-75.905029,9.430908],[-75.755566,9.415625],[-75.639355,9.450439],[-75.603613,9.538477],[-75.635352,9.657812],[-75.680029,9.729785],[-75.637109,9.834277],[-75.592676,9.992725],[-75.595898,10.12583],[-75.538574,10.205176],[-75.558398,10.236426],[-75.642187,10.172168],[-75.70835,10.143408],[-75.670898,10.196338],[-75.553711,10.327734],[-75.492773,10.527637],[-75.445996,10.610889],[-75.280615,10.727197],[-75.247949,10.783252],[-75.123047,10.87041],[-74.921582,11.057568],[-74.84458,11.109717],[-74.454248,10.989062],[-74.330225,10.99668],[-74.352393,10.974658],[-74.40957,10.967187],[-74.492285,10.934473],[-74.51626,10.8625],[-74.460254,10.787061],[-74.400879,10.765234],[-74.350195,10.813721],[-74.299951,10.952246],[-74.219141,11.105322],[-74.200195,11.265723],[-74.14292,11.32085],[-74.059131,11.340625],[-73.90957,11.308887],[-73.795703,11.275684],[-73.676904,11.271484],[-73.313379,11.295752],[-72.721826,11.712158],[-72.44707,11.801709],[-72.275,11.889258],[-72.165234,12.060205],[-72.135742,12.188574],[-72.055078,12.238428],[-71.970117,12.238281],[-71.93125,12.269531],[-71.919141,12.309082],[-71.714551,12.419971],[-71.597461,12.434375],[-71.493994,12.432275],[-71.262109,12.335303],[-71.155029,12.16416],[-71.137305,12.046338],[-71.28418,11.918311],[-71.319727,11.861914]]],[[[-78.113721,2.541748],[-78.14082,2.519678],[-78.19248,2.559277],[-78.210107,2.60918],[-78.178418,2.646338],[-78.137646,2.63418],[-78.119141,2.603613],[-78.113721,2.541748]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":3,"LABELRANK":2,"SOVEREIGNT":"China","SOV_A3":"CH1","ADM0_DIF":1,"LEVEL":2,"TYPE":"Country","TLC":"1","ADMIN":"China","ADM0_A3":"CHN","GEOU_DIF":0,"GEOUNIT":"China","GU_A3":"CHN","SU_DIF":0,"SUBUNIT":"China","SU_A3":"CHN","BRK_DIFF":0,"NAME":"China","NAME_LONG":"China","BRK_A3":"CHN","BRK_NAME":"China","BRK_GROUP":null,"ABBREV":"China","POSTAL":"CN","FORMAL_EN":"People's Republic of China","FORMAL_FR":null,"NAME_CIAWF":"China","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"China","NAME_ALT":null,"MAPCOLOR7":4,"MAPCOLOR8":4,"MAPCOLOR9":4,"MAPCOLOR13":3,"POP_EST":1397715000,"POP_RANK":18,"POP_YEAR":2019,"GDP_MD":14342903,"GDP_YEAR":2019,"ECONOMY":"3. Emerging region: BRIC","INCOME_GRP":"3. Upper middle income","FIPS_10":"CH","ISO_A2":"CN","ISO_A2_EH":"CN","ISO_A3":"CHN","ISO_A3_EH":"CHN","ISO_N3":"156","ISO_N3_EH":"156","UN_A3":"156","WB_A2":"CN","WB_A3":"CHN","WOE_ID":23424781,"WOE_ID_EH":23424781,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"CHN","ADM0_DIFF":null,"ADM0_TLC":"CHN","ADM0_A3_US":"CHN","ADM0_A3_FR":"CHN","ADM0_A3_RU":"CHN","ADM0_A3_ES":"CHN","ADM0_A3_CN":"CHN","ADM0_A3_TW":"TWN","ADM0_A3_IN":"CHN","ADM0_A3_NP":"CHN","ADM0_A3_PK":"CHN","ADM0_A3_DE":"CHN","ADM0_A3_GB":"CHN","ADM0_A3_BR":"CHN","ADM0_A3_IL":"CHN","ADM0_A3_PS":"CHN","ADM0_A3_SA":"CHN","ADM0_A3_EG":"CHN","ADM0_A3_MA":"CHN","ADM0_A3_PT":"CHN","ADM0_A3_AR":"CHN","ADM0_A3_JP":"CHN","ADM0_A3_KO":"CHN","ADM0_A3_VN":"CHN","ADM0_A3_TR":"CHN","ADM0_A3_ID":"CHN","ADM0_A3_PL":"CHN","ADM0_A3_GR":"CHN","ADM0_A3_IT":"CHN","ADM0_A3_NL":"CHN","ADM0_A3_SE":"CHN","ADM0_A3_BD":"CHN","ADM0_A3_UA":"CHN","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Asia","REGION_UN":"Asia","SUBREGION":"Eastern Asia","REGION_WB":"East Asia & Pacific","NAME_LEN":5,"LONG_LEN":5,"ABBREV_LEN":5,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":1.7,"MAX_LABEL":5.7,"LABEL_X":106.337289,"LABEL_Y":32.498178,"NE_ID":1159320471,"WIKIDATAID":"Q148","NAME_AR":"الصين","NAME_BN":"গণচীন","NAME_DE":"Volksrepublik China","NAME_EN":"People's Republic of China","NAME_ES":"China","NAME_FA":"جمهوری خلق چین","NAME_FR":"République populaire de Chine","NAME_EL":"Λαϊκή Δημοκρατία της Κίνας","NAME_HE":"הרפובליקה העממית של סין","NAME_HI":"चीनी जनवादी गणराज्य","NAME_HU":"Kína","NAME_ID":"Republik Rakyat Tiongkok","NAME_IT":"Cina","NAME_JA":"中華人民共和国","NAME_KO":"중화인민공화국","NAME_NL":"Volksrepubliek China","NAME_PL":"Chińska Republika Ludowa","NAME_PT":"China","NAME_RU":"Китайская Народная Республика","NAME_SV":"Kina","NAME_TR":"Çin Halk Cumhuriyeti","NAME_UK":"Китайська Народна Республіка","NAME_UR":"عوامی جمہوریہ چین","NAME_VI":"Trung Quốc","NAME_ZH":"中华人民共和国","NAME_ZHT":"中華人民共和國","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":"Unrecognized","FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[73.607324,18.218262,134.752344,53.555615],"geometry":{"type":"MultiPolygon","coordinates":[[[[118.183008,24.496289],[118.149512,24.436133],[118.090527,24.446143],[118.08877,24.488867],[118.076758,24.501416],[118.092969,24.541211],[118.103809,24.552344],[118.170703,24.518506],[118.183008,24.496289]]],[[[121.862695,31.492285],[121.780469,31.46377],[121.519922,31.549609],[121.336426,31.64375],[121.226855,31.758105],[121.211133,31.805371],[121.338965,31.797363],[121.46416,31.756445],[121.491797,31.693652],[121.542285,31.673926],[121.576563,31.637305],[121.808301,31.552148],[121.843652,31.526367],[121.862695,31.492285]]],[[[122.295898,29.963428],[122.281543,29.943848],[122.157813,30.00127],[122.024023,30.01333],[121.977832,30.063818],[121.969434,30.143115],[122.110547,30.139746],[122.284473,30.068018],[122.322266,30.031396],[122.295898,29.963428]]],[[[122.172559,29.679004],[122.169043,29.660254],[122.083789,29.725342],[122.042676,29.735937],[122.062305,29.772754],[122.119629,29.782227],[122.165039,29.700781],[122.172559,29.679004]]],[[[122.403906,29.892383],[122.394043,29.846094],[122.367578,29.852686],[122.331836,29.934961],[122.350977,29.955225],[122.401563,29.950244],[122.403906,29.892383]]],[[[119.820898,25.456982],[119.74668,25.410693],[119.700293,25.432715],[119.699414,25.494727],[119.723047,25.550586],[119.695996,25.590869],[119.722559,25.638818],[119.77793,25.653174],[119.797461,25.623242],[119.828711,25.607373],[119.838379,25.591064],[119.838672,25.559668],[119.809082,25.507812],[119.832422,25.47959],[119.820898,25.456982]]],[[[110.385156,21.093164],[110.422363,21.058594],[110.521582,21.083105],[110.539551,21.039014],[110.538867,21.018457],[110.503906,20.967725],[110.421875,21.006885],[110.339941,20.997754],[110.280957,21.001172],[110.264648,21.025195],[110.309863,21.074756],[110.385156,21.093164]]],[[[121.251367,28.086426],[121.164258,28.0625],[121.131543,28.062598],[121.133984,28.135254],[121.205469,28.204395],[121.234375,28.181299],[121.250977,28.145215],[121.251367,28.086426]]],[[[113.555273,22.804199],[113.563672,22.75791],[113.485645,22.82832],[113.463379,22.832373],[113.426074,22.858594],[113.404395,22.902832],[113.464941,22.904541],[113.520508,22.852051],[113.555273,22.804199]]],[[[112.790234,21.601855],[112.771094,21.581836],[112.741992,21.618066],[112.733496,21.669922],[112.712695,21.697949],[112.760547,21.733252],[112.782031,21.772266],[112.839063,21.764502],[112.862598,21.752637],[112.812598,21.712158],[112.800684,21.694873],[112.790234,21.601855]]],[[[112.64375,21.639648],[112.545605,21.618506],[112.525,21.623047],[112.558984,21.674756],[112.647656,21.710254],[112.64375,21.639648]]],[[[107.972656,21.507959],[107.908398,21.5604],[107.802051,21.645166],[107.759277,21.655029],[107.641016,21.613916],[107.471387,21.59834],[107.433496,21.642285],[107.351172,21.608887],[107.27207,21.710645],[107.178516,21.71709],[107.061621,21.794189],[107.019824,21.834863],[107.006445,21.893408],[106.970996,21.923926],[106.925195,21.920117],[106.874512,21.95127],[106.794141,21.981982],[106.729492,22.000342],[106.697656,21.986182],[106.663574,21.978906],[106.657715,22.018213],[106.660059,22.136475],[106.654199,22.241455],[106.636523,22.288623],[106.593164,22.324512],[106.553613,22.341699],[106.536328,22.39541],[106.550391,22.501367],[106.582422,22.573242],[106.633105,22.586035],[106.701563,22.637744],[106.736328,22.710938],[106.780273,22.778906],[106.624023,22.874268],[106.541797,22.90835],[106.450879,22.893896],[106.338086,22.863477],[106.279004,22.857471],[106.249414,22.869434],[106.183984,22.955127],[106.148438,22.970068],[106.068457,22.975537],[106.000977,22.974756],[105.962305,22.937451],[105.902637,22.924951],[105.842969,22.922803],[105.782324,22.969336],[105.691211,23.029932],[105.548145,23.072656],[105.530859,23.121973],[105.494531,23.180859],[105.440137,23.235352],[105.350488,23.307666],[105.275391,23.345215],[105.23877,23.322119],[105.189063,23.281055],[104.995703,23.194336],[104.910156,23.160547],[104.864746,23.136377],[104.826563,23.100195],[104.814746,23.010791],[104.795703,22.911133],[104.740039,22.860498],[104.687305,22.822217],[104.631738,22.818213],[104.577539,22.82002],[104.526855,22.804102],[104.371777,22.704053],[104.29834,22.712012],[104.238281,22.768506],[104.2125,22.809424],[104.143066,22.800146],[104.053906,22.752295],[104.012695,22.666357],[103.99082,22.586133],[103.971387,22.550488],[103.941504,22.540088],[103.915039,22.538232],[103.637305,22.77002],[103.620215,22.782031],[103.570703,22.734424],[103.525391,22.611572],[103.492969,22.587988],[103.470996,22.597412],[103.356055,22.754688],[103.32666,22.769775],[103.300586,22.764404],[103.266309,22.713525],[103.193359,22.638525],[103.137598,22.592969],[103.136328,22.542236],[103.075879,22.49751],[103.005371,22.452979],[102.981934,22.448242],[102.935156,22.466162],[102.874219,22.525391],[102.830078,22.587158],[102.720996,22.648486],[102.598535,22.700391],[102.517188,22.741016],[102.470898,22.750928],[102.42793,22.732812],[102.406445,22.708008],[102.375781,22.646631],[102.302246,22.545996],[102.237012,22.466016],[102.175977,22.414648],[102.127441,22.379199],[102.091504,22.412256],[102.024414,22.439209],[101.94541,22.439404],[101.841797,22.388477],[101.759961,22.490332],[101.73877,22.495264],[101.70752,22.486572],[101.671484,22.462305],[101.646191,22.40542],[101.619922,22.327441],[101.567871,22.276367],[101.524512,22.253662],[101.537305,22.209863],[101.561816,22.162402],[101.560254,22.120898],[101.575781,22.055273],[101.60293,21.989697],[101.699609,21.882471],[101.736523,21.826514],[101.743945,21.777979],[101.747266,21.605762],[101.743457,21.533838],[101.724219,21.39502],[101.722949,21.314941],[101.763086,21.278906],[101.802051,21.235986],[101.800586,21.212598],[101.783496,21.20415],[101.728125,21.156396],[101.704785,21.150146],[101.668555,21.169629],[101.62168,21.184424],[101.583887,21.203564],[101.542383,21.234277],[101.443555,21.230811],[101.281445,21.184131],[101.247852,21.197314],[101.224414,21.22373],[101.211816,21.278223],[101.219922,21.342432],[101.205566,21.383301],[101.175391,21.40752],[101.19668,21.52207],[101.138867,21.56748],[101.147266,21.581641],[101.128125,21.705127],[101.130859,21.735547],[101.120703,21.746094],[101.079785,21.755859],[101.019336,21.736377],[100.835156,21.655176],[100.677148,21.504932],[100.60459,21.471777],[100.531348,21.458105],[100.445703,21.484082],[100.350586,21.501025],[100.214746,21.462988],[100.147656,21.480518],[100.116797,21.511182],[100.089258,21.55791],[100.105762,21.617041],[100.095508,21.660645],[100.041211,21.682764],[99.978223,21.701611],[99.940723,21.75874],[99.925586,21.820801],[99.94043,21.901611],[99.947852,21.98833],[99.917676,22.028027],[99.825391,22.049707],[99.592676,22.08916],[99.388672,22.110791],[99.303125,22.100635],[99.233398,22.110156],[99.192969,22.125977],[99.173438,22.15332],[99.172363,22.19248],[99.205371,22.282568],[99.243066,22.370361],[99.337695,22.498047],[99.343164,22.586523],[99.338281,22.688672],[99.385156,22.825098],[99.466797,22.927295],[99.507129,22.959131],[99.497266,23.00459],[99.464551,23.04624],[99.418066,23.069238],[99.34082,23.095898],[99.220313,23.10332],[99.055078,23.130566],[98.86377,23.19126],[98.885547,23.307471],[98.882617,23.380322],[98.858887,23.440088],[98.819727,23.48252],[98.797852,23.52041],[98.832227,23.624365],[98.787695,23.737842],[98.735059,23.783105],[98.680859,23.841797],[98.676758,23.905078],[98.701563,23.964062],[98.833984,24.090576],[98.835059,24.121191],[98.802344,24.118701],[98.764355,24.116064],[98.583398,24.069824],[98.56416,24.098828],[98.499414,24.115674],[98.367285,24.119043],[98.2125,24.110645],[98.016895,24.06543],[97.837695,23.986279],[97.755664,23.931885],[97.686035,23.898096],[97.629687,23.887158],[97.564551,23.911035],[97.568262,23.988477],[97.690625,24.130811],[97.708203,24.22876],[97.670703,24.312744],[97.666602,24.37998],[97.623633,24.422949],[97.563281,24.443848],[97.531445,24.491699],[97.529395,24.631201],[97.583301,24.774805],[97.670703,24.820117],[97.723828,24.841992],[97.737891,24.869873],[97.710742,24.970361],[97.714941,25.034326],[97.767383,25.158057],[97.819531,25.251855],[97.917969,25.236133],[97.962012,25.259326],[98.010742,25.292529],[98.064063,25.348975],[98.099609,25.415723],[98.142871,25.571094],[98.172559,25.594531],[98.296582,25.568848],[98.333789,25.586768],[98.40166,25.677979],[98.465527,25.788867],[98.558398,25.823242],[98.625391,25.826709],[98.65625,25.863574],[98.654688,25.917773],[98.591016,26.003711],[98.564063,26.072412],[98.571973,26.114062],[98.663184,26.139453],[98.685547,26.189355],[98.671875,26.298535],[98.709473,26.429688],[98.731836,26.583398],[98.739355,26.698145],[98.738477,26.785742],[98.729492,26.877393],[98.716504,27.044922],[98.674805,27.190625],[98.682422,27.245312],[98.676758,27.421924],[98.651172,27.572461],[98.599805,27.598828],[98.504492,27.647656],[98.452539,27.657227],[98.408887,27.639453],[98.392383,27.587061],[98.350488,27.538086],[98.298828,27.550098],[98.274219,27.599072],[98.241016,27.663184],[98.130469,27.967578],[98.118359,28.055225],[98.098926,28.142285],[98.061621,28.185889],[98.022266,28.211523],[97.934082,28.313818],[97.887598,28.356494],[97.864941,28.363574],[97.816504,28.356348],[97.769043,28.356152],[97.730078,28.407129],[97.694629,28.469336],[97.658887,28.5],[97.599219,28.517041],[97.537891,28.510205],[97.502148,28.456348],[97.477734,28.425635],[97.431445,28.353906],[97.356445,28.254492],[97.322461,28.217969],[97.289453,28.236816],[97.145117,28.340332],[97.075391,28.368945],[96.980859,28.337695],[96.833008,28.362402],[96.775781,28.367041],[96.652832,28.449756],[96.602637,28.459912],[96.427734,28.406006],[96.389063,28.36792],[96.366406,28.367285],[96.319824,28.386523],[96.281445,28.412061],[96.278906,28.428174],[96.326172,28.468555],[96.329883,28.496826],[96.327344,28.525391],[96.395605,28.606543],[96.580859,28.763672],[96.55,28.82959],[96.477148,28.959326],[96.46709,29.022266],[96.435742,29.050684],[96.346875,29.027441],[96.162207,28.909717],[96.137109,28.922607],[96.141406,28.963477],[96.122363,29.08208],[96.180859,29.117676],[96.270508,29.16123],[96.339746,29.209814],[96.355859,29.249072],[96.337207,29.260986],[96.234961,29.245801],[96.194727,29.272461],[96.128516,29.381396],[96.07959,29.424121],[96.035352,29.447168],[95.885059,29.390918],[95.710352,29.313818],[95.51582,29.206348],[95.516992,29.151172],[95.49375,29.137012],[95.456543,29.102295],[95.420215,29.054297],[95.389258,29.037402],[95.353125,29.035889],[95.279102,29.049561],[95.144727,29.104053],[94.998828,29.14917],[94.96748,29.144043],[94.769434,29.175879],[94.763086,29.20127],[94.733398,29.251611],[94.677051,29.297021],[94.623047,29.312402],[94.468066,29.216211],[94.293262,29.144629],[94.193457,29.059912],[94.111523,28.975879],[94.017676,28.959521],[94.013281,28.90752],[93.973633,28.860791],[93.902246,28.803223],[93.760742,28.729785],[93.664941,28.690234],[93.360547,28.654053],[93.251953,28.629492],[93.206543,28.59082],[93.157813,28.492725],[93.119238,28.402295],[93.034961,28.327637],[92.881836,28.228125],[92.701855,28.147119],[92.652539,28.093359],[92.643457,28.061523],[92.665625,28.049854],[92.6875,28.025732],[92.687793,27.988965],[92.664355,27.948926],[92.54668,27.879199],[92.480664,27.845947],[92.414844,27.824609],[92.341016,27.820752],[92.270117,27.830225],[92.250488,27.841504],[92.222266,27.826953],[92.157617,27.812256],[92.10127,27.807617],[91.977637,27.730371],[91.909375,27.729687],[91.824707,27.746436],[91.712598,27.759814],[91.631934,27.759961],[91.629395,27.800879],[91.641895,27.923242],[91.605566,27.951709],[91.493359,27.981787],[91.367578,28.021631],[91.306836,28.064014],[91.273047,28.078369],[91.225879,28.07124],[91.149902,28.026758],[91.077734,27.974463],[91.020801,27.970068],[90.9625,27.99458],[90.906641,28.026514],[90.715723,28.071729],[90.630078,28.078564],[90.477344,28.07085],[90.352734,28.080225],[90.333105,28.093994],[90.333789,28.119141],[90.352148,28.168164],[90.362988,28.216504],[90.348242,28.243945],[90.220801,28.277734],[90.104492,28.302051],[89.981055,28.311182],[89.897852,28.294141],[89.816895,28.256299],[89.749805,28.188184],[89.652734,28.158301],[89.536914,28.107422],[89.480664,28.059961],[89.395898,27.958154],[89.272656,27.833154],[89.160449,27.711279],[89.102344,27.592578],[89.025488,27.517871],[88.947559,27.464014],[88.891406,27.316064],[88.83252,27.362842],[88.764844,27.429883],[88.749023,27.521875],[88.829883,27.767383],[88.848828,27.868652],[88.828613,27.907275],[88.803711,28.006934],[88.75625,28.039697],[88.621094,28.091846],[88.57793,28.093359],[88.531641,28.057373],[88.486133,28.034473],[88.425977,28.01167],[88.275195,27.968848],[88.141113,27.948926],[88.108984,27.933008],[88.098926,27.904541],[88.109766,27.870605],[88.02334,27.883398],[87.933398,27.89082],[87.860742,27.886084],[87.682715,27.821387],[87.622559,27.815186],[87.555273,27.821826],[87.46416,27.823828],[87.290723,27.821924],[87.141406,27.83833],[87.020117,27.928662],[86.933789,27.968457],[86.842383,27.99917],[86.750391,28.02207],[86.719629,28.070654],[86.690527,28.094922],[86.614453,28.103027],[86.554492,28.085205],[86.516895,27.963525],[86.484961,27.939551],[86.408691,27.928662],[86.328613,27.959521],[86.217969,28.02207],[86.174219,28.091699],[86.137012,28.114355],[86.078711,28.083594],[86.075488,27.99458],[86.06416,27.934717],[85.994531,27.9104],[85.954102,27.928223],[85.92168,27.989697],[85.840234,28.135352],[85.759473,28.220654],[85.67832,28.277441],[85.410645,28.276025],[85.212109,28.292627],[85.122461,28.315967],[85.088574,28.372266],[85.121484,28.484277],[85.160156,28.571875],[85.159082,28.592236],[85.126367,28.602637],[85.069141,28.609668],[84.855078,28.553613],[84.796875,28.560205],[84.759375,28.579248],[84.714258,28.595557],[84.676758,28.621533],[84.650586,28.65957],[84.46543,28.75293],[84.410742,28.803906],[84.312109,28.868115],[84.228711,28.911768],[84.175586,29.036377],[84.127832,29.156299],[84.101367,29.219971],[84.021973,29.253857],[83.935938,29.279492],[83.79043,29.227441],[83.671094,29.187598],[83.583496,29.183594],[83.456641,29.306348],[83.355176,29.43916],[83.235156,29.55459],[83.155469,29.612646],[83.013965,29.618066],[82.854297,29.683398],[82.64082,29.831201],[82.486523,29.941504],[82.220703,30.063867],[82.158984,30.115186],[82.135352,30.158984],[82.098926,30.245068],[82.043359,30.326758],[81.854883,30.362402],[81.641895,30.3875],[81.417188,30.337598],[81.255078,30.093311],[81.177148,30.039893],[81.110352,30.036816],[81.055566,30.098975],[81.010254,30.164502],[80.985449,30.237109],[80.873535,30.290576],[80.746777,30.3604],[80.682129,30.414844],[80.608887,30.448877],[80.541016,30.463525],[80.40957,30.509473],[80.260938,30.561328],[80.191211,30.568408],[80.18623,30.605322],[80.207129,30.68374],[80.194336,30.759229],[80.149414,30.789844],[80.081445,30.781934],[79.924512,30.88877],[79.918555,30.889893],[79.916602,30.894189],[79.871875,30.924609],[79.794629,30.968262],[79.664258,30.965234],[79.56543,30.949072],[79.493164,30.993701],[79.388477,31.064209],[79.369629,31.079932],[79.33877,31.105713],[79.232617,31.241748],[79.107129,31.402637],[79.04375,31.426221],[79.011133,31.414111],[78.973926,31.328613],[78.945996,31.337207],[78.899512,31.331348],[78.844531,31.301514],[78.791602,31.293652],[78.757812,31.30249],[78.743555,31.323779],[78.758594,31.436572],[78.726758,31.471826],[78.755078,31.550293],[78.80293,31.618066],[78.753906,31.668359],[78.693457,31.740381],[78.687012,31.805518],[78.719727,31.887646],[78.735449,31.957959],[78.725586,31.983789],[78.677734,32.023047],[78.495898,32.215771],[78.486133,32.23623],[78.455273,32.300342],[78.441309,32.397363],[78.41748,32.466699],[78.389648,32.519873],[78.391699,32.544727],[78.4125,32.557715],[78.526367,32.570801],[78.631543,32.578955],[78.700879,32.597021],[78.736719,32.558398],[78.753516,32.499268],[78.771289,32.468066],[78.837891,32.411963],[78.918945,32.358203],[78.997656,32.365137],[79.066992,32.388184],[79.127344,32.475781],[79.169922,32.497217],[79.219336,32.501074],[79.219043,32.507568],[79.216504,32.564014],[79.233887,32.703076],[79.22793,32.758789],[79.205566,32.809033],[79.20957,32.864844],[79.202246,32.946045],[79.145508,33.001465],[79.108594,33.022656],[79.102832,33.052539],[79.12168,33.108105],[79.135156,33.171924],[79.1125,33.22627],[79.066504,33.250391],[79.012598,33.291455],[78.948438,33.346533],[78.916699,33.386768],[78.865039,33.431104],[78.801855,33.499707],[78.789941,33.650342],[78.783789,33.808789],[78.761719,33.887598],[78.72666,34.013379],[78.731738,34.055566],[78.753027,34.087695],[78.931738,34.188965],[78.970605,34.228223],[78.976953,34.258105],[78.970117,34.302637],[78.936426,34.351953],[78.864844,34.390332],[78.763086,34.45293],[78.670801,34.518164],[78.515723,34.557959],[78.326953,34.606396],[78.282031,34.653906],[78.236133,34.769824],[78.158496,34.946484],[78.075781,35.134912],[78.012207,35.251025],[78.00918,35.306934],[78.047461,35.449414],[78.042676,35.479785],[78.009473,35.490234],[77.945898,35.471631],[77.894922,35.449023],[77.851562,35.460791],[77.810938,35.484521],[77.802539,35.492773],[77.799414,35.495898],[77.724023,35.480566],[77.572559,35.471826],[77.52002,35.473437],[77.446484,35.475586],[77.294824,35.508154],[77.090039,35.552051],[76.878906,35.613281],[76.766895,35.661719],[76.727539,35.678662],[76.631836,35.729395],[76.563477,35.772998],[76.55127,35.887061],[76.502051,35.878223],[76.385742,35.837158],[76.25166,35.810937],[76.177832,35.810547],[76.147852,35.829004],[76.10332,35.949219],[76.070898,35.983008],[76.010449,35.996338],[75.945117,36.017578],[75.912305,36.048975],[75.904883,36.088477],[75.934082,36.133936],[75.968652,36.168848],[75.974414,36.382422],[75.951855,36.458105],[75.933008,36.521582],[75.884961,36.600732],[75.840234,36.649707],[75.772168,36.694922],[75.667188,36.741992],[75.57373,36.759326],[75.460254,36.725049],[75.424219,36.738232],[75.376855,36.883691],[75.34668,36.913477],[75.145215,36.973242],[75.053906,36.987158],[74.949121,36.968359],[74.889258,36.952441],[74.841211,36.979102],[74.766016,37.012744],[74.692188,37.035742],[74.600586,37.03667],[74.541406,37.022168],[74.526465,37.030664],[74.497949,37.057227],[74.376172,37.137354],[74.372168,37.157715],[74.558984,37.236621],[74.668945,37.266699],[74.72666,37.290723],[74.738965,37.285645],[74.767383,37.24917],[74.840234,37.225049],[74.891309,37.231641],[74.918164,37.25],[75.008398,37.293555],[75.079004,37.344043],[75.11875,37.385693],[75.097461,37.45127],[74.986426,37.530371],[74.91582,37.572803],[74.894238,37.601416],[74.912305,37.687305],[74.938281,37.77251],[74.921289,37.80498],[74.900293,37.832715],[74.89082,37.925781],[74.84248,38.038086],[74.789648,38.103613],[74.775098,38.191895],[74.77207,38.274756],[74.835938,38.404297],[74.812305,38.460303],[74.74502,38.51001],[74.514063,38.6],[74.277441,38.659766],[74.187305,38.65752],[74.131348,38.661182],[74.065332,38.608496],[74.025586,38.539844],[73.97002,38.533691],[73.869141,38.562891],[73.80166,38.606885],[73.754102,38.698926],[73.716797,38.817236],[73.696094,38.854297],[73.706836,38.88623],[73.72998,38.914697],[73.794531,38.941309],[73.805273,38.968652],[73.795605,39.002148],[73.74375,39.044531],[73.69043,39.104541],[73.607324,39.229199],[73.623145,39.297852],[73.636328,39.39668],[73.631641,39.448877],[73.715723,39.462256],[73.822949,39.488965],[73.872754,39.533301],[73.907129,39.578516],[73.914648,39.606494],[73.88252,39.714551],[73.839746,39.762842],[73.835352,39.800146],[73.85625,39.828662],[73.88457,39.87793],[73.93877,39.978809],[73.991602,40.043115],[74.020508,40.059375],[74.085156,40.074316],[74.242676,40.092041],[74.411914,40.137207],[74.613086,40.272168],[74.679883,40.310596],[74.767773,40.329883],[74.830469,40.328516],[74.841797,40.344971],[74.80127,40.428516],[74.811133,40.458789],[74.835156,40.482617],[74.865625,40.493506],[75.004492,40.449512],[75.111328,40.454102],[75.241016,40.480273],[75.520801,40.627539],[75.555566,40.625195],[75.583496,40.605322],[75.617383,40.516602],[75.655957,40.329248],[75.677148,40.305811],[75.871973,40.303223],[76.004297,40.371436],[76.062305,40.387549],[76.156641,40.376465],[76.206055,40.408398],[76.258301,40.430762],[76.318555,40.352246],[76.396387,40.389795],[76.480176,40.449512],[76.520898,40.51123],[76.57793,40.577881],[76.622168,40.662354],[76.639844,40.742236],[76.661133,40.779639],[76.708398,40.818115],[76.824023,40.982324],[76.907715,41.02417],[76.986621,41.03916],[77.182031,41.010742],[77.283984,41.014355],[77.581738,40.992773],[77.719336,41.024316],[77.815234,41.055615],[77.956445,41.050684],[78.123438,41.075635],[78.346289,41.281445],[78.348828,41.325195],[78.362402,41.371631],[78.442871,41.417529],[78.543164,41.45957],[78.742578,41.560059],[79.148438,41.719141],[79.293555,41.782812],[79.354395,41.781055],[79.503906,41.820996],[79.766113,41.898877],[79.84043,41.995752],[79.909668,42.01499],[80.216211,42.032422],[80.235156,42.043457],[80.246191,42.059814],[80.229199,42.129834],[80.209375,42.190039],[80.233008,42.207812],[80.259082,42.2354],[80.255078,42.27417],[80.205762,42.399414],[80.179297,42.518359],[80.161914,42.625537],[80.165039,42.665527],[80.202246,42.734473],[80.250293,42.797266],[80.424023,42.855762],[80.538965,42.873486],[80.54375,42.911719],[80.450684,42.935547],[80.383398,42.973779],[80.371289,42.995605],[80.374512,43.02041],[80.390234,43.043115],[80.507031,43.085791],[80.616992,43.128271],[80.751172,43.10249],[80.777734,43.118945],[80.785742,43.161572],[80.757031,43.204346],[80.729785,43.274268],[80.667773,43.310059],[80.66543,43.352979],[80.703809,43.427051],[80.650781,43.56416],[80.593457,43.685107],[80.495996,43.89209],[80.431543,43.951758],[80.395801,44.047168],[80.355273,44.097266],[80.358984,44.171289],[80.365332,44.223291],[80.354883,44.326514],[80.336328,44.438379],[80.355078,44.552002],[80.391016,44.626807],[80.381445,44.65542],[80.400586,44.676904],[80.455469,44.684082],[80.481543,44.714648],[80.455469,44.746094],[80.36084,44.770312],[80.255078,44.808105],[80.127832,44.80376],[79.997168,44.797217],[79.932129,44.825195],[79.875293,44.86084],[79.871875,44.883789],[79.950195,44.944092],[80.05918,45.006445],[80.228223,45.033984],[80.414941,45.075098],[80.50918,45.10498],[80.634766,45.126514],[80.780078,45.135547],[80.85332,45.129297],[81.040332,45.169141],[81.334766,45.246191],[81.602051,45.31084],[81.691992,45.349365],[81.758887,45.31084],[81.789648,45.226025],[81.86748,45.18208],[81.944922,45.16084],[81.989258,45.161865],[82.122754,45.194873],[82.266602,45.219092],[82.323438,45.205859],[82.39668,45.162451],[82.478711,45.123584],[82.521484,45.125488],[82.558984,45.15542],[82.596973,45.215967],[82.621094,45.293115],[82.625781,45.374414],[82.611621,45.424268],[82.58252,45.442578],[82.45166,45.471973],[82.32666,45.519922],[82.312207,45.563721],[82.315234,45.594922],[82.348145,45.671533],[82.429688,45.811914],[82.511719,46.005811],[82.555078,46.158691],[82.692187,46.38667],[82.8,46.624463],[82.974902,46.966016],[83.004102,47.033496],[83.020117,47.141455],[83.029492,47.185937],[83.090332,47.209375],[83.193066,47.186572],[83.443555,47.108643],[83.634082,47.043213],[83.713965,47.021045],[83.832617,46.997852],[84.016016,46.970508],[84.12207,46.978613],[84.215137,46.994727],[84.338867,46.996143],[84.532422,46.975781],[84.592285,46.974951],[84.666602,46.972363],[84.719531,46.939355],[84.745996,46.864355],[84.786133,46.830713],[84.858203,46.843164],[85.012207,46.909229],[85.110547,46.96123],[85.233496,47.036377],[85.355371,47.046729],[85.484766,47.063525],[85.529688,47.100781],[85.577246,47.188477],[85.656641,47.254639],[85.669824,47.338379],[85.641797,47.397412],[85.586621,47.493652],[85.588281,47.558496],[85.561621,47.746484],[85.525977,47.915625],[85.562305,48.051855],[85.626367,48.204004],[85.651563,48.250537],[85.692187,48.311816],[85.749414,48.385059],[85.829883,48.408057],[86.056152,48.42373],[86.265625,48.454541],[86.372559,48.48623],[86.483301,48.505371],[86.549414,48.528613],[86.66377,48.635547],[86.717969,48.697168],[86.757812,48.860742],[86.728613,48.939355],[86.753125,49.008838],[86.808301,49.049707],[86.885938,49.090576],[86.937988,49.097559],[87.048535,49.109912],[87.22998,49.105859],[87.322852,49.085791],[87.416699,49.076611],[87.476172,49.091455],[87.51582,49.122412],[87.576563,49.132373],[87.668359,49.147217],[87.7625,49.16582],[87.814258,49.162305],[87.825195,49.116309],[87.816309,49.080273],[87.834668,49.031934],[87.872168,49.000146],[87.859863,48.965527],[87.806836,48.945508],[87.754687,48.918555],[87.743164,48.881641],[87.80918,48.835742],[87.831836,48.79165],[87.942187,48.765283],[88.02793,48.735596],[88.060059,48.707178],[88.050195,48.675049],[88.010645,48.64043],[87.972266,48.60332],[87.967383,48.581055],[87.979688,48.555127],[88.062598,48.537842],[88.158203,48.509082],[88.309961,48.47207],[88.413965,48.403418],[88.51709,48.384473],[88.566797,48.317432],[88.575977,48.220166],[88.681836,48.170557],[88.838281,48.101709],[88.917773,48.089014],[88.971094,48.049951],[89.047656,48.002539],[89.115625,47.987695],[89.196289,47.980908],[89.329883,48.024854],[89.479199,48.029053],[89.560938,48.003955],[89.638477,47.909082],[89.693164,47.87915],[89.725586,47.85249],[89.778125,47.827002],[89.831348,47.823291],[89.910449,47.844336],[89.958691,47.886328],[90.02793,47.877686],[90.053906,47.850488],[90.066602,47.803564],[90.103223,47.74541],[90.191016,47.7021],[90.313281,47.676172],[90.330664,47.655176],[90.347461,47.596973],[90.380664,47.556641],[90.425195,47.504102],[90.46748,47.408154],[90.476465,47.328809],[90.496191,47.285156],[90.55293,47.214014],[90.643359,47.100293],[90.715527,47.003857],[90.799023,46.985156],[90.869922,46.954492],[90.910547,46.883252],[90.985742,46.749023],[90.997852,46.661084],[91.004297,46.595752],[91.028906,46.566064],[91.033887,46.529004],[90.971484,46.387988],[90.918262,46.324268],[90.911523,46.270654],[90.947559,46.177295],[90.996777,46.10498],[91.001758,46.035791],[90.959766,45.985059],[90.887109,45.921631],[90.852441,45.8854],[90.795898,45.853516],[90.709668,45.730811],[90.670703,45.595166],[90.661816,45.525244],[90.694434,45.474658],[90.749609,45.418945],[90.763184,45.370654],[90.853223,45.262891],[90.877246,45.196094],[90.913965,45.193945],[90.953613,45.215918],[91.05,45.217432],[91.137695,45.193945],[91.221777,45.144531],[91.312109,45.118115],[91.441016,45.124756],[91.510059,45.098242],[91.584375,45.076514],[91.737793,45.068945],[91.852832,45.069336],[92.029785,45.068506],[92.172656,45.035254],[92.423828,45.008936],[92.578906,45.010986],[92.787891,45.035742],[92.916016,45.020166],[93.294336,44.983154],[93.516211,44.944482],[93.656445,44.900977],[93.755273,44.831934],[93.868164,44.724219],[93.95791,44.674951],[94.199316,44.645166],[94.364746,44.519482],[94.494336,44.47251],[94.712012,44.35083],[94.866016,44.30332],[95.049805,44.259424],[95.350293,44.278076],[95.366797,44.261523],[95.343652,44.19541],[95.325586,44.104883],[95.325586,44.039355],[95.356445,44.005957],[95.471289,43.986182],[95.525586,43.953955],[95.567187,43.892236],[95.591211,43.853613],[95.687305,43.664062],[95.841992,43.383691],[95.85957,43.275977],[95.9125,43.206494],[96.080273,43.096143],[96.168457,43.014502],[96.299512,42.928711],[96.34248,42.849316],[96.352344,42.746777],[96.385449,42.720361],[96.625293,42.743848],[96.833008,42.760254],[97.205664,42.789795],[97.718945,42.736279],[98.248242,42.684521],[98.716309,42.638721],[98.946875,42.616211],[99.467871,42.568213],[99.757422,42.629443],[99.983789,42.677344],[100.086328,42.670752],[100.519043,42.616797],[100.772559,42.587793],[101.091992,42.551318],[101.31377,42.537891],[101.495313,42.53877],[101.579102,42.523535],[101.659961,42.500049],[101.713867,42.46582],[101.879883,42.292334],[101.972949,42.215869],[102.156641,42.158105],[102.575195,42.09209],[102.806836,42.052002],[103.072852,42.005957],[103.247852,41.936572],[103.449707,41.855859],[103.711133,41.751318],[103.997266,41.796973],[104.305176,41.846143],[104.498242,41.877002],[104.498242,41.658691],[104.773633,41.641162],[104.860352,41.64375],[104.982031,41.595508],[105.050586,41.615918],[105.11543,41.663281],[105.19707,41.738037],[105.314355,41.770898],[105.51709,41.854736],[105.566406,41.875098],[105.867578,41.993994],[106.317187,42.140576],[106.51875,42.211572],[106.579102,42.227344],[106.693164,42.263574],[106.77002,42.288721],[106.906055,42.308887],[107.090723,42.321533],[107.292383,42.349268],[107.74873,42.400977],[107.805957,42.405859],[108.062305,42.427197],[108.171191,42.447314],[108.333984,42.436768],[108.546484,42.429297],[108.687305,42.416113],[108.874512,42.426465],[109.131641,42.440576],[109.339844,42.438379],[109.443164,42.455957],[109.595508,42.510547],[109.698047,42.553809],[109.858789,42.60625],[110.058008,42.660596],[110.196875,42.71001],[110.288867,42.742725],[110.400391,42.773682],[110.42959,42.813574],[110.461719,42.844141],[110.520898,42.895264],[110.627539,42.990527],[110.708594,43.073877],[110.748535,43.110791],[110.839551,43.194092],[110.913281,43.256885],[111.007227,43.341406],[111.086523,43.36875],[111.186816,43.391992],[111.451074,43.474902],[111.503516,43.492773],[111.547363,43.496289],[111.64082,43.563184],[111.719727,43.621143],[111.771094,43.6646],[111.878125,43.680176],[111.933203,43.711426],[111.942871,43.752441],[111.931738,43.814941],[111.880273,43.878906],[111.836914,43.934668],[111.683789,44.041113],[111.602637,44.107129],[111.519727,44.191895],[111.48623,44.271631],[111.42959,44.322363],[111.402246,44.367285],[111.410937,44.419189],[111.489453,44.511572],[111.514746,44.569824],[111.547461,44.6729],[111.621289,44.827148],[111.681445,44.89917],[111.751074,44.969531],[111.898047,45.064062],[112.032617,45.081641],[112.112891,45.062939],[112.29209,45.063037],[112.411328,45.058203],[112.499316,45.010937],[112.596777,44.917676],[112.706738,44.883447],[113.049414,44.810352],[113.196094,44.794824],[113.300977,44.79165],[113.455664,44.767432],[113.50791,44.762354],[113.587012,44.745703],[113.652637,44.763477],[113.752148,44.825928],[113.877051,44.896191],[113.930859,44.912305],[114.030273,44.942578],[114.080273,44.971143],[114.167383,45.049854],[114.281055,45.110889],[114.419141,45.202588],[114.487305,45.271729],[114.502246,45.316309],[114.517188,45.3646],[114.560156,45.38999],[114.644336,45.413281],[114.73877,45.419629],[114.919238,45.378271],[115.162598,45.390234],[115.21748,45.396191],[115.439453,45.419971],[115.539453,45.439502],[115.681055,45.458252],[115.78916,45.534814],[115.93418,45.626172],[116.039551,45.676953],[116.109863,45.686719],[116.197656,45.739355],[116.240625,45.795996],[116.229102,45.845752],[116.212988,45.886914],[116.264551,45.963037],[116.357617,46.096582],[116.444824,46.158789],[116.516699,46.209082],[116.562598,46.289795],[116.619336,46.313086],[116.688867,46.321973],[116.787012,46.37666],[116.859082,46.387939],[116.978809,46.361768],[117.155957,46.355078],[117.269043,46.352246],[117.333398,46.362012],[117.356934,46.391309],[117.356348,46.43667],[117.392188,46.537598],[117.405566,46.570898],[117.438086,46.58623],[117.546875,46.588281],[117.620508,46.552002],[117.671094,46.52207],[117.741211,46.518164],[117.813477,46.537695],[117.910449,46.619336],[118.071289,46.666602],[118.156836,46.678564],[118.308691,46.717041],[118.404395,46.703174],[118.580469,46.691895],[118.64873,46.70166],[118.722949,46.691895],[118.790332,46.74707],[118.843945,46.760205],[118.957129,46.734863],[119.028516,46.692187],[119.162109,46.638672],[119.331836,46.613818],[119.474023,46.62666],[119.620215,46.603955],[119.706641,46.606006],[119.747461,46.627197],[119.867188,46.672168],[119.895898,46.732861],[119.88418,46.791455],[119.897852,46.857812],[119.862695,46.906592],[119.788477,46.978809],[119.759863,47.027002],[119.757227,47.090039],[119.711133,47.15],[119.600195,47.222461],[119.526953,47.255908],[119.37666,47.380859],[119.325977,47.410156],[119.308594,47.430713],[119.29082,47.472656],[119.235254,47.492578],[119.162402,47.525195],[119.122949,47.558496],[119.097266,47.61626],[119.081934,47.65415],[119.017578,47.685352],[118.953125,47.70293],[118.880273,47.725098],[118.759961,47.757617],[118.690527,47.822266],[118.567773,47.943262],[118.498438,47.983984],[118.239648,47.999512],[118.14707,48.028906],[118.041895,48.018945],[117.979199,47.999609],[117.84043,47.999854],[117.768359,47.987891],[117.67666,47.908301],[117.555371,47.804688],[117.455078,47.741357],[117.383984,47.675732],[117.350781,47.652197],[117.285937,47.666357],[117.19707,47.740283],[117.069727,47.806396],[116.95166,47.836572],[116.901172,47.853076],[116.760547,47.869775],[116.651953,47.864502],[116.513477,47.839551],[116.378223,47.844043],[116.317187,47.859863],[116.231152,47.858203],[116.074805,47.789551],[115.993848,47.711328],[115.898242,47.686914],[115.811719,47.738232],[115.711719,47.798926],[115.616406,47.874805],[115.557617,47.94502],[115.525098,48.130859],[115.639453,48.18623],[115.785547,48.248242],[115.796582,48.346338],[115.791699,48.455713],[115.820508,48.577246],[115.953809,48.689355],[116.025488,48.782275],[116.034375,48.840039],[116.098242,48.936133],[116.159668,49.037451],[116.243359,49.170361],[116.402148,49.406201],[116.589746,49.684814],[116.683301,49.823779],[116.888965,49.737793],[117.02168,49.692969],[117.245605,49.624854],[117.477148,49.609424],[117.698438,49.53584],[117.812598,49.513525],[117.873438,49.513477],[118.186621,49.692773],[118.451563,49.844482],[118.755957,49.962842],[118.979492,49.978857],[119.147461,50.013379],[119.259863,50.066406],[119.326074,50.154932],[119.346289,50.278955],[119.301562,50.353906],[119.191895,50.379834],[119.163672,50.406006],[119.216699,50.43252],[119.255859,50.48418],[119.280664,50.560986],[119.344043,50.633887],[119.445703,50.702832],[119.501758,50.779248],[119.512305,50.863135],[119.573438,50.946777],[119.684961,51.030127],[119.745996,51.107715],[119.756641,51.179492],[119.813184,51.267041],[119.966992,51.422119],[120.066895,51.600684],[120.237012,51.722998],[120.510547,51.848535],[120.681445,51.973047],[120.749805,52.096533],[120.744531,52.205469],[120.66543,52.299902],[120.650391,52.395898],[120.699219,52.493604],[120.656152,52.56665],[120.521094,52.615039],[120.360059,52.627002],[120.172754,52.60249],[120.067578,52.63291],[120.044336,52.718213],[120.094531,52.787207],[120.218164,52.839893],[120.421289,52.968066],[120.704102,53.171826],[120.985449,53.28457],[121.405469,53.317041],[121.743945,53.383594],[122.088867,53.451465],[122.337793,53.48501],[122.380176,53.4625],[122.51582,53.456982],[122.744727,53.468506],[122.957617,53.497705],[123.154102,53.54458],[123.30957,53.555615],[123.424023,53.530762],[123.489453,53.529443],[123.534766,53.526465],[123.559766,53.52666],[123.607813,53.546533],[123.740918,53.510986],[123.994727,53.405615],[124.154297,53.358691],[124.219922,53.370117],[124.291406,53.340869],[124.369141,53.270947],[124.465918,53.229639],[124.639844,53.210645],[124.812305,53.133838],[124.882129,53.129736],[124.906641,53.172656],[124.970898,53.197314],[125.075,53.203662],[125.225586,53.16582],[125.422461,53.08374],[125.545996,53.047607],[125.595996,53.057471],[125.649023,53.042285],[125.691699,53.003711],[125.695312,52.956299],[125.680762,52.930811],[125.728125,52.890723],[125.782813,52.890723],[125.871875,52.871533],[125.941602,52.800684],[126.004297,52.767871],[126.048145,52.739453],[126.056055,52.715869],[126.060156,52.691992],[126.04707,52.673486],[126.023242,52.643018],[126.016016,52.610205],[126.045898,52.57334],[126.156641,52.546631],[126.194434,52.519141],[126.20293,52.483838],[126.237598,52.444824],[126.312891,52.399756],[126.341699,52.362012],[126.324219,52.331641],[126.346289,52.30625],[126.383496,52.286523],[126.391504,52.214502],[126.394824,52.172998],[126.455566,52.126465],[126.468066,52.031299],[126.510547,51.92583],[126.653711,51.781299],[126.700781,51.703027],[126.688672,51.609912],[126.70918,51.566309],[126.774512,51.545068],[126.805469,51.505664],[126.801758,51.448047],[126.827344,51.412256],[126.847754,51.37417],[126.833789,51.314893],[126.854395,51.261377],[126.887695,51.230127],[126.911523,51.172314],[126.924805,51.100146],[127.02041,50.985889],[127.198242,50.829443],[127.307031,50.707959],[127.346875,50.621338],[127.347168,50.550098],[127.308203,50.494189],[127.306055,50.453516],[127.34082,50.428076],[127.351172,50.393604],[127.337207,50.350146],[127.395313,50.298584],[127.590234,50.208984],[127.512305,50.07168],[127.491797,49.975049],[127.502441,49.873437],[127.550781,49.801807],[127.636719,49.760205],[127.690137,49.716748],[127.711133,49.671533],[127.814258,49.622119],[127.999609,49.568604],[128.237109,49.559277],[128.526758,49.594238],[128.704004,49.600146],[128.769043,49.576953],[128.791016,49.541846],[128.770313,49.494727],[128.819336,49.46377],[128.938281,49.448926],[129.020313,49.419238],[129.065137,49.374658],[129.120117,49.362061],[129.185156,49.381396],[129.248438,49.378662],[129.309863,49.353857],[129.350098,49.362354],[129.384668,49.389453],[129.440723,49.389453],[129.498145,49.388818],[129.533691,49.323437],[129.591406,49.28667],[129.671094,49.278516],[129.792578,49.198877],[130.037109,48.972266],[130.195996,48.89165],[130.355273,48.866357],[130.553125,48.861182],[130.617188,48.773193],[130.565625,48.680127],[130.552148,48.60249],[130.597266,48.574658],[130.65918,48.483398],[130.746875,48.430371],[130.763477,48.388428],[130.804297,48.341504],[130.787207,48.25459],[130.712109,48.127637],[130.732617,48.019238],[130.848633,47.929443],[130.91543,47.84292],[130.932813,47.759814],[130.961914,47.709326],[131.002734,47.691455],[131.121875,47.697656],[131.319336,47.727832],[131.464258,47.722607],[131.556738,47.682031],[131.785254,47.680518],[132.149805,47.717969],[132.380176,47.729492],[132.47627,47.71499],[132.561914,47.768506],[132.636914,47.890088],[132.707227,47.947266],[132.772852,47.940088],[132.877148,47.979102],[133.020117,48.064404],[133.144043,48.105664],[133.301172,48.101514],[133.468359,48.097168],[133.573242,48.133008],[133.671777,48.207715],[133.842188,48.27373],[134.205859,48.359912],[134.293359,48.373437],[134.334961,48.368848],[134.456152,48.355322],[134.563574,48.321729],[134.665234,48.253906],[134.680859,48.210449],[134.669336,48.15332],[134.647266,48.120166],[134.605371,48.08291],[134.566016,48.02251],[134.591309,47.975195],[134.650293,47.874268],[134.698633,47.801416],[134.752344,47.71543],[134.728125,47.684473],[134.695801,47.624854],[134.596191,47.523877],[134.541895,47.485156],[134.483496,47.447363],[134.38252,47.438232],[134.339453,47.429492],[134.29082,47.413574],[134.260059,47.377734],[134.225195,47.352637],[134.167676,47.302197],[134.162988,47.25874],[134.189258,47.194238],[134.202148,47.128076],[134.136914,47.068994],[134.086426,46.978125],[134.071387,46.950781],[134.045996,46.881982],[134.038574,46.858154],[134.022656,46.713184],[133.95752,46.614258],[133.866602,46.499121],[133.886719,46.430566],[133.902734,46.366943],[133.880273,46.336035],[133.874805,46.309082],[133.861328,46.247754],[133.832813,46.224268],[133.750195,46.185937],[133.700684,46.139746],[133.711133,46.069629],[133.685742,46.008936],[133.647852,45.955225],[133.608008,45.920312],[133.551172,45.897803],[133.513086,45.878809],[133.484668,45.810449],[133.475781,45.757666],[133.449121,45.705078],[133.465625,45.651221],[133.436426,45.604687],[133.355469,45.572217],[133.30957,45.553076],[133.266992,45.545264],[133.186035,45.494824],[133.113379,45.321436],[133.096875,45.220459],[133.113477,45.130713],[133.011719,45.074561],[132.936035,45.029932],[132.88877,45.046045],[132.838672,45.061133],[132.723145,45.080566],[132.665625,45.093701],[132.549023,45.122803],[132.362988,45.159961],[132.181348,45.203271],[132.067383,45.225977],[131.977539,45.243994],[131.909277,45.27373],[131.851855,45.326855],[131.794922,45.305273],[131.74209,45.242627],[131.654004,45.205371],[131.613965,45.136572],[131.578711,45.083643],[131.4875,45.013135],[131.446875,44.984033],[131.268262,44.936133],[131.22793,44.920166],[131.082324,44.91001],[131.033008,44.888867],[130.981641,44.844336],[130.967773,44.799951],[131.003906,44.753223],[131.060645,44.659668],[131.086914,44.595654],[131.125781,44.469189],[131.255273,44.071582],[131.213281,44.00293],[131.174219,43.704736],[131.183594,43.650879],[131.180078,43.56709],[131.182422,43.505566],[131.20918,43.49043],[131.243945,43.469043],[131.261816,43.433057],[131.257324,43.378076],[131.239355,43.337646],[131.211914,43.257764],[131.175586,43.142187],[131.135547,43.097607],[131.108984,43.062451],[131.086133,43.038086],[131.083496,42.956299],[131.068555,42.902246],[131.005566,42.883105],[130.942871,42.851758],[130.868555,42.86333],[130.80332,42.856836],[130.722461,42.83584],[130.577246,42.811621],[130.492969,42.779102],[130.452734,42.75542],[130.424805,42.727051],[130.419922,42.699854],[130.439258,42.685547],[130.520605,42.674316],[130.576563,42.623242],[130.584473,42.567334],[130.526953,42.5354],[130.498242,42.570508],[130.450293,42.581689],[130.360742,42.630859],[130.295605,42.684961],[130.24668,42.744824],[130.248828,42.872607],[130.240332,42.891797],[130.15127,42.917969],[130.124805,42.956006],[130.082617,42.97417],[130.022266,42.962598],[129.976953,42.974854],[129.941211,42.995654],[129.898242,42.998145],[129.861035,42.965088],[129.841504,42.894238],[129.779199,42.776562],[129.773438,42.705469],[129.746484,42.603809],[129.719727,42.475],[129.697852,42.448145],[129.62793,42.444287],[129.603906,42.435889],[129.567578,42.39209],[129.52373,42.384668],[129.484863,42.410303],[129.423633,42.435889],[129.36582,42.439209],[129.313672,42.413574],[129.252539,42.357861],[129.217773,42.312695],[129.205371,42.270557],[129.195508,42.218457],[129.133691,42.168506],[129.077246,42.142383],[128.960645,42.068799],[128.923438,42.038232],[128.839844,42.037842],[128.749023,42.040674],[128.626758,42.02085],[128.427246,42.010742],[128.307813,42.025635],[128.160156,42.011621],[128.045215,41.9875],[128.028711,41.951611],[128.03291,41.898486],[128.056055,41.86377],[128.08418,41.840576],[128.131934,41.769141],[128.181738,41.700049],[128.257812,41.655371],[128.289258,41.607422],[128.290918,41.562793],[128.254883,41.506543],[128.200293,41.433008],[128.149414,41.387744],[128.11123,41.389258],[128.052734,41.415625],[128.013086,41.448682],[127.918652,41.461133],[127.687695,41.43999],[127.572168,41.454736],[127.516992,41.481738],[127.420313,41.483789],[127.270801,41.519824],[127.179688,41.531348],[127.136719,41.554541],[127.128418,41.607422],[127.085352,41.643799],[127.061328,41.687354],[127.006934,41.742041],[126.954785,41.769482],[126.903516,41.781055],[126.847266,41.747998],[126.787695,41.718213],[126.743066,41.724854],[126.721582,41.716553],[126.696973,41.691895],[126.60127,41.640967],[126.57832,41.594336],[126.540137,41.495557],[126.513574,41.393994],[126.49043,41.358057],[126.451465,41.351855],[126.411816,41.321338],[126.328711,41.225684],[126.253613,41.137793],[126.144531,41.078271],[126.093164,41.023682],[126.066797,40.974072],[125.989062,40.904639],[125.874902,40.892236],[125.783984,40.872021],[125.72832,40.866699],[125.688281,40.838672],[125.65918,40.795898],[125.645117,40.778955],[125.593848,40.778955],[125.542578,40.742578],[125.416895,40.659912],[125.314453,40.644629],[125.185938,40.589404],[125.072949,40.547461],[125.025977,40.523877],[125.013379,40.497852],[124.996875,40.464746],[124.942285,40.458154],[124.889355,40.459814],[124.771973,40.38374],[124.712402,40.319238],[124.481055,40.181641],[124.386621,40.104248],[124.362109,40.004053],[124.35,40.011572],[124.26748,39.92417],[124.105762,39.841016],[123.760156,39.822412],[123.650879,39.881592],[123.61123,39.84082],[123.580664,39.786133],[123.490039,39.767871],[123.348145,39.762939],[123.268945,39.726904],[123.226562,39.686621],[123.032227,39.673535],[122.960938,39.619922],[122.840039,39.60083],[122.334863,39.366113],[122.225,39.267334],[122.120898,39.151904],[122.047656,39.093799],[121.982324,39.053174],[121.922656,39.036523],[121.864355,38.996484],[121.805176,38.991406],[121.744824,39.009668],[121.677246,39.003418],[121.632812,38.954834],[121.67041,38.891797],[121.649902,38.865088],[121.517188,38.830762],[121.320117,38.808203],[121.236328,38.766943],[121.207422,38.743506],[121.163574,38.731641],[121.12168,38.813281],[121.106738,38.920801],[121.188281,38.94668],[121.263281,38.960254],[121.679883,39.108691],[121.627637,39.220166],[121.664551,39.26875],[121.757812,39.347559],[121.818457,39.386523],[121.785449,39.40083],[121.5125,39.374854],[121.355664,39.376807],[121.275488,39.384766],[121.299805,39.452197],[121.286328,39.519434],[121.26748,39.544678],[121.406445,39.62124],[121.469531,39.640137],[121.517578,39.638965],[121.514258,39.685254],[121.474219,39.754883],[121.517383,39.844824],[121.800977,39.950537],[121.868945,40.046387],[121.982813,40.13584],[122.190918,40.358252],[122.20332,40.396045],[122.263867,40.500195],[122.275,40.541846],[122.178711,40.602734],[122.14043,40.688184],[121.858789,40.84209],[121.834863,40.974268],[121.808594,40.968506],[121.765625,40.875879],[121.729297,40.846143],[121.598926,40.843408],[121.537109,40.878418],[121.174512,40.90127],[121.085938,40.841602],[121.00293,40.749121],[120.922266,40.683105],[120.841309,40.649219],[120.770703,40.589062],[120.479102,40.230957],[120.368945,40.203857],[119.850391,39.987451],[119.591113,39.902637],[119.391113,39.75249],[119.322363,39.661621],[119.261328,39.560889],[119.224609,39.408057],[119.040137,39.222363],[118.976953,39.182568],[118.912305,39.166406],[118.826465,39.172119],[118.752441,39.160498],[118.626367,39.176855],[118.471973,39.118018],[118.297852,39.06709],[118.147852,39.195068],[118.040918,39.226758],[117.865723,39.19126],[117.784668,39.134473],[117.616699,38.852881],[117.553809,38.691455],[117.557813,38.625146],[117.656055,38.424219],[117.766699,38.31167],[118.014941,38.183398],[118.543262,38.094922],[118.66709,38.126367],[118.8,38.12666],[118.940039,38.042773],[119.027539,37.904004],[119.035645,37.80918],[119.038477,37.776514],[119.070312,37.748584],[119.08916,37.700732],[119.033496,37.661035],[118.99082,37.641357],[118.954883,37.494092],[118.952637,37.331152],[118.998145,37.2771],[119.111816,37.201172],[119.287402,37.138281],[119.449902,37.124756],[119.760547,37.155078],[119.8875,37.253369],[119.87998,37.295801],[119.88291,37.35083],[120.155859,37.49502],[120.311523,37.622705],[120.287109,37.656494],[120.257227,37.679004],[120.284668,37.69209],[120.370117,37.701025],[120.75,37.833936],[121.049023,37.725195],[121.219531,37.600146],[121.388086,37.578955],[121.505273,37.515039],[121.640234,37.460352],[121.816406,37.456641],[121.964844,37.445312],[122.010156,37.495752],[122.056641,37.528906],[122.10957,37.522314],[122.169141,37.456152],[122.337695,37.405273],[122.493262,37.407959],[122.602344,37.426416],[122.666992,37.402832],[122.57334,37.31792],[122.587305,37.181104],[122.515527,37.137842],[122.44668,37.068115],[122.487402,37.022266],[122.523438,37.002637],[122.519727,36.946826],[122.457031,36.915137],[122.340918,36.832227],[122.274219,36.833838],[122.242285,36.849854],[122.219727,36.879541],[122.203223,36.927197],[122.162402,36.958643],[122.049512,36.970752],[121.932715,36.959473],[121.669629,36.836377],[121.413086,36.738379],[121.144043,36.660449],[121.053809,36.611377],[120.989941,36.597949],[120.878516,36.635156],[120.81084,36.632812],[120.79668,36.607227],[120.882617,36.538916],[120.90498,36.485303],[120.895801,36.444141],[120.84707,36.426074],[120.776172,36.456299],[120.711523,36.413281],[120.682227,36.340723],[120.680957,36.168359],[120.637891,36.129932],[120.519336,36.108691],[120.393066,36.053857],[120.348242,36.079199],[120.330273,36.110107],[120.343457,36.189453],[120.327734,36.228174],[120.270117,36.226172],[120.183301,36.202441],[120.116992,36.150293],[120.094141,36.118896],[120.181445,36.01748],[120.264746,36.007227],[120.284766,35.984424],[120.219043,35.934912],[120.054688,35.861133],[120.027441,35.799365],[119.978711,35.740234],[119.911719,35.693213],[119.866211,35.643652],[119.810547,35.617725],[119.719727,35.588721],[119.608398,35.469873],[119.526465,35.358594],[119.429688,35.301416],[119.352832,35.113818],[119.21582,35.011768],[119.165332,34.848828],[119.200977,34.748437],[119.351367,34.749414],[119.426758,34.71416],[119.58291,34.582227],[119.769727,34.496191],[119.963672,34.447803],[120.201465,34.325684],[120.266699,34.274023],[120.322656,34.168994],[120.425684,33.866309],[120.499805,33.716455],[120.504785,33.638184],[120.615625,33.490527],[120.734473,33.236621],[120.871094,33.016504],[120.897363,32.843213],[120.853027,32.764111],[120.853223,32.661377],[120.989941,32.567041],[121.293359,32.457324],[121.341699,32.425049],[121.400977,32.371924],[121.403906,32.20625],[121.450781,32.15332],[121.490527,32.121094],[121.674219,32.051025],[121.751074,31.992871],[121.832422,31.899756],[121.856348,31.816455],[121.866309,31.703564],[121.763574,31.699512],[121.680859,31.712158],[121.351953,31.858789],[121.266406,31.862695],[121.145801,31.842334],[120.973535,31.869385],[120.791699,32.031738],[120.660547,32.081055],[120.520117,32.105859],[120.184082,31.966162],[120.09873,31.975977],[120.073926,31.960254],[120.035937,31.936279],[120.191602,31.906348],[120.347461,31.9521],[120.497168,32.019824],[120.715527,31.98374],[120.752246,31.922852],[120.787793,31.819775],[120.9375,31.750195],[121.055371,31.719434],[121.204883,31.628076],[121.350977,31.485352],[121.660645,31.319727],[121.785937,31.162891],[121.834473,31.061621],[121.87793,30.916992],[121.769434,30.870361],[121.675195,30.86377],[121.527539,30.840967],[121.418945,30.789795],[121.309961,30.699707],[120.997656,30.558252],[120.938281,30.469727],[120.897461,30.392627],[120.821484,30.354639],[120.62998,30.390869],[120.449805,30.387842],[120.245508,30.283545],[120.194629,30.241309],[120.228516,30.249561],[120.260547,30.263037],[120.352539,30.247412],[120.494531,30.303076],[120.633398,30.133154],[120.904492,30.160645],[121.159375,30.301758],[121.258008,30.304102],[121.340625,30.282373],[121.432715,30.22666],[121.67793,29.979102],[121.812305,29.952148],[121.944336,29.894092],[122.017285,29.887695],[122.08291,29.870361],[121.905762,29.779687],[121.676562,29.583789],[121.574609,29.537012],[121.50625,29.48457],[121.69043,29.510986],[121.821875,29.604639],[121.887988,29.627783],[121.941211,29.605908],[121.968359,29.490625],[121.917773,29.13501],[121.853516,29.128906],[121.79082,29.225684],[121.71748,29.256348],[121.655957,29.236133],[121.533691,29.236719],[121.487109,29.193164],[121.447656,29.131348],[121.520898,29.118457],[121.664941,29.010596],[121.679688,28.953125],[121.641016,28.915918],[121.540039,28.931885],[121.6625,28.851416],[121.630078,28.76792],[121.590332,28.734814],[121.519141,28.713672],[121.475195,28.641406],[121.538086,28.521094],[121.602051,28.366602],[121.609961,28.292139],[121.509961,28.324268],[121.35459,28.229883],[121.272266,28.222119],[121.216797,28.346191],[121.145703,28.32666],[121.098437,28.290527],[121.035449,28.157275],[120.958594,28.037012],[120.89248,28.003906],[120.812988,28.013379],[120.747656,28.009961],[120.763477,27.977441],[120.833008,27.937793],[120.833008,27.891455],[120.685156,27.74458],[120.661328,27.687891],[120.664844,27.639453],[120.5875,27.580762],[120.629102,27.482129],[120.60752,27.412402],[120.539844,27.318359],[120.468652,27.25625],[120.38457,27.155518],[120.278711,27.09707],[120.138574,26.886133],[120.097461,26.780664],[120.086719,26.671582],[120.042969,26.633838],[119.967773,26.586377],[119.882227,26.610449],[119.879492,26.683008],[119.842383,26.689307],[119.821289,26.736914],[119.815137,26.797607],[119.824219,26.846387],[119.788672,26.831494],[119.766699,26.774707],[119.710449,26.728662],[119.651563,26.747266],[119.588184,26.784961],[119.589941,26.730469],[119.623633,26.675879],[119.638184,26.621191],[119.725977,26.609424],[119.784766,26.546631],[119.831152,26.450195],[119.840332,26.41416],[119.876465,26.370947],[119.881055,26.33418],[119.797266,26.300146],[119.692676,26.236426],[119.56709,26.127344],[119.463086,26.054688],[119.369727,26.054053],[119.313086,26.062549],[119.232129,26.104395],[119.139453,26.121777],[119.26377,25.974805],[119.332031,25.94873],[119.417773,25.954346],[119.500879,26.00918],[119.61875,26.003564],[119.648242,25.918701],[119.616895,25.8229],[119.552832,25.698682],[119.539453,25.59126],[119.619141,25.437451],[119.622461,25.391162],[119.592773,25.368018],[119.499219,25.408643],[119.421777,25.459619],[119.34375,25.446289],[119.263086,25.468018],[119.180078,25.449805],[119.146289,25.414307],[119.169336,25.355713],[119.243555,25.307031],[119.285547,25.232227],[119.235547,25.205957],[119.024609,25.223438],[118.977539,25.209277],[118.914453,25.126807],[118.955664,25.004785],[118.909082,24.928906],[118.82207,24.911133],[118.70752,24.849805],[118.636914,24.835547],[118.640234,24.809082],[118.691797,24.782324],[118.719141,24.746143],[118.657031,24.621436],[118.560352,24.580371],[118.412012,24.600732],[118.295313,24.572754],[118.194531,24.62583],[118.087109,24.627002],[118.013867,24.559912],[118.005957,24.481982],[117.935059,24.474219],[117.896875,24.479834],[117.842676,24.474316],[117.848242,24.432471],[117.879004,24.395898],[118.024219,24.379639],[118.050586,24.327148],[118.056055,24.246094],[117.904102,24.106445],[117.839453,24.012305],[117.741699,24.014795],[117.667871,23.939258],[117.628223,23.836719],[117.579199,23.856982],[117.466406,23.840576],[117.433105,23.791699],[117.45957,23.771484],[117.462207,23.73623],[117.416992,23.620996],[117.367676,23.588623],[117.34668,23.635742],[117.330762,23.708789],[117.29082,23.714355],[117.225,23.647021],[117.148145,23.598779],[117.08252,23.57876],[117.032813,23.623437],[116.910645,23.64668],[116.860938,23.453076],[116.75957,23.38252],[116.712109,23.360498],[116.629395,23.353857],[116.682324,23.327393],[116.698828,23.277783],[116.669141,23.228174],[116.586426,23.218262],[116.538281,23.179688],[116.519824,23.006592],[116.470703,22.945898],[116.345508,22.941064],[116.251855,22.981348],[116.22207,22.949561],[116.206348,22.918652],[116.157422,22.887451],[116.062598,22.879102],[115.852148,22.801563],[115.755859,22.823926],[115.64043,22.853418],[115.561133,22.824707],[115.534668,22.765186],[115.49834,22.718848],[115.38252,22.718848],[115.289941,22.775977],[115.195801,22.817285],[115.091504,22.781689],[115.012109,22.708936],[114.914453,22.684619],[114.896387,22.639502],[114.853809,22.616797],[114.750391,22.626318],[114.711133,22.738721],[114.65166,22.755273],[114.592773,22.698437],[114.571973,22.654053],[114.544434,22.620605],[114.554199,22.528906],[114.496191,22.527051],[114.420117,22.583252],[114.340625,22.593213],[114.266016,22.540967],[114.228223,22.553955],[114.188184,22.56499],[114.122852,22.56499],[114.097852,22.55127],[114.050391,22.542969],[114.018262,22.514453],[114.01543,22.511914],[113.931152,22.531055],[113.82832,22.607227],[113.754492,22.733643],[113.661133,22.80166],[113.619629,22.861426],[113.603418,22.968896],[113.586328,23.02002],[113.592188,23.076953],[113.620508,23.12749],[113.519727,23.1021],[113.445312,23.055078],[113.460352,22.995703],[113.441895,22.940576],[113.331055,22.912012],[113.337793,22.888818],[113.344824,22.8646],[113.432031,22.789404],[113.449805,22.726123],[113.484766,22.692383],[113.553027,22.594043],[113.551465,22.40415],[113.588867,22.350488],[113.576465,22.297266],[113.549121,22.225195],[113.546777,22.224121],[113.527051,22.245947],[113.494141,22.241553],[113.481055,22.21748],[113.478906,22.195557],[113.473437,22.194434],[113.415723,22.178369],[113.367383,22.164844],[113.327734,22.14541],[113.266406,22.08877],[113.149023,22.075],[113.08877,22.207959],[113.008203,22.119336],[112.983789,21.938232],[112.953906,21.907324],[112.903809,21.881445],[112.808594,21.944629],[112.725391,21.902344],[112.660742,21.859473],[112.634082,21.819873],[112.586328,21.776855],[112.494727,21.818311],[112.421289,21.880615],[112.439453,21.927344],[112.429297,21.958105],[112.396094,21.981348],[112.359668,21.978027],[112.377441,21.91748],[112.389746,21.801221],[112.356445,21.767578],[112.30498,21.741699],[112.193359,21.763135],[112.117188,21.806494],[112.025195,21.843018],[111.943945,21.849658],[111.926465,21.77627],[111.873438,21.717139],[111.824609,21.709766],[111.775977,21.719238],[111.711914,21.655225],[111.681641,21.608496],[111.602734,21.559082],[111.392383,21.535107],[111.319141,21.486133],[111.220605,21.493896],[111.144238,21.482227],[111.100586,21.484717],[111.061133,21.510986],[111.016895,21.511719],[110.996777,21.430273],[110.878027,21.395947],[110.771094,21.386523],[110.652148,21.279102],[110.567187,21.214062],[110.504297,21.207422],[110.458008,21.230566],[110.43457,21.326904],[110.410937,21.338135],[110.397461,21.247705],[110.374609,21.172363],[110.331152,21.131348],[110.193555,21.037646],[110.154004,20.944629],[110.180371,20.858594],[110.36543,20.837598],[110.388477,20.790527],[110.370508,20.752051],[110.326172,20.719922],[110.313086,20.67168],[110.511523,20.518262],[110.517578,20.46001],[110.486914,20.426855],[110.449512,20.35542],[110.344727,20.294824],[110.123145,20.263721],[109.938477,20.295117],[109.88252,20.364063],[109.88584,20.413135],[109.931641,20.398877],[109.983887,20.403271],[109.968359,20.448145],[109.946387,20.474365],[109.861035,20.514307],[109.791992,20.621875],[109.805273,20.711475],[109.767383,20.780713],[109.72627,20.83877],[109.684766,20.873633],[109.662598,20.916895],[109.704492,21.052734],[109.68125,21.131641],[109.760156,21.228369],[109.77959,21.337451],[109.921094,21.376465],[109.930762,21.480566],[109.82959,21.483594],[109.759375,21.560059],[109.743359,21.527979],[109.686914,21.524609],[109.594336,21.671973],[109.566406,21.690576],[109.521484,21.693408],[109.544043,21.537939],[109.435547,21.479492],[109.34668,21.453955],[109.22041,21.443408],[109.148633,21.425537],[109.081543,21.440283],[109.098145,21.487354],[109.133496,21.543604],[109.101758,21.590479],[109.030566,21.626514],[108.921777,21.624414],[108.846387,21.634473],[108.77168,21.630469],[108.743945,21.65127],[108.674512,21.724658],[108.61582,21.770459],[108.589355,21.815967],[108.61582,21.868896],[108.59375,21.901025],[108.479883,21.904639],[108.480859,21.828809],[108.492578,21.739404],[108.525684,21.671387],[108.502148,21.633447],[108.444336,21.607324],[108.382812,21.679199],[108.35459,21.696924],[108.324805,21.693506],[108.302148,21.621924],[108.246289,21.558398],[108.145605,21.565186],[108.067383,21.525977],[107.972656,21.507959]]],[[[110.88877,19.991943],[110.938281,19.947559],[110.970703,19.883301],[110.997656,19.764697],[111.013672,19.655469],[110.912695,19.586084],[110.822266,19.55791],[110.640918,19.291211],[110.603125,19.207031],[110.572168,19.171875],[110.5625,19.135156],[110.566016,19.098535],[110.519336,18.970215],[110.477637,18.812598],[110.45127,18.747949],[110.399512,18.69834],[110.333691,18.673291],[110.29082,18.669531],[110.251758,18.655762],[110.15625,18.569824],[110.048535,18.505225],[110.066406,18.475635],[110.067383,18.447559],[110.020215,18.41626],[109.967676,18.42207],[109.815625,18.39668],[109.759766,18.348291],[109.702734,18.259131],[109.681055,18.247119],[109.589551,18.226318],[109.519336,18.218262],[109.400098,18.281104],[109.340918,18.299609],[109.183203,18.325146],[109.029883,18.367773],[108.922266,18.416113],[108.701563,18.535254],[108.676074,18.750244],[108.638086,18.866309],[108.635645,18.907715],[108.65,19.265039],[108.665527,19.304102],[108.693555,19.338281],[108.791016,19.418164],[108.902832,19.481348],[109.062891,19.613574],[109.179102,19.674121],[109.27666,19.761133],[109.219531,19.757471],[109.177441,19.768457],[109.218945,19.842822],[109.263477,19.882666],[109.314844,19.904395],[109.418164,19.888818],[109.513672,19.904248],[109.584277,19.970312],[109.651367,19.984375],[109.90625,19.962744],[110.083008,19.99292],[110.171582,20.053711],[110.213379,20.056055],[110.343945,20.038818],[110.392285,19.975586],[110.387988,20.018018],[110.393555,20.059229],[110.417578,20.054736],[110.588184,19.976367],[110.58877,20.072461],[110.59834,20.097607],[110.651758,20.137744],[110.678516,20.137061],[110.744531,20.059473],[110.809082,20.014404],[110.88877,19.991943]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":3,"LABELRANK":4,"SOVEREIGNT":"China","SOV_A3":"CH1","ADM0_DIF":1,"LEVEL":2,"TYPE":"Country","TLC":"1","ADMIN":"Macao S.A.R","ADM0_A3":"MAC","GEOU_DIF":0,"GEOUNIT":"Macao S.A.R","GU_A3":"MAC","SU_DIF":0,"SUBUNIT":"Macao S.A.R","SU_A3":"MAC","BRK_DIFF":0,"NAME":"Macao","NAME_LONG":"Macao","BRK_A3":"MAC","BRK_NAME":"Macao","BRK_GROUP":null,"ABBREV":"Mac.","POSTAL":"MO","FORMAL_EN":"Macao Special Administrative Region, PRC","FORMAL_FR":null,"NAME_CIAWF":"Macau","NOTE_ADM0":"Cn.","NOTE_BRK":"China","NAME_SORT":"Macao SAR, China","NAME_ALT":null,"MAPCOLOR7":4,"MAPCOLOR8":4,"MAPCOLOR9":4,"MAPCOLOR13":3,"POP_EST":640445,"POP_RANK":11,"POP_YEAR":2019,"GDP_MD":53859,"GDP_YEAR":2019,"ECONOMY":"6. Developing region","INCOME_GRP":"2. High income: nonOECD","FIPS_10":"MC","ISO_A2":"MO","ISO_A2_EH":"MO","ISO_A3":"MAC","ISO_A3_EH":"MAC","ISO_N3":"446","ISO_N3_EH":"446","UN_A3":"446","WB_A2":"MO","WB_A3":"MAC","WOE_ID":20070017,"WOE_ID_EH":20070017,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"MAC","ADM0_DIFF":null,"ADM0_TLC":"MAC","ADM0_A3_US":"MAC","ADM0_A3_FR":"MAC","ADM0_A3_RU":"MAC","ADM0_A3_ES":"MAC","ADM0_A3_CN":"MAC","ADM0_A3_TW":"MAC","ADM0_A3_IN":"MAC","ADM0_A3_NP":"MAC","ADM0_A3_PK":"MAC","ADM0_A3_DE":"MAC","ADM0_A3_GB":"MAC","ADM0_A3_BR":"MAC","ADM0_A3_IL":"MAC","ADM0_A3_PS":"MAC","ADM0_A3_SA":"MAC","ADM0_A3_EG":"MAC","ADM0_A3_MA":"MAC","ADM0_A3_PT":"MAC","ADM0_A3_AR":"MAC","ADM0_A3_JP":"MAC","ADM0_A3_KO":"MAC","ADM0_A3_VN":"MAC","ADM0_A3_TR":"MAC","ADM0_A3_ID":"MAC","ADM0_A3_PL":"MAC","ADM0_A3_GR":"MAC","ADM0_A3_IT":"MAC","ADM0_A3_NL":"MAC","ADM0_A3_SE":"MAC","ADM0_A3_BD":"MAC","ADM0_A3_UA":"MAC","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Asia","REGION_UN":"Asia","SUBREGION":"Eastern Asia","REGION_WB":"East Asia & Pacific","NAME_LEN":5,"LONG_LEN":5,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":-99,"MIN_ZOOM":0,"MIN_LABEL":4,"MAX_LABEL":9,"LABEL_X":113.556038,"LABEL_Y":22.129735,"NE_ID":1159320475,"WIKIDATAID":"Q14773","NAME_AR":"ماكاو","NAME_BN":"মাকাও","NAME_DE":"Macau","NAME_EN":"Macau","NAME_ES":"Macao","NAME_FA":"ماکائو","NAME_FR":"Macao","NAME_EL":"Μακάου","NAME_HE":"מקאו","NAME_HI":"मकाउ","NAME_HU":"Makaó","NAME_ID":"Makau","NAME_IT":"Macao","NAME_JA":"マカオ","NAME_KO":"마카오","NAME_NL":"Macau","NAME_PL":"Makau","NAME_PT":"Macau","NAME_RU":"Макао","NAME_SV":"Macao","NAME_TR":"Makao","NAME_UK":"Аоминь","NAME_UR":"مکاؤ","NAME_VI":"Ma Cao","NAME_ZH":"澳门","NAME_ZHT":"澳門","FCLASS_ISO":"Admin-0 dependency","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 dependency","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":"Admin-1 region","FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[113.478906,22.195557,113.548145,22.245947],"geometry":{"type":"Polygon","coordinates":[[[113.478906,22.195557],[113.481055,22.21748],[113.494141,22.241553],[113.527051,22.245947],[113.548145,22.222607],[113.545508,22.221484],[113.498828,22.20166],[113.48418,22.197754],[113.478906,22.195557]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":3,"LABELRANK":4,"SOVEREIGNT":"China","SOV_A3":"CH1","ADM0_DIF":1,"LEVEL":2,"TYPE":"Country","TLC":"1","ADMIN":"Hong Kong S.A.R.","ADM0_A3":"HKG","GEOU_DIF":0,"GEOUNIT":"Hong Kong S.A.R.","GU_A3":"HKG","SU_DIF":0,"SUBUNIT":"Hong Kong S.A.R.","SU_A3":"HKG","BRK_DIFF":0,"NAME":"Hong Kong","NAME_LONG":"Hong Kong","BRK_A3":"HKG","BRK_NAME":"Hong Kong","BRK_GROUP":null,"ABBREV":"H.K.","POSTAL":"HK","FORMAL_EN":"Hong Kong Special Administrative Region, PRC","FORMAL_FR":null,"NAME_CIAWF":"Hong Kong","NOTE_ADM0":"Cn.","NOTE_BRK":"China","NAME_SORT":"Hong Kong SAR, China","NAME_ALT":null,"MAPCOLOR7":4,"MAPCOLOR8":4,"MAPCOLOR9":4,"MAPCOLOR13":3,"POP_EST":7507400,"POP_RANK":13,"POP_YEAR":2019,"GDP_MD":365711,"GDP_YEAR":2019,"ECONOMY":"6. Developing region","INCOME_GRP":"2. High income: nonOECD","FIPS_10":"HK","ISO_A2":"HK","ISO_A2_EH":"HK","ISO_A3":"HKG","ISO_A3_EH":"HKG","ISO_N3":"344","ISO_N3_EH":"344","UN_A3":"344","WB_A2":"HK","WB_A3":"HKG","WOE_ID":24865698,"WOE_ID_EH":24865698,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"HKG","ADM0_DIFF":null,"ADM0_TLC":"HKG","ADM0_A3_US":"HKG","ADM0_A3_FR":"HKG","ADM0_A3_RU":"HKG","ADM0_A3_ES":"HKG","ADM0_A3_CN":"HKG","ADM0_A3_TW":"HKG","ADM0_A3_IN":"HKG","ADM0_A3_NP":"HKG","ADM0_A3_PK":"HKG","ADM0_A3_DE":"HKG","ADM0_A3_GB":"HKG","ADM0_A3_BR":"HKG","ADM0_A3_IL":"HKG","ADM0_A3_PS":"HKG","ADM0_A3_SA":"HKG","ADM0_A3_EG":"HKG","ADM0_A3_MA":"HKG","ADM0_A3_PT":"HKG","ADM0_A3_AR":"HKG","ADM0_A3_JP":"HKG","ADM0_A3_KO":"HKG","ADM0_A3_VN":"HKG","ADM0_A3_TR":"HKG","ADM0_A3_ID":"HKG","ADM0_A3_PL":"HKG","ADM0_A3_GR":"HKG","ADM0_A3_IT":"HKG","ADM0_A3_NL":"HKG","ADM0_A3_SE":"HKG","ADM0_A3_BD":"HKG","ADM0_A3_UA":"HKG","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Asia","REGION_UN":"Asia","SUBREGION":"Eastern Asia","REGION_WB":"East Asia & Pacific","NAME_LEN":9,"LONG_LEN":9,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":-99,"MIN_ZOOM":0,"MIN_LABEL":4,"MAX_LABEL":9,"LABEL_X":114.097769,"LABEL_Y":22.448829,"NE_ID":1159320473,"WIKIDATAID":"Q8646","NAME_AR":"هونغ كونغ","NAME_BN":"হংকং","NAME_DE":"Hongkong","NAME_EN":"Hong Kong","NAME_ES":"Hong Kong","NAME_FA":"هنگ کنگ","NAME_FR":"Hong Kong","NAME_EL":"Χονγκ Κονγκ","NAME_HE":"הונג קונג","NAME_HI":"हांगकांग","NAME_HU":"Hongkong","NAME_ID":"Hong Kong","NAME_IT":"Hong Kong","NAME_JA":"香港","NAME_KO":"홍콩","NAME_NL":"Hongkong","NAME_PL":"Hongkong","NAME_PT":"Hong Kong","NAME_RU":"Гонконг","NAME_SV":"Hongkong","NAME_TR":"Hong Kong","NAME_UK":"Гонконг","NAME_UR":"ہانگ کانگ","NAME_VI":"Hồng Kông","NAME_ZH":"香港","NAME_ZHT":"香港","FCLASS_ISO":"Admin-0 dependency","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 dependency","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":"Admin-1 region","FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[113.838867,22.195166,114.335254,22.56499],"geometry":{"type":"MultiPolygon","coordinates":[[[[114.01543,22.511914],[114.018262,22.514453],[114.050391,22.542969],[114.097852,22.55127],[114.122852,22.56499],[114.188184,22.56499],[114.228223,22.553955],[114.266016,22.540967],[114.269629,22.536768],[114.291113,22.499463],[114.28457,22.457617],[114.325195,22.437402],[114.335254,22.39624],[114.290527,22.373779],[114.287891,22.325293],[114.267969,22.295557],[114.139063,22.348438],[114.032813,22.375879],[113.937305,22.36499],[113.902539,22.396094],[113.896484,22.428174],[114.006738,22.484033],[114.01543,22.511914]]],[[[114.232031,22.210547],[114.207227,22.195166],[114.13877,22.268359],[114.134473,22.292236],[114.187402,22.296631],[114.246875,22.263574],[114.243555,22.233545],[114.232031,22.210547]]],[[[113.997754,22.210498],[113.877344,22.210449],[113.851562,22.220459],[113.838867,22.241699],[113.881543,22.280273],[114.043945,22.333398],[114.00332,22.277539],[113.997754,22.210498]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":4,"LABELRANK":2,"SOVEREIGNT":"Chile","SOV_A3":"CHL","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Chile","ADM0_A3":"CHL","GEOU_DIF":0,"GEOUNIT":"Chile","GU_A3":"CHL","SU_DIF":0,"SUBUNIT":"Chile","SU_A3":"CHL","BRK_DIFF":0,"NAME":"Chile","NAME_LONG":"Chile","BRK_A3":"CHL","BRK_NAME":"Chile","BRK_GROUP":null,"ABBREV":"Chile","POSTAL":"CL","FORMAL_EN":"Republic of Chile","FORMAL_FR":null,"NAME_CIAWF":"Chile","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Chile","NAME_ALT":null,"MAPCOLOR7":5,"MAPCOLOR8":1,"MAPCOLOR9":5,"MAPCOLOR13":9,"POP_EST":18952038,"POP_RANK":14,"POP_YEAR":2019,"GDP_MD":282318,"GDP_YEAR":2019,"ECONOMY":"5. Emerging region: G20","INCOME_GRP":"3. Upper middle income","FIPS_10":"CI","ISO_A2":"CL","ISO_A2_EH":"CL","ISO_A3":"CHL","ISO_A3_EH":"CHL","ISO_N3":"152","ISO_N3_EH":"152","UN_A3":"152","WB_A2":"CL","WB_A3":"CHL","WOE_ID":23424782,"WOE_ID_EH":23424782,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"CHL","ADM0_DIFF":null,"ADM0_TLC":"CHL","ADM0_A3_US":"CHL","ADM0_A3_FR":"CHL","ADM0_A3_RU":"CHL","ADM0_A3_ES":"CHL","ADM0_A3_CN":"CHL","ADM0_A3_TW":"CHL","ADM0_A3_IN":"CHL","ADM0_A3_NP":"CHL","ADM0_A3_PK":"CHL","ADM0_A3_DE":"CHL","ADM0_A3_GB":"CHL","ADM0_A3_BR":"CHL","ADM0_A3_IL":"CHL","ADM0_A3_PS":"CHL","ADM0_A3_SA":"CHL","ADM0_A3_EG":"CHL","ADM0_A3_MA":"CHL","ADM0_A3_PT":"CHL","ADM0_A3_AR":"CHL","ADM0_A3_JP":"CHL","ADM0_A3_KO":"CHL","ADM0_A3_VN":"CHL","ADM0_A3_TR":"CHL","ADM0_A3_ID":"CHL","ADM0_A3_PL":"CHL","ADM0_A3_GR":"CHL","ADM0_A3_IT":"CHL","ADM0_A3_NL":"CHL","ADM0_A3_SE":"CHL","ADM0_A3_BD":"CHL","ADM0_A3_UA":"CHL","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"South America","REGION_UN":"Americas","SUBREGION":"South America","REGION_WB":"Latin America & Caribbean","NAME_LEN":5,"LONG_LEN":5,"ABBREV_LEN":5,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":1.7,"MAX_LABEL":6.7,"LABEL_X":-72.318871,"LABEL_Y":-38.151771,"NE_ID":1159320493,"WIKIDATAID":"Q298","NAME_AR":"تشيلي","NAME_BN":"চিলি","NAME_DE":"Chile","NAME_EN":"Chile","NAME_ES":"Chile","NAME_FA":"شیلی","NAME_FR":"Chili","NAME_EL":"Χιλή","NAME_HE":"צ'ילה","NAME_HI":"चिली","NAME_HU":"Chile","NAME_ID":"Chili","NAME_IT":"Cile","NAME_JA":"チリ","NAME_KO":"칠레","NAME_NL":"Chili","NAME_PL":"Chile","NAME_PT":"Chile","NAME_RU":"Чили","NAME_SV":"Chile","NAME_TR":"Şili","NAME_UK":"Чилі","NAME_UR":"چلی","NAME_VI":"Chile","NAME_ZH":"智利","NAME_ZHT":"智利","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[-109.434131,-55.891699,-66.435791,-17.506055],"geometry":{"type":"MultiPolygon","coordinates":[[[[-109.27998,-27.14043],[-109.434131,-27.171289],[-109.42915,-27.116211],[-109.390479,-27.068359],[-109.276465,-27.095898],[-109.222852,-27.101074],[-109.27998,-27.14043]]],[[[-78.80415,-33.646484],[-78.98335,-33.667773],[-78.989453,-33.661719],[-78.979297,-33.644141],[-78.938135,-33.613574],[-78.888281,-33.576367],[-78.877441,-33.575195],[-78.859033,-33.578125],[-78.838184,-33.585059],[-78.784668,-33.610156],[-78.768945,-33.627344],[-78.774707,-33.641602],[-78.80415,-33.646484]]],[[[-70.418262,-18.345605],[-70.37749,-18.333594],[-70.282275,-18.325391],[-70.183789,-18.325195],[-70.059082,-18.283496],[-69.926367,-18.206055],[-69.839697,-18.093457],[-69.802588,-17.990234],[-69.802441,-17.9],[-69.841504,-17.785156],[-69.8521,-17.703809],[-69.806104,-17.664941],[-69.684766,-17.649805],[-69.586426,-17.573242],[-69.510937,-17.506055],[-69.49502,-17.619531],[-69.358008,-17.77168],[-69.313379,-17.943164],[-69.282324,-17.964844],[-69.093945,-18.050488],[-69.09043,-18.070703],[-69.118066,-18.102734],[-69.145459,-18.144043],[-69.126367,-18.202441],[-69.092285,-18.282422],[-69.080957,-18.356641],[-69.060156,-18.433008],[-69.039404,-18.550098],[-69.026807,-18.65625],[-68.978857,-18.812988],[-68.969092,-18.909668],[-68.968311,-18.967969],[-68.931006,-19.025195],[-68.857959,-19.093359],[-68.759082,-19.162207],[-68.680664,-19.242383],[-68.620557,-19.29668],[-68.547852,-19.341113],[-68.491992,-19.381934],[-68.470166,-19.409961],[-68.462891,-19.432813],[-68.487012,-19.454395],[-68.575293,-19.560156],[-68.698291,-19.721094],[-68.696191,-19.740723],[-68.578271,-19.856543],[-68.559375,-19.902344],[-68.560693,-19.96709],[-68.600195,-20.044922],[-68.72749,-20.069629],[-68.755811,-20.09082],[-68.759326,-20.115527],[-68.730029,-20.148438],[-68.73457,-20.225195],[-68.688574,-20.310059],[-68.712305,-20.338965],[-68.759229,-20.378027],[-68.760547,-20.416211],[-68.745166,-20.458594],[-68.695801,-20.492969],[-68.499854,-20.612012],[-68.484326,-20.628418],[-68.487402,-20.640723],[-68.563184,-20.720117],[-68.571045,-20.769141],[-68.568945,-20.849805],[-68.558252,-20.901953],[-68.533838,-20.923633],[-68.435498,-20.948242],[-68.313867,-21.129688],[-68.197021,-21.300293],[-68.198535,-21.447266],[-68.186426,-21.618555],[-68.112158,-21.753027],[-68.101807,-21.860645],[-68.076758,-21.982813],[-67.988379,-22.057129],[-67.953906,-22.204004],[-67.944922,-22.282227],[-67.950391,-22.333691],[-67.881738,-22.493359],[-67.87373,-22.630566],[-67.88999,-22.729199],[-67.88916,-22.78418],[-67.879443,-22.822949],[-67.820508,-22.857715],[-67.794434,-22.879492],[-67.707324,-22.88916],[-67.579932,-22.891699],[-67.362256,-22.855176],[-67.194873,-22.82168],[-67.008789,-23.001367],[-67.089746,-23.245117],[-67.219141,-23.633984],[-67.319141,-23.934668],[-67.335596,-23.974805],[-67.356201,-24.033789],[-67.571777,-24.118945],[-67.88623,-24.243359],[-68.047363,-24.308301],[-68.250293,-24.391992],[-68.299512,-24.460352],[-68.358105,-24.497266],[-68.422559,-24.545117],[-68.447119,-24.596973],[-68.507275,-24.629785],[-68.562012,-24.747363],[-68.562012,-24.837695],[-68.527051,-24.899219],[-68.466309,-24.925195],[-68.447119,-24.998926],[-68.428027,-25.050977],[-68.384229,-25.091895],[-68.395215,-25.124707],[-68.430713,-25.149316],[-68.496338,-25.162988],[-68.54082,-25.236719],[-68.59209,-25.42002],[-68.600293,-25.485645],[-68.541895,-25.651563],[-68.51084,-25.741016],[-68.426758,-26.06543],[-68.414502,-26.153711],[-68.529834,-26.276953],[-68.575781,-26.351953],[-68.592187,-26.418066],[-68.591602,-26.47041],[-68.581152,-26.518359],[-68.485107,-26.670313],[-68.37334,-26.806445],[-68.318652,-26.877539],[-68.318652,-26.973242],[-68.345996,-27.02793],[-68.405371,-27.048145],[-68.537354,-27.085352],[-68.59209,-27.140039],[-68.652197,-27.14834],[-68.709619,-27.104492],[-68.769775,-27.11543],[-68.846338,-27.153711],[-68.875098,-27.24668],[-68.941992,-27.405176],[-68.999414,-27.449023],[-69.042187,-27.57002],[-69.118506,-27.743555],[-69.155273,-27.848145],[-69.174414,-27.924707],[-69.251221,-27.973633],[-69.340723,-28.070801],[-69.40957,-28.165332],[-69.436914,-28.192676],[-69.488867,-28.200879],[-69.527148,-28.285645],[-69.656934,-28.413574],[-69.687891,-28.562012],[-69.734912,-28.641113],[-69.743164,-28.783887],[-69.814844,-29.045508],[-69.827881,-29.103223],[-69.900342,-29.148828],[-69.995605,-29.25],[-70.026807,-29.324023],[-69.982617,-29.54541],[-69.927637,-29.769141],[-69.924121,-29.874023],[-69.945459,-30.016406],[-69.959961,-30.07832],[-69.923535,-30.103906],[-69.863379,-30.120313],[-69.844287,-30.175],[-69.888037,-30.213281],[-69.907129,-30.281641],[-69.956348,-30.358203],[-70.102002,-30.388281],[-70.153223,-30.360938],[-70.169629,-30.385547],[-70.161426,-30.440234],[-70.193945,-30.504688],[-70.269385,-30.677246],[-70.319238,-30.833984],[-70.348145,-30.902344],[-70.336426,-30.959766],[-70.311816,-30.992578],[-70.309082,-31.022656],[-70.350586,-31.060449],[-70.388379,-31.121094],[-70.429395,-31.129297],[-70.473096,-31.112793],[-70.51958,-31.148438],[-70.529053,-31.222852],[-70.554688,-31.317383],[-70.566406,-31.42793],[-70.585205,-31.569434],[-70.525635,-31.666406],[-70.450146,-31.841895],[-70.393848,-31.883789],[-70.330957,-31.881055],[-70.281738,-31.916602],[-70.254395,-31.957715],[-70.290918,-32.031055],[-70.355566,-32.042383],[-70.36377,-32.083496],[-70.344629,-32.176465],[-70.32002,-32.266699],[-70.257812,-32.309961],[-70.229785,-32.430664],[-70.169629,-32.47168],[-70.176953,-32.626074],[-70.116162,-32.807422],[-70.052051,-32.859961],[-70.021973,-32.88457],[-70.042139,-32.963672],[-70.093066,-33.026758],[-70.104004,-33.12793],[-70.084863,-33.201758],[-70.019824,-33.271484],[-69.969043,-33.279395],[-69.896191,-33.250977],[-69.819629,-33.283789],[-69.808691,-33.343945],[-69.797754,-33.398633],[-69.83877,-33.469727],[-69.882568,-33.600977],[-69.894336,-33.731348],[-69.881494,-33.929785],[-69.861523,-34.083594],[-69.857373,-34.180469],[-69.852441,-34.224316],[-69.879785,-34.254395],[-69.946338,-34.269922],[-70.002832,-34.27627],[-70.052051,-34.300781],[-70.062988,-34.35],[-70.101465,-34.432031],[-70.14126,-34.492871],[-70.210693,-34.58125],[-70.254687,-34.672656],[-70.289941,-34.732813],[-70.286768,-34.774512],[-70.312109,-34.85498],[-70.338135,-34.921777],[-70.393164,-35.146875],[-70.466602,-35.193652],[-70.525098,-35.216797],[-70.555176,-35.246875],[-70.532324,-35.30791],[-70.47041,-35.326172],[-70.448535,-35.375391],[-70.456738,-35.451953],[-70.415723,-35.523047],[-70.419727,-35.60918],[-70.380176,-35.771875],[-70.415723,-35.878516],[-70.403662,-35.970508],[-70.404785,-36.061719],[-70.456738,-36.132715],[-70.563379,-36.146387],[-70.621875,-36.211914],[-70.721924,-36.283203],[-70.732861,-36.340625],[-70.749268,-36.392578],[-70.790283,-36.411719],[-70.853174,-36.411719],[-70.905127,-36.419922],[-70.97793,-36.487305],[-71.055518,-36.52373],[-71.073242,-36.578027],[-71.066406,-36.644043],[-71.107422,-36.685059],[-71.159375,-36.761621],[-71.192187,-36.843652],[-71.159375,-36.920215],[-71.123828,-37.056934],[-71.118408,-37.114355],[-71.163477,-37.227441],[-71.200391,-37.300293],[-71.164893,-37.393262],[-71.134814,-37.445117],[-71.162842,-37.55918],[-71.186719,-37.631055],[-71.167578,-37.762305],[-71.096191,-37.909961],[-71.028174,-38.041211],[-71.018164,-38.193945],[-71.000488,-38.314844],[-70.967969,-38.445898],[-70.899658,-38.497852],[-70.847656,-38.541602],[-70.858643,-38.604492],[-70.896924,-38.681055],[-70.951611,-38.738477],[-71.087109,-38.75752],[-71.197266,-38.809375],[-71.285742,-38.84541],[-71.353174,-38.888867],[-71.401562,-38.935059],[-71.425586,-38.985645],[-71.409375,-39.205957],[-71.42002,-39.287207],[-71.465381,-39.402344],[-71.507764,-39.495215],[-71.525781,-39.523145],[-71.53125,-39.56416],[-71.539453,-39.602441],[-71.587012,-39.611133],[-71.654297,-39.594238],[-71.692578,-39.605176],[-71.719922,-39.635254],[-71.696826,-39.707031],[-71.67207,-39.833301],[-71.637891,-39.886816],[-71.647119,-39.929199],[-71.659766,-40.020801],[-71.704395,-40.094922],[-71.763672,-40.094629],[-71.801953,-40.124707],[-71.818311,-40.17666],[-71.800586,-40.244336],[-71.722656,-40.299707],[-71.695312,-40.335254],[-71.708984,-40.381738],[-71.769141,-40.400879],[-71.804639,-40.43916],[-71.838525,-40.524414],[-71.883789,-40.620605],[-71.932129,-40.691699],[-71.941357,-40.78916],[-71.873047,-40.892969],[-71.880713,-40.994629],[-71.885596,-41.292383],[-71.892187,-41.393359],[-71.871143,-41.560547],[-71.897607,-41.606641],[-71.911279,-41.650391],[-71.844482,-41.771973],[-71.77002,-41.968555],[-71.75,-42.046777],[-71.760937,-42.101465],[-71.860791,-42.147852],[-71.944092,-42.16709],[-71.993311,-42.134277],[-72.026123,-42.147949],[-72.064404,-42.205371],[-72.108203,-42.251855],[-72.124609,-42.29834],[-72.078125,-42.358496],[-72.053467,-42.473242],[-72.10542,-42.522461],[-72.143701,-42.577148],[-72.130029,-42.648242],[-72.113623,-42.776758],[-72.146436,-42.990039],[-72.102393,-43.065625],[-72.054688,-43.101953],[-71.898584,-43.145313],[-71.781494,-43.166797],[-71.750635,-43.237305],[-71.763867,-43.294629],[-71.820215,-43.322949],[-71.90498,-43.347559],[-71.90498,-43.440137],[-71.832422,-43.527148],[-71.750635,-43.590137],[-71.732764,-43.646777],[-71.737402,-43.704688],[-71.794727,-43.753223],[-71.715967,-43.858398],[-71.680078,-43.92959],[-71.716162,-43.984473],[-71.767187,-44.066699],[-71.812354,-44.106055],[-71.812109,-44.150781],[-71.830762,-44.241406],[-71.835059,-44.330176],[-71.82002,-44.383105],[-71.325732,-44.424902],[-71.212598,-44.441211],[-71.150879,-44.494043],[-71.159717,-44.560254],[-71.221484,-44.630762],[-71.261133,-44.763086],[-71.358154,-44.785156],[-71.455176,-44.749805],[-71.5604,-44.762012],[-71.65166,-44.77041],[-71.782812,-44.774414],[-71.957031,-44.791504],[-72.063721,-44.771875],[-72.07251,-44.82041],[-72.041699,-44.904199],[-71.812354,-44.930664],[-71.596289,-44.979199],[-71.531299,-45.067871],[-71.443457,-45.168262],[-71.35376,-45.230469],[-71.349316,-45.331934],[-71.49043,-45.437695],[-71.508105,-45.512695],[-71.693311,-45.534766],[-71.746191,-45.578906],[-71.772656,-45.724414],[-71.750635,-45.839063],[-71.680078,-45.878711],[-71.631543,-45.953711],[-71.684473,-46.041895],[-71.809277,-46.102734],[-71.875684,-46.160547],[-71.834131,-46.206738],[-71.777637,-46.27998],[-71.762109,-46.319824],[-71.731299,-46.427832],[-71.695215,-46.578418],[-71.699658,-46.651367],[-71.732715,-46.705859],[-71.856445,-46.791602],[-71.940234,-46.83125],[-71.956641,-46.936816],[-71.962988,-47.016016],[-71.954248,-47.0875],[-71.900537,-47.144336],[-71.90498,-47.20166],[-71.978516,-47.213867],[-72.041699,-47.241406],[-72.103418,-47.342773],[-72.28291,-47.446289],[-72.345947,-47.492676],[-72.341504,-47.57207],[-72.412598,-47.685547],[-72.472217,-47.78418],[-72.51792,-47.876367],[-72.509082,-47.97334],[-72.40791,-48.015918],[-72.32832,-48.110059],[-72.293018,-48.229102],[-72.354736,-48.36582],[-72.498145,-48.417383],[-72.582861,-48.475391],[-72.608398,-48.519336],[-72.585938,-48.6625],[-72.591748,-48.729688],[-72.614404,-48.792871],[-72.65127,-48.841602],[-72.728467,-48.896289],[-72.86543,-48.943945],[-72.981738,-48.976758],[-73.033643,-49.014355],[-73.09458,-49.096875],[-73.148877,-49.187988],[-73.135254,-49.300684],[-73.461572,-49.313867],[-73.483643,-49.397656],[-73.554199,-49.463867],[-73.57627,-49.58291],[-73.504541,-49.698047],[-73.47041,-49.794531],[-73.528906,-49.910938],[-73.507715,-50.030273],[-73.50127,-50.125293],[-73.386621,-50.231152],[-73.311719,-50.361914],[-73.27417,-50.472559],[-73.251611,-50.558496],[-73.221631,-50.610742],[-73.174512,-50.67002],[-73.15293,-50.738281],[-73.082373,-50.760352],[-72.955566,-50.696484],[-72.865918,-50.653125],[-72.803613,-50.637695],[-72.62041,-50.647656],[-72.509814,-50.60752],[-72.460156,-50.611719],[-72.392578,-50.634277],[-72.340234,-50.681836],[-72.300635,-50.789551],[-72.276318,-50.910254],[-72.307373,-51.033398],[-72.35918,-51.060156],[-72.376807,-51.09541],[-72.35918,-51.17041],[-72.301855,-51.22334],[-72.303223,-51.298926],[-72.366406,-51.470313],[-72.407666,-51.54082],[-72.334521,-51.620313],[-72.268994,-51.691113],[-72.136963,-51.744043],[-72.028418,-51.818652],[-71.953467,-51.880371],[-71.971094,-51.96416],[-71.918652,-51.989551],[-71.716602,-51.991309],[-71.414746,-51.993945],[-70.943164,-51.998145],[-70.482861,-52.002246],[-69.960254,-52.008203],[-69.712598,-52.075391],[-69.488428,-52.136133],[-69.206201,-52.136133],[-68.924561,-52.208105],[-68.715186,-52.255469],[-68.589795,-52.27334],[-68.460986,-52.29043],[-68.443359,-52.356641],[-69.007227,-52.262695],[-69.133789,-52.211426],[-69.241016,-52.205469],[-69.446875,-52.269434],[-69.560596,-52.421582],[-69.620312,-52.464746],[-69.76333,-52.505566],[-69.907227,-52.513574],[-70.390967,-52.66084],[-70.562939,-52.673438],[-70.680322,-52.7125],[-70.795117,-52.76875],[-70.839062,-52.889551],[-70.821191,-52.963086],[-70.952051,-53.226953],[-70.984326,-53.373633],[-70.985107,-53.44834],[-70.947803,-53.57041],[-70.99585,-53.779297],[-71.082812,-53.825],[-71.297754,-53.883398],[-71.443896,-53.840918],[-71.693799,-53.803125],[-71.871875,-53.722656],[-72.100928,-53.66582],[-72.174414,-53.632324],[-72.376807,-53.471191],[-72.398242,-53.417773],[-72.412891,-53.350195],[-72.306055,-53.253711],[-72.248633,-53.24668],[-72.081152,-53.249609],[-71.941699,-53.234082],[-71.852734,-53.285742],[-71.828223,-53.39834],[-71.867334,-53.458398],[-71.902783,-53.495508],[-71.891699,-53.523535],[-71.791455,-53.48457],[-71.740527,-53.232617],[-71.400342,-53.107031],[-71.288965,-53.033691],[-71.180225,-52.920508],[-71.163281,-52.888086],[-71.155078,-52.845605],[-71.227148,-52.810645],[-71.387744,-52.764258],[-71.897998,-53.001758],[-72.129102,-53.064355],[-72.278027,-53.132324],[-72.458301,-53.254492],[-72.492578,-53.290625],[-72.530811,-53.37168],[-72.548926,-53.460742],[-72.726807,-53.42002],[-72.998389,-53.290723],[-73.052734,-53.243457],[-72.998242,-53.177246],[-72.915527,-53.121973],[-72.909912,-52.936523],[-72.88916,-52.871582],[-72.831885,-52.819531],[-72.727686,-52.762305],[-72.675977,-52.749023],[-72.63208,-52.773828],[-72.626611,-52.817578],[-72.453467,-52.814453],[-72.117578,-52.65],[-71.979297,-52.646094],[-71.79707,-52.682813],[-71.591211,-52.660742],[-71.55415,-52.643945],[-71.511279,-52.605371],[-71.664746,-52.560059],[-71.811914,-52.537012],[-72.225684,-52.520996],[-72.315381,-52.538574],[-72.437695,-52.625781],[-72.478271,-52.604004],[-72.504395,-52.560059],[-72.644824,-52.529102],[-72.712109,-52.535547],[-72.776562,-52.577441],[-72.766016,-52.642578],[-72.801904,-52.712402],[-72.931885,-52.781641],[-73.020264,-52.891797],[-73.016113,-52.977441],[-73.022998,-53.02207],[-73.055469,-53.045605],[-73.122461,-53.073926],[-73.338184,-53.054688],[-73.459863,-52.964844],[-73.50752,-52.903516],[-73.645215,-52.837012],[-73.345947,-52.754297],[-73.24082,-52.707129],[-73.144824,-52.601953],[-73.073193,-52.535059],[-73.123926,-52.487988],[-73.183789,-52.487891],[-73.178174,-52.562695],[-73.244141,-52.624023],[-73.382129,-52.595117],[-73.585693,-52.685742],[-73.71084,-52.661523],[-73.914697,-52.688184],[-74.014453,-52.639355],[-74.03584,-52.577246],[-73.999902,-52.512598],[-74.037354,-52.40293],[-74.093506,-52.37627],[-74.15083,-52.38252],[-74.176562,-52.317188],[-74.238477,-52.202344],[-74.265967,-52.171289],[-74.295654,-52.117871],[-74.264941,-52.104883],[-74.194922,-52.120215],[-74.133545,-52.154785],[-74.040234,-52.15918],[-73.834473,-52.233984],[-73.749121,-52.216016],[-73.702783,-52.198828],[-73.6854,-52.136719],[-73.684326,-52.077734],[-73.649023,-52.077734],[-73.532227,-52.153125],[-73.457959,-52.145996],[-73.326758,-52.165918],[-73.260449,-52.157813],[-73.137354,-52.129688],[-72.943701,-52.046875],[-72.843213,-51.961133],[-72.79502,-51.949512],[-72.7354,-51.960547],[-72.695459,-51.985156],[-72.694824,-52.044727],[-72.649561,-52.099902],[-72.587988,-52.145117],[-72.57085,-52.200098],[-72.583447,-52.254199],[-72.693604,-52.330273],[-72.714014,-52.356738],[-72.677051,-52.384668],[-72.631494,-52.371582],[-72.568701,-52.333984],[-72.53291,-52.282324],[-72.52334,-52.255469],[-72.519336,-52.21709],[-72.524121,-52.170312],[-72.613574,-52.037012],[-72.624756,-52.006934],[-72.624609,-51.946484],[-72.522852,-51.890918],[-72.494141,-51.847559],[-72.489648,-51.763672],[-72.542529,-51.706152],[-72.76123,-51.573242],[-73.126758,-51.439941],[-73.16875,-51.453906],[-73.197021,-51.478027],[-73.163379,-51.495605],[-73.11499,-51.504492],[-72.789355,-51.614258],[-72.70459,-51.67793],[-72.649072,-51.69502],[-72.583301,-51.737305],[-72.600049,-51.799121],[-72.928369,-51.859863],[-73.188672,-51.990625],[-73.383252,-52.07002],[-73.518164,-52.041016],[-73.582324,-51.960352],[-73.650293,-51.85625],[-73.752637,-51.795508],[-73.810645,-51.801172],[-73.857568,-51.789941],[-73.894434,-51.757812],[-73.973242,-51.784473],[-74.146436,-51.712109],[-74.19668,-51.680566],[-74.06958,-51.578711],[-73.929785,-51.617871],[-73.895898,-51.331445],[-73.939502,-51.266309],[-74.12124,-51.19541],[-74.210498,-51.20459],[-74.332324,-51.19502],[-74.414355,-51.1625],[-74.507861,-51.149609],[-74.586865,-51.130664],[-74.690088,-51.086523],[-74.814746,-51.062891],[-74.983105,-50.881055],[-75.055322,-50.785547],[-75.094678,-50.68125],[-74.836621,-50.678906],[-74.685742,-50.662012],[-74.648926,-50.618457],[-74.702051,-50.535352],[-74.775879,-50.469922],[-74.72168,-50.408496],[-74.644482,-50.360938],[-74.564111,-50.382031],[-74.365576,-50.487891],[-74.331445,-50.55957],[-74.190186,-50.778027],[-74.156104,-50.797461],[-74.139404,-50.817773],[-73.847461,-50.940039],[-73.806543,-50.938379],[-73.824609,-50.83584],[-73.740576,-50.69668],[-73.659033,-50.650684],[-73.618164,-50.651172],[-73.613965,-50.62793],[-73.693262,-50.57002],[-73.654443,-50.492676],[-73.679932,-50.490234],[-73.750195,-50.539844],[-73.891504,-50.782715],[-73.978027,-50.827051],[-74.096729,-50.71709],[-74.164111,-50.637891],[-74.197217,-50.609766],[-74.185596,-50.485352],[-73.950342,-50.510547],[-74.031055,-50.469824],[-74.305566,-50.398047],[-74.374121,-50.362988],[-74.425098,-50.350195],[-74.516406,-50.265625],[-74.62959,-50.194043],[-74.434326,-50.065234],[-74.33374,-49.974609],[-74.019434,-50.022754],[-73.958594,-49.994727],[-74.01123,-49.928516],[-74.073291,-49.948535],[-74.171338,-49.907324],[-74.323926,-49.783398],[-74.31875,-49.720117],[-74.29082,-49.604102],[-74.230371,-49.579297],[-74.102002,-49.555371],[-73.955518,-49.593066],[-73.891553,-49.62373],[-73.836377,-49.609375],[-73.89248,-49.523438],[-73.988037,-49.490918],[-74.094434,-49.429688],[-74.083496,-49.361816],[-74.049219,-49.305664],[-74.023438,-49.244141],[-74.005615,-49.158008],[-74.015381,-49.090918],[-73.984766,-49.059961],[-73.937891,-49.046094],[-73.934961,-49.020898],[-74.027734,-49.026172],[-74.061328,-49.111035],[-74.073877,-49.188379],[-74.139795,-49.250488],[-74.167871,-49.320508],[-74.18457,-49.404395],[-74.221289,-49.500586],[-74.301514,-49.463965],[-74.348535,-49.42627],[-74.366553,-49.400488],[-74.358154,-49.351367],[-74.37998,-49.047852],[-74.382129,-48.793652],[-74.341016,-48.595703],[-74.227686,-48.516992],[-74.176221,-48.494141],[-74.129297,-48.504199],[-74.056934,-48.503613],[-74.009082,-48.475],[-74.171533,-48.427441],[-74.270068,-48.45459],[-74.342969,-48.492578],[-74.474414,-48.463965],[-74.499414,-48.362305],[-74.577197,-48.274414],[-74.590723,-48.161914],[-74.584668,-47.999023],[-74.400488,-48.013086],[-74.250439,-48.044922],[-73.853809,-48.042188],[-73.528174,-48.198242],[-73.384473,-48.177344],[-73.391064,-48.145898],[-73.500977,-48.106641],[-73.56958,-48.019336],[-73.609912,-47.993945],[-73.628906,-47.941504],[-73.635107,-47.880371],[-73.715869,-47.655469],[-73.748242,-47.661328],[-73.779248,-47.738477],[-73.84668,-47.866992],[-73.940869,-47.929395],[-74.084766,-47.954688],[-74.227051,-47.968945],[-74.350586,-47.944336],[-74.379346,-47.891211],[-74.376221,-47.829688],[-74.429688,-47.799609],[-74.569238,-47.772949],[-74.608887,-47.758008],[-74.654932,-47.702246],[-74.588428,-47.617969],[-74.533789,-47.567676],[-74.466895,-47.577637],[-74.403564,-47.600391],[-74.322559,-47.666699],[-74.242969,-47.679297],[-74.151953,-47.62666],[-74.134082,-47.59082],[-74.191016,-47.568359],[-74.24292,-47.559668],[-74.323682,-47.531445],[-74.482666,-47.430469],[-74.403271,-47.327539],[-74.215674,-47.20957],[-74.158398,-47.18252],[-74.208057,-47.083105],[-74.151904,-46.974414],[-74.209473,-46.884766],[-74.313574,-46.788184],[-74.454199,-46.766797],[-74.484424,-46.79502],[-74.489355,-46.83457],[-74.466992,-46.864355],[-74.480176,-46.88584],[-74.512256,-46.885156],[-74.69082,-46.863965],[-74.810645,-46.799707],[-75.005957,-46.741113],[-75.031445,-46.695312],[-75.052539,-46.628027],[-74.98418,-46.512109],[-75.01875,-46.510547],[-75.145752,-46.600098],[-75.337402,-46.64707],[-75.478418,-46.662402],[-75.540332,-46.69873],[-75.565088,-46.728711],[-75.527588,-46.746387],[-75.445996,-46.750781],[-75.386426,-46.862695],[-75.401221,-46.905664],[-75.430371,-46.93457],[-75.496631,-46.940137],[-75.635254,-46.862793],[-75.708105,-46.775],[-75.706396,-46.705273],[-75.656787,-46.610352],[-75.436914,-46.483008],[-75.376025,-46.429102],[-75.247021,-46.369336],[-75.074854,-46.23457],[-74.924463,-46.159668],[-74.997656,-46.097656],[-75.074512,-46.004492],[-75.066699,-45.874902],[-74.763135,-45.823633],[-74.630664,-45.844727],[-74.462793,-45.840723],[-74.369141,-45.809668],[-74.301172,-45.803027],[-74.157861,-45.767188],[-74.096191,-45.716797],[-74.081836,-45.67832],[-74.08252,-45.644727],[-74.099268,-45.603418],[-74.122705,-45.496191],[-74.098926,-45.460352],[-74.037549,-45.417676],[-73.957178,-45.404395],[-73.920312,-45.407715],[-73.825,-45.446875],[-73.844141,-45.502441],[-73.882324,-45.569336],[-73.960254,-45.835254],[-73.999512,-45.895313],[-74.061035,-45.947363],[-74.019922,-46.055859],[-74.081543,-46.131836],[-74.356787,-46.212695],[-74.392969,-46.217383],[-74.372461,-46.246289],[-74.213135,-46.239453],[-74.089746,-46.222363],[-73.967578,-46.154102],[-73.929199,-46.049902],[-73.878711,-45.846875],[-73.812549,-45.818164],[-73.735254,-45.811719],[-73.694873,-45.85957],[-73.70791,-45.966699],[-73.708154,-46.070312],[-73.810645,-46.377344],[-73.934814,-46.500684],[-73.948633,-46.533105],[-73.94375,-46.571582],[-73.845361,-46.566016],[-73.770264,-46.499805],[-73.716211,-46.415234],[-73.662061,-46.297461],[-73.668213,-46.212109],[-73.65166,-46.159277],[-73.629443,-45.986523],[-73.591846,-45.899121],[-73.594336,-45.776855],[-73.661963,-45.730762],[-73.756592,-45.702832],[-73.780371,-45.62793],[-73.730762,-45.47998],[-73.549902,-45.483789],[-73.378564,-45.382812],[-73.266211,-45.346191],[-73.202344,-45.353809],[-72.978174,-45.451172],[-72.933838,-45.452344],[-72.94082,-45.417285],[-72.975537,-45.392578],[-73.063867,-45.359766],[-73.226367,-45.255176],[-73.444971,-45.238184],[-73.404883,-45.102344],[-73.362451,-44.978223],[-73.256445,-44.961035],[-73.078418,-44.920215],[-72.738965,-44.73418],[-72.680078,-44.593945],[-72.663867,-44.436426],[-72.827539,-44.39541],[-73.001025,-44.292383],[-73.140967,-44.2375],[-73.265088,-44.168652],[-73.240723,-44.065723],[-73.224463,-43.897949],[-73.068799,-43.862012],[-72.996582,-43.631543],[-73.100977,-43.455176],[-73.075977,-43.323633],[-72.93999,-43.211328],[-72.915479,-43.133594],[-72.878027,-43.048145],[-72.758008,-43.039453],[-72.755371,-42.992969],[-72.766016,-42.908203],[-72.844971,-42.808008],[-72.848047,-42.669141],[-72.773926,-42.505176],[-72.654834,-42.516602],[-72.631836,-42.509668],[-72.716309,-42.410449],[-72.785156,-42.30127],[-72.773242,-42.257715],[-72.707373,-42.220508],[-72.631055,-42.199805],[-72.548437,-42.255762],[-72.430273,-42.433887],[-72.412354,-42.388184],[-72.460107,-42.206641],[-72.499414,-41.980859],[-72.623975,-42.010547],[-72.738184,-41.994629],[-72.781201,-41.95957],[-72.824072,-41.908789],[-72.783838,-41.846777],[-72.743701,-41.800586],[-72.659863,-41.74248],[-72.486035,-41.72207],[-72.3604,-41.649121],[-72.318262,-41.499023],[-72.359473,-41.513867],[-72.427734,-41.645898],[-72.542383,-41.690625],[-72.60083,-41.684082],[-72.669775,-41.659375],[-72.805127,-41.544336],[-72.87998,-41.517578],[-72.952832,-41.514746],[-73.01499,-41.543848],[-73.174072,-41.746582],[-73.241797,-41.780859],[-73.521289,-41.79707],[-73.624023,-41.773633],[-73.735156,-41.74248],[-73.721875,-41.69248],[-73.688086,-41.639258],[-73.625049,-41.611914],[-73.623926,-41.581348],[-73.710645,-41.573633],[-73.810742,-41.51748],[-73.855029,-41.446387],[-73.876172,-41.319336],[-73.965869,-41.118262],[-73.983594,-40.974316],[-73.920312,-40.871582],[-73.784033,-40.468457],[-73.74248,-40.262988],[-73.669434,-40.082324],[-73.670996,-39.963184],[-73.482227,-39.854297],[-73.4104,-39.78916],[-73.249902,-39.422363],[-73.226465,-39.224414],[-73.480762,-38.624023],[-73.520215,-38.509375],[-73.532568,-38.366797],[-73.471875,-38.130078],[-73.464795,-38.040332],[-73.516748,-37.910547],[-73.661816,-37.698535],[-73.6646,-37.59043],[-73.603418,-37.479102],[-73.662402,-37.341016],[-73.633643,-37.255469],[-73.60166,-37.188477],[-73.374561,-37.224316],[-73.271094,-37.207422],[-73.215967,-37.166895],[-73.172852,-37.053516],[-73.15127,-36.876172],[-73.137793,-36.799902],[-73.118066,-36.688379],[-73.006592,-36.643457],[-72.967822,-36.537793],[-72.874561,-36.39043],[-72.778418,-35.978516],[-72.683398,-35.876953],[-72.587354,-35.759668],[-72.623926,-35.585742],[-72.562061,-35.505371],[-72.505176,-35.446973],[-72.45498,-35.34082],[-72.386719,-35.24043],[-72.223779,-35.096191],[-72.182422,-34.920215],[-72.055957,-34.61582],[-72.030762,-34.420508],[-71.991504,-34.288477],[-72.002832,-34.165332],[-71.926855,-34.015625],[-71.853955,-33.889551],[-71.830957,-33.819531],[-71.664355,-33.652637],[-71.636279,-33.519238],[-71.695508,-33.429004],[-71.696582,-33.289062],[-71.742969,-33.095117],[-71.635547,-33.022559],[-71.592041,-32.969531],[-71.452246,-32.65957],[-71.461426,-32.537891],[-71.421289,-32.386816],[-71.513037,-32.20791],[-71.525879,-31.805859],[-71.577295,-31.496387],[-71.661963,-31.169531],[-71.653906,-30.986621],[-71.705664,-30.759277],[-71.708936,-30.628027],[-71.669482,-30.330371],[-71.400391,-30.142969],[-71.348047,-29.933203],[-71.315723,-29.649707],[-71.326709,-29.443164],[-71.353271,-29.350391],[-71.48584,-29.198242],[-71.519238,-28.926465],[-71.493604,-28.855273],[-71.384082,-28.778711],[-71.306738,-28.672461],[-71.266846,-28.50752],[-71.186426,-28.377832],[-71.154492,-28.064063],[-71.086523,-27.814453],[-71.052637,-27.727344],[-70.945801,-27.617871],[-70.925781,-27.588672],[-70.909277,-27.505176],[-70.914258,-27.30791],[-70.8979,-27.1875],[-70.812744,-26.950586],[-70.80293,-26.840918],[-70.708398,-26.596973],[-70.686963,-26.421777],[-70.646582,-26.329395],[-70.662256,-26.225391],[-70.635449,-25.992676],[-70.699609,-25.861133],[-70.713721,-25.78418],[-70.633008,-25.545605],[-70.578125,-25.4875],[-70.489502,-25.376465],[-70.452197,-25.251855],[-70.445361,-25.172656],[-70.558643,-24.778516],[-70.574121,-24.644336],[-70.546436,-24.331641],[-70.507422,-24.129688],[-70.520068,-23.968555],[-70.507422,-23.885742],[-70.487793,-23.781738],[-70.409961,-23.655566],[-70.392334,-23.565918],[-70.419629,-23.528516],[-70.511963,-23.482813],[-70.588135,-23.368359],[-70.593359,-23.255469],[-70.568848,-23.17334],[-70.563184,-23.057031],[-70.449658,-23.03418],[-70.38916,-22.969629],[-70.331689,-22.848633],[-70.259521,-22.556055],[-70.228516,-22.193164],[-70.185449,-21.974609],[-70.155078,-21.866602],[-70.12959,-21.64082],[-70.087549,-21.493066],[-70.080029,-21.356836],[-70.088379,-21.253223],[-70.197021,-20.725391],[-70.193652,-20.531445],[-70.147461,-20.229785],[-70.148145,-19.805078],[-70.157422,-19.705859],[-70.19834,-19.612988],[-70.2104,-19.486914],[-70.275781,-19.267578],[-70.334863,-18.827539],[-70.336084,-18.595215],[-70.361621,-18.398047],[-70.418262,-18.345605]]],[[[-68.629932,-52.652637],[-68.631689,-52.949512],[-68.633447,-53.241895],[-68.635059,-53.51543],[-68.63667,-53.788867],[-68.638232,-54.05293],[-68.639795,-54.324023],[-68.64751,-54.627832],[-68.653223,-54.853613],[-68.803857,-54.853613],[-68.843555,-54.876758],[-69.081641,-54.909863],[-69.486279,-54.858887],[-69.587549,-54.812793],[-69.723437,-54.712109],[-69.771826,-54.73916],[-69.899463,-54.781836],[-70.030518,-54.815527],[-70.138086,-54.819238],[-70.237793,-54.777539],[-70.259082,-54.756348],[-70.281738,-54.751758],[-70.497168,-54.80957],[-70.735156,-54.750586],[-70.924707,-54.714355],[-71.229248,-54.694141],[-71.440918,-54.619629],[-71.831543,-54.626172],[-71.901562,-54.601562],[-71.927734,-54.528711],[-71.906982,-54.494824],[-71.823437,-54.474414],[-71.800146,-54.433984],[-71.71582,-54.443652],[-71.606299,-54.497168],[-71.572754,-54.495313],[-71.500391,-54.444922],[-71.393408,-54.400195],[-71.355225,-54.39541],[-71.158838,-54.450586],[-71.079932,-54.444238],[-70.966455,-54.419531],[-70.946191,-54.398047],[-70.928174,-54.360059],[-70.898242,-54.337891],[-70.797266,-54.327246],[-70.698828,-54.348828],[-70.687549,-54.414746],[-70.701123,-54.485449],[-70.572998,-54.504395],[-70.41792,-54.502246],[-70.310986,-54.528516],[-70.297656,-54.485547],[-70.468311,-54.373242],[-70.53999,-54.303418],[-70.636133,-54.262305],[-70.759863,-54.241309],[-70.863086,-54.110449],[-70.856738,-53.995801],[-70.867725,-53.88418],[-70.644482,-53.822852],[-70.695605,-53.727441],[-70.61875,-53.655078],[-70.531299,-53.627344],[-70.443164,-53.893457],[-70.379736,-53.986719],[-70.460547,-54.005664],[-70.629834,-54.005566],[-70.535303,-54.136133],[-70.37998,-54.180664],[-70.246094,-54.277441],[-70.243359,-54.347656],[-70.168994,-54.379297],[-69.990137,-54.381348],[-69.866992,-54.36748],[-69.809082,-54.320801],[-69.741846,-54.305859],[-69.62168,-54.364063],[-69.419287,-54.407129],[-69.364795,-54.437598],[-69.325098,-54.488184],[-69.322461,-54.542676],[-69.312061,-54.571484],[-69.253174,-54.557422],[-69.169189,-54.483301],[-69.127881,-54.457617],[-69.077246,-54.44502],[-69.045215,-54.428418],[-69.044336,-54.406738],[-69.195654,-54.354395],[-69.988135,-54.109082],[-70.085596,-54.011133],[-70.151123,-53.888086],[-70.148828,-53.761133],[-70.091113,-53.721777],[-69.949707,-53.671582],[-69.689746,-53.600879],[-69.389941,-53.499414],[-69.352441,-53.47998],[-69.355957,-53.416309],[-69.393555,-53.373437],[-69.512549,-53.341992],[-69.637012,-53.334082],[-69.755615,-53.337207],[-69.874121,-53.350488],[-70.090381,-53.418164],[-70.212842,-53.413965],[-70.329297,-53.377637],[-70.415674,-53.304785],[-70.460254,-53.20625],[-70.459961,-53.143359],[-70.443359,-53.085547],[-70.390674,-53.026465],[-70.32002,-53.000684],[-70.256348,-53.004102],[-70.196484,-52.990234],[-70.160889,-52.969922],[-70.130615,-52.942773],[-70.139551,-52.919336],[-70.162744,-52.899023],[-70.25918,-52.857227],[-70.297363,-52.816992],[-70.380127,-52.751953],[-70.334912,-52.733789],[-70.189648,-52.723633],[-70.088232,-52.768555],[-69.993555,-52.821289],[-69.935449,-52.821094],[-69.883203,-52.799023],[-69.763574,-52.731348],[-69.663281,-52.646289],[-69.571875,-52.549316],[-69.498389,-52.491406],[-69.414062,-52.48623],[-69.167041,-52.667578],[-69.079932,-52.674316],[-68.789795,-52.576758],[-68.75752,-52.582031],[-68.659229,-52.631543],[-68.629932,-52.652637]]],[[[-67.079932,-55.153809],[-67.109473,-55.19209],[-67.172559,-55.242578],[-67.257422,-55.281836],[-67.339697,-55.292578],[-67.399268,-55.272266],[-67.429395,-55.236523],[-67.443262,-55.201172],[-67.463477,-55.181738],[-67.494727,-55.177441],[-67.535254,-55.178516],[-67.585205,-55.191992],[-67.691455,-55.242969],[-67.736963,-55.256445],[-67.767773,-55.25957],[-68.07002,-55.221094],[-68.099512,-55.206836],[-68.135107,-55.172656],[-68.174316,-55.071289],[-68.301367,-54.980664],[-68.106934,-54.929395],[-67.874121,-54.929688],[-67.424561,-54.968945],[-67.245264,-54.977637],[-67.107324,-55.063574],[-67.085498,-55.115234],[-67.079932,-55.153809]]],[[[-73.773389,-43.345898],[-73.848584,-43.366797],[-73.918701,-43.371973],[-73.989941,-43.356641],[-74.114404,-43.35791],[-74.238574,-43.318848],[-74.354932,-43.263574],[-74.387354,-43.231641],[-74.373145,-43.185742],[-74.289355,-43.079492],[-74.209473,-42.878711],[-74.156299,-42.590527],[-74.198828,-42.481348],[-74.193555,-42.436035],[-74.174072,-42.381543],[-74.164355,-42.325488],[-74.170312,-42.268945],[-74.160205,-42.216406],[-74.072314,-42.105859],[-74.059375,-42.05625],[-74.056836,-42.002344],[-74.018799,-41.890918],[-74.030518,-41.854004],[-74.063037,-41.822754],[-74.03667,-41.795508],[-73.730957,-41.877246],[-73.527832,-41.896289],[-73.516943,-41.980859],[-73.477783,-42.047168],[-73.454492,-42.165918],[-73.4229,-42.192871],[-73.439258,-42.277832],[-73.532812,-42.314453],[-73.524561,-42.392578],[-73.470801,-42.466309],[-73.549268,-42.492578],[-73.633887,-42.508203],[-73.653467,-42.528711],[-73.714746,-42.544727],[-73.789258,-42.585742],[-73.766846,-42.621875],[-73.673047,-42.704395],[-73.568262,-42.761621],[-73.510742,-42.847168],[-73.436328,-42.936523],[-73.472656,-42.993262],[-73.54082,-43.07373],[-73.649609,-43.127148],[-73.749658,-43.159082],[-73.737891,-43.291406],[-73.773389,-43.345898]]],[[[-74.476172,-49.147852],[-74.466797,-49.294531],[-74.483594,-49.441895],[-74.52207,-49.622949],[-74.515771,-49.65957],[-74.47085,-49.668555],[-74.458838,-49.691113],[-74.471973,-49.78623],[-74.496094,-49.859473],[-74.542578,-49.919141],[-74.569824,-49.990723],[-74.594727,-50.006641],[-74.703369,-50.019238],[-74.762988,-50.011426],[-74.81084,-49.929688],[-74.824707,-49.879492],[-74.821924,-49.813867],[-74.88042,-49.725879],[-74.882227,-49.692188],[-74.859326,-49.63418],[-74.812012,-49.605273],[-74.804834,-49.516016],[-74.781006,-49.489258],[-74.727051,-49.452344],[-74.718848,-49.437012],[-74.723828,-49.423828],[-74.743848,-49.422461],[-74.960107,-49.533008],[-74.981299,-49.56416],[-74.99082,-49.605664],[-74.993506,-49.751758],[-75.031543,-49.83623],[-75.066016,-49.852344],[-75.166943,-49.855957],[-75.300098,-49.847461],[-75.451172,-49.769922],[-75.549805,-49.791309],[-75.570117,-49.69707],[-75.520752,-49.62168],[-75.337061,-49.628223],[-75.305859,-49.494043],[-75.364209,-49.4625],[-75.428857,-49.408398],[-75.46748,-49.358887],[-75.433154,-49.32207],[-75.32666,-49.268652],[-75.269629,-49.262891],[-75.216846,-49.292773],[-75.086035,-49.270215],[-75.093701,-49.185352],[-75.210156,-49.148047],[-75.184229,-49.083594],[-75.037109,-49.02207],[-74.949219,-48.960156],[-74.945215,-48.889453],[-74.980762,-48.818848],[-74.969531,-48.791309],[-74.89624,-48.733203],[-74.793457,-48.705078],[-74.74668,-48.708887],[-74.651562,-48.749902],[-74.566602,-48.754785],[-74.546094,-48.766895],[-74.530664,-48.812598],[-74.476172,-49.147852]]],[[[-75.510254,-48.763477],[-75.622852,-48.764648],[-75.650928,-48.586328],[-75.518457,-48.328809],[-75.509033,-48.230664],[-75.553516,-48.156738],[-75.571484,-48.095898],[-75.560693,-48.070898],[-75.391406,-48.019727],[-75.338379,-48.074023],[-75.275488,-48.218457],[-75.155518,-48.425195],[-75.158496,-48.622656],[-75.225098,-48.671387],[-75.433984,-48.721191],[-75.510254,-48.763477]]],[[[-74.385742,-52.922363],[-74.369336,-52.931445],[-74.32998,-52.929297],[-74.274609,-52.945508],[-74.065967,-52.965332],[-73.879199,-53.012207],[-73.781787,-53.056055],[-73.654004,-53.069824],[-73.549268,-53.125684],[-73.504541,-53.140039],[-73.450586,-53.144336],[-73.310352,-53.247656],[-73.30249,-53.259473],[-73.143359,-53.340918],[-73.135205,-53.353906],[-73.225732,-53.358398],[-73.409375,-53.320508],[-73.501025,-53.318457],[-73.567285,-53.306836],[-73.582812,-53.300195],[-73.595947,-53.25293],[-73.61709,-53.229688],[-73.793506,-53.120703],[-73.866943,-53.096875],[-73.993994,-53.075781],[-74.138574,-53.090527],[-74.236377,-53.076465],[-74.270215,-53.081543],[-74.414404,-52.994922],[-74.558301,-52.921875],[-74.619922,-52.834766],[-74.711523,-52.768164],[-74.712012,-52.74873],[-74.669971,-52.733887],[-74.571533,-52.771289],[-74.474561,-52.835645],[-74.422266,-52.860059],[-74.385742,-52.922363]]],[[[-74.567285,-48.591992],[-74.586279,-48.615723],[-74.70957,-48.601172],[-74.923047,-48.626465],[-75.012842,-48.535742],[-75.052148,-48.391406],[-75.078906,-48.361523],[-75.131934,-48.279297],[-75.158496,-48.225293],[-75.212891,-48.141699],[-75.233887,-48.053418],[-75.247266,-48.026758],[-75.198291,-47.974609],[-74.975098,-47.922852],[-74.895654,-47.839355],[-74.827441,-47.850391],[-74.846191,-48.020801],[-74.805225,-48.078223],[-74.729297,-48.125879],[-74.715234,-48.145508],[-74.702393,-48.205859],[-74.664355,-48.299316],[-74.615137,-48.343066],[-74.602441,-48.370313],[-74.600146,-48.393066],[-74.618213,-48.425195],[-74.567285,-48.591992]]],[[[-72.923242,-53.481641],[-72.896289,-53.562793],[-72.882227,-53.57832],[-72.809375,-53.565332],[-72.685498,-53.55791],[-72.482275,-53.588086],[-72.459229,-53.598828],[-72.3729,-53.6875],[-72.306689,-53.725391],[-72.20542,-53.807422],[-72.30625,-53.862109],[-72.365967,-53.94082],[-72.369141,-53.980762],[-72.408545,-54.003809],[-72.470508,-54.027734],[-72.562891,-54.07373],[-72.676562,-54.078906],[-72.788623,-54.103125],[-72.840381,-54.125098],[-72.870996,-54.126563],[-72.907275,-54.114648],[-72.946094,-54.09209],[-72.958594,-54.065918],[-72.881738,-54.041602],[-72.781689,-53.954785],[-72.76377,-53.864844],[-72.871729,-53.848535],[-72.936133,-53.86084],[-72.984229,-53.860547],[-73.039453,-53.832813],[-73.073047,-53.875293],[-73.085547,-53.915918],[-73.07085,-53.978027],[-73.080762,-53.998047],[-73.119971,-54.009375],[-73.210645,-53.98584],[-73.304736,-53.943945],[-73.312158,-53.919629],[-73.292871,-53.83584],[-73.294922,-53.79209],[-73.314355,-53.729199],[-73.324805,-53.722656],[-73.360107,-53.724023],[-73.470947,-53.736133],[-73.581641,-53.655469],[-73.641504,-53.570312],[-73.845459,-53.545801],[-73.686523,-53.426855],[-73.44707,-53.410059],[-73.365869,-53.470215],[-73.099365,-53.511914],[-73.115332,-53.448047],[-73.110889,-53.425195],[-73.074316,-53.396777],[-73.053613,-53.394434],[-73.02207,-53.414551],[-72.970947,-53.423047],[-72.947266,-53.44248],[-72.923242,-53.481641]]],[[[-74.822949,-51.630176],[-74.780127,-51.824707],[-74.749512,-51.851855],[-74.647461,-51.866211],[-74.536816,-51.965137],[-74.531836,-51.991992],[-74.665967,-52.160059],[-74.694482,-52.279199],[-74.851807,-52.270703],[-74.917725,-52.152246],[-75.017139,-52.037891],[-75.050684,-51.903906],[-75.105371,-51.788867],[-75.008105,-51.72373],[-74.915186,-51.738281],[-74.909668,-51.65],[-74.822949,-51.630176]]],[[[-69.702979,-54.919043],[-68.900781,-55.017773],[-68.653516,-54.95791],[-68.458008,-54.959668],[-68.399805,-55.041992],[-68.598096,-55.12832],[-68.613281,-55.155566],[-68.585547,-55.177734],[-68.381738,-55.191602],[-68.330078,-55.219434],[-68.282666,-55.255176],[-68.322754,-55.308203],[-68.326562,-55.332715],[-68.30542,-55.356641],[-68.152588,-55.436914],[-68.089893,-55.47832],[-68.058301,-55.517969],[-68.045557,-55.5875],[-68.04834,-55.643164],[-68.082666,-55.650586],[-68.15708,-55.633691],[-68.229639,-55.601562],[-68.293359,-55.521387],[-68.338037,-55.505273],[-68.466699,-55.489063],[-68.594189,-55.45],[-68.693555,-55.452246],[-68.78501,-55.435645],[-68.867041,-55.450195],[-68.896143,-55.423828],[-68.931299,-55.370605],[-68.93208,-55.347363],[-68.888965,-55.263281],[-68.890088,-55.241211],[-68.912646,-55.238574],[-69.008203,-55.255762],[-69.046826,-55.244336],[-69.150781,-55.183398],[-69.192627,-55.171875],[-69.29707,-55.16582],[-69.356152,-55.273926],[-69.359229,-55.300684],[-69.299023,-55.369336],[-69.180859,-55.474805],[-69.24082,-55.476758],[-69.411816,-55.444238],[-69.455713,-55.424023],[-69.508691,-55.370898],[-69.610254,-55.339941],[-69.645898,-55.320898],[-69.656299,-55.298438],[-69.657373,-55.229004],[-69.679834,-55.218945],[-69.824023,-55.236523],[-69.853711,-55.219824],[-69.865771,-55.190625],[-69.886768,-55.174121],[-69.979785,-55.147461],[-69.987988,-55.130762],[-69.946533,-55.111035],[-69.92085,-55.061133],[-69.884424,-54.882031],[-69.702979,-54.919043]]],[[[-71.390479,-54.032813],[-71.16875,-54.112598],[-71.021924,-54.111816],[-71.022852,-54.161719],[-71.004883,-54.24668],[-71.028027,-54.281152],[-71.082959,-54.316309],[-71.117529,-54.366309],[-71.143262,-54.374023],[-71.304639,-54.313574],[-71.473291,-54.231152],[-71.558105,-54.245605],[-71.670605,-54.225391],[-71.76123,-54.229785],[-71.817578,-54.276465],[-71.948535,-54.300879],[-71.972363,-54.207227],[-72.091553,-54.11875],[-72.210449,-54.047754],[-72.146045,-53.938867],[-72.068945,-53.921289],[-71.996484,-53.884863],[-71.705127,-53.92334],[-71.55415,-53.956055],[-71.390479,-54.032813]]],[[[-73.735352,-44.394531],[-73.78457,-44.4375],[-73.862305,-44.445117],[-73.983301,-44.494824],[-73.996045,-44.537988],[-74.002051,-44.590918],[-73.918555,-44.654687],[-73.877393,-44.728809],[-73.827881,-44.839844],[-73.792139,-44.945801],[-73.795361,-44.978613],[-73.786475,-45.033594],[-73.727148,-45.119043],[-73.72168,-45.157617],[-73.728174,-45.195898],[-73.7521,-45.266797],[-73.770996,-45.276563],[-73.829883,-45.283496],[-73.834473,-45.326562],[-73.848975,-45.340625],[-74.01626,-45.344922],[-74.099072,-45.325391],[-74.089258,-45.195703],[-74.195215,-45.144824],[-74.267969,-45.058984],[-74.349902,-44.91084],[-74.41875,-44.865234],[-74.498828,-44.748145],[-74.617773,-44.647949],[-74.480518,-44.58457],[-74.501807,-44.473535],[-74.42168,-44.435449],[-74.301221,-44.395703],[-74.2125,-44.426953],[-74.132812,-44.415918],[-74.097217,-44.389355],[-74.108105,-44.275879],[-74.082812,-44.186426],[-73.994922,-44.140234],[-73.900195,-44.134863],[-73.864551,-44.185352],[-73.817773,-44.234961],[-73.703223,-44.274121],[-73.703711,-44.325391],[-73.735352,-44.394531]]],[[[-72.986133,-44.780078],[-73.228467,-44.859961],[-73.35,-44.833203],[-73.39707,-44.774316],[-73.420068,-44.724805],[-73.445068,-44.641016],[-73.403662,-44.596094],[-73.314941,-44.531348],[-73.281982,-44.489551],[-73.266016,-44.440234],[-73.271582,-44.394141],[-73.26001,-44.350293],[-73.207715,-44.334961],[-73.028418,-44.384082],[-72.842432,-44.457715],[-72.776367,-44.508594],[-72.764062,-44.549023],[-72.845312,-44.638477],[-72.897168,-44.712012],[-72.986133,-44.780078]]],[[[-75.04248,-44.890137],[-75.06748,-44.906543],[-75.09873,-44.901758],[-75.124219,-44.869922],[-75.142139,-44.815625],[-75.107422,-44.795117],[-75.079492,-44.795117],[-75.048437,-44.823926],[-75.032227,-44.870508],[-75.04248,-44.890137]]],[[[-75.302002,-50.67998],[-75.330469,-50.772363],[-75.411377,-50.764355],[-75.438525,-50.741113],[-75.452637,-50.68252],[-75.477393,-50.654199],[-75.442676,-50.595508],[-75.419775,-50.530371],[-75.427637,-50.480566],[-75.303711,-50.483984],[-75.156152,-50.496777],[-75.115332,-50.510449],[-75.160449,-50.554395],[-75.203418,-50.580664],[-75.292334,-50.596875],[-75.302002,-50.67998]]],[[[-75.106689,-48.836523],[-75.115088,-48.916016],[-75.262695,-49.068945],[-75.389941,-49.15918],[-75.506104,-49.230664],[-75.580371,-49.22998],[-75.641162,-49.19541],[-75.572852,-49.138867],[-75.487646,-49.082422],[-75.514551,-49.00957],[-75.540137,-48.988477],[-75.576172,-48.980762],[-75.637842,-48.942578],[-75.619141,-48.885938],[-75.583105,-48.858887],[-75.535254,-48.838184],[-75.490479,-48.850488],[-75.297266,-48.810645],[-75.236182,-48.778613],[-75.118604,-48.772949],[-75.106689,-48.836523]]],[[[-75.112207,-47.837695],[-75.18584,-47.850684],[-75.194336,-47.818066],[-75.261035,-47.763867],[-75.203125,-47.728027],[-75.089844,-47.690625],[-75.003955,-47.694727],[-74.926465,-47.723145],[-74.916016,-47.756641],[-75.05127,-47.800488],[-75.084473,-47.824512],[-75.112207,-47.837695]]],[[[-74.66875,-43.607812],[-74.810449,-43.625391],[-74.842676,-43.595508],[-74.841992,-43.570312],[-74.817676,-43.549414],[-74.74502,-43.535938],[-74.697461,-43.553027],[-74.672656,-43.577441],[-74.664795,-43.599609],[-74.66875,-43.607812]]],[[[-73.632178,-44.821484],[-73.664844,-44.83291],[-73.69458,-44.831152],[-73.724756,-44.796875],[-73.734863,-44.75166],[-73.800146,-44.684082],[-73.818457,-44.652148],[-73.816992,-44.613965],[-73.779492,-44.55918],[-73.723926,-44.544238],[-73.686475,-44.546289],[-73.641211,-44.61084],[-73.628223,-44.680762],[-73.616602,-44.75293],[-73.632178,-44.821484]]],[[[-74.558643,-51.277051],[-74.560889,-51.36084],[-74.592578,-51.3875],[-74.620361,-51.395703],[-74.690723,-51.370215],[-74.730908,-51.367383],[-74.797363,-51.411719],[-74.85332,-51.43418],[-74.93667,-51.42832],[-75.047363,-51.39834],[-75.146289,-51.524316],[-75.192432,-51.566699],[-75.289111,-51.625391],[-75.300049,-51.556445],[-75.238477,-51.453516],[-75.21001,-51.383301],[-75.153662,-51.278809],[-75.040332,-51.318164],[-74.881445,-51.279492],[-74.73667,-51.207617],[-74.611572,-51.207129],[-74.570508,-51.24541],[-74.558643,-51.277051]]],[[[-75.054785,-50.296094],[-75.250391,-50.37627],[-75.307861,-50.343066],[-75.449121,-50.343359],[-75.412109,-50.256641],[-75.397852,-50.192676],[-75.376709,-50.167969],[-75.368848,-50.112695],[-75.32666,-50.011816],[-75.209668,-50.04541],[-75.122559,-50.055273],[-75.004248,-50.088672],[-74.875977,-50.109961],[-74.838574,-50.197266],[-74.963379,-50.237305],[-75.054785,-50.296094]]],[[[-73.810645,-43.827246],[-73.789648,-43.876465],[-73.833643,-43.883203],[-73.90415,-43.875391],[-73.938281,-43.914258],[-73.955664,-43.921973],[-74.117773,-43.8875],[-74.142969,-43.872168],[-74.139941,-43.820996],[-73.967187,-43.816504],[-73.856934,-43.783789],[-73.841406,-43.788965],[-73.810645,-43.827246]]],[[[-74.142187,-51.931055],[-74.17207,-51.94209],[-74.283105,-51.91875],[-74.338672,-51.897949],[-74.423633,-51.845117],[-74.437109,-51.790625],[-74.475391,-51.725684],[-74.450781,-51.724902],[-74.362109,-51.750684],[-74.325684,-51.770215],[-74.277051,-51.811621],[-74.133398,-51.870898],[-74.11543,-51.888477],[-74.118896,-51.911133],[-74.142187,-51.931055]]],[[[-74.312891,-45.691504],[-74.368457,-45.73584],[-74.465527,-45.757227],[-74.561621,-45.722461],[-74.677734,-45.738574],[-74.689844,-45.662598],[-74.646436,-45.6],[-74.558398,-45.525586],[-74.494678,-45.425879],[-74.502344,-45.285156],[-74.45,-45.25293],[-74.421875,-45.203223],[-74.310547,-45.172656],[-74.2854,-45.277246],[-74.31543,-45.464063],[-74.240039,-45.574512],[-74.229199,-45.611328],[-74.243896,-45.653613],[-74.312891,-45.691504]]],[[[-67.575195,-55.889648],[-67.611426,-55.891699],[-67.699512,-55.873145],[-67.831543,-55.864844],[-67.846436,-55.857227],[-67.849707,-55.842578],[-67.834082,-55.827539],[-67.762061,-55.816113],[-67.544824,-55.825977],[-67.517285,-55.832813],[-67.509814,-55.844336],[-67.545264,-55.877441],[-67.575195,-55.889648]]],[[[-66.472119,-55.229102],[-66.551709,-55.272852],[-66.611133,-55.269922],[-66.630176,-55.254102],[-66.636621,-55.234375],[-66.624756,-55.213086],[-66.599707,-55.193652],[-66.541553,-55.169434],[-66.523145,-55.165527],[-66.435791,-55.189746],[-66.472119,-55.229102]]],[[[-70.991602,-54.867969],[-70.945117,-54.931348],[-70.92793,-54.942969],[-70.804834,-54.967676],[-70.749316,-54.952734],[-70.615283,-54.945605],[-70.534766,-54.921289],[-70.417529,-54.908887],[-70.283057,-55.065918],[-70.297852,-55.11377],[-70.40415,-55.165625],[-70.475586,-55.177051],[-70.543457,-55.161328],[-70.538721,-55.134961],[-70.551074,-55.111914],[-70.597461,-55.082031],[-70.640918,-55.084863],[-70.710986,-55.106934],[-70.744434,-55.104199],[-70.815479,-55.079883],[-70.939844,-55.061914],[-70.964502,-55.039648],[-70.967285,-55.006836],[-70.990723,-54.99043],[-71.120361,-54.937793],[-71.20332,-54.892969],[-71.273633,-54.886914],[-71.299316,-54.892285],[-71.325342,-54.91377],[-71.388574,-54.934277],[-71.406641,-54.930859],[-71.426904,-54.91377],[-71.437207,-54.889258],[-71.410547,-54.839355],[-71.374268,-54.83457],[-71.19707,-54.844434],[-71.088623,-54.86748],[-70.991602,-54.867969]]],[[[-67.288867,-55.776855],[-67.325293,-55.784766],[-67.352246,-55.766016],[-67.393359,-55.752734],[-67.559961,-55.724805],[-67.563477,-55.707813],[-67.546143,-55.683691],[-67.512793,-55.662012],[-67.448828,-55.640625],[-67.397363,-55.585156],[-67.374072,-55.589355],[-67.350586,-55.612109],[-67.310449,-55.688672],[-67.262451,-55.74375],[-67.267285,-55.762793],[-67.288867,-55.776855]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":3,"SOVEREIGNT":"Chad","SOV_A3":"TCD","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Chad","ADM0_A3":"TCD","GEOU_DIF":0,"GEOUNIT":"Chad","GU_A3":"TCD","SU_DIF":0,"SUBUNIT":"Chad","SU_A3":"TCD","BRK_DIFF":0,"NAME":"Chad","NAME_LONG":"Chad","BRK_A3":"TCD","BRK_NAME":"Chad","BRK_GROUP":null,"ABBREV":"Chad","POSTAL":"TD","FORMAL_EN":"Republic of Chad","FORMAL_FR":null,"NAME_CIAWF":"Chad","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Chad","NAME_ALT":null,"MAPCOLOR7":6,"MAPCOLOR8":1,"MAPCOLOR9":8,"MAPCOLOR13":6,"POP_EST":15946876,"POP_RANK":14,"POP_YEAR":2019,"GDP_MD":11314,"GDP_YEAR":2019,"ECONOMY":"7. Least developed region","INCOME_GRP":"5. Low income","FIPS_10":"CD","ISO_A2":"TD","ISO_A2_EH":"TD","ISO_A3":"TCD","ISO_A3_EH":"TCD","ISO_N3":"148","ISO_N3_EH":"148","UN_A3":"148","WB_A2":"TD","WB_A3":"TCD","WOE_ID":23424777,"WOE_ID_EH":23424777,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"TCD","ADM0_DIFF":null,"ADM0_TLC":"TCD","ADM0_A3_US":"TCD","ADM0_A3_FR":"TCD","ADM0_A3_RU":"TCD","ADM0_A3_ES":"TCD","ADM0_A3_CN":"TCD","ADM0_A3_TW":"TCD","ADM0_A3_IN":"TCD","ADM0_A3_NP":"TCD","ADM0_A3_PK":"TCD","ADM0_A3_DE":"TCD","ADM0_A3_GB":"TCD","ADM0_A3_BR":"TCD","ADM0_A3_IL":"TCD","ADM0_A3_PS":"TCD","ADM0_A3_SA":"TCD","ADM0_A3_EG":"TCD","ADM0_A3_MA":"TCD","ADM0_A3_PT":"TCD","ADM0_A3_AR":"TCD","ADM0_A3_JP":"TCD","ADM0_A3_KO":"TCD","ADM0_A3_VN":"TCD","ADM0_A3_TR":"TCD","ADM0_A3_ID":"TCD","ADM0_A3_PL":"TCD","ADM0_A3_GR":"TCD","ADM0_A3_IT":"TCD","ADM0_A3_NL":"TCD","ADM0_A3_SE":"TCD","ADM0_A3_BD":"TCD","ADM0_A3_UA":"TCD","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Africa","REGION_UN":"Africa","SUBREGION":"Middle Africa","REGION_WB":"Sub-Saharan Africa","NAME_LEN":4,"LONG_LEN":4,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":3,"MAX_LABEL":8,"LABEL_X":18.645041,"LABEL_Y":15.142959,"NE_ID":1159321301,"WIKIDATAID":"Q657","NAME_AR":"تشاد","NAME_BN":"চাদ","NAME_DE":"Tschad","NAME_EN":"Chad","NAME_ES":"Chad","NAME_FA":"چاد","NAME_FR":"Tchad","NAME_EL":"Τσαντ","NAME_HE":"צ'אד","NAME_HI":"चाड","NAME_HU":"Csád","NAME_ID":"Chad","NAME_IT":"Ciad","NAME_JA":"チャド","NAME_KO":"차드","NAME_NL":"Tsjaad","NAME_PL":"Czad","NAME_PT":"Chade","NAME_RU":"Чад","NAME_SV":"Tchad","NAME_TR":"Çad","NAME_UK":"Чад","NAME_UR":"چاڈ","NAME_VI":"Tchad","NAME_ZH":"乍得","NAME_ZHT":"查德","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[13.448242,7.475293,23.983398,23.445215],"geometry":{"type":"Polygon","coordinates":[[[23.980273,19.496631],[23.980664,19.050586],[23.981055,18.604541],[23.981445,18.158496],[23.981836,17.712402],[23.982227,17.266357],[23.98252,16.820264],[23.98291,16.374219],[23.983301,15.928125],[23.983398,15.780176],[23.970801,15.721533],[23.965234,15.713428],[23.945996,15.703516],[23.708203,15.744971],[23.604004,15.745996],[23.458008,15.713965],[23.243457,15.697217],[23.105176,15.702539],[23.00918,15.62583],[22.933887,15.533105],[22.969531,15.311328],[22.961328,15.238135],[22.932324,15.162109],[22.867188,15.096631],[22.802148,15.044434],[22.763281,14.998682],[22.714941,14.898389],[22.679199,14.851465],[22.682422,14.788623],[22.670898,14.722461],[22.631836,14.688086],[22.532031,14.662744],[22.467773,14.63335],[22.416211,14.585205],[22.381543,14.550488],[22.399707,14.504199],[22.425,14.441211],[22.439355,14.342139],[22.449316,14.284229],[22.49834,14.237061],[22.528223,14.203223],[22.538574,14.161865],[22.509961,14.127441],[22.388184,14.055518],[22.339355,14.028857],[22.283496,13.992334],[22.262109,13.978711],[22.173145,13.910596],[22.128223,13.850146],[22.106445,13.799805],[22.107617,13.730322],[22.15293,13.626416],[22.202344,13.538086],[22.221387,13.471631],[22.232617,13.398779],[22.228125,13.32959],[22.202637,13.269336],[22.158008,13.215039],[21.990234,13.113086],[21.907715,13.000977],[21.841797,12.864746],[21.825293,12.790527],[21.843359,12.741211],[21.878125,12.699365],[21.928125,12.678125],[22.000684,12.671875],[22.121191,12.69458],[22.233398,12.709473],[22.352344,12.660449],[22.414453,12.546387],[22.390234,12.462988],[22.435254,12.311914],[22.475488,12.129248],[22.472461,12.067773],[22.489844,12.044727],[22.564355,12.032959],[22.580957,11.990137],[22.556348,11.669531],[22.591113,11.579883],[22.641016,11.515918],[22.697363,11.482666],[22.754004,11.439844],[22.783398,11.409961],[22.849023,11.403271],[22.922656,11.344873],[22.942773,11.267187],[22.937695,11.192041],[22.894824,11.029004],[22.860059,10.919678],[22.817383,10.927197],[22.730176,10.954053],[22.624023,10.977344],[22.493848,10.99624],[22.369824,10.951514],[22.235938,10.894141],[22.193652,10.851367],[22.15625,10.826074],[22.097168,10.830078],[22.043164,10.822705],[22.01377,10.782031],[21.964844,10.73667],[21.771484,10.642822],[21.730664,10.608691],[21.706543,10.574805],[21.706543,10.537891],[21.726172,10.461621],[21.725781,10.366553],[21.682715,10.289844],[21.632715,10.238281],[21.575781,10.218555],[21.528027,10.207812],[21.496875,10.175684],[21.395996,10.001367],[21.352441,9.969141],[21.263867,9.974609],[21.009473,9.713232],[20.98418,9.636279],[20.891016,9.527148],[20.773242,9.405664],[20.668164,9.347119],[20.659668,9.324512],[20.631445,9.301367],[20.566895,9.274951],[20.34209,9.1271],[20.072656,9.133203],[19.953516,9.075146],[19.837695,9.049365],[19.668359,9.020898],[19.61748,9.023584],[19.400293,9.011621],[19.145508,9.015967],[19.047852,8.99502],[18.95625,8.938867],[18.888281,8.889746],[18.87832,8.873193],[18.888574,8.85249],[18.886035,8.836035],[19.06416,8.71543],[19.108691,8.656152],[19.063867,8.598828],[19.042383,8.590283],[19.039844,8.586914],[19.01084,8.541211],[18.906445,8.405078],[18.747461,8.243799],[18.666211,8.197705],[18.633594,8.167725],[18.591602,8.060791],[18.56416,8.045898],[18.455078,8.032031],[18.238867,8.020361],[17.940137,7.985449],[17.76084,7.973828],[17.649414,7.983594],[17.492676,7.909814],[17.436426,7.890918],[17.402148,7.88457],[17.246973,7.812988],[17.117969,7.701904],[17.071973,7.680811],[16.890332,7.633691],[16.818164,7.557324],[16.784766,7.550977],[16.668359,7.651758],[16.588965,7.743359],[16.550195,7.835889],[16.545313,7.865479],[16.523242,7.859961],[16.459375,7.818994],[16.404395,7.772363],[16.378906,7.683545],[16.191113,7.623437],[16.030664,7.572119],[15.957617,7.507568],[15.84502,7.475293],[15.70127,7.488428],[15.589258,7.515039],[15.480078,7.523779],[15.532422,7.604395],[15.552637,7.664502],[15.557813,7.738037],[15.549805,7.787891],[15.484473,7.812744],[15.442969,7.851855],[15.349023,8.083838],[15.252344,8.322363],[15.116211,8.557324],[14.967969,8.707275],[14.860742,8.798633],[14.82627,8.810303],[14.771289,8.83916],[14.732813,8.865674],[14.536133,9.025244],[14.332324,9.203516],[14.280078,9.285059],[14.17793,9.406494],[14.06416,9.531738],[14.00498,9.588721],[13.977246,9.691553],[14.055957,9.784375],[14.139746,9.901807],[14.243262,9.979736],[14.377246,9.985059],[14.597949,9.953076],[14.83584,9.941699],[15.071582,9.965967],[15.132715,9.982861],[15.193164,9.981494],[15.32002,9.954297],[15.540918,9.960303],[15.654883,10.007812],[15.531934,10.088477],[15.399902,10.216895],[15.276074,10.357373],[15.200977,10.484521],[15.132227,10.648486],[15.068652,10.851074],[15.029883,11.113672],[15.035742,11.2625],[15.055469,11.368555],[15.121973,11.54126],[15.078027,11.642578],[15.087695,11.724365],[15.08125,11.845508],[15.059863,11.907129],[14.973828,12.10835],[14.956738,12.130371],[14.880664,12.269385],[14.84707,12.5021],[14.76123,12.655615],[14.623242,12.729932],[14.544727,12.820215],[14.516211,12.979736],[14.461719,13.021777],[14.244824,13.077344],[14.063965,13.078516],[13.932324,13.258496],[13.763477,13.489551],[13.606348,13.70459],[13.505762,14.134424],[13.448242,14.380664],[13.513672,14.455518],[13.642383,14.630762],[13.807129,14.966113],[14.178223,15.484766],[14.367969,15.750146],[14.74668,16.146631],[15.212109,16.633887],[15.474316,16.908398],[15.516699,17.408496],[15.561523,17.937256],[15.595508,18.337061],[15.637598,18.81084],[15.672949,19.206787],[15.698633,19.495215],[15.735059,19.904053],[15.766211,19.982568],[15.948828,20.303174],[15.963184,20.346191],[15.929297,20.399854],[15.668457,20.672363],[15.587109,20.733301],[15.540332,20.874902],[15.607324,20.954395],[15.293652,21.411523],[15.21582,21.467432],[15.181836,21.523389],[15.177832,21.605811],[15.172266,21.92207],[15.088965,22.418359],[14.979004,22.996191],[15.347461,23.160693],[15.627148,23.285742],[15.984082,23.445215],[16.315039,23.281836],[16.794141,23.045264],[17.273242,22.808691],[17.752246,22.572119],[18.231348,22.335547],[18.710449,22.098975],[19.189453,21.862402],[19.668555,21.62583],[20.147656,21.389258],[20.626758,21.152637],[21.105859,20.916113],[21.584961,20.679492],[22.064063,20.44292],[22.543066,20.206348],[23.022168,19.969775],[23.50127,19.733203],[23.980273,19.496631]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":4,"SOVEREIGNT":"Central African Republic","SOV_A3":"CAF","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Central African Republic","ADM0_A3":"CAF","GEOU_DIF":0,"GEOUNIT":"Central African Republic","GU_A3":"CAF","SU_DIF":0,"SUBUNIT":"Central African Republic","SU_A3":"CAF","BRK_DIFF":0,"NAME":"Central African Rep.","NAME_LONG":"Central African Republic","BRK_A3":"CAF","BRK_NAME":"Central African Rep.","BRK_GROUP":null,"ABBREV":"C.A.R.","POSTAL":"CF","FORMAL_EN":"Central African Republic","FORMAL_FR":null,"NAME_CIAWF":"Central African Republic","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Central African Republic","NAME_ALT":null,"MAPCOLOR7":5,"MAPCOLOR8":6,"MAPCOLOR9":6,"MAPCOLOR13":9,"POP_EST":4745185,"POP_RANK":12,"POP_YEAR":2019,"GDP_MD":2220,"GDP_YEAR":2019,"ECONOMY":"7. Least developed region","INCOME_GRP":"5. Low income","FIPS_10":"CT","ISO_A2":"CF","ISO_A2_EH":"CF","ISO_A3":"CAF","ISO_A3_EH":"CAF","ISO_N3":"140","ISO_N3_EH":"140","UN_A3":"140","WB_A2":"CF","WB_A3":"CAF","WOE_ID":23424792,"WOE_ID_EH":23424792,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"CAF","ADM0_DIFF":null,"ADM0_TLC":"CAF","ADM0_A3_US":"CAF","ADM0_A3_FR":"CAF","ADM0_A3_RU":"CAF","ADM0_A3_ES":"CAF","ADM0_A3_CN":"CAF","ADM0_A3_TW":"CAF","ADM0_A3_IN":"CAF","ADM0_A3_NP":"CAF","ADM0_A3_PK":"CAF","ADM0_A3_DE":"CAF","ADM0_A3_GB":"CAF","ADM0_A3_BR":"CAF","ADM0_A3_IL":"CAF","ADM0_A3_PS":"CAF","ADM0_A3_SA":"CAF","ADM0_A3_EG":"CAF","ADM0_A3_MA":"CAF","ADM0_A3_PT":"CAF","ADM0_A3_AR":"CAF","ADM0_A3_JP":"CAF","ADM0_A3_KO":"CAF","ADM0_A3_VN":"CAF","ADM0_A3_TR":"CAF","ADM0_A3_ID":"CAF","ADM0_A3_PL":"CAF","ADM0_A3_GR":"CAF","ADM0_A3_IT":"CAF","ADM0_A3_NL":"CAF","ADM0_A3_SE":"CAF","ADM0_A3_BD":"CAF","ADM0_A3_UA":"CAF","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Africa","REGION_UN":"Africa","SUBREGION":"Middle Africa","REGION_WB":"Sub-Saharan Africa","NAME_LEN":20,"LONG_LEN":24,"ABBREV_LEN":6,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":4,"MAX_LABEL":9,"LABEL_X":20.906897,"LABEL_Y":6.989681,"NE_ID":1159320463,"WIKIDATAID":"Q929","NAME_AR":"جمهورية أفريقيا الوسطى","NAME_BN":"মধ্য আফ্রিকান প্রজাতন্ত্র","NAME_DE":"Zentralafrikanische Republik","NAME_EN":"Central African Republic","NAME_ES":"República Centroafricana","NAME_FA":"جمهوری آفریقای مرکزی","NAME_FR":"République centrafricaine","NAME_EL":"Κεντροαφρικανική Δημοκρατία","NAME_HE":"הרפובליקה המרכז-אפריקאית","NAME_HI":"मध्य अफ़्रीकी गणराज्य","NAME_HU":"Közép-afrikai Köztársaság","NAME_ID":"Republik Afrika Tengah","NAME_IT":"Repubblica Centrafricana","NAME_JA":"中央アフリカ共和国","NAME_KO":"중앙아프리카 공화국","NAME_NL":"Centraal-Afrikaanse Republiek","NAME_PL":"Republika Środkowoafrykańska","NAME_PT":"República Centro-Africana","NAME_RU":"Центральноафриканская Республика","NAME_SV":"Centralafrikanska republiken","NAME_TR":"Orta Afrika Cumhuriyeti","NAME_UK":"Центральноафриканська Республіка","NAME_UR":"وسطی افریقی جمہوریہ","NAME_VI":"Cộng hòa Trung Phi","NAME_ZH":"中非共和国","NAME_ZHT":"中非共和國","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[14.431152,2.270068,27.40332,10.99624],"geometry":{"type":"Polygon","coordinates":[[[24.147363,8.665625],[24.194824,8.653369],[24.220898,8.608252],[24.17998,8.461133],[24.208398,8.369141],[24.291406,8.291406],[24.375488,8.258447],[24.456055,8.239453],[24.736719,8.191553],[24.85332,8.137549],[25.007227,7.964844],[25.200391,7.80791],[25.247363,7.724561],[25.238672,7.648975],[25.181348,7.557227],[25.190137,7.519336],[25.278906,7.42749],[25.380664,7.333398],[25.566602,7.228711],[25.888965,7.064941],[26.036523,6.955225],[26.086914,6.872119],[26.169336,6.781738],[26.28457,6.699023],[26.361816,6.635303],[26.308594,6.455322],[26.324609,6.39624],[26.35332,6.344922],[26.420508,6.27417],[26.447461,6.183008],[26.514258,6.069238],[26.593652,6.017529],[26.726367,5.998242],[26.796484,5.945508],[26.942285,5.854932],[27.083398,5.776855],[27.143945,5.722949],[27.18125,5.675146],[27.213379,5.618799],[27.229102,5.5625],[27.23252,5.440771],[27.256738,5.289648],[27.332422,5.186328],[27.40332,5.10918],[27.114941,5.197852],[27.071875,5.199756],[27.020605,5.184375],[26.870117,5.075684],[26.82207,5.062402],[26.767578,5.071924],[26.632617,5.085205],[26.173535,5.171143],[25.819922,5.253711],[25.713867,5.283691],[25.525098,5.312109],[25.400195,5.255908],[25.283105,5.062695],[25.249316,5.024561],[25.065234,4.967432],[24.978418,4.982959],[24.765527,4.930078],[24.437109,5.009961],[24.319824,4.994141],[24.227734,4.953857],[23.991699,4.86626],[23.848438,4.816357],[23.681836,4.770801],[23.523633,4.70127],[23.417188,4.663135],[23.312891,4.663525],[23.218848,4.702979],[23.115918,4.736914],[22.992871,4.743848],[22.864551,4.723877],[22.755762,4.64668],[22.711719,4.591748],[22.617188,4.445557],[22.505664,4.207666],[22.461816,4.159766],[22.449707,4.155127],[22.422168,4.134961],[21.908203,4.253906],[21.687012,4.281396],[21.537598,4.244824],[21.350195,4.311377],[21.268359,4.323096],[21.229785,4.302197],[21.125586,4.332178],[20.955762,4.413135],[20.792969,4.447314],[20.647461,4.435645],[20.558105,4.462695],[20.486523,4.541553],[20.393555,4.686182],[20.226367,4.829639],[20.002344,4.944727],[19.8625,5.031299],[19.806543,5.089307],[19.686035,5.121387],[19.500977,5.12749],[19.323438,5.070752],[19.068555,4.891406],[18.831738,4.523438],[18.699902,4.382617],[18.594141,4.34624],[18.56748,4.257568],[18.619922,4.116602],[18.633691,3.954297],[18.59668,3.678711],[18.610352,3.478418],[18.553809,3.510205],[18.499805,3.604102],[18.474414,3.622998],[18.318164,3.580811],[18.237109,3.542676],[18.193945,3.50542],[18.160938,3.499805],[18.111328,3.551074],[18.072266,3.560303],[18.010742,3.55083],[17.947949,3.551758],[17.907129,3.558398],[17.880371,3.553857],[17.806641,3.58418],[17.537695,3.661621],[17.491602,3.687305],[17.437988,3.684619],[17.298438,3.617188],[17.224707,3.598437],[17.002539,3.556689],[16.764355,3.536279],[16.67334,3.535205],[16.610742,3.505371],[16.57041,3.463086],[16.543066,3.369531],[16.496289,3.208838],[16.476758,3.165137],[16.480078,3.100977],[16.466211,2.993213],[16.45957,2.896533],[16.468555,2.831738],[16.40127,2.701025],[16.319629,2.542773],[16.251758,2.406787],[16.183398,2.270068],[16.136133,2.36377],[16.106738,2.473486],[16.095508,2.599219],[16.101855,2.632666],[16.083496,2.67002],[16.082129,2.678174],[16.059277,2.772998],[16.082422,2.839111],[16.063477,2.908594],[16.008203,2.97666],[15.958008,3.028711],[15.928711,3.075781],[15.904883,3.09585],[15.849316,3.103076],[15.775,3.127197],[15.676563,3.229687],[15.580859,3.329297],[15.458398,3.456836],[15.360156,3.567139],[15.239844,3.702148],[15.128711,3.826904],[15.062109,3.947217],[15.034863,4.016357],[15.067383,4.022949],[15.11543,4.024463],[15.13584,4.036914],[15.136914,4.069141],[15.0875,4.163965],[15.063574,4.284863],[15.022754,4.358545],[14.893555,4.471875],[14.77041,4.558105],[14.73125,4.602393],[14.708984,4.665576],[14.661719,5.065527],[14.640625,5.179053],[14.601758,5.228809],[14.573535,5.251709],[14.562988,5.279932],[14.568066,5.351074],[14.584375,5.414746],[14.583594,5.439648],[14.616895,5.495508],[14.616895,5.865137],[14.598828,5.883984],[14.577246,5.916016],[14.54248,5.913574],[14.503125,5.916895],[14.463867,5.970703],[14.431152,6.038721],[14.440723,6.086719],[14.475,6.126807],[14.512109,6.161914],[14.559375,6.191211],[14.699512,6.250244],[14.739258,6.279785],[14.764063,6.316357],[14.780371,6.365723],[14.861914,6.555713],[14.982715,6.745312],[15.03457,6.784424],[15.086328,6.909912],[15.157129,7.063574],[15.18584,7.134912],[15.206738,7.206152],[15.245898,7.263574],[15.379102,7.358154],[15.480078,7.523779],[15.589258,7.515039],[15.70127,7.488428],[15.84502,7.475293],[15.957617,7.507568],[16.030664,7.572119],[16.191113,7.623437],[16.378906,7.683545],[16.404395,7.772363],[16.459375,7.818994],[16.523242,7.859961],[16.545313,7.865479],[16.550195,7.835889],[16.588965,7.743359],[16.668359,7.651758],[16.784766,7.550977],[16.818164,7.557324],[16.890332,7.633691],[17.071973,7.680811],[17.117969,7.701904],[17.246973,7.812988],[17.402148,7.88457],[17.436426,7.890918],[17.492676,7.909814],[17.649414,7.983594],[17.76084,7.973828],[17.940137,7.985449],[18.238867,8.020361],[18.455078,8.032031],[18.56416,8.045898],[18.591602,8.060791],[18.633594,8.167725],[18.666211,8.197705],[18.747461,8.243799],[18.906445,8.405078],[19.01084,8.541211],[19.039844,8.586914],[19.042383,8.590283],[19.063867,8.598828],[19.108691,8.656152],[19.06416,8.71543],[18.886035,8.836035],[18.888574,8.85249],[18.87832,8.873193],[18.888281,8.889746],[18.95625,8.938867],[19.047852,8.99502],[19.145508,9.015967],[19.400293,9.011621],[19.61748,9.023584],[19.668359,9.020898],[19.837695,9.049365],[19.953516,9.075146],[20.072656,9.133203],[20.34209,9.1271],[20.566895,9.274951],[20.631445,9.301367],[20.659668,9.324512],[20.668164,9.347119],[20.773242,9.405664],[20.891016,9.527148],[20.98418,9.636279],[21.009473,9.713232],[21.263867,9.974609],[21.352441,9.969141],[21.395996,10.001367],[21.496875,10.175684],[21.528027,10.207812],[21.575781,10.218555],[21.632715,10.238281],[21.682715,10.289844],[21.725781,10.366553],[21.726172,10.461621],[21.706543,10.537891],[21.706543,10.574805],[21.730664,10.608691],[21.771484,10.642822],[21.964844,10.73667],[22.01377,10.782031],[22.043164,10.822705],[22.097168,10.830078],[22.15625,10.826074],[22.193652,10.851367],[22.235938,10.894141],[22.369824,10.951514],[22.493848,10.99624],[22.624023,10.977344],[22.730176,10.954053],[22.817383,10.927197],[22.860059,10.919678],[22.930762,10.795312],[22.964355,10.751807],[23.255859,10.457812],[23.312305,10.387939],[23.456641,10.174268],[23.54502,10.030078],[23.646289,9.8229],[23.65625,9.710352],[23.642773,9.613916],[23.622656,9.340625],[23.596094,9.261914],[23.468262,9.114746],[23.462793,9.048486],[23.489063,8.993311],[23.528027,8.970605],[23.551855,8.943213],[23.537305,8.81582],[23.583203,8.76582],[23.679297,8.732471],[23.921973,8.709717],[24.048145,8.691309],[24.147363,8.665625]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":4,"SOVEREIGNT":"Cabo Verde","SOV_A3":"CPV","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Cabo Verde","ADM0_A3":"CPV","GEOU_DIF":0,"GEOUNIT":"Cabo Verde","GU_A3":"CPV","SU_DIF":0,"SUBUNIT":"Cabo Verde","SU_A3":"CPV","BRK_DIFF":0,"NAME":"Cabo Verde","NAME_LONG":"Republic of Cabo Verde","BRK_A3":"CPV","BRK_NAME":"Cabo Verde","BRK_GROUP":null,"ABBREV":"C.Vd.","POSTAL":"CV","FORMAL_EN":"Republic of Cabo Verde","FORMAL_FR":null,"NAME_CIAWF":"Cabo Verde","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Cabo Verde","NAME_ALT":null,"MAPCOLOR7":1,"MAPCOLOR8":1,"MAPCOLOR9":4,"MAPCOLOR13":11,"POP_EST":549935,"POP_RANK":11,"POP_YEAR":2019,"GDP_MD":1981,"GDP_YEAR":2019,"ECONOMY":"6. Developing region","INCOME_GRP":"4. Lower middle income","FIPS_10":"CV","ISO_A2":"CV","ISO_A2_EH":"CV","ISO_A3":"CPV","ISO_A3_EH":"CPV","ISO_N3":"132","ISO_N3_EH":"132","UN_A3":"132","WB_A2":"CV","WB_A3":"CPV","WOE_ID":23424794,"WOE_ID_EH":23424794,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"CPV","ADM0_DIFF":null,"ADM0_TLC":"CPV","ADM0_A3_US":"CPV","ADM0_A3_FR":"CPV","ADM0_A3_RU":"CPV","ADM0_A3_ES":"CPV","ADM0_A3_CN":"CPV","ADM0_A3_TW":"CPV","ADM0_A3_IN":"CPV","ADM0_A3_NP":"CPV","ADM0_A3_PK":"CPV","ADM0_A3_DE":"CPV","ADM0_A3_GB":"CPV","ADM0_A3_BR":"CPV","ADM0_A3_IL":"CPV","ADM0_A3_PS":"CPV","ADM0_A3_SA":"CPV","ADM0_A3_EG":"CPV","ADM0_A3_MA":"CPV","ADM0_A3_PT":"CPV","ADM0_A3_AR":"CPV","ADM0_A3_JP":"CPV","ADM0_A3_KO":"CPV","ADM0_A3_VN":"CPV","ADM0_A3_TR":"CPV","ADM0_A3_ID":"CPV","ADM0_A3_PL":"CPV","ADM0_A3_GR":"CPV","ADM0_A3_IT":"CPV","ADM0_A3_NL":"CPV","ADM0_A3_SE":"CPV","ADM0_A3_BD":"CPV","ADM0_A3_UA":"CPV","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Africa","REGION_UN":"Africa","SUBREGION":"Western Africa","REGION_WB":"Sub-Saharan Africa","NAME_LEN":10,"LONG_LEN":22,"ABBREV_LEN":5,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":4,"MAX_LABEL":9,"LABEL_X":-23.639434,"LABEL_Y":15.074761,"NE_ID":1159320523,"WIKIDATAID":"Q1011","NAME_AR":"الرأس الأخضر","NAME_BN":"কাবু ভের্দি","NAME_DE":"Kap Verde","NAME_EN":"Cape Verde","NAME_ES":"Cabo Verde","NAME_FA":"کیپ ورد","NAME_FR":"Cap-Vert","NAME_EL":"Πράσινο Ακρωτήριο","NAME_HE":"כף ורדה","NAME_HI":"केप वर्दे","NAME_HU":"Zöld-foki Köztársaság","NAME_ID":"Tanjung Verde","NAME_IT":"Capo Verde","NAME_JA":"カーボベルデ","NAME_KO":"카보베르데","NAME_NL":"Kaapverdië","NAME_PL":"Republika Zielonego Przylądka","NAME_PT":"Cabo Verde","NAME_RU":"Кабо-Верде","NAME_SV":"Kap Verde","NAME_TR":"Yeşil Burun Adaları","NAME_UK":"Кабо-Верде","NAME_UR":"کیپ ورڈی","NAME_VI":"Cabo Verde","NAME_ZH":"佛得角","NAME_ZHT":"維德角","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[-25.341553,14.818213,-22.681885,17.193652],"geometry":{"type":"MultiPolygon","coordinates":[[[[-25.169824,16.946484],[-25.267236,16.925928],[-25.308301,16.93584],[-25.321924,17.015381],[-25.341553,17.067725],[-25.337109,17.091016],[-25.113477,17.193652],[-25.034668,17.176465],[-24.979687,17.094727],[-25.01709,17.049316],[-25.169824,16.946484]]],[[[-23.444238,15.007959],[-23.504687,14.916113],[-23.637207,14.923486],[-23.705371,14.961328],[-23.78501,15.076904],[-23.78252,15.166113],[-23.754492,15.243555],[-23.759375,15.310791],[-23.748096,15.328516],[-23.707227,15.316895],[-23.700635,15.271631],[-23.57998,15.160889],[-23.535254,15.139258],[-23.444238,15.007959]]],[[[-24.887061,16.818115],[-24.969141,16.794189],[-25.019971,16.797217],[-25.093066,16.83252],[-25.070117,16.870703],[-24.991016,16.913232],[-24.936475,16.922119],[-24.891895,16.846484],[-24.887061,16.818115]]],[[[-22.917725,16.237256],[-22.834326,16.218994],[-22.802637,16.225537],[-22.749414,16.221533],[-22.692627,16.169043],[-22.681885,16.113281],[-22.710107,16.043359],[-22.820508,15.986035],[-22.884082,15.992725],[-22.959277,16.045117],[-22.916113,16.148438],[-22.917725,16.237256]]],[[[-24.308252,14.856299],[-24.386133,14.818213],[-24.440527,14.834814],[-24.492188,14.874219],[-24.51709,14.93125],[-24.496875,14.980273],[-24.391992,15.038281],[-24.329492,15.019482],[-24.295801,14.929541],[-24.308252,14.856299]]],[[[-24.087695,16.62251],[-24.046387,16.593066],[-24.032715,16.572021],[-24.094141,16.561035],[-24.243066,16.599414],[-24.282812,16.575928],[-24.322363,16.493115],[-24.398096,16.618408],[-24.39292,16.664453],[-24.376709,16.677783],[-24.271094,16.644873],[-24.087695,16.62251]]],[[[-22.88833,16.659082],[-22.920264,16.60791],[-22.959424,16.683057],[-22.980615,16.700879],[-22.990918,16.808838],[-22.93291,16.841016],[-22.904736,16.84375],[-22.903906,16.732129],[-22.88833,16.659082]]],[[[-23.182129,15.136768],[-23.209961,15.133105],[-23.251807,15.178125],[-23.24248,15.240527],[-23.247168,15.256982],[-23.210254,15.323535],[-23.137744,15.317725],[-23.119336,15.268408],[-23.115869,15.16665],[-23.182129,15.136768]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":2,"SOVEREIGNT":"Canada","SOV_A3":"CAN","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Canada","ADM0_A3":"CAN","GEOU_DIF":0,"GEOUNIT":"Canada","GU_A3":"CAN","SU_DIF":0,"SUBUNIT":"Canada","SU_A3":"CAN","BRK_DIFF":0,"NAME":"Canada","NAME_LONG":"Canada","BRK_A3":"CAN","BRK_NAME":"Canada","BRK_GROUP":null,"ABBREV":"Can.","POSTAL":"CA","FORMAL_EN":"Canada","FORMAL_FR":null,"NAME_CIAWF":"Canada","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Canada","NAME_ALT":null,"MAPCOLOR7":6,"MAPCOLOR8":6,"MAPCOLOR9":2,"MAPCOLOR13":2,"POP_EST":37589262,"POP_RANK":15,"POP_YEAR":2019,"GDP_MD":1736425,"GDP_YEAR":2019,"ECONOMY":"1. Developed region: G7","INCOME_GRP":"1. High income: OECD","FIPS_10":"CA","ISO_A2":"CA","ISO_A2_EH":"CA","ISO_A3":"CAN","ISO_A3_EH":"CAN","ISO_N3":"124","ISO_N3_EH":"124","UN_A3":"124","WB_A2":"CA","WB_A3":"CAN","WOE_ID":23424775,"WOE_ID_EH":23424775,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"CAN","ADM0_DIFF":null,"ADM0_TLC":"CAN","ADM0_A3_US":"CAN","ADM0_A3_FR":"CAN","ADM0_A3_RU":"CAN","ADM0_A3_ES":"CAN","ADM0_A3_CN":"CAN","ADM0_A3_TW":"CAN","ADM0_A3_IN":"CAN","ADM0_A3_NP":"CAN","ADM0_A3_PK":"CAN","ADM0_A3_DE":"CAN","ADM0_A3_GB":"CAN","ADM0_A3_BR":"CAN","ADM0_A3_IL":"CAN","ADM0_A3_PS":"CAN","ADM0_A3_SA":"CAN","ADM0_A3_EG":"CAN","ADM0_A3_MA":"CAN","ADM0_A3_PT":"CAN","ADM0_A3_AR":"CAN","ADM0_A3_JP":"CAN","ADM0_A3_KO":"CAN","ADM0_A3_VN":"CAN","ADM0_A3_TR":"CAN","ADM0_A3_ID":"CAN","ADM0_A3_PL":"CAN","ADM0_A3_GR":"CAN","ADM0_A3_IT":"CAN","ADM0_A3_NL":"CAN","ADM0_A3_SE":"CAN","ADM0_A3_BD":"CAN","ADM0_A3_UA":"CAN","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"North America","REGION_UN":"Americas","SUBREGION":"Northern America","REGION_WB":"North America","NAME_LEN":6,"LONG_LEN":6,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":1.7,"MAX_LABEL":5.7,"LABEL_X":-101.9107,"LABEL_Y":60.324287,"NE_ID":1159320467,"WIKIDATAID":"Q16","NAME_AR":"كندا","NAME_BN":"কানাডা","NAME_DE":"Kanada","NAME_EN":"Canada","NAME_ES":"Canadá","NAME_FA":"کانادا","NAME_FR":"Canada","NAME_EL":"Καναδάς","NAME_HE":"קנדה","NAME_HI":"कनाडा","NAME_HU":"Kanada","NAME_ID":"Kanada","NAME_IT":"Canada","NAME_JA":"カナダ","NAME_KO":"캐나다","NAME_NL":"Canada","NAME_PL":"Kanada","NAME_PT":"Canadá","NAME_RU":"Канада","NAME_SV":"Kanada","NAME_TR":"Kanada","NAME_UK":"Канада","NAME_UR":"کینیڈا","NAME_VI":"Canada","NAME_ZH":"加拿大","NAME_ZHT":"加拿大","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[-141.002148,41.674854,-52.653662,83.116113],"geometry":{"type":"MultiPolygon","coordinates":[[[[-132.655518,54.12749],[-132.564063,54.068652],[-132.344434,54.106055],[-132.303369,54.098877],[-132.261621,54.076318],[-132.215918,54.028418],[-132.166113,53.955225],[-132.155127,53.875195],[-132.175098,53.846533],[-132.214502,53.814746],[-132.564893,53.687646],[-132.574121,53.675391],[-132.567139,53.663965],[-132.534668,53.651709],[-132.464404,53.65332],[-132.186963,53.684814],[-132.17168,53.706836],[-132.152246,53.806982],[-132.114014,53.860156],[-132.110596,53.900293],[-132.135889,53.99585],[-132.134424,54.034277],[-131.94082,54.041992],[-131.819629,54.077344],[-131.695947,54.143164],[-131.667627,54.141357],[-131.6854,54.022803],[-131.702539,53.986377],[-131.821143,53.841504],[-131.88916,53.713965],[-131.922314,53.587891],[-131.928076,53.379199],[-131.957422,53.308691],[-132.011328,53.265186],[-132.347266,53.189209],[-132.520459,53.194043],[-132.674805,53.263184],[-132.74751,53.310498],[-132.692578,53.367871],[-132.654785,53.370557],[-132.54624,53.359277],[-132.462402,53.337891],[-132.425,53.336963],[-132.431348,53.350439],[-132.670166,53.458594],[-132.84502,53.507715],[-132.897998,53.562695],[-132.899561,53.605371],[-132.913379,53.629199],[-133.052246,53.778125],[-133.079492,53.837012],[-133.097656,53.920264],[-133.097949,54.005615],[-133.063867,54.144043],[-133.048389,54.158936],[-132.991455,54.157812],[-132.893066,54.140771],[-132.655518,54.12749]]],[[[-131.753711,53.195557],[-131.652344,53.102979],[-131.622168,53.020068],[-131.634668,52.922168],[-131.795264,52.885059],[-131.879687,52.914648],[-131.916357,52.909131],[-131.971777,52.879834],[-131.904395,52.866699],[-131.810059,52.818701],[-131.727295,52.756396],[-131.610596,52.745215],[-131.455225,52.701709],[-131.572803,52.62334],[-131.590576,52.578223],[-131.443896,52.45332],[-131.42998,52.422119],[-131.383008,52.415723],[-131.273633,52.42583],[-131.259717,52.415918],[-131.259961,52.390039],[-131.327051,52.317529],[-131.319922,52.303076],[-131.25918,52.29165],[-131.142627,52.291113],[-131.116162,52.219092],[-131.221533,52.153613],[-131.421875,52.237988],[-131.511133,52.32207],[-131.562061,52.399951],[-131.623682,52.443994],[-131.809668,52.541699],[-132.092236,52.752783],[-132.165088,52.783301],[-132.238574,52.866797],[-132.259961,52.906982],[-132.258105,52.933887],[-132.229541,52.948096],[-132.144922,52.957471],[-132.14375,52.999316],[-132.468701,53.071875],[-132.504834,53.086719],[-132.546777,53.1375],[-132.524219,53.144922],[-132.34541,53.136084],[-132.153906,53.160498],[-132.035937,53.17915],[-131.989502,53.201953],[-131.893115,53.231445],[-131.853467,53.229736],[-131.753711,53.195557]]],[[[-127.197314,50.640381],[-126.700928,50.515527],[-126.203857,50.453857],[-125.83916,50.380811],[-125.615234,50.358545],[-125.534326,50.34248],[-125.48208,50.316797],[-125.420459,50.254639],[-125.313965,50.106689],[-125.233203,50.012207],[-125.066406,49.848193],[-124.934668,49.731641],[-124.904639,49.685352],[-124.932422,49.670459],[-124.930664,49.643164],[-124.830615,49.530078],[-124.642871,49.428662],[-124.495947,49.380273],[-124.185889,49.300586],[-123.995801,49.224023],[-123.937158,49.170801],[-123.854492,49.119189],[-123.82002,49.083496],[-123.752295,48.951221],[-123.626563,48.824023],[-123.497021,48.58208],[-123.472852,48.602295],[-123.457959,48.674414],[-123.443066,48.690479],[-123.415479,48.698193],[-123.389893,48.670215],[-123.366309,48.606445],[-123.283789,48.455176],[-123.310645,48.411035],[-123.334521,48.406494],[-123.445898,48.427246],[-123.48457,48.400098],[-123.536475,48.344971],[-123.573145,48.322803],[-123.594629,48.333545],[-123.916943,48.386572],[-124.115234,48.436426],[-124.376221,48.515234],[-124.689404,48.597314],[-124.868262,48.653613],[-125.017236,48.711475],[-125.120703,48.760791],[-125.140283,48.802637],[-125.135693,48.822412],[-124.934766,48.956348],[-124.849658,49.028271],[-124.817041,49.083301],[-124.800244,49.141553],[-124.812646,49.212646],[-124.820752,49.207129],[-124.838721,49.139062],[-124.868311,49.078516],[-124.904443,49.031006],[-124.927344,49.014209],[-125.168213,48.991016],[-125.362744,48.998242],[-125.460303,48.941064],[-125.489453,48.933789],[-125.543115,48.952832],[-125.660498,49.02915],[-125.828516,49.091846],[-125.811963,49.107227],[-125.702295,49.139209],[-125.644238,49.185791],[-125.654639,49.193213],[-125.693701,49.190381],[-125.728027,49.199854],[-125.796387,49.260205],[-125.835449,49.27666],[-125.918359,49.249512],[-125.95166,49.248047],[-125.983838,49.287891],[-125.937695,49.379785],[-125.9354,49.401465],[-126.020312,49.368018],[-126.04834,49.379004],[-126.074902,49.408789],[-126.099854,49.421289],[-126.168848,49.415186],[-126.243604,49.442676],[-126.269727,49.431885],[-126.279639,49.392187],[-126.304492,49.382031],[-126.418604,49.449023],[-126.444531,49.451123],[-126.499854,49.399951],[-126.519141,49.396777],[-126.548535,49.418945],[-126.563721,49.543262],[-126.557471,49.578613],[-126.541895,49.590479],[-126.442773,49.619287],[-126.157813,49.650146],[-126.134082,49.672314],[-126.347559,49.66084],[-126.403174,49.677734],[-126.462793,49.720215],[-126.525244,49.71958],[-126.558252,49.733398],[-126.592871,49.764111],[-126.683105,49.876465],[-126.744629,49.904932],[-126.849365,49.922803],[-126.90332,49.944141],[-126.926074,49.934717],[-126.947949,49.902686],[-126.9771,49.882812],[-127.04873,49.871533],[-127.114307,49.879736],[-127.165527,49.910449],[-127.195898,49.94917],[-127.20752,49.992432],[-127.179102,50.050293],[-127.179639,50.073145],[-127.192334,50.099902],[-127.215674,50.121484],[-127.249805,50.137988],[-127.268408,50.129346],[-127.271533,50.095557],[-127.290039,50.07085],[-127.349414,50.051953],[-127.3979,50.08501],[-127.429785,50.130859],[-127.467139,50.163428],[-127.674854,50.16333],[-127.770459,50.121143],[-127.816309,50.117725],[-127.863916,50.127734],[-127.872998,50.150098],[-127.828174,50.211426],[-127.83916,50.293213],[-127.85083,50.313721],[-127.94668,50.326221],[-127.962939,50.345996],[-127.905859,50.445215],[-127.874023,50.463965],[-127.831543,50.471045],[-127.641406,50.479102],[-127.578125,50.464941],[-127.486523,50.404639],[-127.489355,50.427344],[-127.524023,50.495752],[-127.529004,50.536768],[-127.465918,50.583105],[-127.526221,50.59668],[-127.751465,50.607373],[-127.749707,50.577734],[-127.731152,50.535742],[-127.864697,50.498877],[-127.963672,50.492627],[-128.05835,50.498486],[-128.135645,50.520557],[-128.267432,50.609277],[-128.349902,50.696582],[-128.346045,50.744238],[-128.30083,50.794141],[-128.241553,50.828174],[-128.101318,50.857764],[-127.918066,50.860547],[-127.713037,50.820752],[-127.197314,50.640381]]],[[[-130.025098,55.888232],[-130.014062,55.950537],[-130.0229,56.014502],[-130.055957,56.065234],[-130.097852,56.109277],[-130.214697,56.082812],[-130.413135,56.12251],[-130.4771,56.230566],[-130.649072,56.263672],[-130.741699,56.34082],[-130.930225,56.378613],[-131.08291,56.404834],[-131.199414,56.449219],[-131.335791,56.501221],[-131.471875,56.556738],[-131.575098,56.598828],[-131.651514,56.596094],[-131.824268,56.58999],[-131.833105,56.684814],[-131.885986,56.742139],[-131.866162,56.792822],[-131.9625,56.818701],[-132.104297,56.856787],[-132.062891,56.953369],[-132.031543,57.026562],[-132.157031,57.048193],[-132.337988,57.079443],[-132.279395,57.145361],[-132.232178,57.198535],[-132.30166,57.276318],[-132.44248,57.406738],[-132.550488,57.499902],[-132.691504,57.645117],[-132.815527,57.772705],[-132.916846,57.877002],[-133.001416,57.948975],[-133.12041,58.077734],[-133.275293,58.222852],[-133.422559,58.337061],[-133.401123,58.410889],[-133.546387,58.503467],[-133.673926,58.597168],[-133.820752,58.705029],[-133.965723,58.757861],[-134.069189,58.795508],[-134.218506,58.849902],[-134.296973,58.898486],[-134.329639,58.939697],[-134.363525,58.96875],[-134.393066,59.00918],[-134.410205,59.05625],[-134.440771,59.085352],[-134.621973,59.155322],[-134.677246,59.199268],[-134.802393,59.25],[-134.907227,59.271191],[-134.94375,59.288281],[-135.071289,59.441455],[-135.05083,59.496045],[-135.03667,59.550684],[-135.051025,59.578662],[-135.260791,59.69502],[-135.367871,59.743311],[-135.475928,59.793262],[-135.702588,59.72876],[-135.934668,59.662646],[-136.097168,59.638379],[-136.321826,59.604834],[-136.247119,59.53291],[-136.277979,59.480322],[-136.347852,59.456055],[-136.466357,59.459082],[-136.466748,59.279932],[-136.57876,59.152246],[-136.813281,59.150049],[-136.939307,59.106104],[-137.126221,59.040967],[-137.277539,58.988184],[-137.438574,58.903125],[-137.520898,58.915381],[-137.48418,58.991211],[-137.543701,59.119434],[-137.593311,59.22627],[-137.696631,59.281152],[-137.870557,59.373584],[-138.001123,59.44292],[-138.187451,59.541943],[-138.317627,59.611133],[-138.453613,59.683398],[-138.632275,59.778271],[-138.705469,59.901318],[-138.86875,59.945752],[-139.043457,59.993262],[-139.185156,60.083594],[-139.136963,60.172705],[-139.079248,60.279443],[-139.079248,60.343701],[-139.234766,60.339746],[-139.467969,60.333691],[-139.676318,60.32832],[-139.830664,60.252881],[-139.973291,60.183154],[-140.196924,60.2375],[-140.452832,60.299707],[-140.525439,60.218359],[-140.762744,60.259131],[-141.002148,60.300244],[-141.002148,60.592432],[-141.002148,60.884668],[-141.002148,61.176855],[-141.002148,61.469043],[-141.002148,61.761279],[-141.002148,62.053467],[-141.002148,62.345703],[-141.002148,62.637891],[-141.002148,62.930078],[-141.002148,63.222266],[-141.002148,63.514453],[-141.002148,63.806689],[-141.002148,64.098877],[-141.002148,64.391113],[-141.002148,64.683301],[-141.002148,64.975537],[-141.002148,65.267725],[-141.002148,65.559912],[-141.002148,65.852148],[-141.002148,66.144336],[-141.002148,66.436523],[-141.002148,66.72876],[-141.002148,67.020947],[-141.002148,67.313135],[-141.002148,67.605371],[-141.002148,67.897559],[-141.002148,68.189746],[-141.002148,68.481982],[-141.002148,68.77417],[-141.002148,69.066357],[-141.002148,69.358594],[-141.002148,69.650781],[-140.86001,69.635254],[-140.405127,69.60249],[-139.976611,69.621729],[-139.181543,69.515527],[-138.689893,69.316797],[-138.291016,69.219043],[-138.128369,69.151953],[-137.869434,69.092822],[-137.259961,68.964111],[-137.07041,68.950879],[-136.717334,68.88916],[-136.498682,68.897314],[-136.122363,68.882227],[-135.86665,68.832617],[-135.362158,68.696436],[-135.258838,68.684326],[-135.231201,68.694287],[-135.406934,68.828955],[-135.43457,68.841992],[-135.637988,68.892236],[-135.876318,68.916992],[-135.894727,68.926709],[-135.939014,68.97417],[-135.924756,68.992627],[-135.872852,69.001025],[-135.695215,69.000635],[-135.58999,69.008252],[-135.575537,69.026953],[-135.65127,69.031299],[-135.742627,69.049414],[-135.849707,69.081396],[-135.910205,69.111475],[-135.691455,69.311182],[-135.614941,69.291016],[-135.499561,69.337158],[-135.292822,69.307861],[-135.25498,69.323828],[-135.229785,69.425195],[-135.199023,69.449609],[-135.14082,69.467822],[-134.852881,69.485889],[-134.493848,69.46792],[-134.456836,69.477637],[-134.491211,69.545313],[-134.495361,69.571924],[-134.473682,69.632812],[-134.451465,69.665479],[-134.408936,69.681787],[-134.242041,69.668848],[-134.189893,69.638818],[-134.134033,69.587256],[-134.07749,69.557861],[-133.899951,69.528223],[-133.879785,69.507715],[-133.947461,69.429492],[-134.018408,69.388477],[-134.165039,69.280566],[-134.174316,69.252832],[-133.948047,69.301318],[-133.694043,69.368408],[-133.475928,69.405371],[-133.293652,69.412158],[-133.163135,69.433887],[-133.084424,69.470654],[-133.028271,69.508252],[-132.915332,69.629639],[-132.840332,69.650684],[-132.526807,69.643262],[-132.452344,69.646924],[-132.403906,69.65874],[-132.412744,69.674072],[-132.478955,69.692871],[-132.568359,69.698145],[-132.570605,69.706689],[-132.537549,69.726563],[-132.488477,69.738086],[-132.333984,69.751807],[-132.232422,69.708154],[-132.163428,69.70498],[-131.934131,69.753467],[-131.581836,69.882129],[-131.440918,69.91792],[-131.318945,69.92417],[-131.215869,69.900781],[-131.136377,69.906885],[-131.031836,69.979492],[-130.990625,70.018115],[-130.926172,70.051611],[-130.665479,70.127051],[-130.498437,70.143164],[-130.396387,70.129248],[-130.274951,70.097998],[-130.174951,70.085889],[-130.043311,70.095068],[-129.944971,70.090918],[-129.898047,70.106152],[-129.730078,70.19209],[-129.675635,70.192969],[-129.622998,70.167627],[-129.538428,70.105176],[-129.538184,70.073926],[-129.648291,69.997754],[-130.458838,69.77998],[-130.708545,69.685986],[-130.83208,69.651465],[-130.960107,69.632031],[-131.207959,69.615771],[-131.306348,69.596631],[-131.472949,69.579492],[-131.862793,69.549365],[-131.937793,69.534717],[-131.98877,69.517627],[-132.12876,69.402344],[-132.196826,69.364697],[-132.330762,69.307959],[-132.481201,69.273145],[-132.686719,69.259863],[-132.81748,69.205762],[-132.967969,69.101416],[-133.089453,69.02876],[-133.228223,68.967139],[-133.378955,68.88667],[-133.418311,68.844287],[-133.373389,68.788477],[-133.348389,68.769873],[-133.196826,68.739844],[-133.138037,68.746582],[-133.192187,68.776514],[-133.319531,68.819727],[-133.33667,68.835254],[-133.304004,68.847412],[-132.706006,68.814893],[-132.577637,68.847803],[-132.532666,68.875635],[-132.542236,68.889941],[-132.704346,68.895898],[-132.739111,68.922461],[-132.764697,68.972461],[-132.770117,69.012158],[-132.755469,69.041602],[-132.718945,69.079199],[-132.545166,69.140625],[-132.358057,69.166943],[-132.213965,69.20166],[-132.134375,69.234473],[-131.919629,69.290527],[-131.833398,69.335986],[-131.786914,69.371289],[-131.781055,69.388867],[-131.820166,69.401611],[-131.788379,69.431982],[-131.631787,69.459082],[-131.562939,69.461377],[-131.34292,69.4354],[-131.303027,69.415088],[-131.324707,69.361182],[-131.293896,69.363721],[-131.209033,69.432178],[-131.161719,69.45498],[-131.112842,69.459473],[-131.063428,69.450684],[-131.013428,69.428711],[-130.986279,69.362891],[-130.981982,69.253271],[-130.970654,69.209082],[-130.914307,69.284863],[-130.875049,69.32002],[-130.660693,69.481299],[-130.515967,69.569678],[-130.353613,69.655811],[-130.117627,69.720068],[-129.572119,69.826709],[-129.264844,69.85542],[-129.109131,69.881934],[-129.03291,69.90498],[-128.984326,69.933447],[-128.898926,69.966162],[-128.883691,69.963477],[-128.916797,69.894873],[-128.938623,69.875],[-129.13833,69.83252],[-129.15791,69.800098],[-129.13623,69.750049],[-129.101709,69.717041],[-129.054346,69.701074],[-128.971436,69.712402],[-128.853027,69.751025],[-128.705518,69.810156],[-128.386719,69.960156],[-128.35918,69.987598],[-128.278613,70.108105],[-128.09585,70.161328],[-127.764941,70.221875],[-127.683789,70.260352],[-127.974023,70.29292],[-128.03418,70.315332],[-128.043652,70.32876],[-127.988916,70.363135],[-128.121484,70.397363],[-128.170117,70.418457],[-128.168066,70.479785],[-128.127295,70.523828],[-128.040479,70.566406],[-127.991016,70.573828],[-127.861621,70.549072],[-127.752832,70.517139],[-127.376855,70.36875],[-127.225977,70.296143],[-127.138477,70.239355],[-126.926807,70.061719],[-126.833496,69.959082],[-126.758691,69.853369],[-126.684912,69.7771],[-126.612158,69.730322],[-126.250439,69.545264],[-126.063818,69.46709],[-125.907422,69.418555],[-125.727783,69.37998],[-125.524951,69.351563],[-125.386768,69.349219],[-125.171875,69.427979],[-125.166846,69.479785],[-125.261572,69.566162],[-125.356934,69.625977],[-125.345508,69.662451],[-125.219385,69.732373],[-125.227881,69.756738],[-125.201172,69.828809],[-125.114014,69.815039],[-125.07959,69.817822],[-125.031006,69.844287],[-124.968262,69.894385],[-124.88916,69.935791],[-124.793652,69.968506],[-124.76792,69.990039],[-124.862598,70.005518],[-124.92002,70.005566],[-124.962598,70.012598],[-124.990381,70.026611],[-124.952441,70.041748],[-124.745117,70.080176],[-124.706348,70.116992],[-124.639941,70.141455],[-124.555029,70.151221],[-124.502588,70.141113],[-124.444482,70.110596],[-124.441504,70.061914],[-124.467187,69.982568],[-124.471924,69.918506],[-124.406934,69.767432],[-124.349365,69.734521],[-124.124609,69.68999],[-124.138477,69.653174],[-124.398389,69.493848],[-124.453906,69.454834],[-124.481348,69.425146],[-124.47207,69.400049],[-124.426172,69.379443],[-124.338086,69.364844],[-124.111719,69.358887],[-124.049658,69.372852],[-123.609131,69.377441],[-123.528418,69.389355],[-123.460449,69.42002],[-123.361475,69.496631],[-123.248975,69.52002],[-123.213672,69.541504],[-123.144482,69.632471],[-123.1104,69.738135],[-123.076611,69.782471],[-123.025781,69.81001],[-122.956689,69.818848],[-122.7854,69.808447],[-122.704883,69.817383],[-122.3875,69.808447],[-122.070068,69.816162],[-121.741846,69.79751],[-121.531104,69.775781],[-121.33623,69.741553],[-120.962451,69.6604],[-120.814648,69.616846],[-120.292529,69.420557],[-120.13999,69.380566],[-119.852832,69.342334],[-118.868701,69.257178],[-118.744873,69.234277],[-118.485596,69.144873],[-118.306982,69.092725],[-118.095215,69.04292],[-117.830322,68.999902],[-117.311279,68.934912],[-117.226953,68.913428],[-117.131738,68.907129],[-117.025732,68.915967],[-116.549951,68.878809],[-116.424561,68.880615],[-116.334082,68.873633],[-116.222705,68.846826],[-116.059473,68.837012],[-116.065234,68.85542],[-116.251611,68.95791],[-116.243408,68.974072],[-116.166748,68.975342],[-115.936084,68.958105],[-115.883252,68.987305],[-115.806348,68.986621],[-115.631152,68.972559],[-115.442285,68.940918],[-115.239844,68.891846],[-114.99375,68.850049],[-114.620166,68.746094],[-114.413867,68.65957],[-114.218164,68.552051],[-114.11084,68.477344],[-114.092041,68.4354],[-114.051123,68.414648],[-113.988184,68.41499],[-113.964404,68.399072],[-114.020801,68.306494],[-114.053223,68.283398],[-114.095947,68.266797],[-114.274756,68.247852],[-114.765283,68.270215],[-114.852197,68.195264],[-115.127051,68.132031],[-115.175928,68.104395],[-115.186768,68.08418],[-115.16709,68.018555],[-115.201855,67.998438],[-115.426855,67.923535],[-115.434473,67.902344],[-115.288477,67.87168],[-115.133203,67.819189],[-115.011182,67.806396],[-114.856738,67.813574],[-114.662891,67.795215],[-114.429395,67.751221],[-114.267041,67.731152],[-114.175732,67.73501],[-114.051074,67.726904],[-113.893213,67.706885],[-113.681934,67.699951],[-113.21499,67.701758],[-113.074951,67.68667],[-112.879443,67.679883],[-112.503027,67.681934],[-112.435156,67.684766],[-112.314551,67.71958],[-112.236719,67.731104],[-112.101318,67.731738],[-111.710889,67.757324],[-111.575732,67.756836],[-111.450684,67.776172],[-111.29082,67.815234],[-111.192187,67.822559],[-111.154785,67.798242],[-111.087402,67.787646],[-110.990039,67.79082],[-110.804883,67.832324],[-110.371973,67.954199],[-110.21626,67.954004],[-110.101953,67.992236],[-110.073926,67.99292],[-110.04248,67.977197],[-109.936523,67.887891],[-109.904248,67.873535],[-109.831348,67.86582],[-109.760156,67.820117],[-109.686035,67.751758],[-109.630371,67.732715],[-109.224316,67.729785],[-109.08125,67.710742],[-109.038037,67.691162],[-108.994482,67.637109],[-108.967676,67.532373],[-108.949902,67.493945],[-108.890967,67.438086],[-108.852002,67.421973],[-108.815186,67.4375],[-108.715137,67.582812],[-108.680225,67.606201],[-108.61333,67.598047],[-108.59292,67.590869],[-108.491504,67.483301],[-108.346973,67.403418],[-107.988721,67.256396],[-107.930518,67.20249],[-107.90918,67.162549],[-107.929443,67.126807],[-107.991309,67.095166],[-108.088428,67.069775],[-108.220801,67.050586],[-108.344336,67.05752],[-108.459082,67.09043],[-108.496045,67.092285],[-108.455273,67.062988],[-108.218164,66.94126],[-108.157666,66.892627],[-108.101465,66.860352],[-108.049609,66.844336],[-108.001758,66.818018],[-107.957959,66.781299],[-107.760937,66.683691],[-107.704883,66.637109],[-107.480322,66.491797],[-107.373682,66.434668],[-107.291357,66.401807],[-107.259473,66.398535],[-107.278076,66.424902],[-107.564453,66.618506],[-107.710352,66.740039],[-107.730859,66.769189],[-107.740234,66.81377],[-107.745996,66.961475],[-107.725098,66.984131],[-107.626172,67.003125],[-107.499219,66.936182],[-107.45127,66.926758],[-107.418848,66.930713],[-107.4021,66.947998],[-107.329199,66.931982],[-107.200195,66.882568],[-107.156494,66.881738],[-107.25376,66.976367],[-107.32334,67.022559],[-107.347852,67.054785],[-107.283154,67.103271],[-107.318457,67.127783],[-107.482373,67.199121],[-107.56748,67.273047],[-107.644043,67.384766],[-107.650928,67.428223],[-107.638379,67.474219],[-107.649902,67.511279],[-107.753027,67.586865],[-107.865088,67.639209],[-107.954053,67.7],[-107.972119,67.732031],[-107.958398,67.818604],[-107.890918,67.856348],[-107.763086,67.906836],[-107.728613,67.958838],[-107.787451,68.0125],[-107.798291,68.036914],[-107.761035,68.032178],[-107.509375,68.059131],[-107.446191,68.049658],[-107.351123,68.061182],[-107.224121,68.093799],[-107.124805,68.108447],[-106.993652,68.106299],[-106.922559,68.11416],[-106.835645,68.128613],[-106.790723,68.144824],[-106.710986,68.206787],[-106.668408,68.216016],[-106.534863,68.209277],[-106.459473,68.195654],[-106.424268,68.200586],[-106.429492,68.288477],[-106.404395,68.319336],[-106.27124,68.383203],[-106.132129,68.389893],[-106.039307,68.407324],[-105.933057,68.443115],[-105.856934,68.475146],[-105.781201,68.526563],[-105.750195,68.592285],[-105.774316,68.611133],[-105.932227,68.636523],[-106.027148,68.62334],[-106.237305,68.576563],[-106.458057,68.516455],[-106.543311,68.460596],[-106.56665,68.388965],[-106.608496,68.357373],[-106.78042,68.387305],[-106.853711,68.386816],[-106.945801,68.374365],[-107.043311,68.346826],[-107.146191,68.304199],[-107.298145,68.296436],[-107.499121,68.323535],[-107.619336,68.331055],[-107.741504,68.285742],[-107.734229,68.252051],[-107.677637,68.20293],[-107.73418,68.17373],[-108.027197,68.162939],[-108.10459,68.169287],[-108.261035,68.149902],[-108.322803,68.154102],[-108.36792,68.177539],[-108.686572,68.277344],[-108.718115,68.297461],[-108.640918,68.378516],[-108.345752,68.597803],[-108.313477,68.610791],[-107.766357,68.648926],[-107.435938,68.688867],[-106.830664,68.809473],[-106.713477,68.819482],[-106.324268,68.899463],[-106.164453,68.919873],[-106.015674,68.906055],[-105.797949,68.864795],[-105.685596,68.828174],[-105.606055,68.782422],[-105.539844,68.718652],[-105.456934,68.578076],[-105.428613,68.458252],[-105.377441,68.413818],[-105.194971,68.330371],[-105.101318,68.297998],[-105.043604,68.287891],[-104.993799,68.307422],[-104.959814,68.310547],[-104.936719,68.303027],[-104.911963,68.250488],[-104.879443,68.245264],[-104.769629,68.251758],[-104.653174,68.230078],[-104.636377,68.213916],[-104.661133,68.148779],[-104.628174,68.121484],[-104.486816,68.063184],[-104.350732,68.041211],[-104.193555,68.031201],[-103.901563,68.041064],[-103.657227,68.069092],[-103.474121,68.115039],[-103.323242,68.063818],[-103.021777,67.940234],[-102.841553,67.852734],[-102.691992,67.811572],[-102.389111,67.762207],[-102.320361,67.735645],[-102.209766,67.732715],[-102.057227,67.75332],[-101.883643,67.745313],[-101.688867,67.708643],[-101.55498,67.693164],[-101.096387,67.762354],[-101.026416,67.765674],[-100.855615,67.798975],[-100.745605,67.809082],[-100.616113,67.808252],[-100.519629,67.818408],[-100.456104,67.839453],[-100.212939,67.838574],[-99.772949,67.814844],[-99.472266,67.784082],[-99.293555,67.745313],[-99.146875,67.723633],[-99.032178,67.718848],[-98.920459,67.725781],[-98.811719,67.744434],[-98.697266,67.779736],[-98.452783,67.7979],[-98.412109,67.807178],[-98.417139,67.826465],[-98.467822,67.855811],[-98.606494,67.911426],[-98.703564,67.965723],[-98.722217,68.000195],[-98.720068,68.041992],[-98.689844,68.066113],[-98.631543,68.072559],[-98.539844,68.046631],[-98.414795,67.988428],[-98.062549,67.769678],[-97.977637,67.738623],[-97.930762,67.710791],[-97.607422,67.631055],[-97.454932,67.616992],[-97.274268,67.66626],[-97.194434,67.696924],[-97.15542,67.726416],[-97.157178,67.754834],[-97.139844,67.79624],[-97.158057,67.821924],[-97.206543,67.855078],[-97.336133,67.901367],[-97.546631,67.960742],[-97.739111,67.978174],[-97.91333,67.953564],[-98.110498,67.903027],[-98.192529,67.922998],[-98.438379,68.064697],[-98.500293,68.117676],[-98.500244,68.132275],[-98.386084,68.115332],[-98.380859,68.132471],[-98.44917,68.200781],[-98.49126,68.223633],[-98.633008,68.331152],[-98.650488,68.363525],[-98.562256,68.37085],[-98.522217,68.383398],[-98.468555,68.382129],[-98.218555,68.317432],[-98.090527,68.346338],[-97.794238,68.387598],[-97.911035,68.449512],[-97.938867,68.510449],[-97.925098,68.523682],[-97.828564,68.532764],[-97.639551,68.481982],[-97.548047,68.474951],[-97.481104,68.495166],[-97.410352,68.496533],[-97.335791,68.47915],[-97.265918,68.45293],[-97.135986,68.377979],[-97.071777,68.332861],[-96.999561,68.264941],[-96.976709,68.25542],[-96.628174,68.250293],[-96.430664,68.310596],[-96.434961,68.290088],[-96.480225,68.242822],[-96.725146,68.06123],[-96.72207,68.03877],[-96.592188,68.048437],[-96.531299,68.063135],[-96.493701,68.084961],[-96.461182,68.13584],[-96.439355,68.150879],[-96.075586,68.236523],[-95.970312,68.249121],[-96.036035,68.157764],[-96.171338,67.831689],[-96.198828,67.717822],[-96.228467,67.679199],[-96.371387,67.553857],[-96.369141,67.509766],[-96.212842,67.404297],[-96.18501,67.375586],[-96.169238,67.288965],[-96.141455,67.271826],[-96.012598,67.270898],[-95.879102,67.298486],[-95.719922,67.316797],[-95.695166,67.29873],[-95.78252,67.193799],[-95.777686,67.184619],[-95.626416,67.211572],[-95.557031,67.215283],[-95.528711,67.20918],[-95.415918,67.155566],[-95.40459,67.115576],[-95.406982,67.056104],[-95.418896,67.013232],[-95.456982,66.989453],[-95.502246,66.979883],[-95.559375,66.972754],[-95.610645,66.975684],[-95.768652,66.966699],[-95.861816,66.978174],[-95.954053,67.010889],[-96.019531,67.01875],[-96.095459,66.993555],[-96.215576,66.997705],[-96.350439,67.07002],[-96.404248,67.063232],[-96.422559,67.051758],[-96.420264,67.036182],[-96.359521,66.989404],[-95.885303,66.741357],[-95.813281,66.690137],[-95.797363,66.616553],[-95.787549,66.616797],[-95.743164,66.69043],[-95.772119,66.726074],[-96.016113,66.870459],[-96.045361,66.923145],[-96.036865,66.9375],[-95.972363,66.952246],[-95.625049,66.91626],[-95.490381,66.924121],[-95.399658,66.949463],[-95.354102,66.980713],[-95.321094,67.15249],[-95.25874,67.262549],[-95.295605,67.361035],[-95.389551,67.517822],[-95.463379,67.610205],[-95.633691,67.703857],[-95.650488,67.737451],[-95.460693,68.021387],[-95.426514,68.045264],[-95.384082,68.055566],[-95.234717,68.059717],[-95.125879,68.083301],[-94.955225,68.050293],[-94.861035,68.04165],[-94.744434,68.070898],[-94.485303,68.190088],[-94.383838,68.227002],[-94.254785,68.296826],[-94.098145,68.399414],[-93.927734,68.473828],[-93.651709,68.543115],[-93.483008,68.598877],[-93.448926,68.618896],[-93.605811,68.623682],[-93.643945,68.633105],[-93.676172,68.685986],[-93.659863,68.78374],[-93.662793,68.838184],[-93.681445,68.887256],[-93.715771,68.931055],[-93.765723,68.96958],[-93.811328,68.992676],[-93.852441,69.000342],[-93.880713,68.996826],[-93.896094,68.982178],[-93.938086,68.889063],[-93.991553,68.820605],[-94.064893,68.784766],[-94.216943,68.760547],[-94.47832,68.742773],[-94.586768,68.775537],[-94.600439,68.803223],[-94.562549,68.91167],[-94.475635,68.958154],[-94.236621,69.049756],[-94.083643,69.123096],[-94.081152,69.13584],[-94.221826,69.136377],[-94.255371,69.151465],[-94.284961,69.241602],[-94.276758,69.275244],[-94.254736,69.31377],[-94.156348,69.341748],[-93.854395,69.376367],[-93.619482,69.416992],[-93.612646,69.402832],[-93.800977,69.280908],[-93.820459,69.252637],[-93.748535,69.226123],[-93.56748,69.296875],[-93.450586,69.355176],[-93.430957,69.375049],[-93.537061,69.382324],[-93.542871,69.406445],[-93.522412,69.450684],[-93.532275,69.480908],[-93.649805,69.519043],[-93.794385,69.497852],[-93.915088,69.457666],[-94.015283,69.446729],[-94.163184,69.445947],[-94.270801,69.455127],[-94.338135,69.474268],[-94.419189,69.517041],[-94.513916,69.583447],[-94.633838,69.649658],[-94.67627,69.656885],[-94.712695,69.649414],[-94.789258,69.585449],[-94.82251,69.577783],[-95.29209,69.667383],[-95.49126,69.717627],[-95.587598,69.755713],[-95.707422,69.778223],[-95.850684,69.785107],[-95.964941,69.802783],[-96.050146,69.831152],[-96.119092,69.871875],[-96.171777,69.924951],[-96.269385,69.991797],[-96.492383,70.124902],[-96.551367,70.210303],[-96.55957,70.243018],[-96.545605,70.327246],[-96.336572,70.470166],[-96.297705,70.511377],[-96.226416,70.541699],[-96.122754,70.56123],[-96.048145,70.56709],[-95.878613,70.548975],[-95.980176,70.593213],[-95.988184,70.616846],[-95.886328,70.694287],[-95.906396,70.697754],[-96.186426,70.638281],[-96.258008,70.642285],[-96.358887,70.678662],[-96.548926,70.80874],[-96.551074,70.889746],[-96.491309,71.002344],[-96.47041,71.069727],[-96.524756,71.127051],[-96.504443,71.143164],[-96.445459,71.159229],[-96.420752,71.176465],[-96.446582,71.239893],[-96.405664,71.273633],[-96.271338,71.339111],[-96.139648,71.396387],[-96.062012,71.413867],[-95.994434,71.410645],[-95.924072,71.393066],[-95.850879,71.361084],[-95.725391,71.328174],[-95.632568,71.318799],[-95.564258,71.336768],[-95.44751,71.460059],[-95.40625,71.49165],[-95.44541,71.505371],[-95.674219,71.504053],[-95.773389,71.514258],[-95.830371,71.526074],[-95.872314,71.573145],[-95.837744,71.598242],[-95.615918,71.6854],[-95.51167,71.776807],[-95.201221,71.903711],[-94.886963,71.963379],[-94.734863,71.982959],[-94.611133,71.986865],[-94.55708,71.978955],[-94.491064,71.915527],[-94.478809,71.848584],[-94.30835,71.764893],[-94.17124,71.758447],[-94.085986,71.771143],[-93.810205,71.76626],[-93.746289,71.742822],[-93.750879,71.71665],[-93.781641,71.674316],[-93.762842,71.638037],[-93.575879,71.568701],[-93.407471,71.520703],[-93.256348,71.46084],[-93.031299,71.335693],[-92.982568,71.300342],[-92.948682,71.262109],[-92.890186,71.122363],[-92.882715,71.069336],[-92.904199,70.916064],[-92.921973,70.887109],[-92.981445,70.852246],[-92.960889,70.838135],[-92.783008,70.798145],[-92.641699,70.718799],[-92.56748,70.693213],[-92.388477,70.650439],[-92.355811,70.634277],[-92.315381,70.60752],[-92.214453,70.49292],[-92.049121,70.389648],[-92.037207,70.367383],[-92.072607,70.31875],[-92.047363,70.30332],[-91.983545,70.285547],[-91.926221,70.294775],[-91.875537,70.331152],[-91.82041,70.34165],[-91.76084,70.32627],[-91.715625,70.299219],[-91.654053,70.232959],[-91.564062,70.178271],[-91.571631,70.161572],[-91.616113,70.147852],[-91.858594,70.132666],[-91.994971,70.143213],[-92.121045,70.169922],[-92.208643,70.19751],[-92.290332,70.239844],[-92.320508,70.235352],[-92.363281,70.20083],[-92.454687,70.150439],[-92.511865,70.103857],[-92.445752,70.083154],[-92.127002,70.084521],[-92.057715,70.071436],[-91.976709,70.038672],[-92.069043,69.983984],[-92.284766,69.892139],[-92.750928,69.713916],[-92.887793,69.668213],[-92.854541,69.654883],[-92.802637,69.651465],[-92.642822,69.659277],[-92.493457,69.683203],[-92.31167,69.6729],[-92.230762,69.653369],[-92.258301,69.634326],[-92.209082,69.60332],[-91.911963,69.53125],[-91.724121,69.545605],[-91.532373,69.615039],[-91.384229,69.649463],[-91.201807,69.644775],[-91.150879,69.637158],[-91.170312,69.620313],[-91.305029,69.581299],[-91.426855,69.537939],[-91.439941,69.525684],[-91.288135,69.543213],[-90.950195,69.515479],[-90.785742,69.508594],[-90.66665,69.515527],[-90.554932,69.504492],[-90.450537,69.475439],[-90.415576,69.456982],[-90.513281,69.445117],[-90.605566,69.445312],[-90.683984,69.427734],[-90.748535,69.39248],[-90.79458,69.346729],[-90.822119,69.290479],[-90.892285,69.267285],[-91.00498,69.2771],[-91.049219,69.293018],[-91.024854,69.315234],[-91.057764,69.318408],[-91.147852,69.302588],[-91.217969,69.3021],[-91.237207,69.285547],[-90.744775,69.105908],[-90.587305,68.946875],[-90.479004,68.881152],[-90.468359,68.86377],[-90.538965,68.81958],[-90.542529,68.785986],[-90.510156,68.688867],[-90.525244,68.611279],[-90.573633,68.474707],[-90.52832,68.432227],[-90.423047,68.394727],[-90.360059,68.346729],[-90.317236,68.330322],[-90.285254,68.29165],[-90.247754,68.267432],[-90.204785,68.257471],[-90.174414,68.270215],[-90.156836,68.305518],[-90.116406,68.338574],[-90.005322,68.398047],[-89.897705,68.490771],[-89.879492,68.521533],[-89.896582,68.594385],[-89.884229,68.625586],[-89.783105,68.735938],[-89.75083,68.812451],[-89.720166,68.931592],[-89.666602,69.0146],[-89.552002,69.084912],[-89.351904,69.227002],[-89.279541,69.255469],[-89.198486,69.269482],[-89.056738,69.266113],[-88.953516,69.22041],[-88.814551,69.135889],[-88.637744,69.058838],[-88.315527,68.954443],[-88.223535,68.915039],[-88.041357,68.811719],[-87.964355,68.709277],[-87.911523,68.564697],[-87.865967,68.477637],[-87.827734,68.448096],[-87.810303,68.40415],[-87.813574,68.345703],[-87.82793,68.299951],[-87.853271,68.266895],[-87.892676,68.248145],[-87.990967,68.242041],[-88.111133,68.251172],[-88.145801,68.266016],[-88.209082,68.334863],[-88.235254,68.339063],[-88.346973,68.288281],[-88.360693,68.259863],[-88.319629,68.165771],[-88.325098,67.98877],[-88.313818,67.950342],[-88.195898,67.76582],[-87.997168,67.625684],[-87.499121,67.355322],[-87.470801,67.324609],[-87.41792,67.21416],[-87.391943,67.191064],[-87.359375,67.177246],[-87.320264,67.172852],[-87.26626,67.183838],[-87.083203,67.267773],[-86.923926,67.35625],[-86.812793,67.402393],[-86.749854,67.406104],[-86.682031,67.422314],[-86.609375,67.45083],[-86.560791,67.482129],[-86.536426,67.516162],[-86.503516,67.649463],[-86.475537,67.713135],[-86.398047,67.800098],[-86.369678,67.824805],[-85.984473,68.045361],[-85.952588,68.072461],[-85.788867,68.328027],[-85.731104,68.44502],[-85.722803,68.515479],[-85.744873,68.578271],[-85.733838,68.630127],[-85.689795,68.670947],[-85.643164,68.699707],[-85.562451,68.728809],[-85.517773,68.769824],[-85.491064,68.773975],[-85.425049,68.774268],[-85.338086,68.746289],[-85.275098,68.741357],[-84.867578,68.77334],[-84.86748,68.790381],[-85.106641,68.844043],[-85.104346,68.870947],[-85.083398,68.90791],[-85.008301,68.949219],[-84.916064,68.962256],[-84.895312,68.988525],[-84.892725,69.020996],[-84.862207,69.073975],[-84.890039,69.092773],[-85.113525,69.165869],[-85.242627,69.162744],[-85.275488,69.172314],[-85.386768,69.231885],[-85.427539,69.318408],[-85.431934,69.353857],[-85.416406,69.410889],[-85.402246,69.426758],[-85.40918,69.45249],[-85.437207,69.488232],[-85.439502,69.519922],[-85.415967,69.547754],[-85.430127,69.580664],[-85.482031,69.61875],[-85.502441,69.651514],[-85.4479,69.748145],[-85.446094,69.777783],[-85.497461,69.819043],[-85.534814,69.835059],[-85.507373,69.845264],[-85.415137,69.849512],[-85.30498,69.836133],[-85.176807,69.805127],[-85.019824,69.804785],[-84.833984,69.835059],[-84.645117,69.849707],[-84.318799,69.843701],[-84.24165,69.83501],[-83.917187,69.745361],[-83.665332,69.699707],[-83.551709,69.703955],[-82.991357,69.685889],[-82.745605,69.695117],[-82.618359,69.691064],[-82.37417,69.641797],[-82.390234,69.600879],[-82.495703,69.532227],[-82.633301,69.518115],[-82.754834,69.494385],[-82.642041,69.458398],[-82.309863,69.41001],[-82.231836,69.332568],[-82.208154,69.297021],[-82.246777,69.26499],[-82.227539,69.248877],[-82.150537,69.248877],[-81.951807,69.276074],[-81.732178,69.258105],[-81.412305,69.198145],[-81.377832,69.185645],[-81.321582,69.138916],[-81.328662,69.119922],[-81.611426,69.003027],[-81.75835,68.956738],[-81.95166,68.909082],[-81.95791,68.883643],[-81.686914,68.878955],[-81.476025,68.865576],[-81.380908,68.850049],[-81.331299,68.827979],[-81.263525,68.780615],[-81.25249,68.743164],[-81.259131,68.692432],[-81.281543,68.657227],[-81.526855,68.555957],[-81.639502,68.524365],[-81.831396,68.486865],[-81.914844,68.458789],[-82.006494,68.462646],[-82.106348,68.498535],[-82.210156,68.50625],[-82.397217,68.477588],[-82.49873,68.478613],[-82.548633,68.468604],[-82.552686,68.446484],[-82.46416,68.382422],[-82.412988,68.357178],[-82.392871,68.33833],[-82.430664,68.306592],[-82.422705,68.296582],[-82.392529,68.285254],[-82.222412,68.145264],[-82.186572,68.134424],[-82.151318,68.139697],[-82.077637,68.179688],[-82.033887,68.195947],[-82.0125,68.193896],[-82.013379,68.173389],[-82.091895,68.051465],[-82.102148,68.018896],[-82.100488,67.989844],[-82.062549,67.928174],[-81.976465,67.862012],[-81.869336,67.80249],[-81.708594,67.722363],[-81.492773,67.636914],[-81.412305,67.595361],[-81.294336,67.497412],[-81.270117,67.459912],[-81.301074,67.356982],[-81.387207,67.188574],[-81.442725,67.092871],[-81.467578,67.069873],[-81.630078,67.002002],[-81.722363,66.986084],[-81.874463,66.987939],[-81.925537,66.974707],[-82.005078,66.92041],[-82.113184,66.825098],[-82.19834,66.764648],[-82.260547,66.739111],[-82.374756,66.709424],[-82.553662,66.621387],[-82.641504,66.5875],[-82.948877,66.55083],[-83.198779,66.431494],[-83.298389,66.392139],[-83.406445,66.37124],[-83.523096,66.36875],[-83.590283,66.387842],[-83.628369,66.460693],[-83.651074,66.484619],[-83.739209,66.534375],[-83.920215,66.679053],[-83.998047,66.728516],[-84.05,66.739502],[-84.154443,66.731689],[-84.208008,66.736328],[-84.324365,66.781787],[-84.36626,66.811133],[-84.361084,66.822559],[-84.272559,66.839209],[-84.310352,66.862744],[-84.466064,66.927441],[-84.530664,66.961328],[-84.538477,66.972803],[-84.692578,67.016602],[-84.845752,67.028711],[-85.040039,66.956055],[-85.113721,66.906934],[-85.111279,66.890918],[-85.018262,66.87207],[-84.977979,66.88125],[-84.899023,66.926563],[-84.857373,66.940674],[-84.737744,66.933594],[-84.638574,66.902344],[-84.602539,66.875146],[-84.589502,66.856641],[-84.318945,66.711816],[-84.223047,66.682471],[-84.183105,66.647852],[-84.152734,66.590234],[-84.094238,66.526221],[-83.964209,66.420557],[-83.82583,66.28999],[-83.797559,66.238477],[-83.869043,66.213574],[-83.905078,66.211768],[-84.01167,66.231201],[-84.293066,66.291797],[-84.324268,66.290674],[-84.398437,66.25874],[-84.459375,66.18623],[-84.478418,66.179297],[-84.628076,66.207715],[-84.908398,66.271338],[-85.096191,66.325342],[-85.191504,66.369678],[-85.306836,66.440332],[-85.442236,66.537354],[-85.603857,66.568262],[-85.791748,66.532959],[-86.063232,66.520361],[-86.633203,66.531348],[-86.708154,66.523047],[-86.737109,66.510889],[-86.688623,66.457471],[-86.700146,66.442773],[-86.738379,66.432861],[-86.746973,66.41709],[-86.685107,66.3604],[-86.584766,66.321924],[-86.301025,66.269922],[-86.113086,66.225293],[-86.00083,66.186816],[-85.964258,66.154443],[-85.95874,66.119043],[-86.012256,66.048486],[-86.042871,66.022559],[-86.701953,65.670557],[-86.953174,65.528271],[-87.081104,65.44082],[-87.193799,65.383057],[-87.291455,65.354834],[-87.452881,65.338965],[-87.678125,65.335352],[-87.969971,65.348926],[-88.120996,65.39458],[-88.394873,65.516211],[-88.586719,65.587646],[-88.672461,65.611572],[-88.743945,65.67876],[-88.808496,65.69165],[-88.946143,65.703027],[-89.087744,65.738965],[-89.420361,65.860791],[-89.592676,65.909326],[-89.749414,65.936035],[-89.890479,65.94082],[-89.943994,65.933594],[-89.847754,65.872266],[-89.889697,65.868555],[-90.003809,65.882568],[-90.116602,65.882422],[-90.31626,65.926367],[-90.513281,65.920508],[-90.655469,65.929346],[-90.825732,65.953857],[-91.009521,65.965723],[-91.305469,65.964551],[-91.411523,65.959375],[-91.427246,65.9479],[-91.285156,65.894434],[-91.041113,65.829834],[-91.073633,65.885547],[-91.064941,65.899902],[-90.983447,65.919238],[-90.596826,65.884814],[-90.158643,65.812695],[-90.047559,65.805615],[-89.924072,65.780273],[-89.787988,65.736719],[-89.600391,65.647754],[-89.241748,65.446387],[-89.126562,65.395605],[-88.974023,65.348291],[-88.197803,65.279883],[-87.929541,65.280322],[-87.391943,65.260547],[-87.108008,65.224805],[-87.027539,65.198096],[-87.002686,65.108594],[-87.028516,65.063623],[-87.18291,64.926807],[-87.280518,64.826172],[-87.88501,64.400439],[-87.963574,64.30249],[-87.997559,64.243945],[-88.105615,64.183301],[-88.378955,64.089258],[-88.653027,64.009375],[-88.817725,63.992236],[-88.964404,64.01123],[-89.059619,64.034424],[-89.200635,64.11377],[-89.209424,64.10542],[-89.107666,63.981104],[-89.131543,63.968506],[-89.214551,63.984131],[-89.403516,64.03999],[-89.464746,64.029687],[-89.500928,64.014502],[-89.551318,64.014795],[-89.61582,64.030615],[-89.732715,64.076953],[-89.763818,64.099512],[-89.79209,64.168262],[-89.811328,64.180566],[-90.04165,64.140869],[-90.080029,64.127734],[-89.985596,64.100195],[-89.953564,64.080615],[-89.860596,63.978809],[-89.855713,63.956982],[-89.921875,63.943555],[-90.141895,63.981982],[-90.168164,63.97876],[-90.059619,63.87749],[-90.017969,63.829346],[-90.013428,63.804297],[-90.154736,63.689648],[-90.245313,63.641895],[-90.368848,63.624414],[-90.44624,63.636182],[-90.533496,63.66543],[-90.596387,63.661279],[-90.63501,63.623779],[-90.706836,63.596924],[-90.811914,63.580908],[-90.945654,63.587842],[-91.108057,63.617822],[-91.538818,63.725586],[-91.674658,63.742236],[-91.926025,63.75708],[-91.956006,63.772314],[-91.953809,63.786816],[-91.919434,63.800586],[-91.928906,63.812451],[-91.982227,63.822412],[-92.037598,63.813037],[-92.094873,63.784424],[-92.195215,63.775977],[-92.338428,63.787646],[-92.550098,63.829541],[-92.970215,63.937646],[-93.429688,64.028809],[-93.696338,64.147168],[-93.596729,64.040576],[-93.604883,64.004492],[-93.655811,63.972803],[-93.66416,63.941406],[-93.559814,63.865283],[-93.415576,63.837988],[-93.270215,63.840869],[-93.266211,63.85332],[-93.326855,63.872266],[-93.380273,63.900049],[-93.405859,63.941211],[-93.378516,63.948486],[-93.250439,63.926904],[-93.165918,63.901758],[-92.529248,63.76123],[-92.339209,63.734912],[-92.196484,63.707812],[-92.156885,63.691699],[-92.205029,63.656787],[-92.461035,63.569434],[-92.465088,63.555078],[-92.289551,63.562988],[-92.076611,63.63999],[-91.956836,63.675635],[-91.841846,63.697559],[-91.686035,63.659717],[-91.489307,63.562207],[-91.330078,63.506836],[-91.103076,63.475879],[-90.970068,63.442773],[-90.746582,63.351563],[-90.711279,63.304053],[-90.690723,63.110547],[-90.698584,63.063867],[-90.727637,63.01748],[-90.777881,62.971631],[-90.871191,62.945947],[-91.007715,62.94043],[-91.114893,62.921582],[-91.349463,62.818896],[-91.448975,62.804053],[-91.869629,62.834717],[-92.034229,62.863428],[-92.110059,62.861719],[-92.1521,62.839063],[-92.196143,62.828809],[-92.361279,62.819385],[-92.388135,62.800879],[-92.377734,62.772412],[-92.345264,62.733838],[-92.305176,62.71167],[-92.243164,62.683643],[-92.149121,62.665283],[-91.955859,62.644775],[-91.93584,62.592383],[-91.944434,62.575488],[-92.007861,62.540527],[-92.081152,62.544092],[-92.207227,62.585352],[-92.269531,62.586963],[-92.324072,62.5646],[-92.4,62.557227],[-92.497363,62.564844],[-92.551416,62.546729],[-92.562207,62.502881],[-92.594971,62.470068],[-92.707422,62.418213],[-92.767969,62.37998],[-92.765967,62.349951],[-92.701465,62.328223],[-92.627441,62.279053],[-92.544043,62.202295],[-92.527979,62.168408],[-92.579199,62.177344],[-92.648096,62.207764],[-92.734766,62.259717],[-92.86582,62.306201],[-93.154443,62.366846],[-93.205371,62.364941],[-93.179248,62.349561],[-92.987793,62.285937],[-92.914453,62.244971],[-92.905518,62.215137],[-93.065869,62.149756],[-93.070264,62.127832],[-93.027734,62.108643],[-93.01626,62.092676],[-93.073389,62.060547],[-93.16748,62.033643],[-93.349756,62.029785],[-93.366357,62.014551],[-93.296875,61.981592],[-93.273437,61.961084],[-93.333057,61.93291],[-93.372021,61.928955],[-93.581787,61.942041],[-93.526709,61.871631],[-93.494238,61.846924],[-93.429932,61.812109],[-93.314404,61.779785],[-93.312012,61.767285],[-93.352344,61.739551],[-93.420605,61.705811],[-93.709668,61.602539],[-93.912744,61.481445],[-93.940869,61.443652],[-93.889258,61.364062],[-93.888818,61.344043],[-93.941992,61.308008],[-94.060742,61.317822],[-94.083447,61.303662],[-94.055225,61.266162],[-94.049951,61.211279],[-94.067773,61.138867],[-94.154053,61.025439],[-94.308691,60.870996],[-94.427197,60.730713],[-94.509375,60.604541],[-94.568896,60.541992],[-94.67876,60.537695],[-94.761719,60.498242],[-94.705273,60.477539],[-94.670654,60.45332],[-94.646777,60.416406],[-94.67041,60.301074],[-94.741602,60.107373],[-94.785791,59.95332],[-94.77666,59.478125],[-94.788281,59.267871],[-94.819531,59.151318],[-94.870264,59.087988],[-94.957324,59.068848],[-94.846582,59.050342],[-94.776172,59.020605],[-94.74375,58.975439],[-94.713379,58.90332],[-94.673389,58.870117],[-94.62373,58.875732],[-94.579199,58.868457],[-94.539697,58.848389],[-94.419238,58.745508],[-94.287061,58.716016],[-94.280811,58.658936],[-94.332617,58.339111],[-94.332227,58.297363],[-94.272168,58.378027],[-94.208936,58.626367],[-94.123193,58.736719],[-94.055762,58.76001],[-93.780029,58.772559],[-93.486182,58.744482],[-93.375049,58.741016],[-93.278125,58.756396],[-93.17876,58.725635],[-93.15459,58.69458],[-93.126514,58.564404],[-93.100195,58.489844],[-92.925146,58.224512],[-92.841748,58.075879],[-92.739844,57.844043],[-92.70166,57.777783],[-92.489648,57.468604],[-92.449414,57.384863],[-92.432812,57.320312],[-92.439795,57.275049],[-92.478369,57.205273],[-92.548486,57.110937],[-92.614111,57.039014],[-92.675244,56.989551],[-92.737988,56.952637],[-92.802393,56.92832],[-92.798145,56.921973],[-92.725293,56.933545],[-92.650977,56.958301],[-92.510303,57.022314],[-92.456299,57.036719],[-92.303369,57.04585],[-92.298291,57.022754],[-92.372119,56.975146],[-92.355713,56.970605],[-92.249023,57.008984],[-92.018018,57.06377],[-91.111279,57.241211],[-90.897461,57.256934],[-90.592187,57.224463],[-90.344824,57.149072],[-90.075195,57.051904],[-89.79082,56.981348],[-89.342334,56.91543],[-89.211572,56.883838],[-88.948486,56.851318],[-88.826465,56.814258],[-88.679883,56.725049],[-88.44707,56.608691],[-88.271338,56.535693],[-88.075098,56.467285],[-87.878125,56.341602],[-87.560889,56.056348],[-87.482422,56.021289],[-87.286865,55.974658],[-86.919385,55.914551],[-86.376953,55.773242],[-86.138672,55.717871],[-85.984473,55.695898],[-85.830518,55.656934],[-85.67666,55.601074],[-85.559326,55.540186],[-85.478467,55.474268],[-85.407275,55.431152],[-85.282715,55.383301],[-85.218018,55.348975],[-85.212012,55.297461],[-85.362012,55.095459],[-85.365283,55.079297],[-85.213574,55.224365],[-85.128857,55.266211],[-85.060938,55.285645],[-84.919922,55.28335],[-84.705762,55.259229],[-84.517969,55.258887],[-84.356494,55.28252],[-84.218945,55.293115],[-84.105371,55.29082],[-84.022998,55.297803],[-83.971777,55.31416],[-83.910596,55.314648],[-83.667676,55.264502],[-83.569482,55.261816],[-83.214355,55.2146],[-82.986279,55.231396],[-82.947021,55.222217],[-82.867773,55.160693],[-82.800684,55.155908],[-82.6875,55.165527],[-82.577441,55.14873],[-82.393262,55.067822],[-82.308252,54.998145],[-82.226611,54.855908],[-82.219385,54.813477],[-82.370605,54.483496],[-82.418066,54.355811],[-82.42417,54.24458],[-82.394141,54.180469],[-82.263574,54.072998],[-82.239893,54.044824],[-82.162646,53.885693],[-82.141455,53.817627],[-82.15,53.739551],[-82.190625,53.610937],[-82.180371,53.512842],[-82.146191,53.3646],[-82.15918,53.26416],[-82.219238,53.211475],[-82.259912,53.159814],[-82.291602,53.066113],[-82.291553,53.030713],[-82.260449,52.961133],[-82.202686,52.92168],[-82.107959,52.877393],[-82.02002,52.811621],[-81.859277,52.651416],[-81.742334,52.563623],[-81.599414,52.432617],[-81.57168,52.367285],[-81.611523,52.324072],[-81.66123,52.293896],[-81.776367,52.253613],[-81.827881,52.224219],[-81.814551,52.217188],[-81.647998,52.239063],[-81.549512,52.236768],[-81.466211,52.204492],[-81.398096,52.142236],[-81.285059,52.089209],[-81.127197,52.04541],[-80.968506,51.972217],[-80.705518,51.79834],[-80.657959,51.75835],[-80.588037,51.667236],[-80.49585,51.525098],[-80.447607,51.432227],[-80.443311,51.388574],[-80.495508,51.344678],[-80.672705,51.264746],[-80.851221,51.125],[-80.794971,51.131836],[-80.677246,51.190869],[-80.47832,51.307324],[-80.367969,51.329883],[-80.265674,51.316357],[-80.103564,51.282861],[-79.9604,51.235156],[-79.83623,51.17334],[-79.651514,51.007813],[-79.456152,50.875586],[-79.3479,50.762646],[-79.380713,50.834521],[-79.452637,50.917285],[-79.636182,51.049023],[-79.714453,51.117578],[-79.731396,51.150488],[-79.737451,51.186279],[-79.723242,51.25166],[-79.688818,51.346582],[-79.642969,51.413525],[-79.585742,51.452441],[-79.547461,51.493848],[-79.528027,51.537695],[-79.497559,51.569922],[-79.338672,51.628174],[-79.296973,51.622803],[-79.264258,51.552002],[-79.226123,51.537305],[-79.152734,51.526221],[-79.090869,51.501709],[-79.040527,51.46377],[-79.005029,51.425342],[-78.984326,51.386377],[-78.936914,51.259131],[-78.903174,51.200293],[-78.89751,51.27168],[-78.858008,51.383936],[-78.827441,51.42998],[-78.731348,51.497461],[-78.736426,51.526611],[-78.776318,51.565771],[-78.977734,51.733789],[-78.981641,51.774561],[-78.927881,51.798828],[-78.891113,51.845117],[-78.87124,51.913428],[-78.828223,51.962988],[-78.702002,52.032715],[-78.593311,52.139697],[-78.537354,52.213281],[-78.49165,52.2521],[-78.448096,52.261377],[-78.513086,52.291113],[-78.526074,52.310693],[-78.529102,52.39917],[-78.55708,52.491895],[-78.600586,52.535107],[-78.723779,52.627734],[-78.744141,52.655371],[-78.765771,52.760059],[-78.753613,52.812402],[-78.72168,52.856445],[-78.739844,52.898975],[-78.854102,52.976074],[-78.898242,53.043359],[-78.947119,53.206201],[-78.992041,53.410352],[-79.043115,53.560498],[-79.100342,53.656641],[-79.113135,53.717188],[-79.081445,53.742285],[-79.040332,53.817969],[-79.003174,53.836572],[-78.945703,53.831592],[-78.944385,53.840234],[-79.032031,53.881055],[-79.075146,53.932373],[-79.073291,53.951416],[-78.996045,54.00249],[-79.009912,54.023975],[-79.067139,54.051953],[-79.241797,54.098877],[-79.178809,54.116943],[-79.138818,54.157227],[-79.146729,54.169238],[-79.215967,54.185693],[-79.295654,54.216846],[-79.356152,54.263379],[-79.430566,54.336621],[-79.475977,54.394775],[-79.520654,54.491553],[-79.597949,54.60166],[-79.631738,54.629102],[-79.67041,54.646826],[-79.713965,54.65498],[-79.712354,54.671826],[-79.665527,54.697461],[-78.909229,54.881494],[-78.84624,54.908008],[-78.475049,55.011035],[-78.303613,55.068555],[-78.128857,55.151318],[-77.891113,55.236426],[-77.775293,55.29126],[-77.702148,55.344189],[-77.324951,55.555518],[-77.165088,55.663525],[-77.072559,55.756299],[-76.938086,55.867236],[-76.761816,55.996436],[-76.650488,56.107227],[-76.604053,56.199561],[-76.546387,56.358789],[-76.529834,56.499951],[-76.519629,56.706982],[-76.525586,56.891797],[-76.572852,57.181201],[-76.601416,57.272266],[-76.65542,57.380566],[-76.786279,57.598584],[-76.809814,57.657959],[-76.890918,57.758105],[-77.156787,58.018896],[-77.48916,58.195313],[-77.552441,58.2396],[-77.684082,58.291357],[-77.884131,58.350732],[-78.013574,58.39917],[-78.351709,58.580664],[-78.462988,58.602441],[-78.505908,58.649121],[-78.515088,58.682373],[-78.502295,58.769092],[-78.482617,58.829102],[-78.458691,58.873291],[-78.430518,58.901758],[-78.244434,59.035059],[-78.140234,59.141748],[-78.067676,59.200195],[-77.987646,59.245508],[-77.842822,59.305029],[-77.760693,59.380029],[-77.779443,59.4104],[-77.844678,59.443506],[-77.859033,59.475781],[-77.749023,59.558154],[-77.733496,59.580957],[-77.74751,59.658496],[-77.726172,59.675879],[-77.59043,59.680518],[-77.39668,59.569238],[-77.349072,59.578955],[-77.411035,59.609619],[-77.485303,59.68457],[-77.474561,59.715674],[-77.331641,59.796631],[-77.327637,59.833398],[-77.368408,59.884375],[-77.372949,59.925098],[-77.289209,60.022021],[-77.311816,60.042383],[-77.547168,60.061133],[-77.585889,60.088184],[-77.572168,60.100977],[-77.461377,60.133496],[-77.452881,60.145801],[-77.648633,60.3625],[-77.681445,60.4271],[-77.598145,60.506738],[-77.503564,60.542725],[-77.515576,60.563184],[-77.639453,60.566895],[-77.71499,60.577783],[-77.79082,60.639844],[-77.76123,60.679053],[-77.734229,60.696973],[-77.660645,60.789502],[-77.589551,60.808594],[-77.603027,60.825195],[-77.871533,60.78584],[-77.998145,60.818213],[-78.122461,60.809619],[-78.181348,60.819141],[-78.159668,60.852197],[-77.93418,61.002637],[-77.830127,61.084033],[-77.765039,61.15752],[-77.730615,61.206396],[-77.726807,61.230664],[-77.749609,61.393018],[-77.736182,61.437354],[-77.648877,61.478662],[-77.514355,61.556299],[-77.698438,61.626416],[-77.81377,61.694775],[-77.889893,61.728711],[-77.947559,61.761865],[-78.021387,61.83208],[-78.07749,61.923389],[-78.137158,62.107373],[-78.146973,62.208691],[-78.133398,62.282275],[-78.108594,62.318115],[-78.068115,62.35542],[-77.899902,62.426563],[-77.603955,62.531396],[-77.372412,62.57251],[-77.205273,62.549951],[-76.879395,62.525391],[-76.616357,62.465674],[-75.816895,62.315869],[-75.675537,62.249512],[-75.809229,62.193408],[-75.789844,62.17959],[-75.488818,62.286426],[-75.409229,62.30708],[-75.341211,62.312109],[-75.114014,62.270752],[-75.022754,62.264453],[-74.907568,62.230029],[-74.632568,62.115674],[-74.612891,62.125195],[-74.689893,62.183447],[-74.645801,62.211133],[-74.429199,62.271826],[-74.205469,62.321387],[-74.046484,62.37002],[-73.877832,62.434375],[-73.763965,62.46875],[-73.705078,62.473145],[-73.62998,62.454199],[-73.428369,62.368848],[-73.298975,62.325049],[-73.195166,62.27915],[-73.049365,62.198242],[-72.992383,62.18042],[-72.881836,62.125391],[-72.734961,62.131104],[-72.686963,62.124561],[-72.670801,62.113867],[-72.645996,62.076611],[-72.633105,62.052783],[-72.632129,62.027246],[-72.666016,61.955322],[-72.771631,61.84043],[-72.727393,61.838623],[-72.660645,61.863232],[-72.573877,61.907129],[-72.505566,61.922656],[-72.360742,61.887793],[-72.226123,61.831592],[-72.178467,61.801807],[-72.126123,61.753223],[-72.081445,61.728271],[-72.040039,61.680273],[-72.042969,61.664697],[-72.082031,61.641406],[-72.24707,61.602051],[-72.215869,61.587256],[-72.023096,61.611963],[-71.964404,61.636279],[-71.922266,61.676953],[-71.866113,61.688525],[-71.638281,61.617188],[-71.604785,61.592383],[-71.619434,61.5729],[-71.656201,61.550928],[-71.755762,61.526758],[-71.841016,61.466016],[-71.854395,61.439795],[-71.793652,61.421191],[-71.645312,61.413135],[-71.646436,61.39873],[-71.732129,61.37207],[-71.743457,61.337256],[-71.551514,61.213281],[-71.422705,61.158936],[-71.348437,61.148975],[-71.175146,61.146533],[-71.034961,61.125537],[-70.723242,61.055176],[-70.540771,61.04248],[-70.383643,61.063965],[-70.279297,61.068652],[-70.187207,61.040527],[-70.157959,61.020654],[-70.144141,60.981104],[-70.145898,60.921826],[-70.095312,60.880273],[-69.992432,60.856494],[-69.909229,60.860107],[-69.800439,60.906689],[-69.708398,60.914648],[-69.677588,60.949561],[-69.650439,61.01416],[-69.623633,61.049512],[-69.556982,61.059668],[-69.50332,61.04043],[-69.471924,61.010938],[-69.414355,60.922461],[-69.39834,60.882861],[-69.404736,60.846777],[-69.433447,60.814258],[-69.489941,60.77959],[-69.574219,60.742725],[-69.640479,60.689795],[-69.721387,60.567432],[-69.75127,60.487451],[-69.759473,60.440234],[-69.755908,60.388525],[-69.740576,60.332275],[-69.708496,60.285938],[-69.633105,60.220361],[-69.62876,60.198584],[-69.623145,60.145459],[-69.629785,60.122119],[-69.67373,60.075879],[-69.795654,60.029736],[-69.962842,60.017822],[-70.509326,60.015186],[-70.654834,60.026221],[-70.619727,59.984277],[-70.46665,59.97085],[-70.326855,59.971387],[-69.805664,59.944873],[-69.733936,59.918018],[-69.673437,59.870752],[-69.630225,59.821826],[-69.587402,59.722314],[-69.579395,59.675098],[-69.602344,59.622705],[-69.656201,59.565088],[-69.692383,59.488428],[-69.710889,59.392529],[-69.681885,59.341748],[-69.4,59.337793],[-69.344043,59.303076],[-69.350439,59.277197],[-69.450488,59.180029],[-69.459766,59.152441],[-69.414111,59.086865],[-69.420313,59.068213],[-69.448096,59.04917],[-69.474658,59],[-69.500098,58.920654],[-69.531641,58.869238],[-69.608203,58.829492],[-69.648389,58.820801],[-69.677344,58.831348],[-69.753027,58.9396],[-69.78418,58.955713],[-69.813672,58.945557],[-69.828516,58.92876],[-69.828613,58.905371],[-69.841602,58.881152],[-69.867578,58.856152],[-69.97915,58.816357],[-70.159961,58.789404],[-70.154346,58.760596],[-70.033008,58.745166],[-69.878564,58.696973],[-69.789893,58.689307],[-69.650537,58.728271],[-69.381836,58.850732],[-69.271094,58.883936],[-69.173486,58.896631],[-69.063623,58.898242],[-68.941504,58.888916],[-68.698193,58.904541],[-68.637305,58.892871],[-68.562891,58.865918],[-68.474902,58.823486],[-68.414307,58.782715],[-68.381152,58.743506],[-68.326465,58.59541],[-68.252979,58.556641],[-68.235156,58.528174],[-68.229395,58.48457],[-68.233887,58.399219],[-68.314697,58.226904],[-68.356543,58.163232],[-68.468164,58.076318],[-68.596875,58.036865],[-68.825781,57.999854],[-68.945312,57.968799],[-69.035449,57.926025],[-69.04082,57.90249],[-68.780957,57.97583],[-68.495068,58.01167],[-68.413574,58.051758],[-68.351855,58.090723],[-68.289111,58.177686],[-68.175537,58.402588],[-68.111035,58.47334],[-68.021045,58.485303],[-67.981152,58.46123],[-67.887793,58.329395],[-67.888281,58.295752],[-67.911426,58.267236],[-68.063867,58.138965],[-68.008984,58.152051],[-67.855859,58.272607],[-67.82334,58.310254],[-67.805225,58.365479],[-67.755957,58.40459],[-67.737061,58.385449],[-67.689697,58.243799],[-67.688184,58.140234],[-67.680566,58.107031],[-67.697656,58.00874],[-67.678271,57.991113],[-67.632227,58.076123],[-67.617187,58.140332],[-67.596338,58.186133],[-67.569629,58.213477],[-67.381982,58.3],[-67.162842,58.370361],[-67.019434,58.43291],[-66.900391,58.462793],[-66.722168,58.491016],[-66.60791,58.548926],[-66.557715,58.636621],[-66.515039,58.697314],[-66.47998,58.730908],[-66.362402,58.791162],[-66.298535,58.794531],[-66.237402,58.772266],[-66.168213,58.7271],[-66.090918,58.659033],[-66.044629,58.605615],[-66.029541,58.566797],[-66.017041,58.430811],[-66.002393,58.431201],[-65.93125,58.535059],[-65.9229,58.571973],[-65.92793,58.610938],[-65.949658,58.649854],[-66.021289,58.734766],[-66.049365,58.787891],[-66.043066,58.820654],[-65.967041,58.839209],[-65.854834,58.846631],[-65.835937,58.860498],[-65.918408,58.895605],[-65.920703,58.914648],[-65.841406,58.977051],[-65.794824,58.980469],[-65.703564,58.970605],[-65.721924,59.002588],[-65.720996,59.023779],[-65.695264,59.032031],[-65.543994,59.011865],[-65.526318,59.03623],[-65.39624,59.038428],[-65.383545,59.060205],[-65.495996,59.091309],[-65.60625,59.110742],[-65.639844,59.127734],[-65.665625,59.152783],[-65.7,59.21333],[-65.691699,59.229395],[-65.660742,59.229688],[-65.607129,59.213135],[-65.578027,59.244971],[-65.545313,59.319727],[-65.512793,59.350391],[-65.411719,59.31499],[-65.407275,59.330225],[-65.489355,59.447754],[-65.475098,59.470312],[-65.349707,59.478809],[-65.273779,59.46416],[-65.074316,59.378027],[-65.038232,59.387891],[-65.068848,59.411475],[-65.170947,59.462256],[-65.263184,59.495459],[-65.345508,59.511035],[-65.407422,59.539355],[-65.475195,59.616797],[-65.486475,59.648682],[-65.480859,59.690234],[-65.433398,59.776514],[-65.406152,59.795215],[-65.35791,59.809082],[-65.28877,59.818066],[-65.212256,59.809521],[-65.054492,59.752783],[-65.028174,59.770703],[-65.113281,59.801611],[-65.159229,59.830127],[-65.181396,59.86665],[-65.171729,59.908008],[-65.104883,59.993408],[-65.073389,60.062207],[-64.93125,60.252002],[-64.889551,60.286523],[-64.84502,60.308301],[-64.817334,60.331055],[-64.705859,60.336133],[-64.499414,60.268262],[-64.436328,60.228125],[-64.41958,60.171387],[-64.527734,60.094531],[-64.713281,60.037158],[-64.768457,60.012109],[-64.732568,59.997559],[-64.55918,60.043408],[-64.407715,60.064795],[-64.283496,60.064062],[-64.182861,59.972949],[-64.168799,59.846533],[-64.226318,59.741211],[-64.150684,59.793604],[-64.056055,59.822559],[-63.978711,59.753711],[-63.969482,59.697607],[-63.928809,59.644922],[-63.84126,59.574414],[-63.750195,59.512598],[-63.850391,59.447803],[-63.970703,59.409082],[-63.945459,59.380176],[-63.780859,59.349268],[-63.758594,59.318652],[-63.775879,59.277148],[-63.752002,59.277344],[-63.6375,59.341455],[-63.539893,59.332861],[-63.415137,59.194385],[-63.506201,59.115186],[-63.645508,59.078906],[-63.756396,59.063477],[-63.910498,59.065576],[-63.971143,59.053809],[-63.941016,59.027393],[-63.793652,59.027002],[-63.567871,59.047021],[-63.398975,59.079639],[-63.325537,59.081592],[-63.248437,59.068311],[-63.22251,59.057178],[-63.303711,59.034424],[-63.309863,59.026465],[-63.279443,59.003174],[-63.216406,58.927979],[-63.221924,58.911035],[-63.282129,58.867383],[-63.185352,58.857764],[-63.050293,58.878174],[-63.00835,58.85542],[-62.926074,58.765039],[-62.873877,58.672461],[-63.102344,58.545752],[-63.218652,58.519531],[-63.389941,58.452539],[-63.437939,58.398828],[-63.537061,58.329932],[-63.473633,58.330664],[-63.296484,58.441211],[-63.209961,58.466943],[-63.145508,58.460449],[-63.119531,58.441748],[-63.132129,58.41084],[-63.075684,58.414795],[-62.837402,58.479395],[-62.737305,58.492188],[-62.607861,58.496387],[-62.593848,58.474023],[-62.674316,58.319189],[-62.812061,58.200391],[-63.062793,58.1271],[-63.15166,58.08418],[-63.261523,58.014697],[-63.22002,58.002148],[-62.980908,58.093311],[-62.817529,58.129248],[-62.588086,58.158105],[-62.48623,58.154053],[-62.305664,57.972266],[-62.201514,57.954639],[-62.117432,57.964111],[-61.958643,57.911768],[-61.899072,57.861328],[-61.914062,57.825049],[-61.967773,57.80332],[-61.994922,57.769434],[-61.93125,57.668555],[-61.967969,57.611914],[-62.083984,57.561914],[-62.166895,57.536572],[-62.253613,57.52876],[-62.338574,57.484521],[-62.377148,57.477979],[-62.495557,57.489209],[-62.45498,57.461963],[-62.396484,57.448193],[-62.303223,57.440674],[-62.194238,57.45459],[-62.088086,57.452832],[-61.921143,57.420801],[-61.851074,57.381299],[-61.849805,57.37041],[-61.88584,57.347852],[-61.938867,57.274365],[-61.977441,57.247949],[-61.944531,57.228125],[-61.86084,57.197559],[-61.79834,57.18623],[-61.716309,57.196191],[-61.628516,57.183154],[-61.33374,57.010596],[-61.345752,56.921582],[-61.390479,56.852979],[-61.372803,56.77583],[-61.371631,56.680811],[-61.531689,56.65459],[-62.0625,56.699072],[-62.366113,56.766992],[-62.381738,56.787695],[-62.295801,56.832812],[-62.372021,56.836182],[-62.460205,56.818457],[-62.497266,56.801709],[-62.395508,56.730029],[-62.116504,56.666846],[-61.991602,56.59082],[-61.854932,56.584277],[-61.813379,56.570508],[-61.737744,56.526025],[-61.760059,56.510742],[-61.899414,56.50542],[-62.009668,56.453857],[-61.94043,56.423584],[-61.69248,56.39707],[-61.5146,56.390332],[-61.425293,56.360645],[-61.498682,56.327588],[-61.707129,56.288721],[-61.713086,56.230957],[-61.558594,56.207813],[-61.421094,56.221826],[-61.364697,56.216016],[-61.324414,56.076221],[-61.301123,56.047168],[-61.448926,56.022363],[-61.449512,55.995703],[-61.35127,55.973682],[-61.187891,55.955371],[-61.133887,55.930273],[-61.122998,55.888574],[-61.089355,55.866357],[-60.995752,55.862354],[-60.892676,55.914209],[-60.831836,55.957861],[-60.743262,55.941455],[-60.736621,55.886963],[-60.630957,55.825],[-60.592578,55.814844],[-60.562109,55.727002],[-60.47583,55.805127],[-60.412598,55.788574],[-60.341016,55.784668],[-60.36543,55.709082],[-60.408301,55.649561],[-60.351953,55.612354],[-60.308301,55.556982],[-60.192383,55.480908],[-60.224023,55.444385],[-60.360937,55.366309],[-60.433105,55.242773],[-60.450098,55.199951],[-60.520508,55.129004],[-60.617139,55.060205],[-60.556543,55.06748],[-60.340771,55.193945],[-60.212549,55.236426],[-59.930322,55.259424],[-59.862109,55.294873],[-59.758789,55.30957],[-59.695508,55.269141],[-59.689062,55.196338],[-59.605469,55.17334],[-59.517676,55.197363],[-59.437891,55.175928],[-59.48584,55.130176],[-59.741699,54.942578],[-59.816406,54.867236],[-59.837793,54.813965],[-59.749902,54.887012],[-59.428564,55.055518],[-59.394189,55.080713],[-59.32417,55.152832],[-59.25957,55.199951],[-59.086328,55.183252],[-58.997119,55.149463],[-58.955811,55.055078],[-58.885791,54.952246],[-58.780176,54.838379],[-58.499902,54.783105],[-58.398145,54.774121],[-58.222852,54.812695],[-58.195264,54.865918],[-58.058496,54.882227],[-57.962451,54.875732],[-57.929297,54.773145],[-57.826855,54.718652],[-57.724902,54.67373],[-57.626611,54.650342],[-57.483008,54.640283],[-57.404492,54.590869],[-57.404443,54.57041],[-57.485352,54.51748],[-57.563232,54.44043],[-57.699268,54.386572],[-57.889111,54.384082],[-58.151367,54.350439],[-58.161914,54.319971],[-58.219727,54.286475],[-58.359131,54.25332],[-58.435205,54.228125],[-58.558398,54.102979],[-58.633203,54.049561],[-58.719434,54.039404],[-58.84082,54.044482],[-58.920215,54.033105],[-58.978467,54.010254],[-59.012646,53.97627],[-59.038818,53.963623],[-59.201416,53.929102],[-59.496533,53.83418],[-59.652686,53.83125],[-59.749463,53.842285],[-59.823047,53.834424],[-59.87334,53.807764],[-60.01416,53.761572],[-60.056543,53.73335],[-60.081348,53.701025],[-60.100488,53.634229],[-60.117285,53.610107],[-60.144922,53.596143],[-60.26333,53.610059],[-60.39541,53.65332],[-60.369531,53.607471],[-60.160254,53.52998],[-60.100293,53.486963],[-60.157129,53.449805],[-60.290283,53.391455],[-60.305762,53.360107],[-60.251172,53.343555],[-60.272705,53.31709],[-60.345703,53.289014],[-60.3375,53.277441],[-60.329492,53.266113],[-60.14834,53.306543],[-59.987109,53.392822],[-59.881738,53.480078],[-59.829053,53.504541],[-59.621094,53.536816],[-59.498145,53.574756],[-59.322266,53.64375],[-59.129395,53.743945],[-58.91958,53.875293],[-58.652051,53.977881],[-58.326709,54.051807],[-58.088086,54.089502],[-57.935986,54.091162],[-57.928271,54.103564],[-58.064844,54.126758],[-58.177441,54.131299],[-58.31748,54.114453],[-58.360791,54.154492],[-58.356152,54.171924],[-58.309961,54.20166],[-58.19209,54.228174],[-57.614941,54.191113],[-57.416064,54.162744],[-57.198877,53.924365],[-57.148975,53.847705],[-57.134961,53.791846],[-57.156934,53.756885],[-57.243994,53.715479],[-57.489453,53.633105],[-57.524072,53.611426],[-57.527344,53.599902],[-57.420215,53.583252],[-57.386133,53.560547],[-57.331738,53.469092],[-57.221387,53.528516],[-57.012158,53.672607],[-56.840869,53.739453],[-56.696582,53.757666],[-56.524316,53.766455],[-56.46499,53.765039],[-56.444336,53.718311],[-56.354004,53.624463],[-56.270215,53.600098],[-56.110156,53.587598],[-55.966113,53.471143],[-55.91123,53.39082],[-55.859375,53.343896],[-55.863379,53.312256],[-55.854785,53.28584],[-55.816895,53.245752],[-55.797949,53.211963],[-55.808203,53.134668],[-55.892334,53.000439],[-55.829883,52.878418],[-55.85791,52.823389],[-55.87251,52.735693],[-55.818652,52.677148],[-55.802832,52.643164],[-55.848437,52.62334],[-56.166992,52.574756],[-56.292383,52.573779],[-56.324902,52.544531],[-56.228418,52.535986],[-56.052588,52.537402],[-55.840186,52.507617],[-55.746484,52.474561],[-55.705957,52.428271],[-55.716211,52.391504],[-55.777148,52.364258],[-55.89668,52.36958],[-56.011719,52.394482],[-56.004639,52.37041],[-55.833643,52.3104],[-55.783496,52.279932],[-55.691064,52.241602],[-55.672803,52.190137],[-55.695215,52.137793],[-56.01748,51.929297],[-56.282568,51.79707],[-56.548584,51.681006],[-56.975977,51.457666],[-57.018262,51.446777],[-57.095605,51.442529],[-57.299219,51.478271],[-57.46167,51.469092],[-57.76958,51.425928],[-57.85376,51.399512],[-58.022656,51.32207],[-58.089404,51.310986],[-58.270459,51.295215],[-58.442285,51.305908],[-58.510352,51.295068],[-58.593262,51.257129],[-58.614746,51.237061],[-58.637598,51.17168],[-59.054932,50.879102],[-59.165381,50.779883],[-59.378027,50.675439],[-59.611914,50.49209],[-59.815332,50.418262],[-59.886328,50.316406],[-60.080176,50.25459],[-60.438086,50.238867],[-60.608203,50.221143],[-60.807227,50.249805],[-60.956299,50.20542],[-61.180713,50.191504],[-61.289746,50.201953],[-61.724854,50.104053],[-61.835352,50.196973],[-61.919531,50.232861],[-62.165234,50.238916],[-62.36167,50.277295],[-62.540918,50.284521],[-62.71543,50.30166],[-62.830225,50.301465],[-62.949756,50.291357],[-63.135645,50.293799],[-63.238623,50.242578],[-63.58667,50.258203],[-63.733594,50.304639],[-63.853955,50.314355],[-64.01582,50.303955],[-64.17041,50.269434],[-64.508936,50.308936],[-64.867871,50.275488],[-65.180908,50.2979],[-65.268604,50.32002],[-65.762451,50.259277],[-65.955371,50.294141],[-66.125537,50.201025],[-66.242187,50.220361],[-66.368848,50.206641],[-66.411084,50.224268],[-66.495508,50.211865],[-66.550049,50.161182],[-66.621729,50.15542],[-66.740869,50.065527],[-66.941162,49.993701],[-67.234375,49.601758],[-67.261914,49.451172],[-67.372021,49.348438],[-67.469238,49.334619],[-67.549268,49.332275],[-68.05625,49.256787],[-68.281934,49.197168],[-68.220605,49.149658],[-68.294531,49.114355],[-68.414404,49.099512],[-68.543848,49.056152],[-68.627881,49.007178],[-68.669043,48.939502],[-68.929053,48.828955],[-69.230762,48.573633],[-69.374951,48.386426],[-69.550098,48.250781],[-69.673877,48.19917],[-69.761914,48.191162],[-69.851709,48.207373],[-70.001025,48.270947],[-70.110645,48.277979],[-70.383691,48.366504],[-71.018262,48.455615],[-70.922607,48.422314],[-70.83877,48.367383],[-70.671094,48.353223],[-70.500635,48.354346],[-70.145312,48.243555],[-69.971191,48.205762],[-69.865527,48.172266],[-69.775,48.098096],[-69.839844,47.952588],[-69.905566,47.832227],[-69.994434,47.739893],[-70.300098,47.503027],[-70.448047,47.423438],[-70.705859,47.139795],[-70.972705,47.006689],[-71.115625,46.924951],[-71.267773,46.795947],[-71.624756,46.698389],[-71.757275,46.673584],[-71.87959,46.686816],[-72.028467,46.607422],[-72.204639,46.558887],[-72.256641,46.485059],[-72.680127,46.287305],[-72.842676,46.262402],[-72.981006,46.209717],[-73.021924,46.120264],[-73.14541,46.066309],[-73.179687,46.025],[-73.283545,45.899854],[-73.476611,45.738232],[-73.711865,45.711182],[-73.797852,45.654932],[-73.897412,45.56416],[-74.037842,45.501855],[-74.315088,45.531055],[-74.247656,45.492871],[-73.999609,45.43335],[-73.973828,45.345117],[-74.098096,45.324023],[-74.358301,45.206396],[-74.708887,45.003857],[-74.762451,44.999072],[-74.856641,45.003906],[-74.996143,44.970117],[-75.179395,44.899365],[-75.40127,44.772266],[-75.791943,44.49707],[-75.819336,44.468018],[-75.875928,44.416992],[-76.020215,44.362598],[-76.151172,44.303955],[-76.185791,44.242236],[-76.248535,44.214111],[-76.4646,44.057617],[-76.586133,43.924316],[-76.696484,43.784814],[-76.819971,43.628809],[-77.07334,43.626855],[-77.266699,43.62749],[-77.596533,43.628613],[-77.879248,43.629541],[-78.214795,43.630664],[-78.458252,43.631494],[-78.72041,43.624951],[-78.845557,43.58335],[-79.00249,43.527148],[-79.171875,43.466553],[-79.083057,43.331396],[-79.059229,43.278076],[-79.066064,43.106104],[-79.047998,43.087305],[-79.029053,43.061768],[-79.026172,43.017334],[-79.01167,42.997021],[-78.980762,42.980615],[-78.945996,42.961328],[-78.92085,42.935205],[-78.915088,42.909131],[-78.939258,42.863721],[-79.036719,42.802344],[-79.17373,42.748535],[-79.44624,42.651465],[-79.762012,42.538965],[-80.035742,42.441455],[-80.247559,42.366016],[-80.682617,42.299756],[-81.028223,42.247168],[-81.277637,42.20918],[-81.507324,42.103467],[-81.760937,41.986816],[-81.97417,41.888721],[-82.21333,41.778711],[-82.439062,41.674854],[-82.690039,41.675195],[-82.866211,41.753027],[-83.02998,41.832959],[-83.141943,41.975879],[-83.149658,42.141943],[-83.109521,42.250684],[-83.073145,42.300293],[-83.003711,42.331738],[-82.867773,42.385205],[-82.744189,42.493457],[-82.645117,42.558057],[-82.545312,42.624707],[-82.48833,42.739502],[-82.417236,43.017383],[-82.408203,43.072656],[-82.304785,43.263232],[-82.190381,43.474072],[-82.137842,43.570898],[-82.196582,43.822217],[-82.240771,44.015332],[-82.28125,44.192236],[-82.326807,44.391553],[-82.368262,44.572998],[-82.407373,44.743945],[-82.446582,44.915527],[-82.485059,45.08374],[-82.515234,45.204395],[-82.551074,45.347363],[-82.7604,45.447705],[-82.919336,45.517969],[-83.179297,45.632764],[-83.397314,45.729053],[-83.592676,45.817139],[-83.469482,45.994678],[-83.480127,46.02373],[-83.524756,46.058691],[-83.615967,46.116846],[-83.669287,46.122754],[-83.763184,46.109082],[-83.913037,46.0729],[-83.977783,46.084912],[-84.029199,46.147021],[-84.088379,46.226514],[-84.107764,46.288623],[-84.115186,46.370801],[-84.150488,46.444775],[-84.128125,46.483594],[-84.123193,46.50293],[-84.125195,46.527246],[-84.149463,46.542773],[-84.192187,46.549561],[-84.336719,46.518506],[-84.401709,46.515625],[-84.440479,46.498145],[-84.501562,46.461865],[-84.561768,46.457373],[-84.665771,46.543262],[-84.779395,46.637305],[-84.827051,46.766846],[-84.875977,46.899902],[-85.070068,46.979932],[-85.264111,47.059961],[-85.458203,47.139941],[-85.652246,47.219971],[-85.846338,47.3],[-86.040381,47.380029],[-86.234473,47.460059],[-86.428564,47.540088],[-86.495557,47.566602],[-86.672168,47.636426],[-86.921826,47.735205],[-87.208008,47.848486],[-87.494238,47.961768],[-87.743896,48.060547],[-87.920508,48.130371],[-87.987451,48.156885],[-88.160645,48.225391],[-88.378174,48.303076],[-88.611768,48.264014],[-88.898682,48.155713],[-89.062598,48.093799],[-89.185645,48.047412],[-89.273193,48.019971],[-89.455664,47.99624],[-89.550586,47.999902],[-89.775391,48.015332],[-89.901025,47.995459],[-89.993652,48.015332],[-90.039941,48.078174],[-90.091797,48.118115],[-90.320117,48.09917],[-90.60708,48.112598],[-90.744385,48.10459],[-90.797314,48.131055],[-90.840332,48.200537],[-90.916064,48.209131],[-91.043457,48.193701],[-91.220654,48.10459],[-91.387207,48.058545],[-91.518311,48.058301],[-91.647314,48.10459],[-91.858398,48.197559],[-92.005176,48.301855],[-92.171777,48.338379],[-92.298682,48.328906],[-92.348437,48.276611],[-92.4146,48.276611],[-92.460889,48.365869],[-92.500586,48.435352],[-92.583252,48.465088],[-92.732666,48.531836],[-92.836719,48.567773],[-92.99624,48.611816],[-93.051709,48.619873],[-93.155225,48.625342],[-93.257959,48.628857],[-93.377881,48.616553],[-93.463623,48.561279],[-93.564258,48.536914],[-93.707715,48.525439],[-93.803564,48.548926],[-93.851611,48.607275],[-94.055176,48.659033],[-94.41416,48.704102],[-94.620898,48.742627],[-94.675342,48.774414],[-94.705078,48.808496],[-94.712549,48.862988],[-94.712793,48.863428],[-94.803467,49.00293],[-94.842578,49.119189],[-94.8604,49.258594],[-94.854346,49.30459],[-94.874805,49.319043],[-94.939355,49.349414],[-95.155273,49.369678],[-95.158252,49.203076],[-95.162061,48.991748],[-95.3979,48.993164],[-95.824316,48.993164],[-96.250684,48.993164],[-96.677051,48.993164],[-97.103467,48.993164],[-97.529834,48.993164],[-97.956201,48.993164],[-98.382617,48.993164],[-98.808984,48.993164],[-99.235352,48.993115],[-99.661719,48.993115],[-100.088135,48.993115],[-100.514502,48.993115],[-100.940869,48.993115],[-101.367285,48.993115],[-101.793652,48.993115],[-102.22002,48.993115],[-102.646436,48.993115],[-103.072803,48.993115],[-103.49917,48.993115],[-103.925586,48.993115],[-104.351953,48.993115],[-104.77832,48.993115],[-105.204687,48.993115],[-105.631104,48.993115],[-106.057471,48.993115],[-106.483838,48.993115],[-106.910254,48.993115],[-107.336621,48.993115],[-107.762988,48.993115],[-108.189404,48.993115],[-108.615771,48.993115],[-109.042139,48.993115],[-109.468555,48.993066],[-109.894922,48.993066],[-110.321289,48.993066],[-110.747656,48.993066],[-111.174072,48.993066],[-111.600439,48.993066],[-112.026807,48.993066],[-112.453223,48.993066],[-112.87959,48.993066],[-113.305957,48.993066],[-113.732373,48.993066],[-114.15874,48.993066],[-114.585107,48.993066],[-115.011523,48.993066],[-115.437891,48.993066],[-115.864258,48.993066],[-116.290625,48.993066],[-116.717041,48.993066],[-117.143408,48.993066],[-117.569775,48.993066],[-117.996191,48.993066],[-118.422559,48.993066],[-118.848926,48.993066],[-119.275342,48.993066],[-119.701709,48.993018],[-120.128076,48.993018],[-120.554492,48.993018],[-120.980859,48.993018],[-121.407227,48.993018],[-121.833594,48.993018],[-122.26001,48.993018],[-122.686377,48.993018],[-122.78877,48.993018],[-122.826709,49.028418],[-122.92417,49.074658],[-122.962695,49.074609],[-123.002295,49.060889],[-123.027246,49.038525],[-123.049219,48.993018],[-123.063281,48.977734],[-123.077295,48.980225],[-123.086426,48.993018],[-123.117627,49.056348],[-123.109326,49.084619],[-123.077295,49.118359],[-123.079541,49.130615],[-123.150146,49.121045],[-123.181885,49.129492],[-123.196338,49.147705],[-123.191064,49.219531],[-123.229443,49.260498],[-123.183936,49.277734],[-123.067285,49.291553],[-122.947656,49.293262],[-122.912988,49.323193],[-122.879102,49.398926],[-122.964453,49.329346],[-123.015527,49.322168],[-123.174268,49.348193],[-123.276758,49.343945],[-123.290527,49.359473],[-123.286279,49.374951],[-123.264063,49.390479],[-123.247705,49.443018],[-123.222998,49.590479],[-123.190674,49.644287],[-123.17959,49.673535],[-123.1875,49.680322],[-123.325,49.577686],[-123.33667,49.545117],[-123.322412,49.516992],[-123.335645,49.45918],[-123.398975,49.441895],[-123.436963,49.451318],[-123.508203,49.402441],[-123.530566,49.397314],[-123.858936,49.482861],[-123.891846,49.494727],[-123.948389,49.534717],[-124.028613,49.602881],[-124.053809,49.661719],[-124.024023,49.711328],[-123.992627,49.736182],[-123.959521,49.736182],[-123.922754,49.717529],[-123.847119,49.63667],[-123.817187,49.586572],[-123.739062,49.593555],[-123.612744,49.657568],[-123.582471,49.68125],[-123.708301,49.656934],[-123.762695,49.658496],[-123.818018,49.685156],[-123.874414,49.736816],[-123.903809,49.795459],[-123.904248,49.981152],[-123.884961,50.017041],[-123.823828,50.043701],[-123.784668,50.087988],[-123.787695,50.106738],[-123.825439,50.144238],[-123.880127,50.173633],[-123.933594,50.188281],[-123.945898,50.183936],[-123.863037,50.102588],[-123.865723,50.07207],[-123.957422,49.992773],[-123.971387,49.969531],[-123.972119,49.892041],[-123.984912,49.875586],[-124.058789,49.853662],[-124.141602,49.792676],[-124.28125,49.772119],[-124.412598,49.778125],[-124.483252,49.808203],[-124.702295,49.957666],[-124.782373,50.020117],[-124.784277,50.072803],[-124.93418,50.258057],[-124.93335,50.2979],[-124.985596,50.355615],[-125.043604,50.36377],[-125.056689,50.418652],[-124.936816,50.537402],[-124.862646,50.637305],[-124.854248,50.668652],[-124.85752,50.717334],[-124.875439,50.825635],[-124.859863,50.872412],[-124.933594,50.810596],[-124.949268,50.764697],[-124.931055,50.718408],[-124.942529,50.665674],[-124.9854,50.591943],[-125.058789,50.513867],[-125.209863,50.476318],[-125.476318,50.497168],[-125.507178,50.507275],[-125.525977,50.534131],[-125.539355,50.649023],[-125.555566,50.634863],[-125.58584,50.573633],[-125.610156,50.486035],[-125.641309,50.466211],[-125.697559,50.464551],[-125.741211,50.478564],[-125.772412,50.508203],[-125.8396,50.510645],[-125.965039,50.487354],[-126.024121,50.496729],[-126.094336,50.497607],[-126.236572,50.523291],[-126.404492,50.529883],[-126.449951,50.549707],[-126.447461,50.587744],[-126.416113,50.606982],[-126.238916,50.623828],[-126.067236,50.664307],[-125.897607,50.684375],[-125.904102,50.704932],[-125.980713,50.711377],[-126.370313,50.666748],[-126.492969,50.672119],[-126.514355,50.679395],[-126.517334,50.724463],[-126.472217,50.767285],[-126.397119,50.80708],[-126.374609,50.837354],[-126.418213,50.850195],[-126.488184,50.841846],[-126.521777,50.866064],[-126.484619,50.960498],[-126.517334,51.056836],[-126.562891,50.965479],[-126.631787,50.915137],[-126.9604,50.893701],[-127.014062,50.866797],[-127.057568,50.867529],[-127.26748,50.916064],[-127.356934,50.945557],[-127.441211,50.989404],[-127.590869,51.087549],[-127.708105,51.151172],[-127.714307,51.268652],[-127.68916,51.343457],[-127.632715,51.427295],[-127.419678,51.608057],[-127.346582,51.642383],[-127.280664,51.654102],[-126.968115,51.669922],[-126.7354,51.692627],[-126.691455,51.703418],[-127.034082,51.716699],[-127.338721,51.707373],[-127.442725,51.678955],[-127.575732,51.562939],[-127.60957,51.514063],[-127.644873,51.478467],[-127.668701,51.477588],[-127.714063,51.490186],[-127.728711,51.505518],[-127.74751,51.543555],[-127.818945,51.603906],[-127.850537,51.673193],[-127.869141,51.775244],[-127.863232,51.820801],[-127.82998,51.879004],[-127.727637,51.993213],[-127.858789,51.990283],[-127.843311,52.086475],[-127.795361,52.191016],[-127.67334,52.25293],[-127.549707,52.297607],[-127.437939,52.356152],[-127.242236,52.395117],[-127.175732,52.314844],[-127.007959,52.290674],[-126.959473,52.254541],[-126.9,52.18833],[-126.826318,52.125146],[-126.738574,52.064941],[-126.713965,52.060693],[-126.752637,52.112354],[-126.895215,52.225488],[-126.901416,52.265332],[-126.938184,52.308594],[-127.127051,52.370947],[-127.160596,52.394873],[-127.193994,52.457666],[-127.208252,52.498242],[-127.187109,52.537695],[-126.995215,52.65791],[-126.951318,52.72124],[-126.951367,52.751025],[-126.966406,52.784668],[-127.008252,52.842578],[-127.019336,52.84248],[-127.006396,52.75459],[-127.013232,52.719971],[-127.034863,52.681738],[-127.066211,52.652686],[-127.10708,52.632812],[-127.519238,52.359277],[-127.560303,52.343213],[-127.713379,52.318506],[-127.791895,52.289355],[-127.834326,52.250977],[-127.902197,52.150879],[-127.99541,51.950537],[-128.102246,51.788428],[-128.193555,51.998291],[-128.357617,52.158887],[-128.0375,52.318164],[-128.02915,52.34248],[-128.060303,52.427539],[-128.051562,52.45332],[-128.021289,52.490674],[-127.940234,52.545166],[-127.943359,52.550732],[-128.038232,52.531152],[-128.183984,52.40791],[-128.240967,52.368262],[-128.271533,52.362988],[-128.275146,52.435498],[-128.196777,52.623291],[-128.132373,52.805811],[-128.108789,52.858057],[-128.053271,52.910693],[-128.105957,52.906885],[-128.365039,52.825781],[-128.451953,52.876611],[-128.524707,53.140674],[-128.652344,53.243848],[-128.868555,53.328125],[-129.080908,53.367285],[-129.129541,53.442285],[-129.171582,53.533594],[-129.114453,53.641113],[-129.021436,53.692139],[-128.935596,53.715186],[-128.85459,53.704541],[-128.850439,53.665186],[-128.905615,53.559326],[-128.833057,53.549414],[-128.542139,53.420654],[-128.478613,53.410303],[-128.358057,53.459814],[-128.291064,53.457861],[-128.132715,53.417773],[-128.079199,53.369434],[-127.927832,53.274707],[-127.950049,53.329834],[-128.115137,53.445947],[-128.207227,53.483203],[-128.369141,53.490381],[-128.469629,53.470898],[-128.511768,53.476562],[-128.600342,53.506104],[-128.675537,53.55459],[-128.750781,53.66084],[-128.767871,53.710205],[-128.763672,53.746875],[-128.745947,53.780176],[-128.714746,53.81001],[-128.652881,53.831641],[-128.560449,53.845068],[-128.532129,53.858105],[-128.650879,53.918848],[-128.704785,53.918604],[-128.890186,53.829785],[-128.927832,53.822803],[-128.943994,53.840039],[-128.959375,53.841455],[-129.013965,53.797461],[-129.056396,53.777783],[-129.208105,53.641602],[-129.231738,53.576416],[-129.240332,53.479053],[-129.257861,53.417969],[-129.284277,53.393164],[-129.462402,53.346582],[-129.563721,53.251465],[-129.686719,53.333545],[-129.821777,53.412744],[-129.911865,53.551367],[-130.074365,53.575635],[-130.263281,53.65415],[-130.335254,53.723926],[-130.232861,53.867432],[-130.085938,53.975781],[-130.063525,54.105664],[-130.043311,54.133545],[-129.790771,54.165771],[-129.626025,54.230273],[-129.794971,54.236133],[-129.898437,54.226367],[-130.084229,54.181396],[-130.290332,54.270361],[-130.396777,54.35166],[-130.430273,54.420996],[-130.393457,54.479639],[-130.388623,54.539355],[-130.37002,54.62002],[-130.350488,54.655322],[-130.307227,54.700293],[-130.218945,54.730273],[-130.140869,54.822754],[-130.108643,54.887256],[-129.948535,55.081055],[-129.890137,55.164648],[-129.780762,55.280469],[-129.560645,55.462549],[-129.630127,55.452246],[-129.66665,55.43667],[-129.701318,55.438574],[-129.73418,55.458008],[-129.765479,55.498242],[-129.795166,55.55957],[-129.811914,55.532617],[-129.815625,55.417578],[-129.837744,55.319092],[-129.877148,55.250635],[-129.985205,55.111475],[-130.048486,55.057275],[-130.091797,55.107764],[-130.058398,55.194775],[-129.99585,55.264063],[-129.985156,55.358838],[-130.044043,55.471924],[-130.07998,55.562891],[-130.092969,55.631836],[-130.094678,55.694775],[-130.085107,55.751709],[-130.060352,55.813721],[-130.020312,55.880762],[-130.025098,55.888232]]],[[[-109.815967,78.650391],[-109.640967,78.59209],[-109.580859,78.593262],[-109.50415,78.582471],[-109.467285,78.567188],[-109.362207,78.492871],[-109.342139,78.456006],[-109.336035,78.408447],[-109.3521,78.368652],[-109.390527,78.33667],[-109.484473,78.316406],[-109.708789,78.30376],[-110.021875,78.322803],[-110.293457,78.298193],[-110.418359,78.294971],[-110.755078,78.310742],[-110.840039,78.322314],[-111.026758,78.367627],[-111.169189,78.386279],[-111.229004,78.376318],[-111.300488,78.336572],[-111.435059,78.287354],[-111.51748,78.274707],[-111.759717,78.282959],[-112.13125,78.366064],[-112.557812,78.341504],[-112.999902,78.29292],[-113.17251,78.283789],[-113.223047,78.2979],[-113.292578,78.334375],[-113.281689,78.352783],[-113.149951,78.408398],[-112.855859,78.466846],[-112.64082,78.499805],[-112.214014,78.547803],[-111.708789,78.574707],[-111.519873,78.603223],[-111.400342,78.644043],[-111.071484,78.708398],[-110.877588,78.735059],[-110.618066,78.757812],[-110.407812,78.756641],[-110.140479,78.704443],[-109.940869,78.678467],[-109.815967,78.650391]]],[[[-110.458057,78.103223],[-109.656885,78.079248],[-109.622266,78.074756],[-109.619043,78.056836],[-109.679395,77.999316],[-109.771777,77.957422],[-110.199512,77.904834],[-110.751123,77.857227],[-110.865625,77.834131],[-110.856543,77.820361],[-110.811621,77.803174],[-110.719385,77.781445],[-110.292187,77.786377],[-110.189209,77.777002],[-110.152734,77.762939],[-110.130859,77.742383],[-110.117578,77.715576],[-110.116895,77.624707],[-110.139453,77.572119],[-110.198486,77.524512],[-110.371533,77.490625],[-110.682861,77.445898],[-110.893994,77.425977],[-111.060449,77.433154],[-111.226221,77.428516],[-111.951953,77.344189],[-112.176514,77.34375],[-112.372656,77.364111],[-112.643799,77.443701],[-112.925635,77.474951],[-113.046045,77.510742],[-113.164355,77.530273],[-113.197119,77.558838],[-113.208545,77.580176],[-113.188623,77.599756],[-113.137402,77.617529],[-113.120654,77.632617],[-113.167773,77.676465],[-113.189502,77.718311],[-113.271289,77.778418],[-113.283447,77.813037],[-113.282959,77.835645],[-113.269336,77.860059],[-113.215186,77.903516],[-113.187061,77.912354],[-113.021631,77.919141],[-112.804541,77.941602],[-112.30459,78.006787],[-111.206592,78.088135],[-110.873242,78.080615],[-110.727344,78.096582],[-110.458057,78.103223]]],[[[-115.55127,77.363281],[-115.475586,77.324316],[-115.470215,77.308643],[-115.506641,77.292139],[-115.623926,77.265918],[-116.213721,77.178223],[-116.329199,77.137061],[-116.285742,77.10166],[-116.073096,77.02998],[-115.856836,76.969238],[-115.810059,76.939111],[-115.912891,76.908447],[-116.109766,76.918213],[-116.183252,76.915576],[-116.252734,76.901416],[-116.233984,76.874316],[-116.016211,76.784521],[-115.94458,76.73623],[-115.946289,76.711279],[-115.984814,76.686914],[-116.076221,76.653516],[-116.220459,76.611084],[-116.467627,76.577148],[-116.999219,76.531592],[-117.016797,76.496094],[-117.013281,76.469092],[-117.026172,76.403516],[-117.044482,76.373096],[-117.107764,76.321924],[-117.153906,76.297998],[-117.233594,76.281543],[-117.346924,76.272559],[-117.492383,76.272705],[-117.732422,76.316748],[-117.841406,76.344824],[-117.992969,76.405811],[-118.020215,76.446533],[-118.00542,76.49668],[-117.96543,76.574023],[-117.899512,76.653076],[-117.807617,76.733936],[-117.780469,76.784277],[-117.81792,76.804102],[-117.880811,76.805078],[-118.076416,76.772363],[-118.202783,76.760498],[-118.300586,76.73667],[-118.369873,76.700977],[-118.409131,76.662305],[-118.431006,76.587988],[-118.468164,76.547363],[-118.573682,76.525195],[-118.731543,76.525586],[-118.791406,76.512988],[-118.820752,76.48584],[-118.799561,76.46377],[-118.643896,76.417529],[-118.624512,76.365869],[-118.643408,76.334668],[-118.811572,76.2771],[-118.851123,76.257812],[-118.955469,76.167676],[-118.993945,76.144873],[-119.080713,76.124072],[-119.168213,76.126514],[-119.249268,76.159473],[-119.36792,76.221777],[-119.447803,76.275391],[-119.488818,76.320312],[-119.52373,76.340283],[-119.580371,76.326514],[-119.648926,76.279883],[-119.650781,76.243701],[-119.63584,76.189893],[-119.639648,76.156689],[-119.739648,76.117725],[-119.725195,76.099951],[-119.549707,76.052051],[-119.527148,76.030566],[-119.526123,75.997217],[-119.537744,75.982178],[-119.607959,75.98457],[-119.667139,75.945996],[-119.734814,75.91543],[-119.912891,75.858838],[-120.160547,75.851953],[-120.365381,75.824756],[-120.408887,75.825635],[-120.458301,75.870166],[-120.513818,75.95835],[-120.563281,76.008447],[-120.637158,76.034033],[-120.728662,76.134082],[-120.771582,76.166309],[-120.813379,76.179297],[-120.848389,76.182666],[-120.900098,76.163428],[-121.019287,76.020264],[-121.213477,75.983691],[-121.320166,75.977002],[-121.427979,75.981104],[-121.694531,76.020313],[-121.908203,76.034766],[-122.057422,76.018213],[-122.302734,75.959814],[-122.400488,75.944238],[-122.533057,75.950928],[-122.591113,75.972998],[-122.640479,76.009082],[-122.645947,76.031006],[-122.607373,76.038672],[-122.54624,76.080518],[-122.548193,76.097314],[-122.608643,76.121436],[-122.609473,76.140283],[-122.587891,76.152979],[-122.592725,76.162061],[-122.623926,76.16748],[-122.684668,76.162402],[-122.902783,76.134717],[-122.878271,76.164795],[-122.774023,76.227686],[-122.519385,76.353174],[-122.423047,76.390088],[-122.365381,76.401221],[-121.61377,76.441455],[-121.561133,76.453467],[-121.203906,76.622168],[-121.102002,76.660742],[-120.997607,76.691455],[-120.485352,76.793213],[-120.437598,76.816455],[-120.357666,76.886914],[-120.310937,76.90459],[-120.200342,76.931348],[-119.831152,77.073877],[-119.494824,77.176904],[-119.323975,77.240674],[-119.090186,77.305078],[-118.82002,77.332715],[-118.005176,77.381201],[-117.418604,77.317383],[-117.279102,77.313379],[-117.210791,77.331445],[-117.148975,77.36084],[-117.061377,77.348486],[-116.843555,77.339551],[-116.795312,77.346582],[-116.703613,77.379932],[-116.76626,77.398242],[-117.029785,77.431885],[-117.045752,77.448975],[-117.039746,77.465137],[-116.947168,77.503857],[-116.835303,77.528857],[-116.511328,77.547607],[-116.362598,77.542822],[-116.208887,77.516016],[-116.008008,77.460645],[-115.55127,77.363281]]],[[[-108.292383,76.057129],[-108.166309,76.054297],[-108.01875,76.065234],[-107.852295,76.057715],[-107.776855,76.035303],[-107.723486,75.99541],[-107.721289,75.974023],[-107.731836,75.955615],[-107.755176,75.940283],[-107.97041,75.8396],[-108.020703,75.804785],[-107.951074,75.796289],[-107.917529,75.802148],[-107.702588,75.877588],[-107.540918,75.901172],[-107.418262,75.906592],[-107.216211,75.891553],[-107.135693,75.878564],[-107.08042,75.863184],[-107.050391,75.84541],[-106.970947,75.773096],[-106.913525,75.679639],[-106.904199,75.689258],[-106.902783,75.74165],[-106.891699,75.782422],[-106.693115,75.809961],[-106.688086,75.819043],[-106.759375,75.841602],[-106.820068,75.872412],[-106.862061,75.930078],[-106.845654,75.951562],[-106.804102,75.974658],[-106.677002,76.02373],[-106.528613,76.053027],[-106.396582,76.060107],[-105.904834,76.008984],[-105.711328,75.966992],[-105.632666,75.945361],[-105.604443,75.929932],[-105.563281,75.880664],[-105.480908,75.745654],[-105.481445,75.702246],[-105.519482,75.632373],[-105.678418,75.501367],[-105.702637,75.4125],[-105.862598,75.191553],[-105.971973,75.131494],[-106.092627,75.089453],[-106.588232,75.01543],[-106.961133,74.940088],[-107.055615,74.928174],[-107.153418,74.927148],[-107.461914,74.952148],[-107.820068,75.000049],[-108.023633,74.986475],[-108.226611,74.951904],[-108.354443,74.942627],[-108.474756,74.947217],[-108.594189,74.95957],[-108.751318,74.991943],[-108.670264,75.006738],[-108.633301,75.023291],[-108.666016,75.040332],[-108.831299,75.064893],[-109.002539,75.010303],[-109.503125,74.882764],[-110.175781,74.83999],[-110.386719,74.813965],[-110.543408,74.780371],[-110.624756,74.752686],[-110.749316,74.687695],[-110.940869,74.638721],[-111.287549,74.585156],[-111.728711,74.501953],[-112.519336,74.416846],[-113.016895,74.401904],[-113.514062,74.430078],[-113.671582,74.453027],[-113.836816,74.488965],[-114.174756,74.57373],[-114.268262,74.604346],[-114.376953,74.67085],[-114.312695,74.715088],[-114.132471,74.766113],[-113.862891,74.812549],[-113.324316,74.875293],[-112.835986,74.975586],[-112.663037,74.994434],[-112.192822,75.009766],[-111.955762,75.000391],[-111.784229,75.005664],[-111.671094,75.019434],[-111.503271,75.055615],[-111.257959,75.127734],[-111.078906,75.195215],[-111.033496,75.226758],[-111.093457,75.256299],[-111.181201,75.260449],[-111.473926,75.191113],[-111.62085,75.167773],[-111.780859,75.166162],[-112.000488,75.142432],[-112.21416,75.13291],[-112.255518,75.133691],[-112.478076,75.2],[-112.59707,75.21167],[-112.652393,75.204688],[-112.703125,75.187158],[-112.799609,75.138184],[-112.855322,75.120605],[-112.951367,75.107812],[-113.339648,75.093262],[-113.711768,75.068604],[-113.794629,75.083838],[-113.844971,75.112207],[-113.855371,75.129492],[-113.860937,75.187744],[-113.886035,75.210938],[-113.85332,75.259375],[-113.810889,75.296338],[-113.758789,75.321729],[-113.503027,75.39668],[-113.46709,75.416113],[-113.588965,75.412109],[-113.878516,75.375439],[-113.916357,75.388184],[-113.984131,75.430078],[-114.016504,75.434277],[-114.053418,75.416895],[-114.074902,75.392383],[-114.124658,75.291211],[-114.168457,75.239502],[-114.284961,75.249951],[-114.429004,75.281152],[-114.482812,75.2854],[-114.513818,75.275488],[-114.503955,75.258008],[-114.357764,75.171289],[-114.356104,75.140967],[-114.451758,75.087891],[-114.85918,74.999756],[-115.020117,74.976172],[-115.077051,74.985303],[-115.12832,75.009473],[-115.173828,75.048828],[-115.279639,75.101562],[-115.342627,75.113379],[-115.413184,75.11499],[-115.478076,75.104102],[-115.537305,75.080713],[-115.574072,75.055859],[-115.608984,75.00957],[-115.683154,74.97417],[-115.728857,74.968115],[-116.142627,75.041553],[-116.476074,75.171777],[-116.841016,75.151514],[-117.004834,75.156104],[-117.501953,75.203857],[-117.565234,75.23335],[-117.600098,75.27168],[-117.596729,75.292529],[-117.576074,75.314063],[-117.513135,75.356787],[-117.387793,75.421484],[-117.335547,75.442334],[-117.257617,75.459521],[-117.154199,75.472998],[-116.890771,75.480518],[-116.212744,75.482959],[-116.077148,75.492969],[-115.335352,75.618066],[-115.250684,75.638574],[-115.141846,75.678516],[-115.117236,75.69502],[-115.121875,75.705811],[-116.034326,75.606689],[-116.425635,75.585352],[-117.025195,75.601514],[-117.137939,75.617139],[-117.163623,75.644873],[-117.038574,75.718408],[-116.972656,75.745752],[-116.802148,75.771582],[-116.389648,75.808203],[-115.838086,75.840576],[-115.476855,75.841309],[-115.17373,75.866992],[-114.991504,75.896338],[-115.602246,75.894824],[-116.337891,75.881055],[-116.444238,75.890625],[-116.654297,75.929297],[-116.664551,75.957568],[-116.580469,75.991553],[-116.549658,76.016846],[-116.609766,76.07373],[-116.591309,76.095801],[-116.454248,76.143213],[-116.209863,76.194434],[-116.059131,76.201709],[-115.768262,76.184229],[-114.939404,76.166113],[-114.778613,76.172607],[-114.880176,76.194873],[-115.024561,76.211475],[-115.664453,76.239844],[-115.796875,76.252539],[-115.822168,76.27002],[-115.831738,76.295801],[-115.825586,76.329834],[-115.779297,76.364697],[-115.580664,76.4375],[-114.998486,76.497461],[-114.766846,76.505713],[-114.534766,76.501758],[-114.298975,76.474805],[-114.193945,76.451465],[-114.14126,76.422656],[-114.115771,76.39585],[-114.112793,76.349463],[-114.101465,76.331201],[-114.058838,76.300732],[-113.923291,76.22915],[-113.823486,76.206836],[-113.362988,76.248437],[-113.171289,76.257764],[-112.978467,76.244678],[-112.697607,76.201709],[-112.333887,76.071875],[-111.865234,75.939307],[-111.867627,75.910742],[-112.047168,75.866406],[-112.080908,75.847412],[-112.056689,75.834229],[-111.877393,75.825537],[-111.709375,75.83208],[-111.549121,75.822119],[-111.513232,75.810693],[-111.454443,75.762158],[-111.372754,75.676465],[-111.275684,75.6125],[-111.163281,75.570215],[-111.052686,75.548535],[-110.8896,75.546924],[-110.725586,75.559521],[-110.459375,75.555322],[-109.086377,75.506494],[-109.005029,75.51499],[-108.947168,75.541797],[-108.912598,75.586963],[-108.899512,75.624072],[-108.918213,75.674756],[-108.944775,75.698975],[-109.796045,75.863037],[-109.870508,75.929053],[-109.454639,76.02124],[-109.424756,76.042529],[-109.416602,76.071826],[-109.430371,76.109131],[-109.486816,76.144678],[-109.710156,76.212451],[-109.907812,76.222656],[-110.200781,76.289453],[-110.247021,76.306348],[-110.284863,76.332959],[-110.314453,76.369385],[-110.309473,76.397412],[-110.27002,76.416992],[-109.981592,76.484766],[-109.864844,76.522363],[-109.505029,76.69165],[-109.338525,76.759961],[-109.219531,76.791992],[-109.098242,76.811865],[-108.831641,76.821143],[-108.553906,76.758057],[-108.492383,76.754199],[-108.466992,76.737598],[-108.477783,76.708252],[-108.512451,76.680273],[-108.611816,76.629736],[-108.635156,76.608545],[-108.627637,76.586719],[-108.559521,76.536328],[-108.538623,76.503125],[-108.523535,76.447168],[-108.5125,76.438916],[-108.345459,76.39165],[-108.193555,76.330078],[-108.123193,76.233447],[-108.17793,76.200049],[-108.305811,76.154053],[-108.381885,76.115723],[-108.406152,76.085059],[-108.386816,76.066553],[-108.292383,76.057129]]],[[[-114.521533,72.59292],[-114.458105,72.580371],[-114.342432,72.590771],[-114.174463,72.624072],[-113.957813,72.651465],[-113.692432,72.672803],[-113.622168,72.646826],[-113.578076,72.6521],[-113.500049,72.694434],[-113.486133,72.722266],[-113.495898,72.753662],[-113.491406,72.82207],[-113.449854,72.863232],[-113.292383,72.949805],[-113.208008,72.981006],[-113.073535,72.995264],[-112.753613,72.986035],[-112.45376,72.936621],[-112.048096,72.888037],[-111.45542,72.765918],[-111.269727,72.713721],[-111.250391,72.668555],[-111.355518,72.572119],[-111.610889,72.435596],[-111.816016,72.386328],[-111.895166,72.356104],[-111.761621,72.335254],[-111.675098,72.300146],[-111.543555,72.350928],[-111.447363,72.407715],[-111.311182,72.454834],[-111.264795,72.459033],[-111.253418,72.449072],[-111.277148,72.424854],[-111.287256,72.401123],[-111.28374,72.377979],[-111.268066,72.363867],[-111.184619,72.356641],[-111.139893,72.365332],[-110.958984,72.431982],[-110.781543,72.533887],[-110.512549,72.599707],[-110.439307,72.63335],[-110.205127,72.661279],[-110.207959,72.681055],[-110.197168,72.758887],[-110.279102,72.792041],[-110.553613,72.861426],[-110.689404,72.944531],[-110.66084,73.008203],[-110.509277,72.998926],[-110.094629,72.992139],[-110.008447,72.983643],[-109.609961,72.875684],[-109.469092,72.808447],[-109.357129,72.775049],[-109.121924,72.726416],[-109.043018,72.686865],[-108.987402,72.670801],[-108.968164,72.654102],[-108.9854,72.636816],[-108.994434,72.595996],[-108.950781,72.582861],[-108.797852,72.567529],[-108.75498,72.551074],[-108.698291,72.499268],[-108.627734,72.412012],[-108.566357,72.317334],[-108.46958,72.13877],[-108.276416,71.900391],[-108.2104,71.751172],[-108.188232,71.723779],[-108.144678,71.704932],[-108.020801,71.67749],[-107.925342,71.638672],[-107.812842,71.626172],[-107.785449,71.629688],[-107.757471,71.663037],[-107.687256,71.716113],[-107.346924,71.819238],[-107.329297,71.835254],[-107.369434,71.858984],[-107.381787,71.875146],[-107.376855,71.886084],[-107.306006,71.894678],[-107.542627,72.025342],[-107.69585,72.149316],[-107.794043,72.302637],[-107.809033,72.347461],[-107.82373,72.442773],[-107.855615,72.467822],[-107.909814,72.490771],[-107.93252,72.52041],[-107.923682,72.556641],[-107.934375,72.587744],[-107.997168,72.652686],[-108.238232,73.105811],[-108.237402,73.149902],[-108.20415,73.183057],[-108.118311,73.202051],[-107.979932,73.206738],[-107.936182,73.217139],[-107.987061,73.233105],[-108.07749,73.281396],[-108.089404,73.303711],[-108.029053,73.34873],[-107.72002,73.329053],[-107.496289,73.288379],[-107.113477,73.192139],[-107.074414,73.197412],[-107.03252,73.245312],[-106.950781,73.276025],[-106.828369,73.265918],[-106.482129,73.196191],[-106.081641,73.071924],[-105.812695,73.010645],[-105.62417,72.92749],[-105.495947,72.848975],[-105.415137,72.78833],[-105.41167,72.764648],[-105.430078,72.740381],[-105.411084,72.70874],[-105.354541,72.669727],[-105.323193,72.634814],[-105.297559,72.560449],[-105.246924,72.463574],[-105.234082,72.415088],[-104.87832,71.97998],[-104.810303,71.903174],[-104.766992,71.867578],[-104.518311,71.699219],[-104.385937,71.576953],[-104.373145,71.495117],[-104.355371,71.47168],[-104.349561,71.433984],[-104.355811,71.38208],[-104.384863,71.337549],[-104.436816,71.300293],[-104.487061,71.2479],[-104.563086,71.132422],[-104.56958,71.104053],[-104.514795,71.064258],[-104.166846,70.927197],[-103.953467,70.762646],[-103.853467,70.733789],[-103.58457,70.630859],[-103.294678,70.572461],[-103.197168,70.547314],[-103.10498,70.510254],[-103.077197,70.508838],[-103.021191,70.51582],[-103.005176,70.525928],[-103.001221,70.540967],[-103.082812,70.619092],[-103.088574,70.649707],[-103.049561,70.655078],[-102.750488,70.521875],[-102.58916,70.468848],[-102.36875,70.413232],[-101.989844,70.285059],[-101.937207,70.274561],[-101.732227,70.286377],[-101.676318,70.278271],[-101.641162,70.265576],[-101.626807,70.24834],[-101.618457,70.172412],[-101.562402,70.13501],[-101.23916,70.150977],[-101.148535,70.147607],[-101.090771,70.135693],[-101.042676,70.110791],[-100.97334,70.029492],[-100.909082,69.869189],[-100.905713,69.811719],[-100.935107,69.715332],[-100.982373,69.679883],[-101.043701,69.668701],[-101.216211,69.679639],[-101.337256,69.710254],[-101.400098,69.749268],[-101.456738,69.833887],[-101.483838,69.850195],[-101.508398,69.833154],[-101.565088,69.755664],[-101.60249,69.721289],[-101.647656,69.698535],[-101.733594,69.70415],[-101.860254,69.738086],[-102.097949,69.824609],[-102.182129,69.845947],[-102.234326,69.842236],[-102.348096,69.812988],[-102.523486,69.758203],[-102.595898,69.71792],[-102.565234,69.692188],[-102.544922,69.659814],[-102.534863,69.620801],[-102.540918,69.59209],[-102.563135,69.573584],[-102.621094,69.551514],[-102.743604,69.547754],[-102.919775,69.564648],[-103.05918,69.594678],[-103.303223,69.674316],[-103.359277,69.685352],[-103.434766,69.667676],[-103.464893,69.644482],[-103.418018,69.611426],[-103.294043,69.568457],[-103.142432,69.497266],[-103.101855,69.48335],[-103.062744,69.484912],[-103.048926,69.471777],[-103.031836,69.433496],[-103.039795,69.367578],[-103.112695,69.235986],[-103.120215,69.20459],[-103.090332,69.212012],[-102.884082,69.341309],[-102.777441,69.377588],[-102.546484,69.434473],[-102.446777,69.476318],[-102.151416,69.487695],[-102.045947,69.464844],[-101.978223,69.425098],[-101.975537,69.407031],[-102.052881,69.360449],[-102.066895,69.337109],[-102.070898,69.307617],[-102.064014,69.281152],[-102.046094,69.257666],[-101.992969,69.236035],[-101.899121,69.245508],[-101.872852,69.239941],[-101.82251,69.21709],[-101.789258,69.181641],[-101.787793,69.132275],[-101.857129,69.023975],[-101.980566,68.988525],[-102.358789,68.922852],[-102.488428,68.888916],[-102.73833,68.86499],[-102.834863,68.833252],[-102.895068,68.823633],[-103.162256,68.828711],[-103.468213,68.808545],[-103.820361,68.847998],[-104.067334,68.865576],[-104.352686,68.928174],[-104.460156,68.912402],[-104.571436,68.872119],[-105.105859,68.92041],[-105.169287,68.955371],[-105.14834,68.978125],[-105.021631,69.05249],[-105.013574,69.068066],[-105.01958,69.08125],[-105.262354,69.093994],[-105.533008,69.133545],[-105.80498,69.153174],[-106.008398,69.147607],[-106.140869,69.162012],[-106.270166,69.19458],[-106.341162,69.224365],[-106.353955,69.251221],[-106.355713,69.280615],[-106.344238,69.339648],[-106.361377,69.381055],[-106.419971,69.41377],[-106.539795,69.443066],[-106.659082,69.4396],[-106.759961,69.407129],[-106.855811,69.347314],[-107.033447,69.180762],[-107.12251,69.152295],[-107.353369,69.031689],[-107.439893,69.002148],[-107.863379,68.954346],[-108.36499,68.934766],[-108.552539,68.897412],[-108.73042,68.827441],[-108.945898,68.759814],[-109.472119,68.676709],[-109.958545,68.630273],[-110.467627,68.61001],[-110.848096,68.578418],[-110.957227,68.594189],[-111.127588,68.58833],[-111.310937,68.542041],[-111.518066,68.533057],[-112.304932,68.516211],[-112.666211,68.485254],[-112.864258,68.4771],[-113.019531,68.481348],[-113.127734,68.494141],[-113.231396,68.5354],[-113.338086,68.598779],[-113.554834,68.767578],[-113.616846,68.838477],[-113.592529,68.959863],[-113.608545,69.030176],[-113.680664,69.181982],[-113.694141,69.19502],[-114.073437,69.251318],[-114.322949,69.269141],[-114.699072,69.272754],[-115.159033,69.264746],[-115.618115,69.282959],[-115.860742,69.303564],[-116.101562,69.337158],[-116.513477,69.424609],[-116.536816,69.433545],[-116.568799,69.462695],[-116.609473,69.512012],[-116.712012,69.576221],[-116.992773,69.719385],[-117.104004,69.804248],[-117.121973,69.825879],[-117.148633,69.888135],[-117.184033,69.991064],[-117.19541,70.054053],[-117.162744,70.09248],[-117.135449,70.100146],[-116.553809,70.175049],[-115.529102,70.257129],[-114.592334,70.312451],[-114.166992,70.307471],[-113.916602,70.281543],[-113.665527,70.269678],[-113.210742,70.263818],[-112.637891,70.225244],[-112.522754,70.228564],[-112.265967,70.254688],[-112.189648,70.275586],[-111.783691,70.2729],[-111.704883,70.285742],[-111.632568,70.308838],[-111.72583,70.352051],[-112.11416,70.446875],[-113.145508,70.616357],[-113.397021,70.652393],[-113.757275,70.690723],[-113.966064,70.696191],[-114.232178,70.674268],[-114.331396,70.675244],[-114.592627,70.642236],[-114.840723,70.621387],[-115.31123,70.601172],[-115.990918,70.586279],[-116.086084,70.590674],[-116.225879,70.616406],[-116.327295,70.62373],[-116.992529,70.603662],[-117.587061,70.629541],[-118.264062,70.88833],[-118.376514,70.967725],[-118.352539,71.000049],[-118.269092,71.034717],[-117.933838,71.134668],[-117.814063,71.158447],[-117.313965,71.212109],[-116.815283,71.276953],[-116.421533,71.337988],[-116.228223,71.35918],[-116.04209,71.36167],[-115.89165,71.381787],[-115.922266,71.401074],[-116.045312,71.423096],[-116.043945,71.454297],[-115.980273,71.469287],[-115.73374,71.485107],[-115.471875,71.46582],[-115.341016,71.472412],[-115.303418,71.493701],[-115.338135,71.510889],[-115.58667,71.546387],[-116.780273,71.444189],[-117.337109,71.434619],[-117.72334,71.390674],[-117.935645,71.39209],[-118.188184,71.435937],[-118.221875,71.449072],[-118.226465,71.46709],[-118.14834,71.525732],[-117.878418,71.56084],[-117.742334,71.659326],[-117.887598,71.661035],[-118.371533,71.639941],[-118.583008,71.649023],[-118.868408,71.686768],[-118.9521,71.731738],[-118.987695,71.764258],[-118.99375,71.803027],[-118.98418,71.913086],[-118.959814,71.972217],[-118.944629,71.985547],[-118.589844,72.16748],[-118.368652,72.205469],[-118.213477,72.262891],[-118.207471,72.286914],[-118.245898,72.311035],[-118.390479,72.369531],[-118.448633,72.399219],[-118.481299,72.427686],[-118.456592,72.47251],[-118.374512,72.533887],[-118.133105,72.632812],[-117.551709,72.831104],[-117.256445,72.914404],[-116.97168,72.959326],[-116.573242,73.054932],[-115.552197,73.213477],[-114.638232,73.372656],[-114.301904,73.330713],[-114.206396,73.297803],[-114.163965,73.269824],[-114.127051,73.230713],[-114.095459,73.180273],[-114.051709,73.070996],[-114.046143,73.0146],[-114.05376,72.958057],[-114.074756,72.906836],[-114.10918,72.860986],[-114.177686,72.805078],[-114.280322,72.739063],[-114.497852,72.625879],[-114.521533,72.59292]]],[[[-119.736328,74.112646],[-119.728564,74.108447],[-119.471094,74.201221],[-119.314844,74.20625],[-119.205957,74.197998],[-119.171436,74.186182],[-119.149609,74.167871],[-119.13877,74.127588],[-119.131885,74.027881],[-119.117969,74.015527],[-119.08252,74.021191],[-119.025684,74.044727],[-118.744141,74.19209],[-118.625293,74.23252],[-118.543994,74.244629],[-118.199658,74.266748],[-117.965869,74.266064],[-117.707471,74.252344],[-117.514844,74.231738],[-117.198828,74.171143],[-116.950391,74.101416],[-116.722363,74.027148],[-115.957715,73.747949],[-115.634326,73.665527],[-115.510693,73.61875],[-115.455664,73.584668],[-115.40752,73.541895],[-115.392822,73.501953],[-115.411572,73.464795],[-115.446875,73.438867],[-115.524463,73.416748],[-115.992285,73.323242],[-116.238623,73.29458],[-116.48252,73.253223],[-117.06543,73.107275],[-117.464453,73.037744],[-117.983203,72.902197],[-118.961572,72.684131],[-119.077979,72.640332],[-119.131543,72.608838],[-119.407764,72.3604],[-119.512842,72.302686],[-119.76748,72.243848],[-120.089746,72.22915],[-120.179883,72.212646],[-120.194434,72.126758],[-120.31001,71.984082],[-120.36626,71.888037],[-120.443164,71.630811],[-120.460938,71.605078],[-120.519678,71.557422],[-120.619336,71.505762],[-120.930322,71.44624],[-121.159814,71.41499],[-121.472168,71.389014],[-121.546826,71.406787],[-121.622168,71.447607],[-121.700684,71.451172],[-121.749365,71.444775],[-122.156641,71.265918],[-122.549512,71.193555],[-122.719775,71.128174],[-122.839941,71.097461],[-122.936523,71.087988],[-123.095654,71.093799],[-123.210596,71.123437],[-123.314746,71.169189],[-123.393359,71.218848],[-123.595166,71.423193],[-123.681836,71.493115],[-123.755566,71.528027],[-123.953271,71.65249],[-124.007764,71.677441],[-124.759961,71.835156],[-125.126123,71.923633],[-125.214648,71.954785],[-125.29668,71.973047],[-125.766895,71.96084],[-125.829102,71.965625],[-125.845313,71.978662],[-125.789648,72.025],[-125.767725,72.054248],[-125.760498,72.08291],[-125.768604,72.12915],[-125.762598,72.1375],[-125.583789,72.183057],[-125.612793,72.192529],[-125.633789,72.210303],[-125.646777,72.236523],[-125.627295,72.254834],[-125.575488,72.265283],[-125.512402,72.307715],[-125.438086,72.38208],[-125.382764,72.423828],[-125.306006,72.450732],[-125.168311,72.522607],[-125.070215,72.551611],[-124.987109,72.587988],[-124.984668,72.604395],[-125.018555,72.616992],[-125.030225,72.644775],[-125.014746,72.731445],[-125.01543,72.776074],[-125.000391,72.81333],[-124.969678,72.843311],[-124.930859,72.863184],[-124.582568,72.925928],[-124.564941,72.944141],[-124.56084,72.965039],[-124.570215,72.988721],[-124.588281,73.005322],[-124.643311,73.018945],[-124.736426,73.022705],[-124.81709,73.058789],[-124.836426,73.07627],[-124.804053,73.125684],[-124.646924,73.204443],[-124.593994,73.243311],[-124.424219,73.418701],[-124.11416,73.527393],[-124.030176,73.644238],[-123.797266,73.768164],[-123.797803,73.785303],[-123.873047,73.827588],[-124.088037,73.856885],[-124.191504,73.902002],[-124.260742,73.953271],[-124.575342,74.248145],[-124.629102,74.27002],[-124.64502,74.304346],[-124.709326,74.327002],[-124.69624,74.348193],[-123.468311,74.436133],[-122.623145,74.46416],[-121.7479,74.540625],[-121.50415,74.545117],[-121.315234,74.52998],[-121.128711,74.490234],[-120.881641,74.420752],[-120.554492,74.35293],[-119.943604,74.253711],[-119.562646,74.232812],[-119.715381,74.153662],[-119.736914,74.129932],[-119.736328,74.112646]]],[[[-69.488867,83.016797],[-68.673242,82.998779],[-68.409033,83.005273],[-68.106885,82.961182],[-67.924609,82.956006],[-67.624463,82.964404],[-67.405664,82.953906],[-66.59165,82.944043],[-66.422559,82.926855],[-66.424805,82.906152],[-66.600391,82.86123],[-66.836328,82.81792],[-68.357568,82.676807],[-68.469336,82.653369],[-68.172852,82.645947],[-67.735889,82.652441],[-67.39707,82.668115],[-66.997705,82.716064],[-66.865723,82.718848],[-66.611865,82.74209],[-66.120459,82.807129],[-65.727441,82.842432],[-65.549609,82.826953],[-65.4,82.802393],[-65.299023,82.799609],[-65.246582,82.818506],[-65.162402,82.870117],[-65.113184,82.888916],[-64.983887,82.902295],[-64.904883,82.90083],[-64.776758,82.876465],[-64.634766,82.818604],[-64.504004,82.778418],[-64.433398,82.777734],[-64.134229,82.823193],[-63.983594,82.829102],[-63.641016,82.812598],[-63.49873,82.792578],[-63.473047,82.77124],[-63.564062,82.74873],[-63.620605,82.729297],[-63.642529,82.712988],[-63.592676,82.694043],[-63.3854,82.653467],[-63.085352,82.565234],[-63.087061,82.532813],[-63.25083,82.466846],[-63.246777,82.450195],[-62.475195,82.51958],[-61.697168,82.488623],[-61.477051,82.467432],[-61.39248,82.441895],[-61.30249,82.399756],[-61.207227,82.341064],[-61.273535,82.279834],[-61.615381,82.184424],[-61.968652,82.110254],[-62.176709,82.043408],[-62.496484,82.006787],[-63.592285,81.845508],[-64.12793,81.793652],[-64.435791,81.742627],[-64.574023,81.73374],[-65.226172,81.743506],[-65.39917,81.715381],[-65.49541,81.668066],[-65.701074,81.645557],[-66.004736,81.629443],[-66.625732,81.616406],[-66.765039,81.563037],[-66.800586,81.526807],[-66.861133,81.498682],[-66.914062,81.485107],[-68.688525,81.293311],[-68.721191,81.26123],[-68.542578,81.247998],[-68.317676,81.26123],[-65.735693,81.494238],[-65.23999,81.509668],[-64.780078,81.492871],[-64.832764,81.438623],[-65.483984,81.284766],[-66.312842,81.146143],[-66.726855,81.040918],[-67.774365,80.859424],[-68.630469,80.678711],[-68.959375,80.586865],[-69.400098,80.422852],[-69.550684,80.383252],[-69.733789,80.366943],[-69.949316,80.373779],[-70.143506,80.397656],[-70.402637,80.458984],[-70.638672,80.527539],[-70.712598,80.5396],[-70.667822,80.505566],[-70.212793,80.277734],[-70.264893,80.233594],[-71.100293,80.187061],[-71.470068,80.145898],[-71.66084,80.135937],[-71.795898,80.143359],[-71.927637,80.13916],[-72.055957,80.123242],[-72.062988,80.105566],[-71.948682,80.086182],[-71.616113,80.071045],[-70.877051,80.122314],[-70.758496,80.118652],[-70.568408,80.093701],[-70.559082,80.070996],[-70.75752,79.998242],[-71.355811,79.911279],[-71.277637,79.906348],[-71.106348,79.875537],[-71.110156,79.847803],[-71.298584,79.782568],[-71.387842,79.761768],[-71.964551,79.701074],[-72.215527,79.686816],[-72.436523,79.694385],[-73.448145,79.8271],[-73.805078,79.846289],[-74.144238,79.879785],[-74.394482,79.874072],[-74.660205,79.835156],[-74.540723,79.815576],[-74.051025,79.778223],[-73.64209,79.770996],[-73.472461,79.756445],[-73.405908,79.732178],[-73.229395,79.643994],[-73.201123,79.596582],[-73.240137,79.55249],[-73.293555,79.521582],[-73.361523,79.504004],[-73.466064,79.495166],[-73.865967,79.501416],[-74.015381,79.490527],[-74.188672,79.464746],[-74.406006,79.453564],[-74.797949,79.458691],[-75.259473,79.421045],[-75.503418,79.41416],[-75.773828,79.431152],[-76.066895,79.473193],[-76.376074,79.494434],[-76.898828,79.512305],[-76.855078,79.488232],[-76.670898,79.478076],[-76.295703,79.413623],[-76.116357,79.326123],[-75.94751,79.311328],[-75.602734,79.239551],[-75.353662,79.22832],[-75.093604,79.203906],[-74.727246,79.235352],[-74.481201,79.229492],[-74.532324,79.052734],[-74.640918,79.035547],[-75.233154,79.035547],[-75.514648,79.06123],[-75.638965,79.087744],[-75.911816,79.117773],[-76.157568,79.100391],[-76.380371,79.10415],[-76.531445,79.086523],[-76.771143,79.087158],[-77.398047,79.057275],[-77.729248,79.056934],[-77.973779,79.076221],[-78.25791,79.082178],[-78.581641,79.075],[-78.558984,79.05459],[-78.421777,79.048389],[-78.221973,79.015137],[-78.036816,78.963916],[-77.882764,78.942383],[-77.698242,78.954541],[-77.5104,78.978467],[-76.824805,79.017871],[-76.524121,79.024219],[-76.255859,79.006836],[-76.077344,78.985156],[-75.952686,78.959033],[-75.795068,78.889746],[-75.399854,78.881299],[-75.098535,78.858301],[-74.618408,78.757715],[-74.486328,78.750098],[-74.433105,78.724121],[-74.535059,78.659277],[-74.546582,78.620312],[-74.878613,78.544824],[-75.396582,78.522852],[-75.96582,78.529834],[-76.373486,78.521094],[-76.416113,78.511523],[-76.136523,78.491699],[-75.488379,78.403516],[-75.237207,78.355713],[-75.193457,78.327734],[-75.550684,78.221094],[-75.865967,78.009814],[-75.969629,77.993115],[-76.077539,77.987305],[-76.355566,77.991016],[-76.708105,77.937891],[-76.974023,77.927246],[-77.455957,77.947168],[-78.012598,77.946045],[-78.056396,77.911719],[-78.084131,77.846094],[-78.081055,77.747363],[-78.047168,77.615479],[-78.076172,77.519043],[-78.167969,77.458105],[-78.28374,77.413086],[-78.493213,77.369385],[-78.708496,77.342139],[-78.869531,77.33252],[-79.137598,77.331006],[-79.906396,77.299561],[-80.281689,77.301465],[-80.573047,77.314795],[-80.874609,77.358594],[-81.376855,77.482129],[-81.519287,77.50957],[-81.659082,77.525439],[-81.653809,77.498828],[-81.503564,77.429785],[-81.378174,77.385205],[-81.277734,77.365186],[-81.301367,77.344043],[-81.522949,77.31084],[-81.767334,77.295947],[-82.056787,77.296533],[-82.066016,77.283643],[-81.967822,77.247852],[-81.840234,77.214111],[-81.756348,77.204004],[-81.534473,77.214453],[-81.277441,77.25708],[-81.117188,77.269629],[-80.798193,77.259473],[-80.672559,77.244287],[-80.274219,77.150928],[-80.218701,77.146582],[-79.92373,77.193604],[-79.497266,77.196094],[-79.340869,77.158398],[-79.281104,77.085156],[-79.273828,77.025781],[-79.318945,76.980371],[-79.220752,76.936035],[-78.979199,76.892871],[-78.791797,76.883594],[-78.658545,76.908008],[-78.455957,76.967236],[-78.37002,76.98125],[-78.288867,76.977979],[-78.165088,76.934912],[-77.99873,76.851953],[-77.983301,76.75498],[-78.118701,76.644043],[-78.284326,76.57124],[-78.934277,76.451172],[-79.130713,76.403955],[-79.285889,76.354785],[-79.511035,76.310498],[-79.953564,76.25127],[-80.186816,76.240186],[-80.690283,76.176465],[-80.799707,76.173584],[-80.962939,76.183936],[-80.99668,76.21499],[-80.955176,76.270166],[-80.901221,76.321533],[-80.834814,76.369141],[-80.832373,76.408643],[-80.974512,76.470068],[-81.074365,76.498486],[-81.170703,76.512744],[-81.364795,76.504492],[-81.474463,76.487646],[-81.591992,76.484424],[-81.717383,76.494971],[-81.822949,76.52085],[-82.03418,76.629395],[-82.113721,76.643213],[-82.21792,76.639795],[-82.311133,76.655371],[-82.393457,76.689893],[-82.529834,76.723291],[-82.493408,76.697803],[-82.356982,76.636035],[-82.261963,76.574707],[-82.20835,76.51377],[-82.233154,76.46582],[-83.388965,76.439258],[-83.885693,76.453125],[-83.986328,76.49502],[-84.223779,76.675342],[-84.275342,76.356543],[-85.14126,76.30459],[-85.343604,76.313379],[-85.680566,76.349023],[-86.11582,76.434912],[-86.296191,76.491846],[-86.366846,76.548633],[-86.419434,76.579639],[-86.453711,76.584863],[-86.561914,76.516504],[-86.680225,76.376611],[-86.977686,76.412744],[-87.354199,76.448047],[-87.489795,76.58584],[-87.497559,76.386279],[-88.104346,76.412744],[-88.395996,76.405273],[-88.481641,76.580078],[-88.49585,76.772852],[-88.614111,76.650879],[-88.562549,76.547217],[-88.545801,76.420898],[-88.803711,76.456836],[-89.369629,76.474463],[-89.570068,76.491943],[-89.544336,76.659668],[-89.499756,76.826807],[-88.770898,76.993359],[-88.556201,77.072217],[-88.398145,77.103955],[-88.147949,77.124023],[-87.828418,77.136475],[-87.610498,77.126855],[-87.361719,77.13623],[-87.064453,77.165869],[-86.852197,77.174414],[-86.812256,77.184912],[-86.873779,77.200293],[-87.100879,77.307715],[-87.182422,77.332129],[-87.265381,77.343018],[-87.429688,77.347803],[-87.58916,77.394824],[-87.681445,77.436377],[-87.780176,77.492822],[-87.937939,77.599805],[-88.094678,77.719189],[-88.016992,77.784717],[-87.757129,77.83623],[-87.496777,77.871924],[-87.236035,77.891797],[-87.017969,77.892236],[-86.755078,77.863721],[-86.385107,77.808594],[-86.172998,77.746143],[-85.906641,77.613916],[-85.731201,77.508643],[-85.588477,77.461133],[-84.950879,77.374951],[-84.738672,77.361035],[-84.487012,77.367969],[-83.973584,77.390527],[-83.721289,77.414209],[-83.608057,77.442236],[-83.549805,77.482568],[-83.477344,77.513623],[-83.250293,77.584814],[-82.902734,77.732715],[-82.710352,77.849512],[-82.664697,77.888818],[-82.626318,77.936328],[-82.595312,77.992139],[-82.703564,77.962402],[-83.30376,77.67373],[-83.428223,77.621289],[-83.779395,77.532617],[-83.928174,77.518311],[-84.167822,77.522705],[-84.48584,77.561963],[-84.860547,77.499512],[-85.087891,77.515381],[-85.289355,77.559033],[-85.292041,77.763867],[-85.547559,77.927686],[-85.265332,78.010596],[-85.031494,78.062012],[-84.61543,78.195703],[-84.52417,78.19707],[-84.222705,78.176025],[-84.388135,78.206348],[-84.55,78.251367],[-84.910352,78.239697],[-84.783203,78.527588],[-85.024316,78.312402],[-85.270166,78.199512],[-85.418994,78.142432],[-85.585938,78.10957],[-86.217773,78.081201],[-86.062598,78.186963],[-85.920068,78.342871],[-86.070947,78.284619],[-86.427051,78.197021],[-86.693604,78.151025],[-86.913232,78.126807],[-87.339355,78.132666],[-87.551758,78.176611],[-87.491113,78.284424],[-87.491309,78.417187],[-87.361279,78.478711],[-87.164307,78.557617],[-86.95293,78.663916],[-86.80791,78.774365],[-86.241895,78.823633],[-85.691016,78.843701],[-85.229687,78.902002],[-85.00376,78.912256],[-84.787256,78.88457],[-83.90791,78.83916],[-83.547021,78.804492],[-83.388721,78.779346],[-83.271436,78.770313],[-83.147412,78.807861],[-82.989795,78.844141],[-82.441797,78.84043],[-82.290674,78.84707],[-82.151074,78.864111],[-81.981104,78.898486],[-81.780811,78.950342],[-81.750098,78.975781],[-81.889111,78.974854],[-82.02832,78.961865],[-82.237402,78.924072],[-82.43877,78.903662],[-82.644092,78.90752],[-83.058545,78.939502],[-83.778613,78.945264],[-84.145801,78.959814],[-84.316113,78.975293],[-84.412012,78.996582],[-84.49585,79.028564],[-84.567773,79.071289],[-84.530273,79.10127],[-84.383594,79.118555],[-84.256641,79.122168],[-84.053027,79.098682],[-83.824609,79.058838],[-83.575879,79.053662],[-83.662012,79.090039],[-83.978125,79.163135],[-84.197363,79.225098],[-84.381055,79.30127],[-84.522412,79.376611],[-84.836426,79.494727],[-85.089795,79.612158],[-85.268506,79.664111],[-85.456934,79.689844],[-86.031494,79.721924],[-86.146631,79.742822],[-86.420752,79.845215],[-86.494336,80.018164],[-86.614502,80.123535],[-86.498535,80.258252],[-86.307178,80.319336],[-85.159619,80.271777],[-84.675439,80.278906],[-84.056543,80.261963],[-83.723633,80.228955],[-83.34375,80.146973],[-83.004297,80.05459],[-82.67749,79.992773],[-82.377002,79.908252],[-82.048779,79.782764],[-81.855713,79.722559],[-81.688379,79.685791],[-81.463037,79.65415],[-81.038086,79.614209],[-80.667822,79.601025],[-80.475928,79.60625],[-80.270605,79.635205],[-80.124463,79.669482],[-80.287451,79.678955],[-80.714014,79.674951],[-81.010156,79.693115],[-81.179053,79.733447],[-81.358691,79.787793],[-81.644238,79.890234],[-81.860254,79.957178],[-82.332373,80.066357],[-82.681299,80.174902],[-82.961133,80.277881],[-82.987012,80.322607],[-82.784814,80.35376],[-82.536133,80.375537],[-80.979639,80.445264],[-80.051074,80.528564],[-79.674365,80.625244],[-79.629346,80.647852],[-78.386182,80.784375],[-77.507129,80.834766],[-77.169141,80.84292],[-76.862988,80.864795],[-76.850342,80.878174],[-77.118555,80.896436],[-77.389453,80.90542],[-78.003809,80.904834],[-78.550977,80.921436],[-78.716211,80.95166],[-78.681934,81.001074],[-78.629297,81.043457],[-78.463965,81.114355],[-78.286816,81.167627],[-77.536035,81.321094],[-77.030713,81.385693],[-76.885107,81.430273],[-77.972363,81.330811],[-78.352148,81.258936],[-78.733887,81.151025],[-78.931543,81.119238],[-79.072461,81.127637],[-79.19834,81.117578],[-79.30918,81.089062],[-79.402148,81.036865],[-79.477246,80.960986],[-79.54541,80.909326],[-79.606641,80.881787],[-79.761328,80.841943],[-80.133545,80.763916],[-81.007031,80.654883],[-81.300977,80.627197],[-81.552686,80.622803],[-82.368213,80.561328],[-82.613037,80.558887],[-82.884326,80.577539],[-82.768311,80.630664],[-82.336768,80.728662],[-82.222363,80.772314],[-82.498437,80.762793],[-82.77998,80.736035],[-83.401416,80.713965],[-83.647119,80.674072],[-83.885352,80.601758],[-84.07627,80.55625],[-84.219775,80.537793],[-84.417822,80.526758],[-85.14585,80.521143],[-85.307422,80.525977],[-85.726221,80.581152],[-86.097168,80.562109],[-86.250342,80.565771],[-86.531592,80.604736],[-86.61543,80.630029],[-86.603076,80.664014],[-86.440479,80.728027],[-86.2521,80.789551],[-85.639307,80.924609],[-85.246289,80.987891],[-84.679932,81.042383],[-83.349219,81.10332],[-83.288818,81.147949],[-84.635449,81.098096],[-85.780859,81.035059],[-85.966797,81.011914],[-86.233447,80.950098],[-87.080273,80.72627],[-87.329883,80.669775],[-87.71167,80.65625],[-88.003662,80.675391],[-88.231982,80.703809],[-88.625098,80.770068],[-88.921436,80.805615],[-89.06167,80.829541],[-89.14458,80.853662],[-89.211768,80.881934],[-89.263281,80.914307],[-89.166895,80.941309],[-88.413086,80.999756],[-87.388672,80.988379],[-86.929004,81.000439],[-86.476758,81.035742],[-85.80957,81.123584],[-85.083301,81.246875],[-84.941211,81.28623],[-85.206299,81.294873],[-85.40249,81.285303],[-85.875049,81.241211],[-86.622754,81.122656],[-87.275098,81.080811],[-88.886816,81.058496],[-89.398389,81.025342],[-89.623047,81.032471],[-89.792285,81.064844],[-89.980957,81.124707],[-89.947314,81.172656],[-89.563379,81.226465],[-89.262549,81.239063],[-89.208691,81.250098],[-89.635693,81.302051],[-89.673682,81.328613],[-89.427002,81.387451],[-88.892285,81.474121],[-88.621924,81.501416],[-88.126514,81.518799],[-87.616699,81.509326],[-87.597021,81.52583],[-88.101367,81.558643],[-88.479053,81.564648],[-88.978369,81.541504],[-90.303516,81.401123],[-90.416309,81.405371],[-90.609033,81.429541],[-90.55376,81.464209],[-89.845215,81.61167],[-89.82168,81.634863],[-90.330859,81.631543],[-90.480371,81.638525],[-90.626318,81.656006],[-90.83374,81.640479],[-91.102734,81.591992],[-91.292383,81.57124],[-91.402783,81.578223],[-91.684082,81.635693],[-91.647559,81.683838],[-91.423828,81.744238],[-91.219482,81.787744],[-90.941943,81.827441],[-90.490186,81.877246],[-90.163037,81.894043],[-89.63335,81.894531],[-89.381006,81.916748],[-89.156348,81.95542],[-88.875244,82.018018],[-88.566846,82.061084],[-88.063184,82.096484],[-87.638916,82.085059],[-87.404395,82.054199],[-87.218164,82.000098],[-87.018213,81.95874],[-86.999219,81.992139],[-86.834033,82.03335],[-86.626807,82.051025],[-86.377539,82.045117],[-86.15835,82.025537],[-85.874805,81.975684],[-85.645654,81.953271],[-85.537988,81.954639],[-85.403174,81.982227],[-85.044824,81.982812],[-85.052246,81.994531],[-85.169238,82.023389],[-85.310596,82.043994],[-86.580615,82.187207],[-86.615625,82.218555],[-86.187598,82.247949],[-85.92002,82.283057],[-85.794434,82.291602],[-85.480859,82.366309],[-85.275977,82.405225],[-84.896826,82.449414],[-84.744727,82.437354],[-84.553369,82.39834],[-84.368115,82.373926],[-83.823633,82.350684],[-83.590674,82.326465],[-83.175684,82.187207],[-83.010156,82.141699],[-82.774219,82.094922],[-82.633691,82.077295],[-82.356006,82.066016],[-82.327441,82.09248],[-82.65708,82.158301],[-82.747461,82.196436],[-82.708594,82.228711],[-82.638379,82.245752],[-82.536914,82.247266],[-82.276562,82.218457],[-81.584473,82.120557],[-80.549902,82.00459],[-80.153369,81.977637],[-79.908643,81.93623],[-79.685547,81.885889],[-79.465625,81.851123],[-79.424854,81.854443],[-79.629492,81.932324],[-80.129834,82.028369],[-81.468262,82.192383],[-81.997607,82.278271],[-82.253662,82.336328],[-82.447559,82.39502],[-82.451367,82.4271],[-82.268896,82.464648],[-82.023242,82.494385],[-81.717773,82.50625],[-81.681152,82.518652],[-81.958594,82.563232],[-82.12251,82.601758],[-82.116846,82.628662],[-81.785352,82.649219],[-81.579687,82.643018],[-81.188867,82.594482],[-80.8625,82.571533],[-80.809668,82.586377],[-81.146631,82.715576],[-81.178076,82.744678],[-81.128174,82.761719],[-81.010156,82.779053],[-80.657129,82.769092],[-80.075781,82.706201],[-79.035059,82.674658],[-78.748779,82.679395],[-78.791797,82.693896],[-79.207227,82.732764],[-79.641992,82.784961],[-79.833789,82.816504],[-79.974316,82.858984],[-80.141162,82.894238],[-80.154932,82.911133],[-79.886328,82.938525],[-79.180566,82.933203],[-78.524951,82.891113],[-77.968652,82.906348],[-77.618066,82.89585],[-77.47959,82.883154],[-77.225879,82.837207],[-76.420996,82.670898],[-76.335547,82.644434],[-76.244043,82.604102],[-76.146484,82.549854],[-76.009375,82.535156],[-75.744336,82.572412],[-75.565625,82.608545],[-75.642871,82.643506],[-76.086963,82.723633],[-76.187793,82.75791],[-76.409961,82.81582],[-76.908447,82.919434],[-77.041211,82.967529],[-77.124902,83.008545],[-75.744922,83.047168],[-74.41416,83.013135],[-74.197754,82.989014],[-74.055859,82.955371],[-73.916504,82.904199],[-73.703125,82.851855],[-73.272021,82.771582],[-72.658691,82.721631],[-72.775928,82.755664],[-73.234668,82.844238],[-73.441895,82.904834],[-73.440723,82.94585],[-73.403809,82.977148],[-73.331152,82.998779],[-72.81167,83.081201],[-72.069238,83.106055],[-71.983203,83.101416],[-71.405957,82.974854],[-71.132031,82.923047],[-70.940381,82.902246],[-70.933008,82.911279],[-71.19834,82.96958],[-71.402393,83.00127],[-71.423535,83.021143],[-71.084814,83.082666],[-70.870557,83.098145],[-69.969922,83.116113],[-69.867676,83.109619],[-69.782129,83.092529],[-69.569385,83.024902],[-69.488867,83.016797]]],[[[-95.484375,77.791992],[-95.233057,77.753809],[-94.959912,77.774072],[-94.666797,77.776221],[-94.014746,77.759912],[-93.582861,77.770752],[-93.471094,77.764307],[-93.300977,77.739795],[-93.210742,77.710205],[-93.128711,77.660156],[-93.33916,77.629688],[-93.51958,77.474414],[-93.543945,77.46665],[-93.740186,77.464551],[-93.836182,77.452246],[-94.408984,77.474219],[-95.987061,77.484131],[-96.056104,77.503467],[-96.263867,77.594531],[-96.276611,77.630566],[-96.23916,77.672559],[-96.19458,77.700537],[-96.142969,77.714355],[-95.683936,77.782275],[-95.484375,77.791992]]],[[[-93.542578,75.02793],[-93.478271,74.951953],[-93.466602,74.921338],[-93.463477,74.856494],[-93.490869,74.771973],[-93.50918,74.756494],[-93.535645,74.749316],[-93.548291,74.727539],[-93.547168,74.691064],[-93.573096,74.668848],[-93.626172,74.660889],[-93.98457,74.644189],[-94.206055,74.647412],[-94.534521,74.636719],[-94.697266,74.642188],[-94.803857,74.660107],[-94.95874,74.699951],[-95.286084,74.794092],[-95.451221,74.797363],[-95.86543,74.83042],[-96.094238,74.93252],[-96.181738,74.950781],[-96.270117,74.920312],[-96.294189,74.927197],[-96.318555,74.947705],[-96.343164,74.981934],[-96.386328,74.999463],[-96.559863,74.990381],[-96.591162,75.001855],[-96.599609,75.031787],[-96.596924,75.057861],[-96.565771,75.09873],[-96.382861,75.211377],[-96.292383,75.219287],[-96.180371,75.240088],[-96.118408,75.300928],[-96.124902,75.358301],[-95.954639,75.443799],[-95.853174,75.469043],[-95.670801,75.528662],[-95.049512,75.621826],[-94.878174,75.630029],[-94.648633,75.623047],[-94.427246,75.593359],[-94.256689,75.544092],[-93.909082,75.42251],[-93.75083,75.349023],[-93.666846,75.273535],[-93.591211,75.230225],[-93.497559,75.136865],[-93.531738,75.100342],[-93.551807,75.051172],[-93.542578,75.02793]]],[[[-100.001904,73.945898],[-99.157959,73.731592],[-99.039648,73.749268],[-98.784521,73.760547],[-98.519336,73.79209],[-98.151855,73.818213],[-97.927734,73.865771],[-97.832178,73.879346],[-97.669971,73.887744],[-97.581836,73.887549],[-97.327051,73.861865],[-97.224756,73.843799],[-97.170508,73.824854],[-97.111719,73.790332],[-97.011279,73.706152],[-96.996582,73.674902],[-97.001709,73.666504],[-97.09458,73.614746],[-97.156396,73.592187],[-97.28418,73.570752],[-97.394775,73.564209],[-97.489795,73.526611],[-97.596973,73.536621],[-97.625879,73.502295],[-97.6146,73.481348],[-97.58584,73.471143],[-97.531836,73.473584],[-97.470117,73.488232],[-97.350293,73.480957],[-97.287109,73.458447],[-97.230371,73.421289],[-97.27251,73.386816],[-97.484082,73.339209],[-97.795898,73.285303],[-98.17583,73.115771],[-98.375586,73.044678],[-98.416846,73.02251],[-98.436963,73.000244],[-98.430908,72.958057],[-98.421777,72.941016],[-98.36665,72.934131],[-98.180811,72.993066],[-98.061035,73.020508],[-97.939404,73.035596],[-97.724805,73.03667],[-97.636328,73.027637],[-97.475684,72.992285],[-97.32876,72.937842],[-97.29585,72.918018],[-97.309912,72.898145],[-97.370996,72.878125],[-97.377686,72.864941],[-97.237598,72.837451],[-97.083008,72.762842],[-97.0729,72.717578],[-97.140479,72.672754],[-97.158936,72.642773],[-97.128125,72.627588],[-97.051807,72.636816],[-96.869043,72.687012],[-96.671289,72.713184],[-96.59209,72.710254],[-96.54209,72.69873],[-96.489209,72.629883],[-96.445605,72.552441],[-96.440137,72.487305],[-96.472852,72.434375],[-96.519873,72.393115],[-96.638281,72.342041],[-96.745508,72.322607],[-96.801465,72.322412],[-96.795898,72.31377],[-96.66875,72.27124],[-96.615576,72.237256],[-96.592871,72.204492],[-96.600586,72.172852],[-96.618115,72.145898],[-96.766309,72.045947],[-96.758301,72.031689],[-96.717285,72.025146],[-96.624365,71.967578],[-96.613428,71.833838],[-96.946484,71.791895],[-97.024658,71.760742],[-97.116699,71.71084],[-97.222217,71.673486],[-97.46123,71.634229],[-97.582275,71.629688],[-98.181348,71.662451],[-98.241943,71.681494],[-98.283887,71.715527],[-98.30708,71.764502],[-98.313379,71.803076],[-98.302686,71.831104],[-98.305811,71.847559],[-98.322705,71.852344],[-98.389307,71.824268],[-98.458838,71.773193],[-98.420801,71.716504],[-98.231445,71.558936],[-98.195312,71.491211],[-98.190137,71.462451],[-98.198633,71.440869],[-98.412305,71.348828],[-98.535937,71.317627],[-98.662891,71.3021],[-98.783838,71.313672],[-98.898779,71.352344],[-98.98623,71.369482],[-99.167139,71.367188],[-99.223633,71.387109],[-99.276172,71.424219],[-99.403662,71.557178],[-99.581445,71.651562],[-99.734717,71.757227],[-100.124121,71.911523],[-100.325684,72.003857],[-100.594482,72.152344],[-100.706836,72.185937],[-100.800195,72.199414],[-100.983643,72.210059],[-101.026221,72.228564],[-101.093115,72.279053],[-101.208545,72.316992],[-101.250684,72.321777],[-101.318701,72.312842],[-101.49834,72.277881],[-101.723926,72.314893],[-101.774512,72.340918],[-101.804443,72.385059],[-101.83291,72.409277],[-101.909326,72.431055],[-101.973682,72.486133],[-102.402246,72.594727],[-102.65708,72.719434],[-102.70874,72.764502],[-102.713672,72.78291],[-102.6875,72.842822],[-102.628467,72.910791],[-102.551074,72.978271],[-102.503809,73.005908],[-102.336133,73.064111],[-102.204004,73.077295],[-102.019629,73.069922],[-101.922461,73.056982],[-101.8354,73.018018],[-101.798047,72.973096],[-101.754541,72.942822],[-101.617773,72.909717],[-101.543604,72.883057],[-101.434619,72.821045],[-101.350586,72.746289],[-101.273193,72.72168],[-101.087598,72.713281],[-100.896045,72.725928],[-100.484766,72.772949],[-100.468018,72.778809],[-100.442578,72.806836],[-100.395703,72.977002],[-100.367529,72.977734],[-100.22793,72.898926],[-100.18833,72.890283],[-100.128125,72.906689],[-100.092383,72.944971],[-100.096729,72.963135],[-100.184473,73.055322],[-100.236182,73.09541],[-100.282666,73.120312],[-100.334375,73.128467],[-100.446191,73.120557],[-100.531396,73.138281],[-100.550195,73.163721],[-100.536377,73.197852],[-100.489307,73.233936],[-100.438818,73.25459],[-100.340723,73.265186],[-100.225879,73.254688],[-100.066992,73.211084],[-99.966406,73.201416],[-99.825146,73.213867],[-100.005908,73.239502],[-100.257959,73.340234],[-100.366113,73.359033],[-100.497998,73.31582],[-100.587012,73.299561],[-100.755322,73.278467],[-100.889355,73.275342],[-101.450879,73.430957],[-101.48208,73.44585],[-101.523193,73.486377],[-101.518457,73.505029],[-101.463037,73.533838],[-101.323145,73.571973],[-101.114941,73.59585],[-100.975781,73.599756],[-100.854102,73.571289],[-100.676807,73.494287],[-100.52168,73.449316],[-100.508936,73.465479],[-100.536328,73.509717],[-100.607129,73.575391],[-100.65791,73.593359],[-100.782715,73.612939],[-100.898242,73.658057],[-100.952588,73.691406],[-100.981543,73.727197],[-100.985107,73.765332],[-100.962988,73.791406],[-100.915137,73.805371],[-100.483643,73.843506],[-100.182324,73.80127],[-99.991113,73.795166],[-99.911865,73.847021],[-99.939502,73.857129],[-100.040088,73.843799],[-100.153809,73.844092],[-100.224805,73.87251],[-100.227051,73.889111],[-100.138477,73.928857],[-100.001904,73.945898]]],[[[-84.919629,65.261084],[-84.885107,65.248975],[-84.84209,65.255908],[-84.771289,65.305273],[-84.6125,65.447314],[-84.56792,65.460645],[-84.501123,65.458447],[-84.266406,65.367236],[-84.17998,65.316309],[-84.133496,65.245459],[-84.084863,65.217822],[-83.900098,65.18125],[-83.722559,65.168994],[-83.490771,65.131787],[-83.407129,65.103906],[-83.222266,64.967969],[-83.200977,64.959668],[-82.990576,64.904102],[-82.667627,64.780322],[-82.585791,64.761914],[-82.27168,64.721143],[-82.158887,64.690674],[-82.05,64.644287],[-81.928906,64.559424],[-81.787207,64.425977],[-81.676123,64.212646],[-81.667383,64.170508],[-81.680908,64.145557],[-81.720947,64.118896],[-81.902637,64.03125],[-81.887109,64.016406],[-81.716113,64.021875],[-81.335645,64.075781],[-81.104053,64.037109],[-81.023584,64.031055],[-81.005029,64.033301],[-80.921143,64.100488],[-80.828955,64.089941],[-80.694287,64.024756],[-80.607568,63.97207],[-80.568848,63.931934],[-80.579199,63.909229],[-80.668262,63.901465],[-80.450586,63.862939],[-80.261328,63.801953],[-80.302051,63.762207],[-80.504053,63.673779],[-80.711768,63.596387],[-80.953516,63.480273],[-81.013867,63.462549],[-81.046387,63.461572],[-81.179688,63.483203],[-81.371729,63.538086],[-81.96333,63.664453],[-82.145996,63.691162],[-82.378125,63.706787],[-82.411719,63.736523],[-82.46709,63.926953],[-82.571484,63.960693],[-82.929688,64.000439],[-83.033887,64.023242],[-83.038672,64.061426],[-83.016162,64.127002],[-83.065137,64.159033],[-83.185547,64.15752],[-83.303955,64.143799],[-83.494336,64.099219],[-83.583594,64.058105],[-83.61709,64.013428],[-83.637988,63.917822],[-83.661621,63.872607],[-83.728271,63.813379],[-84.022119,63.659863],[-84.141602,63.613721],[-84.260449,63.600488],[-84.307617,63.585791],[-84.3875,63.529102],[-84.506201,63.390039],[-84.55459,63.35],[-84.63291,63.309229],[-84.795557,63.246924],[-84.961523,63.197217],[-85.238135,63.139307],[-85.392627,63.119678],[-85.495508,63.139111],[-85.566113,63.270898],[-85.71416,63.657959],[-85.738721,63.684131],[-85.768945,63.700342],[-85.804688,63.706543],[-86.301562,63.656787],[-86.575684,63.662305],[-86.846875,63.575293],[-86.915234,63.568994],[-87.05293,63.571777],[-87.151904,63.585645],[-87.177148,63.595117],[-87.193848,63.632812],[-87.188916,63.672266],[-87.154395,63.714893],[-87.031934,63.83042],[-86.932031,63.90166],[-86.886035,63.92373],[-86.421729,64.051563],[-86.308594,64.093652],[-86.2521,64.136865],[-86.252197,64.18125],[-86.27417,64.238037],[-86.354492,64.376514],[-86.374902,64.502979],[-86.374268,64.56582],[-86.343848,64.662354],[-86.227637,64.896338],[-86.188281,65.010303],[-86.114209,65.417285],[-86.074609,65.533838],[-86.01709,65.640283],[-85.96167,65.704248],[-85.813965,65.831934],[-85.699072,65.883154],[-85.554688,65.918652],[-85.523047,65.914551],[-85.495508,65.899707],[-85.442432,65.845557],[-85.241113,65.795508],[-85.176221,65.746875],[-85.130371,65.69292],[-85.105371,65.622705],[-85.130322,65.59209],[-85.226318,65.545752],[-85.242773,65.526221],[-85.239941,65.510303],[-85.056055,65.437402],[-84.919629,65.261084]]],[[[-97.700928,76.466504],[-97.689746,76.421826],[-97.701855,76.387402],[-97.737109,76.363135],[-97.73877,76.335254],[-97.706836,76.303711],[-97.573145,76.224219],[-97.530664,76.181543],[-97.524268,76.138721],[-97.531055,76.109424],[-97.613477,76.052637],[-97.65,75.97915],[-97.652148,75.940186],[-97.603027,75.879346],[-97.60166,75.851074],[-97.694238,75.802588],[-97.890527,75.760352],[-97.862793,75.738086],[-97.439551,75.68457],[-97.40752,75.67251],[-97.409619,75.5521],[-97.336035,75.419824],[-97.363477,75.417236],[-97.465234,75.458643],[-97.65332,75.507764],[-97.878223,75.416113],[-97.852734,75.260303],[-97.704883,75.19082],[-97.659912,75.151172],[-97.674316,75.127295],[-97.799365,75.11665],[-97.842725,75.121826],[-97.97085,75.153271],[-98.045312,75.20083],[-98.06875,75.19917],[-98.091699,75.176221],[-98.076758,75.152979],[-97.98999,75.110693],[-97.95332,75.060156],[-97.991797,75.045801],[-98.120947,75.032715],[-98.295166,75.032178],[-98.568652,75.009326],[-98.703516,75.005811],[-98.834814,75.018164],[-99.010059,75.021094],[-99.155811,75.015723],[-99.244922,75.025781],[-99.326123,75.049414],[-99.420605,75.04375],[-99.626904,74.98374],[-99.946631,75.002832],[-100.234375,75.007715],[-100.292285,75.027734],[-100.356641,75.066748],[-100.483496,75.188428],[-100.459473,75.219092],[-100.152051,75.235645],[-100.145703,75.246143],[-100.364111,75.289551],[-100.614893,75.321436],[-100.731152,75.346533],[-100.704248,75.394336],[-100.711914,75.406348],[-100.279639,75.460986],[-99.965283,75.568506],[-99.770215,75.612256],[-99.756006,75.633398],[-99.591162,75.655371],[-99.209424,75.668604],[-99.19458,75.698389],[-99.915137,75.68125],[-100.901758,75.62041],[-101.206836,75.59043],[-101.461328,75.60791],[-102.541406,75.513623],[-102.587402,75.513672],[-102.700391,75.543604],[-102.79751,75.599658],[-102.727832,75.638721],[-102.410693,75.712842],[-102.252051,75.777734],[-102.270654,75.812793],[-102.144727,75.875049],[-101.942822,75.883838],[-101.599658,75.832666],[-101.42124,75.781934],[-101.261426,75.758203],[-101.119385,75.762891],[-100.972803,75.798438],[-101.009912,75.802393],[-101.258838,75.783643],[-101.288037,75.789111],[-101.41499,75.84585],[-101.470312,75.881934],[-101.505908,75.918066],[-101.507861,75.943604],[-101.431348,75.991992],[-101.716797,76.00791],[-101.823389,76.041357],[-101.872119,76.083105],[-101.861377,76.10127],[-101.771387,76.150098],[-101.528955,76.217285],[-101.557031,76.23584],[-101.909814,76.234375],[-101.987451,76.243115],[-102.137744,76.284863],[-102.104687,76.331201],[-101.964209,76.399023],[-101.858496,76.439014],[-101.787549,76.45127],[-101.677246,76.451025],[-101.415186,76.424902],[-101.339746,76.410498],[-101.139062,76.345166],[-101.087891,76.307861],[-101.094189,76.271924],[-101.055811,76.245557],[-100.900098,76.20708],[-100.230664,76.007666],[-100.105713,75.960449],[-100.020117,75.939551],[-99.865479,75.924219],[-99.774854,75.927393],[-99.70127,75.941455],[-99.688916,75.959717],[-99.97832,76.029492],[-100.050977,76.066602],[-100.112842,76.117236],[-100.085791,76.133545],[-100.001758,76.139209],[-99.790186,76.132617],[-99.541064,76.146289],[-99.817236,76.167578],[-99.997607,76.19585],[-100.182764,76.197217],[-100.414209,76.242529],[-100.414355,76.256689],[-100.357617,76.271143],[-100.042725,76.29126],[-99.983105,76.299902],[-99.977734,76.312451],[-100.081885,76.342773],[-100.174658,76.359277],[-100.650684,76.395947],[-100.819873,76.437012],[-100.873633,76.456592],[-100.890771,76.475488],[-100.829736,76.523877],[-100.57373,76.584619],[-100.387939,76.613574],[-100.068701,76.634766],[-99.814062,76.632227],[-99.669043,76.624121],[-99.329492,76.521289],[-99.169629,76.453662],[-98.890332,76.465576],[-98.970996,76.536572],[-99.023633,76.614551],[-98.940869,76.643164],[-98.71084,76.693848],[-98.527588,76.667383],[-98.288672,76.59873],[-98.236182,76.575342],[-97.967334,76.53291],[-97.808398,76.518799],[-97.725879,76.496094],[-97.700928,76.466504]]],[[[-103.426025,79.315625],[-103.19165,79.295312],[-102.914355,79.231104],[-102.652295,79.09502],[-102.638965,79.077588],[-102.637598,79.05498],[-102.648193,79.027148],[-102.682861,78.991016],[-102.730518,78.969336],[-102.595605,78.942969],[-102.580762,78.930127],[-102.592773,78.900928],[-102.576172,78.879395],[-102.49458,78.900684],[-102.424805,78.933203],[-102.407324,78.954102],[-102.393164,79.010303],[-102.188574,79.038379],[-101.973633,79.079199],[-101.872607,79.088379],[-101.703662,79.078906],[-101.299023,78.982178],[-101.14458,78.9729],[-101.088477,78.961523],[-101.037158,78.939014],[-101.033691,78.914697],[-101.115918,78.858301],[-101.147461,78.823975],[-101.128125,78.80166],[-100.916992,78.78291],[-100.435498,78.820312],[-100.014746,78.728613],[-99.781836,78.619629],[-99.609424,78.583057],[-99.582129,78.563281],[-99.631104,78.544678],[-99.680176,78.493506],[-99.818311,78.455371],[-99.847803,78.438232],[-99.774121,78.392969],[-99.768652,78.364551],[-99.778223,78.325098],[-99.751367,78.302979],[-99.562451,78.279346],[-99.131543,78.117529],[-99.053125,78.072363],[-99.00459,78.015967],[-98.999609,77.996875],[-99.061182,77.965625],[-99.128369,77.877148],[-99.166406,77.856934],[-99.341309,77.839648],[-99.659131,77.824072],[-99.955908,77.793799],[-100.274658,77.832715],[-100.586035,77.891797],[-100.680273,77.930664],[-100.75791,77.977686],[-100.778223,77.996045],[-100.80957,78.071631],[-100.826172,78.087744],[-100.957617,78.130225],[-101.074121,78.193848],[-101.297998,78.199365],[-101.829492,78.264111],[-102.056982,78.279541],[-102.284473,78.275],[-102.606982,78.248926],[-102.667676,78.255908],[-102.722705,78.275244],[-102.77207,78.306885],[-102.784326,78.330176],[-102.731348,78.371045],[-103.677246,78.31958],[-103.946582,78.26001],[-104.324219,78.269482],[-104.512646,78.294629],[-104.763574,78.35166],[-104.879346,78.40127],[-104.9854,78.468018],[-104.995557,78.518506],[-104.909619,78.552637],[-104.820117,78.5729],[-104.727051,78.579395],[-104.213965,78.539746],[-103.764355,78.519531],[-103.570508,78.539844],[-103.482568,78.593945],[-103.587988,78.622998],[-104.02085,78.634912],[-103.928516,78.663379],[-103.562695,78.692676],[-103.371582,78.736328],[-103.408398,78.751611],[-103.518359,78.769141],[-104.00874,78.764014],[-104.18501,78.781299],[-104.19458,78.795605],[-104.15498,78.813965],[-103.875635,78.902686],[-103.887158,78.918799],[-104.007227,78.947852],[-104.112744,78.985596],[-104.151953,78.989893],[-104.394824,78.956152],[-104.736035,78.825928],[-104.817432,78.80708],[-104.895508,78.808154],[-104.970215,78.82915],[-104.969531,78.856494],[-104.893408,78.890186],[-104.735254,78.991113],[-104.746777,79.0271],[-104.901367,79.051123],[-105.308789,79.033203],[-105.535645,79.03252],[-105.570752,79.060986],[-105.580176,79.114209],[-105.571045,79.164209],[-105.514551,79.24248],[-105.435693,79.302246],[-105.387695,79.323584],[-104.847363,79.310986],[-103.9646,79.348145],[-103.706396,79.352051],[-103.426025,79.315625]]],[[[-91.885547,81.132861],[-91.75498,81.049316],[-91.272461,80.850098],[-91.053906,80.777686],[-90.68291,80.687695],[-90.636719,80.655322],[-90.632471,80.641699],[-90.643018,80.593701],[-90.537256,80.575928],[-90.217627,80.548242],[-89.861865,80.498437],[-89.797852,80.50127],[-89.673828,80.530762],[-89.524805,80.538818],[-89.329053,80.531738],[-89.235596,80.510645],[-89.166895,80.479639],[-89.138281,80.457422],[-89.13418,80.440234],[-89.204395,80.406934],[-89.196582,80.394043],[-89.154687,80.378516],[-89.147266,80.360352],[-89.217676,80.289258],[-89.19834,80.263184],[-89.019238,80.198486],[-88.857324,80.166211],[-88.537549,80.131152],[-88.329248,80.133691],[-88.199902,80.111475],[-88.196826,80.125195],[-88.255371,80.166504],[-88.380762,80.225195],[-88.6125,80.255371],[-88.64624,80.289746],[-88.663428,80.348291],[-88.643652,80.386865],[-88.524805,80.418018],[-88.424365,80.428076],[-88.125244,80.429492],[-87.96001,80.415625],[-87.675,80.372119],[-87.645508,80.348438],[-87.630273,80.301611],[-87.618359,80.207471],[-87.625488,80.187207],[-87.869141,80.133887],[-87.922314,80.097705],[-87.860693,80.0875],[-87.651367,80.079443],[-87.328516,80.046533],[-87.202051,80.043213],[-87.076172,79.966943],[-86.977197,79.894238],[-87.049512,79.80542],[-87.144238,79.662646],[-87.220264,79.629932],[-87.295166,79.580176],[-87.242871,79.571143],[-86.925244,79.590967],[-86.861035,79.597705],[-86.648828,79.64624],[-86.336963,79.634961],[-86.232227,79.622412],[-86.180469,79.60542],[-86.085547,79.551221],[-86.007031,79.479443],[-85.948975,79.485986],[-85.803857,79.573047],[-85.750928,79.594531],[-85.678613,79.615283],[-85.647852,79.611426],[-85.501367,79.530322],[-85.175586,79.387256],[-85.06377,79.328174],[-85.042139,79.28457],[-85.181348,79.23374],[-85.289844,79.20835],[-86.09165,79.1],[-86.450537,79.038672],[-86.629443,78.991309],[-86.720801,78.975488],[-86.913477,78.982812],[-86.957178,78.974902],[-87.016455,78.898682],[-87.080371,78.866113],[-87.246387,78.813477],[-87.47876,78.718164],[-87.617383,78.676318],[-87.861475,78.706836],[-87.922314,78.751367],[-87.95625,78.851611],[-87.960742,78.893115],[-87.953174,78.915039],[-87.922607,78.950586],[-87.816748,79.036328],[-87.829395,79.045312],[-87.878369,79.038184],[-88.040186,78.995312],[-88.104053,78.972803],[-88.163818,78.933496],[-88.190234,78.867432],[-88.166602,78.745508],[-88.189697,78.696387],[-88.25376,78.671973],[-88.227881,78.653027],[-88.037012,78.626953],[-88.003125,78.615527],[-87.981982,78.594727],[-87.973633,78.564746],[-87.982861,78.537061],[-88.040234,78.494434],[-88.147559,78.4771],[-88.28457,78.496533],[-88.580664,78.601904],[-88.709277,78.596094],[-88.741602,78.584033],[-88.713965,78.546436],[-88.623047,78.462109],[-88.606445,78.391992],[-88.648389,78.33374],[-88.732959,78.241699],[-88.791016,78.192432],[-88.822412,78.185889],[-88.969629,78.184424],[-89.095703,78.209229],[-89.47002,78.370215],[-89.655273,78.438867],[-89.926221,78.573047],[-89.995361,78.600684],[-90.037109,78.606836],[-90.076318,78.54917],[-90.001025,78.495801],[-89.757275,78.370215],[-89.61167,78.278906],[-89.506836,78.203271],[-89.489844,78.171924],[-89.525684,78.159619],[-89.579492,78.166602],[-89.651123,78.193018],[-89.873047,78.237598],[-89.965186,78.262451],[-90.025439,78.29126],[-90.136084,78.313086],[-90.297217,78.328027],[-90.459033,78.330908],[-90.621582,78.321729],[-90.652393,78.307715],[-90.469189,78.268555],[-90.40542,78.24668],[-90.357959,78.21875],[-90.326758,78.184766],[-90.386963,78.163281],[-90.614404,78.149854],[-90.918115,78.158398],[-91.409619,78.187988],[-91.89917,78.236865],[-92.35127,78.312891],[-92.678271,78.389111],[-92.807617,78.429736],[-92.848242,78.460107],[-92.725586,78.48667],[-92.296729,78.520801],[-91.866895,78.542676],[-91.934961,78.561719],[-92.715527,78.605029],[-92.97251,78.612939],[-93.109375,78.601562],[-93.266602,78.608301],[-93.389453,78.642676],[-93.552051,78.707813],[-93.634424,78.750928],[-93.62334,78.767773],[-93.561426,78.777344],[-93.20835,78.769189],[-93.159863,78.775635],[-93.336475,78.808057],[-93.902246,78.872217],[-94.1146,78.928906],[-94.153613,78.951025],[-94.169678,78.972803],[-94.162793,78.994189],[-93.950195,79.037402],[-93.293896,79.139502],[-93.068457,79.155371],[-92.841602,79.156396],[-92.683643,79.185791],[-92.547217,79.282617],[-91.867578,79.317432],[-91.343652,79.360889],[-91.299902,79.372705],[-91.692627,79.364746],[-92.247949,79.373437],[-92.48457,79.439258],[-92.644727,79.450439],[-92.821924,79.449902],[-93.028125,79.429248],[-93.380859,79.368164],[-93.550439,79.353955],[-93.933154,79.290723],[-94.039844,79.295215],[-94.093359,79.302734],[-94.109375,79.315088],[-94.040283,79.357031],[-93.939697,79.385693],[-93.960254,79.395508],[-94.110303,79.401562],[-94.284131,79.400439],[-94.404883,79.390527],[-94.846045,79.335059],[-95.043701,79.293555],[-95.103174,79.289893],[-95.316602,79.354736],[-95.657031,79.390381],[-95.733008,79.418213],[-95.662891,79.527344],[-95.563477,79.549756],[-95.302344,79.568066],[-94.519678,79.667139],[-94.475537,79.686182],[-94.401855,79.736328],[-94.580859,79.725635],[-94.973047,79.677197],[-95.296973,79.653076],[-95.55249,79.653223],[-95.739355,79.660156],[-95.85752,79.673779],[-95.999658,79.704688],[-96.462744,79.84751],[-96.589062,79.91665],[-96.606738,79.977686],[-96.639209,80.02417],[-96.773242,80.135791],[-95.781982,80.066406],[-95.393848,80.053271],[-94.645898,80.04873],[-94.61084,80.055518],[-94.599805,80.073633],[-94.612695,80.102979],[-94.606982,80.125586],[-94.582617,80.141406],[-94.304443,80.181641],[-94.262598,80.194873],[-94.590137,80.201514],[-95.192383,80.134375],[-95.405078,80.13501],[-95.64624,80.230957],[-95.904004,80.214111],[-96.025684,80.221729],[-96.215088,80.245898],[-96.308301,80.266992],[-96.368408,80.293066],[-96.394092,80.315039],[-96.385352,80.332861],[-96.334375,80.352783],[-96.112158,80.38042],[-96.011865,80.383057],[-95.747363,80.365283],[-95.549072,80.366602],[-95.614453,80.39624],[-95.901074,80.47085],[-96.151807,80.553467],[-96.132812,80.691406],[-95.926953,80.720654],[-95.713623,80.725439],[-95.505273,80.690576],[-95.22583,80.685791],[-95.025732,80.646436],[-94.892578,80.570898],[-94.734473,80.572363],[-94.4854,80.558057],[-93.92793,80.55918],[-94.028711,80.586182],[-94.202148,80.609717],[-94.596289,80.640625],[-94.788477,80.75127],[-95.19585,80.808301],[-95.514746,80.838135],[-95.509277,80.863232],[-95.269775,81.000781],[-94.980518,81.049658],[-94.519434,81.031201],[-94.216309,81.057178],[-93.825977,81.105713],[-93.44375,81.083252],[-93.345117,81.085352],[-93.286719,81.100293],[-93.235645,81.128857],[-93.2354,81.155127],[-93.285937,81.179248],[-93.406543,81.209082],[-93.894434,81.213281],[-94.110352,81.225],[-94.194434,81.240918],[-94.218652,81.264941],[-94.231494,81.289697],[-94.232959,81.315137],[-94.220117,81.330762],[-94.179346,81.339258],[-94.059717,81.349316],[-93.604883,81.350586],[-93.332764,81.364404],[-93.034668,81.346289],[-92.412598,81.278271],[-92.211768,81.243604],[-91.997852,81.185498],[-91.885547,81.132861]]],[[[-94.294971,76.912451],[-94.107959,76.90376],[-93.948047,76.91709],[-93.810937,76.91416],[-93.608398,76.873828],[-93.420752,76.812207],[-93.276562,76.784326],[-93.230029,76.770264],[-93.211865,76.754688],[-93.189258,76.708008],[-93.18999,76.686377],[-93.200586,76.669092],[-93.263672,76.626465],[-93.316748,76.573682],[-93.42627,76.527148],[-93.48457,76.492041],[-93.53457,76.447705],[-93.421875,76.474121],[-92.995361,76.62041],[-92.71626,76.602979],[-92.297021,76.616016],[-91.789453,76.675781],[-91.548437,76.685107],[-91.305029,76.680762],[-91.124268,76.661914],[-90.738428,76.581348],[-90.604785,76.542969],[-90.554639,76.515771],[-90.542627,76.495752],[-90.621631,76.464697],[-90.864062,76.483594],[-91.263037,76.500244],[-91.335986,76.510596],[-91.398096,76.509766],[-91.443262,76.498535],[-91.415088,76.455859],[-91.333887,76.446484],[-90.854785,76.437305],[-89.284521,76.301611],[-89.219092,76.258203],[-89.236523,76.239014],[-89.29209,76.217725],[-89.406592,76.18916],[-90.312061,76.158008],[-90.827344,76.185596],[-91.2604,76.22998],[-91.407324,76.220068],[-91.279443,76.159912],[-91.019775,76.141553],[-90.802393,76.105957],[-90.712109,76.076172],[-90.251367,76.053467],[-90.176025,76.030273],[-90.032764,75.970898],[-89.912549,75.966309],[-89.793408,75.924854],[-89.695312,75.853613],[-89.650049,75.844092],[-89.51123,75.856934],[-89.277588,75.795068],[-89.204883,75.762012],[-89.204541,75.737256],[-89.256641,75.698486],[-89.36123,75.645801],[-89.625439,75.58374],[-89.646045,75.565039],[-89.337305,75.572363],[-89.28042,75.564111],[-88.916699,75.453955],[-88.868848,75.451953],[-88.838916,75.463477],[-88.804102,75.50249],[-88.819629,75.538574],[-88.864062,75.588623],[-88.852148,75.624902],[-88.783936,75.647461],[-88.714893,75.658643],[-88.644971,75.658447],[-88.569043,75.645117],[-88.201318,75.512012],[-87.729736,75.575635],[-87.643652,75.54707],[-87.572412,75.493652],[-87.539111,75.484863],[-87.364648,75.591309],[-87.256934,75.617725],[-86.814453,75.491357],[-86.544727,75.463379],[-86.436523,75.436279],[-86.236328,75.406348],[-85.951465,75.39502],[-85.904541,75.441943],[-86.06875,75.502246],[-85.972998,75.528711],[-85.58125,75.579785],[-85.372314,75.572607],[-84.986768,75.644922],[-84.750195,75.654687],[-84.604883,75.653467],[-84.127637,75.762646],[-84.014258,75.779932],[-83.931982,75.818945],[-83.74458,75.812842],[-83.237109,75.75083],[-83.093408,75.756445],[-82.553467,75.818262],[-82.353857,75.83335],[-82.153662,75.831055],[-81.647363,75.794922],[-81.268555,75.756006],[-81.150781,75.735547],[-81.192676,75.684375],[-81.173535,75.669238],[-81.124414,75.658154],[-81.000781,75.643115],[-80.527734,75.642139],[-80.321973,75.629102],[-80.15835,75.581152],[-80.119189,75.562061],[-80.125732,75.542139],[-80.286621,75.490381],[-80.260449,75.479443],[-80.099609,75.467432],[-79.737695,75.461475],[-79.660205,75.449512],[-79.585742,75.384863],[-79.507812,75.295361],[-79.509082,75.259814],[-79.634424,75.199316],[-79.977148,75.118604],[-80.357568,75.051563],[-80.381982,75.03418],[-80.260645,75.002148],[-80.135254,74.988086],[-80.036426,74.990918],[-79.733008,75.021436],[-79.664062,75.02085],[-79.524805,74.989697],[-79.4604,74.958789],[-79.401416,74.917627],[-79.507959,74.880127],[-79.944482,74.833643],[-80.202441,74.894824],[-80.289209,74.908301],[-80.347754,74.902979],[-80.314551,74.876172],[-80.189746,74.827686],[-80.148926,74.795703],[-80.192236,74.780176],[-80.212695,74.749463],[-80.210254,74.703613],[-80.220605,74.657031],[-80.262744,74.584473],[-80.277734,74.581592],[-81.226221,74.56665],[-81.340479,74.553516],[-81.607178,74.502344],[-81.808838,74.476611],[-81.940186,74.472705],[-82.068506,74.48208],[-82.414746,74.535205],[-82.64541,74.525195],[-82.735791,74.530273],[-82.931055,74.565576],[-82.978418,74.583447],[-83.057617,74.629785],[-83.116992,74.693115],[-83.112305,74.732129],[-83.087305,74.788379],[-83.102637,74.816553],[-83.158301,74.816748],[-83.220312,74.828418],[-83.407031,74.884814],[-83.52207,74.901465],[-83.543555,74.892285],[-83.509766,74.848193],[-83.487305,74.834131],[-83.364209,74.801904],[-83.341309,74.7646],[-83.393701,74.670166],[-83.412207,74.65498],[-83.531885,74.585693],[-83.621875,74.565918],[-83.868066,74.564404],[-84.245166,74.515186],[-84.425537,74.508105],[-84.66709,74.51958],[-84.818262,74.541992],[-84.916309,74.567676],[-85.011523,74.604199],[-85.061426,74.606934],[-85.086768,74.527686],[-85.133447,74.517432],[-85.214307,74.518652],[-85.339258,74.543311],[-85.442334,74.600586],[-85.474414,74.600342],[-85.488672,74.566992],[-85.511719,74.545117],[-85.543506,74.534766],[-85.808008,74.498975],[-85.955615,74.498779],[-86.109863,74.539746],[-86.210938,74.535596],[-86.340576,74.513477],[-86.65542,74.55542],[-86.730762,74.557031],[-86.666113,74.489111],[-86.770166,74.478613],[-86.994727,74.480322],[-87.36377,74.502197],[-87.592578,74.470361],[-88.005859,74.489355],[-88.423047,74.494141],[-88.500732,74.509717],[-88.555664,74.541455],[-88.557861,74.569727],[-88.537646,74.608789],[-88.476611,74.666895],[-88.374707,74.744141],[-88.339551,74.784863],[-88.431445,74.803711],[-88.488184,74.828906],[-88.534961,74.831738],[-88.682031,74.802002],[-88.777832,74.715186],[-88.851074,74.68999],[-88.883398,74.711084],[-88.907812,74.763818],[-88.940137,74.789502],[-88.980371,74.788086],[-89.019629,74.774023],[-89.057861,74.747266],[-89.115283,74.737598],[-89.191943,74.744873],[-89.219141,74.731787],[-89.196826,74.698242],[-89.189062,74.666846],[-89.195801,74.637549],[-89.261865,74.60918],[-89.45,74.56792],[-89.558691,74.554736],[-89.844385,74.548584],[-90.015332,74.560889],[-90.361621,74.610449],[-90.553271,74.612744],[-90.784082,74.695898],[-90.966797,74.715088],[-90.95752,74.745166],[-90.877637,74.801074],[-90.880225,74.817773],[-91.129883,74.736279],[-91.163721,74.710254],[-91.13457,74.649854],[-91.167725,74.645508],[-91.339453,74.667236],[-91.50835,74.650684],[-91.549121,74.655566],[-91.665771,74.69917],[-91.871045,74.743506],[-91.961572,74.793213],[-92.102539,74.948389],[-92.17417,75.051074],[-92.165234,75.072021],[-92.060498,75.100977],[-92.076318,75.123535],[-92.206836,75.18125],[-92.347461,75.229785],[-92.389258,75.26333],[-92.40835,75.297266],[-92.4271,75.346387],[-92.427979,75.382715],[-92.411084,75.40625],[-92.330664,75.479443],[-92.110449,75.610645],[-92.080713,75.634473],[-92.068848,75.65791],[-92.09917,75.727295],[-92.141846,75.796826],[-92.185107,75.846533],[-92.306592,75.915137],[-92.47373,75.986475],[-92.708887,76.114453],[-92.883301,76.213965],[-93.091748,76.354004],[-93.192285,76.366016],[-93.308594,76.359619],[-93.559961,76.311426],[-93.644434,76.288525],[-93.665186,76.273145],[-93.852344,76.269678],[-94.382568,76.282324],[-94.585352,76.297168],[-94.736719,76.293262],[-94.996631,76.257715],[-95.273877,76.264404],[-95.447412,76.363037],[-95.84165,76.416162],[-95.959277,76.445996],[-96.039697,76.486719],[-96.013086,76.51333],[-95.788867,76.537207],[-95.695703,76.563428],[-95.650977,76.584668],[-95.873193,76.566406],[-95.971338,76.569629],[-96.639697,76.70293],[-96.845654,76.726416],[-96.880713,76.73833],[-96.897998,76.754004],[-96.897559,76.773486],[-96.878027,76.802783],[-96.679395,76.765771],[-96.590283,76.763037],[-96.451172,76.774072],[-96.401562,76.797217],[-96.433203,76.810693],[-96.661035,76.855176],[-96.771143,76.888916],[-96.813525,76.913477],[-96.769824,76.948242],[-96.758301,76.971777],[-96.685107,76.98501],[-96.550098,76.987939],[-96.377295,77.00459],[-96.06123,77.050049],[-95.849512,77.066211],[-95.638232,77.06377],[-95.126416,77.017334],[-94.616113,76.95835],[-94.294971,76.912451]]],[[[-96.204492,78.531299],[-95.968457,78.505127],[-95.561133,78.516602],[-95.412939,78.497559],[-95.031201,78.430273],[-94.915381,78.390527],[-94.887744,78.360498],[-94.887158,78.345215],[-95.013867,78.312598],[-95.267871,78.262646],[-95.329248,78.225049],[-95.102734,78.178076],[-94.987793,78.136279],[-94.936035,78.106396],[-94.934277,78.075635],[-95.087012,77.992627],[-95.199121,77.968164],[-95.370508,77.970801],[-95.451562,77.963232],[-95.670801,77.924463],[-96.011572,77.887402],[-96.476855,77.872168],[-96.603027,77.849316],[-96.833984,77.811914],[-96.989648,77.806006],[-97.040479,77.827441],[-97.063818,77.859082],[-97.051953,77.880957],[-97.019092,77.908105],[-97.093311,77.933496],[-97.42666,77.982275],[-97.62085,78.050244],[-97.648389,78.071631],[-97.658154,78.090625],[-97.226611,78.103223],[-97.040918,78.116943],[-96.95835,78.139014],[-96.944678,78.151855],[-97.027344,78.157422],[-97.323047,78.203223],[-97.819043,78.230615],[-97.842725,78.262354],[-98.049512,78.325928],[-98.069287,78.386328],[-98.114307,78.403027],[-98.254932,78.429248],[-98.275684,78.437891],[-98.317334,78.476855],[-98.32373,78.498145],[-98.315625,78.51748],[-98.060352,78.55835],[-98.095996,78.58667],[-98.289893,78.692383],[-98.34082,78.751221],[-98.332617,78.773535],[-98.212109,78.804541],[-98.042871,78.805225],[-97.595898,78.795801],[-97.382324,78.78291],[-97.169336,78.757666],[-96.935791,78.720264],[-96.587061,78.687109],[-96.475342,78.665186],[-96.265283,78.595361],[-96.242627,78.573193],[-96.256494,78.551123],[-96.204492,78.531299]]],[[[-93.17085,74.160986],[-92.778027,74.113721],[-92.586816,74.082715],[-92.492822,74.062061],[-92.313867,73.992383],[-92.222705,73.972363],[-91.87417,74.012793],[-91.63042,74.027783],[-91.087988,74.009277],[-90.627441,73.951709],[-90.458008,73.908398],[-90.35459,73.868652],[-90.381396,73.824756],[-90.466162,73.753857],[-90.565576,73.686426],[-90.764551,73.580615],[-90.933691,73.527686],[-90.975488,73.502295],[-91.001953,73.46709],[-91.067627,73.415527],[-91.249316,73.304004],[-91.297803,73.284912],[-91.553711,73.236084],[-91.466016,73.214209],[-91.425928,73.194873],[-91.459619,73.145361],[-91.620996,73.025879],[-91.78833,72.915381],[-91.905322,72.849316],[-92.11792,72.753809],[-92.234912,72.726807],[-92.391943,72.718457],[-93.340625,72.801855],[-93.578662,72.800537],[-94.211328,72.756934],[-94.151709,72.735645],[-93.92002,72.703369],[-93.770557,72.668213],[-93.572266,72.558643],[-93.546484,72.531299],[-93.533936,72.499463],[-93.541602,72.437012],[-93.555176,72.421143],[-93.870605,72.252637],[-93.972559,72.12998],[-94.037549,72.02876],[-94.14375,72.00083],[-94.497168,72.043604],[-94.61123,72.042334],[-95.007861,72.012793],[-95.192969,72.027441],[-95.166797,72.180029],[-95.192676,72.344775],[-95.251025,72.501953],[-95.547607,72.781543],[-95.580322,72.831152],[-95.602148,72.884473],[-95.613184,72.941602],[-95.612207,72.999072],[-95.591602,73.115283],[-95.589258,73.17417],[-95.604102,73.327734],[-95.644238,73.557471],[-95.647998,73.638525],[-95.645264,73.670801],[-95.63291,73.695459],[-95.569434,73.728174],[-95.447412,73.75166],[-95.385986,73.755127],[-94.996143,73.685742],[-94.816846,73.662549],[-94.697607,73.663574],[-94.691016,73.671436],[-94.797168,73.686084],[-94.896924,73.716016],[-95.059473,73.805078],[-95.134131,73.88125],[-95.149023,73.906396],[-95.152588,73.932764],[-95.144775,73.960303],[-95.121191,73.985059],[-95.039844,74.023877],[-94.973535,74.041406],[-94.728955,74.085986],[-94.482568,74.113135],[-93.938818,74.131592],[-93.784619,74.118359],[-93.549219,74.167139],[-93.410303,74.17876],[-93.17085,74.160986]]],[[[-97.439453,69.642676],[-97.408643,69.630762],[-97.350684,69.640869],[-97.305762,69.673486],[-97.278467,69.679639],[-97.236084,69.673486],[-97.096338,69.61499],[-96.989062,69.553613],[-96.875195,69.51001],[-96.694531,69.471094],[-96.299951,69.344385],[-96.18374,69.258691],[-96.060986,69.125439],[-95.951367,69.02373],[-95.854883,68.953564],[-95.751367,68.897656],[-95.585498,68.835107],[-95.437549,68.880615],[-95.37417,68.892139],[-95.319531,68.873193],[-95.267773,68.826074],[-95.295166,68.805029],[-95.359473,68.778369],[-95.465576,68.747266],[-95.614209,68.74502],[-95.685645,68.73584],[-95.802148,68.686475],[-95.894629,68.627246],[-96.024023,68.607275],[-96.267627,68.50791],[-96.401562,68.470703],[-96.598828,68.46084],[-97.008398,68.538672],[-97.263672,68.527734],[-97.472021,68.543701],[-97.704785,68.625928],[-97.885352,68.672461],[-98.235059,68.739355],[-98.257959,68.749268],[-98.273047,68.771875],[-98.280176,68.807178],[-98.296045,68.830762],[-98.320557,68.842725],[-98.375586,68.841699],[-98.431836,68.818359],[-98.539648,68.798242],[-98.703809,68.802783],[-98.775244,68.816748],[-98.829639,68.838623],[-98.859131,68.864355],[-98.863721,68.893799],[-98.878857,68.916455],[-98.904492,68.932422],[-98.964014,68.932861],[-99.057373,68.917676],[-99.093848,68.898877],[-99.073389,68.876563],[-99.090625,68.86333],[-99.254004,68.863184],[-99.317969,68.87627],[-99.440869,68.917676],[-99.494678,68.95957],[-99.564062,69.034131],[-99.557373,69.054297],[-99.513281,69.099609],[-99.455713,69.131201],[-99.085449,69.149756],[-98.912207,69.167578],[-98.723633,69.219141],[-98.503516,69.308301],[-98.455957,69.334668],[-98.450391,69.354053],[-98.466602,69.375],[-98.535352,69.426318],[-98.558545,69.461426],[-98.536719,69.478027],[-98.448389,69.479541],[-98.494873,69.499365],[-98.534375,69.527441],[-98.548242,69.544971],[-98.545996,69.5729],[-98.47583,69.579053],[-98.389355,69.565039],[-98.222314,69.484521],[-98.155762,69.468848],[-98.041357,69.456641],[-98.162988,69.512207],[-98.288818,69.629004],[-98.304492,69.669287],[-98.301221,69.691699],[-98.268213,69.754443],[-98.238672,69.780029],[-98.200488,69.796973],[-98.080762,69.833057],[-97.888965,69.858252],[-97.790723,69.861621],[-97.691211,69.84126],[-97.604346,69.802197],[-97.411377,69.738477],[-97.382568,69.712402],[-97.385693,69.700244],[-97.460156,69.682715],[-97.469434,69.666797],[-97.439453,69.642676]]],[[[-61.105176,45.944727],[-61.071338,45.937109],[-60.936572,45.985547],[-60.865234,45.983496],[-60.868408,45.948633],[-60.984277,45.910693],[-61.037549,45.882227],[-60.970605,45.855811],[-60.971533,45.837988],[-61.051953,45.79502],[-61.09209,45.748389],[-61.059033,45.703369],[-60.930371,45.747705],[-60.877588,45.748096],[-60.806104,45.738086],[-60.737891,45.751416],[-60.699072,45.77334],[-60.472363,45.946533],[-60.460596,45.968701],[-60.704883,45.93291],[-60.733301,45.956592],[-60.573193,46.061426],[-60.585742,46.11665],[-60.504932,46.203857],[-60.430859,46.255615],[-60.376514,46.28457],[-60.297949,46.31123],[-60.243848,46.270117],[-60.226465,46.195557],[-60.09248,46.206006],[-59.961426,46.190967],[-59.865039,46.159521],[-59.85,46.141406],[-59.848779,46.112939],[-59.880908,46.061621],[-59.934033,46.019434],[-59.828027,45.965137],[-59.842187,45.941553],[-60.01582,45.880469],[-60.114453,45.818896],[-60.205078,45.743018],[-60.386084,45.654639],[-60.672949,45.59082],[-60.763721,45.59082],[-60.871582,45.610693],[-60.978613,45.606152],[-61.083691,45.582373],[-61.186426,45.58501],[-61.236328,45.57251],[-61.283691,45.573877],[-61.323437,45.598486],[-61.40835,45.669092],[-61.449805,45.716211],[-61.495312,45.941455],[-61.480615,46.059766],[-61.408643,46.170361],[-61.302197,46.243848],[-61.240527,46.302539],[-60.98252,46.650488],[-60.931982,46.729443],[-60.870166,46.796777],[-60.759668,46.863379],[-60.61665,46.975781],[-60.571045,46.998828],[-60.489062,47.009717],[-60.408203,47.003516],[-60.431348,46.962939],[-60.425439,46.923193],[-60.331738,46.767822],[-60.33291,46.737012],[-60.384082,46.61333],[-60.482422,46.413525],[-60.507715,46.303369],[-60.494531,46.270264],[-60.534424,46.214551],[-60.576855,46.172168],[-60.744824,46.092676],[-60.830566,46.074121],[-60.912207,46.04458],[-61.105176,45.944727]]],[[[-67.124854,45.169434],[-67.170996,45.181982],[-67.213232,45.192529],[-67.249609,45.200781],[-67.270703,45.186719],[-67.290674,45.16792],[-67.315283,45.153809],[-67.366943,45.173779],[-67.399805,45.210156],[-67.452588,45.247656],[-67.472559,45.275879],[-67.461963,45.308691],[-67.438525,45.340381],[-67.42793,45.37793],[-67.45376,45.42124],[-67.477246,45.445898],[-67.493652,45.474072],[-67.487793,45.501025],[-67.454932,45.513965],[-67.424414,45.53042],[-67.413867,45.565576],[-67.432666,45.603125],[-67.486621,45.618408],[-67.531201,45.612549],[-67.595752,45.620752],[-67.65791,45.644189],[-67.698975,45.671191],[-67.730664,45.686475],[-67.755322,45.686475],[-67.784668,45.701709],[-67.802246,45.727539],[-67.799902,45.769775],[-67.791699,45.795557],[-67.775293,45.817871],[-67.774121,45.842529],[-67.781152,45.860156],[-67.782275,45.87417],[-67.777637,45.891797],[-67.767041,45.927002],[-67.784668,45.952783],[-67.786475,46.042139],[-67.789941,46.209326],[-67.792529,46.337402],[-67.795801,46.498389],[-67.797705,46.615625],[-67.800342,46.779883],[-67.802832,46.935742],[-67.806787,47.082812],[-67.934863,47.167627],[-68.096777,47.274854],[-68.235498,47.345947],[-68.310889,47.354492],[-68.358008,47.344531],[-68.376904,47.316162],[-68.480371,47.285791],[-68.668555,47.253467],[-68.828711,47.20332],[-68.887402,47.202832],[-68.937207,47.21123],[-69.003125,47.236426],[-69.048584,47.273633],[-69.064258,47.338135],[-69.050195,47.426611],[-69.146289,47.444775],[-69.242871,47.462988],[-69.302148,47.402002],[-69.358887,47.350635],[-69.471484,47.238672],[-69.629785,47.081348],[-69.717529,46.994873],[-69.871729,46.84292],[-70.007715,46.708936],[-70.038232,46.571436],[-70.067187,46.441064],[-70.179688,46.341846],[-70.248291,46.250879],[-70.278906,46.15],[-70.304492,46.057373],[-70.306445,45.979834],[-70.287158,45.93916],[-70.29624,45.906104],[-70.333447,45.868066],[-70.407861,45.801904],[-70.421094,45.738232],[-70.466602,45.706836],[-70.596387,45.643994],[-70.702246,45.551367],[-70.707422,45.498926],[-70.692139,45.455371],[-70.689795,45.42832],[-70.710938,45.409473],[-70.75332,45.410693],[-70.79917,45.404785],[-70.837793,45.366162],[-70.836816,45.310693],[-70.865039,45.270703],[-70.897998,45.262451],[-70.926221,45.290723],[-70.960156,45.333105],[-70.999902,45.337256],[-71.060254,45.309131],[-71.134668,45.262842],[-71.201611,45.260352],[-71.327295,45.290088],[-71.419043,45.200342],[-71.517529,45.007568],[-71.933643,45.00708],[-72.349756,45.006592],[-72.765918,45.006104],[-73.182031,45.005615],[-73.598145,45.005176],[-74.014258,45.004687],[-74.430371,45.004199],[-74.663232,45.003906],[-74.708887,45.003857],[-74.566309,45.041602],[-74.269043,45.188281],[-74.049805,45.241406],[-73.764648,45.395459],[-73.558105,45.425098],[-73.518799,45.458984],[-73.48418,45.586768],[-73.465283,45.632324],[-73.368848,45.757812],[-73.253027,45.863672],[-73.15957,46.010059],[-72.989941,46.103613],[-72.733447,46.181836],[-72.496191,46.352686],[-72.366162,46.404785],[-72.240137,46.44209],[-72.187207,46.511523],[-72.109277,46.551221],[-71.900928,46.631934],[-71.671289,46.65376],[-71.439209,46.720752],[-71.261182,46.75625],[-71.152002,46.819092],[-70.993262,46.852197],[-70.519482,47.03252],[-70.388086,47.116943],[-70.217773,47.289844],[-70.06958,47.377783],[-70.017139,47.471436],[-69.802246,47.623437],[-69.581055,47.823682],[-69.471045,47.967285],[-69.306348,48.047021],[-68.987061,48.275],[-68.815674,48.366016],[-68.746045,48.376416],[-68.552002,48.457324],[-68.431494,48.541699],[-68.238184,48.626416],[-67.889014,48.730908],[-67.560889,48.855957],[-67.11748,48.96416],[-66.598096,49.126367],[-66.178174,49.213135],[-65.882812,49.225684],[-65.523389,49.266162],[-65.396143,49.262061],[-64.836328,49.191748],[-64.567725,49.104785],[-64.261816,48.921875],[-64.216211,48.873633],[-64.208789,48.806201],[-64.370752,48.838965],[-64.513721,48.841113],[-64.414551,48.803613],[-64.246094,48.691113],[-64.25376,48.550391],[-64.348828,48.423193],[-64.633154,48.360498],[-64.705762,48.310596],[-64.764502,48.228076],[-64.82207,48.196484],[-64.959912,48.159863],[-65.036084,48.10625],[-65.259424,48.02124],[-65.36001,48.011133],[-65.475879,48.031494],[-65.754687,48.11167],[-65.926709,48.188867],[-66.012549,48.14668],[-66.083105,48.102686],[-66.248633,48.117334],[-66.324268,48.0979],[-66.448975,48.119629],[-66.704395,48.022461],[-66.631543,48.011084],[-66.428809,48.066943],[-66.359619,48.060645],[-66.210205,47.988574],[-65.849414,47.911035],[-65.755713,47.859766],[-65.666455,47.696143],[-65.607227,47.67002],[-65.483496,47.687012],[-65.343945,47.76792],[-65.228174,47.811279],[-65.00166,47.846826],[-65.046387,47.793018],[-64.873975,47.797217],[-64.703223,47.724854],[-64.766309,47.673486],[-64.852148,47.569873],[-64.912207,47.368652],[-65.086133,47.233789],[-65.318896,47.101221],[-65.260205,47.069238],[-65.19209,47.049561],[-65.042383,47.088818],[-64.942432,47.086182],[-64.831396,47.060791],[-64.865869,46.957812],[-64.905762,46.887939],[-64.88252,46.822852],[-64.816699,46.698682],[-64.725879,46.671436],[-64.689502,46.512305],[-64.641357,46.425586],[-64.647852,46.355957],[-64.556836,46.311426],[-64.541504,46.240332],[-64.211816,46.220215],[-64.14502,46.192871],[-63.915918,46.16582],[-63.872656,46.146191],[-63.831934,46.107178],[-64.056396,46.021338],[-63.874707,45.959229],[-63.702881,45.858008],[-63.567676,45.87793],[-63.509229,45.874707],[-63.358008,45.811279],[-63.315918,45.779883],[-63.292773,45.751953],[-63.216895,45.757959],[-63.10791,45.782422],[-62.910791,45.776367],[-62.700684,45.740576],[-62.718359,45.685986],[-62.750098,45.648242],[-62.585645,45.660693],[-62.483057,45.621826],[-62.447266,45.640527],[-62.421875,45.664648],[-62.217725,45.730859],[-61.955518,45.868164],[-61.923584,45.851172],[-61.911621,45.799121],[-61.877246,45.714209],[-61.776514,45.655615],[-61.656885,45.642187],[-61.492285,45.687012],[-61.427637,45.648291],[-61.350488,45.573682],[-61.277051,45.476025],[-61.281982,45.441064],[-61.376123,45.410596],[-61.460986,45.366699],[-61.106738,45.348633],[-61.070801,45.330176],[-61.031543,45.291748],[-61.067676,45.252832],[-61.101074,45.233447],[-61.165332,45.256104],[-61.283789,45.235498],[-61.387256,45.185059],[-61.4979,45.157031],[-61.56875,45.153809],[-61.647412,45.130518],[-61.719238,45.094482],[-61.793896,45.084424],[-62.026807,44.994482],[-62.26499,44.936475],[-62.514014,44.843652],[-62.768066,44.785107],[-63.031836,44.714795],[-63.089209,44.708545],[-63.155713,44.711328],[-63.306299,44.642578],[-63.380811,44.651904],[-63.456836,44.639941],[-63.544336,44.655078],[-63.604004,44.683203],[-63.558252,44.610596],[-63.544824,44.54375],[-63.567676,44.514453],[-63.609766,44.47998],[-63.761133,44.486426],[-63.820654,44.510645],[-63.891309,44.546338],[-63.923682,44.603857],[-63.999707,44.644922],[-64.044922,44.587891],[-64.044629,44.54541],[-64.100879,44.487451],[-64.166992,44.58667],[-64.286084,44.550342],[-64.338525,44.444873],[-64.312256,44.414746],[-64.275684,44.334082],[-64.33457,44.291992],[-64.378223,44.303564],[-64.468799,44.185156],[-64.578467,44.142041],[-64.691602,44.021338],[-64.825635,43.929346],[-64.862354,43.867871],[-65.086816,43.727197],[-65.17207,43.731396],[-65.234912,43.726758],[-65.32959,43.668115],[-65.344287,43.549609],[-65.386084,43.565283],[-65.428516,43.561426],[-65.450439,43.524219],[-65.481689,43.518066],[-65.564453,43.553271],[-65.661914,43.534033],[-65.738135,43.560742],[-65.835303,43.734375],[-65.886914,43.795215],[-65.978418,43.814844],[-66.002148,43.778125],[-66.037646,43.742188],[-66.125732,43.813818],[-66.192529,44.079687],[-66.193066,44.143848],[-66.099561,44.36748],[-65.868018,44.568799],[-65.941943,44.575537],[-66.146387,44.435937],[-66.125293,44.469727],[-66.090625,44.504932],[-66.02168,44.561719],[-65.917041,44.615088],[-65.777686,44.646191],[-65.681836,44.650928],[-65.615771,44.68042],[-65.52002,44.732666],[-65.502246,44.7604],[-65.587158,44.728516],[-65.728223,44.697119],[-65.692041,44.738281],[-65.656738,44.760303],[-64.90293,45.120801],[-64.75127,45.180225],[-64.448828,45.256055],[-64.406885,45.305713],[-64.448145,45.337451],[-64.330762,45.309326],[-64.34043,45.268213],[-64.358838,45.238232],[-64.365723,45.187256],[-64.354248,45.138232],[-64.23501,45.114307],[-64.135498,45.023047],[-64.182715,45.147021],[-64.093164,45.21709],[-63.74834,45.310889],[-63.460254,45.321094],[-63.368018,45.364795],[-63.614453,45.394141],[-63.906445,45.378174],[-64.087158,45.410889],[-64.336426,45.389551],[-64.600195,45.410059],[-64.681104,45.382959],[-64.74668,45.324365],[-64.831934,45.350244],[-64.873145,45.35459],[-64.912891,45.374805],[-64.827393,45.475537],[-64.560059,45.625488],[-64.39707,45.755859],[-64.351123,45.783203],[-64.314648,45.835693],[-64.404053,45.826904],[-64.482227,45.806348],[-64.536328,45.866602],[-64.632715,45.946631],[-64.642041,45.91333],[-64.593652,45.813672],[-64.778516,45.638428],[-64.8979,45.625977],[-65.057275,45.544238],[-65.282324,45.473096],[-65.54502,45.337305],[-65.884473,45.2229],[-65.955615,45.222461],[-66.109766,45.316602],[-66.06665,45.359473],[-66.026562,45.417578],[-66.064893,45.40083],[-66.089746,45.375635],[-66.182715,45.335205],[-66.107324,45.256934],[-66.14375,45.227588],[-66.251562,45.189014],[-66.351953,45.133203],[-66.439844,45.095898],[-66.510937,45.143359],[-66.707178,45.083398],[-66.872461,45.067285],[-66.908203,45.097656],[-66.918701,45.145605],[-66.976562,45.157178],[-67.084082,45.143945],[-67.124854,45.169434]]],[[[-55.45874,51.536523],[-55.532422,51.436963],[-55.583398,51.388574],[-55.630762,51.3729],[-55.730713,51.358691],[-55.941162,51.343018],[-56.031104,51.328369],[-56.043945,51.261865],[-56.030664,51.226904],[-55.999902,51.199268],[-55.96084,51.191406],[-55.873535,51.20791],[-55.841113,51.205078],[-55.815088,51.191162],[-55.795508,51.166162],[-55.785352,51.131445],[-55.784717,51.087061],[-55.8,51.033301],[-55.871387,50.907373],[-55.962012,50.837695],[-56.078125,50.780957],[-56.106543,50.759277],[-56.121191,50.733789],[-56.135645,50.650977],[-56.195752,50.584766],[-56.382422,50.416992],[-56.454346,50.380029],[-56.454785,50.350488],[-56.483936,50.27085],[-56.539355,50.206738],[-56.693994,50.059668],[-56.732324,50.007715],[-56.749561,49.966553],[-56.747168,49.908496],[-56.754102,49.88291],[-56.789502,49.83374],[-56.838867,49.787744],[-56.848633,49.765332],[-56.829199,49.724609],[-56.809229,49.7104],[-56.806885,49.67334],[-56.822168,49.613477],[-56.756787,49.651611],[-56.610645,49.787695],[-56.500928,49.869629],[-56.427588,49.897412],[-56.376416,49.933691],[-56.321826,50.01377],[-56.24707,50.090088],[-56.179395,50.11499],[-56.148389,50.100342],[-56.122168,50.062842],[-56.127441,50.015137],[-56.16416,49.957275],[-56.161279,49.940137],[-56.075,49.982617],[-55.927002,50.017773],[-55.87334,50.013135],[-55.764746,49.960449],[-55.674463,49.966553],[-55.530029,49.997168],[-55.50293,49.983154],[-55.527002,49.936768],[-55.583691,49.892383],[-55.717627,49.829004],[-56.03999,49.704687],[-56.140186,49.619141],[-56.121191,49.621729],[-56.051611,49.658398],[-55.978516,49.678125],[-55.901855,49.680859],[-55.869824,49.670166],[-55.882324,49.645947],[-55.892041,49.580273],[-56.087305,49.451953],[-56.041211,49.456836],[-55.815234,49.515283],[-55.678125,49.434619],[-55.489746,49.4625],[-55.375928,49.489746],[-55.37915,49.4729],[-55.354492,49.437695],[-55.355371,49.380859],[-55.343848,49.3729],[-55.289941,49.391943],[-55.280176,49.412744],[-55.283008,49.513818],[-55.266357,49.523926],[-55.229541,49.508154],[-55.207031,49.482031],[-55.200293,49.408496],[-55.225,49.334668],[-55.259326,49.266992],[-55.34248,49.168115],[-55.331934,49.125586],[-55.353174,49.079443],[-55.334766,49.077881],[-55.252344,49.120898],[-55.247363,49.138574],[-55.253809,49.179639],[-55.244531,49.199805],[-55.176123,49.244434],[-55.063184,49.297363],[-55.026172,49.305371],[-55.0104,49.293018],[-55.015918,49.260352],[-54.982617,49.268115],[-54.910547,49.31626],[-54.843652,49.34541],[-54.781885,49.355469],[-54.717627,49.388574],[-54.650879,49.444531],[-54.579053,49.49082],[-54.502197,49.527344],[-54.469189,49.529785],[-54.480615,49.469336],[-54.46543,49.400537],[-54.463477,49.341748],[-54.448242,49.329443],[-54.389062,49.392139],[-54.356152,49.415039],[-54.316748,49.424121],[-54.270801,49.419287],[-53.957715,49.441846],[-53.862451,49.426318],[-53.75498,49.385303],[-53.619434,49.321631],[-53.56958,49.26416],[-53.560059,49.191699],[-53.573437,49.141211],[-53.671143,49.077539],[-53.758057,49.0354],[-53.809326,48.993408],[-53.824902,48.951367],[-53.845215,48.925439],[-53.903223,48.88916],[-54.161279,48.787695],[-54.099512,48.784766],[-53.950684,48.806787],[-53.852881,48.811328],[-53.847754,48.79668],[-53.886816,48.767822],[-53.961523,48.738867],[-53.96958,48.724902],[-53.966016,48.706689],[-53.886133,48.684668],[-53.784082,48.69541],[-53.698047,48.679834],[-53.706348,48.655518],[-53.774609,48.576318],[-53.794629,48.526367],[-53.885547,48.48457],[-54.067773,48.418848],[-54.114453,48.393604],[-54.104248,48.388379],[-53.937012,48.436621],[-53.852734,48.448828],[-53.799316,48.449219],[-53.738867,48.495801],[-53.644434,48.51123],[-53.552051,48.481787],[-53.411328,48.562158],[-53.361084,48.572607],[-53.275439,48.56333],[-53.220264,48.577881],[-53.127344,48.632568],[-53.057275,48.659033],[-53.042676,48.656641],[-53.027588,48.634717],[-53.020752,48.571631],[-53.037305,48.515869],[-53.060205,48.480322],[-53.135742,48.401855],[-53.182129,48.374365],[-53.225098,48.364014],[-53.301172,48.368164],[-53.334326,48.355957],[-53.405518,48.294336],[-53.531201,48.231885],[-53.609766,48.207715],[-53.560205,48.173828],[-53.541846,48.108447],[-53.569434,48.088086],[-53.704297,48.06792],[-53.710156,48.056836],[-53.758203,48.042383],[-53.86958,48.019678],[-53.793555,48.009717],[-53.653027,48.025732],[-53.638232,48.014648],[-53.657617,47.968652],[-53.69502,47.921191],[-53.86167,47.799268],[-53.863672,47.787012],[-53.837744,47.727246],[-53.805371,47.682031],[-53.765137,47.650098],[-53.672363,47.648242],[-53.60376,47.662305],[-53.50376,47.743848],[-53.282715,47.997852],[-53.085449,48.068506],[-52.920996,48.14707],[-52.883301,48.131152],[-52.866016,48.112988],[-52.872021,48.093945],[-52.95498,48.029297],[-52.998242,47.975928],[-53.11084,47.811914],[-53.153857,47.73457],[-53.175537,47.652979],[-53.169824,47.512109],[-53.157666,47.487793],[-53.122461,47.455127],[-53.056836,47.483105],[-52.94502,47.552832],[-52.873193,47.619434],[-52.816943,47.727881],[-52.782422,47.769434],[-52.744922,47.768945],[-52.711426,47.745312],[-52.703271,47.693018],[-52.672168,47.621777],[-52.653662,47.549414],[-52.668506,47.469824],[-52.683643,47.426318],[-52.912402,47.103223],[-52.888135,47.04585],[-52.88208,47.011084],[-52.889209,46.974121],[-52.961719,46.819434],[-53.031934,46.722754],[-53.069775,46.68125],[-53.114844,46.655811],[-53.166992,46.646484],[-53.213672,46.660498],[-53.254883,46.697705],[-53.291309,46.717041],[-53.323047,46.718359],[-53.381738,46.711426],[-53.536133,46.63252],[-53.567773,46.628271],[-53.589795,46.638867],[-53.616357,46.680273],[-53.595166,46.888477],[-53.581348,46.957275],[-53.612158,47.010352],[-53.579639,47.099414],[-53.578467,47.133252],[-53.597363,47.145996],[-53.636377,47.137695],[-53.695361,47.09292],[-53.774316,47.011816],[-53.86001,46.939453],[-54.00957,46.8396],[-54.076025,46.819971],[-54.102393,46.824902],[-54.132812,46.838574],[-54.17373,46.880371],[-54.173291,46.917187],[-54.155225,46.96748],[-54.092676,47.08623],[-53.970508,47.261963],[-53.869092,47.387012],[-53.849512,47.440332],[-53.877881,47.463574],[-53.90083,47.509326],[-53.939746,47.644678],[-53.989014,47.756201],[-54.047266,47.805615],[-54.191846,47.859814],[-54.218408,47.846729],[-54.233887,47.77168],[-54.404687,47.555908],[-54.434473,47.462305],[-54.455908,47.427588],[-54.488135,47.403857],[-54.562549,47.375195],[-54.542383,47.425098],[-54.463232,47.53623],[-54.473926,47.54707],[-54.574512,47.457764],[-54.651172,47.408203],[-54.744678,47.395459],[-54.801514,47.398633],[-54.856641,47.38501],[-55.09043,47.173926],[-55.099219,47.103564],[-55.139648,47.045947],[-55.254932,46.941748],[-55.315723,46.905713],[-55.40127,46.899268],[-55.479297,46.917285],[-55.530713,46.914014],[-55.652344,46.881445],[-55.788525,46.867236],[-55.844727,46.873828],[-55.880615,46.887207],[-55.949902,46.927686],[-55.958203,46.956396],[-55.954492,46.973242],[-55.919238,47.016895],[-55.838379,47.071631],[-55.771826,47.09209],[-55.610059,47.119629],[-55.491504,47.160645],[-55.401221,47.221484],[-55.360889,47.258594],[-55.19082,47.448975],[-54.975635,47.516162],[-54.869531,47.570898],[-54.795361,47.640332],[-54.784619,47.664746],[-54.891016,47.629492],[-54.945947,47.62085],[-55.03501,47.633887],[-55.074561,47.657568],[-55.196582,47.650049],[-55.366309,47.661084],[-55.390771,47.642871],[-55.412695,47.550391],[-55.434668,47.50127],[-55.460645,47.484766],[-55.498633,47.475049],[-55.576123,47.465234],[-55.774707,47.498291],[-55.811377,47.516357],[-55.862061,47.530078],[-56.081348,47.499951],[-56.127246,47.502832],[-56.083691,47.524512],[-55.86709,47.592334],[-55.844385,47.787842],[-55.85791,47.819189],[-55.918457,47.791895],[-56.020117,47.763721],[-56.089648,47.771875],[-56.121436,47.78916],[-56.150586,47.774512],[-56.221289,47.671387],[-56.262988,47.658447],[-56.325781,47.654492],[-56.45957,47.616943],[-56.722314,47.592285],[-56.774121,47.56499],[-56.95249,47.574463],[-57.473437,47.631104],[-57.659814,47.625391],[-57.884082,47.66001],[-57.925537,47.674902],[-58.239307,47.668848],[-58.333203,47.676855],[-58.326953,47.719873],[-58.336865,47.730859],[-58.428027,47.683398],[-58.508887,47.652588],[-58.613135,47.626221],[-58.941162,47.580469],[-59.116943,47.570703],[-59.219287,47.602539],[-59.259766,47.63418],[-59.320654,47.736914],[-59.362402,47.865674],[-59.362061,47.888965],[-59.340869,47.933643],[-59.27207,47.995557],[-58.96084,48.159375],[-58.710596,48.325049],[-58.60498,48.411328],[-58.502637,48.442041],[-58.335547,48.513672],[-58.330225,48.522119],[-58.492236,48.513037],[-58.606152,48.532861],[-58.722559,48.540723],[-58.943799,48.521777],[-59.166797,48.521777],[-59.167676,48.558496],[-59.063428,48.627686],[-58.841797,48.746436],[-58.819189,48.746826],[-58.887109,48.691553],[-58.906445,48.650195],[-58.877246,48.622705],[-58.843408,48.605322],[-58.716455,48.598047],[-58.687354,48.62207],[-58.641602,48.749414],[-58.545605,48.896875],[-58.49375,49.003223],[-58.403662,49.084326],[-58.358691,49.096533],[-58.31875,49.081348],[-58.186133,49.061914],[-58.049658,48.987549],[-58.005566,48.98125],[-57.990527,48.987939],[-58.040576,49.009766],[-58.081836,49.044727],[-58.098926,49.077441],[-58.049072,49.17998],[-57.990674,49.209473],[-57.980078,49.229639],[-58.096875,49.230078],[-58.190918,49.25874],[-58.218896,49.305127],[-58.213379,49.38667],[-58.182715,49.4354],[-58.107422,49.499707],[-58.01582,49.54248],[-57.96123,49.531543],[-57.856055,49.473828],[-57.791309,49.48999],[-57.798828,49.508545],[-57.897461,49.600391],[-57.929053,49.668408],[-57.926172,49.70083],[-57.7125,50.024902],[-57.607959,50.198779],[-57.465527,50.463672],[-57.432617,50.505811],[-57.360449,50.583936],[-57.330566,50.605176],[-57.237402,50.605371],[-57.17959,50.614844],[-57.26416,50.649365],[-57.294434,50.673389],[-57.297998,50.69873],[-57.274902,50.725293],[-57.242139,50.744922],[-57.131641,50.787402],[-57.053271,50.857324],[-57.005664,50.939648],[-57.012744,50.967725],[-57.037305,50.995654],[-57.035937,51.01084],[-56.976367,51.027979],[-56.825146,51.125732],[-56.805469,51.144482],[-56.750195,51.274902],[-56.682422,51.332764],[-56.619043,51.362451],[-56.517969,51.399316],[-56.207373,51.488623],[-56.025586,51.568359],[-55.9021,51.563916],[-55.86582,51.508301],[-55.69043,51.471338],[-55.65957,51.511035],[-55.700635,51.559424],[-55.666406,51.578906],[-55.521631,51.596387],[-55.496436,51.589844],[-55.453223,51.562305],[-55.45874,51.536523]]],[[[-86.589355,71.010791],[-86.549658,70.98877],[-86.321289,71.016797],[-86.127148,71.048975],[-85.824561,71.125732],[-85.643848,71.152441],[-85.094873,71.151953],[-85.001562,71.137451],[-85.042773,71.091602],[-85.065771,71.078613],[-85.047656,71.058691],[-84.988477,71.031738],[-84.870312,71.001807],[-84.82373,71.028613],[-84.7896,71.093262],[-84.708594,71.358691],[-84.674316,71.43877],[-84.658105,71.5146],[-84.659961,71.586133],[-84.699414,71.631445],[-84.840137,71.658643],[-85.032227,71.654053],[-85.130908,71.66123],[-85.250488,71.675293],[-85.339062,71.697266],[-85.39668,71.727051],[-85.511523,71.816553],[-85.596191,71.866406],[-85.81333,71.956445],[-85.911621,71.986523],[-85.862109,72.021973],[-85.664795,72.062793],[-85.545801,72.101562],[-85.405908,72.214844],[-85.321875,72.233154],[-85.01875,72.218164],[-84.608496,72.129492],[-84.35166,72.052637],[-84.28374,72.044482],[-84.282324,72.058447],[-84.347461,72.094434],[-84.642969,72.189551],[-84.777539,72.258789],[-84.841992,72.308154],[-84.811035,72.329541],[-84.644678,72.351416],[-84.623047,72.376563],[-84.849414,72.40625],[-84.96416,72.405615],[-85.056836,72.384375],[-85.156396,72.38291],[-85.341113,72.421533],[-85.391309,72.443994],[-85.497754,72.510596],[-85.553711,72.568604],[-85.615576,72.604639],[-85.637891,72.633203],[-85.649902,72.722168],[-85.644531,72.774463],[-85.619434,72.819189],[-85.574609,72.856396],[-85.454785,72.925146],[-85.387598,72.94502],[-85.262109,72.954004],[-84.989551,72.919873],[-84.256641,72.796729],[-84.274268,72.836426],[-85.094043,73.002637],[-85.383887,73.04541],[-85.454736,73.105469],[-85.018408,73.335498],[-84.616064,73.389551],[-84.416064,73.456494],[-84.088965,73.459375],[-83.781885,73.416895],[-83.776514,73.428467],[-83.91499,73.508398],[-83.904053,73.52832],[-83.729834,73.575879],[-83.410352,73.631689],[-83.020459,73.676025],[-82.943213,73.699121],[-82.843311,73.71543],[-82.659619,73.72959],[-82.202783,73.736475],[-81.946143,73.729834],[-81.605371,73.695996],[-81.406152,73.634521],[-81.344092,73.597754],[-81.23833,73.479541],[-81.151758,73.314014],[-81.025146,73.245215],[-80.821729,73.207178],[-80.681152,73.16582],[-80.603467,73.121191],[-80.582764,73.064941],[-80.619141,72.997168],[-80.591895,72.927686],[-80.500928,72.856592],[-80.430811,72.81626],[-80.277246,72.770166],[-80.274707,72.745557],[-80.322656,72.71748],[-80.424316,72.678906],[-80.675098,72.558643],[-80.99873,72.426221],[-81.229346,72.311719],[-81.240576,72.27793],[-80.760791,72.457178],[-80.611475,72.45083],[-80.604687,72.425781],[-80.702441,72.338281],[-80.821484,72.260254],[-80.941211,72.210156],[-80.919336,72.19126],[-80.691406,72.103467],[-80.733252,72.089014],[-80.843262,72.096191],[-80.888379,72.088281],[-80.921094,72.072314],[-80.941406,72.048242],[-80.942676,72.014355],[-80.925049,71.970703],[-80.926807,71.938086],[-80.9479,71.916553],[-80.925146,71.907666],[-80.858447,71.911426],[-80.802246,71.929199],[-80.70542,71.988135],[-80.386133,72.148779],[-80.181934,72.208789],[-80.116113,72.214062],[-79.92832,72.174951],[-79.884375,72.177197],[-80.090918,72.300879],[-80.108936,72.332178],[-80.066992,72.37832],[-80.041797,72.394238],[-79.926709,72.428174],[-79.831299,72.446289],[-79.777881,72.438721],[-79.693311,72.375928],[-79.653857,72.332178],[-79.583691,72.314648],[-79.427441,72.337305],[-79.32334,72.39082],[-79.194385,72.355713],[-79.000244,72.272021],[-79.017969,72.188232],[-79.017773,72.104346],[-79.007812,72.04292],[-78.775928,71.930371],[-78.614453,71.881006],[-78.585107,71.880615],[-78.588867,71.89751],[-78.622559,71.934961],[-78.711133,71.972412],[-78.79082,72.030273],[-78.862744,72.10083],[-78.820117,72.26543],[-78.699268,72.351416],[-78.582471,72.329346],[-78.428809,72.279785],[-78.307471,72.275146],[-78.116357,72.280322],[-77.726025,72.17998],[-77.516504,72.177783],[-77.535742,72.21875],[-77.694482,72.238428],[-77.926172,72.293848],[-78.287207,72.359814],[-78.453076,72.435205],[-78.484277,72.470605],[-78.479492,72.50874],[-78.458838,72.542334],[-78.422412,72.571533],[-78.350244,72.600195],[-78.001025,72.687598],[-77.753223,72.724756],[-77.566797,72.736865],[-77.255371,72.735889],[-76.893506,72.720654],[-76.697949,72.695068],[-76.473242,72.63335],[-76.18877,72.572217],[-76.087305,72.561328],[-75.96875,72.562744],[-75.833203,72.576514],[-75.704297,72.571533],[-75.294238,72.480859],[-75.185791,72.434229],[-75.120068,72.377734],[-75.071484,72.322852],[-75.039844,72.26958],[-75.052686,72.226367],[-75.394141,72.039795],[-75.542773,72.007959],[-75.640967,71.937158],[-75.787402,71.803076],[-75.911279,71.731299],[-75.922803,71.717236],[-75.896826,71.713721],[-75.82207,71.745898],[-75.693359,71.838574],[-75.599902,71.918457],[-75.428369,71.984375],[-75.147656,72.062988],[-74.903174,72.100488],[-74.694922,72.096924],[-74.519678,72.085645],[-74.377441,72.066553],[-74.292969,72.050586],[-74.266357,72.037695],[-74.209326,71.978662],[-74.212598,71.938672],[-74.248242,71.893652],[-74.315723,71.842676],[-74.621484,71.786279],[-74.789062,71.741992],[-74.892969,71.725537],[-75.204785,71.709131],[-75.191064,71.691602],[-74.959473,71.66748],[-74.700781,71.675586],[-74.707373,71.646924],[-74.828955,71.570898],[-74.868311,71.504736],[-74.834473,71.450586],[-74.840723,71.406592],[-74.931299,71.314063],[-75.035352,71.230518],[-74.996191,71.218115],[-74.758936,71.338135],[-74.695312,71.469434],[-74.599561,71.584863],[-74.488086,71.648389],[-74.404102,71.67251],[-74.139062,71.682227],[-73.99209,71.749609],[-73.866602,71.771045],[-73.814062,71.771436],[-73.707227,71.746338],[-73.713574,71.719873],[-73.868604,71.599365],[-74.197266,71.40415],[-74.06333,71.426465],[-73.97251,71.472852],[-73.850879,71.519141],[-73.712842,71.587598],[-73.62168,71.525537],[-73.481592,71.479248],[-73.397803,71.373437],[-73.262402,71.322461],[-73.180615,71.282861],[-73.192187,71.349854],[-73.310449,71.484277],[-73.278223,71.537988],[-73.186816,71.564893],[-72.901953,71.677783],[-72.703027,71.640137],[-72.580615,71.606787],[-72.519287,71.615625],[-72.3646,71.610986],[-72.116504,71.592773],[-71.875195,71.56123],[-71.640674,71.51626],[-71.459912,71.463721],[-71.332959,71.403467],[-71.256055,71.361816],[-71.229395,71.33877],[-71.186523,71.278711],[-71.219385,71.238818],[-71.396582,71.146875],[-71.49502,71.105127],[-71.593066,71.086377],[-71.856152,71.104785],[-71.937939,71.094287],[-72.023877,71.065332],[-72.297705,70.938818],[-72.449121,70.884082],[-72.598047,70.849219],[-72.632715,70.830762],[-72.312549,70.83252],[-72.223926,70.870166],[-72.15,70.940674],[-72.00918,71.013428],[-71.742529,71.046875],[-71.37085,70.975146],[-71.18623,70.978027],[-71.045361,71.05],[-70.888037,71.099023],[-70.826074,71.10874],[-70.79248,71.10332],[-70.672656,71.052197],[-70.636475,71.006592],[-70.639111,70.902441],[-70.655225,70.870898],[-70.761719,70.792236],[-71.021777,70.674121],[-71.191797,70.629785],[-71.380469,70.605957],[-71.585938,70.565869],[-71.658447,70.533545],[-71.729395,70.487695],[-71.800146,70.457031],[-71.890186,70.431543],[-71.772363,70.394189],[-71.727246,70.395215],[-71.683691,70.417578],[-71.56499,70.505664],[-71.47666,70.544043],[-71.42666,70.5521],[-71.375098,70.548438],[-71.324854,70.531152],[-71.275879,70.500293],[-71.27959,70.425195],[-71.429443,70.127783],[-71.405127,70.128662],[-71.313086,70.209326],[-71.045264,70.519043],[-70.979785,70.581055],[-70.850537,70.643604],[-70.560937,70.738281],[-70.337256,70.787842],[-70.084717,70.829541],[-69.949805,70.84502],[-69.795703,70.83457],[-69.695508,70.785889],[-69.560107,70.777148],[-69.395361,70.789258],[-69.289062,70.783447],[-69.168701,70.76416],[-69.065723,70.728076],[-68.890723,70.687109],[-68.495752,70.610254],[-68.44668,70.594092],[-68.40083,70.56499],[-68.358252,70.5229],[-68.363525,70.48125],[-68.41665,70.43999],[-68.482568,70.414844],[-68.561328,70.405664],[-68.642822,70.383203],[-68.793652,70.324414],[-68.84292,70.314453],[-69.079443,70.28916],[-69.29873,70.276807],[-69.435693,70.253125],[-69.698975,70.189307],[-70.061426,70.07085],[-70.057715,70.042627],[-69.913086,70.029053],[-69.79585,70.046924],[-69.63457,70.12876],[-69.483008,70.160059],[-69.246191,70.185107],[-68.918555,70.206982],[-68.778223,70.203564],[-68.75293,70.19917],[-68.734619,70.179834],[-68.723291,70.145654],[-68.776953,70.101025],[-68.839111,70.079932],[-69.008301,69.978955],[-68.897021,69.952734],[-68.744043,69.941406],[-68.656738,69.968457],[-68.577832,70.030469],[-68.489355,70.064844],[-68.39126,70.071631],[-68.305078,70.087402],[-68.230664,70.112207],[-68.210449,70.128418],[-68.318604,70.160596],[-68.327197,70.180176],[-68.283105,70.228271],[-68.203516,70.281494],[-68.120654,70.3146],[-68.059082,70.317236],[-67.855322,70.281787],[-67.716016,70.219824],[-67.363672,70.034424],[-67.318408,69.998437],[-67.195898,69.860693],[-67.172656,69.799463],[-67.192773,69.756836],[-67.221631,69.730713],[-67.259277,69.721289],[-67.336719,69.720996],[-67.806201,69.777393],[-68.02041,69.770068],[-68.113965,69.754297],[-68.189453,69.730615],[-68.248096,69.700781],[-68.289795,69.664697],[-68.37207,69.644385],[-68.669922,69.643652],[-68.837109,69.623535],[-69.124512,69.574512],[-69.227686,69.547412],[-69.250781,69.511914],[-69.074902,69.518115],[-68.785254,69.564209],[-68.513037,69.577295],[-68.058154,69.475879],[-67.908252,69.460107],[-67.824854,69.474707],[-67.724512,69.479248],[-67.360937,69.47251],[-67.236963,69.460107],[-67.052686,69.421191],[-66.77085,69.33667],[-66.716748,69.311865],[-66.685254,69.285742],[-66.67627,69.258447],[-66.679297,69.191064],[-66.707422,69.168213],[-66.802881,69.152734],[-67.208008,69.170654],[-67.331641,69.184717],[-67.483789,69.166992],[-67.607227,69.173193],[-67.765039,69.200244],[-67.938477,69.248145],[-68.198193,69.202686],[-68.406299,69.232227],[-68.618896,69.206006],[-69.040625,69.097998],[-68.993457,69.079346],[-68.415527,69.17207],[-68.303955,69.166406],[-68.121289,69.132617],[-67.832617,69.065967],[-67.751709,69.038672],[-67.751025,68.933838],[-67.795117,68.86333],[-67.883203,68.783984],[-68.015625,68.794678],[-68.324219,68.844043],[-68.450391,68.85083],[-68.542773,68.842773],[-68.666699,68.811328],[-68.725293,68.810205],[-69.218848,68.872803],[-69.329785,68.875781],[-69.342676,68.869385],[-69.319092,68.856982],[-68.871436,68.759961],[-68.540625,68.749365],[-68.333203,68.732568],[-68.2104,68.702979],[-68.15249,68.681055],[-68.14834,68.616113],[-68.037939,68.550732],[-67.938477,68.52417],[-67.875049,68.522949],[-67.766016,68.547021],[-67.655957,68.550732],[-67.566943,68.533984],[-67.455518,68.4979],[-67.320703,68.487793],[-67.20249,68.465869],[-67.111182,68.461475],[-66.854199,68.471631],[-66.742725,68.457764],[-66.713916,68.445703],[-66.762402,68.424658],[-66.997266,68.37417],[-67.032959,68.326074],[-66.900391,68.263525],[-66.830957,68.215625],[-66.834326,68.179883],[-66.905127,68.098486],[-66.923096,68.065723],[-66.899805,68.063086],[-66.729004,68.129004],[-66.702344,68.120557],[-66.68457,68.029248],[-66.662695,68.034424],[-66.605469,68.11001],[-66.630957,68.210645],[-66.530762,68.250342],[-66.212402,68.28042],[-66.266309,68.122705],[-66.274707,68.040771],[-66.413867,67.904297],[-66.52998,67.860303],[-66.526465,67.851172],[-66.443945,67.833838],[-66.392383,67.831934],[-66.342969,67.853271],[-66.225195,67.95874],[-65.98584,68.068555],[-65.942383,68.070947],[-65.943994,68.031201],[-65.974902,67.957422],[-65.864355,67.922852],[-65.758936,67.95708],[-65.701709,67.98667],[-65.569336,67.982324],[-65.509082,67.968262],[-65.491113,67.935693],[-65.552002,67.799365],[-65.540869,67.765625],[-65.40127,67.674854],[-65.387109,67.680273],[-65.413477,67.724072],[-65.442236,67.832324],[-65.415332,67.879248],[-65.300342,67.939502],[-65.064404,68.026221],[-64.976904,68.043408],[-64.922314,68.031641],[-64.835449,67.98999],[-64.862549,67.965137],[-64.956396,67.939111],[-65.026025,67.892041],[-65.071436,67.823828],[-65.021094,67.787549],[-64.829883,67.784277],[-64.637793,67.840234],[-64.527539,67.812695],[-64.396436,67.739941],[-64.15625,67.622998],[-64.019434,67.654883],[-63.850195,67.566064],[-64.07749,67.495605],[-64.007959,67.347314],[-64.303271,67.353467],[-64.469287,67.341846],[-64.580469,67.355176],[-64.699951,67.350537],[-64.589258,67.315527],[-64.375928,67.301074],[-64.356445,67.256152],[-64.188965,67.257275],[-64.063232,67.265918],[-63.83623,67.264111],[-63.824121,67.315674],[-63.676465,67.345117],[-63.591602,67.377539],[-63.521094,67.35835],[-63.31582,67.336328],[-63.040137,67.23501],[-63.161621,67.174365],[-63.194678,67.117041],[-63.235547,67.068506],[-63.258398,67.024658],[-63.306787,66.994482],[-63.701562,66.822363],[-63.63623,66.820801],[-63.469189,66.862402],[-63.143701,66.924316],[-62.962305,66.949268],[-62.83335,66.932715],[-62.768164,66.931982],[-62.710449,66.954102],[-62.602881,66.928613],[-62.379736,66.905371],[-62.123584,67.046729],[-61.968555,67.019043],[-61.824121,66.931738],[-61.514697,66.778467],[-61.353418,66.689209],[-61.299707,66.64873],[-61.307227,66.608838],[-61.453076,66.566602],[-61.527832,66.558105],[-61.724121,66.637793],[-61.904492,66.678125],[-62.014258,66.673779],[-62.12334,66.643066],[-62.089307,66.625928],[-61.652637,66.503125],[-61.576416,66.4125],[-61.570801,66.3729],[-61.862695,66.312842],[-61.956348,66.309326],[-62.158447,66.337988],[-62.276904,66.391504],[-62.374512,66.41084],[-62.509814,66.417187],[-62.553125,66.406836],[-62.405664,66.315918],[-62.419824,66.288574],[-62.495996,66.270898],[-62.533594,66.227002],[-62.24209,66.147949],[-62.023926,66.067529],[-61.991602,66.035303],[-62.138672,66.011377],[-62.244336,66.005859],[-62.467773,66.01748],[-62.590332,66.034424],[-62.624121,66.01626],[-62.497363,65.974023],[-62.448389,65.945508],[-62.410303,65.905762],[-62.388184,65.868311],[-62.381982,65.833301],[-62.485645,65.804492],[-62.610254,65.723633],[-62.658887,65.639941],[-62.771729,65.631982],[-62.817285,65.647705],[-62.968896,65.622363],[-63.168945,65.657324],[-63.240674,65.695557],[-63.45874,65.853027],[-63.464355,65.835352],[-63.409766,65.755811],[-63.420898,65.708594],[-63.651953,65.674316],[-63.651074,65.660986],[-63.509229,65.636035],[-63.337451,65.616748],[-63.364258,65.543213],[-63.363379,65.229736],[-63.401807,65.118457],[-63.48584,65.02124],[-63.606592,64.928076],[-63.737158,64.989111],[-63.789355,65.051367],[-63.833203,65.083301],[-63.895605,65.109277],[-63.97627,65.121484],[-64.061426,65.121924],[-64.151855,65.066162],[-64.250439,65.114307],[-64.345703,65.172412],[-64.309766,65.324561],[-64.269678,65.400781],[-64.285742,65.400195],[-64.339941,65.36416],[-64.469824,65.252734],[-64.555078,65.116602],[-64.665332,65.168945],[-64.764795,65.234082],[-64.846924,65.299561],[-64.979639,65.375098],[-65.108496,65.46377],[-65.175684,65.568164],[-65.206982,65.589648],[-65.282031,65.67666],[-65.311475,65.701514],[-65.337402,65.709766],[-65.401611,65.764014],[-65.378125,65.82207],[-65.276953,65.890674],[-65.184863,65.939941],[-65.032227,65.988525],[-64.853711,66.015918],[-64.77251,66.078564],[-64.672998,66.192725],[-64.563965,66.272168],[-64.445361,66.317139],[-64.504395,66.325488],[-64.655176,66.287012],[-64.761133,66.230908],[-64.887256,66.137402],[-65.004492,66.077734],[-65.305371,66.008447],[-65.415576,65.99458],[-65.543701,65.987207],[-65.825732,65.996924],[-65.891064,66.020215],[-65.857178,66.086426],[-65.656348,66.204736],[-65.688379,66.213086],[-65.758984,66.171191],[-65.855957,66.142236],[-65.940039,66.127441],[-66.063721,66.132715],[-66.208594,66.206396],[-66.277393,66.229102],[-66.419189,66.254492],[-66.476953,66.279736],[-66.712305,66.460449],[-66.759766,66.508496],[-66.787402,66.555664],[-66.862891,66.595313],[-66.986328,66.62749],[-67.014795,66.622217],[-66.97041,66.581885],[-66.968994,66.547168],[-67.076855,66.525488],[-67.189648,66.533008],[-67.307324,66.569727],[-67.317676,66.520361],[-67.191748,66.432764],[-67.189746,66.321729],[-67.225391,66.310254],[-67.31123,66.30376],[-67.368848,66.31748],[-67.559766,66.400439],[-67.740771,66.458203],[-67.868457,66.490137],[-67.883398,66.467432],[-67.800586,66.367334],[-67.704492,66.268604],[-67.547217,66.187207],[-67.296729,66.090283],[-67.183203,66.034424],[-67.272656,65.955566],[-67.350439,65.929736],[-67.398779,65.921729],[-67.550781,65.921631],[-67.828027,65.965186],[-67.958203,66.013818],[-68.147266,66.129834],[-68.459912,66.249268],[-68.527783,66.248633],[-68.748926,66.200049],[-68.714209,66.192236],[-68.57168,66.188721],[-68.46709,66.173193],[-68.217187,66.078857],[-68.19834,66.038965],[-68.260693,65.99458],[-68.256836,65.938623],[-68.186719,65.870996],[-68.115039,65.827783],[-67.968066,65.797266],[-67.894189,65.793262],[-67.866455,65.773682],[-67.954346,65.623096],[-67.961816,65.581934],[-67.936768,65.564893],[-67.906055,65.563477],[-67.717139,65.625342],[-67.638086,65.64043],[-67.569629,65.643555],[-67.490137,65.626221],[-67.399707,65.588379],[-67.346387,65.549365],[-67.330322,65.50918],[-67.303418,65.48291],[-67.117969,65.440381],[-67.134961,65.420508],[-67.326074,65.356641],[-67.336523,65.346582],[-67.29834,65.341943],[-67.177588,65.303809],[-67.066504,65.244092],[-66.998584,65.172998],[-66.984912,65.138037],[-66.985645,65.104834],[-66.970361,65.084912],[-66.911523,65.081348],[-66.8875,65.093994],[-66.860645,65.091602],[-66.830908,65.07417],[-66.799609,65.019678],[-66.732764,64.860059],[-66.697412,64.815186],[-66.677148,64.813672],[-66.666699,64.973828],[-66.635498,65.000342],[-66.517773,64.971973],[-66.345215,64.909619],[-66.22373,64.854102],[-66.209717,64.828125],[-66.301514,64.777734],[-66.282129,64.755322],[-66.214648,64.722412],[-66.15249,64.734912],[-66.10752,64.791211],[-66.030176,64.846582],[-65.938525,64.885742],[-65.768066,64.853564],[-65.626758,64.770752],[-65.605273,64.742334],[-65.513184,64.706494],[-65.431934,64.726416],[-65.274805,64.631543],[-65.349316,64.588525],[-65.512793,64.525977],[-65.529346,64.504785],[-65.48999,64.509619],[-65.178613,64.509717],[-65.094531,64.48457],[-65.074609,64.43667],[-65.212988,64.303271],[-65.339893,64.315088],[-65.507471,64.318311],[-65.593652,64.311133],[-65.580322,64.293848],[-65.347803,64.232324],[-65.281982,64.181641],[-65.192773,64.129834],[-65.149609,64.087158],[-65.150635,64.067529],[-65.187305,64.037988],[-65.169873,64.028174],[-65.010596,64.008838],[-64.911816,64.026172],[-64.787793,64.032764],[-64.678467,64.027979],[-64.669727,64.00957],[-64.686182,63.960938],[-64.798145,63.915967],[-64.768164,63.90542],[-64.636719,63.918359],[-64.576318,63.897363],[-64.498486,63.790332],[-64.410937,63.706348],[-64.482227,63.687061],[-64.561572,63.679688],[-64.550293,63.572559],[-64.498633,63.462793],[-64.498096,63.357568],[-64.514355,63.263965],[-64.586914,63.243164],[-64.664648,63.245361],[-64.695605,63.268848],[-64.886279,63.54873],[-64.933301,63.599268],[-64.989697,63.643359],[-65.191846,63.764258],[-65.183936,63.744824],[-65.133838,63.689062],[-65.089404,63.605957],[-65.031348,63.440137],[-65.004785,63.333398],[-65.016699,63.292822],[-65.058057,63.282861],[-65.068945,63.263477],[-65.049316,63.234619],[-64.894824,63.125635],[-64.820166,63.06001],[-64.767383,62.991797],[-64.718115,62.945801],[-64.672363,62.921973],[-64.683643,62.902393],[-64.751855,62.887158],[-64.868701,62.879883],[-64.923242,62.88916],[-65.132959,62.952344],[-65.162793,62.932617],[-65.046582,62.701465],[-65.050195,62.646143],[-65.108496,62.626465],[-65.180322,62.649463],[-65.26582,62.715088],[-65.396533,62.788184],[-65.572412,62.868896],[-65.740381,62.931982],[-65.779883,62.930273],[-65.805664,62.911572],[-65.833691,62.908545],[-65.864062,62.921143],[-65.920264,62.968506],[-65.978857,63.000684],[-66.224023,63.107178],[-66.249219,63.108252],[-66.226074,63.076318],[-66.201074,63.00625],[-66.228662,62.990967],[-66.292773,62.99668],[-66.414453,63.027197],[-66.496387,63.097266],[-66.600488,63.218896],[-66.65498,63.264746],[-66.659814,63.234912],[-66.630859,63.119043],[-66.636426,63.080127],[-66.697461,63.069531],[-66.723242,63.080176],[-66.748535,63.111084],[-66.773242,63.162256],[-66.831445,63.201123],[-66.923291,63.227686],[-66.974707,63.255566],[-67.000146,63.305127],[-67.01792,63.316504],[-67.179785,63.305029],[-67.260937,63.340723],[-67.49502,63.481445],[-67.709229,63.633936],[-67.844238,63.714551],[-67.893262,63.73374],[-67.821436,63.63501],[-67.742529,63.489258],[-67.722559,63.422754],[-67.758789,63.419727],[-67.837891,63.449219],[-68.243555,63.637061],[-68.49375,63.725488],[-68.632861,63.741113],[-68.858936,63.751855],[-68.911084,63.703223],[-68.789258,63.595117],[-68.670557,63.513672],[-68.555127,63.458936],[-68.373926,63.352197],[-68.208057,63.214697],[-68.14126,63.172314],[-67.915332,63.113672],[-67.797461,63.098096],[-67.675977,63.093555],[-67.664893,63.072656],[-67.723779,63.033691],[-67.736963,63.00957],[-67.468213,62.948242],[-67.36665,62.91416],[-67.268506,62.857568],[-67.212695,62.843506],[-66.979541,62.70083],[-66.921533,62.678076],[-66.714014,62.631787],[-66.644873,62.602051],[-66.530518,62.509961],[-66.45874,62.463135],[-66.357275,62.351904],[-66.28125,62.302686],[-66.09502,62.246387],[-66.015625,62.230273],[-65.980176,62.208887],[-66.004346,62.158301],[-66.026953,62.137207],[-66.133154,62.102393],[-66.116406,62.053906],[-66.056445,61.96748],[-66.058887,61.913867],[-66.123877,61.893066],[-66.256689,61.868262],[-66.32373,61.870264],[-66.424512,61.890723],[-66.551318,61.925586],[-66.803125,62.012598],[-67.181055,62.072852],[-67.322021,62.105029],[-67.368994,62.134082],[-67.440137,62.15127],[-68.378613,62.235156],[-68.535889,62.255615],[-68.633643,62.281299],[-68.724365,62.318994],[-69.082324,62.405176],[-69.125586,62.423975],[-69.366016,62.571875],[-69.545166,62.74458],[-69.604736,62.767725],[-69.799512,62.790479],[-69.962109,62.776172],[-70.070947,62.757227],[-70.236133,62.763379],[-70.344043,62.791504],[-70.571338,62.869189],[-70.801416,62.910498],[-71.002148,62.978271],[-71.105762,63.002246],[-71.096191,63.019678],[-70.946045,63.120703],[-70.992676,63.119287],[-71.253711,63.042529],[-71.347266,63.066113],[-71.50127,63.126416],[-71.617139,63.187207],[-71.855469,63.355273],[-71.992236,63.416162],[-71.973047,63.429883],[-71.819189,63.435449],[-71.696533,63.430225],[-71.614258,63.444092],[-71.455859,63.512256],[-71.387402,63.555029],[-71.380859,63.580322],[-71.513477,63.586572],[-71.541895,63.598828],[-71.565625,63.626758],[-71.626758,63.662598],[-71.725293,63.706152],[-71.837549,63.724951],[-72.222949,63.708887],[-72.290137,63.727979],[-72.28877,63.756982],[-72.213477,63.838721],[-72.172461,63.87168],[-72.159375,63.889893],[-72.174268,63.893408],[-72.226465,63.891357],[-72.45,63.818115],[-72.498437,63.823486],[-72.586133,63.900781],[-72.639307,63.989063],[-72.678076,64.02002],[-72.72959,64.030469],[-72.913184,64.117188],[-73.174316,64.281885],[-73.270312,64.333496],[-73.3771,64.37959],[-73.454541,64.399268],[-73.443652,64.423486],[-73.278174,64.560254],[-73.271289,64.58252],[-73.413086,64.57417],[-73.626953,64.602539],[-73.728418,64.568262],[-73.792773,64.566211],[-73.867871,64.585352],[-73.910352,64.578125],[-73.950391,64.46582],[-73.981104,64.437744],[-74.025586,64.422656],[-74.064795,64.424658],[-74.09873,64.443701],[-74.0979,64.469922],[-74.130469,64.607812],[-74.205078,64.628125],[-74.415869,64.633496],[-74.46123,64.644678],[-74.512451,64.670166],[-74.55625,64.717334],[-74.592578,64.786182],[-74.634277,64.823926],[-74.681396,64.830664],[-74.719189,64.825146],[-74.747754,64.807324],[-74.813428,64.79624],[-74.91626,64.791992],[-74.919434,64.765527],[-74.823047,64.716895],[-74.729834,64.647363],[-74.640039,64.55708],[-74.694727,64.496582],[-74.893945,64.465723],[-75.067383,64.456689],[-75.215039,64.469385],[-75.328418,64.49043],[-75.487793,64.540771],[-75.715039,64.524365],[-75.766699,64.391943],[-75.815234,64.384668],[-76.031836,64.388086],[-76.118066,64.376318],[-76.406836,64.303174],[-76.494727,64.292969],[-76.561523,64.301611],[-76.626514,64.283936],[-76.723828,64.242041],[-76.856152,64.237646],[-77.023535,64.27085],[-77.165674,64.285059],[-77.28252,64.280371],[-77.402881,64.299902],[-77.526758,64.34375],[-77.627783,64.363477],[-77.760498,64.360156],[-77.791162,64.36709],[-77.984863,64.461084],[-78.045215,64.499268],[-78.174561,64.617725],[-78.197559,64.664648],[-78.200879,64.714746],[-78.189697,64.751807],[-78.144629,64.807715],[-78.095605,64.939258],[-78.055273,64.98291],[-77.99458,65.022607],[-77.876172,65.072949],[-77.447461,65.161572],[-77.360889,65.196533],[-77.363867,65.219775],[-77.461475,65.328174],[-77.4604,65.355908],[-77.427686,65.372119],[-77.358008,65.435449],[-77.326709,65.453125],[-77.251172,65.462891],[-77.094141,65.430859],[-76.958594,65.418018],[-76.778906,65.413867],[-76.481689,65.369727],[-76.066992,65.285449],[-75.82832,65.227051],[-75.648145,65.14082],[-75.519922,65.056006],[-75.501562,65.013086],[-75.560937,64.947021],[-75.590869,64.927686],[-75.589111,64.905029],[-75.555762,64.879199],[-75.4521,64.841602],[-75.427148,64.855859],[-75.435156,64.900781],[-75.413672,64.938525],[-75.362793,64.969043],[-75.357129,65.00874],[-75.39668,65.057568],[-75.445801,65.099707],[-75.504687,65.135156],[-75.772949,65.257031],[-75.798682,65.29751],[-75.708594,65.315723],[-75.31665,65.274805],[-75.166309,65.283936],[-75.109277,65.331445],[-75.047754,65.363965],[-74.981738,65.381445],[-74.849854,65.389062],[-74.665479,65.366943],[-74.574902,65.363672],[-74.494775,65.37168],[-74.390723,65.397559],[-74.236865,65.483887],[-74.138477,65.503467],[-73.9896,65.516992],[-73.87793,65.518848],[-73.675391,65.484326],[-73.550781,65.485254],[-73.560742,65.54292],[-73.643408,65.653223],[-73.746094,65.766699],[-73.826074,65.805176],[-74.033105,65.877051],[-74.276172,66.012744],[-74.401074,66.096973],[-74.433936,66.139014],[-74.416406,66.16709],[-74.374902,66.208154],[-73.933691,66.358057],[-73.584229,66.506934],[-73.430957,66.583154],[-73.357373,66.636279],[-73.280811,66.674951],[-73.201123,66.69917],[-73.033252,66.728174],[-72.985352,66.765381],[-72.974854,66.828516],[-72.946777,66.883252],[-72.788818,67.030615],[-72.667725,67.070459],[-72.485156,67.098096],[-72.364941,67.133398],[-72.22002,67.254297],[-72.234131,67.284424],[-72.301074,67.307275],[-72.352881,67.341895],[-72.576465,67.658643],[-72.725293,67.811621],[-72.903955,67.944775],[-73.063428,68.106982],[-73.328223,68.266748],[-73.331445,68.308984],[-73.284473,68.356982],[-73.306885,68.367822],[-73.580176,68.297754],[-73.644482,68.294531],[-73.749463,68.325],[-73.820508,68.362939],[-73.879346,68.429395],[-73.87334,68.46416],[-73.834424,68.49707],[-73.78252,68.578027],[-73.780615,68.619287],[-73.798437,68.658643],[-73.822119,68.685986],[-73.851562,68.701367],[-73.935156,68.710986],[-74.072998,68.714941],[-74.117969,68.700928],[-73.966064,68.57876],[-73.989258,68.548633],[-74.182812,68.535449],[-74.270117,68.541211],[-74.35,68.556055],[-74.422412,68.579932],[-74.647949,68.70752],[-74.695801,68.755566],[-74.680518,68.790283],[-74.699951,68.80835],[-74.745996,68.796729],[-74.80835,68.795898],[-74.892969,68.808154],[-74.9104,68.823145],[-74.752393,68.89209],[-74.743262,68.913379],[-74.816113,68.936133],[-74.925098,68.940723],[-74.954004,68.961084],[-74.917285,68.982861],[-74.769336,69.020654],[-74.716699,69.045508],[-74.805469,69.064258],[-74.854883,69.06582],[-74.954443,69.024609],[-75.104248,68.940576],[-75.213281,68.909375],[-75.362744,68.948291],[-75.456982,68.961279],[-75.522656,68.952734],[-75.623047,68.887744],[-75.842236,68.840186],[-76.234717,68.728027],[-76.403418,68.692334],[-76.585059,68.69873],[-76.619434,68.721387],[-76.61626,68.759863],[-76.603662,68.791553],[-76.581738,68.816309],[-76.574561,68.84668],[-76.587695,68.974463],[-76.557227,69.009473],[-76.495166,69.03042],[-76.380908,69.052441],[-76.089209,69.026172],[-75.953711,69.030811],[-75.858594,69.060303],[-75.763379,69.10293],[-75.667969,69.158838],[-75.647754,69.212549],[-75.749072,69.299561],[-75.787158,69.318652],[-76.046484,69.386377],[-76.189795,69.410986],[-76.316211,69.421631],[-76.407959,69.441113],[-76.464941,69.469434],[-76.520361,69.516602],[-76.524951,69.548682],[-76.516113,69.590918],[-76.463281,69.619971],[-76.231104,69.653467],[-76.234082,69.662109],[-76.423828,69.686816],[-76.513281,69.683936],[-76.590039,69.65625],[-76.686523,69.59126],[-76.742334,69.5729],[-76.915576,69.611182],[-77.019629,69.616846],[-77.089941,69.635107],[-77.128809,69.652734],[-77.105078,69.670752],[-77.018701,69.689063],[-76.868604,69.745166],[-76.858594,69.775391],[-76.962256,69.824854],[-77.015967,69.836133],[-77.232471,69.85459],[-77.494287,69.83623],[-77.59165,69.845605],[-77.635303,69.900439],[-77.662988,69.965723],[-77.674756,70.041504],[-77.721924,70.170801],[-77.774023,70.238525],[-77.842529,70.24707],[-78.156787,70.219141],[-78.231445,70.218799],[-78.282812,70.22915],[-78.490723,70.315576],[-78.574805,70.346191],[-78.621436,70.353418],[-78.772656,70.445312],[-78.830859,70.463184],[-78.899902,70.508545],[-78.979785,70.581348],[-79.066406,70.603564],[-79.159766,70.575244],[-79.253174,70.534717],[-79.346631,70.481885],[-79.397314,70.437256],[-79.405225,70.400732],[-79.347412,70.372314],[-79.017529,70.325195],[-78.933838,70.293701],[-78.862842,70.241895],[-78.809814,70.178564],[-78.774854,70.103613],[-78.777832,70.047656],[-78.818799,70.010449],[-78.889648,69.97749],[-79.092871,69.925342],[-79.30332,69.894824],[-79.51543,69.887598],[-79.615918,69.894727],[-80.162109,69.995996],[-80.2604,69.996777],[-80.386816,70.010449],[-80.670312,70.0521],[-80.825781,70.056641],[-81.098291,70.091162],[-81.55957,70.11123],[-81.651953,70.094629],[-81.529248,70.048047],[-81.421729,70.024609],[-81.329492,70.024365],[-81.196826,69.982812],[-81.02373,69.9],[-80.924805,69.850586],[-80.842871,69.79165],[-80.840283,69.771387],[-80.921729,69.730908],[-81.564697,69.942725],[-81.957715,69.86875],[-82.138721,69.841211],[-82.293848,69.836914],[-82.487744,69.865967],[-82.925391,69.968164],[-83.091162,70.003906],[-83.149951,70.009082],[-83.530762,69.964795],[-83.859082,69.962744],[-84.521875,70.005225],[-84.765137,70.033643],[-84.829199,70.06333],[-84.909082,70.078223],[-85.052637,70.078223],[-85.432373,70.111377],[-85.780029,70.03667],[-86.198193,70.105127],[-86.322021,70.14541],[-86.361426,70.173047],[-86.483105,70.288574],[-86.499805,70.350391],[-86.465381,70.40625],[-86.431006,70.444531],[-86.396875,70.465332],[-86.624316,70.40127],[-86.70415,70.390723],[-86.809277,70.388281],[-87.122461,70.411963],[-87.171973,70.399854],[-87.155811,70.377441],[-87.074023,70.344824],[-87.063281,70.325098],[-87.237891,70.309717],[-87.502441,70.325684],[-87.617773,70.31875],[-87.670215,70.309814],[-87.789453,70.258252],[-87.838135,70.246582],[-87.900684,70.251904],[-88.17832,70.368604],[-88.4021,70.44248],[-88.662988,70.47085],[-88.782715,70.494482],[-88.848437,70.5229],[-89.208301,70.759717],[-89.25752,70.810693],[-89.371533,70.996143],[-89.409766,71.035693],[-89.455908,71.061719],[-89.365527,71.067188],[-89.025146,71.044629],[-88.695654,71.045605],[-88.51665,71.030566],[-88.309082,70.984326],[-88.038574,70.951318],[-87.844922,70.944385],[-87.534424,70.956592],[-87.181592,70.987549],[-87.140088,71.011621],[-87.368604,71.052832],[-87.572314,71.107568],[-87.760254,71.178516],[-87.872461,71.208545],[-88.060645,71.227246],[-88.589502,71.240283],[-89.079346,71.287939],[-89.417676,71.352197],[-89.693311,71.423486],[-89.805371,71.462305],[-89.845752,71.492285],[-89.888525,71.585742],[-89.933691,71.742725],[-89.977344,71.848047],[-90.019531,71.901807],[-90.025195,71.948779],[-89.931494,72.049023],[-89.663818,72.157959],[-89.657275,72.175049],[-89.710547,72.180127],[-89.8229,72.207813],[-89.858691,72.24834],[-89.873096,72.312646],[-89.874023,72.367188],[-89.861523,72.411914],[-89.816846,72.467725],[-89.701514,72.568066],[-89.536426,72.689844],[-89.357715,72.80415],[-89.3271,72.841553],[-89.311377,72.942969],[-89.287695,73.016943],[-89.263232,73.068994],[-89.225342,73.108057],[-89.114746,73.182178],[-88.976807,73.25249],[-88.760937,73.312402],[-88.742529,73.33457],[-88.7396,73.365283],[-88.727148,73.388184],[-88.705176,73.403271],[-88.17002,73.595313],[-87.926416,73.67334],[-87.719775,73.7229],[-87.472363,73.759424],[-86.76875,73.833984],[-86.406396,73.854785],[-85.950781,73.850146],[-85.110498,73.808154],[-85.009326,73.778613],[-84.983594,73.763721],[-84.946777,73.721631],[-84.974512,73.694775],[-85.204297,73.603564],[-85.493604,73.527686],[-85.681885,73.461475],[-86.000537,73.312549],[-86.086475,73.260254],[-86.481396,72.960254],[-86.574658,72.910547],[-86.629346,72.870801],[-86.667773,72.762549],[-86.656299,72.724023],[-86.594629,72.661133],[-86.380322,72.524658],[-86.322559,72.46084],[-86.324023,72.402148],[-86.348047,72.262256],[-86.350977,72.191309],[-86.341357,72.123193],[-86.297168,72.025781],[-86.218457,71.899121],[-86.036133,71.770947],[-85.750098,71.641357],[-85.537158,71.55542],[-85.327197,71.492139],[-85.078711,71.398486],[-85.023389,71.353223],[-85.137598,71.303418],[-85.405371,71.226758],[-85.757275,71.193945],[-85.94541,71.162646],[-86.179443,71.095898],[-86.473242,71.042627],[-86.589355,71.010791]]],[[[-61.801123,49.093896],[-62.219531,49.079102],[-62.552637,49.140869],[-62.799609,49.170703],[-63.041504,49.224951],[-63.565869,49.399316],[-63.625879,49.459912],[-63.676221,49.534326],[-63.776611,49.602002],[-63.884912,49.657715],[-64.440039,49.827734],[-64.485205,49.886963],[-64.372949,49.925928],[-64.24375,49.944385],[-64.131445,49.94165],[-63.760156,49.875244],[-63.291992,49.816846],[-63.088818,49.772705],[-62.858545,49.705469],[-62.633447,49.623926],[-62.133008,49.40708],[-62.043066,49.389795],[-61.817139,49.283545],[-61.73584,49.20376],[-61.696143,49.139014],[-61.745508,49.105762],[-61.801123,49.093896]]],[[[-63.811279,46.468701],[-63.784229,46.454639],[-63.737012,46.480518],[-63.681445,46.561914],[-63.534375,46.540625],[-63.456494,46.503906],[-63.413135,46.512012],[-63.368652,46.508252],[-63.286084,46.460205],[-63.129395,46.422217],[-62.964014,46.427734],[-62.712012,46.450293],[-62.681934,46.459424],[-62.423096,46.478271],[-62.163574,46.487207],[-62.074268,46.465723],[-62.040869,46.445703],[-62.02373,46.421582],[-62.171777,46.355371],[-62.319971,46.27832],[-62.526074,46.202881],[-62.552002,46.165918],[-62.539209,46.097949],[-62.543262,46.028662],[-62.502588,46.022949],[-62.478076,45.999707],[-62.531348,45.977295],[-62.743164,45.966895],[-62.804883,45.973193],[-62.878369,46.001367],[-62.903516,46.068262],[-62.994629,46.058447],[-63.02207,46.066602],[-62.894531,46.123584],[-62.952637,46.195166],[-63.015039,46.189941],[-63.056348,46.223926],[-63.05293,46.269824],[-62.995117,46.292139],[-62.978467,46.316357],[-63.056885,46.295361],[-63.116992,46.252832],[-63.194727,46.236719],[-63.270801,46.2],[-63.152783,46.18833],[-63.213477,46.159863],[-63.276611,46.153271],[-63.568896,46.209229],[-63.641016,46.230469],[-63.731787,46.289062],[-63.800537,46.367334],[-63.763232,46.370361],[-63.750537,46.384375],[-63.758643,46.397607],[-63.860547,46.408154],[-64.019727,46.404834],[-64.11084,46.425439],[-64.106543,46.562109],[-64.136035,46.599707],[-64.235645,46.631445],[-64.388037,46.640869],[-64.403125,46.691602],[-64.35459,46.769238],[-64.27998,46.835742],[-64.223242,46.90127],[-64.156934,46.954883],[-63.993555,47.061572],[-63.997266,46.981738],[-63.981494,46.912988],[-64.087891,46.775439],[-63.903027,46.639111],[-63.879297,46.608984],[-63.863721,46.572363],[-63.875635,46.538672],[-63.905566,46.508789],[-63.833594,46.493896],[-63.811279,46.468701]]],[[[-82.000488,62.954199],[-81.960547,62.926221],[-81.948584,62.884033],[-81.964404,62.827637],[-81.990186,62.776318],[-82.02583,62.730078],[-82.113721,62.652246],[-82.388037,62.519141],[-82.490967,62.446582],[-82.568262,62.403223],[-83.01582,62.209912],[-83.071387,62.200391],[-83.129687,62.204102],[-83.252393,62.232959],[-83.376807,62.238135],[-83.698877,62.160254],[-83.714404,62.173584],[-83.728613,62.257178],[-83.760937,62.303516],[-83.903125,62.40249],[-83.912402,62.425537],[-83.910498,62.45415],[-83.899268,62.476465],[-83.739062,62.568848],[-83.376416,62.904932],[-83.289453,62.921582],[-83.110937,62.884131],[-83.02627,62.87207],[-82.965771,62.873926],[-82.706445,62.944531],[-82.459717,62.936182],[-82.234766,62.977441],[-82.129248,62.977686],[-82.047607,62.970557],[-82.000488,62.954199]]],[[[-79.545312,62.411719],[-79.466211,62.384521],[-79.336035,62.293701],[-79.286475,62.247656],[-79.272021,62.185986],[-79.306445,62.103516],[-79.323926,62.026074],[-79.372266,61.967773],[-79.462158,61.894092],[-79.541846,61.808008],[-79.611328,61.709619],[-79.66875,61.644434],[-79.714258,61.612549],[-79.76333,61.595947],[-79.816113,61.594629],[-79.896338,61.630127],[-80.00415,61.702539],[-80.091992,61.746826],[-80.204932,61.777246],[-80.265186,61.818213],[-80.276172,61.858594],[-80.279834,61.989502],[-80.275098,62.054639],[-80.260059,62.109033],[-80.234668,62.152686],[-80.178564,62.212793],[-80.021582,62.342969],[-79.926758,62.392871],[-79.868066,62.404346],[-79.712549,62.39502],[-79.649561,62.398291],[-79.597656,62.413232],[-79.545312,62.411719]]],[[[-75.675879,68.32251],[-75.153809,68.234033],[-75.103125,68.201904],[-75.078125,68.173145],[-75.063477,68.141211],[-75.062354,68.075391],[-75.072852,68.049023],[-75.123877,67.985254],[-75.127344,67.965234],[-75.086377,67.751416],[-75.090527,67.634766],[-75.127295,67.537305],[-75.201953,67.45918],[-75.314502,67.400439],[-75.400098,67.366699],[-75.780078,67.283545],[-76.048975,67.262012],[-76.332764,67.258105],[-76.693945,67.23584],[-76.858838,67.240479],[-76.944189,67.250293],[-77.004883,67.266943],[-77.075928,67.319629],[-77.15708,67.40835],[-77.224219,67.508203],[-77.304395,67.685107],[-77.305908,67.706104],[-77.228564,67.850098],[-77.125879,67.94707],[-76.944727,68.090967],[-76.740234,68.23125],[-76.688232,68.254395],[-76.595801,68.278955],[-76.364453,68.318701],[-76.172803,68.308789],[-76.088281,68.313818],[-75.982764,68.332324],[-75.866504,68.336816],[-75.675879,68.32251]]],[[[-79.537305,73.654492],[-79.366797,73.641357],[-78.286523,73.66582],[-78.062939,73.647656],[-77.382129,73.53667],[-77.206543,73.499561],[-77.119775,73.450488],[-77.041504,73.373047],[-77.005322,73.356055],[-76.758691,73.31001],[-76.657275,73.254199],[-76.621582,73.225342],[-76.569775,73.159277],[-76.458447,73.121826],[-76.331152,73.100488],[-76.289551,73.081006],[-76.30957,72.9979],[-76.255273,72.959229],[-76.135059,72.912402],[-76.08999,72.881201],[-76.183398,72.843066],[-76.400537,72.820654],[-77.013574,72.843994],[-77.835938,72.896826],[-78.314209,72.881836],[-78.554053,72.857715],[-79.13418,72.771631],[-79.319336,72.757715],[-79.500537,72.755957],[-79.820703,72.826318],[-79.936865,72.863623],[-79.975293,72.89248],[-80.051611,72.977002],[-80.114453,73.078223],[-80.146436,73.161328],[-80.183301,73.224658],[-80.292725,73.245605],[-80.61792,73.270801],[-80.726855,73.305469],[-80.776416,73.33418],[-80.82417,73.380664],[-80.822949,73.428955],[-80.797998,73.471533],[-80.776953,73.481982],[-80.73584,73.483105],[-80.827002,73.534668],[-80.858496,73.591406],[-80.860742,73.670557],[-80.848877,73.72124],[-80.822852,73.743457],[-80.762744,73.757764],[-80.621387,73.767334],[-80.412305,73.76543],[-80.120264,73.70708],[-79.889355,73.701514],[-79.537305,73.654492]]],[[[-80.731689,52.747266],[-80.802344,52.733984],[-81.009863,52.760645],[-81.096582,52.779883],[-81.352246,52.852002],[-81.839062,52.95791],[-82.005029,53.010498],[-82.039258,53.049902],[-81.951123,53.132227],[-81.901367,53.165576],[-81.847314,53.186279],[-81.335352,53.224268],[-81.135596,53.205811],[-80.900391,53.037158],[-80.765332,52.923242],[-80.710449,52.831592],[-80.709521,52.787402],[-80.731689,52.747266]]],[[[-78.826514,56.145312],[-78.877295,56.131445],[-78.913818,56.132812],[-78.907031,56.166357],[-78.856885,56.23208],[-78.828418,56.289844],[-78.821582,56.339648],[-78.799414,56.383301],[-78.761865,56.420703],[-78.724512,56.439209],[-78.66875,56.438623],[-78.657178,56.317383],[-78.672803,56.260498],[-78.710156,56.212891],[-78.761377,56.174512],[-78.826514,56.145312]]],[[[-78.935596,56.266064],[-79.017969,56.16499],[-79.083887,56.067871],[-79.175488,55.885059],[-79.227832,55.878516],[-79.273633,55.922461],[-79.142285,56.136426],[-79.136084,56.160254],[-79.142285,56.180713],[-79.182129,56.212158],[-79.221826,56.175977],[-79.407422,55.934863],[-79.455322,55.896191],[-79.495117,55.874756],[-79.526758,55.870654],[-79.605713,55.875684],[-79.764746,55.806787],[-79.497461,56.093164],[-79.494678,56.11499],[-79.544727,56.128369],[-79.564551,56.120947],[-79.781104,55.940576],[-79.90459,55.871045],[-79.9875,55.892139],[-80.008252,55.911035],[-80.000781,55.93208],[-79.790039,56.11416],[-79.596338,56.244482],[-79.515283,56.326514],[-79.482373,56.403809],[-79.46792,56.460352],[-79.468945,56.522607],[-79.458887,56.539746],[-79.447656,56.536572],[-79.435303,56.513037],[-79.432031,56.447461],[-79.47627,56.312842],[-79.511816,56.246582],[-79.554199,56.191992],[-79.536328,56.180078],[-79.458301,56.211084],[-79.392627,56.276465],[-79.339355,56.376318],[-79.305322,56.463086],[-79.272412,56.600439],[-79.261133,56.595654],[-79.245752,56.568262],[-79.210449,56.548926],[-79.155176,56.537598],[-79.123535,56.519971],[-79.100244,56.473926],[-79.077734,56.453613],[-78.994971,56.436426],[-78.963184,56.421729],[-78.940332,56.371436],[-78.942432,56.344922],[-78.931201,56.32793],[-78.906641,56.32041],[-78.935596,56.266064]]],[[[-79.977588,56.207031],[-80.028613,56.199414],[-80.088867,56.213867],[-80.057471,56.287354],[-80.005078,56.31792],[-79.874463,56.348437],[-79.852148,56.367188],[-79.8104,56.376514],[-79.74917,56.376514],[-79.681006,56.403955],[-79.605859,56.458838],[-79.579736,56.466357],[-79.632568,56.386523],[-79.687939,56.326807],[-79.977588,56.207031]]],[[[-89.833252,77.267627],[-90.094727,77.2104],[-90.228271,77.212451],[-90.993213,77.329492],[-91.147266,77.387305],[-91.176611,77.42627],[-91.185059,77.481543],[-91.182666,77.557178],[-91.149463,77.608057],[-91.109131,77.625732],[-91.019043,77.643896],[-90.842578,77.65498],[-90.674854,77.648633],[-90.422754,77.628369],[-90.171924,77.594678],[-89.838965,77.491406],[-89.719482,77.442139],[-89.694189,77.378125],[-89.69458,77.338965],[-89.712012,77.3104],[-89.74668,77.292578],[-89.833252,77.267627]]],[[[-104.558154,77.141748],[-104.711377,77.123975],[-105.015576,77.1646],[-105.215088,77.18208],[-105.379932,77.254248],[-105.556348,77.352637],[-105.695117,77.461377],[-105.747217,77.525391],[-105.848145,77.563428],[-105.883154,77.626514],[-106.066113,77.725391],[-106.035596,77.739844],[-105.862988,77.754395],[-105.587891,77.735986],[-105.456104,77.700928],[-105.289648,77.64209],[-105.073877,77.548291],[-105.007227,77.506738],[-104.994287,77.449658],[-104.955322,77.418701],[-104.770215,77.413232],[-104.542236,77.337744],[-104.500781,77.308545],[-104.453711,77.249121],[-104.456982,77.220801],[-104.493359,77.162354],[-104.558154,77.141748]]],[[[-98.791602,79.981104],[-98.768945,79.850879],[-98.789795,79.7854],[-98.840625,79.737061],[-98.885205,79.725684],[-98.945215,79.724072],[-99.218457,79.761865],[-99.301758,79.784082],[-99.30625,79.802881],[-99.333008,79.839551],[-99.515625,79.887158],[-99.857471,79.879492],[-99.999902,79.884033],[-100.056836,79.898242],[-100.092432,79.918652],[-100.126025,80.00127],[-100.120361,80.03042],[-100.078516,80.081104],[-100.053271,80.093359],[-99.802783,80.140137],[-99.731201,80.144092],[-99.424854,80.126416],[-99.153223,80.124219],[-99.016602,80.111133],[-98.894678,80.081787],[-98.823193,80.037354],[-98.791602,79.981104]]],[[[-105.288916,72.919922],[-105.339355,72.914893],[-105.434082,72.937988],[-105.572998,72.989307],[-105.800146,73.093311],[-106.071045,73.196387],[-106.112646,73.258105],[-106.180029,73.304102],[-106.525732,73.413379],[-106.750391,73.457715],[-106.921533,73.479834],[-106.949658,73.510352],[-106.831006,73.599072],[-106.694824,73.669922],[-106.613965,73.695605],[-106.362109,73.718604],[-105.512305,73.765771],[-105.317969,73.767139],[-105.114453,73.744434],[-104.834668,73.647266],[-104.718262,73.636279],[-104.648779,73.614404],[-104.5875,73.578076],[-104.555078,73.541113],[-104.552344,73.465576],[-104.582861,73.353906],[-104.621729,73.311133],[-104.791016,73.167627],[-104.968652,73.088672],[-105.002588,73.037549],[-105.074609,72.997021],[-105.200635,72.947314],[-105.288916,72.919922]]],[[[-102.227344,76.014893],[-102.017871,75.953516],[-102.008008,75.939404],[-102.047461,75.927734],[-102.318115,75.895166],[-102.423437,75.869189],[-102.511377,75.808398],[-102.57959,75.780225],[-102.943555,75.763428],[-103.314746,75.764209],[-103.244727,75.822949],[-103.041504,75.918848],[-103.201562,75.958496],[-103.769775,75.892383],[-103.985254,75.933105],[-103.800781,76.037012],[-103.984521,76.046533],[-104.24248,76.046973],[-104.406055,76.108496],[-104.350635,76.182324],[-104.012061,76.222998],[-103.571436,76.258203],[-103.098242,76.311475],[-102.728027,76.307031],[-102.584082,76.281641],[-102.536133,76.196436],[-102.490039,76.095068],[-102.425684,76.086426],[-102.227344,76.014893]]],[[[-104.022852,76.583105],[-103.973486,76.577588],[-103.821094,76.59751],[-103.722754,76.601074],[-103.613135,76.563428],[-103.584619,76.538867],[-103.190137,76.477441],[-103.051318,76.449854],[-103.033545,76.431494],[-103.082959,76.405176],[-103.199512,76.37085],[-103.311377,76.347559],[-103.472217,76.329053],[-104.270654,76.32627],[-104.35752,76.334619],[-104.407666,76.365137],[-104.506445,76.478955],[-104.576611,76.540186],[-104.603027,76.582715],[-104.585693,76.606494],[-104.500391,76.630371],[-104.205127,76.666113],[-104.074512,76.666113],[-103.99248,76.656982],[-103.959082,76.63877],[-103.969189,76.61416],[-104.022852,76.583105]]],[[[-118.328125,75.579688],[-118.613867,75.51543],[-118.817139,75.522119],[-119.08667,75.569336],[-119.306055,75.585352],[-119.383252,75.601025],[-119.39458,75.617334],[-119.320166,75.662549],[-119.226807,75.698633],[-119.003467,75.76958],[-118.626074,75.90625],[-118.379004,75.957959],[-118.13667,75.994482],[-117.889355,76.076074],[-117.75249,76.112451],[-117.633691,76.115088],[-117.512598,76.099414],[-117.499121,76.077197],[-117.626367,75.965967],[-117.715967,75.921143],[-117.89082,75.805469],[-118.226514,75.611182],[-118.328125,75.579688]]],[[[-113.832471,77.754639],[-114.105908,77.720703],[-114.287207,77.721484],[-114.60835,77.769336],[-114.98042,77.91543],[-115.029346,77.967529],[-114.89043,77.976904],[-114.789502,77.99292],[-114.726465,78.015527],[-114.606885,78.040332],[-114.330371,78.077539],[-114.296875,78.063184],[-114.302881,78.032715],[-114.279834,78.004297],[-114.180957,77.998242],[-114.087207,77.97793],[-113.897754,77.915576],[-113.768018,77.903564],[-113.721387,77.889893],[-113.69668,77.868945],[-113.61792,77.832422],[-113.619385,77.813477],[-113.72583,77.775781],[-113.832471,77.754639]]],[[[-130.927148,54.479053],[-130.950293,54.477783],[-130.959033,54.498682],[-130.953467,54.541846],[-130.921777,54.614893],[-130.906836,54.631787],[-130.777051,54.618896],[-130.758008,54.61377],[-130.753418,54.599707],[-130.763379,54.576709],[-130.805127,54.543799],[-130.927148,54.479053]]],[[[-131.029297,51.961621],[-131.047266,51.959717],[-131.080518,51.98042],[-131.103418,52.013867],[-131.117334,52.101025],[-131.107129,52.136572],[-131.098096,52.150635],[-131.010645,52.095264],[-131.029297,51.961621]]],[[[-130.236279,53.958545],[-130.267236,53.922607],[-130.337549,53.86626],[-130.384229,53.843945],[-130.407227,53.855518],[-130.470264,53.861768],[-130.5375,53.917871],[-130.589844,53.940283],[-130.624609,53.941406],[-130.641846,53.921143],[-130.646289,53.894043],[-130.637891,53.86001],[-130.643701,53.844531],[-130.663574,53.847559],[-130.683447,53.863477],[-130.703174,53.892236],[-130.707275,53.921484],[-130.695703,53.95127],[-130.646924,53.99126],[-130.494629,54.07417],[-130.447998,54.089014],[-130.397314,54.085693],[-130.315869,54.046924],[-130.298486,54.035645],[-130.236279,53.958545]]],[[[-129.848584,53.16792],[-129.868555,53.164502],[-129.934375,53.17666],[-130.151416,53.345703],[-130.305664,53.407373],[-130.410742,53.49082],[-130.517578,53.544238],[-130.452002,53.631152],[-130.394824,53.62041],[-130.19502,53.549658],[-130.0354,53.481104],[-129.944727,53.436377],[-129.754834,53.244775],[-129.768945,53.217285],[-129.848584,53.16792]]],[[[-130.575342,54.769678],[-130.493262,54.83418],[-130.312549,54.945947],[-130.214063,55.025879],[-130.203906,54.947021],[-130.349414,54.814551],[-130.535498,54.74873],[-130.575342,54.769678]]],[[[-128.552441,52.939746],[-128.506543,52.620703],[-128.509912,52.518604],[-128.576807,52.451807],[-128.624023,52.339893],[-128.678955,52.289648],[-128.730908,52.356543],[-128.735547,52.467725],[-128.749414,52.556055],[-128.766455,52.598389],[-128.746338,52.763379],[-128.769629,52.751221],[-128.831201,52.678809],[-128.899805,52.673828],[-129.022852,52.755957],[-129.084717,52.822461],[-129.094873,52.891846],[-129.175928,52.964941],[-129.184326,52.990674],[-129.177686,53.01792],[-129.111084,53.090674],[-129.084082,53.139697],[-129.060352,53.240625],[-129.033252,53.279932],[-128.970215,53.274365],[-128.857715,53.228564],[-128.740381,53.178857],[-128.632666,53.1125],[-128.552441,52.939746]]],[[[-126.09209,49.354004],[-126.064014,49.263623],[-126.186816,49.278125],[-126.229639,49.295654],[-126.231445,49.339062],[-126.208545,49.379785],[-126.115283,49.365039],[-126.09209,49.354004]]],[[[-124.153662,49.531152],[-124.139795,49.510352],[-124.362305,49.588184],[-124.457227,49.634229],[-124.493945,49.66748],[-124.517822,49.686328],[-124.630957,49.735693],[-124.649854,49.75835],[-124.623291,49.775098],[-124.547168,49.764941],[-124.421484,49.727783],[-124.309131,49.667285],[-124.153662,49.531152]]],[[[-126.641211,49.605811],[-126.68042,49.601367],[-126.743408,49.613477],[-126.814209,49.64209],[-126.938574,49.718457],[-126.95127,49.735693],[-126.940039,49.750488],[-126.904883,49.762793],[-126.896875,49.78291],[-126.92583,49.837744],[-126.826074,49.872363],[-126.738135,49.843652],[-126.698145,49.808496],[-126.649902,49.745801],[-126.628174,49.675146],[-126.625781,49.626807],[-126.641211,49.605811]]],[[[-125.184131,50.097119],[-125.195117,50.044336],[-125.25957,50.130029],[-125.358447,50.311523],[-125.345313,50.353955],[-125.301172,50.414062],[-125.260937,50.417822],[-125.195996,50.389746],[-125.139502,50.339697],[-125.126465,50.320264],[-125.091406,50.267773],[-125.074023,50.220654],[-125.112988,50.163477],[-125.184131,50.097119]]],[[[-128.936865,52.51001],[-128.968701,52.464258],[-129.102344,52.574365],[-129.151025,52.605322],[-129.250488,52.722168],[-129.267773,52.772363],[-129.263525,52.800781],[-129.245947,52.81123],[-129.215039,52.803857],[-129.186182,52.79126],[-128.993994,52.661719],[-128.940332,52.600732],[-128.936865,52.51001]]],[[[-127.924658,51.473877],[-127.94126,51.457178],[-127.98125,51.457227],[-128.044531,51.474023],[-128.091797,51.511133],[-128.148779,51.626709],[-128.142383,51.646582],[-128.122754,51.666797],[-128.031738,51.708398],[-127.998682,51.703809],[-127.986816,51.673584],[-127.93252,51.605469],[-127.916357,51.585449],[-127.916309,51.506201],[-127.924658,51.473877]]],[[[-128.36875,52.400879],[-128.44541,52.3875],[-128.419873,52.441113],[-128.4125,52.472852],[-128.42627,52.502734],[-128.435937,52.560352],[-128.439795,52.696387],[-128.364893,52.781885],[-128.247266,52.784375],[-128.248437,52.741211],[-128.298145,52.548242],[-128.323779,52.458984],[-128.343555,52.426074],[-128.36875,52.400879]]],[[[-129.313721,52.992188],[-129.328711,52.984229],[-129.37002,52.997607],[-129.409717,53.02373],[-129.477783,53.097754],[-129.500146,53.128906],[-129.514746,53.179395],[-129.501074,53.18833],[-129.471436,53.183008],[-129.450732,53.174707],[-129.343506,53.052783],[-129.313721,52.992188]]],[[[-129.167725,53.117871],[-129.173242,53.110742],[-129.276855,53.110937],[-129.305713,53.121143],[-129.323877,53.142139],[-129.33125,53.173975],[-129.314355,53.212305],[-129.253076,53.285498],[-129.251172,53.316699],[-129.238184,53.330078],[-129.195215,53.293213],[-129.177002,53.259131],[-129.167725,53.117871]]],[[[-123.4354,48.754443],[-123.477246,48.72876],[-123.499609,48.732178],[-123.517529,48.750146],[-123.582324,48.925781],[-123.554688,48.92207],[-123.467871,48.867383],[-123.487549,48.845703],[-123.422754,48.793359],[-123.406787,48.756055],[-123.4354,48.754443]]],[[[-59.787598,43.9396],[-59.922266,43.903906],[-60.037744,43.906641],[-60.114258,43.939111],[-60.11748,43.953369],[-59.936035,43.9396],[-59.866357,43.947168],[-59.727148,44.002832],[-59.787598,43.9396]]],[[[-60.961572,45.489941],[-61.002881,45.481738],[-61.0125,45.496045],[-61.076172,45.537305],[-61.081738,45.557812],[-61.025977,45.577344],[-60.912451,45.567285],[-60.953027,45.515527],[-60.961572,45.489941]]],[[[-61.914111,47.284521],[-61.878711,47.265527],[-61.815479,47.267578],[-61.772559,47.259814],[-61.83374,47.222607],[-61.95083,47.218994],[-62.008301,47.234277],[-61.924707,47.425146],[-61.827295,47.469092],[-61.627832,47.593848],[-61.548047,47.631787],[-61.474072,47.646777],[-61.395508,47.637646],[-61.475537,47.563965],[-61.582227,47.56001],[-61.684082,47.49873],[-61.750879,47.430811],[-61.83125,47.392041],[-61.886621,47.344629],[-61.914111,47.284521]]],[[[-64.508594,47.886719],[-64.533887,47.81377],[-64.621289,47.751904],[-64.664648,47.747607],[-64.68457,47.753613],[-64.660498,47.793555],[-64.663281,47.863037],[-64.591113,47.872461],[-64.564844,47.86626],[-64.508594,47.886719]]],[[[-64.476074,47.958887],[-64.591309,47.907227],[-64.540723,47.984961],[-64.51958,48.005078],[-64.500195,48.01377],[-64.48125,48.006934],[-64.476074,47.958887]]],[[[-66.273779,44.292285],[-66.324121,44.257324],[-66.311914,44.291602],[-66.250488,44.379004],[-66.210352,44.392041],[-66.273779,44.292285]]],[[[-66.7625,44.681787],[-66.89707,44.628906],[-66.844727,44.763916],[-66.802148,44.805371],[-66.74541,44.791406],[-66.753369,44.709814],[-66.7625,44.681787]]],[[[-73.566504,45.469092],[-73.643555,45.449121],[-73.775342,45.467627],[-73.920215,45.441943],[-73.960547,45.441406],[-73.85293,45.515723],[-73.687451,45.561426],[-73.522461,45.701172],[-73.476074,45.704736],[-73.538867,45.546436],[-73.55166,45.489844],[-73.566504,45.469092]]],[[[-73.695312,45.585498],[-73.815918,45.564893],[-73.857715,45.573584],[-73.724658,45.671826],[-73.572363,45.694482],[-73.695312,45.585498]]],[[[-71.025732,46.872949],[-71.11665,46.864844],[-71.094971,46.899561],[-70.97085,46.961426],[-70.879639,46.996094],[-70.825781,46.995361],[-70.913477,46.919531],[-71.025732,46.872949]]],[[[-55.536133,50.719678],[-55.569678,50.708691],[-55.600781,50.709033],[-55.629346,50.720801],[-55.633887,50.740186],[-55.604492,50.780713],[-55.527197,50.801221],[-55.469287,50.796387],[-55.472754,50.775928],[-55.503809,50.742139],[-55.536133,50.719678]]],[[[-54.554395,49.588867],[-54.708691,49.530664],[-54.743848,49.507764],[-54.786523,49.496143],[-54.818506,49.514453],[-54.863574,49.576074],[-54.85542,49.596582],[-54.813086,49.599365],[-54.78877,49.591211],[-54.782617,49.57207],[-54.764062,49.562354],[-54.733105,49.562158],[-54.61875,49.62207],[-54.55918,49.631494],[-54.537695,49.619971],[-54.554395,49.588867]]],[[[-55.36123,51.889648],[-55.408887,51.888818],[-55.419629,51.900049],[-55.399805,51.938477],[-55.346484,51.982861],[-55.274072,51.995166],[-55.293555,51.92998],[-55.36123,51.889648]]],[[[-54.093701,49.744434],[-54.019922,49.679492],[-53.980664,49.661963],[-54.238379,49.59165],[-54.269238,49.587012],[-54.286133,49.595361],[-54.28877,49.66084],[-54.277637,49.711475],[-54.258984,49.718994],[-54.199365,49.688525],[-54.137695,49.751172],[-54.093701,49.744434]]],[[[-54.227148,47.441357],[-54.276074,47.406543],[-54.325977,47.408105],[-54.320117,47.438525],[-54.258691,47.497656],[-54.227393,47.53999],[-54.22627,47.565527],[-54.214941,47.585107],[-54.168359,47.60708],[-54.128174,47.646826],[-54.147559,47.573096],[-54.227148,47.441357]]],[[[-64.823828,62.55874],[-64.631836,62.547998],[-64.515332,62.551807],[-64.465039,62.535938],[-64.418066,62.487402],[-64.47832,62.417871],[-64.546484,62.391406],[-64.657422,62.383594],[-64.837305,62.40625],[-64.901221,62.421045],[-64.956494,62.45835],[-64.930762,62.48501],[-64.841943,62.494141],[-64.8271,62.50498],[-64.849854,62.525439],[-64.848779,62.543311],[-64.823828,62.55874]]],[[[-68.233789,60.240918],[-68.324121,60.23291],[-68.365234,60.254053],[-68.367871,60.314746],[-68.338281,60.360596],[-68.234766,60.455566],[-68.141895,60.562012],[-68.087598,60.587842],[-67.978027,60.57041],[-67.914209,60.539844],[-67.847559,60.488818],[-67.818848,60.449512],[-67.844238,60.39165],[-67.922314,60.339893],[-68.012305,60.304639],[-68.233789,60.240918]]],[[[-70.337061,62.54873],[-70.406348,62.544824],[-70.541504,62.552344],[-70.686572,62.573193],[-70.766064,62.596875],[-70.837549,62.648096],[-70.85127,62.704346],[-70.986133,62.787793],[-71.136914,62.815918],[-71.220117,62.873926],[-71.134863,62.877979],[-71.013672,62.865332],[-70.834619,62.840088],[-70.674316,62.807031],[-70.442627,62.733789],[-70.366797,62.66582],[-70.291504,62.615967],[-70.268848,62.578076],[-70.288574,62.561572],[-70.337061,62.54873]]],[[[-64.832617,61.366064],[-64.856836,61.354443],[-64.879785,61.35708],[-64.954248,61.4104],[-65.054395,61.432031],[-65.091504,61.452979],[-65.393896,61.562842],[-65.426807,61.611035],[-65.432129,61.649512],[-65.331641,61.668262],[-65.129785,61.685693],[-64.954443,61.685107],[-64.789648,61.662207],[-64.756348,61.637646],[-64.66958,61.593018],[-64.690967,61.539355],[-64.696387,61.471484],[-64.732324,61.438428],[-64.787598,61.413281],[-64.832617,61.366064]]],[[[-65.030566,61.879053],[-65.008057,61.870264],[-64.981055,61.880615],[-64.960547,61.87168],[-64.94668,61.843359],[-64.923535,61.82373],[-64.865137,61.798145],[-64.845508,61.779883],[-64.84707,61.761523],[-64.896582,61.733301],[-64.927734,61.73252],[-65.165918,61.797656],[-65.230273,61.864014],[-65.235352,61.897705],[-65.210547,61.928369],[-65.173926,61.943213],[-65.125635,61.942236],[-65.068359,61.926025],[-65.030566,61.879053]]],[[[-69.160059,59.040234],[-69.22085,58.967578],[-69.301709,58.976611],[-69.330811,58.961621],[-69.352832,58.960742],[-69.316309,59.028955],[-69.311523,59.074805],[-69.32998,59.12124],[-69.303223,59.144873],[-69.195166,59.146143],[-69.193799,59.092773],[-69.180664,59.072705],[-69.155176,59.063574],[-69.160059,59.040234]]],[[[-64.407031,60.36709],[-64.441943,60.297852],[-64.558203,60.323242],[-64.737939,60.375635],[-64.808984,60.4104],[-64.833789,60.448437],[-64.836426,60.501025],[-64.782568,60.509619],[-64.646289,60.5146],[-64.53252,60.441406],[-64.499805,60.430225],[-64.407031,60.36709]]],[[[-60.994482,56.039307],[-60.982715,56.015137],[-61.137012,56.032568],[-61.191309,56.047852],[-61.19585,56.063916],[-61.188184,56.088965],[-61.157568,56.118359],[-61.086914,56.14082],[-61.048535,56.129248],[-60.966406,56.098828],[-60.955371,56.08042],[-60.994482,56.039307]]],[[[-61.743604,57.55459],[-61.659521,57.524951],[-61.6375,57.416064],[-61.795264,57.422461],[-61.975488,57.49541],[-62.01123,57.548486],[-62.007227,57.557617],[-61.983301,57.566748],[-61.9375,57.554102],[-61.893066,57.573145],[-61.84834,57.579346],[-61.743604,57.55459]]],[[[-67.914697,69.540967],[-67.940283,69.534863],[-68.202344,69.58042],[-68.221387,69.616748],[-68.093262,69.657031],[-67.989111,69.67876],[-67.908838,69.681836],[-67.829102,69.675],[-67.75459,69.631445],[-67.844922,69.591748],[-67.914697,69.540967]]],[[[-62.681543,67.056299],[-62.80542,67.028809],[-62.871631,67.062598],[-62.825098,67.072119],[-62.756982,67.112549],[-62.664404,67.148242],[-62.625293,67.176953],[-62.469727,67.190039],[-62.416797,67.188477],[-62.396338,67.17832],[-62.484619,67.134229],[-62.681543,67.056299]]],[[[-79.063086,75.925879],[-79.051758,75.866992],[-79.124414,75.869678],[-79.355664,75.831152],[-79.544531,75.825635],[-79.63877,75.84292],[-79.69873,75.883252],[-79.55127,75.95835],[-79.381787,76.01084],[-79.17832,76.092383],[-79.009326,76.145898],[-78.925879,76.134668],[-78.845166,76.106299],[-78.946436,76.025439],[-79.056641,75.985156],[-79.063086,75.925879]]],[[[-79.866992,56.774561],[-79.894482,56.757129],[-79.943652,56.776758],[-79.945703,56.826904],[-79.898145,56.865283],[-79.860547,56.863525],[-79.82666,56.843115],[-79.83501,56.816016],[-79.866992,56.774561]]],[[[-79.716504,57.515527],[-79.732227,57.50752],[-79.775195,57.514453],[-79.792041,57.448584],[-79.808447,57.442432],[-79.838232,57.483008],[-79.815918,57.517725],[-79.819141,57.541602],[-79.81084,57.559277],[-79.767871,57.59873],[-79.742578,57.607959],[-79.726709,57.60459],[-79.713477,57.555029],[-79.716504,57.515527]]],[[[-79.518164,56.656689],[-79.553467,56.643848],[-79.577393,56.644922],[-79.550732,56.733496],[-79.581738,56.764844],[-79.583545,56.780957],[-79.570117,56.795703],[-79.552881,56.79873],[-79.51123,56.771436],[-79.491064,56.742676],[-79.482178,56.714404],[-79.48457,56.686523],[-79.496533,56.667285],[-79.518164,56.656689]]],[[[-79.938232,53.30415],[-79.939307,53.274268],[-80.004102,53.280078],[-80.039355,53.297168],[-80.067871,53.324072],[-80.074023,53.344287],[-80.049707,53.364453],[-79.974561,53.352246],[-79.938232,53.30415]]],[[[-79.384277,51.951953],[-79.425586,51.944873],[-79.520605,51.95293],[-79.596875,51.978027],[-79.64375,52.010059],[-79.334863,52.098145],[-79.271289,52.086816],[-79.270215,52.071094],[-79.316602,52.023926],[-79.328955,51.992285],[-79.351514,51.968311],[-79.384277,51.951953]]],[[[-123.372363,48.886133],[-123.384814,48.875195],[-123.541016,48.945947],[-123.645605,49.038623],[-123.689258,49.095117],[-123.482324,48.954687],[-123.37793,48.908252],[-123.372363,48.886133]]],[[[-124.977734,50.02959],[-125.001563,50.020752],[-125.025977,50.134082],[-124.995654,50.175195],[-124.987012,50.19585],[-124.99082,50.217139],[-124.937842,50.165918],[-124.916406,50.131543],[-124.907471,50.083984],[-124.908447,50.071289],[-124.977734,50.02959]]],[[[-73.621729,67.783838],[-74.109082,67.78252],[-74.374072,67.7896],[-74.480713,67.804883],[-74.573389,67.828662],[-74.678613,67.905566],[-74.745996,67.984814],[-74.749268,68.018457],[-74.731445,68.048779],[-74.706543,68.06709],[-74.379395,68.093457],[-74.111377,68.060596],[-73.880713,68.021924],[-73.584033,68.015332],[-73.49375,68.000635],[-73.459229,67.989893],[-73.435254,67.97002],[-73.401562,67.878711],[-73.398193,67.829932],[-73.407178,67.793066],[-73.621729,67.783838]]],[[[-77.876709,63.470557],[-77.79209,63.427832],[-77.703711,63.430859],[-77.654785,63.395996],[-77.538477,63.287061],[-77.527295,63.268945],[-77.532715,63.233643],[-77.593896,63.188428],[-77.657666,63.1646],[-77.791455,63.12959],[-77.942432,63.114404],[-78.024414,63.138867],[-78.255957,63.239844],[-78.46875,63.35791],[-78.536768,63.42373],[-78.507324,63.451123],[-78.417285,63.469971],[-78.234912,63.489551],[-77.933936,63.478955],[-77.876709,63.470557]]],[[[-94.526562,75.749316],[-94.624365,75.748877],[-94.751465,75.769678],[-94.787354,75.791406],[-94.814746,75.821191],[-94.833643,75.858984],[-94.860107,75.889209],[-94.894092,75.911865],[-94.901221,75.930762],[-94.881348,75.945947],[-94.839795,75.954443],[-94.744824,75.957227],[-94.537891,75.996436],[-94.498682,75.992188],[-94.471289,75.971436],[-94.443359,75.91709],[-94.41377,75.884863],[-94.332227,75.825977],[-94.296289,75.788086],[-94.304004,75.776318],[-94.329541,75.765918],[-94.526562,75.749316]]],[[[-80.285254,59.624121],[-80.317236,59.621045],[-80.324658,59.633203],[-80.298975,59.67417],[-80.256641,59.67915],[-80.209961,59.724609],[-80.167236,59.708887],[-80.183057,59.683496],[-80.240527,59.644922],[-80.285254,59.624121]]],[[[-80.064209,59.770801],[-80.16709,59.763867],[-80.122217,59.823193],[-80.083643,59.851855],[-80.041162,59.870166],[-79.955859,59.876953],[-79.898633,59.853125],[-79.949609,59.809912],[-80.064209,59.770801]]],[[[-96.782324,72.936621],[-96.943799,72.926709],[-97.092773,72.996924],[-97.097656,73.062402],[-97.087695,73.098486],[-97.069238,73.130176],[-97.01499,73.157275],[-96.862402,73.188818],[-96.793164,73.165479],[-96.767773,73.137305],[-96.744434,73.12627],[-96.645996,73.101904],[-96.598486,73.073828],[-96.603516,73.041553],[-96.6354,72.992432],[-96.670605,72.960938],[-96.709229,72.946973],[-96.782324,72.936621]]],[[[-97.355518,74.526318],[-97.656104,74.465674],[-97.721582,74.489209],[-97.75,74.510547],[-97.516309,74.60249],[-97.416504,74.626563],[-97.318213,74.597998],[-97.291309,74.576367],[-97.303857,74.559668],[-97.355518,74.526318]]],[[[-98.270361,73.868506],[-98.558203,73.847412],[-98.691064,73.856494],[-98.761377,73.828857],[-98.816602,73.817139],[-98.973926,73.812061],[-99.298047,73.861963],[-99.385156,73.879297],[-99.416992,73.89541],[-99.403809,73.910889],[-99.345605,73.925732],[-99.096875,73.948291],[-99.004687,73.964941],[-98.966699,73.988184],[-98.904492,74.006885],[-98.818164,74.020996],[-98.584961,74.034521],[-98.061035,74.104687],[-97.800439,74.114648],[-97.698242,74.108691],[-97.667432,74.090137],[-97.659131,74.071631],[-97.67334,74.053027],[-97.754736,74.005518],[-97.861084,73.968457],[-98.146973,73.888818],[-98.270361,73.868506]]],[[[-90.199805,69.419092],[-90.177393,69.35708],[-90.267285,69.2729],[-90.295459,69.257812],[-90.330273,69.252197],[-90.364062,69.262598],[-90.464697,69.328711],[-90.492041,69.369873],[-90.455127,69.390479],[-90.377246,69.416211],[-90.32207,69.428711],[-90.252832,69.41792],[-90.228564,69.436035],[-90.199805,69.419092]]],[[[-90.492578,69.221094],[-90.574414,69.209424],[-90.625781,69.250928],[-90.667432,69.259473],[-90.685889,69.287158],[-90.771582,69.292578],[-90.765674,69.335986],[-90.742383,69.357324],[-90.662793,69.37417],[-90.599707,69.367822],[-90.539844,69.324609],[-90.510645,69.29043],[-90.485352,69.246631],[-90.492578,69.221094]]],[[[-74.000439,62.618408],[-74.053564,62.609668],[-74.253516,62.621973],[-74.499512,62.668799],[-74.626465,62.712744],[-74.619971,62.726318],[-74.564209,62.733301],[-74.500928,62.726514],[-74.394775,62.695801],[-74.108936,62.680322],[-74.016797,62.662695],[-73.988184,62.636084],[-74.000439,62.618408]]],[[[-74.880859,68.348682],[-74.959326,68.342236],[-75.07251,68.40415],[-75.310156,68.474463],[-75.400244,68.525488],[-75.403418,68.550146],[-75.396191,68.588818],[-75.370166,68.636084],[-75.287402,68.687744],[-75.199756,68.696094],[-75.074707,68.684717],[-74.983643,68.647607],[-74.884766,68.544629],[-74.818945,68.494434],[-74.798242,68.457959],[-74.830957,68.440723],[-74.82793,68.423779],[-74.812891,68.41333],[-74.818555,68.394092],[-74.844971,68.365967],[-74.880859,68.348682]]],[[[-78.531641,60.728564],[-78.668896,60.716895],[-78.669092,60.731348],[-78.612012,60.772314],[-78.399561,60.808105],[-78.241699,60.818652],[-78.278857,60.783887],[-78.372461,60.756396],[-78.531641,60.728564]]],[[[-78.982715,68.192822],[-79.064062,68.181787],[-79.174023,68.234961],[-79.174756,68.264453],[-79.153467,68.335254],[-78.952588,68.353027],[-78.868701,68.310303],[-78.828516,68.268164],[-78.982715,68.192822]]],[[[-76.677588,63.393945],[-76.783154,63.384033],[-76.921875,63.406348],[-77.057227,63.449756],[-77.364746,63.58833],[-77.133691,63.682031],[-76.763623,63.573584],[-76.652441,63.503564],[-76.677588,63.393945]]],[[[-79.430664,69.787793],[-79.390283,69.73042],[-79.36499,69.712354],[-79.402441,69.685156],[-79.552832,69.630859],[-79.881689,69.608691],[-80.04751,69.634326],[-79.971143,69.556348],[-79.954492,69.523486],[-79.977832,69.509668],[-80.046875,69.513867],[-80.161475,69.535938],[-80.227344,69.562402],[-80.244482,69.593164],[-80.268652,69.6],[-80.299707,69.582861],[-80.32959,69.586768],[-80.397852,69.632617],[-80.448047,69.649707],[-80.778223,69.677002],[-80.794775,69.689258],[-80.777539,69.710352],[-80.726611,69.74043],[-80.652539,69.750586],[-80.465918,69.737109],[-80.450684,69.744775],[-80.43833,69.782715],[-80.424219,69.797607],[-80.294922,69.793799],[-80.213672,69.801953],[-80.168848,69.782422],[-80.124609,69.737256],[-80.061768,69.745508],[-79.97085,69.738965],[-79.86958,69.755518],[-79.714844,69.795703],[-79.593994,69.810498],[-79.430664,69.787793]]],[[[-78.029102,69.714893],[-77.977832,69.664893],[-77.969141,69.638965],[-78.03999,69.608398],[-78.307227,69.551807],[-78.470068,69.502539],[-78.552393,69.491553],[-78.662061,69.502637],[-78.795312,69.479736],[-78.848193,69.482812],[-78.789307,69.523145],[-78.578564,69.638818],[-78.401855,69.650635],[-78.344189,69.674805],[-78.295508,69.667139],[-78.267334,69.687158],[-78.262451,69.716846],[-78.200732,69.739502],[-78.145215,69.739209],[-78.029102,69.714893]]],[[[-77.64209,63.991895],[-77.714062,63.945703],[-77.928809,63.962012],[-77.95791,63.976025],[-77.965967,63.99292],[-77.931348,64.014795],[-77.710791,64.035645],[-77.617285,64.037207],[-77.569385,64.03042],[-77.563623,64.02207],[-77.64209,63.991895]]],[[[-83.123486,66.282813],[-83.023877,66.270654],[-82.948145,66.271924],[-82.931348,66.257324],[-83.01084,66.208447],[-83.059863,66.199268],[-83.1479,66.234229],[-83.213916,66.277051],[-83.232568,66.302979],[-83.237842,66.331543],[-83.222266,66.336475],[-83.123486,66.282813]]],[[[-79.210645,68.845459],[-79.279736,68.838721],[-79.361377,68.857666],[-79.390479,68.890186],[-79.405762,68.923047],[-79.391162,68.939941],[-79.354736,68.955908],[-79.305225,68.992334],[-79.242676,69.049268],[-79.144971,69.087451],[-78.930469,69.1229],[-78.9,69.1354],[-78.804102,69.235107],[-78.771826,69.252197],[-78.662012,69.262354],[-78.650195,69.275195],[-78.689062,69.299756],[-78.689062,69.325098],[-78.650195,69.351221],[-78.59668,69.370605],[-78.45791,69.389502],[-78.332568,69.386035],[-78.300488,69.378711],[-78.272461,69.36123],[-78.234082,69.3146],[-78.228955,69.304004],[-78.287012,69.262695],[-78.438965,69.19917],[-78.53291,69.146045],[-78.551758,69.128662],[-78.560303,69.10625],[-78.595654,69.079053],[-78.705371,69.013672],[-78.779199,68.950488],[-78.852686,68.915674],[-79.053613,68.88291],[-79.210645,68.845459]]],[[[-76.995361,69.14375],[-77.121631,69.132129],[-77.215039,69.138086],[-77.275586,69.16167],[-77.321924,69.193604],[-77.379395,69.274023],[-77.358057,69.311523],[-77.351514,69.378662],[-77.340918,69.403857],[-77.318701,69.416309],[-77.187549,69.440088],[-77.10918,69.437402],[-76.994092,69.411768],[-76.745703,69.404004],[-76.684082,69.38042],[-76.668848,69.366162],[-76.67002,69.348584],[-76.687451,69.327686],[-76.810303,69.266748],[-76.869336,69.224854],[-76.91123,69.174658],[-76.995361,69.14375]]],[[[-86.913037,70.113232],[-86.798779,70.105273],[-86.691211,70.115039],[-86.612744,70.105713],[-86.563379,70.077246],[-86.530908,70.047656],[-86.515234,70.017041],[-86.557666,69.995312],[-86.734326,69.976318],[-86.854932,69.985742],[-86.983984,70.011133],[-87.043799,69.999854],[-87.19082,70.018555],[-87.263916,70.043945],[-87.323242,70.080127],[-87.323145,70.102246],[-87.168115,70.127246],[-87.107275,70.14668],[-86.913037,70.113232]]],[[[-83.725977,65.796729],[-83.59751,65.757471],[-83.469434,65.735205],[-83.263184,65.723291],[-83.23374,65.715039],[-83.233936,65.696582],[-83.263672,65.667822],[-83.332422,65.631055],[-83.381445,65.62998],[-83.49541,65.655957],[-83.537109,65.669189],[-83.583203,65.698633],[-83.606543,65.701367],[-83.636377,65.691504],[-83.644385,65.678516],[-83.630664,65.662354],[-83.649512,65.657764],[-83.787549,65.668896],[-83.809229,65.67832],[-83.798193,65.71001],[-83.701904,65.756201],[-83.786523,65.77041],[-83.813574,65.7875],[-83.938965,65.758447],[-84.008496,65.751514],[-84.118262,65.771777],[-84.129932,65.877441],[-84.143213,65.915967],[-84.193213,65.942139],[-84.222949,65.969775],[-84.270898,65.990625],[-84.370117,66.011816],[-84.450586,66.064404],[-84.467383,66.088281],[-84.456348,66.10625],[-84.407178,66.131006],[-84.122266,66.077832],[-83.950391,66.02749],[-83.786963,65.965771],[-83.701367,65.920117],[-83.693652,65.890381],[-83.714893,65.860742],[-83.765137,65.831152],[-83.725977,65.796729]]],[[[-86.595557,67.735938],[-86.638184,67.734863],[-86.705957,67.750146],[-86.861084,67.810498],[-86.892529,67.836572],[-86.908301,67.867041],[-86.908447,67.901953],[-86.89458,67.938086],[-86.84707,68.010254],[-86.937744,68.067578],[-86.959814,68.100244],[-86.94917,68.118701],[-86.898682,68.162891],[-86.884863,68.190527],[-86.833984,68.229687],[-86.7021,68.305615],[-86.569922,68.287695],[-86.451953,68.225488],[-86.421143,68.183447],[-86.430322,68.138721],[-86.42002,68.073926],[-86.390332,67.988916],[-86.382422,67.927295],[-86.396436,67.888965],[-86.446924,67.816992],[-86.489648,67.783594],[-86.546045,67.752197],[-86.595557,67.735938]]],[[[-84.674756,65.575],[-84.727002,65.563721],[-84.78291,65.570068],[-84.830273,65.598975],[-84.868945,65.650537],[-84.931152,65.68916],[-85.071973,65.737354],[-85.096338,65.756201],[-85.136279,65.82085],[-85.144043,65.885352],[-85.17417,65.94375],[-85.175684,65.972412],[-85.149609,66.015381],[-85.031396,66.025488],[-84.938574,66.008545],[-84.919824,65.997021],[-84.889453,65.97207],[-84.869531,65.941504],[-84.757373,65.858936],[-84.691748,65.793164],[-84.602637,65.657373],[-84.602246,65.631494],[-84.62627,65.604053],[-84.674756,65.575]]],[[[-93.043945,61.844092],[-93.084814,61.841699],[-93.176562,61.892725],[-93.19668,61.918555],[-93.075781,61.93501],[-92.993018,61.889697],[-92.999951,61.86748],[-93.043945,61.844092]]],[[[-101.226123,76.579346],[-101.485205,76.575],[-101.60498,76.587012],[-101.613086,76.60459],[-101.509473,76.627734],[-101.165039,76.66543],[-100.962158,76.73418],[-100.886475,76.742676],[-100.621582,76.75249],[-100.467236,76.750342],[-100.269141,76.734131],[-100.746582,76.64917],[-101.226123,76.579346]]],[[[-103.003369,78.146436],[-103.118213,78.126367],[-103.252246,78.138135],[-103.270996,78.150635],[-103.273584,78.165771],[-103.260059,78.183496],[-103.110449,78.24585],[-102.973291,78.267236],[-102.891797,78.27124],[-102.825537,78.250049],[-102.788281,78.218164],[-103.003369,78.146436]]],[[[-101.693555,77.696582],[-101.831055,77.687354],[-102.079834,77.692188],[-102.377832,77.728125],[-102.458203,77.770166],[-102.475049,77.83667],[-102.471533,77.873486],[-102.447705,77.880615],[-102.263184,77.889355],[-101.917871,77.899609],[-101.639404,77.89209],[-101.322021,77.85415],[-101.193213,77.829785],[-101.127588,77.812598],[-101.04624,77.777832],[-101.01958,77.762451],[-101.002051,77.735107],[-101.397656,77.729053],[-101.58457,77.718311],[-101.693555,77.696582]]],[[[-89.726465,76.507422],[-89.773291,76.493848],[-89.924121,76.500879],[-89.974121,76.487549],[-90.054297,76.495117],[-90.164551,76.523584],[-90.293506,76.579492],[-90.440967,76.662793],[-90.55625,76.73457],[-90.5625,76.754297],[-90.524805,76.787842],[-90.409521,76.810156],[-90.136328,76.836963],[-89.948779,76.83623],[-89.774561,76.782031],[-89.725293,76.763428],[-89.69541,76.741162],[-89.694434,76.719824],[-89.708643,76.701172],[-89.787549,76.659619],[-89.822119,76.630615],[-89.821924,76.602197],[-89.804785,76.561084],[-89.772949,76.533936],[-89.726367,76.520801],[-89.726465,76.507422]]],[[[-96.078564,75.510107],[-96.156396,75.477246],[-96.236621,75.474805],[-96.344482,75.505957],[-96.461621,75.494238],[-96.621973,75.431299],[-96.679004,75.394189],[-96.722852,75.380762],[-96.857129,75.369141],[-96.915137,75.379688],[-96.969629,75.412646],[-97.020654,75.468066],[-96.982812,75.509814],[-96.856152,75.537939],[-96.5229,75.583643],[-96.427686,75.606348],[-96.417236,75.630713],[-96.397266,75.646826],[-96.367822,75.654639],[-96.14541,75.613525],[-96.039844,75.585791],[-95.959863,75.554346],[-95.968604,75.541846],[-96.078564,75.510107]]],[[[-95.306641,74.50542],[-95.352441,74.500391],[-95.441504,74.506104],[-95.777197,74.550732],[-95.834375,74.569043],[-95.850732,74.582471],[-95.774414,74.598682],[-95.745605,74.615967],[-95.660449,74.636914],[-95.510205,74.636768],[-95.352539,74.585693],[-95.278369,74.539551],[-95.274463,74.519189],[-95.306641,74.50542]]],[[[-121.076221,75.745264],[-121.154297,75.740625],[-121.240918,75.751855],[-121.221094,75.77749],[-121.026318,75.84751],[-121.01543,75.867529],[-121.018066,75.883838],[-121.042285,75.902979],[-120.993018,75.927441],[-120.913965,75.9375],[-120.887793,75.927979],[-120.878711,75.906689],[-120.896875,75.844531],[-120.92124,75.814453],[-120.954932,75.78877],[-121.006641,75.765723],[-121.076221,75.745264]]],[[[-113.560693,76.743262],[-113.712451,76.710547],[-114.751465,76.758887],[-114.808301,76.774072],[-114.835254,76.794678],[-114.64707,76.851025],[-114.419873,76.875342],[-113.89165,76.894873],[-113.70752,76.872949],[-113.5854,76.847314],[-113.516504,76.825049],[-113.487598,76.783252],[-113.560693,76.743262]]],[[[-104.119922,75.036328],[-104.308691,75.030957],[-104.634326,75.061279],[-104.828125,75.119727],[-104.887402,75.147754],[-104.881641,75.160498],[-104.848096,75.173047],[-104.801318,75.211035],[-104.690381,75.320703],[-104.648828,75.349756],[-104.47417,75.413037],[-104.346191,75.429932],[-104.074658,75.424512],[-103.916992,75.391846],[-103.851172,75.370801],[-103.804102,75.345508],[-103.75791,75.289062],[-103.746484,75.252441],[-103.667236,75.210693],[-103.643506,75.186572],[-103.642139,75.162939],[-103.664258,75.139062],[-103.709717,75.11499],[-103.813916,75.079736],[-104.119922,75.036328]]],[[[-100.217236,68.806689],[-100.248779,68.775049],[-100.287939,68.766064],[-100.365723,68.728809],[-100.397314,68.723828],[-100.442578,68.747559],[-100.480664,68.786182],[-100.496924,68.792236],[-100.521045,68.790674],[-100.573389,68.766064],[-100.596533,68.766406],[-100.615967,68.78291],[-100.625391,68.815918],[-100.624658,68.865283],[-100.599902,68.941357],[-100.59834,68.969092],[-100.611572,68.990186],[-100.600635,69.009424],[-100.565479,69.026807],[-100.520312,69.035059],[-100.413965,69.028076],[-100.329932,68.997559],[-100.288965,68.957666],[-100.206885,68.926172],[-100.178467,68.903906],[-100.217236,68.806689]]],[[[-99.994678,69.013525],[-100.018018,68.954004],[-100.141309,68.969922],[-100.195703,68.991455],[-100.241992,69.040381],[-100.247363,69.052783],[-100.237061,69.071484],[-100.186963,69.114014],[-100.153125,69.129492],[-100.072803,69.111475],[-100.035352,69.086572],[-100.005615,69.047119],[-99.994678,69.013525]]],[[[-100.30835,70.495801],[-100.32124,70.487695],[-100.537256,70.525],[-100.620654,70.546924],[-100.647754,70.563135],[-100.666943,70.59624],[-100.67832,70.646191],[-100.635303,70.670312],[-100.537939,70.668604],[-100.433936,70.649414],[-100.276123,70.594629],[-100.321094,70.578369],[-100.323242,70.542432],[-100.305518,70.508398],[-100.30835,70.495801]]],[[[-95.513672,69.573633],[-95.380908,69.506592],[-95.38208,69.474072],[-95.399414,69.419775],[-95.437451,69.378467],[-95.49624,69.350098],[-95.578516,69.33584],[-95.684375,69.335693],[-95.730127,69.347559],[-95.695898,69.389551],[-95.670166,69.402002],[-95.66582,69.438965],[-95.682812,69.500293],[-95.704102,69.538037],[-95.763623,69.559619],[-95.806201,69.560498],[-95.817773,69.540576],[-95.79834,69.499805],[-95.811816,69.447021],[-95.858203,69.382227],[-95.893457,69.351758],[-95.956055,69.367139],[-95.985937,69.391895],[-95.97793,69.432715],[-95.994775,69.469678],[-95.978857,69.508838],[-95.93623,69.567041],[-95.87583,69.606006],[-95.797754,69.625732],[-95.706641,69.624316],[-95.60249,69.601807],[-95.513672,69.573633]]],[[[-101.171729,69.39707],[-101.253516,69.388477],[-101.268506,69.390576],[-101.261523,69.417822],[-101.267627,69.431494],[-101.289502,69.44126],[-101.217773,69.462939],[-101.207324,69.479834],[-101.230127,69.492822],[-101.328467,69.517432],[-101.356494,69.539697],[-101.351318,69.559229],[-101.312891,69.576074],[-101.244873,69.573535],[-101.09834,69.540771],[-101.031152,69.495459],[-101.000635,69.461914],[-101.04917,69.456934],[-101.086865,69.443359],[-101.126953,69.414697],[-101.171729,69.39707]]],[[[-101.845898,68.586328],[-101.887207,68.584961],[-101.944629,68.602832],[-102.266357,68.663672],[-102.308154,68.681982],[-102.270508,68.707568],[-102.15332,68.740479],[-102.074365,68.774023],[-102.013379,68.825391],[-101.828369,68.798975],[-101.759326,68.774609],[-101.732959,68.753418],[-101.721631,68.724121],[-101.732031,68.652148],[-101.794287,68.636865],[-101.845898,68.586328]]],[[[-104.540674,68.405908],[-104.595996,68.402197],[-104.699463,68.418262],[-104.851123,68.453955],[-104.965234,68.491748],[-105.041748,68.531543],[-105.051367,68.559033],[-104.993994,68.574219],[-104.907275,68.581787],[-104.700391,68.576709],[-104.602002,68.561523],[-104.472119,68.503516],[-104.444531,68.470703],[-104.440479,68.449512],[-104.457129,68.431152],[-104.540674,68.405908]]],[[[-107.899854,67.401807],[-107.950244,67.318213],[-107.969531,67.326025],[-108.003955,67.365918],[-108.07334,67.385059],[-108.152246,67.429443],[-108.151123,67.524805],[-108.12085,67.568164],[-108.127539,67.628564],[-108.048975,67.664893],[-107.990869,67.622119],[-107.974902,67.549365],[-107.989355,67.513574],[-107.931787,67.476465],[-107.905176,67.467041],[-107.890967,67.437207],[-107.899854,67.401807]]],[[[-109.166406,67.982373],[-109.053906,67.971875],[-108.970508,67.979736],[-108.909619,67.939404],[-108.886035,67.898535],[-108.893848,67.884473],[-108.920166,67.878809],[-109.09624,67.924023],[-109.161523,67.951709],[-109.183594,67.975],[-109.166406,67.982373]]],[[[-108.092725,67.005176],[-107.966455,66.997266],[-107.805518,66.998584],[-107.83335,66.921338],[-107.895166,66.871875],[-107.943945,66.857812],[-107.965137,66.884863],[-108.059717,66.946875],[-108.092725,67.005176]]],[[[-109.323145,67.990869],[-109.36084,67.987598],[-109.497949,68.047021],[-109.469141,68.097998],[-109.341699,68.04585],[-109.323535,68.01333],[-109.323145,67.990869]]],[[[-139.043115,69.576904],[-139.125732,69.539307],[-139.256982,69.578564],[-139.291406,69.597852],[-139.1396,69.649609],[-139.072656,69.647656],[-138.931543,69.616943],[-138.878857,69.589697],[-139.043115,69.576904]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":3,"SOVEREIGNT":"Cameroon","SOV_A3":"CMR","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Cameroon","ADM0_A3":"CMR","GEOU_DIF":0,"GEOUNIT":"Cameroon","GU_A3":"CMR","SU_DIF":0,"SUBUNIT":"Cameroon","SU_A3":"CMR","BRK_DIFF":0,"NAME":"Cameroon","NAME_LONG":"Cameroon","BRK_A3":"CMR","BRK_NAME":"Cameroon","BRK_GROUP":null,"ABBREV":"Cam.","POSTAL":"CM","FORMAL_EN":"Republic of Cameroon","FORMAL_FR":null,"NAME_CIAWF":"Cameroon","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Cameroon","NAME_ALT":null,"MAPCOLOR7":1,"MAPCOLOR8":4,"MAPCOLOR9":1,"MAPCOLOR13":3,"POP_EST":25876380,"POP_RANK":15,"POP_YEAR":2019,"GDP_MD":39007,"GDP_YEAR":2019,"ECONOMY":"6. Developing region","INCOME_GRP":"4. Lower middle income","FIPS_10":"CM","ISO_A2":"CM","ISO_A2_EH":"CM","ISO_A3":"CMR","ISO_A3_EH":"CMR","ISO_N3":"120","ISO_N3_EH":"120","UN_A3":"120","WB_A2":"CM","WB_A3":"CMR","WOE_ID":23424785,"WOE_ID_EH":23424785,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"CMR","ADM0_DIFF":null,"ADM0_TLC":"CMR","ADM0_A3_US":"CMR","ADM0_A3_FR":"CMR","ADM0_A3_RU":"CMR","ADM0_A3_ES":"CMR","ADM0_A3_CN":"CMR","ADM0_A3_TW":"CMR","ADM0_A3_IN":"CMR","ADM0_A3_NP":"CMR","ADM0_A3_PK":"CMR","ADM0_A3_DE":"CMR","ADM0_A3_GB":"CMR","ADM0_A3_BR":"CMR","ADM0_A3_IL":"CMR","ADM0_A3_PS":"CMR","ADM0_A3_SA":"CMR","ADM0_A3_EG":"CMR","ADM0_A3_MA":"CMR","ADM0_A3_PT":"CMR","ADM0_A3_AR":"CMR","ADM0_A3_JP":"CMR","ADM0_A3_KO":"CMR","ADM0_A3_VN":"CMR","ADM0_A3_TR":"CMR","ADM0_A3_ID":"CMR","ADM0_A3_PL":"CMR","ADM0_A3_GR":"CMR","ADM0_A3_IT":"CMR","ADM0_A3_NL":"CMR","ADM0_A3_SE":"CMR","ADM0_A3_BD":"CMR","ADM0_A3_UA":"CMR","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Africa","REGION_UN":"Africa","SUBREGION":"Middle Africa","REGION_WB":"Sub-Saharan Africa","NAME_LEN":8,"LONG_LEN":8,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":3,"MAX_LABEL":8,"LABEL_X":12.473488,"LABEL_Y":4.585041,"NE_ID":1159320509,"WIKIDATAID":"Q1009","NAME_AR":"الكاميرون","NAME_BN":"ক্যামেরুন","NAME_DE":"Kamerun","NAME_EN":"Cameroon","NAME_ES":"Camerún","NAME_FA":"کامرون","NAME_FR":"Cameroun","NAME_EL":"Καμερούν","NAME_HE":"קמרון","NAME_HI":"कैमरुन","NAME_HU":"Kamerun","NAME_ID":"Kamerun","NAME_IT":"Camerun","NAME_JA":"カメルーン","NAME_KO":"카메룬","NAME_NL":"Kameroen","NAME_PL":"Kamerun","NAME_PT":"Camarões","NAME_RU":"Камерун","NAME_SV":"Kamerun","NAME_TR":"Kamerun","NAME_UK":"Камерун","NAME_UR":"کیمرون","NAME_VI":"Cameroon","NAME_ZH":"喀麦隆","NAME_ZHT":"喀麥隆","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[8.532813,1.676221,16.183398,13.078516],"geometry":{"type":"Polygon","coordinates":[[[8.555859,4.755225],[8.585156,4.832812],[8.640527,4.927002],[8.715625,5.046875],[8.800977,5.197461],[8.85918,5.46377],[8.898828,5.629687],[8.935059,5.781006],[8.997168,5.917725],[9.060156,6.009082],[9.23877,6.186133],[9.37334,6.319629],[9.442188,6.373389],[9.490234,6.418652],[9.574023,6.47041],[9.659961,6.531982],[9.725586,6.65],[9.779883,6.760156],[9.820703,6.783936],[9.874219,6.803271],[10.038867,6.921387],[10.143555,6.996436],[10.167773,6.95918],[10.185547,6.912793],[10.205469,6.891602],[10.293066,6.876758],[10.413184,6.877734],[10.482324,6.89126],[10.519043,6.930469],[10.556348,7.037451],[10.578125,7.057715],[10.60625,7.063086],[10.737598,6.988281],[10.846484,6.881787],[10.954199,6.776562],[11.008691,6.739111],[11.03252,6.6979],[11.079688,6.505518],[11.106445,6.457715],[11.15332,6.437939],[11.237305,6.450537],[11.324609,6.484668],[11.401758,6.533936],[11.477539,6.597412],[11.529102,6.655029],[11.55166,6.697266],[11.562988,6.854639],[11.580078,6.888867],[11.65752,6.951562],[11.787012,7.056201],[11.861426,7.116406],[11.854785,7.137988],[11.808594,7.201953],[11.767383,7.272266],[11.80918,7.345068],[11.852441,7.400732],[12.016016,7.589746],[12.016602,7.652002],[12.025195,7.727783],[12.155957,7.94248],[12.231152,8.227393],[12.233398,8.282324],[12.311328,8.419727],[12.403516,8.595557],[12.582715,8.624121],[12.651563,8.667773],[12.731152,8.745654],[12.782227,8.817871],[12.806543,8.886621],[12.824414,9.019434],[12.855957,9.170752],[12.875684,9.303516],[12.929492,9.42627],[13.019434,9.48833],[13.175488,9.539648],[13.19873,9.56377],[13.221191,9.645166],[13.23877,9.814014],[13.24375,9.915918],[13.249805,9.960059],[13.269922,10.036182],[13.414551,10.171436],[13.478516,10.383252],[13.535352,10.605078],[13.699902,10.873145],[13.89209,11.140088],[13.981445,11.211865],[14.056738,11.24502],[14.143262,11.248535],[14.202344,11.268164],[14.409473,11.401172],[14.496094,11.446143],[14.559766,11.492285],[14.575391,11.532422],[14.581641,11.591162],[14.561816,11.728711],[14.597363,11.829834],[14.618164,11.986621],[14.627148,12.108691],[14.619727,12.150977],[14.587012,12.209424],[14.580957,12.22207],[14.518945,12.298242],[14.41543,12.344141],[14.272852,12.356494],[14.197461,12.383789],[14.184863,12.447217],[14.177637,12.484082],[14.170313,12.524072],[14.160059,12.612793],[14.063965,13.078516],[14.244824,13.077344],[14.461719,13.021777],[14.516211,12.979736],[14.544727,12.820215],[14.623242,12.729932],[14.76123,12.655615],[14.84707,12.5021],[14.880664,12.269385],[14.956738,12.130371],[14.973828,12.10835],[15.059863,11.907129],[15.08125,11.845508],[15.087695,11.724365],[15.078027,11.642578],[15.121973,11.54126],[15.055469,11.368555],[15.035742,11.2625],[15.029883,11.113672],[15.068652,10.851074],[15.132227,10.648486],[15.200977,10.484521],[15.276074,10.357373],[15.399902,10.216895],[15.531934,10.088477],[15.654883,10.007812],[15.540918,9.960303],[15.32002,9.954297],[15.193164,9.981494],[15.132715,9.982861],[15.071582,9.965967],[14.83584,9.941699],[14.597949,9.953076],[14.377246,9.985059],[14.243262,9.979736],[14.139746,9.901807],[14.055957,9.784375],[13.977246,9.691553],[14.00498,9.588721],[14.06416,9.531738],[14.17793,9.406494],[14.280078,9.285059],[14.332324,9.203516],[14.536133,9.025244],[14.732813,8.865674],[14.771289,8.83916],[14.82627,8.810303],[14.860742,8.798633],[14.967969,8.707275],[15.116211,8.557324],[15.252344,8.322363],[15.349023,8.083838],[15.442969,7.851855],[15.484473,7.812744],[15.549805,7.787891],[15.557813,7.738037],[15.552637,7.664502],[15.532422,7.604395],[15.480078,7.523779],[15.379102,7.358154],[15.245898,7.263574],[15.206738,7.206152],[15.18584,7.134912],[15.157129,7.063574],[15.086328,6.909912],[15.03457,6.784424],[14.982715,6.745312],[14.861914,6.555713],[14.780371,6.365723],[14.764063,6.316357],[14.739258,6.279785],[14.699512,6.250244],[14.559375,6.191211],[14.512109,6.161914],[14.475,6.126807],[14.440723,6.086719],[14.431152,6.038721],[14.463867,5.970703],[14.503125,5.916895],[14.54248,5.913574],[14.577246,5.916016],[14.598828,5.883984],[14.616895,5.865137],[14.616895,5.495508],[14.583594,5.439648],[14.584375,5.414746],[14.568066,5.351074],[14.562988,5.279932],[14.573535,5.251709],[14.601758,5.228809],[14.640625,5.179053],[14.661719,5.065527],[14.708984,4.665576],[14.73125,4.602393],[14.77041,4.558105],[14.893555,4.471875],[15.022754,4.358545],[15.063574,4.284863],[15.0875,4.163965],[15.136914,4.069141],[15.13584,4.036914],[15.11543,4.024463],[15.067383,4.022949],[15.034863,4.016357],[15.062109,3.947217],[15.128711,3.826904],[15.239844,3.702148],[15.360156,3.567139],[15.458398,3.456836],[15.580859,3.329297],[15.676563,3.229687],[15.775,3.127197],[15.849316,3.103076],[15.904883,3.09585],[15.928711,3.075781],[15.958008,3.028711],[16.008203,2.97666],[16.063477,2.908594],[16.082422,2.839111],[16.059277,2.772998],[16.082129,2.678174],[16.083496,2.67002],[16.101855,2.632666],[16.095508,2.599219],[16.106738,2.473486],[16.136133,2.36377],[16.183398,2.270068],[16.182617,2.262451],[16.176563,2.204785],[16.115723,2.167822],[16.080078,2.106787],[16.069629,2.02168],[16.087891,1.918066],[16.134961,1.795947],[16.136133,1.724219],[16.119531,1.714111],[16.090332,1.69126],[16.059375,1.676221],[15.975195,1.76001],[15.881641,1.816602],[15.741602,1.91499],[15.600293,1.950391],[15.41748,1.956738],[15.33877,1.944727],[15.282422,1.981738],[15.203516,2.024463],[15.160059,2.035596],[15.099609,2.002344],[15.057813,2.000879],[15.006445,2.01377],[14.902441,2.012305],[14.892773,2.069336],[14.875,2.080469],[14.762891,2.075195],[14.72832,2.122412],[14.713281,2.117139],[14.669141,2.13208],[14.578906,2.199121],[14.484082,2.154736],[14.287012,2.160352],[14.034375,2.158887],[13.772754,2.157422],[13.533496,2.159521],[13.293555,2.161572],[13.269922,2.224219],[13.220313,2.256445],[13.130859,2.259424],[12.86748,2.246777],[12.665723,2.256787],[12.601367,2.265039],[12.529785,2.281348],[12.361328,2.295996],[12.153418,2.284375],[12.106152,2.2875],[11.939746,2.285156],[11.558984,2.302197],[11.348438,2.299707],[11.35332,2.261426],[11.339941,2.233838],[11.328711,2.167432],[11.096582,2.16748],[10.790918,2.167578],[10.502246,2.167627],[10.307031,2.167725],[9.979883,2.167773],[9.870117,2.213281],[9.836914,2.242383],[9.830371,2.275488],[9.826172,2.297803],[9.800781,2.304443],[9.821777,2.539258],[9.867578,2.734961],[9.885449,2.916553],[9.948438,3.079053],[9.915039,3.239648],[9.876172,3.309766],[9.67207,3.537598],[9.765723,3.623828],[9.642383,3.611768],[9.615918,3.696484],[9.556152,3.798047],[9.592773,3.814307],[9.628125,3.87002],[9.739648,3.85293],[9.736133,3.880127],[9.639941,3.965332],[9.649219,4.00835],[9.688867,4.056396],[9.669531,4.07666],[9.600391,4.026904],[9.550586,4.028418],[9.511816,4.060645],[9.483691,4.066113],[9.500781,4.000732],[9.462012,3.942529],[9.425293,3.922314],[9.362305,3.925732],[9.310938,3.940381],[9.297363,3.972949],[9.249121,3.997852],[9.113867,4.041064],[9.000098,4.091602],[8.977051,4.23042],[8.932031,4.290234],[8.913574,4.357812],[8.902832,4.435156],[8.918262,4.55376],[8.889453,4.572754],[8.856445,4.579248],[8.807129,4.573437],[8.761914,4.580029],[8.70791,4.645703],[8.660352,4.670996],[8.689648,4.550244],[8.65625,4.516357],[8.574414,4.526221],[8.539551,4.571875],[8.532813,4.605859],[8.570508,4.7521],[8.555859,4.755225]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":3,"SOVEREIGNT":"Cambodia","SOV_A3":"KHM","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Cambodia","ADM0_A3":"KHM","GEOU_DIF":0,"GEOUNIT":"Cambodia","GU_A3":"KHM","SU_DIF":0,"SUBUNIT":"Cambodia","SU_A3":"KHM","BRK_DIFF":0,"NAME":"Cambodia","NAME_LONG":"Cambodia","BRK_A3":"KHM","BRK_NAME":"Cambodia","BRK_GROUP":null,"ABBREV":"Camb.","POSTAL":"KH","FORMAL_EN":"Kingdom of Cambodia","FORMAL_FR":null,"NAME_CIAWF":"Cambodia","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Cambodia","NAME_ALT":null,"MAPCOLOR7":6,"MAPCOLOR8":3,"MAPCOLOR9":6,"MAPCOLOR13":5,"POP_EST":16486542,"POP_RANK":14,"POP_YEAR":2019,"GDP_MD":27089,"GDP_YEAR":2019,"ECONOMY":"7. Least developed region","INCOME_GRP":"5. Low income","FIPS_10":"CB","ISO_A2":"KH","ISO_A2_EH":"KH","ISO_A3":"KHM","ISO_A3_EH":"KHM","ISO_N3":"116","ISO_N3_EH":"116","UN_A3":"116","WB_A2":"KH","WB_A3":"KHM","WOE_ID":23424776,"WOE_ID_EH":23424776,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"KHM","ADM0_DIFF":null,"ADM0_TLC":"KHM","ADM0_A3_US":"KHM","ADM0_A3_FR":"KHM","ADM0_A3_RU":"KHM","ADM0_A3_ES":"KHM","ADM0_A3_CN":"KHM","ADM0_A3_TW":"KHM","ADM0_A3_IN":"KHM","ADM0_A3_NP":"KHM","ADM0_A3_PK":"KHM","ADM0_A3_DE":"KHM","ADM0_A3_GB":"KHM","ADM0_A3_BR":"KHM","ADM0_A3_IL":"KHM","ADM0_A3_PS":"KHM","ADM0_A3_SA":"KHM","ADM0_A3_EG":"KHM","ADM0_A3_MA":"KHM","ADM0_A3_PT":"KHM","ADM0_A3_AR":"KHM","ADM0_A3_JP":"KHM","ADM0_A3_KO":"KHM","ADM0_A3_VN":"KHM","ADM0_A3_TR":"KHM","ADM0_A3_ID":"KHM","ADM0_A3_PL":"KHM","ADM0_A3_GR":"KHM","ADM0_A3_IT":"KHM","ADM0_A3_NL":"KHM","ADM0_A3_SE":"KHM","ADM0_A3_BD":"KHM","ADM0_A3_UA":"KHM","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Asia","REGION_UN":"Asia","SUBREGION":"South-Eastern Asia","REGION_WB":"East Asia & Pacific","NAME_LEN":8,"LONG_LEN":8,"ABBREV_LEN":5,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":3,"MAX_LABEL":8,"LABEL_X":104.50487,"LABEL_Y":12.647584,"NE_ID":1159320979,"WIKIDATAID":"Q424","NAME_AR":"كمبوديا","NAME_BN":"কম্বোডিয়া","NAME_DE":"Kambodscha","NAME_EN":"Cambodia","NAME_ES":"Camboya","NAME_FA":"کامبوج","NAME_FR":"Cambodge","NAME_EL":"Καμπότζη","NAME_HE":"קמבודיה","NAME_HI":"कम्बोडिया","NAME_HU":"Kambodzsa","NAME_ID":"Kamboja","NAME_IT":"Cambogia","NAME_JA":"カンボジア","NAME_KO":"캄보디아","NAME_NL":"Cambodja","NAME_PL":"Kambodża","NAME_PT":"Camboja","NAME_RU":"Камбоджа","NAME_SV":"Kambodja","NAME_TR":"Kamboçya","NAME_UK":"Камбоджа","NAME_UR":"کمبوڈیا","NAME_VI":"Campuchia","NAME_ZH":"柬埔寨","NAME_ZHT":"柬埔寨","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[102.319727,10.41123,107.605469,14.705078],"geometry":{"type":"MultiPolygon","coordinates":[[[[103.045117,11.285059],[103.027344,11.275488],[103.010547,11.275781],[102.993359,11.29043],[102.99502,11.348096],[103.00752,11.383301],[103.036816,11.389941],[103.045117,11.285059]]],[[[103.317773,10.718506],[103.28125,10.679688],[103.222949,10.75957],[103.223437,10.781982],[103.317773,10.718506]]],[[[107.519434,14.705078],[107.535254,14.649951],[107.493164,14.545752],[107.448438,14.451221],[107.364453,14.368701],[107.360352,14.307861],[107.331445,14.126611],[107.342578,14.068896],[107.362109,14.019482],[107.389453,13.993018],[107.462305,13.815625],[107.528613,13.654199],[107.593945,13.52168],[107.605469,13.437793],[107.545508,13.225439],[107.475391,13.030371],[107.481543,12.933105],[107.511523,12.835742],[107.543555,12.705908],[107.555469,12.53999],[107.538086,12.431787],[107.506445,12.364551],[107.445996,12.295703],[107.393359,12.260498],[107.330078,12.319043],[107.279688,12.321582],[107.212109,12.304004],[107.158984,12.277051],[107.050684,12.175879],[106.930664,12.07749],[106.764648,12.052344],[106.700098,11.979297],[106.630957,11.969189],[106.499609,11.965527],[106.413867,11.948437],[106.417773,11.911719],[106.410742,11.738379],[106.4125,11.697803],[106.399219,11.687012],[106.339844,11.681836],[106.23916,11.70835],[106.10293,11.75127],[106.006055,11.758008],[105.95625,11.682471],[105.926562,11.65293],[105.889844,11.648389],[105.851465,11.63501],[105.838477,11.601318],[105.835352,11.559131],[105.854004,11.487061],[105.860938,11.372412],[105.856055,11.294287],[105.891602,11.244824],[106.099512,11.078662],[106.160937,11.037109],[106.167969,11.012305],[106.131543,10.921973],[106.163965,10.794922],[106.098828,10.797266],[105.990137,10.851807],[105.938184,10.885156],[105.875195,10.858496],[105.85332,10.863574],[105.810742,10.926074],[105.755078,10.98999],[105.697754,10.994043],[105.576563,10.968896],[105.452734,10.951416],[105.405762,10.951611],[105.386523,10.940088],[105.314648,10.845166],[105.284277,10.861475],[105.159473,10.897559],[105.045703,10.911377],[105.022266,10.886865],[105.036133,10.809375],[105.061133,10.733789],[105.046387,10.70166],[104.983887,10.661914],[104.90127,10.590234],[104.850586,10.534473],[104.81543,10.520801],[104.689648,10.523242],[104.564258,10.515967],[104.514063,10.46333],[104.466992,10.422363],[104.426367,10.41123],[104.262402,10.54126],[103.937109,10.586621],[103.901758,10.643945],[103.870508,10.655127],[103.840527,10.580566],[103.661914,10.508936],[103.587109,10.552197],[103.532227,10.604639],[103.54043,10.668701],[103.59209,10.721045],[103.680859,10.758594],[103.721875,10.890137],[103.654297,11.058691],[103.59502,11.107764],[103.532422,11.14668],[103.466699,11.083984],[103.411328,10.976758],[103.353613,10.921582],[103.272168,10.909277],[103.152832,10.913721],[103.106445,11.073779],[103.091113,11.211084],[103.107422,11.367773],[103.125488,11.460645],[103.010547,11.588672],[103.004199,11.710596],[102.948633,11.773486],[102.932324,11.741699],[102.933887,11.706689],[102.918066,11.73208],[102.736621,12.089795],[102.70625,12.255664],[102.737402,12.383398],[102.755664,12.42627],[102.70332,12.493506],[102.629687,12.569922],[102.499609,12.669971],[102.490723,12.82832],[102.461719,13.015039],[102.422656,13.077979],[102.362988,13.192969],[102.330762,13.288232],[102.319727,13.53999],[102.336328,13.560303],[102.428516,13.567578],[102.546875,13.585693],[102.565527,13.626367],[102.544727,13.659961],[102.62041,13.716943],[102.728906,13.841895],[102.812793,13.972461],[102.873242,14.054883],[102.909277,14.136719],[103.031055,14.252539],[103.199414,14.332617],[103.313477,14.351318],[103.432422,14.378613],[103.546387,14.417432],[103.600391,14.421094],[103.741895,14.37417],[103.818359,14.362158],[103.898633,14.362793],[103.981836,14.35791],[104.054297,14.362744],[104.227734,14.395508],[104.411621,14.36958],[104.575781,14.390039],[104.779004,14.427832],[104.878809,14.404004],[104.969727,14.366113],[104.982422,14.289453],[105.003418,14.254443],[105.033691,14.227393],[105.074121,14.227441],[105.125977,14.280957],[105.169141,14.336084],[105.183301,14.34624],[105.185547,14.319092],[105.207031,14.259375],[105.245703,14.200537],[105.284863,14.161475],[105.350195,14.10957],[105.392676,14.10708],[105.531543,14.156152],[105.739746,14.084961],[105.764063,14.049072],[105.831445,13.976611],[105.904492,13.924512],[106.066797,13.921191],[106.124707,14.049121],[106.09668,14.1271],[106.004102,14.262891],[105.978906,14.343018],[106.008398,14.357178],[106.165234,14.372363],[106.190723,14.388135],[106.225391,14.476221],[106.267969,14.466211],[106.35498,14.454785],[106.446973,14.515039],[106.501465,14.578223],[106.531152,14.549414],[106.563672,14.505078],[106.599219,14.479395],[106.66543,14.441309],[106.738184,14.387744],[106.783496,14.335107],[106.819922,14.314697],[106.913184,14.329395],[106.938086,14.327344],[106.992187,14.391016],[107.030176,14.425684],[107.062402,14.415771],[107.109375,14.416699],[107.206641,14.4979],[107.262305,14.572119],[107.292676,14.592383],[107.379883,14.555322],[107.414746,14.562891],[107.465137,14.66499],[107.519434,14.705078]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":3,"SOVEREIGNT":"Myanmar","SOV_A3":"MMR","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Myanmar","ADM0_A3":"MMR","GEOU_DIF":0,"GEOUNIT":"Myanmar","GU_A3":"MMR","SU_DIF":0,"SUBUNIT":"Myanmar","SU_A3":"MMR","BRK_DIFF":0,"NAME":"Myanmar","NAME_LONG":"Myanmar","BRK_A3":"MMR","BRK_NAME":"Myanmar","BRK_GROUP":null,"ABBREV":"Myan.","POSTAL":"MM","FORMAL_EN":"Republic of the Union of Myanmar","FORMAL_FR":null,"NAME_CIAWF":"Burma","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Myanmar","NAME_ALT":null,"MAPCOLOR7":2,"MAPCOLOR8":2,"MAPCOLOR9":5,"MAPCOLOR13":13,"POP_EST":54045420,"POP_RANK":16,"POP_YEAR":2019,"GDP_MD":76085,"GDP_YEAR":2019,"ECONOMY":"7. Least developed region","INCOME_GRP":"5. Low income","FIPS_10":"BM","ISO_A2":"MM","ISO_A2_EH":"MM","ISO_A3":"MMR","ISO_A3_EH":"MMR","ISO_N3":"104","ISO_N3_EH":"104","UN_A3":"104","WB_A2":"MM","WB_A3":"MMR","WOE_ID":23424763,"WOE_ID_EH":23424763,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"MMR","ADM0_DIFF":null,"ADM0_TLC":"MMR","ADM0_A3_US":"MMR","ADM0_A3_FR":"MMR","ADM0_A3_RU":"MMR","ADM0_A3_ES":"MMR","ADM0_A3_CN":"MMR","ADM0_A3_TW":"MMR","ADM0_A3_IN":"MMR","ADM0_A3_NP":"MMR","ADM0_A3_PK":"MMR","ADM0_A3_DE":"MMR","ADM0_A3_GB":"MMR","ADM0_A3_BR":"MMR","ADM0_A3_IL":"MMR","ADM0_A3_PS":"MMR","ADM0_A3_SA":"MMR","ADM0_A3_EG":"MMR","ADM0_A3_MA":"MMR","ADM0_A3_PT":"MMR","ADM0_A3_AR":"MMR","ADM0_A3_JP":"MMR","ADM0_A3_KO":"MMR","ADM0_A3_VN":"MMR","ADM0_A3_TR":"MMR","ADM0_A3_ID":"MMR","ADM0_A3_PL":"MMR","ADM0_A3_GR":"MMR","ADM0_A3_IT":"MMR","ADM0_A3_NL":"MMR","ADM0_A3_SE":"MMR","ADM0_A3_BD":"MMR","ADM0_A3_UA":"MMR","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Asia","REGION_UN":"Asia","SUBREGION":"South-Eastern Asia","REGION_WB":"East Asia & Pacific","NAME_LEN":7,"LONG_LEN":7,"ABBREV_LEN":5,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":3,"MAX_LABEL":8,"LABEL_X":95.804497,"LABEL_Y":21.573855,"NE_ID":1159321067,"WIKIDATAID":"Q836","NAME_AR":"ميانمار","NAME_BN":"মিয়ানমার","NAME_DE":"Myanmar","NAME_EN":"Myanmar","NAME_ES":"Birmania","NAME_FA":"میانمار","NAME_FR":"Birmanie","NAME_EL":"Μιανμάρ","NAME_HE":"מיאנמר","NAME_HI":"म्यान्मार","NAME_HU":"Mianmar","NAME_ID":"Myanmar","NAME_IT":"Birmania","NAME_JA":"ミャンマー","NAME_KO":"미얀마","NAME_NL":"Myanmar","NAME_PL":"Mjanma","NAME_PT":"Myanmar","NAME_RU":"Мьянма","NAME_SV":"Myanmar","NAME_TR":"Myanmar","NAME_UK":"М'янма","NAME_UR":"میانمار","NAME_VI":"Myanma","NAME_ZH":"缅甸","NAME_ZHT":"緬甸","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[92.17959,9.875391,101.147266,28.517041],"geometry":{"type":"MultiPolygon","coordinates":[[[[100.122461,20.31665],[100.003613,20.37959],[99.954297,20.41543],[99.890332,20.424414],[99.825195,20.384473],[99.77334,20.341309],[99.720117,20.325439],[99.638672,20.320459],[99.531641,20.342822],[99.458887,20.363037],[99.447949,20.352051],[99.4875,20.260645],[99.50166,20.187744],[99.485938,20.149854],[99.451563,20.118311],[99.399219,20.093457],[99.337891,20.078906],[99.283691,20.08042],[99.196875,20.115137],[99.130762,20.116602],[99.074219,20.099365],[99.039746,20.073633],[99.020703,20.041797],[98.987402,19.861377],[98.958008,19.804932],[98.916699,19.7729],[98.875781,19.76958],[98.819531,19.778467],[98.760645,19.771094],[98.493848,19.701318],[98.45498,19.694434],[98.371289,19.68916],[98.293652,19.687256],[98.239062,19.690674],[98.111035,19.762158],[98.049023,19.769727],[98.015039,19.749512],[97.991211,19.653711],[97.916406,19.592871],[97.816797,19.459961],[97.793555,19.265869],[97.803906,19.130469],[97.71416,18.996484],[97.706055,18.931787],[97.754004,18.620801],[97.745898,18.588184],[97.727734,18.572021],[97.671582,18.56123],[97.577344,18.528711],[97.515137,18.497754],[97.484961,18.494238],[97.39707,18.517529],[97.373926,18.517969],[97.380664,18.494287],[97.450781,18.359668],[97.523828,18.295898],[97.599316,18.302979],[97.632227,18.290332],[97.622461,18.258008],[97.651563,18.17373],[97.719727,18.037402],[97.739941,17.935303],[97.698535,17.833545],[97.706445,17.797119],[97.729102,17.77583],[97.792969,17.68125],[97.929297,17.533301],[98.063086,17.373291],[98.174609,17.239893],[98.256543,17.147656],[98.438867,16.975684],[98.471191,16.89502],[98.478125,16.732227],[98.523145,16.638184],[98.564746,16.570947],[98.593652,16.514795],[98.660742,16.33042],[98.689258,16.30542],[98.835449,16.417578],[98.869336,16.394189],[98.888281,16.351904],[98.888477,16.298096],[98.865527,16.237061],[98.817969,16.180811],[98.592383,16.050684],[98.574023,15.938623],[98.558203,15.768604],[98.554492,15.559766],[98.565234,15.403564],[98.556934,15.367676],[98.537305,15.350684],[98.452148,15.357373],[98.329395,15.278564],[98.286133,15.271582],[98.232227,15.241357],[98.191016,15.204102],[98.17793,15.147412],[98.202148,14.975928],[98.245996,14.814746],[98.332129,14.696484],[98.400195,14.602979],[98.49502,14.4729],[98.57002,14.359912],[98.721191,14.235742],[98.933594,14.049854],[99.014648,13.947168],[99.08623,13.822754],[99.136816,13.716699],[99.156055,13.575781],[99.17168,13.496924],[99.176172,13.233057],[99.137109,13.172998],[99.107422,13.103516],[99.123926,13.030762],[99.173535,12.961328],[99.173535,12.881934],[99.219824,12.739746],[99.297363,12.652881],[99.371973,12.594238],[99.405078,12.5479],[99.394238,12.473633],[99.416309,12.394824],[99.432422,12.309033],[99.462891,12.190234],[99.522949,12.089648],[99.614746,11.781201],[99.6125,11.749658],[99.572852,11.687158],[99.515234,11.630664],[99.47793,11.6125],[99.442676,11.554395],[99.358789,11.389453],[99.190137,11.105273],[99.025391,10.919971],[98.887109,10.78833],[98.786914,10.708447],[98.757227,10.660937],[98.757227,10.623584],[98.775391,10.557031],[98.768359,10.430859],[98.746875,10.35083],[98.718457,10.266016],[98.702539,10.190381],[98.658008,10.179053],[98.562598,10.034961],[98.521289,10.107227],[98.496875,10.18252],[98.523047,10.353125],[98.464941,10.67583],[98.500977,10.718945],[98.535645,10.740674],[98.598828,10.864404],[98.675586,10.986914],[98.682617,11.133105],[98.744727,11.240381],[98.730078,11.32998],[98.733301,11.435254],[98.746387,11.521289],[98.741406,11.591699],[98.790723,11.665088],[98.875977,11.719727],[98.840234,11.739258],[98.804785,11.779248],[98.693652,11.718359],[98.636328,11.738379],[98.624902,11.801465],[98.639063,11.869141],[98.644922,11.910303],[98.689453,11.956738],[98.686328,12.047119],[98.663867,12.126709],[98.696289,12.225244],[98.630566,12.225488],[98.600293,12.245312],[98.619141,12.3],[98.678711,12.348486],[98.624414,12.440723],[98.664648,12.539941],[98.663184,12.662402],[98.635645,12.770508],[98.637109,12.848242],[98.595117,12.986035],[98.575977,13.161914],[98.487109,13.293066],[98.421289,13.483789],[98.24541,13.733496],[98.248438,13.840381],[98.238965,13.934473],[98.200391,13.980176],[98.149512,13.647607],[98.110645,13.712891],[98.098242,13.89834],[98.072656,13.986475],[98.100195,14.161523],[97.998438,14.335303],[97.976562,14.461475],[97.909766,14.652686],[97.929297,14.695557],[98.01875,14.652588],[97.936523,14.763916],[97.869141,14.738721],[97.812305,14.858936],[97.799805,15.184912],[97.74375,15.306787],[97.774219,15.430957],[97.710352,15.875537],[97.584277,16.01958],[97.609277,16.143848],[97.640625,16.253857],[97.633691,16.457666],[97.664648,16.520459],[97.725977,16.568555],[97.668457,16.551611],[97.619629,16.537207],[97.505078,16.525293],[97.375879,16.522949],[97.331055,16.671777],[97.26748,16.743115],[97.211719,16.892578],[97.17832,17.062012],[97.200195,17.09541],[97.100195,17.164551],[97.074512,17.206934],[96.970117,17.317334],[96.851465,17.401025],[96.877734,17.342187],[96.909766,17.304834],[96.850879,17.20293],[96.908594,17.030957],[96.858008,16.921191],[96.810645,16.778369],[96.76543,16.710352],[96.622461,16.563916],[96.506641,16.514355],[96.431152,16.504932],[96.364355,16.520508],[96.282227,16.595996],[96.262109,16.659131],[96.248926,16.765332],[96.220313,16.780566],[96.189063,16.768311],[96.237695,16.63125],[96.236719,16.567432],[96.324316,16.444434],[96.293066,16.410059],[96.135059,16.342529],[96.080957,16.353369],[96.042871,16.339941],[96.032129,16.284619],[96.012305,16.253711],[95.763281,16.169043],[95.711426,16.073389],[95.679492,15.976758],[95.555664,15.837842],[95.389551,15.722754],[95.348437,15.729297],[95.301465,15.756152],[95.307813,15.88042],[95.364746,15.985449],[95.346777,16.097607],[95.333008,16.033252],[95.225879,15.876807],[95.176953,15.825684],[95.07832,15.83916],[94.942578,15.818262],[94.891211,15.979102],[94.892188,16.038184],[94.882227,16.087939],[94.897852,16.14082],[94.893164,16.182812],[94.860156,16.102441],[94.847754,16.032861],[94.798145,15.971094],[94.661523,15.904395],[94.65625,15.98877],[94.651367,16.064844],[94.680762,16.133301],[94.676562,16.242041],[94.719922,16.39873],[94.716602,16.45249],[94.70332,16.511914],[94.679004,16.425586],[94.665234,16.336133],[94.637695,16.309082],[94.5875,16.288818],[94.495703,16.186133],[94.441602,16.094385],[94.299023,16.007617],[94.223828,16.016455],[94.214258,16.126611],[94.271289,16.517285],[94.327344,16.572168],[94.353418,16.639941],[94.4,16.868164],[94.452441,16.954492],[94.473145,17.135449],[94.494336,17.166553],[94.564453,17.308545],[94.588965,17.569336],[94.560059,17.698975],[94.494336,17.824609],[94.430762,18.20166],[94.26582,18.507227],[94.252148,18.60918],[94.170703,18.732422],[94.245703,18.741162],[94.091309,18.849219],[94.07002,18.893408],[94.038965,19.146191],[94.044922,19.287402],[94.022461,19.268799],[94.001563,19.181787],[93.941016,19.146094],[93.968066,18.995068],[93.961328,18.958398],[93.929199,18.899658],[93.800098,18.960596],[93.705469,19.026904],[93.598145,19.188477],[93.493066,19.369482],[93.530566,19.397559],[93.578613,19.401172],[93.728027,19.266504],[93.824902,19.238477],[93.886133,19.271924],[93.962012,19.329346],[93.998145,19.440869],[93.960742,19.481689],[93.887891,19.503906],[93.839551,19.534131],[93.769922,19.60957],[93.761035,19.648047],[93.739551,19.697266],[93.66875,19.731982],[93.611719,19.776074],[93.659863,19.85415],[93.707031,19.912158],[93.581836,19.90957],[93.439063,20.009424],[93.40957,20.03833],[93.362305,20.058301],[93.25,20.070117],[93.156641,20.040771],[93.199023,19.89834],[93.190625,19.851221],[93.129492,19.858008],[93.001953,20.074854],[93.040332,20.129785],[93.095508,20.181348],[93.068359,20.188672],[93.015137,20.185254],[93.066797,20.377637],[93.035352,20.406152],[93.01875,20.346045],[92.990723,20.287988],[92.882129,20.152148],[92.82832,20.177588],[92.791211,20.211426],[92.843555,20.282617],[92.87168,20.301758],[92.891113,20.340332],[92.850684,20.414844],[92.786914,20.469043],[92.735645,20.562695],[92.708984,20.563965],[92.732617,20.453369],[92.722852,20.295605],[92.608008,20.469873],[92.37832,20.717578],[92.324121,20.791846],[92.311914,20.864453],[92.28623,20.931592],[92.268457,21.004688],[92.264453,21.061475],[92.214746,21.112695],[92.191992,21.202246],[92.17959,21.293115],[92.208203,21.357861],[92.279688,21.427588],[92.330566,21.439795],[92.372656,21.409033],[92.471875,21.362988],[92.53916,21.319824],[92.568555,21.26333],[92.599805,21.270166],[92.631641,21.306201],[92.625293,21.350732],[92.593457,21.467334],[92.584277,21.609033],[92.582812,21.940332],[92.574902,21.978076],[92.630371,22.011328],[92.652637,22.049316],[92.674707,22.106006],[92.688965,22.130957],[92.720996,22.132422],[92.771387,22.104785],[92.854297,22.010156],[92.909473,21.988916],[92.964551,22.00376],[93.021973,22.145703],[93.042969,22.183984],[93.070605,22.209424],[93.121484,22.205176],[93.151172,22.230615],[93.162402,22.291895],[93.162012,22.360205],[93.105078,22.547119],[93.088184,22.633252],[93.078711,22.718213],[93.114258,22.805713],[93.1625,22.907959],[93.150977,22.997314],[93.16416,23.032031],[93.203906,23.037012],[93.253516,23.015479],[93.308008,23.030371],[93.349414,23.084961],[93.366016,23.13252],[93.391309,23.33916],[93.408105,23.528027],[93.414941,23.68208],[93.372559,23.77417],[93.307324,24.021875],[93.32627,24.064209],[93.355566,24.074121],[93.452148,23.987402],[93.49375,23.972852],[93.564063,23.986084],[93.633301,24.005371],[93.683398,24.006543],[93.755859,23.976904],[93.855469,23.943896],[94.01084,23.90293],[94.074805,23.87207],[94.127637,23.876465],[94.170313,23.972656],[94.219727,24.113184],[94.293066,24.321875],[94.377246,24.47373],[94.399414,24.514062],[94.493164,24.637646],[94.584082,24.767236],[94.663281,24.931006],[94.707617,25.04873],[94.703711,25.097852],[94.675293,25.138574],[94.615625,25.1646],[94.566504,25.191504],[94.553027,25.215723],[94.554395,25.243457],[94.579883,25.319824],[94.622852,25.41001],[94.667773,25.458887],[94.78584,25.519336],[94.861133,25.597217],[94.945703,25.700244],[94.991992,25.770459],[95.015234,25.912939],[95.040723,25.941309],[95.092969,25.987305],[95.132422,26.04126],[95.129297,26.07041],[95.108398,26.091406],[95.068945,26.191113],[95.050879,26.347266],[95.059766,26.473975],[95.089453,26.525488],[95.128711,26.597266],[95.201465,26.641406],[95.305078,26.672266],[95.463867,26.756055],[95.738379,26.950439],[95.837305,27.013818],[95.905273,27.046631],[95.970898,27.128076],[96.061426,27.21709],[96.19082,27.261279],[96.274219,27.278369],[96.665723,27.339258],[96.731641,27.331494],[96.797852,27.296191],[96.880273,27.177832],[96.953418,27.133301],[97.038086,27.102051],[97.102051,27.11543],[97.103711,27.16333],[96.901953,27.4396],[96.883594,27.514844],[96.876855,27.586719],[96.899707,27.643848],[96.962793,27.698291],[97.049707,27.76001],[97.157813,27.836865],[97.226074,27.890039],[97.306152,27.90708],[97.335156,27.937744],[97.343555,27.982324],[97.33916,28.030859],[97.302734,28.085986],[97.310254,28.155225],[97.322461,28.217969],[97.356445,28.254492],[97.431445,28.353906],[97.477734,28.425635],[97.502148,28.456348],[97.537891,28.510205],[97.599219,28.517041],[97.658887,28.5],[97.694629,28.469336],[97.730078,28.407129],[97.769043,28.356152],[97.816504,28.356348],[97.864941,28.363574],[97.887598,28.356494],[97.934082,28.313818],[98.022266,28.211523],[98.061621,28.185889],[98.098926,28.142285],[98.118359,28.055225],[98.130469,27.967578],[98.241016,27.663184],[98.274219,27.599072],[98.298828,27.550098],[98.350488,27.538086],[98.392383,27.587061],[98.408887,27.639453],[98.452539,27.657227],[98.504492,27.647656],[98.599805,27.598828],[98.651172,27.572461],[98.676758,27.421924],[98.682422,27.245312],[98.674805,27.190625],[98.716504,27.044922],[98.729492,26.877393],[98.738477,26.785742],[98.739355,26.698145],[98.731836,26.583398],[98.709473,26.429688],[98.671875,26.298535],[98.685547,26.189355],[98.663184,26.139453],[98.571973,26.114062],[98.564063,26.072412],[98.591016,26.003711],[98.654688,25.917773],[98.65625,25.863574],[98.625391,25.826709],[98.558398,25.823242],[98.465527,25.788867],[98.40166,25.677979],[98.333789,25.586768],[98.296582,25.568848],[98.172559,25.594531],[98.142871,25.571094],[98.099609,25.415723],[98.064063,25.348975],[98.010742,25.292529],[97.962012,25.259326],[97.917969,25.236133],[97.819531,25.251855],[97.767383,25.158057],[97.714941,25.034326],[97.710742,24.970361],[97.737891,24.869873],[97.723828,24.841992],[97.670703,24.820117],[97.583301,24.774805],[97.529395,24.631201],[97.531445,24.491699],[97.563281,24.443848],[97.623633,24.422949],[97.666602,24.37998],[97.670703,24.312744],[97.708203,24.22876],[97.690625,24.130811],[97.568262,23.988477],[97.564551,23.911035],[97.629687,23.887158],[97.686035,23.898096],[97.755664,23.931885],[97.837695,23.986279],[98.016895,24.06543],[98.2125,24.110645],[98.367285,24.119043],[98.499414,24.115674],[98.56416,24.098828],[98.583398,24.069824],[98.764355,24.116064],[98.802344,24.118701],[98.835059,24.121191],[98.833984,24.090576],[98.701563,23.964062],[98.676758,23.905078],[98.680859,23.841797],[98.735059,23.783105],[98.787695,23.737842],[98.832227,23.624365],[98.797852,23.52041],[98.819727,23.48252],[98.858887,23.440088],[98.882617,23.380322],[98.885547,23.307471],[98.86377,23.19126],[99.055078,23.130566],[99.220313,23.10332],[99.34082,23.095898],[99.418066,23.069238],[99.464551,23.04624],[99.497266,23.00459],[99.507129,22.959131],[99.466797,22.927295],[99.385156,22.825098],[99.338281,22.688672],[99.343164,22.586523],[99.337695,22.498047],[99.243066,22.370361],[99.205371,22.282568],[99.172363,22.19248],[99.173438,22.15332],[99.192969,22.125977],[99.233398,22.110156],[99.303125,22.100635],[99.388672,22.110791],[99.592676,22.08916],[99.825391,22.049707],[99.917676,22.028027],[99.947852,21.98833],[99.94043,21.901611],[99.925586,21.820801],[99.940723,21.75874],[99.978223,21.701611],[100.041211,21.682764],[100.095508,21.660645],[100.105762,21.617041],[100.089258,21.55791],[100.116797,21.511182],[100.147656,21.480518],[100.214746,21.462988],[100.350586,21.501025],[100.445703,21.484082],[100.531348,21.458105],[100.60459,21.471777],[100.677148,21.504932],[100.835156,21.655176],[101.019336,21.736377],[101.079785,21.755859],[101.120703,21.746094],[101.130859,21.735547],[101.128125,21.705127],[101.147266,21.581641],[101.138867,21.56748],[101.080371,21.468652],[100.927539,21.366211],[100.819531,21.314209],[100.756641,21.312646],[100.703125,21.251367],[100.65918,21.130371],[100.613672,21.059326],[100.566602,21.038184],[100.536133,20.992383],[100.522266,20.921924],[100.549316,20.884229],[100.617676,20.879248],[100.622949,20.85957],[100.565137,20.825098],[100.493359,20.812988],[100.407422,20.823242],[100.326074,20.795703],[100.249316,20.730273],[100.183887,20.589111],[100.129687,20.372217],[100.122461,20.31665]]],[[[98.209766,10.952734],[98.293457,10.779687],[98.284375,10.753125],[98.271484,10.739893],[98.251758,10.744434],[98.218164,10.837744],[98.155371,10.897949],[98.080469,10.886621],[98.142578,10.963135],[98.167285,10.980322],[98.209766,10.952734]]],[[[98.182617,9.933447],[98.134375,9.875391],[98.118066,9.877881],[98.140234,9.974658],[98.220703,10.045215],[98.291699,10.051318],[98.283398,10.007617],[98.23125,9.953955],[98.182617,9.933447]]],[[[98.22168,11.478223],[98.216211,11.455762],[98.209375,11.456543],[98.187305,11.472412],[98.201074,11.567187],[98.239062,11.644727],[98.278125,11.758398],[98.299609,11.783008],[98.30752,11.7229],[98.283789,11.594092],[98.263281,11.523633],[98.22168,11.478223]]],[[[98.516016,11.905029],[98.474316,11.899414],[98.454492,12.061279],[98.466211,12.084277],[98.525293,12.005176],[98.60957,11.956641],[98.576465,11.925098],[98.516016,11.905029]]],[[[98.553809,11.744873],[98.528418,11.538672],[98.464844,11.567187],[98.434766,11.56709],[98.396875,11.683545],[98.399512,11.714844],[98.376465,11.791504],[98.523535,11.804932],[98.553809,11.744873]]],[[[98.413965,12.597949],[98.436426,12.570508],[98.468262,12.571338],[98.459473,12.47373],[98.380859,12.353662],[98.334473,12.336182],[98.313867,12.335986],[98.331445,12.511426],[98.302539,12.611572],[98.312109,12.678174],[98.396484,12.647119],[98.413965,12.597949]]],[[[98.136719,12.150439],[98.125098,12.144873],[98.108496,12.148096],[98.075391,12.164453],[98.037305,12.232471],[98.057324,12.280078],[98.071387,12.291797],[98.104883,12.287793],[98.122461,12.278711],[98.128418,12.26123],[98.118457,12.223389],[98.120117,12.191309],[98.136719,12.150439]]],[[[94.476758,15.945947],[94.411914,15.848389],[94.387891,15.994141],[94.49375,16.075342],[94.545996,16.152832],[94.60127,16.205518],[94.618652,16.141309],[94.566113,16.019287],[94.476758,15.945947]]],[[[97.575,16.253223],[97.537207,16.240137],[97.480371,16.305713],[97.469141,16.461035],[97.516406,16.496875],[97.541992,16.505078],[97.579004,16.486035],[97.593262,16.460791],[97.599609,16.429541],[97.589355,16.397363],[97.575,16.253223]]],[[[93.69082,18.684277],[93.674023,18.675684],[93.569922,18.75957],[93.4875,18.867529],[93.618262,18.888818],[93.744727,18.865527],[93.745508,18.808057],[93.718359,18.715723],[93.69082,18.684277]]],[[[93.491797,19.892578],[93.513281,19.754785],[93.444629,19.806445],[93.419531,19.877588],[93.412891,19.950342],[93.491797,19.892578]]],[[[93.714844,19.558252],[93.829492,19.475293],[93.874707,19.481055],[93.945703,19.428613],[93.947461,19.408154],[93.933984,19.36543],[93.901953,19.332031],[93.815234,19.298682],[93.755859,19.325684],[93.732324,19.416309],[93.662207,19.458936],[93.644043,19.495068],[93.688379,19.544434],[93.714844,19.558252]]],[[[98.541699,10.961523],[98.518945,10.959375],[98.498047,10.964258],[98.477441,10.979736],[98.526563,11.086963],[98.541699,10.961523]]],[[[98.075488,11.692383],[98.083594,11.636816],[98.021094,11.695898],[98.010352,11.860254],[98.05957,11.756689],[98.080762,11.733203],[98.075488,11.692383]]],[[[98.066113,12.389795],[98.060352,12.353516],[98.002344,12.279004],[97.951758,12.322314],[97.938672,12.346094],[97.990234,12.393799],[98.045117,12.387012],[98.059863,12.397852],[98.066113,12.389795]]],[[[98.31543,13.099072],[98.30918,12.934717],[98.259277,13.014014],[98.250781,13.104395],[98.25459,13.188574],[98.265332,13.202246],[98.268555,13.189355],[98.298633,13.15166],[98.31543,13.099072]]],[[[94.804883,15.819336],[94.784375,15.793848],[94.743359,15.812109],[94.733496,15.823047],[94.828027,15.933008],[94.838184,15.89209],[94.804883,15.819336]]],[[[93.010156,19.923926],[93.023242,19.828857],[92.975195,19.868018],[92.912695,19.999805],[92.914648,20.086475],[92.95957,20.046191],[93.010156,19.923926]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":6,"SOVEREIGNT":"Burundi","SOV_A3":"BDI","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Burundi","ADM0_A3":"BDI","GEOU_DIF":0,"GEOUNIT":"Burundi","GU_A3":"BDI","SU_DIF":0,"SUBUNIT":"Burundi","SU_A3":"BDI","BRK_DIFF":0,"NAME":"Burundi","NAME_LONG":"Burundi","BRK_A3":"BDI","BRK_NAME":"Burundi","BRK_GROUP":null,"ABBREV":"Bur.","POSTAL":"BI","FORMAL_EN":"Republic of Burundi","FORMAL_FR":null,"NAME_CIAWF":"Burundi","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Burundi","NAME_ALT":null,"MAPCOLOR7":2,"MAPCOLOR8":2,"MAPCOLOR9":5,"MAPCOLOR13":8,"POP_EST":11530580,"POP_RANK":14,"POP_YEAR":2019,"GDP_MD":3012,"GDP_YEAR":2019,"ECONOMY":"7. Least developed region","INCOME_GRP":"5. Low income","FIPS_10":"BY","ISO_A2":"BI","ISO_A2_EH":"BI","ISO_A3":"BDI","ISO_A3_EH":"BDI","ISO_N3":"108","ISO_N3_EH":"108","UN_A3":"108","WB_A2":"BI","WB_A3":"BDI","WOE_ID":23424774,"WOE_ID_EH":23424774,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"BDI","ADM0_DIFF":null,"ADM0_TLC":"BDI","ADM0_A3_US":"BDI","ADM0_A3_FR":"BDI","ADM0_A3_RU":"BDI","ADM0_A3_ES":"BDI","ADM0_A3_CN":"BDI","ADM0_A3_TW":"BDI","ADM0_A3_IN":"BDI","ADM0_A3_NP":"BDI","ADM0_A3_PK":"BDI","ADM0_A3_DE":"BDI","ADM0_A3_GB":"BDI","ADM0_A3_BR":"BDI","ADM0_A3_IL":"BDI","ADM0_A3_PS":"BDI","ADM0_A3_SA":"BDI","ADM0_A3_EG":"BDI","ADM0_A3_MA":"BDI","ADM0_A3_PT":"BDI","ADM0_A3_AR":"BDI","ADM0_A3_JP":"BDI","ADM0_A3_KO":"BDI","ADM0_A3_VN":"BDI","ADM0_A3_TR":"BDI","ADM0_A3_ID":"BDI","ADM0_A3_PL":"BDI","ADM0_A3_GR":"BDI","ADM0_A3_IT":"BDI","ADM0_A3_NL":"BDI","ADM0_A3_SE":"BDI","ADM0_A3_BD":"BDI","ADM0_A3_UA":"BDI","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Africa","REGION_UN":"Africa","SUBREGION":"Eastern Africa","REGION_WB":"Sub-Saharan Africa","NAME_LEN":7,"LONG_LEN":7,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":4,"MAX_LABEL":9,"LABEL_X":29.917086,"LABEL_Y":-3.332836,"NE_ID":1159320387,"WIKIDATAID":"Q967","NAME_AR":"بوروندي","NAME_BN":"বুরুন্ডি","NAME_DE":"Burundi","NAME_EN":"Burundi","NAME_ES":"Burundi","NAME_FA":"بوروندی","NAME_FR":"Burundi","NAME_EL":"Μπουρούντι","NAME_HE":"בורונדי","NAME_HI":"बुरुण्डी","NAME_HU":"Burundi","NAME_ID":"Burundi","NAME_IT":"Burundi","NAME_JA":"ブルンジ","NAME_KO":"부룬디","NAME_NL":"Burundi","NAME_PL":"Burundi","NAME_PT":"Burundi","NAME_RU":"Бурунди","NAME_SV":"Burundi","NAME_TR":"Burundi","NAME_UK":"Бурунді","NAME_UR":"برونڈی","NAME_VI":"Burundi","NAME_ZH":"布隆迪","NAME_ZHT":"蒲隆地","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[29.01416,-4.455859,30.811426,-2.312988],"geometry":{"type":"Polygon","coordinates":[[[30.553613,-2.400098],[30.533691,-2.42627],[30.441992,-2.613477],[30.424219,-2.641602],[30.434375,-2.658887],[30.47334,-2.694336],[30.450488,-2.753223],[30.441309,-2.769043],[30.424023,-2.824023],[30.433496,-2.874512],[30.455566,-2.893164],[30.515039,-2.917578],[30.604297,-2.935254],[30.709473,-2.977246],[30.780273,-2.984863],[30.796875,-3.015137],[30.793555,-3.069336],[30.811133,-3.116406],[30.811426,-3.200586],[30.790234,-3.274609],[30.681836,-3.309375],[30.626074,-3.347363],[30.610938,-3.366406],[30.624609,-3.388672],[30.631934,-3.418652],[30.529883,-3.49248],[30.425,-3.588867],[30.4,-3.653906],[30.379102,-3.730762],[30.348438,-3.779785],[30.268555,-3.850488],[30.187109,-3.992871],[30.147168,-4.085352],[29.947266,-4.307324],[29.769531,-4.418066],[29.717773,-4.455859],[29.403223,-4.449316],[29.379199,-4.299707],[29.331348,-4.09541],[29.223242,-3.91084],[29.211816,-3.833789],[29.216797,-3.684961],[29.217188,-3.475684],[29.210059,-3.363281],[29.212305,-3.28125],[29.226074,-3.138672],[29.224414,-3.053516],[29.153223,-2.955273],[29.064746,-2.850781],[29.016602,-2.799609],[29.01416,-2.758301],[29.014355,-2.720215],[29.028613,-2.664551],[29.063184,-2.602539],[29.102051,-2.595703],[29.197559,-2.620313],[29.29707,-2.673047],[29.349805,-2.791504],[29.390234,-2.808594],[29.463672,-2.808398],[29.651367,-2.792773],[29.698047,-2.794727],[29.783398,-2.766406],[29.868164,-2.716406],[29.892578,-2.664648],[29.912402,-2.548633],[29.930176,-2.339551],[29.973438,-2.337109],[30.091895,-2.411523],[30.117285,-2.416602],[30.142285,-2.413965],[30.183301,-2.377051],[30.233789,-2.34707],[30.270996,-2.347852],[30.408496,-2.312988],[30.482227,-2.376074],[30.528906,-2.395605],[30.553613,-2.400098]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":3,"SOVEREIGNT":"Burkina Faso","SOV_A3":"BFA","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Burkina Faso","ADM0_A3":"BFA","GEOU_DIF":0,"GEOUNIT":"Burkina Faso","GU_A3":"BFA","SU_DIF":0,"SUBUNIT":"Burkina Faso","SU_A3":"BFA","BRK_DIFF":0,"NAME":"Burkina Faso","NAME_LONG":"Burkina Faso","BRK_A3":"BFA","BRK_NAME":"Burkina Faso","BRK_GROUP":null,"ABBREV":"B.F.","POSTAL":"BF","FORMAL_EN":"Burkina Faso","FORMAL_FR":null,"NAME_CIAWF":"Burkina Faso","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Burkina Faso","NAME_ALT":null,"MAPCOLOR7":2,"MAPCOLOR8":1,"MAPCOLOR9":5,"MAPCOLOR13":11,"POP_EST":20321378,"POP_RANK":15,"POP_YEAR":2019,"GDP_MD":15990,"GDP_YEAR":2019,"ECONOMY":"7. Least developed region","INCOME_GRP":"5. Low income","FIPS_10":"UV","ISO_A2":"BF","ISO_A2_EH":"BF","ISO_A3":"BFA","ISO_A3_EH":"BFA","ISO_N3":"854","ISO_N3_EH":"854","UN_A3":"854","WB_A2":"BF","WB_A3":"BFA","WOE_ID":23424978,"WOE_ID_EH":23424978,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"BFA","ADM0_DIFF":null,"ADM0_TLC":"BFA","ADM0_A3_US":"BFA","ADM0_A3_FR":"BFA","ADM0_A3_RU":"BFA","ADM0_A3_ES":"BFA","ADM0_A3_CN":"BFA","ADM0_A3_TW":"BFA","ADM0_A3_IN":"BFA","ADM0_A3_NP":"BFA","ADM0_A3_PK":"BFA","ADM0_A3_DE":"BFA","ADM0_A3_GB":"BFA","ADM0_A3_BR":"BFA","ADM0_A3_IL":"BFA","ADM0_A3_PS":"BFA","ADM0_A3_SA":"BFA","ADM0_A3_EG":"BFA","ADM0_A3_MA":"BFA","ADM0_A3_PT":"BFA","ADM0_A3_AR":"BFA","ADM0_A3_JP":"BFA","ADM0_A3_KO":"BFA","ADM0_A3_VN":"BFA","ADM0_A3_TR":"BFA","ADM0_A3_ID":"BFA","ADM0_A3_PL":"BFA","ADM0_A3_GR":"BFA","ADM0_A3_IT":"BFA","ADM0_A3_NL":"BFA","ADM0_A3_SE":"BFA","ADM0_A3_BD":"BFA","ADM0_A3_UA":"BFA","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Africa","REGION_UN":"Africa","SUBREGION":"Western Africa","REGION_WB":"Sub-Saharan Africa","NAME_LEN":12,"LONG_LEN":12,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":3,"MAX_LABEL":8,"LABEL_X":-1.36388,"LABEL_Y":12.673048,"NE_ID":1159320405,"WIKIDATAID":"Q965","NAME_AR":"بوركينا فاسو","NAME_BN":"বুর্কিনা ফাসো","NAME_DE":"Burkina Faso","NAME_EN":"Burkina Faso","NAME_ES":"Burkina Faso","NAME_FA":"بورکینافاسو","NAME_FR":"Burkina Faso","NAME_EL":"Μπουρκίνα Φάσο","NAME_HE":"בורקינה פאסו","NAME_HI":"बुर्किना फासो","NAME_HU":"Burkina Faso","NAME_ID":"Burkina Faso","NAME_IT":"Burkina Faso","NAME_JA":"ブルキナファソ","NAME_KO":"부르키나파소","NAME_NL":"Burkina Faso","NAME_PL":"Burkina Faso","NAME_PT":"Burkina Faso","NAME_RU":"Буркина-Фасо","NAME_SV":"Burkina Faso","NAME_TR":"Burkina Faso","NAME_UK":"Буркіна-Фасо","NAME_UR":"برکینا فاسو","NAME_VI":"Burkina Faso","NAME_ZH":"布基纳法索","NAME_ZHT":"布基納法索","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[-5.523535,9.424707,2.38916,15.077881],"geometry":{"type":"Polygon","coordinates":[[[0.900488,10.993262],[0.642969,10.983057],[0.549121,10.95542],[0.492676,10.95498],[0.490723,10.978174],[0.48418,10.991992],[0.159277,11.069629],[-0.068604,11.115625],[-0.299463,11.166895],[-0.312549,11.118896],[-0.345752,11.087939],[-0.395605,11.085693],[-0.430322,11.093262],[-0.453516,11.056299],[-0.491699,11.007617],[-0.545215,10.983691],[-0.597656,10.953662],[-0.627148,10.927393],[-0.648535,10.926758],[-0.701416,10.988965],[-0.771582,10.995264],[-0.90293,10.984717],[-0.961816,11.001709],[-1.04248,11.010059],[-1.232617,10.997217],[-1.536768,11.022656],[-1.586475,11.008887],[-1.599658,10.997656],[-1.900635,10.994678],[-2.231934,10.991406],[-2.50918,10.988721],[-2.75166,10.986377],[-2.7521,10.996973],[-2.829932,10.998389],[-2.838574,10.97749],[-2.907324,10.727979],[-2.914893,10.592334],[-2.878418,10.507959],[-2.837207,10.454639],[-2.791162,10.432422],[-2.786621,10.401904],[-2.823437,10.362939],[-2.820312,10.322852],[-2.7771,10.281592],[-2.766504,10.238184],[-2.788477,10.192578],[-2.783203,10.083105],[-2.750732,9.909668],[-2.749805,9.797217],[-2.780518,9.74585],[-2.765967,9.658057],[-2.706201,9.533936],[-2.69585,9.481348],[-2.717187,9.457129],[-2.766602,9.424707],[-2.816748,9.42583],[-2.875146,9.500928],[-2.900879,9.534619],[-2.948145,9.610742],[-2.988281,9.687354],[-3.042627,9.720898],[-3.095801,9.7521],[-3.160693,9.84917],[-3.223535,9.895459],[-3.289697,9.882227],[-3.386279,9.900293],[-3.581152,9.924316],[-3.790625,9.917187],[-3.877637,9.894922],[-3.963477,9.859619],[-4.181152,9.781738],[-4.267187,9.743262],[-4.332227,9.645703],[-4.406201,9.647998],[-4.480273,9.679248],[-4.526611,9.723486],[-4.62583,9.713574],[-4.721777,9.756543],[-4.814453,9.841162],[-4.882715,9.868945],[-4.969922,9.930078],[-4.994043,10.046484],[-5.049316,10.12832],[-5.099854,10.241602],[-5.175293,10.292627],[-5.262305,10.319678],[-5.382275,10.314014],[-5.461279,10.35957],[-5.523535,10.426025],[-5.507031,10.483447],[-5.479004,10.565088],[-5.475684,10.643945],[-5.45708,10.771387],[-5.468555,10.931055],[-5.490479,11.042383],[-5.424219,11.088721],[-5.347412,11.130273],[-5.299854,11.205957],[-5.250244,11.375781],[-5.229395,11.522461],[-5.244775,11.576758],[-5.270312,11.619873],[-5.290527,11.683301],[-5.302002,11.760449],[-5.288135,11.82793],[-5.230176,11.890283],[-5.15752,11.942383],[-5.105908,11.967529],[-4.968994,11.993311],[-4.797949,12.032129],[-4.699316,12.076172],[-4.627246,12.120215],[-4.586914,12.155029],[-4.546045,12.226465],[-4.479883,12.281787],[-4.428711,12.337598],[-4.421582,12.493066],[-4.421924,12.581592],[-4.459863,12.630371],[-4.480615,12.672217],[-4.2271,12.793701],[-4.225244,12.879492],[-4.260645,12.975342],[-4.310254,13.05249],[-4.328711,13.119043],[-4.258691,13.197314],[-4.196191,13.256152],[-4.151025,13.306201],[-4.051172,13.382422],[-3.947314,13.402197],[-3.853467,13.373535],[-3.575781,13.194189],[-3.527637,13.182715],[-3.469922,13.196387],[-3.396729,13.243701],[-3.301758,13.280762],[-3.266748,13.400781],[-3.270166,13.577441],[-3.248633,13.65835],[-3.198437,13.672852],[-3.038672,13.639111],[-2.997217,13.637109],[-2.95083,13.648438],[-2.91709,13.679492],[-2.918506,13.736377],[-2.925879,13.786768],[-2.873926,13.950732],[-2.778857,14.07373],[-2.586719,14.227588],[-2.526904,14.258301],[-2.457227,14.274121],[-2.113232,14.168457],[-2.057129,14.194629],[-1.973047,14.456543],[-1.879785,14.481494],[-1.767773,14.486035],[-1.695068,14.508496],[-1.657324,14.526807],[-1.493652,14.626074],[-1.20498,14.761523],[-1.049561,14.819531],[-1.019189,14.841357],[-0.907959,14.937402],[-0.760449,15.047754],[-0.666455,15.069775],[-0.536523,15.077881],[-0.454492,15.059668],[-0.432275,15.028516],[-0.40542,15.0125],[-0.235889,15.059424],[0.007324,14.984814],[0.21748,14.911475],[0.203809,14.865039],[0.202734,14.782812],[0.185059,14.65293],[0.163867,14.497217],[0.250586,14.396436],[0.35459,14.288037],[0.38252,14.245801],[0.354883,14.139014],[0.374023,14.076367],[0.429199,13.972119],[0.522363,13.839746],[0.618164,13.703418],[0.68457,13.6854],[0.747754,13.674512],[0.786035,13.650049],[0.842285,13.626416],[0.897949,13.610937],[0.946582,13.581152],[0.977734,13.551953],[1.017871,13.467871],[1.125977,13.412354],[1.201172,13.35752],[1.170898,13.32959],[1.076855,13.340771],[0.988477,13.364844],[0.976758,13.324512],[0.973047,13.170361],[0.987305,13.041895],[1.00791,13.024805],[1.096777,13.001123],[1.308691,12.834277],[1.500488,12.676465],[1.564941,12.6354],[1.671094,12.619824],[1.789844,12.613281],[1.840918,12.627881],[1.956152,12.707422],[2.017383,12.716211],[2.073828,12.713965],[2.10459,12.70127],[2.159766,12.636426],[2.211523,12.538428],[2.22627,12.466064],[2.221387,12.427246],[2.203809,12.412598],[2.109375,12.393848],[2.068555,12.37915],[2.058398,12.357959],[2.072949,12.309375],[2.091406,12.277979],[2.194434,12.136475],[2.343359,11.945996],[2.38916,11.89707],[2.363281,11.840088],[2.287207,11.69126],[2.230859,11.62915],[1.980371,11.418408],[1.857617,11.443359],[1.6,11.400635],[1.561426,11.449121],[1.501367,11.455566],[1.426758,11.447119],[1.399707,11.428711],[1.391504,11.408008],[1.364844,11.378906],[1.317383,11.295264],[1.280469,11.273975],[1.234668,11.261035],[1.178711,11.262744],[1.145801,11.251904],[1.145508,11.2104],[1.135547,11.174365],[1.097559,11.156348],[1.081543,11.116016],[1.08457,11.076367],[1.062305,11.058203],[1.013867,11.068115],[0.985059,11.079004],[0.958008,11.027783],[0.924609,10.992822],[0.900488,10.993262]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":4,"SOVEREIGNT":"Bulgaria","SOV_A3":"BGR","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Bulgaria","ADM0_A3":"BGR","GEOU_DIF":0,"GEOUNIT":"Bulgaria","GU_A3":"BGR","SU_DIF":0,"SUBUNIT":"Bulgaria","SU_A3":"BGR","BRK_DIFF":0,"NAME":"Bulgaria","NAME_LONG":"Bulgaria","BRK_A3":"BGR","BRK_NAME":"Bulgaria","BRK_GROUP":null,"ABBREV":"Bulg.","POSTAL":"BG","FORMAL_EN":"Republic of Bulgaria","FORMAL_FR":null,"NAME_CIAWF":"Bulgaria","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Bulgaria","NAME_ALT":null,"MAPCOLOR7":4,"MAPCOLOR8":5,"MAPCOLOR9":1,"MAPCOLOR13":8,"POP_EST":6975761,"POP_RANK":13,"POP_YEAR":2019,"GDP_MD":68558,"GDP_YEAR":2019,"ECONOMY":"2. Developed region: nonG7","INCOME_GRP":"3. Upper middle income","FIPS_10":"BU","ISO_A2":"BG","ISO_A2_EH":"BG","ISO_A3":"BGR","ISO_A3_EH":"BGR","ISO_N3":"100","ISO_N3_EH":"100","UN_A3":"100","WB_A2":"BG","WB_A3":"BGR","WOE_ID":23424771,"WOE_ID_EH":23424771,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"BGR","ADM0_DIFF":null,"ADM0_TLC":"BGR","ADM0_A3_US":"BGR","ADM0_A3_FR":"BGR","ADM0_A3_RU":"BGR","ADM0_A3_ES":"BGR","ADM0_A3_CN":"BGR","ADM0_A3_TW":"BGR","ADM0_A3_IN":"BGR","ADM0_A3_NP":"BGR","ADM0_A3_PK":"BGR","ADM0_A3_DE":"BGR","ADM0_A3_GB":"BGR","ADM0_A3_BR":"BGR","ADM0_A3_IL":"BGR","ADM0_A3_PS":"BGR","ADM0_A3_SA":"BGR","ADM0_A3_EG":"BGR","ADM0_A3_MA":"BGR","ADM0_A3_PT":"BGR","ADM0_A3_AR":"BGR","ADM0_A3_JP":"BGR","ADM0_A3_KO":"BGR","ADM0_A3_VN":"BGR","ADM0_A3_TR":"BGR","ADM0_A3_ID":"BGR","ADM0_A3_PL":"BGR","ADM0_A3_GR":"BGR","ADM0_A3_IT":"BGR","ADM0_A3_NL":"BGR","ADM0_A3_SE":"BGR","ADM0_A3_BD":"BGR","ADM0_A3_UA":"BGR","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Europe","REGION_UN":"Europe","SUBREGION":"Eastern Europe","REGION_WB":"Europe & Central Asia","NAME_LEN":8,"LONG_LEN":8,"ABBREV_LEN":5,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":4,"MAX_LABEL":9,"LABEL_X":25.15709,"LABEL_Y":42.508785,"NE_ID":1159320409,"WIKIDATAID":"Q219","NAME_AR":"بلغاريا","NAME_BN":"বুলগেরিয়া","NAME_DE":"Bulgarien","NAME_EN":"Bulgaria","NAME_ES":"Bulgaria","NAME_FA":"بلغارستان","NAME_FR":"Bulgarie","NAME_EL":"Βουλγαρία","NAME_HE":"בולגריה","NAME_HI":"बुल्गारिया","NAME_HU":"Bulgária","NAME_ID":"Bulgaria","NAME_IT":"Bulgaria","NAME_JA":"ブルガリア","NAME_KO":"불가리아","NAME_NL":"Bulgarije","NAME_PL":"Bułgaria","NAME_PT":"Bulgária","NAME_RU":"Болгария","NAME_SV":"Bulgarien","NAME_TR":"Bulgaristan","NAME_UK":"Болгарія","NAME_UR":"بلغاریہ","NAME_VI":"Bulgaria","NAME_ZH":"保加利亚","NAME_ZHT":"保加利亞","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[22.344043,41.243555,28.585352,44.237793],"geometry":{"type":"Polygon","coordinates":[[[28.014453,41.969043],[27.879199,41.986621],[27.831934,41.981299],[27.80166,41.956543],[27.738867,41.961523],[27.661133,41.961328],[27.579883,41.93291],[27.534863,41.920801],[27.474805,41.946875],[27.362891,42.025049],[27.294922,42.079541],[27.244336,42.093262],[27.193359,42.0771],[27.011719,42.058643],[26.96875,42.026855],[26.884863,41.991846],[26.800391,41.975146],[26.679199,41.96333],[26.615332,41.964893],[26.579688,41.947949],[26.549707,41.896729],[26.529297,41.84668],[26.511426,41.826367],[26.360352,41.801562],[26.327246,41.772803],[26.317969,41.744678],[26.320898,41.716553],[26.200586,41.743799],[26.107422,41.725684],[26.085547,41.70415],[26.066016,41.673242],[26.076953,41.640186],[26.11123,41.608203],[26.143555,41.521533],[26.155176,41.434863],[26.135352,41.385742],[26.066406,41.350684],[25.92334,41.311914],[25.784961,41.33042],[25.723926,41.315039],[25.621484,41.310107],[25.527051,41.299805],[25.381934,41.264355],[25.251172,41.243555],[25.133398,41.315771],[24.993555,41.36499],[24.846875,41.394238],[24.795801,41.3729],[24.77373,41.356104],[24.651074,41.419971],[24.595996,41.442725],[24.569336,41.467383],[24.518262,41.552539],[24.487891,41.555225],[24.386719,41.523535],[24.289453,41.525049],[24.230371,41.530811],[24.056055,41.527246],[24.03291,41.469092],[24.011328,41.460059],[23.973535,41.452295],[23.880859,41.455957],[23.762305,41.412988],[23.635156,41.386768],[23.53584,41.386035],[23.433398,41.39873],[23.37207,41.389648],[23.239844,41.384961],[23.155957,41.32207],[23.025586,41.325635],[22.916016,41.336279],[22.929688,41.356104],[22.951465,41.605615],[23.005664,41.716943],[23.003613,41.739844],[22.991992,41.757178],[22.943945,41.775098],[22.90918,41.835205],[22.836816,41.993604],[22.796094,42.025684],[22.682324,42.059131],[22.582715,42.104834],[22.498242,42.165088],[22.344043,42.313965],[22.42207,42.328857],[22.445703,42.359131],[22.523535,42.440967],[22.532422,42.481201],[22.524219,42.503906],[22.47207,42.543311],[22.43623,42.629102],[22.463281,42.709473],[22.465625,42.750781],[22.439258,42.79165],[22.466797,42.84248],[22.522754,42.870312],[22.558105,42.878467],[22.706152,42.883936],[22.799902,42.985742],[22.856836,43.018262],[22.915234,43.075977],[22.942285,43.09707],[22.967969,43.142041],[22.976855,43.187988],[22.85957,43.252344],[22.819727,43.300732],[22.767578,43.35415],[22.696973,43.391064],[22.55459,43.454492],[22.499121,43.518848],[22.474121,43.602246],[22.436328,43.665479],[22.394824,43.706641],[22.386914,43.740137],[22.369629,43.781299],[22.36543,43.862109],[22.399023,43.969531],[22.420801,44.007422],[22.469043,44.018018],[22.597461,44.075293],[22.603418,44.148584],[22.626563,44.194092],[22.66748,44.220215],[22.705078,44.237793],[22.775195,44.195215],[22.94541,44.127295],[23.028516,44.077979],[23.024414,44.047217],[22.985352,44.016992],[22.911328,43.987207],[22.868262,43.9479],[22.856445,43.899023],[22.867676,43.864551],[22.919043,43.834473],[23.224609,43.873877],[23.53457,43.853564],[23.950781,43.78667],[24.226758,43.763477],[24.430566,43.794385],[24.808203,43.738428],[25.159668,43.686328],[25.49707,43.670801],[25.686133,43.711768],[25.818848,43.766846],[25.933398,43.870557],[26.21582,44.007275],[26.489258,44.083984],[26.847754,44.146191],[27.086914,44.167383],[27.120703,44.146143],[27.425391,44.020508],[27.561035,44.020068],[27.670898,43.997803],[27.710742,43.9646],[27.738574,43.956299],[27.884277,43.987354],[27.948926,43.918604],[28.05,43.822412],[28.221973,43.772852],[28.375195,43.744775],[28.423438,43.740479],[28.585352,43.742236],[28.561816,43.501318],[28.46543,43.389307],[28.319629,43.426855],[28.133691,43.395605],[28.035156,43.268262],[27.979297,43.230518],[27.928906,43.186133],[27.896484,43.020703],[27.888867,42.749707],[27.818359,42.71665],[27.753711,42.706543],[27.484766,42.468066],[27.639551,42.400977],[27.708203,42.349951],[27.821387,42.208008],[27.982715,42.047412],[28.014453,41.969043]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":6,"SOVEREIGNT":"Brunei","SOV_A3":"BRN","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Brunei","ADM0_A3":"BRN","GEOU_DIF":0,"GEOUNIT":"Brunei","GU_A3":"BRN","SU_DIF":0,"SUBUNIT":"Brunei","SU_A3":"BRN","BRK_DIFF":0,"NAME":"Brunei","NAME_LONG":"Brunei Darussalam","BRK_A3":"BRN","BRK_NAME":"Brunei","BRK_GROUP":null,"ABBREV":"Brunei","POSTAL":"BN","FORMAL_EN":"Negara Brunei Darussalam","FORMAL_FR":null,"NAME_CIAWF":"Brunei","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Brunei","NAME_ALT":null,"MAPCOLOR7":4,"MAPCOLOR8":6,"MAPCOLOR9":6,"MAPCOLOR13":12,"POP_EST":433285,"POP_RANK":10,"POP_YEAR":2019,"GDP_MD":13469,"GDP_YEAR":2019,"ECONOMY":"6. Developing region","INCOME_GRP":"2. High income: nonOECD","FIPS_10":"BX","ISO_A2":"BN","ISO_A2_EH":"BN","ISO_A3":"BRN","ISO_A3_EH":"BRN","ISO_N3":"096","ISO_N3_EH":"096","UN_A3":"096","WB_A2":"BN","WB_A3":"BRN","WOE_ID":23424773,"WOE_ID_EH":23424773,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"BRN","ADM0_DIFF":null,"ADM0_TLC":"BRN","ADM0_A3_US":"BRN","ADM0_A3_FR":"BRN","ADM0_A3_RU":"BRN","ADM0_A3_ES":"BRN","ADM0_A3_CN":"BRN","ADM0_A3_TW":"BRN","ADM0_A3_IN":"BRN","ADM0_A3_NP":"BRN","ADM0_A3_PK":"BRN","ADM0_A3_DE":"BRN","ADM0_A3_GB":"BRN","ADM0_A3_BR":"BRN","ADM0_A3_IL":"BRN","ADM0_A3_PS":"BRN","ADM0_A3_SA":"BRN","ADM0_A3_EG":"BRN","ADM0_A3_MA":"BRN","ADM0_A3_PT":"BRN","ADM0_A3_AR":"BRN","ADM0_A3_JP":"BRN","ADM0_A3_KO":"BRN","ADM0_A3_VN":"BRN","ADM0_A3_TR":"BRN","ADM0_A3_ID":"BRN","ADM0_A3_PL":"BRN","ADM0_A3_GR":"BRN","ADM0_A3_IT":"BRN","ADM0_A3_NL":"BRN","ADM0_A3_SE":"BRN","ADM0_A3_BD":"BRN","ADM0_A3_UA":"BRN","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Asia","REGION_UN":"Asia","SUBREGION":"South-Eastern Asia","REGION_WB":"East Asia & Pacific","NAME_LEN":6,"LONG_LEN":17,"ABBREV_LEN":6,"TINY":2,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":4,"MAX_LABEL":9,"LABEL_X":114.551943,"LABEL_Y":4.448298,"NE_ID":1159320451,"WIKIDATAID":"Q921","NAME_AR":"بروناي","NAME_BN":"ব্রুনাই","NAME_DE":"Brunei","NAME_EN":"Brunei","NAME_ES":"Brunéi","NAME_FA":"برونئی","NAME_FR":"Brunei","NAME_EL":"Μπρουνέι","NAME_HE":"ברוניי","NAME_HI":"ब्रुनेई","NAME_HU":"Brunei","NAME_ID":"Brunei Darussalam","NAME_IT":"Brunei","NAME_JA":"ブルネイ","NAME_KO":"브루나이","NAME_NL":"Brunei","NAME_PL":"Brunei","NAME_PT":"Brunei","NAME_RU":"Бруней","NAME_SV":"Brunei","NAME_TR":"Brunei","NAME_UK":"Бруней","NAME_UR":"برونائی دار السلام","NAME_VI":"Brunei","NAME_ZH":"文莱","NAME_ZHT":"汶萊","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[114.063867,4.023975,115.326758,5.022363],"geometry":{"type":"MultiPolygon","coordinates":[[[[115.140039,4.899756],[115.168457,4.866699],[115.22793,4.750586],[115.266699,4.633984],[115.279297,4.456348],[115.326758,4.380762],[115.319238,4.365283],[115.290625,4.352588],[115.24668,4.347217],[115.170605,4.364209],[115.107031,4.39043],[115.051562,4.582666],[115.026758,4.691357],[115.028809,4.821143],[115.026758,4.899707],[115.140039,4.899756]]],[[[115.026758,4.899707],[114.944727,4.85625],[114.864551,4.801758],[114.78418,4.754834],[114.74668,4.718066],[114.759961,4.666504],[114.779297,4.553027],[114.790137,4.463916],[114.818262,4.42876],[114.840234,4.393213],[114.831055,4.354492],[114.783496,4.280762],[114.810449,4.266504],[114.776172,4.168799],[114.725,4.096533],[114.654102,4.037646],[114.608301,4.023975],[114.571777,4.049072],[114.512207,4.113574],[114.44707,4.203564],[114.416602,4.255859],[114.322949,4.262793],[114.289648,4.304199],[114.287598,4.354736],[114.261035,4.414258],[114.224121,4.477881],[114.168848,4.526953],[114.095117,4.565234],[114.063867,4.592676],[114.17793,4.590967],[114.299414,4.607178],[114.424414,4.6604],[114.544727,4.724561],[114.645898,4.798145],[114.74082,4.881006],[114.840625,4.946387],[114.99541,5.022363],[115.047656,5.016357],[115.04707,4.962451],[115.026758,4.899707]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":2,"SOVEREIGNT":"Brazil","SOV_A3":"BRA","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Brazil","ADM0_A3":"BRA","GEOU_DIF":0,"GEOUNIT":"Brazil","GU_A3":"BRA","SU_DIF":0,"SUBUNIT":"Brazil","SU_A3":"BRA","BRK_DIFF":0,"NAME":"Brazil","NAME_LONG":"Brazil","BRK_A3":"BRA","BRK_NAME":"Brazil","BRK_GROUP":null,"ABBREV":"Brazil","POSTAL":"BR","FORMAL_EN":"Federative Republic of Brazil","FORMAL_FR":null,"NAME_CIAWF":"Brazil","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Brazil","NAME_ALT":null,"MAPCOLOR7":5,"MAPCOLOR8":6,"MAPCOLOR9":5,"MAPCOLOR13":7,"POP_EST":211049527,"POP_RANK":17,"POP_YEAR":2019,"GDP_MD":1839758,"GDP_YEAR":2019,"ECONOMY":"3. Emerging region: BRIC","INCOME_GRP":"3. Upper middle income","FIPS_10":"BR","ISO_A2":"BR","ISO_A2_EH":"BR","ISO_A3":"BRA","ISO_A3_EH":"BRA","ISO_N3":"076","ISO_N3_EH":"076","UN_A3":"076","WB_A2":"BR","WB_A3":"BRA","WOE_ID":23424768,"WOE_ID_EH":23424768,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"BRA","ADM0_DIFF":null,"ADM0_TLC":"BRA","ADM0_A3_US":"BRA","ADM0_A3_FR":"BRA","ADM0_A3_RU":"BRA","ADM0_A3_ES":"BRA","ADM0_A3_CN":"BRA","ADM0_A3_TW":"BRA","ADM0_A3_IN":"BRA","ADM0_A3_NP":"BRA","ADM0_A3_PK":"BRA","ADM0_A3_DE":"BRA","ADM0_A3_GB":"BRA","ADM0_A3_BR":"BRA","ADM0_A3_IL":"BRA","ADM0_A3_PS":"BRA","ADM0_A3_SA":"BRA","ADM0_A3_EG":"BRA","ADM0_A3_MA":"BRA","ADM0_A3_PT":"BRA","ADM0_A3_AR":"BRA","ADM0_A3_JP":"BRA","ADM0_A3_KO":"BRA","ADM0_A3_VN":"BRA","ADM0_A3_TR":"BRA","ADM0_A3_ID":"BRA","ADM0_A3_PL":"BRA","ADM0_A3_GR":"BRA","ADM0_A3_IT":"BRA","ADM0_A3_NL":"BRA","ADM0_A3_SE":"BRA","ADM0_A3_BD":"BRA","ADM0_A3_UA":"BRA","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"South America","REGION_UN":"Americas","SUBREGION":"South America","REGION_WB":"Latin America & Caribbean","NAME_LEN":6,"LONG_LEN":6,"ABBREV_LEN":6,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":1.7,"MAX_LABEL":5.7,"LABEL_X":-49.55945,"LABEL_Y":-12.098687,"NE_ID":1159320441,"WIKIDATAID":"Q155","NAME_AR":"البرازيل","NAME_BN":"ব্রাজিল","NAME_DE":"Brasilien","NAME_EN":"Brazil","NAME_ES":"Brasil","NAME_FA":"برزیل","NAME_FR":"Brésil","NAME_EL":"Βραζιλία","NAME_HE":"ברזיל","NAME_HI":"ब्राज़ील","NAME_HU":"Brazília","NAME_ID":"Brasil","NAME_IT":"Brasile","NAME_JA":"ブラジル","NAME_KO":"브라질","NAME_NL":"Brazilië","NAME_PL":"Brazylia","NAME_PT":"Brasil","NAME_RU":"Бразилия","NAME_SV":"Brasilien","NAME_TR":"Brezilya","NAME_UK":"Бразилія","NAME_UR":"برازیل","NAME_VI":"Brasil","NAME_ZH":"巴西","NAME_ZHT":"巴西","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[-74.002051,-33.742188,-34.805469,5.257959],"geometry":{"type":"MultiPolygon","coordinates":[[[[-66.876025,1.223047],[-66.619043,0.992139],[-66.429248,0.82168],[-66.347119,0.767187],[-66.30166,0.751953],[-66.191211,0.763281],[-66.060059,0.785352],[-65.996338,0.809766],[-65.925879,0.863135],[-65.811328,0.937256],[-65.718115,0.978027],[-65.681445,0.983447],[-65.644678,0.970361],[-65.566016,0.926074],[-65.522998,0.843408],[-65.562695,0.74751],[-65.556055,0.687988],[-65.473389,0.69126],[-65.407227,0.790479],[-65.36084,0.868652],[-65.263965,0.931885],[-65.169629,1.022217],[-65.10376,1.108105],[-65.026562,1.158447],[-64.910107,1.219727],[-64.817969,1.257129],[-64.731543,1.25332],[-64.667432,1.293848],[-64.584375,1.369873],[-64.52627,1.431006],[-64.486035,1.452783],[-64.405127,1.446875],[-64.304199,1.455273],[-64.205029,1.529492],[-64.114844,1.619287],[-64.067041,1.770508],[-64.035449,1.904443],[-64.008496,1.931592],[-63.975781,1.953027],[-63.937158,1.966992],[-63.844482,1.976709],[-63.682129,2.048145],[-63.570264,2.120508],[-63.463916,2.136035],[-63.43252,2.155566],[-63.393945,2.22251],[-63.374854,2.34043],[-63.389258,2.411914],[-63.584619,2.433936],[-63.712549,2.434033],[-63.92417,2.452441],[-64.024902,2.481885],[-64.046582,2.502393],[-64.048828,2.525098],[-64.028711,2.576074],[-64.009033,2.671875],[-64.037793,2.801514],[-64.143555,3.004883],[-64.218848,3.204687],[-64.22876,3.343994],[-64.227051,3.491211],[-64.221094,3.587402],[-64.275293,3.662695],[-64.56792,3.899805],[-64.668994,4.011816],[-64.702588,4.089307],[-64.817871,4.232275],[-64.788672,4.276025],[-64.722266,4.274414],[-64.665527,4.237109],[-64.613672,4.157715],[-64.576367,4.139893],[-64.525537,4.13999],[-64.255664,4.140332],[-64.19248,4.126855],[-64.154297,4.100146],[-64.121729,4.066992],[-64.073389,3.974414],[-64.021484,3.929102],[-63.914648,3.930664],[-63.746973,3.932568],[-63.65293,3.94082],[-63.596631,3.915039],[-63.526807,3.893701],[-63.379785,3.942871],[-63.338672,3.943896],[-63.294727,3.922266],[-63.13623,3.756445],[-63.045312,3.686475],[-62.968652,3.593945],[-62.856982,3.593457],[-62.7646,3.672949],[-62.739941,3.940332],[-62.712109,4.01792],[-62.665332,4.039648],[-62.609766,4.042285],[-62.543945,4.084326],[-62.472559,4.138525],[-62.410645,4.156738],[-62.153125,4.098389],[-62.081592,4.126318],[-61.82085,4.197021],[-61.554248,4.287793],[-61.479395,4.402246],[-61.367529,4.433008],[-61.280078,4.516895],[-61.209424,4.508057],[-61.102441,4.504687],[-61.036279,4.519336],[-61.002832,4.535254],[-60.966406,4.574707],[-60.90625,4.686816],[-60.833398,4.729199],[-60.741748,4.774121],[-60.67915,4.8271],[-60.627588,4.892529],[-60.603857,4.949365],[-60.604492,4.99458],[-60.63501,5.081982],[-60.671973,5.164355],[-60.711963,5.191553],[-60.742139,5.202051],[-60.651367,5.221143],[-60.576416,5.19248],[-60.459521,5.188086],[-60.408789,5.210156],[-60.335205,5.199316],[-60.24165,5.257959],[-60.181738,5.238818],[-60.142041,5.238818],[-60.105957,5.194238],[-60.078076,5.143994],[-59.990674,5.082861],[-59.999365,4.989844],[-60.015479,4.90752],[-60.026758,4.812695],[-60.031787,4.740527],[-60.068945,4.66665],[-60.124561,4.597656],[-60.140918,4.569629],[-60.148633,4.533252],[-60.111133,4.511182],[-60.04502,4.50459],[-59.962354,4.501709],[-59.906104,4.480322],[-59.83335,4.475928],[-59.745801,4.41665],[-59.703271,4.381104],[-59.699707,4.353516],[-59.72749,4.287646],[-59.738574,4.226758],[-59.716895,4.188184],[-59.691211,4.1604],[-59.620215,4.023145],[-59.586426,3.975391],[-59.557764,3.96001],[-59.551123,3.933545],[-59.575391,3.883447],[-59.604443,3.819678],[-59.670215,3.752734],[-59.679004,3.699805],[-59.731641,3.666553],[-59.854395,3.5875],[-59.833057,3.462158],[-59.828809,3.398584],[-59.831152,3.349219],[-59.873047,3.283105],[-59.945654,3.087842],[-59.972314,2.990479],[-59.995898,2.76543],[-59.994336,2.68999],[-59.960791,2.588379],[-59.889648,2.362939],[-59.849121,2.327051],[-59.755225,2.274121],[-59.743506,2.121631],[-59.751758,1.962402],[-59.756201,1.900635],[-59.740723,1.87417],[-59.698535,1.861475],[-59.668506,1.842334],[-59.66377,1.795215],[-59.666602,1.746289],[-59.596631,1.718018],[-59.535693,1.7],[-59.479443,1.632422],[-59.377686,1.527344],[-59.337256,1.508203],[-59.316992,1.4646],[-59.231201,1.376025],[-59.100391,1.343652],[-58.968506,1.30459],[-58.916602,1.248877],[-58.8625,1.203613],[-58.821777,1.201221],[-58.787207,1.208496],[-58.730322,1.24751],[-58.684619,1.281055],[-58.605078,1.27915],[-58.511865,1.284668],[-58.495703,1.312256],[-58.486865,1.347754],[-58.506055,1.438672],[-58.472949,1.46626],[-58.395801,1.481738],[-58.380371,1.530225],[-58.362695,1.556689],[-58.340674,1.587549],[-58.314209,1.591943],[-58.281152,1.574316],[-58.23042,1.563281],[-58.173096,1.547852],[-58.142236,1.516992],[-58.091309,1.514355],[-58.034668,1.520264],[-58.011768,1.539941],[-57.995117,1.574316],[-57.982812,1.648438],[-57.946338,1.650586],[-57.873437,1.667285],[-57.795654,1.7],[-57.691748,1.704785],[-57.594434,1.704102],[-57.545752,1.726074],[-57.500439,1.773828],[-57.412695,1.908936],[-57.366797,1.940137],[-57.31748,1.963477],[-57.275586,1.959229],[-57.1896,1.981592],[-57.118896,2.013965],[-57.092676,2.005811],[-57.037598,1.936475],[-57.010059,1.92124],[-56.969531,1.916406],[-56.836719,1.88125],[-56.76626,1.892187],[-56.689844,1.914307],[-56.616455,1.922656],[-56.563574,1.907227],[-56.525488,1.927246],[-56.482812,1.942139],[-56.452832,1.932324],[-56.38584,1.923877],[-56.227148,1.885352],[-56.019922,1.842236],[-55.96333,1.85708],[-55.929639,1.8875],[-55.921631,1.97666],[-55.915332,2.039551],[-55.961963,2.095117],[-56.020068,2.158154],[-56.073633,2.236768],[-56.137695,2.259033],[-56.129395,2.299512],[-56.087793,2.341309],[-56.045117,2.364404],[-56.020361,2.392773],[-55.993506,2.49751],[-55.975586,2.515967],[-55.957471,2.520459],[-55.935937,2.516602],[-55.89375,2.489502],[-55.730566,2.406152],[-55.658936,2.41875],[-55.385352,2.440625],[-55.343994,2.48877],[-55.286035,2.499658],[-55.187695,2.54751],[-55.148828,2.550781],[-55.114111,2.539209],[-55.070312,2.54834],[-55.005811,2.592969],[-54.978662,2.597656],[-54.968408,2.54834],[-54.926562,2.497363],[-54.876074,2.450391],[-54.85166,2.439551],[-54.766846,2.454736],[-54.722217,2.44165],[-54.70293,2.397949],[-54.697412,2.359814],[-54.661865,2.327539],[-54.61626,2.326758],[-54.591943,2.31377],[-54.550488,2.293066],[-54.515088,2.245459],[-54.433105,2.20752],[-54.293066,2.154248],[-54.227979,2.15332],[-54.167383,2.137061],[-54.130078,2.121045],[-54.089746,2.150488],[-53.946436,2.232568],[-53.876611,2.278271],[-53.829541,2.312939],[-53.794238,2.345996],[-53.767773,2.354834],[-53.750146,2.33501],[-53.734717,2.308545],[-53.683691,2.29292],[-53.563965,2.261914],[-53.508984,2.253125],[-53.431836,2.279443],[-53.366016,2.324219],[-53.334424,2.339746],[-53.285498,2.295215],[-53.252197,2.232275],[-53.229785,2.204883],[-53.180078,2.211328],[-53.082275,2.201709],[-53.009717,2.181738],[-52.964844,2.183545],[-52.903467,2.211523],[-52.87041,2.26665],[-52.783398,2.317187],[-52.700635,2.363672],[-52.653174,2.425732],[-52.583008,2.528906],[-52.559473,2.573145],[-52.554688,2.647656],[-52.455859,2.86416],[-52.418408,2.903857],[-52.396387,2.972217],[-52.356641,3.051562],[-52.356641,3.117725],[-52.327881,3.181738],[-52.27124,3.237109],[-52.229443,3.27168],[-52.162598,3.364697],[-52.116113,3.452295],[-51.999512,3.646875],[-51.990625,3.702002],[-51.944336,3.735107],[-51.928906,3.776953],[-51.879492,3.828564],[-51.82749,3.86958],[-51.805273,3.929932],[-51.76709,3.992676],[-51.683447,4.039697],[-51.652539,4.061279],[-51.557812,4.233789],[-51.54707,4.310889],[-51.461523,4.31377],[-51.3271,4.224756],[-51.219922,4.093604],[-51.07627,3.67168],[-51.052393,3.281836],[-50.994141,3.077539],[-50.827197,2.651855],[-50.816504,2.573047],[-50.789697,2.477783],[-50.736963,2.376758],[-50.67876,2.210352],[-50.676562,2.179443],[-50.714404,2.134033],[-50.658936,2.130957],[-50.608691,2.104102],[-50.575879,1.998584],[-50.534424,1.927246],[-50.458887,1.82959],[-50.304297,1.797656],[-50.187598,1.785986],[-50.054688,1.730713],[-49.957129,1.659863],[-49.881592,1.419922],[-49.90625,1.269043],[-49.898877,1.162988],[-49.937939,1.121436],[-50.047217,1.051953],[-50.070996,1.015088],[-50.294434,0.835742],[-50.343262,0.751025],[-50.462988,0.637305],[-50.581543,0.420508],[-50.755078,0.222559],[-50.816357,0.172559],[-50.910156,0.160986],[-50.96709,0.130273],[-51.101953,-0.03125],[-51.28291,-0.085205],[-51.299561,-0.178809],[-51.40415,-0.392676],[-51.496289,-0.509473],[-51.555029,-0.549121],[-51.702637,-0.762305],[-51.721533,-0.855469],[-51.720605,-1.018457],[-51.819141,-1.117773],[-51.921631,-1.180859],[-51.934473,-1.320312],[-51.980811,-1.367969],[-52.020459,-1.399023],[-52.229248,-1.3625],[-52.553418,-1.514063],[-52.66416,-1.551758],[-52.310303,-1.55957],[-52.19668,-1.640137],[-51.947559,-1.586719],[-51.646289,-1.394336],[-51.531201,-1.354102],[-51.297363,-1.223535],[-51.202344,-1.136523],[-51.028955,-1.032129],[-50.992041,-0.986328],[-50.894922,-0.937598],[-50.842285,-0.999609],[-50.838184,-1.038867],[-50.917871,-1.115234],[-50.897168,-1.164453],[-50.84458,-1.22627],[-50.825537,-1.311426],[-50.818652,-1.37627],[-50.786133,-1.489941],[-50.678955,-1.643848],[-50.675293,-1.694727],[-50.690039,-1.761719],[-50.63877,-1.81709],[-50.585596,-1.849902],[-50.403223,-2.015527],[-50.260449,-1.922949],[-50.172705,-1.896191],[-50.116602,-1.85752],[-49.999219,-1.831836],[-49.902979,-1.870605],[-49.719531,-1.926367],[-49.585352,-1.867188],[-49.313672,-1.731738],[-49.398633,-1.971582],[-49.460156,-2.191504],[-49.506982,-2.280273],[-49.553369,-2.519922],[-49.599316,-2.583887],[-49.636523,-2.656934],[-49.575879,-2.631445],[-49.523926,-2.596875],[-49.45752,-2.50459],[-49.407666,-2.344336],[-49.211035,-1.916504],[-49.154785,-1.878516],[-48.991309,-1.829785],[-48.71001,-1.487695],[-48.6,-1.48877],[-48.52959,-1.56748],[-48.462939,-1.613965],[-48.44585,-1.52041],[-48.349805,-1.482129],[-48.451465,-1.43584],[-48.468066,-1.393848],[-48.477734,-1.323828],[-48.408594,-1.229199],[-48.449805,-1.145508],[-48.306494,-1.039844],[-48.317578,-0.960547],[-48.266455,-0.895117],[-48.201758,-0.82793],[-48.128467,-0.795215],[-48.115088,-0.7375],[-48.068848,-0.713672],[-48.032568,-0.705078],[-47.960938,-0.769629],[-47.883398,-0.693359],[-47.807666,-0.663477],[-47.77373,-0.676758],[-47.731494,-0.710449],[-47.687109,-0.724805],[-47.651074,-0.71875],[-47.557324,-0.669922],[-47.470703,-0.748535],[-47.418652,-0.765918],[-47.43291,-0.721875],[-47.460352,-0.680957],[-47.439063,-0.647656],[-47.398096,-0.62666],[-47.268604,-0.64541],[-47.200537,-0.680469],[-47.126904,-0.74541],[-47.024609,-0.750195],[-46.944336,-0.743359],[-46.893652,-0.779883],[-46.81123,-0.779688],[-46.769922,-0.836523],[-46.644434,-0.916406],[-46.617236,-0.970605],[-46.516309,-0.996875],[-46.421729,-1.030078],[-46.32085,-1.03916],[-46.219141,-1.03125],[-46.21499,-1.099805],[-46.140381,-1.118359],[-46.044629,-1.103027],[-45.972266,-1.187402],[-45.778809,-1.250781],[-45.644775,-1.347852],[-45.556934,-1.330664],[-45.458594,-1.35625],[-45.353027,-1.567383],[-45.32915,-1.717285],[-45.282129,-1.696582],[-45.238574,-1.629492],[-45.18208,-1.507031],[-45.076367,-1.466406],[-45.025781,-1.513477],[-44.919775,-1.588867],[-44.828369,-1.67168],[-44.789844,-1.724805],[-44.721143,-1.733496],[-44.778516,-1.798828],[-44.720947,-1.792285],[-44.65127,-1.745801],[-44.59165,-1.841797],[-44.546777,-1.946289],[-44.537793,-2.052734],[-44.580029,-2.113867],[-44.617285,-2.152148],[-44.658643,-2.227539],[-44.70752,-2.241113],[-44.756348,-2.265527],[-44.700635,-2.32041],[-44.662402,-2.373242],[-44.579004,-2.230469],[-44.520361,-2.190332],[-44.435449,-2.168066],[-44.391309,-2.269629],[-44.381836,-2.365527],[-44.520117,-2.405469],[-44.520654,-2.48125],[-44.562012,-2.524219],[-44.589014,-2.573438],[-44.610791,-2.676855],[-44.638965,-2.7625],[-44.721387,-3.142285],[-44.723047,-3.204785],[-44.622656,-3.137891],[-44.437549,-2.944434],[-44.381152,-2.738379],[-44.308154,-2.535156],[-44.228613,-2.471289],[-44.179395,-2.471191],[-44.105566,-2.493457],[-44.101367,-2.560059],[-44.112646,-2.598535],[-44.191602,-2.699609],[-44.225195,-2.75498],[-44.192676,-2.80957],[-44.013232,-2.642188],[-43.93291,-2.583496],[-43.864453,-2.59541],[-43.728613,-2.518164],[-43.455127,-2.502051],[-43.434619,-2.413672],[-43.380078,-2.376074],[-43.229687,-2.386035],[-42.936719,-2.465039],[-42.832275,-2.52959],[-42.675879,-2.589648],[-42.593555,-2.661035],[-42.249609,-2.791992],[-41.999854,-2.806055],[-41.876172,-2.746582],[-41.721875,-2.808887],[-41.640137,-2.878613],[-41.479932,-2.916504],[-41.318213,-2.93623],[-41.194531,-2.886133],[-40.875586,-2.869629],[-40.474561,-2.795605],[-40.235352,-2.813184],[-39.964697,-2.861523],[-39.771826,-2.98584],[-39.609424,-3.05625],[-39.511182,-3.125586],[-39.352686,-3.197363],[-39.014355,-3.390234],[-38.895996,-3.501758],[-38.68623,-3.653711],[-38.475781,-3.71748],[-38.361914,-3.876465],[-38.271875,-3.948047],[-38.048828,-4.216406],[-37.795654,-4.404297],[-37.626318,-4.59209],[-37.301465,-4.713086],[-37.174658,-4.912402],[-36.954883,-4.936719],[-36.861133,-4.966602],[-36.747363,-5.050684],[-36.590723,-5.097559],[-36.386719,-5.084277],[-36.161768,-5.09375],[-35.979883,-5.054395],[-35.549414,-5.129395],[-35.481689,-5.166016],[-35.392578,-5.250879],[-35.235449,-5.566699],[-35.141748,-5.917188],[-35.095459,-6.185352],[-34.988184,-6.39375],[-34.92959,-6.785059],[-34.879883,-6.908203],[-34.875977,-7.00293],[-34.833887,-7.024414],[-34.805469,-7.288379],[-34.816602,-7.394824],[-34.857764,-7.533301],[-34.86084,-7.59502],[-34.854785,-7.634277],[-34.872998,-7.69209],[-34.878613,-7.747461],[-34.836914,-7.871777],[-34.834668,-7.971484],[-34.890527,-8.092188],[-34.96665,-8.407617],[-35.157764,-8.930566],[-35.340869,-9.230664],[-35.59707,-9.540625],[-35.763965,-9.702539],[-35.830127,-9.719043],[-35.89082,-9.687012],[-35.847754,-9.772461],[-35.885449,-9.847656],[-36.05498,-10.075781],[-36.223535,-10.225098],[-36.39834,-10.484082],[-36.411621,-10.489941],[-36.635742,-10.589941],[-36.768311,-10.67168],[-36.937793,-10.82041],[-37.093359,-11.054785],[-37.125488,-11.084961],[-37.182812,-11.068457],[-37.181201,-11.1875],[-37.315137,-11.375977],[-37.356006,-11.403906],[-37.354883,-11.350488],[-37.331641,-11.309863],[-37.320801,-11.266602],[-37.321777,-11.215137],[-37.359229,-11.252539],[-37.438477,-11.39375],[-37.411816,-11.497266],[-37.469336,-11.653613],[-37.688721,-12.1],[-37.957324,-12.475488],[-38.019238,-12.591309],[-38.239746,-12.844238],[-38.401758,-12.966211],[-38.447314,-12.96709],[-38.498926,-12.956641],[-38.524902,-12.762305],[-38.654004,-12.644629],[-38.690967,-12.623926],[-38.743896,-12.748535],[-38.787988,-12.782715],[-38.851758,-12.790137],[-38.783594,-12.844434],[-38.763721,-12.907227],[-38.833154,-13.03291],[-38.835303,-13.147168],[-38.95918,-13.273047],[-39.030908,-13.365137],[-39.067383,-13.480469],[-39.089355,-13.588184],[-39.034912,-13.558789],[-39.009082,-13.581445],[-38.988623,-13.615039],[-39.001221,-13.664551],[-39.041113,-13.758105],[-39.034912,-13.991016],[-39.048145,-14.043945],[-39.008496,-14.101172],[-38.966504,-14.003418],[-38.942334,-14.030664],[-39.05957,-14.654785],[-39.013379,-14.935645],[-38.996191,-15.253809],[-38.943213,-15.564355],[-38.885254,-15.841992],[-38.880615,-15.864258],[-38.960791,-16.186523],[-39.063232,-16.504395],[-39.125049,-16.763574],[-39.163965,-17.043555],[-39.202881,-17.178125],[-39.215234,-17.31582],[-39.170605,-17.64209],[-39.154004,-17.703906],[-39.278369,-17.849414],[-39.412598,-17.92002],[-39.486768,-17.990137],[-39.650781,-18.252344],[-39.739795,-18.639844],[-39.741943,-18.845996],[-39.699854,-19.277832],[-39.731445,-19.453906],[-39.783301,-19.571777],[-39.844727,-19.649121],[-40.001367,-19.741992],[-40.141699,-19.968262],[-40.202734,-20.206055],[-40.298877,-20.292676],[-40.318555,-20.425781],[-40.395947,-20.569434],[-40.596582,-20.783789],[-40.727051,-20.846191],[-40.789258,-20.906055],[-40.82876,-21.031348],[-40.954541,-21.237891],[-41.047266,-21.505664],[-41.023145,-21.596875],[-41.021582,-21.61084],[-40.987842,-21.920313],[-41.000293,-21.999023],[-41.12251,-22.084375],[-41.58291,-22.243652],[-41.705518,-22.309668],[-41.98042,-22.580664],[-41.997559,-22.644629],[-41.986133,-22.73584],[-41.940918,-22.788281],[-41.9875,-22.845117],[-42.042383,-22.94707],[-42.122461,-22.94082],[-42.581055,-22.941016],[-42.829297,-22.97334],[-42.958301,-22.96709],[-43.016211,-22.942578],[-43.081152,-22.902539],[-43.100684,-22.850098],[-43.06543,-22.770703],[-43.086279,-22.72334],[-43.154297,-22.725195],[-43.229004,-22.747656],[-43.241943,-22.795117],[-43.236621,-22.828809],[-43.208838,-22.878125],[-43.193604,-22.938574],[-43.22417,-22.991211],[-43.369482,-22.998047],[-43.532813,-23.046387],[-43.736523,-23.066602],[-43.898828,-23.101465],[-43.973828,-23.057324],[-43.898828,-23.035254],[-43.791406,-23.045996],[-43.675977,-23.009473],[-43.70293,-22.966309],[-43.866162,-22.910547],[-44.047461,-22.944727],[-44.147998,-23.011035],[-44.36792,-23.00498],[-44.637256,-23.055469],[-44.681152,-23.106934],[-44.673828,-23.206641],[-44.621094,-23.228516],[-44.569678,-23.274023],[-44.619092,-23.316406],[-44.667187,-23.335156],[-44.95166,-23.381445],[-45.21543,-23.575586],[-45.325391,-23.599707],[-45.423291,-23.685352],[-45.433398,-23.758496],[-45.464307,-23.802539],[-45.5271,-23.804785],[-45.664648,-23.764844],[-45.843164,-23.763672],[-45.97207,-23.795508],[-46.630762,-24.110352],[-46.867285,-24.236328],[-47.137207,-24.493164],[-47.592187,-24.781055],[-47.831152,-24.95293],[-47.876563,-24.997461],[-47.914307,-24.999902],[-47.98916,-25.035742],[-47.959375,-25.06543],[-47.90835,-25.068164],[-47.929395,-25.168262],[-48.024365,-25.236719],[-48.202734,-25.416504],[-48.242432,-25.40332],[-48.185937,-25.309863],[-48.273486,-25.306348],[-48.40249,-25.27207],[-48.458496,-25.310742],[-48.427637,-25.40332],[-48.476123,-25.442969],[-48.56416,-25.447461],[-48.643994,-25.436523],[-48.731738,-25.36875],[-48.692187,-25.491504],[-48.507031,-25.521289],[-48.429883,-25.550195],[-48.401172,-25.597363],[-48.545166,-25.815918],[-48.665771,-25.844336],[-48.679004,-25.875195],[-48.612842,-25.875],[-48.576318,-25.935449],[-48.619434,-26.179395],[-48.679004,-26.225781],[-48.71377,-26.226953],[-48.748291,-26.268652],[-48.700684,-26.34834],[-48.651611,-26.406445],[-48.658154,-26.519141],[-48.676514,-26.612402],[-48.677734,-26.70293],[-48.615674,-26.878125],[-48.593408,-27.058008],[-48.568359,-27.123438],[-48.55415,-27.195996],[-48.595508,-27.263867],[-48.571973,-27.372754],[-48.642578,-27.55791],[-48.605664,-27.825195],[-48.620801,-28.075586],[-48.648438,-28.207227],[-48.693213,-28.310156],[-48.797266,-28.442676],[-48.799658,-28.575293],[-49.023584,-28.698633],[-49.271289,-28.871191],[-49.499902,-29.075391],[-49.745996,-29.363184],[-50.03335,-29.800977],[-50.299512,-30.425781],[-50.619971,-30.897656],[-50.748145,-31.068066],[-50.921387,-31.258398],[-51.151758,-31.480371],[-51.4604,-31.702441],[-51.798145,-31.900293],[-51.920215,-31.989551],[-52.039209,-32.114844],[-52.068945,-32.063086],[-52.043164,-31.977539],[-52.05957,-31.913477],[-52.063232,-31.830371],[-51.995117,-31.815039],[-51.893164,-31.867773],[-51.841211,-31.832031],[-51.803418,-31.79668],[-51.680664,-31.774609],[-51.446191,-31.557324],[-51.272168,-31.476953],[-51.174316,-31.339746],[-51.15752,-31.266797],[-51.161426,-31.118848],[-51.105957,-31.081348],[-50.980078,-31.094238],[-50.954395,-31.052148],[-50.965332,-31.005469],[-50.94082,-30.903711],[-50.770166,-30.813379],[-50.689307,-30.704199],[-50.716309,-30.425977],[-50.685059,-30.413477],[-50.614844,-30.456836],[-50.581934,-30.438867],[-50.546533,-30.316895],[-50.563525,-30.253613],[-50.646191,-30.236816],[-50.931885,-30.374316],[-51.024951,-30.368652],[-51.040381,-30.260645],[-51.179297,-30.211035],[-51.233594,-30.121387],[-51.249854,-30.059961],[-51.298047,-30.034863],[-51.29502,-30.141016],[-51.281787,-30.244141],[-51.157275,-30.364258],[-51.187549,-30.411914],[-51.246582,-30.467578],[-51.287695,-30.591211],[-51.283057,-30.751563],[-51.316406,-30.702734],[-51.359082,-30.674512],[-51.376465,-30.846875],[-51.459131,-30.912793],[-51.485254,-30.977539],[-51.463672,-31.052637],[-51.506299,-31.104492],[-51.716895,-31.24375],[-51.926807,-31.338867],[-51.972461,-31.383789],[-51.994873,-31.489941],[-52.026953,-31.599023],[-52.119824,-31.694922],[-52.193555,-31.885547],[-52.191553,-31.967578],[-52.16709,-32.088477],[-52.127393,-32.167773],[-52.190186,-32.220801],[-52.274609,-32.32373],[-52.34165,-32.439746],[-52.508496,-32.875293],[-52.652246,-33.137793],[-52.762891,-33.266406],[-52.92085,-33.401953],[-53.370605,-33.742188],[-53.397559,-33.737305],[-53.463574,-33.709863],[-53.518848,-33.677246],[-53.531348,-33.655469],[-53.537646,-33.622852],[-53.530371,-33.500293],[-53.531348,-33.170898],[-53.511865,-33.108691],[-53.482861,-33.068555],[-53.395215,-33.010352],[-53.310107,-32.927051],[-53.214062,-32.821094],[-53.125586,-32.736719],[-53.157275,-32.680078],[-53.23125,-32.625391],[-53.362744,-32.581152],[-53.489404,-32.503223],[-53.601709,-32.403027],[-53.653613,-32.29873],[-53.701123,-32.186328],[-53.746582,-32.097461],[-53.761719,-32.056836],[-53.806104,-32.039941],[-53.876514,-31.994531],[-53.920605,-31.952344],[-53.985156,-31.928125],[-54.100439,-31.901563],[-54.220557,-31.855176],[-54.369922,-31.74502],[-54.477686,-31.622754],[-54.530908,-31.541992],[-54.587646,-31.485156],[-54.895996,-31.391211],[-55.036035,-31.279004],[-55.091162,-31.313965],[-55.173535,-31.27959],[-55.254639,-31.225586],[-55.278955,-31.18418],[-55.313281,-31.141699],[-55.345508,-31.092969],[-55.366064,-31.046191],[-55.449561,-30.964453],[-55.557324,-30.875977],[-55.603027,-30.850781],[-55.627148,-30.858105],[-55.650488,-30.89209],[-55.665234,-30.924902],[-55.705957,-30.946582],[-55.756348,-30.987109],[-55.807764,-31.036719],[-55.873682,-31.069629],[-55.952002,-31.080859],[-56.004687,-31.079199],[-56.015527,-31.059668],[-56.018457,-30.991895],[-55.998975,-30.837207],[-56.044824,-30.777637],[-56.105859,-30.71377],[-56.176172,-30.628418],[-56.407227,-30.447461],[-56.72168,-30.186914],[-56.832715,-30.107227],[-56.937256,-30.101074],[-57.032715,-30.109961],[-57.120508,-30.144434],[-57.186914,-30.264844],[-57.214453,-30.283398],[-57.383838,-30.280664],[-57.552295,-30.26123],[-57.608887,-30.187793],[-57.563867,-30.139941],[-57.405225,-30.033887],[-57.31748,-29.939453],[-57.300684,-29.856543],[-57.224658,-29.782129],[-57.089355,-29.716211],[-56.938623,-29.594824],[-56.772461,-29.417871],[-56.671533,-29.287305],[-56.63584,-29.203027],[-56.570703,-29.138086],[-56.475977,-29.09248],[-56.393262,-28.997266],[-56.322363,-28.852441],[-56.225537,-28.737207],[-56.102881,-28.651758],[-56.034229,-28.580859],[-56.019629,-28.524609],[-55.984912,-28.488574],[-55.930176,-28.472852],[-55.903662,-28.443262],[-55.90542,-28.399609],[-55.890527,-28.37002],[-55.858887,-28.354199],[-55.806055,-28.359766],[-55.731982,-28.386621],[-55.687256,-28.381641],[-55.671973,-28.344922],[-55.691504,-28.302832],[-55.745996,-28.255469],[-55.725488,-28.204102],[-55.582373,-28.120996],[-55.47666,-28.089355],[-55.409814,-28.037793],[-55.346484,-27.955957],[-55.24375,-27.898828],[-55.101514,-27.866797],[-55.063867,-27.835938],[-55.068994,-27.796289],[-55.039941,-27.767773],[-54.955908,-27.747168],[-54.910205,-27.708594],[-54.902783,-27.651953],[-54.875732,-27.599219],[-54.829102,-27.550586],[-54.7771,-27.53252],[-54.719727,-27.544922],[-54.665869,-27.526563],[-54.61543,-27.477148],[-54.554932,-27.454102],[-54.484326,-27.457324],[-54.448145,-27.446484],[-54.327002,-27.423535],[-54.260156,-27.382031],[-54.205225,-27.289648],[-54.156445,-27.253809],[-54.113818,-27.274707],[-54.040137,-27.24375],[-53.935352,-27.161133],[-53.915625,-27.15957],[-53.838184,-27.121094],[-53.758496,-26.97832],[-53.717285,-26.882812],[-53.727148,-26.804688],[-53.75332,-26.748633],[-53.74458,-26.666504],[-53.718164,-26.443164],[-53.710938,-26.351855],[-53.668555,-26.288184],[-53.671289,-26.225098],[-53.746924,-26.083691],[-53.823242,-25.95957],[-53.864209,-25.748828],[-53.891162,-25.668848],[-53.954785,-25.647656],[-54.012305,-25.57793],[-54.08501,-25.571875],[-54.119238,-25.545215],[-54.15459,-25.523047],[-54.206152,-25.52959],[-54.250098,-25.57041],[-54.331885,-25.571875],[-54.38335,-25.588672],[-54.443945,-25.625],[-54.501514,-25.608301],[-54.537842,-25.576465],[-54.615869,-25.576074],[-54.610547,-25.432715],[-54.473145,-25.220215],[-54.43623,-25.121289],[-54.454102,-25.065234],[-54.412988,-24.86748],[-54.312939,-24.528125],[-54.281006,-24.306055],[-54.317285,-24.20127],[-54.318262,-24.128125],[-54.266895,-24.06582],[-54.241797,-24.047266],[-54.370801,-23.971191],[-54.440234,-23.901758],[-54.52959,-23.852148],[-54.625488,-23.8125],[-54.671777,-23.829004],[-54.721387,-23.852148],[-54.817285,-23.888477],[-54.926465,-23.951367],[-54.982666,-23.974512],[-55.081885,-23.997656],[-55.194336,-24.01748],[-55.286914,-24.004297],[-55.366309,-23.991016],[-55.415918,-23.951367],[-55.442383,-23.865332],[-55.442383,-23.792578],[-55.458887,-23.686719],[-55.518457,-23.627246],[-55.538281,-23.580957],[-55.541602,-23.524707],[-55.534961,-23.461914],[-55.518457,-23.415625],[-55.528369,-23.359375],[-55.554834,-23.319629],[-55.548193,-23.250195],[-55.561426,-23.154297],[-55.601123,-23.094727],[-55.620996,-23.025293],[-55.620996,-22.955859],[-55.650732,-22.886426],[-55.654053,-22.810352],[-55.627588,-22.740918],[-55.617676,-22.671484],[-55.647412,-22.621875],[-55.703662,-22.59209],[-55.746631,-22.512695],[-55.753271,-22.410156],[-55.799561,-22.353906],[-55.84917,-22.307617],[-55.905371,-22.307617],[-55.991406,-22.281152],[-56.06748,-22.284473],[-56.189844,-22.281152],[-56.246045,-22.264648],[-56.275781,-22.228223],[-56.351855,-22.178613],[-56.394873,-22.092676],[-56.447803,-22.076172],[-56.523828,-22.102539],[-56.550293,-22.135645],[-56.580078,-22.181934],[-56.633008,-22.234863],[-56.702441,-22.231543],[-56.775195,-22.261328],[-56.844678,-22.264648],[-56.937256,-22.271289],[-57.029883,-22.244824],[-57.142334,-22.215039],[-57.238232,-22.195215],[-57.330859,-22.215039],[-57.393652,-22.198438],[-57.476367,-22.188574],[-57.568945,-22.181934],[-57.641699,-22.129004],[-57.721094,-22.099219],[-57.764062,-22.10918],[-57.820312,-22.142285],[-57.879834,-22.135645],[-57.955908,-22.10918],[-57.985693,-22.046387],[-57.979053,-22.006641],[-57.9625,-21.966992],[-57.932764,-21.910742],[-57.949316,-21.851172],[-57.942676,-21.79834],[-57.929443,-21.751953],[-57.916211,-21.699121],[-57.926172,-21.649512],[-57.929443,-21.596582],[-57.936084,-21.546973],[-57.945996,-21.494043],[-57.906299,-21.417969],[-57.873242,-21.355078],[-57.893066,-21.302246],[-57.886475,-21.26582],[-57.86001,-21.20625],[-57.826953,-21.133594],[-57.830225,-20.997949],[-57.86001,-20.918555],[-57.892236,-20.89707],[-57.900488,-20.873047],[-57.884814,-20.841699],[-57.901904,-20.809375],[-57.908496,-20.776367],[-57.891406,-20.747461],[-57.915137,-20.690332],[-57.9625,-20.673828],[-57.979053,-20.657324],[-57.995605,-20.594434],[-58.008838,-20.52168],[-58.002246,-20.46543],[-58.025391,-20.41582],[-58.058447,-20.386133],[-58.091504,-20.333203],[-58.124609,-20.293457],[-58.137793,-20.237305],[-58.159766,-20.164648],[-58.09375,-20.151074],[-58.067627,-20.110352],[-58.021143,-20.055176],[-57.960156,-20.040723],[-57.887598,-20.02041],[-57.860742,-19.97959],[-58.029932,-19.832715],[-58.131494,-19.744531],[-58.072021,-19.625293],[-57.97168,-19.424219],[-57.874512,-19.229492],[-57.800391,-19.080957],[-57.781445,-19.053516],[-57.716797,-19.044043],[-57.728613,-18.967383],[-57.730859,-18.917188],[-57.783105,-18.914258],[-57.725,-18.733203],[-57.63916,-18.475],[-57.574023,-18.279297],[-57.553125,-18.246484],[-57.506152,-18.237305],[-57.495654,-18.214648],[-57.552051,-18.183105],[-57.586475,-18.122266],[-57.66167,-17.947363],[-57.780176,-17.671777],[-57.788867,-17.573047],[-57.832471,-17.512109],[-57.905029,-17.532324],[-57.990918,-17.512891],[-58.205566,-17.363086],[-58.347754,-17.282129],[-58.395996,-17.234277],[-58.417383,-17.080566],[-58.459814,-16.910742],[-58.478125,-16.700684],[-58.470605,-16.650195],[-58.350391,-16.49082],[-58.350781,-16.410254],[-58.340576,-16.339941],[-58.345605,-16.284375],[-58.375391,-16.283594],[-58.423682,-16.30791],[-58.496582,-16.32666],[-58.537939,-16.328223],[-58.957275,-16.313184],[-59.434277,-16.295996],[-59.831152,-16.281738],[-60.175586,-16.269336],[-60.187207,-16.132129],[-60.206641,-15.901953],[-60.22041,-15.738672],[-60.242334,-15.47959],[-60.380469,-15.318262],[-60.530469,-15.143164],[-60.583203,-15.09834],[-60.402002,-15.092773],[-60.27334,-15.08877],[-60.298877,-14.618555],[-60.338037,-14.570508],[-60.372705,-14.41875],[-60.39624,-14.332813],[-60.460156,-14.263086],[-60.474658,-14.184766],[-60.462988,-14.132422],[-60.428076,-14.1],[-60.40498,-14.019238],[-60.422363,-13.937988],[-60.460156,-13.862402],[-60.506592,-13.789844],[-60.595312,-13.745313],[-60.722363,-13.664355],[-60.914502,-13.561426],[-61.077002,-13.489746],[-61.12915,-13.498535],[-61.416064,-13.526563],[-61.511572,-13.541211],[-61.575684,-13.524805],[-61.789941,-13.525586],[-61.874121,-13.47041],[-61.944727,-13.40625],[-62.094775,-13.241992],[-62.118018,-13.159766],[-62.176074,-13.133691],[-62.263916,-13.143652],[-62.352832,-13.132422],[-62.525537,-13.064258],[-62.687061,-12.994336],[-62.765479,-12.997266],[-62.835156,-12.953711],[-62.95791,-12.84707],[-63.015186,-12.805566],[-63.041357,-12.750391],[-63.06748,-12.669141],[-63.116797,-12.65166],[-63.180664,-12.666211],[-63.249756,-12.70791],[-63.34668,-12.680078],[-63.465234,-12.605176],[-63.541895,-12.54668],[-63.585645,-12.518945],[-63.688574,-12.478027],[-63.788086,-12.469434],[-63.938574,-12.529688],[-64.061621,-12.505078],[-64.255029,-12.483301],[-64.420508,-12.439746],[-64.480762,-12.326172],[-64.513428,-12.250977],[-64.61167,-12.203906],[-64.690039,-12.146484],[-64.783447,-12.059375],[-64.829883,-12.030273],[-64.914355,-12.005957],[-64.992529,-11.975195],[-65.001221,-11.92002],[-65.030273,-11.847363],[-65.037109,-11.829395],[-65.090283,-11.741211],[-65.115137,-11.735059],[-65.142676,-11.752344],[-65.163379,-11.765137],[-65.185742,-11.749512],[-65.189746,-11.710059],[-65.175391,-11.646875],[-65.206201,-11.580566],[-65.282275,-11.511035],[-65.322021,-11.43916],[-65.325488,-11.364746],[-65.342383,-11.315039],[-65.372852,-11.289941],[-65.389893,-11.246289],[-65.393604,-11.184277],[-65.371582,-11.110352],[-65.323779,-11.024805],[-65.334033,-10.892773],[-65.402295,-10.714746],[-65.43999,-10.58623],[-65.447119,-10.507422],[-65.436914,-10.449023],[-65.395459,-10.392285],[-65.313086,-10.253027],[-65.298584,-10.146777],[-65.324561,-10.026953],[-65.328125,-9.935547],[-65.309326,-9.872656],[-65.337891,-9.790234],[-65.396143,-9.712402],[-65.436768,-9.710449],[-65.491992,-9.731738],[-65.558691,-9.797461],[-65.637109,-9.809082],[-65.706787,-9.768457],[-65.924707,-9.785449],[-66.263574,-9.826074],[-66.399219,-9.868164],[-66.478906,-9.886133],[-66.575342,-9.899902],[-66.72998,-9.975488],[-67.111523,-10.268945],[-67.190479,-10.311426],[-67.280469,-10.317285],[-67.332715,-10.35791],[-67.416943,-10.389844],[-67.582422,-10.505957],[-67.66665,-10.598926],[-67.721777,-10.683105],[-67.785693,-10.686035],[-67.83501,-10.662793],[-67.991699,-10.674414],[-68.07168,-10.703125],[-68.158643,-10.785059],[-68.266602,-10.933105],[-68.311133,-10.975195],[-68.397998,-11.01875],[-68.49834,-11.054785],[-68.622656,-11.10918],[-68.678369,-11.112793],[-68.72749,-11.122461],[-68.769922,-11.097656],[-68.784082,-11.044629],[-68.84834,-11.011133],[-69.00166,-10.994336],[-69.228516,-10.955664],[-69.462549,-10.948145],[-69.578613,-10.951758],[-69.674023,-10.954102],[-69.839795,-10.933398],[-69.960352,-10.929883],[-70.066309,-10.982422],[-70.220068,-11.047656],[-70.290381,-11.064258],[-70.341992,-11.066699],[-70.392285,-11.058594],[-70.450879,-11.024805],[-70.533252,-10.946875],[-70.596533,-10.976855],[-70.642334,-11.010254],[-70.641553,-10.84082],[-70.640332,-10.586035],[-70.639355,-10.361328],[-70.638525,-10.181543],[-70.637598,-9.971777],[-70.636914,-9.82373],[-70.593799,-9.76748],[-70.567236,-9.70459],[-70.59917,-9.620508],[-70.592236,-9.543457],[-70.570166,-9.489844],[-70.541113,-9.4375],[-70.60791,-9.463672],[-70.636914,-9.478223],[-70.672461,-9.517969],[-70.758496,-9.57168],[-70.81626,-9.625293],[-70.884521,-9.669043],[-70.970752,-9.765723],[-71.041748,-9.81875],[-71.115283,-9.852441],[-71.237939,-9.966016],[-71.339404,-9.988574],[-71.608008,-10.006055],[-71.887451,-10.005566],[-72.142969,-10.005176],[-72.181592,-10.003711],[-72.179102,-9.910156],[-72.172852,-9.844043],[-72.259961,-9.774316],[-72.26582,-9.688477],[-72.289014,-9.629199],[-72.318066,-9.556641],[-72.379053,-9.510156],[-72.464746,-9.492188],[-72.605469,-9.452051],[-72.814258,-9.410352],[-73.01377,-9.407422],[-73.209424,-9.411426],[-73.089844,-9.265723],[-72.970361,-9.120117],[-72.974023,-8.993164],[-73.070508,-8.882812],[-73.122559,-8.814063],[-73.203125,-8.719336],[-73.302441,-8.654004],[-73.356738,-8.566992],[-73.351709,-8.51416],[-73.3604,-8.479297],[-73.398145,-8.458984],[-73.435889,-8.427051],[-73.488135,-8.392188],[-73.549121,-8.345801],[-73.549121,-8.299316],[-73.572363,-8.249902],[-73.610107,-8.191895],[-73.610107,-8.14541],[-73.644922,-8.072852],[-73.682666,-8.020605],[-73.72041,-7.985742],[-73.775586,-7.936426],[-73.772705,-7.895703],[-73.732031,-7.875391],[-73.7146,-7.829004],[-73.72041,-7.78252],[-73.766895,-7.753516],[-73.82207,-7.738965],[-73.894629,-7.654785],[-73.946875,-7.61123],[-73.981738,-7.585059],[-74.002051,-7.556055],[-73.981738,-7.535742],[-73.958496,-7.506641],[-73.952686,-7.460254],[-73.964307,-7.416699],[-73.964307,-7.378906],[-73.929443,-7.367285],[-73.891748,-7.373145],[-73.854004,-7.349902],[-73.804639,-7.341211],[-73.749463,-7.335352],[-73.72041,-7.309277],[-73.72334,-7.262793],[-73.758203,-7.172754],[-73.793018,-7.135059],[-73.804639,-7.079883],[-73.77627,-6.973535],[-73.758105,-6.905762],[-73.694531,-6.833789],[-73.499902,-6.679492],[-73.325488,-6.574707],[-73.240332,-6.564063],[-73.177441,-6.525195],[-73.137354,-6.46582],[-73.126318,-6.400879],[-73.135352,-6.344336],[-73.167725,-6.260645],[-73.206494,-6.156445],[-73.235547,-6.098438],[-73.209375,-6.028711],[-73.162891,-5.933398],[-73.068066,-5.789551],[-72.979883,-5.634863],[-72.970215,-5.589648],[-72.958936,-5.495215],[-72.918262,-5.302539],[-72.895801,-5.198242],[-72.907471,-5.157715],[-72.887061,-5.122754],[-72.831934,-5.09375],[-72.69873,-5.067188],[-72.60835,-5.00957],[-72.468994,-4.90127],[-72.352832,-4.786035],[-72.256787,-4.748926],[-72.08252,-4.642285],[-71.982422,-4.574609],[-71.943164,-4.55332],[-71.844727,-4.504395],[-71.668359,-4.487305],[-71.521338,-4.469727],[-71.438281,-4.437598],[-71.316797,-4.424316],[-71.23501,-4.388184],[-71.144238,-4.387207],[-70.973682,-4.350488],[-70.915625,-4.295313],[-70.866016,-4.22959],[-70.799512,-4.17334],[-70.721582,-4.158887],[-70.63457,-4.168652],[-70.530664,-4.167578],[-70.404639,-4.150098],[-70.343652,-4.193652],[-70.316895,-4.246973],[-70.23916,-4.301172],[-70.183984,-4.298145],[-70.128809,-4.286621],[-70.05332,-4.333105],[-70.003955,-4.327246],[-69.972021,-4.301172],[-69.965918,-4.235938],[-69.948193,-4.200586],[-69.911035,-3.996582],[-69.849756,-3.659863],[-69.794141,-3.35459],[-69.732617,-3.016699],[-69.669043,-2.667676],[-69.604687,-2.314258],[-69.551855,-2.024219],[-69.506445,-1.774902],[-69.478613,-1.621973],[-69.434912,-1.42168],[-69.417871,-1.245703],[-69.400244,-1.194922],[-69.411426,-1.152246],[-69.449121,-1.091602],[-69.44873,-1.064941],[-69.444336,-1.02959],[-69.44873,-0.99873],[-69.488428,-0.965723],[-69.519287,-0.945801],[-69.543555,-0.917188],[-69.55459,-0.877441],[-69.574414,-0.837793],[-69.583252,-0.795898],[-69.611914,-0.762793],[-69.620703,-0.720898],[-69.600879,-0.68125],[-69.592041,-0.639355],[-69.600879,-0.599609],[-69.611914,-0.55332],[-69.633984,-0.509277],[-69.66748,-0.482422],[-69.747461,-0.452539],[-69.82793,-0.381348],[-69.922754,-0.31748],[-70.044043,-0.196191],[-70.070508,-0.138867],[-70.070947,0.018555],[-70.065723,0.189355],[-70.05791,0.447363],[-70.053906,0.578613],[-69.985449,0.58584],[-69.925098,0.589404],[-69.862061,0.598486],[-69.807129,0.607471],[-69.756738,0.626367],[-69.718896,0.649805],[-69.673828,0.665088],[-69.638721,0.659668],[-69.603613,0.680371],[-69.564844,0.700195],[-69.527051,0.716406],[-69.472119,0.729932],[-69.420801,0.698389],[-69.391992,0.666895],[-69.358643,0.651562],[-69.327148,0.655176],[-69.305518,0.652441],[-69.283008,0.627246],[-69.254199,0.625439],[-69.212793,0.629932],[-69.174072,0.635352],[-69.156055,0.642529],[-69.15332,0.658789],[-69.163232,0.68667],[-69.176758,0.712842],[-69.165967,0.75332],[-69.165039,0.801953],[-69.163232,0.864062],[-69.193848,0.898291],[-69.224463,0.963135],[-69.258691,1.015381],[-69.311816,1.050488],[-69.361377,1.064014],[-69.402783,1.042383],[-69.441504,1.038818],[-69.470312,1.058594],[-69.517139,1.059473],[-69.567578,1.065771],[-69.620898,1.073242],[-69.716992,1.059082],[-69.751318,1.076611],[-69.798145,1.078418],[-69.852148,1.059521],[-69.850781,1.308789],[-69.849463,1.543896],[-69.848584,1.70874],[-69.799951,1.705176],[-69.7396,1.734863],[-69.650049,1.739453],[-69.58125,1.770752],[-69.54292,1.773242],[-69.470166,1.75791],[-69.394336,1.725781],[-69.319727,1.72124],[-69.124268,1.721289],[-68.913184,1.721387],[-68.678467,1.721484],[-68.443457,1.721582],[-68.239551,1.72168],[-68.176562,1.719824],[-68.213281,1.774561],[-68.255957,1.845508],[-68.239453,1.901367],[-68.218359,1.957617],[-68.193799,1.987012],[-68.130273,1.955762],[-68.077051,1.860107],[-68.032861,1.788037],[-67.989746,1.752539],[-67.93623,1.748486],[-67.875537,1.760596],[-67.815088,1.790088],[-67.711865,1.922119],[-67.609229,2.035059],[-67.556055,2.072998],[-67.499658,2.10791],[-67.457764,2.121143],[-67.400439,2.116699],[-67.351953,2.08584],[-67.320605,2.03208],[-67.205811,1.844824],[-67.119238,1.703613],[-67.090137,1.615576],[-67.088281,1.400586],[-67.093652,1.21001],[-67.082275,1.1854],[-67.065234,1.178369],[-66.876025,1.223047]]],[[[-49.628662,-0.229199],[-49.535205,-0.233594],[-49.402881,-0.214648],[-49.314258,-0.167871],[-49.215088,-0.158691],[-49.116992,-0.163574],[-48.786572,-0.215527],[-48.588037,-0.231641],[-48.51543,-0.248242],[-48.444482,-0.271875],[-48.392676,-0.297363],[-48.379687,-0.352832],[-48.428027,-0.441504],[-48.463965,-0.534766],[-48.497461,-0.664941],[-48.52334,-0.691406],[-48.56665,-0.684473],[-48.539697,-0.800977],[-48.549512,-0.847559],[-48.570947,-0.892871],[-48.624072,-0.986914],[-48.70459,-1.106641],[-48.728516,-1.131738],[-48.789844,-1.17334],[-48.839697,-1.226562],[-48.829004,-1.276563],[-48.804053,-1.326953],[-48.833594,-1.390039],[-48.928906,-1.482324],[-48.985938,-1.504688],[-49.038477,-1.514063],[-49.086865,-1.505078],[-49.172705,-1.412598],[-49.181689,-1.484961],[-49.204785,-1.558984],[-49.233984,-1.599512],[-49.344824,-1.595215],[-49.406592,-1.555566],[-49.506641,-1.511621],[-49.525684,-1.630469],[-49.587891,-1.712402],[-49.650586,-1.738086],[-49.748779,-1.755371],[-49.805127,-1.790234],[-49.911328,-1.762988],[-50.009961,-1.708496],[-50.065723,-1.703809],[-50.109277,-1.747852],[-50.338428,-1.755957],[-50.443457,-1.800684],[-50.507617,-1.787988],[-50.602051,-1.697754],[-50.617188,-1.637695],[-50.673389,-1.516016],[-50.723828,-1.371484],[-50.759766,-1.240234],[-50.729492,-1.126758],[-50.668311,-1.130566],[-50.595898,-1.147461],[-50.580518,-1.139453],[-50.576953,-1.103125],[-50.59292,-1.072949],[-50.709619,-1.077734],[-50.783301,-1.010352],[-50.796094,-0.90625],[-50.780957,-0.689844],[-50.771387,-0.64541],[-50.719922,-0.583398],[-50.703076,-0.528516],[-50.71582,-0.470215],[-50.693701,-0.364453],[-50.645508,-0.272852],[-50.461572,-0.157422],[-50.248242,-0.116406],[-49.628662,-0.229199]]],[[[-44.129297,-23.141895],[-44.098047,-23.169336],[-44.155762,-23.166602],[-44.220508,-23.19082],[-44.320068,-23.212305],[-44.360156,-23.17207],[-44.274121,-23.116211],[-44.242871,-23.074121],[-44.22041,-23.08291],[-44.191602,-23.113281],[-44.129297,-23.141895]]],[[[-48.584424,-26.401563],[-48.603076,-26.41377],[-48.665771,-26.289648],[-48.539746,-26.170313],[-48.497607,-26.21875],[-48.531104,-26.313184],[-48.568066,-26.379688],[-48.584424,-26.401563]]],[[[-45.260254,-23.88916],[-45.260889,-23.941309],[-45.302539,-23.914746],[-45.412842,-23.934961],[-45.451416,-23.895605],[-45.302344,-23.727539],[-45.272266,-23.751953],[-45.249072,-23.782617],[-45.233105,-23.825391],[-45.250293,-23.853027],[-45.260254,-23.88916]]],[[[-44.499316,-2.939648],[-44.597754,-3.037598],[-44.565332,-2.923926],[-44.581885,-2.845605],[-44.569092,-2.784961],[-44.501953,-2.72627],[-44.481445,-2.717578],[-44.487305,-2.789746],[-44.482568,-2.811914],[-44.499316,-2.939648]]],[[[-38.743848,-13.09707],[-38.783008,-13.118652],[-38.786963,-13.055078],[-38.684863,-12.974902],[-38.668115,-12.880176],[-38.614551,-12.924023],[-38.600293,-12.972461],[-38.601172,-12.992578],[-38.743848,-13.09707]]],[[[-38.903564,-13.473438],[-38.937891,-13.532324],[-38.977588,-13.523535],[-38.993213,-13.484082],[-39.022168,-13.445605],[-39.006592,-13.415527],[-38.980127,-13.398438],[-38.907129,-13.401074],[-38.903564,-13.473438]]],[[[-44.883105,-1.317871],[-44.947119,-1.366016],[-44.967871,-1.39082],[-45.02085,-1.372363],[-45.01123,-1.344727],[-44.995605,-1.347559],[-44.978662,-1.267285],[-44.888281,-1.276855],[-44.883105,-1.317871]]],[[[-49.738232,0.268164],[-49.697266,0.215967],[-49.838965,0.006885],[-49.91709,-0.023193],[-50.00249,-0.029297],[-50.113135,0.033008],[-50.285596,0.028564],[-50.339453,0.043359],[-50.345117,0.134473],[-50.272656,0.231738],[-50.127979,0.226514],[-49.879004,0.304541],[-49.738232,0.268164]]],[[[-50.298975,1.938525],[-50.398779,1.892871],[-50.456104,1.910498],[-50.508984,2.029541],[-50.491016,2.128613],[-50.41875,2.161475],[-50.362646,2.154443],[-50.341992,2.141748],[-50.29209,1.97959],[-50.298975,1.938525]]],[[[-50.652881,-0.131641],[-50.926367,-0.327344],[-51.018994,-0.263086],[-51.038086,-0.225879],[-51.022363,-0.188379],[-51.025732,-0.172363],[-50.995068,-0.105273],[-50.842187,-0.050195],[-50.765283,-0.040869],[-50.666992,-0.058008],[-50.650586,-0.105859],[-50.652881,-0.131641]]],[[[-49.443896,-0.112402],[-49.708838,-0.14375],[-49.830078,-0.093896],[-49.802686,-0.051855],[-49.712305,0.015137],[-49.602197,0.062695],[-49.503467,0.083691],[-49.400488,0.057227],[-49.372314,0.001074],[-49.380859,-0.055469],[-49.443896,-0.112402]]],[[[-50.426123,0.139258],[-50.443945,-0.007666],[-50.623926,0.054395],[-50.610449,0.204785],[-50.526221,0.246924],[-50.451562,0.326904],[-50.426074,0.424951],[-50.424561,0.558252],[-50.396875,0.581396],[-50.372754,0.590869],[-50.350977,0.581738],[-50.342529,0.381592],[-50.332275,0.259033],[-50.426123,0.139258]]],[[[-50.15293,0.393018],[-50.261328,0.35918],[-50.281543,0.39082],[-50.281689,0.516504],[-50.251172,0.585449],[-50.112793,0.604736],[-50.098633,0.625],[-50.058838,0.638037],[-50.036816,0.594824],[-50.040039,0.522803],[-50.15293,0.393018]]],[[[-51.83252,-1.433789],[-51.938379,-1.452637],[-51.802051,-1.202539],[-51.680029,-1.086133],[-51.678271,-0.855078],[-51.546045,-0.649609],[-51.424463,-0.565918],[-51.254004,-0.541406],[-51.160742,-0.666699],[-51.276318,-1.021777],[-51.310107,-1.023828],[-51.465137,-1.211133],[-51.637695,-1.341895],[-51.83252,-1.433789]]],[[[-48.485889,-27.766992],[-48.55459,-27.812207],[-48.542187,-27.574805],[-48.505176,-27.495508],[-48.464746,-27.436328],[-48.414893,-27.399609],[-48.37793,-27.451465],[-48.40957,-27.566309],[-48.496777,-27.707031],[-48.485889,-27.766992]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":4,"SOVEREIGNT":"Botswana","SOV_A3":"BWA","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Botswana","ADM0_A3":"BWA","GEOU_DIF":0,"GEOUNIT":"Botswana","GU_A3":"BWA","SU_DIF":0,"SUBUNIT":"Botswana","SU_A3":"BWA","BRK_DIFF":0,"NAME":"Botswana","NAME_LONG":"Botswana","BRK_A3":"BWA","BRK_NAME":"Botswana","BRK_GROUP":null,"ABBREV":"Bwa.","POSTAL":"BW","FORMAL_EN":"Republic of Botswana","FORMAL_FR":null,"NAME_CIAWF":"Botswana","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Botswana","NAME_ALT":null,"MAPCOLOR7":6,"MAPCOLOR8":5,"MAPCOLOR9":7,"MAPCOLOR13":3,"POP_EST":2303697,"POP_RANK":12,"POP_YEAR":2019,"GDP_MD":18340,"GDP_YEAR":2019,"ECONOMY":"6. Developing region","INCOME_GRP":"3. Upper middle income","FIPS_10":"BC","ISO_A2":"BW","ISO_A2_EH":"BW","ISO_A3":"BWA","ISO_A3_EH":"BWA","ISO_N3":"072","ISO_N3_EH":"072","UN_A3":"072","WB_A2":"BW","WB_A3":"BWA","WOE_ID":23424755,"WOE_ID_EH":23424755,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"BWA","ADM0_DIFF":null,"ADM0_TLC":"BWA","ADM0_A3_US":"BWA","ADM0_A3_FR":"BWA","ADM0_A3_RU":"BWA","ADM0_A3_ES":"BWA","ADM0_A3_CN":"BWA","ADM0_A3_TW":"BWA","ADM0_A3_IN":"BWA","ADM0_A3_NP":"BWA","ADM0_A3_PK":"BWA","ADM0_A3_DE":"BWA","ADM0_A3_GB":"BWA","ADM0_A3_BR":"BWA","ADM0_A3_IL":"BWA","ADM0_A3_PS":"BWA","ADM0_A3_SA":"BWA","ADM0_A3_EG":"BWA","ADM0_A3_MA":"BWA","ADM0_A3_PT":"BWA","ADM0_A3_AR":"BWA","ADM0_A3_JP":"BWA","ADM0_A3_KO":"BWA","ADM0_A3_VN":"BWA","ADM0_A3_TR":"BWA","ADM0_A3_ID":"BWA","ADM0_A3_PL":"BWA","ADM0_A3_GR":"BWA","ADM0_A3_IT":"BWA","ADM0_A3_NL":"BWA","ADM0_A3_SE":"BWA","ADM0_A3_BD":"BWA","ADM0_A3_UA":"BWA","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Africa","REGION_UN":"Africa","SUBREGION":"Southern Africa","REGION_WB":"Sub-Saharan Africa","NAME_LEN":8,"LONG_LEN":8,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":4,"MAX_LABEL":9,"LABEL_X":24.179216,"LABEL_Y":-22.102634,"NE_ID":1159320461,"WIKIDATAID":"Q963","NAME_AR":"بوتسوانا","NAME_BN":"বতসোয়ানা","NAME_DE":"Botswana","NAME_EN":"Botswana","NAME_ES":"Botsuana","NAME_FA":"بوتسوانا","NAME_FR":"Botswana","NAME_EL":"Μποτσουάνα","NAME_HE":"בוטסואנה","NAME_HI":"बोत्सवाना","NAME_HU":"Botswana","NAME_ID":"Botswana","NAME_IT":"Botswana","NAME_JA":"ボツワナ","NAME_KO":"보츠와나","NAME_NL":"Botswana","NAME_PL":"Botswana","NAME_PT":"Botsuana","NAME_RU":"Ботсвана","NAME_SV":"Botswana","NAME_TR":"Botsvana","NAME_UK":"Ботсвана","NAME_UR":"بوٹسوانا","NAME_VI":"Botswana","NAME_ZH":"博茨瓦纳","NAME_ZHT":"波札那","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[19.977344,-26.854199,29.364844,-17.787598],"geometry":{"type":"Polygon","coordinates":[[[25.258789,-17.793555],[25.239063,-17.843066],[25.224023,-17.915234],[25.242285,-17.969043],[25.282422,-18.041211],[25.340234,-18.104492],[25.384375,-18.141992],[25.436719,-18.234961],[25.489258,-18.35127],[25.558301,-18.441797],[25.76123,-18.649219],[25.783691,-18.723535],[25.811914,-18.79707],[25.939355,-18.938672],[25.95918,-18.985645],[25.950684,-19.081738],[26.081934,-19.369922],[26.168066,-19.538281],[26.241016,-19.569336],[26.474609,-19.748633],[26.678223,-19.892773],[26.916699,-19.990137],[27.091797,-20.054199],[27.178223,-20.100977],[27.221484,-20.145801],[27.256738,-20.232031],[27.274609,-20.381836],[27.280762,-20.478711],[27.468945,-20.474805],[27.624609,-20.483594],[27.679297,-20.503027],[27.699609,-20.530664],[27.694824,-20.594531],[27.696973,-20.689746],[27.704297,-20.766406],[27.688086,-20.84834],[27.676953,-20.944824],[27.669434,-21.064258],[27.693457,-21.111035],[27.844141,-21.261523],[27.907422,-21.359082],[27.974609,-21.506738],[28.014063,-21.554199],[28.045605,-21.573047],[28.181641,-21.589355],[28.532031,-21.65127],[28.747754,-21.707617],[28.919336,-21.766016],[28.990723,-21.781445],[29.025586,-21.796875],[29.037305,-21.811328],[29.01582,-21.939941],[29.02334,-21.98125],[29.042383,-22.018359],[29.071484,-22.047461],[29.106836,-22.065723],[29.237207,-22.079492],[29.315234,-22.157715],[29.364844,-22.193945],[29.129883,-22.213281],[29.013477,-22.278418],[28.945801,-22.395117],[28.839844,-22.480859],[28.695508,-22.535449],[28.542871,-22.572949],[28.381738,-22.593359],[28.210156,-22.693652],[28.02793,-22.87373],[27.935059,-22.987012],[27.931348,-23.033594],[27.890527,-23.073926],[27.812598,-23.108008],[27.768555,-23.148926],[27.758301,-23.196777],[27.716797,-23.219629],[27.643848,-23.217676],[27.592676,-23.252637],[27.563184,-23.324609],[27.49873,-23.368359],[27.399219,-23.383594],[27.313379,-23.424219],[27.241211,-23.490039],[27.185547,-23.523438],[27.146387,-23.524414],[27.085547,-23.57793],[26.987012,-23.70459],[26.970605,-23.763477],[26.835059,-24.24082],[26.761133,-24.297168],[26.617773,-24.395508],[26.501563,-24.513281],[26.451758,-24.582715],[26.397168,-24.613574],[26.130859,-24.671484],[26.031836,-24.702441],[25.912109,-24.747461],[25.881836,-24.787988],[25.852441,-24.935254],[25.769922,-25.146484],[25.702637,-25.302344],[25.65918,-25.437891],[25.583789,-25.60625],[25.518164,-25.662793],[25.443652,-25.714453],[25.346191,-25.739941],[25.213379,-25.75625],[25.09248,-25.751465],[24.998926,-25.754004],[24.869238,-25.813477],[24.748145,-25.817383],[24.555859,-25.783105],[24.400195,-25.749805],[24.330566,-25.742871],[24.192969,-25.63291],[24.104492,-25.634863],[23.969531,-25.626074],[23.89375,-25.600879],[23.823438,-25.544629],[23.670703,-25.433984],[23.521484,-25.344434],[23.389258,-25.291406],[23.266016,-25.266602],[23.14873,-25.288672],[23.05752,-25.312305],[23.02207,-25.324121],[22.95127,-25.370313],[22.878809,-25.45791],[22.818945,-25.595117],[22.796094,-25.679102],[22.729004,-25.857324],[22.640234,-26.071191],[22.597656,-26.132715],[22.548633,-26.178418],[22.470898,-26.219043],[22.217578,-26.388867],[22.090918,-26.580176],[22.010938,-26.63584],[21.914551,-26.661914],[21.833203,-26.67832],[21.788281,-26.710059],[21.738086,-26.806836],[21.694727,-26.840918],[21.646289,-26.854199],[21.501367,-26.842676],[21.45498,-26.832813],[21.070996,-26.851758],[20.953906,-26.821094],[20.870898,-26.808789],[20.739844,-26.848828],[20.685059,-26.822461],[20.641406,-26.742188],[20.619922,-26.580859],[20.626758,-26.443848],[20.697852,-26.340137],[20.757031,-26.26416],[20.815039,-26.164941],[20.822656,-26.120605],[20.811035,-26.080566],[20.799414,-25.999023],[20.793164,-25.915625],[20.710742,-25.733203],[20.609277,-25.491211],[20.473145,-25.221289],[20.430664,-25.14707],[20.345215,-25.029883],[20.028613,-24.807031],[19.980469,-24.776758],[19.980469,-24.751953],[19.980176,-24.535742],[19.979883,-24.249023],[19.97959,-23.962402],[19.979297,-23.675781],[19.978906,-23.38916],[19.978516,-23.102539],[19.978223,-22.815918],[19.97793,-22.529297],[19.977637,-22.242578],[19.977344,-22.000195],[20.205371,-22.000195],[20.4875,-22.000195],[20.822754,-22.000195],[20.970996,-22.000195],[20.979492,-21.961914],[20.979297,-21.784082],[20.978711,-21.376074],[20.978125,-20.968164],[20.977441,-20.560254],[20.976855,-20.152344],[20.976172,-19.744336],[20.975586,-19.336426],[20.975,-18.928516],[20.974316,-18.520508],[20.974121,-18.318848],[21.23252,-18.306836],[21.529688,-18.265625],[22.011426,-18.198633],[22.460059,-18.115723],[22.752734,-18.067188],[23.099902,-18.00957],[23.219336,-17.999707],[23.251563,-18.00752],[23.298633,-18.027344],[23.459766,-18.231055],[23.560156,-18.386426],[23.580566,-18.45293],[23.599707,-18.459961],[23.647168,-18.449414],[23.700488,-18.424316],[23.864258,-18.269531],[23.89834,-18.229199],[24.002637,-18.154102],[24.129297,-18.077539],[24.243945,-18.023438],[24.358984,-17.978223],[24.412207,-17.989453],[24.474902,-18.028516],[24.530566,-18.052734],[24.792188,-17.864648],[24.909082,-17.821387],[25.216016,-17.787598],[25.258789,-17.793555]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":5,"SOVEREIGNT":"Bosnia and Herzegovina","SOV_A3":"BIH","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Bosnia and Herzegovina","ADM0_A3":"BIH","GEOU_DIF":0,"GEOUNIT":"Bosnia and Herzegovina","GU_A3":"BIH","SU_DIF":0,"SUBUNIT":"Bosnia and Herzegovina","SU_A3":"BIH","BRK_DIFF":0,"NAME":"Bosnia and Herz.","NAME_LONG":"Bosnia and Herzegovina","BRK_A3":"BIH","BRK_NAME":"Bosnia and Herz.","BRK_GROUP":null,"ABBREV":"B.H.","POSTAL":"BiH","FORMAL_EN":"Bosnia and Herzegovina","FORMAL_FR":null,"NAME_CIAWF":"Bosnia and Herzegovina","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Bosnia and Herzegovina","NAME_ALT":null,"MAPCOLOR7":1,"MAPCOLOR8":1,"MAPCOLOR9":1,"MAPCOLOR13":2,"POP_EST":3301000,"POP_RANK":12,"POP_YEAR":2019,"GDP_MD":20164,"GDP_YEAR":2019,"ECONOMY":"6. Developing region","INCOME_GRP":"3. Upper middle income","FIPS_10":"BK","ISO_A2":"BA","ISO_A2_EH":"BA","ISO_A3":"BIH","ISO_A3_EH":"BIH","ISO_N3":"070","ISO_N3_EH":"070","UN_A3":"070","WB_A2":"BA","WB_A3":"BIH","WOE_ID":23424761,"WOE_ID_EH":23424761,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"BIH","ADM0_DIFF":null,"ADM0_TLC":"BIH","ADM0_A3_US":"BIH","ADM0_A3_FR":"BIH","ADM0_A3_RU":"BIH","ADM0_A3_ES":"BIH","ADM0_A3_CN":"BIH","ADM0_A3_TW":"BIH","ADM0_A3_IN":"BIH","ADM0_A3_NP":"BIH","ADM0_A3_PK":"BIH","ADM0_A3_DE":"BIH","ADM0_A3_GB":"BIH","ADM0_A3_BR":"BIH","ADM0_A3_IL":"BIH","ADM0_A3_PS":"BIH","ADM0_A3_SA":"BIH","ADM0_A3_EG":"BIH","ADM0_A3_MA":"BIH","ADM0_A3_PT":"BIH","ADM0_A3_AR":"BIH","ADM0_A3_JP":"BIH","ADM0_A3_KO":"BIH","ADM0_A3_VN":"BIH","ADM0_A3_TR":"BIH","ADM0_A3_ID":"BIH","ADM0_A3_PL":"BIH","ADM0_A3_GR":"BIH","ADM0_A3_IT":"BIH","ADM0_A3_NL":"BIH","ADM0_A3_SE":"BIH","ADM0_A3_BD":"BIH","ADM0_A3_UA":"BIH","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Europe","REGION_UN":"Europe","SUBREGION":"Southern Europe","REGION_WB":"Europe & Central Asia","NAME_LEN":16,"LONG_LEN":22,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":4.5,"MAX_LABEL":6.8,"LABEL_X":18.06841,"LABEL_Y":44.091051,"NE_ID":1159320417,"WIKIDATAID":"Q225","NAME_AR":"البوسنة والهرسك","NAME_BN":"বসনিয়া ও হার্জেগোভিনা","NAME_DE":"Bosnien und Herzegowina","NAME_EN":"Bosnia and Herzegovina","NAME_ES":"Bosnia y Herzegovina","NAME_FA":"بوسنی و هرزگوین","NAME_FR":"Bosnie-Herzégovine","NAME_EL":"Βοσνία και Ερζεγοβίνη","NAME_HE":"בוסניה והרצגובינה","NAME_HI":"बॉस्निया और हर्ज़ेगोविना","NAME_HU":"Bosznia-Hercegovina","NAME_ID":"Bosnia dan Herzegovina","NAME_IT":"Bosnia ed Erzegovina","NAME_JA":"ボスニア・ヘルツェゴビナ","NAME_KO":"보스니아 헤르체고비나","NAME_NL":"Bosnië en Herzegovina","NAME_PL":"Bośnia i Hercegowina","NAME_PT":"Bósnia e Herzegovina","NAME_RU":"Босния и Герцеговина","NAME_SV":"Bosnien och Hercegovina","NAME_TR":"Bosna-Hersek","NAME_UK":"Боснія і Герцеговина","NAME_UR":"بوسنیا و ہرزیگووینا","NAME_VI":"Bosna và Hercegovina","NAME_ZH":"波斯尼亚和黑塞哥维那","NAME_ZHT":"波士尼亞與赫塞哥維納","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[15.736621,42.559717,19.583789,45.276562],"geometry":{"type":"Polygon","coordinates":[[[19.348633,44.880908],[19.356836,44.858545],[19.334473,44.780664],[19.291895,44.696777],[19.223145,44.60957],[19.151367,44.527344],[19.132422,44.483789],[19.127344,44.414551],[19.118457,44.359961],[19.12832,44.330273],[19.151855,44.302539],[19.231543,44.280566],[19.338867,44.22583],[19.430176,44.154492],[19.547168,44.073486],[19.583789,44.043457],[19.583691,44.011084],[19.549512,43.987109],[19.449414,43.978027],[19.345215,43.985107],[19.305273,43.993359],[19.268066,43.983447],[19.24502,43.965039],[19.257227,43.943311],[19.364063,43.844775],[19.488184,43.703564],[19.495117,43.642871],[19.47998,43.595166],[19.45127,43.562061],[19.399609,43.567578],[19.360352,43.593457],[19.300781,43.591797],[19.254492,43.584375],[19.194336,43.533301],[19.164355,43.535449],[19.112793,43.527734],[19.080078,43.517725],[19.02832,43.53252],[18.974219,43.542334],[18.950684,43.52666],[18.940234,43.496729],[18.973828,43.442383],[19.036719,43.357324],[19.02666,43.292432],[18.978711,43.2854],[18.934668,43.339453],[18.895605,43.348193],[18.851074,43.346338],[18.749219,43.283545],[18.674219,43.230811],[18.656836,43.193945],[18.62998,43.153662],[18.621875,43.124609],[18.623633,43.027686],[18.488477,43.012158],[18.460156,42.9979],[18.443848,42.968457],[18.455078,42.844092],[18.466016,42.777246],[18.543262,42.67417],[18.545898,42.641602],[18.534961,42.620117],[18.480078,42.579199],[18.453906,42.564502],[18.436328,42.559717],[18.346582,42.58667],[18.304004,42.599414],[18.123926,42.690576],[18.044531,42.74126],[17.918848,42.807422],[17.841309,42.845068],[17.801953,42.902246],[17.740234,42.915479],[17.667578,42.897119],[17.585156,42.938379],[17.643457,42.959766],[17.657813,42.980078],[17.650488,43.006592],[17.624805,43.042773],[17.402246,43.198926],[17.293066,43.305615],[17.275293,43.343848],[17.273828,43.445752],[17.248047,43.470215],[17.08457,43.516553],[16.901855,43.649023],[16.713477,43.778809],[16.687695,43.815039],[16.590527,43.913184],[16.47207,44.002588],[16.377539,44.059619],[16.300098,44.124512],[16.214258,44.215137],[16.169824,44.352002],[16.130273,44.47373],[16.103418,44.520996],[16.049023,44.537598],[15.880078,44.681934],[15.736621,44.76582],[15.737988,44.856396],[15.761523,45.00752],[15.788086,45.178955],[15.822852,45.202783],[15.888281,45.215723],[15.963184,45.210791],[16.02832,45.1896],[16.157324,45.072217],[16.231055,45.026611],[16.293359,45.008838],[16.365039,45.05835],[16.453516,45.162012],[16.530664,45.216699],[16.79082,45.196875],[16.918652,45.276562],[17.125391,45.171777],[17.210645,45.156055],[17.258691,45.170557],[17.324121,45.163965],[17.469141,45.133301],[17.502637,45.120361],[17.546289,45.122559],[17.653516,45.163477],[17.690137,45.158398],[17.812793,45.078125],[17.874414,45.077246],[17.948633,45.111865],[17.996289,45.141797],[18.137207,45.119385],[18.217969,45.13291],[18.284961,45.134277],[18.357617,45.120557],[18.423926,45.102002],[18.488281,45.08584],[18.662598,45.077441],[18.746094,45.026514],[18.779395,44.977246],[18.780176,44.947217],[18.788379,44.914893],[18.836426,44.883252],[18.941309,44.865186],[19.007129,44.869189],[19.04209,44.871338],[19.131543,44.899609],[19.236816,44.914258],[19.312695,44.897461],[19.348633,44.880908]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":3,"SOVEREIGNT":"Bolivia","SOV_A3":"BOL","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Bolivia","ADM0_A3":"BOL","GEOU_DIF":0,"GEOUNIT":"Bolivia","GU_A3":"BOL","SU_DIF":0,"SUBUNIT":"Bolivia","SU_A3":"BOL","BRK_DIFF":0,"NAME":"Bolivia","NAME_LONG":"Bolivia","BRK_A3":"BOL","BRK_NAME":"Bolivia","BRK_GROUP":null,"ABBREV":"Bolivia","POSTAL":"BO","FORMAL_EN":"Plurinational State of Bolivia","FORMAL_FR":null,"NAME_CIAWF":"Bolivia","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Bolivia","NAME_ALT":null,"MAPCOLOR7":1,"MAPCOLOR8":5,"MAPCOLOR9":2,"MAPCOLOR13":3,"POP_EST":11513100,"POP_RANK":14,"POP_YEAR":2019,"GDP_MD":40895,"GDP_YEAR":2019,"ECONOMY":"5. Emerging region: G20","INCOME_GRP":"4. Lower middle income","FIPS_10":"BL","ISO_A2":"BO","ISO_A2_EH":"BO","ISO_A3":"BOL","ISO_A3_EH":"BOL","ISO_N3":"068","ISO_N3_EH":"068","UN_A3":"068","WB_A2":"BO","WB_A3":"BOL","WOE_ID":23424762,"WOE_ID_EH":23424762,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"BOL","ADM0_DIFF":null,"ADM0_TLC":"BOL","ADM0_A3_US":"BOL","ADM0_A3_FR":"BOL","ADM0_A3_RU":"BOL","ADM0_A3_ES":"BOL","ADM0_A3_CN":"BOL","ADM0_A3_TW":"BOL","ADM0_A3_IN":"BOL","ADM0_A3_NP":"BOL","ADM0_A3_PK":"BOL","ADM0_A3_DE":"BOL","ADM0_A3_GB":"BOL","ADM0_A3_BR":"BOL","ADM0_A3_IL":"BOL","ADM0_A3_PS":"BOL","ADM0_A3_SA":"BOL","ADM0_A3_EG":"BOL","ADM0_A3_MA":"BOL","ADM0_A3_PT":"BOL","ADM0_A3_AR":"BOL","ADM0_A3_JP":"BOL","ADM0_A3_KO":"BOL","ADM0_A3_VN":"BOL","ADM0_A3_TR":"BOL","ADM0_A3_ID":"BOL","ADM0_A3_PL":"BOL","ADM0_A3_GR":"BOL","ADM0_A3_IT":"BOL","ADM0_A3_NL":"BOL","ADM0_A3_SE":"BOL","ADM0_A3_BD":"BOL","ADM0_A3_UA":"BOL","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"South America","REGION_UN":"Americas","SUBREGION":"South America","REGION_WB":"Latin America & Caribbean","NAME_LEN":7,"LONG_LEN":7,"ABBREV_LEN":7,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":3,"MAX_LABEL":7.5,"LABEL_X":-64.593433,"LABEL_Y":-16.666015,"NE_ID":1159320439,"WIKIDATAID":"Q750","NAME_AR":"بوليفيا","NAME_BN":"বলিভিয়া","NAME_DE":"Bolivien","NAME_EN":"Bolivia","NAME_ES":"Bolivia","NAME_FA":"بولیوی","NAME_FR":"Bolivie","NAME_EL":"Βολιβία","NAME_HE":"בוליביה","NAME_HI":"बोलिविया","NAME_HU":"Bolívia","NAME_ID":"Bolivia","NAME_IT":"Bolivia","NAME_JA":"ボリビア","NAME_KO":"볼리비아","NAME_NL":"Bolivia","NAME_PL":"Boliwia","NAME_PT":"Bolívia","NAME_RU":"Боливия","NAME_SV":"Bolivia","NAME_TR":"Bolivya","NAME_UK":"Болівія","NAME_UR":"بولیویا","NAME_VI":"Bolivia","NAME_ZH":"玻利维亚","NAME_ZHT":"玻利維亞","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[-69.645703,-22.891699,-57.495654,-9.710449],"geometry":{"type":"Polygon","coordinates":[[[-69.510937,-17.506055],[-69.511084,-17.504883],[-69.510986,-17.460352],[-69.521924,-17.388965],[-69.563818,-17.33291],[-69.625879,-17.294434],[-69.645703,-17.248535],[-69.624854,-17.200195],[-69.50332,-17.104785],[-69.43833,-17.088379],[-69.421094,-17.040039],[-69.381543,-17.001367],[-69.267236,-16.860938],[-69.199805,-16.768457],[-69.13252,-16.713086],[-69.054541,-16.674316],[-69.020703,-16.642188],[-69.038379,-16.542676],[-69.03291,-16.475977],[-69.00625,-16.433691],[-68.928027,-16.389063],[-68.857812,-16.354785],[-68.842773,-16.337891],[-68.848828,-16.312793],[-68.913477,-16.261914],[-69.04624,-16.217676],[-69.13418,-16.221973],[-69.187988,-16.182813],[-69.217578,-16.149121],[-69.391895,-15.736914],[-69.420898,-15.640625],[-69.418506,-15.603418],[-69.301904,-15.399414],[-69.254297,-15.33291],[-69.172461,-15.236621],[-69.187109,-15.19873],[-69.330713,-15.038965],[-69.374707,-14.962988],[-69.37373,-14.8875],[-69.359473,-14.795313],[-69.276025,-14.745898],[-69.252344,-14.671094],[-69.234912,-14.59707],[-69.199268,-14.572559],[-69.162695,-14.530957],[-69.119727,-14.470313],[-69.052783,-14.417578],[-69.013135,-14.377246],[-69.004492,-14.265039],[-68.971777,-14.234375],[-68.880322,-14.198828],[-68.870898,-14.169727],[-68.891699,-14.094336],[-68.937451,-14.014648],[-68.974268,-13.975977],[-69.023047,-13.780273],[-69.074121,-13.682813],[-69.052832,-13.643945],[-69.017529,-13.594434],[-68.983447,-13.496387],[-68.972266,-13.382324],[-68.980518,-12.962598],[-68.978613,-12.880078],[-68.93374,-12.82207],[-68.867676,-12.755176],[-68.811816,-12.72959],[-68.759082,-12.687207],[-68.762891,-12.607715],[-68.728125,-12.560742],[-68.685254,-12.501953],[-68.818701,-12.27041],[-68.936035,-12.066797],[-69.046191,-11.875684],[-69.17373,-11.654297],[-69.257715,-11.508594],[-69.362012,-11.327539],[-69.453613,-11.16875],[-69.578613,-10.951758],[-69.462549,-10.948145],[-69.228516,-10.955664],[-69.00166,-10.994336],[-68.84834,-11.011133],[-68.784082,-11.044629],[-68.769922,-11.097656],[-68.72749,-11.122461],[-68.678369,-11.112793],[-68.622656,-11.10918],[-68.49834,-11.054785],[-68.397998,-11.01875],[-68.311133,-10.975195],[-68.266602,-10.933105],[-68.158643,-10.785059],[-68.07168,-10.703125],[-67.991699,-10.674414],[-67.83501,-10.662793],[-67.785693,-10.686035],[-67.721777,-10.683105],[-67.66665,-10.598926],[-67.582422,-10.505957],[-67.416943,-10.389844],[-67.332715,-10.35791],[-67.280469,-10.317285],[-67.190479,-10.311426],[-67.111523,-10.268945],[-66.72998,-9.975488],[-66.575342,-9.899902],[-66.478906,-9.886133],[-66.399219,-9.868164],[-66.263574,-9.826074],[-65.924707,-9.785449],[-65.706787,-9.768457],[-65.637109,-9.809082],[-65.558691,-9.797461],[-65.491992,-9.731738],[-65.436768,-9.710449],[-65.396143,-9.712402],[-65.337891,-9.790234],[-65.309326,-9.872656],[-65.328125,-9.935547],[-65.324561,-10.026953],[-65.298584,-10.146777],[-65.313086,-10.253027],[-65.395459,-10.392285],[-65.436914,-10.449023],[-65.447119,-10.507422],[-65.43999,-10.58623],[-65.402295,-10.714746],[-65.334033,-10.892773],[-65.323779,-11.024805],[-65.371582,-11.110352],[-65.393604,-11.184277],[-65.389893,-11.246289],[-65.372852,-11.289941],[-65.342383,-11.315039],[-65.325488,-11.364746],[-65.322021,-11.43916],[-65.282275,-11.511035],[-65.206201,-11.580566],[-65.175391,-11.646875],[-65.189746,-11.710059],[-65.185742,-11.749512],[-65.163379,-11.765137],[-65.142676,-11.752344],[-65.115137,-11.735059],[-65.090283,-11.741211],[-65.037109,-11.829395],[-65.030273,-11.847363],[-65.001221,-11.92002],[-64.992529,-11.975195],[-64.914355,-12.005957],[-64.829883,-12.030273],[-64.783447,-12.059375],[-64.690039,-12.146484],[-64.61167,-12.203906],[-64.513428,-12.250977],[-64.480762,-12.326172],[-64.420508,-12.439746],[-64.255029,-12.483301],[-64.061621,-12.505078],[-63.938574,-12.529688],[-63.788086,-12.469434],[-63.688574,-12.478027],[-63.585645,-12.518945],[-63.541895,-12.54668],[-63.465234,-12.605176],[-63.34668,-12.680078],[-63.249756,-12.70791],[-63.180664,-12.666211],[-63.116797,-12.65166],[-63.06748,-12.669141],[-63.041357,-12.750391],[-63.015186,-12.805566],[-62.95791,-12.84707],[-62.835156,-12.953711],[-62.765479,-12.997266],[-62.687061,-12.994336],[-62.525537,-13.064258],[-62.352832,-13.132422],[-62.263916,-13.143652],[-62.176074,-13.133691],[-62.118018,-13.159766],[-62.094775,-13.241992],[-61.944727,-13.40625],[-61.874121,-13.47041],[-61.789941,-13.525586],[-61.575684,-13.524805],[-61.511572,-13.541211],[-61.416064,-13.526563],[-61.12915,-13.498535],[-61.077002,-13.489746],[-60.914502,-13.561426],[-60.722363,-13.664355],[-60.595312,-13.745313],[-60.506592,-13.789844],[-60.460156,-13.862402],[-60.422363,-13.937988],[-60.40498,-14.019238],[-60.428076,-14.1],[-60.462988,-14.132422],[-60.474658,-14.184766],[-60.460156,-14.263086],[-60.39624,-14.332813],[-60.372705,-14.41875],[-60.338037,-14.570508],[-60.298877,-14.618555],[-60.27334,-15.08877],[-60.402002,-15.092773],[-60.583203,-15.09834],[-60.530469,-15.143164],[-60.380469,-15.318262],[-60.242334,-15.47959],[-60.22041,-15.738672],[-60.206641,-15.901953],[-60.187207,-16.132129],[-60.175586,-16.269336],[-59.831152,-16.281738],[-59.434277,-16.295996],[-58.957275,-16.313184],[-58.537939,-16.328223],[-58.496582,-16.32666],[-58.423682,-16.30791],[-58.375391,-16.283594],[-58.345605,-16.284375],[-58.340576,-16.339941],[-58.350781,-16.410254],[-58.350391,-16.49082],[-58.470605,-16.650195],[-58.478125,-16.700684],[-58.459814,-16.910742],[-58.417383,-17.080566],[-58.395996,-17.234277],[-58.347754,-17.282129],[-58.205566,-17.363086],[-57.990918,-17.512891],[-57.905029,-17.532324],[-57.832471,-17.512109],[-57.788867,-17.573047],[-57.780176,-17.671777],[-57.66167,-17.947363],[-57.586475,-18.122266],[-57.552051,-18.183105],[-57.495654,-18.214648],[-57.506152,-18.237305],[-57.553125,-18.246484],[-57.574023,-18.279297],[-57.63916,-18.475],[-57.725,-18.733203],[-57.783105,-18.914258],[-57.730859,-18.917188],[-57.728613,-18.967383],[-57.716797,-19.044043],[-57.781445,-19.053516],[-57.800391,-19.080957],[-57.874512,-19.229492],[-57.97168,-19.424219],[-58.072021,-19.625293],[-58.131494,-19.744531],[-58.029932,-19.832715],[-57.860742,-19.97959],[-57.887598,-20.02041],[-57.960156,-20.040723],[-58.021143,-20.055176],[-58.067627,-20.110352],[-58.09375,-20.151074],[-58.159766,-20.164648],[-58.139941,-19.998828],[-58.160059,-19.854883],[-58.180176,-19.817871],[-58.474219,-19.646094],[-58.741113,-19.490234],[-59.090527,-19.28623],[-59.540869,-19.291797],[-60.007373,-19.297559],[-60.451611,-19.38877],[-60.88877,-19.478516],[-61.095996,-19.520996],[-61.511816,-19.606445],[-61.756836,-19.645313],[-61.820898,-19.809473],[-61.916943,-20.055371],[-62.011816,-20.199023],[-62.121631,-20.349902],[-62.276318,-20.5625],[-62.276514,-20.820801],[-62.27666,-21.066016],[-62.385449,-21.411719],[-62.477832,-21.705273],[-62.566943,-21.988672],[-62.628516,-22.183984],[-62.650977,-22.233691],[-62.665283,-22.217969],[-62.74458,-22.159863],[-62.815088,-22.049609],[-62.834277,-21.999121],[-62.843359,-21.997266],[-63.267187,-22.000586],[-63.675342,-22.004297],[-63.716943,-22.027539],[-63.775586,-22.027246],[-63.818652,-22.005469],[-63.861035,-22.007227],[-63.92168,-22.028613],[-63.976123,-22.072559],[-64.131836,-22.36582],[-64.209082,-22.491309],[-64.266406,-22.60332],[-64.30791,-22.795313],[-64.325293,-22.827637],[-64.373975,-22.761035],[-64.445508,-22.585352],[-64.477734,-22.485352],[-64.523633,-22.371582],[-64.605518,-22.228809],[-64.700098,-22.185547],[-64.758643,-22.171289],[-64.843066,-22.143945],[-64.992627,-22.109668],[-65.057812,-22.102734],[-65.484863,-22.098145],[-65.518799,-22.094531],[-65.686182,-22.110254],[-65.771045,-22.099609],[-65.860156,-22.019727],[-66.058594,-21.879492],[-66.098584,-21.835059],[-66.174658,-21.805664],[-66.220166,-21.802539],[-66.247607,-21.830469],[-66.282129,-21.947461],[-66.322461,-22.053125],[-66.365186,-22.11377],[-66.506982,-22.158398],[-66.639014,-22.205371],[-66.711719,-22.216309],[-66.750635,-22.269336],[-66.76748,-22.343066],[-66.800293,-22.409668],[-66.991113,-22.509863],[-67.033545,-22.552246],[-67.05542,-22.650879],[-67.161914,-22.773828],[-67.194873,-22.82168],[-67.362256,-22.855176],[-67.579932,-22.891699],[-67.707324,-22.88916],[-67.794434,-22.879492],[-67.820508,-22.857715],[-67.879443,-22.822949],[-67.88916,-22.78418],[-67.88999,-22.729199],[-67.87373,-22.630566],[-67.881738,-22.493359],[-67.950391,-22.333691],[-67.944922,-22.282227],[-67.953906,-22.204004],[-67.988379,-22.057129],[-68.076758,-21.982813],[-68.101807,-21.860645],[-68.112158,-21.753027],[-68.186426,-21.618555],[-68.198535,-21.447266],[-68.197021,-21.300293],[-68.313867,-21.129688],[-68.435498,-20.948242],[-68.533838,-20.923633],[-68.558252,-20.901953],[-68.568945,-20.849805],[-68.571045,-20.769141],[-68.563184,-20.720117],[-68.487402,-20.640723],[-68.484326,-20.628418],[-68.499854,-20.612012],[-68.695801,-20.492969],[-68.745166,-20.458594],[-68.760547,-20.416211],[-68.759229,-20.378027],[-68.712305,-20.338965],[-68.688574,-20.310059],[-68.73457,-20.225195],[-68.730029,-20.148438],[-68.759326,-20.115527],[-68.755811,-20.09082],[-68.72749,-20.069629],[-68.600195,-20.044922],[-68.560693,-19.96709],[-68.559375,-19.902344],[-68.578271,-19.856543],[-68.696191,-19.740723],[-68.698291,-19.721094],[-68.575293,-19.560156],[-68.487012,-19.454395],[-68.462891,-19.432813],[-68.470166,-19.409961],[-68.491992,-19.381934],[-68.547852,-19.341113],[-68.620557,-19.29668],[-68.680664,-19.242383],[-68.759082,-19.162207],[-68.857959,-19.093359],[-68.931006,-19.025195],[-68.968311,-18.967969],[-68.969092,-18.909668],[-68.978857,-18.812988],[-69.026807,-18.65625],[-69.039404,-18.550098],[-69.060156,-18.433008],[-69.080957,-18.356641],[-69.092285,-18.282422],[-69.126367,-18.202441],[-69.145459,-18.144043],[-69.118066,-18.102734],[-69.09043,-18.070703],[-69.093945,-18.050488],[-69.282324,-17.964844],[-69.313379,-17.943164],[-69.358008,-17.77168],[-69.49502,-17.619531],[-69.510937,-17.506055]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":5,"SOVEREIGNT":"Bhutan","SOV_A3":"BTN","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Bhutan","ADM0_A3":"BTN","GEOU_DIF":0,"GEOUNIT":"Bhutan","GU_A3":"BTN","SU_DIF":0,"SUBUNIT":"Bhutan","SU_A3":"BTN","BRK_DIFF":0,"NAME":"Bhutan","NAME_LONG":"Bhutan","BRK_A3":"BTN","BRK_NAME":"Bhutan","BRK_GROUP":null,"ABBREV":"Bhutan","POSTAL":"BT","FORMAL_EN":"Kingdom of Bhutan","FORMAL_FR":null,"NAME_CIAWF":"Bhutan","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Bhutan","NAME_ALT":null,"MAPCOLOR7":5,"MAPCOLOR8":6,"MAPCOLOR9":1,"MAPCOLOR13":8,"POP_EST":763092,"POP_RANK":11,"POP_YEAR":2019,"GDP_MD":2530,"GDP_YEAR":2019,"ECONOMY":"7. Least developed region","INCOME_GRP":"4. Lower middle income","FIPS_10":"BT","ISO_A2":"BT","ISO_A2_EH":"BT","ISO_A3":"BTN","ISO_A3_EH":"BTN","ISO_N3":"064","ISO_N3_EH":"064","UN_A3":"064","WB_A2":"BT","WB_A3":"BTN","WOE_ID":23424770,"WOE_ID_EH":23424770,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"BTN","ADM0_DIFF":null,"ADM0_TLC":"BTN","ADM0_A3_US":"BTN","ADM0_A3_FR":"BTN","ADM0_A3_RU":"BTN","ADM0_A3_ES":"BTN","ADM0_A3_CN":"BTN","ADM0_A3_TW":"BTN","ADM0_A3_IN":"BTN","ADM0_A3_NP":"BTN","ADM0_A3_PK":"BTN","ADM0_A3_DE":"BTN","ADM0_A3_GB":"BTN","ADM0_A3_BR":"BTN","ADM0_A3_IL":"BTN","ADM0_A3_PS":"BTN","ADM0_A3_SA":"BTN","ADM0_A3_EG":"BTN","ADM0_A3_MA":"BTN","ADM0_A3_PT":"BTN","ADM0_A3_AR":"BTN","ADM0_A3_JP":"BTN","ADM0_A3_KO":"BTN","ADM0_A3_VN":"BTN","ADM0_A3_TR":"BTN","ADM0_A3_ID":"BTN","ADM0_A3_PL":"BTN","ADM0_A3_GR":"BTN","ADM0_A3_IT":"BTN","ADM0_A3_NL":"BTN","ADM0_A3_SE":"BTN","ADM0_A3_BD":"BTN","ADM0_A3_UA":"BTN","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Asia","REGION_UN":"Asia","SUBREGION":"Southern Asia","REGION_WB":"South Asia","NAME_LEN":6,"LONG_LEN":6,"ABBREV_LEN":6,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":4,"MAX_LABEL":9,"LABEL_X":90.040294,"LABEL_Y":27.536685,"NE_ID":1159320453,"WIKIDATAID":"Q917","NAME_AR":"بوتان","NAME_BN":"ভুটান","NAME_DE":"Bhutan","NAME_EN":"Bhutan","NAME_ES":"Bután","NAME_FA":"بوتان","NAME_FR":"Bhoutan","NAME_EL":"Μπουτάν","NAME_HE":"בהוטן","NAME_HI":"भूटान","NAME_HU":"Bhután","NAME_ID":"Bhutan","NAME_IT":"Bhutan","NAME_JA":"ブータン","NAME_KO":"부탄","NAME_NL":"Bhutan","NAME_PL":"Bhutan","NAME_PT":"Butão","NAME_RU":"Бутан","NAME_SV":"Bhutan","NAME_TR":"Bhutan","NAME_UK":"Бутан","NAME_UR":"بھوٹان","NAME_VI":"Bhutan","NAME_ZH":"不丹","NAME_ZHT":"不丹","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[88.73877,26.701563,92.083398,28.311182],"geometry":{"type":"Polygon","coordinates":[[[91.631934,27.759961],[91.625879,27.737305],[91.597656,27.677002],[91.579297,27.611426],[91.594727,27.557666],[91.658105,27.493604],[91.743066,27.442529],[91.85127,27.438623],[91.950977,27.458301],[91.99082,27.450195],[92.044922,27.364697],[92.083398,27.290625],[92.031152,27.214307],[92.002539,27.147363],[91.992285,27.099902],[91.998633,27.079297],[92.030859,27.04082],[92.068164,26.975195],[92.073438,26.914844],[92.049707,26.874854],[91.99834,26.85498],[91.94375,26.86084],[91.898633,26.860059],[91.84209,26.852979],[91.753711,26.830762],[91.671582,26.802002],[91.517578,26.807324],[91.455859,26.866895],[91.426758,26.86709],[91.286523,26.789941],[91.133887,26.803418],[90.855762,26.777734],[90.739648,26.77168],[90.620313,26.780225],[90.559863,26.796582],[90.447656,26.850781],[90.345898,26.890332],[90.242383,26.85415],[90.206055,26.84751],[90.122949,26.75459],[89.943164,26.723926],[89.763867,26.701563],[89.710938,26.713916],[89.609961,26.719434],[89.606152,26.741113],[89.60918,26.762207],[89.586133,26.778955],[89.545117,26.79624],[89.474609,26.803418],[89.38418,26.826562],[89.332129,26.848633],[89.148242,26.816162],[89.040918,26.865039],[88.919141,26.932227],[88.857617,26.961475],[88.835156,27.065576],[88.813574,27.099023],[88.765625,27.134229],[88.73877,27.175586],[88.760352,27.218115],[88.881641,27.297461],[88.891406,27.316064],[88.947559,27.464014],[89.025488,27.517871],[89.102344,27.592578],[89.160449,27.711279],[89.272656,27.833154],[89.395898,27.958154],[89.480664,28.059961],[89.536914,28.107422],[89.652734,28.158301],[89.749805,28.188184],[89.816895,28.256299],[89.897852,28.294141],[89.981055,28.311182],[90.104492,28.302051],[90.220801,28.277734],[90.348242,28.243945],[90.362988,28.216504],[90.352148,28.168164],[90.333789,28.119141],[90.333105,28.093994],[90.352734,28.080225],[90.477344,28.07085],[90.630078,28.078564],[90.715723,28.071729],[90.906641,28.026514],[90.9625,27.99458],[91.020801,27.970068],[91.077734,27.974463],[91.149902,28.026758],[91.225879,28.07124],[91.273047,28.078369],[91.306836,28.064014],[91.367578,28.021631],[91.493359,27.981787],[91.605566,27.951709],[91.641895,27.923242],[91.629395,27.800879],[91.631934,27.759961]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":5,"SOVEREIGNT":"Benin","SOV_A3":"BEN","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Benin","ADM0_A3":"BEN","GEOU_DIF":0,"GEOUNIT":"Benin","GU_A3":"BEN","SU_DIF":0,"SUBUNIT":"Benin","SU_A3":"BEN","BRK_DIFF":0,"NAME":"Benin","NAME_LONG":"Benin","BRK_A3":"BEN","BRK_NAME":"Benin","BRK_GROUP":null,"ABBREV":"Benin","POSTAL":"BJ","FORMAL_EN":"Republic of Benin","FORMAL_FR":null,"NAME_CIAWF":"Benin","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Benin","NAME_ALT":null,"MAPCOLOR7":1,"MAPCOLOR8":2,"MAPCOLOR9":2,"MAPCOLOR13":12,"POP_EST":11801151,"POP_RANK":14,"POP_YEAR":2019,"GDP_MD":14390,"GDP_YEAR":2019,"ECONOMY":"7. Least developed region","INCOME_GRP":"5. Low income","FIPS_10":"BN","ISO_A2":"BJ","ISO_A2_EH":"BJ","ISO_A3":"BEN","ISO_A3_EH":"BEN","ISO_N3":"204","ISO_N3_EH":"204","UN_A3":"204","WB_A2":"BJ","WB_A3":"BEN","WOE_ID":23424764,"WOE_ID_EH":23424764,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"BEN","ADM0_DIFF":null,"ADM0_TLC":"BEN","ADM0_A3_US":"BEN","ADM0_A3_FR":"BEN","ADM0_A3_RU":"BEN","ADM0_A3_ES":"BEN","ADM0_A3_CN":"BEN","ADM0_A3_TW":"BEN","ADM0_A3_IN":"BEN","ADM0_A3_NP":"BEN","ADM0_A3_PK":"BEN","ADM0_A3_DE":"BEN","ADM0_A3_GB":"BEN","ADM0_A3_BR":"BEN","ADM0_A3_IL":"BEN","ADM0_A3_PS":"BEN","ADM0_A3_SA":"BEN","ADM0_A3_EG":"BEN","ADM0_A3_MA":"BEN","ADM0_A3_PT":"BEN","ADM0_A3_AR":"BEN","ADM0_A3_JP":"BEN","ADM0_A3_KO":"BEN","ADM0_A3_VN":"BEN","ADM0_A3_TR":"BEN","ADM0_A3_ID":"BEN","ADM0_A3_PL":"BEN","ADM0_A3_GR":"BEN","ADM0_A3_IT":"BEN","ADM0_A3_NL":"BEN","ADM0_A3_SE":"BEN","ADM0_A3_BD":"BEN","ADM0_A3_UA":"BEN","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Africa","REGION_UN":"Africa","SUBREGION":"Western Africa","REGION_WB":"Sub-Saharan Africa","NAME_LEN":5,"LONG_LEN":5,"ABBREV_LEN":5,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":4,"MAX_LABEL":9,"LABEL_X":2.352018,"LABEL_Y":10.324775,"NE_ID":1159320399,"WIKIDATAID":"Q962","NAME_AR":"بنين","NAME_BN":"বেনিন","NAME_DE":"Benin","NAME_EN":"Benin","NAME_ES":"Benín","NAME_FA":"بنین","NAME_FR":"Bénin","NAME_EL":"Μπενίν","NAME_HE":"בנין","NAME_HI":"बेनिन","NAME_HU":"Benin","NAME_ID":"Benin","NAME_IT":"Benin","NAME_JA":"ベナン","NAME_KO":"베냉","NAME_NL":"Benin","NAME_PL":"Benin","NAME_PT":"Benim","NAME_RU":"Бенин","NAME_SV":"Benin","NAME_TR":"Benin","NAME_UK":"Бенін","NAME_UR":"بینن","NAME_VI":"Bénin","NAME_ZH":"贝宁","NAME_ZHT":"貝南","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[0.763379,6.216797,3.834473,12.383838],"geometry":{"type":"Polygon","coordinates":[[[1.622656,6.216797],[1.610938,6.25083],[1.77793,6.294629],[1.743164,6.42627],[1.639258,6.581543],[1.598535,6.610205],[1.577539,6.687402],[1.60293,6.738086],[1.59082,6.772266],[1.582031,6.877002],[1.530957,6.992432],[1.624707,6.997314],[1.624707,7.369189],[1.624609,7.725879],[1.624609,8.030225],[1.624609,8.270996],[1.606641,8.559277],[1.603809,8.770996],[1.600195,9.050049],[1.566309,9.137256],[1.424316,9.28501],[1.385742,9.36167],[1.378906,9.462988],[1.34707,9.567529],[1.345117,9.750195],[1.342871,9.962939],[1.330078,9.996973],[1.176172,10.098389],[0.958301,10.242041],[0.792188,10.351562],[0.77998,10.35957],[0.763379,10.38667],[0.7875,10.710254],[0.821875,10.752588],[0.874805,10.885742],[0.900488,10.993262],[0.924609,10.992822],[0.958008,11.027783],[0.985059,11.079004],[1.013867,11.068115],[1.062305,11.058203],[1.08457,11.076367],[1.081543,11.116016],[1.097559,11.156348],[1.135547,11.174365],[1.145508,11.2104],[1.145801,11.251904],[1.178711,11.262744],[1.234668,11.261035],[1.280469,11.273975],[1.317383,11.295264],[1.364844,11.378906],[1.391504,11.408008],[1.399707,11.428711],[1.426758,11.447119],[1.501367,11.455566],[1.561426,11.449121],[1.6,11.400635],[1.857617,11.443359],[1.980371,11.418408],[2.230859,11.62915],[2.287207,11.69126],[2.363281,11.840088],[2.38916,11.89707],[2.412695,11.999316],[2.363281,12.188428],[2.366016,12.221924],[2.469336,12.262793],[2.598438,12.294336],[2.648438,12.296777],[2.681348,12.312793],[2.728516,12.353613],[2.805273,12.383838],[2.850195,12.373682],[2.878125,12.367725],[3.149609,12.118066],[3.267383,11.991895],[3.299121,11.927148],[3.359961,11.880469],[3.449805,11.851953],[3.531738,11.787451],[3.59541,11.696289],[3.553906,11.631885],[3.490527,11.499219],[3.487793,11.39541],[3.638867,11.176855],[3.65625,11.15459],[3.695312,11.120312],[3.716406,11.07959],[3.73418,10.971924],[3.744922,10.850439],[3.756836,10.76875],[3.829688,10.65376],[3.834473,10.607422],[3.783789,10.435889],[3.771777,10.417627],[3.758496,10.412695],[3.680273,10.427783],[3.646582,10.408984],[3.604102,10.350684],[3.57793,10.29248],[3.576563,10.268359],[3.645898,10.160156],[3.602051,10.004541],[3.557227,9.907324],[3.476758,9.851904],[3.404785,9.838623],[3.354492,9.812793],[3.325195,9.778467],[3.329492,9.667041],[3.223438,9.565625],[3.164648,9.494678],[3.136133,9.451611],[3.148047,9.320605],[3.110449,9.188281],[3.044922,9.083838],[2.898047,9.061377],[2.774805,9.048535],[2.73291,8.78252],[2.734668,8.614014],[2.723633,8.441895],[2.703125,8.371826],[2.711523,8.272998],[2.702344,8.049805],[2.686035,7.87373],[2.707715,7.826611],[2.72041,7.723096],[2.719336,7.61626],[2.750977,7.541895],[2.785156,7.476855],[2.783984,7.443408],[2.76582,7.42251],[2.750488,7.395068],[2.750586,7.143213],[2.756738,7.06792],[2.747754,7.019824],[2.721387,6.980273],[2.731738,6.852832],[2.75293,6.771631],[2.774609,6.711719],[2.753711,6.661768],[2.735645,6.595703],[2.708008,6.427686],[2.706445,6.369238],[2.286914,6.328076],[1.818164,6.260645],[1.622656,6.216797]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":6,"SOVEREIGNT":"Belize","SOV_A3":"BLZ","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Belize","ADM0_A3":"BLZ","GEOU_DIF":0,"GEOUNIT":"Belize","GU_A3":"BLZ","SU_DIF":0,"SUBUNIT":"Belize","SU_A3":"BLZ","BRK_DIFF":0,"NAME":"Belize","NAME_LONG":"Belize","BRK_A3":"BLZ","BRK_NAME":"Belize","BRK_GROUP":null,"ABBREV":"Belize","POSTAL":"BZ","FORMAL_EN":"Belize","FORMAL_FR":null,"NAME_CIAWF":"Belize","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Belize","NAME_ALT":null,"MAPCOLOR7":1,"MAPCOLOR8":4,"MAPCOLOR9":5,"MAPCOLOR13":7,"POP_EST":390353,"POP_RANK":10,"POP_YEAR":2019,"GDP_MD":1879,"GDP_YEAR":2019,"ECONOMY":"6. Developing region","INCOME_GRP":"4. Lower middle income","FIPS_10":"BH","ISO_A2":"BZ","ISO_A2_EH":"BZ","ISO_A3":"BLZ","ISO_A3_EH":"BLZ","ISO_N3":"084","ISO_N3_EH":"084","UN_A3":"084","WB_A2":"BZ","WB_A3":"BLZ","WOE_ID":23424760,"WOE_ID_EH":23424760,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"BLZ","ADM0_DIFF":null,"ADM0_TLC":"BLZ","ADM0_A3_US":"BLZ","ADM0_A3_FR":"BLZ","ADM0_A3_RU":"BLZ","ADM0_A3_ES":"BLZ","ADM0_A3_CN":"BLZ","ADM0_A3_TW":"BLZ","ADM0_A3_IN":"BLZ","ADM0_A3_NP":"BLZ","ADM0_A3_PK":"BLZ","ADM0_A3_DE":"BLZ","ADM0_A3_GB":"BLZ","ADM0_A3_BR":"BLZ","ADM0_A3_IL":"BLZ","ADM0_A3_PS":"BLZ","ADM0_A3_SA":"BLZ","ADM0_A3_EG":"BLZ","ADM0_A3_MA":"BLZ","ADM0_A3_PT":"BLZ","ADM0_A3_AR":"BLZ","ADM0_A3_JP":"BLZ","ADM0_A3_KO":"BLZ","ADM0_A3_VN":"BLZ","ADM0_A3_TR":"BLZ","ADM0_A3_ID":"BLZ","ADM0_A3_PL":"BLZ","ADM0_A3_GR":"BLZ","ADM0_A3_IT":"BLZ","ADM0_A3_NL":"BLZ","ADM0_A3_SE":"BLZ","ADM0_A3_BD":"BLZ","ADM0_A3_UA":"BLZ","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"North America","REGION_UN":"Americas","SUBREGION":"Central America","REGION_WB":"Latin America & Caribbean","NAME_LEN":6,"LONG_LEN":6,"ABBREV_LEN":6,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":5,"MAX_LABEL":10,"LABEL_X":-88.712962,"LABEL_Y":17.202068,"NE_ID":1159320431,"WIKIDATAID":"Q242","NAME_AR":"بليز","NAME_BN":"বেলিজ","NAME_DE":"Belize","NAME_EN":"Belize","NAME_ES":"Belice","NAME_FA":"بلیز","NAME_FR":"Belize","NAME_EL":"Μπελίζ","NAME_HE":"בליז","NAME_HI":"बेलीज़","NAME_HU":"Belize","NAME_ID":"Belize","NAME_IT":"Belize","NAME_JA":"ベリーズ","NAME_KO":"벨리즈","NAME_NL":"Belize","NAME_PL":"Belize","NAME_PT":"Belize","NAME_RU":"Белиз","NAME_SV":"Belize","NAME_TR":"Belize","NAME_UK":"Беліз","NAME_UR":"بیلیز","NAME_VI":"Belize","NAME_ZH":"伯利兹","NAME_ZHT":"貝里斯","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[-89.2375,15.888672,-87.788623,18.482324],"geometry":{"type":"MultiPolygon","coordinates":[[[[-89.161475,17.814844],[-89.162354,17.901953],[-89.133545,17.970801],[-89.050439,17.999707],[-88.942627,17.939648],[-88.897803,17.914551],[-88.857373,17.928809],[-88.806348,17.965527],[-88.743604,18.071631],[-88.586182,18.290527],[-88.522998,18.445898],[-88.461279,18.476758],[-88.372412,18.482324],[-88.295654,18.472412],[-88.349268,18.358838],[-88.295654,18.344092],[-88.247266,18.354687],[-88.130273,18.350732],[-88.085254,18.226123],[-88.097217,18.121631],[-88.207471,17.846094],[-88.221436,17.751367],[-88.271729,17.609863],[-88.203467,17.516602],[-88.267187,17.392578],[-88.288818,17.312695],[-88.293994,17.192139],[-88.261816,16.963037],[-88.313428,16.632764],[-88.404541,16.488623],[-88.461133,16.433789],[-88.562305,16.29043],[-88.695166,16.247656],[-88.879102,16.01665],[-88.911719,15.956006],[-88.894043,15.890625],[-88.937158,15.889844],[-89.113574,15.900684],[-89.232812,15.888672],[-89.2375,15.894434],[-89.227637,16.142822],[-89.212451,16.527148],[-89.20127,16.808984],[-89.190381,17.084668],[-89.182178,17.291211],[-89.171094,17.572266],[-89.161475,17.814844]]],[[[-87.950586,17.924951],[-87.998096,17.906348],[-87.959033,17.964014],[-87.95332,18.001074],[-87.89834,18.154932],[-87.858936,18.154053],[-87.848535,18.140381],[-87.950586,17.924951]]],[[[-87.85293,17.422852],[-87.92998,17.283008],[-87.934863,17.322949],[-87.902832,17.426465],[-87.859424,17.462793],[-87.83252,17.501074],[-87.826416,17.546289],[-87.788623,17.524219],[-87.798145,17.47959],[-87.85293,17.422852]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":2,"SOVEREIGNT":"Belgium","SOV_A3":"BEL","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Belgium","ADM0_A3":"BEL","GEOU_DIF":0,"GEOUNIT":"Belgium","GU_A3":"BEL","SU_DIF":0,"SUBUNIT":"Belgium","SU_A3":"BEL","BRK_DIFF":0,"NAME":"Belgium","NAME_LONG":"Belgium","BRK_A3":"BEL","BRK_NAME":"Belgium","BRK_GROUP":null,"ABBREV":"Belg.","POSTAL":"B","FORMAL_EN":"Kingdom of Belgium","FORMAL_FR":null,"NAME_CIAWF":"Belgium","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Belgium","NAME_ALT":null,"MAPCOLOR7":3,"MAPCOLOR8":2,"MAPCOLOR9":1,"MAPCOLOR13":8,"POP_EST":11484055,"POP_RANK":14,"POP_YEAR":2019,"GDP_MD":533097,"GDP_YEAR":2019,"ECONOMY":"2. Developed region: nonG7","INCOME_GRP":"1. High income: OECD","FIPS_10":"BE","ISO_A2":"BE","ISO_A2_EH":"BE","ISO_A3":"BEL","ISO_A3_EH":"BEL","ISO_N3":"056","ISO_N3_EH":"056","UN_A3":"056","WB_A2":"BE","WB_A3":"BEL","WOE_ID":23424757,"WOE_ID_EH":23424757,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"BEL","ADM0_DIFF":null,"ADM0_TLC":"BEL","ADM0_A3_US":"BEL","ADM0_A3_FR":"BEL","ADM0_A3_RU":"BEL","ADM0_A3_ES":"BEL","ADM0_A3_CN":"BEL","ADM0_A3_TW":"BEL","ADM0_A3_IN":"BEL","ADM0_A3_NP":"BEL","ADM0_A3_PK":"BEL","ADM0_A3_DE":"BEL","ADM0_A3_GB":"BEL","ADM0_A3_BR":"BEL","ADM0_A3_IL":"BEL","ADM0_A3_PS":"BEL","ADM0_A3_SA":"BEL","ADM0_A3_EG":"BEL","ADM0_A3_MA":"BEL","ADM0_A3_PT":"BEL","ADM0_A3_AR":"BEL","ADM0_A3_JP":"BEL","ADM0_A3_KO":"BEL","ADM0_A3_VN":"BEL","ADM0_A3_TR":"BEL","ADM0_A3_ID":"BEL","ADM0_A3_PL":"BEL","ADM0_A3_GR":"BEL","ADM0_A3_IT":"BEL","ADM0_A3_NL":"BEL","ADM0_A3_SE":"BEL","ADM0_A3_BD":"BEL","ADM0_A3_UA":"BEL","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Europe","REGION_UN":"Europe","SUBREGION":"Western Europe","REGION_WB":"Europe & Central Asia","NAME_LEN":7,"LONG_LEN":7,"ABBREV_LEN":5,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":4,"MAX_LABEL":9,"LABEL_X":4.800448,"LABEL_Y":50.785392,"NE_ID":1159320389,"WIKIDATAID":"Q31","NAME_AR":"بلجيكا","NAME_BN":"বেলজিয়াম","NAME_DE":"Belgien","NAME_EN":"Belgium","NAME_ES":"Bélgica","NAME_FA":"بلژیک","NAME_FR":"Belgique","NAME_EL":"Βέλγιο","NAME_HE":"בלגיה","NAME_HI":"बेल्जियम","NAME_HU":"Belgium","NAME_ID":"Belgia","NAME_IT":"Belgio","NAME_JA":"ベルギー","NAME_KO":"벨기에","NAME_NL":"België","NAME_PL":"Belgia","NAME_PT":"Bélgica","NAME_RU":"Бельгия","NAME_SV":"Belgien","NAME_TR":"Belçika","NAME_UK":"Бельгія","NAME_UR":"بلجئیم","NAME_VI":"Bỉ","NAME_ZH":"比利时","NAME_ZHT":"比利時","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[2.524902,49.510889,6.364453,51.491113],"geometry":{"type":"Polygon","coordinates":[[[4.226172,51.386475],[4.304492,51.361523],[4.37373,51.356006],[4.404004,51.36709],[4.384766,51.427588],[4.440918,51.459814],[4.503418,51.474707],[4.531641,51.448584],[4.58877,51.421924],[4.633984,51.421729],[4.755664,51.491113],[4.78418,51.477393],[4.810547,51.452734],[4.816016,51.432812],[4.820703,51.412061],[4.848047,51.403271],[4.943945,51.407764],[4.992578,51.445361],[5.030957,51.469092],[5.059473,51.453125],[5.073438,51.406836],[5.099902,51.346484],[5.21416,51.278955],[5.31084,51.259717],[5.429785,51.272998],[5.476855,51.285059],[5.508789,51.275],[5.54043,51.239307],[5.608789,51.198437],[5.752344,51.169482],[5.796484,51.153076],[5.827148,51.125635],[5.818262,51.086426],[5.749805,50.98877],[5.74082,50.959912],[5.75,50.950244],[5.736621,50.932129],[5.647559,50.86665],[5.639453,50.843604],[5.669141,50.805957],[5.693555,50.774756],[5.693652,50.774658],[5.74707,50.75957],[5.797363,50.754541],[5.892461,50.752557],[5.993945,50.750439],[6.005957,50.732227],[6.119434,50.679248],[6.154492,50.637256],[6.235938,50.59668],[6.168457,50.545361],[6.178711,50.52251],[6.203027,50.499121],[6.294922,50.485498],[6.340918,50.451758],[6.343652,50.400244],[6.364453,50.316162],[6.175098,50.232666],[6.121289,50.139355],[6.116504,50.120996],[6.110059,50.123779],[6.089063,50.15459],[6.054785,50.154297],[5.97627,50.167187],[5.866895,50.082812],[5.817383,50.012695],[5.788086,49.96123],[5.744043,49.919629],[5.735254,49.875635],[5.74082,49.857178],[5.725781,49.83335],[5.725,49.808301],[5.787988,49.758887],[5.803711,49.732178],[5.880371,49.644775],[5.856543,49.612842],[5.837598,49.57832],[5.81543,49.553809],[5.789746,49.538281],[5.710449,49.539209],[5.610059,49.528223],[5.542383,49.511035],[5.507324,49.510889],[5.434668,49.554492],[5.353516,49.619824],[5.301953,49.650977],[5.278809,49.67793],[5.215039,49.689258],[5.124121,49.721484],[5.061035,49.756543],[5.006934,49.778369],[4.930566,49.789258],[4.867578,49.788135],[4.849121,49.847119],[4.841504,49.914502],[4.790039,49.95957],[4.860547,50.135889],[4.818652,50.153174],[4.772852,50.139062],[4.706641,50.09707],[4.675098,50.046875],[4.656152,50.002441],[4.54502,49.960254],[4.36875,49.944971],[4.176074,49.960254],[4.149316,49.971582],[4.137012,49.984473],[4.136816,50],[4.150293,50.023877],[4.183887,50.052832],[4.192188,50.094141],[4.157715,50.129883],[4.135254,50.143799],[4.144141,50.178418],[4.169629,50.221777],[4.174609,50.246484],[4.044141,50.321338],[3.949707,50.335938],[3.858105,50.338574],[3.788574,50.346973],[3.748047,50.343506],[3.718848,50.32168],[3.689355,50.306055],[3.667285,50.324805],[3.626758,50.457324],[3.59541,50.477344],[3.476953,50.499463],[3.316211,50.507373],[3.27334,50.531543],[3.249805,50.591162],[3.234961,50.662939],[3.182031,50.731689],[3.154883,50.748926],[3.106836,50.779443],[3.022852,50.766895],[2.921973,50.727051],[2.862402,50.716016],[2.839746,50.711768],[2.759375,50.750635],[2.669141,50.811426],[2.596777,50.875928],[2.579297,50.911768],[2.601465,50.955273],[2.574805,50.988574],[2.536035,51.049512],[2.524902,51.097119],[2.960156,51.26543],[3.225195,51.351611],[3.350098,51.377686],[3.380078,51.291113],[3.402832,51.263623],[3.43252,51.245752],[3.471973,51.242236],[3.51709,51.263623],[3.580273,51.286182],[3.681836,51.275684],[3.755664,51.254834],[3.781934,51.233203],[3.830762,51.212598],[3.902051,51.207666],[4.040039,51.24707],[4.172559,51.30708],[4.211426,51.34873],[4.226172,51.386475]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":4,"SOVEREIGNT":"Belarus","SOV_A3":"BLR","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Belarus","ADM0_A3":"BLR","GEOU_DIF":0,"GEOUNIT":"Belarus","GU_A3":"BLR","SU_DIF":0,"SUBUNIT":"Belarus","SU_A3":"BLR","BRK_DIFF":0,"NAME":"Belarus","NAME_LONG":"Belarus","BRK_A3":"BLR","BRK_NAME":"Belarus","BRK_GROUP":null,"ABBREV":"Bela.","POSTAL":"BY","FORMAL_EN":"Republic of Belarus","FORMAL_FR":null,"NAME_CIAWF":"Belarus","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Belarus","NAME_ALT":null,"MAPCOLOR7":1,"MAPCOLOR8":1,"MAPCOLOR9":5,"MAPCOLOR13":11,"POP_EST":9466856,"POP_RANK":13,"POP_YEAR":2019,"GDP_MD":63080,"GDP_YEAR":2019,"ECONOMY":"6. Developing region","INCOME_GRP":"3. Upper middle income","FIPS_10":"BO","ISO_A2":"BY","ISO_A2_EH":"BY","ISO_A3":"BLR","ISO_A3_EH":"BLR","ISO_N3":"112","ISO_N3_EH":"112","UN_A3":"112","WB_A2":"BY","WB_A3":"BLR","WOE_ID":23424765,"WOE_ID_EH":23424765,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"BLR","ADM0_DIFF":null,"ADM0_TLC":"BLR","ADM0_A3_US":"BLR","ADM0_A3_FR":"BLR","ADM0_A3_RU":"BLR","ADM0_A3_ES":"BLR","ADM0_A3_CN":"BLR","ADM0_A3_TW":"BLR","ADM0_A3_IN":"BLR","ADM0_A3_NP":"BLR","ADM0_A3_PK":"BLR","ADM0_A3_DE":"BLR","ADM0_A3_GB":"BLR","ADM0_A3_BR":"BLR","ADM0_A3_IL":"BLR","ADM0_A3_PS":"BLR","ADM0_A3_SA":"BLR","ADM0_A3_EG":"BLR","ADM0_A3_MA":"BLR","ADM0_A3_PT":"BLR","ADM0_A3_AR":"BLR","ADM0_A3_JP":"BLR","ADM0_A3_KO":"BLR","ADM0_A3_VN":"BLR","ADM0_A3_TR":"BLR","ADM0_A3_ID":"BLR","ADM0_A3_PL":"BLR","ADM0_A3_GR":"BLR","ADM0_A3_IT":"BLR","ADM0_A3_NL":"BLR","ADM0_A3_SE":"BLR","ADM0_A3_BD":"BLR","ADM0_A3_UA":"BLR","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Europe","REGION_UN":"Europe","SUBREGION":"Eastern Europe","REGION_WB":"Europe & Central Asia","NAME_LEN":7,"LONG_LEN":7,"ABBREV_LEN":5,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":3,"MAX_LABEL":8,"LABEL_X":28.417701,"LABEL_Y":53.821888,"NE_ID":1159320427,"WIKIDATAID":"Q184","NAME_AR":"بيلاروسيا","NAME_BN":"বেলারুশ","NAME_DE":"Belarus","NAME_EN":"Belarus","NAME_ES":"Bielorrusia","NAME_FA":"بلاروس","NAME_FR":"Biélorussie","NAME_EL":"Λευκορωσία","NAME_HE":"בלארוס","NAME_HI":"बेलारूस","NAME_HU":"Fehéroroszország","NAME_ID":"Belarus","NAME_IT":"Bielorussia","NAME_JA":"ベラルーシ","NAME_KO":"벨라루스","NAME_NL":"Wit-Rusland","NAME_PL":"Białoruś","NAME_PT":"Bielorrússia","NAME_RU":"Белоруссия","NAME_SV":"Belarus","NAME_TR":"Beyaz Rusya","NAME_UK":"Білорусь","NAME_UR":"بیلاروس","NAME_VI":"Belarus","NAME_ZH":"白俄罗斯","NAME_ZHT":"白俄羅斯","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[23.175098,51.265039,32.710254,56.145801],"geometry":{"type":"Polygon","coordinates":[[[31.763379,52.101074],[31.57373,52.108105],[31.345996,52.105371],[31.217969,52.050244],[31.168457,52.062939],[31.079297,52.076953],[30.980664,52.046191],[30.845703,51.953076],[30.755273,51.895166],[30.667285,51.814111],[30.639453,51.770068],[30.583887,51.688965],[30.533008,51.596338],[30.560742,51.531494],[30.602344,51.47124],[30.611719,51.406348],[30.63252,51.35542],[30.576953,51.318359],[30.544531,51.265039],[30.449512,51.274316],[30.333398,51.325537],[30.308984,51.399609],[30.219531,51.451221],[30.160742,51.477881],[30.06377,51.482031],[29.908789,51.458008],[29.706055,51.439551],[29.553125,51.43457],[29.469629,51.40835],[29.346484,51.382568],[29.298828,51.413037],[29.230469,51.497021],[29.174219,51.580615],[29.135645,51.617285],[29.102051,51.627539],[29.060742,51.625439],[29.013086,51.598926],[28.977734,51.571777],[28.927539,51.562158],[28.849512,51.540186],[28.793262,51.510352],[28.73125,51.433398],[28.690234,51.438867],[28.647754,51.456543],[28.599023,51.542627],[28.532031,51.562451],[28.424609,51.563623],[28.291602,51.581836],[28.183789,51.607861],[28.144434,51.60166],[28.080273,51.565039],[28.010742,51.559766],[27.858594,51.592383],[27.828809,51.577441],[27.788867,51.52915],[27.741309,51.482568],[27.7,51.477979],[27.676758,51.489941],[27.689746,51.572412],[27.601367,51.601611],[27.452344,51.606104],[27.347656,51.594141],[27.296289,51.597412],[27.270117,51.613574],[27.141992,51.752051],[27.074121,51.76084],[26.952832,51.754004],[26.773438,51.770703],[26.566895,51.801904],[26.453418,51.813428],[26.394336,51.844434],[26.26709,51.855029],[25.925293,51.913525],[25.785742,51.923828],[25.580273,51.924756],[25.267188,51.937744],[25.066699,51.930518],[24.973828,51.911133],[24.866406,51.899121],[24.685156,51.888281],[24.611328,51.889502],[24.495215,51.883057],[24.361914,51.867529],[24.32373,51.838428],[24.280078,51.774707],[24.126855,51.664648],[23.97832,51.591309],[23.951172,51.585059],[23.864258,51.623975],[23.791699,51.637109],[23.706836,51.641309],[23.64668,51.628857],[23.608594,51.610498],[23.61377,51.525391],[23.605273,51.51792],[23.539648,51.618896],[23.544824,51.710254],[23.581348,51.762402],[23.625684,51.809326],[23.607422,51.879785],[23.651074,51.972998],[23.652441,52.040381],[23.633301,52.06958],[23.597949,52.103076],[23.501172,52.140381],[23.458398,52.169531],[23.327148,52.208447],[23.196973,52.256934],[23.175098,52.286621],[23.18125,52.306982],[23.204102,52.337891],[23.30332,52.428369],[23.410938,52.516211],[23.47959,52.551562],[23.844727,52.664209],[23.90127,52.703613],[23.91543,52.770264],[23.916309,52.81875],[23.909375,52.904883],[23.887109,53.027539],[23.85918,53.112109],[23.789258,53.270947],[23.598926,53.599219],[23.484668,53.939795],[23.559082,53.919824],[23.733691,53.912256],[23.872559,53.935693],[23.944434,53.938965],[24.008496,53.931641],[24.103906,53.94502],[24.191309,53.950439],[24.236621,53.919971],[24.317969,53.892969],[24.478516,53.931836],[24.620703,53.979834],[24.768164,53.974658],[24.789258,53.998242],[24.825684,54.118994],[24.869531,54.145166],[25.046094,54.133057],[25.111426,54.154932],[25.179492,54.214258],[25.283691,54.25127],[25.370605,54.251221],[25.461133,54.292773],[25.505664,54.264941],[25.527344,54.215137],[25.497363,54.175244],[25.510352,54.159619],[25.573047,54.139893],[25.680566,54.140479],[25.749219,54.156982],[25.765234,54.179785],[25.765039,54.221191],[25.748145,54.259668],[25.702539,54.292969],[25.616895,54.310107],[25.55752,54.310693],[25.547363,54.331836],[25.567578,54.377051],[25.620313,54.4604],[25.685156,54.535791],[25.724805,54.564258],[25.731641,54.590381],[25.723926,54.636035],[25.722461,54.717871],[25.780859,54.833252],[25.859277,54.919287],[25.964453,54.947168],[26.092969,54.962305],[26.175195,55.003271],[26.21582,55.050391],[26.23125,55.090137],[26.250781,55.124512],[26.291797,55.1396],[26.601172,55.130176],[26.648438,55.204199],[26.675,55.224902],[26.734375,55.246777],[26.775684,55.273096],[26.760156,55.293359],[26.68125,55.306445],[26.495313,55.318018],[26.457617,55.34248],[26.469531,55.371924],[26.519238,55.448145],[26.566602,55.546484],[26.59082,55.622656],[26.593555,55.667529],[26.620215,55.679639],[26.771875,55.693994],[26.822461,55.709229],[26.953027,55.812939],[27.052539,55.830566],[27.30918,55.803906],[27.427148,55.805957],[27.45918,55.803516],[27.576758,55.798779],[27.589453,55.80918],[27.642285,55.911719],[27.694238,55.941553],[27.896289,56.076172],[28.032031,56.133301],[28.117871,56.145801],[28.147949,56.14292],[28.284277,56.055908],[28.316309,56.052539],[28.39209,56.086719],[28.407031,56.089014],[28.563965,56.091992],[28.636914,56.061768],[28.69082,56.002637],[28.74082,55.955371],[28.794727,55.942578],[28.947461,56.0021],[29.031738,56.021777],[29.087402,56.021143],[29.283008,55.967871],[29.375,55.938721],[29.396094,55.912207],[29.397949,55.881055],[29.373145,55.834717],[29.353418,55.784375],[29.412988,55.724854],[29.482227,55.68457],[29.630078,55.751172],[29.68457,55.769727],[29.744141,55.77041],[29.823926,55.795117],[29.881641,55.832324],[29.937012,55.845264],[30.042676,55.836426],[30.233594,55.845215],[30.45625,55.786816],[30.475391,55.768799],[30.586719,55.700293],[30.625586,55.66626],[30.662305,55.655469],[30.72168,55.622119],[30.800781,55.601123],[30.855957,55.60752],[30.882227,55.596387],[30.906836,55.57002],[30.908789,55.525342],[30.900586,55.397412],[30.861816,55.3604],[30.820996,55.330273],[30.810547,55.306982],[30.814453,55.278711],[30.877441,55.223437],[30.958887,55.137598],[30.977734,55.087793],[30.977734,55.050488],[30.866797,54.940723],[30.829883,54.91499],[30.804492,54.860937],[30.791016,54.806006],[30.798828,54.783252],[30.98418,54.695898],[31.121289,54.648486],[31.152148,54.625342],[31.154883,54.610937],[31.081934,54.51709],[31.074805,54.491797],[31.184766,54.452979],[31.245508,54.39165],[31.299121,54.291699],[31.403613,54.195947],[31.628418,54.111182],[31.791992,54.055908],[31.825977,54.030713],[31.837793,54.000781],[31.825293,53.93501],[31.783008,53.85498],[31.754199,53.810449],[31.820801,53.791943],[31.992188,53.796875],[32.200391,53.78125],[32.450195,53.69292],[32.450977,53.65332],[32.425195,53.617285],[32.442383,53.579248],[32.469629,53.546973],[32.685742,53.448145],[32.706445,53.419434],[32.710254,53.371436],[32.704297,53.336328],[32.644434,53.328906],[32.578027,53.312402],[32.469336,53.270312],[32.42627,53.210596],[32.250684,53.128369],[32.141992,53.091162],[32.055469,53.089453],[31.849707,53.106201],[31.777441,53.146875],[31.747461,53.18418],[31.668262,53.200928],[31.562988,53.20249],[31.417871,53.196045],[31.388379,53.184814],[31.364551,53.138965],[31.30293,53.060889],[31.258789,53.016699],[31.295117,52.989795],[31.353027,52.933447],[31.442773,52.861816],[31.535156,52.798242],[31.564844,52.759229],[31.563477,52.731445],[31.519434,52.69873],[31.526172,52.633008],[31.615918,52.546191],[31.585547,52.532471],[31.576563,52.426025],[31.577344,52.312305],[31.601562,52.284814],[31.649902,52.262207],[31.690625,52.220654],[31.758594,52.12583],[31.763379,52.101074]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":5,"SOVEREIGNT":"Barbados","SOV_A3":"BRB","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Barbados","ADM0_A3":"BRB","GEOU_DIF":0,"GEOUNIT":"Barbados","GU_A3":"BRB","SU_DIF":0,"SUBUNIT":"Barbados","SU_A3":"BRB","BRK_DIFF":0,"NAME":"Barbados","NAME_LONG":"Barbados","BRK_A3":"BRB","BRK_NAME":"Barbados","BRK_GROUP":null,"ABBREV":"Barb.","POSTAL":"BB","FORMAL_EN":"Barbados","FORMAL_FR":null,"NAME_CIAWF":"Barbados","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Barbados","NAME_ALT":null,"MAPCOLOR7":4,"MAPCOLOR8":1,"MAPCOLOR9":5,"MAPCOLOR13":3,"POP_EST":287025,"POP_RANK":10,"POP_YEAR":2019,"GDP_MD":5209,"GDP_YEAR":2019,"ECONOMY":"6. Developing region","INCOME_GRP":"2. High income: nonOECD","FIPS_10":"BB","ISO_A2":"BB","ISO_A2_EH":"BB","ISO_A3":"BRB","ISO_A3_EH":"BRB","ISO_N3":"052","ISO_N3_EH":"052","UN_A3":"052","WB_A2":"BB","WB_A3":"BRB","WOE_ID":23424754,"WOE_ID_EH":23424754,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"BRB","ADM0_DIFF":null,"ADM0_TLC":"BRB","ADM0_A3_US":"BRB","ADM0_A3_FR":"BRB","ADM0_A3_RU":"BRB","ADM0_A3_ES":"BRB","ADM0_A3_CN":"BRB","ADM0_A3_TW":"BRB","ADM0_A3_IN":"BRB","ADM0_A3_NP":"BRB","ADM0_A3_PK":"BRB","ADM0_A3_DE":"BRB","ADM0_A3_GB":"BRB","ADM0_A3_BR":"BRB","ADM0_A3_IL":"BRB","ADM0_A3_PS":"BRB","ADM0_A3_SA":"BRB","ADM0_A3_EG":"BRB","ADM0_A3_MA":"BRB","ADM0_A3_PT":"BRB","ADM0_A3_AR":"URY","ADM0_A3_JP":"BRB","ADM0_A3_KO":"BRB","ADM0_A3_VN":"BRB","ADM0_A3_TR":"BRB","ADM0_A3_ID":"BRB","ADM0_A3_PL":"BRB","ADM0_A3_GR":"BRB","ADM0_A3_IT":"BRB","ADM0_A3_NL":"BRB","ADM0_A3_SE":"BRB","ADM0_A3_BD":"BRB","ADM0_A3_UA":"BRB","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"North America","REGION_UN":"Americas","SUBREGION":"Caribbean","REGION_WB":"Latin America & Caribbean","NAME_LEN":8,"LONG_LEN":8,"ABBREV_LEN":5,"TINY":3,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":4.5,"MAX_LABEL":9.5,"LABEL_X":-59.568966,"LABEL_Y":13.163709,"NE_ID":1159320449,"WIKIDATAID":"Q244","NAME_AR":"باربادوس","NAME_BN":"বার্বাডোস","NAME_DE":"Barbados","NAME_EN":"Barbados","NAME_ES":"Barbados","NAME_FA":"باربادوس","NAME_FR":"Barbade","NAME_EL":"Μπαρμπάντος","NAME_HE":"ברבדוס","NAME_HI":"बारबाडोस","NAME_HU":"Barbados","NAME_ID":"Barbados","NAME_IT":"Barbados","NAME_JA":"バルバドス","NAME_KO":"바베이도스","NAME_NL":"Barbados","NAME_PL":"Barbados","NAME_PT":"Barbados","NAME_RU":"Барбадос","NAME_SV":"Barbados","NAME_TR":"Barbados","NAME_UK":"Барбадос","NAME_UR":"بارباڈوس","NAME_VI":"Barbados","NAME_ZH":"巴巴多斯","NAME_ZHT":"巴貝多","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[-59.64668,13.062207,-59.427637,13.317676],"geometry":{"type":"Polygon","coordinates":[[[-59.493311,13.081982],[-59.521875,13.062207],[-59.611328,13.1021],[-59.642773,13.150293],[-59.64668,13.303125],[-59.591602,13.317676],[-59.487891,13.196826],[-59.427637,13.152783],[-59.493311,13.081982]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":3,"SOVEREIGNT":"Bangladesh","SOV_A3":"BGD","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Bangladesh","ADM0_A3":"BGD","GEOU_DIF":0,"GEOUNIT":"Bangladesh","GU_A3":"BGD","SU_DIF":0,"SUBUNIT":"Bangladesh","SU_A3":"BGD","BRK_DIFF":0,"NAME":"Bangladesh","NAME_LONG":"Bangladesh","BRK_A3":"BGD","BRK_NAME":"Bangladesh","BRK_GROUP":null,"ABBREV":"Bang.","POSTAL":"BD","FORMAL_EN":"People's Republic of Bangladesh","FORMAL_FR":null,"NAME_CIAWF":"Bangladesh","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Bangladesh","NAME_ALT":null,"MAPCOLOR7":3,"MAPCOLOR8":4,"MAPCOLOR9":7,"MAPCOLOR13":7,"POP_EST":163046161,"POP_RANK":17,"POP_YEAR":2019,"GDP_MD":302571,"GDP_YEAR":2019,"ECONOMY":"7. Least developed region","INCOME_GRP":"5. Low income","FIPS_10":"BG","ISO_A2":"BD","ISO_A2_EH":"BD","ISO_A3":"BGD","ISO_A3_EH":"BGD","ISO_N3":"050","ISO_N3_EH":"050","UN_A3":"050","WB_A2":"BD","WB_A3":"BGD","WOE_ID":23424759,"WOE_ID_EH":23424759,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"BGD","ADM0_DIFF":null,"ADM0_TLC":"BGD","ADM0_A3_US":"BGD","ADM0_A3_FR":"BGD","ADM0_A3_RU":"BGD","ADM0_A3_ES":"BGD","ADM0_A3_CN":"BGD","ADM0_A3_TW":"BGD","ADM0_A3_IN":"BGD","ADM0_A3_NP":"BGD","ADM0_A3_PK":"BGD","ADM0_A3_DE":"BGD","ADM0_A3_GB":"BGD","ADM0_A3_BR":"BGD","ADM0_A3_IL":"BGD","ADM0_A3_PS":"BGD","ADM0_A3_SA":"BGD","ADM0_A3_EG":"BGD","ADM0_A3_MA":"BGD","ADM0_A3_PT":"BGD","ADM0_A3_AR":"BGD","ADM0_A3_JP":"BGD","ADM0_A3_KO":"BGD","ADM0_A3_VN":"BGD","ADM0_A3_TR":"BGD","ADM0_A3_ID":"BGD","ADM0_A3_PL":"BGD","ADM0_A3_GR":"BGD","ADM0_A3_IT":"BGD","ADM0_A3_NL":"BGD","ADM0_A3_SE":"BGD","ADM0_A3_BD":"BGD","ADM0_A3_UA":"BGD","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Asia","REGION_UN":"Asia","SUBREGION":"Southern Asia","REGION_WB":"South Asia","NAME_LEN":10,"LONG_LEN":10,"ABBREV_LEN":5,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":3,"MAX_LABEL":8,"LABEL_X":89.684963,"LABEL_Y":24.214956,"NE_ID":1159320407,"WIKIDATAID":"Q902","NAME_AR":"بنغلاديش","NAME_BN":"বাংলাদেশ","NAME_DE":"Bangladesch","NAME_EN":"Bangladesh","NAME_ES":"Bangladés","NAME_FA":"بنگلادش","NAME_FR":"Bangladesh","NAME_EL":"Μπανγκλαντές","NAME_HE":"בנגלדש","NAME_HI":"बांग्लादेश","NAME_HU":"Banglades","NAME_ID":"Bangladesh","NAME_IT":"Bangladesh","NAME_JA":"バングラデシュ","NAME_KO":"방글라데시","NAME_NL":"Bangladesh","NAME_PL":"Bangladesz","NAME_PT":"Bangladesh","NAME_RU":"Бангладеш","NAME_SV":"Bangladesh","NAME_TR":"Bangladeş","NAME_UK":"Бангладеш","NAME_UR":"بنگلہ دیش","NAME_VI":"Bangladesh","NAME_ZH":"孟加拉国","NAME_ZHT":"孟加拉","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[88.023438,20.79043,92.631641,26.571533],"geometry":{"type":"MultiPolygon","coordinates":[[[[89.051465,22.093164],[89.055859,22.18623],[89.05,22.274609],[88.971484,22.510937],[88.920703,22.632031],[88.926953,22.671143],[88.923438,22.687549],[88.899707,22.843506],[88.866992,22.938867],[88.850586,23.040527],[88.928125,23.186621],[88.89707,23.2104],[88.807617,23.229687],[88.724414,23.25498],[88.704004,23.292822],[88.74082,23.436621],[88.697656,23.493018],[88.635742,23.55],[88.616406,23.572754],[88.595996,23.602197],[88.567383,23.674414],[88.622559,23.826367],[88.699805,24.002539],[88.71377,24.069629],[88.726562,24.18623],[88.733594,24.230908],[88.723535,24.274902],[88.642285,24.325977],[88.498535,24.346631],[88.396973,24.389258],[88.3375,24.453857],[88.287109,24.479736],[88.225,24.460645],[88.145508,24.485791],[88.079102,24.549902],[88.023438,24.627832],[88.030273,24.664453],[88.045117,24.713037],[88.149805,24.914648],[88.188867,24.920605],[88.279492,24.881934],[88.313379,24.881836],[88.372949,24.961523],[88.45625,25.188428],[88.573828,25.187891],[88.677539,25.180469],[88.747559,25.168945],[88.817285,25.176221],[88.890137,25.194385],[88.929785,25.222998],[88.95166,25.259277],[88.944141,25.290771],[88.854785,25.333545],[88.820312,25.365527],[88.79541,25.45625],[88.769141,25.490479],[88.593457,25.495312],[88.502441,25.537012],[88.452344,25.574414],[88.363086,25.698193],[88.25293,25.789795],[88.147461,25.811426],[88.106641,25.841113],[88.08457,25.888232],[88.097363,25.956348],[88.129004,26.018213],[88.150781,26.087158],[88.235156,26.178076],[88.333984,26.25752],[88.378027,26.312012],[88.44043,26.369482],[88.447852,26.401025],[88.436719,26.437109],[88.38623,26.471533],[88.351465,26.482568],[88.345898,26.504785],[88.369922,26.564111],[88.418164,26.571533],[88.518262,26.517773],[88.620117,26.430664],[88.680664,26.352979],[88.682813,26.291699],[88.722168,26.281836],[88.761914,26.279395],[88.828027,26.252197],[88.896484,26.260498],[88.940723,26.245361],[88.97041,26.250879],[88.981543,26.286133],[88.948242,26.337988],[88.924121,26.375098],[88.951953,26.412109],[88.983398,26.419531],[89.018652,26.410254],[89.066797,26.376904],[89.101953,26.30835],[89.108301,26.202246],[89.186426,26.105957],[89.289258,26.037598],[89.369727,26.006104],[89.466895,25.983545],[89.549902,26.005273],[89.591406,26.072412],[89.572754,26.132324],[89.585742,26.186035],[89.619043,26.215674],[89.670898,26.213818],[89.709863,26.17124],[89.822949,25.941406],[89.799609,25.8396],[89.824902,25.560156],[89.796289,25.37583],[89.800879,25.336133],[89.814063,25.305371],[89.833301,25.292773],[89.866309,25.293164],[90.003809,25.25835],[90.119629,25.219971],[90.250391,25.184961],[90.439355,25.157715],[90.555273,25.166602],[90.613086,25.167725],[90.730176,25.159473],[91.038281,25.174072],[91.293164,25.177979],[91.39668,25.151611],[91.479688,25.142139],[91.763477,25.160645],[92.049707,25.169482],[92.204688,25.110937],[92.373438,25.015137],[92.468359,24.944141],[92.485449,24.90332],[92.475,24.868506],[92.443164,24.849414],[92.384961,24.848779],[92.25127,24.895068],[92.22832,24.881348],[92.230566,24.78623],[92.22666,24.770996],[92.198047,24.685742],[92.11748,24.493945],[92.101953,24.408057],[92.085059,24.386182],[92.06416,24.374365],[92.001074,24.370898],[91.95166,24.356738],[91.931055,24.325537],[91.899023,24.260693],[91.876953,24.195312],[91.846191,24.175293],[91.772461,24.210645],[91.726562,24.205078],[91.66875,24.190088],[91.611133,24.152832],[91.571387,24.106592],[91.526367,24.090771],[91.392676,24.100098],[91.36709,24.093506],[91.350195,24.060498],[91.336426,24.018799],[91.232031,23.920459],[91.19248,23.762891],[91.160449,23.660645],[91.165527,23.581055],[91.253809,23.373633],[91.315234,23.104395],[91.338867,23.077002],[91.359375,23.068359],[91.368652,23.074561],[91.366797,23.130469],[91.370605,23.197998],[91.399414,23.213867],[91.43623,23.199902],[91.471387,23.14126],[91.51123,23.033691],[91.553516,22.991553],[91.619531,22.979688],[91.694922,23.004834],[91.750977,23.053516],[91.773828,23.106104],[91.75791,23.209814],[91.754199,23.287305],[91.790039,23.361035],[91.919141,23.471045],[91.937891,23.504688],[91.929492,23.598242],[91.92959,23.685986],[91.978516,23.691992],[92.044043,23.677783],[92.127051,23.720996],[92.152344,23.721875],[92.187109,23.675537],[92.246094,23.683594],[92.289355,23.49248],[92.33418,23.323828],[92.333789,23.242383],[92.341211,23.069824],[92.361621,22.929004],[92.393164,22.897021],[92.430469,22.821826],[92.464453,22.734424],[92.491406,22.6854],[92.50957,22.525684],[92.531836,22.410303],[92.56123,22.048047],[92.574902,21.978076],[92.582812,21.940332],[92.584277,21.609033],[92.593457,21.467334],[92.625293,21.350732],[92.631641,21.306201],[92.599805,21.270166],[92.568555,21.26333],[92.53916,21.319824],[92.471875,21.362988],[92.372656,21.409033],[92.330566,21.439795],[92.279688,21.427588],[92.208203,21.357861],[92.17959,21.293115],[92.191992,21.202246],[92.214746,21.112695],[92.264453,21.061475],[92.268457,21.004688],[92.28623,20.931592],[92.311914,20.864453],[92.324121,20.791846],[92.307813,20.79043],[92.248145,20.883594],[92.194629,20.984277],[92.056055,21.174805],[92.010938,21.51626],[92.008008,21.684766],[91.913184,21.883057],[91.85,22.157373],[91.824805,22.228662],[91.857813,22.317334],[91.863379,22.350488],[91.84541,22.343115],[91.79707,22.297461],[91.734082,22.406689],[91.692969,22.504785],[91.529688,22.707666],[91.482129,22.797412],[91.480078,22.884814],[91.40957,22.797021],[91.31377,22.735156],[91.216211,22.642236],[91.151367,22.614063],[90.945605,22.597021],[90.826758,22.721387],[90.65625,23.025488],[90.633594,23.094238],[90.656055,23.273047],[90.615625,23.442334],[90.616113,23.531641],[90.604004,23.591357],[90.573438,23.578125],[90.561621,23.537109],[90.568066,23.474268],[90.555664,23.421533],[90.408008,23.431885],[90.269141,23.455859],[90.391504,23.366943],[90.522754,23.346143],[90.590918,23.266406],[90.599219,23.20415],[90.595117,23.133936],[90.527734,23.084961],[90.466016,23.053906],[90.477539,22.986768],[90.552246,22.904883],[90.461621,22.881787],[90.436914,22.828174],[90.435059,22.751904],[90.480664,22.684668],[90.498438,22.634814],[90.487402,22.588721],[90.531738,22.539307],[90.595508,22.43584],[90.616113,22.362158],[90.589453,22.258447],[90.552832,22.218164],[90.494141,22.178906],[90.355762,22.048242],[90.288184,21.899414],[90.230566,21.829785],[90.158789,21.816846],[90.130762,21.847412],[90.071191,21.887256],[90.07002,21.959912],[90.087891,22.01748],[90.20957,22.156592],[90.143457,22.137891],[90.068555,22.098193],[89.954199,22.022852],[89.918066,22.116162],[89.894043,22.202588],[89.893848,22.308398],[89.985156,22.466406],[89.881836,22.387598],[89.853223,22.288965],[89.86582,22.173047],[89.852539,22.090918],[89.811914,21.983496],[89.756836,21.919043],[89.667773,21.877686],[89.628125,21.81416],[89.568555,21.767432],[89.566602,21.860596],[89.547461,21.983691],[89.483203,22.275537],[89.469336,22.212939],[89.502539,22.031885],[89.500586,21.914355],[89.451953,21.821094],[89.353711,21.721094],[89.278613,21.706982],[89.234277,21.722363],[89.16709,21.784277],[89.093945,21.872754],[89.081641,22.014941],[89.051465,22.093164]]],[[[91.150781,22.175195],[91.044727,22.105176],[91.079492,22.519727],[91.158301,22.36543],[91.178223,22.283008],[91.150781,22.175195]]],[[[91.556738,22.382227],[91.510449,22.352783],[91.466895,22.378418],[91.411328,22.475684],[91.438867,22.598828],[91.456055,22.616504],[91.483984,22.576562],[91.523047,22.490723],[91.54834,22.425391],[91.556738,22.382227]]],[[[90.777637,22.089307],[90.603613,22.054199],[90.515039,22.065137],[90.680469,22.32749],[90.674902,22.444971],[90.649219,22.540674],[90.564941,22.617627],[90.560352,22.672559],[90.522559,22.74751],[90.50293,22.835352],[90.596484,22.863525],[90.672266,22.813184],[90.683008,22.785303],[90.699219,22.713525],[90.736914,22.638721],[90.868164,22.484863],[90.86582,22.390576],[90.829883,22.159961],[90.777637,22.089307]]],[[[91.873828,21.832129],[91.837598,21.750244],[91.819727,21.809814],[91.835156,21.885352],[91.850684,21.927051],[91.861328,21.92666],[91.88252,21.883643],[91.873828,21.832129]]],[[[91.949219,21.508057],[91.888867,21.50332],[91.859473,21.532959],[91.873242,21.574414],[91.857031,21.708789],[91.907715,21.722949],[91.933984,21.722168],[91.948633,21.682568],[91.961914,21.609766],[91.949219,21.508057]]],[[[90.641797,22.962988],[90.65957,22.92002],[90.603906,22.945557],[90.562305,22.975439],[90.536328,23.014893],[90.579883,23.035449],[90.641797,22.962988]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":4,"SOVEREIGNT":"Bahrain","SOV_A3":"BHR","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Bahrain","ADM0_A3":"BHR","GEOU_DIF":0,"GEOUNIT":"Bahrain","GU_A3":"BHR","SU_DIF":0,"SUBUNIT":"Bahrain","SU_A3":"BHR","BRK_DIFF":0,"NAME":"Bahrain","NAME_LONG":"Bahrain","BRK_A3":"BHR","BRK_NAME":"Bahrain","BRK_GROUP":null,"ABBREV":"Bahr.","POSTAL":"BH","FORMAL_EN":"Kingdom of Bahrain","FORMAL_FR":null,"NAME_CIAWF":"Bahrain","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Bahrain","NAME_ALT":null,"MAPCOLOR7":1,"MAPCOLOR8":1,"MAPCOLOR9":1,"MAPCOLOR13":9,"POP_EST":1641172,"POP_RANK":12,"POP_YEAR":2019,"GDP_MD":38574,"GDP_YEAR":2019,"ECONOMY":"6. Developing region","INCOME_GRP":"2. High income: nonOECD","FIPS_10":"BA","ISO_A2":"BH","ISO_A2_EH":"BH","ISO_A3":"BHR","ISO_A3_EH":"BHR","ISO_N3":"048","ISO_N3_EH":"048","UN_A3":"048","WB_A2":"BH","WB_A3":"BHR","WOE_ID":23424753,"WOE_ID_EH":23424753,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"BHR","ADM0_DIFF":null,"ADM0_TLC":"BHR","ADM0_A3_US":"BHR","ADM0_A3_FR":"BHR","ADM0_A3_RU":"BHR","ADM0_A3_ES":"BHR","ADM0_A3_CN":"BHR","ADM0_A3_TW":"BHR","ADM0_A3_IN":"BHR","ADM0_A3_NP":"BHR","ADM0_A3_PK":"BHR","ADM0_A3_DE":"BHR","ADM0_A3_GB":"BHR","ADM0_A3_BR":"BHR","ADM0_A3_IL":"BHR","ADM0_A3_PS":"BHR","ADM0_A3_SA":"BHR","ADM0_A3_EG":"BHR","ADM0_A3_MA":"BHR","ADM0_A3_PT":"BHR","ADM0_A3_AR":"BHR","ADM0_A3_JP":"BHR","ADM0_A3_KO":"BHR","ADM0_A3_VN":"BHR","ADM0_A3_TR":"BHR","ADM0_A3_ID":"BHR","ADM0_A3_PL":"BHR","ADM0_A3_GR":"BHR","ADM0_A3_IT":"BHR","ADM0_A3_NL":"BHR","ADM0_A3_SE":"BHR","ADM0_A3_BD":"BHR","ADM0_A3_UA":"BHR","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Asia","REGION_UN":"Asia","SUBREGION":"Western Asia","REGION_WB":"Middle East & North Africa","NAME_LEN":7,"LONG_LEN":7,"ABBREV_LEN":5,"TINY":2,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":4,"MAX_LABEL":9,"LABEL_X":50.554816,"LABEL_Y":26.055972,"NE_ID":1159320413,"WIKIDATAID":"Q398","NAME_AR":"البحرين","NAME_BN":"বাহরাইন","NAME_DE":"Bahrain","NAME_EN":"Bahrain","NAME_ES":"Baréin","NAME_FA":"بحرین","NAME_FR":"Bahreïn","NAME_EL":"Μπαχρέιν","NAME_HE":"בחריין","NAME_HI":"बहरीन","NAME_HU":"Bahrein","NAME_ID":"Bahrain","NAME_IT":"Bahrein","NAME_JA":"バーレーン","NAME_KO":"바레인","NAME_NL":"Bahrein","NAME_PL":"Bahrajn","NAME_PT":"Bahrein","NAME_RU":"Бахрейн","NAME_SV":"Bahrain","NAME_TR":"Bahreyn","NAME_UK":"Бахрейн","NAME_UR":"بحرین","NAME_VI":"Bahrain","NAME_ZH":"巴林","NAME_ZHT":"巴林","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[50.452441,25.806787,50.61748,26.246436],"geometry":{"type":"Polygon","coordinates":[[[50.607227,25.883105],[50.574902,25.806787],[50.544043,25.833496],[50.465918,25.965527],[50.489453,26.058447],[50.452441,26.19082],[50.469922,26.228955],[50.564063,26.246436],[50.585938,26.240723],[50.557813,26.198291],[50.609766,26.124463],[50.61748,26.002344],[50.607227,25.883105]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":4,"SOVEREIGNT":"The Bahamas","SOV_A3":"BHS","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"The Bahamas","ADM0_A3":"BHS","GEOU_DIF":0,"GEOUNIT":"The Bahamas","GU_A3":"BHS","SU_DIF":0,"SUBUNIT":"The Bahamas","SU_A3":"BHS","BRK_DIFF":0,"NAME":"Bahamas","NAME_LONG":"Bahamas","BRK_A3":"BHS","BRK_NAME":"Bahamas","BRK_GROUP":null,"ABBREV":"Bhs.","POSTAL":"BS","FORMAL_EN":"Commonwealth of the Bahamas","FORMAL_FR":null,"NAME_CIAWF":"Bahamas, The","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Bahamas, The","NAME_ALT":null,"MAPCOLOR7":1,"MAPCOLOR8":1,"MAPCOLOR9":2,"MAPCOLOR13":5,"POP_EST":389482,"POP_RANK":10,"POP_YEAR":2019,"GDP_MD":13578,"GDP_YEAR":2019,"ECONOMY":"6. Developing region","INCOME_GRP":"2. High income: nonOECD","FIPS_10":"BF","ISO_A2":"BS","ISO_A2_EH":"BS","ISO_A3":"BHS","ISO_A3_EH":"BHS","ISO_N3":"044","ISO_N3_EH":"044","UN_A3":"044","WB_A2":"BS","WB_A3":"BHS","WOE_ID":23424758,"WOE_ID_EH":23424758,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"BHS","ADM0_DIFF":null,"ADM0_TLC":"BHS","ADM0_A3_US":"BHS","ADM0_A3_FR":"BHS","ADM0_A3_RU":"BHS","ADM0_A3_ES":"BHS","ADM0_A3_CN":"BHS","ADM0_A3_TW":"BHS","ADM0_A3_IN":"BHS","ADM0_A3_NP":"BHS","ADM0_A3_PK":"BHS","ADM0_A3_DE":"BHS","ADM0_A3_GB":"BHS","ADM0_A3_BR":"BHS","ADM0_A3_IL":"BHS","ADM0_A3_PS":"BHS","ADM0_A3_SA":"BHS","ADM0_A3_EG":"BHS","ADM0_A3_MA":"BHS","ADM0_A3_PT":"BHS","ADM0_A3_AR":"BHS","ADM0_A3_JP":"BHS","ADM0_A3_KO":"BHS","ADM0_A3_VN":"BHS","ADM0_A3_TR":"BHS","ADM0_A3_ID":"BHS","ADM0_A3_PL":"BHS","ADM0_A3_GR":"BHS","ADM0_A3_IT":"BHS","ADM0_A3_NL":"BHS","ADM0_A3_SE":"BHS","ADM0_A3_BD":"BHS","ADM0_A3_UA":"BHS","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"North America","REGION_UN":"Americas","SUBREGION":"Caribbean","REGION_WB":"Latin America & Caribbean","NAME_LEN":7,"LONG_LEN":7,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":4,"MAX_LABEL":9,"LABEL_X":-77.146688,"LABEL_Y":26.401789,"NE_ID":1159320415,"WIKIDATAID":"Q778","NAME_AR":"باهاماس","NAME_BN":"বাহামা দ্বীপপুঞ্জ","NAME_DE":"Bahamas","NAME_EN":"The Bahamas","NAME_ES":"Bahamas","NAME_FA":"باهاما","NAME_FR":"Bahamas","NAME_EL":"Μπαχάμες","NAME_HE":"איי בהאמה","NAME_HI":"बहामास","NAME_HU":"Bahama-szigetek","NAME_ID":"Bahama","NAME_IT":"Bahamas","NAME_JA":"バハマ","NAME_KO":"바하마","NAME_NL":"Bahama's","NAME_PL":"Bahamy","NAME_PT":"Bahamas","NAME_RU":"Багамские Острова","NAME_SV":"Bahamas","NAME_TR":"Bahamalar","NAME_UK":"Багамські Острови","NAME_UR":"بہاماس","NAME_VI":"Bahamas","NAME_ZH":"巴哈马","NAME_ZHT":"巴哈馬","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[-78.985645,20.937402,-72.747266,26.940088],"geometry":{"type":"MultiPolygon","coordinates":[[[[-77.657715,24.249463],[-77.656152,24.226562],[-77.755273,24.163477],[-77.683252,24.118457],[-77.615381,24.216357],[-77.561523,24.136816],[-77.532031,23.987646],[-77.536816,23.96167],[-77.531885,23.939404],[-77.521338,23.91084],[-77.51875,23.869434],[-77.57373,23.73916],[-77.771289,23.752539],[-77.775781,23.862354],[-77.806299,23.883545],[-77.852246,24.040381],[-77.914062,24.090918],[-77.999902,24.219824],[-77.950049,24.253076],[-77.883594,24.241992],[-77.849561,24.25752],[-77.757422,24.269922],[-77.701465,24.287549],[-77.657715,24.249463]]],[[[-77.225635,25.904199],[-77.246436,25.895459],[-77.333252,25.995605],[-77.403174,26.024707],[-77.293945,26.095508],[-77.246777,26.156348],[-77.247754,26.289062],[-77.221094,26.361768],[-77.230127,26.424707],[-77.206055,26.488965],[-77.238623,26.561133],[-77.329932,26.618359],[-77.510596,26.845996],[-77.795996,26.90127],[-77.94375,26.903564],[-77.862549,26.940088],[-77.787549,26.935645],[-77.672119,26.913916],[-77.533887,26.903418],[-77.449414,26.836426],[-77.36875,26.747607],[-77.295898,26.71167],[-77.265918,26.688818],[-77.269287,26.663037],[-77.257178,26.638818],[-77.162109,26.597266],[-77.066357,26.530176],[-77.038281,26.333447],[-77.167285,26.240332],[-77.191016,25.955469],[-77.225635,25.904199]]],[[[-73.026855,21.192383],[-73.05874,21.119043],[-73.164551,20.97915],[-73.400781,20.943896],[-73.661035,20.937402],[-73.681152,20.975586],[-73.686816,21.009131],[-73.667822,21.061572],[-73.66958,21.082227],[-73.680371,21.10332],[-73.585059,21.125928],[-73.523096,21.19082],[-73.424512,21.201758],[-73.301562,21.156152],[-73.235352,21.154492],[-73.137305,21.204785],[-73.058496,21.313379],[-73.01167,21.299512],[-73.026855,21.192383]]],[[[-77.743848,24.707422],[-77.746045,24.586328],[-77.735107,24.495752],[-77.745215,24.463477],[-77.853418,24.40293],[-77.881201,24.369092],[-77.983203,24.334961],[-78.044922,24.287451],[-78.07583,24.364648],[-78.135742,24.412354],[-78.145801,24.493457],[-78.191602,24.466064],[-78.257617,24.482764],[-78.366504,24.544189],[-78.435303,24.627588],[-78.338916,24.642041],[-78.318994,24.590234],[-78.242725,24.653809],[-78.260059,24.687305],[-78.273828,24.691602],[-78.298828,24.753906],[-78.184082,24.91709],[-78.159326,25.022363],[-78.211377,25.19126],[-78.162793,25.202344],[-78.033301,25.143115],[-77.975293,25.084814],[-77.973389,25.004785],[-77.918945,24.942822],[-77.840137,24.794385],[-77.743848,24.707422]]],[[[-78.492871,26.729053],[-78.371729,26.697949],[-78.306836,26.702197],[-78.26792,26.722656],[-78.088672,26.714307],[-77.943945,26.744238],[-77.922461,26.691113],[-77.926123,26.663379],[-78.233887,26.637354],[-78.516211,26.559375],[-78.670947,26.506543],[-78.743652,26.500684],[-78.799219,26.528467],[-78.985645,26.689502],[-78.935791,26.673437],[-78.798047,26.582422],[-78.7125,26.599023],[-78.633252,26.65918],[-78.621143,26.704639],[-78.632959,26.726172],[-78.597119,26.797949],[-78.492871,26.729053]]],[[[-77.347559,25.013867],[-77.460498,24.993115],[-77.541211,25.013574],[-77.561914,25.030029],[-77.527344,25.057666],[-77.45127,25.080713],[-77.329102,25.083008],[-77.275586,25.055762],[-77.269141,25.043848],[-77.347559,25.013867]]],[[[-74.05752,22.723486],[-74.034766,22.705566],[-74.098584,22.66543],[-74.242236,22.715088],[-74.274609,22.71167],[-74.303125,22.764453],[-74.313965,22.803564],[-74.307031,22.8396],[-74.221484,22.811572],[-74.175391,22.759912],[-74.05752,22.723486]]],[[[-74.429443,24.068066],[-74.508691,23.959717],[-74.550928,23.968945],[-74.526904,24.105078],[-74.472021,24.12666],[-74.450488,24.125488],[-74.429443,24.068066]]],[[[-74.206738,22.21377],[-74.276904,22.183691],[-74.261328,22.235547],[-74.126758,22.323389],[-74.052344,22.400635],[-74.010059,22.427979],[-73.994971,22.449219],[-73.935986,22.477734],[-73.906396,22.527441],[-73.914551,22.568018],[-73.976367,22.635059],[-73.975488,22.682275],[-73.954199,22.715527],[-73.849951,22.731055],[-73.87749,22.680762],[-73.836523,22.538428],[-73.974609,22.361182],[-74.09292,22.30625],[-74.206738,22.21377]]],[[[-76.648828,25.487402],[-76.484229,25.374609],[-76.343799,25.332031],[-76.191992,25.19082],[-76.126611,25.140527],[-76.114941,25.094727],[-76.140527,24.885645],[-76.174658,24.759766],[-76.169531,24.649414],[-76.205176,24.68208],[-76.241211,24.754346],[-76.300293,24.795898],[-76.319971,24.817676],[-76.21377,24.822461],[-76.204346,24.93623],[-76.152539,25.025977],[-76.1604,25.119336],[-76.284326,25.222119],[-76.369287,25.312598],[-76.499902,25.341553],[-76.620703,25.431641],[-76.692773,25.442725],[-76.780664,25.426855],[-76.748926,25.480566],[-76.726953,25.551611],[-76.71084,25.564893],[-76.648828,25.487402]]],[[[-75.664551,23.450146],[-75.706348,23.444238],[-75.781006,23.470654],[-75.955957,23.592285],[-76.037109,23.602783],[-76.010449,23.671387],[-75.948633,23.647412],[-75.80752,23.542529],[-75.754248,23.48999],[-75.664551,23.450146]]],[[[-74.840479,22.894336],[-74.846875,22.868701],[-74.97334,23.068555],[-75.132129,23.11709],[-75.22334,23.165332],[-75.204395,23.192725],[-75.141113,23.204639],[-75.130566,23.26792],[-75.157568,23.336377],[-75.24126,23.474609],[-75.288232,23.568262],[-75.309814,23.589844],[-75.315967,23.668359],[-75.216602,23.546777],[-75.175293,23.438672],[-75.108789,23.332813],[-75.064209,23.150195],[-74.937109,23.088135],[-74.845605,22.999902],[-74.840479,22.894336]]],[[[-75.308398,24.2],[-75.301758,24.14917],[-75.36875,24.159473],[-75.467627,24.1396],[-75.503223,24.139062],[-75.481055,24.173877],[-75.412402,24.220947],[-75.408936,24.265771],[-75.493896,24.33042],[-75.592773,24.49126],[-75.639062,24.529395],[-75.661035,24.589844],[-75.743994,24.654687],[-75.72666,24.689355],[-75.709619,24.69751],[-75.653516,24.680859],[-75.526465,24.449512],[-75.518164,24.427344],[-75.308398,24.2]]],[[[-73.041016,22.429053],[-72.978955,22.4146],[-72.945215,22.415625],[-72.830762,22.385596],[-72.762598,22.344385],[-72.747266,22.327393],[-72.783887,22.290625],[-72.88916,22.360254],[-72.981055,22.369238],[-73.110205,22.367578],[-73.161914,22.380713],[-73.127393,22.455322],[-73.041016,22.429053]]],[[[-72.916113,21.506689],[-73.049316,21.457617],[-73.062695,21.515332],[-72.994775,21.561621],[-72.916113,21.506689]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":5,"SOVEREIGNT":"Azerbaijan","SOV_A3":"AZE","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Azerbaijan","ADM0_A3":"AZE","GEOU_DIF":0,"GEOUNIT":"Azerbaijan","GU_A3":"AZE","SU_DIF":0,"SUBUNIT":"Azerbaijan","SU_A3":"AZE","BRK_DIFF":0,"NAME":"Azerbaijan","NAME_LONG":"Azerbaijan","BRK_A3":"AZE","BRK_NAME":"Azerbaijan","BRK_GROUP":null,"ABBREV":"Aze.","POSTAL":"AZ","FORMAL_EN":"Republic of Azerbaijan","FORMAL_FR":null,"NAME_CIAWF":"Azerbaijan","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Azerbaijan","NAME_ALT":null,"MAPCOLOR7":1,"MAPCOLOR8":6,"MAPCOLOR9":5,"MAPCOLOR13":8,"POP_EST":10023318,"POP_RANK":14,"POP_YEAR":2019,"GDP_MD":48047,"GDP_YEAR":2019,"ECONOMY":"6. Developing region","INCOME_GRP":"3. Upper middle income","FIPS_10":"AJ","ISO_A2":"AZ","ISO_A2_EH":"AZ","ISO_A3":"AZE","ISO_A3_EH":"AZE","ISO_N3":"031","ISO_N3_EH":"031","UN_A3":"031","WB_A2":"AZ","WB_A3":"AZE","WOE_ID":23424741,"WOE_ID_EH":23424741,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"AZE","ADM0_DIFF":null,"ADM0_TLC":"AZE","ADM0_A3_US":"AZE","ADM0_A3_FR":"AZE","ADM0_A3_RU":"AZE","ADM0_A3_ES":"AZE","ADM0_A3_CN":"AZE","ADM0_A3_TW":"AZE","ADM0_A3_IN":"AZE","ADM0_A3_NP":"AZE","ADM0_A3_PK":"AZE","ADM0_A3_DE":"AZE","ADM0_A3_GB":"AZE","ADM0_A3_BR":"AZE","ADM0_A3_IL":"AZE","ADM0_A3_PS":"AZE","ADM0_A3_SA":"AZE","ADM0_A3_EG":"AZE","ADM0_A3_MA":"AZE","ADM0_A3_PT":"AZE","ADM0_A3_AR":"AZE","ADM0_A3_JP":"AZE","ADM0_A3_KO":"AZE","ADM0_A3_VN":"AZE","ADM0_A3_TR":"AZE","ADM0_A3_ID":"AZE","ADM0_A3_PL":"AZE","ADM0_A3_GR":"AZE","ADM0_A3_IT":"AZE","ADM0_A3_NL":"AZE","ADM0_A3_SE":"AZE","ADM0_A3_BD":"AZE","ADM0_A3_UA":"AZE","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Asia","REGION_UN":"Asia","SUBREGION":"Western Asia","REGION_WB":"Europe & Central Asia","NAME_LEN":10,"LONG_LEN":10,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":4,"MAX_LABEL":9,"LABEL_X":47.210994,"LABEL_Y":40.402387,"NE_ID":1159320381,"WIKIDATAID":"Q227","NAME_AR":"أذربيجان","NAME_BN":"আজারবাইজান","NAME_DE":"Aserbaidschan","NAME_EN":"Azerbaijan","NAME_ES":"Azerbaiyán","NAME_FA":"جمهوری آذربایجان","NAME_FR":"Azerbaïdjan","NAME_EL":"Αζερμπαϊτζάν","NAME_HE":"אזרבייג'ן","NAME_HI":"अज़रबैजान","NAME_HU":"Azerbajdzsán","NAME_ID":"Azerbaijan","NAME_IT":"Azerbaigian","NAME_JA":"アゼルバイジャン","NAME_KO":"아제르바이잔","NAME_NL":"Azerbeidzjan","NAME_PL":"Azerbejdżan","NAME_PT":"Azerbaijão","NAME_RU":"Азербайджан","NAME_SV":"Azerbajdzjan","NAME_TR":"Azerbaycan","NAME_UK":"Азербайджан","NAME_UR":"آذربائیجان","NAME_VI":"Azerbaijan","NAME_ZH":"阿塞拜疆","NAME_ZHT":"亞塞拜然","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[44.768262,38.39873,50.365918,41.890967],"geometry":{"type":"MultiPolygon","coordinates":[[[[44.817188,39.650439],[44.783398,39.684668],[44.768262,39.703516],[44.867188,39.719141],[45.031641,39.765137],[45.076465,39.742822],[45.124609,39.696338],[45.148633,39.656592],[45.152832,39.582666],[45.172559,39.570605],[45.252539,39.595459],[45.288281,39.565576],[45.349902,39.529883],[45.456836,39.494482],[45.610742,39.549805],[45.687402,39.564062],[45.750488,39.562939],[45.784473,39.545605],[45.796484,39.488135],[45.78418,39.417236],[45.766309,39.378467],[45.798633,39.350195],[45.925,39.281934],[45.977441,39.243896],[45.951855,39.178125],[46.045898,39.017529],[46.077441,38.954883],[46.114453,38.877783],[45.921875,38.90791],[45.575,38.972803],[45.479688,39.00625],[45.389258,39.095898],[45.335547,39.13916],[45.255957,39.194678],[45.190625,39.215625],[45.141211,39.254297],[45.113086,39.311572],[45.07168,39.362891],[45.000195,39.423535],[44.838184,39.629102],[44.817188,39.650439]]],[[[48.86875,38.435498],[48.840332,38.437256],[48.635547,38.39873],[48.592676,38.411084],[48.417383,38.58623],[48.38125,38.605615],[48.305566,38.613477],[48.261328,38.642285],[48.225195,38.689209],[48.204688,38.724121],[48.023242,38.819043],[47.996484,38.85376],[47.992676,38.884277],[48.019336,38.911816],[48.050098,38.93501],[48.138574,38.958643],[48.241992,38.978955],[48.275098,38.993604],[48.29209,39.018848],[48.291016,39.059277],[48.274121,39.099121],[48.125488,39.171631],[48.10918,39.202832],[48.104395,39.241113],[48.112891,39.281104],[48.136035,39.312354],[48.257227,39.35498],[48.322168,39.399072],[48.281738,39.44834],[48.151074,39.560547],[47.995898,39.683936],[47.892285,39.685059],[47.772852,39.648584],[47.581836,39.543359],[47.476172,39.49834],[47.338477,39.423877],[47.188379,39.340967],[47.06543,39.252881],[46.988867,39.180176],[46.852539,39.148438],[46.783203,39.087402],[46.554785,38.904395],[46.490625,38.906689],[46.486719,38.997461],[46.489844,39.069434],[46.475391,39.110889],[46.401465,39.167676],[46.400293,39.192187],[46.420313,39.207373],[46.477148,39.198193],[46.55,39.201416],[46.584766,39.223682],[46.506641,39.298535],[46.437305,39.348535],[46.378418,39.382275],[46.365234,39.40249],[46.365137,39.416797],[46.377637,39.433887],[46.478125,39.475098],[46.488086,39.512842],[46.481445,39.555176],[46.32168,39.617432],[46.202051,39.594482],[46.094824,39.664453],[46.025879,39.718555],[45.939941,39.776562],[45.863184,39.80835],[45.789648,39.881104],[45.661816,39.956201],[45.579785,39.977539],[45.580957,39.989014],[45.595996,40.002832],[45.630176,40.014209],[45.858105,40.011279],[45.885938,40.024854],[45.900098,40.05708],[45.93125,40.104687],[45.967578,40.174805],[45.964648,40.233789],[45.735742,40.329102],[45.569531,40.416846],[45.454395,40.532373],[45.376172,40.638086],[45.378906,40.673584],[45.401367,40.707129],[45.579395,40.804492],[45.591406,40.829736],[45.5875,40.846924],[45.524023,40.896729],[45.444238,40.947998],[45.419141,40.985693],[45.368945,41.004883],[45.273438,41.00625],[45.106055,41.069336],[45.070508,41.075586],[45.062598,41.088135],[45.070703,41.10083],[45.190234,41.126367],[45.188574,41.147412],[45.152344,41.175146],[45.084766,41.195459],[45.022949,41.245703],[45.001367,41.290967],[45.217188,41.423193],[45.280957,41.449561],[45.422266,41.425293],[45.715625,41.337646],[45.695703,41.289014],[45.725488,41.261621],[45.792773,41.224414],[45.921973,41.186719],[46.03125,41.167285],[46.086523,41.183838],[46.170703,41.197852],[46.27998,41.154443],[46.380762,41.099316],[46.430957,41.077051],[46.45791,41.070215],[46.534375,41.088574],[46.626367,41.159668],[46.662402,41.245508],[46.672559,41.286816],[46.618945,41.34375],[46.508789,41.405566],[46.384961,41.459863],[46.305469,41.507715],[46.254688,41.602148],[46.203516,41.612598],[46.190527,41.624854],[46.182129,41.65708],[46.184277,41.702148],[46.201855,41.736865],[46.251855,41.751758],[46.302539,41.75708],[46.348242,41.790186],[46.405469,41.855078],[46.429883,41.890967],[46.537695,41.87041],[46.552148,41.812305],[46.571289,41.800098],[46.616016,41.806934],[46.690332,41.831348],[46.749316,41.812598],[46.825586,41.743408],[46.930859,41.67041],[46.987793,41.621387],[47.010156,41.5875],[47.063965,41.554688],[47.142578,41.516064],[47.205273,41.455615],[47.261133,41.315088],[47.317676,41.282422],[47.520605,41.229053],[47.591797,41.218115],[47.791016,41.199268],[47.861133,41.212744],[47.963672,41.333984],[48.056055,41.458691],[48.142285,41.484766],[48.298145,41.54502],[48.391406,41.601904],[48.430664,41.66333],[48.518652,41.779346],[48.572852,41.844482],[48.664648,41.786621],[48.823926,41.62959],[49.050879,41.373975],[49.106641,41.301709],[49.143262,41.217773],[49.174707,41.116113],[49.226465,41.026221],[49.456738,40.799854],[49.556152,40.716309],[49.718359,40.608105],[49.775977,40.583984],[49.851758,40.577197],[49.990625,40.576807],[50.119141,40.534521],[50.18252,40.504785],[50.248047,40.461768],[50.306836,40.412207],[50.365918,40.279492],[50.143164,40.323242],[49.918848,40.316406],[49.791992,40.287891],[49.669043,40.249023],[49.551172,40.194141],[49.477344,40.087256],[49.415137,39.839844],[49.324414,39.60835],[49.327539,39.501221],[49.367383,39.398389],[49.362793,39.349561],[49.321191,39.328906],[49.269336,39.285156],[49.199805,39.072656],[49.165332,39.030273],[49.120996,39.003906],[49.108691,39.029053],[49.111328,39.084717],[49.013477,39.133984],[48.961719,39.07876],[48.926172,38.961768],[48.854492,38.838818],[48.850879,38.815332],[48.86875,38.435498]],[[45.552344,40.616064],[45.562305,40.64917],[45.53418,40.664014],[45.504492,40.664844],[45.478809,40.64834],[45.478809,40.606982],[45.514355,40.599561],[45.552344,40.616064]]],[[[45.023633,41.027246],[45.002051,41.01582],[44.969043,41.027246],[44.958887,41.052637],[44.961426,41.079248],[44.994336,41.085596],[45.021094,41.077979],[45.028711,41.053857],[45.023633,41.027246]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":4,"SOVEREIGNT":"Austria","SOV_A3":"AUT","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Austria","ADM0_A3":"AUT","GEOU_DIF":0,"GEOUNIT":"Austria","GU_A3":"AUT","SU_DIF":0,"SUBUNIT":"Austria","SU_A3":"AUT","BRK_DIFF":0,"NAME":"Austria","NAME_LONG":"Austria","BRK_A3":"AUT","BRK_NAME":"Austria","BRK_GROUP":null,"ABBREV":"Aust.","POSTAL":"A","FORMAL_EN":"Republic of Austria","FORMAL_FR":null,"NAME_CIAWF":"Austria","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Austria","NAME_ALT":null,"MAPCOLOR7":3,"MAPCOLOR8":1,"MAPCOLOR9":3,"MAPCOLOR13":4,"POP_EST":8877067,"POP_RANK":13,"POP_YEAR":2019,"GDP_MD":445075,"GDP_YEAR":2019,"ECONOMY":"2. Developed region: nonG7","INCOME_GRP":"1. High income: OECD","FIPS_10":"AU","ISO_A2":"AT","ISO_A2_EH":"AT","ISO_A3":"AUT","ISO_A3_EH":"AUT","ISO_N3":"040","ISO_N3_EH":"040","UN_A3":"040","WB_A2":"AT","WB_A3":"AUT","WOE_ID":23424750,"WOE_ID_EH":23424750,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"AUT","ADM0_DIFF":null,"ADM0_TLC":"AUT","ADM0_A3_US":"AUT","ADM0_A3_FR":"AUT","ADM0_A3_RU":"AUT","ADM0_A3_ES":"AUT","ADM0_A3_CN":"AUT","ADM0_A3_TW":"AUT","ADM0_A3_IN":"AUT","ADM0_A3_NP":"AUT","ADM0_A3_PK":"AUT","ADM0_A3_DE":"AUT","ADM0_A3_GB":"AUT","ADM0_A3_BR":"AUT","ADM0_A3_IL":"AUT","ADM0_A3_PS":"AUT","ADM0_A3_SA":"AUT","ADM0_A3_EG":"AUT","ADM0_A3_MA":"AUT","ADM0_A3_PT":"AUT","ADM0_A3_AR":"AUT","ADM0_A3_JP":"AUT","ADM0_A3_KO":"AUT","ADM0_A3_VN":"AUT","ADM0_A3_TR":"AUT","ADM0_A3_ID":"AUT","ADM0_A3_PL":"AUT","ADM0_A3_GR":"AUT","ADM0_A3_IT":"AUT","ADM0_A3_NL":"AUT","ADM0_A3_SE":"AUT","ADM0_A3_BD":"AUT","ADM0_A3_UA":"AUT","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Europe","REGION_UN":"Europe","SUBREGION":"Western Europe","REGION_WB":"Europe & Central Asia","NAME_LEN":7,"LONG_LEN":7,"ABBREV_LEN":5,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":3,"MAX_LABEL":8,"LABEL_X":14.130515,"LABEL_Y":47.518859,"NE_ID":1159320379,"WIKIDATAID":"Q40","NAME_AR":"النمسا","NAME_BN":"অস্ট্রিয়া","NAME_DE":"Österreich","NAME_EN":"Austria","NAME_ES":"Austria","NAME_FA":"اتریش","NAME_FR":"Autriche","NAME_EL":"Αυστρία","NAME_HE":"אוסטריה","NAME_HI":"ऑस्ट्रिया","NAME_HU":"Ausztria","NAME_ID":"Austria","NAME_IT":"Austria","NAME_JA":"オーストリア","NAME_KO":"오스트리아","NAME_NL":"Oostenrijk","NAME_PL":"Austria","NAME_PT":"Áustria","NAME_RU":"Австрия","NAME_SV":"Österrike","NAME_TR":"Avusturya","NAME_UK":"Австрія","NAME_UR":"آسٹریا","NAME_VI":"Áo","NAME_ZH":"奥地利","NAME_ZHT":"奧地利","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[9.524023,46.399707,17.147363,49.001123],"geometry":{"type":"Polygon","coordinates":[[[9.527539,47.270752],[9.609082,47.391797],[9.625879,47.467041],[9.554395,47.511133],[9.524023,47.524219],[9.548926,47.534033],[9.650586,47.525879],[9.715137,47.550781],[9.748926,47.575537],[9.83916,47.552295],[9.971582,47.505322],[10.034082,47.473584],[10.059863,47.449072],[10.074219,47.428516],[10.066309,47.393359],[10.096484,47.37959],[10.158789,47.374268],[10.200293,47.363428],[10.185742,47.317187],[10.183008,47.278809],[10.240625,47.284131],[10.312793,47.313428],[10.369141,47.366064],[10.403906,47.416992],[10.430371,47.541064],[10.439453,47.551562],[10.482813,47.541797],[10.658691,47.547217],[10.741602,47.524121],[10.873047,47.520215],[10.870605,47.500781],[10.893945,47.470459],[10.952148,47.426709],[10.980859,47.398145],[11.041992,47.393115],[11.136035,47.408887],[11.191211,47.425195],[11.211914,47.413623],[11.297949,47.424902],[11.374121,47.460254],[11.392969,47.487158],[11.469922,47.506104],[11.573926,47.549756],[11.716797,47.583496],[12.185645,47.619531],[12.203809,47.646729],[12.196875,47.709082],[12.209277,47.718262],[12.268359,47.702734],[12.363184,47.688184],[12.435742,47.666113],[12.48291,47.637305],[12.526563,47.636133],[12.594238,47.656299],[12.68584,47.669336],[12.771387,47.639404],[12.796191,47.607031],[12.781152,47.59043],[12.782813,47.56416],[12.809375,47.542187],[12.878906,47.506445],[12.968066,47.475684],[13.014355,47.478076],[13.031543,47.508008],[13.047949,47.57915],[13.054102,47.655127],[13.033594,47.69873],[12.985547,47.709424],[12.928125,47.712842],[12.897656,47.721875],[12.908301,47.745801],[12.954199,47.807764],[12.953516,47.890625],[12.849902,47.984814],[12.760059,48.075977],[12.760352,48.106982],[12.814258,48.16084],[12.897461,48.203711],[13.082129,48.275098],[13.14043,48.289941],[13.215234,48.301904],[13.322852,48.33125],[13.374609,48.361377],[13.409375,48.394141],[13.459863,48.564551],[13.47168,48.571826],[13.486621,48.581836],[13.675195,48.523047],[13.692188,48.532764],[13.723926,48.542383],[13.785352,48.587451],[13.798828,48.62168],[13.797461,48.686426],[13.80293,48.74751],[13.814746,48.766943],[13.843164,48.759863],[13.924316,48.728027],[13.98877,48.692432],[14.049121,48.60249],[14.189844,48.578564],[14.367578,48.576221],[14.431055,48.61626],[14.488672,48.625537],[14.553906,48.61333],[14.691309,48.599219],[14.706641,48.671924],[14.785938,48.747363],[14.821875,48.774023],[14.922559,48.771387],[14.947363,48.827734],[14.972168,48.983936],[14.993457,49.001123],[15.066797,48.997852],[15.139746,48.969336],[15.161719,48.946289],[15.199609,48.948145],[15.252734,48.963867],[15.310938,48.974023],[15.40293,48.957373],[15.599414,48.886377],[15.700781,48.860449],[15.765039,48.86543],[15.825195,48.864453],[16.057227,48.754785],[16.219336,48.739404],[16.367285,48.738965],[16.414844,48.77207],[16.47793,48.800098],[16.543555,48.79624],[16.600977,48.781885],[16.712695,48.734229],[16.764453,48.722021],[16.833203,48.714307],[16.883691,48.703711],[16.92832,48.620898],[16.953125,48.598828],[16.948828,48.588574],[16.943359,48.550928],[16.904492,48.503516],[16.862695,48.441406],[16.86543,48.386914],[16.972656,48.198096],[17.067871,48.083252],[17.085938,48.039551],[17.147363,48.005957],[17.089063,47.963623],[17.077734,47.900879],[17.039941,47.872949],[17.030078,47.837109],[17.045898,47.804541],[17.045605,47.76377],[17.066602,47.707568],[16.973438,47.695312],[16.862695,47.697266],[16.823047,47.693994],[16.785938,47.678662],[16.747559,47.686279],[16.647461,47.739014],[16.590918,47.750537],[16.550977,47.747363],[16.521094,47.724463],[16.469629,47.695068],[16.421289,47.674463],[16.432129,47.656299],[16.639746,47.608887],[16.676563,47.536035],[16.636621,47.476611],[16.623047,47.447559],[16.574414,47.424658],[16.514746,47.404541],[16.442871,47.399512],[16.434375,47.367432],[16.462598,47.273145],[16.439746,47.252734],[16.416895,47.223437],[16.438379,47.145898],[16.482813,47.140381],[16.492676,47.122656],[16.484766,47.09126],[16.476953,47.057861],[16.46123,47.022461],[16.453418,47.006787],[16.423926,46.996973],[16.331836,47.002197],[16.252539,46.971924],[16.093066,46.863281],[16.037207,46.844824],[15.976855,46.801367],[15.980469,46.705859],[15.972266,46.697217],[15.957617,46.677637],[15.766895,46.711279],[15.760254,46.710742],[15.632617,46.698437],[15.545313,46.654639],[15.439258,46.629639],[15.216992,46.642969],[15.000684,46.625977],[14.949414,46.613232],[14.893262,46.605908],[14.840625,46.580469],[14.810547,46.54458],[14.756738,46.499121],[14.680176,46.463428],[14.596973,46.436084],[14.577148,46.412939],[14.549805,46.399707],[14.503516,46.417041],[14.465918,46.416113],[14.419922,46.42793],[14.267285,46.440723],[14.099512,46.461914],[14.019629,46.482178],[13.928809,46.498193],[13.831348,46.51123],[13.743945,46.514307],[13.7,46.520264],[13.490039,46.555566],[13.351562,46.55791],[13.16875,46.572656],[12.805566,46.625879],[12.699805,46.647461],[12.598633,46.654102],[12.479199,46.67251],[12.388281,46.702637],[12.330078,46.759814],[12.267969,46.835889],[12.154102,46.935254],[12.130762,46.984766],[12.165527,47.028174],[12.20127,47.060889],[12.197168,47.075],[12.169434,47.082129],[11.969531,47.039697],[11.775684,46.986084],[11.699414,46.984668],[11.625488,46.996582],[11.527539,46.997412],[11.433203,46.983057],[11.244434,46.975684],[11.133887,46.936182],[11.063477,46.859131],[11.025098,46.796973],[10.993262,46.777002],[10.927344,46.769482],[10.828906,46.775244],[10.759766,46.793311],[10.689258,46.846387],[10.579785,46.853711],[10.479395,46.855127],[10.452832,46.864941],[10.45459,46.899414],[10.414941,46.964404],[10.349414,46.984766],[10.179785,46.862354],[10.133496,46.851514],[9.996875,46.885352],[9.877734,46.937695],[9.864648,46.975977],[9.845313,47.007373],[9.74502,47.037109],[9.619922,47.057471],[9.580273,47.057373],[9.595703,47.07583],[9.610547,47.107129],[9.601172,47.13208],[9.571875,47.15791],[9.555762,47.185498],[9.551074,47.212256],[9.542188,47.234131],[9.536816,47.254639],[9.527539,47.270752]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":2,"SOVEREIGNT":"Australia","SOV_A3":"AU1","ADM0_DIF":1,"LEVEL":2,"TYPE":"Country","TLC":"1","ADMIN":"Australia","ADM0_A3":"AUS","GEOU_DIF":0,"GEOUNIT":"Australia","GU_A3":"AUS","SU_DIF":0,"SUBUNIT":"Australia","SU_A3":"AUS","BRK_DIFF":0,"NAME":"Australia","NAME_LONG":"Australia","BRK_A3":"AUS","BRK_NAME":"Australia","BRK_GROUP":null,"ABBREV":"Auz.","POSTAL":"AU","FORMAL_EN":"Commonwealth of Australia","FORMAL_FR":null,"NAME_CIAWF":"Australia","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Australia","NAME_ALT":null,"MAPCOLOR7":1,"MAPCOLOR8":2,"MAPCOLOR9":2,"MAPCOLOR13":7,"POP_EST":25364307,"POP_RANK":15,"POP_YEAR":2019,"GDP_MD":1396567,"GDP_YEAR":2019,"ECONOMY":"2. Developed region: nonG7","INCOME_GRP":"1. High income: OECD","FIPS_10":"AS","ISO_A2":"AU","ISO_A2_EH":"AU","ISO_A3":"AUS","ISO_A3_EH":"AUS","ISO_N3":"036","ISO_N3_EH":"036","UN_A3":"036","WB_A2":"AU","WB_A3":"AUS","WOE_ID":-90,"WOE_ID_EH":23424748,"WOE_NOTE":"Includes Ashmore and Cartier Islands (23424749) and Coral Sea Islands (23424790).","ADM0_ISO":"AUS","ADM0_DIFF":null,"ADM0_TLC":"AUS","ADM0_A3_US":"AUS","ADM0_A3_FR":"AUS","ADM0_A3_RU":"AUS","ADM0_A3_ES":"AUS","ADM0_A3_CN":"AUS","ADM0_A3_TW":"AUS","ADM0_A3_IN":"AUS","ADM0_A3_NP":"AUS","ADM0_A3_PK":"AUS","ADM0_A3_DE":"AUS","ADM0_A3_GB":"AUS","ADM0_A3_BR":"AUS","ADM0_A3_IL":"AUS","ADM0_A3_PS":"AUS","ADM0_A3_SA":"AUS","ADM0_A3_EG":"AUS","ADM0_A3_MA":"AUS","ADM0_A3_PT":"AUS","ADM0_A3_AR":"AUS","ADM0_A3_JP":"AUS","ADM0_A3_KO":"AUS","ADM0_A3_VN":"AUS","ADM0_A3_TR":"AUS","ADM0_A3_ID":"AUS","ADM0_A3_PL":"AUS","ADM0_A3_GR":"AUS","ADM0_A3_IT":"AUS","ADM0_A3_NL":"AUS","ADM0_A3_SE":"AUS","ADM0_A3_BD":"AUS","ADM0_A3_UA":"AUS","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Oceania","REGION_UN":"Oceania","SUBREGION":"Australia and New Zealand","REGION_WB":"East Asia & Pacific","NAME_LEN":9,"LONG_LEN":9,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":1.7,"MAX_LABEL":5.7,"LABEL_X":134.04972,"LABEL_Y":-24.129522,"NE_ID":1159320355,"WIKIDATAID":"Q408","NAME_AR":"أستراليا","NAME_BN":"অস্ট্রেলিয়া","NAME_DE":"Australien","NAME_EN":"Australia","NAME_ES":"Australia","NAME_FA":"استرالیا","NAME_FR":"Australie","NAME_EL":"Αυστραλία","NAME_HE":"אוסטרליה","NAME_HI":"ऑस्ट्रेलिया","NAME_HU":"Ausztrália","NAME_ID":"Australia","NAME_IT":"Australia","NAME_JA":"オーストラリア","NAME_KO":"오스트레일리아","NAME_NL":"Australië","NAME_PL":"Australia","NAME_PT":"Austrália","NAME_RU":"Австралия","NAME_SV":"Australien","NAME_TR":"Avustralya","NAME_UK":"Австралія","NAME_UR":"آسٹریلیا","NAME_VI":"Úc","NAME_ZH":"澳大利亚","NAME_ZHT":"澳大利亞","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[112.908203,-54.749219,158.958887,-10.051758],"geometry":{"type":"MultiPolygon","coordinates":[[[[143.178906,-11.954492],[143.15293,-12.075879],[143.104688,-12.169629],[143.099023,-12.225977],[143.110254,-12.303516],[143.190625,-12.36123],[143.254102,-12.397656],[143.289648,-12.498828],[143.401563,-12.639941],[143.397559,-12.736133],[143.457715,-12.855762],[143.512012,-13.094531],[143.529492,-13.303809],[143.586621,-13.443652],[143.548438,-13.741016],[143.589258,-13.862793],[143.643359,-13.963672],[143.707227,-14.164551],[143.756348,-14.348828],[143.822363,-14.401074],[143.961816,-14.462891],[144.105859,-14.394531],[144.209863,-14.301953],[144.32168,-14.279395],[144.473047,-14.231836],[144.586426,-14.354688],[144.648047,-14.49248],[144.915723,-14.674316],[145.064453,-14.791016],[145.17998,-14.856934],[145.287695,-14.943164],[145.276953,-15.029395],[145.25166,-15.097461],[145.276172,-15.203906],[145.293066,-15.327246],[145.271582,-15.47666],[145.349512,-15.701563],[145.375391,-15.881055],[145.458008,-16.056445],[145.451855,-16.236914],[145.436426,-16.30498],[145.426074,-16.406152],[145.49043,-16.532129],[145.549902,-16.625098],[145.638281,-16.726074],[145.754785,-16.879492],[145.837891,-16.910352],[145.912109,-16.9125],[145.901953,-17.070215],[146.049805,-17.381055],[146.125879,-17.635254],[146.074023,-17.977344],[146.022852,-18.175781],[146.032227,-18.272852],[146.223047,-18.509863],[146.333203,-18.553711],[146.311719,-18.666699],[146.296875,-18.841211],[146.383398,-18.977051],[146.481152,-19.078711],[146.587305,-19.139453],[146.691992,-19.187402],[146.829004,-19.235742],[147.002637,-19.256055],[147.092773,-19.332617],[147.13877,-19.393164],[147.278125,-19.41416],[147.341504,-19.40293],[147.418555,-19.378125],[147.470898,-19.419336],[147.509766,-19.474121],[147.586035,-19.622754],[147.742383,-19.770117],[147.853223,-19.794727],[147.915625,-19.869238],[148.004492,-19.889551],[148.081055,-19.898633],[148.189648,-19.955859],[148.366895,-20.0875],[148.526758,-20.108887],[148.600488,-20.145215],[148.759375,-20.289551],[148.820996,-20.366406],[148.884766,-20.480859],[148.805078,-20.491699],[148.72998,-20.467773],[148.683691,-20.580176],[148.789453,-20.735645],[148.912402,-20.845215],[149.060547,-20.961133],[149.204883,-21.125098],[149.241406,-21.250195],[149.280273,-21.299512],[149.329297,-21.476074],[149.454102,-21.578711],[149.460059,-21.76543],[149.524023,-22.023633],[149.595703,-22.257617],[149.645313,-22.32832],[149.703906,-22.440527],[149.771582,-22.42627],[149.822461,-22.389844],[149.920313,-22.501367],[149.974414,-22.550684],[150.005566,-22.521582],[149.941895,-22.308105],[149.98125,-22.184277],[150.020605,-22.168359],[150.076172,-22.164453],[150.142969,-22.26543],[150.234863,-22.372949],[150.405078,-22.468945],[150.541309,-22.559082],[150.57959,-22.555762],[150.564355,-22.486133],[150.568555,-22.383984],[150.622852,-22.367285],[150.672461,-22.418164],[150.763867,-22.576172],[150.782813,-22.90293],[150.783008,-23.176563],[150.843164,-23.458008],[150.931055,-23.531934],[150.98877,-23.601758],[151.087695,-23.696094],[151.153809,-23.784082],[151.236328,-23.825],[151.500781,-24.012402],[151.575391,-24.033594],[151.690918,-24.038379],[151.831641,-24.122949],[151.902734,-24.200977],[152.055371,-24.494434],[152.129883,-24.597559],[152.282031,-24.699316],[152.353125,-24.73252],[152.456348,-24.802441],[152.493164,-24.904004],[152.502051,-24.963965],[152.563281,-25.07207],[152.654297,-25.201953],[152.78916,-25.274121],[152.913477,-25.432129],[152.920508,-25.688574],[152.984961,-25.816211],[153.028223,-25.870313],[153.125488,-25.922656],[153.164941,-25.96416],[153.08418,-26.303809],[153.162109,-26.982715],[153.116797,-27.194434],[153.197949,-27.404688],[153.385742,-27.768555],[153.428418,-27.897656],[153.454883,-28.04834],[153.575684,-28.240527],[153.569141,-28.533398],[153.616895,-28.673047],[153.60459,-28.854492],[153.462207,-29.050195],[153.348047,-29.29043],[153.346973,-29.496582],[153.272363,-29.89248],[153.223828,-29.998633],[153.188184,-30.163867],[153.030566,-30.563379],[153.02373,-30.720117],[153.047852,-30.907129],[153.021582,-31.086621],[152.982227,-31.208789],[152.943945,-31.434863],[152.78584,-31.786328],[152.559277,-32.045703],[152.545313,-32.243066],[152.516602,-32.330176],[152.47041,-32.439063],[152.33125,-32.55752],[152.247461,-32.608691],[152.215723,-32.678125],[152.136523,-32.678125],[152.13457,-32.699902],[152.188086,-32.72168],[152.164258,-32.757422],[151.954297,-32.820312],[151.812891,-32.901074],[151.668359,-33.098633],[151.607715,-33.201855],[151.530078,-33.300977],[151.483789,-33.347461],[151.463379,-33.397363],[151.432031,-33.521582],[151.35752,-33.543945],[151.29209,-33.580957],[151.322754,-33.699316],[151.288379,-33.834863],[151.280273,-33.92666],[151.244629,-33.985059],[151.20166,-33.964063],[151.167871,-33.973438],[151.124805,-34.005273],[151.191211,-34.015234],[151.231543,-34.029688],[151.089941,-34.1625],[150.960352,-34.29707],[150.927441,-34.386621],[150.871289,-34.499121],[150.821875,-34.749219],[150.781055,-34.892188],[150.80918,-34.993848],[150.80459,-35.012891],[150.774609,-35.02041],[150.756055,-35.007129],[150.697363,-35.041895],[150.680957,-35.07666],[150.705664,-35.119727],[150.722168,-35.13457],[150.714648,-35.155176],[150.690332,-35.177734],[150.634473,-35.177637],[150.56748,-35.214258],[150.374121,-35.58418],[150.292188,-35.682324],[150.195312,-35.833594],[150.158496,-35.970605],[150.128906,-36.12041],[150.095313,-36.372656],[150.062793,-36.550391],[149.988184,-36.722754],[149.960254,-36.845508],[149.950586,-37.080273],[149.986328,-37.258398],[149.962891,-37.353027],[149.962305,-37.443848],[149.932715,-37.528516],[149.809375,-37.547852],[149.708984,-37.616992],[149.56543,-37.72998],[149.480859,-37.771191],[149.298438,-37.802148],[148.943945,-37.788477],[148.2625,-37.830664],[148.130664,-37.856055],[147.876758,-37.93418],[147.631445,-38.055664],[147.395605,-38.219141],[146.856836,-38.663477],[146.435742,-38.711816],[146.35625,-38.711816],[146.292578,-38.699805],[146.21748,-38.727441],[146.216211,-38.782715],[146.285547,-38.840234],[146.336621,-38.894238],[146.426953,-38.819629],[146.466602,-38.840332],[146.481641,-38.97793],[146.483789,-39.065039],[146.456641,-39.112305],[146.4,-39.145508],[146.340039,-39.123828],[146.332031,-39.07666],[146.254297,-38.964453],[146.158398,-38.865723],[146.069922,-38.834082],[146.018164,-38.86709],[145.935352,-38.901758],[145.865527,-38.775977],[145.79082,-38.666992],[145.691895,-38.655664],[145.606348,-38.656836],[145.535352,-38.609668],[145.397266,-38.535352],[145.424219,-38.477344],[145.462793,-38.416309],[145.542188,-38.393848],[145.518359,-38.311426],[145.475781,-38.24375],[145.366406,-38.225684],[145.292773,-38.237598],[145.248926,-38.291211],[145.191211,-38.383594],[144.95957,-38.500781],[144.847266,-38.436328],[144.717773,-38.340332],[144.780273,-38.347363],[144.911426,-38.344043],[145.020117,-38.258398],[145.066992,-38.204883],[145.119922,-38.091309],[145.049609,-38.010938],[144.984863,-37.952246],[144.891309,-37.899805],[144.538477,-38.077148],[144.465332,-38.102539],[144.395508,-38.136914],[144.517773,-38.166406],[144.589453,-38.157617],[144.665234,-38.209961],[144.543652,-38.284082],[144.447852,-38.303711],[144.328711,-38.348242],[144.101562,-38.462305],[143.811719,-38.698828],[143.686719,-38.766895],[143.538965,-38.820898],[143.338477,-38.757812],[143.226465,-38.743164],[143.082617,-38.645898],[142.840234,-38.580859],[142.612109,-38.45166],[142.455859,-38.386328],[142.344531,-38.372168],[142.187695,-38.399414],[141.924707,-38.283789],[141.725,-38.271387],[141.593945,-38.387793],[141.491797,-38.379785],[141.424219,-38.363477],[141.213867,-38.171973],[141.010938,-38.076953],[140.627246,-38.028418],[140.39043,-37.89668],[140.212109,-37.642188],[139.874805,-37.352051],[139.784277,-37.245801],[139.742285,-37.141699],[139.738477,-37.05957],[139.783887,-36.902637],[139.846582,-36.748047],[139.857324,-36.662109],[139.729004,-36.371387],[139.54873,-36.09668],[139.465918,-36.010352],[139.244922,-35.827344],[139.037695,-35.689258],[138.985059,-35.617578],[138.968945,-35.580762],[139.066895,-35.598438],[139.1125,-35.542285],[139.178027,-35.523047],[139.230566,-35.597656],[139.289453,-35.611328],[139.29209,-35.485938],[139.325098,-35.42666],[139.302539,-35.399414],[139.28252,-35.375391],[139.192773,-35.347266],[139.09375,-35.389551],[139.017676,-35.443262],[138.915234,-35.488867],[138.875293,-35.536816],[138.770996,-35.538379],[138.729688,-35.550781],[138.521875,-35.642383],[138.389258,-35.644727],[138.184375,-35.612695],[138.252148,-35.486523],[138.33291,-35.411719],[138.399805,-35.325781],[138.511133,-35.024414],[138.489941,-34.763574],[138.43623,-34.65625],[138.264355,-34.440332],[138.18623,-34.307227],[138.089258,-34.169824],[138.041309,-34.249805],[138.012305,-34.334082],[137.919238,-34.456055],[137.874121,-34.727441],[137.691699,-35.142969],[137.566406,-35.148047],[137.45957,-35.131348],[137.272363,-35.178711],[137.144434,-35.236426],[137.029883,-35.236523],[136.966602,-35.254883],[136.883594,-35.239746],[137.014258,-34.91582],[137.128418,-34.924707],[137.252051,-34.911523],[137.308398,-34.916992],[137.391016,-34.913281],[137.454297,-34.764453],[137.492969,-34.597754],[137.468555,-34.490234],[137.458984,-34.378906],[137.483594,-34.252148],[137.493848,-34.161133],[137.650391,-33.859082],[137.780859,-33.703125],[137.931836,-33.579102],[137.913965,-33.461328],[137.866016,-33.314063],[137.852344,-33.200781],[137.924316,-33.165137],[137.992578,-33.094238],[137.913184,-32.770703],[137.863086,-32.67373],[137.783203,-32.578125],[137.781836,-32.701953],[137.790918,-32.823242],[137.680176,-32.978027],[137.53623,-33.08916],[137.442285,-33.193555],[137.354199,-33.430176],[137.237305,-33.629492],[137.130273,-33.703027],[137.034473,-33.719531],[136.936523,-33.750195],[136.783496,-33.829688],[136.635547,-33.896582],[136.525879,-33.98418],[136.430664,-34.02998],[136.121094,-34.428711],[135.979688,-34.561914],[135.950586,-34.615723],[135.891016,-34.660938],[135.902637,-34.723828],[135.950586,-34.766797],[135.998535,-34.94375],[135.969727,-34.981836],[135.919141,-34.961914],[135.792383,-34.863281],[135.7125,-34.899219],[135.647559,-34.939648],[135.480859,-34.758203],[135.411719,-34.715527],[135.324219,-34.642676],[135.230664,-34.579785],[135.19082,-34.572656],[135.123047,-34.585742],[135.12959,-34.536523],[135.175977,-34.496582],[135.216797,-34.487305],[135.29248,-34.545605],[135.378711,-34.597656],[135.427344,-34.601953],[135.45,-34.581055],[135.367969,-34.375586],[135.312012,-34.195508],[135.286328,-34.142285],[135.218945,-33.959766],[135.185449,-33.906738],[135.04209,-33.777734],[134.88877,-33.626367],[134.84668,-33.444629],[134.791016,-33.32832],[134.719043,-33.255176],[134.607715,-33.190137],[134.30127,-33.165039],[134.173535,-32.979102],[134.100391,-32.748633],[134.158398,-32.733398],[134.227148,-32.730566],[134.249219,-32.658691],[134.23418,-32.548535],[133.930176,-32.411719],[133.786719,-32.268848],[133.665332,-32.207227],[133.551367,-32.18291],[133.400586,-32.188477],[133.212109,-32.183789],[132.757422,-31.95625],[132.648633,-31.949316],[132.323633,-32.02002],[132.214648,-32.007129],[131.721191,-31.696289],[131.393164,-31.548535],[131.284961,-31.520996],[131.143652,-31.495703],[131.029297,-31.531836],[130.948145,-31.56582],[130.783008,-31.604004],[130.129785,-31.579102],[129.568848,-31.627246],[129.187695,-31.659961],[128.946191,-31.702637],[128.546094,-31.887695],[128.067676,-32.066504],[127.678027,-32.15127],[127.319824,-32.264063],[127.084082,-32.296875],[126.779297,-32.310938],[126.136523,-32.256836],[125.917188,-32.296973],[125.56748,-32.505859],[125.463672,-32.556543],[125.266602,-32.614453],[124.758789,-32.882715],[124.524609,-32.940137],[124.373242,-32.958398],[124.24375,-33.015234],[124.126074,-33.129395],[123.967188,-33.446289],[123.868359,-33.596387],[123.650391,-33.836328],[123.506836,-33.916211],[123.36543,-33.905371],[123.207617,-33.988281],[123.067578,-33.900586],[122.955664,-33.883789],[122.777539,-33.89082],[122.150977,-33.991797],[122.061133,-33.874414],[121.946387,-33.856738],[121.729688,-33.8625],[121.405078,-33.826758],[120.814551,-33.871289],[120.530566,-33.919727],[120.418359,-33.963086],[120.209375,-33.935449],[119.854102,-33.974707],[119.729102,-34.041504],[119.635156,-34.101172],[119.450586,-34.368262],[119.247656,-34.456445],[119.081348,-34.459375],[118.895312,-34.479883],[118.520117,-34.737109],[118.135547,-34.986621],[118.006445,-35.013281],[117.863086,-35.05498],[117.675391,-35.074902],[117.581934,-35.097754],[117.143945,-35.033691],[116.86543,-35.026563],[116.517188,-34.987891],[116.21709,-34.86582],[115.986719,-34.79502],[115.72627,-34.526074],[115.565039,-34.425781],[115.277637,-34.303906],[115.194824,-34.308496],[115.12793,-34.341797],[115.008789,-34.255859],[115.005664,-34.145117],[114.973437,-34.051172],[114.975684,-33.804199],[114.993848,-33.515332],[115.098926,-33.580273],[115.181641,-33.643457],[115.358789,-33.639941],[115.515332,-33.531348],[115.604492,-33.372266],[115.683008,-33.192871],[115.670898,-33.002148],[115.618555,-32.666992],[115.654297,-32.596582],[115.70791,-32.567969],[115.725391,-32.401074],[115.738086,-31.887891],[115.698438,-31.694531],[115.45459,-31.302539],[115.294336,-30.961816],[115.176855,-30.808008],[115.07793,-30.560449],[114.994531,-30.216211],[114.968848,-30.042285],[114.94209,-29.721582],[114.971387,-29.539746],[114.958984,-29.433594],[114.856836,-29.142969],[114.628418,-28.871777],[114.590625,-28.77168],[114.591797,-28.666211],[114.537402,-28.542871],[114.353516,-28.294922],[114.165137,-28.080664],[114.133496,-27.976465],[114.098437,-27.544238],[114.028125,-27.347266],[113.709375,-26.847754],[113.333008,-26.417383],[113.231055,-26.241406],[113.184766,-26.182227],[113.210742,-26.174219],[113.253125,-26.197266],[113.300098,-26.240234],[113.323242,-26.243848],[113.345313,-26.208301],[113.342871,-26.126074],[113.356055,-26.080469],[113.388965,-26.105566],[113.427441,-26.198047],[113.546582,-26.436719],[113.581641,-26.558105],[113.733691,-26.595117],[113.780371,-26.563281],[113.836426,-26.500586],[113.852832,-26.332129],[113.775781,-26.255957],[113.706445,-26.223633],[113.589063,-26.098633],[113.513379,-25.89834],[113.395312,-25.713281],[113.397363,-25.647168],[113.451367,-25.599121],[113.539453,-25.625195],[113.621191,-25.731641],[113.713086,-25.830762],[113.697852,-26.004199],[113.683594,-26.05166],[113.691699,-26.091699],[113.72373,-26.129785],[113.76582,-26.159766],[113.811816,-26.11582],[113.853906,-26.014453],[113.879883,-26.027637],[113.942383,-26.258691],[113.991992,-26.321484],[114.090332,-26.393652],[114.175977,-26.3375],[114.215723,-26.289453],[114.20332,-26.126367],[114.228516,-25.96875],[114.214258,-25.851562],[113.992773,-25.544824],[113.792383,-25.165723],[113.670801,-24.977051],[113.569238,-24.692969],[113.503516,-24.594629],[113.417676,-24.435645],[113.412988,-24.254004],[113.421289,-24.132324],[113.489844,-23.869629],[113.55293,-23.732813],[113.757031,-23.418164],[113.766992,-23.28252],[113.764844,-23.180469],[113.794922,-23.023633],[113.795117,-22.914551],[113.767871,-22.812891],[113.682813,-22.637793],[113.79502,-22.332129],[113.958398,-21.93916],[114.022852,-21.881445],[114.123926,-21.828613],[114.142578,-21.909766],[114.092773,-22.181348],[114.163867,-22.32334],[114.141602,-22.483105],[114.205176,-22.455859],[114.303516,-22.425391],[114.377734,-22.341504],[114.416992,-22.261035],[114.602832,-21.942188],[114.709277,-21.823438],[114.859082,-21.735938],[115.161719,-21.630566],[115.456152,-21.491699],[115.596094,-21.358105],[115.771484,-21.242285],[115.893555,-21.116699],[116.010938,-21.030371],[116.605859,-20.713379],[116.706738,-20.653809],[116.836328,-20.64707],[116.995313,-20.657617],[117.139063,-20.640918],[117.292773,-20.713086],[117.40625,-20.721191],[117.683887,-20.642773],[117.832324,-20.572559],[118.087305,-20.419043],[118.199219,-20.375195],[118.458301,-20.32666],[118.751465,-20.261914],[119.104492,-19.995313],[119.358789,-20.012305],[119.585938,-20.038281],[119.767773,-19.958398],[120.196289,-19.909473],[120.433691,-19.841992],[120.878418,-19.665039],[120.997949,-19.604395],[121.179785,-19.47793],[121.337695,-19.319922],[121.493555,-19.106445],[121.589453,-18.915137],[121.630664,-18.816602],[121.721973,-18.659961],[121.784863,-18.535938],[121.833789,-18.477051],[122.00625,-18.393652],[122.262109,-18.159082],[122.34541,-18.111914],[122.360938,-18.036914],[122.305762,-17.994922],[122.237402,-17.968555],[122.191309,-17.720313],[122.147461,-17.549023],[122.143164,-17.428418],[122.160254,-17.313672],[122.260938,-17.135742],[122.332715,-17.059375],[122.432031,-16.97041],[122.522559,-16.942871],[122.597949,-16.864941],[122.72041,-16.787695],[122.77207,-16.710156],[122.848047,-16.552441],[122.916797,-16.432617],[122.970703,-16.436816],[123.074414,-16.715332],[123.14209,-16.863086],[123.265918,-17.036816],[123.383203,-17.292773],[123.478809,-17.409961],[123.525195,-17.485742],[123.563086,-17.520898],[123.571484,-17.472266],[123.561816,-17.41543],[123.60791,-17.219922],[123.586328,-17.082715],[123.593555,-17.030371],[123.617676,-17.008301],[123.664062,-17.023242],[123.753809,-17.099805],[123.799023,-17.127148],[123.831055,-17.120801],[123.829492,-16.996875],[123.874414,-16.918652],[123.856348,-16.864746],[123.778125,-16.867773],[123.74502,-16.800977],[123.680469,-16.723633],[123.607129,-16.668066],[123.517969,-16.540723],[123.49043,-16.490723],[123.525098,-16.467578],[123.581348,-16.470898],[123.625977,-16.416309],[123.646484,-16.343066],[123.607031,-16.224023],[123.647461,-16.179883],[123.728906,-16.19248],[123.85918,-16.382324],[123.915234,-16.363574],[123.961328,-16.286914],[124.044434,-16.264941],[124.129785,-16.278809],[124.186035,-16.333594],[124.300391,-16.388281],[124.452734,-16.382031],[124.52998,-16.395215],[124.692383,-16.386133],[124.771973,-16.402637],[124.757031,-16.37334],[124.669238,-16.33877],[124.570312,-16.331836],[124.454492,-16.335254],[124.404883,-16.298926],[124.388281,-16.203027],[124.416406,-16.133496],[124.43457,-16.103809],[124.509961,-16.116309],[124.576855,-16.113672],[124.585059,-16.020117],[124.608594,-15.9375],[124.648535,-15.870215],[124.64834,-15.805469],[124.606641,-15.822656],[124.504297,-15.972461],[124.455273,-15.850586],[124.381641,-15.758203],[124.396582,-15.625879],[124.439551,-15.493555],[124.505664,-15.475391],[124.561621,-15.496289],[124.644336,-15.418848],[124.690918,-15.359668],[124.680176,-15.311035],[124.692578,-15.273633],[124.750488,-15.285254],[124.97207,-15.404297],[125.016406,-15.466504],[125.062988,-15.442285],[125.07793,-15.374512],[125.072949,-15.306738],[125.024023,-15.316992],[124.90918,-15.310059],[124.882715,-15.271973],[124.892676,-15.240527],[124.839063,-15.160742],[124.91416,-15.109961],[124.978711,-15.106641],[125.02334,-15.071875],[125.024023,-15.024414],[125.038184,-15.004102],[125.072949,-15.032324],[125.188672,-15.04541],[125.302344,-15.106836],[125.355664,-15.119824],[125.375586,-15.086816],[125.383789,-15.015625],[125.243262,-14.944531],[125.239453,-14.874609],[125.180371,-14.794043],[125.178711,-14.714746],[125.266504,-14.648438],[125.28457,-14.584082],[125.335449,-14.55791],[125.435938,-14.556836],[125.503711,-14.502246],[125.579785,-14.483203],[125.59834,-14.361621],[125.59707,-14.278125],[125.627734,-14.256641],[125.70459,-14.291406],[125.68125,-14.387988],[125.680957,-14.480176],[125.661621,-14.529492],[125.690527,-14.525391],[125.708398,-14.504883],[125.738477,-14.444336],[125.819531,-14.469141],[125.839551,-14.533887],[125.850098,-14.597266],[125.890625,-14.617969],[125.946094,-14.52041],[126.020703,-14.494531],[126.016602,-14.371289],[126.044824,-14.283008],[126.053613,-14.216699],[126.100879,-14.184375],[126.111328,-14.114063],[126.073438,-14.065527],[126.053906,-13.977246],[126.119043,-13.957715],[126.184277,-14.002051],[126.228223,-14.113379],[126.258496,-14.163574],[126.298828,-14.13623],[126.323047,-14.062109],[126.403125,-14.018945],[126.482422,-14.078906],[126.569727,-14.160938],[126.679102,-14.089355],[126.780664,-13.955176],[126.764453,-13.873047],[126.775586,-13.788477],[126.903223,-13.744141],[127.006055,-13.776758],[127.099219,-13.867383],[127.293066,-13.934766],[127.457617,-14.031445],[127.531055,-14.094629],[127.672852,-14.195117],[127.763477,-14.299414],[127.887598,-14.485156],[128.180469,-14.711621],[128.199414,-14.751758],[128.159863,-14.827344],[128.124414,-14.924121],[128.080469,-15.087988],[128.069434,-15.329297],[128.111719,-15.312012],[128.155469,-15.225586],[128.201758,-15.243359],[128.254688,-15.298535],[128.258984,-15.245605],[128.227246,-15.213574],[128.172949,-15.102246],[128.175,-15.043164],[128.218359,-14.995703],[128.285156,-14.938867],[128.358203,-14.90166],[128.403223,-14.869141],[128.409863,-14.828906],[128.477441,-14.787988],[128.575781,-14.774512],[128.635547,-14.780957],[129.058203,-14.884375],[129.165137,-14.987598],[129.175195,-15.115039],[129.21582,-15.160254],[129.237891,-15.080176],[129.233594,-14.906055],[129.267578,-14.871484],[129.38125,-14.898438],[129.458984,-14.933203],[129.56709,-15.047363],[129.587695,-15.10332],[129.634766,-15.139746],[129.650293,-15.086816],[129.628223,-15.011816],[129.612695,-14.925879],[129.637109,-14.850977],[129.763477,-14.84502],[129.84873,-14.828906],[129.808398,-14.799707],[129.753516,-14.789551],[129.662988,-14.720898],[129.604688,-14.64707],[129.698633,-14.575293],[129.697949,-14.557422],[129.60791,-14.559668],[129.483887,-14.489746],[129.378711,-14.39248],[129.45918,-14.213477],[129.619629,-14.038379],[129.709863,-13.97998],[129.718359,-13.920898],[129.761719,-13.811914],[129.789258,-13.719922],[129.797168,-13.648438],[129.838867,-13.572949],[129.937891,-13.50166],[130.072656,-13.476172],[130.135938,-13.44834],[130.199316,-13.382617],[130.259766,-13.302246],[130.134961,-13.145508],[130.145313,-13.05918],[130.168164,-12.957422],[130.317969,-12.88291],[130.399902,-12.687891],[130.454199,-12.658594],[130.571875,-12.664355],[130.61748,-12.646875],[130.60957,-12.491309],[130.622656,-12.431055],[130.672363,-12.406934],[130.736133,-12.427734],[130.776563,-12.495313],[130.867383,-12.557813],[130.898242,-12.523633],[130.88291,-12.455078],[130.873828,-12.367188],[130.956641,-12.348242],[131.023438,-12.342871],[131.030078,-12.271094],[131.019531,-12.213867],[131.045703,-12.189648],[131.219922,-12.17793],[131.26543,-12.119043],[131.291602,-12.067871],[131.31377,-12.095898],[131.34209,-12.210059],[131.438281,-12.276953],[131.72627,-12.278125],[131.887988,-12.231934],[131.956738,-12.259277],[132.064063,-12.280762],[132.182324,-12.226953],[132.253223,-12.186035],[132.37207,-12.23916],[132.411035,-12.295117],[132.441602,-12.176367],[132.510547,-12.134863],[132.583789,-12.110254],[132.676367,-12.130078],[132.712793,-12.123438],[132.630469,-12.035156],[132.635254,-11.954688],[132.629883,-11.83584],[132.644727,-11.727148],[132.674219,-11.649023],[132.475195,-11.491504],[132.27793,-11.467676],[132.133594,-11.500684],[132.072852,-11.474707],[131.944629,-11.348535],[131.822461,-11.302441],[131.811816,-11.271387],[131.961523,-11.180859],[132.018555,-11.196387],[132.105762,-11.281152],[132.155469,-11.311133],[132.197754,-11.30498],[132.225,-11.23877],[132.262695,-11.204004],[132.333984,-11.223535],[132.557324,-11.366895],[132.682813,-11.505566],[132.74707,-11.468945],[132.857129,-11.391113],[132.961035,-11.407324],[133.024902,-11.452832],[133.114355,-11.621777],[133.185254,-11.705664],[133.356152,-11.728223],[133.443164,-11.760352],[133.533203,-11.816211],[133.654492,-11.811328],[133.904199,-11.832031],[134.139453,-11.940137],[134.237109,-12.007715],[134.351074,-12.025781],[134.417383,-12.052734],[134.538086,-12.06084],[134.730273,-11.984375],[134.816406,-12.054688],[134.854688,-12.102539],[135.029688,-12.19375],[135.217969,-12.22168],[135.352344,-12.129199],[135.54873,-12.060645],[135.685547,-11.956152],[135.788477,-11.907031],[135.885254,-11.82168],[135.922461,-11.825781],[135.843555,-11.905469],[135.833984,-11.950684],[135.895801,-11.969531],[135.889453,-11.992773],[135.804297,-12.054785],[135.702539,-12.151563],[135.704395,-12.209863],[135.743945,-12.241699],[135.79082,-12.227539],[135.857422,-12.178516],[135.937793,-12.152148],[136.008496,-12.191406],[136.031445,-12.330859],[136.081836,-12.422461],[136.192676,-12.435156],[136.260645,-12.433789],[136.328516,-12.305566],[136.291895,-12.196387],[136.249902,-12.173047],[136.270117,-12.131641],[136.443359,-11.951465],[136.540234,-11.957617],[136.609766,-12.133594],[136.719434,-12.226465],[136.836426,-12.219141],[136.897461,-12.243555],[136.947461,-12.349902],[136.537012,-12.784277],[136.517773,-12.832813],[136.573047,-12.911621],[136.594336,-13.003809],[136.461035,-13.225195],[136.411914,-13.236133],[136.364551,-13.176367],[136.294141,-13.137988],[136.232324,-13.164941],[136.166113,-13.181055],[135.927344,-13.304297],[135.929199,-13.621582],[135.989551,-13.810156],[135.954492,-13.934863],[135.883398,-14.153125],[135.806348,-14.23418],[135.744531,-14.286621],[135.538867,-14.584961],[135.473242,-14.656641],[135.405176,-14.758203],[135.428027,-14.855664],[135.45332,-14.923145],[135.530762,-15.000391],[135.832617,-15.160156],[135.969531,-15.270215],[136.205371,-15.403418],[136.259277,-15.495215],[136.291406,-15.570117],[136.461914,-15.655273],[136.583594,-15.706543],[136.61875,-15.693359],[136.644141,-15.675586],[136.674609,-15.675391],[136.704883,-15.685254],[136.700098,-15.751953],[136.686719,-15.788477],[136.698145,-15.834961],[136.784668,-15.894238],[136.922656,-15.892383],[137.002148,-15.87832],[137.089844,-15.941309],[137.168945,-15.982129],[137.299316,-16.066309],[137.526367,-16.16709],[137.703711,-16.233008],[137.912891,-16.476562],[138.071582,-16.616992],[138.24502,-16.718359],[138.505664,-16.789551],[138.625684,-16.777832],[138.820312,-16.860645],[139.009863,-16.899316],[139.110352,-17.014063],[139.144531,-17.101074],[139.154102,-17.167773],[139.248438,-17.328613],[139.440527,-17.380566],[139.689648,-17.540723],[139.894531,-17.611328],[139.945996,-17.653613],[140.03584,-17.702637],[140.209668,-17.704395],[140.511133,-17.624512],[140.648438,-17.54375],[140.830469,-17.414453],[140.91582,-17.192578],[140.966016,-17.014551],[141.219141,-16.646191],[141.291406,-16.463477],[141.355664,-16.221094],[141.411914,-16.069531],[141.393164,-15.904688],[141.451563,-15.605273],[141.581445,-15.19541],[141.625488,-15.056641],[141.603516,-14.852734],[141.522949,-14.470117],[141.558984,-14.337891],[141.594336,-14.152832],[141.535449,-14.018652],[141.480664,-13.926758],[141.472559,-13.797559],[141.53418,-13.553809],[141.58877,-13.425098],[141.64541,-13.259082],[141.613574,-12.943457],[141.73457,-12.833496],[141.782227,-12.778711],[141.875781,-12.778223],[141.920313,-12.80293],[141.929785,-12.739844],[141.892871,-12.681348],[141.87832,-12.613281],[141.852148,-12.578711],[141.794531,-12.566602],[141.74668,-12.529395],[141.677734,-12.491406],[141.688574,-12.351074],[141.805762,-12.080078],[141.870508,-11.975586],[141.912988,-12.019238],[141.961133,-12.054297],[141.967773,-11.97627],[141.951563,-11.896191],[142.040527,-11.631738],[142.138965,-11.273242],[142.168359,-10.946582],[142.326465,-10.88418],[142.406836,-10.802246],[142.456445,-10.707324],[142.544824,-10.707324],[142.605078,-10.748242],[142.56543,-10.819434],[142.552734,-10.874414],[142.723047,-11.010449],[142.779688,-11.115332],[142.80332,-11.213965],[142.836816,-11.306934],[142.85293,-11.432227],[142.850586,-11.632324],[142.872559,-11.821387],[142.933984,-11.880762],[142.988477,-11.919043],[143.066406,-11.924121],[143.178906,-11.954492]]],[[[153.077441,-25.750781],[153.051953,-25.77832],[153.006934,-25.728906],[152.97666,-25.551367],[152.999023,-25.448438],[153.051563,-25.354297],[153.060742,-25.302246],[153.038086,-25.193164],[153.189258,-25.070508],[153.227539,-25.005762],[153.241992,-24.922559],[153.186328,-24.832617],[153.14375,-24.814844],[153.180957,-24.764844],[153.223145,-24.739551],[153.256934,-24.728906],[153.282129,-24.738281],[153.297949,-24.915234],[153.359277,-24.977734],[153.350195,-25.063086],[153.141406,-25.512793],[153.083789,-25.68252],[153.077441,-25.750781]]],[[[139.507812,-16.573047],[139.430566,-16.661035],[139.391504,-16.648633],[139.354297,-16.696582],[139.283008,-16.719434],[139.239063,-16.718652],[139.15957,-16.741699],[139.147656,-16.713867],[139.162695,-16.625879],[139.228711,-16.527539],[139.292969,-16.467285],[139.458887,-16.438477],[139.587891,-16.395215],[139.604492,-16.403223],[139.697754,-16.514941],[139.559668,-16.529492],[139.507812,-16.573047]]],[[[136.714648,-13.803906],[136.758008,-13.84541],[136.804492,-13.84248],[136.845313,-13.750977],[136.870703,-13.763672],[136.89082,-13.786621],[136.905566,-13.826953],[136.842969,-13.896582],[136.814941,-13.907324],[136.788184,-13.945801],[136.745313,-14.072656],[136.749902,-14.115234],[136.787012,-14.157813],[136.885449,-14.197266],[136.933887,-14.179004],[136.950781,-14.184277],[136.931348,-14.245996],[136.894336,-14.293066],[136.763184,-14.273438],[136.649707,-14.280469],[136.460547,-14.23457],[136.363281,-14.228906],[136.335449,-14.211816],[136.392188,-14.175488],[136.427734,-14.126465],[136.411133,-14.011133],[136.424707,-13.864844],[136.533789,-13.79375],[136.582813,-13.721094],[136.655664,-13.675879],[136.701953,-13.681641],[136.695996,-13.726172],[136.714648,-13.803906]]],[[[130.459277,-11.679297],[130.541797,-11.703125],[130.579883,-11.737109],[130.602734,-11.773242],[130.60625,-11.816602],[130.502539,-11.835645],[130.31748,-11.771777],[130.13125,-11.824512],[130.076563,-11.825488],[130.043262,-11.787305],[130.07207,-11.680762],[130.139063,-11.69707],[130.197559,-11.658203],[130.187109,-11.541211],[130.152832,-11.477539],[130.251172,-11.360547],[130.294922,-11.336816],[130.339258,-11.337012],[130.376758,-11.420117],[130.385645,-11.509863],[130.432813,-11.592188],[130.459277,-11.679297]]],[[[130.618848,-11.376074],[130.752246,-11.384375],[130.912793,-11.309277],[130.987402,-11.339844],[131.023047,-11.334375],[131.140625,-11.263086],[131.217188,-11.242578],[131.268262,-11.189844],[131.320508,-11.246875],[131.436914,-11.313184],[131.47334,-11.38252],[131.522266,-11.415234],[131.538574,-11.436914],[131.467871,-11.50957],[131.458594,-11.587891],[131.382812,-11.58252],[131.29209,-11.710938],[130.950977,-11.926465],[130.644922,-11.742383],[130.511914,-11.617871],[130.422754,-11.445801],[130.404785,-11.30498],[130.368555,-11.214941],[130.38457,-11.192188],[130.40293,-11.180469],[130.42666,-11.183105],[130.519141,-11.279492],[130.559766,-11.305957],[130.618848,-11.376074]]],[[[113.183008,-26.053125],[113.156445,-26.094531],[112.964258,-25.783105],[112.908203,-25.569824],[112.94707,-25.531543],[112.982422,-25.520215],[113.096289,-25.815039],[113.131543,-25.882617],[113.131836,-25.951953],[113.14834,-25.973828],[113.183008,-26.053125]]],[[[137.596484,-35.738672],[137.835938,-35.762109],[137.928906,-35.726074],[138.046582,-35.755176],[138.123438,-35.852344],[138.066504,-35.900586],[138.011914,-35.907617],[137.835547,-35.867773],[137.670898,-35.897949],[137.622266,-35.938086],[137.590234,-36.027148],[137.448438,-36.074805],[137.382227,-36.020898],[137.20957,-35.982422],[137.147754,-36.039062],[137.025879,-36.023926],[136.912695,-36.04668],[136.755078,-36.033105],[136.589258,-35.935352],[136.540625,-35.890137],[136.579102,-35.808691],[136.638672,-35.748828],[137.091797,-35.663867],[137.334082,-35.59248],[137.530469,-35.605078],[137.584961,-35.620215],[137.635449,-35.656445],[137.598145,-35.722266],[137.596484,-35.738672]]],[[[145.486523,-38.354883],[145.33584,-38.420996],[145.280273,-38.390625],[145.28584,-38.341016],[145.295313,-38.318945],[145.426563,-38.31416],[145.486523,-38.354883]]],[[[145.314453,-38.49082],[145.349219,-38.538184],[145.355078,-38.557031],[145.270898,-38.519727],[145.128418,-38.527637],[145.217773,-38.458594],[145.287891,-38.472168],[145.314453,-38.49082]]],[[[149.04375,-20.291504],[149.019922,-20.302539],[148.987402,-20.301758],[148.938867,-20.283691],[148.981055,-20.153516],[149.004395,-20.221484],[149.045313,-20.277539],[149.04375,-20.291504]]],[[[148.935547,-20.149902],[148.913477,-20.154297],[148.886914,-20.143555],[148.906445,-20.101953],[148.931641,-20.068945],[148.967871,-20.044336],[148.95625,-20.134668],[148.935547,-20.149902]]],[[[151.146582,-23.49082],[151.180762,-23.516211],[151.212012,-23.513086],[151.240137,-23.529688],[151.228809,-23.594922],[151.274316,-23.668457],[151.295801,-23.720313],[151.261523,-23.762305],[151.238281,-23.775781],[151.18418,-23.740723],[151.033301,-23.530176],[151.059961,-23.460547],[151.146582,-23.49082]]],[[[150.516699,-22.322559],[150.488477,-22.324707],[150.462402,-22.307715],[150.484668,-22.267871],[150.488477,-22.210742],[150.521484,-22.22832],[150.548828,-22.306934],[150.516699,-22.322559]]],[[[149.92832,-22.193066],[149.893652,-22.223242],[149.869531,-22.150391],[149.875391,-22.074023],[149.912305,-22.04873],[149.92793,-22.149316],[149.92832,-22.193066]]],[[[153.53877,-27.436426],[153.452734,-27.711719],[153.426563,-27.706445],[153.395801,-27.665039],[153.400879,-27.505664],[153.435449,-27.405371],[153.521875,-27.422461],[153.53877,-27.436426]]],[[[153.44248,-27.316016],[153.420898,-27.330957],[153.376563,-27.235352],[153.365039,-27.138867],[153.379883,-27.049414],[153.432324,-27.029883],[153.466797,-27.038086],[153.426367,-27.201465],[153.44248,-27.316016]]],[[[142.274805,-10.704785],[142.191406,-10.762012],[142.137207,-10.731934],[142.125488,-10.668457],[142.131055,-10.640625],[142.197949,-10.591992],[142.274805,-10.704785]]],[[[142.338965,-10.192188],[142.279395,-10.254199],[142.216211,-10.235645],[142.195117,-10.199316],[142.21875,-10.149414],[142.29873,-10.14043],[142.338965,-10.192188]]],[[[142.167578,-10.154102],[142.141992,-10.18125],[142.097656,-10.121777],[142.148828,-10.051758],[142.191992,-10.085254],[142.167578,-10.154102]]],[[[146.27832,-18.23125],[146.298828,-18.326074],[146.341992,-18.400098],[146.327051,-18.448633],[146.298828,-18.484766],[146.235645,-18.450781],[146.191309,-18.362891],[146.116211,-18.292383],[146.098828,-18.251758],[146.186719,-18.255176],[146.230859,-18.241406],[146.249121,-18.225879],[146.27832,-18.23125]]],[[[136.598535,-11.378906],[136.526563,-11.438867],[136.52168,-11.393848],[136.559766,-11.35791],[136.649023,-11.211621],[136.687988,-11.177637],[136.710547,-11.158398],[136.727344,-11.104785],[136.731738,-11.024609],[136.780273,-11.0125],[136.741406,-11.194629],[136.598535,-11.378906]]],[[[136.338672,-11.602344],[136.180273,-11.676758],[136.267383,-11.576465],[136.449219,-11.487109],[136.479297,-11.465918],[136.470508,-11.509277],[136.379395,-11.583203],[136.338672,-11.602344]]],[[[137.093652,-15.778125],[137.050879,-15.824414],[136.996484,-15.775781],[136.985059,-15.725977],[136.942676,-15.711719],[136.963379,-15.665723],[136.985742,-15.652441],[137.00957,-15.594824],[137.064551,-15.662891],[137.071094,-15.738086],[137.093652,-15.778125]]],[[[136.862695,-15.619922],[136.846777,-15.627344],[136.845605,-15.544043],[136.876855,-15.502539],[136.890234,-15.588867],[136.862695,-15.619922]]],[[[136.591016,-15.628223],[136.531152,-15.632422],[136.514258,-15.627344],[136.502734,-15.583105],[136.522559,-15.543164],[136.586035,-15.533691],[136.612305,-15.544141],[136.591016,-15.628223]]],[[[139.45918,-17.114551],[139.42168,-17.131641],[139.408203,-17.090625],[139.45918,-17.049121],[139.492773,-16.99043],[139.560059,-17.041992],[139.570898,-17.094434],[139.45918,-17.114551]]],[[[136.237402,-13.824512],[136.213672,-13.835938],[136.122656,-13.816602],[136.122266,-13.780566],[136.134375,-13.753125],[136.15957,-13.736719],[136.21543,-13.664746],[136.257422,-13.706641],[136.275391,-13.791113],[136.237402,-13.824512]]],[[[132.593359,-11.302832],[132.573633,-11.318359],[132.49375,-11.163672],[132.516309,-11.116016],[132.483789,-11.037305],[132.537793,-11.028418],[132.578809,-10.968848],[132.593262,-10.997656],[132.596875,-11.106445],[132.629102,-11.169141],[132.593359,-11.302832]]],[[[125.198828,-14.579492],[125.134766,-14.641699],[125.091211,-14.591699],[125.117383,-14.491992],[125.159961,-14.456055],[125.198145,-14.474805],[125.193555,-14.552637],[125.198828,-14.579492]]],[[[124.597266,-15.401953],[124.55957,-15.430176],[124.524219,-15.421484],[124.52373,-15.382422],[124.482813,-15.340332],[124.504102,-15.29248],[124.519336,-15.26748],[124.550879,-15.270313],[124.564551,-15.31084],[124.605078,-15.356543],[124.597266,-15.401953]]],[[[115.446191,-20.787793],[115.388086,-20.866016],[115.318066,-20.850586],[115.308594,-20.811133],[115.354297,-20.746289],[115.43457,-20.667969],[115.457617,-20.716309],[115.446191,-20.787793]]],[[[145.042969,-40.786719],[145.158691,-40.790625],[145.224316,-40.765137],[145.283008,-40.769922],[145.349414,-40.826367],[145.429395,-40.858203],[145.485156,-40.852344],[145.533496,-40.863965],[145.576465,-40.904102],[145.686035,-40.939063],[145.733789,-40.962012],[145.775391,-40.997168],[145.821484,-41.024609],[146.111133,-41.118066],[146.31748,-41.163477],[146.574414,-41.142383],[146.650586,-41.116211],[146.723438,-41.078027],[146.786035,-41.113672],[146.848145,-41.168066],[146.836035,-41.109375],[146.856641,-41.058301],[146.919434,-41.017773],[146.989844,-40.992383],[147.105762,-40.994238],[147.218848,-40.983398],[147.268945,-40.959766],[147.320508,-40.956445],[147.387695,-40.985547],[147.454785,-41.00166],[147.500781,-40.96416],[147.579297,-40.875586],[147.62168,-40.844727],[147.817676,-40.87168],[147.872949,-40.872559],[147.96875,-40.77959],[148.032813,-40.780957],[148.215234,-40.854883],[148.292871,-40.94707],[148.285449,-41.115332],[148.291602,-41.174609],[148.30625,-41.233105],[148.312207,-41.349707],[148.289844,-41.465039],[148.286914,-41.55498],[148.296582,-41.646191],[148.287598,-41.815723],[148.315723,-41.927734],[148.30166,-42.004199],[148.301465,-42.039941],[148.328027,-42.07373],[148.34082,-42.111133],[148.331055,-42.15918],[148.342578,-42.215332],[148.33125,-42.261621],[148.290332,-42.25498],[148.276953,-42.219434],[148.28457,-42.173438],[148.277148,-42.136426],[148.255762,-42.102637],[148.183105,-42.064746],[148.204395,-42.041992],[148.241602,-42.021875],[148.213672,-41.97002],[148.167188,-42.012305],[148.141211,-42.069824],[148.15625,-42.088281],[148.127539,-42.103711],[148.066602,-42.170312],[148.022754,-42.259473],[148.004883,-42.345117],[148.009375,-42.435937],[147.973535,-42.505859],[147.924414,-42.572461],[147.912109,-42.658496],[147.915039,-42.816406],[147.957715,-42.960449],[147.980859,-43.157031],[147.94541,-43.181836],[147.838574,-43.195117],[147.78584,-43.22002],[147.698926,-43.122559],[147.647949,-43.020605],[147.687305,-42.979883],[147.773926,-43.003418],[147.800391,-42.980273],[147.807422,-42.954102],[147.8,-42.928125],[147.693457,-42.871973],[147.573828,-42.845703],[147.53584,-42.878027],[147.549023,-42.974512],[147.536719,-42.996484],[147.452344,-43.033398],[147.408008,-42.893848],[147.297949,-42.790918],[147.301953,-42.840527],[147.347656,-42.926563],[147.342676,-42.964453],[147.325,-43.013477],[147.280762,-43.031738],[147.259766,-43.071094],[147.259766,-43.126465],[147.24502,-43.215918],[147.172852,-43.255859],[146.996973,-43.156348],[146.984863,-43.189844],[146.9875,-43.21875],[147.077344,-43.275879],[147.035938,-43.319043],[147.004688,-43.369629],[146.954688,-43.502441],[146.873926,-43.6125],[146.834277,-43.619336],[146.699219,-43.601953],[146.548535,-43.508887],[146.413184,-43.519531],[146.186719,-43.512793],[146.043164,-43.547168],[146.013086,-43.444824],[145.981738,-43.408398],[145.994434,-43.376074],[146.108789,-43.354395],[146.226367,-43.355273],[146.208008,-43.316211],[146.176465,-43.301758],[146.125098,-43.31123],[145.975293,-43.277148],[145.873242,-43.292383],[145.802734,-43.244043],[145.681543,-43.075977],[145.609961,-42.998242],[145.567383,-42.967969],[145.517578,-42.951367],[145.487598,-42.92666],[145.268164,-42.544336],[145.237109,-42.455566],[145.198828,-42.230859],[145.372949,-42.338477],[145.434863,-42.406543],[145.468262,-42.492871],[145.527246,-42.388184],[145.516602,-42.354492],[145.360352,-42.227539],[145.339648,-42.190723],[145.331055,-42.14707],[145.294434,-42.191016],[145.234863,-42.196973],[145.258984,-42.107324],[145.238184,-42.019629],[145.055371,-41.826758],[144.915527,-41.644043],[144.77793,-41.418848],[144.766113,-41.390039],[144.764355,-41.341504],[144.697754,-41.190723],[144.662402,-41.078906],[144.646094,-40.980859],[144.709668,-40.78291],[144.718555,-40.672266],[144.818555,-40.72168],[145.042969,-40.786719]]],[[[143.92793,-40.116113],[143.89873,-40.120215],[143.875781,-40.063965],[143.887598,-39.983594],[143.838574,-39.904102],[143.865234,-39.824219],[143.861816,-39.737988],[143.879395,-39.7],[143.939355,-39.658105],[143.948828,-39.583691],[144.000781,-39.580176],[144.091309,-39.638086],[144.120898,-39.785254],[144.106055,-39.874023],[144.141016,-39.953809],[144.111914,-40.02207],[144.035059,-40.078223],[143.92793,-40.116113]]],[[[148.000391,-39.757617],[148.17793,-39.938477],[148.27002,-39.966699],[148.297363,-39.985742],[148.289844,-40.06543],[148.250781,-40.099512],[148.323242,-40.144434],[148.313574,-40.173535],[148.299414,-40.172461],[148.210352,-40.233691],[148.105664,-40.262109],[148.073633,-40.24082],[148.046875,-40.212793],[148.024805,-40.171973],[147.890527,-40.014551],[147.905957,-39.971387],[147.87627,-39.905469],[147.812305,-39.910449],[147.767188,-39.870313],[147.83916,-39.831543],[147.933008,-39.725977],[148.000391,-39.757617]]],[[[147.356055,-43.396973],[147.308887,-43.500781],[147.231445,-43.483105],[147.153809,-43.500195],[147.10498,-43.431152],[147.104688,-43.412891],[147.163086,-43.430273],[147.184668,-43.407813],[147.198438,-43.379199],[147.219727,-43.371387],[147.233984,-43.330469],[147.283887,-43.278906],[147.3125,-43.280273],[147.34248,-43.346289],[147.356055,-43.396973]]],[[[148.104297,-42.710449],[148.048145,-42.719238],[148.029688,-42.714844],[148.030859,-42.663379],[148.022754,-42.64043],[148.072559,-42.593164],[148.142773,-42.615918],[148.169531,-42.651758],[148.100586,-42.680566],[148.104297,-42.710449]]],[[[147.43457,-43.240723],[147.371875,-43.24082],[147.348828,-43.232422],[147.337598,-43.183301],[147.296094,-43.161719],[147.319141,-43.145313],[147.327344,-43.114648],[147.352539,-43.080273],[147.397266,-43.118262],[147.43457,-43.240723]]],[[[144.784375,-40.506738],[144.748047,-40.589453],[144.710156,-40.485254],[144.751172,-40.470215],[144.783398,-40.434863],[144.79082,-40.440332],[144.784375,-40.506738]]],[[[148.32627,-40.306934],[148.420703,-40.367188],[148.474219,-40.432422],[148.404004,-40.486523],[148.352734,-40.497266],[148.319434,-40.43457],[148.214063,-40.45752],[148.102539,-40.45166],[148.020117,-40.404199],[148.010449,-40.380566],[148.058789,-40.356836],[148.198145,-40.35791],[148.32627,-40.306934]]],[[[148.236914,-40.515137],[148.187793,-40.592578],[148.126953,-40.543945],[148.117285,-40.521484],[148.193164,-40.503125],[148.218359,-40.505078],[148.236914,-40.515137]]],[[[158.878809,-54.709766],[158.845215,-54.749219],[158.835938,-54.704004],[158.896973,-54.506055],[158.958887,-54.472363],[158.945605,-54.575],[158.878809,-54.709766]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":5,"LABELRANK":5,"SOVEREIGNT":"Australia","SOV_A3":"AU1","ADM0_DIF":1,"LEVEL":2,"TYPE":"Dependency","TLC":"1","ADMIN":"Indian Ocean Territories","ADM0_A3":"IOA","GEOU_DIF":0,"GEOUNIT":"Indian Ocean Territories","GU_A3":"IOA","SU_DIF":0,"SUBUNIT":"Indian Ocean Territories","SU_A3":"IOA","BRK_DIFF":0,"NAME":"Indian Ocean Ter.","NAME_LONG":"Indian Ocean Territories","BRK_A3":"IOA","BRK_NAME":"Indian Ocean Ter.","BRK_GROUP":null,"ABBREV":"Ind. Oc. Ter.","POSTAL":"IOT","FORMAL_EN":null,"FORMAL_FR":null,"NAME_CIAWF":null,"NOTE_ADM0":"Auz.","NOTE_BRK":null,"NAME_SORT":"Indian Ocean Territories","NAME_ALT":null,"MAPCOLOR7":1,"MAPCOLOR8":2,"MAPCOLOR9":2,"MAPCOLOR13":7,"POP_EST":2387,"POP_RANK":4,"POP_YEAR":2016,"GDP_MD":35,"GDP_YEAR":2016,"ECONOMY":"2. Developed region: nonG7","INCOME_GRP":"2. High income: nonOECD","FIPS_10":"-99","ISO_A2":"-99","ISO_A2_EH":"AU","ISO_A3":"-99","ISO_A3_EH":"AUS","ISO_N3":"-99","ISO_N3_EH":"036","UN_A3":"-099","WB_A2":"-99","WB_A3":"-99","WOE_ID":-90,"WOE_ID_EH":23424869,"WOE_NOTE":"Grouping of Christmas Island (23424869) and Cocos or Keeling Islands (23424784)","ADM0_ISO":"AUS","ADM0_DIFF":"1","ADM0_TLC":"IOA","ADM0_A3_US":"IOA","ADM0_A3_FR":"IOA","ADM0_A3_RU":"IOA","ADM0_A3_ES":"IOA","ADM0_A3_CN":"IOA","ADM0_A3_TW":"IOA","ADM0_A3_IN":"IOA","ADM0_A3_NP":"IOA","ADM0_A3_PK":"IOA","ADM0_A3_DE":"IOA","ADM0_A3_GB":"IOA","ADM0_A3_BR":"IOA","ADM0_A3_IL":"IOA","ADM0_A3_PS":"IOA","ADM0_A3_SA":"IOA","ADM0_A3_EG":"IOA","ADM0_A3_MA":"IOA","ADM0_A3_PT":"IOA","ADM0_A3_AR":"IOA","ADM0_A3_JP":"IOA","ADM0_A3_KO":"IOA","ADM0_A3_VN":"IOA","ADM0_A3_TR":"IOA","ADM0_A3_ID":"IOA","ADM0_A3_PL":"IOA","ADM0_A3_GR":"IOA","ADM0_A3_IT":"IOA","ADM0_A3_NL":"IOA","ADM0_A3_SE":"IOA","ADM0_A3_BD":"IOA","ADM0_A3_UA":"IOA","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Asia","REGION_UN":"Africa","SUBREGION":"Seven seas (open ocean)","REGION_WB":"East Asia & Pacific","NAME_LEN":17,"LONG_LEN":24,"ABBREV_LEN":13,"TINY":-99,"HOMEPART":-99,"MIN_ZOOM":0,"MIN_LABEL":5,"MAX_LABEL":9.5,"LABEL_X":105.67259,"LABEL_Y":-10.490789,"NE_ID":1159320363,"WIKIDATAID":"Q4824275","NAME_AR":"أقاليم المحيط الهندي الأسترالية","NAME_BN":"অস্ট্রেলীয় ভারত মহাসাগর অঞ্চল","NAME_DE":"Australische Territorien im Indischen Ozean","NAME_EN":"Australian Indian Ocean Territories","NAME_ES":"Territorios Australianos del Océano Índico","NAME_FA":"سرزمینهای اقیانوس هند استرالیا","NAME_FR":"Territoires extérieurs australiens de l'Océan Indien","NAME_EL":"Αυστραλέζικο Έδαφος Ινδικού Ωκεανού","NAME_HE":"טריטוריה של האוקיינוס ההודי","NAME_HI":"हिंद महासागर के ऑस्ट्रेलियाई क्षेत्र","NAME_HU":"Ausztrál Indiai-óceáni Terület","NAME_ID":"Wilayah Samudra Hindia Australia","NAME_IT":"Australian Indian Ocean Territories","NAME_JA":"オーストラリア領インド洋地域","NAME_KO":"호주령 인도양 지역","NAME_NL":"Australische territoria van de Indische Oceaan","NAME_PL":"Australijskie Terytorium Oceanu Indyjskiego","NAME_PT":"Territórios australianos do Oceano Índico","NAME_RU":"Австралийские территории в Индийском океане","NAME_SV":"Australienska indiska oceanens havsområde","NAME_TR":"Australian Indian Ocean Territories","NAME_UK":"Австралійські території в Індійському океані","NAME_UR":"آسْٹْریلِیَن انڈین اوشین تیریتورییس","NAME_VI":"Vùng lãnh thổ Ấn Độ Dương thuộc Úc","NAME_ZH":"澳屬印度洋領地","NAME_ZHT":"澳屬印度洋領地","FCLASS_ISO":"Unrecognized","TLC_DIFF":"1","FCLASS_TLC":"Admin-0 dependency","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[96.825879,-12.199805,105.725391,-10.430664],"geometry":{"type":"MultiPolygon","coordinates":[[[[105.725391,-10.492969],[105.696875,-10.56416],[105.644336,-10.525],[105.584082,-10.5125],[105.595703,-10.459668],[105.645508,-10.452246],[105.669824,-10.449414],[105.705469,-10.430664],[105.725391,-10.492969]]],[[[96.84043,-12.181836],[96.851953,-12.186816],[96.867383,-12.181445],[96.873633,-12.187695],[96.849512,-12.197363],[96.834863,-12.179688],[96.827734,-12.150684],[96.825879,-12.126172],[96.832617,-12.126172],[96.832617,-12.136035],[96.83418,-12.144141],[96.839453,-12.160254],[96.835645,-12.171289],[96.84043,-12.181836]]],[[[96.918262,-12.194141],[96.906543,-12.199805],[96.896777,-12.195508],[96.893945,-12.192578],[96.892969,-12.187207],[96.904395,-12.186523],[96.913379,-12.181836],[96.918945,-12.17334],[96.920508,-12.161523],[96.925293,-12.173242],[96.924316,-12.184668],[96.918262,-12.194141]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":5,"LABELRANK":5,"SOVEREIGNT":"Australia","SOV_A3":"AU1","ADM0_DIF":1,"LEVEL":2,"TYPE":"Dependency","TLC":"1","ADMIN":"Heard Island and McDonald Islands","ADM0_A3":"HMD","GEOU_DIF":0,"GEOUNIT":"Heard Island and McDonald Islands","GU_A3":"HMD","SU_DIF":0,"SUBUNIT":"Heard Island and McDonald Islands","SU_A3":"HMD","BRK_DIFF":0,"NAME":"Heard I. and McDonald Is.","NAME_LONG":"Heard I. and McDonald Islands","BRK_A3":"HMD","BRK_NAME":"Heard I. and McDonald Is.","BRK_GROUP":null,"ABBREV":"H.M.Is.","POSTAL":"HM","FORMAL_EN":"Territory of Heard Island and McDonald Islands","FORMAL_FR":null,"NAME_CIAWF":null,"NOTE_ADM0":"Auz.","NOTE_BRK":null,"NAME_SORT":"Heard Island and McDonald Islands","NAME_ALT":null,"MAPCOLOR7":1,"MAPCOLOR8":2,"MAPCOLOR9":2,"MAPCOLOR13":7,"POP_EST":0,"POP_RANK":1,"POP_YEAR":2019,"GDP_MD":0,"GDP_YEAR":2016,"ECONOMY":"7. Least developed region","INCOME_GRP":"5. Low income","FIPS_10":"HM","ISO_A2":"HM","ISO_A2_EH":"HM","ISO_A3":"HMD","ISO_A3_EH":"HMD","ISO_N3":"334","ISO_N3_EH":"334","UN_A3":"-099","WB_A2":"-99","WB_A3":"-99","WOE_ID":28289411,"WOE_ID_EH":28289411,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"HMD","ADM0_DIFF":null,"ADM0_TLC":"HMD","ADM0_A3_US":"HMD","ADM0_A3_FR":"HMD","ADM0_A3_RU":"HMD","ADM0_A3_ES":"HMD","ADM0_A3_CN":"HMD","ADM0_A3_TW":"HMD","ADM0_A3_IN":"HMD","ADM0_A3_NP":"HMD","ADM0_A3_PK":"HMD","ADM0_A3_DE":"HMD","ADM0_A3_GB":"HMD","ADM0_A3_BR":"HMD","ADM0_A3_IL":"HMD","ADM0_A3_PS":"HMD","ADM0_A3_SA":"HMD","ADM0_A3_EG":"HMD","ADM0_A3_MA":"HMD","ADM0_A3_PT":"HMD","ADM0_A3_AR":"HMD","ADM0_A3_JP":"HMD","ADM0_A3_KO":"HMD","ADM0_A3_VN":"HMD","ADM0_A3_TR":"HMD","ADM0_A3_ID":"HMD","ADM0_A3_PL":"HMD","ADM0_A3_GR":"HMD","ADM0_A3_IT":"HMD","ADM0_A3_NL":"HMD","ADM0_A3_SE":"HMD","ADM0_A3_BD":"HMD","ADM0_A3_UA":"HMD","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Seven seas (open ocean)","REGION_UN":"Africa","SUBREGION":"Seven seas (open ocean)","REGION_WB":"Sub-Saharan Africa","NAME_LEN":25,"LONG_LEN":29,"ABBREV_LEN":7,"TINY":-99,"HOMEPART":-99,"MIN_ZOOM":0,"MIN_LABEL":4.5,"MAX_LABEL":9.5,"LABEL_X":73.50521,"LABEL_Y":-53.103462,"NE_ID":1159320361,"WIKIDATAID":"Q131198","NAME_AR":"جزيرة هيرد وجزر ماكدونالد","NAME_BN":"হার্ড দ্বীপ এবং ম্যাকডোনাল্ড দ্বীপপুঞ্জ","NAME_DE":"Heard und McDonaldinseln","NAME_EN":"Heard Island and McDonald Islands","NAME_ES":"Islas Heard y McDonald","NAME_FA":"جزیره هرد و جزایر مکدونالد","NAME_FR":"îles Heard-et-MacDonald","NAME_EL":"Νήσοι Χερντ και Μακντόναλντ","NAME_HE":"האי הרד ואיי מקדונלד","NAME_HI":"हर्ड द्वीप और मैकडोनाल्ड द्वीप","NAME_HU":"Heard-sziget és McDonald-szigetek","NAME_ID":"Pulau Heard dan Kepulauan McDonald","NAME_IT":"Isole Heard e McDonald","NAME_JA":"ハード島とマクドナルド諸島","NAME_KO":"허드 맥도널드 제도","NAME_NL":"Heard en McDonaldeilanden","NAME_PL":"Wyspy Heard i McDonalda","NAME_PT":"Ilha Heard e Ilhas McDonald","NAME_RU":"Остров Херд и острова Макдональд","NAME_SV":"Heard- och McDonaldöarna","NAME_TR":"Heard Adası ve McDonald Adaları","NAME_UK":"Острів Герд і острови Макдональд","NAME_UR":"جزیرہ ہرڈ و جزائر مکڈونلڈ","NAME_VI":"Đảo Heard và quần đảo McDonald","NAME_ZH":"赫德岛和麦克唐纳群岛","NAME_ZHT":"赫德島和麥克唐納群島","FCLASS_ISO":"Admin-0 dependency","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 dependency","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[73.251172,-53.18457,73.837793,-52.966309],"geometry":{"type":"Polygon","coordinates":[[[73.707422,-53.137109],[73.587988,-53.18457],[73.465137,-53.18418],[73.413281,-53.146777],[73.336328,-53.029883],[73.285449,-53.021484],[73.253906,-52.989355],[73.251172,-52.975781],[73.305273,-52.966309],[73.388086,-52.999902],[73.585742,-53.027148],[73.73125,-53.091211],[73.837793,-53.112793],[73.795117,-53.129883],[73.707422,-53.137109]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":5,"LABELRANK":5,"SOVEREIGNT":"Australia","SOV_A3":"AU1","ADM0_DIF":1,"LEVEL":2,"TYPE":"Dependency","TLC":"1","ADMIN":"Norfolk Island","ADM0_A3":"NFK","GEOU_DIF":0,"GEOUNIT":"Norfolk Island","GU_A3":"NFK","SU_DIF":0,"SUBUNIT":"Norfolk Island","SU_A3":"NFK","BRK_DIFF":0,"NAME":"Norfolk Island","NAME_LONG":"Norfolk Island","BRK_A3":"NFK","BRK_NAME":"Norfolk Island","BRK_GROUP":null,"ABBREV":"Nfk. I.","POSTAL":"NF","FORMAL_EN":"Territory of Norfolk Island","FORMAL_FR":null,"NAME_CIAWF":"Norfolk Island","NOTE_ADM0":"Auz.","NOTE_BRK":null,"NAME_SORT":"Norfolk Island","NAME_ALT":null,"MAPCOLOR7":1,"MAPCOLOR8":2,"MAPCOLOR9":2,"MAPCOLOR13":7,"POP_EST":2169,"POP_RANK":4,"POP_YEAR":2011,"GDP_MD":32,"GDP_YEAR":2016,"ECONOMY":"6. Developing region","INCOME_GRP":"4. Lower middle income","FIPS_10":"NF","ISO_A2":"NF","ISO_A2_EH":"NF","ISO_A3":"NFK","ISO_A3_EH":"NFK","ISO_N3":"574","ISO_N3_EH":"574","UN_A3":"574","WB_A2":"-99","WB_A3":"-99","WOE_ID":23424905,"WOE_ID_EH":23424905,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"NFK","ADM0_DIFF":null,"ADM0_TLC":"NFK","ADM0_A3_US":"NFK","ADM0_A3_FR":"NFK","ADM0_A3_RU":"NFK","ADM0_A3_ES":"NFK","ADM0_A3_CN":"NFK","ADM0_A3_TW":"NFK","ADM0_A3_IN":"NFK","ADM0_A3_NP":"NFK","ADM0_A3_PK":"NFK","ADM0_A3_DE":"NFK","ADM0_A3_GB":"NFK","ADM0_A3_BR":"NFK","ADM0_A3_IL":"NFK","ADM0_A3_PS":"NFK","ADM0_A3_SA":"NFK","ADM0_A3_EG":"NFK","ADM0_A3_MA":"NFK","ADM0_A3_PT":"NFK","ADM0_A3_AR":"NFK","ADM0_A3_JP":"NFK","ADM0_A3_KO":"NFK","ADM0_A3_VN":"NFK","ADM0_A3_TR":"NFK","ADM0_A3_ID":"NFK","ADM0_A3_PL":"NFK","ADM0_A3_GR":"NFK","ADM0_A3_IT":"NFK","ADM0_A3_NL":"NFK","ADM0_A3_SE":"NFK","ADM0_A3_BD":"NFK","ADM0_A3_UA":"NFK","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Oceania","REGION_UN":"Oceania","SUBREGION":"Australia and New Zealand","REGION_WB":"East Asia & Pacific","NAME_LEN":14,"LONG_LEN":14,"ABBREV_LEN":7,"TINY":-99,"HOMEPART":-99,"MIN_ZOOM":0,"MIN_LABEL":4.5,"MAX_LABEL":9.5,"LABEL_X":167.954531,"LABEL_Y":-29.033042,"NE_ID":1159320365,"WIKIDATAID":"Q31057","NAME_AR":"جزيرة نورفولك","NAME_BN":"নরফোক দ্বীপ","NAME_DE":"Norfolkinsel","NAME_EN":"Norfolk Island","NAME_ES":"Isla Norfolk","NAME_FA":"جزیره نورفک","NAME_FR":"Île Norfolk","NAME_EL":"Νόρφολκ","NAME_HE":"נורפוק","NAME_HI":"नॉर्फ़ोक द्वीप","NAME_HU":"Norfolk-sziget","NAME_ID":"Pulau Norfolk","NAME_IT":"Isola Norfolk","NAME_JA":"ノーフォーク島","NAME_KO":"노퍽섬","NAME_NL":"Norfolk","NAME_PL":"Norfolk","NAME_PT":"Ilha Norfolk","NAME_RU":"Норфолк","NAME_SV":"Norfolkön","NAME_TR":"Norfolk Adası","NAME_UK":"острів Норфолк","NAME_UR":"جزیرہ نارفولک","NAME_VI":"Đảo Norfolk","NAME_ZH":"诺福克岛","NAME_ZHT":"諾福克島","FCLASS_ISO":"Admin-0 dependency","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 dependency","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[167.906152,-29.096289,167.99043,-29.013965],"geometry":{"type":"Polygon","coordinates":[[[167.939453,-29.017676],[167.959766,-29.02832],[167.978125,-29.034277],[167.99043,-29.04209],[167.988672,-29.058984],[167.979004,-29.075684],[167.967676,-29.082813],[167.96416,-29.085352],[167.961914,-29.088477],[167.960645,-29.092188],[167.960742,-29.096289],[167.954688,-29.082129],[167.944434,-29.072949],[167.933789,-29.072168],[167.926563,-29.082813],[167.92041,-29.082813],[167.918262,-29.071875],[167.914258,-29.061914],[167.912402,-29.052832],[167.916406,-29.045117],[167.924023,-29.03584],[167.924609,-29.028516],[167.918555,-29.025098],[167.906152,-29.028125],[167.920605,-29.013965],[167.939453,-29.017676]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":5,"LABELRANK":5,"SOVEREIGNT":"Australia","SOV_A3":"AU1","ADM0_DIF":1,"LEVEL":2,"TYPE":"Dependency","TLC":"1","ADMIN":"Ashmore and Cartier Islands","ADM0_A3":"ATC","GEOU_DIF":0,"GEOUNIT":"Ashmore and Cartier Islands","GU_A3":"ATC","SU_DIF":0,"SUBUNIT":"Ashmore and Cartier Islands","SU_A3":"ATC","BRK_DIFF":0,"NAME":"Ashmore and Cartier Is.","NAME_LONG":"Ashmore and Cartier Islands","BRK_A3":"ATC","BRK_NAME":"Ashmore and Cartier Is.","BRK_GROUP":null,"ABBREV":"A.C.Is.","POSTAL":"AU","FORMAL_EN":"Territory of Ashmore and Cartier Islands","FORMAL_FR":null,"NAME_CIAWF":null,"NOTE_ADM0":"Auz.","NOTE_BRK":null,"NAME_SORT":"Ashmore and Cartier Islands","NAME_ALT":null,"MAPCOLOR7":1,"MAPCOLOR8":2,"MAPCOLOR9":2,"MAPCOLOR13":7,"POP_EST":0,"POP_RANK":1,"POP_YEAR":2019,"GDP_MD":0,"GDP_YEAR":2019,"ECONOMY":"7. Least developed region","INCOME_GRP":"5. Low income","FIPS_10":"AT","ISO_A2":"-99","ISO_A2_EH":"AU","ISO_A3":"-99","ISO_A3_EH":"AUS","ISO_N3":"036","ISO_N3_EH":"036","UN_A3":"-099","WB_A2":"-99","WB_A3":"-99","WOE_ID":23424749,"WOE_ID_EH":23424749,"WOE_NOTE":"WOE Admin-1 states provinces match.","ADM0_ISO":"AUS","ADM0_DIFF":"1","ADM0_TLC":"ATC","ADM0_A3_US":"ATC","ADM0_A3_FR":"ATC","ADM0_A3_RU":"ATC","ADM0_A3_ES":"ATC","ADM0_A3_CN":"ATC","ADM0_A3_TW":"ATC","ADM0_A3_IN":"ATC","ADM0_A3_NP":"ATC","ADM0_A3_PK":"ATC","ADM0_A3_DE":"ATC","ADM0_A3_GB":"ATC","ADM0_A3_BR":"ATC","ADM0_A3_IL":"ATC","ADM0_A3_PS":"ATC","ADM0_A3_SA":"ATC","ADM0_A3_EG":"ATC","ADM0_A3_MA":"ATC","ADM0_A3_PT":"ATC","ADM0_A3_AR":"ATC","ADM0_A3_JP":"ATC","ADM0_A3_KO":"ATC","ADM0_A3_VN":"ATC","ADM0_A3_TR":"ATC","ADM0_A3_ID":"ATC","ADM0_A3_PL":"ATC","ADM0_A3_GR":"ATC","ADM0_A3_IT":"ATC","ADM0_A3_NL":"ATC","ADM0_A3_SE":"ATC","ADM0_A3_BD":"ATC","ADM0_A3_UA":"ATC","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Oceania","REGION_UN":"Oceania","SUBREGION":"Australia and New Zealand","REGION_WB":"East Asia & Pacific","NAME_LEN":23,"LONG_LEN":27,"ABBREV_LEN":7,"TINY":-99,"HOMEPART":-99,"MIN_ZOOM":0,"MIN_LABEL":4.5,"MAX_LABEL":9.5,"LABEL_X":123.586368,"LABEL_Y":-12.432571,"NE_ID":1159320353,"WIKIDATAID":"Q133888","NAME_AR":"جزر أشمور وكارتيير","NAME_BN":"আসমর এবং কার্টিয়ে দ্বীপপুঞ্জ","NAME_DE":"Ashmore- und Cartierinseln","NAME_EN":"Ashmore and Cartier Islands","NAME_ES":"Islas Ashmore y Cartier","NAME_FA":"جزیرههای آشمور و کارتیر","NAME_FR":"Îles Ashmore-et-Cartier","NAME_EL":"Άσμορ και Καρτιέ Νησιά","NAME_HE":"איי אשמור וקרטייה","NAME_HI":"एशमोर और कार्टियर द्वीप समूह","NAME_HU":"Ashmore- és Cartier-szigetek","NAME_ID":"Kepulauan Ashmore dan Cartier","NAME_IT":"Isole Ashmore e Cartier","NAME_JA":"アシュモア・カルティエ諸島","NAME_KO":"애시모어 카르티에 제도","NAME_NL":"Ashmore- en Cartiereilanden","NAME_PL":"Wyspy Ashmore i Cartiera","NAME_PT":"Ilhas Ashmore e Cartier","NAME_RU":"Острова Ашмор и Картье","NAME_SV":"Ashmore- och Cartieröarna","NAME_TR":"Ashmore ve Cartier Adaları","NAME_UK":"Острови Ашмор і Картьє","NAME_UR":"جزائر ایشمور و کارٹیر","NAME_VI":"Quần đảo Ashmore và Cartier","NAME_ZH":"阿什莫尔和卡捷群岛","NAME_ZHT":"亞什摩及卡地爾群島","FCLASS_ISO":"Unrecognized","TLC_DIFF":"1","FCLASS_TLC":"Admin-0 dependency","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[123.572461,-12.435938,123.595215,-12.423926],"geometry":{"type":"Polygon","coordinates":[[[123.594531,-12.425684],[123.595215,-12.435938],[123.573145,-12.43418],[123.572461,-12.423926],[123.594531,-12.425684]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":6,"SOVEREIGNT":"Armenia","SOV_A3":"ARM","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Armenia","ADM0_A3":"ARM","GEOU_DIF":0,"GEOUNIT":"Armenia","GU_A3":"ARM","SU_DIF":0,"SUBUNIT":"Armenia","SU_A3":"ARM","BRK_DIFF":0,"NAME":"Armenia","NAME_LONG":"Armenia","BRK_A3":"ARM","BRK_NAME":"Armenia","BRK_GROUP":null,"ABBREV":"Arm.","POSTAL":"ARM","FORMAL_EN":"Republic of Armenia","FORMAL_FR":null,"NAME_CIAWF":"Armenia","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Armenia","NAME_ALT":null,"MAPCOLOR7":3,"MAPCOLOR8":1,"MAPCOLOR9":2,"MAPCOLOR13":10,"POP_EST":2957731,"POP_RANK":12,"POP_YEAR":2019,"GDP_MD":13672,"GDP_YEAR":2019,"ECONOMY":"6. Developing region","INCOME_GRP":"4. Lower middle income","FIPS_10":"AM","ISO_A2":"AM","ISO_A2_EH":"AM","ISO_A3":"ARM","ISO_A3_EH":"ARM","ISO_N3":"051","ISO_N3_EH":"051","UN_A3":"051","WB_A2":"AM","WB_A3":"ARM","WOE_ID":23424743,"WOE_ID_EH":23424743,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"ARM","ADM0_DIFF":null,"ADM0_TLC":"ARM","ADM0_A3_US":"ARM","ADM0_A3_FR":"ARM","ADM0_A3_RU":"ARM","ADM0_A3_ES":"ARM","ADM0_A3_CN":"ARM","ADM0_A3_TW":"ARM","ADM0_A3_IN":"ARM","ADM0_A3_NP":"ARM","ADM0_A3_PK":"ARM","ADM0_A3_DE":"ARM","ADM0_A3_GB":"ARM","ADM0_A3_BR":"ARM","ADM0_A3_IL":"ARM","ADM0_A3_PS":"ARM","ADM0_A3_SA":"ARM","ADM0_A3_EG":"ARM","ADM0_A3_MA":"ARM","ADM0_A3_PT":"ARM","ADM0_A3_AR":"ARM","ADM0_A3_JP":"ARM","ADM0_A3_KO":"ARM","ADM0_A3_VN":"ARM","ADM0_A3_TR":"ARM","ADM0_A3_ID":"ARM","ADM0_A3_PL":"ARM","ADM0_A3_GR":"ARM","ADM0_A3_IT":"ARM","ADM0_A3_NL":"ARM","ADM0_A3_SE":"ARM","ADM0_A3_BD":"ARM","ADM0_A3_UA":"ARM","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Asia","REGION_UN":"Asia","SUBREGION":"Western Asia","REGION_WB":"Europe & Central Asia","NAME_LEN":7,"LONG_LEN":7,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":5,"MAX_LABEL":10,"LABEL_X":44.800564,"LABEL_Y":40.459077,"NE_ID":1159320333,"WIKIDATAID":"Q399","NAME_AR":"أرمينيا","NAME_BN":"আর্মেনিয়া","NAME_DE":"Armenien","NAME_EN":"Armenia","NAME_ES":"Armenia","NAME_FA":"ارمنستان","NAME_FR":"Arménie","NAME_EL":"Αρμενία","NAME_HE":"ארמניה","NAME_HI":"आर्मीनिया","NAME_HU":"Örményország","NAME_ID":"Armenia","NAME_IT":"Armenia","NAME_JA":"アルメニア","NAME_KO":"아르메니아","NAME_NL":"Armenië","NAME_PL":"Armenia","NAME_PT":"Arménia","NAME_RU":"Армения","NAME_SV":"Armenien","NAME_TR":"Ermenistan","NAME_UK":"Вірменія","NAME_UR":"آرمینیا","NAME_VI":"Armenia","NAME_ZH":"亚美尼亚","NAME_ZHT":"亞美尼亞","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[43.439453,38.869043,46.584766,41.290967],"geometry":{"type":"MultiPolygon","coordinates":[[[[44.768262,39.703516],[44.733789,39.746484],[44.560449,39.887598],[44.399609,39.995752],[44.289258,40.040381],[44.178027,40.035742],[44.005371,40.014111],[43.941992,40.023145],[43.791699,40.070264],[43.666211,40.126367],[43.683301,40.149658],[43.709863,40.166504],[43.678125,40.239307],[43.608398,40.356592],[43.61582,40.393311],[43.59375,40.444043],[43.569336,40.482373],[43.667871,40.574072],[43.712891,40.647754],[43.722656,40.719531],[43.696484,40.794141],[43.631641,40.929004],[43.591699,40.968213],[43.51748,41.004834],[43.455273,41.064697],[43.439453,41.107129],[43.491992,41.115527],[43.64502,41.11665],[43.793164,41.131104],[43.90918,41.158984],[44.077246,41.18252],[44.146484,41.203369],[44.227344,41.21333],[44.473047,41.191016],[44.564844,41.208203],[44.841406,41.211377],[44.848535,41.220166],[44.810938,41.248584],[44.811328,41.259375],[44.975879,41.27749],[45.001367,41.290967],[45.022949,41.245703],[45.084766,41.195459],[45.152344,41.175146],[45.188574,41.147412],[45.190234,41.126367],[45.070703,41.10083],[45.062598,41.088135],[45.070508,41.075586],[45.106055,41.069336],[45.273438,41.00625],[45.368945,41.004883],[45.419141,40.985693],[45.444238,40.947998],[45.524023,40.896729],[45.5875,40.846924],[45.591406,40.829736],[45.579395,40.804492],[45.401367,40.707129],[45.378906,40.673584],[45.376172,40.638086],[45.454395,40.532373],[45.569531,40.416846],[45.735742,40.329102],[45.964648,40.233789],[45.967578,40.174805],[45.93125,40.104687],[45.900098,40.05708],[45.885938,40.024854],[45.858105,40.011279],[45.630176,40.014209],[45.595996,40.002832],[45.580957,39.989014],[45.579785,39.977539],[45.661816,39.956201],[45.789648,39.881104],[45.863184,39.80835],[45.939941,39.776562],[46.025879,39.718555],[46.094824,39.664453],[46.202051,39.594482],[46.32168,39.617432],[46.481445,39.555176],[46.488086,39.512842],[46.478125,39.475098],[46.377637,39.433887],[46.365137,39.416797],[46.365234,39.40249],[46.378418,39.382275],[46.437305,39.348535],[46.506641,39.298535],[46.584766,39.223682],[46.55,39.201416],[46.477148,39.198193],[46.420313,39.207373],[46.400293,39.192187],[46.401465,39.167676],[46.475391,39.110889],[46.489844,39.069434],[46.486719,38.997461],[46.490625,38.906689],[46.317773,38.912646],[46.170117,38.869043],[46.114453,38.877783],[46.077441,38.954883],[46.045898,39.017529],[45.951855,39.178125],[45.977441,39.243896],[45.925,39.281934],[45.798633,39.350195],[45.766309,39.378467],[45.78418,39.417236],[45.796484,39.488135],[45.784473,39.545605],[45.750488,39.562939],[45.687402,39.564062],[45.610742,39.549805],[45.456836,39.494482],[45.349902,39.529883],[45.288281,39.565576],[45.252539,39.595459],[45.172559,39.570605],[45.152832,39.582666],[45.148633,39.656592],[45.124609,39.696338],[45.076465,39.742822],[45.031641,39.765137],[44.867188,39.719141],[44.768262,39.703516]],[[45.023633,41.027246],[45.028711,41.053857],[45.021094,41.077979],[44.994336,41.085596],[44.961426,41.079248],[44.958887,41.052637],[44.969043,41.027246],[45.002051,41.01582],[45.023633,41.027246]]],[[[45.552344,40.616064],[45.514355,40.599561],[45.478809,40.606982],[45.478809,40.64834],[45.504492,40.664844],[45.53418,40.664014],[45.562305,40.64917],[45.552344,40.616064]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":2,"SOVEREIGNT":"Argentina","SOV_A3":"ARG","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Argentina","ADM0_A3":"ARG","GEOU_DIF":0,"GEOUNIT":"Argentina","GU_A3":"ARG","SU_DIF":0,"SUBUNIT":"Argentina","SU_A3":"ARG","BRK_DIFF":0,"NAME":"Argentina","NAME_LONG":"Argentina","BRK_A3":"ARG","BRK_NAME":"Argentina","BRK_GROUP":null,"ABBREV":"Arg.","POSTAL":"AR","FORMAL_EN":"Argentine Republic","FORMAL_FR":null,"NAME_CIAWF":"Argentina","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Argentina","NAME_ALT":null,"MAPCOLOR7":3,"MAPCOLOR8":1,"MAPCOLOR9":3,"MAPCOLOR13":13,"POP_EST":44938712,"POP_RANK":15,"POP_YEAR":2019,"GDP_MD":445445,"GDP_YEAR":2019,"ECONOMY":"5. Emerging region: G20","INCOME_GRP":"3. Upper middle income","FIPS_10":"AR","ISO_A2":"AR","ISO_A2_EH":"AR","ISO_A3":"ARG","ISO_A3_EH":"ARG","ISO_N3":"032","ISO_N3_EH":"032","UN_A3":"032","WB_A2":"AR","WB_A3":"ARG","WOE_ID":23424747,"WOE_ID_EH":23424747,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"ARG","ADM0_DIFF":null,"ADM0_TLC":"ARG","ADM0_A3_US":"ARG","ADM0_A3_FR":"ARG","ADM0_A3_RU":"ARG","ADM0_A3_ES":"ARG","ADM0_A3_CN":"ARG","ADM0_A3_TW":"ARG","ADM0_A3_IN":"ARG","ADM0_A3_NP":"ARG","ADM0_A3_PK":"ARG","ADM0_A3_DE":"ARG","ADM0_A3_GB":"ARG","ADM0_A3_BR":"ARG","ADM0_A3_IL":"ARG","ADM0_A3_PS":"ARG","ADM0_A3_SA":"ARG","ADM0_A3_EG":"ARG","ADM0_A3_MA":"ARG","ADM0_A3_PT":"ARG","ADM0_A3_AR":"ARG","ADM0_A3_JP":"ARG","ADM0_A3_KO":"ARG","ADM0_A3_VN":"ARG","ADM0_A3_TR":"ARG","ADM0_A3_ID":"ARG","ADM0_A3_PL":"ARG","ADM0_A3_GR":"ARG","ADM0_A3_IT":"ARG","ADM0_A3_NL":"ARG","ADM0_A3_SE":"ARG","ADM0_A3_BD":"ARG","ADM0_A3_UA":"ARG","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"South America","REGION_UN":"Americas","SUBREGION":"South America","REGION_WB":"Latin America & Caribbean","NAME_LEN":9,"LONG_LEN":9,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":2,"MAX_LABEL":7,"LABEL_X":-64.173331,"LABEL_Y":-33.501159,"NE_ID":1159320331,"WIKIDATAID":"Q414","NAME_AR":"الأرجنتين","NAME_BN":"আর্জেন্টিনা","NAME_DE":"Argentinien","NAME_EN":"Argentina","NAME_ES":"Argentina","NAME_FA":"آرژانتین","NAME_FR":"Argentine","NAME_EL":"Αργεντινή","NAME_HE":"ארגנטינה","NAME_HI":"अर्जेण्टीना","NAME_HU":"Argentína","NAME_ID":"Argentina","NAME_IT":"Argentina","NAME_JA":"アルゼンチン","NAME_KO":"아르헨티나","NAME_NL":"Argentinië","NAME_PL":"Argentyna","NAME_PT":"Argentina","NAME_RU":"Аргентина","NAME_SV":"Argentina","NAME_TR":"Arjantin","NAME_UK":"Аргентина","NAME_UR":"ارجنٹائن","NAME_VI":"Argentina","NAME_ZH":"阿根廷","NAME_ZHT":"阿根廷","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[-73.57627,-55.032129,-53.668555,-21.802539],"geometry":{"type":"MultiPolygon","coordinates":[[[[-57.608887,-30.187793],[-57.645752,-30.226953],[-57.650879,-30.29502],[-57.712695,-30.384473],[-57.831201,-30.495215],[-57.87251,-30.591016],[-57.818555,-30.712012],[-57.810596,-30.858594],[-57.834082,-30.91748],[-57.886328,-30.937402],[-57.898291,-30.975195],[-57.870068,-31.031055],[-57.868408,-31.104395],[-57.893359,-31.195312],[-57.94834,-31.299414],[-58.033398,-31.416602],[-58.053857,-31.494922],[-58.009668,-31.534375],[-57.987988,-31.576172],[-57.988867,-31.620605],[-58.006982,-31.684961],[-58.042334,-31.769238],[-58.09585,-31.831836],[-58.16748,-31.872656],[-58.189014,-31.924219],[-58.1604,-31.986523],[-58.156348,-32.051563],[-58.177002,-32.119043],[-58.164795,-32.184863],[-58.119727,-32.248926],[-58.123047,-32.321875],[-58.201172,-32.47168],[-58.219971,-32.563965],[-58.170996,-32.959277],[-58.200781,-33.014648],[-58.250391,-33.07832],[-58.308887,-33.08291],[-58.375977,-33.071875],[-58.424463,-33.111523],[-58.454834,-33.285938],[-58.547217,-33.663477],[-58.530566,-33.753027],[-58.456592,-33.89834],[-58.429492,-33.990918],[-58.409033,-34.060742],[-58.39248,-34.192969],[-58.435498,-34.252539],[-58.475244,-34.262988],[-58.525488,-34.296191],[-58.466211,-34.457422],[-58.418945,-34.531641],[-58.28335,-34.683496],[-57.763574,-34.894531],[-57.547852,-35.018945],[-57.303662,-35.188477],[-57.170654,-35.3625],[-57.158887,-35.505957],[-57.353906,-35.720313],[-57.375488,-35.900293],[-57.335449,-36.026758],[-57.26499,-36.144141],[-57.076172,-36.296777],[-56.937158,-36.352539],[-56.749463,-36.346484],[-56.717383,-36.389063],[-56.698096,-36.426465],[-56.668262,-36.735254],[-56.672021,-36.85127],[-56.727148,-36.957715],[-57.087695,-37.446387],[-57.395752,-37.744629],[-57.507275,-37.909277],[-57.546973,-38.085645],[-57.645605,-38.169629],[-58.179199,-38.43584],[-59.007227,-38.67334],[-59.67627,-38.79668],[-59.82832,-38.838184],[-60.903955,-38.973926],[-61.112207,-38.992969],[-61.382861,-38.980859],[-61.602539,-38.998828],[-61.8479,-38.961816],[-62.066895,-38.919141],[-62.189258,-38.813281],[-62.334766,-38.800098],[-62.374463,-38.85293],[-62.303613,-38.988086],[-62.338086,-39.150586],[-62.295068,-39.243262],[-62.209082,-39.261816],[-62.126465,-39.309766],[-62.053662,-39.373828],[-62.179346,-39.380469],[-62.130566,-39.431543],[-62.076807,-39.461523],[-62.082764,-39.568359],[-62.131543,-39.825391],[-62.253955,-39.880469],[-62.286914,-39.895313],[-62.323975,-39.950684],[-62.401855,-40.196582],[-62.427002,-40.355957],[-62.393604,-40.458789],[-62.246338,-40.674609],[-62.301855,-40.814648],[-62.39502,-40.89082],[-62.797998,-41.047168],[-62.959033,-41.109668],[-63.212842,-41.152441],[-63.621777,-41.159766],[-63.772998,-41.15],[-64.123193,-41.007812],[-64.383447,-40.922461],[-64.621484,-40.854492],[-64.852979,-40.81377],[-64.819873,-40.793262],[-64.804395,-40.756543],[-64.869482,-40.73584],[-64.916895,-40.731348],[-65.069434,-40.805273],[-65.133398,-40.880664],[-65.151855,-40.946973],[-65.15498,-41.105664],[-65.127881,-41.23877],[-65.018262,-41.566895],[-65.007031,-41.745117],[-65.059082,-41.969922],[-64.986377,-42.102051],[-64.898047,-42.161816],[-64.699512,-42.220801],[-64.622461,-42.261035],[-64.537744,-42.25459],[-64.511719,-42.270215],[-64.524219,-42.299219],[-64.574121,-42.355957],[-64.570996,-42.416016],[-64.42041,-42.433789],[-64.2646,-42.42168],[-64.100879,-42.395117],[-64.062207,-42.353418],[-64.061182,-42.266113],[-64.25293,-42.250781],[-64.228516,-42.218262],[-64.083252,-42.182813],[-63.892871,-42.124609],[-63.795557,-42.113867],[-63.729492,-42.15293],[-63.684766,-42.188672],[-63.629883,-42.282715],[-63.595898,-42.406543],[-63.594434,-42.555566],[-63.617334,-42.695801],[-63.644482,-42.745703],[-63.69248,-42.805273],[-64.034766,-42.88125],[-64.130664,-42.861426],[-64.219922,-42.755566],[-64.247949,-42.646094],[-64.324268,-42.572266],[-64.487842,-42.513477],[-64.650488,-42.531445],[-64.811963,-42.633203],[-64.970703,-42.666309],[-65.026904,-42.758887],[-64.629199,-42.908984],[-64.441553,-42.950684],[-64.380371,-42.949219],[-64.319141,-42.968945],[-64.375684,-43.024609],[-64.432227,-43.05918],[-64.715234,-43.135547],[-64.839941,-43.188867],[-64.985547,-43.293555],[-65.189746,-43.52207],[-65.252344,-43.571875],[-65.283594,-43.62998],[-65.304688,-43.7875],[-65.238574,-44.04873],[-65.308398,-44.158203],[-65.265527,-44.279687],[-65.289844,-44.360742],[-65.361279,-44.477344],[-65.647607,-44.661426],[-65.69834,-44.796191],[-65.599121,-44.875586],[-65.605713,-44.94502],[-65.63877,-45.007812],[-65.757715,-45.007129],[-66.190137,-44.964746],[-66.347754,-45.033594],[-66.493604,-45.117578],[-66.533447,-45.157813],[-66.585059,-45.18291],[-66.882471,-45.227637],[-66.941406,-45.257324],[-67.257617,-45.577246],[-67.393018,-45.775586],[-67.556641,-45.970117],[-67.599561,-46.052539],[-67.608887,-46.166797],[-67.586084,-46.269531],[-67.563379,-46.34541],[-67.506445,-46.442773],[-67.386621,-46.553809],[-66.776855,-47.005859],[-66.650391,-47.045312],[-65.998535,-47.09375],[-65.853662,-47.156738],[-65.769092,-47.256738],[-65.738086,-47.344922],[-65.775391,-47.568359],[-65.814307,-47.638184],[-65.886328,-47.701562],[-66.040625,-47.783301],[-66.225244,-47.826758],[-66.172363,-47.857617],[-66.097363,-47.853223],[-65.934229,-47.826758],[-65.863672,-47.853223],[-65.810059,-47.941113],[-65.912158,-47.976758],[-65.943408,-48.019336],[-66.017187,-48.084277],[-66.393359,-48.342383],[-66.596289,-48.419531],[-66.782812,-48.522949],[-67.033105,-48.627734],[-67.130957,-48.687891],[-67.26333,-48.814258],[-67.466309,-48.951758],[-67.684863,-49.24668],[-67.693701,-49.304004],[-67.661963,-49.342187],[-67.783496,-49.858887],[-67.825977,-49.919629],[-67.913965,-49.984473],[-68.145654,-50.091406],[-68.257227,-50.10459],[-68.404639,-50.042676],[-68.487891,-49.97793],[-68.569287,-49.866992],[-68.667578,-49.752539],[-68.672656,-49.793457],[-68.638477,-49.862988],[-68.661621,-49.935742],[-68.912988,-49.96875],[-68.97959,-50.003027],[-68.752686,-49.987695],[-68.597949,-50.009473],[-68.532568,-50.036133],[-68.47373,-50.091406],[-68.421875,-50.15791],[-68.46543,-50.194727],[-68.589355,-50.225195],[-68.749854,-50.281152],[-68.939453,-50.382324],[-69.044775,-50.499121],[-69.090186,-50.583105],[-69.141406,-50.752539],[-69.15498,-50.864453],[-69.235156,-50.950586],[-69.358594,-51.028125],[-69.351758,-51.045801],[-69.267969,-51.006152],[-69.201025,-50.993652],[-69.143506,-51.096973],[-69.065723,-51.303516],[-69.02959,-51.446484],[-69.035303,-51.488965],[-69.058301,-51.547168],[-69.218066,-51.56123],[-69.360547,-51.559473],[-69.46543,-51.584473],[-69.409082,-51.610254],[-69.313037,-51.601074],[-69.180127,-51.662305],[-69.03252,-51.63623],[-68.965332,-51.677148],[-68.916797,-51.714648],[-68.69082,-52.013086],[-68.493506,-52.197559],[-68.39375,-52.307031],[-68.443359,-52.356641],[-68.460986,-52.29043],[-68.589795,-52.27334],[-68.715186,-52.255469],[-68.924561,-52.208105],[-69.206201,-52.136133],[-69.488428,-52.136133],[-69.712598,-52.075391],[-69.960254,-52.008203],[-70.482861,-52.002246],[-70.943164,-51.998145],[-71.414746,-51.993945],[-71.716602,-51.991309],[-71.918652,-51.989551],[-71.971094,-51.96416],[-71.953467,-51.880371],[-72.028418,-51.818652],[-72.136963,-51.744043],[-72.268994,-51.691113],[-72.334521,-51.620313],[-72.407666,-51.54082],[-72.366406,-51.470313],[-72.303223,-51.298926],[-72.301855,-51.22334],[-72.35918,-51.17041],[-72.376807,-51.09541],[-72.35918,-51.060156],[-72.307373,-51.033398],[-72.276318,-50.910254],[-72.300635,-50.789551],[-72.340234,-50.681836],[-72.392578,-50.634277],[-72.460156,-50.611719],[-72.509814,-50.60752],[-72.62041,-50.647656],[-72.803613,-50.637695],[-72.865918,-50.653125],[-72.955566,-50.696484],[-73.082373,-50.760352],[-73.15293,-50.738281],[-73.174512,-50.67002],[-73.221631,-50.610742],[-73.251611,-50.558496],[-73.27417,-50.472559],[-73.311719,-50.361914],[-73.386621,-50.231152],[-73.50127,-50.125293],[-73.507715,-50.030273],[-73.528906,-49.910938],[-73.47041,-49.794531],[-73.504541,-49.698047],[-73.57627,-49.58291],[-73.554199,-49.463867],[-73.483643,-49.397656],[-73.461572,-49.313867],[-73.135254,-49.300684],[-73.148877,-49.187988],[-73.09458,-49.096875],[-73.033643,-49.014355],[-72.981738,-48.976758],[-72.86543,-48.943945],[-72.728467,-48.896289],[-72.65127,-48.841602],[-72.614404,-48.792871],[-72.591748,-48.729688],[-72.585938,-48.6625],[-72.608398,-48.519336],[-72.582861,-48.475391],[-72.498145,-48.417383],[-72.354736,-48.36582],[-72.293018,-48.229102],[-72.32832,-48.110059],[-72.40791,-48.015918],[-72.509082,-47.97334],[-72.51792,-47.876367],[-72.472217,-47.78418],[-72.412598,-47.685547],[-72.341504,-47.57207],[-72.345947,-47.492676],[-72.28291,-47.446289],[-72.103418,-47.342773],[-72.041699,-47.241406],[-71.978516,-47.213867],[-71.90498,-47.20166],[-71.900537,-47.144336],[-71.954248,-47.0875],[-71.962988,-47.016016],[-71.956641,-46.936816],[-71.940234,-46.83125],[-71.856445,-46.791602],[-71.732715,-46.705859],[-71.699658,-46.651367],[-71.695215,-46.578418],[-71.731299,-46.427832],[-71.762109,-46.319824],[-71.777637,-46.27998],[-71.834131,-46.206738],[-71.875684,-46.160547],[-71.809277,-46.102734],[-71.684473,-46.041895],[-71.631543,-45.953711],[-71.680078,-45.878711],[-71.750635,-45.839063],[-71.772656,-45.724414],[-71.746191,-45.578906],[-71.693311,-45.534766],[-71.508105,-45.512695],[-71.49043,-45.437695],[-71.349316,-45.331934],[-71.35376,-45.230469],[-71.443457,-45.168262],[-71.531299,-45.067871],[-71.596289,-44.979199],[-71.812354,-44.930664],[-72.041699,-44.904199],[-72.07251,-44.82041],[-72.063721,-44.771875],[-71.957031,-44.791504],[-71.782812,-44.774414],[-71.65166,-44.77041],[-71.5604,-44.762012],[-71.455176,-44.749805],[-71.358154,-44.785156],[-71.261133,-44.763086],[-71.221484,-44.630762],[-71.159717,-44.560254],[-71.150879,-44.494043],[-71.212598,-44.441211],[-71.325732,-44.424902],[-71.82002,-44.383105],[-71.835059,-44.330176],[-71.830762,-44.241406],[-71.812109,-44.150781],[-71.812354,-44.106055],[-71.767187,-44.066699],[-71.716162,-43.984473],[-71.680078,-43.92959],[-71.715967,-43.858398],[-71.794727,-43.753223],[-71.737402,-43.704688],[-71.732764,-43.646777],[-71.750635,-43.590137],[-71.832422,-43.527148],[-71.90498,-43.440137],[-71.90498,-43.347559],[-71.820215,-43.322949],[-71.763867,-43.294629],[-71.750635,-43.237305],[-71.781494,-43.166797],[-71.898584,-43.145313],[-72.054688,-43.101953],[-72.102393,-43.065625],[-72.146436,-42.990039],[-72.113623,-42.776758],[-72.130029,-42.648242],[-72.143701,-42.577148],[-72.10542,-42.522461],[-72.053467,-42.473242],[-72.078125,-42.358496],[-72.124609,-42.29834],[-72.108203,-42.251855],[-72.064404,-42.205371],[-72.026123,-42.147949],[-71.993311,-42.134277],[-71.944092,-42.16709],[-71.860791,-42.147852],[-71.760937,-42.101465],[-71.75,-42.046777],[-71.77002,-41.968555],[-71.844482,-41.771973],[-71.911279,-41.650391],[-71.897607,-41.606641],[-71.871143,-41.560547],[-71.892187,-41.393359],[-71.885596,-41.292383],[-71.880713,-40.994629],[-71.873047,-40.892969],[-71.941357,-40.78916],[-71.932129,-40.691699],[-71.883789,-40.620605],[-71.838525,-40.524414],[-71.804639,-40.43916],[-71.769141,-40.400879],[-71.708984,-40.381738],[-71.695312,-40.335254],[-71.722656,-40.299707],[-71.800586,-40.244336],[-71.818311,-40.17666],[-71.801953,-40.124707],[-71.763672,-40.094629],[-71.704395,-40.094922],[-71.659766,-40.020801],[-71.647119,-39.929199],[-71.637891,-39.886816],[-71.67207,-39.833301],[-71.696826,-39.707031],[-71.719922,-39.635254],[-71.692578,-39.605176],[-71.654297,-39.594238],[-71.587012,-39.611133],[-71.539453,-39.602441],[-71.53125,-39.56416],[-71.525781,-39.523145],[-71.507764,-39.495215],[-71.465381,-39.402344],[-71.42002,-39.287207],[-71.409375,-39.205957],[-71.425586,-38.985645],[-71.401562,-38.935059],[-71.353174,-38.888867],[-71.285742,-38.84541],[-71.197266,-38.809375],[-71.087109,-38.75752],[-70.951611,-38.738477],[-70.896924,-38.681055],[-70.858643,-38.604492],[-70.847656,-38.541602],[-70.899658,-38.497852],[-70.967969,-38.445898],[-71.000488,-38.314844],[-71.018164,-38.193945],[-71.028174,-38.041211],[-71.096191,-37.909961],[-71.167578,-37.762305],[-71.186719,-37.631055],[-71.162842,-37.55918],[-71.134814,-37.445117],[-71.164893,-37.393262],[-71.200391,-37.300293],[-71.163477,-37.227441],[-71.118408,-37.114355],[-71.123828,-37.056934],[-71.159375,-36.920215],[-71.192187,-36.843652],[-71.159375,-36.761621],[-71.107422,-36.685059],[-71.066406,-36.644043],[-71.073242,-36.578027],[-71.055518,-36.52373],[-70.97793,-36.487305],[-70.905127,-36.419922],[-70.853174,-36.411719],[-70.790283,-36.411719],[-70.749268,-36.392578],[-70.732861,-36.340625],[-70.721924,-36.283203],[-70.621875,-36.211914],[-70.563379,-36.146387],[-70.456738,-36.132715],[-70.404785,-36.061719],[-70.403662,-35.970508],[-70.415723,-35.878516],[-70.380176,-35.771875],[-70.419727,-35.60918],[-70.415723,-35.523047],[-70.456738,-35.451953],[-70.448535,-35.375391],[-70.47041,-35.326172],[-70.532324,-35.30791],[-70.555176,-35.246875],[-70.525098,-35.216797],[-70.466602,-35.193652],[-70.393164,-35.146875],[-70.338135,-34.921777],[-70.312109,-34.85498],[-70.286768,-34.774512],[-70.289941,-34.732813],[-70.254687,-34.672656],[-70.210693,-34.58125],[-70.14126,-34.492871],[-70.101465,-34.432031],[-70.062988,-34.35],[-70.052051,-34.300781],[-70.002832,-34.27627],[-69.946338,-34.269922],[-69.879785,-34.254395],[-69.852441,-34.224316],[-69.857373,-34.180469],[-69.861523,-34.083594],[-69.881494,-33.929785],[-69.894336,-33.731348],[-69.882568,-33.600977],[-69.83877,-33.469727],[-69.797754,-33.398633],[-69.808691,-33.343945],[-69.819629,-33.283789],[-69.896191,-33.250977],[-69.969043,-33.279395],[-70.019824,-33.271484],[-70.084863,-33.201758],[-70.104004,-33.12793],[-70.093066,-33.026758],[-70.042139,-32.963672],[-70.021973,-32.88457],[-70.052051,-32.859961],[-70.116162,-32.807422],[-70.176953,-32.626074],[-70.169629,-32.47168],[-70.229785,-32.430664],[-70.257812,-32.309961],[-70.32002,-32.266699],[-70.344629,-32.176465],[-70.36377,-32.083496],[-70.355566,-32.042383],[-70.290918,-32.031055],[-70.254395,-31.957715],[-70.281738,-31.916602],[-70.330957,-31.881055],[-70.393848,-31.883789],[-70.450146,-31.841895],[-70.525635,-31.666406],[-70.585205,-31.569434],[-70.566406,-31.42793],[-70.554688,-31.317383],[-70.529053,-31.222852],[-70.51958,-31.148438],[-70.473096,-31.112793],[-70.429395,-31.129297],[-70.388379,-31.121094],[-70.350586,-31.060449],[-70.309082,-31.022656],[-70.311816,-30.992578],[-70.336426,-30.959766],[-70.348145,-30.902344],[-70.319238,-30.833984],[-70.269385,-30.677246],[-70.193945,-30.504688],[-70.161426,-30.440234],[-70.169629,-30.385547],[-70.153223,-30.360938],[-70.102002,-30.388281],[-69.956348,-30.358203],[-69.907129,-30.281641],[-69.888037,-30.213281],[-69.844287,-30.175],[-69.863379,-30.120313],[-69.923535,-30.103906],[-69.959961,-30.07832],[-69.945459,-30.016406],[-69.924121,-29.874023],[-69.927637,-29.769141],[-69.982617,-29.54541],[-70.026807,-29.324023],[-69.995605,-29.25],[-69.900342,-29.148828],[-69.827881,-29.103223],[-69.814844,-29.045508],[-69.743164,-28.783887],[-69.734912,-28.641113],[-69.687891,-28.562012],[-69.656934,-28.413574],[-69.527148,-28.285645],[-69.488867,-28.200879],[-69.436914,-28.192676],[-69.40957,-28.165332],[-69.340723,-28.070801],[-69.251221,-27.973633],[-69.174414,-27.924707],[-69.155273,-27.848145],[-69.118506,-27.743555],[-69.042187,-27.57002],[-68.999414,-27.449023],[-68.941992,-27.405176],[-68.875098,-27.24668],[-68.846338,-27.153711],[-68.769775,-27.11543],[-68.709619,-27.104492],[-68.652197,-27.14834],[-68.59209,-27.140039],[-68.537354,-27.085352],[-68.405371,-27.048145],[-68.345996,-27.02793],[-68.318652,-26.973242],[-68.318652,-26.877539],[-68.37334,-26.806445],[-68.485107,-26.670313],[-68.581152,-26.518359],[-68.591602,-26.47041],[-68.592187,-26.418066],[-68.575781,-26.351953],[-68.529834,-26.276953],[-68.414502,-26.153711],[-68.426758,-26.06543],[-68.51084,-25.741016],[-68.541895,-25.651563],[-68.600293,-25.485645],[-68.59209,-25.42002],[-68.54082,-25.236719],[-68.496338,-25.162988],[-68.430713,-25.149316],[-68.395215,-25.124707],[-68.384229,-25.091895],[-68.428027,-25.050977],[-68.447119,-24.998926],[-68.466309,-24.925195],[-68.527051,-24.899219],[-68.562012,-24.837695],[-68.562012,-24.747363],[-68.507275,-24.629785],[-68.447119,-24.596973],[-68.422559,-24.545117],[-68.358105,-24.497266],[-68.299512,-24.460352],[-68.250293,-24.391992],[-68.047363,-24.308301],[-67.88623,-24.243359],[-67.571777,-24.118945],[-67.356201,-24.033789],[-67.335596,-23.974805],[-67.319141,-23.934668],[-67.219141,-23.633984],[-67.089746,-23.245117],[-67.008789,-23.001367],[-67.194873,-22.82168],[-67.161914,-22.773828],[-67.05542,-22.650879],[-67.033545,-22.552246],[-66.991113,-22.509863],[-66.800293,-22.409668],[-66.76748,-22.343066],[-66.750635,-22.269336],[-66.711719,-22.216309],[-66.639014,-22.205371],[-66.506982,-22.158398],[-66.365186,-22.11377],[-66.322461,-22.053125],[-66.282129,-21.947461],[-66.247607,-21.830469],[-66.220166,-21.802539],[-66.174658,-21.805664],[-66.098584,-21.835059],[-66.058594,-21.879492],[-65.860156,-22.019727],[-65.771045,-22.099609],[-65.686182,-22.110254],[-65.518799,-22.094531],[-65.484863,-22.098145],[-65.057812,-22.102734],[-64.992627,-22.109668],[-64.843066,-22.143945],[-64.758643,-22.171289],[-64.700098,-22.185547],[-64.605518,-22.228809],[-64.523633,-22.371582],[-64.477734,-22.485352],[-64.445508,-22.585352],[-64.373975,-22.761035],[-64.325293,-22.827637],[-64.30791,-22.795313],[-64.266406,-22.60332],[-64.209082,-22.491309],[-64.131836,-22.36582],[-63.976123,-22.072559],[-63.92168,-22.028613],[-63.861035,-22.007227],[-63.818652,-22.005469],[-63.775586,-22.027246],[-63.716943,-22.027539],[-63.675342,-22.004297],[-63.267187,-22.000586],[-62.843359,-21.997266],[-62.834277,-21.999121],[-62.815088,-22.049609],[-62.74458,-22.159863],[-62.665283,-22.217969],[-62.650977,-22.233691],[-62.625684,-22.261523],[-62.625977,-22.29043],[-62.541553,-22.349609],[-62.37251,-22.43916],[-62.21416,-22.612402],[-62.066602,-22.869434],[-61.928027,-23.059277],[-61.798535,-23.182031],[-61.679492,-23.26875],[-61.570996,-23.319434],[-61.513037,-23.360449],[-61.505518,-23.391992],[-61.403955,-23.45752],[-61.208398,-23.557031],[-61.084717,-23.656445],[-61.03291,-23.755664],[-60.839844,-23.858105],[-60.505371,-23.963574],[-60.262207,-24.013965],[-60.110303,-24.00918],[-59.89248,-24.093555],[-59.608594,-24.266797],[-59.4354,-24.387012],[-59.372949,-24.453906],[-59.187256,-24.562305],[-58.724023,-24.786621],[-58.519629,-24.842871],[-58.422803,-24.894141],[-58.365381,-24.959277],[-58.308691,-24.979102],[-58.252783,-24.953809],[-58.136475,-24.977148],[-57.959814,-25.049219],[-57.82168,-25.136426],[-57.643896,-25.328418],[-57.587158,-25.405078],[-57.563135,-25.47373],[-57.57168,-25.53418],[-57.62583,-25.59873],[-57.725488,-25.667188],[-57.754785,-25.69707],[-57.75708,-25.725977],[-57.782471,-25.783691],[-57.865234,-25.906934],[-57.88623,-25.964258],[-57.890625,-26.006543],[-57.943115,-26.05293],[-58.082422,-26.138574],[-58.111133,-26.180176],[-58.118066,-26.224902],[-58.135645,-26.251465],[-58.154687,-26.262598],[-58.181494,-26.307422],[-58.203027,-26.381445],[-58.205176,-26.476562],[-58.187939,-26.592578],[-58.191309,-26.62998],[-58.22207,-26.65],[-58.239355,-26.676855],[-58.245557,-26.731055],[-58.27168,-26.770703],[-58.317676,-26.795898],[-58.334668,-26.824902],[-58.322559,-26.857617],[-58.356445,-26.890039],[-58.436328,-26.921973],[-58.485254,-26.968457],[-58.503223,-27.029492],[-58.547705,-27.083984],[-58.618604,-27.132129],[-58.641748,-27.196094],[-58.604834,-27.314355],[-58.168262,-27.273438],[-57.812207,-27.316602],[-57.39126,-27.430469],[-57.111816,-27.470117],[-56.973975,-27.435742],[-56.871729,-27.440625],[-56.805176,-27.484668],[-56.715723,-27.49375],[-56.603369,-27.467871],[-56.510547,-27.487891],[-56.437158,-27.553809],[-56.370508,-27.537402],[-56.310547,-27.43877],[-56.241699,-27.366797],[-56.164062,-27.321484],[-56.067334,-27.307715],[-55.951465,-27.325684],[-55.859033,-27.361914],[-55.78999,-27.416406],[-55.714648,-27.414844],[-55.63291,-27.357129],[-55.593799,-27.288086],[-55.597266,-27.207617],[-55.564893,-27.15],[-55.496729,-27.115332],[-55.450635,-27.068359],[-55.42666,-27.009277],[-55.345801,-26.973145],[-55.208008,-26.960156],[-55.135937,-26.931152],[-55.129639,-26.886035],[-55.088867,-26.844531],[-55.013623,-26.806641],[-54.962158,-26.759375],[-54.934473,-26.702539],[-54.888916,-26.666797],[-54.825488,-26.652246],[-54.755078,-26.53291],[-54.677734,-26.308789],[-54.631934,-26.005762],[-54.615869,-25.576074],[-54.537842,-25.576465],[-54.501514,-25.608301],[-54.443945,-25.625],[-54.38335,-25.588672],[-54.331885,-25.571875],[-54.250098,-25.57041],[-54.206152,-25.52959],[-54.15459,-25.523047],[-54.119238,-25.545215],[-54.08501,-25.571875],[-54.012305,-25.57793],[-53.954785,-25.647656],[-53.891162,-25.668848],[-53.864209,-25.748828],[-53.823242,-25.95957],[-53.746924,-26.083691],[-53.671289,-26.225098],[-53.668555,-26.288184],[-53.710938,-26.351855],[-53.718164,-26.443164],[-53.74458,-26.666504],[-53.75332,-26.748633],[-53.727148,-26.804688],[-53.717285,-26.882812],[-53.758496,-26.97832],[-53.838184,-27.121094],[-53.915625,-27.15957],[-53.935352,-27.161133],[-54.040137,-27.24375],[-54.113818,-27.274707],[-54.156445,-27.253809],[-54.205225,-27.289648],[-54.260156,-27.382031],[-54.327002,-27.423535],[-54.448145,-27.446484],[-54.484326,-27.457324],[-54.554932,-27.454102],[-54.61543,-27.477148],[-54.665869,-27.526563],[-54.719727,-27.544922],[-54.7771,-27.53252],[-54.829102,-27.550586],[-54.875732,-27.599219],[-54.902783,-27.651953],[-54.910205,-27.708594],[-54.955908,-27.747168],[-55.039941,-27.767773],[-55.068994,-27.796289],[-55.063867,-27.835938],[-55.101514,-27.866797],[-55.24375,-27.898828],[-55.346484,-27.955957],[-55.409814,-28.037793],[-55.47666,-28.089355],[-55.582373,-28.120996],[-55.725488,-28.204102],[-55.745996,-28.255469],[-55.691504,-28.302832],[-55.671973,-28.344922],[-55.687256,-28.381641],[-55.731982,-28.386621],[-55.806055,-28.359766],[-55.858887,-28.354199],[-55.890527,-28.37002],[-55.90542,-28.399609],[-55.903662,-28.443262],[-55.930176,-28.472852],[-55.984912,-28.488574],[-56.019629,-28.524609],[-56.034229,-28.580859],[-56.102881,-28.651758],[-56.225537,-28.737207],[-56.322363,-28.852441],[-56.393262,-28.997266],[-56.475977,-29.09248],[-56.570703,-29.138086],[-56.63584,-29.203027],[-56.671533,-29.287305],[-56.772461,-29.417871],[-56.938623,-29.594824],[-57.089355,-29.716211],[-57.224658,-29.782129],[-57.300684,-29.856543],[-57.31748,-29.939453],[-57.405225,-30.033887],[-57.563867,-30.139941],[-57.608887,-30.187793]]],[[[-68.653223,-54.853613],[-68.64751,-54.627832],[-68.639795,-54.324023],[-68.638232,-54.05293],[-68.63667,-53.788867],[-68.635059,-53.51543],[-68.633447,-53.241895],[-68.631689,-52.949512],[-68.629932,-52.652637],[-68.571191,-52.694922],[-68.33877,-52.900098],[-68.278223,-52.983984],[-68.240137,-53.081836],[-68.333008,-53.019629],[-68.431152,-53.055273],[-68.479492,-53.11377],[-68.520801,-53.177246],[-68.520508,-53.221875],[-68.488525,-53.260938],[-68.393115,-53.294922],[-68.161133,-53.306445],[-68.144092,-53.319043],[-68.008496,-53.564063],[-67.940283,-53.61875],[-67.861084,-53.662207],[-67.678125,-53.787109],[-67.502588,-53.921973],[-67.294238,-54.049805],[-67.069482,-54.148047],[-66.865137,-54.222559],[-66.670068,-54.313574],[-66.462012,-54.441016],[-66.235645,-54.533496],[-65.992578,-54.598926],[-65.74707,-54.653418],[-65.369287,-54.632129],[-65.251953,-54.638086],[-65.179004,-54.678125],[-65.252344,-54.788867],[-65.345996,-54.87793],[-65.471143,-54.914648],[-65.60332,-54.928125],[-65.722754,-54.926367],[-65.841992,-54.909961],[-65.95376,-54.919336],[-66.060645,-54.956738],[-66.172021,-54.975293],[-66.286768,-54.977734],[-66.398682,-55.009375],[-66.511133,-55.032129],[-66.627686,-55.013281],[-66.930469,-54.924902],[-67.1271,-54.903809],[-67.793262,-54.868652],[-68.007129,-54.848438],[-68.220117,-54.817578],[-68.331689,-54.816309],[-68.491016,-54.83623],[-68.618652,-54.833789],[-68.653223,-54.853613]]],[[[-64.54917,-54.716211],[-64.438818,-54.739355],[-64.220508,-54.721973],[-64.105322,-54.72168],[-64.054932,-54.729883],[-64.032422,-54.742383],[-63.881934,-54.722949],[-63.81543,-54.725098],[-63.832568,-54.767969],[-63.97124,-54.810645],[-64.02832,-54.792578],[-64.3229,-54.796484],[-64.453271,-54.840332],[-64.508691,-54.839941],[-64.637354,-54.902539],[-64.731445,-54.862988],[-64.757324,-54.826562],[-64.689209,-54.774707],[-64.625098,-54.773633],[-64.581348,-54.752734],[-64.54917,-54.716211]]],[[[-61.875781,-39.171875],[-61.865967,-39.234863],[-61.918018,-39.227441],[-62.041602,-39.166895],[-62.083301,-39.110156],[-62.093018,-39.08623],[-61.96665,-39.112207],[-61.907129,-39.135645],[-61.875781,-39.171875]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":6,"SOVEREIGNT":"Antigua and Barbuda","SOV_A3":"ATG","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Antigua and Barbuda","ADM0_A3":"ATG","GEOU_DIF":0,"GEOUNIT":"Antigua and Barbuda","GU_A3":"ATG","SU_DIF":0,"SUBUNIT":"Antigua and Barbuda","SU_A3":"ATG","BRK_DIFF":0,"NAME":"Antigua and Barb.","NAME_LONG":"Antigua and Barbuda","BRK_A3":"ATG","BRK_NAME":"Antigua and Barb.","BRK_GROUP":null,"ABBREV":"Ant.B.","POSTAL":"AG","FORMAL_EN":"Antigua and Barbuda","FORMAL_FR":null,"NAME_CIAWF":"Antigua and Barbuda","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Antigua and Barbuda","NAME_ALT":null,"MAPCOLOR7":2,"MAPCOLOR8":2,"MAPCOLOR9":5,"MAPCOLOR13":5,"POP_EST":97118,"POP_RANK":8,"POP_YEAR":2019,"GDP_MD":1661,"GDP_YEAR":2019,"ECONOMY":"6. Developing region","INCOME_GRP":"3. Upper middle income","FIPS_10":"AC","ISO_A2":"AG","ISO_A2_EH":"AG","ISO_A3":"ATG","ISO_A3_EH":"ATG","ISO_N3":"028","ISO_N3_EH":"028","UN_A3":"028","WB_A2":"AG","WB_A3":"ATG","WOE_ID":23424737,"WOE_ID_EH":23424737,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"ATG","ADM0_DIFF":null,"ADM0_TLC":"ATG","ADM0_A3_US":"ATG","ADM0_A3_FR":"ATG","ADM0_A3_RU":"ATG","ADM0_A3_ES":"ATG","ADM0_A3_CN":"ATG","ADM0_A3_TW":"ATG","ADM0_A3_IN":"ATG","ADM0_A3_NP":"ATG","ADM0_A3_PK":"ATG","ADM0_A3_DE":"ATG","ADM0_A3_GB":"ATG","ADM0_A3_BR":"ATG","ADM0_A3_IL":"ATG","ADM0_A3_PS":"ATG","ADM0_A3_SA":"ATG","ADM0_A3_EG":"ATG","ADM0_A3_MA":"ATG","ADM0_A3_PT":"ATG","ADM0_A3_AR":"ATG","ADM0_A3_JP":"ATG","ADM0_A3_KO":"ATG","ADM0_A3_VN":"ATG","ADM0_A3_TR":"ATG","ADM0_A3_ID":"ATG","ADM0_A3_PL":"ATG","ADM0_A3_GR":"ATG","ADM0_A3_IT":"ATG","ADM0_A3_NL":"ATG","ADM0_A3_SE":"ATG","ADM0_A3_BD":"ATG","ADM0_A3_UA":"ATG","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"North America","REGION_UN":"Americas","SUBREGION":"Caribbean","REGION_WB":"Latin America & Caribbean","NAME_LEN":17,"LONG_LEN":19,"ABBREV_LEN":6,"TINY":4,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":5,"MAX_LABEL":9.5,"LABEL_X":-61.790612,"LABEL_Y":17.352249,"NE_ID":1159320345,"WIKIDATAID":"Q781","NAME_AR":"أنتيغوا وباربودا","NAME_BN":"অ্যান্টিগুয়া ও বার্বুডা","NAME_DE":"Antigua und Barbuda","NAME_EN":"Antigua and Barbuda","NAME_ES":"Antigua y Barbuda","NAME_FA":"آنتیگوا و باربودا","NAME_FR":"Antigua-et-Barbuda","NAME_EL":"Αντίγκουα και Μπαρμπούντα","NAME_HE":"אנטיגואה וברבודה","NAME_HI":"अण्टीगुआ और बारबूडा","NAME_HU":"Antigua és Barbuda","NAME_ID":"Antigua dan Barbuda","NAME_IT":"Antigua e Barbuda","NAME_JA":"アンティグア・バーブーダ","NAME_KO":"앤티가 바부다","NAME_NL":"Antigua en Barbuda","NAME_PL":"Antigua i Barbuda","NAME_PT":"Antígua e Barbuda","NAME_RU":"Антигуа и Барбуда","NAME_SV":"Antigua och Barbuda","NAME_TR":"Antigua ve Barbuda","NAME_UK":"Антигуа і Барбуда","NAME_UR":"اینٹیگوا و باربوڈا","NAME_VI":"Antigua và Barbuda","NAME_ZH":"安提瓜和巴布达","NAME_ZHT":"安地卡及巴布達","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[-61.887109,16.997168,-61.686035,17.714062],"geometry":{"type":"MultiPolygon","coordinates":[[[[-61.716064,17.037012],[-61.748145,16.997168],[-61.859668,17.01333],[-61.882031,17.063135],[-61.887109,17.098145],[-61.817285,17.168945],[-61.738574,17.138477],[-61.708203,17.105078],[-61.686035,17.098438],[-61.686475,17.069824],[-61.694971,17.048926],[-61.716064,17.037012]]],[[[-61.747119,17.574951],[-61.762012,17.548682],[-61.843799,17.596143],[-61.86875,17.685449],[-61.866162,17.704297],[-61.852441,17.714062],[-61.819922,17.696875],[-61.776758,17.690479],[-61.749609,17.661328],[-61.747119,17.574951]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":3,"SOVEREIGNT":"Angola","SOV_A3":"AGO","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Angola","ADM0_A3":"AGO","GEOU_DIF":0,"GEOUNIT":"Angola","GU_A3":"AGO","SU_DIF":0,"SUBUNIT":"Angola","SU_A3":"AGO","BRK_DIFF":0,"NAME":"Angola","NAME_LONG":"Angola","BRK_A3":"AGO","BRK_NAME":"Angola","BRK_GROUP":null,"ABBREV":"Ang.","POSTAL":"AO","FORMAL_EN":"People's Republic of Angola","FORMAL_FR":null,"NAME_CIAWF":"Angola","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Angola","NAME_ALT":null,"MAPCOLOR7":3,"MAPCOLOR8":2,"MAPCOLOR9":6,"MAPCOLOR13":1,"POP_EST":31825295,"POP_RANK":15,"POP_YEAR":2019,"GDP_MD":88815,"GDP_YEAR":2019,"ECONOMY":"7. Least developed region","INCOME_GRP":"3. Upper middle income","FIPS_10":"AO","ISO_A2":"AO","ISO_A2_EH":"AO","ISO_A3":"AGO","ISO_A3_EH":"AGO","ISO_N3":"024","ISO_N3_EH":"024","UN_A3":"024","WB_A2":"AO","WB_A3":"AGO","WOE_ID":23424745,"WOE_ID_EH":23424745,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"AGO","ADM0_DIFF":null,"ADM0_TLC":"AGO","ADM0_A3_US":"AGO","ADM0_A3_FR":"AGO","ADM0_A3_RU":"AGO","ADM0_A3_ES":"AGO","ADM0_A3_CN":"AGO","ADM0_A3_TW":"AGO","ADM0_A3_IN":"AGO","ADM0_A3_NP":"AGO","ADM0_A3_PK":"AGO","ADM0_A3_DE":"AGO","ADM0_A3_GB":"AGO","ADM0_A3_BR":"AGO","ADM0_A3_IL":"AGO","ADM0_A3_PS":"AGO","ADM0_A3_SA":"AGO","ADM0_A3_EG":"AGO","ADM0_A3_MA":"AGO","ADM0_A3_PT":"AGO","ADM0_A3_AR":"AGO","ADM0_A3_JP":"AGO","ADM0_A3_KO":"AGO","ADM0_A3_VN":"AGO","ADM0_A3_TR":"AGO","ADM0_A3_ID":"AGO","ADM0_A3_PL":"AGO","ADM0_A3_GR":"AGO","ADM0_A3_IT":"AGO","ADM0_A3_NL":"AGO","ADM0_A3_SE":"AGO","ADM0_A3_BD":"AGO","ADM0_A3_UA":"AGO","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Africa","REGION_UN":"Africa","SUBREGION":"Middle Africa","REGION_WB":"Sub-Saharan Africa","NAME_LEN":6,"LONG_LEN":6,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":3,"MAX_LABEL":7,"LABEL_X":17.984249,"LABEL_Y":-12.182762,"NE_ID":1159320323,"WIKIDATAID":"Q916","NAME_AR":"أنغولا","NAME_BN":"অ্যাঙ্গোলা","NAME_DE":"Angola","NAME_EN":"Angola","NAME_ES":"Angola","NAME_FA":"آنگولا","NAME_FR":"Angola","NAME_EL":"Ανγκόλα","NAME_HE":"אנגולה","NAME_HI":"अंगोला","NAME_HU":"Angola","NAME_ID":"Angola","NAME_IT":"Angola","NAME_JA":"アンゴラ","NAME_KO":"앙골라","NAME_NL":"Angola","NAME_PL":"Angola","NAME_PT":"Angola","NAME_RU":"Ангола","NAME_SV":"Angola","NAME_TR":"Angola","NAME_UK":"Ангола","NAME_UR":"انگولا","NAME_VI":"Angola","NAME_ZH":"安哥拉","NAME_ZHT":"安哥拉","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[11.743066,-18.019727,24.04668,-4.428906],"geometry":{"type":"MultiPolygon","coordinates":[[[[13.072754,-4.634766],[13.057324,-4.651074],[12.947461,-4.695312],[12.829688,-4.736621],[12.674805,-4.905371],[12.596191,-4.978418],[12.573535,-4.996582],[12.502734,-5.036914],[12.451465,-5.071484],[12.453223,-5.090625],[12.487402,-5.112695],[12.522363,-5.148926],[12.518945,-5.424609],[12.503711,-5.695801],[12.48457,-5.71875],[12.386035,-5.727734],[12.255273,-5.746484],[12.213672,-5.758691],[12.199023,-5.731934],[12.155469,-5.632715],[12.180078,-5.538672],[12.206543,-5.468262],[12.177148,-5.324805],[12.110547,-5.197168],[12.039941,-5.035156],[12.018359,-5.004297],[12.077539,-4.952148],[12.16709,-4.837695],[12.204297,-4.778613],[12.30791,-4.765527],[12.34668,-4.724121],[12.374023,-4.657715],[12.38457,-4.619141],[12.501465,-4.5875],[12.641699,-4.531152],[12.719434,-4.469727],[12.798242,-4.430566],[12.848145,-4.428906],[12.881055,-4.445117],[12.971387,-4.551758],[13.048047,-4.619238],[13.072754,-4.634766]]],[[[23.966504,-10.871777],[23.988281,-11.002832],[24.010059,-11.184766],[24.025586,-11.315625],[24.041406,-11.374121],[24.04668,-11.405371],[24.029297,-11.43916],[24.014648,-11.517676],[23.986816,-11.587207],[23.970996,-11.63584],[23.983887,-11.725],[23.973438,-11.85293],[23.962305,-11.987891],[23.958887,-12.117773],[23.996484,-12.350684],[23.991309,-12.422168],[23.944727,-12.54375],[23.909375,-12.636133],[23.886523,-12.743262],[23.882422,-12.799023],[23.968066,-12.956934],[23.962988,-12.988477],[23.897461,-12.998242],[23.843164,-13.000977],[23.63584,-13.000977],[23.338672,-13.000977],[23.041504,-13.000977],[22.744336,-13.000977],[22.470996,-13.000977],[22.20957,-13.000977],[21.978906,-13.000977],[21.979004,-13.156836],[21.979102,-13.477734],[21.979102,-13.79873],[21.979297,-14.119629],[21.979395,-14.440527],[21.979492,-14.761426],[21.97959,-15.082324],[21.979688,-15.403223],[21.979785,-15.724121],[21.979785,-15.955566],[22.040234,-16.262793],[22.150684,-16.597168],[22.193945,-16.628125],[22.305078,-16.689551],[22.459473,-16.815137],[22.545996,-16.910254],[22.721973,-17.075293],[22.955859,-17.285742],[23.181641,-17.474414],[23.380664,-17.640625],[23.068262,-17.698828],[22.624023,-17.781641],[22.324219,-17.8375],[21.96084,-17.905176],[21.718457,-17.947754],[21.416895,-18.000684],[21.36875,-17.999512],[21.287891,-17.962988],[21.113477,-17.955762],[20.908301,-18.006055],[20.745508,-18.019727],[20.625098,-17.99668],[20.507617,-17.952539],[20.392969,-17.887402],[20.194336,-17.863672],[19.911816,-17.881348],[19.639355,-17.868652],[19.377148,-17.825488],[19.189453,-17.808496],[19.076465,-17.817676],[18.955273,-17.803516],[18.825977,-17.766309],[18.718066,-17.703223],[18.588184,-17.57002],[18.486621,-17.442773],[18.460352,-17.424609],[18.428223,-17.405176],[18.396387,-17.399414],[18.108789,-17.395996],[17.835352,-17.392773],[17.678809,-17.392578],[17.296289,-17.391992],[16.913672,-17.391406],[16.531055,-17.39082],[16.148438,-17.390234],[15.76582,-17.389648],[15.383203,-17.38916],[15.000586,-17.388574],[14.617969,-17.387988],[14.414746,-17.387695],[14.225879,-17.397754],[14.01748,-17.408887],[13.987402,-17.404199],[13.937988,-17.38877],[13.904199,-17.360742],[13.791992,-17.288379],[13.694336,-17.233496],[13.561719,-17.141211],[13.475977,-17.040039],[13.403711,-17.007812],[13.275684,-16.989551],[13.179492,-16.97168],[13.101172,-16.967676],[12.963184,-17.01543],[12.859277,-17.062598],[12.785156,-17.108203],[12.656543,-17.160547],[12.548145,-17.212695],[12.359277,-17.205859],[12.318457,-17.213379],[12.213379,-17.209961],[12.114355,-17.164551],[12.013965,-17.168555],[11.902539,-17.226562],[11.743066,-17.249219],[11.780078,-16.871289],[11.818945,-16.704102],[11.819922,-16.504297],[11.796973,-15.986426],[11.769434,-15.915332],[11.750879,-15.831934],[11.849707,-15.768359],[11.899902,-15.719824],[11.967871,-15.633984],[12.016113,-15.513672],[12.073242,-15.248242],[12.280469,-14.6375],[12.378906,-14.039062],[12.503711,-13.755469],[12.550488,-13.437793],[12.897656,-13.027734],[12.983203,-12.775684],[13.162695,-12.652148],[13.416992,-12.52041],[13.597949,-12.286133],[13.685547,-12.123828],[13.785352,-11.812793],[13.784277,-11.487988],[13.847461,-11.054395],[13.833594,-10.929688],[13.738965,-10.757129],[13.721387,-10.633594],[13.633496,-10.512305],[13.539453,-10.420703],[13.49541,-10.257129],[13.332227,-9.998926],[13.2875,-9.826758],[13.209375,-9.703223],[13.196875,-9.550684],[13.155664,-9.389648],[13.075977,-9.230371],[12.998535,-9.048047],[12.998535,-8.991016],[13.046777,-8.922266],[13.092773,-8.899707],[13.077246,-8.934277],[13.046582,-8.975195],[13.053809,-9.006836],[13.358984,-8.687207],[13.37832,-8.624707],[13.368066,-8.554785],[13.366406,-8.469238],[13.378516,-8.369727],[13.09082,-7.780176],[12.862305,-7.231836],[12.823438,-6.954785],[12.521289,-6.590332],[12.402148,-6.353418],[12.334277,-6.187305],[12.283301,-6.124316],[12.302539,-6.092578],[12.380371,-6.084277],[12.553516,-6.045898],[12.790625,-6.003906],[13.009766,-5.907617],[13.068164,-5.864844],[13.184375,-5.85625],[13.302637,-5.881836],[13.346484,-5.863379],[13.371484,-5.861816],[13.649023,-5.861719],[13.764551,-5.855176],[13.978516,-5.857227],[14.11377,-5.865137],[14.19082,-5.875977],[14.398633,-5.892676],[14.65791,-5.888867],[14.749414,-5.880078],[15.089355,-5.874512],[15.425,-5.868848],[15.726953,-5.863867],[16.060156,-5.864941],[16.315234,-5.865625],[16.431445,-5.900195],[16.537109,-5.96582],[16.585156,-6.025293],[16.608008,-6.051563],[16.639551,-6.114551],[16.697266,-6.164258],[16.717773,-6.241406],[16.700977,-6.345996],[16.709375,-6.47168],[16.742969,-6.618457],[16.813086,-6.772559],[16.919434,-6.933984],[16.96582,-7.062109],[16.952051,-7.157031],[16.984766,-7.257422],[17.06377,-7.363086],[17.121582,-7.419043],[17.155078,-7.461328],[17.24502,-7.62334],[17.411328,-7.881934],[17.536035,-8.075879],[17.57959,-8.099023],[17.643359,-8.090723],[17.778809,-8.071387],[17.913086,-8.067676],[18.008789,-8.107617],[18.047168,-8.100781],[18.191504,-8.023828],[18.334863,-8.000293],[18.484668,-7.968555],[18.562695,-7.935938],[18.653418,-7.936035],[18.89834,-7.998145],[18.944434,-8.001465],[19.142676,-8.001465],[19.34082,-7.966602],[19.369922,-7.706543],[19.37168,-7.655078],[19.419336,-7.557324],[19.479883,-7.472168],[19.487402,-7.390723],[19.483789,-7.279492],[19.527637,-7.144434],[19.660352,-7.037109],[19.875195,-6.986328],[19.997461,-6.976465],[20.190039,-6.946289],[20.482227,-6.91582],[20.590039,-6.919922],[20.59873,-6.935156],[20.536914,-7.121777],[20.53584,-7.182813],[20.558398,-7.244434],[20.607813,-7.277734],[20.910938,-7.281445],[21.190332,-7.284961],[21.51084,-7.29668],[21.751074,-7.305469],[21.781641,-7.314648],[21.806055,-7.328613],[21.841602,-7.420996],[21.833594,-7.60166],[21.780078,-7.86543],[21.800879,-8.111914],[21.895898,-8.341113],[21.905371,-8.693359],[21.871875,-8.903516],[21.829492,-9.168457],[21.813184,-9.46875],[21.856641,-9.594238],[21.948633,-9.725586],[22.08916,-9.862793],[22.197754,-10.040625],[22.274512,-10.259082],[22.302441,-10.39668],[22.281641,-10.45332],[22.283203,-10.551563],[22.307031,-10.691309],[22.280469,-10.783984],[22.203516,-10.829492],[22.17793,-10.892285],[22.216699,-11.012695],[22.226172,-11.121973],[22.256641,-11.163672],[22.278809,-11.194141],[22.314941,-11.198633],[22.392969,-11.159473],[22.486133,-11.086719],[22.561035,-11.055859],[22.666504,-11.059766],[22.814746,-11.080273],[23.07627,-11.087891],[23.156738,-11.074805],[23.400195,-10.976465],[23.463965,-10.969336],[23.559961,-10.978613],[23.696387,-11.007617],[23.833887,-11.013672],[23.901172,-10.983203],[23.907324,-10.943457],[23.928711,-10.891504],[23.966504,-10.871777]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":3,"LABELRANK":6,"SOVEREIGNT":"Andorra","SOV_A3":"AND","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Andorra","ADM0_A3":"AND","GEOU_DIF":0,"GEOUNIT":"Andorra","GU_A3":"AND","SU_DIF":0,"SUBUNIT":"Andorra","SU_A3":"AND","BRK_DIFF":0,"NAME":"Andorra","NAME_LONG":"Andorra","BRK_A3":"AND","BRK_NAME":"Andorra","BRK_GROUP":null,"ABBREV":"And.","POSTAL":"AND","FORMAL_EN":"Principality of Andorra","FORMAL_FR":null,"NAME_CIAWF":"Andorra","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Andorra","NAME_ALT":null,"MAPCOLOR7":1,"MAPCOLOR8":4,"MAPCOLOR9":1,"MAPCOLOR13":8,"POP_EST":77142,"POP_RANK":8,"POP_YEAR":2019,"GDP_MD":3154,"GDP_YEAR":2019,"ECONOMY":"2. Developed region: nonG7","INCOME_GRP":"2. High income: nonOECD","FIPS_10":"AN","ISO_A2":"AD","ISO_A2_EH":"AD","ISO_A3":"AND","ISO_A3_EH":"AND","ISO_N3":"020","ISO_N3_EH":"020","UN_A3":"020","WB_A2":"AD","WB_A3":"ADO","WOE_ID":23424744,"WOE_ID_EH":23424744,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"AND","ADM0_DIFF":null,"ADM0_TLC":"AND","ADM0_A3_US":"AND","ADM0_A3_FR":"AND","ADM0_A3_RU":"AND","ADM0_A3_ES":"AND","ADM0_A3_CN":"AND","ADM0_A3_TW":"AND","ADM0_A3_IN":"AND","ADM0_A3_NP":"AND","ADM0_A3_PK":"AND","ADM0_A3_DE":"AND","ADM0_A3_GB":"AND","ADM0_A3_BR":"AND","ADM0_A3_IL":"AND","ADM0_A3_PS":"AND","ADM0_A3_SA":"AND","ADM0_A3_EG":"AND","ADM0_A3_MA":"AND","ADM0_A3_PT":"AND","ADM0_A3_AR":"AND","ADM0_A3_JP":"AND","ADM0_A3_KO":"AND","ADM0_A3_VN":"AND","ADM0_A3_TR":"AND","ADM0_A3_ID":"AND","ADM0_A3_PL":"AND","ADM0_A3_GR":"AND","ADM0_A3_IT":"AND","ADM0_A3_NL":"AND","ADM0_A3_SE":"AND","ADM0_A3_BD":"AND","ADM0_A3_UA":"AND","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Europe","REGION_UN":"Europe","SUBREGION":"Southern Europe","REGION_WB":"Europe & Central Asia","NAME_LEN":7,"LONG_LEN":7,"ABBREV_LEN":4,"TINY":5,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":5,"MAX_LABEL":10,"LABEL_X":1.539409,"LABEL_Y":42.547643,"NE_ID":1159320327,"WIKIDATAID":"Q228","NAME_AR":"أندورا","NAME_BN":"অ্যান্ডোরা","NAME_DE":"Andorra","NAME_EN":"Andorra","NAME_ES":"Andorra","NAME_FA":"آندورا","NAME_FR":"Andorre","NAME_EL":"Ανδόρρα","NAME_HE":"אנדורה","NAME_HI":"अण्डोरा","NAME_HU":"Andorra","NAME_ID":"Andorra","NAME_IT":"Andorra","NAME_JA":"アンドラ","NAME_KO":"안도라","NAME_NL":"Andorra","NAME_PL":"Andora","NAME_PT":"Andorra","NAME_RU":"Андорра","NAME_SV":"Andorra","NAME_TR":"Andorra","NAME_UK":"Андорра","NAME_UR":"انڈورا","NAME_VI":"Andorra","NAME_ZH":"安道尔","NAME_ZHT":"安道爾","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[1.414844,42.434473,1.740234,42.642725],"geometry":{"type":"Polygon","coordinates":[[[1.706055,42.50332],[1.678516,42.49668],[1.586426,42.455957],[1.534082,42.441699],[1.48623,42.434473],[1.448828,42.437451],[1.428125,42.461328],[1.430273,42.497852],[1.421973,42.530811],[1.414844,42.548389],[1.42832,42.595898],[1.458887,42.62168],[1.501367,42.642725],[1.568164,42.63501],[1.709863,42.604443],[1.739453,42.575928],[1.740234,42.556738],[1.713965,42.525635],[1.706055,42.50332]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":3,"SOVEREIGNT":"Algeria","SOV_A3":"DZA","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Algeria","ADM0_A3":"DZA","GEOU_DIF":0,"GEOUNIT":"Algeria","GU_A3":"DZA","SU_DIF":0,"SUBUNIT":"Algeria","SU_A3":"DZA","BRK_DIFF":0,"NAME":"Algeria","NAME_LONG":"Algeria","BRK_A3":"DZA","BRK_NAME":"Algeria","BRK_GROUP":null,"ABBREV":"Alg.","POSTAL":"DZ","FORMAL_EN":"People's Democratic Republic of Algeria","FORMAL_FR":null,"NAME_CIAWF":"Algeria","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Algeria","NAME_ALT":null,"MAPCOLOR7":5,"MAPCOLOR8":1,"MAPCOLOR9":6,"MAPCOLOR13":3,"POP_EST":43053054,"POP_RANK":15,"POP_YEAR":2019,"GDP_MD":171091,"GDP_YEAR":2019,"ECONOMY":"6. Developing region","INCOME_GRP":"3. Upper middle income","FIPS_10":"AG","ISO_A2":"DZ","ISO_A2_EH":"DZ","ISO_A3":"DZA","ISO_A3_EH":"DZA","ISO_N3":"012","ISO_N3_EH":"012","UN_A3":"012","WB_A2":"DZ","WB_A3":"DZA","WOE_ID":23424740,"WOE_ID_EH":23424740,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"DZA","ADM0_DIFF":null,"ADM0_TLC":"DZA","ADM0_A3_US":"DZA","ADM0_A3_FR":"DZA","ADM0_A3_RU":"DZA","ADM0_A3_ES":"DZA","ADM0_A3_CN":"DZA","ADM0_A3_TW":"DZA","ADM0_A3_IN":"DZA","ADM0_A3_NP":"DZA","ADM0_A3_PK":"DZA","ADM0_A3_DE":"DZA","ADM0_A3_GB":"DZA","ADM0_A3_BR":"DZA","ADM0_A3_IL":"DZA","ADM0_A3_PS":"DZA","ADM0_A3_SA":"DZA","ADM0_A3_EG":"DZA","ADM0_A3_MA":"DZA","ADM0_A3_PT":"DZA","ADM0_A3_AR":"DZA","ADM0_A3_JP":"DZA","ADM0_A3_KO":"DZA","ADM0_A3_VN":"DZA","ADM0_A3_TR":"DZA","ADM0_A3_ID":"DZA","ADM0_A3_PL":"DZA","ADM0_A3_GR":"DZA","ADM0_A3_IT":"DZA","ADM0_A3_NL":"DZA","ADM0_A3_SE":"DZA","ADM0_A3_BD":"DZA","ADM0_A3_UA":"DZA","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Africa","REGION_UN":"Africa","SUBREGION":"Northern Africa","REGION_WB":"Middle East & North Africa","NAME_LEN":7,"LONG_LEN":7,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":2.5,"MAX_LABEL":7,"LABEL_X":2.808241,"LABEL_Y":27.397406,"NE_ID":1159320565,"WIKIDATAID":"Q262","NAME_AR":"الجزائر","NAME_BN":"আলজেরিয়া","NAME_DE":"Algerien","NAME_EN":"Algeria","NAME_ES":"Argelia","NAME_FA":"الجزایر","NAME_FR":"Algérie","NAME_EL":"Αλγερία","NAME_HE":"אלג'יריה","NAME_HI":"अल्जीरिया","NAME_HU":"Algéria","NAME_ID":"Aljazair","NAME_IT":"Algeria","NAME_JA":"アルジェリア","NAME_KO":"알제리","NAME_NL":"Algerije","NAME_PL":"Algieria","NAME_PT":"Argélia","NAME_RU":"Алжир","NAME_SV":"Algeriet","NAME_TR":"Cezayir","NAME_UK":"Алжир","NAME_UR":"الجزائر","NAME_VI":"Algérie","NAME_ZH":"阿尔及利亚","NAME_ZHT":"阿爾及利亞","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[-8.68335,18.986621,11.967871,37.092383],"geometry":{"type":"Polygon","coordinates":[[[8.576563,36.937207],[8.597656,36.883887],[8.60127,36.833936],[8.506738,36.7875],[8.444238,36.760742],[8.369629,36.63252],[8.230762,36.545264],[8.207617,36.518945],[8.208789,36.495117],[8.302734,36.455615],[8.333984,36.418164],[8.34873,36.367969],[8.306738,36.18877],[8.280273,36.050977],[8.245703,35.870557],[8.24707,35.801807],[8.28291,35.719287],[8.318066,35.654932],[8.329004,35.582227],[8.316406,35.403125],[8.359863,35.299609],[8.394238,35.203857],[8.312109,35.084619],[8.276855,34.979492],[8.254688,34.828955],[8.245605,34.734082],[8.192773,34.646289],[8.123438,34.563916],[8.045605,34.512695],[7.949414,34.468701],[7.838281,34.410303],[7.748535,34.254492],[7.554492,34.125],[7.513867,34.080518],[7.495605,33.976514],[7.500195,33.832471],[7.534375,33.71792],[7.627539,33.548633],[7.70918,33.362305],[7.731348,33.268506],[7.762695,33.233105],[7.877246,33.172119],[8.075586,33.089062],[8.1125,33.055322],[8.210938,32.926709],[8.304199,32.696289],[8.333398,32.543604],[8.515137,32.422314],[8.68291,32.310449],[8.844043,32.212109],[9.018945,32.105371],[9.044043,32.072363],[9.102344,31.846143],[9.160254,31.621338],[9.224023,31.373682],[9.287891,31.125342],[9.363281,30.83291],[9.406055,30.666797],[9.458008,30.465381],[9.51875,30.229395],[9.420996,30.179297],[9.310254,30.115234],[9.391016,29.993652],[9.546191,29.795947],[9.640137,29.636426],[9.672656,29.566992],[9.745898,29.368945],[9.805273,29.176953],[9.820703,29.114795],[9.842578,28.966992],[9.815625,28.560205],[9.858203,28.043311],[9.916016,27.785693],[9.825293,27.552979],[9.747559,27.330859],[9.752539,27.219336],[9.79541,27.044775],[9.837109,26.91582],[9.894434,26.847949],[9.883203,26.630811],[9.859375,26.551953],[9.684961,26.438232],[9.491406,26.33374],[9.437891,26.245508],[9.422363,26.14707],[9.448242,26.067139],[9.58125,25.890137],[9.781055,25.624268],[10.000684,25.33208],[10.019043,25.258545],[10.028125,25.051025],[10.119531,24.790234],[10.218652,24.676221],[10.255859,24.591016],[10.325781,24.530225],[10.395898,24.485596],[10.438965,24.480225],[10.686133,24.551367],[11.108203,24.434033],[11.507617,24.314355],[11.536914,24.29082],[11.624219,24.139697],[11.766992,23.892578],[11.873047,23.694824],[11.967871,23.517871],[11.45,23.212598],[10.932227,22.907275],[10.414355,22.602002],[9.896484,22.296729],[9.378711,21.991406],[8.860938,21.686133],[8.343066,21.380859],[7.825195,21.075586],[7.481738,20.873096],[7.263379,20.694482],[6.989355,20.470508],[6.730664,20.248047],[6.527051,20.072949],[6.263379,19.846143],[6.130664,19.731982],[5.836621,19.47915],[5.74834,19.434229],[5.358691,19.359521],[5.001367,19.291064],[4.671289,19.227783],[4.445703,19.184521],[4.227637,19.142773],[3.910156,19.08374],[3.683496,19.041602],[3.43877,18.996143],[3.400879,18.988428],[3.356445,18.986621],[3.323438,18.988379],[3.255957,19.013281],[3.174219,19.0729],[3.119727,19.103174],[3.106055,19.150098],[3.137891,19.212158],[3.177246,19.268164],[3.192383,19.312061],[3.219629,19.34541],[3.254395,19.372607],[3.255859,19.410938],[3.227051,19.473584],[3.20166,19.5604],[3.202734,19.718311],[3.203418,19.770752],[3.203711,19.789697],[3.130273,19.850195],[2.99248,19.916602],[2.865723,19.955957],[2.80791,19.969434],[2.667773,19.99292],[2.474219,20.03501],[2.406152,20.063867],[2.280859,20.210303],[2.219336,20.247803],[1.928809,20.272705],[1.832422,20.296875],[1.753223,20.331592],[1.685449,20.378369],[1.647363,20.458838],[1.636035,20.524365],[1.610645,20.555566],[1.290234,20.713574],[1.208887,20.767285],[1.165723,20.817432],[1.164062,20.891309],[1.172754,20.981982],[1.15918,21.0625],[1.145508,21.102246],[0.999414,21.197754],[0.671875,21.411865],[0.344434,21.625977],[0.016992,21.840137],[-0.310547,22.054199],[-0.637988,22.268311],[-0.965479,22.482471],[-1.292969,22.696533],[-1.62041,22.910645],[-1.9479,23.124805],[-2.275391,23.338867],[-2.60293,23.553027],[-2.930371,23.767139],[-3.257861,23.98125],[-3.585352,24.195361],[-3.912793,24.409473],[-4.240332,24.623535],[-4.516992,24.804492],[-4.822607,24.995605],[-5.049512,25.135449],[-5.275,25.274512],[-5.516943,25.423779],[-5.674512,25.516406],[-5.862549,25.627002],[-6.050586,25.737598],[-6.238672,25.848193],[-6.426709,25.958789],[-6.614746,26.069434],[-6.802832,26.17998],[-6.990869,26.290576],[-7.178906,26.401172],[-7.366992,26.511768],[-7.555078,26.622363],[-7.743115,26.732959],[-7.931152,26.843555],[-8.119238,26.95415],[-8.307275,27.064746],[-8.495312,27.175342],[-8.68335,27.285937],[-8.68335,27.490234],[-8.68335,27.656445],[-8.68335,27.900391],[-8.68335,28.112012],[-8.68335,28.323682],[-8.68335,28.469238],[-8.68335,28.620752],[-8.678418,28.689404],[-8.659912,28.718604],[-8.55835,28.767871],[-8.399316,28.880176],[-8.340479,28.930176],[-8.265186,28.980518],[-7.998926,29.132422],[-7.943848,29.174756],[-7.685156,29.349512],[-7.624609,29.375195],[-7.485742,29.392236],[-7.427686,29.425],[-7.349756,29.494727],[-7.234912,29.574902],[-7.160205,29.612646],[-7.142432,29.61958],[-7.094922,29.625195],[-6.855566,29.601611],[-6.755127,29.583838],[-6.635352,29.568799],[-6.597754,29.578955],[-6.565674,29.603857],[-6.520557,29.659863],[-6.510693,29.726025],[-6.50791,29.783789],[-6.500879,29.809131],[-6.479736,29.820361],[-6.427637,29.816113],[-6.357617,29.808301],[-6.214795,29.810693],[-6.166504,29.818945],[-6.004297,29.83125],[-5.775,29.869043],[-5.593311,29.917969],[-5.448779,29.956934],[-5.293652,30.058643],[-5.180127,30.166162],[-5.061914,30.326416],[-4.968262,30.465381],[-4.778516,30.552393],[-4.619629,30.604785],[-4.52915,30.625537],[-4.322852,30.698877],[-4.148779,30.80957],[-3.985352,30.913525],[-3.860059,30.927246],[-3.702002,30.944482],[-3.666797,30.964014],[-3.626904,31.000928],[-3.624512,31.065771],[-3.67251,31.111377],[-3.730176,31.1354],[-3.770996,31.161816],[-3.811816,31.166602],[-3.833398,31.197803],[-3.821387,31.255469],[-3.815137,31.308838],[-3.78916,31.361816],[-3.796436,31.437109],[-3.837109,31.512354],[-3.849561,31.566406],[-3.84668,31.619873],[-3.826758,31.661914],[-3.768164,31.689551],[-3.700244,31.700098],[-3.60459,31.686768],[-3.439795,31.704541],[-3.017383,31.834277],[-2.988232,31.874219],[-2.961133,31.963965],[-2.930859,32.042529],[-2.887207,32.068848],[-2.863428,32.074707],[-2.722607,32.095752],[-2.523242,32.125684],[-2.448389,32.12998],[-2.23125,32.121338],[-2.072803,32.115039],[-1.816992,32.104785],[-1.635156,32.099561],[-1.477051,32.094873],[-1.275342,32.089014],[-1.225928,32.107227],[-1.225928,32.164551],[-1.262109,32.271143],[-1.240332,32.337598],[-1.162598,32.39917],[-1.065527,32.468311],[-1.111035,32.552295],[-1.188232,32.608496],[-1.296387,32.675684],[-1.352148,32.703369],[-1.45,32.784814],[-1.51001,32.877637],[-1.550732,33.073584],[-1.625098,33.18335],[-1.679199,33.318652],[-1.63125,33.566748],[-1.702979,33.716846],[-1.714111,33.781836],[-1.714697,33.858203],[-1.692676,33.990283],[-1.706934,34.176074],[-1.791797,34.36792],[-1.751855,34.433252],[-1.733301,34.467041],[-1.739453,34.496094],[-1.816602,34.55708],[-1.849658,34.607324],[-1.832422,34.654639],[-1.792187,34.723193],[-1.795605,34.751904],[-1.920898,34.835547],[-2.131787,34.97085],[-2.190771,35.029785],[-2.219629,35.104199],[-2.017773,35.085059],[-1.913281,35.094238],[-1.673633,35.183105],[-1.48374,35.303076],[-1.33584,35.364258],[-1.205371,35.495752],[-1.087695,35.578857],[-0.91748,35.668408],[-0.426123,35.861523],[-0.350781,35.863184],[-0.18916,35.819092],[-0.048242,35.832812],[0.047949,35.900537],[0.15166,36.063135],[0.312207,36.162354],[0.514941,36.261816],[0.79082,36.356543],[0.97168,36.443945],[1.257227,36.51958],[1.974512,36.567578],[2.342871,36.610303],[2.593359,36.600684],[2.846484,36.738867],[2.972852,36.784473],[3.520508,36.795117],[3.779004,36.896191],[4.758105,36.896338],[4.877832,36.862402],[4.99541,36.808057],[5.195605,36.676807],[5.29541,36.648242],[5.424609,36.675439],[5.725488,36.799609],[6.064746,36.864258],[6.249121,36.93833],[6.327832,37.046045],[6.486523,37.085742],[6.575879,37.003027],[6.927539,36.919434],[7.143457,36.943359],[7.238477,36.968506],[7.204297,37.092383],[7.432422,37.059277],[7.607715,36.999756],[7.791602,36.880273],[7.910449,36.856348],[8.127148,36.910352],[8.576563,36.937207]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":6,"SOVEREIGNT":"Albania","SOV_A3":"ALB","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Albania","ADM0_A3":"ALB","GEOU_DIF":0,"GEOUNIT":"Albania","GU_A3":"ALB","SU_DIF":0,"SUBUNIT":"Albania","SU_A3":"ALB","BRK_DIFF":0,"NAME":"Albania","NAME_LONG":"Albania","BRK_A3":"ALB","BRK_NAME":"Albania","BRK_GROUP":null,"ABBREV":"Alb.","POSTAL":"AL","FORMAL_EN":"Republic of Albania","FORMAL_FR":null,"NAME_CIAWF":"Albania","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Albania","NAME_ALT":null,"MAPCOLOR7":1,"MAPCOLOR8":4,"MAPCOLOR9":1,"MAPCOLOR13":6,"POP_EST":2854191,"POP_RANK":12,"POP_YEAR":2019,"GDP_MD":15279,"GDP_YEAR":2019,"ECONOMY":"6. Developing region","INCOME_GRP":"4. Lower middle income","FIPS_10":"AL","ISO_A2":"AL","ISO_A2_EH":"AL","ISO_A3":"ALB","ISO_A3_EH":"ALB","ISO_N3":"008","ISO_N3_EH":"008","UN_A3":"008","WB_A2":"AL","WB_A3":"ALB","WOE_ID":23424742,"WOE_ID_EH":23424742,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"ALB","ADM0_DIFF":null,"ADM0_TLC":"ALB","ADM0_A3_US":"ALB","ADM0_A3_FR":"ALB","ADM0_A3_RU":"ALB","ADM0_A3_ES":"ALB","ADM0_A3_CN":"ALB","ADM0_A3_TW":"ALB","ADM0_A3_IN":"ALB","ADM0_A3_NP":"ALB","ADM0_A3_PK":"ALB","ADM0_A3_DE":"ALB","ADM0_A3_GB":"ALB","ADM0_A3_BR":"ALB","ADM0_A3_IL":"ALB","ADM0_A3_PS":"ALB","ADM0_A3_SA":"ALB","ADM0_A3_EG":"ALB","ADM0_A3_MA":"ALB","ADM0_A3_PT":"ALB","ADM0_A3_AR":"ALB","ADM0_A3_JP":"ALB","ADM0_A3_KO":"ALB","ADM0_A3_VN":"ALB","ADM0_A3_TR":"ALB","ADM0_A3_ID":"ALB","ADM0_A3_PL":"ALB","ADM0_A3_GR":"ALB","ADM0_A3_IT":"ALB","ADM0_A3_NL":"ALB","ADM0_A3_SE":"ALB","ADM0_A3_BD":"ALB","ADM0_A3_UA":"ALB","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Europe","REGION_UN":"Europe","SUBREGION":"Southern Europe","REGION_WB":"Europe & Central Asia","NAME_LEN":7,"LONG_LEN":7,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":5,"MAX_LABEL":10,"LABEL_X":20.11384,"LABEL_Y":40.654855,"NE_ID":1159320325,"WIKIDATAID":"Q222","NAME_AR":"ألبانيا","NAME_BN":"আলবেনিয়া","NAME_DE":"Albanien","NAME_EN":"Albania","NAME_ES":"Albania","NAME_FA":"آلبانی","NAME_FR":"Albanie","NAME_EL":"Αλβανία","NAME_HE":"אלבניה","NAME_HI":"अल्बानिया","NAME_HU":"Albánia","NAME_ID":"Albania","NAME_IT":"Albania","NAME_JA":"アルバニア","NAME_KO":"알바니아","NAME_NL":"Albanië","NAME_PL":"Albania","NAME_PT":"Albânia","NAME_RU":"Албания","NAME_SV":"Albanien","NAME_TR":"Arnavutluk","NAME_UK":"Албанія","NAME_UR":"البانیا","NAME_VI":"Albania","NAME_ZH":"阿尔巴尼亚","NAME_ZHT":"阿爾巴尼亞","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[19.280664,39.653516,21.031055,42.647949],"geometry":{"type":"Polygon","coordinates":[[[19.342383,41.869092],[19.345508,41.918848],[19.361133,41.997754],[19.352148,42.024023],[19.361426,42.069092],[19.330859,42.129297],[19.280664,42.172559],[19.329004,42.249268],[19.399609,42.341895],[19.465137,42.415381],[19.544531,42.491943],[19.597461,42.56543],[19.654492,42.628564],[19.703418,42.647949],[19.727832,42.634521],[19.740723,42.606934],[19.737793,42.525146],[19.754492,42.496924],[19.788281,42.476172],[19.859766,42.486328],[19.939063,42.506689],[20.045703,42.549902],[20.063965,42.547266],[20.103516,42.524658],[20.185742,42.425879],[20.240527,42.338965],[20.348242,42.308789],[20.408301,42.274951],[20.485449,42.223389],[20.522852,42.171484],[20.575391,42.013086],[20.581445,41.917432],[20.566211,41.873682],[20.553125,41.862354],[20.505176,41.706494],[20.516602,41.627051],[20.516211,41.574756],[20.475586,41.554102],[20.448633,41.521289],[20.492383,41.391406],[20.487012,41.336084],[20.488965,41.272607],[20.567871,41.127832],[20.614453,41.083057],[20.656055,41.06167],[20.709277,40.928369],[20.74082,40.905273],[20.870215,40.91792],[20.933496,40.903125],[20.958594,40.871533],[20.964258,40.849902],[20.955762,40.775293],[20.987891,40.717773],[21.031055,40.658643],[21.030859,40.622461],[21.001953,40.563379],[20.950195,40.494385],[20.881641,40.46792],[20.806055,40.445459],[20.77002,40.391895],[20.75166,40.334912],[20.717871,40.292676],[20.696973,40.246387],[20.664941,40.151758],[20.657422,40.117383],[20.60625,40.082666],[20.527051,40.068506],[20.456055,40.065576],[20.408008,40.049463],[20.383691,40.017187],[20.338477,39.991064],[20.311133,39.979443],[20.311328,39.950781],[20.344238,39.890625],[20.381641,39.841797],[20.382422,39.802637],[20.364063,39.791748],[20.306152,39.79668],[20.293848,39.782227],[20.287598,39.738574],[20.27207,39.701172],[20.248242,39.678369],[20.206836,39.653516],[20.131055,39.661621],[20.059766,39.699121],[20.022559,39.710693],[20.00127,39.709424],[19.995605,39.801025],[19.964844,39.872266],[19.851855,40.043555],[19.48457,40.209961],[19.398145,40.284863],[19.360156,40.347705],[19.322266,40.40708],[19.358594,40.40874],[19.394531,40.393701],[19.440527,40.375684],[19.45918,40.405371],[19.439258,40.470264],[19.344629,40.62207],[19.3375,40.663818],[19.383887,40.790723],[19.46123,40.933301],[19.456055,41.106055],[19.480078,41.236377],[19.453418,41.320996],[19.440625,41.424756],[19.497363,41.562695],[19.545801,41.596826],[19.575684,41.64043],[19.577539,41.7875],[19.468262,41.856152],[19.342383,41.869092]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":3,"SOVEREIGNT":"Afghanistan","SOV_A3":"AFG","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Afghanistan","ADM0_A3":"AFG","GEOU_DIF":0,"GEOUNIT":"Afghanistan","GU_A3":"AFG","SU_DIF":0,"SUBUNIT":"Afghanistan","SU_A3":"AFG","BRK_DIFF":0,"NAME":"Afghanistan","NAME_LONG":"Afghanistan","BRK_A3":"AFG","BRK_NAME":"Afghanistan","BRK_GROUP":null,"ABBREV":"Afg.","POSTAL":"AF","FORMAL_EN":"Islamic State of Afghanistan","FORMAL_FR":null,"NAME_CIAWF":"Afghanistan","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Afghanistan","NAME_ALT":null,"MAPCOLOR7":5,"MAPCOLOR8":6,"MAPCOLOR9":8,"MAPCOLOR13":7,"POP_EST":38041754,"POP_RANK":15,"POP_YEAR":2019,"GDP_MD":19291,"GDP_YEAR":2019,"ECONOMY":"7. Least developed region","INCOME_GRP":"5. Low income","FIPS_10":"AF","ISO_A2":"AF","ISO_A2_EH":"AF","ISO_A3":"AFG","ISO_A3_EH":"AFG","ISO_N3":"004","ISO_N3_EH":"004","UN_A3":"004","WB_A2":"AF","WB_A3":"AFG","WOE_ID":23424739,"WOE_ID_EH":23424739,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"AFG","ADM0_DIFF":null,"ADM0_TLC":"AFG","ADM0_A3_US":"AFG","ADM0_A3_FR":"AFG","ADM0_A3_RU":"AFG","ADM0_A3_ES":"AFG","ADM0_A3_CN":"AFG","ADM0_A3_TW":"AFG","ADM0_A3_IN":"AFG","ADM0_A3_NP":"AFG","ADM0_A3_PK":"AFG","ADM0_A3_DE":"AFG","ADM0_A3_GB":"AFG","ADM0_A3_BR":"AFG","ADM0_A3_IL":"AFG","ADM0_A3_PS":"AFG","ADM0_A3_SA":"AFG","ADM0_A3_EG":"AFG","ADM0_A3_MA":"AFG","ADM0_A3_PT":"AFG","ADM0_A3_AR":"AFG","ADM0_A3_JP":"AFG","ADM0_A3_KO":"AFG","ADM0_A3_VN":"AFG","ADM0_A3_TR":"AFG","ADM0_A3_ID":"AFG","ADM0_A3_PL":"AFG","ADM0_A3_GR":"AFG","ADM0_A3_IT":"AFG","ADM0_A3_NL":"AFG","ADM0_A3_SE":"AFG","ADM0_A3_BD":"AFG","ADM0_A3_UA":"AFG","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Asia","REGION_UN":"Asia","SUBREGION":"Southern Asia","REGION_WB":"South Asia","NAME_LEN":11,"LONG_LEN":11,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":3,"MAX_LABEL":7,"LABEL_X":66.496586,"LABEL_Y":34.164262,"NE_ID":1159320319,"WIKIDATAID":"Q889","NAME_AR":"أفغانستان","NAME_BN":"আফগানিস্তান","NAME_DE":"Afghanistan","NAME_EN":"Afghanistan","NAME_ES":"Afganistán","NAME_FA":"افغانستان","NAME_FR":"Afghanistan","NAME_EL":"Αφγανιστάν","NAME_HE":"אפגניסטן","NAME_HI":"अफ़्गानिस्तान","NAME_HU":"Afganisztán","NAME_ID":"Afganistan","NAME_IT":"Afghanistan","NAME_JA":"アフガニスタン","NAME_KO":"아프가니스탄","NAME_NL":"Afghanistan","NAME_PL":"Afganistan","NAME_PT":"Afeganistão","NAME_RU":"Афганистан","NAME_SV":"Afghanistan","NAME_TR":"Afganistan","NAME_UK":"Афганістан","NAME_UR":"افغانستان","NAME_VI":"Afghanistan","NAME_ZH":"阿富汗","NAME_ZHT":"阿富汗","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[60.485742,29.391943,74.891309,38.456396],"geometry":{"type":"Polygon","coordinates":[[[66.522266,37.348486],[66.827734,37.371289],[67.068848,37.334814],[67.195508,37.235205],[67.319727,37.20957],[67.441699,37.258008],[67.517285,37.26665],[67.546484,37.235645],[67.607422,37.22251],[67.7,37.227246],[67.75293,37.199805],[67.758984,37.172217],[67.766016,37.140137],[67.834473,37.064209],[67.958008,36.972021],[68.067773,36.949805],[68.212109,37.021533],[68.260938,37.013086],[68.284766,37.036328],[68.299512,37.088428],[68.386914,37.1375],[68.546484,37.183447],[68.637012,37.224463],[68.669141,37.258398],[68.723242,37.268018],[68.782031,37.258008],[68.82373,37.270703],[68.838477,37.302832],[68.855371,37.316846],[68.885254,37.328076],[68.911816,37.333936],[68.960449,37.325049],[69.05,37.266504],[69.180176,37.158301],[69.264844,37.108398],[69.303906,37.116943],[69.353809,37.150049],[69.414453,37.207764],[69.429688,37.290869],[69.399219,37.399316],[69.420117,37.486719],[69.49209,37.553076],[69.625781,37.594043],[69.820898,37.60957],[69.940625,37.600293],[69.984961,37.566162],[70.044727,37.547217],[70.119824,37.543506],[70.188672,37.582471],[70.251465,37.66416],[70.25498,37.765381],[70.199414,37.886035],[70.214648,37.924414],[70.23877,37.941211],[70.313281,37.984814],[70.417773,38.075439],[70.518555,38.191992],[70.61582,38.334424],[70.735938,38.422559],[70.878906,38.456396],[71.052148,38.417871],[71.255859,38.306982],[71.332715,38.170264],[71.282813,38.00791],[71.278516,37.918408],[71.319922,37.901855],[71.389648,37.906299],[71.487793,37.931885],[71.551953,37.933154],[71.582227,37.910107],[71.580371,37.864258],[71.546191,37.795654],[71.505078,37.60293],[71.479688,37.436035],[71.454785,37.271826],[71.43291,37.127539],[71.471875,37.015088],[71.530859,36.845117],[71.597461,36.73291],[71.665625,36.696924],[71.733789,36.684033],[71.802051,36.694287],[71.941992,36.766455],[72.153516,36.900537],[72.358789,36.98291],[72.657422,37.029053],[72.757031,37.172705],[72.895508,37.267529],[73.211133,37.408496],[73.38291,37.462256],[73.481348,37.47168],[73.604688,37.446045],[73.632617,37.437207],[73.657129,37.430469],[73.720605,37.41875],[73.733789,37.375781],[73.717285,37.329443],[73.648828,37.291211],[73.627539,37.261572],[73.653516,37.239355],[73.749609,37.231787],[73.948828,37.283154],[74.077734,37.316211],[74.16709,37.329443],[74.203516,37.372461],[74.259668,37.41543],[74.349023,37.41875],[74.444922,37.395605],[74.524219,37.382373],[74.659375,37.394482],[74.730566,37.357031],[74.830469,37.285937],[74.875391,37.241992],[74.891309,37.231641],[74.840234,37.225049],[74.767383,37.24917],[74.738965,37.285645],[74.72666,37.290723],[74.668945,37.266699],[74.558984,37.236621],[74.372168,37.157715],[74.376172,37.137354],[74.497949,37.057227],[74.526465,37.030664],[74.541406,37.022168],[74.431055,36.983691],[74.194727,36.896875],[74.038867,36.825732],[74.001855,36.823096],[73.907813,36.85293],[73.769141,36.888477],[73.731836,36.887793],[73.411133,36.881689],[73.116797,36.868555],[72.99375,36.851611],[72.766211,36.83501],[72.622852,36.82959],[72.531348,36.802002],[72.431152,36.76582],[72.326953,36.742383],[72.249805,36.734717],[72.156738,36.700879],[72.095605,36.63374],[71.920703,36.53418],[71.822266,36.486084],[71.772656,36.431836],[71.716406,36.426562],[71.620508,36.436475],[71.545898,36.377686],[71.463281,36.293262],[71.312598,36.171191],[71.23291,36.121777],[71.185059,36.04209],[71.220215,36.000684],[71.342871,35.938525],[71.397559,35.880176],[71.427539,35.83374],[71.483594,35.7146],[71.519043,35.59751],[71.571973,35.546826],[71.587402,35.46084],[71.600586,35.40791],[71.571973,35.37041],[71.545508,35.328516],[71.545508,35.288867],[71.577246,35.247998],[71.605273,35.211768],[71.620508,35.183008],[71.60166,35.150684],[71.545508,35.101416],[71.51709,35.051123],[71.455078,34.966943],[71.358105,34.909619],[71.294141,34.867725],[71.225781,34.779541],[71.113281,34.681592],[71.065625,34.599609],[71.016309,34.554639],[70.965625,34.530371],[70.978906,34.486279],[71.022949,34.431152],[71.095703,34.369434],[71.092383,34.273242],[71.089063,34.204053],[71.091309,34.120264],[71.051563,34.049707],[70.848438,33.981885],[70.654004,33.952295],[70.415723,33.950439],[70.325684,33.961133],[70.253613,33.975977],[69.994727,34.051807],[69.889648,34.007275],[69.868066,33.897656],[70.056641,33.719873],[70.13418,33.620752],[70.219727,33.454687],[70.28418,33.369043],[70.261133,33.289014],[70.090234,33.198096],[69.920117,33.1125],[69.703711,33.094727],[69.567773,33.06416],[69.501563,33.020068],[69.453125,32.832812],[69.40459,32.764258],[69.405371,32.682715],[69.359473,32.590332],[69.289941,32.530566],[69.241406,32.433545],[69.256543,32.249463],[69.279297,31.936816],[69.186914,31.838086],[69.083105,31.738477],[68.973438,31.667383],[68.868945,31.634229],[68.782324,31.646436],[68.713672,31.708057],[68.673242,31.759717],[68.597656,31.802979],[68.520703,31.794141],[68.443262,31.754492],[68.319824,31.767676],[68.213965,31.807373],[68.161035,31.802979],[68.130176,31.763281],[68.017188,31.677979],[67.739844,31.548193],[67.626758,31.53877],[67.578223,31.506494],[67.597559,31.45332],[67.64707,31.409961],[67.733496,31.379248],[67.737891,31.343945],[67.661523,31.312988],[67.596387,31.277686],[67.452832,31.234619],[67.287305,31.217822],[67.115918,31.24292],[67.027734,31.300244],[66.924316,31.305615],[66.829297,31.263672],[66.731348,31.194531],[66.624219,31.046045],[66.595801,31.019971],[66.566797,30.996582],[66.497363,30.964551],[66.397168,30.912207],[66.346875,30.802783],[66.286914,30.60791],[66.300977,30.502979],[66.305469,30.321143],[66.281836,30.193457],[66.238477,30.109619],[66.247168,30.043506],[66.313379,29.968555],[66.286914,29.92002],[66.23125,29.865723],[66.177051,29.835596],[65.961621,29.778906],[65.666211,29.701318],[65.470996,29.651562],[65.180469,29.577637],[65.095508,29.559473],[64.918945,29.552783],[64.827344,29.56416],[64.703516,29.567139],[64.521094,29.564502],[64.39375,29.544336],[64.266113,29.506934],[64.172168,29.460352],[64.117969,29.414258],[64.09873,29.391943],[63.970996,29.430078],[63.567578,29.497998],[62.476562,29.40835],[62.373438,29.425391],[62.000977,29.53042],[61.521484,29.665674],[61.224414,29.749414],[60.843359,29.858691],[61.104102,30.128418],[61.331641,30.363721],[61.559473,30.599365],[61.78418,30.831934],[61.81084,30.913281],[61.814258,31.072559],[61.755078,31.285303],[61.660156,31.382422],[61.346484,31.421631],[61.110742,31.451123],[60.854102,31.483252],[60.820703,31.495166],[60.791602,31.660596],[60.804297,31.734473],[60.7875,31.877197],[60.789941,31.987109],[60.827246,32.167969],[60.829297,32.249414],[60.710449,32.6],[60.644531,32.794385],[60.576563,32.994873],[60.561914,33.058789],[60.560547,33.137842],[60.718066,33.323535],[60.766895,33.363818],[60.859277,33.45625],[60.916992,33.505225],[60.906934,33.538965],[60.806445,33.558691],[60.65459,33.5604],[60.573828,33.58833],[60.51084,33.638916],[60.485938,33.711914],[60.527051,33.841992],[60.485742,34.094775],[60.570215,34.219629],[60.642676,34.307178],[60.889453,34.319434],[60.803906,34.418018],[60.762598,34.475244],[60.736133,34.491797],[60.72627,34.518262],[60.739453,34.544727],[60.802344,34.554639],[60.845313,34.587695],[60.914746,34.633984],[60.951172,34.653857],[60.957813,34.710059],[60.99082,34.749756],[61.04043,34.799365],[61.080078,34.855615],[61.070215,34.921729],[61.106641,35.001123],[61.123145,35.050732],[61.149609,35.09375],[61.126465,35.156543],[61.106641,35.209473],[61.1,35.272314],[61.139648,35.288867],[61.189258,35.312012],[61.199219,35.361621],[61.225684,35.424463],[61.245508,35.474072],[61.278516,35.51377],[61.281836,35.553418],[61.262012,35.61958],[61.344727,35.629492],[61.377734,35.593115],[61.421777,35.545801],[61.542773,35.457861],[61.620996,35.432324],[61.719727,35.419434],[61.841016,35.431494],[61.938086,35.4479],[61.983887,35.443701],[62.089648,35.379687],[62.213086,35.289941],[62.252832,35.250244],[62.271191,35.189111],[62.307813,35.170801],[62.386621,35.23125],[62.462891,35.251367],[62.533105,35.239893],[62.610547,35.233154],[62.688086,35.255322],[62.722656,35.271338],[62.858008,35.349658],[62.980273,35.40918],[63.056641,35.445801],[63.08418,35.568066],[63.119336,35.637549],[63.169727,35.678125],[63.150781,35.728271],[63.12998,35.766748],[63.108594,35.818701],[63.12998,35.846191],[63.178906,35.858447],[63.30166,35.858398],[63.516992,35.913135],[63.696582,35.967822],[63.8625,36.012354],[63.938086,36.019727],[64.009668,36.012109],[64.042383,36.025098],[64.051367,36.067627],[64.092188,36.112695],[64.184375,36.148926],[64.358008,36.226074],[64.511035,36.340674],[64.56582,36.427588],[64.602539,36.554541],[64.674316,36.750195],[64.753125,36.964795],[64.782422,37.059277],[64.816309,37.13208],[64.951563,37.193555],[65.089648,37.237939],[65.303613,37.246777],[65.55498,37.251172],[65.608008,37.368408],[65.641211,37.467822],[65.683008,37.519141],[65.743848,37.56084],[65.765039,37.569141],[65.900684,37.508105],[66.108398,37.414746],[66.350293,37.368164],[66.471875,37.344727],[66.522266,37.348486]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":1,"LABELRANK":5,"SOVEREIGNT":"Kashmir","SOV_A3":"KAS","ADM0_DIF":0,"LEVEL":2,"TYPE":"Indeterminate","TLC":null,"ADMIN":"Siachen Glacier","ADM0_A3":"KAS","GEOU_DIF":0,"GEOUNIT":"Siachen Glacier","GU_A3":"KAS","SU_DIF":0,"SUBUNIT":"Siachen Glacier","SU_A3":"KAS","BRK_DIFF":1,"NAME":"Siachen Glacier","NAME_LONG":"Siachen Glacier","BRK_A3":"B45","BRK_NAME":"Siachen Glacier","BRK_GROUP":"Jammu and Kashmir","ABBREV":"Siachen","POSTAL":"SG","FORMAL_EN":null,"FORMAL_FR":null,"NAME_CIAWF":null,"NOTE_ADM0":null,"NOTE_BRK":"Claimed by Pakistan and India","NAME_SORT":"Kashmir","NAME_ALT":null,"MAPCOLOR7":3,"MAPCOLOR8":7,"MAPCOLOR9":6,"MAPCOLOR13":-99,"POP_EST":6000,"POP_RANK":5,"POP_YEAR":2013,"GDP_MD":15,"GDP_YEAR":2013,"ECONOMY":"6. Developing region","INCOME_GRP":"4. Lower middle income","FIPS_10":"-99","ISO_A2":"-99","ISO_A2_EH":"-99","ISO_A3":"-99","ISO_A3_EH":"-99","ISO_N3":"-99","ISO_N3_EH":"-99","UN_A3":"-099","WB_A2":"-99","WB_A3":"-99","WOE_ID":23424928,"WOE_ID_EH":23424928,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"-99","ADM0_DIFF":null,"ADM0_TLC":"-99","ADM0_A3_US":"B45","ADM0_A3_FR":"IND","ADM0_A3_RU":"IND","ADM0_A3_ES":"IND","ADM0_A3_CN":"IND","ADM0_A3_TW":"IND","ADM0_A3_IN":"IND","ADM0_A3_NP":"IND","ADM0_A3_PK":"PAK","ADM0_A3_DE":"IND","ADM0_A3_GB":"IND","ADM0_A3_BR":"IND","ADM0_A3_IL":"IND","ADM0_A3_PS":"IND","ADM0_A3_SA":"IND","ADM0_A3_EG":"IND","ADM0_A3_MA":"IND","ADM0_A3_PT":"IND","ADM0_A3_AR":"IND","ADM0_A3_JP":"IND","ADM0_A3_KO":"IND","ADM0_A3_VN":"IND","ADM0_A3_TR":"PAK","ADM0_A3_ID":"IND","ADM0_A3_PL":"IND","ADM0_A3_GR":"IND","ADM0_A3_IT":"IND","ADM0_A3_NL":"IND","ADM0_A3_SE":"IND","ADM0_A3_BD":"IND","ADM0_A3_UA":"IND","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Asia","REGION_UN":"Asia","SUBREGION":"Southern Asia","REGION_WB":"South Asia","NAME_LEN":15,"LONG_LEN":15,"ABBREV_LEN":7,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":5,"MIN_LABEL":6.5,"MAX_LABEL":9.5,"LABEL_X":77.129553,"LABEL_Y":35.340606,"NE_ID":1159320963,"WIKIDATAID":"Q333946","NAME_AR":"نهر سياتشن الجليدي","NAME_BN":"সিয়াচেন হিমবাহ","NAME_DE":"Siachen-Gletscher","NAME_EN":"Siachen Glacier","NAME_ES":"Glaciar de Siachen","NAME_FA":"یخچال سیاچن","NAME_FR":"glacier de Siachen","NAME_EL":"Παγετώνας Σιατσέν","NAME_HE":"קרחון סיאצ'ן","NAME_HI":"सियाचीन","NAME_HU":"Siachen-gleccser","NAME_ID":"Siachen Glacier","NAME_IT":"ghiacciaio Siachen","NAME_JA":"シアチェン氷河","NAME_KO":"시아첸 빙하","NAME_NL":"Siachengletsjer","NAME_PL":"Lodowiec Siachen","NAME_PT":"Glaciar de Siachen","NAME_RU":"Сиачен","NAME_SV":"Siachen Glaciären","NAME_TR":"Siachen Buzulu","NAME_UK":"Сіачен","NAME_UR":"سیاچن گلیشیر","NAME_VI":"Sông băng Siachen","NAME_ZH":"锡亚琴冰川","NAME_ZHT":"錫亞琴冰川","FCLASS_ISO":"Unrecognized","TLC_DIFF":null,"FCLASS_TLC":"Unrecognized","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":"Unrecognized","FCLASS_ES":"Unrecognized","FCLASS_CN":null,"FCLASS_TW":"Unrecognized","FCLASS_IN":"Unrecognized","FCLASS_NP":"Unrecognized","FCLASS_PK":"Unrecognized","FCLASS_DE":"Unrecognized","FCLASS_GB":"Unrecognized","FCLASS_BR":"Unrecognized","FCLASS_IL":"Unrecognized","FCLASS_PS":"Unrecognized","FCLASS_SA":"Unrecognized","FCLASS_EG":"Unrecognized","FCLASS_MA":"Unrecognized","FCLASS_PT":"Unrecognized","FCLASS_AR":"Unrecognized","FCLASS_JP":"Unrecognized","FCLASS_KO":"Unrecognized","FCLASS_VN":"Unrecognized","FCLASS_TR":"Unrecognized","FCLASS_ID":"Unrecognized","FCLASS_PL":"Unrecognized","FCLASS_GR":"Unrecognized","FCLASS_IT":"Unrecognized","FCLASS_NL":"Unrecognized","FCLASS_SE":"Unrecognized","FCLASS_BD":"Unrecognized","FCLASS_UA":"Unrecognized"},"bbox":[76.766895,35.109912,77.799414,35.661719],"geometry":{"type":"Polygon","coordinates":[[[77.048633,35.109912],[77.004492,35.196338],[76.978906,35.246436],[76.927734,35.346631],[76.882227,35.435742],[76.812793,35.571826],[76.766895,35.661719],[76.878906,35.613281],[77.090039,35.552051],[77.294824,35.508154],[77.446484,35.475586],[77.52002,35.473437],[77.572559,35.471826],[77.724023,35.480566],[77.799414,35.495898],[77.696973,35.443262],[77.571582,35.37876],[77.423437,35.302588],[77.292969,35.235547],[77.168555,35.171533],[77.048633,35.109912]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":3,"LABELRANK":4,"SOVEREIGNT":"Antarctica","SOV_A3":"ATA","ADM0_DIF":0,"LEVEL":2,"TYPE":"Indeterminate","TLC":"1","ADMIN":"Antarctica","ADM0_A3":"ATA","GEOU_DIF":0,"GEOUNIT":"Antarctica","GU_A3":"ATA","SU_DIF":0,"SUBUNIT":"Antarctica","SU_A3":"ATA","BRK_DIFF":0,"NAME":"Antarctica","NAME_LONG":"Antarctica","BRK_A3":"ATA","BRK_NAME":"Antarctica","BRK_GROUP":null,"ABBREV":"Ant.","POSTAL":"AQ","FORMAL_EN":null,"FORMAL_FR":null,"NAME_CIAWF":null,"NOTE_ADM0":"By treaty","NOTE_BRK":"Multiple claims held in abeyance by treaty","NAME_SORT":"Antarctica","NAME_ALT":null,"MAPCOLOR7":4,"MAPCOLOR8":5,"MAPCOLOR9":1,"MAPCOLOR13":-99,"POP_EST":4490,"POP_RANK":4,"POP_YEAR":2019,"GDP_MD":898,"GDP_YEAR":2013,"ECONOMY":"6. Developing region","INCOME_GRP":"2. High income: nonOECD","FIPS_10":"AY","ISO_A2":"AQ","ISO_A2_EH":"AQ","ISO_A3":"ATA","ISO_A3_EH":"ATA","ISO_N3":"010","ISO_N3_EH":"010","UN_A3":"010","WB_A2":"-99","WB_A3":"-99","WOE_ID":28289409,"WOE_ID_EH":28289409,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"ATA","ADM0_DIFF":null,"ADM0_TLC":"ATA","ADM0_A3_US":"ATA","ADM0_A3_FR":"ATA","ADM0_A3_RU":"ATA","ADM0_A3_ES":"ATA","ADM0_A3_CN":"ATA","ADM0_A3_TW":"ATA","ADM0_A3_IN":"ATA","ADM0_A3_NP":"ATA","ADM0_A3_PK":"ATA","ADM0_A3_DE":"ATA","ADM0_A3_GB":"ATA","ADM0_A3_BR":"ATA","ADM0_A3_IL":"ATA","ADM0_A3_PS":"ATA","ADM0_A3_SA":"ATA","ADM0_A3_EG":"ATA","ADM0_A3_MA":"ATA","ADM0_A3_PT":"ATA","ADM0_A3_AR":"ATA","ADM0_A3_JP":"ATA","ADM0_A3_KO":"ATA","ADM0_A3_VN":"ATA","ADM0_A3_TR":"ATA","ADM0_A3_ID":"ATA","ADM0_A3_PL":"ATA","ADM0_A3_GR":"ATA","ADM0_A3_IT":"ATA","ADM0_A3_NL":"ATA","ADM0_A3_SE":"ATA","ADM0_A3_BD":"ATA","ADM0_A3_UA":"ATA","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Antarctica","REGION_UN":"Antarctica","SUBREGION":"Antarctica","REGION_WB":"Antarctica","NAME_LEN":10,"LONG_LEN":10,"ABBREV_LEN":4,"TINY":-99,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":4,"MAX_LABEL":9,"LABEL_X":35.885455,"LABEL_Y":-79.843222,"NE_ID":1159320335,"WIKIDATAID":"Q51","NAME_AR":"القارة القطبية الجنوبية","NAME_BN":"অ্যান্টার্কটিকা","NAME_DE":"Antarktika","NAME_EN":"Antarctica","NAME_ES":"Antártida","NAME_FA":"جنوبگان","NAME_FR":"Antarctique","NAME_EL":"Ανταρκτική","NAME_HE":"אנטארקטיקה","NAME_HI":"अंटार्कटिका","NAME_HU":"Antarktika","NAME_ID":"Antartika","NAME_IT":"Antartide","NAME_JA":"南極大陸","NAME_KO":"남극","NAME_NL":"Antarctica","NAME_PL":"Antarktyda","NAME_PT":"Antártida","NAME_RU":"Антарктида","NAME_SV":"Antarktis","NAME_TR":"Antarktika","NAME_UK":"Антарктида","NAME_UR":"انٹارکٹکا","NAME_VI":"Châu Nam Cực","NAME_ZH":"南极洲","NAME_ZHT":"南極洲","FCLASS_ISO":"Admin-0 dependency","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 dependency","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[-180,-89.998926,180,-60.520898],"geometry":{"type":"MultiPolygon","coordinates":[[[[-45.717773,-60.520898],[-45.499707,-60.546484],[-45.386279,-60.582715],[-45.357422,-60.623828],[-45.228125,-60.639746],[-45.210986,-60.648145],[-45.186377,-60.671875],[-45.172852,-60.69873],[-45.173682,-60.733008],[-45.398047,-60.649707],[-45.70918,-60.64541],[-45.780029,-60.586035],[-45.937305,-60.619922],[-45.954785,-60.597461],[-45.956299,-60.568359],[-45.934814,-60.526563],[-45.83418,-60.543457],[-45.717773,-60.520898]]],[[[-90.536182,-68.797754],[-90.547168,-68.79834],[-90.56665,-68.798145],[-90.580859,-68.798633],[-90.595215,-68.800195],[-90.609131,-68.801855],[-90.617383,-68.803223],[-90.620361,-68.803223],[-90.623633,-68.801367],[-90.628369,-68.796973],[-90.638379,-68.788281],[-90.64707,-68.779688],[-90.652051,-68.770898],[-90.648047,-68.75957],[-90.637207,-68.754492],[-90.636719,-68.747266],[-90.636719,-68.737891],[-90.631445,-68.729785],[-90.628369,-68.721387],[-90.62915,-68.716406],[-90.625684,-68.713867],[-90.616748,-68.712109],[-90.600098,-68.712305],[-90.589648,-68.712988],[-90.570605,-68.713965],[-90.56167,-68.715039],[-90.548486,-68.718359],[-90.535449,-68.728418],[-90.525146,-68.738477],[-90.525146,-68.742969],[-90.5229,-68.748828],[-90.521191,-68.755859],[-90.519189,-68.764258],[-90.514697,-68.771289],[-90.518164,-68.783203],[-90.525928,-68.794922],[-90.532959,-68.797266],[-90.536182,-68.797754]]],[[[-57.020654,-63.372852],[-56.927344,-63.505566],[-56.781836,-63.57168],[-56.834766,-63.63125],[-56.973682,-63.624609],[-57.119189,-63.637793],[-57.152246,-63.57168],[-57.097705,-63.523535],[-57.152246,-63.479102],[-57.283887,-63.490625],[-57.460645,-63.513574],[-57.581494,-63.546582],[-57.736914,-63.616602],[-57.856738,-63.656836],[-58.262988,-63.763379],[-58.531885,-63.91543],[-58.722852,-64.077441],[-58.838965,-64.186816],[-59.005322,-64.194922],[-59.047314,-64.234473],[-58.977246,-64.265918],[-58.922998,-64.279297],[-58.799316,-64.292676],[-58.819141,-64.338965],[-58.905127,-64.352148],[-58.895459,-64.388867],[-58.805908,-64.444824],[-58.786084,-64.524219],[-58.891895,-64.537402],[-59.050684,-64.451367],[-59.229395,-64.443555],[-59.369678,-64.403516],[-59.460742,-64.345605],[-59.546777,-64.358789],[-59.612158,-64.440137],[-59.573193,-64.530762],[-59.645996,-64.583691],[-59.734375,-64.558887],[-59.765039,-64.451367],[-59.850195,-64.433594],[-59.963086,-64.431348],[-60.24248,-64.546875],[-60.340527,-64.550586],[-60.393652,-64.609375],[-60.555957,-64.676563],[-60.659961,-64.729199],[-60.915381,-64.906836],[-61.059863,-64.98125],[-61.331836,-65.023828],[-61.439453,-65.017676],[-61.503027,-64.999707],[-61.603223,-64.987793],[-61.703125,-64.987207],[-61.736182,-65.033496],[-61.577441,-65.185645],[-61.663428,-65.238574],[-61.855615,-65.235352],[-61.947852,-65.192285],[-62.024512,-65.23252],[-62.084668,-65.273242],[-62.145312,-65.331738],[-62.053662,-65.456836],[-61.903369,-65.513477],[-61.795703,-65.522949],[-61.756006,-65.569238],[-61.991406,-65.58916],[-62.150586,-65.698828],[-62.222412,-65.775],[-62.305029,-65.84043],[-62.293262,-65.916406],[-62.169141,-66.031348],[-62.005029,-66.112891],[-61.839062,-66.119531],[-61.624805,-66.094727],[-61.574707,-66.071484],[-61.359131,-66.058789],[-61.266113,-65.97998],[-61.198145,-65.974512],[-61.137598,-65.988672],[-61.039258,-65.991992],[-60.988135,-65.940234],[-60.912793,-65.920898],[-60.812988,-65.934082],[-60.618311,-65.933105],[-60.565381,-65.979395],[-60.624902,-66.032324],[-60.743994,-66.105078],[-60.856445,-66.065332],[-60.955664,-66.071973],[-61.009277,-66.110547],[-60.902734,-66.191016],[-60.942432,-66.26377],[-61.028418,-66.336523],[-61.134277,-66.290234],[-61.149756,-66.211719],[-61.292969,-66.164551],[-61.431934,-66.144727],[-61.526123,-66.225684],[-61.675635,-66.249512],[-61.696484,-66.343164],[-61.756006,-66.429199],[-61.841992,-66.402734],[-61.875439,-66.296094],[-62.116504,-66.208984],[-62.24126,-66.19707],[-62.494141,-66.219336],[-62.582812,-66.21748],[-62.682031,-66.237305],[-62.754834,-66.310156],[-62.650293,-66.363672],[-62.615381,-66.435742],[-62.61792,-66.489648],[-62.637549,-66.511133],[-62.655078,-66.556055],[-62.543164,-66.620996],[-62.536523,-66.707031],[-62.628906,-66.706152],[-62.704785,-66.680078],[-62.996729,-66.452832],[-63.179541,-66.352539],[-63.25752,-66.26377],[-63.448535,-66.24375],[-63.586621,-66.241699],[-63.752539,-66.277734],[-63.687549,-66.319824],[-63.654395,-66.38291],[-63.755664,-66.408984],[-63.88042,-66.505957],[-63.964355,-66.58877],[-64.015039,-66.606641],[-64.077734,-66.654102],[-63.808789,-66.760938],[-63.769043,-66.803223],[-63.754736,-66.872949],[-63.8396,-66.912012],[-64.042578,-66.927246],[-64.400977,-66.85332],[-64.554004,-66.851758],[-64.606934,-66.799609],[-64.686279,-66.80625],[-64.735449,-66.894141],[-64.793359,-66.971973],[-64.878125,-67.024512],[-64.854102,-67.104785],[-64.785498,-67.12373],[-64.838721,-67.156055],[-64.950879,-67.183203],[-65.026904,-67.214063],[-64.858252,-67.242773],[-64.826465,-67.269141],[-64.819287,-67.307324],[-65.07959,-67.335352],[-65.248535,-67.341992],[-65.350098,-67.310938],[-65.443115,-67.326172],[-65.503125,-67.377246],[-65.523438,-67.444629],[-65.503906,-67.528223],[-65.470801,-67.587891],[-65.446777,-67.610156],[-65.418066,-67.65957],[-65.574023,-67.788379],[-65.589258,-67.816309],[-65.600049,-67.875684],[-65.527832,-67.92998],[-65.469434,-68.009473],[-65.551172,-68.04834],[-65.639502,-68.130566],[-65.54624,-68.14668],[-65.3875,-68.150391],[-65.218018,-68.140039],[-64.958838,-68.067578],[-64.884717,-68.056348],[-64.853467,-68.083105],[-64.829492,-68.127441],[-64.895947,-68.168359],[-65.365186,-68.2875],[-65.452002,-68.336719],[-65.331396,-68.36416],[-65.089746,-68.370215],[-64.996484,-68.407813],[-65.054541,-68.449316],[-65.140088,-68.489258],[-65.241602,-68.583203],[-65.15835,-68.617969],[-64.898291,-68.67334],[-64.428906,-68.746094],[-64.078467,-68.771191],[-64.156836,-68.686914],[-64.169238,-68.58252],[-63.924463,-68.497656],[-63.796484,-68.469727],[-63.216602,-68.418848],[-63.056543,-68.420703],[-62.933301,-68.442578],[-62.979687,-68.486328],[-63.114746,-68.470605],[-63.34751,-68.499414],[-63.707324,-68.592188],[-63.773438,-68.631836],[-63.747021,-68.70459],[-63.442725,-68.76416],[-63.343506,-68.810449],[-63.478223,-68.951172],[-63.455957,-69.041895],[-63.301465,-69.141016],[-63.094385,-69.253027],[-62.994092,-69.328906],[-62.839746,-69.371875],[-62.586816,-69.477246],[-62.450537,-69.584375],[-62.407129,-69.827246],[-62.202441,-70.02793],[-61.961084,-70.120117],[-61.934619,-70.199512],[-62.013965,-70.278906],[-62.217871,-70.233203],[-62.331494,-70.278906],[-62.377783,-70.364844],[-62.232275,-70.424414],[-62.000781,-70.497168],[-61.504687,-70.490527],[-61.491406,-70.569922],[-61.605322,-70.616699],[-61.696484,-70.675781],[-61.808936,-70.708789],[-61.994141,-70.728613],[-62.04043,-70.801367],[-61.961084,-70.900586],[-61.702148,-70.856738],[-61.513379,-70.851172],[-61.312842,-70.867578],[-61.25166,-71.002246],[-61.017236,-71.166895],[-60.962256,-71.244629],[-61.003076,-71.319336],[-61.148438,-71.341895],[-61.237305,-71.400586],[-61.369287,-71.452344],[-61.515918,-71.479102],[-61.789551,-71.616016],[-61.90957,-71.630859],[-61.958789,-71.657813],[-61.725439,-71.672559],[-61.562793,-71.675293],[-61.213574,-71.564063],[-61.081348,-71.588574],[-60.995312,-71.661328],[-60.949023,-71.747266],[-61.035059,-71.82002],[-61.644531,-71.862891],[-61.938916,-71.903613],[-62.256641,-72.017578],[-61.894043,-72.070996],[-61.628027,-72.052734],[-61.492676,-72.072656],[-61.310254,-72.112695],[-61.107471,-72.091504],[-60.951758,-72.050195],[-60.833203,-72.051563],[-60.719434,-72.072656],[-60.704297,-72.144141],[-60.691064,-72.269824],[-60.6646,-72.3625],[-60.730322,-72.425977],[-61.04751,-72.470508],[-61.279785,-72.468262],[-61.286133,-72.600781],[-60.93916,-72.699707],[-60.724121,-72.646875],[-60.532324,-72.67334],[-60.532324,-72.832129],[-60.384668,-73.007324],[-60.254492,-73.017285],[-60.148682,-72.937891],[-60.009766,-72.937891],[-59.956836,-73.030566],[-60.016406,-73.189258],[-60.122217,-73.275293],[-60.40376,-73.240234],[-60.560693,-73.211426],[-60.686621,-73.270996],[-60.89585,-73.32041],[-61.081348,-73.328223],[-61.24209,-73.250293],[-61.428418,-73.191406],[-61.726416,-73.160742],[-62.008301,-73.147656],[-61.914746,-73.215723],[-61.787598,-73.254883],[-61.737695,-73.375488],[-61.636963,-73.500195],[-61.405469,-73.46709],[-61.079785,-73.538672],[-60.878857,-73.612012],[-60.790283,-73.711816],[-60.902734,-73.870605],[-61.088281,-73.929492],[-61.203418,-73.956641],[-61.404053,-73.895996],[-61.54541,-73.895996],[-61.691699,-73.923828],[-61.741602,-73.996191],[-61.838232,-74.032031],[-61.319434,-74.035938],[-61.160693,-74.055762],[-61.04165,-74.121973],[-61.226855,-74.20791],[-61.570801,-74.194727],[-61.718262,-74.228125],[-61.842773,-74.289648],[-61.331787,-74.328613],[-61.120605,-74.306934],[-60.783691,-74.241016],[-60.704297,-74.307129],[-60.838477,-74.372949],[-61.010791,-74.47832],[-61.370166,-74.511816],[-61.63999,-74.513574],[-61.994531,-74.475781],[-62.088867,-74.452832],[-62.235303,-74.441309],[-62.225684,-74.505566],[-62.132715,-74.55],[-61.894434,-74.713086],[-61.855225,-74.776758],[-61.928027,-74.862793],[-62.137793,-74.926367],[-62.372461,-74.952148],[-62.566797,-74.895801],[-62.708496,-74.737109],[-62.887109,-74.69082],[-63.072314,-74.677539],[-63.178125,-74.68418],[-63.16792,-74.764551],[-63.125244,-74.849512],[-63.197998,-74.909082],[-63.357031,-74.87832],[-63.558789,-74.905664],[-63.750879,-74.952344],[-63.924707,-75.004492],[-63.570996,-75.030273],[-63.336914,-75.034766],[-63.173193,-75.114746],[-63.231055,-75.153809],[-63.551416,-75.171484],[-63.85752,-75.206152],[-64.279541,-75.292871],[-63.972461,-75.329395],[-63.678418,-75.32793],[-63.474854,-75.336328],[-63.303809,-75.352246],[-63.25752,-75.398535],[-63.363379,-75.451465],[-64.052637,-75.57959],[-64.778271,-75.738184],[-65.044385,-75.7875],[-65.321729,-75.815137],[-65.965674,-75.95166],[-66.37041,-76.013379],[-67.518213,-76.109766],[-69.304395,-76.350781],[-69.915283,-76.521973],[-70.095508,-76.654492],[-70.210156,-76.674121],[-70.550781,-76.718066],[-70.89502,-76.739355],[-71.798682,-76.752734],[-72.722314,-76.689063],[-73.471777,-76.675488],[-73.879785,-76.696777],[-75.268359,-76.581445],[-75.443506,-76.586719],[-75.659277,-76.608203],[-75.831348,-76.608203],[-75.962842,-76.59209],[-76.244189,-76.585352],[-77.190039,-76.629785],[-77.287061,-76.70166],[-77.167969,-76.833887],[-76.823584,-76.993457],[-76.248584,-77.274902],[-75.937256,-77.334473],[-75.748145,-77.398438],[-75.386914,-77.474219],[-74.580615,-77.478027],[-73.478223,-77.535547],[-72.851953,-77.590234],[-72.875146,-77.693848],[-73.251562,-77.894238],[-73.48501,-77.970801],[-74.042139,-78.109375],[-74.812061,-78.177832],[-75.398438,-78.157813],[-76.437842,-78.044141],[-77.742139,-77.940332],[-79.679004,-77.842578],[-80.104102,-77.796582],[-80.601562,-77.751953],[-80.888525,-77.797656],[-81.103125,-77.841797],[-81.580957,-77.846094],[-81.441016,-77.885645],[-79.509668,-78.154297],[-77.858105,-78.350977],[-77.664795,-78.401465],[-77.432568,-78.434668],[-77.452441,-78.560352],[-77.54502,-78.65957],[-77.869141,-78.745508],[-78.711621,-78.752051],[-79.766553,-78.820703],[-80.292285,-78.822754],[-80.816309,-78.754297],[-81.929297,-78.559082],[-82.608447,-78.412402],[-83.08252,-78.24668],[-83.412061,-78.114648],[-83.779004,-77.983594],[-83.7521,-78.066309],[-83.687744,-78.148047],[-83.508252,-78.248047],[-83.245898,-78.357031],[-83.226953,-78.401563],[-83.35498,-78.407617],[-83.544434,-78.355273],[-83.705908,-78.404102],[-83.762744,-78.461133],[-83.696631,-78.537305],[-83.595166,-78.611035],[-83.26001,-78.774219],[-82.970752,-78.816699],[-82.589209,-78.916309],[-81.660889,-79.099805],[-81.50293,-79.162891],[-81.222168,-79.297852],[-81.163184,-79.400391],[-80.891992,-79.501855],[-80.704785,-79.517188],[-80.534814,-79.512793],[-80.47876,-79.426172],[-80.488525,-79.320996],[-80.415771,-79.294531],[-80.151172,-79.268066],[-79.455664,-79.304395],[-76.499121,-79.325684],[-76.217676,-79.387207],[-76.105127,-79.465137],[-76.031592,-79.627051],[-76.343945,-79.820898],[-76.557861,-79.903516],[-76.904004,-79.955273],[-77.222266,-79.994141],[-77.701855,-80.00957],[-78.692236,-79.99541],[-79.6604,-79.996875],[-78.907129,-80.089648],[-78.176074,-80.166797],[-77.160449,-80.15293],[-76.757129,-80.13125],[-76.407324,-80.094922],[-76.259619,-80.160059],[-75.985645,-80.29502],[-75.822412,-80.338184],[-75.709033,-80.382715],[-75.555029,-80.530859],[-75.494531,-80.61748],[-75.34458,-80.718945],[-75.236523,-80.802637],[-75.075586,-80.860059],[-74.806592,-80.886523],[-74.511133,-80.837988],[-73.937842,-80.815918],[-73.38335,-80.893652],[-73.029492,-80.917285],[-72.553223,-80.853125],[-72.173584,-80.763867],[-71.380029,-80.682227],[-71.230664,-80.646777],[-71.017676,-80.619043],[-70.687891,-80.62627],[-70.560059,-80.646582],[-70.392432,-80.735449],[-70.239111,-80.856641],[-70.012451,-80.917773],[-69.772266,-80.961523],[-69.633984,-80.96582],[-69.181592,-81.004883],[-68.589844,-80.967969],[-68.326562,-81.004102],[-68.284619,-81.073828],[-68.14375,-81.130371],[-67.96543,-81.148242],[-65.573682,-81.460547],[-64.750146,-81.52168],[-63.477734,-81.553223],[-62.490234,-81.556738],[-62.353711,-81.57666],[-62.165381,-81.636133],[-62.541846,-81.67832],[-62.945898,-81.683984],[-63.553955,-81.667188],[-63.768652,-81.676074],[-64.232666,-81.659766],[-64.475684,-81.67168],[-64.696094,-81.652344],[-65.021582,-81.696484],[-65.619727,-81.729297],[-65.486621,-81.775],[-65.26377,-81.785645],[-64.810547,-81.802734],[-64.190186,-81.794824],[-64.137109,-81.869336],[-64.706152,-81.8875],[-65.916211,-81.902246],[-66.042285,-81.913867],[-66.133838,-81.953418],[-65.953027,-81.970996],[-65.843848,-81.993262],[-65.786621,-82.045508],[-65.913184,-82.183203],[-65.713965,-82.279199],[-65.571924,-82.294336],[-65.424414,-82.280371],[-65.170117,-82.318262],[-64.91958,-82.370508],[-64.396582,-82.374414],[-63.772852,-82.304297],[-63.466309,-82.306836],[-62.645312,-82.263086],[-61.90166,-82.271094],[-60.859082,-82.186719],[-60.687109,-82.188574],[-60.527734,-82.199902],[-60.817187,-82.275781],[-62.094531,-82.466602],[-62.553027,-82.50332],[-62.735645,-82.527344],[-62.630908,-82.620703],[-62.465576,-82.718164],[-62.128613,-82.822363],[-61.916992,-82.97666],[-61.708936,-83.009961],[-61.312842,-82.93916],[-61.218408,-82.991797],[-61.200391,-83.097949],[-61.303223,-83.18418],[-61.436328,-83.232422],[-61.530566,-83.279395],[-61.589844,-83.341211],[-61.425293,-83.395605],[-60.983203,-83.427539],[-60.397021,-83.440723],[-59.853809,-83.442383],[-59.516016,-83.458398],[-58.289941,-83.120703],[-57.797754,-82.958594],[-57.557129,-82.890234],[-57.353613,-82.840234],[-56.317871,-82.633398],[-56.075049,-82.570215],[-55.800684,-82.478418],[-55.294678,-82.464844],[-54.601123,-82.316211],[-53.986084,-82.200586],[-53.7396,-82.178418],[-53.557568,-82.169434],[-53.339062,-82.144531],[-52.798877,-82.153613],[-52.414941,-82.134863],[-51.730664,-82.061523],[-51.209668,-82.015234],[-50.653027,-81.975488],[-50.029248,-81.967676],[-48.360791,-81.892285],[-47.886816,-81.925195],[-47.360254,-82.004004],[-47.019873,-82.003223],[-46.566699,-81.979199],[-46.258057,-81.946973],[-46.119141,-82.039551],[-46.046387,-82.158691],[-46.198535,-82.271094],[-46.44834,-82.339844],[-46.516748,-82.45459],[-46.175293,-82.511621],[-45.788574,-82.494922],[-45.04375,-82.437988],[-44.454883,-82.365918],[-44.291797,-82.317773],[-44.064209,-82.331445],[-43.669336,-82.270117],[-43.180371,-82.017188],[-42.564551,-81.761621],[-42.046289,-81.597852],[-41.711572,-81.407715],[-41.433838,-81.297754],[-41.125879,-81.214844],[-40.914551,-81.172363],[-40.44082,-81.165137],[-39.762305,-81.032031],[-38.771729,-80.882324],[-38.010937,-80.954297],[-37.209277,-81.063867],[-36.812402,-80.974707],[-36.499512,-80.95957],[-36.233984,-80.920508],[-35.965771,-80.890918],[-35.775879,-80.812695],[-35.520557,-80.745703],[-35.327002,-80.650684],[-34.349951,-80.603418],[-33.328711,-80.54043],[-33.191309,-80.518652],[-33.057227,-80.531641],[-32.706201,-80.513867],[-32.255713,-80.460742],[-31.634229,-80.444629],[-31.312109,-80.450098],[-31.01543,-80.308105],[-30.425293,-80.279688],[-29.797363,-80.22334],[-29.531494,-80.181836],[-29.329102,-80.17207],[-24.240283,-80.061914],[-24.019824,-80.008984],[-23.574463,-79.964844],[-23.406836,-79.858984],[-24.088281,-79.814844],[-24.299854,-79.770801],[-24.533887,-79.75791],[-24.67041,-79.774609],[-25.258643,-79.7625],[-29.949316,-79.599023],[-30.049072,-79.585352],[-30.21123,-79.485254],[-30.17793,-79.304297],[-30.315918,-79.163086],[-30.645264,-79.124121],[-30.985156,-79.12793],[-31.412793,-79.145215],[-32.541846,-79.222168],[-32.994238,-79.228809],[-34.197363,-79.110254],[-34.994922,-78.977539],[-35.515967,-78.933008],[-35.890088,-78.843555],[-36.23916,-78.774219],[-36.265625,-78.615527],[-36.180859,-78.468359],[-35.509277,-78.041211],[-35.087598,-77.837109],[-34.80835,-77.820605],[-34.551465,-77.728516],[-34.290186,-77.521875],[-34.075781,-77.425391],[-33.591162,-77.31123],[-33.376758,-77.281641],[-32.614062,-77.14082],[-32.405273,-77.13623],[-32.063379,-77.159863],[-31.675781,-77.033105],[-30.489209,-76.762305],[-30.221973,-76.660352],[-29.891553,-76.597949],[-28.933643,-76.370313],[-28.079395,-76.257812],[-27.653076,-76.226367],[-27.134521,-76.157324],[-26.560059,-76.054688],[-26.059326,-75.957227],[-24.26958,-75.766992],[-23.197266,-75.717676],[-22.465479,-75.661035],[-21.948096,-75.694141],[-21.433789,-75.683105],[-20.989014,-75.634375],[-20.783301,-75.593945],[-20.4875,-75.491992],[-19.493018,-75.539941],[-18.850928,-75.470215],[-18.585156,-75.462598],[-18.30459,-75.431348],[-18.415137,-75.396484],[-18.516943,-75.389941],[-18.617285,-75.342383],[-18.749219,-75.24209],[-18.617285,-75.115332],[-18.516943,-75.051953],[-18.221191,-74.974512],[-18.068262,-74.862988],[-17.922754,-74.699219],[-17.43584,-74.379102],[-17.299023,-74.333887],[-16.989258,-74.319824],[-16.7271,-74.327637],[-16.429541,-74.323926],[-15.67251,-74.407324],[-15.53125,-74.375586],[-15.289746,-74.280859],[-15.08916,-74.163281],[-14.658936,-73.988867],[-14.573828,-73.9375],[-14.611426,-73.851758],[-15.259619,-73.888867],[-15.748828,-73.945605],[-16.220117,-73.915723],[-16.281885,-73.866992],[-16.180859,-73.830273],[-16.003125,-73.815918],[-15.935645,-73.757617],[-16.097461,-73.709082],[-16.387744,-73.681348],[-16.518848,-73.644043],[-16.507031,-73.555957],[-16.435205,-73.425684],[-16.279102,-73.388477],[-16.149023,-73.334473],[-15.802832,-73.152148],[-15.595996,-73.096777],[-15.007031,-73.047461],[-14.320996,-73.123047],[-14.164697,-73.102441],[-14.000098,-73.000586],[-14.168311,-72.843262],[-14.298242,-72.78457],[-14.297754,-72.733008],[-13.938965,-72.75625],[-13.602832,-72.79209],[-13.208594,-72.785059],[-12.746924,-72.628906],[-12.094727,-72.498145],[-11.777344,-72.444043],[-11.496973,-72.412891],[-11.346484,-72.281641],[-11.121387,-72.031543],[-10.958105,-71.901953],[-10.961035,-71.822363],[-11.009229,-71.75791],[-11.179346,-71.776855],[-11.333057,-71.785547],[-11.696875,-71.719336],[-12.148193,-71.613672],[-12.284521,-71.495117],[-12.351318,-71.389746],[-12.207812,-71.332227],[-12.073682,-71.296875],[-11.926123,-71.288672],[-11.663037,-71.33125],[-11.328076,-71.439746],[-11.160156,-71.481152],[-10.969824,-71.560059],[-10.825439,-71.55332],[-10.659473,-71.442676],[-10.520068,-71.295508],[-10.406641,-71.250293],[-10.230566,-71.200977],[-10.033496,-71.130664],[-10.122314,-71.060938],[-10.331006,-71.024023],[-10.359961,-70.982422],[-10.270605,-70.935742],[-10.09873,-70.926367],[-9.887988,-71.027344],[-9.599365,-71.095313],[-9.402344,-71.117578],[-9.230664,-71.174023],[-8.965918,-71.361328],[-8.646484,-71.672754],[-8.497705,-71.674805],[-8.216455,-71.64707],[-7.91582,-71.635352],[-7.713721,-71.546484],[-7.668994,-71.324316],[-7.590137,-71.22373],[-7.617969,-71.121484],[-7.756885,-71.017188],[-7.873486,-70.940332],[-7.854932,-70.88457],[-7.752734,-70.842773],[-7.619775,-70.829004],[-7.388135,-70.786914],[-7.031592,-70.835156],[-6.838184,-70.844531],[-6.54751,-70.816895],[-6.245215,-70.755762],[-5.936328,-70.712695],[-5.694727,-70.745313],[-5.587891,-70.856738],[-5.708691,-70.968262],[-5.903809,-71.051855],[-6.080273,-71.154102],[-6.126758,-71.265625],[-6.11748,-71.325977],[-5.950049,-71.341602],[-4.450146,-71.327734],[-4.253223,-71.338477],[-3.994824,-71.338867],[-3.713184,-71.374609],[-3.239648,-71.360449],[-2.812012,-71.320996],[-2.610254,-71.320801],[-2.261328,-71.357129],[-2.0146,-71.433398],[-1.500635,-71.412305],[-1.354248,-71.386816],[-1.216357,-71.28418],[-1.067773,-71.265625],[-0.89585,-71.349219],[-0.840088,-71.539746],[-0.759863,-71.630273],[-0.543164,-71.712695],[-0.326953,-71.641895],[-0.18457,-71.558887],[0.154199,-71.397949],[0.538477,-71.274219],[0.834961,-71.202344],[1.552246,-71.080273],[1.908691,-71.003613],[2.609473,-70.900098],[3.506934,-70.844434],[5.113086,-70.655664],[5.643945,-70.636328],[6.508008,-70.586426],[6.950977,-70.535254],[7.401172,-70.494434],[7.676758,-70.356348],[8.306738,-70.461621],[8.523047,-70.473828],[8.81748,-70.39082],[9.141602,-70.183691],[9.613477,-70.269043],[9.885547,-70.40293],[10.217676,-70.50791],[10.968848,-70.687695],[11.203516,-70.728711],[11.70127,-70.766602],[11.833594,-70.736523],[12.067969,-70.616504],[12.308789,-70.443262],[12.461621,-70.370117],[12.681934,-70.308691],[12.929395,-70.213379],[12.864551,-70.162305],[12.723438,-70.143652],[12.595117,-70.117383],[12.62627,-70.065625],[13.065625,-70.053613],[13.297949,-70.22959],[13.532617,-70.2875],[13.822656,-70.343164],[14.491797,-70.299609],[15.063867,-70.294727],[15.562891,-70.330762],[15.806934,-70.324023],[16.025195,-70.193457],[16.381055,-70.145117],[16.584863,-70.203809],[16.70918,-70.397266],[17.166699,-70.450879],[18.124609,-70.540332],[18.232031,-70.518262],[18.351367,-70.415527],[18.432617,-70.289941],[18.627344,-70.269434],[18.877246,-70.201367],[19.009375,-70.212109],[19.196387,-70.293164],[19.132324,-70.491895],[19.026563,-70.674023],[19.15293,-70.820898],[19.265137,-70.902344],[19.409277,-70.916992],[19.651855,-70.920605],[19.944238,-70.910156],[20.128125,-70.917578],[21.070801,-70.843457],[21.186035,-70.680566],[21.337305,-70.495117],[21.70498,-70.258496],[21.848926,-70.276758],[21.962305,-70.300391],[22.21582,-70.417285],[22.366016,-70.475098],[22.396484,-70.561328],[22.233691,-70.642676],[22.277832,-70.695605],[22.44541,-70.739746],[22.979004,-70.810352],[23.149902,-70.796289],[23.406836,-70.723242],[23.664844,-70.575],[23.803613,-70.40459],[24.024121,-70.413379],[24.235742,-70.448633],[24.385742,-70.536914],[24.385742,-70.704395],[24.588379,-70.82041],[24.756738,-70.89209],[25.187402,-70.970996],[25.650195,-70.990625],[25.974121,-71.037402],[26.498828,-71.019531],[26.754395,-70.967285],[26.917969,-70.953711],[27.206836,-70.910938],[27.508594,-70.813281],[27.697754,-70.772461],[28.386426,-70.682031],[28.911523,-70.583105],[29.463867,-70.40625],[30.00332,-70.3],[30.834082,-70.246289],[31.062891,-70.224707],[31.378809,-70.225781],[32.15957,-70.099805],[32.456543,-70.025977],[32.621289,-70.000586],[32.809766,-69.909375],[32.911523,-69.733691],[32.989355,-69.624219],[32.975977,-69.516992],[32.903125,-69.378711],[32.737988,-69.254883],[32.567578,-69.074219],[32.641602,-68.868945],[32.776172,-68.783105],[33.121484,-68.68916],[33.465625,-68.670703],[33.853516,-68.683008],[34.192871,-68.702441],[34.219336,-68.790625],[34.074219,-68.885352],[33.884863,-68.979297],[33.77207,-69.02002],[33.813672,-69.099316],[34.058594,-69.110547],[34.595898,-69.094531],[34.749512,-69.167676],[35.131348,-69.486914],[35.224805,-69.637305],[35.357031,-69.681348],[35.567676,-69.660059],[36.017773,-69.661816],[36.331152,-69.639355],[36.585938,-69.637891],[36.71875,-69.652246],[36.855762,-69.725586],[37.114844,-69.810449],[37.374512,-69.747852],[37.559766,-69.718359],[37.787109,-69.725684],[38.144336,-69.824219],[38.499414,-70.056152],[38.885547,-70.171875],[38.911719,-70.097852],[38.859277,-70.006055],[39.01875,-69.924219],[39.211328,-69.785938],[39.487012,-69.608008],[39.705078,-69.425586],[39.762305,-69.17334],[39.863867,-68.966992],[40.041699,-68.867773],[40.215625,-68.804883],[40.483887,-68.738867],[40.81709,-68.723633],[41.132715,-68.575098],[41.356348,-68.514941],[41.824609,-68.432617],[42.408789,-68.351855],[42.819531,-68.123242],[42.960938,-68.095313],[43.170898,-68.059766],[43.554102,-68.045605],[44.177539,-67.972461],[44.372852,-67.961328],[44.699805,-67.904297],[44.989551,-67.769238],[45.196973,-67.731152],[45.569336,-67.736426],[45.887695,-67.659766],[46.153906,-67.657031],[46.399023,-67.617578],[46.436523,-67.533398],[46.319727,-67.476562],[46.317285,-67.401953],[46.454102,-67.303613],[46.559668,-67.268164],[46.883887,-67.274805],[47.154395,-67.357227],[47.351562,-67.361914],[47.40293,-67.40918],[47.231348,-67.468262],[47.117188,-67.572656],[47.31416,-67.664941],[47.489844,-67.72793],[47.703516,-67.716211],[47.958594,-67.660059],[48.209961,-67.699316],[48.32168,-67.785254],[48.32168,-67.91748],[48.374512,-67.988086],[48.550977,-67.926367],[48.648047,-67.794043],[48.62002,-67.625195],[48.630371,-67.520605],[49.05293,-67.352441],[49.219336,-67.226855],[48.923047,-67.199707],[48.713672,-67.216895],[48.598438,-67.171289],[48.465234,-67.043457],[48.830273,-66.938281],[49.24707,-66.941602],[49.488672,-67.030957],[50.006152,-67.175195],[50.292969,-67.172168],[50.553027,-67.194336],[50.605957,-67.150195],[50.508887,-66.938574],[50.520898,-66.82002],[50.306055,-66.75332],[50.244336,-66.603418],[50.332422,-66.444629],[50.588281,-66.356445],[50.936914,-66.31543],[51.6875,-66.072168],[51.88457,-66.02002],[52.378223,-65.969141],[52.955273,-65.945508],[53.671777,-65.858691],[54.947852,-65.916309],[55.29043,-65.954199],[55.504492,-66.002637],[55.710352,-66.07998],[55.974023,-66.209375],[56.361523,-66.372754],[56.859375,-66.423438],[57.000293,-66.474805],[57.185449,-66.613281],[56.986523,-66.704395],[56.823633,-66.712695],[56.510059,-66.659277],[56.294531,-66.603418],[56.145898,-66.626074],[56.291895,-66.721094],[56.453223,-66.779785],[56.479688,-66.85918],[56.391406,-66.973828],[55.802734,-67.199316],[56.154883,-67.264551],[56.365918,-67.2125],[56.562109,-67.115918],[56.760059,-67.07334],[56.891602,-67.05625],[57.361133,-67.052637],[57.627441,-67.014063],[57.828125,-67.041309],[58.026758,-67.103418],[58.31748,-67.163086],[58.737402,-67.22959],[59.250781,-67.484961],[59.650195,-67.458594],[59.867578,-67.403125],[60.482031,-67.385156],[61.012109,-67.499512],[61.309082,-67.540234],[62.173926,-67.575488],[62.687891,-67.647559],[63.017676,-67.561816],[63.237598,-67.526855],[63.699023,-67.508301],[63.93125,-67.526074],[64.573633,-67.62041],[65.70752,-67.716406],[66.488379,-67.765527],[67.174805,-67.767969],[67.502441,-67.810156],[68.098535,-67.854102],[68.32793,-67.889551],[68.899512,-67.862109],[69.167188,-67.824805],[69.416406,-67.742969],[69.55918,-67.763184],[69.655957,-67.864551],[69.603027,-68.041016],[69.704492,-68.16084],[69.788672,-68.279492],[69.907422,-68.379492],[69.982227,-68.464258],[69.92793,-68.535352],[69.761914,-68.598535],[69.53418,-68.736914],[69.546875,-68.856641],[69.645605,-68.932227],[69.530762,-69.024023],[69.614648,-69.153711],[69.629492,-69.231641],[69.549414,-69.29375],[69.371875,-69.331445],[69.064941,-69.337402],[68.90625,-69.372754],[68.879785,-69.469727],[68.95918,-69.540234],[69.135547,-69.57793],[69.188477,-69.654883],[69.162012,-69.769629],[69.082617,-69.866602],[68.920508,-69.911816],[68.74375,-69.921387],[68.415234,-69.902148],[68.178125,-69.837305],[68.027148,-69.894434],[67.916992,-69.952734],[67.575391,-70.087891],[67.416602,-70.177148],[67.267969,-70.273145],[67.658984,-70.325977],[67.94082,-70.422852],[68.559375,-70.4125],[68.757422,-70.369922],[69.020898,-70.325195],[69.162012,-70.333984],[69.250195,-70.431055],[69.19668,-70.585254],[69.188379,-70.70459],[68.872754,-71.035156],[68.767969,-71.090723],[68.62373,-71.181445],[68.447559,-71.251563],[68.310547,-71.286523],[68.037402,-71.391016],[67.87334,-71.579785],[67.693555,-71.736719],[67.432227,-72.00293],[67.281055,-72.290625],[67.214844,-72.461426],[67.113379,-72.641113],[66.89209,-72.948633],[66.746484,-72.999805],[66.497656,-73.125488],[66.569141,-73.20918],[66.764746,-73.216895],[67.003125,-73.236426],[67.32207,-73.300293],[67.748633,-73.168164],[67.971387,-73.085645],[68.015527,-72.918164],[67.971387,-72.750586],[68.106836,-72.650684],[68.419824,-72.515039],[69.157031,-72.418652],[69.309473,-72.408789],[69.554688,-72.374512],[69.769727,-72.253613],[69.962109,-72.13291],[70.294336,-72.055371],[70.572852,-71.930957],[70.616211,-71.84209],[70.731641,-71.822266],[71.078809,-71.736719],[71.167871,-71.671582],[71.276758,-71.623926],[71.349219,-71.513867],[71.378809,-71.30918],[71.464844,-71.15459],[71.633887,-70.949219],[71.771387,-70.80127],[71.904883,-70.706641],[72.262598,-70.656738],[72.417969,-70.598633],[72.622363,-70.47207],[72.760352,-70.395703],[72.744336,-70.23916],[72.82207,-70.095898],[73.041406,-70.009668],[73.324805,-69.848926],[73.676074,-69.825781],[73.942188,-69.743164],[74.226758,-69.800391],[74.571094,-69.87959],[75.147852,-69.855469],[75.423828,-69.893066],[75.635547,-69.848926],[75.820703,-69.725488],[75.891211,-69.575586],[76.111719,-69.487402],[76.359766,-69.490234],[76.770117,-69.339648],[77.191992,-69.205957],[77.540918,-69.174414],[77.81748,-69.068945],[78.015137,-68.891895],[78.228516,-68.756152],[78.488965,-68.625781],[78.563477,-68.39375],[78.72627,-68.277832],[79.035156,-68.175391],[79.287793,-68.119336],[80.363086,-67.946875],[81.187402,-67.83125],[82.016992,-67.690039],[82.273242,-67.691699],[82.607031,-67.613086],[83.157813,-67.610547],[83.304297,-67.603027],[83.493652,-67.441211],[83.903711,-67.291992],[84.160742,-67.244141],[84.485156,-67.114453],[84.74834,-67.102246],[85.116797,-67.125586],[85.429004,-67.160938],[85.710742,-67.161328],[86.118359,-67.05498],[86.750195,-67.037109],[86.946582,-66.985547],[87.084863,-66.940137],[87.980273,-66.788477],[88.31416,-66.81748],[88.789453,-66.791992],[89.076563,-66.799414],[89.351758,-66.818164],[89.698438,-66.823047],[90.292969,-66.769629],[90.547266,-66.734277],[91.02168,-66.602832],[91.546094,-66.57207],[91.777051,-66.5375],[92.073438,-66.50791],[92.312305,-66.558594],[92.48584,-66.604297],[92.591992,-66.614453],[92.730566,-66.624414],[93.074902,-66.571094],[93.358008,-66.585449],[93.72168,-66.642969],[93.964258,-66.689648],[94.08877,-66.688867],[94.313477,-66.647168],[94.586816,-66.543555],[94.839844,-66.501367],[95.083984,-66.527441],[95.247949,-66.571191],[95.541016,-66.630957],[95.991406,-66.621191],[96.42373,-66.599609],[96.788867,-66.550586],[97.100586,-66.499414],[97.388477,-66.578613],[97.719824,-66.607324],[98.257617,-66.46748],[98.461719,-66.498535],[98.603125,-66.534766],[98.720117,-66.553125],[98.858887,-66.670801],[99.370117,-66.648242],[99.824316,-66.548633],[100.211719,-66.473926],[100.591211,-66.425195],[100.889063,-66.358008],[101.327148,-66.100488],[101.320898,-66.020898],[101.381348,-65.973047],[101.474414,-65.951172],[102.174121,-65.954199],[102.392188,-65.932617],[102.674219,-65.865137],[103.166602,-65.916895],[103.63877,-65.998926],[103.763477,-65.989746],[103.951172,-65.988086],[104.289062,-66.03916],[104.666992,-66.136816],[105.000391,-66.164062],[106.386914,-66.410645],[107.170898,-66.47041],[107.565527,-66.552344],[107.667285,-66.580371],[107.785059,-66.664062],[107.991699,-66.67207],[108.15791,-66.639063],[108.376172,-66.76582],[108.910059,-66.861914],[109.462793,-66.908691],[109.82373,-66.833691],[110.437012,-66.621094],[110.622266,-66.524023],[110.587012,-66.312305],[110.906738,-66.07666],[111.453125,-65.960938],[112.130273,-65.900098],[112.547852,-65.847949],[113.099414,-65.799902],[113.367969,-65.84873],[113.502148,-65.886328],[113.709766,-65.92959],[113.954492,-66.060449],[114.336914,-66.360156],[114.618555,-66.467969],[114.869531,-66.476953],[115.082422,-66.492969],[115.310352,-66.56084],[115.635352,-66.771191],[115.441895,-66.958008],[115.27373,-67.02793],[114.570605,-67.108496],[114.259766,-67.172266],[113.991211,-67.211914],[113.9125,-67.367676],[114.026563,-67.441211],[114.319043,-67.405664],[114.65791,-67.387891],[114.925781,-67.356543],[115.171875,-67.307813],[115.38418,-67.238086],[115.885254,-67.201953],[116.214648,-67.142773],[116.509082,-67.10791],[116.713477,-67.047168],[116.923633,-67.055469],[117.131934,-67.114355],[117.297852,-67.109277],[117.744727,-67.128516],[117.951953,-67.085352],[118.138672,-67.082422],[118.325781,-67.115039],[118.518945,-67.160938],[118.713867,-67.17168],[118.964648,-67.144824],[119.318262,-67.070801],[119.767969,-66.991504],[120.187305,-66.966211],[120.289258,-66.966602],[120.374805,-66.983789],[119.953711,-67.075879],[119.280664,-67.199219],[118.92168,-67.319727],[119.133008,-67.370703],[120.400391,-67.236035],[120.978711,-67.135742],[121.487598,-67.090723],[121.613184,-67.057031],[122.033105,-66.901758],[122.182813,-66.859473],[122.633008,-66.804883],[123.22168,-66.745117],[123.666602,-66.676855],[123.969336,-66.608105],[124.196191,-66.600781],[124.370508,-66.652246],[124.597852,-66.708203],[124.821582,-66.694531],[125.095117,-66.641113],[125.286328,-66.51582],[125.397949,-66.424414],[125.603027,-66.393359],[125.865625,-66.364453],[126.077148,-66.395508],[126.42373,-66.462402],[126.664746,-66.497559],[126.873633,-66.759375],[127.36543,-66.989648],[127.541211,-67.051074],[127.968066,-67.02793],[128.430566,-67.119141],[128.627832,-67.107129],[128.816406,-67.080371],[128.982422,-67.098242],[129.236914,-67.041602],[129.5,-66.75293],[129.741211,-66.468555],[129.975781,-66.344824],[130.120508,-66.291504],[130.300586,-66.268457],[130.578516,-66.208594],[130.951758,-66.191406],[131.232031,-66.215527],[131.830859,-66.23584],[132.320312,-66.16543],[132.874316,-66.178027],[133.148242,-66.094824],[133.444531,-66.081445],[133.842773,-66.153613],[133.95752,-66.204297],[134.178906,-66.277051],[134.231836,-66.347656],[134.289453,-66.476758],[134.398145,-66.479883],[134.769727,-66.35332],[134.971484,-66.330176],[135.351953,-66.127148],[135.554785,-66.180078],[136.009375,-66.266797],[136.193945,-66.292188],[136.55332,-66.438965],[136.739648,-66.407715],[136.88916,-66.339648],[137.33623,-66.346484],[137.753809,-66.406445],[137.925781,-66.456934],[138.139941,-66.543945],[138.270996,-66.564453],[138.376465,-66.54043],[139.241602,-66.574023],[139.613184,-66.637598],[139.900098,-66.715137],[140.901563,-66.751953],[141.285938,-66.831836],[141.517188,-66.794043],[141.972852,-66.806738],[142.158984,-66.873633],[142.32666,-66.94834],[142.6875,-67.012793],[142.888379,-67.000098],[143.168945,-66.948633],[143.448242,-66.876758],[143.730371,-66.876758],[143.862695,-66.938574],[143.911133,-67.090723],[144.117676,-67.087695],[144.347852,-67.017969],[144.550586,-67.035547],[144.621191,-67.141406],[144.515332,-67.28252],[144.259668,-67.478711],[144.153711,-67.644141],[143.941992,-67.794043],[143.977344,-67.864551],[144.189063,-67.899805],[144.404297,-67.794238],[144.879102,-67.720898],[145.12793,-67.625977],[145.556445,-67.590918],[145.975195,-67.624219],[146.276367,-67.750879],[146.827832,-67.964648],[146.852441,-68.041016],[146.896582,-68.120313],[146.878223,-68.191211],[146.797656,-68.273633],[147.093652,-68.368652],[147.353809,-68.384277],[147.568555,-68.375098],[148.45625,-68.466992],[148.880566,-68.431152],[149.262695,-68.431348],[149.716895,-68.417773],[150.065527,-68.419922],[150.342188,-68.435742],[150.671973,-68.40293],[150.935938,-68.358496],[151.068262,-68.384961],[151.121094,-68.623047],[151.138867,-68.76416],[151.28877,-68.81709],[151.447559,-68.76416],[151.562109,-68.693652],[152.265234,-68.725586],[152.545508,-68.72959],[152.81416,-68.767676],[153.081836,-68.856836],[153.339941,-68.817969],[153.495703,-68.764355],[153.705273,-68.728906],[153.766992,-68.640625],[153.792383,-68.493359],[153.784668,-68.349609],[153.908008,-68.323145],[154.031543,-68.349609],[154.199707,-68.417871],[154.576367,-68.634277],[154.866016,-68.774316],[154.9875,-68.841309],[155.163965,-68.894629],[155.520313,-69.024414],[156.010938,-69.077832],[156.488672,-69.183008],[157.046387,-69.17627],[157.481348,-69.308691],[157.775781,-69.204688],[157.93252,-69.180762],[158.157813,-69.208887],[158.432617,-69.299414],[158.647168,-69.320117],[159.386328,-69.468359],[159.783984,-69.521875],[159.930957,-69.630566],[160.125781,-69.734277],[160.125781,-69.840137],[160.209668,-69.974902],[160.651855,-70.080566],[160.826758,-70.182031],[161.037012,-70.317188],[161.424512,-70.826758],[161.625098,-70.916113],[161.916113,-70.907324],[162.189453,-71.039551],[162.277734,-71.021875],[162.286523,-70.969043],[162.039648,-70.625],[162.021973,-70.439844],[162.216016,-70.333984],[162.674805,-70.30459],[163.026465,-70.501367],[163.34873,-70.620898],[163.566504,-70.642285],[163.998438,-70.636523],[164.403223,-70.510449],[164.716016,-70.556543],[165.209375,-70.570801],[165.853906,-70.645313],[166.132031,-70.632812],[166.626953,-70.664258],[167.228809,-70.771289],[167.569434,-70.810254],[167.640039,-70.854395],[167.798828,-70.924902],[167.878125,-71.013086],[167.966309,-71.09248],[168.172656,-71.183203],[168.382812,-71.197363],[168.797852,-71.274805],[169.66377,-71.511328],[169.976953,-71.580664],[170.162305,-71.630469],[170.250488,-71.56875],[170.276855,-71.443945],[170.435742,-71.41875],[170.60332,-71.604004],[170.779688,-71.745117],[170.859082,-71.868555],[170.675391,-71.968555],[170.409277,-71.947949],[170.224023,-71.947949],[170.030078,-72.115527],[169.953516,-72.402832],[170.127148,-72.397754],[170.259375,-72.371289],[170.28584,-72.477148],[170.206445,-72.565332],[170.047754,-72.600586],[169.774902,-72.533789],[169.440332,-72.486816],[169.072363,-72.46875],[168.718848,-72.384473],[168.576172,-72.379102],[168.428418,-72.383398],[168.62168,-72.472656],[168.82002,-72.552441],[169.269531,-72.621289],[169.828613,-72.728809],[169.844824,-72.794629],[169.712109,-72.876953],[169.54502,-73.050391],[169.033398,-73.200391],[168.735938,-73.091211],[168.381348,-73.065918],[168.204492,-73.129785],[167.853027,-73.122461],[167.155664,-73.147266],[166.882812,-73.01123],[166.452832,-72.936035],[166.466992,-72.997461],[166.833984,-73.224316],[167.225586,-73.275781],[167.61582,-73.336816],[167.709082,-73.394238],[167.53418,-73.447266],[167.296484,-73.440039],[166.996094,-73.544336],[166.428809,-73.526953],[166.159375,-73.533789],[166.001074,-73.57666],[165.860156,-73.592676],[165.970605,-73.630762],[166.106055,-73.735156],[165.913281,-73.822852],[165.733691,-73.866699],[165.548926,-73.846094],[165.346973,-73.879395],[165.249902,-73.782422],[165.244531,-73.571191],[165.129492,-73.382617],[165.004883,-73.374512],[164.812988,-73.396777],[164.749609,-73.558789],[164.887695,-73.837695],[164.979883,-73.925879],[164.905957,-74.00293],[164.775684,-74.028516],[165.037207,-74.263477],[165.263086,-74.426172],[165.399805,-74.479199],[165.408594,-74.558594],[165.302832,-74.59375],[165.001172,-74.562695],[164.853027,-74.57832],[164.688965,-74.568359],[164.410742,-74.533398],[164.174023,-74.523242],[163.93584,-74.567383],[163.735254,-74.56377],[163.556543,-74.417383],[163.397852,-74.382129],[163.265527,-74.42627],[163.167383,-74.601953],[162.96123,-74.656055],[162.752051,-74.736133],[162.604102,-74.823145],[162.533594,-75.16709],[162.410059,-75.237598],[162.225586,-75.23457],[162.087793,-75.261621],[161.910352,-75.233887],[161.67959,-75.217773],[160.910742,-75.334668],[161.03291,-75.395898],[161.227344,-75.386133],[161.903516,-75.404199],[162.189648,-75.466895],[162.239063,-75.62168],[162.351953,-75.686523],[162.577637,-75.758008],[162.754004,-75.793262],[162.815723,-75.846191],[162.745117,-75.951953],[162.648242,-76.049023],[162.436523,-76.154883],[162.498242,-76.207715],[162.727539,-76.225391],[162.824609,-76.463574],[162.674609,-76.569336],[162.745215,-76.65752],[162.762793,-76.745703],[162.60957,-76.828711],[162.489453,-76.869238],[162.450293,-76.955664],[162.679102,-77.006738],[162.850195,-77.023535],[163.086914,-77.032324],[163.249902,-77.126465],[163.458496,-77.269336],[163.607617,-77.387793],[163.619141,-77.582324],[163.766211,-77.699902],[164.045215,-77.774609],[164.036426,-77.853027],[164.232031,-77.877051],[164.420898,-77.883496],[164.491504,-77.954004],[164.429688,-78.042188],[164.107813,-78.146777],[163.977637,-78.223828],[164.297363,-78.23623],[164.628125,-78.315625],[165.050586,-78.226074],[165.274023,-78.128613],[165.417578,-78.042188],[165.524023,-78.063574],[165.53418,-78.153809],[165.662988,-78.305664],[166.208594,-78.45166],[166.510352,-78.497363],[166.801172,-78.521582],[167.058008,-78.518457],[167.130273,-78.606152],[167.049023,-78.686035],[166.85,-78.679883],[166.524609,-78.694922],[166.286523,-78.627832],[166.116797,-78.571094],[164.634766,-78.603223],[164.300586,-78.630078],[163.901758,-78.71709],[163.503125,-78.758594],[162.895117,-78.844824],[162.639453,-78.897754],[161.974512,-78.694238],[161.757422,-78.544922],[161.669238,-78.536133],[161.510449,-78.571387],[161.501758,-78.677246],[161.813379,-78.907422],[161.951465,-78.968262],[161.951465,-79.02998],[161.864258,-79.060938],[161.737305,-79.059961],[161.546094,-79.015039],[161.190527,-78.978711],[160.873535,-79.049707],[160.482715,-79.201465],[160.567383,-79.302344],[160.670215,-79.358887],[160.646094,-79.426855],[160.20918,-79.554395],[160.067969,-79.56123],[159.975879,-79.585645],[160.083594,-79.63252],[160.322754,-79.635547],[160.346289,-79.691504],[160.264844,-79.736621],[159.871875,-79.789844],[159.896484,-79.858984],[160.111426,-79.89248],[160.387305,-79.879492],[160.558008,-79.92959],[160.558789,-80.010547],[160.381738,-80.054492],[160.179395,-80.088086],[158.76748,-80.293359],[158.560352,-80.348926],[158.573633,-80.423438],[159.065137,-80.442578],[160.542188,-80.425],[160.637305,-80.449902],[160.60332,-80.507617],[160.521289,-80.583398],[160.601367,-80.636523],[160.823242,-80.674023],[160.830273,-80.729883],[160.72002,-80.753125],[160.502539,-80.779297],[160.260156,-80.786719],[160.275781,-80.846777],[160.607227,-80.901172],[160.716797,-80.907422],[160.72793,-81.112891],[160.716699,-81.199609],[160.540039,-81.241699],[160.478613,-81.270117],[160.469824,-81.340625],[160.907813,-81.390234],[161.582129,-81.609766],[161.730176,-81.610449],[161.996094,-81.653027],[162.425293,-81.764941],[162.57666,-81.832031],[162.821191,-81.866211],[162.854395,-81.920703],[163.004297,-81.968945],[163.602344,-82.120605],[163.680078,-82.187305],[162.426563,-82.314453],[161.166504,-82.407813],[161.283203,-82.489941],[162.64375,-82.481543],[163.011816,-82.534961],[163.174707,-82.518945],[163.268555,-82.463281],[164.001367,-82.396777],[164.747168,-82.354395],[164.980078,-82.384961],[165.981641,-82.629688],[166.445898,-82.722168],[166.742188,-82.757031],[166.956738,-82.764648],[167.116309,-82.80127],[167.271289,-82.879395],[167.232617,-82.952344],[167.297461,-82.98584],[167.404492,-82.998828],[167.601953,-83.047461],[167.827539,-83.030762],[168.091797,-82.974707],[168.275977,-82.987207],[168.607324,-83.065332],[168.481641,-83.126758],[168.408398,-83.155078],[168.32002,-83.210742],[168.240234,-83.229883],[167.973047,-83.243164],[167.825391,-83.242969],[167.674414,-83.231445],[167.657617,-83.272168],[167.842773,-83.316211],[168.110059,-83.362012],[169.837891,-83.399023],[170.332031,-83.478809],[170.81748,-83.435742],[171.035742,-83.448438],[171.220703,-83.475],[171.289258,-83.555469],[171.537109,-83.581348],[171.917188,-83.644043],[172.450098,-83.675391],[172.873926,-83.673145],[173.397266,-83.758789],[173.661816,-83.760938],[173.822363,-83.810156],[175.011035,-83.839063],[175.187402,-83.877441],[175.322852,-83.940039],[175.605762,-83.967578],[175.91123,-83.973145],[177.581055,-84.074902],[178.208594,-84.129883],[178.352637,-84.12666],[178.495996,-84.135742],[178.944434,-84.181445],[179.403027,-84.206152],[179.620313,-84.268359],[180,-84.351562],[180,-89.998926],[178.59375,-89.998926],[177.1875,-89.998926],[175.78125,-89.998926],[174.375,-89.998926],[172.96875,-89.998926],[171.5625,-89.998926],[170.15625,-89.998926],[168.75,-89.998926],[167.34375,-89.998926],[165.9375,-89.998926],[164.531152,-89.998926],[163.125,-89.998926],[161.71875,-89.998926],[160.3125,-89.998926],[158.90625,-89.998926],[157.5,-89.998926],[156.09375,-89.998926],[154.6875,-89.998926],[153.28125,-89.998926],[151.875,-89.998926],[150.46875,-89.998926],[149.0625,-89.998926],[147.65625,-89.998926],[146.25,-89.998926],[144.84375,-89.998926],[143.4375,-89.998926],[142.03125,-89.998926],[140.625,-89.998926],[139.21875,-89.998926],[137.8125,-89.998926],[136.40625,-89.998926],[135,-89.998926],[133.59375,-89.998926],[132.1875,-89.998926],[130.78125,-89.998926],[129.375,-89.998926],[127.96875,-89.998926],[126.562402,-89.998926],[125.15625,-89.998926],[123.75,-89.998926],[122.34375,-89.998926],[120.9375,-89.998926],[119.53125,-89.998926],[118.125,-89.998926],[116.71875,-89.998926],[115.3125,-89.998926],[113.90625,-89.998926],[112.5,-89.998926],[111.093848,-89.998926],[109.6875,-89.998926],[108.28125,-89.998926],[106.875,-89.998926],[105.46875,-89.998926],[104.0625,-89.998926],[102.65625,-89.998926],[101.25,-89.998926],[99.84375,-89.998926],[98.4375,-89.998926],[97.03125,-89.998926],[95.625,-89.998926],[94.21875,-89.998926],[92.8125,-89.998926],[91.40625,-89.998926],[90,-89.998926],[88.59375,-89.998926],[87.1875,-89.998926],[85.78125,-89.998926],[84.375,-89.998926],[82.96875,-89.998926],[81.5625,-89.998926],[80.15625,-89.998926],[78.75,-89.998926],[77.34375,-89.998926],[75.9375,-89.998926],[74.53125,-89.998926],[73.125,-89.998926],[71.71875,-89.998926],[70.3125,-89.998926],[68.90625,-89.998926],[67.5,-89.998926],[66.09375,-89.998926],[64.6875,-89.998926],[63.28125,-89.998926],[61.875,-89.998926],[60.46875,-89.998926],[59.0625,-89.998926],[57.65625,-89.998926],[56.25,-89.998926],[54.84375,-89.998926],[53.4375,-89.998926],[52.03125,-89.998926],[50.625,-89.998926],[49.21875,-89.998926],[47.8125,-89.998926],[46.40625,-89.998926],[45,-89.998926],[43.59375,-89.998926],[42.1875,-89.998926],[40.78125,-89.998926],[39.375,-89.998926],[37.96875,-89.998926],[36.5625,-89.998926],[35.15625,-89.998926],[33.75,-89.998926],[32.34375,-89.998926],[30.9375,-89.998926],[29.53125,-89.998926],[28.124902,-89.998926],[26.71875,-89.998926],[25.3125,-89.998926],[23.906152,-89.998926],[22.5,-89.998926],[21.09375,-89.998926],[19.6875,-89.998926],[18.281152,-89.998926],[16.875,-89.998926],[15.46875,-89.998926],[14.0625,-89.998926],[12.65625,-89.998926],[11.25,-89.998926],[9.84375,-89.998926],[8.4375,-89.998926],[7.03125,-89.998926],[5.625,-89.998926],[4.21875,-89.998926],[2.8125,-89.998926],[1.40625,-89.998926],[0,-89.998926],[-1.40625,-89.998926],[-2.8125,-89.998926],[-4.218799,-89.998926],[-5.625049,-89.998926],[-7.03125,-89.998926],[-8.437549,-89.998926],[-9.843799,-89.998926],[-11.250049,-89.998926],[-12.65625,-89.998926],[-14.0625,-89.998926],[-15.46875,-89.998926],[-16.875,-89.998926],[-18.28125,-89.998926],[-19.6875,-89.998926],[-21.09375,-89.998926],[-22.5,-89.998926],[-23.90625,-89.998926],[-25.312549,-89.998926],[-26.71875,-89.998926],[-28.125,-89.998926],[-29.53125,-89.998926],[-30.9375,-89.998926],[-32.34375,-89.998926],[-33.75,-89.998926],[-35.15625,-89.998926],[-36.5625,-89.998926],[-37.96875,-89.998926],[-39.375,-89.998926],[-40.78125,-89.998926],[-42.1875,-89.998926],[-43.593799,-89.998926],[-45,-89.998926],[-46.40625,-89.998926],[-47.8125,-89.998926],[-49.21875,-89.998926],[-50.625,-89.998926],[-52.03125,-89.998926],[-53.437549,-89.998926],[-54.84375,-89.998926],[-56.25,-89.998926],[-57.65625,-89.998926],[-59.0625,-89.998926],[-60.46875,-89.998926],[-61.875,-89.998926],[-63.28125,-89.998926],[-64.6875,-89.998926],[-66.09375,-89.998926],[-67.5,-89.998926],[-68.90625,-89.998926],[-70.3125,-89.998926],[-71.71875,-89.998926],[-73.125,-89.998926],[-74.53125,-89.998926],[-75.9375,-89.998926],[-77.34375,-89.998926],[-78.75,-89.998926],[-80.15625,-89.998926],[-81.5625,-89.998926],[-82.96875,-89.998926],[-84.375,-89.998926],[-85.78125,-89.998926],[-87.1875,-89.998926],[-88.59375,-89.998926],[-90,-89.998926],[-91.40625,-89.998926],[-92.8125,-89.998926],[-94.21875,-89.998926],[-95.625,-89.998926],[-97.03125,-89.998926],[-98.4375,-89.998926],[-99.84375,-89.998926],[-101.25,-89.998926],[-102.65625,-89.998926],[-104.0625,-89.998926],[-105.46875,-89.998926],[-106.875,-89.998926],[-108.28125,-89.998926],[-109.6875,-89.998926],[-111.09375,-89.998926],[-112.5,-89.998926],[-113.90625,-89.998926],[-115.3125,-89.998926],[-116.71875,-89.998926],[-118.125,-89.998926],[-119.53125,-89.998926],[-120.9375,-89.998926],[-122.34375,-89.998926],[-123.75,-89.998926],[-125.15625,-89.998926],[-126.5625,-89.998926],[-127.96875,-89.998926],[-129.375,-89.998926],[-130.78125,-89.998926],[-132.1875,-89.998926],[-133.59375,-89.998926],[-135,-89.998926],[-136.40625,-89.998926],[-137.8125,-89.998926],[-139.21875,-89.998926],[-140.625,-89.998926],[-142.03125,-89.998926],[-143.4375,-89.998926],[-144.84375,-89.998926],[-146.25,-89.998926],[-147.65625,-89.998926],[-149.0625,-89.998926],[-150.46875,-89.998926],[-151.875,-89.998926],[-153.28125,-89.998926],[-154.687549,-89.998926],[-156.09375,-89.998926],[-157.5,-89.998926],[-158.90625,-89.998926],[-160.3125,-89.998926],[-161.718799,-89.998926],[-163.125,-89.998926],[-164.53125,-89.998926],[-165.937549,-89.998926],[-167.343799,-89.998926],[-168.750049,-89.998926],[-170.156299,-89.998926],[-171.5625,-89.998926],[-172.96875,-89.998926],[-174.375,-89.998926],[-175.78125,-89.998926],[-177.1875,-89.998926],[-178.59375,-89.998926],[-180,-89.998926],[-180,-89.58291],[-180,-89.292969],[-180,-88.587012],[-180,-87.881055],[-180,-87.175195],[-180,-86.469336],[-180,-85.763379],[-180,-85.05752],[-180,-84.351562],[-178.389502,-84.3375],[-178.069043,-84.352344],[-177.73042,-84.395215],[-176.985547,-84.399316],[-176.289014,-84.418359],[-176.107373,-84.475293],[-175.874609,-84.510352],[-175.381006,-84.479785],[-174.986719,-84.46543],[-174.663184,-84.462695],[-171.703662,-84.542383],[-168.667773,-84.683594],[-168.048584,-84.728613],[-167.492188,-84.833691],[-166.911084,-84.819238],[-163.463721,-84.900879],[-162.933398,-84.901172],[-160.820898,-84.986621],[-157.12749,-85.185645],[-156.810303,-85.192188],[-156.459131,-85.186035],[-156.642773,-85.079395],[-156.988281,-84.982227],[-157.453906,-84.912402],[-157.149609,-84.891309],[-156.489648,-84.889258],[-156.620996,-84.839648],[-156.986328,-84.811133],[-158.303418,-84.778027],[-163.568506,-84.528711],[-163.685449,-84.513086],[-163.758984,-84.492773],[-163.897021,-84.47041],[-164.11416,-84.44541],[-164.916846,-84.431348],[-165.135352,-84.409863],[-165.24043,-84.38125],[-165.184814,-84.369531],[-165.125146,-84.374609],[-163.89917,-84.352637],[-163.765186,-84.324219],[-163.757617,-84.305469],[-163.821387,-84.290527],[-164.032129,-84.274023],[-164.52832,-84.191016],[-164.685059,-84.15459],[-164.602832,-84.09668],[-164.502539,-84.071582],[-164.123926,-84.053516],[-164.011328,-84.015625],[-164.08291,-83.946094],[-164.950879,-83.805859],[-165.536328,-83.756641],[-165.921777,-83.790234],[-166.649463,-83.791992],[-167.552881,-83.81084],[-167.801221,-83.79082],[-168.052734,-83.735449],[-168.347363,-83.636816],[-168.497266,-83.611328],[-168.78501,-83.529297],[-169.167676,-83.449805],[-171.187842,-83.256445],[-171.539404,-83.203711],[-174.065967,-82.900098],[-174.172021,-82.847754],[-174.235938,-82.793457],[-173.071143,-82.91582],[-172.851514,-82.916797],[-172.59292,-82.88418],[-172.392041,-82.893066],[-172.124365,-82.862402],[-171.821289,-82.847461],[-171.031299,-82.942969],[-169.440771,-83.095996],[-169.016064,-83.150293],[-168.790137,-83.187891],[-168.60376,-83.201563],[-168.417676,-83.228809],[-168.191016,-83.213281],[-168.054736,-83.226562],[-167.724268,-83.217383],[-166.216895,-83.200781],[-165.619189,-83.215527],[-164.915625,-83.290039],[-164.644336,-83.4125],[-164.445557,-83.467676],[-164.058398,-83.424707],[-163.733398,-83.373047],[-163.111084,-83.329102],[-162.912061,-83.34707],[-162.57417,-83.410645],[-162.197266,-83.518945],[-160.594727,-83.489551],[-159.923535,-83.494727],[-159.444385,-83.543164],[-157.699268,-83.38125],[-157.428467,-83.346387],[-157.027783,-83.234375],[-157.355811,-83.198438],[-157.589209,-83.187402],[-157.679492,-83.129492],[-157.521875,-83.106641],[-157.018262,-83.075195],[-156.037012,-83.026855],[-155.459424,-82.980762],[-155.150244,-82.858398],[-153.822266,-82.669336],[-153.398633,-82.58623],[-153.009863,-82.449609],[-153.882617,-82.176563],[-154.717432,-81.940723],[-154.451465,-81.867578],[-154.188477,-81.810547],[-154.061377,-81.76543],[-153.956641,-81.700195],[-154.23208,-81.623242],[-154.485156,-81.566211],[-154.907813,-81.510352],[-156.492578,-81.376953],[-157.03252,-81.319141],[-156.815088,-81.230957],[-156.528223,-81.162305],[-155.921143,-81.133398],[-152.034766,-81.029004],[-148.122754,-80.900781],[-148.023438,-80.835742],[-148.542969,-80.760059],[-148.98418,-80.741504],[-149.147168,-80.718652],[-149.207422,-80.67041],[-149.214063,-80.604199],[-149.264404,-80.593066],[-149.428613,-80.58623],[-150.132764,-80.510449],[-150.281689,-80.480469],[-150.516113,-80.409473],[-150.575391,-80.353711],[-150.435449,-80.211035],[-150.220703,-80.15],[-149.845361,-80.117676],[-149.577637,-80.105957],[-148.766064,-80.108105],[-148.447998,-80.090527],[-148.317139,-80.070996],[-148.339795,-80.002734],[-148.430273,-79.971289],[-148.433496,-79.929492],[-148.296436,-79.906543],[-148.129297,-79.907715],[-148.082959,-79.856738],[-148.176514,-79.775879],[-148.41748,-79.731445],[-149.051416,-79.656934],[-150.490625,-79.545605],[-151.048438,-79.459668],[-151.368262,-79.393359],[-151.636133,-79.317676],[-151.903564,-79.280566],[-152.091406,-79.241602],[-152.053418,-79.192773],[-152.137695,-79.115918],[-152.243506,-79.102734],[-152.701367,-79.134863],[-153.517578,-79.117285],[-154.517725,-79.046582],[-155.209912,-78.964844],[-156.114551,-78.744629],[-156.469336,-78.635352],[-156.20791,-78.558691],[-155.919775,-78.510352],[-154.716406,-78.398145],[-154.537646,-78.358887],[-154.293018,-78.259082],[-154.695068,-78.216992],[-155.036621,-78.220801],[-155.341504,-78.191992],[-156.569238,-78.186133],[-157.266797,-78.199805],[-157.848047,-78.073926],[-158.285889,-77.950781],[-158.406934,-77.887793],[-158.500391,-77.77832],[-158.351416,-77.614844],[-158.22998,-77.497656],[-158.246484,-77.354297],[-158.213574,-77.157129],[-158.003076,-77.091211],[-157.842041,-77.079199],[-157.465381,-77.23125],[-157.139307,-77.24209],[-156.667676,-77.212988],[-156.368213,-77.134766],[-156.21123,-77.105664],[-155.91958,-77.098047],[-155.358838,-77.133301],[-155.101758,-77.119531],[-154.814941,-77.126953],[-153.909961,-77.226953],[-153.712598,-77.274219],[-153.606104,-77.310156],[-153.573047,-77.363086],[-153.460596,-77.416016],[-153.076953,-77.44248],[-151.998389,-77.412598],[-151.718994,-77.425879],[-150.956396,-77.573535],[-150.305566,-77.731445],[-150.084326,-77.770996],[-149.717725,-77.797461],[-149.588477,-77.774219],[-149.474023,-77.714844],[-149.125977,-77.642676],[-148.339941,-77.551172],[-148.155713,-77.462305],[-148.259814,-77.412598],[-148.559277,-77.361328],[-148.744385,-77.343262],[-148.843604,-77.283691],[-148.839014,-77.202344],[-148.77749,-77.125],[-148.572412,-77.105078],[-148.196338,-77.211328],[-147.730225,-77.309766],[-147.566406,-77.325293],[-147.442285,-77.320703],[-147.207227,-77.28584],[-146.927588,-77.259863],[-146.390625,-77.472461],[-146.073633,-77.486719],[-145.677148,-77.488086],[-145.600635,-77.455273],[-145.649658,-77.39834],[-145.713818,-77.338379],[-145.794287,-77.32998],[-145.807959,-77.273242],[-145.63457,-77.221289],[-145.515723,-77.199219],[-145.563184,-77.161719],[-145.753125,-77.10332],[-145.864307,-77.094141],[-145.966992,-77.06875],[-145.933936,-77.029004],[-145.806348,-77.012109],[-145.629248,-76.953711],[-145.685693,-76.884473],[-145.675684,-76.79668],[-145.750488,-76.749023],[-146.166455,-76.657617],[-146.77666,-76.507031],[-147.34043,-76.438379],[-148.601074,-76.493262],[-149.04585,-76.458008],[-149.339648,-76.418945],[-149.654248,-76.365332],[-149.284961,-76.31123],[-148.894824,-76.271777],[-148.780371,-76.238281],[-148.631787,-76.167969],[-148.458984,-76.117969],[-148.320312,-76.104492],[-147.860205,-76.130859],[-146.817334,-76.318066],[-146.597412,-76.337793],[-145.885742,-76.424316],[-145.686865,-76.428809],[-145.44209,-76.40918],[-145.642334,-76.325684],[-145.8604,-76.266602],[-146.383008,-76.099707],[-146.323486,-76.020313],[-145.987744,-75.88877],[-145.105518,-75.878906],[-144.721289,-75.832129],[-144.220605,-75.731445],[-143.574268,-75.563574],[-143.022168,-75.543457],[-142.329834,-75.490918],[-142.094189,-75.529785],[-141.505713,-75.69043],[-141.134619,-75.745996],[-141.008984,-75.750781],[-140.874316,-75.745898],[-141.22334,-75.545898],[-140.99873,-75.52002],[-140.709277,-75.497656],[-140.470996,-75.447266],[-140.293799,-75.405859],[-139.691162,-75.212793],[-139.148828,-75.160156],[-137.618164,-75.075586],[-137.090137,-75.152637],[-136.649854,-75.161719],[-136.549512,-75.139453],[-136.461914,-75.03584],[-136.227832,-74.836035],[-136.030078,-74.765332],[-135.362061,-74.69043],[-134.840381,-74.694141],[-134.465088,-74.776172],[-134.117139,-74.829688],[-133.796338,-74.85459],[-133.474854,-74.851855],[-132.99165,-74.806152],[-132.35127,-74.789355],[-132.049365,-74.765723],[-131.706543,-74.810938],[-130.857471,-74.825977],[-130.195605,-74.890625],[-129.79082,-74.891406],[-129.238281,-74.828906],[-128.940625,-74.820215],[-127.863379,-74.719238],[-127.020215,-74.697852],[-126.383984,-74.742578],[-125.353418,-74.714648],[-124.312451,-74.735742],[-123.889453,-74.773047],[-121.543945,-74.75],[-119.677002,-74.65459],[-119.422217,-74.621582],[-119.022412,-74.517871],[-118.80293,-74.422266],[-118.655762,-74.392773],[-118.342041,-74.381543],[-117.806201,-74.40293],[-117.068311,-74.473242],[-116.433008,-74.44707],[-115.222607,-74.487402],[-115.105176,-74.455078],[-114.991016,-74.275],[-114.791016,-73.988574],[-114.62373,-73.90293],[-114.345947,-73.925],[-113.508496,-74.088867],[-113.489404,-74.158398],[-113.574658,-74.20791],[-113.713574,-74.227734],[-113.753271,-74.366699],[-113.64082,-74.406348],[-113.454248,-74.394238],[-113.332959,-74.454199],[-113.597314,-74.558789],[-113.783105,-74.618164],[-113.903467,-74.644434],[-113.984766,-74.842969],[-114.097217,-74.909082],[-114.110449,-74.981836],[-113.931836,-74.981836],[-113.752539,-74.952148],[-113.593408,-74.943652],[-113.091504,-74.891699],[-112.17002,-74.832227],[-111.868213,-74.801172],[-111.69624,-74.792188],[-111.584424,-74.750879],[-111.738721,-74.653418],[-111.788721,-74.57168],[-111.695898,-74.504102],[-111.722266,-74.386621],[-111.806348,-74.269727],[-111.62998,-74.181445],[-111.466797,-74.200781],[-111.180176,-74.188086],[-111.019824,-74.230469],[-110.77041,-74.268945],[-110.533936,-74.288867],[-110.30708,-74.366699],[-110.229785,-74.536328],[-110.300439,-74.710645],[-110.531934,-74.836328],[-110.967578,-74.95127],[-111.463135,-75.133398],[-111.358789,-75.219922],[-111.104199,-75.19082],[-109.98999,-75.199121],[-109.272168,-75.185059],[-108.822266,-75.206641],[-108.254492,-75.252539],[-107.804736,-75.321582],[-107.266797,-75.334473],[-106.932129,-75.309375],[-106.618848,-75.343945],[-105.399365,-75.197656],[-104.901855,-75.115137],[-104.617822,-75.15625],[-104.159668,-75.120703],[-103.901318,-75.152539],[-103.424902,-75.10127],[-103.121045,-75.095215],[-102.771338,-75.116992],[-101.708105,-75.127344],[-101.627832,-75.221777],[-101.303711,-75.36582],[-101.039355,-75.421875],[-100.706348,-75.398145],[-100.463428,-75.353418],[-100.082812,-75.37041],[-99.531348,-75.308984],[-98.980225,-75.327441],[-98.752344,-75.31709],[-98.645703,-75.277148],[-98.557861,-75.189746],[-98.727246,-75.14082],[-99.208154,-75.078516],[-99.651904,-74.948828],[-99.848584,-74.92168],[-100.164062,-74.937891],[-100.312988,-74.914355],[-100.47334,-74.872363],[-100.264893,-74.822949],[-100.012695,-74.662109],[-100.118604,-74.515039],[-100.238135,-74.48418],[-100.530859,-74.488867],[-100.881836,-74.541113],[-101.023145,-74.50498],[-101.251709,-74.485742],[-101.342773,-74.350098],[-101.586719,-74.096387],[-101.71543,-74.02373],[-102.105127,-73.957715],[-102.44082,-73.925781],[-102.766455,-73.883789],[-102.862744,-73.783594],[-102.799512,-73.645703],[-102.410645,-73.616406],[-102.036621,-73.630566],[-101.828369,-73.655469],[-101.587402,-73.666797],[-101.310742,-73.695215],[-101.130225,-73.734863],[-100.985449,-73.757227],[-100.717773,-73.757812],[-99.781104,-73.720117],[-99.656152,-73.694141],[-99.541016,-73.645117],[-99.343359,-73.63418],[-99.161914,-73.64082],[-98.896143,-73.611133],[-99.200342,-73.570996],[-99.52793,-73.495117],[-100.020801,-73.402539],[-100.436377,-73.353125],[-101.189453,-73.317871],[-101.57373,-73.32959],[-101.815967,-73.31123],[-102.675049,-73.320898],[-102.908789,-73.285156],[-103.076172,-73.18457],[-103.307715,-72.945312],[-103.375,-72.818848],[-103.216602,-72.77207],[-103.110107,-72.721191],[-102.855859,-72.716211],[-102.484766,-72.735645],[-102.362891,-72.760156],[-102.272021,-72.834961],[-102.362939,-72.911426],[-102.482031,-72.951172],[-102.409277,-72.987402],[-102.028857,-72.998145],[-101.841504,-73.020898],[-101.681201,-73.029883],[-101.331836,-72.99541],[-100.820508,-72.981152],[-100.563574,-73.015527],[-100.258789,-73.041309],[-99.810742,-72.999902],[-98.208594,-73.022266],[-98.012402,-73.033203],[-97.818506,-73.101758],[-97.651025,-73.144434],[-97.476465,-73.12627],[-96.955762,-73.206445],[-96.67583,-73.268555],[-96.394238,-73.301172],[-96.152148,-73.309277],[-95.880566,-73.293848],[-95.529248,-73.241406],[-95.236621,-73.220117],[-95.02959,-73.238965],[-94.586475,-73.249512],[-94.246191,-73.312988],[-93.984668,-73.286719],[-93.705957,-73.215039],[-92.828369,-73.164648],[-92.241016,-73.178418],[-91.168652,-73.307031],[-90.920947,-73.319141],[-90.430908,-73.243262],[-90.273779,-73.118652],[-90.29541,-72.97793],[-90.152441,-72.944531],[-90.035205,-72.960156],[-89.817676,-72.862598],[-89.522363,-72.870898],[-89.34126,-72.889551],[-89.229395,-72.825781],[-89.127148,-72.693164],[-88.77998,-72.683008],[-88.526904,-72.702344],[-88.194092,-72.7875],[-88.194531,-72.858594],[-88.331738,-72.934375],[-88.560742,-73.120703],[-88.419385,-73.229004],[-88.20498,-73.219531],[-87.936328,-73.240918],[-87.608447,-73.194531],[-87.401025,-73.191992],[-87.037939,-73.353906],[-86.791016,-73.363672],[-86.602148,-73.353711],[-85.980762,-73.208496],[-85.801416,-73.19209],[-85.582178,-73.258984],[-85.260596,-73.413281],[-84.981201,-73.502051],[-84.571289,-73.556738],[-84.21416,-73.572754],[-83.796289,-73.645117],[-83.564844,-73.705957],[-83.041895,-73.707227],[-82.815234,-73.732324],[-82.183496,-73.856836],[-81.606104,-73.795703],[-81.30874,-73.738281],[-81.163184,-73.632422],[-81.235986,-73.47373],[-81.262402,-73.314941],[-81.176416,-73.248828],[-81.024316,-73.235547],[-80.336377,-73.41416],[-80.379834,-73.308105],[-80.43877,-73.225],[-80.614209,-73.083398],[-80.587744,-72.977637],[-80.442236,-72.944531],[-80.151758,-73.000098],[-79.808008,-73.028125],[-79.521729,-73.089551],[-78.963721,-73.312402],[-78.78623,-73.506738],[-78.407861,-73.555762],[-78.144141,-73.54707],[-77.845605,-73.515039],[-77.444043,-73.487988],[-77.135547,-73.495801],[-76.850488,-73.460449],[-76.764502,-73.566309],[-77.033008,-73.718457],[-77.134912,-73.817676],[-77.048926,-73.844141],[-76.8875,-73.820508],[-76.75498,-73.789453],[-76.291211,-73.805371],[-75.916211,-73.736426],[-75.59502,-73.71123],[-75.293066,-73.63877],[-75.043555,-73.645117],[-74.855469,-73.658008],[-74.594043,-73.715234],[-74.345264,-73.683887],[-74.197314,-73.695508],[-73.996045,-73.699805],[-72.929199,-73.447949],[-72.687402,-73.452344],[-72.380811,-73.438379],[-71.994189,-73.379199],[-71.697559,-73.353027],[-71.452734,-73.354492],[-71.017187,-73.262793],[-70.322656,-73.274023],[-69.968604,-73.226465],[-69.282227,-73.169629],[-68.820947,-73.105469],[-68.000342,-72.935547],[-67.66709,-72.83457],[-67.306738,-72.611133],[-67.079541,-72.387598],[-66.827734,-72.09043],[-66.95166,-71.897266],[-67.084131,-71.812207],[-67.195752,-71.718945],[-67.460352,-71.526758],[-67.529932,-71.28457],[-67.50459,-71.057813],[-67.598389,-70.844629],[-67.692187,-70.686133],[-67.888477,-70.42168],[-68.125684,-70.249902],[-68.40332,-70.019727],[-68.403662,-69.80918],[-68.469824,-69.643848],[-68.637549,-69.526367],[-68.707959,-69.432227],[-68.580029,-69.412695],[-68.461523,-69.383984],[-68.140869,-69.347559],[-67.371777,-69.412305],[-67.304346,-69.317578],[-67.110449,-69.248047],[-66.974902,-69.161035],[-67.02124,-69.028711],[-67.187598,-68.974414],[-67.390527,-68.86123],[-67.299023,-68.770703],[-67.133691,-68.770703],[-67.054297,-68.671484],[-67.116895,-68.574805],[-67.041016,-68.453125],[-66.893506,-68.297656],[-66.793359,-68.24043],[-66.977588,-68.146777],[-67.149854,-68.024609],[-67.106689,-67.930078],[-67.021289,-67.831445],[-66.915381,-67.692578],[-66.769873,-67.593359],[-66.677246,-67.560254],[-66.70498,-67.527148],[-66.923145,-67.491602],[-67.124316,-67.485059],[-67.486914,-67.546973],[-67.544531,-67.534668],[-67.564746,-67.50293],[-67.585791,-67.435156],[-67.550391,-67.269238],[-67.493359,-67.112793],[-67.440479,-67.090723],[-67.299023,-67.070801],[-67.160156,-66.951758],[-67.034473,-66.945117],[-66.955078,-66.984766],[-66.928613,-67.143555],[-66.886133,-67.17998],[-66.902148,-67.255957],[-66.836035,-67.282422],[-66.757324,-67.23252],[-66.61001,-67.208594],[-66.551562,-67.262598],[-66.498682,-67.289062],[-66.472217,-67.242773],[-66.490967,-67.114258],[-66.515137,-67.0625],[-66.533301,-66.979297],[-66.5021,-66.940137],[-66.464697,-66.875195],[-66.526807,-66.740723],[-66.503613,-66.689844],[-66.370898,-66.608887],[-66.306543,-66.591992],[-66.181885,-66.59248],[-65.95376,-66.645605],[-65.847461,-66.649805],[-65.766406,-66.624902],[-65.717969,-66.573242],[-65.678467,-66.402734],[-65.775781,-66.342578],[-65.774512,-66.287988],[-65.71748,-66.254492],[-65.617285,-66.135254],[-65.465088,-66.129297],[-65.316357,-66.139844],[-65.172021,-66.116797],[-65.22207,-66.068457],[-65.26748,-65.994238],[-65.105078,-65.95791],[-64.99873,-65.946289],[-64.72168,-65.992773],[-64.613525,-66.019043],[-64.514307,-65.95957],[-64.547363,-65.9],[-64.653223,-65.866895],[-64.673047,-65.814063],[-64.646582,-65.747852],[-64.474609,-65.780957],[-64.435352,-65.768359],[-64.390039,-65.708496],[-64.416797,-65.679883],[-64.438916,-65.640625],[-64.213477,-65.63291],[-64.17998,-65.617383],[-64.132227,-65.570508],[-64.065918,-65.553711],[-63.862207,-65.555957],[-63.818115,-65.531543],[-63.797949,-65.480371],[-63.908008,-65.467383],[-64.05127,-65.417188],[-64.071094,-65.278223],[-64.038037,-65.179004],[-63.912402,-65.093066],[-63.760254,-65.033496],[-63.482129,-65.084961],[-63.26416,-65.073145],[-63.178125,-65.126074],[-63.059082,-65.139355],[-63.032617,-65.079785],[-63.085693,-65.02793],[-63.119873,-64.94248],[-62.774658,-64.841699],[-62.664502,-64.85752],[-62.527539,-64.833398],[-62.576221,-64.755664],[-62.503467,-64.656445],[-62.404248,-64.643262],[-62.338086,-64.729199],[-62.243311,-64.746875],[-62.139648,-64.726758],[-61.88252,-64.625391],[-61.756396,-64.609863],[-61.631787,-64.604688],[-61.500488,-64.545605],[-61.47002,-64.475586],[-61.395947,-64.427148],[-61.173584,-64.3625],[-61.082129,-64.314746],[-60.886621,-64.149707],[-60.92207,-64.10791],[-60.86416,-64.073438],[-60.277246,-63.923926],[-59.989844,-63.90957],[-59.510156,-63.820703],[-59.217578,-63.713867],[-59.036426,-63.670313],[-58.87207,-63.551855],[-58.673535,-63.534375],[-58.215576,-63.45127],[-57.868066,-63.31875],[-57.389648,-63.22627],[-57.168262,-63.234766],[-57.076709,-63.2625],[-57.020654,-63.372852]]],[[[-45.222656,-78.810742],[-45.091602,-78.814258],[-44.566309,-78.804297],[-44.041162,-78.806641],[-43.72207,-78.818457],[-43.627344,-78.846094],[-43.544336,-78.901953],[-43.450635,-78.989648],[-43.363672,-79.084766],[-43.267236,-79.163086],[-43.210547,-79.3],[-43.118701,-79.35],[-42.965381,-79.477051],[-42.944678,-79.579102],[-42.98999,-79.80127],[-43.065918,-79.891406],[-43.267285,-79.978613],[-43.495801,-79.969336],[-43.600293,-79.973926],[-43.703662,-79.990137],[-43.742188,-80.00293],[-43.758203,-80.020508],[-43.48999,-80.095508],[-43.458838,-80.123047],[-43.45376,-80.155078],[-43.489355,-80.178027],[-43.52793,-80.191406],[-49.1875,-80.642773],[-49.410449,-80.666895],[-49.629687,-80.712305],[-49.701318,-80.753223],[-49.773047,-80.78418],[-54.1625,-80.870117],[-54.2021,-80.863867],[-54.241309,-80.846973],[-54.350781,-80.760352],[-54.371582,-80.623633],[-54.347168,-80.569434],[-54.12959,-80.516504],[-54.044922,-80.4875],[-53.676074,-80.283691],[-53.482324,-80.188965],[-53.393896,-80.108789],[-53.346484,-80.114453],[-53.176416,-80.160938],[-53.053467,-80.175],[-52.807227,-80.155957],[-52.566797,-80.099023],[-52.460986,-80.066602],[-52.357129,-80.077832],[-52.338086,-80.126074],[-52.297168,-80.141211],[-51.711328,-79.989844],[-51.183838,-79.819727],[-50.664355,-79.626758],[-50.401562,-79.511719],[-50.339258,-79.479492],[-50.294922,-79.429688],[-50.331348,-79.381445],[-50.378662,-79.338184],[-50.419531,-79.321289],[-50.463867,-79.313281],[-50.733057,-79.282715],[-50.649023,-79.232813],[-50.573291,-79.172266],[-50.520312,-79.104395],[-50.502393,-79.021777],[-50.513721,-78.979883],[-50.50249,-78.949902],[-50.379785,-78.922852],[-50.297754,-78.882227],[-50.241943,-78.833301],[-50.335449,-78.818262],[-50.377393,-78.780469],[-50.294189,-78.695996],[-50.219629,-78.605273],[-50.14165,-78.556738],[-49.939746,-78.462207],[-49.35415,-78.222461],[-49.143652,-78.093848],[-49.08125,-78.047461],[-47.69209,-77.840137],[-47.463477,-77.819043],[-47.029932,-77.790527],[-46.825684,-77.785254],[-46.257861,-77.804883],[-45.993164,-77.826855],[-45.530273,-77.881445],[-44.851953,-77.988379],[-44.594482,-78.035156],[-44.339844,-78.092871],[-44.093994,-78.167285],[-43.854492,-78.258496],[-43.808594,-78.286523],[-43.78457,-78.336328],[-43.776709,-78.385059],[-43.788281,-78.432617],[-43.852295,-78.529883],[-43.947217,-78.597559],[-45.067822,-78.661426],[-45.213086,-78.687012],[-45.294775,-78.739844],[-45.352344,-78.791211],[-45.222656,-78.810742]]],[[[-59.733936,-80.344141],[-59.77373,-80.558105],[-59.771338,-80.656543],[-59.825488,-80.733301],[-59.926367,-80.774316],[-60.124658,-80.840723],[-60.268213,-80.881348],[-60.582812,-80.948145],[-62.02334,-80.889063],[-62.670508,-80.834277],[-62.940381,-80.76582],[-62.986084,-80.73457],[-63.067529,-80.627441],[-63.143994,-80.594824],[-63.714941,-80.616992],[-64.065039,-80.650391],[-64.126465,-80.667871],[-64.219922,-80.733984],[-64.268262,-80.748535],[-65.202832,-80.607422],[-66.18374,-80.441992],[-66.591406,-80.357617],[-66.733594,-80.318555],[-66.771143,-80.293848],[-66.681104,-80.260449],[-66.588428,-80.238574],[-66.482666,-80.224414],[-66.376953,-80.222266],[-66.295801,-80.234766],[-66.217383,-80.258203],[-66.167627,-80.346191],[-66.115479,-80.36123],[-65.980078,-80.384473],[-62.518799,-80.37334],[-62.231836,-80.368652],[-61.633301,-80.344141],[-61.312842,-80.306543],[-61.193994,-80.256641],[-61.484766,-80.243848],[-61.597461,-80.205859],[-61.694336,-80.134375],[-61.716846,-80.069336],[-61.68418,-80.019727],[-61.302344,-79.995801],[-61.24624,-79.97832],[-61.34624,-79.950586],[-61.343115,-79.886816],[-61.11499,-79.862207],[-61.026318,-79.808887],[-60.578809,-79.741016],[-59.87334,-79.776953],[-59.706348,-79.875293],[-59.752441,-79.937988],[-59.785645,-80.001074],[-59.787793,-80.100977],[-59.498145,-80.115039],[-59.407812,-80.150879],[-59.32168,-80.196191],[-59.426611,-80.197656],[-59.530078,-80.208008],[-59.612402,-80.255469],[-59.683301,-80.315332],[-59.733936,-80.344141]]],[[[-70.051123,-69.189063],[-70.079346,-69.310938],[-69.913281,-69.267285],[-69.85498,-69.276563],[-69.707568,-69.320898],[-69.416943,-69.583203],[-69.352979,-69.666309],[-69.233789,-69.909082],[-69.09126,-70.090332],[-68.730566,-70.408105],[-68.553516,-70.581445],[-68.459473,-70.68291],[-68.450781,-70.817871],[-68.335986,-70.856055],[-68.314014,-70.911719],[-68.27793,-71.09707],[-68.252441,-71.313477],[-68.227832,-71.725195],[-68.241016,-71.822168],[-68.393896,-71.975195],[-68.460742,-72.085352],[-68.542578,-72.157617],[-68.640039,-72.209766],[-69.149268,-72.426563],[-69.209326,-72.53418],[-70.063086,-72.626172],[-70.543457,-72.664453],[-70.731348,-72.622949],[-70.922949,-72.613086],[-71.158594,-72.626953],[-71.846143,-72.639355],[-72.36748,-72.669727],[-72.433301,-72.658301],[-72.479883,-72.617285],[-72.530811,-72.589551],[-72.670215,-72.595898],[-72.780371,-72.580566],[-72.887646,-72.54668],[-73.007031,-72.484082],[-73.057422,-72.447559],[-73.086377,-72.407813],[-72.854834,-72.304199],[-72.7375,-72.280566],[-72.618213,-72.275098],[-72.376074,-72.296289],[-72.134961,-72.331348],[-71.605322,-72.358984],[-70.872607,-72.366406],[-70.671143,-72.356348],[-70.427686,-72.322559],[-70.206006,-72.227734],[-70.314209,-72.191016],[-70.42417,-72.167773],[-70.533203,-72.163379],[-70.641406,-72.169629],[-70.945166,-72.229102],[-71.177734,-72.264063],[-71.412549,-72.284473],[-71.661475,-72.249805],[-71.892187,-72.152832],[-71.897559,-72.120801],[-71.106641,-72.04707],[-71.034375,-72.03457],[-70.891113,-71.987402],[-70.844629,-71.945801],[-70.820996,-71.906543],[-71.35498,-71.836426],[-71.464648,-71.837891],[-71.574414,-71.850586],[-71.816162,-71.821875],[-72.045947,-71.739648],[-72.259082,-71.641211],[-72.336621,-71.632227],[-72.412207,-71.662305],[-72.927637,-71.92168],[-72.97207,-71.923633],[-73.166699,-71.90459],[-73.409961,-71.853125],[-73.63291,-71.834961],[-73.775977,-71.848926],[-73.829883,-71.870215],[-73.690576,-71.929395],[-73.572314,-71.980957],[-73.537109,-72.022363],[-73.899268,-72.152344],[-73.995605,-72.169824],[-74.152979,-72.158789],[-74.208936,-72.142285],[-74.321777,-72.072656],[-74.429297,-72.055566],[-74.663232,-72.069922],[-74.78584,-72.063574],[-74.908252,-72.033301],[-75.024121,-71.988477],[-75.129736,-71.963965],[-75.258887,-71.913965],[-75.353076,-71.878418],[-75.382715,-71.82793],[-75.373242,-71.780273],[-75.330811,-71.752344],[-75.324902,-71.725586],[-75.353125,-71.679688],[-75.335449,-71.645215],[-75.292578,-71.614941],[-75.099658,-71.555371],[-74.863135,-71.543359],[-74.636377,-71.61748],[-74.487451,-71.641504],[-74.418652,-71.643262],[-74.391797,-71.638184],[-74.37334,-71.617969],[-74.380078,-71.579395],[-74.420312,-71.507227],[-74.425391,-71.456934],[-74.375,-71.414941],[-74.30791,-71.399902],[-74.236084,-71.388379],[-74.187207,-71.383008],[-74.040967,-71.410449],[-73.937109,-71.438184],[-73.724268,-71.516992],[-73.545361,-71.573047],[-73.479004,-71.578711],[-73.427148,-71.558887],[-73.380176,-71.52793],[-73.592187,-71.448047],[-73.61709,-71.396582],[-73.604492,-71.350781],[-73.473975,-71.324902],[-73.397412,-71.321191],[-73.019727,-71.368652],[-72.821045,-71.383594],[-72.621582,-71.388379],[-72.21167,-71.335059],[-72.430078,-71.275],[-72.905469,-71.223145],[-72.994531,-71.186523],[-73.0604,-71.126953],[-72.710449,-71.072949],[-72.356348,-71.074805],[-71.718506,-71.145117],[-71.504492,-71.111523],[-71.30752,-71.01084],[-71.194043,-70.984766],[-70.741113,-70.992578],[-70.380664,-70.946387],[-70.3229,-70.951172],[-70.267676,-70.964746],[-69.916455,-71.133789],[-69.869775,-71.125684],[-69.835107,-71.092578],[-69.822852,-71.033691],[-69.82251,-70.973438],[-69.83042,-70.913672],[-69.875781,-70.875977],[-69.933203,-70.880371],[-69.993018,-70.89707],[-70.093994,-70.882617],[-70.19624,-70.850586],[-70.298682,-70.836133],[-70.660645,-70.817871],[-70.916943,-70.78584],[-71.049414,-70.762109],[-71.172656,-70.712988],[-71.190039,-70.65957],[-71.061084,-70.537109],[-70.562109,-70.404102],[-70.328076,-70.36123],[-70.09043,-70.350684],[-69.975293,-70.360156],[-69.702051,-70.414746],[-69.659863,-70.412305],[-69.618359,-70.398047],[-69.883008,-70.305176],[-70.117871,-70.23418],[-70.234082,-70.180469],[-70.327637,-70.159668],[-70.719531,-70.139453],[-70.926221,-70.192383],[-71.02373,-70.201367],[-71.120508,-70.196484],[-71.696094,-70.067773],[-71.728516,-70.053711],[-71.809961,-70.005176],[-71.853613,-69.969336],[-71.879248,-69.908984],[-71.867676,-69.847168],[-71.852002,-69.807031],[-71.766504,-69.649414],[-71.718213,-69.524023],[-71.74292,-69.422754],[-71.833594,-69.366797],[-71.963232,-69.328711],[-72.080664,-69.267188],[-72.114355,-69.225391],[-72.135156,-69.176563],[-72.137891,-69.114551],[-72.108643,-69.060059],[-72.057861,-69.000977],[-71.990137,-68.970801],[-71.868994,-68.941016],[-71.391553,-68.873535],[-70.416992,-68.788965],[-70.311914,-68.832227],[-70.154297,-68.922949],[-70.105469,-68.959375],[-70.052734,-69.139551],[-70.051123,-69.189063]]],[[[-98.091113,-71.9125],[-98.175928,-72.018457],[-98.167969,-72.123047],[-97.923145,-72.116602],[-97.816016,-71.918848],[-97.584766,-71.882617],[-97.473486,-72.000293],[-97.581982,-72.095117],[-97.525635,-72.149219],[-97.460254,-72.188281],[-97.345215,-72.189063],[-97.241992,-72.131836],[-97.195508,-72.091016],[-97.154785,-72.04541],[-97.088721,-71.944043],[-96.869434,-71.850977],[-96.38335,-71.836328],[-96.125,-71.895508],[-96.298193,-72.045117],[-96.714941,-72.131641],[-96.978906,-72.221875],[-96.890137,-72.246973],[-96.79873,-72.259473],[-96.717578,-72.255469],[-96.482324,-72.207617],[-95.906348,-72.121973],[-95.6854,-72.056641],[-95.609375,-72.068457],[-95.609521,-72.175],[-95.531055,-72.24873],[-95.575391,-72.409961],[-95.825684,-72.438965],[-96.078174,-72.453809],[-96.014307,-72.524707],[-96.029883,-72.554297],[-96.051758,-72.577246],[-96.692676,-72.547656],[-96.803906,-72.558008],[-96.914795,-72.57832],[-97.027637,-72.573828],[-97.250293,-72.520898],[-97.365527,-72.521777],[-97.595605,-72.547656],[-97.82832,-72.557031],[-98.163428,-72.556055],[-98.407812,-72.547656],[-98.640674,-72.489746],[-98.881543,-72.473242],[-99.148828,-72.471973],[-99.434326,-72.406641],[-99.672363,-72.379883],[-100.014258,-72.312402],[-100.104053,-72.287012],[-100.195215,-72.272656],[-100.357422,-72.278125],[-101.601953,-72.175684],[-101.784766,-72.177734],[-101.90332,-72.190332],[-102.022119,-72.184961],[-102.264795,-72.135254],[-102.313623,-72.081055],[-102.288281,-72.032129],[-102.236523,-72.009277],[-102.128125,-71.985449],[-100.400928,-71.865723],[-100.218652,-71.83291],[-100.084619,-71.836914],[-99.985156,-71.939453],[-99.833203,-72.046094],[-99.783984,-72.044336],[-99.734912,-72.033008],[-99.563086,-71.944922],[-99.254102,-71.972168],[-99.082129,-71.93252],[-98.964551,-71.854297],[-98.61543,-71.76377],[-98.394287,-71.781543],[-98.18916,-71.82002],[-98.091113,-71.9125]]],[[[-120.55625,-73.756055],[-120.378125,-73.855859],[-120.312305,-73.921973],[-120.272461,-73.98916],[-120.989502,-74.157031],[-121.019043,-74.173438],[-121.054102,-74.259961],[-121.036426,-74.279297],[-121.004687,-74.292871],[-121.002441,-74.326367],[-121.062402,-74.337305],[-122.286621,-74.403125],[-122.859082,-74.342676],[-122.938428,-74.302051],[-122.956055,-74.240332],[-122.890625,-74.227051],[-122.764746,-74.218652],[-122.794189,-74.19043],[-122.875244,-74.141211],[-122.880762,-74.099023],[-122.71001,-73.993652],[-122.624707,-73.965527],[-122.951172,-73.866602],[-122.991553,-73.844141],[-123.034668,-73.837598],[-123.19082,-73.849316],[-123.346191,-73.843066],[-123.291797,-73.803027],[-123.249072,-73.738672],[-123.112158,-73.682227],[-123.0125,-73.672949],[-122.910449,-73.679688],[-122.435693,-73.681641],[-121.966699,-73.711816],[-121.497314,-73.732813],[-120.722217,-73.751953],[-120.55625,-73.756055]]],[[[-126.329883,-73.28623],[-126.065283,-73.314844],[-125.975879,-73.356836],[-125.856641,-73.388281],[-125.735791,-73.405664],[-125.626807,-73.453223],[-125.561328,-73.536426],[-125.503906,-73.5625],[-125.326172,-73.617871],[-125.263965,-73.666406],[-125.276074,-73.690527],[-125.612402,-73.710742],[-125.723193,-73.702734],[-125.828418,-73.718359],[-125.859912,-73.748633],[-125.857031,-73.780176],[-125.798584,-73.801953],[-125.674414,-73.822168],[-125.552393,-73.820117],[-125.326855,-73.795508],[-125.224414,-73.800781],[-125.108789,-73.825977],[-124.993408,-73.829785],[-124.694385,-73.749609],[-124.61748,-73.735254],[-124.53999,-73.739746],[-124.128516,-73.833984],[-124.042041,-73.880371],[-124.100537,-73.906836],[-124.151807,-73.944238],[-124.129346,-73.971094],[-123.932324,-74.008008],[-123.851172,-74.057031],[-123.800439,-74.07627],[-123.811035,-74.117383],[-123.83877,-74.168262],[-123.836719,-74.225684],[-123.937402,-74.256152],[-123.982471,-74.256055],[-124.199414,-74.225586],[-124.872998,-74.208301],[-125.089551,-74.182422],[-125.420801,-74.069922],[-125.549316,-74.062695],[-125.682715,-74.035449],[-125.886865,-73.95459],[-126.244092,-73.890918],[-126.47168,-73.812109],[-126.465576,-73.746289],[-126.496094,-73.700195],[-126.538379,-73.680176],[-126.582666,-73.669922],[-126.710938,-73.653613],[-126.838232,-73.657324],[-126.90166,-73.676758],[-127.006396,-73.725781],[-127.12207,-73.73418],[-127.211621,-73.724414],[-127.231641,-73.713477],[-127.23291,-73.585547],[-127.332031,-73.56748],[-127.414355,-73.516309],[-127.429053,-73.446875],[-127.394336,-73.382227],[-127.267627,-73.304004],[-127.123535,-73.294336],[-126.977832,-73.308008],[-126.82998,-73.29082],[-126.596875,-73.278906],[-126.329883,-73.28623]]],[[[-159.05293,-79.807422],[-160.3021,-79.844531],[-160.806689,-79.812012],[-161.865527,-79.703516],[-163.317236,-79.504785],[-163.712402,-79.441992],[-163.970898,-79.38877],[-164.225781,-79.320801],[-164.281641,-79.245508],[-164.244873,-79.137695],[-164.199512,-79.050781],[-164.125537,-78.995313],[-163.814648,-78.928809],[-163.660254,-78.855762],[-163.345313,-78.779883],[-163.256104,-78.72207],[-163.124121,-78.719141],[-162.872754,-78.725195],[-162.621582,-78.741797],[-162.390039,-78.760156],[-162.160693,-78.793457],[-161.642969,-78.900977],[-161.283447,-79.007031],[-160.764404,-79.131641],[-160.249609,-79.271484],[-159.963525,-79.324316],[-159.684082,-79.402441],[-159.418799,-79.508105],[-159.366406,-79.545215],[-159.256104,-79.591016],[-159.189697,-79.637305],[-159.11875,-79.674512],[-159.051367,-79.694531],[-158.996582,-79.735156],[-159.00957,-79.780469],[-159.05293,-79.807422]]],[[[167.084082,-77.32168],[167.460938,-77.394336],[168.450781,-77.386133],[169.275586,-77.454688],[169.352734,-77.524707],[169.117285,-77.560547],[168.75459,-77.65332],[168.518848,-77.68125],[168.322559,-77.68252],[167.917578,-77.644141],[167.392285,-77.648633],[167.279492,-77.702637],[167.025098,-77.756445],[166.729004,-77.850977],[166.650391,-77.774023],[166.53252,-77.700391],[166.236816,-77.547461],[166.216797,-77.524609],[166.378418,-77.494043],[166.458008,-77.44375],[166.626367,-77.376758],[166.607129,-77.335547],[166.469043,-77.288867],[166.413086,-77.251953],[166.506348,-77.189355],[166.716406,-77.161719],[166.987305,-77.186523],[167.106836,-77.270605],[167.084961,-77.307422],[167.084082,-77.32168]]],[[[-31.118848,-79.798438],[-30.985059,-79.818457],[-30.84082,-79.771289],[-30.861475,-79.725879],[-30.779932,-79.647363],[-30.660156,-79.733105],[-29.870898,-79.823242],[-29.614453,-79.90957],[-29.720752,-79.929883],[-29.800098,-79.925977],[-30.029004,-79.936133],[-30.422119,-80.01084],[-30.844434,-79.938477],[-31.594238,-79.887695],[-31.824121,-79.849512],[-32.000293,-79.732422],[-31.68042,-79.634277],[-31.604883,-79.644727],[-31.118848,-79.798438]]],[[[-33.93418,-79.32041],[-34.049951,-79.357129],[-36.481299,-79.294043],[-36.600781,-79.282715],[-36.565967,-79.208789],[-36.237793,-79.195703],[-36.047998,-79.181152],[-35.790234,-79.148926],[-35.597314,-79.091895],[-35.534668,-79.090039],[-34.391504,-79.222949],[-33.994727,-79.278516],[-33.947168,-79.305371],[-33.93418,-79.32041]]],[[[-70.334082,-79.679883],[-70.552539,-79.683008],[-70.98374,-79.674414],[-71.414014,-79.640234],[-71.525781,-79.623633],[-71.68667,-79.568066],[-71.735205,-79.538574],[-71.777734,-79.500586],[-71.783545,-79.444336],[-71.66748,-79.245703],[-71.454004,-79.128906],[-71.254492,-79.059668],[-70.625879,-78.901563],[-70.543994,-78.883691],[-69.971875,-78.809375],[-69.747656,-78.769141],[-69.398242,-78.686133],[-67.478516,-78.3625],[-67.038135,-78.315723],[-66.840234,-78.349707],[-66.728076,-78.383691],[-66.787012,-78.42168],[-67.046143,-78.51416],[-67.166406,-78.569531],[-67.480957,-78.682422],[-68.157031,-78.870898],[-68.637939,-79.013184],[-69.250879,-79.210352],[-69.394434,-79.279785],[-69.686475,-79.443359],[-69.634473,-79.517578],[-69.731738,-79.618359],[-70.116309,-79.666016],[-70.334082,-79.679883]]],[[[-57.845996,-64.053906],[-57.808545,-64.067578],[-57.773682,-64.061523],[-57.741162,-64.047852],[-57.710059,-64.015137],[-57.59292,-63.96709],[-57.479736,-63.961621],[-57.51709,-64.010645],[-57.249463,-64.09707],[-57.272803,-64.166211],[-57.222266,-64.221387],[-57.327637,-64.237793],[-57.413965,-64.295898],[-57.338379,-64.318262],[-57.294678,-64.366992],[-57.387891,-64.378906],[-57.580762,-64.350391],[-57.683203,-64.357227],[-57.670752,-64.310938],[-57.70332,-64.293262],[-57.822852,-64.302051],[-57.871484,-64.400977],[-57.909766,-64.410059],[-57.952246,-64.394043],[-57.920703,-64.33125],[-57.971094,-64.32041],[-58.021582,-64.321582],[-58.169482,-64.368555],[-58.214062,-64.369727],[-58.304443,-64.314551],[-58.019971,-64.241992],[-58.137695,-64.206152],[-58.162207,-64.160742],[-58.14707,-64.097363],[-58.250439,-64.106836],[-58.352002,-64.130664],[-58.397607,-64.134766],[-58.438086,-64.113477],[-58.424951,-64.067773],[-58.341895,-63.994336],[-58.274805,-63.916211],[-58.145654,-63.877637],[-58.070361,-63.847461],[-57.970703,-63.834668],[-57.925684,-63.806055],[-57.831348,-63.803809],[-57.779492,-63.868262],[-57.780664,-63.906836],[-57.826953,-63.949219],[-57.845996,-64.053906]]],[[[-55.528027,-63.173535],[-55.46626,-63.199609],[-55.215527,-63.198633],[-55.15625,-63.204785],[-55.106445,-63.249316],[-55.075195,-63.324316],[-55.156787,-63.353125],[-55.593652,-63.33584],[-55.750195,-63.29668],[-55.830469,-63.298438],[-56.009131,-63.341504],[-56.083008,-63.382617],[-56.378516,-63.437305],[-56.462842,-63.418066],[-56.499023,-63.357617],[-56.505322,-63.334277],[-56.475342,-63.318262],[-56.460547,-63.301953],[-56.465967,-63.283496],[-56.385107,-63.234082],[-56.042187,-63.157129],[-55.589648,-63.12832],[-55.528711,-63.156836],[-55.528027,-63.173535]]],[[[-57.978418,-61.911914],[-57.849316,-61.939941],[-57.737988,-61.921191],[-57.676562,-61.94209],[-57.636523,-61.998242],[-57.639551,-62.02041],[-57.806689,-62.011914],[-57.962744,-62.077539],[-58.147559,-62.063477],[-58.172217,-62.117773],[-58.133105,-62.145801],[-58.183008,-62.17002],[-58.341455,-62.119434],[-58.46665,-62.137207],[-58.507324,-62.225684],[-58.561963,-62.243945],[-58.594043,-62.247754],[-58.643994,-62.225195],[-58.745703,-62.217871],[-58.755322,-62.206055],[-58.819043,-62.171289],[-59.003711,-62.209766],[-58.955225,-62.164258],[-58.709521,-62.044727],[-58.683594,-62.008203],[-58.399463,-61.938281],[-58.265186,-61.95332],[-57.978418,-61.911914]]],[[[-63.180566,-64.469531],[-63.276953,-64.57334],[-63.130518,-64.572363],[-63.03208,-64.534961],[-62.928223,-64.519336],[-62.836523,-64.571875],[-63.025586,-64.610938],[-63.202588,-64.680273],[-63.275439,-64.717383],[-63.354883,-64.733887],[-63.457812,-64.727344],[-63.558447,-64.73418],[-63.646875,-64.803027],[-63.739502,-64.834277],[-63.769922,-64.808398],[-63.804395,-64.791504],[-64.00708,-64.768555],[-64.09917,-64.732715],[-64.18374,-64.70957],[-64.27207,-64.697559],[-64.226221,-64.635352],[-64.171094,-64.581934],[-63.867139,-64.509766],[-63.896924,-64.487109],[-63.916162,-64.457227],[-63.674414,-64.421387],[-63.668311,-64.383984],[-63.683105,-64.342773],[-63.605566,-64.31416],[-63.53418,-64.272949],[-63.485596,-64.260547],[-63.333594,-64.266211],[-63.229639,-64.323633],[-63.270703,-64.380664],[-63.180566,-64.469531]]],[[[-62.325781,-64.424414],[-62.395898,-64.464648],[-62.455176,-64.47168],[-62.508105,-64.454102],[-62.579687,-64.514258],[-62.727002,-64.495996],[-62.781787,-64.479004],[-62.746826,-64.47168],[-62.720898,-64.444531],[-62.643018,-64.391602],[-62.504004,-64.253418],[-62.479736,-64.210645],[-62.590283,-64.139648],[-62.610742,-64.116309],[-62.585693,-64.075586],[-62.544971,-64.045703],[-62.451416,-64.012402],[-62.32876,-64.013477],[-62.267627,-64.039941],[-62.26875,-64.090039],[-62.058496,-64.138086],[-62.093848,-64.23457],[-62.174268,-64.295996],[-62.185693,-64.368848],[-62.303711,-64.401367],[-62.325781,-64.424414]]],[[[-67.988477,-67.474414],[-68.092529,-67.538672],[-68.175098,-67.558203],[-68.250391,-67.539648],[-68.325098,-67.532422],[-68.381299,-67.555371],[-68.439404,-67.65625],[-68.506738,-67.707129],[-68.58042,-67.732813],[-68.622363,-67.722559],[-68.664062,-67.722852],[-68.733691,-67.745703],[-68.818311,-67.753418],[-68.901367,-67.744238],[-68.982324,-67.67998],[-69.097559,-67.602734],[-69.120361,-67.57793],[-69.138037,-67.515234],[-69.132666,-67.452637],[-69.082422,-67.403125],[-68.819922,-67.233594],[-68.733594,-67.157227],[-68.656348,-67.07041],[-68.574609,-66.992578],[-68.416846,-66.85332],[-68.335938,-66.802051],[-67.937646,-66.656836],[-67.830518,-66.624316],[-67.711133,-66.633008],[-67.681152,-66.708984],[-67.74082,-66.746191],[-67.932373,-66.844531],[-67.969189,-66.982129],[-67.968408,-67.032227],[-67.948926,-67.044824],[-67.876074,-67.062402],[-67.827783,-67.081934],[-67.761182,-67.122949],[-67.687842,-67.147363],[-67.848047,-67.219141],[-67.956348,-67.255371],[-68.030078,-67.3],[-68.175146,-67.344141],[-68.235107,-67.371973],[-68.144434,-67.382422],[-68.006982,-67.417969],[-67.969482,-67.450293],[-67.988477,-67.474414]]],[[[-73.706641,-70.635156],[-73.550342,-70.723438],[-73.694531,-70.794336],[-74.205029,-70.924121],[-74.504736,-70.973438],[-74.805811,-71.012305],[-76.176318,-71.132422],[-76.271289,-71.132812],[-76.363965,-71.116797],[-76.421484,-71.09043],[-76.511523,-70.99082],[-76.500244,-70.941406],[-76.377637,-70.894141],[-76.248877,-70.86377],[-76.03457,-70.835938],[-75.21001,-70.772559],[-75.126953,-70.751758],[-75.059912,-70.705566],[-75.037549,-70.650586],[-75.007471,-70.608887],[-74.953613,-70.590234],[-74.898486,-70.590527],[-74.790479,-70.630957],[-74.589697,-70.791992],[-74.527148,-70.769727],[-74.468652,-70.72666],[-74.456152,-70.586719],[-74.400977,-70.575879],[-74.225,-70.614648],[-74.114551,-70.655371],[-74.112646,-70.576758],[-74.03833,-70.55293],[-73.957812,-70.560938],[-73.879492,-70.578125],[-73.706641,-70.635156]]],[[[-74.987109,-69.727832],[-74.810156,-69.752441],[-74.549707,-69.860938],[-74.46543,-69.916895],[-74.437988,-69.949609],[-74.460059,-69.97168],[-74.578418,-69.998047],[-74.671777,-70.131738],[-74.848828,-70.179297],[-75.268408,-70.149414],[-75.726758,-70.096094],[-75.764453,-70.085059],[-75.80415,-70.038184],[-75.812939,-69.983984],[-75.759521,-69.916113],[-75.681348,-69.881641],[-75.339941,-69.840234],[-75.313916,-69.816797],[-75.264551,-69.749316],[-75.178955,-69.735156],[-75.136377,-69.740625],[-74.987109,-69.727832]]],[[[-74.354443,-73.098438],[-74.498926,-73.229199],[-74.522461,-73.243945],[-74.667676,-73.275293],[-74.615381,-73.311426],[-74.575488,-73.327734],[-74.550635,-73.369141],[-74.467139,-73.427148],[-74.366113,-73.464258],[-74.4521,-73.56543],[-74.574658,-73.611328],[-75.90083,-73.332617],[-76.003223,-73.287988],[-76.053125,-73.254688],[-76.09043,-73.202832],[-76.096387,-73.150488],[-76.062402,-73.108789],[-76.017676,-73.085449],[-75.897656,-73.056348],[-75.774658,-73.054297],[-75.505859,-73.108887],[-75.467578,-73.101074],[-75.417236,-73.051563],[-75.276221,-73.050391],[-75.243848,-73.009375],[-75.439453,-72.994238],[-75.600293,-72.952637],[-75.701758,-72.911035],[-75.731055,-72.879297],[-75.376855,-72.82041],[-74.473877,-72.89375],[-74.335547,-72.918945],[-74.275781,-72.95127],[-74.223877,-72.99707],[-74.354443,-73.098438]]],[[[-91.160693,-73.182227],[-91.344189,-73.207129],[-91.51084,-73.195508],[-91.450391,-72.967871],[-91.356885,-72.909473],[-91.382129,-72.867871],[-91.551465,-72.753613],[-91.67002,-72.62373],[-91.612402,-72.593848],[-91.303516,-72.547363],[-90.947412,-72.556348],[-90.807129,-72.610645],[-90.76333,-72.681055],[-90.780176,-72.731738],[-90.895361,-72.823633],[-90.776221,-72.854004],[-90.750977,-72.916602],[-90.775586,-72.992969],[-90.893066,-73.083984],[-90.998437,-73.136523],[-91.160693,-73.182227]]],[[[167.642773,-78.141406],[167.51748,-78.216016],[167.376953,-78.249023],[166.93623,-78.222461],[166.625977,-78.284277],[166.284863,-78.306445],[166.121875,-78.274609],[166.050586,-78.213379],[166.0125,-78.13125],[166.012891,-78.101953],[166.111133,-78.089648],[166.56709,-78.148047],[166.759863,-78.197949],[166.863672,-78.196387],[167.137891,-78.12998],[167.364063,-78.045801],[167.422363,-78.006445],[167.497852,-77.992383],[167.593848,-78.022266],[167.639844,-78.111719],[167.642773,-78.141406]]],[[[100.981445,-65.677539],[100.546875,-65.70127],[100.512305,-65.675391],[100.350586,-65.672949],[100.292578,-65.65127],[100.270312,-65.60332],[100.324121,-65.520703],[100.409375,-65.465625],[100.545117,-65.408984],[100.606934,-65.396387],[100.883398,-65.378125],[101.078711,-65.402539],[101.220605,-65.472266],[101.258984,-65.527637],[101.238379,-65.564551],[100.981445,-65.677539]]],[[[26.857227,-70.381152],[26.792969,-70.419336],[26.608789,-70.412402],[26.470215,-70.447949],[26.357617,-70.434277],[26.005371,-70.372949],[25.964258,-70.294531],[25.954102,-70.261426],[25.98252,-70.199902],[26.301074,-70.072461],[26.425586,-70.060547],[26.604785,-70.078223],[26.68623,-70.114453],[26.737402,-70.186035],[26.874805,-70.32998],[26.857227,-70.381152]]],[[[-5.894092,-70.552246],[-6.156104,-70.611523],[-6.180859,-70.585547],[-6.266113,-70.550195],[-6.437988,-70.452637],[-6.243652,-70.445703],[-6.068262,-70.404688],[-5.971631,-70.421484],[-5.949512,-70.432227],[-5.894092,-70.552246]]],[[[-3.280225,-70.533789],[-3.441895,-70.535449],[-3.490234,-70.508008],[-3.496826,-70.488379],[-3.287451,-70.344043],[-3.173242,-70.307324],[-2.949902,-70.279688],[-2.805127,-70.288477],[-2.713525,-70.320215],[-2.684375,-70.376172],[-2.682715,-70.462207],[-2.738037,-70.507031],[-3.280225,-70.533789]]],[[[-66.173633,-80.077832],[-66.267187,-80.081445],[-66.319482,-80.075098],[-66.366895,-80.054297],[-66.4104,-79.97334],[-66.904199,-79.908887],[-66.962354,-79.872656],[-66.993652,-79.793359],[-67.077246,-79.761816],[-67.719141,-79.620215],[-67.770752,-79.589453],[-67.80874,-79.545898],[-67.687939,-79.528418],[-67.438232,-79.560352],[-66.978906,-79.568652],[-66.881299,-79.582227],[-66.785205,-79.608008],[-66.273779,-79.612012],[-66.01416,-79.624414],[-65.870312,-79.737695],[-65.579248,-79.770801],[-65.539551,-79.836914],[-65.504443,-79.954297],[-65.899023,-80.040527],[-65.989404,-80.054004],[-66.173633,-80.077832]]],[[[-67.261914,-79.452637],[-67.434326,-79.501172],[-68.161475,-79.478516],[-68.408105,-79.463965],[-68.548926,-79.437402],[-68.422266,-79.333203],[-68.324365,-79.298242],[-68.233008,-79.284961],[-68.032568,-79.227148],[-67.71416,-79.214063],[-67.474512,-79.222949],[-67.068652,-79.268457],[-67.172949,-79.311523],[-67.239502,-79.327637],[-67.304883,-79.394043],[-67.261914,-79.452637]]],[[[-55.16543,-61.22041],[-55.297021,-61.248535],[-55.346924,-61.211621],[-55.369141,-61.146387],[-55.440234,-61.106152],[-55.387012,-61.072656],[-54.670996,-61.116992],[-54.709961,-61.139746],[-55.057617,-61.168652],[-55.16543,-61.22041]]],[[[-55.872559,-63.535645],[-55.956738,-63.57998],[-56.178369,-63.513281],[-56.235205,-63.468848],[-56.209863,-63.436914],[-55.85791,-63.407324],[-55.761816,-63.42207],[-55.719189,-63.49209],[-55.872559,-63.535645]]],[[[-57.240479,-64.566797],[-57.32627,-64.570703],[-57.433398,-64.540234],[-57.4479,-64.488477],[-57.445898,-64.459863],[-57.365625,-64.43877],[-57.314551,-64.435352],[-57.022559,-64.352344],[-56.894727,-64.333008],[-56.951709,-64.381738],[-56.945264,-64.427246],[-56.991016,-64.467969],[-57.240479,-64.566797]]],[[[-56.059961,-63.078516],[-56.258984,-63.173145],[-56.354102,-63.168848],[-56.54585,-63.09834],[-56.600537,-63.061621],[-56.61416,-63.045117],[-56.488574,-62.982227],[-56.140381,-63.005273],[-56.061768,-63.012695],[-56.058447,-63.018555],[-56.051025,-63.054688],[-56.059961,-63.078516]]],[[[-57.37417,-63.807227],[-57.360205,-63.824805],[-57.16084,-63.815723],[-57.104004,-63.841211],[-57.218018,-63.875586],[-57.247754,-63.868359],[-57.34375,-63.878516],[-57.616357,-63.853613],[-57.683252,-63.812695],[-57.439355,-63.791406],[-57.37417,-63.807227]]],[[[-61.997607,-69.721875],[-62.085156,-69.729492],[-62.171924,-69.636621],[-62.216016,-69.494922],[-62.49624,-69.288184],[-62.567676,-69.180469],[-62.515869,-69.15459],[-62.442139,-69.145996],[-62.238965,-69.175781],[-62.11792,-69.214746],[-61.978369,-69.300391],[-61.815967,-69.376172],[-61.783691,-69.441895],[-61.807178,-69.514648],[-61.911328,-69.533398],[-61.907812,-69.587598],[-61.970117,-69.691406],[-61.997607,-69.721875]]],[[[-60.625,-62.560059],[-60.576318,-62.572656],[-60.139893,-62.54873],[-60.002734,-62.618457],[-59.849561,-62.614941],[-60.220947,-62.74541],[-60.321582,-62.70752],[-60.353809,-62.679199],[-60.378027,-62.616504],[-60.619629,-62.633398],[-60.696924,-62.620703],[-60.795898,-62.662305],[-60.995068,-62.679102],[-61.06333,-62.678906],[-61.149805,-62.63418],[-61.152393,-62.589063],[-60.974707,-62.591699],[-60.837744,-62.533691],[-60.799268,-62.475195],[-60.731836,-62.491016],[-60.625,-62.560059]]],[[[-71.985352,-69.698438],[-72.202051,-69.740137],[-72.34458,-69.707031],[-72.776758,-69.64502],[-72.957324,-69.529102],[-72.936768,-69.468848],[-72.857324,-69.433105],[-72.726172,-69.413086],[-72.464307,-69.451855],[-72.331152,-69.491797],[-71.985352,-69.698438]]],[[[-95.027051,-72.665039],[-95.219434,-72.669824],[-95.272949,-72.646875],[-95.215625,-72.599414],[-94.753027,-72.517188],[-94.566113,-72.468066],[-94.538379,-72.475781],[-94.513867,-72.491699],[-94.433936,-72.58916],[-94.426025,-72.612598],[-95.027051,-72.665039]]],[[[-104.537939,-73.166309],[-104.65957,-73.212109],[-104.880957,-73.200586],[-105.05293,-73.125977],[-105.123437,-73.026367],[-105.131787,-72.991504],[-105.08457,-72.965918],[-104.972412,-72.941016],[-104.537939,-73.166309]]],[[[-119.548926,-74.110254],[-119.75835,-74.12207],[-119.820996,-74.119629],[-119.887207,-74.097266],[-119.905127,-74.081543],[-119.79668,-74.029199],[-119.69375,-74.006152],[-119.661572,-73.989355],[-119.802588,-73.814648],[-119.669043,-73.809277],[-119.516357,-73.774902],[-119.216211,-73.777637],[-118.959277,-73.809473],[-118.909814,-73.834277],[-118.877344,-73.878027],[-118.989795,-73.966992],[-119.058594,-73.997656],[-119.448535,-74.076172],[-119.548926,-74.110254]]],[[[-127.36582,-74.622656],[-127.517725,-74.640527],[-127.81709,-74.574609],[-127.915234,-74.542578],[-128.000049,-74.489453],[-128.070459,-74.478223],[-128.09624,-74.466211],[-128.133447,-74.327441],[-128.042871,-74.312207],[-127.852979,-74.331836],[-127.486426,-74.405273],[-127.229736,-74.425195],[-127.145166,-74.480176],[-127.231934,-74.578418],[-127.36582,-74.622656]]],[[[-161.993799,-83.11875],[-162.304932,-83.141797],[-163.046533,-83.096777],[-163.242139,-83.059668],[-163.348389,-83.021582],[-163.5521,-82.987695],[-163.601758,-82.968555],[-163.602197,-82.927344],[-163.634326,-82.902246],[-163.703906,-82.879297],[-163.735303,-82.856836],[-163.795947,-82.842676],[-162.798486,-82.864844],[-162.410596,-82.899219],[-162.339795,-82.922754],[-161.635156,-83.026953],[-161.828223,-83.042578],[-161.993799,-83.11875]]],[[[-160.467139,-81.589453],[-160.570996,-81.597852],[-163.253076,-81.482422],[-163.766064,-81.444824],[-163.890137,-81.423633],[-163.939258,-81.404102],[-163.951221,-81.390918],[-163.930029,-81.352148],[-163.868994,-81.324023],[-163.200635,-81.281445],[-162.456494,-81.313281],[-161.558594,-81.39668],[-160.937891,-81.463477],[-160.616895,-81.52207],[-160.485449,-81.566992],[-160.467139,-81.589453]]],[[[163.975977,-74.832715],[163.844629,-74.832715],[163.763379,-74.802832],[163.737207,-74.733789],[163.741699,-74.711523],[164.002344,-74.628906],[164.208496,-74.607715],[164.098242,-74.731934],[164.05918,-74.752734],[163.975977,-74.832715]]],[[[162.968066,-75.56709],[162.788281,-75.696191],[162.661914,-75.691895],[162.591211,-75.668555],[162.72002,-75.59668],[162.842383,-75.566211],[162.916992,-75.557324],[162.968066,-75.56709]]],[[[169.843652,-73.60498],[169.70918,-73.625293],[169.522363,-73.561523],[169.479492,-73.539453],[169.659375,-73.418066],[169.64541,-73.379102],[169.671875,-73.346094],[169.740039,-73.32041],[169.783203,-73.324219],[169.886523,-73.458691],[169.960352,-73.514355],[169.858789,-73.568066],[169.843652,-73.60498]]],[[[164.833594,-67.54043],[164.746289,-67.568848],[164.69209,-67.560059],[164.638965,-67.500098],[164.696289,-67.407813],[164.675195,-67.288867],[164.683984,-67.259375],[164.825,-67.326074],[164.850098,-67.363672],[164.907227,-67.418555],[164.918652,-67.447461],[164.860449,-67.503906],[164.833594,-67.54043]]],[[[163.301953,-66.821191],[163.283594,-66.881934],[163.23457,-66.867969],[163.163867,-66.819141],[163.089648,-66.700586],[163.156152,-66.688477],[163.237891,-66.708789],[163.271094,-66.767578],[163.299121,-66.798438],[163.301953,-66.821191]]],[[[162.611426,-66.477344],[162.557129,-66.525098],[162.511328,-66.520117],[162.302734,-66.399707],[162.32627,-66.347461],[162.297266,-66.303711],[162.302051,-66.264648],[162.310547,-66.25127],[162.563281,-66.432617],[162.611426,-66.477344]]],[[[96.612695,-66.03584],[96.727344,-66.06084],[96.931641,-66.058398],[97.005566,-66.096777],[97.018848,-66.139453],[97.015625,-66.163965],[96.933984,-66.200781],[96.394531,-66.225],[96.307031,-66.18584],[96.398828,-66.080176],[96.499805,-66.045898],[96.612695,-66.03584]]],[[[100.264746,-66.216602],[100.133203,-66.229492],[100.082031,-66.202734],[100.07627,-66.188086],[100.174414,-66.131055],[100.290527,-66.112402],[100.281543,-66.17998],[100.264746,-66.216602]]],[[[98.846094,-66.469824],[98.751758,-66.481641],[98.655078,-66.45332],[98.605176,-66.399902],[98.596484,-66.382617],[98.748633,-66.369238],[98.949805,-66.420508],[98.846094,-66.469824]]],[[[103.397266,-65.445312],[103.337207,-65.468555],[103.175977,-65.454688],[103.138477,-65.435059],[103.124219,-65.338379],[103.112793,-65.312012],[103.054395,-65.285352],[102.78877,-65.235938],[102.75957,-65.167871],[102.796094,-65.136328],[102.892871,-65.129688],[103.136816,-65.190625],[103.19082,-65.237109],[103.181738,-65.307715],[103.186133,-65.330566],[103.261035,-65.377344],[103.378906,-65.426465],[103.397266,-65.445312]]],[[[92.601367,-65.808301],[92.470508,-65.82168],[92.333008,-65.807227],[92.262793,-65.760059],[92.248145,-65.739941],[92.301465,-65.706738],[92.496387,-65.702148],[92.633789,-65.730664],[92.664551,-65.760449],[92.669629,-65.774805],[92.601367,-65.808301]]],[[[85.822363,-66.95332],[85.650098,-66.979688],[85.622266,-66.965332],[85.617383,-66.950879],[85.358789,-66.854297],[85.314453,-66.775977],[85.340332,-66.72334],[85.552832,-66.728516],[85.80625,-66.774609],[85.937695,-66.894141],[85.822363,-66.95332]]],[[[86.541797,-66.76748],[86.42666,-66.791992],[86.337012,-66.787598],[86.232227,-66.73291],[86.277734,-66.69668],[86.383301,-66.674805],[86.520605,-66.686914],[86.556738,-66.705762],[86.651953,-66.718164],[86.541797,-66.76748]]],[[[85.328516,-66.611914],[85.222461,-66.643457],[85.136133,-66.637109],[85.07959,-66.604297],[85.06875,-66.583789],[85.121094,-66.518555],[85.164746,-66.521582],[85.193945,-66.556055],[85.328516,-66.611914]]],[[[69.918359,-71.917773],[69.791992,-72.04668],[69.743555,-72.044141],[69.692578,-71.968262],[69.737109,-71.921973],[69.796094,-71.893945],[69.895215,-71.907813],[69.918359,-71.917773]]],[[[68.461719,-72.300098],[68.408887,-72.300195],[68.436133,-72.260449],[68.566309,-72.190137],[68.66709,-72.103125],[68.729297,-72.08916],[68.84043,-72.16543],[68.817188,-72.228711],[68.669531,-72.275977],[68.461719,-72.300098]]],[[[72.002246,-70.632617],[71.929004,-70.633008],[71.841211,-70.621973],[71.725781,-70.549121],[71.659375,-70.497461],[71.637109,-70.443555],[71.646582,-70.336328],[71.705078,-70.284375],[71.796582,-70.264258],[71.837988,-70.312207],[71.851172,-70.367676],[71.87998,-70.405566],[72,-70.456836],[72.055664,-70.500977],[72.073438,-70.524512],[72.097363,-70.574609],[72.078125,-70.609082],[72.002246,-70.632617]]],[[[48.545996,-66.78418],[48.37793,-66.807324],[48.304492,-66.797852],[48.295996,-66.773828],[48.293945,-66.750098],[48.300781,-66.724219],[48.357715,-66.703809],[48.637793,-66.700977],[48.751074,-66.719629],[48.782422,-66.731152],[48.785547,-66.767578],[48.774707,-66.77832],[48.545996,-66.78418]]],[[[16.222656,-70.007617],[16.159277,-70.071973],[15.844922,-69.982031],[15.663477,-69.955078],[15.613867,-69.939063],[15.570996,-69.884766],[15.562598,-69.862793],[15.596875,-69.828027],[15.699023,-69.773242],[15.90957,-69.728418],[16.246875,-69.70498],[16.573438,-69.723242],[16.625488,-69.750293],[16.31543,-69.844434],[16.222656,-70.007617]]],[[[3.036914,-70.597363],[2.697754,-70.623535],[2.622754,-70.593359],[2.584668,-70.53457],[2.631445,-70.500391],[3.072168,-70.381641],[3.192773,-70.392676],[3.230566,-70.402637],[3.259863,-70.448828],[3.221289,-70.519141],[3.171094,-70.553906],[3.036914,-70.597363]]],[[[-2.95498,-71.21377],[-3.060596,-71.236621],[-3.201465,-71.230273],[-3.309375,-71.200879],[-3.385645,-71.142969],[-3.403857,-71.119824],[-3.391699,-71.081152],[-3.398975,-71.062109],[-3.263037,-71.051758],[-3.212793,-71.075977],[-3.191357,-71.094824],[-2.95498,-71.21377]]],[[[1.299316,-70.255176],[1.211523,-70.381348],[1.156348,-70.378125],[1.10459,-70.304199],[0.990332,-70.224316],[0.952539,-70.168945],[0.949609,-70.094043],[1.026758,-70.049805],[1.314844,-70.022754],[1.412207,-70.040723],[1.460938,-70.135645],[1.299316,-70.255176]]],[[[-2.532812,-70.767773],[-2.423437,-70.800391],[-2.255566,-70.796094],[-2.092285,-70.820898],[-2.119043,-70.855371],[-2.212695,-70.901563],[-2.293164,-70.997949],[-2.368945,-71.044434],[-2.606738,-71.141113],[-2.783496,-71.16748],[-2.825146,-71.112695],[-2.821875,-71.056738],[-2.805176,-71.014746],[-2.800537,-70.982227],[-2.963135,-70.940332],[-2.975,-70.883301],[-3.006982,-70.851465],[-3.488965,-70.735938],[-3.574658,-70.703125],[-3.537061,-70.683301],[-3.040039,-70.674414],[-2.749805,-70.694141],[-2.532812,-70.767773]]],[[[4.525879,-70.478711],[4.365234,-70.502637],[4.179688,-70.45127],[4.12959,-70.416992],[4.076172,-70.325293],[4.069727,-70.290234],[4.111719,-70.266797],[4.256055,-70.24082],[4.49502,-70.251367],[4.58623,-70.294238],[4.617578,-70.368652],[4.589941,-70.43252],[4.525879,-70.478711]]],[[[-20.607422,-73.886621],[-20.654248,-74.10498],[-20.64126,-74.150586],[-20.600342,-74.196875],[-20.42334,-74.317383],[-20.411426,-74.408496],[-20.41665,-74.443359],[-20.489014,-74.492676],[-20.737012,-74.480957],[-20.817676,-74.454785],[-20.845654,-74.437793],[-20.976758,-74.225098],[-21.051221,-74.176074],[-21.166553,-74.132617],[-21.609863,-74.091797],[-22.035352,-74.106543],[-21.930371,-74.056641],[-21.288281,-73.989355],[-21.126367,-73.939844],[-21.024512,-73.880078],[-20.979199,-73.79043],[-20.867041,-73.67666],[-20.690137,-73.625195],[-20.580225,-73.619238],[-20.520703,-73.711816],[-20.520703,-73.797852],[-20.607422,-73.886621]]],[[[-16.104492,-72.679102],[-16.174805,-72.702832],[-16.317578,-72.702148],[-16.453027,-72.652344],[-16.509766,-72.582227],[-16.516553,-72.530859],[-16.455371,-72.473535],[-16.355859,-72.458594],[-16.302881,-72.478027],[-16.17251,-72.6],[-16.104492,-72.679102]]],[[[-12.508887,-72.17334],[-12.588428,-72.196094],[-12.720166,-72.187695],[-12.888428,-72.137109],[-12.943701,-72.098926],[-12.963281,-72.064453],[-12.914795,-72.014648],[-12.875488,-72.000684],[-12.788867,-72.006543],[-12.636621,-72.071289],[-12.534766,-72.140039],[-12.508887,-72.17334]]],[[[-32.342529,-79.673633],[-32.514893,-79.682813],[-32.583252,-79.658301],[-32.50083,-79.592285],[-32.376611,-79.534668],[-32.15,-79.529883],[-31.933447,-79.567871],[-31.956738,-79.603809],[-32.001172,-79.607031],[-32.342529,-79.673633]]],[[[-54.070703,-61.299121],[-54.11543,-61.308496],[-54.183887,-61.269727],[-54.192236,-61.246582],[-54.121973,-61.201758],[-54.049902,-61.14209],[-54.024316,-61.135254],[-54.041309,-61.255371],[-54.070703,-61.299121]]],[[[-58.837939,-62.302539],[-59.059424,-62.347754],[-59.174561,-62.301758],[-59.202441,-62.283105],[-59.063818,-62.239063],[-58.990625,-62.249219],[-58.962109,-62.263867],[-58.878662,-62.267871],[-58.837939,-62.302539]]],[[[-61.158447,-69.975781],[-61.308643,-69.97793],[-61.378467,-69.949805],[-61.404346,-69.93252],[-61.386475,-69.893262],[-61.327148,-69.856348],[-61.151855,-69.883105],[-61.10791,-69.955273],[-61.158447,-69.975781]]],[[[-60.655908,-68.767578],[-60.693359,-68.79502],[-60.820068,-68.778418],[-60.894043,-68.758887],[-61.014941,-68.709766],[-60.947168,-68.680664],[-60.813574,-68.687695],[-60.704834,-68.72207],[-60.655908,-68.767578]]],[[[-60.740625,-70.710547],[-60.826074,-70.710547],[-60.896484,-70.689648],[-60.958008,-70.629004],[-60.975537,-70.599121],[-60.941797,-70.53252],[-60.883887,-70.517578],[-60.553662,-70.508789],[-60.45249,-70.544238],[-60.448975,-70.60332],[-60.487695,-70.64668],[-60.740625,-70.710547]]],[[[-60.552246,-71.05293],[-60.652148,-71.058691],[-60.789746,-71.041113],[-60.906348,-71.007422],[-60.946484,-70.967383],[-60.889062,-70.934375],[-60.782812,-70.914062],[-60.613135,-70.920117],[-60.533301,-70.9625],[-60.516309,-70.999512],[-60.535937,-71.040918],[-60.552246,-71.05293]]],[[[-59.389014,-62.444336],[-59.525244,-62.451465],[-59.619434,-62.39502],[-59.660693,-62.354297],[-59.478516,-62.352148],[-59.39585,-62.367285],[-59.353369,-62.412891],[-59.389014,-62.444336]]],[[[-60.504883,-62.967383],[-60.554688,-62.977539],[-60.619727,-62.969043],[-60.617725,-62.986621],[-60.563672,-63.008984],[-60.62168,-63.017969],[-60.69292,-62.995703],[-60.74043,-62.948633],[-60.705859,-62.905566],[-60.637402,-62.895215],[-60.504883,-62.967383]]],[[[-60.653125,-63.866602],[-60.777686,-63.902148],[-60.852441,-63.891016],[-60.972168,-63.849023],[-60.810059,-63.836621],[-60.79668,-63.716699],[-60.714844,-63.668848],[-60.562354,-63.695898],[-60.655908,-63.758984],[-60.688867,-63.80791],[-60.65498,-63.850098],[-60.653125,-63.866602]]],[[[-61.952441,-64.077148],[-62.043896,-64.080371],[-62.020752,-64.027344],[-61.936279,-63.990234],[-61.798242,-63.966602],[-61.88623,-64.026953],[-61.911133,-64.054492],[-61.952441,-64.077148]]],[[[-63.316211,-64.861133],[-63.474414,-64.906543],[-63.55835,-64.905957],[-63.459277,-64.796289],[-63.366895,-64.79209],[-63.219385,-64.729785],[-63.177246,-64.73877],[-63.256934,-64.79082],[-63.316211,-64.861133]]],[[[-62.615088,-63.069336],[-62.655273,-63.073828],[-62.638867,-63.031934],[-62.527051,-62.923828],[-62.317432,-62.874121],[-62.344043,-62.917773],[-62.411475,-62.971582],[-62.615088,-63.069336]]],[[[-65.845264,-65.84248],[-66.063916,-65.880859],[-66.175293,-65.866504],[-66.181445,-65.826367],[-66.153467,-65.77373],[-66.049609,-65.744727],[-66.066943,-65.666113],[-65.999707,-65.632812],[-65.968311,-65.570996],[-65.833594,-65.527246],[-65.636914,-65.547754],[-65.667969,-65.626172],[-65.669678,-65.65293],[-65.78374,-65.674316],[-65.813867,-65.686621],[-65.84082,-65.738477],[-65.835742,-65.81377],[-65.845264,-65.84248]]],[[[-66.595312,-66.200684],[-66.818652,-66.312695],[-66.85,-66.305469],[-66.867529,-66.293848],[-66.866992,-66.274805],[-66.791504,-66.233594],[-66.779004,-66.11084],[-66.631348,-66.066797],[-66.575195,-66.082422],[-66.622852,-66.133887],[-66.592627,-66.178613],[-66.595312,-66.200684]]],[[[-67.362402,-66.894531],[-67.409229,-66.901953],[-67.520801,-66.897266],[-67.593262,-66.875586],[-67.499512,-66.803613],[-67.51084,-66.75625],[-67.425977,-66.736914],[-67.331689,-66.753516],[-67.26875,-66.815234],[-67.256982,-66.840918],[-67.362402,-66.894531]]],[[[-67.348926,-67.766211],[-67.544531,-67.785254],[-67.693359,-67.763477],[-67.689697,-67.687695],[-67.730664,-67.679492],[-67.743262,-67.66123],[-67.556738,-67.604492],[-67.417676,-67.590625],[-67.246729,-67.59873],[-67.174902,-67.624512],[-67.149414,-67.650195],[-67.279687,-67.711914],[-67.299707,-67.737207],[-67.348926,-67.766211]]],[[[-71.69502,-70.265137],[-71.647754,-70.29541],[-71.431592,-70.267285],[-71.354883,-70.297852],[-71.340283,-70.31748],[-71.437744,-70.391504],[-71.551221,-70.438867],[-71.684668,-70.442285],[-71.781982,-70.318848],[-71.795264,-70.288379],[-71.69502,-70.265137]]],[[[-73.878418,-73.356836],[-73.974805,-73.376074],[-74.038281,-73.365527],[-74.146631,-73.31543],[-74.134424,-73.27666],[-74.084473,-73.249316],[-74.04873,-73.220215],[-73.832129,-73.113281],[-73.674219,-73.100391],[-73.542432,-73.123828],[-73.682275,-73.225],[-73.721387,-73.296289],[-73.878418,-73.356836]]],[[[-93.795605,-72.919727],[-93.965527,-72.920215],[-94.078125,-72.883887],[-94.113184,-72.860059],[-94.046973,-72.823047],[-94.004248,-72.819727],[-93.799561,-72.882031],[-93.755811,-72.907617],[-93.795605,-72.919727]]],[[[-116.738623,-74.165039],[-117.230322,-74.192773],[-117.362988,-74.160938],[-117.398291,-74.122461],[-117.376465,-74.082813],[-116.381299,-73.865527],[-116.202686,-73.895605],[-116.15498,-73.910449],[-116.451416,-74.017676],[-116.58457,-74.055566],[-116.608643,-74.068555],[-116.53418,-74.083301],[-116.514111,-74.095508],[-116.570898,-74.125684],[-116.738623,-74.165039]]],[[[-132.39126,-74.441895],[-132.546289,-74.498438],[-132.857178,-74.461719],[-132.831689,-74.421582],[-132.55249,-74.386621],[-132.362305,-74.409961],[-132.39126,-74.441895]]],[[[-131.066699,-74.583789],[-131.178906,-74.604785],[-131.597949,-74.553711],[-131.840869,-74.542578],[-131.95249,-74.514355],[-132.025098,-74.488672],[-132.049316,-74.463867],[-132.162646,-74.425781],[-131.937793,-74.349121],[-131.762695,-74.323828],[-131.594092,-74.329688],[-131.559619,-74.367285],[-131.233887,-74.413574],[-130.981104,-74.414062],[-130.956787,-74.45625],[-130.967285,-74.515039],[-131.066699,-74.583789]]],[[[-147.588281,-76.649805],[-147.578857,-76.662793],[-147.729639,-76.653418],[-147.954297,-76.597168],[-148.001074,-76.577148],[-147.899707,-76.558008],[-147.769678,-76.576855],[-147.649121,-76.61084],[-147.588281,-76.649805]]],[[[-145.238086,-75.71123],[-145.348389,-75.716113],[-145.541162,-75.692676],[-146.042773,-75.611914],[-146.15083,-75.573535],[-146.075732,-75.533398],[-145.895508,-75.504785],[-145.760791,-75.513867],[-145.417383,-75.587988],[-145.31543,-75.641406],[-145.252246,-75.682813],[-145.238086,-75.71123]]],[[[-146.606738,-76.961328],[-146.981445,-77.005664],[-147.078906,-76.992773],[-147.044141,-76.929688],[-147.101465,-76.886523],[-147.115625,-76.866211],[-147.08667,-76.837305],[-146.866504,-76.837109],[-146.244385,-76.883105],[-146.163965,-76.948535],[-146.606738,-76.961328]]],[[[-148.59585,-77.006836],[-149.014648,-77.019141],[-149.244824,-76.993066],[-149.302539,-76.91582],[-149.238086,-76.900195],[-148.704102,-76.935645],[-148.508936,-76.95459],[-148.439746,-76.977148],[-148.474316,-76.997754],[-148.59585,-77.006836]]],[[[-149.333252,-76.717383],[-148.92793,-76.730078],[-148.662598,-76.720508],[-148.38418,-76.744434],[-148.320801,-76.77168],[-148.370947,-76.794922],[-148.669531,-76.802051],[-148.8146,-76.840723],[-148.983887,-76.845313],[-149.238477,-76.817773],[-149.468945,-76.757129],[-149.333252,-76.717383]]],[[[-149.218115,-77.336328],[-148.928857,-77.386816],[-149.438672,-77.370605],[-149.662354,-77.300977],[-149.518652,-77.274707],[-149.375439,-77.27998],[-149.249121,-77.315039],[-149.218115,-77.336328]]],[[[-150.23252,-76.776465],[-150.655176,-76.788965],[-150.830469,-76.761523],[-150.873535,-76.736719],[-150.837646,-76.71416],[-150.177393,-76.691309],[-150.103564,-76.718848],[-150.084766,-76.735156],[-150.23252,-76.776465]]],[[[-146.690137,-76.246387],[-146.894482,-76.260938],[-147.150928,-76.197461],[-147.34541,-76.14668],[-147.407764,-76.10459],[-147.420898,-76.090234],[-147.418066,-76.073438],[-147.360645,-76.062793],[-146.949023,-76.098145],[-146.690137,-76.246387]]],[[[-146.790039,-76.633105],[-146.907813,-76.714063],[-147.221338,-76.670898],[-147.355322,-76.618848],[-147.278613,-76.552539],[-147.135303,-76.531543],[-146.947461,-76.55498],[-146.877881,-76.563281],[-146.790039,-76.633105]]],[[[-150.39707,-77.369141],[-150.474854,-77.37373],[-151.344482,-77.296289],[-151.511621,-77.27334],[-151.218018,-77.226465],[-151.021533,-77.22002],[-150.499121,-77.335059],[-150.35625,-77.349023],[-150.39707,-77.369141]]],[[[-153.930469,-80.033301],[-154.114062,-80.036035],[-154.348828,-80.026074],[-154.529443,-80.000488],[-154.94165,-79.966309],[-155.044775,-79.899805],[-155.525342,-79.846484],[-155.751172,-79.82959],[-155.674268,-79.765527],[-155.162207,-79.850684],[-154.535107,-79.935547],[-154.025391,-79.987695],[-153.930469,-80.033301]]],[[[-149.230664,-77.120508],[-149.293457,-77.136621],[-149.728613,-77.128516],[-149.816895,-77.11416],[-149.856348,-77.099414],[-150.461816,-77.075684],[-150.735791,-77.004297],[-150.788525,-76.981641],[-150.680225,-76.948438],[-150.475781,-76.926074],[-150.393311,-76.89873],[-149.870605,-76.875],[-149.789844,-76.889258],[-149.742578,-76.927051],[-149.505762,-77.00166],[-149.441748,-77.049219],[-149.416406,-77.078906],[-149.28833,-77.093164],[-149.230664,-77.120508]]],[[[-157.9875,-82.10498],[-158.076221,-82.112012],[-158.154102,-82.058496],[-158.545312,-81.948828],[-158.773193,-81.875488],[-158.926318,-81.818652],[-158.988721,-81.779297],[-158.913721,-81.779785],[-158.346729,-81.900488],[-158.26084,-81.947266],[-157.83457,-82.030762],[-157.9875,-82.10498]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":3,"LABELRANK":6,"SOVEREIGNT":"Netherlands","SOV_A3":"NL1","ADM0_DIF":1,"LEVEL":2,"TYPE":"Country","TLC":"1","ADMIN":"Sint Maarten","ADM0_A3":"SXM","GEOU_DIF":0,"GEOUNIT":"Sint Maarten","GU_A3":"SXM","SU_DIF":0,"SUBUNIT":"Sint Maarten","SU_A3":"SXM","BRK_DIFF":0,"NAME":"Sint Maarten","NAME_LONG":"Sint Maarten","BRK_A3":"SXM","BRK_NAME":"Sint Maarten","BRK_GROUP":null,"ABBREV":"St. M.","POSTAL":"SX","FORMAL_EN":"Sint Maarten (Dutch part)","FORMAL_FR":null,"NAME_CIAWF":"Sint Maarten","NOTE_ADM0":"Neth.","NOTE_BRK":null,"NAME_SORT":"St. Maarten (Dutch part)","NAME_ALT":null,"MAPCOLOR7":4,"MAPCOLOR8":2,"MAPCOLOR9":2,"MAPCOLOR13":9,"POP_EST":40733,"POP_RANK":7,"POP_YEAR":2019,"GDP_MD":1185,"GDP_YEAR":2018,"ECONOMY":"6. Developing region","INCOME_GRP":"2. High income: nonOECD","FIPS_10":"NT","ISO_A2":"SX","ISO_A2_EH":"SX","ISO_A3":"SXM","ISO_A3_EH":"SXM","ISO_N3":"534","ISO_N3_EH":"534","UN_A3":"534","WB_A2":"SX","WB_A3":"SXM","WOE_ID":-90,"WOE_ID_EH":23425000,"WOE_NOTE":"Expired subunits of Netherlands Antilles (23424914).","ADM0_ISO":"SXM","ADM0_DIFF":null,"ADM0_TLC":"SXM","ADM0_A3_US":"SXM","ADM0_A3_FR":"SXM","ADM0_A3_RU":"SXM","ADM0_A3_ES":"SXM","ADM0_A3_CN":"SXM","ADM0_A3_TW":"SXM","ADM0_A3_IN":"SXM","ADM0_A3_NP":"SXM","ADM0_A3_PK":"SXM","ADM0_A3_DE":"SXM","ADM0_A3_GB":"SXM","ADM0_A3_BR":"SXM","ADM0_A3_IL":"SXM","ADM0_A3_PS":"SXM","ADM0_A3_SA":"SXM","ADM0_A3_EG":"SXM","ADM0_A3_MA":"SXM","ADM0_A3_PT":"SXM","ADM0_A3_AR":"SXM","ADM0_A3_JP":"SXM","ADM0_A3_KO":"SXM","ADM0_A3_VN":"SXM","ADM0_A3_TR":"SXM","ADM0_A3_ID":"SXM","ADM0_A3_PL":"SXM","ADM0_A3_GR":"SXM","ADM0_A3_IT":"SXM","ADM0_A3_NL":"SXM","ADM0_A3_SE":"SXM","ADM0_A3_BD":"SXM","ADM0_A3_UA":"SXM","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"North America","REGION_UN":"Americas","SUBREGION":"Caribbean","REGION_WB":"Latin America & Caribbean","NAME_LEN":12,"LONG_LEN":12,"ABBREV_LEN":6,"TINY":4,"HOMEPART":-99,"MIN_ZOOM":0,"MIN_LABEL":5,"MAX_LABEL":10,"LABEL_X":-63.070133,"LABEL_Y":18.04088,"NE_ID":1159321103,"WIKIDATAID":"Q26273","NAME_AR":"سينت مارتن","NAME_BN":"সিন্ট মার্টেন","NAME_DE":"Sint Maarten","NAME_EN":"Sint Maarten","NAME_ES":"San Martín","NAME_FA":"سینت مارتن","NAME_FR":"Saint-Martin","NAME_EL":"Άγιος Μαρτίνος","NAME_HE":"סנט מארטן","NAME_HI":"सिंट मार्टेन","NAME_HU":"Sint Maarten","NAME_ID":"Sint Maarten","NAME_IT":"Sint Maarten","NAME_JA":"シント・マールテン","NAME_KO":"신트마르턴","NAME_NL":"Sint Maarten","NAME_PL":"Sint Maarten","NAME_PT":"São Martinho","NAME_RU":"Синт-Мартен","NAME_SV":"Sint Maarten","NAME_TR":"Sint Maarten","NAME_UK":"Сінт-Мартен","NAME_UR":"سنٹ مارٹن","NAME_VI":"Sint Maarten","NAME_ZH":"荷属圣马丁","NAME_ZHT":"荷屬聖馬丁","FCLASS_ISO":"Admin-0 dependency","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 dependency","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[-63.124707,18.019189,-63.011182,18.068945],"geometry":{"type":"Polygon","coordinates":[[[-63.123047,18.068945],[-63.011182,18.068945],[-63.012305,18.04541],[-63.023047,18.019189],[-63.09043,18.041406],[-63.124707,18.064307],[-63.123047,18.068945]]]}},{"type":"Feature","properties":{"featurecla":"Admin-0 country","scalerank":5,"LABELRANK":6,"SOVEREIGNT":"Tuvalu","SOV_A3":"TUV","ADM0_DIF":0,"LEVEL":2,"TYPE":"Sovereign country","TLC":"1","ADMIN":"Tuvalu","ADM0_A3":"TUV","GEOU_DIF":0,"GEOUNIT":"Tuvalu","GU_A3":"TUV","SU_DIF":0,"SUBUNIT":"Tuvalu","SU_A3":"TUV","BRK_DIFF":0,"NAME":"Tuvalu","NAME_LONG":"Tuvalu","BRK_A3":"TUV","BRK_NAME":"Tuvalu","BRK_GROUP":null,"ABBREV":"Tuv.","POSTAL":"TV","FORMAL_EN":"Tuvalu","FORMAL_FR":null,"NAME_CIAWF":"Tuvalu","NOTE_ADM0":null,"NOTE_BRK":null,"NAME_SORT":"Tuvalu","NAME_ALT":null,"MAPCOLOR7":1,"MAPCOLOR8":3,"MAPCOLOR9":8,"MAPCOLOR13":5,"POP_EST":11646,"POP_RANK":6,"POP_YEAR":2019,"GDP_MD":47,"GDP_YEAR":2019,"ECONOMY":"7. Least developed region","INCOME_GRP":"3. Upper middle income","FIPS_10":"TV","ISO_A2":"TV","ISO_A2_EH":"TV","ISO_A3":"TUV","ISO_A3_EH":"TUV","ISO_N3":"798","ISO_N3_EH":"798","UN_A3":"798","WB_A2":"TV","WB_A3":"TUV","WOE_ID":23424970,"WOE_ID_EH":23424970,"WOE_NOTE":"Exact WOE match as country","ADM0_ISO":"TUV","ADM0_DIFF":null,"ADM0_TLC":"TUV","ADM0_A3_US":"TUV","ADM0_A3_FR":"TUV","ADM0_A3_RU":"TUV","ADM0_A3_ES":"TUV","ADM0_A3_CN":"TUV","ADM0_A3_TW":"TUV","ADM0_A3_IN":"TUV","ADM0_A3_NP":"TUV","ADM0_A3_PK":"TUV","ADM0_A3_DE":"TUV","ADM0_A3_GB":"TUV","ADM0_A3_BR":"TUV","ADM0_A3_IL":"TUV","ADM0_A3_PS":"TUV","ADM0_A3_SA":"TUV","ADM0_A3_EG":"TUV","ADM0_A3_MA":"TUV","ADM0_A3_PT":"TUV","ADM0_A3_AR":"TUV","ADM0_A3_JP":"TUV","ADM0_A3_KO":"TUV","ADM0_A3_VN":"TUV","ADM0_A3_TR":"TUV","ADM0_A3_ID":"TUV","ADM0_A3_PL":"TUV","ADM0_A3_GR":"TUV","ADM0_A3_IT":"TUV","ADM0_A3_NL":"TUV","ADM0_A3_SE":"TUV","ADM0_A3_BD":"TUV","ADM0_A3_UA":"TUV","ADM0_A3_UN":-99,"ADM0_A3_WB":-99,"CONTINENT":"Oceania","REGION_UN":"Oceania","SUBREGION":"Polynesia","REGION_WB":"East Asia & Pacific","NAME_LEN":6,"LONG_LEN":6,"ABBREV_LEN":4,"TINY":5,"HOMEPART":1,"MIN_ZOOM":0,"MIN_LABEL":5,"MAX_LABEL":10,"LABEL_X":179.209587,"LABEL_Y":-8.513717,"NE_ID":1159321333,"WIKIDATAID":"Q672","NAME_AR":"توفالو","NAME_BN":"টুভালু","NAME_DE":"Tuvalu","NAME_EN":"Tuvalu","NAME_ES":"Tuvalu","NAME_FA":"تووالو","NAME_FR":"Tuvalu","NAME_EL":"Τουβαλού","NAME_HE":"טובאלו","NAME_HI":"तुवालू","NAME_HU":"Tuvalu","NAME_ID":"Tuvalu","NAME_IT":"Tuvalu","NAME_JA":"ツバル","NAME_KO":"투발루","NAME_NL":"Tuvalu","NAME_PL":"Tuvalu","NAME_PT":"Tuvalu","NAME_RU":"Тувалу","NAME_SV":"Tuvalu","NAME_TR":"Tuvalu","NAME_UK":"Тувалу","NAME_UR":"تووالو","NAME_VI":"Tuvalu","NAME_ZH":"图瓦卢","NAME_ZHT":"吐瓦魯","FCLASS_ISO":"Admin-0 country","TLC_DIFF":null,"FCLASS_TLC":"Admin-0 country","FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null},"bbox":[179.195703,-8.534961,179.216602,-8.466309],"geometry":{"type":"Polygon","coordinates":[[[179.213672,-8.524219],[179.200586,-8.534961],[179.195703,-8.534766],[179.200879,-8.512109],[179.197949,-8.488672],[179.198535,-8.47002],[179.203027,-8.466309],[179.211621,-8.488086],[179.216602,-8.514844],[179.213672,-8.524219]]]}}],"bbox":[-180,-89.99892578125,180,83.599609375]} diff --git a/docs/examples/data/ne_50m_admin_1_states_provinces_lakes.geojson b/docs/examples/data/ne_50m_admin_1_states_provinces_lakes.geojson new file mode 100644 index 000000000..146cd0237 --- /dev/null +++ b/docs/examples/data/ne_50m_admin_1_states_provinces_lakes.geojson @@ -0,0 +1 @@ +{"type":"FeatureCollection","name":"ne_50m_admin_1_states_provinces_lakes","crs":{"type":"name","properties":{"name":"urn:ogc:def:crs:OGC:1.3:CRS84"}},"features":[{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"AUS-2651","diss_me":2651,"iso_3166_2":"AU-WA","wikipedia":null,"iso_a2":"AU","adm0_sr":6,"name":"Western Australia","name_alt":null,"name_local":null,"type":"State","type_en":"State","code_local":null,"code_hasc":"AU.WA","note":null,"hasc_maybe":null,"region":null,"region_cod":null,"provnum_ne":5,"gadm_level":1,"check_me":20,"datarank":3,"abbrev":"W.A.","postal":"WA","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":17,"mapcolor9":2,"mapcolor13":7,"fips":"AS08","fips_alt":null,"woe_id":2344706,"woe_label":"Western Australia, AU, Australia","woe_name":"Western Australia","latitude":-25.8483,"longitude":121.646,"sov_a3":"AU1","adm0_a3":"AUS","adm0_label":2,"admin":"Australia","geonunit":"Australia","gu_a3":"AUS","gn_id":2058645,"gn_name":"State of Western Australia","gns_id":-1608952,"gns_name":"Western Australia","gn_level":1,"gn_region":null,"gn_a1_code":"AU.08","region_sub":null,"sub_code":null,"gns_level":1,"gns_lang":"zho","gns_adm1":"AS08","gns_region":null,"min_label":3.5,"max_label":7.5,"min_zoom":2,"wikidataid":"Q3206","name_ar":"أستراليا الغربية","name_bn":"পশ্চিম অস্ট্রেলিয়া","name_de":"Western Australia","name_en":"Western Australia","name_es":"Australia Occidental","name_fr":"Australie-Occidentale","name_el":"Δυτική Αυστραλία","name_hi":"पश्चिमी ऑस्ट्रेलिया","name_hu":"Nyugat-Ausztrália","name_id":"Australia Barat","name_it":"Australia Occidentale","name_ja":"西オーストラリア州","name_ko":"웨스턴오스트레일리아","name_nl":"West-Australië","name_pl":"Australia Zachodnia","name_pt":"Austrália Ocidental","name_ru":"Западная Австралия","name_sv":"Western Australia","name_tr":"Batı Avustralya","name_vi":"Tây Úc","name_zh":"西澳大利亚州","ne_id":1159315805,"name_he":"אוסטרליה המערבית","name_uk":"Західна Австралія","name_ur":"مغربی آسٹریلیا","name_fa":"استرالیای غربی","name_zht":"西澳州","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[112.908153,-35.097803,129.00196,-13.744182],"geometry":{"type":"MultiPolygon","coordinates":[[[[113.131813,-25.951992],[113.148227,-25.973833],[113.183119,-26.053022],[113.156334,-26.094419],[112.964184,-25.783022],[112.908153,-25.569734],[112.947089,-25.531479],[112.982421,-25.520229],[113.096261,-25.814971],[113.131593,-25.88269],[113.131813,-25.951992]]],[[[115.354369,-20.746406],[115.43446,-20.667876],[115.457641,-20.716238],[115.446171,-20.787803],[115.388119,-20.866091],[115.318136,-20.850578],[115.308688,-20.811203],[115.354369,-20.746406]]],[[[124.550783,-15.270358],[124.564516,-15.310854],[124.605012,-15.356513],[124.597365,-15.401975],[124.559572,-15.4301],[124.52424,-15.421552],[124.523779,-15.382397],[124.482844,-15.340319],[124.503981,-15.292397],[124.519296,-15.267414],[124.550783,-15.270358]]],[[[125.19812,-14.474751],[125.193615,-14.5526],[125.198779,-14.579604],[125.134663,-14.641699],[125.091245,-14.591755],[125.117326,-14.492065],[125.159865,-14.456074],[125.19812,-14.474751]]],[[[129.00196,-25.999014],[129.00196,-31.692656],[128.946171,-31.702544],[128.546115,-31.88773],[128.067771,-32.066609],[127.678063,-32.151204],[127.319865,-32.264143],[127.084055,-32.296773],[126.779184,-32.310945],[126.136594,-32.256958],[125.917219,-32.296992],[125.567568,-32.505799],[125.463615,-32.556643],[125.26652,-32.614475],[124.758688,-32.882674],[124.52468,-32.940044],[124.373266,-32.958501],[124.243671,-33.015191],[124.125986,-33.129273],[123.967145,-33.446294],[123.868356,-33.596367],[123.650344,-33.836221],[123.506796,-33.916333],[123.36549,-33.905303],[123.207529,-33.988316],[123.067585,-33.900579],[122.955766,-33.883704],[122.777568,-33.890889],[122.150929,-33.9917],[122.061171,-33.874475],[121.946408,-33.8567],[121.729736,-33.862544],[121.405068,-33.826773],[120.814662,-33.871333],[120.53049,-33.919695],[120.418429,-33.963113],[120.209404,-33.93545],[119.854128,-33.974825],[119.729037,-34.041424],[119.635214,-34.101277],[119.45049,-34.368355],[119.24777,-34.456553],[119.081261,-34.459475],[118.895417,-34.479954],[118.520102,-34.737122],[118.13558,-34.986643],[118.006447,-35.013208],[117.863119,-35.055044],[117.675451,-35.074842],[117.581869,-35.097803],[117.14402,-35.033665],[116.865451,-35.02648],[116.517162,-34.988006],[116.217016,-34.865816],[115.98661,-34.794954],[115.726278,-34.526075],[115.564955,-34.425725],[115.277641,-34.303997],[115.194826,-34.308501],[115.128007,-34.34179],[115.008761,-34.255855],[115.005619,-34.145157],[114.973429,-34.051092],[114.975692,-33.804273],[114.993908,-33.515376],[115.098981,-33.580174],[115.181554,-33.643389],[115.358852,-33.640027],[115.515231,-33.53135],[115.604572,-33.372268],[115.68308,-33.192949],[115.670929,-33.002139],[115.618502,-32.666902],[115.654296,-32.596699],[115.707843,-32.567893],[115.725377,-32.401165],[115.73799,-31.887949],[115.698395,-31.694458],[115.454477,-31.302488],[115.294296,-30.961846],[115.17683,-30.807949],[115.077843,-30.560449],[114.994589,-30.216204],[114.968947,-30.042268],[114.942162,-29.721643],[114.971408,-29.539841],[114.959037,-29.433648],[114.856886,-29.142949],[114.628502,-28.871829],[114.590709,-28.771699],[114.59183,-28.666165],[114.537382,-28.542876],[114.353559,-28.294915],[114.165231,-28.080725],[114.133502,-27.976553],[114.098412,-27.544329],[114.028209,-27.347234],[113.709386,-26.84773],[113.332951,-26.417307],[113.231041,-26.24135],[113.184679,-26.182178],[113.210783,-26.17429],[113.25308,-26.197251],[113.300102,-26.24023],[113.323283,-26.243833],[113.345343,-26.208281],[113.34286,-26.126147],[113.356132,-26.080466],[113.388981,-26.105449],[113.427455,-26.198152],[113.546481,-26.436643],[113.581593,-26.558152],[113.733688,-26.595044],[113.78049,-26.563315],[113.83652,-26.50054],[113.852714,-26.332251],[113.775766,-26.255984],[113.706464,-26.223574],[113.58902,-26.098704],[113.513412,-25.898225],[113.395287,-25.713281],[113.397309,-25.647122],[113.451317,-25.599199],[113.539516,-25.625303],[113.621188,-25.731716],[113.71299,-25.830725],[113.697916,-26.004199],[113.683502,-26.051682],[113.69161,-26.091716],[113.723778,-26.129751],[113.765856,-26.159678],[113.811757,-26.115798],[113.853834,-26.014548],[113.879938,-26.0276],[113.942494,-26.258665],[113.991977,-26.32144],[114.090304,-26.393665],[114.176041,-26.337415],[114.215636,-26.289492],[114.203266,-26.126367],[114.228468,-25.968647],[114.214296,-25.851643],[113.992658,-25.544751],[113.792421,-25.165613],[113.670912,-24.977065],[113.569201,-24.692893],[113.503502,-24.594565],[113.417787,-24.435725],[113.413063,-24.253923],[113.421391,-24.132414],[113.489791,-23.869622],[113.553007,-23.73282],[113.757089,-23.418281],[113.766977,-23.2826],[113.764735,-23.180449],[113.794882,-23.02363],[113.795102,-22.914492],[113.767877,-22.812803],[113.682843,-22.637746],[113.795102,-22.332195],[113.958468,-21.939126],[114.022804,-21.881514],[114.123834,-21.828647],[114.142511,-21.90988],[114.092787,-22.18144],[114.163891,-22.323428],[114.14161,-22.483169],[114.205287,-22.455945],[114.303615,-22.425359],[114.377641,-22.341423],[114.417016,-22.261091],[114.60286,-21.942268],[114.709296,-21.823484],[114.859127,-21.735945],[115.161757,-21.630652],[115.456059,-21.491609],[115.596002,-21.358169],[115.77152,-21.242307],[115.893468,-21.116755],[116.010912,-21.030359],[116.605822,-20.713315],[116.70683,-20.653923],[116.836447,-20.647178],[116.995287,-20.657527],[117.139054,-20.640871],[117.292731,-20.713096],[117.406132,-20.721203],[117.683778,-20.642673],[117.832292,-20.57247],[118.087218,-20.419013],[118.199257,-20.375156],[118.458227,-20.326772],[118.751408,-20.261975],[119.104443,-19.995359],[119.358688,-20.012234],[119.585929,-20.038315],[119.767731,-19.958445],[120.196352,-19.909402],[120.433744,-19.841902],[120.878339,-19.665044],[120.998046,-19.604289],[121.179826,-19.477859],[121.337787,-19.319897],[121.493486,-19.106367],[121.589572,-18.915117],[121.630727,-18.81657],[121.722089,-18.65997],[121.784865,-18.536001],[121.833688,-18.477048],[122.006262,-18.393574],[122.262089,-18.159126],[122.345344,-18.111862],[122.360856,-18.036958],[122.305727,-17.99488],[122.237326,-17.968557],[122.191205,-17.720376],[122.147568,-17.548923],[122.143063,-17.428315],[122.160158,-17.313574],[122.260969,-17.135815],[122.332731,-17.059328],[122.43196,-16.970449],[122.522641,-16.942763],[122.598007,-16.864914],[122.720417,-16.787746],[122.772162,-16.710117],[122.84799,-16.552397],[122.91683,-16.43269],[122.970619,-16.436755],[123.07433,-16.715302],[123.142072,-16.863112],[123.265822,-17.036828],[123.383266,-17.292876],[123.478891,-17.40988],[123.525231,-17.485708],[123.563046,-17.520798],[123.571594,-17.472194],[123.561904,-17.415505],[123.607805,-17.21997],[123.586447,-17.082729],[123.593632,-17.030302],[123.617714,-17.008242],[123.664055,-17.023315],[123.753835,-17.099824],[123.799055,-17.127048],[123.831003,-17.120742],[123.829443,-16.996772],[123.874443,-16.918703],[123.856447,-16.864694],[123.778137,-16.867859],[123.745068,-16.801018],[123.68049,-16.72363],[123.607145,-16.668039],[123.518046,-16.540708],[123.490361,-16.490742],[123.525012,-16.467583],[123.581262,-16.470944],[123.626042,-16.416276],[123.64652,-16.343151],[123.607145,-16.224126],[123.647421,-16.179807],[123.728852,-16.192397],[123.859128,-16.382307],[123.915158,-16.36363],[123.961279,-16.286901],[124.044313,-16.264841],[124.129809,-16.278794],[124.186059,-16.333703],[124.300361,-16.388371],[124.452697,-16.382065],[124.530085,-16.395117],[124.692309,-16.38613],[124.77196,-16.402544],[124.757106,-16.373298],[124.669128,-16.338647],[124.570361,-16.331901],[124.454477,-16.335263],[124.404995,-16.298833],[124.388339,-16.202966],[124.416464,-16.133444],[124.43446,-16.103737],[124.510068,-16.11635],[124.576887,-16.113647],[124.584995,-16.020044],[124.608615,-15.93747],[124.64843,-15.87019],[124.64843,-15.805393],[124.606594,-15.822729],[124.504201,-15.972583],[124.455158,-15.850612],[124.381594,-15.758151],[124.396667,-15.625854],[124.439645,-15.493557],[124.505563,-15.475319],[124.561594,-15.496237],[124.644387,-15.41885],[124.690969,-15.359677],[124.680158,-15.311074],[124.692529,-15.27372],[124.75058,-15.28519],[124.971977,-15.404216],[125.016318,-15.466552],[125.062878,-15.442251],[125.077951,-15.374531],[125.073007,-15.306789],[125.023964,-15.316919],[124.909201,-15.310173],[124.882658,-15.271919],[124.892788,-15.240432],[124.83902,-15.160781],[124.914167,-15.109914],[124.978745,-15.106552],[125.023283,-15.071901],[125.023964,-15.024419],[125.038137,-15.004182],[125.073007,-15.032307],[125.188671,-15.045358],[125.302292,-15.106772],[125.35562,-15.119824],[125.375637,-15.086755],[125.383745,-15.015651],[125.243339,-14.944548],[125.239516,-14.874565],[125.180344,-14.794013],[125.178762,-14.714824],[125.26652,-14.648444],[125.284516,-14.584108],[125.335361,-14.558005],[125.43593,-14.556862],[125.503671,-14.502194],[125.579719,-14.483298],[125.598395,-14.361569],[125.597033,-14.278095],[125.627641,-14.256716],[125.704589,-14.291367],[125.681188,-14.387893],[125.680969,-14.480156],[125.661611,-14.529419],[125.690637,-14.525376],[125.708413,-14.504897],[125.738559,-14.444362],[125.819572,-14.469126],[125.839589,-14.533923],[125.850158,-14.59738],[125.890654,-14.618078],[125.946003,-14.520432],[126.02071,-14.494548],[126.016667,-14.371237],[126.044792,-14.283039],[126.053559,-14.216682],[126.100822,-14.184272],[126.111391,-14.114069],[126.073356,-14.065466],[126.05402,-13.977268],[126.119038,-13.95769],[126.184296,-14.002031],[126.228154,-14.113388],[126.258542,-14.163574],[126.298818,-14.13613],[126.32312,-14.062104],[126.40321,-14.018906],[126.482421,-14.078979],[126.569719,-14.160871],[126.679055,-14.089328],[126.780766,-13.955229],[126.764572,-13.873095],[126.775581,-13.788501],[126.903154,-13.744182],[127.005986,-13.776789],[127.099128,-13.86747],[127.293081,-13.934751],[127.457568,-14.031496],[127.531132,-14.094733],[127.672878,-14.195083],[127.763559,-14.299475],[127.887529,-14.4851],[128.18049,-14.711682],[128.199387,-14.751716],[128.159792,-14.827324],[128.12446,-14.924069],[128.080361,-15.087876],[128.069331,-15.329289],[128.111628,-15.311975],[128.155507,-15.225578],[128.20187,-15.243354],[128.254736,-15.298483],[128.259021,-15.245595],[128.227292,-15.213647],[128.173064,-15.102268],[128.175085,-15.043095],[128.218283,-14.995612],[128.285102,-14.938923],[128.358227,-14.901569],[128.403227,-14.869182],[128.409753,-14.828906],[128.477495,-14.787949],[128.575822,-14.774458],[128.635434,-14.780983],[129.00196,-14.870742],[129.00196,-25.999014]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"AUS-2650","diss_me":2650,"iso_3166_2":"AU-NT","wikipedia":null,"iso_a2":"AU","adm0_sr":6,"name":"Northern Territory","name_alt":null,"name_local":null,"type":"Territory","type_en":"Territory","code_local":null,"code_hasc":"AU.NT","note":null,"hasc_maybe":null,"region":null,"region_cod":null,"provnum_ne":7,"gadm_level":1,"check_me":20,"datarank":3,"abbrev":"N.T.","postal":"NT","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":18,"mapcolor9":2,"mapcolor13":7,"fips":"AS03","fips_alt":null,"woe_id":2344701,"woe_label":"Northern Territory, AU, Australia","woe_name":"Northern Territory","latitude":-20.1026,"longitude":133.78,"sov_a3":"AU1","adm0_a3":"AUS","adm0_label":2,"admin":"Australia","geonunit":"Australia","gu_a3":"AUS","gn_id":2064513,"gn_name":"Northern Territory","gns_id":-1592100,"gns_name":"Northern Territory","gn_level":1,"gn_region":null,"gn_a1_code":"AU.03","region_sub":null,"sub_code":null,"gns_level":1,"gns_lang":"zho","gns_adm1":"AS03","gns_region":null,"min_label":3.5,"max_label":7.5,"min_zoom":2,"wikidataid":"Q3235","name_ar":"إقليم شمالي","name_bn":"উত্তর অঞ্চল","name_de":"Northern Territory","name_en":"Northern Territory","name_es":"Territorio del Norte","name_fr":"Territoire du Nord","name_el":"Βόρεια Επικράτεια","name_hi":"नॉर्थर्न टेरिटरी","name_hu":"Északi terület","name_id":"Wilayah Utara","name_it":"Territorio del Nord","name_ja":"ノーザンテリトリー","name_ko":"노던 준","name_nl":"Noordelijk Territorium","name_pl":"Terytorium Północne","name_pt":"Território do Norte","name_ru":"Северная территория","name_sv":"Northern Territory","name_tr":"Kuzey Toprakları","name_vi":"Lãnh thổ Bắc Úc","name_zh":"北领地","ne_id":1159315809,"name_he":"הטריטוריה הצפונית","name_uk":"Північна територія","name_ur":"شمالی علاقہ","name_fa":"قلمرو شمالی","name_zht":"北領地","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[129.00196,-25.999014,138.002422,-10.968793],"geometry":{"type":"MultiPolygon","coordinates":[[[[129.00196,-25.999014],[129.00196,-14.870742],[129.05821,-14.884475],[129.165085,-14.987526],[129.175214,-15.1151],[129.21571,-15.160319],[129.23799,-15.080229],[129.233486,-14.906074],[129.267697,-14.871423],[129.381318,-14.898427],[129.458947,-14.933298],[129.567163,-15.04738],[129.587641,-15.103388],[129.634663,-15.139841],[129.650197,-15.086755],[129.628137,-15.011828],[129.612602,-14.925871],[129.637146,-14.850944],[129.763357,-14.8451],[129.848632,-14.828906],[129.808357,-14.799638],[129.753469,-14.789531],[129.663007,-14.720888],[129.604736,-14.647104],[129.698559,-14.575319],[129.697878,-14.557324],[129.607878,-14.559565],[129.483908,-14.489824],[129.378615,-14.392397],[129.459167,-14.213518],[129.619589,-14.038483],[129.709809,-13.97997],[129.718357,-13.920798],[129.761796,-13.811901],[129.78924,-13.71988],[129.797107,-13.648315],[129.838964,-13.572949],[129.937951,-13.501625],[130.072732,-13.476203],[130.135969,-13.448298],[130.199404,-13.3826],[130.259719,-13.302268],[130.135068,-13.145449],[130.145417,-13.059272],[130.168137,-12.957341],[130.31799,-12.882875],[130.399882,-12.687802],[130.454111,-12.658557],[130.571797,-12.664401],[130.617456,-12.646845],[130.609589,-12.491367],[130.622641,-12.431074],[130.672365,-12.406992],[130.736042,-12.42769],[130.776538,-12.49519],[130.867439,-12.557746],[130.898266,-12.523557],[130.882951,-12.455156],[130.873745,-12.367177],[130.956538,-12.348281],[131.023357,-12.342875],[131.030102,-12.271091],[131.019533,-12.21394],[131.045637,-12.189638],[131.220012,-12.177949],[131.265451,-12.118996],[131.291555,-12.067932],[131.313835,-12.095815],[131.34218,-12.210117],[131.438266,-12.276957],[131.726262,-12.278078],[131.888047,-12.231957],[131.956667,-12.259182],[132.063982,-12.280781],[132.182326,-12.226992],[132.25321,-12.186057],[132.372016,-12.239143],[132.41093,-12.295173],[132.441538,-12.176367],[132.51062,-12.13497],[132.583745,-12.110229],[132.676447,-12.130026],[132.712878,-12.1235],[132.630547,-12.035082],[132.635271,-11.95475],[132.629865,-11.835725],[132.644719,-11.727048],[132.674184,-11.648979],[132.475288,-11.491479],[132.277951,-11.467617],[132.133503,-11.500707],[132.072771,-11.474824],[131.944736,-11.348591],[131.822568,-11.30247],[131.811758,-11.271423],[131.961611,-11.180742],[132.018542,-11.196496],[132.10584,-11.281091],[132.155564,-11.311018],[132.197861,-11.304953],[132.225085,-11.238793],[132.262658,-11.203923],[132.333982,-11.2235],[132.557422,-11.366828],[132.682732,-11.505651],[132.74709,-11.468979],[132.857107,-11.39113],[132.961059,-11.407324],[133.024956,-11.452763],[133.114297,-11.621755],[133.185158,-11.705668],[133.356172,-11.728168],[133.443227,-11.760358],[133.533227,-11.816147],[133.654516,-11.811423],[133.904258,-11.832121],[134.139387,-11.940117],[134.237033,-12.007617],[134.351116,-12.025854],[134.417495,-12.052617],[134.538081,-12.060725],[134.730232,-11.984457],[134.816408,-12.054638],[134.854663,-12.102582],[135.029719,-12.193703],[135.218047,-12.221608],[135.352366,-12.129125],[135.548779,-12.060725],[135.685581,-11.956091],[135.788413,-11.907048],[135.885159,-11.821772],[135.922512,-11.825815],[135.843542,-11.905466],[135.834094,-11.950707],[135.895727,-11.969604],[135.889443,-11.992763],[135.804387,-12.05488],[135.702456,-12.151625],[135.704477,-12.209897],[135.743852,-12.241625],[135.790896,-12.227453],[135.857495,-12.17863],[135.937805,-12.152065],[136.008469,-12.19144],[136.031409,-12.330944],[136.081814,-12.422526],[136.192732,-12.435117],[136.260693,-12.433776],[136.328413,-12.305522],[136.29196,-12.196406],[136.249883,-12.173005],[136.270141,-12.131608],[136.443396,-11.951367],[136.540141,-11.957673],[136.609663,-12.13363],[136.71946,-12.226552],[136.836465,-12.219125],[136.897439,-12.243647],[136.947383,-12.349841],[136.536977,-12.784328],[136.517861,-12.83269],[136.572991,-12.911682],[136.59437,-13.003923],[136.46093,-13.2251],[136.411887,-13.23613],[136.364646,-13.176276],[136.294202,-13.138022],[136.232327,-13.165026],[136.166189,-13.181],[135.927236,-13.304289],[135.929258,-13.621552],[135.989573,-13.8101],[135.95446,-13.93497],[135.883357,-14.153225],[135.806409,-14.234216],[135.744534,-14.286643],[135.538891,-14.584987],[135.473193,-14.656552],[135.405232,-14.758242],[135.427951,-14.855669],[135.453396,-14.923169],[135.530784,-15.000358],[135.832512,-15.1601],[135.969534,-15.270117],[136.205344,-15.403315],[136.259331,-15.495117],[136.291521,-15.570044],[136.461831,-15.655319],[136.583559,-15.706626],[136.618672,-15.693354],[136.644094,-15.675578],[136.67468,-15.675358],[136.704827,-15.685246],[136.700102,-15.751845],[136.686611,-15.788518],[136.698081,-15.83488],[136.784719,-15.894272],[136.922641,-15.89247],[137.002073,-15.878298],[137.089809,-15.941294],[137.169021,-15.982251],[137.299297,-16.066406],[137.526318,-16.166975],[137.703616,-16.232893],[137.912861,-16.476569],[138.002422,-16.555781],[138.001741,-16.556682],[138.00196,-25.999014],[129.00196,-25.999014]]],[[[137.064607,-15.662966],[137.071133,-15.738112],[137.093633,-15.778169],[137.050896,-15.824531],[136.996448,-15.775708],[136.984956,-15.725983],[136.942659,-15.711789],[136.963357,-15.665669],[136.985637,-15.652397],[137.009477,-15.594807],[137.064607,-15.662966]]],[[[136.586042,-15.533591],[136.612366,-15.544182],[136.590986,-15.628315],[136.531133,-15.63238],[136.514258,-15.627414],[136.502788,-15.583095],[136.522585,-15.543281],[136.586042,-15.533591]]],[[[136.845693,-15.54394],[136.87696,-15.502544],[136.890232,-15.58894],[136.862788,-15.619987],[136.846814,-15.627414],[136.845693,-15.54394]]],[[[136.933891,-14.179108],[136.950766,-14.184272],[136.931409,-14.245927],[136.894297,-14.292949],[136.76312,-14.273371],[136.649719,-14.280578],[136.460491,-14.234677],[136.363284,-14.228833],[136.335378,-14.211716],[136.39209,-14.175505],[136.427641,-14.12644],[136.411206,-14.011018],[136.424719,-13.864768],[136.533835,-13.793664],[136.582878,-13.721001],[136.655564,-13.676001],[136.701904,-13.681626],[136.696059,-13.726164],[136.714736,-13.803793],[136.757934,-13.845432],[136.804516,-13.842487],[136.845232,-13.750927],[136.870654,-13.763737],[136.890913,-13.786699],[136.905547,-13.826975],[136.842991,-13.896496],[136.814866,-13.907307],[136.788081,-13.945781],[136.745344,-14.072673],[136.749827,-14.11519],[136.78696,-14.157729],[136.885508,-14.197324],[136.933891,-14.179108]]],[[[136.215452,-13.664751],[136.257309,-13.706608],[136.275305,-13.791203],[136.237512,-13.824492],[136.213672,-13.835983],[136.122771,-13.816626],[136.122309,-13.780612],[136.13446,-13.753168],[136.159663,-13.736755],[136.215452,-13.664751]]],[[[136.449241,-11.487194],[136.479387,-11.465815],[136.47062,-11.509255],[136.379477,-11.583281],[136.338762,-11.602397],[136.180361,-11.676643],[136.267439,-11.576513],[136.449241,-11.487194]]],[[[130.579882,-11.737177],[130.602844,-11.773168],[130.606206,-11.816608],[130.502495,-11.835725],[130.317529,-11.771828],[130.131245,-11.824475],[130.076555,-11.825375],[130.043266,-11.787341],[130.072072,-11.680707],[130.139111,-11.697121],[130.197602,-11.658207],[130.187033,-11.541203],[130.152844,-11.477526],[130.251172,-11.360522],[130.294809,-11.336901],[130.33937,-11.337121],[130.376701,-11.420156],[130.38571,-11.509914],[130.432732,-11.592268],[130.459297,-11.679345],[130.54187,-11.703207],[130.579882,-11.737177]]],[[[131.473357,-11.382582],[131.52218,-11.41519],[131.538615,-11.437031],[131.467951,-11.509475],[131.458503,-11.588005],[131.382917,-11.5826],[131.292016,-11.710854],[130.950913,-11.926406],[130.644922,-11.742341],[130.511943,-11.617932],[130.422844,-11.445798],[130.404826,-11.304953],[130.368615,-11.214953],[130.384589,-11.192233],[130.403047,-11.180522],[130.426667,-11.183005],[130.519128,-11.279531],[130.559865,-11.306074],[130.618818,-11.376057],[130.752236,-11.384362],[130.912878,-11.309216],[130.987365,-11.339824],[131.023137,-11.334418],[131.140581,-11.263095],[131.21709,-11.242617],[131.268154,-11.18975],[131.320581,-11.246901],[131.436904,-11.313281],[131.473357,-11.382582]]],[[[136.731831,-11.024604],[136.780215,-11.012453],[136.741521,-11.194694],[136.598633,-11.378979],[136.526628,-11.438832],[136.521684,-11.393832],[136.559719,-11.357819],[136.649038,-11.211569],[136.687952,-11.1776],[136.710452,-11.158483],[136.727327,-11.104694],[136.731831,-11.024604]]],[[[132.593193,-10.9976],[132.596797,-11.106496],[132.629184,-11.169052],[132.593413,-11.302932],[132.573615,-11.318444],[132.493745,-11.163647],[132.516245,-11.115944],[132.483835,-11.037194],[132.537844,-11.028427],[132.578779,-10.968793],[132.593193,-10.9976]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"AUS-2655","diss_me":2655,"iso_3166_2":"AU-SA","wikipedia":null,"iso_a2":"AU","adm0_sr":3,"name":"South Australia","name_alt":null,"name_local":null,"type":"State","type_en":"State","code_local":null,"code_hasc":"AU.SA","note":null,"hasc_maybe":null,"region":null,"region_cod":null,"provnum_ne":6,"gadm_level":1,"check_me":20,"datarank":3,"abbrev":"S.A.","postal":"SA","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":15,"mapcolor9":2,"mapcolor13":7,"fips":"AS05","fips_alt":null,"woe_id":2344703,"woe_label":"South Australia, AU, Australia","woe_name":"South Australia","latitude":-29.6504,"longitude":135.783,"sov_a3":"AU1","adm0_a3":"AUS","adm0_label":2,"admin":"Australia","geonunit":"Australia","gu_a3":"AUS","gn_id":2061327,"gn_name":"State of South Australia","gns_id":-1601186,"gns_name":"South Australia","gn_level":1,"gn_region":null,"gn_a1_code":"AU.05","region_sub":null,"sub_code":null,"gns_level":1,"gns_lang":"zho","gns_adm1":"AS05","gns_region":null,"min_label":3.5,"max_label":7.5,"min_zoom":2,"wikidataid":"Q35715","name_ar":"جنوب أستراليا","name_bn":"দক্ষিণ অস্ট্রেলিয়া","name_de":"South Australia","name_en":"South Australia","name_es":"Australia Meridional","name_fr":"Australie-Méridionale","name_el":"Νότια Αυστραλία","name_hi":"दक्षिण ऑस्ट्रेलिया","name_hu":"Dél-Ausztrália","name_id":"Australia Selatan","name_it":"Australia Meridionale","name_ja":"南オーストラリア州","name_ko":"사우스오스트레일리아","name_nl":"Zuid-Australië","name_pl":"Australia Południowa","name_pt":"Austrália Meridional","name_ru":"Южная Австралия","name_sv":"South Australia","name_tr":"Güney Avustralya","name_vi":"Nam Úc","name_zh":"南澳大利亚州","ne_id":1159313267,"name_he":"אוסטרליה הדרומית","name_uk":"Південна Австралія","name_ur":"جنوبی آسٹریلیا","name_fa":"استرالیای جنوبی","name_zht":"南澳州","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[129.00196,-38.071407,141.025728,-25.999014],"geometry":{"type":"MultiPolygon","coordinates":[[[[129.00196,-31.692656],[129.00196,-25.999014],[138.00196,-25.999014],[141.002107,-25.999014],[141.002107,-28.998941],[141.025728,-34.043225],[140.996943,-34.01554],[140.968137,-34.005191],[140.966335,-38.071407],[140.627253,-38.028428],[140.390344,-37.89657],[140.212146,-37.642105],[139.874866,-37.352066],[139.784185,-37.245872],[139.742327,-37.1417],[139.738503,-37.059566],[139.783965,-36.902747],[139.846521,-36.74795],[139.85731,-36.661993],[139.729055,-36.371294],[139.548835,-36.09657],[139.465823,-36.010393],[139.244866,-35.827251],[139.037642,-35.689329],[138.984995,-35.617544],[138.969021,-35.580872],[139.066887,-35.598428],[139.112568,-35.542398],[139.178047,-35.52304],[139.230452,-35.597747],[139.289404,-35.611238],[139.292107,-35.485928],[139.325198,-35.426756],[139.302456,-35.399532],[139.282439,-35.37545],[139.192659,-35.347325],[139.093672,-35.389622],[139.017603,-35.443169],[138.915232,-35.48885],[138.875198,-35.536773],[138.771003,-35.538355],[138.729607,-35.550725],[138.521943,-35.642307],[138.389185,-35.644768],[138.184443,-35.6126],[138.252163,-35.486609],[138.332935,-35.411682],[138.399753,-35.325725],[138.511133,-35.024458],[138.489995,-34.763665],[138.436206,-34.65635],[138.264314,-34.440359],[138.186245,-34.307139],[138.089258,-34.169898],[138.041335,-34.249768],[138.012309,-34.334143],[137.919167,-34.456092],[137.874167,-34.727454],[137.691684,-35.143023],[137.566352,-35.147967],[137.459477,-35.131333],[137.272292,-35.178794],[137.144477,-35.236407],[137.029956,-35.236626],[136.966521,-35.254842],[136.883486,-35.239768],[137.014202,-34.915782],[137.128503,-34.924768],[137.252034,-34.911497],[137.308284,-34.916902],[137.391077,-34.913299],[137.454314,-34.764346],[137.493008,-34.597859],[137.468486,-34.490303],[137.459038,-34.378924],[137.483559,-34.252251],[137.493909,-34.161131],[137.650288,-33.859182],[137.780784,-33.703023],[137.931758,-33.579053],[137.913982,-33.461367],[137.866059,-33.313997],[137.852327,-33.200816],[137.924331,-33.165044],[137.992512,-33.094182],[137.913081,-32.770613],[137.863137,-32.673648],[137.783267,-32.578023],[137.781904,-32.701992],[137.790913,-32.823282],[137.680215,-32.978079],[137.536206,-33.089217],[137.442383,-33.193631],[137.354184,-33.4301],[137.237422,-33.629458],[137.130305,-33.703023],[137.03446,-33.719458],[136.936594,-33.750264],[136.783577,-33.829695],[136.635547,-33.896514],[136.525969,-33.984273],[136.430564,-34.029954],[136.121189,-34.428648],[135.979663,-34.561846],[135.950637,-34.615613],[135.891003,-34.660855],[135.902715,-34.72385],[135.950637,-34.766829],[135.998559,-34.943665],[135.969753,-34.981919],[135.919128,-34.961902],[135.792456,-34.863355],[135.712585,-34.899126],[135.647568,-34.939622],[135.48084,-34.758282],[135.411758,-34.715523],[135.324241,-34.642618],[135.230637,-34.579842],[135.190823,-34.572657],[135.123081,-34.585708],[135.129607,-34.536424],[135.175969,-34.496609],[135.216684,-34.487381],[135.292512,-34.545652],[135.378689,-34.597618],[135.427292,-34.601902],[135.450012,-34.580984],[135.367878,-34.37554],[135.31209,-34.19554],[135.286448,-34.142234],[135.218948,-33.959751],[135.185417,-33.906643],[135.04209,-33.77773],[134.888852,-33.626294],[134.846797,-33.444734],[134.790986,-33.328389],[134.718982,-33.255264],[134.607602,-33.190247],[134.301172,-33.165044],[134.173576,-32.979199],[134.100451,-32.748574],[134.158283,-32.733501],[134.227146,-32.730579],[134.249184,-32.658574],[134.234111,-32.548557],[133.930141,-32.411756],[133.786814,-32.268867],[133.665305,-32.207234],[133.551465,-32.182932],[133.40049,-32.188557],[133.212163,-32.183833],[132.757439,-31.95635],[132.648542,-31.949363],[132.323633,-32.020027],[132.214736,-32.007195],[131.721076,-31.696238],[131.393266,-31.548648],[131.285029,-31.520984],[131.143745,-31.495781],[131.029201,-31.531773],[130.94821,-31.565742],[130.783064,-31.603997],[130.129882,-31.579014],[129.568964,-31.627178],[129.187585,-31.660027],[129.00196,-31.692656]]],[[[137.928835,-35.726001],[138.046521,-35.755247],[138.123469,-35.852454],[138.066538,-35.900596],[138.01187,-35.907583],[137.835452,-35.867747],[137.670986,-35.897893],[137.622163,-35.938169],[137.590215,-36.027049],[137.448469,-36.074751],[137.382309,-36.020984],[137.209516,-35.982488],[137.147861,-36.03898],[137.025913,-36.023907],[136.912732,-36.046626],[136.755012,-36.033113],[136.589184,-35.935247],[136.540581,-35.890247],[136.579055,-35.808575],[136.638689,-35.748721],[137.091831,-35.663907],[137.334167,-35.592583],[137.530361,-35.605174],[137.585029,-35.620247],[137.635434,-35.65648],[137.598081,-35.722178],[137.596521,-35.738592],[137.835913,-35.761993],[137.928835,-35.726001]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"AUS-2657","diss_me":2657,"iso_3166_2":"AU-QLD","wikipedia":null,"iso_a2":"AU","adm0_sr":5,"name":"Queensland","name_alt":null,"name_local":null,"type":"State","type_en":"State","code_local":null,"code_hasc":"AU.QL","note":null,"hasc_maybe":null,"region":null,"region_cod":null,"provnum_ne":8,"gadm_level":1,"check_me":20,"datarank":3,"abbrev":"Qld.","postal":"QL","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":10,"mapcolor9":2,"mapcolor13":7,"fips":"AS04","fips_alt":null,"woe_id":2344702,"woe_label":"Queensland, AU, Australia","woe_name":"Queensland","latitude":-23.1364,"longitude":144.778,"sov_a3":"AU1","adm0_a3":"AUS","adm0_label":2,"admin":"Australia","geonunit":"Australia","gu_a3":"AUS","gn_id":2152274,"gn_name":"State of Queensland","gns_id":-1596531,"gns_name":"Queensland","gn_level":1,"gn_region":null,"gn_a1_code":"AU.04","region_sub":null,"sub_code":null,"gns_level":1,"gns_lang":"zho","gns_adm1":"AS04","gns_region":null,"min_label":3.5,"max_label":7.5,"min_zoom":2,"wikidataid":"Q36074","name_ar":"كوينزلاند","name_bn":"কুইন্সল্যান্ড","name_de":"Queensland","name_en":"Queensland","name_es":"Queensland","name_fr":"Queensland","name_el":"Κουίνσλαντ","name_hi":"क्वीन्सलैण्ड","name_hu":"Queensland","name_id":"Queensland","name_it":"Queensland","name_ja":"クイーンズランド州","name_ko":"퀸즐랜드","name_nl":"Queensland","name_pl":"Queensland","name_pt":"Queensland","name_ru":"Квинсленд","name_sv":"Queensland","name_tr":"Queensland","name_vi":"Queensland","name_zh":"昆士兰州","ne_id":1159315807,"name_he":"קווינסלנד","name_uk":"Квінсленд","name_ur":"کوئنزلینڈ","name_fa":"کوئینزلند","name_zht":"昆士蘭州","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[138.001741,-29.139346,153.538672,-10.051699],"geometry":{"type":"MultiPolygon","coordinates":[[[[138.00196,-25.999014],[138.001741,-16.556682],[138.002422,-16.555781],[138.071482,-16.616975],[138.244956,-16.718444],[138.505727,-16.789548],[138.625654,-16.777859],[138.820288,-16.860652],[139.009956,-16.899345],[139.110305,-17.014109],[139.144517,-17.101164],[139.154185,-17.167763],[139.248469,-17.328647],[139.44062,-17.380612],[139.68968,-17.540815],[139.894443,-17.611237],[139.945969,-17.653557],[140.035728,-17.7026],[140.209663,-17.704402],[140.511172,-17.624531],[140.648413,-17.543737],[140.830435,-17.414362],[140.91571,-17.192527],[140.966116,-17.014548],[141.219241,-16.64622],[141.291465,-16.463518],[141.355581,-16.221203],[141.411831,-16.069548],[141.393154,-15.904621],[141.451668,-15.605376],[141.581482,-15.195432],[141.625581,-15.056608],[141.603543,-14.852746],[141.522991,-14.470026],[141.558982,-14.337949],[141.594314,-14.152763],[141.535361,-14.018664],[141.480693,-13.926643],[141.472586,-13.797487],[141.534241,-13.553833],[141.588689,-13.425117],[141.645378,-13.259069],[141.613672,-12.943388],[141.734478,-12.833591],[141.78218,-12.778703],[141.875784,-12.778242],[141.920344,-12.803005],[141.929793,-12.739768],[141.892878,-12.681276],[141.878267,-12.613315],[141.852163,-12.578664],[141.794573,-12.566513],[141.746628,-12.529401],[141.677788,-12.491367],[141.688577,-12.350983],[141.805823,-12.080082],[141.87062,-11.975668],[141.912918,-12.019328],[141.96106,-12.054199],[141.967805,-11.97635],[141.951611,-11.896237],[142.040491,-11.631643],[142.139038,-11.273225],[142.168284,-10.946513],[142.326465,-10.884199],[142.406797,-10.802307],[142.456521,-10.707341],[142.544939,-10.707341],[142.605012,-10.748298],[142.565418,-10.819401],[142.552805,-10.874531],[142.723137,-11.010432],[142.779607,-11.115263],[142.803228,-11.214052],[142.836758,-11.306975],[142.852952,-11.432307],[142.850491,-11.632324],[142.872529,-11.821332],[142.933965,-11.880725],[142.988413,-11.918979],[143.066482,-11.924143],[143.178982,-11.954531],[143.152879,-12.075798],[143.104736,-12.169621],[143.099111,-12.225871],[143.110361,-12.3035],[143.190693,-12.361332],[143.254129,-12.397543],[143.28968,-12.498793],[143.401521,-12.63988],[143.397456,-12.736164],[143.457771,-12.855871],[143.511978,-13.094604],[143.529534,-13.30385],[143.586685,-13.443574],[143.54843,-13.741018],[143.589168,-13.862746],[143.643396,-13.963776],[143.707293,-14.164475],[143.756336,-14.348737],[143.822254,-14.401164],[143.961758,-14.462819],[144.105767,-14.394419],[144.209939,-14.301958],[144.321758,-14.279458],[144.472952,-14.231755],[144.586353,-14.354604],[144.648008,-14.492526],[144.915767,-14.674328],[145.064478,-14.791091],[145.179922,-14.857031],[145.287698,-14.943208],[145.276887,-15.029362],[145.251685,-15.097544],[145.276206,-15.203979],[145.293081,-15.327268],[145.271482,-15.476682],[145.349573,-15.70144],[145.375435,-15.881001],[145.458008,-16.056496],[145.451944,-16.236958],[145.436409,-16.304897],[145.42606,-16.406147],[145.490418,-16.532138],[145.54981,-16.625083],[145.638228,-16.726091],[145.754793,-16.879548],[145.837805,-16.910376],[145.912073,-16.912397],[145.901944,-17.070117],[146.049754,-17.381074],[146.125823,-17.63532],[146.074055,-17.977324],[146.022771,-18.175781],[146.032219,-18.272746],[146.223008,-18.509897],[146.333267,-18.553777],[146.311668,-18.666716],[146.296814,-18.841333],[146.38343,-18.976992],[146.481077,-19.078703],[146.587293,-19.139458],[146.691905,-19.18738],[146.828948,-19.235742],[147.002642,-19.256001],[147.092862,-19.332729],[147.138762,-19.393242],[147.278047,-19.414182],[147.341482,-19.402932],[147.418672,-19.378169],[147.470857,-19.419345],[147.509793,-19.474013],[147.58606,-19.622746],[147.742439,-19.770117],[147.853138,-19.794638],[147.915694,-19.869126],[148.004573,-19.889604],[148.08106,-19.898591],[148.189737,-19.955742],[148.366814,-20.0876],[148.526797,-20.108979],[148.600581,-20.14519],[148.759444,-20.289638],[148.821077,-20.366367],[148.884754,-20.480888],[148.805103,-20.491699],[148.729956,-20.467859],[148.683616,-20.580117],[148.78937,-20.735596],[148.912439,-20.845173],[149.060491,-20.961057],[149.204939,-21.125083],[149.241392,-21.250173],[149.280306,-21.299458],[149.32937,-21.476074],[149.454021,-21.578664],[149.460086,-21.765432],[149.523982,-22.023721],[149.595767,-22.257729],[149.645271,-22.328371],[149.703982,-22.440432],[149.771482,-22.426238],[149.822569,-22.389807],[149.920215,-22.501406],[149.974444,-22.550669],[150.005491,-22.521643],[149.941814,-22.308113],[149.981189,-22.184363],[150.020564,-22.168389],[150.076133,-22.164346],[150.142952,-22.265376],[150.234754,-22.372932],[150.405086,-22.468996],[150.541206,-22.558996],[150.579681,-22.555854],[150.564388,-22.486091],[150.568672,-22.38394],[150.622879,-22.367307],[150.672383,-22.418152],[150.763965,-22.576091],[150.782862,-22.903022],[150.783081,-23.176626],[150.843155,-23.458096],[150.931133,-23.531902],[150.988746,-23.601643],[151.087732,-23.696147],[151.153892,-23.784126],[151.236246,-23.825083],[151.50084,-24.012488],[151.575306,-24.033647],[151.69097,-24.038372],[151.831595,-24.122966],[151.902698,-24.201057],[152.055452,-24.494458],[152.129939,-24.597488],[152.282034,-24.699199],[152.353138,-24.732488],[152.456409,-24.802471],[152.493082,-24.90394],[152.50209,-24.964014],[152.563284,-25.072031],[152.654185,-25.201846],[152.789185,-25.27407],[152.913396,-25.432251],[152.920582,-25.688518],[152.984939,-25.816333],[153.028138,-25.87032],[153.125564,-25.922747],[153.164939,-25.964143],[153.084168,-26.303906],[153.162017,-26.98273],[153.116797,-27.194458],[153.198008,-27.404605],[153.385655,-27.768648],[153.428414,-27.897583],[153.454957,-28.048316],[153.515272,-28.144402],[153.381612,-28.235523],[153.193965,-28.257803],[153.118138,-28.351626],[152.845896,-28.324841],[152.752073,-28.35613],[152.609185,-28.293574],[152.57003,-28.3226],[152.493082,-28.262307],[152.412771,-28.342617],[152.292164,-28.387398],[152.216336,-28.436441],[152.162789,-28.436441],[151.966353,-28.534548],[152.006629,-28.63738],[152.068965,-28.704199],[152.024405,-28.87385],[151.935086,-28.923113],[151.854754,-28.91863],[151.823487,-28.972178],[151.760931,-28.945393],[151.729664,-28.887341],[151.553948,-28.955303],[151.528504,-29.034954],[151.477439,-29.08738],[151.392845,-29.139346],[151.334573,-29.104255],[151.302845,-28.981846],[151.23084,-28.897691],[151.118121,-28.85135],[151.057806,-28.804768],[151.04972,-28.758208],[150.982439,-28.710044],[150.856206,-28.6601],[150.71222,-28.638941],[150.469663,-28.650432],[150.340728,-28.563794],[150.149478,-28.558169],[149.852495,-28.60429],[149.676978,-28.611958],[149.595767,-28.565816],[149.511831,-28.579329],[149.467073,-28.608113],[149.433081,-28.656497],[149.335215,-28.722656],[149.173892,-28.80657],[149.081409,-28.874751],[149.058008,-28.927617],[148.993211,-28.98613],[148.974314,-28.998501],[141.002107,-28.998941],[141.002107,-25.999014],[138.00196,-25.999014]]],[[[153.538672,-27.436333],[153.452715,-27.711716],[153.426612,-27.706553],[153.395784,-27.665156],[153.40097,-27.505613],[153.435379,-27.405264],[153.521797,-27.42238],[153.538672,-27.436333]]],[[[153.432237,-27.029971],[153.466888,-27.038079],[153.426392,-27.201423],[153.442586,-27.315945],[153.420987,-27.331018],[153.376668,-27.235393],[153.364957,-27.138867],[153.37981,-27.049329],[153.432237,-27.029971]]],[[[153.282164,-24.738354],[153.297918,-24.91519],[153.359332,-24.977747],[153.350103,-25.063022],[153.141319,-25.512803],[153.083707,-25.682454],[153.077422,-25.750854],[153.051978,-25.778298],[153.006978,-25.728794],[152.976612,-25.551277],[152.999112,-25.448445],[153.051539,-25.354402],[153.060767,-25.302195],[153.038047,-25.193079],[153.189241,-25.070449],[153.227496,-25.005872],[153.241888,-24.922617],[153.186319,-24.832617],[153.14378,-24.814841],[153.180914,-24.764897],[153.223211,-24.739475],[153.256961,-24.728906],[153.282164,-24.738354]]],[[[151.228819,-23.594897],[151.274258,-23.668484],[151.295857,-23.720229],[151.261448,-23.762307],[151.238267,-23.775798],[151.184258,-23.740708],[151.033284,-23.5301],[151.060069,-23.460579],[151.146465,-23.490725],[151.180655,-23.516147],[151.211944,-23.513005],[151.240069,-23.529639],[151.228819,-23.594897]]],[[[150.48856,-22.210708],[150.521409,-22.228242],[150.548853,-22.306992],[150.516685,-22.322527],[150.48856,-22.324768],[150.462456,-22.307673],[150.484737,-22.267859],[150.48856,-22.210708]]],[[[149.912327,-22.048703],[149.927862,-22.149272],[149.928323,-22.193152],[149.893672,-22.223298],[149.86959,-22.150393],[149.875435,-22.074126],[149.912327,-22.048703]]],[[[148.98106,-20.153518],[149.004461,-20.221479],[149.045418,-20.277488],[149.043836,-20.29144],[149.019995,-20.30247],[148.987366,-20.301789],[148.938763,-20.283574],[148.98106,-20.153518]]],[[[148.931556,-20.068923],[148.967788,-20.044402],[148.956319,-20.134621],[148.93562,-20.149914],[148.91356,-20.154199],[148.887017,-20.14363],[148.906353,-20.101992],[148.931556,-20.068923]]],[[[146.278357,-18.23135],[146.298836,-18.326074],[146.342034,-18.4001],[146.326961,-18.448703],[146.298836,-18.484695],[146.23562,-18.450725],[146.19128,-18.362966],[146.116133,-18.292324],[146.098819,-18.251828],[146.186797,-18.25519],[146.230896,-18.241479],[146.249112,-18.225945],[146.278357,-18.23135]]],[[[139.492805,-16.990466],[139.560085,-17.041992],[139.570896,-17.094419],[139.459297,-17.114458],[139.421702,-17.131552],[139.40821,-17.090595],[139.459297,-17.049199],[139.492805,-16.990466]]],[[[139.587991,-16.395117],[139.604404,-16.403225],[139.697788,-16.514824],[139.559646,-16.529458],[139.507878,-16.573095],[139.430491,-16.661074],[139.391555,-16.648703],[139.354202,-16.696626],[139.28312,-16.719345],[139.239021,-16.718664],[139.15959,-16.741626],[139.147659,-16.71394],[139.162732,-16.625984],[139.228672,-16.527656],[139.293008,-16.467341],[139.458835,-16.438557],[139.587991,-16.395117]]],[[[142.131172,-10.640522],[142.197991,-10.591918],[142.274719,-10.70488],[142.191465,-10.762031],[142.137236,-10.731862],[142.125547,-10.668427],[142.131172,-10.640522]]],[[[142.218689,-10.149345],[142.298779,-10.140358],[142.339055,-10.192104],[142.279443,-10.254199],[142.216206,-10.235522],[142.195068,-10.199289],[142.218689,-10.149345]]],[[[142.148948,-10.051699],[142.191904,-10.085229],[142.167603,-10.154069],[142.141961,-10.181293],[142.097642,-10.121682],[142.148948,-10.051699]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"AUS-2660","diss_me":2660,"iso_3166_2":"AU-TAS","wikipedia":null,"iso_a2":"AU","adm0_sr":5,"name":"Tasmania","name_alt":null,"name_local":null,"type":"State","type_en":"State","code_local":null,"code_hasc":"AU.TS","note":null,"hasc_maybe":null,"region":null,"region_cod":null,"provnum_ne":4,"gadm_level":1,"check_me":20,"datarank":3,"abbrev":"Tas.","postal":"TS","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":8,"mapcolor9":2,"mapcolor13":7,"fips":"AS06","fips_alt":null,"woe_id":2344704,"woe_label":null,"woe_name":null,"latitude":-42.1383,"longitude":146.603,"sov_a3":"AU1","adm0_a3":"AUS","adm0_label":2,"admin":"Australia","geonunit":"Australia","gu_a3":"AUS","gn_id":2147291,"gn_name":"State of Tasmania","gns_id":-1603760,"gns_name":"Tasmania","gn_level":1,"gn_region":null,"gn_a1_code":"AU.06","region_sub":null,"sub_code":null,"gns_level":1,"gns_lang":"zho","gns_adm1":"AS06","gns_region":null,"min_label":3.5,"max_label":7.5,"min_zoom":2,"wikidataid":"Q34366","name_ar":"تاسمانيا","name_bn":"তাসমানিয়া","name_de":"Tasmanien","name_en":"Tasmania","name_es":"Tasmania","name_fr":"Tasmanie","name_el":"Τασμανία","name_hi":"टासमानिया","name_hu":"Tasmania","name_id":"Tasmania","name_it":"Tasmania","name_ja":"タスマニア州","name_ko":"태즈메이니아","name_nl":"Tasmanië","name_pl":"Tasmania","name_pt":"Tasmânia","name_ru":"Тасмания","name_sv":"Tasmanien","name_tr":"Tasmanya","name_vi":"Tasmania","name_zh":"塔斯马尼亚州","ne_id":1159313261,"name_he":"טסמניה","name_uk":"Тасманія","name_ur":"تسمانیا","name_fa":"تاسمانی","name_zht":"塔斯馬尼亞州","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[143.838689,-43.619459,148.474129,-39.580247],"geometry":{"type":"MultiPolygon","coordinates":[[[[147.312456,-43.280377],[147.342383,-43.346295],[147.356116,-43.39692],[147.308853,-43.500872],[147.231465,-43.483096],[147.153836,-43.500191],[147.105012,-43.431131],[147.104793,-43.412894],[147.163064,-43.43023],[147.184663,-43.40773],[147.198396,-43.379144],[147.219754,-43.371497],[147.233948,-43.33054],[147.283892,-43.278795],[147.312456,-43.280377]]],[[[147.352512,-43.08036],[147.397293,-43.118372],[147.434646,-43.240782],[147.37187,-43.240782],[147.348909,-43.232454],[147.337659,-43.183389],[147.296043,-43.16179],[147.319202,-43.145377],[147.32731,-43.114549],[147.352512,-43.08036]]],[[[148.072513,-42.593226],[148.142715,-42.615945],[148.169478,-42.651717],[148.100638,-42.680523],[148.104241,-42.71045],[148.048211,-42.719217],[148.029754,-42.714954],[148.030896,-42.663428],[148.022788,-42.640467],[148.072513,-42.593226]]],[[[148.340711,-42.111058],[148.331043,-42.1592],[148.342513,-42.21545],[148.331263,-42.26157],[148.290305,-42.255045],[148.277034,-42.219493],[148.284461,-42.173372],[148.277034,-42.13648],[148.255655,-42.10273],[148.183211,-42.064695],[148.20437,-42.041976],[148.241482,-42.021959],[148.213577,-41.969971],[148.167237,-42.012269],[148.141133,-42.069881],[148.156206,-42.088316],[148.127642,-42.103631],[148.066668,-42.17023],[148.022788,-42.259549],[148.004793,-42.345045],[148.009297,-42.435945],[147.973504,-42.505928],[147.924461,-42.572527],[147.91209,-42.658485],[147.915013,-42.816424],[147.957771,-42.960433],[147.98093,-43.157066],[147.945379,-43.181829],[147.838504,-43.195101],[147.785857,-43.220084],[147.699021,-43.122657],[147.647935,-43.020506],[147.68731,-42.979769],[147.773948,-43.003389],[147.800491,-42.98023],[147.807456,-42.954127],[147.80003,-42.928023],[147.693396,-42.871993],[147.573909,-42.84567],[147.535896,-42.878079],[147.548948,-42.974605],[147.536797,-42.996424],[147.452422,-43.033316],[147.408081,-42.893834],[147.298064,-42.791002],[147.301887,-42.840506],[147.347569,-42.926441],[147.342603,-42.964476],[147.325069,-43.013519],[147.280728,-43.031756],[147.25981,-43.071131],[147.25981,-43.12648],[147.244956,-43.216019],[147.172732,-43.255855],[146.997017,-43.156407],[146.984866,-43.189915],[146.987569,-43.218721],[147.077327,-43.275872],[147.03593,-43.31907],[147.004663,-43.369695],[146.95472,-43.502454],[146.873948,-43.612471],[146.834331,-43.619459],[146.699112,-43.601903],[146.548577,-43.50898],[146.413137,-43.519549],[146.186797,-43.512803],[146.043228,-43.547235],[146.013081,-43.444842],[145.981814,-43.408389],[145.994405,-43.376002],[146.108706,-43.354403],[146.226392,-43.355303],[146.207935,-43.316148],[146.176448,-43.301756],[146.125142,-43.311204],[145.975288,-43.277235],[145.873137,-43.292308],[145.802715,-43.244144],[145.681448,-43.076075],[145.609883,-42.998226],[145.567366,-42.968079],[145.517642,-42.951424],[145.487715,-42.926683],[145.26812,-42.544402],[145.237073,-42.455523],[145.198819,-42.230743],[145.372952,-42.338519],[145.434827,-42.40648],[145.468357,-42.492877],[145.52731,-42.388243],[145.516521,-42.354493],[145.360362,-42.227601],[145.339663,-42.190709],[145.331116,-42.147049],[145.294444,-42.190928],[145.23481,-42.196993],[145.258892,-42.107235],[145.238194,-42.019695],[145.055491,-41.826644],[144.915547,-41.643941],[144.777844,-41.418941],[144.766133,-41.390157],[144.764331,-41.341553],[144.697732,-41.190799],[144.662422,-41.07898],[144.645987,-40.980872],[144.709663,-40.782877],[144.718672,-40.672178],[144.81856,-40.721683],[145.042879,-40.7867],[145.158762,-40.790523],[145.224241,-40.765101],[145.282952,-40.769825],[145.349331,-40.826295],[145.429444,-40.858243],[145.485232,-40.852398],[145.533616,-40.863868],[145.576353,-40.904144],[145.68593,-40.939014],[145.733853,-40.961976],[145.775491,-40.997066],[145.821392,-41.024532],[146.111189,-41.118113],[146.317512,-41.163575],[146.574461,-41.142415],[146.650508,-41.116334],[146.723413,-41.078079],[146.785969,-41.113631],[146.848064,-41.168079],[146.836133,-41.109346],[146.856612,-41.058282],[146.919387,-41.017764],[146.98981,-40.992342],[147.105694,-40.994144],[147.218853,-40.983355],[147.269038,-40.959734],[147.320564,-40.956351],[147.387603,-40.985596],[147.454883,-41.00157],[147.500784,-40.964217],[147.579314,-40.875579],[147.621612,-40.844752],[147.817586,-40.871756],[147.872935,-40.872657],[147.96878,-40.779493],[148.032918,-40.781075],[148.215159,-40.854881],[148.292788,-40.947122],[148.285362,-41.115433],[148.291668,-41.174605],[148.30628,-41.233096],[148.312146,-41.349639],[148.289866,-41.465084],[148.286944,-41.555084],[148.296612,-41.646204],[148.287603,-41.815613],[148.315728,-41.927674],[148.301555,-42.004183],[148.301555,-42.039954],[148.32812,-42.073704],[148.340711,-42.111058]]],[[[148.218323,-40.504988],[148.236978,-40.515118],[148.187715,-40.592527],[148.126961,-40.543924],[148.117293,-40.521424],[148.19312,-40.503209],[148.218323,-40.504988]]],[[[144.783469,-40.434808],[144.790896,-40.440433],[144.78437,-40.50679],[144.748137,-40.589363],[144.710103,-40.485191],[144.75106,-40.470118],[144.783469,-40.434808]]],[[[148.420823,-40.367066],[148.474129,-40.432325],[148.403948,-40.486553],[148.352642,-40.497342],[148.319331,-40.434566],[148.214038,-40.457527],[148.102439,-40.451683],[148.020086,-40.4042],[148.010418,-40.380579],[148.05878,-40.356959],[148.198064,-40.357859],[148.326319,-40.306993],[148.420823,-40.367066]]],[[[148.250711,-40.099549],[148.323155,-40.144549],[148.313487,-40.173575],[148.299314,-40.172454],[148.210435,-40.233648],[148.105581,-40.261993],[148.073633,-40.240855],[148.04687,-40.21273],[148.02481,-40.171993],[147.890491,-40.014493],[147.906004,-39.971294],[147.876319,-39.905377],[147.812422,-39.91054],[147.76718,-39.870264],[147.839185,-39.83157],[147.933008,-39.726058],[148.000288,-39.757544],[148.178047,-39.938445],[148.270069,-39.96679],[148.297293,-39.985709],[148.289866,-40.065359],[148.250711,-40.099549]]],[[[144.12084,-39.78523],[144.105986,-39.874109],[144.141077,-39.953738],[144.111831,-40.022139],[144.035103,-40.078169],[143.928008,-40.116204],[143.898762,-40.120247],[143.875823,-40.063997],[143.887512,-39.983665],[143.838689,-39.904014],[143.865232,-39.824144],[143.86187,-39.737967],[143.879404,-39.699954],[143.939258,-39.658096],[143.948948,-39.583631],[144.000694,-39.580247],[144.091353,-39.638079],[144.12084,-39.78523]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"AUS-2656","diss_me":2656,"iso_3166_2":"AU-VIC","wikipedia":null,"iso_a2":"AU","adm0_sr":5,"name":"Victoria","name_alt":null,"name_local":null,"type":"State","type_en":"State","code_local":null,"code_hasc":"AU.VI","note":null,"hasc_maybe":null,"region":null,"region_cod":null,"provnum_ne":3,"gadm_level":1,"check_me":20,"datarank":3,"abbrev":"Vic.","postal":"VI","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":8,"mapcolor9":2,"mapcolor13":7,"fips":"AS07","fips_alt":null,"woe_id":2344705,"woe_label":"Victoria, AU, Australia","woe_name":"Victoria","latitude":-37.0082,"longitude":144.75,"sov_a3":"AU1","adm0_a3":"AUS","adm0_label":2,"admin":"Australia","geonunit":"Australia","gu_a3":"AUS","gn_id":2145234,"gn_name":"State of Victoria","gns_id":-1606920,"gns_name":"Victoria","gn_level":1,"gn_region":null,"gn_a1_code":"AU.07","region_sub":null,"sub_code":null,"gns_level":1,"gns_lang":"zho","gns_adm1":"AS07","gns_region":null,"min_label":3.5,"max_label":7.5,"min_zoom":2,"wikidataid":"Q36687","name_ar":"ولاية فيكتوريا","name_bn":"ভিক্টোরিয়া","name_de":"Victoria","name_en":"Victoria","name_es":"Victoria","name_fr":"Victoria","name_el":"Βικτώρια","name_hi":"विक्टोरिया","name_hu":"Victoria","name_id":"Victoria","name_it":"Victoria","name_ja":"ビクトリア州","name_ko":"빅토리아","name_nl":"Victoria","name_pl":"Wiktoria","name_pt":"Vitória","name_ru":"Виктория","name_sv":"Victoria","name_tr":"Victoria","name_vi":"Victoria","name_zh":"维多利亚州","ne_id":1159313263,"name_he":"ויקטוריה","name_uk":"Вікторія","name_ur":"وکٹوریہ","name_fa":"ویکتوریا","name_zht":"維多利亞省","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[140.966335,-39.14554,149.942495,-34.005191],"geometry":{"type":"MultiPolygon","coordinates":[[[[140.966335,-38.071407],[140.968137,-34.005191],[140.996943,-34.01554],[141.025728,-34.043225],[141.09437,-34.065725],[141.192456,-34.072691],[141.317568,-34.111626],[141.469883,-34.18295],[141.585986,-34.191497],[141.665857,-34.137268],[141.761043,-34.111626],[141.926409,-34.11679],[142.157715,-34.173282],[142.252439,-34.223225],[142.28731,-34.286001],[142.327586,-34.322454],[142.373267,-34.332803],[142.393504,-34.38679],[142.38812,-34.484678],[142.425913,-34.592674],[142.507146,-34.71148],[142.571262,-34.775157],[142.618745,-34.783484],[142.663284,-34.741407],[142.704922,-34.649363],[142.741814,-34.598079],[142.773762,-34.587488],[142.812236,-34.606626],[142.857456,-34.654988],[142.965012,-34.691441],[143.22106,-34.733079],[143.325452,-34.787967],[143.361004,-34.88157],[143.362805,-35.032105],[143.377219,-35.127488],[143.404443,-35.167764],[143.458672,-35.203316],[143.540344,-35.234143],[143.583543,-35.279143],[143.584663,-35.327066],[143.714258,-35.411441],[143.971206,-35.528225],[144.163137,-35.634419],[144.28959,-35.729825],[144.378228,-35.820506],[144.427512,-35.904639],[144.524258,-35.9942],[144.668487,-36.088023],[144.799202,-36.125596],[144.916448,-36.106919],[144.96481,-36.074532],[144.943892,-36.028631],[144.942991,-35.978006],[144.961668,-35.922415],[145.008228,-35.883941],[145.083154,-35.862122],[145.224461,-35.845708],[145.432366,-35.834678],[145.588284,-35.863023],[145.692237,-35.930984],[145.815305,-35.977325],[146.038284,-36.0167],[146.216262,-36.056975],[146.324478,-36.053592],[146.402788,-36.033113],[146.470288,-35.993518],[146.589534,-36.004768],[146.746353,-36.061238],[146.895987,-36.099954],[147.046741,-36.106018],[147.100069,-36.05023],[147.15722,-36.035596],[147.271741,-36.049109],[147.323047,-36.068907],[147.350491,-36.052251],[147.371409,-36.003868],[147.407422,-35.971238],[147.458047,-35.954363],[147.501685,-35.958648],[147.538137,-35.98385],[147.591245,-35.982268],[147.674258,-35.953704],[147.762456,-35.955725],[147.931206,-36.018721],[147.974866,-36.045725],[148.034038,-36.180945],[148.146538,-36.545889],[148.196944,-36.625101],[148.161612,-36.730174],[148.132805,-36.777195],[148.21628,-36.802618],[149.942495,-37.500579],[149.932806,-37.528484],[149.809297,-37.54782],[149.708948,-37.616902],[149.565379,-37.730083],[149.480784,-37.771238],[149.298543,-37.802066],[148.943948,-37.788575],[148.262422,-37.830652],[148.130564,-37.856075],[147.876758,-37.934144],[147.631521,-38.055652],[147.395711,-38.219217],[146.856831,-38.663372],[146.435637,-38.711756],[146.356206,-38.711756],[146.29253,-38.699825],[146.217383,-38.727488],[146.216262,-38.782618],[146.285564,-38.84023],[146.336629,-38.894217],[146.42687,-38.819751],[146.466685,-38.84045],[146.481538,-38.977933],[146.48378,-39.064988],[146.456555,-39.112251],[146.400086,-39.14554],[146.340012,-39.123721],[146.332146,-39.0767],[146.254297,-38.964419],[146.15843,-38.865652],[146.070012,-38.834144],[146.018267,-38.866993],[145.935232,-38.901644],[145.865491,-38.775872],[145.790784,-38.666976],[145.691797,-38.655726],[145.60628,-38.656846],[145.535418,-38.609605],[145.397254,-38.535359],[145.424258,-38.477308],[145.462732,-38.416333],[145.542163,-38.393833],[145.518323,-38.31148],[145.475784,-38.243738],[145.366448,-38.225743],[145.292862,-38.237674],[145.248982,-38.291221],[145.191172,-38.383704],[144.959646,-38.500708],[144.847366,-38.436351],[144.717771,-38.340264],[144.780305,-38.347471],[144.911482,-38.344109],[145.020159,-38.258372],[145.066961,-38.204825],[145.119827,-38.091424],[145.049646,-38.010872],[144.984827,-37.952139],[144.891245,-37.899734],[144.53843,-38.077251],[144.465305,-38.102454],[144.395564,-38.136863],[144.517732,-38.166351],[144.589517,-38.157583],[144.665344,-38.209988],[144.543616,-38.284014],[144.447771,-38.303833],[144.328745,-38.348152],[144.101482,-38.462234],[143.811685,-38.698924],[143.686814,-38.766863],[143.538982,-38.820872],[143.338504,-38.757876],[143.226465,-38.743243],[143.082698,-38.645816],[142.840142,-38.580799],[142.612219,-38.451644],[142.45584,-38.386407],[142.344461,-38.372234],[142.187642,-38.399458],[141.924607,-38.283794],[141.725029,-38.271424],[141.593853,-38.387747],[141.491702,-38.379881],[141.424202,-38.363445],[141.213835,-38.171976],[141.010896,-38.077032],[140.966335,-38.071407]]],[[[145.314461,-38.490799],[145.349112,-38.538282],[145.355198,-38.556958],[145.270823,-38.519825],[145.128396,-38.527691],[145.217715,-38.458631],[145.287918,-38.472122],[145.314461,-38.490799]]],[[[145.426521,-38.314183],[145.486594,-38.354898],[145.33584,-38.421058],[145.280271,-38.390669],[145.285896,-38.340945],[145.295344,-38.318907],[145.426521,-38.314183]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"AUS-2653","diss_me":2653,"iso_3166_2":"AU-ACT","wikipedia":null,"iso_a2":"AU","adm0_sr":1,"name":"Australian Capital Territory","name_alt":null,"name_local":null,"type":"Territory","type_en":"Territory","code_local":null,"code_hasc":"AU.AC","note":null,"hasc_maybe":null,"region":null,"region_cod":null,"provnum_ne":1,"gadm_level":1,"check_me":20,"datarank":3,"abbrev":"A.C.T.","postal":"CT","area_sqkm":0,"sameascity":9,"labelrank":9,"name_len":28,"mapcolor9":2,"mapcolor13":7,"fips":"AS01","fips_alt":null,"woe_id":1100968,"woe_label":null,"woe_name":"Canberra","latitude":-35.4618,"longitude":148.983,"sov_a3":"AU1","adm0_a3":"AUS","adm0_label":2,"admin":"Australia","geonunit":"Australia","gu_a3":"AUS","gn_id":2177478,"gn_name":"Australian Capital Territory","gns_id":-1556567,"gns_name":"Australian Capital Territory","gn_level":1,"gn_region":null,"gn_a1_code":"AU.01","region_sub":null,"sub_code":null,"gns_level":1,"gns_lang":"zho","gns_adm1":"AS01","gns_region":null,"min_label":3.5,"max_label":7.5,"min_zoom":2,"wikidataid":"Q3258","name_ar":"مقاطعة العاصمة الأسترالية","name_bn":"অস্ট্রেলীয় রাজধানী অঞ্চল","name_de":"Australian Capital Territory","name_en":"Australian Capital Territory","name_es":"Territorio de la Capital Australiana","name_fr":"Territoire de la capitale australienne","name_el":"Επικράτεια Αυστραλιανής Πρωτεύουσας","name_hi":"ऑस्ट्रेलियाई राजधानी क्षेत्र","name_hu":"Ausztráliai fővárosi terület","name_id":"Wilayah Ibu Kota Australia","name_it":"Territorio della Capitale Australiana","name_ja":"オーストラリア首都特別地域","name_ko":"오스트레일리아 수도 준","name_nl":"Australian Capital Territory","name_pl":"Australijskie Terytorium Stołeczne","name_pt":"Território da Capital Australiana","name_ru":"Австралийская столичная территория","name_sv":"Australian Capital Territory","name_tr":"Avustralya Başkent Bölgesi","name_vi":"Lãnh thổ Thủ đô Úc","name_zh":"澳大利亚首都特区","ne_id":1159313297,"name_he":"טריטוריית הבירה האוסטרלית","name_uk":"Австралійська столична територія","name_ur":"آسٹریلوی دارالحکومت علاقہ","name_fa":"قلمرو پایتختی استرالیا","name_zht":"澳大利亞首都特區","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[148.770013,-35.914109,149.403836,-35.146407],"geometry":{"type":"Polygon","coordinates":[[[149.403836,-35.329329],[149.368064,-35.356092],[149.278965,-35.347105],[149.185142,-35.382876],[149.140581,-35.440928],[149.14937,-35.507967],[149.12709,-35.583794],[149.086814,-35.610579],[149.10481,-35.829273],[149.051263,-35.914109],[148.948431,-35.887325],[148.899388,-35.820506],[148.890379,-35.744458],[148.850345,-35.748941],[148.792293,-35.708907],[148.774517,-35.637342],[148.770013,-35.494475],[148.828064,-35.311553],[149.10481,-35.146407],[149.189646,-35.177454],[149.194129,-35.21773],[149.256465,-35.271277],[149.403836,-35.329329]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"AUS-1932","diss_me":1932,"iso_3166_2":"AU-X02~","wikipedia":null,"iso_a2":"AU","adm0_sr":1,"name":"Jervis Bay Territory","name_alt":null,"name_local":null,"type":"Territory","type_en":"Territory","code_local":null,"code_hasc":"AU.JB","note":null,"hasc_maybe":null,"region":null,"region_cod":null,"provnum_ne":2,"gadm_level":1,"check_me":20,"datarank":3,"abbrev":"J.B.T.","postal":"JB","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":20,"mapcolor9":2,"mapcolor13":7,"fips":null,"fips_alt":null,"woe_id":1102841,"woe_label":null,"woe_name":"Jervis Bay","latitude":-35.1532,"longitude":150.692,"sov_a3":"AU1","adm0_a3":"AUS","adm0_label":2,"admin":"Australia","geonunit":"Australia","gu_a3":"AUS","gn_id":-2177478,"gn_name":"Australian Capital Territory","gns_id":0,"gns_name":null,"gn_level":-1,"gn_region":null,"gn_a1_code":"AU.","region_sub":null,"sub_code":null,"gns_level":0,"gns_lang":null,"gns_adm1":null,"gns_region":null,"min_label":3.5,"max_label":7.5,"min_zoom":2,"wikidataid":"Q15577","name_ar":"إقليم خليج جرفيس","name_bn":"জার্ভিস বে টেরিটোরি","name_de":"Jervis Bay Territory","name_en":"Jervis Bay Territory","name_es":"Territorio de Jervis Bay","name_fr":"Territoire de la baie de Jervis","name_el":"Επικράτεια Όρμου Τζέρβις","name_hi":"जर्विस बे टेरिटरी","name_hu":"Jervis Bay Territory","name_id":"Wilayah Teluk Jervis","name_it":"Territorio della Baia di Jervis","name_ja":"ジャービス湾特別地域","name_ko":"저비스베이 준","name_nl":"Jervis Bay Territorium","name_pl":"Jervis Bay Territory","name_pt":"Território da Baía Jervis","name_ru":"Территория Джервис-Бей","name_sv":"Jervis Bay Territory","name_tr":"Jervis Bay Toprağı","name_vi":"Lãnh thổ Vịnh Jervis","name_zh":"傑維斯灣地區","ne_id":1159311169,"name_he":"טריטוריית מפרץ ג'רביס","name_uk":"Територія Джервіс-Бей","name_ur":"خلیج جروس علاقہ","name_fa":"قلمروی خلیج جرویس","name_zht":"傑維斯灣地區","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[150.611871,-35.190044,150.722107,-35.119622],"geometry":{"type":"Polygon","coordinates":[[[150.611871,-35.190044],[150.635931,-35.146407],[150.705452,-35.120083],[150.705694,-35.119622],[150.722107,-35.134475],[150.714681,-35.155174],[150.690379,-35.177674],[150.63459,-35.177674],[150.611871,-35.190044]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"AUS-2654","diss_me":2654,"iso_3166_2":"AU-NSW","wikipedia":null,"iso_a2":"AU","adm0_sr":1,"name":"New South Wales","name_alt":null,"name_local":null,"type":"State","type_en":"State","code_local":null,"code_hasc":"AU.NS","note":null,"hasc_maybe":null,"region":null,"region_cod":null,"provnum_ne":9,"gadm_level":1,"check_me":20,"datarank":3,"abbrev":"N.S.W.","postal":"NS","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":15,"mapcolor9":2,"mapcolor13":7,"fips":"AS02","fips_alt":null,"woe_id":2344700,"woe_label":"New South Wales, AU, Australia","woe_name":"New South Wales","latitude":-32.4751,"longitude":146.781,"sov_a3":"AU1","adm0_a3":"AUS","adm0_label":2,"admin":"Australia","geonunit":"Australia","gu_a3":"AUS","gn_id":2155400,"gn_name":"State of New South Wales","gns_id":-1591422,"gns_name":"New South Wales","gn_level":1,"gn_region":null,"gn_a1_code":"AU.02","region_sub":null,"sub_code":null,"gns_level":1,"gns_lang":"zho","gns_adm1":"AS02","gns_region":null,"min_label":3.5,"max_label":7.5,"min_zoom":2,"wikidataid":"Q3224","name_ar":"نيوساوث ويلز","name_bn":"নিউ সাউথ ওয়েল্স","name_de":"New South Wales","name_en":"New South Wales","name_es":"Nueva Gales del Sur","name_fr":"Nouvelle-Galles du Sud","name_el":"Νέα Νότια Ουαλία","name_hi":"न्यू साउथ वेल्स","name_hu":"Új-Dél-Wales","name_id":"New South Wales","name_it":"Nuovo Galles del Sud","name_ja":"ニューサウスウェールズ州","name_ko":"뉴사우스웨일스","name_nl":"Nieuw-Zuid-Wales","name_pl":"Nowa Południowa Walia","name_pt":"Nova Gales do Sul","name_ru":"Новый Южный Уэльс","name_sv":"New South Wales","name_tr":"Yeni Güney Galler","name_vi":"New South Wales","name_zh":"新南威尔士州","ne_id":1159313299,"name_he":"ניו סאות' ויילס","name_uk":"Новий Південний Уельс","name_ur":"نیو ساؤتھ ویلز","name_fa":"نیو ساوت ولز","name_zht":"新南威爾斯州","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[141.002107,-37.500579,153.616961,-28.144402],"geometry":{"type":"Polygon","coordinates":[[[141.025728,-34.043225],[141.002107,-28.998941],[148.974314,-28.998501],[148.993211,-28.98613],[149.058008,-28.927617],[149.081409,-28.874751],[149.173892,-28.80657],[149.335215,-28.722656],[149.433081,-28.656497],[149.467073,-28.608113],[149.511831,-28.579329],[149.595767,-28.565816],[149.676978,-28.611958],[149.852495,-28.60429],[150.149478,-28.558169],[150.340728,-28.563794],[150.469663,-28.650432],[150.71222,-28.638941],[150.856206,-28.6601],[150.982439,-28.710044],[151.04972,-28.758208],[151.057806,-28.804768],[151.118121,-28.85135],[151.23084,-28.897691],[151.302845,-28.981846],[151.334573,-29.104255],[151.392845,-29.139346],[151.477439,-29.08738],[151.528504,-29.034954],[151.553948,-28.955303],[151.729664,-28.887341],[151.760931,-28.945393],[151.823487,-28.972178],[151.854754,-28.91863],[151.935086,-28.923113],[152.024405,-28.87385],[152.068965,-28.704199],[152.006629,-28.63738],[151.966353,-28.534548],[152.162789,-28.436441],[152.216336,-28.436441],[152.292164,-28.387398],[152.412771,-28.342617],[152.493082,-28.262307],[152.57003,-28.3226],[152.609185,-28.293574],[152.752073,-28.35613],[152.845896,-28.324841],[153.118138,-28.351626],[153.193965,-28.257803],[153.381612,-28.235523],[153.515272,-28.144402],[153.575564,-28.240466],[153.569039,-28.533428],[153.616961,-28.673152],[153.60459,-28.854492],[153.462164,-29.050247],[153.348082,-29.29032],[153.346961,-29.496643],[153.272254,-29.892415],[153.223892,-29.998631],[153.188121,-30.163777],[153.030621,-30.563372],[153.023633,-30.720191],[153.047935,-30.907178],[153.021612,-31.086717],[152.982237,-31.208906],[152.943982,-31.434807],[152.785823,-31.786238],[152.559241,-32.045669],[152.545289,-32.243006],[152.516482,-32.330083],[152.470362,-32.43898],[152.331319,-32.557544],[152.247383,-32.608631],[152.215655,-32.678152],[152.136465,-32.678152],[152.134664,-32.699971],[152.187991,-32.72157],[152.164371,-32.757342],[151.954202,-32.820359],[151.812918,-32.901131],[151.66847,-33.098665],[151.607715,-33.201958],[151.530086,-33.300945],[151.483746,-33.347527],[151.463487,-33.397471],[151.431978,-33.521682],[151.357513,-33.543941],[151.292034,-33.581075],[151.322862,-33.6992],[151.288431,-33.834881],[151.280345,-33.926682],[151.244573,-33.985174],[151.201595,-33.964014],[151.167845,-33.973484],[151.124866,-34.005191],[151.191246,-34.01532],[151.231521,-34.029734],[151.089996,-34.162471],[150.960379,-34.297032],[150.92753,-34.38657],[150.87128,-34.49907],[150.821797,-34.749273],[150.78106,-34.892139],[150.809185,-34.99385],[150.804681,-35.012967],[150.774534,-35.020393],[150.756077,-35.007122],[150.697366,-35.041773],[150.680931,-35.076643],[150.705694,-35.119622],[150.705452,-35.120083],[150.635931,-35.146407],[150.611871,-35.190044],[150.56753,-35.214346],[150.374038,-35.584256],[150.292146,-35.682342],[150.195379,-35.833558],[150.158487,-35.970579],[150.129021,-36.120433],[150.095271,-36.372657],[150.062862,-36.550393],[149.988155,-36.722747],[149.960271,-36.845596],[149.950581,-37.080264],[149.986353,-37.258484],[149.962952,-37.352967],[149.962293,-37.443868],[149.942495,-37.500579],[148.21628,-36.802618],[148.132805,-36.777195],[148.161612,-36.730174],[148.196944,-36.625101],[148.146538,-36.545889],[148.034038,-36.180945],[147.974866,-36.045725],[147.931206,-36.018721],[147.762456,-35.955725],[147.674258,-35.953704],[147.591245,-35.982268],[147.538137,-35.98385],[147.501685,-35.958648],[147.458047,-35.954363],[147.407422,-35.971238],[147.371409,-36.003868],[147.350491,-36.052251],[147.323047,-36.068907],[147.271741,-36.049109],[147.15722,-36.035596],[147.100069,-36.05023],[147.046741,-36.106018],[146.895987,-36.099954],[146.746353,-36.061238],[146.589534,-36.004768],[146.470288,-35.993518],[146.402788,-36.033113],[146.324478,-36.053592],[146.216262,-36.056975],[146.038284,-36.0167],[145.815305,-35.977325],[145.692237,-35.930984],[145.588284,-35.863023],[145.432366,-35.834678],[145.224461,-35.845708],[145.083154,-35.862122],[145.008228,-35.883941],[144.961668,-35.922415],[144.942991,-35.978006],[144.943892,-36.028631],[144.96481,-36.074532],[144.916448,-36.106919],[144.799202,-36.125596],[144.668487,-36.088023],[144.524258,-35.9942],[144.427512,-35.904639],[144.378228,-35.820506],[144.28959,-35.729825],[144.163137,-35.634419],[143.971206,-35.528225],[143.714258,-35.411441],[143.584663,-35.327066],[143.583543,-35.279143],[143.540344,-35.234143],[143.458672,-35.203316],[143.404443,-35.167764],[143.377219,-35.127488],[143.362805,-35.032105],[143.361004,-34.88157],[143.325452,-34.787967],[143.22106,-34.733079],[142.965012,-34.691441],[142.857456,-34.654988],[142.812236,-34.606626],[142.773762,-34.587488],[142.741814,-34.598079],[142.704922,-34.649363],[142.663284,-34.741407],[142.618745,-34.783484],[142.571262,-34.775157],[142.507146,-34.71148],[142.425913,-34.592674],[142.38812,-34.484678],[142.393504,-34.38679],[142.373267,-34.332803],[142.327586,-34.322454],[142.28731,-34.286001],[142.252439,-34.223225],[142.157715,-34.173282],[141.926409,-34.11679],[141.761043,-34.111626],[141.665857,-34.137268],[141.585986,-34.191497],[141.469883,-34.18295],[141.317568,-34.111626],[141.192456,-34.072691],[141.09437,-34.065725],[141.025728,-34.043225]],[[149.403836,-35.329329],[149.256465,-35.271277],[149.194129,-35.21773],[149.189646,-35.177454],[149.10481,-35.146407],[148.828064,-35.311553],[148.770013,-35.494475],[148.774517,-35.637342],[148.792293,-35.708907],[148.850345,-35.748941],[148.890379,-35.744458],[148.899388,-35.820506],[148.948431,-35.887325],[149.051263,-35.914109],[149.10481,-35.829273],[149.086814,-35.610579],[149.12709,-35.583794],[149.14937,-35.507967],[149.140581,-35.440928],[149.185142,-35.382876],[149.278965,-35.347105],[149.368064,-35.356092],[149.403836,-35.329329]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"BRA-576","diss_me":576,"iso_3166_2":"BR-AC","wikipedia":null,"iso_a2":"BR","adm0_sr":1,"name":"Acre","name_alt":null,"name_local":null,"type":"Estado","type_en":"State","code_local":null,"code_hasc":"BR.AC","note":null,"hasc_maybe":"BR.AC|BRA-ACR","region":null,"region_cod":null,"provnum_ne":24,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":"Acre","postal":"AC","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":4,"mapcolor9":5,"mapcolor13":7,"fips":"BR01","fips_alt":null,"woe_id":2344844,"woe_label":"Acre, BR, Brazil","woe_name":"Acre","latitude":-8.9285,"longitude":-70.2976,"sov_a3":"BRA","adm0_a3":"BRA","adm0_label":2,"admin":"Brazil","geonunit":"Brazil","gu_a3":"BRA","gn_id":3665474,"gn_name":"Estado do Acre","gns_id":-623025,"gns_name":"Acre, Estado do","gn_level":1,"gn_region":null,"gn_a1_code":"BR.01","region_sub":null,"sub_code":null,"gns_level":1,"gns_lang":"por","gns_adm1":"BR01","gns_region":null,"min_label":3.7,"max_label":8.5,"min_zoom":3,"wikidataid":"Q40780","name_ar":"أكري","name_bn":"একর","name_de":"Acre","name_en":"Acre","name_es":"Estado de Acre","name_fr":"Acre","name_el":"Άκρε","name_hi":"आक्री","name_hu":"Acre","name_id":"Acre","name_it":"Acre","name_ja":"アクレ州","name_ko":"아크리","name_nl":"Acre","name_pl":"Acre","name_pt":"Acre","name_ru":"Акри","name_sv":"Acre","name_tr":"Acre","name_vi":"Acre","name_zh":"阿克里州","ne_id":1159310053,"name_he":"אקרי","name_uk":"Акрі","name_ur":"اکری","name_fa":"اکری","name_zht":"阿克里州","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[-74.002046,-11.12247,-66.62767,-7.116789],"geometry":{"type":"Polygon","coordinates":[[[-66.62767,-9.925466],[-66.730041,-9.975432],[-67.11142,-10.269052],[-67.190401,-10.311349],[-67.280401,-10.317194],[-67.332817,-10.357932],[-67.416972,-10.38988],[-67.582349,-10.505983],[-67.666724,-10.598906],[-67.721843,-10.683039],[-67.78575,-10.685983],[-67.835024,-10.662802],[-67.991623,-10.674492],[-68.071724,-10.703078],[-68.158571,-10.78497],[-68.266567,-10.933022],[-68.311116,-10.9751],[-68.397974,-11.018737],[-68.498323,-11.05475],[-68.622744,-11.109199],[-68.678323,-11.112802],[-68.727597,-11.12247],[-68.769894,-11.097729],[-68.784067,-11.044621],[-68.848425,-11.011091],[-69.001651,-10.994457],[-69.228442,-10.955742],[-69.462451,-10.948095],[-69.578543,-10.951699],[-69.673948,-10.954182],[-69.839776,-10.933483],[-69.960373,-10.92988],[-70.066347,-10.982526],[-70.220024,-11.047543],[-70.290446,-11.064199],[-70.341972,-11.066682],[-70.392366,-11.058574],[-70.450869,-11.024824],[-70.533222,-10.946975],[-70.596448,-10.976901],[-70.642349,-11.01019],[-70.641448,-10.840781],[-70.640317,-10.586074],[-70.639416,-10.361293],[-70.638526,-10.181513],[-70.637625,-9.971828],[-70.636944,-9.823776],[-70.593746,-9.767526],[-70.567192,-9.704531],[-70.599151,-9.620595],[-70.592175,-9.543427],[-70.570125,-9.48988],[-70.541099,-9.437453],[-70.607918,-9.463776],[-70.636944,-9.478168],[-70.672496,-9.518005],[-70.758442,-9.571772],[-70.816274,-9.625319],[-70.884444,-9.668979],[-70.970841,-9.765724],[-71.041724,-9.818832],[-71.1153,-9.852341],[-71.237918,-9.965983],[-71.339399,-9.988483],[-71.608048,-10.006017],[-71.887496,-10.005578],[-72.142873,-10.005117],[-72.181567,-10.003776],[-72.179095,-9.910173],[-72.1728,-9.844013],[-72.259866,-9.774272],[-72.265722,-9.688557],[-72.289123,-9.629142],[-72.318149,-9.556699],[-72.379123,-9.510117],[-72.464849,-9.492121],[-72.605474,-9.452065],[-72.81427,-9.410449],[-73.013847,-9.407526],[-73.209371,-9.411349],[-73.089895,-9.265781],[-72.970418,-9.12019],[-72.974022,-8.993078],[-73.070548,-8.882819],[-73.122524,-8.813979],[-73.203076,-8.719255],[-73.302524,-8.653996],[-73.356742,-8.566918],[-73.351798,-8.514272],[-73.360345,-8.479401],[-73.398149,-8.458923],[-73.435942,-8.426974],[-73.488149,-8.392104],[-73.549123,-8.345742],[-73.549123,-8.299401],[-73.572293,-8.249897],[-73.610097,-8.191845],[-73.610097,-8.145505],[-73.644968,-8.072819],[-73.682772,-8.020612],[-73.720345,-7.985742],[-73.775694,-7.936479],[-73.772772,-7.895741],[-73.732046,-7.875505],[-73.7145,-7.828923],[-73.720345,-7.782582],[-73.766916,-7.753556],[-73.822046,-7.738923],[-73.89472,-7.654767],[-73.946916,-7.61113],[-73.981798,-7.585026],[-74.002046,-7.556],[-73.981798,-7.535741],[-73.958397,-7.506716],[-73.952772,-7.460375],[-73.964242,-7.416716],[-73.964242,-7.378923],[-73.929371,-7.367233],[-73.891798,-7.373078],[-73.853994,-7.349897],[-73.80472,-7.34113],[-73.749371,-7.335263],[-73.720345,-7.309181],[-73.723267,-7.262819],[-73.758149,-7.172819],[-73.79302,-7.135026],[-73.796843,-7.116789],[-72.663526,-7.592673],[-70.37325,-8.155173],[-69.806466,-8.454199],[-66.828599,-9.838168],[-66.62767,-9.925246],[-66.62767,-9.925466]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"BRA-595","diss_me":595,"iso_3166_2":"BR-RO","wikipedia":null,"iso_a2":"BR","adm0_sr":1,"name":"Rondônia","name_alt":"Guaporé","name_local":null,"type":"Estado","type_en":"State","code_local":null,"code_hasc":"BR.RO","note":null,"hasc_maybe":"BR.RO|BRA-RND","region":null,"region_cod":null,"provnum_ne":24,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":"Rond.","postal":"RO","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":8,"mapcolor9":5,"mapcolor13":7,"fips":"BR24","fips_alt":null,"woe_id":2344865,"woe_label":"Rondonia, BR, Brazil","woe_name":"Rondônia","latitude":-10.9712,"longitude":-63.1439,"sov_a3":"BRA","adm0_a3":"BRA","adm0_label":2,"admin":"Brazil","geonunit":"Brazil","gu_a3":"BRA","gn_id":3924825,"gn_name":"Estado de Rondonia","gns_id":-667025,"gns_name":"Rondonia, Estado de","gn_level":1,"gn_region":null,"gn_a1_code":"BR.24","region_sub":"Guaporé","sub_code":null,"gns_level":1,"gns_lang":"kor","gns_adm1":"BR24","gns_region":null,"min_label":3.7,"max_label":8.5,"min_zoom":3,"wikidataid":"Q43235","name_ar":"روندونيا","name_bn":"রন্ডোনিয়া","name_de":"Rondônia","name_en":"Rondônia","name_es":"Rondônia","name_fr":"Rondônia","name_el":"Ροντόνια","name_hi":"रोन्डोनिया","name_hu":"Rondônia","name_id":"Rondônia","name_it":"Rondônia","name_ja":"ロンドニア州","name_ko":"혼도니아","name_nl":"Rondônia","name_pl":"Rondônia","name_pt":"Rondônia","name_ru":"Рондония","name_sv":"Rondônia","name_tr":"Rondônia","name_vi":"Rondônia","name_zh":"朗多尼亚州","ne_id":1159307983,"name_he":"רונדוניה","name_uk":"Рондонія","name_ur":"روندونیا","name_fa":"روندونیا","name_zht":"朗多尼亚州","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[-66.828599,-13.662949,-59.824123,-7.998793],"geometry":{"type":"Polygon","coordinates":[[[-66.62767,-9.925466],[-66.62767,-9.925246],[-66.828599,-9.838168],[-66.743774,-9.748849],[-66.69472,-9.748849],[-66.596623,-9.664013],[-66.5028,-9.632746],[-66.404692,-9.525651],[-66.395694,-9.405043],[-66.105446,-9.418556],[-65.99834,-9.400781],[-65.931291,-9.414052],[-65.766144,-9.565927],[-65.676825,-9.534638],[-65.632276,-9.449824],[-65.52517,-9.414052],[-65.444849,-9.445319],[-65.418075,-9.391772],[-65.221651,-9.257892],[-65.199151,-9.266681],[-65.172366,-9.373996],[-65.092045,-9.436332],[-65.038498,-9.400781],[-64.904618,-9.213112],[-64.926899,-9.119531],[-64.886623,-9.061479],[-64.779517,-8.985431],[-64.690198,-9.021203],[-64.596595,-9.025707],[-64.475998,-8.94988],[-64.417946,-8.972138],[-64.382175,-8.940871],[-64.217017,-8.94988],[-64.11892,-8.936367],[-64.127698,-8.686406],[-64.074151,-8.713168],[-63.998323,-8.681901],[-63.922496,-8.534531],[-63.993819,-8.440927],[-63.917991,-8.333832],[-63.752845,-8.284548],[-63.726071,-8.190944],[-63.591972,-8.164181],[-63.587698,-8.079345],[-63.538425,-7.998793],[-62.90459,-8.007802],[-62.828774,-8.016789],[-62.721448,-8.061349],[-62.676899,-8.114897],[-62.636623,-8.222233],[-62.556291,-8.289052],[-62.538526,-8.360595],[-62.4537,-8.347104],[-62.373368,-8.382875],[-62.306319,-8.570302],[-62.17245,-8.610578],[-62.132174,-8.766716],[-61.998295,-8.811496],[-61.917974,-8.873832],[-61.873424,-8.856056],[-61.837642,-8.744457],[-61.761825,-8.726681],[-61.717045,-8.686406],[-61.60995,-8.722177],[-61.60995,-8.766716],[-61.507349,-8.847048],[-61.484849,-8.914108],[-61.529618,-8.998923],[-61.556392,-9.128298],[-61.529618,-9.226625],[-61.592174,-9.239897],[-61.60995,-9.320449],[-61.547394,-9.409548],[-61.551899,-9.463095],[-61.480575,-9.63725],[-61.52062,-9.704289],[-61.565401,-9.726569],[-61.52062,-9.860449],[-61.534123,-9.994548],[-61.569674,-10.061367],[-61.565401,-10.262307],[-61.471567,-10.43644],[-61.502845,-10.686423],[-61.471567,-10.757746],[-61.52062,-10.789013],[-61.507349,-10.878354],[-61.52062,-10.954182],[-61.471567,-10.99894],[-60.440401,-11.003444],[-60.440401,-11.038996],[-60.382349,-11.101552],[-60.279517,-11.079272],[-60.176916,-11.119548],[-60.069821,-11.115043],[-60.002771,-11.146332],[-59.908948,-11.382802],[-60.025041,-11.534677],[-60.101099,-11.601496],[-60.101099,-11.744362],[-60.060823,-11.905246],[-59.984995,-11.918518],[-59.931448,-12.052397],[-59.886668,-12.128444],[-59.891172,-12.244548],[-59.824123,-12.387194],[-59.908948,-12.619401],[-60.002771,-12.731],[-60.043047,-12.873867],[-60.083092,-12.927414],[-60.194691,-12.972194],[-60.27075,-13.070302],[-60.275024,-13.137341],[-60.351071,-13.27122],[-60.382349,-13.418591],[-60.659095,-13.601513],[-60.724793,-13.662949],[-60.914472,-13.561479],[-61.076916,-13.489694],[-61.129123,-13.498483],[-61.415998,-13.526608],[-61.511623,-13.54122],[-61.57575,-13.524807],[-61.78995,-13.525708],[-61.874095,-13.470358],[-61.944748,-13.40622],[-62.094821,-13.241975],[-62.117991,-13.159841],[-62.176043,-13.133737],[-62.264021,-13.143647],[-62.352901,-13.132397],[-62.525474,-13.064216],[-62.687017,-12.994255],[-62.765547,-12.997177],[-62.835069,-12.953737],[-62.957918,-12.847104],[-63.015299,-12.805466],[-63.041392,-12.750358],[-63.067496,-12.669125],[-63.116769,-12.651569],[-63.180666,-12.666203],[-63.249748,-12.707819],[-63.346724,-12.680156],[-63.4653,-12.605229],[-63.541797,-12.546716],[-63.585666,-12.519052],[-63.688498,-12.478095],[-63.788166,-12.469548],[-63.93847,-12.529621],[-64.06155,-12.5051],[-64.255041,-12.483281],[-64.420418,-12.439841],[-64.480722,-12.32622],[-64.51334,-12.251074],[-64.611668,-12.203832],[-64.689968,-12.14644],[-64.78334,-12.059362],[-64.829922,-12.030358],[-64.914297,-12.006057],[-64.992597,-11.975229],[-65.001144,-11.9201],[-65.03017,-11.847414],[-65.037146,-11.829418],[-65.090243,-11.74122],[-65.115215,-11.735156],[-65.14267,-11.75225],[-65.163368,-11.765082],[-65.185649,-11.749548],[-65.189692,-11.710173],[-65.1753,-11.646957],[-65.206116,-11.580578],[-65.282175,-11.511057],[-65.322,-11.439272],[-65.325593,-11.364807],[-65.342468,-11.315082],[-65.372845,-11.28988],[-65.38995,-11.24622],[-65.393543,-11.184345],[-65.371493,-11.110319],[-65.323791,-11.024824],[-65.33392,-10.892746],[-65.402321,-10.714767],[-65.439894,-10.586293],[-65.44709,-10.507324],[-65.436972,-10.449052],[-65.395345,-10.392341],[-65.312991,-10.253078],[-65.298599,-10.146862],[-65.324472,-10.026957],[-65.328075,-9.935595],[-65.309399,-9.872599],[-65.337974,-9.790246],[-65.396246,-9.712397],[-65.436741,-9.710375],[-65.49209,-9.731755],[-65.5587,-9.797453],[-65.63722,-9.809142],[-65.706741,-9.768427],[-65.924776,-9.785522],[-66.263616,-9.826017],[-66.399297,-9.868095],[-66.478948,-9.886091],[-66.575243,-9.899824],[-66.62767,-9.925466]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"BRA-670","diss_me":670,"iso_3166_2":"BR-RR","wikipedia":null,"iso_a2":"BR","adm0_sr":1,"name":"Roraima","name_alt":"Rio Branco","name_local":null,"type":"Estado","type_en":"State","code_local":null,"code_hasc":"BR.RR","note":null,"hasc_maybe":null,"region":null,"region_cod":null,"provnum_ne":26,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":"Rora.","postal":"RR","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":7,"mapcolor9":5,"mapcolor13":7,"fips":"BR25","fips_alt":null,"woe_id":2344866,"woe_label":"Roraima, BR, Brazil","woe_name":"Roraima","latitude":1.93803,"longitude":-61.3325,"sov_a3":"BRA","adm0_a3":"BRA","adm0_label":2,"admin":"Brazil","geonunit":"Brazil","gu_a3":"BRA","gn_id":3662560,"gn_name":"Estado de Roraima","gns_id":-667043,"gns_name":"Roraima, Estado de","gn_level":1,"gn_region":null,"gn_a1_code":"BR.25","region_sub":null,"sub_code":null,"gns_level":1,"gns_lang":"kor","gns_adm1":"BR25","gns_region":null,"min_label":3.7,"max_label":8.5,"min_zoom":3,"wikidataid":"Q42508","name_ar":"رورايما","name_bn":"রোরাইমা প্রদেশ","name_de":"Roraima","name_en":"Roraima","name_es":"Roraima","name_fr":"Roraima","name_el":"Ροράιμα","name_hi":"रोरैमा","name_hu":"Roraima","name_id":"Roraima","name_it":"Roraima","name_ja":"ロライマ州","name_ko":"호라이마","name_nl":"Roraima","name_pl":"Roraima","name_pt":"Roraima","name_ru":"Рорайма","name_sv":"Roraima","name_tr":"Roraima","name_vi":"Roraima","name_zh":"罗赖马州","ne_id":1159308883,"name_he":"רוריימה","name_uk":"Рорайма","name_ur":"رورائیما","name_fa":"رورایما","name_zht":"羅賴馬州","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[-64.817771,-1.449491,-58.868773,5.257981],"geometry":{"type":"Polygon","coordinates":[[[-58.868773,0.224276],[-59.770575,0.22878],[-60.025041,0.224276],[-60.127873,0.130672],[-60.167918,0.005582],[-60.216972,-0.043483],[-60.252743,-0.150578],[-60.310795,-0.235392],[-60.315299,-0.306957],[-60.386623,-0.463095],[-60.391116,-0.521146],[-60.315299,-0.619474],[-60.306291,-0.673021],[-60.337569,-0.704289],[-60.467174,-0.740082],[-60.516217,-0.829181],[-60.641099,-0.860448],[-60.734922,-0.851681],[-60.815243,-0.686293],[-60.904573,-0.610465],[-60.931347,-0.556918],[-61.060722,-0.530155],[-61.105491,-0.494362],[-61.221595,-0.498866],[-61.243875,-0.547931],[-61.458075,-0.63725],[-61.534123,-0.726569],[-61.578672,-0.945263],[-61.560896,-1.021332],[-61.574168,-1.141698],[-61.618948,-1.275797],[-61.619849,-1.449491],[-61.717276,-1.401129],[-61.798498,-1.388737],[-61.88084,-1.389198],[-61.877698,-1.369401],[-61.93575,-1.24453],[-62.029573,-1.146203],[-62.141172,-1.065871],[-62.203717,-1.04359],[-62.243774,-0.981056],[-62.315317,-0.945263],[-62.417918,-0.829181],[-62.507248,-0.771129],[-62.47597,-0.695302],[-62.377873,-0.717582],[-62.310823,-0.641754],[-62.319821,-0.521146],[-62.368875,-0.467599],[-62.373368,-0.342729],[-62.404646,-0.271164],[-62.47597,-0.222121],[-62.511741,-0.123793],[-62.569793,-0.047965],[-62.578791,0.018854],[-62.525024,0.094901],[-62.565299,0.175233],[-62.569793,0.246556],[-62.534021,0.313606],[-62.529517,0.429698],[-62.489472,0.48775],[-62.484967,0.541297],[-62.538526,0.675177],[-62.534021,0.733229],[-62.444692,0.804783],[-62.511741,0.960931],[-62.516246,1.059248],[-62.614342,1.362778],[-62.62334,1.416326],[-62.721448,1.496658],[-62.788498,1.603752],[-62.71267,1.737632],[-62.730446,1.831455],[-62.690401,1.911776],[-62.708166,1.947547],[-62.846549,2.018882],[-63.002698,2.018882],[-63.123295,2.112705],[-63.150069,2.179754],[-63.306448,2.166252],[-63.393746,2.224073],[-63.374849,2.340408],[-63.389241,2.411951],[-63.584545,2.434],[-63.712569,2.434],[-63.924067,2.452457],[-64.024866,2.481922],[-64.046696,2.502401],[-64.048718,2.525132],[-64.0287,2.575976],[-64.009123,2.671832],[-64.037698,2.801427],[-64.143442,3.004828],[-64.218819,3.204625],[-64.228718,3.343899],[-64.227146,3.49128],[-64.221071,3.587356],[-64.2753,3.662733],[-64.568019,3.899873],[-64.66905,4.011703],[-64.702569,4.089332],[-64.817771,4.232198],[-64.788746,4.276078],[-64.722366,4.274507],[-64.665446,4.237153],[-64.6137,4.157733],[-64.576347,4.139957],[-64.525491,4.139957],[-64.255722,4.140408],[-64.192496,4.126905],[-64.154241,4.100132],[-64.121623,4.067052],[-64.07347,3.974349],[-64.021493,3.92913],[-63.914618,3.930701],[-63.747,3.932502],[-63.652946,3.94083],[-63.596696,3.914957],[-63.526724,3.893798],[-63.379793,3.942851],[-63.338616,3.943983],[-63.294748,3.922153],[-63.136116,3.756556],[-63.045215,3.686573],[-62.968717,3.593882],[-62.856899,3.593431],[-62.764646,3.672851],[-62.739894,3.94038],[-62.71222,4.017998],[-62.665418,4.039608],[-62.609849,4.0423],[-62.54392,4.084377],[-62.472597,4.138606],[-62.410722,4.156832],[-62.153092,4.09833],[-62.081549,4.126224],[-61.820767,4.197108],[-61.554151,4.287778],[-61.479444,4.4023],[-61.367625,4.432908],[-61.280097,4.516832],[-61.209444,4.508054],[-61.102349,4.504681],[-61.0362,4.519304],[-61.002901,4.535278],[-60.966448,4.574653],[-60.906144,4.686703],[-60.83347,4.729231],[-60.741668,4.774231],[-60.679123,4.827108],[-60.627597,4.892576],[-60.603745,4.949276],[-60.604416,4.994507],[-60.635024,5.082024],[-60.671916,5.164377],[-60.711972,5.191602],[-60.742118,5.201951],[-60.651448,5.221078],[-60.576521,5.192502],[-60.459517,5.187998],[-60.408892,5.210048],[-60.335097,5.199248],[-60.241724,5.257981],[-60.181651,5.238854],[-60.142045,5.238854],[-60.106043,5.194304],[-60.078149,5.143899],[-59.99062,5.082925],[-59.999398,4.989783],[-60.015373,4.907429],[-60.026842,4.812705],[-60.031797,4.740481],[-60.06892,4.666675],[-60.1245,4.597604],[-60.140924,4.569698],[-60.148571,4.533257],[-60.111217,4.511207],[-60.045069,4.504681],[-59.962276,4.501748],[-59.906026,4.48038],[-59.83334,4.475875],[-59.745823,4.416703],[-59.703295,4.381151],[-59.699691,4.353476],[-59.727597,4.287548],[-59.738616,4.226804],[-59.716797,4.188099],[-59.691144,4.160425],[-59.620271,4.023173],[-59.586521,3.975481],[-59.557715,3.959957],[-59.5512,3.933623],[-59.575491,3.883448],[-59.604517,3.819783],[-59.670215,3.752733],[-59.678993,3.699856],[-59.731651,3.666556],[-59.8545,3.587576],[-59.83312,3.462255],[-59.828847,3.398578],[-59.831099,3.349304],[-59.872946,3.283155],[-59.94562,3.087851],[-59.972394,2.990425],[-59.995795,2.765425],[-59.994444,2.690047],[-59.960694,2.588358],[-59.88959,2.362908],[-59.849095,2.327125],[-59.755271,2.274028],[-59.743571,2.121703],[-59.751668,1.962401],[-59.756172,1.900526],[-59.740648,1.874203],[-59.698571,1.861382],[-59.668424,1.842254],[-59.6637,1.795233],[-59.666623,1.746179],[-59.596651,1.718054],[-59.535666,1.700047],[-59.479416,1.632328],[-59.377715,1.527254],[-59.33722,1.508127],[-59.316972,1.464698],[-59.231245,1.37605],[-59.100299,1.343651],[-58.968441,1.304507],[-58.96642,1.302474],[-58.868773,0.224276]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"BRA-592","diss_me":592,"iso_3166_2":"BR-AM","wikipedia":null,"iso_a2":"BR","adm0_sr":1,"name":"Amazonas","name_alt":"Amazone","name_local":null,"type":"Estado","type_en":"State","code_local":null,"code_hasc":"BR.AM","note":null,"hasc_maybe":null,"region":null,"region_cod":null,"provnum_ne":25,"gadm_level":1,"check_me":20,"datarank":6,"abbrev":"Amaz.","postal":"AM","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":8,"mapcolor9":5,"mapcolor13":7,"fips":"BR04","fips_alt":null,"woe_id":2344847,"woe_label":"Amazonas, BR, Brazil","woe_name":"Amazonas","latitude":-4.21774,"longitude":-63.7853,"sov_a3":"BRA","adm0_a3":"BRA","adm0_label":2,"admin":"Brazil","geonunit":"Brazil","gu_a3":"BRA","gn_id":3665361,"gn_name":"Estado do Amazonas","gns_id":-624593,"gns_name":"Amazonas, Estado do","gn_level":1,"gn_region":null,"gn_a1_code":"BR.04","region_sub":null,"sub_code":null,"gns_level":1,"gns_lang":"por","gns_adm1":"BR04","gns_region":null,"min_label":3.7,"max_label":8.5,"min_zoom":3,"wikidataid":"Q40040","name_ar":"الأمازون","name_bn":"আমাজোনাস","name_de":"Amazonas","name_en":"Amazonas","name_es":"Amazonas","name_fr":"Amazonas","name_el":"Αμαζόνας","name_hi":"आमेज़ोनास","name_hu":"Amazonas","name_id":"Amazonas","name_it":"Amazonas","name_ja":"アマゾナス州","name_ko":"아마조나스","name_nl":"Amazonas","name_pl":"Amazonas","name_pt":"Amazonas","name_ru":"Амазонас","name_sv":"Amazonas","name_tr":"Amazonas","name_vi":"Amazonas","name_zh":"亚马孙州","ne_id":1159307981,"name_he":"אמזונאס","name_uk":"Амазонас","name_ur":"ایمازوناس","name_fa":"آمازوناس","name_zht":"亚马孙州","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[-73.80472,-9.838168,-56.391071,2.224073],"geometry":{"type":"Polygon","coordinates":[[[-66.828599,-9.838168],[-69.806466,-8.454199],[-70.37325,-8.155173],[-72.663526,-7.592673],[-73.796843,-7.116789],[-73.80472,-7.079897],[-73.776375,-6.973483],[-73.758149,-6.905741],[-73.694472,-6.833737],[-73.499849,-6.679401],[-73.325474,-6.574767],[-73.240418,-6.563979],[-73.177423,-6.525263],[-73.137367,-6.465871],[-73.126347,-6.400854],[-73.135345,-6.344362],[-73.167744,-6.260668],[-73.206449,-6.156496],[-73.235474,-6.098444],[-73.209371,-6.028703],[-73.1628,-5.933298],[-73.068076,-5.78953],[-72.979867,-5.634953],[-72.970199,-5.589733],[-72.958949,-5.495229],[-72.918222,-5.302616],[-72.895722,-5.198224],[-72.907423,-5.157729],[-72.887175,-5.122858],[-72.832045,-5.093832],[-72.698617,-5.067267],[-72.608397,-5.009677],[-72.468892,-4.90122],[-72.3528,-4.786017],[-72.256724,-4.748905],[-72.082569,-4.64225],[-71.982451,-4.57453],[-71.943076,-4.553371],[-71.844748,-4.504328],[-71.668341,-4.487233],[-71.52142,-4.469677],[-71.438166,-4.437487],[-71.316899,-4.424215],[-71.234996,-4.388224],[-71.144326,-4.387323],[-70.973774,-4.350431],[-70.915722,-4.295302],[-70.865998,-4.229604],[-70.799619,-4.173354],[-70.72155,-4.15894],[-70.634472,-4.16863],[-70.53075,-4.167487],[-70.404748,-4.150173],[-70.343543,-4.19359],[-70.317,-4.246918],[-70.239151,-4.301147],[-70.184022,-4.298224],[-70.128892,-4.286513],[-70.053295,-4.333095],[-70.004022,-4.32725],[-69.972073,-4.301147],[-69.965998,-4.235888],[-69.948222,-4.200578],[-69.911099,-3.996496],[-69.849675,-3.659897],[-69.794095,-3.354565],[-69.73267,-3.016625],[-69.668994,-2.667655],[-69.604647,-2.314181],[-69.551769,-2.024142],[-69.50655,-1.77484],[-69.478644,-1.622064],[-69.434996,-1.421608],[-69.417901,-1.245651],[-69.400345,-1.195026],[-69.411375,-1.152267],[-69.449168,-1.091513],[-69.448718,-1.06497],[-69.444444,-1.029638],[-69.448718,-0.998832],[-69.488323,-0.965741],[-69.519371,-0.945724],[-69.543442,-0.917138],[-69.554692,-0.877323],[-69.5745,-0.837729],[-69.583267,-0.795871],[-69.611843,-0.762802],[-69.620621,-0.720944],[-69.600823,-0.681349],[-69.592045,-0.639271],[-69.600823,-0.599677],[-69.611843,-0.553314],[-69.633892,-0.509215],[-69.667423,-0.482453],[-69.747524,-0.452526],[-69.827845,-0.381422],[-69.9228,-0.317526],[-70.044067,-0.196237],[-70.070621,-0.138866],[-70.070841,0.018623],[-70.065666,0.189405],[-70.058019,0.447254],[-70.053966,0.578651],[-69.985345,0.585858],[-69.925041,0.58945],[-69.862045,0.598448],[-69.807147,0.607457],[-69.756741,0.626354],[-69.718948,0.649754],[-69.673718,0.665047],[-69.638616,0.659653],[-69.603526,0.680351],[-69.564821,0.700149],[-69.527017,0.716354],[-69.472119,0.729856],[-69.420823,0.698358],[-69.392017,0.666849],[-69.358718,0.651556],[-69.32722,0.655149],[-69.305621,0.652457],[-69.283121,0.627254],[-69.254095,0.625453],[-69.212698,0.629957],[-69.173994,0.635351],[-69.155998,0.642547],[-69.153295,0.658752],[-69.163194,0.686658],[-69.176696,0.71275],[-69.165897,0.753257],[-69.164996,0.801849],[-69.163194,0.863955],[-69.193791,0.898375],[-69.224399,0.963172],[-69.258599,1.015379],[-69.311916,1.050481],[-69.36142,1.063983],[-69.402817,1.042373],[-69.441522,1.03878],[-69.470317,1.058578],[-69.517119,1.059479],[-69.567524,1.065774],[-69.620841,1.0732],[-69.716916,1.059028],[-69.751347,1.076573],[-69.798149,1.078375],[-69.852147,1.059479],[-69.850795,1.30878],[-69.849444,1.543899],[-69.848543,1.708826],[-69.799951,1.705233],[-69.739647,1.734929],[-69.650097,1.739422],[-69.581246,1.770701],[-69.542991,1.773172],[-69.470097,1.757879],[-69.394269,1.725701],[-69.319793,1.721207],[-69.124269,1.721207],[-68.913222,1.721427],[-68.678543,1.721427],[-68.443425,1.721658],[-68.239573,1.721658],[-68.176567,1.719856],[-68.21325,1.774524],[-68.255998,1.845408],[-68.239343,1.901427],[-68.218425,1.957677],[-68.193892,1.986922],[-68.130215,1.955875],[-68.077119,1.86003],[-68.0328,1.788026],[-67.989821,1.752474],[-67.936274,1.748431],[-67.875519,1.760582],[-67.814996,1.790047],[-67.711944,1.922125],[-67.609123,2.035076],[-67.556026,2.073099],[-67.499545,2.107981],[-67.457698,2.121252],[-67.400547,2.116748],[-67.351944,2.085931],[-67.320666,2.032153],[-67.205925,1.844726],[-67.119297,1.703651],[-67.090041,1.615672],[-67.08825,1.400582],[-67.093644,1.210002],[-67.082175,1.185481],[-67.0653,1.178274],[-66.876071,1.223054],[-66.619123,0.992198],[-66.429224,0.821658],[-66.34709,0.767198],[-66.301651,0.751905],[-66.191172,0.763375],[-66.059996,0.785425],[-65.996319,0.809726],[-65.925897,0.863054],[-65.811375,0.9373],[-65.718222,0.978026],[-65.68155,0.983431],[-65.644647,0.970379],[-65.566116,0.92605],[-65.522918,0.843476],[-65.562743,0.747401],[-65.555998,0.687998],[-65.473425,0.691151],[-65.407276,0.790379],[-65.360925,0.868679],[-65.263948,0.931905],[-65.169675,1.022125],[-65.103746,1.108082],[-65.026567,1.158476],[-64.910024,1.219681],[-64.817991,1.257024],[-64.731595,1.253431],[-64.667468,1.293927],[-64.584444,1.369974],[-64.526172,1.430948],[-64.486116,1.452778],[-64.405125,1.446922],[-64.304095,1.45525],[-64.205097,1.529507],[-64.114866,1.619276],[-64.066944,1.770481],[-64.035446,1.904349],[-64.008442,1.931573],[-63.975823,1.952953],[-63.937118,1.966905],[-63.844416,1.976804],[-63.682192,2.048127],[-63.570373,2.120582],[-63.463948,2.136106],[-63.43245,2.155453],[-63.393965,2.222502],[-63.393746,2.224073],[-63.306448,2.166252],[-63.150069,2.179754],[-63.123295,2.112705],[-63.002698,2.018882],[-62.846549,2.018882],[-62.708166,1.947547],[-62.690401,1.911776],[-62.730446,1.831455],[-62.71267,1.737632],[-62.788498,1.603752],[-62.721448,1.496658],[-62.62334,1.416326],[-62.614342,1.362778],[-62.516246,1.059248],[-62.511741,0.960931],[-62.444692,0.804783],[-62.534021,0.733229],[-62.538526,0.675177],[-62.484967,0.541297],[-62.489472,0.48775],[-62.529517,0.429698],[-62.534021,0.313606],[-62.569793,0.246556],[-62.565299,0.175233],[-62.525024,0.094901],[-62.578791,0.018854],[-62.569793,-0.047965],[-62.511741,-0.123793],[-62.47597,-0.222121],[-62.404646,-0.271164],[-62.373368,-0.342729],[-62.368875,-0.467599],[-62.319821,-0.521146],[-62.310823,-0.641754],[-62.377873,-0.717582],[-62.47597,-0.695302],[-62.507248,-0.771129],[-62.417918,-0.829181],[-62.315317,-0.945263],[-62.243774,-0.981056],[-62.203717,-1.04359],[-62.141172,-1.065871],[-62.029573,-1.146203],[-61.93575,-1.24453],[-61.877698,-1.369401],[-61.88084,-1.389198],[-61.798498,-1.388737],[-61.717276,-1.401129],[-61.619849,-1.449491],[-61.618948,-1.275797],[-61.574168,-1.141698],[-61.560896,-1.021332],[-61.578672,-0.945263],[-61.534123,-0.726569],[-61.458075,-0.63725],[-61.243875,-0.547931],[-61.221595,-0.498866],[-61.105491,-0.494362],[-61.060722,-0.530155],[-60.931347,-0.556918],[-60.904573,-0.610465],[-60.815243,-0.686293],[-60.734922,-0.851681],[-60.641099,-0.860448],[-60.516217,-0.829181],[-60.467174,-0.740082],[-60.337569,-0.704289],[-60.306291,-0.673021],[-60.315299,-0.619474],[-60.391116,-0.521146],[-60.386623,-0.463095],[-60.315299,-0.306957],[-60.310795,-0.235392],[-60.252743,-0.150578],[-60.216972,-0.043483],[-60.167918,0.005582],[-60.127873,0.130672],[-60.025041,0.224276],[-59.770575,0.22878],[-58.868773,0.224276],[-58.850998,-0.083737],[-58.8645,-0.173078],[-58.855491,-0.351496],[-58.739398,-0.432047],[-58.748396,-0.623979],[-58.703616,-0.695302],[-58.627799,-0.766845],[-58.569748,-0.76234],[-58.440373,-0.860448],[-58.391099,-1.048095],[-58.315271,-1.119418],[-58.252715,-1.128427],[-58.159123,-1.235522],[-58.083075,-1.298078],[-57.980474,-1.347121],[-57.900142,-1.422948],[-57.828599,-1.445229],[-57.654674,-1.588095],[-57.565344,-1.623866],[-57.449241,-1.690927],[-57.337642,-1.730983],[-57.275097,-1.713207],[-57.248323,-1.757746],[-57.167991,-1.771237],[-57.08767,-1.811293],[-57.007349,-1.936405],[-56.824196,-2.034491],[-56.743875,-2.052487],[-56.748368,-2.177379],[-56.636769,-2.222138],[-56.498396,-2.159604],[-56.484894,-2.248922],[-56.400969,-2.33622],[-56.391071,-2.391789],[-56.757146,-3.186496],[-58.292991,-6.49894],[-58.374444,-6.570505],[-58.436769,-6.675798],[-58.455446,-6.793923],[-58.385924,-6.949181],[-58.228424,-7.141552],[-58.146291,-7.2635],[-58.136623,-7.338207],[-58.20187,-7.414474],[-58.2237,-7.484677],[-58.22392,-7.574677],[-58.259472,-7.673224],[-58.330344,-7.780099],[-58.353526,-7.905871],[-58.328773,-8.050539],[-58.354416,-8.276],[-58.397174,-8.415505],[-58.426651,-8.523039],[-58.471651,-8.690888],[-58.547467,-8.74894],[-61.60995,-8.766716],[-61.60995,-8.722177],[-61.717045,-8.686406],[-61.761825,-8.726681],[-61.837642,-8.744457],[-61.873424,-8.856056],[-61.917974,-8.873832],[-61.998295,-8.811496],[-62.132174,-8.766716],[-62.17245,-8.610578],[-62.306319,-8.570302],[-62.373368,-8.382875],[-62.4537,-8.347104],[-62.538526,-8.360595],[-62.556291,-8.289052],[-62.636623,-8.222233],[-62.676899,-8.114897],[-62.721448,-8.061349],[-62.828774,-8.016789],[-62.90459,-8.007802],[-63.538425,-7.998793],[-63.587698,-8.079345],[-63.591972,-8.164181],[-63.726071,-8.190944],[-63.752845,-8.284548],[-63.917991,-8.333832],[-63.993819,-8.440927],[-63.922496,-8.534531],[-63.998323,-8.681901],[-64.074151,-8.713168],[-64.127698,-8.686406],[-64.11892,-8.936367],[-64.217017,-8.94988],[-64.382175,-8.940871],[-64.417946,-8.972138],[-64.475998,-8.94988],[-64.596595,-9.025707],[-64.690198,-9.021203],[-64.779517,-8.985431],[-64.886623,-9.061479],[-64.926899,-9.119531],[-64.904618,-9.213112],[-65.038498,-9.400781],[-65.092045,-9.436332],[-65.172366,-9.373996],[-65.199151,-9.266681],[-65.221651,-9.257892],[-65.418075,-9.391772],[-65.444849,-9.445319],[-65.52517,-9.414052],[-65.632276,-9.449824],[-65.676825,-9.534638],[-65.766144,-9.565927],[-65.931291,-9.414052],[-65.99834,-9.400781],[-66.105446,-9.418556],[-66.395694,-9.405043],[-66.404692,-9.525651],[-66.5028,-9.632746],[-66.596623,-9.664013],[-66.69472,-9.748849],[-66.743774,-9.748849],[-66.828599,-9.838168]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"BRA-594","diss_me":594,"iso_3166_2":"BR-PA","wikipedia":null,"iso_a2":"BR","adm0_sr":5,"name":"Pará","name_alt":null,"name_local":null,"type":"Estado","type_en":"State","code_local":null,"code_hasc":"BR.PA","note":null,"hasc_maybe":null,"region":null,"region_cod":null,"provnum_ne":7,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":"M.Ger.","postal":"PA","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":4,"mapcolor9":5,"mapcolor13":7,"fips":"BR16","fips_alt":null,"woe_id":2344857,"woe_label":"Para, BR, Brazil","woe_name":"Pará","latitude":-4.44313,"longitude":-52.6491,"sov_a3":"BRA","adm0_a3":"BRA","adm0_label":2,"admin":"Brazil","geonunit":"Brazil","gu_a3":"BRA","gn_id":3393129,"gn_name":"Estado do Para","gns_id":-659233,"gns_name":"Para, Estado do","gn_level":1,"gn_region":null,"gn_a1_code":"BR.16","region_sub":null,"sub_code":null,"gns_level":1,"gns_lang":"por","gns_adm1":"BR16","gns_region":null,"min_label":3.7,"max_label":8.5,"min_zoom":3,"wikidataid":"Q39517","name_ar":"بارا","name_bn":"প্যাারা","name_de":"Pará","name_en":"Pará","name_es":"Pará","name_fr":"Pará","name_el":"Παρά","name_hi":"पारा","name_hu":"Pará","name_id":"Pará","name_it":"Pará","name_ja":"パラー州","name_ko":"파라","name_nl":"Pará","name_pl":"Pará","name_pt":"Pará","name_ru":"Пара","name_sv":"Pará","name_tr":"Pará","name_vi":"Pará","name_zh":"帕拉","ne_id":1159307941,"name_he":"פארה","name_uk":"Пара","name_ur":"پارا","name_fa":"پارا","name_zht":"帕拉","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[-58.96642,-9.842673,-46.00709,2.597576],"geometry":{"type":"MultiPolygon","coordinates":[[[[-58.868773,0.224276],[-58.96642,1.302474],[-58.916696,1.248927],[-58.862467,1.203707],[-58.821741,1.201224],[-58.787321,1.208431],[-58.730401,1.247576],[-58.684719,1.281106],[-58.605069,1.279073],[-58.511916,1.284698],[-58.495722,1.312153],[-58.486944,1.347705],[-58.506071,1.438606],[-58.472991,1.46628],[-58.395823,1.481804],[-58.380299,1.530177],[-58.362743,1.556731],[-58.340694,1.587547],[-58.314151,1.592052],[-58.281071,1.574276],[-58.230446,1.563257],[-58.173075,1.547953],[-58.142248,1.516905],[-58.091392,1.514422],[-58.034691,1.520278],[-58.011741,1.539856],[-57.995097,1.574276],[-57.982715,1.648533],[-57.946273,1.650554],[-57.873368,1.667198],[-57.79575,1.700047],[-57.691797,1.704783],[-57.59437,1.704101],[-57.545767,1.726151],[-57.500547,1.773854],[-57.412799,1.908854],[-57.366898,1.940132],[-57.317394,1.963533],[-57.275547,1.959248],[-57.18959,1.981528],[-57.118948,2.013927],[-57.092625,2.00583],[-57.037495,1.936528],[-57.01004,1.921224],[-56.969545,1.9165],[-56.836797,1.881179],[-56.766375,1.892198],[-56.689866,1.914248],[-56.616521,1.922576],[-56.563644,1.907283],[-56.525401,1.9273],[-56.482872,1.942153],[-56.452946,1.932254],[-56.385896,1.923927],[-56.227045,1.885453],[-56.019821,1.842254],[-55.96334,1.857108],[-55.92959,1.887474],[-55.921724,1.976573],[-55.915418,2.03958],[-55.962,2.095149],[-56.02004,2.158155],[-56.073599,2.236675],[-56.137715,2.258955],[-56.129398,2.299451],[-56.087771,2.341297],[-56.045023,2.364479],[-56.020271,2.392823],[-55.993497,2.497457],[-55.975491,2.515903],[-55.957495,2.520408],[-55.935896,2.516573],[-55.893819,2.48958],[-55.730474,2.406106],[-55.65892,2.418707],[-55.385316,2.440526],[-55.34392,2.488679],[-55.286099,2.499698],[-55.187771,2.547401],[-55.148847,2.550774],[-55.114196,2.539304],[-55.070316,2.548302],[-55.00575,2.593082],[-54.978745,2.597576],[-54.968396,2.548302],[-54.926549,2.497457],[-54.876144,2.450425],[-54.851622,2.439625],[-54.766797,2.454698],[-54.722247,2.441658],[-54.714821,2.425002],[-54.734849,2.416224],[-54.717073,2.26458],[-54.788396,2.130481],[-54.752844,2.081427],[-54.7929,2.010104],[-54.761622,1.969828],[-54.766116,1.898504],[-54.734849,1.773403],[-54.5787,1.782401],[-54.498368,1.746629],[-54.3645,1.760132],[-54.203616,1.6573],[-54.172349,1.6573],[-54.08325,1.541207],[-54.078745,1.505655],[-54.007191,1.523431],[-53.922366,1.460875],[-53.891099,1.407328],[-53.757219,1.394056],[-53.739443,1.434101],[-53.659122,1.42083],[-53.650125,1.362778],[-53.55629,1.367283],[-53.538525,1.242181],[-53.440198,1.259957],[-53.40892,1.184129],[-53.466971,1.152851],[-53.417918,0.943155],[-53.266273,0.782283],[-53.132174,0.751004],[-53.114398,0.719957],[-53.141172,0.536804],[-53.12767,0.384929],[-53.042844,0.246556],[-53.007293,0.134957],[-53.016071,0.054625],[-52.976025,-0.016698],[-52.913469,-0.190854],[-52.828644,-0.181845],[-52.699269,-0.302453],[-52.627715,-0.396276],[-52.632219,-0.556918],[-52.605446,-0.610465],[-52.525125,-0.646237],[-52.507349,-0.731073],[-52.516116,-0.873939],[-52.400023,-0.869457],[-52.368745,-0.923004],[-52.391245,-0.954272],[-52.359967,-1.070375],[-52.23937,-1.146203],[-52.132275,-1.150707],[-52.051943,-1.17747],[-51.984894,-1.141698],[-51.888148,-1.160375],[-51.921667,-1.180854],[-51.9345,-1.320358],[-51.98084,-1.368039],[-52.020446,-1.399108],[-52.229241,-1.362414],[-52.553469,-1.514069],[-52.664168,-1.551642],[-52.310243,-1.55953],[-52.196622,-1.640082],[-51.94754,-1.586754],[-51.646273,-1.394362],[-51.53129,-1.354108],[-51.297292,-1.22359],[-51.202349,-1.136513],[-51.028874,-1.032121],[-50.991971,-0.98622],[-50.894995,-0.937616],[-50.842349,-0.999491],[-50.838295,-1.038866],[-50.917946,-1.115155],[-50.897247,-1.164418],[-50.84459,-1.226293],[-50.825474,-1.311349],[-50.818717,-1.376147],[-50.786099,-1.489987],[-50.678993,-1.643905],[-50.6754,-1.69475],[-50.690023,-1.761789],[-50.638717,-1.817138],[-50.58562,-1.849987],[-50.403148,-2.015595],[-50.260491,-1.922892],[-50.172743,-1.896129],[-50.116493,-1.857414],[-49.999269,-1.831772],[-49.902974,-1.870707],[-49.71959,-1.926276],[-49.585271,-1.867104],[-49.3137,-1.731642],[-49.398745,-1.971496],[-49.46017,-2.191552],[-49.506971,-2.28019],[-49.553323,-2.519823],[-49.599224,-2.58394],[-49.636566,-2.656845],[-49.575823,-2.631422],[-49.523846,-2.596772],[-49.457467,-2.50453],[-49.407743,-2.344328],[-49.211099,-1.916608],[-49.154849,-1.878573],[-48.991273,-1.82975],[-48.710023,-1.487746],[-48.599995,-1.488647],[-48.529573,-1.567397],[-48.462973,-1.613979],[-48.445868,-1.520375],[-48.349792,-1.482121],[-48.451493,-1.43578],[-48.468148,-1.393922],[-48.477816,-1.32372],[-48.408525,-1.229215],[-48.449691,-1.145522],[-48.306594,-1.039767],[-48.317624,-0.960578],[-48.266549,-0.895099],[-48.201741,-0.827819],[-48.128396,-0.795189],[-48.115124,-0.737599],[-48.068773,-0.713737],[-48.03254,-0.70497],[-47.960997,-0.769547],[-47.883368,-0.69328],[-47.807771,-0.663573],[-47.77379,-0.676845],[-47.731493,-0.710375],[-47.687174,-0.724767],[-47.651172,-0.718703],[-47.557348,-0.669879],[-47.470721,-0.748629],[-47.418745,-0.765944],[-47.432917,-0.721845],[-47.460372,-0.680888],[-47.438993,-0.647599],[-47.398047,-0.626681],[-47.268672,-0.645358],[-47.200491,-0.680448],[-47.126915,-0.745465],[-47.024544,-0.750189],[-46.944443,-0.743444],[-46.893598,-0.779896],[-46.811245,-0.779677],[-46.769848,-0.836608],[-46.644516,-0.916479],[-46.617292,-0.970707],[-46.516273,-0.996789],[-46.421769,-1.030099],[-46.320749,-1.039108],[-46.219049,-1.03122],[-46.214995,-1.09984],[-46.140299,-1.118297],[-46.044674,-1.103004],[-46.00709,-1.146862],[-46.1412,-1.240026],[-46.158965,-1.315854],[-46.123193,-1.347121],[-46.199241,-1.485504],[-46.181245,-1.574823],[-46.199241,-1.677414],[-46.24379,-1.722194],[-46.315344,-1.730983],[-46.301842,-1.802526],[-46.217016,-1.80703],[-46.212523,-1.927397],[-46.279573,-2.141828],[-46.377669,-2.253427],[-46.413441,-2.239914],[-46.408948,-2.387306],[-46.435721,-2.409565],[-46.426943,-2.512397],[-46.484995,-2.547948],[-46.507275,-2.614987],[-46.600868,-2.664052],[-46.667917,-2.739879],[-46.574094,-2.847194],[-46.650141,-2.914013],[-46.63665,-2.985578],[-46.667917,-3.092672],[-46.743745,-3.19078],[-46.824297,-3.329142],[-46.859848,-3.329142],[-46.944674,-3.396203],[-46.966943,-3.525797],[-47.029499,-3.570358],[-47.024995,-3.597121],[-47.065271,-3.842599],[-47.288469,-4.079289],[-47.310749,-4.065798],[-47.333019,-4.164125],[-47.382292,-4.275724],[-47.45812,-4.33828],[-47.489398,-4.423095],[-47.583221,-4.547965],[-47.654545,-4.606017],[-47.801915,-4.59703],[-48.252816,-4.954328],[-48.730491,-5.338168],[-48.721943,-5.355043],[-48.721493,-5.355724],[-48.721493,-5.355944],[-48.597523,-5.398703],[-48.511116,-5.408151],[-48.421566,-5.398483],[-48.356999,-5.424345],[-48.317174,-5.48622],[-48.275316,-5.522453],[-48.231448,-5.533241],[-48.192743,-5.565431],[-48.159223,-5.619198],[-48.181273,-5.672065],[-48.258672,-5.723591],[-48.28004,-5.795815],[-48.2454,-5.888517],[-48.254398,-5.945229],[-48.307045,-5.965927],[-48.321217,-6.006642],[-48.296695,-6.067397],[-48.319415,-6.112397],[-48.389848,-6.141862],[-48.4137,-6.207341],[-48.3912,-6.308832],[-48.410096,-6.357656],[-48.47062,-6.353371],[-48.52732,-6.372267],[-48.579967,-6.414125],[-48.622045,-6.488591],[-48.652872,-6.595707],[-48.805417,-6.718315],[-49.079471,-6.856237],[-49.209747,-7.005651],[-49.195124,-7.168556],[-49.239674,-7.334824],[-49.340474,-7.510099],[-49.333948,-7.649142],[-49.220316,-7.752194],[-49.172394,-7.867397],[-49.18995,-7.99497],[-49.226842,-8.139418],[-49.282641,-8.301423],[-49.378948,-8.498298],[-49.502698,-8.708664],[-49.612945,-8.839181],[-49.7079,-8.89497],[-49.829849,-9.022104],[-49.979241,-9.220099],[-50.084094,-9.421918],[-50.175215,-9.730173],[-50.234849,-9.842673],[-51.297523,-9.789125],[-55.092146,-9.565927],[-56.462625,-9.467599],[-56.489398,-9.467599],[-56.676825,-9.378281],[-56.770648,-9.396276],[-56.837698,-9.271164],[-56.926797,-9.244401],[-57.047394,-9.23113],[-57.074168,-9.186349],[-57.083165,-9.079255],[-57.100941,-9.05247],[-57.297366,-8.958647],[-57.480519,-8.7935],[-57.578616,-8.757949],[-57.641172,-8.615082],[-57.65017,-8.498979],[-57.681448,-8.436423],[-57.641172,-8.231],[-57.779545,-8.048078],[-57.895648,-7.690781],[-57.949196,-7.619457],[-57.980474,-7.530116],[-58.060795,-7.409531],[-58.136623,-7.338207],[-58.146291,-7.2635],[-58.228424,-7.141552],[-58.385924,-6.949181],[-58.455446,-6.793923],[-58.436769,-6.675798],[-58.374444,-6.570505],[-58.292991,-6.49894],[-56.757146,-3.186496],[-56.391071,-2.391789],[-56.400969,-2.33622],[-56.484894,-2.248922],[-56.498396,-2.159604],[-56.636769,-2.222138],[-56.748368,-2.177379],[-56.743875,-2.052487],[-56.824196,-2.034491],[-57.007349,-1.936405],[-57.08767,-1.811293],[-57.167991,-1.771237],[-57.248323,-1.757746],[-57.275097,-1.713207],[-57.337642,-1.730983],[-57.449241,-1.690927],[-57.565344,-1.623866],[-57.654674,-1.588095],[-57.828599,-1.445229],[-57.900142,-1.422948],[-57.980474,-1.347121],[-58.083075,-1.298078],[-58.159123,-1.235522],[-58.252715,-1.128427],[-58.315271,-1.119418],[-58.391099,-1.048095],[-58.440373,-0.860448],[-58.569748,-0.76234],[-58.627799,-0.766845],[-58.703616,-0.695302],[-58.748396,-0.623979],[-58.739398,-0.432047],[-58.855491,-0.351496],[-58.8645,-0.173078],[-58.850998,-0.083737],[-58.868773,0.224276]]],[[[-51.424415,-0.565927],[-51.254094,-0.541405],[-51.160721,-0.666715],[-51.276374,-1.021772],[-51.310124,-1.023793],[-51.465142,-1.21122],[-51.637715,-1.341957],[-51.66495,-1.354767],[-51.832568,-1.433737],[-51.938323,-1.452655],[-51.801971,-1.202453],[-51.680023,-1.086129],[-51.679573,-1.018629],[-51.678221,-0.855043],[-51.546144,-0.649621],[-51.424415,-0.565927]]],[[[-48.444516,-0.271845],[-48.392771,-0.297267],[-48.379719,-0.352858],[-48.428092,-0.441496],[-48.463874,-0.534879],[-48.497394,-0.664914],[-48.523266,-0.691479],[-48.566695,-0.684491],[-48.539691,-0.801056],[-48.54959,-0.847616],[-48.570969,-0.892858],[-48.624066,-0.986901],[-48.704618,-1.106608],[-48.728469,-1.131789],[-48.789894,-1.173427],[-48.839618,-1.226513],[-48.829049,-1.276479],[-48.804066,-1.326862],[-48.833542,-1.390099],[-48.928948,-1.48234],[-48.985868,-1.504621],[-49.038525,-1.514069],[-49.086898,-1.505082],[-49.172624,-1.412599],[-49.181622,-1.485043],[-49.204792,-1.559069],[-49.234049,-1.599564],[-49.344747,-1.595302],[-49.406622,-1.555465],[-49.506741,-1.511608],[-49.525648,-1.630392],[-49.587974,-1.712306],[-49.650519,-1.738168],[-49.748846,-1.755263],[-49.805096,-1.790155],[-49.91129,-1.762931],[-50.010068,-1.708483],[-50.065648,-1.703737],[-50.109297,-1.747858],[-50.33834,-1.755944],[-50.443424,-1.800724],[-50.50754,-1.787892],[-50.602045,-1.697672],[-50.617118,-1.637599],[-50.673368,-1.51609],[-50.723773,-1.371422],[-50.759775,-1.240246],[-50.729398,-1.126845],[-50.668424,-1.130448],[-50.595969,-1.147543],[-50.580446,-1.139457],[-50.576842,-1.103224],[-50.592816,-1.072858],[-50.70959,-1.077802],[-50.783396,-1.010302],[-50.795997,-0.906349],[-50.780924,-0.689896],[-50.771465,-0.645358],[-50.71995,-0.583483],[-50.703075,-0.528573],[-50.715896,-0.470302],[-50.693616,-0.364547],[-50.645474,-0.272746],[-50.46165,-0.157323],[-50.24834,-0.116366],[-49.6287,-0.229108],[-49.535096,-0.23359],[-49.402799,-0.214694],[-49.31437,-0.167892],[-49.215141,-0.158664],[-49.117045,-0.163629],[-48.786521,-0.215595],[-48.588075,-0.231569],[-48.5154,-0.248224],[-48.444516,-0.271845]]],[[[-50.76517,-0.04078],[-50.667073,-0.058095],[-50.650648,-0.105797],[-50.6529,-0.131681],[-50.926273,-0.327414],[-51.018965,-0.263078],[-51.038092,-0.225944],[-51.022349,-0.188371],[-51.025721,-0.172396],[-50.995124,-0.105358],[-50.842118,-0.050229],[-50.76517,-0.04078]]],[[[-49.503368,0.083651],[-49.400547,0.057328],[-49.372422,0.001078],[-49.380969,-0.055392],[-49.443965,-0.112323],[-49.70879,-0.143832],[-49.830068,-0.093866],[-49.802624,-0.051789],[-49.712394,0.01503],[-49.602146,0.062733],[-49.503368,0.083651]]],[[[-49.878892,0.304608],[-49.738267,0.268155],[-49.69732,0.215948],[-49.839066,0.006922],[-49.917146,-0.023224],[-50.002422,-0.029289],[-50.11312,0.033026],[-50.285693,0.028532],[-50.339471,0.043375],[-50.345096,0.134507],[-50.272642,0.231703],[-50.127974,0.226528],[-49.878892,0.304608]]],[[[-50.350941,0.581804],[-50.342624,0.381556],[-50.332275,0.258927],[-50.426099,0.139231],[-50.443874,-0.0077],[-50.623874,0.054405],[-50.610372,0.204698],[-50.526217,0.247007],[-50.451521,0.326877],[-50.426099,0.424974],[-50.424517,0.558172],[-50.396842,0.581354],[-50.372771,0.590802],[-50.350941,0.581804]]],[[[-50.098717,0.625002],[-50.058892,0.638054],[-50.036842,0.594856],[-50.039995,0.522851],[-50.152945,0.393026],[-50.261392,0.359276],[-50.28165,0.390774],[-50.28165,0.516556],[-50.251273,0.585408],[-50.1129,0.604754],[-50.098717,0.625002]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"BRA-600","diss_me":600,"iso_3166_2":"BR-MS","wikipedia":null,"iso_a2":"BR","adm0_sr":1,"name":"Mato Grosso do Sul","name_alt":null,"name_local":null,"type":"Estado","type_en":"State","code_local":null,"code_hasc":"BR.MS","note":null,"hasc_maybe":null,"region":null,"region_cod":null,"provnum_ne":20,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":"M.Gro.","postal":"MS","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":18,"mapcolor9":5,"mapcolor13":7,"fips":"BR11","fips_alt":null,"woe_id":2344853,"woe_label":"Mato Grosso do Sul, BR, Brazil","woe_name":"Mato Grosso do Sul","latitude":-20.6756,"longitude":-54.5502,"sov_a3":"BRA","adm0_a3":"BRA","adm0_label":2,"admin":"Brazil","geonunit":"Brazil","gu_a3":"BRA","gn_id":3457415,"gn_name":"Estado de Mato Grosso do Sul","gns_id":-654593,"gns_name":"Mato Grosso do Sul, Estado de","gn_level":1,"gn_region":null,"gn_a1_code":"BR.11","region_sub":null,"sub_code":null,"gns_level":1,"gns_lang":"por","gns_adm1":"BR11","gns_region":null,"min_label":3.7,"max_label":8.5,"min_zoom":3,"wikidataid":"Q43319","name_ar":"ماتو غروسو دو سول","name_bn":"মাতো গ্রোস দো সৌল","name_de":"Mato Grosso do Sul","name_en":"Mato Grosso do Sul","name_es":"Mato Grosso do Sul","name_fr":"Mato Grosso do Sul","name_el":"Μάτο Γκρόσο ντο Σουλ","name_hi":"मातो ग्रोसो दो सुल","name_hu":"Mato Grosso do Sul","name_id":"Mato Grosso do Sul","name_it":"Mato Grosso do Sul","name_ja":"マットグロッソ・ド・スル州","name_ko":"마투그로수두술","name_nl":"Mato Grosso do Sul","name_pl":"Mato Grosso do Sul","name_pt":"Mato Grosso do Sul","name_ru":"Мату-Гросу-ду-Сул","name_sv":"Mato Grosso do Sul","name_tr":"Mato Grosso do Sul","name_vi":"Mato Grosso do Sul","name_zh":"南马托格罗索州","ne_id":1159307905,"name_he":"מאטו גרוסו דו סול","name_uk":"Мату-Гросу-ду-Сул","name_ur":"جنوبی ماتو گروسو","name_fa":"ماتوگروسو جنوبی","name_zht":"南马托格罗索州","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[-58.159793,-24.046919,-50.964297,-17.18644],"geometry":{"type":"Polygon","coordinates":[[[-50.964297,-19.511367],[-50.997596,-19.663923],[-50.993773,-20.101553],[-51.063965,-20.223039],[-51.160721,-20.306513],[-51.396971,-20.441755],[-51.534224,-20.557617],[-51.593165,-20.666513],[-51.619049,-20.806919],[-51.691943,-20.943721],[-51.81142,-21.077138],[-51.866318,-21.182673],[-51.85665,-21.260083],[-51.872844,-21.329824],[-51.93629,-21.422746],[-51.954747,-21.469548],[-51.989849,-21.49363],[-52.04767,-21.510945],[-52.072642,-21.554143],[-52.064995,-21.622764],[-52.122596,-21.718169],[-52.245665,-21.840359],[-52.338818,-21.957341],[-52.402495,-22.069182],[-52.566071,-22.207324],[-52.960721,-22.454824],[-53.1162,-22.639988],[-53.272349,-22.752048],[-53.480693,-22.852397],[-53.619967,-23.00113],[-53.677349,-23.173484],[-53.771172,-23.322195],[-53.907523,-23.407031],[-53.995491,-23.570156],[-54.05017,-23.82282],[-54.124646,-23.978518],[-54.24254,-24.046919],[-54.370795,-23.971091],[-54.440316,-23.901789],[-54.529646,-23.852065],[-54.625491,-23.812471],[-54.671842,-23.829126],[-54.721347,-23.852065],[-54.817191,-23.888518],[-54.926549,-23.951294],[-54.982568,-23.974475],[-55.081797,-23.997656],[-55.194297,-24.017454],[-55.287,-24.004402],[-55.36642,-23.99113],[-55.415924,-23.951294],[-55.442467,-23.865359],[-55.442467,-23.792673],[-55.458892,-23.686699],[-55.518526,-23.627307],[-55.538323,-23.580945],[-55.541696,-23.524695],[-55.53495,-23.461919],[-55.518526,-23.415579],[-55.528424,-23.359329],[-55.554747,-23.319734],[-55.548222,-23.25019],[-55.561493,-23.154346],[-55.601099,-23.094734],[-55.620896,-23.02519],[-55.620896,-22.955889],[-55.650823,-22.886367],[-55.653965,-22.81032],[-55.627642,-22.741018],[-55.617743,-22.671496],[-55.64745,-22.621772],[-55.7037,-22.592065],[-55.746668,-22.512656],[-55.753194,-22.410044],[-55.799545,-22.353794],[-55.849269,-22.307673],[-55.905299,-22.307673],[-55.991465,-22.28113],[-56.067523,-22.284492],[-56.189922,-22.28113],[-56.245941,-22.264695],[-56.275868,-22.228242],[-56.351915,-22.178518],[-56.394894,-22.092583],[-56.447771,-22.076147],[-56.523819,-22.102471],[-56.550372,-22.135539],[-56.580069,-22.181902],[-56.632946,-22.234768],[-56.702467,-22.231626],[-56.775142,-22.261333],[-56.844674,-22.264695],[-56.937146,-22.271221],[-57.029849,-22.244897],[-57.142349,-22.214971],[-57.238194,-22.195173],[-57.330896,-22.214971],[-57.393672,-22.198315],[-57.476465,-22.188647],[-57.568948,-22.181902],[-57.641623,-22.129014],[-57.721043,-22.099328],[-57.764021,-22.109216],[-57.820271,-22.142307],[-57.879894,-22.135539],[-57.955941,-22.109216],[-57.985648,-22.04644],[-57.979123,-22.006626],[-57.962467,-21.967031],[-57.932771,-21.910781],[-57.949416,-21.851147],[-57.94267,-21.798281],[-57.929398,-21.751919],[-57.916116,-21.699053],[-57.926245,-21.649548],[-57.929398,-21.596682],[-57.936144,-21.546958],[-57.946043,-21.49407],[-57.906217,-21.418022],[-57.873148,-21.355027],[-57.893166,-21.302138],[-57.88642,-21.265928],[-57.860097,-21.206294],[-57.827017,-21.13363],[-57.83017,-20.997949],[-57.860097,-20.918518],[-57.892276,-20.897138],[-57.900592,-20.873078],[-57.884849,-20.841789],[-57.901944,-20.809402],[-57.908469,-20.776333],[-57.891375,-20.747527],[-57.915215,-20.690376],[-57.962467,-20.673721],[-57.979123,-20.657307],[-57.995547,-20.594531],[-58.008819,-20.521626],[-58.002293,-20.465376],[-58.025474,-20.415871],[-58.058543,-20.386164],[-58.091392,-20.333298],[-58.124691,-20.293484],[-58.137743,-20.237234],[-58.159793,-20.164548],[-58.093644,-20.151057],[-58.067541,-20.11032],[-58.0212,-20.05519],[-57.960215,-20.040798],[-57.887541,-20.02032],[-57.860767,-19.979604],[-58.029967,-19.832673],[-58.131448,-19.744475],[-58.072045,-19.625229],[-57.971696,-19.424289],[-57.8745,-19.229458],[-57.800474,-19.080945],[-57.781347,-19.053501],[-57.716769,-19.044052],[-57.7287,-18.967324],[-57.730941,-18.917138],[-57.783148,-18.914216],[-57.725097,-18.733095],[-57.639151,-18.475027],[-57.574123,-18.279272],[-57.553194,-18.246423],[-57.506172,-18.237195],[-57.495592,-18.214695],[-57.552073,-18.183208],[-57.586493,-18.122234],[-57.661651,-17.947397],[-57.753222,-17.734768],[-57.752771,-17.734548],[-57.632174,-17.739953],[-57.600896,-17.816001],[-57.49379,-17.869548],[-57.471521,-17.900595],[-57.419325,-17.882138],[-57.369821,-17.875612],[-57.198599,-17.812397],[-57.079793,-17.734328],[-56.980125,-17.594824],[-56.887422,-17.517876],[-56.789995,-17.386018],[-56.745215,-17.316958],[-56.668047,-17.320319],[-56.489398,-17.302544],[-56.43584,-17.320319],[-56.328745,-17.284548],[-56.248424,-17.217729],[-56.101043,-17.18644],[-56.024995,-17.213225],[-55.98495,-17.266772],[-55.833075,-17.311333],[-55.788526,-17.351609],[-55.609866,-17.391862],[-55.534049,-17.503484],[-55.337625,-17.583794],[-55.181245,-17.686406],[-55.074151,-17.681902],[-54.899995,-17.650612],[-54.810896,-17.60157],[-54.779618,-17.557031],[-54.699297,-17.516755],[-54.525142,-17.512251],[-54.422321,-17.579289],[-54.391273,-17.673112],[-54.319719,-17.673112],[-54.234894,-17.637341],[-54.145575,-17.628354],[-54.08325,-17.588298],[-54.038469,-17.512251],[-53.94915,-17.458703],[-53.819775,-17.307048],[-53.743948,-17.253501],[-53.681392,-17.257763],[-53.752715,-17.641845],[-53.859821,-17.690888],[-53.989415,-17.900595],[-53.975924,-17.931862],[-53.868818,-17.945376],[-53.725941,-18.007932],[-53.605344,-17.994419],[-53.493745,-18.012414],[-53.306318,-17.998923],[-53.145665,-18.03019],[-53.065344,-18.021203],[-53.051842,-18.016699],[-53.042844,-18.097251],[-53.056346,-18.293664],[-53.034066,-18.356001],[-52.989297,-18.387268],[-52.908965,-18.347234],[-52.784094,-18.391772],[-52.788599,-18.463095],[-52.84642,-18.534638],[-52.8912,-18.637251],[-52.86892,-18.682031],[-52.761594,-18.708794],[-52.614443,-18.722065],[-52.49834,-18.704289],[-52.341971,-18.815888],[-52.270648,-18.811406],[-52.096493,-18.89622],[-52.060721,-18.945263],[-51.913571,-18.990044],[-51.842017,-19.048095],[-51.641099,-19.128427],[-51.542991,-19.137414],[-51.404618,-19.168484],[-51.310795,-19.253298],[-51.13665,-19.284565],[-51.034049,-19.369402],[-50.964297,-19.511367]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"BRA-681","diss_me":681,"iso_3166_2":"BR-AP","wikipedia":null,"iso_a2":"BR","adm0_sr":5,"name":"Amapá","name_alt":null,"name_local":null,"type":"Estado","type_en":"State","code_local":null,"code_hasc":"BR.AP","note":null,"hasc_maybe":null,"region":null,"region_cod":null,"provnum_ne":9,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":"Amapá","postal":"AP","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":5,"mapcolor9":5,"mapcolor13":7,"fips":"BR03","fips_alt":null,"woe_id":2344846,"woe_label":"Amapa, BR, Brazil","woe_name":"Amapá","latitude":1.41157,"longitude":-51.6842,"sov_a3":"BRA","adm0_a3":"BRA","adm0_label":2,"admin":"Brazil","geonunit":"Brazil","gu_a3":"BRA","gn_id":3407762,"gn_name":"Estado do Amapa","gns_id":-624535,"gns_name":"Amapa, Estado do","gn_level":1,"gn_region":null,"gn_a1_code":"BR.03","region_sub":null,"sub_code":null,"gns_level":1,"gns_lang":"por","gns_adm1":"BR03","gns_region":null,"min_label":3.7,"max_label":8.5,"min_zoom":3,"wikidataid":"Q40130","name_ar":"أمابا","name_bn":"আমাপা","name_de":"Amapá","name_en":"Amapá","name_es":"Amapá","name_fr":"Amapá","name_el":"Αμαπά","name_hi":"अमापा","name_hu":"Amapá","name_id":"Amapá","name_it":"Amapá","name_ja":"アマパー州","name_ko":"아마파","name_nl":"Amapá","name_pl":"Amapá","name_pt":"Amapá","name_ru":"Амапа","name_sv":"Amapá","name_tr":"Amapá","name_vi":"Amapá","name_zh":"阿马帕","ne_id":1159308867,"name_he":"אמאפה","name_uk":"Амапа","name_ur":"اماپا","name_fa":"آماپا","name_zht":"阿马帕","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[-54.7929,-1.17747,-49.881594,4.313882],"geometry":{"type":"MultiPolygon","coordinates":[[[[-51.888148,-1.160375],[-51.984894,-1.141698],[-52.051943,-1.17747],[-52.132275,-1.150707],[-52.23937,-1.146203],[-52.359967,-1.070375],[-52.391245,-0.954272],[-52.368745,-0.923004],[-52.400023,-0.869457],[-52.516116,-0.873939],[-52.507349,-0.731073],[-52.525125,-0.646237],[-52.605446,-0.610465],[-52.632219,-0.556918],[-52.627715,-0.396276],[-52.699269,-0.302453],[-52.828644,-0.181845],[-52.913469,-0.190854],[-52.976025,-0.016698],[-53.016071,0.054625],[-53.007293,0.134957],[-53.042844,0.246556],[-53.12767,0.384929],[-53.141172,0.536804],[-53.114398,0.719957],[-53.132174,0.751004],[-53.266273,0.782283],[-53.417918,0.943155],[-53.466971,1.152851],[-53.40892,1.184129],[-53.440198,1.259957],[-53.538525,1.242181],[-53.55629,1.367283],[-53.650125,1.362778],[-53.659122,1.42083],[-53.739443,1.434101],[-53.757219,1.394056],[-53.891099,1.407328],[-53.922366,1.460875],[-54.007191,1.523431],[-54.078745,1.505655],[-54.08325,1.541207],[-54.172349,1.6573],[-54.203616,1.6573],[-54.3645,1.760132],[-54.498368,1.746629],[-54.5787,1.782401],[-54.734849,1.773403],[-54.766116,1.898504],[-54.761622,1.969828],[-54.7929,2.010104],[-54.752844,2.081427],[-54.788396,2.130481],[-54.717073,2.26458],[-54.734849,2.416224],[-54.714821,2.425002],[-54.7029,2.397998],[-54.697495,2.359754],[-54.661943,2.327576],[-54.616273,2.326675],[-54.591972,2.313854],[-54.550575,2.293155],[-54.515023,2.245453],[-54.43312,2.207429],[-54.293165,2.154332],[-54.227918,2.153431],[-54.167394,2.137007],[-54.13004,2.121033],[-54.089775,2.150498],[-53.946448,2.232632],[-53.876696,2.278302],[-53.829443,2.312953],[-53.794342,2.346033],[-53.767799,2.3548],[-53.750243,2.335002],[-53.734719,2.308448],[-53.683644,2.292925],[-53.563948,2.261877],[-53.509049,2.253099],[-53.43187,2.279422],[-53.365941,2.324203],[-53.334443,2.339726],[-53.2854,2.295177],[-53.25209,2.232181],[-53.229821,2.204957],[-53.180096,2.211252],[-53.082219,2.201804],[-53.009775,2.181776],[-52.964775,2.183578],[-52.903571,2.211483],[-52.870491,2.266601],[-52.783424,2.317226],[-52.70062,2.363578],[-52.653148,2.425672],[-52.582946,2.528955],[-52.559545,2.573054],[-52.55459,2.64775],[-52.455823,2.864203],[-52.418469,2.903797],[-52.39642,2.972198],[-52.356594,3.05163],[-52.356594,3.117778],[-52.327799,3.181675],[-52.271318,3.237024],[-52.229471,3.271675],[-52.162642,3.364608],[-52.116071,3.452356],[-51.999517,3.646979],[-51.990519,3.702108],[-51.944398,3.735177],[-51.928875,3.777024],[-51.87959,3.82855],[-51.827394,3.869507],[-51.805344,3.93003],[-51.76709,3.992576],[-51.683396,4.039608],[-51.652568,4.061207],[-51.557844,4.23378],[-51.547045,4.310948],[-51.461549,4.313882],[-51.326999,4.224783],[-51.219894,4.093606],[-51.076346,3.671731],[-51.052495,3.281804],[-50.994224,3.077502],[-50.827275,2.651804],[-50.816465,2.573054],[-50.789691,2.47788],[-50.737045,2.376849],[-50.678773,2.210351],[-50.676521,2.179524],[-50.714325,2.134073],[-50.658965,2.130931],[-50.60879,2.104158],[-50.575941,1.998623],[-50.534325,1.9273],[-50.458948,1.829653],[-50.30437,1.797705],[-50.187596,1.786004],[-50.054618,1.730655],[-49.957191,1.659783],[-49.881594,1.419929],[-49.906346,1.268955],[-49.89892,1.162981],[-49.937844,1.121354],[-50.047191,1.052052],[-50.071042,1.015149],[-50.294471,0.83583],[-50.343295,0.751004],[-50.462991,0.637373],[-50.581566,0.420481],[-50.75504,0.222474],[-50.816245,0.17253],[-50.910068,0.16105],[-50.966999,0.130233],[-51.101999,-0.031332],[-51.2829,-0.085099],[-51.299545,-0.178922],[-51.404167,-0.392672],[-51.4962,-0.509457],[-51.554922,-0.549052],[-51.702743,-0.76234],[-51.72142,-0.855504],[-51.720519,-1.018388],[-51.819066,-1.117858],[-51.888148,-1.160375]]],[[[-50.362642,2.154552],[-50.341943,2.141731],[-50.291999,1.979507],[-50.298965,1.93855],[-50.398874,1.892879],[-50.456025,1.910425],[-50.508892,2.029451],[-50.491116,2.128679],[-50.418672,2.161528],[-50.362642,2.154552]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"BRA-602","diss_me":602,"iso_3166_2":"BR-MT","wikipedia":null,"iso_a2":"BR","adm0_sr":1,"name":"Mato Grosso","name_alt":"Matto Grosso","name_local":null,"type":"Estado","type_en":"State","code_local":null,"code_hasc":"BR.MT","note":null,"hasc_maybe":null,"region":null,"region_cod":null,"provnum_ne":23,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":"M.Gro.","postal":"MT","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":11,"mapcolor9":5,"mapcolor13":7,"fips":"BR14","fips_alt":null,"woe_id":2344855,"woe_label":"Mato Grosso, BR, Brazil","woe_name":"Mato Grosso","latitude":-13.3926,"longitude":-55.9235,"sov_a3":"BRA","adm0_a3":"BRA","adm0_label":2,"admin":"Brazil","geonunit":"Brazil","gu_a3":"BRA","gn_id":3457419,"gn_name":"Estado de Mato Grosso","gns_id":-654585,"gns_name":"Mato Grosso, Estado de","gn_level":1,"gn_region":null,"gn_a1_code":"BR.14","region_sub":null,"sub_code":null,"gns_level":1,"gns_lang":"por","gns_adm1":"BR14","gns_region":null,"min_label":3.7,"max_label":8.5,"min_zoom":3,"wikidataid":"Q42824","name_ar":"ماتو غروسو","name_bn":"মাতো গ্রসো","name_de":"Mato Grosso","name_en":"Mato Grosso","name_es":"Mato Grosso","name_fr":"Mato Grosso","name_el":"Μάτο Γκρόσο","name_hi":"मातो ग्रोसो","name_hu":"Mato Grosso","name_id":"Mato Grosso","name_it":"Mato Grosso","name_ja":"マットグロッソ州","name_ko":"마투그로수","name_nl":"Mato Grosso","name_pl":"Mato Grosso","name_pt":"Mato Grosso","name_ru":"Мату-Гросу","name_sv":"Mato Grosso","name_tr":"Mato Grosso","name_vi":"Mato Grosso","name_zh":"马托格罗索州","ne_id":1159307909,"name_he":"מאטו גרוסו","name_uk":"Мату-Гросу","name_ur":"ماتو گروسو","name_fa":"ماتو گروسو","name_zht":"马托格罗索州","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[-61.60995,-18.03019,-50.234849,-7.338207],"geometry":{"type":"Polygon","coordinates":[[[-60.724793,-13.662949],[-60.659095,-13.601513],[-60.382349,-13.418591],[-60.351071,-13.27122],[-60.275024,-13.137341],[-60.27075,-13.070302],[-60.194691,-12.972194],[-60.083092,-12.927414],[-60.043047,-12.873867],[-60.002771,-12.731],[-59.908948,-12.619401],[-59.824123,-12.387194],[-59.891172,-12.244548],[-59.886668,-12.128444],[-59.931448,-12.052397],[-59.984995,-11.918518],[-60.060823,-11.905246],[-60.101099,-11.744362],[-60.101099,-11.601496],[-60.025041,-11.534677],[-59.908948,-11.382802],[-60.002771,-11.146332],[-60.069821,-11.115043],[-60.176916,-11.119548],[-60.279517,-11.079272],[-60.382349,-11.101552],[-60.440401,-11.038996],[-60.440401,-11.003444],[-61.471567,-10.99894],[-61.52062,-10.954182],[-61.507349,-10.878354],[-61.52062,-10.789013],[-61.471567,-10.757746],[-61.502845,-10.686423],[-61.471567,-10.43644],[-61.565401,-10.262307],[-61.569674,-10.061367],[-61.534123,-9.994548],[-61.52062,-9.860449],[-61.565401,-9.726569],[-61.52062,-9.704289],[-61.480575,-9.63725],[-61.551899,-9.463095],[-61.547394,-9.409548],[-61.60995,-9.320449],[-61.592174,-9.239897],[-61.529618,-9.226625],[-61.556392,-9.128298],[-61.529618,-8.998923],[-61.484849,-8.914108],[-61.507349,-8.847048],[-61.60995,-8.766716],[-58.547467,-8.74894],[-58.471651,-8.690888],[-58.426651,-8.523039],[-58.397174,-8.415505],[-58.354416,-8.276],[-58.328773,-8.050539],[-58.353526,-7.905871],[-58.330344,-7.780099],[-58.259472,-7.673224],[-58.22392,-7.574677],[-58.2237,-7.484677],[-58.20187,-7.414474],[-58.136623,-7.338207],[-58.060795,-7.409531],[-57.980474,-7.530116],[-57.949196,-7.619457],[-57.895648,-7.690781],[-57.779545,-8.048078],[-57.641172,-8.231],[-57.681448,-8.436423],[-57.65017,-8.498979],[-57.641172,-8.615082],[-57.578616,-8.757949],[-57.480519,-8.7935],[-57.297366,-8.958647],[-57.100941,-9.05247],[-57.083165,-9.079255],[-57.074168,-9.186349],[-57.047394,-9.23113],[-56.926797,-9.244401],[-56.837698,-9.271164],[-56.770648,-9.396276],[-56.676825,-9.378281],[-56.489398,-9.467599],[-56.462625,-9.467599],[-55.092146,-9.565927],[-51.297523,-9.789125],[-50.234849,-9.842673],[-50.33745,-10.034362],[-50.395271,-10.176789],[-50.402698,-10.258242],[-50.454674,-10.388517],[-50.550749,-10.567177],[-50.599122,-10.689807],[-50.610372,-11.000983],[-50.645243,-11.162746],[-50.708019,-11.345668],[-50.716566,-11.48269],[-50.671346,-11.573832],[-50.665721,-11.651901],[-50.717467,-11.749108],[-50.661448,-11.8535],[-50.653571,-11.922341],[-50.674719,-11.990082],[-50.667523,-12.112031],[-50.631741,-12.288647],[-50.629269,-12.43738],[-50.660547,-12.558207],[-50.655372,-12.666862],[-50.613965,-12.763388],[-50.566042,-12.819638],[-50.48482,-12.8426],[-50.566042,-13.014733],[-50.595068,-13.130815],[-50.598441,-13.249401],[-50.666622,-13.409604],[-50.79959,-13.611862],[-50.860575,-13.806057],[-50.851797,-13.995043],[-50.86754,-14.095173],[-50.908497,-14.107324],[-50.941116,-14.200927],[-50.977568,-14.463281],[-51.11437,-14.837893],[-51.188616,-14.976496],[-51.246217,-15.004401],[-51.286273,-15.002819],[-51.471448,-15.044216],[-51.589792,-15.141423],[-51.664719,-15.26135],[-51.695997,-15.403315],[-51.732,-15.490393],[-51.772715,-15.522802],[-51.78825,-15.556992],[-51.77879,-15.592763],[-51.798599,-15.65622],[-51.847422,-15.747121],[-51.961493,-15.819126],[-52.142394,-15.872673],[-52.256696,-15.935669],[-52.308441,-16.009255],[-52.361769,-16.058298],[-52.416667,-16.08238],[-52.538396,-16.168557],[-52.534122,-16.226609],[-52.667991,-16.289143],[-52.681273,-16.360466],[-52.614443,-16.427526],[-52.679922,-16.576018],[-52.789049,-16.704953],[-52.942715,-16.81363],[-53.024168,-16.910376],[-53.033165,-16.99519],[-53.077946,-17.094638],[-53.158267,-17.20872],[-53.202596,-17.304126],[-53.211375,-17.409199],[-53.115068,-17.854914],[-53.051842,-18.016699],[-53.065344,-18.021203],[-53.145665,-18.03019],[-53.306318,-17.998923],[-53.493745,-18.012414],[-53.605344,-17.994419],[-53.725941,-18.007932],[-53.868818,-17.945376],[-53.975924,-17.931862],[-53.989415,-17.900595],[-53.859821,-17.690888],[-53.752715,-17.641845],[-53.681392,-17.257763],[-53.743948,-17.253501],[-53.819775,-17.307048],[-53.94915,-17.458703],[-54.038469,-17.512251],[-54.08325,-17.588298],[-54.145575,-17.628354],[-54.234894,-17.637341],[-54.319719,-17.673112],[-54.391273,-17.673112],[-54.422321,-17.579289],[-54.525142,-17.512251],[-54.699297,-17.516755],[-54.779618,-17.557031],[-54.810896,-17.60157],[-54.899995,-17.650612],[-55.074151,-17.681902],[-55.181245,-17.686406],[-55.337625,-17.583794],[-55.534049,-17.503484],[-55.609866,-17.391862],[-55.788526,-17.351609],[-55.833075,-17.311333],[-55.98495,-17.266772],[-56.024995,-17.213225],[-56.101043,-17.18644],[-56.248424,-17.217729],[-56.328745,-17.284548],[-56.43584,-17.320319],[-56.489398,-17.302544],[-56.668047,-17.320319],[-56.745215,-17.316958],[-56.789995,-17.386018],[-56.887422,-17.517876],[-56.980125,-17.594824],[-57.079793,-17.734328],[-57.198599,-17.812397],[-57.369821,-17.875612],[-57.419325,-17.882138],[-57.471521,-17.900595],[-57.49379,-17.869548],[-57.600896,-17.816001],[-57.632174,-17.739953],[-57.752771,-17.734548],[-57.753222,-17.734768],[-57.780215,-17.671772],[-57.788773,-17.573005],[-57.832422,-17.512031],[-57.905097,-17.532268],[-57.990823,-17.512932],[-58.205474,-17.363078],[-58.34767,-17.282065],[-58.396043,-17.234362],[-58.417422,-17.080466],[-58.459719,-16.910815],[-58.478166,-16.700669],[-58.470519,-16.650263],[-58.350373,-16.490742],[-58.350823,-16.41019],[-58.340474,-16.339987],[-58.345648,-16.284419],[-58.375344,-16.283518],[-58.423717,-16.307819],[-58.496623,-16.326716],[-58.538019,-16.328298],[-58.957191,-16.313225],[-59.434196,-16.295888],[-59.831099,-16.281716],[-60.175575,-16.269345],[-60.187276,-16.132104],[-60.206623,-15.901919],[-60.220345,-15.738574],[-60.242394,-15.479604],[-60.380547,-15.318281],[-60.530401,-15.143225],[-60.583267,-15.098225],[-60.401916,-15.092819],[-60.273441,-15.088776],[-60.298875,-14.618518],[-60.338019,-14.570595],[-60.37267,-14.41872],[-60.396291,-14.332763],[-60.460198,-14.263022],[-60.47459,-14.184733],[-60.462901,-14.132526],[-60.428019,-14.099897],[-60.405069,-14.019126],[-60.422394,-13.937893],[-60.460198,-13.862307],[-60.506549,-13.789841],[-60.595198,-13.745302],[-60.722321,-13.664289],[-60.724793,-13.662949]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"BRA-613","diss_me":613,"iso_3166_2":"BR-PR","wikipedia":null,"iso_a2":"BR","adm0_sr":1,"name":"Paraná","name_alt":null,"name_local":null,"type":"Estado","type_en":"State","code_local":null,"code_hasc":"BR.PR","note":null,"hasc_maybe":null,"region":null,"region_cod":null,"provnum_ne":13,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":"Paraná","postal":"PR","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":6,"mapcolor9":5,"mapcolor13":7,"fips":"BR18","fips_alt":null,"woe_id":2344859,"woe_label":"Parana, BR, Brazil","woe_name":"Paraná","latitude":-24.6618,"longitude":-51.3228,"sov_a3":"BRA","adm0_a3":"BRA","adm0_label":2,"admin":"Brazil","geonunit":"Brazil","gu_a3":"BRA","gn_id":3455077,"gn_name":"Estado do Parana","gns_id":-659430,"gns_name":"Parana, Estado do","gn_level":1,"gn_region":null,"gn_a1_code":"BR.18","region_sub":null,"sub_code":null,"gns_level":1,"gns_lang":"por","gns_adm1":"BR18","gns_region":null,"min_label":3.7,"max_label":8.5,"min_zoom":3,"wikidataid":"Q15499","name_ar":"بارانا","name_bn":"পারানা","name_de":"Paraná","name_en":"Paraná","name_es":"Paraná","name_fr":"Paraná","name_el":"Παρανά","name_hi":"पाराना","name_hu":"Paraná","name_id":"Paraná","name_it":"Paraná","name_ja":"パラナ州","name_ko":"파라나","name_nl":"Paraná","name_pl":"Parana","name_pt":"Paraná","name_ru":"Парана","name_sv":"Paraná","name_tr":"Paraná","name_vi":"Paraná","name_zh":"巴拉那州","ne_id":1159307913,"name_he":"פרנה","name_uk":"Парана","name_ur":"پارانا","name_fa":"پارانا، برزیل","name_zht":"巴拉那","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[-54.615823,-26.699897,-48.07754,-22.521203],"geometry":{"type":"Polygon","coordinates":[[[-54.24254,-24.046919],[-54.124646,-23.978518],[-54.05017,-23.82282],[-53.995491,-23.570156],[-53.907523,-23.407031],[-53.771172,-23.322195],[-53.677349,-23.173484],[-53.619967,-23.00113],[-53.480693,-22.852397],[-53.272349,-22.752048],[-53.1162,-22.639988],[-53.044415,-22.636406],[-52.949241,-22.570466],[-52.694775,-22.601514],[-52.614443,-22.570466],[-52.52062,-22.615027],[-52.444792,-22.601514],[-52.315198,-22.619531],[-52.26165,-22.601514],[-52.21709,-22.641789],[-52.163542,-22.601514],[-52.141273,-22.543484],[-52.065215,-22.521203],[-51.984894,-22.547966],[-51.873295,-22.610522],[-51.74392,-22.619531],[-51.694646,-22.66407],[-51.641099,-22.650798],[-51.547495,-22.68635],[-51.355344,-22.650798],[-51.18142,-22.739897],[-51.002771,-22.793664],[-50.882174,-22.820449],[-50.784066,-22.94532],[-50.726025,-22.949824],[-50.627698,-22.923039],[-50.431273,-22.94532],[-50.368948,-22.914053],[-50.2929,-22.954328],[-50.123249,-22.940815],[-49.971594,-22.914053],[-49.958092,-22.963315],[-49.913542,-22.985596],[-49.909049,-23.034639],[-49.7304,-23.105984],[-49.636797,-23.257859],[-49.614297,-23.409734],[-49.654573,-23.50782],[-49.605519,-23.641699],[-49.551971,-23.713242],[-49.569747,-23.83385],[-49.601025,-23.864897],[-49.409094,-24.083833],[-49.333047,-24.141863],[-49.33754,-24.213208],[-49.274995,-24.315798],[-49.225941,-24.338298],[-49.239443,-24.41863],[-49.310766,-24.530229],[-49.297495,-24.664109],[-49.216943,-24.690872],[-49.092073,-24.686367],[-49.025023,-24.668591],[-48.828599,-24.664109],[-48.779545,-24.695376],[-48.614398,-24.681863],[-48.489297,-24.744419],[-48.542844,-24.811479],[-48.565344,-25.056958],[-48.511797,-25.083721],[-48.413469,-24.95885],[-48.266098,-25.034678],[-48.230547,-25.012397],[-48.185766,-25.190815],[-48.091943,-25.235596],[-48.08767,-25.280156],[-48.07754,-25.290264],[-48.202641,-25.416497],[-48.242467,-25.403225],[-48.185997,-25.309841],[-48.273525,-25.306238],[-48.40245,-25.272048],[-48.458469,-25.310742],[-48.427641,-25.403225],[-48.476025,-25.44304],[-48.564224,-25.447544],[-48.644094,-25.436514],[-48.731842,-25.368794],[-48.692247,-25.491423],[-48.507073,-25.52135],[-48.429894,-25.550156],[-48.401098,-25.597397],[-48.545096,-25.815872],[-48.665693,-25.844458],[-48.678965,-25.875264],[-48.612816,-25.875044],[-48.576374,-25.935359],[-48.585372,-25.986204],[-48.65017,-25.972251],[-48.917917,-25.976514],[-48.944691,-26.007803],[-49.109849,-25.994531],[-49.21267,-26.030303],[-49.297495,-26.10613],[-49.453644,-26.168665],[-49.489415,-26.222234],[-49.596521,-26.222234],[-49.721622,-26.159678],[-49.75267,-26.123906],[-49.882275,-26.03907],[-49.949094,-26.012307],[-50.190299,-26.052583],[-50.31517,-26.052583],[-50.369167,-26.085872],[-50.458047,-26.025798],[-50.542872,-26.025798],[-50.645693,-26.070359],[-50.735023,-26.231001],[-50.770575,-26.222234],[-50.90017,-26.280264],[-50.944719,-26.244492],[-51.074094,-26.235505],[-51.248249,-26.347105],[-51.288525,-26.423152],[-51.279517,-26.49898],[-51.239471,-26.606074],[-51.284021,-26.650855],[-51.422394,-26.699897],[-51.502715,-26.60157],[-51.873295,-26.60157],[-52.007174,-26.583794],[-52.199094,-26.449915],[-52.458075,-26.431919],[-52.5429,-26.400652],[-52.641217,-26.400652],[-52.672495,-26.378372],[-52.815372,-26.338315],[-52.913469,-26.3651],[-52.99379,-26.351609],[-53.123396,-26.369605],[-53.279545,-26.262268],[-53.355372,-26.239988],[-53.458193,-26.289053],[-53.516245,-26.289053],[-53.663396,-26.257764],[-53.669922,-26.258005],[-53.671273,-26.225156],[-53.74687,-26.08363],[-53.823148,-25.959639],[-53.864094,-25.748833],[-53.891099,-25.66894],[-53.954775,-25.647583],[-54.012366,-25.57782],[-54.08504,-25.571975],[-54.119241,-25.54519],[-54.154573,-25.523152],[-54.206099,-25.529678],[-54.250198,-25.570393],[-54.33187,-25.571975],[-54.383396,-25.58863],[-54.44392,-25.625083],[-54.501521,-25.608208],[-54.537743,-25.576479],[-54.615823,-25.576018],[-54.610648,-25.43269],[-54.473165,-25.220303],[-54.436273,-25.121294],[-54.454049,-25.065264],[-54.413092,-24.867488],[-54.312974,-24.528208],[-54.281025,-24.30613],[-54.317247,-24.201277],[-54.318368,-24.128152],[-54.266842,-24.065815],[-54.24187,-24.04738],[-54.24254,-24.046919]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"BRA-599","diss_me":599,"iso_3166_2":"BR-DF","wikipedia":null,"iso_a2":"BR","adm0_sr":1,"name":"Distrito Federal","name_alt":null,"name_local":null,"type":"Distrito Federal","type_en":"Federal District","code_local":null,"code_hasc":"BR.DF","note":null,"hasc_maybe":null,"region":null,"region_cod":null,"provnum_ne":11,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":"D.F.","postal":"DF","area_sqkm":0,"sameascity":7,"labelrank":7,"name_len":16,"mapcolor9":5,"mapcolor13":7,"fips":"BR07","fips_alt":null,"woe_id":2344850,"woe_label":"Distrito Federal, BR, Brazil","woe_name":"Distrito Federal","latitude":-15.7665,"longitude":-47.7902,"sov_a3":"BRA","adm0_a3":"BRA","adm0_label":2,"admin":"Brazil","geonunit":"Brazil","gu_a3":"BRA","gn_id":3463504,"gn_name":"Distrito Federal","gns_id":-642823,"gns_name":"Federal, Distrito","gn_level":1,"gn_region":null,"gn_a1_code":"BR.07","region_sub":null,"sub_code":null,"gns_level":1,"gns_lang":"por","gns_adm1":"BR07","gns_region":null,"min_label":3.7,"max_label":8.5,"min_zoom":3,"wikidataid":"Q119158","name_ar":"القطاع الفدرالي البرازيلي","name_bn":"ফেডারেল জেলা","name_de":"Bundesdistrikt","name_en":"Federal","name_es":"Federal","name_fr":"fédéral","name_el":"Ομοσπονδιακό Διαμέρισμα","name_hi":"फेडरल डिस्ट्रिक्ट","name_hu":"Szövetségi kerület","name_id":"Federal Brasil","name_it":"Federale","name_ja":"ブラジリア連邦直轄区","name_ko":"연방구","name_nl":"Federaal","name_pl":"Federalny","name_pt":"Federal","name_ru":"Федеральный округ","name_sv":"Brasiliens federala","name_tr":"Federal Bölge","name_vi":"Quận liên bang Brasil","name_zh":"联邦区","ne_id":1159307927,"name_he":"המחוז הפדרלי של ברזיל","name_uk":"Федеральний округ","name_ur":"وفاقی ضلع","name_fa":"ناحیه فدرال","name_zht":"聯邦區","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[-48.27959,-16.043664,-47.301971,-15.489953],"geometry":{"type":"Polygon","coordinates":[[[-47.301971,-16.039182],[-47.855473,-16.043664],[-48.181273,-16.039182],[-48.252816,-16.030173],[-48.23482,-15.95885],[-48.27959,-15.838242],[-48.203773,-15.735432],[-48.239325,-15.690871],[-48.181273,-15.489953],[-47.766144,-15.489953],[-47.422348,-15.49894],[-47.41357,-15.534733],[-47.306245,-15.588281],[-47.306245,-15.708647],[-47.351025,-15.833737],[-47.359792,-15.985612],[-47.301971,-16.039182]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"BRA-1294","diss_me":1294,"iso_3166_2":"BR-GO","wikipedia":null,"iso_a2":"BR","adm0_sr":1,"name":"Goiás","name_alt":"Goiáz|Goyáz","name_local":null,"type":"Estado","type_en":"State","code_local":null,"code_hasc":"BR.GO","note":null,"hasc_maybe":null,"region":null,"region_cod":null,"provnum_ne":19,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":"Goiás","postal":"GO","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":5,"mapcolor9":5,"mapcolor13":7,"fips":"BR29","fips_alt":null,"woe_id":2344852,"woe_label":"Goias, BR, Brazil","woe_name":"Goiás","latitude":-15.863,"longitude":-49.5786,"sov_a3":"BRA","adm0_a3":"BRA","adm0_label":2,"admin":"Brazil","geonunit":"Brazil","gu_a3":"BRA","gn_id":3462372,"gn_name":"Estado de Goias","gns_id":-644908,"gns_name":"Goias, Estado de","gn_level":1,"gn_region":null,"gn_a1_code":"BR.29","region_sub":null,"sub_code":null,"gns_level":1,"gns_lang":"por","gns_adm1":"BR29","gns_region":null,"min_label":3.7,"max_label":8.5,"min_zoom":3,"wikidataid":"Q41587","name_ar":"غوياس","name_bn":"গৌয়াস","name_de":"Goiás","name_en":"Goiás","name_es":"Goiás","name_fr":"Goiás","name_el":"Γκοϊάς","name_hi":"गोइयास","name_hu":"Goiás","name_id":"Goiás","name_it":"Goiás","name_ja":"ゴイアス州","name_ko":"고이아스","name_nl":"Goiás","name_pl":"Goiás","name_pt":"Goiás","name_ru":"Гояс","name_sv":"Goiás","name_tr":"Goiás","name_vi":"Goiás","name_zh":"戈亚斯","ne_id":1159309897,"name_he":"גויאס","name_uk":"Гояс","name_ur":"گوئیاس","name_fa":"گوییاس","name_zht":"戈亚斯","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[-53.211375,-19.511367,-45.913497,-12.387656],"geometry":{"type":"Polygon","coordinates":[[[-50.964297,-19.511367],[-51.034049,-19.369402],[-51.13665,-19.284565],[-51.310795,-19.253298],[-51.404618,-19.168484],[-51.542991,-19.137414],[-51.641099,-19.128427],[-51.842017,-19.048095],[-51.913571,-18.990044],[-52.060721,-18.945263],[-52.096493,-18.89622],[-52.270648,-18.811406],[-52.341971,-18.815888],[-52.49834,-18.704289],[-52.614443,-18.722065],[-52.761594,-18.708794],[-52.86892,-18.682031],[-52.8912,-18.637251],[-52.84642,-18.534638],[-52.788599,-18.463095],[-52.784094,-18.391772],[-52.908965,-18.347234],[-52.989297,-18.387268],[-53.034066,-18.356001],[-53.056346,-18.293664],[-53.042844,-18.097251],[-53.051842,-18.016699],[-53.115068,-17.854914],[-53.211375,-17.409199],[-53.202596,-17.304126],[-53.158267,-17.20872],[-53.077946,-17.094638],[-53.033165,-16.99519],[-53.024168,-16.910376],[-52.942715,-16.81363],[-52.789049,-16.704953],[-52.679922,-16.576018],[-52.614443,-16.427526],[-52.681273,-16.360466],[-52.667991,-16.289143],[-52.534122,-16.226609],[-52.538396,-16.168557],[-52.416667,-16.08238],[-52.361769,-16.058298],[-52.308441,-16.009255],[-52.256696,-15.935669],[-52.142394,-15.872673],[-51.961493,-15.819126],[-51.847422,-15.747121],[-51.798599,-15.65622],[-51.77879,-15.592763],[-51.78825,-15.556992],[-51.772715,-15.522802],[-51.732,-15.490393],[-51.695997,-15.403315],[-51.664719,-15.26135],[-51.589792,-15.141423],[-51.471448,-15.044216],[-51.286273,-15.002819],[-51.246217,-15.004401],[-51.188616,-14.976496],[-51.11437,-14.837893],[-50.977568,-14.463281],[-50.941116,-14.200927],[-50.908497,-14.107324],[-50.86754,-14.095173],[-50.851797,-13.995043],[-50.860575,-13.806057],[-50.79959,-13.611862],[-50.666622,-13.409604],[-50.598441,-13.249401],[-50.595068,-13.130815],[-50.566042,-13.014733],[-50.48482,-12.8426],[-50.392349,-12.617138],[-50.295592,-12.490026],[-50.163745,-12.387656],[-50.136741,-12.476513],[-50.20357,-12.570358],[-50.199297,-12.655173],[-50.275124,-12.789052],[-50.27062,-12.891862],[-50.239342,-12.931918],[-50.051915,-13.021237],[-49.971594,-13.025742],[-49.913542,-13.070302],[-49.68584,-13.177397],[-49.520693,-13.199897],[-49.38232,-13.24894],[-49.35982,-13.132858],[-49.297495,-13.003483],[-49.136622,-12.735505],[-49.016245,-12.655173],[-48.998249,-12.748996],[-48.926915,-12.784548],[-48.824094,-12.873867],[-48.79732,-12.927414],[-48.801825,-12.998979],[-48.766273,-13.097065],[-48.761769,-13.208664],[-48.77504,-13.351552],[-48.739269,-13.382819],[-48.685721,-13.338281],[-48.654443,-13.177397],[-48.587624,-13.155117],[-48.480519,-13.195393],[-48.36892,-13.186406],[-48.226042,-13.092583],[-48.163717,-13.10247],[-48.174967,-13.180781],[-48.074167,-13.195393],[-48.002844,-13.24894],[-47.935795,-13.244458],[-47.855473,-13.2935],[-47.681318,-13.356057],[-47.659049,-13.320263],[-47.721594,-13.150612],[-47.641042,-13.115083],[-47.556448,-13.244458],[-47.440344,-13.24894],[-47.292973,-13.199897],[-47.092044,-13.097065],[-46.971448,-13.070302],[-46.82857,-13.070302],[-46.752743,-13.03475],[-46.645648,-12.922932],[-46.59209,-12.891862],[-46.435721,-12.847104],[-46.301842,-12.833833],[-46.234792,-12.798039],[-46.087641,-12.914143],[-46.07415,-12.976699],[-46.150198,-13.025742],[-46.181245,-13.159621],[-46.176971,-13.217673],[-46.083148,-13.253444],[-46.096419,-13.351552],[-46.185749,-13.4051],[-46.270575,-13.655083],[-46.261797,-13.869492],[-46.221521,-13.998867],[-46.172467,-14.074914],[-46.127698,-14.182031],[-46.038368,-14.253354],[-46.011594,-14.298112],[-45.922495,-14.351682],[-45.96254,-14.467763],[-45.96254,-14.534604],[-45.913497,-14.690983],[-45.931273,-14.749013],[-46.025096,-14.869401],[-46.078644,-14.922949],[-46.190243,-14.93644],[-46.297348,-14.909677],[-46.315344,-14.847121],[-46.386667,-14.771294],[-46.516042,-14.713242],[-46.583092,-14.793574],[-46.556318,-14.869401],[-46.578598,-14.914182],[-46.54732,-15.039052],[-46.63665,-15.070319],[-46.734967,-15.016772],[-46.833075,-15.012268],[-46.891116,-15.048039],[-46.931391,-15.226699],[-46.891116,-15.23997],[-46.855344,-15.324807],[-46.935896,-15.431901],[-46.931391,-15.543501],[-46.868846,-15.592763],[-46.833075,-15.842746],[-46.864342,-15.882802],[-47.078542,-15.93635],[-47.127816,-15.923078],[-47.230417,-16.034677],[-47.301971,-16.039182],[-47.359792,-15.985612],[-47.351025,-15.833737],[-47.306245,-15.708647],[-47.306245,-15.588281],[-47.41357,-15.534733],[-47.422348,-15.49894],[-47.766144,-15.489953],[-48.181273,-15.489953],[-48.239325,-15.690871],[-48.203773,-15.735432],[-48.27959,-15.838242],[-48.23482,-15.95885],[-48.252816,-16.030173],[-48.181273,-16.039182],[-47.855473,-16.043664],[-47.301971,-16.039182],[-47.337523,-16.146276],[-47.324241,-16.226609],[-47.351025,-16.302414],[-47.431346,-16.409751],[-47.453616,-16.494345],[-47.404573,-16.570393],[-47.2662,-16.659734],[-47.159094,-16.918484],[-47.150096,-16.976513],[-47.230417,-17.025798],[-47.212641,-17.074841],[-47.310749,-17.141902],[-47.422348,-17.271277],[-47.453616,-17.347104],[-47.498396,-17.329328],[-47.529443,-17.454199],[-47.45812,-17.525742],[-47.409066,-17.498979],[-47.288469,-17.548022],[-47.270693,-17.66863],[-47.328745,-17.744458],[-47.355519,-17.824768],[-47.346521,-17.878315],[-47.279471,-18.061479],[-47.318846,-18.083298],[-47.44642,-18.170595],[-47.786172,-18.379402],[-47.928818,-18.44532],[-48.017917,-18.434531],[-48.226943,-18.340246],[-48.9537,-18.325854],[-49.108266,-18.388388],[-49.17937,-18.404824],[-49.24754,-18.468501],[-49.33665,-18.584824],[-49.416741,-18.60282],[-49.488295,-18.522048],[-49.553323,-18.510117],[-49.611825,-18.566828],[-49.677974,-18.600117],[-49.788672,-18.614531],[-49.960124,-18.616333],[-50.093773,-18.641294],[-50.246999,-18.690117],[-50.368267,-18.768647],[-50.457596,-18.876643],[-50.498993,-18.953152],[-50.489775,-19.020432],[-50.531622,-19.087031],[-50.577523,-19.112234],[-50.64187,-19.118518],[-50.713193,-19.160595],[-50.791943,-19.238445],[-50.84392,-19.310888],[-50.868892,-19.377488],[-50.870924,-19.42385],[-50.864167,-19.437802],[-50.880823,-19.459182],[-50.92379,-19.464126],[-50.964297,-19.511367]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"BRA-596","diss_me":596,"iso_3166_2":"BR-TO","wikipedia":null,"iso_a2":"BR","adm0_sr":1,"name":"Tocantins","name_alt":null,"name_local":null,"type":"Estado","type_en":"State","code_local":null,"code_hasc":"BR.TO","note":null,"hasc_maybe":null,"region":null,"region_cod":null,"provnum_ne":21,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":"Toc.","postal":"TO","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":9,"mapcolor9":5,"mapcolor13":7,"fips":"BR31","fips_alt":null,"woe_id":2344870,"woe_label":"Tocantins, BR, Brazil","woe_name":"Tocantins","latitude":-10.223,"longitude":-48.2502,"sov_a3":"BRA","adm0_a3":"BRA","adm0_label":2,"admin":"Brazil","geonunit":"Brazil","gu_a3":"BRA","gn_id":3474575,"gn_name":"Estado de Tocantins","gns_id":418317,"gns_name":"Tocantins, Estado de","gn_level":1,"gn_region":null,"gn_a1_code":"BR.31","region_sub":null,"sub_code":null,"gns_level":1,"gns_lang":"sqi","gns_adm1":"BR31","gns_region":null,"min_label":3.7,"max_label":8.5,"min_zoom":3,"wikidataid":"Q43695","name_ar":"توكانتينس","name_bn":"টোক্যান্টিন","name_de":"Tocantins","name_en":"Tocantins","name_es":"Tocantins","name_fr":"Tocantins","name_el":"Τοκαντίνς","name_hi":"टोकाचिस","name_hu":"Tocatins","name_id":"Tocantins","name_it":"Tocantins","name_ja":"トカンティンス州","name_ko":"토칸칭스","name_nl":"Tocantins","name_pl":"Tocantins","name_pt":"Tocantins","name_ru":"Токантинс","name_sv":"Tocantins","name_tr":"Tocantins","name_vi":"Tocantins","name_zh":"托坎廷斯","ne_id":1159307925,"name_he":"טוקנטינס","name_uk":"Токантінс","name_ur":"توکانتینس","name_fa":"توکانتینس","name_zht":"托坎廷斯","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[-50.717467,-13.382819,-45.757118,-5.169418],"geometry":{"type":"Polygon","coordinates":[[[-50.234849,-9.842673],[-50.175215,-9.730173],[-50.084094,-9.421918],[-49.979241,-9.220099],[-49.829849,-9.022104],[-49.7079,-8.89497],[-49.612945,-8.839181],[-49.502698,-8.708664],[-49.378948,-8.498298],[-49.282641,-8.301423],[-49.226842,-8.139418],[-49.18995,-7.99497],[-49.172394,-7.867397],[-49.220316,-7.752194],[-49.333948,-7.649142],[-49.340474,-7.510099],[-49.239674,-7.334824],[-49.195124,-7.168556],[-49.209747,-7.005651],[-49.079471,-6.856237],[-48.805417,-6.718315],[-48.652872,-6.595707],[-48.622045,-6.488591],[-48.579967,-6.414125],[-48.52732,-6.372267],[-48.47062,-6.353371],[-48.410096,-6.357656],[-48.3912,-6.308832],[-48.4137,-6.207341],[-48.389848,-6.141862],[-48.319415,-6.112397],[-48.296695,-6.067397],[-48.321217,-6.006642],[-48.307045,-5.965927],[-48.254398,-5.945229],[-48.2454,-5.888517],[-48.28004,-5.795815],[-48.258672,-5.723591],[-48.181273,-5.672065],[-48.159223,-5.619198],[-48.192743,-5.565431],[-48.231448,-5.533241],[-48.275316,-5.522453],[-48.317174,-5.48622],[-48.356999,-5.424345],[-48.421566,-5.398483],[-48.511116,-5.408151],[-48.597523,-5.398703],[-48.721493,-5.355944],[-48.721493,-5.355724],[-48.721943,-5.355043],[-48.630592,-5.330302],[-48.574342,-5.288224],[-48.523497,-5.220505],[-48.458249,-5.180888],[-48.378148,-5.169418],[-48.281622,-5.189457],[-48.168891,-5.240741],[-48.059545,-5.263022],[-47.95312,-5.256276],[-47.884499,-5.285522],[-47.853891,-5.35078],[-47.763221,-5.40725],[-47.612467,-5.454953],[-47.519995,-5.506479],[-47.485795,-5.561147],[-47.444848,-5.749914],[-47.397146,-6.072341],[-47.405473,-6.421091],[-47.470491,-6.795944],[-47.53709,-7.02725],[-47.605721,-7.114767],[-47.665344,-7.167194],[-47.715969,-7.18475],[-47.71709,-7.222104],[-47.668948,-7.279694],[-47.611797,-7.301513],[-47.545868,-7.287582],[-47.506943,-7.305798],[-47.495023,-7.356203],[-47.498396,-7.449806],[-47.45812,-7.534621],[-47.41357,-7.530116],[-47.346521,-7.659733],[-47.303542,-7.662875],[-47.279471,-7.731056],[-47.150096,-7.856147],[-47.078542,-7.976513],[-47.016217,-8.043574],[-46.98495,-8.039069],[-46.868846,-7.958737],[-46.743745,-7.922966],[-46.574094,-7.90519],[-46.489269,-7.963241],[-46.466999,-8.070358],[-46.502771,-8.172949],[-46.507275,-8.275781],[-46.543047,-8.320319],[-46.502771,-8.396147],[-46.658919,-8.396147],[-46.793019,-8.436423],[-46.837568,-8.485466],[-46.882118,-8.583793],[-46.922394,-8.744457],[-46.904618,-8.829272],[-47.065271,-8.976642],[-47.083047,-9.034694],[-47.038497,-9.065983],[-46.940169,-9.070246],[-46.846566,-9.168574],[-46.82857,-9.306957],[-46.752743,-9.409548],[-46.560823,-9.498867],[-46.534049,-9.556918],[-46.600868,-9.650742],[-46.650141,-9.664013],[-46.667917,-9.744345],[-46.507275,-9.855944],[-46.462495,-9.949767],[-46.471493,-10.003315],[-46.346622,-10.168483],[-46.284066,-10.186479],[-46.190243,-10.17747],[-46.087641,-10.208737],[-46.034094,-10.271293],[-45.944775,-10.315854],[-45.757118,-10.329345],[-45.85995,-10.467729],[-46.038368,-10.570319],[-46.087641,-10.583832],[-46.301842,-10.757746],[-46.234792,-10.882858],[-46.248294,-10.914125],[-46.368891,-10.967673],[-46.462495,-11.1776],[-46.529544,-11.235432],[-46.56982,-11.315983],[-46.551825,-11.378298],[-46.489269,-11.414069],[-46.426943,-11.498906],[-46.190243,-11.543444],[-46.083148,-11.601496],[-46.105417,-11.664052],[-46.24379,-11.726608],[-46.275068,-11.766862],[-46.248294,-11.84269],[-46.158965,-11.833703],[-46.100924,-11.86497],[-46.078644,-11.927526],[-46.212523,-11.99885],[-46.248294,-12.048112],[-46.324122,-12.092673],[-46.337624,-12.128444],[-46.346622,-12.342656],[-46.315344,-12.422966],[-46.158965,-12.503298],[-46.158965,-12.601625],[-46.234792,-12.713225],[-46.234792,-12.798039],[-46.301842,-12.833833],[-46.435721,-12.847104],[-46.59209,-12.891862],[-46.645648,-12.922932],[-46.752743,-13.03475],[-46.82857,-13.070302],[-46.971448,-13.070302],[-47.092044,-13.097065],[-47.292973,-13.199897],[-47.440344,-13.24894],[-47.556448,-13.244458],[-47.641042,-13.115083],[-47.721594,-13.150612],[-47.659049,-13.320263],[-47.681318,-13.356057],[-47.855473,-13.2935],[-47.935795,-13.244458],[-48.002844,-13.24894],[-48.074167,-13.195393],[-48.174967,-13.180781],[-48.163717,-13.10247],[-48.226042,-13.092583],[-48.36892,-13.186406],[-48.480519,-13.195393],[-48.587624,-13.155117],[-48.654443,-13.177397],[-48.685721,-13.338281],[-48.739269,-13.382819],[-48.77504,-13.351552],[-48.761769,-13.208664],[-48.766273,-13.097065],[-48.801825,-12.998979],[-48.79732,-12.927414],[-48.824094,-12.873867],[-48.926915,-12.784548],[-48.998249,-12.748996],[-49.016245,-12.655173],[-49.136622,-12.735505],[-49.297495,-13.003483],[-49.35982,-13.132858],[-49.38232,-13.24894],[-49.520693,-13.199897],[-49.68584,-13.177397],[-49.913542,-13.070302],[-49.971594,-13.025742],[-50.051915,-13.021237],[-50.239342,-12.931918],[-50.27062,-12.891862],[-50.275124,-12.789052],[-50.199297,-12.655173],[-50.20357,-12.570358],[-50.136741,-12.476513],[-50.163745,-12.387656],[-50.295592,-12.490026],[-50.392349,-12.617138],[-50.48482,-12.8426],[-50.566042,-12.819638],[-50.613965,-12.763388],[-50.655372,-12.666862],[-50.660547,-12.558207],[-50.629269,-12.43738],[-50.631741,-12.288647],[-50.667523,-12.112031],[-50.674719,-11.990082],[-50.653571,-11.922341],[-50.661448,-11.8535],[-50.717467,-11.749108],[-50.665721,-11.651901],[-50.671346,-11.573832],[-50.716566,-11.48269],[-50.708019,-11.345668],[-50.645243,-11.162746],[-50.610372,-11.000983],[-50.599122,-10.689807],[-50.550749,-10.567177],[-50.454674,-10.388517],[-50.402698,-10.258242],[-50.395271,-10.176789],[-50.33745,-10.034362],[-50.234849,-9.842673]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"BRA-1311","diss_me":1311,"iso_3166_2":"BR-SP","wikipedia":null,"iso_a2":"BR","adm0_sr":6,"name":"São Paulo","name_alt":null,"name_local":null,"type":"Estado","type_en":"State","code_local":null,"code_hasc":"BR.SP","note":null,"hasc_maybe":null,"region":null,"region_cod":null,"provnum_ne":6,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":"S.P.","postal":"SP","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":9,"mapcolor9":5,"mapcolor13":7,"fips":"BR27","fips_alt":"BR27","woe_id":2344868,"woe_label":"Sao Paulo, BR, Brazil","woe_name":"São Paulo","latitude":-22.2267,"longitude":-48.5206,"sov_a3":"BRA","adm0_a3":"BRA","adm0_label":2,"admin":"Brazil","geonunit":"Brazil","gu_a3":"BRA","gn_id":3448433,"gn_name":"Estado de Sao Paulo","gns_id":-671832,"gns_name":"Sao Paulo, Estado de","gn_level":1,"gn_region":null,"gn_a1_code":"BR.27","region_sub":null,"sub_code":null,"gns_level":1,"gns_lang":"kor","gns_adm1":"BR27","gns_region":null,"min_label":3.7,"max_label":8.5,"min_zoom":3,"wikidataid":"Q175","name_ar":"ساو باولو","name_bn":"সাঁও পাওলো","name_de":"São Paulo","name_en":"São Paulo","name_es":"Estado de São Paulo","name_fr":"São Paulo","name_el":"Σάο Πάολο","name_hi":"साओ पाउलो","name_hu":"São Paulo","name_id":"São Paulo","name_it":"San Paolo","name_ja":"サンパウロ州","name_ko":"상파울루","name_nl":"São Paulo","name_pl":"São Paulo","name_pt":"São Paulo","name_ru":"Сан-Паулу","name_sv":"São Paulo","name_tr":"São Paulo","name_vi":"São Paulo","name_zh":"圣保罗州","ne_id":1159309727,"name_he":"סאו פאולו","name_uk":"Сан-Паулу","name_ur":"ساؤ پاؤلو","name_fa":"ایالت سائوپائولو","name_zht":"圣保罗州","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[-53.1162,-25.290264,-44.167945,-19.790815],"geometry":{"type":"MultiPolygon","coordinates":[[[[-53.1162,-22.639988],[-52.960721,-22.454824],[-52.566071,-22.207324],[-52.402495,-22.069182],[-52.338818,-21.957341],[-52.245665,-21.840359],[-52.122596,-21.718169],[-52.064995,-21.622764],[-52.072642,-21.554143],[-52.04767,-21.510945],[-51.989849,-21.49363],[-51.954747,-21.469548],[-51.93629,-21.422746],[-51.872844,-21.329824],[-51.85665,-21.260083],[-51.866318,-21.182673],[-51.81142,-21.077138],[-51.691943,-20.943721],[-51.619049,-20.806919],[-51.593165,-20.666513],[-51.534224,-20.557617],[-51.396971,-20.441755],[-51.160721,-20.306513],[-51.063965,-20.223039],[-50.993773,-20.101553],[-50.584049,-19.821203],[-50.488644,-19.790815],[-50.433745,-19.800263],[-50.364443,-19.858557],[-49.377146,-19.978484],[-49.278368,-19.987031],[-49.25879,-20.016958],[-49.288047,-20.073647],[-49.283542,-20.148574],[-49.238993,-20.245539],[-49.199849,-20.294363],[-49.166318,-20.295044],[-49.112771,-20.259272],[-49.039646,-20.187268],[-48.994646,-20.213591],[-48.977991,-20.338242],[-48.952568,-20.410027],[-48.918368,-20.429143],[-48.88687,-20.36997],[-48.858295,-20.232729],[-48.811943,-20.158923],[-48.715648,-20.14385],[-48.363745,-20.138225],[-48.253266,-20.093005],[-48.17834,-20.082876],[-48.109499,-20.116626],[-48.051217,-20.120229],[-47.991144,-20.082876],[-47.90879,-20.081755],[-47.861769,-20.055652],[-47.860198,-20.011992],[-47.81857,-19.980725],[-47.749719,-19.977121],[-47.695491,-19.991074],[-47.655896,-20.022803],[-47.594241,-20.018518],[-47.517743,-19.994216],[-47.459922,-20.000984],[-47.427743,-20.036294],[-47.328965,-20.117527],[-47.24437,-20.173996],[-47.234922,-20.204363],[-47.2662,-20.284695],[-47.292973,-20.423078],[-47.252698,-20.476626],[-47.15459,-20.525669],[-47.10982,-20.632763],[-47.212641,-20.806919],[-47.221419,-20.914013],[-47.145592,-20.981074],[-47.123323,-21.132949],[-47.056273,-21.195263],[-46.993948,-21.342656],[-47.002715,-21.400708],[-46.89562,-21.40519],[-46.815299,-21.360652],[-46.685693,-21.396203],[-46.654646,-21.373923],[-46.605372,-21.427471],[-46.507275,-21.458738],[-46.493773,-21.525798],[-46.560823,-21.672949],[-46.605372,-21.681958],[-46.627872,-21.771277],[-46.667917,-21.811553],[-46.658919,-21.905156],[-46.618874,-21.985466],[-46.658919,-22.052527],[-46.600868,-22.132859],[-46.663424,-22.204402],[-46.699195,-22.320264],[-46.641144,-22.409604],[-46.54732,-22.440871],[-46.543047,-22.472139],[-46.453717,-22.516699],[-46.395665,-22.615027],[-46.471493,-22.682065],[-46.368891,-22.748906],[-46.359894,-22.842729],[-46.28857,-22.882764],[-46.154471,-22.847234],[-46.145693,-22.891772],[-46.020592,-22.873996],[-45.908993,-22.820449],[-45.85995,-22.860505],[-45.7929,-22.851716],[-45.743846,-22.797949],[-45.743846,-22.726626],[-45.801898,-22.699841],[-45.672292,-22.619531],[-45.629775,-22.622673],[-45.583193,-22.615027],[-45.529646,-22.650798],[-45.470924,-22.611643],[-45.409049,-22.646294],[-45.270665,-22.606018],[-45.243891,-22.561479],[-45.056245,-22.467656],[-44.922365,-22.44988],[-44.833047,-22.4051],[-44.770721,-22.423096],[-44.650124,-22.561479],[-44.636622,-22.601514],[-44.538525,-22.619531],[-44.216999,-22.592746],[-44.167945,-22.699841],[-44.248266,-22.748906],[-44.27504,-22.820449],[-44.359865,-22.856001],[-44.471465,-22.851716],[-44.587568,-22.878501],[-44.725941,-22.936553],[-44.797495,-22.9901],[-44.806273,-23.137251],[-44.864325,-23.204289],[-44.782872,-23.353923],[-44.951622,-23.381367],[-45.215316,-23.575539],[-45.325344,-23.599621],[-45.423221,-23.685359],[-45.43334,-23.758484],[-45.464398,-23.802583],[-45.527174,-23.804824],[-45.664646,-23.764768],[-45.843075,-23.763647],[-45.971999,-23.795596],[-46.630794,-24.110376],[-46.867275,-24.236367],[-47.137275,-24.493096],[-47.592219,-24.781091],[-47.831172,-24.953005],[-47.876622,-24.997544],[-47.914195,-24.999807],[-47.989122,-25.035798],[-47.959415,-25.065505],[-47.90834,-25.068208],[-47.929499,-25.168315],[-48.024443,-25.236716],[-48.07754,-25.290264],[-48.08767,-25.280156],[-48.091943,-25.235596],[-48.185766,-25.190815],[-48.230547,-25.012397],[-48.266098,-25.034678],[-48.413469,-24.95885],[-48.511797,-25.083721],[-48.565344,-25.056958],[-48.542844,-24.811479],[-48.489297,-24.744419],[-48.614398,-24.681863],[-48.779545,-24.695376],[-48.828599,-24.664109],[-49.025023,-24.668591],[-49.092073,-24.686367],[-49.216943,-24.690872],[-49.297495,-24.664109],[-49.310766,-24.530229],[-49.239443,-24.41863],[-49.225941,-24.338298],[-49.274995,-24.315798],[-49.33754,-24.213208],[-49.333047,-24.141863],[-49.409094,-24.083833],[-49.601025,-23.864897],[-49.569747,-23.83385],[-49.551971,-23.713242],[-49.605519,-23.641699],[-49.654573,-23.50782],[-49.614297,-23.409734],[-49.636797,-23.257859],[-49.7304,-23.105984],[-49.909049,-23.034639],[-49.913542,-22.985596],[-49.958092,-22.963315],[-49.971594,-22.914053],[-50.123249,-22.940815],[-50.2929,-22.954328],[-50.368948,-22.914053],[-50.431273,-22.94532],[-50.627698,-22.923039],[-50.726025,-22.949824],[-50.784066,-22.94532],[-50.882174,-22.820449],[-51.002771,-22.793664],[-51.18142,-22.739897],[-51.355344,-22.650798],[-51.547495,-22.68635],[-51.641099,-22.650798],[-51.694646,-22.66407],[-51.74392,-22.619531],[-51.873295,-22.610522],[-51.984894,-22.547966],[-52.065215,-22.521203],[-52.141273,-22.543484],[-52.163542,-22.601514],[-52.21709,-22.641789],[-52.26165,-22.601514],[-52.315198,-22.619531],[-52.444792,-22.601514],[-52.52062,-22.615027],[-52.614443,-22.570466],[-52.694775,-22.601514],[-52.949241,-22.570466],[-53.044415,-22.636406],[-53.1162,-22.639988]]],[[[-45.249066,-23.782544],[-45.233092,-23.825303],[-45.250197,-23.852966],[-45.260316,-23.889199],[-45.260997,-23.941406],[-45.302624,-23.914841],[-45.412872,-23.93488],[-45.451346,-23.895505],[-45.302394,-23.727656],[-45.272247,-23.751958],[-45.249066,-23.782544]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"BRA-593","diss_me":593,"iso_3166_2":"BR-MA","wikipedia":null,"iso_a2":"BR","adm0_sr":5,"name":"Maranhão","name_alt":"São Luíz de Maranhão","name_local":null,"type":"Estado","type_en":"State","code_local":null,"code_hasc":"BR.MA","note":null,"hasc_maybe":"BR.TO|BRA-MRN","region":null,"region_cod":null,"provnum_ne":8,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":"Mara.","postal":"MA","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":8,"mapcolor9":5,"mapcolor13":7,"fips":"BR13","fips_alt":"BR31","woe_id":2344854,"woe_label":"Maranhao, BR, Brazil","woe_name":"Maranhão","latitude":-5.01897,"longitude":-45.389,"sov_a3":"BRA","adm0_a3":"BRA","adm0_label":2,"admin":"Brazil","geonunit":"Brazil","gu_a3":"BRA","gn_id":3395443,"gn_name":"Estado do Maranhao","gns_id":-653716,"gns_name":"Maranhao, Estado do","gn_level":1,"gn_region":null,"gn_a1_code":"BR.13","region_sub":null,"sub_code":null,"gns_level":1,"gns_lang":"por","gns_adm1":"BR13","gns_region":null,"min_label":3.7,"max_label":8.5,"min_zoom":3,"wikidataid":"Q42362","name_ar":"مارانهاو","name_bn":"মহানহো","name_de":"Maranhão","name_en":"Maranhão","name_es":"Maranhão","name_fr":"Maranhão","name_el":"Μαρανιάο","name_hi":"मरान्हाओ","name_hu":"Maranhão","name_id":"Maranhão","name_it":"Maranhão","name_ja":"マラニョン州","name_ko":"마라냥","name_nl":"Maranhão","name_pl":"Maranhão","name_pt":"Maranhão","name_ru":"Мараньян","name_sv":"Maranhão","name_tr":"Maranhão","name_vi":"Maranhão","name_zh":"马拉尼昂州","ne_id":1159307935,"name_he":"מרניאו","name_uk":"Мараньян","name_ur":"مارانہاؤ","name_fa":"مارانیائو","name_zht":"马拉尼昂州","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[-48.730491,-10.315854,-41.815344,-1.146862],"geometry":{"type":"MultiPolygon","coordinates":[[[[-48.721943,-5.355043],[-48.730491,-5.338168],[-48.252816,-4.954328],[-47.801915,-4.59703],[-47.654545,-4.606017],[-47.583221,-4.547965],[-47.489398,-4.423095],[-47.45812,-4.33828],[-47.382292,-4.275724],[-47.333019,-4.164125],[-47.310749,-4.065798],[-47.288469,-4.079289],[-47.065271,-3.842599],[-47.024995,-3.597121],[-47.029499,-3.570358],[-46.966943,-3.525797],[-46.944674,-3.396203],[-46.859848,-3.329142],[-46.824297,-3.329142],[-46.743745,-3.19078],[-46.667917,-3.092672],[-46.63665,-2.985578],[-46.650141,-2.914013],[-46.574094,-2.847194],[-46.667917,-2.739879],[-46.600868,-2.664052],[-46.507275,-2.614987],[-46.484995,-2.547948],[-46.426943,-2.512397],[-46.435721,-2.409565],[-46.408948,-2.387306],[-46.413441,-2.239914],[-46.377669,-2.253427],[-46.279573,-2.141828],[-46.212523,-1.927397],[-46.217016,-1.80703],[-46.301842,-1.802526],[-46.315344,-1.730983],[-46.24379,-1.722194],[-46.199241,-1.677414],[-46.181245,-1.574823],[-46.199241,-1.485504],[-46.123193,-1.347121],[-46.158965,-1.315854],[-46.1412,-1.240026],[-46.00709,-1.146862],[-45.972219,-1.187379],[-45.778717,-1.250814],[-45.644848,-1.347802],[-45.55687,-1.330707],[-45.458542,-1.356349],[-45.353019,-1.567397],[-45.329167,-1.71725],[-45.282146,-1.696552],[-45.238497,-1.629491],[-45.182016,-1.507104],[-45.076273,-1.466366],[-45.025868,-1.513388],[-44.919674,-1.588776],[-44.828322,-1.671569],[-44.789848,-1.724897],[-44.721217,-1.733444],[-44.778598,-1.798922],[-44.720997,-1.792397],[-44.651245,-1.745815],[-44.591622,-1.841901],[-44.546842,-1.946293],[-44.537844,-2.052729],[-44.579922,-2.113922],[-44.617275,-2.152177],[-44.658672,-2.227543],[-44.707495,-2.241056],[-44.756318,-2.265578],[-44.700749,-2.320465],[-44.662495,-2.373354],[-44.579021,-2.230465],[-44.520299,-2.190431],[-44.435473,-2.168151],[-44.391374,-2.269621],[-44.381915,-2.365465],[-44.520068,-2.405522],[-44.520749,-2.481349],[-44.561915,-2.524328],[-44.588919,-2.573371],[-44.610749,-2.676862],[-44.638874,-2.762599],[-44.721447,-3.142397],[-44.723019,-3.204733],[-44.622669,-3.137892],[-44.437495,-2.944401],[-44.381245,-2.738297],[-44.30812,-2.535116],[-44.2287,-2.47122],[-44.179415,-2.47122],[-44.10562,-2.4935],[-44.101346,-2.560099],[-44.112596,-2.598573],[-44.191566,-2.699604],[-44.225096,-2.754953],[-44.192697,-2.809621],[-44.013148,-2.642233],[-43.932816,-2.5835],[-43.864415,-2.595431],[-43.728525,-2.518241],[-43.455141,-2.502047],[-43.434674,-2.413629],[-43.379995,-2.376056],[-43.229691,-2.385944],[-42.93674,-2.465155],[-42.832348,-2.529491],[-42.675969,-2.589565],[-42.593615,-2.661129],[-42.249589,-2.792065],[-41.999848,-2.806017],[-41.876098,-2.746625],[-41.846171,-2.758776],[-41.868891,-2.851698],[-41.815344,-2.936293],[-41.842118,-3.034621],[-41.92245,-3.110448],[-42.002771,-3.231056],[-42.105372,-3.262323],[-42.100868,-3.30238],[-42.216971,-3.431974],[-42.364342,-3.44975],[-42.453672,-3.476513],[-42.502714,-3.44975],[-42.574268,-3.570358],[-42.627816,-3.614897],[-42.67687,-3.699733],[-42.663368,-3.789052],[-42.734922,-3.922931],[-42.851025,-4.039013],[-42.89107,-4.141845],[-42.989398,-4.239953],[-42.953615,-4.391828],[-42.895575,-4.405099],[-42.864297,-4.498923],[-42.91357,-4.637306],[-42.949122,-4.659565],[-42.931346,-4.73113],[-42.953615,-4.775668],[-42.904572,-4.829216],[-42.855518,-4.936332],[-42.833018,-5.097194],[-42.806245,-5.15953],[-42.833018,-5.311405],[-42.91357,-5.391716],[-43.04745,-5.597138],[-43.100997,-5.623923],[-43.083221,-5.713241],[-43.109995,-5.771293],[-43.074223,-6.057048],[-43.002669,-6.123866],[-42.962624,-6.186423],[-42.851025,-6.253483],[-42.86879,-6.436406],[-42.855518,-6.480944],[-42.91357,-6.615043],[-42.917844,-6.668591],[-42.9804,-6.744418],[-43.132275,-6.78019],[-43.199094,-6.753427],[-43.301915,-6.80247],[-43.462568,-6.842746],[-43.560896,-6.753427],[-43.676768,-6.69988],[-43.815372,-6.708647],[-43.953745,-6.762194],[-44.03857,-6.766698],[-44.06084,-6.829255],[-44.092118,-6.806974],[-44.163441,-6.887306],[-44.167945,-6.923078],[-44.257275,-7.007892],[-44.306318,-7.110505],[-44.449195,-7.146276],[-44.57857,-7.248866],[-44.712669,-7.396237],[-44.815271,-7.36497],[-44.909094,-7.445302],[-45.024967,-7.494345],[-45.29745,-7.556901],[-45.471594,-7.673005],[-45.542917,-7.869418],[-45.5787,-8.150668],[-45.654516,-8.253281],[-45.659021,-8.311332],[-45.734848,-8.431918],[-45.752844,-8.561293],[-45.819674,-8.699897],[-45.926769,-8.788996],[-45.980547,-8.927599],[-45.940271,-9.012194],[-45.935766,-9.119531],[-45.904499,-9.177582],[-45.895721,-9.329216],[-45.828672,-9.373996],[-45.797394,-9.463095],[-45.837669,-9.534638],[-45.85995,-9.833664],[-45.85995,-9.998832],[-45.899995,-10.025595],[-45.899995,-10.083647],[-45.953542,-10.181974],[-45.935766,-10.213242],[-45.944775,-10.315854],[-46.034094,-10.271293],[-46.087641,-10.208737],[-46.190243,-10.17747],[-46.284066,-10.186479],[-46.346622,-10.168483],[-46.471493,-10.003315],[-46.462495,-9.949767],[-46.507275,-9.855944],[-46.667917,-9.744345],[-46.650141,-9.664013],[-46.600868,-9.650742],[-46.534049,-9.556918],[-46.560823,-9.498867],[-46.752743,-9.409548],[-46.82857,-9.306957],[-46.846566,-9.168574],[-46.940169,-9.070246],[-47.038497,-9.065983],[-47.083047,-9.034694],[-47.065271,-8.976642],[-46.904618,-8.829272],[-46.922394,-8.744457],[-46.882118,-8.583793],[-46.837568,-8.485466],[-46.793019,-8.436423],[-46.658919,-8.396147],[-46.502771,-8.396147],[-46.543047,-8.320319],[-46.507275,-8.275781],[-46.502771,-8.172949],[-46.466999,-8.070358],[-46.489269,-7.963241],[-46.574094,-7.90519],[-46.743745,-7.922966],[-46.868846,-7.958737],[-46.98495,-8.039069],[-47.016217,-8.043574],[-47.078542,-7.976513],[-47.150096,-7.856147],[-47.279471,-7.731056],[-47.303542,-7.662875],[-47.346521,-7.659733],[-47.41357,-7.530116],[-47.45812,-7.534621],[-47.498396,-7.449806],[-47.495023,-7.356203],[-47.506943,-7.305798],[-47.545868,-7.287582],[-47.611797,-7.301513],[-47.668948,-7.279694],[-47.71709,-7.222104],[-47.715969,-7.18475],[-47.665344,-7.167194],[-47.605721,-7.114767],[-47.53709,-7.02725],[-47.470491,-6.795944],[-47.405473,-6.421091],[-47.397146,-6.072341],[-47.444848,-5.749914],[-47.485795,-5.561147],[-47.519995,-5.506479],[-47.612467,-5.454953],[-47.763221,-5.40725],[-47.853891,-5.35078],[-47.884499,-5.285522],[-47.95312,-5.256276],[-48.059545,-5.263022],[-48.168891,-5.240741],[-48.281622,-5.189457],[-48.378148,-5.169418],[-48.458249,-5.180888],[-48.523497,-5.220505],[-48.574342,-5.288224],[-48.630592,-5.330302],[-48.721943,-5.355043]]],[[[-44.565299,-2.923922],[-44.581943,-2.845612],[-44.569122,-2.784879],[-44.501842,-2.726147],[-44.481374,-2.717599],[-44.487219,-2.789823],[-44.482495,-2.811862],[-44.49937,-2.939677],[-44.597697,-3.037543],[-44.565299,-2.923922]]],[[[-45.011245,-1.344638],[-44.99549,-1.347582],[-44.978615,-1.26725],[-44.888396,-1.276918],[-44.88299,-1.317875],[-44.947118,-1.366017],[-44.967816,-1.39078],[-45.020924,-1.372323],[-45.011245,-1.344638]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"BRA-627","diss_me":627,"iso_3166_2":"BR-RJ","wikipedia":null,"iso_a2":"BR","adm0_sr":5,"name":"Rio de Janeiro","name_alt":null,"name_local":null,"type":"Estado","type_en":"State","code_local":null,"code_hasc":"BR.RJ","note":null,"hasc_maybe":null,"region":null,"region_cod":null,"provnum_ne":4,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":"Rio","postal":"RJ","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":14,"mapcolor9":5,"mapcolor13":7,"fips":"BR21","fips_alt":null,"woe_id":2344862,"woe_label":"Rio de Janeiro, BR, Brazil","woe_name":"Rio de Janeiro","latitude":-22.4049,"longitude":-43.1152,"sov_a3":"BRA","adm0_a3":"BRA","adm0_label":2,"admin":"Brazil","geonunit":"Brazil","gu_a3":"BRA","gn_id":3451189,"gn_name":"Estado do Rio de Janeiro","gns_id":-666611,"gns_name":"Rio de Janeiro, Estado do","gn_level":1,"gn_region":null,"gn_a1_code":"BR.21","region_sub":null,"sub_code":null,"gns_level":1,"gns_lang":"por","gns_adm1":"BR21","gns_region":null,"min_label":3.7,"max_label":8.5,"min_zoom":3,"wikidataid":"Q41428","name_ar":"ريو دي جانيرو","name_bn":"রিও ডি জেনিরো","name_de":"Rio de Janeiro","name_en":"Rio de Janeiro","name_es":"Estado de Río de Janeiro","name_fr":"Rio de Janeiro","name_el":"Ρίο ντε Τζανέιρο","name_hi":"रियो डि जेनेरो","name_hu":"Rio de Janeiro","name_id":"Rio de Janeiro","name_it":"Rio de Janeiro","name_ja":"リオデジャネイロ州","name_ko":"리우데자네이루","name_nl":"Rio de Janeiro","name_pl":"Rio de Janeiro","name_pt":"Rio de Janeiro","name_ru":"Рио-де-Жанейро","name_sv":"Rio de Janeiro","name_tr":"Rio de Janeiro","name_vi":"Rio de Janeiro","name_zh":"里约热内卢州","ne_id":1159307777,"name_he":"ריו דה ז'ניירו","name_uk":"Ріо-де-Жанейро","name_ur":"ریو دے جینیرو","name_fa":"ایالت ریو د ژانیرو","name_zht":"里約熱內盧州","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[-44.864325,-23.353923,-40.96754,-20.775652],"geometry":{"type":"MultiPolygon","coordinates":[[[[-44.782872,-23.353923],[-44.864325,-23.204289],[-44.806273,-23.137251],[-44.797495,-22.9901],[-44.725941,-22.936553],[-44.587568,-22.878501],[-44.471465,-22.851716],[-44.359865,-22.856001],[-44.27504,-22.820449],[-44.248266,-22.748906],[-44.167945,-22.699841],[-44.216999,-22.592746],[-44.538525,-22.619531],[-44.636622,-22.601514],[-44.650124,-22.561479],[-44.770721,-22.423096],[-44.833047,-22.4051],[-44.730445,-22.360539],[-44.663396,-22.369548],[-44.60107,-22.316001],[-44.534021,-22.302488],[-44.444691,-22.253445],[-44.293047,-22.239953],[-44.216999,-22.24894],[-44.092118,-22.173113],[-43.895693,-22.106074],[-43.815372,-22.065798],[-43.565169,-22.065798],[-43.462568,-22.057031],[-43.341971,-22.003484],[-43.132275,-22.025742],[-43.063424,-22.063557],[-42.279516,-21.713225],[-42.284021,-21.641902],[-42.368846,-21.632893],[-42.364342,-21.592617],[-42.301797,-21.485522],[-42.297292,-21.40519],[-42.221464,-21.338152],[-42.181419,-21.163996],[-42.096594,-21.003354],[-42.141143,-20.963298],[-42.096594,-20.923022],[-41.998266,-20.932031],[-41.962495,-20.909751],[-41.926943,-20.829199],[-41.864398,-20.775652],[-41.74379,-20.820432],[-41.712523,-20.97657],[-41.730518,-21.04363],[-41.712523,-21.110449],[-41.440271,-21.199768],[-41.391217,-21.186496],[-41.266115,-21.231057],[-41.069691,-21.213281],[-40.96754,-21.275596],[-41.047191,-21.505781],[-41.02312,-21.596902],[-41.021549,-21.610854],[-40.987799,-21.920229],[-41.0004,-21.998979],[-41.122568,-22.084475],[-41.582917,-22.243557],[-41.705546,-22.309695],[-41.98049,-22.580596],[-41.997596,-22.644734],[-41.986115,-22.735854],[-41.940896,-22.788281],[-41.987467,-22.84519],[-42.042365,-22.947121],[-42.122467,-22.940815],[-42.581025,-22.941057],[-42.829195,-22.973225],[-42.958339,-22.967139],[-43.016172,-22.942617],[-43.0812,-22.902583],[-43.100766,-22.850156],[-43.065445,-22.770725],[-43.086374,-22.723242],[-43.154325,-22.725264],[-43.229021,-22.747544],[-43.241842,-22.795027],[-43.236667,-22.828777],[-43.208773,-22.878039],[-43.1937,-22.938574],[-43.224066,-22.991221],[-43.369415,-22.997966],[-43.532771,-23.04635],[-43.736622,-23.066609],[-43.898846,-23.101479],[-43.973773,-23.05738],[-43.898846,-23.03532],[-43.791521,-23.045889],[-43.675868,-23.009458],[-43.702872,-22.966238],[-43.866217,-22.910449],[-44.047568,-22.944639],[-44.147917,-23.011018],[-44.367973,-23.004953],[-44.637292,-23.055579],[-44.681172,-23.106863],[-44.673745,-23.206553],[-44.621098,-23.228591],[-44.569792,-23.274053],[-44.619066,-23.31635],[-44.667219,-23.335246],[-44.782872,-23.353923]]],[[[-44.155794,-23.166496],[-44.220592,-23.190798],[-44.32004,-23.212397],[-44.360096,-23.172121],[-44.27415,-23.116333],[-44.242872,-23.074014],[-44.220372,-23.083022],[-44.191566,-23.113169],[-44.12924,-23.141975],[-44.097973,-23.169419],[-44.155794,-23.166496]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"BRA-622","diss_me":622,"iso_3166_2":"BR-PI","wikipedia":null,"iso_a2":"BR","adm0_sr":1,"name":"Piauí","name_alt":"Piauhy","name_local":null,"type":"Estado","type_en":"State","code_local":null,"code_hasc":"BR.PI","note":null,"hasc_maybe":null,"region":null,"region_cod":null,"provnum_ne":18,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":"Piauí","postal":"PI","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":5,"mapcolor9":5,"mapcolor13":7,"fips":"BR20","fips_alt":null,"woe_id":2344861,"woe_label":"Piaui, BR, Brazil","woe_name":"Piauí","latitude":-8.08698,"longitude":-43.1974,"sov_a3":"BRA","adm0_a3":"BRA","adm0_label":2,"admin":"Brazil","geonunit":"Brazil","gu_a3":"BRA","gn_id":3392213,"gn_name":"Estado do Piaui","gns_id":-661542,"gns_name":"Piaui, Estado do","gn_level":1,"gn_region":null,"gn_a1_code":"BR.20","region_sub":null,"sub_code":null,"gns_level":1,"gns_lang":"por","gns_adm1":"BR20","gns_region":null,"min_label":3.7,"max_label":8.5,"min_zoom":3,"wikidataid":"Q42722","name_ar":"بياوي","name_bn":"পিয়াউই","name_de":"Piauí","name_en":"Piauí","name_es":"Piauí","name_fr":"Piauí","name_el":"Πιοΐ","name_hi":"पियाउई","name_hu":"Piauí","name_id":"Piauí","name_it":"Piauí","name_ja":"ピアウイ州","name_ko":"피아우이","name_nl":"Piauí","name_pl":"Piauí","name_pt":"Piauí","name_ru":"Пиауи","name_sv":"Piauí","name_tr":"Piauí","name_vi":"Piauí","name_zh":"皮奥伊州","ne_id":1159307921,"name_he":"פיאאוי","name_uk":"Піауї","name_ur":"پیاوی","name_fa":"پیاوی","name_zht":"皮奧伊州","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[-45.980547,-10.89635,-40.417872,-2.758776],"geometry":{"type":"Polygon","coordinates":[[[-45.757118,-10.329345],[-45.944775,-10.315854],[-45.935766,-10.213242],[-45.953542,-10.181974],[-45.899995,-10.083647],[-45.899995,-10.025595],[-45.85995,-9.998832],[-45.85995,-9.833664],[-45.837669,-9.534638],[-45.797394,-9.463095],[-45.828672,-9.373996],[-45.895721,-9.329216],[-45.904499,-9.177582],[-45.935766,-9.119531],[-45.940271,-9.012194],[-45.980547,-8.927599],[-45.926769,-8.788996],[-45.819674,-8.699897],[-45.752844,-8.561293],[-45.734848,-8.431918],[-45.659021,-8.311332],[-45.654516,-8.253281],[-45.5787,-8.150668],[-45.542917,-7.869418],[-45.471594,-7.673005],[-45.29745,-7.556901],[-45.024967,-7.494345],[-44.909094,-7.445302],[-44.815271,-7.36497],[-44.712669,-7.396237],[-44.57857,-7.248866],[-44.449195,-7.146276],[-44.306318,-7.110505],[-44.257275,-7.007892],[-44.167945,-6.923078],[-44.163441,-6.887306],[-44.092118,-6.806974],[-44.06084,-6.829255],[-44.03857,-6.766698],[-43.953745,-6.762194],[-43.815372,-6.708647],[-43.676768,-6.69988],[-43.560896,-6.753427],[-43.462568,-6.842746],[-43.301915,-6.80247],[-43.199094,-6.753427],[-43.132275,-6.78019],[-42.9804,-6.744418],[-42.917844,-6.668591],[-42.91357,-6.615043],[-42.855518,-6.480944],[-42.86879,-6.436406],[-42.851025,-6.253483],[-42.962624,-6.186423],[-43.002669,-6.123866],[-43.074223,-6.057048],[-43.109995,-5.771293],[-43.083221,-5.713241],[-43.100997,-5.623923],[-43.04745,-5.597138],[-42.91357,-5.391716],[-42.833018,-5.311405],[-42.806245,-5.15953],[-42.833018,-5.097194],[-42.855518,-4.936332],[-42.904572,-4.829216],[-42.953615,-4.775668],[-42.931346,-4.73113],[-42.949122,-4.659565],[-42.91357,-4.637306],[-42.864297,-4.498923],[-42.895575,-4.405099],[-42.953615,-4.391828],[-42.989398,-4.239953],[-42.89107,-4.141845],[-42.851025,-4.039013],[-42.734922,-3.922931],[-42.663368,-3.789052],[-42.67687,-3.699733],[-42.627816,-3.614897],[-42.574268,-3.570358],[-42.502714,-3.44975],[-42.453672,-3.476513],[-42.364342,-3.44975],[-42.216971,-3.431974],[-42.100868,-3.30238],[-42.105372,-3.262323],[-42.002771,-3.231056],[-41.92245,-3.110448],[-41.842118,-3.034621],[-41.815344,-2.936293],[-41.868891,-2.851698],[-41.846171,-2.758776],[-41.721971,-2.80894],[-41.640068,-2.878703],[-41.479865,-2.916496],[-41.318322,-2.936293],[-41.268598,-2.916056],[-41.257118,-3.079181],[-41.377714,-3.271332],[-41.426768,-3.320375],[-41.449268,-3.436479],[-41.382219,-3.592616],[-41.355445,-3.70872],[-41.283891,-3.811332],[-41.230344,-4.043517],[-41.18129,-4.123849],[-41.118745,-4.177397],[-41.074195,-4.324767],[-41.141245,-4.42738],[-41.234848,-4.539198],[-41.243846,-4.615026],[-41.22607,-4.726625],[-41.18129,-4.81144],[-41.185794,-4.914052],[-41.123249,-5.007875],[-41.114471,-5.065927],[-41.060693,-5.168517],[-41.069691,-5.306901],[-41.025141,-5.364953],[-40.949094,-5.4185],[-40.917816,-5.601642],[-40.92232,-5.681974],[-40.891042,-5.905173],[-40.891042,-6.012267],[-40.806217,-6.253483],[-40.79745,-6.378354],[-40.770665,-6.494457],[-40.721391,-6.570263],[-40.70812,-6.659604],[-40.614296,-6.708647],[-40.480417,-6.735431],[-40.417872,-6.811479],[-40.440141,-6.905082],[-40.511695,-7.003388],[-40.583018,-7.195319],[-40.533964,-7.324694],[-40.538469,-7.391755],[-40.645575,-7.400741],[-40.690344,-7.427526],[-40.690344,-7.512341],[-40.61879,-7.637233],[-40.659066,-7.762324],[-40.547467,-7.833647],[-40.529471,-7.90519],[-40.542973,-8.030082],[-40.592016,-8.123906],[-40.748396,-8.244492],[-40.833221,-8.36488],[-40.886768,-8.351608],[-40.92232,-8.431918],[-41.016143,-8.418647],[-41.083193,-8.525742],[-41.159021,-8.548022],[-41.212568,-8.632858],[-41.368717,-8.713168],[-41.399995,-8.784733],[-41.467044,-8.865043],[-41.498322,-8.936367],[-41.556374,-8.972138],[-41.609921,-8.963151],[-41.734792,-8.981147],[-41.734792,-9.132802],[-41.797348,-9.173078],[-41.850896,-9.253388],[-41.917945,-9.213112],[-42.043046,-9.208849],[-42.150141,-9.293444],[-42.310794,-9.306957],[-42.431391,-9.409548],[-42.489443,-9.498867],[-42.574268,-9.485595],[-42.618818,-9.565927],[-42.752697,-9.521147],[-42.851025,-9.547932],[-42.931346,-9.516862],[-42.936971,-9.474345],[-43.029443,-9.436332],[-43.042945,-9.396276],[-43.127771,-9.373996],[-43.185822,-9.418556],[-43.377743,-9.414052],[-43.414865,-9.335522],[-43.449297,-9.302453],[-43.538396,-9.360505],[-43.605445,-9.338224],[-43.658993,-9.364987],[-43.694775,-9.445319],[-43.810868,-9.427543],[-43.828643,-9.498867],[-43.784094,-9.565927],[-43.726042,-9.748849],[-43.681273,-9.802397],[-43.71254,-9.949767],[-43.703542,-10.034604],[-43.752816,-10.106147],[-43.761594,-10.168483],[-43.80187,-10.204255],[-43.913469,-10.431957],[-43.99379,-10.454216],[-44.118891,-10.588095],[-44.216999,-10.628371],[-44.310822,-10.601608],[-44.417917,-10.588095],[-44.538525,-10.628371],[-44.618846,-10.686423],[-44.64562,-10.735466],[-44.752715,-10.78475],[-44.783993,-10.856074],[-44.851042,-10.878354],[-44.931374,-10.860578],[-45.042973,-10.89635],[-45.315215,-10.780246],[-45.440316,-10.619362],[-45.471594,-10.485505],[-45.516144,-10.414182],[-45.605473,-10.33385],[-45.757118,-10.329345]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"BRA-601","diss_me":601,"iso_3166_2":"BR-MG","wikipedia":null,"iso_a2":"BR","adm0_sr":1,"name":"Minas Gerais","name_alt":"Minas|Minas Geraes","name_local":null,"type":"Estado","type_en":"State","code_local":null,"code_hasc":"BR.MG","note":null,"hasc_maybe":null,"region":null,"region_cod":null,"provnum_ne":22,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":"M.G.S.","postal":"MG","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":12,"mapcolor9":5,"mapcolor13":7,"fips":"BR15","fips_alt":null,"woe_id":2344856,"woe_label":"Minas Gerais, BR, Brazil","woe_name":"Minas Gerais","latitude":-18.5895,"longitude":-44.4808,"sov_a3":"BRA","adm0_a3":"BRA","adm0_label":2,"admin":"Brazil","geonunit":"Brazil","gu_a3":"BRA","gn_id":3457153,"gn_name":"Estado de Minas Gerais","gns_id":-655151,"gns_name":"Minas Gerais, Estado de","gn_level":1,"gn_region":null,"gn_a1_code":"BR.15","region_sub":null,"sub_code":null,"gns_level":1,"gns_lang":"por","gns_adm1":"BR15","gns_region":null,"min_label":3.7,"max_label":8.5,"min_zoom":3,"wikidataid":"Q39109","name_ar":"ميناس جرايس","name_bn":"মিনাস জেরাইস","name_de":"Minas Gerais","name_en":"Minas Gerais","name_es":"Minas Gerais","name_fr":"Minas Gerais","name_el":"Μίνας Ζεράις","name_hi":"मिनास जेरायज़","name_hu":"Minas Gerais","name_id":"Minas Gerais","name_it":"Minas Gerais","name_ja":"ミナスジェライス州","name_ko":"미나스제라이스","name_nl":"Minas Gerais","name_pl":"Minas Gerais","name_pt":"Minas Gerais","name_ru":"Минас-Жерайс","name_sv":"Minas Gerais","name_tr":"Minas Gerais","name_vi":"Minas Gerais","name_zh":"米纳斯吉拉斯","ne_id":1159307907,"name_he":"מינאס ז'ראיס","name_uk":"Мінас-Жерайс","name_ur":"میناس گیرائس","name_fa":"میناس گرایس","name_zht":"米納斯吉拉斯","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[-50.997596,-22.891772,-39.86437,-14.240083],"geometry":{"type":"Polygon","coordinates":[[[-50.993773,-20.101553],[-50.997596,-19.663923],[-50.964297,-19.511367],[-50.92379,-19.464126],[-50.880823,-19.459182],[-50.864167,-19.437802],[-50.870924,-19.42385],[-50.868892,-19.377488],[-50.84392,-19.310888],[-50.791943,-19.238445],[-50.713193,-19.160595],[-50.64187,-19.118518],[-50.577523,-19.112234],[-50.531622,-19.087031],[-50.489775,-19.020432],[-50.498993,-18.953152],[-50.457596,-18.876643],[-50.368267,-18.768647],[-50.246999,-18.690117],[-50.093773,-18.641294],[-49.960124,-18.616333],[-49.788672,-18.614531],[-49.677974,-18.600117],[-49.611825,-18.566828],[-49.553323,-18.510117],[-49.488295,-18.522048],[-49.416741,-18.60282],[-49.33665,-18.584824],[-49.24754,-18.468501],[-49.17937,-18.404824],[-49.108266,-18.388388],[-48.9537,-18.325854],[-48.226943,-18.340246],[-48.017917,-18.434531],[-47.928818,-18.44532],[-47.786172,-18.379402],[-47.44642,-18.170595],[-47.318846,-18.083298],[-47.279471,-18.061479],[-47.346521,-17.878315],[-47.355519,-17.824768],[-47.328745,-17.744458],[-47.270693,-17.66863],[-47.288469,-17.548022],[-47.409066,-17.498979],[-47.45812,-17.525742],[-47.529443,-17.454199],[-47.498396,-17.329328],[-47.453616,-17.347104],[-47.422348,-17.271277],[-47.310749,-17.141902],[-47.212641,-17.074841],[-47.230417,-17.025798],[-47.150096,-16.976513],[-47.159094,-16.918484],[-47.2662,-16.659734],[-47.404573,-16.570393],[-47.453616,-16.494345],[-47.431346,-16.409751],[-47.351025,-16.302414],[-47.324241,-16.226609],[-47.337523,-16.146276],[-47.301971,-16.039182],[-47.230417,-16.034677],[-47.127816,-15.923078],[-47.078542,-15.93635],[-46.864342,-15.882802],[-46.833075,-15.842746],[-46.868846,-15.592763],[-46.931391,-15.543501],[-46.935896,-15.431901],[-46.855344,-15.324807],[-46.891116,-15.23997],[-46.931391,-15.226699],[-46.891116,-15.048039],[-46.833075,-15.012268],[-46.734967,-15.016772],[-46.63665,-15.070319],[-46.54732,-15.039052],[-46.578598,-14.914182],[-46.556318,-14.869401],[-46.583092,-14.793574],[-46.516042,-14.713242],[-46.386667,-14.771294],[-46.315344,-14.847121],[-46.297348,-14.909677],[-46.190243,-14.93644],[-46.078644,-14.922949],[-46.025096,-14.869401],[-45.976042,-14.985505],[-46.07415,-15.248979],[-45.967044,-15.186423],[-45.926769,-15.128371],[-45.766115,-15.146147],[-45.712568,-15.123867],[-45.654516,-15.043557],[-45.551915,-14.93644],[-45.462596,-14.940944],[-45.319719,-14.85613],[-45.225896,-14.740026],[-45.101025,-14.717746],[-44.88232,-14.597138],[-44.83754,-14.516828],[-44.560794,-14.347177],[-44.359865,-14.27135],[-44.31982,-14.244345],[-44.212495,-14.240083],[-44.158947,-14.27135],[-43.837641,-14.315888],[-43.781391,-14.342893],[-43.800068,-14.369897],[-43.860822,-14.534362],[-43.879499,-14.624604],[-43.864415,-14.659694],[-43.82415,-14.695246],[-43.708047,-14.735522],[-43.493846,-14.789069],[-43.449297,-14.780083],[-43.38674,-14.699751],[-43.230372,-14.637414],[-42.953615,-14.67747],[-42.89107,-14.749013],[-42.63232,-14.940944],[-42.578542,-14.931958],[-42.431391,-15.034548],[-42.26174,-15.106091],[-42.176915,-15.106091],[-42.087596,-15.181919],[-41.940214,-15.172932],[-41.801842,-15.110595],[-41.35995,-15.494458],[-41.333165,-15.717656],[-41.159021,-15.78019],[-41.029646,-15.735432],[-40.94482,-15.673095],[-40.891042,-15.695376],[-40.828717,-15.681862],[-40.761667,-15.739914],[-40.667844,-15.717656],[-40.57424,-15.757932],[-40.533964,-15.797966],[-40.475924,-15.775708],[-40.328542,-15.824751],[-40.23495,-15.820246],[-40.1679,-15.896294],[-40.132117,-15.891789],[-40.002742,-15.994401],[-39.935693,-15.998906],[-39.86437,-16.110505],[-39.940197,-16.311423],[-40.05629,-16.396237],[-40.132117,-16.503354],[-40.136622,-16.54363],[-40.252714,-16.565888],[-40.274995,-16.614953],[-40.283992,-16.744548],[-40.243717,-16.833647],[-40.297495,-16.878427],[-40.471419,-16.869419],[-40.524967,-16.931975],[-40.57424,-17.132893],[-40.565242,-17.262268],[-40.605518,-17.311333],[-40.609792,-17.391862],[-40.498193,-17.418647],[-40.480417,-17.557031],[-40.413367,-17.557031],[-40.38232,-17.62385],[-40.283992,-17.717673],[-40.208165,-17.766716],[-40.185896,-17.816001],[-40.230445,-17.918591],[-40.208165,-17.976643],[-40.216943,-17.972138],[-40.42687,-17.891828],[-40.475924,-17.9276],[-40.533964,-17.900595],[-40.667844,-17.954362],[-40.725896,-17.945376],[-40.788441,-17.972138],[-40.909049,-17.972138],[-40.775169,-18.092746],[-40.766171,-18.137307],[-40.837495,-18.150798],[-40.913542,-18.101513],[-41.016143,-18.173078],[-41.060693,-18.177583],[-41.141245,-18.297949],[-41.127743,-18.33372],[-41.025141,-18.405263],[-41.002641,-18.454328],[-41.029646,-18.637251],[-40.926825,-18.695302],[-40.931318,-18.806902],[-41.091971,-18.829402],[-41.194792,-18.806902],[-41.234848,-18.851682],[-41.163525,-18.905229],[-41.105473,-18.887234],[-41.025141,-18.981057],[-41.051915,-19.034604],[-40.94482,-19.146203],[-40.926825,-19.293574],[-40.958092,-19.472234],[-41.047421,-19.489988],[-41.029646,-19.548039],[-41.159021,-19.659638],[-41.185794,-19.865083],[-41.306391,-19.954402],[-41.364443,-20.186367],[-41.404499,-20.213152],[-41.717016,-20.208647],[-41.8554,-20.369531],[-41.797348,-20.427583],[-41.797348,-20.534678],[-41.850896,-20.623996],[-41.810839,-20.646277],[-41.882174,-20.757876],[-41.864398,-20.775652],[-41.926943,-20.829199],[-41.962495,-20.909751],[-41.998266,-20.932031],[-42.096594,-20.923022],[-42.141143,-20.963298],[-42.096594,-21.003354],[-42.181419,-21.163996],[-42.221464,-21.338152],[-42.297292,-21.40519],[-42.301797,-21.485522],[-42.364342,-21.592617],[-42.368846,-21.632893],[-42.284021,-21.641902],[-42.279516,-21.713225],[-43.063424,-22.063557],[-43.132275,-22.025742],[-43.341971,-22.003484],[-43.462568,-22.057031],[-43.565169,-22.065798],[-43.815372,-22.065798],[-43.895693,-22.106074],[-44.092118,-22.173113],[-44.216999,-22.24894],[-44.293047,-22.239953],[-44.444691,-22.253445],[-44.534021,-22.302488],[-44.60107,-22.316001],[-44.663396,-22.369548],[-44.730445,-22.360539],[-44.833047,-22.4051],[-44.922365,-22.44988],[-45.056245,-22.467656],[-45.243891,-22.561479],[-45.270665,-22.606018],[-45.409049,-22.646294],[-45.470924,-22.611643],[-45.529646,-22.650798],[-45.583193,-22.615027],[-45.629775,-22.622673],[-45.672292,-22.619531],[-45.801898,-22.699841],[-45.743846,-22.726626],[-45.743846,-22.797949],[-45.7929,-22.851716],[-45.85995,-22.860505],[-45.908993,-22.820449],[-46.020592,-22.873996],[-46.145693,-22.891772],[-46.154471,-22.847234],[-46.28857,-22.882764],[-46.359894,-22.842729],[-46.368891,-22.748906],[-46.471493,-22.682065],[-46.395665,-22.615027],[-46.453717,-22.516699],[-46.543047,-22.472139],[-46.54732,-22.440871],[-46.641144,-22.409604],[-46.699195,-22.320264],[-46.663424,-22.204402],[-46.600868,-22.132859],[-46.658919,-22.052527],[-46.618874,-21.985466],[-46.658919,-21.905156],[-46.667917,-21.811553],[-46.627872,-21.771277],[-46.605372,-21.681958],[-46.560823,-21.672949],[-46.493773,-21.525798],[-46.507275,-21.458738],[-46.605372,-21.427471],[-46.654646,-21.373923],[-46.685693,-21.396203],[-46.815299,-21.360652],[-46.89562,-21.40519],[-47.002715,-21.400708],[-46.993948,-21.342656],[-47.056273,-21.195263],[-47.123323,-21.132949],[-47.145592,-20.981074],[-47.221419,-20.914013],[-47.212641,-20.806919],[-47.10982,-20.632763],[-47.15459,-20.525669],[-47.252698,-20.476626],[-47.292973,-20.423078],[-47.2662,-20.284695],[-47.234922,-20.204363],[-47.24437,-20.173996],[-47.328965,-20.117527],[-47.427743,-20.036294],[-47.459922,-20.000984],[-47.517743,-19.994216],[-47.594241,-20.018518],[-47.655896,-20.022803],[-47.695491,-19.991074],[-47.749719,-19.977121],[-47.81857,-19.980725],[-47.860198,-20.011992],[-47.861769,-20.055652],[-47.90879,-20.081755],[-47.991144,-20.082876],[-48.051217,-20.120229],[-48.109499,-20.116626],[-48.17834,-20.082876],[-48.253266,-20.093005],[-48.363745,-20.138225],[-48.715648,-20.14385],[-48.811943,-20.158923],[-48.858295,-20.232729],[-48.88687,-20.36997],[-48.918368,-20.429143],[-48.952568,-20.410027],[-48.977991,-20.338242],[-48.994646,-20.213591],[-49.039646,-20.187268],[-49.112771,-20.259272],[-49.166318,-20.295044],[-49.199849,-20.294363],[-49.238993,-20.245539],[-49.283542,-20.148574],[-49.288047,-20.073647],[-49.25879,-20.016958],[-49.278368,-19.987031],[-49.377146,-19.978484],[-50.364443,-19.858557],[-50.433745,-19.800263],[-50.488644,-19.790815],[-50.584049,-19.821203],[-50.993773,-20.101553]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"BRA-625","diss_me":625,"iso_3166_2":"BR-ES","wikipedia":null,"iso_a2":"BR","adm0_sr":1,"name":"Espírito Santo","name_alt":"Espiritu Santo","name_local":null,"type":"Estado","type_en":"State","code_local":null,"code_hasc":"BR.ES","note":null,"hasc_maybe":null,"region":null,"region_cod":null,"provnum_ne":1,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":"E.S.","postal":"ES","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":14,"mapcolor9":5,"mapcolor13":7,"fips":"BR08","fips_alt":null,"woe_id":2344851,"woe_label":"Espirito Santo, BR, Brazil","woe_name":"Espírito Santo","latitude":-19.6916,"longitude":-40.5436,"sov_a3":"BRA","adm0_a3":"BRA","adm0_label":2,"admin":"Brazil","geonunit":"Brazil","gu_a3":"BRA","gn_id":3463930,"gn_name":"Estado do Espirito Santo","gns_id":-641383,"gns_name":"Espirito Santo, Estado de","gn_level":1,"gn_region":null,"gn_a1_code":"BR.08","region_sub":null,"sub_code":null,"gns_level":1,"gns_lang":"por","gns_adm1":"BR08","gns_region":null,"min_label":3.7,"max_label":8.5,"min_zoom":3,"wikidataid":"Q43233","name_ar":"إسبيريتو سانتو","name_bn":"এস্পিরিতো স্যান্টো","name_de":"Espírito Santo","name_en":"Espírito Santo","name_es":"Espírito Santo","name_fr":"Espírito Santo","name_el":"Εσπίριτο Σάντο","name_hi":"एस्पिरितो सान्तो","name_hu":"Espírito Santo","name_id":"Espírito Santo","name_it":"Espírito Santo","name_ja":"エスピリトサント州","name_ko":"이스피리투산투","name_nl":"Espírito Santo","name_pl":"Espírito Santo","name_pt":"Espírito Santo","name_ru":"Эспириту-Санту","name_sv":"Espírito Santo","name_tr":"Espírito Santo","name_vi":"Espírito Santo","name_zh":"聖埃斯皮里圖州","ne_id":1159307929,"name_he":"אספיריטו סאנטו","name_uk":"Еспіриту-Санту","name_ur":"اسپیریتو سانتو","name_fa":"اسپیریتو سانتو","name_zht":"聖埃斯皮里圖州","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[-41.882174,-21.275596,-39.667714,-17.891828],"geometry":{"type":"Polygon","coordinates":[[[-40.96754,-21.275596],[-41.069691,-21.213281],[-41.266115,-21.231057],[-41.391217,-21.186496],[-41.440271,-21.199768],[-41.712523,-21.110449],[-41.730518,-21.04363],[-41.712523,-20.97657],[-41.74379,-20.820432],[-41.864398,-20.775652],[-41.882174,-20.757876],[-41.810839,-20.646277],[-41.850896,-20.623996],[-41.797348,-20.534678],[-41.797348,-20.427583],[-41.8554,-20.369531],[-41.717016,-20.208647],[-41.404499,-20.213152],[-41.364443,-20.186367],[-41.306391,-19.954402],[-41.185794,-19.865083],[-41.159021,-19.659638],[-41.029646,-19.548039],[-41.047421,-19.489988],[-40.958092,-19.472234],[-40.926825,-19.293574],[-40.94482,-19.146203],[-41.051915,-19.034604],[-41.025141,-18.981057],[-41.105473,-18.887234],[-41.163525,-18.905229],[-41.234848,-18.851682],[-41.194792,-18.806902],[-41.091971,-18.829402],[-40.931318,-18.806902],[-40.926825,-18.695302],[-41.029646,-18.637251],[-41.002641,-18.454328],[-41.025141,-18.405263],[-41.127743,-18.33372],[-41.141245,-18.297949],[-41.060693,-18.177583],[-41.016143,-18.173078],[-40.913542,-18.101513],[-40.837495,-18.150798],[-40.766171,-18.137307],[-40.775169,-18.092746],[-40.909049,-17.972138],[-40.788441,-17.972138],[-40.725896,-17.945376],[-40.667844,-17.954362],[-40.533964,-17.900595],[-40.475924,-17.9276],[-40.42687,-17.891828],[-40.216943,-17.972138],[-40.208165,-17.976643],[-40.185896,-18.007932],[-39.672449,-18.324734],[-39.667714,-18.325854],[-39.739719,-18.639953],[-39.741971,-18.846057],[-39.699893,-19.27782],[-39.731391,-19.453996],[-39.783367,-19.571682],[-39.844792,-19.64907],[-40.001391,-19.741992],[-40.141796,-19.968354],[-40.202771,-20.205945],[-40.298846,-20.292583],[-40.318643,-20.425781],[-40.396042,-20.569548],[-40.596521,-20.783738],[-40.727016,-20.846074],[-40.789342,-20.906147],[-40.828717,-21.031238],[-40.954499,-21.237803],[-40.96754,-21.275596]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"BRA-624","diss_me":624,"iso_3166_2":"BR-BA","wikipedia":null,"iso_a2":"BR","adm0_sr":5,"name":"Bahia","name_alt":"Ba¡a","name_local":null,"type":"Estado","type_en":"State","code_local":null,"code_hasc":"BR.BA","note":null,"hasc_maybe":null,"region":null,"region_cod":null,"provnum_ne":10,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":"Bahia","postal":"BA","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":5,"mapcolor9":5,"mapcolor13":7,"fips":"BR05","fips_alt":null,"woe_id":2344848,"woe_label":"Bahia, BR, Brazil","woe_name":"Bahia","latitude":-12.3651,"longitude":-41.8027,"sov_a3":"BRA","adm0_a3":"BRA","adm0_label":2,"admin":"Brazil","geonunit":"Brazil","gu_a3":"BRA","gn_id":3471168,"gn_name":"Estado da Bahia","gns_id":-626942,"gns_name":"Bahia, Estado da","gn_level":1,"gn_region":null,"gn_a1_code":"BR.05","region_sub":null,"sub_code":null,"gns_level":1,"gns_lang":"por","gns_adm1":"BR05","gns_region":null,"min_label":3.7,"max_label":8.5,"min_zoom":3,"wikidataid":"Q40430","name_ar":"باهيا","name_bn":"বাহিয়া","name_de":"Bahia","name_en":"Bahia","name_es":"Bahía","name_fr":"Bahia","name_el":"Μπαΐα","name_hi":"बाहिया","name_hu":"Bahia","name_id":"Bahia","name_it":"Bahia","name_ja":"バイーア州","name_ko":"바이아","name_nl":"Bahia","name_pl":"Bahia","name_pt":"Bahia","name_ru":"Баия","name_sv":"Bahia","name_tr":"Bahia","name_vi":"Bahia","name_zh":"巴伊亚","ne_id":1159307841,"name_he":"באהיה","name_uk":"Баїя","name_ur":"باہیا","name_fa":"باهیا","name_zht":"巴伊亞州","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[-46.56982,-18.325854,-37.41187,-8.559272],"geometry":{"type":"MultiPolygon","coordinates":[[[[-46.025096,-14.869401],[-45.931273,-14.749013],[-45.913497,-14.690983],[-45.96254,-14.534604],[-45.96254,-14.467763],[-45.922495,-14.351682],[-46.011594,-14.298112],[-46.038368,-14.253354],[-46.127698,-14.182031],[-46.172467,-14.074914],[-46.221521,-13.998867],[-46.261797,-13.869492],[-46.270575,-13.655083],[-46.185749,-13.4051],[-46.096419,-13.351552],[-46.083148,-13.253444],[-46.176971,-13.217673],[-46.181245,-13.159621],[-46.150198,-13.025742],[-46.07415,-12.976699],[-46.087641,-12.914143],[-46.234792,-12.798039],[-46.234792,-12.713225],[-46.158965,-12.601625],[-46.158965,-12.503298],[-46.315344,-12.422966],[-46.346622,-12.342656],[-46.337624,-12.128444],[-46.324122,-12.092673],[-46.248294,-12.048112],[-46.212523,-11.99885],[-46.078644,-11.927526],[-46.100924,-11.86497],[-46.158965,-11.833703],[-46.248294,-11.84269],[-46.275068,-11.766862],[-46.24379,-11.726608],[-46.105417,-11.664052],[-46.083148,-11.601496],[-46.190243,-11.543444],[-46.426943,-11.498906],[-46.489269,-11.414069],[-46.551825,-11.378298],[-46.56982,-11.315983],[-46.529544,-11.235432],[-46.462495,-11.1776],[-46.368891,-10.967673],[-46.248294,-10.914125],[-46.234792,-10.882858],[-46.301842,-10.757746],[-46.087641,-10.583832],[-46.038368,-10.570319],[-45.85995,-10.467729],[-45.757118,-10.329345],[-45.605473,-10.33385],[-45.516144,-10.414182],[-45.471594,-10.485505],[-45.440316,-10.619362],[-45.315215,-10.780246],[-45.042973,-10.89635],[-44.931374,-10.860578],[-44.851042,-10.878354],[-44.783993,-10.856074],[-44.752715,-10.78475],[-44.64562,-10.735466],[-44.618846,-10.686423],[-44.538525,-10.628371],[-44.417917,-10.588095],[-44.310822,-10.601608],[-44.216999,-10.628371],[-44.118891,-10.588095],[-43.99379,-10.454216],[-43.913469,-10.431957],[-43.80187,-10.204255],[-43.761594,-10.168483],[-43.752816,-10.106147],[-43.703542,-10.034604],[-43.71254,-9.949767],[-43.681273,-9.802397],[-43.726042,-9.748849],[-43.784094,-9.565927],[-43.828643,-9.498867],[-43.810868,-9.427543],[-43.694775,-9.445319],[-43.658993,-9.364987],[-43.605445,-9.338224],[-43.538396,-9.360505],[-43.449297,-9.302453],[-43.414865,-9.335522],[-43.377743,-9.414052],[-43.185822,-9.418556],[-43.127771,-9.373996],[-43.042945,-9.396276],[-43.029443,-9.436332],[-42.936971,-9.474345],[-42.931346,-9.516862],[-42.851025,-9.547932],[-42.752697,-9.521147],[-42.618818,-9.565927],[-42.574268,-9.485595],[-42.489443,-9.498867],[-42.431391,-9.409548],[-42.310794,-9.306957],[-42.150141,-9.293444],[-42.043046,-9.208849],[-41.917945,-9.213112],[-41.850896,-9.253388],[-41.797348,-9.173078],[-41.734792,-9.132802],[-41.734792,-8.981147],[-41.609921,-8.963151],[-41.556374,-8.972138],[-41.498322,-8.936367],[-41.467044,-8.865043],[-41.399995,-8.784733],[-41.368717,-8.713168],[-41.324167,-8.735449],[-41.159021,-8.708664],[-41.105473,-8.717673],[-41.100969,-8.775724],[-41.003993,-8.781349],[-40.980372,-8.815781],[-40.891042,-8.856056],[-40.891042,-9.034694],[-40.85549,-9.092746],[-40.850997,-9.150798],[-40.703615,-9.217617],[-40.690344,-9.342729],[-40.743891,-9.423039],[-40.685839,-9.472104],[-40.564792,-9.460173],[-40.412697,-9.396957],[-40.319775,-9.293005],[-40.273193,-9.144953],[-40.212219,-9.101513],[-40.077669,-9.088242],[-40.004995,-9.058095],[-39.948745,-9.022104],[-39.90915,-8.980246],[-39.887771,-8.923996],[-39.884617,-8.853354],[-39.834893,-8.809013],[-39.738367,-8.791237],[-39.687742,-8.749401],[-39.682799,-8.683022],[-39.600896,-8.619565],[-39.441824,-8.559272],[-39.332697,-8.565798],[-39.25665,-8.640263],[-39.098249,-8.71497],[-38.834995,-8.800246],[-38.7054,-8.879897],[-38.667816,-8.896091],[-38.619223,-8.896091],[-38.577596,-8.860539],[-38.544296,-8.831074],[-38.504691,-8.834897],[-38.483992,-8.877656],[-38.482191,-8.959548],[-38.432917,-9.003647],[-38.335941,-9.010173],[-38.294324,-9.043022],[-38.307596,-9.102194],[-38.283074,-9.203664],[-38.221199,-9.347673],[-37.975721,-9.512138],[-38.04299,-9.605983],[-37.993717,-9.646237],[-38.029499,-9.726569],[-37.962669,-9.87394],[-37.900124,-9.913996],[-37.900124,-9.949767],[-37.779516,-10.079362],[-37.78402,-10.306845],[-37.837568,-10.422949],[-37.824066,-10.548039],[-37.78402,-10.628371],[-37.815299,-10.677414],[-37.971447,-10.753483],[-38.011723,-10.753483],[-38.10982,-10.708703],[-38.190141,-10.71769],[-38.243919,-10.824807],[-38.234921,-10.89635],[-38.17687,-10.980944],[-38.10982,-11.030229],[-38.060766,-11.168591],[-37.980445,-11.239914],[-38.007219,-11.356018],[-37.966943,-11.400798],[-37.85107,-11.440854],[-37.797292,-11.525668],[-37.658919,-11.556957],[-37.632145,-11.521164],[-37.574094,-11.539182],[-37.41187,-11.497324],[-37.46924,-11.653703],[-37.688615,-12.1001],[-37.957275,-12.475393],[-38.01915,-12.591276],[-38.239645,-12.844182],[-38.40187,-12.96613],[-38.44732,-12.967031],[-38.498846,-12.956682],[-38.524949,-12.762268],[-38.654094,-12.644604],[-38.690997,-12.623906],[-38.743874,-12.748557],[-38.787973,-12.782746],[-38.85187,-12.790173],[-38.783699,-12.844401],[-38.763671,-12.907177],[-38.833193,-13.032949],[-38.835214,-13.14725],[-38.959195,-13.273022],[-39.030969,-13.365043],[-39.067421,-13.480466],[-39.08924,-13.588242],[-39.035023,-13.558776],[-39.00915,-13.581496],[-38.988671,-13.615026],[-39.001273,-13.664531],[-39.041098,-13.758112],[-39.035023,-13.991001],[-39.048074,-14.043867],[-39.008469,-14.101237],[-38.966391,-14.003371],[-38.94232,-14.030595],[-39.059544,-14.654751],[-39.013424,-14.935539],[-38.996098,-15.253923],[-38.943221,-15.564419],[-38.885169,-15.842065],[-38.880665,-15.864345],[-38.960766,-16.186552],[-39.063148,-16.504475],[-39.125023,-16.763664],[-39.163947,-17.043574],[-39.202872,-17.178112],[-39.215242,-17.315815],[-39.170693,-17.642065],[-39.154049,-17.70394],[-39.278469,-17.849531],[-39.412568,-17.919953],[-39.486824,-17.990156],[-39.650839,-18.252268],[-39.667714,-18.325854],[-39.672449,-18.324734],[-40.185896,-18.007932],[-40.208165,-17.976643],[-40.230445,-17.918591],[-40.185896,-17.816001],[-40.208165,-17.766716],[-40.283992,-17.717673],[-40.38232,-17.62385],[-40.413367,-17.557031],[-40.480417,-17.557031],[-40.498193,-17.418647],[-40.609792,-17.391862],[-40.605518,-17.311333],[-40.565242,-17.262268],[-40.57424,-17.132893],[-40.524967,-16.931975],[-40.471419,-16.869419],[-40.297495,-16.878427],[-40.243717,-16.833647],[-40.283992,-16.744548],[-40.274995,-16.614953],[-40.252714,-16.565888],[-40.136622,-16.54363],[-40.132117,-16.503354],[-40.05629,-16.396237],[-39.940197,-16.311423],[-39.86437,-16.110505],[-39.935693,-15.998906],[-40.002742,-15.994401],[-40.132117,-15.891789],[-40.1679,-15.896294],[-40.23495,-15.820246],[-40.328542,-15.824751],[-40.475924,-15.775708],[-40.533964,-15.797966],[-40.57424,-15.757932],[-40.667844,-15.717656],[-40.761667,-15.739914],[-40.828717,-15.681862],[-40.891042,-15.695376],[-40.94482,-15.673095],[-41.029646,-15.735432],[-41.159021,-15.78019],[-41.333165,-15.717656],[-41.35995,-15.494458],[-41.801842,-15.110595],[-41.940214,-15.172932],[-42.087596,-15.181919],[-42.176915,-15.106091],[-42.26174,-15.106091],[-42.431391,-15.034548],[-42.578542,-14.931958],[-42.63232,-14.940944],[-42.89107,-14.749013],[-42.953615,-14.67747],[-43.230372,-14.637414],[-43.38674,-14.699751],[-43.449297,-14.780083],[-43.493846,-14.789069],[-43.708047,-14.735522],[-43.82415,-14.695246],[-43.864415,-14.659694],[-43.879499,-14.624604],[-43.860822,-14.534362],[-43.800068,-14.369897],[-43.781391,-14.342893],[-43.837641,-14.315888],[-44.158947,-14.27135],[-44.212495,-14.240083],[-44.31982,-14.244345],[-44.359865,-14.27135],[-44.560794,-14.347177],[-44.83754,-14.516828],[-44.88232,-14.597138],[-45.101025,-14.717746],[-45.225896,-14.740026],[-45.319719,-14.85613],[-45.462596,-14.940944],[-45.551915,-14.93644],[-45.654516,-15.043557],[-45.712568,-15.123867],[-45.766115,-15.146147],[-45.926769,-15.128371],[-45.967044,-15.186423],[-46.07415,-15.248979],[-45.976042,-14.985505],[-46.025096,-14.869401]]],[[[-38.907219,-13.401057],[-38.903615,-13.4735],[-38.937816,-13.532233],[-38.977641,-13.523444],[-38.993165,-13.484069],[-39.022191,-13.445595],[-39.006667,-13.415449],[-38.980124,-13.398354],[-38.907219,-13.401057]]],[[[-38.601217,-12.992673],[-38.743874,-13.097065],[-38.783018,-13.118664],[-38.787072,-13.054987],[-38.684921,-12.974897],[-38.668046,-12.880173],[-38.614499,-12.924052],[-38.600316,-12.972414],[-38.601217,-12.992673]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"BRA-621","diss_me":621,"iso_3166_2":"BR-CE","wikipedia":null,"iso_a2":"BR","adm0_sr":1,"name":"Ceará","name_alt":null,"name_local":null,"type":"Estado","type_en":"State","code_local":null,"code_hasc":"BR.CE","note":null,"hasc_maybe":null,"region":null,"region_cod":null,"provnum_ne":17,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":"Ceará","postal":"CE","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":5,"mapcolor9":5,"mapcolor13":7,"fips":"BR06","fips_alt":null,"woe_id":2344849,"woe_label":"Ceara, BR, Brazil","woe_name":"Ceará","latitude":-5.37602,"longitude":-39.3429,"sov_a3":"BRA","adm0_a3":"BRA","adm0_label":2,"admin":"Brazil","geonunit":"Brazil","gu_a3":"BRA","gn_id":3402362,"gn_name":"Estado do Ceara","gns_id":-636727,"gns_name":"Ceara, Estado do","gn_level":1,"gn_region":null,"gn_a1_code":"BR.06","region_sub":null,"sub_code":null,"gns_level":1,"gns_lang":"por","gns_adm1":"BR06","gns_region":null,"min_label":3.7,"max_label":8.5,"min_zoom":3,"wikidataid":"Q40123","name_ar":"سيارا","name_bn":"সিয়ারা","name_de":"Ceará","name_en":"Ceará","name_es":"Ceará","name_fr":"Ceará","name_el":"Σεαρά","name_hi":"सियारा","name_hu":"Ceará","name_id":"Ceará","name_it":"Ceará","name_ja":"セアラー州","name_ko":"세아라","name_nl":"Ceará","name_pl":"Ceará","name_pt":"Ceará","name_ru":"Сеара","name_sv":"Ceará","name_tr":"Ceará","name_vi":"Ceará","name_zh":"塞阿腊","ne_id":1159307917,"name_he":"סיארה","name_uk":"Сеара","name_ur":"سئیرا","name_fa":"سئارا","name_zht":"塞阿腊","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[-41.449268,-7.856147,-37.230749,-2.795668],"geometry":{"type":"Polygon","coordinates":[[[-40.538469,-7.391755],[-40.533964,-7.324694],[-40.583018,-7.195319],[-40.511695,-7.003388],[-40.440141,-6.905082],[-40.417872,-6.811479],[-40.480417,-6.735431],[-40.614296,-6.708647],[-40.70812,-6.659604],[-40.721391,-6.570263],[-40.770665,-6.494457],[-40.79745,-6.378354],[-40.806217,-6.253483],[-40.891042,-6.012267],[-40.891042,-5.905173],[-40.92232,-5.681974],[-40.917816,-5.601642],[-40.949094,-5.4185],[-41.025141,-5.364953],[-41.069691,-5.306901],[-41.060693,-5.168517],[-41.114471,-5.065927],[-41.123249,-5.007875],[-41.185794,-4.914052],[-41.18129,-4.81144],[-41.22607,-4.726625],[-41.243846,-4.615026],[-41.234848,-4.539198],[-41.141245,-4.42738],[-41.074195,-4.324767],[-41.118745,-4.177397],[-41.18129,-4.123849],[-41.230344,-4.043517],[-41.283891,-3.811332],[-41.355445,-3.70872],[-41.382219,-3.592616],[-41.449268,-3.436479],[-41.426768,-3.320375],[-41.377714,-3.271332],[-41.257118,-3.079181],[-41.268598,-2.916056],[-41.194572,-2.886129],[-40.875518,-2.869694],[-40.474572,-2.795668],[-40.2354,-2.813224],[-39.964719,-2.861608],[-39.771898,-2.985797],[-39.609443,-3.05622],[-39.511115,-3.125522],[-39.352714,-3.197306],[-39.014324,-3.390116],[-38.895969,-3.501715],[-38.686273,-3.653832],[-38.475895,-3.717487],[-38.361824,-3.876349],[-38.271824,-3.948112],[-38.048846,-4.216332],[-37.795721,-4.404198],[-37.62629,-4.592065],[-37.301391,-4.713112],[-37.230749,-4.824272],[-37.542816,-4.932048],[-37.596594,-4.958832],[-37.721464,-5.061423],[-37.913395,-5.46328],[-38.047495,-5.614914],[-38.078542,-5.686479],[-38.078542,-5.762306],[-38.127816,-5.878388],[-38.30174,-6.074823],[-38.36879,-6.092599],[-38.41357,-6.061332],[-38.493891,-6.128371],[-38.511667,-6.181918],[-38.578717,-6.26225],[-38.60549,-6.39613],[-38.525169,-6.382858],[-38.578717,-6.480944],[-38.65004,-6.690871],[-38.618773,-6.757931],[-38.65004,-6.838241],[-38.725867,-6.891789],[-38.730372,-7.003388],[-38.685822,-7.030173],[-38.676824,-7.159548],[-38.600997,-7.222104],[-38.547449,-7.235595],[-38.533947,-7.293647],[-38.58299,-7.427526],[-38.632275,-7.458793],[-38.636768,-7.534621],[-38.699094,-7.619457],[-38.819691,-7.663996],[-38.86424,-7.704272],[-38.967072,-7.847138],[-38.998339,-7.820375],[-39.074167,-7.856147],[-39.109949,-7.753315],[-39.243818,-7.681991],[-39.306374,-7.62394],[-39.350924,-7.548112],[-39.534066,-7.476569],[-39.654443,-7.373979],[-39.846594,-7.347194],[-39.953699,-7.360466],[-40.065299,-7.405246],[-40.172393,-7.418517],[-40.261723,-7.391755],[-40.538469,-7.391755]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"BRA-629","diss_me":629,"iso_3166_2":"BR-SE","wikipedia":null,"iso_a2":"BR","adm0_sr":1,"name":"Sergipe","name_alt":null,"name_local":null,"type":"Estado","type_en":"State","code_local":null,"code_hasc":"BR.SE","note":null,"hasc_maybe":null,"region":null,"region_cod":null,"provnum_ne":15,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":"Serg.","postal":"SE","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":7,"mapcolor9":5,"mapcolor13":7,"fips":"BR28","fips_alt":null,"woe_id":2344869,"woe_label":"Sergipe, BR, Brazil","woe_name":"Sergipe","latitude":-10.5918,"longitude":-37.3836,"sov_a3":"BRA","adm0_a3":"BRA","adm0_label":2,"admin":"Brazil","geonunit":"Brazil","gu_a3":"BRA","gn_id":3447799,"gn_name":"Estado de Sergipe","gns_id":-672916,"gns_name":"Sergipe, Estado de","gn_level":1,"gn_region":null,"gn_a1_code":"BR.28","region_sub":null,"sub_code":null,"gns_level":1,"gns_lang":"kor","gns_adm1":"BR28","gns_region":null,"min_label":3.7,"max_label":8.5,"min_zoom":3,"wikidataid":"Q43783","name_ar":"سيرجيبي","name_bn":"সারজিপে","name_de":"Sergipe","name_en":"Sergipe","name_es":"Sergipe","name_fr":"Sergipe","name_el":"Σερζίπε","name_hi":"सर्जिपे","name_hu":"Sergipe","name_id":"Sergipe","name_it":"Sergipe","name_ja":"セルジペ州","name_ko":"세르지피","name_nl":"Sergipe","name_pl":"Sergipe","name_pt":"Sergipe","name_ru":"Сержипи","name_sv":"Sergipe","name_tr":"Sergipe","name_vi":"Sergipe","name_zh":"塞尔希培州","ne_id":1159307933,"name_he":"סרז'יפה","name_uk":"Сержипі","name_ur":"سرژیپی","name_fa":"سرژیپه","name_zht":"塞尔希培州","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[-38.243919,-11.556957,-36.414673,-9.512138],"geometry":{"type":"Polygon","coordinates":[[[-37.41187,-11.497324],[-37.574094,-11.539182],[-37.632145,-11.521164],[-37.658919,-11.556957],[-37.797292,-11.525668],[-37.85107,-11.440854],[-37.966943,-11.400798],[-38.007219,-11.356018],[-37.980445,-11.239914],[-38.060766,-11.168591],[-38.10982,-11.030229],[-38.17687,-10.980944],[-38.234921,-10.89635],[-38.243919,-10.824807],[-38.190141,-10.71769],[-38.10982,-10.708703],[-38.011723,-10.753483],[-37.971447,-10.753483],[-37.815299,-10.677414],[-37.78402,-10.628371],[-37.824066,-10.548039],[-37.837568,-10.422949],[-37.78402,-10.306845],[-37.779516,-10.079362],[-37.900124,-9.949767],[-37.900124,-9.913996],[-37.962669,-9.87394],[-38.029499,-9.726569],[-37.993717,-9.646237],[-38.04299,-9.605983],[-37.975721,-9.512138],[-37.938148,-9.537802],[-37.425591,-9.778315],[-37.196098,-9.885871],[-37.01924,-9.956974],[-36.956464,-10.013664],[-36.939589,-10.083647],[-36.879747,-10.15363],[-36.776695,-10.223591],[-36.699066,-10.257341],[-36.64754,-10.253979],[-36.607044,-10.292892],[-36.57982,-10.371423],[-36.538423,-10.410578],[-36.482624,-10.410578],[-36.443018,-10.431957],[-36.431768,-10.452875],[-36.414673,-10.49135],[-36.635839,-10.589897],[-36.768367,-10.671569],[-36.937798,-10.820522],[-37.093266,-11.05475],[-37.125445,-11.084897],[-37.182816,-11.068483],[-37.181245,-11.187487],[-37.315124,-11.376057],[-37.35607,-11.40394],[-37.354949,-11.350393],[-37.331549,-11.309897],[-37.320749,-11.266699],[-37.32187,-11.215173],[-37.359223,-11.252526],[-37.438424,-11.393832],[-37.41187,-11.497324]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"BRA-623","diss_me":623,"iso_3166_2":"BR-AL","wikipedia":null,"iso_a2":"BR","adm0_sr":1,"name":"Alagoas","name_alt":null,"name_local":null,"type":"Estado","type_en":"State","code_local":null,"code_hasc":"BR.AL","note":null,"hasc_maybe":null,"region":null,"region_cod":null,"provnum_ne":16,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":"Ala.","postal":"AL","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":7,"mapcolor9":5,"mapcolor13":7,"fips":"BR02","fips_alt":null,"woe_id":2344845,"woe_label":"Alagoas, BR, Brazil","woe_name":"Alagoas","latitude":-9.77391,"longitude":-36.6917,"sov_a3":"BRA","adm0_a3":"BRA","adm0_label":2,"admin":"Brazil","geonunit":"Brazil","gu_a3":"BRA","gn_id":3408096,"gn_name":"Estado de Alagoas","gns_id":-623760,"gns_name":"Alagoas, Estado de","gn_level":1,"gn_region":null,"gn_a1_code":"BR.02","region_sub":null,"sub_code":null,"gns_level":1,"gns_lang":"por","gns_adm1":"BR02","gns_region":null,"min_label":3.7,"max_label":8.5,"min_zoom":3,"wikidataid":"Q40885","name_ar":"ألاغواس","name_bn":"আলাগোয়াস","name_de":"Alagoas","name_en":"Alagoas","name_es":"Alagoas","name_fr":"Alagoas","name_el":"Αλαγκόας","name_hi":"अलागोआस","name_hu":"Alagoas","name_id":"Alagoas","name_it":"Alagoas","name_ja":"アラゴアス州","name_ko":"알라고아스","name_nl":"Alagoas","name_pl":"Alagoas","name_pt":"Alagoas","name_ru":"Алагоас","name_sv":"Alagoas","name_tr":"Alagoas","name_vi":"Alagoas","name_zh":"阿拉戈斯州","ne_id":1159307923,"name_he":"אלגואס","name_uk":"Алагоас","name_ur":"الاگواس","name_fa":"آلاگواس","name_zht":"阿拉戈斯州","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[-38.221199,-10.49135,-35.15174,-8.833776],"geometry":{"type":"Polygon","coordinates":[[[-37.975721,-9.512138],[-38.221199,-9.347673],[-38.154589,-9.266681],[-38.092044,-9.186349],[-37.966943,-9.141789],[-37.815299,-8.976642],[-37.80629,-8.896332],[-37.748249,-8.860539],[-37.681419,-8.976642],[-37.627641,-8.981147],[-37.520546,-8.945375],[-37.471492,-9.003427],[-37.391171,-9.043483],[-37.181245,-9.239897],[-36.998322,-9.306957],[-36.94027,-9.356],[-36.904499,-9.289181],[-36.833165,-9.262397],[-36.578699,-9.293444],[-36.440316,-9.208849],[-36.346492,-9.199841],[-36.266171,-9.141789],[-36.239398,-9.088242],[-36.123294,-9.016699],[-36.11879,-8.967656],[-36.016199,-8.896332],[-35.971419,-8.905099],[-35.88232,-8.873832],[-35.801768,-8.869548],[-35.721447,-8.918591],[-35.609848,-8.865043],[-35.471464,-8.833776],[-35.391143,-8.882819],[-35.301824,-8.887324],[-35.15174,-8.913867],[-35.157816,-8.930522],[-35.340969,-9.230668],[-35.597016,-9.540724],[-35.763964,-9.702487],[-35.830124,-9.719142],[-35.890867,-9.686974],[-35.847669,-9.77247],[-35.885473,-9.847617],[-36.054893,-10.075781],[-36.223643,-10.225173],[-36.398249,-10.484142],[-36.41152,-10.489987],[-36.414673,-10.49135],[-36.431768,-10.452875],[-36.443018,-10.431957],[-36.482624,-10.410578],[-36.538423,-10.410578],[-36.57982,-10.371423],[-36.607044,-10.292892],[-36.64754,-10.253979],[-36.699066,-10.257341],[-36.776695,-10.223591],[-36.879747,-10.15363],[-36.939589,-10.083647],[-36.956464,-10.013664],[-37.01924,-9.956974],[-37.196098,-9.885871],[-37.425591,-9.778315],[-37.938148,-9.537802],[-37.975721,-9.512138]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"BRA-628","diss_me":628,"iso_3166_2":"BR-RN","wikipedia":null,"iso_a2":"BR","adm0_sr":5,"name":"Rio Grande do Norte","name_alt":null,"name_local":null,"type":"Estado","type_en":"State","code_local":null,"code_hasc":"BR.RN","note":null,"hasc_maybe":null,"region":null,"region_cod":null,"provnum_ne":3,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":"Rio","postal":"RN","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":19,"mapcolor9":5,"mapcolor13":7,"fips":"BR22","fips_alt":null,"woe_id":2344863,"woe_label":"Rio Grande do Norte, BR, Brazil","woe_name":"Rio Grande do Norte","latitude":-5.66157,"longitude":-36.5472,"sov_a3":"BRA","adm0_a3":"BRA","adm0_label":2,"admin":"Brazil","geonunit":"Brazil","gu_a3":"BRA","gn_id":3390290,"gn_name":"Estado do Rio Grande do Norte","gns_id":-666685,"gns_name":"Rio Grande do Norte, Estado do","gn_level":1,"gn_region":null,"gn_a1_code":"BR.22","region_sub":null,"sub_code":null,"gns_level":1,"gns_lang":"kor","gns_adm1":"BR22","gns_region":null,"min_label":3.7,"max_label":8.5,"min_zoom":3,"wikidataid":"Q43255","name_ar":"ريو غراندي دو نورتي","name_bn":"রিও গ্রান্ডে ডু নর্টে","name_de":"Rio Grande do Norte","name_en":"Rio Grande do Norte","name_es":"Río Grande del Norte","name_fr":"Rio Grande do Norte","name_el":"Ρίο Γκράντε ντο Νόρτε","name_hi":"रियो ग्रांडे दो नोर्टे","name_hu":"Rio Grande do Norte","name_id":"Rio Grande do Norte","name_it":"Rio Grande do Norte","name_ja":"リオグランデ・ド・ノルテ州","name_ko":"히우그란지두노르치","name_nl":"Rio Grande do Norte","name_pl":"Rio Grande do Norte","name_pt":"Rio Grande do Norte","name_ru":"Риу-Гранди-ду-Норти","name_sv":"Rio Grande do Norte","name_tr":"Rio Grande do Norte","name_vi":"Rio Grande do Norte","name_zh":"北里约格朗德","ne_id":1159307975,"name_he":"ריו גראנדה דו נורטה","name_uk":"Ріу-Гранді-ду-Норті","name_ur":"شمالی ریو گرانڈی","name_fa":"ریوگرانده دو نورتی","name_zht":"北里约格朗德","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[-38.60549,-6.976625,-34.97174,-4.824272],"geometry":{"type":"Polygon","coordinates":[[[-38.525169,-6.382858],[-38.60549,-6.39613],[-38.578717,-6.26225],[-38.511667,-6.181918],[-38.493891,-6.128371],[-38.41357,-6.061332],[-38.36879,-6.092599],[-38.30174,-6.074823],[-38.127816,-5.878388],[-38.078542,-5.762306],[-38.078542,-5.686479],[-38.047495,-5.614914],[-37.913395,-5.46328],[-37.721464,-5.061423],[-37.596594,-4.958832],[-37.542816,-4.932048],[-37.230749,-4.824272],[-37.174719,-4.91247],[-36.954893,-4.936772],[-36.86107,-4.966698],[-36.747449,-5.050612],[-36.59062,-5.097655],[-36.386768,-5.084362],[-36.161768,-5.093832],[-35.979966,-5.054457],[-35.549324,-5.129362],[-35.481594,-5.166056],[-35.392494,-5.250871],[-35.235445,-5.566772],[-35.141841,-5.917104],[-35.09549,-6.185302],[-34.988165,-6.393647],[-34.97174,-6.503906],[-35.047348,-6.534733],[-35.257275,-6.507948],[-35.306318,-6.530229],[-35.466971,-6.463168],[-35.6679,-6.427397],[-35.721447,-6.445392],[-35.92687,-6.467673],[-36.252669,-6.414125],[-36.292945,-6.30703],[-36.382275,-6.302526],[-36.493874,-6.378354],[-36.516143,-6.480944],[-36.44482,-6.623832],[-36.533919,-6.637323],[-36.529415,-6.735431],[-36.502641,-6.784694],[-36.574195,-6.927582],[-36.65902,-6.931845],[-36.712568,-6.976625],[-36.77062,-6.931845],[-36.743846,-6.82475],[-36.7929,-6.766698],[-36.944775,-6.748923],[-36.989324,-6.708647],[-37.042872,-6.753427],[-37.154471,-6.784694],[-37.217016,-6.82475],[-37.270574,-6.739914],[-37.337624,-6.69988],[-37.516042,-6.681862],[-37.507275,-6.552487],[-37.431216,-6.516716],[-37.395665,-6.391845],[-37.17674,-6.11488],[-37.17674,-6.052543],[-37.261566,-6.02578],[-37.422449,-6.097104],[-37.475997,-6.083832],[-37.641143,-6.128371],[-37.757247,-6.177414],[-37.793018,-6.293517],[-37.842072,-6.342582],[-38.002714,-6.431901],[-38.056273,-6.445392],[-38.13232,-6.52122],[-38.239415,-6.485448],[-38.283964,-6.503444],[-38.435839,-6.414125],[-38.525169,-6.382858]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"BRA-1313","diss_me":1313,"iso_3166_2":"BR-PE","wikipedia":null,"iso_a2":"BR","adm0_sr":1,"name":"Pernambuco","name_alt":"Pernambouc","name_local":null,"type":"Estado","type_en":"State","code_local":null,"code_hasc":"BR.PE","note":null,"hasc_maybe":null,"region":null,"region_cod":null,"provnum_ne":2,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":"Perna.","postal":"PE","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":10,"mapcolor9":5,"mapcolor13":7,"fips":"BR30","fips_alt":null,"woe_id":2344860,"woe_label":"Pernambuco, BR, Brazil","woe_name":"Pernambuco","latitude":-8.47283,"longitude":-37.2958,"sov_a3":"BRA","adm0_a3":"BRA","adm0_label":2,"admin":"Brazil","geonunit":"Brazil","gu_a3":"BRA","gn_id":3392268,"gn_name":"Estado de Pernambuco","gns_id":-661351,"gns_name":"Pernambuco, Estado de","gn_level":1,"gn_region":null,"gn_a1_code":"BR.30","region_sub":null,"sub_code":null,"gns_level":1,"gns_lang":"por","gns_adm1":"BR30","gns_region":null,"min_label":3.7,"max_label":8.5,"min_zoom":3,"wikidataid":"Q40942","name_ar":"بيرنامبوكو","name_bn":"পেরনাবুকু","name_de":"Pernambuco","name_en":"Pernambuco","name_es":"Pernambuco","name_fr":"Pernambouc","name_el":"Περναμπούκο","name_hi":"पेरनाम्बुको","name_hu":"Pernambuco","name_id":"Pernambuco","name_it":"Pernambuco","name_ja":"ペルナンブーコ州","name_ko":"페르남부쿠","name_nl":"Pernambuco","name_pl":"Pernambuco","name_pt":"Pernambuco","name_ru":"Пернамбуку","name_sv":"Pernambuco","name_tr":"Pernambuco","name_vi":"Pernambuco","name_zh":"伯南布哥","ne_id":1159309901,"name_he":"פרנמבוקו","name_uk":"Пернамбуку","name_ur":"پرنامبوکو","name_fa":"پرنامبوکو","name_zht":"伯南布哥","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[-41.368717,-9.472104,-34.834719,-7.271147],"geometry":{"type":"Polygon","coordinates":[[[-41.368717,-8.713168],[-41.212568,-8.632858],[-41.159021,-8.548022],[-41.083193,-8.525742],[-41.016143,-8.418647],[-40.92232,-8.431918],[-40.886768,-8.351608],[-40.833221,-8.36488],[-40.748396,-8.244492],[-40.592016,-8.123906],[-40.542973,-8.030082],[-40.529471,-7.90519],[-40.547467,-7.833647],[-40.659066,-7.762324],[-40.61879,-7.637233],[-40.690344,-7.512341],[-40.690344,-7.427526],[-40.645575,-7.400741],[-40.538469,-7.391755],[-40.261723,-7.391755],[-40.172393,-7.418517],[-40.065299,-7.405246],[-39.953699,-7.360466],[-39.846594,-7.347194],[-39.654443,-7.373979],[-39.534066,-7.476569],[-39.350924,-7.548112],[-39.306374,-7.62394],[-39.243818,-7.681991],[-39.109949,-7.753315],[-39.074167,-7.856147],[-38.998339,-7.820375],[-38.967072,-7.847138],[-38.86424,-7.704272],[-38.819691,-7.663996],[-38.699094,-7.619457],[-38.645546,-7.677487],[-38.591999,-7.690781],[-38.587495,-7.740043],[-38.525169,-7.766828],[-38.449122,-7.735539],[-38.417844,-7.748832],[-38.355518,-7.699767],[-38.304223,-7.782341],[-38.30174,-7.829362],[-38.257191,-7.851642],[-38.225924,-7.811366],[-38.167872,-7.806862],[-38.150096,-7.771332],[-38.08754,-7.820375],[-38.057393,-7.757819],[-37.975941,-7.771332],[-37.89562,-7.686496],[-37.793018,-7.637233],[-37.708193,-7.548112],[-37.551824,-7.476569],[-37.435721,-7.347194],[-37.382174,-7.351699],[-37.346391,-7.297931],[-37.252799,-7.271147],[-37.149966,-7.347194],[-37.016098,-7.400741],[-37.016098,-7.507858],[-37.19924,-7.574897],[-37.212523,-7.64622],[-37.167973,-7.762324],[-37.226025,-7.815871],[-37.342117,-7.998793],[-37.212523,-7.958737],[-37.149966,-7.976513],[-37.127697,-8.164181],[-37.060867,-8.231],[-36.96254,-8.284548],[-36.833165,-8.226496],[-36.783891,-8.222233],[-36.627742,-8.08363],[-36.65902,-8.012306],[-36.569691,-7.922966],[-36.449094,-7.909694],[-36.42232,-7.82488],[-36.337495,-7.811366],[-36.266171,-7.82488],[-36.217117,-7.780099],[-36.167844,-7.82488],[-36.123294,-7.780099],[-36.07424,-7.82488],[-35.966915,-7.815871],[-35.931374,-7.838151],[-35.886594,-7.732177],[-35.83754,-7.744328],[-35.712669,-7.708776],[-35.681391,-7.713281],[-35.55629,-7.655229],[-35.498249,-7.454289],[-35.373367,-7.458793],[-35.270546,-7.382746],[-35.065344,-7.409531],[-34.980518,-7.512341],[-34.85857,-7.549694],[-34.860822,-7.594914],[-34.854747,-7.634289],[-34.872973,-7.692121],[-34.878598,-7.74747],[-34.836971,-7.871681],[-34.834719,-7.971569],[-34.890518,-8.092177],[-34.966566,-8.407617],[-35.15174,-8.913867],[-35.301824,-8.887324],[-35.391143,-8.882819],[-35.471464,-8.833776],[-35.609848,-8.865043],[-35.721447,-8.918591],[-35.801768,-8.869548],[-35.88232,-8.873832],[-35.971419,-8.905099],[-36.016199,-8.896332],[-36.11879,-8.967656],[-36.123294,-9.016699],[-36.239398,-9.088242],[-36.266171,-9.141789],[-36.346492,-9.199841],[-36.440316,-9.208849],[-36.578699,-9.293444],[-36.833165,-9.262397],[-36.904499,-9.289181],[-36.94027,-9.356],[-36.998322,-9.306957],[-37.181245,-9.239897],[-37.391171,-9.043483],[-37.471492,-9.003427],[-37.520546,-8.945375],[-37.627641,-8.981147],[-37.681419,-8.976642],[-37.748249,-8.860539],[-37.80629,-8.896332],[-37.815299,-8.976642],[-37.966943,-9.141789],[-38.092044,-9.186349],[-38.154589,-9.266681],[-38.221199,-9.347673],[-38.283074,-9.203664],[-38.307596,-9.102194],[-38.294324,-9.043022],[-38.335941,-9.010173],[-38.432917,-9.003647],[-38.482191,-8.959548],[-38.483992,-8.877656],[-38.504691,-8.834897],[-38.544296,-8.831074],[-38.577596,-8.860539],[-38.619223,-8.896091],[-38.667816,-8.896091],[-38.7054,-8.879897],[-38.834995,-8.800246],[-39.098249,-8.71497],[-39.25665,-8.640263],[-39.332697,-8.565798],[-39.441824,-8.559272],[-39.600896,-8.619565],[-39.682799,-8.683022],[-39.687742,-8.749401],[-39.738367,-8.791237],[-39.834893,-8.809013],[-39.884617,-8.853354],[-39.887771,-8.923996],[-39.90915,-8.980246],[-39.948745,-9.022104],[-40.004995,-9.058095],[-40.077669,-9.088242],[-40.212219,-9.101513],[-40.273193,-9.144953],[-40.319775,-9.293005],[-40.412697,-9.396957],[-40.564792,-9.460173],[-40.685839,-9.472104],[-40.743891,-9.423039],[-40.690344,-9.342729],[-40.703615,-9.217617],[-40.850997,-9.150798],[-40.85549,-9.092746],[-40.891042,-9.034694],[-40.891042,-8.856056],[-40.980372,-8.815781],[-41.003993,-8.781349],[-41.100969,-8.775724],[-41.105473,-8.717673],[-41.159021,-8.708664],[-41.324167,-8.735449],[-41.368717,-8.713168]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"BRA-626","diss_me":626,"iso_3166_2":"BR-PB","wikipedia":null,"iso_a2":"BR","adm0_sr":1,"name":"Paraíba","name_alt":"Parahyba","name_local":null,"type":"Estado","type_en":"State","code_local":null,"code_hasc":"BR.PB","note":null,"hasc_maybe":null,"region":null,"region_cod":null,"provnum_ne":14,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":"Paraíba","postal":"PB","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":7,"mapcolor9":5,"mapcolor13":7,"fips":"BR17","fips_alt":null,"woe_id":2344858,"woe_label":"Paraiba, BR, Brazil","woe_name":"Paraíba","latitude":-7.34234,"longitude":-36.2726,"sov_a3":"BRA","adm0_a3":"BRA","adm0_label":2,"admin":"Brazil","geonunit":"Brazil","gu_a3":"BRA","gn_id":3393098,"gn_name":"Estado da Paraiba","gns_id":-659305,"gns_name":"Paraiba, Estado da","gn_level":1,"gn_region":null,"gn_a1_code":"BR.17","region_sub":null,"sub_code":null,"gns_level":1,"gns_lang":"por","gns_adm1":"BR17","gns_region":null,"min_label":3.7,"max_label":8.5,"min_zoom":3,"wikidataid":"Q38088","name_ar":"بارايبا","name_bn":"পারায়বা","name_de":"Paraíba","name_en":"Paraíba","name_es":"Paraíba","name_fr":"Paraíba","name_el":"Παραΐμπα","name_hi":"परेबा","name_hu":"Paraíba","name_id":"Paraíba","name_it":"Paraíba","name_ja":"パライバ州","name_ko":"파라이바","name_nl":"Paraíba","name_pl":"Paraíba","name_pt":"Paraíba","name_ru":"Параиба","name_sv":"Paraíba","name_tr":"Paraíba","name_vi":"Paraíba","name_zh":"帕拉伊巴","ne_id":1159307931,"name_he":"פאראיבה","name_uk":"Параїба","name_ur":"پارائیبا","name_fa":"پارائیبا","name_zht":"帕拉伊巴","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[-38.730372,-8.284548,-34.805473,-6.02578],"geometry":{"type":"Polygon","coordinates":[[[-38.699094,-7.619457],[-38.636768,-7.534621],[-38.632275,-7.458793],[-38.58299,-7.427526],[-38.533947,-7.293647],[-38.547449,-7.235595],[-38.600997,-7.222104],[-38.676824,-7.159548],[-38.685822,-7.030173],[-38.730372,-7.003388],[-38.725867,-6.891789],[-38.65004,-6.838241],[-38.618773,-6.757931],[-38.65004,-6.690871],[-38.578717,-6.480944],[-38.525169,-6.382858],[-38.435839,-6.414125],[-38.283964,-6.503444],[-38.239415,-6.485448],[-38.13232,-6.52122],[-38.056273,-6.445392],[-38.002714,-6.431901],[-37.842072,-6.342582],[-37.793018,-6.293517],[-37.757247,-6.177414],[-37.641143,-6.128371],[-37.475997,-6.083832],[-37.422449,-6.097104],[-37.261566,-6.02578],[-37.17674,-6.052543],[-37.17674,-6.11488],[-37.395665,-6.391845],[-37.431216,-6.516716],[-37.507275,-6.552487],[-37.516042,-6.681862],[-37.337624,-6.69988],[-37.270574,-6.739914],[-37.217016,-6.82475],[-37.154471,-6.784694],[-37.042872,-6.753427],[-36.989324,-6.708647],[-36.944775,-6.748923],[-36.7929,-6.766698],[-36.743846,-6.82475],[-36.77062,-6.931845],[-36.712568,-6.976625],[-36.65902,-6.931845],[-36.574195,-6.927582],[-36.502641,-6.784694],[-36.529415,-6.735431],[-36.533919,-6.637323],[-36.44482,-6.623832],[-36.516143,-6.480944],[-36.493874,-6.378354],[-36.382275,-6.302526],[-36.292945,-6.30703],[-36.252669,-6.414125],[-35.92687,-6.467673],[-35.721447,-6.445392],[-35.6679,-6.427397],[-35.466971,-6.463168],[-35.306318,-6.530229],[-35.257275,-6.507948],[-35.047348,-6.534733],[-34.97174,-6.503906],[-34.929673,-6.785156],[-34.879949,-6.908224],[-34.875895,-7.002948],[-34.833818,-7.024328],[-34.805473,-7.288483],[-34.816492,-7.394897],[-34.857669,-7.533281],[-34.85857,-7.549694],[-34.980518,-7.512341],[-35.065344,-7.409531],[-35.270546,-7.382746],[-35.373367,-7.458793],[-35.498249,-7.454289],[-35.55629,-7.655229],[-35.681391,-7.713281],[-35.712669,-7.708776],[-35.83754,-7.744328],[-35.886594,-7.732177],[-35.931374,-7.838151],[-35.966915,-7.815871],[-36.07424,-7.82488],[-36.123294,-7.780099],[-36.167844,-7.82488],[-36.217117,-7.780099],[-36.266171,-7.82488],[-36.337495,-7.811366],[-36.42232,-7.82488],[-36.449094,-7.909694],[-36.569691,-7.922966],[-36.65902,-8.012306],[-36.627742,-8.08363],[-36.783891,-8.222233],[-36.833165,-8.226496],[-36.96254,-8.284548],[-37.060867,-8.231],[-37.127697,-8.164181],[-37.149966,-7.976513],[-37.212523,-7.958737],[-37.342117,-7.998793],[-37.226025,-7.815871],[-37.167973,-7.762324],[-37.212523,-7.64622],[-37.19924,-7.574897],[-37.016098,-7.507858],[-37.016098,-7.400741],[-37.149966,-7.347194],[-37.252799,-7.271147],[-37.346391,-7.297931],[-37.382174,-7.351699],[-37.435721,-7.347194],[-37.551824,-7.476569],[-37.708193,-7.548112],[-37.793018,-7.637233],[-37.89562,-7.686496],[-37.975941,-7.771332],[-38.057393,-7.757819],[-38.08754,-7.820375],[-38.150096,-7.771332],[-38.167872,-7.806862],[-38.225924,-7.811366],[-38.257191,-7.851642],[-38.30174,-7.829362],[-38.304223,-7.782341],[-38.355518,-7.699767],[-38.417844,-7.748832],[-38.449122,-7.735539],[-38.525169,-7.766828],[-38.587495,-7.740043],[-38.591999,-7.690781],[-38.645546,-7.677487],[-38.699094,-7.619457]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"BRA-614","diss_me":614,"iso_3166_2":"BR-SC","wikipedia":null,"iso_a2":"BR","adm0_sr":1,"name":"Santa Catarina","name_alt":"Santa Catharina","name_local":null,"type":"Estado","type_en":"State","code_local":null,"code_hasc":"BR.SC","note":null,"hasc_maybe":null,"region":null,"region_cod":null,"provnum_ne":5,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":"S.C.","postal":"SC","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":14,"mapcolor9":5,"mapcolor13":7,"fips":"BR26","fips_alt":null,"woe_id":2344867,"woe_label":"Santa Catarina, BR, Brazil","woe_name":"Santa Catarina","latitude":-27.0392,"longitude":-51.1586,"sov_a3":"BRA","adm0_a3":"BRA","adm0_label":2,"admin":"Brazil","geonunit":"Brazil","gu_a3":"BRA","gn_id":3450387,"gn_name":"Estado de Santa Catarina","gns_id":-668106,"gns_name":"Santa Catarina, Estado de","gn_level":1,"gn_region":null,"gn_a1_code":"BR.26","region_sub":null,"sub_code":null,"gns_level":1,"gns_lang":"kor","gns_adm1":"BR26","gns_region":null,"min_label":3.7,"max_label":8.5,"min_zoom":3,"wikidataid":"Q41115","name_ar":"سانتا كاتارينا","name_bn":"স্যান্টা ক্যাটারিনা","name_de":"Santa Catarina","name_en":"Santa Catarina","name_es":"Santa Catarina","name_fr":"Santa Catarina","name_el":"Σάντα Καταρίνα","name_hi":"सांता कातारीना","name_hu":"Santa Catarina","name_id":"Santa Catarina","name_it":"Santa Catarina","name_ja":"サンタカタリーナ州","name_ko":"산타카타리나","name_nl":"Santa Catarina","name_pl":"Santa Catarina","name_pt":"Santa Catarina","name_ru":"Санта-Катарина","name_sv":"Santa Catarina","name_tr":"Santa Catarina","name_vi":"Santa Catarina","name_zh":"圣卡塔琳娜州","ne_id":1159307915,"name_he":"סנטה קטרינה","name_uk":"Санта-Катаріна","name_ur":"سانتا کاتارینا","name_fa":"سانتا کاتارینا","name_zht":"聖塔卡塔林那","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[-53.935418,-29.356018,-48.377917,-25.972251],"geometry":{"type":"MultiPolygon","coordinates":[[[[-53.669922,-26.258005],[-53.663396,-26.257764],[-53.516245,-26.289053],[-53.458193,-26.289053],[-53.355372,-26.239988],[-53.279545,-26.262268],[-53.123396,-26.369605],[-52.99379,-26.351609],[-52.913469,-26.3651],[-52.815372,-26.338315],[-52.672495,-26.378372],[-52.641217,-26.400652],[-52.5429,-26.400652],[-52.458075,-26.431919],[-52.199094,-26.449915],[-52.007174,-26.583794],[-51.873295,-26.60157],[-51.502715,-26.60157],[-51.422394,-26.699897],[-51.284021,-26.650855],[-51.239471,-26.606074],[-51.279517,-26.49898],[-51.288525,-26.423152],[-51.248249,-26.347105],[-51.074094,-26.235505],[-50.944719,-26.244492],[-50.90017,-26.280264],[-50.770575,-26.222234],[-50.735023,-26.231001],[-50.645693,-26.070359],[-50.542872,-26.025798],[-50.458047,-26.025798],[-50.369167,-26.085872],[-50.31517,-26.052583],[-50.190299,-26.052583],[-49.949094,-26.012307],[-49.882275,-26.03907],[-49.75267,-26.123906],[-49.721622,-26.159678],[-49.596521,-26.222234],[-49.489415,-26.222234],[-49.453644,-26.168665],[-49.297495,-26.10613],[-49.21267,-26.030303],[-49.109849,-25.994531],[-48.944691,-26.007803],[-48.917917,-25.976514],[-48.65017,-25.972251],[-48.585372,-25.986204],[-48.619342,-26.179475],[-48.678965,-26.225815],[-48.713846,-26.226958],[-48.748266,-26.268574],[-48.700795,-26.348225],[-48.651521,-26.406497],[-48.658047,-26.519216],[-48.676493,-26.61238],[-48.677844,-26.70282],[-48.615749,-26.878096],[-48.593469,-27.058096],[-48.568266,-27.123355],[-48.554094,-27.196018],[-48.595491,-27.26398],[-48.57187,-27.372876],[-48.642523,-27.55782],[-48.60562,-27.825117],[-48.620693,-28.07554],[-48.648368,-28.207178],[-48.693148,-28.31023],[-48.79732,-28.442747],[-48.799573,-28.575264],[-49.023672,-28.698574],[-49.271391,-28.871148],[-49.499995,-29.075449],[-49.712844,-29.324531],[-49.815215,-29.271204],[-49.868773,-29.217656],[-49.953599,-29.195376],[-50.0787,-29.244419],[-50.03392,-29.320466],[-50.051915,-29.356018],[-50.168019,-29.284695],[-50.163525,-29.195376],[-50.069691,-29.092764],[-50.007146,-29.101553],[-49.94482,-28.949898],[-49.953599,-28.793518],[-49.846493,-28.695432],[-49.79745,-28.623867],[-49.699122,-28.597105],[-49.70812,-28.530264],[-49.736695,-28.511367],[-49.839066,-28.465247],[-49.938525,-28.448152],[-50.06879,-28.444329],[-50.141025,-28.452876],[-50.154967,-28.473794],[-50.233047,-28.46863],[-50.446566,-28.422048],[-50.577523,-28.386277],[-50.736144,-28.235984],[-50.965868,-27.959458],[-51.117292,-27.807803],[-51.190417,-27.781238],[-51.286724,-27.716221],[-51.40642,-27.613169],[-51.487642,-27.564126],[-51.53017,-27.56885],[-51.582366,-27.547471],[-51.644691,-27.499768],[-51.701622,-27.488079],[-51.753599,-27.511919],[-51.873295,-27.509458],[-51.9129,-27.472544],[-51.984224,-27.376699],[-52.05959,-27.313484],[-52.139241,-27.283315],[-52.192349,-27.280855],[-52.228571,-27.292544],[-52.264792,-27.277251],[-52.304398,-27.283096],[-52.348047,-27.27635],[-52.414646,-27.236294],[-52.510721,-27.230449],[-52.636493,-27.259475],[-52.741566,-27.245742],[-52.826392,-27.189492],[-52.900198,-27.176682],[-52.952844,-27.178923],[-52.994241,-27.163389],[-53.030474,-27.137527],[-53.07075,-27.14179],[-53.103599,-27.154402],[-53.134196,-27.140449],[-53.18437,-27.149458],[-53.227118,-27.173738],[-53.26334,-27.163389],[-53.304747,-27.09769],[-53.347495,-27.080596],[-53.39812,-27.082398],[-53.456622,-27.103315],[-53.489691,-27.133242],[-53.498019,-27.172178],[-53.540096,-27.19782],[-53.615693,-27.209971],[-53.659573,-27.200523],[-53.671493,-27.169475],[-53.718525,-27.157544],[-53.800418,-27.164751],[-53.851724,-27.156204],[-53.935418,-27.161148],[-53.91562,-27.159565],[-53.838222,-27.121091],[-53.758571,-26.978225],[-53.717394,-26.88282],[-53.727073,-26.804751],[-53.753396,-26.748721],[-53.744618,-26.666609],[-53.718075,-26.443169],[-53.710868,-26.351829],[-53.668571,-26.288152],[-53.669922,-26.258005]]],[[[-48.464775,-27.436333],[-48.41482,-27.399639],[-48.377917,-27.451406],[-48.409646,-27.566367],[-48.496723,-27.706992],[-48.485924,-27.767065],[-48.554545,-27.812307],[-48.542174,-27.574695],[-48.505271,-27.495505],[-48.464775,-27.436333]]],[[[-48.603148,-26.413704],[-48.665693,-26.289734],[-48.539691,-26.170247],[-48.497624,-26.21885],[-48.531144,-26.313113],[-48.568047,-26.379734],[-48.584471,-26.401553],[-48.603148,-26.413704]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"BRA-612","diss_me":612,"iso_3166_2":"BR-RS","wikipedia":null,"iso_a2":"BR","adm0_sr":1,"name":"Rio Grande do Sul","name_alt":null,"name_local":null,"type":"Estado","type_en":"State","code_local":null,"code_hasc":"BR.RS","note":null,"hasc_maybe":null,"region":null,"region_cod":null,"provnum_ne":12,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":"Rio","postal":"RS","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":17,"mapcolor9":5,"mapcolor13":7,"fips":"BR23","fips_alt":null,"woe_id":2344864,"woe_label":"Rio Grande do Sul, BR, Brazil","woe_name":"Rio Grande do Sul","latitude":-29.7277,"longitude":-53.656,"sov_a3":"BRA","adm0_a3":"BRA","adm0_label":2,"admin":"Brazil","geonunit":"Brazil","gu_a3":"BRA","gn_id":3451133,"gn_name":"Estado do Rio Grande do Sul","gns_id":-666687,"gns_name":"Rio Grande do Sul, Estado do","gn_level":1,"gn_region":null,"gn_a1_code":"BR.23","region_sub":null,"sub_code":null,"gns_level":1,"gns_lang":"kor","gns_adm1":"BR23","gns_region":null,"min_label":3.7,"max_label":8.5,"min_zoom":3,"wikidataid":"Q40030","name_ar":"ريو غراندي دو سول","name_bn":"রিও গ্রান্ডে দু সোল","name_de":"Rio Grande do Sul","name_en":"Rio Grande do Sul","name_es":"Río Grande del Sur","name_fr":"Rio Grande do Sul","name_el":"Ρίο Γκράντε ντο Σουλ","name_hi":"रियो ग्रांडे दो सुल","name_hu":"Río Grande del Sur","name_id":"Rio Grande do Sul","name_it":"Rio Grande do Sul","name_ja":"リオグランデ・ド・スル州","name_ko":"히우그란지두술","name_nl":"Rio Grande do Sul","name_pl":"Rio Grande do Sul","name_pt":"Rio Grande do Sul","name_ru":"Риу-Гранди-ду-Сул","name_sv":"Rio Grande do Sul","name_tr":"Rio Grande do Sul","name_vi":"Rio Grande do Sul","name_zh":"南里奥格兰德州","ne_id":1159307911,"name_he":"ריו גראנדה דו סול","name_uk":"Ріу-Гранді-ду-Сул","name_ur":"جنوبی ریو گرانڈی","name_fa":"ریو گرانده دو سول","name_zht":"南大河州","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[-57.608993,-33.742178,-49.699122,-27.080596],"geometry":{"type":"Polygon","coordinates":[[[-53.935418,-27.161148],[-53.851724,-27.156204],[-53.800418,-27.164751],[-53.718525,-27.157544],[-53.671493,-27.169475],[-53.659573,-27.200523],[-53.615693,-27.209971],[-53.540096,-27.19782],[-53.498019,-27.172178],[-53.489691,-27.133242],[-53.456622,-27.103315],[-53.39812,-27.082398],[-53.347495,-27.080596],[-53.304747,-27.09769],[-53.26334,-27.163389],[-53.227118,-27.173738],[-53.18437,-27.149458],[-53.134196,-27.140449],[-53.103599,-27.154402],[-53.07075,-27.14179],[-53.030474,-27.137527],[-52.994241,-27.163389],[-52.952844,-27.178923],[-52.900198,-27.176682],[-52.826392,-27.189492],[-52.741566,-27.245742],[-52.636493,-27.259475],[-52.510721,-27.230449],[-52.414646,-27.236294],[-52.348047,-27.27635],[-52.304398,-27.283096],[-52.264792,-27.277251],[-52.228571,-27.292544],[-52.192349,-27.280855],[-52.139241,-27.283315],[-52.05959,-27.313484],[-51.984224,-27.376699],[-51.9129,-27.472544],[-51.873295,-27.509458],[-51.753599,-27.511919],[-51.701622,-27.488079],[-51.644691,-27.499768],[-51.582366,-27.547471],[-51.53017,-27.56885],[-51.487642,-27.564126],[-51.40642,-27.613169],[-51.286724,-27.716221],[-51.190417,-27.781238],[-51.117292,-27.807803],[-50.965868,-27.959458],[-50.736144,-28.235984],[-50.577523,-28.386277],[-50.446566,-28.422048],[-50.233047,-28.46863],[-50.154967,-28.473794],[-50.141025,-28.452876],[-50.06879,-28.444329],[-49.938525,-28.448152],[-49.839066,-28.465247],[-49.736695,-28.511367],[-49.70812,-28.530264],[-49.699122,-28.597105],[-49.79745,-28.623867],[-49.846493,-28.695432],[-49.953599,-28.793518],[-49.94482,-28.949898],[-50.007146,-29.101553],[-50.069691,-29.092764],[-50.163525,-29.195376],[-50.168019,-29.284695],[-50.051915,-29.356018],[-50.03392,-29.320466],[-50.0787,-29.244419],[-49.953599,-29.195376],[-49.868773,-29.217656],[-49.815215,-29.271204],[-49.712844,-29.324531],[-49.745924,-29.363225],[-50.033249,-29.801074],[-50.299415,-30.425669],[-50.62004,-30.89773],[-50.748075,-31.06804],[-50.921318,-31.258389],[-51.151724,-31.480467],[-51.460417,-31.702324],[-51.798148,-31.90032],[-51.920316,-31.989639],[-52.039122,-32.114751],[-52.069049,-32.063006],[-52.043165,-31.977488],[-52.05959,-31.913372],[-52.063193,-31.830359],[-51.995023,-31.815044],[-51.893092,-31.867691],[-51.841116,-31.831919],[-51.803323,-31.796609],[-51.680693,-31.774549],[-51.446245,-31.557415],[-51.27209,-31.476863],[-51.174224,-31.339842],[-51.157568,-31.266717],[-51.161392,-31.118906],[-51.106042,-31.081333],[-50.98004,-31.094143],[-50.954398,-31.052066],[-50.965417,-31.005506],[-50.940896,-30.903794],[-50.770124,-30.813355],[-50.689342,-30.704216],[-50.716346,-30.425889],[-50.685068,-30.413518],[-50.614866,-30.456958],[-50.582017,-30.438941],[-50.546465,-30.316773],[-50.563571,-30.253557],[-50.646144,-30.236902],[-50.931898,-30.374363],[-51.02504,-30.368738],[-51.040344,-30.260523],[-51.179398,-30.211018],[-51.233616,-30.12148],[-51.249821,-30.060044],[-51.297974,-30.034841],[-51.29504,-30.141057],[-51.281769,-30.244109],[-51.157349,-30.364256],[-51.187495,-30.411958],[-51.246667,-30.467527],[-51.287624,-30.591277],[-51.28312,-30.75148],[-51.31642,-30.702656],[-51.359167,-30.674531],[-51.376493,-30.846863],[-51.459066,-30.912803],[-51.48517,-30.9776],[-51.463571,-31.052747],[-51.506318,-31.104492],[-51.716915,-31.243777],[-51.926842,-31.338941],[-51.972523,-31.383721],[-51.994792,-31.489915],[-52.026971,-31.599053],[-52.119894,-31.694898],[-52.193469,-31.885467],[-52.191448,-31.9676],[-52.167146,-32.088428],[-52.127321,-32.167859],[-52.190096,-32.220725],[-52.274691,-32.323777],[-52.341741,-32.439639],[-52.508469,-32.875247],[-52.652247,-33.13782],[-52.762946,-33.266294],[-52.920896,-33.401975],[-53.370665,-33.742178],[-53.39767,-33.737234],[-53.463599,-33.709768],[-53.518948,-33.677139],[-53.531318,-33.65554],[-53.537625,-33.622932],[-53.533209,-33.547802],[-53.526953,-33.552734],[-53.508496,-33.557227],[-53.490527,-33.546777],[-53.453955,-33.531738],[-53.437402,-33.472754],[-53.452686,-33.350586],[-53.436523,-33.235449],[-53.408594,-33.158691],[-53.376953,-33.119531],[-53.351758,-33.095117],[-53.325586,-33.085254],[-53.291602,-33.081348],[-53.227588,-33.055469],[-53.17334,-32.956445],[-53.130957,-32.845605],[-53.067578,-32.808203],[-53.015234,-32.79873],[-52.975732,-32.822266],[-52.938574,-32.861133],[-52.894922,-32.909766],[-52.847217,-32.91709],[-52.80791,-32.906934],[-52.772607,-32.875781],[-52.73125,-32.811719],[-52.693555,-32.756934],[-52.659326,-32.697656],[-52.616992,-32.638184],[-52.59834,-32.585352],[-52.591406,-32.539844],[-52.593262,-32.499121],[-52.625488,-32.453613],[-52.653271,-32.394043],[-52.690039,-32.348145],[-52.690039,-32.237402],[-52.70127,-32.204004],[-52.720312,-32.198535],[-52.744727,-32.217383],[-52.779639,-32.263281],[-52.792187,-32.310742],[-52.803809,-32.347656],[-52.810303,-32.390625],[-52.877148,-32.432031],[-52.958838,-32.468359],[-52.991113,-32.533984],[-53.029541,-32.598047],[-53.091553,-32.619922],[-53.138867,-32.649023],[-53.168629,-32.671831],[-53.231172,-32.625506],[-53.362799,-32.581165],[-53.489471,-32.503316],[-53.601741,-32.402967],[-53.653717,-32.298794],[-53.7012,-32.186294],[-53.74665,-32.097415],[-53.761724,-32.056919],[-53.806043,-32.039824],[-53.876465,-31.994605],[-53.920575,-31.952307],[-53.985142,-31.928225],[-54.100344,-31.901441],[-54.220491,-31.8551],[-54.369894,-31.745083],[-54.47767,-31.622674],[-54.530997,-31.541902],[-54.587698,-31.485191],[-54.895941,-31.391148],[-55.036116,-31.279109],[-55.091245,-31.31398],[-55.173599,-31.279549],[-55.25459,-31.22554],[-55.278892,-31.184143],[-55.313323,-31.141626],[-55.345491,-31.093023],[-55.365969,-31.046221],[-55.449674,-30.964549],[-55.557219,-30.875889],[-55.60312,-30.850708],[-55.627191,-30.858113],[-55.650592,-30.892105],[-55.665215,-30.924954],[-55.705941,-30.946553],[-55.756347,-30.987049],[-55.807872,-31.036773],[-55.873571,-31.069622],[-55.95209,-31.080872],[-56.004747,-31.07929],[-56.015547,-31.059734],[-56.018469,-30.991773],[-55.998892,-30.837195],[-56.044793,-30.777583],[-56.105767,-30.713665],[-56.1762,-30.628389],[-56.407276,-30.447488],[-56.721594,-30.186958],[-56.832743,-30.107307],[-56.937146,-30.101001],[-57.032771,-30.109988],[-57.120519,-30.144419],[-57.186898,-30.264807],[-57.214342,-30.283484],[-57.383773,-30.280781],[-57.552293,-30.261204],[-57.608993,-30.187859],[-57.563773,-30.139915],[-57.405142,-30.033941],[-57.317394,-29.939458],[-57.30075,-29.856643],[-57.224691,-29.782178],[-57.089241,-29.716238],[-56.938717,-29.594751],[-56.77245,-29.417893],[-56.67142,-29.287398],[-56.635868,-29.203023],[-56.57062,-29.138005],[-56.475896,-29.092544],[-56.393323,-28.99738],[-56.32245,-28.852471],[-56.225474,-28.737268],[-56.102844,-28.651773],[-56.034224,-28.580889],[-56.01959,-28.524639],[-55.98495,-28.488648],[-55.930271,-28.472893],[-55.903717,-28.443208],[-55.905519,-28.399548],[-55.890446,-28.370083],[-55.858948,-28.354109],[-55.806071,-28.359734],[-55.732045,-28.386716],[-55.687276,-28.381553],[-55.671972,-28.34488],[-55.691549,-28.302803],[-55.745997,-28.25554],[-55.725519,-28.204014],[-55.582422,-28.121001],[-55.476668,-28.089273],[-55.409849,-28.037747],[-55.346392,-27.956074],[-55.24379,-27.898923],[-55.101594,-27.866755],[-55.06379,-27.835928],[-55.068965,-27.796333],[-55.03995,-27.767747],[-54.955795,-27.747268],[-54.910125,-27.708574],[-54.902698,-27.651863],[-54.875693,-27.599216],[-54.829122,-27.550613],[-54.777146,-27.532398],[-54.719775,-27.544988],[-54.665767,-27.526553],[-54.615372,-27.477048],[-54.554849,-27.454109],[-54.484415,-27.457251],[-54.448193,-27.44644],[-54.326915,-27.423501],[-54.260097,-27.382105],[-54.205198,-27.289622],[-54.156375,-27.25385],[-54.113847,-27.274768],[-54.04004,-27.243721],[-53.935418,-27.161148]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"CAN-632","diss_me":632,"iso_3166_2":"CA-AB","wikipedia":"http://en.wikipedia.org/wiki/Alberta","iso_a2":"CA","adm0_sr":1,"name":"Alberta","name_alt":null,"name_local":null,"type":"Province","type_en":"Province","code_local":null,"code_hasc":"CA.AB","note":null,"hasc_maybe":null,"region":"Western Canada","region_cod":null,"provnum_ne":12,"gadm_level":1,"check_me":20,"datarank":2,"abbrev":"Alta.","postal":"AB","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":7,"mapcolor9":2,"mapcolor13":2,"fips":"CA01","fips_alt":null,"woe_id":2344915,"woe_label":"Alberta, CA, Canada","woe_name":"Alberta","latitude":55.2816,"longitude":-115,"sov_a3":"CAN","adm0_a3":"CAN","adm0_label":2,"admin":"Canada","geonunit":"Canada","gu_a3":"CAN","gn_id":5883102,"gn_name":"Alberta","gns_id":-559990,"gns_name":"Alberta, Province d'","gn_level":1,"gn_region":null,"gn_a1_code":"CA.01","region_sub":"Prairies","sub_code":null,"gns_level":1,"gns_lang":"fra","gns_adm1":"CA01","gns_region":null,"min_label":3.5,"max_label":7.5,"min_zoom":2,"wikidataid":"Q1951","name_ar":"ألبرتا","name_bn":"অ্যালবার্টা","name_de":"Alberta","name_en":"Alberta","name_es":"Alberta","name_fr":"Alberta","name_el":"Αλμπέρτα","name_hi":"अल्बर्टा","name_hu":"Alberta","name_id":"Alberta","name_it":"Alberta","name_ja":"アルバータ州","name_ko":"앨버타","name_nl":"Alberta","name_pl":"Alberta","name_pt":"Alberta","name_ru":"Альберта","name_sv":"Alberta","name_tr":"Alberta","name_vi":"Alberta","name_zh":"阿尔伯塔省","ne_id":1159308775,"name_he":"אלברטה","name_uk":"Альберта","name_ur":"البرٹا","name_fa":"آلبرتا","name_zht":"亞伯達省","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[-120.001018,48.993083,-109.999432,60.001087],"geometry":{"type":"Polygon","coordinates":[[[-109.999432,48.993083],[-110.321299,48.993083],[-110.747678,48.993083],[-111.174063,48.993083],[-111.600442,48.993083],[-112.026827,48.993083],[-112.453207,48.993083],[-112.879592,48.993083],[-113.305971,48.993083],[-113.732356,48.993083],[-114.062517,48.993083],[-114.050602,49.014627],[-114.057474,49.037962],[-114.132538,49.094058],[-114.163674,49.14677],[-114.189794,49.168062],[-114.354847,49.210689],[-114.378154,49.232266],[-114.386163,49.25203],[-114.425906,49.27441],[-114.479646,49.333428],[-114.565224,49.393886],[-114.588015,49.420319],[-114.590053,49.451707],[-114.576254,49.518658],[-114.577474,49.543619],[-114.60155,49.55054],[-114.680899,49.55555],[-114.716714,49.568503],[-114.734023,49.587201],[-114.73733,49.603846],[-114.686041,49.643067],[-114.642842,49.730298],[-114.637596,49.796755],[-114.684931,49.93427],[-114.677878,49.954727],[-114.651395,49.985324],[-114.651961,50.019612],[-114.667748,50.060976],[-114.716379,50.129344],[-114.789136,50.359145],[-114.992795,50.545033],[-115.047881,50.577048],[-115.091189,50.584815],[-115.127669,50.584947],[-115.188698,50.557173],[-115.205958,50.553658],[-115.222086,50.562623],[-115.26663,50.59423],[-115.305439,50.634561],[-115.310965,50.642131],[-115.307631,50.65582],[-115.298358,50.673497],[-115.31102,50.696854],[-115.334998,50.719595],[-115.346522,50.728945],[-115.359777,50.728637],[-115.37551,50.727011],[-115.386205,50.726462],[-115.398713,50.731373],[-115.433105,50.756388],[-115.633892,50.855243],[-115.639885,50.869174],[-115.588002,50.909197],[-115.596192,50.936268],[-115.618934,50.962316],[-115.793781,51.070422],[-115.940438,51.102051],[-115.997643,51.129539],[-116.013535,51.150699],[-116.035002,51.217649],[-116.04188,51.229998],[-116.054382,51.236919],[-116.134923,51.26622],[-116.176342,51.297004],[-116.250313,51.322657],[-116.278762,51.347826],[-116.309952,51.447769],[-116.3771,51.497273],[-116.410795,51.543724],[-116.457718,51.57365],[-116.501746,51.614783],[-116.56735,51.650698],[-116.633856,51.758473],[-116.674033,51.790685],[-116.717704,51.799936],[-116.758189,51.788543],[-116.790774,51.770954],[-116.808237,51.752607],[-116.814697,51.721856],[-116.829918,51.715242],[-116.912783,51.713847],[-116.938721,51.735754],[-117.03706,51.885904],[-117.076984,51.926388],[-117.24457,52.047106],[-117.320145,52.155959],[-117.347589,52.15909],[-117.384948,52.144412],[-117.587316,52.141731],[-117.750638,52.207715],[-117.787767,52.232523],[-117.821819,52.272161],[-117.734642,52.35257],[-117.731698,52.383156],[-117.757615,52.394637],[-117.883057,52.430156],[-118.001989,52.485889],[-118.028604,52.465894],[-118.044287,52.42742],[-118.060101,52.41272],[-118.191256,52.384145],[-118.221024,52.3861],[-118.242804,52.408864],[-118.246677,52.440757],[-118.225028,52.482692],[-118.266315,52.518288],[-118.288436,52.562266],[-118.350261,52.62346],[-118.319335,52.674459],[-118.330211,52.708824],[-118.357935,52.741926],[-118.412894,52.784223],[-118.428424,52.83554],[-118.476923,52.878508],[-118.501856,52.888373],[-118.605496,52.895119],[-118.630709,52.909434],[-118.668178,52.971672],[-118.678357,53.025911],[-118.731481,53.057848],[-118.766363,53.065418],[-118.77357,53.121569],[-118.803673,53.153397],[-118.914365,53.21169],[-118.99255,53.235585],[-119.016115,53.204373],[-119.022108,53.139444],[-119.045542,53.143784],[-119.261061,53.209493],[-119.308786,53.241891],[-119.399763,53.352502],[-119.434903,53.361598],[-119.592387,53.372453],[-119.64773,53.363049],[-119.680107,53.37064],[-119.723256,53.399787],[-119.819606,53.490995],[-119.855081,53.508618],[-119.89384,53.51555],[-119.896115,53.566702],[-119.920812,53.602287],[-119.91823,53.61223],[-119.886969,53.614713],[-119.743125,53.61502],[-119.73483,53.633653],[-119.811569,53.698791],[-119.884639,53.707932],[-119.904431,53.723005],[-119.91717,53.769894],[-119.972695,53.797053],[-120.001018,53.843788],[-120.000963,54.228629],[-120.000886,54.613458],[-120.000809,54.998298],[-120.000759,55.383127],[-120.000704,55.767967],[-120.000628,56.152796],[-120.000551,56.537636],[-120.000501,56.922443],[-120.000446,57.30725],[-120.000369,57.692091],[-120.000293,58.07692],[-120.000243,58.46176],[-120.000188,58.846589],[-120.000139,59.231429],[-120.000084,59.616258],[-120,60.001087],[-119.375006,60.001087],[-118.750032,60.001087],[-118.125031,60.001087],[-117.500029,60.001087],[-116.875034,60.001087],[-116.250032,60.001087],[-115.625031,60.001087],[-115.00003,60.001087],[-114.375029,60.001087],[-113.750027,60.001087],[-113.125026,60.001087],[-112.500025,60.001087],[-111.875024,60.001087],[-111.250028,60.001087],[-110.625027,60.001087],[-110.000025,60.001087],[-110,59.657138],[-109.99997,59.313145],[-109.99997,58.969163],[-109.999949,58.625203],[-109.999921,58.281254],[-109.999921,57.93724],[-109.999894,57.59328],[-109.999872,57.24932],[-109.999844,56.90536],[-109.999817,56.561378],[-109.999817,56.217396],[-109.999789,55.873436],[-109.999767,55.529476],[-109.999767,55.185472],[-109.99974,54.841512],[-109.999712,54.497552],[-109.99969,54.153592],[-109.999663,53.80961],[-109.999663,53.465628],[-109.999635,53.121668],[-109.999613,52.777708],[-109.999613,52.433726],[-109.999586,52.089744],[-109.999558,51.745784],[-109.999531,51.401824],[-109.999509,51.057842],[-109.999509,50.71386],[-109.999482,50.3699],[-109.999454,50.02594],[-109.999454,49.681958],[-109.999432,49.337966],[-109.999432,48.993083]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"CAN-633","diss_me":633,"iso_3166_2":"CA-BC","wikipedia":"http://en.wikipedia.org/wiki/British_Columbia","iso_a2":"CA","adm0_sr":3,"name":"British Columbia","name_alt":"Colombie britannique|New Caledonia","name_local":null,"type":"Province","type_en":"Province","code_local":null,"code_hasc":"CA.BC","note":null,"hasc_maybe":null,"region":"Western Canada","region_cod":null,"provnum_ne":2,"gadm_level":1,"check_me":20,"datarank":2,"abbrev":"B.C.","postal":"BC","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":16,"mapcolor9":2,"mapcolor13":2,"fips":"CA02","fips_alt":null,"woe_id":2344916,"woe_label":"British Columbia, CA, Canada","woe_name":"British Columbia","latitude":54.6943,"longitude":-124.662,"sov_a3":"CAN","adm0_a3":"CAN","adm0_label":2,"admin":"Canada","geonunit":"Canada","gu_a3":"CAN","gn_id":5909050,"gn_name":"British Columbia","gns_id":-561661,"gns_name":"British Columbia, Province of","gn_level":1,"gn_region":null,"gn_a1_code":"CA.02","region_sub":"British Columbia","sub_code":null,"gns_level":1,"gns_lang":"eng","gns_adm1":"CA02","gns_region":null,"min_label":3.5,"max_label":7.5,"min_zoom":2,"wikidataid":"Q1974","name_ar":"كولومبيا البريطانية","name_bn":"ব্রিটিশ কলাম্বিয়া","name_de":"British Columbia","name_en":"British Columbia","name_es":"Columbia Británica","name_fr":"Colombie-Britannique","name_el":"Βρετανική Κολομβία","name_hi":"ब्रिटिश कोलम्बिया","name_hu":"Brit Columbia","name_id":"British Columbia","name_it":"Columbia Britannica","name_ja":"ブリティッシュコロンビア州","name_ko":"브리티시컬럼비아","name_nl":"Brits-Columbia","name_pl":"Kolumbia Brytyjska","name_pt":"Colúmbia Britânica","name_ru":"Британская Колумбия","name_sv":"British Columbia","name_tr":"Britanya Kolumbiyası","name_vi":"British Columbia","name_zh":"不列颠哥伦比亚","ne_id":1159307717,"name_he":"קולומביה הבריטית","name_uk":"Британська Колумбія","name_ur":"برٹش کولمبیا","name_fa":"بریتیش کلمبیا","name_zht":"不列顛哥倫比亞省","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[-139.056519,48.322785,-114.050602,60.001582],"geometry":{"type":"MultiPolygon","coordinates":[[[[-120,60.001087],[-120.000084,59.616258],[-120.000139,59.231429],[-120.000188,58.846589],[-120.000243,58.46176],[-120.000293,58.07692],[-120.000369,57.692091],[-120.000446,57.30725],[-120.000501,56.922443],[-120.000551,56.537636],[-120.000628,56.152796],[-120.000704,55.767967],[-120.000759,55.383127],[-120.000809,54.998298],[-120.000886,54.613458],[-120.000963,54.228629],[-120.001018,53.843788],[-119.972695,53.797053],[-119.91717,53.769894],[-119.904431,53.723005],[-119.884639,53.707932],[-119.811569,53.698791],[-119.73483,53.633653],[-119.743125,53.61502],[-119.886969,53.614713],[-119.91823,53.61223],[-119.920812,53.602287],[-119.896115,53.566702],[-119.89384,53.51555],[-119.855081,53.508618],[-119.819606,53.490995],[-119.723256,53.399787],[-119.680107,53.37064],[-119.64773,53.363049],[-119.592387,53.372453],[-119.434903,53.361598],[-119.399763,53.352502],[-119.308786,53.241891],[-119.261061,53.209493],[-119.045542,53.143784],[-119.022108,53.139444],[-119.016115,53.204373],[-118.99255,53.235585],[-118.914365,53.21169],[-118.803673,53.153397],[-118.77357,53.121569],[-118.766363,53.065418],[-118.731481,53.057848],[-118.678357,53.025911],[-118.668178,52.971672],[-118.630709,52.909434],[-118.605496,52.895119],[-118.501856,52.888373],[-118.476923,52.878508],[-118.428424,52.83554],[-118.412894,52.784223],[-118.357935,52.741926],[-118.330211,52.708824],[-118.319335,52.674459],[-118.350261,52.62346],[-118.288436,52.562266],[-118.266315,52.518288],[-118.225028,52.482692],[-118.246677,52.440757],[-118.242804,52.408864],[-118.221024,52.3861],[-118.191256,52.384145],[-118.060101,52.41272],[-118.044287,52.42742],[-118.028604,52.465894],[-118.001989,52.485889],[-117.883057,52.430156],[-117.757615,52.394637],[-117.731698,52.383156],[-117.734642,52.35257],[-117.821819,52.272161],[-117.787767,52.232523],[-117.750638,52.207715],[-117.587316,52.141731],[-117.384948,52.144412],[-117.347589,52.15909],[-117.320145,52.155959],[-117.24457,52.047106],[-117.076984,51.926388],[-117.03706,51.885904],[-116.938721,51.735754],[-116.912783,51.713847],[-116.829918,51.715242],[-116.814697,51.721856],[-116.808237,51.752607],[-116.790774,51.770954],[-116.758189,51.788543],[-116.717704,51.799936],[-116.674033,51.790685],[-116.633856,51.758473],[-116.56735,51.650698],[-116.501746,51.614783],[-116.457718,51.57365],[-116.410795,51.543724],[-116.3771,51.497273],[-116.309952,51.447769],[-116.278762,51.347826],[-116.250313,51.322657],[-116.176342,51.297004],[-116.134923,51.26622],[-116.054382,51.236919],[-116.04188,51.229998],[-116.035002,51.217649],[-116.013535,51.150699],[-115.997643,51.129539],[-115.940438,51.102051],[-115.793781,51.070422],[-115.618934,50.962316],[-115.596192,50.936268],[-115.588002,50.909197],[-115.639885,50.869174],[-115.633892,50.855243],[-115.433105,50.756388],[-115.398713,50.731373],[-115.386205,50.726462],[-115.37551,50.727011],[-115.359777,50.728637],[-115.346522,50.728945],[-115.334998,50.719595],[-115.31102,50.696854],[-115.298358,50.673497],[-115.307631,50.65582],[-115.310965,50.642131],[-115.305439,50.634561],[-115.26663,50.59423],[-115.222086,50.562623],[-115.205958,50.553658],[-115.188698,50.557173],[-115.127669,50.584947],[-115.091189,50.584815],[-115.047881,50.577048],[-114.992795,50.545033],[-114.789136,50.359145],[-114.716379,50.129344],[-114.667748,50.060976],[-114.651961,50.019612],[-114.651395,49.985324],[-114.677878,49.954727],[-114.684931,49.93427],[-114.637596,49.796755],[-114.642842,49.730298],[-114.686041,49.643067],[-114.73733,49.603846],[-114.734023,49.587201],[-114.716714,49.568503],[-114.680899,49.55555],[-114.60155,49.55054],[-114.577474,49.543619],[-114.576254,49.518658],[-114.590053,49.451707],[-114.588015,49.420319],[-114.565224,49.393886],[-114.479646,49.333428],[-114.425906,49.27441],[-114.386163,49.25203],[-114.378154,49.232266],[-114.354847,49.210689],[-114.189794,49.168062],[-114.163674,49.14677],[-114.132538,49.094058],[-114.057474,49.037962],[-114.050602,49.014627],[-114.062517,48.993083],[-114.158735,48.993083],[-114.58512,48.993083],[-115.0115,48.993083],[-115.437884,48.993083],[-115.864264,48.993083],[-116.048494,48.993083],[-116.290649,48.993083],[-116.717028,48.993083],[-117.039054,48.993083],[-117.143413,48.993083],[-117.569793,48.993083],[-117.996177,48.993083],[-118.422557,48.993083],[-118.848942,48.993083],[-119.275321,48.993061],[-119.701706,48.993028],[-120.128091,48.993028],[-120.55447,48.993028],[-120.980855,48.993028],[-121.407235,48.993028],[-121.83362,48.993028],[-122.259999,48.993028],[-122.686384,48.993028],[-122.788777,48.993028],[-122.826707,49.028426],[-122.924172,49.074678],[-122.962723,49.074623],[-123.002307,49.060879],[-123.02724,49.038511],[-123.049202,48.993028],[-123.086435,48.993028],[-123.117647,49.056331],[-123.10933,49.084599],[-123.077288,49.118349],[-123.079563,49.130599],[-123.15015,49.121029],[-123.181884,49.129511],[-123.196353,49.147693],[-123.191079,49.219533],[-123.229422,49.260512],[-123.183949,49.277716],[-123.067263,49.29157],[-122.947633,49.293273],[-122.91301,49.323189],[-122.879112,49.398951],[-122.964453,49.329363],[-123.015534,49.322156],[-123.174287,49.348205],[-123.276762,49.343964],[-123.290506,49.359466],[-123.286292,49.374967],[-123.264073,49.390469],[-123.247719,49.443028],[-123.223017,49.590464],[-123.190667,49.644308],[-123.17961,49.673554],[-123.187487,49.680332],[-123.324997,49.577698],[-123.336676,49.545146],[-123.322415,49.516999],[-123.335643,49.4592],[-123.398974,49.441896],[-123.436981,49.4513],[-123.508194,49.402466],[-123.530568,49.397292],[-123.858922,49.482842],[-123.891837,49.494707],[-123.9484,49.534698],[-124.0286,49.602868],[-124.053792,49.661722],[-124.024024,49.711336],[-123.992609,49.736165],[-123.959535,49.736165],[-123.922769,49.717532],[-123.847112,49.636662],[-123.81719,49.586586],[-123.739055,49.593562],[-123.612757,49.657591],[-123.582478,49.681255],[-123.70831,49.656921],[-123.762671,49.658525],[-123.81802,49.685134],[-123.874396,49.736813],[-123.903801,49.795458],[-123.904268,49.981138],[-123.884965,50.017052],[-123.823804,50.043716],[-123.78466,50.088002],[-123.787708,50.106756],[-123.825457,50.14423],[-123.880109,50.17363],[-123.933568,50.188307],[-123.94589,50.183913],[-123.863053,50.10257],[-123.865739,50.072083],[-123.957442,49.992762],[-123.971394,49.969504],[-123.972119,49.89205],[-123.984935,49.87556],[-124.05878,49.853653],[-124.141617,49.792668],[-124.281269,49.772101],[-124.412605,49.778155],[-124.483247,49.808224],[-124.702282,49.957671],[-124.782378,50.020096],[-124.784262,50.072808],[-124.934176,50.258071],[-124.933352,50.297907],[-124.985597,50.355607],[-125.0436,50.363748],[-125.056701,50.418625],[-124.93684,50.537376],[-124.862655,50.637297],[-124.854261,50.668641],[-124.857541,50.717343],[-124.875421,50.825635],[-124.859864,50.872404],[-124.933582,50.810595],[-124.949265,50.764705],[-124.931078,50.718409],[-124.942547,50.665696],[-124.985416,50.591956],[-125.058772,50.513865],[-125.209872,50.476303],[-125.476313,50.497177],[-125.50719,50.507251],[-125.525976,50.534146],[-125.539336,50.64903],[-125.555562,50.634847],[-125.585819,50.573653],[-125.610132,50.486037],[-125.641316,50.466218],[-125.697544,50.46457],[-125.741231,50.478577],[-125.772422,50.508185],[-125.839598,50.510668],[-125.965045,50.487355],[-126.024135,50.496716],[-126.094338,50.497594],[-126.23655,50.52327],[-126.404476,50.529883],[-126.449949,50.549736],[-126.447471,50.58777],[-126.416127,50.606963],[-126.238907,50.623805],[-126.067234,50.664301],[-125.897605,50.684395],[-125.90412,50.704917],[-125.980728,50.711377],[-126.37032,50.666729],[-126.492944,50.672101],[-126.514339,50.679385],[-126.517339,50.724451],[-126.472223,50.767287],[-126.397137,50.807079],[-126.374604,50.837358],[-126.418198,50.850201],[-126.488164,50.841862],[-126.521755,50.866043],[-126.484599,50.960503],[-126.517339,51.056832],[-126.562866,50.965469],[-126.6318,50.915141],[-126.960384,50.893685],[-127.014053,50.866823],[-127.057586,50.867537],[-127.267474,50.916064],[-127.356947,50.945551],[-127.441234,50.989397],[-127.590862,51.087527],[-127.708119,51.151193],[-127.714316,51.268659],[-127.689179,51.343487],[-127.63272,51.427302],[-127.419657,51.60806],[-127.346587,51.642381],[-127.280647,51.654103],[-126.968135,51.669924],[-126.735412,51.69261],[-126.691434,51.70341],[-127.034103,51.716714],[-127.338732,51.707387],[-127.442706,51.678965],[-127.575745,51.56295],[-127.609594,51.514039],[-127.644866,51.478465],[-127.668689,51.477586],[-127.714057,51.490187],[-127.728735,51.505535],[-127.747522,51.54357],[-127.81896,51.603929],[-127.850535,51.673176],[-127.869113,51.775239],[-127.863224,51.820821],[-127.829969,51.879004],[-127.727653,51.993207],[-127.858808,51.990285],[-127.843328,52.086481],[-127.795345,52.191027],[-127.673337,52.252913],[-127.549729,52.297606],[-127.437927,52.35613],[-127.242255,52.395098],[-127.175744,52.314843],[-127.007977,52.290662],[-126.959456,52.254539],[-126.899976,52.188336],[-126.826335,52.125142],[-126.738565,52.064959],[-126.713994,52.060696],[-126.752644,52.112376],[-126.895219,52.225469],[-126.901393,52.265317],[-126.938164,52.308592],[-127.127069,52.370961],[-127.160577,52.394889],[-127.193987,52.457676],[-127.208252,52.498238],[-127.187115,52.537668],[-126.995189,52.657924],[-126.951315,52.721227],[-126.951365,52.751022],[-126.966405,52.784662],[-127.008235,52.84256],[-127.019348,52.842462],[-127.006379,52.754615],[-127.013223,52.719986],[-127.034877,52.681743],[-127.066194,52.652706],[-127.107068,52.632809],[-127.519264,52.359283],[-127.56032,52.34321],[-127.713387,52.318513],[-127.791885,52.289366],[-127.834308,52.251002],[-127.902187,52.150905],[-127.995384,51.950525],[-128.102254,51.788411],[-128.193567,51.998272],[-128.357615,52.158881],[-128.037478,52.31815],[-128.029129,52.342485],[-128.060319,52.427552],[-128.051557,52.453337],[-128.021301,52.490668],[-127.940222,52.54516],[-127.943375,52.550742],[-128.038253,52.531164],[-128.183981,52.407908],[-128.240978,52.368281],[-128.271542,52.363007],[-128.275162,52.435506],[-128.196769,52.623295],[-128.132378,52.805822],[-128.108818,52.85804],[-128.053266,52.910676],[-128.105945,52.906896],[-128.365025,52.825773],[-128.451971,52.876618],[-128.524684,53.140685],[-128.652323,53.243825],[-128.868539,53.328112],[-129.080927,53.367256],[-129.129531,53.442271],[-129.17157,53.533578],[-129.114463,53.641124],[-129.02142,53.692144],[-128.935611,53.715171],[-128.854587,53.704548],[-128.850423,53.665195],[-128.905613,53.559319],[-128.833037,53.549388],[-128.542125,53.420672],[-128.478613,53.410279],[-128.358049,53.459816],[-128.291076,53.457872],[-128.132692,53.417772],[-128.079177,53.369432],[-127.927846,53.274708],[-127.950066,53.329815],[-128.115146,53.445941],[-128.207234,53.483195],[-128.369161,53.49038],[-128.469648,53.470923],[-128.511764,53.476559],[-128.600336,53.506091],[-128.675553,53.554617],[-128.750793,53.660855],[-128.767899,53.710206],[-128.763658,53.7469],[-128.745932,53.780178],[-128.71472,53.809994],[-128.652867,53.831649],[-128.560444,53.845085],[-128.532121,53.858104],[-128.6509,53.918825],[-128.704799,53.918616],[-128.890166,53.829759],[-128.927838,53.822816],[-128.94401,53.84002],[-128.959358,53.84147],[-129.013982,53.797437],[-129.056406,53.777805],[-129.208127,53.641585],[-129.231742,53.576425],[-129.240322,53.479064],[-129.25784,53.41798],[-129.2843,53.393173],[-129.4624,53.346558],[-129.563716,53.251483],[-129.68673,53.333539],[-129.821785,53.412762],[-129.911883,53.551354],[-130.074382,53.575645],[-130.263259,53.654142],[-130.335242,53.723906],[-130.232844,53.867431],[-130.085956,53.975778],[-130.0635,54.105637],[-130.043296,54.133542],[-129.790781,54.165787],[-129.626036,54.230255],[-129.794967,54.236121],[-129.89842,54.226354],[-130.084248,54.181398],[-130.290313,54.270388],[-130.396787,54.351664],[-130.430251,54.421021],[-130.393458,54.479622],[-130.388624,54.539355],[-130.369997,54.620027],[-130.350485,54.655316],[-130.307232,54.700305],[-130.218946,54.730253],[-130.140861,54.822747],[-130.108643,54.887248],[-129.948523,55.081036],[-129.890153,55.164642],[-129.780756,55.280449],[-129.560667,55.462536],[-129.630117,55.45222],[-129.66663,55.436663],[-129.70133,55.438575],[-129.734196,55.457988],[-129.765458,55.498264],[-129.79517,55.559556],[-129.811913,55.532629],[-129.815638,55.417602],[-129.837726,55.31911],[-129.877156,55.250632],[-129.985184,55.111468],[-130.048466,55.057261],[-130.091796,55.107744],[-130.058414,55.194766],[-129.99583,55.264068],[-129.985135,55.358847],[-130.044049,55.471907],[-130.079985,55.562918],[-130.09296,55.631846],[-130.09469,55.694787],[-130.085127,55.751685],[-130.060353,55.813703],[-130.020302,55.880775],[-130.025081,55.888212],[-130.014073,55.950538],[-130.022884,56.014511],[-130.055958,56.065235],[-130.097866,56.10929],[-130.214705,56.082835],[-130.413146,56.122518],[-130.477097,56.230568],[-130.649072,56.26367],[-130.741681,56.340827],[-130.930217,56.378598],[-131.082922,56.404822],[-131.199404,56.449218],[-131.3358,56.501228],[-131.471893,56.55673],[-131.575115,56.598819],[-131.651519,56.596083],[-131.824274,56.589986],[-131.833085,56.684809],[-131.886,56.742114],[-131.866159,56.792838],[-131.962509,56.818699],[-132.104282,56.856789],[-132.062913,56.95337],[-132.03152,57.02655],[-132.157017,57.048193],[-132.337989,57.07946],[-132.279415,57.145345],[-132.232158,57.19853],[-132.301663,57.276324],[-132.44248,57.406732],[-132.550481,57.499907],[-132.691507,57.645113],[-132.815532,57.772697],[-132.916842,57.87698],[-133.001409,57.948973],[-133.120424,58.077744],[-133.275299,58.222851],[-133.422576,58.337065],[-133.401103,58.410882],[-133.546392,58.503486],[-133.673926,58.597144],[-133.820742,58.705052],[-133.965745,58.757863],[-134.069204,58.795535],[-134.218519,58.849896],[-134.296994,58.898499],[-134.329651,58.939709],[-134.363527,58.968724],[-134.393059,59.009165],[-134.410214,59.056241],[-134.440756,59.085333],[-134.621981,59.155305],[-134.677225,59.199283],[-134.802409,59.249974],[-134.907241,59.271211],[-134.94377,59.288272],[-135.071311,59.441433],[-135.050843,59.496057],[-135.03666,59.550703],[-135.05103,59.578663],[-135.260781,59.695008],[-135.367854,59.743304],[-135.475937,59.793281],[-135.70259,59.728758],[-135.934644,59.662642],[-136.097164,59.638374],[-136.321829,59.604832],[-136.247133,59.532905],[-136.277983,59.480324],[-136.347845,59.456034],[-136.466344,59.459088],[-136.466728,59.279945],[-136.578739,59.152251],[-136.81327,59.150031],[-136.93931,59.106108],[-137.126199,59.040948],[-137.277558,58.988214],[-137.438579,58.903125],[-137.520877,58.915374],[-137.484161,58.991235],[-137.543696,59.119445],[-137.593299,59.226254],[-137.696626,59.281131],[-137.870572,59.373581],[-138.001134,59.442938],[-138.187451,59.541947],[-138.317625,59.611117],[-138.453636,59.683385],[-138.632257,59.778285],[-138.705456,59.901331],[-138.868754,59.945749],[-139.043445,59.993243],[-139.056519,60.001582],[-138.095495,60.001087],[-137.143739,60.001087],[-136.191965,60.001087],[-135.240214,60.001087],[-134.288463,60.001087],[-133.33669,60.001087],[-132.384939,60.001087],[-131.433188,60.001087],[-130.481437,60.001087],[-129.529686,60.001087],[-128.577934,60.001087],[-127.626183,60.001087],[-126.674432,60.001087],[-125.722681,60.001087],[-124.770908,60.001087],[-123.819157,60.001087],[-123.34174,60.001087],[-122.864357,60.001087],[-122.386968,60.001087],[-121.909579,60.001087],[-121.432196,60.001087],[-120.954807,60.001087],[-120.477423,60.001087],[-120,60.001087]]],[[[-130.21409,55.025895],[-130.218506,55.060261],[-130.171842,55.137],[-130.036551,55.297917],[-130.039264,55.343598],[-130.059474,55.412307],[-130.120426,55.524411],[-130.140421,55.585034],[-130.146518,55.654489],[-130.137065,55.719385],[-130.111977,55.779799],[-130.07464,55.836027],[-130.025081,55.888212],[-130.091565,55.78616],[-130.122519,55.691019],[-130.109961,55.580947],[-130.068543,55.482839],[-130.037611,55.416459],[-130.021824,55.371767],[-130.014902,55.331667],[-130.017874,55.284942],[-130.063995,55.226066],[-130.21409,55.025895]]],[[[-130.21409,55.025895],[-130.203906,54.947036],[-130.34943,54.814562],[-130.535489,54.748754],[-130.575331,54.769683],[-130.493242,54.834173],[-130.312533,54.945948],[-130.21409,55.025895]]],[[[-130.927169,54.479051],[-130.950273,54.477766],[-130.959029,54.498694],[-130.953448,54.541838],[-130.921769,54.614908],[-130.906811,54.631805],[-130.777079,54.618885],[-130.758007,54.613776],[-130.753436,54.599714],[-130.763357,54.576719],[-130.805138,54.543804],[-130.927169,54.479051]]],[[[-132.655516,54.127466],[-132.564049,54.068635],[-132.344421,54.106054],[-132.303365,54.098869],[-132.261639,54.076336],[-132.215903,54.028436],[-132.166086,53.955212],[-132.155105,53.875209],[-132.175106,53.846535],[-132.214508,53.814752],[-132.564873,53.687629],[-132.574096,53.675379],[-132.56712,53.663964],[-132.534644,53.651714],[-132.464414,53.653318],[-132.186965,53.684838],[-132.171667,53.706855],[-132.152238,53.806995],[-132.114022,53.86018],[-132.11061,53.90028],[-132.135906,53.99585],[-132.134412,54.034269],[-131.940828,54.041971],[-131.819648,54.077325],[-131.695937,54.143155],[-131.667642,54.141342],[-131.685395,54.0228],[-131.702551,53.986391],[-131.821121,53.841525],[-131.889153,53.713985],[-131.922305,53.587895],[-131.928067,53.379221],[-131.957417,53.308688],[-132.011316,53.265171],[-132.347289,53.189212],[-132.520461,53.194068],[-132.674819,53.263205],[-132.747526,53.31049],[-132.692567,53.36785],[-132.654791,53.370541],[-132.546218,53.35928],[-132.462398,53.337879],[-132.425012,53.336956],[-132.431345,53.350436],[-132.670166,53.458597],[-132.845013,53.507695],[-132.897979,53.56267],[-132.899583,53.605385],[-132.913381,53.629182],[-133.052238,53.778112],[-133.079467,53.837021],[-133.097661,53.920275],[-133.097941,54.005595],[-133.063861,54.144056],[-133.048387,54.15892],[-132.991461,54.157833],[-132.893073,54.140782],[-132.655516,54.127466]]],[[[-130.236282,53.958563],[-130.267236,53.922604],[-130.337571,53.866277],[-130.38423,53.843953],[-130.40723,53.855522],[-130.470247,53.861773],[-130.537478,53.917847],[-130.589828,53.94027],[-130.624633,53.941413],[-130.641837,53.921154],[-130.646281,53.894018],[-130.637909,53.860015],[-130.643699,53.844514],[-130.663596,53.847568],[-130.683437,53.863454],[-130.703179,53.892216],[-130.707261,53.921495],[-130.695687,53.951257],[-130.646902,53.99128],[-130.494615,54.074172],[-130.448,54.089003],[-130.397309,54.085696],[-130.315862,54.046937],[-130.298503,54.035665],[-130.236282,53.958563]]],[[[-129.848608,53.167921],[-129.868553,53.164504],[-129.934389,53.176655],[-130.151402,53.345679],[-130.305683,53.40739],[-130.41074,53.490842],[-130.51756,53.544224],[-130.451982,53.631148],[-130.394826,53.620392],[-130.195018,53.549673],[-130.035392,53.481108],[-129.944749,53.436371],[-129.754839,53.244759],[-129.768946,53.217271],[-129.848608,53.167921]]],[[[-129.167741,53.1179],[-129.173245,53.110759],[-129.27683,53.110923],[-129.305718,53.121152],[-129.323884,53.142136],[-129.331272,53.173963],[-129.314376,53.212305],[-129.253088,53.285485],[-129.251149,53.316697],[-129.238202,53.330079],[-129.195207,53.293231],[-129.177019,53.259151],[-129.167741,53.1179]]],[[[-128.55243,52.939767],[-128.506567,52.620713],[-128.509929,52.518607],[-128.576825,52.451788],[-128.624006,52.339903],[-128.678937,52.289651],[-128.730925,52.356525],[-128.735572,52.467707],[-128.74942,52.55607],[-128.766449,52.598389],[-128.746322,52.763393],[-128.769651,52.751198],[-128.831202,52.678798],[-128.899828,52.673843],[-129.02287,52.755955],[-129.084701,52.822455],[-129.094852,52.891867],[-129.175931,52.964937],[-129.184303,52.990667],[-129.177689,53.017902],[-129.111079,53.090665],[-129.084108,53.139708],[-129.060333,53.240628],[-129.03323,53.279948],[-128.970234,53.274367],[-128.857712,53.228587],[-128.740378,53.178874],[-128.632685,53.112516],[-128.55243,52.939767]]],[[[-131.753736,53.195562],[-131.652321,53.102958],[-131.622169,53.020045],[-131.634672,52.922167],[-131.795259,52.885045],[-131.879694,52.914653],[-131.916334,52.909127],[-131.971782,52.879826],[-131.904397,52.866697],[-131.810063,52.818687],[-131.727303,52.756417],[-131.610617,52.7452],[-131.455226,52.701694],[-131.572819,52.623328],[-131.590594,52.578207],[-131.443883,52.453337],[-131.429958,52.422125],[-131.38298,52.41572],[-131.273611,52.425816],[-131.259736,52.415917],[-131.259939,52.390034],[-131.327071,52.317535],[-131.319935,52.303066],[-131.259164,52.29164],[-131.142638,52.291124],[-131.11615,52.219086],[-131.221547,52.153641],[-131.421872,52.238005],[-131.511141,52.322083],[-131.562041,52.399954],[-131.623691,52.443987],[-131.809673,52.5417],[-132.092214,52.752802],[-132.165108,52.783289],[-132.238563,52.866796],[-132.259986,52.906973],[-132.258124,52.933901],[-132.229548,52.948084],[-132.144926,52.957488],[-132.143762,52.999302],[-132.468677,53.071856],[-132.504855,53.086732],[-132.54679,53.137477],[-132.524207,53.144926],[-132.345432,53.136082],[-132.153891,53.160472],[-132.035914,53.179127],[-131.989481,53.201967],[-131.89313,53.231432],[-131.853442,53.229719],[-131.753736,53.195562]]],[[[-129.313705,52.992194],[-129.328691,52.984207],[-129.370032,52.997588],[-129.40972,53.023736],[-129.477775,53.09774],[-129.500154,53.128897],[-129.514722,53.17939],[-129.501083,53.188333],[-129.47142,53.183038],[-129.450749,53.174688],[-129.343495,53.052784],[-129.313705,52.992194]]],[[[-128.93688,52.510026],[-128.968713,52.464235],[-129.102323,52.574362],[-129.151025,52.605322],[-129.250501,52.722161],[-129.267788,52.772391],[-129.263525,52.800779],[-129.245958,52.811249],[-129.215054,52.803856],[-129.186165,52.791243],[-128.994009,52.661692],[-128.940313,52.600718],[-128.93688,52.510026]]],[[[-128.368777,52.400888],[-128.445384,52.387496],[-128.41988,52.441087],[-128.412519,52.47287],[-128.42629,52.502742],[-128.435925,52.560355],[-128.439803,52.696365],[-128.364871,52.781894],[-128.247284,52.784377],[-128.248421,52.741222],[-128.298157,52.54827],[-128.323766,52.458973],[-128.343558,52.426047],[-128.368777,52.400888]]],[[[-131.029308,51.961633],[-131.047244,51.959699],[-131.080521,51.980419],[-131.103439,52.013884],[-131.117314,52.101005],[-131.107108,52.136557],[-131.098116,52.150619],[-131.010654,52.09527],[-131.029308,51.961633]]],[[[-127.924643,51.473862],[-127.941282,51.457173],[-127.981228,51.457217],[-128.044554,51.474015],[-128.091789,51.511116],[-128.148786,51.626692],[-128.142403,51.646589],[-128.122771,51.666793],[-128.031716,51.70842],[-127.998691,51.703816],[-127.98681,51.673593],[-127.932493,51.605478],[-127.916371,51.585428],[-127.916321,51.506205],[-127.924643,51.473862]]],[[[-127.197321,50.640373],[-126.700942,50.515524],[-126.203866,50.453847],[-125.839164,50.380799],[-125.615224,50.35853],[-125.534348,50.342478],[-125.482075,50.31677],[-125.420453,50.254654],[-125.313946,50.106712],[-125.23318,50.012218],[-125.066418,49.848193],[-124.934643,49.731639],[-124.904617,49.685364],[-124.932418,49.670456],[-124.930666,49.643177],[-124.830619,49.530105],[-124.642851,49.428658],[-124.495937,49.380296],[-124.185902,49.300579],[-123.995811,49.224026],[-123.937155,49.17082],[-123.8545,49.119173],[-123.820036,49.083511],[-123.752283,48.951225],[-123.626583,48.824047],[-123.497032,48.582095],[-123.472846,48.60231],[-123.457965,48.674391],[-123.443056,48.690486],[-123.415459,48.698188],[-123.389877,48.670205],[-123.366317,48.606463],[-123.283788,48.455181],[-123.31066,48.411027],[-123.334533,48.406479],[-123.445896,48.427221],[-123.484552,48.400096],[-123.536457,48.344955],[-123.573151,48.322785],[-123.594618,48.33354],[-123.916924,48.38656],[-124.11526,48.436427],[-124.376202,48.515254],[-124.689384,48.597289],[-124.868236,48.653594],[-125.017221,48.711492],[-125.120729,48.760799],[-125.140263,48.802657],[-125.135687,48.822399],[-124.934747,48.956344],[-124.849658,49.028272],[-124.817029,49.083313],[-124.80023,49.141552],[-124.812634,49.212655],[-124.820747,49.207129],[-124.838732,49.139069],[-124.868318,49.078501],[-124.904463,49.031008],[-124.927359,49.01422],[-125.168218,48.991017],[-125.36273,48.998246],[-125.460295,48.94104],[-125.489441,48.933811],[-125.543131,48.952829],[-125.660487,49.029151],[-125.82854,49.091839],[-125.811956,49.107231],[-125.702296,49.139201],[-125.644261,49.185783],[-125.654648,49.193221],[-125.693694,49.190386],[-125.728031,49.199834],[-125.796399,49.260193],[-125.835439,49.276684],[-125.918353,49.249504],[-125.951636,49.248053],[-125.983832,49.287901],[-125.937683,49.379779],[-125.935409,49.401477],[-126.020312,49.367991],[-126.048321,49.378999],[-126.074908,49.408772],[-126.099842,49.421275],[-126.16883,49.415177],[-126.243609,49.442665],[-126.269701,49.431866],[-126.279627,49.392183],[-126.304484,49.382054],[-126.418583,49.449026],[-126.444527,49.451114],[-126.49987,49.399928],[-126.519146,49.396775],[-126.548551,49.418946],[-126.563717,49.543278],[-126.557488,49.578599],[-126.54191,49.590464],[-126.442791,49.619292],[-126.1578,49.650153],[-126.134081,49.672312],[-126.347578,49.660843],[-126.403158,49.67774],[-126.462764,49.720224],[-126.525243,49.719598],[-126.558263,49.733396],[-126.592886,49.764092],[-126.683117,49.876438],[-126.744607,49.904915],[-126.849356,49.922823],[-126.90331,49.944136],[-126.926096,49.934732],[-126.947959,49.902696],[-126.9771,49.8828],[-127.048753,49.871528],[-127.114303,49.879745],[-127.165516,49.910441],[-127.195876,49.949146],[-127.2075,49.992432],[-127.179078,50.050275],[-127.179622,50.073116],[-127.192333,50.099889],[-127.21569,50.121488],[-127.249797,50.138001],[-127.268403,50.129344],[-127.271556,50.09555],[-127.290029,50.070842],[-127.349432,50.051956],[-127.397904,50.085003],[-127.429764,50.130838],[-127.467151,50.163445],[-127.674836,50.163346],[-127.770439,50.121126],[-127.816302,50.11772],[-127.863894,50.12774],[-127.872991,50.150119],[-127.828161,50.211401],[-127.83917,50.293205],[-127.850848,50.313727],[-127.946682,50.32623],[-127.962931,50.345972],[-127.905884,50.44519],[-127.873996,50.463943],[-127.831518,50.47103],[-127.641427,50.479093],[-127.578151,50.464932],[-127.486503,50.404628],[-127.489343,50.427359],[-127.524021,50.495727],[-127.529004,50.536761],[-127.465937,50.583112],[-127.526241,50.59668],[-127.751471,50.607348],[-127.749692,50.57774],[-127.731163,50.535728],[-127.864696,50.49888],[-127.963656,50.492629],[-128.058353,50.498473],[-128.135636,50.520534],[-128.267439,50.60926],[-128.349886,50.696601],[-128.346035,50.744238],[-128.300843,50.794159],[-128.241572,50.828162],[-128.10132,50.85777],[-127.918079,50.860539],[-127.713052,50.820746],[-127.197321,50.640373]]],[[[-125.184137,50.097121],[-125.19509,50.044332],[-125.259558,50.130014],[-125.358468,50.311508],[-125.34529,50.353959],[-125.301158,50.414076],[-125.260953,50.417801],[-125.195996,50.389742],[-125.139488,50.339721],[-125.126491,50.320264],[-125.091429,50.267782],[-125.074015,50.220651],[-125.113006,50.1635],[-125.184137,50.097121]]],[[[-124.977742,50.02961],[-125.001566,50.020777],[-125.025956,50.134101],[-124.995672,50.175179],[-124.986993,50.195855],[-124.990816,50.217146],[-124.937845,50.165928],[-124.9164,50.131563],[-124.907462,50.08397],[-124.90844,50.071314],[-124.977742,50.02961]]],[[[-126.641231,49.605812],[-126.680425,49.601363],[-126.743421,49.613459],[-126.814217,49.642089],[-126.938549,49.718466],[-126.951266,49.735704],[-126.940049,49.75048],[-126.904859,49.762807],[-126.89685,49.782901],[-126.925838,49.837734],[-126.826076,49.872352],[-126.738125,49.843677],[-126.698124,49.808488],[-126.649911,49.7458],[-126.628185,49.675158],[-126.625779,49.626785],[-126.641231,49.605812]]],[[[-124.153685,49.53116],[-124.139809,49.510341],[-124.362326,49.58819],[-124.457204,49.634201],[-124.49397,49.667456],[-124.517821,49.68632],[-124.630942,49.735704],[-124.649855,49.758357],[-124.62329,49.775101],[-124.547171,49.764916],[-124.421493,49.727771],[-124.309153,49.667303],[-124.153685,49.53116]]],[[[-126.092063,49.353995],[-126.064032,49.26361],[-126.186815,49.278101],[-126.229629,49.295646],[-126.231436,49.339053],[-126.208546,49.379779],[-126.115294,49.365047],[-126.092063,49.353995]]],[[[-123.372359,48.886109],[-123.384812,48.87521],[-123.541032,48.945951],[-123.645628,49.03861],[-123.689238,49.095091],[-123.482327,48.954707],[-123.377918,48.908224],[-123.372359,48.886109]]],[[[-123.435382,48.754438],[-123.477262,48.728763],[-123.499614,48.732168],[-123.517522,48.750153],[-123.582346,48.925802],[-123.554677,48.922078],[-123.467858,48.86741],[-123.487545,48.845723],[-123.422743,48.793351],[-123.406801,48.756064],[-123.435382,48.754438]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"CAN-630","diss_me":630,"iso_3166_2":"CA-MB","wikipedia":"http://en.wikipedia.org/wiki/Manitoba","iso_a2":"CA","adm0_sr":1,"name":"Manitoba","name_alt":null,"name_local":null,"type":"Province","type_en":"Province","code_local":null,"code_hasc":"CA.MB","note":null,"hasc_maybe":null,"region":"Western Canada","region_cod":null,"provnum_ne":11,"gadm_level":1,"check_me":20,"datarank":2,"abbrev":"Man.","postal":"MB","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":8,"mapcolor9":2,"mapcolor13":2,"fips":"CA03","fips_alt":null,"woe_id":2344917,"woe_label":"Manitoba, CA, Canada","woe_name":"Manitoba","latitude":54.85,"longitude":-97.3828,"sov_a3":"CAN","adm0_a3":"CAN","adm0_label":2,"admin":"Canada","geonunit":"Canada","gu_a3":"CAN","gn_id":6065171,"gn_name":"Manitoba","gns_id":-568643,"gns_name":"Manitoba, Province de","gn_level":1,"gn_region":null,"gn_a1_code":"CA.03","region_sub":"Prairies","sub_code":null,"gns_level":1,"gns_lang":"fra","gns_adm1":"CA03","gns_region":null,"min_label":3.5,"max_label":7.5,"min_zoom":2,"wikidataid":"Q1948","name_ar":"مانيتوبا","name_bn":"ম্যানিটোবা","name_de":"Manitoba","name_en":"Manitoba","name_es":"Manitoba","name_fr":"Manitoba","name_el":"Μανιτόμπα","name_hi":"मानिटोबा","name_hu":"Manitoba","name_id":"Manitoba","name_it":"Manitoba","name_ja":"マニトバ州","name_ko":"매니토바","name_nl":"Manitoba","name_pl":"Manitoba","name_pt":"Manitoba","name_ru":"Манитоба","name_sv":"Manitoba","name_tr":"Manitoba","name_vi":"Manitoba","name_zh":"曼尼托巴","ne_id":1159308777,"name_he":"מניטובה","name_uk":"Манітоба","name_ur":"مانیٹوبا","name_fa":"مانیتوبا","name_zht":"曼尼托巴省","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[-102.001649,48.991764,-88.948495,60.001768],"geometry":{"type":"Polygon","coordinates":[[[-88.948495,56.851307],[-89.205224,56.69484],[-89.463688,56.535252],[-89.722141,56.375676],[-89.980573,56.216099],[-90.330037,55.991341],[-90.679501,55.766572],[-91.028987,55.54178],[-91.378451,55.317011],[-91.683882,55.10793],[-91.989335,54.89885],[-92.294777,54.689758],[-92.600208,54.480677],[-92.855206,54.297513],[-93.110204,54.114316],[-93.365224,53.93113],[-93.620223,53.747933],[-94.003634,53.51655],[-94.387024,53.285167],[-94.770409,53.053762],[-95.153826,52.822357],[-95.154782,52.390967],[-95.15571,51.959512],[-95.156639,51.528068],[-95.157572,51.096624],[-95.158501,50.66518],[-95.159429,50.233758],[-95.160363,49.802336],[-95.155298,49.369672],[-95.158243,49.203097],[-95.162044,48.991764],[-95.39792,48.993182],[-95.8243,48.993182],[-96.250685,48.993182],[-96.677064,48.993182],[-97.103449,48.993182],[-97.225738,48.993182],[-97.529828,48.993182],[-97.956213,48.993182],[-98.382593,48.993182],[-98.808978,48.99316],[-99.235357,48.993138],[-99.661742,48.993138],[-100.088121,48.993138],[-100.514506,48.993138],[-100.940886,48.993138],[-101.367271,48.993138],[-101.404218,49.42055],[-101.44401,49.847039],[-101.483803,50.273473],[-101.52359,50.699952],[-101.563382,51.126419],[-101.603174,51.552875],[-101.642961,51.979332],[-101.682754,52.405799],[-101.722546,52.832255],[-101.762333,53.258712],[-101.802126,53.685201],[-101.841918,54.111657],[-101.881711,54.538113],[-101.921498,54.964603],[-101.96129,55.391037],[-102.001105,55.817526],[-102.001132,56.079001],[-102.001182,56.340465],[-102.001209,56.601917],[-102.001237,56.863403],[-102.001286,57.124888],[-102.001314,57.386363],[-102.001341,57.647849],[-102.00139,57.909279],[-102.001418,58.170765],[-102.001445,58.432251],[-102.001495,58.693725],[-102.001522,58.955211],[-102.001544,59.216696],[-102.001599,59.478149],[-102.001621,59.739613],[-102.001649,60.001087],[-101.551731,60.001087],[-101.101808,60.001087],[-100.651885,60.001087],[-100.201967,60.001087],[-99.752044,60.001087],[-99.302126,60.001087],[-98.852176,60.001087],[-98.402258,60.001087],[-97.952335,60.001087],[-97.50239,60.001087],[-97.052467,60.001087],[-96.602549,60.001087],[-96.152626,60.001087],[-95.702709,60.001087],[-95.252785,60.001087],[-94.771886,60.001768],[-94.785812,59.953341],[-94.776638,59.478127],[-94.788267,59.26786],[-94.819556,59.151328],[-94.870252,59.08797],[-94.957352,59.068853],[-94.84661,59.050352],[-94.776171,59.020579],[-94.743772,58.975415],[-94.713384,58.903333],[-94.673388,58.8701],[-94.62373,58.875736],[-94.579181,58.868452],[-94.539701,58.848369],[-94.419242,58.745515],[-94.287054,58.716005],[-94.280803,58.658931],[-94.332637,58.339097],[-94.332219,58.297371],[-94.272146,58.378044],[-94.208919,58.626346],[-94.123188,58.736704],[-94.055754,58.760028],[-93.780035,58.772541],[-93.486173,58.744482],[-93.375046,58.74101],[-93.278125,58.756413],[-93.178753,58.725618],[-93.154567,58.69456],[-93.126508,58.564383],[-93.100201,58.489863],[-92.92515,58.22451],[-92.84177,58.075887],[-92.739839,57.844043],[-92.701672,57.777762],[-92.489647,57.468585],[-92.449388,57.384847],[-92.432804,57.320324],[-92.43978,57.275061],[-92.478353,57.205297],[-92.548479,57.110936],[-92.614111,57.03903],[-92.675244,56.989548],[-92.738004,56.952645],[-92.802389,56.92831],[-92.798154,56.921949],[-92.725293,56.933529],[-92.650981,56.958281],[-92.510318,57.022309],[-92.456314,57.036723],[-92.303352,57.045875],[-92.298287,57.022749],[-92.372132,56.975123],[-92.355702,56.970574],[-92.249041,57.008972],[-92.01802,57.06375],[-91.111286,57.241212],[-90.897448,57.256922],[-90.592193,57.224469],[-90.344813,57.149069],[-90.075165,57.051917],[-89.790839,56.98133],[-89.342311,56.915412],[-89.211552,56.883815],[-88.948495,56.851307]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"CAN-684","diss_me":684,"iso_3166_2":"CA-NB","wikipedia":"http://en.wikipedia.org/wiki/New_Brunswick","iso_a2":"CA","adm0_sr":5,"name":"New Brunswick","name_alt":"Nouveau-Brunswick|Acadia","name_local":null,"type":"Province","type_en":"Province","code_local":null,"code_hasc":"CA.NB","note":null,"hasc_maybe":null,"region":"Eastern Canada","region_cod":null,"provnum_ne":10,"gadm_level":1,"check_me":20,"datarank":2,"abbrev":"N.B.","postal":"NB","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":13,"mapcolor9":2,"mapcolor13":2,"fips":"CA04","fips_alt":null,"woe_id":2344918,"woe_label":"New Brunswick, CA, Canada","woe_name":"New Brunswick","latitude":46.5822,"longitude":-66.4558,"sov_a3":"CAN","adm0_a3":"CAN","adm0_label":2,"admin":"Canada","geonunit":"Canada","gu_a3":"CAN","gn_id":6087430,"gn_name":"New Brunswick","gns_id":-570089,"gns_name":"New Brunswick, Province of","gn_level":1,"gn_region":null,"gn_a1_code":"CA.04","region_sub":"Atlantic Canada","sub_code":null,"gns_level":1,"gns_lang":"eng","gns_adm1":"CA04","gns_region":null,"min_label":3.5,"max_label":7.5,"min_zoom":2,"wikidataid":"Q1965","name_ar":"نيو برونزويك","name_bn":"নিউ ব্রান্সউইক","name_de":"New Brunswick","name_en":"New Brunswick","name_es":"Nuevo Brunswick","name_fr":"Nouveau-Brunswick","name_el":"Νιου Μπράνσγουικ","name_hi":"न्यू ब्रंसविक","name_hu":"Új-Brunswick","name_id":"New Brunswick","name_it":"Nuovo Brunswick","name_ja":"ニュー・ブランズウィック州","name_ko":"뉴브런즈윅","name_nl":"New Brunswick","name_pl":"Nowy Brunszwik","name_pt":"Novo Brunswick","name_ru":"Нью-Брансуик","name_sv":"New Brunswick","name_tr":"New Brunswick","name_vi":"New Brunswick","name_zh":"新不伦瑞克","ne_id":1159308785,"name_he":"ניו ברנזוויק","name_uk":"Нью-Брансвік","name_ur":"نیو برنزویک","name_fa":"نیوبرانزویک","name_zht":"新不倫瑞克","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[-69.05366,44.628907,-63.831913,48.066968],"geometry":{"type":"MultiPolygon","coordinates":[[[[-64.030942,46.012668],[-64.051354,45.977863],[-64.159592,45.964789],[-64.216468,45.900794],[-64.272839,45.849861],[-64.314653,45.835678],[-64.404048,45.826922],[-64.482238,45.806355],[-64.536335,45.866604],[-64.632685,45.946651],[-64.642045,45.913318],[-64.593672,45.813694],[-64.778517,45.638429],[-64.897895,45.626004],[-65.057284,45.544243],[-65.282339,45.473085],[-65.545012,45.337283],[-65.884478,45.222904],[-65.955604,45.222465],[-66.109753,45.316618],[-66.066631,45.359453],[-66.026586,45.417593],[-66.064907,45.40085],[-66.089736,45.375625],[-66.182724,45.335218],[-66.107358,45.256929],[-66.143733,45.227606],[-66.251553,45.189022],[-66.351968,45.133212],[-66.439837,45.095902],[-66.510951,45.143341],[-66.707167,45.0834],[-66.872479,45.067272],[-66.908184,45.097638],[-66.918698,45.145616],[-66.976574,45.157195],[-67.084064,45.143968],[-67.124835,45.169445],[-67.170988,45.182002],[-67.213231,45.192538],[-67.249584,45.200778],[-67.270722,45.186704],[-67.290662,45.167918],[-67.315294,45.153833],[-67.36694,45.173784],[-67.399778,45.21016],[-67.452601,45.247678],[-67.472541,45.275891],[-67.461972,45.308708],[-67.438516,45.340381],[-67.427947,45.377954],[-67.453754,45.421262],[-67.477221,45.445905],[-67.493657,45.474074],[-67.48779,45.501045],[-67.454919,45.513965],[-67.424432,45.530401],[-67.413863,45.56559],[-67.43265,45.603108],[-67.4497,45.607939],[-67.460938,45.64165],[-67.480078,45.683057],[-67.532715,45.642529],[-67.600439,45.637305],[-67.707764,45.69209],[-67.787061,45.758984],[-67.800698,45.755503],[-67.799911,45.76976],[-67.791694,45.795578],[-67.775258,45.81788],[-67.774105,45.842522],[-67.781125,45.860144],[-67.782289,45.874174],[-67.777609,45.891796],[-67.767051,45.926985],[-67.78464,45.952803],[-67.786475,46.042155],[-67.789914,46.209323],[-67.792518,46.337379],[-67.795836,46.498406],[-67.797692,46.61563],[-67.800351,46.779854],[-67.802856,46.935739],[-67.806789,47.082813],[-67.934835,47.167616],[-68.096795,47.274843],[-68.235497,47.345946],[-68.310886,47.354472],[-68.358017,47.344529],[-68.376902,47.316151],[-68.480383,47.285796],[-68.668546,47.253442],[-68.828715,47.203322],[-68.887415,47.202827],[-68.937183,47.211254],[-69.00309,47.236446],[-69.048574,47.273656],[-69.05366,47.294585],[-68.628467,47.420697],[-68.496016,47.480309],[-68.429637,47.528188],[-68.393679,47.563146],[-68.37921,47.588986],[-68.378814,47.691873],[-68.378528,47.765152],[-68.378254,47.83842],[-68.377913,47.929375],[-68.252493,47.929375],[-68.113516,47.929375],[-68.113516,47.998567],[-68.023417,47.998567],[-67.913444,47.998567],[-67.739322,47.998567],[-67.612891,47.998567],[-67.609463,47.968827],[-67.579042,47.939505],[-67.364853,47.8548],[-67.307054,47.887232],[-67.187237,47.894076],[-67.057576,47.918576],[-66.951822,47.899449],[-66.925026,47.96351],[-66.842684,47.997897],[-66.704377,48.022441],[-66.631559,48.01107],[-66.428785,48.066968],[-66.359615,48.060662],[-66.210212,47.988592],[-65.849388,47.911028],[-65.755718,47.859744],[-65.666454,47.696158],[-65.60726,47.67001],[-65.483521,47.687017],[-65.34394,47.767942],[-65.228155,47.811272],[-65.001683,47.846846],[-65.046386,47.793002],[-64.873967,47.797243],[-64.703228,47.724843],[-64.766301,47.673471],[-64.852159,47.569859],[-64.912177,47.368633],[-65.086124,47.233809],[-65.318902,47.101204],[-65.260224,47.069245],[-65.192065,47.049579],[-65.042409,47.0888],[-64.942433,47.086175],[-64.831417,47.060796],[-64.865881,46.957832],[-64.905772,46.887937],[-64.882547,46.822832],[-64.816706,46.698698],[-64.72586,46.671441],[-64.689506,46.512304],[-64.641342,46.425589],[-64.647857,46.355979],[-64.556857,46.311441],[-64.541509,46.240326],[-64.211843,46.220232],[-64.144991,46.192887],[-63.915915,46.165817],[-63.872629,46.146173],[-63.831913,46.107161],[-64.056397,46.021347],[-64.030942,46.012668]]],[[[-64.476086,47.958885],[-64.591299,47.907205],[-64.540707,47.984977],[-64.51957,48.005082],[-64.50019,48.013761],[-64.481282,48.006939],[-64.476086,47.958885]]],[[[-64.508561,47.886737],[-64.533907,47.813777],[-64.62127,47.751913],[-64.664622,47.747607],[-64.684573,47.753594],[-64.660491,47.793573],[-64.663282,47.863018],[-64.591091,47.872477],[-64.564866,47.866281],[-64.508561,47.886737]]],[[[-66.762483,44.681773],[-66.897044,44.628907],[-66.844705,44.763939],[-66.802166,44.80538],[-66.745433,44.791405],[-66.753365,44.709799],[-66.762483,44.681773]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"CAN-686","diss_me":686,"iso_3166_2":"CA-NL","wikipedia":"http://en.wikipedia.org/wiki/Newfoundland_and_Labrador","iso_a2":"CA","adm0_sr":6,"name":"Newfoundland and Labrador","name_alt":"Newfoundland|Terre-Neuve|Terre-Neuve-et-Labrador","name_local":null,"type":"Province","type_en":"Province","code_local":null,"code_hasc":"CA.NF","note":null,"hasc_maybe":null,"region":"Eastern Canada","region_cod":null,"provnum_ne":6,"gadm_level":1,"check_me":20,"datarank":2,"abbrev":"N.L.","postal":"NL","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":25,"mapcolor9":2,"mapcolor13":2,"fips":"CA05","fips_alt":null,"woe_id":2344919,"woe_label":"Newfoundland and Labrador, CA, Canada","woe_name":"Newfoundland and Labrador","latitude":48.6598,"longitude":-56.2169,"sov_a3":"CAN","adm0_a3":"CAN","adm0_label":2,"admin":"Canada","geonunit":"Canada","gu_a3":"CAN","gn_id":6354959,"gn_name":"Newfoundland and Labrador","gns_id":-570103,"gns_name":"Newfoundland and Labrador, Province of","gn_level":1,"gn_region":null,"gn_a1_code":"CA.05","region_sub":"Atlantic Canada","sub_code":null,"gns_level":1,"gns_lang":"eng","gns_adm1":"CA05","gns_region":null,"min_label":3.5,"max_label":7.5,"min_zoom":2,"wikidataid":"Q2003","name_ar":"نيوفندلاند ولابرادور","name_bn":"নিউফাউন্ডল্যান্ড ও লাব্রাডর","name_de":"Neufundland und Labrador","name_en":"Newfoundland and Labrador","name_es":"Terranova y Labrador","name_fr":"Terre-Neuve-et-Labrador","name_el":"Νέα Γη και Λαμπραντόρ","name_hi":"न्यूफाउंडलैंड और लैब्राडोर","name_hu":"Új-Fundland és Labrador","name_id":"Newfoundland dan Labrador","name_it":"Terranova e Labrador","name_ja":"ニューファンドランド・ラブラドール州","name_ko":"뉴펀들랜드래브라도","name_nl":"Newfoundland en Labrador","name_pl":"Nowa Fundlandia i Labrador","name_pt":"Terra Nova e Labrador","name_ru":"Ньюфаундленд и Лабрадор","name_sv":"Newfoundland och Labrador","name_tr":"Newfoundland ve Labrador","name_vi":"Newfoundland và Labrador","name_zh":"纽芬兰-拉布拉多","ne_id":1159308713,"name_he":"ניופאונדלנד ולברדור","name_uk":"Ньюфаундленд і Лабрадор","name_ur":"نیو فاؤنڈ لینڈ اور لیبراڈور","name_fa":"نیوفاندلند و لابرادور","name_zht":"紐芬蘭-拉布拉多","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[-67.76147,46.628286,-52.653654,60.30598],"geometry":{"type":"MultiPolygon","coordinates":[[[[-57.100128,51.443342],[-57.100974,51.710694],[-57.101029,52.001117],[-57.507622,52.001085],[-57.914215,52.001063],[-58.320797,52.001063],[-58.727412,52.001041],[-59.134038,52.001008],[-59.54062,52.001008],[-59.947213,52.000986],[-60.353806,52.000964],[-60.7604,52.000964],[-61.166982,52.000931],[-61.573575,52.000909],[-61.98019,52.000909],[-62.386805,52.000854],[-62.793398,52.000854],[-63.199991,52.000854],[-63.606573,52.000832],[-63.756899,52.010522],[-63.783365,52.020442],[-63.792198,52.044063],[-63.785507,52.050776],[-63.70401,52.04837],[-63.664295,52.060125],[-63.668019,52.094183],[-63.683752,52.138029],[-63.765589,52.297529],[-63.883956,52.344924],[-63.935492,52.380937],[-63.942787,52.418093],[-63.951104,52.428793],[-64.06167,52.457753],[-64.066164,52.465894],[-64.059418,52.48512],[-64.017615,52.525473],[-63.955466,52.565606],[-63.898545,52.589249],[-63.810677,52.611254],[-63.522549,52.648805],[-63.42276,52.669888],[-63.409687,52.688719],[-63.550246,52.774149],[-63.563484,52.796989],[-63.566791,52.825872],[-63.548697,52.939712],[-63.554585,52.964311],[-63.606188,53.034854],[-63.671612,53.100739],[-63.722544,53.109188],[-63.798965,53.104299],[-63.90506,53.076921],[-63.917464,53.065594],[-63.973373,52.895064],[-64.007892,52.878222],[-64.139366,52.854239],[-64.178477,52.815325],[-64.187211,52.625965],[-64.183465,52.554158],[-64.103188,52.378487],[-64.130676,52.186688],[-64.15957,52.148027],[-64.259611,52.099511],[-64.270828,52.083229],[-64.32142,51.929651],[-64.334571,51.841904],[-64.326067,51.81146],[-64.289373,51.769086],[-64.290516,51.728777],[-64.506342,51.608895],[-64.598012,51.600369],[-64.697416,51.720461],[-64.702327,51.745422],[-64.692736,51.762626],[-64.638969,51.790532],[-64.626719,51.825314],[-64.657964,51.848561],[-64.764642,51.905416],[-64.93215,52.055016],[-65.03618,52.113464],[-65.137133,52.154695],[-65.268156,52.185215],[-65.398047,52.202958],[-65.4521,52.202914],[-65.474271,52.196246],[-65.551647,52.093952],[-65.589144,52.073364],[-65.6311,52.0731],[-65.690635,52.093589],[-65.780558,52.103895],[-65.805904,52.063696],[-65.8268,52.05238],[-65.882929,52.054214],[-65.97884,52.080746],[-66.035782,52.109245],[-66.096965,52.209528],[-66.148545,52.229831],[-66.279535,52.300814],[-66.296026,52.294584],[-66.326821,52.188654],[-66.345453,52.154849],[-66.378863,52.164517],[-66.407438,52.183688],[-66.439277,52.229117],[-66.462216,52.294529],[-66.463403,52.341331],[-66.401681,52.397834],[-66.394233,52.417829],[-66.426093,52.660868],[-66.41659,52.688433],[-66.36636,52.741431],[-66.356802,52.806262],[-66.341345,52.840077],[-66.310473,52.861006],[-66.300212,52.896877],[-66.328139,52.933879],[-66.389893,52.991985],[-66.428038,53.010816],[-66.467951,53.018627],[-66.489913,53.005037],[-66.521026,52.958499],[-66.615278,52.93155],[-66.631384,52.910258],[-66.671297,52.748825],[-66.688348,52.726885],[-66.814778,52.6865],[-66.855834,52.698442],[-66.897483,52.693762],[-66.95102,52.69831],[-67.029473,52.72037],[-67.068024,52.754922],[-67.069694,52.832585],[-67.053654,52.920025],[-67.028023,52.980483],[-66.970301,53.072988],[-66.965236,53.182961],[-66.937902,53.328837],[-66.944439,53.355139],[-66.980353,53.384],[-67.025903,53.393118],[-67.076055,53.417409],[-67.128482,53.502828],[-67.164913,53.543038],[-67.457094,53.601221],[-67.47353,53.613317],[-67.476957,53.635202],[-67.455743,53.730464],[-67.470992,53.796459],[-67.530626,53.839372],[-67.757252,54.033654],[-67.76147,54.060735],[-67.731412,54.099924],[-67.681061,54.141342],[-67.511323,54.236176],[-67.507994,54.252809],[-67.515333,54.281725],[-67.581943,54.391819],[-67.609716,54.45164],[-67.620131,54.506539],[-67.601421,54.552791],[-67.578526,54.565458],[-67.536514,54.572665],[-67.314568,54.517393],[-67.285521,54.518558],[-67.236071,54.585662],[-67.15018,54.616666],[-67.146873,54.653041],[-67.199179,54.682089],[-67.204595,54.699272],[-67.290025,54.825779],[-67.372027,54.91735],[-67.415775,54.983774],[-67.437088,55.036223],[-67.426442,55.058865],[-67.40815,55.071785],[-67.33865,55.074598],[-67.301747,55.063721],[-67.166725,54.937477],[-66.867051,54.780977],[-66.724449,54.747974],[-66.650785,54.798566],[-66.656729,54.846785],[-66.710364,54.948222],[-66.692797,54.998012],[-66.747443,55.129145],[-66.719044,55.192547],[-66.725064,55.21319],[-66.79731,55.29383],[-66.799617,55.311199],[-66.773986,55.32825],[-66.733414,55.318901],[-66.617914,55.25596],[-66.239798,55.008372],[-66.156631,54.967756],[-66.082836,54.941707],[-65.883643,54.907188],[-65.868119,54.898256],[-65.796829,54.805026],[-65.741645,54.768881],[-65.675804,54.744931],[-65.121785,54.719168],[-64.81519,54.733868],[-64.341053,54.72632],[-63.91018,54.634035],[-63.751241,54.612172],[-63.698825,54.615194],[-63.658,54.644362],[-63.569659,54.776297],[-63.491491,54.91779],[-63.476044,54.961867],[-63.48012,54.987235],[-63.551158,55.086254],[-63.534019,55.140351],[-63.510893,55.167641],[-63.429275,55.209883],[-63.161385,55.307475],[-63.111825,55.33983],[-63.15131,55.404473],[-63.159473,55.440443],[-63.15108,55.48408],[-63.154353,55.51359],[-63.304559,55.54211],[-63.36339,55.564676],[-63.415169,55.596009],[-63.524417,55.705696],[-63.700572,55.860911],[-63.708405,55.883356],[-63.698407,55.92338],[-63.66112,55.947802],[-63.586479,55.976169],[-63.558464,55.992495],[-63.578305,56.025574],[-63.836121,56.063323],[-63.885889,56.088416],[-63.968363,56.094711],[-64.004146,56.097458],[-63.99172,56.144633],[-63.899325,56.212331],[-63.912817,56.229019],[-64.083654,56.27525],[-64.115284,56.288653],[-64.12148,56.299409],[-64.118711,56.334334],[-64.136103,56.394572],[-64.052651,56.429739],[-63.954927,56.43888],[-63.925572,56.475366],[-63.954905,56.52699],[-64.111867,56.690906],[-64.115591,56.707397],[-64.100661,56.737884],[-64.03037,56.787081],[-64.003553,56.820567],[-63.950379,56.863458],[-63.903302,56.889342],[-63.876353,57.023034],[-63.835759,57.083129],[-63.791813,57.129876],[-63.757854,57.227666],[-63.760008,57.240794],[-63.793285,57.279038],[-63.799899,57.31872],[-63.7421,57.395778],[-63.761557,57.513134],[-63.758503,57.552927],[-63.743726,57.580876],[-63.614692,57.669294],[-63.598157,57.692453],[-63.601255,57.723061],[-63.617636,57.726137],[-63.715568,57.695859],[-63.793494,57.705966],[-63.841911,57.713349],[-63.871915,57.731158],[-63.921463,57.783299],[-63.96131,57.80169],[-63.985986,57.80314],[-64.045466,57.785255],[-64.078798,57.812523],[-64.133576,57.87543],[-64.226586,58.01755],[-64.386998,58.098881],[-64.400379,58.121414],[-64.394589,58.144332],[-64.371386,58.169293],[-64.09776,58.35918],[-64.02268,58.398764],[-63.848008,58.459738],[-63.83711,58.482579],[-63.840823,58.505167],[-63.882374,58.55521],[-64.038742,58.544751],[-64.062494,58.554825],[-64.085873,58.599375],[-64.084994,58.621171],[-64.070811,58.641694],[-64.031414,58.666314],[-63.960508,58.684222],[-63.55319,58.731606],[-63.506015,58.743416],[-63.496709,58.753447],[-63.504048,58.770575],[-63.53526,58.798787],[-63.591796,58.829791],[-63.665932,58.85362],[-63.727137,58.861684],[-63.990633,58.810982],[-64.155329,58.770575],[-64.191781,58.76874],[-64.235562,58.785769],[-64.294075,58.865991],[-64.617864,58.911496],[-64.80862,58.929371],[-64.848313,58.949223],[-64.851126,58.983687],[-64.832834,59.020019],[-64.801677,59.040278],[-64.770256,59.048693],[-64.393501,58.998497],[-64.35818,59.001925],[-64.324364,59.019964],[-64.332374,59.043761],[-64.441698,59.091068],[-64.477811,59.116182],[-64.505485,59.166005],[-64.519493,59.225793],[-64.518669,59.35586],[-64.503134,59.398652],[-64.425757,59.456418],[-64.37867,59.475073],[-64.385295,59.514766],[-64.444819,59.527994],[-64.714621,59.466295],[-64.775551,59.488311],[-64.818024,59.540244],[-64.790822,59.815572],[-64.761851,59.864044],[-64.665578,59.905539],[-64.661469,59.921513],[-64.66504,59.932719],[-64.682376,59.942904],[-64.834042,59.985772],[-64.868155,60.008789],[-64.887271,60.035409],[-64.88035,60.049669],[-64.782165,60.063775],[-64.710589,60.09101],[-64.649867,60.110083],[-64.622303,60.141317],[-64.644528,60.161345],[-64.78935,60.196117],[-64.846786,60.238183],[-64.846688,60.250763],[-64.81586,60.267429],[-64.614272,60.30598],[-64.499443,60.268264],[-64.436348,60.228109],[-64.419572,60.171364],[-64.52771,60.094526],[-64.713302,60.037166],[-64.768443,60.012096],[-64.732583,59.99755],[-64.559153,60.043418],[-64.407718,60.064808],[-64.283517,60.064083],[-64.18285,59.972929],[-64.168787,59.846532],[-64.226312,59.741184],[-64.150682,59.79361],[-64.056056,59.822548],[-63.978702,59.753719],[-63.969506,59.697623],[-63.928835,59.644943],[-63.841263,59.5744],[-63.750186,59.512591],[-63.850359,59.447794],[-63.970715,59.409056],[-63.945446,59.380195],[-63.78086,59.349246],[-63.75858,59.318649],[-63.775872,59.277154],[-63.751999,59.277363],[-63.63751,59.341446],[-63.539886,59.332866],[-63.415147,59.194372],[-63.506191,59.115205],[-63.645519,59.078928],[-63.756415,59.06347],[-63.910488,59.06559],[-63.971154,59.053813],[-63.94103,59.027402],[-63.79367,59.026995],[-63.567901,59.047045],[-63.398964,59.079653],[-63.325531,59.081586],[-63.248407,59.068337],[-63.222491,59.057175],[-63.303724,59.034433],[-63.309876,59.026479],[-63.279444,59.003166],[-63.216393,58.927976],[-63.221919,58.911035],[-63.282124,58.867364],[-63.185335,58.857751],[-63.050302,58.878164],[-63.008345,58.855422],[-62.92608,58.765048],[-62.873883,58.672445],[-63.102322,58.545728],[-63.218667,58.519526],[-63.389922,58.452553],[-63.437933,58.398808],[-63.537051,58.329924],[-63.473616,58.330682],[-63.296495,58.441182],[-63.209988,58.466923],[-63.145498,58.460463],[-63.119505,58.441754],[-63.132106,58.410849],[-63.07568,58.414782],[-62.837376,58.479382],[-62.737301,58.492192],[-62.607882,58.496378],[-62.593853,58.473999],[-62.674339,58.319179],[-62.812052,58.200406],[-63.062815,58.127094],[-63.151673,58.08416],[-63.261503,58.014671],[-63.220041,58.002147],[-62.980901,58.0933],[-62.817535,58.12927],[-62.588085,58.158109],[-62.486253,58.154077],[-62.305649,57.972275],[-62.20152,57.954653],[-62.11742,57.964112],[-61.958645,57.911762],[-61.899056,57.861324],[-61.914041,57.825047],[-61.967786,57.803349],[-61.994889,57.769445],[-61.931278,57.668569],[-61.96794,57.611934],[-62.083955,57.561914],[-62.166902,57.53659],[-62.253606,57.528768],[-62.338564,57.484504],[-62.37717,57.477989],[-62.495558,57.489206],[-62.454964,57.461971],[-62.396495,57.448172],[-62.303199,57.440679],[-62.194203,57.454577],[-62.088064,57.452852],[-61.921127,57.420783],[-61.8511,57.381309],[-61.849815,57.370422],[-61.885828,57.347867],[-61.938848,57.274357],[-61.977454,57.247924],[-61.944539,57.228138],[-61.860823,57.197541],[-61.798344,57.186225],[-61.716331,57.196201],[-61.628528,57.183182],[-61.333743,57.010576],[-61.345762,56.921586],[-61.390487,56.852966],[-61.372788,56.775809],[-61.371624,56.680832],[-61.531695,56.654575],[-62.062488,56.699069],[-62.366106,56.766976],[-62.38174,56.787696],[-62.295827,56.832806],[-62.372028,56.836168],[-62.460215,56.818447],[-62.497261,56.801704],[-62.395517,56.730029],[-62.116486,56.666824],[-61.991615,56.59081],[-61.854923,56.584295],[-61.813351,56.570529],[-61.737754,56.526013],[-61.760046,56.510764],[-61.899396,56.505435],[-62.009677,56.453865],[-61.94043,56.423587],[-61.692458,56.397077],[-61.514589,56.390332],[-61.425292,56.360646],[-61.498692,56.327567],[-61.707135,56.288708],[-61.713079,56.230931],[-61.558589,56.207838],[-61.421073,56.221845],[-61.364703,56.216022],[-61.324394,56.07621],[-61.301114,56.047174],[-61.448902,56.022366],[-61.449528,55.995703],[-61.351288,55.973686],[-61.187889,55.955394],[-61.133891,55.930257],[-61.122981,55.888553],[-61.089341,55.866361],[-60.99576,55.862351],[-60.892664,55.914206],[-60.831866,55.957877],[-60.743239,55.941441],[-60.736625,55.886982],[-60.63097,55.825019],[-60.592572,55.814835],[-60.56214,55.726988],[-60.475843,55.805123],[-60.412616,55.788555],[-60.341018,55.784655],[-60.365408,55.709102],[-60.408299,55.649578],[-60.351972,55.612368],[-60.308334,55.556975],[-60.192362,55.480905],[-60.224014,55.444365],[-60.360959,55.366285],[-60.433106,55.242777],[-60.450102,55.199941],[-60.520535,55.128991],[-60.617127,55.060206],[-60.556559,55.06749],[-60.340755,55.193975],[-60.212544,55.236426],[-59.930316,55.259421],[-59.862102,55.294863],[-59.758798,55.309595],[-59.695495,55.269133],[-59.68909,55.196326],[-59.605451,55.173321],[-59.517703,55.197359],[-59.437865,55.175914],[-59.485821,55.130178],[-59.741725,54.942586],[-59.816399,54.86722],[-59.83779,54.813936],[-59.74991,54.886984],[-59.42856,55.055504],[-59.394173,55.080717],[-59.324179,55.152809],[-59.259579,55.199941],[-59.086314,55.183242],[-58.997116,55.149448],[-58.955796,55.055086],[-58.885802,54.952254],[-58.780158,54.838359],[-58.499886,54.78312],[-58.39813,54.774122],[-58.222854,54.812673],[-58.195257,54.865902],[-58.058466,54.882205],[-57.962456,54.875745],[-57.9293,54.773144],[-57.826852,54.718674],[-57.724899,54.673718],[-57.626604,54.650361],[-57.483002,54.640286],[-57.404505,54.590881],[-57.40445,54.570413],[-57.485353,54.517503],[-57.563224,54.440445],[-57.699268,54.386546],[-57.889123,54.384096],[-58.151377,54.350434],[-58.161924,54.319991],[-58.219745,54.28645],[-58.359118,54.253326],[-58.435187,54.228112],[-58.558388,54.102978],[-58.633216,54.049573],[-58.719458,54.039411],[-58.840846,54.044509],[-58.920222,54.033083],[-58.978461,54.010242],[-59.01265,53.976295],[-59.03882,53.963627],[-59.201418,53.929108],[-59.496521,53.834153],[-59.652681,53.831231],[-59.749471,53.842294],[-59.823035,53.834439],[-59.873341,53.807753],[-60.014164,53.761578],[-60.056538,53.733365],[-60.081346,53.70101],[-60.100517,53.634246],[-60.117304,53.610109],[-60.144901,53.596135],[-60.263323,53.610065],[-60.395401,53.653318],[-60.369539,53.607473],[-60.160249,53.529986],[-60.100308,53.486963],[-60.157151,53.449808],[-60.290273,53.39147],[-60.305774,53.360104],[-60.251205,53.34357],[-60.272694,53.317104],[-60.345721,53.289001],[-60.337503,53.277421],[-60.329461,53.266105],[-60.14834,53.306568],[-59.987083,53.392811],[-59.881713,53.480064],[-59.829055,53.504542],[-59.621084,53.536808],[-59.498169,53.574766],[-59.322267,53.643749],[-59.129413,53.743956],[-58.919574,53.875319],[-58.652024,53.977899],[-58.326719,54.051793],[-58.088074,54.08952],[-57.93599,54.091168],[-57.928267,54.103571],[-58.064849,54.126774],[-58.177426,54.131323],[-58.317469,54.11447],[-58.360777,54.154471],[-58.356173,54.171917],[-58.309976,54.201657],[-58.192104,54.228167],[-57.614948,54.19111],[-57.416073,54.162766],[-57.198884,53.924362],[-57.148963,53.847722],[-57.134977,53.791856],[-57.15695,53.756876],[-57.243994,53.715479],[-57.489484,53.633104],[-57.52408,53.611406],[-57.527332,53.599881],[-57.420182,53.583237],[-57.386157,53.56055],[-57.331764,53.469089],[-57.221384,53.528514],[-57.01215,53.672588],[-56.840862,53.739429],[-56.69659,53.757645],[-56.524291,53.766434],[-56.464998,53.765038],[-56.444332,53.718325],[-56.354025,53.624479],[-56.270199,53.600112],[-56.110161,53.587587],[-55.966087,53.471132],[-55.911254,53.390822],[-55.859376,53.343878],[-55.863408,53.312248],[-55.854773,53.285815],[-55.816892,53.245748],[-55.79793,53.211943],[-55.808213,53.134665],[-55.892346,53.000434],[-55.829867,52.878431],[-55.857926,52.823389],[-55.872527,52.735696],[-55.818683,52.67715],[-55.802819,52.64317],[-55.848445,52.623328],[-56.167005,52.57478],[-56.29237,52.573791],[-56.3249,52.544523],[-56.228396,52.535965],[-56.052593,52.537415],[-55.840205,52.50762],[-55.746459,52.474573],[-55.705974,52.428277],[-55.716203,52.391484],[-55.777133,52.364249],[-55.896686,52.369599],[-56.011713,52.394472],[-56.004638,52.37039],[-55.833635,52.310394],[-55.783494,52.279907],[-55.691066,52.241619],[-55.672796,52.190148],[-55.69523,52.137798],[-56.017503,51.929289],[-56.282559,51.797046],[-56.548582,51.681009],[-56.976005,51.45769],[-57.018247,51.44678],[-57.09558,51.442551],[-57.100128,51.443342]]],[[[-61.743621,57.554575],[-61.659543,57.524967],[-61.637471,57.416081],[-61.795268,57.422442],[-61.975487,57.495402],[-62.011226,57.548477],[-62.007238,57.557629],[-61.983288,57.56677],[-61.937508,57.554113],[-61.893068,57.573131],[-61.848343,57.579327],[-61.743621,57.554575]]],[[[-60.994485,56.039318],[-60.98273,56.015137],[-61.137011,56.032551],[-61.191294,56.047877],[-61.195843,56.063917],[-61.188196,56.088955],[-61.157555,56.118387],[-61.086891,56.140832],[-61.048538,56.12923],[-60.966404,56.098853],[-60.955341,56.080396],[-60.994485,56.039318]]],[[[-55.361245,51.88965],[-55.408915,51.888826],[-55.419605,51.900032],[-55.399818,51.938484],[-55.346491,51.982869],[-55.274091,51.995174],[-55.293569,51.929959],[-55.361245,51.88965]]],[[[-55.458727,51.53655],[-55.532445,51.43697],[-55.583422,51.388597],[-55.630784,51.372886],[-55.730704,51.35867],[-55.941181,51.343014],[-56.031093,51.328392],[-56.043936,51.26188],[-56.030653,51.2269],[-55.999913,51.199247],[-55.960846,51.191425],[-55.87356,51.207905],[-55.841106,51.20507],[-55.81509,51.191139],[-55.79548,51.166178],[-55.78535,51.131451],[-55.784702,51.087066],[-55.800028,51.033321],[-55.871417,50.907385],[-55.962,50.837676],[-56.078092,50.780932],[-56.106547,50.759278],[-56.121225,50.733801],[-56.135639,50.650964],[-56.195734,50.584771],[-56.382413,50.416977],[-56.454352,50.38003],[-56.454791,50.350488],[-56.483938,50.270837],[-56.539331,50.206753],[-56.693997,50.059679],[-56.73235,50.007692],[-56.749555,49.966559],[-56.747182,49.908475],[-56.754103,49.882898],[-56.789501,49.833757],[-56.838852,49.787768],[-56.848618,49.765312],[-56.829184,49.724618],[-56.809243,49.710402],[-56.806892,49.673356],[-56.822185,49.613459],[-56.756784,49.651592],[-56.610643,49.787713],[-56.500934,49.869649],[-56.427589,49.897389],[-56.376393,49.933666],[-56.321824,50.013801],[-56.247051,50.090068],[-56.179408,50.114974],[-56.148405,50.100351],[-56.12218,50.062832],[-56.127421,50.015141],[-56.164159,49.957265],[-56.161292,49.940159],[-56.075016,49.982632],[-55.927019,50.017778],[-55.873329,50.013119],[-55.764729,49.960462],[-55.674454,49.966559],[-55.530039,49.997156],[-55.502914,49.983149],[-55.526996,49.936742],[-55.583685,49.892413],[-55.717631,49.829021],[-56.039981,49.704667],[-56.140187,49.619117],[-56.121225,49.621731],[-56.051615,49.658415],[-55.97849,49.678135],[-55.90185,49.680849],[-55.869813,49.670148],[-55.882316,49.645967],[-55.892039,49.580258],[-56.087321,49.451971],[-56.041222,49.456849],[-55.815244,49.515274],[-55.678091,49.434601],[-55.489763,49.462507],[-55.375945,49.489742],[-55.379142,49.4729],[-55.3545,49.43771],[-55.355346,49.380834],[-55.343854,49.37288],[-55.289955,49.391919],[-55.280188,49.412749],[-55.283034,49.513824],[-55.266367,49.523931],[-55.229541,49.508144],[-55.207008,49.482018],[-55.200296,49.408509],[-55.224971,49.334659],[-55.259314,49.266972],[-55.342503,49.168106],[-55.331912,49.125578],[-55.353181,49.079435],[-55.334757,49.077886],[-55.252338,49.120876],[-55.247372,49.138553],[-55.253832,49.179631],[-55.244526,49.19979],[-55.176137,49.244439],[-55.063197,49.297349],[-55.026173,49.305358],[-55.010386,49.293009],[-55.015912,49.260358],[-54.982634,49.268103],[-54.910542,49.316268],[-54.843646,49.345414],[-54.781892,49.355489],[-54.717633,49.388558],[-54.650869,49.444533],[-54.579041,49.490807],[-54.502202,49.527337],[-54.469177,49.529798],[-54.480625,49.469329],[-54.465453,49.400555],[-54.463464,49.341745],[-54.448248,49.32944],[-54.389076,49.392128],[-54.356161,49.415046],[-54.316731,49.42412],[-54.270786,49.419308],[-53.957731,49.441841],[-53.862446,49.426307],[-53.755011,49.385306],[-53.619462,49.32164],[-53.569562,49.264148],[-53.560081,49.191672],[-53.573418,49.141189],[-53.671141,49.077546],[-53.758054,49.035402],[-53.809316,48.99339],[-53.824928,48.951379],[-53.845231,48.92544],[-53.903239,48.889163],[-54.161285,48.787693],[-54.099531,48.784771],[-53.950711,48.806788],[-53.852888,48.811336],[-53.847769,48.796658],[-53.886836,48.76783],[-53.96151,48.738881],[-53.969563,48.724884],[-53.966003,48.706691],[-53.886133,48.684674],[-53.784081,48.695397],[-53.698036,48.679819],[-53.706331,48.655528],[-53.774589,48.576316],[-53.794639,48.526394],[-53.88554,48.484559],[-54.067759,48.418849],[-54.114473,48.393581],[-54.104233,48.388362],[-53.937011,48.436625],[-53.852723,48.448853],[-53.799341,48.449237],[-53.738883,48.495798],[-53.644423,48.511222],[-53.552028,48.481801],[-53.411337,48.562155],[-53.361074,48.572592],[-53.275447,48.563341],[-53.220262,48.577865],[-53.127373,48.632588],[-53.057269,48.659043],[-53.042647,48.656615],[-53.027584,48.634709],[-53.02074,48.571614],[-53.037329,48.515848],[-53.060214,48.480318],[-53.135723,48.401853],[-53.182118,48.374366],[-53.225118,48.364027],[-53.301188,48.368158],[-53.334312,48.355964],[-53.405525,48.294308],[-53.531198,48.231884],[-53.60975,48.207703],[-53.56019,48.173832],[-53.541843,48.108431],[-53.569408,48.088073],[-53.704309,48.067924],[-53.710154,48.056861],[-53.758208,48.042392],[-53.869576,48.019683],[-53.793584,48.009729],[-53.653025,48.025747],[-53.638215,48.01464],[-53.657628,47.968652],[-53.695015,47.921213],[-53.861666,47.799253],[-53.863655,47.787037],[-53.837738,47.727271],[-53.805339,47.682051],[-53.76514,47.650092],[-53.67235,47.648257],[-53.603751,47.662309],[-53.503754,47.74386],[-53.282742,47.997842],[-53.085438,48.068484],[-52.921006,48.147091],[-52.883279,48.131172],[-52.865997,48.112979],[-52.872018,48.093962],[-52.954954,48.029318],[-52.998262,47.975913],[-53.110806,47.81191],[-53.153861,47.734555],[-53.175537,47.652981],[-53.169824,47.512093],[-53.157684,47.487802],[-53.12244,47.455118],[-53.056863,47.483122],[-52.945033,47.552808],[-52.873204,47.619418],[-52.816921,47.727886],[-52.782402,47.769436],[-52.744939,47.768975],[-52.711398,47.745299],[-52.70329,47.693005],[-52.672177,47.621769],[-52.653654,47.549402],[-52.668507,47.469817],[-52.683624,47.4263],[-52.912426,47.103192],[-52.888135,47.045866],[-52.882092,47.011083],[-52.8892,46.974136],[-52.961721,46.819416],[-53.031946,46.722725],[-53.069783,46.68123],[-53.114816,46.655807],[-53.167012,46.646502],[-53.213693,46.660509],[-53.25488,46.69772],[-53.291311,46.717045],[-53.323018,46.718341],[-53.381751,46.711409],[-53.536108,46.632505],[-53.567782,46.628286],[-53.589799,46.638888],[-53.616364,46.680252],[-53.595171,46.888487],[-53.581328,46.957294],[-53.612178,47.010358],[-53.579647,47.099402],[-53.578461,47.133251],[-53.597368,47.146006],[-53.636381,47.13769],[-53.695377,47.092942],[-53.774336,47.011808],[-53.860018,46.939463],[-54.009597,46.839619],[-54.076021,46.819987],[-54.102399,46.824898],[-54.132809,46.838587],[-54.173744,46.88039],[-54.173272,46.917183],[-54.155243,46.967467],[-54.092687,47.086219],[-53.970497,47.261978],[-53.869104,47.387002],[-53.849526,47.440308],[-53.877871,47.463566],[-53.900844,47.509324],[-53.939746,47.644687],[-53.988998,47.756209],[-54.047291,47.805636],[-54.191827,47.859821],[-54.218414,47.846747],[-54.233894,47.771656],[-54.404688,47.555906],[-54.434504,47.462325],[-54.455895,47.427597],[-54.48814,47.403877],[-54.56255,47.375192],[-54.542401,47.425114],[-54.463234,47.536219],[-54.473934,47.547073],[-54.574492,47.457754],[-54.651155,47.408217],[-54.74466,47.395451],[-54.801503,47.398637],[-54.856643,47.385014],[-55.090432,47.173944],[-55.09921,47.103588],[-55.139673,47.045965],[-55.25492,46.941737],[-55.315718,46.905713],[-55.401268,46.899253],[-55.479293,46.917293],[-55.530709,46.914008],[-55.652339,46.881433],[-55.788526,46.867217],[-55.844699,46.873831],[-55.880613,46.887212],[-55.949915,46.927675],[-55.958176,46.956415],[-55.954507,46.973257],[-55.919219,47.016873],[-55.838371,47.071651],[-55.771815,47.092118],[-55.610086,47.119606],[-55.491521,47.16064],[-55.401214,47.22146],[-55.360905,47.258583],[-55.190836,47.448987],[-54.975636,47.516169],[-54.869508,47.570891],[-54.795361,47.640347],[-54.784606,47.664737],[-54.891008,47.629493],[-54.94594,47.620868],[-55.035006,47.633887],[-55.074568,47.657585],[-55.196604,47.650037],[-55.366277,47.661067],[-55.390776,47.642885],[-55.412683,47.55038],[-55.434645,47.501282],[-55.460639,47.484748],[-55.498651,47.475036],[-55.576138,47.465214],[-55.774683,47.498294],[-55.811366,47.516377],[-55.862068,47.530066],[-56.081377,47.499942],[-56.127267,47.502842],[-56.083673,47.524485],[-55.867078,47.592337],[-55.844391,47.787828],[-55.857926,47.819204],[-55.918439,47.791914],[-56.020139,47.763702],[-56.08965,47.771864],[-56.121422,47.789179],[-56.150569,47.774501],[-56.221266,47.671405],[-56.26297,47.658431],[-56.325757,47.654508],[-56.459549,47.616935],[-56.72232,47.592293],[-56.774098,47.565003],[-56.952483,47.574462],[-57.473433,47.631097],[-57.659805,47.625417],[-57.884113,47.660013],[-57.925553,47.674921],[-58.239312,47.668824],[-58.333234,47.676855],[-58.326928,47.719877],[-58.336848,47.73083],[-58.428057,47.683391],[-58.508905,47.652597],[-58.613133,47.626241],[-58.941151,47.580461],[-59.116955,47.570716],[-59.219303,47.602521],[-59.259733,47.634195],[-59.320663,47.736906],[-59.362422,47.865688],[-59.36206,47.888968],[-59.340867,47.93366],[-59.27206,47.995568],[-58.960839,48.159385],[-58.710592,48.325059],[-58.60497,48.411313],[-58.502654,48.442052],[-58.335552,48.513683],[-58.330235,48.522099],[-58.492239,48.513057],[-58.606134,48.532854],[-58.722556,48.54071],[-58.943788,48.521791],[-59.166822,48.521769],[-59.1677,48.558486],[-59.063418,48.627677],[-58.84178,48.746429],[-58.819192,48.746846],[-58.887099,48.691552],[-58.906446,48.65021],[-58.877255,48.622723],[-58.843406,48.605298],[-58.716459,48.598069],[-58.687345,48.622041],[-58.641609,48.749428],[-58.545589,48.896864],[-58.493733,49.003212],[-58.403667,49.084346],[-58.358678,49.096508],[-58.318732,49.081347],[-58.186105,49.061912],[-58.049655,48.987557],[-58.005545,48.98125],[-57.990515,48.987941],[-58.040558,49.009771],[-58.081845,49.044707],[-58.098906,49.077414],[-58.049062,49.179993],[-57.990669,49.209447],[-57.9801,49.229629],[-58.096863,49.230069],[-58.190939,49.258754],[-58.218899,49.305105],[-58.213395,49.386646],[-58.182699,49.435381],[-58.107399,49.499695],[-58.015828,49.542509],[-57.961215,49.531523],[-57.856054,49.4738],[-57.791322,49.490005],[-57.798848,49.50855],[-57.897472,49.600385],[-57.929069,49.668412],[-57.926146,49.700844],[-57.712517,50.024908],[-57.607949,50.198799],[-57.465556,50.463691],[-57.432586,50.505801],[-57.360449,50.583936],[-57.330556,50.605184],[-57.237436,50.605392],[-57.179581,50.614841],[-57.264143,50.64936],[-57.2944,50.673398],[-57.297992,50.69871],[-57.274899,50.725275],[-57.242138,50.744919],[-57.131648,50.787392],[-57.053283,50.857309],[-57.005657,50.939629],[-57.012743,50.967743],[-57.037309,50.995649],[-57.035913,51.010843],[-56.976356,51.02797],[-56.825152,51.125716],[-56.805497,51.14448],[-56.750225,51.27491],[-56.682395,51.332786],[-56.619048,51.362449],[-56.517941,51.399297],[-56.207368,51.488616],[-56.025567,51.568377],[-55.902113,51.563928],[-55.865836,51.508282],[-55.690451,51.471324],[-55.659568,51.511017],[-55.700657,51.559434],[-55.666391,51.578924],[-55.521624,51.596381],[-55.496454,51.589822],[-55.453201,51.56228],[-55.458727,51.53655]]],[[[-55.536137,50.719694],[-55.569678,50.708686],[-55.600758,50.709048],[-55.629334,50.720782],[-55.63386,50.740184],[-55.604505,50.780701],[-55.527205,50.801246],[-55.469296,50.796379],[-55.472735,50.775922],[-55.503815,50.742128],[-55.536137,50.719694]]],[[[-54.093698,49.74446],[-54.019924,49.679498],[-53.980648,49.661985],[-54.238388,49.591651],[-54.269237,49.587004],[-54.286134,49.595375],[-54.288771,49.660843],[-54.277664,49.71149],[-54.258954,49.718982],[-54.199375,49.688539],[-54.13772,49.75115],[-54.093698,49.74446]]],[[[-54.55442,49.58886],[-54.708701,49.530677],[-54.743836,49.507781],[-54.786495,49.496158],[-54.81851,49.51445],[-54.863576,49.576094],[-54.855402,49.596562],[-54.813082,49.599352],[-54.788792,49.591189],[-54.78265,49.572062],[-54.764072,49.56235],[-54.733113,49.562142],[-54.618778,49.622083],[-54.559166,49.631498],[-54.537699,49.619974],[-54.55442,49.58886]]],[[[-54.227127,47.441341],[-54.27606,47.406536],[-54.32596,47.408118],[-54.320137,47.438528],[-54.258701,47.497668],[-54.227379,47.539998],[-54.226248,47.565519],[-54.214954,47.585108],[-54.168372,47.607091],[-54.128162,47.646807],[-54.147542,47.573122],[-54.227127,47.441341]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"CAN-685","diss_me":685,"iso_3166_2":"CA-NS","wikipedia":"http://en.wikipedia.org/wiki/Nova_Scotia","iso_a2":"CA","adm0_sr":1,"name":"Nova Scotia","name_alt":"Acadia|Nouvelle-Écosse","name_local":null,"type":"Province","type_en":"Province","code_local":null,"code_hasc":"CA.NS","note":null,"hasc_maybe":null,"region":"Eastern Canada","region_cod":null,"provnum_ne":3,"gadm_level":1,"check_me":20,"datarank":2,"abbrev":"N.S.","postal":"NS","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":11,"mapcolor9":2,"mapcolor13":2,"fips":"CA07","fips_alt":null,"woe_id":2344921,"woe_label":"Nova Scotia, CA, Canada","woe_name":"Nova Scotia","latitude":45.2293,"longitude":-62.8113,"sov_a3":"CAN","adm0_a3":"CAN","adm0_label":2,"admin":"Canada","geonunit":"Canada","gu_a3":"CAN","gn_id":6091530,"gn_name":"Nova Scotia","gns_id":-570447,"gns_name":"Nouvelle-Ecosse, Province de","gn_level":1,"gn_region":null,"gn_a1_code":"CA.07","region_sub":"Atlantic Canada","sub_code":null,"gns_level":1,"gns_lang":"fra","gns_adm1":"CA07","gns_region":null,"min_label":3.5,"max_label":7.5,"min_zoom":2,"wikidataid":"Q1952","name_ar":"نوفا سكوشا","name_bn":"নোভা স্কোশিয়া","name_de":"Nova Scotia","name_en":"Nova Scotia","name_es":"Nueva Escocia","name_fr":"Nouvelle-Écosse","name_el":"Νέα Σκωτία","name_hi":"नोवा स्कॉटिया","name_hu":"Új-Skócia","name_id":"Nova Scotia","name_it":"Nuova Scozia","name_ja":"ノバスコシア州","name_ko":"노바스코샤","name_nl":"Nova Scotia","name_pl":"Nowa Szkocja","name_pt":"Nova Escócia","name_ru":"Новая Шотландия","name_sv":"Nova Scotia","name_tr":"Yeni İskoçya","name_vi":"Nova Scotia","name_zh":"新斯科舍","ne_id":1159309585,"name_he":"נובה סקוטיה","name_uk":"Нова Шотландія","name_ur":"نووا سکوشیا","name_fa":"نوا اسکوشیا","name_zht":"新斯科舍","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[-66.324107,43.518068,-59.727124,47.00971],"geometry":{"type":"MultiPolygon","coordinates":[[[[-64.314653,45.835678],[-64.272839,45.849861],[-64.216468,45.900794],[-64.159592,45.964789],[-64.051354,45.977863],[-64.030942,46.012668],[-63.874705,45.959208],[-63.702879,45.858024],[-63.567692,45.877953],[-63.509245,45.874723],[-63.358018,45.811266],[-63.315918,45.779867],[-63.292803,45.75194],[-63.21691,45.757961],[-63.107925,45.782427],[-62.910809,45.776385],[-62.700684,45.740569],[-62.718339,45.686],[-62.750122,45.648251],[-62.585657,45.660677],[-62.483056,45.621818],[-62.447273,45.64055],[-62.421873,45.664654],[-62.217725,45.730857],[-61.955514,45.868153],[-61.923577,45.851158],[-61.911613,45.799115],[-61.877248,45.714213],[-61.776503,45.655612],[-61.656906,45.642176],[-61.492287,45.687033],[-61.427665,45.648273],[-61.350508,45.573676],[-61.277087,45.47604],[-61.281964,45.441049],[-61.376117,45.410617],[-61.460998,45.366693],[-61.106733,45.348654],[-61.070818,45.330153],[-61.03152,45.291756],[-61.067687,45.252842],[-61.101075,45.233462],[-61.165301,45.256105],[-61.283799,45.235484],[-61.387257,45.185045],[-61.49789,45.157008],[-61.568741,45.153833],[-61.647425,45.130531],[-61.71922,45.094485],[-61.793894,45.084433],[-62.026805,44.994466],[-62.264977,44.93648],[-62.514004,44.843645],[-62.768052,44.785121],[-63.031801,44.714787],[-63.089216,44.708535],[-63.155727,44.711326],[-63.306316,44.642595],[-63.380826,44.651901],[-63.45684,44.639959],[-63.544335,44.655054],[-63.604024,44.683212],[-63.558255,44.610614],[-63.544819,44.543762],[-63.567692,44.51444],[-63.609759,44.479976],[-63.761139,44.486403],[-63.820641,44.510672],[-63.891316,44.546322],[-63.923693,44.603836],[-63.999729,44.644925],[-64.044927,44.587873],[-64.044609,44.545399],[-64.100859,44.487469],[-64.167007,44.586686],[-64.286066,44.550332],[-64.338526,44.444864],[-64.312247,44.414761],[-64.275706,44.334088],[-64.334571,44.291978],[-64.378208,44.303546],[-64.468802,44.185158],[-64.578478,44.142058],[-64.691572,44.021341],[-64.825649,43.929363],[-64.862343,43.867862],[-65.086827,43.727182],[-65.172092,43.731389],[-65.234922,43.726742],[-65.329603,43.668108],[-65.344302,43.549621],[-65.386083,43.565276],[-65.428534,43.56142],[-65.450441,43.524242],[-65.481686,43.518068],[-65.564446,43.553257],[-65.661906,43.534031],[-65.738151,43.560728],[-65.835303,43.734389],[-65.886906,43.795209],[-65.9784,43.814842],[-66.002164,43.778103],[-66.037638,43.742167],[-66.125727,43.813842],[-66.192546,44.079689],[-66.193084,44.143871],[-66.099579,44.367498],[-65.868021,44.5688],[-65.941937,44.575524],[-66.146392,44.435943],[-66.125309,44.469715],[-66.090637,44.504937],[-66.021697,44.561703],[-65.917053,44.615108],[-65.77768,44.646221],[-65.681824,44.650923],[-65.615752,44.680399],[-65.519996,44.732672],[-65.502275,44.760391],[-65.587155,44.728509],[-65.728231,44.697121],[-65.692053,44.738308],[-65.65671,44.760314],[-64.902938,45.120808],[-64.75126,45.180244],[-64.448851,45.25605],[-64.406894,45.305708],[-64.448158,45.337437],[-64.330748,45.309323],[-64.340437,45.26819],[-64.358829,45.238252],[-64.365706,45.187265],[-64.354236,45.138222],[-64.235013,45.114304],[-64.135509,45.023063],[-64.182718,45.147011],[-64.09319,45.217082],[-63.748329,45.310883],[-63.460257,45.321111],[-63.368016,45.364782],[-63.614461,45.394126],[-63.906456,45.378163],[-64.08717,45.410869],[-64.336405,45.389534],[-64.600187,45.410045],[-64.681113,45.382964],[-64.746668,45.324363],[-64.831955,45.350258],[-64.873165,45.354597],[-64.91288,45.374801],[-64.827385,45.475546],[-64.560087,45.625487],[-64.397094,45.755862],[-64.351105,45.783196],[-64.314653,45.835678]]],[[[-61.105183,45.944739],[-61.071335,45.937093],[-60.936554,45.985564],[-60.865242,45.983499],[-60.868395,45.948639],[-60.984279,45.910681],[-61.037563,45.882216],[-60.970612,45.855805],[-60.971524,45.838007],[-61.051955,45.795039],[-61.09211,45.748369],[-61.05903,45.703358],[-60.93038,45.747699],[-60.877602,45.748117],[-60.806103,45.738064],[-60.73791,45.751424],[-60.699052,45.77333],[-60.472371,45.946519],[-60.460594,45.968689],[-60.704897,45.932907],[-60.733285,45.956571],[-60.573192,46.061425],[-60.58575,46.116664],[-60.504934,46.203852],[-60.430876,46.25563],[-60.376515,46.284568],[-60.297941,46.311254],[-60.243833,46.270099],[-60.226453,46.195557],[-60.092453,46.206016],[-59.961397,46.190976],[-59.865047,46.159511],[-59.849984,46.141416],[-59.848765,46.112951],[-59.880911,46.061634],[-59.934041,46.019413],[-59.828023,45.965152],[-59.842184,45.941542],[-60.015812,45.880458],[-60.114469,45.818913],[-60.205085,45.742997],[-60.386106,45.654656],[-60.672959,45.590814],[-60.763728,45.590814],[-60.871603,45.610678],[-60.978621,45.606162],[-61.083705,45.582388],[-61.186438,45.585025],[-61.236305,45.572489],[-61.283667,45.573863],[-61.323405,45.598505],[-61.40834,45.66907],[-61.449781,45.716223],[-61.495308,45.941432],[-61.480608,46.059777],[-61.408648,46.170365],[-61.302201,46.243842],[-61.240524,46.302553],[-60.982499,46.65049],[-60.931984,46.729427],[-60.870153,46.796784],[-60.759696,46.863394],[-60.616654,46.975784],[-60.57105,46.998811],[-60.48907,47.00971],[-60.408222,47.003535],[-60.431348,46.962919],[-60.425448,46.923181],[-60.331768,46.767846],[-60.332921,46.736996],[-60.384085,46.613334],[-60.482401,46.413526],[-60.507692,46.303377],[-60.494541,46.270275],[-60.534411,46.214541],[-60.576862,46.172167],[-60.74481,46.092692],[-60.830569,46.074136],[-60.912198,46.044583],[-61.105183,45.944739]]],[[[-60.96157,45.489938],[-61.00289,45.48172],[-61.012525,45.496035],[-61.076169,45.537322],[-61.08175,45.55779],[-61.025983,45.577323],[-60.91245,45.567293],[-60.953023,45.515514],[-60.96157,45.489938]]],[[[-66.273779,44.292307],[-66.324107,44.257294],[-66.311945,44.291582],[-66.250499,44.379],[-66.210377,44.392019],[-66.273779,44.292307]]],[[[-59.787582,43.939591],[-59.922285,43.903886],[-60.037752,43.906621],[-60.114283,43.93913],[-60.117458,43.953368],[-59.936029,43.939591],[-59.866365,43.947161],[-59.727124,44.00284],[-59.787582,43.939591]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"CAN-635","diss_me":635,"iso_3166_2":"CA-NT","wikipedia":"http://en.wikipedia.org/wiki/Northwest_Territories","iso_a2":"CA","adm0_sr":6,"name":"Northwest Territories","name_alt":"Territoires du Nord-Ouest","name_local":null,"type":"Territoire","type_en":"Territory","code_local":null,"code_hasc":"CA.NT","note":null,"hasc_maybe":null,"region":"Northern Canada","region_cod":"Northern Canada","provnum_ne":5,"gadm_level":1,"check_me":20,"datarank":2,"abbrev":"N.W.T.","postal":"NT","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":21,"mapcolor9":2,"mapcolor13":2,"fips":"CA13","fips_alt":null,"woe_id":2344920,"woe_label":"Northwest Territories, CA, Canada","woe_name":"Northwest Territories","latitude":64.0831,"longitude":-119.942,"sov_a3":"CAN","adm0_a3":"CAN","adm0_label":2,"admin":"Canada","geonunit":"Canada","gu_a3":"CAN","gn_id":6091069,"gn_name":"Northwest Territories","gns_id":-570392,"gns_name":"Nord-Ouest, Territoires du","gn_level":1,"gn_region":null,"gn_a1_code":"CA.13","region_sub":null,"sub_code":null,"gns_level":1,"gns_lang":"fra","gns_adm1":"CA13","gns_region":null,"min_label":3.5,"max_label":7.5,"min_zoom":2,"wikidataid":"Q2007","name_ar":"الأقاليم الشمالية الغربية","name_bn":"উত্তরপশ্চিম অধীনস্থ অঞ্চলসমূহ","name_de":"Nordwest-Territorien","name_en":"Northwest Territories","name_es":"Territorios del Noroeste","name_fr":"Territoires du Nord-Ouest","name_el":"Βορειοδυτικά Εδάφη","name_hi":"नॉर्थवेस्ट टेरीटरीज़","name_hu":"Északnyugati területek","name_id":"Wilayah Barat Laut","name_it":"Territori del Nord-Ovest","name_ja":"ノースウエスト準州","name_ko":"노스웨스트 준","name_nl":"Northwest Territories","name_pl":"Terytoria Północno-Zachodnie","name_pt":"Territórios do Noroeste","name_ru":"Северо-Западные территории","name_sv":"Northwest Territories","name_tr":"Kuzeybatı Toprakları","name_vi":"Các Lãnh thổ Tây Bắc","name_zh":"西北地区","ne_id":1159308771,"name_he":"הטריטוריות הצפון-מערביות","name_uk":"Північно-Західні території","name_ur":"شمال مغربی علاقہ جات، کینیڈا","name_fa":"نواحی شمال غرب","name_zht":"西北地區","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[-136.445437,60.001087,-101.986636,78.757826],"geometry":{"type":"MultiPolygon","coordinates":[[[[-110.000025,60.001087],[-110.625027,60.001087],[-111.250028,60.001087],[-111.875024,60.001087],[-112.500025,60.001087],[-113.125026,60.001087],[-113.750027,60.001087],[-114.375029,60.001087],[-115.00003,60.001087],[-115.625031,60.001087],[-116.250032,60.001087],[-116.875034,60.001087],[-117.500029,60.001087],[-118.125031,60.001087],[-118.750032,60.001087],[-119.375006,60.001087],[-120,60.001087],[-120.477423,60.001087],[-120.954807,60.001087],[-121.432196,60.001087],[-121.909579,60.001087],[-122.386968,60.001087],[-122.864357,60.001087],[-123.34174,60.001087],[-123.819157,60.001087],[-123.842074,60.020214],[-123.879488,60.039715],[-123.993719,60.040495],[-124.010824,60.046131],[-124.01312,60.060106],[-123.992296,60.099173],[-123.997361,60.126562],[-124.103274,60.225285],[-124.184688,60.320965],[-124.20453,60.352902],[-124.225486,60.452768],[-124.249337,60.473466],[-124.402838,60.494088],[-124.469218,60.567158],[-124.599444,60.662135],[-124.611304,60.68224],[-124.611227,60.701202],[-124.505028,60.788488],[-124.506478,60.822282],[-124.582597,60.952822],[-124.615748,60.960392],[-124.806509,60.961062],[-124.837282,60.948197],[-124.859557,60.924137],[-124.880486,60.860317],[-125.151634,60.844354],[-125.229741,60.826215],[-125.322499,60.792389],[-125.378699,60.791663],[-125.706949,60.840476],[-125.863756,60.88998],[-125.89916,60.890233],[-125.931405,60.882641],[-125.957085,60.865096],[-126.003184,60.808791],[-126.064213,60.816009],[-126.098578,60.828896],[-126.114596,60.86336],[-126.161519,60.865876],[-126.222757,60.855846],[-126.234589,60.843552],[-126.234666,60.808945],[-126.255051,60.793806],[-126.296887,60.784511],[-126.3505,60.780523],[-126.520074,60.800321],[-126.66516,60.762341],[-126.767398,60.77492],[-126.83241,60.764099],[-126.859277,60.769416],[-126.889665,60.795619],[-126.888138,60.833137],[-126.9116,60.859592],[-126.918059,60.884245],[-126.908501,60.950108],[-126.944212,61.052446],[-126.963746,61.063454],[-127.054592,61.051237],[-127.092907,61.070507],[-127.096472,61.081439],[-127.082135,61.093689],[-127.026764,61.126472],[-127.0148,61.197784],[-127.02126,61.236753],[-127.072522,61.369643],[-127.116061,61.404085],[-127.166598,61.464521],[-127.22928,61.494437],[-127.299357,61.512158],[-127.468052,61.51051],[-127.608666,61.532856],[-127.656467,61.552159],[-127.713025,61.588183],[-127.807233,61.618747],[-127.993577,61.711219],[-128.019417,61.779642],[-128.04657,61.813381],[-128.093827,61.841264],[-128.206327,61.865269],[-128.23209,61.883584],[-128.25837,61.927749],[-128.366217,61.990898],[-128.400066,62.033734],[-128.560829,62.116911],[-128.615837,62.122097],[-128.67852,62.112286],[-128.775518,62.068923],[-128.81386,62.063814],[-128.840914,62.072955],[-128.879751,62.11099],[-128.90737,62.118999],[-129.013773,62.131655],[-129.136221,62.125514],[-129.208879,62.135742],[-129.254714,62.152771],[-129.26898,62.166306],[-129.261614,62.183752],[-129.239498,62.201967],[-129.232829,62.21982],[-129.243942,62.23641],[-129.29337,62.294231],[-129.291019,62.32229],[-129.239289,62.373244],[-129.249133,62.388548],[-129.293628,62.411224],[-129.296314,62.425287],[-129.28714,62.441151],[-129.199552,62.470034],[-129.18945,62.490293],[-129.211126,62.513441],[-129.449123,62.580051],[-129.490256,62.598717],[-129.494727,62.619074],[-129.525346,62.673534],[-129.54405,62.688036],[-129.620015,62.712249],[-129.636291,62.728311],[-129.642444,62.756426],[-129.658308,62.776476],[-129.718667,62.831671],[-129.728923,62.864872],[-129.714404,62.894787],[-129.713937,62.930603],[-129.617483,63.037291],[-129.611775,63.058681],[-129.629782,63.068272],[-129.734427,63.070129],[-129.827497,63.091761],[-129.870339,63.156899],[-129.905682,63.187408],[-129.978675,63.215753],[-130.059732,63.261203],[-130.133604,63.276452],[-130.139778,63.293349],[-130.101667,63.318794],[-129.948342,63.375692],[-129.905319,63.405772],[-129.844938,63.485786],[-129.855068,63.5217],[-129.887801,63.554824],[-129.945524,63.586355],[-129.975989,63.615655],[-130.063039,63.635628],[-130.081743,63.650196],[-130.097662,63.679112],[-130.110681,63.695031],[-130.14169,63.697613],[-130.243572,63.678332],[-130.28499,63.685935],[-130.302607,63.703711],[-130.298448,63.721025],[-130.25959,63.737406],[-130.145123,63.761839],[-130.12081,63.773133],[-130.117916,63.79337],[-130.139597,63.807839],[-130.282557,63.822561],[-130.363614,63.850213],[-130.51288,63.92013],[-130.660574,63.950519],[-130.757726,63.993047],[-130.791855,64.03051],[-130.846661,64.048802],[-130.871979,64.080608],[-130.929701,64.125465],[-130.94128,64.140505],[-130.913013,64.167608],[-130.91332,64.192514],[-130.930838,64.219233],[-130.981688,64.259465],[-131.012076,64.272824],[-131.026133,64.298093],[-131.021766,64.324416],[-131.106718,64.400903],[-131.265081,64.447046],[-131.358772,64.458471],[-131.399262,64.451385],[-131.449618,64.415965],[-131.512795,64.393432],[-131.585914,64.38026],[-131.763734,64.380512],[-131.796808,64.387906],[-131.802779,64.406561],[-131.790375,64.425963],[-131.730275,64.488882],[-131.715987,64.515029],[-131.729006,64.533816],[-131.752313,64.544945],[-131.893207,64.577201],[-132.052169,64.684197],[-132.106271,64.702148],[-132.32068,64.762716],[-132.401732,64.777438],[-132.553689,64.780228],[-132.588104,64.794082],[-132.599678,64.808551],[-132.601128,64.825909],[-132.583813,64.841828],[-132.5048,64.883741],[-132.497357,64.912679],[-132.497,64.957481],[-132.480954,64.970226],[-132.38088,65.021686],[-132.353826,65.038506],[-132.35259,65.057248],[-132.38127,65.075068],[-132.516066,65.094162],[-132.538314,65.109148],[-132.540148,65.170056],[-132.579446,65.18458],[-132.609912,65.181449],[-132.708096,65.167156],[-132.751816,65.173176],[-132.768093,65.184756],[-132.773234,65.20341],[-132.762484,65.22501],[-132.596887,65.280249],[-132.566422,65.300255],[-132.541697,65.340816],[-132.345872,65.443418],[-132.267759,65.537702],[-132.194689,65.597655],[-132.196188,65.62767],[-132.295252,65.716142],[-132.377754,65.766658],[-132.48904,65.819601],[-132.533172,65.833894],[-132.554848,65.857009],[-132.538984,65.886057],[-132.340752,65.955249],[-132.342746,65.978968],[-132.370909,65.993569],[-132.483404,65.989021],[-132.577249,66.023771],[-132.614328,66.029231],[-132.71365,65.997755],[-132.766181,65.971223],[-132.821321,65.927992],[-132.902505,65.913545],[-132.948027,65.916753],[-132.967797,65.933705],[-132.939556,65.976441],[-132.916458,66.001655],[-132.917902,66.017552],[-132.93798,66.02866],[-133.04146,66.02755],[-133.229096,66.006149],[-133.412133,65.956029],[-133.499727,65.955458],[-133.588947,65.962588],[-133.621632,65.974629],[-133.623801,66.010334],[-133.645351,66.049358],[-133.675739,66.073956],[-133.677184,66.095632],[-133.659793,66.111551],[-133.593776,66.149861],[-133.568716,66.176634],[-133.566958,66.208418],[-133.571248,66.248749],[-133.583157,66.285102],[-133.612095,66.295232],[-133.651141,66.300264],[-133.759636,66.303526],[-133.790173,66.304449],[-133.800121,66.325587],[-133.790096,66.348098],[-133.759554,66.415994],[-133.739378,66.439845],[-133.705968,66.444316],[-133.674316,66.445865],[-133.65403,66.452842],[-133.65202,66.472485],[-133.658375,66.509278],[-133.649279,66.536305],[-133.635194,66.565649],[-133.651762,66.586062],[-133.725606,66.631282],[-133.763921,66.650969],[-133.768601,66.669371],[-133.770743,66.684357],[-133.799039,66.711119],[-133.805856,66.733422],[-133.797539,66.752461],[-133.782735,66.785486],[-133.794155,66.818631],[-133.84751,66.861709],[-133.92386,66.902974],[-134.031323,66.944029],[-134.053389,66.972704],[-134.055581,67.004487],[-134.117983,67.004465],[-134.404869,67.004487],[-134.691744,67.004542],[-134.978602,67.004564],[-135.265461,67.004597],[-135.552314,67.004641],[-135.839167,67.004674],[-136.126053,67.004696],[-136.169306,67.015243],[-136.194553,67.036216],[-136.223227,67.08828],[-136.22382,67.134895],[-136.220546,67.163086],[-136.217987,67.181224],[-136.150157,67.226334],[-136.107761,67.287572],[-136.105179,67.304216],[-136.128536,67.354083],[-136.140907,67.375265],[-136.158529,67.393711],[-136.177623,67.422627],[-136.177908,67.450049],[-136.169251,67.514231],[-136.207934,67.576908],[-136.233307,67.600265],[-136.264755,67.615975],[-136.400711,67.665897],[-136.434406,67.702537],[-136.445437,67.746592],[-136.44531,68.037707],[-136.445184,68.328801],[-136.445052,68.619917],[-136.443756,68.895124],[-136.122362,68.882205],[-135.866633,68.83259],[-135.362174,68.696426],[-135.25882,68.684308],[-135.231222,68.694283],[-135.406921,68.828976],[-135.434573,68.841995],[-135.637969,68.892224],[-135.876323,68.916987],[-135.894725,68.926699],[-135.939011,68.974193],[-135.924772,68.992639],[-135.87284,69.001033],[-135.695224,69.000648],[-135.589986,69.00824],[-135.575545,69.026949],[-135.651246,69.031289],[-135.742641,69.049427],[-135.849686,69.08142],[-135.910199,69.111489],[-135.691456,69.311166],[-135.61492,69.290995],[-135.499552,69.337159],[-135.292822,69.307859],[-135.254991,69.323833],[-135.229799,69.425215],[-135.199027,69.449615],[-135.140843,69.467798],[-134.852902,69.485892],[-134.493853,69.467908],[-134.456823,69.47762],[-134.491216,69.545317],[-134.495374,69.571926],[-134.473676,69.632801],[-134.451478,69.665486],[-134.408945,69.68179],[-134.24203,69.668826],[-134.189888,69.6388],[-134.134056,69.587274],[-134.077471,69.557875],[-133.899959,69.528212],[-133.879805,69.507722],[-133.947475,69.42951],[-134.018403,69.388477],[-134.165037,69.28058],[-134.174337,69.252828],[-133.948068,69.301322],[-133.694059,69.368426],[-133.475931,69.405374],[-133.29364,69.412141],[-133.163134,69.433905],[-133.084428,69.470643],[-133.028254,69.50826],[-132.915342,69.629648],[-132.840311,69.650687],[-132.526789,69.643239],[-132.452324,69.646908],[-132.403901,69.658751],[-132.41274,69.674099],[-132.478938,69.692853],[-132.568361,69.698126],[-132.570608,69.706707],[-132.537539,69.726548],[-132.488496,69.738072],[-132.333984,69.751816],[-132.232416,69.708146],[-132.163427,69.704993],[-131.934109,69.753464],[-131.58186,69.882147],[-131.440939,69.91793],[-131.318957,69.924159],[-131.215862,69.900802],[-131.136381,69.906899],[-131.031841,69.979497],[-130.990604,70.018125],[-130.926163,70.051611],[-130.66548,70.127032],[-130.498438,70.143182],[-130.396375,70.129263],[-130.274938,70.097996],[-130.17494,70.0859],[-130.043324,70.095051],[-129.944985,70.090942],[-129.898063,70.106158],[-129.730087,70.192094],[-129.675644,70.19295],[-129.622987,70.167605],[-129.538442,70.105181],[-129.538183,70.073914],[-129.648283,69.997745],[-130.458854,69.779974],[-130.70853,69.685975],[-130.832087,69.651489],[-130.960117,69.632032],[-131.207979,69.615751],[-131.306345,69.596635],[-131.472953,69.579474],[-131.862797,69.549349],[-131.937779,69.534727],[-131.988783,69.517643],[-132.128776,69.402352],[-132.196809,69.364702],[-132.330782,69.307969],[-132.481212,69.273131],[-132.686728,69.25986],[-132.817471,69.205752],[-132.96795,69.101415],[-133.089443,69.028762],[-133.228244,68.967162],[-133.378933,68.886643],[-133.418313,68.844269],[-133.373379,68.788458],[-133.348391,68.76988],[-133.196823,68.739833],[-133.138019,68.7466],[-133.192176,68.776527],[-133.319557,68.819725],[-133.336663,68.835227],[-133.304028,68.847422],[-132.706031,68.814869],[-132.577612,68.847784],[-132.532656,68.875646],[-132.542241,68.889961],[-132.70435,68.895894],[-132.7391,68.922458],[-132.764681,68.972479],[-132.770131,69.012173],[-132.755458,69.041627],[-132.718923,69.079189],[-132.545186,69.140636],[-132.358066,69.166937],[-132.213964,69.201665],[-132.134357,69.234459],[-131.91964,69.290522],[-131.833392,69.335973],[-131.786937,69.371294],[-131.78107,69.388861],[-131.820165,69.401627],[-131.788387,69.43196],[-131.631804,69.459064],[-131.56292,69.461393],[-131.342935,69.435399],[-131.303011,69.415096],[-131.32472,69.361197],[-131.29392,69.363702],[-131.209012,69.432191],[-131.161732,69.454988],[-131.112843,69.459481],[-131.063415,69.450692],[-131.013417,69.42873],[-130.986286,69.3629],[-130.981974,69.25329],[-130.970658,69.209059],[-130.914331,69.284864],[-130.875027,69.320032],[-130.660701,69.481289],[-130.515956,69.569652],[-130.353589,69.655796],[-130.117635,69.720088],[-129.572109,69.826721],[-129.264871,69.855428],[-129.109118,69.881938],[-129.032895,69.904988],[-128.984319,69.933453],[-128.898949,69.966171],[-128.883678,69.963479],[-128.916775,69.89488],[-128.938638,69.875017],[-129.138314,69.832533],[-129.157897,69.800079],[-129.136221,69.750059],[-129.101724,69.717034],[-129.05434,69.701071],[-128.971448,69.712386],[-128.85301,69.751036],[-128.705497,69.810154],[-128.386734,69.960172],[-128.359186,69.987616],[-128.278623,70.108125],[-128.095871,70.161354],[-127.764963,70.221866],[-127.683779,70.260363],[-127.974043,70.292915],[-128.034172,70.315349],[-128.043653,70.328785],[-127.988902,70.363151],[-128.121474,70.397362],[-128.170105,70.418445],[-128.168062,70.479782],[-128.127314,70.523815],[-128.0405,70.566387],[-127.990995,70.573835],[-127.861648,70.54905],[-127.752817,70.517146],[-127.376871,70.368732],[-127.225973,70.296145],[-127.138462,70.239335],[-126.926821,70.061719],[-126.833492,69.959084],[-126.758664,69.853363],[-126.684924,69.777085],[-126.612162,69.730338],[-126.250453,69.545262],[-126.063823,69.467073],[-125.9074,69.418557],[-125.727801,69.380006],[-125.524966,69.351584],[-125.386785,69.3492],[-125.171865,69.427983],[-125.16685,69.479795],[-125.261574,69.566136],[-125.356919,69.625957],[-125.34552,69.662443],[-125.219403,69.732382],[-125.227879,69.756727],[-125.201166,69.828809],[-125.114011,69.815021],[-125.079596,69.817833],[-125.03102,69.844288],[-124.968283,69.894386],[-124.889165,69.935782],[-124.793672,69.968522],[-124.767909,69.990022],[-124.862605,70.005491],[-124.92002,70.005546],[-124.962597,70.012577],[-124.990404,70.026628],[-124.952419,70.041746],[-124.745118,70.080198],[-124.706336,70.117013],[-124.639956,70.141458],[-124.555027,70.151224],[-124.502578,70.141095],[-124.444493,70.110608],[-124.441494,70.061927],[-124.46718,69.982551],[-124.471931,69.918501],[-124.406925,69.767417],[-124.349379,69.734502],[-124.124615,69.690007],[-124.138463,69.653192],[-124.398373,69.493846],[-124.453897,69.454834],[-124.481336,69.425171],[-124.472085,69.400056],[-124.426146,69.379435],[-124.338091,69.364834],[-124.111723,69.35889],[-124.049655,69.372876],[-123.609142,69.377424],[-123.528398,69.389355],[-123.460442,69.419996],[-123.361455,69.496637],[-123.248955,69.519994],[-123.213662,69.541494],[-123.14447,69.632494],[-123.110385,69.738116],[-123.076618,69.782457],[-123.025768,69.81],[-122.956675,69.818844],[-122.78542,69.808451],[-122.704857,69.817394],[-122.387512,69.808451],[-122.070062,69.816174],[-121.741867,69.797498],[-121.531106,69.775789],[-121.336258,69.741533],[-120.962431,69.660399],[-120.814638,69.616838],[-120.681851,69.566938],[-120.680148,69.237217],[-120.679786,69.031498],[-120.679423,68.825779],[-120.679061,68.620049],[-120.678698,68.41433],[-120.678341,68.2086],[-120.677951,68.002848],[-120.422492,67.924691],[-120.167054,67.846556],[-119.911616,67.768422],[-119.656179,67.690287],[-119.400741,67.612152],[-119.145303,67.534017],[-118.889871,67.455882],[-118.634434,67.377726],[-118.378996,67.299558],[-118.123558,67.221423],[-117.868121,67.143288],[-117.612689,67.065154],[-117.357251,66.987019],[-117.101813,66.908884],[-116.846376,66.830749],[-116.590938,66.752571],[-116.335506,66.674436],[-116.080068,66.596301],[-115.824631,66.518166],[-115.569193,66.440032],[-115.313755,66.361897],[-115.058318,66.283762],[-114.802886,66.205627],[-114.547421,66.12746],[-114.291961,66.049303],[-114.036523,65.971168],[-113.781086,65.893033],[-113.525648,65.814899],[-113.27021,65.736764],[-113.014778,65.658629],[-112.759341,65.580494],[-112.503903,65.502337],[-112.045301,65.501019],[-111.586698,65.499723],[-111.128069,65.498426],[-110.669466,65.497141],[-110.381191,65.348573],[-110.092937,65.200027],[-109.804661,65.051481],[-109.516385,64.902912],[-109.215113,64.813044],[-108.97293,64.779195],[-108.537064,64.744786],[-108.101225,64.710366],[-107.665359,64.675946],[-107.229493,64.641504],[-106.793632,64.607062],[-106.357766,64.572652],[-105.9219,64.538232],[-105.486034,64.503812],[-105.050174,64.469403],[-104.614307,64.434983],[-104.178441,64.400563],[-103.742575,64.36612],[-103.306715,64.331678],[-102.870848,64.297269],[-102.43501,64.262849],[-101.999144,64.228429],[-101.986636,64.080223],[-102.005604,63.84928],[-102.005368,63.608778],[-102.005109,63.368221],[-102.004851,63.127719],[-102.004593,62.887218],[-102.004335,62.646716],[-102.004104,62.406214],[-102.003873,62.165713],[-102.003615,61.925189],[-102.003357,61.684654],[-102.003121,61.444153],[-102.00289,61.203651],[-102.002632,60.963149],[-102.002374,60.722647],[-102.002143,60.482124],[-102.001907,60.2416],[-102.001649,60.001087],[-102.501543,60.001087],[-103.001432,60.001087],[-103.501354,60.001087],[-104.001243,60.001087],[-104.501137,60.001087],[-105.001054,60.001087],[-105.500943,60.001087],[-106.000837,60.001087],[-106.500731,60.001087],[-107.00062,60.001087],[-107.500537,60.001087],[-108.000431,60.001087],[-108.50032,60.001087],[-109.000242,60.001087],[-109.500131,60.001087],[-110.000025,60.001087]]],[[[-110.004365,78.686723],[-110.003667,78.321702],[-110.021855,78.32279],[-110.293443,78.298191],[-110.418368,78.294961],[-110.755094,78.310727],[-110.840051,78.322295],[-111.026731,78.367625],[-111.16918,78.38628],[-111.229017,78.376304],[-111.300516,78.336566],[-111.435054,78.28737],[-111.517501,78.274702],[-111.759711,78.282975],[-112.131236,78.366065],[-112.557829,78.341499],[-112.999892,78.292918],[-113.17252,78.283799],[-113.223057,78.297906],[-113.292562,78.334391],[-113.281686,78.35276],[-113.149938,78.408395],[-112.855872,78.466842],[-112.64082,78.499812],[-112.213996,78.54779],[-111.708784,78.574684],[-111.519852,78.603238],[-111.400326,78.644041],[-111.071456,78.708377],[-110.877569,78.735041],[-110.618072,78.757826],[-110.407805,78.75664],[-110.14048,78.704422],[-110.004365,78.686723]]],[[[-110.003541,78.089649],[-110.00359,77.928941],[-110.199493,77.904859],[-110.751117,77.857211],[-110.865605,77.834118],[-110.856536,77.820363],[-110.811629,77.803158],[-110.719388,77.781427],[-110.292179,77.78636],[-110.18921,77.777011],[-110.152752,77.762959],[-110.130845,77.742382],[-110.117563,77.715564],[-110.116892,77.624718],[-110.139447,77.572116],[-110.198488,77.524523],[-110.37155,77.490619],[-110.682853,77.445916],[-110.893999,77.425976],[-111.060453,77.43315],[-111.226226,77.428502],[-111.951972,77.344193],[-112.176532,77.343754],[-112.372671,77.364112],[-112.643814,77.443697],[-112.925635,77.474931],[-113.046067,77.510724],[-113.164352,77.530258],[-113.197118,77.558855],[-113.208539,77.580202],[-113.188642,77.599757],[-113.13738,77.617533],[-113.120637,77.632628],[-113.16779,77.676453],[-113.189521,77.718311],[-113.271271,77.778406],[-113.283465,77.813024],[-113.282949,77.835667],[-113.269332,77.860056],[-113.215202,77.903518],[-113.187066,77.912351],[-113.021623,77.919119],[-112.804527,77.941597],[-112.304589,78.006768],[-111.206593,78.088155],[-110.873224,78.080607],[-110.727342,78.096581],[-110.458056,78.103239],[-110.003541,78.089649]]],[[[-113.832452,77.754632],[-114.105897,77.720684],[-114.287231,77.721486],[-114.608345,77.769331],[-114.980419,77.91545],[-115.029358,77.967536],[-114.890447,77.976896],[-114.789499,77.992914],[-114.726481,78.015546],[-114.606901,78.040353],[-114.33038,78.077564],[-114.296894,78.063194],[-114.302865,78.032707],[-114.279843,78.004307],[-114.180933,77.998232],[-114.087192,77.977929],[-113.897744,77.915559],[-113.768039,77.903562],[-113.721375,77.889873],[-113.6967,77.868944],[-113.617917,77.832404],[-113.619389,77.813496],[-113.725841,77.775769],[-113.832452,77.754632]]],[[[-115.551285,77.363288],[-115.475584,77.324319],[-115.470206,77.308664],[-115.506615,77.292129],[-115.623921,77.265927],[-116.213701,77.178234],[-116.3292,77.137046],[-116.285738,77.101648],[-116.073114,77.029973],[-115.856848,76.969252],[-115.810057,76.939127],[-115.912867,76.908432],[-116.109753,76.91822],[-116.183241,76.915562],[-116.252746,76.9014],[-116.233959,76.87433],[-116.016221,76.784517],[-115.944568,76.736221],[-115.946304,76.71126],[-115.9848,76.686925],[-116.076218,76.653516],[-116.220446,76.611087],[-116.467639,76.577139],[-116.999234,76.531612],[-117.016779,76.496104],[-117.013264,76.469077],[-117.026184,76.4035],[-117.044476,76.373112],[-117.107784,76.321905],[-117.153905,76.297976],[-117.233616,76.281519],[-117.34694,76.272576],[-117.49241,76.272708],[-117.732396,76.316741],[-117.841408,76.344844],[-117.992975,76.405829],[-118.020232,76.446544],[-118.0054,76.496675],[-117.965405,76.57403],[-117.899492,76.653098],[-117.807636,76.733925],[-117.780455,76.784253],[-117.817919,76.804094],[-117.88081,76.805083],[-118.076433,76.772366],[-118.202781,76.760479],[-118.300603,76.73666],[-118.369877,76.700955],[-118.409148,76.662294],[-118.431011,76.588015],[-118.468161,76.547366],[-118.573685,76.525196],[-118.731558,76.525591],[-118.791401,76.512979],[-118.820751,76.485821],[-118.799564,76.463782],[-118.643887,76.417508],[-118.624535,76.365883],[-118.643399,76.334671],[-118.811555,76.277102],[-118.851139,76.257821],[-118.955449,76.167645],[-118.993945,76.14486],[-119.080709,76.124085],[-119.168226,76.126491],[-119.249251,76.159483],[-119.367903,76.221753],[-119.447796,76.275399],[-119.488824,76.320301],[-119.523706,76.340307],[-119.580346,76.326508],[-119.648944,76.279871],[-119.650779,76.243693],[-119.635843,76.189871],[-119.639666,76.156692],[-119.739636,76.117735],[-119.725195,76.099959],[-119.549727,76.052047],[-119.527166,76.030558],[-119.526134,75.997226],[-119.537763,75.982185],[-119.607938,75.984558],[-119.667132,75.946007],[-119.73483,75.915421],[-119.91288,75.858831],[-120.160567,75.851964],[-120.365385,75.824773],[-120.408874,75.82563],[-120.458329,75.870147],[-120.513799,75.958356],[-120.563309,76.008432],[-120.637153,76.034019],[-120.72867,76.13406],[-120.771566,76.166305],[-120.813396,76.17928],[-120.848382,76.182686],[-120.900106,76.163416],[-121.019302,76.020275],[-121.213474,75.983679],[-121.320185,75.977022],[-121.427955,75.981098],[-121.694533,76.020319],[-121.908211,76.034788],[-122.057428,76.018198],[-122.302763,75.959806],[-122.400481,75.944249],[-122.533059,75.950918],[-122.591089,75.97299],[-122.640494,76.00908],[-122.645943,76.030998],[-122.607392,76.038666],[-122.546259,76.080502],[-122.548176,76.097322],[-122.608661,76.121448],[-122.609463,76.140268],[-122.587913,76.152979],[-122.59272,76.162064],[-122.623932,76.167492],[-122.684648,76.162405],[-122.902804,76.13473],[-122.878282,76.164811],[-122.774,76.227697],[-122.519392,76.353172],[-122.423064,76.390064],[-122.365369,76.401226],[-121.613761,76.441436],[-121.561126,76.453444],[-121.203889,76.62215],[-121.102007,76.660745],[-120.99762,76.691441],[-120.485355,76.793196],[-120.437603,76.816443],[-120.357661,76.886909],[-120.31092,76.904608],[-120.200332,76.931327],[-119.831158,77.073897],[-119.494817,77.176894],[-119.32398,77.240658],[-119.090191,77.305104],[-118.820004,77.332691],[-118.005197,77.381217],[-117.418615,77.317398],[-117.279089,77.313399],[-117.210798,77.33146],[-117.148994,77.36086],[-117.061378,77.348511],[-116.843536,77.339568],[-116.795295,77.346599],[-116.703619,77.379954],[-116.766252,77.398246],[-117.029776,77.431864],[-117.045772,77.44897],[-117.039724,77.46512],[-116.94717,77.503847],[-116.835291,77.528863],[-116.511309,77.547616],[-116.362609,77.542815],[-116.208872,77.51602],[-116.008004,77.460648],[-115.551285,77.363288]]],[[[-113.560711,76.743274],[-113.71246,76.710568],[-114.751492,76.758908],[-114.808285,76.774069],[-114.835257,76.79469],[-114.647056,76.851017],[-114.419858,76.875363],[-113.891647,76.894864],[-113.707527,76.872957],[-113.585414,76.847304],[-113.516502,76.825023],[-113.487591,76.783275],[-113.560711,76.743274]]],[[[-110.002404,75.539063],[-110.002349,75.430485],[-110.002118,74.887551],[-110.002816,74.850989],[-110.175801,74.839981],[-110.386744,74.813965],[-110.543426,74.780369],[-110.624768,74.752694],[-110.749331,74.687688],[-110.940873,74.638722],[-111.287541,74.585164],[-111.72873,74.501964],[-112.519355,74.416853],[-113.016921,74.401923],[-113.514047,74.430081],[-113.671607,74.453031],[-113.836792,74.488945],[-114.174759,74.573738],[-114.268242,74.604335],[-114.37694,74.670846],[-114.312681,74.715077],[-114.132483,74.766131],[-113.862862,74.812537],[-113.324346,74.87528],[-112.836003,74.975574],[-112.66304,74.994415],[-112.192836,75.009763],[-111.955746,75.000381],[-111.784233,75.005654],[-111.671112,75.019453],[-111.503268,75.05562],[-111.25796,75.127713],[-111.078899,75.195202],[-111.033476,75.226776],[-111.093473,75.256286],[-111.181221,75.260471],[-111.473913,75.191126],[-111.620827,75.167769],[-111.780871,75.166165],[-112.000499,75.142445],[-112.214177,75.132931],[-112.255519,75.133711],[-112.478091,75.200014],[-112.597051,75.211659],[-112.652394,75.204716],[-112.70314,75.187138],[-112.799622,75.138205],[-112.855328,75.120582],[-112.951343,75.107816],[-113.339639,75.093248],[-113.711789,75.068617],[-113.794648,75.083811],[-113.844982,75.112211],[-113.85537,75.12947],[-113.860951,75.187764],[-113.886038,75.210912],[-113.853304,75.259384],[-113.810875,75.296331],[-113.758789,75.321709],[-113.503038,75.396691],[-113.467074,75.416126],[-113.588979,75.412094],[-113.878523,75.375454],[-113.916349,75.388165],[-113.984146,75.430078],[-114.016523,75.434264],[-114.053393,75.416895],[-114.074893,75.392406],[-114.124656,75.291222],[-114.16848,75.239488],[-114.284957,75.249925],[-114.429032,75.281137],[-114.482826,75.285377],[-114.51383,75.275512],[-114.503959,75.257988],[-114.357769,75.171273],[-114.356116,75.14094],[-114.451768,75.087876],[-114.859185,74.999766],[-115.020107,74.976145],[-115.077055,74.985297],[-115.128317,75.009478],[-115.173845,75.048809],[-115.279648,75.101565],[-115.342617,75.113397],[-115.413154,75.115001],[-115.478062,75.104125],[-115.537283,75.080713],[-115.574049,75.055884],[-115.608986,75.009577],[-115.683165,74.974179],[-115.728846,74.968136],[-116.142646,75.041569],[-116.476087,75.17179],[-116.841003,75.151542],[-117.004843,75.156079],[-117.501968,75.203859],[-117.565222,75.233346],[-117.600104,75.271688],[-117.596742,75.292508],[-117.576071,75.314063],[-117.513131,75.3568],[-117.387815,75.421498],[-117.33552,75.44235],[-117.257643,75.459533],[-117.154185,75.473013],[-116.890793,75.480506],[-116.212745,75.482934],[-116.077146,75.492964],[-115.335333,75.618043],[-115.250688,75.638566],[-115.141858,75.678534],[-115.117259,75.695014],[-115.121885,75.705813],[-116.034332,75.606706],[-116.425654,75.585359],[-117.0252,75.601531],[-117.137958,75.617143],[-117.163644,75.644894],[-117.03856,75.718404],[-116.972647,75.745738],[-116.802167,75.771599],[-116.389636,75.808195],[-115.838067,75.840593],[-115.476848,75.841319],[-115.17374,75.866994],[-114.991526,75.896349],[-115.602267,75.8948],[-116.337879,75.881056],[-116.444254,75.890614],[-116.654296,75.929319],[-116.664525,75.957587],[-116.580474,75.991535],[-116.549679,76.016858],[-116.609774,76.073756],[-116.591328,76.095817],[-116.45423,76.143234],[-116.20985,76.194419],[-116.059112,76.201703],[-115.768249,76.184235],[-114.939413,76.166096],[-114.778595,76.172611],[-114.880191,76.194881],[-115.024551,76.21147],[-115.664461,76.239848],[-115.796852,76.252559],[-115.822175,76.270027],[-115.831733,76.295779],[-115.825587,76.329837],[-115.779285,76.364696],[-115.58069,76.437503],[-114.998481,76.497455],[-114.766867,76.505695],[-114.534786,76.50174],[-114.298959,76.474812],[-114.193952,76.451455],[-114.141245,76.422671],[-114.115768,76.395854],[-114.112768,76.349447],[-114.101453,76.33121],[-114.05882,76.300723],[-113.923271,76.229147],[-113.823487,76.206823],[-113.362974,76.24845],[-113.171279,76.257777],[-112.978474,76.244704],[-112.697614,76.201703],[-112.333862,76.0719],[-111.865257,75.939295],[-111.867635,75.910741],[-112.047163,75.866433],[-112.080907,75.847416],[-112.056672,75.834232],[-111.877402,75.825553],[-111.70935,75.832068],[-111.549103,75.822147],[-111.513238,75.810667],[-111.454456,75.762151],[-111.372756,75.676469],[-111.275708,75.612495],[-111.163285,75.57022],[-111.052697,75.548511],[-110.88961,75.546918],[-110.72559,75.559519],[-110.459402,75.555333],[-110.002761,75.539063],[-110.002404,75.539063]]],[[[-110.003409,76.479668],[-110.002635,76.244231],[-110.200762,76.289451],[-110.247015,76.306348],[-110.28489,76.332968],[-110.314449,76.369398],[-110.309488,76.397403],[-110.270009,76.416991],[-110.003409,76.479668]]],[[[-118.328146,75.579679],[-118.613889,75.515442],[-118.817136,75.522111],[-119.086653,75.569341],[-119.306044,75.585359],[-119.383251,75.601015],[-119.394567,75.617318],[-119.320151,75.66256],[-119.2268,75.698639],[-119.003481,75.769567],[-118.62609,75.90627],[-118.379024,75.957949],[-118.13666,75.994479],[-117.889335,76.076052],[-117.752473,76.112461],[-117.633716,76.115098],[-117.512614,76.099442],[-117.499128,76.077217],[-117.626356,75.965958],[-117.71596,75.921156],[-117.890835,75.805481],[-118.226522,75.611177],[-118.328146,75.579679]]],[[[-121.076222,75.745276],[-121.154307,75.740651],[-121.240913,75.751857],[-121.221099,75.777499],[-121.0263,75.847515],[-121.015451,75.86751],[-121.018088,75.883847],[-121.042296,75.902985],[-120.993023,75.927462],[-120.91396,75.937515],[-120.887812,75.927979],[-120.878715,75.906687],[-120.896854,75.844516],[-120.921243,75.814446],[-120.954939,75.78876],[-121.006613,75.765711],[-121.076222,75.745276]]],[[[-119.736302,74.112631],[-119.728551,74.108445],[-119.471098,74.201203],[-119.314855,74.206267],[-119.205948,74.198006],[-119.171429,74.186173],[-119.149621,74.167881],[-119.138767,74.127572],[-119.131895,74.02786],[-119.117942,74.015534],[-119.082544,74.02117],[-119.025701,74.044735],[-118.744116,74.192084],[-118.62531,74.232503],[-118.543972,74.244642],[-118.199677,74.266736],[-117.965866,74.266066],[-117.707484,74.252366],[-117.514839,74.231745],[-117.198834,74.171133],[-116.950378,74.101392],[-116.722379,74.027135],[-115.957725,73.747929],[-115.634331,73.665531],[-115.510696,73.618762],[-115.455688,73.584661],[-115.407524,73.541924],[-115.392824,73.501978],[-115.411578,73.464822],[-115.446849,73.43885],[-115.524468,73.416757],[-115.992271,73.32323],[-116.238612,73.2946],[-116.482525,73.253203],[-117.065405,73.107294],[-117.464428,73.037761],[-117.983208,72.902212],[-118.961568,72.684144],[-119.077996,72.64032],[-119.13156,72.608855],[-119.407772,72.360388],[-119.512857,72.302666],[-119.767465,72.243856],[-120.089743,72.229135],[-120.179892,72.212644],[-120.194415,72.126764],[-120.310014,71.984085],[-120.366264,71.88802],[-120.443157,71.630819],[-120.460911,71.605089],[-120.519666,71.557419],[-120.619323,71.505762],[-120.930313,71.446238],[-121.159834,71.414971],[-121.472164,71.389032],[-121.546811,71.406808],[-121.622182,71.447633],[-121.70068,71.451193],[-121.74936,71.444788],[-122.156623,71.26593],[-122.549516,71.193563],[-122.719793,71.128162],[-122.83994,71.097466],[-122.936548,71.088018],[-123.095658,71.093796],[-123.210613,71.12346],[-123.314741,71.169174],[-123.393343,71.218854],[-123.595162,71.423189],[-123.68185,71.493127],[-123.755568,71.528042],[-123.953256,71.652473],[-124.007776,71.677434],[-124.759977,71.835176],[-125.126101,71.923616],[-125.214624,71.954784],[-125.296664,71.973021],[-125.76689,71.960826],[-125.829111,71.965639],[-125.84531,71.978657],[-125.789632,72.025009],[-125.767719,72.054254],[-125.760485,72.082885],[-125.768598,72.129137],[-125.762578,72.137509],[-125.583803,72.183058],[-125.61279,72.192517],[-125.633796,72.210326],[-125.646771,72.236517],[-125.627314,72.25481],[-125.575481,72.265302],[-125.512386,72.307731],[-125.438075,72.382064],[-125.382781,72.423823],[-125.305992,72.450718],[-125.168322,72.522601],[-125.070192,72.551594],[-124.987119,72.588003],[-124.984663,72.604406],[-125.018567,72.617018],[-125.030246,72.644769],[-125.014739,72.73143],[-125.015414,72.776078],[-125.000374,72.813333],[-124.969678,72.843303],[-124.930869,72.8632],[-124.582569,72.925932],[-124.564947,72.944125],[-124.560816,72.965054],[-124.570221,72.988718],[-124.588255,73.005308],[-124.643291,73.018953],[-124.736438,73.022699],[-124.817105,73.0588],[-124.836403,73.076268],[-124.804054,73.125663],[-124.646911,73.204424],[-124.59399,73.243338],[-124.424207,73.418723],[-124.114178,73.527378],[-124.030149,73.644218],[-123.797272,73.768154],[-123.79781,73.785315],[-123.873056,73.82759],[-124.088025,73.856891],[-124.191511,73.902001],[-124.26073,73.953263],[-124.575362,74.248125],[-124.62908,74.270043],[-124.644994,74.304353],[-124.709308,74.326985],[-124.696261,74.348178],[-123.468325,74.436123],[-122.623158,74.464138],[-121.74791,74.540647],[-121.504156,74.545119],[-121.315224,74.530001],[-121.128698,74.490231],[-120.88166,74.420731],[-120.554498,74.352935],[-119.943603,74.253706],[-119.562647,74.232832],[-119.715373,74.153665],[-119.736923,74.129945],[-119.736302,74.112631]]],[[[-110.001833,72.981852],[-110.001184,72.715796],[-110.000954,72.172852],[-110.000723,71.629918],[-110.000487,71.086974],[-110.000256,70.544063],[-110.000025,70.001151],[-110.31251,70.001151],[-110.625027,70.001151],[-110.937538,70.001151],[-111.250028,70.001151],[-111.562512,70.001151],[-111.875024,70.001151],[-112.187541,70.001151],[-112.500025,70.001151],[-112.499822,69.911547],[-112.649994,69.834445],[-112.762466,69.833906],[-112.874939,69.833357],[-112.877988,69.911646],[-112.881064,70.00136],[-113.426919,70.001261],[-113.955027,70.001415],[-114.483162,70.001547],[-115.011269,70.001667],[-115.539376,70.001777],[-116.067511,70.001931],[-116.595618,70.002063],[-117.055358,70.002184],[-117.075303,69.889014],[-116.948076,69.824524],[-116.820876,69.760001],[-116.693671,69.695489],[-116.650495,69.649808],[-116.856038,69.649677],[-116.992752,69.719363],[-117.104011,69.804265],[-117.121995,69.825864],[-117.148659,69.888135],[-117.18403,69.991077],[-117.1954,70.054072],[-117.162738,70.092491],[-117.135426,70.100171],[-116.55381,70.175043],[-115.52912,70.257111],[-114.592327,70.312449],[-114.167002,70.307494],[-113.91658,70.281522],[-113.66551,70.269668],[-113.210758,70.263823],[-112.637898,70.225228],[-112.522767,70.228579],[-112.265961,70.254683],[-112.189656,70.275612],[-111.783689,70.27292],[-111.704856,70.285763],[-111.632561,70.308834],[-111.725835,70.352032],[-112.114158,70.446866],[-113.145516,70.616364],[-113.397026,70.652377],[-113.757289,70.690719],[-113.966063,70.696201],[-114.232195,70.674294],[-114.331413,70.675217],[-114.59264,70.642247],[-114.840739,70.621395],[-115.311223,70.601169],[-115.990898,70.586283],[-116.086089,70.590678],[-116.225895,70.616386],[-116.327288,70.623746],[-116.992543,70.603652],[-117.587058,70.629536],[-118.264068,70.888308],[-118.376513,70.967706],[-118.352535,71.000061],[-118.269105,71.034734],[-117.933857,71.134677],[-117.814068,71.158451],[-117.313943,71.212086],[-116.815295,71.276939],[-116.421518,71.337968],[-116.228224,71.35916],[-116.042111,71.361687],[-115.891653,71.381792],[-115.922272,71.401073],[-116.045291,71.423079],[-116.043918,71.454291],[-115.980252,71.469276],[-115.733757,71.485096],[-115.47186,71.465815],[-115.341018,71.472429],[-115.303423,71.493721],[-115.338123,71.510881],[-115.586661,71.546411],[-116.780282,71.444161],[-117.337124,71.434603],[-117.723354,71.39068],[-117.935637,71.392075],[-118.18818,71.435955],[-118.221875,71.449072],[-118.226445,71.467112],[-118.148338,71.525713],[-117.878404,71.560847],[-117.742344,71.659351],[-117.887605,71.661054],[-118.371531,71.639938],[-118.58299,71.649013],[-118.868399,71.686784],[-118.952087,71.731751],[-118.987721,71.764248],[-118.993742,71.80303],[-118.984205,71.91308],[-118.959816,71.972197],[-118.944622,71.985524],[-118.589862,72.167479],[-118.368663,72.205492],[-118.213504,72.262874],[-118.207483,72.286901],[-118.24588,72.311038],[-118.390493,72.36954],[-118.448627,72.399203],[-118.48129,72.427669],[-118.456587,72.472526],[-118.374525,72.533862],[-118.133122,72.632827],[-117.551709,72.831109],[-117.256457,72.914418],[-116.971664,72.959319],[-116.573239,73.054922],[-115.552192,73.213466],[-114.638217,73.37268],[-114.301909,73.330723],[-114.20641,73.297797],[-114.163981,73.269848],[-114.127034,73.230703],[-114.09546,73.180287],[-114.05169,73.070995],[-114.046158,73.014613],[-114.053755,72.958056],[-114.074739,72.906815],[-114.109154,72.861002],[-114.177676,72.805071],[-114.280304,72.739076],[-114.497839,72.625906],[-114.521531,72.592936],[-114.458124,72.580346],[-114.342421,72.590761],[-114.174473,72.624093],[-113.957817,72.651482],[-113.692437,72.672828],[-113.622179,72.646835],[-113.578075,72.652108],[-113.500066,72.694428],[-113.486141,72.722278],[-113.495908,72.753644],[-113.491387,72.822067],[-113.449837,72.863255],[-113.292408,72.949816],[-113.208022,72.981028],[-113.073555,72.995288],[-112.753628,72.986016],[-112.453778,72.93661],[-112.048091,72.888062],[-111.455412,72.765894],[-111.269743,72.713731],[-111.250412,72.668566],[-111.355497,72.572106],[-111.610907,72.435579],[-111.816011,72.386327],[-111.895178,72.356104],[-111.761595,72.335274],[-111.675116,72.300139],[-111.54355,72.350929],[-111.447353,72.407728],[-111.311183,72.45486],[-111.264777,72.459046],[-111.253434,72.44907],[-111.277153,72.424834],[-111.287261,72.401137],[-111.283745,72.377955],[-111.268084,72.363849],[-111.184632,72.35662],[-111.139879,72.365354],[-110.958984,72.431964],[-110.781554,72.533895],[-110.512549,72.599703],[-110.439325,72.633344],[-110.205129,72.661304],[-110.207947,72.681046],[-110.19717,72.758862],[-110.279106,72.792041],[-110.553632,72.861442],[-110.689412,72.944542],[-110.660837,73.008208],[-110.509269,72.998925],[-110.094618,72.992135],[-110.008446,72.983654],[-110.001833,72.981852]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"CAN-634","diss_me":634,"iso_3166_2":"CA-NU","wikipedia":"http://en.wikipedia.org/wiki/Nunavut","iso_a2":"CA","adm0_sr":5,"name":"Nunavut","name_alt":null,"name_local":null,"type":"Territoire","type_en":"Territory","code_local":null,"code_hasc":"CA.NU","note":null,"hasc_maybe":null,"region":"Northern Canada","region_cod":"Northern Canada","provnum_ne":1,"gadm_level":1,"check_me":20,"datarank":2,"abbrev":"Nun.","postal":"NU","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":7,"mapcolor9":2,"mapcolor13":2,"fips":"CA14","fips_alt":"CA14","woe_id":20069920,"woe_label":"Nunavut, CA, Canada","woe_name":"Nunavut","latitude":64.3853,"longitude":-97.1443,"sov_a3":"CAN","adm0_a3":"CAN","adm0_label":2,"admin":"Canada","geonunit":"Canada","gu_a3":"CAN","gn_id":6091732,"gn_name":"Nunavut","gns_id":448560,"gns_name":"Nunavut","gn_level":1,"gn_region":null,"gn_a1_code":"CA.14","region_sub":null,"sub_code":null,"gns_level":1,"gns_lang":"iku","gns_adm1":"CA14","gns_region":null,"min_label":3.5,"max_label":7.5,"min_zoom":2,"wikidataid":"Q2023","name_ar":"نونافوت","name_bn":"নুনাভুট","name_de":"Nunavut","name_en":"Nunavut","name_es":"Nunavut","name_fr":"Nunavut","name_el":"Νούναβουτ","name_hi":"नुनावुत","name_hu":"Nunavut","name_id":"Nunavut","name_it":"Nunavut","name_ja":"ヌナブト準州","name_ko":"누나부트 준","name_nl":"Nunavut","name_pl":"Nunavut","name_pt":"Nunavut","name_ru":"Нунавут","name_sv":"Nunavut","name_tr":"Nunavut","name_vi":"Nunavut","name_zh":"努纳武特","ne_id":1159307715,"name_he":"נונאווט","name_uk":"Нунавут","name_ur":"نناوت","name_fa":"نوناووت","name_zht":"努納福特","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[-120.681851,51.944889,-61.207213,83.116114],"geometry":{"type":"MultiPolygon","coordinates":[[[[-94.771886,60.001768],[-95.252785,60.001087],[-95.702709,60.001087],[-96.152626,60.001087],[-96.602549,60.001087],[-97.052467,60.001087],[-97.50239,60.001087],[-97.952335,60.001087],[-98.402258,60.001087],[-98.852176,60.001087],[-99.302126,60.001087],[-99.752044,60.001087],[-100.201967,60.001087],[-100.651885,60.001087],[-101.101808,60.001087],[-101.551731,60.001087],[-102.001649,60.001087],[-102.001907,60.2416],[-102.002143,60.482124],[-102.002374,60.722647],[-102.002632,60.963149],[-102.00289,61.203651],[-102.003121,61.444153],[-102.003357,61.684654],[-102.003615,61.925189],[-102.003873,62.165713],[-102.004104,62.406214],[-102.004335,62.646716],[-102.004593,62.887218],[-102.004851,63.127719],[-102.005109,63.368221],[-102.005368,63.608778],[-102.005604,63.84928],[-101.986636,64.080223],[-101.999144,64.228429],[-102.43501,64.262849],[-102.870848,64.297269],[-103.306715,64.331678],[-103.742575,64.36612],[-104.178441,64.400563],[-104.614307,64.434983],[-105.050174,64.469403],[-105.486034,64.503812],[-105.9219,64.538232],[-106.357766,64.572652],[-106.793632,64.607062],[-107.229493,64.641504],[-107.665359,64.675946],[-108.101225,64.710366],[-108.537064,64.744786],[-108.97293,64.779195],[-109.215113,64.813044],[-109.516385,64.902912],[-109.804661,65.051481],[-110.092937,65.200027],[-110.381191,65.348573],[-110.669466,65.497141],[-111.128069,65.498426],[-111.586698,65.499723],[-112.045301,65.501019],[-112.503903,65.502337],[-112.759341,65.580494],[-113.014778,65.658629],[-113.27021,65.736764],[-113.525648,65.814899],[-113.781086,65.893033],[-114.036523,65.971168],[-114.291961,66.049303],[-114.547421,66.12746],[-114.802886,66.205627],[-115.058318,66.283762],[-115.313755,66.361897],[-115.569193,66.440032],[-115.824631,66.518166],[-116.080068,66.596301],[-116.335506,66.674436],[-116.590938,66.752571],[-116.846376,66.830749],[-117.101813,66.908884],[-117.357251,66.987019],[-117.612689,67.065154],[-117.868121,67.143288],[-118.123558,67.221423],[-118.378996,67.299558],[-118.634434,67.377726],[-118.889871,67.455882],[-119.145303,67.534017],[-119.400741,67.612152],[-119.656179,67.690287],[-119.911616,67.768422],[-120.167054,67.846556],[-120.422492,67.924691],[-120.677951,68.002848],[-120.678341,68.2086],[-120.678698,68.41433],[-120.679061,68.620049],[-120.679423,68.825779],[-120.679786,69.031498],[-120.680148,69.237217],[-120.681851,69.566938],[-120.292551,69.420568],[-120.14,69.380566],[-119.852834,69.342334],[-118.868706,69.257168],[-118.74489,69.234272],[-118.48558,69.144877],[-118.306986,69.092736],[-118.095192,69.042913],[-117.830322,68.999923],[-117.311284,68.934917],[-117.226948,68.913417],[-117.131762,68.907111],[-117.025744,68.915944],[-116.549959,68.878799],[-116.424539,68.880623],[-116.334083,68.873624],[-116.222693,68.846807],[-116.059474,68.836985],[-116.065209,68.855431],[-116.251609,68.957911],[-116.243391,68.974083],[-116.166756,68.975325],[-115.936071,68.95812],[-115.883232,68.987311],[-115.80636,68.986641],[-115.631129,68.972534],[-115.442301,68.940905],[-115.239834,68.891873],[-114.993724,68.850059],[-114.620183,68.746117],[-114.413887,68.659578],[-114.218138,68.552043],[-114.110835,68.477314],[-114.092021,68.435413],[-114.051119,68.414637],[-113.988178,68.415],[-113.964409,68.399081],[-114.020785,68.306499],[-114.053239,68.283373],[-114.095948,68.266794],[-114.274778,68.247876],[-114.76529,68.2702],[-114.852209,68.195273],[-115.127048,68.132014],[-115.17591,68.104372],[-115.186764,68.084191],[-115.167072,68.018536],[-115.201854,67.998431],[-115.426849,67.923559],[-115.434501,67.902367],[-115.288459,67.871671],[-115.133223,67.819167],[-115.011165,67.806401],[-114.856757,67.813586],[-114.662865,67.795195],[-114.429416,67.751239],[-114.267028,67.731167],[-114.175715,67.73499],[-114.051069,67.726926],[-113.893196,67.706876],[-113.681945,67.699955],[-113.214999,67.701735],[-113.07495,67.686672],[-112.87946,67.679872],[-112.503052,67.681937],[-112.435145,67.684761],[-112.314532,67.719587],[-112.236738,67.731112],[-112.10132,67.731727],[-111.710904,67.757314],[-111.575718,67.756842],[-111.45071,67.776178],[-111.290826,67.815212],[-111.192174,67.822584],[-111.154809,67.798238],[-111.087425,67.787648],[-110.990014,67.790801],[-110.804856,67.832351],[-110.371968,67.9542],[-110.216264,67.954014],[-110.101957,67.992235],[-110.073947,67.992927],[-110.042504,67.977195],[-109.936541,67.887898],[-109.904241,67.873528],[-109.831325,67.865837],[-109.760166,67.820123],[-109.686014,67.751777],[-109.630357,67.732716],[-109.224336,67.729772],[-109.081244,67.710721],[-109.038041,67.691166],[-108.99448,67.637113],[-108.967657,67.532369],[-108.949908,67.493972],[-108.890972,67.438107],[-108.852009,67.421979],[-108.815188,67.437491],[-108.715114,67.582829],[-108.680232,67.606208],[-108.613315,67.598046],[-108.592902,67.590882],[-108.491509,67.483326],[-108.346973,67.403434],[-107.988725,67.256415],[-107.930536,67.202516],[-107.909195,67.162569],[-107.929454,67.126809],[-107.991307,67.095179],[-108.088437,67.069779],[-108.220779,67.050608],[-108.344336,67.057507],[-108.459061,67.090422],[-108.496057,67.09229],[-108.455287,67.062989],[-108.218142,66.941239],[-108.157684,66.892613],[-108.101483,66.860336],[-108.049601,66.844339],[-108.001772,66.818038],[-107.95798,66.7813],[-107.760962,66.683708],[-107.704893,66.637126],[-107.480333,66.491777],[-107.373672,66.434648],[-107.291352,66.401788],[-107.259491,66.398536],[-107.278097,66.424881],[-107.564439,66.618515],[-107.710343,66.740057],[-107.730887,66.769204],[-107.740215,66.813754],[-107.746004,66.961498],[-107.725075,66.98413],[-107.626187,67.003147],[-107.499218,66.936174],[-107.451263,66.926737],[-107.418864,66.930692],[-107.402094,66.948006],[-107.329205,66.931988],[-107.200171,66.882583],[-107.156505,66.881759],[-107.253756,66.976373],[-107.323366,67.022571],[-107.34786,67.054772],[-107.283161,67.103265],[-107.318455,67.127765],[-107.482376,67.199132],[-107.567487,67.273048],[-107.644068,67.384779],[-107.650918,67.428241],[-107.638388,67.47423],[-107.649885,67.511276],[-107.753003,67.586883],[-107.865091,67.639233],[-107.954052,67.699999],[-107.972114,67.732046],[-107.958392,67.818596],[-107.890903,67.856323],[-107.763105,67.906816],[-107.72864,67.958848],[-107.787472,68.012494],[-107.798272,68.036927],[-107.761039,68.032181],[-107.509348,68.059153],[-107.446198,68.04965],[-107.351117,68.061174],[-107.224148,68.093782],[-107.124826,68.108448],[-106.993644,68.106306],[-106.922563,68.114161],[-106.835644,68.128608],[-106.790738,68.144835],[-106.710999,68.206765],[-106.668421,68.216016],[-106.534888,68.20927],[-106.459489,68.195636],[-106.42425,68.200591],[-106.429518,68.288492],[-106.404376,68.31932],[-106.271233,68.383195],[-106.132146,68.389885],[-106.039311,68.407353],[-105.933062,68.443114],[-105.856916,68.475128],[-105.781187,68.526566],[-105.750206,68.592297],[-105.774315,68.611139],[-105.932238,68.636539],[-106.027138,68.623334],[-106.237307,68.576543],[-106.458044,68.516437],[-106.543309,68.460571],[-106.566666,68.388951],[-106.608474,68.357377],[-106.780427,68.387325],[-106.853706,68.386831],[-106.945821,68.374383],[-107.04333,68.346841],[-107.146195,68.304203],[-107.298147,68.296446],[-107.49912,68.323528],[-107.619343,68.331075],[-107.741505,68.285757],[-107.734243,68.252062],[-107.677658,68.202942],[-107.734167,68.173718],[-108.027199,68.162919],[-108.104587,68.169302],[-108.26101,68.1499],[-108.322787,68.154086],[-108.367902,68.177541],[-108.686566,68.27733],[-108.718113,68.29749],[-108.640907,68.378514],[-108.345732,68.597801],[-108.313487,68.610776],[-107.766335,68.648932],[-107.435915,68.688856],[-106.830684,68.809497],[-106.713482,68.819473],[-106.32428,68.899464],[-106.164473,68.919877],[-106.015696,68.906078],[-105.797931,68.864791],[-105.685584,68.828152],[-105.606054,68.782416],[-105.539856,68.718651],[-105.456915,68.578092],[-105.428625,68.458253],[-105.377462,68.413813],[-105.194968,68.33035],[-105.101331,68.298007],[-105.043609,68.287877],[-104.993792,68.307411],[-104.959816,68.310564],[-104.93674,68.303038],[-104.911966,68.250513],[-104.879435,68.245239],[-104.769621,68.251776],[-104.653194,68.230078],[-104.636401,68.213895],[-104.661153,68.148757],[-104.628183,68.121478],[-104.486822,68.063185],[-104.350729,68.041223],[-104.193531,68.031193],[-103.901558,68.041069],[-103.657206,68.069106],[-103.474146,68.115018],[-103.323222,68.0638],[-103.021768,67.940248],[-102.84157,67.852753],[-102.691997,67.811576],[-102.389092,67.762225],[-102.320362,67.73566],[-102.209752,67.732716],[-102.057256,67.753337],[-101.883644,67.745317],[-101.688879,67.708634],[-101.554983,67.693176],[-101.096408,67.762346],[-101.026414,67.765686],[-100.855593,67.798964],[-100.745604,67.809093],[-100.616124,67.808269],[-100.519648,67.818398],[-100.456086,67.839481],[-100.212948,67.838602],[-99.772951,67.814828],[-99.472272,67.784077],[-99.293574,67.745317],[-99.14689,67.723619],[-99.032165,67.718862],[-98.920467,67.725784],[-98.811741,67.744449],[-98.69728,67.779737],[-98.452795,67.797876],[-98.412129,67.807181],[-98.417139,67.826451],[-98.467836,67.855807],[-98.606483,67.911442],[-98.703558,67.965725],[-98.722235,68.000189],[-98.720065,68.041992],[-98.689836,68.066129],[-98.631543,68.072534],[-98.539873,68.04665],[-98.414816,67.988412],[-98.062561,67.769663],[-97.977631,67.738627],[-97.930763,67.710776],[-97.607397,67.63107],[-97.454924,67.617008],[-97.274264,67.66626],[-97.194421,67.696901],[-97.155409,67.72641],[-97.157167,67.754831],[-97.139852,67.796228],[-97.158046,67.821903],[-97.206567,67.855082],[-97.336123,67.901356],[-97.546648,67.960759],[-97.73909,67.978173],[-97.913345,67.953574],[-98.110516,67.903037],[-98.192529,67.922988],[-98.438381,68.064679],[-98.500289,68.117655],[-98.500262,68.132278],[-98.386081,68.115326],[-98.380862,68.132487],[-98.449181,68.200799],[-98.491242,68.223618],[-98.632993,68.331152],[-98.650483,68.363529],[-98.562247,68.370868],[-98.522196,68.383425],[-98.468555,68.382129],[-98.218545,68.31743],[-98.090521,68.346324],[-97.794258,68.387611],[-97.911049,68.449519],[-97.938877,68.510449],[-97.925078,68.523699],[-97.828547,68.532773],[-97.639565,68.481973],[-97.548044,68.474941],[-97.481126,68.495145],[-97.410352,68.49654],[-97.335782,68.479127],[-97.265893,68.452925],[-97.13598,68.377998],[-97.071797,68.332888],[-96.999551,68.264927],[-96.976711,68.255424],[-96.628153,68.250304],[-96.430646,68.310608],[-96.434936,68.290096],[-96.480206,68.242811],[-96.725151,68.061251],[-96.722075,68.038795],[-96.592184,68.048452],[-96.531314,68.06313],[-96.493691,68.084938],[-96.461188,68.135837],[-96.43938,68.150878],[-96.075601,68.236505],[-95.970286,68.249139],[-96.036017,68.157755],[-96.171336,67.83167],[-96.198851,67.71783],[-96.228487,67.67918],[-96.371375,67.553859],[-96.369123,67.509759],[-96.212831,67.404313],[-96.185003,67.375572],[-96.169243,67.288967],[-96.141464,67.271839],[-96.012583,67.270906],[-95.879105,67.298481],[-95.719941,67.316796],[-95.695188,67.298734],[-95.782497,67.193782],[-95.77769,67.18463],[-95.626403,67.211579],[-95.557002,67.215282],[-95.528685,67.209184],[-95.415927,67.155593],[-95.404611,67.115592],[-95.40699,67.056112],[-95.418899,67.013243],[-95.456983,66.989447],[-95.502225,66.979889],[-95.559353,66.972759],[-95.610671,66.975703],[-95.76867,66.966716],[-95.861846,66.978186],[-95.954059,67.010892],[-96.019532,67.018747],[-96.095475,66.993534],[-96.215567,66.99772],[-96.350446,67.07001],[-96.404241,67.06322],[-96.422533,67.051772],[-96.420286,67.036172],[-96.359515,66.989403],[-95.885307,66.741376],[-95.813269,66.690146],[-95.79735,66.616549],[-95.787534,66.616813],[-95.743144,66.690454],[-95.772109,66.726061],[-96.016099,66.870443],[-96.045372,66.923155],[-96.036874,66.937493],[-95.972379,66.952247],[-95.625035,66.916278],[-95.490392,66.924133],[-95.399651,66.949457],[-95.354096,66.980691],[-95.321076,67.152495],[-95.258751,67.262556],[-95.295627,67.361059],[-95.389571,67.517845],[-95.463366,67.610185],[-95.633692,67.703877],[-95.650485,67.73744],[-95.460707,68.021382],[-95.426496,68.045255],[-95.384094,68.05556],[-95.234696,68.059724],[-95.125866,68.08329],[-94.955232,68.050287],[-94.861024,68.041641],[-94.744421,68.070886],[-94.485286,68.190077],[-94.383844,68.227024],[-94.254809,68.296809],[-94.098128,68.399388],[-93.927752,68.47381],[-93.651693,68.543101],[-93.48302,68.598867],[-93.448918,68.618917],[-93.605803,68.623663],[-93.643969,68.633123],[-93.676187,68.685967],[-93.659861,68.783756],[-93.662806,68.838171],[-93.68146,68.887269],[-93.715771,68.931039],[-93.765742,68.96959],[-93.811324,68.992683],[-93.852457,69.000341],[-93.880697,68.996825],[-93.8961,68.982202],[-93.938084,68.889082],[-93.991571,68.820604],[-94.064872,68.784745],[-94.216928,68.760553],[-94.478337,68.742755],[-94.586778,68.775549],[-94.600423,68.803246],[-94.562569,68.911659],[-94.475624,68.958164],[-94.236594,69.049735],[-94.083631,69.123091],[-94.081126,69.135835],[-94.221812,69.136395],[-94.255381,69.15149],[-94.284939,69.241611],[-94.276749,69.275251],[-94.254732,69.313759],[-94.156366,69.341763],[-93.854418,69.376381],[-93.619497,69.417008],[-93.612625,69.402847],[-93.800986,69.280909],[-93.820443,69.25262],[-93.748537,69.226132],[-93.567461,69.296884],[-93.450572,69.355199],[-93.430983,69.375073],[-93.537078,69.382324],[-93.542862,69.406461],[-93.522428,69.450692],[-93.532271,69.480926],[-93.649781,69.51906],[-93.794372,69.497856],[-93.91509,69.457668],[-94.015291,69.446715],[-94.163189,69.445946],[-94.270778,69.455142],[-94.338141,69.474258],[-94.419192,69.51705],[-94.513916,69.583451],[-94.633854,69.649655],[-94.676283,69.656884],[-94.712714,69.649391],[-94.789245,69.585472],[-94.822528,69.577771],[-95.292111,69.667375],[-95.491271,69.717605],[-95.587599,69.755695],[-95.707411,69.778217],[-95.850705,69.785094],[-95.964936,69.802771],[-96.050151,69.831138],[-96.11909,69.871864],[-96.171797,69.924928],[-96.269361,69.991802],[-96.4924,70.12489],[-96.551364,70.210287],[-96.559576,70.243026],[-96.545624,70.327236],[-96.33657,70.470168],[-96.297706,70.511378],[-96.226421,70.541689],[-96.122732,70.561223],[-96.048135,70.56709],[-95.878638,70.548973],[-95.980185,70.593215],[-95.988194,70.616858],[-95.88634,70.69429],[-95.90639,70.69775],[-96.186426,70.63827],[-96.257996,70.642302],[-96.358867,70.678656],[-96.548931,70.808723],[-96.551051,70.889725],[-96.491313,71.002335],[-96.470384,71.069714],[-96.52475,71.12703],[-96.504441,71.143147],[-96.445478,71.15922],[-96.420748,71.17648],[-96.44656,71.239893],[-96.405658,71.273632],[-96.271355,71.33911],[-96.139657,71.396393],[-96.061989,71.413883],[-95.994445,71.410631],[-95.924061,71.393064],[-95.850865,71.361072],[-95.725368,71.328157],[-95.632583,71.318796],[-95.564237,71.336781],[-95.447502,71.460081],[-95.406264,71.491655],[-95.445381,71.505355],[-95.674205,71.504059],[-95.773373,71.514243],[-95.830348,71.526075],[-95.872332,71.573152],[-95.837736,71.598267],[-95.615917,71.685388],[-95.511684,71.776805],[-95.201238,71.903731],[-94.886968,71.963364],[-94.734857,71.982975],[-94.611118,71.986875],[-94.557065,71.978965],[-94.491076,71.915508],[-94.478826,71.84859],[-94.308346,71.764874],[-94.171225,71.758458],[-94.085982,71.771126],[-93.810187,71.766237],[-93.746313,71.742803],[-93.750861,71.716655],[-93.781661,71.674336],[-93.762853,71.638059],[-93.575887,71.568702],[-93.407472,71.520703],[-93.256372,71.460861],[-93.031295,71.335693],[-92.982587,71.30035],[-92.948689,71.262107],[-92.890192,71.122383],[-92.882721,71.069363],[-92.904194,70.916082],[-92.921997,70.8871],[-92.98145,70.852262],[-92.960884,70.838156],[-92.783015,70.798154],[-92.641703,70.718811],[-92.567469,70.693202],[-92.388463,70.650421],[-92.355828,70.634271],[-92.315393,70.607531],[-92.214467,70.49291],[-92.049101,70.389661],[-92.037191,70.36738],[-92.072589,70.318755],[-92.047343,70.30333],[-91.983534,70.285532],[-91.926219,70.294783],[-91.875517,70.331158],[-91.820387,70.34165],[-91.760852,70.326248],[-91.715644,70.299221],[-91.654032,70.232974],[-91.564076,70.178251],[-91.571635,70.161563],[-91.616129,70.147863],[-91.858576,70.132668],[-91.994971,70.143215],[-92.121039,70.169934],[-92.208628,70.197521],[-92.290327,70.239851],[-92.320507,70.235347],[-92.363299,70.200828],[-92.45471,70.150444],[-92.511867,70.10384],[-92.445746,70.083164],[-92.127005,70.084504],[-92.057736,70.071431],[-91.976701,70.038669],[-92.069052,69.984001],[-92.284746,69.892112],[-92.750924,69.713936],[-92.887786,69.668199],[-92.854558,69.654873],[-92.802653,69.651456],[-92.642813,69.659268],[-92.49347,69.683218],[-92.311674,69.672902],[-92.230749,69.653368],[-92.258291,69.634307],[-92.209095,69.603292],[-91.911947,69.531255],[-91.724114,69.545625],[-91.532392,69.615026],[-91.38423,69.649446],[-91.201813,69.644799],[-91.150858,69.637141],[-91.170326,69.620299],[-91.305041,69.581287],[-91.426835,69.537924],[-91.439975,69.525707],[-91.288122,69.543197],[-90.950182,69.5155],[-90.785717,69.508579],[-90.666658,69.515522],[-90.554938,69.504492],[-90.450546,69.475444],[-90.415565,69.456998],[-90.5133,69.445111],[-90.605574,69.44532],[-90.683961,69.427753],[-90.748539,69.392487],[-90.794583,69.346728],[-90.822126,69.2905],[-90.892284,69.267297],[-91.004982,69.277086],[-91.049191,69.293027],[-91.024845,69.315253],[-91.057738,69.318406],[-91.14787,69.302563],[-91.217963,69.302102],[-91.237211,69.285535],[-90.74476,69.105908],[-90.587282,68.946848],[-90.479022,68.881172],[-90.468377,68.863759],[-90.538964,68.819571],[-90.542523,68.785986],[-90.51018,68.688878],[-90.525242,68.611293],[-90.573637,68.474689],[-90.528351,68.432205],[-90.423058,68.394741],[-90.360062,68.346731],[-90.317216,68.330295],[-90.285235,68.291667],[-90.24776,68.26741],[-90.204771,68.257489],[-90.174437,68.2702],[-90.156815,68.305499],[-90.116408,68.33859],[-90.005325,68.398048],[-89.897714,68.490751],[-89.879499,68.521556],[-89.896571,68.594363],[-89.884223,68.625575],[-89.783093,68.735955],[-89.750849,68.812441],[-89.720153,68.93161],[-89.666616,69.014601],[-89.551996,69.084935],[-89.351913,69.226988],[-89.279557,69.255465],[-89.1985,69.269473],[-89.056732,69.266111],[-88.953527,69.22043],[-88.814572,69.135879],[-88.637736,69.058832],[-88.315529,68.954451],[-88.223551,68.915021],[-88.041332,68.811716],[-87.964362,68.709291],[-87.911496,68.564678],[-87.865946,68.477633],[-87.827758,68.448091],[-87.810289,68.404145],[-87.813596,68.345698],[-87.827912,68.299962],[-87.85329,68.266893],[-87.892687,68.24814],[-87.990949,68.242031],[-88.111161,68.251183],[-88.145801,68.266014],[-88.209082,68.334844],[-88.23523,68.339084],[-88.34695,68.288284],[-88.360672,68.259862],[-88.319616,68.165764],[-88.32512,67.988774],[-88.313837,67.950322],[-88.19591,67.76584],[-87.997189,67.625687],[-87.499102,67.355325],[-87.470779,67.324629],[-87.417946,67.214139],[-87.391952,67.191046],[-87.359389,67.177247],[-87.320277,67.172853],[-87.266246,67.183861],[-87.083203,67.267786],[-86.923934,67.356247],[-86.812808,67.402368],[-86.749845,67.406114],[-86.682015,67.422297],[-86.609363,67.450818],[-86.560814,67.482107],[-86.536414,67.516164],[-86.503521,67.649462],[-86.475538,67.713127],[-86.39803,67.800095],[-86.369663,67.824803],[-85.984461,68.045354],[-85.952578,68.07249],[-85.788871,68.328021],[-85.731094,68.445026],[-85.722821,68.515459],[-85.744893,68.57829],[-85.733862,68.630123],[-85.689774,68.670948],[-85.643137,68.699678],[-85.562476,68.728824],[-85.517794,68.769803],[-85.491086,68.773989],[-85.42507,68.774253],[-85.338091,68.746293],[-85.275073,68.741338],[-84.867579,68.773319],[-84.867481,68.790403],[-85.106664,68.844071],[-85.104357,68.870944],[-85.083384,68.907891],[-85.008292,68.949232],[-84.916073,68.962251],[-84.895331,68.988497],[-84.892749,69.021006],[-84.862207,69.073971],[-84.890035,69.09279],[-85.11353,69.165861],[-85.24262,69.162751],[-85.275458,69.172321],[-85.386771,69.231899],[-85.427542,69.318406],[-85.431914,69.353881],[-85.416379,69.410878],[-85.402218,69.426775],[-85.409194,69.452505],[-85.437232,69.48821],[-85.439484,69.519939],[-85.415973,69.547745],[-85.430123,69.58066],[-85.482012,69.618772],[-85.502424,69.651511],[-85.44791,69.748147],[-85.446097,69.777777],[-85.497459,69.819042],[-85.534823,69.835071],[-85.507357,69.845244],[-85.415138,69.84954],[-85.304967,69.836147],[-85.176812,69.805144],[-85.019817,69.804781],[-84.833961,69.835071],[-84.645117,69.849694],[-84.318801,69.843695],[-84.241644,69.835016],[-83.917196,69.745356],[-83.665356,69.69973],[-83.551692,69.70396],[-82.991367,69.685876],[-82.745592,69.695105],[-82.618359,69.69104],[-82.374188,69.641799],[-82.390206,69.600864],[-82.495686,69.532244],[-82.633323,69.518137],[-82.754842,69.494363],[-82.642035,69.458394],[-82.309852,69.410032],[-82.231827,69.332567],[-82.208152,69.297015],[-82.246758,69.264968],[-82.227565,69.248895],[-82.150539,69.248873],[-81.951786,69.276086],[-81.732158,69.258102],[-81.412291,69.198149],[-81.377849,69.185647],[-81.321599,69.138933],[-81.328674,69.119938],[-81.611451,69.003021],[-81.758361,68.956725],[-81.951632,68.909077],[-81.957938,68.883655],[-81.686916,68.878953],[-81.476034,68.86556],[-81.380914,68.850059],[-81.331311,68.827998],[-81.263514,68.780603],[-81.252506,68.74314],[-81.25912,68.692449],[-81.281543,68.657205],[-81.526857,68.555966],[-81.63951,68.524347],[-81.831387,68.486883],[-81.914839,68.458769],[-82.006487,68.462648],[-82.106352,68.498562],[-82.210173,68.506263],[-82.397216,68.477578],[-82.498707,68.478611],[-82.548651,68.468591],[-82.552683,68.446465],[-82.464155,68.382436],[-82.413003,68.357201],[-82.392843,68.338304],[-82.430647,68.306576],[-82.422715,68.296578],[-82.392535,68.28524],[-82.222423,68.145242],[-82.186553,68.134442],[-82.151341,68.139694],[-82.077623,68.179662],[-82.033898,68.195944],[-82.012507,68.193878],[-82.013364,68.173411],[-82.091883,68.051451],[-82.102145,68.018899],[-82.100464,67.989829],[-82.062528,67.928152],[-81.976494,67.862003],[-81.869333,67.802479],[-81.70857,67.722378],[-81.492744,67.636904],[-81.412313,67.595354],[-81.294364,67.497433],[-81.270128,67.459914],[-81.301055,67.356973],[-81.387198,67.188563],[-81.442723,67.092861],[-81.467585,67.069889],[-81.630106,67.002004],[-81.722347,66.986096],[-81.874475,66.987953],[-81.925539,66.974725],[-82.00507,66.920409],[-82.113175,66.825124],[-82.198341,66.764656],[-82.260557,66.739134],[-82.374759,66.709416],[-82.553661,66.621383],[-82.641519,66.587512],[-82.948883,66.550818],[-83.198789,66.431506],[-83.298369,66.392153],[-83.406453,66.371246],[-83.523083,66.368763],[-83.590298,66.387836],[-83.628354,66.460697],[-83.651063,66.484625],[-83.739196,66.534393],[-83.920217,66.679028],[-83.998022,66.728533],[-84.05001,66.739497],[-84.154446,66.731686],[-84.207982,66.736344],[-84.32436,66.781761],[-84.366262,66.811117],[-84.361099,66.822532],[-84.272582,66.839231],[-84.310331,66.862742],[-84.466051,66.92744],[-84.530651,66.961344],[-84.538451,66.972814],[-84.6926,67.016583],[-84.845772,67.028723],[-85.040021,66.95607],[-85.113717,66.906929],[-85.111289,66.8909],[-85.018268,66.872091],[-84.977959,66.881243],[-84.899055,66.926583],[-84.857373,66.940668],[-84.737743,66.933592],[-84.63858,66.902325],[-84.602534,66.875145],[-84.589504,66.856644],[-84.318933,66.711789],[-84.223066,66.682489],[-84.18312,66.647849],[-84.152743,66.590248],[-84.094219,66.526219],[-83.964196,66.420542],[-83.825834,66.28998],[-83.797566,66.238465],[-83.869065,66.213581],[-83.905078,66.211769],[-84.011689,66.231203],[-84.293038,66.291815],[-84.324251,66.290661],[-84.398463,66.258746],[-84.459382,66.186247],[-84.4784,66.179315],[-84.628055,66.207693],[-84.908405,66.271359],[-85.096194,66.325356],[-85.191489,66.369697],[-85.306824,66.440339],[-85.442219,66.537338],[-85.603861,66.568242],[-85.79176,66.532943],[-86.063222,66.520386],[-86.633181,66.531339],[-86.708163,66.523066],[-86.737101,66.510904],[-86.688629,66.457489],[-86.700132,66.442767],[-86.738364,66.432847],[-86.747,66.417081],[-86.685114,66.360392],[-86.584786,66.321951],[-86.30101,66.269908],[-86.113088,66.225315],[-86.000841,66.186841],[-85.964257,66.154464],[-85.958731,66.119066],[-86.012267,66.048479],[-86.042853,66.022529],[-86.701967,65.67056],[-86.953191,65.528243],[-87.081083,65.440814],[-87.193825,65.383037],[-87.29146,65.354824],[-87.452904,65.33896],[-87.678135,65.335345],[-87.969976,65.348935],[-88.121005,65.394584],[-88.39485,65.516235],[-88.586737,65.587624],[-88.672464,65.611553],[-88.74393,65.678778],[-88.808474,65.691654],[-88.946144,65.703014],[-89.087758,65.738983],[-89.420358,65.860788],[-89.592689,65.909337],[-89.749398,65.936023],[-89.890485,65.940835],[-89.94401,65.933573],[-89.847748,65.87228],[-89.889694,65.868534],[-90.003798,65.882563],[-90.116605,65.882442],[-90.316271,65.926366],[-90.513278,65.920521],[-90.655496,65.929365],[-90.82574,65.953854],[-91.00953,65.965741],[-91.30548,65.964554],[-91.41152,65.959358],[-91.427252,65.94791],[-91.285177,65.894429],[-91.041105,65.829829],[-91.073668,65.885541],[-91.064923,65.899911],[-90.98346,65.919236],[-90.59684,65.884816],[-90.158628,65.812679],[-90.047567,65.805593],[-89.924059,65.78027],[-89.788004,65.736709],[-89.600424,65.647774],[-89.241731,65.446395],[-89.12654,65.395616],[-88.974049,65.348309],[-88.197788,65.279886],[-87.929535,65.280304],[-87.391952,65.260561],[-87.10801,65.224801],[-87.027547,65.198093],[-87.002695,65.108587],[-87.028502,65.06362],[-87.182893,64.926786],[-87.280507,64.826173],[-87.885018,64.400464],[-87.963593,64.30251],[-87.997562,64.24393],[-88.105624,64.183319],[-88.378942,64.089265],[-88.653029,64.009372],[-88.817725,63.992223],[-88.964381,64.01124],[-89.059622,64.034443],[-89.200653,64.113764],[-89.209431,64.105437],[-89.107654,63.981105],[-89.131549,63.968503],[-89.214551,63.984126],[-89.403527,64.039969],[-89.464765,64.029686],[-89.500932,64.014492],[-89.551293,64.0148],[-89.615816,64.030609],[-89.732732,64.076971],[-89.763812,64.099493],[-89.792091,64.168279],[-89.811306,64.180583],[-90.041657,64.14089],[-90.080021,64.127717],[-89.985583,64.100174],[-89.953568,64.080641],[-89.860602,63.97883],[-89.855724,63.956979],[-89.921895,63.943542],[-90.141907,63.981983],[-90.168186,63.978753],[-90.059641,63.877492],[-90.017992,63.829361],[-90.013444,63.804269],[-90.154728,63.689648],[-90.245288,63.641902],[-90.368852,63.624433],[-90.446261,63.636167],[-90.533493,63.665412],[-90.5964,63.661281],[-90.635006,63.623763],[-90.706835,63.596946],[-90.811886,63.580895],[-90.945656,63.587849],[-91.108078,63.61782],[-91.538808,63.725595],[-91.674665,63.742229],[-91.92601,63.757093],[-91.956003,63.772331],[-91.953805,63.7868],[-91.919451,63.800599],[-91.92891,63.812431],[-91.982238,63.822407],[-92.037587,63.813058],[-92.094892,63.784427],[-92.195191,63.775957],[-92.338442,63.787657],[-92.55011,63.829537],[-92.970238,63.937643],[-93.429692,64.028807],[-93.696341,64.147141],[-93.596712,64.040584],[-93.604875,64.004494],[-93.655802,63.972788],[-93.664173,63.941422],[-93.559814,63.865298],[-93.415586,63.837964],[-93.27022,63.840853],[-93.266188,63.853312],[-93.326855,63.872274],[-93.380265,63.900025],[-93.405868,63.941213],[-93.378534,63.948497],[-93.250428,63.926898],[-93.165938,63.901728],[-92.529231,63.761224],[-92.339189,63.734923],[-92.19646,63.707787],[-92.156877,63.691692],[-92.205013,63.656788],[-92.461044,63.569458],[-92.465076,63.555088],[-92.289553,63.562998],[-92.076621,63.63999],[-91.956815,63.675652],[-91.841855,63.697558],[-91.686024,63.659732],[-91.489292,63.562196],[-91.330078,63.506825],[-91.103068,63.475898],[-90.970045,63.442796],[-90.746605,63.351588],[-90.711273,63.304039],[-90.69074,63.11057],[-90.698595,63.063856],[-90.727643,63.017494],[-90.777873,62.971604],[-90.871212,62.945929],[-91.007696,62.940447],[-91.1149,62.921583],[-91.349491,62.818905],[-91.448983,62.804051],[-91.869628,62.834714],[-92.034225,62.863454],[-92.110075,62.861697],[-92.152097,62.839054],[-92.196125,62.828825],[-92.361283,62.819366],[-92.388155,62.800865],[-92.377713,62.7724],[-92.345265,62.733849],[-92.305159,62.711678],[-92.243152,62.683641],[-92.149098,62.665272],[-91.955849,62.64476],[-91.935832,62.592411],[-91.944467,62.575481],[-92.007869,62.540522],[-92.081137,62.544093],[-92.207232,62.585357],[-92.269503,62.586983],[-92.324077,62.564604],[-92.399988,62.55721],[-92.497348,62.564868],[-92.551401,62.546729],[-92.562201,62.502905],[-92.594962,62.470089],[-92.707412,62.418233],[-92.767975,62.379968],[-92.765986,62.349942],[-92.701469,62.328233],[-92.627465,62.279037],[-92.544062,62.202297],[-92.527962,62.168426],[-92.579175,62.177347],[-92.648114,62.207779],[-92.734774,62.259712],[-92.865824,62.306228],[-93.154463,62.366839],[-93.205362,62.364928],[-93.17927,62.34958],[-92.987806,62.285914],[-92.914428,62.24499],[-92.90554,62.215118],[-93.065891,62.149749],[-93.07028,62.127832],[-93.027752,62.108661],[-93.016255,62.092697],[-93.073384,62.060551],[-93.167487,62.033635],[-93.34975,62.029801],[-93.366339,62.014563],[-93.296856,61.981593],[-93.273423,61.961081],[-93.333056,61.932912],[-93.372019,61.928935],[-93.581776,61.942064],[-93.52669,61.87162],[-93.494237,61.846922],[-93.42995,61.812096],[-93.314402,61.779774],[-93.312023,61.767293],[-93.352332,61.739542],[-93.420595,61.705792],[-93.709673,61.602542],[-93.912761,61.481462],[-93.940875,61.443636],[-93.88925,61.364062],[-93.888838,61.344034],[-93.942012,61.307988],[-94.060763,61.31781],[-94.08345,61.303648],[-94.05521,61.266185],[-94.049964,61.211275],[-94.067795,61.138875],[-94.154043,61.025453],[-94.308708,60.871018],[-94.427174,60.730711],[-94.509396,60.604522],[-94.568897,60.541988],[-94.678761,60.537703],[-94.761702,60.498219],[-94.705249,60.477553],[-94.670647,60.453318],[-94.646774,60.416414],[-94.670417,60.301102],[-94.741603,60.107369],[-94.771886,60.001768]]],[[[-110.003667,78.321702],[-110.004365,78.686723],[-109.940853,78.67845],[-109.815977,78.650391],[-109.640948,78.592097],[-109.580853,78.59324],[-109.504163,78.582495],[-109.467265,78.567191],[-109.362236,78.49288],[-109.342159,78.455988],[-109.336006,78.408439],[-109.352107,78.368658],[-109.390526,78.336665],[-109.484475,78.316407],[-109.7088,78.30375],[-110.003667,78.321702]]],[[[-110.00359,77.928941],[-110.003541,78.089649],[-109.656867,78.079267],[-109.622244,78.074773],[-109.619063,78.056833],[-109.6794,77.999297],[-109.771795,77.957417],[-110.00359,77.928941]]],[[[-110.002816,74.850989],[-110.002118,74.887551],[-110.002349,75.430485],[-110.002404,75.539063],[-109.086358,75.506499],[-109.005049,75.515003],[-108.947145,75.541798],[-108.912571,75.586963],[-108.899497,75.624064],[-108.918229,75.674766],[-108.944767,75.699002],[-109.796059,75.863017],[-109.870497,75.929055],[-109.454659,76.021253],[-109.424737,76.042544],[-109.416624,76.071845],[-109.430368,76.109154],[-109.486827,76.144651],[-109.710146,76.212459],[-109.907834,76.222632],[-110.002635,76.244231],[-110.003409,76.479668],[-109.981601,76.484788],[-109.864866,76.522361],[-109.505042,76.691649],[-109.338539,76.75994],[-109.219557,76.79201],[-109.098218,76.811851],[-108.831646,76.821156],[-108.553911,76.758051],[-108.492388,76.754184],[-108.467015,76.737594],[-108.477765,76.708239],[-108.512438,76.680257],[-108.611842,76.629741],[-108.635172,76.608549],[-108.62763,76.586697],[-108.55952,76.536314],[-108.53864,76.503135],[-108.523551,76.447171],[-108.512493,76.438898],[-108.345473,76.391668],[-108.193543,76.330067],[-108.123214,76.233432],[-108.177915,76.200055],[-108.305813,76.154055],[-108.381904,76.115713],[-108.40614,76.085072],[-108.386815,76.066571],[-108.292376,76.057112],[-108.166286,76.054278],[-108.018778,76.065253],[-107.852275,76.057738],[-107.776876,76.035304],[-107.723499,75.995413],[-107.721274,75.974022],[-107.731843,75.95562],[-107.755172,75.940272],[-107.970406,75.839605],[-108.02069,75.804778],[-107.951081,75.796308],[-107.917539,75.802141],[-107.70257,75.877595],[-107.540923,75.90115],[-107.418271,75.906577],[-107.216189,75.891548],[-107.135675,75.878573],[-107.080436,75.86317],[-107.050383,75.845395],[-106.970935,75.773104],[-106.913521,75.679622],[-106.904221,75.689279],[-106.902771,75.741629],[-106.891713,75.782399],[-106.693119,75.809942],[-106.688081,75.819038],[-106.759394,75.841626],[-106.820088,75.872421],[-106.86205,75.930066],[-106.845642,75.951544],[-106.804119,75.974638],[-106.677024,76.023736],[-106.528609,76.053036],[-106.396603,76.060111],[-105.904849,76.009003],[-105.71132,75.966991],[-105.632669,75.945337],[-105.604428,75.929934],[-105.56329,75.880639],[-105.480893,75.745661],[-105.481436,75.702254],[-105.519499,75.632392],[-105.678399,75.501391],[-105.702641,75.4125],[-105.862574,75.191532],[-105.971976,75.131492],[-106.092639,75.089447],[-106.588243,75.015443],[-106.961114,74.940077],[-107.055629,74.92819],[-107.153429,74.927157],[-107.461909,74.95214],[-107.820052,75.000051],[-108.023634,74.986483],[-108.226618,74.951887],[-108.354438,74.942604],[-108.474744,74.947207],[-108.594193,74.959556],[-108.751314,74.991966],[-108.670262,75.006709],[-108.63331,75.023299],[-108.665999,75.040327],[-108.831283,75.064871],[-109.002538,75.010302],[-109.50313,74.882772],[-110.002816,74.850989]]],[[[-116.856038,69.649677],[-116.650495,69.649808],[-116.693671,69.695489],[-116.820876,69.760001],[-116.948076,69.824524],[-117.075303,69.889014],[-117.055358,70.002184],[-116.595618,70.002063],[-116.067511,70.001931],[-115.539376,70.001777],[-115.011269,70.001667],[-114.483162,70.001547],[-113.955027,70.001415],[-113.426919,70.001261],[-112.881064,70.00136],[-112.877988,69.911646],[-112.874939,69.833357],[-112.762466,69.833906],[-112.649994,69.834445],[-112.499822,69.911547],[-112.500025,70.001151],[-112.187541,70.001151],[-111.875024,70.001151],[-111.562512,70.001151],[-111.250028,70.001151],[-110.937538,70.001151],[-110.625027,70.001151],[-110.31251,70.001151],[-110.000025,70.001151],[-110.000256,70.544063],[-110.000487,71.086974],[-110.000723,71.629918],[-110.000954,72.172852],[-110.001184,72.715796],[-110.001833,72.981852],[-109.609972,72.875702],[-109.469073,72.808422],[-109.357116,72.775045],[-109.12191,72.726409],[-109.043001,72.68688],[-108.987399,72.670807],[-108.968173,72.654119],[-108.985383,72.636804],[-108.994425,72.595979],[-108.95076,72.582861],[-108.797852,72.567514],[-108.754983,72.551078],[-108.698294,72.499244],[-108.627729,72.412013],[-108.566337,72.317344],[-108.469602,72.13875],[-108.276435,71.900369],[-108.210391,71.751174],[-108.188221,71.723785],[-108.144687,71.704922],[-108.020789,71.677511],[-107.925345,71.638674],[-107.812845,71.626172],[-107.785456,71.629688],[-107.757474,71.66302],[-107.687271,71.716117],[-107.346931,71.819235],[-107.329282,71.835253],[-107.369409,71.858972],[-107.381786,71.875144],[-107.376853,71.886108],[-107.306002,71.894678],[-107.542631,72.025316],[-107.695852,72.149319],[-107.794037,72.302611],[-107.809022,72.347468],[-107.823749,72.442764],[-107.855631,72.467824],[-107.909816,72.490774],[-107.932503,72.520404],[-107.923664,72.556659],[-107.934365,72.587761],[-107.997174,72.652702],[-108.238219,73.105822],[-108.237417,73.149899],[-108.20414,73.183078],[-108.118304,73.20204],[-107.979914,73.206742],[-107.936194,73.217135],[-107.987072,73.233098],[-108.077478,73.281416],[-108.089393,73.303696],[-108.029034,73.348751],[-107.720011,73.329042],[-107.496274,73.288392],[-107.113455,73.192119],[-107.074443,73.197393],[-107.03253,73.245293],[-106.950803,73.276022],[-106.82836,73.265914],[-106.482126,73.196206],[-106.08163,73.071918],[-105.812707,73.010636],[-105.624165,72.927514],[-105.495933,72.848994],[-105.415134,72.788328],[-105.411673,72.764652],[-105.430097,72.740361],[-105.41108,72.708743],[-105.354544,72.66973],[-105.323178,72.634794],[-105.297575,72.56046],[-105.246906,72.463583],[-105.23409,72.415089],[-104.878298,71.979998],[-104.810315,71.903159],[-104.767012,71.867607],[-104.51832,71.699242],[-104.385924,71.576953],[-104.373158,71.495116],[-104.355354,71.47166],[-104.34957,71.433988],[-104.355794,71.3821],[-104.384891,71.337528],[-104.436823,71.300273],[-104.487053,71.247902],[-104.563067,71.132402],[-104.569582,71.104036],[-104.514804,71.064265],[-104.166867,70.9272],[-103.953469,70.762657],[-103.853449,70.733774],[-103.584575,70.630855],[-103.294674,70.572462],[-103.197186,70.547293],[-103.104967,70.510269],[-103.077194,70.508818],[-103.021202,70.515795],[-103.005178,70.525924],[-103.001201,70.540964],[-103.082797,70.619077],[-103.088587,70.649696],[-103.049569,70.655068],[-102.750466,70.521892],[-102.589159,70.46885],[-102.368735,70.413248],[-101.989844,70.285038],[-101.937208,70.274579],[-101.732236,70.286356],[-101.676321,70.27827],[-101.641182,70.265581],[-101.626817,70.248322],[-101.618445,70.172406],[-101.562426,70.134998],[-101.239137,70.150961],[-101.148549,70.147632],[-101.090778,70.13569],[-101.04269,70.110817],[-100.973312,70.029474],[-100.90908,69.869194],[-100.905724,69.811736],[-100.935123,69.715331],[-100.982381,69.679878],[-101.043696,69.668716],[-101.21622,69.679625],[-101.337272,69.710266],[-101.400109,69.749279],[-101.456749,69.833873],[-101.483825,69.85021],[-101.508395,69.833159],[-101.565085,69.75564],[-101.602477,69.721274],[-101.647642,69.698533],[-101.733577,69.704169],[-101.860238,69.738072],[-102.097922,69.824601],[-102.182132,69.845947],[-102.234323,69.842245],[-102.348113,69.812999],[-102.523505,69.758221],[-102.595905,69.717913],[-102.565258,69.692183],[-102.544923,69.659828],[-102.53487,69.620815],[-102.540918,69.592086],[-102.563116,69.573585],[-102.621096,69.551514],[-102.743621,69.547745],[-102.91976,69.564642],[-103.059182,69.594668],[-103.303199,69.674297],[-103.359268,69.68536],[-103.434766,69.667683],[-103.464896,69.64448],[-103.418023,69.611411],[-103.294053,69.568466],[-103.142431,69.497252],[-103.101842,69.483354],[-103.062747,69.484904],[-103.048948,69.471786],[-103.031848,69.433488],[-103.039802,69.367603],[-103.112718,69.235986],[-103.120211,69.204609],[-103.090344,69.212003],[-102.884104,69.341323],[-102.777443,69.377578],[-102.546499,69.434465],[-102.446765,69.476301],[-102.151409,69.487694],[-102.045962,69.464832],[-101.978215,69.425116],[-101.975529,69.407032],[-102.052861,69.360472],[-102.066891,69.337115],[-102.070923,69.307606],[-102.063996,69.281151],[-102.046094,69.257684],[-101.992991,69.23603],[-101.899097,69.245489],[-101.872845,69.239963],[-101.822511,69.217068],[-101.789283,69.181615],[-101.787811,69.132264],[-101.857112,69.02395],[-101.980566,68.988497],[-102.358809,68.922876],[-102.488414,68.888917],[-102.73832,68.865],[-102.834852,68.833271],[-102.895057,68.823658],[-103.16225,68.828723],[-103.468203,68.808563],[-103.820347,68.847993],[-104.067337,68.86556],[-104.352695,68.928193],[-104.46018,68.912406],[-104.571439,68.87213],[-105.10588,68.920393],[-105.169287,68.955373],[-105.148358,68.978115],[-105.021648,69.052504],[-105.013584,69.068082],[-105.019577,69.081266],[-105.262352,69.093977],[-105.533012,69.133561],[-105.804984,69.153193],[-106.008407,69.147612],[-106.140852,69.162037],[-106.27015,69.19459],[-106.341177,69.224352],[-106.353943,69.251224],[-106.355701,69.280635],[-106.344253,69.339642],[-106.361359,69.381039],[-106.419982,69.413745],[-106.539799,69.443079],[-106.659066,69.439585],[-106.759937,69.407109],[-106.855799,69.347289],[-107.033464,69.180736],[-107.122497,69.152314],[-107.353391,69.031674],[-107.439898,69.002142],[-107.863382,68.954341],[-108.36498,68.934763],[-108.552544,68.897399],[-108.730412,68.827427],[-108.945876,68.759839],[-109.472099,68.676683],[-109.958552,68.630277],[-110.46762,68.609996],[-110.84811,68.5784],[-110.957253,68.594209],[-111.127602,68.588342],[-111.310925,68.542013],[-111.518072,68.533081],[-112.304946,68.516228],[-112.666193,68.485279],[-112.864266,68.477117],[-113.019502,68.481346],[-113.127712,68.494167],[-113.231401,68.535377],[-113.338062,68.598757],[-113.554822,68.767584],[-113.616835,68.83849],[-113.592544,68.959878],[-113.608562,69.030179],[-113.680676,69.181978],[-113.69414,69.195029],[-114.073421,69.251334],[-114.322964,69.269154],[-114.699065,69.27278],[-115.159035,69.264759],[-115.618132,69.282953],[-115.860754,69.303552],[-116.101536,69.337159],[-116.513501,69.4246],[-116.536808,69.433542],[-116.568795,69.462689],[-116.609467,69.51204],[-116.711991,69.576222],[-116.856038,69.649677]]],[[[-86.595531,67.735913],[-86.638169,67.73488],[-86.705944,67.750129],[-86.861104,67.810488],[-86.892525,67.836581],[-86.908279,67.867046],[-86.908433,67.901927],[-86.894557,67.938072],[-86.847041,68.010264],[-86.937733,68.067601],[-86.959805,68.100242],[-86.949181,68.118688],[-86.898666,68.162864],[-86.884845,68.190516],[-86.833967,68.229683],[-86.702088,68.305598],[-86.5699,68.287723],[-86.451984,68.225497],[-86.421123,68.18343],[-86.43033,68.138738],[-86.420046,68.073929],[-86.390328,67.988928],[-86.382451,67.927306],[-86.396448,67.888986],[-86.446941,67.817003],[-86.489656,67.783616],[-86.546027,67.752195],[-86.595531,67.735913]]],[[[-109.323169,67.990884],[-109.360813,67.987577],[-109.497961,68.047013],[-109.469128,68.098011],[-109.341719,68.045848],[-109.323553,68.013318],[-109.323169,67.990884]]],[[[-73.621732,67.783824],[-74.109085,67.782506],[-74.374065,67.789614],[-74.48072,67.804907],[-74.573379,67.828649],[-74.678639,67.905575],[-74.745996,67.984819],[-74.749281,68.018437],[-74.73145,68.048771],[-74.706544,68.067107],[-74.379404,68.093463],[-74.111392,68.06057],[-73.880734,68.021942],[-73.584027,68.015328],[-73.493774,68.000651],[-73.459233,67.989884],[-73.435228,67.97001],[-73.401566,67.878702],[-73.398204,67.829945],[-73.407191,67.793042],[-73.621732,67.783824]]],[[[-109.166405,67.982358],[-109.053905,67.971877],[-108.970502,67.979722],[-108.909599,67.939391],[-108.886061,67.898544],[-108.893867,67.884492],[-108.920168,67.878801],[-109.09623,67.924021],[-109.161549,67.951717],[-109.183615,67.975019],[-109.166405,67.982358]]],[[[-107.899868,67.40183],[-107.950251,67.318213],[-107.969527,67.326024],[-108.003969,67.365915],[-108.073347,67.385065],[-108.152257,67.429427],[-108.15112,67.524822],[-108.120836,67.568152],[-108.127527,67.628588],[-108.04898,67.664886],[-107.990873,67.622128],[-107.974926,67.549365],[-107.989373,67.51355],[-107.931805,67.476471],[-107.905191,67.467045],[-107.89098,67.437228],[-107.899868,67.40183]]],[[[-62.681568,67.056321],[-62.805417,67.028833],[-62.871631,67.062572],[-62.825104,67.07213],[-62.756989,67.112549],[-62.664385,67.148254],[-62.625318,67.176929],[-62.469718,67.190057],[-62.416775,67.188486],[-62.396341,67.178324],[-62.484605,67.134247],[-62.681568,67.056321]]],[[[-108.092727,67.00519],[-107.966456,66.99728],[-107.805534,66.998599],[-107.833362,66.921343],[-107.895166,66.871882],[-107.943923,66.857831],[-107.96511,66.884857],[-108.05973,66.946875],[-108.092727,67.00519]]],[[[-83.1235,66.282828],[-83.023865,66.270633],[-82.948158,66.271919],[-82.931338,66.257296],[-83.010846,66.208462],[-83.059889,66.199266],[-83.147889,66.234247],[-83.213928,66.277038],[-83.232583,66.302977],[-83.237856,66.331531],[-83.222256,66.336463],[-83.1235,66.282828]]],[[[-83.72599,65.796705],[-83.597527,65.757484],[-83.469448,65.735215],[-83.26318,65.723273],[-83.233748,65.715033],[-83.233934,65.696554],[-83.263641,65.667825],[-83.332427,65.631031],[-83.38147,65.629999],[-83.49542,65.655937],[-83.537113,65.669165],[-83.583212,65.698652],[-83.606547,65.701366],[-83.636364,65.691489],[-83.644395,65.678525],[-83.630651,65.662353],[-83.649514,65.657772],[-83.787546,65.66889],[-83.809244,65.678338],[-83.798192,65.70999],[-83.701919,65.756221],[-83.786503,65.770426],[-83.813584,65.78751],[-83.938949,65.758462],[-84.008514,65.751485],[-84.118246,65.771799],[-84.129946,65.877422],[-84.143229,65.915973],[-84.193206,65.94212],[-84.222968,65.969773],[-84.270923,65.990625],[-84.37014,66.011806],[-84.450571,66.064387],[-84.467391,66.088271],[-84.456339,66.106245],[-84.407164,66.130997],[-84.122245,66.077823],[-83.950375,66.027495],[-83.786942,65.965796],[-83.701348,65.920115],[-83.693646,65.890397],[-83.714883,65.860755],[-83.765112,65.831147],[-83.72599,65.796705]]],[[[-84.674769,65.575012],[-84.726998,65.563696],[-84.78293,65.570079],[-84.83027,65.598995],[-84.86892,65.65051],[-84.931146,65.689171],[-85.071958,65.737335],[-85.096348,65.756199],[-85.136294,65.820864],[-85.14405,65.885332],[-85.174153,65.943724],[-85.175669,65.97241],[-85.149631,66.015399],[-85.031397,66.025484],[-84.938584,66.008533],[-84.919819,65.997008],[-84.889442,65.972047],[-84.869546,65.941505],[-84.757354,65.858921],[-84.691754,65.793146],[-84.602633,65.657388],[-84.602216,65.631493],[-84.626254,65.60406],[-84.674769,65.575012]]],[[[-84.919622,65.261078],[-84.885103,65.248993],[-84.842102,65.255914],[-84.771306,65.305265],[-84.612499,65.447296],[-84.567938,65.460655],[-84.501141,65.458436],[-84.266429,65.367228],[-84.18,65.316328],[-84.133495,65.245477],[-84.084891,65.217825],[-83.900123,65.18124],[-83.722562,65.16899],[-83.490762,65.131791],[-83.407156,65.103907],[-83.222256,64.967973],[-83.200986,64.959657],[-82.990587,64.904099],[-82.667611,64.780338],[-82.585807,64.761936],[-82.271664,64.721166],[-82.158911,64.690657],[-82.050026,64.644294],[-81.928923,64.559414],[-81.7872,64.425985],[-81.676117,64.212641],[-81.667361,64.170498],[-81.680896,64.145537],[-81.720952,64.118873],[-81.902644,64.031257],[-81.887087,64.016404],[-81.716096,64.021886],[-81.335651,64.075774],[-81.104037,64.037124],[-81.023573,64.031081],[-81.005028,64.033301],[-80.921158,64.100482],[-80.828961,64.089935],[-80.694291,64.024753],[-80.607576,63.972063],[-80.568871,63.931908],[-80.579187,63.909221],[-80.668275,63.901476],[-80.450592,63.862925],[-80.261319,63.80195],[-80.302068,63.762202],[-80.504073,63.673784],[-80.711759,63.596374],[-80.953524,63.48026],[-81.013883,63.462539],[-81.04637,63.46155],[-81.179689,63.483204],[-81.371719,63.538059],[-81.963332,63.664435],[-82.145991,63.691175],[-82.378121,63.706809],[-82.411739,63.736494],[-82.467111,63.926953],[-82.571492,63.960692],[-82.929712,64.000429],[-83.033895,64.023226],[-83.038696,64.061415],[-83.016163,64.126992],[-83.065129,64.159028],[-83.18554,64.157534],[-83.30395,64.14379],[-83.494332,64.09924],[-83.583596,64.058075],[-83.617083,64.013404],[-83.637989,63.917834],[-83.66161,63.872593],[-83.728264,63.813365],[-84.022104,63.659886],[-84.141625,63.613744],[-84.260464,63.600516],[-84.307639,63.585783],[-84.38751,63.529094],[-84.506206,63.390029],[-84.554579,63.350006],[-84.632911,63.309214],[-84.795542,63.246943],[-84.961502,63.19723],[-85.238148,63.139299],[-85.392616,63.119666],[-85.495503,63.13909],[-85.56609,63.270893],[-85.714142,63.657975],[-85.73874,63.684122],[-85.76892,63.700327],[-85.80468,63.706556],[-86.301548,63.656788],[-86.57569,63.662314],[-86.846887,63.575313],[-86.915255,63.568985],[-87.052925,63.571776],[-87.151879,63.58563],[-87.177125,63.595133],[-87.193869,63.632805],[-87.188936,63.67229],[-87.154417,63.714873],[-87.031919,63.830416],[-86.932053,63.901684],[-86.886065,63.923745],[-86.421749,64.051538],[-86.308601,64.093659],[-86.252098,64.136858],[-86.252197,64.181253],[-86.274159,64.238042],[-86.354469,64.376535],[-86.374926,64.502988],[-86.374255,64.56583],[-86.343867,64.662356],[-86.227654,64.896354],[-86.188301,65.010293],[-86.114198,65.417303],[-86.074581,65.533824],[-86.017068,65.640282],[-85.961675,65.704255],[-85.813986,65.831949],[-85.699058,65.883168],[-85.554664,65.918664],[-85.523046,65.914534],[-85.495525,65.899702],[-85.442428,65.845572],[-85.241093,65.795519],[-85.176218,65.746893],[-85.13035,65.692917],[-85.105389,65.622715],[-85.130306,65.592096],[-85.226316,65.545766],[-85.242752,65.526233],[-85.239939,65.510314],[-85.056039,65.437397],[-84.919622,65.261078]]],[[[-77.64208,63.991904],[-77.714062,63.945707],[-77.928834,63.961988],[-77.957926,63.97604],[-77.96599,63.992937],[-77.931361,64.0148],[-77.71081,64.03563],[-77.617295,64.037234],[-77.569394,64.030411],[-77.563604,64.022084],[-77.64208,63.991904]]],[[[-76.67759,63.393962],[-76.783158,63.384041],[-76.92186,63.406366],[-77.057234,63.449773],[-77.364752,63.58831],[-77.133687,63.682057],[-76.763624,63.573567],[-76.652442,63.503562],[-76.67759,63.393962]]],[[[-77.876693,63.470548],[-77.792065,63.427811],[-77.703724,63.430854],[-77.654791,63.395973],[-77.53849,63.287043],[-77.527273,63.26896],[-77.532733,63.233661],[-77.593916,63.188441],[-77.65768,63.164623],[-77.79145,63.129609],[-77.942424,63.114393],[-78.024426,63.138882],[-78.255963,63.239857],[-78.468746,63.357894],[-78.536752,63.423724],[-78.507352,63.451113],[-78.417275,63.469977],[-78.234913,63.489565],[-77.933921,63.478941],[-77.876693,63.470548]]],[[[-82.000466,62.95419],[-81.960575,62.926241],[-81.948589,62.884021],[-81.96442,62.827639],[-81.990183,62.776322],[-82.025845,62.730069],[-82.113746,62.652253],[-82.388042,62.519132],[-82.490951,62.4466],[-82.568262,62.403215],[-83.015801,62.2099],[-83.071381,62.200385],[-83.129674,62.20411],[-83.25238,62.232949],[-83.376822,62.238112],[-83.698865,62.160263],[-83.714421,62.173568],[-83.728627,62.257185],[-83.760959,62.303536],[-83.903145,62.402468],[-83.912395,62.425517],[-83.910505,62.45417],[-83.899266,62.47645],[-83.739064,62.568845],[-83.376405,62.90495],[-83.289437,62.921583],[-83.110942,62.88412],[-83.026293,62.872079],[-82.965758,62.873935],[-82.706415,62.944533],[-82.459717,62.936162],[-82.234772,62.977448],[-82.129248,62.977701],[-82.04762,62.970571],[-82.000466,62.95419]]],[[[-70.337072,62.54874],[-70.406374,62.54484],[-70.541473,62.552354],[-70.686558,62.573185],[-70.766066,62.596849],[-70.837554,62.648111],[-70.851254,62.704339],[-70.986156,62.787791],[-71.136943,62.815905],[-71.220142,62.873913],[-71.134877,62.877967],[-71.013698,62.865311],[-70.83461,62.840097],[-70.674342,62.807051],[-70.442618,62.733794],[-70.366812,62.665843],[-70.29149,62.615976],[-70.268836,62.578095],[-70.288546,62.561561],[-70.337072,62.54874]]],[[[-74.000442,62.618426],[-74.05356,62.609692],[-74.253523,62.621997],[-74.499528,62.668788],[-74.626443,62.712766],[-74.619983,62.726301],[-74.564205,62.733277],[-74.500924,62.72651],[-74.394785,62.695814],[-74.108932,62.680312],[-74.016822,62.66269],[-73.988192,62.63607],[-74.000442,62.618426]]],[[[-64.823836,62.558738],[-64.631817,62.548015],[-64.515307,62.551794],[-64.465055,62.53593],[-64.418078,62.487403],[-64.478338,62.417893],[-64.546497,62.391383],[-64.657393,62.383582],[-64.837327,62.406247],[-64.901224,62.421046],[-64.956496,62.458355],[-64.930788,62.485019],[-64.84193,62.494116],[-64.827099,62.50497],[-64.849863,62.525438],[-64.848775,62.543313],[-64.823836,62.558738]]],[[[-79.545318,62.411696],[-79.466228,62.384516],[-79.336029,62.293714],[-79.28647,62.247671],[-79.272001,62.185993],[-79.306421,62.103497],[-79.323933,62.026054],[-79.372251,61.967794],[-79.462174,61.894109],[-79.541858,61.808009],[-79.611313,61.709615],[-79.668772,61.644455],[-79.714255,61.612573],[-79.763342,61.595929],[-79.816109,61.594643],[-79.896354,61.63014],[-80.004151,61.70254],[-80.091976,61.746826],[-80.204916,61.777258],[-80.265176,61.818193],[-80.276151,61.858579],[-80.279853,61.989503],[-80.275118,62.054641],[-80.260056,62.109056],[-80.234689,62.152694],[-80.178559,62.212789],[-80.021598,62.342966],[-79.926742,62.392855],[-79.868042,62.404358],[-79.712541,62.395008],[-79.649557,62.398315],[-79.597646,62.413246],[-79.545318,62.411696]]],[[[-65.030544,61.879035],[-65.008066,61.870279],[-64.981039,61.880617],[-64.960572,61.871674],[-64.946674,61.843363],[-64.923548,61.823719],[-64.865134,61.798165],[-64.84549,61.779895],[-64.847039,61.761504],[-64.896598,61.733291],[-64.927712,61.732511],[-65.165939,61.797649],[-65.230275,61.864028],[-65.23534,61.897723],[-65.210533,61.928364],[-65.173948,61.943195],[-65.12563,61.942218],[-65.068348,61.926035],[-65.030544,61.879035]]],[[[-93.043951,61.844077],[-93.084804,61.841704],[-93.176584,61.892713],[-93.196683,61.918542],[-93.075762,61.935011],[-92.993024,61.889714],[-92.999951,61.867489],[-93.043951,61.844077]]],[[[-64.832625,61.366051],[-64.856806,61.354449],[-64.879778,61.357086],[-64.954244,61.410413],[-65.054395,61.432035],[-65.091474,61.452997],[-65.393884,61.56286],[-65.426799,61.611024],[-65.432127,61.64952],[-65.331613,61.668274],[-65.129761,61.685698],[-64.95443,61.685127],[-64.789635,61.662231],[-64.756347,61.637633],[-64.669588,61.593039],[-64.690956,61.539349],[-64.696406,61.471497],[-64.73232,61.438418],[-64.787614,61.413303],[-64.832625,61.366051]]],[[[-78.531632,60.728547],[-78.668884,60.716912],[-78.669093,60.731338],[-78.611997,60.772317],[-78.399554,60.808121],[-78.241681,60.818668],[-78.278858,60.783885],[-78.372473,60.756397],[-78.531632,60.728547]]],[[[-68.233817,60.240919],[-68.324091,60.232888],[-68.365257,60.254047],[-68.367861,60.314747],[-68.338253,60.360604],[-68.234739,60.455592],[-68.141883,60.561983],[-68.087599,60.587856],[-67.978044,60.570388],[-67.914191,60.539824],[-67.847537,60.488814],[-67.818852,60.449494],[-67.844252,60.391662],[-67.92231,60.339884],[-68.012332,60.30464],[-68.233817,60.240919]]],[[[-64.407015,60.367064],[-64.441951,60.297872],[-64.558176,60.323239],[-64.737956,60.375644],[-64.809015,60.410427],[-64.833812,60.448451],[-64.836426,60.501009],[-64.782549,60.509644],[-64.646308,60.514599],[-64.532544,60.44143],[-64.499827,60.430213],[-64.407015,60.367064]]],[[[-80.064225,59.770825],[-80.16709,59.763848],[-80.122233,59.823175],[-80.083638,59.851849],[-80.041186,59.870141],[-79.955867,59.876964],[-79.898628,59.853145],[-79.949637,59.809914],[-80.064225,59.770825]]],[[[-80.285248,59.624113],[-80.31724,59.621059],[-80.324656,59.63321],[-80.29897,59.674189],[-80.25665,59.679144],[-80.20998,59.724627],[-80.167244,59.708862],[-80.183064,59.683494],[-80.240522,59.644943],[-80.285248,59.624113]]],[[[-69.160063,59.040223],[-69.220861,58.967559],[-69.30171,58.976612],[-69.330823,58.961616],[-69.352818,58.960748],[-69.316332,59.028951],[-69.311531,59.074797],[-69.329977,59.121247],[-69.303204,59.144868],[-69.195175,59.146153],[-69.193802,59.092771],[-69.180684,59.072721],[-69.155207,59.06358],[-69.160063,59.040223]]],[[[-79.716496,57.515507],[-79.732229,57.507498],[-79.775174,57.514475],[-79.792027,57.44859],[-79.808452,57.442437],[-79.838225,57.482999],[-79.815901,57.517727],[-79.819153,57.5416],[-79.810858,57.559277],[-79.76789,57.598707],[-79.742567,57.607957],[-79.726703,57.604595],[-79.713497,57.555036],[-79.716496,57.515507]]],[[[-79.867009,56.774567],[-79.894475,56.757099],[-79.943672,56.776765],[-79.945704,56.826917],[-79.898166,56.86526],[-79.860549,56.863502],[-79.826645,56.843089],[-79.835017,56.816019],[-79.867009,56.774567]]],[[[-79.518193,56.656695],[-79.553481,56.64383],[-79.577388,56.644918],[-79.550746,56.733489],[-79.581749,56.764855],[-79.583562,56.780983],[-79.570126,56.795705],[-79.552866,56.798759],[-79.511217,56.771414],[-79.491057,56.742685],[-79.482169,56.714395],[-79.484553,56.686512],[-79.496539,56.667286],[-79.518193,56.656695]]],[[[-78.935588,56.266076],[-79.017964,56.164991],[-79.083904,56.067894],[-79.175475,55.885059],[-79.227825,55.8785],[-79.273627,55.922479],[-79.142274,56.136415],[-79.1361,56.160267],[-79.142296,56.180701],[-79.182143,56.212177],[-79.221826,56.175955],[-79.407418,55.934882],[-79.455329,55.896177],[-79.495089,55.874754],[-79.526774,55.870678],[-79.605732,55.875655],[-79.764737,55.806771],[-79.49744,56.093162],[-79.494682,56.11497],[-79.544725,56.128363],[-79.564566,56.120969],[-79.781118,55.940562],[-79.904571,55.871063],[-79.987518,55.892145],[-80.008238,55.911053],[-80.000801,55.932092],[-79.790061,56.114146],[-79.596328,56.244477],[-79.515271,56.326534],[-79.482356,56.403823],[-79.467909,56.460347],[-79.468941,56.522618],[-79.458867,56.539724],[-79.447672,56.536549],[-79.435301,56.513038],[-79.432049,56.44746],[-79.47628,56.312845],[-79.511832,56.246597],[-79.554184,56.191973],[-79.536332,56.180086],[-79.458296,56.211068],[-79.392641,56.276458],[-79.339369,56.376302],[-79.305333,56.463061],[-79.272418,56.600423],[-79.261146,56.595666],[-79.245754,56.568277],[-79.210433,56.548897],[-79.155194,56.537614],[-79.123542,56.519959],[-79.100229,56.473915],[-79.077729,56.453635],[-78.994969,56.43643],[-78.963186,56.421719],[-78.940345,56.371446],[-78.942411,56.344936],[-78.931194,56.327929],[-78.90665,56.320382],[-78.935588,56.266076]]],[[[-79.977598,56.207014],[-80.028596,56.199411],[-80.088856,56.21388],[-80.05749,56.287368],[-80.005085,56.31791],[-79.874447,56.348452],[-79.852178,56.367183],[-79.810419,56.376511],[-79.749181,56.376511],[-79.681022,56.403944],[-79.605831,56.458853],[-79.579739,56.466346],[-79.63255,56.38653],[-79.687943,56.326798],[-79.977598,56.207014]]],[[[-78.826505,56.145303],[-78.877295,56.131461],[-78.913835,56.132801],[-78.907013,56.166342],[-78.856882,56.232073],[-78.828417,56.289851],[-78.821594,56.339663],[-78.799424,56.383278],[-78.76185,56.420687],[-78.724497,56.439188],[-78.66873,56.438627],[-78.657162,56.317393],[-78.672817,56.260495],[-78.710182,56.212902],[-78.761389,56.174505],[-78.826505,56.145303]]],[[[-79.938212,53.30414],[-79.939299,53.274268],[-80.004108,53.28008],[-80.039352,53.297164],[-80.067872,53.32408],[-80.074025,53.344284],[-80.049679,53.364444],[-79.974565,53.352249],[-79.938212,53.30414]]],[[[-80.731677,52.747276],[-80.802319,52.733993],[-81.009884,52.760657],[-81.096599,52.779883],[-81.35224,52.85202],[-81.839055,52.957906],[-82.005037,53.010508],[-82.039281,53.049883],[-81.951138,53.132204],[-81.901381,53.165591],[-81.847295,53.186268],[-81.335365,53.224247],[-81.135611,53.205801],[-80.900383,53.037172],[-80.76535,52.923233],[-80.710474,52.831607],[-80.70954,52.78742],[-80.731677,52.747276]]],[[[-79.384292,51.951976],[-79.425611,51.944889],[-79.520621,51.952953],[-79.596888,51.978013],[-79.643767,52.01006],[-79.334864,52.09816],[-79.271308,52.0868],[-79.270199,52.071089],[-79.316605,52.023903],[-79.328954,51.992273],[-79.351531,51.968301],[-79.384292,51.951976]]],[[[-69.488884,83.016797],[-68.67327,82.998758],[-68.409027,83.005295],[-68.10687,82.961185],[-67.924639,82.956021],[-67.624471,82.964393],[-67.405645,82.953901],[-66.591635,82.944057],[-66.422577,82.926874],[-66.424775,82.906154],[-66.600369,82.861253],[-66.836301,82.817945],[-68.357556,82.676814],[-68.469352,82.653359],[-68.172864,82.645965],[-67.735883,82.652425],[-67.397065,82.668135],[-66.99769,82.716091],[-66.865711,82.718826],[-66.611872,82.742084],[-66.120453,82.807145],[-65.727429,82.842433],[-65.549637,82.826932],[-65.400003,82.802388],[-65.299006,82.799598],[-65.246601,82.818516],[-65.162424,82.870141],[-65.113183,82.888895],[-64.983885,82.902276],[-64.904871,82.900837],[-64.77676,82.876436],[-64.634783,82.818615],[-64.504013,82.778405],[-64.433371,82.777735],[-64.134246,82.823218],[-63.983613,82.829107],[-63.641048,82.812616],[-63.498698,82.792566],[-63.473023,82.771231],[-63.564078,82.748753],[-63.62058,82.729318],[-63.64252,82.712992],[-63.592697,82.694019],[-63.385407,82.653458],[-63.085337,82.565248],[-63.087051,82.532795],[-63.250835,82.466855],[-63.246781,82.45021],[-62.475179,82.519567],[-61.69716,82.488608],[-61.477071,82.467426],[-61.392476,82.441894],[-61.302509,82.399772],[-61.207213,82.34105],[-61.273538,82.279834],[-61.615378,82.18444],[-61.968643,82.110238],[-62.176713,82.04342],[-62.496492,82.00678],[-63.592312,81.845501],[-64.127918,81.793667],[-64.435799,81.742603],[-64.574007,81.733715],[-65.226199,81.743482],[-65.399157,81.715379],[-65.49543,81.668094],[-65.701072,81.645561],[-66.004723,81.629433],[-66.625748,81.616414],[-66.76501,81.563031],[-66.800595,81.52681],[-66.861163,81.498696],[-66.914073,81.485105],[-68.688541,81.293328],[-68.72117,81.261237],[-68.542576,81.248009],[-68.317686,81.261237],[-65.735701,81.494246],[-65.239987,81.509649],[-64.780066,81.492851],[-64.832757,81.438622],[-65.48396,81.284781],[-66.312846,81.146155],[-66.726877,81.040895],[-67.774357,80.859401],[-68.630456,80.678698],[-68.959354,80.586863],[-69.400103,80.422848],[-69.550682,80.383265],[-69.733769,80.366928],[-69.949321,80.373805],[-70.143493,80.397679],[-70.402628,80.458993],[-70.63868,80.527537],[-70.712574,80.539578],[-70.667827,80.505575],[-70.212784,80.277741],[-70.264881,80.233609],[-71.100281,80.187049],[-71.470048,80.145905],[-71.660837,80.13594],[-71.795925,80.143378],[-71.927651,80.139137],[-72.055982,80.123218],[-72.062991,80.105552],[-71.948679,80.086172],[-71.61609,80.071033],[-70.877061,80.122295],[-70.758519,80.118681],[-70.5684,80.09372],[-70.559073,80.071],[-70.757508,79.998216],[-71.355823,79.911303],[-71.277612,79.906337],[-71.106324,79.875542],[-71.11018,79.847791],[-71.298585,79.782576],[-71.387838,79.761746],[-71.964543,79.701057],[-72.215537,79.686819],[-72.436505,79.694389],[-73.448148,79.827115],[-73.80505,79.846286],[-74.144253,79.879772],[-74.394466,79.874092],[-74.660214,79.835179],[-74.540716,79.81559],[-74.051034,79.778236],[-73.642067,79.770996],[-73.472461,79.756429],[-73.405905,79.732193],[-73.229377,79.643973],[-73.201109,79.596589],[-73.240122,79.552478],[-73.293581,79.521607],[-73.36151,79.503985],[-73.466056,79.495152],[-73.865947,79.501403],[-74.015372,79.490548],[-74.188692,79.464764],[-74.405991,79.453547],[-74.797939,79.458688],[-75.259486,79.421049],[-75.503448,79.414172],[-75.773822,79.431167],[-76.066871,79.47319],[-76.376081,79.494427],[-76.898844,79.512301],[-76.855096,79.488219],[-76.670921,79.47809],[-76.295672,79.4136],[-76.116353,79.326116],[-75.947505,79.311339],[-75.602743,79.239555],[-75.353661,79.228338],[-75.093603,79.203904],[-74.727264,79.235369],[-74.481181,79.22948],[-74.532323,79.052743],[-74.64089,79.035539],[-75.233152,79.035539],[-75.514665,79.061247],[-75.638943,79.087735],[-75.911799,79.117782],[-76.157563,79.100391],[-76.380344,79.104159],[-76.53145,79.086515],[-76.77115,79.087163],[-77.398062,79.057292],[-77.729256,79.056929],[-77.97379,79.07621],[-78.257907,79.082198],[-78.581653,79.075024],[-78.558999,79.054578],[-78.421769,79.048404],[-78.221993,79.015126],[-78.03683,78.963919],[-77.882757,78.942364],[-77.69822,78.954558],[-77.510409,78.978487],[-76.824818,79.017862],[-76.524111,79.024223],[-76.255858,79.006853],[-76.077319,78.985155],[-75.952668,78.959052],[-75.795058,78.889761],[-75.399836,78.88128],[-75.098558,78.858285],[-74.618412,78.757727],[-74.486301,78.750103],[-74.433127,78.724131],[-74.53508,78.659279],[-74.546605,78.620321],[-74.878601,78.544823],[-75.396551,78.522829],[-75.965852,78.529827],[-76.373477,78.521071],[-76.416126,78.511535],[-76.136513,78.491693],[-75.488353,78.403539],[-75.237205,78.355738],[-75.193436,78.327722],[-75.550678,78.221122],[-75.865953,78.009811],[-75.96962,77.993123],[-76.077517,77.987278],[-76.355592,77.991003],[-76.708077,77.937884],[-76.974001,77.927238],[-77.455938,77.947178],[-78.012594,77.946046],[-78.056396,77.911725],[-78.084115,77.846104],[-78.081072,77.747348],[-78.047168,77.615468],[-78.076161,77.519063],[-78.167984,77.458111],[-78.283747,77.4131],[-78.493213,77.369385],[-78.708468,77.34215],[-78.869549,77.332537],[-79.137594,77.330988],[-79.906384,77.299545],[-80.28171,77.301479],[-80.573057,77.314816],[-80.87462,77.358585],[-81.376838,77.482149],[-81.519287,77.50956],[-81.659088,77.525446],[-81.653826,77.498837],[-81.503544,77.429766],[-81.378179,77.385194],[-81.27772,77.365199],[-81.301384,77.344062],[-81.522956,77.310839],[-81.767325,77.295952],[-82.056793,77.296524],[-82.065989,77.283659],[-81.967804,77.247843],[-81.84022,77.214093],[-81.756317,77.204019],[-81.53447,77.214456],[-81.277467,77.257094],[-81.117209,77.269651],[-80.798188,77.259467],[-80.672538,77.244306],[-80.274217,77.150955],[-80.218714,77.14656],[-79.923743,77.193604],[-79.497264,77.196087],[-79.340885,77.158393],[-79.281097,77.085169],[-79.273813,77.025788],[-79.318923,76.98037],[-79.220738,76.936051],[-78.979204,76.892875],[-78.791777,76.883581],[-78.658557,76.908014],[-78.45598,76.967241],[-78.370045,76.981271],[-78.288856,76.977986],[-78.165095,76.934887],[-77.998751,76.851951],[-77.983293,76.755008],[-78.118689,76.644057],[-78.284308,76.571217],[-78.934303,76.451148],[-79.130716,76.403972],[-79.285909,76.354776],[-79.51103,76.31049],[-79.953559,76.251262],[-80.18681,76.240199],[-80.690259,76.176457],[-80.799715,76.173567],[-80.962961,76.183927],[-80.996656,76.214986],[-80.955183,76.270181],[-80.901229,76.321542],[-80.834806,76.369135],[-80.832378,76.408642],[-80.97453,76.470066],[-81.074374,76.498488],[-81.170702,76.512748],[-81.364797,76.504475],[-81.474452,76.487633],[-81.591995,76.484425],[-81.717382,76.494972],[-81.82296,76.520856],[-82.034161,76.629401],[-82.113746,76.643233],[-82.217919,76.639816],[-82.311149,76.655373],[-82.393469,76.689892],[-82.529842,76.723279],[-82.493412,76.697802],[-82.356984,76.636048],[-82.261974,76.574711],[-82.208361,76.513759],[-82.233168,76.465825],[-83.388984,76.43926],[-83.885698,76.453114],[-83.986311,76.495016],[-84.223792,76.675324],[-84.275339,76.356533],[-85.14126,76.304568],[-85.343617,76.313379],[-85.680579,76.34903],[-86.115802,76.434921],[-86.296198,76.491874],[-86.36684,76.548607],[-86.41942,76.579611],[-86.453709,76.584884],[-86.561924,76.516516],[-86.680236,76.376627],[-86.97768,76.41275],[-87.354192,76.44805],[-87.489796,76.585818],[-87.497553,76.386295],[-88.104328,76.41275],[-88.395993,76.405258],[-88.48162,76.580083],[-88.495858,76.772838],[-88.614115,76.650879],[-88.562545,76.547212],[-88.54578,76.420913],[-88.803695,76.456828],[-89.369656,76.47445],[-89.57008,76.491918],[-89.54435,76.659657],[-89.499745,76.826781],[-88.770912,76.993334],[-88.556217,77.072194],[-88.398168,77.103955],[-88.147943,77.124027],[-87.828406,77.136486],[-87.610514,77.126873],[-87.36174,77.136222],[-87.064472,77.165885],[-86.852216,77.174411],[-86.812236,77.184925],[-86.87376,77.200305],[-87.100858,77.307741],[-87.182399,77.33213],[-87.265368,77.343007],[-87.429668,77.347786],[-87.589168,77.394807],[-87.681464,77.436358],[-87.780187,77.492838],[-87.937929,77.599812],[-88.094671,77.719179],[-88.016975,77.784734],[-87.757116,77.836227],[-87.496773,77.871944],[-87.236012,77.891807],[-87.017988,77.892246],[-86.755064,77.863726],[-86.38511,77.808607],[-86.172975,77.746161],[-85.906633,77.613897],[-85.731226,77.508659],[-85.588491,77.461143],[-84.950856,77.374966],[-84.738699,77.361013],[-84.487035,77.36799],[-83.973578,77.390545],[-83.721288,77.414187],[-83.608074,77.442246],[-83.549835,77.482555],[-83.477358,77.513614],[-83.250315,77.584827],[-82.902707,77.732725],[-82.71037,77.84951],[-82.664689,77.888841],[-82.626324,77.936324],[-82.595288,77.992134],[-82.70358,77.962427],[-83.303774,77.673706],[-83.428206,77.621313],[-83.779373,77.532631],[-83.928149,77.518316],[-84.167827,77.52271],[-84.485848,77.561986],[-84.860548,77.499507],[-85.087877,77.515371],[-85.289367,77.559042],[-85.292025,77.763882],[-85.547534,77.927699],[-85.265328,78.010591],[-85.031495,78.062007],[-84.615421,78.195689],[-84.524169,78.197084],[-84.222704,78.176001],[-84.388125,78.206368],[-84.549998,78.251346],[-84.910371,78.239722],[-84.783193,78.527608],[-85.02431,78.312375],[-85.270162,78.199512],[-85.418994,78.142416],[-85.585931,78.109545],[-86.217777,78.081178],[-86.062617,78.186955],[-85.920048,78.342862],[-86.070967,78.284623],[-86.427045,78.19704],[-86.693595,78.151018],[-86.913245,78.126805],[-87.339339,78.132649],[-87.551726,78.176628],[-87.491115,78.284425],[-87.49129,78.417173],[-87.361278,78.47873],[-87.164315,78.557633],[-86.952905,78.663904],[-86.80793,78.774361],[-86.241914,78.823612],[-85.690994,78.843717],[-85.229678,78.902011],[-85.003744,78.912239],[-84.787269,78.884587],[-83.907891,78.839136],[-83.547045,78.804496],[-83.388699,78.779348],[-83.27142,78.77034],[-83.147395,78.807847],[-82.989785,78.844124],[-82.441787,78.84041],[-82.290681,78.847079],[-82.151056,78.864097],[-81.981086,78.898495],[-81.780795,78.950329],[-81.750099,78.975773],[-81.889109,78.974872],[-82.028295,78.961842],[-82.237375,78.924071],[-82.438788,78.903681],[-82.6441,78.907537],[-83.058538,78.939518],[-83.778604,78.945264],[-84.145789,78.959832],[-84.316143,78.975279],[-84.411998,78.99657],[-84.495868,79.028562],[-84.567751,79.071299],[-84.530288,79.10127],[-84.383577,79.118529],[-84.256663,79.122144],[-84.053031,79.098688],[-83.824592,79.058819],[-83.575873,79.053677],[-83.662017,79.090053],[-83.978126,79.163123],[-84.197391,79.225086],[-84.381072,79.301254],[-84.522433,79.376631],[-84.836444,79.494734],[-85.089789,79.612145],[-85.268481,79.664132],[-85.456952,79.689862],[-86.031482,79.721932],[-86.146619,79.742839],[-86.420739,79.845209],[-86.494358,80.018167],[-86.614504,80.123537],[-86.498544,80.258229],[-86.307184,80.319335],[-85.159607,80.271797],[-84.675418,80.278927],[-84.056514,80.261954],[-83.723617,80.228951],[-83.343776,80.146993],[-83.004309,80.054598],[-82.677477,79.992788],[-82.376979,79.908249],[-82.048784,79.782774],[-81.855721,79.72258],[-81.688367,79.685808],[-81.463037,79.654135],[-81.038097,79.614211],[-80.667814,79.601038],[-80.475937,79.606256],[-80.270625,79.635194],[-80.124485,79.669505],[-80.287445,79.678964],[-80.714033,79.674932],[-81.01017,79.693125],[-81.179073,79.733423],[-81.3587,79.787795],[-81.644235,79.890242],[-81.860248,79.957182],[-82.332385,80.066375],[-82.6813,80.174898],[-82.961133,80.277895],[-82.987028,80.322587],[-82.784813,80.353755],[-82.536149,80.375563],[-80.97965,80.445271],[-80.051074,80.52857],[-79.674353,80.62526],[-79.629342,80.647837],[-78.386162,80.784375],[-77.507146,80.834781],[-77.169162,80.842922],[-76.863006,80.864784],[-76.850339,80.878166],[-77.118548,80.896458],[-77.389427,80.905401],[-78.003816,80.90483],[-78.550957,80.921419],[-78.716224,80.951653],[-78.681914,81.001048],[-78.6293,81.043477],[-78.463934,81.114383],[-78.286791,81.167601],[-77.53604,81.32108],[-77.030724,81.385679],[-76.885122,81.430273],[-77.97234,81.330802],[-78.352137,81.258919],[-78.733868,81.151011],[-78.931556,81.119239],[-79.072478,81.127654],[-79.198337,81.11758],[-79.309189,81.089059],[-79.402156,81.036863],[-79.477236,80.961003],[-79.545428,80.909323],[-79.606655,80.88178],[-79.761354,80.841944],[-80.133526,80.76393],[-81.007016,80.654869],[-81.300978,80.627194],[-81.552696,80.622778],[-82.368201,80.561309],[-82.613042,80.558903],[-82.884338,80.577558],[-82.768323,80.630688],[-82.33678,80.728664],[-82.222368,80.772334],[-82.498422,80.762776],[-82.779957,80.736058],[-83.40141,80.713986],[-83.647141,80.674095],[-83.885369,80.60175],[-84.076256,80.556277],[-84.219792,80.537776],[-84.417843,80.526768],[-85.145852,80.521132],[-85.307395,80.525988],[-85.726238,80.581128],[-86.097169,80.562111],[-86.250341,80.56578],[-86.531613,80.604749],[-86.615405,80.630039],[-86.603079,80.66402],[-86.440481,80.728049],[-86.25212,80.789539],[-85.639314,80.924627],[-85.246267,80.987875],[-84.679911,81.042389],[-83.349192,81.10332],[-83.288833,81.147946],[-84.635449,81.098068],[-85.780862,81.035083],[-85.966816,81.011902],[-86.233444,80.950093],[-87.080259,80.726291],[-87.329912,80.669755],[-87.711665,80.656264],[-88.003649,80.675391],[-88.232,80.703813],[-88.62508,80.77006],[-88.921447,80.805634],[-89.061698,80.82954],[-89.144579,80.853666],[-89.211782,80.881934],[-89.263253,80.914289],[-89.166903,80.941315],[-88.413065,80.999762],[-87.388667,80.988392],[-86.928977,81.000433],[-86.476758,81.035721],[-85.809591,81.1236],[-85.083329,81.246878],[-84.941221,81.286231],[-85.206321,81.294888],[-85.402482,81.285319],[-85.875037,81.241187],[-86.622744,81.122644],[-87.275101,81.080787],[-88.886796,81.058517],[-89.398385,81.025339],[-89.623056,81.032469],[-89.792289,81.064823],[-89.980935,81.12471],[-89.947295,81.172643],[-89.563367,81.226487],[-89.26255,81.239045],[-89.208717,81.250075],[-89.635712,81.302062],[-89.67367,81.328627],[-89.427016,81.387437],[-88.892289,81.474097],[-88.621915,81.501409],[-88.126498,81.5188],[-87.616688,81.509341],[-87.597023,81.525821],[-88.101361,81.558637],[-88.479038,81.564635],[-88.978389,81.541487],[-90.303527,81.401126],[-90.416334,81.405367],[-90.609035,81.429548],[-90.553773,81.464231],[-89.84521,81.611657],[-89.821688,81.63486],[-90.330861,81.631553],[-90.480363,81.638529],[-90.626305,81.655998],[-90.833727,81.640496],[-91.10276,81.591969],[-91.292406,81.571249],[-91.402786,81.578226],[-91.684069,81.635684],[-91.647572,81.683848],[-91.423825,81.744262],[-91.219457,81.787724],[-90.941964,81.827461],[-90.490185,81.877229],[-90.163012,81.894017],[-89.633339,81.894533],[-89.381005,81.916758],[-89.156356,81.955408],[-88.875238,82.018019],[-88.56683,82.061086],[-88.063195,82.096484],[-87.638936,82.085069],[-87.4044,82.054219],[-87.218181,82.000112],[-87.018197,81.958715],[-86.999235,81.992157],[-86.834022,82.033334],[-86.626798,82.051011],[-86.377507,82.045123],[-86.158352,82.025534],[-85.874784,81.975667],[-85.645642,81.953288],[-85.537976,81.954639],[-85.403152,81.982237],[-85.044833,81.982797],[-85.052249,81.99453],[-85.169242,82.02337],[-85.31057,82.04398],[-86.580601,82.187231],[-86.615636,82.218553],[-86.187598,82.247952],[-85.920026,82.283064],[-85.794452,82.291623],[-85.48088,82.366319],[-85.275974,82.405199],[-84.896825,82.449441],[-84.744741,82.437345],[-84.553381,82.398333],[-84.36813,82.373943],[-83.823614,82.350685],[-83.590682,82.326449],[-83.175696,82.187209],[-83.010176,82.141681],[-82.774189,82.094935],[-82.633707,82.077312],[-82.356028,82.06603],[-82.327452,82.092463],[-82.657064,82.158293],[-82.747471,82.196426],[-82.70859,82.228726],[-82.638387,82.245733],[-82.536896,82.247282],[-82.276575,82.218443],[-81.584502,82.120566],[-80.549908,82.004605],[-80.153368,81.977634],[-79.908636,81.936237],[-79.685548,81.885876],[-79.465635,81.851126],[-79.424864,81.854433],[-79.629496,81.932315],[-80.129835,82.028379],[-81.468256,82.192394],[-81.997621,82.278285],[-82.253679,82.336315],[-82.447544,82.395026],[-82.451345,82.427117],[-82.268895,82.464635],[-82.02323,82.494397],[-81.717799,82.50623],[-81.68116,82.518633],[-81.958608,82.563227],[-82.122524,82.601778],[-82.116844,82.62865],[-81.785343,82.649217],[-81.579668,82.643021],[-81.188862,82.594494],[-80.862524,82.571554],[-80.809691,82.586386],[-81.14662,82.715574],[-81.178063,82.744688],[-81.128196,82.761717],[-81.01017,82.779031],[-80.657135,82.769111],[-80.075782,82.706214],[-79.035069,82.674639],[-78.748777,82.679374],[-78.791799,82.693898],[-79.207203,82.732757],[-79.642009,82.784975],[-79.833775,82.816495],[-79.974313,82.858979],[-80.141173,82.894212],[-80.15495,82.91112],[-79.886334,82.938509],[-79.180583,82.93318],[-78.524974,82.891114],[-77.96867,82.906363],[-77.618075,82.895871],[-77.479581,82.88316],[-77.225874,82.837215],[-76.421015,82.670926],[-76.335542,82.644416],[-76.244026,82.604107],[-76.146489,82.549867],[-76.009358,82.535168],[-75.744312,82.572433],[-75.56562,82.608545],[-75.642876,82.643482],[-76.086976,82.723638],[-76.187798,82.757916],[-76.409952,82.815824],[-76.908457,82.919415],[-77.041205,82.967546],[-77.12492,83.008547],[-75.744928,83.047175],[-74.414187,83.013128],[-74.197734,82.988991],[-74.05589,82.955351],[-73.916495,82.904188],[-73.703119,82.851838],[-73.272037,82.771594],[-72.658714,82.721639],[-72.775916,82.755674],[-73.23465,82.844246],[-73.441864,82.904836],[-73.44071,82.945837],[-73.403785,82.977159],[-73.331121,82.998758],[-72.811677,83.081177],[-72.06921,83.106039],[-71.98322,83.101436],[-71.405943,82.974863],[-71.13201,82.923051],[-70.940364,82.902232],[-70.932982,82.911274],[-71.198334,82.969556],[-71.402406,83.001296],[-71.423521,83.021137],[-71.084824,83.082682],[-70.870557,83.098129],[-69.969931,83.116114],[-69.86767,83.10961],[-69.782142,83.092548],[-69.569392,83.024905],[-69.488884,83.016797]]],[[[-91.885547,81.132873],[-91.754964,81.049322],[-91.272477,80.850107],[-91.053915,80.777707],[-90.682907,80.687707],[-90.636742,80.655341],[-90.63248,80.641696],[-90.643015,80.593686],[-90.537261,80.57591],[-90.217614,80.548257],[-89.861854,80.498445],[-89.79787,80.501291],[-89.673856,80.530745],[-89.524794,80.538831],[-89.329061,80.531723],[-89.235579,80.51064],[-89.166903,80.479637],[-89.138273,80.457411],[-89.134164,80.440262],[-89.204367,80.406929],[-89.196588,80.394064],[-89.154686,80.378529],[-89.14726,80.360369],[-89.217704,80.289255],[-89.198324,80.263162],[-89.019214,80.198464],[-88.857331,80.166197],[-88.537562,80.131128],[-88.329262,80.13371],[-88.199909,80.111496],[-88.19681,80.125185],[-88.25539,80.166526],[-88.380777,80.225182],[-88.612511,80.255384],[-88.646239,80.289727],[-88.663444,80.348273],[-88.643624,80.386879],[-88.524818,80.418036],[-88.424359,80.428067],[-88.125235,80.429484],[-87.960033,80.415608],[-87.675004,80.372102],[-87.645527,80.348427],[-87.630256,80.301614],[-87.618336,80.207461],[-87.625499,80.187203],[-87.869154,80.133864],[-87.922328,80.097719],[-87.860706,80.087513],[-87.651361,80.079449],[-87.328484,80.046534],[-87.202064,80.043227],[-87.07615,79.966949],[-86.977196,79.894219],[-87.049541,79.805417],[-87.144232,79.662627],[-87.22028,79.629921],[-87.295184,79.580153],[-87.24289,79.571133],[-86.925231,79.590953],[-86.861027,79.597731],[-86.648815,79.646247],[-86.336968,79.634986],[-86.232246,79.622428],[-86.180468,79.605422],[-86.085546,79.551215],[-86.007048,79.479441],[-85.948986,79.486],[-85.803856,79.573023],[-85.750935,79.594523],[-85.678645,79.615265],[-85.647872,79.61142],[-85.501392,79.530341],[-85.17557,79.387244],[-85.06374,79.328182],[-85.042141,79.284566],[-85.181338,79.233721],[-85.28985,79.208343],[-86.091643,79.099973],[-86.450534,79.038692],[-86.629435,78.991308],[-86.72083,78.975487],[-86.913475,78.982826],[-86.95719,78.974916],[-87.016461,78.898704],[-87.080369,78.866119],[-87.246405,78.813483],[-87.478766,78.718144],[-87.617381,78.67633],[-87.861486,78.70685],[-87.922306,78.751344],[-87.956232,78.851595],[-87.960725,78.893123],[-87.953178,78.91503],[-87.922592,78.950581],[-87.816749,79.036341],[-87.829417,79.045327],[-87.87835,79.038175],[-88.0402,78.995329],[-88.104075,78.972807],[-88.163808,78.933498],[-88.190241,78.867437],[-88.166598,78.745533],[-88.189702,78.696391],[-88.253786,78.67199],[-88.227891,78.653028],[-88.037003,78.626935],[-88.0031,78.615509],[-87.981984,78.594734],[-87.973645,78.564742],[-87.982841,78.537067],[-88.040255,78.494429],[-88.147592,78.477126],[-88.28458,78.496549],[-88.580662,78.601919],[-88.709257,78.596086],[-88.741579,78.584045],[-88.713959,78.546416],[-88.623058,78.462107],[-88.606447,78.392014],[-88.648382,78.333721],[-88.732976,78.241689],[-88.791017,78.192437],[-88.822427,78.185878],[-88.969611,78.184406],[-89.09569,78.209235],[-89.470016,78.370207],[-89.65529,78.438882],[-89.926212,78.573036],[-89.995382,78.600678],[-90.037086,78.60683],[-90.076308,78.549163],[-90.001007,78.49578],[-89.757254,78.370207],[-89.611652,78.278888],[-89.506831,78.203291],[-89.489835,78.171947],[-89.525695,78.159599],[-89.579484,78.166597],[-89.651115,78.193008],[-89.873039,78.237602],[-89.965203,78.262464],[-90.025463,78.291237],[-90.136095,78.313078],[-90.297221,78.328041],[-90.459049,78.33093],[-90.621603,78.321735],[-90.652387,78.307727],[-90.469201,78.268528],[-90.405436,78.246676],[-90.357942,78.218738],[-90.326752,78.18479],[-90.386979,78.16329],[-90.614418,78.149832],[-90.918113,78.158379],[-91.40963,78.187987],[-91.899192,78.236877],[-92.351258,78.312891],[-92.678266,78.389114],[-92.807613,78.429731],[-92.84823,78.460119],[-92.7256,78.486662],[-92.296738,78.520785],[-91.866892,78.542703],[-91.934953,78.56172],[-92.715548,78.605017],[-92.972513,78.612928],[-93.109347,78.601557],[-93.2666,78.60828],[-93.389438,78.64269],[-93.552063,78.707806],[-93.634406,78.750927],[-93.623348,78.76778],[-93.561413,78.77736],[-93.208334,78.769175],[-93.15984,78.775657],[-93.336468,78.808056],[-93.902275,78.872216],[-94.114613,78.928927],[-94.153625,78.951043],[-94.169671,78.972807],[-94.162799,78.994197],[-93.950202,79.037395],[-93.293885,79.139513],[-93.068473,79.155378],[-92.841616,79.15641],[-92.683638,79.18581],[-92.547215,79.282599],[-91.867563,79.317437],[-91.343647,79.360888],[-91.299899,79.372731],[-91.692638,79.364744],[-92.247953,79.373445],[-92.484555,79.439231],[-92.644724,79.450448],[-92.821923,79.44991],[-93.028114,79.429256],[-93.380885,79.368183],[-93.550459,79.353966],[-93.933174,79.290718],[-94.039834,79.295212],[-94.093371,79.302759],[-94.109394,79.315108],[-94.040301,79.357021],[-93.939688,79.385695],[-93.960255,79.395517],[-94.110323,79.401559],[-94.28411,79.400428],[-94.404877,79.390507],[-94.846039,79.335059],[-95.043705,79.293564],[-95.103179,79.289894],[-95.316605,79.354746],[-95.657049,79.390397],[-95.732987,79.418203],[-95.662916,79.527342],[-95.56349,79.549765],[-95.302367,79.56809],[-94.519679,79.667132],[-94.475519,79.686193],[-94.401883,79.736324],[-94.580834,79.725623],[-94.973063,79.677206],[-95.296967,79.653069],[-95.552509,79.653223],[-95.73937,79.660155],[-95.8575,79.673789],[-95.999664,79.704694],[-96.462737,79.847527],[-96.589086,79.916675],[-96.606757,79.977704],[-96.639211,80.024154],[-96.77326,80.135776],[-95.781975,80.06643],[-95.393833,80.053257],[-94.645895,80.048709],[-94.61086,80.055531],[-94.599802,80.073615],[-94.612722,80.10297],[-94.606987,80.125602],[-94.582592,80.141412],[-94.304446,80.181621],[-94.262588,80.194871],[-94.59014,80.201518],[-95.192377,80.13438],[-95.405078,80.135006],[-95.646222,80.230939],[-95.903984,80.214119],[-96.025657,80.221722],[-96.215105,80.245902],[-96.30833,80.266985],[-96.368425,80.293089],[-96.394111,80.315017],[-96.385328,80.33287],[-96.3344,80.352767],[-96.112164,80.380419],[-96.011886,80.383056],[-95.747357,80.365302],[-95.54907,80.36662],[-95.614466,80.396228],[-95.901067,80.470848],[-96.151824,80.553487],[-96.132834,80.691409],[-95.926956,80.720655],[-95.713634,80.725456],[-95.505279,80.690574],[-95.225809,80.685773],[-95.025742,80.64642],[-94.892577,80.570922],[-94.734494,80.572339],[-94.48539,80.558079],[-93.927906,80.559189],[-94.028727,80.586193],[-94.202152,80.609704],[-94.596264,80.640608],[-94.78847,80.751252],[-95.195865,80.808293],[-95.514732,80.838121],[-95.509283,80.863235],[-95.269759,81.000795],[-94.980528,81.049673],[-94.519443,81.031183],[-94.216286,81.057199],[-93.825996,81.105726],[-93.443749,81.083269],[-93.345097,81.085335],[-93.286705,81.100265],[-93.235646,81.128852],[-93.235388,81.155153],[-93.285931,81.179235],[-93.406538,81.209096],[-93.894419,81.21326],[-94.110372,81.224993],[-94.19445,81.240934],[-94.218637,81.264961],[-94.23148,81.289714],[-94.232974,81.315136],[-94.220136,81.330748],[-94.179361,81.339273],[-94.059703,81.349303],[-93.604902,81.350589],[-93.332749,81.364388],[-93.034679,81.346304],[-92.412572,81.278266],[-92.211781,81.243593],[-91.997838,81.185508],[-91.885547,81.132873]]],[[[-98.791614,79.98111],[-98.768954,79.850889],[-98.789779,79.785411],[-98.840629,79.737049],[-98.885201,79.725678],[-98.945197,79.724074],[-99.218433,79.761845],[-99.301764,79.784092],[-99.306235,79.802879],[-99.333004,79.839573],[-99.515624,79.887166],[-99.857463,79.879486],[-99.999885,79.884035],[-100.056832,79.898229],[-100.092439,79.918642],[-100.12603,80.00127],[-100.120344,80.030417],[-100.078536,80.081108],[-100.053267,80.093357],[-99.80279,80.140126],[-99.731219,80.144103],[-99.424855,80.126426],[-99.153218,80.124207],[-99.016586,80.111133],[-98.894682,80.081778],[-98.823188,80.037338],[-98.791614,79.98111]]],[[[-103.42601,79.315624],[-103.191655,79.29531],[-102.914332,79.231084],[-102.652281,79.095019],[-102.638949,79.077605],[-102.637581,79.054973],[-102.6482,79.027167],[-102.68285,78.990989],[-102.73052,78.969335],[-102.595592,78.94299],[-102.580787,78.930114],[-102.592752,78.900923],[-102.57619,78.879368],[-102.494567,78.90066],[-102.424804,78.93319],[-102.407335,78.954097],[-102.393174,79.010325],[-102.188565,79.038384],[-101.973639,79.079209],[-101.872614,79.088405],[-101.703655,79.078924],[-101.299029,78.982156],[-101.144572,78.972906],[-101.088476,78.961513],[-101.037159,78.939035],[-101.033671,78.914722],[-101.115942,78.858285],[-101.147462,78.823975],[-101.128137,78.801651],[-100.916985,78.782897],[-100.435493,78.820327],[-100.014766,78.728636],[-99.781812,78.619651],[-99.60942,78.583034],[-99.582135,78.563269],[-99.631096,78.544659],[-99.680188,78.493506],[-99.818297,78.455395],[-99.847801,78.438212],[-99.77411,78.392992],[-99.768633,78.364549],[-99.778246,78.325119],[-99.751346,78.30297],[-99.562469,78.279361],[-99.131564,78.11751],[-99.053121,78.072345],[-99.004573,78.015963],[-98.999634,77.996891],[-99.061185,77.965624],[-99.128361,77.877162],[-99.166396,77.856958],[-99.34132,77.839644],[-99.659133,77.824065],[-99.955906,77.793809],[-100.274675,77.832722],[-100.586049,77.891807],[-100.680257,77.930644],[-100.757903,77.977665],[-100.778239,77.996045],[-100.80955,78.07162],[-100.826194,78.087737],[-100.957607,78.130221],[-101.074133,78.193832],[-101.297996,78.199391],[-101.829487,78.264112],[-102.05697,78.279558],[-102.284448,78.275021],[-102.60699,78.248918],[-102.667684,78.255894],[-102.722714,78.275252],[-102.772065,78.306903],[-102.784315,78.33015],[-102.731322,78.371031],[-103.677234,78.31956],[-103.946569,78.260025],[-104.324219,78.269484],[-104.512634,78.294654],[-104.763546,78.351651],[-104.879331,78.401265],[-104.98542,78.468029],[-104.99555,78.518511],[-104.909609,78.552624],[-104.820136,78.572882],[-104.727066,78.579386],[-104.213971,78.539759],[-103.764361,78.519544],[-103.570518,78.539836],[-103.482567,78.593932],[-103.587959,78.623002],[-104.020826,78.634911],[-103.928508,78.663366],[-103.562718,78.692666],[-103.371567,78.736326],[-103.40841,78.75163],[-103.518377,78.769142],[-104.008736,78.764034],[-104.185006,78.781293],[-104.194564,78.795608],[-104.154953,78.813944],[-103.875642,78.902681],[-103.887144,78.918776],[-104.007214,78.947846],[-104.112738,78.985617],[-104.151931,78.989912],[-104.394812,78.956162],[-104.736058,78.825941],[-104.817445,78.807078],[-104.895503,78.808166],[-104.970226,78.829139],[-104.969528,78.856483],[-104.89341,78.890168],[-104.735256,78.991099],[-104.746781,79.027112],[-104.901342,79.051139],[-105.308814,79.03321],[-105.53567,79.032539],[-105.570761,79.060961],[-105.580192,79.11419],[-105.571046,79.164211],[-105.514538,79.242477],[-105.435706,79.302243],[-105.387668,79.323578],[-104.847366,79.310977],[-103.964603,79.348133],[-103.706375,79.352055],[-103.42601,79.315624]]],[[[-96.204509,78.531277],[-95.968451,78.50513],[-95.561111,78.516599],[-95.412928,78.497538],[-95.031197,78.430247],[-94.91539,78.390509],[-94.887743,78.360484],[-94.887177,78.345191],[-95.01386,78.312583],[-95.267848,78.262661],[-95.329239,78.225044],[-95.102745,78.178067],[-94.98779,78.136264],[-94.936011,78.106392],[-94.934303,78.075652],[-95.087007,77.992607],[-95.199117,77.968162],[-95.370531,77.970799],[-95.451561,77.963251],[-95.670793,77.924447],[-96.011578,77.88739],[-96.476844,77.872141],[-96.603011,77.849301],[-96.833982,77.811892],[-96.989631,77.806026],[-97.040481,77.827416],[-97.063838,77.859068],[-97.051951,77.880952],[-97.019085,77.908089],[-97.09332,77.933489],[-97.426656,77.982268],[-97.620856,78.050219],[-97.648398,78.071642],[-97.658165,78.090638],[-97.226617,78.103239],[-97.040942,78.116939],[-96.958364,78.138999],[-96.944669,78.151875],[-97.02733,78.157401],[-97.323071,78.203236],[-97.81906,78.230603],[-97.84273,78.262354],[-98.049487,78.325921],[-98.069307,78.386324],[-98.114318,78.403023],[-98.254926,78.429269],[-98.275701,78.437904],[-98.31735,78.476862],[-98.323706,78.498131],[-98.315648,78.517478],[-98.060364,78.558358],[-98.095998,78.586681],[-98.289885,78.692403],[-98.340812,78.751212],[-98.332599,78.773515],[-98.212085,78.804518],[-98.042846,78.805221],[-97.5959,78.795806],[-97.38232,78.782897],[-97.169334,78.757672],[-96.935781,78.720264],[-96.587042,78.687107],[-96.475344,78.665201],[-96.26528,78.59536],[-96.242648,78.57319],[-96.256496,78.551118],[-96.204509,78.531277]]],[[[-103.003371,78.146448],[-103.118195,78.126343],[-103.252244,78.13812],[-103.271004,78.150634],[-103.273585,78.165773],[-103.26005,78.183494],[-103.110444,78.245874],[-102.973296,78.26721],[-102.891799,78.271242],[-102.825524,78.25006],[-102.78827,78.218167],[-103.003371,78.146448]]],[[[-101.693581,77.696602],[-101.831042,77.687351],[-102.079838,77.692185],[-102.377826,77.728122],[-102.458186,77.770166],[-102.475033,77.836667],[-102.471545,77.873493],[-102.447721,77.880623],[-102.263156,77.889357],[-101.917856,77.899585],[-101.639424,77.892093],[-101.322029,77.854168],[-101.193198,77.829767],[-101.127593,77.812617],[-101.046256,77.777813],[-101.019564,77.762465],[-101.002047,77.735098],[-101.397681,77.729055],[-101.584542,77.718333],[-101.693581,77.696602]]],[[[-95.484372,77.791996],[-95.233043,77.753808],[-94.959906,77.774066],[-94.666802,77.776231],[-94.014775,77.759905],[-93.582864,77.77076],[-93.471083,77.7643],[-93.300965,77.7398],[-93.210768,77.710214],[-93.128727,77.660171],[-93.339181,77.629684],[-93.519582,77.474392],[-93.543922,77.466636],[-93.740188,77.464571],[-93.836181,77.452222],[-94.408959,77.474217],[-95.987057,77.484104],[-96.056122,77.503484],[-96.263863,77.594539],[-96.276596,77.630563],[-96.239133,77.672575],[-96.194588,77.700524],[-96.142964,77.714378],[-95.683922,77.782284],[-95.484372,77.791996]]],[[[-104.558134,77.141726],[-104.711383,77.123972],[-105.015572,77.164589],[-105.215073,77.182057],[-105.379917,77.254248],[-105.556341,77.352642],[-105.695093,77.461374],[-105.747234,77.525402],[-105.848133,77.563437],[-105.883146,77.626531],[-106.066129,77.725386],[-106.035587,77.739855],[-105.862992,77.754379],[-105.587916,77.73601],[-105.456091,77.700941],[-105.289665,77.642088],[-105.073893,77.548286],[-105.007201,77.506747],[-104.994286,77.44964],[-104.955318,77.418714],[-104.770187,77.413231],[-104.542243,77.337755],[-104.500797,77.308543],[-104.45372,77.24914],[-104.456978,77.220817],[-104.493359,77.162348],[-104.558134,77.141726]]],[[[-89.833246,77.267608],[-90.094754,77.21038],[-90.228292,77.212445],[-90.993205,77.329494],[-91.147255,77.387315],[-91.176599,77.426283],[-91.18507,77.481523],[-91.182653,77.557174],[-91.149474,77.608085],[-91.109132,77.625751],[-91.019066,77.643889],[-90.84256,77.654997],[-90.674876,77.648647],[-90.422772,77.628388],[-90.171933,77.594693],[-89.838959,77.491399],[-89.719472,77.442148],[-89.694203,77.378119],[-89.694577,77.338953],[-89.712045,77.310421],[-89.746663,77.292591],[-89.833246,77.267608]]],[[[-94.294964,76.912464],[-94.107944,76.903784],[-93.94806,76.917111],[-93.810934,76.914145],[-93.608418,76.873814],[-93.420755,76.812213],[-93.276576,76.784308],[-93.230016,76.770246],[-93.211877,76.7547],[-93.18924,76.70803],[-93.189992,76.686376],[-93.200561,76.669094],[-93.263656,76.62649],[-93.316753,76.573667],[-93.426281,76.527162],[-93.484547,76.492028],[-93.534568,76.447687],[-93.421886,76.474142],[-92.995375,76.620414],[-92.716273,76.602968],[-92.297024,76.615998],[-91.789428,76.675785],[-91.54841,76.685091],[-91.305041,76.680751],[-91.12425,76.661931],[-90.738432,76.581369],[-90.604794,76.542971],[-90.554652,76.515791],[-90.542611,76.495774],[-90.621647,76.464683],[-90.86406,76.483601],[-91.263051,76.500246],[-91.335967,76.510573],[-91.398084,76.509749],[-91.443271,76.498532],[-91.41508,76.45585],[-91.333902,76.4465],[-90.854755,76.437327],[-89.284523,76.301624],[-89.219088,76.258217],[-89.236513,76.238991],[-89.292114,76.217721],[-89.406581,76.189146],[-90.312052,76.157989],[-90.827344,76.185586],[-91.260392,76.229971],[-91.407334,76.22005],[-91.279442,76.1599],[-91.01977,76.141553],[-90.802383,76.105946],[-90.71213,76.076184],[-90.251386,76.053476],[-90.176041,76.030294],[-90.032769,75.970891],[-89.912545,75.966321],[-89.793432,75.92487],[-89.695324,75.853612],[-89.65006,75.844109],[-89.511248,75.856919],[-89.277602,75.795088],[-89.204883,75.761986],[-89.20452,75.737234],[-89.256618,75.698485],[-89.361207,75.645817],[-89.625451,75.583733],[-89.646039,75.565056],[-89.337279,75.57234],[-89.280436,75.564123],[-88.916679,75.453952],[-88.868866,75.45193],[-88.838917,75.463455],[-88.804091,75.502467],[-88.819636,75.53859],[-88.864054,75.588611],[-88.852145,75.624888],[-88.783931,75.647476],[-88.714882,75.658638],[-88.644965,75.658429],[-88.569027,75.645125],[-88.201304,75.512036],[-87.72976,75.575647],[-87.64366,75.547094],[-87.572424,75.493634],[-87.539125,75.484845],[-87.36464,75.591325],[-87.256941,75.617714],[-86.814434,75.49136],[-86.544741,75.463378],[-86.436526,75.436275],[-86.236333,75.406359],[-85.951491,75.39501],[-85.904546,75.441955],[-86.068748,75.502269],[-85.972991,75.528725],[-85.581251,75.579778],[-85.372302,75.572626],[-84.98677,75.644949],[-84.750223,75.654716],[-84.604852,75.653474],[-84.12765,75.762634],[-84.014271,75.779927],[-83.931973,75.818961],[-83.744601,75.812842],[-83.237131,75.750824],[-83.093397,75.75646],[-82.553485,75.818236],[-82.353852,75.833332],[-82.15366,75.831035],[-81.647366,75.794912],[-81.268546,75.755999],[-81.150806,75.735531],[-81.192663,75.684368],[-81.173514,75.669229],[-81.124394,75.658176],[-81.000765,75.643136],[-80.527716,75.642158],[-80.321986,75.629074],[-80.158356,75.581173],[-80.119189,75.562057],[-80.125748,75.542161],[-80.286621,75.490382],[-80.260473,75.479451],[-80.099601,75.46741],[-79.737711,75.461488],[-79.660191,75.449502],[-79.585759,75.384859],[-79.507833,75.295353],[-79.509097,75.259801],[-79.63444,75.199332],[-79.977125,75.118616],[-80.357571,75.051544],[-80.381982,75.034175],[-80.260627,75.002139],[-80.135229,74.988087],[-80.036429,74.9909],[-79.732987,75.02142],[-79.66407,75.020849],[-79.524829,74.989691],[-79.460416,74.958809],[-79.40143,74.917621],[-79.507954,74.880136],[-79.944496,74.83362],[-80.202433,74.894813],[-80.289203,74.908327],[-80.347749,74.902998],[-80.31457,74.876159],[-80.189722,74.827709],[-80.148929,74.795717],[-80.192226,74.78016],[-80.212672,74.749464],[-80.210266,74.703607],[-80.220604,74.657014],[-80.262748,74.584494],[-80.277733,74.581571],[-81.226227,74.566641],[-81.340485,74.553534],[-81.607189,74.502349],[-81.808821,74.476619],[-81.940184,74.472719],[-82.068505,74.482068],[-82.414761,74.535187],[-82.645386,74.525222],[-82.735792,74.530287],[-82.931052,74.565575],[-82.978392,74.583461],[-83.057615,74.629757],[-83.117018,74.693115],[-83.112283,74.732128],[-83.087322,74.788356],[-83.102648,74.816569],[-83.158304,74.816723],[-83.220311,74.828401],[-83.407046,74.884838],[-83.522084,74.901471],[-83.543551,74.892276],[-83.509779,74.848198],[-83.487323,74.834136],[-83.36421,74.801924],[-83.341315,74.764581],[-83.393719,74.670176],[-83.41222,74.654982],[-83.531895,74.58568],[-83.621862,74.565916],[-83.868054,74.564389],[-84.24516,74.515192],[-84.425533,74.508084],[-84.667101,74.519586],[-84.818284,74.542009],[-84.916315,74.567695],[-85.011544,74.604181],[-85.061422,74.606917],[-85.086768,74.527694],[-85.13346,74.517411],[-85.21433,74.518653],[-85.339277,74.543306],[-85.442329,74.600567],[-85.47442,74.600336],[-85.48868,74.567003],[-85.51173,74.545119],[-85.543502,74.534758],[-85.807987,74.498965],[-85.955621,74.498756],[-86.10988,74.539735],[-86.210933,74.535604],[-86.34056,74.513489],[-86.655429,74.555402],[-86.730773,74.55705],[-86.666129,74.489099],[-86.770148,74.478607],[-86.994741,74.48031],[-87.363761,74.502195],[-87.592584,74.470335],[-88.005835,74.489352],[-88.423041,74.494164],[-88.500736,74.509721],[-88.555668,74.541471],[-88.557843,74.569717],[-88.537639,74.608784],[-88.47661,74.666913],[-88.374723,74.744125],[-88.339545,74.78484],[-88.431413,74.803704],[-88.48819,74.828895],[-88.534948,74.831763],[-88.682022,74.802001],[-88.777833,74.715176],[-88.85109,74.689984],[-88.883412,74.7111],[-88.907802,74.763812],[-88.940145,74.789487],[-88.980377,74.788092],[-89.019621,74.774041],[-89.057864,74.747267],[-89.115279,74.73761],[-89.191941,74.744894],[-89.219121,74.731798],[-89.19683,74.698235],[-89.189074,74.666869],[-89.195819,74.637569],[-89.261891,74.609191],[-89.449988,74.567904],[-89.55872,74.554721],[-89.844386,74.548579],[-90.015333,74.560873],[-90.361645,74.610432],[-90.553246,74.612761],[-90.784091,74.695906],[-90.966793,74.715077],[-90.957543,74.745158],[-90.87765,74.801067],[-90.880243,74.817755],[-91.129853,74.736292],[-91.163712,74.710276],[-91.134588,74.649862],[-91.167711,74.645523],[-91.33945,74.667221],[-91.508365,74.650686],[-91.549135,74.655542],[-91.665766,74.699158],[-91.871034,74.743499],[-91.961584,74.793212],[-92.102516,74.948394],[-92.174164,75.051083],[-92.165221,75.072012],[-92.060504,75.100994],[-92.076336,75.12356],[-92.20682,75.181249],[-92.347456,75.229776],[-92.389237,75.263317],[-92.408359,75.297265],[-92.427118,75.346406],[-92.427997,75.382738],[-92.4111,75.406249],[-92.330691,75.479451],[-92.110448,75.610628],[-92.08073,75.634457],[-92.068876,75.657913],[-92.099176,75.727313],[-92.141864,75.796846],[-92.185117,75.846537],[-92.306609,75.915158],[-92.473728,75.98647],[-92.708885,76.11445],[-92.883315,76.213953],[-93.091731,76.353996],[-93.192289,76.366037],[-93.30859,76.359632],[-93.559941,76.311413],[-93.644458,76.288517],[-93.665184,76.273125],[-93.852325,76.269665],[-94.38258,76.282321],[-94.585333,76.297152],[-94.736719,76.293274],[-94.996623,76.257722],[-95.273896,76.264391],[-95.447425,76.363037],[-95.841664,76.416167],[-95.959278,76.445984],[-96.039714,76.486699],[-96.013072,76.513319],[-95.788874,76.537193],[-95.695705,76.563439],[-95.651001,76.584676],[-95.873189,76.566383],[-95.971346,76.569646],[-96.639705,76.70291],[-96.84566,76.726432],[-96.880723,76.738308],[-96.89801,76.753997],[-96.897543,76.773509],[-96.87801,76.802809],[-96.679415,76.765752],[-96.590272,76.763017],[-96.451163,76.774069],[-96.401576,76.797228],[-96.433206,76.810708],[-96.661019,76.855159],[-96.77114,76.888898],[-96.813514,76.913474],[-96.7698,76.948246],[-96.758324,76.97179],[-96.685101,76.985017],[-96.550123,76.987962],[-96.377291,77.004606],[-96.061236,77.050023],[-95.849519,77.066228],[-95.638241,77.063767],[-95.126437,77.017317],[-94.616133,76.958354],[-94.294964,76.912464]]],[[[-89.726459,76.50742],[-89.773283,76.49383],[-89.924125,76.500861],[-89.974135,76.487523],[-90.054291,76.495126],[-90.164572,76.523603],[-90.293507,76.579512],[-90.440988,76.66281],[-90.556223,76.734562],[-90.562475,76.754282],[-90.524802,76.787824],[-90.409523,76.810148],[-90.136304,76.836966],[-89.948767,76.83624],[-89.774568,76.782034],[-89.725316,76.763423],[-89.695401,76.741154],[-89.694445,76.719818],[-89.708661,76.701164],[-89.787565,76.659613],[-89.822106,76.63062],[-89.82193,76.602199],[-89.804791,76.561066],[-89.772964,76.53393],[-89.726349,76.520812],[-89.726459,76.50742]]],[[[-101.226118,76.579358],[-101.48522,76.575019],[-101.605009,76.587005],[-101.613068,76.604572],[-101.509456,76.627731],[-101.165034,76.665447],[-100.962177,76.734178],[-100.88647,76.742659],[-100.621579,76.752503],[-100.467249,76.750349],[-100.269143,76.734123],[-100.746559,76.649176],[-101.226118,76.579358]]],[[[-97.700929,76.466496],[-97.689767,76.421847],[-97.701836,76.387383],[-97.737129,76.363147],[-97.738783,76.335242],[-97.706824,76.303711],[-97.573158,76.224236],[-97.53068,76.181554],[-97.524275,76.138708],[-97.531042,76.109407],[-97.613467,76.052619],[-97.650002,75.979131],[-97.652172,75.940196],[-97.60303,75.879353],[-97.601657,75.851052],[-97.694239,75.802614],[-97.890504,75.760338],[-97.862808,75.738069],[-97.439548,75.684577],[-97.40754,75.672514],[-97.409605,75.552103],[-97.336019,75.419839],[-97.363484,75.417257],[-97.465234,75.458654],[-97.653309,75.507774],[-97.878232,75.416126],[-97.852728,75.260318],[-97.704885,75.190807],[-97.659923,75.151179],[-97.674343,75.127273],[-97.799351,75.11666],[-97.842703,75.121824],[-97.970864,75.153289],[-98.045329,75.200816],[-98.068735,75.199157],[-98.09168,75.176239],[-98.076744,75.152981],[-97.98998,75.110717],[-97.953346,75.060169],[-97.991814,75.04581],[-98.120959,75.032736],[-98.295158,75.032164],[-98.56863,75.009324],[-98.703531,75.005808],[-98.834812,75.018157],[-99.010049,75.021101],[-99.155805,75.015729],[-99.244943,75.025759],[-99.326126,75.049424],[-99.420592,75.043744],[-99.626882,74.983748],[-99.946634,75.002809],[-100.234393,75.00772],[-100.292269,75.027715],[-100.35666,75.066738],[-100.483497,75.188434],[-100.459498,75.219075],[-100.152073,75.235664],[-100.145717,75.246156],[-100.364125,75.289563],[-100.614888,75.321446],[-100.731157,75.346516],[-100.704235,75.394318],[-100.711936,75.406359],[-100.279635,75.460972],[-99.965261,75.568517],[-99.770237,75.612232],[-99.756027,75.633424],[-99.591177,75.655386],[-99.20944,75.668613],[-99.194559,75.698375],[-99.915136,75.68127],[-100.901741,75.620395],[-101.206843,75.590446],[-101.461319,75.607892],[-102.541385,75.513629],[-102.587429,75.513684],[-102.70039,75.543611],[-102.797493,75.599674],[-102.727856,75.638742],[-102.410692,75.712844],[-102.252071,75.777752],[-102.270649,75.812787],[-102.144718,75.875058],[-101.942844,75.883814],[-101.599659,75.832683],[-101.421246,75.781937],[-101.261412,75.758196],[-101.119381,75.762898],[-100.972795,75.798428],[-101.009902,75.802405],[-101.258825,75.78364],[-101.288026,75.789123],[-101.414995,75.845867],[-101.470289,75.881935],[-101.505891,75.91808],[-101.507879,75.943579],[-101.431321,75.991974],[-101.716812,76.007915],[-101.82339,76.041358],[-101.87212,76.083106],[-101.861375,76.101244],[-101.771403,76.150078],[-101.52894,76.21726],[-101.557026,76.23586],[-101.909792,76.234365],[-101.987438,76.2431],[-102.137742,76.284848],[-102.104667,76.33121],[-101.964207,76.399007],[-101.85848,76.439008],[-101.787531,76.45128],[-101.67725,76.451049],[-101.415198,76.424901],[-101.33975,76.410476],[-101.139041,76.345163],[-101.087883,76.307853],[-101.094183,76.271939],[-101.055814,76.24555],[-100.900088,76.207075],[-100.230674,76.007663],[-100.105721,75.960454],[-100.020116,75.939547],[-99.865472,75.924199],[-99.774835,75.927385],[-99.701249,75.941459],[-99.688895,75.959707],[-99.978335,76.02947],[-100.050993,76.066626],[-100.112852,76.117218],[-100.085798,76.133544],[-100.001747,76.139224],[-99.790183,76.13261],[-99.541052,76.146288],[-99.817237,76.167602],[-99.99761,76.195869],[-100.182769,76.197232],[-100.414229,76.242528],[-100.414382,76.25669],[-100.357643,76.271159],[-100.042726,76.291264],[-99.983092,76.299888],[-99.977714,76.312445],[-100.081898,76.342757],[-100.174655,76.359269],[-100.650698,76.395952],[-100.819888,76.436986],[-100.873633,76.456575],[-100.890788,76.475482],[-100.829731,76.523855],[-100.57375,76.584599],[-100.387949,76.61357],[-100.068692,76.634751],[-99.814084,76.632246],[-99.669053,76.624105],[-99.329515,76.521273],[-99.169653,76.453675],[-98.890342,76.465562],[-98.971009,76.536566],[-99.023612,76.614547],[-98.940852,76.643178],[-98.710815,76.693869],[-98.527596,76.667359],[-98.288698,76.598738],[-98.236194,76.575326],[-97.967348,76.532897],[-97.808392,76.518791],[-97.72589,76.496104],[-97.700929,76.466496]]],[[[-104.022842,76.583126],[-103.973491,76.577578],[-103.8211,76.597497],[-103.722761,76.601056],[-103.613151,76.563439],[-103.584603,76.538841],[-103.190128,76.477449],[-103.051326,76.449851],[-103.033551,76.431515],[-103.082951,76.405159],[-103.19951,76.370838],[-103.311389,76.347536],[-103.472207,76.329035],[-104.270661,76.326244],[-104.357502,76.334616],[-104.407677,76.365158],[-104.506433,76.478954],[-104.576608,76.540181],[-104.603041,76.58272],[-104.585705,76.606483],[-104.500385,76.630357],[-104.205105,76.666117],[-104.074494,76.666095],[-103.992487,76.656977],[-103.959077,76.638783],[-103.969201,76.61413],[-104.022842,76.583126]]],[[[-102.227346,76.014892],[-102.017875,75.9535],[-102.008032,75.939394],[-102.047462,75.927715],[-102.318115,75.895163],[-102.423458,75.869169],[-102.511359,75.808393],[-102.579601,75.780235],[-102.943556,75.763436],[-103.314746,75.764217],[-103.244752,75.822971],[-103.04151,75.918827],[-103.201575,75.958521],[-103.769783,75.892372],[-103.985274,75.933087],[-103.800764,76.037018],[-103.984527,76.046521],[-104.24247,76.046983],[-104.406051,76.108484],[-104.35063,76.182323],[-104.012042,76.222995],[-103.571425,76.258184],[-103.098249,76.311468],[-102.728015,76.307018],[-102.584067,76.281651],[-102.536139,76.19643],[-102.490046,76.095048],[-102.425682,76.086413],[-102.227346,76.014892]]],[[[-79.063107,75.925858],[-79.051758,75.866994],[-79.12441,75.869685],[-79.355639,75.831134],[-79.544516,75.82563],[-79.638779,75.842912],[-79.698743,75.883275],[-79.551262,75.958356],[-79.381787,76.01086],[-79.178342,76.092356],[-79.009328,76.145893],[-78.925898,76.134687],[-78.84516,76.106309],[-78.946421,76.025438],[-79.056614,75.985185],[-79.063107,75.925858]]],[[[-94.526551,75.74933],[-94.624345,75.748869],[-94.751446,75.769666],[-94.787333,75.791419],[-94.814722,75.821192],[-94.833635,75.858963],[-94.860096,75.889219],[-94.894098,75.911884],[-94.901206,75.930769],[-94.88136,75.94593],[-94.839787,75.954434],[-94.744805,75.957224],[-94.537894,75.996446],[-94.498673,75.992205],[-94.471284,75.971441],[-94.443379,75.917069],[-94.413765,75.884846],[-94.332246,75.825971],[-94.296305,75.788057],[-94.304006,75.776334],[-94.329533,75.765919],[-94.526551,75.74933]]],[[[-96.078573,75.510125],[-96.1564,75.477254],[-96.2366,75.474826],[-96.344502,75.505939],[-96.461628,75.49426],[-96.621979,75.431309],[-96.679003,75.394208],[-96.722877,75.380772],[-96.857108,75.369148],[-96.91511,75.379684],[-96.96963,75.412654],[-97.020662,75.468058],[-96.982808,75.509806],[-96.856152,75.53792],[-96.522887,75.583656],[-96.427702,75.606365],[-96.417237,75.630711],[-96.397264,75.646806],[-96.36781,75.654661],[-96.145392,75.613528],[-96.039819,75.585777],[-95.959871,75.554334],[-95.968605,75.541853],[-96.078573,75.510125]]],[[[-93.542604,75.027924],[-93.478268,74.951964],[-93.46659,74.921323],[-93.463464,74.856515],[-93.490853,74.771975],[-93.509195,74.756474],[-93.535628,74.749343],[-93.54829,74.727536],[-93.547152,74.69105],[-93.573097,74.668825],[-93.626166,74.660871],[-93.984595,74.644182],[-94.206052,74.647412],[-94.53451,74.636734],[-94.697289,74.642161],[-94.803873,74.660091],[-94.958747,74.699938],[-95.286063,74.794091],[-95.451221,74.797343],[-95.865411,74.830423],[-96.094256,74.932529],[-96.181718,74.950778],[-96.270141,74.920313],[-96.294169,74.927179],[-96.318536,74.947724],[-96.343184,74.981935],[-96.386333,74.999458],[-96.559889,74.990362],[-96.591151,75.001831],[-96.599599,75.031802],[-96.596913,75.057851],[-96.565778,75.09872],[-96.382845,75.211373],[-96.292383,75.219284],[-96.18035,75.240114],[-96.118393,75.300934],[-96.12493,75.358294],[-95.954653,75.443822],[-95.853188,75.469036],[-95.670793,75.52867],[-95.049516,75.621845],[-94.878185,75.630008],[-94.648636,75.623031],[-94.427229,75.593368],[-94.256694,75.544072],[-93.90907,75.422531],[-93.750834,75.349043],[-93.666838,75.273545],[-93.591235,75.230237],[-93.497544,75.136864],[-93.531728,75.100324],[-93.551805,75.05116],[-93.542604,75.027924]]],[[[-104.119945,75.03635],[-104.308668,75.030978],[-104.634308,75.061289],[-104.828145,75.119704],[-104.887389,75.147763],[-104.881654,75.160474],[-104.848091,75.173031],[-104.8013,75.211022],[-104.690399,75.320698],[-104.648826,75.349768],[-104.47416,75.413017],[-104.346208,75.429914],[-104.074675,75.424497],[-103.917011,75.391857],[-103.851175,75.370796],[-103.804099,75.345528],[-103.757901,75.289047],[-103.746481,75.252462],[-103.667231,75.210703],[-103.64349,75.186577],[-103.642144,75.162957],[-103.664259,75.139083],[-103.709737,75.115001],[-103.813915,75.079757],[-104.119945,75.03635]]],[[[-95.306657,74.505425],[-95.352442,74.500415],[-95.441509,74.506095],[-95.777196,74.550744],[-95.834352,74.569036],[-95.850733,74.582472],[-95.774405,74.598699],[-95.745621,74.615958],[-95.660461,74.636887],[-95.510212,74.636789],[-95.352519,74.58568],[-95.278367,74.539538],[-95.274461,74.519169],[-95.306657,74.505425]]],[[[-97.355497,74.526299],[-97.6561,74.465687],[-97.721573,74.489198],[-97.749994,74.510545],[-97.516315,74.602478],[-97.416526,74.62656],[-97.318215,74.598007],[-97.291315,74.576375],[-97.303873,74.559686],[-97.355497,74.526299]]],[[[-93.170871,74.161004],[-92.778027,74.113718],[-92.586821,74.082715],[-92.492822,74.062039],[-92.313844,73.992385],[-92.222685,73.972379],[-91.874176,74.012798],[-91.630423,74.027783],[-91.087973,74.009282],[-90.627437,73.951714],[-90.457995,73.908406],[-90.354613,73.868646],[-90.381376,73.824745],[-90.466146,73.753839],[-90.565573,73.686405],[-90.764535,73.580629],[-90.93367,73.527708],[-90.975473,73.502307],[-91.001928,73.467096],[-91.067615,73.415515],[-91.249307,73.304004],[-91.297812,73.284932],[-91.553727,73.236098],[-91.466034,73.214191],[-91.425912,73.194866],[-91.459629,73.14535],[-91.621018,73.025874],[-91.788351,72.915396],[-91.905312,72.849302],[-92.117941,72.753798],[-92.234934,72.726826],[-92.391951,72.718455],[-93.340626,72.801863],[-93.578678,72.800523],[-94.211325,72.756951],[-94.151714,72.735659],[-93.919995,72.70337],[-93.770548,72.668203],[-93.57224,72.558626],[-93.546482,72.531281],[-93.533925,72.499453],[-93.541621,72.437029],[-93.555161,72.421165],[-93.870623,72.252645],[-93.972582,72.129994],[-94.03756,72.028755],[-94.14376,72.000828],[-94.497146,72.043587],[-94.611222,72.042323],[-95.007867,72.012792],[-95.192943,72.027437],[-95.166823,72.180037],[-95.192657,72.344788],[-95.251028,72.501958],[-95.547598,72.781549],[-95.58031,72.831141],[-95.602167,72.884491],[-95.613203,72.941598],[-95.61222,72.999057],[-95.591576,73.115281],[-95.589275,73.17419],[-95.604079,73.327724],[-95.644234,73.55747],[-95.648008,73.638505],[-95.645267,73.670805],[-95.632918,73.695447],[-95.569406,73.728164],[-95.447397,73.751675],[-95.385984,73.755136],[-94.996161,73.685735],[-94.816842,73.662532],[-94.697597,73.663565],[-94.691038,73.67142],[-94.797155,73.686098],[-94.896944,73.716013],[-95.059492,73.805058],[-95.134139,73.881226],[-95.14902,73.906417],[-95.152585,73.932774],[-95.144779,73.960316],[-95.121164,73.985047],[-95.039826,74.02385],[-94.973524,74.041428],[-94.728968,74.085967],[-94.48255,74.113147],[-93.93881,74.131604],[-93.784605,74.118366],[-93.549245,74.167156],[-93.41029,74.178779],[-93.170871,74.161004]]],[[[-98.270378,73.868515],[-98.558215,73.847432],[-98.691078,73.856474],[-98.761357,73.828876],[-98.816597,73.817153],[-98.973926,73.812056],[-99.29804,73.861956],[-99.385145,73.879314],[-99.416999,73.895409],[-99.403821,73.910889],[-99.34561,73.92572],[-99.096891,73.948275],[-99.004699,73.964942],[-98.966692,73.9882],[-98.904498,74.006909],[-98.818151,74.021016],[-98.584983,74.034496],[-98.061039,74.104677],[-97.800433,74.114652],[-97.698216,74.108709],[-97.667416,74.090153],[-97.659148,74.07163],[-97.673359,74.053052],[-97.754752,74.005514],[-97.861099,73.968457],[-98.146974,73.888828],[-98.270378,73.868515]]],[[[-100.001901,73.945902],[-99.157947,73.73157],[-99.039636,73.749247],[-98.784533,73.760563],[-98.519356,73.792083],[-98.151858,73.81823],[-97.927715,73.865779],[-97.832161,73.879369],[-97.669948,73.887741],[-97.581843,73.887532],[-97.327026,73.861846],[-97.22476,73.843817],[-97.170499,73.824844],[-97.111744,73.790325],[-97.011285,73.70617],[-96.996607,73.674913],[-97.001694,73.666487],[-97.094583,73.61473],[-97.156392,73.592197],[-97.284185,73.570752],[-97.394773,73.564193],[-97.489778,73.52662],[-97.596982,73.536596],[-97.625898,73.502285],[-97.614604,73.481334],[-97.58582,73.47115],[-97.531817,73.4736],[-97.470118,73.488223],[-97.350306,73.480939],[-97.287129,73.458461],[-97.230363,73.421305],[-97.272507,73.386841],[-97.48407,73.339193],[-97.795884,73.285294],[-98.175836,73.115775],[-98.375594,73.044694],[-98.416832,73.022523],[-98.436959,73.000243],[-98.430911,72.958078],[-98.421764,72.941027],[-98.366652,72.934149],[-98.180823,72.993069],[-98.061012,73.020502],[-97.939393,73.035597],[-97.724803,73.036674],[-97.636335,73.027632],[-97.475671,72.992267],[-97.328757,72.937819],[-97.295836,72.918032],[-97.309921,72.898136],[-97.371005,72.878141],[-97.377668,72.864957],[-97.237576,72.83747],[-97.083009,72.76285],[-97.07288,72.717576],[-97.140473,72.672752],[-97.158924,72.642781],[-97.128124,72.627609],[-97.051797,72.636804],[-96.869017,72.687034],[-96.671302,72.713181],[-96.592085,72.710237],[-96.542114,72.698712],[-96.489198,72.629883],[-96.445632,72.552418],[-96.440155,72.48728],[-96.472867,72.434392],[-96.519866,72.393106],[-96.638282,72.342041],[-96.745487,72.322617],[-96.801451,72.322409],[-96.795892,72.313773],[-96.668747,72.271245],[-96.615568,72.237243],[-96.592859,72.204481],[-96.60061,72.172852],[-96.618128,72.14588],[-96.766312,72.045938],[-96.758324,72.031677],[-96.717296,72.025162],[-96.624357,71.967594],[-96.613426,71.833857],[-96.946504,71.791868],[-97.024666,71.760732],[-97.116704,71.710822],[-97.222228,71.673512],[-97.461257,71.634203],[-97.582283,71.629688],[-98.18134,71.662449],[-98.241929,71.681521],[-98.283864,71.715524],[-98.307067,71.764512],[-98.313373,71.803063],[-98.302678,71.831122],[-98.305804,71.847557],[-98.322701,71.852358],[-98.389283,71.824244],[-98.458843,71.773191],[-98.420809,71.716502],[-98.231465,71.558936],[-98.195292,71.491194],[-98.190151,71.462465],[-98.198627,71.440855],[-98.412283,71.348822],[-98.535945,71.317632],[-98.662887,71.302108],[-98.783835,71.313688],[-98.898763,71.352338],[-98.986253,71.369498],[-99.167121,71.367169],[-99.223629,71.38712],[-99.276182,71.424221],[-99.403668,71.557178],[-99.581459,71.651539],[-99.734735,71.757228],[-100.12414,71.911531],[-100.325706,72.003871],[-100.594476,72.15234],[-100.706816,72.185925],[-100.800173,72.199417],[-100.98365,72.210062],[-101.026233,72.228563],[-101.093101,72.279056],[-101.208546,72.316981],[-101.250662,72.321782],[-101.318722,72.31285],[-101.498321,72.277859],[-101.723914,72.314916],[-101.774506,72.340931],[-101.804428,72.385042],[-101.832899,72.409277],[-101.909331,72.43103],[-101.973666,72.486116],[-102.402221,72.594738],[-102.657088,72.719432],[-102.70874,72.764498],[-102.713673,72.7829],[-102.687476,72.842842],[-102.628457,72.910792],[-102.551075,72.978281],[-102.50379,73.005934],[-102.336127,73.064118],[-102.203989,73.077301],[-102.019606,73.069907],[-101.922454,73.056965],[-101.835382,73.018019],[-101.798072,72.973118],[-101.754533,72.942839],[-101.61777,72.909705],[-101.54359,72.883041],[-101.434606,72.821034],[-101.350577,72.746305],[-101.273195,72.721663],[-101.087625,72.713291],[-100.896056,72.725947],[-100.484766,72.77298],[-100.468023,72.778814],[-100.442595,72.806818],[-100.3957,72.976996],[-100.367509,72.977721],[-100.227933,72.898905],[-100.18835,72.890281],[-100.128145,72.906716],[-100.092384,72.944949],[-100.096729,72.963142],[-100.184471,73.055339],[-100.236201,73.09544],[-100.282684,73.120291],[-100.334363,73.128486],[-100.446215,73.120554],[-100.531376,73.138275],[-100.55019,73.163698],[-100.536391,73.197854],[-100.489315,73.233933],[-100.438827,73.254577],[-100.340719,73.265189],[-100.225868,73.254697],[-100.066989,73.211082],[-99.966398,73.201425],[-99.825142,73.21385],[-100.005905,73.239514],[-100.257959,73.340226],[-100.366114,73.359035],[-100.497994,73.315836],[-100.587032,73.299555],[-100.755343,73.278472],[-100.889365,73.275352],[-101.450855,73.430973],[-101.482067,73.445849],[-101.523205,73.486366],[-101.518448,73.505021],[-101.463049,73.53386],[-101.323166,73.571994],[-101.114959,73.595867],[-100.975795,73.599745],[-100.854099,73.571301],[-100.676796,73.494276],[-100.521664,73.44932],[-100.508925,73.465492],[-100.536314,73.509723],[-100.60711,73.57541],[-100.657933,73.59334],[-100.782732,73.612951],[-100.898231,73.658038],[-100.952592,73.691415],[-100.98153,73.727175],[-100.985095,73.76532],[-100.962979,73.791412],[-100.915128,73.805365],[-100.483629,73.843499],[-100.182302,73.801278],[-99.991101,73.795181],[-99.911879,73.847014],[-99.939504,73.857144],[-100.040089,73.843817],[-100.153831,73.84407],[-100.22478,73.872492],[-100.227054,73.889136],[-100.138483,73.928873],[-100.001901,73.945902]]],[[[-86.589357,71.010806],[-86.549674,70.988789],[-86.32129,71.016804],[-86.12714,71.048994],[-85.824576,71.125734],[-85.643862,71.152452],[-85.094854,71.151936],[-85.00158,71.137467],[-85.042789,71.091577],[-85.065784,71.078602],[-85.047667,71.058684],[-84.988506,71.031768],[-84.870315,71.001786],[-84.823711,71.028637],[-84.789598,71.09328],[-84.708596,71.358699],[-84.674308,71.438789],[-84.658081,71.514606],[-84.659938,71.586127],[-84.699401,71.631467],[-84.840136,71.658626],[-85.03222,71.654077],[-85.130922,71.661207],[-85.250497,71.675314],[-85.33908,71.697275],[-85.396692,71.727048],[-85.511521,71.816543],[-85.596215,71.86641],[-85.813305,71.956432],[-85.911599,71.986513],[-85.862095,72.021965],[-85.664791,72.062791],[-85.545776,72.101539],[-85.405888,72.214874],[-85.321864,72.233134],[-85.018729,72.218181],[-84.608478,72.1295],[-84.351639,72.052661],[-84.283744,72.044487],[-84.282349,72.05844],[-84.347454,72.094442],[-84.642997,72.189551],[-84.777535,72.258765],[-84.842003,72.308148],[-84.811044,72.329539],[-84.644678,72.351401],[-84.623046,72.37656],[-84.849441,72.406223],[-84.96416,72.405608],[-85.056819,72.384371],[-85.156399,72.382921],[-85.341112,72.421527],[-85.391298,72.444005],[-85.497777,72.510615],[-85.553687,72.56859],[-85.615595,72.604636],[-85.637897,72.63319],[-85.649905,72.722179],[-85.644533,72.774452],[-85.619451,72.819177],[-85.574616,72.856377],[-85.45481,72.925162],[-85.387573,72.945004],[-85.262131,72.954002],[-84.989539,72.919889],[-84.25663,72.796743],[-84.274252,72.836437],[-85.09403,73.002627],[-85.383904,73.045408],[-85.454755,73.105459],[-85.0184,73.335502],[-84.616047,73.389522],[-84.416085,73.456494],[-84.088967,73.459395],[-83.781888,73.416911],[-83.776538,73.42849],[-83.914977,73.508383],[-83.904067,73.528334],[-83.729846,73.575872],[-83.410353,73.631682],[-83.020459,73.676023],[-82.943203,73.699116],[-82.843315,73.71542],[-82.659602,73.729603],[-82.202779,73.736459],[-81.946161,73.729812],[-81.605354,73.696018],[-81.406139,73.634528],[-81.344077,73.597735],[-81.238345,73.479544],[-81.151728,73.314024],[-81.025122,73.245194],[-80.821732,73.20716],[-80.681173,73.165818],[-80.603445,73.12117],[-80.582779,73.064942],[-80.619155,72.997145],[-80.591876,72.927689],[-80.50092,72.856586],[-80.430817,72.816277],[-80.277261,72.770189],[-80.274712,72.745558],[-80.322667,72.717477],[-80.424335,72.678926],[-80.67512,72.558626],[-80.998722,72.426229],[-81.229347,72.311708],[-81.240564,72.277914],[-80.760802,72.457178],[-80.611454,72.450828],[-80.604686,72.425757],[-80.702432,72.338273],[-80.821468,72.260237],[-80.94123,72.210161],[-80.919346,72.191254],[-80.691401,72.103451],[-80.733259,72.089015],[-80.843276,72.096167],[-80.888386,72.08829],[-80.92107,72.072294],[-80.941384,72.048267],[-80.942703,72.014363],[-80.925026,71.970703],[-80.926783,71.938085],[-80.947921,71.916563],[-80.925135,71.907653],[-80.858448,71.911421],[-80.802242,71.929197],[-80.705409,71.988117],[-80.386146,72.14877],[-80.181921,72.208766],[-80.116091,72.214039],[-79.928291,72.174972],[-79.884368,72.177202],[-80.090889,72.300853],[-80.108928,72.332175],[-80.066971,72.378296],[-80.041802,72.394237],[-79.92672,72.428163],[-79.831293,72.446279],[-79.777866,72.43871],[-79.693326,72.375945],[-79.653841,72.332175],[-79.583694,72.314652],[-79.427424,72.337317],[-79.323318,72.390831],[-79.194382,72.355708],[-79.000232,72.272025],[-79.017964,72.188254],[-79.017755,72.104363],[-79.007834,72.042938],[-78.775935,71.930394],[-78.614469,71.880989],[-78.585091,71.880626],[-78.588871,71.897501],[-78.622533,71.934943],[-78.711159,71.972406],[-78.790843,72.030282],[-78.862749,72.100814],[-78.820089,72.265411],[-78.69925,72.351401],[-78.582488,72.329363],[-78.4288,72.279771],[-78.307489,72.275123],[-78.116338,72.28032],[-77.726026,72.179993],[-77.516506,72.177795],[-77.535732,72.218774],[-77.694474,72.238407],[-77.926197,72.293833],[-78.287175,72.359817],[-78.453058,72.435194],[-78.484303,72.470614],[-78.479491,72.508726],[-78.458847,72.542344],[-78.422417,72.571535],[-78.350226,72.60022],[-78.001025,72.687605],[-77.753207,72.724761],[-77.56678,72.736857],[-77.255383,72.735868],[-76.893493,72.720674],[-76.697948,72.695043],[-76.473255,72.633344],[-76.188775,72.572216],[-76.087284,72.561306],[-75.968741,72.562723],[-75.833192,72.576522],[-75.704311,72.571535],[-75.294257,72.480842],[-75.185789,72.434238],[-75.120091,72.377725],[-75.071455,72.322848],[-75.039858,72.269564],[-75.052679,72.226366],[-75.394156,72.039785],[-75.542768,72.00798],[-75.640964,71.937162],[-75.787412,71.803063],[-75.911283,71.731278],[-75.922807,71.717227],[-75.896814,71.713711],[-75.822085,71.745901],[-75.693358,71.838582],[-75.599875,71.918474],[-75.428357,71.984392],[-75.147656,72.062988],[-74.903177,72.100507],[-74.69492,72.096947],[-74.519688,72.085653],[-74.377415,72.066559],[-74.292974,72.050585],[-74.266344,72.037676],[-74.209314,71.978657],[-74.212599,71.938656],[-74.248249,71.893645],[-74.315738,71.84269],[-74.62151,71.786265],[-74.789051,71.741979],[-74.892971,71.725543],[-75.204807,71.709108],[-75.191063,71.691596],[-74.959449,71.667459],[-74.700754,71.675577],[-74.707368,71.646947],[-74.828943,71.570878],[-74.868296,71.504729],[-74.834502,71.450599],[-74.840753,71.406599],[-74.931291,71.31405],[-75.035332,71.230532],[-74.99622,71.218107],[-74.758949,71.338121],[-74.695327,71.469441],[-74.59957,71.584885],[-74.488114,71.648397],[-74.404079,71.672523],[-74.139034,71.682235],[-73.992092,71.749625],[-73.866595,71.771049],[-73.814036,71.771433],[-73.707227,71.74634],[-73.713556,71.719863],[-73.868617,71.599354],[-74.197273,71.404171],[-74.063327,71.42644],[-73.972503,71.472869],[-73.850885,71.519154],[-73.712863,71.587621],[-73.621699,71.525559],[-73.481612,71.479252],[-73.397786,71.37342],[-73.262424,71.322466],[-73.18062,71.282882],[-73.192188,71.349855],[-73.310456,71.484273],[-73.278211,71.538007],[-73.186816,71.564912],[-72.90193,71.677775],[-72.703055,71.640147],[-72.580623,71.606792],[-72.519287,71.615625],[-72.364599,71.610978],[-72.116495,71.592784],[-71.875191,71.56121],[-71.640688,71.516254],[-71.459919,71.463695],[-71.33295,71.403446],[-71.25609,71.361797],[-71.229371,71.338748],[-71.186557,71.278696],[-71.219373,71.238827],[-71.396572,71.146871],[-71.495009,71.105112],[-71.593095,71.086381],[-71.85613,71.104805],[-71.937934,71.094291],[-72.023869,71.065331],[-72.297703,70.938823],[-72.449117,70.8841],[-72.598048,70.849219],[-72.632721,70.830773],[-72.312557,70.832498],[-72.223908,70.870148],[-72.149981,70.94068],[-72.009169,71.013442],[-71.742542,71.046874],[-71.370853,70.975155],[-71.186239,70.978022],[-71.045372,71.049983],[-70.888015,71.099015],[-70.826063,71.10876],[-70.792467,71.103311],[-70.672628,71.052202],[-70.636461,71.006576],[-70.639097,70.902448],[-70.655247,70.870917],[-70.761727,70.792222],[-71.021762,70.674108],[-71.19182,70.6298],[-71.380444,70.60597],[-71.58591,70.56587],[-71.658464,70.533527],[-71.729392,70.487692],[-71.800155,70.457018],[-71.890177,70.431541],[-71.772381,70.394209],[-71.727249,70.395242],[-71.683678,70.417566],[-71.564981,70.505676],[-71.476662,70.544041],[-71.426641,70.552105],[-71.375072,70.548435],[-71.324842,70.531176],[-71.275854,70.500293],[-71.279567,70.425212],[-71.429432,70.127758],[-71.405141,70.128636],[-71.313054,70.209309],[-71.045273,70.519058],[-70.979794,70.581064],[-70.850551,70.643599],[-70.560963,70.738268],[-70.337248,70.787827],[-70.084705,70.829531],[-69.949782,70.845033],[-69.79571,70.834596],[-69.695482,70.785916],[-69.560086,70.777126],[-69.395368,70.789266],[-69.289042,70.783433],[-69.168687,70.764152],[-69.065701,70.728084],[-68.890755,70.687105],[-68.495764,70.610266],[-68.446666,70.594116],[-68.400831,70.564991],[-68.358248,70.522881],[-68.363521,70.481232],[-68.41664,70.439989],[-68.48258,70.414819],[-68.561341,70.405679],[-68.642838,70.383201],[-68.79368,70.324391],[-68.842921,70.314437],[-69.079445,70.289147],[-69.29871,70.276798],[-69.435677,70.253134],[-69.698975,70.189303],[-70.061458,70.070837],[-70.057734,70.042625],[-69.913088,70.029034],[-69.795842,70.046942],[-69.634551,70.128746],[-69.482984,70.160057],[-69.246207,70.185117],[-68.91855,70.20698],[-68.778222,70.203541],[-68.752954,70.199147],[-68.734606,70.179855],[-68.72329,70.145643],[-68.776959,70.10105],[-68.839097,70.079912],[-69.00832,69.978937],[-68.897028,69.952734],[-68.744066,69.941418],[-68.656713,69.968445],[-68.57782,70.030452],[-68.489359,70.06485],[-68.391273,70.071617],[-68.305074,70.087405],[-68.230663,70.112212],[-68.210427,70.128428],[-68.31862,70.160574],[-68.327189,70.180162],[-68.283112,70.228271],[-68.203527,70.2815],[-68.120646,70.314624],[-68.059101,70.317261],[-67.855338,70.281786],[-67.71602,70.219845],[-67.363688,70.034429],[-67.318414,69.998416],[-67.195894,69.860702],[-67.172636,69.799464],[-67.192763,69.756826],[-67.221624,69.730734],[-67.259296,69.721274],[-67.336706,69.721011],[-67.806196,69.777393],[-68.020385,69.770054],[-68.113978,69.754299],[-68.189476,69.730624],[-68.248099,69.700763],[-68.289803,69.664684],[-68.372101,69.644381],[-68.669941,69.643656],[-68.837087,69.623551],[-69.124511,69.574508],[-69.227684,69.547438],[-69.250777,69.51193],[-69.07493,69.518104],[-68.785275,69.564225],[-68.513023,69.577299],[-68.058167,69.475862],[-67.908248,69.460096],[-67.82485,69.47473],[-67.724512,69.479246],[-67.360953,69.4725],[-67.23695,69.460096],[-67.052676,69.421194],[-66.770855,69.336643],[-66.716747,69.311847],[-66.685228,69.285743],[-66.676285,69.258431],[-66.679284,69.191074],[-66.707398,69.168234],[-66.802891,69.152754],[-67.208012,69.170662],[-67.331652,69.184713],[-67.483813,69.166992],[-67.607233,69.173199],[-67.765052,69.200226],[-67.93846,69.248126],[-68.19821,69.202698],[-68.40628,69.232229],[-68.618909,69.206005],[-69.040609,69.098009],[-68.993488,69.079354],[-68.41553,69.172057],[-68.303942,69.166421],[-68.121262,69.132605],[-67.832596,69.065962],[-67.751703,69.038683],[-67.751022,68.933829],[-67.795132,68.863319],[-67.883188,68.783965],[-68.015639,68.794665],[-68.324201,68.844071],[-68.450412,68.850839],[-68.542785,68.842775],[-68.666678,68.811299],[-68.725312,68.810189],[-69.218873,68.8728],[-69.329769,68.8758],[-69.342689,68.869384],[-69.319101,68.856991],[-68.871419,68.759938],[-68.540643,68.749347],[-68.333188,68.732549],[-68.210405,68.702963],[-68.152496,68.681078],[-68.14831,68.616127],[-68.03793,68.550747],[-67.93846,68.524193],[-67.875047,68.522952],[-67.765986,68.547034],[-67.655969,68.550725],[-67.566924,68.533982],[-67.455512,68.497892],[-67.320688,68.487806],[-67.202508,68.465845],[-67.111201,68.46145],[-66.854208,68.471634],[-66.742741,68.457781],[-66.713902,68.445718],[-66.762407,68.424657],[-66.997272,68.374175],[-67.032956,68.326088],[-66.900406,68.263531],[-66.83095,68.215631],[-66.834312,68.179871],[-66.905108,68.098484],[-66.923093,68.065712],[-66.899791,68.063086],[-66.728997,68.129015],[-66.702333,68.120544],[-66.684579,68.029237],[-66.662717,68.034401],[-66.605467,68.110008],[-66.630966,68.210665],[-66.530771,68.250359],[-66.212387,68.280428],[-66.266286,68.12272],[-66.274679,68.040762],[-66.413876,67.904278],[-66.529991,67.8603],[-66.526475,67.85116],[-66.443979,67.833845],[-66.392376,67.831934],[-66.342971,67.85328],[-66.225175,67.958716],[-65.985838,68.068557],[-65.942376,68.070941],[-65.94398,68.031193],[-65.974885,67.95743],[-65.864351,67.922834],[-65.758926,67.95709],[-65.70172,67.986654],[-65.569346,67.982314],[-65.509075,67.968252],[-65.491135,67.935699],[-65.551988,67.799348],[-65.540848,67.765631],[-65.401277,67.67484],[-65.387116,67.680289],[-65.413472,67.724081],[-65.442256,67.832351],[-65.415307,67.879263],[-65.300346,67.939501],[-65.064393,68.026238],[-64.976908,68.043387],[-64.922306,68.031665],[-64.83547,67.990016],[-64.862552,67.965132],[-64.956386,67.939105],[-65.026028,67.892029],[-65.071446,67.823848],[-65.021117,67.787571],[-64.829856,67.784264],[-64.637782,67.84025],[-64.527524,67.812707],[-64.396424,67.739945],[-64.15623,67.622974],[-64.01945,67.654889],[-63.850184,67.566086],[-64.077502,67.49562],[-64.007947,67.347338],[-64.303282,67.353457],[-64.469285,67.341855],[-64.580445,67.355193],[-64.699943,67.350546],[-64.589234,67.315532],[-64.375912,67.301063],[-64.356423,67.256151],[-64.188947,67.257294],[-64.063219,67.265918],[-63.836253,67.264116],[-63.824113,67.315686],[-63.676446,67.34514],[-63.591587,67.377539],[-63.521099,67.358368],[-63.315841,67.336329],[-63.040129,67.235013],[-63.161615,67.174347],[-63.194695,67.117042],[-63.235564,67.068516],[-63.258405,67.024647],[-63.3068,66.994468],[-63.701528,66.822378],[-63.636214,66.820785],[-63.4692,66.862379],[-63.143686,66.924342],[-62.962301,66.949248],[-62.833344,66.932714],[-62.768184,66.931988],[-62.710429,66.954104],[-62.602895,66.928627],[-62.379751,66.905369],[-62.123594,67.046708],[-61.968533,67.019066],[-61.824129,66.931725],[-61.51471,66.778487],[-61.353409,66.689213],[-61.299718,66.64875],[-61.307233,66.608859],[-61.453088,66.566583],[-61.527817,66.558113],[-61.724131,66.637797],[-61.904483,66.678105],[-62.014247,66.673755],[-62.12333,66.643059],[-62.089306,66.625909],[-61.652643,66.503126],[-61.57642,66.412489],[-61.570784,66.372905],[-61.86268,66.312821],[-61.956371,66.309316],[-62.158454,66.337991],[-62.276886,66.391505],[-62.374511,66.41083],[-62.509819,66.417191],[-62.553127,66.406853],[-62.405646,66.315897],[-62.419851,66.288585],[-62.49602,66.270886],[-62.533571,66.227018],[-62.242082,66.147927],[-62.023904,66.06754],[-61.991615,66.035295],[-62.138656,66.011367],[-62.244356,66.005841],[-62.467785,66.017464],[-62.590359,66.034416],[-62.624131,66.016256],[-62.497371,65.974014],[-62.448383,65.945482],[-62.410293,65.905744],[-62.388178,65.868336],[-62.382004,65.83329],[-62.485638,65.804505],[-62.610256,65.723635],[-62.658914,65.639919],[-62.771722,65.631965],[-62.817293,65.64772],[-62.968893,65.622352],[-63.168954,65.657333],[-63.240684,65.695576],[-63.458752,65.853032],[-63.464333,65.835366],[-63.409764,65.755836],[-63.420882,65.708595],[-63.651946,65.674339],[-63.651045,65.661002],[-63.509223,65.636041],[-63.337452,65.616771],[-63.364269,65.54324],[-63.363357,65.229712],[-63.40181,65.118453],[-63.485833,65.021224],[-63.606606,64.928082],[-63.737167,64.989111],[-63.789385,65.051382],[-63.833199,65.083286],[-63.895634,65.109258],[-63.976274,65.121507],[-64.061429,65.121947],[-64.151846,65.06618],[-64.250437,65.114322],[-64.345733,65.172407],[-64.309764,65.324568],[-64.269664,65.400758],[-64.285737,65.400198],[-64.339921,65.364173],[-64.469834,65.252706],[-64.555077,65.116596],[-64.665325,65.168946],[-64.764806,65.234084],[-64.84694,65.299585],[-64.979644,65.375083],[-65.10847,65.463753],[-65.175706,65.568146],[-65.206995,65.589668],[-65.28201,65.676669],[-65.311464,65.70152],[-65.337403,65.709792],[-65.401607,65.763999],[-65.378096,65.822084],[-65.276967,65.89066],[-65.18488,65.939956],[-65.032258,65.988526],[-64.853708,66.015893],[-64.77253,66.078548],[-64.672994,66.192707],[-64.563965,66.272182],[-64.445368,66.317117],[-64.504375,66.32551],[-64.655174,66.287014],[-64.761159,66.230896],[-64.887249,66.13738],[-65.004506,66.077724],[-65.305389,66.008423],[-65.415593,65.99458],[-65.543693,65.987186],[-65.825745,65.996931],[-65.891059,66.020211],[-65.857166,66.086404],[-65.656347,66.204748],[-65.688383,66.213065],[-65.758981,66.171207],[-65.85598,66.142214],[-65.940025,66.127438],[-66.063709,66.132711],[-66.208586,66.206396],[-66.277393,66.229083],[-66.419194,66.254505],[-66.476971,66.27973],[-66.712331,66.460444],[-66.759748,66.508498],[-66.787389,66.555685],[-66.862888,66.595312],[-66.986341,66.627513],[-67.014795,66.62224],[-66.970433,66.581876],[-66.968983,66.547148],[-67.076879,66.525505],[-67.189643,66.53302],[-67.307306,66.569736],[-67.3177,66.520386],[-67.191763,66.43277],[-67.189764,66.321742],[-67.22537,66.310272],[-67.31124,66.303757],[-67.368852,66.317501],[-67.55975,66.400448],[-67.740772,66.458192],[-67.868433,66.490151],[-67.883397,66.467421],[-67.800582,66.367324],[-67.704495,66.268612],[-67.547215,66.187225],[-67.296716,66.090282],[-67.183227,66.034416],[-67.272634,65.955556],[-67.350461,65.92975],[-67.398779,65.921708],[-67.550753,65.921609],[-67.828047,65.96517],[-67.958224,66.013795],[-68.147277,66.129811],[-68.459893,66.249287],[-68.527778,66.248617],[-68.748922,66.200046],[-68.714194,66.192235],[-68.571679,66.18873],[-68.467078,66.173174],[-68.217172,66.078856],[-68.198364,66.038965],[-68.260689,65.994602],[-68.256811,65.938616],[-68.18674,65.871017],[-68.115065,65.827764],[-67.96809,65.797276],[-67.894196,65.793244],[-67.866445,65.773656],[-67.954346,65.623077],[-67.961839,65.581944],[-67.936757,65.564916],[-67.906028,65.563487],[-67.71713,65.625351],[-67.638116,65.640436],[-67.569638,65.643534],[-67.490163,65.62623],[-67.39968,65.588404],[-67.346396,65.549381],[-67.330334,65.509182],[-67.303428,65.482925],[-67.117968,65.440397],[-67.134964,65.4205],[-67.326071,65.356626],[-67.336508,65.346606],[-67.298364,65.341959],[-67.177602,65.303815],[-67.066497,65.244082],[-66.998569,65.173],[-66.984902,65.138042],[-66.985627,65.104808],[-66.970378,65.084912],[-66.911546,65.081352],[-66.887519,65.094009],[-66.860646,65.091581],[-66.830906,65.074167],[-66.799639,65.019697],[-66.732765,64.860077],[-66.697422,64.815165],[-66.677164,64.813692],[-66.666672,64.973807],[-66.635514,65.000317],[-66.517774,64.97195],[-66.345223,64.909625],[-66.223758,64.8541],[-66.209695,64.828139],[-66.30153,64.777723],[-66.28215,64.755322],[-66.214661,64.722407],[-66.15249,64.734909],[-66.107512,64.791192],[-66.030201,64.846564],[-65.938531,64.885752],[-65.768045,64.853562],[-65.626739,64.770747],[-65.605272,64.742358],[-65.513151,64.706488],[-65.43194,64.726439],[-65.274825,64.631528],[-65.34929,64.588517],[-65.512789,64.525982],[-65.529323,64.504801],[-65.489981,64.509624],[-65.178595,64.509701],[-65.094517,64.484586],[-65.074632,64.436686],[-65.212994,64.303257],[-65.339886,64.315089],[-65.507471,64.318319],[-65.593637,64.311112],[-65.580333,64.293852],[-65.347785,64.232307],[-65.281977,64.18166],[-65.192757,64.129837],[-65.149614,64.087145],[-65.150646,64.067512],[-65.18733,64.038003],[-65.169861,64.028159],[-65.010604,64.008856],[-64.911847,64.02617],[-64.787823,64.032784],[-64.678454,64.027983],[-64.669742,64.009581],[-64.686177,63.960934],[-64.798161,63.915945],[-64.768135,63.905398],[-64.636717,63.918351],[-64.576314,63.897345],[-64.498487,63.790349],[-64.410948,63.706347],[-64.482205,63.687066],[-64.561581,63.679706],[-64.55032,63.572556],[-64.498619,63.46277],[-64.498102,63.357575],[-64.514351,63.263972],[-64.586905,63.243164],[-64.664655,63.245339],[-64.695604,63.268828],[-64.886293,63.548705],[-64.933293,63.599275],[-64.989697,63.643352],[-65.191856,63.764278],[-65.183924,63.744844],[-65.133848,63.689055],[-65.089408,63.605932],[-65.031324,63.44016],[-65.004814,63.333416],[-65.016701,63.292833],[-65.058042,63.282857],[-65.068919,63.263478],[-65.04933,63.234638],[-64.894841,63.125632],[-64.820177,63.060022],[-64.767355,62.991819],[-64.718114,62.945819],[-64.672378,62.921946],[-64.683639,62.90239],[-64.751854,62.887174],[-64.868693,62.879879],[-64.923218,62.889184],[-65.132969,62.952334],[-65.162786,62.932591],[-65.046595,62.701439],[-65.050187,62.646156],[-65.10847,62.626457],[-65.180331,62.649463],[-65.265805,62.715084],[-65.39652,62.788209],[-65.572422,62.868871],[-65.74037,62.931976],[-65.77991,62.930262],[-65.80564,62.911585],[-65.833699,62.908542],[-65.864087,62.921122],[-65.920261,62.968506],[-65.978862,63.000707],[-66.224011,63.107153],[-66.249202,63.108241],[-66.226054,63.076303],[-66.201071,63.006233],[-66.228669,62.990984],[-66.292741,62.996675],[-66.41447,63.027217],[-66.496406,63.097287],[-66.600479,63.218884],[-66.654971,63.264774],[-66.659827,63.234902],[-66.630867,63.119062],[-66.636448,63.080127],[-66.697477,63.069536],[-66.723262,63.080182],[-66.748531,63.111086],[-66.773228,63.162239],[-66.831467,63.201108],[-66.923279,63.227662],[-66.974717,63.255567],[-67.00014,63.305127],[-67.017916,63.316498],[-67.179799,63.305028],[-67.260955,63.340733],[-67.494997,63.481446],[-67.709219,63.633948],[-67.844252,63.714565],[-67.893262,63.733736],[-67.821434,63.635035],[-67.74253,63.489247],[-67.722579,63.422746],[-67.758801,63.419725],[-67.837891,63.449223],[-68.243528,63.637046],[-68.493742,63.725464],[-68.632862,63.741119],[-68.858939,63.751875],[-68.911091,63.703216],[-68.78923,63.595133],[-68.670556,63.513691],[-68.555112,63.458913],[-68.373936,63.352181],[-68.208054,63.214698],[-68.141257,63.172324],[-67.915356,63.11369],[-67.797462,63.098089],[-67.675964,63.093563],[-67.664911,63.072634],[-67.723765,63.033676],[-67.736949,63.009594],[-67.468223,62.948247],[-67.366655,62.914145],[-67.268503,62.857555],[-67.212692,62.843503],[-66.979518,62.700824],[-66.921544,62.678082],[-66.714012,62.631786],[-66.644864,62.602068],[-66.530529,62.50998],[-66.458733,62.463113],[-66.357286,62.351909],[-66.281249,62.302679],[-66.095031,62.246385],[-66.015655,62.230257],[-65.980202,62.208867],[-66.004339,62.15833],[-66.026971,62.137192],[-66.133165,62.102409],[-66.116421,62.053916],[-66.056425,61.967486],[-66.058886,61.91384],[-66.12387,61.893065],[-66.256695,61.868269],[-66.323744,61.870279],[-66.424522,61.890747],[-66.551337,61.925573],[-66.803155,62.012618],[-67.181063,62.072856],[-67.322039,62.105046],[-67.369006,62.134094],[-67.44012,62.151244],[-68.378583,62.235168],[-68.535886,62.255636],[-68.633664,62.281311],[-68.724378,62.318983],[-69.082346,62.405182],[-69.125599,62.42399],[-69.366046,62.571866],[-69.545156,62.744593],[-69.604735,62.767741],[-69.799511,62.790483],[-69.962076,62.776168],[-70.070961,62.757206],[-70.236152,62.76338],[-70.344071,62.791516],[-70.571323,62.869189],[-70.801409,62.910476],[-71.002119,62.97825],[-71.105786,63.002256],[-71.096173,63.019669],[-70.946055,63.120699],[-70.992659,63.119304],[-71.253739,63.04251],[-71.347265,63.06613],[-71.501261,63.126434],[-71.617122,63.187199],[-71.855482,63.355279],[-71.99224,63.416177],[-71.973046,63.429876],[-71.819172,63.435458],[-71.696553,63.430239],[-71.614277,63.444082],[-71.455843,63.512252],[-71.387398,63.555033],[-71.380828,63.580301],[-71.513455,63.586563],[-71.541877,63.598802],[-71.565596,63.626762],[-71.626735,63.662578],[-71.725283,63.706139],[-71.837552,63.724947],[-72.222974,63.708874],[-72.290156,63.728001],[-72.288761,63.756983],[-72.213471,63.838744],[-72.172437,63.871659],[-72.159364,63.889896],[-72.174272,63.893412],[-72.226435,63.891368],[-72.449996,63.818122],[-72.498468,63.823495],[-72.586106,63.900805],[-72.639312,63.98907],[-72.678094,64.020018],[-72.729609,64.030488],[-72.913169,64.11717],[-73.174292,64.281866],[-73.270301,64.333491],[-73.377121,64.37959],[-73.454553,64.399277],[-73.443621,64.423513],[-73.278156,64.560249],[-73.271279,64.582518],[-73.413079,64.574147],[-73.626972,64.602513],[-73.728409,64.568258],[-73.7928,64.566214],[-73.867891,64.585364],[-73.910343,64.578124],[-73.950388,64.465832],[-73.981084,64.437718],[-74.0256,64.422656],[-74.064799,64.424678],[-74.098703,64.443717],[-74.097901,64.469919],[-74.130454,64.607787],[-74.205106,64.628122],[-74.415868,64.633473],[-74.461241,64.64469],[-74.512448,64.670156],[-74.55624,64.717342],[-74.592594,64.786172],[-74.634298,64.823954],[-74.681407,64.830666],[-74.719211,64.82514],[-74.747732,64.807309],[-74.813408,64.796257],[-74.916251,64.791983],[-74.919448,64.765506],[-74.823021,64.716881],[-74.729857,64.64737],[-74.640011,64.557096],[-74.694712,64.496583],[-74.893927,64.465733],[-75.067401,64.456681],[-75.215046,64.469403],[-75.328425,64.490431],[-75.487793,64.540759],[-75.715012,64.524378],[-75.766692,64.391938],[-75.815207,64.384654],[-76.031836,64.388115],[-76.118089,64.376327],[-76.406854,64.303158],[-76.494756,64.292973],[-76.561552,64.301609],[-76.626504,64.283932],[-76.72381,64.242019],[-76.856151,64.237624],[-77.023539,64.270858],[-77.165669,64.285063],[-77.282508,64.280361],[-77.402864,64.299895],[-77.526734,64.343774],[-77.627765,64.363462],[-77.760523,64.360155],[-77.791164,64.367076],[-77.984842,64.461075],[-78.045234,64.499264],[-78.174554,64.61774],[-78.197571,64.66463],[-78.20091,64.714761],[-78.189693,64.751806],[-78.144627,64.807727],[-78.095617,64.939244],[-78.055254,64.982904],[-77.994587,65.022597],[-77.876144,65.072926],[-77.447468,65.161553],[-77.360907,65.196533],[-77.363873,65.219791],[-77.461465,65.32816],[-77.46041,65.355912],[-77.427693,65.372138],[-77.358039,65.435442],[-77.326695,65.453108],[-77.251142,65.462875],[-77.094148,65.43086],[-76.958609,65.418017],[-76.778928,65.413887],[-76.481682,65.369711],[-76.066981,65.285467],[-75.828336,65.227031],[-75.648138,65.140832],[-75.519928,65.056029],[-75.501591,65.013083],[-75.56094,64.947044],[-75.590855,64.927665],[-75.589131,64.905033],[-75.555743,64.879193],[-75.452109,64.84162],[-75.427126,64.855858],[-75.435135,64.900792],[-75.413657,64.938519],[-75.362779,64.969061],[-75.357099,65.008744],[-75.396661,65.057578],[-75.445825,65.0997],[-75.50469,65.135141],[-75.772943,65.257024],[-75.798673,65.297508],[-75.708607,65.315702],[-75.316637,65.274833],[-75.166311,65.283918],[-75.109259,65.331467],[-75.047735,65.363965],[-74.981751,65.381433],[-74.84985,65.389079],[-74.665488,65.366942],[-74.574928,65.363657],[-74.494771,65.371666],[-74.390753,65.397561],[-74.236856,65.483913],[-74.138496,65.503447],[-73.989587,65.516982],[-73.877911,65.518839],[-73.675389,65.48432],[-73.550804,65.485254],[-73.560725,65.542921],[-73.643408,65.653202],[-73.746086,65.76668],[-73.826077,65.805187],[-74.033093,65.877059],[-74.276187,66.012762],[-74.401091,66.096951],[-74.433951,66.139017],[-74.416384,66.167076],[-74.374889,66.208154],[-73.9337,66.358074],[-73.584213,66.506949],[-73.430943,66.583172],[-73.357379,66.636291],[-73.280793,66.674952],[-73.201109,66.699188],[-73.03326,66.72817],[-72.985338,66.765381],[-72.974846,66.82853],[-72.946787,66.883253],[-72.788836,67.030635],[-72.667734,67.070482],[-72.485152,67.09808],[-72.364929,67.133423],[-72.22003,67.254294],[-72.234137,67.284419],[-72.301087,67.307259],[-72.352888,67.341888],[-72.576438,67.658657],[-72.725324,67.81162],[-72.903973,67.944796],[-73.06344,68.107009],[-73.328232,68.266739],[-73.331462,68.309004],[-73.284484,68.35697],[-73.306886,68.367814],[-73.580203,68.297743],[-73.644495,68.294535],[-73.749448,68.324978],[-73.820496,68.362958],[-73.879361,68.429414],[-73.873363,68.464142],[-73.834427,68.497057],[-73.782495,68.578037],[-73.780605,68.61928],[-73.798436,68.658655],[-73.8221,68.685989],[-73.851555,68.701392],[-73.935172,68.711005],[-74.072995,68.714927],[-74.117973,68.700919],[-73.966043,68.578762],[-73.989279,68.548638],[-74.182826,68.535454],[-74.270112,68.541189],[-74.349983,68.556053],[-74.422426,68.579949],[-74.647943,68.707533],[-74.695821,68.755543],[-74.680528,68.790293],[-74.699952,68.808354],[-74.746029,68.796709],[-74.808343,68.795907],[-74.892993,68.808157],[-74.910406,68.823142],[-74.752379,68.89207],[-74.74326,68.913362],[-74.8161,68.936125],[-74.925084,68.940707],[-74.954022,68.961064],[-74.917284,68.982872],[-74.769331,69.020676],[-74.716728,69.045527],[-74.805476,69.064237],[-74.854859,69.065841],[-74.954439,69.02462],[-75.104249,68.940597],[-75.213288,68.909385],[-75.362735,68.948298],[-75.456987,68.961273],[-75.522674,68.952748],[-75.623023,68.887731],[-75.842234,68.840193],[-76.23472,68.728022],[-76.403393,68.69235],[-76.585085,68.698755],[-76.61945,68.721387],[-76.616253,68.759883],[-76.603663,68.791567],[-76.581723,68.81632],[-76.574549,68.846708],[-76.587667,68.974446],[-76.557235,69.009481],[-76.495173,69.03041],[-76.380915,69.052427],[-76.089228,69.026147],[-75.953701,69.030828],[-75.85857,69.060282],[-75.763352,69.102909],[-75.66799,69.158829],[-75.647732,69.212574],[-75.74907,69.299542],[-75.787148,69.318658],[-76.046458,69.386356],[-76.189786,69.411009],[-76.316239,69.421655],[-76.407964,69.441134],[-76.464939,69.469457],[-76.520365,69.516588],[-76.524935,69.548701],[-76.516102,69.590922],[-76.463291,69.619958],[-76.231106,69.653478],[-76.234105,69.662102],[-76.423806,69.68681],[-76.513257,69.68391],[-76.590051,69.656268],[-76.686533,69.591284],[-76.742343,69.572915],[-76.915554,69.61118],[-77.019638,69.616838],[-77.089918,69.635131],[-77.128799,69.652753],[-77.105079,69.670759],[-77.018705,69.689084],[-76.868609,69.745148],[-76.85859,69.775404],[-76.962279,69.824832],[-77.015969,69.836147],[-77.232466,69.854604],[-77.494281,69.836257],[-77.591642,69.845607],[-77.635312,69.900439],[-77.663009,69.965709],[-77.674731,70.041515],[-77.721939,70.17078],[-77.774004,70.2385],[-77.842525,70.24708],[-78.156778,70.21912],[-78.231441,70.21879],[-78.282814,70.22915],[-78.49073,70.315558],[-78.574786,70.346199],[-78.621445,70.353406],[-78.77265,70.445317],[-78.830845,70.463192],[-78.899883,70.508544],[-78.979775,70.581328],[-79.06638,70.603543],[-79.159764,70.575253],[-79.253192,70.534713],[-79.346653,70.481902],[-79.397322,70.437253],[-79.405221,70.400713],[-79.3474,70.372291],[-79.017546,70.325215],[-78.93383,70.293717],[-78.862826,70.241884],[-78.809839,70.178558],[-78.774847,70.103632],[-78.777825,70.047634],[-78.818804,70.010457],[-78.889654,69.977509],[-79.09289,69.925345],[-79.303323,69.894803],[-79.515425,69.887618],[-79.615906,69.894727],[-80.162135,69.995988],[-80.260419,69.996757],[-80.386794,70.010457],[-80.670318,70.052084],[-80.825764,70.056654],[-81.098302,70.091173],[-81.559563,70.111223],[-81.651936,70.094612],[-81.52923,70.04803],[-81.421739,70.024618],[-81.329498,70.024354],[-81.196849,69.982804],[-81.02376,69.9],[-80.924828,69.850594],[-80.842859,69.791653],[-80.840277,69.771372],[-80.921719,69.730887],[-81.564683,69.942704],[-81.957729,69.868755],[-82.138707,69.841212],[-82.293834,69.836927],[-82.487721,69.865964],[-82.925372,69.968159],[-83.091145,70.003898],[-83.149955,70.009061],[-83.530741,69.964775],[-83.859089,69.962732],[-84.521862,70.005238],[-84.765132,70.03366],[-84.829204,70.063323],[-84.909097,70.078198],[-85.052655,70.078198],[-85.432376,70.111377],[-85.780027,70.036659],[-86.1982,70.105126],[-86.322015,70.145435],[-86.361445,70.173032],[-86.483086,70.288575],[-86.499829,70.350385],[-86.465365,70.40625],[-86.431022,70.444537],[-86.396865,70.465313],[-86.624315,70.401284],[-86.704164,70.390737],[-86.80927,70.388265],[-87.122479,70.411952],[-87.171984,70.399834],[-87.155812,70.377466],[-87.074008,70.344803],[-87.063263,70.325116],[-87.237869,70.309713],[-87.502453,70.325687],[-87.617798,70.318755],[-87.670203,70.309812],[-87.78947,70.258242],[-87.838151,70.246564],[-87.900707,70.251892],[-88.178309,70.368622],[-88.402123,70.442472],[-88.662982,70.470839],[-88.782733,70.494481],[-88.848421,70.522881],[-89.2083,70.759713],[-89.25754,70.810712],[-89.371535,70.996128],[-89.409756,71.035712],[-89.45591,71.061705],[-89.365514,71.067188],[-89.025158,71.0446],[-88.695667,71.045588],[-88.516666,71.030548],[-88.309102,70.984329],[-88.038607,70.951326],[-87.844918,70.944404],[-87.534445,70.956599],[-87.181597,70.987559],[-87.140101,71.011608],[-87.368617,71.05285],[-87.572293,71.107551],[-87.760247,71.178501],[-87.872428,71.208549],[-88.060646,71.227225],[-88.589495,71.240299],[-89.079342,71.287947],[-89.417688,71.352184],[-89.693324,71.423496],[-89.805385,71.4623],[-89.845749,71.492282],[-89.888507,71.585764],[-89.933683,71.742704],[-89.977343,71.848074],[-90.019541,71.901808],[-90.025177,71.948785],[-89.931508,72.049036],[-89.663793,72.157976],[-89.657267,72.175049],[-89.71054,72.180114],[-89.822886,72.207788],[-89.858668,72.248328],[-89.873115,72.312642],[-89.874049,72.367211],[-89.861536,72.411914],[-89.816832,72.467725],[-89.70152,72.568052],[-89.536439,72.689824],[-89.357692,72.804137],[-89.327106,72.841546],[-89.311395,72.942993],[-89.287665,73.016942],[-89.263231,73.068974],[-89.225329,73.108041],[-89.114762,73.182199],[-88.976785,73.252478],[-88.760936,73.31242],[-88.742534,73.33459],[-88.73959,73.365286],[-88.727164,73.388181],[-88.705203,73.403276],[-88.170015,73.595307],[-87.926415,73.673331],[-87.719751,73.722891],[-87.472383,73.75942],[-86.768753,73.833996],[-86.406401,73.854771],[-85.950765,73.850167],[-85.110487,73.808156],[-85.009325,73.778624],[-84.983562,73.763716],[-84.946802,73.721649],[-84.974498,73.694777],[-85.204299,73.603568],[-85.493591,73.527708],[-85.681897,73.46146],[-86.000534,73.312529],[-86.086469,73.260234],[-86.481383,72.960253],[-86.574657,72.91054],[-86.629336,72.870802],[-86.667777,72.762565],[-86.656307,72.724036],[-86.594608,72.661117],[-86.380298,72.524667],[-86.322554,72.460825],[-86.324026,72.402169],[-86.348053,72.262258],[-86.350997,72.191331],[-86.34134,72.123193],[-86.297153,72.025789],[-86.21848,71.899127],[-86.03614,71.770972],[-85.750111,71.641333],[-85.537152,71.555431],[-85.327192,71.492128],[-85.078726,71.39848],[-85.023409,71.353239],[-85.137612,71.303405],[-85.405371,71.226764],[-85.757263,71.193948],[-85.945415,71.162659],[-86.179468,71.095917],[-86.47322,71.042644],[-86.589357,71.010806]]],[[[-79.537287,73.654468],[-79.36678,73.64135],[-78.286538,73.665839],[-78.062933,73.647645],[-77.382143,73.536651],[-77.206549,73.49955],[-77.119779,73.450474],[-77.04149,73.373042],[-77.005323,73.356035],[-76.758669,73.309992],[-76.657276,73.254181],[-76.621571,73.22532],[-76.569792,73.159259],[-76.458457,73.12184],[-76.331147,73.100504],[-76.28952,73.080993],[-76.309548,72.997925],[-76.255287,72.95922],[-76.135041,72.912418],[-76.089997,72.881184],[-76.183403,72.843051],[-76.400548,72.820671],[-77.013563,72.843973],[-77.835912,72.89684],[-78.314201,72.881854],[-78.554066,72.857695],[-79.134155,72.771629],[-79.319308,72.757709],[-79.500516,72.755973],[-79.820702,72.826329],[-79.936849,72.863617],[-79.975323,72.8925],[-80.05159,72.976996],[-80.114432,73.078224],[-80.146424,73.161325],[-80.183317,73.224683],[-80.292718,73.245612],[-80.617914,73.270825],[-80.726876,73.305443],[-80.776402,73.334183],[-80.82416,73.380689],[-80.822941,73.428952],[-80.798013,73.471535],[-80.776974,73.481972],[-80.735841,73.483081],[-80.826995,73.534684],[-80.858525,73.591428],[-80.860723,73.670541],[-80.848857,73.721232],[-80.822864,73.743457],[-80.762768,73.757772],[-80.621374,73.76733],[-80.412294,73.765419],[-80.120277,73.707081],[-79.889333,73.7015],[-79.537287,73.654468]]],[[[-105.288917,72.919944],[-105.339378,72.914879],[-105.434074,72.937973],[-105.57298,72.98929],[-105.80015,73.093319],[-106.07104,73.196382],[-106.112639,73.258092],[-106.180024,73.304103],[-106.525714,73.413395],[-106.750379,73.457736],[-106.92153,73.479851],[-106.949666,73.510371],[-106.830991,73.599075],[-106.694827,73.669926],[-106.613951,73.695601],[-106.362106,73.718606],[-105.512313,73.765759],[-105.31796,73.767122],[-105.114433,73.744413],[-104.834655,73.647283],[-104.718255,73.636286],[-104.648799,73.614423],[-104.587512,73.578091],[-104.555058,73.541089],[-104.552323,73.465591],[-104.582859,73.353926],[-104.621751,73.311134],[-104.79099,73.167631],[-104.968628,73.088661],[-105.002575,73.037553],[-105.074613,72.997046],[-105.200653,72.947333],[-105.288917,72.919944]]],[[[-96.78233,72.936632],[-96.94379,72.926712],[-97.092776,72.996936],[-97.097659,73.062393],[-97.087684,73.098483],[-97.06921,73.130156],[-97.015004,73.157293],[-96.862431,73.188812],[-96.793157,73.165455],[-96.767756,73.137319],[-96.744427,73.126289],[-96.645984,73.1019],[-96.59849,73.073829],[-96.603505,73.041541],[-96.635387,72.992443],[-96.670632,72.960923],[-96.709232,72.94697],[-96.78233,72.936632]]],[[[-100.308342,70.4958],[-100.321235,70.487692],[-100.53727,70.525001],[-100.620673,70.546908],[-100.647754,70.563135],[-100.666925,70.596237],[-100.678296,70.64618],[-100.635301,70.670317],[-100.53794,70.668582],[-100.433916,70.649432],[-100.276119,70.594611],[-100.321081,70.578351],[-100.323223,70.542415],[-100.305502,70.508412],[-100.308342,70.4958]]],[[[-86.913036,70.113245],[-86.798778,70.10528],[-86.691189,70.115046],[-86.612747,70.105697],[-86.563396,70.07722],[-86.530888,70.047667],[-86.515232,70.017048],[-86.557661,69.995284],[-86.734343,69.976322],[-86.854929,69.985759],[-86.983986,70.011127],[-87.043806,69.999866],[-87.190792,70.018564],[-87.263917,70.043965],[-87.323244,70.080121],[-87.323167,70.102236],[-87.168139,70.127241],[-87.107263,70.146676],[-86.913036,70.113245]]],[[[-97.439471,69.6427],[-97.408649,69.630736],[-97.350691,69.640865],[-97.305735,69.673473],[-97.27845,69.679625],[-97.236098,69.673473],[-97.096341,69.614971],[-96.989059,69.553634],[-96.875219,69.510018],[-96.694532,69.471105],[-96.299958,69.344399],[-96.183734,69.258662],[-96.060978,69.125442],[-95.951373,69.023741],[-95.854891,68.953572],[-95.751362,68.897651],[-95.585479,68.835128],[-95.437526,68.880601],[-95.374173,68.892125],[-95.319549,68.873218],[-95.267771,68.826086],[-95.29516,68.805048],[-95.359496,68.778362],[-95.465591,68.747281],[-95.614208,68.745007],[-95.685625,68.735856],[-95.802129,68.68645],[-95.894634,68.627234],[-96.024004,68.607283],[-96.267609,68.507889],[-96.401576,68.470701],[-96.598825,68.460835],[-97.00839,68.538684],[-97.263668,68.527753],[-97.472029,68.543727],[-97.704808,68.625937],[-97.885362,68.672454],[-98.23503,68.739371],[-98.257975,68.74927],[-98.273065,68.77188],[-98.280195,68.807168],[-98.296037,68.830789],[-98.320558,68.84272],[-98.375594,68.841687],[-98.431817,68.818363],[-98.539664,68.798258],[-98.703816,68.802773],[-98.775255,68.816726],[-98.829621,68.838644],[-98.85913,68.864352],[-98.863728,68.893784],[-98.878867,68.916471],[-98.904498,68.932434],[-98.964006,68.932852],[-99.057384,68.917657],[-99.093842,68.898893],[-99.07338,68.876569],[-99.09064,68.863341],[-99.254012,68.863187],[-99.317991,68.876261],[-99.440851,68.917657],[-99.494695,68.959592],[-99.564046,69.034134],[-99.557383,69.054283],[-99.5133,69.099602],[-99.455732,69.131177],[-99.085471,69.149733],[-98.9122,69.167585],[-98.72363,69.219133],[-98.503541,69.308276],[-98.455976,69.334687],[-98.450367,69.354056],[-98.466594,69.374985],[-98.535374,69.426302],[-98.558528,69.461448],[-98.53672,69.478037],[-98.448406,69.479531],[-98.494862,69.499351],[-98.534391,69.527432],[-98.548245,69.544955],[-98.54602,69.572915],[-98.475817,69.579056],[-98.389338,69.56506],[-98.222319,69.484541],[-98.155736,69.468831],[-98.041346,69.456636],[-98.162971,69.512194],[-98.288824,69.629011],[-98.304513,69.669287],[-98.301228,69.69171],[-98.268209,69.754453],[-98.23865,69.780029],[-98.200511,69.796981],[-98.080754,69.833049],[-97.888955,69.858274],[-97.790743,69.861603],[-97.69119,69.841267],[-97.604349,69.8022],[-97.411363,69.738479],[-97.382551,69.712386],[-97.385704,69.700247],[-97.460142,69.682723],[-97.469448,69.666804],[-97.439471,69.6427]]],[[[-79.430654,69.787786],[-79.39029,69.730426],[-79.364967,69.712332],[-79.40243,69.685151],[-79.552844,69.630846],[-79.881709,69.608676],[-80.047514,69.634307],[-79.971138,69.556326],[-79.954493,69.523488],[-79.97785,69.509689],[-80.046866,69.513842],[-80.161487,69.535968],[-80.22735,69.562423],[-80.244499,69.593174],[-80.268636,69.599985],[-80.299695,69.58288],[-80.32961,69.586758],[-80.397825,69.632593],[-80.448054,69.649698],[-80.778237,69.676989],[-80.794783,69.689238],[-80.777545,69.710376],[-80.72659,69.740446],[-80.65251,69.750575],[-80.46594,69.737084],[-80.450691,69.744785],[-80.438309,69.782721],[-80.424236,69.797596],[-80.294938,69.793773],[-80.21365,69.801936],[-80.168826,69.782435],[-80.124617,69.737238],[-80.061775,69.74551],[-79.970852,69.738951],[-79.869591,69.755541],[-79.714816,69.795685],[-79.593977,69.810516],[-79.430654,69.787786]]],[[[-78.029084,69.714891],[-77.977822,69.664893],[-77.969165,69.638954],[-78.039983,69.608412],[-78.307203,69.551832],[-78.470086,69.502526],[-78.552407,69.491572],[-78.66204,69.502635],[-78.795337,69.479718],[-78.848203,69.482783],[-78.789294,69.523147],[-78.578554,69.6388],[-78.401872,69.650632],[-78.344183,69.674813],[-78.295503,69.667123],[-78.267334,69.68714],[-78.262456,69.716825],[-78.200746,69.739512],[-78.145199,69.739204],[-78.029084,69.714891]]],[[[-67.914708,69.540945],[-67.940262,69.53488],[-68.202341,69.580408],[-68.221413,69.616729],[-68.093279,69.657037],[-67.989096,69.678746],[-67.908819,69.681844],[-67.82908,69.675022],[-67.754615,69.631461],[-67.844901,69.591746],[-67.914708,69.540945]]],[[[-95.513672,69.57364],[-95.380919,69.506613],[-95.382078,69.474049],[-95.399414,69.419799],[-95.437449,69.378457],[-95.496232,69.350079],[-95.57853,69.335819],[-95.684361,69.33572],[-95.730147,69.347552],[-95.695908,69.389564],[-95.670178,69.402023],[-95.665833,69.43897],[-95.682834,69.500306],[-95.704104,69.538033],[-95.763606,69.559633],[-95.806189,69.560511],[-95.817763,69.540582],[-95.798334,69.49979],[-95.811819,69.447023],[-95.858226,69.382225],[-95.893442,69.351738],[-95.956048,69.367141],[-95.985947,69.391915],[-95.977911,69.432718],[-95.99478,69.469666],[-95.978839,69.508832],[-95.936207,69.567015],[-95.87582,69.605984],[-95.79774,69.625726],[-95.706631,69.624331],[-95.602508,69.601798],[-95.513672,69.57364]]],[[[-101.171725,69.397079],[-101.253502,69.388477],[-101.268514,69.390597],[-101.261516,69.417832],[-101.267614,69.431477],[-101.28952,69.441244],[-101.217769,69.462942],[-101.207304,69.479839],[-101.230145,69.492814],[-101.328489,69.517412],[-101.356493,69.539681],[-101.351302,69.559215],[-101.312905,69.576068],[-101.244872,69.57353],[-101.098347,69.540769],[-101.031138,69.49545],[-101.000624,69.461909],[-101.04915,69.456954],[-101.08685,69.443353],[-101.12695,69.414679],[-101.171725,69.397079]]],[[[-76.995348,69.143734],[-77.121646,69.132133],[-77.215052,69.138109],[-77.275565,69.161675],[-77.321938,69.193579],[-77.379375,69.27401],[-77.358061,69.311528],[-77.351502,69.378655],[-77.340912,69.403879],[-77.318686,69.416327],[-77.187531,69.440101],[-77.109166,69.437421],[-76.994084,69.41179],[-76.745694,69.403978],[-76.684094,69.380413],[-76.668856,69.366152],[-76.669988,69.348585],[-76.687456,69.327711],[-76.810294,69.266759],[-76.869312,69.224846],[-76.911214,69.174639],[-76.995348,69.143734]]],[[[-90.199816,69.419073],[-90.177382,69.357056],[-90.267272,69.272878],[-90.295463,69.257783],[-90.33029,69.252202],[-90.36404,69.262595],[-90.464707,69.328689],[-90.492041,69.369877],[-90.455116,69.390498],[-90.377245,69.416228],[-90.322072,69.42873],[-90.252836,69.417931],[-90.228545,69.436047],[-90.199816,69.419073]]],[[[-79.210664,68.845466],[-79.279724,68.838743],[-79.361374,68.857661],[-79.390499,68.890159],[-79.40577,68.923052],[-79.391169,68.939927],[-79.354739,68.95589],[-79.305234,68.992332],[-79.242678,69.049274],[-79.144988,69.087462],[-78.930469,69.122915],[-78.899981,69.135417],[-78.804126,69.235107],[-78.771826,69.252202],[-78.662018,69.262332],[-78.650207,69.275207],[-78.689044,69.299751],[-78.689044,69.325118],[-78.650207,69.351222],[-78.596671,69.370602],[-78.457892,69.389509],[-78.332582,69.386049],[-78.300491,69.37871],[-78.272475,69.361241],[-78.234078,69.314582],[-78.22897,69.303992],[-78.286999,69.262694],[-78.438951,69.199182],[-78.532928,69.146063],[-78.551737,69.12865],[-78.560317,69.106271],[-78.59566,69.079036],[-78.705348,69.013667],[-78.77922,68.950474],[-78.852696,68.915691],[-79.053614,68.88293],[-79.210664,68.845466]]],[[[-90.492558,69.2211],[-90.574417,69.209421],[-90.625756,69.250917],[-90.667438,69.259497],[-90.685873,69.287139],[-90.771566,69.292566],[-90.7657,69.335973],[-90.742365,69.357319],[-90.66278,69.374161],[-90.599685,69.367811],[-90.539843,69.324602],[-90.510641,69.290446],[-90.485373,69.246621],[-90.492558,69.2211]]],[[[-99.994694,69.013513],[-100.018023,68.953978],[-100.141301,68.969897],[-100.195688,68.991453],[-100.242018,69.040386],[-100.247363,69.052789],[-100.237079,69.071499],[-100.186954,69.114027],[-100.153133,69.129474],[-100.072801,69.111489],[-100.035338,69.086583],[-100.00562,69.047098],[-99.994694,69.013513]]],[[[-100.217238,68.806706],[-100.248758,68.775022],[-100.287957,68.76609],[-100.365702,68.728824],[-100.397332,68.723815],[-100.442595,68.747534],[-100.480685,68.786184],[-100.496912,68.792238],[-100.521043,68.790655],[-100.573393,68.766057],[-100.596541,68.766398],[-100.61597,68.782932],[-100.625375,68.815902],[-100.624677,68.865308],[-100.599903,68.941377],[-100.598348,68.969073],[-100.611581,68.990211],[-100.600623,69.009426],[-100.565483,69.026796],[-100.520291,69.035068],[-100.41397,69.028092],[-100.329941,68.99755],[-100.288935,68.957648],[-100.2069,68.926183],[-100.178478,68.903914],[-100.217238,68.806706]]],[[[-101.845923,68.58631],[-101.88721,68.584958],[-101.944652,68.602844],[-102.266364,68.663664],[-102.308167,68.681979],[-102.270495,68.707588],[-102.153348,68.740459],[-102.074384,68.774044],[-102.013355,68.825416],[-101.82835,68.79895],[-101.759312,68.774615],[-101.732956,68.753423],[-101.72164,68.724122],[-101.732028,68.65214],[-101.794298,68.636847],[-101.845923,68.58631]]],[[[-74.880853,68.348697],[-74.959317,68.342237],[-75.07252,68.404145],[-75.310155,68.47448],[-75.400254,68.525478],[-75.403407,68.550132],[-75.396167,68.588837],[-75.370173,68.636067],[-75.287391,68.687747],[-75.199742,68.696118],[-75.074685,68.684692],[-74.98363,68.647592],[-74.884753,68.54465],[-74.818945,68.49442],[-74.798247,68.457945],[-74.830986,68.44073],[-74.82791,68.423778],[-74.81287,68.413341],[-74.818582,68.394071],[-74.844983,68.365957],[-74.880853,68.348697]]],[[[-104.540694,68.405903],[-104.595988,68.402212],[-104.699446,68.418252],[-104.85114,68.453957],[-104.965244,68.491739],[-105.041747,68.531532],[-105.05136,68.55902],[-104.994,68.574214],[-104.907285,68.581783],[-104.700402,68.576697],[-104.602008,68.561503],[-104.472117,68.503517],[-104.444525,68.470679],[-104.440493,68.449519],[-104.457132,68.431172],[-104.540694,68.405903]]],[[[-78.98272,68.192845],[-79.064062,68.181782],[-79.174046,68.234978],[-79.174772,68.264465],[-79.153458,68.335261],[-78.952595,68.353037],[-78.868725,68.3103],[-78.828515,68.26819],[-78.98272,68.192845]]],[[[-75.675868,68.322495],[-75.153808,68.234022],[-75.103106,68.201887],[-75.078145,68.173147],[-75.063501,68.141221],[-75.062336,68.075402],[-75.072883,68.049001],[-75.123881,67.985259],[-75.127342,67.965253],[-75.086363,67.751426],[-75.090505,67.634784],[-75.127298,67.537324],[-75.201972,67.459189],[-75.314516,67.400434],[-75.4001,67.366684],[-75.780073,67.28354],[-76.048974,67.261996],[-76.332751,67.258118],[-76.693949,67.235815],[-76.858843,67.240474],[-76.944184,67.250317],[-77.004906,67.266951],[-77.07591,67.319608],[-77.157088,67.408345],[-77.224193,67.508177],[-77.304393,67.685123],[-77.305898,67.706096],[-77.228565,67.850127],[-77.125876,67.947092],[-76.944756,68.090991],[-76.740245,68.231232],[-76.688236,68.254413],[-76.595786,68.278934],[-76.364425,68.318727],[-76.172812,68.308806],[-76.088272,68.313816],[-75.982749,68.332317],[-75.866469,68.33681],[-75.675868,68.322495]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"CAN-682","diss_me":682,"iso_3166_2":"CA-ON","wikipedia":"http://en.wikipedia.org/wiki/Ontario","iso_a2":"CA","adm0_sr":1,"name":"Ontario","name_alt":"Upper Canada","name_local":null,"type":"Province","type_en":"Province","code_local":null,"code_hasc":"CA.ON","note":null,"hasc_maybe":null,"region":"Eastern Canada","region_cod":null,"provnum_ne":7,"gadm_level":1,"check_me":20,"datarank":2,"abbrev":"Ont.","postal":"ON","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":7,"mapcolor9":2,"mapcolor13":2,"fips":"CA08","fips_alt":null,"woe_id":2344922,"woe_label":"Ontario, CA, Canada","woe_name":"Ontario","latitude":50.5244,"longitude":-84.7943,"sov_a3":"CAN","adm0_a3":"CAN","adm0_label":2,"admin":"Canada","geonunit":"Canada","gu_a3":"CAN","gn_id":6093943,"gn_name":"Ontario","gns_id":-570663,"gns_name":"Ontario, Province d'","gn_level":1,"gn_region":null,"gn_a1_code":"CA.08","region_sub":"Ontario","sub_code":null,"gns_level":1,"gns_lang":"fra","gns_adm1":"CA08","gns_region":null,"min_label":3.5,"max_label":7.5,"min_zoom":2,"wikidataid":"Q1904","name_ar":"أونتاريو","name_bn":"অন্টারিও","name_de":"Ontario","name_en":"Ontario","name_es":"Ontario","name_fr":"Ontario","name_el":"Οντάριο","name_hi":"ओण्टारियो","name_hu":"Ontario","name_id":"Ontario","name_it":"Ontario","name_ja":"オンタリオ州","name_ko":"온타리오","name_nl":"Ontario","name_pl":"Ontario","name_pt":"Ontário","name_ru":"Онтарио","name_sv":"Ontario","name_tr":"Ontario","name_vi":"Ontario","name_zh":"安大略省","ne_id":1159309687,"name_he":"אונטריו","name_uk":"Онтаріо","name_ur":"انٹاریو","name_fa":"انتاریو","name_zht":"安大略省","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[-95.160363,41.73584,-74.340446,56.851307],"geometry":{"type":"MultiPolygon","coordinates":[[[[-95.155298,49.369672],[-95.160363,49.802336],[-95.159429,50.233758],[-95.158501,50.66518],[-95.157572,51.096624],[-95.156639,51.528068],[-95.15571,51.959512],[-95.154782,52.390967],[-95.153826,52.822357],[-94.770409,53.053762],[-94.387024,53.285167],[-94.003634,53.51655],[-93.620223,53.747933],[-93.365224,53.93113],[-93.110204,54.114316],[-92.855206,54.297513],[-92.600208,54.480677],[-92.294777,54.689758],[-91.989335,54.89885],[-91.683882,55.10793],[-91.378451,55.317011],[-91.028987,55.54178],[-90.679501,55.766572],[-90.330037,55.991341],[-89.980573,56.216099],[-89.722141,56.375676],[-89.463688,56.535252],[-89.205224,56.69484],[-88.948495,56.851307],[-88.826481,56.814261],[-88.679901,56.725063],[-88.447057,56.608685],[-88.271353,56.53567],[-88.075082,56.467302],[-87.878141,56.341629],[-87.560878,56.056369],[-87.482402,56.021312],[-87.286868,55.974675],[-86.919397,55.914547],[-86.376947,55.77324],[-86.138665,55.717891],[-85.984482,55.695875],[-85.83052,55.656917],[-85.676679,55.601052],[-85.559323,55.540176],[-85.478441,55.474291],[-85.407261,55.431137],[-85.282698,55.383292],[-85.217999,55.34897],[-85.212034,55.297477],[-85.362019,55.09545],[-85.365271,55.079278],[-85.213583,55.224385],[-85.128856,55.266188],[-85.06095,55.285667],[-84.919929,55.283349],[-84.705784,55.259212],[-84.517961,55.258904],[-84.356473,55.282514],[-84.218936,55.293138],[-84.105348,55.290809],[-84.022983,55.297818],[-83.971765,55.314144],[-83.910604,55.31466],[-83.667653,55.264486],[-83.569468,55.261794],[-83.214346,55.214619],[-82.986269,55.231406],[-82.947026,55.22221],[-82.867749,55.16072],[-82.800677,55.155908],[-82.687507,55.165521],[-82.577435,55.148723],[-82.39326,55.067797],[-82.308248,54.998144],[-82.226609,54.855926],[-82.219391,54.813475],[-82.370629,54.4835],[-82.418068,54.355828],[-82.424165,54.244592],[-82.394139,54.180464],[-82.263556,54.072974],[-82.239913,54.044816],[-82.162624,53.885701],[-82.141443,53.817641],[-82.150023,53.739561],[-82.190607,53.610944],[-82.180356,53.512858],[-82.1462,53.364598],[-82.159164,53.264139],[-82.21927,53.211459],[-82.259908,53.159802],[-82.291615,53.06611],[-82.29156,53.030712],[-82.260447,52.961114],[-82.202703,52.921684],[-82.107978,52.877398],[-82.020022,52.811612],[-81.859292,52.651409],[-81.742342,52.563617],[-81.59941,52.432617],[-81.571681,52.367292],[-81.611528,52.324072],[-81.661241,52.293914],[-81.776345,52.253605],[-81.827893,52.224206],[-81.814534,52.217197],[-81.647981,52.239081],[-81.549488,52.236763],[-81.46619,52.204518],[-81.398075,52.142248],[-81.285058,52.089228],[-81.127185,52.045403],[-80.968487,51.972223],[-80.70553,51.798332],[-80.657937,51.758342],[-80.588042,51.667232],[-80.495856,51.525069],[-80.447593,51.432212],[-80.443297,51.388597],[-80.495493,51.344673],[-80.672692,51.264726],[-80.85123,51.125024],[-80.79498,51.131813],[-80.67724,51.190876],[-80.478343,51.307309],[-80.367953,51.329864],[-80.265659,51.316351],[-80.103556,51.282842],[-79.960415,51.235173],[-79.836236,51.173364],[-79.651512,51.007789],[-79.519555,50.918525],[-79.51938,50.74215],[-79.518885,50.500275],[-79.518402,50.2584],[-79.517908,50.016536],[-79.517413,49.774683],[-79.516919,49.532819],[-79.516435,49.290944],[-79.515941,49.049102],[-79.515447,48.807227],[-79.514963,48.565352],[-79.514469,48.323488],[-79.513974,48.081613],[-79.513458,47.839738],[-79.512975,47.556422],[-79.513249,47.55105],[-79.559293,47.483045],[-79.546714,47.407448],[-79.479225,47.318865],[-79.441937,47.227657],[-79.434917,47.133811],[-79.364945,47.02196],[-79.165554,46.827172],[-79.01458,46.606512],[-78.903168,46.486464],[-78.781,46.393443],[-78.460451,46.306892],[-77.682674,46.186669],[-77.373003,46.063699],[-77.371344,46.062853],[-77.292748,45.976775],[-77.282464,45.961999],[-77.266798,45.929391],[-77.233235,45.903584],[-77.100685,45.832657],[-77.030844,45.807465],[-76.976748,45.798105],[-76.940932,45.800972],[-76.92553,45.819682],[-76.912895,45.8758],[-76.890208,45.890269],[-76.871609,45.887434],[-76.823708,45.879678],[-76.753813,45.79783],[-76.666582,45.642593],[-76.553126,45.542079],[-76.413446,45.496343],[-76.269942,45.483939],[-76.122638,45.504868],[-76.000623,45.483632],[-75.903966,45.42023],[-75.626132,45.450761],[-75.167135,45.575302],[-74.864187,45.642176],[-74.717212,45.651371],[-74.577224,45.6322],[-74.396565,45.56771],[-74.415011,45.508846],[-74.453067,45.393555],[-74.478061,45.317903],[-74.412945,45.269102],[-74.340446,45.214445],[-74.358299,45.206392],[-74.708873,45.00387],[-74.762464,44.999058],[-74.856639,45.003925],[-74.996143,44.97012],[-75.179384,44.899379],[-75.401253,44.772278],[-75.79196,44.497049],[-75.79796,44.49068],[-75.805127,44.494678],[-75.831396,44.48999],[-75.941602,44.410791],[-76.057227,44.366602],[-76.340723,44.294727],[-76.407812,44.262451],[-76.490479,44.243701],[-76.588867,44.238477],[-76.687695,44.217969],[-76.787012,44.182227],[-76.991504,44.074121],[-77.041309,44.071094],[-77.062256,44.091162],[-77.055273,44.106396],[-77.020947,44.133105],[-76.896045,44.187549],[-76.913086,44.197754],[-76.951074,44.18623],[-77.01001,44.152881],[-77.033105,44.156445],[-77.020459,44.196924],[-77.058691,44.205078],[-77.147754,44.180811],[-77.20332,44.175391],[-77.225342,44.18877],[-77.250781,44.188818],[-77.279639,44.175586],[-77.325684,44.178076],[-77.398096,44.160645],[-77.547217,44.12373],[-77.584375,44.094336],[-77.585742,44.084326],[-77.44585,44.130762],[-77.380713,44.145801],[-77.332715,44.15293],[-77.313965,44.142676],[-77.331348,44.119043],[-77.331641,44.104199],[-77.295996,44.097949],[-77.274854,44.104199],[-77.272949,44.110693],[-77.290332,44.117529],[-77.289844,44.126855],[-77.271484,44.138672],[-77.115283,44.172949],[-77.083203,44.148096],[-77.116992,44.079492],[-77.102734,44.046338],[-77.040234,44.048633],[-76.969336,44.066309],[-76.889941,44.099316],[-76.862988,44.099902],[-76.888428,44.068018],[-76.930176,44.038379],[-77.024023,43.987207],[-77.043799,43.951904],[-77.042334,43.942773],[-77.013086,43.956543],[-76.91001,43.964941],[-76.870312,43.964941],[-76.879102,43.94292],[-76.934229,43.929688],[-77.054492,43.883008],[-77.151172,43.866455],[-77.207959,43.875977],[-77.219238,43.899658],[-77.185156,43.9375],[-77.190039,43.947607],[-77.267187,43.921631],[-77.289404,43.922754],[-77.314795,43.946533],[-77.310596,43.9521],[-77.275586,43.95166],[-77.258984,43.963965],[-77.324512,43.971582],[-77.420654,43.954004],[-77.502881,43.962549],[-77.554004,43.990332],[-77.567627,44.007666],[-77.54375,44.014453],[-77.549023,44.024756],[-77.583447,44.038379],[-77.681787,44.044824],[-77.708691,44.033301],[-77.726465,44.009277],[-77.829053,44.010693],[-77.880762,43.993945],[-77.999854,43.978906],[-78.186328,43.965527],[-78.334961,43.944434],[-78.445898,43.915625],[-78.527832,43.904834],[-78.580908,43.911963],[-78.669336,43.902441],[-78.793066,43.87627],[-78.988672,43.855469],[-79.060645,43.835156],[-79.165332,43.779883],[-79.302783,43.689697],[-79.396338,43.64541],[-79.445996,43.647119],[-79.480127,43.635986],[-79.498828,43.611963],[-79.569043,43.578271],[-79.596289,43.551807],[-79.610107,43.513281],[-79.656445,43.452832],[-79.77417,43.319824],[-79.773047,43.301123],[-79.727832,43.252832],[-79.638428,43.234912],[-79.527881,43.209521],[-79.401465,43.208691],[-79.337549,43.197705],[-79.291357,43.207471],[-79.213379,43.242285],[-79.061394,43.28291],[-79.059228,43.278061],[-79.066051,43.106102],[-79.066048,43.1061],[-79.066064,43.106104],[-79.073193,43.093066],[-79.042871,43.063623],[-79.034521,43.043896],[-79.039697,43.021289],[-79.010547,42.990527],[-78.94707,42.951562],[-78.922363,42.923828],[-78.936426,42.907227],[-79.056934,42.862256],[-79.121875,42.85752],[-79.175928,42.872607],[-79.263965,42.880322],[-79.385937,42.880664],[-79.593848,42.853955],[-79.661475,42.850586],[-79.698682,42.861621],[-79.746582,42.858447],[-79.922852,42.822412],[-80.099463,42.802344],[-80.220459,42.774365],[-80.28584,42.738477],[-80.32583,42.707373],[-80.364746,42.683105],[-80.395557,42.675879],[-80.451221,42.613477],[-80.446045,42.604199],[-80.367773,42.60791],[-80.304932,42.589697],[-80.104834,42.571533],[-80.062109,42.55415],[-80.093848,42.546387],[-80.396631,42.577393],[-80.473047,42.573926],[-80.616602,42.59585],[-80.827197,42.643164],[-81.03916,42.662451],[-81.25249,42.65376],[-81.404395,42.62998],[-81.494922,42.591162],[-81.729932,42.446582],[-81.809033,42.368408],[-81.84082,42.295459],[-81.866797,42.25835],[-81.887012,42.257031],[-81.886719,42.273633],[-81.865918,42.308057],[-81.874463,42.315039],[-81.929346,42.279248],[-81.937891,42.268896],[-82.044385,42.257227],[-82.160156,42.222754],[-82.311377,42.158252],[-82.411914,42.103223],[-82.461768,42.057715],[-82.489844,42.004639],[-82.495996,41.944043],[-82.511523,41.932178],[-82.567236,41.999951],[-82.604199,42.025244],[-82.645117,42.037256],[-82.690039,42.035937],[-82.833838,41.997217],[-82.936621,42.006396],[-83.06123,42.050195],[-83.107861,42.070996],[-83.117236,42.119775],[-83.104541,42.215186],[-83.076465,42.275488],[-83.04668,42.297021],[-83.013623,42.311865],[-82.970605,42.326758],[-82.867334,42.335254],[-82.589502,42.314551],[-82.515723,42.321777],[-82.461865,42.339111],[-82.427979,42.366699],[-82.413525,42.411084],[-82.418457,42.472266],[-82.432129,42.497803],[-82.453027,42.495459],[-82.481104,42.499854],[-82.613037,42.524609],[-82.633936,42.542383],[-82.645117,42.558057],[-82.645116,42.558061],[-82.545322,42.624682],[-82.488347,42.739511],[-82.417233,43.017377],[-82.417231,43.017384],[-82.312012,43.043262],[-82.181055,43.085107],[-82.088086,43.132666],[-82.033057,43.185791],[-81.974121,43.223437],[-81.911377,43.245605],[-81.848193,43.280127],[-81.784521,43.326855],[-81.739404,43.391553],[-81.712793,43.474072],[-81.705176,43.557617],[-81.716504,43.642139],[-81.718359,43.981592],[-81.731982,44.0604],[-81.708105,44.130713],[-81.646631,44.19248],[-81.608936,44.252539],[-81.594971,44.31084],[-81.564941,44.359668],[-81.518848,44.398926],[-81.474316,44.424561],[-81.431348,44.436475],[-81.402197,44.460596],[-81.386768,44.496924],[-81.351904,44.542285],[-81.29751,44.59668],[-81.277734,44.643701],[-81.280713,44.71626],[-81.278174,44.789941],[-81.300049,44.831982],[-81.341113,44.869922],[-81.35835,44.911035],[-81.355225,44.977539],[-81.376953,44.984131],[-81.415479,44.987354],[-81.451172,45.01499],[-81.499316,45.081445],[-81.541455,45.124902],[-81.577441,45.14541],[-81.590332,45.165869],[-81.628809,45.189111],[-81.683154,45.202832],[-81.706055,45.223486],[-81.697363,45.251221],[-81.595361,45.261963],[-81.399902,45.255615],[-81.296484,45.24873],[-81.285205,45.24126],[-81.31582,45.188672],[-81.312549,45.15625],[-81.281836,45.123975],[-81.26416,45.081348],[-81.259521,45.02832],[-81.207373,45.008691],[-81.193311,45.002637],[-81.17998,44.974365],[-81.137939,44.968066],[-81.125,44.952539],[-81.141113,44.927783],[-81.133594,44.917871],[-81.074023,44.91377],[-81.032031,44.956934],[-81.012012,44.967334],[-80.972754,44.969629],[-80.96626,44.958643],[-80.992578,44.934375],[-81.005957,44.906934],[-81.006348,44.876172],[-81.036426,44.842822],[-81.127539,44.782422],[-81.130176,44.769678],[-81.110254,44.765332],[-81.021973,44.802148],[-80.963477,44.808984],[-80.919434,44.796777],[-80.895361,44.780957],[-80.891162,44.761328],[-80.901172,44.712012],[-80.925391,44.632861],[-80.909668,44.617578],[-80.854053,44.666113],[-80.789844,44.700293],[-80.670166,44.727002],[-80.649512,44.721289],[-80.592871,44.638525],[-80.460254,44.577783],[-80.225977,44.509521],[-80.084814,44.489355],[-80.036963,44.517383],[-80.007812,44.57168],[-79.997461,44.652344],[-80.021143,44.709521],[-80.078906,44.743115],[-80.10791,44.775488],[-80.108203,44.806787],[-80.064746,44.833594],[-79.996777,44.855713],[-79.92959,44.862988],[-79.92041,44.854541],[-79.935303,44.823535],[-79.924951,44.812891],[-79.891309,44.809375],[-79.87627,44.798535],[-79.826953,44.768018],[-79.717383,44.761182],[-79.67793,44.768945],[-79.708594,44.791162],[-79.713379,44.821143],[-79.692383,44.858789],[-79.695947,44.875146],[-79.732471,44.862939],[-79.732764,44.832031],[-79.749609,44.815479],[-79.771582,44.819336],[-79.78457,44.85415],[-79.799951,44.884863],[-79.828369,44.936328],[-79.902393,44.956543],[-79.928906,44.974365],[-79.931787,45.001221],[-79.946094,45.017187],[-79.971875,45.022168],[-80.021582,45.072119],[-80.085938,45.109375],[-80.08335,45.126416],[-80.022656,45.136133],[-80.006494,45.153271],[-80.015381,45.175879],[-80.049365,45.204053],[-80.074902,45.211035],[-80.092187,45.196875],[-80.107568,45.200977],[-80.121094,45.22334],[-80.111475,45.259229],[-80.049707,45.301123],[-80.041113,45.342383],[-80.05708,45.374561],[-80.09165,45.393359],[-80.144824,45.398828],[-80.176123,45.396582],[-80.185498,45.386572],[-80.167676,45.348486],[-80.177295,45.343848],[-80.270703,45.360156],[-80.30249,45.383105],[-80.349609,45.399268],[-80.384863,45.458398],[-80.391748,45.500537],[-80.388525,45.573584],[-80.414014,45.619873],[-80.429492,45.625244],[-80.427051,45.597803],[-80.444287,45.584131],[-80.485547,45.576953],[-80.510693,45.589746],[-80.519922,45.622559],[-80.545508,45.650049],[-80.592676,45.682031],[-80.628857,45.727148],[-80.641016,45.747266],[-80.643115,45.767187],[-80.656152,45.790234],[-80.696436,45.815918],[-80.713379,45.858496],[-80.731592,45.877246],[-80.786621,45.919141],[-80.805176,45.94248],[-80.817773,45.951025],[-80.89043,45.951025],[-80.967969,45.951807],[-81.097021,45.941602],[-81.160254,45.954883],[-81.15752,45.991699],[-81.162012,46.012061],[-81.173682,46.016064],[-81.191309,46.006152],[-81.196973,45.990967],[-81.236816,45.974121],[-81.303516,45.974121],[-81.449414,45.994434],[-81.502393,45.992969],[-81.596729,45.966553],[-81.627051,45.978027],[-81.594971,45.996387],[-81.597266,46.011914],[-81.623828,46.016699],[-81.629492,46.025391],[-81.640234,46.040039],[-81.54165,46.074658],[-81.544531,46.090381],[-81.615332,46.119385],[-81.646191,46.115283],[-81.661719,46.092871],[-81.688672,46.078809],[-81.727051,46.073096],[-81.750195,46.057471],[-81.765186,46.05791],[-81.765771,46.071436],[-81.769287,46.104443],[-81.816602,46.114746],[-82.011768,46.128711],[-82.11582,46.131641],[-82.195996,46.133936],[-82.317725,46.162939],[-82.350049,46.193262],[-82.597656,46.1771],[-82.638135,46.172412],[-82.663623,46.175928],[-82.719141,46.207129],[-82.894727,46.188428],[-83.025488,46.181299],[-83.459131,46.237646],[-83.571729,46.260498],[-83.592773,46.277832],[-83.660645,46.289844],[-83.842725,46.301953],[-83.863135,46.306201],[-83.881738,46.33291],[-83.934229,46.342041],[-84.033643,46.343799],[-84.091846,46.36084],[-84.108789,46.393213],[-84.106152,46.430469],[-84.083838,46.47251],[-84.087109,46.506982],[-84.118262,46.539453],[-84.165381,46.562598],[-84.235645,46.556787],[-84.343945,46.531152],[-84.432422,46.52207],[-84.458887,46.503857],[-84.475439,46.489014],[-84.500537,46.483252],[-84.568457,46.543311],[-84.568555,46.57666],[-84.547607,46.599951],[-84.465967,46.674072],[-84.438135,46.723047],[-84.464014,46.746924],[-84.488086,46.743506],[-84.510254,46.712744],[-84.527539,46.697363],[-84.539941,46.697314],[-84.561035,46.729785],[-84.553467,46.805566],[-84.527734,46.833984],[-84.48457,46.847656],[-84.407764,46.843652],[-84.382031,46.85332],[-84.367432,46.87998],[-84.38501,46.905762],[-84.434766,46.930762],[-84.487988,46.944043],[-84.54458,46.945703],[-84.58208,46.937158],[-84.600342,46.918408],[-84.624902,46.922363],[-84.655664,46.948975],[-84.750391,46.98125],[-84.775146,47.004004],[-84.77168,47.036719],[-84.712305,47.119873],[-84.719531,47.14209],[-84.688184,47.191162],[-84.618262,47.267187],[-84.594336,47.320215],[-84.616455,47.350244],[-84.641162,47.367041],[-84.668457,47.370605],[-84.693311,47.390479],[-84.715625,47.42666],[-84.771338,47.46167],[-84.860449,47.495508],[-84.93584,47.539844],[-84.997607,47.594775],[-85.014258,47.63877],[-84.98584,47.671729],[-84.974805,47.697998],[-84.981104,47.717627],[-84.960986,47.745801],[-84.922461,47.792578],[-84.920264,47.827881],[-84.915186,47.855127],[-84.867383,47.896436],[-84.847266,47.928027],[-84.854736,47.949951],[-84.963574,47.960205],[-85.173828,47.958984],[-85.34248,47.950244],[-85.469531,47.934082],[-85.6146,47.940723],[-85.777686,47.970166],[-85.913623,48.029541],[-86.022412,48.118799],[-86.10415,48.210303],[-86.158936,48.303955],[-86.181006,48.385352],[-86.191357,48.405566],[-86.215527,48.422949],[-86.237402,48.470605],[-86.256982,48.548437],[-86.282568,48.597949],[-86.314258,48.619092],[-86.324951,48.636621],[-86.370996,48.687549],[-86.390186,48.714111],[-86.396143,48.731299],[-86.432422,48.758154],[-86.459277,48.764941],[-86.580957,48.753027],[-86.621436,48.77749],[-86.642871,48.79458],[-86.692529,48.80791],[-86.751562,48.800586],[-86.819873,48.772559],[-86.887646,48.772412],[-87.008545,48.788818],[-87.084717,48.778906],[-87.223633,48.775781],[-87.311426,48.799414],[-87.40708,48.834814],[-87.463721,48.842041],[-87.517285,48.838574],[-87.552002,48.84834],[-87.567773,48.87124],[-87.591602,48.878174],[-87.685254,48.899219],[-87.760937,48.919922],[-87.965625,48.958691],[-88.02251,48.998682],[-88.069824,49.001416],[-88.128223,48.998145],[-88.160645,48.981641],[-88.200439,48.977441],[-88.247559,48.985547],[-88.263574,48.973682],[-88.248633,48.941895],[-88.246582,48.916992],[-88.224316,48.867139],[-88.147217,48.820752],[-88.108789,48.775977],[-88.10918,48.73291],[-88.138428,48.682861],[-88.233105,48.596973],[-88.247998,48.595947],[-88.325488,48.584473],[-88.36875,48.562402],[-88.399658,48.557275],[-88.418164,48.569141],[-88.443506,48.560254],[-88.47583,48.530664],[-88.489453,48.506592],[-88.484473,48.488086],[-88.500928,48.466992],[-88.53877,48.443408],[-88.559375,48.446826],[-88.569336,48.473926],[-88.584521,48.492432],[-88.566504,48.528027],[-88.393799,48.655811],[-88.333594,48.709082],[-88.322852,48.738477],[-88.32915,48.775684],[-88.352441,48.820801],[-88.395312,48.844873],[-88.457617,48.847852],[-88.502637,48.833057],[-88.535156,48.785693],[-88.542432,48.753223],[-88.551953,48.68374],[-88.549609,48.658154],[-88.565332,48.639844],[-88.6021,48.629932],[-88.625293,48.59873],[-88.634863,48.546094],[-88.654102,48.516553],[-88.683154,48.510107],[-88.705713,48.476123],[-88.721924,48.4146],[-88.734375,48.384082],[-88.782861,48.368311],[-88.888477,48.337305],[-88.932715,48.3354],[-88.915674,48.362744],[-88.896924,48.378076],[-88.876416,48.381494],[-88.818262,48.506445],[-88.76377,48.572363],[-88.774561,48.583057],[-89.086426,48.497656],[-89.200732,48.45083],[-89.225,48.417578],[-89.229395,48.382275],[-89.213916,48.344922],[-89.221484,48.310742],[-89.252246,48.279736],[-89.29668,48.204248],[-89.315137,48.158984],[-89.34541,48.121143],[-89.438477,48.098779],[-89.449658,48.092236],[-89.547461,48.012939],[-89.577548,48.001756],[-89.77537,48.01531],[-89.901043,47.995469],[-89.993646,48.01531],[-90.039943,48.078152],[-90.091776,48.118099],[-90.320138,48.09918],[-90.607101,48.112594],[-90.744408,48.104607],[-90.797318,48.131062],[-90.840319,48.200518],[-90.916048,48.209153],[-91.043478,48.193695],[-91.220655,48.104607],[-91.38724,48.058542],[-91.518307,48.058311],[-91.647287,48.104607],[-91.8584,48.197574],[-92.005155,48.301834],[-92.171785,48.338396],[-92.298677,48.328882],[-92.34844,48.276587],[-92.414588,48.276587],[-92.46089,48.365884],[-92.500578,48.43534],[-92.583256,48.465102],[-92.732654,48.531822],[-92.836733,48.56778],[-92.996254,48.611813],[-93.051707,48.619877],[-93.155215,48.625348],[-93.257943,48.628864],[-93.377886,48.616537],[-93.463618,48.561276],[-93.564286,48.536908],[-93.70774,48.525461],[-93.803546,48.548949],[-93.851628,48.607287],[-94.055182,48.659021],[-94.414155,48.704109],[-94.620885,48.742605],[-94.675355,48.774444],[-94.705095,48.808523],[-94.71256,48.863016],[-94.712769,48.863422],[-94.803461,49.002948],[-94.842605,49.119173],[-94.860403,49.2586],[-94.854333,49.304589],[-94.874795,49.319036],[-94.93934,49.349413],[-95.155298,49.369672]]],[[[-79.520467,50.965986],[-79.636197,51.049031],[-79.714453,51.117608],[-79.731405,51.150501],[-79.737458,51.186283],[-79.723242,51.251652],[-79.688822,51.346585],[-79.642987,51.413503],[-79.585726,51.452471],[-79.547439,51.493857],[-79.528004,51.537681],[-79.521346,51.544712],[-79.520357,51.225889],[-79.520467,50.965986]]],[[[-85.605859,47.742139],[-85.666016,47.73335],[-85.858594,47.719092],[-85.942187,47.73374],[-85.950732,47.747314],[-85.930908,47.766455],[-85.882715,47.791016],[-85.827441,47.804492],[-85.765137,47.806738],[-85.641113,47.781787],[-85.596094,47.75708],[-85.605859,47.742139]]],[[[-88.056738,48.836768],[-87.996143,48.857227],[-87.915039,48.864648],[-87.813428,48.859033],[-87.765137,48.841113],[-87.770215,48.810937],[-87.782129,48.79541],[-87.812354,48.785352],[-87.816309,48.767871],[-87.859229,48.75835],[-87.941211,48.756836],[-87.998437,48.743213],[-88.030908,48.717529],[-88.056689,48.716699],[-88.075684,48.740625],[-88.086572,48.808008],[-88.056738,48.836768]]],[[[-87.690283,48.75],[-87.730469,48.754687],[-87.743701,48.76416],[-87.729932,48.778418],[-87.731055,48.793848],[-87.752686,48.824072],[-87.748193,48.834668],[-87.731348,48.840479],[-87.7021,48.841406],[-87.666992,48.821436],[-87.626025,48.78042],[-87.62168,48.756885],[-87.690283,48.75]]],[[[-80.173047,44.79624],[-80.215723,44.822656],[-80.232812,44.843311],[-80.236279,44.864502],[-80.21582,44.87168],[-80.171436,44.864844],[-80.157666,44.8479],[-80.174316,44.808887],[-80.173047,44.79624]]],[[[-76.236963,44.232617],[-76.32959,44.207812],[-76.352734,44.175537],[-76.364893,44.156348],[-76.422705,44.121533],[-76.469336,44.124512],[-76.484521,44.127783],[-76.474316,44.141455],[-76.476709,44.152832],[-76.491797,44.161963],[-76.48335,44.178516],[-76.451465,44.202295],[-76.430469,44.226807],[-76.32876,44.239209],[-76.27915,44.246631],[-76.227051,44.254102],[-76.236963,44.232617]]],[[[-76.687549,44.1375],[-76.731055,44.126709],[-76.786719,44.13042],[-76.809473,44.139893],[-76.799365,44.155127],[-76.760693,44.172168],[-76.642627,44.199268],[-76.639551,44.181396],[-76.687549,44.1375]]],[[[-82.638232,41.746875],[-82.684521,41.73584],[-82.685449,41.75708],[-82.674414,41.806055],[-82.654395,41.827441],[-82.642871,41.81543],[-82.627197,41.771143],[-82.638232,41.746875]]],[[[-81.712598,45.526318],[-81.727295,45.500488],[-81.788086,45.46582],[-81.814941,45.463232],[-81.832861,45.47251],[-81.8375,45.483984],[-81.828809,45.497656],[-81.735059,45.530566],[-81.712598,45.526318]]],[[[-82.962256,45.833447],[-83.160059,45.875195],[-83.221826,45.902148],[-83.21582,45.932666],[-83.200586,45.954883],[-83.176172,45.968896],[-83.15083,45.963232],[-83.124512,45.937939],[-83.097314,45.935059],[-83.069336,45.95459],[-83.0354,45.957422],[-82.995703,45.943457],[-82.965479,45.945215],[-82.944824,45.962695],[-82.904736,45.977783],[-82.845215,45.99043],[-82.820996,45.976562],[-82.83208,45.936182],[-82.822949,45.909814],[-82.793457,45.897559],[-82.774023,45.880322],[-82.7646,45.858154],[-82.736865,45.852344],[-82.690918,45.862891],[-82.660254,45.859668],[-82.644824,45.842627],[-82.627344,45.838574],[-82.607812,45.84751],[-82.583447,45.837012],[-82.554248,45.807031],[-82.531396,45.805762],[-82.514893,45.83335],[-82.52041,45.848926],[-82.56001,45.859619],[-82.55625,45.869922],[-82.580469,45.895508],[-82.568506,45.914404],[-82.527246,45.938623],[-82.497949,45.943896],[-82.480566,45.930273],[-82.462646,45.933887],[-82.444141,45.954785],[-82.400635,45.97085],[-82.332031,45.981982],[-82.294531,45.973437],[-82.287988,45.945166],[-82.268359,45.935937],[-82.235547,45.945801],[-82.20459,45.924219],[-82.175342,45.871143],[-82.142578,45.869434],[-82.106396,45.919092],[-82.05459,45.95498],[-81.987305,45.977051],[-81.938867,45.979248],[-81.909326,45.961768],[-81.895459,45.93877],[-81.897314,45.910303],[-81.879004,45.89248],[-81.840576,45.8854],[-81.828223,45.862158],[-81.841846,45.822754],[-81.838428,45.788428],[-81.80376,45.743213],[-81.79585,45.740381],[-81.763086,45.821191],[-81.735059,45.863672],[-81.698193,45.89375],[-81.674756,45.896484],[-81.664844,45.871924],[-81.672754,45.844678],[-81.698584,45.814844],[-81.685059,45.801367],[-81.601465,45.801172],[-81.593018,45.791699],[-81.685742,45.656689],[-81.754736,45.591113],[-81.828076,45.54668],[-81.88125,45.535498],[-81.914258,45.557471],[-81.946191,45.566113],[-81.977197,45.561426],[-81.976709,45.569873],[-81.922461,45.603711],[-81.902344,45.603076],[-81.864502,45.610596],[-81.75957,45.685156],[-81.759766,45.697559],[-81.821143,45.691553],[-82.029004,45.565967],[-82.055273,45.561328],[-82.075977,45.569678],[-82.091113,45.590869],[-82.208057,45.62749],[-82.256055,45.660107],[-82.323193,45.683594],[-82.409473,45.697998],[-82.5104,45.72749],[-82.625977,45.772168],[-82.735791,45.796729],[-82.93667,45.810986],[-82.962256,45.833447]]],[[[-83.828955,46.147656],[-83.856494,46.157471],[-83.875928,46.1479],[-83.887256,46.118896],[-83.906836,46.097217],[-83.930273,46.091699],[-83.978613,46.109424],[-84.03877,46.177051],[-84.078223,46.236426],[-84.097021,46.287598],[-84.061133,46.309766],[-83.970703,46.302979],[-83.891064,46.28418],[-83.822119,46.253467],[-83.79458,46.214307],[-83.808301,46.166602],[-83.828955,46.147656]]],[[[-83.345264,45.992773],[-83.296387,45.97666],[-83.271045,45.961328],[-83.269189,45.946582],[-83.331982,45.880371],[-83.386572,45.868555],[-83.45332,45.884277],[-83.47998,45.906738],[-83.46665,45.936035],[-83.437402,45.963232],[-83.392285,45.988232],[-83.345264,45.992773]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"CAN-687","diss_me":687,"iso_3166_2":"CA-PE","wikipedia":"http://en.wikipedia.org/wiki/Prince_Edward_Island","iso_a2":"CA","adm0_sr":3,"name":"Prince Edward Island","name_alt":"Île de Saint-Jean|Île du Prince-Édouard","name_local":null,"type":"Province","type_en":"Province","code_local":null,"code_hasc":"CA.PE","note":null,"hasc_maybe":null,"region":"Eastern Canada","region_cod":null,"provnum_ne":9,"gadm_level":1,"check_me":20,"datarank":2,"abbrev":"P.E.I.","postal":"PE","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":20,"mapcolor9":2,"mapcolor13":2,"fips":"CA09","fips_alt":null,"woe_id":2344923,"woe_label":"Prince Edward Island, CA, Canada","woe_name":"Prince Edward Island","latitude":46.3417,"longitude":-63.3862,"sov_a3":"CAN","adm0_a3":"CAN","adm0_label":2,"admin":"Canada","geonunit":"Canada","gu_a3":"CAN","gn_id":6113358,"gn_name":"Prince Edward Island","gns_id":-571729,"gns_name":"Ile-du-Prince-Edouard, Province d'","gn_level":1,"gn_region":null,"gn_a1_code":"CA.09","region_sub":"Atlantic Canada","sub_code":null,"gns_level":1,"gns_lang":"fra","gns_adm1":"CA09","gns_region":null,"min_label":3.5,"max_label":7.5,"min_zoom":2,"wikidataid":"Q1979","name_ar":"جزيرة الأمير إدوارد","name_bn":"প্রিন্স এডওয়ার্ড দ্বীপ","name_de":"Prince Edward Island","name_en":"Prince Edward Island","name_es":"Isla del Príncipe Eduardo","name_fr":"Île-du-Prince-Édouard","name_el":"Νήσος του Πρίγκηπα Εδουάρδου","name_hi":"प्रिंस एडवर्ड द्वीप","name_hu":"Prince Edward-sziget","name_id":"Pulau Pangeran Edward","name_it":"Isola del Principe Edoardo","name_ja":"プリンスエドワードアイランド州","name_ko":"프린스에드워드아일랜드","name_nl":"Prins Edwardeiland","name_pl":"Wyspa Księcia Edwarda","name_pt":"Ilha do Príncipe Eduardo","name_ru":"Остров Принца Эдуарда","name_sv":"Prince Edward Island","name_tr":"Prens Edward Adası","name_vi":"Đảo Hoàng tử Edward","name_zh":"爱德华王子岛","ne_id":1159310911,"name_he":"אי הנסיך אדוארד","name_uk":"Острів Принца Едварда","name_ur":"پرنس ایڈورڈ آئی لینڈ","name_fa":"جزیره پرنس ادوارد","name_zht":"愛德華王子島省","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[-64.403147,45.966888,-62.023728,47.061576],"geometry":{"type":"Polygon","coordinates":[[[-63.81127,46.468688],[-63.784244,46.454659],[-63.737013,46.480498],[-63.681434,46.561918],[-63.53436,46.540627],[-63.456477,46.503932],[-63.413147,46.512018],[-63.368664,46.50825],[-63.28608,46.460218],[-63.129371,46.422205],[-62.964004,46.427731],[-62.712033,46.450297],[-62.681908,46.459438],[-62.423114,46.478246],[-62.163562,46.487189],[-62.074266,46.465744],[-62.040889,46.445694],[-62.023728,46.421557],[-62.171758,46.355386],[-62.319986,46.278317],[-62.526045,46.202863],[-62.551995,46.165938],[-62.539229,46.097932],[-62.543261,46.028664],[-62.50259,46.022929],[-62.47809,45.999726],[-62.531319,45.977303],[-62.74319,45.966888],[-62.804889,45.973216],[-62.878355,46.001374],[-62.903547,46.068247],[-62.994601,46.058426],[-63.022089,46.066599],[-62.894549,46.123597],[-62.952666,46.195161],[-63.015058,46.189943],[-63.056322,46.223946],[-63.052917,46.269814],[-62.99514,46.292138],[-62.978473,46.316352],[-63.056872,46.295368],[-63.117022,46.25284],[-63.194717,46.236712],[-63.270809,46.199995],[-63.152782,46.188339],[-63.213504,46.15984],[-63.276598,46.153282],[-63.568879,46.209224],[-63.640993,46.230461],[-63.731784,46.289062],[-63.800547,46.367328],[-63.763238,46.370371],[-63.750549,46.384357],[-63.758656,46.397607],[-63.860544,46.408175],[-64.019703,46.404814],[-64.110812,46.425435],[-64.106572,46.562116],[-64.136059,46.599689],[-64.235639,46.63144],[-64.388052,46.640877],[-64.403147,46.691623],[-64.354621,46.769241],[-64.280002,46.835741],[-64.223235,46.901242],[-64.1569,46.954888],[-63.993577,47.061576],[-63.99728,46.981728],[-63.981492,46.912997],[-64.087862,46.775437],[-63.90305,46.639119],[-63.87933,46.608962],[-63.863719,46.572355],[-63.875628,46.53866],[-63.905555,46.508766],[-63.833616,46.49388],[-63.81127,46.468688]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"CAN-683","diss_me":683,"iso_3166_2":"CA-QC","wikipedia":"http://en.wikipedia.org/wiki/Quebec","iso_a2":"CA","adm0_sr":6,"name":"Québec","name_alt":"Lower Canada","name_local":null,"type":"Province","type_en":"Province","code_local":null,"code_hasc":"CA.QC","note":null,"hasc_maybe":null,"region":"Eastern Canada","region_cod":null,"provnum_ne":4,"gadm_level":1,"check_me":20,"datarank":2,"abbrev":"Que.","postal":"QC","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":6,"mapcolor9":2,"mapcolor13":2,"fips":"CA10","fips_alt":null,"woe_id":2344924,"woe_label":"Quebec, CA, Canada","woe_name":"Québec","latitude":52.2593,"longitude":-73.7168,"sov_a3":"CAN","adm0_a3":"CAN","adm0_label":2,"admin":"Canada","geonunit":"Canada","gu_a3":"CAN","gn_id":6115047,"gn_name":"Quebec","gns_id":-571854,"gns_name":"Quebec, Province du","gn_level":1,"gn_region":null,"gn_a1_code":"CA.10","region_sub":"Québec","sub_code":null,"gns_level":1,"gns_lang":"fra","gns_adm1":"CA10","gns_region":null,"min_label":3.5,"max_label":7.5,"min_zoom":2,"wikidataid":"Q176","name_ar":"كيبك","name_bn":"কেবেক","name_de":"Québec","name_en":"Quebec","name_es":"Quebec","name_fr":"Québec","name_el":"Κεμπέκ","name_hi":"क्यूबेक","name_hu":"Québec","name_id":"Quebec","name_it":"Québec","name_ja":"ケベック州","name_ko":"퀘벡","name_nl":"Quebec","name_pl":"Quebec","name_pt":"Quebeque","name_ru":"Квебек","name_sv":"Québec","name_tr":"Québec","name_vi":"Québec","name_zh":"魁北克","ne_id":1159308703,"name_he":"קוויבק","name_uk":"Квебек","name_ur":"کیوبیک","name_fa":"استان کبک","name_zht":"魁北克","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[-79.713937,45.00387,-57.100128,62.572514],"geometry":{"type":"MultiPolygon","coordinates":[[[[-66.704377,48.022441],[-66.842684,47.997897],[-66.925026,47.96351],[-66.951822,47.899449],[-67.057576,47.918576],[-67.187237,47.894076],[-67.307054,47.887232],[-67.364853,47.8548],[-67.579042,47.939505],[-67.609463,47.968827],[-67.612891,47.998567],[-67.739322,47.998567],[-67.913444,47.998567],[-68.023417,47.998567],[-68.113516,47.998567],[-68.113516,47.929375],[-68.252493,47.929375],[-68.377913,47.929375],[-68.378254,47.83842],[-68.378528,47.765152],[-68.378814,47.691873],[-68.37921,47.588986],[-68.393679,47.563146],[-68.429637,47.528188],[-68.496016,47.480309],[-68.628467,47.420697],[-69.05366,47.294585],[-69.064284,47.338146],[-69.050222,47.426619],[-69.146286,47.444757],[-69.242878,47.462995],[-69.302149,47.401988],[-69.358882,47.350649],[-69.471492,47.238665],[-69.629772,47.081363],[-69.71752,46.994856],[-69.871724,46.842926],[-70.00768,46.708937],[-70.038222,46.571421],[-70.067215,46.441046],[-70.17966,46.341818],[-70.248292,46.250873],[-70.278878,46.149997],[-70.30452,46.057393],[-70.306431,45.979829],[-70.28715,45.939158],[-70.296247,45.906089],[-70.333458,45.868054],[-70.407868,45.801906],[-70.421096,45.73824],[-70.466568,45.706819],[-70.596383,45.643988],[-70.702214,45.551385],[-70.70741,45.498925],[-70.692139,45.455364],[-70.689788,45.428338],[-70.710948,45.409474],[-70.7533,45.410694],[-70.79919,45.404772],[-70.837818,45.366177],[-70.836829,45.310696],[-70.865053,45.270695],[-70.89799,45.262455],[-70.926236,45.290701],[-70.960184,45.333097],[-70.999877,45.337228],[-71.060225,45.309125],[-71.084549,45.294008],[-71.134647,45.262818],[-71.201619,45.260335],[-71.327292,45.290108],[-71.419017,45.200338],[-71.51752,45.007561],[-71.933638,45.007067],[-72.349768,45.006605],[-72.765886,45.006111],[-73.182015,45.005628],[-73.352182,45.005419],[-73.598133,45.005155],[-74.014262,45.004694],[-74.430391,45.004178],[-74.663236,45.003925],[-74.708873,45.00387],[-74.566292,45.041597],[-74.269057,45.188297],[-74.049792,45.241427],[-73.764664,45.395478],[-73.558088,45.425086],[-73.518812,45.458979],[-73.484194,45.586783],[-73.465275,45.63231],[-73.368848,45.757829],[-73.25302,45.86366],[-73.159559,46.010031],[-72.989963,46.10359],[-72.733432,46.181857],[-72.496193,46.352672],[-72.36617,46.404792],[-72.240135,46.442101],[-72.187214,46.511524],[-72.109288,46.551217],[-71.900932,46.631912],[-71.671274,46.653764],[-71.439199,46.720769],[-71.261176,46.756266],[-71.152005,46.819108],[-70.993253,46.85221],[-70.519489,47.032528],[-70.388104,47.116947],[-70.217772,47.289828],[-70.069588,47.377785],[-70.017139,47.471421],[-69.802225,47.62345],[-69.58107,47.823698],[-69.471053,47.9673],[-69.306335,48.047039],[-68.987072,48.274983],[-68.815685,48.366038],[-68.746054,48.376431],[-68.552014,48.457301],[-68.431505,48.541687],[-68.238211,48.626436],[-67.889,48.730905],[-67.560882,48.855929],[-67.117496,48.964145],[-66.598095,49.126358],[-66.178176,49.213117],[-65.882797,49.225674],[-65.52339,49.266137],[-65.396158,49.262061],[-64.836349,49.191727],[-64.567734,49.104803],[-64.26183,48.921869],[-64.216226,48.873661],[-64.20881,48.806216],[-64.370738,48.838988],[-64.513736,48.841098],[-64.414562,48.803634],[-64.246076,48.691112],[-64.253744,48.550367],[-64.348831,48.4232],[-64.633157,48.360512],[-64.705766,48.31059],[-64.764488,48.228094],[-64.822056,48.196486],[-64.959902,48.159847],[-65.036081,48.106266],[-65.259422,48.021254],[-65.360013,48.011125],[-65.475897,48.031482],[-65.754719,48.111694],[-65.926721,48.188839],[-66.012557,48.146674],[-66.083122,48.102696],[-66.248642,48.117319],[-66.324272,48.097895],[-66.448989,48.119648],[-66.704377,48.022441]]],[[[-64.614272,60.30598],[-64.81586,60.267429],[-64.846688,60.250763],[-64.846786,60.238183],[-64.78935,60.196117],[-64.644528,60.161345],[-64.622303,60.141317],[-64.649867,60.110083],[-64.710589,60.09101],[-64.782165,60.063775],[-64.88035,60.049669],[-64.887271,60.035409],[-64.868155,60.008789],[-64.834042,59.985772],[-64.682376,59.942904],[-64.66504,59.932719],[-64.661469,59.921513],[-64.665578,59.905539],[-64.761851,59.864044],[-64.790822,59.815572],[-64.818024,59.540244],[-64.775551,59.488311],[-64.714621,59.466295],[-64.444819,59.527994],[-64.385295,59.514766],[-64.37867,59.475073],[-64.425757,59.456418],[-64.503134,59.398652],[-64.518669,59.35586],[-64.519493,59.225793],[-64.505485,59.166005],[-64.477811,59.116182],[-64.441698,59.091068],[-64.332374,59.043761],[-64.324364,59.019964],[-64.35818,59.001925],[-64.393501,58.998497],[-64.770256,59.048693],[-64.801677,59.040278],[-64.832834,59.020019],[-64.851126,58.983687],[-64.848313,58.949223],[-64.80862,58.929371],[-64.617864,58.911496],[-64.294075,58.865991],[-64.235562,58.785769],[-64.191781,58.76874],[-64.155329,58.770575],[-63.990633,58.810982],[-63.727137,58.861684],[-63.665932,58.85362],[-63.591796,58.829791],[-63.53526,58.798787],[-63.504048,58.770575],[-63.496709,58.753447],[-63.506015,58.743416],[-63.55319,58.731606],[-63.960508,58.684222],[-64.031414,58.666314],[-64.070811,58.641694],[-64.084994,58.621171],[-64.085873,58.599375],[-64.062494,58.554825],[-64.038742,58.544751],[-63.882374,58.55521],[-63.840823,58.505167],[-63.83711,58.482579],[-63.848008,58.459738],[-64.02268,58.398764],[-64.09776,58.35918],[-64.371386,58.169293],[-64.394589,58.144332],[-64.400379,58.121414],[-64.386998,58.098881],[-64.226586,58.01755],[-64.133576,57.87543],[-64.078798,57.812523],[-64.045466,57.785255],[-63.985986,57.80314],[-63.96131,57.80169],[-63.921463,57.783299],[-63.871915,57.731158],[-63.841911,57.713349],[-63.793494,57.705966],[-63.715568,57.695859],[-63.617636,57.726137],[-63.601255,57.723061],[-63.598157,57.692453],[-63.614692,57.669294],[-63.743726,57.580876],[-63.758503,57.552927],[-63.761557,57.513134],[-63.7421,57.395778],[-63.799899,57.31872],[-63.793285,57.279038],[-63.760008,57.240794],[-63.757854,57.227666],[-63.791813,57.129876],[-63.835759,57.083129],[-63.876353,57.023034],[-63.903302,56.889342],[-63.950379,56.863458],[-64.003553,56.820567],[-64.03037,56.787081],[-64.100661,56.737884],[-64.115591,56.707397],[-64.111867,56.690906],[-63.954905,56.52699],[-63.925572,56.475366],[-63.954927,56.43888],[-64.052651,56.429739],[-64.136103,56.394572],[-64.118711,56.334334],[-64.12148,56.299409],[-64.115284,56.288653],[-64.083654,56.27525],[-63.912817,56.229019],[-63.899325,56.212331],[-63.99172,56.144633],[-64.004146,56.097458],[-63.968363,56.094711],[-63.885889,56.088416],[-63.836121,56.063323],[-63.578305,56.025574],[-63.558464,55.992495],[-63.586479,55.976169],[-63.66112,55.947802],[-63.698407,55.92338],[-63.708405,55.883356],[-63.700572,55.860911],[-63.524417,55.705696],[-63.415169,55.596009],[-63.36339,55.564676],[-63.304559,55.54211],[-63.154353,55.51359],[-63.15108,55.48408],[-63.159473,55.440443],[-63.15131,55.404473],[-63.111825,55.33983],[-63.161385,55.307475],[-63.429275,55.209883],[-63.510893,55.167641],[-63.534019,55.140351],[-63.551158,55.086254],[-63.48012,54.987235],[-63.476044,54.961867],[-63.491491,54.91779],[-63.569659,54.776297],[-63.658,54.644362],[-63.698825,54.615194],[-63.751241,54.612172],[-63.91018,54.634035],[-64.341053,54.72632],[-64.81519,54.733868],[-65.121785,54.719168],[-65.675804,54.744931],[-65.741645,54.768881],[-65.796829,54.805026],[-65.868119,54.898256],[-65.883643,54.907188],[-66.082836,54.941707],[-66.156631,54.967756],[-66.239798,55.008372],[-66.617914,55.25596],[-66.733414,55.318901],[-66.773986,55.32825],[-66.799617,55.311199],[-66.79731,55.29383],[-66.725064,55.21319],[-66.719044,55.192547],[-66.747443,55.129145],[-66.692797,54.998012],[-66.710364,54.948222],[-66.656729,54.846785],[-66.650785,54.798566],[-66.724449,54.747974],[-66.867051,54.780977],[-67.166725,54.937477],[-67.301747,55.063721],[-67.33865,55.074598],[-67.40815,55.071785],[-67.426442,55.058865],[-67.437088,55.036223],[-67.415775,54.983774],[-67.372027,54.91735],[-67.290025,54.825779],[-67.204595,54.699272],[-67.199179,54.682089],[-67.146873,54.653041],[-67.15018,54.616666],[-67.236071,54.585662],[-67.285521,54.518558],[-67.314568,54.517393],[-67.536514,54.572665],[-67.578526,54.565458],[-67.601421,54.552791],[-67.620131,54.506539],[-67.609716,54.45164],[-67.581943,54.391819],[-67.515333,54.281725],[-67.507994,54.252809],[-67.511323,54.236176],[-67.681061,54.141342],[-67.731412,54.099924],[-67.76147,54.060735],[-67.757252,54.033654],[-67.530626,53.839372],[-67.470992,53.796459],[-67.455743,53.730464],[-67.476957,53.635202],[-67.47353,53.613317],[-67.457094,53.601221],[-67.164913,53.543038],[-67.128482,53.502828],[-67.076055,53.417409],[-67.025903,53.393118],[-66.980353,53.384],[-66.944439,53.355139],[-66.937902,53.328837],[-66.965236,53.182961],[-66.970301,53.072988],[-67.028023,52.980483],[-67.053654,52.920025],[-67.069694,52.832585],[-67.068024,52.754922],[-67.029473,52.72037],[-66.95102,52.69831],[-66.897483,52.693762],[-66.855834,52.698442],[-66.814778,52.6865],[-66.688348,52.726885],[-66.671297,52.748825],[-66.631384,52.910258],[-66.615278,52.93155],[-66.521026,52.958499],[-66.489913,53.005037],[-66.467951,53.018627],[-66.428038,53.010816],[-66.389893,52.991985],[-66.328139,52.933879],[-66.300212,52.896877],[-66.310473,52.861006],[-66.341345,52.840077],[-66.356802,52.806262],[-66.36636,52.741431],[-66.41659,52.688433],[-66.426093,52.660868],[-66.394233,52.417829],[-66.401681,52.397834],[-66.463403,52.341331],[-66.462216,52.294529],[-66.439277,52.229117],[-66.407438,52.183688],[-66.378863,52.164517],[-66.345453,52.154849],[-66.326821,52.188654],[-66.296026,52.294584],[-66.279535,52.300814],[-66.148545,52.229831],[-66.096965,52.209528],[-66.035782,52.109245],[-65.97884,52.080746],[-65.882929,52.054214],[-65.8268,52.05238],[-65.805904,52.063696],[-65.780558,52.103895],[-65.690635,52.093589],[-65.6311,52.0731],[-65.589144,52.073364],[-65.551647,52.093952],[-65.474271,52.196246],[-65.4521,52.202914],[-65.398047,52.202958],[-65.268156,52.185215],[-65.137133,52.154695],[-65.03618,52.113464],[-64.93215,52.055016],[-64.764642,51.905416],[-64.657964,51.848561],[-64.626719,51.825314],[-64.638969,51.790532],[-64.692736,51.762626],[-64.702327,51.745422],[-64.697416,51.720461],[-64.598012,51.600369],[-64.506342,51.608895],[-64.290516,51.728777],[-64.289373,51.769086],[-64.326067,51.81146],[-64.334571,51.841904],[-64.32142,51.929651],[-64.270828,52.083229],[-64.259611,52.099511],[-64.15957,52.148027],[-64.130676,52.186688],[-64.103188,52.378487],[-64.183465,52.554158],[-64.187211,52.625965],[-64.178477,52.815325],[-64.139366,52.854239],[-64.007892,52.878222],[-63.973373,52.895064],[-63.917464,53.065594],[-63.90506,53.076921],[-63.798965,53.104299],[-63.722544,53.109188],[-63.671612,53.100739],[-63.606188,53.034854],[-63.554585,52.964311],[-63.548697,52.939712],[-63.566791,52.825872],[-63.563484,52.796989],[-63.550246,52.774149],[-63.409687,52.688719],[-63.42276,52.669888],[-63.522549,52.648805],[-63.810677,52.611254],[-63.898545,52.589249],[-63.955466,52.565606],[-64.017615,52.525473],[-64.059418,52.48512],[-64.066164,52.465894],[-64.06167,52.457753],[-63.951104,52.428793],[-63.942787,52.418093],[-63.935492,52.380937],[-63.883956,52.344924],[-63.765589,52.297529],[-63.683752,52.138029],[-63.668019,52.094183],[-63.664295,52.060125],[-63.70401,52.04837],[-63.785507,52.050776],[-63.792198,52.044063],[-63.783365,52.020442],[-63.756899,52.010522],[-63.606573,52.000832],[-63.199991,52.000854],[-62.793398,52.000854],[-62.386805,52.000854],[-61.98019,52.000909],[-61.573575,52.000909],[-61.166982,52.000931],[-60.7604,52.000964],[-60.353806,52.000964],[-59.947213,52.000986],[-59.54062,52.001008],[-59.134038,52.001008],[-58.727412,52.001041],[-58.320797,52.001063],[-57.914215,52.001063],[-57.507622,52.001085],[-57.101029,52.001117],[-57.100974,51.710694],[-57.100128,51.443342],[-57.299234,51.478256],[-57.461655,51.469105],[-57.769569,51.425906],[-57.853747,51.399495],[-58.02265,51.322085],[-58.089425,51.311],[-58.270447,51.295213],[-58.442262,51.305914],[-58.510377,51.295059],[-58.593269,51.257134],[-58.614759,51.237051],[-58.637599,51.171661],[-59.054948,50.879117],[-59.165371,50.779899],[-59.378045,50.67543],[-59.611889,50.492112],[-59.815312,50.418262],[-59.886316,50.316386],[-60.080203,50.254577],[-60.438116,50.238844],[-60.608206,50.221124],[-60.807234,50.249798],[-60.956297,50.205413],[-61.180703,50.191515],[-61.289765,50.201952],[-61.724856,50.104075],[-61.835346,50.196965],[-61.919523,50.232857],[-62.165221,50.238921],[-62.361668,50.277297],[-62.540932,50.284526],[-62.715439,50.301686],[-62.830213,50.301478],[-62.949766,50.291348],[-63.135622,50.293776],[-63.238641,50.242569],[-63.586676,50.258224],[-63.733575,50.304631],[-63.853952,50.314343],[-64.015824,50.30396],[-64.170391,50.269441],[-64.508946,50.308915],[-64.867847,50.275484],[-65.180903,50.297907],[-65.268617,50.320033],[-65.762442,50.259257],[-65.955373,50.294161],[-66.125518,50.201019],[-66.242204,50.220343],[-66.368865,50.206655],[-66.411086,50.224277],[-66.495527,50.211873],[-66.550063,50.161171],[-66.621716,50.155414],[-66.740884,50.065524],[-66.941176,49.993696],[-67.23439,49.60178],[-67.261889,49.451191],[-67.372005,49.348457],[-67.469212,49.334637],[-67.54928,49.332286],[-68.056223,49.256788],[-68.281926,49.197154],[-68.220589,49.149638],[-68.29456,49.114372],[-68.414399,49.09954],[-68.543851,49.056122],[-68.627896,49.007189],[-68.669062,48.939491],[-68.929042,48.828958],[-69.23076,48.573625],[-69.374955,48.386396],[-69.550122,48.250802],[-69.673883,48.199178],[-69.761938,48.191169],[-69.851696,48.207395],[-70.001022,48.270951],[-70.110655,48.277983],[-70.383709,48.36651],[-71.018247,48.455599],[-70.922589,48.422321],[-70.838741,48.367389],[-70.671079,48.353195],[-70.500648,48.35436],[-70.145328,48.24354],[-69.971173,48.205736],[-69.865495,48.17225],[-69.77499,48.098103],[-69.839809,47.952579],[-69.905551,47.832223],[-69.994453,47.739872],[-70.300092,47.503018],[-70.448045,47.423466],[-70.705861,47.13981],[-70.972719,47.006689],[-71.115651,46.924939],[-71.26779,46.79596],[-71.624769,46.69839],[-71.757264,46.673583],[-71.879608,46.686811],[-72.028461,46.607434],[-72.204627,46.558864],[-72.256648,46.485069],[-72.680127,46.287304],[-72.842702,46.262398],[-72.98102,46.20974],[-73.021922,46.120257],[-73.14543,46.066281],[-73.179686,46.024994],[-73.283529,45.899838],[-73.476591,45.73824],[-73.711853,45.711159],[-73.797843,45.654942],[-73.897401,45.56414],[-74.037828,45.501869],[-74.315101,45.531071],[-74.247634,45.492882],[-73.999607,45.433347],[-73.973855,45.345138],[-74.09811,45.324001],[-74.340446,45.214445],[-74.412945,45.269102],[-74.478061,45.317903],[-74.453067,45.393555],[-74.415011,45.508846],[-74.396565,45.56771],[-74.577224,45.6322],[-74.717212,45.651371],[-74.864187,45.642176],[-75.167135,45.575302],[-75.626132,45.450761],[-75.903966,45.42023],[-76.000623,45.483632],[-76.122638,45.504868],[-76.269942,45.483939],[-76.413446,45.496343],[-76.553126,45.542079],[-76.666582,45.642593],[-76.753813,45.79783],[-76.823708,45.879678],[-76.871609,45.887434],[-76.890208,45.890269],[-76.912895,45.8758],[-76.92553,45.819682],[-76.940932,45.800972],[-76.976748,45.798105],[-77.030844,45.807465],[-77.100685,45.832657],[-77.233235,45.903584],[-77.266798,45.929391],[-77.282464,45.961999],[-77.292748,45.976775],[-77.371344,46.062853],[-77.373003,46.063699],[-77.682674,46.186669],[-78.460451,46.306892],[-78.781,46.393443],[-78.903168,46.486464],[-79.01458,46.606512],[-79.165554,46.827172],[-79.364945,47.02196],[-79.434917,47.133811],[-79.441937,47.227657],[-79.479225,47.318865],[-79.546714,47.407448],[-79.559293,47.483045],[-79.513249,47.55105],[-79.512975,47.556422],[-79.513458,47.839738],[-79.513974,48.081613],[-79.514469,48.323488],[-79.514963,48.565352],[-79.515447,48.807227],[-79.515941,49.049102],[-79.516435,49.290944],[-79.516919,49.532819],[-79.517413,49.774683],[-79.517908,50.016536],[-79.518402,50.2584],[-79.518885,50.500275],[-79.51938,50.74215],[-79.519555,50.918525],[-79.456131,50.875601],[-79.347894,50.76264],[-79.380732,50.834523],[-79.452638,50.917305],[-79.520467,50.965986],[-79.520357,51.225889],[-79.521346,51.544712],[-79.497572,51.569926],[-79.338666,51.628165],[-79.296961,51.622792],[-79.264255,51.551996],[-79.226111,51.537319],[-79.152733,51.526211],[-79.09088,51.501712],[-79.040541,51.463787],[-79.005044,51.425335],[-78.984324,51.386377],[-78.936929,51.259145],[-78.903168,51.200291],[-78.89751,51.271702],[-78.858003,51.383949],[-78.827428,51.429993],[-78.731363,51.497482],[-78.736406,51.526618],[-78.776297,51.565795],[-78.977754,51.733798],[-78.981632,51.774568],[-78.927887,51.798804],[-78.891094,51.845101],[-78.871252,51.913425],[-78.828208,51.963006],[-78.701986,52.032692],[-78.593309,52.13971],[-78.537367,52.213296],[-78.491642,52.252111],[-78.448103,52.261362],[-78.513087,52.291124],[-78.526051,52.310712],[-78.529072,52.399174],[-78.557065,52.491888],[-78.600571,52.535119],[-78.723794,52.627745],[-78.744129,52.655386],[-78.765783,52.760031],[-78.753633,52.812381],[-78.721706,52.856469],[-78.739867,52.898997],[-78.854092,52.976099],[-78.898224,53.043379],[-78.947135,53.206186],[-78.992025,53.410356],[-79.0431,53.560506],[-79.100361,53.656625],[-79.113149,53.717215],[-79.081443,53.742275],[-79.040343,53.81796],[-79.003187,53.836559],[-78.945696,53.831594],[-78.944377,53.840229],[-79.032015,53.881054],[-79.075169,53.932393],[-79.07328,53.951432],[-78.996024,54.002497],[-79.0099,54.023986],[-79.06716,54.051946],[-79.241799,54.098869],[-79.178825,54.116953],[-79.138835,54.157206],[-79.146734,54.169247],[-79.215981,54.185683],[-79.295676,54.216851],[-79.356134,54.263378],[-79.430544,54.336635],[-79.475973,54.394764],[-79.520665,54.491553],[-79.597932,54.60168],[-79.631726,54.629124],[-79.670398,54.646845],[-79.713937,54.654964],[-79.712344,54.671806],[-79.66552,54.697437],[-78.909232,54.88148],[-78.846236,54.90799],[-78.475052,55.011009],[-78.303589,55.068555],[-78.128873,55.151337],[-77.891107,55.236426],[-77.775278,55.291248],[-77.702153,55.344169],[-77.324937,55.555524],[-77.165108,55.663531],[-77.072549,55.756289],[-76.938087,55.867239],[-76.761822,55.996428],[-76.650454,56.107225],[-76.604048,56.199565],[-76.54638,56.358779],[-76.529824,56.499964],[-76.51964,56.706979],[-76.525561,56.89177],[-76.572835,57.181182],[-76.601422,57.27227],[-76.65542,57.380584],[-76.786267,57.598608],[-76.8098,57.657978],[-76.890912,57.758129],[-77.156781,58.01889],[-77.489161,58.195308],[-77.55242,58.239594],[-77.684092,58.291373],[-77.884131,58.350754],[-78.01355,58.399171],[-78.35172,58.580665],[-78.463011,58.60244],[-78.505902,58.649132],[-78.515097,58.682365],[-78.502287,58.769102],[-78.482589,58.829099],[-78.458672,58.873308],[-78.430503,58.901784],[-78.244438,59.035048],[-78.140233,59.141737],[-78.067679,59.200184],[-77.987633,59.245503],[-77.842844,59.305015],[-77.760677,59.380041],[-77.779431,59.410374],[-77.844679,59.443509],[-77.859016,59.475798],[-77.749043,59.558173],[-77.733519,59.580959],[-77.747527,59.658501],[-77.726158,59.67587],[-77.5904,59.680517],[-77.396689,59.569237],[-77.349074,59.578949],[-77.411026,59.609622],[-77.485294,59.684571],[-77.474571,59.715684],[-77.331661,59.79661],[-77.327629,59.833403],[-77.368399,59.884358],[-77.37297,59.925106],[-77.28921,60.022016],[-77.311809,60.042385],[-77.547147,60.061139],[-77.585907,60.088165],[-77.572185,60.100953],[-77.461366,60.133516],[-77.452884,60.145788],[-77.648617,60.362516],[-77.681455,60.427115],[-77.598156,60.506744],[-77.503553,60.542713],[-77.515572,60.563181],[-77.639465,60.566894],[-77.714996,60.577804],[-77.790802,60.639865],[-77.761216,60.679032],[-77.734211,60.696972],[-77.660625,60.789521],[-77.589576,60.808593],[-77.603012,60.825172],[-77.871551,60.785852],[-77.998125,60.818195],[-78.122435,60.809626],[-78.181377,60.819129],[-78.159646,60.852198],[-77.934206,61.002656],[-77.830133,61.084021],[-77.765017,61.157508],[-77.730597,61.206397],[-77.726828,61.230677],[-77.749614,61.393],[-77.736178,61.437341],[-77.648902,61.478672],[-77.514364,61.55629],[-77.698451,61.626416],[-77.813774,61.694784],[-77.889887,61.728687],[-77.947533,61.761866],[-78.021383,61.832091],[-78.077479,61.923376],[-78.137135,62.107375],[-78.146957,62.208713],[-78.133421,62.2823],[-78.108581,62.318104],[-78.068119,62.355414],[-77.899918,62.42655],[-77.603968,62.531382],[-77.372431,62.572514],[-77.205252,62.549959],[-76.879387,62.525383],[-76.616352,62.465694],[-75.816888,62.315863],[-75.675527,62.249538],[-75.80922,62.193409],[-75.78984,62.179566],[-75.488825,62.28643],[-75.40924,62.307074],[-75.34118,62.312083],[-75.114016,62.270742],[-75.022752,62.264469],[-74.907572,62.230049],[-74.632573,62.115692],[-74.612907,62.125206],[-74.689911,62.183445],[-74.645778,62.211141],[-74.429227,62.271808],[-74.205435,62.321367],[-74.046485,62.370047],[-73.877812,62.434383],[-73.763972,62.468748],[-73.705052,62.473143],[-73.629972,62.454203],[-73.428383,62.368828],[-73.298986,62.325058],[-73.195166,62.279146],[-73.049355,62.198221],[-72.992358,62.180445],[-72.881846,62.125404],[-72.734937,62.131095],[-72.686949,62.124558],[-72.670832,62.113879],[-72.646003,62.076624],[-72.633083,62.052806],[-72.632094,62.027219],[-72.665998,61.955335],[-72.771621,61.840407],[-72.72739,61.838628],[-72.660626,61.863248],[-72.573856,61.907149],[-72.505565,61.922684],[-72.360721,61.887802],[-72.226127,61.831574],[-72.17848,61.801812],[-72.12613,61.753231],[-72.08146,61.72827],[-72.040041,61.680271],[-72.042963,61.664714],[-72.082031,61.641401],[-72.247056,61.602026],[-72.215866,61.587271],[-72.023089,61.611947],[-71.964389,61.636292],[-71.922268,61.676931],[-71.866095,61.688532],[-71.638304,61.617165],[-71.604774,61.592369],[-71.619418,61.572912],[-71.65619,61.550918],[-71.755748,61.526737],[-71.841035,61.465993],[-71.854394,61.439813],[-71.793651,61.421213],[-71.645335,61.413149],[-71.646423,61.398735],[-71.732105,61.372071],[-71.743443,61.337234],[-71.551523,61.213264],[-71.422719,61.158958],[-71.348452,61.148983],[-71.175164,61.146522],[-71.034957,61.125516],[-70.72322,61.055193],[-70.540759,61.042481],[-70.383654,61.063971],[-70.279273,61.068673],[-70.18723,61.040537],[-70.157962,61.020641],[-70.144163,60.98109],[-70.145899,60.921808],[-70.095307,60.88029],[-69.992442,60.856494],[-69.909221,60.860108],[-69.800434,60.906668],[-69.708402,60.914633],[-69.677607,60.949559],[-69.650449,61.014159],[-69.623653,61.049502],[-69.556988,61.059686],[-69.503353,61.040405],[-69.471932,61.010951],[-69.414341,60.922489],[-69.398345,60.88285],[-69.404728,60.846804],[-69.433458,60.814273],[-69.48996,60.7796],[-69.574226,60.74273],[-69.640473,60.689787],[-69.721398,60.567443],[-69.751292,60.487474],[-69.759488,60.440244],[-69.755917,60.388509],[-69.74057,60.332292],[-69.7085,60.28593],[-69.633112,60.220352],[-69.62874,60.198599],[-69.623137,60.145481],[-69.629805,60.122124],[-69.673751,60.075871],[-69.795655,60.029718],[-69.962834,60.01783],[-70.509305,60.015205],[-70.65483,60.026235],[-70.619739,59.9843],[-70.466645,59.970831],[-70.326844,59.97138],[-69.805685,59.94487],[-69.733934,59.917998],[-69.673421,59.870767],[-69.630245,59.821823],[-69.587398,59.722298],[-69.579422,59.675123],[-69.602362,59.622718],[-69.656206,59.565095],[-69.692383,59.48841],[-69.710884,59.392522],[-69.681892,59.341732],[-69.399993,59.337777],[-69.344029,59.303104],[-69.350434,59.277209],[-69.450454,59.180035],[-69.459781,59.152437],[-69.4141,59.086882],[-69.420329,59.068227],[-69.44808,59.049166],[-69.474667,58.999991],[-69.50009,58.920637],[-69.531664,58.869221],[-69.608228,58.829505],[-69.648405,58.820782],[-69.677343,58.83134],[-69.752995,58.93961],[-69.784163,58.955727],[-69.813662,58.945554],[-69.828493,58.928756],[-69.828603,58.905344],[-69.841622,58.88113],[-69.86756,58.856147],[-69.979138,58.816355],[-70.159973,58.789383],[-70.154348,58.760599],[-70.032982,58.745152],[-69.878569,58.696988],[-69.789898,58.689287],[-69.650548,58.728255],[-69.381855,58.85072],[-69.271069,58.883953],[-69.173499,58.896643],[-69.063636,58.898269],[-68.941523,58.888908],[-68.698176,58.904542],[-68.6373,58.892896],[-68.562868,58.865914],[-68.47489,58.823485],[-68.414322,58.782714],[-68.381143,58.743493],[-68.326442,58.595387],[-68.252988,58.556638],[-68.235157,58.528161],[-68.229367,58.4846],[-68.23386,58.399226],[-68.314687,58.226883],[-68.356545,58.163217],[-68.468166,58.076304],[-68.596893,58.036842],[-68.825793,57.99984],[-68.945291,57.968792],[-69.035445,57.926022],[-69.040795,57.902512],[-68.780936,57.975845],[-68.49506,58.01165],[-68.413597,58.05175],[-68.351843,58.090719],[-68.289111,58.177686],[-68.175523,58.402587],[-68.111055,58.473328],[-68.021033,58.485315],[-67.981164,58.461243],[-67.887791,58.329408],[-67.888253,58.295767],[-67.911401,58.267247],[-68.063847,58.138981],[-68.008992,58.152055],[-67.855854,58.272619],[-67.823345,58.310236],[-67.805207,58.365487],[-67.755933,58.404598],[-67.73707,58.385427],[-67.689686,58.243813],[-67.688192,58.140223],[-67.680567,58.107044],[-67.697673,58.008761],[-67.678271,57.991138],[-67.632194,58.076151],[-67.617209,58.140333],[-67.596335,58.186113],[-67.569616,58.213502],[-67.381981,58.300008],[-67.162847,58.370365],[-67.019421,58.432921],[-66.900406,58.462793],[-66.722153,58.491005],[-66.607917,58.548936],[-66.557687,58.636629],[-66.515027,58.697296],[-66.479992,58.730881],[-66.362427,58.791163],[-66.298531,58.794525],[-66.237403,58.772255],[-66.1682,58.727113],[-66.0909,58.659052],[-66.044648,58.605626],[-66.029531,58.566811],[-66.01705,58.4308],[-66.002405,58.431218],[-65.931247,58.535083],[-65.922897,58.571986],[-65.927962,58.610943],[-65.94966,58.649857],[-66.021258,58.734759],[-66.04935,58.787889],[-66.043044,58.82065],[-65.967029,58.839228],[-65.854837,58.846611],[-65.835929,58.860487],[-65.918426,58.895632],[-65.920678,58.914649],[-65.841423,58.977074],[-65.794841,58.980457],[-65.703577,58.970614],[-65.721924,59.002606],[-65.720991,59.023765],[-65.695261,59.03206],[-65.544001,59.011845],[-65.526335,59.036246],[-65.396235,59.03841],[-65.383545,59.060218],[-65.496001,59.091331],[-65.606227,59.110755],[-65.639867,59.127707],[-65.665597,59.152767],[-65.700018,59.213313],[-65.69169,59.229408],[-65.660741,59.229671],[-65.607106,59.213126],[-65.578036,59.244964],[-65.545319,59.319737],[-65.512767,59.350411],[-65.411736,59.31498],[-65.407265,59.330229],[-65.489377,59.447739],[-65.475073,59.470327],[-65.349697,59.478797],[-65.273792,59.464174],[-65.074313,59.378009],[-65.038245,59.387896],[-65.068842,59.411462],[-65.170949,59.462263],[-65.26319,59.495441],[-65.345511,59.511042],[-65.407419,59.539343],[-65.475193,59.616775],[-65.486487,59.64869],[-65.480851,59.690262],[-65.433412,59.776505],[-65.406133,59.795214],[-65.357914,59.809068],[-65.288777,59.818055],[-65.212247,59.80953],[-65.054472,59.752785],[-65.028171,59.770715],[-65.113282,59.801619],[-65.159227,59.830151],[-65.181386,59.866626],[-65.171729,59.908022],[-65.104855,59.993397],[-65.07339,60.062226],[-64.931227,60.251982],[-64.889545,60.286501],[-64.845029,60.308309],[-64.817332,60.331051],[-64.705865,60.336137],[-64.614272,60.30598]]],[[[-61.801134,49.093904],[-62.219505,49.079128],[-62.55261,49.140882],[-62.799594,49.170699],[-63.041524,49.224949],[-63.565857,49.399335],[-63.625854,49.459925],[-63.676215,49.534346],[-63.776619,49.601989],[-63.884911,49.65769],[-64.44004,49.827758],[-64.485204,49.886985],[-64.372935,49.925943],[-64.243769,49.944389],[-64.131434,49.941653],[-63.760184,49.875252],[-63.292001,49.81686],[-63.088831,49.772695],[-62.858536,49.705491],[-62.633437,49.623951],[-62.132998,49.407059],[-62.043053,49.389799],[-61.817152,49.28355],[-61.73581,49.203768],[-61.696127,49.139014],[-61.745533,49.105737],[-61.801134,49.093904]]],[[[-61.914096,47.2845],[-61.878698,47.265537],[-61.815472,47.267559],[-61.772559,47.259803],[-61.833742,47.222592],[-61.950812,47.218977],[-62.008282,47.23427],[-61.924687,47.425169],[-61.827304,47.469092],[-61.627858,47.593842],[-61.54802,47.631767],[-61.474071,47.646752],[-61.395519,47.637666],[-61.475544,47.56397],[-61.582254,47.560015],[-61.684086,47.498755],[-61.750905,47.430805],[-61.831259,47.392045],[-61.886608,47.344606],[-61.914096,47.2845]]],[[[-71.025739,46.872952],[-71.11664,46.864844],[-71.094986,46.899572],[-70.970852,46.961425],[-70.879643,46.996098],[-70.825799,46.995373],[-70.91347,46.919512],[-71.025739,46.872952]]],[[[-73.566514,45.469108],[-73.643562,45.449113],[-73.775332,45.467614],[-73.920241,45.441928],[-73.960539,45.441411],[-73.852906,45.515723],[-73.68743,45.561404],[-73.522481,45.701194],[-73.476075,45.704754],[-73.53884,45.546419],[-73.55165,45.489861],[-73.566514,45.469108]]],[[[-73.69534,45.585486],[-73.815926,45.564898],[-73.857707,45.573599],[-73.724641,45.671839],[-73.572348,45.694471],[-73.69534,45.585486]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"CAN-631","diss_me":631,"iso_3166_2":"CA-SK","wikipedia":"http://en.wikipedia.org/wiki/Saskatchewan","iso_a2":"CA","adm0_sr":1,"name":"Saskatchewan","name_alt":null,"name_local":null,"type":"Province","type_en":"Province","code_local":null,"code_hasc":"CA.SK","note":null,"hasc_maybe":null,"region":"Western Canada","region_cod":null,"provnum_ne":13,"gadm_level":1,"check_me":20,"datarank":2,"abbrev":"Sask.","postal":"SK","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":12,"mapcolor9":2,"mapcolor13":2,"fips":"CA11","fips_alt":null,"woe_id":2344925,"woe_label":"Saskatchewan, CA, Canada","woe_name":"Saskatchewan","latitude":54.4965,"longitude":-105.682,"sov_a3":"CAN","adm0_a3":"CAN","adm0_label":2,"admin":"Canada","geonunit":"Canada","gu_a3":"CAN","gn_id":6141242,"gn_name":"Saskatchewan","gns_id":-573211,"gns_name":"Saskatchewan, Province de","gn_level":1,"gn_region":null,"gn_a1_code":"CA.11","region_sub":"Prairies","sub_code":null,"gns_level":1,"gns_lang":"fra","gns_adm1":"CA11","gns_region":null,"min_label":3.5,"max_label":7.5,"min_zoom":2,"wikidataid":"Q1989","name_ar":"ساسكاتشوان","name_bn":"সাসক্যাচুয়ান","name_de":"Saskatchewan","name_en":"Saskatchewan","name_es":"Saskatchewan","name_fr":"Saskatchewan","name_el":"Σασκάτσουαν","name_hi":"सैस्कैचेवेन","name_hu":"Saskatchewan","name_id":"Saskatchewan","name_it":"Saskatchewan","name_ja":"サスカチュワン州","name_ko":"서스캐처원","name_nl":"Saskatchewan","name_pl":"Saskatchewan","name_pt":"Saskatchewan","name_ru":"Саскачеван","name_sv":"Saskatchewan","name_tr":"Saskatchewan","name_vi":"Saskatchewan","name_zh":"萨斯喀彻温","ne_id":1159308773,"name_he":"ססקצ'ואן","name_uk":"Саскачеван","name_ur":"ساسکچیوان","name_fa":"سسکچوان","name_zht":"薩斯喀徹溫","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[-110.000025,48.993083,-101.367271,60.001087],"geometry":{"type":"Polygon","coordinates":[[[-109.999432,48.993083],[-109.999432,49.337966],[-109.999454,49.681958],[-109.999454,50.02594],[-109.999482,50.3699],[-109.999509,50.71386],[-109.999509,51.057842],[-109.999531,51.401824],[-109.999558,51.745784],[-109.999586,52.089744],[-109.999613,52.433726],[-109.999613,52.777708],[-109.999635,53.121668],[-109.999663,53.465628],[-109.999663,53.80961],[-109.99969,54.153592],[-109.999712,54.497552],[-109.99974,54.841512],[-109.999767,55.185472],[-109.999767,55.529476],[-109.999789,55.873436],[-109.999817,56.217396],[-109.999817,56.561378],[-109.999844,56.90536],[-109.999872,57.24932],[-109.999894,57.59328],[-109.999921,57.93724],[-109.999921,58.281254],[-109.999949,58.625203],[-109.99997,58.969163],[-109.99997,59.313145],[-110,59.657138],[-110.000025,60.001087],[-109.500131,60.001087],[-109.000242,60.001087],[-108.50032,60.001087],[-108.000431,60.001087],[-107.500537,60.001087],[-107.00062,60.001087],[-106.500731,60.001087],[-106.000837,60.001087],[-105.500943,60.001087],[-105.001054,60.001087],[-104.501137,60.001087],[-104.001243,60.001087],[-103.501354,60.001087],[-103.001432,60.001087],[-102.501543,60.001087],[-102.001649,60.001087],[-102.001621,59.739613],[-102.001599,59.478149],[-102.001544,59.216696],[-102.001522,58.955211],[-102.001495,58.693725],[-102.001445,58.432251],[-102.001418,58.170765],[-102.00139,57.909279],[-102.001341,57.647849],[-102.001314,57.386363],[-102.001286,57.124888],[-102.001237,56.863403],[-102.001209,56.601917],[-102.001182,56.340465],[-102.001132,56.079001],[-102.001105,55.817526],[-101.96129,55.391037],[-101.921498,54.964603],[-101.881711,54.538113],[-101.841918,54.111657],[-101.802126,53.685201],[-101.762333,53.258712],[-101.722546,52.832255],[-101.682754,52.405799],[-101.642961,51.979332],[-101.603174,51.552875],[-101.563382,51.126419],[-101.52359,50.699952],[-101.483803,50.273473],[-101.44401,49.847039],[-101.404218,49.42055],[-101.367271,48.993138],[-101.79365,48.993138],[-102.220035,48.993138],[-102.646414,48.993138],[-103.072799,48.993138],[-103.499179,48.993138],[-103.925564,48.993138],[-104.033927,48.993138],[-104.351943,48.993138],[-104.778328,48.993138],[-105.204707,48.993138],[-105.631092,48.993138],[-106.057477,48.993138],[-106.483856,48.993138],[-106.910241,48.993138],[-107.336621,48.993138],[-107.763006,48.993138],[-108.189385,48.993138],[-108.61577,48.993138],[-109.042149,48.993105],[-109.468534,48.993083],[-109.894914,48.993083],[-109.999432,48.993083]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"CAN-636","diss_me":636,"iso_3166_2":"CA-YT","wikipedia":"http://en.wikipedia.org/wiki/Yukon","iso_a2":"CA","adm0_sr":5,"name":"Yukon","name_alt":"Yukon Territory|Territoire du Yukon|Yukon|Yuk¢n","name_local":null,"type":"Territoire","type_en":"Territory","code_local":null,"code_hasc":"CA.YT","note":null,"hasc_maybe":null,"region":"Northern Canada","region_cod":"Northern Canada","provnum_ne":8,"gadm_level":1,"check_me":20,"datarank":2,"abbrev":"Yuk.","postal":"YT","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":5,"mapcolor9":2,"mapcolor13":2,"fips":"CA12","fips_alt":null,"woe_id":2344926,"woe_label":"Yukon Territory, CA, Canada","woe_name":"Yukon","latitude":63.6088,"longitude":-135.7,"sov_a3":"CAN","adm0_a3":"CAN","adm0_label":2,"admin":"Canada","geonunit":"Canada","gu_a3":"CAN","gn_id":6185811,"gn_name":"Yukon","gns_id":-576336,"gns_name":"Yukon","gn_level":1,"gn_region":null,"gn_a1_code":"CA.12","region_sub":null,"sub_code":null,"gns_level":1,"gns_lang":"por","gns_adm1":"CA12","gns_region":null,"min_label":3.5,"max_label":7.5,"min_zoom":2,"wikidataid":"Q2009","name_ar":"يوكون","name_bn":"ইউকন","name_de":"Yukon","name_en":"Yukon","name_es":"Yukón","name_fr":"Yukon","name_el":"Γιούκον","name_hi":"युकॉन प्रांत","name_hu":"Yukon","name_id":"Yukon","name_it":"Yukon","name_ja":"ユーコン準州","name_ko":"유콘 준","name_nl":"Yukon","name_pl":"Jukon","name_pt":"Yukon","name_ru":"Юкон","name_sv":"Yukon","name_tr":"Yukon","name_vi":"Yukon","name_zh":"育空","ne_id":1159309667,"name_he":"יוקון","name_uk":"Юкон","name_ur":"يوكون","name_fa":"یوکان","name_zht":"育空","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[-141.002137,60.001087,-123.819157,69.650786],"geometry":{"type":"MultiPolygon","coordinates":[[[[-123.819157,60.001087],[-124.770908,60.001087],[-125.722681,60.001087],[-126.674432,60.001087],[-127.626183,60.001087],[-128.577934,60.001087],[-129.529686,60.001087],[-130.481437,60.001087],[-131.433188,60.001087],[-132.384939,60.001087],[-133.33669,60.001087],[-134.288463,60.001087],[-135.240214,60.001087],[-136.191965,60.001087],[-137.143739,60.001087],[-138.095495,60.001087],[-139.056519,60.001582],[-139.185169,60.083573],[-139.13698,60.172705],[-139.079258,60.279448],[-139.079258,60.343707],[-139.234777,60.33973],[-139.467993,60.333709],[-139.676302,60.328337],[-139.830659,60.252883],[-139.973284,60.183153],[-140.196916,60.237491],[-140.452818,60.299729],[-140.525421,60.218342],[-140.762745,60.259112],[-141.002137,60.300245],[-141.002137,60.592448],[-141.002137,60.884652],[-141.002137,61.176855],[-141.002137,61.469069],[-141.002137,61.761273],[-141.002137,62.053476],[-141.002137,62.34568],[-141.002137,62.637883],[-141.002137,62.930086],[-141.002137,63.22229],[-141.002137,63.514471],[-141.002137,63.806697],[-141.002137,64.098878],[-141.002137,64.391103],[-141.002137,64.683318],[-141.002137,64.975521],[-141.002137,65.267724],[-141.002137,65.559928],[-141.002137,65.852131],[-141.002137,66.144335],[-141.002137,66.436538],[-141.002137,66.728741],[-141.002137,67.020945],[-141.002137,67.313148],[-141.002137,67.605351],[-141.002137,67.897566],[-141.002137,68.189736],[-141.002137,68.481973],[-141.002137,68.774176],[-141.002137,69.066379],[-141.002137,69.358583],[-141.002137,69.650786],[-140.860026,69.635229],[-140.405118,69.602468],[-139.976594,69.621749],[-139.181524,69.515555],[-138.689875,69.316802],[-138.291035,69.219034],[-138.128355,69.151952],[-137.869408,69.092834],[-137.259963,68.964108],[-137.070416,68.95088],[-136.717337,68.889181],[-136.498687,68.897289],[-136.443756,68.895124],[-136.445052,68.619917],[-136.445184,68.328801],[-136.44531,68.037707],[-136.445437,67.746592],[-136.434406,67.702537],[-136.400711,67.665897],[-136.264755,67.615975],[-136.233307,67.600265],[-136.207934,67.576908],[-136.169251,67.514231],[-136.177908,67.450049],[-136.177623,67.422627],[-136.158529,67.393711],[-136.140907,67.375265],[-136.128536,67.354083],[-136.105179,67.304216],[-136.107761,67.287572],[-136.150157,67.226334],[-136.217987,67.181224],[-136.220546,67.163086],[-136.22382,67.134895],[-136.223227,67.08828],[-136.194553,67.036216],[-136.169306,67.015243],[-136.126053,67.004696],[-135.839167,67.004674],[-135.552314,67.004641],[-135.265461,67.004597],[-134.978602,67.004564],[-134.691744,67.004542],[-134.404869,67.004487],[-134.117983,67.004465],[-134.055581,67.004487],[-134.053389,66.972704],[-134.031323,66.944029],[-133.92386,66.902974],[-133.84751,66.861709],[-133.794155,66.818631],[-133.782735,66.785486],[-133.797539,66.752461],[-133.805856,66.733422],[-133.799039,66.711119],[-133.770743,66.684357],[-133.768601,66.669371],[-133.763921,66.650969],[-133.725606,66.631282],[-133.651762,66.586062],[-133.635194,66.565649],[-133.649279,66.536305],[-133.658375,66.509278],[-133.65202,66.472485],[-133.65403,66.452842],[-133.674316,66.445865],[-133.705968,66.444316],[-133.739378,66.439845],[-133.759554,66.415994],[-133.790096,66.348098],[-133.800121,66.325587],[-133.790173,66.304449],[-133.759636,66.303526],[-133.651141,66.300264],[-133.612095,66.295232],[-133.583157,66.285102],[-133.571248,66.248749],[-133.566958,66.208418],[-133.568716,66.176634],[-133.593776,66.149861],[-133.659793,66.111551],[-133.677184,66.095632],[-133.675739,66.073956],[-133.645351,66.049358],[-133.623801,66.010334],[-133.621632,65.974629],[-133.588947,65.962588],[-133.499727,65.955458],[-133.412133,65.956029],[-133.229096,66.006149],[-133.04146,66.02755],[-132.93798,66.02866],[-132.917902,66.017552],[-132.916458,66.001655],[-132.939556,65.976441],[-132.967797,65.933705],[-132.948027,65.916753],[-132.902505,65.913545],[-132.821321,65.927992],[-132.766181,65.971223],[-132.71365,65.997755],[-132.614328,66.029231],[-132.577249,66.023771],[-132.483404,65.989021],[-132.370909,65.993569],[-132.342746,65.978968],[-132.340752,65.955249],[-132.538984,65.886057],[-132.554848,65.857009],[-132.533172,65.833894],[-132.48904,65.819601],[-132.377754,65.766658],[-132.295252,65.716142],[-132.196188,65.62767],[-132.194689,65.597655],[-132.267759,65.537702],[-132.345872,65.443418],[-132.541697,65.340816],[-132.566422,65.300255],[-132.596887,65.280249],[-132.762484,65.22501],[-132.773234,65.20341],[-132.768093,65.184756],[-132.751816,65.173176],[-132.708096,65.167156],[-132.609912,65.181449],[-132.579446,65.18458],[-132.540148,65.170056],[-132.538314,65.109148],[-132.516066,65.094162],[-132.38127,65.075068],[-132.35259,65.057248],[-132.353826,65.038506],[-132.38088,65.021686],[-132.480954,64.970226],[-132.497,64.957481],[-132.497357,64.912679],[-132.5048,64.883741],[-132.583813,64.841828],[-132.601128,64.825909],[-132.599678,64.808551],[-132.588104,64.794082],[-132.553689,64.780228],[-132.401732,64.777438],[-132.32068,64.762716],[-132.106271,64.702148],[-132.052169,64.684197],[-131.893207,64.577201],[-131.752313,64.544945],[-131.729006,64.533816],[-131.715987,64.515029],[-131.730275,64.488882],[-131.790375,64.425963],[-131.802779,64.406561],[-131.796808,64.387906],[-131.763734,64.380512],[-131.585914,64.38026],[-131.512795,64.393432],[-131.449618,64.415965],[-131.399262,64.451385],[-131.358772,64.458471],[-131.265081,64.447046],[-131.106718,64.400903],[-131.021766,64.324416],[-131.026133,64.298093],[-131.012076,64.272824],[-130.981688,64.259465],[-130.930838,64.219233],[-130.91332,64.192514],[-130.913013,64.167608],[-130.94128,64.140505],[-130.929701,64.125465],[-130.871979,64.080608],[-130.846661,64.048802],[-130.791855,64.03051],[-130.757726,63.993047],[-130.660574,63.950519],[-130.51288,63.92013],[-130.363614,63.850213],[-130.282557,63.822561],[-130.139597,63.807839],[-130.117916,63.79337],[-130.12081,63.773133],[-130.145123,63.761839],[-130.25959,63.737406],[-130.298448,63.721025],[-130.302607,63.703711],[-130.28499,63.685935],[-130.243572,63.678332],[-130.14169,63.697613],[-130.110681,63.695031],[-130.097662,63.679112],[-130.081743,63.650196],[-130.063039,63.635628],[-129.975989,63.615655],[-129.945524,63.586355],[-129.887801,63.554824],[-129.855068,63.5217],[-129.844938,63.485786],[-129.905319,63.405772],[-129.948342,63.375692],[-130.101667,63.318794],[-130.139778,63.293349],[-130.133604,63.276452],[-130.059732,63.261203],[-129.978675,63.215753],[-129.905682,63.187408],[-129.870339,63.156899],[-129.827497,63.091761],[-129.734427,63.070129],[-129.629782,63.068272],[-129.611775,63.058681],[-129.617483,63.037291],[-129.713937,62.930603],[-129.714404,62.894787],[-129.728923,62.864872],[-129.718667,62.831671],[-129.658308,62.776476],[-129.642444,62.756426],[-129.636291,62.728311],[-129.620015,62.712249],[-129.54405,62.688036],[-129.525346,62.673534],[-129.494727,62.619074],[-129.490256,62.598717],[-129.449123,62.580051],[-129.211126,62.513441],[-129.18945,62.490293],[-129.199552,62.470034],[-129.28714,62.441151],[-129.296314,62.425287],[-129.293628,62.411224],[-129.249133,62.388548],[-129.239289,62.373244],[-129.291019,62.32229],[-129.29337,62.294231],[-129.243942,62.23641],[-129.232829,62.21982],[-129.239498,62.201967],[-129.261614,62.183752],[-129.26898,62.166306],[-129.254714,62.152771],[-129.208879,62.135742],[-129.136221,62.125514],[-129.013773,62.131655],[-128.90737,62.118999],[-128.879751,62.11099],[-128.840914,62.072955],[-128.81386,62.063814],[-128.775518,62.068923],[-128.67852,62.112286],[-128.615837,62.122097],[-128.560829,62.116911],[-128.400066,62.033734],[-128.366217,61.990898],[-128.25837,61.927749],[-128.23209,61.883584],[-128.206327,61.865269],[-128.093827,61.841264],[-128.04657,61.813381],[-128.019417,61.779642],[-127.993577,61.711219],[-127.807233,61.618747],[-127.713025,61.588183],[-127.656467,61.552159],[-127.608666,61.532856],[-127.468052,61.51051],[-127.299357,61.512158],[-127.22928,61.494437],[-127.166598,61.464521],[-127.116061,61.404085],[-127.072522,61.369643],[-127.02126,61.236753],[-127.0148,61.197784],[-127.026764,61.126472],[-127.082135,61.093689],[-127.096472,61.081439],[-127.092907,61.070507],[-127.054592,61.051237],[-126.963746,61.063454],[-126.944212,61.052446],[-126.908501,60.950108],[-126.918059,60.884245],[-126.9116,60.859592],[-126.888138,60.833137],[-126.889665,60.795619],[-126.859277,60.769416],[-126.83241,60.764099],[-126.767398,60.77492],[-126.66516,60.762341],[-126.520074,60.800321],[-126.3505,60.780523],[-126.296887,60.784511],[-126.255051,60.793806],[-126.234666,60.808945],[-126.234589,60.843552],[-126.222757,60.855846],[-126.161519,60.865876],[-126.114596,60.86336],[-126.098578,60.828896],[-126.064213,60.816009],[-126.003184,60.808791],[-125.957085,60.865096],[-125.931405,60.882641],[-125.89916,60.890233],[-125.863756,60.88998],[-125.706949,60.840476],[-125.378699,60.791663],[-125.322499,60.792389],[-125.229741,60.826215],[-125.151634,60.844354],[-124.880486,60.860317],[-124.859557,60.924137],[-124.837282,60.948197],[-124.806509,60.961062],[-124.615748,60.960392],[-124.582597,60.952822],[-124.506478,60.822282],[-124.505028,60.788488],[-124.611227,60.701202],[-124.611304,60.68224],[-124.599444,60.662135],[-124.469218,60.567158],[-124.402838,60.494088],[-124.249337,60.473466],[-124.225486,60.452768],[-124.20453,60.352902],[-124.184688,60.320965],[-124.103274,60.225285],[-123.997361,60.126562],[-123.992296,60.099173],[-124.01312,60.060106],[-124.010824,60.046131],[-123.993719,60.040495],[-123.879488,60.039715],[-123.842074,60.020214],[-123.819157,60.001087]]],[[[-139.043135,69.576892],[-139.125741,69.539319],[-139.256997,69.57854],[-139.29139,69.597876],[-139.139614,69.6496],[-139.072669,69.647633],[-138.931541,69.616937],[-138.878856,69.589702],[-139.043135,69.576892]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"USA-3563","diss_me":3563,"iso_3166_2":"US-AK","wikipedia":"http://en.wikipedia.org/wiki/Alaska","iso_a2":"US","adm0_sr":6,"name":"Alaska","name_alt":"AK|Alaska","name_local":null,"type":"State","type_en":"State","code_local":"US02","code_hasc":"US.AK","note":null,"hasc_maybe":null,"region":"West","region_cod":null,"provnum_ne":0,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":"Alaska","postal":"AK","area_sqkm":0,"sameascity":-99,"labelrank":0,"name_len":6,"mapcolor9":1,"mapcolor13":1,"fips":"US02","fips_alt":null,"woe_id":2347560,"woe_label":"Alaska, US, United States","woe_name":"Alaska","latitude":65.3609,"longitude":-151.604,"sov_a3":"US1","adm0_a3":"USA","adm0_label":2,"admin":"United States of America","geonunit":"United States of America","gu_a3":"USA","gn_id":5879092,"gn_name":"Alaska","gns_id":-1,"gns_name":null,"gn_level":1,"gn_region":null,"gn_a1_code":"US.AK","region_sub":"Pacific","sub_code":null,"gns_level":-1,"gns_lang":null,"gns_adm1":null,"gns_region":null,"min_label":3.5,"max_label":7.5,"min_zoom":2,"wikidataid":"Q797","name_ar":"ألاسكا","name_bn":"আলাস্কা","name_de":"Alaska","name_en":"Alaska","name_es":"Alaska","name_fr":"Alaska","name_el":"Αλάσκα","name_hi":"अलास्का","name_hu":"Alaszka","name_id":"Alaska","name_it":"Alaska","name_ja":"アラスカ州","name_ko":"알래스카","name_nl":"Alaska","name_pl":"Alaska","name_pt":"Alasca","name_ru":"Аляска","name_sv":"Alaska","name_tr":"Alaska","name_vi":"Alaska","name_zh":"阿拉斯加州","ne_id":1159308731,"name_he":"אלסקה","name_uk":"Аляска","name_ur":"الاسکا","name_fa":"آلاسکا","name_zht":"阿拉斯加州","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[-178.194518,51.603676,-130.014073,71.407687],"geometry":{"type":"MultiPolygon","coordinates":[[[[-139.056519,60.001582],[-139.043445,59.993243],[-138.868754,59.945749],[-138.705456,59.901331],[-138.632257,59.778285],[-138.453636,59.683385],[-138.317625,59.611117],[-138.187451,59.541947],[-138.001134,59.442938],[-137.870572,59.373581],[-137.696626,59.281131],[-137.593299,59.226254],[-137.543696,59.119445],[-137.484161,58.991235],[-137.520877,58.915374],[-137.438579,58.903125],[-137.277558,58.988214],[-137.126199,59.040948],[-136.93931,59.106108],[-136.81327,59.150031],[-136.578739,59.152251],[-136.466728,59.279945],[-136.466344,59.459088],[-136.347845,59.456034],[-136.277983,59.480324],[-136.247133,59.532905],[-136.321829,59.604832],[-136.097164,59.638374],[-135.934644,59.662642],[-135.70259,59.728758],[-135.475937,59.793281],[-135.367854,59.743304],[-135.260781,59.695008],[-135.05103,59.578663],[-135.03666,59.550703],[-135.050843,59.496057],[-135.071311,59.441433],[-134.94377,59.288272],[-134.907241,59.271211],[-134.802409,59.249974],[-134.677225,59.199283],[-134.621981,59.155305],[-134.440756,59.085333],[-134.410214,59.056241],[-134.393059,59.009165],[-134.363527,58.968724],[-134.329651,58.939709],[-134.296994,58.898499],[-134.218519,58.849896],[-134.069204,58.795535],[-133.965745,58.757863],[-133.820742,58.705052],[-133.673926,58.597144],[-133.546392,58.503486],[-133.401103,58.410882],[-133.422576,58.337065],[-133.275299,58.222851],[-133.120424,58.077744],[-133.001409,57.948973],[-132.916842,57.87698],[-132.815532,57.772697],[-132.691507,57.645113],[-132.550481,57.499907],[-132.44248,57.406732],[-132.301663,57.276324],[-132.232158,57.19853],[-132.279415,57.145345],[-132.337989,57.07946],[-132.157017,57.048193],[-132.03152,57.02655],[-132.062913,56.95337],[-132.104282,56.856789],[-131.962509,56.818699],[-131.866159,56.792838],[-131.886,56.742114],[-131.833085,56.684809],[-131.824274,56.589986],[-131.651519,56.596083],[-131.575115,56.598819],[-131.471893,56.55673],[-131.3358,56.501228],[-131.199404,56.449218],[-131.082922,56.404822],[-130.930217,56.378598],[-130.741681,56.340827],[-130.649072,56.26367],[-130.477097,56.230568],[-130.413146,56.122518],[-130.214705,56.082835],[-130.097866,56.10929],[-130.055958,56.065235],[-130.022884,56.014511],[-130.014073,55.950538],[-130.025081,55.888212],[-130.07464,55.836027],[-130.111977,55.779799],[-130.137065,55.719385],[-130.146518,55.654489],[-130.140421,55.585034],[-130.120426,55.524411],[-130.059474,55.412307],[-130.039264,55.343598],[-130.036551,55.297917],[-130.171842,55.137],[-130.218506,55.060261],[-130.21409,55.025895],[-130.312533,54.945948],[-130.493242,54.834173],[-130.575331,54.769683],[-130.615794,54.79092],[-130.849605,54.807608],[-130.934612,54.950397],[-130.9797,55.061184],[-131.047859,55.157665],[-131.045898,55.179583],[-130.983935,55.243963],[-130.750388,55.296983],[-130.748218,55.318022],[-130.835059,55.332073],[-130.855961,55.355123],[-130.879812,55.459504],[-130.873401,55.55113],[-130.879653,55.611829],[-130.918566,55.735975],[-130.977014,55.811945],[-131.127675,55.960151],[-131.140364,55.997515],[-131.074012,56.044383],[-131.032769,56.088098],[-131.287586,56.012083],[-131.635265,55.932246],[-131.784201,55.876534],[-131.815463,55.85421],[-131.826158,55.835357],[-131.799055,55.782821],[-131.803295,55.765946],[-131.833601,55.734898],[-131.869411,55.64715],[-131.945013,55.554129],[-131.983411,55.535013],[-132.119009,55.569785],[-132.15544,55.599558],[-132.223423,55.721044],[-132.207532,55.753388],[-132.157972,55.780656],[-132.090692,55.839543],[-132.005735,55.93007],[-131.843835,56.160091],[-131.738026,56.161223],[-131.551346,56.206805],[-131.844247,56.229645],[-131.887912,56.241632],[-131.927292,56.272998],[-131.962328,56.323699],[-132.021934,56.38007],[-132.133275,56.399835],[-132.182027,56.420643],[-132.255591,56.48911],[-132.304991,56.51986],[-132.332018,56.557895],[-132.336671,56.603104],[-132.357654,56.6259],[-132.434443,56.634118],[-132.475939,56.649664],[-132.487128,56.766405],[-132.63952,56.79643],[-132.701944,56.82227],[-132.8022,56.895153],[-132.829869,56.930639],[-132.838812,56.960192],[-132.814263,57.0407],[-132.824601,57.055795],[-132.913409,57.047479],[-133.465851,57.172174],[-133.436655,57.336859],[-133.538948,57.554157],[-133.648713,57.642301],[-133.626954,57.676534],[-133.603389,57.694672],[-133.554219,57.695079],[-133.342348,57.631105],[-133.142825,57.555146],[-133.117062,57.566198],[-133.435726,57.727049],[-133.515465,57.775125],[-133.535202,57.832957],[-133.536444,57.863862],[-133.51112,57.880111],[-133.212045,57.865697],[-133.194318,57.877705],[-133.497404,57.92466],[-133.559361,57.924451],[-133.62574,57.856984],[-133.65726,57.840988],[-133.722321,57.844251],[-133.744129,57.854611],[-133.821363,57.936361],[-133.894482,57.993259],[-134.031092,58.072163],[-134.056723,58.128391],[-134.063337,58.211074],[-134.045248,58.289263],[-133.933627,58.467857],[-133.888517,58.498751],[-133.876734,58.518186],[-133.911149,58.515241],[-133.943861,58.498289],[-134.036157,58.415354],[-134.13121,58.279332],[-134.208829,58.232959],[-134.257641,58.244198],[-134.331458,58.299591],[-134.485454,58.367211],[-134.663608,58.384702],[-134.776135,58.45385],[-134.942507,58.646286],[-134.964776,58.742175],[-134.986123,58.765642],[-135.076452,58.796777],[-135.131851,58.842865],[-135.217374,59.076599],[-135.330313,59.239076],[-135.358449,59.324912],[-135.348946,59.410067],[-135.363668,59.419427],[-135.402532,59.35307],[-135.412733,59.318452],[-135.4841,59.308685],[-135.416951,59.241503],[-135.400153,59.207907],[-135.433744,59.210698],[-135.502315,59.202304],[-135.386146,59.087552],[-135.33406,58.909607],[-135.257012,58.77776],[-135.207091,58.670885],[-135.184558,58.589762],[-135.151928,58.512187],[-135.062038,58.340888],[-135.049711,58.306776],[-135.060484,58.278925],[-135.090251,58.245845],[-135.141535,58.233398],[-135.30254,58.255931],[-135.363151,58.298272],[-135.449943,58.376132],[-135.571793,58.412047],[-135.873455,58.394216],[-135.897537,58.400203],[-135.896351,58.463825],[-135.861727,58.57705],[-135.889556,58.622731],[-136.04549,58.78913],[-136.043112,58.821628],[-135.826379,58.897961],[-135.931694,58.90374],[-136.016602,58.873978],[-136.049368,58.893204],[-136.100631,58.999859],[-136.133699,59.039553],[-136.150031,59.048078],[-136.159484,58.946795],[-136.123521,58.893457],[-136.118407,58.862607],[-136.124191,58.819617],[-136.146828,58.788812],[-136.186308,58.77019],[-136.225842,58.765455],[-136.299011,58.7869],[-136.380249,58.827286],[-136.451149,58.846336],[-136.477605,58.862508],[-136.511168,58.907102],[-136.566209,58.940896],[-136.830969,58.983819],[-136.988996,59.034488],[-137.002125,59.021151],[-136.952824,58.966944],[-136.948072,58.934908],[-136.987909,58.925141],[-137.059018,58.873714],[-137.038402,58.866639],[-136.963057,58.883536],[-136.879078,58.881525],[-136.740123,58.850203],[-136.613928,58.809279],[-136.568198,58.78634],[-136.549334,58.752381],[-136.533525,58.740241],[-136.410116,58.700658],[-136.404172,58.679773],[-136.483757,58.617667],[-136.31989,58.624489],[-136.2246,58.602264],[-136.102905,58.506298],[-136.061486,58.452707],[-136.055982,58.384163],[-136.081251,58.36419],[-136.129618,58.350391],[-136.462388,58.327968],[-136.582612,58.245208],[-136.607419,58.243989],[-136.698913,58.266467],[-136.864999,58.332407],[-137.071937,58.395194],[-137.544004,58.581181],[-137.556923,58.589959],[-137.564625,58.625885],[-137.597073,58.644221],[-137.661101,58.659931],[-137.749986,58.707063],[-137.863695,58.78556],[-137.934007,58.846875],[-137.96088,58.891007],[-138.026919,58.941467],[-138.240704,59.046837],[-138.352479,59.087299],[-138.451337,59.110085],[-138.53717,59.115095],[-138.560321,59.129157],[-138.520685,59.152251],[-138.514898,59.165896],[-138.704215,59.18755],[-138.884333,59.2369],[-139.340971,59.375658],[-139.576823,59.462439],[-139.714463,59.503967],[-139.773272,59.527302],[-139.799109,59.546264],[-139.766063,59.566084],[-139.674104,59.586804],[-139.611628,59.610315],[-139.513056,59.698117],[-139.505588,59.72633],[-139.558503,59.790205],[-139.582173,59.848311],[-139.581138,59.880534],[-139.569149,59.912362],[-139.554112,59.933324],[-139.512306,59.953549],[-139.483005,59.963778],[-139.446882,59.956856],[-139.330974,59.877019],[-139.314643,59.847927],[-139.320018,59.738734],[-139.286713,59.610941],[-139.276248,59.620345],[-139.265602,59.662609],[-139.25873,59.743326],[-139.245706,59.782086],[-139.2208,59.819868],[-139.178863,59.839863],[-139.048304,59.828239],[-138.988074,59.835007],[-139.242504,59.892784],[-139.402492,60.000988],[-139.431433,60.012249],[-139.51892,60.017116],[-139.611653,59.973446],[-139.850193,59.830711],[-139.91688,59.805673],[-140.216733,59.726638],[-140.419848,59.710719],[-140.648386,59.723177],[-140.843154,59.748863],[-141.331911,59.873767],[-141.408288,59.902804],[-141.294626,59.980005],[-141.289949,60.004141],[-141.32956,60.082815],[-141.362167,60.105293],[-141.408727,60.117674],[-141.421697,60.108841],[-141.422164,60.085506],[-141.409708,60.042275],[-141.447073,60.019434],[-141.530192,59.994792],[-141.670158,59.969875],[-142.104113,60.033442],[-142.548606,60.086045],[-142.945635,60.096954],[-143.506119,60.055041],[-143.805068,60.012898],[-143.979501,60.008789],[-144.147215,60.016391],[-144.160937,60.045824],[-144.084299,60.063028],[-144.088537,60.084342],[-144.185484,60.150743],[-144.332632,60.191008],[-144.529985,60.205235],[-144.642949,60.224648],[-144.671576,60.249246],[-144.741392,60.272702],[-144.85242,60.295081],[-144.901331,60.335182],[-144.862469,60.459206],[-144.824437,60.533617],[-144.786557,60.584626],[-144.691138,60.669111],[-144.724415,60.66286],[-144.86309,60.600897],[-144.984014,60.536923],[-145.096022,60.45368],[-145.162709,60.415382],[-145.248287,60.380138],[-145.381766,60.388564],[-145.56315,60.440705],[-145.718439,60.467578],[-145.847732,60.469226],[-145.898892,60.478169],[-145.810628,60.524674],[-145.759833,60.561983],[-145.690223,60.62198],[-145.674928,60.651126],[-146.149032,60.660695],[-146.16642,60.692292],[-146.167093,60.71555],[-146.182337,60.734743],[-146.251042,60.749058],[-146.347187,60.738127],[-146.502989,60.700796],[-146.570478,60.729162],[-146.546399,60.745125],[-146.495524,60.756804],[-146.391989,60.810868],[-146.53193,60.838872],[-146.603552,60.870963],[-146.638434,60.897319],[-146.636056,60.992527],[-146.599109,61.053534],[-146.284889,61.112651],[-146.384392,61.135854],[-146.582728,61.127845],[-146.715896,61.077539],[-146.874028,61.004908],[-146.980169,60.977805],[-147.034326,60.996174],[-147.105952,61.002535],[-147.19504,60.996844],[-147.254907,60.978299],[-147.285603,60.946768],[-147.321081,60.92551],[-147.361387,60.914502],[-147.390558,60.918039],[-147.433424,60.950284],[-147.523289,60.970334],[-147.567265,60.994933],[-147.592588,60.979431],[-147.623284,60.933025],[-147.655686,60.909514],[-147.807613,60.885377],[-147.891123,60.88987],[-147.990755,60.948274],[-148.00512,60.968576],[-147.971169,61.019069],[-147.751855,61.218955],[-147.773791,61.217812],[-147.844821,61.186391],[-147.986363,61.106499],[-148.049408,61.08268],[-148.157928,61.079681],[-148.208674,61.088261],[-148.270014,61.081801],[-148.34187,61.060411],[-148.388792,61.036944],[-148.410754,61.011467],[-148.395846,61.007127],[-148.287378,61.036252],[-148.225882,61.044052],[-148.208674,61.029924],[-148.29314,60.939693],[-148.344427,60.853549],[-148.393313,60.831895],[-148.471061,60.83551],[-148.556147,60.826985],[-148.557386,60.802902],[-148.398688,60.734018],[-148.341277,60.724328],[-148.267896,60.699708],[-148.256734,60.675318],[-148.284252,60.609323],[-148.305,60.58333],[-148.338434,60.569839],[-148.467779,60.572069],[-148.509587,60.565246],[-148.596635,60.523795],[-148.640121,60.48943],[-148.624282,60.486441],[-148.549143,60.514808],[-148.439824,60.530002],[-148.29637,60.532068],[-148.189476,60.547108],[-148.119196,60.575167],[-148.050699,60.567213],[-147.984012,60.523333],[-147.964088,60.484892],[-147.990961,60.451867],[-148.045997,60.428302],[-148.129196,60.414217],[-148.1817,60.393057],[-148.203557,60.364922],[-148.215857,60.32314],[-148.218647,60.267692],[-148.197617,60.167772],[-148.213764,60.154259],[-148.245003,60.146821],[-148.291357,60.145481],[-148.333111,60.122014],[-148.430703,59.989134],[-148.465092,59.974687],[-148.506071,59.988947],[-148.542401,59.987398],[-148.574077,59.970084],[-148.643582,59.956856],[-148.750863,59.94776],[-148.842745,59.95122],[-149.004258,59.979983],[-149.070121,60.000241],[-149.121589,60.033519],[-149.266595,59.998275],[-149.304937,60.013645],[-149.395269,60.105732],[-149.414852,60.100261],[-149.432216,60.001043],[-149.45971,59.966261],[-149.54916,59.894333],[-149.598047,59.770462],[-149.612878,59.766848],[-149.629621,59.784668],[-149.684657,59.895311],[-149.713854,59.919602],[-149.794779,59.855826],[-149.803667,59.832733],[-149.782455,59.750335],[-149.801291,59.737954],[-149.965001,59.782295],[-150.00531,59.784415],[-150.015953,59.776977],[-149.960142,59.713048],[-149.966525,59.690053],[-150.198062,59.566545],[-150.258471,59.570962],[-150.296505,59.583266],[-150.338157,59.581322],[-150.48533,59.535278],[-150.526001,59.537299],[-150.581554,59.564578],[-150.607391,59.563392],[-150.621162,59.535069],[-150.622893,59.479621],[-150.677464,59.426964],[-150.852776,59.341853],[-150.899311,59.302686],[-150.934503,59.249095],[-150.960755,59.243986],[-151.06359,59.278396],[-151.182756,59.300775],[-151.199241,59.289668],[-151.163016,59.25695],[-151.170715,59.2369],[-151.222287,59.229408],[-151.287505,59.232297],[-151.366362,59.245579],[-151.477003,59.23055],[-151.619369,59.187297],[-151.7382,59.188527],[-151.903849,59.259763],[-151.949505,59.265069],[-151.964051,59.285119],[-151.931702,59.342732],[-151.884626,59.386347],[-151.84995,59.406353],[-151.692596,59.462186],[-151.512711,59.482697],[-151.39959,59.516316],[-151.262132,59.585617],[-151.189422,59.637681],[-151.046484,59.771803],[-151.057339,59.782163],[-151.08943,59.789425],[-151.403672,59.662247],[-151.450105,59.650415],[-151.512607,59.651294],[-151.763831,59.700029],[-151.816928,59.720903],[-151.853205,59.782086],[-151.783469,59.921151],[-151.734506,59.988332],[-151.611876,60.092043],[-151.451473,60.202653],[-151.395973,60.27446],[-151.312672,60.466435],[-151.317528,60.553568],[-151.355046,60.65986],[-151.356466,60.722966],[-151.321791,60.742906],[-150.953779,60.841201],[-150.779472,60.914809],[-150.44125,61.023563],[-150.349138,61.022629],[-150.281492,60.985221],[-150.202789,60.95525],[-150.113053,60.932816],[-149.997556,60.935145],[-149.856275,60.96227],[-149.632464,60.951987],[-149.172826,60.880422],[-149.075081,60.876412],[-149.07131,60.885531],[-149.142235,60.935683],[-149.459114,60.964753],[-149.59249,60.993823],[-149.967739,61.121748],[-150.053265,61.171098],[-150.018537,61.194246],[-149.92676,61.213264],[-149.89529,61.23171],[-149.882008,61.263702],[-149.829196,61.307527],[-149.7369,61.363337],[-149.595978,61.41728],[-149.329071,61.497381],[-149.433535,61.500798],[-149.625436,61.48601],[-149.695251,61.470717],[-149.823744,61.413358],[-149.873688,61.372994],[-149.945209,61.294244],[-149.975699,61.279358],[-150.108919,61.26791],[-150.471792,61.259978],[-150.533208,61.300243],[-150.567239,61.306801],[-150.61225,61.301143],[-150.945484,61.198224],[-151.064985,61.145731],[-151.150148,61.085833],[-151.281872,61.041954],[-151.46013,61.014104],[-151.593507,60.97964],[-151.733962,60.910722],[-151.781659,60.857944],[-151.784425,60.833137],[-151.750474,60.75487],[-151.785123,60.740225],[-151.866177,60.734073],[-151.996219,60.68224],[-152.270726,60.528112],[-152.306589,60.472225],[-152.305064,60.452999],[-152.260314,60.409438],[-152.291526,60.381126],[-152.368834,60.336346],[-152.540916,60.265418],[-152.653932,60.238447],[-152.727313,60.237074],[-152.797903,60.247181],[-152.923372,60.292862],[-153.02502,60.295653],[-153.031274,60.289237],[-152.892937,60.24038],[-152.752375,60.177495],[-152.664759,60.125266],[-152.630109,60.08377],[-152.628559,60.041088],[-152.660107,59.99722],[-152.759456,59.920887],[-152.856919,59.898101],[-153.10605,59.875052],[-153.186355,59.856859],[-153.211211,59.842708],[-153.040085,59.810507],[-153.024633,59.793995],[-153.048147,59.730055],[-153.093622,59.709126],[-153.236172,59.670937],[-153.363993,59.659874],[-153.383474,59.667213],[-153.359625,59.717497],[-153.366448,59.729846],[-153.414403,59.740129],[-153.482615,59.720958],[-153.652529,59.647009],[-153.670717,59.634814],[-153.609378,59.615017],[-153.62227,59.598482],[-153.714333,59.545254],[-153.752598,59.509856],[-153.814146,59.473733],[-154.088316,59.363298],[-154.067488,59.336381],[-154.138803,59.240152],[-154.178335,59.15559],[-154.129811,59.119852],[-153.89954,59.078049],[-153.787919,59.06792],[-153.656377,59.038674],[-153.418279,58.959968],[-153.338955,58.908552],[-153.32707,58.884316],[-153.334409,58.857883],[-153.362932,58.822199],[-153.437606,58.754842],[-153.617337,58.654713],[-153.698573,58.626346],[-153.82151,58.604121],[-153.861948,58.58785],[-154.019896,58.492972],[-154.062451,58.441754],[-154.055733,58.39716],[-154.085888,58.365838],[-154.289028,58.304348],[-154.28179,58.293449],[-154.20805,58.288791],[-154.235129,58.234639],[-154.247013,58.159427],[-154.282282,58.146782],[-154.409226,58.147309],[-154.570585,58.118053],[-154.581953,58.109791],[-154.584925,58.055683],[-155.006863,58.016044],[-155.099261,57.913311],[-155.147373,57.881814],[-155.312736,57.807117],[-155.41397,57.777037],[-155.529623,57.758898],[-155.59024,57.733608],[-155.595846,57.701077],[-155.628687,57.673073],[-155.72894,57.626612],[-155.77798,57.56822],[-155.813688,57.559024],[-156.00019,57.544962],[-156.037343,57.526516],[-156.055379,57.447579],[-156.089898,57.445074],[-156.155992,57.463443],[-156.242188,57.449205],[-156.435872,57.359963],[-156.478402,57.327872],[-156.4737,57.310711],[-156.443573,57.29366],[-156.397631,57.240585],[-156.400498,57.204825],[-156.475145,57.105201],[-156.50132,57.089798],[-156.59204,57.065101],[-156.628987,57.009982],[-156.71265,57.016058],[-156.779881,57.005621],[-156.823859,56.968828],[-156.87171,56.947635],[-156.923439,56.942076],[-156.988448,56.912929],[-157.066687,56.860195],[-157.139137,56.826555],[-157.205774,56.812064],[-157.270577,56.808493],[-157.333567,56.815887],[-157.390232,56.809812],[-157.440566,56.790333],[-157.489658,56.759736],[-157.528726,56.673186],[-157.578387,56.634448],[-157.609753,56.627702],[-157.673885,56.633448],[-157.770724,56.651685],[-157.86909,56.645225],[-158.027868,56.59215],[-158.078303,56.552028],[-157.978259,56.543162],[-157.928702,56.531693],[-157.929993,56.520476],[-157.982186,56.509577],[-158.070964,56.510346],[-158.124374,56.501052],[-158.189383,56.478156],[-158.3525,56.453503],[-158.414408,56.435837],[-158.537397,56.335422],[-158.552152,56.312713],[-158.536364,56.30767],[-158.467323,56.318272],[-158.38614,56.301573],[-158.343974,56.280336],[-158.316997,56.254134],[-158.291416,56.203652],[-158.275656,56.196258],[-158.431849,56.111455],[-158.47611,56.075496],[-158.504688,56.062104],[-158.523343,56.072442],[-158.542668,56.166826],[-158.55445,56.182855],[-158.591167,56.184525],[-158.626746,56.154708],[-158.704881,56.04312],[-158.789863,55.986914],[-159.429435,55.84274],[-159.52323,55.810001],[-159.541314,55.748488],[-159.567621,55.695205],[-159.610072,55.652808],[-159.659653,55.625903],[-159.670274,55.64503],[-159.665339,55.794894],[-159.678489,55.824656],[-159.743034,55.843773],[-159.771379,55.841114],[-159.810421,55.83272],[-159.87437,55.800289],[-159.913542,55.792203],[-159.962299,55.794894],[-160.045652,55.762924],[-160.243804,55.660532],[-160.373204,55.635109],[-160.407413,55.613818],[-160.462682,55.557799],[-160.499319,55.537287],[-160.553501,55.535496],[-160.625231,55.552371],[-160.682898,55.540429],[-160.726514,55.499659],[-160.770827,55.483542],[-160.896736,55.513612],[-160.952184,55.493045],[-161.024221,55.440443],[-161.099516,55.405715],[-161.178013,55.388873],[-161.381926,55.371295],[-161.46386,55.382512],[-161.480526,55.397805],[-161.476701,55.464887],[-161.44381,55.513304],[-161.413346,55.536144],[-161.372728,55.556304],[-161.3133,55.558622],[-161.202092,55.543538],[-161.214702,55.559765],[-161.255113,55.57898],[-161.357458,55.612192],[-161.45877,55.629133],[-161.516958,55.61841],[-161.598761,55.592834],[-161.654313,55.563358],[-161.683563,55.529948],[-161.720382,55.420722],[-161.741569,55.391136],[-161.980339,55.198644],[-162.073977,55.139318],[-162.166582,55.143768],[-162.211489,55.121334],[-162.274637,55.073225],[-162.332928,55.05023],[-162.386361,55.052351],[-162.42791,55.061502],[-162.457495,55.077696],[-162.452378,55.092813],[-162.412536,55.106865],[-162.426824,55.145416],[-162.495244,55.208466],[-162.541882,55.242722],[-162.630378,55.246655],[-162.64415,55.218002],[-162.614307,55.071467],[-162.618906,55.038453],[-162.674354,54.996595],[-162.819566,54.94998],[-162.865041,54.954528],[-162.995885,55.046462],[-163.119624,55.064699],[-163.127815,55.034783],[-163.10022,54.973644],[-163.131123,54.916548],[-163.220575,54.863375],[-163.288632,54.837579],[-163.335296,54.839183],[-163.33788,54.876393],[-163.296333,54.949255],[-163.285687,55.009976],[-163.305944,55.058547],[-163.303644,55.095867],[-163.278813,55.121828],[-163.114483,55.193942],[-163.045339,55.20472],[-163.008235,55.186867],[-162.961986,55.183813],[-162.906588,55.195546],[-162.871604,55.218596],[-162.857133,55.253005],[-162.786235,55.297093],[-162.658981,55.350783],[-162.513356,55.450001],[-162.349362,55.594746],[-162.157124,55.71944],[-161.936622,55.824195],[-161.697334,55.907208],[-161.21563,56.021411],[-161.178606,56.014467],[-161.222582,55.977432],[-161.192507,55.954306],[-161.145145,55.95134],[-160.968644,55.96961],[-160.898647,55.993637],[-160.877823,55.970489],[-160.902369,55.941287],[-161.008409,55.911734],[-161.005385,55.887158],[-160.851313,55.771889],[-160.802841,55.754432],[-160.762584,55.756596],[-160.745506,55.771483],[-160.758399,55.854627],[-160.706334,55.870436],[-160.599726,55.874315],[-160.530248,55.86346],[-160.497899,55.837884],[-160.436919,55.816691],[-160.347315,55.799926],[-160.291708,55.805068],[-160.270109,55.832204],[-160.308506,55.864471],[-160.479865,55.935454],[-160.527458,55.965062],[-160.539059,56.006293],[-160.514719,56.059116],[-160.460848,56.137503],[-160.377492,56.241478],[-160.302046,56.31413],[-160.149289,56.396352],[-160.046246,56.437023],[-159.785073,56.561608],[-159.283089,56.688577],[-159.159039,56.770074],[-158.990393,56.860041],[-158.918021,56.882156],[-158.918021,56.84744],[-158.894895,56.816425],[-158.782087,56.79576],[-158.708836,56.788575],[-158.675168,56.794881],[-158.665918,56.827928],[-158.681032,56.887738],[-158.684803,56.944229],[-158.677234,56.99737],[-158.660801,57.039415],[-158.585613,57.114089],[-158.473734,57.19909],[-158.320925,57.297901],[-158.224498,57.342648],[-158.133548,57.366423],[-158.045696,57.409467],[-157.894337,57.511376],[-157.845761,57.528065],[-157.737188,57.54817],[-157.697396,57.539282],[-157.674039,57.513695],[-157.645541,57.497808],[-157.535287,57.483471],[-157.46191,57.506202],[-157.473896,57.518199],[-157.53348,57.525889],[-157.571616,57.540677],[-157.607583,57.601442],[-157.68068,57.638082],[-157.697215,57.679423],[-157.683987,57.743913],[-157.621173,57.895228],[-157.610865,58.050827],[-157.55503,58.13997],[-157.442683,58.172182],[-157.193706,58.194177],[-157.339385,58.23453],[-157.393591,58.234815],[-157.488392,58.253701],[-157.524438,58.350754],[-157.523609,58.421341],[-157.460899,58.503013],[-157.228846,58.640914],[-156.974649,58.736341],[-157.009042,58.744163],[-157.040485,58.772541],[-156.923233,58.963692],[-156.808899,59.134277],[-156.963361,58.988851],[-157.142032,58.877647],[-157.66572,58.748503],[-158.021927,58.640189],[-158.190935,58.61425],[-158.302578,58.641793],[-158.389628,58.745669],[-158.439314,58.782616],[-158.503188,58.850357],[-158.476266,58.938369],[-158.425622,58.999288],[-158.314493,59.009318],[-158.189226,58.979941],[-158.080528,58.977436],[-158.220595,59.037487],[-158.422807,59.089826],[-158.514427,59.07283],[-158.584476,58.987796],[-158.678266,58.929371],[-158.760587,58.950124],[-158.809473,58.973866],[-158.77555,58.902553],[-158.837741,58.793953],[-158.861381,58.718763],[-158.772112,58.520328],[-158.788624,58.440952],[-158.950705,58.404554],[-159.082687,58.469769],[-159.358227,58.721279],[-159.454214,58.792899],[-159.670274,58.911134],[-159.741433,58.894292],[-159.832202,58.835965],[-159.920208,58.81987],[-160.152596,58.905915],[-160.260809,58.971547],[-160.363124,59.051176],[-160.519913,59.007308],[-160.656649,58.955057],[-160.817079,58.871704],[-160.924278,58.872429],[-161.215916,58.800963],[-161.246845,58.799458],[-161.287875,58.760961],[-161.328106,58.743702],[-161.361334,58.669544],[-161.755444,58.612031],[-162.14493,58.644221],[-162.008684,58.685002],[-161.856471,58.717093],[-161.724387,58.794294],[-161.780534,58.897412],[-161.790274,58.94997],[-161.788672,59.016394],[-161.644391,59.109679],[-161.79446,59.10947],[-161.89076,59.076082],[-161.981037,59.146153],[-162.02331,59.283977],[-161.920137,59.365473],[-161.872232,59.42826],[-161.831693,59.514503],[-161.828695,59.588617],[-161.908638,59.714135],[-162.138135,59.980037],[-162.242495,60.178319],[-162.421347,60.283974],[-162.287789,60.456877],[-162.138883,60.614333],[-161.946595,60.684821],[-161.961995,60.695335],[-162.068267,60.694874],[-162.13803,60.685547],[-162.199913,60.634306],[-162.265025,60.595217],[-162.468708,60.394683],[-162.599683,60.296993],[-162.684974,60.268956],[-162.547721,60.231053],[-162.526948,60.199116],[-162.500488,60.126562],[-162.535654,60.038408],[-162.570743,59.989727],[-162.73262,59.99365],[-162.877856,59.922755],[-163.219386,59.845598],[-163.680391,59.801521],[-163.906889,59.806794],[-164.142844,59.896761],[-164.141113,59.948902],[-164.131527,59.994221],[-164.470498,60.149304],[-164.66227,60.303816],[-164.799961,60.307221],[-164.919747,60.348464],[-165.061134,60.412536],[-165.048732,60.464238],[-165.02651,60.500647],[-165.113275,60.526069],[-165.224509,60.523564],[-165.353829,60.541219],[-165.015995,60.740017],[-164.8998,60.873127],[-164.805155,60.892046],[-164.682372,60.871534],[-164.512924,60.81903],[-164.370065,60.795904],[-164.318517,60.771273],[-164.265652,60.724669],[-164.321412,60.646633],[-164.372339,60.591855],[-164.309681,60.60672],[-164.131836,60.69149],[-163.99957,60.766054],[-163.936138,60.758309],[-163.894925,60.74518],[-163.82139,60.668287],[-163.73,60.589976],[-163.528695,60.664563],[-163.420949,60.75743],[-163.511875,60.798145],[-163.62303,60.822227],[-163.906527,60.853802],[-163.837306,60.880422],[-163.655432,60.877478],[-163.586909,60.902977],[-163.65892,60.938221],[-163.749017,60.969719],[-163.99461,60.864712],[-164.44156,60.869985],[-164.75397,60.931322],[-165.065604,60.920676],[-165.114825,60.932816],[-165.175468,60.965687],[-164.999923,61.043668],[-164.875564,61.086767],[-164.868975,61.11175],[-164.941193,61.11487],[-165.077076,61.094205],[-165.137718,61.130119],[-165.12777,61.192445],[-165.150043,61.186864],[-165.203761,61.152828],[-165.279803,61.169648],[-165.344889,61.197707],[-165.310809,61.227634],[-165.243939,61.268767],[-165.273653,61.274864],[-165.333676,61.26613],[-165.392043,61.212308],[-165.37928,61.168769],[-165.380778,61.106301],[-165.480463,61.094875],[-165.565883,61.102368],[-165.627585,61.16521],[-165.69138,61.299924],[-165.863953,61.335684],[-165.906276,61.4038],[-165.797109,61.491185],[-165.845324,61.53624],[-165.961311,61.550874],[-166.09399,61.506742],[-166.15272,61.545963],[-166.163521,61.589007],[-166.168094,61.650816],[-166.131172,61.65732],[-166.100502,61.64507],[-165.834575,61.679392],[-165.808918,61.69608],[-166.019938,61.748276],[-166.078823,61.803098],[-165.991387,61.834189],[-165.833852,61.836793],[-165.612805,61.869301],[-165.705798,61.92743],[-165.725253,61.959367],[-165.743934,62.011695],[-165.70727,62.100443],[-165.447648,62.303899],[-165.194511,62.473528],[-165.115601,62.512672],[-164.999716,62.53381],[-164.891867,62.517583],[-164.779214,62.481152],[-164.757871,62.496731],[-164.796111,62.511639],[-164.844402,62.58104],[-164.687978,62.608275],[-164.596305,62.686695],[-164.589432,62.709349],[-164.688986,62.676764],[-164.792701,62.623205],[-164.818668,62.677049],[-164.84541,62.800975],[-164.799651,62.918067],[-164.764072,62.970626],[-164.677462,63.020471],[-164.428123,63.040444],[-164.38425,63.030468],[-164.375077,63.053979],[-164.525197,63.127621],[-164.463289,63.185211],[-164.409055,63.215061],[-164.1076,63.26172],[-163.942856,63.247196],[-163.736228,63.192813],[-163.616312,63.125171],[-163.633753,63.09041],[-163.663571,63.070316],[-163.725737,63.047783],[-163.748991,63.030337],[-163.737855,63.016417],[-163.649359,63.05677],[-163.504356,63.105868],[-163.423172,63.084521],[-163.358835,63.045761],[-163.287857,63.046432],[-163.062237,63.07972],[-162.947723,63.115008],[-162.807757,63.206579],[-162.621489,63.265807],[-162.3598,63.452585],[-162.282803,63.529193],[-162.193298,63.540981],[-162.112476,63.534181],[-162.056227,63.471317],[-161.973984,63.452948],[-161.505433,63.468164],[-161.266016,63.496981],[-161.099722,63.557933],[-160.926709,63.660556],[-160.826508,63.729342],[-160.778553,63.818946],[-160.840461,63.934907],[-160.90397,64.03118],[-160.987532,64.251269],[-161.220102,64.396564],[-161.385674,64.439938],[-161.490706,64.433763],[-161.414612,64.526367],[-161.193048,64.516424],[-161.048795,64.534464],[-160.931952,64.579112],[-160.893714,64.612906],[-160.836017,64.681944],[-160.855911,64.755608],[-160.886969,64.795554],[-160.967482,64.839554],[-161.063239,64.904],[-161.130184,64.925445],[-161.186901,64.92405],[-161.466366,64.794862],[-161.634005,64.792478],[-161.759371,64.816252],[-161.868331,64.742666],[-162.172266,64.678066],[-162.334633,64.612851],[-162.635726,64.450847],[-162.71107,64.377513],[-162.807008,64.374206],[-162.876435,64.516424],[-163.203883,64.652018],[-163.302843,64.605897],[-163.248299,64.563292],[-163.174092,64.532959],[-163.051748,64.519731],[-163.104508,64.478598],[-163.144352,64.423821],[-163.267057,64.475182],[-163.486191,64.549812],[-163.713103,64.588253],[-164.303971,64.583913],[-164.691828,64.507438],[-164.727484,64.523302],[-164.764924,64.529652],[-164.82952,64.511382],[-164.85727,64.480301],[-164.899491,64.460669],[-164.978761,64.453659],[-165.138158,64.465217],[-165.446174,64.512854],[-166.142774,64.582782],[-166.325114,64.625716],[-166.481383,64.728087],[-166.478101,64.797543],[-166.408674,64.826953],[-166.415237,64.926533],[-166.550862,64.952988],[-166.826943,65.096074],[-166.92841,65.157059],[-166.906396,65.163827],[-166.856786,65.147292],[-166.762529,65.134911],[-166.531018,65.15473],[-166.451643,65.247334],[-166.279665,65.273789],[-166.121482,65.260715],[-166.157037,65.28583],[-166.197395,65.305572],[-166.609385,65.352759],[-166.665377,65.33829],[-167.403988,65.422104],[-167.987234,65.567783],[-168.035009,65.595611],[-168.088364,65.65775],[-168.009687,65.719142],[-167.930571,65.748157],[-167.926979,65.714341],[-167.91437,65.681184],[-167.58005,65.758308],[-167.405306,65.859338],[-167.074215,65.877059],[-166.997217,65.904942],[-166.894458,65.959182],[-166.747671,66.05183],[-166.540113,66.100642],[-166.398726,66.144433],[-166.214577,66.170273],[-166.057404,66.127229],[-166.008931,66.12134],[-165.723677,66.112551],[-165.629911,66.131206],[-165.589991,66.145115],[-165.560225,66.167076],[-165.840259,66.245057],[-165.811863,66.288464],[-165.776154,66.31905],[-165.449404,66.409896],[-165.198309,66.439922],[-165.06395,66.437834],[-164.674129,66.555004],[-164.460499,66.588446],[-164.058276,66.61077],[-163.727675,66.61645],[-163.638223,66.574669],[-163.815706,66.58348],[-163.89397,66.575889],[-163.838237,66.561573],[-163.775477,66.531108],[-163.793718,66.492634],[-163.902859,66.378376],[-163.89397,66.286915],[-163.964973,66.257296],[-164.033754,66.215548],[-163.695378,66.083822],[-163.171456,66.07545],[-162.886486,66.099225],[-162.721768,66.059795],[-162.586866,66.050852],[-162.214279,66.071056],[-161.933676,66.042898],[-161.816319,66.053642],[-161.556852,66.250528],[-161.455411,66.281411],[-161.345081,66.247167],[-161.201084,66.219371],[-161.109231,66.23952],[-161.034301,66.188807],[-161.069542,66.294639],[-161.120291,66.334321],[-161.544424,66.407029],[-161.828153,66.370829],[-161.916907,66.411841],[-161.88758,66.493074],[-162.191179,66.693135],[-162.317735,66.733707],[-162.467442,66.735641],[-162.543639,66.805118],[-162.607433,66.894393],[-162.478319,66.930802],[-162.361609,66.947314],[-162.253553,66.918629],[-162.131416,66.80135],[-162.01765,66.784112],[-162.050723,66.667273],[-161.909596,66.559607],[-161.591036,66.45951],[-161.335935,66.496359],[-161.155791,66.495293],[-161.048122,66.474232],[-160.784494,66.384375],[-160.650549,66.373103],[-160.231711,66.420289],[-160.227322,66.50852],[-160.262564,66.57245],[-160.360878,66.612528],[-160.643781,66.60498],[-160.864024,66.670865],[-161.051456,66.652782],[-161.39805,66.55185],[-161.571734,66.591599],[-161.680901,66.64552],[-161.856679,66.70032],[-161.878745,66.803932],[-161.731311,66.922793],[-161.622196,66.979318],[-161.719943,67.02056],[-161.965431,67.049553],[-162.391529,67.01989],[-162.41158,67.060298],[-162.409409,67.103968],[-162.583119,67.018495],[-162.761403,67.036424],[-163.001698,67.027284],[-163.531822,67.102573],[-163.72057,67.195539],[-163.799789,67.270983],[-163.942701,67.477591],[-164.12517,67.606725],[-165.386023,68.045585],[-165.959581,68.155887],[-166.235946,68.277956],[-166.409114,68.307971],[-166.574479,68.320254],[-166.7863,68.359596],[-166.643905,68.408024],[-166.5459,68.424349],[-166.647859,68.373812],[-166.570396,68.361068],[-166.447044,68.390248],[-166.380537,68.425129],[-166.282945,68.573236],[-166.182047,68.797192],[-166.209075,68.885358],[-165.509479,68.867582],[-165.043951,68.882457],[-164.889698,68.902463],[-164.302368,68.936488],[-164.150182,68.961163],[-163.867925,69.036661],[-163.535671,69.17009],[-163.250547,69.345377],[-163.205201,69.392509],[-163.187113,69.380468],[-163.161456,69.38796],[-163.131018,69.454362],[-163.093554,69.610708],[-162.952116,69.758123],[-162.350395,70.094117],[-162.071162,70.227184],[-161.977963,70.287653],[-161.880967,70.331752],[-161.812599,70.289839],[-161.779939,70.277369],[-161.761077,70.257649],[-161.818386,70.24842],[-161.911947,70.205486],[-162.042378,70.176647],[-162.073874,70.161969],[-161.997393,70.165232],[-161.768156,70.196543],[-161.638991,70.234523],[-160.996266,70.304594],[-160.647656,70.420565],[-160.634119,70.446394],[-160.117146,70.591194],[-160.045625,70.585613],[-159.96315,70.568145],[-160.106396,70.472574],[-160.005552,70.447537],[-160.09508,70.333279],[-159.907546,70.331466],[-159.865688,70.278842],[-159.855224,70.324182],[-159.857522,70.389243],[-159.842641,70.453008],[-159.814994,70.497096],[-159.683296,70.477167],[-159.386753,70.524529],[-159.746214,70.53045],[-159.961832,70.634063],[-160.081594,70.634865],[-159.680895,70.786794],[-159.314507,70.878519],[-159.231722,70.876762],[-159.191723,70.859656],[-159.183171,70.831959],[-159.262212,70.813843],[-159.339855,70.781257],[-159.304147,70.752528],[-159.251154,70.748452],[-159.075065,70.772062],[-158.996285,70.801593],[-158.620934,70.799033],[-158.510835,70.820127],[-158.484377,70.841056],[-157.998465,70.845286],[-157.909374,70.860117],[-157.605622,70.941251],[-157.324734,71.039623],[-157.19531,71.09328],[-156.973358,71.230016],[-156.783292,71.31895],[-156.470237,71.407687],[-156.395255,71.396679],[-156.496695,71.379078],[-156.567232,71.341538],[-156.469979,71.291561],[-155.811156,71.188422],[-155.645584,71.182786],[-155.579438,71.121086],[-155.634578,71.061585],[-155.804333,70.995436],[-156.146588,70.927815],[-156.041943,70.902239],[-155.973523,70.841979],[-155.872237,70.83464],[-155.708036,70.857283],[-155.579386,70.894329],[-155.313382,71.014991],[-155.229718,71.082228],[-155.166855,71.099224],[-154.943818,71.083052],[-154.817522,71.048478],[-154.673681,70.987086],[-154.726314,70.92776],[-154.785222,70.894307],[-154.59862,70.847977],[-154.392198,70.838309],[-154.195235,70.80111],[-153.918223,70.877333],[-153.701363,70.893604],[-153.497704,70.891077],[-153.232915,70.932572],[-152.784906,70.876036],[-152.670829,70.890714],[-152.49123,70.880947],[-152.300414,70.846791],[-152.232925,70.81036],[-152.437255,70.733258],[-152.470584,70.653618],[-152.399192,70.620472],[-152.269666,70.61476],[-152.253363,70.568254],[-152.172929,70.556653],[-151.769025,70.560136],[-151.799927,70.53802],[-151.819617,70.511301],[-151.944674,70.452107],[-151.22482,70.418752],[-151.12803,70.451613],[-150.979075,70.464686],[-150.662633,70.509906],[-150.543519,70.490142],[-150.403218,70.443922],[-150.273637,70.434309],[-150.15251,70.443713],[-149.870098,70.509653],[-149.544046,70.512905],[-149.410617,70.491405],[-149.269437,70.500765],[-148.844785,70.425212],[-148.688359,70.416324],[-148.479199,70.317931],[-148.371146,70.314987],[-148.248774,70.356735],[-148.142734,70.355449],[-148.039073,70.315503],[-147.869521,70.303253],[-147.790587,70.240159],[-147.705347,70.217208],[-147.062929,70.170396],[-146.744886,70.191742],[-146.281247,70.186161],[-146.057669,70.156234],[-145.823136,70.160057],[-145.440084,70.050919],[-145.236815,70.033945],[-145.197385,70.008699],[-144.619177,69.982134],[-144.416891,70.039032],[-144.064096,70.054127],[-143.746415,70.101973],[-143.566426,70.101478],[-143.357032,70.089569],[-143.276442,70.095304],[-143.218332,70.116233],[-142.707872,70.033813],[-142.422128,69.939507],[-142.296994,69.869897],[-141.699201,69.770372],[-141.526369,69.714716],[-141.407901,69.653368],[-141.338629,69.646754],[-141.289666,69.664684],[-141.080816,69.659421],[-141.002137,69.650786],[-141.002137,69.358583],[-141.002137,69.066379],[-141.002137,68.774176],[-141.002137,68.481973],[-141.002137,68.189736],[-141.002137,67.897566],[-141.002137,67.605351],[-141.002137,67.313148],[-141.002137,67.020945],[-141.002137,66.728741],[-141.002137,66.436538],[-141.002137,66.144335],[-141.002137,65.852131],[-141.002137,65.559928],[-141.002137,65.267724],[-141.002137,64.975521],[-141.002137,64.683318],[-141.002137,64.391103],[-141.002137,64.098878],[-141.002137,63.806697],[-141.002137,63.514471],[-141.002137,63.22229],[-141.002137,62.930086],[-141.002137,62.637883],[-141.002137,62.34568],[-141.002137,62.053476],[-141.002137,61.761273],[-141.002137,61.469069],[-141.002137,61.176855],[-141.002137,60.884652],[-141.002137,60.592448],[-141.002137,60.300245],[-140.762745,60.259112],[-140.525421,60.218342],[-140.452818,60.299729],[-140.196916,60.237491],[-139.973284,60.183153],[-139.830659,60.252883],[-139.676302,60.328337],[-139.467993,60.333709],[-139.234777,60.33973],[-139.079258,60.343707],[-139.079258,60.279448],[-139.13698,60.172705],[-139.185169,60.083573],[-139.056519,60.001582]]],[[[-166.109856,66.227457],[-166.148639,66.221821],[-166.146468,66.237169],[-166.032522,66.277709],[-165.822198,66.328092],[-165.829872,66.317139],[-165.942295,66.278181],[-166.109856,66.227457]]],[[[-171.463043,63.640023],[-171.447849,63.615677],[-171.343361,63.619632],[-171.196909,63.609118],[-171.034879,63.585498],[-170.874629,63.594001],[-170.672522,63.668829],[-170.551832,63.688462],[-170.430419,63.698855],[-170.299367,63.680606],[-170.171312,63.640924],[-170.121832,63.617512],[-170.082404,63.576665],[-170.056281,63.527182],[-170.017369,63.491729],[-169.777436,63.448015],[-169.62411,63.430547],[-169.587188,63.406596],[-169.554528,63.373495],[-169.427586,63.348325],[-169.295062,63.357531],[-169.221086,63.348589],[-168.996036,63.347292],[-168.716001,63.310609],[-168.761347,63.213764],[-168.852376,63.171236],[-169.109052,63.184925],[-169.36472,63.171126],[-169.470839,63.12126],[-169.559283,63.05822],[-169.571298,62.996773],[-169.622872,62.968561],[-169.676356,62.956102],[-169.719815,62.990105],[-169.777797,63.09375],[-169.818596,63.122347],[-169.863426,63.140387],[-169.988482,63.173126],[-170.1154,63.193868],[-170.189607,63.196351],[-170.243091,63.232287],[-170.272702,63.284275],[-170.323526,63.311125],[-170.424165,63.349259],[-170.527104,63.379284],[-170.848377,63.444367],[-170.95403,63.452948],[-171.061232,63.445895],[-171.176006,63.416209],[-171.287292,63.372154],[-171.401186,63.339239],[-171.519137,63.331999],[-171.631818,63.351203],[-171.737858,63.394215],[-171.790982,63.424713],[-171.819404,63.47726],[-171.81793,63.529819],[-171.80354,63.58051],[-171.746385,63.703084],[-171.646468,63.726991],[-171.463043,63.640023]]],[[[-147.930706,60.826161],[-148.057417,60.817943],[-148.115425,60.830599],[-148.123797,60.844354],[-148.099687,60.894836],[-148.101678,60.916128],[-148.03773,60.924137],[-147.964399,60.900164],[-147.94311,60.875379],[-147.930706,60.826161]]],[[[-172.742214,60.457393],[-172.526053,60.391761],[-172.387508,60.398485],[-172.277541,60.343652],[-172.232066,60.299135],[-172.397172,60.331128],[-172.635736,60.328853],[-172.958378,60.462766],[-173.07403,60.493209],[-173.047649,60.568289],[-172.923884,60.60684],[-172.860219,60.505689],[-172.742214,60.457393]]],[[[-152.020741,60.361746],[-152.069034,60.358077],[-152.004514,60.407395],[-151.959736,60.503745],[-151.899405,60.490363],[-151.887287,60.472686],[-151.986892,60.373985],[-152.020741,60.361746]]],[[[-147.658268,60.450472],[-147.658682,60.424138],[-147.690048,60.398902],[-147.659973,60.352496],[-147.712013,60.272757],[-147.732115,60.222066],[-147.759916,60.190228],[-147.787821,60.177934],[-147.815831,60.185163],[-147.82167,60.20273],[-147.805287,60.230636],[-147.871356,60.229757],[-147.891433,60.299421],[-147.854898,60.321438],[-147.841695,60.351255],[-147.837611,60.371305],[-147.794539,60.459876],[-147.779139,60.466073],[-147.774179,60.44499],[-147.760226,60.438794],[-147.737281,60.447418],[-147.702968,60.486804],[-147.688576,60.491396],[-147.658268,60.450472]]],[[[-146.393928,60.449648],[-146.371681,60.422149],[-146.179546,60.428763],[-146.124255,60.423907],[-146.102238,60.411196],[-146.128284,60.392541],[-146.202389,60.367998],[-146.419172,60.32503],[-146.595335,60.26844],[-146.618332,60.273691],[-146.650448,60.335643],[-146.683006,60.360714],[-146.702874,60.395595],[-146.702564,60.408559],[-146.67024,60.432641],[-146.605928,60.46783],[-146.560299,60.480542],[-146.393928,60.449648]]],[[[-145.118528,60.337093],[-145.150462,60.312649],[-145.237641,60.321328],[-145.284254,60.336829],[-145.128138,60.401121],[-145.10243,60.388256],[-145.118528,60.337093]]],[[[-166.135435,60.383554],[-166.043632,60.33394],[-165.994926,60.33115],[-165.840931,60.346245],[-165.784449,60.335599],[-165.729697,60.314198],[-165.695824,60.281535],[-165.689364,60.224132],[-165.714401,60.172869],[-165.706934,60.100568],[-165.712335,60.069356],[-165.630583,60.028377],[-165.605028,59.97283],[-165.5918,59.913142],[-165.769307,59.893191],[-165.946739,59.890037],[-166.099831,59.84963],[-166.131198,59.819758],[-166.106677,59.77545],[-166.148716,59.764134],[-166.187551,59.773824],[-166.261603,59.814902],[-166.342968,59.834436],[-166.627654,59.86467],[-166.985047,59.983883],[-167.138863,60.008536],[-167.295106,60.095713],[-167.436415,60.206663],[-167.344354,60.224461],[-167.251724,60.233536],[-166.836323,60.217002],[-166.784387,60.296422],[-166.730954,60.316263],[-166.598973,60.338741],[-166.475699,60.382774],[-166.420379,60.381687],[-166.363871,60.364735],[-166.246953,60.391146],[-166.184942,60.396782],[-166.135435,60.383554]]],[[[-147.735886,59.813254],[-147.846318,59.798829],[-147.872468,59.828393],[-147.814331,59.90198],[-147.768081,59.943728],[-147.733664,59.953604],[-147.606695,60.03665],[-147.465825,60.097009],[-147.33653,60.185372],[-147.205246,60.311308],[-147.180881,60.358253],[-147.120006,60.363087],[-147.019857,60.332237],[-146.957873,60.288874],[-146.986734,60.254355],[-147.318471,60.0753],[-147.346349,60.051943],[-147.376529,59.991167],[-147.403813,59.969952],[-147.447583,59.960273],[-147.479416,59.933708],[-147.499312,59.890191],[-147.540214,59.867504],[-147.60207,59.865593],[-147.644936,59.853607],[-147.668759,59.831546],[-147.735886,59.813254]]],[[[-148.021761,60.065324],[-148.07416,60.034705],[-148.271873,60.053261],[-148.230688,60.113543],[-148.079588,60.151655],[-147.914197,60.092351],[-148.021761,60.065324]]],[[[-144.565641,59.818418],[-144.613596,59.812628],[-144.541559,59.878205],[-144.444926,59.950704],[-144.353973,59.996187],[-144.235738,60.015205],[-144.248968,59.982125],[-144.403246,59.921096],[-144.565641,59.818418]]],[[[-160.918983,58.577094],[-160.992388,58.561054],[-161.07024,58.56914],[-161.131503,58.668204],[-161.08458,58.67128],[-160.986241,58.736418],[-160.768605,58.789229],[-160.715145,58.795228],[-160.918983,58.577094]]],[[[-152.486089,58.485007],[-152.515518,58.478602],[-152.588613,58.509243],[-152.636621,58.541696],[-152.604892,58.566405],[-152.463169,58.618491],[-152.395526,58.61937],[-152.367928,58.611097],[-152.356846,58.59498],[-152.36227,58.570843],[-152.392812,58.540872],[-152.486089,58.485007]]],[[[-152.416944,58.360213],[-152.380771,58.352094],[-152.343022,58.411629],[-152.316279,58.413486],[-152.197939,58.363103],[-152.125232,58.374265],[-152.07854,58.312357],[-152.036633,58.306677],[-151.997771,58.314213],[-151.974387,58.309852],[-151.9825,58.244351],[-152.068905,58.177917],[-152.109107,58.161152],[-152.165461,58.178258],[-152.186544,58.184663],[-152.22357,58.214018],[-152.251684,58.251119],[-152.268375,58.25169],[-152.334365,58.208075],[-152.332659,58.18653],[-152.305221,58.154077],[-152.30925,58.133873],[-152.381134,58.12426],[-152.451619,58.12927],[-152.537661,58.101002],[-152.558228,58.118624],[-152.571354,58.168238],[-152.598226,58.162602],[-152.638766,58.101826],[-152.683052,58.06333],[-152.763875,58.031392],[-152.781522,58.015946],[-152.840716,58.013792],[-152.928437,57.99372],[-152.982569,57.997049],[-153.305468,58.063066],[-153.381329,58.087203],[-153.115817,58.238518],[-152.976134,58.297009],[-152.895365,58.293856],[-152.814542,58.275618],[-152.771857,58.278563],[-152.768707,58.34559],[-152.843922,58.395611],[-152.841104,58.416386],[-152.674655,58.450598],[-152.61228,58.445687],[-152.543577,58.428186],[-152.478464,58.399687],[-152.416944,58.360213]]],[[[-134.680274,58.161668],[-134.426127,58.138828],[-134.240096,58.143991],[-134.070159,57.994544],[-133.965515,57.873782],[-133.904123,57.789188],[-133.869291,57.707515],[-133.822731,57.628678],[-133.826917,57.61757],[-133.925024,57.670799],[-133.99554,57.778487],[-134.031658,57.820609],[-134.067237,57.839626],[-134.104728,57.879364],[-134.17754,57.982174],[-134.180281,58.011134],[-134.212603,58.037951],[-134.24994,58.049168],[-134.292314,58.04473],[-134.306887,58.034392],[-134.3004,57.963442],[-134.267095,57.884527],[-134.083695,57.71224],[-133.961142,57.614187],[-133.937016,57.581579],[-133.920866,57.491964],[-133.973754,57.45138],[-133.908825,57.368719],[-133.911149,57.352547],[-133.925305,57.33676],[-134.100026,57.30012],[-134.260146,57.146795],[-134.435301,57.056982],[-134.516018,57.042568],[-134.554777,57.057553],[-134.591521,57.091962],[-134.613093,57.137962],[-134.619531,57.195531],[-134.575888,57.231752],[-134.4892,57.420168],[-134.486772,57.482021],[-134.594801,57.567802],[-134.659889,57.638082],[-134.695133,57.736014],[-134.754091,57.995017],[-134.78148,58.077854],[-134.820108,58.146892],[-134.869981,58.202076],[-134.907653,58.262775],[-134.933125,58.328946],[-134.923489,58.354654],[-134.836983,58.320157],[-134.733195,58.225026],[-134.680274,58.161668]]],[[[-134.312727,58.228905],[-134.319857,58.204097],[-134.45623,58.206525],[-134.593999,58.24311],[-134.661597,58.290911],[-134.647974,58.312412],[-134.519973,58.332539],[-134.398898,58.287187],[-134.312727,58.228905]]],[[[-135.730369,58.244252],[-135.587481,58.146782],[-135.586295,58.124414],[-135.615386,58.057485],[-135.693104,58.038522],[-135.671142,58.011914],[-135.613244,57.991864],[-135.572029,58.008552],[-135.421187,58.102375],[-135.374731,58.122139],[-135.346617,58.124106],[-135.162854,58.095838],[-135.002091,58.05108],[-134.95468,58.015319],[-134.927983,57.952763],[-134.970643,57.817247],[-135.102578,57.793659],[-135.164771,57.796109],[-135.231222,57.815797],[-135.338476,57.768665],[-135.249542,57.732553],[-134.978839,57.724357],[-134.896617,57.648002],[-134.873106,57.589204],[-134.931499,57.481142],[-135.084851,57.511014],[-135.220219,57.573647],[-135.497844,57.662274],[-135.564223,57.666427],[-135.608564,57.650749],[-135.62066,57.596949],[-135.617814,57.480373],[-135.691945,57.419904],[-135.910765,57.446568],[-135.996656,57.534887],[-136.076598,57.674567],[-136.378233,57.839989],[-136.459906,57.873079],[-136.56861,57.972176],[-136.525098,58.050564],[-136.512283,58.095992],[-136.454379,58.108],[-136.369527,58.143035],[-136.321983,58.218874],[-136.245683,58.157482],[-136.143725,58.098475],[-136.142357,58.153923],[-136.094374,58.198154],[-135.994382,58.196528],[-135.947404,58.2058],[-135.881728,58.247142],[-135.787059,58.268488],[-135.730369,58.244252]]],[[[-152.898051,57.823916],[-152.890817,57.768984],[-152.850148,57.775697],[-152.696254,57.832287],[-152.616027,57.848876],[-152.511563,57.851458],[-152.428779,57.825673],[-152.411931,57.805931],[-152.419166,57.78231],[-152.485416,57.73441],[-152.482625,57.703297],[-152.411492,57.646091],[-152.236515,57.614912],[-152.215276,57.597696],[-152.216234,57.576998],[-152.336664,57.48223],[-152.380875,57.460114],[-152.412189,57.454786],[-152.630935,57.471815],[-152.831131,57.502873],[-152.912161,57.508168],[-152.940788,57.498094],[-152.997453,57.468947],[-152.956858,57.460367],[-152.781366,57.453391],[-152.71951,57.410863],[-152.692536,57.379595],[-152.679047,57.345131],[-152.714058,57.33097],[-152.789092,57.320632],[-152.879034,57.320819],[-152.990295,57.281982],[-153.051607,57.237641],[-153.274361,57.226347],[-153.443704,57.167208],[-153.503544,57.138006],[-153.524423,57.103081],[-153.588295,57.077702],[-153.732576,57.052335],[-153.646533,57.029593],[-153.633045,57.010367],[-153.631444,56.983703],[-153.643328,56.960764],[-153.757251,56.858338],[-153.972715,56.774205],[-154.027364,56.777984],[-154.050797,56.788476],[-154.070021,56.804538],[-154.070847,56.820666],[-153.79319,56.989493],[-153.804198,56.997788],[-153.879724,57.0035],[-153.999381,57.049951],[-154.083767,57.02009],[-154.102991,57.021221],[-154.08046,57.061036],[-154.025424,57.108475],[-154.035037,57.121834],[-154.065319,57.133667],[-154.134876,57.140753],[-154.243758,57.143027],[-154.324426,57.131788],[-154.376825,57.107036],[-154.381115,57.096511],[-154.269543,57.099466],[-154.23921,57.086854],[-154.209135,57.063343],[-154.19084,57.036152],[-154.184331,57.005302],[-154.207712,56.963807],[-154.260941,56.911776],[-154.338947,56.920916],[-154.498781,57.036569],[-154.569319,57.205913],[-154.705951,57.335365],[-154.712205,57.366269],[-154.673214,57.446107],[-154.535316,57.559431],[-154.387083,57.590467],[-154.281431,57.638082],[-154.179343,57.652452],[-154.116169,57.65121],[-154.029844,57.630699],[-153.995039,57.587281],[-154.015864,57.566879],[-154.007907,57.556179],[-153.947342,57.530075],[-153.881869,57.439032],[-153.80544,57.358205],[-153.754589,57.325367],[-153.687718,57.30513],[-153.756913,57.366829],[-153.797815,57.443261],[-153.818357,57.595609],[-153.838149,57.635863],[-153.799444,57.646662],[-153.690149,57.640719],[-153.693146,57.663405],[-153.808488,57.714722],[-153.879438,57.757196],[-153.906105,57.790792],[-153.904424,57.819884],[-153.841535,57.862829],[-153.805827,57.875068],[-153.769006,57.880396],[-153.695626,57.871245],[-153.662656,57.857808],[-153.56858,57.761074],[-153.524473,57.731026],[-153.487938,57.730949],[-153.454039,57.747022],[-153.422723,57.779157],[-153.390426,57.798383],[-153.357145,57.804689],[-153.252396,57.790473],[-153.217465,57.795747],[-153.200307,57.820037],[-153.20103,57.863291],[-153.175192,57.878847],[-153.168837,57.910653],[-153.225938,57.957597],[-153.160465,57.971967],[-152.943268,57.93602],[-152.850406,57.896777],[-152.898051,57.823916]]],[[[-153.240641,57.850085],[-153.268571,57.822366],[-153.294979,57.829464],[-153.350842,57.86195],[-153.465045,57.909389],[-153.517084,57.941887],[-153.520081,57.955741],[-153.481066,57.971033],[-153.346966,57.93279],[-153.290044,57.897908],[-153.240641,57.850085]]],[[[-134.969764,57.351438],[-134.884889,57.241695],[-134.823184,57.156562],[-134.768516,57.054191],[-134.676835,56.842265],[-134.634099,56.76212],[-134.620717,56.718295],[-134.610566,56.603422],[-134.624332,56.578714],[-134.651721,56.556027],[-134.657098,56.523244],[-134.631698,56.43565],[-134.630045,56.302452],[-134.654022,56.22747],[-134.6819,56.216154],[-134.750296,56.240753],[-134.806469,56.28127],[-134.847991,56.323491],[-134.950153,56.45681],[-134.980541,56.518926],[-134.982398,56.56363],[-134.966644,56.596127],[-134.933179,56.616342],[-134.875122,56.670439],[-134.883444,56.679074],[-134.927598,56.666978],[-135.017796,56.660156],[-135.09715,56.702849],[-135.159031,56.725371],[-135.146578,56.802319],[-135.163112,56.824127],[-135.284808,56.800352],[-135.330599,56.821853],[-135.340651,56.850769],[-135.338377,56.894],[-135.315147,56.931826],[-135.199598,57.027319],[-135.211254,57.044941],[-135.267373,57.048874],[-135.341371,57.08158],[-135.375297,57.188444],[-135.454931,57.249429],[-135.501953,57.243848],[-135.608927,57.071451],[-135.66187,57.033724],[-135.812327,57.009543],[-135.781654,57.05752],[-135.767701,57.100389],[-135.821138,57.230412],[-135.822737,57.280433],[-135.787136,57.317281],[-135.680887,57.332574],[-135.624505,57.354382],[-135.580582,57.390011],[-135.56965,57.424683],[-135.48728,57.516485],[-135.44868,57.534371],[-135.346282,57.533129],[-135.130659,57.431638],[-135.065235,57.416707],[-134.969764,57.351438]]],[[[-170.160565,57.183951],[-170.263995,57.136776],[-170.357994,57.154211],[-170.385874,57.188554],[-170.386622,57.203023],[-170.116174,57.241783],[-170.160565,57.183951]]],[[[-153.007088,57.124833],[-153.134213,57.092589],[-153.156821,57.093929],[-153.235422,57.028615],[-153.295391,57.000424],[-153.374586,57.051917],[-153.35433,57.131909],[-153.285212,57.185039],[-152.935465,57.167307],[-152.908414,57.152431],[-152.907741,57.139742],[-152.933425,57.129228],[-153.007088,57.124833]]],[[[-133.366221,57.0035],[-133.299716,56.972178],[-133.263538,57.004973],[-133.195999,57.003468],[-133.070788,56.974277],[-132.996218,56.93043],[-132.954152,56.880278],[-132.950587,56.850461],[-132.963325,56.782576],[-132.953998,56.713077],[-132.959167,56.677053],[-132.975855,56.647236],[-133.004123,56.623725],[-133.034923,56.620726],[-133.132383,56.68326],[-133.244004,56.795859],[-133.328961,56.83007],[-133.3324,56.818491],[-133.309065,56.786246],[-133.239719,56.725689],[-133.227261,56.689259],[-133.178481,56.644808],[-133.156619,56.611124],[-133.144221,56.566882],[-133.144737,56.528232],[-133.158173,56.495152],[-133.180805,56.47397],[-133.212665,56.464621],[-133.382756,56.473894],[-133.484198,56.451745],[-133.602795,56.464094],[-133.631349,56.484045],[-133.649279,56.516806],[-133.65832,56.596292],[-133.688165,56.710023],[-133.68098,56.797518],[-133.757543,56.876685],[-133.823066,56.924377],[-133.917296,56.96707],[-133.979467,57.009598],[-133.962362,57.043447],[-133.865984,57.068715],[-133.707726,57.062827],[-133.366221,57.0035]]],[[[-133.989597,56.844957],[-133.924788,56.77571],[-133.830872,56.781291],[-133.778132,56.728886],[-133.738367,56.650444],[-133.767283,56.600115],[-133.809009,56.611322],[-133.855261,56.582175],[-133.883579,56.485495],[-133.870455,56.388651],[-133.884611,56.292125],[-133.93851,56.193676],[-133.9497,56.127714],[-133.970783,56.107917],[-133.994013,56.101127],[-134.024039,56.119002],[-134.067468,56.13301],[-134.122427,56.077408],[-134.189581,56.076968],[-134.245056,56.203267],[-134.195469,56.413513],[-134.084398,56.456348],[-134.150491,56.513499],[-134.290249,56.58001],[-134.278389,56.617111],[-134.384401,56.72403],[-134.390603,56.749486],[-134.373679,56.838651],[-134.274434,56.918181],[-134.143279,56.932342],[-134.051812,56.898284],[-134.000599,56.869193],[-133.989597,56.844957]]],[[[-132.746878,56.525694],[-132.757628,56.511016],[-132.884702,56.512467],[-132.930795,56.524453],[-132.948027,56.567244],[-132.936249,56.606828],[-132.906531,56.637425],[-132.870645,56.696389],[-132.842531,56.794771],[-132.655878,56.68471],[-132.598673,56.635711],[-132.567977,56.575825],[-132.634224,56.553446],[-132.714479,56.542547],[-132.746878,56.525694]]],[[[-169.755214,56.635041],[-169.623904,56.615145],[-169.550498,56.62812],[-169.485696,56.617738],[-169.474327,56.594062],[-169.586878,56.542437],[-169.632611,56.5457],[-169.766169,56.607938],[-169.755214,56.635041]]],[[[-154.208643,56.514895],[-154.257788,56.512675],[-154.332124,56.539031],[-154.322204,56.570606],[-154.216757,56.60874],[-154.110382,56.602928],[-154.102268,56.581658],[-154.107176,56.557785],[-154.115963,56.543887],[-154.149809,56.529572],[-154.208643,56.514895]]],[[[-154.6828,56.435782],[-154.75122,56.412139],[-154.773931,56.42028],[-154.777161,56.439913],[-154.760934,56.471125],[-154.729362,56.502128],[-154.623734,56.561301],[-154.517541,56.600522],[-154.463356,56.598204],[-154.444882,56.573188],[-154.511182,56.521431],[-154.6828,56.435782]]],[[[-132.112346,56.109389],[-132.132935,55.943254],[-132.172623,55.952636],[-132.210295,55.952966],[-132.28732,55.9294],[-132.36858,55.939738],[-132.406588,55.958184],[-132.420595,55.979531],[-132.406049,56.028881],[-132.451159,56.056369],[-132.602963,56.0664],[-132.659905,56.078177],[-132.691381,56.130065],[-132.699027,56.19817],[-132.675203,56.223625],[-132.598722,56.241632],[-132.539011,56.324183],[-132.505964,56.335268],[-132.379847,56.498778],[-132.316494,56.487484],[-132.20562,56.387926],[-132.066896,56.244213],[-132.112346,56.109389]]],[[[-132.779897,56.247268],[-132.830956,56.244169],[-132.891442,56.259407],[-133.035028,56.340904],[-133.037664,56.364832],[-133.017092,56.392012],[-132.935497,56.44177],[-132.902038,56.453767],[-132.70608,56.448493],[-132.643343,56.435156],[-132.62911,56.411909],[-132.632263,56.388288],[-132.65283,56.36436],[-132.657581,56.3393],[-132.646573,56.313207],[-132.669392,56.287313],[-132.779897,56.247268]]],[[[-133.566107,56.339201],[-133.376636,56.317756],[-133.203003,56.319843],[-133.143704,56.278579],[-133.104478,56.235095],[-133.081741,56.194193],[-133.075435,56.15585],[-133.080115,56.128714],[-133.101226,56.099776],[-133.096622,56.090042],[-132.757573,55.99501],[-132.597612,55.895035],[-132.533765,55.842487],[-132.496972,55.798091],[-132.430153,55.686987],[-132.288869,55.558106],[-132.214766,55.51883],[-132.1727,55.480598],[-132.196342,55.479147],[-132.295873,55.50747],[-132.51126,55.593922],[-132.528854,55.590461],[-132.548339,55.543692],[-132.581748,55.502658],[-132.63128,55.473182],[-132.591592,55.464371],[-132.417854,55.482916],[-132.272021,55.39864],[-132.215283,55.383544],[-132.160247,55.322977],[-132.15839,55.299829],[-132.190426,55.255004],[-132.214871,55.236789],[-132.206708,55.224429],[-132.165981,55.218024],[-132.005092,55.230637],[-131.976434,55.208598],[-132.000385,55.03385],[-131.977599,54.969459],[-131.977934,54.940213],[-131.996561,54.901398],[-131.997209,54.868615],[-131.98274,54.83492],[-131.980878,54.804818],[-132.021703,54.72632],[-132.064748,54.713126],[-132.134308,54.712554],[-132.18924,54.734846],[-132.266314,54.802335],[-132.341323,54.907243],[-132.370212,54.922228],[-132.468627,54.937939],[-132.48648,54.950397],[-132.549371,54.952595],[-132.593866,54.995738],[-132.588488,55.052351],[-132.626962,55.110051],[-132.622183,55.135967],[-132.665332,55.146767],[-132.701741,55.13054],[-132.68285,55.07395],[-132.704141,55.030081],[-132.782303,55.048472],[-132.912607,55.188493],[-133.060582,55.300916],[-133.118535,55.327657],[-133.103005,55.360242],[-133.03004,55.377546],[-132.970818,55.376151],[-132.958909,55.395563],[-133.082466,55.504108],[-133.078407,55.534903],[-133.033402,55.589681],[-133.089624,55.612576],[-133.243773,55.595416],[-133.298265,55.606885],[-133.342809,55.65082],[-133.369012,55.688953],[-133.502726,55.695875],[-133.553264,55.691173],[-133.640495,55.748796],[-133.680183,55.785172],[-133.664418,55.803826],[-133.584064,55.836544],[-133.537141,55.83194],[-133.446965,55.797004],[-133.411721,55.798355],[-133.322139,55.84463],[-133.308472,55.886455],[-133.241527,55.92082],[-133.252172,55.957075],[-133.289224,56.018697],[-133.371231,56.035913],[-133.538613,55.999273],[-133.68421,55.942792],[-133.742531,55.964853],[-133.755187,55.999471],[-133.599203,56.093635],[-133.530862,56.145666],[-133.54409,56.176516],[-133.594424,56.216363],[-133.59861,56.316251],[-133.566107,56.339201]]],[[[-130.979134,55.489167],[-131.013911,55.379282],[-131.08274,55.266804],[-131.18788,55.206291],[-131.261878,55.219782],[-131.316321,55.268518],[-131.366836,55.265826],[-131.42068,55.2759],[-131.450936,55.316286],[-131.422361,55.368427],[-131.44758,55.408791],[-131.474502,55.37347],[-131.521837,55.341071],[-131.641285,55.29895],[-131.723661,55.218332],[-131.76252,55.165828],[-131.810991,55.223111],[-131.842,55.358693],[-131.846082,55.416251],[-131.759471,55.503076],[-131.647564,55.58555],[-131.62496,55.831688],[-131.269217,55.955394],[-131.23617,55.948989],[-131.120671,55.856638],[-130.997789,55.727658],[-130.965956,55.669518],[-130.965022,55.568027],[-130.979134,55.489167]]],[[[-155.566002,55.821196],[-155.60489,55.789566],[-155.680622,55.79184],[-155.723202,55.802178],[-155.737361,55.829798],[-155.620626,55.913074],[-155.593959,55.924335],[-155.573239,55.921083],[-155.563936,55.886663],[-155.566002,55.821196]]],[[[-133.305088,55.543747],[-133.283203,55.515633],[-133.281704,55.497857],[-133.426476,55.431445],[-133.429085,55.417701],[-133.463088,55.376667],[-133.493476,55.361682],[-133.547375,55.317242],[-133.650185,55.269287],[-133.634991,55.413306],[-133.737131,55.496923],[-133.634238,55.539243],[-133.5667,55.527202],[-133.454771,55.522291],[-133.345578,55.559095],[-133.305088,55.543747]]],[[[-160.684914,55.314814],[-160.669722,55.314243],[-160.638821,55.321944],[-160.573966,55.378271],[-160.552778,55.380754],[-160.552468,55.363362],[-160.583164,55.307629],[-160.531177,55.233196],[-160.482677,55.197403],[-160.487539,55.184846],[-160.609081,55.159006],[-160.701789,55.177617],[-160.750623,55.171212],[-160.79509,55.145218],[-160.825476,55.174002],[-160.846534,55.311353],[-160.839662,55.33538],[-160.789199,55.383083],[-160.723932,55.404627],[-160.695664,55.398321],[-160.672175,55.379381],[-160.666336,55.359407],[-160.684914,55.314814]]],[[[-160.329278,55.337709],[-160.343308,55.258795],[-160.480741,55.30898],[-160.517482,55.333831],[-160.492939,55.352332],[-160.3623,55.356979],[-160.329278,55.337709]]],[[[-132.862273,54.894422],[-132.837724,54.880942],[-132.812895,54.890445],[-132.772306,54.926052],[-132.700653,54.91902],[-132.648875,54.907067],[-132.617223,54.892412],[-132.634016,54.840479],[-132.646963,54.756137],[-132.676648,54.726221],[-132.705822,54.684155],[-132.807286,54.709116],[-132.889585,54.762652],[-133.008929,54.854838],[-133.075413,54.92135],[-133.080555,54.949442],[-133.122698,54.969821],[-133.204629,55.084497],[-133.251162,55.175134],[-133.324852,55.185516],[-133.417972,55.210718],[-133.45381,55.260344],[-133.429036,55.303806],[-133.296563,55.325723],[-133.097402,55.21374],[-133.067064,55.166191],[-132.995751,55.110589],[-132.982189,55.033026],[-132.946016,55.002582],[-132.862273,54.894422]]],[[[-159.872975,55.128749],[-159.933954,55.106843],[-159.953073,55.078959],[-159.999427,55.067204],[-160.038418,55.044495],[-160.169597,54.941685],[-160.227061,54.92269],[-160.163577,55.010438],[-160.153604,55.038343],[-160.152415,55.056899],[-160.172077,55.123048],[-160.133735,55.120147],[-160.10221,55.133891],[-160.038753,55.192547],[-159.981651,55.197766],[-159.920466,55.267529],[-159.887367,55.273011],[-159.871063,55.263552],[-159.898243,55.221276],[-159.839411,55.182374],[-159.854111,55.144702],[-159.872975,55.128749]]],[[[-131.339727,55.079838],[-131.237461,54.949518],[-131.232034,54.903782],[-131.329521,54.887764],[-131.406183,54.894301],[-131.44569,54.909341],[-131.456105,54.930545],[-131.431326,54.996485],[-131.481736,55.035245],[-131.54003,55.048472],[-131.59222,55.025687],[-131.595115,55.090748],[-131.555993,55.137407],[-131.577828,55.20082],[-131.578477,55.248775],[-131.565452,55.264123],[-131.512663,55.262728],[-131.404634,55.213322],[-131.339727,55.079838]]],[[[-159.515117,55.151876],[-159.520385,55.072148],[-159.534986,55.059634],[-159.561496,55.080926],[-159.617718,55.057316],[-159.648491,55.074576],[-159.635417,55.102316],[-159.639655,55.12397],[-159.597954,55.125706],[-159.588031,55.165312],[-159.595268,55.182011],[-159.574751,55.217717],[-159.545088,55.225978],[-159.515117,55.151876]]],[[[-159.361998,54.972403],[-159.394476,54.967338],[-159.421349,54.978138],[-159.458477,55.034937],[-159.461916,55.05881],[-159.390422,55.040881],[-159.363187,54.999506],[-159.361998,54.972403]]],[[[-163.476037,54.980731],[-163.378962,54.815518],[-163.336898,54.783218],[-163.274525,54.765596],[-163.187089,54.747766],[-163.13505,54.723277],[-163.089265,54.686066],[-163.083271,54.669016],[-163.358085,54.735681],[-163.53084,54.63832],[-163.583033,54.625663],[-164.073313,54.621005],[-164.171266,54.603021],[-164.234621,54.571347],[-164.346682,54.482413],[-164.403499,54.447839],[-164.463495,54.427327],[-164.590801,54.404333],[-164.743788,54.407475],[-164.823423,54.419077],[-164.866184,54.461374],[-164.903935,54.544782],[-164.903701,54.567985],[-164.887656,54.607833],[-164.751488,54.662918],[-164.706194,54.691988],[-164.529796,54.880832],[-164.478637,54.906826],[-164.424299,54.913187],[-164.273689,54.900058],[-164.145066,54.955143],[-163.867977,55.039123],[-163.807153,55.049099],[-163.607476,55.050856],[-163.553009,55.037827],[-163.510893,55.014294],[-163.476037,54.980731]]],[[[-162.29815,54.847038],[-162.321921,54.842391],[-162.390754,54.872977],[-162.415766,54.895872],[-162.433904,54.931534],[-162.293654,54.982851],[-162.264612,54.983521],[-162.23836,54.954737],[-162.233761,54.93205],[-162.27257,54.867198],[-162.29815,54.847038]]],[[[-162.554413,54.401356],[-162.641127,54.379526],[-162.73311,54.402311],[-162.81171,54.444378],[-162.820548,54.494553],[-162.64539,54.462055],[-162.60795,54.446652],[-162.554413,54.401356]]],[[[-165.561155,54.136695],[-165.604821,54.129147],[-165.615364,54.13954],[-165.620532,54.183541],[-165.654147,54.253304],[-165.590352,54.278649],[-165.550613,54.284538],[-165.533767,54.273892],[-165.487671,54.221883],[-165.44173,54.208007],[-165.407857,54.196845],[-165.467595,54.180926],[-165.561155,54.136695]]],[[[-165.841552,54.070656],[-165.879379,54.053034],[-165.909841,54.049156],[-165.932889,54.059153],[-166.036423,54.047189],[-166.056654,54.054319],[-166.102827,54.113953],[-166.105825,54.144814],[-166.087738,54.169149],[-166.04128,54.191242],[-165.966402,54.211028],[-165.892866,54.206974],[-165.76445,54.152098],[-165.704247,54.119897],[-165.692878,54.099924],[-165.737914,54.081093],[-165.841552,54.070656]]],[[[-166.615355,53.90095],[-166.572178,53.853456],[-166.497481,53.883537],[-166.442755,53.924802],[-166.400044,53.978096],[-166.37232,53.998981],[-166.33563,53.970922],[-166.230881,53.932602],[-166.31899,53.87377],[-166.488747,53.785506],[-166.545617,53.726487],[-166.549209,53.700955],[-166.384723,53.720522],[-166.338782,53.717654],[-166.309455,53.697494],[-166.354517,53.673522],[-166.444177,53.651813],[-166.522001,53.609648],[-166.702196,53.536677],[-166.770409,53.47601],[-166.850999,53.452862],[-166.960733,53.44738],[-167.153642,53.407851],[-167.270792,53.370596],[-167.300455,53.350491],[-167.337274,53.340977],[-167.381302,53.342021],[-167.428793,53.325684],[-167.479823,53.291989],[-167.522482,53.276235],[-167.592194,53.272719],[-167.628625,53.259437],[-167.669424,53.259953],[-167.780864,53.300262],[-167.808769,53.323773],[-167.710094,53.370904],[-167.638702,53.386559],[-167.530182,53.39369],[-167.423521,53.43725],[-167.204078,53.494973],[-167.136097,53.526448],[-167.092353,53.635949],[-167.042408,53.654604],[-167.015743,53.698373],[-166.894149,53.697132],[-166.838339,53.648045],[-166.818727,53.641376],[-166.808986,53.646133],[-166.803663,53.68541],[-166.741263,53.712952],[-166.777256,53.733156],[-166.889601,53.758578],[-166.972929,53.770565],[-167.027266,53.769125],[-167.071501,53.783386],[-167.105608,53.813356],[-167.121164,53.843118],[-167.118166,53.872628],[-167.090468,53.905652],[-167.038067,53.942182],[-166.978097,53.962935],[-166.848673,53.977899],[-166.734055,54.002178],[-166.673284,54.005958],[-166.627394,53.995674],[-166.615355,53.90095]]],[[[-166.209746,53.723279],[-166.223828,53.720412],[-166.249433,53.745142],[-166.250751,53.767774],[-166.234369,53.784188],[-166.187732,53.822475],[-166.154555,53.836142],[-166.113731,53.843074],[-166.102672,53.832791],[-166.138639,53.787418],[-166.183753,53.756898],[-166.209746,53.723279]]],[[[-167.964367,53.345119],[-168.27068,53.238046],[-168.370131,53.159758],[-168.445991,53.084413],[-168.505627,53.043171],[-168.549035,53.036096],[-168.597404,53.016089],[-168.698534,52.963432],[-168.741013,52.956873],[-169.065928,52.833936],[-169.088898,52.832024],[-169.07311,52.86416],[-168.973867,52.909687],[-168.909167,52.951182],[-168.836097,53.019737],[-168.795867,53.044929],[-168.783024,53.079349],[-168.777806,53.148793],[-168.759615,53.175051],[-168.689827,53.227247],[-168.639029,53.255767],[-168.572186,53.265633],[-168.436638,53.25691],[-168.380414,53.283442],[-168.362973,53.303569],[-168.397262,53.321916],[-168.405323,53.353798],[-168.396433,53.408785],[-168.357212,53.457564],[-168.287707,53.500147],[-168.193061,53.533326],[-168.073276,53.55699],[-167.98571,53.558177],[-167.828097,53.507947],[-167.804688,53.484953],[-167.843108,53.43457],[-167.865148,53.387306],[-167.964367,53.345119]]],[[[-169.691962,52.847372],[-169.708084,52.807107],[-169.722762,52.792331],[-169.877326,52.813754],[-169.980549,52.806031],[-169.991841,52.829849],[-169.982564,52.851042],[-169.820637,52.883386],[-169.754904,52.883649],[-169.710979,52.866752],[-169.691962,52.847372]]],[[[-170.733397,52.581492],[-170.797347,52.549764],[-170.81608,52.561541],[-170.827035,52.600718],[-170.791172,52.63126],[-170.682083,52.697563],[-170.608057,52.685082],[-170.58462,52.667581],[-170.586636,52.642422],[-170.614025,52.609606],[-170.649268,52.593116],[-170.692263,52.592962],[-170.733397,52.581492]]],[[[-174.677394,52.03501],[-175.213873,51.99391],[-175.295548,52.022145],[-175.214158,52.038218],[-175.117652,52.047106],[-174.915933,52.094183],[-174.667757,52.134953],[-174.474254,52.184051],[-174.306151,52.216142],[-174.258815,52.269063],[-174.406507,52.29598],[-174.435548,52.317216],[-174.36545,52.341924],[-174.306874,52.377938],[-174.168898,52.420191],[-174.045624,52.367248],[-174.018339,52.331795],[-174.030096,52.289783],[-174.0549,52.246014],[-174.163214,52.223371],[-174.179389,52.200333],[-174.120633,52.135217],[-174.343539,52.07778],[-174.677394,52.03501]]],[[[-172.46479,52.272293],[-172.539127,52.257483],[-172.619846,52.272831],[-172.582199,52.325643],[-172.543675,52.353812],[-172.470398,52.388012],[-172.383115,52.372928],[-172.31361,52.329576],[-172.46479,52.272293]]],[[[-173.553303,52.136304],[-173.357242,52.095633],[-173.113304,52.10039],[-173.024317,52.090513],[-173.022896,52.079142],[-173.178881,52.062509],[-173.232212,52.06798],[-173.36843,52.045612],[-173.461009,52.041547],[-173.672572,52.062663],[-173.835792,52.048194],[-173.878942,52.053665],[-173.930205,52.072144],[-173.989581,52.103587],[-173.9925,52.123329],[-173.938913,52.131283],[-173.794115,52.104312],[-173.779,52.118375],[-173.656837,52.143742],[-173.553303,52.136304]]],[[[-176.02155,52.002436],[-176.045089,51.973003],[-176.142861,52.004314],[-176.177535,52.029847],[-176.184511,52.056049],[-176.155676,52.099401],[-176.077412,52.099972],[-176.031214,52.082295],[-175.988063,52.049479],[-175.975274,52.028946],[-176.02155,52.002436]]],[[[-176.593298,51.8667],[-176.587924,51.833191],[-176.473383,51.837377],[-176.437467,51.820096],[-176.437338,51.75431],[-176.452351,51.73571],[-176.469766,51.731161],[-176.511003,51.74563],[-176.557538,51.712034],[-176.770961,51.629944],[-176.837107,51.675867],[-176.961622,51.603676],[-176.874418,51.790488],[-176.773623,51.818744],[-176.736416,51.839937],[-176.745123,51.89466],[-176.698356,51.986055],[-176.596812,51.981793],[-176.54989,51.944065],[-176.551595,51.919566],[-176.593298,51.8667]]],[[[-177.1482,51.716736],[-177.176983,51.703718],[-177.2299,51.693533],[-177.382371,51.704849],[-177.474665,51.70129],[-177.577605,51.694214],[-177.654887,51.676592],[-177.670235,51.701081],[-177.667625,51.721186],[-177.3347,51.776216],[-177.257288,51.804957],[-177.209747,51.841277],[-177.16639,51.909437],[-177.131508,51.929805],[-177.110037,51.928773],[-177.063037,51.9019],[-177.079522,51.866546],[-177.121379,51.835773],[-177.135125,51.806912],[-177.1482,51.716736]]],[[[-177.879034,51.64972],[-177.901254,51.616387],[-177.925362,51.617365],[-178.058894,51.672604],[-178.078479,51.691259],[-178.000034,51.717461],[-177.977245,51.737775],[-177.986365,51.764285],[-178.045122,51.801078],[-178.153487,51.848254],[-178.194518,51.882212],[-178.168241,51.903032],[-178.116616,51.915853],[-177.953809,51.918434],[-177.865856,51.860405],[-177.799607,51.840036],[-177.6445,51.826292],[-177.724961,51.801672],[-177.770642,51.777897],[-177.826969,51.685887],[-177.879034,51.64972]]],[[[-176.008967,51.812372],[-176.093355,51.790488],[-176.204433,51.834817],[-176.193659,51.886288],[-176.071625,51.843299],[-176.008967,51.812372]]],[[[-176.286702,51.791982],[-176.349644,51.733282],[-176.396101,51.759836],[-176.413722,51.840585],[-176.378582,51.861119],[-176.280217,51.802836],[-176.286702,51.791982]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"USA-3541","diss_me":3541,"iso_3166_2":"US-AL","wikipedia":"http://en.wikipedia.org/wiki/Alabama","iso_a2":"US","adm0_sr":5,"name":"Alabama","name_alt":"AL|Ala.","name_local":null,"type":"State","type_en":"State","code_local":"US01","code_hasc":"US.AL","note":null,"hasc_maybe":null,"region":"South","region_cod":null,"provnum_ne":0,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":"Ala.","postal":"AL","area_sqkm":0,"sameascity":-99,"labelrank":0,"name_len":7,"mapcolor9":1,"mapcolor13":1,"fips":"US01","fips_alt":null,"woe_id":2347559,"woe_label":"Alabama, US, United States","woe_name":"Alabama","latitude":32.8551,"longitude":-86.7184,"sov_a3":"US1","adm0_a3":"USA","adm0_label":2,"admin":"United States of America","geonunit":"United States of America","gu_a3":"USA","gn_id":4829764,"gn_name":"Alabama","gns_id":-1,"gns_name":null,"gn_level":1,"gn_region":null,"gn_a1_code":"US.AL","region_sub":"East South Central","sub_code":null,"gns_level":-1,"gns_lang":null,"gns_adm1":null,"gns_region":null,"min_label":3.5,"max_label":7.5,"min_zoom":2,"wikidataid":"Q173","name_ar":"ألاباما","name_bn":"অ্যালাবামা","name_de":"Alabama","name_en":"Alabama","name_es":"Alabama","name_fr":"Alabama","name_el":"Αλαμπάμα","name_hi":"अलाबामा","name_hu":"Alabama","name_id":"Alabama","name_it":"Alabama","name_ja":"アラバマ州","name_ko":"앨라배마","name_nl":"Alabama","name_pl":"Alabama","name_pt":"Alabama","name_ru":"Алабама","name_sv":"Alabama","name_tr":"Alabama","name_vi":"Alabama","name_zh":"亚拉巴马州","ne_id":1159315233,"name_he":"אלבמה","name_uk":"Алабама","name_ur":"الاباما","name_fa":"آلاباما","name_zht":"阿拉巴馬州","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[-88.48619,30.230916,-84.921533,35.024999],"geometry":{"type":"MultiPolygon","coordinates":[[[[-87.489511,30.377683],[-87.513252,30.368125],[-87.622269,30.264765],[-88.005934,30.230916],[-87.985016,30.254383],[-87.903981,30.259085],[-87.790294,30.291792],[-87.813289,30.346877],[-87.857113,30.40739],[-87.897631,30.414135],[-87.924284,30.449643],[-87.922998,30.56155],[-87.948871,30.626919],[-88.011317,30.694177],[-88.032422,30.681224],[-88.078367,30.566197],[-88.116555,30.415322],[-88.135441,30.366598],[-88.249215,30.363181],[-88.349927,30.373464],[-88.399585,30.370805],[-88.412758,30.576579],[-88.423261,30.764303],[-88.433742,30.952015],[-88.444234,31.139706],[-88.454726,31.327385],[-88.465217,31.515108],[-88.475709,31.702821],[-88.48619,31.890511],[-88.461779,32.075246],[-88.437367,32.25997],[-88.412977,32.444684],[-88.388555,32.62943],[-88.364132,32.814176],[-88.339743,32.998889],[-88.315331,33.183613],[-88.290908,33.368348],[-88.266519,33.553094],[-88.242096,33.737807],[-88.217684,33.922532],[-88.193295,34.107278],[-88.168883,34.292013],[-88.144461,34.476737],[-88.12006,34.66145],[-88.095648,34.846196],[-88.089474,34.893064],[-88.088211,34.909082],[-88.084772,34.933109],[-88.173267,34.999005],[-88.19079,35.012046],[-88.203139,35.024197],[-88.190427,35.024999],[-88.029994,35.023494],[-87.869594,35.021966],[-87.70916,35.02045],[-87.548738,35.018945],[-87.388305,35.017451],[-87.227871,35.015946],[-87.067449,35.014452],[-86.907015,35.012925],[-86.746582,35.011409],[-86.58616,35.009903],[-86.425726,35.008409],[-86.265293,35.006904],[-86.104871,35.00541],[-85.944437,35.003861],[-85.784037,35.002356],[-85.623604,35.000862],[-85.59717,34.873069],[-85.57077,34.745265],[-85.544359,34.617472],[-85.517948,34.489679],[-85.491548,34.36193],[-85.465115,34.234137],[-85.438682,34.106344],[-85.412271,33.978551],[-85.38587,33.850747],[-85.359459,33.722954],[-85.333059,33.595161],[-85.306626,33.46739],[-85.280193,33.339619],[-85.253782,33.211826],[-85.227382,33.084022],[-85.200971,32.956229],[-85.176317,32.898221],[-85.156531,32.804277],[-85.015038,32.526158],[-84.973905,32.409286],[-84.985968,32.360946],[-84.9685,32.319813],[-84.921533,32.285887],[-84.929696,32.246556],[-84.992977,32.201831],[-85.034627,32.147372],[-85.064564,32.051043],[-85.06441,32.050527],[-85.124132,31.880536],[-85.124824,31.77677],[-85.067201,31.635387],[-85.067047,31.635178],[-85.054885,31.572677],[-85.092601,31.295711],[-85.067443,31.117579],[-85.007282,31.001673],[-85.330005,31.001102],[-85.653399,31.001058],[-85.976792,31.001003],[-86.300175,31.000948],[-86.623568,31.000893],[-86.94694,31.000849],[-87.2703,31.000794],[-87.593694,31.000739],[-87.607438,30.929328],[-87.601055,30.860598],[-87.566195,30.795636],[-87.421659,30.671589],[-87.408278,30.641465],[-87.43381,30.545938],[-87.429382,30.477856],[-87.444807,30.442557],[-87.480106,30.411707],[-87.489511,30.377683]]],[[[-88.071336,30.25234],[-88.159314,30.230916],[-88.289722,30.232938],[-88.316254,30.240453],[-88.263937,30.254713],[-88.10937,30.27373],[-88.071336,30.25234]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"USA-3528","diss_me":3528,"iso_3166_2":"US-AR","wikipedia":"http://en.wikipedia.org/wiki/Arkansas","iso_a2":"US","adm0_sr":1,"name":"Arkansas","name_alt":"AR|Ark.","name_local":null,"type":"State","type_en":"State","code_local":"US05","code_hasc":"US.AR","note":null,"hasc_maybe":null,"region":"South","region_cod":null,"provnum_ne":0,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":"Ark.","postal":"AR","area_sqkm":0,"sameascity":-99,"labelrank":0,"name_len":8,"mapcolor9":1,"mapcolor13":1,"fips":"US05","fips_alt":null,"woe_id":2347562,"woe_label":"Arkansas, US, United States","woe_name":"Arkansas","latitude":34.7563,"longitude":-92.1428,"sov_a3":"US1","adm0_a3":"USA","adm0_label":2,"admin":"United States of America","geonunit":"United States of America","gu_a3":"USA","gn_id":4099753,"gn_name":"Arkansas","gns_id":-1,"gns_name":null,"gn_level":1,"gn_region":null,"gn_a1_code":"US.AR","region_sub":"West South Central","sub_code":null,"gns_level":-1,"gns_lang":null,"gns_adm1":null,"gns_region":null,"min_label":3.5,"max_label":7.5,"min_zoom":2,"wikidataid":"Q1612","name_ar":"أركنساس","name_bn":"আর্কানসাস","name_de":"Arkansas","name_en":"Arkansas","name_es":"Arkansas","name_fr":"Arkansas","name_el":"Άρκανσο","name_hi":"अरकांसास","name_hu":"Arkansas","name_id":"Arkansas","name_it":"Arkansas","name_ja":"アーカンソー州","name_ko":"아칸소","name_nl":"Arkansas","name_pl":"Arkansas","name_pt":"Arkansas","name_ru":"Арканзас","name_sv":"Arkansas","name_tr":"Arkansas","name_vi":"Arkansas","name_zh":"阿肯色州","ne_id":1159315355,"name_he":"ארקנסו","name_uk":"Арканзас","name_ur":"آرکنساس","name_fa":"آرکانزاس","name_zht":"阿肯色州","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[-94.61838,33.011996,-89.688908,36.500869],"geometry":{"type":"Polygon","coordinates":[[[-89.704772,36.001573],[-89.70932,35.98305],[-89.689171,35.943599],[-89.688908,35.920956],[-89.703772,35.906904],[-89.738214,35.898741],[-89.763593,35.888766],[-89.768932,35.8721],[-89.769943,35.864299],[-89.768108,35.845249],[-89.763593,35.828044],[-89.779655,35.805742],[-89.894561,35.750503],[-89.943505,35.679136],[-89.92652,35.591652],[-89.967345,35.50331],[-90.066024,35.414112],[-90.107882,35.314203],[-90.092919,35.203592],[-90.14227,35.114296],[-90.255956,35.046389],[-90.29376,35.004476],[-90.293705,35.001114],[-90.293419,34.970067],[-90.282104,34.945304],[-90.31994,34.899161],[-90.41595,34.851623],[-90.467575,34.805261],[-90.47476,34.760052],[-90.497216,34.738091],[-90.53925,34.72817],[-90.563848,34.661164],[-90.584008,34.503708],[-90.635424,34.413873],[-90.718107,34.391703],[-90.762338,34.356426],[-90.768117,34.308108],[-90.817215,34.25222],[-90.90972,34.188763],[-90.940251,34.128558],[-90.908786,34.071561],[-90.914729,34.048622],[-90.943107,34.029681],[-91.043148,34.002864],[-91.060353,33.989296],[-91.070175,33.9742],[-91.05007,33.945163],[-91.038183,33.901394],[-91.052707,33.827599],[-91.077151,33.796694],[-91.100299,33.767449],[-91.184125,33.71567],[-91.207482,33.675669],[-91.17037,33.647456],[-91.172721,33.616683],[-91.214579,33.583406],[-91.202714,33.546975],[-91.192958,33.52253],[-91.15433,33.500206],[-91.141015,33.438507],[-91.168459,33.35946],[-91.163339,33.294454],[-91.117306,33.240819],[-91.106781,33.217923],[-91.152858,33.040571],[-91.149958,33.015918],[-91.346173,33.015193],[-91.525855,33.014984],[-91.705536,33.014786],[-91.885207,33.014544],[-92.064899,33.014314],[-92.244569,33.014105],[-92.424251,33.013907],[-92.603927,33.013699],[-92.783608,33.01349],[-92.963284,33.013281],[-93.142965,33.013072],[-93.322619,33.012842],[-93.502273,33.012611],[-93.681949,33.012402],[-93.861631,33.012193],[-94.041307,33.011996],[-94.042806,33.147589],[-94.044306,33.283215],[-94.045805,33.418841],[-94.047327,33.554435],[-94.098798,33.57733],[-94.191534,33.589009],[-94.238456,33.581208],[-94.294679,33.58746],[-94.33256,33.565036],[-94.357674,33.560972],[-94.377955,33.566113],[-94.390122,33.585603],[-94.432008,33.599731],[-94.484149,33.648434],[-94.481331,33.75711],[-94.47854,33.865787],[-94.475728,33.974464],[-94.47291,34.083141],[-94.470092,34.191817],[-94.467279,34.300494],[-94.464461,34.409171],[-94.461643,34.517837],[-94.458831,34.626514],[-94.456013,34.73519],[-94.453195,34.843867],[-94.450377,34.952544],[-94.447564,35.061221],[-94.444746,35.169897],[-94.441956,35.278574],[-94.439138,35.387251],[-94.461539,35.526459],[-94.483968,35.665655],[-94.506369,35.804841],[-94.52877,35.94406],[-94.551177,36.083279],[-94.573578,36.222465],[-94.595979,36.361661],[-94.61838,36.500869],[-94.339871,36.500869],[-94.061357,36.500869],[-93.782848,36.500869],[-93.504339,36.500869],[-93.22583,36.500869],[-92.947321,36.500869],[-92.668806,36.500869],[-92.390298,36.500869],[-92.111789,36.500869],[-91.833285,36.500869],[-91.55476,36.500869],[-91.276256,36.500869],[-90.997753,36.500869],[-90.719239,36.500869],[-90.440746,36.500869],[-90.162243,36.500869],[-90.118078,36.422537],[-90.074473,36.371835],[-90.067057,36.334272],[-90.075659,36.296721],[-90.149279,36.215928],[-90.216164,36.178409],[-90.25255,36.137738],[-90.303043,36.099374],[-90.381068,35.99274],[-90.21679,35.994938],[-90.052489,35.997135],[-89.888178,35.999332],[-89.704772,36.001573]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"USA-3520","diss_me":3520,"iso_3166_2":"US-AZ","wikipedia":"http://en.wikipedia.org/wiki/Arizona","iso_a2":"US","adm0_sr":1,"name":"Arizona","name_alt":"AZ|Ariz.","name_local":null,"type":"State","type_en":"State","code_local":"US04","code_hasc":"US.AZ","note":null,"hasc_maybe":null,"region":"West","region_cod":null,"provnum_ne":0,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":"Ariz.","postal":"AZ","area_sqkm":0,"sameascity":-99,"labelrank":0,"name_len":7,"mapcolor9":1,"mapcolor13":1,"fips":"US04","fips_alt":null,"woe_id":2347561,"woe_label":"Arizona, US, United States","woe_name":"Arizona","latitude":34.3046,"longitude":-111.935,"sov_a3":"US1","adm0_a3":"USA","adm0_label":2,"admin":"United States of America","geonunit":"United States of America","gu_a3":"USA","gn_id":5551752,"gn_name":"Arizona","gns_id":-1,"gns_name":null,"gn_level":1,"gn_region":null,"gn_a1_code":"US.AZ","region_sub":"Mountain","sub_code":null,"gns_level":-1,"gns_lang":null,"gns_adm1":null,"gns_region":null,"min_label":3.5,"max_label":7.5,"min_zoom":2,"wikidataid":"Q816","name_ar":"أريزونا","name_bn":"অ্যারিজোনা","name_de":"Arizona","name_en":"Arizona","name_es":"Arizona","name_fr":"Arizona","name_el":"Αριζόνα","name_hi":"एरीजोना","name_hu":"Arizona","name_id":"Arizona","name_it":"Arizona","name_ja":"アリゾナ州","name_ko":"애리조나","name_nl":"Arizona","name_pl":"Arizona","name_pt":"Arizona","name_ru":"Аризона","name_sv":"Arizona","name_tr":"Arizona","name_vi":"Arizona","name_zh":"亚利桑那州","ne_id":1159315341,"name_he":"אריזונה","name_uk":"Аризона","name_ur":"ایریزونا","name_fa":"آریزونا","name_zht":"亞利桑那州","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[-114.835955,31.32421,-109.04667,37.004153],"geometry":{"type":"Polygon","coordinates":[[[-109.047807,31.327879],[-109.274774,31.327473],[-109.628215,31.326825],[-109.981651,31.326155],[-110.335092,31.325528],[-110.688533,31.324858],[-111.041974,31.32421],[-111.51621,31.47224],[-111.990473,31.620237],[-112.464731,31.768244],[-112.938967,31.916274],[-113.413203,32.064293],[-113.887461,32.212301],[-114.361724,32.360298],[-114.835955,32.508327],[-114.787999,32.564808],[-114.724773,32.715343],[-114.72095,32.724483],[-114.7209,32.724483],[-114.582176,32.734723],[-114.516467,32.772757],[-114.477531,32.842004],[-114.469,32.912306],[-114.490863,32.983618],[-114.550546,33.036792],[-114.648088,33.07175],[-114.704388,33.169781],[-114.719428,33.330863],[-114.701702,33.417809],[-114.651159,33.430619],[-114.60261,33.469895],[-114.556001,33.535626],[-114.521559,33.607608],[-114.499257,33.685875],[-114.495098,33.784653],[-114.509051,33.903921],[-114.418282,34.051149],[-114.32932,34.142027],[-114.163514,34.253363],[-114.125612,34.286509],[-114.125018,34.314084],[-114.125068,34.317182],[-114.15879,34.355217],[-114.308028,34.43289],[-114.371024,34.488492],[-114.376913,34.5397],[-114.378879,34.540633],[-114.398001,34.589698],[-114.557473,34.794571],[-114.610933,34.907401],[-114.610543,34.991117],[-114.610521,34.99761],[-114.590987,35.352776],[-114.648528,35.475922],[-114.662063,35.545355],[-114.645166,35.630543],[-114.650126,35.683508],[-114.677076,35.729805],[-114.68369,35.813597],[-114.687101,35.917341],[-114.732321,35.983666],[-114.741362,36.013516],[-114.715759,36.084982],[-114.669144,36.12172],[-114.592975,36.14756],[-114.505277,36.156426],[-114.406087,36.148307],[-114.331545,36.116293],[-114.281573,36.060328],[-114.232146,36.031698],[-114.183207,36.030303],[-114.119437,36.076665],[-114.061924,36.175212],[-114.042879,36.181771],[-114.041171,36.61249],[-114.04027,37.004153],[-113.72817,37.003944],[-113.41607,37.003735],[-113.103971,37.003527],[-112.791871,37.003318],[-112.479772,37.00312],[-112.167672,37.002911],[-111.855572,37.002703],[-111.543473,37.002494],[-111.231373,37.002285],[-110.919268,37.002087],[-110.607168,37.001879],[-110.295069,37.00167],[-109.982969,37.001461],[-109.67087,37.001252],[-109.35877,37.001055],[-109.04667,37.000846],[-109.046698,36.646339],[-109.046747,36.291843],[-109.046802,35.937336],[-109.046852,35.582819],[-109.046906,35.22829],[-109.046956,34.873794],[-109.047005,34.519287],[-109.04706,34.164791],[-109.04711,33.810284],[-109.047165,33.455788],[-109.047214,33.101293],[-109.047264,32.746764],[-109.047318,32.392235],[-109.047368,32.037739],[-109.047423,31.683232],[-109.047807,31.327879]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"USA-3521","diss_me":3521,"iso_3166_2":"US-CA","wikipedia":"http://en.wikipedia.org/wiki/California","iso_a2":"US","adm0_sr":8,"name":"California","name_alt":"CA|Calif.","name_local":null,"type":"State","type_en":"State","code_local":"US06","code_hasc":"US.CA","note":null,"hasc_maybe":null,"region":"West","region_cod":null,"provnum_ne":0,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":"Calif.","postal":"CA","area_sqkm":0,"sameascity":-99,"labelrank":0,"name_len":10,"mapcolor9":1,"mapcolor13":1,"fips":"US06","fips_alt":null,"woe_id":2347563,"woe_label":"California, US, United States","woe_name":"California","latitude":36.7496,"longitude":-119.591,"sov_a3":"US1","adm0_a3":"USA","adm0_label":2,"admin":"United States of America","geonunit":"United States of America","gu_a3":"USA","gn_id":5332921,"gn_name":"California","gns_id":-1,"gns_name":null,"gn_level":1,"gn_region":null,"gn_a1_code":"US.CA","region_sub":"Pacific","sub_code":null,"gns_level":-1,"gns_lang":null,"gns_adm1":null,"gns_region":null,"min_label":3.5,"max_label":7.5,"min_zoom":2,"wikidataid":"Q99","name_ar":"كاليفورنيا","name_bn":"ক্যালিফোর্নিয়া","name_de":"Kalifornien","name_en":"California","name_es":"California","name_fr":"Californie","name_el":"Καλιφόρνια","name_hi":"कैलिफ़ोर्निया","name_hu":"Kalifornia","name_id":"California","name_it":"California","name_ja":"カリフォルニア州","name_ko":"캘리포니아","name_nl":"Californië","name_pl":"Kalifornia","name_pt":"Califórnia","name_ru":"Калифорния","name_sv":"Kalifornien","name_tr":"Kaliforniya","name_vi":"California","name_zh":"加利福尼亚州","ne_id":1159308415,"name_he":"קליפורניה","name_uk":"Каліфорнія","name_ur":"کیلی فورنیا","name_fa":"کالیفرنیا","name_zht":"加利福尼亞州","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[-124.371654,32.533365,-114.125018,42.000768],"geometry":{"type":"MultiPolygon","coordinates":[[[[-114.610543,34.991117],[-114.610933,34.907401],[-114.557473,34.794571],[-114.398001,34.589698],[-114.378879,34.540633],[-114.376913,34.5397],[-114.371024,34.488492],[-114.308028,34.43289],[-114.15879,34.355217],[-114.125068,34.317182],[-114.125018,34.314084],[-114.125612,34.286509],[-114.163514,34.253363],[-114.32932,34.142027],[-114.418282,34.051149],[-114.509051,33.903921],[-114.495098,33.784653],[-114.499257,33.685875],[-114.521559,33.607608],[-114.556001,33.535626],[-114.60261,33.469895],[-114.651159,33.430619],[-114.701702,33.417809],[-114.719428,33.330863],[-114.704388,33.169781],[-114.648088,33.07175],[-114.550546,33.036792],[-114.490863,32.983618],[-114.469,32.912306],[-114.477531,32.842004],[-114.516467,32.772757],[-114.582176,32.734723],[-114.7209,32.724483],[-114.72095,32.724483],[-114.724773,32.715343],[-114.839058,32.704719],[-115.125214,32.683307],[-115.411374,32.661883],[-115.697508,32.64046],[-115.983663,32.619048],[-116.269824,32.597624],[-116.555958,32.576201],[-116.842113,32.554789],[-117.128274,32.533365],[-117.130466,32.53977],[-117.137393,32.649172],[-117.183744,32.687877],[-117.243482,32.664026],[-117.27069,32.806266],[-117.255759,32.87337],[-117.262966,32.938871],[-117.318826,33.100051],[-117.467422,33.295487],[-117.788514,33.538472],[-117.952095,33.619606],[-118.080514,33.722152],[-118.161901,33.750705],[-118.264403,33.758616],[-118.294171,33.712308],[-118.410439,33.743938],[-118.392949,33.858295],[-118.506196,34.01741],[-118.598854,34.035032],[-118.832045,34.024463],[-119.143732,34.112024],[-119.235842,34.164121],[-119.267647,34.257439],[-119.413688,34.338573],[-119.606054,34.418004],[-119.713203,34.399657],[-119.853301,34.411962],[-120.052977,34.469266],[-120.169559,34.476451],[-120.396471,34.459554],[-120.481192,34.471639],[-120.559821,34.543885],[-120.644696,34.579986],[-120.626716,34.668943],[-120.63762,34.749352],[-120.624904,34.811985],[-120.663015,34.949292],[-120.63361,35.076459],[-120.659088,35.122403],[-120.707043,35.157648],[-120.857374,35.20969],[-120.88489,35.274949],[-120.860291,35.365443],[-120.899589,35.425121],[-121.02284,35.480777],[-121.137949,35.607131],[-121.283831,35.676323],[-121.343855,35.792229],[-121.433745,35.86386],[-121.465012,35.927394],[-121.664353,36.154042],[-121.877411,36.331064],[-121.910178,36.432919],[-121.918648,36.572346],[-121.835141,36.657457],[-121.790004,36.732285],[-121.794525,36.800961],[-121.807445,36.851234],[-121.880669,36.938938],[-122.164215,36.990969],[-122.3949,37.207521],[-122.408468,37.373173],[-122.499237,37.542615],[-122.500451,37.652764],[-122.514223,37.771987],[-122.445624,37.798003],[-122.384101,37.788544],[-122.390275,37.741083],[-122.369708,37.655862],[-122.297594,37.591866],[-122.228661,37.563906],[-122.166,37.501669],[-122.11905,37.482827],[-122.070529,37.478279],[-122.096544,37.518203],[-122.124142,37.543812],[-122.15804,37.62644],[-122.222201,37.732041],[-122.29599,37.790356],[-122.333432,37.896605],[-122.365473,37.921204],[-122.385446,37.960579],[-122.314233,38.007347],[-122.217031,38.040647],[-122.086728,38.049612],[-121.716857,38.034066],[-121.638101,38.061268],[-121.573013,38.052402],[-121.525343,38.055918],[-121.625725,38.083933],[-121.682206,38.074781],[-121.748635,38.080461],[-121.880773,38.075012],[-121.934155,38.086823],[-121.993119,38.120133],[-122.031511,38.123517],[-122.153778,38.065531],[-122.208297,38.072529],[-122.337129,38.135887],[-122.393351,38.144808],[-122.483889,38.108839],[-122.494892,37.95358],[-122.46691,37.838213],[-122.521325,37.826403],[-122.584189,37.874072],[-122.680698,37.90234],[-122.760382,37.945648],[-122.872932,38.026046],[-122.932,38.055457],[-122.998791,37.988616],[-123.001455,38.019279],[-122.96815,38.097007],[-122.977604,38.227327],[-122.87681,38.123363],[-122.908154,38.196587],[-122.986547,38.277095],[-123.046181,38.305055],[-123.121162,38.449283],[-123.289731,38.535867],[-123.424786,38.675624],[-123.701125,38.907293],[-123.719522,39.110968],[-123.820294,39.3684],[-123.777788,39.514957],[-123.783501,39.618723],[-123.832928,39.775509],[-123.884476,39.860796],[-124.108515,40.09453],[-124.324034,40.251964],[-124.356537,40.371078],[-124.371654,40.491202],[-124.324522,40.598088],[-124.283675,40.710534],[-124.253908,40.740307],[-124.242334,40.727903],[-124.250601,40.70392],[-124.220009,40.696482],[-124.208435,40.746096],[-124.190242,40.771727],[-124.222487,40.775034],[-124.21918,40.790745],[-124.199904,40.822056],[-124.133091,40.969778],[-124.140013,41.155886],[-124.068519,41.384171],[-124.071903,41.459516],[-124.117688,41.621751],[-124.163243,41.719002],[-124.244608,41.787941],[-124.208743,41.888554],[-124.211665,41.984618],[-124.228409,42.000768],[-123.955656,42.000559],[-123.692007,42.000559],[-123.428351,42.000559],[-123.164701,42.000559],[-122.901046,42.000559],[-122.63739,42.000559],[-122.37374,42.000559],[-122.110063,42.000559],[-121.84638,42.000559],[-121.58273,42.000559],[-121.319075,42.000559],[-121.05542,42.000559],[-120.79177,42.000559],[-120.528114,42.000559],[-120.264464,42.000559],[-120.000809,42.000559],[-120.000759,41.813056],[-120.000704,41.625519],[-120.000655,41.438015],[-120.000628,41.250501],[-120.0006,41.062975],[-120.000551,40.87546],[-120.000501,40.687957],[-120.000446,40.50042],[-120.000397,40.312883],[-120.000342,40.12538],[-120.000293,39.937876],[-120.000243,39.750339],[-120.000188,39.562803],[-120.000139,39.375299],[-120.000084,39.187784],[-120.000062,39.000259],[-119.765839,38.836782],[-119.531616,38.673295],[-119.297387,38.509796],[-119.063164,38.34632],[-118.828941,38.182843],[-118.594718,38.019333],[-118.360495,37.855857],[-118.126272,37.69238],[-117.942949,37.554579],[-117.759603,37.416788],[-117.576253,37.278965],[-117.392935,37.141174],[-117.209611,37.003373],[-117.02626,36.865549],[-116.842915,36.727759],[-116.659592,36.589968],[-116.405681,36.391786],[-116.151743,36.193625],[-115.897827,35.995476],[-115.643917,35.797294],[-115.390006,35.599122],[-115.136096,35.400962],[-114.88218,35.202812],[-114.610543,34.991117]]],[[[-119.882393,34.07968],[-119.678865,34.028462],[-119.569129,34.052961],[-119.549287,34.028154],[-119.562207,34.00661],[-119.809581,33.967795],[-119.885518,33.994931],[-119.892418,34.032164],[-119.918049,34.067848],[-119.882393,34.07968]]],[[[-120.306602,34.024869],[-120.359705,34.022265],[-120.441558,34.032933],[-120.412928,34.056323],[-120.367736,34.073297],[-120.353322,34.060586],[-120.306602,34.024869]]],[[[-120.043573,33.918862],[-120.113902,33.904855],[-120.167131,33.918082],[-120.251907,34.013839],[-120.071841,34.026506],[-119.994404,33.984934],[-119.983939,33.973332],[-120.043573,33.918862]]],[[[-118.347965,33.385762],[-118.297478,33.312131],[-118.370234,33.321217],[-118.446304,33.317086],[-118.469353,33.357142],[-118.49204,33.412821],[-118.507333,33.427004],[-118.559425,33.43197],[-118.563325,33.437079],[-118.569422,33.464182],[-118.554849,33.47708],[-118.391707,33.415095],[-118.347965,33.385762]]],[[[-119.438029,33.217198],[-119.482496,33.215342],[-119.543679,33.224614],[-119.575177,33.278326],[-119.525128,33.282051],[-119.478799,33.274635],[-119.442055,33.232447],[-119.438029,33.217198]]],[[[-118.350393,32.827612],[-118.408582,32.818515],[-118.473204,32.838928],[-118.52891,32.935608],[-118.59017,33.011161],[-118.557101,33.032661],[-118.507492,32.959898],[-118.383182,32.849464],[-118.350393,32.827612]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"USA-3522","diss_me":3522,"iso_3166_2":"US-CO","wikipedia":"http://en.wikipedia.org/wiki/Colorado","iso_a2":"US","adm0_sr":1,"name":"Colorado","name_alt":"CO|Colo.","name_local":null,"type":"State","type_en":"State","code_local":"US08","code_hasc":"US.CO","note":null,"hasc_maybe":null,"region":"West","region_cod":null,"provnum_ne":0,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":"Colo.","postal":"CO","area_sqkm":0,"sameascity":-99,"labelrank":0,"name_len":8,"mapcolor9":1,"mapcolor13":1,"fips":"US08","fips_alt":null,"woe_id":2347564,"woe_label":"Colorado, US, United States","woe_name":"Colorado","latitude":38.9998,"longitude":-105.543,"sov_a3":"US1","adm0_a3":"USA","adm0_label":2,"admin":"United States of America","geonunit":"United States of America","gu_a3":"USA","gn_id":5417618,"gn_name":"Colorado","gns_id":-1,"gns_name":null,"gn_level":1,"gn_region":null,"gn_a1_code":"US.CO","region_sub":"Mountain","sub_code":null,"gns_level":-1,"gns_lang":null,"gns_adm1":null,"gns_region":null,"min_label":3.5,"max_label":7.5,"min_zoom":2,"wikidataid":"Q1261","name_ar":"كولورادو","name_bn":"কলোরাডো","name_de":"Colorado","name_en":"Colorado","name_es":"Colorado","name_fr":"Colorado","name_el":"Κολοράντο","name_hi":"कॉलराडो","name_hu":"Colorado","name_id":"Colorado","name_it":"Colorado","name_ja":"コロラド州","name_ko":"콜로라도","name_nl":"Colorado","name_pl":"Kolorado","name_pt":"Colorado","name_ru":"Колорадо","name_sv":"Colorado","name_tr":"Colorado","name_vi":"Colorado","name_zh":"科罗拉多州","ne_id":1159315343,"name_he":"קולורדו","name_uk":"Колорадо","name_ur":"کولوراڈو","name_fa":"کلرادو","name_zht":"科羅拉多州","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[-109.04667,37.000846,-102.012783,41.000858],"geometry":{"type":"Polygon","coordinates":[[[-109.04667,37.000846],[-109.046648,37.250851],[-109.046648,37.500834],[-109.046621,37.750828],[-109.046593,38.000833],[-109.046593,38.250848],[-109.046566,38.500853],[-109.046544,38.750869],[-109.046544,39.000819],[-109.046516,39.250835],[-109.046489,39.50084],[-109.046489,39.750856],[-109.046467,40.000872],[-109.04644,40.250877],[-109.04644,40.500859],[-109.046412,40.750842],[-109.04639,41.000858],[-108.732351,41.000858],[-108.418313,41.000858],[-108.104274,41.000858],[-107.790213,41.000858],[-107.476147,41.000858],[-107.162108,41.000858],[-106.84807,41.000858],[-106.534037,41.000858],[-106.219998,41.000858],[-105.905932,41.000858],[-105.591871,41.000858],[-105.277832,41.000858],[-104.963794,41.000858],[-104.649755,41.000858],[-104.335722,41.000858],[-104.021655,41.000858],[-103.772084,41.000836],[-103.522486,41.000803],[-103.272915,41.000781],[-103.023344,41.000748],[-102.773746,41.000726],[-102.524175,41.000704],[-102.274604,41.00065],[-102.025006,41.000628],[-102.024956,40.875691],[-102.024879,40.750744],[-102.024802,40.625818],[-102.024747,40.500892],[-102.024698,40.375934],[-102.024621,40.251008],[-102.024544,40.126083],[-102.024489,40.001124],[-102.02377,39.813588],[-102.023045,39.626084],[-102.022319,39.43858],[-102.021572,39.251044],[-102.02082,39.063529],[-102.0201,38.876025],[-102.019375,38.688489],[-102.01865,38.500985],[-102.017925,38.31347],[-102.017178,38.125945],[-102.016431,37.93843],[-102.015706,37.750927],[-102.014981,37.56339],[-102.014261,37.375853],[-102.013536,37.188372],[-102.012783,37.000846],[-102.2598,37.000846],[-102.506811,37.000846],[-102.753828,37.000846],[-103.000839,37.000846],[-103.378724,37.000846],[-103.756583,37.000846],[-104.134441,37.000846],[-104.512299,37.000846],[-104.890158,37.000846],[-105.268016,37.000846],[-105.645874,37.000846],[-106.023755,37.000846],[-106.40164,37.000846],[-106.779499,37.000846],[-107.157357,37.000846],[-107.535215,37.000846],[-107.913073,37.000846],[-108.290932,37.000846],[-108.66879,37.000846],[-109.04667,37.000846]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"USA-3537","diss_me":3537,"iso_3166_2":"US-CT","wikipedia":"http://en.wikipedia.org/wiki/Connecticut","iso_a2":"US","adm0_sr":1,"name":"Connecticut","name_alt":"CT|Conn.","name_local":null,"type":"State","type_en":"State","code_local":"US09","code_hasc":"US.CT","note":null,"hasc_maybe":null,"region":"Northeast","region_cod":null,"provnum_ne":0,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":"Conn.","postal":"CT","area_sqkm":0,"sameascity":-99,"labelrank":0,"name_len":11,"mapcolor9":1,"mapcolor13":1,"fips":"US09","fips_alt":null,"woe_id":2347565,"woe_label":"Connecticut, US, United States","woe_name":"Connecticut","latitude":41.6486,"longitude":-72.7594,"sov_a3":"US1","adm0_a3":"USA","adm0_label":2,"admin":"United States of America","geonunit":"United States of America","gu_a3":"USA","gn_id":4831725,"gn_name":"Connecticut","gns_id":-1,"gns_name":null,"gn_level":1,"gn_region":null,"gn_a1_code":"US.CT","region_sub":"New England","sub_code":null,"gns_level":-1,"gns_lang":null,"gns_adm1":null,"gns_region":null,"min_label":3.5,"max_label":7.5,"min_zoom":2,"wikidataid":"Q779","name_ar":"كونيتيكت","name_bn":"কানেটিকাট","name_de":"Connecticut","name_en":"Connecticut","name_es":"Connecticut","name_fr":"Connecticut","name_el":"Κονέκτικατ","name_hi":"कनेक्टिकट","name_hu":"Connecticut","name_id":"Connecticut","name_it":"Connecticut","name_ja":"コネチカット州","name_ko":"코네티컷","name_nl":"Connecticut","name_pl":"Connecticut","name_pt":"Connecticut","name_ru":"Коннектикут","name_sv":"Connecticut","name_tr":"Connecticut","name_vi":"Connecticut","name_zh":"康涅狄格州","ne_id":1159315301,"name_he":"קונטיקט","name_uk":"Коннектикут","name_ur":"کنیکٹیکٹ","name_fa":"کانتیکت","name_zht":"康乃狄克州","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[-73.723015,40.99186,-71.795793,42.055568],"geometry":{"type":"Polygon","coordinates":[[[-71.800836,42.011963],[-71.800319,41.95824],[-71.799561,41.883027],[-71.798968,41.828502],[-71.798199,41.753114],[-71.79732,41.667586],[-71.796518,41.588858],[-71.795793,41.519951],[-71.799232,41.47917],[-71.804527,41.416746],[-71.829873,41.392741],[-71.842353,41.335513],[-71.929947,41.341039],[-72.07389,41.326109],[-72.265272,41.291666],[-72.371059,41.312156],[-72.479417,41.27578],[-72.847152,41.265849],[-72.924715,41.285151],[-73.023724,41.216476],[-73.182268,41.175838],[-73.582994,41.021886],[-73.630466,40.99186],[-73.682113,41.054702],[-73.723015,41.104514],[-73.641881,41.143406],[-73.579797,41.173146],[-73.521756,41.200919],[-73.484139,41.218959],[-73.51445,41.257455],[-73.544729,41.295951],[-73.53672,41.390906],[-73.528689,41.485839],[-73.520647,41.580794],[-73.512638,41.675748],[-73.504629,41.770703],[-73.496619,41.865658],[-73.48861,41.960613],[-73.480568,42.055568],[-73.396468,42.052887],[-73.312346,42.050195],[-73.228234,42.047515],[-73.144134,42.044823],[-73.060034,42.042132],[-72.975922,42.039451],[-72.8918,42.036759],[-72.8077,42.034079],[-72.806458,42.00803],[-72.763326,42.011238],[-72.757624,42.034079],[-72.638115,42.03265],[-72.518638,42.031233],[-72.39914,42.029816],[-72.279642,42.028388],[-72.160133,42.02697],[-72.040634,42.025553],[-71.921136,42.024125],[-71.801638,42.022708],[-71.800836,42.011963]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"USA-3556","diss_me":3556,"iso_3166_2":"US-DC","wikipedia":"http://en.wikipedia.org/wiki/Washington,_D.C.","iso_a2":"US","adm0_sr":1,"name":"District of Columbia","name_alt":"DC|D.C.","name_local":null,"type":"Federal District","type_en":"Federal District","code_local":"US11","code_hasc":"US.DC","note":null,"hasc_maybe":null,"region":"South","region_cod":null,"provnum_ne":0,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":"D.C.","postal":"DC","area_sqkm":0,"sameascity":9,"labelrank":9,"name_len":20,"mapcolor9":1,"mapcolor13":1,"fips":"US11","fips_alt":null,"woe_id":2347567,"woe_label":"District of Columbia, US, United States","woe_name":"District of Columbia","latitude":38.8922,"longitude":-77.0113,"sov_a3":"US1","adm0_a3":"USA","adm0_label":2,"admin":"United States of America","geonunit":"United States of America","gu_a3":"USA","gn_id":4138106,"gn_name":"District of Columbia","gns_id":-1,"gns_name":null,"gn_level":1,"gn_region":null,"gn_a1_code":"US.DC","region_sub":"South Atlantic","sub_code":null,"gns_level":-1,"gns_lang":null,"gns_adm1":null,"gns_region":null,"min_label":3.5,"max_label":7.5,"min_zoom":2,"wikidataid":"Q61","name_ar":"واشنطن","name_bn":"ওয়াশিংটন","name_de":"Washington","name_en":"Washington","name_es":"Washington D. C.","name_fr":"Washington","name_el":"Ουάσινγκτον","name_hi":"वॉशिंगटन डी॰ सी॰","name_hu":"Washington","name_id":"Washington","name_it":"Washington","name_ja":"ワシントンD.C.","name_ko":"워싱턴 D.C.","name_nl":"Washington D.C.","name_pl":"Waszyngton","name_pt":"Washington","name_ru":"Вашингтон","name_sv":"Washington","name_tr":"Washington","name_vi":"Washington","name_zh":"华盛顿哥伦比亚特区","ne_id":1159315327,"name_he":"וושינגטון די. סי.","name_uk":"Вашингтон","name_ur":"واشنگٹن ڈی سی","name_fa":"واشینگتن، دی. سی.","name_zht":"華盛頓哥倫比亞特區","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[-77.122053,38.806526,-76.931242,39.011783],"geometry":{"type":"Polygon","coordinates":[[[-77.030361,38.889253],[-77.053048,38.915302],[-77.101827,38.935967],[-77.122053,38.943536],[-77.042116,39.011783],[-76.988789,38.952347],[-76.931242,38.88822],[-77.019737,38.806526],[-77.030361,38.889253]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"USA-3555","diss_me":3555,"iso_3166_2":"US-DE","wikipedia":"http://en.wikipedia.org/wiki/Delaware","iso_a2":"US","adm0_sr":1,"name":"Delaware","name_alt":"DE|Del.","name_local":null,"type":"State","type_en":"State","code_local":"US10","code_hasc":"US.DE","note":null,"hasc_maybe":null,"region":"South","region_cod":null,"provnum_ne":0,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":"Del.","postal":"DE","area_sqkm":0,"sameascity":-99,"labelrank":0,"name_len":8,"mapcolor9":1,"mapcolor13":1,"fips":"US10","fips_alt":null,"woe_id":2347566,"woe_label":"Delaware, US, United States","woe_name":"Delaware","latitude":38.8657,"longitude":-75.4112,"sov_a3":"US1","adm0_a3":"USA","adm0_label":2,"admin":"United States of America","geonunit":"United States of America","gu_a3":"USA","gn_id":4142224,"gn_name":"Delaware","gns_id":-1,"gns_name":null,"gn_level":1,"gn_region":null,"gn_a1_code":"US.DE","region_sub":"South Atlantic","sub_code":null,"gns_level":-1,"gns_lang":null,"gns_adm1":null,"gns_region":null,"min_label":3.5,"max_label":7.5,"min_zoom":2,"wikidataid":"Q1393","name_ar":"ديلاوير","name_bn":"ডেলাওয়্যার","name_de":"Delaware","name_en":"Delaware","name_es":"Delaware","name_fr":"Delaware","name_el":"Ντέλαγουερ","name_hi":"डेलावेयर","name_hu":"Delaware","name_id":"Delaware","name_it":"Delaware","name_ja":"デラウェア州","name_ko":"델라웨어","name_nl":"Delaware","name_pl":"Delaware","name_pt":"Delaware","name_ru":"Делавэр","name_sv":"Delaware","name_tr":"Delaware","name_vi":"Delaware","name_zh":"特拉华州","ne_id":1159315325,"name_he":"דלאוור","name_uk":"Делавер","name_ur":"ڈیلاویئر","name_fa":"دلاویر","name_zht":"特拉華州","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[-75.78472,38.454865,-75.035881,39.843438],"geometry":{"type":"Polygon","coordinates":[[[-75.037661,38.45559],[-75.144657,38.454865],[-75.366273,38.454919],[-75.587856,38.454996],[-75.688601,38.455018],[-75.690908,38.455018],[-75.693226,38.455018],[-75.695533,38.455018],[-75.697829,38.455018],[-75.700125,38.455018],[-75.702433,38.45504],[-75.704729,38.455073],[-75.707025,38.455073],[-75.716748,38.613485],[-75.72646,38.771897],[-75.736172,38.930309],[-75.745883,39.088721],[-75.755606,39.247144],[-75.765318,39.405555],[-75.77503,39.563945],[-75.78472,39.722357],[-75.709145,39.802898],[-75.676823,39.827233],[-75.634581,39.839482],[-75.510446,39.843438],[-75.421029,39.815422],[-75.464403,39.780936],[-75.50213,39.717391],[-75.587603,39.640784],[-75.581583,39.589467],[-75.567268,39.552992],[-75.573882,39.476945],[-75.519807,39.40282],[-75.412657,39.281377],[-75.392168,39.092753],[-75.310407,38.966564],[-75.185064,38.819391],[-75.088692,38.777533],[-75.08399,38.72281],[-75.128485,38.632448],[-75.187108,38.591128],[-75.110863,38.599379],[-75.072883,38.578735],[-75.035881,38.503336],[-75.037661,38.45559]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"USA-3542","diss_me":3542,"iso_3166_2":"US-FL","wikipedia":"http://en.wikipedia.org/wiki/Florida","iso_a2":"US","adm0_sr":5,"name":"Florida","name_alt":"FL|Fla.","name_local":null,"type":"State","type_en":"State","code_local":"US12","code_hasc":"US.FL","note":null,"hasc_maybe":null,"region":"South","region_cod":null,"provnum_ne":0,"gadm_level":1,"check_me":20,"datarank":8,"abbrev":"Fla.","postal":"FL","area_sqkm":0,"sameascity":-99,"labelrank":0,"name_len":7,"mapcolor9":1,"mapcolor13":1,"fips":"US12","fips_alt":null,"woe_id":2347568,"woe_label":"Florida, US, United States","woe_name":"Florida","latitude":28.1568,"longitude":-81.6228,"sov_a3":"US1","adm0_a3":"USA","adm0_label":2,"admin":"United States of America","geonunit":"United States of America","gu_a3":"USA","gn_id":4155751,"gn_name":"Florida","gns_id":-1,"gns_name":null,"gn_level":1,"gn_region":null,"gn_a1_code":"US.FL","region_sub":"South Atlantic","sub_code":null,"gns_level":-1,"gns_lang":null,"gns_adm1":null,"gns_region":null,"min_label":3.5,"max_label":7.5,"min_zoom":2,"wikidataid":"Q812","name_ar":"فلوريدا","name_bn":"ফ্লোরিডা","name_de":"Florida","name_en":"Florida","name_es":"Florida","name_fr":"Floride","name_el":"Φλόριντα","name_hi":"फ़्लोरिडा","name_hu":"Florida","name_id":"Florida","name_it":"Florida","name_ja":"フロリダ州","name_ko":"플로리다","name_nl":"Florida","name_pl":"Floryda","name_pt":"Flórida","name_ru":"Флорида","name_sv":"Florida","name_tr":"Florida","name_vi":"Florida","name_zh":"佛罗里达州","ne_id":1159315207,"name_he":"פלורידה","name_uk":"Флорида","name_ur":"فلوریڈا","name_fa":"فلوریدا","name_zht":"佛羅里達州","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[-87.607438,24.542349,-80.041307,31.001673],"geometry":{"type":"MultiPolygon","coordinates":[[[[-87.489511,30.377683],[-87.480106,30.411707],[-87.444807,30.442557],[-87.429382,30.477856],[-87.43381,30.545938],[-87.408278,30.641465],[-87.421659,30.671589],[-87.566195,30.795636],[-87.601055,30.860598],[-87.607438,30.929328],[-87.593694,31.000739],[-87.2703,31.000794],[-86.94694,31.000849],[-86.623568,31.000893],[-86.300175,31.000948],[-85.976792,31.001003],[-85.653399,31.001058],[-85.330005,31.001102],[-85.007282,31.001673],[-84.966335,30.922638],[-84.886882,30.75926],[-84.883938,30.72094],[-84.790378,30.715128],[-84.630978,30.705779],[-84.471555,30.696451],[-84.312166,30.687124],[-84.152765,30.677763],[-83.993342,30.668414],[-83.833942,30.659087],[-83.674552,30.649759],[-83.515129,30.640399],[-83.355707,30.63105],[-83.196306,30.621722],[-83.036916,30.612395],[-82.877494,30.603045],[-82.718093,30.593685],[-82.558704,30.584358],[-82.399281,30.57503],[-82.23988,30.565681],[-82.238924,30.532612],[-82.212733,30.480746],[-82.20624,30.421606],[-82.194232,30.393437],[-82.162624,30.375716],[-82.112274,30.371355],[-82.061759,30.404599],[-82.029822,30.477702],[-82.021835,30.559869],[-82.04116,30.65322],[-82.038193,30.73197],[-82.012947,30.778069],[-81.983053,30.789494],[-81.957081,30.81429],[-81.935592,30.819509],[-81.880452,30.806336],[-81.673359,30.740243],[-81.503939,30.731432],[-81.457192,30.640761],[-81.385726,30.269984],[-81.337101,30.141213],[-81.249507,29.793792],[-81.104531,29.456963],[-80.900021,29.049853],[-80.5643,28.556402],[-80.524123,28.48609],[-80.567816,28.426456],[-80.581153,28.36468],[-80.584977,28.271604],[-80.572859,28.180868],[-80.533165,28.07007],[-80.456887,27.900672],[-80.499547,27.934466],[-80.610015,28.177605],[-80.62288,28.320361],[-80.606938,28.522883],[-80.632877,28.518027],[-80.653883,28.452186],[-80.665484,28.374908],[-80.693489,28.344959],[-80.731754,28.46292],[-80.729051,28.516214],[-80.688457,28.57854],[-80.700267,28.600941],[-80.765943,28.632823],[-80.779896,28.682954],[-80.771008,28.732458],[-80.80868,28.758946],[-80.83819,28.75765],[-80.818425,28.635614],[-80.787213,28.560632],[-80.748607,28.381005],[-80.686359,28.272175],[-80.650115,28.180911],[-80.226108,27.20705],[-80.12577,27.083004],[-80.088647,26.99396],[-80.050041,26.807697],[-80.041307,26.568613],[-80.110587,26.131588],[-80.126374,25.833518],[-80.136295,25.842614],[-80.142909,25.874024],[-80.158927,25.878342],[-80.219077,25.741738],[-80.300826,25.618537],[-80.327754,25.427078],[-80.36692,25.331267],[-80.484639,25.22983],[-80.557632,25.232412],[-80.736544,25.156342],[-80.862217,25.176195],[-81.011971,25.133249],[-81.110497,25.13805],[-81.167395,25.228533],[-81.158683,25.268996],[-81.136029,25.309646],[-81.097654,25.319149],[-80.965367,25.224304],[-80.940406,25.264217],[-80.980353,25.311656],[-81.05685,25.338144],[-81.113309,25.367236],[-81.227128,25.583403],[-81.345077,25.731817],[-81.364929,25.831035],[-81.568242,25.891547],[-81.715503,25.983173],[-81.81149,26.146101],[-81.866576,26.434997],[-81.931483,26.467451],[-81.958949,26.489929],[-81.895514,26.597166],[-81.82864,26.687056],[-81.881561,26.664677],[-81.920552,26.631422],[-81.970188,26.552045],[-82.006388,26.539851],[-82.039611,26.552045],[-82.077876,26.704338],[-82.066923,26.891567],[-82.013254,26.961561],[-82.095685,26.963418],[-82.181103,26.936776],[-82.168623,26.874351],[-82.180664,26.840096],[-82.242858,26.848874],[-82.290066,26.870814],[-82.354039,26.935743],[-82.44137,27.059691],[-82.620458,27.401069],[-82.655361,27.449233],[-82.714589,27.499583],[-82.686705,27.515272],[-82.63585,27.524577],[-82.520845,27.678254],[-82.430515,27.771121],[-82.400544,27.83538],[-82.405763,27.862901],[-82.445709,27.902848],[-82.498136,27.867911],[-82.520614,27.877887],[-82.579611,27.958449],[-82.635937,27.981213],[-82.675203,27.963767],[-82.633817,27.897783],[-82.596551,27.873239],[-82.610977,27.777219],[-82.626006,27.745985],[-82.660887,27.718409],[-82.715336,27.733109],[-82.742856,27.709367],[-82.775299,27.734383],[-82.807555,27.776549],[-82.843513,27.846004],[-82.748536,28.236799],[-82.660635,28.485859],[-82.650604,28.769922],[-82.644023,28.81201],[-82.651483,28.887486],[-82.769333,29.051556],[-83.29047,29.451898],[-83.694371,29.92598],[-84.04422,30.103794],[-84.309683,30.064759],[-84.355616,30.029021],[-84.375337,29.982274],[-84.358693,29.929386],[-84.38283,29.907369],[-84.454065,29.91016],[-84.549976,29.897866],[-84.800552,29.773072],[-84.888926,29.77761],[-84.96917,29.745288],[-85.029298,29.721085],[-85.18604,29.707901],[-85.318942,29.680205],[-85.376356,29.69519],[-85.413798,29.76759],[-85.413798,29.842473],[-85.383442,29.785058],[-85.33641,29.740124],[-85.314888,29.758076],[-85.306857,29.797846],[-85.353626,29.87575],[-85.504281,29.975792],[-85.6758,30.121932],[-85.623472,30.117076],[-85.610277,30.148398],[-85.663418,30.189454],[-85.640973,30.236893],[-85.603532,30.286782],[-85.675899,30.279289],[-85.740806,30.244386],[-85.742948,30.201253],[-85.755791,30.166998],[-85.79075,30.171986],[-85.855657,30.214404],[-86.17515,30.332518],[-86.454434,30.399128],[-86.240079,30.429099],[-86.123833,30.405797],[-86.137709,30.441557],[-86.165691,30.464244],[-86.257394,30.493017],[-86.374179,30.482064],[-86.447952,30.49561],[-86.523373,30.467112],[-86.606078,30.424682],[-86.679642,30.402896],[-86.967605,30.372354],[-87.201152,30.339231],[-87.163722,30.374189],[-87.123776,30.396667],[-86.985798,30.430857],[-86.965155,30.501916],[-86.997576,30.570328],[-87.033908,30.553925],[-87.072019,30.500433],[-87.118788,30.538962],[-87.170588,30.538786],[-87.184651,30.453697],[-87.251074,30.396667],[-87.281045,30.339231],[-87.475767,30.294275],[-87.500728,30.30926],[-87.443731,30.363829],[-87.448301,30.394162],[-87.489511,30.377683]]],[[[-84.907888,29.642632],[-85.00827,29.606618],[-85.116738,29.632788],[-85.049326,29.637776],[-85.000547,29.627185],[-84.876984,29.678678],[-84.812186,29.717646],[-84.737172,29.732445],[-84.907888,29.642632]]],[[[-80.186755,27.27844],[-80.170506,27.204798],[-80.262462,27.37557],[-80.376072,27.643427],[-80.436892,27.850553],[-80.395759,27.794555],[-80.355505,27.678617],[-80.186755,27.27844]]],[[[-82.083765,26.552331],[-82.085215,26.493598],[-82.135598,26.59197],[-82.169139,26.700723],[-82.121129,26.665534],[-82.083765,26.552331]]],[[[-82.037183,26.45363],[-82.072844,26.427537],[-82.144958,26.446654],[-82.184388,26.480942],[-82.201384,26.548046],[-82.138597,26.476987],[-82.116064,26.460914],[-82.037183,26.45363]]],[[[-80.381828,25.142291],[-80.580582,24.954238],[-80.558566,25.001314],[-80.481046,25.10196],[-80.456019,25.149322],[-80.403669,25.179337],[-80.354934,25.233653],[-80.351286,25.296956],[-80.280491,25.341242],[-80.257057,25.347603],[-80.381828,25.142291]]],[[[-80.638304,24.903184],[-80.665144,24.898449],[-80.62567,24.941087],[-80.614607,24.937934],[-80.638304,24.903184]]],[[[-80.829401,24.803681],[-80.848363,24.803681],[-80.838882,24.817886],[-80.799408,24.846308],[-80.785192,24.835278],[-80.786774,24.82104],[-80.829401,24.803681]]],[[[-81.044194,24.716812],[-81.090007,24.693115],[-81.137369,24.710506],[-81.08525,24.734204],[-80.930486,24.759472],[-80.988922,24.727875],[-81.044194,24.716812]]],[[[-81.334794,24.650488],[-81.364797,24.629943],[-81.379036,24.636271],[-81.379036,24.666275],[-81.421662,24.7326],[-81.420091,24.749991],[-81.322313,24.685084],[-81.319841,24.667615],[-81.334794,24.650488]]],[[[-81.566693,24.599896],[-81.631501,24.590019],[-81.57925,24.629372],[-81.562298,24.689138],[-81.531636,24.642479],[-81.532229,24.614156],[-81.566693,24.599896]]],[[[-81.783838,24.54458],[-81.809216,24.542349],[-81.811413,24.557807],[-81.767688,24.576715],[-81.738651,24.575429],[-81.739761,24.5545],[-81.783838,24.54458]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"USA-3543","diss_me":3543,"iso_3166_2":"US-GA","wikipedia":"http://en.wikipedia.org/wiki/Georgia_(U.S._state)","iso_a2":"US","adm0_sr":6,"name":"Georgia","name_alt":"GA|Ga.","name_local":null,"type":"State","type_en":"State","code_local":"US13","code_hasc":"US.GA","note":null,"hasc_maybe":null,"region":"South","region_cod":null,"provnum_ne":0,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":"Ga.","postal":"GA","area_sqkm":0,"sameascity":-99,"labelrank":0,"name_len":7,"mapcolor9":1,"mapcolor13":1,"fips":"US13","fips_alt":null,"woe_id":2347569,"woe_label":"Georgia, US, United States","woe_name":"Georgia","latitude":32.8547,"longitude":-83.4078,"sov_a3":"US1","adm0_a3":"USA","adm0_label":2,"admin":"United States of America","geonunit":"United States of America","gu_a3":"USA","gn_id":4197000,"gn_name":"Georgia","gns_id":-1,"gns_name":null,"gn_level":1,"gn_region":null,"gn_a1_code":"US.GA","region_sub":"South Atlantic","sub_code":null,"gns_level":-1,"gns_lang":null,"gns_adm1":null,"gns_region":null,"min_label":3.5,"max_label":7.5,"min_zoom":2,"wikidataid":"Q1428","name_ar":"جورجيا","name_bn":"জর্জিয়া","name_de":"Georgia","name_en":"Georgia","name_es":"Georgia","name_fr":"Géorgie","name_el":"Τζόρτζια","name_hi":"जॉर्जिया","name_hu":"Georgia","name_id":"Georgia","name_it":"Georgia","name_ja":"ジョージア州","name_ko":"조지아","name_nl":"Georgia","name_pl":"Georgia","name_pt":"Geórgia","name_ru":"Джорджия","name_sv":"Georgia","name_tr":"Georgia","name_vi":"Georgia","name_zh":"佐治亚州","ne_id":1159311857,"name_he":"ג'ורג'יה","name_uk":"Джорджія","name_ur":"ریاست جارجیا","name_fa":"جورجیا","name_zht":"喬治亞州","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[-85.623604,30.371355,-80.872346,35.001477],"geometry":{"type":"MultiPolygon","coordinates":[[[[-85.007282,31.001673],[-85.067443,31.117579],[-85.092601,31.295711],[-85.054885,31.572677],[-85.067047,31.635178],[-85.067201,31.635387],[-85.124824,31.77677],[-85.124132,31.880536],[-85.06441,32.050527],[-85.064564,32.051043],[-85.034627,32.147372],[-84.992977,32.201831],[-84.929696,32.246556],[-84.921533,32.285887],[-84.9685,32.319813],[-84.985968,32.360946],[-84.973905,32.409286],[-85.015038,32.526158],[-85.156531,32.804277],[-85.176317,32.898221],[-85.200971,32.956229],[-85.227382,33.084022],[-85.253782,33.211826],[-85.280193,33.339619],[-85.306626,33.46739],[-85.333059,33.595161],[-85.359459,33.722954],[-85.38587,33.850747],[-85.412271,33.978551],[-85.438682,34.106344],[-85.465115,34.234137],[-85.491548,34.36193],[-85.517948,34.489679],[-85.544359,34.617472],[-85.57077,34.745265],[-85.59717,34.873069],[-85.623604,35.000862],[-85.298892,34.997654],[-84.974158,34.994479],[-84.649424,34.991304],[-84.32469,34.988096],[-84.022225,34.991457],[-83.719772,34.994786],[-83.417307,34.998126],[-83.114821,35.001477],[-83.121357,35.000554],[-83.1704,34.932911],[-83.316716,34.805657],[-83.355575,34.708318],[-83.166522,34.599597],[-83.165896,34.598531],[-83.052781,34.51086],[-82.975679,34.476396],[-82.896819,34.465806],[-82.847732,34.436911],[-82.818607,34.366072],[-82.818585,34.366017],[-82.589268,34.017377],[-82.589344,34.017618],[-82.351897,33.837728],[-82.256623,33.749233],[-82.208361,33.663584],[-82.005718,33.522893],[-81.936394,33.447285],[-81.932845,33.38987],[-81.908741,33.349254],[-81.864093,33.325436],[-81.821279,33.274096],[-81.780322,33.195292],[-81.69932,33.126759],[-81.57824,33.068575],[-81.489778,32.935663],[-81.433813,32.728032],[-81.37697,32.607468],[-81.290332,32.557239],[-81.171504,32.380139],[-81.132953,32.27467],[-81.135018,32.181858],[-81.074813,32.109699],[-80.872346,32.029565],[-80.923432,31.944894],[-81.045535,31.892038],[-81.082877,31.894104],[-81.113287,31.878624],[-81.095511,31.840897],[-81.065046,31.813464],[-81.066134,31.787987],[-81.098401,31.75338],[-81.162121,31.743723],[-81.197904,31.704216],[-81.186588,31.666961],[-81.165527,31.646153],[-81.169922,31.610316],[-81.242399,31.574325],[-81.25935,31.538927],[-81.223414,31.528468],[-81.195685,31.538927],[-81.175426,31.531302],[-81.21891,31.472141],[-81.257933,31.436018],[-81.294979,31.371209],[-81.380947,31.353258],[-81.377739,31.332296],[-81.329136,31.313751],[-81.288464,31.263906],[-81.364874,31.171895],[-81.412621,31.179443],[-81.441767,31.199724],[-81.460345,31.127071],[-81.453215,31.088279],[-81.471376,31.009012],[-81.500599,30.913772],[-81.520397,30.874649],[-81.516233,30.80181],[-81.503939,30.731432],[-81.673359,30.740243],[-81.880452,30.806336],[-81.935592,30.819509],[-81.957081,30.81429],[-81.983053,30.789494],[-82.012947,30.778069],[-82.038193,30.73197],[-82.04116,30.65322],[-82.021835,30.559869],[-82.029822,30.477702],[-82.061759,30.404599],[-82.112274,30.371355],[-82.162624,30.375716],[-82.194232,30.393437],[-82.20624,30.421606],[-82.212733,30.480746],[-82.238924,30.532612],[-82.23988,30.565681],[-82.399281,30.57503],[-82.558704,30.584358],[-82.718093,30.593685],[-82.877494,30.603045],[-83.036916,30.612395],[-83.196306,30.621722],[-83.355707,30.63105],[-83.515129,30.640399],[-83.674552,30.649759],[-83.833942,30.659087],[-83.993342,30.668414],[-84.152765,30.677763],[-84.312166,30.687124],[-84.471555,30.696451],[-84.630978,30.705779],[-84.790378,30.715128],[-84.883938,30.72094],[-84.886882,30.75926],[-84.966335,30.922638],[-85.007282,31.001673]]],[[[-81.418982,30.971439],[-81.463498,30.727762],[-81.482725,30.814093],[-81.484636,30.897831],[-81.450941,30.947412],[-81.418982,30.971439]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"USA-3517","diss_me":3517,"iso_3166_2":"US-HI","wikipedia":"http://en.wikipedia.org/wiki/Hawaii","iso_a2":"US","adm0_sr":8,"name":"Hawaii","name_alt":"HI|Hawaii","name_local":null,"type":"State","type_en":"State","code_local":"US15","code_hasc":"US.HI","note":null,"hasc_maybe":null,"region":"West","region_cod":null,"provnum_ne":0,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":"Hawaii","postal":"HI","area_sqkm":0,"sameascity":-99,"labelrank":0,"name_len":6,"mapcolor9":1,"mapcolor13":1,"fips":"US15","fips_alt":null,"woe_id":2347570,"woe_label":"Hawaii, US, United States","woe_name":"Hawaii","latitude":21.4919,"longitude":-157.999,"sov_a3":"US1","adm0_a3":"USA","adm0_label":2,"admin":"United States of America","geonunit":"United States of America","gu_a3":"USA","gn_id":5855797,"gn_name":"Hawaii","gns_id":-1,"gns_name":null,"gn_level":1,"gn_region":null,"gn_a1_code":"US.HI","region_sub":"Pacific","sub_code":null,"gns_level":-1,"gns_lang":null,"gns_adm1":null,"gns_region":null,"min_label":3.5,"max_label":7.5,"min_zoom":2,"wikidataid":"Q782","name_ar":"هاواي","name_bn":"হাওয়াই","name_de":"Hawaii","name_en":"Hawaii","name_es":"Hawái","name_fr":"Hawaï","name_el":"Χαβάη","name_hi":"हवाई","name_hu":"Hawaii","name_id":"Hawaii","name_it":"Hawaii","name_ja":"ハワイ州","name_ko":"하와이","name_nl":"Hawaï","name_pl":"Hawaje","name_pt":"Havaí","name_ru":"Гавайи","name_sv":"Hawaii","name_tr":"Hawaii","name_vi":"Hawaii","name_zh":"夏威夷州","ne_id":1159308409,"name_he":"הוואי","name_uk":"Гаваї","name_ur":"ہوائی","name_fa":"هاوائی","name_zht":"夏威夷州","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[-177.390485,18.963909,-154.804188,28.221176],"geometry":{"type":"MultiPolygon","coordinates":[[[[-177.371467,28.2005],[-177.390485,28.196369],[-177.388831,28.208773],[-177.370641,28.221176],[-177.354104,28.217035],[-177.361546,28.207114],[-177.371467,28.2005]]],[[[-159.372773,21.93236],[-159.460674,21.876132],[-159.51186,21.900368],[-159.608858,21.90952],[-159.646373,21.95174],[-159.748022,21.989819],[-159.789182,22.041806],[-159.726626,22.1402],[-159.579222,22.223135],[-159.352052,22.219576],[-159.304792,22.154053],[-159.300658,22.105263],[-159.33019,22.050694],[-159.34373,21.973647],[-159.372773,21.93236]]],[[[-160.18001,21.841075],[-160.200241,21.796888],[-160.234711,21.803677],[-160.243445,21.843063],[-160.220912,21.89727],[-160.16386,21.944039],[-160.100636,22.015241],[-160.048728,22.00465],[-160.076711,21.95809],[-160.080042,21.907443],[-160.153395,21.878769],[-160.18001,21.841075]]],[[[-157.799355,21.456652],[-157.764989,21.450939],[-157.720885,21.457707],[-157.705537,21.378078],[-157.65417,21.333913],[-157.635411,21.307645],[-157.690887,21.279739],[-157.798786,21.268621],[-157.849326,21.290847],[-157.901753,21.34056],[-157.958442,21.326915],[-157.968311,21.366916],[-157.97844,21.378484],[-158.017274,21.36774],[-157.98097,21.316115],[-158.079157,21.312237],[-158.110345,21.318598],[-158.137835,21.377144],[-158.239093,21.489337],[-158.238681,21.533051],[-158.273124,21.585247],[-158.123108,21.600255],[-158.02035,21.691804],[-157.962496,21.701362],[-157.851496,21.553365],[-157.854338,21.511913],[-157.829584,21.471451],[-157.799355,21.456652]]],[[[-157.213602,21.215392],[-157.002296,21.18796],[-156.952353,21.199693],[-156.917213,21.177314],[-156.742209,21.163515],[-156.712161,21.155088],[-156.747894,21.103574],[-156.85985,21.056332],[-157.020874,21.097784],[-157.290314,21.112582],[-157.27949,21.152353],[-157.253807,21.180566],[-157.249931,21.229763],[-157.213602,21.215392]]],[[[-156.486826,20.932571],[-156.460833,20.914741],[-156.354405,20.941459],[-156.277537,20.951281],[-156.148346,20.885495],[-156.103516,20.84033],[-156.018636,20.792067],[-155.989854,20.757131],[-156.013574,20.714811],[-156.107133,20.644784],[-156.234748,20.628613],[-156.309963,20.598796],[-156.408793,20.605179],[-156.438223,20.617868],[-156.448868,20.706231],[-156.480056,20.801241],[-156.543823,20.790002],[-156.615449,20.821829],[-156.689681,20.901414],[-156.697769,20.949062],[-156.656867,21.024505],[-156.585423,21.034327],[-156.532301,20.992678],[-156.486826,20.932571]]],[[[-156.849595,20.772632],[-156.908866,20.744474],[-156.973411,20.757548],[-156.988448,20.825707],[-157.050565,20.912466],[-156.941784,20.930045],[-156.880549,20.90482],[-156.848276,20.877794],[-156.80939,20.831135],[-156.849595,20.772632]]],[[[-155.581325,19.012018],[-155.625611,18.963909],[-155.680751,18.967677],[-155.881306,19.070521],[-155.905594,19.125815],[-155.890738,19.382543],[-155.965824,19.590789],[-156.048686,19.749959],[-155.988407,19.831609],[-155.908877,19.894704],[-155.820302,20.01418],[-155.892754,20.167396],[-155.874278,20.259802],[-155.831621,20.27582],[-155.622073,20.163419],[-155.198789,19.994383],[-155.086083,19.875632],[-155.065929,19.748201],[-154.989035,19.731974],[-154.952577,19.644644],[-154.841343,19.568157],[-154.804188,19.524443],[-154.850283,19.454108],[-155.053476,19.319185],[-155.309611,19.260167],[-155.535229,19.109072],[-155.581325,19.012018]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"USA-3529","diss_me":3529,"iso_3166_2":"US-IA","wikipedia":"http://en.wikipedia.org/wiki/Iowa","iso_a2":"US","adm0_sr":1,"name":"Iowa","name_alt":"IA|Iowa","name_local":null,"type":"State","type_en":"State","code_local":"US19","code_hasc":"US.IA","note":null,"hasc_maybe":null,"region":"Midwest","region_cod":null,"provnum_ne":0,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":"Iowa","postal":"IA","area_sqkm":0,"sameascity":-99,"labelrank":0,"name_len":4,"mapcolor9":1,"mapcolor13":1,"fips":"US19","fips_alt":null,"woe_id":2347574,"woe_label":"Iowa, US, United States","woe_name":"Iowa","latitude":42.0423,"longitude":-93.3891,"sov_a3":"US1","adm0_a3":"USA","adm0_label":2,"admin":"United States of America","geonunit":"United States of America","gu_a3":"USA","gn_id":4862182,"gn_name":"Iowa","gns_id":-1,"gns_name":null,"gn_level":1,"gn_region":null,"gn_a1_code":"US.IA","region_sub":"West North Central","sub_code":null,"gns_level":-1,"gns_lang":null,"gns_adm1":null,"gns_region":null,"min_label":3.5,"max_label":7.5,"min_zoom":2,"wikidataid":"Q1546","name_ar":"آيوا","name_bn":"আইওয়া","name_de":"Iowa","name_en":"Iowa","name_es":"Iowa","name_fr":"Iowa","name_el":"Άιοβα","name_hi":"आयोवा","name_hu":"Iowa","name_id":"Iowa","name_it":"Iowa","name_ja":"アイオワ州","name_ko":"아이오와","name_nl":"Iowa","name_pl":"Iowa","name_pt":"Iowa","name_ru":"Айова","name_sv":"Iowa","name_tr":"Iowa","name_vi":"Iowa","name_zh":"艾奥瓦州","ne_id":1159315357,"name_he":"איווה","name_uk":"Айова","name_ur":"آئیووا","name_fa":"آیووا","name_zht":"愛荷華州","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[-96.626835,40.37945,-90.149433,43.502412],"geometry":{"type":"Polygon","coordinates":[[[-91.441952,40.37945],[-91.529931,40.432316],[-91.545487,40.469318],[-91.616855,40.50688],[-91.627423,40.530753],[-91.682047,40.551869],[-91.73153,40.624653],[-91.983787,40.623203],[-92.236044,40.621764],[-92.488301,40.620314],[-92.740564,40.618864],[-92.992821,40.617413],[-93.245078,40.615974],[-93.497335,40.614524],[-93.749598,40.613074],[-94.001855,40.611635],[-94.254112,40.610184],[-94.506369,40.608734],[-94.758631,40.607284],[-95.010888,40.605845],[-95.263146,40.604395],[-95.51543,40.602944],[-95.765029,40.601868],[-95.826107,40.676179],[-95.859,40.745108],[-95.838148,40.777748],[-95.834017,40.88949],[-95.846597,41.080333],[-95.870887,41.187824],[-95.906906,41.21195],[-95.911169,41.245183],[-95.883626,41.287557],[-95.891943,41.316166],[-95.936025,41.330986],[-95.94972,41.367428],[-95.932977,41.425458],[-95.943567,41.460933],[-95.98158,41.473798],[-95.997367,41.493639],[-95.990957,41.52049],[-96.011397,41.537881],[-96.058627,41.54578],[-96.077771,41.611281],[-96.068806,41.734328],[-96.086637,41.821372],[-96.13123,41.872437],[-96.153763,41.920436],[-96.154203,41.965293],[-96.201384,42.036122],[-96.295333,42.132912],[-96.356104,42.260133],[-96.383751,42.417776],[-96.451004,42.505985],[-96.480953,42.511259],[-96.506326,42.593579],[-96.53361,42.630164],[-96.538702,42.658585],[-96.62177,42.729535],[-96.626835,42.757001],[-96.616084,42.791388],[-96.562576,42.85857],[-96.513274,42.969059],[-96.502112,43.043294],[-96.462688,43.099181],[-96.461293,43.129767],[-96.468137,43.17023],[-96.49028,43.205529],[-96.55539,43.231676],[-96.563454,43.242685],[-96.569942,43.283323],[-96.542526,43.309031],[-96.534956,43.338057],[-96.541647,43.373455],[-96.581285,43.434923],[-96.598622,43.497501],[-96.453619,43.501171],[-96.128418,43.501226],[-95.80319,43.50127],[-95.477967,43.501325],[-95.152766,43.50138],[-94.827565,43.501424],[-94.502342,43.501478],[-94.177114,43.501533],[-93.851913,43.501577],[-93.526712,43.501632],[-93.20149,43.501687],[-92.876261,43.501742],[-92.551066,43.501786],[-92.225838,43.501841],[-91.900609,43.501896],[-91.575414,43.50194],[-91.245253,43.502412],[-91.238277,43.440241],[-91.218688,43.395285],[-91.178357,43.358931],[-91.117196,43.331157],[-91.106968,43.278028],[-91.147585,43.199585],[-91.161328,43.102334],[-91.148156,42.986209],[-91.117592,42.881652],[-91.069582,42.788554],[-90.959949,42.72034],[-90.788749,42.676933],[-90.687873,42.610322],[-90.657331,42.520509],[-90.650585,42.512984],[-90.589633,42.444802],[-90.484735,42.383257],[-90.425036,42.325656],[-90.41049,42.272075],[-90.346571,42.214837],[-90.233214,42.154016],[-90.167516,42.100304],[-90.149433,42.053711],[-90.152443,41.98152],[-90.176613,41.883643],[-90.217768,41.81311],[-90.276006,41.770011],[-90.319237,41.709652],[-90.347527,41.632034],[-90.43667,41.560359],[-90.586732,41.494727],[-90.754065,41.449826],[-90.938756,41.42559],[-91.048114,41.369098],[-91.082106,41.280318],[-91.066505,41.205907],[-91.001334,41.145966],[-90.963827,41.082531],[-90.954005,41.01558],[-91.000126,40.904684],[-91.102134,40.749788],[-91.215128,40.649559],[-91.339043,40.603977],[-91.394184,40.536653],[-91.380539,40.447554],[-91.390778,40.397127],[-91.441952,40.37945]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"USA-3518","diss_me":3518,"iso_3166_2":"US-ID","wikipedia":"http://en.wikipedia.org/wiki/Idaho","iso_a2":"US","adm0_sr":1,"name":"Idaho","name_alt":"ID|Idaho","name_local":null,"type":"State","type_en":"State","code_local":"US16","code_hasc":"US.ID","note":null,"hasc_maybe":null,"region":"West","region_cod":null,"provnum_ne":0,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":"Idaho","postal":"ID","area_sqkm":0,"sameascity":-99,"labelrank":0,"name_len":5,"mapcolor9":1,"mapcolor13":1,"fips":"US16","fips_alt":null,"woe_id":2347571,"woe_label":"Idaho, US, United States","woe_name":"Idaho","latitude":43.7825,"longitude":-114.133,"sov_a3":"US1","adm0_a3":"USA","adm0_label":2,"admin":"United States of America","geonunit":"United States of America","gu_a3":"USA","gn_id":5596512,"gn_name":"Idaho","gns_id":-1,"gns_name":null,"gn_level":1,"gn_region":null,"gn_a1_code":"US.ID","region_sub":"Mountain","sub_code":null,"gns_level":-1,"gns_lang":null,"gns_adm1":null,"gns_region":null,"min_label":3.5,"max_label":7.5,"min_zoom":2,"wikidataid":"Q1221","name_ar":"أيداهو","name_bn":"আইডাহো","name_de":"Idaho","name_en":"Idaho","name_es":"Idaho","name_fr":"Idaho","name_el":"Άινταχο","name_hi":"आयडाहो","name_hu":"Idaho","name_id":"Idaho","name_it":"Idaho","name_ja":"アイダホ州","name_ko":"아이다호","name_nl":"Idaho","name_pl":"Idaho","name_pt":"Idaho","name_ru":"Айдахо","name_sv":"Idaho","name_tr":"Idaho","name_vi":"Idaho","name_zh":"爱达荷州","ne_id":1159315339,"name_he":"איידהו","name_uk":"Айдахо","name_ur":"ایڈاہو","name_fa":"آیداهو","name_zht":"愛達荷州","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[-117.201701,42.000559,-111.050296,48.993083],"geometry":{"type":"Polygon","coordinates":[[[-117.039054,48.993083],[-116.717028,48.993083],[-116.290649,48.993083],[-116.048494,48.993083],[-116.048389,48.746637],[-116.048598,48.499313],[-116.048801,48.251989],[-116.04901,48.00472],[-115.941443,47.904107],[-115.862149,47.842408],[-115.811244,47.775951],[-115.733757,47.706342],[-115.718382,47.68148],[-115.690867,47.606652],[-115.710862,47.552599],[-115.66968,47.497854],[-115.676887,47.470564],[-115.708022,47.456798],[-115.714454,47.45225],[-115.713317,47.446746],[-115.702468,47.437594],[-115.593325,47.384915],[-115.485994,47.311636],[-115.349467,47.261176],[-115.306675,47.231172],[-115.126636,47.084593],[-115.033516,46.990934],[-114.935694,46.922819],[-114.886937,46.844871],[-114.786066,46.776756],[-114.760715,46.742292],[-114.753689,46.734568],[-114.740302,46.733634],[-114.678032,46.750169],[-114.661623,46.745544],[-114.630648,46.718572],[-114.624006,46.677615],[-114.60155,46.660334],[-114.562999,46.650435],[-114.518664,46.647743],[-114.380917,46.667639],[-114.350897,46.667639],[-114.336868,46.659224],[-114.330122,46.637647],[-114.332061,46.601392],[-114.345805,46.550591],[-114.387042,46.499955],[-114.38022,46.453033],[-114.41275,46.343631],[-114.444248,46.270714],[-114.446599,46.199325],[-114.485359,46.158214],[-114.463578,46.109765],[-114.478306,46.035585],[-114.464792,46.016414],[-114.415903,45.982159],[-114.396787,45.89095],[-114.405131,45.874251],[-114.492566,45.838732],[-114.522537,45.815133],[-114.533699,45.78201],[-114.495796,45.685846],[-114.532617,45.633024],[-114.537346,45.587398],[-114.529233,45.575719],[-114.448434,45.551253],[-114.350562,45.497145],[-114.319191,45.48573],[-114.297641,45.487565],[-114.256146,45.505648],[-114.210234,45.542442],[-114.116619,45.579103],[-114.006393,45.658457],[-114.000708,45.680628],[-113.991924,45.69302],[-113.977818,45.69235],[-113.942651,45.681507],[-113.872915,45.63354],[-113.812814,45.606986],[-113.802273,45.601098],[-113.796642,45.587661],[-113.799614,45.540189],[-113.76615,45.502517],[-113.756097,45.44084],[-113.721941,45.379273],[-113.697112,45.304983],[-113.606573,45.209105],[-113.557404,45.140419],[-113.503582,45.109284],[-113.471079,45.072853],[-113.447129,45.029084],[-113.438136,44.993971],[-113.469294,44.929976],[-113.460796,44.90362],[-113.432138,44.874165],[-113.338891,44.808072],[-113.320418,44.802534],[-113.234269,44.809873],[-113.18717,44.798579],[-113.140709,44.765489],[-113.09327,44.715336],[-113.062706,44.665073],[-113.05428,44.605187],[-113.006379,44.539137],[-112.999689,44.48036],[-112.970075,44.454499],[-112.910392,44.419331],[-112.853856,44.398325],[-112.831351,44.396623],[-112.815514,44.405972],[-112.810163,44.438162],[-112.787142,44.463079],[-112.715928,44.498037],[-112.648236,44.497104],[-112.392848,44.467957],[-112.375385,44.470022],[-112.36386,44.479558],[-112.320036,44.53315],[-112.285077,44.553947],[-112.23131,44.560692],[-112.074211,44.547619],[-111.89208,44.554925],[-111.797098,44.539895],[-111.659302,44.559605],[-111.499857,44.54485],[-111.47934,44.553716],[-111.474506,44.564615],[-111.488821,44.584544],[-111.491046,44.624226],[-111.459109,44.671017],[-111.4481,44.711117],[-111.41557,44.733551],[-111.372525,44.74624],[-111.337463,44.744812],[-111.304081,44.723312],[-111.265118,44.687552],[-111.197574,44.590586],[-111.160934,44.555836],[-111.11722,44.525349],[-111.051434,44.498883],[-111.051357,44.342768],[-111.05128,44.186652],[-111.051225,44.030547],[-111.051148,43.874398],[-111.051071,43.718261],[-111.051022,43.562145],[-111.050945,43.406029],[-111.050862,43.249892],[-111.050785,43.093754],[-111.050708,42.937638],[-111.050659,42.781522],[-111.050582,42.625385],[-111.050505,42.469247],[-111.05045,42.313131],[-111.050373,42.157016],[-111.050296,42.000878],[-111.237311,42.0009],[-111.424331,42.0009],[-111.611346,42.000922],[-111.798367,42.000955],[-111.985381,42.000955],[-112.172396,42.000977],[-112.359416,42.000999],[-112.546431,42.000999],[-112.733451,42.000999],[-112.920466,42.001032],[-113.107481,42.001054],[-113.294501,42.001054],[-113.481516,42.001054],[-113.668536,42.001076],[-113.855551,42.001109],[-114.042593,42.001109],[-114.414354,42.001054],[-114.786115,42.000977],[-115.157876,42.0009],[-115.529637,42.000845],[-115.901398,42.000768],[-116.273153,42.000691],[-116.644914,42.000636],[-117.016675,42.000559],[-117.017114,42.223779],[-117.017581,42.446967],[-117.018021,42.670165],[-117.01846,42.893352],[-117.0189,43.11654],[-117.019339,43.339727],[-117.0198,43.562925],[-117.02024,43.808437],[-117.020498,43.813194],[-116.957634,43.964135],[-116.943967,44.037677],[-116.960683,44.079118],[-116.949779,44.119009],[-116.91131,44.157406],[-116.91242,44.199473],[-116.95319,44.245308],[-117.028952,44.275542],[-117.139744,44.290264],[-117.197312,44.3438],[-117.201701,44.436206],[-117.118919,44.578314],[-116.948955,44.770114],[-116.855857,44.90574],[-116.839553,44.98516],[-116.737342,45.168841],[-116.549157,45.456737],[-116.477043,45.641088],[-116.520917,45.721914],[-116.616827,45.79917],[-116.764725,45.87291],[-116.869194,45.958483],[-116.896479,46.002099],[-116.930196,46.055954],[-116.947845,46.124322],[-116.92211,46.163642],[-116.942962,46.232108],[-117.010396,46.329623],[-117.038999,46.396552],[-117.032462,46.419755],[-117.025046,46.429159],[-117.025848,46.589461],[-117.026678,46.749751],[-117.027502,46.910053],[-117.028331,47.070354],[-117.029155,47.230656],[-117.029985,47.390957],[-117.030809,47.551259],[-117.031638,47.71156],[-117.032462,47.871862],[-117.033292,48.032163],[-117.034116,48.192454],[-117.034918,48.352756],[-117.03572,48.513057],[-117.036544,48.673359],[-117.037373,48.83366],[-117.039054,48.993083]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"USA-3546","diss_me":3546,"iso_3166_2":"US-IL","wikipedia":"http://en.wikipedia.org/wiki/Illinois","iso_a2":"US","adm0_sr":1,"name":"Illinois","name_alt":"IL|Ill.","name_local":null,"type":"State","type_en":"State","code_local":"US17","code_hasc":"US.IL","note":null,"hasc_maybe":null,"region":"Midwest","region_cod":null,"provnum_ne":0,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":"Ill.","postal":"IL","area_sqkm":0,"sameascity":-99,"labelrank":0,"name_len":8,"mapcolor9":1,"mapcolor13":1,"fips":"US17","fips_alt":null,"woe_id":2347572,"woe_label":"Illinois, US, United States","woe_name":"Illinois","latitude":39.946,"longitude":-89.1991,"sov_a3":"US1","adm0_a3":"USA","adm0_label":2,"admin":"United States of America","geonunit":"United States of America","gu_a3":"USA","gn_id":4896861,"gn_name":"Illinois","gns_id":-1,"gns_name":null,"gn_level":1,"gn_region":null,"gn_a1_code":"US.IL","region_sub":"East North Central","sub_code":null,"gns_level":-1,"gns_lang":null,"gns_adm1":null,"gns_region":null,"min_label":3.5,"max_label":7.5,"min_zoom":2,"wikidataid":"Q1204","name_ar":"إلينوي","name_bn":"ইলিনয়","name_de":"Illinois","name_en":"Illinois","name_es":"Illinois","name_fr":"Illinois","name_el":"Ιλινόι","name_hi":"इलिनॉय","name_hu":"Illinois","name_id":"Illinois","name_it":"Illinois","name_ja":"イリノイ州","name_ko":"일리노이","name_nl":"Illinois","name_pl":"Illinois","name_pt":"Illinois","name_ru":"Иллинойс","name_sv":"Illinois","name_tr":"Illinois","name_vi":"Illinois","name_zh":"伊利诺伊州","ne_id":1159315309,"name_he":"אילינוי","name_uk":"Іллінойс","name_ur":"الینوائے","name_fa":"ایلینوی","name_zht":"伊利諾州","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[-91.501652,36.992112,-87.51768,42.512984],"geometry":{"type":"Polygon","coordinates":[[[-91.441952,40.37945],[-91.390778,40.397127],[-91.380539,40.447554],[-91.394184,40.536653],[-91.339043,40.603977],[-91.215128,40.649559],[-91.102134,40.749788],[-91.000126,40.904684],[-90.954005,41.01558],[-90.963827,41.082531],[-91.001334,41.145966],[-91.066505,41.205907],[-91.082106,41.280318],[-91.048114,41.369098],[-90.938756,41.42559],[-90.754065,41.449826],[-90.586732,41.494727],[-90.43667,41.560359],[-90.347527,41.632034],[-90.319237,41.709652],[-90.276006,41.770011],[-90.217768,41.81311],[-90.176613,41.883643],[-90.152443,41.98152],[-90.149433,42.053711],[-90.167516,42.100304],[-90.233214,42.154016],[-90.346571,42.214837],[-90.41049,42.272075],[-90.425036,42.325656],[-90.484735,42.383257],[-90.589633,42.444802],[-90.650585,42.512984],[-90.191049,42.510303],[-89.740796,42.507798],[-89.290521,42.505315],[-88.840236,42.50281],[-88.38995,42.500305],[-87.939664,42.497822],[-87.812085,42.497113],[-87.8125,42.341064],[-87.797461,42.211426],[-87.766797,42.153906],[-87.73252,42.111523],[-87.694629,42.084375],[-87.651123,42.000244],[-87.602051,41.859131],[-87.556592,41.765967],[-87.521245,41.727781],[-87.522536,41.460988],[-87.524008,41.161237],[-87.52548,40.861486],[-87.52693,40.561713],[-87.528369,40.26194],[-87.529819,39.962189],[-87.53127,39.662438],[-87.532742,39.379144],[-87.532918,39.37486],[-87.579115,39.343977],[-87.611052,39.291353],[-87.602912,39.234147],[-87.614985,39.193289],[-87.647285,39.168745],[-87.631696,39.106705],[-87.568294,39.00718],[-87.530281,38.908897],[-87.51768,38.811821],[-87.529457,38.742289],[-87.583773,38.67937],[-87.635958,38.542612],[-87.680662,38.487988],[-87.735231,38.469905],[-87.784065,38.419104],[-87.827164,38.335564],[-87.872955,38.295024],[-87.921427,38.297507],[-87.957265,38.282214],[-87.980413,38.249189],[-87.97749,38.21444],[-87.948552,38.178009],[-87.958056,38.144292],[-88.006022,38.113278],[-88.005143,38.098402],[-87.990256,38.089305],[-87.996046,38.074419],[-88.026127,38.059587],[-88.044518,38.013291],[-88.042496,37.93665],[-88.059108,37.898363],[-88.091122,37.896649],[-88.095319,37.875566],[-88.041991,37.788851],[-88.073247,37.770922],[-88.128959,37.69951],[-88.140385,37.620651],[-88.107514,37.534353],[-88.190504,37.464557],[-88.389335,37.411262],[-88.494672,37.364285],[-88.506603,37.323591],[-88.492782,37.261551],[-88.453275,37.178143],[-88.446244,37.120421],[-88.471666,37.088385],[-88.613808,37.110083],[-88.872602,37.185537],[-89.046207,37.182977],[-89.134603,37.102469],[-89.165069,37.041561],[-89.154313,36.992112],[-89.224911,37.052679],[-89.272394,37.07998],[-89.281469,37.077794],[-89.291675,37.070653],[-89.295817,37.051636],[-89.293246,37.038177],[-89.285885,37.022698],[-89.290016,37.012777],[-89.300827,37.012052],[-89.35188,37.035519],[-89.413942,37.102415],[-89.486913,37.212739],[-89.502931,37.300509],[-89.461974,37.36568],[-89.461974,37.434125],[-89.502931,37.5058],[-89.523421,37.575947],[-89.523421,37.644524],[-89.623286,37.747257],[-89.822963,37.884092],[-89.969828,37.968533],[-90.063871,38.000525],[-90.173581,38.069047],[-90.299,38.173999],[-90.365775,38.254254],[-90.373993,38.309757],[-90.316601,38.457809],[-90.150751,38.780532],[-90.132195,38.818644],[-90.126768,38.832618],[-90.134206,38.84667],[-90.149916,38.859897],[-90.220075,38.897679],[-90.35435,38.93021],[-90.477968,38.948118],[-90.577075,38.909611],[-90.663527,38.987493],[-90.737223,39.181797],[-90.919376,39.386901],[-91.209899,39.602804],[-91.378737,39.749406],[-91.425868,39.826815],[-91.466814,39.942864],[-91.501652,40.097529],[-91.499784,40.226025],[-91.441952,40.37945]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"USA-3547","diss_me":3547,"iso_3166_2":"US-IN","wikipedia":"http://en.wikipedia.org/wiki/Indiana","iso_a2":"US","adm0_sr":1,"name":"Indiana","name_alt":"IN|Ind.","name_local":null,"type":"State","type_en":"State","code_local":"US18","code_hasc":"US.IN","note":null,"hasc_maybe":null,"region":"Midwest","region_cod":null,"provnum_ne":0,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":"Ind.","postal":"IN","area_sqkm":0,"sameascity":-99,"labelrank":0,"name_len":7,"mapcolor9":1,"mapcolor13":1,"fips":"US18","fips_alt":null,"woe_id":2347573,"woe_label":"Indiana, US, United States","woe_name":"Indiana","latitude":39.8874,"longitude":-86.1396,"sov_a3":"US1","adm0_a3":"USA","adm0_label":2,"admin":"United States of America","geonunit":"United States of America","gu_a3":"USA","gn_id":4921868,"gn_name":"Indiana","gns_id":-1,"gns_name":null,"gn_level":1,"gn_region":null,"gn_a1_code":"US.IN","region_sub":"East North Central","sub_code":null,"gns_level":-1,"gns_lang":null,"gns_adm1":null,"gns_region":null,"min_label":3.5,"max_label":7.5,"min_zoom":2,"wikidataid":"Q1415","name_ar":"إنديانا","name_bn":"ইন্ডিয়ানা","name_de":"Indiana","name_en":"Indiana","name_es":"Indiana","name_fr":"Indiana","name_el":"Ιντιάνα","name_hi":"इंडियाना","name_hu":"Indiana","name_id":"Indiana","name_it":"Indiana","name_ja":"インディアナ州","name_ko":"인디애나","name_nl":"Indiana","name_pl":"Indiana","name_pt":"Indiana","name_ru":"Индиана","name_sv":"Indiana","name_tr":"Indiana","name_vi":"Indiana","name_zh":"印第安纳州","ne_id":1159315311,"name_he":"אינדיאנה","name_uk":"Індіана","name_ur":"انڈیانا","name_fa":"ایندیانا","name_zht":"印第安纳州","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[-88.095319,37.788027,-84.78962,41.760587],"geometry":{"type":"Polygon","coordinates":[[[-88.041991,37.788851],[-88.095319,37.875566],[-88.091122,37.896649],[-88.059108,37.898363],[-88.042496,37.93665],[-88.044518,38.013291],[-88.026127,38.059587],[-87.996046,38.074419],[-87.990256,38.089305],[-88.005143,38.098402],[-88.006022,38.113278],[-87.958056,38.144292],[-87.948552,38.178009],[-87.97749,38.21444],[-87.980413,38.249189],[-87.957265,38.282214],[-87.921427,38.297507],[-87.872955,38.295024],[-87.827164,38.335564],[-87.784065,38.419104],[-87.735231,38.469905],[-87.680662,38.487988],[-87.635958,38.542612],[-87.583773,38.67937],[-87.529457,38.742289],[-87.51768,38.811821],[-87.530281,38.908897],[-87.568294,39.00718],[-87.631696,39.106705],[-87.647285,39.168745],[-87.614985,39.193289],[-87.602912,39.234147],[-87.611052,39.291353],[-87.579115,39.343977],[-87.532918,39.37486],[-87.532742,39.379144],[-87.53127,39.662438],[-87.529819,39.962189],[-87.528369,40.26194],[-87.52693,40.561713],[-87.52548,40.861486],[-87.524008,41.161237],[-87.522536,41.460988],[-87.521245,41.727781],[-87.514648,41.720654],[-87.476953,41.695459],[-87.447021,41.680762],[-87.425,41.678564],[-87.4125,41.656494],[-87.35625,41.643262],[-87.253223,41.637646],[-87.158691,41.646387],[-87.072607,41.669482],[-86.862597,41.760587],[-86.615043,41.760497],[-86.31193,41.760376],[-86.008828,41.760244],[-85.705715,41.760112],[-85.402614,41.759981],[-85.099501,41.75986],[-84.796399,41.759728],[-84.796113,41.701434],[-84.799552,41.376052],[-84.802958,41.05067],[-84.806397,40.725321],[-84.809835,40.399939],[-84.813263,40.074557],[-84.816702,39.749197],[-84.82014,39.423826],[-84.821711,39.091984],[-84.837422,39.082678],[-84.860603,39.039711],[-84.835488,38.99604],[-84.836598,38.960565],[-84.863888,38.933231],[-84.854165,38.912896],[-84.807451,38.899536],[-84.78962,38.868379],[-84.800739,38.819391],[-84.901241,38.769568],[-85.093898,38.71356],[-85.135525,38.697256],[-85.16989,38.690378],[-85.186117,38.693663],[-85.18604,38.693663],[-85.211122,38.704122],[-85.24663,38.72704],[-85.306747,38.737191],[-85.405426,38.729962],[-85.444779,38.683095],[-85.424828,38.596588],[-85.458677,38.530209],[-85.546326,38.484011],[-85.608904,38.423026],[-85.646422,38.347297],[-85.706287,38.301353],[-85.788453,38.285214],[-85.854932,38.215033],[-85.905678,38.090909],[-85.961159,38.014016],[-86.021331,37.984353],[-86.103442,37.991868],[-86.207527,38.036571],[-86.267622,38.082582],[-86.28375,38.129867],[-86.3146,38.163771],[-86.342659,38.178734],[-86.361445,38.178987],[-86.362522,38.172109],[-86.354952,38.15886],[-86.365137,38.1446],[-86.429627,38.139689],[-86.457378,38.120155],[-86.448336,38.085966],[-86.462542,38.061763],[-86.499961,38.047502],[-86.519857,38.01484],[-86.522186,37.963732],[-86.548641,37.917062],[-86.599233,37.874797],[-86.673128,37.889036],[-86.770335,37.959777],[-86.86908,37.976135],[-86.96944,37.938046],[-87.044268,37.886443],[-87.093563,37.821283],[-87.141035,37.805243],[-87.209403,37.854846],[-87.372385,37.923478],[-87.457288,37.938101],[-87.518449,37.921566],[-87.561449,37.929059],[-87.576171,37.947758],[-87.587388,37.95569],[-87.599407,37.946472],[-87.600802,37.886729],[-87.615392,37.848936],[-87.643253,37.833038],[-87.664567,37.845541],[-87.67942,37.886366],[-87.714456,37.899604],[-87.769651,37.885234],[-87.825253,37.891431],[-87.874428,37.915743],[-87.892116,37.912986],[-87.906002,37.901824],[-87.902069,37.85511],[-87.912484,37.81769],[-87.938115,37.793817],[-87.974546,37.788027],[-88.021776,37.800431],[-88.041991,37.788851]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"USA-3530","diss_me":3530,"iso_3166_2":"US-KS","wikipedia":"http://en.wikipedia.org/wiki/Kansas","iso_a2":"US","adm0_sr":1,"name":"Kansas","name_alt":"KS|Kans.","name_local":null,"type":"State","type_en":"State","code_local":"US20","code_hasc":"US.KS","note":null,"hasc_maybe":null,"region":"Midwest","region_cod":null,"provnum_ne":0,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":"Kans.","postal":"KS","area_sqkm":0,"sameascity":-99,"labelrank":0,"name_len":6,"mapcolor9":1,"mapcolor13":1,"fips":"US20","fips_alt":null,"woe_id":2347575,"woe_label":"Kansas, US, United States","woe_name":"Kansas","latitude":38.5,"longitude":-98.3309,"sov_a3":"US1","adm0_a3":"USA","adm0_label":2,"admin":"United States of America","geonunit":"United States of America","gu_a3":"USA","gn_id":4273857,"gn_name":"Kansas","gns_id":-1,"gns_name":null,"gn_level":1,"gn_region":null,"gn_a1_code":"US.KS","region_sub":"West North Central","sub_code":null,"gns_level":-1,"gns_lang":null,"gns_adm1":null,"gns_region":null,"min_label":3.5,"max_label":7.5,"min_zoom":2,"wikidataid":"Q1558","name_ar":"كانساس","name_bn":"ক্যান্সাস","name_de":"Kansas","name_en":"Kansas","name_es":"Kansas","name_fr":"Kansas","name_el":"Κάνσας","name_hi":"केन्सास","name_hu":"Kansas","name_id":"Kansas","name_it":"Kansas","name_ja":"カンザス州","name_ko":"캔자스","name_nl":"Kansas","name_pl":"Kansas","name_pt":"Kansas","name_ru":"Канзас","name_sv":"Kansas","name_tr":"Kansas","name_vi":"Kansas","name_zh":"堪萨斯州","ne_id":1159315359,"name_he":"קנזס","name_uk":"Канзас","name_ur":"کنساس","name_fa":"کانزاس","name_zht":"堪薩斯州","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[-102.024489,37.000846,-94.618067,40.001487],"geometry":{"type":"Polygon","coordinates":[[[-102.012783,37.000846],[-102.013536,37.188372],[-102.014261,37.375853],[-102.014981,37.56339],[-102.015706,37.750927],[-102.016431,37.93843],[-102.017178,38.125945],[-102.017925,38.31347],[-102.01865,38.500985],[-102.019375,38.688489],[-102.0201,38.876025],[-102.02082,39.063529],[-102.021572,39.251044],[-102.022319,39.43858],[-102.023045,39.626084],[-102.02377,39.813588],[-102.024489,40.001124],[-101.814892,40.001124],[-101.605289,40.001124],[-101.395692,40.001124],[-101.18609,40.001124],[-100.976492,40.001124],[-100.766895,40.001124],[-100.557293,40.001124],[-100.347695,40.001124],[-100.138093,40.001124],[-99.928495,40.001124],[-99.718893,40.001124],[-99.509296,40.001124],[-99.299693,40.001124],[-99.090096,40.001124],[-98.880499,40.001124],[-98.670896,40.001124],[-98.461299,40.001124],[-98.251696,40.001124],[-98.042099,40.001124],[-97.832496,40.001124],[-97.622899,40.001124],[-97.413296,40.001124],[-97.203699,40.001124],[-96.994102,40.001124],[-96.784499,40.001124],[-96.574902,40.001124],[-96.3653,40.001124],[-96.155702,40.001124],[-95.9461,40.001124],[-95.736503,40.001124],[-95.526905,40.001124],[-95.34668,40.001487],[-95.116203,39.87209],[-95.055537,39.870794],[-94.984016,39.891162],[-94.929936,39.861499],[-94.893296,39.781815],[-94.898597,39.741144],[-94.945827,39.739485],[-95.004764,39.691552],[-95.075356,39.597377],[-95.057937,39.508959],[-94.952518,39.426375],[-94.882294,39.343131],[-94.847203,39.259152],[-94.777852,39.193992],[-94.622384,39.124404],[-94.624527,39.086062],[-94.624115,38.955764],[-94.62373,38.825433],[-94.62334,38.695103],[-94.622928,38.564783],[-94.622511,38.434452],[-94.622099,38.304121],[-94.621687,38.17379],[-94.621297,38.04347],[-94.620912,37.91314],[-94.6205,37.782809],[-94.620083,37.652478],[-94.619671,37.522158],[-94.619259,37.391827],[-94.618869,37.261497],[-94.618484,37.131166],[-94.618067,37.000846],[-94.849164,37.000846],[-95.08024,37.000846],[-95.31131,37.000846],[-95.542407,37.000846],[-95.773504,37.000846],[-96.004574,37.000846],[-96.235644,37.000846],[-96.466742,37.000846],[-96.697839,37.000846],[-96.928909,37.000846],[-97.159979,37.000846],[-97.391077,37.000846],[-97.622174,37.000846],[-97.853244,37.000846],[-98.084319,37.000846],[-98.315417,37.000846],[-98.546514,37.000846],[-98.777584,37.000846],[-99.008654,37.000846],[-99.239752,37.000846],[-99.470849,37.000846],[-99.701919,37.000846],[-99.932989,37.000846],[-100.164086,37.000846],[-100.395184,37.000846],[-100.626254,37.000846],[-100.857329,37.000846],[-101.088421,37.000846],[-101.319518,37.000846],[-101.550616,37.000846],[-101.781713,37.000846],[-102.012783,37.000846]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"USA-3548","diss_me":3548,"iso_3166_2":"US-KY","wikipedia":"http://en.wikipedia.org/wiki/Kentucky","iso_a2":"US","adm0_sr":1,"name":"Kentucky","name_alt":"Commonwealth of Kentucky|KY","name_local":null,"type":"State","type_en":"State","code_local":"US21","code_hasc":"US.KY","note":null,"hasc_maybe":"US.IN|USA-KEN","region":"South","region_cod":null,"provnum_ne":0,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":"Ky.","postal":"KY","area_sqkm":0,"sameascity":-99,"labelrank":0,"name_len":8,"mapcolor9":1,"mapcolor13":1,"fips":"US21","fips_alt":"US18","woe_id":2347576,"woe_label":"Kentucky, US, United States","woe_name":"Kentucky","latitude":37.3994,"longitude":-85.5729,"sov_a3":"US1","adm0_a3":"USA","adm0_label":2,"admin":"United States of America","geonunit":"United States of America","gu_a3":"USA","gn_id":6254925,"gn_name":"Kentucky","gns_id":-1,"gns_name":null,"gn_level":1,"gn_region":null,"gn_a1_code":"US.KY","region_sub":"East South Central","sub_code":null,"gns_level":-1,"gns_lang":null,"gns_adm1":null,"gns_region":null,"min_label":3.5,"max_label":7.5,"min_zoom":2,"wikidataid":"Q1603","name_ar":"كنتاكي","name_bn":"কেন্টাকি","name_de":"Kentucky","name_en":"Kentucky","name_es":"Kentucky","name_fr":"Kentucky","name_el":"Κεντάκι","name_hi":"केन्टकी","name_hu":"Kentucky","name_id":"Kentucky","name_it":"Kentucky","name_ja":"ケンタッキー州","name_ko":"켄터키","name_nl":"Kentucky","name_pl":"Kentucky","name_pt":"Kentucky","name_ru":"Кентукки","name_sv":"Kentucky","name_tr":"Kentucky","name_vi":"Kentucky","name_zh":"肯塔基州","ne_id":1159315313,"name_he":"קנטקי","name_uk":"Кентуккі","name_ur":"کینٹکی","name_fa":"کنتاکی","name_zht":"肯塔基州","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[-89.560038,36.499683,-81.965277,39.128909],"geometry":{"type":"MultiPolygon","coordinates":[[[[-89.154313,36.992112],[-89.165069,37.041561],[-89.134603,37.102469],[-89.046207,37.182977],[-88.872602,37.185537],[-88.613808,37.110083],[-88.471666,37.088385],[-88.446244,37.120421],[-88.453275,37.178143],[-88.492782,37.261551],[-88.506603,37.323591],[-88.494672,37.364285],[-88.389335,37.411262],[-88.190504,37.464557],[-88.107514,37.534353],[-88.140385,37.620651],[-88.128959,37.69951],[-88.073247,37.770922],[-88.041991,37.788851],[-88.021776,37.800431],[-87.974546,37.788027],[-87.938115,37.793817],[-87.912484,37.81769],[-87.902069,37.85511],[-87.906002,37.901824],[-87.892116,37.912986],[-87.874428,37.915743],[-87.825253,37.891431],[-87.769651,37.885234],[-87.714456,37.899604],[-87.67942,37.886366],[-87.664567,37.845541],[-87.643253,37.833038],[-87.615392,37.848936],[-87.600802,37.886729],[-87.599407,37.946472],[-87.587388,37.95569],[-87.576171,37.947758],[-87.561449,37.929059],[-87.518449,37.921566],[-87.457288,37.938101],[-87.372385,37.923478],[-87.209403,37.854846],[-87.141035,37.805243],[-87.093563,37.821283],[-87.044268,37.886443],[-86.96944,37.938046],[-86.86908,37.976135],[-86.770335,37.959777],[-86.673128,37.889036],[-86.599233,37.874797],[-86.548641,37.917062],[-86.522186,37.963732],[-86.519857,38.01484],[-86.499961,38.047502],[-86.462542,38.061763],[-86.448336,38.085966],[-86.457378,38.120155],[-86.429627,38.139689],[-86.365137,38.1446],[-86.354952,38.15886],[-86.362522,38.172109],[-86.361445,38.178987],[-86.342659,38.178734],[-86.3146,38.163771],[-86.28375,38.129867],[-86.267622,38.082582],[-86.207527,38.036571],[-86.103442,37.991868],[-86.021331,37.984353],[-85.961159,38.014016],[-85.905678,38.090909],[-85.854932,38.215033],[-85.788453,38.285214],[-85.706287,38.301353],[-85.646422,38.347297],[-85.608904,38.423026],[-85.546326,38.484011],[-85.458677,38.530209],[-85.424828,38.596588],[-85.444779,38.683095],[-85.405426,38.729962],[-85.306747,38.737191],[-85.24663,38.72704],[-85.211122,38.704122],[-85.18604,38.693663],[-85.186117,38.693663],[-85.16989,38.690378],[-85.135525,38.697256],[-85.093898,38.71356],[-84.901241,38.769568],[-84.800739,38.819391],[-84.78962,38.868379],[-84.807451,38.899536],[-84.854165,38.912896],[-84.863888,38.933231],[-84.836598,38.960565],[-84.835488,38.99604],[-84.860603,39.039711],[-84.837422,39.082678],[-84.821711,39.091984],[-84.765901,39.124998],[-84.706948,39.128909],[-84.660542,39.094467],[-84.594547,39.085776],[-84.508865,39.102838],[-84.43006,39.090896],[-84.358022,39.049917],[-84.290435,38.974705],[-84.227285,38.865204],[-84.113236,38.798385],[-83.948386,38.774226],[-83.828086,38.731226],[-83.752269,38.669373],[-83.689878,38.649531],[-83.616313,38.682776],[-83.538387,38.69986],[-83.460582,38.679502],[-83.35697,38.627405],[-83.203469,38.638907],[-83.000068,38.713999],[-82.880438,38.710253],[-82.844623,38.627668],[-82.758226,38.541162],[-82.621282,38.450679],[-82.612778,38.448218],[-82.589498,38.420345],[-82.578413,38.272085],[-82.585389,38.24273],[-82.619546,38.182008],[-82.617711,38.149873],[-82.588773,38.099742],[-82.482195,37.983551],[-82.47189,37.938408],[-82.4299,37.894177],[-82.393876,37.828314],[-82.280244,37.687184],[-82.103463,37.570575],[-81.965277,37.539725],[-82.343207,37.296927],[-82.516505,37.208839],[-82.681586,37.13812],[-82.69489,37.126156],[-82.731892,37.048076],[-82.832021,36.979269],[-82.894501,36.906374],[-83.043816,36.845554],[-83.150218,36.762333],[-83.41689,36.681012],[-83.566183,36.652623],[-83.667521,36.60503],[-83.675376,36.602723],[-83.683231,36.600449],[-83.691086,36.598175],[-83.698942,36.595901],[-83.706797,36.593638],[-83.714652,36.591363],[-83.722507,36.589089],[-83.730385,36.586815],[-84.07752,36.596582],[-84.424688,36.606316],[-84.771845,36.616061],[-85.11898,36.625828],[-85.466126,36.635594],[-85.813283,36.645339],[-86.160451,36.655073],[-86.507586,36.66484],[-86.84046,36.659622],[-87.173357,36.654403],[-87.506254,36.649185],[-87.839151,36.643966],[-87.868715,36.675046],[-87.956298,36.681968],[-88.091122,36.6928],[-88.096297,36.693009],[-88.056713,36.59032],[-88.05601,36.500946],[-88.059108,36.499683],[-88.215509,36.499737],[-88.388214,36.499759],[-88.560919,36.499792],[-88.733646,36.499836],[-88.906373,36.499891],[-89.079079,36.499913],[-89.251784,36.499946],[-89.450329,36.500023],[-89.397462,36.587793],[-89.351309,36.611205],[-89.330534,36.615907],[-89.280128,36.600043],[-89.256123,36.594407],[-89.203048,36.62552],[-89.156334,36.715718],[-89.129517,36.811057],[-89.122486,36.911593],[-89.154313,36.992112]]],[[[-89.487221,36.503066],[-89.557313,36.501078],[-89.560038,36.513097],[-89.55549,36.540771],[-89.549645,36.553065],[-89.535582,36.555284],[-89.51952,36.554823],[-89.496834,36.528829],[-89.487221,36.503066]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"USA-3535","diss_me":3535,"iso_3166_2":"US-LA","wikipedia":"http://en.wikipedia.org/wiki/Louisiana","iso_a2":"US","adm0_sr":5,"name":"Louisiana","name_alt":"LA","name_local":null,"type":"State","type_en":"State","code_local":"US22","code_hasc":"US.LA","note":null,"hasc_maybe":null,"region":"South","region_cod":null,"provnum_ne":0,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":"La.","postal":"LA","area_sqkm":0,"sameascity":-99,"labelrank":0,"name_len":9,"mapcolor9":1,"mapcolor13":1,"fips":"US22","fips_alt":null,"woe_id":2347577,"woe_label":"Louisiana, US, United States","woe_name":"Louisiana","latitude":30.5274,"longitude":-91.9991,"sov_a3":"US1","adm0_a3":"USA","adm0_label":2,"admin":"United States of America","geonunit":"United States of America","gu_a3":"USA","gn_id":4331987,"gn_name":"Louisiana","gns_id":-1,"gns_name":null,"gn_level":1,"gn_region":null,"gn_a1_code":"US.LA","region_sub":"West South Central","sub_code":null,"gns_level":-1,"gns_lang":null,"gns_adm1":null,"gns_region":null,"min_label":3.5,"max_label":7.5,"min_zoom":2,"wikidataid":"Q1588","name_ar":"لويزيانا","name_bn":"লুইজিয়ানা","name_de":"Louisiana","name_en":"Louisiana","name_es":"Luisiana","name_fr":"Louisiane","name_el":"Λουιζιάνα","name_hi":"लुईज़ियाना","name_hu":"Louisiana","name_id":"Louisiana","name_it":"Louisiana","name_ja":"ルイジアナ州","name_ko":"루이지애나","name_nl":"Louisiana","name_pl":"Luizjana","name_pt":"Luisiana","name_ru":"Луизиана","name_sv":"Louisiana","name_tr":"Louisiana","name_vi":"Louisiana","name_zh":"路易斯安那州","ne_id":1159315221,"name_he":"לואיזיאנה","name_uk":"Луїзіана","name_ur":"لوزیانا","name_fa":"لوئیزیانا","name_zht":"路易斯安那州","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[-94.043301,28.981331,-88.812583,33.015918],"geometry":{"type":"MultiPolygon","coordinates":[[[[-94.041307,33.011996],[-93.861631,33.012193],[-93.681949,33.012402],[-93.502273,33.012611],[-93.322619,33.012842],[-93.142965,33.013072],[-92.963284,33.013281],[-92.783608,33.01349],[-92.603927,33.013699],[-92.424251,33.013907],[-92.244569,33.014105],[-92.064899,33.014314],[-91.885207,33.014544],[-91.705536,33.014786],[-91.525855,33.014984],[-91.346173,33.015193],[-91.149958,33.015918],[-91.144179,32.966875],[-91.096081,32.937684],[-91.093378,32.885027],[-91.13606,32.808847],[-91.135587,32.755783],[-91.092082,32.725857],[-91.094356,32.69426],[-91.142421,32.661026],[-91.14965,32.625013],[-91.11612,32.586231],[-91.100816,32.541374],[-91.103815,32.490497],[-91.059276,32.423755],[-90.990019,32.381051],[-90.9447,32.330711],[-90.940437,32.303092],[-90.937647,32.277329],[-90.947721,32.240074],[-91.004597,32.185582],[-91.048158,32.145921],[-91.074591,32.131321],[-91.088698,32.10414],[-91.092543,32.045847],[-91.156527,31.970689],[-91.286496,31.883974],[-91.37253,31.773716],[-91.414706,31.639979],[-91.459091,31.554978],[-91.505728,31.518701],[-91.529008,31.448751],[-91.528953,31.345194],[-91.558693,31.287911],[-91.61825,31.276958],[-91.630807,31.217599],[-91.596365,31.109911],[-91.611043,31.0649],[-91.652615,31.029557],[-91.656449,31.001805],[-91.417123,31.001256],[-91.176885,31.001234],[-90.936614,31.001212],[-90.696343,31.001212],[-90.456105,31.001212],[-90.215834,31.001157],[-89.975563,31.001157],[-89.735314,31.001157],[-89.764933,30.886075],[-89.835366,30.730816],[-89.838124,30.690431],[-89.819733,30.639861],[-89.819997,30.611208],[-89.794003,30.568933],[-89.736632,30.526613],[-89.685766,30.462684],[-89.640777,30.348921],[-89.628988,30.296186],[-89.591657,30.223017],[-89.572486,30.209164],[-89.545075,30.200693],[-89.520861,30.192629],[-89.588482,30.165965],[-89.954249,30.268742],[-90.045216,30.351404],[-90.125966,30.369102],[-90.225282,30.379287],[-90.332003,30.277586],[-90.413061,30.140301],[-90.284982,30.065089],[-90.175338,30.029098],[-89.994196,30.059255],[-89.894044,30.125865],[-89.81224,30.12369],[-89.773118,30.137236],[-89.737434,30.171986],[-89.66755,30.14452],[-89.665067,30.117054],[-89.714704,30.078294],[-89.77726,30.045709],[-89.815185,30.007268],[-89.743817,29.929858],[-89.63168,29.903831],[-89.589514,29.915049],[-89.563389,30.002093],[-89.49445,30.058167],[-89.400736,30.04605],[-89.414052,30.010882],[-89.400912,29.977682],[-89.357846,29.921014],[-89.362811,29.839781],[-89.354462,29.820226],[-89.455415,29.784388],[-89.530661,29.772215],[-89.590888,29.725271],[-89.559313,29.698036],[-89.62065,29.674129],[-89.662123,29.683687],[-89.682942,29.674854],[-89.689215,29.646048],[-89.720878,29.619308],[-89.674801,29.538668],[-89.580341,29.486054],[-89.513676,29.42007],[-89.245686,29.333202],[-89.180779,29.335706],[-89.116828,29.248211],[-89.065335,29.218142],[-89.015753,29.202871],[-89.021378,29.142721],[-89.109511,29.098665],[-89.13334,29.04614],[-89.15551,29.016631],[-89.195248,29.053984],[-89.236095,29.08112],[-89.330556,28.998701],[-89.376149,28.981331],[-89.353539,29.070244],[-89.389223,29.105016],[-89.443144,29.194137],[-89.521762,29.249277],[-89.577155,29.267514],[-89.620265,29.302396],[-89.672472,29.316502],[-89.716967,29.31291],[-89.792377,29.333202],[-89.797354,29.380641],[-89.818283,29.416137],[-89.877246,29.458017],[-90.159068,29.537141],[-90.160792,29.504402],[-90.141259,29.479748],[-90.100807,29.463324],[-90.052335,29.431408],[-90.052797,29.336838],[-90.073748,29.29676],[-90.082713,29.239763],[-90.101367,29.181788],[-90.135864,29.136074],[-90.212802,29.104939],[-90.246706,29.131009],[-90.301615,29.255814],[-90.379201,29.295112],[-90.502511,29.299759],[-90.586249,29.271546],[-90.677501,29.15062],[-90.751022,29.130888],[-91.002763,29.19351],[-91.290132,29.288993],[-91.282716,29.320743],[-91.237497,29.330971],[-91.15076,29.317898],[-91.155385,29.350692],[-91.243979,29.457325],[-91.260238,29.505456],[-91.248845,29.564189],[-91.277729,29.562871],[-91.330924,29.513575],[-91.514198,29.555378],[-91.56479,29.605322],[-91.672467,29.74609],[-91.824386,29.750693],[-91.893172,29.836013],[-92.017328,29.800296],[-92.080214,29.760713],[-92.135475,29.699475],[-92.113986,29.667702],[-92.058878,29.617187],[-92.084037,29.59282],[-92.260824,29.55685],[-92.671317,29.597082],[-92.791332,29.634655],[-92.952408,29.714185],[-93.175705,29.778961],[-93.283189,29.789398],[-93.388455,29.776577],[-93.694842,29.769919],[-93.765901,29.752704],[-93.826463,29.725139],[-93.86574,29.755626],[-93.883878,29.810019],[-93.848321,29.81883],[-93.808814,29.850811],[-93.773081,29.914038],[-93.769049,29.952303],[-93.79401,29.977264],[-93.726933,30.077108],[-93.710629,30.112813],[-93.720967,30.282904],[-93.750394,30.344713],[-93.746626,30.380363],[-93.715205,30.473253],[-93.720215,30.558265],[-93.665206,30.660768],[-93.624721,30.714348],[-93.579194,30.823805],[-93.568675,30.894655],[-93.549196,30.947719],[-93.562654,31.004903],[-93.530591,31.04619],[-93.551443,31.104066],[-93.557749,31.180421],[-93.596992,31.209754],[-93.665882,31.322584],[-93.663657,31.372198],[-93.736057,31.477667],[-93.737578,31.513812],[-93.806902,31.568799],[-93.820652,31.603966],[-93.826798,31.75026],[-93.845585,31.792942],[-93.905065,31.876998],[-94.043301,31.999232],[-94.043064,32.125838],[-94.042806,32.252423],[-94.042548,32.379007],[-94.04229,32.505614],[-94.042032,32.63222],[-94.041801,32.758805],[-94.041565,32.885378],[-94.041307,33.011996]]],[[[-89.223955,30.084051],[-89.22044,30.037601],[-89.26945,30.060727],[-89.342003,30.062848],[-89.310055,30.078712],[-89.287643,30.094181],[-89.276481,30.110825],[-89.184679,30.168679],[-89.210673,30.126228],[-89.223955,30.084051]]],[[[-88.82747,29.80769],[-88.855661,29.775863],[-88.827986,29.928353],[-88.866867,30.056717],[-88.825888,30.000368],[-88.812583,29.933363],[-88.82747,29.80769]]],[[[-88.889301,29.712581],[-88.943584,29.660232],[-88.941101,29.680205],[-88.901155,29.732632],[-88.872656,29.752989],[-88.889301,29.712581]]],[[[-91.79369,29.500732],[-91.830846,29.486472],[-91.996234,29.57311],[-92.006649,29.610288],[-91.925032,29.643928],[-91.875231,29.640984],[-91.796503,29.59695],[-91.767675,29.584712],[-91.754315,29.566881],[-91.761885,29.538997],[-91.79369,29.500732]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"USA-3513","diss_me":3513,"iso_3166_2":"US-MA","wikipedia":"http://en.wikipedia.org/wiki/Massachusetts","iso_a2":"US","adm0_sr":6,"name":"Massachusetts","name_alt":"Commonwealth of Massachusetts|MA|Mass.","name_local":null,"type":"State","type_en":"State","code_local":"US25","code_hasc":"US.MA","note":null,"hasc_maybe":null,"region":"Northeast","region_cod":null,"provnum_ne":0,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":"Mass.","postal":"MA","area_sqkm":0,"sameascity":-99,"labelrank":0,"name_len":13,"mapcolor9":1,"mapcolor13":1,"fips":"US25","fips_alt":null,"woe_id":2347580,"woe_label":"Massachusetts, US, United States","woe_name":"Massachusetts","latitude":42.3739,"longitude":-71.9993,"sov_a3":"US1","adm0_a3":"USA","adm0_label":2,"admin":"United States of America","geonunit":"United States of America","gu_a3":"USA","gn_id":6254926,"gn_name":"Massachusetts","gns_id":-1,"gns_name":null,"gn_level":1,"gn_region":null,"gn_a1_code":"US.MA","region_sub":"New England","sub_code":null,"gns_level":-1,"gns_lang":null,"gns_adm1":null,"gns_region":null,"min_label":3.5,"max_label":7.5,"min_zoom":2,"wikidataid":"Q771","name_ar":"ماساتشوستس","name_bn":"ম্যাসাচুসেটস","name_de":"Massachusetts","name_en":"Massachusetts","name_es":"Massachusetts","name_fr":"Massachusetts","name_el":"Μασαχουσέτη","name_hi":"मैसाचूसिट्स","name_hu":"Massachusetts","name_id":"Massachusetts","name_it":"Massachusetts","name_ja":"マサチューセッツ州","name_ko":"매사추세츠","name_nl":"Massachusetts","name_pl":"Massachusetts","name_pt":"Massachusetts","name_ru":"Массачусетс","name_sv":"Massachusetts","name_tr":"Massachusetts","name_vi":"Massachusetts","name_zh":"马萨诸塞州","ne_id":1159312157,"name_he":"מסצ'וסטס","name_uk":"Массачусетс","name_ur":"میساچوسٹس","name_fa":"ماساچوست","name_zht":"麻薩諸塞州","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[-73.507287,41.249468,-69.933841,42.881564],"geometry":{"type":"MultiPolygon","coordinates":[[[[-71.800836,42.011963],[-71.801638,42.022708],[-71.921136,42.024125],[-72.040634,42.025553],[-72.160133,42.02697],[-72.279642,42.028388],[-72.39914,42.029816],[-72.518638,42.031233],[-72.638115,42.03265],[-72.757624,42.034079],[-72.763326,42.011238],[-72.806458,42.00803],[-72.8077,42.034079],[-72.8918,42.036759],[-72.975922,42.039451],[-73.060034,42.042132],[-73.144134,42.044823],[-73.228234,42.047515],[-73.312346,42.050195],[-73.396468,42.052887],[-73.480568,42.055568],[-73.507287,42.080012],[-73.475537,42.164047],[-73.443808,42.24807],[-73.412047,42.332094],[-73.380296,42.416117],[-73.348568,42.500141],[-73.316806,42.584175],[-73.285056,42.668198],[-73.253327,42.752222],[-73.155011,42.749486],[-73.056694,42.74674],[-72.95841,42.744004],[-72.860094,42.741268],[-72.761777,42.738533],[-72.663493,42.735786],[-72.565177,42.733051],[-72.46686,42.730315],[-72.324697,42.726854],[-72.182545,42.723361],[-72.040382,42.719878],[-71.898241,42.716406],[-71.75611,42.712924],[-71.613947,42.70943],[-71.471784,42.705969],[-71.329621,42.702487],[-71.242335,42.729535],[-71.139294,42.808131],[-71.076177,42.825083],[-70.974082,42.871676],[-70.923489,42.881564],[-70.806112,42.876763],[-70.829051,42.825347],[-70.800278,42.77403],[-70.781337,42.72124],[-70.735678,42.669286],[-70.696864,42.664584],[-70.65483,42.673955],[-70.62398,42.671758],[-70.604139,42.649719],[-70.61295,42.623264],[-70.661444,42.616651],[-70.75185,42.570343],[-70.831171,42.552567],[-70.870887,42.496636],[-70.930444,42.431981],[-71.046174,42.331116],[-70.996724,42.299981],[-70.817944,42.264967],[-70.73826,42.228866],[-70.617696,42.040429],[-70.645239,42.021565],[-70.656148,41.987046],[-70.548922,41.938629],[-70.514677,41.803311],[-70.426677,41.7573],[-70.295467,41.728955],[-70.135012,41.769857],[-70.001407,41.826184],[-70.006109,41.872327],[-70.090034,41.979707],[-70.110238,42.030145],[-70.172585,42.062808],[-70.196228,42.035111],[-70.236536,42.071026],[-70.241085,42.091229],[-70.203489,42.101018],[-70.159852,42.097118],[-70.108941,42.078309],[-69.977896,41.961261],[-69.941586,41.807859],[-69.933841,41.710421],[-69.94864,41.677144],[-69.986751,41.683966],[-70.059514,41.677352],[-70.40466,41.626892],[-70.481356,41.582453],[-70.657126,41.534234],[-70.668057,41.558294],[-70.655346,41.608106],[-70.666453,41.710114],[-70.701126,41.714849],[-70.974246,41.548527],[-71.079792,41.53809],[-71.16854,41.489409],[-71.188414,41.516403],[-71.204278,41.641131],[-71.148731,41.74572],[-71.178339,41.744072],[-71.233765,41.706554],[-71.267889,41.75084],[-71.304737,41.774658],[-71.340728,41.797916],[-71.339487,41.835171],[-71.33763,41.891443],[-71.379071,41.902407],[-71.383927,41.971731],[-71.387135,42.016863],[-71.462534,42.015962],[-71.524134,42.015237],[-71.623242,42.014028],[-71.725821,42.012864],[-71.800836,42.011963]]],[[[-70.509898,41.376338],[-70.785314,41.327449],[-70.829183,41.359002],[-70.760485,41.373602],[-70.673715,41.448529],[-70.615993,41.457208],[-70.525356,41.41479],[-70.509898,41.376338]]],[[[-69.97794,41.265596],[-70.055097,41.249468],[-70.233076,41.286338],[-70.086617,41.317561],[-70.0627,41.328482],[-70.043605,41.374426],[-70.041199,41.397476],[-69.985598,41.298621],[-69.97794,41.265596]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"USA-3557","diss_me":3557,"iso_3166_2":"US-MD","wikipedia":"http://en.wikipedia.org/wiki/Maryland","iso_a2":"US","adm0_sr":1,"name":"Maryland","name_alt":"MD","name_local":null,"type":"State","type_en":"State","code_local":"US24","code_hasc":"US.MD","note":null,"hasc_maybe":null,"region":"South","region_cod":null,"provnum_ne":0,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":"Md.","postal":"MD","area_sqkm":0,"sameascity":-99,"labelrank":0,"name_len":8,"mapcolor9":1,"mapcolor13":1,"fips":"US24","fips_alt":null,"woe_id":2347579,"woe_label":"Maryland, US, United States","woe_name":"Maryland","latitude":39.3874,"longitude":-77.0454,"sov_a3":"US1","adm0_a3":"USA","adm0_label":2,"admin":"United States of America","geonunit":"United States of America","gu_a3":"USA","gn_id":4361885,"gn_name":"Maryland","gns_id":-1,"gns_name":null,"gn_level":1,"gn_region":null,"gn_a1_code":"US.MD","region_sub":"South Atlantic","sub_code":null,"gns_level":-1,"gns_lang":null,"gns_adm1":null,"gns_region":null,"min_label":3.5,"max_label":7.5,"min_zoom":2,"wikidataid":"Q1391","name_ar":"ماريلند","name_bn":"মেরিল্যান্ড","name_de":"Maryland","name_en":"Maryland","name_es":"Maryland","name_fr":"Maryland","name_el":"Μέριλαντ","name_hi":"मैरीलैंड","name_hu":"Maryland","name_id":"Maryland","name_it":"Maryland","name_ja":"メリーランド州","name_ko":"메릴랜드","name_nl":"Maryland","name_pl":"Maryland","name_pt":"Maryland","name_ru":"Мэриленд","name_sv":"Maryland","name_tr":"Maryland","name_vi":"Maryland","name_zh":"马里兰州","ne_id":1159315329,"name_he":"מרילנד","name_uk":"Меріленд","name_ur":"میری لینڈ","name_fa":"مریلند","name_zht":"馬里蘭州","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[-79.487981,37.953965,-75.037661,39.722797],"geometry":{"type":"MultiPolygon","coordinates":[[[[-77.030361,38.889253],[-77.019737,38.806526],[-76.931242,38.88822],[-76.988789,38.952347],[-77.042116,39.011783],[-77.122053,38.943536],[-77.1903,38.969047],[-77.301086,39.053378],[-77.480921,39.112957],[-77.506454,39.14262],[-77.502938,39.175282],[-77.478856,39.220864],[-77.53415,39.265612],[-77.668821,39.309535],[-77.726642,39.346438],[-77.739045,39.354337],[-77.744835,39.400106],[-77.762358,39.429242],[-77.791703,39.441777],[-77.797438,39.461465],[-77.779585,39.488337],[-77.798141,39.517275],[-77.853072,39.548334],[-77.872167,39.575778],[-77.855423,39.599706],[-77.883252,39.610714],[-77.955707,39.608803],[-78.027195,39.631226],[-78.097782,39.677885],[-78.181135,39.68574],[-78.325364,39.639213],[-78.406761,39.627864],[-78.442698,39.601464],[-78.460265,39.556134],[-78.495542,39.533348],[-78.574962,39.532854],[-78.587497,39.534436],[-78.677673,39.54952],[-78.741669,39.577898],[-78.753402,39.589522],[-78.746459,39.613702],[-78.758214,39.624766],[-78.77777,39.626622],[-78.796172,39.612626],[-78.814794,39.570087],[-78.971481,39.453643],[-79.046748,39.476791],[-79.075345,39.475989],[-79.293556,39.311578],[-79.35977,39.285354],[-79.487981,39.210911],[-79.485344,39.33889],[-79.48274,39.466837],[-79.480126,39.594817],[-79.4775,39.722797],[-79.24671,39.722775],[-79.015898,39.722742],[-78.785086,39.72272],[-78.554297,39.722687],[-78.323507,39.722665],[-78.092695,39.722643],[-77.861883,39.72261],[-77.631094,39.722588],[-77.400304,39.722566],[-77.169492,39.722533],[-76.93868,39.722511],[-76.707901,39.722489],[-76.477112,39.722456],[-76.246322,39.722434],[-76.015532,39.722379],[-75.78472,39.722357],[-75.77503,39.563945],[-75.765318,39.405555],[-75.755606,39.247144],[-75.745883,39.088721],[-75.736172,38.930309],[-75.72646,38.771897],[-75.716748,38.613485],[-75.707025,38.455073],[-75.704729,38.455073],[-75.702433,38.45504],[-75.700125,38.455018],[-75.697829,38.455018],[-75.695533,38.455018],[-75.693226,38.455018],[-75.690908,38.455018],[-75.688601,38.455018],[-75.587856,38.454996],[-75.366273,38.454919],[-75.144657,38.454865],[-75.037661,38.45559],[-75.038748,38.426366],[-75.051251,38.383036],[-75.074355,38.365721],[-75.073399,38.410007],[-75.089747,38.42541],[-75.116751,38.406206],[-75.134242,38.384321],[-75.141482,38.298123],[-75.160005,38.255056],[-75.225428,38.24229],[-75.291786,38.129197],[-75.35354,38.065015],[-75.375963,38.024991],[-75.469424,38.014939],[-75.620002,37.999207],[-75.659256,37.953965],[-75.735161,37.973707],[-75.850814,37.971554],[-75.829039,38.03277],[-75.795344,38.086669],[-75.855626,38.140359],[-75.89131,38.147236],[-75.92807,38.169242],[-75.88497,38.213945],[-75.863921,38.26123],[-75.876764,38.318744],[-75.858702,38.362074],[-75.888827,38.355515],[-75.937276,38.30968],[-75.967401,38.291355],[-75.985715,38.331949],[-76.006677,38.322776],[-76.020311,38.294871],[-76.051216,38.279545],[-76.116485,38.317689],[-76.211671,38.361327],[-76.264647,38.436418],[-76.29487,38.494657],[-76.264175,38.599972],[-76.198388,38.618682],[-76.112948,38.601576],[-76.000942,38.60173],[-76.016927,38.625109],[-76.05695,38.621263],[-76.174987,38.706682],[-76.212967,38.758285],[-76.278314,38.772468],[-76.308098,38.722854],[-76.341178,38.709648],[-76.30032,38.818204],[-76.24697,38.822643],[-76.168132,38.852745],[-76.19105,38.915554],[-76.240818,38.943075],[-76.330664,38.908611],[-76.329598,38.952787],[-76.312756,39.009356],[-76.245003,39.009191],[-76.18571,38.990745],[-76.135195,39.082107],[-76.132943,39.122965],[-76.216845,39.063639],[-76.235698,39.191619],[-76.153125,39.315039],[-76.074364,39.368861],[-75.975981,39.367257],[-75.875984,39.375991],[-75.938716,39.398579],[-76.003106,39.410851],[-75.954734,39.459608],[-75.913447,39.468342],[-75.872929,39.510892],[-75.9704,39.504564],[-75.958919,39.58505],[-76.006314,39.568691],[-76.063004,39.561122],[-76.085064,39.526998],[-76.080725,39.470309],[-76.097259,39.433098],[-76.141369,39.403226],[-76.215813,39.379946],[-76.223042,39.420332],[-76.247662,39.438602],[-76.256814,39.352173],[-76.276369,39.322741],[-76.330818,39.403897],[-76.347198,39.387549],[-76.345045,39.364522],[-76.358976,39.324685],[-76.405689,39.303877],[-76.402778,39.252824],[-76.420883,39.224995],[-76.570407,39.269336],[-76.573923,39.254318],[-76.489383,39.158693],[-76.427607,39.126041],[-76.42006,39.073889],[-76.47308,39.030614],[-76.546248,39.067979],[-76.558553,39.06521],[-76.518783,39.001182],[-76.493778,38.945217],[-76.519508,38.898328],[-76.515553,38.840606],[-76.521112,38.7883],[-76.536877,38.742618],[-76.501314,38.532175],[-76.458501,38.47497],[-76.416412,38.420236],[-76.394088,38.368973],[-76.438736,38.361536],[-76.509895,38.403646],[-76.572429,38.435792],[-76.646894,38.538525],[-76.659188,38.579559],[-76.677326,38.611958],[-76.668548,38.537515],[-76.641983,38.454348],[-76.408766,38.268262],[-76.365721,38.196895],[-76.332905,38.140776],[-76.341178,38.087031],[-76.401943,38.125066],[-76.454425,38.173538],[-76.593589,38.228315],[-76.769161,38.262933],[-76.868115,38.390298],[-76.867752,38.337146],[-76.889747,38.29208],[-76.95026,38.347045],[-76.988393,38.393879],[-77.001181,38.445251],[-77.076712,38.441758],[-77.155902,38.397109],[-77.23252,38.407711],[-77.241584,38.494811],[-77.220919,38.540953],[-77.134929,38.650125],[-77.053894,38.705803],[-77.018188,38.777742],[-77.030361,38.889253]]],[[[-75.225791,38.040339],[-75.252476,38.03745],[-75.225999,38.072299],[-75.137395,38.240093],[-75.097888,38.298079],[-75.13623,38.180536],[-75.203203,38.072408],[-75.225791,38.040339]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"USA-3561","diss_me":3561,"iso_3166_2":"US-ME","wikipedia":"http://en.wikipedia.org/wiki/Maine","iso_a2":"US","adm0_sr":6,"name":"Maine","name_alt":"ME|Maine","name_local":null,"type":"State","type_en":"State","code_local":"US23","code_hasc":"US.ME","note":null,"hasc_maybe":null,"region":"Northeast","region_cod":null,"provnum_ne":0,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":"Maine","postal":"ME","area_sqkm":0,"sameascity":-99,"labelrank":0,"name_len":5,"mapcolor9":1,"mapcolor13":1,"fips":"US23","fips_alt":null,"woe_id":2347578,"woe_label":"Maine, US, United States","woe_name":"Maine","latitude":45.148,"longitude":-69.1973,"sov_a3":"US1","adm0_a3":"USA","adm0_label":2,"admin":"United States of America","geonunit":"United States of America","gu_a3":"USA","gn_id":4971068,"gn_name":"Maine","gns_id":-1,"gns_name":null,"gn_level":1,"gn_region":null,"gn_a1_code":"US.ME","region_sub":"New England","sub_code":null,"gns_level":-1,"gns_lang":null,"gns_adm1":null,"gns_region":null,"min_label":3.5,"max_label":7.5,"min_zoom":2,"wikidataid":"Q724","name_ar":"مين","name_bn":"মেইন","name_de":"Maine","name_en":"Maine","name_es":"Maine","name_fr":"Maine","name_el":"Μέιν","name_hi":"मेन","name_hu":"Maine","name_id":"Maine","name_it":"Maine","name_ja":"メイン州","name_ko":"메인","name_nl":"Maine","name_pl":"Maine","name_pt":"Maine","name_ru":"Мэн","name_sv":"Maine","name_tr":"Maine","name_vi":"Maine","name_zh":"缅因州","ne_id":1159308501,"name_he":"מיין","name_uk":"Мен","name_ur":"مینے","name_fa":"مین","name_zht":"缅因州","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[-71.084549,43.070034,-66.987022,47.462995],"geometry":{"type":"MultiPolygon","coordinates":[[[[-69.05366,47.294585],[-69.048574,47.273656],[-69.00309,47.236446],[-68.937183,47.211254],[-68.887415,47.202827],[-68.828715,47.203322],[-68.668546,47.253442],[-68.480383,47.285796],[-68.376902,47.316151],[-68.358017,47.344529],[-68.310886,47.354472],[-68.235497,47.345946],[-68.096795,47.274843],[-67.934835,47.167616],[-67.806789,47.082813],[-67.802856,46.935739],[-67.800351,46.779854],[-67.797692,46.61563],[-67.795836,46.498406],[-67.792518,46.337379],[-67.789914,46.209323],[-67.786475,46.042155],[-67.78464,45.952803],[-67.767051,45.926985],[-67.777609,45.891796],[-67.782289,45.874174],[-67.781125,45.860144],[-67.774105,45.842522],[-67.775258,45.81788],[-67.791694,45.795578],[-67.799911,45.76976],[-67.800698,45.755503],[-67.862988,45.7396],[-67.778955,45.670117],[-67.625488,45.602246],[-67.512402,45.589355],[-67.449414,45.60708],[-67.4497,45.607939],[-67.43265,45.603108],[-67.413863,45.56559],[-67.424432,45.530401],[-67.454919,45.513965],[-67.48779,45.501045],[-67.493657,45.474074],[-67.477221,45.445905],[-67.453754,45.421262],[-67.427947,45.377954],[-67.438516,45.340381],[-67.461972,45.308708],[-67.472541,45.275891],[-67.452601,45.247678],[-67.399778,45.21016],[-67.36694,45.173784],[-67.315294,45.153833],[-67.290662,45.167918],[-67.270722,45.186704],[-67.249584,45.200778],[-67.213231,45.192538],[-67.170988,45.182002],[-67.124835,45.169445],[-67.130372,45.139002],[-67.102258,45.08774],[-67.08045,44.98917],[-67.113936,44.94439],[-67.106729,44.885042],[-67.014015,44.867749],[-66.991461,44.849611],[-66.987022,44.827704],[-67.191247,44.675565],[-67.364073,44.696857],[-67.457786,44.656526],[-67.556004,44.644771],[-67.59907,44.576787],[-67.652991,44.562395],[-67.726786,44.566482],[-67.790485,44.585675],[-67.839056,44.576249],[-67.907017,44.45362],[-67.962696,44.464309],[-67.984888,44.420188],[-68.01398,44.400885],[-68.056618,44.384318],[-68.093719,44.438843],[-68.117285,44.490644],[-68.152034,44.502014],[-68.198265,44.515242],[-68.245748,44.514781],[-68.277432,44.507365],[-68.316752,44.473878],[-68.373749,44.445138],[-68.416849,44.469066],[-68.450599,44.507595],[-68.47946,44.445655],[-68.521417,44.380242],[-68.514473,44.303909],[-68.532535,44.258645],[-68.572349,44.27084],[-68.612032,44.310523],[-68.72329,44.342306],[-68.811917,44.339362],[-68.793889,44.381736],[-68.710118,44.442556],[-68.735881,44.454499],[-68.777014,44.44605],[-68.794943,44.454499],[-68.765511,44.509793],[-68.76272,44.570767],[-68.800217,44.549398],[-68.84737,44.485041],[-68.961474,44.433855],[-68.956168,44.348096],[-69.063559,44.172348],[-69.06836,44.097564],[-69.137244,44.037831],[-69.226058,43.986459],[-69.344545,44.000928],[-69.434952,43.956312],[-69.480875,43.905072],[-69.520733,43.897371],[-69.541541,43.962619],[-69.556702,43.982768],[-69.58998,43.886571],[-69.623939,43.880628],[-69.636749,43.948842],[-69.652877,43.993875],[-69.699129,43.955016],[-69.729847,43.851997],[-69.762015,43.860709],[-69.772276,43.89903],[-69.795292,43.910631],[-69.803258,43.866829],[-69.791601,43.805228],[-69.808344,43.772313],[-69.840336,43.789881],[-69.872526,43.819544],[-69.925601,43.797022],[-69.974326,43.78787],[-69.974534,43.818072],[-69.965229,43.855106],[-70.062359,43.834639],[-70.178814,43.76637],[-70.269243,43.671909],[-70.237877,43.656199],[-70.202578,43.626118],[-70.359682,43.480242],[-70.520698,43.348823],[-70.642327,43.134425],[-70.691162,43.109332],[-70.733096,43.070034],[-70.812835,43.163649],[-70.829029,43.23907],[-70.919699,43.328103],[-70.955635,43.389396],[-70.967545,43.458148],[-70.962436,43.532152],[-70.970104,43.643026],[-70.977751,43.753867],[-70.985408,43.864708],[-70.993077,43.975561],[-71.000756,44.086402],[-71.008403,44.197254],[-71.016049,44.308095],[-71.023718,44.418947],[-71.031397,44.529788],[-71.039044,44.64064],[-71.04669,44.751481],[-71.05437,44.862322],[-71.062038,44.973174],[-71.069685,45.084015],[-71.077331,45.194867],[-71.084549,45.294008],[-71.060225,45.309125],[-70.999877,45.337228],[-70.960184,45.333097],[-70.926236,45.290701],[-70.89799,45.262455],[-70.865053,45.270695],[-70.836829,45.310696],[-70.837818,45.366177],[-70.79919,45.404772],[-70.7533,45.410694],[-70.710948,45.409474],[-70.689788,45.428338],[-70.692139,45.455364],[-70.70741,45.498925],[-70.702214,45.551385],[-70.596383,45.643988],[-70.466568,45.706819],[-70.421096,45.73824],[-70.407868,45.801906],[-70.333458,45.868054],[-70.296247,45.906089],[-70.28715,45.939158],[-70.306431,45.979829],[-70.30452,46.057393],[-70.278878,46.149997],[-70.248292,46.250873],[-70.17966,46.341818],[-70.067215,46.441046],[-70.038222,46.571421],[-70.00768,46.708937],[-69.871724,46.842926],[-69.71752,46.994856],[-69.629772,47.081363],[-69.471492,47.238665],[-69.358882,47.350649],[-69.302149,47.401988],[-69.242878,47.462995],[-69.146286,47.444757],[-69.050222,47.426619],[-69.064284,47.338146],[-69.05366,47.294585]]],[[[-68.187256,44.332484],[-68.24544,44.313006],[-68.30926,44.321509],[-68.307974,44.268698],[-68.315104,44.249702],[-68.38579,44.276861],[-68.411707,44.294351],[-68.409488,44.364268],[-68.347042,44.430362],[-68.299438,44.456509],[-68.238046,44.438404],[-68.190893,44.364378],[-68.187256,44.332484]]],[[[-68.623194,44.196067],[-68.661174,44.17627],[-68.701713,44.182675],[-68.703032,44.232003],[-68.690793,44.248725],[-68.67673,44.256217],[-68.655955,44.242309],[-68.623194,44.196067]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"USA-3562","diss_me":3562,"iso_3166_2":"US-MI","wikipedia":"http://en.wikipedia.org/wiki/Michigan","iso_a2":"US","adm0_sr":1,"name":"Michigan","name_alt":"MI|Mich.","name_local":null,"type":"State","type_en":"State","code_local":"US26","code_hasc":"US.MI","note":null,"hasc_maybe":null,"region":"Midwest","region_cod":null,"provnum_ne":0,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":"Mich.","postal":"MI","area_sqkm":0,"sameascity":-99,"labelrank":0,"name_len":8,"mapcolor9":1,"mapcolor13":1,"fips":"US26","fips_alt":null,"woe_id":2347581,"woe_label":"Michigan, US, United States","woe_name":"Michigan","latitude":43.4343,"longitude":-84.9479,"sov_a3":"US1","adm0_a3":"USA","adm0_label":2,"admin":"United States of America","geonunit":"United States of America","gu_a3":"USA","gn_id":5001836,"gn_name":"Michigan","gns_id":-1,"gns_name":null,"gn_level":1,"gn_region":null,"gn_a1_code":"US.MI","region_sub":"East North Central","sub_code":null,"gns_level":-1,"gns_lang":null,"gns_adm1":null,"gns_region":null,"min_label":3.5,"max_label":7.5,"min_zoom":2,"wikidataid":"Q1166","name_ar":"ميشيغان","name_bn":"মিশিগান","name_de":"Michigan","name_en":"Michigan","name_es":"Míchigan","name_fr":"Michigan","name_el":"Μίσιγκαν","name_hi":"मिशिगन","name_hu":"Michigan","name_id":"Michigan","name_it":"Michigan","name_ja":"ミシガン州","name_ko":"미시간","name_nl":"Michigan","name_pl":"Michigan","name_pt":"Michigan","name_ru":"Мичиган","name_sv":"Michigan","name_tr":"Michigan","name_vi":"Michigan","name_zh":"密歇根州","ne_id":1159314665,"name_he":"מישיגן","name_uk":"Мічиган","name_ur":"مشی گن","name_fa":"میشیگان","name_zht":"密歇根州","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[-90.412588,41.701434,-82.417231,48.175928],"geometry":{"type":"MultiPolygon","coordinates":[[[[-82.417231,43.017384],[-82.417233,43.017377],[-82.488347,42.739511],[-82.545322,42.624682],[-82.645116,42.558061],[-82.639111,42.574365],[-82.62998,42.594531],[-82.632812,42.661035],[-82.649902,42.686572],[-82.686768,42.696924],[-82.732617,42.689551],[-82.787354,42.664551],[-82.804443,42.638916],[-82.783789,42.612744],[-82.795996,42.589111],[-82.840967,42.568115],[-82.870117,42.518994],[-82.883398,42.441846],[-82.902002,42.393994],[-82.925977,42.375488],[-83.016504,42.347119],[-83.063379,42.322656],[-83.104834,42.286426],[-83.142139,42.227637],[-83.175244,42.146289],[-83.188428,42.083398],[-83.176562,42.048926],[-83.204785,42.027051],[-83.255566,41.985596],[-83.265234,41.970557],[-83.261816,41.946387],[-83.27251,41.93457],[-83.297217,41.935059],[-83.316162,41.923291],[-83.362061,41.879883],[-83.441162,41.766211],[-83.454257,41.745548],[-83.464197,41.739447],[-83.797181,41.729955],[-84.130155,41.720452],[-84.463129,41.710938],[-84.796113,41.701434],[-84.796399,41.759728],[-85.099501,41.75986],[-85.402614,41.759981],[-85.705715,41.760112],[-86.008828,41.760244],[-86.31193,41.760376],[-86.615043,41.760497],[-86.862597,41.760587],[-86.798193,41.788525],[-86.691553,41.853369],[-86.632471,41.911328],[-86.575342,41.987695],[-86.520166,42.082275],[-86.407373,42.22373],[-86.35249,42.309326],[-86.299561,42.417627],[-86.259619,42.531201],[-86.232715,42.65],[-86.22002,42.773096],[-86.221533,42.900439],[-86.248486,43.028809],[-86.300879,43.158057],[-86.32915,43.224121],[-86.340186,43.241748],[-86.43501,43.407129],[-86.542139,43.637305],[-86.540527,43.656934],[-86.440576,43.794287],[-86.438037,43.812744],[-86.448633,43.923975],[-86.469922,43.979785],[-86.520947,44.054736],[-86.519189,44.07373],[-86.41543,44.169482],[-86.352734,44.242383],[-86.295898,44.330615],[-86.259082,44.433594],[-86.242188,44.551318],[-86.242725,44.629736],[-86.260693,44.668848],[-86.25874,44.699023],[-86.237012,44.720215],[-86.12583,44.747754],[-86.088428,44.794238],[-86.080469,44.875879],[-86.057666,44.916357],[-86.019922,44.915723],[-85.98501,44.93252],[-85.95293,44.96665],[-85.910498,44.976318],[-85.857812,44.961523],[-85.784131,45.012158],[-85.689355,45.128076],[-85.616602,45.19292],[-85.565869,45.206543],[-85.556201,45.195996],[-85.587744,45.161328],[-85.597412,45.12334],[-85.585254,45.081982],[-85.595703,45.041943],[-85.619238,44.987061],[-85.604687,44.969922],[-85.645312,44.881641],[-85.647217,44.8375],[-85.62251,44.803955],[-85.593262,44.815674],[-85.559326,44.872656],[-85.549219,44.902979],[-85.562842,44.906738],[-85.557764,44.930957],[-85.533887,44.975586],[-85.512646,44.996777],[-85.494092,44.994434],[-85.488916,44.970117],[-85.497119,44.923828],[-85.550928,44.814648],[-85.561475,44.78125],[-85.549365,44.771875],[-85.484717,44.840332],[-85.430371,44.949316],[-85.389014,45.032764],[-85.381592,45.078271],[-85.393994,45.195654],[-85.391455,45.243799],[-85.375684,45.276953],[-85.319482,45.314453],[-85.222852,45.356152],[-85.127344,45.378467],[-85.032959,45.38125],[-84.967139,45.392676],[-84.929834,45.412598],[-84.942871,45.428564],[-85.006396,45.440479],[-85.054688,45.46665],[-85.087695,45.506885],[-85.09873,45.553125],[-85.087793,45.605273],[-85.047363,45.656396],[-84.97749,45.706543],[-84.955469,45.743408],[-84.981396,45.767041],[-84.951514,45.775391],[-84.865869,45.768555],[-84.805957,45.775049],[-84.771973,45.794775],[-84.762598,45.792383],[-84.690918,45.773779],[-84.562939,45.712158],[-84.441406,45.67627],[-84.326318,45.666162],[-84.242285,45.644434],[-84.189258,45.611133],[-84.151123,45.573828],[-84.127734,45.532471],[-84.072803,45.509131],[-83.986328,45.503809],[-83.918262,45.486279],[-83.86875,45.456494],[-83.593652,45.379443],[-83.478516,45.338818],[-83.415283,45.299023],[-83.397266,45.273584],[-83.402588,45.24834],[-83.396191,45.221387],[-83.348975,45.168994],[-83.331104,45.164209],[-83.320166,45.138965],[-83.316113,45.093164],[-83.302295,45.062402],[-83.278711,45.046777],[-83.293066,45.040381],[-83.377832,45.066895],[-83.425928,45.058936],[-83.448145,45.024561],[-83.451562,44.991992],[-83.436182,44.961426],[-83.327783,44.869238],[-83.299561,44.785205],[-83.294238,44.68335],[-83.30791,44.643799],[-83.319287,44.556494],[-83.328369,44.421436],[-83.330566,44.375098],[-83.366211,44.330029],[-83.462793,44.264941],[-83.464209,44.277246],[-83.487402,44.280566],[-83.5125,44.270752],[-83.54751,44.215039],[-83.57749,44.113428],[-83.613965,44.058252],[-83.656982,44.049561],[-83.682812,44.03501],[-83.691504,44.014453],[-83.737695,44.000635],[-83.821436,43.993457],[-83.878809,43.962549],[-83.921582,43.875488],[-83.919775,43.833887],[-83.9396,43.781934],[-83.938281,43.737549],[-83.915674,43.700586],[-83.847998,43.663623],[-83.735205,43.62666],[-83.667871,43.620996],[-83.621582,43.636475],[-83.573096,43.697119],[-83.526025,43.720898],[-83.468896,43.730908],[-83.447363,43.758447],[-83.352979,43.879346],[-83.353076,43.906348],[-83.3875,43.916602],[-83.382568,43.924072],[-83.338135,43.928906],[-83.299463,43.945117],[-83.266602,43.972852],[-83.209277,43.993604],[-83.069482,44.025049],[-82.994629,44.061084],[-82.947217,44.066992],[-82.878223,44.047754],[-82.787744,44.003516],[-82.716113,43.939014],[-82.66333,43.854199],[-82.596729,43.634424],[-82.516211,43.279639],[-82.461279,43.081006],[-82.431934,43.038574],[-82.417236,43.017383],[-82.417231,43.017384]]],[[[-87.605843,45.108554],[-87.653613,45.121797],[-87.694208,45.161073],[-87.71885,45.201272],[-87.720916,45.242768],[-87.66271,45.345193],[-87.657568,45.361804],[-87.664226,45.371286],[-87.696394,45.382832],[-87.768563,45.364364],[-87.84182,45.360794],[-87.86543,45.367825],[-87.874911,45.385392],[-87.874032,45.412814],[-87.859135,45.445498],[-87.815178,45.505824],[-87.814662,45.563239],[-87.794557,45.596033],[-87.814091,45.657029],[-87.809081,45.686044],[-87.839832,45.717981],[-87.922537,45.759971],[-88.116116,45.815804],[-88.096483,45.878415],[-88.104415,45.905155],[-88.151745,45.945409],[-88.35475,45.992288],[-88.492991,46.013524],[-88.62954,46.014041],[-88.727241,46.031114],[-88.837335,46.036618],[-88.907824,46.064765],[-88.978312,46.092901],[-89.0488,46.121059],[-89.119289,46.149195],[-89.244181,46.173255],[-89.369085,46.197337],[-89.493988,46.221364],[-89.618925,46.245446],[-89.743839,46.269473],[-89.868754,46.293555],[-89.993646,46.317582],[-90.11855,46.341664],[-90.14651,46.383676],[-90.174459,46.425721],[-90.20242,46.467754],[-90.23038,46.509766],[-90.28786,46.527388],[-90.318227,46.536639],[-90.34088,46.558446],[-90.39234,46.548965],[-90.412588,46.585275],[-90.407613,46.592949],[-90.341357,46.60249],[-90.153564,46.654492],[-89.993262,46.71792],[-89.860596,46.792773],[-89.695117,46.838574],[-89.496826,46.85542],[-89.35498,46.881934],[-89.269434,46.918164],[-89.154785,46.988623],[-89.090234,47.009277],[-89.009131,47.015723],[-88.948096,47.042969],[-88.907129,47.091113],[-88.829639,47.14585],[-88.715625,47.207178],[-88.650488,47.231982],[-88.634131,47.220312],[-88.628223,47.198633],[-88.632715,47.166895],[-88.604395,47.14126],[-88.543262,47.121582],[-88.51543,47.095508],[-88.52085,47.063086],[-88.504395,47.035449],[-88.466016,47.012549],[-88.455859,46.962842],[-88.47373,46.886279],[-88.476074,46.836719],[-88.462744,46.81416],[-88.449121,46.801514],[-88.427295,46.813916],[-88.4,46.840918],[-88.389941,46.857422],[-88.383008,46.874316],[-88.21626,46.951562],[-88.18374,46.955322],[-88.12915,46.935498],[-87.8771,46.907715],[-87.777588,46.887891],[-87.6729,46.843555],[-87.6375,46.826514],[-87.509473,46.683447],[-87.451221,46.627441],[-87.414893,46.612061],[-87.394482,46.590088],[-87.377832,46.539551],[-87.358105,46.524414],[-87.170654,46.513525],[-87.085693,46.522705],[-87.034131,46.543213],[-86.976758,46.530078],[-86.913623,46.483301],[-86.851465,46.470215],[-86.790381,46.49082],[-86.73291,46.490137],[-86.679053,46.468213],[-86.653906,46.452246],[-86.6375,46.452979],[-86.531006,46.524414],[-86.402686,46.587744],[-86.231348,46.65625],[-86.132031,46.686816],[-86.104639,46.679248],[-85.946777,46.702148],[-85.804492,46.704248],[-85.616113,46.690576],[-85.441504,46.706641],[-85.280713,46.752441],[-85.138428,46.778027],[-85.014648,46.783496],[-84.96792,46.770703],[-84.998193,46.739697],[-85.014502,46.686475],[-85.016748,46.610937],[-85.027393,46.563135],[-85.046289,46.543018],[-85.048633,46.523877],[-85.034326,46.505762],[-84.914307,46.493994],[-84.851172,46.469482],[-84.778809,46.468359],[-84.697314,46.490723],[-84.634863,46.482275],[-84.591504,46.443115],[-84.528369,46.436084],[-84.467187,46.464209],[-84.42417,46.490674],[-84.386963,46.502246],[-84.358008,46.504687],[-84.327441,46.491455],[-84.306738,46.469141],[-84.254785,46.407568],[-84.229053,46.36582],[-84.21333,46.303809],[-84.202246,46.283154],[-84.203662,46.246973],[-84.238477,46.222461],[-84.247949,46.203027],[-84.227051,46.183643],[-84.108838,46.178174],[-84.054883,46.158936],[-84.034717,46.137402],[-84.048389,46.113525],[-84.040771,46.088184],[-84.011963,46.061426],[-83.917432,46.020703],[-83.894141,46.001318],[-83.900977,45.980859],[-83.929199,45.967578],[-83.978809,45.961523],[-84.340918,45.999805],[-84.447314,46.006152],[-84.462939,45.99209],[-84.473096,45.98999],[-84.490332,45.99375],[-84.521289,45.99458],[-84.536865,46.003711],[-84.549902,46.029248],[-84.581494,46.045557],[-84.631543,46.052637],[-84.674658,46.033301],[-84.724902,45.95752],[-84.71709,45.943506],[-84.725391,45.894873],[-84.712695,45.881641],[-84.71333,45.870508],[-84.727393,45.861475],[-84.756934,45.862793],[-84.801855,45.874365],[-84.971826,45.988965],[-85.100635,46.046191],[-85.259863,46.088184],[-85.385937,46.108643],[-85.478809,46.107568],[-85.555078,46.078174],[-85.614795,46.020459],[-85.707812,45.987598],[-85.834229,45.979687],[-85.902881,45.964209],[-85.913721,45.941162],[-85.959326,45.940674],[-86.039746,45.962695],[-86.122949,45.968945],[-86.208936,45.959326],[-86.271777,45.93667],[-86.338086,45.865723],[-86.351318,45.830957],[-86.399561,45.800684],[-86.52749,45.753174],[-86.533887,45.735645],[-86.601172,45.681641],[-86.622363,45.652002],[-86.621973,45.622754],[-86.644434,45.624512],[-86.689697,45.657324],[-86.691406,45.701416],[-86.649512,45.756836],[-86.612256,45.783643],[-86.579541,45.781836],[-86.559277,45.806299],[-86.551514,45.85708],[-86.56333,45.88252],[-86.627197,45.87251],[-86.660645,45.852295],[-86.702783,45.847949],[-86.753613,45.859473],[-86.798535,45.831787],[-86.837451,45.764795],[-86.883887,45.720947],[-86.937891,45.700244],[-86.974219,45.723145],[-86.992773,45.789648],[-86.99292,45.841895],[-86.971094,45.90498],[-86.982324,45.917285],[-87.005029,45.897168],[-87.039258,45.84458],[-87.084863,45.729785],[-87.11416,45.69248],[-87.15376,45.676758],[-87.216406,45.607324],[-87.302051,45.484131],[-87.398779,45.364648],[-87.506494,45.248877],[-87.571191,45.186621],[-87.592822,45.177832],[-87.602246,45.157031],[-87.605843,45.108554]]],[[[-88.911035,47.93623],[-88.955176,47.926025],[-88.960107,47.909473],[-88.92373,47.904541],[-88.930371,47.89624],[-88.969873,47.88125],[-89.081641,47.850586],[-89.156787,47.840771],[-89.195215,47.851807],[-89.19917,47.872266],[-89.168799,47.902148],[-89.169092,47.91709],[-89.200098,47.91709],[-89.192627,47.928955],[-89.146631,47.952637],[-88.755518,48.103516],[-88.588281,48.158496],[-88.499219,48.175928],[-88.484863,48.167432],[-88.581299,48.110742],[-88.596826,48.087451],[-88.593066,48.071973],[-88.624756,48.042041],[-88.911035,47.93623]]],[[[-87.790479,47.411426],[-88.020654,47.392383],[-88.026953,47.386328],[-87.983057,47.36792],[-87.974902,47.354932],[-88.015527,47.32085],[-88.221875,47.210596],[-88.240381,47.17832],[-88.236768,47.158936],[-88.358203,47.073389],[-88.402246,47.019287],[-88.439062,47.010742],[-88.468652,47.047607],[-88.468457,47.077246],[-88.438428,47.099561],[-88.409082,47.131445],[-88.40542,47.175488],[-88.416748,47.191455],[-88.453809,47.151855],[-88.433154,47.143359],[-88.427051,47.136572],[-88.434082,47.122314],[-88.57373,47.143311],[-88.615723,47.17417],[-88.608887,47.217187],[-88.561963,47.272168],[-88.394336,47.388721],[-88.320312,47.421094],[-88.110205,47.47251],[-87.994287,47.484229],[-87.87793,47.48418],[-87.793457,47.467285],[-87.741016,47.433643],[-87.790479,47.411426]]],[[[-84.16875,46.324463],[-84.137305,46.30625],[-84.11958,46.28501],[-84.115576,46.260791],[-84.120654,46.245898],[-84.134863,46.24043],[-84.184912,46.279443],[-84.195508,46.303418],[-84.188135,46.323486],[-84.16875,46.324463]]],[[[-86.052441,45.156396],[-85.998486,45.150146],[-85.979834,45.131641],[-85.976221,45.102148],[-85.988184,45.087988],[-86.015771,45.08916],[-86.037939,45.102832],[-86.05957,45.146826],[-86.052441,45.156396]]],[[[-85.492334,45.760205],[-85.501465,45.750244],[-85.492334,45.662891],[-85.509082,45.624463],[-85.55166,45.602588],[-85.585938,45.59751],[-85.612061,45.609277],[-85.607715,45.656055],[-85.572852,45.737891],[-85.538525,45.775391],[-85.492334,45.760205]]],[[[-83.529004,46.023584],[-83.503467,46.013135],[-83.49375,45.99082],[-83.518018,45.957861],[-83.588281,45.941113],[-83.730762,45.942969],[-83.823242,45.955664],[-83.865723,45.979102],[-83.875146,45.99126],[-83.871094,46.017383],[-83.850586,46.019141],[-83.820264,46.00498],[-83.775,46.011084],[-83.714795,46.0375],[-83.683252,46.057227],[-83.680225,46.07041],[-83.699414,46.095605],[-83.683887,46.10625],[-83.608203,46.096582],[-83.580078,46.080078],[-83.529004,46.023584]]],[[[-84.429004,45.806543],[-84.416748,45.814307],[-84.380273,45.787695],[-84.374756,45.765381],[-84.390137,45.746582],[-84.412305,45.736279],[-84.441211,45.734473],[-84.4875,45.753516],[-84.563086,45.803857],[-84.557178,45.820459],[-84.429004,45.806543]]],[[[-84.132715,46.340674],[-84.163428,46.345557],[-84.188965,46.360059],[-84.209473,46.384277],[-84.235059,46.444531],[-84.27417,46.4875],[-84.215527,46.536084],[-84.180273,46.541797],[-84.142432,46.530908],[-84.137354,46.502588],[-84.165088,46.456787],[-84.163574,46.41001],[-84.132812,46.362207],[-84.132715,46.340674]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"USA-3514","diss_me":3514,"iso_3166_2":"US-MN","wikipedia":"http://en.wikipedia.org/wiki/Minnesota","iso_a2":"US","adm0_sr":1,"name":"Minnesota","name_alt":"MN|Minn.","name_local":null,"type":"State","type_en":"State","code_local":"US27","code_hasc":"US.MN","note":null,"hasc_maybe":null,"region":"Midwest","region_cod":null,"provnum_ne":0,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":"Minn.","postal":"MN","area_sqkm":0,"sameascity":-99,"labelrank":0,"name_len":9,"mapcolor9":1,"mapcolor13":1,"fips":"US27","fips_alt":null,"woe_id":2347582,"woe_label":"Minnesota, US, United States","woe_name":"Minnesota","latitude":46.0592,"longitude":-93.364,"sov_a3":"US1","adm0_a3":"USA","adm0_label":2,"admin":"United States of America","geonunit":"United States of America","gu_a3":"USA","gn_id":5037779,"gn_name":"Minnesota","gns_id":-1,"gns_name":null,"gn_level":1,"gn_region":null,"gn_a1_code":"US.MN","region_sub":"West North Central","sub_code":null,"gns_level":-1,"gns_lang":null,"gns_adm1":null,"gns_region":null,"min_label":3.5,"max_label":7.5,"min_zoom":2,"wikidataid":"Q1527","name_ar":"مينيسوتا","name_bn":"মিনেসোটা","name_de":"Minnesota","name_en":"Minnesota","name_es":"Minnesota","name_fr":"Minnesota","name_el":"Μινεσότα","name_hi":"मिनेसोटा","name_hu":"Minnesota","name_id":"Minnesota","name_it":"Minnesota","name_ja":"ミネソタ州","name_ko":"미네소타","name_nl":"Minnesota","name_pl":"Minnesota","name_pt":"Minnesota","name_ru":"Миннесота","name_sv":"Minnesota","name_tr":"Minnesota","name_vi":"Minnesota","name_zh":"明尼苏达州","ne_id":1159315297,"name_he":"מינסוטה","name_uk":"Міннесота","name_ur":"مینیسوٹا","name_fa":"مینهسوتا","name_zht":"明尼蘇達州","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[-97.225738,43.501171,-89.577548,49.369672],"geometry":{"type":"Polygon","coordinates":[[[-97.225738,48.993182],[-97.103449,48.993182],[-96.677064,48.993182],[-96.250685,48.993182],[-95.8243,48.993182],[-95.39792,48.993182],[-95.162044,48.991764],[-95.158243,49.203097],[-95.155298,49.369672],[-94.93934,49.349413],[-94.874795,49.319036],[-94.854333,49.304589],[-94.860403,49.2586],[-94.842605,49.119173],[-94.803461,49.002948],[-94.712769,48.863422],[-94.71256,48.863016],[-94.705095,48.808523],[-94.675355,48.774444],[-94.620885,48.742605],[-94.414155,48.704109],[-94.055182,48.659021],[-93.851628,48.607287],[-93.803546,48.548949],[-93.70774,48.525461],[-93.564286,48.536908],[-93.463618,48.561276],[-93.377886,48.616537],[-93.257943,48.628864],[-93.155215,48.625348],[-93.051707,48.619877],[-92.996254,48.611813],[-92.836733,48.56778],[-92.732654,48.531822],[-92.583256,48.465102],[-92.500578,48.43534],[-92.46089,48.365884],[-92.414588,48.276587],[-92.34844,48.276587],[-92.298677,48.328882],[-92.171785,48.338396],[-92.005155,48.301834],[-91.8584,48.197574],[-91.647287,48.104607],[-91.518307,48.058311],[-91.38724,48.058542],[-91.220655,48.104607],[-91.043478,48.193695],[-90.916048,48.209153],[-90.840319,48.200518],[-90.797318,48.131062],[-90.744408,48.104607],[-90.607101,48.112594],[-90.320138,48.09918],[-90.091776,48.118099],[-90.039943,48.078152],[-89.993646,48.01531],[-89.901043,47.995469],[-89.77537,48.01531],[-89.577548,48.001756],[-89.604736,47.99165],[-89.633838,47.993701],[-89.67207,47.978711],[-89.719531,47.946729],[-89.82876,47.900879],[-89.999854,47.841162],[-90.197266,47.786426],[-90.597461,47.687744],[-90.846729,47.585254],[-90.957129,47.52373],[-91.386279,47.214746],[-91.645166,47.050049],[-92.064551,46.818848],[-92.104248,46.789404],[-92.10698,46.762377],[-92.125346,46.763012],[-92.194549,46.706971],[-92.224003,46.671023],[-92.291646,46.660718],[-92.291904,46.516643],[-92.29214,46.372547],[-92.292371,46.22845],[-92.292629,46.084375],[-92.325473,46.069588],[-92.367276,46.035981],[-92.424613,46.027807],[-92.693949,45.909012],[-92.738081,45.874668],[-92.786448,45.795501],[-92.874712,45.706094],[-92.89652,45.658578],[-92.892488,45.594759],[-92.757461,45.543244],[-92.707022,45.493761],[-92.682605,45.433095],[-92.685808,45.380536],[-92.753918,45.277572],[-92.76614,45.236461],[-92.759059,45.11058],[-92.79304,45.071359],[-92.765212,44.96945],[-92.763404,44.934261],[-92.784668,44.822563],[-92.799214,44.790032],[-92.7726,44.732002],[-92.769809,44.72585],[-92.643538,44.645342],[-92.537031,44.600792],[-92.441587,44.586576],[-92.366941,44.552266],[-92.313091,44.497796],[-92.240307,44.462145],[-92.148582,44.445248],[-92.055121,44.39982],[-91.912299,44.288869],[-91.840976,44.194156],[-91.716435,44.126458],[-91.514846,44.054212],[-91.382692,43.990799],[-91.319916,43.936284],[-91.278432,43.797428],[-91.245253,43.502412],[-91.575414,43.50194],[-91.900609,43.501896],[-92.225838,43.501841],[-92.551066,43.501786],[-92.876261,43.501742],[-93.20149,43.501687],[-93.526712,43.501632],[-93.851913,43.501577],[-94.177114,43.501533],[-94.502342,43.501478],[-94.827565,43.501424],[-95.152766,43.50138],[-95.477967,43.501325],[-95.80319,43.50127],[-96.128418,43.501226],[-96.453619,43.501171],[-96.453619,43.725698],[-96.453619,43.950215],[-96.453619,44.174721],[-96.453641,44.399259],[-96.453668,44.623787],[-96.453668,44.848292],[-96.453668,45.072809],[-96.453668,45.297337],[-96.529759,45.371549],[-96.696109,45.431776],[-96.737527,45.467845],[-96.81491,45.557427],[-96.845452,45.595868],[-96.85106,45.626004],[-96.813619,45.659182],[-96.662672,45.755653],[-96.614689,45.799972],[-96.591052,45.843269],[-96.556401,45.942773],[-96.57048,46.019237],[-96.560845,46.138241],[-96.591904,46.227538],[-96.598567,46.271857],[-96.61743,46.327096],[-96.730859,46.472775],[-96.758198,46.59034],[-96.786647,46.648216],[-96.795997,46.797091],[-96.792822,46.839026],[-96.770135,46.919666],[-96.818299,46.974136],[-96.825325,47.018861],[-96.847517,47.373335],[-96.862947,47.423927],[-96.858707,47.588338],[-96.94635,47.761526],[-96.988005,47.820336],[-97.009032,47.891549],[-97.007434,47.925607],[-97.078516,48.04337],[-97.125927,48.173393],[-97.121609,48.286047],[-97.136803,48.371213],[-97.131019,48.437427],[-97.143961,48.536755],[-97.12913,48.593367],[-97.128047,48.681115],[-97.225738,48.993182]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"USA-3531","diss_me":3531,"iso_3166_2":"US-MO","wikipedia":"http://en.wikipedia.org/wiki/Missouri","iso_a2":"US","adm0_sr":1,"name":"Missouri","name_alt":"MO","name_local":null,"type":"State","type_en":"State","code_local":"US29","code_hasc":"US.MO","note":null,"hasc_maybe":"US.IL|USA-MOS","region":"Midwest","region_cod":null,"provnum_ne":0,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":"Mo.","postal":"MO","area_sqkm":0,"sameascity":-99,"labelrank":0,"name_len":8,"mapcolor9":1,"mapcolor13":1,"fips":"US29","fips_alt":"US17","woe_id":2347584,"woe_label":"Missouri, US, United States","woe_name":"Missouri","latitude":38.5487,"longitude":-92.446,"sov_a3":"US1","adm0_a3":"USA","adm0_label":2,"admin":"United States of America","geonunit":"United States of America","gu_a3":"USA","gn_id":4398678,"gn_name":"Missouri","gns_id":-1,"gns_name":null,"gn_level":1,"gn_region":null,"gn_a1_code":"US.MO","region_sub":"West North Central","sub_code":null,"gns_level":-1,"gns_lang":null,"gns_adm1":null,"gns_region":null,"min_label":3.5,"max_label":7.5,"min_zoom":2,"wikidataid":"Q1581","name_ar":"ميزوري","name_bn":"মিসৌরি","name_de":"Missouri","name_en":"Missouri","name_es":"Misuri","name_fr":"Missouri","name_el":"Μιζούρι","name_hi":"मिसौरी","name_hu":"Missouri","name_id":"Missouri","name_it":"Missouri","name_ja":"ミズーリ州","name_ko":"미주리","name_nl":"Missouri","name_pl":"Missouri","name_pt":"Missouri","name_ru":"Миссури","name_sv":"Missouri","name_tr":"Missouri","name_vi":"Missouri","name_zh":"密苏里州","ne_id":1159315361,"name_he":"מיזורי","name_uk":"Міссурі","name_ur":"مسوری","name_fa":"میزوری","name_zht":"密蘇里州","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[-95.765029,35.99274,-89.122486,40.624653],"geometry":{"type":"Polygon","coordinates":[[[-89.704772,36.001573],[-89.888178,35.999332],[-90.052489,35.997135],[-90.21679,35.994938],[-90.381068,35.99274],[-90.303043,36.099374],[-90.25255,36.137738],[-90.216164,36.178409],[-90.149279,36.215928],[-90.075659,36.296721],[-90.067057,36.334272],[-90.074473,36.371835],[-90.118078,36.422537],[-90.162243,36.500869],[-90.440746,36.500869],[-90.719239,36.500869],[-90.997753,36.500869],[-91.276256,36.500869],[-91.55476,36.500869],[-91.833285,36.500869],[-92.111789,36.500869],[-92.390298,36.500869],[-92.668806,36.500869],[-92.947321,36.500869],[-93.22583,36.500869],[-93.504339,36.500869],[-93.782848,36.500869],[-94.061357,36.500869],[-94.339871,36.500869],[-94.61838,36.500869],[-94.618303,36.625883],[-94.618226,36.750863],[-94.618149,36.875832],[-94.618067,37.000846],[-94.618484,37.131166],[-94.618869,37.261497],[-94.619259,37.391827],[-94.619671,37.522158],[-94.620083,37.652478],[-94.6205,37.782809],[-94.620912,37.91314],[-94.621297,38.04347],[-94.621687,38.17379],[-94.622099,38.304121],[-94.622511,38.434452],[-94.622928,38.564783],[-94.62334,38.695103],[-94.62373,38.825433],[-94.624115,38.955764],[-94.624527,39.086062],[-94.622384,39.124404],[-94.777852,39.193992],[-94.847203,39.259152],[-94.882294,39.343131],[-94.952518,39.426375],[-95.057937,39.508959],[-95.075356,39.597377],[-95.004764,39.691552],[-94.945827,39.739485],[-94.898597,39.741144],[-94.893296,39.781815],[-94.929936,39.861499],[-94.984016,39.891162],[-95.055537,39.870794],[-95.116203,39.87209],[-95.34668,40.001487],[-95.362467,40.01032],[-95.434296,40.09598],[-95.463652,40.198065],[-95.52122,40.264577],[-95.607106,40.29547],[-95.66157,40.362761],[-95.684696,40.466362],[-95.739551,40.570853],[-95.765029,40.601868],[-95.51543,40.602944],[-95.263146,40.604395],[-95.010888,40.605845],[-94.758631,40.607284],[-94.506369,40.608734],[-94.254112,40.610184],[-94.001855,40.611635],[-93.749598,40.613074],[-93.497335,40.614524],[-93.245078,40.615974],[-92.992821,40.617413],[-92.740564,40.618864],[-92.488301,40.620314],[-92.236044,40.621764],[-91.983787,40.623203],[-91.73153,40.624653],[-91.682047,40.551869],[-91.627423,40.530753],[-91.616855,40.50688],[-91.545487,40.469318],[-91.529931,40.432316],[-91.441952,40.37945],[-91.499784,40.226025],[-91.501652,40.097529],[-91.466814,39.942864],[-91.425868,39.826815],[-91.378737,39.749406],[-91.209899,39.602804],[-90.919376,39.386901],[-90.737223,39.181797],[-90.663527,38.987493],[-90.577075,38.909611],[-90.477968,38.948118],[-90.35435,38.93021],[-90.220075,38.897679],[-90.149916,38.859897],[-90.134206,38.84667],[-90.126768,38.832618],[-90.132195,38.818644],[-90.150751,38.780532],[-90.316601,38.457809],[-90.373993,38.309757],[-90.365775,38.254254],[-90.299,38.173999],[-90.173581,38.069047],[-90.063871,38.000525],[-89.969828,37.968533],[-89.822963,37.884092],[-89.623286,37.747257],[-89.523421,37.644524],[-89.523421,37.575947],[-89.502931,37.5058],[-89.461974,37.434125],[-89.461974,37.36568],[-89.502931,37.300509],[-89.486913,37.212739],[-89.413942,37.102415],[-89.35188,37.035519],[-89.300827,37.012052],[-89.290016,37.012777],[-89.285885,37.022698],[-89.293246,37.038177],[-89.295817,37.051636],[-89.291675,37.070653],[-89.281469,37.077794],[-89.272394,37.07998],[-89.224911,37.052679],[-89.154313,36.992112],[-89.122486,36.911593],[-89.129517,36.811057],[-89.156334,36.715718],[-89.203048,36.62552],[-89.256123,36.594407],[-89.280128,36.600043],[-89.330534,36.615907],[-89.351309,36.611205],[-89.397462,36.587793],[-89.450329,36.500023],[-89.451823,36.497518],[-89.471488,36.488883],[-89.485386,36.498133],[-89.487221,36.503066],[-89.496834,36.528829],[-89.51952,36.554823],[-89.535582,36.555284],[-89.549645,36.553065],[-89.55549,36.540771],[-89.560038,36.513097],[-89.557313,36.501078],[-89.540603,36.426667],[-89.55527,36.372922],[-89.604093,36.351916],[-89.611707,36.321968],[-89.583549,36.287657],[-89.583549,36.272233],[-89.594623,36.259445],[-89.627988,36.255259],[-89.654081,36.247964],[-89.674549,36.220575],[-89.63413,36.167917],[-89.641886,36.104515],[-89.697697,36.030303],[-89.704772,36.001573]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"USA-3544","diss_me":3544,"iso_3166_2":"US-MS","wikipedia":"http://en.wikipedia.org/wiki/Mississippi","iso_a2":"US","adm0_sr":5,"name":"Mississippi","name_alt":"MS|Miss.","name_local":null,"type":"State","type_en":"State","code_local":"US28","code_hasc":"US.MS","note":null,"hasc_maybe":null,"region":"South","region_cod":null,"provnum_ne":0,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":"Miss.","postal":"MS","area_sqkm":0,"sameascity":-99,"labelrank":0,"name_len":11,"mapcolor9":1,"mapcolor13":1,"fips":"US28","fips_alt":null,"woe_id":2347583,"woe_label":"Mississippi, US, United States","woe_name":"Mississippi","latitude":32.8657,"longitude":-89.7189,"sov_a3":"US1","adm0_a3":"USA","adm0_label":2,"admin":"United States of America","geonunit":"United States of America","gu_a3":"USA","gn_id":4436296,"gn_name":"Mississippi","gns_id":-1,"gns_name":null,"gn_level":1,"gn_region":null,"gn_a1_code":"US.MS","region_sub":"East South Central","sub_code":null,"gns_level":-1,"gns_lang":null,"gns_adm1":null,"gns_region":null,"min_label":3.5,"max_label":7.5,"min_zoom":2,"wikidataid":"Q1494","name_ar":"مسيسيبي","name_bn":"মিসিসিপি","name_de":"Mississippi","name_en":"Mississippi","name_es":"Misisipi","name_fr":"Mississippi","name_el":"Μισισίπι","name_hi":"मिसिसिप्पी","name_hu":"Mississippi","name_id":"Mississippi","name_it":"Mississippi","name_ja":"ミシシッピ州","name_ko":"미시시피","name_nl":"Mississippi","name_pl":"Missisipi","name_pt":"Mississippi","name_ru":"Миссисипи","name_sv":"Mississippi","name_tr":"Mississippi","name_vi":"Mississippi","name_zh":"密西西比州","ne_id":1159315231,"name_he":"מיסיסיפי","name_uk":"Міссісіпі","name_ur":"مسیسپی","name_fa":"میسیسیپی","name_zht":"密西西比州","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[-91.656449,30.192629,-88.084772,35.001114],"geometry":{"type":"MultiPolygon","coordinates":[[[[-88.173267,34.999005],[-88.084772,34.933109],[-88.088211,34.909082],[-88.089474,34.893064],[-88.095648,34.846196],[-88.12006,34.66145],[-88.144461,34.476737],[-88.168883,34.292013],[-88.193295,34.107278],[-88.217684,33.922532],[-88.242096,33.737807],[-88.266519,33.553094],[-88.290908,33.368348],[-88.315331,33.183613],[-88.339743,32.998889],[-88.364132,32.814176],[-88.388555,32.62943],[-88.412977,32.444684],[-88.437367,32.25997],[-88.461779,32.075246],[-88.48619,31.890511],[-88.475709,31.702821],[-88.465217,31.515108],[-88.454726,31.327385],[-88.444234,31.139706],[-88.433742,30.952015],[-88.423261,30.764303],[-88.412758,30.576579],[-88.399585,30.370805],[-88.692096,30.355359],[-88.819889,30.406489],[-88.872942,30.416333],[-88.905209,30.415146],[-89.054041,30.368246],[-89.223637,30.332364],[-89.263561,30.343625],[-89.320536,30.345328],[-89.443495,30.223138],[-89.520861,30.192629],[-89.545075,30.200693],[-89.572486,30.209164],[-89.591657,30.223017],[-89.628988,30.296186],[-89.640777,30.348921],[-89.685766,30.462684],[-89.736632,30.526613],[-89.794003,30.568933],[-89.819997,30.611208],[-89.819733,30.639861],[-89.838124,30.690431],[-89.835366,30.730816],[-89.764933,30.886075],[-89.735314,31.001157],[-89.975563,31.001157],[-90.215834,31.001157],[-90.456105,31.001212],[-90.696343,31.001212],[-90.936614,31.001212],[-91.176885,31.001234],[-91.417123,31.001256],[-91.656449,31.001805],[-91.652615,31.029557],[-91.611043,31.0649],[-91.596365,31.109911],[-91.630807,31.217599],[-91.61825,31.276958],[-91.558693,31.287911],[-91.528953,31.345194],[-91.529008,31.448751],[-91.505728,31.518701],[-91.459091,31.554978],[-91.414706,31.639979],[-91.37253,31.773716],[-91.286496,31.883974],[-91.156527,31.970689],[-91.092543,32.045847],[-91.088698,32.10414],[-91.074591,32.131321],[-91.048158,32.145921],[-91.004597,32.185582],[-90.947721,32.240074],[-90.937647,32.277329],[-90.940437,32.303092],[-90.9447,32.330711],[-90.990019,32.381051],[-91.059276,32.423755],[-91.103815,32.490497],[-91.100816,32.541374],[-91.11612,32.586231],[-91.14965,32.625013],[-91.142421,32.661026],[-91.094356,32.69426],[-91.092082,32.725857],[-91.135587,32.755783],[-91.13606,32.808847],[-91.093378,32.885027],[-91.096081,32.937684],[-91.144179,32.966875],[-91.149958,33.015918],[-91.152858,33.040571],[-91.106781,33.217923],[-91.117306,33.240819],[-91.163339,33.294454],[-91.168459,33.35946],[-91.141015,33.438507],[-91.15433,33.500206],[-91.192958,33.52253],[-91.202714,33.546975],[-91.214579,33.583406],[-91.172721,33.616683],[-91.17037,33.647456],[-91.207482,33.675669],[-91.184125,33.71567],[-91.100299,33.767449],[-91.077151,33.796694],[-91.052707,33.827599],[-91.038183,33.901394],[-91.05007,33.945163],[-91.070175,33.9742],[-91.060353,33.989296],[-91.043148,34.002864],[-90.943107,34.029681],[-90.914729,34.048622],[-90.908786,34.071561],[-90.940251,34.128558],[-90.90972,34.188763],[-90.817215,34.25222],[-90.768117,34.308108],[-90.762338,34.356426],[-90.718107,34.391703],[-90.635424,34.413873],[-90.584008,34.503708],[-90.563848,34.661164],[-90.53925,34.72817],[-90.497216,34.738091],[-90.47476,34.760052],[-90.467575,34.805261],[-90.41595,34.851623],[-90.31994,34.899161],[-90.282104,34.945304],[-90.293419,34.970067],[-90.293705,35.001114],[-90.038635,35.00084],[-89.772997,35.000554],[-89.507348,35.000268],[-89.241698,34.999983],[-88.97606,34.999697],[-88.710421,34.999412],[-88.444772,34.999126],[-88.173267,34.999005]]],[[[-88.558107,30.215909],[-88.570653,30.204802],[-88.659236,30.225599],[-88.713102,30.244924],[-88.722847,30.264249],[-88.573993,30.229159],[-88.558107,30.215909]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"USA-3515","diss_me":3515,"iso_3166_2":"US-MT","wikipedia":"http://en.wikipedia.org/wiki/Montana","iso_a2":"US","adm0_sr":1,"name":"Montana","name_alt":"MT|Mont.","name_local":null,"type":"State","type_en":"State","code_local":"US30","code_hasc":"US.MT","note":null,"hasc_maybe":null,"region":"West","region_cod":null,"provnum_ne":0,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":"Mont.","postal":"MT","area_sqkm":0,"sameascity":-99,"labelrank":0,"name_len":7,"mapcolor9":1,"mapcolor13":1,"fips":"US30","fips_alt":null,"woe_id":2347585,"woe_label":"Montana, US, United States","woe_name":"Montana","latitude":46.9965,"longitude":-110.044,"sov_a3":"US1","adm0_a3":"USA","adm0_label":2,"admin":"United States of America","geonunit":"United States of America","gu_a3":"USA","gn_id":5667009,"gn_name":"Montana","gns_id":-1,"gns_name":null,"gn_level":1,"gn_region":null,"gn_a1_code":"US.MT","region_sub":"Mountain","sub_code":null,"gns_level":-1,"gns_lang":null,"gns_adm1":null,"gns_region":null,"min_label":3.5,"max_label":7.5,"min_zoom":2,"wikidataid":"Q1212","name_ar":"مونتانا","name_bn":"মন্টানা","name_de":"Montana","name_en":"Montana","name_es":"Montana","name_fr":"Montana","name_el":"Μοντάνα","name_hi":"मोन्टाना","name_hu":"Montana","name_id":"Montana","name_it":"Montana","name_ja":"モンタナ州","name_ko":"몬태나","name_nl":"Montana","name_pl":"Montana","name_pt":"Montana","name_ru":"Монтана","name_sv":"Montana","name_tr":"Montana","name_vi":"Montana","name_zh":"蒙大拿州","ne_id":1159315333,"name_he":"מונטנה","name_uk":"Монтана","name_ur":"مونٹانا","name_fa":"ایالت مونتانا","name_zht":"蒙大拿州","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[-116.04901,44.396623,-104.00478,48.993138],"geometry":{"type":"Polygon","coordinates":[[[-114.062517,48.993083],[-113.732356,48.993083],[-113.305971,48.993083],[-112.879592,48.993083],[-112.453207,48.993083],[-112.026827,48.993083],[-111.600442,48.993083],[-111.174063,48.993083],[-110.747678,48.993083],[-110.321299,48.993083],[-109.999432,48.993083],[-109.894914,48.993083],[-109.468534,48.993083],[-109.042149,48.993105],[-108.61577,48.993138],[-108.189385,48.993138],[-107.763006,48.993138],[-107.336621,48.993138],[-106.910241,48.993138],[-106.483856,48.993138],[-106.057477,48.993138],[-105.631092,48.993138],[-105.204707,48.993138],[-104.778328,48.993138],[-104.351943,48.993138],[-104.033927,48.993138],[-104.031911,48.803327],[-104.030516,48.612637],[-104.029121,48.421958],[-104.027725,48.231269],[-104.02633,48.040579],[-104.024962,47.8499],[-104.023595,47.659211],[-104.022199,47.468521],[-104.020804,47.277842],[-104.019409,47.087152],[-104.018013,46.896463],[-104.01664,46.705784],[-104.015272,46.515094],[-104.013877,46.324405],[-104.012482,46.133726],[-104.011087,45.943058],[-104.00951,45.710642],[-104.007934,45.47826],[-104.006357,45.245866],[-104.00478,45.013483],[-104.004962,45.010352],[-104.005143,45.007232],[-104.005302,45.004101],[-104.005478,45.00097],[-104.013416,45.001024],[-104.021348,45.001057],[-104.02928,45.001079],[-104.037212,45.001134],[-104.256395,45.001134],[-104.475556,45.001134],[-104.694738,45.001134],[-104.913927,45.001134],[-105.133087,45.001134],[-105.35227,45.001134],[-105.571458,45.001134],[-105.790619,45.001101],[-106.009802,45.001079],[-106.22899,45.001079],[-106.448151,45.001079],[-106.667334,45.001079],[-106.886522,45.001079],[-107.105677,45.001079],[-107.324865,45.001079],[-107.544048,45.001079],[-107.763209,45.001079],[-107.982397,45.001079],[-108.20158,45.001079],[-108.420741,45.001079],[-108.639929,45.001079],[-108.859112,45.001079],[-109.078272,45.001079],[-109.297455,45.001079],[-109.516643,45.001079],[-109.735804,45.001079],[-109.954987,45.001079],[-110.174175,45.001079],[-110.393336,45.001079],[-110.612519,45.001079],[-110.831707,45.001079],[-111.050862,45.001057],[-111.051022,44.875506],[-111.051148,44.749987],[-111.05128,44.624457],[-111.051434,44.498883],[-111.11722,44.525349],[-111.160934,44.555836],[-111.197574,44.590586],[-111.265118,44.687552],[-111.304081,44.723312],[-111.337463,44.744812],[-111.372525,44.74624],[-111.41557,44.733551],[-111.4481,44.711117],[-111.459109,44.671017],[-111.491046,44.624226],[-111.488821,44.584544],[-111.474506,44.564615],[-111.47934,44.553716],[-111.499857,44.54485],[-111.659302,44.559605],[-111.797098,44.539895],[-111.89208,44.554925],[-112.074211,44.547619],[-112.23131,44.560692],[-112.285077,44.553947],[-112.320036,44.53315],[-112.36386,44.479558],[-112.375385,44.470022],[-112.392848,44.467957],[-112.648236,44.497104],[-112.715928,44.498037],[-112.787142,44.463079],[-112.810163,44.438162],[-112.815514,44.405972],[-112.831351,44.396623],[-112.853856,44.398325],[-112.910392,44.419331],[-112.970075,44.454499],[-112.999689,44.48036],[-113.006379,44.539137],[-113.05428,44.605187],[-113.062706,44.665073],[-113.09327,44.715336],[-113.140709,44.765489],[-113.18717,44.798579],[-113.234269,44.809873],[-113.320418,44.802534],[-113.338891,44.808072],[-113.432138,44.874165],[-113.460796,44.90362],[-113.469294,44.929976],[-113.438136,44.993971],[-113.447129,45.029084],[-113.471079,45.072853],[-113.503582,45.109284],[-113.557404,45.140419],[-113.606573,45.209105],[-113.697112,45.304983],[-113.721941,45.379273],[-113.756097,45.44084],[-113.76615,45.502517],[-113.799614,45.540189],[-113.796642,45.587661],[-113.802273,45.601098],[-113.812814,45.606986],[-113.872915,45.63354],[-113.942651,45.681507],[-113.977818,45.69235],[-113.991924,45.69302],[-114.000708,45.680628],[-114.006393,45.658457],[-114.116619,45.579103],[-114.210234,45.542442],[-114.256146,45.505648],[-114.297641,45.487565],[-114.319191,45.48573],[-114.350562,45.497145],[-114.448434,45.551253],[-114.529233,45.575719],[-114.537346,45.587398],[-114.532617,45.633024],[-114.495796,45.685846],[-114.533699,45.78201],[-114.522537,45.815133],[-114.492566,45.838732],[-114.405131,45.874251],[-114.396787,45.89095],[-114.415903,45.982159],[-114.464792,46.016414],[-114.478306,46.035585],[-114.463578,46.109765],[-114.485359,46.158214],[-114.446599,46.199325],[-114.444248,46.270714],[-114.41275,46.343631],[-114.38022,46.453033],[-114.387042,46.499955],[-114.345805,46.550591],[-114.332061,46.601392],[-114.330122,46.637647],[-114.336868,46.659224],[-114.350897,46.667639],[-114.380917,46.667639],[-114.518664,46.647743],[-114.562999,46.650435],[-114.60155,46.660334],[-114.624006,46.677615],[-114.630648,46.718572],[-114.661623,46.745544],[-114.678032,46.750169],[-114.740302,46.733634],[-114.753689,46.734568],[-114.760715,46.742292],[-114.786066,46.776756],[-114.886937,46.844871],[-114.935694,46.922819],[-115.033516,46.990934],[-115.126636,47.084593],[-115.306675,47.231172],[-115.349467,47.261176],[-115.485994,47.311636],[-115.593325,47.384915],[-115.702468,47.437594],[-115.713317,47.446746],[-115.714454,47.45225],[-115.708022,47.456798],[-115.676887,47.470564],[-115.66968,47.497854],[-115.710862,47.552599],[-115.690867,47.606652],[-115.718382,47.68148],[-115.733757,47.706342],[-115.811244,47.775951],[-115.862149,47.842408],[-115.941443,47.904107],[-116.04901,48.00472],[-116.048801,48.251989],[-116.048598,48.499313],[-116.048389,48.746637],[-116.048494,48.993083],[-115.864264,48.993083],[-115.437884,48.993083],[-115.0115,48.993083],[-114.58512,48.993083],[-114.158735,48.993083],[-114.062517,48.993083]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"USA-3549","diss_me":3549,"iso_3166_2":"US-NC","wikipedia":"http://en.wikipedia.org/wiki/North_Carolina","iso_a2":"US","adm0_sr":5,"name":"North Carolina","name_alt":"NC|N.C.","name_local":null,"type":"State","type_en":"State","code_local":"US37","code_hasc":"US.NC","note":null,"hasc_maybe":null,"region":"South","region_cod":null,"provnum_ne":0,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":"N.C.","postal":"NC","area_sqkm":0,"sameascity":-99,"labelrank":0,"name_len":14,"mapcolor9":1,"mapcolor13":1,"fips":"US37","fips_alt":null,"woe_id":2347592,"woe_label":"North Carolina, US, United States","woe_name":"North Carolina","latitude":35.6152,"longitude":-78.866,"sov_a3":"US1","adm0_a3":"USA","adm0_label":2,"admin":"United States of America","geonunit":"United States of America","gu_a3":"USA","gn_id":4482348,"gn_name":"North Carolina","gns_id":-1,"gns_name":null,"gn_level":1,"gn_region":null,"gn_a1_code":"US.NC","region_sub":"South Atlantic","sub_code":null,"gns_level":-1,"gns_lang":null,"gns_adm1":null,"gns_region":null,"min_label":3.5,"max_label":7.5,"min_zoom":2,"wikidataid":"Q1454","name_ar":"كارولاينا الشمالية","name_bn":"নর্থ ক্যারোলাইনা","name_de":"North Carolina","name_en":"North Carolina","name_es":"Carolina del Norte","name_fr":"Caroline du Nord","name_el":"Βόρεια Καρολίνα","name_hi":"उत्तरी केरोलिना","name_hu":"Észak-Karolina","name_id":"Carolina Utara","name_it":"Carolina del Nord","name_ja":"ノースカロライナ州","name_ko":"노스캐롤라이나","name_nl":"North Carolina","name_pl":"Karolina Północna","name_pt":"Carolina do Norte","name_ru":"Северная Каролина","name_sv":"North Carolina","name_tr":"Kuzey Karolina","name_vi":"Bắc Carolina","name_zh":"北卡罗来纳州","ne_id":1159314887,"name_he":"קרוליינה הצפונית","name_uk":"Північна Кароліна","name_ur":"شمالی کیرولینا","name_fa":"کارولینای شمالی","name_zht":"北卡羅萊納州","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[-84.32469,33.876664,-75.456471,36.610579],"geometry":{"type":"MultiPolygon","coordinates":[[[[-83.114821,35.001477],[-83.417307,34.998126],[-83.719772,34.994786],[-84.022225,34.991457],[-84.32469,34.988096],[-84.286974,35.200846],[-84.261101,35.249581],[-84.232471,35.260589],[-84.128584,35.261413],[-84.062281,35.286012],[-84.003735,35.414069],[-83.871306,35.51489],[-83.811705,35.54029],[-83.722716,35.559901],[-83.511119,35.584082],[-83.284241,35.682058],[-83.120369,35.774618],[-82.990203,35.800447],[-82.949476,35.834526],[-82.920253,35.8789],[-82.901862,35.939171],[-82.887722,35.951728],[-82.812817,35.947444],[-82.75559,35.999871],[-82.700087,36.029841],[-82.644924,36.046793],[-82.611097,36.047364],[-82.598101,36.031599],[-82.588751,35.986951],[-82.576842,35.972273],[-82.553408,35.970987],[-82.52113,35.981216],[-82.478426,36.010055],[-82.368245,36.099549],[-82.294944,36.13397],[-82.182499,36.153789],[-82.100618,36.106526],[-82.051366,36.122862],[-81.908247,36.306411],[-81.851151,36.3397],[-81.80826,36.352718],[-81.734125,36.355454],[-81.733323,36.405914],[-81.707648,36.481962],[-81.704418,36.533993],[-81.65889,36.610579],[-81.641631,36.595077],[-81.27984,36.592264],[-80.918049,36.589452],[-80.556269,36.586628],[-80.194479,36.583816],[-79.832688,36.580992],[-79.470908,36.57818],[-79.109117,36.575389],[-78.747337,36.572577],[-78.385547,36.569753],[-78.023756,36.566963],[-77.661976,36.56415],[-77.300185,36.561338],[-76.938395,36.558514],[-76.576615,36.555702],[-76.214824,36.552889],[-75.966445,36.551362],[-75.992768,36.473799],[-75.978486,36.42915],[-75.924873,36.382997],[-75.866579,36.26786],[-75.820074,36.112832],[-75.883015,36.175696],[-75.950185,36.208973],[-76.054731,36.234528],[-76.147829,36.279286],[-76.141062,36.215104],[-76.150027,36.145758],[-76.221745,36.166885],[-76.27058,36.189912],[-76.227381,36.11604],[-76.321172,36.138155],[-76.383684,36.13353],[-76.424322,36.067975],[-76.478814,36.028193],[-76.559355,36.01535],[-76.67893,36.075314],[-76.717635,36.148076],[-76.733631,36.229155],[-76.740069,36.133299],[-76.718778,36.033511],[-76.726216,35.957595],[-76.611156,35.943642],[-76.503512,35.956046],[-76.358327,35.952893],[-76.263559,35.967109],[-76.206562,35.991213],[-76.069771,35.970306],[-76.060027,35.878658],[-76.075715,35.787527],[-76.08357,35.690539],[-76.045711,35.691155],[-76.001195,35.722191],[-75.978925,35.895951],[-75.85389,35.960155],[-75.81201,35.955738],[-75.772218,35.899873],[-75.758836,35.843238],[-75.744752,35.765466],[-75.773921,35.647001],[-75.965951,35.508397],[-76.10351,35.380297],[-76.173845,35.354149],[-76.275238,35.369058],[-76.390221,35.401247],[-76.446646,35.407762],[-76.489482,35.397018],[-76.51563,35.43647],[-76.532483,35.50843],[-76.577186,35.532303],[-76.611057,35.529667],[-76.634128,35.453213],[-76.741388,35.431482],[-76.887242,35.463111],[-77.039996,35.527392],[-76.974474,35.458409],[-76.595445,35.329704],[-76.552785,35.305622],[-76.512949,35.270433],[-76.565969,35.215194],[-76.607519,35.153],[-76.613408,35.104166],[-76.628031,35.07336],[-76.779137,34.990348],[-76.86104,35.004993],[-77.070274,35.154648],[-76.974957,35.025174],[-76.898657,34.970243],[-76.744969,34.940964],[-76.456754,34.989337],[-76.362206,34.936504],[-76.439802,34.842911],[-76.516871,34.777257],[-76.618,34.76994],[-76.707066,34.752142],[-76.733192,34.706999],[-76.796649,34.704165],[-76.895866,34.701473],[-77.049499,34.697364],[-77.133918,34.707933],[-77.251769,34.615637],[-77.29623,34.602948],[-77.358369,34.620262],[-77.384472,34.694365],[-77.412268,34.730796],[-77.412949,34.592126],[-77.402062,34.554795],[-77.379792,34.526626],[-77.517671,34.45138],[-77.649671,34.357513],[-77.696957,34.331959],[-77.750757,34.284993],[-77.860829,34.14918],[-77.888053,34.050149],[-77.927845,33.939736],[-77.932855,33.989471],[-77.926043,34.073165],[-77.953268,34.168977],[-77.97056,33.993426],[-78.013341,33.911809],[-78.405882,33.917566],[-78.564272,33.876664],[-78.708237,33.997821],[-78.843292,34.111947],[-78.978347,34.226073],[-79.11338,34.340232],[-79.248413,34.45438],[-79.383468,34.568506],[-79.518523,34.682643],[-79.653556,34.796791],[-79.794862,34.800768],[-79.936179,34.804745],[-80.077507,34.808733],[-80.218824,34.81271],[-80.36013,34.816687],[-80.501459,34.820664],[-80.642776,34.824641],[-80.784082,34.828629],[-80.789278,34.90717],[-80.79297,34.962772],[-80.881695,35.057914],[-80.933683,35.113669],[-81.045249,35.065615],[-81.051171,35.088972],[-81.046853,35.131083],[-81.05662,35.145508],[-81.087316,35.155714],[-81.245914,35.161471],[-81.404513,35.167206],[-81.5631,35.172941],[-81.721699,35.178675],[-81.880298,35.184421],[-82.038885,35.190156],[-82.197484,35.195891],[-82.356083,35.201626],[-82.392535,35.210931],[-82.463957,35.177961],[-82.651483,35.128039],[-82.743966,35.084061],[-82.777529,35.086643],[-82.936974,35.04417],[-83.09655,35.001642],[-83.114821,35.001477]]],[[[-75.889057,36.550505],[-75.857428,36.550582],[-75.757881,36.229232],[-75.558687,35.879361],[-75.534199,35.81908],[-75.580495,35.872001],[-75.728239,36.103713],[-75.809791,36.271046],[-75.889057,36.550505]]],[[[-75.635691,35.855895],[-75.650775,35.835592],[-75.717176,35.946125],[-75.648863,35.910387],[-75.636668,35.880658],[-75.635691,35.855895]]],[[[-75.54412,35.2401],[-75.678274,35.212843],[-75.690106,35.221566],[-75.536363,35.278618],[-75.487892,35.479514],[-75.481278,35.572118],[-75.504327,35.735386],[-75.503525,35.769158],[-75.478487,35.716478],[-75.456471,35.564164],[-75.464743,35.448642],[-75.509337,35.280332],[-75.54412,35.2401]]],[[[-75.781963,35.1902],[-75.963676,35.118844],[-75.984199,35.123074],[-75.86492,35.174127],[-75.781963,35.1902]]],[[[-76.503644,34.642949],[-76.528582,34.631501],[-76.437033,34.756328],[-76.25622,34.914718],[-76.207386,34.938899],[-76.357712,34.803668],[-76.503644,34.642949]]],[[[-76.546227,34.654858],[-76.568496,34.652562],[-76.607794,34.66357],[-76.661957,34.684653],[-76.673921,34.700155],[-76.622274,34.694552],[-76.546227,34.654858]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"USA-3516","diss_me":3516,"iso_3166_2":"US-ND","wikipedia":"http://en.wikipedia.org/wiki/North_Dakota","iso_a2":"US","adm0_sr":1,"name":"North Dakota","name_alt":"ND|N.D.","name_local":null,"type":"State","type_en":"State","code_local":"US38","code_hasc":"US.ND","note":null,"hasc_maybe":null,"region":"Midwest","region_cod":null,"provnum_ne":0,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":"N.D.","postal":"ND","area_sqkm":0,"sameascity":-99,"labelrank":0,"name_len":12,"mapcolor9":1,"mapcolor13":1,"fips":"US38","fips_alt":null,"woe_id":2347593,"woe_label":"North Dakota, US, United States","woe_name":"North Dakota","latitude":47.4675,"longitude":-100.302,"sov_a3":"US1","adm0_a3":"USA","adm0_label":2,"admin":"United States of America","geonunit":"United States of America","gu_a3":"USA","gn_id":5690763,"gn_name":"North Dakota","gns_id":-1,"gns_name":null,"gn_level":1,"gn_region":null,"gn_a1_code":"US.ND","region_sub":"West North Central","sub_code":null,"gns_level":-1,"gns_lang":null,"gns_adm1":null,"gns_region":null,"min_label":3.5,"max_label":7.5,"min_zoom":2,"wikidataid":"Q1207","name_ar":"داكوتا الشمالية","name_bn":"নর্থ ডাকোটা","name_de":"North Dakota","name_en":"North Dakota","name_es":"Dakota del Norte","name_fr":"Dakota du Nord","name_el":"Βόρεια Ντακότα","name_hi":"उत्तर डेकोटा","name_hu":"Észak-Dakota","name_id":"Dakota Utara","name_it":"Dakota del Nord","name_ja":"ノースダコタ州","name_ko":"노스다코타","name_nl":"Noord-Dakota","name_pl":"Dakota Północna","name_pt":"Dakota do Norte","name_ru":"Северная Дакота","name_sv":"North Dakota","name_tr":"Kuzey Dakota","name_vi":"Bắc Dakota","name_zh":"北达科他州","ne_id":1159315337,"name_he":"דקוטה הצפונית","name_uk":"Північна Дакота","name_ur":"شمالی ڈکوٹا","name_fa":"داکوتای شمالی","name_zht":"北達科他州","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[-104.033927,45.942773,-96.556401,48.993182],"geometry":{"type":"Polygon","coordinates":[[[-101.367271,48.993138],[-100.940886,48.993138],[-100.514506,48.993138],[-100.088121,48.993138],[-99.661742,48.993138],[-99.235357,48.993138],[-98.808978,48.99316],[-98.382593,48.993182],[-97.956213,48.993182],[-97.529828,48.993182],[-97.225738,48.993182],[-97.128047,48.681115],[-97.12913,48.593367],[-97.143961,48.536755],[-97.131019,48.437427],[-97.136803,48.371213],[-97.121609,48.286047],[-97.125927,48.173393],[-97.078516,48.04337],[-97.007434,47.925607],[-97.009032,47.891549],[-96.988005,47.820336],[-96.94635,47.761526],[-96.858707,47.588338],[-96.862947,47.423927],[-96.847517,47.373335],[-96.825325,47.018861],[-96.818299,46.974136],[-96.770135,46.919666],[-96.792822,46.839026],[-96.795997,46.797091],[-96.786647,46.648216],[-96.758198,46.59034],[-96.730859,46.472775],[-96.61743,46.327096],[-96.598567,46.271857],[-96.591904,46.227538],[-96.560845,46.138241],[-96.57048,46.019237],[-96.556401,45.942773],[-96.789355,45.942773],[-97.022315,45.942805],[-97.255275,45.942827],[-97.488229,45.942827],[-97.721188,45.942827],[-97.954142,45.942827],[-98.187102,45.942827],[-98.420062,45.94286],[-98.653016,45.942882],[-98.885975,45.942882],[-99.118929,45.942882],[-99.351889,45.942882],[-99.584849,45.942882],[-99.817803,45.942904],[-100.050762,45.942937],[-100.283744,45.942937],[-100.516725,45.942937],[-100.749685,45.942937],[-100.982645,45.942937],[-101.215599,45.942959],[-101.448558,45.942981],[-101.681513,45.942981],[-101.914472,45.942981],[-102.147426,45.942981],[-102.380386,45.942981],[-102.613345,45.943014],[-102.8463,45.943036],[-103.079259,45.943036],[-103.312213,45.943036],[-103.545173,45.943036],[-103.778132,45.943036],[-104.011087,45.943058],[-104.012482,46.133726],[-104.013877,46.324405],[-104.015272,46.515094],[-104.01664,46.705784],[-104.018013,46.896463],[-104.019409,47.087152],[-104.020804,47.277842],[-104.022199,47.468521],[-104.023595,47.659211],[-104.024962,47.8499],[-104.02633,48.040579],[-104.027725,48.231269],[-104.029121,48.421958],[-104.030516,48.612637],[-104.031911,48.803327],[-104.033927,48.993138],[-103.925564,48.993138],[-103.499179,48.993138],[-103.072799,48.993138],[-102.646414,48.993138],[-102.220035,48.993138],[-101.79365,48.993138],[-101.367271,48.993138]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"USA-3532","diss_me":3532,"iso_3166_2":"US-NE","wikipedia":"http://en.wikipedia.org/wiki/Nebraska","iso_a2":"US","adm0_sr":1,"name":"Nebraska","name_alt":"NE|Nebr.","name_local":null,"type":"State","type_en":"State","code_local":"US31","code_hasc":"US.NE","note":null,"hasc_maybe":null,"region":"Midwest","region_cod":null,"provnum_ne":0,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":"Nebr.","postal":"NE","area_sqkm":0,"sameascity":-99,"labelrank":0,"name_len":8,"mapcolor9":1,"mapcolor13":1,"fips":"US31","fips_alt":null,"woe_id":2347586,"woe_label":"Nebraska, US, United States","woe_name":"Nebraska","latitude":41.5002,"longitude":-99.6855,"sov_a3":"US1","adm0_a3":"USA","adm0_label":2,"admin":"United States of America","geonunit":"United States of America","gu_a3":"USA","gn_id":5073708,"gn_name":"Nebraska","gns_id":-1,"gns_name":null,"gn_level":1,"gn_region":null,"gn_a1_code":"US.NE","region_sub":"West North Central","sub_code":null,"gns_level":-1,"gns_lang":null,"gns_adm1":null,"gns_region":null,"min_label":3.5,"max_label":7.5,"min_zoom":2,"wikidataid":"Q1553","name_ar":"نبراسكا","name_bn":"নেব্রাস্কা","name_de":"Nebraska","name_en":"Nebraska","name_es":"Nebraska","name_fr":"Nebraska","name_el":"Νεμπράσκα","name_hi":"नेब्रास्का","name_hu":"Nebraska","name_id":"Nebraska","name_it":"Nebraska","name_ja":"ネブラスカ州","name_ko":"네브래스카","name_nl":"Nebraska","name_pl":"Nebraska","name_pt":"Nebraska","name_ru":"Небраска","name_sv":"Nebraska","name_tr":"Nebraska","name_vi":"Nebraska","name_zh":"內布拉斯加州","ne_id":1159315363,"name_he":"נברסקה","name_uk":"Небраска","name_ur":"نیبراسکا","name_fa":"نبراسکا","name_zht":"內布拉斯加州","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[-104.028862,40.001124,-95.34668,43.001403],"geometry":{"type":"Polygon","coordinates":[[[-102.024489,40.001124],[-102.024544,40.126083],[-102.024621,40.251008],[-102.024698,40.375934],[-102.024747,40.500892],[-102.024802,40.625818],[-102.024879,40.750744],[-102.024956,40.875691],[-102.025006,41.000628],[-102.274604,41.00065],[-102.524175,41.000704],[-102.773746,41.000726],[-103.023344,41.000748],[-103.272915,41.000781],[-103.522486,41.000803],[-103.772084,41.000836],[-104.021655,41.000858],[-104.022562,41.250918],[-104.023441,41.500978],[-104.024342,41.751049],[-104.025248,42.001131],[-104.026149,42.251223],[-104.027055,42.501283],[-104.027962,42.751343],[-104.028862,43.001403],[-103.682738,43.001403],[-103.33663,43.001381],[-102.990528,43.001359],[-102.644398,43.001359],[-102.298274,43.001359],[-101.952172,43.001326],[-101.606064,43.001304],[-101.25994,43.001304],[-100.91381,43.001304],[-100.567708,43.001282],[-100.221605,43.001249],[-99.875475,43.001249],[-99.529373,43.001249],[-99.183271,43.001249],[-98.837141,43.001249],[-98.441765,43.001095],[-98.143283,42.852263],[-97.964947,42.805868],[-97.880918,42.849583],[-97.698139,42.874643],[-97.416658,42.881004],[-97.23879,42.860536],[-97.164478,42.813196],[-97.019733,42.760176],[-96.804527,42.701421],[-96.675542,42.637601],[-96.632778,42.568673],[-96.55795,42.524794],[-96.480953,42.511259],[-96.451004,42.505985],[-96.383751,42.417776],[-96.356104,42.260133],[-96.295333,42.132912],[-96.201384,42.036122],[-96.154203,41.965293],[-96.153763,41.920436],[-96.13123,41.872437],[-96.086637,41.821372],[-96.068806,41.734328],[-96.077771,41.611281],[-96.058627,41.54578],[-96.011397,41.537881],[-95.990957,41.52049],[-95.997367,41.493639],[-95.98158,41.473798],[-95.943567,41.460933],[-95.932977,41.425458],[-95.94972,41.367428],[-95.936025,41.330986],[-95.891943,41.316166],[-95.883626,41.287557],[-95.911169,41.245183],[-95.906906,41.21195],[-95.870887,41.187824],[-95.846597,41.080333],[-95.834017,40.88949],[-95.838148,40.777748],[-95.859,40.745108],[-95.826107,40.676179],[-95.765029,40.601868],[-95.739551,40.570853],[-95.684696,40.466362],[-95.66157,40.362761],[-95.607106,40.29547],[-95.52122,40.264577],[-95.463652,40.198065],[-95.434296,40.09598],[-95.362467,40.01032],[-95.34668,40.001487],[-95.526905,40.001124],[-95.736503,40.001124],[-95.9461,40.001124],[-96.155702,40.001124],[-96.3653,40.001124],[-96.574902,40.001124],[-96.784499,40.001124],[-96.994102,40.001124],[-97.203699,40.001124],[-97.413296,40.001124],[-97.622899,40.001124],[-97.832496,40.001124],[-98.042099,40.001124],[-98.251696,40.001124],[-98.461299,40.001124],[-98.670896,40.001124],[-98.880499,40.001124],[-99.090096,40.001124],[-99.299693,40.001124],[-99.509296,40.001124],[-99.718893,40.001124],[-99.928495,40.001124],[-100.138093,40.001124],[-100.347695,40.001124],[-100.557293,40.001124],[-100.766895,40.001124],[-100.976492,40.001124],[-101.18609,40.001124],[-101.395692,40.001124],[-101.605289,40.001124],[-101.814892,40.001124],[-102.024489,40.001124]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"USA-3538","diss_me":3538,"iso_3166_2":"US-NH","wikipedia":"http://en.wikipedia.org/wiki/New_Hampshire","iso_a2":"US","adm0_sr":1,"name":"New Hampshire","name_alt":"NH|N.H.","name_local":null,"type":"State","type_en":"State","code_local":"US33","code_hasc":"US.NH","note":null,"hasc_maybe":null,"region":"Northeast","region_cod":null,"provnum_ne":0,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":"N.H.","postal":"NH","area_sqkm":0,"sameascity":-99,"labelrank":0,"name_len":13,"mapcolor9":1,"mapcolor13":1,"fips":"US33","fips_alt":null,"woe_id":2347588,"woe_label":"New Hampshire, US, United States","woe_name":"New Hampshire","latitude":43.5993,"longitude":-71.6301,"sov_a3":"US1","adm0_a3":"USA","adm0_label":2,"admin":"United States of America","geonunit":"United States of America","gu_a3":"USA","gn_id":5090174,"gn_name":"New Hampshire","gns_id":-1,"gns_name":null,"gn_level":1,"gn_region":null,"gn_a1_code":"US.NH","region_sub":"New England","sub_code":null,"gns_level":-1,"gns_lang":null,"gns_adm1":null,"gns_region":null,"min_label":3.5,"max_label":7.5,"min_zoom":2,"wikidataid":"Q759","name_ar":"نيوهامبشير","name_bn":"নিউ হ্যাম্প্শায়ার","name_de":"New Hampshire","name_en":"New Hampshire","name_es":"Nuevo Hampshire","name_fr":"New Hampshire","name_el":"Νιου Χάμσαϊρ","name_hi":"नया हेम्पशायर","name_hu":"New Hampshire","name_id":"New Hampshire","name_it":"New Hampshire","name_ja":"ニューハンプシャー州","name_ko":"뉴햄프셔","name_nl":"New Hampshire","name_pl":"New Hampshire","name_pt":"Nova Hampshire","name_ru":"Нью-Гэмпшир","name_sv":"New Hampshire","name_tr":"New Hampshire","name_vi":"New Hampshire","name_zh":"新罕布什尔州","ne_id":1159315303,"name_he":"ניו המפשייר","name_uk":"Нью-Гемпшир","name_ur":"نیو ہیمپشائر","name_fa":"نیوهمپشایر","name_zht":"新罕布夏州","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[-72.552806,42.702487,-70.733096,45.294008],"geometry":{"type":"Polygon","coordinates":[[[-71.51752,45.007561],[-71.419017,45.200338],[-71.327292,45.290108],[-71.201619,45.260335],[-71.134647,45.262818],[-71.084549,45.294008],[-71.077331,45.194867],[-71.069685,45.084015],[-71.062038,44.973174],[-71.05437,44.862322],[-71.04669,44.751481],[-71.039044,44.64064],[-71.031397,44.529788],[-71.023718,44.418947],[-71.016049,44.308095],[-71.008403,44.197254],[-71.000756,44.086402],[-70.993077,43.975561],[-70.985408,43.864708],[-70.977751,43.753867],[-70.970104,43.643026],[-70.962436,43.532152],[-70.967545,43.458148],[-70.955635,43.389396],[-70.919699,43.328103],[-70.829029,43.23907],[-70.812835,43.163649],[-70.733096,43.070034],[-70.777635,42.940582],[-70.806112,42.876763],[-70.923489,42.881564],[-70.974082,42.871676],[-71.076177,42.825083],[-71.139294,42.808131],[-71.242335,42.729535],[-71.329621,42.702487],[-71.471784,42.705969],[-71.613947,42.70943],[-71.75611,42.712924],[-71.898241,42.716406],[-72.040382,42.719878],[-72.182545,42.723361],[-72.324697,42.726854],[-72.46686,42.730315],[-72.483658,42.766174],[-72.539622,42.829632],[-72.552806,42.856449],[-72.549807,42.886684],[-72.519419,42.966675],[-72.496479,42.991669],[-72.473715,43.038537],[-72.438186,43.224645],[-72.407072,43.332036],[-72.384957,43.52923],[-72.362369,43.586645],[-72.337672,43.621988],[-72.296693,43.714954],[-72.222381,43.790869],[-72.173855,43.884088],[-72.114924,43.965431],[-72.106212,44.013079],[-72.062233,44.11635],[-72.031208,44.300734],[-72.001776,44.329496],[-71.867677,44.354918],[-71.825511,44.37409],[-71.683007,44.45028],[-71.638205,44.481679],[-71.609289,44.514055],[-71.5878,44.565263],[-71.571496,44.579193],[-71.568442,44.607637],[-71.618287,44.727761],[-71.62066,44.771894],[-71.510225,44.908344],[-71.533483,44.987973],[-71.51752,45.007561]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"USA-3558","diss_me":3558,"iso_3166_2":"US-NJ","wikipedia":"http://en.wikipedia.org/wiki/New_Jersey","iso_a2":"US","adm0_sr":5,"name":"New Jersey","name_alt":"NJ|N.J.","name_local":null,"type":"State","type_en":"State","code_local":"US34","code_hasc":"US.NJ","note":null,"hasc_maybe":null,"region":"Northeast","region_cod":null,"provnum_ne":0,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":"N.J.","postal":"NJ","area_sqkm":0,"sameascity":-99,"labelrank":0,"name_len":10,"mapcolor9":1,"mapcolor13":1,"fips":"US34","fips_alt":null,"woe_id":2347589,"woe_label":"New Jersey, US, United States","woe_name":"New Jersey","latitude":40.0449,"longitude":-74.4653,"sov_a3":"US1","adm0_a3":"USA","adm0_label":2,"admin":"United States of America","geonunit":"United States of America","gu_a3":"USA","gn_id":5101760,"gn_name":"New Jersey","gns_id":-1,"gns_name":null,"gn_level":1,"gn_region":null,"gn_a1_code":"US.NJ","region_sub":"Middle Atlantic","sub_code":null,"gns_level":-1,"gns_lang":null,"gns_adm1":null,"gns_region":null,"min_label":3.5,"max_label":7.5,"min_zoom":2,"wikidataid":"Q1408","name_ar":"نيوجيرسي","name_bn":"নিউ জার্সি","name_de":"New Jersey","name_en":"New Jersey","name_es":"Nueva Jersey","name_fr":"New Jersey","name_el":"Νιου Τζέρσεϊ","name_hi":"न्यू जर्सी","name_hu":"New Jersey","name_id":"New Jersey","name_it":"New Jersey","name_ja":"ニュージャージー州","name_ko":"뉴저지","name_nl":"New Jersey","name_pl":"New Jersey","name_pt":"Nova Jérsia","name_ru":"Нью-Джерси","name_sv":"New Jersey","name_tr":"New Jersey","name_vi":"New Jersey","name_zh":"新泽西州","ne_id":1159315267,"name_he":"ניו ג'רזי","name_uk":"Нью-Джерсі","name_ur":"نیو جرسی","name_fa":"نیوجرسی","name_zht":"紐澤西州","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[-75.524245,38.941141,-73.910079,41.357299],"geometry":{"type":"MultiPolygon","coordinates":[[[[-75.074168,39.98348],[-75.023532,40.01745],[-74.909297,40.079545],[-74.734889,40.154504],[-74.976379,40.405828],[-75.034046,40.420374],[-75.097448,40.543135],[-75.170518,40.576797],[-75.189019,40.595814],[-75.192282,40.689868],[-75.185691,40.743822],[-75.174737,40.775518],[-75.111797,40.802105],[-75.075564,40.856267],[-75.074926,40.884458],[-75.12275,40.971766],[-75.123036,40.999002],[-75.031541,41.05178],[-74.912296,41.155271],[-74.84139,41.268595],[-74.812485,41.30151],[-74.777779,41.325076],[-74.699051,41.357299],[-74.600064,41.311585],[-74.501056,41.265903],[-74.402047,41.220222],[-74.30306,41.174541],[-74.204073,41.12886],[-74.105053,41.083179],[-74.006045,41.037498],[-73.910079,40.992256],[-73.927218,40.914242],[-74.025501,40.756379],[-74.067337,40.71963],[-74.116248,40.687286],[-74.15314,40.673257],[-74.187143,40.647988],[-74.226705,40.608009],[-74.26419,40.528633],[-74.241515,40.456266],[-74.049836,40.429833],[-73.998453,40.452157],[-73.972251,40.400324],[-73.957595,40.328363],[-73.971987,40.250514],[-74.004001,40.171347],[-74.028347,40.073008],[-74.048913,39.923066],[-74.079917,39.78811],[-74.084004,39.829089],[-74.064591,39.993115],[-74.09599,39.975988],[-74.117644,39.938129],[-74.176135,39.726598],[-74.256577,39.613856],[-74.330603,39.535886],[-74.407024,39.548806],[-74.389874,39.486843],[-74.410858,39.454544],[-74.428831,39.387186],[-74.474359,39.34256],[-74.517172,39.346845],[-74.578696,39.316105],[-74.602987,39.292561],[-74.604799,39.247528],[-74.645932,39.207867],[-74.794478,39.001907],[-74.923436,38.941141],[-74.954308,38.949952],[-74.920327,39.047181],[-74.897025,39.145465],[-74.975291,39.188257],[-75.050218,39.210834],[-75.136109,39.207867],[-75.231031,39.284266],[-75.35343,39.339824],[-75.524245,39.490172],[-75.519257,39.531876],[-75.523553,39.601848],[-75.47161,39.712382],[-75.421908,39.789714],[-75.353177,39.829738],[-75.15383,39.870486],[-75.103831,39.931823],[-75.074168,39.98348]]],[[[-74.133222,39.680785],[-74.250501,39.529371],[-74.25316,39.558485],[-74.106767,39.746439],[-74.133222,39.680785]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"USA-3524","diss_me":3524,"iso_3166_2":"US-NM","wikipedia":"http://en.wikipedia.org/wiki/New_Mexico","iso_a2":"US","adm0_sr":1,"name":"New Mexico","name_alt":"NM|N.M.","name_local":null,"type":"State","type_en":"State","code_local":"US35","code_hasc":"US.NM","note":null,"hasc_maybe":null,"region":"West","region_cod":null,"provnum_ne":0,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":"N.M.","postal":"NM","area_sqkm":0,"sameascity":-99,"labelrank":0,"name_len":10,"mapcolor9":1,"mapcolor13":1,"fips":"US35","fips_alt":null,"woe_id":2347590,"woe_label":"New Mexico, US, United States","woe_name":"New Mexico","latitude":34.5002,"longitude":-106.024,"sov_a3":"US1","adm0_a3":"USA","adm0_label":2,"admin":"United States of America","geonunit":"United States of America","gu_a3":"USA","gn_id":5481136,"gn_name":"New Mexico","gns_id":-1,"gns_name":null,"gn_level":1,"gn_region":null,"gn_a1_code":"US.NM","region_sub":"Mountain","sub_code":null,"gns_level":-1,"gns_lang":null,"gns_adm1":null,"gns_region":null,"min_label":3.5,"max_label":7.5,"min_zoom":2,"wikidataid":"Q1522","name_ar":"نيومكسيكو","name_bn":"নিউ মেক্সিকো","name_de":"New Mexico","name_en":"New Mexico","name_es":"Nuevo México","name_fr":"Nouveau-Mexique","name_el":"Νέο Μεξικό","name_hi":"नया मेक्सिको","name_hu":"Új-Mexikó","name_id":"New Mexico","name_it":"Nuovo Messico","name_ja":"ニューメキシコ州","name_ko":"뉴멕시코","name_nl":"New Mexico","name_pl":"Nowy Meksyk","name_pt":"Novo México","name_ru":"Нью-Мексико","name_sv":"New Mexico","name_tr":"New Mexico","name_vi":"New Mexico","name_zh":"新墨西哥州","ne_id":1159315347,"name_he":"ניו מקסיקו","name_uk":"Нью-Мексико","name_ur":"نیو میکسیکو","name_fa":"نیومکزیکو","name_zht":"新墨西哥州","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[-109.047807,31.327879,-103.000295,37.000846],"geometry":{"type":"Polygon","coordinates":[[[-109.047807,31.327879],[-109.047423,31.683232],[-109.047368,32.037739],[-109.047318,32.392235],[-109.047264,32.746764],[-109.047214,33.101293],[-109.047165,33.455788],[-109.04711,33.810284],[-109.04706,34.164791],[-109.047005,34.519287],[-109.046956,34.873794],[-109.046906,35.22829],[-109.046852,35.582819],[-109.046802,35.937336],[-109.046747,36.291843],[-109.046698,36.646339],[-109.04667,37.000846],[-108.66879,37.000846],[-108.290932,37.000846],[-107.913073,37.000846],[-107.535215,37.000846],[-107.157357,37.000846],[-106.779499,37.000846],[-106.40164,37.000846],[-106.023755,37.000846],[-105.645874,37.000846],[-105.268016,37.000846],[-104.890158,37.000846],[-104.512299,37.000846],[-104.134441,37.000846],[-103.756583,37.000846],[-103.378724,37.000846],[-103.000839,37.000846],[-103.000712,36.875942],[-103.000553,36.751039],[-103.000427,36.626135],[-103.000295,36.501232],[-103.042153,36.500616],[-103.043625,36.219498],[-103.045103,35.93838],[-103.046547,35.657251],[-103.04802,35.376133],[-103.049492,35.095015],[-103.050942,34.813896],[-103.052414,34.532778],[-103.053886,34.251682],[-103.055358,33.970586],[-103.056831,33.689468],[-103.058303,33.408349],[-103.059775,33.127231],[-103.061247,32.846113],[-103.062719,32.564984],[-103.064169,32.283866],[-103.065642,32.002748],[-103.290405,32.002649],[-103.515202,32.002572],[-103.739993,32.002495],[-103.964785,32.002385],[-104.189576,32.002286],[-104.414373,32.002209],[-104.639164,32.002132],[-104.863928,32.002022],[-105.088697,32.001924],[-105.313488,32.001847],[-105.53828,32.00177],[-105.763076,32.00166],[-105.987868,32.001561],[-106.212659,32.001484],[-106.43745,32.001407],[-106.662219,32.001297],[-106.668262,32.000946],[-106.566281,31.819529],[-106.566358,31.819529],[-106.445382,31.768398],[-106.45321,31.770178],[-106.673047,31.771343],[-106.892877,31.772474],[-107.112708,31.773617],[-107.332539,31.774748],[-107.55237,31.775891],[-107.772201,31.777022],[-107.992032,31.778165],[-108.211841,31.77933],[-108.212484,31.666852],[-108.213154,31.554385],[-108.213802,31.441906],[-108.21445,31.329428],[-108.567892,31.32878],[-108.921333,31.32811],[-109.047807,31.327879]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"USA-3523","diss_me":3523,"iso_3166_2":"US-NV","wikipedia":"http://en.wikipedia.org/wiki/Nevada","iso_a2":"US","adm0_sr":1,"name":"Nevada","name_alt":"NV|Nev.","name_local":null,"type":"State","type_en":"State","code_local":"US32","code_hasc":"US.NV","note":null,"hasc_maybe":null,"region":"West","region_cod":null,"provnum_ne":0,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":"Nev.","postal":"NV","area_sqkm":0,"sameascity":-99,"labelrank":0,"name_len":6,"mapcolor9":1,"mapcolor13":1,"fips":"US32","fips_alt":null,"woe_id":2347587,"woe_label":"Nevada, US, United States","woe_name":"Nevada","latitude":39.4299,"longitude":-117.02,"sov_a3":"US1","adm0_a3":"USA","adm0_label":2,"admin":"United States of America","geonunit":"United States of America","gu_a3":"USA","gn_id":5509151,"gn_name":"Nevada","gns_id":-1,"gns_name":null,"gn_level":1,"gn_region":null,"gn_a1_code":"US.NV","region_sub":"Mountain","sub_code":null,"gns_level":-1,"gns_lang":null,"gns_adm1":null,"gns_region":null,"min_label":3.5,"max_label":7.5,"min_zoom":2,"wikidataid":"Q1227","name_ar":"نيفادا","name_bn":"নেভাডা","name_de":"Nevada","name_en":"Nevada","name_es":"Nevada","name_fr":"Nevada","name_el":"Νεβάδα","name_hi":"नेवाडा","name_hu":"Nevada","name_id":"Nevada","name_it":"Nevada","name_ja":"ネバダ州","name_ko":"네바다","name_nl":"Nevada","name_pl":"Nevada","name_pt":"Nevada","name_ru":"Невада","name_sv":"Nevada","name_tr":"Nevada","name_vi":"Nevada","name_zh":"内华达州","ne_id":1159315345,"name_he":"נבדה","name_uk":"Невада","name_ur":"نیواڈا","name_fa":"نوادا","name_zht":"內華達州","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[-120.000809,34.991117,-114.04027,42.001109],"geometry":{"type":"Polygon","coordinates":[[[-114.04027,37.004153],[-114.041171,36.61249],[-114.042879,36.181771],[-114.061924,36.175212],[-114.119437,36.076665],[-114.183207,36.030303],[-114.232146,36.031698],[-114.281573,36.060328],[-114.331545,36.116293],[-114.406087,36.148307],[-114.505277,36.156426],[-114.592975,36.14756],[-114.669144,36.12172],[-114.715759,36.084982],[-114.741362,36.013516],[-114.732321,35.983666],[-114.687101,35.917341],[-114.68369,35.813597],[-114.677076,35.729805],[-114.650126,35.683508],[-114.645166,35.630543],[-114.662063,35.545355],[-114.648528,35.475922],[-114.590987,35.352776],[-114.610521,34.99761],[-114.610543,34.991117],[-114.88218,35.202812],[-115.136096,35.400962],[-115.390006,35.599122],[-115.643917,35.797294],[-115.897827,35.995476],[-116.151743,36.193625],[-116.405681,36.391786],[-116.659592,36.589968],[-116.842915,36.727759],[-117.02626,36.865549],[-117.209611,37.003373],[-117.392935,37.141174],[-117.576253,37.278965],[-117.759603,37.416788],[-117.942949,37.554579],[-118.126272,37.69238],[-118.360495,37.855857],[-118.594718,38.019333],[-118.828941,38.182843],[-119.063164,38.34632],[-119.297387,38.509796],[-119.531616,38.673295],[-119.765839,38.836782],[-120.000062,39.000259],[-120.000084,39.187784],[-120.000139,39.375299],[-120.000188,39.562803],[-120.000243,39.750339],[-120.000293,39.937876],[-120.000342,40.12538],[-120.000397,40.312883],[-120.000446,40.50042],[-120.000501,40.687957],[-120.000551,40.87546],[-120.0006,41.062975],[-120.000628,41.250501],[-120.000655,41.438015],[-120.000704,41.625519],[-120.000759,41.813056],[-120.000809,42.000559],[-119.627807,42.000559],[-119.254782,42.000559],[-118.881758,42.000559],[-118.508756,42.000559],[-118.135731,42.000559],[-117.762701,42.000559],[-117.389705,42.000559],[-117.016675,42.000559],[-116.644914,42.000636],[-116.273153,42.000691],[-115.901398,42.000768],[-115.529637,42.000845],[-115.157876,42.0009],[-114.786115,42.000977],[-114.414354,42.001054],[-114.042593,42.001109],[-114.042516,41.844938],[-114.042467,41.6888],[-114.04239,41.532662],[-114.042308,41.376492],[-114.042231,41.220321],[-114.042154,41.064183],[-114.042077,40.908046],[-114.042,40.751875],[-114.041923,40.595715],[-114.041846,40.439578],[-114.041791,40.283429],[-114.041714,40.127269],[-114.041637,39.971099],[-114.041588,39.814939],[-114.041511,39.658768],[-114.041429,39.502631],[-114.041352,39.346493],[-114.041275,39.190322],[-114.041226,39.034152],[-114.041149,38.877992],[-114.041072,38.721821],[-114.041017,38.565684],[-114.04094,38.409546],[-114.040863,38.253375],[-114.040786,38.097205],[-114.040709,37.941067],[-114.040632,37.784929],[-114.040555,37.628759],[-114.040473,37.472599],[-114.040396,37.316461],[-114.040347,37.160312],[-114.04027,37.004153]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"USA-3559","diss_me":3559,"iso_3166_2":"US-NY","wikipedia":"http://en.wikipedia.org/wiki/New_York","iso_a2":"US","adm0_sr":3,"name":"New York","name_alt":"NY|N.Y.","name_local":null,"type":"State","type_en":"State","code_local":"US36","code_hasc":"US.NY","note":null,"hasc_maybe":null,"region":"Northeast","region_cod":null,"provnum_ne":0,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":"N.Y.","postal":"NY","area_sqkm":0,"sameascity":-99,"labelrank":0,"name_len":8,"mapcolor9":1,"mapcolor13":1,"fips":"US36","fips_alt":null,"woe_id":2347591,"woe_label":"New York, US, United States","woe_name":"New York","latitude":43.1988,"longitude":-75.3242,"sov_a3":"US1","adm0_a3":"USA","adm0_label":2,"admin":"United States of America","geonunit":"United States of America","gu_a3":"USA","gn_id":5128638,"gn_name":"New York","gns_id":-1,"gns_name":null,"gn_level":1,"gn_region":null,"gn_a1_code":"US.NY","region_sub":"Middle Atlantic","sub_code":null,"gns_level":-1,"gns_lang":null,"gns_adm1":null,"gns_region":null,"min_label":3.5,"max_label":7.5,"min_zoom":2,"wikidataid":"Q1384","name_ar":"نيويورك","name_bn":"নিউ ইয়র্ক","name_de":"New York","name_en":"New York","name_es":"Nueva York","name_fr":"État de New York","name_el":"Νέα Υόρκη","name_hi":"न्यूयॉर्क","name_hu":"New York","name_id":"New York","name_it":"New York","name_ja":"ニューヨーク州","name_ko":"뉴욕","name_nl":"New York","name_pl":"Nowy Jork","name_pt":"Nova Iorque","name_ru":"Нью-Йорк","name_sv":"New York","name_tr":"New York","name_vi":"New York","name_zh":"纽约州","ne_id":1159312155,"name_he":"ניו יורק","name_uk":"штат Нью-Йорк","name_ur":"نیویارک","name_fa":"نیویورک","name_zht":"紐約州","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[-79.763003,40.518712,-71.903206,45.005419],"geometry":{"type":"MultiPolygon","coordinates":[[[[-79.066048,43.1061],[-79.066051,43.106102],[-79.059228,43.278061],[-79.061394,43.28291],[-79.053174,43.285107],[-78.689453,43.361475],[-78.457471,43.387549],[-78.174951,43.394678],[-77.838232,43.35708],[-77.707373,43.322852],[-77.624609,43.279102],[-77.529053,43.267383],[-77.420801,43.287744],[-77.270801,43.294531],[-77.079004,43.287695],[-76.976416,43.277393],[-76.963086,43.26377],[-76.949805,43.26792],[-76.93667,43.289746],[-76.885303,43.314014],[-76.741406,43.350049],[-76.722314,43.342627],[-76.692871,43.360937],[-76.653076,43.405029],[-76.579687,43.453809],[-76.472705,43.507275],[-76.376025,43.535059],[-76.2896,43.537305],[-76.231787,43.550439],[-76.202588,43.574512],[-76.193604,43.595801],[-76.204834,43.614258],[-76.199854,43.634717],[-76.19502,43.644824],[-76.199316,43.653076],[-76.209717,43.670312],[-76.218115,43.757812],[-76.234863,43.798779],[-76.258203,43.829102],[-76.288184,43.84873],[-76.284619,43.869238],[-76.23252,43.894531],[-76.236426,43.870947],[-76.222754,43.863818],[-76.19834,43.874463],[-76.142676,43.926855],[-76.136475,43.946631],[-76.098682,43.966992],[-76.070654,43.998486],[-76.101904,44.003174],[-76.175439,43.993799],[-76.192285,44.003369],[-76.15415,44.04541],[-76.16123,44.069336],[-76.173291,44.079443],[-76.197607,44.083496],[-76.280615,44.046484],[-76.306055,44.043213],[-76.309668,44.062744],[-76.352441,44.106055],[-76.237793,44.183203],[-75.832178,44.397266],[-75.790918,44.429883],[-75.775684,44.458887],[-75.786572,44.484326],[-75.79796,44.49068],[-75.79196,44.497049],[-75.401253,44.772278],[-75.179384,44.899379],[-74.996143,44.97012],[-74.856639,45.003925],[-74.762464,44.999058],[-74.708873,45.00387],[-74.663236,45.003925],[-74.430391,45.004178],[-74.014262,45.004694],[-73.598133,45.005155],[-73.352182,45.005419],[-73.345052,44.938864],[-73.365805,44.860366],[-73.348568,44.775299],[-73.372078,44.597332],[-73.309753,44.45964],[-73.324639,44.36786],[-73.320915,44.268874],[-73.331825,44.244583],[-73.38112,44.187432],[-73.409751,44.131413],[-73.426131,44.074855],[-73.424945,44.038292],[-73.38301,43.875827],[-73.374968,43.804152],[-73.375847,43.762184],[-73.413365,43.627854],[-73.415925,43.589644],[-73.40495,43.578811],[-73.391436,43.578526],[-73.349238,43.620384],[-73.330484,43.62669],[-73.30616,43.616253],[-73.247098,43.553048],[-73.250328,43.439669],[-73.252657,43.357195],[-73.255239,43.265371],[-73.259084,43.127855],[-73.26193,43.027067],[-73.264544,42.93521],[-73.266555,42.864777],[-73.2802,42.813152],[-73.253327,42.752222],[-73.285056,42.668198],[-73.316806,42.584175],[-73.348568,42.500141],[-73.380296,42.416117],[-73.412047,42.332094],[-73.443808,42.24807],[-73.475537,42.164047],[-73.507287,42.080012],[-73.480568,42.055568],[-73.48861,41.960613],[-73.496619,41.865658],[-73.504629,41.770703],[-73.512638,41.675748],[-73.520647,41.580794],[-73.528689,41.485839],[-73.53672,41.390906],[-73.544729,41.295951],[-73.51445,41.257455],[-73.484139,41.218959],[-73.521756,41.200919],[-73.579797,41.173146],[-73.641881,41.143406],[-73.723015,41.104514],[-73.682113,41.054702],[-73.630466,40.99186],[-73.671412,40.965867],[-73.779001,40.878405],[-73.851247,40.831405],[-73.910672,40.816112],[-73.947213,40.776946],[-73.987082,40.751392],[-73.948586,40.838744],[-73.90675,40.912462],[-73.871967,41.055164],[-73.882251,41.170586],[-73.925328,41.218058],[-73.969954,41.249732],[-73.917649,41.135781],[-73.909233,40.996079],[-73.910079,40.992256],[-74.006045,41.037498],[-74.105053,41.083179],[-74.204073,41.12886],[-74.30306,41.174541],[-74.402047,41.220222],[-74.501056,41.265903],[-74.600064,41.311585],[-74.699051,41.357299],[-74.720365,41.394861],[-74.75662,41.423909],[-74.935367,41.474369],[-74.981257,41.507702],[-75.02273,41.552866],[-75.051361,41.608369],[-75.066192,41.666608],[-75.066906,41.713212],[-75.053679,41.765045],[-75.094768,41.799487],[-75.095537,41.83171],[-75.121893,41.853364],[-75.238864,41.892201],[-75.273977,41.94666],[-75.351342,41.998417],[-75.48921,41.998494],[-75.627055,41.998571],[-75.764901,41.998648],[-75.902779,41.998725],[-76.040647,41.998801],[-76.178525,41.998878],[-76.316393,41.998966],[-76.454238,41.999043],[-76.592094,41.99912],[-76.729962,41.999197],[-76.86784,41.999274],[-77.005708,41.999351],[-77.143575,41.999428],[-77.281432,41.999505],[-77.419277,41.999581],[-77.557145,41.999658],[-77.695023,41.999735],[-77.832868,41.999812],[-77.970714,41.999889],[-78.108581,41.999966],[-78.24646,42.000043],[-78.384327,42.00012],[-78.522206,42.000197],[-78.660051,42.000274],[-78.797897,42.000329],[-78.935775,42.000438],[-79.073642,42.000515],[-79.211521,42.000592],[-79.349388,42.000669],[-79.487234,42.000746],[-79.625079,42.000801],[-79.762958,42.0009],[-79.76298,42.135515],[-79.763002,42.270131],[-79.763003,42.275685],[-79.704053,42.300098],[-79.512256,42.391016],[-79.416357,42.456885],[-79.315381,42.511572],[-79.209229,42.555176],[-79.124951,42.61123],[-79.062549,42.679785],[-78.993604,42.730713],[-78.918262,42.764062],[-78.877832,42.799121],[-78.872266,42.835938],[-78.88623,42.885645],[-78.919727,42.948193],[-78.924316,42.99751],[-78.900098,43.033496],[-78.894727,43.057764],[-78.908154,43.070312],[-79.066048,43.1061]]],[[[-72.509783,40.986027],[-72.580887,40.921328],[-72.516573,40.914813],[-72.461334,40.933776],[-72.409017,40.972151],[-72.287442,41.024083],[-72.183852,41.046792],[-72.151245,41.051472],[-72.101894,41.01502],[-72.003951,41.044265],[-71.903206,41.060701],[-72.33899,40.894148],[-72.428078,40.875383],[-72.555542,40.82578],[-72.676106,40.790635],[-72.762843,40.777847],[-73.194287,40.654207],[-73.22852,40.651526],[-73.265522,40.663567],[-73.620897,40.599901],[-73.766729,40.592716],[-73.899565,40.570524],[-73.801325,40.621786],[-73.799183,40.640979],[-73.822672,40.655964],[-73.875175,40.651625],[-73.928997,40.598814],[-74.014911,40.581213],[-74.032038,40.638683],[-74.003364,40.683156],[-73.964571,40.725343],[-73.879262,40.791668],[-73.757193,40.833679],[-73.695208,40.870033],[-73.652241,40.838019],[-73.642837,40.881228],[-73.609768,40.906189],[-73.573798,40.919625],[-73.487391,40.919955],[-73.440864,40.926777],[-73.407246,40.941093],[-73.372705,40.943806],[-73.278156,40.924196],[-73.185838,40.929854],[-73.111296,40.95688],[-73.033776,40.965977],[-72.828783,40.972052],[-72.625118,40.991838],[-72.543676,41.027006],[-72.372575,41.125553],[-72.274138,41.153041],[-72.427386,41.03853],[-72.509783,40.986027]]],[[[-74.188132,40.522854],[-74.235879,40.518712],[-74.188154,40.614601],[-74.100483,40.658447],[-74.068755,40.649307],[-74.067414,40.615458],[-74.079708,40.586465],[-74.138518,40.541838],[-74.188132,40.522854]]],[[[-78.990283,42.991553],[-79.012012,43.002686],[-79.019434,43.024219],[-79.01416,43.051514],[-78.987988,43.063525],[-78.916211,43.053174],[-78.913867,43.042334],[-78.929932,43.022461],[-78.960547,42.988232],[-78.990283,42.991553]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"USA-3550","diss_me":3550,"iso_3166_2":"US-OH","wikipedia":"http://en.wikipedia.org/wiki/Ohio","iso_a2":"US","adm0_sr":1,"name":"Ohio","name_alt":"OH|Ohio","name_local":null,"type":"State","type_en":"State","code_local":"US39","code_hasc":"US.OH","note":null,"hasc_maybe":null,"region":"Midwest","region_cod":null,"provnum_ne":0,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":"Ohio","postal":"OH","area_sqkm":0,"sameascity":-99,"labelrank":0,"name_len":4,"mapcolor9":1,"mapcolor13":1,"fips":"US39","fips_alt":null,"woe_id":2347594,"woe_label":"Ohio, US, United States","woe_name":"Ohio","latitude":40.0924,"longitude":-82.6719,"sov_a3":"US1","adm0_a3":"USA","adm0_label":2,"admin":"United States of America","geonunit":"United States of America","gu_a3":"USA","gn_id":5165418,"gn_name":"Ohio","gns_id":-1,"gns_name":null,"gn_level":1,"gn_region":null,"gn_a1_code":"US.OH","region_sub":"East North Central","sub_code":null,"gns_level":-1,"gns_lang":null,"gns_adm1":null,"gns_region":null,"min_label":3.5,"max_label":7.5,"min_zoom":2,"wikidataid":"Q1397","name_ar":"أوهايو","name_bn":"ওহাইও","name_de":"Ohio","name_en":"Ohio","name_es":"Ohio","name_fr":"Ohio","name_el":"Οχάιο","name_hi":"ओहायो","name_hu":"Ohio","name_id":"Ohio","name_it":"Ohio","name_ja":"オハイオ州","name_ko":"오하이오","name_nl":"Ohio","name_pl":"Ohio","name_pt":"Ohio","name_ru":"Огайо","name_sv":"Ohio","name_tr":"Ohio","name_vi":"Ohio","name_zh":"俄亥俄州","ne_id":1159315315,"name_he":"אוהיו","name_uk":"Огайо","name_ur":"اوہائیو","name_fa":"اوهایو","name_zht":"俄亥俄州","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[-84.821711,38.414973,-80.519081,41.989568],"geometry":{"type":"Polygon","coordinates":[[[-80.520278,41.989568],[-80.520278,41.905923],[-80.520278,41.801069],[-80.520278,41.696238],[-80.520278,41.591417],[-80.520278,41.486564],[-80.520278,41.38171],[-80.520278,41.276857],[-80.520278,41.172014],[-80.520278,41.067183],[-80.520278,40.962362],[-80.520278,40.857509],[-80.520278,40.752655],[-80.519081,40.646956],[-80.637524,40.603263],[-80.659047,40.562976],[-80.623187,40.51156],[-80.604093,40.445203],[-80.601819,40.363893],[-80.668275,40.185244],[-80.803517,39.909136],[-80.872192,39.735508],[-80.874313,39.664294],[-80.963291,39.57113],[-81.139127,39.455994],[-81.262504,39.386538],[-81.333354,39.362819],[-81.392417,39.364829],[-81.439647,39.392559],[-81.492722,39.373618],[-81.551631,39.308041],[-81.606464,39.274137],[-81.657209,39.271973],[-81.700594,39.229467],[-81.736663,39.14663],[-81.770665,39.098828],[-81.802602,39.086062],[-81.804954,39.04405],[-81.777685,38.972793],[-81.780124,38.946975],[-81.795033,38.945942],[-81.809337,38.950029],[-81.843757,38.934319],[-81.88244,38.894219],[-81.896678,38.893549],[-81.907368,38.900239],[-81.91853,38.952347],[-81.949797,38.989327],[-82.001092,39.011102],[-82.072273,38.962949],[-82.163328,38.844912],[-82.203527,38.768228],[-82.18764,38.715208],[-82.180071,38.637589],[-82.202494,38.605839],[-82.252317,38.594083],[-82.290868,38.552017],[-82.318147,38.479672],[-82.387064,38.43399],[-82.497543,38.414973],[-82.612778,38.448218],[-82.621282,38.450679],[-82.758226,38.541162],[-82.844623,38.627668],[-82.880438,38.710253],[-83.000068,38.713999],[-83.203469,38.638907],[-83.35697,38.627405],[-83.460582,38.679502],[-83.538387,38.69986],[-83.616313,38.682776],[-83.689878,38.649531],[-83.752269,38.669373],[-83.828086,38.731226],[-83.948386,38.774226],[-84.113236,38.798385],[-84.227285,38.865204],[-84.290435,38.974705],[-84.358022,39.049917],[-84.43006,39.090896],[-84.508865,39.102838],[-84.594547,39.085776],[-84.660542,39.094467],[-84.706948,39.128909],[-84.765901,39.124998],[-84.821711,39.091984],[-84.82014,39.423826],[-84.816702,39.749197],[-84.813263,40.074557],[-84.809835,40.399939],[-84.806397,40.725321],[-84.802958,41.05067],[-84.799552,41.376052],[-84.796113,41.701434],[-84.463129,41.710938],[-84.130155,41.720452],[-83.797181,41.729955],[-83.464197,41.739447],[-83.454257,41.745548],[-83.456201,41.74248],[-83.442969,41.724854],[-83.352246,41.714014],[-83.290723,41.693262],[-83.242578,41.661914],[-83.069092,41.600635],[-83.016016,41.562793],[-82.963281,41.541943],[-82.910791,41.538232],[-82.874902,41.550146],[-82.855518,41.577832],[-82.830762,41.579687],[-82.800781,41.555713],[-82.703125,41.529492],[-82.7,41.521289],[-82.970703,41.475732],[-83.02749,41.454541],[-82.95957,41.439746],[-82.891113,41.443311],[-82.822266,41.465234],[-82.743066,41.464062],[-82.673486,41.453662],[-82.651465,41.462451],[-82.642627,41.466895],[-82.524414,41.406982],[-82.480273,41.398096],[-82.434424,41.404932],[-82.386865,41.42749],[-82.282471,41.456836],[-82.121338,41.492969],[-81.966309,41.507666],[-81.81748,41.500879],[-81.723193,41.510937],[-81.637207,41.548437],[-81.44707,41.671484],[-81.228613,41.77041],[-80.869238,41.893311],[-80.520278,41.989568]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"USA-3533","diss_me":3533,"iso_3166_2":"US-OK","wikipedia":"http://en.wikipedia.org/wiki/Oklahoma","iso_a2":"US","adm0_sr":1,"name":"Oklahoma","name_alt":"OK|Okla.","name_local":null,"type":"State","type_en":"State","code_local":"US40","code_hasc":"US.OK","note":null,"hasc_maybe":null,"region":"South","region_cod":null,"provnum_ne":0,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":"Okla.","postal":"OK","area_sqkm":0,"sameascity":-99,"labelrank":0,"name_len":8,"mapcolor9":1,"mapcolor13":1,"fips":"US40","fips_alt":null,"woe_id":2347595,"woe_label":"Oklahoma, US, United States","woe_name":"Oklahoma","latitude":35.452,"longitude":-97.1309,"sov_a3":"US1","adm0_a3":"USA","adm0_label":2,"admin":"United States of America","geonunit":"United States of America","gu_a3":"USA","gn_id":4544379,"gn_name":"Oklahoma","gns_id":-1,"gns_name":null,"gn_level":1,"gn_region":null,"gn_a1_code":"US.OK","region_sub":"West South Central","sub_code":null,"gns_level":-1,"gns_lang":null,"gns_adm1":null,"gns_region":null,"min_label":3.5,"max_label":7.5,"min_zoom":2,"wikidataid":"Q1649","name_ar":"أوكلاهوما","name_bn":"ওকলাহোমা","name_de":"Oklahoma","name_en":"Oklahoma","name_es":"Oklahoma","name_fr":"Oklahoma","name_el":"Οκλαχόμα","name_hi":"ओक्लाहोमा","name_hu":"Oklahoma","name_id":"Oklahoma","name_it":"Oklahoma","name_ja":"オクラホマ州","name_ko":"오클라호마","name_nl":"Oklahoma","name_pl":"Oklahoma","name_pt":"Oklahoma","name_ru":"Оклахома","name_sv":"Oklahoma","name_tr":"Oklahoma","name_vi":"Oklahoma","name_zh":"俄克拉荷马州","ne_id":1159315365,"name_he":"אוקלהומה","name_uk":"Оклахома","name_ur":"اوکلاہوما","name_fa":"اکلاهما","name_zht":"奧克拉荷馬州","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[-103.000839,33.648434,-94.439138,37.000846],"geometry":{"type":"Polygon","coordinates":[[[-94.61838,36.500869],[-94.595979,36.361661],[-94.573578,36.222465],[-94.551177,36.083279],[-94.52877,35.94406],[-94.506369,35.804841],[-94.483968,35.665655],[-94.461539,35.526459],[-94.439138,35.387251],[-94.441956,35.278574],[-94.444746,35.169897],[-94.447564,35.061221],[-94.450377,34.952544],[-94.453195,34.843867],[-94.456013,34.73519],[-94.458831,34.626514],[-94.461643,34.517837],[-94.464461,34.409171],[-94.467279,34.300494],[-94.470092,34.191817],[-94.47291,34.083141],[-94.475728,33.974464],[-94.47854,33.865787],[-94.481331,33.75711],[-94.484149,33.648434],[-94.709198,33.699289],[-94.765734,33.731611],[-94.869374,33.768196],[-94.962389,33.843408],[-95.146075,33.936616],[-95.21586,33.959039],[-95.238031,33.956479],[-95.276016,33.910622],[-95.373888,33.874269],[-95.427117,33.872785],[-95.523494,33.886562],[-95.541836,33.898164],[-95.555712,33.926091],[-95.594471,33.945163],[-95.622789,33.930255],[-95.763166,33.891473],[-95.783914,33.864502],[-95.863082,33.863304],[-95.941579,33.882838],[-96.139344,33.821963],[-96.207272,33.774062],[-96.278562,33.757627],[-96.315048,33.711122],[-96.336752,33.717713],[-96.41114,33.775205],[-96.487204,33.7923],[-96.59159,33.849275],[-96.595364,33.899405],[-96.606345,33.905635],[-96.625132,33.911446],[-96.648538,33.906382],[-96.694016,33.863799],[-96.720213,33.85279],[-96.746283,33.854186],[-96.847572,33.883179],[-96.889996,33.934617],[-96.911001,33.950437],[-96.934051,33.95348],[-96.977694,33.938033],[-97.002161,33.881597],[-97.02159,33.866512],[-97.063838,33.8568],[-97.061229,33.8285],[-97.09895,33.750442],[-97.119,33.734764],[-97.145071,33.737687],[-97.172383,33.75688],[-97.192488,33.784631],[-97.201013,33.808164],[-97.186182,33.870083],[-97.194762,33.890616],[-97.214938,33.897109],[-97.264679,33.867776],[-97.308163,33.869226],[-97.363611,33.840178],[-97.398492,33.831323],[-97.430171,33.838508],[-97.481565,33.885705],[-97.571247,33.91594],[-97.605925,33.971651],[-97.621789,33.987768],[-97.640933,33.991669],[-97.660362,33.990043],[-97.691937,33.972135],[-97.795291,33.899065],[-97.842422,33.875785],[-97.882858,33.871116],[-97.92159,33.878367],[-97.946238,33.897076],[-97.951072,33.971212],[-97.973962,33.993734],[-98.069383,34.040305],[-98.089587,34.084097],[-98.098635,34.145027],[-98.214079,34.135337],[-98.355978,34.141511],[-98.420419,34.088052],[-98.453674,34.078131],[-98.493851,34.088777],[-98.608395,34.161275],[-98.730118,34.146576],[-98.798953,34.154739],[-98.96884,34.208605],[-99.102291,34.213472],[-99.157508,34.223282],[-99.186578,34.235477],[-99.19991,34.318314],[-99.252875,34.388077],[-99.270316,34.407226],[-99.360387,34.456094],[-99.374938,34.457873],[-99.38465,34.446788],[-99.404986,34.392065],[-99.432298,34.38922],[-99.536168,34.404744],[-99.632029,34.388495],[-99.685615,34.415829],[-99.867027,34.543369],[-99.94069,34.576339],[-99.999341,34.586721],[-99.99955,34.706362],[-99.999731,34.825992],[-99.999912,34.945622],[-100.000115,35.065275],[-100.000324,35.184938],[-100.000505,35.304568],[-100.000687,35.424198],[-100.000895,35.543828],[-100.001099,35.663458],[-100.00128,35.783088],[-100.001461,35.902718],[-100.00167,36.022349],[-100.001873,36.141979],[-100.002054,36.261609],[-100.002236,36.381239],[-100.002444,36.500902],[-100.189822,36.500924],[-100.377177,36.500924],[-100.564527,36.500946],[-100.751904,36.500979],[-100.939287,36.500979],[-101.126637,36.501023],[-101.313992,36.501056],[-101.50137,36.501078],[-101.688747,36.501111],[-101.876102,36.501133],[-102.063452,36.501133],[-102.250835,36.501155],[-102.438212,36.501188],[-102.625562,36.501188],[-102.812918,36.50121],[-103.000295,36.501232],[-103.000427,36.626135],[-103.000553,36.751039],[-103.000712,36.875942],[-103.000839,37.000846],[-102.753828,37.000846],[-102.506811,37.000846],[-102.2598,37.000846],[-102.012783,37.000846],[-101.781713,37.000846],[-101.550616,37.000846],[-101.319518,37.000846],[-101.088421,37.000846],[-100.857329,37.000846],[-100.626254,37.000846],[-100.395184,37.000846],[-100.164086,37.000846],[-99.932989,37.000846],[-99.701919,37.000846],[-99.470849,37.000846],[-99.239752,37.000846],[-99.008654,37.000846],[-98.777584,37.000846],[-98.546514,37.000846],[-98.315417,37.000846],[-98.084319,37.000846],[-97.853244,37.000846],[-97.622174,37.000846],[-97.391077,37.000846],[-97.159979,37.000846],[-96.928909,37.000846],[-96.697839,37.000846],[-96.466742,37.000846],[-96.235644,37.000846],[-96.004574,37.000846],[-95.773504,37.000846],[-95.542407,37.000846],[-95.31131,37.000846],[-95.08024,37.000846],[-94.849164,37.000846],[-94.618067,37.000846],[-94.618149,36.875832],[-94.618226,36.750863],[-94.618303,36.625883],[-94.61838,36.500869]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"USA-3525","diss_me":3525,"iso_3166_2":"US-OR","wikipedia":"http://en.wikipedia.org/wiki/Oregon","iso_a2":"US","adm0_sr":6,"name":"Oregon","name_alt":"OR|Ore.","name_local":null,"type":"State","type_en":"State","code_local":"US41","code_hasc":"US.OR","note":null,"hasc_maybe":null,"region":"West","region_cod":null,"provnum_ne":0,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":"Ore.","postal":"OR","area_sqkm":0,"sameascity":-99,"labelrank":0,"name_len":6,"mapcolor9":1,"mapcolor13":1,"fips":"US41","fips_alt":null,"woe_id":2347596,"woe_label":"Oregon, US, United States","woe_name":"Oregon","latitude":43.8333,"longitude":-120.386,"sov_a3":"US1","adm0_a3":"USA","adm0_label":2,"admin":"United States of America","geonunit":"United States of America","gu_a3":"USA","gn_id":5744337,"gn_name":"Oregon","gns_id":-1,"gns_name":null,"gn_level":1,"gn_region":null,"gn_a1_code":"US.OR","region_sub":"Pacific","sub_code":null,"gns_level":-1,"gns_lang":null,"gns_adm1":null,"gns_region":null,"min_label":3.5,"max_label":7.5,"min_zoom":2,"wikidataid":"Q824","name_ar":"أوريغون","name_bn":"অরেগন","name_de":"Oregon","name_en":"Oregon","name_es":"Oregón","name_fr":"Oregon","name_el":"Όρεγκον","name_hi":"औरिगन","name_hu":"Oregon","name_id":"Oregon","name_it":"Oregon","name_ja":"オレゴン州","name_ko":"오리건","name_nl":"Oregon","name_pl":"Oregon","name_pt":"Oregon","name_ru":"Орегон","name_sv":"Oregon","name_tr":"Oregon","name_vi":"Oregon","name_zh":"俄勒冈州","ne_id":1159309549,"name_he":"אורגון","name_uk":"Орегон","name_ur":"اوریگون","name_fa":"اورگن","name_zht":"奧勒岡州","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[-124.539629,42.000559,-116.477043,46.225451],"geometry":{"type":"Polygon","coordinates":[[[-120.000809,42.000559],[-120.264464,42.000559],[-120.528114,42.000559],[-120.79177,42.000559],[-121.05542,42.000559],[-121.319075,42.000559],[-121.58273,42.000559],[-121.84638,42.000559],[-122.110063,42.000559],[-122.37374,42.000559],[-122.63739,42.000559],[-122.901046,42.000559],[-123.164701,42.000559],[-123.428351,42.000559],[-123.692007,42.000559],[-123.955656,42.000559],[-124.228409,42.000768],[-124.355273,42.122881],[-124.409996,42.304342],[-124.420515,42.381005],[-124.406173,42.583681],[-124.443795,42.670209],[-124.539629,42.812866],[-124.498573,42.936858],[-124.454441,43.012367],[-124.346588,43.341649],[-124.320595,43.368203],[-124.275485,43.367379],[-124.196938,43.423344],[-124.23316,43.436363],[-124.287987,43.409699],[-124.239208,43.54003],[-124.184353,43.651552],[-124.148719,43.691729],[-124.130663,44.055662],[-124.099165,44.333781],[-124.047464,44.425506],[-124.065443,44.520076],[-124.044541,44.648231],[-124.059192,44.777727],[-123.948603,45.40085],[-123.9631,45.476084],[-123.929355,45.576961],[-123.961216,45.842995],[-123.947131,46.140592],[-123.975245,46.178341],[-123.989302,46.219397],[-123.962946,46.225451],[-123.911684,46.182198],[-123.67361,46.182604],[-123.521631,46.22266],[-123.466358,46.209433],[-123.402281,46.154962],[-123.321564,46.144009],[-123.220589,46.153622],[-123.120904,46.178781],[-123.042275,46.160027],[-122.941997,46.114862],[-122.843373,45.978094],[-122.74643,45.749688],[-122.725913,45.67375],[-122.649849,45.627443],[-122.560964,45.62507],[-122.202535,45.591067],[-122.149927,45.593759],[-122.149905,45.593858],[-122.085124,45.602647],[-121.882014,45.689461],[-121.662519,45.718135],[-121.402121,45.71184],[-121.242698,45.687033],[-121.184278,45.64378],[-121.045241,45.639044],[-120.715777,45.689823],[-120.351432,45.725166],[-120.156046,45.762168],[-119.934276,45.837875],[-119.429113,45.93417],[-119.177345,45.94508],[-119.049909,45.981488],[-119.01968,46.000341],[-119.002421,46.00055],[-118.736986,46.000813],[-118.47155,46.001044],[-118.206088,46.001275],[-117.940653,46.001538],[-117.675217,46.001791],[-117.409755,46.002022],[-117.14432,46.002253],[-116.896479,46.002099],[-116.869194,45.958483],[-116.764725,45.87291],[-116.616827,45.79917],[-116.520917,45.721914],[-116.477043,45.641088],[-116.549157,45.456737],[-116.737342,45.168841],[-116.839553,44.98516],[-116.855857,44.90574],[-116.948955,44.770114],[-117.118919,44.578314],[-117.201701,44.436206],[-117.197312,44.3438],[-117.139744,44.290264],[-117.028952,44.275542],[-116.95319,44.245308],[-116.91242,44.199473],[-116.91131,44.157406],[-116.949779,44.119009],[-116.960683,44.079118],[-116.943967,44.037677],[-116.957634,43.964135],[-117.020498,43.813194],[-117.02024,43.808437],[-117.0198,43.562925],[-117.019339,43.339727],[-117.0189,43.11654],[-117.01846,42.893352],[-117.018021,42.670165],[-117.017581,42.446967],[-117.017114,42.223779],[-117.016675,42.000559],[-117.389705,42.000559],[-117.762701,42.000559],[-118.135731,42.000559],[-118.508756,42.000559],[-118.881758,42.000559],[-119.254782,42.000559],[-119.627807,42.000559],[-120.000809,42.000559]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"USA-3560","diss_me":3560,"iso_3166_2":"US-PA","wikipedia":"http://en.wikipedia.org/wiki/Pennsylvania","iso_a2":"US","adm0_sr":1,"name":"Pennsylvania","name_alt":"Commonwealth of Pennsylvania|PA","name_local":null,"type":"State","type_en":"State","code_local":"US42","code_hasc":"US.PA","note":null,"hasc_maybe":null,"region":"Northeast","region_cod":null,"provnum_ne":0,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":"Pa.","postal":"PA","area_sqkm":0,"sameascity":-99,"labelrank":0,"name_len":12,"mapcolor9":1,"mapcolor13":1,"fips":"US42","fips_alt":null,"woe_id":2347597,"woe_label":"Pennsylvania, US, United States","woe_name":"Pennsylvania","latitude":40.8601,"longitude":-77.6094,"sov_a3":"US1","adm0_a3":"USA","adm0_label":2,"admin":"United States of America","geonunit":"United States of America","gu_a3":"USA","gn_id":6254927,"gn_name":"Pennsylvania","gns_id":-1,"gns_name":null,"gn_level":1,"gn_region":null,"gn_a1_code":"US.PA","region_sub":"Middle Atlantic","sub_code":null,"gns_level":-1,"gns_lang":null,"gns_adm1":null,"gns_region":null,"min_label":3.5,"max_label":7.5,"min_zoom":2,"wikidataid":"Q1400","name_ar":"بنسيلفانيا","name_bn":"পেনসিলভেনিয়া","name_de":"Pennsylvania","name_en":"Pennsylvania","name_es":"Pensilvania","name_fr":"Pennsylvanie","name_el":"Πενσιλβάνια","name_hi":"पेन्सिलवेनिया","name_hu":"Pennsylvania","name_id":"Pennsylvania","name_it":"Pennsylvania","name_ja":"ペンシルベニア州","name_ko":"펜실베이니아","name_nl":"Pennsylvania","name_pl":"Pensylwania","name_pt":"Pensilvânia","name_ru":"Пенсильвания","name_sv":"Pennsylvania","name_tr":"Pensilvanya","name_vi":"Pennsylvania","name_zh":"宾夕法尼亚州","ne_id":1159315331,"name_he":"פנסילבניה","name_uk":"Пенсильванія","name_ur":"پنسلوانیا","name_fa":"پنسیلوانیا","name_zht":"賓夕法尼亞州","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[-80.520278,39.722357,-74.699051,42.275685],"geometry":{"type":"Polygon","coordinates":[[[-79.763003,42.275685],[-79.763002,42.270131],[-79.76298,42.135515],[-79.762958,42.0009],[-79.625079,42.000801],[-79.487234,42.000746],[-79.349388,42.000669],[-79.211521,42.000592],[-79.073642,42.000515],[-78.935775,42.000438],[-78.797897,42.000329],[-78.660051,42.000274],[-78.522206,42.000197],[-78.384327,42.00012],[-78.24646,42.000043],[-78.108581,41.999966],[-77.970714,41.999889],[-77.832868,41.999812],[-77.695023,41.999735],[-77.557145,41.999658],[-77.419277,41.999581],[-77.281432,41.999505],[-77.143575,41.999428],[-77.005708,41.999351],[-76.86784,41.999274],[-76.729962,41.999197],[-76.592094,41.99912],[-76.454238,41.999043],[-76.316393,41.998966],[-76.178525,41.998878],[-76.040647,41.998801],[-75.902779,41.998725],[-75.764901,41.998648],[-75.627055,41.998571],[-75.48921,41.998494],[-75.351342,41.998417],[-75.273977,41.94666],[-75.238864,41.892201],[-75.121893,41.853364],[-75.095537,41.83171],[-75.094768,41.799487],[-75.053679,41.765045],[-75.066906,41.713212],[-75.066192,41.666608],[-75.051361,41.608369],[-75.02273,41.552866],[-74.981257,41.507702],[-74.935367,41.474369],[-74.75662,41.423909],[-74.720365,41.394861],[-74.699051,41.357299],[-74.777779,41.325076],[-74.812485,41.30151],[-74.84139,41.268595],[-74.912296,41.155271],[-75.031541,41.05178],[-75.123036,40.999002],[-75.12275,40.971766],[-75.074926,40.884458],[-75.075564,40.856267],[-75.111797,40.802105],[-75.174737,40.775518],[-75.185691,40.743822],[-75.192282,40.689868],[-75.189019,40.595814],[-75.170518,40.576797],[-75.097448,40.543135],[-75.034046,40.420374],[-74.976379,40.405828],[-74.734889,40.154504],[-74.909297,40.079545],[-75.023532,40.01745],[-75.074168,39.98348],[-75.172924,39.894777],[-75.320877,39.864696],[-75.400638,39.831572],[-75.421029,39.815422],[-75.510446,39.843438],[-75.634581,39.839482],[-75.676823,39.827233],[-75.709145,39.802898],[-75.78472,39.722357],[-76.015532,39.722379],[-76.246322,39.722434],[-76.477112,39.722456],[-76.707901,39.722489],[-76.93868,39.722511],[-77.169492,39.722533],[-77.400304,39.722566],[-77.631094,39.722588],[-77.861883,39.72261],[-78.092695,39.722643],[-78.323507,39.722665],[-78.554297,39.722687],[-78.785086,39.72272],[-79.015898,39.722742],[-79.24671,39.722775],[-79.4775,39.722797],[-79.607743,39.722742],[-79.737997,39.72272],[-79.868218,39.722687],[-79.998472,39.722643],[-80.128725,39.72261],[-80.258946,39.722588],[-80.3892,39.722533],[-80.519443,39.722511],[-80.519553,39.838186],[-80.519652,39.953839],[-80.519762,40.069492],[-80.519861,40.185145],[-80.51996,40.300798],[-80.520069,40.416473],[-80.520168,40.532149],[-80.519081,40.646956],[-80.520278,40.752655],[-80.520278,40.857509],[-80.520278,40.962362],[-80.520278,41.067183],[-80.520278,41.172014],[-80.520278,41.276857],[-80.520278,41.38171],[-80.520278,41.486564],[-80.520278,41.591417],[-80.520278,41.696238],[-80.520278,41.801069],[-80.520278,41.905923],[-80.520278,41.989568],[-80.334473,42.04082],[-80.251953,42.075293],[-80.168164,42.108984],[-80.124707,42.12832],[-80.076172,42.145996],[-79.763003,42.275685]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"USA-3539","diss_me":3539,"iso_3166_2":"US-RI","wikipedia":"http://en.wikipedia.org/wiki/Rhode_Island","iso_a2":"US","adm0_sr":6,"name":"Rhode Island","name_alt":"State of Rhode Island and Providence Plantations|RI|R.I.","name_local":null,"type":"State","type_en":"State","code_local":"US44","code_hasc":"US.RI","note":null,"hasc_maybe":null,"region":"Northeast","region_cod":null,"provnum_ne":0,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":"R.I.","postal":"RI","area_sqkm":0,"sameascity":-99,"labelrank":0,"name_len":12,"mapcolor9":1,"mapcolor13":1,"fips":"US44","fips_alt":null,"woe_id":2347598,"woe_label":"Rhode Island, US, United States","woe_name":"Rhode Island","latitude":41.6242,"longitude":-71.5082,"sov_a3":"US1","adm0_a3":"USA","adm0_label":2,"admin":"United States of America","geonunit":"United States of America","gu_a3":"USA","gn_id":5224323,"gn_name":"Rhode Island","gns_id":-1,"gns_name":null,"gn_level":1,"gn_region":null,"gn_a1_code":"US.RI","region_sub":"New England","sub_code":null,"gns_level":-1,"gns_lang":null,"gns_adm1":null,"gns_region":null,"min_label":3.5,"max_label":7.5,"min_zoom":2,"wikidataid":"Q1387","name_ar":"رود آيلاند","name_bn":"রোড আইল্যান্ড","name_de":"Rhode Island","name_en":"Rhode Island","name_es":"Rhode Island","name_fr":"Rhode Island","name_el":"Ρόουντ Άιλαντ","name_hi":"रोड आइलैंड","name_hu":"Rhode Island","name_id":"Rhode Island","name_it":"Rhode Island","name_ja":"ロードアイランド州","name_ko":"로드아일랜드","name_nl":"Rhode Island","name_pl":"Rhode Island","name_pt":"Rhode Island","name_ru":"Род-Айленд","name_sv":"Rhode Island","name_tr":"Rhode Island","name_vi":"Rhode Island","name_zh":"罗得岛州","ne_id":1159312213,"name_he":"רוד איילנד","name_uk":"Род-Айленд","name_ur":"رہوڈ آئی لینڈ","name_fa":"رود آیلند","name_zht":"羅德島州","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[-71.842353,41.33091,-71.232052,42.016863],"geometry":{"type":"MultiPolygon","coordinates":[[[[-71.842353,41.335513],[-71.829873,41.392741],[-71.804527,41.416746],[-71.799232,41.47917],[-71.795793,41.519951],[-71.796518,41.588858],[-71.79732,41.667586],[-71.798199,41.753114],[-71.798968,41.828502],[-71.799561,41.883027],[-71.800319,41.95824],[-71.800836,42.011963],[-71.725821,42.012864],[-71.623242,42.014028],[-71.524134,42.015237],[-71.462534,42.015962],[-71.387135,42.016863],[-71.383927,41.971731],[-71.379071,41.902407],[-71.33763,41.891443],[-71.339487,41.835171],[-71.340728,41.797916],[-71.304737,41.774658],[-71.267889,41.75084],[-71.233765,41.706554],[-71.271075,41.681231],[-71.310758,41.719881],[-71.330599,41.762255],[-71.359152,41.786238],[-71.390156,41.795335],[-71.363679,41.702731],[-71.426542,41.633297],[-71.443802,41.453693],[-71.52286,41.378975],[-71.769283,41.33091],[-71.842353,41.335513]]],[[[-71.241379,41.491969],[-71.290938,41.464602],[-71.346232,41.469403],[-71.318151,41.506306],[-71.307473,41.560491],[-71.280194,41.620048],[-71.264483,41.63823],[-71.232052,41.654303],[-71.241379,41.491969]]],[[[-71.36536,41.485267],[-71.393078,41.466745],[-71.403383,41.51504],[-71.383981,41.570532],[-71.364316,41.571807],[-71.354472,41.542297],[-71.36536,41.485267]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"USA-3545","diss_me":3545,"iso_3166_2":"US-SC","wikipedia":"http://en.wikipedia.org/wiki/South_Carolina","iso_a2":"US","adm0_sr":1,"name":"South Carolina","name_alt":"SC|S.C.","name_local":null,"type":"State","type_en":"State","code_local":"US45","code_hasc":"US.SC","note":null,"hasc_maybe":null,"region":"South","region_cod":null,"provnum_ne":0,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":"S.C.","postal":"SC","area_sqkm":0,"sameascity":-99,"labelrank":0,"name_len":14,"mapcolor9":1,"mapcolor13":1,"fips":"US45","fips_alt":null,"woe_id":2347599,"woe_label":"South Carolina, US, United States","woe_name":"South Carolina","latitude":33.8578,"longitude":-80.6471,"sov_a3":"US1","adm0_a3":"USA","adm0_label":2,"admin":"United States of America","geonunit":"United States of America","gu_a3":"USA","gn_id":4597040,"gn_name":"South Carolina","gns_id":-1,"gns_name":null,"gn_level":1,"gn_region":null,"gn_a1_code":"US.SC","region_sub":"South Atlantic","sub_code":null,"gns_level":-1,"gns_lang":null,"gns_adm1":null,"gns_region":null,"min_label":3.5,"max_label":7.5,"min_zoom":2,"wikidataid":"Q1456","name_ar":"كارولاينا الجنوبية","name_bn":"সাউথ ক্যারোলাইনা","name_de":"South Carolina","name_en":"South Carolina","name_es":"Carolina del Sur","name_fr":"Caroline du Sud","name_el":"Νότια Καρολίνα","name_hi":"दक्षिणी केरोलाइना","name_hu":"Dél-Karolina","name_id":"Carolina Selatan","name_it":"Carolina del Sud","name_ja":"サウスカロライナ州","name_ko":"사우스캐롤라이나","name_nl":"South Carolina","name_pl":"Karolina Południowa","name_pt":"Carolina do Sul","name_ru":"Южная Каролина","name_sv":"South Carolina","name_tr":"Güney Karolina","name_vi":"Nam Carolina","name_zh":"南卡罗来纳州","ne_id":1159315307,"name_he":"קרוליינה הדרומית","name_uk":"Південна Кароліна","name_ur":"جنوبی کیرولینا","name_fa":"کارولینای جنوبی","name_zht":"南卡羅萊納州","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[-83.355575,32.029565,-78.564272,35.210931],"geometry":{"type":"Polygon","coordinates":[[[-80.872346,32.029565],[-81.074813,32.109699],[-81.135018,32.181858],[-81.132953,32.27467],[-81.171504,32.380139],[-81.290332,32.557239],[-81.37697,32.607468],[-81.433813,32.728032],[-81.489778,32.935663],[-81.57824,33.068575],[-81.69932,33.126759],[-81.780322,33.195292],[-81.821279,33.274096],[-81.864093,33.325436],[-81.908741,33.349254],[-81.932845,33.38987],[-81.936394,33.447285],[-82.005718,33.522893],[-82.208361,33.663584],[-82.256623,33.749233],[-82.351897,33.837728],[-82.589344,34.017618],[-82.589268,34.017377],[-82.818585,34.366017],[-82.818607,34.366072],[-82.847732,34.436911],[-82.896819,34.465806],[-82.975679,34.476396],[-83.052781,34.51086],[-83.165896,34.598531],[-83.166522,34.599597],[-83.355575,34.708318],[-83.316716,34.805657],[-83.1704,34.932911],[-83.121357,35.000554],[-83.114821,35.001477],[-83.09655,35.001642],[-82.936974,35.04417],[-82.777529,35.086643],[-82.743966,35.084061],[-82.651483,35.128039],[-82.463957,35.177961],[-82.392535,35.210931],[-82.356083,35.201626],[-82.197484,35.195891],[-82.038885,35.190156],[-81.880298,35.184421],[-81.721699,35.178675],[-81.5631,35.172941],[-81.404513,35.167206],[-81.245914,35.161471],[-81.087316,35.155714],[-81.05662,35.145508],[-81.046853,35.131083],[-81.051171,35.088972],[-81.045249,35.065615],[-80.933683,35.113669],[-80.881695,35.057914],[-80.79297,34.962772],[-80.789278,34.90717],[-80.784082,34.828629],[-80.642776,34.824641],[-80.501459,34.820664],[-80.36013,34.816687],[-80.218824,34.81271],[-80.077507,34.808733],[-79.936179,34.804745],[-79.794862,34.800768],[-79.653556,34.796791],[-79.518523,34.682643],[-79.383468,34.568506],[-79.248413,34.45438],[-79.11338,34.340232],[-78.978347,34.226073],[-78.843292,34.111947],[-78.708237,33.997821],[-78.564272,33.876664],[-78.577709,33.873225],[-78.841435,33.724097],[-78.920295,33.658695],[-79.138187,33.405921],[-79.193822,33.244148],[-79.23836,33.312153],[-79.22733,33.363163],[-79.226473,33.404889],[-79.281328,33.315438],[-79.229242,33.185129],[-79.276011,33.135394],[-79.419931,33.042527],[-79.498681,33.027311],[-79.587121,33.000877],[-79.614928,32.909263],[-79.735019,32.824789],[-79.804991,32.78738],[-79.933103,32.810034],[-79.89364,32.728702],[-79.940727,32.667157],[-80.021752,32.619894],[-80.122551,32.589099],[-80.180317,32.592889],[-80.229668,32.576509],[-80.268351,32.537342],[-80.362844,32.500725],[-80.460974,32.521346],[-80.572233,32.533695],[-80.634195,32.511733],[-80.530012,32.475379],[-80.474278,32.422777],[-80.485726,32.351827],[-80.513631,32.324405],[-80.579341,32.287326],[-80.608224,32.292809],[-80.625846,32.326273],[-80.647214,32.395926],[-80.677778,32.381128],[-80.683052,32.348641],[-80.709331,32.33704],[-80.802561,32.448045],[-80.797881,32.363396],[-80.765328,32.298313],[-80.73383,32.265321],[-80.702047,32.245908],[-80.694214,32.21574],[-80.758011,32.142175],[-80.790795,32.125838],[-80.849242,32.113929],[-80.882058,32.068611],[-80.872346,32.029565]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"USA-3534","diss_me":3534,"iso_3166_2":"US-SD","wikipedia":"http://en.wikipedia.org/wiki/South_Dakota","iso_a2":"US","adm0_sr":1,"name":"South Dakota","name_alt":"SD|S.D.","name_local":null,"type":"State","type_en":"State","code_local":"US46","code_hasc":"US.SD","note":null,"hasc_maybe":null,"region":"Midwest","region_cod":null,"provnum_ne":0,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":"S.D.","postal":"SD","area_sqkm":0,"sameascity":-99,"labelrank":0,"name_len":12,"mapcolor9":1,"mapcolor13":1,"fips":"US46","fips_alt":null,"woe_id":2347600,"woe_label":"South Dakota, US, United States","woe_name":"South Dakota","latitude":44.4711,"longitude":-100.255,"sov_a3":"US1","adm0_a3":"USA","adm0_label":2,"admin":"United States of America","geonunit":"United States of America","gu_a3":"USA","gn_id":5769223,"gn_name":"South Dakota","gns_id":-1,"gns_name":null,"gn_level":1,"gn_region":null,"gn_a1_code":"US.SD","region_sub":"West North Central","sub_code":null,"gns_level":-1,"gns_lang":null,"gns_adm1":null,"gns_region":null,"min_label":3.5,"max_label":7.5,"min_zoom":2,"wikidataid":"Q1211","name_ar":"داكوتا الجنوبية","name_bn":"দক্ষিণ ডাকোটা","name_de":"South Dakota","name_en":"South Dakota","name_es":"Dakota del Sur","name_fr":"Dakota du Sud","name_el":"Νότια Ντακότα","name_hi":"दक्षिण डकोटा","name_hu":"Dél-Dakota","name_id":"Dakota Selatan","name_it":"Dakota del Sud","name_ja":"サウスダコタ州","name_ko":"사우스다코타","name_nl":"South Dakota","name_pl":"Dakota Południowa","name_pt":"Dakota do Sul","name_ru":"Южная Дакота","name_sv":"South Dakota","name_tr":"Güney Dakota","name_vi":"Nam Dakota","name_zh":"南达科他州","ne_id":1159315367,"name_he":"דקוטה הדרומית","name_uk":"Південна Дакота","name_ur":"جنوبی ڈکوٹا","name_fa":"داکوتای جنوبی","name_zht":"南達科他州","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[-104.037212,42.511259,-96.453619,45.943058],"geometry":{"type":"Polygon","coordinates":[[[-96.453619,43.501171],[-96.598622,43.497501],[-96.581285,43.434923],[-96.541647,43.373455],[-96.534956,43.338057],[-96.542526,43.309031],[-96.569942,43.283323],[-96.563454,43.242685],[-96.55539,43.231676],[-96.49028,43.205529],[-96.468137,43.17023],[-96.461293,43.129767],[-96.462688,43.099181],[-96.502112,43.043294],[-96.513274,42.969059],[-96.562576,42.85857],[-96.616084,42.791388],[-96.626835,42.757001],[-96.62177,42.729535],[-96.538702,42.658585],[-96.53361,42.630164],[-96.506326,42.593579],[-96.480953,42.511259],[-96.55795,42.524794],[-96.632778,42.568673],[-96.675542,42.637601],[-96.804527,42.701421],[-97.019733,42.760176],[-97.164478,42.813196],[-97.23879,42.860536],[-97.416658,42.881004],[-97.698139,42.874643],[-97.880918,42.849583],[-97.964947,42.805868],[-98.143283,42.852263],[-98.441765,43.001095],[-98.837141,43.001249],[-99.183271,43.001249],[-99.529373,43.001249],[-99.875475,43.001249],[-100.221605,43.001249],[-100.567708,43.001282],[-100.91381,43.001304],[-101.25994,43.001304],[-101.606064,43.001304],[-101.952172,43.001326],[-102.298274,43.001359],[-102.644398,43.001359],[-102.990528,43.001359],[-103.33663,43.001381],[-103.682738,43.001403],[-104.028862,43.001403],[-104.029895,43.251364],[-104.030955,43.501325],[-104.032016,43.751286],[-104.033048,44.001269],[-104.034081,44.251251],[-104.035119,44.501212],[-104.036152,44.751173],[-104.037212,45.001134],[-104.02928,45.001079],[-104.021348,45.001057],[-104.013416,45.001024],[-104.005478,45.00097],[-104.005302,45.004101],[-104.005143,45.007232],[-104.004962,45.010352],[-104.00478,45.013483],[-104.006357,45.245866],[-104.007934,45.47826],[-104.00951,45.710642],[-104.011087,45.943058],[-103.778132,45.943036],[-103.545173,45.943036],[-103.312213,45.943036],[-103.079259,45.943036],[-102.8463,45.943036],[-102.613345,45.943014],[-102.380386,45.942981],[-102.147426,45.942981],[-101.914472,45.942981],[-101.681513,45.942981],[-101.448558,45.942981],[-101.215599,45.942959],[-100.982645,45.942937],[-100.749685,45.942937],[-100.516725,45.942937],[-100.283744,45.942937],[-100.050762,45.942937],[-99.817803,45.942904],[-99.584849,45.942882],[-99.351889,45.942882],[-99.118929,45.942882],[-98.885975,45.942882],[-98.653016,45.942882],[-98.420062,45.94286],[-98.187102,45.942827],[-97.954142,45.942827],[-97.721188,45.942827],[-97.488229,45.942827],[-97.255275,45.942827],[-97.022315,45.942805],[-96.789355,45.942773],[-96.556401,45.942773],[-96.591052,45.843269],[-96.614689,45.799972],[-96.662672,45.755653],[-96.813619,45.659182],[-96.85106,45.626004],[-96.845452,45.595868],[-96.81491,45.557427],[-96.737527,45.467845],[-96.696109,45.431776],[-96.529759,45.371549],[-96.453668,45.297337],[-96.453668,45.072809],[-96.453668,44.848292],[-96.453668,44.623787],[-96.453641,44.399259],[-96.453619,44.174721],[-96.453619,43.950215],[-96.453619,43.725698],[-96.453619,43.501171]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"USA-3551","diss_me":3551,"iso_3166_2":"US-TN","wikipedia":"http://en.wikipedia.org/wiki/Tennessee","iso_a2":"US","adm0_sr":1,"name":"Tennessee","name_alt":"TN|Tenn.","name_local":null,"type":"State","type_en":"State","code_local":"US47","code_hasc":"US.TN","note":null,"hasc_maybe":null,"region":"South","region_cod":null,"provnum_ne":0,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":"Tenn.","postal":"TN","area_sqkm":0,"sameascity":-99,"labelrank":0,"name_len":9,"mapcolor9":1,"mapcolor13":1,"fips":"US47","fips_alt":null,"woe_id":2347601,"woe_label":"Tennessee, US, United States","woe_name":"Tennessee","latitude":35.7514,"longitude":-86.3415,"sov_a3":"US1","adm0_a3":"USA","adm0_label":2,"admin":"United States of America","geonunit":"United States of America","gu_a3":"USA","gn_id":4662168,"gn_name":"Tennessee","gns_id":-1,"gns_name":null,"gn_level":1,"gn_region":null,"gn_a1_code":"US.TN","region_sub":"East South Central","sub_code":null,"gns_level":-1,"gns_lang":null,"gns_adm1":null,"gns_region":null,"min_label":3.5,"max_label":7.5,"min_zoom":2,"wikidataid":"Q1509","name_ar":"تينيسي","name_bn":"টেনেসী","name_de":"Tennessee","name_en":"Tennessee","name_es":"Tennessee","name_fr":"Tennessee","name_el":"Τενεσί","name_hi":"टेनेसी","name_hu":"Tennessee","name_id":"Tennessee","name_it":"Tennessee","name_ja":"テネシー州","name_ko":"테네시","name_nl":"Tennessee","name_pl":"Tennessee","name_pt":"Tennessee","name_ru":"Теннесси","name_sv":"Tennessee","name_tr":"Tennessee","name_vi":"Tennessee","name_zh":"田纳西州","ne_id":1159315319,"name_he":"טנסי","name_uk":"Теннессі","name_ur":"ٹینیسی","name_fa":"تنسی","name_zht":"田納西州","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[-90.29376,34.988096,-81.65889,36.693009],"geometry":{"type":"Polygon","coordinates":[[[-85.623604,35.000862],[-85.784037,35.002356],[-85.944437,35.003861],[-86.104871,35.00541],[-86.265293,35.006904],[-86.425726,35.008409],[-86.58616,35.009903],[-86.746582,35.011409],[-86.907015,35.012925],[-87.067449,35.014452],[-87.227871,35.015946],[-87.388305,35.017451],[-87.548738,35.018945],[-87.70916,35.02045],[-87.869594,35.021966],[-88.029994,35.023494],[-88.190427,35.024999],[-88.203139,35.024197],[-88.19079,35.012046],[-88.173267,34.999005],[-88.444772,34.999126],[-88.710421,34.999412],[-88.97606,34.999697],[-89.241698,34.999983],[-89.507348,35.000268],[-89.772997,35.000554],[-90.038635,35.00084],[-90.293705,35.001114],[-90.29376,35.004476],[-90.255956,35.046389],[-90.14227,35.114296],[-90.092919,35.203592],[-90.107882,35.314203],[-90.066024,35.414112],[-89.967345,35.50331],[-89.92652,35.591652],[-89.943505,35.679136],[-89.894561,35.750503],[-89.779655,35.805742],[-89.763593,35.828044],[-89.768108,35.845249],[-89.769943,35.864299],[-89.768932,35.8721],[-89.763593,35.888766],[-89.738214,35.898741],[-89.703772,35.906904],[-89.688908,35.920956],[-89.689171,35.943599],[-89.70932,35.98305],[-89.704772,36.001573],[-89.697697,36.030303],[-89.641886,36.104515],[-89.63413,36.167917],[-89.674549,36.220575],[-89.654081,36.247964],[-89.627988,36.255259],[-89.594623,36.259445],[-89.583549,36.272233],[-89.583549,36.287657],[-89.611707,36.321968],[-89.604093,36.351916],[-89.55527,36.372922],[-89.540603,36.426667],[-89.557313,36.501078],[-89.487221,36.503066],[-89.485386,36.498133],[-89.471488,36.488883],[-89.451823,36.497518],[-89.450329,36.500023],[-89.251784,36.499946],[-89.079079,36.499913],[-88.906373,36.499891],[-88.733646,36.499836],[-88.560919,36.499792],[-88.388214,36.499759],[-88.215509,36.499737],[-88.059108,36.499683],[-88.05601,36.500946],[-88.056713,36.59032],[-88.096297,36.693009],[-88.091122,36.6928],[-87.956298,36.681968],[-87.868715,36.675046],[-87.839151,36.643966],[-87.506254,36.649185],[-87.173357,36.654403],[-86.84046,36.659622],[-86.507586,36.66484],[-86.160451,36.655073],[-85.813283,36.645339],[-85.466126,36.635594],[-85.11898,36.625828],[-84.771845,36.616061],[-84.424688,36.606316],[-84.07752,36.596582],[-83.730385,36.586815],[-83.722507,36.589089],[-83.714652,36.591363],[-83.706797,36.593638],[-83.698942,36.595901],[-83.691086,36.598175],[-83.683231,36.600449],[-83.675376,36.602723],[-83.667521,36.60503],[-83.440763,36.604119],[-82.955837,36.60213],[-82.611779,36.600713],[-82.329386,36.599548],[-82.162185,36.598856],[-81.952511,36.598021],[-81.905336,36.618544],[-81.800713,36.615182],[-81.65889,36.610579],[-81.704418,36.533993],[-81.707648,36.481962],[-81.733323,36.405914],[-81.734125,36.355454],[-81.80826,36.352718],[-81.851151,36.3397],[-81.908247,36.306411],[-82.051366,36.122862],[-82.100618,36.106526],[-82.182499,36.153789],[-82.294944,36.13397],[-82.368245,36.099549],[-82.478426,36.010055],[-82.52113,35.981216],[-82.553408,35.970987],[-82.576842,35.972273],[-82.588751,35.986951],[-82.598101,36.031599],[-82.611097,36.047364],[-82.644924,36.046793],[-82.700087,36.029841],[-82.75559,35.999871],[-82.812817,35.947444],[-82.887722,35.951728],[-82.901862,35.939171],[-82.920253,35.8789],[-82.949476,35.834526],[-82.990203,35.800447],[-83.120369,35.774618],[-83.284241,35.682058],[-83.511119,35.584082],[-83.722716,35.559901],[-83.811705,35.54029],[-83.871306,35.51489],[-84.003735,35.414069],[-84.062281,35.286012],[-84.128584,35.261413],[-84.232471,35.260589],[-84.261101,35.249581],[-84.286974,35.200846],[-84.32469,34.988096],[-84.649424,34.991304],[-84.974158,34.994479],[-85.298892,34.997654],[-85.623604,35.000862]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"USA-3536","diss_me":3536,"iso_3166_2":"US-TX","wikipedia":"http://en.wikipedia.org/wiki/Texas","iso_a2":"US","adm0_sr":4,"name":"Texas","name_alt":"TX|Tex.","name_local":null,"type":"State","type_en":"State","code_local":"US48","code_hasc":"US.TX","note":null,"hasc_maybe":null,"region":"South","region_cod":null,"provnum_ne":0,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":"Tex.","postal":"TX","area_sqkm":0,"sameascity":-99,"labelrank":0,"name_len":5,"mapcolor9":1,"mapcolor13":1,"fips":"US48","fips_alt":null,"woe_id":2347602,"woe_label":"Texas, US, United States","woe_name":"Texas","latitude":31.131,"longitude":-98.7607,"sov_a3":"US1","adm0_a3":"USA","adm0_label":2,"admin":"United States of America","geonunit":"United States of America","gu_a3":"USA","gn_id":4736286,"gn_name":"Texas","gns_id":-1,"gns_name":null,"gn_level":1,"gn_region":null,"gn_a1_code":"US.TX","region_sub":"West South Central","sub_code":null,"gns_level":-1,"gns_lang":null,"gns_adm1":null,"gns_region":null,"min_label":3.5,"max_label":7.5,"min_zoom":2,"wikidataid":"Q1439","name_ar":"تكساس","name_bn":"টেক্সাস","name_de":"Texas","name_en":"Texas","name_es":"Texas","name_fr":"Texas","name_el":"Τέξας","name_hi":"टॅक्सस","name_hu":"Texas","name_id":"Texas","name_it":"Texas","name_ja":"テキサス州","name_ko":"텍사스","name_nl":"Texas","name_pl":"Teksas","name_pt":"Texas","name_ru":"Техас","name_sv":"Texas","name_tr":"Teksas","name_vi":"Texas","name_zh":"得克萨斯州","ne_id":1159315211,"name_he":"טקסס","name_uk":"Техас","name_ur":"ٹیکساس","name_fa":"تگزاس","name_zht":"德克薩斯州","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[-106.668262,25.87052,-93.530591,36.501232],"geometry":{"type":"MultiPolygon","coordinates":[[[[-94.484149,33.648434],[-94.432008,33.599731],[-94.390122,33.585603],[-94.377955,33.566113],[-94.357674,33.560972],[-94.33256,33.565036],[-94.294679,33.58746],[-94.238456,33.581208],[-94.191534,33.589009],[-94.098798,33.57733],[-94.047327,33.554435],[-94.045805,33.418841],[-94.044306,33.283215],[-94.042806,33.147589],[-94.041307,33.011996],[-94.041565,32.885378],[-94.041801,32.758805],[-94.042032,32.63222],[-94.04229,32.505614],[-94.042548,32.379007],[-94.042806,32.252423],[-94.043064,32.125838],[-94.043301,31.999232],[-93.905065,31.876998],[-93.845585,31.792942],[-93.826798,31.75026],[-93.820652,31.603966],[-93.806902,31.568799],[-93.737578,31.513812],[-93.736057,31.477667],[-93.663657,31.372198],[-93.665882,31.322584],[-93.596992,31.209754],[-93.557749,31.180421],[-93.551443,31.104066],[-93.530591,31.04619],[-93.562654,31.004903],[-93.549196,30.947719],[-93.568675,30.894655],[-93.579194,30.823805],[-93.624721,30.714348],[-93.665206,30.660768],[-93.720215,30.558265],[-93.715205,30.473253],[-93.746626,30.380363],[-93.750394,30.344713],[-93.720967,30.282904],[-93.710629,30.112813],[-93.726933,30.077108],[-93.79401,29.977264],[-93.841449,29.979747],[-93.946302,29.815007],[-93.886383,29.722634],[-93.890464,29.689356],[-94.099677,29.670383],[-94.574457,29.484527],[-94.759609,29.384255],[-94.750128,29.418027],[-94.526265,29.547962],[-94.605334,29.567804],[-94.732638,29.53535],[-94.778291,29.547863],[-94.724365,29.655299],[-94.741938,29.74999],[-94.832322,29.752605],[-94.889913,29.676953],[-94.929859,29.68015],[-94.982286,29.712603],[-95.022875,29.70232],[-94.992827,29.530934],[-94.935907,29.460478],[-94.888287,29.370555],[-95.018332,29.25945],[-95.139044,29.167835],[-95.152145,29.079231],[-95.273506,28.963863],[-95.387637,28.89844],[-95.655863,28.744598],[-95.732394,28.711705],[-95.853419,28.640349],[-96.020411,28.586834],[-96.180531,28.501877],[-96.234535,28.48899],[-96.132291,28.560896],[-96.011034,28.631944],[-96.115031,28.622232],[-96.27536,28.655125],[-96.37344,28.657037],[-96.374111,28.631098],[-96.448735,28.594481],[-96.526041,28.648303],[-96.559708,28.684448],[-96.575704,28.715715],[-96.608515,28.723307],[-96.64004,28.708761],[-96.524645,28.488704],[-96.475476,28.47919],[-96.42111,28.457339],[-96.488808,28.406065],[-96.561697,28.367163],[-96.676339,28.34129],[-96.773546,28.421622],[-96.794579,28.320855],[-96.806901,28.220188],[-96.839508,28.194403],[-96.8916,28.157555],[-96.919867,28.185339],[-96.933276,28.224275],[-96.966636,28.189547],[-97.01547,28.163454],[-97.096033,28.158258],[-97.156491,28.14436],[-97.155074,28.102656],[-97.141275,28.060765],[-97.034329,28.093845],[-97.073088,27.986091],[-97.171454,27.879567],[-97.251578,27.85442],[-97.37413,27.870031],[-97.404386,27.859309],[-97.431517,27.837215],[-97.288733,27.670608],[-97.380458,27.419361],[-97.439109,27.328285],[-97.47978,27.316573],[-97.523863,27.313969],[-97.682148,27.394917],[-97.768446,27.457495],[-97.692377,27.287141],[-97.485103,27.237406],[-97.474512,27.172938],[-97.475671,27.117885],[-97.516524,27.053209],[-97.554712,26.967351],[-97.526494,26.907508],[-97.49381,26.75961],[-97.465828,26.691759],[-97.435082,26.485853],[-97.402316,26.396534],[-97.213933,26.067867],[-97.150372,26.065307],[-97.140187,26.029733],[-97.146235,25.961464],[-97.281785,25.941623],[-97.33865,25.91118],[-97.349735,25.88478],[-97.358162,25.87052],[-97.375624,25.871805],[-97.440273,25.890822],[-97.587243,25.984206],[-97.801416,26.042049],[-98.082792,26.064428],[-98.275031,26.111197],[-98.378121,26.182356],[-98.48587,26.224576],[-98.598293,26.237858],[-98.691413,26.276453],[-98.76523,26.340405],[-98.873209,26.38123],[-99.015268,26.398962],[-99.107767,26.446917],[-99.172081,26.564141],[-99.172367,26.565921],[-99.22993,26.761928],[-99.302462,26.884711],[-99.443537,27.036674],[-99.456506,27.056615],[-99.456534,27.05667],[-99.45772,27.081707],[-99.440258,27.170125],[-99.455139,27.233714],[-99.499814,27.285515],[-99.51007,27.340326],[-99.485834,27.398048],[-99.484258,27.467393],[-99.505319,27.548341],[-99.595313,27.63588],[-99.754269,27.729934],[-99.889631,27.867296],[-100.001412,28.047845],[-100.111945,28.172957],[-100.221265,28.242622],[-100.296043,28.327678],[-100.336275,28.428137],[-100.348157,28.48643],[-100.331727,28.502547],[-100.398903,28.614223],[-100.549695,28.821338],[-100.636306,28.972806],[-100.65863,29.068541],[-100.754596,29.182513],[-100.924142,29.314701],[-101.016334,29.400658],[-101.038631,29.460291],[-101.038972,29.460401],[-101.303528,29.634084],[-101.380344,29.742552],[-101.44039,29.776841],[-101.509302,29.773116],[-101.544623,29.783531],[-101.546381,29.808075],[-101.568705,29.809239],[-101.611596,29.78697],[-101.752336,29.782476],[-101.990899,29.795704],[-102.163087,29.825257],[-102.268919,29.871169],[-102.343076,29.864973],[-102.385659,29.806657],[-102.476247,29.769084],[-102.614944,29.752341],[-102.73419,29.64395],[-102.834,29.443966],[-102.877825,29.315316],[-102.865679,29.258033],[-102.892008,29.216384],[-102.956811,29.190368],[-103.022828,29.132207],[-103.090009,29.041866],[-103.168298,28.998173],[-103.257699,29.001129],[-103.422933,29.070683],[-103.663979,29.206903],[-103.852905,29.29108],[-103.989746,29.323171],[-104.110617,29.386112],[-104.21552,29.479902],[-104.312205,29.542436],[-104.400623,29.573747],[-104.503977,29.677667],[-104.622212,29.854272],[-104.68133,29.990525],[-104.68133,30.134358],[-104.835896,30.447655],[-104.917854,30.583358],[-104.978834,30.645936],[-105.098151,30.720555],[-105.275816,30.80727],[-105.513994,30.980766],[-105.812707,31.241043],[-106.02409,31.397774],[-106.148065,31.450926],[-106.255703,31.544662],[-106.346967,31.678991],[-106.436027,31.764465],[-106.445382,31.768398],[-106.566358,31.819529],[-106.566281,31.819529],[-106.668262,32.000946],[-106.662219,32.001297],[-106.43745,32.001407],[-106.212659,32.001484],[-105.987868,32.001561],[-105.763076,32.00166],[-105.53828,32.00177],[-105.313488,32.001847],[-105.088697,32.001924],[-104.863928,32.002022],[-104.639164,32.002132],[-104.414373,32.002209],[-104.189576,32.002286],[-103.964785,32.002385],[-103.739993,32.002495],[-103.515202,32.002572],[-103.290405,32.002649],[-103.065642,32.002748],[-103.064169,32.283866],[-103.062719,32.564984],[-103.061247,32.846113],[-103.059775,33.127231],[-103.058303,33.408349],[-103.056831,33.689468],[-103.055358,33.970586],[-103.053886,34.251682],[-103.052414,34.532778],[-103.050942,34.813896],[-103.049492,35.095015],[-103.04802,35.376133],[-103.046547,35.657251],[-103.045103,35.93838],[-103.043625,36.219498],[-103.042153,36.500616],[-103.000295,36.501232],[-102.812918,36.50121],[-102.625562,36.501188],[-102.438212,36.501188],[-102.250835,36.501155],[-102.063452,36.501133],[-101.876102,36.501133],[-101.688747,36.501111],[-101.50137,36.501078],[-101.313992,36.501056],[-101.126637,36.501023],[-100.939287,36.500979],[-100.751904,36.500979],[-100.564527,36.500946],[-100.377177,36.500924],[-100.189822,36.500924],[-100.002444,36.500902],[-100.002236,36.381239],[-100.002054,36.261609],[-100.001873,36.141979],[-100.00167,36.022349],[-100.001461,35.902718],[-100.00128,35.783088],[-100.001099,35.663458],[-100.000895,35.543828],[-100.000687,35.424198],[-100.000505,35.304568],[-100.000324,35.184938],[-100.000115,35.065275],[-99.999912,34.945622],[-99.999731,34.825992],[-99.99955,34.706362],[-99.999341,34.586721],[-99.94069,34.576339],[-99.867027,34.543369],[-99.685615,34.415829],[-99.632029,34.388495],[-99.536168,34.404744],[-99.432298,34.38922],[-99.404986,34.392065],[-99.38465,34.446788],[-99.374938,34.457873],[-99.360387,34.456094],[-99.270316,34.407226],[-99.252875,34.388077],[-99.19991,34.318314],[-99.186578,34.235477],[-99.157508,34.223282],[-99.102291,34.213472],[-98.96884,34.208605],[-98.798953,34.154739],[-98.730118,34.146576],[-98.608395,34.161275],[-98.493851,34.088777],[-98.453674,34.078131],[-98.420419,34.088052],[-98.355978,34.141511],[-98.214079,34.135337],[-98.098635,34.145027],[-98.089587,34.084097],[-98.069383,34.040305],[-97.973962,33.993734],[-97.951072,33.971212],[-97.946238,33.897076],[-97.92159,33.878367],[-97.882858,33.871116],[-97.842422,33.875785],[-97.795291,33.899065],[-97.691937,33.972135],[-97.660362,33.990043],[-97.640933,33.991669],[-97.621789,33.987768],[-97.605925,33.971651],[-97.571247,33.91594],[-97.481565,33.885705],[-97.430171,33.838508],[-97.398492,33.831323],[-97.363611,33.840178],[-97.308163,33.869226],[-97.264679,33.867776],[-97.214938,33.897109],[-97.194762,33.890616],[-97.186182,33.870083],[-97.201013,33.808164],[-97.192488,33.784631],[-97.172383,33.75688],[-97.145071,33.737687],[-97.119,33.734764],[-97.09895,33.750442],[-97.061229,33.8285],[-97.063838,33.8568],[-97.02159,33.866512],[-97.002161,33.881597],[-96.977694,33.938033],[-96.934051,33.95348],[-96.911001,33.950437],[-96.889996,33.934617],[-96.847572,33.883179],[-96.746283,33.854186],[-96.720213,33.85279],[-96.694016,33.863799],[-96.648538,33.906382],[-96.625132,33.911446],[-96.606345,33.905635],[-96.595364,33.899405],[-96.59159,33.849275],[-96.487204,33.7923],[-96.41114,33.775205],[-96.336752,33.717713],[-96.315048,33.711122],[-96.278562,33.757627],[-96.207272,33.774062],[-96.139344,33.821963],[-95.941579,33.882838],[-95.863082,33.863304],[-95.783914,33.864502],[-95.763166,33.891473],[-95.622789,33.930255],[-95.594471,33.945163],[-95.555712,33.926091],[-95.541836,33.898164],[-95.523494,33.886562],[-95.427117,33.872785],[-95.373888,33.874269],[-95.276016,33.910622],[-95.238031,33.956479],[-95.21586,33.959039],[-95.146075,33.936616],[-94.962389,33.843408],[-94.869374,33.768196],[-94.765734,33.731611],[-94.709198,33.699289],[-94.484149,33.648434]]],[[[-95.039695,29.145918],[-95.089666,29.136305],[-94.87167,29.290146],[-94.825989,29.341309],[-94.767618,29.339035],[-94.864952,29.252892],[-95.039695,29.145918]]],[[[-96.7644,28.152567],[-96.801116,28.148414],[-96.755611,28.202434],[-96.68164,28.229702],[-96.519322,28.333468],[-96.453124,28.340598],[-96.418633,28.376325],[-96.403565,28.381577],[-96.413332,28.337807],[-96.543893,28.275592],[-96.7644,28.152567]]],[[[-97.014355,27.901628],[-97.036009,27.899178],[-96.987642,27.981026],[-96.978672,28.013842],[-96.899301,28.117454],[-96.857416,28.132912],[-96.839766,28.088802],[-96.92134,28.01604],[-97.014355,27.901628]]],[[[-97.353613,27.300061],[-97.384825,27.242525],[-97.376223,27.328252],[-97.29504,27.523072],[-97.130008,27.77913],[-97.060558,27.822021],[-97.250907,27.541189],[-97.353613,27.300061]]],[[[-97.170702,26.159383],[-97.184501,26.112933],[-97.267316,26.329759],[-97.402085,26.820507],[-97.407177,27.100208],[-97.38599,27.196503],[-97.351235,26.801468],[-97.202227,26.299788],[-97.170702,26.159383]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"USA-3526","diss_me":3526,"iso_3166_2":"US-UT","wikipedia":"http://en.wikipedia.org/wiki/Utah","iso_a2":"US","adm0_sr":1,"name":"Utah","name_alt":"UT","name_local":null,"type":"State","type_en":"State","code_local":"US49","code_hasc":"US.UT","note":null,"hasc_maybe":null,"region":"West","region_cod":null,"provnum_ne":0,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":"Utah","postal":"UT","area_sqkm":0,"sameascity":-99,"labelrank":0,"name_len":4,"mapcolor9":1,"mapcolor13":1,"fips":"US49","fips_alt":null,"woe_id":2347603,"woe_label":"Utah, US, United States","woe_name":"Utah","latitude":39.5007,"longitude":-111.544,"sov_a3":"US1","adm0_a3":"USA","adm0_label":2,"admin":"United States of America","geonunit":"United States of America","gu_a3":"USA","gn_id":5549030,"gn_name":"Utah","gns_id":-1,"gns_name":null,"gn_level":1,"gn_region":null,"gn_a1_code":"US.UT","region_sub":"Mountain","sub_code":null,"gns_level":-1,"gns_lang":null,"gns_adm1":null,"gns_region":null,"min_label":3.5,"max_label":7.5,"min_zoom":2,"wikidataid":"Q829","name_ar":"يوتا","name_bn":"ইউটা","name_de":"Utah","name_en":"Utah","name_es":"Utah","name_fr":"Utah","name_el":"Γιούτα","name_hi":"यूटाह","name_hu":"Utah","name_id":"Utah","name_it":"Utah","name_ja":"ユタ州","name_ko":"유타","name_nl":"Utah","name_pl":"Utah","name_pt":"Utah","name_ru":"Юта","name_sv":"Utah","name_tr":"Utah","name_vi":"Utah","name_zh":"犹他州","ne_id":1159315349,"name_he":"יוטה","name_uk":"Юта","name_ur":"یوٹاہ","name_fa":"یوتا","name_zht":"猶他州","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[-114.042593,37.000846,-109.04639,42.001109],"geometry":{"type":"Polygon","coordinates":[[[-109.04667,37.000846],[-109.35877,37.001055],[-109.67087,37.001252],[-109.982969,37.001461],[-110.295069,37.00167],[-110.607168,37.001879],[-110.919268,37.002087],[-111.231373,37.002285],[-111.543473,37.002494],[-111.855572,37.002703],[-112.167672,37.002911],[-112.479772,37.00312],[-112.791871,37.003318],[-113.103971,37.003527],[-113.41607,37.003735],[-113.72817,37.003944],[-114.04027,37.004153],[-114.040347,37.160312],[-114.040396,37.316461],[-114.040473,37.472599],[-114.040555,37.628759],[-114.040632,37.784929],[-114.040709,37.941067],[-114.040786,38.097205],[-114.040863,38.253375],[-114.04094,38.409546],[-114.041017,38.565684],[-114.041072,38.721821],[-114.041149,38.877992],[-114.041226,39.034152],[-114.041275,39.190322],[-114.041352,39.346493],[-114.041429,39.502631],[-114.041511,39.658768],[-114.041588,39.814939],[-114.041637,39.971099],[-114.041714,40.127269],[-114.041791,40.283429],[-114.041846,40.439578],[-114.041923,40.595715],[-114.042,40.751875],[-114.042077,40.908046],[-114.042154,41.064183],[-114.042231,41.220321],[-114.042308,41.376492],[-114.04239,41.532662],[-114.042467,41.6888],[-114.042516,41.844938],[-114.042593,42.001109],[-113.855551,42.001109],[-113.668536,42.001076],[-113.481516,42.001054],[-113.294501,42.001054],[-113.107481,42.001054],[-112.920466,42.001032],[-112.733451,42.000999],[-112.546431,42.000999],[-112.359416,42.000999],[-112.172396,42.000977],[-111.985381,42.000955],[-111.798367,42.000955],[-111.611346,42.000922],[-111.424331,42.0009],[-111.237311,42.0009],[-111.050296,42.000878],[-111.050247,41.875897],[-111.05022,41.750884],[-111.050192,41.625881],[-111.050143,41.500879],[-111.050088,41.375877],[-111.050066,41.250863],[-111.050038,41.125861],[-111.049989,41.000858],[-110.799539,41.000858],[-110.549089,41.000858],[-110.298639,41.000858],[-110.048189,41.000858],[-109.79774,41.000858],[-109.54729,41.000858],[-109.29684,41.000858],[-109.04639,41.000858],[-109.046412,40.750842],[-109.04644,40.500859],[-109.04644,40.250877],[-109.046467,40.000872],[-109.046489,39.750856],[-109.046489,39.50084],[-109.046516,39.250835],[-109.046544,39.000819],[-109.046544,38.750869],[-109.046566,38.500853],[-109.046593,38.250848],[-109.046593,38.000833],[-109.046621,37.750828],[-109.046648,37.500834],[-109.046648,37.250851],[-109.04667,37.000846]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"USA-3552","diss_me":3552,"iso_3166_2":"US-VA","wikipedia":"http://en.wikipedia.org/wiki/Virginia","iso_a2":"US","adm0_sr":6,"name":"Virginia","name_alt":"VA","name_local":null,"type":"State","type_en":"State","code_local":"US51","code_hasc":"US.VA","note":null,"hasc_maybe":null,"region":"South","region_cod":null,"provnum_ne":0,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":"Va.","postal":"VA","area_sqkm":0,"sameascity":-99,"labelrank":0,"name_len":8,"mapcolor9":1,"mapcolor13":1,"fips":"US51","fips_alt":null,"woe_id":2347605,"woe_label":"Virginia, US, United States","woe_name":"Virginia","latitude":37.7403,"longitude":-78.2431,"sov_a3":"US1","adm0_a3":"USA","adm0_label":2,"admin":"United States of America","geonunit":"United States of America","gu_a3":"USA","gn_id":6254928,"gn_name":"Virginia","gns_id":-1,"gns_name":null,"gn_level":1,"gn_region":null,"gn_a1_code":"US.VA","region_sub":"South Atlantic","sub_code":null,"gns_level":-1,"gns_lang":null,"gns_adm1":null,"gns_region":null,"min_label":3.5,"max_label":7.5,"min_zoom":2,"wikidataid":"Q1370","name_ar":"فرجينيا","name_bn":"ভার্জিনিয়া","name_de":"Virginia","name_en":"Virginia","name_es":"Virginia","name_fr":"Virginie","name_el":"Βιρτζίνια","name_hi":"वर्जीनिया","name_hu":"Virginia","name_id":"Virginia","name_it":"Virginia","name_ja":"バージニア州","name_ko":"버지니아","name_nl":"Virginia","name_pl":"Wirginia","name_pt":"Virgínia","name_ru":"Виргиния","name_sv":"Virginia","name_tr":"Virjinya","name_vi":"Virginia","name_zh":"弗吉尼亚州","ne_id":1159315259,"name_he":"וירג'יניה","name_uk":"Вірджинія","name_ur":"ورجینیا","name_fa":"ویرجینیا","name_zht":"維吉尼亞州","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[-83.667521,36.550505,-75.225791,39.451852],"geometry":{"type":"MultiPolygon","coordinates":[[[[-77.122053,38.943536],[-77.101827,38.935967],[-77.053048,38.915302],[-77.030361,38.889253],[-77.045599,38.775797],[-77.091906,38.719547],[-77.164669,38.67658],[-77.260393,38.599994],[-77.283805,38.52922],[-77.313698,38.396626],[-77.273258,38.351769],[-77.231916,38.340035],[-77.109913,38.370138],[-77.046764,38.35668],[-76.906336,38.197048],[-76.644873,38.133954],[-76.549511,38.094502],[-76.471761,38.011171],[-76.354944,37.963215],[-76.264284,37.893551],[-76.261801,37.848079],[-76.293222,37.794333],[-76.305626,37.721571],[-76.344144,37.675681],[-76.436616,37.670419],[-76.492481,37.682218],[-76.792804,37.937991],[-76.828641,37.961512],[-76.939977,38.095458],[-77.070637,38.167209],[-77.1111,38.165682],[-76.925123,38.033022],[-76.849175,37.940243],[-76.715416,37.810176],[-76.619835,37.75509],[-76.549457,37.669144],[-76.484055,37.628868],[-76.305571,37.571509],[-76.367633,37.530288],[-76.268569,37.495154],[-76.254408,37.430631],[-76.263482,37.357023],[-76.400987,37.386147],[-76.405459,37.331908],[-76.393132,37.299949],[-76.45393,37.273538],[-76.538393,37.309353],[-76.757691,37.505437],[-76.755879,37.479213],[-76.738103,37.44877],[-76.610903,37.322581],[-76.497392,37.246874],[-76.401119,37.212695],[-76.326939,37.14926],[-76.300759,37.110885],[-76.283302,37.052679],[-76.338277,37.013118],[-76.400888,36.991332],[-76.462016,37.030784],[-76.506852,37.072312],[-76.602301,37.142844],[-76.630898,37.221704],[-76.703507,37.217672],[-77.006971,37.31767],[-77.25089,37.329194],[-77.22706,37.309067],[-77.196211,37.295708],[-77.001961,37.271055],[-76.925167,37.225011],[-76.765415,37.184142],[-76.671855,37.172947],[-76.633919,37.047428],[-76.504632,36.96102],[-76.487856,36.897025],[-76.399548,36.88984],[-76.244256,36.952627],[-76.144006,36.93061],[-75.999415,36.912659],[-75.966335,36.861957],[-75.941561,36.76553],[-75.890431,36.657018],[-75.857428,36.550582],[-75.889057,36.550505],[-75.966445,36.551362],[-76.214824,36.552889],[-76.576615,36.555702],[-76.938395,36.558514],[-77.300185,36.561338],[-77.661976,36.56415],[-78.023756,36.566963],[-78.385547,36.569753],[-78.747337,36.572577],[-79.109117,36.575389],[-79.470908,36.57818],[-79.832688,36.580992],[-80.194479,36.583816],[-80.556269,36.586628],[-80.918049,36.589452],[-81.27984,36.592264],[-81.641631,36.595077],[-81.65889,36.610579],[-81.800713,36.615182],[-81.905336,36.618544],[-81.952511,36.598021],[-82.162185,36.598856],[-82.329386,36.599548],[-82.611779,36.600713],[-82.955837,36.60213],[-83.440763,36.604119],[-83.667521,36.60503],[-83.566183,36.652623],[-83.41689,36.681012],[-83.150218,36.762333],[-83.043816,36.845554],[-82.894501,36.906374],[-82.832021,36.979269],[-82.731892,37.048076],[-82.69489,37.126156],[-82.681586,37.13812],[-82.516505,37.208839],[-82.343207,37.296927],[-81.965277,37.539725],[-81.957707,37.507634],[-81.971396,37.47306],[-81.939382,37.432598],[-81.913059,37.368965],[-81.87564,37.329612],[-81.829266,37.298597],[-81.752164,37.270769],[-81.660769,37.221759],[-81.589017,37.20807],[-81.564836,37.209795],[-81.485537,37.257003],[-81.419366,37.282272],[-81.350043,37.333688],[-81.227128,37.263276],[-81.178118,37.263331],[-81.057345,37.293719],[-80.94368,37.301904],[-80.915369,37.311363],[-80.873071,37.34062],[-80.871852,37.399419],[-80.862425,37.414569],[-80.843485,37.421721],[-80.821084,37.423094],[-80.77003,37.401594],[-80.719845,37.401023],[-80.507402,37.469061],[-80.491417,37.46392],[-80.464512,37.432729],[-80.371183,37.472599],[-80.316075,37.5097],[-80.291971,37.565895],[-80.245818,37.620782],[-80.255376,37.645271],[-80.285303,37.677054],[-80.245928,37.751025],[-80.188074,37.824227],[-79.971731,38.046151],[-79.902693,38.180745],[-79.812879,38.267042],[-79.783447,38.336036],[-79.715255,38.404042],[-79.668651,38.54426],[-79.639603,38.572451],[-79.597745,38.577131],[-79.555272,38.559377],[-79.524675,38.533461],[-79.504834,38.49135],[-79.395871,38.454392],[-79.304169,38.449899],[-79.240272,38.476519],[-79.20294,38.525814],[-79.152502,38.618319],[-79.104239,38.672932],[-79.073313,38.741948],[-79.041189,38.789673],[-78.991992,38.819699],[-78.868725,38.817941],[-78.805499,38.860183],[-78.756786,38.908215],[-78.727309,38.923882],[-78.692757,38.921652],[-78.581477,38.999017],[-78.435238,39.160758],[-78.403707,39.262645],[-78.365782,39.335847],[-78.35105,39.410928],[-78.322221,39.451852],[-78.193,39.370388],[-78.118348,39.323334],[-77.948598,39.216316],[-77.835791,39.145212],[-77.791758,39.226621],[-77.726642,39.346438],[-77.668821,39.309535],[-77.53415,39.265612],[-77.478856,39.220864],[-77.502938,39.175282],[-77.506454,39.14262],[-77.480921,39.112957],[-77.301086,39.053378],[-77.1903,38.969047],[-77.122053,38.943536]]],[[[-75.659256,37.953965],[-75.620002,37.999207],[-75.469424,38.014939],[-75.375963,38.024991],[-75.59636,37.631187],[-75.587109,37.558721],[-75.631549,37.535331],[-75.69884,37.516368],[-75.766867,37.473005],[-75.812054,37.425215],[-75.854,37.296642],[-75.934376,37.151897],[-75.984507,37.212201],[-75.997372,37.263826],[-75.975047,37.398441],[-75.888156,37.619156],[-75.792367,37.756354],[-75.719351,37.821382],[-75.659256,37.953965]]],[[[-75.252476,38.03745],[-75.225791,38.040339],[-75.225846,38.040262],[-75.33305,37.888278],[-75.378545,37.872051],[-75.252476,38.03745]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"USA-3540","diss_me":3540,"iso_3166_2":"US-VT","wikipedia":"http://en.wikipedia.org/wiki/Vermont","iso_a2":"US","adm0_sr":1,"name":"Vermont","name_alt":"VT","name_local":null,"type":"State","type_en":"State","code_local":"US50","code_hasc":"US.VT","note":null,"hasc_maybe":null,"region":"Northeast","region_cod":null,"provnum_ne":0,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":"Vt.","postal":"VT","area_sqkm":0,"sameascity":-99,"labelrank":0,"name_len":7,"mapcolor9":1,"mapcolor13":1,"fips":"US50","fips_alt":null,"woe_id":2347604,"woe_label":"Vermont, US, United States","woe_name":"Vermont","latitude":44.0886,"longitude":-72.7317,"sov_a3":"US1","adm0_a3":"USA","adm0_label":2,"admin":"United States of America","geonunit":"United States of America","gu_a3":"USA","gn_id":5242283,"gn_name":"Vermont","gns_id":-1,"gns_name":null,"gn_level":1,"gn_region":null,"gn_a1_code":"US.VT","region_sub":"New England","sub_code":null,"gns_level":-1,"gns_lang":null,"gns_adm1":null,"gns_region":null,"min_label":3.5,"max_label":7.5,"min_zoom":2,"wikidataid":"Q16551","name_ar":"فيرمونت","name_bn":"ভার্মন্ট","name_de":"Vermont","name_en":"Vermont","name_es":"Vermont","name_fr":"Vermont","name_el":"Βερμόντ","name_hi":"वर्मांट","name_hu":"Vermont","name_id":"Vermont","name_it":"Vermont","name_ja":"バーモント州","name_ko":"버몬트","name_nl":"Vermont","name_pl":"Vermont","name_pt":"Vermont","name_ru":"Вермонт","name_sv":"Vermont","name_tr":"Vermont","name_vi":"Vermont","name_zh":"佛蒙特州","ne_id":1159315305,"name_he":"ורמונט","name_uk":"Вермонт","name_ur":"ورمونٹ","name_fa":"ورمونت","name_zht":"佛蒙特州","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[-73.426131,42.730315,-71.510225,45.007561],"geometry":{"type":"Polygon","coordinates":[[[-73.352182,45.005419],[-73.182015,45.005628],[-72.765886,45.006111],[-72.349768,45.006605],[-71.933638,45.007067],[-71.51752,45.007561],[-71.533483,44.987973],[-71.510225,44.908344],[-71.62066,44.771894],[-71.618287,44.727761],[-71.568442,44.607637],[-71.571496,44.579193],[-71.5878,44.565263],[-71.609289,44.514055],[-71.638205,44.481679],[-71.683007,44.45028],[-71.825511,44.37409],[-71.867677,44.354918],[-72.001776,44.329496],[-72.031208,44.300734],[-72.062233,44.11635],[-72.106212,44.013079],[-72.114924,43.965431],[-72.173855,43.884088],[-72.222381,43.790869],[-72.296693,43.714954],[-72.337672,43.621988],[-72.362369,43.586645],[-72.384957,43.52923],[-72.407072,43.332036],[-72.438186,43.224645],[-72.473715,43.038537],[-72.496479,42.991669],[-72.519419,42.966675],[-72.549807,42.886684],[-72.552806,42.856449],[-72.539622,42.829632],[-72.483658,42.766174],[-72.46686,42.730315],[-72.565177,42.733051],[-72.663493,42.735786],[-72.761777,42.738533],[-72.860094,42.741268],[-72.95841,42.744004],[-73.056694,42.74674],[-73.155011,42.749486],[-73.253327,42.752222],[-73.2802,42.813152],[-73.266555,42.864777],[-73.264544,42.93521],[-73.26193,43.027067],[-73.259084,43.127855],[-73.255239,43.265371],[-73.252657,43.357195],[-73.250328,43.439669],[-73.247098,43.553048],[-73.30616,43.616253],[-73.330484,43.62669],[-73.349238,43.620384],[-73.391436,43.578526],[-73.40495,43.578811],[-73.415925,43.589644],[-73.413365,43.627854],[-73.375847,43.762184],[-73.374968,43.804152],[-73.38301,43.875827],[-73.424945,44.038292],[-73.426131,44.074855],[-73.409751,44.131413],[-73.38112,44.187432],[-73.331825,44.244583],[-73.320915,44.268874],[-73.324639,44.36786],[-73.309753,44.45964],[-73.372078,44.597332],[-73.348568,44.775299],[-73.365805,44.860366],[-73.345052,44.938864],[-73.352182,45.005419]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"USA-3519","diss_me":3519,"iso_3166_2":"US-WA","wikipedia":"http://en.wikipedia.org/wiki/Washington_(state)","iso_a2":"US","adm0_sr":6,"name":"Washington","name_alt":"WA|Wash.","name_local":null,"type":"State","type_en":"State","code_local":"US53","code_hasc":"US.WA","note":null,"hasc_maybe":null,"region":"West","region_cod":null,"provnum_ne":0,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":"Wash.","postal":"WA","area_sqkm":0,"sameascity":-99,"labelrank":0,"name_len":10,"mapcolor9":1,"mapcolor13":1,"fips":"US53","fips_alt":null,"woe_id":2347606,"woe_label":"Washington, US, United States","woe_name":"Washington","latitude":47.4865,"longitude":-120.361,"sov_a3":"US1","adm0_a3":"USA","adm0_label":2,"admin":"United States of America","geonunit":"United States of America","gu_a3":"USA","gn_id":5815135,"gn_name":"Washington","gns_id":-1,"gns_name":null,"gn_level":1,"gn_region":null,"gn_a1_code":"US.WA","region_sub":"Pacific","sub_code":null,"gns_level":-1,"gns_lang":null,"gns_adm1":null,"gns_region":null,"min_label":3.5,"max_label":7.5,"min_zoom":2,"wikidataid":"Q1223","name_ar":"واشنطن","name_bn":"ওয়াশিংটন","name_de":"Washington","name_en":"Washington","name_es":"Washington","name_fr":"Washington","name_el":"Ουάσινγκτον","name_hi":"वॉशिंगटन राज्य","name_hu":"Washington","name_id":"Washington","name_it":"Washington","name_ja":"ワシントン州","name_ko":"워싱턴","name_nl":"Washington","name_pl":"Waszyngton","name_pt":"Washington","name_ru":"Вашингтон","name_sv":"Washington","name_tr":"Vaşington","name_vi":"Washington","name_zh":"华盛顿州","ne_id":1159309547,"name_he":"וושינגטון","name_uk":"Вашингтон","name_ur":"ریاست واشنگٹن","name_fa":"ایالت واشینگتن","name_zht":"華盛頓州","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[-124.709978,45.591067,-116.896479,48.993083],"geometry":{"type":"MultiPolygon","coordinates":[[[[-122.788777,48.993028],[-122.686384,48.993028],[-122.259999,48.993028],[-121.83362,48.993028],[-121.407235,48.993028],[-120.980855,48.993028],[-120.55447,48.993028],[-120.128091,48.993028],[-119.701706,48.993028],[-119.275321,48.993061],[-118.848942,48.993083],[-118.422557,48.993083],[-117.996177,48.993083],[-117.569793,48.993083],[-117.143413,48.993083],[-117.039054,48.993083],[-117.037373,48.83366],[-117.036544,48.673359],[-117.03572,48.513057],[-117.034918,48.352756],[-117.034116,48.192454],[-117.033292,48.032163],[-117.032462,47.871862],[-117.031638,47.71156],[-117.030809,47.551259],[-117.029985,47.390957],[-117.029155,47.230656],[-117.028331,47.070354],[-117.027502,46.910053],[-117.026678,46.749751],[-117.025848,46.589461],[-117.025046,46.429159],[-117.032462,46.419755],[-117.038999,46.396552],[-117.010396,46.329623],[-116.942962,46.232108],[-116.92211,46.163642],[-116.947845,46.124322],[-116.930196,46.055954],[-116.896479,46.002099],[-117.14432,46.002253],[-117.409755,46.002022],[-117.675217,46.001791],[-117.940653,46.001538],[-118.206088,46.001275],[-118.47155,46.001044],[-118.736986,46.000813],[-119.002421,46.00055],[-119.01968,46.000341],[-119.049909,45.981488],[-119.177345,45.94508],[-119.429113,45.93417],[-119.934276,45.837875],[-120.156046,45.762168],[-120.351432,45.725166],[-120.715777,45.689823],[-121.045241,45.639044],[-121.184278,45.64378],[-121.242698,45.687033],[-121.402121,45.71184],[-121.662519,45.718135],[-121.882014,45.689461],[-122.085124,45.602647],[-122.149905,45.593858],[-122.149927,45.593759],[-122.202535,45.591067],[-122.560964,45.62507],[-122.649849,45.627443],[-122.725913,45.67375],[-122.74643,45.749688],[-122.843373,45.978094],[-122.941997,46.114862],[-123.042275,46.160027],[-123.120904,46.178781],[-123.220589,46.153622],[-123.251334,46.167256],[-123.298696,46.170849],[-123.404736,46.221001],[-123.464859,46.271099],[-123.65033,46.267715],[-123.688365,46.299861],[-123.895715,46.26777],[-123.959743,46.30074],[-124.07276,46.279449],[-124.045135,46.372876],[-124.050172,46.490551],[-124.04436,46.605061],[-124.016405,46.521368],[-123.946126,46.432565],[-123.912381,46.533332],[-123.889151,46.660015],[-123.957727,46.708695],[-124.0717,46.744796],[-124.112547,46.862669],[-123.842876,46.963183],[-123.986017,46.984496],[-124.042218,47.029683],[-124.111695,47.035187],[-124.116787,47.000338],[-124.139238,46.954701],[-124.163551,47.015324],[-124.170505,47.086691],[-124.19885,47.20854],[-124.309279,47.404602],[-124.376021,47.658639],[-124.460044,47.784213],[-124.621071,47.904129],[-124.663083,47.974123],[-124.701661,48.15164],[-124.67998,48.285893],[-124.709978,48.380375],[-124.632618,48.375036],[-124.429041,48.300768],[-124.175515,48.242431],[-124.098775,48.200002],[-123.975761,48.168482],[-123.294433,48.119549],[-123.249911,48.124196],[-123.161883,48.154551],[-123.124392,48.150915],[-123.024219,48.081613],[-122.973885,48.073296],[-122.908901,48.076889],[-122.860891,48.090039],[-122.778598,48.137577],[-122.767512,48.12001],[-122.769089,48.075977],[-122.739739,48.013245],[-122.679485,47.931803],[-122.656644,47.881134],[-122.778444,47.738433],[-122.801773,47.735335],[-122.805366,47.783642],[-122.821384,47.793156],[-123.050647,47.551929],[-123.131034,47.437726],[-123.139043,47.386101],[-123.136356,47.355823],[-123.10421,47.348374],[-123.03091,47.360185],[-122.922156,47.407646],[-122.916883,47.417984],[-123.01822,47.401065],[-123.066775,47.399637],[-123.060133,47.453645],[-123.048636,47.47932],[-122.98246,47.559367],[-122.912906,47.607355],[-122.814051,47.65854],[-122.757152,47.70053],[-122.717876,47.762098],[-122.608145,47.835475],[-122.587913,47.855943],[-122.592665,47.916401],[-122.585716,47.927881],[-122.532801,47.919707],[-122.510811,47.815733],[-122.523913,47.769338],[-122.618428,47.712802],[-122.630183,47.692796],[-122.613621,47.615617],[-122.628272,47.608157],[-122.66429,47.617254],[-122.67548,47.612343],[-122.585821,47.528418],[-122.557448,47.463203],[-122.553548,47.40491],[-122.577888,47.29319],[-122.603904,47.274612],[-122.648657,47.281457],[-122.707697,47.316393],[-122.720876,47.305121],[-122.767798,47.218362],[-122.7833,47.225954],[-122.812551,47.328951],[-122.828465,47.336597],[-122.919519,47.289674],[-122.956186,47.244554],[-122.987629,47.172571],[-123.027575,47.138909],[-122.914147,47.131493],[-122.811958,47.146006],[-122.729868,47.111806],[-122.701935,47.110872],[-122.627058,47.144259],[-122.60414,47.167023],[-122.542177,47.275568],[-122.51107,47.294992],[-122.464872,47.295827],[-122.420119,47.312098],[-122.353817,47.371578],[-122.351131,47.39522],[-122.375262,47.528363],[-122.368341,47.603916],[-122.380744,47.627845],[-122.410506,47.652652],[-122.406787,47.676778],[-122.383634,47.716471],[-122.38198,47.752331],[-122.401827,47.784268],[-122.392884,47.820545],[-122.330306,47.898625],[-122.318474,47.933045],[-122.242014,48.010762],[-122.261268,48.042029],[-122.31749,48.080163],[-122.352965,48.113803],[-122.388649,48.166361],[-122.415802,48.183929],[-122.424695,48.17592],[-122.386633,48.08993],[-122.394774,48.084151],[-122.494019,48.130447],[-122.517013,48.159649],[-122.529159,48.199331],[-122.52032,48.229093],[-122.467042,48.258504],[-122.403376,48.269194],[-122.408545,48.293902],[-122.48841,48.374311],[-122.541661,48.41095],[-122.582591,48.428671],[-122.63778,48.433318],[-122.662483,48.446392],[-122.668993,48.465256],[-122.657265,48.490008],[-122.627964,48.497918],[-122.542694,48.487975],[-122.496754,48.505542],[-122.501094,48.537502],[-122.514816,48.555146],[-122.512723,48.669436],[-122.545122,48.762293],[-122.562024,48.777981],[-122.580163,48.779585],[-122.599438,48.767105],[-122.653024,48.763875],[-122.685944,48.794285],[-122.72248,48.85304],[-122.788777,48.993028]]],[[[-123.086435,48.993028],[-123.049202,48.993028],[-123.063259,48.977735],[-123.077316,48.980218],[-123.086435,48.993028]]],[[[-122.782141,48.672688],[-122.768831,48.650979],[-122.808958,48.629853],[-122.837611,48.626546],[-122.883089,48.660647],[-122.903034,48.664679],[-122.887016,48.61233],[-122.892542,48.594499],[-122.985668,48.6267],[-123.002851,48.652199],[-122.976676,48.679148],[-122.91802,48.706999],[-122.897711,48.710361],[-122.782141,48.672688]]],[[[-123.013134,48.500862],[-122.98675,48.468002],[-123.094444,48.489085],[-123.139922,48.507948],[-123.153435,48.52634],[-123.169585,48.586698],[-123.162141,48.606386],[-123.114186,48.613263],[-123.024164,48.538479],[-123.013134,48.500862]]],[[[-122.820923,48.431363],[-122.836578,48.421541],[-122.890037,48.43467],[-122.921612,48.456939],[-122.932285,48.484745],[-122.912235,48.537963],[-122.885517,48.551608],[-122.868905,48.548609],[-122.861902,48.501851],[-122.814616,48.452336],[-122.820923,48.431363]]],[[[-122.572769,48.15665],[-122.523836,48.02544],[-122.502852,48.080064],[-122.366737,47.985439],[-122.366583,47.938835],[-122.383145,47.923201],[-122.41144,47.917752],[-122.437588,47.931342],[-122.461615,47.963993],[-122.492261,47.981308],[-122.557525,47.99247],[-122.591347,48.029626],[-122.603184,48.055048],[-122.60631,48.12859],[-122.622663,48.151431],[-122.657265,48.156496],[-122.690388,48.173854],[-122.741519,48.22527],[-122.748704,48.239025],[-122.724517,48.280927],[-122.668993,48.350998],[-122.628634,48.384231],[-122.60352,48.380617],[-122.572461,48.359578],[-122.535564,48.321214],[-122.542436,48.294001],[-122.692146,48.24109],[-122.697002,48.228687],[-122.624394,48.213746],[-122.597625,48.200419],[-122.572769,48.15665]]],[[[-122.497271,47.594589],[-122.502649,47.57544],[-122.557838,47.598313],[-122.575922,47.619473],[-122.573752,47.666857],[-122.560113,47.697762],[-122.549774,47.703958],[-122.517216,47.690577],[-122.507867,47.682644],[-122.497271,47.594589]]],[[[-122.394126,47.395242],[-122.398723,47.372511],[-122.437121,47.354812],[-122.456962,47.359328],[-122.458203,47.386156],[-122.468542,47.390232],[-122.509932,47.357987],[-122.506834,47.421675],[-122.486471,47.48878],[-122.468591,47.489966],[-122.442081,47.446153],[-122.394126,47.395242]]],[[[-122.85309,47.204717],[-122.862627,47.185074],[-122.876733,47.186117],[-122.907973,47.226108],[-122.9119,47.25432],[-122.885105,47.274711],[-122.84919,47.216297],[-122.85309,47.204717]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"USA-3553","diss_me":3553,"iso_3166_2":"US-WI","wikipedia":"http://en.wikipedia.org/wiki/Wisconsin","iso_a2":"US","adm0_sr":1,"name":"Wisconsin","name_alt":"WI|Wis.","name_local":null,"type":"State","type_en":"State","code_local":"US55","code_hasc":"US.WI","note":null,"hasc_maybe":null,"region":"Midwest","region_cod":null,"provnum_ne":0,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":"Wis.","postal":"WI","area_sqkm":0,"sameascity":-99,"labelrank":0,"name_len":9,"mapcolor9":1,"mapcolor13":1,"fips":"US55","fips_alt":null,"woe_id":2347608,"woe_label":"Wisconsin, US, United States","woe_name":"Wisconsin","latitude":44.3709,"longitude":-89.5831,"sov_a3":"US1","adm0_a3":"USA","adm0_label":2,"admin":"United States of America","geonunit":"United States of America","gu_a3":"USA","gn_id":5279468,"gn_name":"Wisconsin","gns_id":-1,"gns_name":null,"gn_level":1,"gn_region":null,"gn_a1_code":"US.WI","region_sub":"East North Central","sub_code":null,"gns_level":-1,"gns_lang":null,"gns_adm1":null,"gns_region":null,"min_label":3.5,"max_label":7.5,"min_zoom":2,"wikidataid":"Q1537","name_ar":"ويسكونسن","name_bn":"উইসকনসিন","name_de":"Wisconsin","name_en":"Wisconsin","name_es":"Wisconsin","name_fr":"Wisconsin","name_el":"Ουισκόνσιν","name_hi":"विस्कॉन्सिन","name_hu":"Wisconsin","name_id":"Wisconsin","name_it":"Wisconsin","name_ja":"ウィスコンシン州","name_ko":"위스콘신","name_nl":"Wisconsin","name_pl":"Wisconsin","name_pt":"Wisconsin","name_ru":"Висконсин","name_sv":"Wisconsin","name_tr":"Wisconsin","name_vi":"Wisconsin","name_zh":"威斯康星州","ne_id":1159315321,"name_he":"ויסקונסין","name_uk":"Вісконсин","name_ur":"وسکونسن","name_fa":"ویسکانسین","name_zht":"威斯康辛州","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[-92.89652,42.497113,-86.856592,47.071143],"geometry":{"type":"MultiPolygon","coordinates":[[[[-90.650585,42.512984],[-90.657331,42.520509],[-90.687873,42.610322],[-90.788749,42.676933],[-90.959949,42.72034],[-91.069582,42.788554],[-91.117592,42.881652],[-91.148156,42.986209],[-91.161328,43.102334],[-91.147585,43.199585],[-91.106968,43.278028],[-91.117196,43.331157],[-91.178357,43.358931],[-91.218688,43.395285],[-91.238277,43.440241],[-91.245253,43.502412],[-91.278432,43.797428],[-91.319916,43.936284],[-91.382692,43.990799],[-91.514846,44.054212],[-91.716435,44.126458],[-91.840976,44.194156],[-91.912299,44.288869],[-92.055121,44.39982],[-92.148582,44.445248],[-92.240307,44.462145],[-92.313091,44.497796],[-92.366941,44.552266],[-92.441587,44.586576],[-92.537031,44.600792],[-92.643538,44.645342],[-92.769809,44.72585],[-92.7726,44.732002],[-92.799214,44.790032],[-92.784668,44.822563],[-92.763404,44.934261],[-92.765212,44.96945],[-92.79304,45.071359],[-92.759059,45.11058],[-92.76614,45.236461],[-92.753918,45.277572],[-92.685808,45.380536],[-92.682605,45.433095],[-92.707022,45.493761],[-92.757461,45.543244],[-92.892488,45.594759],[-92.89652,45.658578],[-92.874712,45.706094],[-92.786448,45.795501],[-92.738081,45.874668],[-92.693949,45.909012],[-92.424613,46.027807],[-92.367276,46.035981],[-92.325473,46.069588],[-92.292629,46.084375],[-92.292371,46.22845],[-92.29214,46.372547],[-92.291904,46.516643],[-92.291646,46.660718],[-92.224003,46.671023],[-92.194549,46.706971],[-92.125346,46.763012],[-92.10698,46.762377],[-92.107031,46.761865],[-92.072803,46.736182],[-91.987305,46.698975],[-91.920801,46.694434],[-91.835645,46.7021],[-91.499072,46.766113],[-91.356982,46.810742],[-91.217627,46.885645],[-91.203369,46.888037],[-91.14541,46.874316],[-91.127246,46.867676],[-90.946045,46.95376],[-90.88667,46.964795],[-90.839941,46.962451],[-90.781934,46.928711],[-90.768359,46.908008],[-90.787695,46.868408],[-90.839893,46.809961],[-90.865332,46.760693],[-90.863916,46.720801],[-90.886426,46.67749],[-90.943506,46.618994],[-90.922998,46.603076],[-90.769971,46.64541],[-90.747559,46.661865],[-90.74502,46.67168],[-90.754346,46.683545],[-90.736816,46.688867],[-90.616504,46.631348],[-90.536133,46.599365],[-90.468848,46.584131],[-90.407613,46.592949],[-90.412588,46.585275],[-90.39234,46.548965],[-90.34088,46.558446],[-90.318227,46.536639],[-90.28786,46.527388],[-90.23038,46.509766],[-90.20242,46.467754],[-90.174459,46.425721],[-90.14651,46.383676],[-90.11855,46.341664],[-89.993646,46.317582],[-89.868754,46.293555],[-89.743839,46.269473],[-89.618925,46.245446],[-89.493988,46.221364],[-89.369085,46.197337],[-89.244181,46.173255],[-89.119289,46.149195],[-89.0488,46.121059],[-88.978312,46.092901],[-88.907824,46.064765],[-88.837335,46.036618],[-88.727241,46.031114],[-88.62954,46.014041],[-88.492991,46.013524],[-88.35475,45.992288],[-88.151745,45.945409],[-88.104415,45.905155],[-88.096483,45.878415],[-88.116116,45.815804],[-87.922537,45.759971],[-87.839832,45.717981],[-87.809081,45.686044],[-87.814091,45.657029],[-87.794557,45.596033],[-87.814662,45.563239],[-87.815178,45.505824],[-87.859135,45.445498],[-87.874032,45.412814],[-87.874911,45.385392],[-87.86543,45.367825],[-87.84182,45.360794],[-87.768563,45.364364],[-87.696394,45.382832],[-87.664226,45.371286],[-87.657568,45.361804],[-87.66271,45.345193],[-87.720916,45.242768],[-87.71885,45.201272],[-87.694208,45.161073],[-87.653613,45.121797],[-87.605843,45.108554],[-87.607764,45.082666],[-87.627002,45.032275],[-87.683203,44.992627],[-87.830273,44.94248],[-87.853564,44.908301],[-87.856787,44.880371],[-87.951562,44.763721],[-87.997803,44.692334],[-88.028271,44.61792],[-88.01875,44.571143],[-87.969238,44.552002],[-87.929004,44.559473],[-87.898242,44.593359],[-87.851074,44.624023],[-87.787549,44.651562],[-87.740918,44.692041],[-87.676611,44.790283],[-87.604395,44.846875],[-87.566016,44.850293],[-87.555371,44.848584],[-87.480176,44.874121],[-87.41958,44.865625],[-87.383105,44.8271],[-87.345605,44.800635],[-87.337305,44.77583],[-87.356055,44.720361],[-87.390527,44.661963],[-87.440869,44.600684],[-87.486523,44.508594],[-87.527441,44.385693],[-87.536133,44.292969],[-87.5125,44.230273],[-87.534912,44.174268],[-87.603418,44.124951],[-87.658496,44.059033],[-87.700146,43.976611],[-87.723828,43.907275],[-87.729395,43.851172],[-87.723389,43.809082],[-87.697949,43.752441],[-87.699707,43.72373],[-87.774023,43.598877],[-87.800879,43.538086],[-87.805566,43.490088],[-87.823926,43.443018],[-87.880713,43.347021],[-87.898389,43.293799],[-87.90166,43.244922],[-87.888818,43.164551],[-87.896094,43.137402],[-87.892773,43.116895],[-87.878857,43.103125],[-87.879004,43.077832],[-87.893408,43.041113],[-87.887744,43.012451],[-87.862061,42.991992],[-87.845557,42.953076],[-87.838184,42.895654],[-87.818701,42.847705],[-87.787061,42.80918],[-87.781396,42.753418],[-87.80166,42.680371],[-87.811963,42.542969],[-87.812085,42.497113],[-87.939664,42.497822],[-88.38995,42.500305],[-88.840236,42.50281],[-89.290521,42.505315],[-89.740796,42.507798],[-90.191049,42.510303],[-90.650585,42.512984]]],[[[-90.410156,47.04375],[-90.42666,47.025879],[-90.459326,47.010107],[-90.471729,47.017529],[-90.463867,47.048291],[-90.447363,47.066162],[-90.422119,47.071143],[-90.409717,47.063672],[-90.410156,47.04375]]],[[[-90.54668,46.919287],[-90.57998,46.913525],[-90.651807,46.922266],[-90.650439,46.936768],[-90.575879,46.956982],[-90.542627,46.962744],[-90.534814,46.954297],[-90.54668,46.919287]]],[[[-90.653369,46.827686],[-90.677539,46.813037],[-90.680469,46.797803],[-90.710547,46.78335],[-90.767725,46.769775],[-90.791602,46.772314],[-90.78208,46.791064],[-90.752295,46.813623],[-90.619141,46.869971],[-90.596094,46.868848],[-90.588867,46.85542],[-90.653369,46.827686]]],[[[-87.049121,45.302881],[-87.005029,45.295801],[-86.985937,45.275195],[-86.991895,45.241016],[-87.010352,45.228174],[-87.041504,45.23667],[-87.053564,45.21792],[-87.046631,45.171875],[-87.056885,45.150537],[-87.08418,45.153955],[-87.085693,45.14541],[-87.061523,45.124902],[-87.058936,45.102441],[-87.078027,45.078125],[-87.096338,45.066748],[-87.113916,45.068457],[-87.141357,45.040674],[-87.178564,44.983398],[-87.191309,44.950244],[-87.179492,44.941064],[-87.188086,44.921973],[-87.280273,44.834863],[-87.31582,44.826562],[-87.35459,44.838818],[-87.382031,44.864258],[-87.398242,44.90293],[-87.403027,44.932861],[-87.396484,44.95415],[-87.315527,45.031104],[-87.279346,45.081494],[-87.258789,45.137988],[-87.221143,45.173975],[-87.166406,45.189502],[-87.122021,45.224512],[-87.088135,45.27915],[-87.049121,45.302881]]],[[[-86.926318,45.414941],[-86.878467,45.41416],[-86.861865,45.408594],[-86.856592,45.394385],[-86.861865,45.352246],[-86.891943,45.342285],[-86.946875,45.345703],[-86.966699,45.368311],[-86.937988,45.425586],[-86.926318,45.414941]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"USA-3554","diss_me":3554,"iso_3166_2":"US-WV","wikipedia":"http://en.wikipedia.org/wiki/West_Virginia","iso_a2":"US","adm0_sr":1,"name":"West Virginia","name_alt":"WV|W.Va.","name_local":null,"type":"State","type_en":"State","code_local":"US54","code_hasc":"US.WV","note":null,"hasc_maybe":null,"region":"South","region_cod":null,"provnum_ne":0,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":"W.Va.","postal":"WV","area_sqkm":0,"sameascity":-99,"labelrank":0,"name_len":13,"mapcolor9":1,"mapcolor13":1,"fips":"US54","fips_alt":null,"woe_id":2347607,"woe_label":"West Virginia, US, United States","woe_name":"West Virginia","latitude":38.6422,"longitude":-80.7128,"sov_a3":"US1","adm0_a3":"USA","adm0_label":2,"admin":"United States of America","geonunit":"United States of America","gu_a3":"USA","gn_id":4826850,"gn_name":"West Virginia","gns_id":-1,"gns_name":null,"gn_level":1,"gn_region":null,"gn_a1_code":"US.WV","region_sub":"South Atlantic","sub_code":null,"gns_level":-1,"gns_lang":null,"gns_adm1":null,"gns_region":null,"min_label":3.5,"max_label":7.5,"min_zoom":2,"wikidataid":"Q1371","name_ar":"فيرجينيا الغربية","name_bn":"পশ্চিম ভার্জিনিয়া","name_de":"West Virginia","name_en":"West Virginia","name_es":"Virginia Occidental","name_fr":"Virginie-Occidentale","name_el":"Δυτική Βιρτζίνια","name_hi":"पश्चिमी वर्जीनिया","name_hu":"Nyugat-Virginia","name_id":"Virginia Barat","name_it":"Virginia Occidentale","name_ja":"ウェストバージニア州","name_ko":"웨스트버지니아","name_nl":"West Virginia","name_pl":"Wirginia Zachodnia","name_pt":"Virgínia Ocidental","name_ru":"Западная Виргиния","name_sv":"West Virginia","name_tr":"Batı Virginia","name_vi":"Tây Virginia","name_zh":"西維吉尼亞州","ne_id":1159315323,"name_he":"וירג'יניה המערבית","name_uk":"Західна Вірджинія","name_ur":"مغربی ورجینیا","name_fa":"ویرجینیای غربی","name_zht":"西維吉尼亞州","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[-82.619546,37.20807,-77.726642,40.646956],"geometry":{"type":"Polygon","coordinates":[[[-81.965277,37.539725],[-82.103463,37.570575],[-82.280244,37.687184],[-82.393876,37.828314],[-82.4299,37.894177],[-82.47189,37.938408],[-82.482195,37.983551],[-82.588773,38.099742],[-82.617711,38.149873],[-82.619546,38.182008],[-82.585389,38.24273],[-82.578413,38.272085],[-82.589498,38.420345],[-82.612778,38.448218],[-82.497543,38.414973],[-82.387064,38.43399],[-82.318147,38.479672],[-82.290868,38.552017],[-82.252317,38.594083],[-82.202494,38.605839],[-82.180071,38.637589],[-82.18764,38.715208],[-82.203527,38.768228],[-82.163328,38.844912],[-82.072273,38.962949],[-82.001092,39.011102],[-81.949797,38.989327],[-81.91853,38.952347],[-81.907368,38.900239],[-81.896678,38.893549],[-81.88244,38.894219],[-81.843757,38.934319],[-81.809337,38.950029],[-81.795033,38.945942],[-81.780124,38.946975],[-81.777685,38.972793],[-81.804954,39.04405],[-81.802602,39.086062],[-81.770665,39.098828],[-81.736663,39.14663],[-81.700594,39.229467],[-81.657209,39.271973],[-81.606464,39.274137],[-81.551631,39.308041],[-81.492722,39.373618],[-81.439647,39.392559],[-81.392417,39.364829],[-81.333354,39.362819],[-81.262504,39.386538],[-81.139127,39.455994],[-80.963291,39.57113],[-80.874313,39.664294],[-80.872192,39.735508],[-80.803517,39.909136],[-80.668275,40.185244],[-80.601819,40.363893],[-80.604093,40.445203],[-80.623187,40.51156],[-80.659047,40.562976],[-80.637524,40.603263],[-80.519081,40.646956],[-80.520168,40.532149],[-80.520069,40.416473],[-80.51996,40.300798],[-80.519861,40.185145],[-80.519762,40.069492],[-80.519652,39.953839],[-80.519553,39.838186],[-80.519443,39.722511],[-80.3892,39.722533],[-80.258946,39.722588],[-80.128725,39.72261],[-79.998472,39.722643],[-79.868218,39.722687],[-79.737997,39.72272],[-79.607743,39.722742],[-79.4775,39.722797],[-79.480126,39.594817],[-79.48274,39.466837],[-79.485344,39.33889],[-79.487981,39.210911],[-79.35977,39.285354],[-79.293556,39.311578],[-79.075345,39.475989],[-79.046748,39.476791],[-78.971481,39.453643],[-78.814794,39.570087],[-78.796172,39.612626],[-78.77777,39.626622],[-78.758214,39.624766],[-78.746459,39.613702],[-78.753402,39.589522],[-78.741669,39.577898],[-78.677673,39.54952],[-78.587497,39.534436],[-78.574962,39.532854],[-78.495542,39.533348],[-78.460265,39.556134],[-78.442698,39.601464],[-78.406761,39.627864],[-78.325364,39.639213],[-78.181135,39.68574],[-78.097782,39.677885],[-78.027195,39.631226],[-77.955707,39.608803],[-77.883252,39.610714],[-77.855423,39.599706],[-77.872167,39.575778],[-77.853072,39.548334],[-77.798141,39.517275],[-77.779585,39.488337],[-77.797438,39.461465],[-77.791703,39.441777],[-77.762358,39.429242],[-77.744835,39.400106],[-77.739045,39.354337],[-77.726642,39.346438],[-77.791758,39.226621],[-77.835791,39.145212],[-77.948598,39.216316],[-78.118348,39.323334],[-78.193,39.370388],[-78.322221,39.451852],[-78.35105,39.410928],[-78.365782,39.335847],[-78.403707,39.262645],[-78.435238,39.160758],[-78.581477,38.999017],[-78.692757,38.921652],[-78.727309,38.923882],[-78.756786,38.908215],[-78.805499,38.860183],[-78.868725,38.817941],[-78.991992,38.819699],[-79.041189,38.789673],[-79.073313,38.741948],[-79.104239,38.672932],[-79.152502,38.618319],[-79.20294,38.525814],[-79.240272,38.476519],[-79.304169,38.449899],[-79.395871,38.454392],[-79.504834,38.49135],[-79.524675,38.533461],[-79.555272,38.559377],[-79.597745,38.577131],[-79.639603,38.572451],[-79.668651,38.54426],[-79.715255,38.404042],[-79.783447,38.336036],[-79.812879,38.267042],[-79.902693,38.180745],[-79.971731,38.046151],[-80.188074,37.824227],[-80.245928,37.751025],[-80.285303,37.677054],[-80.255376,37.645271],[-80.245818,37.620782],[-80.291971,37.565895],[-80.316075,37.5097],[-80.371183,37.472599],[-80.464512,37.432729],[-80.491417,37.46392],[-80.507402,37.469061],[-80.719845,37.401023],[-80.77003,37.401594],[-80.821084,37.423094],[-80.843485,37.421721],[-80.862425,37.414569],[-80.871852,37.399419],[-80.873071,37.34062],[-80.915369,37.311363],[-80.94368,37.301904],[-81.057345,37.293719],[-81.178118,37.263331],[-81.227128,37.263276],[-81.350043,37.333688],[-81.419366,37.282272],[-81.485537,37.257003],[-81.564836,37.209795],[-81.589017,37.20807],[-81.660769,37.221759],[-81.752164,37.270769],[-81.829266,37.298597],[-81.87564,37.329612],[-81.913059,37.368965],[-81.939382,37.432598],[-81.971396,37.47306],[-81.957707,37.507634],[-81.965277,37.539725]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"USA-3527","diss_me":3527,"iso_3166_2":"US-WY","wikipedia":"http://en.wikipedia.org/wiki/Wyoming","iso_a2":"US","adm0_sr":1,"name":"Wyoming","name_alt":"WY|Wyo.","name_local":null,"type":"State","type_en":"State","code_local":"US56","code_hasc":"US.WY","note":null,"hasc_maybe":null,"region":"West","region_cod":null,"provnum_ne":0,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":"Wyo.","postal":"WY","area_sqkm":0,"sameascity":-99,"labelrank":0,"name_len":7,"mapcolor9":1,"mapcolor13":1,"fips":"US56","fips_alt":null,"woe_id":2347609,"woe_label":"Wyoming, US, United States","woe_name":"Wyoming","latitude":42.9999,"longitude":-107.552,"sov_a3":"US1","adm0_a3":"USA","adm0_label":2,"admin":"United States of America","geonunit":"United States of America","gu_a3":"USA","gn_id":5843591,"gn_name":"Wyoming","gns_id":-1,"gns_name":null,"gn_level":1,"gn_region":null,"gn_a1_code":"US.WY","region_sub":"Mountain","sub_code":null,"gns_level":-1,"gns_lang":null,"gns_adm1":null,"gns_region":null,"min_label":3.5,"max_label":7.5,"min_zoom":2,"wikidataid":"Q1214","name_ar":"وايومنغ","name_bn":"ওয়াইয়োমিং","name_de":"Wyoming","name_en":"Wyoming","name_es":"Wyoming","name_fr":"Wyoming","name_el":"Ουαϊόμινγκ","name_hi":"वायोमिंग","name_hu":"Wyoming","name_id":"Wyoming","name_it":"Wyoming","name_ja":"ワイオミング州","name_ko":"와이오밍","name_nl":"Wyoming","name_pl":"Wyoming","name_pt":"Wyoming","name_ru":"Вайоминг","name_sv":"Wyoming","name_tr":"Wyoming","name_vi":"Wyoming","name_zh":"怀俄明州","ne_id":1159315351,"name_he":"ויומינג","name_uk":"Вайомінг","name_ur":"وائیومنگ","name_fa":"وایومینگ","name_zht":"懷俄明州","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[-111.051434,41.000858,-104.021655,45.001134],"geometry":{"type":"Polygon","coordinates":[[[-104.021655,41.000858],[-104.335722,41.000858],[-104.649755,41.000858],[-104.963794,41.000858],[-105.277832,41.000858],[-105.591871,41.000858],[-105.905932,41.000858],[-106.219998,41.000858],[-106.534037,41.000858],[-106.84807,41.000858],[-107.162108,41.000858],[-107.476147,41.000858],[-107.790213,41.000858],[-108.104274,41.000858],[-108.418313,41.000858],[-108.732351,41.000858],[-109.04639,41.000858],[-109.29684,41.000858],[-109.54729,41.000858],[-109.79774,41.000858],[-110.048189,41.000858],[-110.298639,41.000858],[-110.549089,41.000858],[-110.799539,41.000858],[-111.049989,41.000858],[-111.050038,41.125861],[-111.050066,41.250863],[-111.050088,41.375877],[-111.050143,41.500879],[-111.050192,41.625881],[-111.05022,41.750884],[-111.050247,41.875897],[-111.050296,42.000878],[-111.050373,42.157016],[-111.05045,42.313131],[-111.050505,42.469247],[-111.050582,42.625385],[-111.050659,42.781522],[-111.050708,42.937638],[-111.050785,43.093754],[-111.050862,43.249892],[-111.050945,43.406029],[-111.051022,43.562145],[-111.051071,43.718261],[-111.051148,43.874398],[-111.051225,44.030547],[-111.05128,44.186652],[-111.051357,44.342768],[-111.051434,44.498883],[-111.05128,44.624457],[-111.051148,44.749987],[-111.051022,44.875506],[-111.050862,45.001057],[-110.831707,45.001079],[-110.612519,45.001079],[-110.393336,45.001079],[-110.174175,45.001079],[-109.954987,45.001079],[-109.735804,45.001079],[-109.516643,45.001079],[-109.297455,45.001079],[-109.078272,45.001079],[-108.859112,45.001079],[-108.639929,45.001079],[-108.420741,45.001079],[-108.20158,45.001079],[-107.982397,45.001079],[-107.763209,45.001079],[-107.544048,45.001079],[-107.324865,45.001079],[-107.105677,45.001079],[-106.886522,45.001079],[-106.667334,45.001079],[-106.448151,45.001079],[-106.22899,45.001079],[-106.009802,45.001079],[-105.790619,45.001101],[-105.571458,45.001134],[-105.35227,45.001134],[-105.133087,45.001134],[-104.913927,45.001134],[-104.694738,45.001134],[-104.475556,45.001134],[-104.256395,45.001134],[-104.037212,45.001134],[-104.036152,44.751173],[-104.035119,44.501212],[-104.034081,44.251251],[-104.033048,44.001269],[-104.032016,43.751286],[-104.030955,43.501325],[-104.029895,43.251364],[-104.028862,43.001403],[-104.027962,42.751343],[-104.027055,42.501283],[-104.026149,42.251223],[-104.025248,42.001131],[-104.024342,41.751049],[-104.023441,41.500978],[-104.022562,41.250918],[-104.021655,41.000858]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"CHN-1150","diss_me":1150,"iso_3166_2":"CN-GS","wikipedia":null,"iso_a2":"CN","adm0_sr":1,"name":"Gansu","name_alt":"Gānsù","name_local":"甘肅|甘肃","type":"Shěng","type_en":"Province","code_local":null,"code_hasc":"CN.GS","note":null,"hasc_maybe":null,"region":"Northwest China","region_cod":"6","provnum_ne":39,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":null,"postal":"GS","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":5,"mapcolor9":4,"mapcolor13":3,"fips":"CH15","fips_alt":null,"woe_id":12578005,"woe_label":"Gansu, CN, China","woe_name":"Gansu","latitude":38.7393,"longitude":100.735,"sov_a3":"CH1","adm0_a3":"CHN","adm0_label":2,"admin":"China","geonunit":"China","gu_a3":"CHN","gn_id":1810676,"gn_name":"Gansu Sheng","gns_id":-1906131,"gns_name":"Gansu Sheng","gn_level":1,"gn_region":null,"gn_a1_code":"CN.15","region_sub":"Western","sub_code":null,"gns_level":1,"gns_lang":"zho","gns_adm1":"CH15","gns_region":null,"min_label":4.6,"max_label":10.1,"min_zoom":4.6,"wikidataid":"Q42392","name_ar":"قانسو","name_bn":"কানসু","name_de":"Gansu","name_en":"Gansu","name_es":"Gansu","name_fr":"Gansu","name_el":"Κανσού","name_hi":"गांसू","name_hu":"Kanszu","name_id":"Gansu","name_it":"Gansu","name_ja":"甘粛省","name_ko":"간쑤성","name_nl":"Gansu","name_pl":"Gansu","name_pt":"Gansu","name_ru":"Ганьсу","name_sv":"Gansu","name_tr":"Kansu","name_vi":"Cam Túc","name_zh":"甘肃省","ne_id":1159310923,"name_he":"גאנסו","name_uk":"Ґаньсу","name_ur":"گانسو","name_fa":"گانسو","name_zht":"甘肅省","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[92.772405,32.608346,108.70368,42.789792],"geometry":{"type":"Polygon","coordinates":[[[96.372543,42.730677],[96.385466,42.720338],[96.625296,42.743851],[96.832984,42.760233],[97.205674,42.789792],[97.846875,41.619269],[97.679599,41.502325],[97.647611,41.455532],[97.708486,41.349414],[97.950538,41.119816],[98.203753,40.951247],[98.293928,40.91665],[98.326536,40.855672],[98.23481,40.541686],[98.515207,40.533547],[98.645845,40.56755],[98.825679,40.726558],[99.157441,40.836319],[99.496025,40.842882],[99.664542,40.901276],[100.011188,40.89629],[100.075473,40.859005],[100.176036,40.735085],[100.203786,40.616953],[100.140017,40.518096],[100.014185,40.402495],[99.89936,40.204781],[99.627025,40.069182],[99.532509,40.000789],[99.430861,39.878806],[99.686143,39.876016],[100.043486,39.727653],[100.188851,39.69489],[100.286623,39.627349],[100.306829,39.549834],[100.454985,39.495574],[100.543455,39.408861],[100.789538,39.407879],[100.833153,39.380077],[100.851963,39.16748],[100.88855,39.105159],[101.04854,39.000824],[101.179954,39.020642],[101.247805,38.870031],[101.327852,38.825744],[101.31979,38.758151],[101.413996,38.749211],[101.580188,38.688233],[101.831077,38.689835],[102.020367,38.856931],[102.022848,38.892717],[101.825496,39.064438],[102.39311,39.237192],[102.593459,39.177919],[102.830551,39.130222],[102.965374,39.11937],[103.28396,39.292977],[103.463794,39.357185],[103.749254,39.424881],[104.023966,39.441107],[104.059985,39.307834],[104.224781,39.090689],[104.171554,38.959509],[104.04257,38.874062],[103.979524,38.758978],[103.794316,38.590771],[103.471235,38.435897],[103.521671,38.139843],[103.388088,38.10199],[103.387467,37.999102],[103.438162,37.842393],[103.678716,37.775033],[103.863666,37.626437],[104.108509,37.461848],[104.262453,37.390328],[104.358519,37.401232],[104.464508,37.440247],[104.689507,37.411929],[104.722425,37.339323],[104.621397,37.249277],[104.708886,37.215016],[104.764748,37.250491],[104.855388,37.218194],[104.922413,37.096754],[105.180175,36.972136],[105.321665,36.780727],[105.220482,36.692954],[105.268748,36.550224],[105.392771,36.384394],[105.445946,36.254583],[105.43742,36.106685],[105.351482,36.057644],[105.318099,35.933208],[105.431839,35.756422],[105.686965,35.660459],[105.829386,35.493648],[105.936149,35.524809],[106.065082,35.487653],[106.112417,35.42466],[106.210654,35.395152],[106.313387,35.27361],[106.377776,35.260665],[106.464851,35.332366],[106.495081,35.553127],[106.429297,35.699449],[106.469605,35.727432],[106.767106,35.706555],[106.913402,35.788824],[106.843226,35.882203],[106.914849,35.907059],[106.94477,36.076946],[106.813667,36.21164],[106.744937,36.206576],[106.60386,36.277838],[106.49658,36.268355],[106.495391,36.436743],[106.439994,36.514774],[106.493996,36.55981],[106.502368,36.706519],[106.602155,36.725821],[106.649026,36.834186],[106.574818,36.931338],[106.633936,36.997897],[106.644065,37.181658],[106.790671,37.189668],[106.932936,37.107193],[107.187804,37.117063],[107.285472,37.068461],[107.299632,36.907205],[107.500911,36.890772],[107.548867,36.840026],[107.695473,36.825091],[107.886521,36.75538],[108.041705,36.597741],[108.356363,36.546038],[108.441268,36.461289],[108.606529,36.431988],[108.70368,36.35897],[108.649937,36.226497],[108.699753,36.125547],[108.677119,36.005244],[108.493099,35.881195],[108.523175,35.775956],[108.509997,35.70087],[108.603738,35.547856],[108.617226,35.392827],[108.492634,35.272498],[108.276781,35.262835],[108.15498,35.290559],[107.97866,35.223458],[107.92285,35.266892],[107.741672,35.318361],[107.670462,35.227979],[107.830349,34.976728],[107.710046,34.951407],[107.569641,34.965411],[107.496881,34.925775],[107.320767,34.942209],[107.210852,34.891772],[107.051533,35.038146],[106.914849,35.089047],[106.564586,35.079616],[106.491206,35.03011],[106.500817,34.926241],[106.549703,34.862575],[106.491516,34.740955],[106.317728,34.583342],[106.368371,34.520219],[106.498337,34.520219],[106.614092,34.458724],[106.673623,34.384672],[106.656002,34.254214],[106.554044,34.280828],[106.587427,34.137451],[106.513737,34.106601],[106.430227,33.942115],[106.479837,33.868191],[106.454722,33.803312],[106.481749,33.700889],[106.55947,33.598621],[106.495547,33.543586],[106.392659,33.618827],[106.170605,33.562241],[106.073453,33.617509],[105.992942,33.610636],[105.951652,33.553198],[105.832435,33.497542],[105.785306,33.406333],[105.717971,33.38866],[105.747168,33.293989],[105.91274,33.233682],[105.910569,33.031731],[105.886488,32.978013],[105.63932,32.885487],[105.498553,32.907397],[105.430909,32.91148],[105.386364,32.823371],[105.435249,32.773555],[105.269988,32.641703],[105.146792,32.608346],[105.031812,32.63868],[104.898331,32.611834],[104.84097,32.639817],[104.645427,32.657878],[104.558404,32.688341],[104.4057,32.809367],[104.288859,32.847892],[104.321261,32.952718],[104.377588,32.958764],[104.405855,33.063279],[104.328237,33.140355],[104.280591,33.272052],[104.29289,33.363571],[104.174655,33.490152],[104.156309,33.62402],[104.093006,33.66854],[103.915136,33.683293],[103.74512,33.676033],[103.659441,33.710527],[103.522756,33.714118],[103.55862,33.806877],[103.350674,33.755692],[103.271971,33.765174],[103.184172,33.822096],[103.193164,33.883772],[103.142108,33.961545],[103.152391,34.108513],[103.120094,34.168612],[103.000566,34.213984],[102.930596,34.295581],[102.78182,34.274187],[102.5978,34.16546],[102.617644,34.083501],[102.4406,34.05973],[102.371974,33.975963],[102.319367,33.987357],[102.171211,33.941753],[102.343138,33.725177],[102.356006,33.609396],[102.481838,33.540149],[102.481838,33.465038],[102.27875,33.377756],[102.130955,33.284661],[102.099381,33.222236],[102.004244,33.2188],[101.863685,33.12263],[101.832162,33.26921],[101.923216,33.406385],[101.883993,33.546325],[101.77754,33.530047],[101.613364,33.511857],[101.57688,33.630506],[101.495593,33.704636],[101.39963,33.645078],[101.160265,33.664147],[101.165536,33.756002],[101.129466,33.850647],[101.008956,33.881498],[100.947978,33.929764],[100.791709,34.154866],[100.81548,34.2946],[100.935266,34.386325],[101.035828,34.338938],[101.256021,34.300491],[101.323666,34.259511],[101.611659,34.191247],[101.64716,34.136005],[101.780382,34.067507],[101.862548,34.141379],[102.011996,34.177604],[102.07654,34.266978],[102.212345,34.351547],[102.150282,34.495078],[102.013391,34.53598],[101.931949,34.591119],[101.913914,34.661399],[101.793353,34.631892],[101.755061,34.70367],[101.923216,34.787283],[101.912829,34.844798],[102.00936,34.942131],[102.267122,35.055871],[102.375591,35.203691],[102.317714,35.274979],[102.289292,35.406935],[102.426441,35.435305],[102.534961,35.535635],[102.702186,35.524034],[102.721307,35.619066],[102.679862,35.756836],[102.700326,35.839466],[102.837527,35.860757],[102.97602,35.833291],[102.999533,35.990749],[102.933283,36.086066],[103.040357,36.216498],[102.894474,36.309412],[102.818562,36.326052],[102.769727,36.497566],[102.698156,36.608877],[102.610822,36.657194],[102.615163,36.728766],[102.674746,36.80163],[102.460134,36.955652],[102.495842,37.089106],[102.550619,37.16383],[102.426648,37.278061],[102.245522,37.380871],[102.142014,37.406658],[102.032666,37.478901],[102.067238,37.548303],[101.995873,37.6145],[101.937065,37.730695],[101.765603,37.524971],[101.64654,37.611865],[101.292918,37.798933],[101.049781,37.96373],[100.635749,38.1054],[100.554307,38.252084],[100.49736,38.289446],[100.357833,38.307042],[100.140792,38.485842],[100.08307,38.394504],[100.15552,38.302779],[100.079039,38.278439],[99.799883,38.365721],[99.557159,38.515375],[99.496335,38.601107],[99.099254,38.889642],[99.094758,38.957777],[98.962105,38.981755],[98.901901,39.035576],[98.781909,39.067693],[98.60223,38.947597],[98.444565,38.957312],[98.324314,39.023251],[98.262561,38.931681],[98.068619,38.801844],[98.020508,38.836234],[97.697582,38.981032],[97.674948,39.00501],[97.362564,39.150427],[97.137461,39.203163],[97.02646,39.196212],[96.962537,39.103247],[96.991114,38.996793],[96.970908,38.864191],[96.981192,38.744302],[96.942383,38.639115],[96.971218,38.567259],[96.945483,38.358227],[96.845076,38.356419],[96.510368,38.470107],[96.502616,38.549017],[96.315496,38.626945],[96.054788,38.678828],[96.007608,38.751692],[95.891853,38.783654],[95.78819,38.862331],[95.72163,38.874733],[95.565774,39.015242],[95.460923,39.046609],[95.305325,39.182777],[95.057175,39.147456],[94.912378,39.198202],[94.724637,39.23683],[94.631051,39.29538],[94.479329,39.317833],[94.116974,39.321941],[93.908925,39.285639],[93.722063,39.306748],[93.502024,39.271918],[93.405234,39.216986],[93.27563,39.188719],[93.140341,39.198745],[93.035748,39.152081],[92.935961,39.152856],[92.94795,39.452476],[92.772405,39.810542],[92.777417,39.905523],[92.919528,40.118068],[92.925884,40.422908],[93.036833,40.489854],[93.286327,40.469261],[93.577472,40.587962],[93.669146,40.683357],[93.759941,40.823322],[94.011037,41.104029],[94.580925,41.585214],[95.05826,41.788561],[95.49198,41.856024],[95.771912,41.829721],[95.863947,41.855017],[96.035823,41.995292],[96.01784,42.13872],[96.043781,42.499887],[96.09091,42.58691],[96.372543,42.730677]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"CHN-1151","diss_me":1151,"iso_3166_2":"CN-QH","wikipedia":null,"iso_a2":"CN","adm0_sr":1,"name":"Qinghai","name_alt":null,"name_local":null,"type":"Shěng","type_en":"Province","code_local":null,"code_hasc":"CN.QH","note":null,"hasc_maybe":null,"region":"Northwest China","region_cod":"6","provnum_ne":36,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":null,"postal":"QH","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":7,"mapcolor9":4,"mapcolor13":3,"fips":null,"fips_alt":null,"woe_id":12577996,"woe_label":"Qinghai, CN, China","woe_name":"Qinghai","latitude":35.2652,"longitude":96.2377,"sov_a3":"CH1","adm0_a3":"CHN","adm0_label":2,"admin":"China","geonunit":"China","gu_a3":"CHN","gn_id":1280239,"gn_name":"Qinghai Sheng","gns_id":-1922240,"gns_name":"Qinghai Sheng","gn_level":1,"gn_region":null,"gn_a1_code":"CN.06","region_sub":"Western","sub_code":null,"gns_level":1,"gns_lang":"zho","gns_adm1":"CH06","gns_region":null,"min_label":4.6,"max_label":10.1,"min_zoom":4.6,"wikidataid":"Q45833","name_ar":"تشينغهاي","name_bn":"ছিংহাই","name_de":"Qinghai","name_en":"Qinghai","name_es":"Qinghai","name_fr":"Qinghai","name_el":"Τσινγκχάι","name_hi":"चिंगहई","name_hu":"Csinghaj","name_id":"Qinghai","name_it":"Qinghai","name_ja":"青海省","name_ko":"칭하이성","name_nl":"Qinghai","name_pl":"Qinghai","name_pt":"Qinghai","name_ru":"Цинхай","name_sv":"Qinghai","name_tr":"Çinghay","name_vi":"Thanh Hải","name_zh":"青海省","ne_id":1159310927,"name_he":"צ'ינגהאי","name_uk":"Цінхай","name_ur":"چنگھائی","name_fa":"چینگهای","name_zht":"青海省","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[89.435141,31.548049,103.040357,39.321941],"geometry":{"type":"Polygon","coordinates":[[[101.77754,33.530047],[101.691085,33.420286],[101.665144,33.320395],[101.726949,33.267789],[101.643646,33.127772],[101.445157,33.235853],[101.220003,33.170611],[101.164141,33.128082],[101.131429,32.938352],[101.23194,32.85771],[101.236591,32.807507],[101.170807,32.688341],[101.049471,32.675603],[100.902193,32.630463],[100.697089,32.685731],[100.642932,32.594497],[100.603038,32.451224],[100.531208,32.403397],[100.47302,32.485278],[100.560922,32.563336],[100.498497,32.669091],[100.399433,32.758388],[100.254997,32.725806],[100.223165,32.636897],[100.119036,32.670874],[100.158621,32.782263],[100.136606,32.847504],[100.046896,32.935484],[99.840966,32.957007],[99.76929,32.921763],[99.728931,32.757665],[99.698545,32.744617],[99.50941,32.835438],[99.289371,32.88714],[99.225293,32.998916],[99.100649,33.072452],[98.852085,33.174875],[98.772917,33.302722],[98.73571,33.489765],[98.633287,33.607716],[98.645845,33.676162],[98.457949,33.840105],[98.30168,33.845841],[98.211814,33.939453],[98.034926,33.959788],[97.819074,33.864187],[97.745073,33.864858],[97.69567,34.005237],[97.610249,33.930875],[97.383545,33.869871],[97.390521,33.611385],[97.477389,33.562241],[97.539297,33.453721],[97.724299,33.406127],[97.615675,33.328379],[97.50054,33.194357],[97.476459,33.120304],[97.504261,33.045606],[97.468707,32.982535],[97.360962,32.897036],[97.384165,32.779188],[97.430673,32.70033],[97.663734,32.559899],[97.715721,32.54419],[97.630868,32.444092],[97.562293,32.484348],[97.360859,32.500187],[97.326287,32.423577],[97.393156,32.384974],[97.359773,32.260486],[97.254405,32.203952],[97.25487,32.075794],[97.124077,32.009338],[97.018089,32.022904],[96.914581,31.990141],[96.754126,31.973837],[96.786372,31.910146],[96.752885,31.838677],[96.795415,31.715455],[96.737382,31.679798],[96.664157,31.721139],[96.483238,31.753463],[96.278186,31.90906],[96.182636,31.871156],[96.147754,31.779921],[96.212918,31.735117],[96.214624,31.606753],[96.167288,31.548049],[96.094218,31.700546],[95.848858,31.714266],[95.773772,31.697988],[95.725041,31.746357],[95.592698,31.761576],[95.497096,31.741655],[95.406766,31.810668],[95.354314,31.954406],[95.425266,32.09476],[95.382116,32.170052],[95.259075,32.244079],[95.061826,32.261209],[94.951342,32.337225],[94.938939,32.42815],[94.852226,32.50011],[94.75523,32.535456],[94.721847,32.592869],[94.582217,32.672192],[94.316858,32.540753],[94.178262,32.522253],[94.110773,32.478225],[93.877402,32.495381],[93.734155,32.572457],[93.597161,32.564576],[93.510396,32.516103],[93.442596,32.563336],[93.345341,32.577702],[93.218527,32.65979],[93.031252,32.66351],[93.005931,32.734617],[92.850023,32.728881],[92.727291,32.760559],[92.649983,32.740431],[92.465809,32.769421],[92.221379,32.744978],[92.196109,32.86864],[92.08609,32.885642],[91.976846,32.848615],[91.813135,32.968272],[91.720324,32.982509],[91.542661,33.080333],[91.376469,33.271251],[91.361587,33.336958],[91.189194,33.336958],[91.127906,33.254327],[90.949932,33.239393],[90.80405,33.140536],[90.660337,33.155858],[90.436268,33.282181],[90.3232,33.288718],[90.205688,33.401502],[90.203208,33.500074],[90.140576,33.578209],[89.975108,33.630557],[89.877233,33.822742],[89.741892,33.909507],[89.636731,34.093371],[89.786592,34.198533],[89.840284,34.383328],[89.795739,34.408417],[89.791088,34.554119],[89.723909,34.739637],[89.825246,34.84609],[89.787677,34.926396],[89.583607,34.940917],[89.57167,35.073312],[89.45483,35.212838],[89.484337,35.34221],[89.73011,35.443651],[89.690267,35.508582],[89.715072,35.642347],[89.788866,35.775543],[89.788763,35.826857],[89.581437,35.839777],[89.484647,35.880187],[89.435141,35.987804],[89.514671,36.053252],[89.677813,36.081958],[89.866794,36.065603],[89.972007,36.104928],[90.013762,36.252775],[90.165691,36.129242],[90.292453,36.115548],[90.622665,36.111129],[90.829371,36.010412],[90.914999,36.013332],[91.111318,36.073922],[91.135761,36.140637],[91.061036,36.313546],[91.006724,36.503483],[90.80529,36.558518],[90.710463,36.636162],[90.688139,36.698484],[90.712376,36.8215],[90.80777,36.910564],[90.891124,36.939477],[91.05499,36.945135],[91.191364,37.001463],[91.287586,37.013503],[91.316318,37.118975],[91.234979,37.195404],[91.151677,37.323252],[91.073749,37.487945],[90.957218,37.519416],[90.834487,37.607782],[90.436475,37.778573],[90.410068,37.846992],[90.439266,37.996079],[90.193492,38.325671],[90.150911,38.432797],[90.312452,38.465792],[90.47823,38.532506],[90.635998,38.624309],[90.653516,38.674074],[91.012461,38.698672],[91.294407,38.745129],[91.491604,38.817269],[91.62865,38.825667],[91.880625,38.875483],[92.122729,38.940647],[92.333103,39.049865],[92.935961,39.152856],[93.035748,39.152081],[93.140341,39.198745],[93.27563,39.188719],[93.405234,39.216986],[93.502024,39.271918],[93.722063,39.306748],[93.908925,39.285639],[94.116974,39.321941],[94.479329,39.317833],[94.631051,39.29538],[94.724637,39.23683],[94.912378,39.198202],[95.057175,39.147456],[95.305325,39.182777],[95.460923,39.046609],[95.565774,39.015242],[95.72163,38.874733],[95.78819,38.862331],[95.891853,38.783654],[96.007608,38.751692],[96.054788,38.678828],[96.315496,38.626945],[96.502616,38.549017],[96.510368,38.470107],[96.845076,38.356419],[96.945483,38.358227],[96.971218,38.567259],[96.942383,38.639115],[96.981192,38.744302],[96.970908,38.864191],[96.991114,38.996793],[96.962537,39.103247],[97.02646,39.196212],[97.137461,39.203163],[97.362564,39.150427],[97.674948,39.00501],[97.697582,38.981032],[98.020508,38.836234],[98.068619,38.801844],[98.262561,38.931681],[98.324314,39.023251],[98.444565,38.957312],[98.60223,38.947597],[98.781909,39.067693],[98.901901,39.035576],[98.962105,38.981755],[99.094758,38.957777],[99.099254,38.889642],[99.496335,38.601107],[99.557159,38.515375],[99.799883,38.365721],[100.079039,38.278439],[100.15552,38.302779],[100.08307,38.394504],[100.140792,38.485842],[100.357833,38.307042],[100.49736,38.289446],[100.554307,38.252084],[100.635749,38.1054],[101.049781,37.96373],[101.292918,37.798933],[101.64654,37.611865],[101.765603,37.524971],[101.937065,37.730695],[101.995873,37.6145],[102.067238,37.548303],[102.032666,37.478901],[102.142014,37.406658],[102.245522,37.380871],[102.426648,37.278061],[102.550619,37.16383],[102.495842,37.089106],[102.460134,36.955652],[102.674746,36.80163],[102.615163,36.728766],[102.610822,36.657194],[102.698156,36.608877],[102.769727,36.497566],[102.818562,36.326052],[102.894474,36.309412],[103.040357,36.216498],[102.933283,36.086066],[102.999533,35.990749],[102.97602,35.833291],[102.837527,35.860757],[102.700326,35.839466],[102.679862,35.756836],[102.721307,35.619066],[102.702186,35.524034],[102.534961,35.535635],[102.426441,35.435305],[102.289292,35.406935],[102.317714,35.274979],[102.375591,35.203691],[102.267122,35.055871],[102.00936,34.942131],[101.912829,34.844798],[101.923216,34.787283],[101.755061,34.70367],[101.793353,34.631892],[101.913914,34.661399],[101.931949,34.591119],[102.013391,34.53598],[102.150282,34.495078],[102.212345,34.351547],[102.07654,34.266978],[102.011996,34.177604],[101.862548,34.141379],[101.780382,34.067507],[101.64716,34.136005],[101.611659,34.191247],[101.323666,34.259511],[101.256021,34.300491],[101.035828,34.338938],[100.935266,34.386325],[100.81548,34.2946],[100.791709,34.154866],[100.947978,33.929764],[101.008956,33.881498],[101.129466,33.850647],[101.165536,33.756002],[101.160265,33.664147],[101.39963,33.645078],[101.495593,33.704636],[101.57688,33.630506],[101.613364,33.511857],[101.77754,33.530047]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"CHN-1152","diss_me":1152,"iso_3166_2":"CN-GX","wikipedia":null,"iso_a2":"CN","adm0_sr":5,"name":"Guangxi","name_alt":"Guangxi Zhuang|Guangxi Zhuàngzú","name_local":"廣西壯族自治區|广西壮族自治区","type":"Zìzhìqu","type_en":"Autonomous Region","code_local":null,"code_hasc":"CN.GX","note":null,"hasc_maybe":null,"region":"South Central China","region_cod":"4","provnum_ne":6,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":null,"postal":"GX","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":7,"mapcolor9":4,"mapcolor13":3,"fips":"CH16","fips_alt":null,"woe_id":12578006,"woe_label":"Guangxi, CN, China","woe_name":"Guangxi","latitude":23.7451,"longitude":108.756,"sov_a3":"CH1","adm0_a3":"CHN","adm0_label":2,"admin":"China","geonunit":"China","gu_a3":"CHN","gn_id":1809867,"gn_name":"Guangxi Zhuangzu Zizhiqu","gns_id":-1907151,"gns_name":"Guangxi Zhuangzu Zizhiqu","gn_level":1,"gn_region":null,"gn_a1_code":"CN.16","region_sub":"Western","sub_code":null,"gns_level":1,"gns_lang":"zho","gns_adm1":"CH16","gns_region":null,"min_label":4.6,"max_label":10.1,"min_zoom":4.6,"wikidataid":"Q15176","name_ar":"قوانغشي","name_bn":"কুয়াংশি","name_de":"Guangxi","name_en":"Guangxi","name_es":"Guangxi","name_fr":"Guangxi","name_el":"Κουανγκσί","name_hi":"गुआंगशी","name_hu":"Kuanghszi-Csuang Autonóm Terület","name_id":"Guangxi","name_it":"Guangxi","name_ja":"広西チワン族自治区","name_ko":"광시 좡족 자치구","name_nl":"Guangxi","name_pl":"Kuangsi","name_pt":"Guangxi","name_ru":"Гуанси-Чжуанский автономный район","name_sv":"Guangxi","name_tr":"Guangxi Zhuang Özerk Bölgesi","name_vi":"Quảng Tây","name_zh":"广西壮族自治区","ne_id":1159310341,"name_he":"גואנגשי","name_uk":"Гуансі-Чжуанський автономний район","name_ur":"گوانگشی","name_fa":"گوانگشی","name_zht":"廣西壯族自治區","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[104.494635,21.425537,112.047301,26.382473],"geometry":{"type":"Polygon","coordinates":[[[105.512147,23.152334],[105.618804,23.284651],[105.628933,23.347283],[105.701693,23.359298],[105.848041,23.519392],[105.98302,23.469033],[106.128127,23.540656],[106.152157,23.750411],[106.134122,23.796739],[106.193756,23.869396],[106.157428,23.973731],[105.970772,24.087729],[105.872225,24.02471],[105.787993,24.020653],[105.64087,24.082484],[105.608262,24.140284],[105.532091,24.126305],[105.447187,24.037603],[105.320269,24.118141],[105.253038,24.085507],[105.169943,24.167362],[105.176247,24.309912],[105.060802,24.43068],[104.961067,24.416417],[104.752655,24.468326],[104.728729,24.364198],[104.667028,24.339755],[104.599176,24.402516],[104.50187,24.57819],[104.494635,24.698209],[104.539852,24.741772],[104.729349,24.631391],[104.851874,24.705831],[104.876731,24.755027],[105.012485,24.797479],[105.100076,24.954317],[105.205909,25.0039],[105.289419,24.933181],[105.380731,24.957107],[105.444396,24.923621],[105.50863,24.817452],[105.675338,24.789676],[105.787734,24.715727],[105.91646,24.728723],[106.001158,24.64847],[106.176186,24.782234],[106.198717,24.876802],[106.155722,24.960363],[106.306566,24.981473],[106.587117,25.104359],[106.666802,25.173503],[106.885962,25.196964],[106.909268,25.248356],[106.995516,25.255384],[107.014585,25.353414],[106.974587,25.440437],[107.021923,25.497953],[107.244235,25.558595],[107.397869,25.387288],[107.424069,25.303107],[107.498896,25.21412],[107.641626,25.267528],[107.776037,25.152987],[107.861871,25.145959],[107.966568,25.20903],[108.06775,25.213138],[108.129194,25.26882],[108.131829,25.386435],[108.29337,25.5387],[108.404784,25.514877],[108.567875,25.415865],[108.694637,25.602003],[108.767759,25.598929],[108.774115,25.521931],[108.941185,25.548828],[109.024384,25.59495],[109.044228,25.709103],[108.952658,25.691378],[108.953329,25.775714],[109.085363,25.805428],[109.148615,25.750651],[109.30044,25.743054],[109.399142,25.998543],[109.456709,26.03885],[109.60316,26.052674],[109.672252,25.985313],[109.676593,25.889066],[109.772039,25.908161],[109.781341,26.023761],[109.838443,26.045026],[109.911669,26.181219],[110.062047,26.149929],[110.033625,26.036499],[110.138218,26.051666],[110.246997,25.978208],[110.341668,26.112748],[110.484554,26.171555],[110.53654,26.22486],[110.577054,26.350795],[110.688624,26.332321],[110.724022,26.274314],[110.878948,26.275218],[110.935482,26.382473],[111.123274,26.305992],[111.251897,26.279714],[111.256703,26.210132],[111.202081,25.930278],[111.256238,25.86899],[111.408322,25.90785],[111.411267,25.802611],[111.323727,25.729825],[111.304969,25.639159],[111.315821,25.503198],[111.253757,25.399122],[111.164202,25.364938],[111.113766,25.238641],[110.993205,25.150765],[110.954602,25.025346],[111.006279,24.935455],[111.079039,24.94424],[111.125755,25.044466],[111.274376,25.147664],[111.426925,25.106194],[111.461858,25.019481],[111.429716,24.943413],[111.473641,24.792854],[111.428165,24.681026],[111.516945,24.642656],[111.615751,24.706968],[111.667117,24.779676],[111.797032,24.760427],[111.925964,24.774871],[111.996554,24.735674],[111.932476,24.698286],[111.933251,24.601367],[112.005546,24.553075],[111.990922,24.465871],[112.047301,24.381458],[111.975936,24.276761],[111.869327,24.231829],[111.899144,23.990862],[111.807884,23.909239],[111.793311,23.849191],[111.657505,23.841697],[111.613735,23.759868],[111.601178,23.658014],[111.471005,23.613236],[111.4693,23.557916],[111.391217,23.431257],[111.362846,23.273024],[111.369978,23.139105],[111.410957,23.052598],[111.351219,22.908214],[111.277167,22.81853],[111.181462,22.748534],[111.066017,22.740576],[111.023797,22.63867],[110.754563,22.580172],[110.696995,22.368712],[110.774562,22.283653],[110.670796,22.267582],[110.642373,22.183452],[110.466725,22.151],[110.414119,22.198309],[110.333555,22.190455],[110.355466,22.10077],[110.355879,21.888974],[110.216146,21.874531],[110.142352,21.897449],[109.967221,21.866728],[109.91725,21.687152],[109.759375,21.560059],[109.743359,21.527979],[109.686914,21.524609],[109.594336,21.671973],[109.566406,21.690576],[109.521484,21.693408],[109.544043,21.537939],[109.435547,21.479492],[109.34668,21.453955],[109.22041,21.443408],[109.148633,21.425537],[109.081543,21.440283],[109.098145,21.487354],[109.133496,21.543604],[109.101758,21.590479],[109.030566,21.626514],[108.921777,21.624414],[108.846387,21.634473],[108.77168,21.630469],[108.743945,21.65127],[108.674512,21.724658],[108.61582,21.770459],[108.589355,21.815967],[108.61582,21.868896],[108.59375,21.901025],[108.479883,21.904639],[108.480859,21.828809],[108.492578,21.739404],[108.525684,21.671387],[108.502148,21.633447],[108.444336,21.607324],[108.382812,21.679199],[108.35459,21.696924],[108.324805,21.693506],[108.302148,21.621924],[108.246289,21.558398],[108.145605,21.565186],[108.067383,21.525977],[107.972656,21.507959],[107.90838,21.56039],[107.80203,21.645165],[107.759242,21.655009],[107.641006,21.613926],[107.471404,21.59832],[107.433474,21.642271],[107.351205,21.608914],[107.272088,21.710639],[107.178554,21.717073],[107.06161,21.7942],[107.019804,21.834869],[107.00642,21.893418],[106.971021,21.923908],[106.925184,21.920109],[106.87449,21.95127],[106.794185,21.981992],[106.729537,22.000363],[106.697601,21.986178],[106.663547,21.978917],[106.657707,22.018217],[106.660084,22.136479],[106.654193,22.241459],[106.63652,22.288614],[106.593163,22.324529],[106.553631,22.341686],[106.536371,22.395429],[106.550427,22.501392],[106.582466,22.573248],[106.633109,22.586038],[106.701529,22.63774],[106.736359,22.710914],[106.780284,22.778894],[106.623962,22.874263],[106.541849,22.908344],[106.450898,22.8939],[106.33814,22.863463],[106.279022,22.857468],[106.249463,22.869431],[106.183938,22.955137],[106.148488,22.970071],[106.068492,22.975549],[106.001003,22.974774],[105.962349,22.937463],[105.902663,22.924958],[105.842977,22.922813],[105.782308,22.969348],[105.691255,23.029912],[105.548111,23.072649],[105.530851,23.121974],[105.512147,23.152334]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"CHN-1153","diss_me":1153,"iso_3166_2":"CN-GZ","wikipedia":null,"iso_a2":"CN","adm0_sr":1,"name":"Guizhou","name_alt":"Gùizhōu","name_local":"貴州|贵州","type":"Shěng","type_en":"Province","code_local":null,"code_hasc":"CN.GZ","note":null,"hasc_maybe":null,"region":"Southwest China","region_cod":"5","provnum_ne":41,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":null,"postal":"GZ","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":7,"mapcolor9":4,"mapcolor13":3,"fips":"CH18","fips_alt":null,"woe_id":12578007,"woe_label":"Guizhou, CN, China","woe_name":"Guizhou","latitude":26.8033,"longitude":106.559,"sov_a3":"CH1","adm0_a3":"CHN","adm0_label":2,"admin":"China","geonunit":"China","gu_a3":"CHN","gn_id":1809445,"gn_name":"Guizhou Sheng","gns_id":-1907620,"gns_name":"Guizhou Sheng","gn_level":1,"gn_region":null,"gn_a1_code":"CN.18","region_sub":"Western","sub_code":null,"gns_level":1,"gns_lang":"zho","gns_adm1":"CH18","gns_region":null,"min_label":4.6,"max_label":10.1,"min_zoom":4.6,"wikidataid":"Q47097","name_ar":"قويتشو","name_bn":"কুয়েইচৌ","name_de":"Guizhou","name_en":"Guizhou","name_es":"Guizhou","name_fr":"Guizhou","name_el":"Κουεϊτσόου","name_hi":"गुइझोऊ","name_hu":"Kujcsou","name_id":"Guizhou","name_it":"Guizhou","name_ja":"貴州省","name_ko":"구이저우성","name_nl":"Guizhou","name_pl":"Kuejczou","name_pt":"Guizhou","name_ru":"Гуйчжоу","name_sv":"Guizhou","name_tr":"Guizhou","name_vi":"Quý Châu","name_zh":"贵州省","ne_id":1159310929,"name_he":"גוויג'ואו","name_uk":"Ґуйчжоу","name_ur":"گوئیژو","name_fa":"گوئیژو","name_zht":"貴州省","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[103.596447,24.631391,109.507146,29.246096],"geometry":{"type":"Polygon","coordinates":[[[106.382427,28.572494],[106.488725,28.540971],[106.562416,28.767133],[106.626495,28.6374],[106.562416,28.510741],[106.750001,28.502162],[106.76199,28.590891],[106.828963,28.608693],[106.835061,28.730521],[106.889373,28.801395],[106.973347,28.804521],[107.030708,28.887617],[107.161087,28.881338],[107.296996,28.808371],[107.436833,28.877256],[107.499671,28.993063],[107.423965,29.077011],[107.430477,29.18287],[107.496106,29.246096],[107.557239,29.186823],[107.783478,29.137369],[107.789834,29.040192],[107.875359,28.984071],[108.054573,29.064505],[108.286238,29.077166],[108.34055,28.919656],[108.367319,28.777029],[108.330318,28.689154],[108.582448,28.601097],[108.582758,28.37416],[108.730035,28.475446],[108.783727,28.426095],[108.728485,28.24223],[108.942942,28.199855],[109.094974,28.205204],[109.155332,28.435526],[109.258375,28.505909],[109.263853,28.322225],[109.354287,28.265174],[109.298735,28.09472],[109.362658,28.029633],[109.309897,27.970309],[109.328242,27.807657],[109.413405,27.738953],[109.447253,27.650018],[109.418366,27.559507],[109.318423,27.500621],[109.276875,27.438532],[109.206389,27.444759],[109.014928,27.262186],[108.900103,27.188806],[108.896847,27.147206],[108.791324,27.083128],[108.874213,27.018119],[108.950177,27.026904],[109.007796,27.094057],[109.095491,27.134442],[109.155643,27.079717],[109.230573,27.151986],[109.438209,27.131032],[109.499187,27.062483],[109.507146,26.976364],[109.443842,26.900994],[109.505285,26.824797],[109.397075,26.754672],[109.294032,26.727309],[109.377231,26.646152],[109.402553,26.537295],[109.315013,26.425726],[109.296564,26.312529],[109.399297,26.269947],[109.427512,26.098562],[109.456709,26.03885],[109.399142,25.998543],[109.30044,25.743054],[109.148615,25.750651],[109.085363,25.805428],[108.953329,25.775714],[108.952658,25.691378],[109.044228,25.709103],[109.024384,25.59495],[108.941185,25.548828],[108.774115,25.521931],[108.767759,25.598929],[108.694637,25.602003],[108.567875,25.415865],[108.404784,25.514877],[108.29337,25.5387],[108.131829,25.386435],[108.129194,25.26882],[108.06775,25.213138],[107.966568,25.20903],[107.861871,25.145959],[107.776037,25.152987],[107.641626,25.267528],[107.498896,25.21412],[107.424069,25.303107],[107.397869,25.387288],[107.244235,25.558595],[107.021923,25.497953],[106.974587,25.440437],[107.014585,25.353414],[106.995516,25.255384],[106.909268,25.248356],[106.885962,25.196964],[106.666802,25.173503],[106.587117,25.104359],[106.306566,24.981473],[106.155722,24.960363],[106.198717,24.876802],[106.176186,24.782234],[106.001158,24.64847],[105.91646,24.728723],[105.787734,24.715727],[105.675338,24.789676],[105.50863,24.817452],[105.444396,24.923621],[105.380731,24.957107],[105.289419,24.933181],[105.205909,25.0039],[105.100076,24.954317],[105.012485,24.797479],[104.876731,24.755027],[104.851874,24.705831],[104.729349,24.631391],[104.539852,24.741772],[104.54564,24.813421],[104.707025,25.01731],[104.689042,25.101259],[104.719738,25.210942],[104.668888,25.296828],[104.565845,25.38119],[104.553546,25.484543],[104.432675,25.506815],[104.422443,25.579266],[104.306223,25.664765],[104.420583,25.856923],[104.392936,25.947874],[104.498976,26.030789],[104.50497,26.147422],[104.545175,26.270412],[104.675503,26.379269],[104.626513,26.497659],[104.559437,26.584708],[104.466213,26.613466],[104.429884,26.71253],[104.358519,26.647831],[104.218063,26.626618],[104.153364,26.651242],[104.0204,26.514196],[103.829249,26.547114],[103.757832,26.629434],[103.775092,26.731702],[103.717318,26.798959],[103.778296,26.880013],[103.778296,26.955874],[103.700885,27.052432],[103.596447,27.076074],[103.695407,27.151702],[103.859325,27.315387],[103.911311,27.39037],[103.981126,27.399517],[104.174345,27.271514],[104.344412,27.441194],[104.443682,27.34722],[104.594216,27.313785],[104.783403,27.332208],[104.870891,27.309755],[105.082558,27.412513],[105.197383,27.398638],[105.296963,27.721745],[105.360784,27.760011],[105.524495,27.774636],[105.646916,27.67813],[105.875946,27.745206],[106.039192,27.756807],[106.103581,27.788072],[106.247603,27.77523],[106.345375,27.834942],[106.298969,28.000436],[106.215254,28.056091],[106.199337,28.124253],[106.10942,28.174715],[106.008961,28.140246],[105.906228,28.150582],[105.846801,28.269153],[105.667225,28.318298],[105.655753,28.441107],[105.620561,28.482422],[105.683193,28.583449],[105.891914,28.609313],[105.984415,28.753542],[106.188795,28.584612],[106.268687,28.556629],[106.338657,28.480122],[106.382427,28.572494]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"CHN-1154","diss_me":1154,"iso_3166_2":"CN-CQ","wikipedia":null,"iso_a2":"CN","adm0_sr":1,"name":"Chongqing","name_alt":"Chóngqìng","name_local":"重慶|重庆","type":"Zhíxiáshì","type_en":"Municipality","code_local":null,"code_hasc":"CN.CQ","note":null,"hasc_maybe":null,"region":"Southwest China","region_cod":"5","provnum_ne":51,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":null,"postal":"CQ","area_sqkm":0,"sameascity":7,"labelrank":2,"name_len":9,"mapcolor9":4,"mapcolor13":3,"fips":"CH33","fips_alt":"CH18|CH32","woe_id":20070171,"woe_label":"Chongqing, CN, China","woe_name":"Chongqing","latitude":30.0173,"longitude":107.73,"sov_a3":"CH1","adm0_a3":"CHN","adm0_label":2,"admin":"China","geonunit":"China","gu_a3":"CHN","gn_id":1814905,"gn_name":"Chongqing Shi","gns_id":-1900775,"gns_name":"Chongqing Shi","gn_level":1,"gn_region":null,"gn_a1_code":"CN.33","region_sub":"Western","sub_code":null,"gns_level":1,"gns_lang":"zho","gns_adm1":"CH33","gns_region":null,"min_label":4.6,"max_label":10.1,"min_zoom":4.6,"wikidataid":"Q11725","name_ar":"تشونغتشينغ","name_bn":"ছুংছিং","name_de":"Chongqing","name_en":"Chongqing","name_es":"Chongqing","name_fr":"Chongqing","name_el":"Τσονγκίνγκ","name_hi":"चोंग्किंग","name_hu":"Csungking","name_id":"Chongqing","name_it":"Chongqing","name_ja":"重慶市","name_ko":"충칭시","name_nl":"Chongqing","name_pl":"Chongqing","name_pt":"Chongqing","name_ru":"Чунцин","name_sv":"Chongqing","name_tr":"Çongçing","name_vi":"Trùng Khánh","name_zh":"重庆市","ne_id":1159310931,"name_he":"צ'ונגצ'ינג","name_uk":"Чунцін","name_ur":"چونگ کینگ","name_fa":"چونگکینگ","name_zht":"重慶市","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[105.291072,28.199855,110.174857,32.19757],"geometry":{"type":"Polygon","coordinates":[[[109.258375,28.505909],[109.155332,28.435526],[109.094974,28.205204],[108.942942,28.199855],[108.728485,28.24223],[108.783727,28.426095],[108.730035,28.475446],[108.582758,28.37416],[108.582448,28.601097],[108.330318,28.689154],[108.367319,28.777029],[108.34055,28.919656],[108.286238,29.077166],[108.054573,29.064505],[107.875359,28.984071],[107.789834,29.040192],[107.783478,29.137369],[107.557239,29.186823],[107.496106,29.246096],[107.430477,29.18287],[107.423965,29.077011],[107.499671,28.993063],[107.436833,28.877256],[107.296996,28.808371],[107.161087,28.881338],[107.030708,28.887617],[106.973347,28.804521],[106.889373,28.801395],[106.835061,28.730521],[106.828963,28.608693],[106.76199,28.590891],[106.750001,28.502162],[106.562416,28.510741],[106.626495,28.6374],[106.562416,28.767133],[106.488725,28.540971],[106.382427,28.572494],[106.298039,28.672436],[106.25737,28.79385],[106.260315,28.869323],[106.008444,28.9734],[105.877961,28.920044],[105.795124,28.936529],[105.745308,28.994768],[105.700608,29.223695],[105.644591,29.269661],[105.505839,29.291468],[105.422382,29.333559],[105.405174,29.429961],[105.314843,29.469597],[105.291072,29.584784],[105.411685,29.703174],[105.55147,29.747616],[105.557516,29.803918],[105.709961,29.867505],[105.7389,30.032637],[105.557206,30.147592],[105.708669,30.274096],[105.791713,30.423363],[105.998833,30.385122],[106.124716,30.342334],[106.239025,30.220249],[106.384907,30.263579],[106.448676,30.323886],[106.53234,30.337658],[106.617813,30.268695],[106.71729,30.059277],[106.770362,30.036565],[107.03293,30.057856],[107.228732,30.238155],[107.372134,30.49987],[107.477605,30.609501],[107.456676,30.760862],[107.507578,30.821995],[107.620852,30.837369],[107.736298,30.88318],[107.769061,30.827421],[107.849882,30.809618],[107.929516,30.872664],[107.931686,30.948783],[108.006772,31.038623],[108.033127,31.222229],[108.194047,31.33093],[108.22309,31.467899],[108.323187,31.49937],[108.406799,31.566032],[108.516198,31.708272],[108.500695,31.790825],[108.286962,31.92216],[108.26779,31.972907],[108.344736,32.073546],[108.419202,32.100005],[108.388971,32.184289],[108.518369,32.19757],[108.789308,32.045331],[109.055907,31.940635],[109.18887,31.840305],[109.252588,31.744006],[109.335993,31.705249],[109.593962,31.737598],[109.658764,31.718116],[109.724497,31.63608],[109.73261,31.561123],[109.929497,31.518722],[110.108246,31.398032],[110.146745,31.331111],[110.174857,31.188665],[110.107626,31.122338],[110.137598,31.000175],[110.127676,30.906408],[110.066233,30.82848],[109.996728,30.826232],[109.870689,30.88858],[109.748578,30.835353],[109.639799,30.717944],[109.394181,30.583741],[109.248247,30.597435],[109.179259,30.566791],[108.964646,30.607486],[108.868425,30.551365],[108.710192,30.52284],[108.669987,30.573845],[108.573146,30.497855],[108.433206,30.487287],[108.380599,30.399695],[108.532011,30.315488],[108.529996,30.112968],[108.550356,30.009254],[108.538213,29.885463],[108.400443,29.831074],[108.446849,29.735782],[108.512633,29.721855],[108.61304,29.858023],[108.65836,29.817018],[108.696032,29.698162],[108.872042,29.638966],[108.872042,29.50161],[108.920566,29.348984],[109.014152,29.307488],[109.077301,29.214134],[109.206595,29.104244],[109.274808,29.049261],[109.245508,28.931258],[109.246748,28.78553],[109.281216,28.729125],[109.21321,28.628795],[109.284627,28.573476],[109.258375,28.505909]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"CHN-1155","diss_me":1155,"iso_3166_2":"CN-BJ","wikipedia":null,"iso_a2":"CN","adm0_sr":1,"name":"Beijing","name_alt":"Běijīng","name_local":"北京|北京","type":"Zhíxiáshì","type_en":"Municipality","code_local":null,"code_hasc":"CN.BJ","note":null,"hasc_maybe":null,"region":"North China","region_cod":"1","provnum_ne":45,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":null,"postal":"BJ","area_sqkm":0,"sameascity":7,"labelrank":7,"name_len":7,"mapcolor9":4,"mapcolor13":3,"fips":"CH22","fips_alt":null,"woe_id":12578011,"woe_label":"Beijing, CN, China","woe_name":"Beijing","latitude":39.9488,"longitude":116.389,"sov_a3":"CH1","adm0_a3":"CHN","adm0_label":2,"admin":"China","geonunit":"China","gu_a3":"CHN","gn_id":2038349,"gn_name":"Beijing Shi","gns_id":-1898545,"gns_name":"Beijing Shi","gn_level":1,"gn_region":null,"gn_a1_code":"CN.22","region_sub":null,"sub_code":null,"gns_level":1,"gns_lang":"zho","gns_adm1":"CH22","gns_region":null,"min_label":4.6,"max_label":10.1,"min_zoom":4.6,"wikidataid":"Q956","name_ar":"بكين","name_bn":"বেইজিং","name_de":"Peking","name_en":"Beijing","name_es":"Pekín","name_fr":"Pékin","name_el":"Πεκίνο","name_hi":"बीजिंग","name_hu":"Peking","name_id":"Beijing","name_it":"Pechino","name_ja":"北京市","name_ko":"베이징시","name_nl":"Peking","name_pl":"Pekin","name_pt":"Pequim","name_ru":"Пекин","name_sv":"Peking","name_tr":"Pekin","name_vi":"Bắc Kinh","name_zh":"北京市","ne_id":1159310969,"name_he":"בייג'ינג","name_uk":"Пекін","name_ur":"بیجنگ","name_fa":"پکن","name_zht":"北京市","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[115.427094,39.442141,117.428523,41.03101],"geometry":{"type":"Polygon","coordinates":[[[116.793419,39.602312],[116.604387,39.611174],[116.428274,39.521412],[116.386622,39.442141],[116.249783,39.505806],[116.210406,39.5719],[116.000599,39.557612],[115.945409,39.575388],[115.755911,39.508958],[115.618452,39.603733],[115.463423,39.643214],[115.437326,39.749305],[115.510914,39.838499],[115.496444,39.923636],[115.427094,39.962574],[115.577628,40.096313],[115.819835,40.151891],[115.945202,40.293717],[115.728161,40.539593],[115.874457,40.610235],[115.994708,40.595972],[116.130359,40.657984],[116.207305,40.750381],[116.291434,40.739891],[116.458866,40.791567],[116.438195,40.899726],[116.652653,41.03101],[116.675804,40.940137],[116.910415,40.749218],[117.058003,40.677207],[117.199183,40.690023],[117.303466,40.661808],[117.428523,40.669042],[117.411779,40.597367],[117.243108,40.57016],[117.184145,40.49727],[117.23794,40.450193],[117.250549,40.337822],[117.356796,40.257026],[117.37204,40.200647],[117.310597,40.110472],[117.239077,40.092618],[116.987671,40.034353],[116.829386,40.036678],[116.744223,39.959008],[116.78143,39.889659],[116.922197,39.773593],[116.875636,39.686467],[116.793419,39.602312]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"CHN-1178","diss_me":1178,"iso_3166_2":"CN-FJ","wikipedia":null,"iso_a2":"CN","adm0_sr":1,"name":"Fujian","name_alt":"Fújiàn","name_local":"福建","type":"Shěng","type_en":"Province","code_local":null,"code_hasc":"CN.FJ","note":null,"hasc_maybe":null,"region":null,"region_cod":null,"provnum_ne":5,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":null,"postal":"FJ","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":6,"mapcolor9":4,"mapcolor13":3,"fips":"CH07","fips_alt":null,"woe_id":12577997,"woe_label":"Fujian, CN, China","woe_name":"Fujian","latitude":26.408,"longitude":118.178,"sov_a3":"CH1","adm0_a3":"CHN","adm0_label":2,"admin":"China","geonunit":"China","gu_a3":"CHN","gn_id":1811017,"gn_name":"Fujian Sheng","gns_id":-1905684,"gns_name":"Fujian Sheng","gn_level":1,"gn_region":null,"gn_a1_code":"CN.07","region_sub":null,"sub_code":null,"gns_level":1,"gns_lang":"zho","gns_adm1":"CH07","gns_region":null,"min_label":4.6,"max_label":10.1,"min_zoom":4.6,"wikidataid":"Q41705","name_ar":"فوجيان","name_bn":"ফুচিয়েন","name_de":"Fujian","name_en":"Fujian","name_es":"Fujian","name_fr":"Fujian","name_el":"Φουτσιάν","name_hi":"फ़ूज्यान","name_hu":"Fucsien","name_id":"Fujian","name_it":"Fujian","name_ja":"福建省","name_ko":"푸젠성","name_nl":"Fujian","name_pl":"Fujian","name_pt":"Fujian","name_ru":"Фуцзянь","name_sv":"Fujian","name_tr":"Fujian","name_vi":"Phúc Kiến","name_zh":"福建省","ne_id":1159315795,"name_he":"פוג'יין","name_uk":"Фуцзянь","name_ur":"فوجیان","name_fa":"فوجیان","name_zht":"福建省","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[115.842831,23.588623,120.423805,28.325972],"geometry":{"type":"MultiPolygon","coordinates":[[[[120.423805,27.202522],[120.38457,27.155518],[120.278711,27.09707],[120.138574,26.886133],[120.097461,26.780664],[120.086719,26.671582],[120.042969,26.633838],[119.967773,26.586377],[119.882227,26.610449],[119.879492,26.683008],[119.842383,26.689307],[119.821289,26.736914],[119.815137,26.797607],[119.824219,26.846387],[119.788672,26.831494],[119.766699,26.774707],[119.710449,26.728662],[119.651563,26.747266],[119.588184,26.784961],[119.589941,26.730469],[119.623633,26.675879],[119.638184,26.621191],[119.725977,26.609424],[119.784766,26.546631],[119.831152,26.450195],[119.840332,26.41416],[119.876465,26.370947],[119.881055,26.33418],[119.797266,26.300146],[119.692676,26.236426],[119.56709,26.127344],[119.463086,26.054688],[119.369727,26.054053],[119.313086,26.062549],[119.232129,26.104395],[119.139453,26.121777],[119.26377,25.974805],[119.332031,25.94873],[119.417773,25.954346],[119.500879,26.00918],[119.61875,26.003564],[119.648242,25.918701],[119.616895,25.8229],[119.552832,25.698682],[119.539453,25.59126],[119.619141,25.437451],[119.622461,25.391162],[119.592773,25.368018],[119.499219,25.408643],[119.421777,25.459619],[119.34375,25.446289],[119.263086,25.468018],[119.180078,25.449805],[119.146289,25.414307],[119.169336,25.355713],[119.243555,25.307031],[119.285547,25.232227],[119.235547,25.205957],[119.024609,25.223438],[118.977539,25.209277],[118.914453,25.126807],[118.955664,25.004785],[118.909082,24.928906],[118.82207,24.911133],[118.70752,24.849805],[118.636914,24.835547],[118.640234,24.809082],[118.691797,24.782324],[118.719141,24.746143],[118.657031,24.621436],[118.560352,24.580371],[118.412012,24.600732],[118.295313,24.572754],[118.194531,24.62583],[118.087109,24.627002],[118.013867,24.559912],[118.005957,24.481982],[117.935059,24.474219],[117.896875,24.479834],[117.842676,24.474316],[117.848242,24.432471],[117.879004,24.395898],[118.024219,24.379639],[118.050586,24.327148],[118.056055,24.246094],[117.904102,24.106445],[117.839453,24.012305],[117.741699,24.014795],[117.667871,23.939258],[117.628223,23.836719],[117.579199,23.856982],[117.466406,23.840576],[117.433105,23.791699],[117.45957,23.771484],[117.462207,23.73623],[117.416992,23.620996],[117.367676,23.588623],[117.34668,23.635742],[117.330762,23.708789],[117.29082,23.714355],[117.225,23.647021],[117.175049,23.615667],[117.036505,23.738267],[116.924832,24.0776],[116.967672,24.185113],[116.882406,24.393989],[116.748564,24.551499],[116.745308,24.670923],[116.603767,24.655834],[116.529559,24.615371],[116.372101,24.841301],[116.114701,24.846055],[116.035688,24.893571],[115.887531,24.916774],[115.888462,24.999947],[115.842831,25.194742],[115.907995,25.238279],[115.97874,25.35083],[116.000186,25.497178],[116.044524,25.574589],[116.027574,25.636368],[116.123693,25.764242],[116.135165,25.866328],[116.180175,25.90723],[116.323215,25.955109],[116.397268,26.061459],[116.419282,26.152874],[116.398973,26.287543],[116.501654,26.407045],[116.594465,26.395082],[116.619476,26.492078],[116.542323,26.562798],[116.504961,26.689301],[116.545269,26.867869],[116.669706,26.986906],[116.923437,27.021012],[117.040123,27.109534],[117.153811,27.276397],[117.101101,27.346652],[117.124665,27.429928],[117.112263,27.56762],[117.225124,27.72345],[117.287136,27.77262],[117.284242,27.857034],[117.544433,27.966665],[117.605256,27.866155],[117.745557,27.81329],[117.823434,27.937261],[117.946475,27.973202],[118.0613,27.979016],[118.130702,28.040537],[118.367793,28.099706],[118.34888,28.219802],[118.446445,28.288687],[118.498897,28.262435],[118.735213,28.325972],[118.797018,28.212929],[118.76565,28.178177],[118.748132,27.973202],[118.819807,27.90995],[118.889467,27.722158],[118.922695,27.549998],[119.005274,27.480054],[119.185831,27.419929],[119.26562,27.424114],[119.390367,27.51261],[119.467313,27.525297],[119.511703,27.636711],[119.615831,27.665573],[119.686576,27.511293],[119.693397,27.41104],[119.770085,27.315878],[120.064434,27.343628],[120.147736,27.400214],[120.248919,27.410162],[120.344004,27.379647],[120.405809,27.296861],[120.423805,27.202522]]],[[[118.076758,24.501416],[118.092969,24.541211],[118.103809,24.552344],[118.170703,24.518506],[118.183008,24.496289],[118.149512,24.436133],[118.090527,24.446143],[118.08877,24.488867],[118.076758,24.501416]]],[[[119.797461,25.623242],[119.828711,25.607373],[119.838379,25.591064],[119.838672,25.559668],[119.809082,25.507812],[119.832422,25.47959],[119.820898,25.456982],[119.74668,25.410693],[119.700293,25.432715],[119.699414,25.494727],[119.723047,25.550586],[119.695996,25.590869],[119.722559,25.638818],[119.77793,25.653174],[119.797461,25.623242]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"CHN-1179","diss_me":1179,"iso_3166_2":"CN-AH","wikipedia":null,"iso_a2":"CN","adm0_sr":1,"name":"Anhui","name_alt":"Ānhuī","name_local":"安徽|安徽","type":"Shěng","type_en":"Province","code_local":null,"code_hasc":"CN.AH","note":null,"hasc_maybe":null,"region":"East China","region_cod":"3","provnum_ne":31,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":null,"postal":"AH","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":5,"mapcolor9":4,"mapcolor13":3,"fips":"CH01","fips_alt":null,"woe_id":12578022,"woe_label":"Anhui, CN, China","woe_name":"Anhui","latitude":31.9537,"longitude":117.253,"sov_a3":"CH1","adm0_a3":"CHN","adm0_label":2,"admin":"China","geonunit":"China","gu_a3":"CHN","gn_id":1818058,"gn_name":"Anhui Sheng","gns_id":-1896677,"gns_name":"Anhui Sheng","gn_level":1,"gn_region":null,"gn_a1_code":"CN.01","region_sub":"Central","sub_code":null,"gns_level":1,"gns_lang":"zho","gns_adm1":"CH01","gns_region":null,"min_label":4.6,"max_label":10.1,"min_zoom":4.6,"wikidataid":"Q40956","name_ar":"آنهوي","name_bn":"আনহুয়েই","name_de":"Anhui","name_en":"Anhui","name_es":"Anhui","name_fr":"Anhui","name_el":"Ανχουί","name_hi":"अनहुइ","name_hu":"Anhuj","name_id":"Anhui","name_it":"Anhui","name_ja":"安徽省","name_ko":"안후이성","name_nl":"Anhui","name_pl":"Anhui","name_pt":"Anhui","name_ru":"Аньхой","name_sv":"Anhui","name_tr":"Anhui","name_vi":"An Huy","name_zh":"安徽省","ne_id":1159310971,"name_he":"אנחווי","name_uk":"Аньхой","name_ur":"انہوئی","name_fa":"آنهوئی","name_zht":"安徽省","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[114.879841,29.407869,119.629784,34.639695],"geometry":{"type":"Polygon","coordinates":[[[116.147257,29.788776],[116.125553,29.904687],[116.078062,29.968714],[116.080853,30.046797],[116.040494,30.221437],[115.912026,30.315592],[115.876783,30.389799],[115.946649,30.488294],[115.833064,30.59405],[115.767849,30.688153],[115.77529,30.754816],[115.86221,30.78484],[115.858644,30.860959],[116.035998,30.988884],[115.946442,31.034049],[115.876938,31.129366],[115.768366,31.143552],[115.668733,31.217216],[115.549981,31.182696],[115.374023,31.41754],[115.389732,31.511746],[115.531532,31.736384],[115.662946,31.783952],[115.901329,31.794494],[115.928149,32.024583],[115.914817,32.250021],[115.888462,32.393863],[115.79007,32.470706],[115.693848,32.491815],[115.646616,32.402441],[115.56476,32.402441],[115.456912,32.507396],[115.366736,32.559512],[115.199305,32.591473],[115.184732,32.859054],[114.925213,32.958247],[114.879841,32.993413],[114.886559,33.083407],[114.969189,33.123741],[115.142822,33.08426],[115.250981,33.12064],[115.345342,33.250606],[115.31568,33.373984],[115.346427,33.453049],[115.442597,33.548082],[115.63473,33.591826],[115.573545,33.750188],[115.629924,33.838762],[115.56135,33.898138],[115.586154,33.97958],[115.653644,34.048413],[115.732967,34.06557],[115.841126,34.006917],[115.961377,34.000147],[115.970679,33.904804],[116.079613,33.778352],[116.182035,33.71833],[116.420677,33.790832],[116.445327,33.845015],[116.64118,33.953225],[116.542944,34.120915],[116.575086,34.192125],[116.55209,34.286848],[116.400988,34.275014],[116.156714,34.447303],[116.151288,34.566728],[116.266888,34.576701],[116.377217,34.63954],[116.428119,34.639695],[116.624851,34.485001],[116.769545,34.451825],[116.802256,34.400071],[116.949482,34.389297],[116.969533,34.275402],[117.033921,34.155538],[117.159443,34.091175],[117.321294,34.07885],[117.391729,34.031256],[117.503453,34.049757],[117.57239,33.990458],[117.650886,33.982474],[117.687525,33.887596],[117.745557,33.882273],[117.752224,33.72435],[117.925547,33.733962],[118.123674,33.766001],[118.176746,33.692621],[118.121504,33.611256],[117.931851,33.235129],[117.996447,33.167821],[118.080731,33.149553],[118.218035,33.179913],[118.248421,33.013412],[118.239016,32.923701],[118.299684,32.777405],[118.399109,32.730897],[118.720175,32.732137],[118.748235,32.838539],[118.797741,32.865074],[118.857376,32.972303],[118.992975,32.962045],[119.008943,32.909542],[119.109505,32.833888],[119.190379,32.711234],[119.199371,32.593721],[119.080515,32.446082],[118.891327,32.595685],[118.751853,32.612506],[118.551813,32.574446],[118.61181,32.477682],[118.667878,32.453213],[118.684053,32.339241],[118.65036,32.237878],[118.514399,32.199766],[118.499052,32.137677],[118.383141,32.053961],[118.35198,31.946681],[118.481068,31.858702],[118.476882,31.79023],[118.684363,31.700856],[118.680746,31.646751],[118.860477,31.627372],[118.88094,31.522443],[118.827249,31.397541],[118.751026,31.357957],[118.755728,31.280804],[118.816086,31.226337],[119.074727,31.238843],[119.162887,31.287445],[119.316831,31.266722],[119.362771,31.19236],[119.629784,31.13288],[119.574955,30.847058],[119.500541,30.769388],[119.443128,30.639215],[119.350627,30.675363],[119.241539,30.550849],[119.32081,30.518163],[119.362875,30.404475],[119.210688,30.313731],[119.057519,30.311871],[118.934684,30.352127],[118.881095,30.324351],[118.909466,30.222212],[118.852725,30.159271],[118.893963,29.982589],[118.820117,29.880037],[118.741311,29.828361],[118.723741,29.730201],[118.648086,29.658293],[118.556929,29.62522],[118.469596,29.523935],[118.373219,29.452828],[118.17473,29.407869],[118.113442,29.518664],[117.985905,29.57202],[117.898571,29.548972],[117.707679,29.555638],[117.649181,29.605868],[117.52738,29.622352],[117.402168,29.773067],[117.406302,29.831177],[117.274268,29.829472],[117.225538,29.906676],[117.125182,29.910552],[117.067098,29.840582],[117.106682,29.786373],[117.079087,29.710202],[116.955063,29.653901],[116.888349,29.560522],[116.748564,29.544864],[116.648467,29.627417],[116.674977,29.708006],[116.797915,29.755936],[116.886799,29.920422],[116.791404,30.022018],[116.650482,30.050673],[116.492507,29.884714],[116.389516,29.876058],[116.236192,29.781335],[116.147257,29.788776]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"CHN-1180","diss_me":1180,"iso_3166_2":"CN-GD","wikipedia":null,"iso_a2":"CN","adm0_sr":5,"name":"Guangdong","name_alt":"Guǎngdōng","name_local":"廣東|广东","type":"Shěng","type_en":"Province","code_local":null,"code_hasc":"CN.GD","note":null,"hasc_maybe":null,"region":"South Central China","region_cod":"4","provnum_ne":3,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":null,"postal":"GD","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":9,"mapcolor9":4,"mapcolor13":3,"fips":"CH30","fips_alt":null,"woe_id":12578019,"woe_label":"Guangdong, CN, China","woe_name":"Guangdong","latitude":23.7924,"longitude":113.72,"sov_a3":"CH1","adm0_a3":"CHN","adm0_label":2,"admin":"China","geonunit":"China","gu_a3":"CHN","gn_id":1809935,"gn_name":"Guangdong Sheng","gns_id":-1907075,"gns_name":"Guangdong Sheng","gn_level":1,"gn_region":null,"gn_a1_code":"CN.30","region_sub":null,"sub_code":null,"gns_level":1,"gns_lang":"zho","gns_adm1":"CH30","gns_region":null,"min_label":4.6,"max_label":10.1,"min_zoom":4.6,"wikidataid":"Q15175","name_ar":"غوانغدونغ","name_bn":"কুয়াংতুং","name_de":"Guangdong","name_en":"Guangdong","name_es":"Guangdong","name_fr":"Guangdong","name_el":"Κουανγκτούνγκ","name_hi":"गुआंगदोंग","name_hu":"Kuangtung","name_id":"Guangdong","name_it":"Guangdong","name_ja":"広東省","name_ko":"광둥성","name_nl":"Guangdong","name_pl":"Guangdong","name_pt":"Guangdong","name_ru":"Гуандун","name_sv":"Guangdong","name_tr":"Guangdong","name_vi":"Quảng Đông","name_zh":"广东省","ne_id":1159310335,"name_he":"גואנגדונג","name_uk":"Гуандун","name_ur":"گوانگڈونگ","name_fa":"گوانگدونگ","name_zht":"廣東省","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[109.662598,20.263721,117.175049,25.505575],"geometry":{"type":"MultiPolygon","coordinates":[[[[113.464941,22.904541],[113.520508,22.852051],[113.555273,22.804199],[113.563672,22.75791],[113.485645,22.82832],[113.463379,22.832373],[113.426074,22.858594],[113.404395,22.902832],[113.464941,22.904541]]],[[[112.782031,21.772266],[112.839063,21.764502],[112.862598,21.752637],[112.812598,21.712158],[112.800684,21.694873],[112.790234,21.601855],[112.771094,21.581836],[112.741992,21.618066],[112.733496,21.669922],[112.712695,21.697949],[112.760547,21.733252],[112.782031,21.772266]]],[[[112.558984,21.674756],[112.647656,21.710254],[112.64375,21.639648],[112.545605,21.618506],[112.525,21.623047],[112.558984,21.674756]]],[[[110.521582,21.083105],[110.539551,21.039014],[110.538867,21.018457],[110.503906,20.967725],[110.421875,21.006885],[110.339941,20.997754],[110.280957,21.001172],[110.264648,21.025195],[110.309863,21.074756],[110.385156,21.093164],[110.422363,21.058594],[110.521582,21.083105]]],[[[109.759375,21.560059],[109.91725,21.687152],[109.967221,21.866728],[110.142352,21.897449],[110.216146,21.874531],[110.355879,21.888974],[110.355466,22.10077],[110.333555,22.190455],[110.414119,22.198309],[110.466725,22.151],[110.642373,22.183452],[110.670796,22.267582],[110.774562,22.283653],[110.696995,22.368712],[110.754563,22.580172],[111.023797,22.63867],[111.066017,22.740576],[111.181462,22.748534],[111.277167,22.81853],[111.351219,22.908214],[111.410957,23.052598],[111.369978,23.139105],[111.362846,23.273024],[111.391217,23.431257],[111.4693,23.557916],[111.471005,23.613236],[111.601178,23.658014],[111.613735,23.759868],[111.657505,23.841697],[111.793311,23.849191],[111.807884,23.909239],[111.899144,23.990862],[111.869327,24.231829],[111.975936,24.276761],[112.047301,24.381458],[111.990922,24.465871],[112.005546,24.553075],[111.933251,24.601367],[111.932476,24.698286],[111.996554,24.735674],[112.066369,24.796575],[112.144762,24.793552],[112.164761,24.911994],[112.120991,24.949278],[112.182745,25.152574],[112.213957,25.200374],[112.458387,25.164252],[112.663335,25.113144],[112.714082,24.999508],[112.807823,24.942845],[112.988897,24.963929],[112.95877,25.056145],[112.969053,25.180582],[112.88911,25.241457],[112.917377,25.324863],[113.089769,25.41416],[113.217462,25.505575],[113.421635,25.3838],[113.523438,25.385583],[113.582452,25.325948],[113.713866,25.360907],[113.828071,25.356747],[113.927548,25.448111],[114.01209,25.435114],[114.026043,25.267657],[114.114978,25.30843],[114.278844,25.291816],[114.384367,25.335301],[114.429222,25.38597],[114.569317,25.406873],[114.580479,25.360054],[114.706932,25.289568],[114.683057,25.163451],[114.729307,25.118881],[114.548233,25.054466],[114.413513,24.97969],[114.383592,24.884683],[114.301633,24.758644],[114.192338,24.695263],[114.289386,24.595631],[114.424882,24.49959],[114.498107,24.55584],[114.641923,24.58527],[114.711582,24.554548],[114.74047,24.625241],[114.862684,24.587828],[114.944643,24.669967],[115.046963,24.706658],[115.139102,24.684153],[115.239664,24.746113],[115.420583,24.78456],[115.541144,24.68547],[115.599177,24.609067],[115.705785,24.545711],[115.799216,24.572738],[115.74909,24.74774],[115.787279,24.860912],[115.887531,24.916774],[116.035688,24.893571],[116.114701,24.846055],[116.372101,24.841301],[116.529559,24.615371],[116.603767,24.655834],[116.745308,24.670923],[116.748564,24.551499],[116.882406,24.393989],[116.967672,24.185113],[116.924832,24.0776],[117.036505,23.738267],[117.175049,23.615667],[117.148145,23.598779],[117.08252,23.57876],[117.032813,23.623437],[116.910645,23.64668],[116.860938,23.453076],[116.75957,23.38252],[116.712109,23.360498],[116.629395,23.353857],[116.682324,23.327393],[116.698828,23.277783],[116.669141,23.228174],[116.586426,23.218262],[116.538281,23.179688],[116.519824,23.006592],[116.470703,22.945898],[116.345508,22.941064],[116.251855,22.981348],[116.22207,22.949561],[116.206348,22.918652],[116.157422,22.887451],[116.062598,22.879102],[115.852148,22.801563],[115.755859,22.823926],[115.64043,22.853418],[115.561133,22.824707],[115.534668,22.765186],[115.49834,22.718848],[115.38252,22.718848],[115.289941,22.775977],[115.195801,22.817285],[115.091504,22.781689],[115.012109,22.708936],[114.914453,22.684619],[114.896387,22.639502],[114.853809,22.616797],[114.750391,22.626318],[114.711133,22.738721],[114.65166,22.755273],[114.592773,22.698437],[114.571973,22.654053],[114.544434,22.620605],[114.554199,22.528906],[114.496191,22.527051],[114.420117,22.583252],[114.340625,22.593213],[114.266016,22.540967],[114.228201,22.553947],[114.188204,22.565005],[114.122885,22.565005],[114.097873,22.551259],[114.050331,22.542991],[114.018291,22.51444],[114.015398,22.511908],[113.931152,22.531055],[113.82832,22.607227],[113.754492,22.733643],[113.661133,22.80166],[113.619629,22.861426],[113.603418,22.968896],[113.586328,23.02002],[113.592188,23.076953],[113.620508,23.12749],[113.519727,23.1021],[113.445312,23.055078],[113.460352,22.995703],[113.441895,22.940576],[113.331055,22.912012],[113.337793,22.888818],[113.344824,22.8646],[113.432031,22.789404],[113.449805,22.726123],[113.484766,22.692383],[113.553027,22.594043],[113.551465,22.40415],[113.588867,22.350488],[113.576465,22.297266],[113.548139,22.222623],[113.527055,22.245929],[113.494189,22.241537],[113.481063,22.217456],[113.478947,22.196088],[113.415723,22.178369],[113.367383,22.164844],[113.327734,22.14541],[113.266406,22.08877],[113.149023,22.075],[113.08877,22.207959],[113.008203,22.119336],[112.983789,21.938232],[112.953906,21.907324],[112.903809,21.881445],[112.808594,21.944629],[112.725391,21.902344],[112.660742,21.859473],[112.634082,21.819873],[112.586328,21.776855],[112.494727,21.818311],[112.421289,21.880615],[112.439453,21.927344],[112.429297,21.958105],[112.396094,21.981348],[112.359668,21.978027],[112.377441,21.91748],[112.389746,21.801221],[112.356445,21.767578],[112.30498,21.741699],[112.193359,21.763135],[112.117188,21.806494],[112.025195,21.843018],[111.943945,21.849658],[111.926465,21.77627],[111.873438,21.717139],[111.824609,21.709766],[111.775977,21.719238],[111.711914,21.655225],[111.681641,21.608496],[111.602734,21.559082],[111.392383,21.535107],[111.319141,21.486133],[111.220605,21.493896],[111.144238,21.482227],[111.100586,21.484717],[111.061133,21.510986],[111.016895,21.511719],[110.996777,21.430273],[110.878027,21.395947],[110.771094,21.386523],[110.652148,21.279102],[110.567187,21.214062],[110.504297,21.207422],[110.458008,21.230566],[110.43457,21.326904],[110.410937,21.338135],[110.397461,21.247705],[110.374609,21.172363],[110.331152,21.131348],[110.193555,21.037646],[110.154004,20.944629],[110.180371,20.858594],[110.36543,20.837598],[110.388477,20.790527],[110.370508,20.752051],[110.326172,20.719922],[110.313086,20.67168],[110.511523,20.518262],[110.517578,20.46001],[110.486914,20.426855],[110.449512,20.35542],[110.344727,20.294824],[110.123145,20.263721],[109.938477,20.295117],[109.88252,20.364063],[109.88584,20.413135],[109.931641,20.398877],[109.983887,20.403271],[109.968359,20.448145],[109.946387,20.474365],[109.861035,20.514307],[109.791992,20.621875],[109.805273,20.711475],[109.767383,20.780713],[109.72627,20.83877],[109.684766,20.873633],[109.662598,20.916895],[109.704492,21.052734],[109.68125,21.131641],[109.760156,21.228369],[109.77959,21.337451],[109.921094,21.376465],[109.930762,21.480566],[109.82959,21.483594],[109.759375,21.560059]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"CHN-1662","diss_me":1662,"iso_3166_2":"CN-XZ","wikipedia":null,"iso_a2":"CN","adm0_sr":1,"name":"Xizang","name_alt":"Tibet|Xīzàng","name_local":"西藏自治區|西藏自治区","type":"Zìzhìqu","type_en":"Autonomous Region","code_local":null,"code_hasc":"CN.XZ","note":null,"hasc_maybe":null,"region":"Southwest China","region_cod":"5","provnum_ne":48,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":null,"postal":"XZ","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":6,"mapcolor9":4,"mapcolor13":3,"fips":"CH14","fips_alt":null,"woe_id":12578004,"woe_label":"Tibet, CN, China","woe_name":"Xizang","latitude":31.4515,"longitude":88.4137,"sov_a3":"CH1","adm0_a3":"CHN","adm0_label":2,"admin":"China","geonunit":"China","gu_a3":"CHN","gn_id":1279685,"gn_name":"Tibet Autonomous Region","gns_id":-1934604,"gns_name":"Xizang Zizhiqu","gn_level":1,"gn_region":null,"gn_a1_code":"CN.14","region_sub":"Western","sub_code":null,"gns_level":1,"gns_lang":"zho","gns_adm1":"CH14","gns_region":null,"min_label":4.6,"max_label":10.1,"min_zoom":4.6,"wikidataid":"Q17269","name_ar":"منطقة التبت ذاتية الحكم","name_bn":"তিব্বত স্বায়ত্তশাসিত অঞ্চল","name_de":"Autonomes Gebiet Tibet","name_en":"Tibet","name_es":"Tíbet","name_fr":"Tibet","name_el":"Αυτόνομη Περιφέρεια του Θιβέτ","name_hi":"बोड स्वायत्त क्षेत्र","name_hu":"Tibeti Autonóm Terület","name_id":"Tibet","name_it":"regione autonoma del Tibet","name_ja":"チベット自治区","name_ko":"티베트 자치구","name_nl":"Tibetaanse Autonome Regio","name_pl":"Tybetański Autonomiczny","name_pt":"do Tibete","name_ru":"Тибетский автономный район","name_sv":"Autonoma regionen Tibet","name_tr":"Tibet Özerk Bölgesi","name_vi":"Khu tự trị Tây Tạng","name_zh":"西藏自治区","ne_id":1159312655,"name_he":"המחוז האוטונומי הטיבטי","name_uk":"Тибетський автономний район","name_ur":"تبت خود مختار علاقہ","name_fa":"منطقه خودمختار تبت","name_zht":"西藏自治區","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[78.389665,27.316059,99.108814,36.448887],"geometry":{"type":"Polygon","coordinates":[[[78.947317,34.335972],[79.204499,34.439449],[79.338393,34.430819],[79.512646,34.471695],[79.717336,34.412784],[79.793972,34.431025],[79.956288,34.684757],[79.883838,34.9196],[80.046928,35.017708],[80.014165,35.085921],[80.176171,35.253249],[80.262884,35.435667],[80.319211,35.509254],[80.486023,35.404248],[80.65609,35.3843],[80.766109,35.343424],[80.858455,35.347145],[80.978861,35.293402],[81.060923,35.388564],[81.210217,35.316914],[81.357339,35.332391],[81.461777,35.310248],[81.54508,35.251776],[81.711426,35.245653],[82.00221,35.319447],[82.086029,35.447992],[82.289169,35.544962],[82.318934,35.633743],[82.428178,35.68976],[82.710435,35.650176],[82.784591,35.684541],[82.935899,35.674076],[82.978429,35.600773],[82.971763,35.490444],[83.09868,35.412774],[83.246113,35.421249],[83.452612,35.393551],[83.564801,35.36071],[83.870674,35.374534],[83.984414,35.41603],[84.133191,35.377531],[84.214684,35.388951],[84.563449,35.559484],[84.777647,35.600489],[84.923633,35.689321],[85.149769,35.749808],[85.260254,35.730403],[85.389341,35.756707],[85.619766,35.675394],[85.716866,35.759265],[85.929928,35.761693],[86.087438,35.875588],[86.21234,36.115935],[86.399512,36.170041],[86.459405,36.219443],[86.71386,36.231458],[86.786982,36.260268],[87.000819,36.274091],[87.193831,36.30396],[87.345604,36.374059],[87.570914,36.333803],[87.924535,36.38256],[88.000086,36.428371],[88.459231,36.448887],[88.52238,36.414315],[88.711722,36.368401],[88.828098,36.373672],[88.958271,36.287294],[89.223629,36.263575],[89.677813,36.081958],[89.514671,36.053252],[89.435141,35.987804],[89.484647,35.880187],[89.581437,35.839777],[89.788763,35.826857],[89.788866,35.775543],[89.715072,35.642347],[89.690267,35.508582],[89.73011,35.443651],[89.484337,35.34221],[89.45483,35.212838],[89.57167,35.073312],[89.583607,34.940917],[89.787677,34.926396],[89.825246,34.84609],[89.723909,34.739637],[89.791088,34.554119],[89.795739,34.408417],[89.840284,34.383328],[89.786592,34.198533],[89.636731,34.093371],[89.741892,33.909507],[89.877233,33.822742],[89.975108,33.630557],[90.140576,33.578209],[90.203208,33.500074],[90.205688,33.401502],[90.3232,33.288718],[90.436268,33.282181],[90.660337,33.155858],[90.80405,33.140536],[90.949932,33.239393],[91.127906,33.254327],[91.189194,33.336958],[91.361587,33.336958],[91.376469,33.271251],[91.542661,33.080333],[91.720324,32.982509],[91.813135,32.968272],[91.976846,32.848615],[92.08609,32.885642],[92.196109,32.86864],[92.221379,32.744978],[92.465809,32.769421],[92.649983,32.740431],[92.727291,32.760559],[92.850023,32.728881],[93.005931,32.734617],[93.031252,32.66351],[93.218527,32.65979],[93.345341,32.577702],[93.442596,32.563336],[93.510396,32.516103],[93.597161,32.564576],[93.734155,32.572457],[93.877402,32.495381],[94.110773,32.478225],[94.178262,32.522253],[94.316858,32.540753],[94.582217,32.672192],[94.721847,32.592869],[94.75523,32.535456],[94.852226,32.50011],[94.938939,32.42815],[94.951342,32.337225],[95.061826,32.261209],[95.259075,32.244079],[95.382116,32.170052],[95.425266,32.09476],[95.354314,31.954406],[95.406766,31.810668],[95.497096,31.741655],[95.592698,31.761576],[95.725041,31.746357],[95.773772,31.697988],[95.848858,31.714266],[96.094218,31.700546],[96.167288,31.548049],[96.214624,31.606753],[96.212918,31.735117],[96.147754,31.779921],[96.182636,31.871156],[96.278186,31.90906],[96.483238,31.753463],[96.664157,31.721139],[96.737382,31.679798],[96.795415,31.715455],[96.752885,31.838677],[96.786372,31.910146],[96.754126,31.973837],[96.914581,31.990141],[97.018089,32.022904],[97.124077,32.009338],[97.25487,32.075794],[97.254405,32.203952],[97.359773,32.260486],[97.393156,32.384974],[97.326287,32.423577],[97.360859,32.500187],[97.562293,32.484348],[97.630868,32.444092],[97.715721,32.54419],[98.014152,32.464505],[98.080556,32.404689],[98.205768,32.355648],[98.220186,32.252192],[98.309586,32.128711],[98.452988,31.984095],[98.420846,31.878184],[98.445495,31.803615],[98.558718,31.677111],[98.592153,31.598821],[98.884952,31.354081],[98.767801,31.230368],[98.68269,31.315918],[98.611377,31.25618],[98.620265,31.187942],[98.803044,30.990977],[98.775088,30.902223],[98.954301,30.747865],[98.905364,30.663813],[98.932752,30.490697],[98.960709,30.459976],[98.986754,30.144362],[99.03409,30.055323],[99.056311,29.915332],[99.005461,29.820092],[98.986754,29.650904],[99.041996,29.562459],[99.062512,29.308289],[99.108814,29.223772],[98.990165,29.20199],[99.006288,29.073161],[98.932442,28.986345],[98.908878,28.91237],[98.94562,28.842012],[98.873479,28.811808],[98.820408,28.886041],[98.785009,29.000246],[98.66481,28.974175],[98.638713,28.878651],[98.678143,28.757056],[98.589207,28.670292],[98.640419,28.424131],[98.575823,28.317548],[98.489885,28.248069],[98.409994,28.250602],[98.299768,28.354807],[98.23016,28.202878],[98.099453,28.140021],[98.098953,28.142262],[98.061643,28.185877],[98.022317,28.211534],[97.934054,28.313828],[97.887596,28.356487],[97.864962,28.363592],[97.81649,28.356331],[97.769051,28.356151],[97.730087,28.407104],[97.694637,28.469348],[97.658877,28.500018],[97.599242,28.517045],[97.537902,28.510224],[97.50209,28.456325],[97.477699,28.425655],[97.431449,28.353903],[97.356466,28.254503],[97.322515,28.217994],[97.289493,28.23683],[97.145161,28.340312],[97.075346,28.368966],[96.980882,28.337702],[96.833036,28.362403],[96.77583,28.367054],[96.65284,28.449737],[96.602662,28.459917],[96.427686,28.406018],[96.389083,28.367933],[96.366449,28.367261],[96.319837,28.386511],[96.281493,28.412065],[96.278909,28.428188],[96.326141,28.468547],[96.329862,28.496814],[96.327382,28.525391],[96.395595,28.606523],[96.580906,28.763671],[96.550004,28.82961],[96.47714,28.959318],[96.467063,29.022286],[96.435695,29.050682],[96.346864,29.027427],[96.162224,28.909709],[96.137161,28.922602],[96.141346,28.963452],[96.12233,29.082075],[96.180827,29.117655],[96.270538,29.161218],[96.339732,29.209794],[96.355804,29.249068],[96.3372,29.261005],[96.234984,29.245786],[96.19478,29.272451],[96.128479,29.381385],[96.079593,29.424147],[96.035306,29.447143],[95.885031,29.390945],[95.710365,29.313818],[95.515803,29.206331],[95.51694,29.151193],[95.493789,29.137007],[95.45653,29.102281],[95.420202,29.054299],[95.389248,29.037401],[95.353074,29.035902],[95.279074,29.049545],[95.144715,29.104064],[94.998884,29.149177],[94.967516,29.144061],[94.769441,29.175868],[94.763136,29.201293],[94.73337,29.2516],[94.677043,29.297023],[94.62299,29.312423],[94.468064,29.216201],[94.293294,29.14463],[94.193455,29.059932],[94.111548,28.97588],[94.017652,28.959525],[94.013311,28.907538],[93.973623,28.860797],[93.902258,28.803203],[93.760768,28.729771],[93.664908,28.690239],[93.360534,28.654065],[93.251962,28.629467],[93.206539,28.590813],[93.157756,28.492731],[93.119205,28.402298],[93.034973,28.327651],[92.881856,28.228122],[92.701866,28.147119],[92.652567,28.093376],[92.643472,28.061543],[92.66559,28.049864],[92.687449,28.025732],[92.687759,27.98899],[92.664349,27.94894],[92.546734,27.879177],[92.480691,27.845949],[92.414856,27.824607],[92.341062,27.820757],[92.270058,27.830214],[92.250525,27.841479],[92.222258,27.826932],[92.157559,27.812256],[92.101283,27.807631],[91.977673,27.730349],[91.909408,27.729677],[91.824711,27.74642],[91.712573,27.75983],[91.631906,27.75996],[91.629374,27.800862],[91.64188,27.923257],[91.605603,27.951705],[91.493361,27.981781],[91.367581,28.021649],[91.30681,28.064024],[91.273013,28.07839],[91.225884,28.071258],[91.14992,28.026765],[91.07778,27.974468],[91.02078,27.970076],[90.962541,27.994571],[90.906627,28.026532],[90.715734,28.071724],[90.630055,28.078545],[90.477299,28.070845],[90.352759,28.080224],[90.333122,28.093996],[90.333703,28.117532],[90.333742,28.119137],[90.352139,28.168178],[90.362991,28.216495],[90.348212,28.243935],[90.220778,28.277757],[90.104506,28.302045],[89.981102,28.311192],[89.897903,28.294139],[89.816926,28.256286],[89.799126,28.238226],[89.749799,28.188176],[89.652699,28.158307],[89.536892,28.107432],[89.480668,28.059941],[89.395918,27.958139],[89.272618,27.833159],[89.160481,27.71128],[89.116304,27.620982],[89.102396,27.592554],[89.025502,27.517856],[89.021324,27.514969],[88.947574,27.464009],[88.89135,27.316059],[88.832542,27.362826],[88.764897,27.429876],[88.749033,27.521886],[88.829906,27.767401],[88.848768,27.868661],[88.828615,27.907263],[88.803706,28.006921],[88.756216,28.039684],[88.621082,28.091826],[88.577932,28.09335],[88.53163,28.057357],[88.486103,28.034465],[88.425952,28.011676],[88.27516,27.968836],[88.141111,27.948914],[88.108969,27.933024],[88.098943,27.90455],[88.109795,27.870599],[88.023341,27.883415],[87.933372,27.89083],[87.860715,27.886102],[87.682741,27.821403],[87.62259,27.815202],[87.555307,27.821842],[87.46415,27.823832],[87.290724,27.82192],[87.141379,27.838327],[87.020094,27.928657],[86.933846,27.968474],[86.842379,27.99917],[86.750395,28.022088],[86.719648,28.070638],[86.690502,28.094926],[86.614434,28.103014],[86.554541,28.085211],[86.516921,27.963513],[86.484933,27.939535],[86.408711,27.928657],[86.328612,27.959534],[86.217921,28.022088],[86.174203,28.091696],[86.136996,28.114331],[86.078705,28.083583],[86.075501,27.994571],[86.064132,27.934703],[85.994576,27.910416],[85.954113,27.928218],[85.921712,27.989713],[85.84027,28.135363],[85.759448,28.220655],[85.678316,28.277447],[85.410632,28.276026],[85.212143,28.29264],[85.122432,28.315946],[85.088584,28.372274],[85.121451,28.484256],[85.160105,28.571848],[85.159071,28.592234],[85.126308,28.602647],[85.069154,28.609675],[84.85511,28.553606],[84.796871,28.560221],[84.759406,28.579238],[84.71424,28.595542],[84.676775,28.621535],[84.650627,28.659543],[84.46547,28.752922],[84.410796,28.803927],[84.312146,28.868109],[84.228689,28.91175],[84.175565,29.036393],[84.127816,29.156308],[84.101358,29.219974],[84.021983,29.253874],[83.935993,29.279505],[83.790472,29.227415],[83.671048,29.187624],[83.583508,29.183594],[83.456694,29.306325],[83.355202,29.439134],[83.235209,29.554605],[83.155421,29.612663],[83.013931,29.618089],[82.854302,29.683382],[82.640827,29.831203],[82.486573,29.94148],[82.220646,30.06385],[82.158944,30.115165],[82.13538,30.158986],[82.098948,30.245079],[82.043396,30.32678],[81.85488,30.362411],[81.641921,30.387525],[81.417129,30.337606],[81.255123,30.093306],[81.177195,30.039872],[81.110326,30.036797],[81.055601,30.09899],[81.010229,30.164516],[80.985476,30.237121],[80.873545,30.29058],[80.746782,30.360421],[80.682135,30.414836],[80.608858,30.448891],[80.540955,30.463541],[80.409594,30.509456],[80.260972,30.561339],[80.191209,30.568419],[80.191159,30.568787],[80.186248,30.605316],[80.207125,30.683735],[80.19431,30.759208],[80.149454,30.789852],[80.0815,30.78192],[79.9166,30.894187],[79.910361,30.898435],[79.8719,30.924624],[79.794592,30.968265],[79.664264,30.965216],[79.565459,30.949093],[79.493164,30.993716],[79.388467,31.064202],[79.370482,31.079223],[79.369657,31.079912],[79.338755,31.105699],[79.232611,31.241763],[79.107141,31.402657],[79.043785,31.426222],[79.011074,31.414104],[78.973919,31.328631],[78.946014,31.337209],[78.899505,31.33137],[78.869351,31.314989],[78.844521,31.301501],[78.84293,31.301264],[78.791656,31.293646],[78.757808,31.302482],[78.743494,31.323799],[78.758635,31.436583],[78.726699,31.471826],[78.755069,31.550271],[78.802973,31.61807],[78.753881,31.668352],[78.693471,31.740363],[78.687011,31.805501],[78.716727,31.88026],[78.719671,31.887666],[78.735484,31.957946],[78.725562,31.98381],[78.67771,32.023033],[78.495912,32.21576],[78.48739,32.233521],[78.486093,32.236224],[78.455294,32.300328],[78.441342,32.397351],[78.417467,32.466701],[78.389665,32.519876],[78.39028,32.527268],[78.391732,32.544732],[78.412558,32.557703],[78.526349,32.570777],[78.631563,32.578942],[78.700861,32.597003],[78.736724,32.558375],[78.753467,32.499257],[78.771244,32.46807],[78.837907,32.411975],[78.918987,32.35818],[78.99769,32.365157],[79.06704,32.388178],[79.127398,32.47577],[79.169876,32.497216],[79.218768,32.501018],[79.219382,32.501066],[79.291574,32.506647],[79.384592,32.570054],[79.469858,32.643382],[79.493525,32.688289],[79.499106,32.73007],[79.435906,32.834043],[79.334827,32.975507],[79.340201,33.034005],[79.376168,33.146298],[79.355084,33.16981],[79.11688,33.225251],[79.112515,33.226267],[79.066523,33.250374],[79.012625,33.291457],[78.948494,33.346544],[78.916713,33.386774],[78.865088,33.431086],[78.801836,33.499713],[78.789951,33.650349],[78.78375,33.808789],[78.761735,33.887596],[78.726647,34.013402],[78.731763,34.055544],[78.753054,34.087687],[78.931751,34.188947],[78.970612,34.228195],[78.976916,34.258116],[78.970095,34.302609],[78.947317,34.335972]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"IND-3259","diss_me":3259,"iso_3166_2":"IN-SK","wikipedia":null,"iso_a2":"IN","adm0_sr":1,"name":"Sikkim","name_alt":null,"name_local":null,"type":"State","type_en":"State","code_local":null,"code_hasc":"IN.SK","note":null,"hasc_maybe":null,"region":"East","region_cod":null,"provnum_ne":20058,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":null,"postal":"SK","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":6,"mapcolor9":2,"mapcolor13":2,"fips":"IN29","fips_alt":null,"woe_id":2345762,"woe_label":"Sikkim, IN, India","woe_name":"Sikkim","latitude":27.5709,"longitude":88.4482,"sov_a3":"IND","adm0_a3":"IND","adm0_label":2,"admin":"India","geonunit":"India","gu_a3":"IND","gn_id":1256312,"gn_name":"State of Sikkim","gns_id":-2111292,"gns_name":"Sikkim, State of","gn_level":1,"gn_region":null,"gn_a1_code":"IN.29","region_sub":null,"sub_code":null,"gns_level":1,"gns_lang":"nld","gns_adm1":"IN29","gns_region":null,"min_label":4.6,"max_label":10.1,"min_zoom":4.6,"wikidataid":"Q1505","name_ar":"سيكيم","name_bn":"সিকিম","name_de":"Sikkim","name_en":"Sikkim","name_es":"Sikkim","name_fr":"Sikkim","name_el":"Σίκκιμ","name_hi":"सिक्किम","name_hu":"Szikkim","name_id":"Sikkim","name_it":"Sikkim","name_ja":"シッキム州","name_ko":"시킴","name_nl":"Sikkim","name_pl":"Sikkim","name_pt":"Siquim","name_ru":"Сикким","name_sv":"Sikkim","name_tr":"Sikkim","name_vi":"Sikkim","name_zh":"锡金邦","ne_id":1159314169,"name_he":"סיקים","name_uk":"Сіккім","name_ur":"سکم","name_fa":"سیکیم","name_zht":"錫金邦","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[88.000898,27.085117,88.89135,28.09335],"geometry":{"type":"Polygon","coordinates":[[[88.89135,27.316059],[88.881686,27.297481],[88.760402,27.218132],[88.738801,27.175603],[88.7562,27.148801],[88.66449,27.173355],[88.518039,27.176223],[88.447656,27.114495],[88.357429,27.085117],[88.233095,27.137104],[88.118167,27.138499],[88.000898,27.248035],[88.024116,27.40887],[88.067886,27.567362],[88.105558,27.642447],[88.147002,27.749211],[88.154237,27.798691],[88.15031,27.843314],[88.109795,27.870599],[88.098943,27.90455],[88.108969,27.933024],[88.141111,27.948914],[88.27516,27.968836],[88.425952,28.011676],[88.486103,28.034465],[88.53163,28.057357],[88.577932,28.09335],[88.621082,28.091826],[88.756216,28.039684],[88.803706,28.006921],[88.828615,27.907263],[88.848768,27.868661],[88.829906,27.767401],[88.749033,27.521886],[88.764897,27.429876],[88.832542,27.362826],[88.89135,27.316059]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"CHN-1756","diss_me":1756,"iso_3166_2":"CN-XJ","wikipedia":null,"iso_a2":"CN","adm0_sr":1,"name":"Xinjiang","name_alt":"Xinjiang Uygur|Xīnjiāng Wéiwúěr","name_local":"新疆維吾爾自治區|新疆维吾尔自治区","type":"Zìzhìqu","type_en":"Autonomous Region","code_local":null,"code_hasc":"CN.XJ","note":null,"hasc_maybe":null,"region":"Northwest China","region_cod":"6","provnum_ne":49,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":null,"postal":"XJ","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":8,"mapcolor9":4,"mapcolor13":3,"fips":"CH13","fips_alt":null,"woe_id":12578003,"woe_label":"Xinjiang, CN, China","woe_name":"Xinjiang","latitude":41.122,"longitude":85.4253,"sov_a3":"CH1","adm0_a3":"CHN","adm0_label":2,"admin":"China","geonunit":"China","gu_a3":"CHN","gn_id":1529047,"gn_name":"Xinjiang Uygur Zizhiqu","gns_id":-1933787,"gns_name":"Xinjiang Uygur Zizhiqu","gn_level":1,"gn_region":null,"gn_a1_code":"CN.13","region_sub":"Western","sub_code":null,"gns_level":1,"gns_lang":"uig","gns_adm1":"CH13","gns_region":null,"min_label":4.6,"max_label":10.1,"min_zoom":4.6,"wikidataid":"Q34800","name_ar":"سنجان","name_bn":"শিনচিয়াং","name_de":"Xinjiang","name_en":"Xinjiang","name_es":"Sinkiang","name_fr":"Xinjiang","name_el":"Σιντσιάνγκ","name_hi":"शिंजियांग","name_hu":"Hszincsiang-Ujgur Autonóm Terület","name_id":"Xinjiang","name_it":"Sinkiang","name_ja":"新疆ウイグル自治区","name_ko":"신장 위구르 자치구","name_nl":"Sinkiang","name_pl":"Sinciang","name_pt":"Xinjiang","name_ru":"Синьцзян-Уйгурский автономный район","name_sv":"Xinjiang","name_tr":"Sincan Uygur Özerk Bölgesi","name_vi":"Tân Cương","name_zh":"新疆维吾尔自治区","ne_id":1159312657,"name_he":"שינג'יאנג","name_uk":"Сіньцзян-Уйгурський автономний район","name_ur":"سنکیانگ","name_fa":"سینکیانگ","name_zht":"新疆維吾爾自治區","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[73.607321,34.335972,96.372543,49.165811],"geometry":{"type":"Polygon","coordinates":[[[78.947317,34.335972],[78.936402,34.35196],[78.86483,34.390356],[78.763079,34.452936],[78.670785,34.518152],[78.515756,34.557943],[78.32693,34.606389],[78.281971,34.653932],[78.236186,34.769816],[78.158465,34.946498],[78.075731,35.13491],[78.01222,35.251027],[78.009172,35.306941],[78.047412,35.449387],[78.04271,35.479798],[78.009482,35.490237],[77.945868,35.471634],[77.894915,35.448999],[77.851507,35.460782],[77.810889,35.484527],[77.799365,35.495922],[77.724073,35.480574],[77.572557,35.47184],[77.520054,35.473416],[77.446519,35.475613],[77.294848,35.508143],[77.090003,35.552042],[76.878853,35.613305],[76.76687,35.6617],[76.727544,35.678675],[76.63184,35.72937],[76.56342,35.772985],[76.551276,35.88706],[76.502028,35.878224],[76.385756,35.837141],[76.251656,35.810915],[76.17781,35.810528],[76.147838,35.829028],[76.103293,35.949227],[76.07084,35.982998],[76.010482,35.996356],[75.945112,36.017595],[75.912297,36.048963],[75.904856,36.088469],[75.934104,36.133919],[75.968624,36.168852],[75.974412,36.382431],[75.951881,36.458111],[75.951329,36.45997],[75.933019,36.52157],[75.885012,36.600712],[75.84026,36.649701],[75.772202,36.694918],[75.667196,36.74197],[75.573713,36.759307],[75.460232,36.725045],[75.424161,36.738223],[75.376877,36.883718],[75.346647,36.913458],[75.145212,36.973222],[75.053951,36.987148],[74.949152,36.968338],[74.88931,36.952422],[74.841251,36.979087],[74.76601,37.012728],[74.692216,37.035724],[74.600646,37.036654],[74.541373,37.022185],[74.526438,37.03066],[74.497913,37.057222],[74.376163,37.137372],[74.372133,37.157732],[74.558943,37.236616],[74.668962,37.266692],[74.726685,37.290747],[74.738984,37.285631],[74.767354,37.249174],[74.840218,37.225067],[74.891326,37.23163],[74.918146,37.250026],[75.008373,37.293538],[75.079015,37.344052],[75.118805,37.385677],[75.097515,37.451254],[74.98641,37.530397],[74.91582,37.572823],[74.894271,37.601426],[74.912358,37.687312],[74.9383,37.772527],[74.921246,37.805005],[74.900266,37.83273],[74.890809,37.925799],[74.842491,38.038092],[74.789678,38.103618],[74.775105,38.191907],[74.772108,38.274744],[74.83598,38.404323],[74.812261,38.460314],[74.74503,38.510027],[74.514036,38.600021],[74.277461,38.659759],[74.187338,38.657512],[74.131372,38.661181],[74.06533,38.608496],[74.02559,38.539818],[73.970038,38.533695],[73.869114,38.562866],[73.801625,38.606894],[73.754134,38.69893],[73.716824,38.817218],[73.69605,38.854321],[73.706799,38.886206],[73.730001,38.914679],[73.794493,38.941293],[73.805294,38.968629],[73.795579,39.002167],[73.743747,39.044542],[73.690417,39.104538],[73.607321,39.229208],[73.623134,39.297834],[73.636364,39.396691],[73.631661,39.448859],[73.715739,39.462269],[73.822915,39.488959],[73.872783,39.533298],[73.907148,39.578515],[73.914693,39.606472],[73.88255,39.714553],[73.839762,39.762845],[73.83537,39.800155],[73.856247,39.82868],[73.884617,39.877928],[73.938774,39.978826],[73.991587,40.043138],[74.020526,40.059364],[74.085122,40.074298],[74.242683,40.092023],[74.411923,40.137189],[74.613048,40.272167],[74.679866,40.310615],[74.767767,40.329864],[74.830503,40.328495],[74.841768,40.34498],[74.801254,40.42854],[74.811124,40.458771],[74.835102,40.482594],[74.865591,40.493498],[75.004549,40.449495],[75.111312,40.45412],[75.24102,40.480294],[75.520796,40.627546],[75.555575,40.625195],[75.583532,40.605325],[75.617431,40.516597],[75.655982,40.32927],[75.677169,40.305809],[75.871989,40.303199],[76.004281,40.371438],[76.062314,40.387535],[76.156623,40.376476],[76.206078,40.408387],[76.258322,40.430737],[76.318525,40.352266],[76.39635,40.389809],[76.480169,40.449521],[76.520942,40.511248],[76.577889,40.577885],[76.622176,40.662376],[76.639798,40.742216],[76.661192,40.779656],[76.708424,40.818129],[76.824076,40.982305],[76.90774,41.024189],[76.98665,41.039149],[77.18209,41.010727],[77.283996,41.014344],[77.581756,40.992769],[77.719318,41.024292],[77.81523,41.055608],[77.95641,41.050699],[78.123428,41.075633],[78.346257,41.28146],[78.348841,41.325204],[78.36238,41.371609],[78.442892,41.41755],[78.543144,41.459589],[78.742615,41.560048],[79.14843,41.719133],[79.293589,41.782825],[79.354412,41.781068],[79.503861,41.821013],[79.766119,41.898864],[79.840429,41.995732],[79.909676,42.015007],[80.21622,42.032422],[80.235134,42.043481],[80.246193,42.05981],[80.229191,42.129832],[80.209347,42.190035],[80.233067,42.207812],[80.259112,42.235407],[80.255081,42.274164],[80.205782,42.399428],[80.179323,42.518335],[80.161857,42.625538],[80.165009,42.66551],[80.202216,42.734472],[80.250275,42.797285],[80.424011,42.855782],[80.53894,42.873507],[80.543694,42.911696],[80.450676,42.935545],[80.383342,42.97376],[80.371301,42.995619],[80.374505,43.020398],[80.390215,43.043135],[80.507004,43.085768],[80.617023,43.128272],[80.751226,43.102512],[80.777788,43.118945],[80.785746,43.161552],[80.757014,43.20434],[80.729781,43.274284],[80.667769,43.31007],[80.665392,43.352987],[80.703839,43.427065],[80.650819,43.564163],[80.593458,43.685086],[80.495997,43.892102],[80.431556,43.951762],[80.395796,44.047183],[80.35523,44.097283],[80.358951,44.171309],[80.365359,44.223296],[80.35492,44.326494],[80.336316,44.438399],[80.355023,44.551984],[80.391042,44.626811],[80.381482,44.655414],[80.40055,44.676912],[80.455431,44.684069],[80.481527,44.714635],[80.455431,44.74608],[80.360811,44.770291],[80.255029,44.808118],[80.127854,44.803777],[79.997164,44.797214],[79.932103,44.825171],[79.875259,44.860828],[79.871849,44.883772],[79.95019,44.944079],[80.059227,45.006452],[80.228209,45.033996],[80.414968,45.075104],[80.509226,45.104999],[80.634799,45.126496],[80.780114,45.135566],[80.853339,45.129313],[81.040356,45.16913],[81.334705,45.246205],[81.602079,45.310826],[81.692048,45.349377],[81.758865,45.310826],[81.789664,45.226025],[81.867489,45.1821],[81.9449,45.160861],[81.989239,45.161843],[82.122771,45.194864],[82.266586,45.219101],[82.323379,45.205871],[82.396656,45.162463],[82.478718,45.123577],[82.521454,45.125489],[82.558971,45.155435],[82.597005,45.215948],[82.621086,45.293101],[82.625789,45.374414],[82.61163,45.424256],[82.582536,45.442601],[82.451639,45.471953],[82.326634,45.519935],[82.312216,45.563705],[82.315214,45.594943],[82.348132,45.671528],[82.429729,45.811933],[82.511687,46.005797],[82.555096,46.158682],[82.692245,46.386678],[82.800042,46.624441],[82.974915,46.966022],[83.004061,47.033512],[83.02008,47.141464],[83.029434,47.185957],[83.090308,47.209367],[83.193093,47.186552],[83.443517,47.108649],[83.6341,47.043201],[83.71394,47.021058],[83.83264,46.997855],[84.01604,46.970518],[84.122028,46.978631],[84.215149,46.994703],[84.338863,46.99615],[84.532443,46.975789],[84.592284,46.974962],[84.666646,46.972379],[84.719563,46.939332],[84.746021,46.864375],[84.786174,46.830734],[84.858263,46.843188],[85.012207,46.90923],[85.110599,46.961217],[85.233485,47.036354],[85.355338,47.046741],[85.484788,47.06351],[85.529746,47.100795],[85.577237,47.188489],[85.656612,47.254635],[85.669841,47.338403],[85.641832,47.397417],[85.586642,47.493665],[85.588296,47.558493],[85.56163,47.746466],[85.525974,47.915629],[85.562251,48.051873],[85.626381,48.203983],[85.651547,48.250544],[85.692217,48.311832],[85.749371,48.385083],[85.829831,48.408053],[86.056122,48.423711],[86.265567,48.454562],[86.372537,48.48624],[86.48328,48.50536],[86.549425,48.528614],[86.663734,48.635533],[86.717942,48.697183],[86.757837,48.860739],[86.728588,48.939339],[86.753134,49.008818],[86.808324,49.049694],[86.885994,49.09057],[86.937981,49.097572],[87.048516,49.109923],[87.229952,49.10584],[87.322815,49.08579],[87.416711,49.076591],[87.476191,49.091448],[87.515878,49.122428],[87.576598,49.13235],[87.668324,49.147233],[87.762478,49.165811],[87.814328,49.162354],[87.825213,49.11633],[87.816325,49.08026],[87.83467,49.031917],[87.872187,49.000136],[87.859836,48.965539],[87.806868,48.945488],[87.754727,48.918565],[87.743203,48.881616],[87.809142,48.835727],[87.831828,48.791647],[87.942157,48.765292],[88.02794,48.735604],[88.060083,48.707156],[88.050161,48.67504],[88.010628,48.640416],[87.972233,48.603339],[87.967375,48.581066],[87.979726,48.555124],[88.062563,48.537839],[88.158165,48.509081],[88.30999,48.47208],[88.413963,48.403428],[88.517109,48.384489],[88.566822,48.317413],[88.57602,48.220184],[88.681853,48.170548],[88.83833,48.101715],[88.917808,48.089003],[88.971138,48.049936],[89.047671,48.002548],[89.115677,47.987717],[89.196344,47.980896],[89.329876,48.024873],[89.479221,48.029058],[89.560973,48.003944],[89.638488,47.909066],[89.693213,47.879145],[89.725614,47.85248],[89.778169,47.827003],[89.831344,47.823309],[89.910461,47.844315],[89.958675,47.886328],[90.02787,47.877698],[90.053863,47.85049],[90.066575,47.803542],[90.103214,47.745406],[90.19096,47.702102],[90.31333,47.676186],[90.330642,47.655154],[90.347488,47.596992],[90.380665,47.556632],[90.42521,47.504077],[90.467481,47.408166],[90.476473,47.328817],[90.496213,47.285176],[90.552954,47.213992],[90.643387,47.100304],[90.715528,47.00385],[90.799037,46.985143],[90.869937,46.954499],[90.910555,46.883237],[90.985692,46.749033],[90.997888,46.66108],[91.004244,46.595735],[91.028894,46.566073],[91.033906,46.528995],[90.971429,46.38797],[90.918254,46.324253],[90.911536,46.270639],[90.947555,46.177311],[90.996803,46.10499],[91.001712,46.035769],[90.959751,45.985075],[90.887094,45.921642],[90.85247,45.885417],[90.795936,45.853532],[90.709637,45.730801],[90.670724,45.59515],[90.661836,45.525232],[90.694444,45.474641],[90.749583,45.418933],[90.763173,45.370668],[90.853245,45.262871],[90.877275,45.196105],[90.913965,45.193934],[90.953601,45.215897],[91.049978,45.217447],[91.137724,45.193934],[91.221802,45.144506],[91.312081,45.118125],[91.441065,45.124739],[91.510053,45.098229],[91.584364,45.076525],[91.737791,45.068955],[91.852823,45.069342],[92.029763,45.068516],[92.172596,45.035236],[92.423796,45.008933],[92.578928,45.011],[92.787856,45.035727],[92.916065,45.020172],[93.294388,44.983172],[93.516235,44.944466],[93.656434,44.900981],[93.755239,44.831941],[93.868152,44.724195],[93.957914,44.674948],[94.199346,44.645182],[94.364711,44.519505],[94.494315,44.472531],[94.711976,44.350833],[94.865972,44.303343],[95.049837,44.259418],[95.350284,44.278073],[95.36682,44.261536],[95.343669,44.195391],[95.325531,44.104879],[95.325531,44.039354],[95.356433,44.005971],[95.47131,43.986178],[95.52557,43.953958],[95.56717,43.892257],[95.591199,43.853628],[95.687317,43.664053],[95.842037,43.383709],[95.859607,43.275963],[95.912523,43.20651],[96.080317,43.096129],[96.168425,43.014481],[96.299476,42.928698],[96.342471,42.849323],[96.352393,42.746797],[96.372543,42.730677],[96.09091,42.58691],[96.043781,42.499887],[96.01784,42.13872],[96.035823,41.995292],[95.863947,41.855017],[95.771912,41.829721],[95.49198,41.856024],[95.05826,41.788561],[94.580925,41.585214],[94.011037,41.104029],[93.759941,40.823322],[93.669146,40.683357],[93.577472,40.587962],[93.286327,40.469261],[93.036833,40.489854],[92.925884,40.422908],[92.919528,40.118068],[92.777417,39.905523],[92.772405,39.810542],[92.94795,39.452476],[92.935961,39.152856],[92.333103,39.049865],[92.122729,38.940647],[91.880625,38.875483],[91.62865,38.825667],[91.491604,38.817269],[91.294407,38.745129],[91.012461,38.698672],[90.653516,38.674074],[90.635998,38.624309],[90.47823,38.532506],[90.312452,38.465792],[90.150911,38.432797],[90.193492,38.325671],[90.439266,37.996079],[90.410068,37.846992],[90.436475,37.778573],[90.834487,37.607782],[90.957218,37.519416],[91.073749,37.487945],[91.151677,37.323252],[91.234979,37.195404],[91.316318,37.118975],[91.287586,37.013503],[91.191364,37.001463],[91.05499,36.945135],[90.891124,36.939477],[90.80777,36.910564],[90.712376,36.8215],[90.688139,36.698484],[90.710463,36.636162],[90.80529,36.558518],[91.006724,36.503483],[91.061036,36.313546],[91.135761,36.140637],[91.111318,36.073922],[90.914999,36.013332],[90.829371,36.010412],[90.622665,36.111129],[90.292453,36.115548],[90.165691,36.129242],[90.013762,36.252775],[89.972007,36.104928],[89.866794,36.065603],[89.677813,36.081958],[89.223629,36.263575],[88.958271,36.287294],[88.828098,36.373672],[88.711722,36.368401],[88.52238,36.414315],[88.459231,36.448887],[88.000086,36.428371],[87.924535,36.38256],[87.570914,36.333803],[87.345604,36.374059],[87.193831,36.30396],[87.000819,36.274091],[86.786982,36.260268],[86.71386,36.231458],[86.459405,36.219443],[86.399512,36.170041],[86.21234,36.115935],[86.087438,35.875588],[85.929928,35.761693],[85.716866,35.759265],[85.619766,35.675394],[85.389341,35.756707],[85.260254,35.730403],[85.149769,35.749808],[84.923633,35.689321],[84.777647,35.600489],[84.563449,35.559484],[84.214684,35.388951],[84.133191,35.377531],[83.984414,35.41603],[83.870674,35.374534],[83.564801,35.36071],[83.452612,35.393551],[83.246113,35.421249],[83.09868,35.412774],[82.971763,35.490444],[82.978429,35.600773],[82.935899,35.674076],[82.784591,35.684541],[82.710435,35.650176],[82.428178,35.68976],[82.318934,35.633743],[82.289169,35.544962],[82.086029,35.447992],[82.00221,35.319447],[81.711426,35.245653],[81.54508,35.251776],[81.461777,35.310248],[81.357339,35.332391],[81.210217,35.316914],[81.060923,35.388564],[80.978861,35.293402],[80.858455,35.347145],[80.766109,35.343424],[80.65609,35.3843],[80.486023,35.404248],[80.319211,35.509254],[80.262884,35.435667],[80.176171,35.253249],[80.014165,35.085921],[80.046928,35.017708],[79.883838,34.9196],[79.956288,34.684757],[79.793972,34.431025],[79.717336,34.412784],[79.512646,34.471695],[79.338393,34.430819],[79.204499,34.439449],[78.947317,34.335972]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"CHN-1775","diss_me":1775,"iso_3166_2":"CN-HI","wikipedia":null,"iso_a2":"CN","adm0_sr":1,"name":"Hainan","name_alt":"Hǎinán","name_local":"海南","type":"Shěng","type_en":"Province","code_local":null,"code_hasc":"CN.HA","note":null,"hasc_maybe":null,"region":"South Central China","region_cod":"4","provnum_ne":7,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":null,"postal":"HA","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":6,"mapcolor9":4,"mapcolor13":3,"fips":"CH31","fips_alt":"CH","woe_id":12578020,"woe_label":"Hainan, CN, China","woe_name":"Hainan","latitude":19.1865,"longitude":109.825,"sov_a3":"CH1","adm0_a3":"CHN","adm0_label":2,"admin":"China","geonunit":"China","gu_a3":"CHN","gn_id":1809054,"gn_name":"Hainan Sheng","gns_id":-1908190,"gns_name":"Hainan Sheng","gn_level":1,"gn_region":null,"gn_a1_code":"CN.31","region_sub":null,"sub_code":null,"gns_level":1,"gns_lang":"zho","gns_adm1":"CH31","gns_region":null,"min_label":4.6,"max_label":10.1,"min_zoom":4.6,"wikidataid":"Q42200","name_ar":"هاينان","name_bn":"হাইনান","name_de":"Hainan","name_en":"Hainan","name_es":"Hainan","name_fr":"Hainan","name_el":"Χαϊνάν","name_hi":"हाइनान","name_hu":"Hajnan","name_id":"Hainan","name_it":"Hainan","name_ja":"海南省","name_ko":"하이난성","name_nl":"Hainan","name_pl":"Hajnan","name_pt":"Hainan","name_ru":"Хайнань","name_sv":"Hainan","name_tr":"Hainan","name_vi":"Hải Nam","name_zh":"海南省","ne_id":1159311749,"name_he":"האינאן","name_uk":"Хайнань","name_ur":"ہائنان","name_fa":"هاینان","name_zht":"海南省","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[108.635645,18.218262,111.013672,20.137744],"geometry":{"type":"Polygon","coordinates":[[[110.970703,19.883301],[110.997656,19.764697],[111.013672,19.655469],[110.912695,19.586084],[110.822266,19.55791],[110.640918,19.291211],[110.603125,19.207031],[110.572168,19.171875],[110.5625,19.135156],[110.566016,19.098535],[110.519336,18.970215],[110.477637,18.812598],[110.45127,18.747949],[110.399512,18.69834],[110.333691,18.673291],[110.29082,18.669531],[110.251758,18.655762],[110.15625,18.569824],[110.048535,18.505225],[110.066406,18.475635],[110.067383,18.447559],[110.020215,18.41626],[109.967676,18.42207],[109.815625,18.39668],[109.759766,18.348291],[109.702734,18.259131],[109.681055,18.247119],[109.589551,18.226318],[109.519336,18.218262],[109.400098,18.281104],[109.340918,18.299609],[109.183203,18.325146],[109.029883,18.367773],[108.922266,18.416113],[108.701563,18.535254],[108.676074,18.750244],[108.638086,18.866309],[108.635645,18.907715],[108.65,19.265039],[108.665527,19.304102],[108.693555,19.338281],[108.791016,19.418164],[108.902832,19.481348],[109.062891,19.613574],[109.179102,19.674121],[109.27666,19.761133],[109.219531,19.757471],[109.177441,19.768457],[109.218945,19.842822],[109.263477,19.882666],[109.314844,19.904395],[109.418164,19.888818],[109.513672,19.904248],[109.584277,19.970312],[109.651367,19.984375],[109.90625,19.962744],[110.083008,19.99292],[110.171582,20.053711],[110.213379,20.056055],[110.343945,20.038818],[110.392285,19.975586],[110.387988,20.018018],[110.393555,20.059229],[110.417578,20.054736],[110.588184,19.976367],[110.58877,20.072461],[110.59834,20.097607],[110.651758,20.137744],[110.678516,20.137061],[110.744531,20.059473],[110.809082,20.014404],[110.88877,19.991943],[110.938281,19.947559],[110.970703,19.883301]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"CHN-1803","diss_me":1803,"iso_3166_2":"CN-NX","wikipedia":null,"iso_a2":"CN","adm0_sr":1,"name":"Ningxia","name_alt":"Ningxia Hui|Níngxià Húizú","name_local":"寧夏回族自治區|宁夏回族自治区","type":"Zìzhìqu","type_en":"Autonomous Region","code_local":null,"code_hasc":"CN.NX","note":null,"hasc_maybe":null,"region":"Northwest China","region_cod":"6","provnum_ne":38,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":null,"postal":"NX","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":7,"mapcolor9":4,"mapcolor13":3,"fips":"CH21","fips_alt":null,"woe_id":12578010,"woe_label":"Ningxia, CN, China","woe_name":"Ningxia","latitude":37.1762,"longitude":106.038,"sov_a3":"CH1","adm0_a3":"CHN","adm0_label":2,"admin":"China","geonunit":"China","gu_a3":"CHN","gn_id":1799355,"gn_name":"Ningxia Huizu Zizhiqu","gns_id":-1920281,"gns_name":"Ningxia Huizu Zizhiqu","gn_level":1,"gn_region":null,"gn_a1_code":"CN.21","region_sub":"Western","sub_code":null,"gns_level":1,"gns_lang":"zho","gns_adm1":"CH21","gns_region":null,"min_label":4.6,"max_label":10.1,"min_zoom":4.6,"wikidataid":"Q57448","name_ar":"نينغشيا","name_bn":"নিংশিয়া","name_de":"Ningxia","name_en":"Ningxia","name_es":"Ningxia","name_fr":"Níngxià","name_el":"Νινγκσιά","name_hi":"निंगशिया","name_hu":"Ninghszia-Huj Autonóm Terület","name_id":"Ningxia","name_it":"Ningsia","name_ja":"寧夏回族自治区","name_ko":"닝샤 후이족 자치구","name_nl":"Ningxia","name_pl":"Ningxia","name_pt":"Ningxia","name_ru":"Нинся-Хуэйский автономный район","name_sv":"Ningxia","name_tr":"Ningxia Huizu Özerk Bölgesi","name_vi":"Ninh Hạ","name_zh":"宁夏回族自治区","ne_id":1159312659,"name_he":"נינגשיה","name_uk":"Нінся-Хуейський автономний район","name_ur":"نینگشیا","name_fa":"نینگشیا","name_zht":"寧夏回族自治區","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[104.358519,35.260665,107.657646,39.360957],"geometry":{"type":"Polygon","coordinates":[[[107.657646,37.852935],[107.606745,37.765731],[107.509438,37.764284],[107.436058,37.663464],[107.317202,37.590186],[107.322163,37.527632],[107.238033,37.301367],[107.324953,37.163572],[107.285472,37.068461],[107.187804,37.117063],[106.932936,37.107193],[106.790671,37.189668],[106.644065,37.181658],[106.633936,36.997897],[106.574818,36.931338],[106.649026,36.834186],[106.602155,36.725821],[106.502368,36.706519],[106.493996,36.55981],[106.439994,36.514774],[106.495391,36.436743],[106.49658,36.268355],[106.60386,36.277838],[106.744937,36.206576],[106.813667,36.21164],[106.94477,36.076946],[106.914849,35.907059],[106.843226,35.882203],[106.913402,35.788824],[106.767106,35.706555],[106.469605,35.727432],[106.429297,35.699449],[106.495081,35.553127],[106.464851,35.332366],[106.377776,35.260665],[106.313387,35.27361],[106.210654,35.395152],[106.112417,35.42466],[106.065082,35.487653],[105.936149,35.524809],[105.829386,35.493648],[105.686965,35.660459],[105.431839,35.756422],[105.318099,35.933208],[105.351482,36.057644],[105.43742,36.106685],[105.445946,36.254583],[105.392771,36.384394],[105.268748,36.550224],[105.220482,36.692954],[105.321665,36.780727],[105.180175,36.972136],[104.922413,37.096754],[104.855388,37.218194],[104.764748,37.250491],[104.708886,37.215016],[104.621397,37.249277],[104.722425,37.339323],[104.689507,37.411929],[104.464508,37.440247],[104.358519,37.401232],[104.425234,37.49859],[104.522385,37.529958],[104.646977,37.5066],[104.944323,37.545719],[105.084883,37.660673],[105.354428,37.752631],[105.534106,37.724984],[105.658698,37.739816],[105.788096,37.805057],[105.824735,38.005484],[105.755643,38.135502],[105.828094,38.226814],[105.84122,38.571289],[105.896617,38.736189],[106.060276,38.979068],[106.113193,39.120817],[106.283415,39.156525],[106.275663,39.269154],[106.347028,39.293778],[106.496942,39.285794],[106.614092,39.358321],[106.78912,39.360957],[106.808241,39.199055],[106.911852,39.069192],[106.977843,39.035602],[106.931747,38.921139],[106.704423,38.637229],[106.644995,38.459203],[106.470122,38.290686],[106.82917,38.150385],[107.060835,38.114935],[107.162638,38.138603],[107.324178,38.065946],[107.40469,37.921665],[107.657646,37.852935]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"CHN-1804","diss_me":1804,"iso_3166_2":"CN-SN","wikipedia":null,"iso_a2":"CN","adm0_sr":1,"name":"Shaanxi","name_alt":"Shǎnxī","name_local":"陝西|陕西","type":"Shěng","type_en":"Province","code_local":null,"code_hasc":"CN.SA","note":null,"hasc_maybe":null,"region":"Northwest China","region_cod":"6","provnum_ne":37,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":null,"postal":"SA","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":7,"mapcolor9":4,"mapcolor13":3,"fips":"CH26","fips_alt":null,"woe_id":12578015,"woe_label":"Shaanxi, CN, China","woe_name":"Shaanxi","latitude":33.7713,"longitude":108.363,"sov_a3":"CH1","adm0_a3":"CHN","adm0_label":2,"admin":"China","geonunit":"China","gu_a3":"CHN","gn_id":1796480,"gn_name":"Shaanxi","gns_id":-1924159,"gns_name":"Shaanxi Sheng","gn_level":1,"gn_region":null,"gn_a1_code":"CN.26","region_sub":"Western","sub_code":null,"gns_level":1,"gns_lang":"zho","gns_adm1":"CH26","gns_region":null,"min_label":4.6,"max_label":10.1,"min_zoom":4.6,"wikidataid":"Q47974","name_ar":"شنشي","name_bn":"শাআনশি","name_de":"Shaanxi","name_en":"Shaanxi","name_es":"Shaanxi","name_fr":"Shaanxi","name_el":"Σαανσί","name_hi":"शान्शी","name_hu":"Senhszi","name_id":"Shaanxi","name_it":"Shaanxi","name_ja":"陝西省","name_ko":"산시성","name_nl":"Shaanxi","name_pl":"Shaanxi","name_pt":"Shaanxi","name_ru":"Шэньси","name_sv":"Shaanxi","name_tr":"Şensi","name_vi":"Thiểm Tây","name_zh":"陕西省","ne_id":1159312661,"name_he":"שאאנשי","name_uk":"Шеньсі","name_ur":"شانسی","name_fa":"شاآنشی","name_zht":"陝西省","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[105.498553,31.705249,111.22487,39.56495],"geometry":{"type":"Polygon","coordinates":[[[107.285472,37.068461],[107.324953,37.163572],[107.238033,37.301367],[107.322163,37.527632],[107.317202,37.590186],[107.436058,37.663464],[107.509438,37.764284],[107.606745,37.765731],[107.657646,37.852935],[107.884971,37.801646],[107.991114,37.725708],[108.038708,37.632509],[108.332954,37.633595],[108.496355,37.668605],[108.764349,37.681886],[108.790704,37.941767],[108.863309,37.987604],[108.954259,37.925541],[109.000975,37.988483],[109.02795,38.110956],[108.953484,38.199064],[108.986351,38.335206],[109.159983,38.542144],[109.313152,38.620485],[109.423947,38.769055],[109.537996,38.785204],[109.635303,38.905817],[109.674267,39.011211],[109.820563,39.054464],[109.963345,39.181278],[110.176872,39.285199],[110.109176,39.428395],[110.225241,39.424054],[110.338103,39.318143],[110.494165,39.374315],[110.603409,39.267216],[110.684852,39.264374],[110.845669,39.465188],[111.0131,39.564872],[111.137072,39.56495],[111.041005,39.422969],[111.110045,39.385193],[111.22487,39.310547],[111.118003,39.067435],[110.995013,39.003847],[110.980337,38.816649],[110.871817,38.621364],[110.899412,38.545451],[110.859776,38.46804],[110.774252,38.426234],[110.671209,38.31699],[110.57969,38.287327],[110.511219,38.20219],[110.515043,37.954996],[110.589302,37.919133],[110.653381,37.813196],[110.753064,37.745758],[110.788773,37.561429],[110.746346,37.480297],[110.630281,37.396632],[110.687384,37.357229],[110.665008,37.282272],[110.460059,37.051279],[110.389469,37.021952],[110.397531,36.781373],[110.483158,36.593012],[110.496129,36.484078],[110.458974,36.349409],[110.473185,36.26373],[110.447243,36.141877],[110.51096,35.886854],[110.560415,35.849182],[110.575608,35.712549],[110.619843,35.597259],[110.424816,35.294228],[110.335415,35.198007],[110.259658,34.944767],[110.237437,34.80139],[110.252268,34.663259],[110.336036,34.615846],[110.327664,34.479808],[110.374069,34.403688],[110.478663,34.326381],[110.433807,34.261397],[110.606665,34.170499],[110.593643,34.065337],[110.642373,33.980303],[110.593798,33.879741],[110.74924,33.802795],[110.792132,33.705126],[110.968245,33.598828],[111.01062,33.500152],[111.015581,33.374449],[110.974601,33.266471],[110.900136,33.205209],[110.823448,33.19893],[110.711258,33.108109],[110.604495,33.153894],[110.547392,33.245335],[110.432257,33.173066],[110.23444,33.156323],[110.094293,33.213322],[109.959935,33.214123],[109.87534,33.243423],[109.659694,33.264094],[109.515672,33.237067],[109.491023,33.145006],[109.75726,33.080074],[109.781186,33.044831],[109.739586,32.930006],[109.835808,32.895874],[109.899111,32.914425],[110.095844,32.841252],[110.154961,32.729579],[110.168294,32.62235],[110.073829,32.616562],[110.000862,32.551941],[109.879526,32.591629],[109.634838,32.590647],[109.579441,32.541218],[109.561303,32.405025],[109.487405,32.335934],[109.54766,32.233614],[109.619025,32.188914],[109.666309,32.043006],[109.610188,31.927302],[109.593962,31.737598],[109.335993,31.705249],[109.252588,31.744006],[109.18887,31.840305],[109.055907,31.940635],[108.789308,32.045331],[108.518369,32.19757],[108.479405,32.25028],[108.236732,32.262656],[108.051782,32.226612],[107.960057,32.158347],[107.843526,32.228162],[107.772936,32.310715],[107.659196,32.388618],[107.459622,32.408642],[107.448305,32.522227],[107.370532,32.519824],[107.284129,32.452929],[107.20217,32.452774],[107.069982,32.522925],[107.096233,32.669247],[107.065331,32.708314],[106.712588,32.737821],[106.603964,32.675525],[106.363978,32.63868],[106.228948,32.591964],[106.114898,32.648834],[106.056504,32.713559],[106.082342,32.873523],[105.875481,32.844714],[105.813418,32.762109],[105.724482,32.759784],[105.633274,32.707461],[105.568265,32.730457],[105.498553,32.907397],[105.63932,32.885487],[105.886488,32.978013],[105.910569,33.031731],[105.91274,33.233682],[105.747168,33.293989],[105.717971,33.38866],[105.785306,33.406333],[105.832435,33.497542],[105.951652,33.553198],[105.992942,33.610636],[106.073453,33.617509],[106.170605,33.562241],[106.392659,33.618827],[106.495547,33.543586],[106.55947,33.598621],[106.481749,33.700889],[106.454722,33.803312],[106.479837,33.868191],[106.430227,33.942115],[106.513737,34.106601],[106.587427,34.137451],[106.554044,34.280828],[106.656002,34.254214],[106.673623,34.384672],[106.614092,34.458724],[106.498337,34.520219],[106.368371,34.520219],[106.317728,34.583342],[106.491516,34.740955],[106.549703,34.862575],[106.500817,34.926241],[106.491206,35.03011],[106.564586,35.079616],[106.914849,35.089047],[107.051533,35.038146],[107.210852,34.891772],[107.320767,34.942209],[107.496881,34.925775],[107.569641,34.965411],[107.710046,34.951407],[107.830349,34.976728],[107.670462,35.227979],[107.741672,35.318361],[107.92285,35.266892],[107.97866,35.223458],[108.15498,35.290559],[108.276781,35.262835],[108.492634,35.272498],[108.617226,35.392827],[108.603738,35.547856],[108.509997,35.70087],[108.523175,35.775956],[108.493099,35.881195],[108.677119,36.005244],[108.699753,36.125547],[108.649937,36.226497],[108.70368,36.35897],[108.606529,36.431988],[108.441268,36.461289],[108.356363,36.546038],[108.041705,36.597741],[107.886521,36.75538],[107.695473,36.825091],[107.548867,36.840026],[107.500911,36.890772],[107.299632,36.907205],[107.285472,37.068461]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"CHN-1805","diss_me":1805,"iso_3166_2":"CN-SX","wikipedia":null,"iso_a2":"CN","adm0_sr":1,"name":"Shanxi","name_alt":"Shānxī","name_local":"山西","type":"Shěng","type_en":"Province","code_local":null,"code_hasc":"CN.SX","note":null,"hasc_maybe":null,"region":"North China","region_cod":"1","provnum_ne":35,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":null,"postal":"SX","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":6,"mapcolor9":4,"mapcolor13":3,"fips":"CH24","fips_alt":null,"woe_id":12578013,"woe_label":"Shanxi, CN, China","woe_name":"Shanxi","latitude":37.7586,"longitude":112.389,"sov_a3":"CH1","adm0_a3":"CHN","adm0_label":2,"admin":"China","geonunit":"China","gu_a3":"CHN","gn_id":1795912,"gn_name":"Shanxi Sheng","gns_id":-1924845,"gns_name":"Shanxi Sheng","gn_level":1,"gn_region":null,"gn_a1_code":"CN.24","region_sub":"Central","sub_code":null,"gns_level":1,"gns_lang":"zho","gns_adm1":"CH24","gns_region":null,"min_label":4.6,"max_label":10.1,"min_zoom":4.6,"wikidataid":"Q46913","name_ar":"شانشي","name_bn":"শানশি","name_de":"Shanxi","name_en":"Shanxi","name_es":"Shanxi","name_fr":"Shanxi","name_el":"Σανσί","name_hi":"शन्शी","name_hu":"Sanhszi","name_id":"Shanxi","name_it":"Shanxi","name_ja":"山西省","name_ko":"산시성","name_nl":"Shanxi","name_pl":"Shanxi","name_pt":"Shanxi","name_ru":"Шаньси","name_sv":"Shanxi","name_tr":"Şansi","name_vi":"Sơn Tây","name_zh":"山西省","ne_id":1159312739,"name_he":"שאנשי","name_uk":"Шаньсі","name_ur":"شنسی","name_fa":"شانشی","name_zht":"山西省","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[110.237437,34.583677,114.540947,40.742578],"geometry":{"type":"Polygon","coordinates":[[[110.336036,34.615846],[110.252268,34.663259],[110.237437,34.80139],[110.259658,34.944767],[110.335415,35.198007],[110.424816,35.294228],[110.619843,35.597259],[110.575608,35.712549],[110.560415,35.849182],[110.51096,35.886854],[110.447243,36.141877],[110.473185,36.26373],[110.458974,36.349409],[110.496129,36.484078],[110.483158,36.593012],[110.397531,36.781373],[110.389469,37.021952],[110.460059,37.051279],[110.665008,37.282272],[110.687384,37.357229],[110.630281,37.396632],[110.746346,37.480297],[110.788773,37.561429],[110.753064,37.745758],[110.653381,37.813196],[110.589302,37.919133],[110.515043,37.954996],[110.511219,38.20219],[110.57969,38.287327],[110.671209,38.31699],[110.774252,38.426234],[110.859776,38.46804],[110.899412,38.545451],[110.871817,38.621364],[110.980337,38.816649],[110.995013,39.003847],[111.118003,39.067435],[111.22487,39.310547],[111.110045,39.385193],[111.199445,39.427154],[111.342692,39.444414],[111.421189,39.522136],[111.425375,39.625385],[111.489919,39.652154],[111.674869,39.635927],[111.761168,39.598048],[111.921469,39.688844],[112.098977,40.00544],[112.165071,40.059312],[112.279276,40.228966],[112.399217,40.288342],[112.595846,40.237777],[112.734235,40.172845],[112.84379,40.225659],[112.961405,40.355857],[113.086462,40.404433],[113.229864,40.416655],[113.334147,40.318728],[113.518322,40.343739],[113.676607,40.42854],[113.808485,40.434225],[114.043768,40.487994],[114.075549,40.550187],[114.026973,40.635169],[114.154097,40.742578],[114.15172,40.67359],[114.257553,40.54998],[114.285769,40.378569],[114.433667,40.360534],[114.450306,40.293768],[114.085367,40.185015],[113.995967,40.131814],[113.935919,40.015723],[114.085988,39.916918],[114.233214,39.876429],[114.382817,39.861056],[114.402144,39.658458],[114.540947,39.531231],[114.420334,39.299979],[114.393979,39.169341],[114.216316,39.069037],[114.089088,39.074359],[114.01271,39.118827],[113.85334,39.072292],[113.760219,38.909202],[113.825125,38.810267],[113.66901,38.660276],[113.608962,38.644463],[113.534497,38.537286],[113.518012,38.377606],[113.557906,38.243428],[113.790657,38.152865],[113.891477,37.949467],[113.987131,37.839034],[114.026353,37.750771],[114.100405,37.69819],[114.096323,37.59954],[114.053121,37.50058],[113.886723,37.296122],[113.857681,37.208944],[113.754328,37.114944],[113.776032,36.890617],[113.679242,36.8716],[113.607774,36.769074],[113.453933,36.736621],[113.458739,36.6358],[113.547364,36.548519],[113.535117,36.483381],[113.630822,36.438086],[113.721049,36.355869],[113.672886,36.221459],[113.687149,36.055732],[113.627566,35.953232],[113.584726,35.686866],[113.609944,35.646067],[113.491295,35.52548],[113.328411,35.463004],[113.12956,35.352287],[113.019799,35.328593],[112.902752,35.240588],[112.807616,35.241984],[112.682456,35.311178],[112.525979,35.220279],[112.334983,35.218677],[112.058463,35.23449],[112.061098,35.108477],[111.829433,35.082562],[111.62221,34.947273],[111.557666,34.863402],[111.394266,34.823275],[111.331272,34.840923],[111.025709,34.747492],[110.883806,34.666101],[110.765828,34.661347],[110.708623,34.620962],[110.530546,34.583677],[110.336036,34.615846]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"CHN-1807","diss_me":1807,"iso_3166_2":"CN-HB","wikipedia":null,"iso_a2":"CN","adm0_sr":1,"name":"Hubei","name_alt":"Húběi","name_local":"湖北","type":"Shěng","type_en":"Province","code_local":null,"code_hasc":"CN.HU","note":null,"hasc_maybe":null,"region":"South Central China","region_cod":"4","provnum_ne":32,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":null,"postal":"HU","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":5,"mapcolor9":4,"mapcolor13":3,"fips":"CH12","fips_alt":null,"woe_id":12578002,"woe_label":"Hubei, CN, China","woe_name":"Hubei","latitude":30.9857,"longitude":112.264,"sov_a3":"CH1","adm0_a3":"CHN","adm0_label":2,"admin":"China","geonunit":"China","gu_a3":"CHN","gn_id":1806949,"gn_name":"Hubei Sheng","gns_id":-1910798,"gns_name":"Hubei Sheng","gn_level":1,"gn_region":null,"gn_a1_code":"CN.12","region_sub":"Central","sub_code":null,"gns_level":1,"gns_lang":"zho","gns_adm1":"CH12","gns_region":null,"min_label":4.6,"max_label":10.1,"min_zoom":4.6,"wikidataid":"Q46862","name_ar":"خوبي","name_bn":"হুপেই","name_de":"Hubei","name_en":"Hubei","name_es":"Hubei","name_fr":"Hubei","name_el":"Χουπέι","name_hi":"हूबेई","name_hu":"Hupej","name_id":"Hubei","name_it":"Hubei","name_ja":"湖北省","name_ko":"후베이성","name_nl":"Hubei","name_pl":"Hubei","name_pt":"Hubei","name_ru":"Хубэй","name_sv":"Hubei","name_tr":"Hubei","name_vi":"Hồ Bắc","name_zh":"湖北省","ne_id":1159312741,"name_he":"חוביי","name_uk":"Хубей","name_ur":"ہوبئی","name_fa":"هوبئی","name_zht":"湖北省","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[108.380599,29.06634,116.147257,33.266471],"geometry":{"type":"Polygon","coordinates":[[[113.902381,29.06634],[113.772828,29.125303],[113.71123,29.072929],[113.654903,29.124037],[113.641364,29.221757],[113.587723,29.293794],[113.729369,29.437092],[113.672576,29.544786],[113.634697,29.684829],[113.53615,29.685734],[113.519511,29.841667],[113.415848,29.764566],[113.186249,29.531738],[113.145683,29.472077],[113.008121,29.518095],[112.927815,29.495228],[112.908488,29.600803],[112.945592,29.709298],[112.886164,29.791774],[112.786222,29.736687],[112.648143,29.6269],[112.443917,29.641369],[112.363095,29.572175],[112.170032,29.649043],[112.126314,29.707153],[111.923639,29.856395],[111.76861,29.919595],[111.5849,29.904351],[111.414988,29.925796],[111.246161,30.031733],[110.943544,30.063514],[110.741851,30.096174],[110.715599,30.02964],[110.543361,30.055013],[110.46316,30.013982],[110.500573,29.86257],[110.591162,29.771361],[110.525533,29.72524],[110.446727,29.726687],[110.361667,29.650103],[110.225138,29.737332],[110.103905,29.785417],[109.783201,29.73493],[109.700002,29.655735],[109.472212,29.56817],[109.432318,29.533908],[109.338164,29.289685],[109.269227,29.24235],[109.206595,29.104244],[109.077301,29.214134],[109.014152,29.307488],[108.920566,29.348984],[108.872042,29.50161],[108.872042,29.638966],[108.696032,29.698162],[108.65836,29.817018],[108.61304,29.858023],[108.512633,29.721855],[108.446849,29.735782],[108.400443,29.831074],[108.538213,29.885463],[108.550356,30.009254],[108.529996,30.112968],[108.532011,30.315488],[108.380599,30.399695],[108.433206,30.487287],[108.573146,30.497855],[108.669987,30.573845],[108.710192,30.52284],[108.868425,30.551365],[108.964646,30.607486],[109.179259,30.566791],[109.248247,30.597435],[109.394181,30.583741],[109.639799,30.717944],[109.748578,30.835353],[109.870689,30.88858],[109.996728,30.826232],[110.066233,30.82848],[110.127676,30.906408],[110.137598,31.000175],[110.107626,31.122338],[110.174857,31.188665],[110.146745,31.331111],[110.108246,31.398032],[109.929497,31.518722],[109.73261,31.561123],[109.724497,31.63608],[109.658764,31.718116],[109.593962,31.737598],[109.610188,31.927302],[109.666309,32.043006],[109.619025,32.188914],[109.54766,32.233614],[109.487405,32.335934],[109.561303,32.405025],[109.579441,32.541218],[109.634838,32.590647],[109.879526,32.591629],[110.000862,32.551941],[110.073829,32.616562],[110.168294,32.62235],[110.154961,32.729579],[110.095844,32.841252],[109.899111,32.914425],[109.835808,32.895874],[109.739586,32.930006],[109.781186,33.044831],[109.75726,33.080074],[109.491023,33.145006],[109.515672,33.237067],[109.659694,33.264094],[109.87534,33.243423],[109.959935,33.214123],[110.094293,33.213322],[110.23444,33.156323],[110.432257,33.173066],[110.547392,33.245335],[110.604495,33.153894],[110.711258,33.108109],[110.823448,33.19893],[110.900136,33.205209],[110.974601,33.266471],[111.002662,33.207534],[111.108805,33.148029],[111.216344,32.976489],[111.210142,32.930213],[111.363311,32.824767],[111.507437,32.682062],[111.531622,32.611085],[111.629083,32.626458],[111.711197,32.600233],[111.779255,32.520367],[112.053347,32.454841],[112.144607,32.394638],[112.285787,32.350635],[112.533938,32.376758],[112.750875,32.349783],[113.065688,32.417376],[113.182994,32.413319],[113.43595,32.288753],[113.527675,32.296685],[113.616404,32.385672],[113.729213,32.419262],[113.78275,32.359369],[113.781665,32.19372],[113.752365,32.137599],[113.794377,31.972519],[113.861712,31.862707],[113.959587,31.83183],[113.971989,31.746564],[114.085471,31.783797],[114.143969,31.84754],[114.267372,31.808731],[114.361836,31.734265],[114.495317,31.759199],[114.555675,31.737675],[114.547872,31.572879],[114.638202,31.568022],[114.766566,31.490481],[114.998852,31.477614],[115.076883,31.515544],[115.12856,31.594532],[115.213464,31.545594],[115.218528,31.447486],[115.286224,31.395138],[115.374023,31.41754],[115.549981,31.182696],[115.668733,31.217216],[115.768366,31.143552],[115.876938,31.129366],[115.946442,31.034049],[116.035998,30.988884],[115.858644,30.860959],[115.86221,30.78484],[115.77529,30.754816],[115.767849,30.688153],[115.833064,30.59405],[115.946649,30.488294],[115.876783,30.389799],[115.912026,30.315592],[116.040494,30.221437],[116.080853,30.046797],[116.078062,29.968714],[116.125553,29.904687],[116.147257,29.788776],[115.998997,29.744128],[115.855905,29.738599],[115.705165,29.860813],[115.486212,29.864276],[115.416862,29.711701],[115.272065,29.614653],[114.972755,29.559953],[114.895189,29.520188],[114.818243,29.393865],[114.708689,29.389524],[114.46953,29.317927],[114.308145,29.354539],[114.242671,29.308521],[114.246546,29.248913],[114.063457,29.203153],[113.902381,29.06634]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"CHN-1808","diss_me":1808,"iso_3166_2":"CN-HN","wikipedia":null,"iso_a2":"CN","adm0_sr":1,"name":"Hunan","name_alt":"Húnán","name_local":"湖南","type":"Shěng","type_en":"Province","code_local":null,"code_hasc":"CN.HN","note":null,"hasc_maybe":null,"region":"South Central China","region_cod":"4","provnum_ne":40,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":null,"postal":"HN","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":5,"mapcolor9":4,"mapcolor13":3,"fips":"CH11","fips_alt":null,"woe_id":12578001,"woe_label":"Hunan, CN, China","woe_name":"Hunan","latitude":27.6667,"longitude":111.712,"sov_a3":"CH1","adm0_a3":"CHN","adm0_label":2,"admin":"China","geonunit":"China","gu_a3":"CHN","gn_id":1806691,"gn_name":"Hunan Sheng","gns_id":-1911104,"gns_name":"Hunan Sheng","gn_level":1,"gn_region":null,"gn_a1_code":"CN.11","region_sub":"Central","sub_code":null,"gns_level":1,"gns_lang":"zho","gns_adm1":"CH11","gns_region":null,"min_label":4.6,"max_label":10.1,"min_zoom":4.6,"wikidataid":"Q45761","name_ar":"خونان","name_bn":"হুনান","name_de":"Hunan","name_en":"Hunan","name_es":"Hunan","name_fr":"Hunan","name_el":"Χουνάν","name_hi":"हूनान","name_hu":"Hunan","name_id":"Hunan","name_it":"Hunan","name_ja":"湖南省","name_ko":"후난성","name_nl":"Hunan","name_pl":"Hunan","name_pt":"Hunan","name_ru":"Хунань","name_sv":"Hunan","name_tr":"Hunan","name_vi":"Hồ Nam","name_zh":"湖南省","ne_id":1159312745,"name_he":"חונאן","name_uk":"Хунань","name_ur":"ہونان","name_fa":"هونان","name_zht":"湖南省","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[108.791324,24.642656,114.226858,30.096174],"geometry":{"type":"Polygon","coordinates":[[[109.206595,29.104244],[109.269227,29.24235],[109.338164,29.289685],[109.432318,29.533908],[109.472212,29.56817],[109.700002,29.655735],[109.783201,29.73493],[110.103905,29.785417],[110.225138,29.737332],[110.361667,29.650103],[110.446727,29.726687],[110.525533,29.72524],[110.591162,29.771361],[110.500573,29.86257],[110.46316,30.013982],[110.543361,30.055013],[110.715599,30.02964],[110.741851,30.096174],[110.943544,30.063514],[111.246161,30.031733],[111.414988,29.925796],[111.5849,29.904351],[111.76861,29.919595],[111.923639,29.856395],[112.126314,29.707153],[112.170032,29.649043],[112.363095,29.572175],[112.443917,29.641369],[112.648143,29.6269],[112.786222,29.736687],[112.886164,29.791774],[112.945592,29.709298],[112.908488,29.600803],[112.927815,29.495228],[113.008121,29.518095],[113.145683,29.472077],[113.186249,29.531738],[113.415848,29.764566],[113.519511,29.841667],[113.53615,29.685734],[113.634697,29.684829],[113.672576,29.544786],[113.729369,29.437092],[113.587723,29.293794],[113.641364,29.221757],[113.654903,29.124037],[113.71123,29.072929],[113.772828,29.125303],[113.902381,29.06634],[113.905172,28.955985],[114.01209,28.912913],[114.142728,28.788501],[114.112808,28.615515],[114.056945,28.564277],[114.177041,28.507304],[114.226858,28.408964],[114.184483,28.29308],[114.091879,28.257707],[114.028213,28.183525],[114.013796,28.106476],[113.916489,28.021184],[113.73681,27.981574],[113.705959,27.937727],[113.700998,27.818948],[113.610978,27.699472],[113.562092,27.590564],[113.600126,27.368226],[113.66746,27.329547],[113.78275,27.370784],[113.850963,27.345902],[113.823575,27.228674],[113.754018,27.141858],[113.892408,26.945332],[113.831636,26.827484],[113.864709,26.655867],[114.085057,26.577499],[114.068418,26.453709],[114.014881,26.385082],[113.998603,26.283099],[113.939485,26.209434],[114.062837,26.177782],[114.162159,26.221371],[114.213525,26.169772],[114.041442,26.068848],[114.018291,25.934619],[113.907187,25.749772],[113.917936,25.660191],[113.982428,25.581669],[113.927548,25.448111],[113.828071,25.356747],[113.713866,25.360907],[113.582452,25.325948],[113.523438,25.385583],[113.421635,25.3838],[113.217462,25.505575],[113.089769,25.41416],[112.917377,25.324863],[112.88911,25.241457],[112.969053,25.180582],[112.95877,25.056145],[112.988897,24.963929],[112.807823,24.942845],[112.714082,24.999508],[112.663335,25.113144],[112.458387,25.164252],[112.213957,25.200374],[112.182745,25.152574],[112.120991,24.949278],[112.164761,24.911994],[112.144762,24.793552],[112.066369,24.796575],[111.996554,24.735674],[111.925964,24.774871],[111.797032,24.760427],[111.667117,24.779676],[111.615751,24.706968],[111.516945,24.642656],[111.428165,24.681026],[111.473641,24.792854],[111.429716,24.943413],[111.461858,25.019481],[111.426925,25.106194],[111.274376,25.147664],[111.125755,25.044466],[111.079039,24.94424],[111.006279,24.935455],[110.954602,25.025346],[110.993205,25.150765],[111.113766,25.238641],[111.164202,25.364938],[111.253757,25.399122],[111.315821,25.503198],[111.304969,25.639159],[111.323727,25.729825],[111.411267,25.802611],[111.408322,25.90785],[111.256238,25.86899],[111.202081,25.930278],[111.256703,26.210132],[111.251897,26.279714],[111.123274,26.305992],[110.935482,26.382473],[110.878948,26.275218],[110.724022,26.274314],[110.688624,26.332321],[110.577054,26.350795],[110.53654,26.22486],[110.484554,26.171555],[110.341668,26.112748],[110.246997,25.978208],[110.138218,26.051666],[110.033625,26.036499],[110.062047,26.149929],[109.911669,26.181219],[109.838443,26.045026],[109.781341,26.023761],[109.772039,25.908161],[109.676593,25.889066],[109.672252,25.985313],[109.60316,26.052674],[109.456709,26.03885],[109.427512,26.098562],[109.399297,26.269947],[109.296564,26.312529],[109.315013,26.425726],[109.402553,26.537295],[109.377231,26.646152],[109.294032,26.727309],[109.397075,26.754672],[109.505285,26.824797],[109.443842,26.900994],[109.507146,26.976364],[109.499187,27.062483],[109.438209,27.131032],[109.230573,27.151986],[109.155643,27.079717],[109.095491,27.134442],[109.007796,27.094057],[108.950177,27.026904],[108.874213,27.018119],[108.791324,27.083128],[108.896847,27.147206],[108.900103,27.188806],[109.014928,27.262186],[109.206389,27.444759],[109.276875,27.438532],[109.318423,27.500621],[109.418366,27.559507],[109.447253,27.650018],[109.413405,27.738953],[109.328242,27.807657],[109.309897,27.970309],[109.362658,28.029633],[109.298735,28.09472],[109.354287,28.265174],[109.263853,28.322225],[109.258375,28.505909],[109.284627,28.573476],[109.21321,28.628795],[109.281216,28.729125],[109.246748,28.78553],[109.245508,28.931258],[109.274808,29.049261],[109.206595,29.104244]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"CHN-1809","diss_me":1809,"iso_3166_2":"CN-SC","wikipedia":null,"iso_a2":"CN","adm0_sr":1,"name":"Sichuan","name_alt":"Sìchuān","name_local":"四川","type":"Shěng","type_en":"Province","code_local":null,"code_hasc":"CN.SC","note":null,"hasc_maybe":null,"region":"Southwest China","region_cod":"5","provnum_ne":42,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":null,"postal":"SC","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":7,"mapcolor9":4,"mapcolor13":3,"fips":"CH32","fips_alt":"CH27","woe_id":12578016,"woe_label":"Sichuan, CN, China","woe_name":"Sichuan","latitude":30.5431,"longitude":102.384,"sov_a3":"CH1","adm0_a3":"CHN","adm0_label":2,"admin":"China","geonunit":"China","gu_a3":"CHN","gn_id":1794299,"gn_name":"Sichuan Sheng","gns_id":-1926775,"gns_name":"Sichuan Sheng","gn_level":1,"gn_region":null,"gn_a1_code":"CN.32","region_sub":"Western","sub_code":null,"gns_level":1,"gns_lang":"zho","gns_adm1":"CH32","gns_region":null,"min_label":4.6,"max_label":10.1,"min_zoom":4.6,"wikidataid":"Q19770","name_ar":"سيتشوان","name_bn":"সিছুয়ান","name_de":"Sichuan","name_en":"Sichuan","name_es":"Sichuan","name_fr":"Sichuan","name_el":"Σιτσουάν","name_hi":"सिचुआन","name_hu":"Szecsuan","name_id":"Sichuan","name_it":"Sichuan","name_ja":"四川省","name_ko":"쓰촨성","name_nl":"Sichuan","name_pl":"Syczuan","name_pt":"Sujuão","name_ru":"Сычуань","name_sv":"Sichuan","name_tr":"Siçuan","name_vi":"Tứ Xuyên","name_zh":"四川省","ne_id":1159312663,"name_he":"סצ'ואן","name_uk":"Сичуань","name_ur":"سیچوان","name_fa":"سیچوآن","name_zht":"四川省","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[97.360962,26.034845,108.518369,34.295581],"geometry":{"type":"Polygon","coordinates":[[[105.498553,32.907397],[105.568265,32.730457],[105.633274,32.707461],[105.724482,32.759784],[105.813418,32.762109],[105.875481,32.844714],[106.082342,32.873523],[106.056504,32.713559],[106.114898,32.648834],[106.228948,32.591964],[106.363978,32.63868],[106.603964,32.675525],[106.712588,32.737821],[107.065331,32.708314],[107.096233,32.669247],[107.069982,32.522925],[107.20217,32.452774],[107.284129,32.452929],[107.370532,32.519824],[107.448305,32.522227],[107.459622,32.408642],[107.659196,32.388618],[107.772936,32.310715],[107.843526,32.228162],[107.960057,32.158347],[108.051782,32.226612],[108.236732,32.262656],[108.479405,32.25028],[108.518369,32.19757],[108.388971,32.184289],[108.419202,32.100005],[108.344736,32.073546],[108.26779,31.972907],[108.286962,31.92216],[108.500695,31.790825],[108.516198,31.708272],[108.406799,31.566032],[108.323187,31.49937],[108.22309,31.467899],[108.194047,31.33093],[108.033127,31.222229],[108.006772,31.038623],[107.931686,30.948783],[107.929516,30.872664],[107.849882,30.809618],[107.769061,30.827421],[107.736298,30.88318],[107.620852,30.837369],[107.507578,30.821995],[107.456676,30.760862],[107.477605,30.609501],[107.372134,30.49987],[107.228732,30.238155],[107.03293,30.057856],[106.770362,30.036565],[106.71729,30.059277],[106.617813,30.268695],[106.53234,30.337658],[106.448676,30.323886],[106.384907,30.263579],[106.239025,30.220249],[106.124716,30.342334],[105.998833,30.385122],[105.791713,30.423363],[105.708669,30.274096],[105.557206,30.147592],[105.7389,30.032637],[105.709961,29.867505],[105.557516,29.803918],[105.55147,29.747616],[105.411685,29.703174],[105.291072,29.584784],[105.314843,29.469597],[105.405174,29.429961],[105.422382,29.333559],[105.505839,29.291468],[105.644591,29.269661],[105.700608,29.223695],[105.745308,28.994768],[105.795124,28.936529],[105.877961,28.920044],[106.008444,28.9734],[106.260315,28.869323],[106.25737,28.79385],[106.298039,28.672436],[106.382427,28.572494],[106.338657,28.480122],[106.268687,28.556629],[106.188795,28.584612],[105.984415,28.753542],[105.891914,28.609313],[105.683193,28.583449],[105.620561,28.482422],[105.655753,28.441107],[105.667225,28.318298],[105.846801,28.269153],[105.906228,28.150582],[106.008961,28.140246],[106.10942,28.174715],[106.199337,28.124253],[106.215254,28.056091],[106.298969,28.000436],[106.345375,27.834942],[106.247603,27.77523],[106.103581,27.788072],[106.039192,27.756807],[105.875946,27.745206],[105.646916,27.67813],[105.524495,27.774636],[105.360784,27.760011],[105.296963,27.721745],[105.22813,27.855794],[105.282391,28.000746],[105.203274,28.001547],[105.171906,28.061672],[105.055738,28.088131],[104.966182,28.047797],[104.958276,27.956537],[104.897401,27.901114],[104.702374,27.88295],[104.604758,27.845846],[104.482491,27.890985],[104.375366,27.961679],[104.333818,28.046738],[104.444612,28.099887],[104.376503,28.282305],[104.268499,28.333801],[104.25005,28.530791],[104.439961,28.60536],[104.414227,28.640113],[104.056781,28.630475],[103.836691,28.604921],[103.795246,28.531179],[103.880306,28.325739],[103.708947,28.215875],[103.666262,28.263288],[103.571797,28.243186],[103.459039,28.134769],[103.434648,28.068158],[103.51423,27.971445],[103.508545,27.864527],[103.414753,27.742906],[103.218124,27.566871],[103.120765,27.412255],[102.977415,27.388897],[102.889462,27.291487],[102.913853,27.112299],[102.878196,27.031968],[102.901347,26.924739],[102.975296,26.831127],[103.057927,26.557242],[102.995812,26.485412],[103.003253,26.400353],[102.951422,26.345136],[102.878196,26.365058],[102.720273,26.237624],[102.609944,26.260206],[102.62648,26.345136],[102.568138,26.378649],[102.400551,26.311805],[102.358331,26.262583],[102.252085,26.228864],[102.112558,26.084429],[101.921562,26.098872],[101.849525,26.034845],[101.77568,26.10652],[101.763742,26.176335],[101.676616,26.227702],[101.594915,26.208685],[101.579981,26.306922],[101.643646,26.349477],[101.544169,26.494972],[101.412446,26.569671],[101.494663,26.70558],[101.50288,26.766429],[101.370691,26.774645],[101.342424,26.871047],[101.141455,27.044861],[101.172822,27.191054],[101.00384,27.197513],[100.991748,27.330813],[100.940847,27.434734],[100.866949,27.494653],[100.872117,27.561987],[100.660916,27.875095],[100.625414,27.897264],[100.532603,27.816261],[100.40951,27.828999],[100.349152,27.74673],[100.295925,27.852615],[100.202081,27.898788],[100.058833,28.066142],[100.046896,28.187091],[100.162031,28.236261],[100.143066,28.341578],[100.000956,28.456196],[99.93388,28.569368],[99.845616,28.60381],[99.828408,28.672565],[99.732342,28.745016],[99.704747,28.844648],[99.628679,28.814624],[99.534369,28.680808],[99.502898,28.579367],[99.393138,28.54278],[99.388642,28.334317],[99.416444,28.254761],[99.38151,28.184533],[99.274747,28.277318],[99.162557,28.438161],[99.169482,28.602492],[99.117702,28.708713],[99.099254,28.856043],[99.121061,28.964666],[99.108814,29.223772],[99.062512,29.308289],[99.041996,29.562459],[98.986754,29.650904],[99.005461,29.820092],[99.056311,29.915332],[99.03409,30.055323],[98.986754,30.144362],[98.960709,30.459976],[98.932752,30.490697],[98.905364,30.663813],[98.954301,30.747865],[98.775088,30.902223],[98.803044,30.990977],[98.620265,31.187942],[98.611377,31.25618],[98.68269,31.315918],[98.767801,31.230368],[98.884952,31.354081],[98.592153,31.598821],[98.558718,31.677111],[98.445495,31.803615],[98.420846,31.878184],[98.452988,31.984095],[98.309586,32.128711],[98.220186,32.252192],[98.205768,32.355648],[98.080556,32.404689],[98.014152,32.464505],[97.715721,32.54419],[97.663734,32.559899],[97.430673,32.70033],[97.384165,32.779188],[97.360962,32.897036],[97.468707,32.982535],[97.504261,33.045606],[97.476459,33.120304],[97.50054,33.194357],[97.615675,33.328379],[97.724299,33.406127],[97.539297,33.453721],[97.477389,33.562241],[97.390521,33.611385],[97.383545,33.869871],[97.610249,33.930875],[97.69567,34.005237],[97.745073,33.864858],[97.819074,33.864187],[98.034926,33.959788],[98.211814,33.939453],[98.30168,33.845841],[98.457949,33.840105],[98.645845,33.676162],[98.633287,33.607716],[98.73571,33.489765],[98.772917,33.302722],[98.852085,33.174875],[99.100649,33.072452],[99.225293,32.998916],[99.289371,32.88714],[99.50941,32.835438],[99.698545,32.744617],[99.728931,32.757665],[99.76929,32.921763],[99.840966,32.957007],[100.046896,32.935484],[100.136606,32.847504],[100.158621,32.782263],[100.119036,32.670874],[100.223165,32.636897],[100.254997,32.725806],[100.399433,32.758388],[100.498497,32.669091],[100.560922,32.563336],[100.47302,32.485278],[100.531208,32.403397],[100.603038,32.451224],[100.642932,32.594497],[100.697089,32.685731],[100.902193,32.630463],[101.049471,32.675603],[101.170807,32.688341],[101.236591,32.807507],[101.23194,32.85771],[101.131429,32.938352],[101.164141,33.128082],[101.220003,33.170611],[101.445157,33.235853],[101.643646,33.127772],[101.726949,33.267789],[101.665144,33.320395],[101.691085,33.420286],[101.77754,33.530047],[101.883993,33.546325],[101.923216,33.406385],[101.832162,33.26921],[101.863685,33.12263],[102.004244,33.2188],[102.099381,33.222236],[102.130955,33.284661],[102.27875,33.377756],[102.481838,33.465038],[102.481838,33.540149],[102.356006,33.609396],[102.343138,33.725177],[102.171211,33.941753],[102.319367,33.987357],[102.371974,33.975963],[102.4406,34.05973],[102.617644,34.083501],[102.5978,34.16546],[102.78182,34.274187],[102.930596,34.295581],[103.000566,34.213984],[103.120094,34.168612],[103.152391,34.108513],[103.142108,33.961545],[103.193164,33.883772],[103.184172,33.822096],[103.271971,33.765174],[103.350674,33.755692],[103.55862,33.806877],[103.522756,33.714118],[103.659441,33.710527],[103.74512,33.676033],[103.915136,33.683293],[104.093006,33.66854],[104.156309,33.62402],[104.174655,33.490152],[104.29289,33.363571],[104.280591,33.272052],[104.328237,33.140355],[104.405855,33.063279],[104.377588,32.958764],[104.321261,32.952718],[104.288859,32.847892],[104.4057,32.809367],[104.558404,32.688341],[104.645427,32.657878],[104.84097,32.639817],[104.898331,32.611834],[105.031812,32.63868],[105.146792,32.608346],[105.269988,32.641703],[105.435249,32.773555],[105.386364,32.823371],[105.430909,32.91148],[105.498553,32.907397]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"CHN-1810","diss_me":1810,"iso_3166_2":"CN-YN","wikipedia":null,"iso_a2":"CN","adm0_sr":1,"name":"Yunnan","name_alt":"Yúnnán","name_local":"雲南|云南","type":"Shěng","type_en":"Province","code_local":null,"code_hasc":"CN.YN","note":null,"hasc_maybe":null,"region":"Southwest China","region_cod":"5","provnum_ne":47,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":null,"postal":"YN","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":6,"mapcolor9":4,"mapcolor13":3,"fips":"CH29","fips_alt":null,"woe_id":12578018,"woe_label":"Yunnan, CN, China","woe_name":"Yunnan","latitude":24.4603,"longitude":101.661,"sov_a3":"CH1","adm0_a3":"CHN","adm0_label":2,"admin":"China","geonunit":"China","gu_a3":"CHN","gn_id":1785694,"gn_name":"Yunnan Sheng","gns_id":-1937567,"gns_name":"Yunnan Sheng","gn_level":1,"gn_region":null,"gn_a1_code":"CN.29","region_sub":"Western","sub_code":null,"gns_level":1,"gns_lang":"zho","gns_adm1":"CH29","gns_region":null,"min_label":4.6,"max_label":10.1,"min_zoom":4.6,"wikidataid":"Q43194","name_ar":"يونان","name_bn":"ইউন্নান","name_de":"Yunnan","name_en":"Yunnan","name_es":"Yunnan","name_fr":"Yunnan","name_el":"Γιουνάν","name_hi":"युन्नान","name_hu":"Jünnan","name_id":"Yunnan","name_it":"Yunnan","name_ja":"雲南省","name_ko":"윈난성","name_nl":"Yunnan","name_pl":"Junnan","name_pt":"Yunnan","name_ru":"Юньнань","name_sv":"Yunnan","name_tr":"Yünnan","name_vi":"Vân Nam","name_zh":"云南省","ne_id":1159312665,"name_he":"יונאן","name_uk":"Юньнань","name_ur":"یوننان","name_fa":"یوننان","name_zht":"雲南省","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[97.529375,21.150131,106.193756,29.223772],"geometry":{"type":"Polygon","coordinates":[[[98.099453,28.140021],[98.23016,28.202878],[98.299768,28.354807],[98.409994,28.250602],[98.489885,28.248069],[98.575823,28.317548],[98.640419,28.424131],[98.589207,28.670292],[98.678143,28.757056],[98.638713,28.878651],[98.66481,28.974175],[98.785009,29.000246],[98.820408,28.886041],[98.873479,28.811808],[98.94562,28.842012],[98.908878,28.91237],[98.932442,28.986345],[99.006288,29.073161],[98.990165,29.20199],[99.108814,29.223772],[99.121061,28.964666],[99.099254,28.856043],[99.117702,28.708713],[99.169482,28.602492],[99.162557,28.438161],[99.274747,28.277318],[99.38151,28.184533],[99.416444,28.254761],[99.388642,28.334317],[99.393138,28.54278],[99.502898,28.579367],[99.534369,28.680808],[99.628679,28.814624],[99.704747,28.844648],[99.732342,28.745016],[99.828408,28.672565],[99.845616,28.60381],[99.93388,28.569368],[100.000956,28.456196],[100.143066,28.341578],[100.162031,28.236261],[100.046896,28.187091],[100.058833,28.066142],[100.202081,27.898788],[100.295925,27.852615],[100.349152,27.74673],[100.40951,27.828999],[100.532603,27.816261],[100.625414,27.897264],[100.660916,27.875095],[100.872117,27.561987],[100.866949,27.494653],[100.940847,27.434734],[100.991748,27.330813],[101.00384,27.197513],[101.172822,27.191054],[101.141455,27.044861],[101.342424,26.871047],[101.370691,26.774645],[101.50288,26.766429],[101.494663,26.70558],[101.412446,26.569671],[101.544169,26.494972],[101.643646,26.349477],[101.579981,26.306922],[101.594915,26.208685],[101.676616,26.227702],[101.763742,26.176335],[101.77568,26.10652],[101.849525,26.034845],[101.921562,26.098872],[102.112558,26.084429],[102.252085,26.228864],[102.358331,26.262583],[102.400551,26.311805],[102.568138,26.378649],[102.62648,26.345136],[102.609944,26.260206],[102.720273,26.237624],[102.878196,26.365058],[102.951422,26.345136],[103.003253,26.400353],[102.995812,26.485412],[103.057927,26.557242],[102.975296,26.831127],[102.901347,26.924739],[102.878196,27.031968],[102.913853,27.112299],[102.889462,27.291487],[102.977415,27.388897],[103.120765,27.412255],[103.218124,27.566871],[103.414753,27.742906],[103.508545,27.864527],[103.51423,27.971445],[103.434648,28.068158],[103.459039,28.134769],[103.571797,28.243186],[103.666262,28.263288],[103.708947,28.215875],[103.880306,28.325739],[103.795246,28.531179],[103.836691,28.604921],[104.056781,28.630475],[104.414227,28.640113],[104.439961,28.60536],[104.25005,28.530791],[104.268499,28.333801],[104.376503,28.282305],[104.444612,28.099887],[104.333818,28.046738],[104.375366,27.961679],[104.482491,27.890985],[104.604758,27.845846],[104.702374,27.88295],[104.897401,27.901114],[104.958276,27.956537],[104.966182,28.047797],[105.055738,28.088131],[105.171906,28.061672],[105.203274,28.001547],[105.282391,28.000746],[105.22813,27.855794],[105.296963,27.721745],[105.197383,27.398638],[105.082558,27.412513],[104.870891,27.309755],[104.783403,27.332208],[104.594216,27.313785],[104.443682,27.34722],[104.344412,27.441194],[104.174345,27.271514],[103.981126,27.399517],[103.911311,27.39037],[103.859325,27.315387],[103.695407,27.151702],[103.596447,27.076074],[103.700885,27.052432],[103.778296,26.955874],[103.778296,26.880013],[103.717318,26.798959],[103.775092,26.731702],[103.757832,26.629434],[103.829249,26.547114],[104.0204,26.514196],[104.153364,26.651242],[104.218063,26.626618],[104.358519,26.647831],[104.429884,26.71253],[104.466213,26.613466],[104.559437,26.584708],[104.626513,26.497659],[104.675503,26.379269],[104.545175,26.270412],[104.50497,26.147422],[104.498976,26.030789],[104.392936,25.947874],[104.420583,25.856923],[104.306223,25.664765],[104.422443,25.579266],[104.432675,25.506815],[104.553546,25.484543],[104.565845,25.38119],[104.668888,25.296828],[104.719738,25.210942],[104.689042,25.101259],[104.707025,25.01731],[104.54564,24.813421],[104.539852,24.741772],[104.494635,24.698209],[104.50187,24.57819],[104.599176,24.402516],[104.667028,24.339755],[104.728729,24.364198],[104.752655,24.468326],[104.961067,24.416417],[105.060802,24.43068],[105.176247,24.309912],[105.169943,24.167362],[105.253038,24.085507],[105.320269,24.118141],[105.447187,24.037603],[105.532091,24.126305],[105.608262,24.140284],[105.64087,24.082484],[105.787993,24.020653],[105.872225,24.02471],[105.970772,24.087729],[106.157428,23.973731],[106.193756,23.869396],[106.134122,23.796739],[106.152157,23.750411],[106.128127,23.540656],[105.98302,23.469033],[105.848041,23.519392],[105.701693,23.359298],[105.628933,23.347283],[105.618804,23.284651],[105.512147,23.152334],[105.494574,23.180859],[105.440159,23.235326],[105.3505,23.307673],[105.275363,23.34519],[105.238776,23.322117],[105.189063,23.281034],[104.99569,23.194321],[104.910217,23.160525],[104.864742,23.136366],[104.826553,23.100192],[104.814719,23.010792],[104.795702,22.91116],[104.740098,22.860491],[104.687285,22.822199],[104.631733,22.818194],[104.577576,22.820003],[104.526829,22.804086],[104.371748,22.704067],[104.298368,22.711999],[104.23832,22.768507],[104.212482,22.809409],[104.14308,22.800159],[104.053887,22.752307],[104.012701,22.666369],[103.99079,22.586115],[103.971411,22.55051],[103.941491,22.540072],[103.915032,22.538237],[103.637323,22.770032],[103.620218,22.782046],[103.570712,22.734427],[103.525444,22.611566],[103.492939,22.587976],[103.471028,22.597432],[103.3561,22.754684],[103.326644,22.769773],[103.300599,22.764399],[103.266286,22.713523],[103.193319,22.638515],[103.137612,22.592988],[103.136372,22.542242],[103.075859,22.497516],[103.005372,22.452997],[102.981963,22.448268],[102.935144,22.466174],[102.874269,22.525395],[102.830085,22.587149],[102.720997,22.648489],[102.598523,22.700398],[102.517185,22.740989],[102.470883,22.750911],[102.427888,22.732825],[102.406442,22.70802],[102.375746,22.646628],[102.302262,22.546014],[102.236995,22.465993],[102.175965,22.414653],[102.127441,22.379203],[102.091474,22.41225],[102.024398,22.439199],[101.945437,22.439406],[101.841774,22.388479],[101.760022,22.490307],[101.738783,22.495268],[101.707518,22.486586],[101.671448,22.462324],[101.646178,22.405403],[101.619978,22.327449],[101.567889,22.276393],[101.52448,22.253655],[101.537245,22.209859],[101.561842,22.16242],[101.560241,22.120924],[101.575795,22.055269],[101.602925,21.989718],[101.69956,21.882489],[101.736509,21.826523],[101.743899,21.777999],[101.747206,21.605762],[101.743485,21.533828],[101.724158,21.395025],[101.722918,21.314927],[101.763122,21.278882],[101.802086,21.235965],[101.800536,21.212607],[101.783483,21.204132],[101.728086,21.156383],[101.704779,21.150131],[101.668606,21.169638],[101.621632,21.184444],[101.583908,21.203564],[101.54236,21.23426],[101.443607,21.230797],[101.281498,21.184134],[101.247908,21.197311],[101.224447,21.223718],[101.211838,21.278236],[101.2199,21.342419],[101.205585,21.383295],[101.175354,21.407531],[101.196645,21.522046],[101.138923,21.567469],[101.147294,21.581629],[101.128174,21.70511],[101.130809,21.735573],[101.120681,21.746115],[101.079753,21.755856],[101.019395,21.736374],[100.835117,21.655164],[100.67709,21.504941],[100.604588,21.471765],[100.531363,21.458096],[100.445683,21.484064],[100.350547,21.501013],[100.214741,21.46298],[100.147614,21.480524],[100.116763,21.511168],[100.089271,21.557909],[100.105756,21.617053],[100.095524,21.660668],[100.041263,21.68276],[99.978218,21.701621],[99.940701,21.758724],[99.925612,21.820813],[99.940391,21.901609],[99.947884,21.988322],[99.917705,22.02801],[99.825359,22.049688],[99.592712,22.089143],[99.388642,22.110795],[99.303117,22.100615],[99.233354,22.110175],[99.192995,22.125988],[99.173409,22.153325],[99.172376,22.192496],[99.205345,22.282568],[99.243069,22.370366],[99.337689,22.498059],[99.343218,22.586529],[99.338257,22.688693],[99.385179,22.825119],[99.466777,22.927283],[99.507136,22.959142],[99.497266,23.004617],[99.464554,23.046242],[99.418046,23.069264],[99.340841,23.095903],[99.22028,23.103345],[99.05507,23.130578],[98.863764,23.191246],[98.885572,23.307467],[98.882574,23.38033],[98.858855,23.440094],[98.819736,23.482546],[98.797877,23.520425],[98.832242,23.624372],[98.787697,23.737854],[98.73509,23.783096],[98.680881,23.841801],[98.676747,23.905104],[98.701604,23.964067],[98.833999,24.090571],[98.835084,24.121215],[98.802373,24.118683],[98.76439,24.116074],[98.58342,24.069797],[98.564144,24.098839],[98.499445,24.115686],[98.367257,24.119019],[98.212538,24.110622],[98.016891,24.065456],[97.837677,23.986288],[97.755615,23.931873],[97.686058,23.898076],[97.629628,23.887147],[97.564567,23.911047],[97.568288,23.988484],[97.690606,24.130801],[97.708176,24.228754],[97.67071,24.312728],[97.666628,24.379959],[97.623582,24.422928],[97.563275,24.443857],[97.531442,24.491684],[97.529375,24.631184],[97.583274,24.774819],[97.670659,24.820113],[97.723886,24.841998],[97.737942,24.869878],[97.71076,24.970362],[97.714946,25.034338],[97.767345,25.158051],[97.819487,25.251844],[97.917982,25.236134],[97.962011,25.259311],[98.010741,25.292513],[98.064071,25.34897],[98.099573,25.41571],[98.142878,25.571101],[98.17254,25.59451],[98.296615,25.568827],[98.333822,25.586785],[98.401674,25.677968],[98.465546,25.788865],[98.558357,25.823256],[98.625381,25.826693],[98.656283,25.863564],[98.65463,25.917772],[98.591016,26.003684],[98.564093,26.072414],[98.571999,26.114065],[98.663156,26.139438],[98.685584,26.189358],[98.671838,26.29855],[98.709458,26.429705],[98.731886,26.583416],[98.739379,26.698164],[98.738501,26.785756],[98.729509,26.877404],[98.716486,27.044939],[98.674835,27.19064],[98.68238,27.245314],[98.676799,27.421918],[98.651167,27.572452],[98.599801,27.598833],[98.50451,27.647667],[98.452523,27.657227],[98.408857,27.639476],[98.392424,27.587076],[98.350462,27.538087],[98.298838,27.550102],[98.274188,27.599091],[98.241063,27.66317],[98.130476,27.967596],[98.118383,28.055239],[98.099453,28.140021]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"CHN-1811","diss_me":1811,"iso_3166_2":"CN-HE","wikipedia":null,"iso_a2":"CN","adm0_sr":1,"name":"Hebei","name_alt":"Héběi","name_local":"河北","type":"Shěng","type_en":"Province","code_local":null,"code_hasc":"CN.HB","note":null,"hasc_maybe":null,"region":"North China","region_cod":"1","provnum_ne":44,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":null,"postal":"HB","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":5,"mapcolor9":4,"mapcolor13":3,"fips":"CH10","fips_alt":null,"woe_id":12578000,"woe_label":"Hebei, CN, China","woe_name":"Hebei","latitude":38.5205,"longitude":115.314,"sov_a3":"CH1","adm0_a3":"CHN","adm0_label":2,"admin":"China","geonunit":"China","gu_a3":"CHN","gn_id":1808773,"gn_name":"Hebei Sheng","gns_id":-1908578,"gns_name":"Hebei Sheng","gn_level":1,"gn_region":null,"gn_a1_code":"CN.10","region_sub":null,"sub_code":null,"gns_level":1,"gns_lang":"zho","gns_adm1":"CH10","gns_region":null,"min_label":4.6,"max_label":10.1,"min_zoom":4.6,"wikidataid":"Q21208","name_ar":"خبي","name_bn":"হপেই","name_de":"Hebei","name_en":"Hebei","name_es":"Hebei","name_fr":"Hebei","name_el":"Χεμπέι","name_hi":"हेबेई","name_hu":"Hopej","name_id":"Hebei","name_it":"Hebei","name_ja":"河北省","name_ko":"허베이성","name_nl":"Hebei","name_pl":"Hebei","name_pt":"Hebei","name_ru":"Хэбэй","name_sv":"Hebei","name_tr":"Hebei","name_vi":"Hà Bắc","name_zh":"河北省","ne_id":1159312747,"name_he":"חביי","name_uk":"Хебей","name_ur":"ہیبئی","name_fa":"هبئی","name_zht":"河北省","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[113.453933,36.056559,119.849388,42.591096],"geometry":{"type":"MultiPolygon","coordinates":[[[[116.875636,39.686467],[116.922197,39.773593],[116.78143,39.889659],[116.744223,39.959008],[116.829386,40.036678],[116.987671,40.034353],[117.239077,40.092618],[117.147506,39.948001],[117.202903,39.761604],[117.152777,39.618409],[116.875636,39.686467]]],[[[117.557813,38.625146],[117.656055,38.424219],[117.766699,38.31167],[117.838935,38.274344],[117.779819,38.164441],[117.687318,38.072663],[117.568669,38.048918],[117.420616,37.846682],[116.839515,37.83366],[116.743913,37.799295],[116.608728,37.639408],[116.4106,37.484637],[116.350087,37.620908],[116.219914,37.462365],[116.255571,37.387331],[116.115011,37.368107],[115.97502,37.321702],[115.90722,37.206463],[115.851823,37.057222],[115.773016,36.945704],[115.62641,36.793568],[115.477841,36.753571],[115.341622,36.599756],[115.275734,36.474208],[115.343327,36.352148],[115.44885,36.249157],[115.460322,36.157871],[115.349683,36.082191],[115.245245,36.161359],[115.10608,36.184562],[115.033837,36.100949],[114.930691,36.056559],[114.893173,36.119579],[114.707242,36.152781],[114.548388,36.139035],[114.343078,36.244713],[114.156268,36.246677],[114.063147,36.277062],[113.989301,36.359021],[113.808278,36.339384],[113.721049,36.355869],[113.630822,36.438086],[113.535117,36.483381],[113.547364,36.548519],[113.458739,36.6358],[113.453933,36.736621],[113.607774,36.769074],[113.679242,36.8716],[113.776032,36.890617],[113.754328,37.114944],[113.857681,37.208944],[113.886723,37.296122],[114.053121,37.50058],[114.096323,37.59954],[114.100405,37.69819],[114.026353,37.750771],[113.987131,37.839034],[113.891477,37.949467],[113.790657,38.152865],[113.557906,38.243428],[113.518012,38.377606],[113.534497,38.537286],[113.608962,38.644463],[113.66901,38.660276],[113.825125,38.810267],[113.760219,38.909202],[113.85334,39.072292],[114.01271,39.118827],[114.089088,39.074359],[114.216316,39.069037],[114.393979,39.169341],[114.420334,39.299979],[114.540947,39.531231],[114.402144,39.658458],[114.382817,39.861056],[114.233214,39.876429],[114.085988,39.916918],[113.935919,40.015723],[113.995967,40.131814],[114.085367,40.185015],[114.450306,40.293768],[114.433667,40.360534],[114.285769,40.378569],[114.257553,40.54998],[114.15172,40.67359],[114.154097,40.742578],[114.060149,40.813659],[114.018602,40.923601],[113.907962,41.028142],[113.880677,41.0993],[113.963824,41.153354],[113.984908,41.240894],[113.908892,41.294017],[113.927961,41.418351],[114.027283,41.53129],[114.197092,41.593586],[114.213525,41.766908],[114.255693,41.860081],[114.419714,41.956302],[114.481312,42.075262],[114.596344,42.141278],[114.751942,42.139857],[114.804858,42.178408],[114.920304,41.936872],[114.931311,41.838609],[114.87581,41.81166],[114.888988,41.610044],[115.097399,41.616168],[115.225866,41.585834],[115.347358,41.624075],[115.339761,41.720839],[115.527502,41.772334],[115.858799,41.927467],[115.937347,41.927467],[116.037858,41.800627],[116.129894,41.872897],[116.20715,41.884007],[116.377527,42.009684],[116.466101,41.947621],[116.599736,41.92372],[116.858118,42.019503],[116.878892,42.220214],[116.826595,42.308167],[116.887109,42.395371],[117.055936,42.462835],[117.243883,42.482265],[117.4124,42.458081],[117.450433,42.549289],[117.593629,42.551589],[117.742612,42.591096],[117.80049,42.568823],[118.024248,42.382633],[118.040217,42.288763],[117.989315,42.221609],[118.086002,42.181663],[118.133906,42.021906],[118.267851,42.073866],[118.322163,41.863543],[118.278238,41.752697],[118.159382,41.719133],[118.24439,41.592345],[118.313637,41.569556],[118.370274,41.313964],[118.478433,41.355099],[118.727926,41.347296],[119.152655,41.312207],[119.230997,41.273398],[119.163507,41.176402],[119.047752,41.094391],[118.96476,41.074702],[118.854689,40.820609],[119.067906,40.651343],[119.190999,40.70041],[119.189759,40.620105],[119.293628,40.530705],[119.563689,40.540058],[119.599863,40.476935],[119.580123,40.373402],[119.634745,40.209071],[119.742593,40.205195],[119.738046,40.099517],[119.849388,39.987123],[119.591113,39.902637],[119.391113,39.75249],[119.322363,39.661621],[119.261328,39.560889],[119.224609,39.408057],[119.040137,39.222363],[118.976953,39.182568],[118.912305,39.166406],[118.826465,39.172119],[118.752441,39.160498],[118.626367,39.176855],[118.471973,39.118018],[118.297852,39.06709],[118.147852,39.195068],[118.040918,39.226758],[118.009539,39.2204],[118.007919,39.342663],[117.897124,39.398681],[117.892784,39.564614],[117.630887,39.575879],[117.622516,39.666416],[117.533116,39.750416],[117.501283,39.988722],[117.765556,39.964073],[117.749743,40.063472],[117.451054,40.226692],[117.356796,40.257026],[117.250549,40.337822],[117.23794,40.450193],[117.184145,40.49727],[117.243108,40.57016],[117.411779,40.597367],[117.428523,40.669042],[117.303466,40.661808],[117.199183,40.690023],[117.058003,40.677207],[116.910415,40.749218],[116.675804,40.940137],[116.652653,41.03101],[116.438195,40.899726],[116.458866,40.791567],[116.291434,40.739891],[116.207305,40.750381],[116.130359,40.657984],[115.994708,40.595972],[115.874457,40.610235],[115.728161,40.539593],[115.945202,40.293717],[115.819835,40.151891],[115.577628,40.096313],[115.427094,39.962574],[115.496444,39.923636],[115.510914,39.838499],[115.437326,39.749305],[115.463423,39.643214],[115.618452,39.603733],[115.755911,39.508958],[115.945409,39.575388],[116.000599,39.557612],[116.210406,39.5719],[116.249783,39.505806],[116.386622,39.442141],[116.428274,39.521412],[116.604387,39.611174],[116.793419,39.602312],[116.791249,39.492939],[116.853467,39.341423],[116.82613,39.216547],[116.891811,39.102523],[116.712184,39.011831],[116.68061,38.915945],[116.71084,38.820525],[116.880752,38.699395],[117.021054,38.708232],[117.0949,38.611752],[117.189416,38.605809],[117.271323,38.559249],[117.557813,38.625146]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"CHN-1812","diss_me":1812,"iso_3166_2":"CN-HA","wikipedia":null,"iso_a2":"CN","adm0_sr":1,"name":"Henan","name_alt":"Hénán","name_local":"河南","type":"Shěng","type_en":"Province","code_local":null,"code_hasc":"CN.HE","note":null,"hasc_maybe":null,"region":"South Central China","region_cod":"4","provnum_ne":33,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":null,"postal":"HE","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":5,"mapcolor9":4,"mapcolor13":3,"fips":"CH09","fips_alt":null,"woe_id":12577999,"woe_label":"Henan, CN, China","woe_name":"Henan","latitude":33.9055,"longitude":113.484,"sov_a3":"CH1","adm0_a3":"CHN","adm0_label":2,"admin":"China","geonunit":"China","gu_a3":"CHN","gn_id":1808520,"gn_name":"Henan Sheng","gns_id":-1908908,"gns_name":"Henan Sheng","gn_level":1,"gn_region":null,"gn_a1_code":"CN.09","region_sub":"Central","sub_code":null,"gns_level":1,"gns_lang":"zho","gns_adm1":"CH09","gns_region":null,"min_label":4.6,"max_label":10.1,"min_zoom":4.6,"wikidataid":"Q43684","name_ar":"خنان","name_bn":"হনান","name_de":"Henan","name_en":"Henan","name_es":"Henan","name_fr":"Henan","name_el":"Χενάν","name_hi":"हेनान","name_hu":"Honan","name_id":"Henan","name_it":"Henan","name_ja":"河南省","name_ko":"허난성","name_nl":"Henan","name_pl":"Henan","name_pt":"Henan","name_ru":"Хэнань","name_sv":"Henan","name_tr":"Henan","name_vi":"Hà Nam","name_zh":"河南省","ne_id":1159312749,"name_he":"חנאן","name_uk":"Хенань","name_ur":"ہینان","name_fa":"استان هنان","name_zht":"河南省","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[110.327664,31.395138,116.64118,36.359021],"geometry":{"type":"Polygon","coordinates":[[[115.374023,31.41754],[115.286224,31.395138],[115.218528,31.447486],[115.213464,31.545594],[115.12856,31.594532],[115.076883,31.515544],[114.998852,31.477614],[114.766566,31.490481],[114.638202,31.568022],[114.547872,31.572879],[114.555675,31.737675],[114.495317,31.759199],[114.361836,31.734265],[114.267372,31.808731],[114.143969,31.84754],[114.085471,31.783797],[113.971989,31.746564],[113.959587,31.83183],[113.861712,31.862707],[113.794377,31.972519],[113.752365,32.137599],[113.781665,32.19372],[113.78275,32.359369],[113.729213,32.419262],[113.616404,32.385672],[113.527675,32.296685],[113.43595,32.288753],[113.182994,32.413319],[113.065688,32.417376],[112.750875,32.349783],[112.533938,32.376758],[112.285787,32.350635],[112.144607,32.394638],[112.053347,32.454841],[111.779255,32.520367],[111.711197,32.600233],[111.629083,32.626458],[111.531622,32.611085],[111.507437,32.682062],[111.363311,32.824767],[111.210142,32.930213],[111.216344,32.976489],[111.108805,33.148029],[111.002662,33.207534],[110.974601,33.266471],[111.015581,33.374449],[111.01062,33.500152],[110.968245,33.598828],[110.792132,33.705126],[110.74924,33.802795],[110.593798,33.879741],[110.642373,33.980303],[110.593643,34.065337],[110.606665,34.170499],[110.433807,34.261397],[110.478663,34.326381],[110.374069,34.403688],[110.327664,34.479808],[110.336036,34.615846],[110.530546,34.583677],[110.708623,34.620962],[110.765828,34.661347],[110.883806,34.666101],[111.025709,34.747492],[111.331272,34.840923],[111.394266,34.823275],[111.557666,34.863402],[111.62221,34.947273],[111.829433,35.082562],[112.061098,35.108477],[112.058463,35.23449],[112.334983,35.218677],[112.525979,35.220279],[112.682456,35.311178],[112.807616,35.241984],[112.902752,35.240588],[113.019799,35.328593],[113.12956,35.352287],[113.328411,35.463004],[113.491295,35.52548],[113.609944,35.646067],[113.584726,35.686866],[113.627566,35.953232],[113.687149,36.055732],[113.672886,36.221459],[113.721049,36.355869],[113.808278,36.339384],[113.989301,36.359021],[114.063147,36.277062],[114.156268,36.246677],[114.343078,36.244713],[114.548388,36.139035],[114.707242,36.152781],[114.893173,36.119579],[114.930691,36.056559],[115.033837,36.100949],[115.10608,36.184562],[115.245245,36.161359],[115.349683,36.082191],[115.460322,36.157871],[115.423994,35.994599],[115.33387,35.93114],[115.317644,35.791511],[115.416397,35.823757],[115.468229,35.912925],[115.530292,35.911193],[115.738703,35.968606],[115.828724,36.031031],[115.926909,36.021988],[116.077287,36.10312],[116.033672,35.965815],[115.965718,35.985917],[115.86345,35.925043],[115.873785,35.865511],[115.761338,35.849182],[115.654987,35.746346],[115.504247,35.722833],[115.395055,35.615759],[115.345032,35.496257],[115.226538,35.416236],[115.068357,35.380115],[114.941749,35.218833],[114.864286,35.188705],[114.834211,35.016183],[114.997767,35.007786],[115.1745,34.944172],[115.216048,34.835729],[115.317644,34.842835],[115.429265,34.779712],[115.435776,34.675713],[115.541713,34.577528],[115.646357,34.568691],[115.706767,34.600266],[115.816425,34.57143],[116.043749,34.600214],[116.151288,34.566728],[116.156714,34.447303],[116.400988,34.275014],[116.55209,34.286848],[116.575086,34.192125],[116.542944,34.120915],[116.64118,33.953225],[116.445327,33.845015],[116.420677,33.790832],[116.182035,33.71833],[116.079613,33.778352],[115.970679,33.904804],[115.961377,34.000147],[115.841126,34.006917],[115.732967,34.06557],[115.653644,34.048413],[115.586154,33.97958],[115.56135,33.898138],[115.629924,33.838762],[115.573545,33.750188],[115.63473,33.591826],[115.442597,33.548082],[115.346427,33.453049],[115.31568,33.373984],[115.345342,33.250606],[115.250981,33.12064],[115.142822,33.08426],[114.969189,33.123741],[114.886559,33.083407],[114.879841,32.993413],[114.925213,32.958247],[115.184732,32.859054],[115.199305,32.591473],[115.366736,32.559512],[115.456912,32.507396],[115.56476,32.402441],[115.646616,32.402441],[115.693848,32.491815],[115.79007,32.470706],[115.888462,32.393863],[115.914817,32.250021],[115.928149,32.024583],[115.901329,31.794494],[115.662946,31.783952],[115.531532,31.736384],[115.389732,31.511746],[115.374023,31.41754]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"CHN-1813","diss_me":1813,"iso_3166_2":"CN-LN","wikipedia":null,"iso_a2":"CN","adm0_sr":5,"name":"Liaoning","name_alt":"Liáoníng","name_local":"遼寧|辽宁","type":"Shěng","type_en":"Province","code_local":null,"code_hasc":"CN.LN","note":null,"hasc_maybe":null,"region":"Northeast China","region_cod":"2","provnum_ne":11,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":null,"postal":"LN","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":8,"mapcolor9":4,"mapcolor13":3,"fips":"CH19","fips_alt":null,"woe_id":12578008,"woe_label":"Liaoning, CN, China","woe_name":"Liaoning","latitude":41.386,"longitude":123.07,"sov_a3":"CH1","adm0_a3":"CHN","adm0_label":2,"admin":"China","geonunit":"China","gu_a3":"CHN","gn_id":2036115,"gn_name":"Liaoning Sheng","gns_id":-1914920,"gns_name":"Liaoning Sheng","gn_level":1,"gn_region":null,"gn_a1_code":"CN.19","region_sub":"Northeast","sub_code":null,"gns_level":1,"gns_lang":"zho","gns_adm1":"CH19","gns_region":null,"min_label":4.6,"max_label":10.1,"min_zoom":4.6,"wikidataid":"Q43934","name_ar":"لياونينغ","name_bn":"লিয়াওনিং","name_de":"Liaoning","name_en":"Liaoning","name_es":"Liaoning","name_fr":"Liaoning","name_el":"Λιαονίνγκ","name_hi":"लियाओनिंग","name_hu":"Liaoning","name_id":"Liaoning","name_it":"Liaoning","name_ja":"遼寧省","name_ko":"랴오닝성","name_nl":"Liaoning","name_pl":"Liaoning","name_pt":"Liaoning","name_ru":"Ляонин","name_sv":"Liaoning","name_tr":"Liaoning","name_vi":"Liêu Ninh","name_zh":"辽宁省","ne_id":1159312117,"name_he":"ליאונינג","name_uk":"Ляонін","name_ur":"لیاؤننگ","name_fa":"لیائونینگ","name_zht":"遼寧省","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[118.854689,38.731641,125.766412,43.472282],"geometry":{"type":"Polygon","coordinates":[[[125.708515,40.852873],[125.688225,40.83867],[125.659235,40.795882],[125.645075,40.778958],[125.593812,40.778958],[125.542549,40.742578],[125.416872,40.659896],[125.314449,40.644625],[125.185879,40.589383],[125.072914,40.547448],[125.025992,40.523883],[125.013383,40.497838],[124.996846,40.464766],[124.942276,40.458151],[124.889359,40.459805],[124.77195,40.383737],[124.712419,40.319245],[124.481012,40.181656],[124.386651,40.104271],[124.362109,40.004053],[124.35,40.011572],[124.26748,39.92417],[124.105762,39.841016],[123.760156,39.822412],[123.650879,39.881592],[123.61123,39.84082],[123.580664,39.786133],[123.490039,39.767871],[123.348145,39.762939],[123.268945,39.726904],[123.226562,39.686621],[123.032227,39.673535],[122.960938,39.619922],[122.840039,39.60083],[122.334863,39.366113],[122.225,39.267334],[122.120898,39.151904],[122.047656,39.093799],[121.982324,39.053174],[121.922656,39.036523],[121.864355,38.996484],[121.805176,38.991406],[121.744824,39.009668],[121.677246,39.003418],[121.632812,38.954834],[121.67041,38.891797],[121.649902,38.865088],[121.517188,38.830762],[121.320117,38.808203],[121.236328,38.766943],[121.207422,38.743506],[121.163574,38.731641],[121.12168,38.813281],[121.106738,38.920801],[121.188281,38.94668],[121.263281,38.960254],[121.679883,39.108691],[121.627637,39.220166],[121.664551,39.26875],[121.757812,39.347559],[121.818457,39.386523],[121.785449,39.40083],[121.5125,39.374854],[121.355664,39.376807],[121.275488,39.384766],[121.299805,39.452197],[121.286328,39.519434],[121.26748,39.544678],[121.406445,39.62124],[121.469531,39.640137],[121.517578,39.638965],[121.514258,39.685254],[121.474219,39.754883],[121.517383,39.844824],[121.800977,39.950537],[121.868945,40.046387],[121.982813,40.13584],[122.190918,40.358252],[122.20332,40.396045],[122.263867,40.500195],[122.275,40.541846],[122.178711,40.602734],[122.14043,40.688184],[121.858789,40.84209],[121.834863,40.974268],[121.808594,40.968506],[121.765625,40.875879],[121.729297,40.846143],[121.598926,40.843408],[121.537109,40.878418],[121.174512,40.90127],[121.085938,40.841602],[121.00293,40.749121],[120.922266,40.683105],[120.841309,40.649219],[120.770703,40.589062],[120.479102,40.230957],[120.368945,40.203857],[119.850391,39.987451],[119.849388,39.987123],[119.738046,40.099517],[119.742593,40.205195],[119.634745,40.209071],[119.580123,40.373402],[119.599863,40.476935],[119.563689,40.540058],[119.293628,40.530705],[119.189759,40.620105],[119.190999,40.70041],[119.067906,40.651343],[118.854689,40.820609],[118.96476,41.074702],[119.047752,41.094391],[119.163507,41.176402],[119.230997,41.273398],[119.361635,41.374994],[119.389747,41.472559],[119.315591,41.657819],[119.298641,41.777347],[119.330784,41.867548],[119.32174,41.965397],[119.365872,42.10048],[119.245259,42.191947],[119.335745,42.289409],[119.562759,42.371833],[119.629422,42.250548],[119.821451,42.208613],[119.808222,42.12022],[119.891886,41.999452],[119.960151,41.971754],[120.030328,41.860598],[120.0264,41.733835],[120.107584,41.706524],[120.14076,41.789284],[120.340179,41.965811],[120.468802,42.038003],[120.509161,42.148694],[120.627862,42.160373],[120.735091,42.227862],[120.912599,42.296566],[121.034246,42.260108],[121.368851,42.49999],[121.544447,42.535233],[121.646095,42.453585],[121.723661,42.457667],[121.87776,42.539574],[121.918274,42.646596],[122.045037,42.720855],[122.299388,42.636468],[122.399589,42.658327],[122.425685,42.722044],[122.366877,42.799093],[122.47638,42.849633],[122.727941,42.741009],[122.892789,42.744936],[123.131275,42.826378],[123.181866,42.944097],[123.354414,43.01231],[123.611969,43.08135],[123.696254,43.353478],[123.748705,43.472282],[123.806531,43.454221],[124.006416,43.310122],[124.281851,43.225992],[124.295804,43.156565],[124.418897,43.081867],[124.375902,42.985568],[124.519563,42.871673],[124.673197,42.998978],[124.765697,43.105586],[124.888429,43.086724],[124.860317,42.887693],[124.942121,42.803693],[125.018912,42.646855],[125.095755,42.576678],[125.101956,42.493866],[125.20872,42.405836],[125.179367,42.333282],[125.269491,42.309046],[125.28396,42.234451],[125.480538,42.151433],[125.458213,42.105441],[125.295433,41.957233],[125.286286,41.825923],[125.328195,41.747375],[125.306285,41.680376],[125.449532,41.679937],[125.469892,41.574569],[125.65076,41.286266],[125.737679,41.245235],[125.766412,41.139479],[125.691739,41.004061],[125.576449,40.912619],[125.708515,40.852873]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"CHN-1814","diss_me":1814,"iso_3166_2":"CN-SD","wikipedia":null,"iso_a2":"CN","adm0_sr":6,"name":"Shandong","name_alt":"Shāndōng","name_local":"山東|山东","type":"Shěng","type_en":"Province","code_local":null,"code_hasc":"CN.SD","note":null,"hasc_maybe":null,"region":"East China","region_cod":"3","provnum_ne":10,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":null,"postal":"SD","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":8,"mapcolor9":4,"mapcolor13":3,"fips":"CH25","fips_alt":null,"woe_id":12578014,"woe_label":"Shandong, CN, China","woe_name":"Shandong","latitude":36.3271,"longitude":118.114,"sov_a3":"CH1","adm0_a3":"CHN","adm0_label":2,"admin":"China","geonunit":"China","gu_a3":"CHN","gn_id":1796328,"gn_name":"Shandong Sheng","gns_id":-1924356,"gns_name":"Shandong Sheng","gn_level":1,"gn_region":null,"gn_a1_code":"CN.25","region_sub":null,"sub_code":null,"gns_level":1,"gns_lang":"zho","gns_adm1":"CH25","gns_region":null,"min_label":4.6,"max_label":10.1,"min_zoom":4.6,"wikidataid":"Q43407","name_ar":"شاندونغ","name_bn":"শানতুং","name_de":"Shandong","name_en":"Shandong","name_es":"Shandong","name_fr":"Shandong","name_el":"Σαντόνγκ","name_hi":"शानदोंग","name_hu":"Santung","name_id":"Shandong","name_it":"Shandong","name_ja":"山東省","name_ko":"산둥성","name_nl":"Shandong","name_pl":"Szantung","name_pt":"Shandong","name_ru":"Шаньдун","name_sv":"Shandong","name_tr":"Şantung","name_vi":"Sơn Đông","name_zh":"山东省","ne_id":1159312031,"name_he":"שאנדונג","name_uk":"Шаньдун","name_ur":"شانڈونگ","name_fa":"شاندونگ","name_zht":"山東省","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[114.834211,34.399244,122.666992,38.274344],"geometry":{"type":"Polygon","coordinates":[[[117.838935,38.274344],[118.014941,38.183398],[118.543262,38.094922],[118.66709,38.126367],[118.8,38.12666],[118.940039,38.042773],[119.027539,37.904004],[119.035645,37.80918],[119.038477,37.776514],[119.070312,37.748584],[119.08916,37.700732],[119.033496,37.661035],[118.99082,37.641357],[118.954883,37.494092],[118.952637,37.331152],[118.998145,37.2771],[119.111816,37.201172],[119.287402,37.138281],[119.449902,37.124756],[119.760547,37.155078],[119.8875,37.253369],[119.87998,37.295801],[119.88291,37.35083],[120.155859,37.49502],[120.311523,37.622705],[120.287109,37.656494],[120.257227,37.679004],[120.284668,37.69209],[120.370117,37.701025],[120.75,37.833936],[121.049023,37.725195],[121.219531,37.600146],[121.388086,37.578955],[121.505273,37.515039],[121.640234,37.460352],[121.816406,37.456641],[121.964844,37.445312],[122.010156,37.495752],[122.056641,37.528906],[122.10957,37.522314],[122.169141,37.456152],[122.337695,37.405273],[122.493262,37.407959],[122.602344,37.426416],[122.666992,37.402832],[122.57334,37.31792],[122.587305,37.181104],[122.515527,37.137842],[122.44668,37.068115],[122.487402,37.022266],[122.523438,37.002637],[122.519727,36.946826],[122.457031,36.915137],[122.340918,36.832227],[122.274219,36.833838],[122.242285,36.849854],[122.219727,36.879541],[122.203223,36.927197],[122.162402,36.958643],[122.049512,36.970752],[121.932715,36.959473],[121.669629,36.836377],[121.413086,36.738379],[121.144043,36.660449],[121.053809,36.611377],[120.989941,36.597949],[120.878516,36.635156],[120.81084,36.632812],[120.79668,36.607227],[120.882617,36.538916],[120.90498,36.485303],[120.895801,36.444141],[120.84707,36.426074],[120.776172,36.456299],[120.711523,36.413281],[120.682227,36.340723],[120.680957,36.168359],[120.637891,36.129932],[120.519336,36.108691],[120.393066,36.053857],[120.348242,36.079199],[120.330273,36.110107],[120.343457,36.189453],[120.327734,36.228174],[120.270117,36.226172],[120.183301,36.202441],[120.116992,36.150293],[120.094141,36.118896],[120.181445,36.01748],[120.264746,36.007227],[120.284766,35.984424],[120.219043,35.934912],[120.054688,35.861133],[120.027441,35.799365],[119.978711,35.740234],[119.911719,35.693213],[119.866211,35.643652],[119.810547,35.617725],[119.719727,35.588721],[119.608398,35.469873],[119.526465,35.358594],[119.429688,35.301416],[119.352832,35.113818],[119.295127,35.070838],[119.175599,35.10592],[119.076277,35.049825],[118.866781,35.036311],[118.842286,34.93456],[118.776657,34.833636],[118.759449,34.748629],[118.680746,34.683852],[118.596358,34.707494],[118.477192,34.689201],[118.422725,34.578484],[118.391048,34.443738],[118.165429,34.399244],[118.050448,34.651477],[117.914694,34.676953],[117.790051,34.651167],[117.773308,34.526549],[117.653212,34.52611],[117.590683,34.471591],[117.469037,34.475338],[117.336952,34.588613],[117.273907,34.563679],[117.235459,34.461256],[117.181819,34.450146],[117.060586,34.709458],[116.993252,34.774002],[116.941421,34.879628],[116.827629,34.958306],[116.631879,34.937945],[116.470028,34.898258],[116.420212,34.834256],[116.377217,34.63954],[116.266888,34.576701],[116.151288,34.566728],[116.043749,34.600214],[115.816425,34.57143],[115.706767,34.600266],[115.646357,34.568691],[115.541713,34.577528],[115.435776,34.675713],[115.429265,34.779712],[115.317644,34.842835],[115.216048,34.835729],[115.1745,34.944172],[114.997767,35.007786],[114.834211,35.016183],[114.864286,35.188705],[114.941749,35.218833],[115.068357,35.380115],[115.226538,35.416236],[115.345032,35.496257],[115.395055,35.615759],[115.504247,35.722833],[115.654987,35.746346],[115.761338,35.849182],[115.873785,35.865511],[115.86345,35.925043],[115.965718,35.985917],[116.033672,35.965815],[116.077287,36.10312],[115.926909,36.021988],[115.828724,36.031031],[115.738703,35.968606],[115.530292,35.911193],[115.468229,35.912925],[115.416397,35.823757],[115.317644,35.791511],[115.33387,35.93114],[115.423994,35.994599],[115.460322,36.157871],[115.44885,36.249157],[115.343327,36.352148],[115.275734,36.474208],[115.341622,36.599756],[115.477841,36.753571],[115.62641,36.793568],[115.773016,36.945704],[115.851823,37.057222],[115.90722,37.206463],[115.97502,37.321702],[116.115011,37.368107],[116.255571,37.387331],[116.219914,37.462365],[116.350087,37.620908],[116.4106,37.484637],[116.608728,37.639408],[116.743913,37.799295],[116.839515,37.83366],[117.420616,37.846682],[117.568669,38.048918],[117.687318,38.072663],[117.779819,38.164441],[117.838935,38.274344]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"CHN-1816","diss_me":1816,"iso_3166_2":"CN-TJ","wikipedia":null,"iso_a2":"CN","adm0_sr":1,"name":"Tianjin","name_alt":"Tiānjīn","name_local":"天津|天津","type":"Zhíxiáshì","type_en":"Municipality","code_local":null,"code_hasc":"CN.TJ","note":null,"hasc_maybe":null,"region":"North China","region_cod":"1","provnum_ne":46,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":null,"postal":"TJ","area_sqkm":0,"sameascity":7,"labelrank":7,"name_len":7,"mapcolor9":4,"mapcolor13":3,"fips":"CH28","fips_alt":null,"woe_id":12578017,"woe_label":"Tianjin, CN, China","woe_name":"Tianjin","latitude":39.3708,"longitude":117.347,"sov_a3":"CH1","adm0_a3":"CHN","adm0_label":2,"admin":"China","geonunit":"China","gu_a3":"CHN","gn_id":1792943,"gn_name":"Tianjin Shi","gns_id":-1928568,"gns_name":"Tianjin Shi","gn_level":1,"gn_region":null,"gn_a1_code":"CN.28","region_sub":null,"sub_code":null,"gns_level":1,"gns_lang":"zho","gns_adm1":"CH28","gns_region":null,"min_label":4.6,"max_label":10.1,"min_zoom":4.6,"wikidataid":"Q11736","name_ar":"تيانجين","name_bn":"থিয়েনচিন","name_de":"Tianjin","name_en":"Tianjin","name_es":"Tianjin","name_fr":"Tianjin","name_el":"Τιεντσίν","name_hi":"तिआंजिन","name_hu":"Tiencsin","name_id":"Tianjin","name_it":"Tientsin","name_ja":"天津市","name_ko":"톈진시","name_nl":"Tianjin","name_pl":"Tiencin","name_pt":"Tianjin","name_ru":"Тяньцзинь","name_sv":"Tianjin","name_tr":"Tientsin","name_vi":"Thiên Tân","name_zh":"天津市","ne_id":1159312751,"name_he":"טיינג'ין","name_uk":"Тяньцзінь","name_ur":"تیانجین","name_fa":"تیانجین","name_zht":"天津市","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[116.68061,38.559249,118.009539,40.257026],"geometry":{"type":"Polygon","coordinates":[[[118.009539,39.2204],[117.865723,39.19126],[117.784668,39.134473],[117.616699,38.852881],[117.553809,38.691455],[117.557813,38.625146],[117.271323,38.559249],[117.189416,38.605809],[117.0949,38.611752],[117.021054,38.708232],[116.880752,38.699395],[116.71084,38.820525],[116.68061,38.915945],[116.712184,39.011831],[116.891811,39.102523],[116.82613,39.216547],[116.853467,39.341423],[116.791249,39.492939],[116.793419,39.602312],[116.875636,39.686467],[117.152777,39.618409],[117.202903,39.761604],[117.147506,39.948001],[117.239077,40.092618],[117.310597,40.110472],[117.37204,40.200647],[117.356796,40.257026],[117.451054,40.226692],[117.749743,40.063472],[117.765556,39.964073],[117.501283,39.988722],[117.533116,39.750416],[117.622516,39.666416],[117.630887,39.575879],[117.892784,39.564614],[117.897124,39.398681],[118.007919,39.342663],[118.009539,39.2204]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"CHN-1817","diss_me":1817,"iso_3166_2":"CN-JX","wikipedia":null,"iso_a2":"CN","adm0_sr":1,"name":"Jiangxi","name_alt":"Jiāngxī","name_local":"江西","type":"Shěng","type_en":"Province","code_local":null,"code_hasc":"CN.JX","note":null,"hasc_maybe":null,"region":"East China","region_cod":"3","provnum_ne":34,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":null,"postal":"JX","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":7,"mapcolor9":4,"mapcolor13":3,"fips":"CH03","fips_alt":null,"woe_id":12577993,"woe_label":"Jiangxi, CN, China","woe_name":"Jiangxi","latitude":27.6397,"longitude":116.017,"sov_a3":"CH1","adm0_a3":"CHN","adm0_label":2,"admin":"China","geonunit":"China","gu_a3":"CHN","gn_id":1806222,"gn_name":"Jiangxi Sheng","gns_id":-1911731,"gns_name":"Jiangxi Sheng","gn_level":1,"gn_region":null,"gn_a1_code":"CN.03","region_sub":"Central","sub_code":null,"gns_level":1,"gns_lang":"zho","gns_adm1":"CH03","gns_region":null,"min_label":4.6,"max_label":10.1,"min_zoom":4.6,"wikidataid":"Q57052","name_ar":"جيانغشي","name_bn":"চিয়াংশি","name_de":"Jiangxi","name_en":"Jiangxi","name_es":"Jiangxi","name_fr":"Jiangxi","name_el":"Τσιανγκσί","name_hi":"जिआंगशी","name_hu":"Csianghszi","name_id":"Jiangxi","name_it":"Jiangxi","name_ja":"江西省","name_ko":"장시성","name_nl":"Jiangxi","name_pl":"Jiangxi","name_pt":"Jiangxi","name_ru":"Цзянси","name_sv":"Jiangxi","name_tr":"Jiangxi","name_vi":"Giang Tây","name_zh":"江西省","ne_id":1159312753,"name_he":"ג'יאנגשי","name_uk":"Цзянсі","name_ur":"جیانگشی","name_fa":"جیانگشی","name_zht":"江西省","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[113.562092,24.49959,118.476262,30.050673],"geometry":{"type":"Polygon","coordinates":[[[113.927548,25.448111],[113.982428,25.581669],[113.917936,25.660191],[113.907187,25.749772],[114.018291,25.934619],[114.041442,26.068848],[114.213525,26.169772],[114.162159,26.221371],[114.062837,26.177782],[113.939485,26.209434],[113.998603,26.283099],[114.014881,26.385082],[114.068418,26.453709],[114.085057,26.577499],[113.864709,26.655867],[113.831636,26.827484],[113.892408,26.945332],[113.754018,27.141858],[113.823575,27.228674],[113.850963,27.345902],[113.78275,27.370784],[113.66746,27.329547],[113.600126,27.368226],[113.562092,27.590564],[113.610978,27.699472],[113.700998,27.818948],[113.705959,27.937727],[113.73681,27.981574],[113.916489,28.021184],[114.013796,28.106476],[114.028213,28.183525],[114.091879,28.257707],[114.184483,28.29308],[114.226858,28.408964],[114.177041,28.507304],[114.056945,28.564277],[114.112808,28.615515],[114.142728,28.788501],[114.01209,28.912913],[113.905172,28.955985],[113.902381,29.06634],[114.063457,29.203153],[114.246546,29.248913],[114.242671,29.308521],[114.308145,29.354539],[114.46953,29.317927],[114.708689,29.389524],[114.818243,29.393865],[114.895189,29.520188],[114.972755,29.559953],[115.272065,29.614653],[115.416862,29.711701],[115.486212,29.864276],[115.705165,29.860813],[115.855905,29.738599],[115.998997,29.744128],[116.147257,29.788776],[116.236192,29.781335],[116.389516,29.876058],[116.492507,29.884714],[116.650482,30.050673],[116.791404,30.022018],[116.886799,29.920422],[116.797915,29.755936],[116.674977,29.708006],[116.648467,29.627417],[116.748564,29.544864],[116.888349,29.560522],[116.955063,29.653901],[117.079087,29.710202],[117.106682,29.786373],[117.067098,29.840582],[117.125182,29.910552],[117.225538,29.906676],[117.274268,29.829472],[117.406302,29.831177],[117.402168,29.773067],[117.52738,29.622352],[117.649181,29.605868],[117.707679,29.555638],[117.898571,29.548972],[117.985905,29.57202],[118.113442,29.518664],[118.17473,29.407869],[118.132356,29.297928],[118.051999,29.275319],[118.000787,29.143932],[118.063936,29.050553],[118.229042,28.954538],[118.302888,28.835785],[118.371669,28.798604],[118.425516,28.6952],[118.415852,28.604042],[118.457917,28.517381],[118.476262,28.33225],[118.446445,28.288687],[118.34888,28.219802],[118.367793,28.099706],[118.130702,28.040537],[118.0613,27.979016],[117.946475,27.973202],[117.823434,27.937261],[117.745557,27.81329],[117.605256,27.866155],[117.544433,27.966665],[117.284242,27.857034],[117.287136,27.77262],[117.225124,27.72345],[117.112263,27.56762],[117.124665,27.429928],[117.101101,27.346652],[117.153811,27.276397],[117.040123,27.109534],[116.923437,27.021012],[116.669706,26.986906],[116.545269,26.867869],[116.504961,26.689301],[116.542323,26.562798],[116.619476,26.492078],[116.594465,26.395082],[116.501654,26.407045],[116.398973,26.287543],[116.419282,26.152874],[116.397268,26.061459],[116.323215,25.955109],[116.180175,25.90723],[116.135165,25.866328],[116.123693,25.764242],[116.027574,25.636368],[116.044524,25.574589],[116.000186,25.497178],[115.97874,25.35083],[115.907995,25.238279],[115.842831,25.194742],[115.888462,24.999947],[115.887531,24.916774],[115.787279,24.860912],[115.74909,24.74774],[115.799216,24.572738],[115.705785,24.545711],[115.599177,24.609067],[115.541144,24.68547],[115.420583,24.78456],[115.239664,24.746113],[115.139102,24.684153],[115.046963,24.706658],[114.944643,24.669967],[114.862684,24.587828],[114.74047,24.625241],[114.711582,24.554548],[114.641923,24.58527],[114.498107,24.55584],[114.424882,24.49959],[114.289386,24.595631],[114.192338,24.695263],[114.301633,24.758644],[114.383592,24.884683],[114.413513,24.97969],[114.548233,25.054466],[114.729307,25.118881],[114.683057,25.163451],[114.706932,25.289568],[114.580479,25.360054],[114.569317,25.406873],[114.429222,25.38597],[114.384367,25.335301],[114.278844,25.291816],[114.114978,25.30843],[114.026043,25.267657],[114.01209,25.435114],[113.927548,25.448111]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"CHN-1818","diss_me":1818,"iso_3166_2":"CN-JS","wikipedia":null,"iso_a2":"CN","adm0_sr":3,"name":"Jiangsu","name_alt":"Jiāngsū","name_local":"江蘇|江苏","type":"Shěng","type_en":"Province","code_local":null,"code_hasc":"CN.JS","note":null,"hasc_maybe":null,"region":"East China","region_cod":"3","provnum_ne":8,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":null,"postal":"JS","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":7,"mapcolor9":4,"mapcolor13":3,"fips":"CH04","fips_alt":null,"woe_id":12577994,"woe_label":"Jiangsu, CN, China","woe_name":"Jiangsu","latitude":32.9844,"longitude":119.942,"sov_a3":"CH1","adm0_a3":"CHN","adm0_label":2,"admin":"China","geonunit":"China","gu_a3":"CHN","gn_id":1806260,"gn_name":"Jiangsu Sheng","gns_id":-1911691,"gns_name":"Jiangsu Sheng","gn_level":1,"gn_region":null,"gn_a1_code":"CN.04","region_sub":null,"sub_code":null,"gns_level":1,"gns_lang":"zho","gns_adm1":"CH04","gns_region":null,"min_label":4.6,"max_label":10.1,"min_zoom":4.6,"wikidataid":"Q16963","name_ar":"جيانغسو","name_bn":"চিয়াংসু","name_de":"Jiangsu","name_en":"Jiangsu","name_es":"Jiangsu","name_fr":"Jiangsu","name_el":"Τσιανγκσού","name_hi":"जिआंगसू","name_hu":"Csiangszu","name_id":"Jiangsu","name_it":"Jiangsu","name_ja":"江蘇省","name_ko":"장쑤성","name_nl":"Jiangsu","name_pl":"Jiangsu","name_pt":"Jiangsu","name_ru":"Цзянсу","name_sv":"Jiangsu","name_tr":"Jiangsu","name_vi":"Giang Tô","name_zh":"江苏省","ne_id":1159311859,"name_he":"ג'יאנגסו","name_uk":"Цзянсу","name_ur":"جیانگسو","name_fa":"جیانگسو","name_zht":"江蘇省","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[116.377217,30.763704,121.866309,35.10592],"geometry":{"type":"Polygon","coordinates":[[[119.295127,35.070838],[119.21582,35.011768],[119.165332,34.848828],[119.200977,34.748437],[119.351367,34.749414],[119.426758,34.71416],[119.58291,34.582227],[119.769727,34.496191],[119.963672,34.447803],[120.201465,34.325684],[120.266699,34.274023],[120.322656,34.168994],[120.425684,33.866309],[120.499805,33.716455],[120.504785,33.638184],[120.615625,33.490527],[120.734473,33.236621],[120.871094,33.016504],[120.897363,32.843213],[120.853027,32.764111],[120.853223,32.661377],[120.989941,32.567041],[121.293359,32.457324],[121.341699,32.425049],[121.400977,32.371924],[121.403906,32.20625],[121.450781,32.15332],[121.490527,32.121094],[121.674219,32.051025],[121.751074,31.992871],[121.832422,31.899756],[121.856348,31.816455],[121.866309,31.703564],[121.763574,31.699512],[121.680859,31.712158],[121.351953,31.858789],[121.266406,31.862695],[121.145801,31.842334],[120.973535,31.869385],[120.791699,32.031738],[120.660547,32.081055],[120.520117,32.105859],[120.184082,31.966162],[120.09873,31.975977],[120.073926,31.960254],[120.035937,31.936279],[120.191602,31.906348],[120.347461,31.9521],[120.497168,32.019824],[120.715527,31.98374],[120.752246,31.922852],[120.787793,31.819775],[120.9375,31.750195],[121.055371,31.719434],[121.204883,31.628076],[121.350977,31.485352],[121.186794,31.457512],[121.135583,31.374416],[121.126281,31.276954],[121.058637,31.248403],[121.034711,31.143758],[120.882989,31.140038],[120.909344,31.011725],[120.692096,30.976559],[120.709459,30.891086],[120.577891,30.845792],[120.490971,30.763704],[120.446943,30.889691],[120.361677,30.938758],[120.213417,30.920542],[120.128616,30.943176],[119.943098,31.086578],[119.931936,31.150037],[119.740113,31.176495],[119.629784,31.13288],[119.362771,31.19236],[119.316831,31.266722],[119.162887,31.287445],[119.074727,31.238843],[118.816086,31.226337],[118.755728,31.280804],[118.751026,31.357957],[118.827249,31.397541],[118.88094,31.522443],[118.860477,31.627372],[118.680746,31.646751],[118.684363,31.700856],[118.476882,31.79023],[118.481068,31.858702],[118.35198,31.946681],[118.383141,32.053961],[118.499052,32.137677],[118.514399,32.199766],[118.65036,32.237878],[118.684053,32.339241],[118.667878,32.453213],[118.61181,32.477682],[118.551813,32.574446],[118.751853,32.612506],[118.891327,32.595685],[119.080515,32.446082],[119.199371,32.593721],[119.190379,32.711234],[119.109505,32.833888],[119.008943,32.909542],[118.992975,32.962045],[118.857376,32.972303],[118.797741,32.865074],[118.748235,32.838539],[118.720175,32.732137],[118.399109,32.730897],[118.299684,32.777405],[118.239016,32.923701],[118.248421,33.013412],[118.218035,33.179913],[118.080731,33.149553],[117.996447,33.167821],[117.931851,33.235129],[118.121504,33.611256],[118.176746,33.692621],[118.123674,33.766001],[117.925547,33.733962],[117.752224,33.72435],[117.745557,33.882273],[117.687525,33.887596],[117.650886,33.982474],[117.57239,33.990458],[117.503453,34.049757],[117.391729,34.031256],[117.321294,34.07885],[117.159443,34.091175],[117.033921,34.155538],[116.969533,34.275402],[116.949482,34.389297],[116.802256,34.400071],[116.769545,34.451825],[116.624851,34.485001],[116.428119,34.639695],[116.377217,34.63954],[116.420212,34.834256],[116.470028,34.898258],[116.631879,34.937945],[116.827629,34.958306],[116.941421,34.879628],[116.993252,34.774002],[117.060586,34.709458],[117.181819,34.450146],[117.235459,34.461256],[117.273907,34.563679],[117.336952,34.588613],[117.469037,34.475338],[117.590683,34.471591],[117.653212,34.52611],[117.773308,34.526549],[117.790051,34.651167],[117.914694,34.676953],[118.050448,34.651477],[118.165429,34.399244],[118.391048,34.443738],[118.422725,34.578484],[118.477192,34.689201],[118.596358,34.707494],[118.680746,34.683852],[118.759449,34.748629],[118.776657,34.833636],[118.842286,34.93456],[118.866781,35.036311],[119.076277,35.049825],[119.175599,35.10592],[119.295127,35.070838]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"CHN-1819","diss_me":1819,"iso_3166_2":"CN-SH","wikipedia":null,"iso_a2":"CN","adm0_sr":5,"name":"Shanghai","name_alt":"Shànghǎi","name_local":"上海|上海","type":"Zhíxiáshì","type_en":"Municipality","code_local":null,"code_hasc":"CN.SH","note":null,"hasc_maybe":null,"region":"East China","region_cod":"3","provnum_ne":9,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":null,"postal":"SH","area_sqkm":0,"sameascity":7,"labelrank":7,"name_len":8,"mapcolor9":4,"mapcolor13":3,"fips":"CH23","fips_alt":null,"woe_id":12578012,"woe_label":"Shanghai, CN, China","woe_name":"Shanghai","latitude":31.0909,"longitude":121.409,"sov_a3":"CH1","adm0_a3":"CHN","adm0_label":2,"admin":"China","geonunit":"China","gu_a3":"CHN","gn_id":1796231,"gn_name":"Shanghai Shi","gns_id":-1924470,"gns_name":"Shanghai Shi","gn_level":1,"gn_region":null,"gn_a1_code":"CN.23","region_sub":null,"sub_code":null,"gns_level":1,"gns_lang":"zho","gns_adm1":"CH23","gns_region":null,"min_label":4.6,"max_label":10.1,"min_zoom":4.6,"wikidataid":"Q8686","name_ar":"شانغهاي","name_bn":"সাংহাই","name_de":"Shanghai","name_en":"Shanghai","name_es":"Shanghái","name_fr":"Shanghai","name_el":"Σαγκάη","name_hi":"शंघाई","name_hu":"Sanghaj","name_id":"Shanghai","name_it":"Shanghai","name_ja":"上海市","name_ko":"상하이시","name_nl":"Shanghai","name_pl":"Szanghaj","name_pt":"Xangai","name_ru":"Шанхай","name_sv":"Shanghai","name_tr":"Şanghay","name_vi":"Thượng Hải","name_zh":"上海市","ne_id":1159311855,"name_he":"שאנגחאי","name_uk":"Шанхай","name_ur":"شنگھائی","name_fa":"شانگهای","name_zht":"上海市","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[120.882989,30.685054,121.87793,31.805371],"geometry":{"type":"MultiPolygon","coordinates":[[[[121.350977,31.485352],[121.660645,31.319727],[121.785937,31.162891],[121.834473,31.061621],[121.87793,30.916992],[121.769434,30.870361],[121.675195,30.86377],[121.527539,30.840967],[121.418945,30.789795],[121.309961,30.699707],[121.277609,30.685054],[121.256144,30.744067],[121.104371,30.834346],[120.981019,30.832046],[120.969185,31.009451],[120.909344,31.011725],[120.882989,31.140038],[121.034711,31.143758],[121.058637,31.248403],[121.126281,31.276954],[121.135583,31.374416],[121.186794,31.457512],[121.350977,31.485352]]],[[[121.576563,31.637305],[121.808301,31.552148],[121.843652,31.526367],[121.862695,31.492285],[121.780469,31.46377],[121.519922,31.549609],[121.336426,31.64375],[121.226855,31.758105],[121.211133,31.805371],[121.338965,31.797363],[121.46416,31.756445],[121.491797,31.693652],[121.542285,31.673926],[121.576563,31.637305]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"CHN-1820","diss_me":1820,"iso_3166_2":"CN-ZJ","wikipedia":null,"iso_a2":"CN","adm0_sr":5,"name":"Zhejiang","name_alt":"Zhèjiāng","name_local":"浙江","type":"Shěng","type_en":"Province","code_local":null,"code_hasc":"CN.ZJ","note":null,"hasc_maybe":null,"region":"East China","region_cod":"3","provnum_ne":4,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":null,"postal":"ZJ","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":8,"mapcolor9":4,"mapcolor13":3,"fips":"CH02","fips_alt":null,"woe_id":12577992,"woe_label":"Zhejiang, CN, China","woe_name":"Zhejiang","latitude":29.1084,"longitude":119.97,"sov_a3":"CH1","adm0_a3":"CHN","adm0_label":2,"admin":"China","geonunit":"China","gu_a3":"CHN","gn_id":1784764,"gn_name":"Zhejiang Sheng","gns_id":-1938694,"gns_name":"Zhejiang Sheng","gn_level":1,"gn_region":null,"gn_a1_code":"CN.02","region_sub":null,"sub_code":null,"gns_level":1,"gns_lang":"zho","gns_adm1":"CH02","gns_region":null,"min_label":4.6,"max_label":10.1,"min_zoom":4.6,"wikidataid":"Q16967","name_ar":"تشيجيانغ","name_bn":"চচিয়াং","name_de":"Zhejiang","name_en":"Zhejiang","name_es":"Zhejiang","name_fr":"Zhejiang","name_el":"Τσετσιάνγκ","name_hi":"झेजियांग","name_hu":"Csöcsiang","name_id":"Zhejiang","name_it":"Zhejiang","name_ja":"浙江省","name_ko":"저장성","name_nl":"Zhejiang","name_pl":"Zhejiang","name_pt":"Zhejiang","name_ru":"Чжэцзян","name_sv":"Zhejiang","name_tr":"Zhejiang","name_vi":"Chiết Giang","name_zh":"浙江省","ne_id":1159311795,"name_he":"ג'ג'יאנג","name_uk":"Чжецзян","name_ur":"ژجیانگ","name_fa":"چجیانگ","name_zht":"浙江省","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[118.000787,27.202522,122.403906,31.176495],"geometry":{"type":"MultiPolygon","coordinates":[[[[121.205469,28.204395],[121.234375,28.181299],[121.250977,28.145215],[121.251367,28.086426],[121.164258,28.0625],[121.131543,28.062598],[121.133984,28.135254],[121.205469,28.204395]]],[[[121.277609,30.685054],[120.997656,30.558252],[120.938281,30.469727],[120.897461,30.392627],[120.821484,30.354639],[120.62998,30.390869],[120.449805,30.387842],[120.245508,30.283545],[120.194629,30.241309],[120.228516,30.249561],[120.260547,30.263037],[120.352539,30.247412],[120.494531,30.303076],[120.633398,30.133154],[120.904492,30.160645],[121.159375,30.301758],[121.258008,30.304102],[121.340625,30.282373],[121.432715,30.22666],[121.67793,29.979102],[121.812305,29.952148],[121.944336,29.894092],[122.017285,29.887695],[122.08291,29.870361],[121.905762,29.779687],[121.676562,29.583789],[121.574609,29.537012],[121.50625,29.48457],[121.69043,29.510986],[121.821875,29.604639],[121.887988,29.627783],[121.941211,29.605908],[121.968359,29.490625],[121.917773,29.13501],[121.853516,29.128906],[121.79082,29.225684],[121.71748,29.256348],[121.655957,29.236133],[121.533691,29.236719],[121.487109,29.193164],[121.447656,29.131348],[121.520898,29.118457],[121.664941,29.010596],[121.679688,28.953125],[121.641016,28.915918],[121.540039,28.931885],[121.6625,28.851416],[121.630078,28.76792],[121.590332,28.734814],[121.519141,28.713672],[121.475195,28.641406],[121.538086,28.521094],[121.602051,28.366602],[121.609961,28.292139],[121.509961,28.324268],[121.35459,28.229883],[121.272266,28.222119],[121.216797,28.346191],[121.145703,28.32666],[121.098437,28.290527],[121.035449,28.157275],[120.958594,28.037012],[120.89248,28.003906],[120.812988,28.013379],[120.747656,28.009961],[120.763477,27.977441],[120.833008,27.937793],[120.833008,27.891455],[120.685156,27.74458],[120.661328,27.687891],[120.664844,27.639453],[120.5875,27.580762],[120.629102,27.482129],[120.60752,27.412402],[120.539844,27.318359],[120.468652,27.25625],[120.423805,27.202522],[120.405809,27.296861],[120.344004,27.379647],[120.248919,27.410162],[120.147736,27.400214],[120.064434,27.343628],[119.770085,27.315878],[119.693397,27.41104],[119.686576,27.511293],[119.615831,27.665573],[119.511703,27.636711],[119.467313,27.525297],[119.390367,27.51261],[119.26562,27.424114],[119.185831,27.419929],[119.005274,27.480054],[118.922695,27.549998],[118.889467,27.722158],[118.819807,27.90995],[118.748132,27.973202],[118.76565,28.178177],[118.797018,28.212929],[118.735213,28.325972],[118.498897,28.262435],[118.446445,28.288687],[118.476262,28.33225],[118.457917,28.517381],[118.415852,28.604042],[118.425516,28.6952],[118.371669,28.798604],[118.302888,28.835785],[118.229042,28.954538],[118.063936,29.050553],[118.000787,29.143932],[118.051999,29.275319],[118.132356,29.297928],[118.17473,29.407869],[118.373219,29.452828],[118.469596,29.523935],[118.556929,29.62522],[118.648086,29.658293],[118.723741,29.730201],[118.741311,29.828361],[118.820117,29.880037],[118.893963,29.982589],[118.852725,30.159271],[118.909466,30.222212],[118.881095,30.324351],[118.934684,30.352127],[119.057519,30.311871],[119.210688,30.313731],[119.362875,30.404475],[119.32081,30.518163],[119.241539,30.550849],[119.350627,30.675363],[119.443128,30.639215],[119.500541,30.769388],[119.574955,30.847058],[119.629784,31.13288],[119.740113,31.176495],[119.931936,31.150037],[119.943098,31.086578],[120.128616,30.943176],[120.213417,30.920542],[120.361677,30.938758],[120.446943,30.889691],[120.490971,30.763704],[120.577891,30.845792],[120.709459,30.891086],[120.692096,30.976559],[120.909344,31.011725],[120.969185,31.009451],[120.981019,30.832046],[121.104371,30.834346],[121.256144,30.744067],[121.277609,30.685054]]],[[[122.401563,29.950244],[122.403906,29.892383],[122.394043,29.846094],[122.367578,29.852686],[122.331836,29.934961],[122.350977,29.955225],[122.401563,29.950244]]],[[[122.284473,30.068018],[122.322266,30.031396],[122.295898,29.963428],[122.281543,29.943848],[122.157813,30.00127],[122.024023,30.01333],[121.977832,30.063818],[121.969434,30.143115],[122.110547,30.139746],[122.284473,30.068018]]],[[[122.119629,29.782227],[122.165039,29.700781],[122.172559,29.679004],[122.169043,29.660254],[122.083789,29.725342],[122.042676,29.735937],[122.062305,29.772754],[122.119629,29.782227]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"CHN-1828","diss_me":1828,"iso_3166_2":"CN-JL","wikipedia":null,"iso_a2":"CN","adm0_sr":1,"name":"Jilin","name_alt":"Jílín","name_local":"吉林","type":"Shěng","type_en":"Province","code_local":null,"code_hasc":"CN.JL","note":null,"hasc_maybe":null,"region":"Northeast China","region_cod":"2","provnum_ne":52,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":null,"postal":"JL","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":5,"mapcolor9":4,"mapcolor13":3,"fips":"CH05","fips_alt":null,"woe_id":12577995,"woe_label":"Jilin, CN, China","woe_name":"Jilin","latitude":43.2978,"longitude":126.466,"sov_a3":"CH1","adm0_a3":"CHN","adm0_label":2,"admin":"China","geonunit":"China","gu_a3":"CHN","gn_id":2036500,"gn_name":"Jilin Sheng","gns_id":-1912251,"gns_name":"Jilin Sheng","gn_level":1,"gn_region":null,"gn_a1_code":"CN.05","region_sub":"Northeast","sub_code":null,"gns_level":1,"gns_lang":"zho","gns_adm1":"CH05","gns_region":null,"min_label":4.6,"max_label":10.1,"min_zoom":4.6,"wikidataid":"Q45208","name_ar":"جيلين","name_bn":"চিলিন","name_de":"Jilin","name_en":"Jilin","name_es":"Jilin","name_fr":"Jilin","name_el":"Τσιλίν","name_hi":"जीलिन","name_hu":"Csilin","name_id":"Jilin","name_it":"Jilin","name_ja":"吉林省","name_ko":"지린성","name_nl":"Jilin","name_pl":"Jilin","name_pt":"Jilin","name_ru":"Гирин","name_sv":"Jilin","name_tr":"Jilin","name_vi":"Cát Lâm","name_zh":"吉林省","ne_id":1159312755,"name_he":"ג'ילין","name_uk":"Цзілінь","name_ur":"جیلن","name_fa":"جیلین","name_zht":"吉林省","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[121.666403,40.852873,131.261787,46.272344],"geometry":{"type":"Polygon","coordinates":[[[131.245073,43.466681],[131.261787,43.43306],[131.257343,43.378076],[131.239359,43.337665],[131.211867,43.257773],[131.175642,43.142199],[131.135593,43.097628],[131.10898,43.062436],[131.08619,43.038097],[131.083503,42.956293],[131.068569,42.902265],[131.005575,42.883119],[130.94284,42.851752],[130.868529,42.863327],[130.803262,42.856816],[130.722491,42.835835],[130.577281,42.811599],[130.492945,42.779095],[130.452741,42.755427],[130.424784,42.727031],[130.419978,42.699875],[130.439201,42.685534],[130.520592,42.674321],[130.576557,42.623238],[130.584464,42.567325],[130.526948,42.535388],[130.498216,42.570528],[130.450312,42.581691],[130.360705,42.630835],[130.295592,42.68494],[130.246707,42.744833],[130.248825,42.872629],[130.24035,42.891775],[130.15126,42.917949],[130.124802,42.955983],[130.082634,42.974173],[130.022276,42.962598],[129.977007,42.974845],[129.941247,42.99567],[129.898252,42.998151],[129.861045,42.965078],[129.841512,42.89423],[129.77919,42.776562],[129.773402,42.705456],[129.74653,42.603808],[129.719762,42.474979],[129.6978,42.448133],[129.627985,42.444283],[129.603903,42.435911],[129.567523,42.39209],[129.523702,42.384648],[129.484841,42.41028],[129.423656,42.435911],[129.365778,42.439219],[129.313689,42.413587],[129.252504,42.35788],[129.217777,42.312715],[129.205375,42.270547],[129.195453,42.218457],[129.1337,42.168512],[129.077217,42.142389],[128.960635,42.068802],[128.923428,42.03821],[128.839816,42.037848],[128.748969,42.04069],[128.626702,42.020846],[128.427231,42.010718],[128.307859,42.025652],[128.160167,42.011596],[128.045239,41.987515],[128.028702,41.951626],[128.03294,41.898476],[128.056091,41.86375],[128.084203,41.840599],[128.1319,41.76913],[128.181768,41.700039],[128.257836,41.655391],[128.289255,41.607435],[128.290909,41.562786],[128.254942,41.506562],[128.200268,41.433001],[128.149419,41.387732],[128.11123,41.389257],[128.052784,41.415612],[128.013096,41.448685],[127.918683,41.461139],[127.687638,41.440003],[127.572193,41.454757],[127.517002,41.481758],[127.420367,41.483773],[127.270816,41.519843],[127.179659,41.531367],[127.136664,41.554518],[127.128396,41.607435],[127.085401,41.643815],[127.061268,41.687352],[127.006904,41.742052],[126.954763,41.769492],[126.9035,41.781068],[126.847276,41.747995],[126.787745,41.718229],[126.743096,41.724844],[126.721599,41.716575],[126.697001,41.691874],[126.601244,41.640973],[126.578352,41.594361],[126.540111,41.495555],[126.513549,41.394011],[126.490398,41.35807],[126.451434,41.351843],[126.41185,41.321328],[126.328703,41.225701],[126.253617,41.137799],[126.144476,41.078268],[126.093213,41.023698],[126.066755,40.974088],[125.989034,40.904635],[125.874932,40.892233],[125.784033,40.872027],[125.728274,40.866705],[125.708515,40.852873],[125.576449,40.912619],[125.691739,41.004061],[125.766412,41.139479],[125.737679,41.245235],[125.65076,41.286266],[125.469892,41.574569],[125.449532,41.679937],[125.306285,41.680376],[125.328195,41.747375],[125.286286,41.825923],[125.295433,41.957233],[125.458213,42.105441],[125.480538,42.151433],[125.28396,42.234451],[125.269491,42.309046],[125.179367,42.333282],[125.20872,42.405836],[125.101956,42.493866],[125.095755,42.576678],[125.018912,42.646855],[124.942121,42.803693],[124.860317,42.887693],[124.888429,43.086724],[124.765697,43.105586],[124.673197,42.998978],[124.519563,42.871673],[124.375902,42.985568],[124.418897,43.081867],[124.295804,43.156565],[124.281851,43.225992],[124.006416,43.310122],[123.806531,43.454221],[123.748705,43.472282],[123.696254,43.353478],[123.605923,43.365054],[123.378134,43.453162],[123.36139,43.539772],[123.489961,43.591448],[123.522156,43.696971],[123.322271,44.04186],[123.359065,44.151336],[123.257572,44.204072],[123.168172,44.366827],[123.116547,44.406489],[123.123782,44.49439],[123.044511,44.513252],[122.955317,44.446848],[122.715383,44.335563],[122.376644,44.219963],[122.254068,44.24593],[122.28187,44.428658],[122.088186,44.61968],[122.045967,44.694947],[122.022557,44.84672],[122.03806,44.934364],[122.010775,45.118332],[122.191849,45.20104],[122.234017,45.287055],[122.136452,45.449087],[122.027053,45.484511],[121.963905,45.567503],[121.934397,45.68995],[121.784949,45.675972],[121.666403,45.715763],[121.814766,45.913709],[121.773684,46.010344],[121.995996,45.980295],[122.239805,45.813483],[122.398555,45.949185],[122.497877,45.82542],[122.646964,45.725065],[122.773416,45.788472],[122.800598,45.913063],[122.798737,46.089332],[123.068902,46.108659],[123.161661,46.220073],[123.258348,46.265083],[123.356119,46.235163],[123.919393,46.272344],[124.034063,46.018483],[123.979441,45.978124],[124.061968,45.871671],[124.017836,45.781728],[124.141033,45.632202],[124.22356,45.635509],[124.332287,45.547272],[124.395591,45.45149],[124.563074,45.415264],[124.611857,45.447924],[124.872461,45.448596],[125.027749,45.49836],[125.103506,45.395317],[125.307422,45.41697],[125.432478,45.47725],[125.521207,45.471023],[125.698715,45.510917],[125.704917,45.359712],[125.840722,45.23481],[126.150471,45.141173],[126.421049,45.228454],[126.559335,45.246748],[126.788985,45.149337],[126.952696,45.134196],[127.076616,44.934002],[126.978276,44.826101],[127.032277,44.730552],[127.04499,44.598234],[127.147258,44.654691],[127.233092,44.615959],[127.375202,44.648825],[127.559274,44.573791],[127.492818,44.410907],[127.617616,44.272233],[127.609813,44.220092],[127.714716,44.161491],[127.744379,44.08563],[127.849592,44.055916],[128.05206,44.125782],[128.042965,44.340705],[128.155258,44.353004],[128.206934,44.440492],[128.358708,44.501677],[128.418756,44.450104],[128.450692,44.315538],[128.445938,44.153946],[128.528775,44.0801],[128.631508,43.912178],[128.747418,43.802185],[128.764471,43.709064],[128.882862,43.556153],[129.014895,43.539668],[129.228939,43.608398],[129.21571,43.738261],[129.249248,43.786165],[129.534915,43.87032],[129.752422,43.87417],[129.802134,43.965482],[129.912929,44.021603],[130.000107,43.983569],[130.03318,43.855618],[130.103615,43.845438],[130.280193,43.964449],[130.3328,43.92781],[130.414087,43.669169],[130.588701,43.627725],[130.916588,43.450475],[130.99462,43.507732],[131.149494,43.436109],[131.245073,43.466681]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"CHN-1838","diss_me":1838,"iso_3166_2":"CN-NM","wikipedia":null,"iso_a2":"CN","adm0_sr":1,"name":"Inner Mongol","name_alt":"Nei Mongol|Nèiměnggǔ","name_local":"內蒙古自治區|内蒙古自治区","type":"Zìzhìqu","type_en":"Autonomous Region","code_local":null,"code_hasc":"CN.NM","note":null,"hasc_maybe":null,"region":"North China","region_cod":"1","provnum_ne":43,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":null,"postal":"NM","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":12,"mapcolor9":4,"mapcolor13":3,"fips":"CH20","fips_alt":null,"woe_id":12578009,"woe_label":"Nei Mongol, CN, China","woe_name":"Inner Mongol","latitude":41.5938,"longitude":111.623,"sov_a3":"CH1","adm0_a3":"CHN","adm0_label":2,"admin":"China","geonunit":"China","gu_a3":"CHN","gn_id":2035607,"gn_name":"Inner Mongolia Autonomous Region","gns_id":-1920094,"gns_name":"Nei Mongol Zizhiqu","gn_level":1,"gn_region":null,"gn_a1_code":"CN.20","region_sub":"Western","sub_code":null,"gns_level":1,"gns_lang":"zho","gns_adm1":"CH20","gns_region":null,"min_label":4.6,"max_label":10.1,"min_zoom":4.6,"wikidataid":"Q41079","name_ar":"منغوليا الداخلية","name_bn":"অন্তর্দেশীয় মঙ্গোলিয়া","name_de":"Innere Mongolei","name_en":"Inner Mongolia","name_es":"Mongolia Interior","name_fr":"Mongolie-Intérieure","name_el":"Εσωτερική Μογγολία","name_hi":"भीतरी मंगोलिया","name_hu":"Belső-Mongólia Autonóm Terület","name_id":"Mongolia Dalam","name_it":"Mongolia Interna","name_ja":"内モンゴル自治区","name_ko":"내몽골 자치구","name_nl":"Binnen-Mongolië","name_pl":"Mongolia Wewnętrzna","name_pt":"Mongólia Interior","name_ru":"Внутренняя Монголия","name_sv":"Inre Mongoliet","name_tr":"İç Moğolistan","name_vi":"Nội Mông","name_zh":"内蒙古自治区","ne_id":1159312757,"name_he":"מונגוליה הפנימית","name_uk":"Внутрішня Монголія","name_ur":"اندرونی منگولیا","name_fa":"مغولستان داخلی","name_zht":"內蒙古自治區","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[97.205674,37.390328,126.056265,53.317056],"geometry":{"type":"Polygon","coordinates":[[[97.205674,42.789792],[97.718925,42.736281],[98.248246,42.684501],[98.71628,42.638741],[98.94686,42.61621],[99.467862,42.568203],[99.757456,42.629465],[99.983799,42.677344],[100.086325,42.670729],[100.519064,42.616805],[100.772588,42.587788],[101.091949,42.551305],[101.313744,42.537869],[101.495283,42.538747],[101.579102,42.523555],[101.659976,42.500042],[101.713823,42.465806],[101.879911,42.292328],[101.972929,42.215873],[102.15669,42.158099],[102.575217,42.092108],[102.806883,42.052007],[103.07281,42.005963],[103.247889,41.936562],[103.449738,41.855843],[103.711117,41.751302],[103.997301,41.796984],[104.305189,41.846154],[104.498252,41.876979],[104.498252,41.658698],[104.773688,41.64118],[104.860297,41.643737],[104.982047,41.595523],[105.05057,41.615936],[105.115476,41.663297],[105.197124,41.738047],[105.314327,41.770887],[105.517053,41.854732],[105.566404,41.875119],[105.867574,41.994],[106.317211,42.140581],[106.518801,42.211584],[106.579056,42.227345],[106.693209,42.26357],[106.770052,42.288737],[106.906064,42.308865],[107.090756,42.321551],[107.292345,42.34925],[107.7487,42.400978],[107.805957,42.405836],[108.062324,42.427178],[108.171206,42.447332],[108.333936,42.43679],[108.546481,42.429323],[108.687351,42.416119],[108.874523,42.426455],[109.131665,42.440562],[109.339817,42.438366],[109.44317,42.455962],[109.595564,42.510532],[109.698038,42.553785],[109.858752,42.606263],[110.058016,42.6606],[110.196819,42.710003],[110.288907,42.74274],[110.400424,42.773669],[110.429622,42.813589],[110.461713,42.844155],[110.520934,42.895263],[110.627491,42.990529],[110.708571,43.073883],[110.748517,43.110806],[110.839571,43.194108],[110.913313,43.256869],[111.007209,43.341386],[111.086481,43.368774],[111.186836,43.391977],[111.45111,43.474918],[111.50351,43.492798],[111.547331,43.496312],[111.640762,43.563181],[111.719724,43.621162],[111.771142,43.664596],[111.878164,43.680177],[111.933147,43.711441],[111.942863,43.75242],[111.931752,43.814949],[111.880334,43.878924],[111.836926,43.934683],[111.683757,44.041136],[111.602625,44.107127],[111.519736,44.191877],[111.486198,44.271613],[111.429561,44.32236],[111.402224,44.367266],[111.410905,44.419201],[111.489454,44.511573],[111.514775,44.569812],[111.547435,44.672907],[111.62128,44.827135],[111.681483,44.899172],[111.75104,44.969555],[111.898007,45.064046],[112.032676,45.081616],[112.11293,45.062934],[112.292092,45.063038],[112.411309,45.05818],[112.499314,45.010922],[112.596776,44.917672],[112.706744,44.883462],[113.049462,44.81034],[113.196119,44.794837],[113.300919,44.791633],[113.455638,44.767449],[113.507935,44.762333],[113.587,44.745719],[113.652629,44.76347],[113.752158,44.825921],[113.87706,44.896175],[113.930907,44.912298],[114.030332,44.94258],[114.080303,44.971157],[114.16743,45.04986],[114.281066,45.11089],[114.419094,45.20259],[114.487255,45.271733],[114.502241,45.316304],[114.517227,45.364621],[114.560171,45.389995],[114.6443,45.413275],[114.738764,45.419605],[114.919218,45.37829],[115.162614,45.390253],[115.217495,45.396196],[115.439497,45.419967],[115.539439,45.439501],[115.681032,45.458259],[115.789139,45.534792],[115.934144,45.626156],[116.039563,45.676928],[116.109843,45.686695],[116.197642,45.739379],[116.240585,45.795991],[116.229113,45.845729],[116.21299,45.886889],[116.264563,45.963035],[116.357632,46.096566],[116.44481,46.158785],[116.516692,46.209066],[116.562581,46.28981],[116.619373,46.313091],[116.688878,46.321979],[116.787011,46.376679],[116.859048,46.387944],[116.978783,46.36177],[117.155981,46.355104],[117.269049,46.352261],[117.333438,46.362028],[117.356899,46.391303],[117.356382,46.436649],[117.392142,46.537573],[117.405578,46.570879],[117.438134,46.586252],[117.546862,46.588268],[117.620501,46.551991],[117.67104,46.522096],[117.741268,46.518143],[117.813512,46.537702],[117.910457,46.619325],[118.071274,46.666583],[118.15685,46.678572],[118.308676,46.717045],[118.40438,46.70317],[118.580442,46.691879],[118.648706,46.701646],[118.722914,46.691879],[118.7903,46.747095],[118.84394,46.760221],[118.957163,46.734848],[119.028528,46.692189],[119.16206,46.638678],[119.331869,46.613796],[119.474082,46.626663],[119.620223,46.603952],[119.706626,46.606019],[119.747451,46.62718],[119.867237,46.67219],[119.895866,46.732858],[119.884135,46.791434],[119.897829,46.857812],[119.862689,46.906595],[119.788534,46.978812],[119.759853,47.027001],[119.757269,47.090046],[119.711174,47.149991],[119.600173,47.222441],[119.526947,47.255927],[119.376672,47.380881],[119.325926,47.410181],[119.308563,47.430723],[119.290838,47.472632],[119.235234,47.492554],[119.162422,47.525213],[119.122941,47.558493],[119.097258,47.616267],[119.081962,47.654146],[119.017573,47.685358],[118.953132,47.702928],[118.88032,47.725098],[118.759914,47.757602],[118.690513,47.822249],[118.567781,47.943275],[118.49838,47.983996],[118.239688,47.999499],[118.147032,48.028903],[118.04187,48.01893],[117.979187,47.999629],[117.840487,47.999861],[117.768398,47.987872],[117.676673,47.908291],[117.555337,47.804679],[117.455136,47.741376],[117.383977,47.675747],[117.350801,47.652182],[117.285896,47.666341],[117.197064,47.74029],[117.069733,47.806385],[116.951652,47.836564],[116.901165,47.853074],[116.760553,47.869792],[116.651929,47.864521],[116.513436,47.839561],[116.378251,47.844057],[116.317169,47.859844],[116.23118,47.858216],[116.074858,47.789538],[115.993881,47.711326],[115.898228,47.686935],[115.81167,47.738223],[115.711676,47.798943],[115.616385,47.874804],[115.557629,47.945032],[115.525073,48.130861],[115.639484,48.186206],[115.785522,48.248218],[115.796581,48.346352],[115.791672,48.455699],[115.820559,48.577242],[115.953781,48.68938],[116.025507,48.782294],[116.034396,48.840017],[116.098268,48.936135],[116.159659,49.037472],[116.243375,49.170384],[116.402125,49.406184],[116.589711,49.684797],[116.683297,49.823781],[116.888969,49.737791],[117.021622,49.692988],[117.24564,49.624852],[117.47715,49.609427],[117.69848,49.53584],[117.812582,49.513516],[117.873457,49.51349],[118.186616,49.692781],[118.451509,49.844503],[118.755987,49.962842],[118.979539,49.978862],[119.147487,50.013382],[119.259832,50.066402],[119.326081,50.154923],[119.346235,50.278947],[119.301587,50.353929],[119.191929,50.379845],[119.163714,50.406019],[119.216734,50.432529],[119.255801,50.48418],[119.280709,50.560997],[119.344065,50.633912],[119.44566,50.702849],[119.501781,50.779226],[119.512323,50.863123],[119.573405,50.946761],[119.684922,51.030115],[119.746004,51.107733],[119.756649,51.179486],[119.813183,51.267052],[119.966972,51.422107],[120.066915,51.600675],[120.236982,51.722993],[120.510505,51.848515],[120.681502,51.973055],[120.749819,52.09651],[120.744496,52.20547],[120.665431,52.299883],[120.650341,52.395924],[120.699227,52.493592],[120.656129,52.566663],[120.52115,52.615032],[120.360023,52.627021],[120.172748,52.602474],[120.067535,52.632912],[120.04428,52.718229],[120.09451,52.787218],[120.21812,52.839876],[120.421311,52.968085],[120.704085,53.171845],[120.985463,53.284577],[121.405437,53.317056],[121.607182,53.24073],[121.800194,53.023586],[121.691518,52.908347],[121.502744,52.774686],[121.173927,52.594981],[121.49091,52.44468],[121.692345,52.388534],[121.831251,52.269368],[122.017907,52.283114],[122.173659,52.479639],[122.33861,52.453698],[122.491779,52.294844],[122.730731,52.248904],[122.775121,52.200018],[122.637662,52.09496],[122.754192,51.847482],[122.714453,51.701677],[122.835531,51.567757],[122.838942,51.510551],[122.956247,51.386063],[123.088125,51.312475],[123.27168,51.26669],[123.438337,51.273098],[123.569646,51.203903],[123.788755,51.232816],[123.866269,51.313432],[124.0044,51.301727],[124.162065,51.328366],[124.350787,51.278627],[124.501889,51.360586],[124.66622,51.335265],[124.82063,51.365857],[125.060615,51.534374],[125.127536,51.615739],[125.333311,51.582743],[125.486635,51.507399],[125.576914,51.389318],[125.719489,51.253719],[125.843409,51.206229],[125.870695,51.14476],[125.984383,51.104219],[126.056265,50.980274],[126.001023,50.901751],[125.824031,50.766798],[125.809406,50.562237],[125.530767,50.393048],[125.418422,50.194611],[125.264427,50.105727],[125.295226,50.014467],[125.188462,49.941861],[125.234764,49.847965],[125.219572,49.668131],[125.130636,49.636557],[125.235695,49.554392],[125.267372,49.438481],[125.222879,49.220045],[125.158128,49.151109],[124.863934,49.175397],[124.82156,49.060882],[124.62183,48.741986],[124.616249,48.667572],[124.538063,48.571687],[124.520699,48.369038],[124.562247,48.236177],[124.520493,48.12869],[124.425563,48.174372],[124.327171,48.332192],[124.300765,48.491872],[124.23405,48.530836],[124.077936,48.448309],[123.726949,48.191064],[123.577553,48.054328],[123.293281,47.945653],[123.206826,47.813826],[123.095412,47.754941],[122.797342,47.643552],[122.565367,47.531156],[122.494725,47.410233],[122.405221,47.331685],[122.574048,47.131129],[122.797342,47.033719],[122.996245,46.840294],[123.186827,46.761642],[123.330488,46.832646],[123.379994,46.898068],[123.489393,46.817298],[123.608714,46.774639],[123.536108,46.691982],[123.397254,46.597828],[123.291524,46.586356],[123.094172,46.621961],[123.019706,46.612349],[122.988907,46.406573],[123.161661,46.220073],[123.068902,46.108659],[122.798737,46.089332],[122.800598,45.913063],[122.773416,45.788472],[122.646964,45.725065],[122.497877,45.82542],[122.398555,45.949185],[122.239805,45.813483],[121.995996,45.980295],[121.773684,46.010344],[121.814766,45.913709],[121.666403,45.715763],[121.784949,45.675972],[121.934397,45.68995],[121.963905,45.567503],[122.027053,45.484511],[122.136452,45.449087],[122.234017,45.287055],[122.191849,45.20104],[122.010775,45.118332],[122.03806,44.934364],[122.022557,44.84672],[122.045967,44.694947],[122.088186,44.61968],[122.28187,44.428658],[122.254068,44.24593],[122.376644,44.219963],[122.715383,44.335563],[122.955317,44.446848],[123.044511,44.513252],[123.123782,44.49439],[123.116547,44.406489],[123.168172,44.366827],[123.257572,44.204072],[123.359065,44.151336],[123.322271,44.04186],[123.522156,43.696971],[123.489961,43.591448],[123.36139,43.539772],[123.378134,43.453162],[123.605923,43.365054],[123.696254,43.353478],[123.611969,43.08135],[123.354414,43.01231],[123.181866,42.944097],[123.131275,42.826378],[122.892789,42.744936],[122.727941,42.741009],[122.47638,42.849633],[122.366877,42.799093],[122.425685,42.722044],[122.399589,42.658327],[122.299388,42.636468],[122.045037,42.720855],[121.918274,42.646596],[121.87776,42.539574],[121.723661,42.457667],[121.646095,42.453585],[121.544447,42.535233],[121.368851,42.49999],[121.034246,42.260108],[120.912599,42.296566],[120.735091,42.227862],[120.627862,42.160373],[120.509161,42.148694],[120.468802,42.038003],[120.340179,41.965811],[120.14076,41.789284],[120.107584,41.706524],[120.0264,41.733835],[120.030328,41.860598],[119.960151,41.971754],[119.891886,41.999452],[119.808222,42.12022],[119.821451,42.208613],[119.629422,42.250548],[119.562759,42.371833],[119.335745,42.289409],[119.245259,42.191947],[119.365872,42.10048],[119.32174,41.965397],[119.330784,41.867548],[119.298641,41.777347],[119.315591,41.657819],[119.389747,41.472559],[119.361635,41.374994],[119.230997,41.273398],[119.152655,41.312207],[118.727926,41.347296],[118.478433,41.355099],[118.370274,41.313964],[118.313637,41.569556],[118.24439,41.592345],[118.159382,41.719133],[118.278238,41.752697],[118.322163,41.863543],[118.267851,42.073866],[118.133906,42.021906],[118.086002,42.181663],[117.989315,42.221609],[118.040217,42.288763],[118.024248,42.382633],[117.80049,42.568823],[117.742612,42.591096],[117.593629,42.551589],[117.450433,42.549289],[117.4124,42.458081],[117.243883,42.482265],[117.055936,42.462835],[116.887109,42.395371],[116.826595,42.308167],[116.878892,42.220214],[116.858118,42.019503],[116.599736,41.92372],[116.466101,41.947621],[116.377527,42.009684],[116.20715,41.884007],[116.129894,41.872897],[116.037858,41.800627],[115.937347,41.927467],[115.858799,41.927467],[115.527502,41.772334],[115.339761,41.720839],[115.347358,41.624075],[115.225866,41.585834],[115.097399,41.616168],[114.888988,41.610044],[114.87581,41.81166],[114.931311,41.838609],[114.920304,41.936872],[114.804858,42.178408],[114.751942,42.139857],[114.596344,42.141278],[114.481312,42.075262],[114.419714,41.956302],[114.255693,41.860081],[114.213525,41.766908],[114.197092,41.593586],[114.027283,41.53129],[113.927961,41.418351],[113.908892,41.294017],[113.984908,41.240894],[113.963824,41.153354],[113.880677,41.0993],[113.907962,41.028142],[114.018602,40.923601],[114.060149,40.813659],[114.154097,40.742578],[114.026973,40.635169],[114.075549,40.550187],[114.043768,40.487994],[113.808485,40.434225],[113.676607,40.42854],[113.518322,40.343739],[113.334147,40.318728],[113.229864,40.416655],[113.086462,40.404433],[112.961405,40.355857],[112.84379,40.225659],[112.734235,40.172845],[112.595846,40.237777],[112.399217,40.288342],[112.279276,40.228966],[112.165071,40.059312],[112.098977,40.00544],[111.921469,39.688844],[111.761168,39.598048],[111.674869,39.635927],[111.489919,39.652154],[111.425375,39.625385],[111.421189,39.522136],[111.342692,39.444414],[111.199445,39.427154],[111.110045,39.385193],[111.041005,39.422969],[111.137072,39.56495],[111.0131,39.564872],[110.845669,39.465188],[110.684852,39.264374],[110.603409,39.267216],[110.494165,39.374315],[110.338103,39.318143],[110.225241,39.424054],[110.109176,39.428395],[110.176872,39.285199],[109.963345,39.181278],[109.820563,39.054464],[109.674267,39.011211],[109.635303,38.905817],[109.537996,38.785204],[109.423947,38.769055],[109.313152,38.620485],[109.159983,38.542144],[108.986351,38.335206],[108.953484,38.199064],[109.02795,38.110956],[109.000975,37.988483],[108.954259,37.925541],[108.863309,37.987604],[108.790704,37.941767],[108.764349,37.681886],[108.496355,37.668605],[108.332954,37.633595],[108.038708,37.632509],[107.991114,37.725708],[107.884971,37.801646],[107.657646,37.852935],[107.40469,37.921665],[107.324178,38.065946],[107.162638,38.138603],[107.060835,38.114935],[106.82917,38.150385],[106.470122,38.290686],[106.644995,38.459203],[106.704423,38.637229],[106.931747,38.921139],[106.977843,39.035602],[106.911852,39.069192],[106.808241,39.199055],[106.78912,39.360957],[106.614092,39.358321],[106.496942,39.285794],[106.347028,39.293778],[106.275663,39.269154],[106.283415,39.156525],[106.113193,39.120817],[106.060276,38.979068],[105.896617,38.736189],[105.84122,38.571289],[105.828094,38.226814],[105.755643,38.135502],[105.824735,38.005484],[105.788096,37.805057],[105.658698,37.739816],[105.534106,37.724984],[105.354428,37.752631],[105.084883,37.660673],[104.944323,37.545719],[104.646977,37.5066],[104.522385,37.529958],[104.425234,37.49859],[104.358519,37.401232],[104.262453,37.390328],[104.108509,37.461848],[103.863666,37.626437],[103.678716,37.775033],[103.438162,37.842393],[103.387467,37.999102],[103.388088,38.10199],[103.521671,38.139843],[103.471235,38.435897],[103.794316,38.590771],[103.979524,38.758978],[104.04257,38.874062],[104.171554,38.959509],[104.224781,39.090689],[104.059985,39.307834],[104.023966,39.441107],[103.749254,39.424881],[103.463794,39.357185],[103.28396,39.292977],[102.965374,39.11937],[102.830551,39.130222],[102.593459,39.177919],[102.39311,39.237192],[101.825496,39.064438],[102.022848,38.892717],[102.020367,38.856931],[101.831077,38.689835],[101.580188,38.688233],[101.413996,38.749211],[101.31979,38.758151],[101.327852,38.825744],[101.247805,38.870031],[101.179954,39.020642],[101.04854,39.000824],[100.88855,39.105159],[100.851963,39.16748],[100.833153,39.380077],[100.789538,39.407879],[100.543455,39.408861],[100.454985,39.495574],[100.306829,39.549834],[100.286623,39.627349],[100.188851,39.69489],[100.043486,39.727653],[99.686143,39.876016],[99.430861,39.878806],[99.532509,40.000789],[99.627025,40.069182],[99.89936,40.204781],[100.014185,40.402495],[100.140017,40.518096],[100.203786,40.616953],[100.176036,40.735085],[100.075473,40.859005],[100.011188,40.89629],[99.664542,40.901276],[99.496025,40.842882],[99.157441,40.836319],[98.825679,40.726558],[98.645845,40.56755],[98.515207,40.533547],[98.23481,40.541686],[98.326536,40.855672],[98.293928,40.91665],[98.203753,40.951247],[97.950538,41.119816],[97.708486,41.349414],[97.647611,41.455532],[97.679599,41.502325],[97.846875,41.619269],[97.205674,42.789792]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"CHN-1839","diss_me":1839,"iso_3166_2":"CN-HL","wikipedia":null,"iso_a2":"CN","adm0_sr":1,"name":"Heilongjiang","name_alt":"Hēilóngjiāng","name_local":"黑龙江省|黑龍江省","type":"Shěng","type_en":"Province","code_local":null,"code_hasc":"CN.HL","note":null,"hasc_maybe":null,"region":"Northeast China","region_cod":"2","provnum_ne":50,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":null,"postal":"HL","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":12,"mapcolor9":4,"mapcolor13":3,"fips":"CH08","fips_alt":null,"woe_id":12577998,"woe_label":"Heilongjiang, CN, China","woe_name":"Heilongjiang","latitude":46.8451,"longitude":127.97,"sov_a3":"CH1","adm0_a3":"CHN","adm0_label":2,"admin":"China","geonunit":"China","gu_a3":"CHN","gn_id":2036965,"gn_name":"Heilongjiang Sheng","gns_id":-1908709,"gns_name":"Heilongjiang Sheng","gn_level":1,"gn_region":null,"gn_a1_code":"CN.08","region_sub":"Northeast","sub_code":null,"gns_level":1,"gns_lang":"zho","gns_adm1":"CH08","gns_region":null,"min_label":4.6,"max_label":10.1,"min_zoom":4.6,"wikidataid":"Q19206","name_ar":"هيلونغجيانغ","name_bn":"হেইলুংচিয়াং","name_de":"Heilongjiang","name_en":"Heilongjiang","name_es":"Heilongjiang","name_fr":"Heilongjiang","name_el":"Χεϊλονγκτσιάνγκ","name_hi":"हेइलोंगजियांग","name_hu":"Hejlungcsiang","name_id":"Heilongjiang","name_it":"Heilongjiang","name_ja":"黒竜江省","name_ko":"헤이룽장성","name_nl":"Heilongjiang","name_pl":"Heilongjiang","name_pt":"Heilongjiang","name_ru":"Хэйлунцзян","name_sv":"Heilongjiang","name_tr":"Heilongjiang","name_vi":"Hắc Long Giang","name_zh":"黑龙江省","ne_id":1159312759,"name_he":"חיילונגג'יאנג","name_uk":"Провінція Хейлунцзян","name_ur":"ہیلونگجیانگ","name_fa":"هیلونگجیانگ","name_zht":"黑龍江省","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[121.173927,43.436109,134.752323,53.555594],"geometry":{"type":"Polygon","coordinates":[[[121.405437,53.317056],[121.743918,53.383615],[122.024346,53.438785],[122.088807,53.451466],[122.337784,53.485004],[122.380158,53.462525],[122.515861,53.456996],[122.744787,53.46852],[122.957591,53.497717],[123.154065,53.544587],[123.309611,53.555594],[123.424022,53.530764],[123.489496,53.529446],[123.534713,53.526449],[123.559725,53.526681],[123.607784,53.546525],[123.740954,53.510998],[123.994685,53.405629],[124.154314,53.358681],[124.219943,53.370102],[124.291463,53.340853],[124.369133,53.270935],[124.465922,53.229645],[124.639865,53.210654],[124.812361,53.133837],[124.882124,53.129729],[124.906619,53.172672],[124.970956,53.197322],[125.075033,53.203678],[125.225566,53.165799],[125.422453,53.083737],[125.54596,53.047615],[125.595983,53.057485],[125.649054,53.042267],[125.691687,53.00369],[125.695356,52.956303],[125.680784,52.930826],[125.728119,52.890725],[125.782793,52.890725],[125.871883,52.871528],[125.941646,52.800705],[126.00433,52.767891],[126.048151,52.739468],[126.056006,52.715878],[126.06014,52.691978],[126.047015,52.673478],[126.023243,52.643014],[126.015957,52.610226],[126.045929,52.573355],[126.15662,52.546638],[126.194447,52.519146],[126.202974,52.483825],[126.237597,52.444809],[126.312838,52.399748],[126.341674,52.362024],[126.324207,52.331664],[126.346324,52.306265],[126.383532,52.286499],[126.39149,52.214488],[126.394797,52.173017],[126.455568,52.126457],[126.468074,52.031295],[126.510552,51.925823],[126.653696,51.781284],[126.700825,51.703046],[126.688733,51.609925],[126.709196,51.566284],[126.774515,51.545071],[126.805418,51.505642],[126.801801,51.448049],[126.827329,51.412263],[126.847741,51.374177],[126.83384,51.314878],[126.854407,51.261367],[126.887738,51.230129],[126.91151,51.172329],[126.924842,51.100137],[127.020392,50.98588],[127.198262,50.829456],[127.306989,50.707965],[127.346832,50.621355],[127.347194,50.550093],[127.30823,50.494179],[127.306059,50.45351],[127.340786,50.428085],[127.351173,50.393617],[127.33722,50.350157],[127.395253,50.298584],[127.59028,50.208977],[127.512352,50.071673],[127.491784,49.975038],[127.50243,49.873416],[127.550799,49.801793],[127.636685,49.760193],[127.69017,49.716759],[127.711151,49.671542],[127.814297,49.622139],[127.999609,49.568603],[128.237062,49.559301],[128.52676,49.594234],[128.70401,49.600125],[128.769019,49.576974],[128.791033,49.541834],[128.770259,49.494705],[128.819352,49.463751],[128.938311,49.44892],[129.02027,49.419258],[129.065125,49.374661],[129.120109,49.362052],[129.185118,49.381379],[129.248421,49.37864],[129.309865,49.353835],[129.350069,49.362362],[129.384692,49.38944],[129.440709,49.38944],[129.498173,49.38882],[129.533727,49.323424],[129.591398,49.286656],[129.671083,49.278491],[129.792522,49.198858],[130.037055,48.972257],[130.196012,48.891641],[130.355279,48.866372],[130.553148,48.861204],[130.617175,48.773173],[130.565602,48.68013],[130.552114,48.602512],[130.597279,48.574658],[130.65924,48.483398],[130.746883,48.430378],[130.763419,48.388416],[130.804244,48.341494],[130.78719,48.254574],[130.712053,48.127657],[130.732568,48.01924],[130.848634,47.929426],[130.9154,47.84292],[130.932866,47.759798],[130.96196,47.70931],[131.002784,47.691456],[131.121847,47.697632],[131.319354,47.727811],[131.464255,47.722617],[131.556756,47.682025],[131.785269,47.680501],[132.149795,47.717966],[132.380168,47.72949],[132.476286,47.714969],[132.561862,47.768506],[132.636897,47.8901],[132.707177,47.947255],[132.772806,47.940072],[132.877089,47.979087],[133.020129,48.064405],[133.144049,48.105643],[133.301145,48.101535],[133.46837,48.097168],[133.573274,48.133031],[133.671769,48.207704],[133.842198,48.273746],[134.205896,48.359891],[134.293385,48.37343],[134.323151,48.370135],[134.334932,48.368831],[134.456165,48.355343],[134.563549,48.321728],[134.665197,48.253928],[134.680803,48.210443],[134.669331,48.15334],[134.647213,48.120164],[134.605355,48.082905],[134.565978,48.022495],[134.591299,47.975211],[134.650314,47.874287],[134.69858,47.801424],[134.752323,47.715408],[134.728087,47.68448],[134.695789,47.624871],[134.596157,47.52387],[134.541897,47.485164],[134.483502,47.447388],[134.382526,47.438242],[134.339428,47.429508],[134.290852,47.413592],[134.260053,47.377729],[134.225223,47.352614],[134.167656,47.302178],[134.162953,47.258718],[134.189257,47.194226],[134.202124,47.128054],[134.136908,47.069014],[134.086421,46.978115],[134.071383,46.950778],[134.04601,46.881997],[134.038568,46.858174],[134.0226,46.71317],[133.972393,46.636823],[133.95754,46.614235],[133.866589,46.499126],[133.886743,46.430551],[133.902762,46.366938],[133.880232,46.336035],[133.874754,46.30906],[133.861318,46.247772],[133.832793,46.224259],[133.750214,46.185915],[133.700708,46.139768],[133.711146,46.069643],[133.685721,46.008949],[133.647791,45.955231],[133.608,45.920298],[133.551156,45.897819],[133.513122,45.878802],[133.4847,45.810434],[133.475812,45.757647],[133.449147,45.705066],[133.46558,45.651219],[133.436434,45.60471],[133.355509,45.572206],[133.309517,45.55306],[133.266936,45.545282],[133.18601,45.494846],[133.113353,45.32142],[133.09692,45.22047],[133.113457,45.130734],[133.011757,45.074562],[132.936,45.029913],[132.888768,45.046062],[132.838641,45.061126],[132.809533,45.066023],[132.808203,45.148779],[132.725195,45.230078],[132.579492,45.29624],[132.401953,45.328955],[132.230176,45.328418],[132.071094,45.286816],[132.023779,45.234715],[131.977505,45.243983],[131.909241,45.273723],[131.851828,45.326846],[131.794881,45.305297],[131.742067,45.242613],[131.654011,45.205355],[131.613962,45.136573],[131.57877,45.083657],[131.487509,45.013118],[131.446892,44.984025],[131.268298,44.936121],[131.22799,44.920152],[131.082314,44.910024],[131.032963,44.888888],[130.9817,44.844317],[130.967748,44.799953],[131.003921,44.753238],[131.060662,44.659677],[131.086914,44.595676],[131.125774,44.469198],[131.255276,44.071574],[131.213314,44.002922],[131.174247,43.704749],[131.183652,43.650876],[131.180035,43.567108],[131.182463,43.505588],[131.20918,43.490421],[131.243907,43.469027],[131.245073,43.466681],[131.149494,43.436109],[130.99462,43.507732],[130.916588,43.450475],[130.588701,43.627725],[130.414087,43.669169],[130.3328,43.92781],[130.280193,43.964449],[130.103615,43.845438],[130.03318,43.855618],[130.000107,43.983569],[129.912929,44.021603],[129.802134,43.965482],[129.752422,43.87417],[129.534915,43.87032],[129.249248,43.786165],[129.21571,43.738261],[129.228939,43.608398],[129.014895,43.539668],[128.882862,43.556153],[128.764471,43.709064],[128.747418,43.802185],[128.631508,43.912178],[128.528775,44.0801],[128.445938,44.153946],[128.450692,44.315538],[128.418756,44.450104],[128.358708,44.501677],[128.206934,44.440492],[128.155258,44.353004],[128.042965,44.340705],[128.05206,44.125782],[127.849592,44.055916],[127.744379,44.08563],[127.714716,44.161491],[127.609813,44.220092],[127.617616,44.272233],[127.492818,44.410907],[127.559274,44.573791],[127.375202,44.648825],[127.233092,44.615959],[127.147258,44.654691],[127.04499,44.598234],[127.032277,44.730552],[126.978276,44.826101],[127.076616,44.934002],[126.952696,45.134196],[126.788985,45.149337],[126.559335,45.246748],[126.421049,45.228454],[126.150471,45.141173],[125.840722,45.23481],[125.704917,45.359712],[125.698715,45.510917],[125.521207,45.471023],[125.432478,45.47725],[125.307422,45.41697],[125.103506,45.395317],[125.027749,45.49836],[124.872461,45.448596],[124.611857,45.447924],[124.563074,45.415264],[124.395591,45.45149],[124.332287,45.547272],[124.22356,45.635509],[124.141033,45.632202],[124.017836,45.781728],[124.061968,45.871671],[123.979441,45.978124],[124.034063,46.018483],[123.919393,46.272344],[123.356119,46.235163],[123.258348,46.265083],[123.161661,46.220073],[122.988907,46.406573],[123.019706,46.612349],[123.094172,46.621961],[123.291524,46.586356],[123.397254,46.597828],[123.536108,46.691982],[123.608714,46.774639],[123.489393,46.817298],[123.379994,46.898068],[123.330488,46.832646],[123.186827,46.761642],[122.996245,46.840294],[122.797342,47.033719],[122.574048,47.131129],[122.405221,47.331685],[122.494725,47.410233],[122.565367,47.531156],[122.797342,47.643552],[123.095412,47.754941],[123.206826,47.813826],[123.293281,47.945653],[123.577553,48.054328],[123.726949,48.191064],[124.077936,48.448309],[124.23405,48.530836],[124.300765,48.491872],[124.327171,48.332192],[124.425563,48.174372],[124.520493,48.12869],[124.562247,48.236177],[124.520699,48.369038],[124.538063,48.571687],[124.616249,48.667572],[124.62183,48.741986],[124.82156,49.060882],[124.863934,49.175397],[125.158128,49.151109],[125.222879,49.220045],[125.267372,49.438481],[125.235695,49.554392],[125.130636,49.636557],[125.219572,49.668131],[125.234764,49.847965],[125.188462,49.941861],[125.295226,50.014467],[125.264427,50.105727],[125.418422,50.194611],[125.530767,50.393048],[125.809406,50.562237],[125.824031,50.766798],[126.001023,50.901751],[126.056265,50.980274],[125.984383,51.104219],[125.870695,51.14476],[125.843409,51.206229],[125.719489,51.253719],[125.576914,51.389318],[125.486635,51.507399],[125.333311,51.582743],[125.127536,51.615739],[125.060615,51.534374],[124.82063,51.365857],[124.66622,51.335265],[124.501889,51.360586],[124.350787,51.278627],[124.162065,51.328366],[124.0044,51.301727],[123.866269,51.313432],[123.788755,51.232816],[123.569646,51.203903],[123.438337,51.273098],[123.27168,51.26669],[123.088125,51.312475],[122.956247,51.386063],[122.838942,51.510551],[122.835531,51.567757],[122.714453,51.701677],[122.754192,51.847482],[122.637662,52.09496],[122.775121,52.200018],[122.730731,52.248904],[122.491779,52.294844],[122.33861,52.453698],[122.173659,52.479639],[122.017907,52.283114],[121.831251,52.269368],[121.692345,52.388534],[121.49091,52.44468],[121.173927,52.594981],[121.502744,52.774686],[121.691518,52.908347],[121.800194,53.023586],[121.607182,53.24073],[121.405437,53.317056]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"IDN-1136","diss_me":1136,"iso_3166_2":"ID-AC","wikipedia":null,"iso_a2":"ID","adm0_sr":5,"name":"Aceh","name_alt":"Achin|Atjeh|Nanggroe Aceh Darussalam","name_local":null,"type":"Propinsi","type_en":"Autonomous Province","code_local":null,"code_hasc":"ID.AC","note":null,"hasc_maybe":null,"region":null,"region_cod":null,"provnum_ne":2,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":null,"postal":"AC","area_sqkm":0,"sameascity":6,"labelrank":6,"name_len":4,"mapcolor9":6,"mapcolor13":11,"fips":"ID01","fips_alt":null,"woe_id":2345710,"woe_label":"Aceh, ID, Indonesia","woe_name":"Aceh","latitude":4.41533,"longitude":96.9956,"sov_a3":"IDN","adm0_a3":"IDN","adm0_label":2,"admin":"Indonesia","geonunit":"Indonesia","gu_a3":"IDN","gn_id":1215638,"gn_name":"Nanggroe Aceh Darussalam Province","gns_id":-2669829,"gns_name":"Nanggroe Aceh Darussalam, Provinsi","gn_level":1,"gn_region":null,"gn_a1_code":"ID.01","region_sub":null,"sub_code":null,"gns_level":1,"gns_lang":"ind","gns_adm1":"ID01","gns_region":null,"min_label":5,"max_label":10.1,"min_zoom":4.6,"wikidataid":"Q1823","name_ar":"آتشيه","name_bn":"আচেহ","name_de":"Aceh","name_en":"Aceh","name_es":"Aceh","name_fr":"Aceh","name_el":"Άτσεχ","name_hi":"आचे","name_hu":"Aceh","name_id":"Aceh","name_it":"Aceh","name_ja":"アチェ州","name_ko":"아체","name_nl":"Atjeh","name_pl":"Aceh","name_pt":"Achém","name_ru":"Ачех","name_sv":"Aceh","name_tr":"Açe","name_vi":"Aceh","name_zh":"亚齐","ne_id":1159308869,"name_he":"אצ'ה","name_uk":"Ачех","name_ur":"آچے","name_fa":"آچه","name_zht":"亞齊","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[95.206641,2.053271,98.27334,5.907031],"geometry":{"type":"MultiPolygon","coordinates":[[[[95.241992,5.907031],[95.28252,5.897754],[95.35918,5.876758],[95.366016,5.842676],[95.362109,5.812402],[95.342578,5.784131],[95.283203,5.798535],[95.217676,5.889502],[95.241992,5.907031]]],[[[97.291406,2.20083],[97.328711,2.148535],[97.33418,2.075635],[97.32832,2.053271],[97.225098,2.158496],[97.108301,2.216895],[97.156641,2.232227],[97.252832,2.216016],[97.291406,2.20083]]],[[[96.417285,2.515186],[96.443066,2.465625],[96.459375,2.41582],[96.463672,2.36001],[96.400977,2.350684],[96.340625,2.37207],[96.29043,2.42959],[96.021973,2.595752],[95.938477,2.598437],[95.879785,2.640918],[95.808594,2.655615],[95.733008,2.766504],[95.717188,2.825977],[95.772168,2.85498],[95.80625,2.916016],[95.895801,2.889062],[95.997852,2.781396],[96.101562,2.741211],[96.129785,2.720898],[96.17998,2.661328],[96.417285,2.515186]]],[[[98.086523,2.195068],[98.005078,2.238184],[97.918555,2.264209],[97.79502,2.282861],[97.700781,2.358545],[97.662012,2.494287],[97.640625,2.676416],[97.616797,2.785107],[97.59082,2.846582],[97.391309,2.975293],[97.313184,3.077051],[97.247949,3.189014],[97.188379,3.275732],[96.968945,3.575146],[96.893945,3.653711],[96.800977,3.708545],[96.525391,3.766602],[96.444727,3.816309],[96.31084,3.986328],[96.230078,4.072754],[95.987988,4.263281],[95.578613,4.661963],[95.494727,4.761377],[95.431934,4.865039],[95.38125,4.976172],[95.206641,5.284033],[95.220703,5.34624],[95.24707,5.410791],[95.242969,5.464307],[95.223828,5.51709],[95.227832,5.564795],[95.27959,5.592871],[95.396094,5.628809],[95.516992,5.624609],[95.628906,5.609082],[95.737305,5.579297],[95.841309,5.514502],[96.027344,5.351172],[96.133301,5.294287],[96.250879,5.266992],[96.492578,5.229346],[96.615234,5.220215],[96.842676,5.274463],[96.967773,5.269141],[97.085742,5.229932],[97.19043,5.207324],[97.451172,5.236035],[97.500195,5.22832],[97.547168,5.205859],[97.5875,5.170361],[97.706738,5.040137],[97.908398,4.87998],[97.966602,4.77749],[97.999805,4.662256],[98.020703,4.635205],[98.248438,4.414551],[98.27334,4.322314],[98.264751,4.288155],[98.188405,4.294777],[98.062728,4.24031],[98.001026,3.980067],[97.890232,3.915162],[97.893333,3.848189],[97.783882,3.744785],[97.843827,3.579885],[97.914158,3.483767],[97.906768,3.433021],[97.989554,3.330391],[97.86398,3.257424],[97.936379,3.140635],[97.895606,3.082603],[97.922788,2.90928],[98.057043,2.812128],[98.069394,2.676995],[98.025314,2.576122],[98.062573,2.444347],[98.127633,2.32699],[98.086523,2.195068]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"IDN-1185","diss_me":1185,"iso_3166_2":"ID-KI","wikipedia":null,"iso_a2":"ID","adm0_sr":5,"name":"Kalimantan Timur","name_alt":"Kaltim","name_local":null,"type":"Propinsi","type_en":"Province","code_local":null,"code_hasc":"ID.KI","note":null,"hasc_maybe":null,"region":null,"region_cod":null,"provnum_ne":15,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":null,"postal":"KI","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":16,"mapcolor9":6,"mapcolor13":11,"fips":"ID14","fips_alt":null,"woe_id":2345723,"woe_label":"East Kalimantan, ID, Indonesia","woe_name":"Kalimantan Timur","latitude":1.28915,"longitude":116.354,"sov_a3":"IDN","adm0_a3":"IDN","adm0_label":2,"admin":"Indonesia","geonunit":"Indonesia","gu_a3":"IDN","gn_id":1641897,"gn_name":"Provinsi Kalimantan Timur","gns_id":-2680740,"gns_name":"Kalimantan Timur, Provinsi","gn_level":1,"gn_region":null,"gn_a1_code":"ID.14","region_sub":null,"sub_code":null,"gns_level":1,"gns_lang":"ind","gns_adm1":"ID14","gns_region":null,"min_label":5,"max_label":10.1,"min_zoom":4.6,"wikidataid":"Q3899","name_ar":"كالمنتان الشرقية","name_bn":"পূর্ব কালিমান্তান","name_de":"Ostkalimantan","name_en":"East Kalimantan","name_es":"Kalimantan Oriental","name_fr":"Kalimantan oriental","name_el":"Ανατολικό Καλιμαντάν","name_hi":"पूर्व कालिमंतान","name_hu":"Kelet-Kalimantan","name_id":"Kalimantan Timur","name_it":"Kalimantan Orientale","name_ja":"東カリマンタン州","name_ko":"동칼리만탄","name_nl":"Oost-Kalimantan","name_pl":"Borneo Wschodnie","name_pt":"Kalimantan Oriental","name_ru":"Восточный Калимантан","name_sv":"Kalimantan Timur","name_tr":"Doğu Kalimantan","name_vi":"Đông Kalimantan","name_zh":"东加里曼丹省","ne_id":1159310009,"name_he":"מזרח קלימנטאן","name_uk":"Східний Калімантан","name_ur":"مشرقی کالیمانتان","name_fa":"کالیمانتان شرقی","name_zht":"東加里曼丹省","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[113.776394,-2.3587,118.984961,4.370793],"geometry":{"type":"MultiPolygon","coordinates":[[[[117.547852,3.431982],[117.636719,3.436084],[117.680859,3.40752],[117.658398,3.280518],[117.645801,3.247754],[117.560352,3.328223],[117.5375,3.386377],[117.547852,3.431982]]],[[[117.649102,4.168987],[117.745402,4.166929],[117.884722,4.186153],[117.917871,4.090527],[117.922852,4.054297],[117.736816,4.004004],[117.625098,4.121484],[117.649102,4.168987]]],[[[114.210598,1.462906],[114.27471,1.470892],[114.387054,1.500064],[114.512525,1.452005],[114.545908,1.467146],[114.567457,1.514146],[114.632207,1.617059],[114.66094,1.68628],[114.686158,1.819062],[114.703521,1.850792],[114.751063,1.868982],[114.799949,1.893942],[114.812713,1.933784],[114.830593,1.980009],[114.815814,2.018947],[114.78796,2.051606],[114.758711,2.162401],[114.768323,2.21294],[114.78641,2.250509],[114.836329,2.269371],[114.969086,2.350813],[115.086547,2.446156],[115.150832,2.492923],[115.179047,2.523205],[115.180856,2.566898],[115.129852,2.612399],[115.080759,2.634232],[115.077038,2.68702],[115.078899,2.723426],[115.093678,2.757816],[115.086547,2.791199],[115.08634,2.841119],[115.117553,2.894862],[115.189951,2.974444],[115.24695,3.025914],[115.310202,2.993926],[115.384203,3.008731],[115.45438,3.034311],[115.493137,3.12813],[115.499131,3.17314],[115.489726,3.208642],[115.514221,3.342406],[115.519957,3.361656],[115.566104,3.445733],[115.570651,3.502293],[115.544503,3.63368],[115.560885,3.733054],[115.568429,3.938778],[115.596076,3.97552],[115.627496,4.081973],[115.67881,4.193026],[115.782422,4.253746],[115.836837,4.333276],[115.860763,4.348055],[115.896213,4.348701],[116.02158,4.290694],[116.134441,4.355187],[116.236244,4.362551],[116.320321,4.353714],[116.367709,4.327333],[116.414528,4.308213],[116.51478,4.370793],[116.553124,4.359838],[116.589091,4.338444],[116.638648,4.339115],[116.697818,4.354954],[116.843494,4.340149],[117.100636,4.337074],[117.277524,4.299324],[117.450898,4.192897],[117.537353,4.171374],[117.574466,4.170581],[117.566211,4.162305],[117.497461,4.133398],[117.465332,4.076074],[117.559375,3.98833],[117.566016,3.929932],[117.639063,3.877979],[117.728223,3.796729],[117.731738,3.770264],[117.762012,3.733887],[117.777246,3.689258],[117.714453,3.644824],[117.629883,3.636328],[117.567383,3.678271],[117.509668,3.730371],[117.494922,3.665576],[117.450391,3.628516],[117.287891,3.639307],[117.171582,3.638965],[117.055957,3.622656],[117.113867,3.612646],[117.166406,3.591992],[117.346289,3.426611],[117.384668,3.365381],[117.321875,3.243555],[117.352441,3.19375],[117.42207,3.165186],[117.506836,3.10459],[117.567187,3.098486],[117.610645,3.064355],[117.612402,3.004883],[117.637891,2.95083],[117.569141,2.929297],[117.637207,2.914941],[117.697656,2.887305],[117.664551,2.859277],[117.638867,2.825293],[117.666797,2.806934],[117.749707,2.775586],[117.785937,2.746777],[117.804883,2.668945],[117.885742,2.541748],[118.03418,2.377637],[118.066602,2.317822],[118.066309,2.262744],[118.041602,2.21543],[117.957031,2.159961],[117.889258,2.087012],[117.881055,2.060645],[117.789258,2.026855],[117.83125,2.002002],[117.864648,1.968408],[117.928418,1.866797],[118.080371,1.701855],[118.156836,1.640332],[118.47168,1.416455],[118.638965,1.318994],[118.852539,1.09585],[118.963477,1.044287],[118.984961,0.982129],[118.892383,0.886865],[118.757422,0.839209],[118.534766,0.813525],[118.311523,0.84707],[118.196094,0.874365],[118.095508,0.92915],[118.016309,1.03916],[117.911621,1.098682],[117.951953,1.031982],[117.977344,0.963818],[117.964258,0.889551],[117.923047,0.831348],[117.852539,0.788672],[117.776953,0.754004],[117.745117,0.729639],[117.55332,0.341016],[117.522168,0.235889],[117.46377,-0.200488],[117.462891,-0.32373],[117.548926,-0.554395],[117.556836,-0.675293],[117.573828,-0.727539],[117.5625,-0.770898],[117.521777,-0.79668],[117.357129,-0.867188],[117.240723,-0.925684],[117.146484,-1.008984],[117.070215,-1.112695],[117.003223,-1.187695],[116.913965,-1.223633],[116.849414,-1.218262],[116.79707,-1.183789],[116.760547,-1.117188],[116.739844,-1.044238],[116.726172,-1.098145],[116.728711,-1.150781],[116.759277,-1.207129],[116.770996,-1.266602],[116.753418,-1.327344],[116.715234,-1.375781],[116.611621,-1.428613],[116.554492,-1.473926],[116.545117,-1.553125],[116.517578,-1.598047],[116.47793,-1.632812],[116.332129,-1.7125],[116.299609,-1.744336],[116.275488,-1.784863],[116.353223,-1.778613],[116.424316,-1.784863],[116.42959,-1.86416],[116.451953,-1.923145],[116.423535,-2.052539],[116.313965,-2.139844],[116.368652,-2.158203],[116.418164,-2.186719],[116.528125,-2.20791],[116.56543,-2.299707],[116.556824,-2.3587],[116.390498,-2.314432],[116.042716,-2.288232],[115.99445,-2.271024],[115.874044,-2.350657],[115.814099,-2.183639],[115.828775,-2.047162],[115.748935,-2.000704],[115.741235,-1.784232],[115.689042,-1.635507],[115.606877,-1.46668],[115.677518,-1.425907],[115.720151,-1.426321],[115.802007,-1.294443],[115.805107,-1.085256],[115.739685,-1.103808],[115.628684,-0.978028],[115.517838,-0.937824],[115.460012,-0.885992],[115.415157,-0.773906],[115.381257,-0.582031],[115.329891,-0.511028],[115.274184,-0.31104],[115.277233,-0.220141],[115.347358,0.002274],[115.275424,0.031368],[115.187367,0.00522],[115.085772,-0.117512],[115.002572,-0.177663],[114.967329,-0.097513],[115.017662,0.057671],[114.953066,0.284169],[114.967949,0.364216],[115.075953,0.533043],[115.057246,0.636861],[114.976476,0.735201],[114.735405,0.672569],[114.663058,0.621306],[114.377546,0.588647],[114.183914,0.650452],[114.036327,0.647041],[113.969871,0.603633],[113.776394,0.558571],[113.917677,0.736441],[113.948115,0.862222],[113.86259,0.902322],[113.864451,0.976427],[114.018033,1.078642],[114.192079,1.214448],[114.210598,1.462906]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"IDN-1223","diss_me":1223,"iso_3166_2":"ID-JB","wikipedia":null,"iso_a2":"ID","adm0_sr":1,"name":"Jawa Barat","name_alt":"Jabar","name_local":null,"type":"Propinsi","type_en":"Province","code_local":null,"code_hasc":"ID.JR","note":null,"hasc_maybe":null,"region":null,"region_cod":null,"provnum_ne":18,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":null,"postal":"JR","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":10,"mapcolor9":6,"mapcolor13":11,"fips":"ID30","fips_alt":"ID06","woe_id":2345715,"woe_label":"West Java, ID, Indonesia","woe_name":"Jawa Barat","latitude":-6.90763,"longitude":107.638,"sov_a3":"IDN","adm0_a3":"IDN","adm0_label":2,"admin":"Indonesia","geonunit":"Indonesia","gu_a3":"IDN","gn_id":1642672,"gn_name":"Provinsi Jawa Barat","gns_id":-2679921,"gns_name":"Jawa Barat, Provinsi","gn_level":1,"gn_region":null,"gn_a1_code":"ID.30","region_sub":null,"sub_code":null,"gns_level":1,"gns_lang":"ind","gns_adm1":"ID30","gns_region":null,"min_label":5,"max_label":10.1,"min_zoom":4.6,"wikidataid":"Q3724","name_ar":"جاوة الغربية","name_bn":"পশ্চিম জাভা","name_de":"Jawa Barat","name_en":"West Java","name_es":"Java Occidental","name_fr":"Java occidental","name_el":"Δυτική Ιάβα","name_hi":"पश्चिम जावा","name_hu":"Nyugat-Jáva","name_id":"Jawa Barat","name_it":"Giava Occidentale","name_ja":"西ジャワ州","name_ko":"자와바랏","name_nl":"West-Java","name_pl":"Jawa Zachodnia","name_pt":"Java Ocidental","name_ru":"Западная Ява","name_sv":"Jawa Barat","name_tr":"Batı Cava","name_vi":"Tây Java","name_zh":"西爪哇省","ne_id":1159309879,"name_he":"מערב ג'אווה","name_uk":"Західна Ява","name_ur":"مغربی جاوا","name_fa":"جاوه غربی","name_zht":"西爪哇省","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[106.401056,-7.796973,108.899414,-5.904199],"geometry":{"type":"Polygon","coordinates":[[[106.98882,-6.027009],[107.011621,-6.008496],[107.046289,-5.904199],[107.162109,-5.957129],[107.331836,-5.978125],[107.373926,-6.007617],[107.474707,-6.121777],[107.562988,-6.182715],[107.666797,-6.21582],[107.776074,-6.218945],[107.883789,-6.233301],[108.008789,-6.276953],[108.137598,-6.29668],[108.197461,-6.289062],[108.254492,-6.266602],[108.29502,-6.265039],[108.330176,-6.286035],[108.419141,-6.382812],[108.515918,-6.471191],[108.537988,-6.516211],[108.603613,-6.729199],[108.677832,-6.790527],[108.779688,-6.808301],[108.899414,-6.808398],[108.800677,-6.93477],[108.788998,-7.061326],[108.695464,-7.139822],[108.595418,-7.142096],[108.546894,-7.27878],[108.704662,-7.39097],[108.741559,-7.536542],[108.733601,-7.6046],[108.798983,-7.667482],[108.741211,-7.66709],[108.570508,-7.707227],[108.517969,-7.736035],[108.451758,-7.796973],[108.335547,-7.794043],[108.220508,-7.782324],[107.91748,-7.724121],[107.804395,-7.688379],[107.695801,-7.635547],[107.597852,-7.566699],[107.546875,-7.541895],[107.284961,-7.47168],[107.071191,-7.447461],[106.631445,-7.415527],[106.535352,-7.394238],[106.455273,-7.368652],[106.411328,-7.311719],[106.416895,-7.239355],[106.448438,-7.176758],[106.491504,-7.113867],[106.519727,-7.053711],[106.401056,-7.007245],[106.450795,-6.836223],[106.506088,-6.783462],[106.426558,-6.6968],[106.405268,-6.524098],[106.43369,-6.438987],[106.420771,-6.370412],[106.560297,-6.355219],[106.630887,-6.384365],[106.739149,-6.386483],[106.76292,-6.301424],[106.923892,-6.381522],[106.984974,-6.235433],[106.98882,-6.027009]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"IDN-1224","diss_me":1224,"iso_3166_2":"ID-JT","wikipedia":null,"iso_a2":"ID","adm0_sr":5,"name":"Jawa Tengah","name_alt":"Jateng","name_local":null,"type":"Propinsi","type_en":"Province","code_local":null,"code_hasc":"ID.JT","note":null,"hasc_maybe":null,"region":null,"region_cod":null,"provnum_ne":19,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":null,"postal":"JT","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":11,"mapcolor9":6,"mapcolor13":11,"fips":"ID07","fips_alt":null,"woe_id":2345716,"woe_label":"Central Java, ID, Indonesia","woe_name":"Jawa Tengah","latitude":-7.2901,"longitude":109.896,"sov_a3":"IDN","adm0_a3":"IDN","adm0_label":2,"admin":"Indonesia","geonunit":"Indonesia","gu_a3":"IDN","gn_id":1642669,"gn_name":"Provinsi Jawa Tengah","gns_id":-2679924,"gns_name":"Jawa Tengah, Provinsi","gn_level":1,"gn_region":null,"gn_a1_code":"ID.07","region_sub":null,"sub_code":null,"gns_level":1,"gns_lang":"ind","gns_adm1":"ID07","gns_region":null,"min_label":5,"max_label":10.1,"min_zoom":4.6,"wikidataid":"Q3557","name_ar":"جاوة الوسطى","name_bn":"মধ্য জাভা","name_de":"Jawa Tengah","name_en":"Central Java","name_es":"Java Central","name_fr":"Java central","name_el":"Σέντραλ Τζάβα","name_hi":"मध्य जावा","name_hu":"Jawa Tengah","name_id":"Jawa Tengah","name_it":"Giava Centrale","name_ja":"中部ジャワ州","name_ko":"중앙자와","name_nl":"Midden-Java","name_pl":"Jawa Środkowa","name_pt":"Java Central","name_ru":"Центральная Ява","name_sv":"Jawa Tengah","name_tr":"Orta Cava","name_vi":"Trung Java","name_zh":"中爪哇省","ne_id":1159309873,"name_he":"יאוה המרכזית","name_uk":"Центральна Ява","name_ur":"وسطی جاوا","name_fa":"جاوه مرکزی","name_zht":"中爪哇省","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[108.546894,-8.22118,111.676099,-6.424219],"geometry":{"type":"Polygon","coordinates":[[[110.945339,-8.22118],[110.843016,-8.204097],[110.798746,-8.121674],[110.786602,-7.873628],[110.753323,-7.832597],[110.578656,-7.820969],[110.50662,-7.783091],[110.4413,-7.568943],[110.301309,-7.669144],[110.136513,-7.676792],[110.116669,-7.761593],[110.038672,-7.890527],[109.852637,-7.828418],[109.281641,-7.704883],[109.193555,-7.694922],[108.986719,-7.704102],[108.85625,-7.667871],[108.798983,-7.667482],[108.733601,-7.6046],[108.741559,-7.536542],[108.704662,-7.39097],[108.546894,-7.27878],[108.595418,-7.142096],[108.695464,-7.139822],[108.788998,-7.061326],[108.800677,-6.93477],[108.899414,-6.808398],[109.018359,-6.817285],[109.294238,-6.866992],[109.403711,-6.860156],[109.500586,-6.810156],[109.586914,-6.842578],[109.820996,-6.902441],[109.93623,-6.91582],[110.06709,-6.89873],[110.198438,-6.895117],[110.260938,-6.912402],[110.321094,-6.938379],[110.372754,-6.947754],[110.42627,-6.947266],[110.520898,-6.897266],[110.583594,-6.805664],[110.634277,-6.690137],[110.674023,-6.569824],[110.700781,-6.518066],[110.736914,-6.472363],[110.78418,-6.442676],[110.834766,-6.424219],[110.972266,-6.435645],[111.000684,-6.464746],[111.154395,-6.669043],[111.181543,-6.686719],[111.34209,-6.699512],[111.386523,-6.692871],[111.484473,-6.651855],[111.540332,-6.648242],[111.643555,-6.69873],[111.676099,-6.730133],[111.629342,-6.800101],[111.598491,-6.960763],[111.608309,-7.153982],[111.459843,-7.273768],[111.444288,-7.311233],[111.220271,-7.251392],[111.197378,-7.308598],[111.184976,-7.529101],[111.217481,-7.613333],[111.190609,-7.707436],[111.264609,-7.731724],[111.307914,-7.837816],[111.228022,-7.93812],[111.099245,-8.008503],[110.965196,-8.116869],[110.945339,-8.22118]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"IDN-1225","diss_me":1225,"iso_3166_2":"ID-BE","wikipedia":null,"iso_a2":"ID","adm0_sr":4,"name":"Bengkulu","name_alt":"Bencoolen|Benkoelen|Benkulen","name_local":null,"type":"Propinsi","type_en":"Province","code_local":null,"code_hasc":"ID.BE","note":null,"hasc_maybe":null,"region":null,"region_cod":null,"provnum_ne":10,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":null,"postal":"BE","area_sqkm":0,"sameascity":7,"labelrank":7,"name_len":8,"mapcolor9":6,"mapcolor13":11,"fips":"ID03","fips_alt":null,"woe_id":2345712,"woe_label":"Bengkulu, ID, Indonesia","woe_name":"Bengkulu","latitude":-3.48606,"longitude":102.368,"sov_a3":"IDN","adm0_a3":"IDN","adm0_label":2,"admin":"Indonesia","geonunit":"Indonesia","gu_a3":"IDN","gn_id":1649147,"gn_name":"Propinsi Bengkulu","gns_id":-2672899,"gns_name":"Bengkulu, Provinsi","gn_level":1,"gn_region":null,"gn_a1_code":"ID.03","region_sub":null,"sub_code":null,"gns_level":1,"gns_lang":"ind","gns_adm1":"ID03","gns_region":null,"min_label":5,"max_label":10.1,"min_zoom":4.6,"wikidataid":"Q1890","name_ar":"بنغكولو","name_bn":"বেঙ্কুলু","name_de":"Bengkulu","name_en":"Bengkulu","name_es":"Bengkulu","name_fr":"Bengkulu","name_el":"Μπενγκούλου","name_hi":"बेंकुलू","name_hu":"Bengkulu","name_id":"Bengkulu","name_it":"Bengkulu","name_ja":"ブンクル州","name_ko":"븡쿨루","name_nl":"Bengkulu","name_pl":"Bengkulu","name_pt":"Bengkulu","name_ru":"Бенкулу","name_sv":"Bengkulu","name_tr":"Bengkulu","name_vi":"Bengkulu","name_zh":"明古鲁省","ne_id":1159309889,"name_he":"בנגקולו","name_uk":"Бенгкулу","name_ur":"بنگکولو","name_fa":"بنگکولو","name_zht":"明古魯省","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[101.035918,-5.483496,103.765274,-2.236246],"geometry":{"type":"MultiPolygon","coordinates":[[[[102.371777,-5.366406],[102.405469,-5.404785],[102.367188,-5.478711],[102.285937,-5.483496],[102.135547,-5.360547],[102.110742,-5.322559],[102.153516,-5.28623],[102.198438,-5.288867],[102.371777,-5.366406]]],[[[103.592478,-4.927274],[103.405664,-4.816406],[103.332129,-4.765234],[103.238867,-4.675684],[103.138672,-4.596191],[102.918945,-4.470703],[102.537695,-4.152148],[102.371973,-3.969238],[102.187695,-3.674512],[102.127539,-3.599219],[101.817871,-3.378027],[101.649023,-3.244043],[101.578613,-3.166992],[101.414258,-2.898828],[101.366211,-2.808496],[101.305664,-2.728711],[101.20625,-2.663965],[101.118555,-2.587793],[101.035918,-2.472667],[101.170962,-2.367142],[101.335603,-2.296965],[101.435752,-2.236246],[101.517142,-2.305234],[101.56422,-2.450238],[101.736716,-2.636273],[101.900426,-2.740143],[101.962645,-2.735027],[102.066825,-2.782362],[102.223818,-2.95429],[102.241129,-3.058831],[102.430782,-3.087925],[102.489331,-3.151229],[102.461684,-3.250447],[102.562608,-3.344085],[102.631338,-3.373024],[102.765955,-3.278973],[102.870186,-3.375918],[102.974883,-3.395606],[103.017309,-3.485368],[102.993073,-3.58407],[102.897213,-3.630837],[102.701825,-3.791086],[102.629891,-3.813669],[102.768487,-3.96136],[102.845175,-4.000479],[102.908427,-3.991074],[102.981032,-4.035361],[103.107381,-4.019858],[103.141643,-4.046781],[103.185929,-4.242531],[103.391498,-4.334774],[103.615774,-4.418025],[103.621768,-4.505254],[103.693909,-4.639303],[103.722537,-4.757487],[103.765274,-4.804668],[103.592478,-4.927274]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"IDN-1226","diss_me":1226,"iso_3166_2":"ID-BT","wikipedia":null,"iso_a2":"ID","adm0_sr":5,"name":"Banten","name_alt":null,"name_local":null,"type":"Propinsi","type_en":"Province","code_local":null,"code_hasc":"ID.BT","note":null,"hasc_maybe":null,"region":null,"region_cod":null,"provnum_ne":12,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":null,"postal":"BT","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":6,"mapcolor9":6,"mapcolor13":11,"fips":"ID33","fips_alt":"ID04","woe_id":28350158,"woe_label":"Banten, ID, Indonesia","woe_name":"Banten","latitude":-6.25794,"longitude":106.167,"sov_a3":"IDN","adm0_a3":"IDN","adm0_label":2,"admin":"Indonesia","geonunit":"Indonesia","gu_a3":"IDN","gn_id":1923045,"gn_name":"Provinsi Banten","gns_id":6071833,"gns_name":"Banten, Provinsi","gn_level":1,"gn_region":null,"gn_a1_code":"ID.33","region_sub":null,"sub_code":null,"gns_level":1,"gns_lang":"ind","gns_adm1":"ID33","gns_region":null,"min_label":5,"max_label":10.1,"min_zoom":4.6,"wikidataid":"Q3540","name_ar":"بنتن","name_bn":"বান্তেন","name_de":"Banten","name_en":"Banten","name_es":"Bantén","name_fr":"Banten","name_el":"Μπάντεν","name_hi":"बांतेन","name_hu":"Banten","name_id":"Banten","name_it":"Banten","name_ja":"バンテン州","name_ko":"반텐","name_nl":"Bantam","name_pl":"Banten","name_pt":"Banten","name_ru":"Бантен","name_sv":"Banten","name_tr":"Banten","name_vi":"Banten","name_zh":"万丹省","ne_id":1159309877,"name_he":"בנטן","name_uk":"Бантен","name_ur":"بانٹین","name_fa":"بانتن","name_zht":"万丹省","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[105.121387,-7.007245,106.76292,-5.91416],"geometry":{"type":"MultiPolygon","coordinates":[[[[105.121387,-6.614941],[105.192285,-6.545605],[105.225684,-6.529102],[105.260547,-6.523926],[105.277441,-6.561426],[105.252832,-6.64043],[105.19043,-6.6625],[105.142773,-6.643066],[105.121387,-6.614941]]],[[[106.401056,-7.007245],[106.198242,-6.927832],[105.944336,-6.858984],[105.834766,-6.845801],[105.724805,-6.846094],[105.600977,-6.860352],[105.478418,-6.853711],[105.420801,-6.833203],[105.361914,-6.826172],[105.30293,-6.841016],[105.255469,-6.835254],[105.243164,-6.778027],[105.273438,-6.729395],[105.335645,-6.674121],[105.370898,-6.664355],[105.387012,-6.750781],[105.404688,-6.767969],[105.459766,-6.786914],[105.483691,-6.781543],[105.580859,-6.670996],[105.608008,-6.616699],[105.655078,-6.469531],[105.706055,-6.497949],[105.757422,-6.480371],[105.786914,-6.456934],[105.868262,-6.116406],[105.936133,-6.016992],[106.028809,-5.934277],[106.075,-5.91416],[106.16582,-5.964746],[106.349707,-5.984082],[106.459082,-6.017578],[106.56875,-6.021875],[106.675879,-6.038379],[106.729801,-6.059997],[106.684114,-6.101901],[106.701994,-6.210112],[106.76292,-6.301424],[106.739149,-6.386483],[106.630887,-6.384365],[106.560297,-6.355219],[106.420771,-6.370412],[106.43369,-6.438987],[106.405268,-6.524098],[106.426558,-6.6968],[106.506088,-6.783462],[106.450795,-6.836223],[106.401056,-7.007245]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"IDN-1227","diss_me":1227,"iso_3166_2":"ID-JK","wikipedia":null,"iso_a2":"ID","adm0_sr":1,"name":"Jakarta Raya","name_alt":"Jawa|Djakarta","name_local":null,"type":"Daerah Khusus Ibukota","type_en":"Special district","code_local":null,"code_hasc":"ID.JK","note":null,"hasc_maybe":null,"region":null,"region_cod":null,"provnum_ne":17,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":null,"postal":"JK","area_sqkm":0,"sameascity":9,"labelrank":9,"name_len":12,"mapcolor9":6,"mapcolor13":11,"fips":"ID04","fips_alt":null,"woe_id":2345713,"woe_label":"DKI Jakarta, ID, Indonesia","woe_name":"Jakarta Raya","latitude":-6.22462,"longitude":106.837,"sov_a3":"IDN","adm0_a3":"IDN","adm0_label":2,"admin":"Indonesia","geonunit":"Indonesia","gu_a3":"IDN","gn_id":1642907,"gn_name":"Daerah Khusus Ibukota Jakarta","gns_id":-2679656,"gns_name":"Jakarta, Daerah Khusus Ibukota","gn_level":1,"gn_region":null,"gn_a1_code":"ID.04","region_sub":null,"sub_code":null,"gns_level":1,"gns_lang":"ind","gns_adm1":"ID04","gns_region":null,"min_label":5,"max_label":10.1,"min_zoom":4.6,"wikidataid":"Q3630","name_ar":"جاكرتا","name_bn":"জাকার্তা","name_de":"Jakarta","name_en":"Jakarta","name_es":"Yakarta","name_fr":"Jakarta","name_el":"Τζακάρτα","name_hi":"जकार्ता","name_hu":"Jakarta","name_id":"Jakarta","name_it":"Giacarta","name_ja":"ジャカルタ","name_ko":"자카르타","name_nl":"Jakarta","name_pl":"Dżakarta","name_pt":"Jacarta","name_ru":"Джакарта","name_sv":"Jakarta","name_tr":"Cakarta","name_vi":"Jakarta","name_zh":"雅加达","ne_id":1159309883,"name_he":"ג'קרטה","name_uk":"Джакарта","name_ur":"جکارتا","name_fa":"جاکارتا","name_zht":"雅加達","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[106.684114,-6.381522,106.98882,-6.027009],"geometry":{"type":"Polygon","coordinates":[[[106.729801,-6.059997],[106.825195,-6.098242],[106.87793,-6.091992],[106.931641,-6.073438],[106.98882,-6.027009],[106.984974,-6.235433],[106.923892,-6.381522],[106.76292,-6.301424],[106.701994,-6.210112],[106.684114,-6.101901],[106.729801,-6.059997]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"IDN-1228","diss_me":1228,"iso_3166_2":"ID-KB","wikipedia":null,"iso_a2":"ID","adm0_sr":5,"name":"Kalimantan Barat","name_alt":"Kalbar","name_local":null,"type":"Propinsi","type_en":"Province","code_local":null,"code_hasc":"ID.KB","note":null,"hasc_maybe":null,"region":null,"region_cod":null,"provnum_ne":13,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":null,"postal":"KB","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":16,"mapcolor9":6,"mapcolor13":11,"fips":"ID11","fips_alt":null,"woe_id":2345720,"woe_label":"West Kalimantan, ID, Indonesia","woe_name":"Kalimantan Barat","latitude":-0.0636474,"longitude":111.304,"sov_a3":"IDN","adm0_a3":"IDN","adm0_label":2,"admin":"Indonesia","geonunit":"Indonesia","gu_a3":"IDN","gn_id":1641900,"gn_name":"Provinsi Kalimantan Barat","gns_id":-2680737,"gns_name":"Kalimantan Barat, Provinsi","gn_level":1,"gn_region":null,"gn_a1_code":"ID.11","region_sub":null,"sub_code":null,"gns_level":1,"gns_lang":"ind","gns_adm1":"ID11","gns_region":null,"min_label":5,"max_label":10.1,"min_zoom":4.6,"wikidataid":"Q3916","name_ar":"كالمنتان الغربية","name_bn":"পশ্চিম কালিমান্তান","name_de":"Kalimantan Barat","name_en":"West Kalimantan","name_es":"Borneo Occidental","name_fr":"Kalimantan occidental","name_el":"Δυτικό Καλιμαντάν","name_hi":"पश्चिम कालिमंतान","name_hu":"Nyugat-Kalimantan","name_id":"Kalimantan Barat","name_it":"Kalimantan Occidentale","name_ja":"西カリマンタン州","name_ko":"서칼리만탄","name_nl":"West-Kalimantan","name_pl":"Borneo Zachodnie","name_pt":"Kalimantan Ocidental","name_ru":"Западный Калимантан","name_sv":"Kalimantan Barat","name_tr":"Batı Kalimantan","name_vi":"Tây Kalimantan","name_zh":"西加里曼丹省","ne_id":1159309929,"name_he":"מערב קלימנטן","name_uk":"Західний Калімантан","name_ur":"مغربی کالیمانتان","name_fa":"کالیمانتان غربی","name_zht":"西加里曼丹省","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[108.803711,-3.020898,114.210598,2.027525],"geometry":{"type":"MultiPolygon","coordinates":[[[[108.877246,-1.539844],[108.956836,-1.564063],[108.953125,-1.619629],[108.837891,-1.661621],[108.803711,-1.567773],[108.877246,-1.539844]]],[[[109.699512,-1.007324],[109.743359,-1.039355],[109.760547,-1.105176],[109.750781,-1.14502],[109.710254,-1.180664],[109.51084,-1.282813],[109.463672,-1.277539],[109.428125,-1.241211],[109.450293,-1.044141],[109.475977,-0.985352],[109.614648,-0.979102],[109.699512,-1.007324]]],[[[114.210598,1.462906],[114.192079,1.214448],[114.018033,1.078642],[113.864451,0.976427],[113.86259,0.902322],[113.948115,0.862222],[113.917677,0.736441],[113.776394,0.558571],[113.646686,0.410053],[113.622915,0.310937],[113.531551,0.261431],[113.416003,0.275229],[113.324535,0.245205],[113.45321,0.065888],[113.478531,-0.047542],[113.429335,-0.190427],[113.326241,-0.251664],[113.249191,-0.361063],[113.300816,-0.422765],[113.256426,-0.551387],[113.161134,-0.469893],[113.084033,-0.518469],[113.004245,-0.518728],[112.755061,-0.63593],[112.578018,-0.704453],[112.497299,-0.702127],[112.379994,-0.754579],[112.118511,-0.735355],[112.058669,-0.795765],[111.968649,-0.822844],[111.651408,-1.015493],[111.58738,-1.102],[111.577355,-1.186749],[111.416073,-1.268759],[111.327138,-1.373301],[111.24213,-1.420585],[111.133971,-1.530449],[111.011602,-1.526108],[110.920341,-1.613235],[111.017441,-1.660312],[111.025244,-1.867018],[110.994755,-1.985253],[111.012325,-2.127363],[111.137692,-2.404814],[111.137589,-2.733011],[111.067102,-2.764689],[110.899205,-2.908763],[110.811133,-2.938477],[110.73584,-2.988672],[110.703125,-3.020898],[110.668164,-3.004785],[110.574023,-2.891406],[110.377539,-2.933789],[110.350977,-2.946777],[110.302539,-2.985352],[110.256055,-2.966113],[110.232617,-2.925098],[110.224316,-2.688672],[110.124414,-2.233887],[110.096582,-2.001367],[110.075,-1.946387],[109.959863,-1.862793],[109.96377,-1.742871],[110.023438,-1.642578],[110.036133,-1.525684],[110.019238,-1.398828],[109.983301,-1.274805],[109.938086,-1.181152],[109.873438,-1.101074],[109.787402,-1.011328],[109.681738,-0.944238],[109.453809,-0.86875],[109.333496,-0.875391],[109.288867,-0.845801],[109.258789,-0.807422],[109.270996,-0.732031],[109.311719,-0.680176],[109.366309,-0.667383],[109.372754,-0.638184],[109.257031,-0.577441],[109.160547,-0.494922],[109.130273,-0.44541],[109.121094,-0.390918],[109.121777,-0.265039],[109.149609,-0.185547],[109.164746,-0.14248],[109.194629,-0.009424],[109.25752,0.031152],[109.247266,0.055762],[109.220215,0.073828],[109.180762,0.11748],[109.148535,0.167676],[109.074805,0.252832],[108.944531,0.355664],[108.922754,0.532812],[108.905859,0.793945],[108.916797,0.912646],[108.958594,1.134619],[109.030859,1.204492],[109.088477,1.223926],[109.131543,1.253857],[109.096094,1.258154],[109.06543,1.247168],[109.010254,1.239648],[109.055469,1.438477],[109.075879,1.495898],[109.166699,1.60708],[109.273145,1.705469],[109.318164,1.821094],[109.378516,1.922705],[109.628895,2.027525],[109.538978,1.896215],[109.5489,1.848363],[109.570811,1.806298],[109.63582,1.776636],[109.65401,1.614889],[109.735762,1.522931],[109.818031,1.438956],[109.878492,1.397848],[109.944897,1.338058],[109.991664,1.282558],[110.04086,1.235739],[110.114757,1.19016],[110.315262,0.996012],[110.399081,0.939064],[110.461403,0.882065],[110.505741,0.861963],[110.614778,0.878138],[110.938066,1.017354],[110.996047,1.026346],[111.101312,1.050531],[111.286727,1.043192],[111.483149,0.995753],[111.546711,0.994358],[111.607379,1.022625],[111.691302,1.014202],[111.769747,0.999474],[111.809021,1.01167],[111.923122,1.113266],[112.078462,1.143341],[112.128588,1.243594],[112.167345,1.338162],[112.185742,1.439086],[112.250647,1.479652],[112.341598,1.51474],[112.476163,1.559078],[112.943008,1.567011],[112.988225,1.54758],[112.997992,1.49624],[112.988225,1.457121],[113.00657,1.433892],[113.068634,1.431799],[113.126253,1.408131],[113.359004,1.327154],[113.458222,1.302143],[113.513206,1.308396],[113.622243,1.235946],[113.681671,1.260595],[113.760323,1.311393],[113.835254,1.379864],[113.902381,1.43428],[113.999998,1.45526],[114.125985,1.452366],[114.210598,1.462906]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"IDN-1229","diss_me":1229,"iso_3166_2":"ID-LA","wikipedia":null,"iso_a2":"ID","adm0_sr":5,"name":"Lampung","name_alt":null,"name_local":null,"type":"Propinsi","type_en":"Province","code_local":null,"code_hasc":"ID.LA","note":null,"hasc_maybe":null,"region":null,"region_cod":null,"provnum_ne":11,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":null,"postal":"LA","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":7,"mapcolor9":6,"mapcolor13":11,"fips":"ID15","fips_alt":null,"woe_id":2345724,"woe_label":"Lampung, ID, Indonesia","woe_name":"Lampung","latitude":-4.919,"longitude":105.059,"sov_a3":"IDN","adm0_a3":"IDN","adm0_label":2,"admin":"Indonesia","geonunit":"Indonesia","gu_a3":"IDN","gn_id":1638535,"gn_name":"Provinsi Lampung","gns_id":-2684390,"gns_name":"Lampung, Provinsi","gn_level":1,"gn_region":null,"gn_a1_code":"ID.15","region_sub":null,"sub_code":null,"gns_level":1,"gns_lang":"ind","gns_adm1":"ID15","gns_region":null,"min_label":5,"max_label":10.1,"min_zoom":4.6,"wikidataid":"Q2110","name_ar":"لامبونغ","name_bn":"লাম্পুং","name_de":"Lampung","name_en":"Lampung","name_es":"Lampung","name_fr":"Lampung","name_el":"Λαμπούνγκ","name_hi":"लांपुंग","name_hu":"Lampung","name_id":"Lampung","name_it":"Lampung","name_ja":"ランプン州","name_ko":"람풍","name_nl":"Lampung","name_pl":"Lampung","name_pt":"Lampung","name_ru":"Лампунг","name_sv":"Lampung","name_tr":"Lampung","name_vi":"Lampung","name_zh":"楠榜省","ne_id":1159309885,"name_he":"למפונג","name_uk":"Лампунг","name_ur":"لامپونگ","name_fa":"لامپونگ","name_zht":"楠榜省","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[103.592478,-5.90791,105.890527,-3.755584],"geometry":{"type":"Polygon","coordinates":[[[105.831445,-4.162891],[105.886523,-4.553906],[105.890527,-4.659766],[105.879297,-4.793652],[105.887207,-5.00957],[105.816113,-5.676563],[105.802734,-5.716406],[105.74834,-5.818262],[105.676562,-5.817578],[105.618555,-5.799609],[105.57793,-5.760645],[105.555566,-5.712305],[105.522656,-5.672754],[105.349414,-5.549512],[105.304004,-5.57002],[105.128125,-5.722852],[105.081348,-5.745508],[105.022656,-5.726855],[104.930273,-5.681152],[104.639551,-5.52041],[104.62168,-5.571777],[104.618164,-5.641504],[104.675977,-5.816211],[104.683984,-5.892676],[104.631055,-5.90791],[104.601562,-5.90459],[104.480859,-5.803125],[104.369531,-5.690723],[104.242969,-5.538867],[104.150488,-5.466602],[104.066797,-5.385938],[103.831445,-5.07959],[103.770312,-5.032813],[103.592478,-4.927274],[103.765274,-4.804668],[103.854726,-4.854225],[103.889452,-4.9336],[104.081069,-4.946726],[104.210363,-4.893189],[104.297851,-4.892466],[104.336505,-4.814279],[104.264933,-4.707826],[104.308755,-4.627831],[104.292735,-4.494712],[104.309065,-4.440245],[104.397225,-4.405105],[104.527243,-4.320046],[104.674314,-4.296843],[104.839575,-4.220672],[105.008867,-4.169203],[105.111497,-4.059959],[105.128963,-3.956347],[105.266061,-3.886119],[105.309934,-3.755584],[105.513229,-3.868446],[105.709186,-4.149979],[105.831445,-4.162891]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"IDN-1230","diss_me":1230,"iso_3166_2":"ID-SS","wikipedia":null,"iso_a2":"ID","adm0_sr":1,"name":"Sumatera Selatan","name_alt":"Sumsel","name_local":null,"type":"Propinsi","type_en":"Province","code_local":null,"code_hasc":"ID.SL","note":null,"hasc_maybe":null,"region":null,"region_cod":null,"provnum_ne":8,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":null,"postal":"SL","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":16,"mapcolor9":6,"mapcolor13":11,"fips":"ID32","fips_alt":"ID25","woe_id":2345734,"woe_label":"South Sumatra, ID, Indonesia","woe_name":"Sumatera Selatan","latitude":-3.3824,"longitude":104.073,"sov_a3":"IDN","adm0_a3":"IDN","adm0_label":2,"admin":"Indonesia","geonunit":"Indonesia","gu_a3":"IDN","gn_id":1626196,"gn_name":"Provinsi Sumatera Selatan","gns_id":-2698117,"gns_name":"Sumatera Selatan, Provinsi","gn_level":1,"gn_region":null,"gn_a1_code":"ID.32","region_sub":null,"sub_code":null,"gns_level":1,"gns_lang":"ind","gns_adm1":"ID32","gns_region":null,"min_label":5,"max_label":10.1,"min_zoom":4.6,"wikidataid":"Q2271","name_ar":"سومطرة الجنوبية","name_bn":"দক্ষিণ সুমাত্রা","name_de":"Sumatera Selatan","name_en":"South Sumatra","name_es":"Sumatra Meridional","name_fr":"Sumatra du Sud","name_el":"Νότια Σουμάτρα","name_hi":"दक्षिण सुमात्रा","name_hu":"Dél-Sumatera","name_id":"Sumatra Selatan","name_it":"Sumatra Meridionale","name_ja":"南スマトラ州","name_ko":"남수마트라","name_nl":"Zuid-Sumatra","name_pl":"Sumatra Południowa","name_pt":"Sumatra do Sul","name_ru":"Южная Суматра","name_sv":"Sumatra Selatan","name_tr":"Güney Sumatra","name_vi":"Nam Sumatera","name_zh":"南苏门答腊省","ne_id":1159310063,"name_he":"דרום סומטרה","name_uk":"Південна Суматра","name_ur":"جنوبی سماٹرا","name_fa":"سوماترای جنوبی","name_zht":"南苏门答腊省","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[102.066825,-4.946726,106.058398,-1.69385],"geometry":{"type":"Polygon","coordinates":[[[104.517899,-1.728735],[104.515918,-1.819434],[104.56875,-1.921777],[104.676367,-1.987207],[104.791016,-2.04082],[104.845215,-2.092969],[104.844531,-2.171777],[104.826074,-2.23418],[104.787305,-2.282715],[104.668457,-2.385547],[104.647266,-2.429883],[104.630566,-2.543359],[104.650781,-2.595215],[104.69834,-2.598145],[104.735742,-2.570898],[104.878418,-2.418848],[104.916992,-2.392188],[104.970801,-2.370898],[105.025879,-2.35752],[105.286523,-2.35625],[105.396973,-2.380176],[105.495313,-2.429688],[105.582031,-2.491992],[105.899121,-2.887793],[106.044336,-3.10625],[106.055762,-3.160645],[106.058398,-3.217188],[106.033691,-3.260938],[105.901465,-3.410059],[105.885059,-3.45127],[105.84375,-3.613672],[105.851562,-3.730566],[105.895508,-3.779688],[105.930469,-3.833008],[105.927734,-3.881348],[105.840625,-4.121777],[105.831445,-4.162891],[105.709186,-4.149979],[105.513229,-3.868446],[105.309934,-3.755584],[105.266061,-3.886119],[105.128963,-3.956347],[105.111497,-4.059959],[105.008867,-4.169203],[104.839575,-4.220672],[104.674314,-4.296843],[104.527243,-4.320046],[104.397225,-4.405105],[104.309065,-4.440245],[104.292735,-4.494712],[104.308755,-4.627831],[104.264933,-4.707826],[104.336505,-4.814279],[104.297851,-4.892466],[104.210363,-4.893189],[104.081069,-4.946726],[103.889452,-4.9336],[103.854726,-4.854225],[103.765274,-4.804668],[103.722537,-4.757487],[103.693909,-4.639303],[103.621768,-4.505254],[103.615774,-4.418025],[103.391498,-4.334774],[103.185929,-4.242531],[103.141643,-4.046781],[103.107381,-4.019858],[102.981032,-4.035361],[102.908427,-3.991074],[102.845175,-4.000479],[102.768487,-3.96136],[102.629891,-3.813669],[102.701825,-3.791086],[102.897213,-3.630837],[102.993073,-3.58407],[103.017309,-3.485368],[102.974883,-3.395606],[102.870186,-3.375918],[102.765955,-3.278973],[102.631338,-3.373024],[102.562608,-3.344085],[102.461684,-3.250447],[102.489331,-3.151229],[102.430782,-3.087925],[102.241129,-3.058831],[102.223818,-2.95429],[102.066825,-2.782362],[102.233119,-2.684384],[102.260198,-2.639528],[102.39776,-2.709912],[102.486851,-2.729911],[102.596405,-2.709808],[102.618677,-2.671516],[102.791742,-2.567853],[102.863572,-2.461762],[102.862022,-2.353913],[103.122884,-2.397993],[103.204533,-2.361303],[103.17022,-2.286113],[103.215592,-2.185964],[103.271919,-2.209064],[103.303648,-2.284563],[103.41899,-2.393807],[103.463225,-2.351536],[103.459866,-2.238261],[103.523687,-2.224515],[103.535004,-1.967942],[103.886352,-1.794774],[103.957872,-1.790588],[104.125614,-1.830637],[104.321519,-1.804334],[104.375934,-1.713849],[104.428283,-1.69385],[104.517899,-1.728735]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"IDN-1231","diss_me":1231,"iso_3166_2":"ID-BB","wikipedia":null,"iso_a2":"ID","adm0_sr":5,"name":"Bangka-Belitung","name_alt":"Babel|Kepulauan Bangka Belitung","name_local":null,"type":"Propinsi","type_en":"Province","code_local":null,"code_hasc":"ID.BB","note":null,"hasc_maybe":null,"region":null,"region_cod":null,"provnum_ne":9,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":null,"postal":"BB","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":15,"mapcolor9":6,"mapcolor13":11,"fips":"ID35","fips_alt":"ID25","woe_id":28350154,"woe_label":"Bangka-Belitung, ID, Indonesia","woe_name":"Bangka-Belitung","latitude":-2.95817,"longitude":106.819,"sov_a3":"IDN","adm0_a3":"IDN","adm0_label":2,"admin":"Indonesia","geonunit":"Indonesia","gu_a3":"IDN","gn_id":1923047,"gn_name":"Provinsi Kepulauan Bangka Belitung","gns_id":6071835,"gns_name":"Kepulauan Bangka Belitung, Provinsi","gn_level":1,"gn_region":null,"gn_a1_code":"ID.35","region_sub":null,"sub_code":null,"gns_level":1,"gns_lang":"ind","gns_adm1":"ID35","gns_region":null,"min_label":5,"max_label":10.1,"min_zoom":4.6,"wikidataid":"Q1866","name_ar":"بانغكا - بليتونغ","name_bn":"বাঙ্কা বেলিতুং দ্বীপপুঞ্জ","name_de":"Bangka-Belitung","name_en":"Bangka Belitung Islands","name_es":"Bangka-Belitung","name_fr":"Îles Bangka Belitung","name_el":"Μπάνγκα Μπελίτουνγκ","name_hi":"बांका-बेलितुंग द्वीपसमूह","name_hu":"Bangka-Belitung","name_id":"Kepulauan Bangka Belitung","name_it":"Bangka-Belitung","name_ja":"バンカ・ブリトゥン州","name_ko":"방카벨리퉁","name_nl":"Bangka-Belitung","name_pl":"Wyspy Bangka i Belitung","name_pt":"Bangka-Belitung","name_ru":"Банка-Белитунг","name_sv":"Bangka-Belitung","name_tr":"Bangka-Belitung","name_vi":"Quần đảo Bangka-Belitung","name_zh":"邦加-勿里洞省","ne_id":1159309895,"name_he":"באנגקה-בליטונג","name_uk":"Банка-Белітунг","name_ur":"بانگکا بیلیٹنگ","name_fa":"جزایر بانگکا-بلیتونگ","name_zht":"邦加-勿里洞省","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[105.133398,-3.226855,108.290625,-1.50498],"geometry":{"type":"MultiPolygon","coordinates":[[[[107.432813,-2.925293],[107.409277,-2.900586],[107.402441,-2.872949],[107.419336,-2.838086],[107.474414,-2.834668],[107.499707,-2.84502],[107.47334,-2.899512],[107.432813,-2.925293]]],[[[106.796875,-2.898926],[106.910645,-2.933984],[106.886426,-3.005273],[106.869727,-3.025293],[106.814258,-3.014453],[106.774316,-2.986816],[106.749219,-2.960449],[106.742871,-2.932813],[106.796875,-2.898926]]],[[[108.215137,-2.696973],[108.290625,-2.82998],[108.207227,-2.997656],[108.191797,-3.103027],[108.167285,-3.142773],[108.083594,-3.194922],[108.055273,-3.226855],[107.977148,-3.221777],[107.967285,-3.166602],[107.941113,-3.129297],[107.858203,-3.086328],[107.836621,-3.09668],[107.821777,-3.160742],[107.65957,-3.205566],[107.614453,-3.209375],[107.636719,-3.124805],[107.594922,-3.058398],[107.591602,-2.976562],[107.583887,-2.940723],[107.563477,-2.920117],[107.604883,-2.863086],[107.598145,-2.799707],[107.641602,-2.731543],[107.666309,-2.566309],[107.837793,-2.530273],[107.874707,-2.559668],[108.074414,-2.596973],[108.215137,-2.696973]]],[[[106.365918,-2.464844],[106.818457,-2.57334],[106.744336,-2.617969],[106.706641,-2.658008],[106.678809,-2.704004],[106.612012,-2.895508],[106.618555,-2.936133],[106.657617,-3.001172],[106.667188,-3.071777],[106.610547,-3.071387],[106.546777,-3.055566],[106.496094,-3.029004],[106.44873,-2.994238],[106.397363,-2.966602],[106.341602,-2.94873],[106.250098,-2.894043],[106.125879,-2.855371],[105.99873,-2.824902],[105.937207,-2.743555],[105.908008,-2.643262],[105.939063,-2.493457],[105.907617,-2.451953],[105.862402,-2.41543],[105.806836,-2.307422],[105.78584,-2.181348],[105.705273,-2.132617],[105.599023,-2.103125],[105.552734,-2.079004],[105.342871,-2.125098],[105.292578,-2.114258],[105.247656,-2.079395],[105.133398,-2.042578],[105.137695,-1.972656],[105.191016,-1.916895],[105.316211,-1.860547],[105.374805,-1.813184],[105.386523,-1.750781],[105.364258,-1.705078],[105.373145,-1.657324],[105.412695,-1.611035],[105.45957,-1.574707],[105.585449,-1.526758],[105.64043,-1.610449],[105.667578,-1.680371],[105.700879,-1.731055],[105.754492,-1.658691],[105.72041,-1.533887],[105.816113,-1.506055],[105.910059,-1.50498],[105.980957,-1.53916],[106.027344,-1.593164],[106.045703,-1.669434],[106.080078,-1.738281],[106.127148,-1.800195],[106.161719,-1.866992],[106.208789,-2.188672],[106.365918,-2.464844]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"IDN-1232","diss_me":1232,"iso_3166_2":"ID-BA","wikipedia":null,"iso_a2":"ID","adm0_sr":5,"name":"Bali","name_alt":"Penida|Lembongan|Ceningan|Menjangan","name_local":null,"type":"Propinsi","type_en":"Province","code_local":null,"code_hasc":"ID.BA","note":null,"hasc_maybe":null,"region":null,"region_cod":null,"provnum_ne":22,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":null,"postal":"BA","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":4,"mapcolor9":6,"mapcolor13":11,"fips":"ID02","fips_alt":null,"woe_id":2345711,"woe_label":"Bali, ID, Indonesia","woe_name":"Bali","latitude":-8.3412,"longitude":115.179,"sov_a3":"IDN","adm0_a3":"IDN","adm0_label":2,"admin":"Indonesia","geonunit":"Indonesia","gu_a3":"IDN","gn_id":1650535,"gn_name":"Provinsi Bali","gns_id":-2671376,"gns_name":"Bali, Provinsi","gn_level":1,"gn_region":null,"gn_a1_code":"ID.02","region_sub":null,"sub_code":null,"gns_level":1,"gns_lang":"ind","gns_adm1":"ID02","gns_region":null,"min_label":5,"max_label":10.1,"min_zoom":4.6,"wikidataid":"Q3125978","name_ar":"بالي","name_bn":"বালি","name_de":"Bali","name_en":"Bali","name_es":"Bali","name_fr":"Bali","name_el":"Μπαλί","name_hi":"बाली","name_hu":"Bali","name_id":"Bali","name_it":"Bali","name_ja":"バリ州","name_ko":"발리","name_nl":"Bali","name_pl":"prowincja Bali","name_pt":"Bali","name_ru":"Бали","name_sv":"Bali","name_tr":"Bali","name_vi":"Bali","name_zh":"巴厘岛","ne_id":1159309865,"name_he":"באלי","name_uk":"Балі","name_ur":"بالی","name_fa":"بالی","name_zht":"巴厘岛","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[114.467578,-8.849023,115.704297,-8.065723],"geometry":{"type":"MultiPolygon","coordinates":[[[[115.480469,-8.71543],[115.540625,-8.675391],[115.561426,-8.669922],[115.613281,-8.713184],[115.609961,-8.769824],[115.581934,-8.804199],[115.500879,-8.742871],[115.480469,-8.71543]]],[[[115.549414,-8.208301],[115.690918,-8.363574],[115.704297,-8.407129],[115.661426,-8.448242],[115.559961,-8.51416],[115.333789,-8.615723],[115.29502,-8.663672],[115.247168,-8.75752],[115.236133,-8.797559],[115.220215,-8.819531],[115.194238,-8.835449],[115.144922,-8.849023],[115.091504,-8.829395],[115.139746,-8.768945],[115.141602,-8.696875],[115.105664,-8.629492],[115.055078,-8.573047],[114.952051,-8.496387],[114.84209,-8.428516],[114.731348,-8.393945],[114.613184,-8.37832],[114.570898,-8.34541],[114.501758,-8.26084],[114.478906,-8.214746],[114.467578,-8.166309],[114.475293,-8.119434],[114.504297,-8.116602],[114.62002,-8.127734],[114.833008,-8.182617],[114.938477,-8.187109],[114.998145,-8.174414],[115.154004,-8.065723],[115.191016,-8.06748],[115.340234,-8.11543],[115.447852,-8.155176],[115.549414,-8.208301]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"IDN-1233","diss_me":1233,"iso_3166_2":"ID-JI","wikipedia":null,"iso_a2":"ID","adm0_sr":5,"name":"Jawa Timur","name_alt":"Jatim","name_local":null,"type":"Propinsi","type_en":"Province","code_local":null,"code_hasc":"ID.JI","note":null,"hasc_maybe":null,"region":null,"region_cod":null,"provnum_ne":21,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":null,"postal":"JI","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":10,"mapcolor9":6,"mapcolor13":11,"fips":"ID08","fips_alt":null,"woe_id":2345717,"woe_label":"East Java, ID, Indonesia","woe_name":"Jawa Timur","latitude":-7.88129,"longitude":112.616,"sov_a3":"IDN","adm0_a3":"IDN","adm0_label":2,"admin":"Indonesia","geonunit":"Indonesia","gu_a3":"IDN","gn_id":1642668,"gn_name":"Provinsi Jawa Timur","gns_id":-2679925,"gns_name":"Jawa Timur, Provinsi","gn_level":1,"gn_region":null,"gn_a1_code":"ID.08","region_sub":null,"sub_code":null,"gns_level":1,"gns_lang":"ind","gns_adm1":"ID08","gns_region":null,"min_label":5,"max_label":10.1,"min_zoom":4.6,"wikidataid":"Q3586","name_ar":"جاوة الشرقية","name_bn":"পূর্ব জাভা","name_de":"Jawa Timur","name_en":"East Java","name_es":"Java Oriental","name_fr":"Java oriental","name_el":"Ιστ Τζάβα","name_hi":"पूर्व जावा","name_hu":"Kelet-Jáva","name_id":"Jawa Timur","name_it":"Giava Orientale","name_ja":"東ジャワ州","name_ko":"동자와","name_nl":"Oost-Java","name_pl":"Jawa Wschodnia","name_pt":"Java Oriental","name_ru":"Восточная Ява","name_sv":"Jawa Timur","name_tr":"Doğu Cava","name_vi":"Đông Java","name_zh":"东爪哇省","ne_id":1159309869,"name_he":"מזרח ג'אווה","name_uk":"Східна Ява","name_ur":"مشرقی جاوا","name_fa":"جاوه شرقی","name_zht":"東爪哇省","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[110.945339,-8.769629,114.599219,-5.726172],"geometry":{"type":"MultiPolygon","coordinates":[[[[112.586035,-5.803613],[112.648535,-5.730859],[112.690039,-5.726172],[112.727344,-5.752734],[112.719434,-5.811035],[112.697949,-5.846484],[112.602148,-5.843652],[112.586035,-5.803613]]],[[[113.067383,-6.87998],[113.974707,-6.873047],[114.073633,-6.960156],[114.083008,-6.989355],[113.885352,-7.049023],[113.844531,-7.105371],[113.825586,-7.119922],[113.655859,-7.111719],[113.546387,-7.193359],[113.470703,-7.218457],[113.198438,-7.218359],[113.166016,-7.207324],[113.141895,-7.207617],[113.126953,-7.224121],[113.04043,-7.211816],[112.76377,-7.139648],[112.725879,-7.072754],[112.76875,-7.00127],[112.868066,-6.899902],[113.067383,-6.87998]]],[[[114.298828,-7.097559],[114.322168,-7.080371],[114.348926,-7.073438],[114.383594,-7.080664],[114.412598,-7.133496],[114.397656,-7.173145],[114.346875,-7.163281],[114.298828,-7.097559]]],[[[111.676099,-6.730133],[111.688086,-6.741699],[111.737598,-6.773438],[111.989844,-6.805957],[112.087305,-6.893359],[112.136719,-6.905078],[112.312305,-6.894434],[112.433594,-6.903027],[112.539258,-6.926465],[112.586914,-7.050586],[112.625977,-7.178027],[112.64873,-7.221289],[112.751953,-7.265039],[112.794336,-7.304492],[112.78291,-7.431641],[112.794531,-7.552441],[113.013574,-7.657715],[113.248438,-7.718164],[113.497656,-7.723828],[113.747461,-7.703027],[113.87627,-7.677246],[114.037305,-7.632129],[114.070703,-7.633008],[114.382715,-7.771094],[114.409277,-7.79248],[114.444238,-7.895605],[114.443262,-8.00459],[114.384961,-8.263281],[114.381348,-8.334277],[114.386914,-8.405176],[114.448828,-8.559277],[114.481738,-8.603809],[114.59502,-8.684766],[114.599219,-8.727246],[114.583789,-8.769629],[114.45918,-8.740527],[114.383203,-8.705371],[114.339258,-8.647363],[114.276953,-8.614648],[114.159668,-8.626465],[113.940332,-8.568359],[113.692578,-8.478027],[113.25332,-8.286719],[113.133691,-8.288281],[113.018945,-8.312695],[112.897754,-8.361426],[112.77168,-8.396094],[112.678809,-8.40918],[112.586035,-8.399609],[112.351562,-8.353613],[112.115137,-8.323926],[111.509961,-8.305078],[111.338574,-8.261719],[111.055371,-8.239551],[110.945339,-8.22118],[110.965196,-8.116869],[111.099245,-8.008503],[111.228022,-7.93812],[111.307914,-7.837816],[111.264609,-7.731724],[111.190609,-7.707436],[111.217481,-7.613333],[111.184976,-7.529101],[111.197378,-7.308598],[111.220271,-7.251392],[111.444288,-7.311233],[111.459843,-7.273768],[111.608309,-7.153982],[111.598491,-6.960763],[111.629342,-6.800101],[111.676099,-6.730133]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"IDN-1234","diss_me":1234,"iso_3166_2":"ID-KS","wikipedia":null,"iso_a2":"ID","adm0_sr":5,"name":"Kalimantan Selatan","name_alt":"Kalsel","name_local":null,"type":"Propinsi","type_en":"Province","code_local":null,"code_hasc":"ID.KS","note":null,"hasc_maybe":null,"region":null,"region_cod":null,"provnum_ne":16,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":null,"postal":"KS","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":18,"mapcolor9":6,"mapcolor13":11,"fips":"ID12","fips_alt":null,"woe_id":2345721,"woe_label":"South Kalimantan, ID, Indonesia","woe_name":"Kalimantan Selatan","latitude":-3.00713,"longitude":115.451,"sov_a3":"IDN","adm0_a3":"IDN","adm0_label":2,"admin":"Indonesia","geonunit":"Indonesia","gu_a3":"IDN","gn_id":1641899,"gn_name":"Provinsi Kalimantan Selatan","gns_id":-2680738,"gns_name":"Kalimantan Selatan, Provinsi","gn_level":1,"gn_region":null,"gn_a1_code":"ID.12","region_sub":null,"sub_code":null,"gns_level":1,"gns_lang":"ind","gns_adm1":"ID12","gns_region":null,"min_label":5,"max_label":10.1,"min_zoom":4.6,"wikidataid":"Q3906","name_ar":"كليمنتان الجنوبية","name_bn":"দক্ষিণ কালিমান্তান","name_de":"Kalimantan Selatan","name_en":"South Kalimantan","name_es":"Borneo Meridional","name_fr":"Kalimantan du Sud","name_el":"Νότιο Καλιμαντάν","name_hi":"दक्षिण कालिमंतान","name_hu":"Dél-Kalimantan","name_id":"Kalimantan Selatan","name_it":"Kalimantan Meridionale","name_ja":"南カリマンタン州","name_ko":"남칼리만탄","name_nl":"Zuid-Kalimantan","name_pl":"Borneo Południowe","name_pt":"Kalimantan do Sul","name_ru":"Южный Калимантан","name_sv":"Kalimantan Selatan","name_tr":"Güney Kalimantan","name_vi":"Nam Kalimantan","name_zh":"南加里曼丹省","ne_id":1159309697,"name_he":"דרום קלימנטאן","name_uk":"Південний Калімантан","name_ur":"جنوبی کالیمانتان","name_fa":"کالیمانتان جنوبی","name_zht":"南加里曼丹省","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[114.315926,-4.169727,116.556824,-1.360899],"geometry":{"type":"MultiPolygon","coordinates":[[[[116.326563,-3.539062],[116.395312,-3.42334],[116.426953,-3.399902],[116.424121,-3.464453],[116.387793,-3.636719],[116.326563,-3.539062]]],[[[116.282031,-3.534766],[116.305176,-3.718555],[116.318652,-3.762988],[116.289258,-3.820898],[116.30332,-3.868164],[116.093359,-4.054102],[116.058789,-4.006934],[116.076953,-3.81748],[116.018359,-3.699902],[116.022461,-3.612402],[116.063574,-3.45791],[116.117383,-3.339551],[116.239355,-3.260352],[116.269727,-3.251074],[116.262109,-3.394824],[116.286523,-3.448828],[116.295117,-3.49502],[116.282031,-3.534766]]],[[[116.556824,-2.3587],[116.549219,-2.41084],[116.529297,-2.510547],[116.450391,-2.538281],[116.40127,-2.519824],[116.352539,-2.521582],[116.316797,-2.551855],[116.307227,-2.60332],[116.375488,-2.578027],[116.37168,-2.706836],[116.353223,-2.832715],[116.330664,-2.902148],[116.288867,-2.958789],[116.225781,-2.976953],[116.166309,-2.93457],[116.154102,-2.983789],[116.172266,-3.025293],[116.257227,-3.126367],[116.205078,-3.148535],[116.16709,-3.183008],[116.15,-3.233203],[116.05752,-3.348242],[116.016699,-3.432813],[115.999414,-3.52334],[115.956152,-3.59502],[115.258203,-3.906836],[114.693555,-4.169727],[114.652539,-4.151855],[114.625293,-4.111719],[114.605957,-3.70332],[114.536133,-3.494434],[114.525586,-3.37666],[114.445996,-3.481836],[114.397168,-3.471191],[114.344336,-3.444434],[114.315926,-3.419863],[114.471132,-3.003951],[114.504463,-2.880961],[114.631226,-2.822256],[114.675047,-2.759418],[114.785428,-2.688776],[114.82217,-2.561962],[114.908108,-2.418663],[114.878962,-2.326318],[114.904801,-2.262549],[115.130937,-2.207617],[115.330149,-2.037085],[115.30798,-1.991919],[115.358365,-1.903863],[115.338263,-1.76537],[115.404253,-1.474432],[115.426629,-1.434486],[115.68005,-1.360899],[115.677518,-1.425907],[115.606877,-1.46668],[115.689042,-1.635507],[115.741235,-1.784232],[115.748935,-2.000704],[115.828775,-2.047162],[115.814099,-2.183639],[115.874044,-2.350657],[115.99445,-2.271024],[116.042716,-2.288232],[116.390498,-2.314432],[116.556824,-2.3587]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"IDN-1235","diss_me":1235,"iso_3166_2":"ID-NT","wikipedia":null,"iso_a2":"ID","adm0_sr":5,"name":"Nusa Tenggara Timur","name_alt":"NTT","name_local":null,"type":"Propinsi","type_en":"Province","code_local":null,"code_hasc":"ID.NT","note":null,"hasc_maybe":null,"region":null,"region_cod":null,"provnum_ne":33,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":null,"postal":"NT","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":19,"mapcolor9":6,"mapcolor13":11,"fips":"ID18","fips_alt":null,"woe_id":2345727,"woe_label":"East Nusa Tenggara, ID, Indonesia","woe_name":"Nusa Tenggara Timur","latitude":-8.58443,"longitude":120.689,"sov_a3":"IDN","adm0_a3":"IDN","adm0_label":2,"admin":"Indonesia","geonunit":"Indonesia","gu_a3":"IDN","gn_id":1633791,"gn_name":"Provinsi Nusa Tenggara Timur","gns_id":-2689596,"gns_name":"Nusa Tenggara Timur, Provinsi","gn_level":1,"gn_region":null,"gn_a1_code":"ID.18","region_sub":null,"sub_code":null,"gns_level":1,"gns_lang":"ind","gns_adm1":"ID18","gns_region":null,"min_label":5,"max_label":10.1,"min_zoom":4.6,"wikidataid":"Q5061","name_ar":"نوسا تنقارا الشرقية","name_bn":"পূর্ব নুসা তেঙ্গারা","name_de":"Nusa Tenggara Timur","name_en":"East Nusa Tenggara","name_es":"Nusatenggara Oriental","name_fr":"Petites Îles de la Sonde orientales","name_el":"Ήστ Νούσα Τενγκάρα","name_hi":"पूर्वी नुसा तेंगारा","name_hu":"Nusa Tenggara Timur","name_id":"Nusa Tenggara Timur","name_it":"Nusa Tenggara Orientale","name_ja":"東ヌサ・トゥンガラ州","name_ko":"동누사틍가라","name_nl":"Oost-Nusa Tenggara","name_pl":"Małe Wyspy Sundajskie Wschodnie","name_pt":"Sonda Oriental","name_ru":"Восточная Нуса-Тенгара","name_sv":"Nusa Tenggara Timur","name_tr":"Doğu Nusa Tenggara","name_vi":"Đông Nusa Tenggara","name_zh":"东努沙登加拉省","ne_id":1159309833,"name_he":"מזרח נוסה טנגרה","name_uk":"Східна Південно-Східна Нуса","name_ur":"مشرقی نوسا ٹنگارہ","name_fa":"سوندای شرقی","name_zht":"東努沙登加拉省","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[118.958789,-10.909668,125.149447,-8.093262],"geometry":{"type":"MultiPolygon","coordinates":[[[[123.010547,-8.44834],[123.089453,-8.439844],[123.137891,-8.456934],[123.153125,-8.475781],[123.030078,-8.494824],[122.977344,-8.545215],[122.945508,-8.604004],[122.887793,-8.587305],[122.903516,-8.530664],[122.932813,-8.49707],[123.010547,-8.44834]]],[[[123.21709,-8.235449],[123.336035,-8.269043],[123.31748,-8.354785],[123.297266,-8.398633],[123.025,-8.395508],[123.032617,-8.337793],[123.108301,-8.274805],[123.133496,-8.253809],[123.21709,-8.235449]]],[[[119.470508,-8.455664],[119.481738,-8.472949],[119.502148,-8.481055],[119.546973,-8.482617],[119.557227,-8.518848],[119.555469,-8.553418],[119.536328,-8.589355],[119.482813,-8.628223],[119.444043,-8.671777],[119.464063,-8.741016],[119.424902,-8.750488],[119.385547,-8.736035],[119.40166,-8.64707],[119.378906,-8.586523],[119.419922,-8.539062],[119.430176,-8.45498],[119.446484,-8.429199],[119.470508,-8.455664]]],[[[124.752246,-8.15957],[124.924121,-8.166016],[125.050293,-8.17959],[125.124609,-8.204785],[125.131738,-8.326465],[125.096777,-8.352832],[124.444238,-8.444629],[124.380664,-8.415137],[124.355566,-8.385938],[124.425977,-8.295801],[124.393555,-8.253027],[124.430664,-8.183203],[124.508594,-8.135449],[124.575586,-8.14082],[124.599609,-8.201758],[124.676855,-8.168066],[124.752246,-8.15957]]],[[[124.239551,-8.203418],[124.265625,-8.201758],[124.287109,-8.208691],[124.304492,-8.228809],[124.286621,-8.329492],[124.225781,-8.391309],[124.184375,-8.49873],[124.14668,-8.531445],[124.065723,-8.55166],[124.017285,-8.443848],[123.927734,-8.448926],[123.971484,-8.354102],[124.01377,-8.318652],[124.06875,-8.317773],[124.095801,-8.356152],[124.110547,-8.364258],[124.239551,-8.203418]]],[[[123.339648,-10.48623],[123.358496,-10.472461],[123.371094,-10.474902],[123.383105,-10.567578],[123.412891,-10.622656],[123.418164,-10.65127],[123.310742,-10.698438],[123.214844,-10.806152],[123.005273,-10.876367],[122.948926,-10.909277],[122.855859,-10.909668],[122.826172,-10.899121],[122.818457,-10.811035],[122.845703,-10.761816],[123.061426,-10.698438],[123.145801,-10.639941],[123.26543,-10.518164],[123.339648,-10.48623]]],[[[121.796289,-10.507422],[121.866992,-10.438867],[121.949512,-10.433008],[121.99834,-10.446973],[121.981348,-10.528418],[121.883008,-10.590332],[121.833105,-10.602148],[121.726172,-10.573145],[121.704688,-10.555664],[121.796289,-10.507422]]],[[[123.395312,-10.171387],[123.458789,-10.139941],[123.493945,-10.176953],[123.496777,-10.193945],[123.405078,-10.227148],[123.416211,-10.302637],[123.325977,-10.3375],[123.325586,-10.26416],[123.395312,-10.171387]]],[[[120.700391,-9.903125],[120.784473,-9.957031],[120.832617,-10.0375],[120.804199,-10.108496],[120.698047,-10.206641],[120.64043,-10.22793],[120.561719,-10.235645],[120.43916,-10.294043],[120.394531,-10.263477],[120.255469,-10.242285],[120.144824,-10.200098],[120.051953,-10.122852],[119.998438,-10.039746],[119.930664,-9.966504],[119.812793,-9.91748],[119.601074,-9.773535],[119.470313,-9.760547],[119.416504,-9.771094],[119.362598,-9.771777],[119.085449,-9.706934],[119.042383,-9.669043],[119.008398,-9.620508],[118.977344,-9.572852],[118.958789,-9.519336],[118.994141,-9.47207],[119.031445,-9.440234],[119.185645,-9.384473],[119.295898,-9.367188],[119.423926,-9.369824],[119.614746,-9.352441],[119.795117,-9.380469],[119.850781,-9.35957],[119.94209,-9.301465],[119.973828,-9.321582],[120.0125,-9.374707],[120.057617,-9.419727],[120.221094,-9.506348],[120.248047,-9.542871],[120.258301,-9.603125],[120.291113,-9.647852],[120.364746,-9.654688],[120.443652,-9.645605],[120.503711,-9.674023],[120.555566,-9.719043],[120.632617,-9.806445],[120.700391,-9.903125]]],[[[122.97832,-8.151953],[123.005957,-8.329102],[122.955469,-8.354102],[122.923633,-8.380957],[122.902148,-8.416309],[122.811133,-8.481152],[122.846777,-8.562207],[122.82002,-8.595703],[122.78291,-8.611719],[122.641504,-8.647266],[122.553809,-8.680957],[122.470215,-8.725488],[122.417285,-8.734668],[122.321484,-8.738281],[122.185742,-8.730273],[122.094141,-8.744727],[121.838672,-8.860352],[121.738281,-8.87041],[121.651367,-8.89873],[121.621289,-8.853809],[121.58457,-8.820605],[121.499609,-8.812207],[121.414648,-8.814844],[121.32832,-8.916895],[121.19082,-8.895508],[121.1375,-8.904492],[121.086133,-8.925977],[121.035254,-8.935449],[120.981836,-8.92832],[120.780957,-8.848828],[120.550488,-8.801855],[120.319531,-8.820312],[120.120898,-8.776953],[120.012109,-8.810156],[119.909375,-8.857617],[119.879102,-8.807617],[119.841406,-8.763574],[119.80791,-8.697656],[119.807031,-8.622949],[119.818164,-8.570508],[119.847656,-8.522852],[119.866113,-8.473145],[119.874805,-8.419824],[119.918262,-8.445117],[119.96377,-8.435547],[120.099219,-8.377539],[120.231152,-8.289844],[120.354102,-8.257812],[120.424902,-8.248926],[120.485547,-8.266113],[120.547168,-8.259863],[120.610254,-8.24043],[120.70957,-8.307813],[120.751367,-8.321484],[120.886133,-8.32666],[121.008691,-8.365527],[121.118164,-8.423535],[121.27666,-8.47793],[121.371973,-8.550879],[121.444531,-8.577832],[121.498438,-8.585156],[121.547949,-8.575293],[121.610352,-8.526172],[121.683398,-8.505859],[121.74707,-8.506641],[121.862891,-8.493945],[121.911719,-8.482129],[121.966504,-8.455176],[122.020117,-8.471875],[122.06709,-8.49668],[122.263086,-8.624902],[122.323242,-8.62832],[122.433496,-8.600781],[122.466602,-8.566406],[122.483594,-8.513574],[122.51377,-8.469629],[122.555859,-8.431543],[122.603516,-8.402441],[122.75,-8.353125],[122.850488,-8.304395],[122.919141,-8.221875],[122.758594,-8.185938],[122.792383,-8.126563],[122.845703,-8.093262],[122.916992,-8.105566],[122.97832,-8.151953]]],[[[124.036404,-9.341633],[124.052408,-9.375396],[124.090131,-9.416428],[124.115556,-9.423145],[124.134573,-9.413844],[124.282316,-9.4279],[124.319316,-9.41374],[124.375695,-9.34992],[124.413006,-9.314315],[124.438224,-9.238557],[124.444421,-9.190377],[124.575488,-9.155371],[124.645898,-9.116699],[124.708203,-9.061816],[124.889746,-8.968457],[124.922275,-8.942526],[124.915094,-9.031541],[124.93685,-9.053452],[124.973282,-9.064304],[125.100354,-9.003998],[125.124435,-9.015418],[125.148982,-9.042549],[125.149447,-9.122905],[125.100509,-9.189826],[124.977519,-9.194942],[124.960156,-9.213804],[124.958606,-9.25468],[124.968269,-9.294264],[124.996949,-9.325994],[125.03364,-9.381856],[125.068093,-9.511869],[124.997949,-9.565332],[124.963086,-9.665625],[124.841797,-9.759766],[124.708398,-9.91416],[124.601855,-9.992969],[124.508203,-10.086133],[124.427539,-10.148633],[124.326758,-10.169824],[124.175977,-10.183301],[123.971094,-10.294824],[123.857617,-10.343555],[123.747266,-10.347168],[123.644141,-10.310938],[123.604785,-10.270117],[123.614062,-10.215039],[123.648242,-10.167773],[123.690137,-10.128809],[123.716406,-10.078613],[123.599414,-10.015137],[123.589258,-9.966797],[123.635742,-9.838086],[123.66582,-9.705273],[123.709375,-9.614844],[123.876758,-9.453125],[123.977148,-9.372949],[124.036404,-9.341633]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"IDN-1236","diss_me":1236,"iso_3166_2":"ID-SN","wikipedia":null,"iso_a2":"ID","adm0_sr":5,"name":"Sulawesi Selatan","name_alt":"Sulsel","name_local":null,"type":"Propinsi","type_en":"Province","code_local":null,"code_hasc":"ID.SE","note":null,"hasc_maybe":null,"region":null,"region_cod":null,"provnum_ne":25,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":null,"postal":"SE","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":16,"mapcolor9":6,"mapcolor13":11,"fips":"ID38","fips_alt":"ID20","woe_id":2345729,"woe_label":"South Sulawesi, ID, Indonesia","woe_name":"Sulawesi Selatan","latitude":-3.7444,"longitude":119.99,"sov_a3":"IDN","adm0_a3":"IDN","adm0_label":2,"admin":"Indonesia","geonunit":"Indonesia","gu_a3":"IDN","gn_id":1626232,"gn_name":"Provinsi Sulawesi Selatan","gns_id":-2698078,"gns_name":"Sulawesi Selatan, Provinsi","gn_level":1,"gn_region":null,"gn_a1_code":"ID.38","region_sub":null,"sub_code":null,"gns_level":1,"gns_lang":"ind","gns_adm1":"ID38","gns_region":null,"min_label":5,"max_label":10.1,"min_zoom":4.6,"wikidataid":"Q5078","name_ar":"سولاوسي الجنوبية","name_bn":"দক্ষিণ সুলাওয়েসি","name_de":"Sulawesi Selatan","name_en":"South Sulawesi","name_es":"Célebes Meridional","name_fr":"Sulawesi du Sud","name_el":"Νότιο Σουλαβέσι","name_hi":"दक्षिण सुलावेसी","name_hu":"Dél-Szulavézi","name_id":"Sulawesi Selatan","name_it":"Sulawesi Meridionale","name_ja":"南スラウェシ州","name_ko":"남술라웨시","name_nl":"Zuid-Celebes","name_pl":"Celebes Południowy","name_pt":"Celebes do Sul","name_ru":"Южный Сулавеси","name_sv":"Sulawesi Selatan","name_tr":"Güney Sulawesi","name_vi":"Nam Sulawesi","name_zh":"南苏拉威西省","ne_id":1159309875,"name_he":"סולאווסי סלטאן","name_uk":"Південне Сулавесі","name_ur":"جنوبی سولاویسی","name_fa":"سولاوسی جنوبی","name_zht":"南苏拉威西省","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[119.360352,-7.124707,121.787378,-1.860403],"geometry":{"type":"MultiPolygon","coordinates":[[[[120.633398,-7.018262],[120.745508,-7.060156],[120.781738,-7.063086],[120.774414,-7.118945],[120.672363,-7.124707],[120.64082,-7.11582],[120.633398,-7.018262]]],[[[120.477344,-5.775293],[120.53418,-5.903809],[120.549219,-5.969238],[120.52832,-6.298438],[120.487305,-6.464844],[120.467969,-6.406152],[120.460742,-6.254004],[120.435547,-6.180176],[120.451563,-6.094922],[120.446484,-5.87627],[120.477344,-5.775293]]],[[[121.067795,-2.917628],[121.066797,-2.880957],[121.052148,-2.75166],[120.990137,-2.670313],[120.879395,-2.645605],[120.765039,-2.641602],[120.653613,-2.667578],[120.543945,-2.732617],[120.341406,-2.869629],[120.261035,-2.949316],[120.254102,-3.052832],[120.300488,-3.154297],[120.360449,-3.246875],[120.392383,-3.348145],[120.436621,-3.707324],[120.435156,-3.747852],[120.383008,-3.852344],[120.3625,-4.085742],[120.38457,-4.415137],[120.420117,-4.617383],[120.40498,-4.727246],[120.310156,-4.963184],[120.281445,-5.092676],[120.279297,-5.146094],[120.390918,-5.392578],[120.416602,-5.490039],[120.430371,-5.591016],[120.311621,-5.541602],[120.256445,-5.544141],[120.200781,-5.559375],[120.077051,-5.575488],[119.951563,-5.577637],[119.907617,-5.596289],[119.818457,-5.661816],[119.764453,-5.688281],[119.717285,-5.693359],[119.557422,-5.611035],[119.463086,-5.52168],[119.376172,-5.424805],[119.360352,-5.31416],[119.390625,-5.200586],[119.433594,-5.079199],[119.519531,-4.877344],[119.515527,-4.741895],[119.544922,-4.630859],[119.594043,-4.523145],[119.611719,-4.423535],[119.623633,-4.034375],[119.611426,-3.999805],[119.493652,-3.768555],[119.480078,-3.729785],[119.479297,-3.667383],[119.491992,-3.607813],[119.494531,-3.554102],[119.46748,-3.512988],[119.452947,-3.280936],[119.411916,-3.214687],[119.639189,-3.120946],[119.543226,-2.906902],[119.560434,-2.746499],[119.661255,-2.758229],[119.78564,-2.695029],[119.738976,-2.565269],[119.707092,-2.353913],[119.623582,-2.293555],[119.646268,-2.176404],[119.753497,-2.081785],[119.825017,-2.046231],[119.87349,-1.955384],[120.048053,-1.861488],[120.15678,-1.860403],[120.292379,-1.900194],[120.447615,-1.866242],[120.553241,-2.025044],[120.624968,-2.104212],[120.804182,-2.238571],[121.349782,-2.348487],[121.448897,-2.388484],[121.638033,-2.557931],[121.742006,-2.610073],[121.787378,-2.670121],[121.772495,-2.800914],[121.598036,-2.972841],[121.475252,-3.019764],[121.277642,-2.878945],[121.16354,-2.873468],[121.067795,-2.917628]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"IDN-1237","diss_me":1237,"iso_3166_2":"ID-SR","wikipedia":null,"iso_a2":"ID","adm0_sr":1,"name":"Sulawesi Barat","name_alt":"Sulsel","name_local":null,"type":"Propinsi","type_en":"Province","code_local":null,"code_hasc":"ID.SR","note":null,"hasc_maybe":null,"region":null,"region_cod":null,"provnum_ne":24,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":null,"postal":"SR","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":14,"mapcolor9":6,"mapcolor13":11,"fips":"ID41","fips_alt":"ID20","woe_id":28350155,"woe_label":"West Sulawesi, ID, Indonesia","woe_name":"Sulawesi Barat","latitude":-2.69615,"longitude":119.316,"sov_a3":"IDN","adm0_a3":"IDN","adm0_label":2,"admin":"Indonesia","geonunit":"Indonesia","gu_a3":"IDN","gn_id":1996550,"gn_name":"Provinsi Sulawesi Barat","gns_id":9198112,"gns_name":"Sulawesi Barat, Provinsi","gn_level":1,"gn_region":null,"gn_a1_code":"ID.41","region_sub":null,"sub_code":null,"gns_level":1,"gns_lang":"ind","gns_adm1":"ID41","gns_region":null,"min_label":5,"max_label":10.1,"min_zoom":4.6,"wikidataid":"Q5082","name_ar":"سولاوسي الغربية","name_bn":"পশ্চিম সুলাওয়েসি","name_de":"Westsulawesi","name_en":"West Sulawesi","name_es":"Célebes Occidental","name_fr":"Sulawesi occidental","name_el":"Γουέστ Σουλαβέσι","name_hi":"पश्चिम सुलावेसी","name_hu":"Nyugat-Szulavézi","name_id":"Sulawesi Barat","name_it":"Sulawesi Occidentale","name_ja":"西スラウェシ州","name_ko":"서술라웨시","name_nl":"West-Celebes","name_pl":"Celebes Zachodni","name_pt":"Celebes Ocidental","name_ru":"Западный Сулавеси","name_sv":"Sulawesi Barat","name_tr":"Batı Sulawesi","name_vi":"Tây Sulawesi","name_zh":"西苏拉威西省","ne_id":1159310005,"name_he":"מערב סולאווסי","name_uk":"Західне Сулавесі","name_ur":"مغربی سولاویسی","name_fa":"سولاوسی غربی","name_zht":"西苏拉威西省","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[118.783301,-3.537598,119.87349,-0.835295],"geometry":{"type":"Polygon","coordinates":[[[119.46748,-3.512988],[119.419824,-3.475391],[119.362109,-3.458984],[119.240039,-3.475293],[118.994629,-3.537598],[118.922168,-3.482715],[118.867676,-3.398047],[118.832812,-3.280176],[118.8125,-3.156641],[118.821875,-3.040625],[118.858105,-2.928516],[118.828906,-2.850098],[118.783691,-2.764746],[118.783301,-2.720801],[118.808984,-2.682324],[118.85332,-2.650195],[118.90752,-2.631445],[118.958203,-2.597461],[119.092188,-2.48291],[119.135352,-2.382324],[119.138184,-2.258496],[119.172266,-2.140039],[119.24082,-2.030957],[119.321875,-1.929688],[119.348242,-1.825293],[119.308301,-1.659668],[119.324121,-1.584277],[119.310352,-1.495703],[119.308984,-1.408203],[119.35918,-1.243457],[119.508203,-0.906738],[119.566263,-0.835295],[119.572113,-1.052028],[119.601775,-1.15073],[119.526534,-1.223594],[119.494495,-1.329324],[119.641669,-1.393713],[119.692519,-1.461254],[119.724661,-1.612511],[119.822433,-1.729041],[119.846411,-1.791725],[119.822743,-1.871823],[119.87349,-1.955384],[119.825017,-2.046231],[119.753497,-2.081785],[119.646268,-2.176404],[119.623582,-2.293555],[119.707092,-2.353913],[119.738976,-2.565269],[119.78564,-2.695029],[119.661255,-2.758229],[119.560434,-2.746499],[119.543226,-2.906902],[119.639189,-3.120946],[119.411916,-3.214687],[119.452947,-3.280936],[119.46748,-3.512988]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"IDN-1796","diss_me":1796,"iso_3166_2":"ID-KR","wikipedia":null,"iso_a2":"ID","adm0_sr":4,"name":"Kepulauan Riau","name_alt":"Rhio|Riou|Riouw","name_local":null,"type":"Propinsi","type_en":"Province","code_local":null,"code_hasc":"ID.KR","note":"Kepulauan Riau province split from Riau","hasc_maybe":null,"region":null,"region_cod":null,"provnum_ne":4,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":null,"postal":"KR","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":14,"mapcolor9":6,"mapcolor13":11,"fips":"ID40","fips_alt":null,"woe_id":55949082,"woe_label":"Kepulauan Riau, ID, Indonesia","woe_name":"Kepulauan Riau","latitude":-0.142639,"longitude":104.601,"sov_a3":"IDN","adm0_a3":"IDN","adm0_label":2,"admin":"Indonesia","geonunit":"Indonesia","gu_a3":"IDN","gn_id":1996551,"gn_name":"Provinsi Kepulauan Riau","gns_id":9198113,"gns_name":"Kepulauan Riau, Provinsi","gn_level":1,"gn_region":null,"gn_a1_code":"ID.40","region_sub":null,"sub_code":null,"gns_level":1,"gns_lang":"ind","gns_adm1":"ID40","gns_region":null,"min_label":5,"max_label":10.1,"min_zoom":4.6,"wikidataid":"Q2223","name_ar":"جزر رياو","name_bn":"রিয়াউ দ্বীপপুঞ্জ","name_de":"Kepulauan Riau","name_en":"Riau Islands","name_es":"Islas Riau","name_fr":"Îles Riau","name_el":"Νησιά Ριάου","name_hi":"रियाउ द्वीपसमूह","name_hu":"Kepulauan Riau","name_id":"Kepulauan Riau","name_it":"Isole Riau","name_ja":"リアウ諸島州","name_ko":"리아우 제도","name_nl":"Riau-archipel","name_pl":"Wyspy Riau","name_pt":"Ilhas Riau","name_ru":"Кепулауан-Риау","name_sv":"Kepulauan Riau","name_tr":"Riau Adaları","name_vi":"Quần đảo Riau","name_zh":"廖内群岛省","ne_id":1159311289,"name_he":"איי ריאו","name_uk":"Острови Ріау","name_ur":"ریاو جزائر صوبہ","name_fa":"جزایر ریائو","name_zht":"廖内群岛省","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[103.31543,-0.658594,108.8875,4.217139],"geometry":{"type":"MultiPolygon","coordinates":[[[[106.214551,3.128564],[106.200977,3.204883],[106.22373,3.22959],[106.271191,3.216309],[106.285254,3.157129],[106.283691,3.088232],[106.214551,3.128564]]],[[[105.730664,3.036963],[105.760352,3.013037],[105.794531,2.995947],[105.822168,2.984375],[105.836719,2.976514],[105.809375,2.903955],[105.760352,2.863037],[105.718555,2.85918],[105.706152,2.888867],[105.70791,2.940088],[105.704199,2.980908],[105.692187,3.011328],[105.692187,3.0625],[105.730664,3.036963]]],[[[108.786523,2.885645],[108.86709,2.991895],[108.885742,2.998975],[108.8875,2.90542],[108.838867,2.853027],[108.786523,2.885645]]],[[[108.392871,3.986182],[108.398828,3.875977],[108.393555,3.836182],[108.316016,3.689648],[108.17959,3.653076],[108.100391,3.704541],[108.186133,3.767969],[108.216406,3.772168],[108.236133,3.78457],[108.243262,3.810352],[108.088477,3.8521],[108.044531,3.888965],[108.002344,3.982861],[108.003516,4.042578],[108.201953,4.200488],[108.24834,4.217139],[108.255566,4.151758],[108.392871,3.986182]]],[[[104.843164,-0.140625],[104.908984,-0.211719],[104.949707,-0.247266],[105.005371,-0.282813],[104.950586,-0.284473],[104.928516,-0.316992],[104.914258,-0.32334],[104.702246,-0.208691],[104.566602,-0.245605],[104.473535,-0.212109],[104.44707,-0.18916],[104.49707,-0.126367],[104.542676,0.017725],[104.635645,-0.018457],[104.658398,-0.062842],[104.652734,-0.076025],[104.713477,-0.103027],[104.778613,-0.175977],[104.80752,-0.19248],[104.843164,-0.140625]]],[[[104.363574,-0.402832],[104.474219,-0.334668],[104.567773,-0.431836],[104.590137,-0.466602],[104.543945,-0.520508],[104.506543,-0.59668],[104.485352,-0.612891],[104.413867,-0.583691],[104.363184,-0.658594],[104.329785,-0.539062],[104.257129,-0.463281],[104.302344,-0.385742],[104.31875,-0.380176],[104.340723,-0.382617],[104.363574,-0.402832]]],[[[104.170508,0.896729],[104.227051,0.879883],[104.239355,0.833984],[104.176758,0.804883],[104.098145,0.89624],[104.101074,0.91748],[104.108301,0.933545],[104.122754,0.943994],[104.170508,0.896729]]],[[[104.543848,0.223291],[104.659863,0.103076],[104.689258,0.059521],[104.698145,0.034668],[104.650879,0.062695],[104.622363,0.079639],[104.603516,0.095215],[104.499219,0.23208],[104.543848,0.223291]]],[[[103.751953,0.891357],[103.806641,0.846338],[103.828613,0.801025],[103.833984,0.772217],[103.742383,0.82998],[103.740039,0.871826],[103.751953,0.891357]]],[[[104.024805,1.180566],[104.088086,1.137012],[104.139844,1.165576],[104.137793,1.128223],[104.127344,1.092383],[104.066113,0.989551],[103.963574,1.013232],[103.939844,1.046484],[103.932227,1.071387],[103.946973,1.087012],[103.955371,1.137451],[103.999805,1.137256],[104.024805,1.180566]]],[[[103.37998,1.133643],[103.404883,1.072559],[103.423926,1.04834],[103.429688,0.993359],[103.363281,1.006836],[103.31543,1.071289],[103.35498,1.117236],[103.37998,1.133643]]],[[[103.386133,0.86958],[103.433105,0.825],[103.470313,0.778125],[103.497461,0.722705],[103.450195,0.664453],[103.429688,0.650879],[103.344434,0.777881],[103.365723,0.851123],[103.386133,0.86958]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"IDN-1837","diss_me":1837,"iso_3166_2":"ID-GO","wikipedia":null,"iso_a2":"ID","adm0_sr":1,"name":"Gorontalo","name_alt":null,"name_local":null,"type":"Propinsi","type_en":"Province","code_local":null,"code_hasc":"ID.GO","note":null,"hasc_maybe":null,"region":null,"region_cod":null,"provnum_ne":28,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":null,"postal":"GO","area_sqkm":0,"sameascity":7,"labelrank":7,"name_len":9,"mapcolor9":6,"mapcolor13":11,"fips":"ID34","fips_alt":"ID23","woe_id":2345732,"woe_label":"Gorontalo, ID, Indonesia","woe_name":"Gorontalo","latitude":0.760501,"longitude":122.331,"sov_a3":"IDN","adm0_a3":"IDN","adm0_label":2,"admin":"Indonesia","geonunit":"Indonesia","gu_a3":"IDN","gn_id":1923046,"gn_name":"Propinsi Gorontalo","gns_id":6071834,"gns_name":"Gorontalo, Propinsi","gn_level":1,"gn_region":null,"gn_a1_code":"ID.34","region_sub":null,"sub_code":null,"gns_level":1,"gns_lang":"ind","gns_adm1":"ID34","gns_region":null,"min_label":5,"max_label":10.1,"min_zoom":4.6,"wikidataid":"Q5067","name_ar":"غورونتالو","name_bn":"গোরোন্তালো","name_de":"Gorontalo","name_en":"Gorontalo","name_es":"Gorontalo","name_fr":"Gorontalo","name_el":"Γκοροντάλο","name_hi":"गोरोंतालो","name_hu":"Gorontalo","name_id":"Gorontalo","name_it":"Gorontalo","name_ja":"ゴロンタロ州","name_ko":"고론탈로","name_nl":"Gorontalo","name_pl":"Gorontalo","name_pt":"Gorontalo","name_ru":"Горонтало","name_sv":"Gorontalo","name_tr":"Gorontalo","name_vi":"Gorontalo","name_zh":"哥伦打洛省","ne_id":1159311291,"name_he":"גורונטאלו","name_uk":"Горонтало","name_ur":"گورونٹالو","name_fa":"گورونتالو","name_zht":"哥伦打洛省","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[121.160439,0.305854,123.499832,1.027605],"geometry":{"type":"Polygon","coordinates":[[[122.197233,1.027605],[122.436621,1.018066],[122.549316,0.984473],[122.657422,0.940576],[122.789844,0.862891],[122.838281,0.845703],[122.89248,0.85],[122.960059,0.922998],[123.012793,0.938965],[123.066504,0.941797],[123.074745,0.941263],[123.205173,0.836797],[123.24703,0.732927],[123.325372,0.664249],[123.439422,0.611022],[123.481021,0.556917],[123.499832,0.429793],[123.457047,0.305854],[123.310449,0.317578],[123.26543,0.326611],[123.179492,0.415527],[123.08252,0.48584],[122.996875,0.493506],[122.90957,0.485986],[122.280762,0.481055],[122.060938,0.468018],[121.841992,0.436572],[121.722754,0.450879],[121.60459,0.486133],[121.515723,0.498437],[121.425781,0.494824],[121.3334,0.482935],[121.333762,0.575624],[121.256713,0.586683],[121.160439,0.686057],[121.23537,0.724607],[121.30317,0.8261],[121.378462,0.860981],[121.507963,0.846925],[121.840398,0.970432],[121.993102,0.935292],[122.045657,0.943767],[122.197233,1.027605]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"IDN-1930","diss_me":1930,"iso_3166_2":"ID-JA","wikipedia":null,"iso_a2":"ID","adm0_sr":1,"name":"Jambi","name_alt":"Djambi","name_local":null,"type":"Propinsi","type_en":"Province","code_local":null,"code_hasc":"ID.JA","note":null,"hasc_maybe":null,"region":null,"region_cod":null,"provnum_ne":6,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":null,"postal":"JA","area_sqkm":0,"sameascity":6,"labelrank":6,"name_len":5,"mapcolor9":6,"mapcolor13":11,"fips":"ID05","fips_alt":null,"woe_id":2345714,"woe_label":"Jambi, ID, Indonesia","woe_name":"Jambi","latitude":-1.65497,"longitude":102.823,"sov_a3":"IDN","adm0_a3":"IDN","adm0_label":2,"admin":"Indonesia","geonunit":"Indonesia","gu_a3":"IDN","gn_id":1642856,"gn_name":"Provinsi Jambi","gns_id":-2679709,"gns_name":"Jambi, Provinsi","gn_level":1,"gn_region":null,"gn_a1_code":"ID.05","region_sub":null,"sub_code":null,"gns_level":1,"gns_lang":"ind","gns_adm1":"ID05","gns_region":null,"min_label":5,"max_label":10.1,"min_zoom":4.6,"wikidataid":"Q2051","name_ar":"جمبي","name_bn":"জাম্বি","name_de":"Jambi","name_en":"Jambi","name_es":"Jambi","name_fr":"Jambi","name_el":"Τζάμπι","name_hi":"जांबी","name_hu":"Jambi","name_id":"Jambi","name_it":"Jambi","name_ja":"ジャンビ州","name_ko":"잠비","name_nl":"Jambi","name_pl":"Jambi","name_pt":"Jambi","name_ru":"Джамби","name_sv":"Jambi","name_tr":"Jambi","name_vi":"Jambi","name_zh":"占碑省","ne_id":1159311353,"name_he":"ג'מבי","name_uk":"Джамбі","name_ur":"جمبی","name_fa":"جامبی","name_zht":"占碑省","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[101.113911,-2.782362,104.518555,-0.739343],"geometry":{"type":"Polygon","coordinates":[[[103.524649,-0.739343],[103.532715,-0.754688],[103.577539,-0.795703],[103.721094,-0.886719],[103.940039,-0.979102],[104.061133,-1.021387],[104.198535,-1.054297],[104.25752,-1.053418],[104.360547,-1.038379],[104.38125,-1.074219],[104.425684,-1.250684],[104.446875,-1.362402],[104.47832,-1.600098],[104.518555,-1.69873],[104.517899,-1.728735],[104.428283,-1.69385],[104.375934,-1.713849],[104.321519,-1.804334],[104.125614,-1.830637],[103.957872,-1.790588],[103.886352,-1.794774],[103.535004,-1.967942],[103.523687,-2.224515],[103.459866,-2.238261],[103.463225,-2.351536],[103.41899,-2.393807],[103.303648,-2.284563],[103.271919,-2.209064],[103.215592,-2.185964],[103.17022,-2.286113],[103.204533,-2.361303],[103.122884,-2.397993],[102.862022,-2.353913],[102.863572,-2.461762],[102.791742,-2.567853],[102.618677,-2.671516],[102.596405,-2.709808],[102.486851,-2.729911],[102.39776,-2.709912],[102.260198,-2.639528],[102.233119,-2.684384],[102.066825,-2.782362],[101.962645,-2.735027],[101.900426,-2.740143],[101.736716,-2.636273],[101.56422,-2.450238],[101.517142,-2.305234],[101.435752,-2.236246],[101.335603,-2.296965],[101.259742,-2.081475],[101.142282,-1.919986],[101.113911,-1.704909],[101.226049,-1.728421],[101.475698,-1.702118],[101.519364,-1.639848],[101.675324,-1.499856],[101.678114,-1.288965],[101.79449,-1.23889],[101.840999,-1.166233],[101.782708,-1.131817],[101.769788,-1.038231],[101.881823,-0.99999],[101.93505,-0.927282],[102.012616,-0.880411],[102.188884,-0.855658],[102.26056,-0.880359],[102.356213,-1.010016],[102.451814,-1.068203],[102.541214,-1.084946],[102.682188,-0.904492],[102.804351,-0.792975],[102.917315,-0.763416],[103.100147,-0.772201],[103.524649,-0.739343]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"IDN-1931","diss_me":1931,"iso_3166_2":"ID-KT","wikipedia":null,"iso_a2":"ID","adm0_sr":1,"name":"Kalimantan Tengah","name_alt":"Kalteng","name_local":null,"type":"Propinsi","type_en":"Province","code_local":null,"code_hasc":"ID.KT","note":null,"hasc_maybe":null,"region":null,"region_cod":null,"provnum_ne":14,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":null,"postal":"KT","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":17,"mapcolor9":6,"mapcolor13":11,"fips":"ID13","fips_alt":null,"woe_id":2345722,"woe_label":"Central Kalimantan, ID, Indonesia","woe_name":"Kalimantan Tengah","latitude":-1.84217,"longitude":113.286,"sov_a3":"IDN","adm0_a3":"IDN","adm0_label":2,"admin":"Indonesia","geonunit":"Indonesia","gu_a3":"IDN","gn_id":1641898,"gn_name":"Provinsi Kalimantan Tengah","gns_id":-2680739,"gns_name":"Kalimantan Tengah, Provinsi","gn_level":1,"gn_region":null,"gn_a1_code":"ID.13","region_sub":null,"sub_code":null,"gns_level":1,"gns_lang":"ind","gns_adm1":"ID13","gns_region":null,"min_label":5,"max_label":10.1,"min_zoom":4.6,"wikidataid":"Q3891","name_ar":"كالمنتان الوسطى","name_bn":"মধ্য কালিমান্তান","name_de":"Kalimantan Tengah","name_en":"Central Kalimantan","name_es":"Borneo Central","name_fr":"Kalimantan central","name_el":"Κεντρικό Καλιμαντάν","name_hi":"मध्य कालिमंतान","name_hu":"Közép-Kalimantan","name_id":"Kalimantan Tengah","name_it":"Kalimantan Centrale","name_ja":"中部カリマンタン州","name_ko":"중앙칼리만탄","name_nl":"Midden-Kalimantan","name_pl":"Borneo Środkowe","name_pt":"Kalimantan Central","name_ru":"Центральный Калимантан","name_sv":"Kalimantan Tengah","name_tr":"Orta Kalimantan","name_vi":"Trung Kalimantan","name_zh":"中加里曼丹省","ne_id":1159311333,"name_he":"מרכז קלימנטאן","name_uk":"Центральний Калімантан","name_ur":"وسطی کالیمانتان","name_fa":"کالیمانتان مرکزی","name_zht":"中加里曼丹省","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[110.829688,-3.552539,115.805107,0.735201],"geometry":{"type":"Polygon","coordinates":[[[114.315926,-3.419863],[114.30459,-3.410059],[114.30166,-3.364746],[114.344336,-3.235156],[114.292676,-3.30625],[114.236328,-3.361133],[114.17793,-3.354395],[114.127637,-3.327246],[114.108984,-3.285156],[114.082227,-3.278906],[113.958789,-3.394336],[113.795801,-3.45625],[113.705078,-3.455273],[113.633594,-3.419922],[113.637305,-3.332031],[113.630078,-3.246094],[113.610059,-3.195703],[113.566309,-3.177734],[113.525977,-3.184082],[113.408984,-3.228906],[113.367188,-3.223633],[113.343164,-3.246484],[113.033984,-2.933496],[112.971484,-3.187109],[112.758008,-3.322168],[112.600293,-3.400488],[112.443945,-3.371094],[112.284961,-3.320996],[112.12666,-3.381445],[111.954883,-3.529688],[111.907422,-3.552539],[111.858105,-3.551855],[111.82207,-3.53252],[111.834375,-3.420117],[111.835938,-3.307715],[111.823047,-3.057227],[111.809375,-3.008008],[111.760156,-2.93916],[111.694727,-2.889453],[111.658301,-2.925781],[111.625488,-2.975488],[111.494922,-2.97334],[111.367578,-2.933691],[111.25918,-2.956445],[111.044336,-3.055762],[110.930078,-3.071094],[110.86875,-3.04873],[110.829688,-2.995117],[110.852051,-2.946191],[110.899205,-2.908763],[111.067102,-2.764689],[111.137589,-2.733011],[111.137692,-2.404814],[111.012325,-2.127363],[110.994755,-1.985253],[111.025244,-1.867018],[111.017441,-1.660312],[110.920341,-1.613235],[111.011602,-1.526108],[111.133971,-1.530449],[111.24213,-1.420585],[111.327138,-1.373301],[111.416073,-1.268759],[111.577355,-1.186749],[111.58738,-1.102],[111.651408,-1.015493],[111.968649,-0.822844],[112.058669,-0.795765],[112.118511,-0.735355],[112.379994,-0.754579],[112.497299,-0.702127],[112.578018,-0.704453],[112.755061,-0.63593],[113.004245,-0.518728],[113.084033,-0.518469],[113.161134,-0.469893],[113.256426,-0.551387],[113.300816,-0.422765],[113.249191,-0.361063],[113.326241,-0.251664],[113.429335,-0.190427],[113.478531,-0.047542],[113.45321,0.065888],[113.324535,0.245205],[113.416003,0.275229],[113.531551,0.261431],[113.622915,0.310937],[113.646686,0.410053],[113.776394,0.558571],[113.969871,0.603633],[114.036327,0.647041],[114.183914,0.650452],[114.377546,0.588647],[114.663058,0.621306],[114.735405,0.672569],[114.976476,0.735201],[115.057246,0.636861],[115.075953,0.533043],[114.967949,0.364216],[114.953066,0.284169],[115.017662,0.057671],[114.967329,-0.097513],[115.002572,-0.177663],[115.085772,-0.117512],[115.187367,0.00522],[115.275424,0.031368],[115.347358,0.002274],[115.277233,-0.220141],[115.274184,-0.31104],[115.329891,-0.511028],[115.381257,-0.582031],[115.415157,-0.773906],[115.460012,-0.885992],[115.517838,-0.937824],[115.628684,-0.978028],[115.739685,-1.103808],[115.805107,-1.085256],[115.802007,-1.294443],[115.720151,-1.426321],[115.677518,-1.425907],[115.68005,-1.360899],[115.426629,-1.434486],[115.404253,-1.474432],[115.338263,-1.76537],[115.358365,-1.903863],[115.30798,-1.991919],[115.330149,-2.037085],[115.130937,-2.207617],[114.904801,-2.262549],[114.878962,-2.326318],[114.908108,-2.418663],[114.82217,-2.561962],[114.785428,-2.688776],[114.675047,-2.759418],[114.631226,-2.822256],[114.504463,-2.880961],[114.471132,-3.003951],[114.315926,-3.419863]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"IDN-1933","diss_me":1933,"iso_3166_2":"ID-PB","wikipedia":null,"iso_a2":"ID","adm0_sr":5,"name":"Papua Barat","name_alt":"West Papua|Irian Jaya Barat|New Guinea|Yos Sudarso or Frederick Hendrik|Waigeo|Supiori Biak|Yapen|Misool|Salawati|Batanta","name_local":null,"type":"Propinsi","type_en":"Province","code_local":null,"code_hasc":"ID.IB","note":null,"hasc_maybe":null,"region":null,"region_cod":null,"provnum_ne":31,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":null,"postal":"IB","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":16,"mapcolor9":6,"mapcolor13":11,"fips":"ID39","fips_alt":"ID09","woe_id":28350157,"woe_label":"West Papua, ID, Indonesia","woe_name":"Irian Jaya Barat","latitude":-1.32525,"longitude":132.825,"sov_a3":"IDN","adm0_a3":"IDN","adm0_label":2,"admin":"Indonesia","geonunit":"Indonesia","gu_a3":"IDN","gn_id":1996549,"gn_name":"Provinsi Papua Barat","gns_id":9198111,"gns_name":"Papua Barat, Provinsi","gn_level":1,"gn_region":null,"gn_a1_code":"ID.39","region_sub":null,"sub_code":null,"gns_level":1,"gns_lang":"ind","gns_adm1":"ID39","gns_region":null,"min_label":5,"max_label":10.1,"min_zoom":4.6,"wikidataid":"Q5096","name_ar":"بابوا الغربية","name_bn":"পশ্চিম পাপুয়া প্রদেশ","name_de":"Papua Barat","name_en":"West Papua","name_es":"Papúa Occidental","name_fr":"Papouasie occidentale","name_el":"Επαρχία Δυτικής Παπούα","name_hi":"पश्चिम पापुआ","name_hu":"Papua Barat","name_id":"Papua Barat","name_it":"Papua Occidentale","name_ja":"西パプア州","name_ko":"서파푸아","name_nl":"West-Papoea","name_pl":"Papua Zachodnia","name_pt":"Papua Ocidental","name_ru":"Западное Папуа","name_sv":"Papua Barat","name_tr":"Batı Papua","name_vi":"Tây Papua","name_zh":"西巴布亞省","ne_id":1159311287,"name_he":"פפואה המערבית","name_uk":"Західне Папуа","name_ur":"مغربی پاپوا","name_fa":"پاپوآی غربی","name_zht":"西巴布亞省","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[129.737695,-4.299316,135.265108,-0.004102],"geometry":{"type":"MultiPolygon","coordinates":[[[[130.615918,-0.417285],[130.656934,-0.436523],[130.684277,-0.469141],[130.62666,-0.528711],[130.569141,-0.52998],[130.46543,-0.486523],[130.525879,-0.44873],[130.56416,-0.440918],[130.597461,-0.418262],[130.615918,-0.417285]]],[[[131.276855,-0.149805],[131.316895,-0.204297],[131.302734,-0.241113],[131.339746,-0.290332],[131.25752,-0.365723],[131.217871,-0.374121],[131.177734,-0.345996],[131.097754,-0.330078],[131.005371,-0.360742],[130.946484,-0.337598],[130.89668,-0.268457],[130.808398,-0.226465],[130.683496,-0.080664],[130.622168,-0.085938],[130.638281,-0.142969],[130.691309,-0.180566],[130.761328,-0.291406],[130.801563,-0.302148],[130.843164,-0.29834],[130.899219,-0.344434],[130.896289,-0.416016],[130.750195,-0.443848],[130.699805,-0.391602],[130.688672,-0.296582],[130.606543,-0.328613],[130.574902,-0.361816],[130.550781,-0.366406],[130.496289,-0.267383],[130.340527,-0.262305],[130.236621,-0.209668],[130.287695,-0.154688],[130.294922,-0.101465],[130.3625,-0.072852],[130.430957,-0.098486],[130.499609,-0.060107],[130.54834,-0.069922],[130.584277,-0.04541],[130.722363,-0.029834],[130.813281,-0.004102],[130.986523,-0.046582],[131.025781,-0.039941],[131.276855,-0.149805]]],[[[131.033008,-0.917578],[131.073926,-0.968262],[131.046191,-1.188184],[131.001855,-1.315527],[130.966602,-1.343457],[130.845117,-1.317285],[130.782324,-1.255469],[130.739355,-1.172559],[130.712109,-1.104395],[130.704395,-1.050195],[130.667969,-0.983984],[130.672949,-0.959766],[130.897168,-0.890039],[130.939453,-0.915332],[131.033008,-0.917578]]],[[[130.807031,-0.765039],[130.905273,-0.777441],[130.879785,-0.828418],[130.832422,-0.862891],[130.402441,-0.923926],[130.439063,-0.887402],[130.457324,-0.851172],[130.484277,-0.83252],[130.526953,-0.837305],[130.548145,-0.82627],[130.569531,-0.821875],[130.59375,-0.82666],[130.635449,-0.811621],[130.723242,-0.822461],[130.813477,-0.813867],[130.807031,-0.765039]]],[[[133.464355,-4.199805],[133.570801,-4.245898],[133.621875,-4.299316],[133.50293,-4.257422],[133.333008,-4.169629],[133.320898,-4.111035],[133.464355,-4.199805]]],[[[130.425,-1.80459],[130.404297,-1.889844],[130.380566,-1.902637],[130.393359,-1.941602],[130.418848,-1.971289],[130.372656,-1.991895],[130.338965,-1.981836],[130.28418,-2.009375],[130.248047,-2.047754],[130.133496,-2.063867],[130.093359,-2.02832],[129.886523,-1.986426],[129.754395,-1.894434],[129.737695,-1.866895],[129.993652,-1.758887],[130.105762,-1.730469],[130.199609,-1.732227],[130.317969,-1.691992],[130.35332,-1.690527],[130.36543,-1.749805],[130.425,-1.80459]]],[[[134.350781,-2.036914],[134.369531,-2.027637],[134.391016,-2.030762],[134.419043,-2.051758],[134.374219,-2.123535],[134.345215,-2.13877],[134.335059,-2.095215],[134.350781,-2.036914]]],[[[134.869251,-4.261947],[134.754199,-4.19541],[134.679688,-4.079102],[134.686914,-4.011133],[134.706543,-3.954785],[134.886523,-3.938477],[134.759766,-3.922168],[134.707617,-3.929883],[134.603418,-3.976074],[134.546875,-3.979297],[134.467188,-3.948633],[134.391016,-3.909961],[134.266211,-3.945801],[134.202344,-3.887012],[134.180469,-3.825098],[134.14707,-3.796777],[134.1,-3.799707],[134.036914,-3.821973],[133.973828,-3.817969],[133.933203,-3.775586],[133.904004,-3.720117],[133.860742,-3.680371],[133.808496,-3.65],[133.723047,-3.57793],[133.67832,-3.479492],[133.683398,-3.30918],[133.697168,-3.248145],[133.781641,-3.148926],[133.841504,-3.054785],[133.767383,-3.044336],[133.700391,-3.0875],[133.671973,-3.131836],[133.660742,-3.185547],[133.653125,-3.364355],[133.599414,-3.416113],[133.518164,-3.411914],[133.542285,-3.516406],[133.50918,-3.615527],[133.415137,-3.732129],[133.407227,-3.785156],[133.422266,-3.842578],[133.400879,-3.899023],[133.24873,-4.062305],[133.198047,-4.070117],[133.085156,-4.069043],[132.968555,-4.094922],[132.914453,-4.056934],[132.870117,-4.007422],[132.837109,-3.948926],[132.790918,-3.828125],[132.753906,-3.703613],[132.869727,-3.550977],[132.829785,-3.412988],[132.751367,-3.294629],[132.553516,-3.130664],[132.348242,-2.975098],[132.25498,-2.943457],[132.102051,-2.92959],[132.053906,-2.914551],[132.006348,-2.856055],[131.971191,-2.788574],[132.066895,-2.75957],[132.230664,-2.680371],[132.32334,-2.68418],[132.575488,-2.727148],[132.65293,-2.766211],[132.725,-2.789062],[132.897266,-2.658203],[133.033789,-2.487402],[133.118848,-2.450293],[133.191016,-2.437793],[133.264941,-2.454297],[133.411426,-2.513965],[133.526563,-2.541699],[133.608691,-2.547168],[133.651563,-2.600586],[133.700098,-2.624609],[133.710938,-2.544043],[133.75332,-2.450684],[133.834668,-2.42168],[133.877637,-2.415039],[133.904883,-2.390918],[133.898926,-2.304492],[133.791016,-2.293652],[133.849707,-2.219629],[133.902441,-2.183594],[133.920508,-2.147461],[133.921582,-2.102051],[133.710352,-2.18916],[133.487793,-2.225586],[133.35625,-2.215723],[133.224902,-2.214453],[132.962793,-2.272559],[132.863281,-2.270215],[132.631055,-2.24668],[132.502637,-2.218457],[132.40332,-2.24043],[132.307617,-2.242285],[132.207422,-2.175781],[132.122168,-2.092383],[132.079883,-2.033203],[132.023438,-1.990332],[131.998438,-1.93252],[131.936133,-1.714941],[131.930371,-1.559668],[131.829785,-1.556543],[131.731445,-1.541211],[131.29375,-1.393457],[131.24082,-1.429688],[131.179199,-1.44834],[131.117773,-1.455273],[131.056738,-1.447656],[130.995898,-1.424707],[131.000977,-1.383984],[131.046191,-1.284082],[131.090527,-1.247266],[131.151855,-1.218848],[131.19082,-1.16582],[131.254102,-1.006934],[131.258984,-0.952637],[131.252051,-0.897168],[131.257227,-0.855469],[131.296387,-0.833594],[131.461523,-0.781836],[131.804297,-0.703809],[131.890918,-0.657129],[131.962402,-0.582422],[132.045996,-0.537012],[132.084473,-0.491113],[132.128418,-0.454102],[132.39375,-0.355469],[132.508008,-0.347461],[132.625098,-0.358887],[132.856445,-0.417383],[133.077148,-0.511816],[133.268457,-0.635742],[133.472656,-0.726172],[133.723633,-0.741406],[133.850293,-0.731445],[133.974512,-0.744336],[134.024902,-0.769727],[134.111523,-0.846777],[134.086719,-0.897363],[134.071973,-1.001855],[134.116211,-1.102441],[134.188281,-1.203125],[134.247168,-1.310547],[134.25957,-1.362988],[134.237207,-1.474121],[134.216992,-1.529102],[134.14541,-1.620801],[134.105859,-1.720996],[134.13125,-1.844531],[134.14541,-1.96875],[134.142773,-2.08291],[134.155664,-2.195215],[134.194824,-2.309082],[134.362109,-2.620996],[134.459961,-2.832324],[134.491211,-2.714258],[134.483301,-2.583008],[134.517969,-2.535645],[134.566895,-2.510449],[134.627441,-2.536719],[134.644727,-2.589844],[134.649023,-2.705859],[134.679266,-2.835502],[134.445365,-3.023898],[134.450688,-3.0779],[134.332142,-3.189934],[134.254627,-3.307705],[134.258348,-3.399482],[135.265108,-3.759977],[134.869251,-4.261947]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"IDN-381","diss_me":381,"iso_3166_2":"ID-SU","wikipedia":null,"iso_a2":"ID","adm0_sr":4,"name":"Sumatera Utara","name_alt":"Sumut","name_local":null,"type":"Propinsi","type_en":"Province","code_local":null,"code_hasc":"ID.SU","note":null,"hasc_maybe":null,"region":null,"region_cod":null,"provnum_ne":3,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":null,"postal":"SU","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":14,"mapcolor9":6,"mapcolor13":11,"fips":"ID26","fips_alt":null,"woe_id":2345735,"woe_label":"North Sumatra, ID, Indonesia","woe_name":"Sumatera Utara","latitude":2.36304,"longitude":99.2161,"sov_a3":"IDN","adm0_a3":"IDN","adm0_label":2,"admin":"Indonesia","geonunit":"Indonesia","gu_a3":"IDN","gn_id":1213642,"gn_name":"Provinsi Sumatera Utara","gns_id":-2698118,"gns_name":"Sumatera Utara, Provinsi","gn_level":1,"gn_region":null,"gn_a1_code":"ID.26","region_sub":null,"sub_code":null,"gns_level":1,"gns_lang":"ind","gns_adm1":"ID26","gns_region":null,"min_label":5,"max_label":10.1,"min_zoom":4.6,"wikidataid":"Q2140","name_ar":"سومطرة الشمالية","name_bn":"উত্তর সুমাত্রা","name_de":"Sumatera Utara","name_en":"North Sumatra","name_es":"Sumatra Septentrional","name_fr":"Sumatra du Nord","name_el":"Βόρεια Σουμάτρα","name_hi":"उत्तर सुमात्रा","name_hu":"Észak-Szumátra","name_id":"Sumatra Utara","name_it":"Sumatra Settentrionale","name_ja":"北スマトラ州","name_ko":"북수마트라","name_nl":"Noord-Sumatra","name_pl":"Sumatra Północna","name_pt":"Sumatra do Norte","name_ru":"Северная Суматра","name_sv":"Sumatera Utara","name_tr":"Kuzey Sumatra","name_vi":"Bắc Sumatera","name_zh":"北苏门答腊省","ne_id":1159308865,"name_he":"צפון סומטרה","name_uk":"Північна Суматра","name_ur":"شمالی سماٹرا","name_fa":"سوماترای شمالی","name_zht":"北苏门答腊省","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[97.079199,-0.576855,100.440877,4.294777],"geometry":{"type":"MultiPolygon","coordinates":[[[[97.786426,1.145898],[97.903223,1.018262],[97.931934,0.973926],[97.902051,0.884229],[97.876465,0.62832],[97.82041,0.564453],[97.683984,0.596094],[97.68252,0.641064],[97.603906,0.833887],[97.46123,0.941406],[97.405371,0.946973],[97.368848,1.056934],[97.296875,1.187354],[97.079199,1.425488],[97.244238,1.423633],[97.324414,1.481641],[97.342773,1.52793],[97.355957,1.539746],[97.481543,1.465088],[97.69834,1.18374],[97.786426,1.145898]]],[[[98.41543,-0.017529],[98.484375,-0.167676],[98.544141,-0.257617],[98.520117,-0.379688],[98.459277,-0.530469],[98.399707,-0.576855],[98.309668,-0.531836],[98.339941,-0.467871],[98.354785,-0.379297],[98.408789,-0.308984],[98.427148,-0.226465],[98.322949,-0.000781],[98.374512,0.00708],[98.41543,-0.017529]]],[[[99.199298,0.30814],[99.15918,0.351758],[99.111719,0.458936],[99.05957,0.686377],[98.935547,1.031934],[98.796387,1.494629],[98.702539,1.701953],[98.595313,1.8646],[98.564258,1.902148],[98.086523,2.195068],[98.127633,2.32699],[98.062573,2.444347],[98.025314,2.576122],[98.069394,2.676995],[98.057043,2.812128],[97.922788,2.90928],[97.895606,3.082603],[97.936379,3.140635],[97.86398,3.257424],[97.989554,3.330391],[97.906768,3.433021],[97.914158,3.483767],[97.843827,3.579885],[97.783882,3.744785],[97.893333,3.848189],[97.890232,3.915162],[98.001026,3.980067],[98.062728,4.24031],[98.188405,4.294777],[98.264751,4.288155],[98.241211,4.194531],[98.307324,4.092871],[98.52832,3.997559],[98.658691,3.928125],[98.686523,3.885547],[98.705762,3.834766],[98.77793,3.759424],[98.868652,3.710352],[99.151172,3.58125],[99.521484,3.311182],[99.732324,3.183057],[99.906641,2.988184],[99.969434,2.894922],[100.021289,2.794238],[100.127246,2.647607],[100.299625,2.474247],[100.278717,2.354534],[100.312616,2.177283],[100.319128,2.045664],[100.303573,1.881177],[100.375558,1.814463],[100.435296,1.666565],[100.440877,1.598714],[100.35034,1.524817],[100.104774,1.415211],[100.070977,1.358729],[100.130302,1.299973],[100.147665,1.224732],[100.225387,1.146029],[100.209574,1.053528],[100.209884,0.866356],[100.1734,0.757577],[99.826393,0.868216],[99.710483,0.848889],[99.794198,0.780056],[99.818073,0.708691],[99.914656,0.568596],[99.908197,0.503587],[99.814094,0.468189],[99.685368,0.500693],[99.584495,0.562757],[99.34234,0.473615],[99.199298,0.30814]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"IDN-492","diss_me":492,"iso_3166_2":"ID-RI","wikipedia":null,"iso_a2":"ID","adm0_sr":4,"name":"Riau","name_alt":"Rhio|Riou|Riouw","name_local":null,"type":"Propinsi","type_en":"Province","code_local":null,"code_hasc":"ID.RI","note":null,"hasc_maybe":null,"region":null,"region_cod":null,"provnum_ne":7,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":null,"postal":"RI","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":4,"mapcolor9":6,"mapcolor13":11,"fips":"ID37","fips_alt":"ID19","woe_id":2345728,"woe_label":"Riau, ID, Indonesia","woe_name":"Riau","latitude":0.396892,"longitude":101.745,"sov_a3":"IDN","adm0_a3":"IDN","adm0_label":2,"admin":"Indonesia","geonunit":"Indonesia","gu_a3":"IDN","gn_id":1629652,"gn_name":"Provinsi Riau","gns_id":-2694171,"gns_name":"Riau, Provinsi","gn_level":1,"gn_region":null,"gn_a1_code":"ID.37","region_sub":null,"sub_code":null,"gns_level":1,"gns_lang":"ind","gns_adm1":"ID37","gns_region":null,"min_label":5,"max_label":10.1,"min_zoom":4.6,"wikidataid":"Q2175","name_ar":"رياو","name_bn":"রিয়াউ","name_de":"Riau","name_en":"Riau","name_es":"Riau","name_fr":"Riau","name_el":"Ριάου","name_hi":"रियाउ","name_hu":"Riau","name_id":"Riau","name_it":"Riau","name_ja":"リアウ州","name_ko":"리아우","name_nl":"Riau","name_pl":"Riau","name_pt":"Riau","name_ru":"Риау","name_sv":"Riau","name_tr":"Riau","name_vi":"Riau","name_zh":"廖内省","ne_id":1159307945,"name_he":"ריאו","name_uk":"Ріау","name_ur":"ریاو","name_fa":"ریائو","name_zht":"廖內省","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[100.070977,-1.084946,103.786719,2.474247],"geometry":{"type":"MultiPolygon","coordinates":[[[[103.067578,1.014746],[103.166406,0.870166],[103.137207,0.84165],[103.086719,0.848145],[103.033398,0.882031],[102.963965,0.942676],[102.886328,0.996777],[102.787988,1.030957],[102.726465,1.04126],[102.701855,1.053711],[102.725586,1.158838],[102.790137,1.165479],[102.999414,1.067773],[103.067578,1.014746]]],[[[103.238184,0.698633],[103.295117,0.613965],[103.284473,0.541943],[103.172168,0.536182],[103.139551,0.549072],[103.15332,0.643115],[103.187402,0.699756],[103.238184,0.698633]]],[[[102.491895,1.45918],[102.499414,1.330908],[102.425195,1.364453],[102.366895,1.415479],[102.274219,1.453125],[102.161328,1.46543],[102.078711,1.498584],[102.020898,1.558203],[102.018359,1.585645],[102.024023,1.607959],[102.042188,1.625391],[102.469531,1.510059],[102.491895,1.45918]]],[[[102.780078,0.959375],[102.944141,0.892725],[103.002441,0.859277],[103.027539,0.746631],[103.008789,0.708105],[102.971484,0.736523],[102.77627,0.77959],[102.710547,0.784375],[102.541602,0.831592],[102.49043,0.856641],[102.453906,0.889502],[102.466406,0.950342],[102.491406,0.986865],[102.506641,1.08877],[102.549219,1.130225],[102.633203,1.054395],[102.726172,0.989209],[102.780078,0.959375]]],[[[101.640723,2.126709],[101.708105,2.078418],[101.762305,1.996533],[101.773535,1.943457],[101.734082,1.882568],[101.719434,1.78916],[101.602734,1.715723],[101.500781,1.733203],[101.467773,1.759375],[101.403418,1.901318],[101.409668,2.02168],[101.450293,2.067822],[101.544727,2.060742],[101.640723,2.126709]]],[[[102.276465,1.395264],[102.358594,1.345654],[102.412891,1.260791],[102.442871,1.234229],[102.448828,1.15625],[102.428906,1.067285],[102.427148,0.990137],[102.380859,0.959766],[102.325293,1.007031],[102.27959,1.075684],[102.255469,1.147168],[102.23418,1.263965],[102.228613,1.347852],[102.256348,1.39707],[102.276465,1.395264]]],[[[103.610938,-0.230566],[103.723926,-0.27666],[103.764258,-0.317773],[103.736523,-0.347949],[103.606348,-0.38291],[103.461328,-0.357617],[103.479004,-0.297461],[103.548926,-0.227539],[103.610938,-0.230566]]],[[[103.524649,-0.739343],[103.100147,-0.772201],[102.917315,-0.763416],[102.804351,-0.792975],[102.682188,-0.904492],[102.541214,-1.084946],[102.451814,-1.068203],[102.356213,-1.010016],[102.26056,-0.880359],[102.188884,-0.855658],[102.012616,-0.880411],[101.93505,-0.927282],[101.881823,-0.99999],[101.769788,-1.038231],[101.673774,-0.967486],[101.525256,-0.931932],[101.433685,-0.847131],[101.330849,-0.787238],[101.235971,-0.702592],[101.040324,-0.474493],[101.00012,-0.401319],[100.855839,-0.322254],[100.790003,-0.205724],[100.749024,-0.063975],[100.845607,-0.030334],[100.847157,0.185984],[100.509814,0.443901],[100.368685,0.411293],[100.265384,0.450464],[100.162961,0.648385],[100.206783,0.710706],[100.1734,0.757577],[100.209884,0.866356],[100.209574,1.053528],[100.225387,1.146029],[100.147665,1.224732],[100.130302,1.299973],[100.070977,1.358729],[100.104774,1.415211],[100.35034,1.524817],[100.440877,1.598714],[100.435296,1.666565],[100.375558,1.814463],[100.303573,1.881177],[100.319128,2.045664],[100.312616,2.177283],[100.278717,2.354534],[100.299625,2.474247],[100.307227,2.466602],[100.352734,2.411475],[100.401172,2.331641],[100.457031,2.257422],[100.523828,2.18916],[100.603613,2.136963],[100.685254,2.120068],[100.816797,1.989258],[100.887891,1.948242],[100.87666,2.050586],[100.816895,2.140186],[100.817773,2.194238],[100.828223,2.242578],[100.877051,2.283301],[100.935938,2.294727],[101.046191,2.257471],[101.225195,2.102246],[101.300781,2.011816],[101.357617,1.887012],[101.405078,1.757422],[101.47666,1.693066],[101.575,1.670557],[101.684277,1.66123],[101.784766,1.621387],[102.019922,1.442139],[102.098047,1.35791],[102.157227,1.258887],[102.197949,1.141699],[102.22334,1.018701],[102.239062,0.990332],[102.389941,0.841992],[102.469238,0.779297],[102.566406,0.748828],[102.849414,0.715479],[102.949316,0.664209],[103.031836,0.578906],[103.066504,0.491992],[103.00752,0.415332],[102.786328,0.297754],[102.55,0.216455],[102.77959,0.244482],[102.895898,0.278613],[103.002832,0.331982],[103.108691,0.399805],[103.276563,0.494531],[103.338965,0.513721],[103.412305,0.506934],[103.478906,0.480176],[103.578711,0.387061],[103.672656,0.288916],[103.742773,0.174414],[103.786719,0.046973],[103.706445,-0.01958],[103.589453,-0.06875],[103.428516,-0.191797],[103.411621,-0.24043],[103.444434,-0.27168],[103.405176,-0.362207],[103.49541,-0.418066],[103.50918,-0.465527],[103.431152,-0.533594],[103.438574,-0.575586],[103.524649,-0.739343]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"IDN-513","diss_me":513,"iso_3166_2":"ID-SA","wikipedia":null,"iso_a2":"ID","adm0_sr":5,"name":"Sulawesi Utara","name_alt":"Sulut","name_local":null,"type":"Propinsi","type_en":"Province","code_local":null,"code_hasc":"ID.SW","note":null,"hasc_maybe":null,"region":null,"region_cod":null,"provnum_ne":29,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":null,"postal":"SW","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":14,"mapcolor9":6,"mapcolor13":11,"fips":"ID31","fips_alt":"ID23","woe_id":28350156,"woe_label":"North Sulawesi, ID, Indonesia","woe_name":"Sulawesi Utara","latitude":0.853039,"longitude":124.446,"sov_a3":"IDN","adm0_a3":"IDN","adm0_label":2,"admin":"Indonesia","geonunit":"Indonesia","gu_a3":"IDN","gn_id":1626229,"gn_name":"Provinsi Sulawesi Utara","gns_id":-2698081,"gns_name":"Sulawesi Utara, Provinsi","gn_level":1,"gn_region":null,"gn_a1_code":"ID.31","region_sub":null,"sub_code":null,"gns_level":1,"gns_lang":"ind","gns_adm1":"ID31","gns_region":null,"min_label":5,"max_label":10.1,"min_zoom":4.6,"wikidataid":"Q5068","name_ar":"سولاوسي الشمالية","name_bn":"উত্তর সুলাওয়েসি","name_de":"Sulawesi Utara","name_en":"North Sulawesi","name_es":"Célebes Septentrional","name_fr":"Sulawesi du Nord","name_el":"Βόρειο Σουλαβέσι","name_hi":"उत्तर सुलावेसी","name_hu":"Észak-Szulavézi","name_id":"Sulawesi Utara","name_it":"Sulawesi Settentrionale","name_ja":"北スラウェシ州","name_ko":"북술라웨시","name_nl":"Noord-Celebes","name_pl":"Celebes Północny","name_pt":"Celebes do Norte","name_ru":"Северный Сулавеси","name_sv":"Sulawesi Utara","name_tr":"Kuzey Sulawesi","name_vi":"Bắc Sulawesi","name_zh":"北苏拉威西省","ne_id":1159307977,"name_he":"סולאווסי אוטארה","name_uk":"Північне Сулавесі","name_ur":"شمالی سولاویسی","name_fa":"سولاوسی شمالی","name_zht":"北苏拉威西省","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[123.074745,0.297461,126.921094,4.5479],"geometry":{"type":"MultiPolygon","coordinates":[[[[125.585645,3.571094],[125.643555,3.476514],[125.658105,3.436035],[125.633203,3.40542],[125.511523,3.461133],[125.517578,3.549609],[125.501172,3.593213],[125.468555,3.639111],[125.455273,3.68418],[125.468848,3.733252],[125.543457,3.67041],[125.585645,3.571094]]],[[[125.39082,2.805371],[125.435254,2.783887],[125.446484,2.762988],[125.403906,2.707031],[125.407422,2.651611],[125.397266,2.629541],[125.360059,2.746826],[125.39082,2.805371]]],[[[126.6375,4.041943],[126.685547,4.001416],[126.739648,3.917725],[126.719336,3.874658],[126.721777,3.83252],[126.66123,3.928418],[126.6375,4.041943]]],[[[126.799609,3.783887],[126.777539,3.813428],[126.778906,3.843164],[126.804492,3.85791],[126.857031,3.812402],[126.857813,3.787207],[126.851855,3.768457],[126.835547,3.756934],[126.799609,3.783887]]],[[[126.865137,4.479834],[126.886719,4.37251],[126.921094,4.291016],[126.847656,4.17998],[126.816602,4.033496],[126.77627,4.012598],[126.71123,4.020264],[126.704492,4.070996],[126.770117,4.162207],[126.813574,4.258496],[126.767285,4.282568],[126.72207,4.344189],[126.720508,4.41582],[126.757324,4.5479],[126.8125,4.537207],[126.865137,4.479834]]],[[[123.074745,0.941263],[123.278125,0.928076],[123.84668,0.838184],[123.930762,0.850439],[124.273633,1.022266],[124.41084,1.185107],[124.533691,1.230469],[124.575391,1.304053],[124.600195,1.392432],[124.64375,1.416162],[124.74668,1.441406],[124.787695,1.467578],[124.860645,1.576025],[124.94707,1.672168],[124.989258,1.701025],[125.110938,1.685693],[125.164844,1.643652],[125.233789,1.502295],[125.22168,1.478711],[125.140918,1.408398],[125.11748,1.378906],[125.028027,1.180225],[124.966797,1.082617],[124.888867,0.995312],[124.698145,0.825586],[124.639844,0.743555],[124.589063,0.655273],[124.514063,0.557129],[124.427539,0.470605],[124.384375,0.444971],[124.278027,0.398438],[124.216797,0.380371],[124.101367,0.374561],[123.753809,0.305518],[123.639648,0.297461],[123.525977,0.300342],[123.457047,0.305854],[123.499832,0.429793],[123.481021,0.556917],[123.439422,0.611022],[123.325372,0.664249],[123.24703,0.732927],[123.205173,0.836797],[123.074745,0.941263]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"IDN-538","diss_me":538,"iso_3166_2":"ID-MU","wikipedia":null,"iso_a2":"ID","adm0_sr":3,"name":"Maluku Utara","name_alt":"Malut","name_local":null,"type":"Propinsi","type_en":"Province","code_local":null,"code_hasc":"ID.LA","note":null,"hasc_maybe":null,"region":null,"region_cod":null,"provnum_ne":1,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":null,"postal":"LA","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":12,"mapcolor9":6,"mapcolor13":11,"fips":"ID29","fips_alt":"ID16|ID15","woe_id":20069998,"woe_label":"North Maluku, ID, Indonesia","woe_name":"Maluku Utara","latitude":-2.28945,"longitude":125.976,"sov_a3":"IDN","adm0_a3":"IDN","adm0_label":2,"admin":"Indonesia","geonunit":"Indonesia","gu_a3":"IDN","gn_id":1958070,"gn_name":"Provinsi Maluku Utara","gns_id":9097820,"gns_name":"Maluku Utara, Provinsi","gn_level":1,"gn_region":null,"gn_a1_code":"ID.29","region_sub":null,"sub_code":null,"gns_level":1,"gns_lang":"ind","gns_adm1":"ID29","gns_region":null,"min_label":5,"max_label":10.1,"min_zoom":4.6,"wikidataid":"Q5094","name_ar":"مالوكو الشمالية","name_bn":"উত্তর মালুকু","name_de":"Nordmolukken","name_en":"North Maluku","name_es":"Molucas Septentrional","name_fr":"Moluques du Nord","name_el":"Βόρειο Μαλούκου","name_hi":"उत्तर मालुकू","name_hu":"Maluku Utara","name_id":"Maluku Utara","name_it":"Maluku Settentrionale","name_ja":"北マルク州","name_ko":"북말루쿠","name_nl":"Noord-Molukken","name_pl":"Moluki Północne","name_pt":"Molucas do Norte","name_ru":"Северное Малуку","name_sv":"Maluku Utara","name_tr":"Kuzey Maluku","name_vi":"Bắc Maluku","name_zh":"北马鲁古省","ne_id":1159307939,"name_he":"צפון מאלוקו","name_uk":"Північне Малуку","name_ur":"شمالی مالوکو","name_fa":"ملوک شمالی","name_zht":"北馬魯古省","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[124.329688,-2.469434,129.548926,2.597607],"geometry":{"type":"MultiPolygon","coordinates":[[[[127.804297,-0.694434],[127.837891,-0.724121],[127.863281,-0.759863],[127.880176,-0.808691],[127.842285,-0.847754],[127.761133,-0.883691],[127.667578,-0.832031],[127.642871,-0.783984],[127.623828,-0.766016],[127.497852,-0.802441],[127.462695,-0.805957],[127.438281,-0.739063],[127.468652,-0.642969],[127.380566,-0.599609],[127.3,-0.500293],[127.29707,-0.460254],[127.329492,-0.390918],[127.325098,-0.33584],[127.371191,-0.331641],[127.455176,-0.406348],[127.491699,-0.335938],[127.527344,-0.306641],[127.566992,-0.318945],[127.682422,-0.468359],[127.60498,-0.610156],[127.658594,-0.689453],[127.804297,-0.694434]]],[[[127.905078,-1.439063],[128.032813,-1.531641],[128.14873,-1.603711],[128.153027,-1.660547],[128.091797,-1.701172],[128.06123,-1.712402],[127.91377,-1.685156],[127.741016,-1.69082],[127.561621,-1.728516],[127.457617,-1.69668],[127.392188,-1.644824],[127.39502,-1.589844],[127.456738,-1.453711],[127.591797,-1.350781],[127.64668,-1.332422],[127.742969,-1.360254],[127.905078,-1.439063]]],[[[127.280566,-0.391016],[127.249902,-0.495313],[127.187305,-0.521191],[127.119141,-0.520508],[127.104395,-0.413867],[127.126465,-0.278613],[127.189648,-0.255762],[127.290039,-0.284375],[127.253027,-0.318652],[127.280566,-0.391016]]],[[[127.258203,-0.623438],[127.30127,-0.758398],[127.300391,-0.780957],[127.289062,-0.801563],[127.18457,-0.775293],[127.156445,-0.760938],[127.209082,-0.619336],[127.258203,-0.623438]]],[[[127.431348,0.142578],[127.449414,0.068994],[127.453418,-0.005859],[127.448633,-0.036621],[127.417871,0.006348],[127.396777,0.016602],[127.419531,0.124414],[127.431348,0.142578]]],[[[127.419727,0.64209],[127.383984,0.631006],[127.373633,0.634863],[127.362891,0.675146],[127.382617,0.743555],[127.424805,0.744385],[127.442578,0.733447],[127.445898,0.683301],[127.419727,0.64209]]],[[[129.308789,0.04541],[129.541992,-0.139258],[129.548926,-0.187012],[129.505664,-0.189844],[129.469238,-0.131445],[129.370117,-0.066406],[129.308789,0.04541]]],[[[128.602148,2.597607],[128.688477,2.473682],[128.623242,2.224414],[128.547559,2.09707],[128.453906,2.051758],[128.295898,2.034717],[128.259961,2.08252],[128.217969,2.297461],[128.330371,2.469336],[128.47207,2.570508],[128.568652,2.596094],[128.602148,2.597607]]],[[[125.187891,-1.712891],[125.197656,-1.780273],[125.258203,-1.770898],[125.305371,-1.793945],[125.320215,-1.810059],[125.314063,-1.877148],[125.134766,-1.888965],[125.006738,-1.943066],[124.834473,-1.894434],[124.63916,-1.978223],[124.520605,-2.006934],[124.417773,-2.005176],[124.329688,-1.858887],[124.380859,-1.6875],[124.417578,-1.659277],[124.483008,-1.644336],[124.663965,-1.635938],[124.969531,-1.705469],[125.062988,-1.741016],[125.095898,-1.74082],[125.126758,-1.699316],[125.145801,-1.692578],[125.187891,-1.712891]]],[[[125.975977,-2.168066],[126.065723,-2.36582],[126.055078,-2.45127],[126.037891,-2.469434],[125.97793,-2.41543],[125.937598,-2.262793],[125.903223,-2.222168],[125.862891,-2.077148],[125.873242,-2.035938],[125.922754,-1.974805],[125.962793,-1.975781],[125.992676,-2.011816],[125.975977,-2.168066]]],[[[126.024219,-1.789746],[126.331738,-1.822852],[126.288086,-1.858887],[125.956445,-1.916602],[125.838867,-1.906152],[125.479199,-1.940039],[125.432617,-1.938086],[125.425977,-1.882227],[125.387207,-1.843066],[125.444727,-1.808984],[125.520898,-1.800879],[125.720313,-1.81377],[126.024219,-1.789746]]],[[[127.372656,0.791309],[127.338379,0.758447],[127.306055,0.769434],[127.286426,0.811914],[127.292773,0.84248],[127.319824,0.862012],[127.353809,0.847461],[127.372656,0.791309]]],[[[127.687402,-0.079932],[127.681348,0.034863],[127.685449,0.149023],[127.708691,0.288086],[127.668652,0.336768],[127.616211,0.38291],[127.555371,0.489648],[127.537109,0.610889],[127.541797,0.680664],[127.566992,0.742529],[127.600684,0.796045],[127.608008,0.848242],[127.52041,0.924023],[127.428516,1.13999],[127.420313,1.251953],[127.537109,1.46748],[127.534668,1.57207],[127.55791,1.634229],[127.570703,1.700146],[127.631738,1.843701],[127.731445,1.966113],[127.899902,2.137354],[127.964258,2.174707],[128.036426,2.199023],[128.042773,2.15708],[128.03125,2.119873],[127.906738,1.945654],[127.890137,1.906299],[127.886816,1.832959],[127.946484,1.789648],[128.010938,1.701221],[128.02373,1.583496],[128.025879,1.458105],[128.011719,1.331738],[127.987695,1.2896],[127.885352,1.162793],[127.652832,1.013867],[127.633008,0.977197],[127.634375,0.936133],[127.677441,0.886572],[127.732715,0.848145],[127.805371,0.825928],[127.881055,0.832129],[127.918652,0.876807],[127.929102,0.934717],[127.967285,1.042578],[128.055273,1.115625],[128.116992,1.127051],[128.160742,1.157812],[128.153125,1.237891],[128.157422,1.316602],[128.222461,1.400635],[128.424121,1.517529],[128.539258,1.559229],[128.688379,1.572559],[128.705176,1.527734],[128.688086,1.463721],[128.716895,1.367285],[128.702637,1.106396],[128.66875,1.069434],[128.514551,0.979248],[128.345996,0.907129],[128.298828,0.876807],[128.257227,0.80498],[128.260645,0.733789],[128.397949,0.638818],[128.61123,0.549951],[128.655273,0.508252],[128.683789,0.438477],[128.691602,0.360352],[128.743262,0.323242],[128.81543,0.305371],[128.863281,0.268359],[128.899609,0.21626],[128.54043,0.337891],[128.446484,0.391553],[128.332813,0.397949],[128.220605,0.414258],[128.106055,0.460889],[127.983105,0.471875],[127.924414,0.438086],[127.901367,0.372266],[127.887402,0.29834],[127.914648,0.206299],[127.912207,0.150537],[127.888965,0.049512],[127.977832,-0.24834],[128.089453,-0.485254],[128.253516,-0.731641],[128.33457,-0.816309],[128.425488,-0.892676],[128.278125,-0.87002],[128.233398,-0.787695],[128.046387,-0.706055],[128.01084,-0.657324],[127.888965,-0.423535],[127.85332,-0.379883],[127.74082,-0.300391],[127.691602,-0.241895],[127.674805,-0.162891],[127.687402,-0.079932]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"IDN-539","diss_me":539,"iso_3166_2":"ID-SB","wikipedia":null,"iso_a2":"ID","adm0_sr":5,"name":"Sumatera Barat","name_alt":"Sumbar","name_local":null,"type":"Propinsi","type_en":"Province","code_local":null,"code_hasc":"ID.SB","note":null,"hasc_maybe":null,"region":null,"region_cod":null,"provnum_ne":5,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":null,"postal":"SB","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":14,"mapcolor9":6,"mapcolor13":11,"fips":"ID24","fips_alt":null,"woe_id":2345733,"woe_label":"West Sumatra, ID, Indonesia","woe_name":"Sumatera Barat","latitude":-0.642611,"longitude":100.611,"sov_a3":"IDN","adm0_a3":"IDN","adm0_label":2,"admin":"Indonesia","geonunit":"Indonesia","gu_a3":"IDN","gn_id":1626197,"gn_name":"Provinsi Sumatera Barat","gns_id":-2698116,"gns_name":"Sumatera Barat, Provinsi","gn_level":1,"gn_region":null,"gn_a1_code":"ID.24","region_sub":null,"sub_code":null,"gns_level":1,"gns_lang":"ind","gns_adm1":"ID24","gns_region":null,"min_label":5,"max_label":10.1,"min_zoom":4.6,"wikidataid":"Q2772","name_ar":"سومطرة الغربية","name_bn":"পশ্চিম সুমাত্রা","name_de":"Sumatera Barat","name_en":"West Sumatra","name_es":"Sumatra Occidental","name_fr":"Sumatra occidental","name_el":"Δυτική Σουμάτρα","name_hi":"पश्चिम सुमात्रा","name_hu":"Nyugat-Sumatera","name_id":"Sumatra Barat","name_it":"Sumatra Occidentale","name_ja":"西スマトラ州","name_ko":"서수마트라","name_nl":"West-Sumatra","name_pl":"Sumatra Zachodnia","name_pt":"Sumatra Ocidental","name_ru":"Западная Суматра","name_sv":"Sumatera Barat","name_tr":"Batı Sumatra","name_vi":"Tây Sumatera","name_zh":"西苏门答腊省","ne_id":1159307903,"name_he":"סומטרה המערבית","name_uk":"Західна Суматра","name_ur":"مغربی سماٹرا","name_fa":"سوماترای غربی","name_zht":"西苏门答腊省","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[98.601758,-3.328516,101.840999,0.868216],"geometry":{"type":"MultiPolygon","coordinates":[[[[100.464258,-3.116895],[100.433887,-3.141309],[100.425098,-3.18291],[100.465137,-3.328516],[100.346094,-3.229199],[100.348437,-3.158789],[100.332031,-3.113086],[100.259961,-3.056934],[100.204297,-2.986816],[100.179297,-2.820215],[100.198535,-2.785547],[100.245605,-2.783203],[100.45459,-3.001953],[100.468848,-3.038965],[100.464258,-3.116895]]],[[[99.130664,-1.442383],[99.210352,-1.559277],[99.267285,-1.627734],[99.271484,-1.738477],[99.163867,-1.77793],[99.071777,-1.783496],[98.874316,-1.663672],[98.827734,-1.609961],[98.816309,-1.538281],[98.626953,-1.261328],[98.601758,-1.197852],[98.676074,-0.970508],[98.869043,-0.915625],[98.932617,-0.954004],[98.954785,-1.05625],[99.065039,-1.240723],[99.101465,-1.340137],[99.128906,-1.38418],[99.14043,-1.418457],[99.130664,-1.442383]]],[[[100.011914,-2.510254],[100.201953,-2.679688],[100.204102,-2.741016],[100.132715,-2.821387],[100.014941,-2.819727],[99.991895,-2.769824],[99.996875,-2.649316],[99.968164,-2.609766],[99.969336,-2.594141],[99.987891,-2.525391],[100.011914,-2.510254]]],[[[99.734766,-2.177734],[99.815723,-2.284375],[99.843066,-2.343066],[99.847852,-2.369727],[99.685156,-2.281738],[99.607031,-2.25752],[99.537402,-2.161523],[99.558887,-2.11543],[99.561816,-2.051172],[99.572168,-2.025781],[99.62207,-2.016602],[99.686426,-2.063379],[99.734766,-2.177734]]],[[[101.035918,-2.472667],[100.944434,-2.345215],[100.889551,-2.248535],[100.848047,-2.143945],[100.855273,-1.93418],[100.486523,-1.299121],[100.393945,-1.10127],[100.308203,-0.82666],[100.289062,-0.798828],[100.087891,-0.55293],[100.016699,-0.474219],[99.930664,-0.400195],[99.860059,-0.31377],[99.721289,-0.032959],[99.669824,0.045068],[99.597656,0.102441],[99.33457,0.208594],[99.236426,0.267773],[99.199298,0.30814],[99.34234,0.473615],[99.584495,0.562757],[99.685368,0.500693],[99.814094,0.468189],[99.908197,0.503587],[99.914656,0.568596],[99.818073,0.708691],[99.794198,0.780056],[99.710483,0.848889],[99.826393,0.868216],[100.1734,0.757577],[100.206783,0.710706],[100.162961,0.648385],[100.265384,0.450464],[100.368685,0.411293],[100.509814,0.443901],[100.847157,0.185984],[100.845607,-0.030334],[100.749024,-0.063975],[100.790003,-0.205724],[100.855839,-0.322254],[101.00012,-0.401319],[101.040324,-0.474493],[101.235971,-0.702592],[101.330849,-0.787238],[101.433685,-0.847131],[101.525256,-0.931932],[101.673774,-0.967486],[101.769788,-1.038231],[101.782708,-1.131817],[101.840999,-1.166233],[101.79449,-1.23889],[101.678114,-1.288965],[101.675324,-1.499856],[101.519364,-1.639848],[101.475698,-1.702118],[101.226049,-1.728421],[101.113911,-1.704909],[101.142282,-1.919986],[101.259742,-2.081475],[101.335603,-2.296965],[101.170962,-2.367142],[101.035918,-2.472667]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"IDN-540","diss_me":540,"iso_3166_2":"ID-YO","wikipedia":null,"iso_a2":"ID","adm0_sr":1,"name":"Yogyakarta","name_alt":"Jawa|Daerah Istimewa Yogyakarta","name_local":null,"type":"Daerah Istimewa","type_en":"Special region","code_local":null,"code_hasc":"ID.YO","note":null,"hasc_maybe":null,"region":null,"region_cod":null,"provnum_ne":20,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":null,"postal":"YO","area_sqkm":0,"sameascity":7,"labelrank":7,"name_len":10,"mapcolor9":6,"mapcolor13":11,"fips":"ID10","fips_alt":null,"woe_id":2345719,"woe_label":"Special Region of Yogyakarta, ID, Indonesia","woe_name":"Yogyakarta","latitude":-7.83533,"longitude":110.443,"sov_a3":"IDN","adm0_a3":"IDN","adm0_label":2,"admin":"Indonesia","geonunit":"Indonesia","gu_a3":"IDN","gn_id":1621176,"gn_name":"Daerah Istimewa Yogyakarta","gns_id":-2703547,"gns_name":"Yogyakarta, Daerah Istimewa","gn_level":1,"gn_region":null,"gn_a1_code":"ID.10","region_sub":null,"sub_code":null,"gns_level":1,"gns_lang":"aze","gns_adm1":"ID10","gns_region":null,"min_label":5,"max_label":10.1,"min_zoom":4.6,"wikidataid":"Q3741","name_ar":"يوجياكرتا","name_bn":"যোগ্যকর্তা বিশেষ অঞ্চল","name_de":"Yogyakarta","name_en":"Yogyakarta","name_es":"Especial de Yogyakarta","name_fr":"Territoire spécial de Yogyakarta","name_el":"Γιογκιακάρτα","name_hi":"योग्यकर्ता","name_hu":"Yogyakarta","name_id":"Yogyakarta","name_it":"Yogyakarta","name_ja":"ジョグジャカルタ特別州","name_ko":"욕야카르타","name_nl":"Jogjakarta","name_pl":"Yogyakarta","name_pt":"Yogyakarta","name_ru":"Джокьякарта","name_sv":"Yogyakarta","name_tr":"Yogyakarta Özel Bölgesi","name_vi":"Yogyakarta","name_zh":"日惹特区","ne_id":1159307899,"name_he":"יוגיאקרטה","name_uk":"Джок'якарта","name_ur":"خصوصی علاقہ یوگیاکارتا","name_fa":"یوگیاکارتا","name_zht":"日惹特区","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[110.038672,-8.204097,110.843016,-7.568943],"geometry":{"type":"Polygon","coordinates":[[[110.843016,-8.204097],[110.830176,-8.201953],[110.607227,-8.149414],[110.038672,-7.890527],[110.116669,-7.761593],[110.136513,-7.676792],[110.301309,-7.669144],[110.4413,-7.568943],[110.50662,-7.783091],[110.578656,-7.820969],[110.753323,-7.832597],[110.786602,-7.873628],[110.798746,-8.121674],[110.843016,-8.204097]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"IDN-554","diss_me":554,"iso_3166_2":"ID-MA","wikipedia":null,"iso_a2":"ID","adm0_sr":5,"name":"Maluku","name_alt":"Molucas||Moluccas|Molucche|Moluckerna|Moluqu","name_local":null,"type":"Propinsi","type_en":"Province","code_local":null,"code_hasc":"ID.MA","note":null,"hasc_maybe":null,"region":null,"region_cod":null,"provnum_ne":30,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":null,"postal":"MA","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":6,"mapcolor9":6,"mapcolor13":11,"fips":"ID28","fips_alt":null,"woe_id":20069997,"woe_label":"Maluku, ID, Indonesia","woe_name":"Maluku","latitude":-8.24814,"longitude":128.161,"sov_a3":"IDN","adm0_a3":"IDN","adm0_label":2,"admin":"Indonesia","geonunit":"Indonesia","gu_a3":"IDN","gn_id":1636627,"gn_name":"Provinsi Maluku","gns_id":-2686484,"gns_name":"Maluku, Provinsi","gn_level":1,"gn_region":null,"gn_a1_code":"ID.28","region_sub":null,"sub_code":null,"gns_level":1,"gns_lang":"ind","gns_adm1":"ID28","gns_region":null,"min_label":5,"max_label":10.1,"min_zoom":4.6,"wikidataid":"Q5093","name_ar":"مالوكو","name_bn":"মালুকু প্রদেশ","name_de":"Maluku","name_en":"Maluku","name_es":"Molucas","name_fr":"Moluques","name_el":"Μαλούκου","name_hi":"मालुकू","name_hu":"Maluku","name_id":"Maluku","name_it":"Maluku","name_ja":"マルク州","name_ko":"말루쿠","name_nl":"Maluku","name_pl":"Moluki","name_pt":"Molucas","name_ru":"Малуку","name_sv":"Moluckerna","name_tr":"Maluku","name_vi":"Maluku","name_zh":"马鲁古省","ne_id":1159307875,"name_he":"מאלוקו","name_uk":"Малуку","name_ur":"مالوکو","name_fa":"ملوک","name_zht":"馬魯古省","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[125.798242,-8.349902,134.88584,-2.785742],"geometry":{"type":"MultiPolygon","coordinates":[[[[127.834277,-3.004395],[127.938379,-2.952344],[127.987891,-2.936523],[127.937695,-3.02002],[127.849609,-3.016309],[127.834277,-3.004395]]],[[[127.554492,-3.254297],[127.60625,-3.315137],[127.629297,-3.35918],[127.531055,-3.331348],[127.487695,-3.288184],[127.530469,-3.261523],[127.554492,-3.254297]]],[[[134.795313,-6.393066],[134.822949,-6.349609],[134.851855,-6.324609],[134.88584,-6.323535],[134.819531,-6.43418],[134.795117,-6.442383],[134.795313,-6.393066]]],[[[134.629102,-6.712793],[134.663477,-6.657715],[134.697656,-6.625684],[134.735742,-6.62334],[134.726074,-6.668652],[134.674414,-6.749805],[134.657422,-6.765332],[134.631445,-6.73291],[134.629102,-6.712793]]],[[[126.726367,-7.662207],[126.800977,-7.667871],[126.814453,-7.716504],[126.812695,-7.737891],[126.692871,-7.753516],[126.577344,-7.807617],[126.518164,-7.869922],[126.47207,-7.950391],[126.312891,-7.917676],[126.171094,-7.912305],[126.108398,-7.883984],[126.040039,-7.88584],[125.951563,-7.910938],[125.826172,-7.979297],[125.798242,-7.98457],[125.808398,-7.880664],[125.843164,-7.816699],[125.975293,-7.663379],[126.085352,-7.697363],[126.213672,-7.706738],[126.359375,-7.676758],[126.462891,-7.607813],[126.60957,-7.571777],[126.726367,-7.662207]]],[[[127.998438,-8.139063],[128.098828,-8.134863],[128.119238,-8.170703],[128.023535,-8.255371],[127.820898,-8.190234],[127.78623,-8.120313],[127.823438,-8.098828],[127.998438,-8.139063]]],[[[127.370703,-7.512793],[127.475195,-7.531055],[127.474023,-7.578516],[127.463965,-7.596875],[127.419434,-7.623047],[127.355273,-7.646484],[127.375,-7.572461],[127.370703,-7.512793]]],[[[129.655469,-7.794824],[129.812988,-7.819727],[129.843555,-7.889355],[129.838867,-7.95459],[129.779785,-8.046484],[129.713477,-8.040723],[129.591895,-7.917383],[129.59873,-7.831348],[129.608984,-7.803418],[129.655469,-7.794824]]],[[[128.627734,-7.06875],[128.658301,-7.091113],[128.673242,-7.113379],[128.666895,-7.137988],[128.670117,-7.183301],[128.625,-7.208594],[128.550195,-7.156348],[128.529785,-7.13457],[128.577344,-7.083203],[128.627734,-7.06875]]],[[[131.020117,-8.091309],[131.087402,-8.124512],[131.176367,-8.130762],[131.04375,-8.212012],[130.908105,-8.245703],[130.862207,-8.31875],[130.775195,-8.349902],[130.833398,-8.270801],[131.020117,-8.091309]]],[[[131.700781,-7.140234],[131.736133,-7.19707],[131.643848,-7.266895],[131.691113,-7.438867],[131.624414,-7.626172],[131.580273,-7.682227],[131.498438,-7.730664],[131.473535,-7.77666],[131.377051,-7.869141],[131.347754,-7.948047],[131.343457,-7.981445],[131.325586,-7.999512],[131.30918,-8.01084],[131.184961,-7.997852],[131.11377,-7.997363],[131.123438,-7.921875],[131.086816,-7.865039],[131.136816,-7.781738],[131.137793,-7.684863],[131.190039,-7.671875],[131.197363,-7.616699],[131.260059,-7.470508],[131.296875,-7.438086],[131.349219,-7.425391],[131.411035,-7.340137],[131.446191,-7.315332],[131.482617,-7.250684],[131.535254,-7.220605],[131.530859,-7.165137],[131.560742,-7.135742],[131.643457,-7.112793],[131.700781,-7.140234]]],[[[134.679102,-6.456055],[134.728516,-6.505859],[134.716113,-6.549414],[134.66084,-6.558887],[134.633691,-6.477246],[134.679102,-6.456055]]],[[[128.666504,-3.516699],[128.693555,-3.524512],[128.722461,-3.546875],[128.720117,-3.58916],[128.713281,-3.602539],[128.658789,-3.587793],[128.619531,-3.588574],[128.585156,-3.512207],[128.594922,-3.494824],[128.666504,-3.516699]]],[[[128.451563,-3.514746],[128.536328,-3.541309],[128.562598,-3.585449],[128.391602,-3.637891],[128.42832,-3.54043],[128.451563,-3.514746]]],[[[133.008789,-5.621387],[133.114648,-5.310645],[133.138477,-5.317871],[133.172852,-5.348145],[133.119629,-5.575977],[132.971094,-5.73584],[132.92627,-5.902051],[132.84502,-5.987988],[132.92168,-5.785254],[132.937695,-5.682617],[133.008789,-5.621387]]],[[[132.737793,-5.661719],[132.804297,-5.788867],[132.807129,-5.850781],[132.746289,-5.94707],[132.704883,-5.913086],[132.681445,-5.912598],[132.667285,-5.856055],[132.681348,-5.738867],[132.630176,-5.607031],[132.697852,-5.608984],[132.716504,-5.64834],[132.737793,-5.661719]]],[[[134.744434,-6.202344],[134.71416,-6.295117],[134.683887,-6.328125],[134.661133,-6.337305],[134.637598,-6.365332],[134.441113,-6.334863],[134.356152,-6.270508],[134.280469,-6.200781],[134.264453,-6.17168],[134.175391,-6.090332],[134.154883,-6.062891],[134.153125,-6.019531],[134.225098,-6.008496],[134.301953,-6.009766],[134.298633,-5.970703],[134.343066,-5.833008],[134.226172,-5.744434],[134.205371,-5.707227],[134.247266,-5.681934],[134.341309,-5.712891],[134.456348,-5.55752],[134.490332,-5.525098],[134.506445,-5.438477],[134.570801,-5.427344],[134.616504,-5.438574],[134.646094,-5.492383],[134.657813,-5.539258],[134.645508,-5.581348],[134.700781,-5.603027],[134.746973,-5.707031],[134.739063,-5.745605],[134.738379,-5.816797],[134.75498,-5.882715],[134.712207,-5.949707],[134.752148,-6.050098],[134.758105,-6.1],[134.755859,-6.170605],[134.744434,-6.202344]]],[[[134.52041,-6.512695],[134.504297,-6.591406],[134.4125,-6.679688],[134.355957,-6.814844],[134.322754,-6.84873],[134.2,-6.908789],[134.09082,-6.833789],[134.05918,-6.769336],[134.107031,-6.471582],[134.154199,-6.481445],[134.184766,-6.479297],[134.194629,-6.459766],[134.124609,-6.426465],[134.11123,-6.255371],[134.114648,-6.19082],[134.168066,-6.17627],[134.23418,-6.226367],[134.317773,-6.316113],[134.415039,-6.386719],[134.536816,-6.442285],[134.52041,-6.512695]]],[[[131.922266,-7.104492],[131.982031,-7.202051],[131.969531,-7.251367],[131.926855,-7.225],[131.884473,-7.16748],[131.822852,-7.15918],[131.777539,-7.143945],[131.750781,-7.116797],[131.922266,-7.104492]]],[[[127.163477,-3.338086],[127.227344,-3.391016],[127.244238,-3.471094],[127.22959,-3.633008],[127.155176,-3.647266],[127.085059,-3.670898],[126.940918,-3.764551],[126.869922,-3.78291],[126.794141,-3.78916],[126.740332,-3.813672],[126.686328,-3.823633],[126.54668,-3.77168],[126.411133,-3.710645],[126.214551,-3.605176],[126.17832,-3.579395],[126.14668,-3.522754],[126.056543,-3.420996],[126.033984,-3.355859],[126.026465,-3.170508],[126.050098,-3.128125],[126.088281,-3.105469],[126.219629,-3.148145],[126.30625,-3.103223],[126.555078,-3.065234],[126.808301,-3.069141],[126.861133,-3.087891],[127.025488,-3.166016],[127.062891,-3.216992],[127.092383,-3.277539],[127.124707,-3.31084],[127.163477,-3.338086]]],[[[130.773438,-3.41875],[130.845605,-3.533301],[130.859961,-3.570312],[130.805078,-3.857715],[130.580371,-3.748828],[130.363086,-3.625195],[130.269727,-3.579297],[130.019531,-3.474707],[129.981152,-3.438867],[129.953125,-3.391602],[129.844141,-3.327148],[129.62666,-3.317188],[129.54502,-3.318848],[129.511719,-3.328516],[129.52041,-3.363184],[129.52168,-3.433691],[129.467676,-3.453223],[129.332813,-3.408691],[129.212109,-3.392676],[129.107617,-3.349219],[128.96748,-3.326074],[128.952051,-3.304199],[128.964063,-3.27168],[128.957813,-3.241113],[128.925391,-3.229297],[128.8625,-3.234961],[128.801758,-3.265625],[128.75127,-3.300488],[128.676953,-3.396582],[128.638965,-3.433398],[128.516602,-3.449121],[128.465918,-3.439844],[128.419238,-3.416016],[128.27998,-3.240527],[128.233008,-3.202637],[128.180664,-3.17168],[128.132031,-3.157422],[128.082129,-3.184082],[128.055762,-3.238574],[128.043945,-3.30332],[128.030078,-3.340527],[127.97002,-3.444336],[127.92041,-3.506055],[127.902344,-3.496289],[127.927832,-3.397266],[127.92793,-3.341406],[127.897168,-3.282324],[127.87793,-3.22207],[128.113379,-2.93457],[128.198535,-2.865918],[128.569824,-2.842188],[128.790527,-2.856641],[128.910742,-2.849609],[128.991113,-2.828516],[129.057715,-2.838477],[129.074316,-2.895117],[129.116309,-2.937012],[129.174414,-2.933496],[129.27959,-2.889063],[129.371094,-2.820508],[129.427344,-2.790723],[129.48418,-2.785742],[129.542969,-2.790332],[129.600488,-2.806152],[129.754688,-2.86582],[129.984375,-2.97666],[130.103418,-2.992969],[130.303613,-2.978516],[130.379102,-2.989355],[130.569922,-3.130859],[130.625586,-3.228027],[130.641699,-3.311914],[130.671094,-3.391504],[130.718066,-3.411328],[130.773438,-3.41875]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"IDN-555","diss_me":555,"iso_3166_2":"ID-NB","wikipedia":null,"iso_a2":"ID","adm0_sr":3,"name":"Nusa Tenggara Barat","name_alt":"NTB","name_local":null,"type":"Propinsi","type_en":"Province","code_local":null,"code_hasc":"ID.NB","note":null,"hasc_maybe":null,"region":null,"region_cod":null,"provnum_ne":23,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":null,"postal":"NB","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":19,"mapcolor9":6,"mapcolor13":11,"fips":"ID17","fips_alt":null,"woe_id":2345726,"woe_label":"West Nusa Tenggara, ID, Indonesia","woe_name":"Nusa Tenggara Barat","latitude":-8.57106,"longitude":116.294,"sov_a3":"IDN","adm0_a3":"IDN","adm0_label":2,"admin":"Indonesia","geonunit":"Indonesia","gu_a3":"IDN","gn_id":1633792,"gn_name":"Propinsi Nusa Tenggara Barat","gns_id":-2689595,"gns_name":"Nusa Tenggara Barat, Propinsi","gn_level":1,"gn_region":null,"gn_a1_code":"ID.17","region_sub":null,"sub_code":null,"gns_level":1,"gns_lang":"ind","gns_adm1":"ID17","gns_region":null,"min_label":5,"max_label":10.1,"min_zoom":4.6,"wikidataid":"Q5062","name_ar":"نوسا تنقارا الغربية","name_bn":"পশ্চিম নুসা তেঙ্গারা","name_de":"Nusa Tenggara Barat","name_en":"West Nusa Tenggara","name_es":"Nusatenggara Occidental","name_fr":"Petites Îles de la Sonde occidentales","name_el":"Γουέστ Νούσα Τενγκάρα","name_hi":"पश्चिम नुसा तेंगारा","name_hu":"Nusa Tenggara Barat","name_id":"Nusa Tenggara Barat","name_it":"Nusa Tenggara Occidentale","name_ja":"西ヌサ・トゥンガラ州","name_ko":"서누사틍가라","name_nl":"Westelijke Kleine Soenda-eilanden","name_pl":"Małe Wyspy Sundajskie Zachodnie","name_pt":"Sonda Ocidental","name_ru":"Западная Нуса-Тенгара","name_sv":"Nusa Tenggara Barat","name_tr":"Batı Nusa Tenggara","name_vi":"Nusa Tenggara Barat","name_zh":"西努沙登加拉省","ne_id":1159308853,"name_he":"נוסה טנגגרה באראט","name_uk":"Західна Південно-Східна Нуса","name_ur":"مغربی نوسا ٹنگارہ","name_fa":"سوندای غربی","name_zht":"西努沙登加拉省","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[115.857324,-9.099023,119.134863,-8.089063],"geometry":{"type":"MultiPolygon","coordinates":[[[[117.546094,-8.151953],[117.665039,-8.148242],[117.669238,-8.189258],[117.556348,-8.367285],[117.533594,-8.367969],[117.49043,-8.34873],[117.505957,-8.307031],[117.482129,-8.239258],[117.490527,-8.183398],[117.546094,-8.151953]]],[[[119.036621,-8.157813],[119.078711,-8.140234],[119.097754,-8.13916],[119.12832,-8.177148],[119.134863,-8.19707],[119.106738,-8.223438],[119.073828,-8.238867],[119.02998,-8.240039],[119.020898,-8.199902],[119.036621,-8.157813]]],[[[116.401563,-8.204199],[116.646973,-8.282715],[116.6875,-8.304102],[116.718945,-8.336035],[116.734082,-8.386914],[116.64082,-8.613867],[116.514258,-8.820996],[116.559375,-8.854395],[116.586523,-8.886133],[116.377246,-8.929004],[116.289844,-8.906152],[116.239355,-8.912109],[116.026758,-8.873145],[115.874609,-8.825586],[115.857324,-8.787891],[115.869336,-8.742773],[115.914453,-8.758008],[116.031641,-8.765234],[116.076465,-8.744922],[116.077734,-8.611328],[116.061133,-8.437402],[116.219824,-8.295215],[116.304297,-8.237988],[116.401563,-8.204199]]],[[[119.043848,-8.456738],[119.04209,-8.560938],[119.0625,-8.599805],[119.101074,-8.628223],[119.129687,-8.668164],[119.104199,-8.709961],[119.078906,-8.730469],[119.00625,-8.749609],[118.971484,-8.741211],[118.939355,-8.713086],[118.90332,-8.702734],[118.821191,-8.712109],[118.745898,-8.735449],[118.75625,-8.773633],[118.818066,-8.79082],[118.836719,-8.808887],[118.832617,-8.833398],[118.808301,-8.838281],[118.72793,-8.805273],[118.673633,-8.811914],[118.478613,-8.856445],[118.426953,-8.855469],[118.397852,-8.813379],[118.399902,-8.703711],[118.378906,-8.674609],[118.233984,-8.807813],[118.189941,-8.840527],[118.131543,-8.855957],[118.070703,-8.850586],[117.86123,-8.931445],[117.79541,-8.920117],[117.731641,-8.919922],[117.50791,-9.00752],[117.387891,-9.031934],[117.326367,-9.033691],[117.265039,-9.026172],[117.210254,-9.034082],[117.16123,-9.069238],[117.061328,-9.099023],[116.958203,-9.076367],[116.871094,-9.046191],[116.788477,-9.006348],[116.767969,-8.955469],[116.77207,-8.894336],[116.806934,-8.810938],[116.783105,-8.664648],[116.80127,-8.597949],[116.835059,-8.532422],[116.88623,-8.508301],[116.953125,-8.503418],[117.063672,-8.444434],[117.164844,-8.367188],[117.223633,-8.374512],[117.356641,-8.428516],[117.43457,-8.434961],[117.56709,-8.426367],[117.621777,-8.45957],[117.643359,-8.535547],[117.672852,-8.563281],[117.712109,-8.582617],[117.806055,-8.711133],[117.893164,-8.704395],[117.969531,-8.728027],[118.104102,-8.650293],[118.205957,-8.652148],[118.234863,-8.591895],[118.174023,-8.527539],[118.100488,-8.475195],[118.061035,-8.464258],[118.017871,-8.467383],[117.979102,-8.458887],[117.814844,-8.34209],[117.766406,-8.279004],[117.738379,-8.20459],[117.755273,-8.149512],[117.868262,-8.100879],[117.920996,-8.089063],[118.11748,-8.122266],[118.150684,-8.15],[118.202832,-8.267285],[118.242383,-8.317773],[118.292383,-8.357227],[118.337891,-8.353516],[118.433203,-8.293262],[118.490625,-8.271484],[118.552148,-8.27041],[118.611914,-8.280664],[118.670605,-8.323438],[118.691797,-8.393457],[118.713867,-8.414941],[118.74834,-8.331152],[118.794238,-8.305859],[118.845703,-8.293066],[118.926172,-8.297656],[118.987793,-8.337695],[119.043848,-8.456738]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"IDN-556","diss_me":556,"iso_3166_2":"ID-SG","wikipedia":null,"iso_a2":"ID","adm0_sr":5,"name":"Sulawesi Tenggara","name_alt":"Sultra","name_local":null,"type":"Propinsi","type_en":"Province","code_local":null,"code_hasc":"ID.SG","note":null,"hasc_maybe":null,"region":null,"region_cod":null,"provnum_ne":26,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":null,"postal":"SG","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":17,"mapcolor9":6,"mapcolor13":11,"fips":"ID22","fips_alt":null,"woe_id":2345731,"woe_label":"South East Sulawesi, ID, Indonesia","woe_name":"Sulawesi Tenggara","latitude":-4.0746,"longitude":122.119,"sov_a3":"IDN","adm0_a3":"IDN","adm0_label":2,"admin":"Indonesia","geonunit":"Indonesia","gu_a3":"IDN","gn_id":1626230,"gn_name":"Provinsi Sulawesi Tenggara","gns_id":-2698080,"gns_name":"Sulawesi Tenggara, Provinsi","gn_level":1,"gn_region":null,"gn_a1_code":"ID.22","region_sub":null,"sub_code":null,"gns_level":1,"gns_lang":"ind","gns_adm1":"ID22","gns_region":null,"min_label":5,"max_label":10.1,"min_zoom":4.6,"wikidataid":"Q5075","name_ar":"سولاوسي الجنوبية الشرقية","name_bn":"দক্ষিণপূর্ব সুলাওয়েসি","name_de":"Sulawesi Tenggara","name_en":"Southeast Sulawesi","name_es":"Célebes Suroriental","name_fr":"Sulawesi du Sud-Est","name_el":"Νοτιοανατολικό Σουλαβέσι","name_hi":"आग्नेय सुलावेसी","name_hu":"Délkelet-Celebesz","name_id":"Sulawesi Tenggara","name_it":"Sulawesi Sudorientale","name_ja":"南東スラウェシ州","name_ko":"동남술라웨시","name_nl":"Zuidoost-Celebes","name_pl":"Celebes Południowo-Wschodni","name_pt":"Celebes do Sudeste","name_ru":"Юго-Восточный Сулавеси","name_sv":"Sulawesi Tenggara","name_tr":"Güneydoğu Sulawesi","name_vi":"Đông Nam Sulawesi","name_zh":"东南苏拉威西省","ne_id":1159308779,"name_he":"דרום-מזרח סולאווסי","name_uk":"Південно-Східне Сулавесі","name_ur":"جنوب مشرقی سولاویسی","name_fa":"سولاوسی جنوب شرقی","name_zht":"东南苏拉威西省","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[120.890918,-6.021582,124.05127,-2.873468],"geometry":{"type":"MultiPolygon","coordinates":[[[[124.022949,-5.902148],[124.05127,-5.97373],[124.04209,-6.021582],[124.005664,-5.966699],[123.972266,-5.939355],[123.975781,-5.880176],[124.022949,-5.902148]]],[[[123.550098,-5.331836],[123.540918,-5.29834],[123.542773,-5.271094],[123.560645,-5.249805],[123.626758,-5.271582],[123.622754,-5.373047],[123.582617,-5.367383],[123.550098,-5.331836]]],[[[123.051465,-5.156445],[123.149902,-5.224023],[123.201953,-5.27334],[123.187305,-5.333008],[123.120703,-5.393164],[123.043359,-5.419336],[122.985742,-5.393555],[122.96875,-5.405762],[122.934668,-5.436719],[122.908789,-5.477441],[122.916211,-5.519336],[122.850195,-5.637988],[122.812109,-5.671289],[122.733105,-5.634961],[122.684375,-5.666211],[122.64502,-5.663379],[122.584961,-5.544629],[122.586426,-5.488867],[122.642188,-5.42627],[122.642578,-5.381152],[122.670117,-5.330859],[122.731445,-5.261914],[122.766504,-5.210156],[122.767578,-5.177246],[122.793652,-5.052441],[122.803809,-5.000098],[122.821484,-4.944434],[122.849414,-4.83125],[122.85332,-4.618359],[122.946875,-4.442676],[123.038281,-4.394727],[123.074609,-4.386914],[123.068945,-4.433594],[123.179785,-4.551172],[123.203027,-4.766211],[123.195703,-4.822656],[123.139453,-4.739941],[123.119238,-4.723438],[123.103809,-4.739941],[123.083887,-4.749023],[123.055176,-4.748242],[123.017969,-4.831738],[123.014648,-4.910254],[122.986523,-4.963086],[122.97168,-5.138477],[122.981055,-5.185742],[123.024609,-5.162402],[123.051465,-5.156445]]],[[[122.739746,-4.675],[122.759863,-4.933887],[122.614062,-5.138672],[122.645117,-5.269434],[122.619336,-5.33584],[122.563867,-5.3875],[122.519727,-5.391211],[122.473633,-5.380664],[122.391992,-5.335449],[122.371289,-5.383105],[122.307031,-5.380957],[122.283105,-5.319531],[122.329004,-5.137695],[122.396289,-5.069824],[122.390039,-4.998535],[122.334473,-4.846582],[122.368945,-4.767188],[122.524414,-4.707129],[122.659961,-4.633887],[122.701953,-4.618652],[122.739746,-4.675]]],[[[122.041016,-5.158789],[122.061816,-5.221289],[122.042969,-5.437988],[121.97959,-5.464746],[121.859375,-5.350293],[121.808496,-5.256152],[121.820703,-5.20293],[121.856641,-5.15625],[121.87373,-5.144629],[121.866309,-5.095996],[121.913672,-5.072266],[121.965723,-5.075586],[121.999902,-5.14082],[122.041016,-5.158789]]],[[[122.969043,-4.02998],[123.024902,-3.980957],[123.211914,-3.997559],[123.246973,-4.040918],[123.242383,-4.112988],[123.144531,-4.233301],[123.076172,-4.227148],[122.994727,-4.148047],[122.970898,-4.061328],[122.969043,-4.02998]]],[[[122.348931,-3.246363],[122.317285,-3.275098],[122.312793,-3.382715],[122.262695,-3.527441],[122.251367,-3.57627],[122.25293,-3.62041],[122.288086,-3.661621],[122.329102,-3.694238],[122.385352,-3.711426],[122.43457,-3.739844],[122.529199,-3.852637],[122.578613,-3.882324],[122.609961,-3.923438],[122.606738,-3.984668],[122.649902,-4.020508],[122.689648,-4.084473],[122.750391,-4.1],[122.778809,-4.081641],[122.798242,-4.054199],[122.847949,-4.064551],[122.877344,-4.109082],[122.894336,-4.166309],[122.899805,-4.229395],[122.897363,-4.349121],[122.872266,-4.391992],[122.817578,-4.389941],[122.719727,-4.340723],[122.715039,-4.37627],[122.72168,-4.410742],[122.671875,-4.422168],[122.614746,-4.417383],[122.471387,-4.42207],[122.207129,-4.496387],[122.114258,-4.540234],[122.054199,-4.620117],[122.05,-4.675293],[122.073242,-4.791699],[122.038086,-4.832422],[121.916992,-4.847949],[121.748047,-4.816699],[121.645703,-4.785645],[121.588672,-4.75957],[121.514355,-4.68125],[121.486523,-4.581055],[121.541211,-4.28291],[121.556738,-4.244629],[121.583398,-4.210547],[121.611523,-4.156348],[121.618066,-4.092676],[121.537402,-4.014844],[121.41582,-3.984277],[121.312695,-3.919434],[120.914258,-3.555762],[120.891797,-3.520605],[120.890918,-3.460352],[120.906934,-3.404004],[121.037891,-3.205176],[121.054297,-3.16709],[121.070312,-3.010156],[121.067795,-2.917628],[121.16354,-2.873468],[121.277642,-2.878945],[121.475252,-3.019764],[121.598036,-2.972841],[121.781435,-2.985502],[122.057956,-3.092627],[122.207197,-3.111489],[122.348931,-3.246363]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"IDN-557","diss_me":557,"iso_3166_2":"ID-ST","wikipedia":null,"iso_a2":"ID","adm0_sr":5,"name":"Sulawesi Tengah","name_alt":"Sulteng","name_local":null,"type":"Propinsi","type_en":"Province","code_local":null,"code_hasc":"ID.ST","note":null,"hasc_maybe":null,"region":null,"region_cod":null,"provnum_ne":27,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":null,"postal":"ST","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":15,"mapcolor9":6,"mapcolor13":11,"fips":"ID21","fips_alt":null,"woe_id":2345730,"woe_label":"Central Sulawesi, ID, Indonesia","woe_name":"Sulawesi Tengah","latitude":-1.30097,"longitude":120.153,"sov_a3":"IDN","adm0_a3":"IDN","adm0_label":2,"admin":"Indonesia","geonunit":"Indonesia","gu_a3":"IDN","gn_id":1626231,"gn_name":"Provinsi Sulawesi Tengah","gns_id":-2698079,"gns_name":"Sulawesi Tengah, Provinsi","gn_level":1,"gn_region":null,"gn_a1_code":"ID.21","region_sub":null,"sub_code":null,"gns_level":1,"gns_lang":"ind","gns_adm1":"ID21","gns_region":null,"min_label":5,"max_label":10.1,"min_zoom":4.6,"wikidataid":"Q5065","name_ar":"سولاوسي الوسطى","name_bn":"মধ্য সুলাওয়েসি","name_de":"Sulawesi Tengah","name_en":"Central Sulawesi","name_es":"Célebes Central","name_fr":"Sulawesi central","name_el":"Κεντρικό Σουλαβέσι","name_hi":"मध्य सुलावेसी","name_hu":"Középső-Szulavézi","name_id":"Sulawesi Tengah","name_it":"Sulawesi Centrale","name_ja":"中部スラウェシ州","name_ko":"중앙술라웨시","name_nl":"Midden-Celebes","name_pl":"Celebes Środkowy","name_pt":"Celebes Central","name_ru":"Центральный Сулавеси","name_sv":"Sulawesi Tengah","name_tr":"Orta Sulawesi","name_vi":"Trung Sulawesi","name_zh":"中苏拉威西省","ne_id":1159308861,"name_he":"סולאווסי טנגה","name_uk":"Центральне Сулавесі","name_ur":"وسطی سولاویسی","name_fa":"سولاوسی مرکزی","name_zht":"中苏拉威西省","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[119.494495,-3.246363,123.866016,1.327637],"geometry":{"type":"MultiPolygon","coordinates":[[[[123.548535,-1.508203],[123.561328,-1.551855],[123.582031,-1.590918],[123.616406,-1.627441],[123.597559,-1.704297],[123.528613,-1.71084],[123.48252,-1.681445],[123.486621,-1.534863],[123.528516,-1.502832],[123.548535,-1.508203]]],[[[121.797363,-0.417676],[121.864355,-0.406836],[121.906836,-0.45127],[121.88125,-0.502637],[121.846875,-0.489844],[121.756055,-0.49082],[121.721777,-0.494727],[121.680957,-0.525],[121.655273,-0.526172],[121.672363,-0.478809],[121.749316,-0.407031],[121.797363,-0.417676]]],[[[123.434766,-1.236816],[123.489355,-1.259277],[123.526855,-1.286035],[123.547266,-1.337402],[123.511914,-1.447363],[123.44873,-1.498828],[123.366992,-1.507129],[123.328613,-1.443066],[123.274902,-1.437207],[123.237402,-1.576953],[123.220508,-1.59834],[123.172949,-1.616016],[123.130371,-1.577441],[123.122949,-1.556055],[123.18291,-1.492773],[123.150391,-1.304492],[123.105176,-1.339844],[122.984375,-1.510645],[122.89043,-1.587207],[122.858496,-1.548242],[122.81084,-1.432129],[122.832227,-1.283008],[122.908008,-1.182227],[122.972461,-1.18916],[123.158301,-1.15752],[123.212305,-1.171289],[123.234277,-1.233691],[123.198047,-1.287695],[123.237793,-1.389355],[123.338574,-1.254004],[123.434766,-1.236816]]],[[[123.070898,-1.854883],[123.08584,-1.814844],[123.106445,-1.786719],[123.1375,-1.772656],[123.152539,-1.816504],[123.078809,-1.898926],[123.070898,-1.854883]]],[[[123.783496,-1.87832],[123.848242,-1.955469],[123.866016,-1.995703],[123.803516,-1.994336],[123.777246,-1.918652],[123.783496,-1.87832]]],[[[119.566263,-0.835295],[119.653516,-0.72793],[119.711328,-0.680762],[119.786719,-0.763965],[119.844336,-0.861914],[119.845215,-0.773242],[119.829883,-0.686328],[119.77168,-0.483594],[119.721875,-0.088477],[119.73584,-0.051025],[119.786523,-0.056982],[119.838281,-0.022119],[119.865625,0.040088],[119.811719,0.186914],[119.809277,0.238672],[119.913281,0.445068],[119.998047,0.520215],[120.035156,0.566602],[120.056445,0.692529],[120.100586,0.740137],[120.156543,0.77417],[120.229785,0.86123],[120.269531,0.970801],[120.293848,0.97915],[120.322461,0.983154],[120.366504,0.887549],[120.416016,0.848682],[120.516602,0.817529],[120.602539,0.854395],[120.626465,0.902393],[120.658887,0.943652],[120.711035,0.98667],[120.754883,1.035645],[120.803613,1.149268],[120.867969,1.252832],[120.912109,1.288965],[120.96543,1.311816],[121.024609,1.325781],[121.081738,1.327637],[121.208398,1.2625],[121.281738,1.249805],[121.356738,1.254541],[121.404102,1.243604],[121.440039,1.214404],[121.472754,1.155518],[121.513281,1.104736],[121.550684,1.079687],[121.591797,1.067969],[121.867383,1.088525],[122.108203,1.031152],[122.197233,1.027605],[122.045657,0.943767],[121.993102,0.935292],[121.840398,0.970432],[121.507963,0.846925],[121.378462,0.860981],[121.30317,0.8261],[121.23537,0.724607],[121.160439,0.686057],[121.256713,0.586683],[121.333762,0.575624],[121.3334,0.482935],[121.012988,0.441699],[120.90918,0.446777],[120.700391,0.514697],[120.579004,0.52832],[120.459961,0.510303],[120.349023,0.449219],[120.307031,0.408252],[120.192285,0.268506],[120.127344,0.166553],[120.07832,0.039746],[120.036035,-0.089941],[120.013281,-0.196191],[120.012109,-0.307129],[120.031738,-0.432031],[120.062891,-0.555566],[120.097461,-0.649902],[120.240625,-0.868262],[120.269824,-0.899219],[120.425391,-0.960645],[120.517578,-1.039453],[120.605078,-1.258496],[120.667383,-1.370117],[120.728613,-1.371484],[120.796973,-1.363672],[120.91582,-1.377832],[121.033691,-1.406543],[121.148535,-1.339453],[121.212598,-1.2125],[121.276855,-1.118164],[121.431348,-0.938574],[121.519336,-0.855566],[121.575586,-0.828516],[121.632715,-0.840332],[121.681152,-0.887891],[121.737695,-0.925684],[121.853125,-0.945996],[121.969629,-0.933301],[122.093652,-0.875],[122.138086,-0.839258],[122.174902,-0.79375],[122.27998,-0.757031],[122.529688,-0.756641],[122.658789,-0.769824],[122.88877,-0.755176],[122.885547,-0.72207],[122.841113,-0.687012],[122.829492,-0.658887],[122.872266,-0.640723],[123.02041,-0.599805],[123.171484,-0.570703],[123.281445,-0.591504],[123.379687,-0.648535],[123.417383,-0.707422],[123.43418,-0.778223],[123.396289,-0.961621],[123.37793,-1.004102],[123.299609,-1.026074],[123.225781,-1.001758],[123.152734,-0.907031],[123.049414,-0.872363],[122.902832,-0.900977],[122.852539,-0.928125],[122.807422,-0.966016],[122.724609,-1.064258],[122.655664,-1.175195],[122.506641,-1.347852],[122.33418,-1.497852],[122.250684,-1.555273],[122.157617,-1.593945],[121.858594,-1.693262],[121.779883,-1.766992],[121.71875,-1.862793],[121.650977,-1.89541],[121.572656,-1.905762],[121.513867,-1.887793],[121.394727,-1.833789],[121.355469,-1.878223],[121.348828,-1.945996],[121.40752,-1.970117],[121.501953,-2.04502],[121.575,-2.150879],[121.621875,-2.173633],[121.725977,-2.208008],[121.769727,-2.240918],[121.848242,-2.331543],[121.971875,-2.542383],[122.013965,-2.656445],[122.082617,-2.749512],[122.291699,-2.907617],[122.30332,-2.952246],[122.29043,-3.004199],[122.306543,-3.051563],[122.38125,-3.142383],[122.399023,-3.200879],[122.348931,-3.246363],[122.207197,-3.111489],[122.057956,-3.092627],[121.781435,-2.985502],[121.598036,-2.972841],[121.772495,-2.800914],[121.787378,-2.670121],[121.742006,-2.610073],[121.638033,-2.557931],[121.448897,-2.388484],[121.349782,-2.348487],[120.804182,-2.238571],[120.624968,-2.104212],[120.553241,-2.025044],[120.447615,-1.866242],[120.292379,-1.900194],[120.15678,-1.860403],[120.048053,-1.861488],[119.87349,-1.955384],[119.822743,-1.871823],[119.846411,-1.791725],[119.822433,-1.729041],[119.724661,-1.612511],[119.692519,-1.461254],[119.641669,-1.393713],[119.494495,-1.329324],[119.526534,-1.223594],[119.601775,-1.15073],[119.572113,-1.052028],[119.566263,-0.835295]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"IDN-558","diss_me":558,"iso_3166_2":"ID-PA","wikipedia":null,"iso_a2":"ID","adm0_sr":4,"name":"Papua","name_alt":"New Guinea|Yos Sudarso or Frederick Hendrik|Waigeo|Supiori Biak|Yapen|Misool|Salawati|Batanta","name_local":null,"type":"Propinsi","type_en":"Province","code_local":null,"code_hasc":"ID.PA","note":null,"hasc_maybe":null,"region":null,"region_cod":null,"provnum_ne":32,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":null,"postal":"PA","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":5,"mapcolor9":6,"mapcolor13":11,"fips":"ID36","fips_alt":"ID09","woe_id":2345718,"woe_label":"Papua, ID, Indonesia","woe_name":"Papua","latitude":-4.10825,"longitude":138.689,"sov_a3":"IDN","adm0_a3":"IDN","adm0_label":2,"admin":"Indonesia","geonunit":"Indonesia","gu_a3":"IDN","gn_id":1643012,"gn_name":"Provinsi Papua","gns_id":-2679537,"gns_name":"Papua, Provinsi","gn_level":1,"gn_region":null,"gn_a1_code":"ID.36","region_sub":null,"sub_code":null,"gns_level":1,"gns_lang":"ind","gns_adm1":"ID36","gns_region":null,"min_label":5,"max_label":10.1,"min_zoom":4.6,"wikidataid":"Q5095","name_ar":"بابوا","name_bn":"পাপুয়া প্রদেশ","name_de":"Papua","name_en":"Papua","name_es":"Papúa","name_fr":"Papouasie","name_el":"Παπούα","name_hi":"पापुआ प्रान्त","name_hu":"Papua","name_id":"Papua","name_it":"Papua","name_ja":"パプア州","name_ko":"파푸아","name_nl":"Papoea","name_pl":"Papua","name_pt":"Papua","name_ru":"Папуа","name_sv":"Papua","name_tr":"Papua","name_vi":"Papua","name_zh":"巴布亚省","ne_id":1159308857,"name_he":"פפואה","name_uk":"Папуа","name_ur":"پاپوا","name_fa":"پاپوآ","name_zht":"巴布亚省","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[134.254627,-9.118734,140.976172,-0.651367],"geometry":{"type":"MultiPolygon","coordinates":[[[[138.796191,-8.173633],[138.897656,-8.3375],[138.895117,-8.388672],[138.845508,-8.401758],[138.594238,-8.371484],[138.567188,-8.330273],[138.563379,-8.309082],[138.620996,-8.268457],[138.67666,-8.199219],[138.762695,-8.173438],[138.796191,-8.173633]]],[[[136.718555,-1.733984],[136.816699,-1.753809],[136.892578,-1.799707],[136.708594,-1.837695],[136.621875,-1.873047],[136.46084,-1.89043],[136.326074,-1.872461],[136.228125,-1.893652],[136.192578,-1.85918],[136.049219,-1.824121],[135.865723,-1.752148],[135.487598,-1.668359],[135.469727,-1.616211],[135.474219,-1.591797],[135.869141,-1.641992],[135.976172,-1.635547],[136.201563,-1.65498],[136.389648,-1.721582],[136.718555,-1.733984]]],[[[134.956738,-1.030566],[134.996289,-1.034082],[134.965332,-1.116016],[134.917383,-1.134277],[134.861719,-1.11416],[134.808887,-1.037598],[134.82793,-0.978809],[134.889258,-0.938477],[134.94082,-0.978906],[134.956738,-1.030566]]],[[[136.282617,-1.064648],[136.375293,-1.094043],[136.305371,-1.173145],[136.164746,-1.214746],[136.110352,-1.216797],[136.002539,-1.169727],[135.915039,-1.178418],[135.83877,-1.119434],[135.825586,-1.02832],[135.74707,-0.823047],[135.645703,-0.881934],[135.523828,-0.787305],[135.491113,-0.785059],[135.483398,-0.801074],[135.431641,-0.768848],[135.387695,-0.704883],[135.383008,-0.651367],[135.595703,-0.69043],[135.673242,-0.688281],[135.749023,-0.73252],[135.841211,-0.711621],[135.893555,-0.725781],[136.06875,-0.877734],[136.154688,-0.97832],[136.282617,-1.064648]]],[[[138.769824,-7.39043],[138.801953,-7.414648],[138.899414,-7.511621],[138.962598,-7.587988],[138.989063,-7.696094],[138.892969,-7.882129],[138.785938,-8.059082],[138.611719,-8.19834],[138.535352,-8.273633],[138.296289,-8.405176],[137.982813,-8.381934],[137.871875,-8.379688],[137.687695,-8.411719],[137.650391,-8.386133],[137.685156,-8.262207],[137.83252,-7.932227],[138.00752,-7.641602],[138.081836,-7.566211],[138.185352,-7.495313],[138.295508,-7.438477],[138.543848,-7.37959],[138.769824,-7.39043]]],[[[134.869251,-4.261947],[135.265108,-3.759977],[134.258348,-3.399482],[134.254627,-3.307705],[134.332142,-3.189934],[134.450688,-3.0779],[134.445365,-3.023898],[134.679266,-2.835502],[134.702148,-2.933594],[134.769824,-2.944043],[134.843359,-2.90918],[134.855371,-2.978809],[134.852734,-3.107617],[134.886816,-3.209863],[134.917188,-3.249902],[135.037402,-3.333105],[135.092188,-3.348535],[135.251563,-3.368555],[135.371582,-3.374902],[135.486621,-3.345117],[135.560742,-3.26875],[135.627734,-3.186035],[135.85918,-2.995313],[135.926172,-2.904102],[135.990723,-2.764258],[136.012988,-2.734277],[136.243262,-2.583105],[136.269531,-2.529492],[136.302539,-2.425684],[136.352441,-2.325195],[136.389941,-2.27334],[136.612305,-2.224316],[136.843262,-2.197656],[137.07207,-2.105078],[137.171094,-2.025488],[137.175781,-1.973145],[137.125488,-1.88125],[137.123438,-1.840918],[137.176465,-1.802148],[137.380566,-1.685645],[137.616602,-1.56582],[137.80625,-1.483203],[137.911133,-1.483789],[138.007812,-1.556543],[138.110938,-1.615918],[138.649805,-1.791113],[138.736133,-1.845508],[138.811426,-1.917773],[138.919141,-1.967871],[139.039453,-1.99209],[139.148828,-2.038867],[139.252637,-2.099219],[139.481836,-2.211816],[139.789551,-2.348242],[139.868359,-2.356445],[140.15459,-2.35],[140.204004,-2.375684],[140.250977,-2.412012],[140.294629,-2.42041],[140.622559,-2.445801],[140.673047,-2.47207],[140.720508,-2.508105],[140.747461,-2.607129],[140.973496,-2.609785],[140.973545,-2.803394],[140.973649,-3.00669],[140.973752,-3.209985],[140.973855,-3.41328],[140.973959,-3.616575],[140.97401,-3.81987],[140.974062,-4.023165],[140.974165,-4.22646],[140.974269,-4.429755],[140.974321,-4.63305],[140.974372,-4.836345],[140.974476,-5.03964],[140.974579,-5.242935],[140.974631,-5.446231],[140.974682,-5.649526],[140.974786,-5.852821],[140.974889,-6.056116],[140.974941,-6.259411],[140.974992,-6.346124],[140.944038,-6.452267],[140.874637,-6.611482],[140.862338,-6.740053],[140.919543,-6.840047],[140.975199,-6.905366],[140.975199,-7.072591],[140.975302,-7.275886],[140.975406,-7.479181],[140.975509,-7.682476],[140.975561,-7.885772],[140.975612,-8.089067],[140.975716,-8.292362],[140.975819,-8.495657],[140.975871,-8.698952],[140.975922,-8.902247],[140.976172,-9.118734],[140.924609,-9.085059],[140.786523,-8.97373],[140.661523,-8.846777],[140.581055,-8.72832],[140.489746,-8.62041],[140.10166,-8.300586],[140.00293,-8.195508],[139.983301,-8.166504],[139.992578,-8.139355],[140.037402,-8.083984],[140.116992,-7.92373],[140.033789,-8.022754],[139.934766,-8.101172],[139.79082,-8.106348],[139.649414,-8.125391],[139.518555,-8.172754],[139.385645,-8.189063],[139.319141,-8.16582],[139.279102,-8.106934],[139.258301,-8.046582],[139.248828,-7.982422],[139.192969,-8.086133],[139.083203,-8.142871],[138.933496,-8.262402],[138.890625,-8.237793],[138.864746,-8.192285],[138.856152,-8.145117],[138.885059,-8.094727],[138.905469,-8.041211],[138.935938,-7.913086],[139.003027,-7.837598],[139.045703,-7.691406],[139.073633,-7.639258],[139.087988,-7.587207],[139.048926,-7.52832],[138.983008,-7.508203],[138.937891,-7.472461],[138.885547,-7.373242],[138.853125,-7.339648],[138.793652,-7.298926],[138.747949,-7.251465],[138.798438,-7.215723],[138.864844,-7.201367],[138.919336,-7.203613],[139.017969,-7.225879],[139.0625,-7.227148],[139.176855,-7.19043],[139.112598,-7.201758],[139.049023,-7.200586],[138.845703,-7.136328],[138.72002,-7.069824],[138.601367,-6.936523],[138.600195,-6.910742],[138.683789,-6.886523],[138.864551,-6.858398],[138.808496,-6.79043],[138.72666,-6.731152],[138.698145,-6.625684],[138.642188,-6.560449],[138.521582,-6.453809],[138.438672,-6.343359],[138.368359,-6.118555],[138.296289,-5.949023],[138.313867,-5.8875],[138.374609,-5.843652],[138.282813,-5.838574],[138.199609,-5.807031],[138.243555,-5.724414],[138.339648,-5.675684],[138.252148,-5.688184],[138.166504,-5.712012],[138.127441,-5.716504],[138.087109,-5.70918],[138.065918,-5.675977],[138.063086,-5.628906],[138.075586,-5.545801],[138.06084,-5.465234],[137.984961,-5.427637],[137.922266,-5.370117],[137.886816,-5.348828],[137.840332,-5.350488],[137.795215,-5.312012],[137.759082,-5.256152],[137.306641,-5.014355],[137.279785,-4.94541],[137.237891,-4.975684],[137.195898,-4.99043],[137.14375,-4.950781],[137.089258,-4.924414],[137.029688,-4.928711],[136.974609,-4.907324],[136.916992,-4.895117],[136.856836,-4.893164],[136.618848,-4.81875],[136.39375,-4.70127],[136.210645,-4.650684],[136.097461,-4.584766],[135.979688,-4.530859],[135.716602,-4.478418],[135.450195,-4.443066],[135.353906,-4.441797],[135.273145,-4.453125],[135.195605,-4.450684],[134.869251,-4.261947]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"IND-20011","diss_me":20011,"iso_3166_2":"IN-TG","wikipedia":null,"iso_a2":"IN","adm0_sr":1,"name":"Telangana","name_alt":null,"name_local":null,"type":"State","type_en":"State","code_local":null,"code_hasc":"IN.TG","note":null,"hasc_maybe":null,"region":"South","region_cod":null,"provnum_ne":null,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":null,"postal":"TG","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":9,"mapcolor9":2,"mapcolor13":2,"fips":"IN40","fips_alt":null,"woe_id":null,"woe_label":null,"woe_name":null,"latitude":17.4273126817,"longitude":78.468441094,"sov_a3":"IND","adm0_a3":"IND","adm0_label":2,"admin":"India","geonunit":"India","gu_a3":"IND","gn_id":1254788,"gn_name":null,"gns_id":null,"gns_name":null,"gn_level":null,"gn_region":null,"gn_a1_code":"IN.TG","region_sub":null,"sub_code":null,"gns_level":null,"gns_lang":null,"gns_adm1":"IN40","gns_region":null,"min_label":4.6,"max_label":10.1,"min_zoom":4.6,"wikidataid":"Q677037","name_ar":"تيلانغانا","name_bn":"তেলেঙ্গানা","name_de":"Telangana","name_en":"Telangana","name_es":"Telangana","name_fr":"Telangana","name_el":"Τελανγκάνα","name_hi":"तेलंगाना","name_hu":"Telangána","name_id":"Telangana","name_it":"Telangana","name_ja":"テランガナ","name_ko":"텔랑가나","name_nl":"Telangana","name_pl":"Telangana","name_pt":"Telangana","name_ru":"Телангана","name_sv":"Telangana","name_tr":"Telangana","name_vi":"Telangana","name_zh":"特伦甘纳邦","ne_id":1730011373,"name_he":"טלנגאנה","name_uk":"Телангана","name_ur":"تیلنگانا","name_fa":"تلنگانا","name_zht":"泰倫加納邦","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[77.257435,15.832953,81.775781,19.866152],"geometry":{"type":"Polygon","coordinates":[[[77.446467,15.95298],[77.483674,16.002073],[77.490805,16.261592],[77.53318,16.361043],[77.293711,16.406518],[77.257435,16.449358],[77.370916,16.524289],[77.431998,16.593613],[77.410914,16.720582],[77.433444,16.934755],[77.465174,17.042578],[77.37443,17.222567],[77.599326,17.486917],[77.582583,17.578772],[77.492872,17.57761],[77.411534,17.630785],[77.463623,17.713415],[77.525429,17.746281],[77.500314,17.812298],[77.61979,17.92565],[77.62134,17.986835],[77.562946,18.070784],[77.599946,18.114838],[77.551163,18.307875],[77.502588,18.381591],[77.592298,18.548145],[77.679941,18.569978],[77.703402,18.669119],[77.781123,18.703768],[77.839311,18.80955],[77.912072,18.835362],[77.751978,19.045892],[77.833627,19.121443],[77.855021,19.228362],[77.92003,19.331663],[77.992377,19.322749],[78.063897,19.264096],[78.16787,19.264096],[78.174381,19.374657],[78.240114,19.460182],[78.302642,19.482765],[78.333441,19.643272],[78.383567,19.684535],[78.321762,19.863258],[78.383257,19.866152],[78.477722,19.799128],[78.533739,19.824656],[78.711713,19.774349],[78.780029,19.776674],[78.847518,19.724533],[78.87253,19.650119],[79.024346,19.541525],[79.058876,19.547063],[79.197731,19.461883],[79.266002,19.589555],[79.420403,19.536379],[79.538949,19.533821],[79.735423,19.603352],[79.795781,19.594101],[79.864924,19.50899],[79.93107,19.482532],[79.965486,19.401917],[79.930553,19.211928],[79.943782,19.169218],[79.861823,19.081084],[79.93355,19.053127],[79.960319,18.867117],[80.001866,18.785624],[80.090543,18.69749],[80.270377,18.71369],[80.319883,18.642247],[80.409077,18.588866],[80.502611,18.59995],[80.583433,18.541375],[80.696191,18.412287],[80.772259,18.232712],[80.852357,18.196357],[80.93752,18.086312],[80.978964,17.963943],[80.985579,17.840462],[81.044904,17.776073],[81.14774,17.83656],[81.245201,17.803694],[81.39403,17.806691],[81.578411,17.79695],[81.758969,17.908933],[81.775781,17.833207],[81.628586,17.763421],[81.535249,17.637689],[81.469526,17.420487],[81.408339,17.370643],[81.214333,17.323635],[81.144193,17.249538],[80.99048,17.21818],[80.893078,17.155634],[80.829519,17.046021],[80.669698,17.079924],[80.590939,17.139791],[80.501756,17.10797],[80.38431,16.975982],[80.474283,16.936564],[80.586234,16.933936],[80.506146,16.792487],[80.350986,16.862136],[80.280555,16.997387],[80.220451,17.033251],[80.077643,16.972555],[80.002428,16.871004],[80.073334,16.822862],[80.042979,16.738552],[79.9581,16.630439],[79.882335,16.703233],[79.751964,16.723741],[79.720876,16.689032],[79.504324,16.641872],[79.406261,16.587226],[79.265636,16.569607],[79.213471,16.493232],[79.233409,16.330512],[79.214773,16.244493],[79.160574,16.219346],[79.021658,16.247138],[78.839122,16.124823],[78.839447,16.066718],[78.73406,16.0303],[78.499766,16.093777],[78.399994,16.083441],[78.255951,16.005683],[78.235281,15.950466],[78.087494,15.832953],[77.88795,15.919135],[77.849864,15.893866],[77.641205,15.900662],[77.446467,15.95298]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"IND-20012","diss_me":20012,"iso_3166_2":"IN-LA","wikipedia":null,"iso_a2":"IN","adm0_sr":1,"name":"Ladakh","name_alt":null,"name_local":null,"type":"Union Territory","type_en":"Union Territory","code_local":null,"code_hasc":"IN.LA","note":null,"hasc_maybe":null,"region":null,"region_cod":null,"provnum_ne":null,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":null,"postal":"LA","area_sqkm":null,"sameascity":-99,"labelrank":2,"name_len":6,"mapcolor9":2,"mapcolor13":2,"fips":"IN42","fips_alt":null,"woe_id":null,"woe_label":null,"woe_name":null,"latitude":34.0255867581,"longitude":77.4806135651,"sov_a3":"IND","adm0_a3":"IND","adm0_label":2,"admin":"India","geonunit":"India","gu_a3":"IND","gn_id":12096464,"gn_name":null,"gns_id":null,"gns_name":null,"gn_level":null,"gn_region":null,"gn_a1_code":"IN.LA","region_sub":null,"sub_code":null,"gns_level":null,"gns_lang":null,"gns_adm1":null,"gns_region":null,"min_label":4.6,"max_label":10.1,"min_zoom":4.6,"wikidataid":"Q200667","name_ar":"لداخ","name_bn":"লাদাখ","name_de":"Ladakh","name_en":"Ladakh","name_es":"Ladakh","name_fr":"Ladakh","name_el":"Λαντάχ","name_hi":"लद्दाख़","name_hu":"Ladak","name_id":"Ladakh","name_it":"Ladakh","name_ja":"ラダック","name_ko":"라다크","name_nl":"Ladakh","name_pl":"Ladakh","name_pt":"Ladaque","name_ru":"Ладакх","name_sv":"Ladakh","name_tr":"Ladakh","name_vi":"Ladakh","name_zh":"拉达克","ne_id":1730014023,"name_he":"לדאק","name_uk":"Ладакх","name_ur":"لداخ","name_fa":"لداخ","name_zht":"拉達克","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":"Unrecognized","FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[75.347547,32.35818,79.499106,35.495922],"geometry":{"type":"Polygon","coordinates":[[[77.799365,35.495922],[77.810889,35.484527],[77.851507,35.460782],[77.894915,35.448999],[77.945868,35.471634],[78.009482,35.490237],[78.04271,35.479798],[78.047412,35.449387],[78.009172,35.306941],[78.01222,35.251027],[78.075731,35.13491],[78.158465,34.946498],[78.236186,34.769816],[78.281971,34.653932],[78.32693,34.606389],[78.515756,34.557943],[78.670785,34.518152],[78.763079,34.452936],[78.86483,34.390356],[78.936402,34.35196],[78.947317,34.335972],[78.970095,34.302609],[78.976916,34.258116],[78.970612,34.228195],[78.931751,34.188947],[78.753054,34.087687],[78.731763,34.055544],[78.726647,34.013402],[78.761735,33.887596],[78.78375,33.808789],[78.789951,33.650349],[78.801836,33.499713],[78.865088,33.431086],[78.916713,33.386774],[78.948494,33.346544],[79.012625,33.291457],[79.066523,33.250374],[79.112515,33.226267],[79.11688,33.225251],[79.355084,33.16981],[79.376168,33.146298],[79.340201,33.034005],[79.334827,32.975507],[79.435906,32.834043],[79.499106,32.73007],[79.493525,32.688289],[79.469858,32.643382],[79.384592,32.570054],[79.291574,32.506647],[79.219382,32.501066],[79.218768,32.501018],[79.169876,32.497216],[79.127398,32.47577],[79.06704,32.388178],[78.99769,32.365157],[78.918987,32.35818],[78.837907,32.411975],[78.771244,32.46807],[78.753467,32.499257],[78.736724,32.558375],[78.700861,32.597003],[78.631563,32.578942],[78.526349,32.570777],[78.412558,32.557703],[78.391732,32.544732],[78.39028,32.527268],[78.270396,32.504166],[78.304089,32.59615],[78.374679,32.648783],[78.366617,32.76521],[78.253859,32.697901],[78.114643,32.667722],[78.008913,32.61031],[77.93853,32.695343],[77.928918,32.762445],[77.857915,32.873007],[77.721075,33.012636],[77.538968,32.918353],[77.348695,32.867245],[77.135788,32.92675],[76.956058,33.02509],[76.739843,33.197406],[76.646566,33.352107],[76.488031,33.502231],[76.246099,33.574094],[76.235838,33.728794],[76.166381,33.873232],[76.024367,33.982089],[75.879592,33.963696],[75.741656,34.066434],[75.6634,34.19923],[75.584564,34.210116],[75.469487,34.280052],[75.374549,34.370981],[75.347547,34.572708],[75.45248,34.536704],[75.605546,34.502752],[75.709209,34.503062],[75.862067,34.560268],[75.93829,34.612565],[76.041075,34.669925],[76.172436,34.667729],[76.45676,34.756122],[76.509987,34.740877],[76.594426,34.735865],[76.696332,34.786921],[76.749042,34.847537],[76.757517,34.877846],[76.782942,34.900196],[76.89172,34.93872],[77.000913,34.991999],[77.030678,35.062356],[77.04861,35.109899],[77.168499,35.171549],[77.292988,35.235524],[77.423419,35.3026],[77.571576,35.378771],[77.696943,35.443237],[77.799365,35.495922]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"IND-2427","diss_me":2427,"iso_3166_2":"IN-CH","wikipedia":null,"iso_a2":"IN","adm0_sr":1,"name":"Chandigarh","name_alt":null,"name_local":null,"type":"Union Territor","type_en":"Union Territory","code_local":null,"code_hasc":"IN.CH","note":null,"hasc_maybe":null,"region":"North","region_cod":null,"provnum_ne":20057,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":null,"postal":"CH","area_sqkm":0,"sameascity":9,"labelrank":9,"name_len":10,"mapcolor9":2,"mapcolor13":2,"fips":"IN05","fips_alt":null,"woe_id":20070456,"woe_label":"Chandigarh, IN, India","woe_name":"Chandigarh","latitude":30.7452,"longitude":76.7605,"sov_a3":"IND","adm0_a3":"IND","adm0_label":2,"admin":"India","geonunit":"India","gu_a3":"IND","gn_id":1274744,"gn_name":"Union Territory of Chandigarh","gns_id":-2092772,"gns_name":"Chandigarh, Union Territory of","gn_level":1,"gn_region":null,"gn_a1_code":"IN.05","region_sub":null,"sub_code":null,"gns_level":1,"gns_lang":"nld","gns_adm1":"IN05","gns_region":null,"min_label":4.6,"max_label":10.1,"min_zoom":4.6,"wikidataid":"Q43433","name_ar":"شانديغار","name_bn":"চণ্ডীগড়","name_de":"Chandigarh","name_en":"Chandigarh","name_es":"Chandigarh","name_fr":"Chandigarh","name_el":"Τσαντιγκάρ","name_hi":"चण्डीगढ़","name_hu":"Csandígarh","name_id":"Chandigarh","name_it":"Chandigarh","name_ja":"チャンディーガル","name_ko":"찬디가르","name_nl":"Chandigarh","name_pl":"Czandigarh","name_pt":"Chandigarh","name_ru":"Чандигарх","name_sv":"Chandigarh","name_tr":"Çhandigarh","name_vi":"Chandigarh","name_zh":"昌迪加尔","ne_id":1159311873,"name_he":"צ'אנדיגאר","name_uk":"Чандігарх","name_ur":"چندی گڑھ","name_fa":"چندیگر","name_zht":"昌迪加爾","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[76.703773,30.677404,76.82728,30.789129],"geometry":{"type":"Polygon","coordinates":[[[76.814567,30.789129],[76.82728,30.680712],[76.775603,30.677404],[76.703773,30.781403],[76.814567,30.789129]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"IND-2428","diss_me":2428,"iso_3166_2":"IN-DL","wikipedia":null,"iso_a2":"IN","adm0_sr":1,"name":"Delhi","name_alt":null,"name_local":null,"type":"Union Territor","type_en":"Union Territory","code_local":null,"code_hasc":"IN.DL","note":null,"hasc_maybe":null,"region":"Central","region_cod":null,"provnum_ne":20060,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":null,"postal":"DL","area_sqkm":0,"sameascity":9,"labelrank":9,"name_len":5,"mapcolor9":2,"mapcolor13":2,"fips":"IN07","fips_alt":null,"woe_id":20070458,"woe_label":"Delhi, IN, India","woe_name":"Delhi","latitude":28.69,"longitude":77.0856,"sov_a3":"IND","adm0_a3":"IND","adm0_label":2,"admin":"India","geonunit":"India","gu_a3":"IND","gn_id":1273293,"gn_name":"National Capital Territory of Delhi","gns_id":-2094231,"gns_name":"Delhi, National Capital Territory of","gn_level":1,"gn_region":null,"gn_a1_code":"IN.07","region_sub":null,"sub_code":null,"gns_level":1,"gns_lang":"nld","gns_adm1":"IN07","gns_region":null,"min_label":4.6,"max_label":10.1,"min_zoom":4.6,"wikidataid":"Q1353","name_ar":"دلهي","name_bn":"দিল্লি","name_de":"Delhi","name_en":"Delhi","name_es":"Delhi","name_fr":"Delhi","name_el":"Δελχί","name_hi":"दिल्ली","name_hu":"Delhi","name_id":"Delhi","name_it":"Delhi","name_ja":"デリー","name_ko":"델리","name_nl":"Delhi","name_pl":"Delhi","name_pt":"Deli","name_ru":"Дели","name_sv":"Delhi","name_tr":"Delhi","name_vi":"Delhi","name_zh":"德里","ne_id":1159311875,"name_he":"דלהי","name_uk":"Делі","name_ur":"دہلی","name_fa":"دهلی","name_zht":"德里","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[76.836892,28.432606,77.337533,28.882088],"geometry":{"type":"Polygon","coordinates":[[[77.327404,28.519707],[77.269734,28.510276],[77.193562,28.432606],[77.100545,28.475601],[77.070883,28.528569],[76.872652,28.519422],[76.836892,28.587222],[76.947273,28.696156],[76.936524,28.81465],[77.067989,28.882088],[77.200797,28.876791],[77.227152,28.783592],[77.306941,28.720599],[77.337533,28.626186],[77.327404,28.519707]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"IND-2429","diss_me":2429,"iso_3166_2":"IN-HP","wikipedia":null,"iso_a2":"IN","adm0_sr":1,"name":"Himachal Pradesh","name_alt":null,"name_local":null,"type":"Union Territor","type_en":"Union Territory","code_local":null,"code_hasc":"IN.HP","note":null,"hasc_maybe":null,"region":"North","region_cod":null,"provnum_ne":20068,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":null,"postal":"HP","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":16,"mapcolor9":2,"mapcolor13":2,"fips":"IN11","fips_alt":null,"woe_id":2345745,"woe_label":"Himachal Pradesh, IN, India","woe_name":"Himachal Pradesh","latitude":31.6755,"longitude":77.2875,"sov_a3":"IND","adm0_a3":"IND","adm0_label":2,"admin":"India","geonunit":"India","gu_a3":"IND","gn_id":1270101,"gn_name":"State of Himachal Pradesh","gns_id":-2097441,"gns_name":"Himachal Pradesh","gn_level":1,"gn_region":null,"gn_a1_code":"IN.11","region_sub":null,"sub_code":null,"gns_level":1,"gns_lang":"nld","gns_adm1":"IN11","gns_region":null,"min_label":4.6,"max_label":10.1,"min_zoom":4.6,"wikidataid":"Q1177","name_ar":"هيماجل برديش","name_bn":"হিমাচল প্রদেশ","name_de":"Himachal Pradesh","name_en":"Himachal Pradesh","name_es":"Himachal Pradesh","name_fr":"Himachal Pradesh","name_el":"Χιμάτσαλ Πραντές","name_hi":"हिमाचल प्रदेश","name_hu":"Himácsal Prades","name_id":"Himachal Pradesh","name_it":"Himachal Pradesh","name_ja":"ヒマーチャル・プラデーシュ州","name_ko":"히마찰프라데시","name_nl":"Himachal Pradesh","name_pl":"Himachal Pradesh","name_pt":"Himachal Pradesh","name_ru":"Химачал-Прадеш","name_sv":"Himachal Pradesh","name_tr":"Himaçhal Pradeş","name_vi":"Himachal Pradesh","name_zh":"喜马偕尔邦","ne_id":1159311877,"name_he":"הימאצ'ל פרדש","name_uk":"Хімачал-Прадеш","name_ur":"ہماچل پردیش","name_fa":"هیماچال پرادش","name_zht":"喜馬偕爾邦","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[75.601618,30.382926,78.993349,33.23146],"geometry":{"type":"Polygon","coordinates":[[[78.39028,32.527268],[78.389665,32.519876],[78.417467,32.466701],[78.441342,32.397351],[78.455294,32.300328],[78.486093,32.236224],[78.48739,32.233521],[78.495912,32.21576],[78.67771,32.023033],[78.725562,31.98381],[78.735484,31.957946],[78.719671,31.887666],[78.716727,31.88026],[78.687011,31.805501],[78.693471,31.740363],[78.753881,31.668352],[78.802973,31.61807],[78.755069,31.550271],[78.726699,31.471826],[78.758635,31.436583],[78.743494,31.323799],[78.757808,31.302482],[78.791656,31.293646],[78.84293,31.301264],[78.844521,31.301501],[78.869351,31.314989],[78.993349,31.163395],[78.869533,31.121977],[78.792741,31.20701],[78.581695,31.231066],[78.500976,31.219568],[78.368685,31.290028],[78.284245,31.290338],[78.039712,31.17218],[77.941114,31.172904],[77.806032,31.050508],[77.789082,30.930645],[77.705779,30.791454],[77.812956,30.521057],[77.585063,30.382926],[77.303427,30.460312],[77.147777,30.538679],[77.150258,30.663994],[77.115118,30.722104],[77.001533,30.777347],[76.905725,30.899303],[76.768162,30.907597],[76.645172,30.999271],[76.561146,31.276722],[76.433505,31.317804],[76.373561,31.419245],[76.275376,31.310441],[76.158484,31.338553],[76.07053,31.564172],[75.923252,31.806276],[75.964283,31.848754],[75.879741,31.97239],[75.706521,32.049827],[75.601618,32.068947],[75.639445,32.146849],[75.622909,32.258522],[75.692672,32.272268],[75.911677,32.431354],[75.847391,32.516749],[75.922632,32.617338],[75.9093,32.772703],[75.804913,32.898612],[75.826411,32.938067],[75.972448,32.911041],[76.100813,33.01305],[76.215948,33.051084],[76.294289,33.147899],[76.396712,33.197716],[76.558562,33.23146],[76.625949,33.189292],[76.739843,33.197406],[76.956058,33.02509],[77.135788,32.92675],[77.348695,32.867245],[77.538968,32.918353],[77.721075,33.012636],[77.857915,32.873007],[77.928918,32.762445],[77.93853,32.695343],[78.008913,32.61031],[78.114643,32.667722],[78.253859,32.697901],[78.366617,32.76521],[78.374679,32.648783],[78.304089,32.59615],[78.270396,32.504166],[78.39028,32.527268]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"IND-2430","diss_me":2430,"iso_3166_2":"IN-HR","wikipedia":null,"iso_a2":"IN","adm0_sr":1,"name":"Haryana","name_alt":null,"name_local":null,"type":"State","type_en":"State","code_local":null,"code_hasc":"IN.HR","note":null,"hasc_maybe":null,"region":"Central","region_cod":null,"provnum_ne":20052,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":null,"postal":"HR","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":7,"mapcolor9":2,"mapcolor13":2,"fips":"IN10","fips_alt":null,"woe_id":2345744,"woe_label":"Haryana, IN, India","woe_name":"Haryana","latitude":29.1003,"longitude":76.271,"sov_a3":"IND","adm0_a3":"IND","adm0_label":2,"admin":"India","geonunit":"India","gu_a3":"IND","gn_id":1270260,"gn_name":"State of Haryana","gns_id":-2097281,"gns_name":"Haryana, State of","gn_level":1,"gn_region":null,"gn_a1_code":"IN.10","region_sub":null,"sub_code":null,"gns_level":1,"gns_lang":"nld","gns_adm1":"IN10","gns_region":null,"min_label":4.6,"max_label":10.1,"min_zoom":4.6,"wikidataid":"Q1174","name_ar":"هاريانا","name_bn":"হরিয়ানা","name_de":"Haryana","name_en":"Haryana","name_es":"Haryana","name_fr":"Haryana","name_el":"Χαρυάνα","name_hi":"हरियाणा","name_hu":"Harijána","name_id":"Haryana","name_it":"Haryana","name_ja":"ハリヤーナー州","name_ko":"하리아나","name_nl":"Haryana","name_pl":"Hariana","name_pt":"Haryana","name_ru":"Харьяна","name_sv":"Haryana","name_tr":"Haryana","name_vi":"Haryana","name_zh":"哈里亚纳邦","ne_id":1159311881,"name_he":"הריאנה","name_uk":"Хар'яна","name_ur":"ہریانہ","name_fa":"هاریانا","name_zht":"哈里亞納邦","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[74.466494,27.679293,77.585063,30.907597],"geometry":{"type":"Polygon","coordinates":[[[77.200797,28.876791],[77.067989,28.882088],[76.936524,28.81465],[76.947273,28.696156],[76.836892,28.587222],[76.872652,28.519422],[77.070883,28.528569],[77.100545,28.475601],[77.193562,28.432606],[77.269734,28.510276],[77.327404,28.519707],[77.497006,28.393254],[77.466517,28.315223],[77.528942,28.25347],[77.468068,28.046815],[77.526462,27.974468],[77.47985,27.898039],[77.424453,27.890753],[77.280689,27.80944],[77.040807,27.807295],[76.973007,27.679293],[76.900867,27.73438],[76.940555,27.852099],[76.920918,28.033535],[76.940555,28.122987],[76.856632,28.228975],[76.646826,28.085521],[76.657988,28.016972],[76.553085,27.971239],[76.453453,28.162829],[76.36798,28.15637],[76.266694,28.077485],[76.163341,28.0579],[76.180084,27.909563],[76.215018,27.841505],[75.99994,27.842745],[75.931521,27.91809],[75.992809,28.050691],[75.961906,28.139497],[76.032496,28.187815],[76.026192,28.262229],[75.887079,28.403848],[75.698563,28.520559],[75.593557,28.642671],[75.485966,28.926839],[75.515009,28.996473],[75.452067,29.023862],[75.392949,29.105976],[75.391502,29.252685],[75.328353,29.296222],[75.249702,29.256406],[75.106558,29.238216],[74.969616,29.284337],[74.90719,29.378465],[74.821408,29.402934],[74.758569,29.364254],[74.612841,29.332809],[74.537084,29.441382],[74.602093,29.470424],[74.574808,29.589693],[74.602713,29.726351],[74.506285,29.73679],[74.466494,29.798931],[74.547006,29.860813],[74.516517,29.94719],[74.650669,29.914066],[74.710717,29.968378],[74.823371,29.984992],[74.90347,29.954839],[74.99566,29.872983],[75.072762,29.891147],[75.105214,29.821384],[75.187897,29.834743],[75.23823,29.748779],[75.172084,29.688214],[75.234612,29.561788],[75.29528,29.574862],[75.31161,29.656175],[75.445762,29.806191],[75.604409,29.764669],[75.717684,29.778028],[75.786,29.83097],[75.886665,29.749244],[75.956945,29.738624],[76.22556,29.869082],[76.178121,29.954684],[76.266694,30.113692],[76.429578,30.140357],[76.531381,30.083978],[76.624812,30.142837],[76.605588,30.274431],[76.714315,30.337115],[76.752866,30.43052],[76.904898,30.384089],[76.886604,30.633789],[76.82728,30.680712],[76.814567,30.789129],[76.832758,30.842278],[76.768162,30.907597],[76.905725,30.899303],[77.001533,30.777347],[77.115118,30.722104],[77.150258,30.663994],[77.147777,30.538679],[77.303427,30.460312],[77.585063,30.382926],[77.570077,30.27823],[77.28472,30.038089],[77.229943,29.976646],[77.180437,29.804253],[77.087832,29.6585],[77.064681,29.569513],[77.149844,29.403374],[77.130724,29.28059],[77.141369,29.130341],[77.195733,28.997584],[77.200797,28.876791]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"IND-2431","diss_me":2431,"iso_3166_2":"IN-JK","wikipedia":null,"iso_a2":"IN","adm0_sr":1,"name":"Jammu and Kashmir","name_alt":null,"name_local":null,"type":"Union Territory","type_en":"Union Territory","code_local":null,"code_hasc":"IN.JK","note":null,"hasc_maybe":null,"region":"North","region_cod":null,"provnum_ne":20066,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":null,"postal":"JK","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":17,"mapcolor9":2,"mapcolor13":2,"fips":"IN12","fips_alt":null,"woe_id":2345746,"woe_label":"Jammu and Kashmir, IN, India","woe_name":"Jammu and Kashmir","latitude":33.9658,"longitude":76.6395,"sov_a3":"IND","adm0_a3":"IND","adm0_label":5,"admin":"India","geonunit":"India","gu_a3":"IND","gn_id":1269320,"gn_name":"State of Jammu and Kashmir","gns_id":-2098229,"gns_name":"Jammu and Kashmir, State of","gn_level":1,"gn_region":null,"gn_a1_code":"IN.12","region_sub":null,"sub_code":null,"gns_level":1,"gns_lang":"nld","gns_adm1":"IN12","gns_region":null,"min_label":4.6,"max_label":10.1,"min_zoom":4.6,"wikidataid":"Q66278313","name_ar":"جامو وكشمير","name_bn":"জম্মু ও কাশ্মীর","name_de":"Jammu und Kashmir","name_en":"Jammu and Kashmir","name_es":"Jammu y Cachemira","name_fr":"Jammu-et-Cachemire","name_el":"Γιαμού και Κασμίρ","name_hi":"जम्मू और कश्मीर","name_hu":"Dzsammu és Kasmír","name_id":"Jammu dan Kashmir","name_it":"Jammu e Kashmir","name_ja":"ジャンムー・カシミール州","name_ko":"잠무 카슈미르","name_nl":"Jammu en Kasjmir","name_pl":"Dżammu i Kaszmir","name_pt":"Jammu e Caxemira","name_ru":"Джамму и Кашмир","name_sv":"Jammu och Kashmir","name_tr":"Cemmu ve Keşmir","name_vi":"Jammu và Kashmir","name_zh":"查谟-克什米尔邦","ne_id":1159311911,"name_he":"ג'אמו וקשמיר","name_uk":"Джамму й Кашмір","name_ur":"جموں و کشمیر","name_fa":"جامو و کشمیر","name_zht":"查謨-克什米爾邦","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[73.794493,32.300587,76.739843,34.765398],"geometry":{"type":"Polygon","coordinates":[[[75.347547,34.572708],[75.374549,34.370981],[75.469487,34.280052],[75.584564,34.210116],[75.6634,34.19923],[75.741656,34.066434],[75.879592,33.963696],[76.024367,33.982089],[76.166381,33.873232],[76.235838,33.728794],[76.246099,33.574094],[76.488031,33.502231],[76.646566,33.352107],[76.739843,33.197406],[76.625949,33.189292],[76.558562,33.23146],[76.396712,33.197716],[76.294289,33.147899],[76.215948,33.051084],[76.100813,33.01305],[75.972448,32.911041],[75.826411,32.938067],[75.804913,32.898612],[75.9093,32.772703],[75.922632,32.617338],[75.847391,32.516749],[75.743005,32.464375],[75.682647,32.399806],[75.611954,32.395465],[75.5024,32.300587],[75.390365,32.335494],[75.293437,32.325995],[75.233682,32.372133],[75.104078,32.420347],[74.987341,32.462205],[74.788903,32.457812],[74.685757,32.493805],[74.6578,32.51892],[74.643382,32.607726],[74.663226,32.757665],[74.632375,32.770894],[74.588243,32.753247],[74.48334,32.770997],[74.354563,32.768698],[74.305522,32.810427],[74.329965,32.860837],[74.32273,32.92799],[74.30361,32.991811],[74.283559,33.005117],[74.222064,33.02031],[74.126256,33.075423],[74.049155,33.143429],[74.003783,33.189447],[73.98983,33.221177],[73.994223,33.242209],[74.050395,33.301249],[74.117781,33.384112],[74.142586,33.455348],[74.149976,33.506999],[74.131269,33.545085],[74.069774,33.591697],[74.00399,33.632444],[73.977583,33.667816],[73.976498,33.721275],[74.000992,33.78817],[74.078404,33.838658],[74.215605,33.886562],[74.2509,33.946094],[74.246507,33.990174],[74.20899,34.003403],[74.112562,34.003687],[73.949884,34.018802],[73.922393,34.04309],[73.904099,34.075672],[73.903892,34.107996],[73.938309,34.144764],[73.979443,34.191298],[73.972364,34.236619],[73.924563,34.28783],[73.809945,34.325321],[73.794493,34.378238],[73.812115,34.422344],[73.850097,34.485286],[73.883119,34.529055],[73.961202,34.653466],[74.055873,34.680674],[74.171938,34.720878],[74.300406,34.765398],[74.497965,34.732041],[74.594135,34.715762],[74.788748,34.677729],[74.95189,34.64587],[75.118444,34.636827],[75.187535,34.639023],[75.264068,34.601351],[75.347547,34.572708]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"IND-2441","diss_me":2441,"iso_3166_2":"IN-AP","wikipedia":null,"iso_a2":"IN","adm0_sr":6,"name":"Andhra Pradesh","name_alt":null,"name_local":null,"type":"State","type_en":"State","code_local":null,"code_hasc":"IN.AD","note":null,"hasc_maybe":null,"region":"South","region_cod":null,"provnum_ne":20004,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":null,"postal":"AP","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":14,"mapcolor9":2,"mapcolor13":2,"fips":"IN02","fips_alt":null,"woe_id":2345740,"woe_label":"Andhra Pradesh, IN, India","woe_name":"Andhra Pradesh","latitude":16.4854,"longitude":79.208,"sov_a3":"IND","adm0_a3":"IND","adm0_label":2,"admin":"India","geonunit":"India","gu_a3":"IND","gn_id":1278629,"gn_name":"State of Andhra Pradesh","gns_id":-2088875,"gns_name":"Andhra Pradesh, State of","gn_level":1,"gn_region":null,"gn_a1_code":"IN.02","region_sub":null,"sub_code":null,"gns_level":1,"gns_lang":"nld","gns_adm1":"IN02","gns_region":null,"min_label":4.6,"max_label":10.1,"min_zoom":4.6,"wikidataid":"Q1159","name_ar":"أندرا برديش","name_bn":"অন্ধ্রপ্রদেশ","name_de":"Andhra Pradesh","name_en":"Andhra Pradesh","name_es":"Andhra Pradesh","name_fr":"Andhra Pradesh","name_el":"Άντρα Πραντές","name_hi":"आन्ध्र प्रदेश","name_hu":"Ándhra Prades","name_id":"Andhra Pradesh","name_it":"Andhra Pradesh","name_ja":"アーンドラ・プラデーシュ州","name_ko":"안드라프라데시","name_nl":"Andhra Pradesh","name_pl":"Andhra Pradesh","name_pt":"Andra Pradexe","name_ru":"Андхра-Прадеш","name_sv":"Andhra Pradesh","name_tr":"Andhra Pradeş","name_vi":"Andhra Pradesh","name_zh":"安得拉邦","ne_id":1159311629,"name_he":"אנדרה פרדש","name_uk":"Андхра-Прадеш","name_ur":"آندھرا پردیش","name_fa":"آندرا پرادش","name_zht":"安得拉邦","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[76.719483,12.63264,84.769629,19.160588],"geometry":{"type":"Polygon","coordinates":[[[80.231198,13.467614],[80.097571,13.463752],[79.961972,13.416546],[79.956701,13.365774],[79.816348,13.294925],[79.784929,13.224025],[79.696769,13.235807],[79.667933,13.291282],[79.571712,13.284073],[79.54422,13.323528],[79.449549,13.33115],[79.420197,13.219994],[79.31488,13.131989],[79.250801,13.147751],[79.161608,13.044915],[79.077582,13.035587],[78.944153,13.093387],[78.736207,13.06096],[78.64474,12.991998],[78.582625,12.778213],[78.419121,12.63264],[78.352768,12.641503],[78.229572,12.759893],[78.285899,12.843377],[78.415813,12.948202],[78.516479,13.089098],[78.568362,13.274823],[78.38088,13.322753],[78.350184,13.376109],[78.374679,13.579637],[78.184096,13.601547],[78.068238,13.698725],[78.096763,13.809002],[78.032684,13.884734],[77.92065,13.830474],[77.878792,13.916619],[77.734925,13.824221],[77.593228,13.767093],[77.499487,13.704461],[77.44254,13.701955],[77.384042,13.846726],[77.292058,13.848432],[77.152221,13.903596],[77.102612,13.849672],[77.133204,13.784818],[77.032332,13.746241],[76.958538,13.781614],[77.010421,13.904991],[76.935904,14.010902],[76.942622,14.06108],[76.872962,14.137354],[76.973628,14.156087],[76.995332,14.066377],[77.112327,14.005063],[77.289267,14.010747],[77.332365,13.908169],[77.387969,13.962946],[77.327921,14.052166],[77.368539,14.163425],[77.467758,14.192442],[77.46104,14.290136],[77.384352,14.261972],[77.278208,14.295588],[77.256814,14.333957],[77.111294,14.329617],[77.045458,14.231664],[76.908205,14.257864],[76.86242,14.347238],[76.931563,14.457567],[76.829967,14.478651],[76.752866,14.565597],[76.761858,14.763673],[76.799685,14.794834],[76.822216,14.920976],[76.719483,14.989731],[76.764338,15.094118],[76.947996,15.021642],[77.080391,15.036654],[77.12814,15.132255],[77.104886,15.308213],[77.025924,15.351492],[76.999672,15.613776],[77.084939,15.667287],[77.025304,15.781285],[77.034089,15.873734],[77.143746,15.960706],[77.226429,15.976389],[77.446467,15.95298],[77.641205,15.900662],[77.849864,15.893866],[77.88795,15.919135],[78.087494,15.832953],[78.235281,15.950466],[78.255951,16.005683],[78.399994,16.083441],[78.499766,16.093777],[78.73406,16.0303],[78.839447,16.066718],[78.839122,16.124823],[79.021658,16.247138],[79.160574,16.219346],[79.214773,16.244493],[79.233409,16.330512],[79.213471,16.493232],[79.265636,16.569607],[79.406261,16.587226],[79.504324,16.641872],[79.720876,16.689032],[79.751964,16.723741],[79.882335,16.703233],[79.9581,16.630439],[80.042979,16.738552],[80.073334,16.822862],[80.002428,16.871004],[80.077643,16.972555],[80.220451,17.033251],[80.280555,16.997387],[80.350986,16.862136],[80.506146,16.792487],[80.586234,16.933936],[80.474283,16.936564],[80.38431,16.975982],[80.501756,17.10797],[80.590939,17.139791],[80.669698,17.079924],[80.829519,17.046021],[80.893078,17.155634],[80.99048,17.21818],[81.144193,17.249538],[81.214333,17.323635],[81.408339,17.370643],[81.469526,17.420487],[81.535249,17.637689],[81.628586,17.763421],[81.775781,17.833207],[81.758969,17.908933],[81.92361,18.000219],[82.042362,18.043266],[82.131866,18.038848],[82.240076,17.992933],[82.32989,18.044041],[82.352834,18.1553],[82.309529,18.194755],[82.360792,18.291623],[82.368234,18.413993],[82.449056,18.5221],[82.502696,18.510628],[82.511274,18.422209],[82.597367,18.325213],[82.586722,18.244391],[82.781438,18.357846],[82.779681,18.416731],[82.878383,18.409083],[82.904118,18.35534],[83.0392,18.390351],[83.036513,18.469493],[83.083539,18.525329],[83.028142,18.640852],[83.126534,18.758158],[83.201671,18.741621],[83.394218,18.869417],[83.326831,18.929698],[83.341404,19.004577],[83.423673,18.964347],[83.490129,19.051551],[83.572605,19.069947],[83.612809,19.129789],[83.706447,19.001424],[83.801841,18.999952],[83.854241,18.860038],[83.902404,18.805648],[84.071386,18.81787],[84.153138,18.787717],[84.317779,18.80924],[84.462576,18.946312],[84.525208,19.032973],[84.64148,19.10054],[84.6945,19.160588],[84.769629,19.120533],[84.749805,19.050098],[84.69082,18.964697],[84.609375,18.884326],[84.462793,18.689746],[84.181738,18.400586],[84.104102,18.292676],[83.654297,18.069873],[83.572266,18.003613],[83.387988,17.78667],[83.19834,17.608984],[82.976855,17.461816],[82.593164,17.273926],[82.35957,17.096191],[82.286523,16.978076],[82.281934,16.936084],[82.307227,16.878564],[82.35,16.825195],[82.359766,16.782812],[82.338672,16.706543],[82.327148,16.664355],[82.258789,16.559863],[82.141504,16.485352],[81.761914,16.329492],[81.711719,16.334473],[81.401855,16.365234],[81.286133,16.337061],[81.238574,16.263965],[81.132129,15.961768],[81.030078,15.881445],[80.993457,15.80874],[80.978711,15.75835],[80.917773,15.759668],[80.864746,15.782227],[80.825977,15.765918],[80.781836,15.867334],[80.707812,15.888086],[80.646582,15.89502],[80.384863,15.792773],[80.293457,15.710742],[80.101074,15.323633],[80.053418,15.074023],[80.098633,14.798242],[80.16543,14.577832],[80.178711,14.47832],[80.170117,14.349414],[80.13623,14.286572],[80.111719,14.212207],[80.143652,14.058936],[80.224414,13.858203],[80.244141,13.773486],[80.245801,13.68584],[80.293348,13.528674],[80.276775,13.511416],[80.265625,13.521289],[80.233398,13.605762],[80.15625,13.71377],[80.062109,13.60625],[80.114258,13.528711],[80.231198,13.467614]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"IND-2442","diss_me":2442,"iso_3166_2":"IN-KL","wikipedia":null,"iso_a2":"IN","adm0_sr":1,"name":"Kerala","name_alt":null,"name_local":null,"type":"State","type_en":"State","code_local":null,"code_hasc":"IN.KL","note":null,"hasc_maybe":null,"region":"South","region_cod":null,"provnum_ne":20005,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":null,"postal":"KL","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":6,"mapcolor9":2,"mapcolor13":2,"fips":"IN13","fips_alt":null,"woe_id":2345747,"woe_label":"Kerala, IN, India","woe_name":"Kerala","latitude":10.3666,"longitude":76.5237,"sov_a3":"IND","adm0_a3":"IND","adm0_label":2,"admin":"India","geonunit":"India","gu_a3":"IND","gn_id":1267254,"gn_name":"State of Kerala","gns_id":-2100307,"gns_name":"Kerala, State of","gn_level":1,"gn_region":null,"gn_a1_code":"IN.13","region_sub":null,"sub_code":null,"gns_level":1,"gns_lang":"nld","gns_adm1":"IN13","gns_region":null,"min_label":4.6,"max_label":10.1,"min_zoom":4.6,"wikidataid":"Q1186","name_ar":"كيرلا","name_bn":"কেরল","name_de":"Kerala","name_en":"Kerala","name_es":"Kerala","name_fr":"Kerala","name_el":"Κεράλα","name_hi":"केरल","name_hu":"Kerala","name_id":"Kerala","name_it":"Kerala","name_ja":"ケーララ州","name_ko":"케랄라","name_nl":"Kerala","name_pl":"Kerala","name_pt":"Kerala","name_ru":"Керала","name_sv":"Kerala","name_tr":"Kerala","name_vi":"Kerala","name_zh":"喀拉拉邦","ne_id":1159311883,"name_he":"קרלה","name_uk":"Керала","name_ur":"کیرلا","name_fa":"کرالا","name_zht":"喀拉拉邦","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[74.893953,8.28424,77.398615,12.751445],"geometry":{"type":"Polygon","coordinates":[[[74.893953,12.751445],[75.102114,12.678865],[75.312024,12.469498],[75.389331,12.294728],[75.426228,12.291782],[75.536609,12.168947],[75.629213,12.102052],[75.761092,12.068747],[75.776181,12.009784],[75.846048,11.951105],[75.960563,11.928626],[76.055751,11.96374],[76.115489,11.857494],[76.17657,11.857029],[76.316613,11.746854],[76.38927,11.744012],[76.415936,11.666833],[76.339248,11.591489],[76.240752,11.603969],[76.256255,11.478447],[76.409114,11.436822],[76.495414,11.384758],[76.533758,11.313134],[76.466268,11.205234],[76.641245,11.208644],[76.719173,11.138726],[76.690441,10.933364],[76.819838,10.875951],[76.889705,10.78004],[76.875546,10.678496],[76.821079,10.633176],[76.808573,10.437115],[76.841543,10.310663],[76.928049,10.235551],[76.98634,10.231288],[77.064578,10.296297],[77.191495,10.351306],[77.276968,10.210101],[77.224258,10.05781],[77.260225,9.962209],[77.225912,9.858882],[77.23542,9.764676],[77.187671,9.612773],[77.263222,9.557376],[77.340634,9.579958],[77.398615,9.499963],[77.312108,9.30088],[77.254541,9.122105],[77.164934,9.001001],[77.202554,8.89416],[77.24927,8.859098],[77.23542,8.784141],[77.178886,8.695232],[77.203794,8.611981],[77.278829,8.526405],[77.166071,8.336933],[77.109654,8.28424],[77.065918,8.315918],[76.966895,8.407275],[76.617285,8.84707],[76.553418,8.902783],[76.48291,9.090771],[76.471777,9.16084],[76.452344,9.18877],[76.419043,9.207812],[76.403125,9.236816],[76.324609,9.4521],[76.292383,9.676465],[76.242383,9.9271],[76.284668,9.909863],[76.343066,9.827344],[76.372266,9.707373],[76.375586,9.539893],[76.419531,9.520459],[76.458789,9.53623],[76.346484,9.922119],[76.24873,10.017969],[76.222754,10.024268],[76.195605,10.086133],[76.192676,10.16377],[76.201465,10.200635],[76.12334,10.327002],[76.096094,10.402246],[75.922559,10.784082],[75.844629,11.057568],[75.723828,11.361768],[75.646094,11.468408],[75.524512,11.703125],[75.422656,11.812207],[75.314648,11.958447],[75.229785,12.02334],[75.229275,12.023867],[75.19668,12.05752],[74.945508,12.564551],[74.893953,12.751445]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"IND-2443","diss_me":2443,"iso_3166_2":"IN-LD","wikipedia":null,"iso_a2":"IN","adm0_sr":4,"name":"Lakshadweep","name_alt":"Íles Laquedives|Laccadive|Minicoy and Amindivi Islands|Laccadives|Lackadiverna|Lakkadiven|Lakkadi","name_local":null,"type":"Union Territor","type_en":"Union Territory","code_local":null,"code_hasc":"IN.LD","note":null,"hasc_maybe":"IN.KL|IND-KER","region":"South","region_cod":null,"provnum_ne":20012,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":null,"postal":"LD","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":11,"mapcolor9":2,"mapcolor13":2,"fips":"IN14","fips_alt":"IN13","woe_id":2345748,"woe_label":"Lakshadweep, IN, India","woe_name":"Lakshadweep","latitude":11.2249,"longitude":72.7811,"sov_a3":"IND","adm0_a3":"IND","adm0_label":4,"admin":"India","geonunit":"India","gu_a3":"IND","gn_id":1265206,"gn_name":"Union Territory of Lakshadweep","gns_id":-2102360,"gns_name":"Lakshadweep, Union Territory of","gn_level":1,"gn_region":null,"gn_a1_code":"IN.14","region_sub":null,"sub_code":null,"gns_level":1,"gns_lang":"nld","gns_adm1":"IN14","gns_region":null,"min_label":4.6,"max_label":10.1,"min_zoom":4.6,"wikidataid":"Q26927","name_ar":"لكشديب","name_bn":"লক্ষদ্বীপ","name_de":"Lakshadweep","name_en":"Lakshadweep","name_es":"Laquedivas","name_fr":"Lakshadweep","name_el":"Λακσαντγουίπ","name_hi":"लक्षद्वीप","name_hu":"Laksadíva","name_id":"Lakshadweep","name_it":"Laccadive","name_ja":"ラクシャディープ諸島","name_ko":"락샤드위프 제도","name_nl":"Laccadiven","name_pl":"Lakszadiwy","name_pt":"Laquedivas","name_ru":"Лакшадвип","name_sv":"Lakshadweep","name_tr":"Lakşadvip Adaları","name_vi":"Lakshadweep","name_zh":"拉克沙群岛","ne_id":1159311385,"name_he":"לקשאדוויפ","name_uk":"Лакшадвіп","name_ur":"لکشادیپ","name_fa":"لاکشادویپ","name_zht":"拉克沙群島","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[72.772461,8.251953,73.083594,11.262744],"geometry":{"type":"MultiPolygon","coordinates":[[[[73.05332,8.256689],[73.038867,8.251953],[73.028516,8.253516],[73.023438,8.265918],[73.026074,8.275293],[73.038965,8.264844],[73.055859,8.274561],[73.075195,8.306348],[73.079492,8.316504],[73.083594,8.311035],[73.079785,8.293066],[73.067383,8.269092],[73.05332,8.256689]]],[[[72.787891,11.215918],[72.780371,11.20249],[72.773047,11.196094],[72.772461,11.214258],[72.781836,11.243311],[72.792676,11.262744],[72.795898,11.260449],[72.792871,11.241553],[72.787891,11.215918]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"IND-2444","diss_me":2444,"iso_3166_2":"IN-OR","wikipedia":null,"iso_a2":"IN","adm0_sr":1,"name":"Odisha","name_alt":"Orissa","name_local":null,"type":"State","type_en":"State","code_local":null,"code_hasc":"IN.OR","note":null,"hasc_maybe":null,"region":"East","region_cod":null,"provnum_ne":20042,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":null,"postal":"OR","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":6,"mapcolor9":2,"mapcolor13":2,"fips":"IN21","fips_alt":null,"woe_id":2345755,"woe_label":"Orissa, IN, India","woe_name":"Orissa","latitude":20.625,"longitude":84.4341,"sov_a3":"IND","adm0_a3":"IND","adm0_label":2,"admin":"India","geonunit":"India","gu_a3":"IND","gn_id":1261029,"gn_name":"State of Odisha","gns_id":-2106554,"gns_name":"Odisha, State of","gn_level":1,"gn_region":null,"gn_a1_code":"IN.21","region_sub":null,"sub_code":null,"gns_level":1,"gns_lang":"nld","gns_adm1":"IN21","gns_region":null,"min_label":4.6,"max_label":10.1,"min_zoom":4.6,"wikidataid":"Q22048","name_ar":"أوديشا","name_bn":"ওড়িশা","name_de":"Odisha","name_en":"Odisha","name_es":"Orissa","name_fr":"Odisha","name_el":"Ορίσα","name_hi":"ओडिशा","name_hu":"Orisza","name_id":"Orissa","name_it":"Orissa","name_ja":"オリッサ州","name_ko":"오디샤","name_nl":"Odisha","name_pl":"Orisa","name_pt":"Orissa","name_ru":"Одиша","name_sv":"Orissa","name_tr":"Orissa","name_vi":"Orissa","name_zh":"奥里萨邦","ne_id":1159311885,"name_he":"אודישה","name_uk":"Орісса","name_ur":"اڑیسہ","name_fa":"اوریسا","name_zht":"奧里薩邦","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[81.39403,17.79695,87.478635,22.556737],"geometry":{"type":"Polygon","coordinates":[[[87.478635,21.608108],[87.200684,21.544873],[87.100684,21.500781],[86.954102,21.365332],[86.85957,21.236719],[86.842285,21.106348],[86.895801,20.965576],[86.939355,20.745068],[86.975488,20.700146],[86.924512,20.619775],[86.835938,20.534326],[86.7625,20.419141],[86.769238,20.355908],[86.750391,20.313232],[86.49873,20.171631],[86.445801,20.088916],[86.376563,20.006738],[86.293652,20.05376],[86.245215,20.053027],[86.311914,19.987793],[86.30293,19.944678],[86.279492,19.919434],[86.216211,19.895801],[85.85293,19.791748],[85.575,19.69292],[85.496875,19.696924],[85.511133,19.726904],[85.559766,19.753467],[85.555078,19.866895],[85.504102,19.887695],[85.459961,19.895898],[85.248633,19.757666],[85.162793,19.620898],[85.180762,19.594873],[85.228516,19.601318],[85.370898,19.678906],[85.436914,19.656885],[85.441602,19.626562],[85.225586,19.50835],[84.770996,19.125391],[84.769629,19.120533],[84.6945,19.160588],[84.64148,19.10054],[84.525208,19.032973],[84.462576,18.946312],[84.317779,18.80924],[84.153138,18.787717],[84.071386,18.81787],[83.902404,18.805648],[83.854241,18.860038],[83.801841,18.999952],[83.706447,19.001424],[83.612809,19.129789],[83.572605,19.069947],[83.490129,19.051551],[83.423673,18.964347],[83.341404,19.004577],[83.326831,18.929698],[83.394218,18.869417],[83.201671,18.741621],[83.126534,18.758158],[83.028142,18.640852],[83.083539,18.525329],[83.036513,18.469493],[83.0392,18.390351],[82.904118,18.35534],[82.878383,18.409083],[82.779681,18.416731],[82.781438,18.357846],[82.586722,18.244391],[82.597367,18.325213],[82.511274,18.422209],[82.502696,18.510628],[82.449056,18.5221],[82.368234,18.413993],[82.360792,18.291623],[82.309529,18.194755],[82.352834,18.1553],[82.32989,18.044041],[82.240076,17.992933],[82.131866,18.038848],[82.042362,18.043266],[81.92361,18.000219],[81.758969,17.908933],[81.578411,17.79695],[81.39403,17.806691],[81.444156,17.879736],[81.542548,18.262451],[81.643833,18.292372],[81.740572,18.357898],[81.792352,18.438436],[81.913274,18.544915],[81.903663,18.621913],[81.968982,18.685733],[82.138894,18.747254],[82.169073,18.878719],[82.22447,18.921946],[82.224987,19.015196],[82.145405,19.244226],[82.168659,19.386595],[82.02903,19.517853],[82.029133,19.776468],[81.824184,19.913255],[81.867799,20.046658],[81.939629,20.104665],[82.046083,20.017874],[82.096209,20.050637],[82.228397,19.95873],[82.290306,19.836051],[82.381359,19.885944],[82.682323,19.822666],[82.695035,20.000537],[82.611216,19.988134],[82.415569,20.066967],[82.433656,20.159002],[82.421874,20.42803],[82.340225,20.556342],[82.366683,20.657086],[82.341982,20.86082],[82.4535,20.846867],[82.562124,20.954458],[82.668164,21.155479],[82.96458,21.178527],[83.078165,21.114551],[83.198261,21.172558],[83.279393,21.3588],[83.361041,21.33676],[83.381195,21.399547],[83.327658,21.499153],[83.351946,21.577262],[83.444034,21.718597],[83.473179,21.807171],[83.557102,21.834921],[83.570641,21.923055],[83.515347,21.963853],[83.54625,22.101623],[83.605367,22.195984],[83.733112,22.262285],[83.841425,22.348584],[83.945812,22.371193],[83.996455,22.440543],[83.970203,22.539348],[84.067045,22.499583],[84.147763,22.386773],[84.310957,22.324012],[84.420822,22.330989],[84.530066,22.423024],[84.733671,22.427288],[84.80085,22.45018],[84.908337,22.421965],[85.065537,22.5032],[85.100367,22.393956],[85.087758,22.280165],[84.985232,22.112785],[85.109152,22.108496],[85.232038,22.035322],[85.324126,22.126686],[85.425205,22.164487],[85.550675,22.107591],[85.679143,22.075862],[85.792211,22.129089],[85.784666,22.011887],[85.834275,21.986126],[85.916234,22.022119],[85.974112,22.104594],[85.964603,22.24487],[85.986514,22.393621],[85.938765,22.500513],[86.039844,22.556737],[86.102476,22.500126],[86.268047,22.422404],[86.366026,22.330058],[86.486639,22.336854],[86.686523,22.218024],[86.833904,22.121751],[86.987383,22.066586],[86.993688,21.972483],[87.059213,21.90719],[87.112957,21.971398],[87.190678,21.956205],[87.231503,21.848098],[87.275014,21.813966],[87.408546,21.786138],[87.478635,21.608108]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"IND-2445","diss_me":2445,"iso_3166_2":"IN-DH","wikipedia":null,"iso_a2":"IN","adm0_sr":1,"name":"Dadra and Nagar Haveli and Daman and Diu","name_alt":"DAdra et Nagar Haveli|Dadra e Nagar Haveli|Dadra and Nagar Haveli","name_local":null,"type":"Union Territory","type_en":"Union Territory","code_local":null,"code_hasc":"IN.DH","note":null,"hasc_maybe":null,"region":"West","region_cod":null,"provnum_ne":20059,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":null,"postal":"DH","area_sqkm":0,"sameascity":9,"labelrank":9,"name_len":22,"mapcolor9":2,"mapcolor13":2,"fips":"IN52","fips_alt":null,"woe_id":20070457,"woe_label":"Dadra and Nagar Haveli, IN, India","woe_name":"Dadra and Nagar Haveli","latitude":20.1841,"longitude":73.029,"sov_a3":"IND","adm0_a3":"IND","adm0_label":2,"admin":"India","geonunit":"India","gu_a3":"IND","gn_id":1273726,"gn_name":"Union Territory of Dadra and Nagar Haveli","gns_id":-2093794,"gns_name":"Dadra and Nagar Haveli, Union Territory of","gn_level":1,"gn_region":null,"gn_a1_code":"IN.06","region_sub":null,"sub_code":null,"gns_level":1,"gns_lang":"nld","gns_adm1":"IN06","gns_region":null,"min_label":4.6,"max_label":10.1,"min_zoom":4.6,"wikidataid":"Q77997266","name_ar":"دادرا وناجار هافيلي ودَمـَن وديو","name_bn":"দাদরা ও নগর হাভেলি এবং দমন ও দিউ","name_de":"Dadra und Nagar Haveli und Daman und Diu","name_en":"Dadra and Nagar Haveli and Daman and Diu","name_es":"Dadra y Nagar Haveli y Damán y Diu","name_fr":"Dadra et Nagar Haveli et Daman et Diu","name_el":"Ντάντρα και Ναγκάρ Χαβέλι και Ντάμαν και Ντιου","name_hi":"दादरा और नगर हवेली और दमन और दीव","name_hu":"Dadra és Nagar Haveli és Daman és Diu","name_id":"Dadra & Nagar Haveli dan Daman & Diu","name_it":"Dadra e Nagar Haveli e Daman e Diu","name_ja":"ダードラー・ナガル・ハヴェーリーおよびダマン・ディーウ連邦直轄領","name_ko":"다드라 나가르하벨리 다만 디우","name_nl":"Dadra en Nagar Haveli en Daman en Diu","name_pl":"Dadra i Nagar Haveli oraz Daman i Diu","name_pt":"Dadrá e Nagar Aveli e Damão e Diu","name_ru":"Дадра и Нагар-Хавели и Даман и Диу","name_sv":"Dadra och Nagar Haveli och Daman och Diu","name_tr":"Dadra ve Nagar Haveli ve Daman ve Diu","name_vi":"Dadra và Nagar Haveli và Daman và Diu","name_zh":"達德拉-納加爾哈維利和達曼-第烏","ne_id":1159311887,"name_he":"דדרה ונגר האבלי ודמן ודיו","name_uk":"Дадра і Нагар Хавелі та Даман і Діу","name_ur":"دادرا و نگر حویلی و دمن و دیو","name_fa":"دادرا و نگر حویلی و دامان و دیو","name_zht":"達德拉-納加爾哈維利和達曼-第烏","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[72.896667,20.039811,73.166315,20.330258],"geometry":{"type":"Polygon","coordinates":[[[73.166315,20.114871],[73.16094,20.047485],[72.997229,20.039811],[72.947207,20.127402],[72.896667,20.221505],[73.049939,20.330258],[73.112158,20.254914],[73.046839,20.221324],[73.041775,20.157736],[73.166315,20.114871]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"IND-2446","diss_me":2446,"iso_3166_2":"IN-KA","wikipedia":null,"iso_a2":"IN","adm0_sr":1,"name":"Karnataka","name_alt":"Maisur|Mysore","name_local":null,"type":"State","type_en":"State","code_local":null,"code_hasc":"IN.KA","note":null,"hasc_maybe":null,"region":"South","region_cod":null,"provnum_ne":20043,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":null,"postal":"KA","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":9,"mapcolor9":2,"mapcolor13":2,"fips":"IN19","fips_alt":null,"woe_id":2345753,"woe_label":"Karnataka, IN, India","woe_name":"Karnataka","latitude":14.3681,"longitude":75.667,"sov_a3":"IND","adm0_a3":"IND","adm0_label":2,"admin":"India","geonunit":"India","gu_a3":"IND","gn_id":1267701,"gn_name":"State of Karnataka","gns_id":-2099860,"gns_name":"Karnataka, State of","gn_level":1,"gn_region":null,"gn_a1_code":"IN.19","region_sub":null,"sub_code":null,"gns_level":1,"gns_lang":"nld","gns_adm1":"IN19","gns_region":null,"min_label":4.6,"max_label":10.1,"min_zoom":4.6,"wikidataid":"Q1185","name_ar":"كارناتاكا","name_bn":"কর্ণাটক","name_de":"Karnataka","name_en":"Karnataka","name_es":"Karnataka","name_fr":"Karnataka","name_el":"Καρνάτακα","name_hi":"कर्नाटक","name_hu":"Karnátaka","name_id":"Karnataka","name_it":"Karnataka","name_ja":"カルナータカ州","name_ko":"카르나타카","name_nl":"Karnataka","name_pl":"Karnataka","name_pt":"Carnataca","name_ru":"Карнатака","name_sv":"Karnataka","name_tr":"Karnataka","name_vi":"Karnataka","name_zh":"卡纳塔克邦","ne_id":1159311889,"name_he":"קרנאטקה","name_uk":"Карнатака","name_ur":"کرناٹک","name_fa":"کارناتاکا","name_zht":"卡納塔克邦","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[74.097044,11.625596,78.568362,18.460269],"geometry":{"type":"Polygon","coordinates":[[[74.893953,12.751445],[74.868262,12.84458],[74.80293,12.976855],[74.770508,13.077344],[74.682324,13.506934],[74.681641,13.58374],[74.670898,13.667627],[74.608496,13.849658],[74.498535,14.046338],[74.466699,14.168848],[74.466992,14.216504],[74.397168,14.407422],[74.382227,14.494727],[74.335059,14.575439],[74.280371,14.649512],[74.223047,14.708887],[74.097044,14.890286],[74.241185,14.956038],[74.259685,15.097683],[74.292758,15.188272],[74.241185,15.23783],[74.30423,15.28917],[74.236534,15.472467],[74.257824,15.518588],[74.226818,15.629847],[74.100625,15.640286],[74.103545,15.644573],[74.186097,15.76573],[74.223511,15.726095],[74.331102,15.761932],[74.354459,15.872572],[74.42877,15.993753],[74.415954,16.096356],[74.469594,16.109792],[74.451921,16.253944],[74.366241,16.292882],[74.292448,16.528371],[74.353219,16.543512],[74.43001,16.644333],[74.524578,16.623843],[74.557444,16.551652],[74.665758,16.606222],[74.684878,16.708438],[74.866676,16.776211],[74.844559,16.852021],[74.92228,16.889331],[74.960004,16.951136],[75.043409,16.952816],[75.166503,16.867937],[75.24257,16.902095],[75.256006,16.959172],[75.370831,16.984467],[75.45341,16.964055],[75.553766,17.014905],[75.616708,16.974675],[75.646783,17.091412],[75.605132,17.158126],[75.622082,17.220939],[75.552836,17.365917],[75.61309,17.471595],[75.783933,17.374805],[75.870026,17.416147],[75.936482,17.325868],[76.094715,17.377751],[76.210367,17.388913],[76.343795,17.351861],[76.322194,17.61771],[76.390614,17.636779],[76.512984,17.772817],[76.592669,17.770595],[76.675971,17.706852],[76.755656,17.825837],[76.740877,17.898417],[76.839062,17.884232],[76.885054,17.974459],[76.892909,18.144293],[76.949546,18.179976],[77.087729,18.197055],[77.117908,18.253847],[77.23108,18.333791],[77.232733,18.410659],[77.301876,18.460269],[77.346628,18.351516],[77.461453,18.281933],[77.551163,18.307875],[77.599946,18.114838],[77.562946,18.070784],[77.62134,17.986835],[77.61979,17.92565],[77.500314,17.812298],[77.525429,17.746281],[77.463623,17.713415],[77.411534,17.630785],[77.492872,17.57761],[77.582583,17.578772],[77.599326,17.486917],[77.37443,17.222567],[77.465174,17.042578],[77.433444,16.934755],[77.410914,16.720582],[77.431998,16.593613],[77.370916,16.524289],[77.257435,16.449358],[77.293711,16.406518],[77.53318,16.361043],[77.490805,16.261592],[77.483674,16.002073],[77.446467,15.95298],[77.226429,15.976389],[77.143746,15.960706],[77.034089,15.873734],[77.025304,15.781285],[77.084939,15.667287],[76.999672,15.613776],[77.025924,15.351492],[77.104886,15.308213],[77.12814,15.132255],[77.080391,15.036654],[76.947996,15.021642],[76.764338,15.094118],[76.719483,14.989731],[76.822216,14.920976],[76.799685,14.794834],[76.761858,14.763673],[76.752866,14.565597],[76.829967,14.478651],[76.931563,14.457567],[76.86242,14.347238],[76.908205,14.257864],[77.045458,14.231664],[77.111294,14.329617],[77.256814,14.333957],[77.278208,14.295588],[77.384352,14.261972],[77.46104,14.290136],[77.467758,14.192442],[77.368539,14.163425],[77.327921,14.052166],[77.387969,13.962946],[77.332365,13.908169],[77.289267,14.010747],[77.112327,14.005063],[76.995332,14.066377],[76.973628,14.156087],[76.872962,14.137354],[76.942622,14.06108],[76.935904,14.010902],[77.010421,13.904991],[76.958538,13.781614],[77.032332,13.746241],[77.133204,13.784818],[77.102612,13.849672],[77.152221,13.903596],[77.292058,13.848432],[77.384042,13.846726],[77.44254,13.701955],[77.499487,13.704461],[77.593228,13.767093],[77.734925,13.824221],[77.878792,13.916619],[77.92065,13.830474],[78.032684,13.884734],[78.096763,13.809002],[78.068238,13.698725],[78.184096,13.601547],[78.374679,13.579637],[78.350184,13.376109],[78.38088,13.322753],[78.568362,13.274823],[78.516479,13.089098],[78.415813,12.948202],[78.285899,12.843377],[78.229572,12.759893],[78.056249,12.845935],[78.002092,12.807151],[77.895018,12.87278],[77.801277,12.856554],[77.765311,12.718733],[77.609351,12.672793],[77.568733,12.55957],[77.618859,12.46663],[77.560775,12.339661],[77.471892,12.274238],[77.492149,12.205457],[77.667849,12.203881],[77.768721,12.120036],[77.670846,11.971311],[77.489772,11.92612],[77.433858,11.811527],[77.353863,11.7837],[77.259192,11.816902],[77.121939,11.792536],[77.082561,11.756776],[76.997399,11.825919],[76.907688,11.800184],[76.820769,11.625596],[76.750799,11.642339],[76.605381,11.631177],[76.532207,11.709079],[76.465338,11.71497],[76.415936,11.666833],[76.38927,11.744012],[76.316613,11.746854],[76.17657,11.857029],[76.115489,11.857494],[76.055751,11.96374],[75.960563,11.928626],[75.846048,11.951105],[75.776181,12.009784],[75.761092,12.068747],[75.629213,12.102052],[75.536609,12.168947],[75.426228,12.291782],[75.389331,12.294728],[75.312024,12.469498],[75.102114,12.678865],[74.893953,12.751445]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"IND-3265","diss_me":3265,"iso_3166_2":"IN-GA","wikipedia":null,"iso_a2":"IN","adm0_sr":1,"name":"Goa","name_alt":"Gôa","name_local":null,"type":"State","type_en":"State","code_local":null,"code_hasc":"IN.GA","note":null,"hasc_maybe":null,"region":"West","region_cod":null,"provnum_ne":20051,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":null,"postal":"GA","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":3,"mapcolor9":2,"mapcolor13":2,"fips":"IN08","fips_alt":"IN33","woe_id":2345764,"woe_label":"Goa, IN, India","woe_name":"Goa","latitude":15.3133,"longitude":73.9951,"sov_a3":"IND","adm0_a3":"IND","adm0_label":2,"admin":"India","geonunit":"India","gu_a3":"IND","gn_id":1271157,"gn_name":"State of Goa","gns_id":-2096380,"gns_name":"Goa, State of","gn_level":1,"gn_region":null,"gn_a1_code":"IN.33","region_sub":null,"sub_code":null,"gns_level":1,"gns_lang":"nld","gns_adm1":"IN33","gns_region":null,"min_label":4.6,"max_label":10.1,"min_zoom":4.6,"wikidataid":"Q1171","name_ar":"غوا","name_bn":"গোয়া","name_de":"Goa","name_en":"Goa","name_es":"Goa","name_fr":"Goa","name_el":"Γκόα","name_hi":"गोआ","name_hu":"Goa","name_id":"Goa","name_it":"Goa","name_ja":"ゴア州","name_ko":"고아","name_nl":"Goa","name_pl":"Goa","name_pt":"Goa","name_ru":"Гоа","name_sv":"Goa","name_tr":"Goa","name_vi":"Goa","name_zh":"果阿邦","ne_id":1159314181,"name_he":"גואה","name_uk":"Гоа","name_ur":"گوا","name_fa":"گوا","name_zht":"果阿邦","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[73.678865,14.890286,74.30423,15.774857],"geometry":{"type":"Polygon","coordinates":[[[73.678865,15.711175],[73.807623,15.774857],[73.908388,15.721237],[73.942035,15.634443],[73.991683,15.611105],[74.095452,15.643227],[74.103545,15.644573],[74.100625,15.640286],[74.226818,15.629847],[74.257824,15.518588],[74.236534,15.472467],[74.30423,15.28917],[74.241185,15.23783],[74.292758,15.188272],[74.259685,15.097683],[74.241185,14.956038],[74.097044,14.890286],[74.08877,14.902197],[74.040625,14.949365],[73.949219,15.074756],[73.884277,15.306445],[73.800781,15.396973],[73.931934,15.396973],[73.851953,15.482471],[73.813867,15.538574],[73.771777,15.573047],[73.832813,15.659375],[73.732813,15.656934],[73.679883,15.708887],[73.678865,15.711175]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"IND-2474","diss_me":2474,"iso_3166_2":"IN-AN","wikipedia":null,"iso_a2":"IN","adm0_sr":3,"name":"Andaman and Nicobar","name_alt":"Andaman & Nicobar Islands|Andaman et Nicobar|Iihas de Andama e Nicobar|Inseln Andamanen und Nikobare","name_local":null,"type":"Union Territor","type_en":"Union Territory","code_local":null,"code_hasc":"IN.AN","note":null,"hasc_maybe":null,"region":null,"region_cod":null,"provnum_ne":20031,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":null,"postal":"AN","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":19,"mapcolor9":2,"mapcolor13":2,"fips":"IN01","fips_alt":null,"woe_id":2345739,"woe_label":"Andaman and Nicobar Islands, IN, India","woe_name":"Andaman and Nicobar","latitude":6.83654,"longitude":93.7895,"sov_a3":"IND","adm0_a3":"IND","adm0_label":3,"admin":"India","geonunit":"India","gu_a3":"IND","gn_id":1278647,"gn_name":"Union Territory of Andaman and Nicobar Islands","gns_id":-2088857,"gns_name":"Andaman and Nicobar Islands, Union Territory of","gn_level":1,"gn_region":null,"gn_a1_code":"IN.01","region_sub":null,"sub_code":null,"gns_level":1,"gns_lang":"nld","gns_adm1":"IN01","gns_region":null,"min_label":4.6,"max_label":10.1,"min_zoom":4.6,"wikidataid":"Q40888","name_ar":"جزر أندمان ونيكوبار","name_bn":"আন্দামান ও নিকোবর দ্বীপপুঞ্জ","name_de":"Andamanen und Nikobaren","name_en":"Andaman and Nicobar Islands","name_es":"Islas Andamán y Nicobar","name_fr":"Îles Andaman-et-Nicobar","name_el":"Νησιά Άνταμαν και Νίκομπαρ","name_hi":"अण्डमान और निकोबार द्वीपसमूह","name_hu":"Andamán- és Nikobár-szigetek","name_id":"Kepulauan Andaman dan Nikobar","name_it":"Andamane e Nicobare","name_ja":"アンダマン・ニコバル諸島","name_ko":"안다만 니코바르 제도","name_nl":"Andamanen en Nicobaren","name_pl":"Andamany i Nikobary","name_pt":"Andamão e Nicobar","name_ru":"Андаманские и Никобарские острова","name_sv":"Andamanerna och Nikobarerna","name_tr":"Andaman ve Nikobar adaları","name_vi":"Quần đảo Andaman và Nicobar","name_zh":"安达曼-尼科巴群岛","ne_id":1159311381,"name_he":"איי אנדמן וניקובר","name_uk":"Андаманські і Нікобарські острови","name_ur":"جزائر انڈمان و نکوبار","name_fa":"جزایر آندامان و نیکوبار","name_zht":"安達曼-尼科巴群島","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[92.352832,6.748682,93.92959,13.545459],"geometry":{"type":"MultiPolygon","coordinates":[[[[93.016016,13.336182],[93.073828,13.2521],[93.066113,13.221582],[93.042969,13.154883],[93.004687,13.089355],[92.951367,13.0625],[92.909961,12.975195],[92.88623,12.942285],[92.965039,12.850488],[92.990234,12.538525],[92.932617,12.453076],[92.863672,12.436035],[92.879492,12.22793],[92.867188,12.181445],[92.798828,12.079248],[92.78623,12.034668],[92.747656,11.992773],[92.763965,11.94043],[92.796777,11.917529],[92.797559,11.874658],[92.766992,11.764648],[92.764648,11.63916],[92.722754,11.536084],[92.700781,11.512549],[92.668359,11.538721],[92.575586,11.718213],[92.559668,11.833447],[92.533887,11.873389],[92.566504,11.930518],[92.60752,11.949512],[92.631836,12.013867],[92.640625,12.112207],[92.676465,12.192383],[92.694727,12.214697],[92.769238,12.215576],[92.788281,12.225781],[92.777637,12.302539],[92.734082,12.335938],[92.718945,12.357324],[92.720703,12.54126],[92.732031,12.615625],[92.75918,12.669092],[92.740039,12.779639],[92.753125,12.820898],[92.807031,12.878906],[92.830859,13.002637],[92.808984,13.0396],[92.860156,13.230566],[92.857324,13.358105],[92.924609,13.48584],[93.029395,13.543848],[93.062305,13.545459],[93.066699,13.436475],[93.07666,13.400684],[93.016016,13.336182]]],[[[93.017383,12.036816],[93.062109,11.899414],[92.981738,11.959473],[92.955371,12.002441],[92.995801,12.031787],[93.017383,12.036816]]],[[[92.679688,12.939258],[92.694434,12.956787],[92.710645,12.961572],[92.730859,12.948535],[92.717578,12.864893],[92.685742,12.799951],[92.679688,12.939258]]],[[[92.510352,10.897461],[92.554004,10.799805],[92.574316,10.704248],[92.502832,10.554883],[92.472656,10.520752],[92.369531,10.547412],[92.377148,10.650586],[92.352832,10.751123],[92.370703,10.793506],[92.447852,10.865527],[92.510352,10.897461]]],[[[92.690039,11.463428],[92.687207,11.41123],[92.693164,11.381152],[92.644531,11.361328],[92.595703,11.386426],[92.633887,11.426758],[92.640234,11.509131],[92.690039,11.463428]]],[[[93.375488,8.01792],[93.433691,7.948389],[93.447363,7.899121],[93.442578,7.877832],[93.365039,7.876562],[93.341992,7.919336],[93.309375,7.964014],[93.334473,8.006934],[93.375488,8.01792]]],[[[92.713281,9.204883],[92.738574,9.230664],[92.762109,9.243896],[92.785742,9.240527],[92.809277,9.173389],[92.7875,9.13667],[92.743555,9.130957],[92.716602,9.165088],[92.713281,9.204883]]],[[[93.654688,7.379932],[93.69248,7.410596],[93.733594,7.356494],[93.638477,7.261865],[93.597266,7.31875],[93.614258,7.358105],[93.654688,7.379932]]],[[[93.096973,8.349365],[93.140723,8.249512],[93.170605,8.212061],[93.115234,8.218506],[93.064258,8.274951],[93.077539,8.327881],[93.096973,8.349365]]],[[[93.858984,7.206836],[93.92959,6.973486],[93.890039,6.831055],[93.828809,6.748682],[93.709277,7.000684],[93.658008,7.016064],[93.656348,7.13623],[93.68418,7.183594],[93.822461,7.236621],[93.858984,7.206836]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"IND-2477","diss_me":2477,"iso_3166_2":"IN-AS","wikipedia":null,"iso_a2":"IN","adm0_sr":1,"name":"Assam","name_alt":null,"name_local":null,"type":"State","type_en":"State","code_local":null,"code_hasc":"IN.AS","note":null,"hasc_maybe":null,"region":"Northeast","region_cod":null,"provnum_ne":20049,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":null,"postal":"AS","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":5,"mapcolor9":2,"mapcolor13":2,"fips":"IN03","fips_alt":null,"woe_id":2345741,"woe_label":"Assam, IN, India","woe_name":"Assam","latitude":26.3302,"longitude":92.9929,"sov_a3":"IND","adm0_a3":"IND","adm0_label":2,"admin":"India","geonunit":"India","gu_a3":"IND","gn_id":1278253,"gn_name":"State of Assam","gns_id":-2089251,"gns_name":"Assam, State of","gn_level":1,"gn_region":null,"gn_a1_code":"IN.03","region_sub":null,"sub_code":null,"gns_level":1,"gns_lang":"nld","gns_adm1":"IN03","gns_region":null,"min_label":4.6,"max_label":10.1,"min_zoom":4.6,"wikidataid":"Q1164","name_ar":"آسام","name_bn":"আসাম","name_de":"Assam","name_en":"Assam","name_es":"Assam","name_fr":"Assam","name_el":"Άσαμ","name_hi":"असम","name_hu":"Asszám","name_id":"Assam","name_it":"Assam","name_ja":"アッサム州","name_ko":"아삼","name_nl":"Assam","name_pl":"Asam","name_pt":"Assam","name_ru":"Ассам","name_sv":"Assam","name_tr":"Assam","name_vi":"Assam","name_zh":"阿萨姆邦","ne_id":1159311865,"name_he":"אסאם","name_uk":"Ассам","name_ur":"آسام","name_fa":"آسام","name_zht":"阿薩姆邦","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[89.687784,24.132507,96.007194,27.993305],"geometry":{"type":"Polygon","coordinates":[[[89.860038,26.713565],[89.943172,26.723951],[90.122954,26.754595],[90.206102,26.847509],[90.242327,26.854149],[90.345886,26.890323],[90.447637,26.850764],[90.559878,26.796556],[90.62034,26.780226],[90.739661,26.7717],[90.855778,26.77772],[91.1339,26.803403],[91.286552,26.789915],[91.426802,26.867094],[91.455844,26.866888],[91.517546,26.807305],[91.671593,26.802008],[91.753759,26.830766],[91.842074,26.852987],[91.898608,26.860066],[91.943773,26.860816],[91.998344,26.854976],[92.04971,26.874846],[92.073378,26.914843],[92.072848,26.920914],[92.21032,26.912337],[92.626212,27.018067],[92.698766,27.065919],[92.814831,27.050804],[93.020297,26.953006],[93.375004,26.988792],[93.460683,26.947244],[93.694674,27.005949],[93.826552,27.095995],[93.84659,27.198892],[93.982512,27.327712],[94.243064,27.525969],[94.243064,27.647977],[94.352929,27.593122],[94.474575,27.593872],[94.798483,27.701229],[94.948138,27.76952],[95.31318,27.895791],[95.408368,27.870831],[95.543554,27.90207],[95.716773,27.990204],[95.964096,27.993305],[95.900741,27.86538],[95.775891,27.717327],[95.804313,27.619374],[95.886788,27.557],[95.879554,27.462613],[95.978256,27.449694],[96.007194,27.365126],[95.903738,27.276087],[95.799559,27.28588],[95.643806,27.230328],[95.545931,27.273943],[95.493427,27.250042],[95.423768,27.141289],[95.261193,27.048866],[95.176444,27.033182],[95.031233,26.933498],[94.917132,26.951172],[94.798896,26.814384],[94.690479,26.741004],[94.486564,26.676667],[94.358199,26.498383],[94.207201,26.483707],[94.177435,26.372447],[94.00773,26.184397],[93.973417,26.040375],[93.98923,25.94622],[93.90417,25.85682],[93.752138,25.959088],[93.708937,25.870101],[93.580779,25.763079],[93.524349,25.689285],[93.335936,25.538028],[93.458513,25.380725],[93.449211,25.302125],[93.394331,25.235049],[93.189175,24.810811],[93.12396,24.809804],[93.087063,24.706994],[93.045721,24.444529],[93.018436,24.399131],[92.82868,24.377324],[92.746308,24.471091],[92.701246,24.361924],[92.630863,24.295132],[92.624455,24.238521],[92.489476,24.132507],[92.416199,24.239451],[92.29848,24.23772],[92.220242,24.264333],[92.257759,24.396005],[92.221689,24.500417],[92.139065,24.545276],[92.198073,24.685755],[92.22665,24.771021],[92.230577,24.786239],[92.228304,24.881324],[92.251248,24.89507],[92.384987,24.848768],[92.443174,24.849388],[92.475059,24.868508],[92.485446,24.903312],[92.468341,24.944137],[92.38605,25.005686],[92.564924,25.152419],[92.805529,25.227711],[92.789613,25.348892],[92.588282,25.498831],[92.593449,25.586656],[92.382403,25.764345],[92.167325,25.689543],[92.165465,25.809174],[92.214661,25.919478],[92.183965,25.993013],[92.26148,26.055413],[92.164122,26.088382],[91.922483,26.03823],[91.825331,26.089261],[91.75195,26.048074],[91.718154,25.967692],[91.582348,26.026887],[91.474655,25.896249],[91.360553,25.843255],[91.250999,25.737602],[91.208108,25.736181],[91.178859,25.869636],[91.096797,25.839922],[90.97453,25.943636],[90.752942,25.962137],[90.644318,25.931467],[90.617653,25.969785],[90.484534,26.011927],[90.135615,25.959785],[89.974178,25.801578],[89.942345,25.691481],[90.002083,25.586811],[89.897283,25.541361],[89.875476,25.460436],[89.80642,25.441048],[89.824884,25.560146],[89.799615,25.839586],[89.822921,25.941414],[89.709853,26.171219],[89.687784,26.195384],[89.727268,26.206204],[89.781528,26.308679],[89.828864,26.327851],[89.888498,26.532903],[89.860038,26.713565]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"IND-2478","diss_me":2478,"iso_3166_2":"IN-MN","wikipedia":null,"iso_a2":"IN","adm0_sr":1,"name":"Manipur","name_alt":null,"name_local":null,"type":"State","type_en":"State","code_local":null,"code_hasc":"IN.MN","note":null,"hasc_maybe":null,"region":"Northeast","region_cod":null,"provnum_ne":20044,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":null,"postal":"MN","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":7,"mapcolor9":2,"mapcolor13":2,"fips":"IN17","fips_alt":null,"woe_id":2345751,"woe_label":"Manipur, IN, India","woe_name":"Manipur","latitude":24.7442,"longitude":93.8457,"sov_a3":"IND","adm0_a3":"IND","adm0_label":2,"admin":"India","geonunit":"India","gu_a3":"IND","gn_id":1263706,"gn_name":"State of Manipur","gns_id":-2103864,"gns_name":"Manipur, State of","gn_level":1,"gn_region":null,"gn_a1_code":"IN.17","region_sub":null,"sub_code":null,"gns_level":1,"gns_lang":"nld","gns_adm1":"IN17","gns_region":null,"min_label":4.6,"max_label":10.1,"min_zoom":4.6,"wikidataid":"Q1193","name_ar":"مانيبور","name_bn":"মণিপুর","name_de":"Manipur","name_en":"Manipur","name_es":"Manipur","name_fr":"Manipur","name_el":"Μανιπούρ","name_hi":"मणिपुर","name_hu":"Manipur","name_id":"Manipur","name_it":"Manipur","name_ja":"マニプル州","name_ko":"마니푸르","name_nl":"Manipur","name_pl":"Manipur","name_pt":"Manipur","name_ru":"Манипур","name_sv":"Manipur","name_tr":"Manipur","name_vi":"Manipur","name_zh":"曼尼普尔邦","ne_id":1159311867,"name_he":"מניפור","name_uk":"Маніпур","name_ur":"منی پور","name_fa":"مانیپور","name_zht":"曼尼普爾邦","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[92.995492,23.872083,94.707584,25.684221],"geometry":{"type":"Polygon","coordinates":[[[94.654788,25.444758],[94.622886,25.410026],[94.579943,25.31985],[94.554415,25.243447],[94.55302,25.215722],[94.566507,25.191512],[94.615651,25.164588],[94.675286,25.138569],[94.70376,25.097848],[94.707584,25.048756],[94.663297,24.930985],[94.584077,24.767248],[94.493178,24.637644],[94.399437,24.51406],[94.377268,24.473752],[94.293036,24.321875],[94.219707,24.11318],[94.170252,23.972646],[94.127671,23.876476],[94.074754,23.872083],[94.010831,23.902934],[93.855491,23.943913],[93.755859,23.976909],[93.683357,24.006519],[93.633283,24.005357],[93.564036,23.986081],[93.493808,23.972852],[93.452157,23.987399],[93.355573,24.074112],[93.326273,24.06419],[93.312122,24.032525],[93.248603,24.056982],[93.105666,24.044941],[92.995492,24.095274],[93.018436,24.399131],[93.045721,24.444529],[93.087063,24.706994],[93.12396,24.809804],[93.189175,24.810811],[93.394331,25.235049],[93.449211,25.302125],[93.605481,25.2058],[93.679068,25.328273],[93.808569,25.446096],[93.803195,25.543557],[94.026747,25.553841],[94.209371,25.495498],[94.325333,25.512035],[94.564699,25.684221],[94.552813,25.490331],[94.654788,25.444758]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"IND-2479","diss_me":2479,"iso_3166_2":"IN-NL","wikipedia":null,"iso_a2":"IN","adm0_sr":1,"name":"Nagaland","name_alt":null,"name_local":null,"type":"State","type_en":"State","code_local":null,"code_hasc":"IN.NL","note":null,"hasc_maybe":null,"region":"Northeast","region_cod":null,"provnum_ne":20046,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":null,"postal":"NL","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":8,"mapcolor9":2,"mapcolor13":2,"fips":"IN20","fips_alt":null,"woe_id":2345754,"woe_label":"Nagaland, IN, India","woe_name":"Nagaland","latitude":26.1094,"longitude":94.5664,"sov_a3":"IND","adm0_a3":"IND","adm0_label":2,"admin":"India","geonunit":"India","gu_a3":"IND","gn_id":1262271,"gn_name":"State of Nagaland","gns_id":-2105305,"gns_name":"Nagaland, State of","gn_level":1,"gn_region":null,"gn_a1_code":"IN.20","region_sub":null,"sub_code":null,"gns_level":1,"gns_lang":"nld","gns_adm1":"IN20","gns_region":null,"min_label":4.6,"max_label":10.1,"min_zoom":4.6,"wikidataid":"Q1599","name_ar":"ناجالاند","name_bn":"নাগাল্যান্ড","name_de":"Nagaland","name_en":"Nagaland","name_es":"Nagaland","name_fr":"Nagaland","name_el":"Ναγκαλάντ","name_hi":"नागालैण्ड","name_hu":"Nágaföld","name_id":"Nagaland","name_it":"Nagaland","name_ja":"ナガランド州","name_ko":"나갈랜드","name_nl":"Nagaland","name_pl":"Nagaland","name_pt":"Nagaland","name_ru":"Нагаленд","name_sv":"Nagaland","name_tr":"Nagaland","name_vi":"Nagaland","name_zh":"那加兰邦","ne_id":1159311869,"name_he":"נאגאלנד","name_uk":"Нагаленд","name_ur":"ناگالینڈ","name_fa":"ناگالند","name_zht":"那加蘭邦","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[93.335936,25.2058,95.246448,27.033182],"geometry":{"type":"Polygon","coordinates":[[[95.246448,26.654794],[95.201456,26.641397],[95.128695,26.597292],[95.089421,26.525513],[95.05981,26.473992],[95.05087,26.347281],[95.068957,26.191141],[95.108438,26.091431],[95.129315,26.070399],[95.132467,26.041253],[95.092935,25.987303],[95.040742,25.941311],[95.015214,25.912941],[94.991959,25.770469],[94.945761,25.70024],[94.861115,25.597198],[94.785874,25.519321],[94.667741,25.45886],[94.654788,25.444758],[94.552813,25.490331],[94.564699,25.684221],[94.325333,25.512035],[94.209371,25.495498],[94.026747,25.553841],[93.803195,25.543557],[93.808569,25.446096],[93.679068,25.328273],[93.605481,25.2058],[93.449211,25.302125],[93.458513,25.380725],[93.335936,25.538028],[93.524349,25.689285],[93.580779,25.763079],[93.708937,25.870101],[93.752138,25.959088],[93.90417,25.85682],[93.98923,25.94622],[93.973417,26.040375],[94.00773,26.184397],[94.177435,26.372447],[94.207201,26.483707],[94.358199,26.498383],[94.486564,26.676667],[94.690479,26.741004],[94.798896,26.814384],[94.917132,26.951172],[95.031233,26.933498],[95.176444,27.033182],[95.225433,26.974219],[95.202179,26.866732],[95.235252,26.790613],[95.246448,26.654794]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"IND-2489","diss_me":2489,"iso_3166_2":"IN-ML","wikipedia":null,"iso_a2":"IN","adm0_sr":1,"name":"Meghalaya","name_alt":null,"name_local":null,"type":"State","type_en":"State","code_local":null,"code_hasc":"IN.ML","note":null,"hasc_maybe":null,"region":"Northeast","region_cod":null,"provnum_ne":20048,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":null,"postal":"ML","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":9,"mapcolor9":2,"mapcolor13":2,"fips":"IN18","fips_alt":null,"woe_id":2345752,"woe_label":"Meghalaya, IN, India","woe_name":"Meghalaya","latitude":25.4804,"longitude":91.3031,"sov_a3":"IND","adm0_a3":"IND","adm0_label":2,"admin":"India","geonunit":"India","gu_a3":"IND","gn_id":1263207,"gn_name":"State of Meghalaya","gns_id":-2104368,"gns_name":"Meghalaya, State of","gn_level":1,"gn_region":null,"gn_a1_code":"IN.18","region_sub":null,"sub_code":null,"gns_level":1,"gns_lang":"nld","gns_adm1":"IN18","gns_region":null,"min_label":4.6,"max_label":10.1,"min_zoom":4.6,"wikidataid":"Q1195","name_ar":"ميغالايا","name_bn":"মেঘালয়","name_de":"Meghalaya","name_en":"Meghalaya","name_es":"Megalaya","name_fr":"Meghalaya","name_el":"Μεγκαλάγια","name_hi":"मेघालय","name_hu":"Meghálaja","name_id":"Meghalaya","name_it":"Meghalaya","name_ja":"メーガーラヤ州","name_ko":"메갈라야","name_nl":"Meghalaya","name_pl":"Meghalaya","name_pt":"Meghalaya","name_ru":"Мегалая","name_sv":"Meghalaya","name_tr":"Meghalaya","name_vi":"Meghalaya","name_zh":"梅加拉亚邦","ne_id":1159311871,"name_he":"מגהלאיה","name_uk":"Меґхалая","name_ur":"میگھالیہ","name_fa":"مگالایا","name_zht":"梅加拉亚邦","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[89.796307,25.005686,92.805529,26.089261],"geometry":{"type":"Polygon","coordinates":[[[92.38605,25.005686],[92.373411,25.01514],[92.204636,25.110948],[92.04971,25.169472],[91.763526,25.160635],[91.479719,25.142135],[91.396623,25.151618],[91.293115,25.177973],[91.038299,25.174071],[90.730204,25.159472],[90.613053,25.167741],[90.555331,25.166578],[90.439369,25.157715],[90.25044,25.184975],[90.119595,25.21996],[90.00384,25.258355],[89.866277,25.293159],[89.833308,25.292798],[89.814084,25.305355],[89.800907,25.336154],[89.796307,25.375816],[89.80642,25.441048],[89.875476,25.460436],[89.897283,25.541361],[90.002083,25.586811],[89.942345,25.691481],[89.974178,25.801578],[90.135615,25.959785],[90.484534,26.011927],[90.617653,25.969785],[90.644318,25.931467],[90.752942,25.962137],[90.97453,25.943636],[91.096797,25.839922],[91.178859,25.869636],[91.208108,25.736181],[91.250999,25.737602],[91.360553,25.843255],[91.474655,25.896249],[91.582348,26.026887],[91.718154,25.967692],[91.75195,26.048074],[91.825331,26.089261],[91.922483,26.03823],[92.164122,26.088382],[92.26148,26.055413],[92.183965,25.993013],[92.214661,25.919478],[92.165465,25.809174],[92.167325,25.689543],[92.382403,25.764345],[92.593449,25.586656],[92.588282,25.498831],[92.789613,25.348892],[92.805529,25.227711],[92.564924,25.152419],[92.38605,25.005686]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"IND-3249","diss_me":3249,"iso_3166_2":"IN-PB","wikipedia":null,"iso_a2":"IN","adm0_sr":1,"name":"Punjab","name_alt":null,"name_local":null,"type":"State","type_en":"State","code_local":null,"code_hasc":"IN.PB","note":null,"hasc_maybe":null,"region":"North","region_cod":null,"provnum_ne":20063,"gadm_level":1,"check_me":20,"datarank":2,"abbrev":null,"postal":"PB","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":6,"mapcolor9":2,"mapcolor13":2,"fips":"IN23","fips_alt":null,"woe_id":2345756,"woe_label":"Punjab, IN, India","woe_name":"Punjab","latitude":31.0245,"longitude":75.3762,"sov_a3":"IND","adm0_a3":"IND","adm0_label":2,"admin":"India","geonunit":"India","gu_a3":"IND","gn_id":1259223,"gn_name":"State of Punjab","gns_id":-2108367,"gns_name":"Punjab, State of","gn_level":1,"gn_region":null,"gn_a1_code":"IN.23","region_sub":null,"sub_code":null,"gns_level":1,"gns_lang":"nld","gns_adm1":"IN23","gns_region":null,"min_label":4.6,"max_label":10.1,"min_zoom":4.6,"wikidataid":"Q22424","name_ar":"بنجاب","name_bn":"পাঞ্জাব","name_de":"Punjab","name_en":"Punjab","name_es":"Panyab","name_fr":"Pendjab","name_el":"Παντζάμπ","name_hi":"पंजाब","name_hu":"Pandzsáb","name_id":"Punjab","name_it":"Punjab","name_ja":"パンジャーブ州","name_ko":"펀자브","name_nl":"Punjab","name_pl":"Pendżab","name_pt":"Punjab","name_ru":"Пенджаб","name_sv":"Punjab","name_tr":"Pencap","name_vi":"Punjab","name_zh":"旁遮普邦","ne_id":1159314155,"name_he":"פנג'אב","name_uk":"Пенджаб","name_ur":"پنجاب، بھارت","name_fa":"پنجاب","name_zht":"旁遮普邦","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[73.882705,29.561788,76.904898,32.516749],"geometry":{"type":"Polygon","coordinates":[[[75.293437,32.325995],[75.390365,32.335494],[75.5024,32.300587],[75.611954,32.395465],[75.682647,32.399806],[75.743005,32.464375],[75.847391,32.516749],[75.911677,32.431354],[75.692672,32.272268],[75.622909,32.258522],[75.639445,32.146849],[75.601618,32.068947],[75.706521,32.049827],[75.879741,31.97239],[75.964283,31.848754],[75.923252,31.806276],[76.07053,31.564172],[76.158484,31.338553],[76.275376,31.310441],[76.373561,31.419245],[76.433505,31.317804],[76.561146,31.276722],[76.645172,30.999271],[76.768162,30.907597],[76.832758,30.842278],[76.814567,30.789129],[76.703773,30.781403],[76.775603,30.677404],[76.82728,30.680712],[76.886604,30.633789],[76.904898,30.384089],[76.752866,30.43052],[76.714315,30.337115],[76.605588,30.274431],[76.624812,30.142837],[76.531381,30.083978],[76.429578,30.140357],[76.266694,30.113692],[76.178121,29.954684],[76.22556,29.869082],[75.956945,29.738624],[75.886665,29.749244],[75.786,29.83097],[75.717684,29.778028],[75.604409,29.764669],[75.445762,29.806191],[75.31161,29.656175],[75.29528,29.574862],[75.234612,29.561788],[75.172084,29.688214],[75.23823,29.748779],[75.187897,29.834743],[75.105214,29.821384],[75.072762,29.891147],[74.99566,29.872983],[74.90347,29.954839],[74.823371,29.984992],[74.710717,29.968378],[74.650669,29.914066],[74.516517,29.94719],[73.915933,29.979902],[73.898466,30.034911],[73.969677,30.137437],[73.9334,30.222083],[73.924615,30.281614],[73.882705,30.352153],[73.891542,30.394062],[73.899293,30.435378],[74.009002,30.519688],[74.215605,30.768975],[74.33937,30.893567],[74.380401,30.893412],[74.509747,30.959661],[74.63284,31.034643],[74.625761,31.06875],[74.610309,31.11283],[74.539771,31.132674],[74.517705,31.18559],[74.534965,31.261374],[74.593928,31.465367],[74.581836,31.523942],[74.510005,31.712948],[74.526025,31.765142],[74.555532,31.818575],[74.635786,31.889733],[74.739449,31.948851],[75.071521,32.089334],[75.138804,32.104759],[75.254146,32.140312],[75.324684,32.215269],[75.333521,32.279219],[75.30365,32.317581],[75.302618,32.318906],[75.293437,32.325995]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"IND-3250","diss_me":3250,"iso_3166_2":"IN-RJ","wikipedia":null,"iso_a2":"IN","adm0_sr":1,"name":"Rajasthan","name_alt":"Greater Rajasthan|Rajputana","name_local":null,"type":"State","type_en":"State","code_local":null,"code_hasc":"IN.RJ","note":null,"hasc_maybe":null,"region":"Central","region_cod":null,"provnum_ne":20062,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":null,"postal":"RJ","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":9,"mapcolor9":2,"mapcolor13":2,"fips":"IN24","fips_alt":null,"woe_id":2345757,"woe_label":"Rajasthan, IN, India","woe_name":"Rajasthan","latitude":26.7468,"longitude":73.8556,"sov_a3":"IND","adm0_a3":"IND","adm0_label":2,"admin":"India","geonunit":"India","gu_a3":"IND","gn_id":1258899,"gn_name":"State of Rajasthan","gns_id":-2108695,"gns_name":"Rajasthan, State of","gn_level":1,"gn_region":null,"gn_a1_code":"IN.24","region_sub":null,"sub_code":null,"gns_level":1,"gns_lang":"nld","gns_adm1":"IN24","gns_region":null,"min_label":4.6,"max_label":10.1,"min_zoom":4.6,"wikidataid":"Q1437","name_ar":"راجستان","name_bn":"রাজস্থান","name_de":"Rajasthan","name_en":"Rajasthan","name_es":"Rajastán","name_fr":"Rajasthan","name_el":"Ράτζασταν","name_hi":"राजस्थान","name_hu":"Rádzsasztán","name_id":"Rajasthan","name_it":"Rajasthan","name_ja":"ラージャスターン州","name_ko":"라자스탄","name_nl":"Rajasthan","name_pl":"Radżastan","name_pt":"Rajastão","name_ru":"Раджастхан","name_sv":"Rajasthan","name_tr":"Racasthan","name_vi":"Rajasthan","name_zh":"拉贾斯坦邦","ne_id":1159314157,"name_he":"ראג'סטאן","name_uk":"Раджастхан","name_ur":"راجستھان","name_fa":"راجستان","name_zht":"拉賈斯坦邦","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[69.470003,23.036062,78.22306,30.222083],"geometry":{"type":"Polygon","coordinates":[[[71.047891,24.687744],[71.020709,24.757662],[70.950843,24.891608],[70.877772,25.062992],[70.800464,25.205852],[70.702486,25.331064],[70.65205,25.422893],[70.657217,25.625775],[70.648484,25.666935],[70.614791,25.69192],[70.569574,25.705976],[70.505909,25.685306],[70.448548,25.681327],[70.325196,25.685719],[70.264631,25.706545],[70.100249,25.910047],[70.078648,25.990042],[70.077718,26.071949],[70.132598,26.214783],[70.149238,26.347539],[70.156886,26.471434],[70.147688,26.506444],[70.114615,26.548044],[70.059321,26.57874],[69.911423,26.586129],[69.735878,26.627031],[69.600641,26.699094],[69.506952,26.742657],[69.481268,26.770976],[69.470003,26.804462],[69.494498,26.954169],[69.537027,27.122944],[69.56793,27.174595],[69.62157,27.22808],[69.661309,27.264486],[69.724819,27.312674],[69.896282,27.473621],[70.049812,27.694744],[70.144587,27.849024],[70.193886,27.894887],[70.244323,27.934135],[70.318427,27.981652],[70.403693,28.02506],[70.488597,28.023148],[70.569264,27.98377],[70.629054,27.937442],[70.649104,27.83533],[70.691582,27.769003],[70.737367,27.729031],[70.797932,27.709627],[70.87493,27.714433],[71.18473,27.831635],[71.29015,27.855251],[71.543003,27.869875],[71.716687,27.915092],[71.87027,27.962505],[71.888873,28.047487],[71.947991,28.177298],[72.128549,28.346358],[72.179192,28.42178],[72.233865,28.565802],[72.291949,28.697293],[72.341921,28.751915],[72.625624,28.896144],[72.903282,29.028771],[72.948757,29.088819],[73.128333,29.363919],[73.231117,29.550626],[73.257834,29.610699],[73.317313,29.773015],[73.381599,29.934349],[73.467485,29.971685],[73.658068,30.033206],[73.80917,30.093357],[73.886529,30.162035],[73.9334,30.222083],[73.969677,30.137437],[73.898466,30.034911],[73.915933,29.979902],[74.516517,29.94719],[74.547006,29.860813],[74.466494,29.798931],[74.506285,29.73679],[74.602713,29.726351],[74.574808,29.589693],[74.602093,29.470424],[74.537084,29.441382],[74.612841,29.332809],[74.758569,29.364254],[74.821408,29.402934],[74.90719,29.378465],[74.969616,29.284337],[75.106558,29.238216],[75.249702,29.256406],[75.328353,29.296222],[75.391502,29.252685],[75.392949,29.105976],[75.452067,29.023862],[75.515009,28.996473],[75.485966,28.926839],[75.593557,28.642671],[75.698563,28.520559],[75.887079,28.403848],[76.026192,28.262229],[76.032496,28.187815],[75.961906,28.139497],[75.992809,28.050691],[75.931521,27.91809],[75.99994,27.842745],[76.215018,27.841505],[76.180084,27.909563],[76.163341,28.0579],[76.266694,28.077485],[76.36798,28.15637],[76.453453,28.162829],[76.553085,27.971239],[76.657988,28.016972],[76.646826,28.085521],[76.856632,28.228975],[76.940555,28.122987],[76.920918,28.033535],[76.940555,27.852099],[76.900867,27.73438],[76.973007,27.679293],[77.040807,27.807295],[77.280689,27.80944],[77.345595,27.541885],[77.459799,27.385073],[77.606147,27.32363],[77.657307,27.202707],[77.591368,27.130747],[77.51344,27.109224],[77.628471,26.97316],[77.460833,26.904224],[77.510546,26.833324],[77.704642,26.929752],[77.976564,26.904379],[78.106892,26.947296],[78.22306,26.937064],[78.200116,26.823583],[78.101207,26.795109],[78.0794,26.682919],[78.012841,26.69558],[77.90277,26.664032],[77.831456,26.575768],[77.715081,26.506031],[77.616792,26.482983],[77.431274,26.373662],[77.323374,26.351984],[77.209686,26.241964],[77.124729,26.237856],[77.082458,26.185275],[76.907998,26.098588],[76.727028,25.9163],[76.651787,25.922656],[76.545953,25.848293],[76.478361,25.7198],[76.551431,25.460126],[76.652304,25.379175],[76.780151,25.33202],[76.913476,25.309308],[77.080598,25.353181],[77.201624,25.35561],[77.255471,25.433512],[77.358617,25.407106],[77.362958,25.262128],[77.398925,25.212234],[77.341254,25.113997],[77.187361,25.12751],[76.999362,25.08772],[76.860973,25.033795],[76.883194,24.896956],[76.780564,24.837141],[76.848054,24.759703],[76.966806,24.737483],[77.037396,24.670303],[77.035226,24.538399],[76.942932,24.500236],[76.880507,24.56186],[76.806196,24.555788],[76.814567,24.360115],[76.891565,24.240924],[76.870275,24.181651],[76.766612,24.160334],[76.572515,24.273247],[76.542749,24.215189],[76.45614,24.265031],[76.230314,24.277872],[76.132749,24.329394],[76.116626,24.134031],[75.99901,24.051116],[75.997873,23.983937],[75.899378,23.918334],[75.776491,23.883142],[75.699804,23.793199],[75.597071,23.8179],[75.578157,23.875726],[75.490307,23.939934],[75.538883,24.041375],[75.621772,23.995228],[75.729983,24.00068],[75.805017,24.119122],[75.747759,24.190048],[75.794785,24.251647],[75.734427,24.423962],[75.792201,24.494164],[75.874883,24.514266],[75.869406,24.599377],[75.758818,24.777377],[75.648954,24.738335],[75.448036,24.703144],[75.20371,24.724951],[75.17198,24.762546],[75.317915,24.955247],[75.235129,25.040229],[75.133326,25.040022],[75.084441,24.888895],[74.981398,24.863031],[74.875874,24.919358],[74.81531,24.916516],[74.837841,24.797143],[74.974266,24.785748],[74.965378,24.694049],[74.869673,24.665575],[74.806525,24.735777],[74.711853,24.523852],[74.846832,24.435511],[74.766424,24.35872],[74.759292,24.256685],[74.869983,24.236118],[74.893134,24.134496],[74.968169,24.032771],[74.908327,23.896733],[74.90657,23.791313],[74.939023,23.687366],[74.822958,23.500116],[74.648188,23.43056],[74.569537,23.36785],[74.53636,23.250907],[74.65842,23.226464],[74.715884,23.179206],[74.611911,23.112672],[74.476106,23.062365],[74.323453,23.036062],[74.23333,23.1559],[74.108996,23.191117],[74.105792,23.247677],[73.959548,23.358833],[73.904461,23.333382],[73.811857,23.434616],[73.710674,23.415031],[73.618794,23.451876],[73.620551,23.582592],[73.51079,23.684498],[73.361652,23.784233],[73.364029,23.889085],[73.42387,23.940942],[73.354107,24.104731],[73.245586,24.015537],[73.079292,24.204311],[73.137169,24.335931],[73.095001,24.503647],[72.99971,24.493286],[72.958679,24.390062],[72.897391,24.360581],[72.747012,24.380657],[72.667637,24.460936],[72.555706,24.50667],[72.500929,24.49605],[72.275206,24.568397],[72.261667,24.60824],[72.099403,24.656557],[72.050931,24.708363],[71.947888,24.662629],[71.750897,24.678132],[71.651885,24.658004],[71.545845,24.688054],[71.378414,24.646661],[71.251496,24.636817],[71.047891,24.687744]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"IND-3253","diss_me":3253,"iso_3166_2":"IN-UP","wikipedia":null,"iso_a2":"IN","adm0_sr":1,"name":"Uttar Pradesh","name_alt":"United Provinces","name_local":null,"type":"State","type_en":"State","code_local":null,"code_hasc":"IN.UP","note":null,"hasc_maybe":null,"region":"Central","region_cod":null,"provnum_ne":20067,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":null,"postal":"UP","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":13,"mapcolor9":2,"mapcolor13":2,"fips":"IN36","fips_alt":"IN27","woe_id":2345760,"woe_label":"Uttar Pradesh, IN, India","woe_name":"Uttar Pradesh","latitude":26.7201,"longitude":80.9966,"sov_a3":"IND","adm0_a3":"IND","adm0_label":2,"admin":"India","geonunit":"India","gu_a3":"IND","gn_id":1253626,"gn_name":"State of Uttar Pradesh","gns_id":-2113996,"gns_name":"Uttar Pradesh, State of","gn_level":1,"gn_region":null,"gn_a1_code":"IN.36","region_sub":null,"sub_code":null,"gns_level":1,"gns_lang":"nld","gns_adm1":"IN36","gns_region":null,"min_label":4.6,"max_label":10.1,"min_zoom":4.6,"wikidataid":"Q1498","name_ar":"أتر برديش","name_bn":"উত্তরপ্রদেশ","name_de":"Uttar Pradesh","name_en":"Uttar Pradesh","name_es":"Uttar Pradesh","name_fr":"Uttar Pradesh","name_el":"Ούταρ Πραντές","name_hi":"उत्तर प्रदेश","name_hu":"Uttar Prades","name_id":"Uttar Pradesh","name_it":"Uttar Pradesh","name_ja":"ウッタル・プラデーシュ州","name_ko":"우타르프라데시","name_nl":"Uttar Pradesh","name_pl":"Uttar Pradesh","name_pt":"Uttar Pradesh","name_ru":"Уттар-Прадеш","name_sv":"Uttar Pradesh","name_tr":"Uttar Pradeş","name_vi":"Uttar Pradesh","name_zh":"北方邦","ne_id":1159314159,"name_he":"אוטר פרדש","name_uk":"Уттар-Прадеш","name_ur":"اتر پردیش","name_fa":"اوتار پرادش","name_zht":"北方邦","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[77.064681,23.911047,84.605513,30.394915],"geometry":{"type":"Polygon","coordinates":[[[80.070699,28.830179],[80.149661,28.776047],[80.226556,28.723363],[80.324844,28.66639],[80.418585,28.612026],[80.47915,28.604895],[80.49579,28.635798],[80.517907,28.665176],[80.586999,28.649621],[80.671335,28.596239],[80.726215,28.553916],[80.750761,28.539705],[80.896127,28.468547],[81.016585,28.409584],[81.168927,28.335015],[81.206237,28.289385],[81.239,28.240861],[81.310831,28.176368],[81.486014,28.062215],[81.635514,27.980463],[81.757212,27.913826],[81.852606,27.867085],[81.896841,27.874475],[81.94521,27.899279],[81.987637,27.913749],[82.036988,27.900597],[82.111867,27.864966],[82.287722,27.756549],[82.451381,27.671825],[82.629923,27.68707],[82.677362,27.673453],[82.710848,27.596662],[82.733379,27.518992],[82.932799,27.467678],[83.064005,27.444553],[83.213867,27.402281],[83.289728,27.371017],[83.369413,27.410265],[83.383934,27.444811],[83.447134,27.465352],[83.551624,27.456361],[83.746961,27.395951],[83.828816,27.377812],[83.942401,27.222499],[83.938267,27.164389],[84.02343,27.059951],[84.070559,26.923602],[84.149004,26.876344],[84.240781,26.8742],[84.246362,26.757049],[84.306307,26.744363],[84.382994,26.641656],[84.099187,26.649588],[84.054022,26.564761],[83.920077,26.53267],[83.955114,26.453915],[84.026117,26.46916],[84.177632,26.40428],[84.187244,26.292788],[83.992734,26.241138],[84.064874,26.103549],[84.150347,26.066006],[84.261451,25.931312],[84.374313,25.940303],[84.419685,25.889557],[84.531616,25.862091],[84.605513,25.799795],[84.600656,25.747008],[84.486657,25.700731],[84.372762,25.765068],[84.314678,25.74215],[84.324187,25.658899],[84.238921,25.64797],[84.212876,25.728042],[84.143422,25.736207],[83.904264,25.529476],[83.774866,25.444959],[83.384089,25.235928],[83.334273,25.172624],[83.323317,25.068005],[83.359904,25.008965],[83.360214,24.863263],[83.508836,24.762081],[83.530953,24.703583],[83.523099,24.529666],[83.401659,24.498298],[83.453956,24.361588],[83.337063,24.140232],[83.206322,23.944017],[83.08881,23.911047],[82.964373,23.913915],[82.800869,23.998716],[82.679429,24.166768],[82.732863,24.21413],[82.766969,24.386031],[82.734103,24.419698],[82.734413,24.551628],[82.808414,24.566408],[82.772137,24.668314],[82.692245,24.719809],[82.623929,24.691878],[82.427145,24.718569],[82.423631,24.647514],[82.302708,24.638135],[82.319038,24.702033],[82.033164,24.859491],[81.881132,24.921528],[81.817156,25.035759],[81.585232,25.079632],[81.536967,25.199754],[81.360543,25.156966],[81.243238,25.169523],[81.239,25.098081],[81.184843,24.97292],[81.09813,24.908609],[80.998808,24.96566],[80.892975,24.984134],[80.778667,24.971499],[80.858868,25.187558],[80.806055,25.212156],[80.717895,25.081984],[80.647202,25.070098],[80.579506,25.147923],[80.515117,25.040668],[80.458376,25.01514],[80.288257,25.016225],[80.265313,25.063819],[80.421996,25.180737],[80.395021,25.246676],[80.326498,25.282256],[80.283606,25.41447],[80.191106,25.413333],[80.124546,25.350959],[80.015302,25.330909],[79.852108,25.247839],[79.86327,25.153245],[79.661112,25.148078],[79.541636,25.176551],[79.468152,25.103843],[79.339065,25.147406],[79.424744,25.257192],[79.294519,25.259415],[79.268991,25.164123],[79.109001,25.195026],[79.024045,25.174639],[78.983427,25.237375],[78.885035,25.265538],[78.954902,25.385712],[78.919142,25.504593],[78.853099,25.434029],[78.748816,25.426149],[78.727526,25.346386],[78.597094,25.414005],[78.515859,25.26621],[78.609807,25.136321],[78.640192,24.96411],[78.732073,24.81492],[78.715433,24.685109],[78.750367,24.629841],[78.878731,24.613201],[78.955005,24.392542],[78.825814,24.230149],[78.746646,24.279423],[78.655902,24.29459],[78.489401,24.410784],[78.385531,24.30123],[78.330134,24.342029],[78.350494,24.407968],[78.277527,24.453107],[78.228848,24.532741],[78.264815,24.583487],[78.261301,24.692653],[78.16911,24.865459],[78.336542,25.022995],[78.366307,25.186008],[78.261921,25.411705],[78.330031,25.464777],[78.370545,25.552678],[78.55844,25.575545],[78.714503,25.62593],[78.753571,25.674273],[78.739825,25.789796],[78.808348,25.84155],[78.954075,26.109983],[78.963274,26.278086],[79.060839,26.355084],[79.028076,26.497556],[78.974436,26.571583],[78.935782,26.694443],[78.842351,26.711936],[78.693213,26.797874],[78.563505,26.758496],[78.371475,26.851049],[78.200116,26.823583],[78.22306,26.937064],[78.106892,26.947296],[77.976564,26.904379],[77.704642,26.929752],[77.510546,26.833324],[77.460833,26.904224],[77.628471,26.97316],[77.51344,27.109224],[77.591368,27.130747],[77.657307,27.202707],[77.606147,27.32363],[77.459799,27.385073],[77.345595,27.541885],[77.280689,27.80944],[77.424453,27.890753],[77.47985,27.898039],[77.526462,27.974468],[77.468068,28.046815],[77.528942,28.25347],[77.466517,28.315223],[77.497006,28.393254],[77.327404,28.519707],[77.337533,28.626186],[77.306941,28.720599],[77.227152,28.783592],[77.200797,28.876791],[77.195733,28.997584],[77.141369,29.130341],[77.130724,29.28059],[77.149844,29.403374],[77.064681,29.569513],[77.087832,29.6585],[77.180437,29.804253],[77.229943,29.976646],[77.28472,30.038089],[77.570077,30.27823],[77.585063,30.382926],[77.661544,30.394915],[77.750634,30.325617],[77.928918,30.24433],[77.83497,30.131391],[77.746397,29.977344],[77.747017,29.877996],[77.783811,29.741751],[77.831456,29.659895],[77.982765,29.718755],[78.107202,29.654521],[78.189057,29.706688],[78.154951,29.925435],[78.228331,29.947423],[78.38057,29.761569],[78.478652,29.721959],[78.643086,29.537577],[78.906946,29.388362],[78.721531,29.284027],[78.867672,29.215168],[78.950354,29.127008],[79.055878,29.151761],[79.170599,29.051121],[79.29638,28.971565],[79.371207,28.969886],[79.443658,28.849583],[79.526237,28.878418],[79.699353,28.850436],[79.743278,28.88524],[79.841049,28.855293],[79.84446,28.804857],[80.000626,28.737316],[80.070699,28.830179]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"IND-3254","diss_me":3254,"iso_3166_2":"IN-UT","wikipedia":null,"iso_a2":"IN","adm0_sr":1,"name":"Uttarakhand","name_alt":"Uttaranchal","name_local":null,"type":"State","type_en":"State","code_local":null,"code_hasc":"IN.UT","note":null,"hasc_maybe":null,"region":"Central","region_cod":null,"provnum_ne":20065,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":null,"postal":"UT","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":11,"mapcolor9":2,"mapcolor13":2,"fips":"IN39","fips_alt":null,"woe_id":20070462,"woe_label":"Uttarakhand, IN, India","woe_name":"Uttaranchal","latitude":30.0576,"longitude":79.2841,"sov_a3":"IND","adm0_a3":"IND","adm0_label":2,"admin":"India","geonunit":"India","gu_a3":"IND","gn_id":1444366,"gn_name":"State of Uttarakhand","gns_id":6240779,"gns_name":"Uttarakhand, State of","gn_level":1,"gn_region":null,"gn_a1_code":"IN.39","region_sub":null,"sub_code":null,"gns_level":1,"gns_lang":"eng","gns_adm1":"IN39","gns_region":null,"min_label":4.6,"max_label":10.1,"min_zoom":4.6,"wikidataid":"Q1499","name_ar":"أوتاراخند","name_bn":"উত্তরাখণ্ড","name_de":"Uttarakhand","name_en":"Uttarakhand","name_es":"Uttarakhand","name_fr":"Uttarakhand","name_el":"Ουταράχαντ","name_hi":"उत्तराखण्ड","name_hu":"Uttarakhand","name_id":"Uttarakhand","name_it":"Uttarakhand","name_ja":"ウッタラーカンド州","name_ko":"우타라칸드","name_nl":"Uttarakhand","name_pl":"Uttarakhand","name_pt":"Uttarakhand","name_ru":"Уттаракханд","name_sv":"Uttarakhand","name_tr":"Uttarakhand","name_vi":"Uttarakhand","name_zh":"北阿坎德邦","ne_id":1159314161,"name_he":"אוטראקהאנד","name_uk":"Уттаракханд","name_ur":"اتراکھنڈ","name_fa":"اوتاراکند","name_zht":"北阿坎德邦","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[77.585063,28.737316,81.010229,31.426222],"geometry":{"type":"Polygon","coordinates":[[[81.010229,30.164516],[80.966149,30.180019],[80.907651,30.171905],[80.848171,30.139763],[80.819904,30.11935],[80.684099,29.994319],[80.612889,29.955846],[80.549068,29.899777],[80.401842,29.730253],[80.316886,29.572071],[80.254874,29.423321],[80.25596,29.31803],[80.232963,29.194627],[80.169557,29.124321],[80.130489,29.100395],[80.0846,28.994174],[80.051631,28.870331],[80.070699,28.830179],[80.000626,28.737316],[79.84446,28.804857],[79.841049,28.855293],[79.743278,28.88524],[79.699353,28.850436],[79.526237,28.878418],[79.443658,28.849583],[79.371207,28.969886],[79.29638,28.971565],[79.170599,29.051121],[79.055878,29.151761],[78.950354,29.127008],[78.867672,29.215168],[78.721531,29.284027],[78.906946,29.388362],[78.643086,29.537577],[78.478652,29.721959],[78.38057,29.761569],[78.228331,29.947423],[78.154951,29.925435],[78.189057,29.706688],[78.107202,29.654521],[77.982765,29.718755],[77.831456,29.659895],[77.783811,29.741751],[77.747017,29.877996],[77.746397,29.977344],[77.83497,30.131391],[77.928918,30.24433],[77.750634,30.325617],[77.661544,30.394915],[77.585063,30.382926],[77.812956,30.521057],[77.705779,30.791454],[77.789082,30.930645],[77.806032,31.050508],[77.941114,31.172904],[78.039712,31.17218],[78.284245,31.290338],[78.368685,31.290028],[78.500976,31.219568],[78.581695,31.231066],[78.792741,31.20701],[78.869533,31.121977],[78.993349,31.163395],[78.869351,31.314989],[78.899505,31.33137],[78.946014,31.337209],[78.973919,31.328631],[79.011074,31.414104],[79.043785,31.426222],[79.107141,31.402657],[79.232611,31.241763],[79.338755,31.105699],[79.369657,31.079912],[79.370482,31.079223],[79.388467,31.064202],[79.493164,30.993716],[79.565459,30.949093],[79.664264,30.965216],[79.794592,30.968265],[79.8719,30.924624],[79.910361,30.898435],[79.9166,30.894187],[80.0815,30.78192],[80.149454,30.789852],[80.19431,30.759208],[80.207125,30.683735],[80.186248,30.605316],[80.191159,30.568787],[80.191209,30.568419],[80.260972,30.561339],[80.409594,30.509456],[80.540955,30.463541],[80.608858,30.448891],[80.682135,30.414836],[80.746782,30.360421],[80.873545,30.29058],[80.985476,30.237121],[81.010229,30.164516]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"IND-3256","diss_me":3256,"iso_3166_2":"IN-JH","wikipedia":null,"iso_a2":"IN","adm0_sr":1,"name":"Jharkhand","name_alt":"Vananchal","name_local":null,"type":"State","type_en":"State","code_local":null,"code_hasc":"IN.JH","note":null,"hasc_maybe":null,"region":"East","region_cod":null,"provnum_ne":20061,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":null,"postal":"JH","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":9,"mapcolor9":2,"mapcolor13":2,"fips":"IN38","fips_alt":"IN04|IN34","woe_id":20070463,"woe_label":"Jharkhand, IN, India","woe_name":"Jharkhand","latitude":23.5221,"longitude":85.0584,"sov_a3":"IND","adm0_a3":"IND","adm0_label":2,"admin":"India","geonunit":"India","gu_a3":"IND","gn_id":1444365,"gn_name":"State of Jharkhand","gns_id":6240778,"gns_name":"Jharkhand, State of","gn_level":1,"gn_region":null,"gn_a1_code":"IN.38","region_sub":null,"sub_code":null,"gns_level":1,"gns_lang":"eng","gns_adm1":"IN38","gns_region":null,"min_label":4.6,"max_label":10.1,"min_zoom":4.6,"wikidataid":"Q1184","name_ar":"جهارخاند","name_bn":"ঝাড়খণ্ড","name_de":"Jharkhand","name_en":"Jharkhand","name_es":"Jharkhand","name_fr":"Jharkhand","name_el":"Τζαρχάντ","name_hi":"झारखण्ड","name_hu":"Dzshárkhand","name_id":"Jharkhand","name_it":"Jharkhand","name_ja":"ジャールカンド州","name_ko":"자르칸드","name_nl":"Jharkhand","name_pl":"Jharkhand","name_pt":"Jharkhand","name_ru":"Джаркханд","name_sv":"Jharkhand","name_tr":"Jharkhand","name_vi":"Jharkhand","name_zh":"贾坎德邦","ne_id":1159314163,"name_he":"ג'הרקאנד","name_uk":"Джхаркханд","name_ur":"جھاڑکھنڈ","name_fa":"جارکند","name_zht":"賈坎德邦","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[83.337063,21.986126,87.895442,25.323778],"geometry":{"type":"Polygon","coordinates":[[[83.970203,22.539348],[83.996248,22.592704],[84.190965,22.70094],[84.228275,22.78308],[84.352195,22.88558],[84.291734,22.997227],[84.115,22.998855],[84.089059,23.084819],[84.028908,23.146107],[84.038623,23.309404],[84.015368,23.382604],[83.946949,23.370021],[83.95222,23.474924],[84.014541,23.553989],[83.991184,23.631762],[83.906434,23.564686],[83.780861,23.586493],[83.720813,23.676152],[83.735282,23.738345],[83.696628,23.818701],[83.556792,23.9358],[83.521755,24.065896],[83.442277,24.12181],[83.337063,24.140232],[83.453956,24.361588],[83.401659,24.498298],[83.523099,24.529666],[83.695905,24.506282],[83.787889,24.537314],[83.918423,24.543799],[84.043894,24.623898],[84.09557,24.504138],[84.305376,24.530803],[84.311888,24.451144],[84.471981,24.307354],[84.519213,24.307509],[84.588253,24.394429],[84.798473,24.496593],[84.88901,24.372828],[84.96146,24.348385],[85.280614,24.487265],[85.391408,24.50946],[85.526387,24.501554],[85.578374,24.557804],[85.6624,24.568888],[85.64731,24.648573],[85.746012,24.770039],[85.830865,24.770917],[85.911583,24.698467],[86.03292,24.712394],[86.097722,24.690483],[86.154876,24.556098],[86.290475,24.551551],[86.276419,24.434814],[86.438683,24.340375],[86.49439,24.479798],[86.585651,24.561447],[86.702336,24.547778],[86.755356,24.588138],[86.889922,24.531604],[86.925475,24.613588],[87.050015,24.597026],[87.077507,24.745337],[87.119158,24.851145],[87.117298,24.970879],[87.185511,25.061985],[87.265919,25.072165],[87.291861,25.174252],[87.406686,25.181047],[87.523475,25.323778],[87.598715,25.266701],[87.72615,25.251611],[87.783717,25.214094],[87.78103,25.08989],[87.844075,25.041547],[87.877458,24.938866],[87.853274,24.758437],[87.895442,24.670303],[87.877251,24.58868],[87.790848,24.562455],[87.80046,24.500779],[87.720568,24.317792],[87.631478,24.269372],[87.661554,24.186198],[87.57205,24.117572],[87.486888,24.124135],[87.488748,24.046853],[87.33806,24.001843],[87.301576,24.056852],[87.241218,23.850844],[87.166287,23.810227],[87.079677,23.815213],[86.877209,23.913063],[86.80972,23.818081],[86.799798,23.725529],[86.646112,23.6969],[86.458527,23.638609],[86.348352,23.567942],[86.336467,23.508436],[86.214304,23.449163],[86.121493,23.500891],[86.134515,23.558872],[86.056381,23.602513],[85.996436,23.511511],[85.828901,23.483063],[85.89484,23.416478],[85.829831,23.260803],[85.888432,23.163083],[86.020207,23.152592],[86.142474,23.028259],[86.450465,23.004203],[86.414808,22.943458],[86.399099,22.784966],[86.586891,22.680683],[86.611386,22.604254],[86.749362,22.5448],[86.718149,22.469404],[86.789876,22.415635],[86.780264,22.286702],[86.686523,22.218024],[86.486639,22.336854],[86.366026,22.330058],[86.268047,22.422404],[86.102476,22.500126],[86.039844,22.556737],[85.938765,22.500513],[85.986514,22.393621],[85.964603,22.24487],[85.974112,22.104594],[85.916234,22.022119],[85.834275,21.986126],[85.784666,22.011887],[85.792211,22.129089],[85.679143,22.075862],[85.550675,22.107591],[85.425205,22.164487],[85.324126,22.126686],[85.232038,22.035322],[85.109152,22.108496],[84.985232,22.112785],[85.087758,22.280165],[85.100367,22.393956],[85.065537,22.5032],[84.908337,22.421965],[84.80085,22.45018],[84.733671,22.427288],[84.530066,22.423024],[84.420822,22.330989],[84.310957,22.324012],[84.147763,22.386773],[84.067045,22.499583],[83.970203,22.539348]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"IND-3257","diss_me":3257,"iso_3166_2":"IN-WB","wikipedia":null,"iso_a2":"IN","adm0_sr":4,"name":"West Bengal","name_alt":"Bangla|Bengala Occidentale|Bengala Ocidental|Bengale occidental","name_local":null,"type":"State","type_en":"State","code_local":null,"code_hasc":"IN.WB","note":null,"hasc_maybe":null,"region":"East","region_cod":null,"provnum_ne":20010,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":null,"postal":"WB","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":11,"mapcolor9":2,"mapcolor13":2,"fips":"IN28","fips_alt":null,"woe_id":2345761,"woe_label":"West Bengal, IN, India","woe_name":"West Bengal","latitude":23.0523,"longitude":87.7289,"sov_a3":"IND","adm0_a3":"IND","adm0_label":2,"admin":"India","geonunit":"India","gu_a3":"IND","gn_id":1252881,"gn_name":"State of West Bengal","gns_id":-2114741,"gns_name":"West Bengal, State of","gn_level":1,"gn_region":null,"gn_a1_code":"IN.28","region_sub":null,"sub_code":null,"gns_level":1,"gns_lang":"nld","gns_adm1":"IN28","gns_region":null,"min_label":4.6,"max_label":10.1,"min_zoom":4.6,"wikidataid":"Q1356","name_ar":"بنغال الغربية","name_bn":"পশ্চিমবঙ্গ","name_de":"Westbengalen","name_en":"West Bengal","name_es":"Bengala Occidental","name_fr":"Bengale-Occidental","name_el":"Δυτική Βεγγάλη","name_hi":"पश्चिम बंगाल","name_hu":"Nyugat-Bengál","name_id":"Benggala Barat","name_it":"Bengala Occidentale","name_ja":"西ベンガル州","name_ko":"서벵골","name_nl":"West-Bengalen","name_pl":"Bengal Zachodni","name_pt":"Bengala Ocidental","name_ru":"Западная Бенгалия","name_sv":"Västbengalen","name_tr":"Batı Bengal","name_vi":"Tây Bengal","name_zh":"西孟加拉邦","ne_id":1159313981,"name_he":"מערב בנגל","name_uk":"Західний Бенгал","name_ur":"مغربی بنگال","name_fa":"بنگال غربی","name_zht":"西孟加拉邦","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[85.828901,21.584375,89.888498,27.248035],"geometry":{"type":"Polygon","coordinates":[[[88.7562,27.148801],[88.765673,27.13421],[88.813577,27.099018],[88.835177,27.065583],[88.857657,26.961481],[88.919152,26.932207],[89.040953,26.865027],[89.148233,26.816141],[89.332098,26.848646],[89.384188,26.82658],[89.47457,26.803429],[89.54516,26.79622],[89.586088,26.778934],[89.609187,26.762191],[89.606138,26.741133],[89.609962,26.719455],[89.710886,26.713899],[89.763855,26.701549],[89.860038,26.713565],[89.888498,26.532903],[89.828864,26.327851],[89.781528,26.308679],[89.727268,26.206204],[89.687784,26.195384],[89.67094,26.213827],[89.619057,26.215687],[89.585726,26.186051],[89.572755,26.132307],[89.59141,26.072414],[89.549914,26.005261],[89.466922,25.983531],[89.36977,26.006113],[89.289207,26.03761],[89.186422,26.105952],[89.108287,26.202225],[89.101983,26.308343],[89.066791,26.376917],[89.018629,26.410275],[88.983385,26.41955],[88.951915,26.412135],[88.924113,26.375083],[88.948194,26.338005],[88.981525,26.286122],[88.970415,26.250904],[88.940752,26.245349],[88.896517,26.260516],[88.827994,26.252196],[88.761952,26.279378],[88.722161,26.281833],[88.682835,26.291703],[88.680613,26.352991],[88.620152,26.430661],[88.518246,26.517762],[88.418149,26.571531],[88.369935,26.564115],[88.345853,26.504791],[88.351434,26.48257],[88.386264,26.471537],[88.436752,26.437095],[88.447811,26.401024],[88.44037,26.369502],[88.377996,26.312038],[88.333968,26.257519],[88.235162,26.178092],[88.150723,26.087142],[88.129019,26.018231],[88.097393,25.956349],[88.084629,25.888239],[88.106591,25.841136],[88.147416,25.811448],[88.252887,25.789796],[88.363113,25.698173],[88.452307,25.574434],[88.502433,25.53702],[88.593487,25.495292],[88.769187,25.490486],[88.795387,25.456276],[88.820346,25.365506],[88.854763,25.333544],[88.944163,25.290782],[88.951656,25.25926],[88.929797,25.223009],[88.890109,25.19438],[88.817297,25.176241],[88.747586,25.168955],[88.677513,25.180479],[88.57385,25.187869],[88.456286,25.188437],[88.372932,24.961526],[88.313349,24.881841],[88.279501,24.881944],[88.18886,24.920598],[88.149793,24.914655],[88.045096,24.71304],[88.030317,24.664438],[88.023392,24.627851],[88.079048,24.549923],[88.145452,24.485793],[88.225034,24.460626],[88.287149,24.479746],[88.337533,24.453857],[88.396961,24.389261],[88.498557,24.346628],[88.642321,24.325957],[88.723505,24.274901],[88.733582,24.230924],[88.726605,24.186224],[88.71379,24.069642],[88.699837,24.002515],[88.622529,23.82635],[88.567338,23.674421],[88.595967,23.602177],[88.616431,23.572773],[88.635758,23.549984],[88.697666,23.493037],[88.740868,23.436606],[88.703971,23.292842],[88.724435,23.254963],[88.807582,23.229694],[88.897034,23.210418],[88.928092,23.186595],[88.850629,23.040506],[88.866958,22.938859],[88.899721,22.84349],[88.923492,22.687556],[88.926955,22.671149],[88.920702,22.632004],[88.971448,22.510926],[89.049945,22.274636],[89.055836,22.186243],[89.051443,22.093174],[89.02793,21.937207],[88.949316,21.937939],[89.019629,21.833643],[89.041992,21.758691],[89.05166,21.654102],[88.96709,21.641357],[88.907422,21.653076],[88.85752,21.744678],[88.834375,21.661377],[88.74502,21.584375],[88.712988,21.621973],[88.694727,21.662402],[88.691211,21.733496],[88.740234,22.00542],[88.730273,22.036084],[88.708301,22.056152],[88.65957,22.066943],[88.641602,22.121973],[88.566797,21.832129],[88.599805,21.71377],[88.584668,21.659717],[88.445996,21.614258],[88.305469,21.72334],[88.2875,21.758203],[88.279199,21.696875],[88.253711,21.622314],[88.12207,21.635791],[88.056836,21.694141],[88.099414,21.793555],[88.181055,22.03291],[88.196289,22.139551],[88.087109,22.217725],[87.994434,22.265674],[87.941406,22.374316],[87.961621,22.255029],[88.010742,22.212646],[88.083008,22.182715],[88.159277,22.121729],[88.104102,22.047363],[88.050781,22.001074],[87.948438,21.825439],[87.82373,21.727344],[87.678223,21.653516],[87.478635,21.608108],[87.408546,21.786138],[87.275014,21.813966],[87.231503,21.848098],[87.190678,21.956205],[87.112957,21.971398],[87.059213,21.90719],[86.993688,21.972483],[86.987383,22.066586],[86.833904,22.121751],[86.686523,22.218024],[86.780264,22.286702],[86.789876,22.415635],[86.718149,22.469404],[86.749362,22.5448],[86.611386,22.604254],[86.586891,22.680683],[86.399099,22.784966],[86.414808,22.943458],[86.450465,23.004203],[86.142474,23.028259],[86.020207,23.152592],[85.888432,23.163083],[85.829831,23.260803],[85.89484,23.416478],[85.828901,23.483063],[85.996436,23.511511],[86.056381,23.602513],[86.134515,23.558872],[86.121493,23.500891],[86.214304,23.449163],[86.336467,23.508436],[86.348352,23.567942],[86.458527,23.638609],[86.646112,23.6969],[86.799798,23.725529],[86.80972,23.818081],[86.877209,23.913063],[87.079677,23.815213],[87.166287,23.810227],[87.241218,23.850844],[87.301576,24.056852],[87.33806,24.001843],[87.488748,24.046853],[87.486888,24.124135],[87.57205,24.117572],[87.661554,24.186198],[87.631478,24.269372],[87.720568,24.317792],[87.80046,24.500779],[87.790848,24.562455],[87.877251,24.58868],[87.895442,24.670303],[87.853274,24.758437],[87.877458,24.938866],[87.844075,25.041547],[87.78103,25.08989],[87.783717,25.214094],[87.838081,25.27776],[87.768007,25.436277],[87.9558,25.534075],[88.043133,25.547097],[88.04644,25.668873],[87.910531,25.76512],[87.805421,25.873666],[87.831363,26.010557],[87.979364,26.145795],[88.079823,26.19282],[88.180489,26.285528],[88.297174,26.336222],[88.282291,26.428439],[88.194958,26.501483],[88.093596,26.536846],[88.111552,26.58644],[88.161575,26.724777],[88.157234,26.807305],[88.111036,26.92846],[87.993162,27.086073],[87.984428,27.133951],[88.000898,27.248035],[88.118167,27.138499],[88.233095,27.137104],[88.357429,27.085117],[88.447656,27.114495],[88.518039,27.176223],[88.66449,27.173355],[88.7562,27.148801]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"IND-3258","diss_me":3258,"iso_3166_2":"IN-BR","wikipedia":null,"iso_a2":"IN","adm0_sr":1,"name":"Bihar","name_alt":null,"name_local":null,"type":"State","type_en":"State","code_local":null,"code_hasc":"IN.BR","note":null,"hasc_maybe":null,"region":"East","region_cod":null,"provnum_ne":20053,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":null,"postal":"BR","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":5,"mapcolor9":2,"mapcolor13":2,"fips":"IN34","fips_alt":null,"woe_id":2345742,"woe_label":"Bihar, IN, India","woe_name":"Bihar","latitude":25.6853,"longitude":85.8134,"sov_a3":"IND","adm0_a3":"IND","adm0_label":2,"admin":"India","geonunit":"India","gu_a3":"IND","gn_id":1275715,"gn_name":"State of Bihar","gns_id":-2091798,"gns_name":"Bihar State of","gn_level":1,"gn_region":null,"gn_a1_code":"IN.34","region_sub":null,"sub_code":null,"gns_level":1,"gns_lang":"nld","gns_adm1":"IN34","gns_region":null,"min_label":4.6,"max_label":10.1,"min_zoom":4.6,"wikidataid":"Q1165","name_ar":"بهار","name_bn":"বিহার","name_de":"Bihar","name_en":"Bihar","name_es":"Bihar","name_fr":"Bihar","name_el":"Μπιχάρ","name_hi":"बिहार","name_hu":"Bihár","name_id":"Bihar","name_it":"Bihar","name_ja":"ビハール州","name_ko":"비하르","name_nl":"Bihar","name_pl":"Bihar","name_pt":"Bihar","name_ru":"Бихар","name_sv":"Bihar","name_tr":"Bihar","name_vi":"Bihar","name_zh":"比哈尔邦","ne_id":1159314167,"name_he":"ביהר","name_uk":"Біхар","name_ur":"بہار","name_fa":"بیهار","name_zht":"比哈爾邦","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[83.323317,24.307354,88.297174,27.491346],"geometry":{"type":"Polygon","coordinates":[[[83.828816,27.377812],[83.897184,27.435122],[84.024825,27.461683],[84.091074,27.491346],[84.229774,27.427835],[84.480818,27.348202],[84.610216,27.298696],[84.640756,27.249862],[84.654812,27.203663],[84.653831,27.09168],[84.685405,27.041037],[84.937172,26.926884],[85.020061,26.878515],[85.087344,26.86296],[85.125378,26.860996],[85.151526,26.84663],[85.174109,26.78157],[85.191782,26.766532],[85.240203,26.750357],[85.293016,26.741004],[85.456417,26.797228],[85.568452,26.839835],[85.648395,26.828983],[85.699917,26.781621],[85.70741,26.712659],[85.73733,26.639744],[85.794588,26.604165],[85.855721,26.600185],[86.007288,26.649381],[86.129399,26.611709],[86.241589,26.598015],[86.366129,26.574399],[86.414395,26.556312],[86.543638,26.496006],[86.701406,26.435053],[86.762487,26.441926],[87.016425,26.555434],[87.037923,26.54161],[87.089548,26.433219],[87.166804,26.394255],[87.287417,26.360303],[87.413559,26.422961],[87.513036,26.405004],[87.633339,26.399112],[87.748784,26.429317],[87.849243,26.436888],[87.995074,26.382369],[88.02701,26.39503],[88.054915,26.430015],[88.093596,26.536846],[88.194958,26.501483],[88.282291,26.428439],[88.297174,26.336222],[88.180489,26.285528],[88.079823,26.19282],[87.979364,26.145795],[87.831363,26.010557],[87.805421,25.873666],[87.910531,25.76512],[88.04644,25.668873],[88.043133,25.547097],[87.9558,25.534075],[87.768007,25.436277],[87.838081,25.27776],[87.783717,25.214094],[87.72615,25.251611],[87.598715,25.266701],[87.523475,25.323778],[87.406686,25.181047],[87.291861,25.174252],[87.265919,25.072165],[87.185511,25.061985],[87.117298,24.970879],[87.119158,24.851145],[87.077507,24.745337],[87.050015,24.597026],[86.925475,24.613588],[86.889922,24.531604],[86.755356,24.588138],[86.702336,24.547778],[86.585651,24.561447],[86.49439,24.479798],[86.438683,24.340375],[86.276419,24.434814],[86.290475,24.551551],[86.154876,24.556098],[86.097722,24.690483],[86.03292,24.712394],[85.911583,24.698467],[85.830865,24.770917],[85.746012,24.770039],[85.64731,24.648573],[85.6624,24.568888],[85.578374,24.557804],[85.526387,24.501554],[85.391408,24.50946],[85.280614,24.487265],[84.96146,24.348385],[84.88901,24.372828],[84.798473,24.496593],[84.588253,24.394429],[84.519213,24.307509],[84.471981,24.307354],[84.311888,24.451144],[84.305376,24.530803],[84.09557,24.504138],[84.043894,24.623898],[83.918423,24.543799],[83.787889,24.537314],[83.695905,24.506282],[83.523099,24.529666],[83.530953,24.703583],[83.508836,24.762081],[83.360214,24.863263],[83.359904,25.008965],[83.323317,25.068005],[83.334273,25.172624],[83.384089,25.235928],[83.774866,25.444959],[83.904264,25.529476],[84.143422,25.736207],[84.212876,25.728042],[84.238921,25.64797],[84.324187,25.658899],[84.314678,25.74215],[84.372762,25.765068],[84.486657,25.700731],[84.600656,25.747008],[84.605513,25.799795],[84.531616,25.862091],[84.419685,25.889557],[84.374313,25.940303],[84.261451,25.931312],[84.150347,26.066006],[84.064874,26.103549],[83.992734,26.241138],[84.187244,26.292788],[84.177632,26.40428],[84.026117,26.46916],[83.955114,26.453915],[83.920077,26.53267],[84.054022,26.564761],[84.099187,26.649588],[84.382994,26.641656],[84.306307,26.744363],[84.246362,26.757049],[84.240781,26.8742],[84.149004,26.876344],[84.070559,26.923602],[84.02343,27.059951],[83.938267,27.164389],[83.942401,27.222499],[83.828816,27.377812]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"IND-3260","diss_me":3260,"iso_3166_2":"IN-CT","wikipedia":null,"iso_a2":"IN","adm0_sr":1,"name":"Chhattisgarh","name_alt":null,"name_local":null,"type":"State","type_en":"State","code_local":null,"code_hasc":"IN.CT","note":null,"hasc_maybe":null,"region":"Central","region_cod":null,"provnum_ne":20054,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":null,"postal":"CT","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":12,"mapcolor9":2,"mapcolor13":2,"fips":"IN37","fips_alt":"IN02","woe_id":20070464,"woe_label":"Chhattisgarh, IN, India","woe_name":"Chhattisgarh","latitude":21.8044,"longitude":82.3069,"sov_a3":"IND","adm0_a3":"IND","adm0_label":2,"admin":"India","geonunit":"India","gu_a3":"IND","gn_id":1444364,"gn_name":"State of Chhattisgarh","gns_id":6240777,"gns_name":"Chhattisgarh, State of","gn_level":1,"gn_region":null,"gn_a1_code":"IN.37","region_sub":null,"sub_code":null,"gns_level":1,"gns_lang":"eng","gns_adm1":"IN37","gns_region":null,"min_label":4.6,"max_label":10.1,"min_zoom":4.6,"wikidataid":"Q1168","name_ar":"تشاتيسغار","name_bn":"ছত্তিশগড়","name_de":"Chhattisgarh","name_en":"Chhattisgarh","name_es":"Chhattisgarh","name_fr":"Chhattisgarh","name_el":"Τσατίσγκαρ","name_hi":"छत्तीसगढ़","name_hu":"Cshattíszgarh","name_id":"Chhattisgarh","name_it":"Chhattisgarh","name_ja":"チャッティースガル州","name_ko":"차티스가르","name_nl":"Chhattisgarh","name_pl":"Chhattisgarh","name_pt":"Chhattisgarh","name_ru":"Чхаттисгарх","name_sv":"Chhattisgarh","name_tr":"Chhattisgarh","name_vi":"Chhattisgarh","name_zh":"恰蒂斯加尔邦","ne_id":1159314171,"name_he":"צ'האטיסגאר","name_uk":"Чхаттісґарх","name_ur":"چھتیس گڑھ","name_fa":"چتیسگر","name_zht":"恰蒂斯加爾邦","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[80.270377,17.776073,84.352195,24.140232],"geometry":{"type":"Polygon","coordinates":[[[80.270377,18.71369],[80.274821,18.776942],[80.344171,18.85071],[80.271824,18.979436],[80.366599,19.117386],[80.397088,19.234175],[80.575992,19.391969],[80.617436,19.318563],[80.716655,19.262701],[80.832203,19.345409],[80.893905,19.484444],[80.830963,19.547102],[80.712934,19.592603],[80.675727,19.676551],[80.565553,19.739777],[80.537751,19.81091],[80.425096,19.892817],[80.531137,19.920697],[80.557181,20.048337],[80.53062,20.134869],[80.426337,20.146238],[80.424373,20.234088],[80.622397,20.325891],[80.622397,20.600913],[80.503025,20.633289],[80.572994,20.697574],[80.552117,20.919318],[80.48132,20.931978],[80.435328,20.999235],[80.484524,21.167701],[80.625601,21.242657],[80.679034,21.351152],[80.721409,21.473212],[80.730504,21.714308],[80.805125,21.774304],[80.837888,21.846135],[80.835097,21.950986],[80.91902,22.097463],[80.987336,22.108005],[81.02351,22.193969],[81.118904,22.294608],[81.122522,22.400519],[81.178022,22.478422],[81.234866,22.444496],[81.372636,22.492684],[81.417801,22.437494],[81.53955,22.519995],[81.642283,22.550846],[81.669568,22.609292],[81.76641,22.663992],[81.788527,22.852946],[81.940249,22.945835],[81.946141,23.042961],[82.070784,23.100347],[82.129385,23.096498],[82.189743,23.288734],[82.098173,23.371726],[81.991409,23.400536],[81.907177,23.505181],[81.744602,23.542594],[81.644144,23.482055],[81.591434,23.561172],[81.686208,23.690311],[81.622026,23.833791],[81.681867,23.885132],[81.778192,23.801881],[81.936942,23.840664],[82.077399,23.801364],[82.531738,23.775371],[82.6508,23.844824],[82.657725,23.884537],[82.768106,23.928953],[82.800869,23.998716],[82.964373,23.913915],[83.08881,23.911047],[83.206322,23.944017],[83.337063,24.140232],[83.442277,24.12181],[83.521755,24.065896],[83.556792,23.9358],[83.696628,23.818701],[83.735282,23.738345],[83.720813,23.676152],[83.780861,23.586493],[83.906434,23.564686],[83.991184,23.631762],[84.014541,23.553989],[83.95222,23.474924],[83.946949,23.370021],[84.015368,23.382604],[84.038623,23.309404],[84.028908,23.146107],[84.089059,23.084819],[84.115,22.998855],[84.291734,22.997227],[84.352195,22.88558],[84.228275,22.78308],[84.190965,22.70094],[83.996248,22.592704],[83.970203,22.539348],[83.996455,22.440543],[83.945812,22.371193],[83.841425,22.348584],[83.733112,22.262285],[83.605367,22.195984],[83.54625,22.101623],[83.515347,21.963853],[83.570641,21.923055],[83.557102,21.834921],[83.473179,21.807171],[83.444034,21.718597],[83.351946,21.577262],[83.327658,21.499153],[83.381195,21.399547],[83.361041,21.33676],[83.279393,21.3588],[83.198261,21.172558],[83.078165,21.114551],[82.96458,21.178527],[82.668164,21.155479],[82.562124,20.954458],[82.4535,20.846867],[82.341982,20.86082],[82.366683,20.657086],[82.340225,20.556342],[82.421874,20.42803],[82.433656,20.159002],[82.415569,20.066967],[82.611216,19.988134],[82.695035,20.000537],[82.682323,19.822666],[82.381359,19.885944],[82.290306,19.836051],[82.228397,19.95873],[82.096209,20.050637],[82.046083,20.017874],[81.939629,20.104665],[81.867799,20.046658],[81.824184,19.913255],[82.029133,19.776468],[82.02903,19.517853],[82.168659,19.386595],[82.145405,19.244226],[82.224987,19.015196],[82.22447,18.921946],[82.169073,18.878719],[82.138894,18.747254],[81.968982,18.685733],[81.903663,18.621913],[81.913274,18.544915],[81.792352,18.438436],[81.740572,18.357898],[81.643833,18.292372],[81.542548,18.262451],[81.444156,17.879736],[81.39403,17.806691],[81.245201,17.803694],[81.14774,17.83656],[81.044904,17.776073],[80.985579,17.840462],[80.978964,17.963943],[80.93752,18.086312],[80.852357,18.196357],[80.772259,18.232712],[80.696191,18.412287],[80.583433,18.541375],[80.502611,18.59995],[80.409077,18.588866],[80.319883,18.642247],[80.270377,18.71369]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"IND-3261","diss_me":3261,"iso_3166_2":"IN-MP","wikipedia":null,"iso_a2":"IN","adm0_sr":1,"name":"Madhya Pradesh","name_alt":null,"name_local":null,"type":"State","type_en":"State","code_local":null,"code_hasc":"IN.MP","note":null,"hasc_maybe":null,"region":"Central","region_cod":null,"provnum_ne":20056,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":null,"postal":"MP","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":14,"mapcolor9":2,"mapcolor13":2,"fips":"IN35","fips_alt":"IN15","woe_id":2345749,"woe_label":"Madhya Pradesh, IN, India","woe_name":"Madhya Pradesh","latitude":22.9404,"longitude":78.4214,"sov_a3":"IND","adm0_a3":"IND","adm0_label":2,"admin":"India","geonunit":"India","gu_a3":"IND","gn_id":1264542,"gn_name":"State of Madhya Pradesh","gns_id":-2103026,"gns_name":"Madhya Pradesh, State of","gn_level":1,"gn_region":null,"gn_a1_code":"IN.35","region_sub":null,"sub_code":null,"gns_level":1,"gns_lang":"nld","gns_adm1":"IN35","gns_region":null,"min_label":4.6,"max_label":10.1,"min_zoom":4.6,"wikidataid":"Q1188","name_ar":"ماديا براديش","name_bn":"মধ্যপ্রদেশ","name_de":"Madhya Pradesh","name_en":"Madhya Pradesh","name_es":"Madhya Pradesh","name_fr":"Madhya Pradesh","name_el":"Μαντία Πραντές","name_hi":"मध्य प्रदेश","name_hu":"Madhja Prades","name_id":"Madhya Pradesh","name_it":"Madhya Pradesh","name_ja":"マディヤ・プラデーシュ州","name_ko":"마디아프라데시","name_nl":"Madhya Pradesh","name_pl":"Madhya Pradesh","name_pt":"Madhya Pradesh","name_ru":"Мадхья-Прадеш","name_sv":"Madhya Pradesh","name_tr":"Madhya Pradeş","name_vi":"Madhya Pradesh","name_zh":"中央邦","ne_id":1159314173,"name_he":"מאדהיה פרדש","name_uk":"Мадх'я-Прадеш","name_ur":"مدھیہ پردیش","name_fa":"مادایا پرادش","name_zht":"中央邦","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[74.025694,21.074812,82.808414,26.851049],"geometry":{"type":"Polygon","coordinates":[[[80.679034,21.351152],[80.625601,21.326476],[80.417552,21.446831],[80.310168,21.580233],[80.186661,21.63948],[80.005277,21.548323],[79.840326,21.534345],[79.798365,21.587804],[79.650467,21.581551],[79.551558,21.550029],[79.533058,21.619275],[79.413065,21.689813],[79.240053,21.712758],[79.215765,21.65457],[78.921932,21.572275],[78.904156,21.509282],[78.696003,21.474762],[78.513689,21.526593],[78.427906,21.508481],[78.413333,21.606304],[78.192675,21.551114],[78.02917,21.437684],[77.871454,21.3981],[77.787531,21.423008],[77.712601,21.380272],[77.578035,21.384457],[77.481814,21.423886],[77.433134,21.498817],[77.456802,21.548504],[77.555194,21.542484],[77.551783,21.696764],[77.46073,21.770041],[77.332985,21.774459],[77.218987,21.700846],[77.115531,21.724049],[77.028818,21.693586],[76.917404,21.618086],[76.79369,21.577004],[76.785525,21.501685],[76.729508,21.413009],[76.63339,21.341049],[76.653957,21.251313],[76.614063,21.202479],[76.498308,21.180361],[76.436606,21.107808],[76.286641,21.074812],[76.186802,21.085819],[76.108564,21.153128],[76.142877,21.193125],[76.082933,21.368076],[75.877777,21.399779],[75.814008,21.383372],[75.534749,21.371797],[75.31192,21.38146],[75.129916,21.437684],[75.047957,21.554059],[74.894065,21.61204],[74.708133,21.611162],[74.512486,21.726917],[74.485614,21.945973],[74.407686,22.023049],[74.284386,21.94494],[74.204908,21.92507],[74.12884,21.951761],[74.141862,22.062814],[74.071479,22.197793],[74.05639,22.294169],[74.224338,22.349205],[74.221547,22.409433],[74.113027,22.410674],[74.025694,22.47961],[74.063108,22.5209],[74.161189,22.516662],[74.272707,22.609654],[74.37637,22.651047],[74.458122,22.804112],[74.4266,22.871628],[74.365001,22.874961],[74.323453,23.036062],[74.476106,23.062365],[74.611911,23.112672],[74.715884,23.179206],[74.65842,23.226464],[74.53636,23.250907],[74.569537,23.36785],[74.648188,23.43056],[74.822958,23.500116],[74.939023,23.687366],[74.90657,23.791313],[74.908327,23.896733],[74.968169,24.032771],[74.893134,24.134496],[74.869983,24.236118],[74.759292,24.256685],[74.766424,24.35872],[74.846832,24.435511],[74.711853,24.523852],[74.806525,24.735777],[74.869673,24.665575],[74.965378,24.694049],[74.974266,24.785748],[74.837841,24.797143],[74.81531,24.916516],[74.875874,24.919358],[74.981398,24.863031],[75.084441,24.888895],[75.133326,25.040022],[75.235129,25.040229],[75.317915,24.955247],[75.17198,24.762546],[75.20371,24.724951],[75.448036,24.703144],[75.648954,24.738335],[75.758818,24.777377],[75.869406,24.599377],[75.874883,24.514266],[75.792201,24.494164],[75.734427,24.423962],[75.794785,24.251647],[75.747759,24.190048],[75.805017,24.119122],[75.729983,24.00068],[75.621772,23.995228],[75.538883,24.041375],[75.490307,23.939934],[75.578157,23.875726],[75.597071,23.8179],[75.699804,23.793199],[75.776491,23.883142],[75.899378,23.918334],[75.997873,23.983937],[75.99901,24.051116],[76.116626,24.134031],[76.132749,24.329394],[76.230314,24.277872],[76.45614,24.265031],[76.542749,24.215189],[76.572515,24.273247],[76.766612,24.160334],[76.870275,24.181651],[76.891565,24.240924],[76.814567,24.360115],[76.806196,24.555788],[76.880507,24.56186],[76.942932,24.500236],[77.035226,24.538399],[77.037396,24.670303],[76.966806,24.737483],[76.848054,24.759703],[76.780564,24.837141],[76.883194,24.896956],[76.860973,25.033795],[76.999362,25.08772],[77.187361,25.12751],[77.341254,25.113997],[77.398925,25.212234],[77.362958,25.262128],[77.358617,25.407106],[77.255471,25.433512],[77.201624,25.35561],[77.080598,25.353181],[76.913476,25.309308],[76.780151,25.33202],[76.652304,25.379175],[76.551431,25.460126],[76.478361,25.7198],[76.545953,25.848293],[76.651787,25.922656],[76.727028,25.9163],[76.907998,26.098588],[77.082458,26.185275],[77.124729,26.237856],[77.209686,26.241964],[77.323374,26.351984],[77.431274,26.373662],[77.616792,26.482983],[77.715081,26.506031],[77.831456,26.575768],[77.90277,26.664032],[78.012841,26.69558],[78.0794,26.682919],[78.101207,26.795109],[78.200116,26.823583],[78.371475,26.851049],[78.563505,26.758496],[78.693213,26.797874],[78.842351,26.711936],[78.935782,26.694443],[78.974436,26.571583],[79.028076,26.497556],[79.060839,26.355084],[78.963274,26.278086],[78.954075,26.109983],[78.808348,25.84155],[78.739825,25.789796],[78.753571,25.674273],[78.714503,25.62593],[78.55844,25.575545],[78.370545,25.552678],[78.330031,25.464777],[78.261921,25.411705],[78.366307,25.186008],[78.336542,25.022995],[78.16911,24.865459],[78.261301,24.692653],[78.264815,24.583487],[78.228848,24.532741],[78.277527,24.453107],[78.350494,24.407968],[78.330134,24.342029],[78.385531,24.30123],[78.489401,24.410784],[78.655902,24.29459],[78.746646,24.279423],[78.825814,24.230149],[78.955005,24.392542],[78.878731,24.613201],[78.750367,24.629841],[78.715433,24.685109],[78.732073,24.81492],[78.640192,24.96411],[78.609807,25.136321],[78.515859,25.26621],[78.597094,25.414005],[78.727526,25.346386],[78.748816,25.426149],[78.853099,25.434029],[78.919142,25.504593],[78.954902,25.385712],[78.885035,25.265538],[78.983427,25.237375],[79.024045,25.174639],[79.109001,25.195026],[79.268991,25.164123],[79.294519,25.259415],[79.424744,25.257192],[79.339065,25.147406],[79.468152,25.103843],[79.541636,25.176551],[79.661112,25.148078],[79.86327,25.153245],[79.852108,25.247839],[80.015302,25.330909],[80.124546,25.350959],[80.191106,25.413333],[80.283606,25.41447],[80.326498,25.282256],[80.395021,25.246676],[80.421996,25.180737],[80.265313,25.063819],[80.288257,25.016225],[80.458376,25.01514],[80.515117,25.040668],[80.579506,25.147923],[80.647202,25.070098],[80.717895,25.081984],[80.806055,25.212156],[80.858868,25.187558],[80.778667,24.971499],[80.892975,24.984134],[80.998808,24.96566],[81.09813,24.908609],[81.184843,24.97292],[81.239,25.098081],[81.243238,25.169523],[81.360543,25.156966],[81.536967,25.199754],[81.585232,25.079632],[81.817156,25.035759],[81.881132,24.921528],[82.033164,24.859491],[82.319038,24.702033],[82.302708,24.638135],[82.423631,24.647514],[82.427145,24.718569],[82.623929,24.691878],[82.692245,24.719809],[82.772137,24.668314],[82.808414,24.566408],[82.734413,24.551628],[82.734103,24.419698],[82.766969,24.386031],[82.732863,24.21413],[82.679429,24.166768],[82.800869,23.998716],[82.768106,23.928953],[82.657725,23.884537],[82.6508,23.844824],[82.531738,23.775371],[82.077399,23.801364],[81.936942,23.840664],[81.778192,23.801881],[81.681867,23.885132],[81.622026,23.833791],[81.686208,23.690311],[81.591434,23.561172],[81.644144,23.482055],[81.744602,23.542594],[81.907177,23.505181],[81.991409,23.400536],[82.098173,23.371726],[82.189743,23.288734],[82.129385,23.096498],[82.070784,23.100347],[81.946141,23.042961],[81.940249,22.945835],[81.788527,22.852946],[81.76641,22.663992],[81.669568,22.609292],[81.642283,22.550846],[81.53955,22.519995],[81.417801,22.437494],[81.372636,22.492684],[81.234866,22.444496],[81.178022,22.478422],[81.122522,22.400519],[81.118904,22.294608],[81.02351,22.193969],[80.987336,22.108005],[80.91902,22.097463],[80.835097,21.950986],[80.837888,21.846135],[80.805125,21.774304],[80.730504,21.714308],[80.721409,21.473212],[80.679034,21.351152]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"IND-3262","diss_me":3262,"iso_3166_2":"IN-PY","wikipedia":null,"iso_a2":"IN","adm0_sr":1,"name":"Puducherry","name_alt":"Pondicherry|Puduchcheri|Pondichéry","name_local":null,"type":"Union Territor","type_en":"Union Territory","code_local":null,"code_hasc":"IN.PY","note":null,"hasc_maybe":null,"region":"South","region_cod":null,"provnum_ne":20001,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":null,"postal":"PY","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":10,"mapcolor9":2,"mapcolor13":2,"fips":"IN22","fips_alt":null,"woe_id":20070459,"woe_label":"Puducherry, IN, India","woe_name":"Puducherry","latitude":10.9224,"longitude":79.7758,"sov_a3":"IND","adm0_a3":"IND","adm0_label":2,"admin":"India","geonunit":"India","gu_a3":"IND","gn_id":1259424,"gn_name":"Union Territory of Puducherry","gns_id":-2108166,"gns_name":"Puducherry, Union Territory of","gn_level":1,"gn_region":null,"gn_a1_code":"IN.22","region_sub":null,"sub_code":null,"gns_level":1,"gns_lang":"nld","gns_adm1":"IN22","gns_region":null,"min_label":4.6,"max_label":10.1,"min_zoom":4.6,"wikidataid":"Q66743","name_ar":"بودوتشيري","name_bn":"পুদুচেরি","name_de":"Puducherry","name_en":"Puducherry","name_es":"Puducherry","name_fr":"Territoire de Pondichéry","name_el":"Ποντιτσερί","name_hi":"पुदुच्चेरी","name_hu":"Puduccseri","name_id":"Puducherry","name_it":"Pondicherry","name_ja":"ポンディシェリ連邦直轄領","name_ko":"푸두체리","name_nl":"Puducherry","name_pl":"Puducherry","name_pt":"Puducherry","name_ru":"Пондичерри","name_sv":"Pondicherry","name_tr":"Puduçeri","name_vi":"Puducherry","name_zh":"本地治里","ne_id":1159314175,"name_he":"פודוצ'רי","name_uk":"Пудучеррі","name_ur":"پونڈیچری","name_fa":"پودوچری","name_zht":"本地治里","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[79.68602,10.768848,79.850195,11.99994],"geometry":{"type":"MultiPolygon","coordinates":[[[[79.848488,11.954472],[79.812867,11.832394],[79.727051,11.841629],[79.68602,11.99994],[79.79113,11.916818],[79.848488,11.954472]]],[[[79.849425,10.979844],[79.850195,10.768848],[79.767359,10.88856],[79.70545,10.910445],[79.73749,10.986229],[79.849425,10.979844]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"IND-3263","diss_me":3263,"iso_3166_2":"IN-TN","wikipedia":null,"iso_a2":"IN","adm0_sr":1,"name":"Tamil Nadu","name_alt":null,"name_local":null,"type":"State","type_en":"State","code_local":null,"code_hasc":"IN.TN","note":null,"hasc_maybe":"IN.TN|IND-TNA","region":"South","region_cod":null,"provnum_ne":20002,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":null,"postal":"TN","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":10,"mapcolor9":2,"mapcolor13":2,"fips":"IN22","fips_alt":"IN25","woe_id":2345758,"woe_label":"Tamil Nadu, IN, India","woe_name":"Tamil Nadu","latitude":11.0159,"longitude":78.2704,"sov_a3":"IND","adm0_a3":"IND","adm0_label":2,"admin":"India","geonunit":"India","gu_a3":"IND","gn_id":1255053,"gn_name":"State of Tamil Nadu","gns_id":-2112557,"gns_name":"Tamil Nadu, State of","gn_level":1,"gn_region":null,"gn_a1_code":"IN.25","region_sub":null,"sub_code":null,"gns_level":1,"gns_lang":"nld","gns_adm1":"IN25","gns_region":null,"min_label":4.6,"max_label":10.1,"min_zoom":4.6,"wikidataid":"Q1445","name_ar":"تاميل نادو","name_bn":"তামিলনাড়ু","name_de":"Tamil Nadu","name_en":"Tamil Nadu","name_es":"Tamil Nadu","name_fr":"Tamil Nadu","name_el":"Ταμίλ Ναντού","name_hi":"तमिल नाडु","name_hu":"Tamilnádu","name_id":"Tamil Nadu","name_it":"Tamil Nadu","name_ja":"タミル・ナードゥ州","name_ko":"타밀나두","name_nl":"Tamil Nadu","name_pl":"Tamilnadu","name_pt":"Tamil Nadu","name_ru":"Тамилнад","name_sv":"Tamil Nadu","name_tr":"Tamil Nadu","name_vi":"Tamil Nadu","name_zh":"泰米尔纳德邦","ne_id":1159314177,"name_he":"טאמיל נאדו","name_uk":"Тамілнаду","name_ur":"تامل ناڈو","name_fa":"تامیل نادو","name_zht":"坦米爾納杜邦","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[76.240752,8.07832,80.342383,13.467614],"geometry":{"type":"Polygon","coordinates":[[[79.850195,10.768848],[79.838184,10.322559],[79.756934,10.304346],[79.667383,10.299707],[79.588574,10.312354],[79.531641,10.329639],[79.390527,10.305957],[79.314551,10.256689],[79.253613,10.174805],[79.257812,10.035205],[78.996289,9.683105],[78.939941,9.565771],[78.919141,9.452881],[78.953125,9.393799],[79.019922,9.33335],[79.107031,9.308936],[79.275488,9.284619],[79.356348,9.252148],[79.411426,9.192383],[79.212891,9.256006],[78.97959,9.268555],[78.421484,9.105029],[78.274512,8.990186],[78.19248,8.890869],[78.136035,8.663379],[78.126367,8.511328],[78.060156,8.38457],[77.770312,8.189844],[77.587207,8.129883],[77.517578,8.07832],[77.301465,8.145312],[77.109654,8.28424],[77.166071,8.336933],[77.278829,8.526405],[77.203794,8.611981],[77.178886,8.695232],[77.23542,8.784141],[77.24927,8.859098],[77.202554,8.89416],[77.164934,9.001001],[77.254541,9.122105],[77.312108,9.30088],[77.398615,9.499963],[77.340634,9.579958],[77.263222,9.557376],[77.187671,9.612773],[77.23542,9.764676],[77.225912,9.858882],[77.260225,9.962209],[77.224258,10.05781],[77.276968,10.210101],[77.191495,10.351306],[77.064578,10.296297],[76.98634,10.231288],[76.928049,10.235551],[76.841543,10.310663],[76.808573,10.437115],[76.821079,10.633176],[76.875546,10.678496],[76.889705,10.78004],[76.819838,10.875951],[76.690441,10.933364],[76.719173,11.138726],[76.641245,11.208644],[76.466268,11.205234],[76.533758,11.313134],[76.495414,11.384758],[76.409114,11.436822],[76.256255,11.478447],[76.240752,11.603969],[76.339248,11.591489],[76.415936,11.666833],[76.465338,11.71497],[76.532207,11.709079],[76.605381,11.631177],[76.750799,11.642339],[76.820769,11.625596],[76.907688,11.800184],[76.997399,11.825919],[77.082561,11.756776],[77.121939,11.792536],[77.259192,11.816902],[77.353863,11.7837],[77.433858,11.811527],[77.489772,11.92612],[77.670846,11.971311],[77.768721,12.120036],[77.667849,12.203881],[77.492149,12.205457],[77.471892,12.274238],[77.560775,12.339661],[77.618859,12.46663],[77.568733,12.55957],[77.609351,12.672793],[77.765311,12.718733],[77.801277,12.856554],[77.895018,12.87278],[78.002092,12.807151],[78.056249,12.845935],[78.229572,12.759893],[78.352768,12.641503],[78.419121,12.63264],[78.582625,12.778213],[78.64474,12.991998],[78.736207,13.06096],[78.944153,13.093387],[79.077582,13.035587],[79.161608,13.044915],[79.250801,13.147751],[79.31488,13.131989],[79.420197,13.219994],[79.449549,13.33115],[79.54422,13.323528],[79.571712,13.284073],[79.667933,13.291282],[79.696769,13.235807],[79.784929,13.224025],[79.816348,13.294925],[79.956701,13.365774],[79.961972,13.416546],[80.097571,13.463752],[80.231198,13.467614],[80.290332,13.436719],[80.342383,13.361328],[80.229102,12.690332],[80.143066,12.452002],[80.0375,12.295801],[79.981738,12.235449],[79.858496,11.98877],[79.848488,11.954472],[79.79113,11.916818],[79.68602,11.99994],[79.727051,11.841629],[79.812867,11.832394],[79.771387,11.690234],[79.754102,11.575293],[79.793359,11.44668],[79.748926,11.370605],[79.693164,11.312549],[79.799023,11.338672],[79.835254,11.268848],[79.848633,11.196875],[79.849425,10.979844],[79.73749,10.986229],[79.70545,10.910445],[79.767359,10.88856],[79.850195,10.768848]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"IND-3264","diss_me":3264,"iso_3166_2":"IN-GJ","wikipedia":null,"iso_a2":"IN","adm0_sr":1,"name":"Gujarat","name_alt":null,"name_local":null,"type":null,"type_en":null,"code_local":null,"code_hasc":"IN.GJ","note":null,"hasc_maybe":null,"region":"West","region_cod":null,"provnum_ne":20064,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":null,"postal":null,"area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":7,"mapcolor9":2,"mapcolor13":2,"fips":"IN32","fips_alt":null,"woe_id":2345743,"woe_label":"Gujarat, IN, India","woe_name":"Gujarat","latitude":22.7501,"longitude":71.3013,"sov_a3":"IND","adm0_a3":"IND","adm0_label":2,"admin":"India","geonunit":"India","gu_a3":"IND","gn_id":1270770,"gn_name":"State of Gujarat","gns_id":-2096768,"gns_name":"Gujarat, State of","gn_level":1,"gn_region":null,"gn_a1_code":"IN.09","region_sub":null,"sub_code":null,"gns_level":1,"gns_lang":"nld","gns_adm1":"IN09","gns_region":null,"min_label":4.6,"max_label":10.1,"min_zoom":4.6,"wikidataid":"Q1061","name_ar":"كجرات","name_bn":"গুজরাত","name_de":"Gujarat","name_en":"Gujarat","name_es":"Guyarat","name_fr":"Gujarat","name_el":"Γκουτζαράτ","name_hi":"गुजरात","name_hu":"Gudzsarát","name_id":"Gujarat","name_it":"Gujarat","name_ja":"グジャラート州","name_ko":"구자라트","name_nl":"Gujarat","name_pl":"Gudźarat","name_pt":"Gujarate","name_ru":"Гуджарат","name_sv":"Gujarat","name_tr":"Gucerat","name_vi":"Gujarat","name_zh":"古吉拉特邦","ne_id":1159314179,"name_he":"גוג'ראט","name_uk":"Гуджарат","name_ur":"گجرات","name_fa":"گجرات","name_zht":"古吉拉特邦","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[68.165039,20.078027,74.458122,24.708363],"geometry":{"type":"Polygon","coordinates":[[[71.047891,24.687744],[71.251496,24.636817],[71.378414,24.646661],[71.545845,24.688054],[71.651885,24.658004],[71.750897,24.678132],[71.947888,24.662629],[72.050931,24.708363],[72.099403,24.656557],[72.261667,24.60824],[72.275206,24.568397],[72.500929,24.49605],[72.555706,24.50667],[72.667637,24.460936],[72.747012,24.380657],[72.897391,24.360581],[72.958679,24.390062],[72.99971,24.493286],[73.095001,24.503647],[73.137169,24.335931],[73.079292,24.204311],[73.245586,24.015537],[73.354107,24.104731],[73.42387,23.940942],[73.364029,23.889085],[73.361652,23.784233],[73.51079,23.684498],[73.620551,23.582592],[73.618794,23.451876],[73.710674,23.415031],[73.811857,23.434616],[73.904461,23.333382],[73.959548,23.358833],[74.105792,23.247677],[74.108996,23.191117],[74.23333,23.1559],[74.323453,23.036062],[74.365001,22.874961],[74.4266,22.871628],[74.458122,22.804112],[74.37637,22.651047],[74.272707,22.609654],[74.161189,22.516662],[74.063108,22.5209],[74.025694,22.47961],[74.113027,22.410674],[74.221547,22.409433],[74.224338,22.349205],[74.05639,22.294169],[74.071479,22.197793],[74.141862,22.062814],[74.12884,21.951761],[74.06104,21.940315],[73.917587,21.866883],[73.809376,21.836471],[73.8286,21.650927],[73.751602,21.611033],[73.820848,21.508326],[73.995928,21.555325],[74.191575,21.545507],[74.291517,21.513855],[74.108686,21.451559],[74.053496,21.465718],[73.960168,21.394379],[73.91862,21.291569],[73.800074,21.280949],[73.77744,21.216638],[73.695171,21.122639],[73.868287,20.974767],[73.902911,20.883868],[73.909008,20.775709],[73.81103,20.676904],[73.792323,20.606184],[73.699822,20.562414],[73.475753,20.678712],[73.404233,20.66985],[73.4587,20.538023],[73.360721,20.369377],[73.394104,20.270391],[73.363822,20.178304],[73.271838,20.193419],[73.243313,20.138642],[73.166315,20.114871],[73.041775,20.157736],[73.046839,20.221324],[73.112158,20.254914],[73.049939,20.330258],[72.896667,20.221505],[72.947207,20.127402],[72.708984,20.078027],[72.815978,20.379526],[72.842179,20.453361],[72.847432,20.468162],[72.881152,20.563184],[72.89375,20.672754],[72.878906,20.828516],[72.840527,20.95249],[72.824316,21.083594],[72.813867,21.117188],[72.751563,21.12915],[72.692383,21.177637],[72.623828,21.371973],[72.686523,21.435742],[72.734766,21.470801],[72.668359,21.455908],[72.613281,21.461816],[72.717578,21.55127],[72.810547,21.619922],[73.022461,21.699609],[73.1125,21.750439],[72.979102,21.704687],[72.839746,21.687256],[72.543066,21.696582],[72.59248,21.877588],[72.644043,21.937988],[72.700195,21.971924],[72.61748,21.961719],[72.522266,21.976221],[72.553027,22.159961],[72.62793,22.199609],[72.708789,22.207178],[72.80918,22.233301],[72.701953,22.263623],[72.590137,22.278125],[72.455957,22.248096],[72.332617,22.270215],[72.182813,22.269727],[72.242578,22.245166],[72.306445,22.189209],[72.274414,22.089746],[72.244336,22.027637],[72.161719,21.984814],[72.094434,21.919971],[72.075586,21.862988],[72.037207,21.823047],[72.10293,21.79458],[72.170898,21.774316],[72.210352,21.728223],[72.256641,21.66123],[72.254004,21.531006],[72.076563,21.224072],[72.015234,21.155713],[71.571094,20.970557],[71.396484,20.869775],[71.024609,20.738867],[71.004676,20.735516],[70.879688,20.714502],[70.719336,20.74043],[70.485059,20.840186],[70.127344,21.094678],[70.034375,21.178809],[69.748438,21.505713],[69.541992,21.678564],[69.385449,21.839551],[69.191699,21.991504],[69.008789,22.196777],[68.969922,22.290283],[68.983496,22.3854],[69.05166,22.437305],[69.131348,22.41626],[69.194238,22.336084],[69.238867,22.300195],[69.276563,22.285498],[69.549219,22.408398],[69.655176,22.403516],[69.727539,22.465186],[69.819043,22.451758],[70.005859,22.547705],[70.08418,22.553516],[70.177246,22.572754],[70.327734,22.815771],[70.44043,22.970312],[70.513477,23.00249],[70.509375,23.040137],[70.489258,23.089502],[70.43457,23.0771],[70.396289,23.030127],[70.367969,22.973486],[70.339453,22.939746],[70.251172,22.970898],[70.191699,22.965674],[70.118262,22.947021],[69.849805,22.856445],[69.739648,22.775195],[69.664648,22.759082],[69.235938,22.848535],[68.81709,23.053711],[68.640723,23.189941],[68.529199,23.364063],[68.41748,23.571484],[68.453809,23.629492],[68.627148,23.75415],[68.776758,23.8521],[68.642383,23.808496],[68.496875,23.747998],[68.424902,23.705566],[68.343359,23.616846],[68.234961,23.596973],[68.191992,23.728906],[68.165039,23.857324],[68.234213,23.900557],[68.28253,23.927971],[68.381284,23.95089],[68.488719,23.967245],[68.586594,23.966599],[68.724105,23.964687],[68.728136,24.265625],[68.739608,24.292006],[68.758935,24.30725],[68.781156,24.31371],[68.799966,24.309059],[68.828285,24.263997],[68.863425,24.266478],[68.900839,24.292445],[68.984554,24.273092],[69.051527,24.286322],[69.119533,24.268648],[69.235082,24.268235],[69.443441,24.275366],[69.559196,24.273092],[69.634127,24.225188],[69.716189,24.172608],[69.805176,24.165244],[69.933747,24.171367],[70.021132,24.191573],[70.06516,24.240562],[70.098182,24.287484],[70.289074,24.356317],[70.489269,24.412179],[70.546785,24.418303],[70.565026,24.385773],[70.55588,24.331099],[70.579341,24.279035],[70.659491,24.246117],[70.716335,24.237978],[70.767288,24.245394],[70.805064,24.261982],[70.886196,24.34376],[70.928157,24.362338],[70.98283,24.36102],[71.044015,24.400087],[71.045307,24.430008],[71.00624,24.444348],[70.973219,24.48742],[70.979316,24.522457],[70.969808,24.571885],[70.976319,24.618756],[71.002364,24.653896],[71.047891,24.687744]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"IND-3299","diss_me":3299,"iso_3166_2":"IN-AR","wikipedia":null,"iso_a2":"IN","adm0_sr":1,"name":"Arunachal Pradesh","name_alt":"Agence de la Frontisre du Nord-Est(French-obsolete)|North East Frontier Agency","name_local":null,"type":"State","type_en":"State","code_local":null,"code_hasc":"IN.AR","note":null,"hasc_maybe":null,"region":"Northeast","region_cod":null,"provnum_ne":20045,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":null,"postal":"AR","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":17,"mapcolor9":2,"mapcolor13":2,"fips":"IN30","fips_alt":null,"woe_id":2345763,"woe_label":"Arunachal Pradesh, IN, India","woe_name":"Arunachal Pradesh","latitude":28.4056,"longitude":94.4673,"sov_a3":"IND","adm0_a3":"IND","adm0_label":5,"admin":"India","geonunit":"India","gu_a3":"IND","gn_id":1278341,"gn_name":"State of Arunachal Pradesh","gns_id":-2089163,"gns_name":"Arunachal Pradesh, State of","gn_level":1,"gn_region":null,"gn_a1_code":"IN.30","region_sub":null,"sub_code":null,"gns_level":1,"gns_lang":"nld","gns_adm1":"IN30","gns_region":null,"min_label":4.6,"max_label":10.1,"min_zoom":4.6,"wikidataid":"Q1162","name_ar":"أروناجل برديش","name_bn":"অরুণাচল প্রদেশ","name_de":"Arunachal Pradesh","name_en":"Arunachal Pradesh","name_es":"Arunachal Pradesh","name_fr":"Arunachal Pradesh","name_el":"Αρουνάτσαλ Πραντές","name_hi":"अरुणाचल प्रदेश","name_hu":"Arunácsal Prades","name_id":"Arunachal Pradesh","name_it":"Arunachal Pradesh","name_ja":"アルナーチャル・プラデーシュ州","name_ko":"아루나찰프라데시","name_nl":"Arunachal Pradesh","name_pl":"Arunachal Pradesh","name_pt":"Arunachal Pradesh","name_ru":"Аруначал-Прадеш","name_sv":"Arunachal Pradesh","name_tr":"Arunaçhal Pradesh","name_vi":"Arunachal Pradesh","name_zh":"阿鲁纳恰尔邦","ne_id":1159315223,"name_he":"ארונאצ'ל פרדש","name_uk":"Аруначал-Прадеш","name_ur":"اروناچل پردیش","name_fa":"آروناچال پرادش","name_zht":"阿魯納恰爾邦","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":"Unrecognized","FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[91.579351,26.654794,97.343547,29.447143],"geometry":{"type":"Polygon","coordinates":[[[91.631906,27.75996],[91.712573,27.75983],[91.824711,27.74642],[91.909408,27.729677],[91.977673,27.730349],[92.101283,27.807631],[92.157559,27.812256],[92.222258,27.826932],[92.250525,27.841479],[92.270058,27.830214],[92.341062,27.820757],[92.414856,27.824607],[92.480691,27.845949],[92.546734,27.879177],[92.664349,27.94894],[92.687759,27.98899],[92.687449,28.025732],[92.66559,28.049864],[92.643472,28.061543],[92.652567,28.093376],[92.701866,28.147119],[92.881856,28.228122],[93.034973,28.327651],[93.119205,28.402298],[93.157756,28.492731],[93.206539,28.590813],[93.251962,28.629467],[93.360534,28.654065],[93.664908,28.690239],[93.760768,28.729771],[93.902258,28.803203],[93.973623,28.860797],[94.013311,28.907538],[94.017652,28.959525],[94.111548,28.97588],[94.193455,29.059932],[94.293294,29.14463],[94.468064,29.216201],[94.62299,29.312423],[94.677043,29.297023],[94.73337,29.2516],[94.763136,29.201293],[94.769441,29.175868],[94.967516,29.144061],[94.998884,29.149177],[95.144715,29.104064],[95.279074,29.049545],[95.353074,29.035902],[95.389248,29.037401],[95.420202,29.054299],[95.45653,29.102281],[95.493789,29.137007],[95.51694,29.151193],[95.515803,29.206331],[95.710365,29.313818],[95.885031,29.390945],[96.035306,29.447143],[96.079593,29.424147],[96.128479,29.381385],[96.19478,29.272451],[96.234984,29.245786],[96.3372,29.261005],[96.355804,29.249068],[96.339732,29.209794],[96.270538,29.161218],[96.180827,29.117655],[96.12233,29.082075],[96.141346,28.963452],[96.137161,28.922602],[96.162224,28.909709],[96.346864,29.027427],[96.435695,29.050682],[96.467063,29.022286],[96.47714,28.959318],[96.550004,28.82961],[96.580906,28.763671],[96.395595,28.606523],[96.327382,28.525391],[96.329862,28.496814],[96.326141,28.468547],[96.278909,28.428188],[96.281493,28.412065],[96.319837,28.386511],[96.366449,28.367261],[96.389083,28.367933],[96.427686,28.406018],[96.602662,28.459917],[96.65284,28.449737],[96.77583,28.367054],[96.833036,28.362403],[96.980882,28.337702],[97.075346,28.368966],[97.145161,28.340312],[97.289493,28.23683],[97.322515,28.217994],[97.310267,28.155207],[97.302774,28.085986],[97.339154,28.030873],[97.343547,27.982349],[97.335124,27.937727],[97.306185,27.907082],[97.226086,27.890055],[97.157822,27.83688],[97.049715,27.760011],[96.962795,27.698284],[96.899698,27.643869],[96.876857,27.58674],[96.883627,27.514858],[96.90192,27.439592],[97.103768,27.163329],[97.102063,27.115425],[97.038088,27.102041],[96.95339,27.13328],[96.880268,27.177825],[96.797792,27.296215],[96.731646,27.33151],[96.665759,27.339262],[96.274207,27.278361],[96.190801,27.261282],[96.061455,27.217099],[95.970918,27.128086],[95.905289,27.046644],[95.837282,27.013804],[95.738374,26.950422],[95.463817,26.756042],[95.305067,26.672248],[95.246448,26.654794],[95.235252,26.790613],[95.202179,26.866732],[95.225433,26.974219],[95.176444,27.033182],[95.261193,27.048866],[95.423768,27.141289],[95.493427,27.250042],[95.545931,27.273943],[95.643806,27.230328],[95.799559,27.28588],[95.903738,27.276087],[96.007194,27.365126],[95.978256,27.449694],[95.879554,27.462613],[95.886788,27.557],[95.804313,27.619374],[95.775891,27.717327],[95.900741,27.86538],[95.964096,27.993305],[95.716773,27.990204],[95.543554,27.90207],[95.408368,27.870831],[95.31318,27.895791],[94.948138,27.76952],[94.798483,27.701229],[94.474575,27.593872],[94.352929,27.593122],[94.243064,27.647977],[94.243064,27.525969],[93.982512,27.327712],[93.84659,27.198892],[93.826552,27.095995],[93.694674,27.005949],[93.460683,26.947244],[93.375004,26.988792],[93.020297,26.953006],[92.814831,27.050804],[92.698766,27.065919],[92.626212,27.018067],[92.21032,26.912337],[92.072848,26.920914],[92.068107,26.975201],[92.0309,27.04083],[91.998654,27.079278],[91.992297,27.099897],[92.002581,27.147387],[92.031158,27.214308],[92.083455,27.290608],[92.044956,27.364712],[91.990799,27.450211],[91.951008,27.458298],[91.851272,27.438636],[91.743062,27.442511],[91.658106,27.493619],[91.594751,27.557646],[91.579351,27.611442],[91.597644,27.677019],[91.62586,27.737325],[91.631906,27.75996]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"IND-3300","diss_me":3300,"iso_3166_2":"IN-MZ","wikipedia":null,"iso_a2":"IN","adm0_sr":1,"name":"Mizoram","name_alt":null,"name_local":null,"type":"State","type_en":"State","code_local":null,"code_hasc":"IN.MZ","note":null,"hasc_maybe":null,"region":"Northeast","region_cod":null,"provnum_ne":20047,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":null,"postal":"MZ","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":7,"mapcolor9":2,"mapcolor13":2,"fips":"IN31","fips_alt":null,"woe_id":20070461,"woe_label":"Mizoram, IN, India","woe_name":"Mizoram","latitude":23.2037,"longitude":92.8409,"sov_a3":"IND","adm0_a3":"IND","adm0_label":2,"admin":"India","geonunit":"India","gu_a3":"IND","gn_id":1262963,"gn_name":"State of Mizoram","gns_id":-2104612,"gns_name":"Mizoram, State of","gn_level":1,"gn_region":null,"gn_a1_code":"IN.31","region_sub":null,"sub_code":null,"gns_level":1,"gns_lang":"nld","gns_adm1":"IN31","gns_region":null,"min_label":4.6,"max_label":10.1,"min_zoom":4.6,"wikidataid":"Q1502","name_ar":"ميزورام","name_bn":"মিজোরাম","name_de":"Mizoram","name_en":"Mizoram","name_es":"Mizoram","name_fr":"Mizoram","name_el":"Μιζόραμ","name_hi":"मिज़ोरम","name_hu":"Mizoram","name_id":"Mizoram","name_it":"Mizoram","name_ja":"ミゾラム州","name_ko":"미조람","name_nl":"Mizoram","name_pl":"Mizoram","name_pt":"Mizoram","name_ru":"Мизорам","name_sv":"Mizoram","name_tr":"Mizoram","name_vi":"Mizoram","name_zh":"米佐拉姆邦","ne_id":1159315237,"name_he":"מיזוראם","name_uk":"Мізорам","name_ur":"میزورم","name_fa":"میزورام","name_zht":"米佐拉姆邦","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[92.24608,21.97809,93.41495,24.471091],"geometry":{"type":"Polygon","coordinates":[[[93.312122,24.032525],[93.307359,24.021867],[93.372523,23.774156],[93.41495,23.682095],[93.408077,23.528047],[93.391282,23.33917],[93.366012,23.132516],[93.349372,23.084948],[93.308031,23.030378],[93.253461,23.015495],[93.203851,23.036992],[93.164164,23.032031],[93.150935,22.997305],[93.16251,22.907956],[93.114244,22.805714],[93.078691,22.718226],[93.088199,22.633244],[93.105046,22.5471],[93.161993,22.360186],[93.162407,22.291895],[93.151141,22.230633],[93.121479,22.205182],[93.070578,22.20942],[93.042983,22.183995],[93.02195,22.145677],[92.964538,22.003774],[92.909451,21.988917],[92.854312,22.01013],[92.771423,22.104801],[92.720987,22.132448],[92.688947,22.130975],[92.674685,22.105989],[92.652619,22.0493],[92.630346,22.011318],[92.574897,21.97809],[92.561255,22.048034],[92.531851,22.410312],[92.50963,22.525705],[92.491388,22.685386],[92.464465,22.734427],[92.430462,22.821811],[92.393151,22.897026],[92.361629,22.929014],[92.341268,23.069807],[92.333827,23.242406],[92.33424,23.323822],[92.289385,23.492494],[92.24608,23.683619],[92.270678,23.829114],[92.318634,23.850534],[92.325352,24.188343],[92.29848,24.23772],[92.416199,24.239451],[92.489476,24.132507],[92.624455,24.238521],[92.630863,24.295132],[92.701246,24.361924],[92.746308,24.471091],[92.82868,24.377324],[93.018436,24.399131],[92.995492,24.095274],[93.105666,24.044941],[93.248603,24.056982],[93.312122,24.032525]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"IND-3301","diss_me":3301,"iso_3166_2":"IN-TR","wikipedia":null,"iso_a2":"IN","adm0_sr":1,"name":"Tripura","name_alt":null,"name_local":null,"type":"State","type_en":"State","code_local":null,"code_hasc":"IN.TR","note":null,"hasc_maybe":null,"region":"Northeast","region_cod":null,"provnum_ne":20050,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":null,"postal":"TR","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":7,"mapcolor9":2,"mapcolor13":2,"fips":"IN26","fips_alt":null,"woe_id":2345759,"woe_label":"Tripura, IN, India","woe_name":"Tripura","latitude":23.8519,"longitude":91.7031,"sov_a3":"IND","adm0_a3":"IND","adm0_label":2,"admin":"India","geonunit":"India","gu_a3":"IND","gn_id":1254169,"gn_name":"State of Tripura","gns_id":-2113451,"gns_name":"Tripura, State of","gn_level":1,"gn_region":null,"gn_a1_code":"IN.26","region_sub":null,"sub_code":null,"gns_level":1,"gns_lang":"nld","gns_adm1":"IN26","gns_region":null,"min_label":4.6,"max_label":10.1,"min_zoom":4.6,"wikidataid":"Q1363","name_ar":"ترايبورا","name_bn":"ত্রিপুরা","name_de":"Tripura","name_en":"Tripura","name_es":"Tripura","name_fr":"Tripura","name_el":"Τρίπουρα","name_hi":"त्रिपुरा","name_hu":"Tripura","name_id":"Tripura","name_it":"Tripura","name_ja":"トリプラ州","name_ko":"트리푸라","name_nl":"Tripura","name_pl":"Tripura","name_pt":"Tripura","name_ru":"Трипура","name_sv":"Tripura","name_tr":"Tripura","name_vi":"Tripura","name_zh":"特里普拉邦","ne_id":1159315239,"name_he":"טריפורה","name_uk":"Тріпура","name_ur":"تری پورہ","name_fa":"تریپورا","name_zht":"特里普拉邦","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[91.160462,22.979683,92.325352,24.545276],"geometry":{"type":"Polygon","coordinates":[[[92.24608,23.683619],[92.187066,23.675532],[92.152339,23.72186],[92.127018,23.721007],[92.044077,23.67778],[91.978551,23.692017],[91.929614,23.685996],[91.929511,23.59825],[91.937882,23.50469],[91.919175,23.471048],[91.790088,23.361029],[91.754224,23.287313],[91.757945,23.209798],[91.773861,23.106083],[91.75102,23.053529],[91.6949,23.004849],[91.619555,22.979683],[91.553564,22.991569],[91.511241,23.033711],[91.471399,23.141275],[91.436259,23.199902],[91.399465,23.213855],[91.37063,23.19799],[91.366754,23.130475],[91.368666,23.074561],[91.359364,23.068386],[91.338849,23.07699],[91.315233,23.104378],[91.25379,23.373638],[91.165526,23.581042],[91.160462,23.660623],[91.192501,23.762891],[91.231982,23.920478],[91.33642,24.018818],[91.350218,24.060496],[91.367064,24.093517],[91.392644,24.10008],[91.526383,24.090752],[91.571393,24.106591],[91.611132,24.152841],[91.6687,24.190074],[91.726526,24.205086],[91.772518,24.210667],[91.846208,24.175269],[91.876904,24.195319],[91.899021,24.26069],[91.931009,24.325544],[91.951628,24.356756],[92.001082,24.370916],[92.064128,24.374352],[92.085057,24.38616],[92.102006,24.408045],[92.117509,24.493957],[92.139065,24.545276],[92.221689,24.500417],[92.257759,24.396005],[92.220242,24.264333],[92.29848,24.23772],[92.325352,24.188343],[92.318634,23.850534],[92.270678,23.829114],[92.24608,23.683619]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"RUS-2167","diss_me":2167,"iso_3166_2":"RU-TOM","wikipedia":null,"iso_a2":"RU","adm0_sr":1,"name":"Tomsk","name_alt":"Tomskaya","name_local":"Томская область","type":"Oblast","type_en":"Region","code_local":null,"code_hasc":"RU.TO","note":null,"hasc_maybe":null,"region":"Siberian","region_cod":null,"provnum_ne":20099,"gadm_level":1,"check_me":20,"datarank":2,"abbrev":null,"postal":"TO","area_sqkm":0,"sameascity":6,"labelrank":6,"name_len":5,"mapcolor9":7,"mapcolor13":7,"fips":"RS75","fips_alt":null,"woe_id":2346928,"woe_label":"Tomskaya Oblast, RU, Russia","woe_name":"Tomsk","latitude":58.4467,"longitude":82.2299,"sov_a3":"RUS","adm0_a3":"RUS","adm0_label":2,"admin":"Russia","geonunit":"Russia","gu_a3":"RUS","gn_id":1489421,"gn_name":"Tomskaya Oblast'","gns_id":-3019683,"gns_name":"Tomskaya Oblast'","gn_level":1,"gn_region":null,"gn_a1_code":"RU.75","region_sub":"West Siberian","sub_code":null,"gns_level":1,"gns_lang":"fas","gns_adm1":"RS75","gns_region":null,"min_label":5,"max_label":10.2,"min_zoom":4.7,"wikidataid":"Q5884","name_ar":"تومسك أوبلاست","name_bn":"টোমস্ক ওব্লাস্ট","name_de":"Tomsk","name_en":"Tomsk","name_es":"Tomsk","name_fr":"Tomsk","name_el":"Όμπλαστ του Τομσκ","name_hi":"टॉमस्क ओब्लास्ट","name_hu":"Tomszki terület","name_id":"Tomsk","name_it":"Tomsk","name_ja":"トムスク州","name_ko":"톰스크","name_nl":"Tomsk","name_pl":"tomski","name_pt":"Tomsk","name_ru":"Томская область","name_sv":"Tomsk","name_tr":"Tomsk Oblastı","name_vi":"Tomsk","name_zh":"托木斯克州","ne_id":1159313233,"name_he":"מחוז טומסק","name_uk":"Томська область","name_ur":"تومسک اوبلاست","name_fa":"استان تومسک","name_zht":"托木斯克州","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[75.0801,55.692156,89.390647,61.04723],"geometry":{"type":"Polygon","coordinates":[[[88.623976,56.832965],[88.551836,56.786767],[88.418924,56.828521],[88.144419,56.71889],[87.77917,56.54797],[87.62042,56.639747],[87.396971,56.616028],[87.1667,56.675559],[87.129804,56.53996],[86.912969,56.555515],[86.706677,56.631892],[86.532424,56.568795],[86.394241,56.549313],[86.313419,56.626931],[86.217404,56.624193],[86.111571,56.496552],[85.784459,56.40617],[85.79066,56.361005],[85.606486,56.324056],[85.687928,56.238841],[85.379316,56.212693],[85.254362,56.245146],[85.121244,56.215871],[85.009209,56.133396],[84.892937,56.169595],[84.410383,56.044073],[84.329044,55.987539],[84.196753,56.054822],[83.951083,56.004902],[83.909535,55.913177],[83.782721,55.882119],[83.56816,55.692699],[83.402899,55.735203],[83.316083,55.692156],[83.223169,55.737012],[83.293345,55.85101],[83.40662,55.893462],[83.353497,55.969142],[83.127567,56.13169],[83.214384,56.212073],[83.137489,56.275738],[83.153922,56.381933],[83.251694,56.455624],[83.096045,56.549313],[82.995896,56.507869],[82.856473,56.532622],[82.828464,56.440535],[82.426525,56.39431],[82.342395,56.35563],[82.146025,56.334572],[81.944384,56.339455],[81.55743,56.258272],[81.425552,56.373329],[81.214609,56.507559],[81.122315,56.532622],[80.310271,56.438623],[80.24857,56.45472],[79.589799,56.928567],[78.447646,57.121888],[78.444339,57.161317],[76.91854,57.187879],[76.802165,57.210048],[76.108667,57.250253],[75.992499,57.38487],[75.858554,57.399081],[75.727089,57.598862],[75.580534,57.675033],[75.54281,57.940856],[75.092915,58.110148],[75.2219,58.22208],[75.0801,58.353544],[75.304272,58.451058],[75.302929,58.486921],[75.105214,58.581024],[75.159475,58.650219],[75.373208,58.785869],[75.641616,58.982395],[75.686884,59.040066],[75.628387,59.23778],[75.843361,59.323253],[75.89514,59.426399],[76.007175,59.428414],[76.171713,59.542774],[76.44012,59.544583],[76.645482,59.585097],[76.656334,59.692739],[76.741497,59.7578],[76.757517,60.056722],[76.698606,60.117261],[76.84795,60.266141],[76.749352,60.346911],[76.779634,60.451814],[77.012695,60.52721],[77.053519,60.577543],[76.97032,60.649115],[77.067575,60.726319],[77.136098,60.856131],[77.407503,60.811069],[77.702265,60.825176],[77.941114,60.74916],[78.164149,60.803137],[78.474415,60.777479],[78.674919,60.827967],[78.806487,60.77983],[79.168532,60.836597],[79.31364,60.79231],[79.284598,60.725596],[79.359528,60.663584],[79.502569,60.68658],[79.853348,60.691903],[80.165371,60.663584],[80.413934,60.760633],[80.723476,60.796625],[81.017205,60.757248],[81.140505,60.636661],[81.497692,60.615474],[81.830385,60.644722],[82.138997,60.531964],[82.362446,60.600642],[82.407404,60.723012],[83.144207,61.028213],[83.503565,61.04723],[83.61622,60.981782],[83.997178,60.826107],[84.259591,60.855511],[84.355296,60.790915],[84.708349,60.458946],[84.781213,60.355954],[84.631868,60.205576],[84.610577,60.059177],[84.531306,59.974996],[84.691916,59.904819],[85.496311,59.89159],[85.968221,59.955876],[86.625442,59.950036],[87.084122,59.882753],[87.213623,59.685039],[87.491952,59.673619],[87.55386,59.640701],[87.878388,59.288991],[87.936266,59.26615],[88.585942,59.298655],[88.620255,59.198816],[88.825824,59.034536],[88.796679,59.010455],[88.382647,58.908911],[87.932235,58.526144],[87.918179,58.499944],[88.014297,58.268278],[88.155684,58.106531],[88.687435,58.036561],[88.850835,57.960649],[89.328429,57.950003],[89.390647,57.877553],[89.354371,57.796292],[89.380415,57.637154],[89.166785,57.615812],[89.077178,57.514681],[88.861481,57.431689],[88.738594,57.232786],[88.64754,57.21165],[88.529615,57.095843],[88.720921,57.055329],[88.623976,56.832965]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"RUS-2279","diss_me":2279,"iso_3166_2":"RU-AD","wikipedia":null,"iso_a2":"RU","adm0_sr":1,"name":"Adygey","name_alt":"Adygea|Adygeya|Adygheya|Republic of Adygeya|Adygeyskaya A.Obl.|Respublika Adygeya","name_local":"Республика Адыгея","type":"Respublika","type_en":"Republic","code_local":null,"code_hasc":"RU.AD","note":null,"hasc_maybe":null,"region":"Volga","region_cod":null,"provnum_ne":20028,"gadm_level":1,"check_me":20,"datarank":2,"abbrev":null,"postal":"AD","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":6,"mapcolor9":7,"mapcolor13":7,"fips":"RS01","fips_alt":null,"woe_id":20070520,"woe_label":"Adygeya, RU, Russia","woe_name":"Adygey","latitude":44.4658,"longitude":40.1293,"sov_a3":"RUS","adm0_a3":"RUS","adm0_label":2,"admin":"Russia","geonunit":"Russia","gu_a3":"RUS","gn_id":584222,"gn_name":"Respublika Adygeya","gns_id":-2874328,"gns_name":"Adygeya, Respublika","gn_level":1,"gn_region":null,"gn_a1_code":"RU.01","region_sub":"North Caucasus","sub_code":null,"gns_level":1,"gns_lang":"rus","gns_adm1":"RS01","gns_region":null,"min_label":5,"max_label":10.2,"min_zoom":4.7,"wikidataid":"Q3734","name_ar":"أديغيا","name_bn":"আদিগিয়া রিপাবলিক","name_de":"Adygeja","name_en":"Republic of Adygea","name_es":"Adigueya","name_fr":"Adyguée","name_el":"Δημοκρατία της Αντιγκέα","name_hi":"आदिगेया","name_hu":"Adigeföld","name_id":"Adygea","name_it":"Adighezia","name_ja":"アディゲ共和国","name_ko":"아디게야 공화국","name_nl":"Adygea","name_pl":"Adygeja","name_pt":"Adiguésia","name_ru":"Адыгея","name_sv":"Adygeiska republiken","name_tr":"Adıge Cumhuriyeti","name_vi":"Adygea","name_zh":"阿迪格共和国","ne_id":1159313137,"name_he":"אדיגיה","name_uk":"Адигея","name_ur":"ادیگیا","name_fa":"آدیغیه","name_zht":"阿迪格共和国","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[38.72821,43.751232,40.624528,45.192952],"geometry":{"type":"Polygon","coordinates":[[[39.751507,45.126548],[39.96431,45.074768],[40.17422,45.109598],[40.415549,44.999941],[40.527583,44.915192],[40.624528,44.767035],[40.554248,44.719751],[40.393638,44.725255],[40.327079,44.563999],[40.406351,44.4993],[40.407797,44.342875],[40.43653,44.284403],[40.366456,44.198052],[40.383406,44.033385],[40.455236,43.981011],[40.336381,43.769241],[40.27902,43.751232],[39.930514,43.898096],[39.729699,43.917991],[39.754297,44.060877],[39.71802,44.117798],[39.800289,44.189809],[39.904676,44.076741],[39.988495,44.07762],[40.078205,44.244173],[39.970925,44.256007],[39.907776,44.324633],[39.792641,44.357112],[39.87429,44.472531],[39.914804,44.582886],[39.914908,44.698616],[40.019811,44.723834],[39.883798,45.007434],[39.750267,44.934699],[39.639162,45.03397],[39.495088,45.030688],[39.489301,44.96661],[39.631617,44.857572],[39.552656,44.806516],[39.063797,44.81034],[38.760353,44.938601],[38.72821,45.012498],[38.920963,45.016529],[39.042299,44.965938],[39.324246,45.001233],[39.540047,45.15559],[39.641643,45.192952],[39.751507,45.126548]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"RUS-2280","diss_me":2280,"iso_3166_2":"RU-KC","wikipedia":null,"iso_a2":"RU","adm0_sr":1,"name":"Karachay-Cherkess","name_alt":"Karaçay-Çerkes|Karachay-Cherkessiya|Karachayevo-Cherkesskaya Respublika|Karachayevo-Cherkessiya|Karachayevo-Cherkess Republic|K","name_local":"Карачаево-Черкессия Республика","type":"Respublika","type_en":"Republic","code_local":null,"code_hasc":"RU.KC","note":null,"hasc_maybe":null,"region":"Volga","region_cod":null,"provnum_ne":20046,"gadm_level":1,"check_me":20,"datarank":2,"abbrev":null,"postal":"KC","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":17,"mapcolor9":7,"mapcolor13":7,"fips":"RS27","fips_alt":"RS27","woe_id":20070522,"woe_label":"Karachayevo-Cherkesiya, RU, Russia","woe_name":"Karachay-Cherkess","latitude":43.7073,"longitude":41.6866,"sov_a3":"RUS","adm0_a3":"RUS","adm0_label":2,"admin":"Russia","geonunit":"Russia","gu_a3":"RUS","gn_id":552927,"gn_name":"Karachayevo-Cherkesskaya Respublika","gns_id":-2920821,"gns_name":"Karachayevo-Cherkesskaya Respublika","gn_level":1,"gn_region":null,"gn_a1_code":"RU.27","region_sub":"North Caucasus","sub_code":null,"gns_level":1,"gns_lang":"rus","gns_adm1":"RS27","gns_region":null,"min_label":5,"max_label":10.2,"min_zoom":4.7,"wikidataid":"Q5328","name_ar":"قراتشاي - تشيركيسيا","name_bn":"কারাকায় চেরকিস রিপাবলিক","name_de":"Karatschai-Tscherkessien","name_en":"Karachay-Cherkess Republic","name_es":"Karacháyevo-Cherkesia","name_fr":"Karatchaïévo-Tcherkessie","name_el":"Δημοκρατία των Καρατσάι - Τσερκεσίων","name_hi":"काराचाए-चरकस्सिया","name_hu":"Karacsáj- és Cserkeszföld","name_id":"Karachay-Cherkessia","name_it":"Karačaj-Circassia","name_ja":"カラチャイ・チェルケス共和国","name_ko":"카라차예보체르케스카야 공화국","name_nl":"Karatsjaj-Tsjerkessië","name_pl":"Karaczajo-Czerkiesja","name_pt":"Carachai-Circássia","name_ru":"Карачаево-Черкесия","name_sv":"Karatjajen-Tjerkessien","name_tr":"Karaçay-Çerkesya","name_vi":"Karachay-Cherkessia","name_zh":"卡拉恰伊-切尔克斯共和国","ne_id":1159313141,"name_he":"קאראצ'אי-צ'רקסיה","name_uk":"Карачаєво-Черкесія","name_ur":"کراچائے-چرکیسیا","name_fa":"قرهچای و چرکس","name_zht":"卡拉恰伊-切尔克斯共和国","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[40.688726,43.190129,42.683214,44.494752],"geometry":{"type":"Polygon","coordinates":[[[42.362302,43.225792],[42.279673,43.228059],[42.122215,43.207337],[42.087798,43.199121],[42.049971,43.190129],[41.580542,43.219249],[41.460756,43.276299],[41.35823,43.333376],[41.083105,43.374485],[40.942028,43.418074],[40.801675,43.47993],[40.688726,43.519599],[40.723437,43.631497],[40.723851,43.810479],[40.781728,43.926828],[40.95071,43.989382],[40.985437,44.11555],[41.255911,44.080617],[41.282473,44.011629],[41.449491,43.993904],[41.538478,44.08532],[41.632529,44.121907],[41.711491,44.24301],[41.704049,44.308355],[41.602247,44.367473],[41.729371,44.458553],[41.904554,44.494752],[41.944551,44.402923],[42.037982,44.363907],[42.229805,44.343702],[42.34587,44.305565],[42.499143,44.298898],[42.55547,44.244897],[42.303082,44.128521],[42.305976,44.057725],[42.378116,43.971477],[42.496972,44.030439],[42.660063,43.9167],[42.683214,43.807171],[42.671432,43.695628],[42.459972,43.615426],[42.478679,43.499826],[42.404678,43.395439],[42.404265,43.283663],[42.362302,43.225792]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"RUS-2303","diss_me":2303,"iso_3166_2":"RU-IN","wikipedia":null,"iso_a2":"RU","adm0_sr":1,"name":"Ingush","name_alt":"Ingouchie|Inguchétia|Inguschetien|Ingushetia|Ingushetiya|Ingush Republic|Ingushskaya Respublika|Respublika Ingushetiya","name_local":"Респу́блика Ингуше́тия","type":"Respublika","type_en":"Republic","code_local":null,"code_hasc":"RU.IN","note":null,"hasc_maybe":null,"region":"Volga","region_cod":null,"provnum_ne":20037,"gadm_level":1,"check_me":20,"datarank":2,"abbrev":null,"postal":"IN","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":6,"mapcolor9":7,"mapcolor13":7,"fips":"RS19","fips_alt":null,"woe_id":20070521,"woe_label":"Ingushetiya, RU, Russia","woe_name":"Ingush","latitude":43.3661,"longitude":44.8468,"sov_a3":"RUS","adm0_a3":"RUS","adm0_label":2,"admin":"Russia","geonunit":"Russia","gu_a3":"RUS","gn_id":556349,"gn_name":"Respublika Ingushetiya","gns_id":-2915754,"gns_name":"Ingushetiya, Respublika","gn_level":1,"gn_region":null,"gn_a1_code":"RU.19","region_sub":"North Caucasus","sub_code":null,"gns_level":1,"gns_lang":"rus","gns_adm1":"RS19","gns_region":null,"min_label":5,"max_label":10.2,"min_zoom":4.7,"wikidataid":"Q5219","name_ar":"إنغوشيتيا","name_bn":"ইঙ্গুশেতিয়া","name_de":"Inguschetien","name_en":"Republic of Ingushetia","name_es":"Ingusetia","name_fr":"Ingouchie","name_el":"Δημοκρατία της Ινγκουσετίας","name_hi":"इन्गुशेतिया","name_hu":"Ingusföld","name_id":"Ingushetia","name_it":"Inguscezia","name_ja":"イングーシ共和国","name_ko":"인구시 공화국","name_nl":"Ingoesjetië","name_pl":"Inguszetia","name_pt":"Inguchétia","name_ru":"Ингушетия","name_sv":"Ingusjien","name_tr":"İnguşetya","name_vi":"Ingushetiya","name_zh":"印古什共和国","ne_id":1159313119,"name_he":"אינגושטיה","name_uk":"Інгушетія","name_ur":"انگوشتیا","name_fa":"اینگوشتیا","name_zht":"印古什共和国","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[44.498711,42.616779,45.171848,43.619844],"geometry":{"type":"Polygon","coordinates":[[[45.077442,42.692902],[45.071595,42.694164],[44.943386,42.73026],[44.870988,42.756383],[44.850524,42.746823],[44.771045,42.616779],[44.691774,42.709641],[44.644335,42.73473],[44.628418,42.882783],[44.852177,42.836404],[44.936617,42.920249],[44.915326,43.070911],[44.818381,43.162947],[44.712858,43.217879],[44.574882,43.240307],[44.572401,43.392494],[44.498711,43.392132],[44.521965,43.564473],[44.615913,43.609948],[44.767531,43.619844],[44.838535,43.58411],[45.046687,43.494348],[45.120998,43.204056],[45.169264,43.127368],[45.137225,43.07458],[45.161306,42.946423],[45.136604,42.835138],[45.171848,42.791704],[45.077442,42.692902]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"RUS-2304","diss_me":2304,"iso_3166_2":"RU-KB","wikipedia":null,"iso_a2":"RU","adm0_sr":1,"name":"Kabardin-Balkar","name_alt":"Kabardin A.S.S.R.|Kabardino-Balkarskaya A.S.S.R.|Kabardino-Balkariya|Kabardino-Balkarsk|Kabard|Kabardino-Balkarskaya Republic","name_local":"Кабардино-Балкарская Республика","type":"Respublika","type_en":"Republic","code_local":null,"code_hasc":"RU.KB","note":null,"hasc_maybe":null,"region":"Volga","region_cod":null,"provnum_ne":20039,"gadm_level":1,"check_me":20,"datarank":2,"abbrev":null,"postal":"KB","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":15,"mapcolor9":7,"mapcolor13":7,"fips":"RS22","fips_alt":null,"woe_id":2346871,"woe_label":"Kabardino-Balkariya, RU, Russia","woe_name":"Kabardin-Balkar","latitude":43.3757,"longitude":43.3982,"sov_a3":"RUS","adm0_a3":"RUS","adm0_label":2,"admin":"Russia","geonunit":"Russia","gu_a3":"RUS","gn_id":554667,"gn_name":"Kabardino-Balkarskaya Respublika","gns_id":-2918183,"gns_name":"Kabardino-Balkarskaya Respublika","gn_level":1,"gn_region":null,"gn_a1_code":"RU.22","region_sub":"North Caucasus","sub_code":null,"gns_level":1,"gns_lang":"rus","gns_adm1":"RS22","gns_region":null,"min_label":5,"max_label":10.2,"min_zoom":4.7,"wikidataid":"Q5267","name_ar":"قبردينو - بلقاريا","name_bn":"কাবার্ডিনো-বল্কার রিপাবলিক","name_de":"Kabardino-Balkarien","name_en":"Kabardino-Balkaria","name_es":"Kabardia-Balkaria","name_fr":"Kabardino-Balkarie","name_el":"Δημοκρατία της Καμπαρντίνο - Μπαλκάρια","name_hi":"काबारदीनो-बल्कारिया","name_hu":"Kabard- és Balkárföld","name_id":"Kabardino-Balkaria","name_it":"Cabardino-Balcaria","name_ja":"カバルダ・バルカル共和国","name_ko":"카바르디노발카르 공화국","name_nl":"Kabardië-Balkarië","name_pl":"Kabardo-Bałkaria","name_pt":"Cabárdia-Balcária","name_ru":"Кабардино-Балкария","name_sv":"Kabardinien-Balkarien","name_tr":"Kabardino-Balkarya","name_vi":"Kabardino-Balkaria","name_zh":"卡巴尔达-巴尔卡尔共和国","ne_id":1159313143,"name_he":"קברדינו-בלקריה","name_uk":"Кабардино-Балкарія","name_ur":"کباردینو-بالکاریا جمہوریہ","name_fa":"کاباردینو-بالکاریا","name_zht":"卡巴爾達-巴爾卡爾共和國","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[42.362302,42.887111,44.433081,43.994214],"geometry":{"type":"Polygon","coordinates":[[[43.38636,42.887111],[43.34798,42.896658],[43.089184,42.989056],[43.000146,43.049672],[42.991619,43.091479],[42.890023,43.132613],[42.760625,43.169562],[42.66027,43.159071],[42.566012,43.155144],[42.419044,43.224235],[42.362302,43.225792],[42.404265,43.283663],[42.404678,43.395439],[42.478679,43.499826],[42.459972,43.615426],[42.671432,43.695628],[42.683214,43.807171],[42.852093,43.817119],[42.975083,43.890965],[43.111198,43.896494],[43.17476,43.947809],[43.266021,43.909775],[43.300024,43.823992],[43.501769,43.866573],[43.728732,43.83872],[43.803352,43.940548],[43.906085,43.994214],[44.258519,43.924606],[44.284873,43.81885],[44.327765,43.664208],[44.433081,43.65408],[44.379751,43.490214],[44.181107,43.356734],[44.10783,43.430657],[44.03569,43.364795],[44.084266,43.274361],[43.89823,43.253898],[43.848104,43.31007],[43.735243,43.110237],[43.566158,42.938826],[43.436863,42.950428],[43.38636,42.887111]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"RUS-2305","diss_me":2305,"iso_3166_2":"RU-SE","wikipedia":null,"iso_a2":"RU","adm0_sr":1,"name":"North Ossetia","name_alt":"Kuzey Osetya|Respublika Severnaya Osetiya|Severnaya Osetiya-Alaniya|North Ossetian A.S.S.R.|Republic of North Osetia-Alania","name_local":"Республика Северная Осетия-Алания","type":"Respublika","type_en":"Republic","code_local":null,"code_hasc":"RU.NO","note":null,"hasc_maybe":null,"region":"Volga","region_cod":null,"provnum_ne":20040,"gadm_level":1,"check_me":20,"datarank":2,"abbrev":null,"postal":"NO","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":13,"mapcolor9":7,"mapcolor13":7,"fips":"RS68","fips_alt":null,"woe_id":2346877,"woe_label":null,"woe_name":null,"latitude":42.9969,"longitude":44.1653,"sov_a3":"RUS","adm0_a3":"RUS","adm0_label":2,"admin":"Russia","geonunit":"Russia","gu_a3":"RUS","gn_id":519969,"gn_name":"North Ossetia","gns_id":-2967729,"gns_name":"Severnaya Osetiya-Alaniya, Respublika","gn_level":1,"gn_region":null,"gn_a1_code":"RU.68","region_sub":"North Caucasus","sub_code":null,"gns_level":1,"gns_lang":"rus","gns_adm1":"RS68","gns_region":null,"min_label":5,"max_label":10.2,"min_zoom":4.7,"wikidataid":"Q5237","name_ar":"أوسيتيا الشمالية-ألانيا","name_bn":"উত্তর ওশেতিয়া-আলানিয়া","name_de":"Nordossetien-Alanien","name_en":"Republic of North Ossetia-Alania","name_es":"Osetia del Norte - Alania","name_fr":"Ossétie du Nord-Alanie","name_el":"Δημοκρατία της Βόρειας Οσετίας - Αλανίας","name_hi":"उत्तर ओसेतिया-आलानिया","name_hu":"Észak-Oszétia","name_id":"Ossetia Utara-Alania","name_it":"Ossezia Settentrionale-Alania","name_ja":"北オセチア共和国","name_ko":"세베로오세티야 공화국","name_nl":"Noord-Ossetië","name_pl":"Osetia Północna","name_pt":"Ossétia do Norte-Alânia","name_ru":"Республика Северная Осетия-Алания","name_sv":"Nordossetien","name_tr":"Kuzey Osetya-Alanya","name_vi":"Bắc Osetiya-Alaniya","name_zh":"北奥塞梯-阿兰共和国","ne_id":1159313145,"name_he":"צפון אוסטיה - אלניה","name_uk":"Північна Осетія","name_ur":"شمالی اوسیشیا-الانیا","name_fa":"اوستیای شمالی-آلانیا","name_zht":"北奧塞提亞-阿蘭共和國","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[43.38636,42.566549,44.936617,43.829883],"geometry":{"type":"Polygon","coordinates":[[[44.644335,42.73473],[44.576432,42.748476],[44.505894,42.748657],[44.329522,42.703492],[44.199711,42.653624],[44.102714,42.616365],[44.004684,42.595592],[43.957452,42.566549],[43.825987,42.57151],[43.759841,42.593835],[43.738344,42.616986],[43.749919,42.6575],[43.795394,42.702975],[43.798702,42.72778],[43.782579,42.747003],[43.623105,42.807723],[43.557786,42.844465],[43.38636,42.887111],[43.436863,42.950428],[43.566158,42.938826],[43.735243,43.110237],[43.848104,43.31007],[43.89823,43.253898],[44.084266,43.274361],[44.03569,43.364795],[44.10783,43.430657],[44.181107,43.356734],[44.379751,43.490214],[44.433081,43.65408],[44.327765,43.664208],[44.284873,43.81885],[44.399285,43.795157],[44.693634,43.829883],[44.803498,43.802055],[44.838741,43.661056],[44.838535,43.58411],[44.767531,43.619844],[44.615913,43.609948],[44.521965,43.564473],[44.498711,43.392132],[44.572401,43.392494],[44.574882,43.240307],[44.712858,43.217879],[44.818381,43.162947],[44.915326,43.070911],[44.936617,42.920249],[44.852177,42.836404],[44.628418,42.882783],[44.644335,42.73473]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"RUS-2306","diss_me":2306,"iso_3166_2":"RU-STA","wikipedia":null,"iso_a2":"RU","adm0_sr":1,"name":"Stavropol'","name_alt":"Stavropol'skiy Kray|Stavropolskiy Kray","name_local":"Ставропольский край","type":"Kray","type_en":"Territory","code_local":null,"code_hasc":"RU.ST","note":null,"hasc_maybe":null,"region":"Volga","region_cod":null,"provnum_ne":20085,"gadm_level":1,"check_me":20,"datarank":2,"abbrev":null,"postal":"ST","area_sqkm":0,"sameascity":7,"labelrank":7,"name_len":10,"mapcolor9":7,"mapcolor13":7,"fips":"RS70","fips_alt":null,"woe_id":2346887,"woe_label":"Stavropolrskiy Kray, RU, Russia","woe_name":"Stavropol'","latitude":44.981,"longitude":43.2791,"sov_a3":"RUS","adm0_a3":"RUS","adm0_label":2,"admin":"Russia","geonunit":"Russia","gu_a3":"RUS","gn_id":487839,"gn_name":"Stavropol'skiy Kray","gns_id":-3011280,"gns_name":"Stavropol'skiy Kray","gn_level":1,"gn_region":null,"gn_a1_code":"RU.70","region_sub":"North Caucasus","sub_code":null,"gns_level":1,"gns_lang":"fas","gns_adm1":"RS70","gns_region":null,"min_label":5,"max_label":10.2,"min_zoom":4.7,"wikidataid":"Q5207","name_ar":"كراي ستافروبول","name_bn":"স্ট্যাভরোপোল ক্রাই","name_de":"Stawropol","name_en":"Stavropol Krai","name_es":"Stávropol","name_fr":"Stavropol","name_el":"Κράι Σταυρούπολης","name_hi":"स्ताव्रोपोल क्राय","name_hu":"Sztavropoli határterület","name_id":"Krai Stavropol","name_it":"Territorio di Stavropol'","name_ja":"スタヴロポリ地方","name_ko":"스타브로폴 지방","name_nl":"Kraj Stavropol","name_pl":"Kraj Stawropolski","name_pt":"Krai de Stavropol","name_ru":"Ставропольский край","name_sv":"Stavropol kraj","name_tr":"Stavropol Krayı","name_vi":"Stavropol","name_zh":"斯塔夫罗波尔边疆区","ne_id":1159313147,"name_he":"מחוז סטברופול","name_uk":"Ставропольський край","name_ur":"سٹاوروپول کرائی","name_fa":"سرزمین استاوروپول","name_zht":"斯塔夫罗波尔边疆区","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[40.840846,43.661056,45.711866,46.240279],"geometry":{"type":"Polygon","coordinates":[[[41.712627,45.996004],[42.149707,45.948979],[42.177405,46.099099],[42.339669,46.107108],[42.317448,45.980811],[42.533456,45.997658],[42.671225,46.088402],[42.834626,46.155788],[42.905423,46.240279],[42.991412,46.179559],[43.237289,46.112431],[43.392525,46.016003],[43.568328,45.981018],[43.742271,45.978899],[43.87756,45.94549],[44.096978,45.773899],[44.148241,45.652511],[44.207152,45.610007],[44.420989,45.52673],[44.706346,45.506008],[45.352509,45.243389],[45.586189,45.158303],[45.711866,45.013687],[45.705975,44.975782],[45.621123,44.898965],[45.613991,44.766002],[45.434881,44.617484],[45.27086,44.59056],[45.237373,44.460129],[45.398397,44.444419],[45.443769,44.402458],[45.404495,44.317502],[45.130713,44.268306],[45.124099,44.202367],[45.506298,44.190481],[45.509398,44.015195],[45.459065,43.999899],[45.43178,43.878614],[45.237373,43.880164],[45.189728,43.951736],[45.083378,43.95277],[45.079864,43.787715],[44.999972,43.704568],[44.838741,43.661056],[44.803498,43.802055],[44.693634,43.829883],[44.399285,43.795157],[44.284873,43.81885],[44.258519,43.924606],[43.906085,43.994214],[43.803352,43.940548],[43.728732,43.83872],[43.501769,43.866573],[43.300024,43.823992],[43.266021,43.909775],[43.17476,43.947809],[43.111198,43.896494],[42.975083,43.890965],[42.852093,43.817119],[42.683214,43.807171],[42.660063,43.9167],[42.496972,44.030439],[42.378116,43.971477],[42.305976,44.057725],[42.303082,44.128521],[42.55547,44.244897],[42.499143,44.298898],[42.34587,44.305565],[42.229805,44.343702],[42.037982,44.363907],[41.944551,44.402923],[41.904554,44.494752],[41.729371,44.458553],[41.701879,44.501367],[41.56659,44.546015],[41.417452,44.707762],[41.538374,44.736339],[41.651029,44.89664],[41.641521,44.980976],[41.469335,44.98697],[41.347068,45.121897],[41.359574,45.212021],[41.260149,45.228144],[41.03825,45.21817],[41.008071,45.384827],[40.924769,45.42994],[40.840846,45.538823],[40.870302,45.695919],[41.172195,45.701629],[41.274411,45.754107],[41.260562,45.872032],[41.162377,45.953552],[41.375387,45.946808],[41.420139,45.994764],[41.65847,45.976057],[41.712627,45.996004]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"RUS-2321","diss_me":2321,"iso_3166_2":"RU-CHU","wikipedia":null,"iso_a2":"RU","adm0_sr":5,"name":"Chukchi Autonomous Okrug","name_alt":"Chukotskiy Avtonomnyy Okrug","name_local":null,"type":"Avtonomnyy Okrug","type_en":"Autonomous Province","code_local":null,"code_hasc":"RU.CK","note":null,"hasc_maybe":"RU.CK|RUS-CHU","region":"Far Eastern","region_cod":null,"provnum_ne":20011,"gadm_level":1,"check_me":20,"datarank":2,"abbrev":null,"postal":"CK","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":24,"mapcolor9":7,"mapcolor13":7,"fips":"RS15","fips_alt":null,"woe_id":20070513,"woe_label":null,"woe_name":null,"latitude":66.7517,"longitude":170.516,"sov_a3":"RUS","adm0_a3":"RUS","adm0_label":2,"admin":"Russia","geonunit":"Russia","gu_a3":"RUS","gn_id":2126099,"gn_name":"Chukotskiy Avtonomnyy Okrug","gns_id":-2899578,"gns_name":"Chukotskiy Avtonomnyy Okrug","gn_level":1,"gn_region":null,"gn_a1_code":"RU.15","region_sub":"Far Eastern","sub_code":null,"gns_level":1,"gns_lang":"rus","gns_adm1":"RS15","gns_region":null,"min_label":5,"max_label":10.2,"min_zoom":4.7,"wikidataid":"Q7984","name_ar":"أوكروغ تشوكوتكا الذاتية","name_bn":"চুকোটকা স্বায়ত্তশাসিত ওব্লাস্ট","name_de":"Autonomer Kreis der Tschuktschen","name_en":"Chukotka Autonomous Okrug","name_es":"Chukotka","name_fr":"Tchoukotka","name_el":"Αυτόνομος θύλακας Τσουκότκα","name_hi":"चुकोतका स्वायत्त ऑक्रग","name_hu":"Csukcsföld","name_id":"Okrug otonom Chukotka","name_it":"della Čukotka","name_ja":"チュクチ自治管区","name_ko":"축치 자치구","name_nl":"Tsjoekotka","name_pl":"Czukocki","name_pt":"Chukotka","name_ru":"Чукотский автономный округ","name_sv":"Tjuktjien","name_tr":"Çukotka Özerk Okrugu","name_vi":"Khu tự trị Chukotka","name_zh":"楚科奇自治区","ne_id":1159313109,"name_he":"צ'וקוטקה","name_uk":"Чукотський автономний округ","name_ur":"چوکوتکا خود مختار آکرگ","name_fa":"چوکوتکا","name_zht":"楚科奇自治区","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[-180,61.822033,180,71.596191],"geometry":{"type":"MultiPolygon","coordinates":[[[[162.408447,69.651012],[162.944629,69.682764],[163.201367,69.714746],[163.498047,69.693262],[163.705273,69.701807],[163.945996,69.735156],[164.15957,69.719287],[164.513281,69.609131],[165.760742,69.584424],[165.980469,69.545996],[166.820312,69.499561],[166.884375,69.499902],[167.073145,69.554443],[167.628125,69.740332],[167.856836,69.728223],[167.950098,69.69917],[168.047656,69.625635],[168.15,69.577393],[168.22998,69.447021],[168.303027,69.271484],[168.423047,69.239502],[168.587598,69.228369],[168.946191,69.16333],[169.310645,69.079541],[169.414648,68.919629],[169.609863,68.786035],[170.065625,68.798682],[170.537598,68.825391],[170.99541,69.045312],[170.99668,69.134717],[170.883789,69.263623],[170.71416,69.388232],[170.582227,69.58335],[170.160938,69.626563],[170.201172,69.683203],[170.35957,69.750977],[170.503125,69.856543],[170.525391,69.937891],[170.486816,70.107568],[170.867969,70.096045],[171.24668,70.076123],[171.970508,70.000342],[172.55957,69.968359],[172.869238,69.919775],[173.056348,69.864941],[173.277441,69.823828],[173.35332,69.924023],[173.438672,69.946826],[173.733398,69.891113],[173.948047,69.874121],[174.319434,69.881641],[174.785547,69.855664],[175.295605,69.860059],[175.751172,69.90415],[175.921484,69.895313],[176.10752,69.860303],[176.410449,69.768506],[176.924414,69.645996],[177.394531,69.611621],[177.933691,69.495605],[178.442773,69.452979],[178.84834,69.387207],[178.906934,69.362109],[178.925,69.325977],[178.950684,69.295801],[179.272656,69.259668],[179.868262,69.012695],[179.999783,68.983496],[179.999563,65.067153],[179.827344,65.03418],[179.651367,64.920947],[179.448242,64.822021],[179.15,64.781592],[178.698438,64.631104],[178.519531,64.602979],[178.285352,64.672266],[177.748633,64.717041],[177.581641,64.777881],[177.337012,64.931348],[177.251855,64.953613],[177.179199,65.014111],[176.880859,65.081934],[176.624805,65.037598],[176.413086,65.07124],[176.341016,65.047314],[176.452148,65.025244],[176.645508,65.007178],[176.940039,65.016016],[177.037305,64.999658],[177.123438,64.947021],[177.222852,64.86167],[177.148242,64.804834],[177.06875,64.78667],[176.831055,64.849219],[176.556641,64.83999],[176.429492,64.855176],[176.061133,64.960889],[175.781152,64.844043],[175.396484,64.783691],[175.097754,64.776855],[174.548828,64.683887],[174.698633,64.681445],[175.09707,64.746631],[175.330664,64.746631],[175.67793,64.782471],[175.858594,64.825293],[175.945898,64.865186],[176.056543,64.904736],[176.169238,64.884766],[176.246973,64.843018],[176.300879,64.783838],[176.350977,64.705127],[176.283203,64.663818],[176.219434,64.641943],[176.140918,64.58584],[176.507617,64.682422],[176.730957,64.624854],[176.842871,64.633789],[177.049805,64.719238],[177.3875,64.774023],[177.427441,64.763379],[177.467188,64.736816],[177.409863,64.572803],[177.43291,64.444482],[177.6875,64.304736],[177.95332,64.222266],[178.044727,64.21958],[178.130566,64.235254],[178.163965,64.309082],[178.229492,64.364404],[178.312988,64.314404],[178.381445,64.260889],[178.477148,64.127881],[178.474805,64.089014],[178.451367,64.011377],[178.536035,63.975635],[178.650293,63.965283],[178.69248,63.842334],[178.731445,63.66709],[178.681348,63.650732],[178.625977,63.650732],[178.44043,63.605566],[178.466113,63.574072],[178.653711,63.556641],[178.706445,63.521533],[178.668848,63.439941],[178.678711,63.402295],[178.744043,63.394775],[178.786719,63.442432],[178.775391,63.510254],[178.792969,63.540332],[178.918555,63.400244],[178.921484,63.34502],[179.028125,63.282422],[179.332324,63.190186],[179.388574,63.147217],[179.405078,63.077734],[179.329004,63.05791],[179.25957,63.008301],[179.302148,62.939844],[179.381055,62.883691],[179.510938,62.862793],[179.570508,62.773486],[179.570508,62.6875],[179.477246,62.613086],[179.288672,62.510352],[179.176953,62.469189],[179.133887,62.396436],[179.120703,62.320361],[179.044629,62.323682],[178.963867,62.355273],[178.019238,62.546973],[177.663086,62.582813],[177.35127,62.587451],[177.292578,62.599023],[177.295898,62.644482],[177.31582,62.685254],[177.359668,62.736963],[177.338965,62.781348],[177.29834,62.784229],[177.258691,62.750439],[177.172656,62.750342],[177.091211,62.789551],[177.023535,62.777246],[176.990039,62.722217],[176.963477,62.693262],[176.964746,62.658643],[177.008008,62.626562],[177.189648,62.591602],[177.159473,62.560986],[176.907422,62.536084],[176.702539,62.505762],[176.436523,62.41084],[176.328418,62.346045],[175.613867,62.184375],[175.441992,62.12793],[175.36582,62.121338],[175.267871,62.102393],[175.192383,62.034424],[174.797559,61.938867],[174.715039,61.9479],[174.610547,61.867627],[174.514355,61.823633],[174.454226,61.822033],[174.468452,61.978801],[174.343705,62.04996],[174.116535,62.073834],[174.112194,62.188504],[174.015456,62.269274],[174.093384,62.339813],[174.079845,62.447041],[173.872416,62.44053],[173.797588,62.51789],[173.503859,62.53409],[173.026576,62.375366],[172.85253,62.331493],[172.705045,62.402393],[172.416794,62.431538],[172.318816,62.403995],[172.054749,62.466523],[171.469565,62.312011],[171.217591,62.368545],[170.900608,62.279351],[170.381983,62.311132],[170.261577,62.285397],[170.159361,62.341828],[170.086394,62.491948],[169.986141,62.54502],[170.009913,62.677389],[169.842481,62.655349],[169.656859,62.708886],[169.514439,62.813531],[169.126659,62.972539],[168.939177,62.943755],[168.510159,63.054084],[168.544472,63.126483],[168.79562,63.303087],[169.098547,63.439952],[169.205207,63.51571],[169.509168,63.583613],[169.582238,63.643402],[169.549372,63.810989],[169.364371,63.879822],[169.344423,63.949895],[169.079323,63.958732],[168.873548,64.020718],[168.777946,64.184506],[168.638317,64.211016],[168.498687,64.317366],[168.198137,64.338657],[168.025744,64.285999],[167.815421,64.350801],[167.714135,64.340724],[167.497818,64.481026],[167.413689,64.481697],[167.236955,64.623653],[167.000277,64.549755],[166.806801,64.532935],[166.405998,64.600657],[166.198569,64.608977],[166.034548,64.559471],[165.74299,64.678791],[165.683975,64.753981],[165.481403,64.743284],[165.329475,64.775478],[165.262709,64.850616],[165.020346,64.836663],[165.003706,64.689902],[164.881957,64.685923],[164.797931,64.771602],[164.216364,64.9249],[163.872819,64.865395],[163.520283,64.931437],[163.345203,64.818473],[163.136947,64.770207],[163.11731,64.693261],[162.996904,64.648664],[162.735731,64.661221],[162.607677,64.73424],[162.292864,64.742353],[161.784471,64.838084],[161.644842,65.013086],[161.417362,65.068742],[161.281143,65.140675],[161.009945,65.169821],[160.687588,65.149124],[160.536589,65.161966],[160.41825,65.25147],[160.17382,65.376062],[160.169996,65.450527],[159.997087,65.523339],[159.834203,65.528507],[159.376556,65.657698],[158.9217,65.743016],[158.933689,65.902567],[159.052442,66.04801],[159.202924,66.163869],[159.16644,66.234045],[158.77587,66.283758],[158.52896,66.359387],[158.367522,66.459122],[158.470359,66.488035],[158.636653,66.619138],[158.715822,66.730863],[158.905164,66.802744],[158.702592,67.055236],[158.298689,67.147685],[157.958452,67.258143],[157.79257,67.357904],[157.876183,67.412836],[157.692008,67.54549],[157.805903,67.70548],[158.329179,67.753591],[158.269854,67.823406],[158.093327,67.840407],[158.276572,68.076],[158.632623,68.141629],[158.933896,68.143645],[159.111043,68.19067],[159.69323,68.238677],[159.850119,68.277435],[160.997026,68.300999],[161.225539,68.383785],[161.4062,68.411845],[161.710678,68.373398],[162.178143,68.354588],[162.417611,68.309061],[162.535433,68.362778],[162.580909,68.501245],[162.723226,68.605167],[162.606437,68.714411],[162.594345,68.795646],[162.755265,68.802209],[162.846939,68.869285],[162.55414,68.991293],[162.523755,69.117797],[162.774179,69.203373],[162.520654,69.324709],[162.315395,69.546789],[162.408447,69.651012]]],[[[179.999897,70.993003],[179.881348,70.975684],[179.647656,70.898926],[179.152539,70.880273],[178.861523,70.826416],[178.792578,70.82207],[178.648242,71.000586],[178.62832,71.047363],[178.683887,71.105664],[178.829004,71.177881],[178.891113,71.231104],[179.235059,71.324512],[179.547656,71.447656],[179.715918,71.466211],[179.886426,71.52334],[180,71.537744],[179.999897,70.993003]]],[[[168.35791,70.015674],[169.374805,69.882617],[169.420703,69.856055],[169.433594,69.832178],[169.418164,69.779199],[169.332422,69.76958],[169.299121,69.734766],[169.263379,69.628711],[169.245801,69.601123],[169.200781,69.580469],[168.915723,69.571436],[168.348047,69.664355],[168.144336,69.71333],[167.992676,69.77583],[167.821289,69.819629],[167.788867,69.836865],[167.813965,69.873047],[167.864746,69.901074],[168.05957,69.974902],[168.196289,70.008398],[168.35791,70.015674]]],[[[-179.999951,68.983447],[-179.798535,68.94043],[-179.59541,68.906494],[-179.514502,68.917139],[-179.47085,68.912402],[-179.355957,68.852979],[-179.279297,68.825195],[-178.873877,68.754102],[-178.689307,68.675146],[-178.538525,68.585645],[-178.613672,68.603076],[-178.751465,68.660449],[-178.736523,68.593018],[-178.692627,68.545996],[-178.473926,68.501758],[-178.244482,68.46665],[-178.097461,68.424805],[-178.048682,68.388428],[-178.018701,68.322754],[-178.055811,68.264893],[-177.922412,68.286523],[-177.796777,68.337988],[-177.861816,68.378223],[-178.284521,68.518555],[-178.373047,68.565674],[-178.249854,68.541406],[-177.683203,68.362793],[-177.527246,68.294385],[-177.593213,68.281152],[-177.639355,68.241211],[-177.589209,68.224219],[-177.520898,68.236865],[-177.40752,68.245166],[-177.297412,68.22251],[-177.171826,68.174658],[-176.907275,68.119141],[-175.345215,67.678076],[-175.309863,67.602051],[-175.265918,67.566504],[-175.239551,67.521094],[-175.23252,67.44668],[-175.374707,67.357373],[-175.155078,67.365381],[-175.122803,67.376953],[-175.065625,67.413428],[-175.002686,67.4375],[-174.918066,67.407568],[-174.849854,67.348877],[-174.869922,67.268506],[-174.93042,67.203467],[-174.938135,67.093018],[-174.885059,67.000244],[-174.828711,66.961377],[-174.783643,66.916797],[-174.771191,66.784326],[-174.870117,66.724902],[-174.924902,66.623145],[-174.864258,66.613135],[-174.674658,66.603418],[-174.612451,66.5854],[-174.50376,66.537939],[-174.477734,66.492188],[-174.45376,66.429883],[-174.418701,66.371973],[-174.394092,66.344238],[-174.366064,66.34834],[-174.256982,66.428467],[-174.206006,66.452344],[-174.084766,66.473096],[-174.017725,66.38252],[-174.065039,66.22959],[-174.025439,66.229687],[-173.994482,66.245801],[-173.955469,66.286768],[-173.899951,66.310498],[-173.832031,66.366064],[-173.773975,66.434668],[-173.842529,66.488281],[-173.920947,66.521777],[-174.101855,66.540625],[-174.196338,66.580713],[-174.231592,66.631885],[-174.1396,66.652637],[-174.060596,66.689795],[-174.005518,66.778613],[-174.018848,66.827393],[-174.041016,66.875488],[-174.086426,66.942871],[-174.154346,66.982031],[-174.283545,67.001563],[-174.341846,67.039746],[-174.430908,67.037646],[-174.518945,67.049072],[-174.554492,67.063037],[-174.550098,67.090625],[-174.447607,67.103125],[-173.884033,67.106445],[-173.679688,67.144775],[-173.586572,67.132764],[-173.493994,67.105176],[-173.157813,67.069092],[-173.167627,67.052246],[-173.22417,67.035107],[-173.323535,66.954834],[-173.343066,66.909229],[-173.347363,66.851367],[-173.258936,66.840088],[-173.175391,66.8646],[-173.216162,66.91123],[-173.228271,66.968555],[-173.193018,66.993604],[-173.146826,66.998975],[-173.058496,66.955859],[-172.962598,66.942139],[-172.640576,66.925],[-172.549365,66.930518],[-172.520117,66.95249],[-172.582959,66.977832],[-173.001904,67.033984],[-173.00752,67.064893],[-172.621045,67.026807],[-172.447314,66.991748],[-172.273926,66.965576],[-172.031494,66.973291],[-171.795557,66.931738],[-171.56958,66.818701],[-171.360498,66.676758],[-171.149268,66.592725],[-170.92666,66.529736],[-170.555664,66.357227],[-170.509521,66.343652],[-170.473096,66.320264],[-170.542822,66.291064],[-170.604443,66.248926],[-170.483301,66.278076],[-170.361133,66.2979],[-170.301221,66.294043],[-170.246973,66.271875],[-170.211621,66.236426],[-170.191943,66.20127],[-170.243945,66.169287],[-169.888818,66.163477],[-169.777881,66.143115],[-169.72915,66.058105],[-169.831689,65.998926],[-169.891699,66.006104],[-169.949316,66.031006],[-170.003809,66.033496],[-170.159424,66.008057],[-170.401025,65.928516],[-170.540674,65.86543],[-170.563037,65.823584],[-170.541406,65.710254],[-170.560986,65.65625],[-170.666309,65.621533],[-170.896875,65.642627],[-171.001465,65.664893],[-171.118994,65.69502],[-171.232031,65.736865],[-171.376855,65.803955],[-171.421533,65.810352],[-171.451172,65.794238],[-171.401709,65.751758],[-171.303223,65.698486],[-171.134424,65.628076],[-171.054248,65.549951],[-171.105859,65.511035],[-171.169971,65.5021],[-171.216016,65.502783],[-171.36377,65.527197],[-171.46626,65.533105],[-171.790381,65.510449],[-171.907129,65.495947],[-171.947168,65.507959],[-171.957178,65.54209],[-172.131494,65.566943],[-172.233887,65.570459],[-172.282275,65.582324],[-172.322266,65.617529],[-172.435693,65.669629],[-172.607715,65.690039],[-172.719189,65.692432],[-172.783301,65.681055],[-172.556543,65.612012],[-172.353955,65.495996],[-172.391992,65.474561],[-172.417773,65.449561],[-172.305713,65.447803],[-172.232812,65.455713],[-172.211572,65.425195],[-172.269873,65.302734],[-172.309277,65.275635],[-172.661914,65.248535],[-172.573145,65.228223],[-172.48208,65.221875],[-172.378711,65.226709],[-172.286035,65.205713],[-172.223682,65.128711],[-172.213184,65.048145],[-172.304346,65.002148],[-172.39873,64.964746],[-172.592822,64.907959],[-172.79248,64.88291],[-172.897363,64.889209],[-172.999121,64.876611],[-173.066211,64.847168],[-173.085791,64.817334],[-172.998047,64.837109],[-172.896875,64.826074],[-172.801074,64.790527],[-172.811572,64.761182],[-172.902588,64.729199],[-172.924023,64.704932],[-172.889062,64.664014],[-172.900879,64.628857],[-172.85415,64.609912],[-172.746875,64.603271],[-172.616113,64.577881],[-172.487402,64.544189],[-172.436621,64.515332],[-172.393848,64.474658],[-172.37876,64.431543],[-172.401465,64.413916],[-172.694678,64.40708],[-172.73916,64.412256],[-172.755957,64.459961],[-172.791504,64.498926],[-172.903174,64.526074],[-172.949023,64.507373],[-172.915869,64.369434],[-172.960059,64.327686],[-173.009131,64.297461],[-173.157422,64.279736],[-173.275488,64.289648],[-173.375684,64.354883],[-173.375537,64.4104],[-173.309229,64.442676],[-173.309326,64.487451],[-173.32749,64.539551],[-173.395654,64.479004],[-173.474951,64.428613],[-173.603613,64.365479],[-173.665967,64.357324],[-173.729736,64.364502],[-173.897852,64.409717],[-174.001367,64.448975],[-174.204834,64.577783],[-174.318018,64.637646],[-174.570557,64.717773],[-174.830469,64.775977],[-175.036035,64.813672],[-175.14585,64.809277],[-175.255908,64.793994],[-175.395117,64.802393],[-175.442139,64.816699],[-175.483203,64.848584],[-175.520654,64.86709],[-175.715869,64.946094],[-175.853857,65.01084],[-175.859473,65.054199],[-175.830225,65.105518],[-175.856152,65.232812],[-175.922949,65.35249],[-176.093262,65.471045],[-176.547461,65.547559],[-176.922119,65.601367],[-177.05625,65.613623],[-177.175244,65.60166],[-177.48877,65.503711],[-177.698633,65.489697],[-178.310205,65.484863],[-178.4125,65.495557],[-178.504639,65.537207],[-178.525928,65.593018],[-178.499316,65.696631],[-178.502344,65.74043],[-178.526221,65.755225],[-178.558545,65.754004],[-178.67915,65.795361],[-178.791064,65.864746],[-178.879346,65.936475],[-178.939063,66.032764],[-178.858252,66.037549],[-178.746729,66.013672],[-178.730566,66.037256],[-178.693799,66.124219],[-178.61626,66.166016],[-178.586523,66.198437],[-178.534131,66.316553],[-178.526563,66.401562],[-178.615771,66.355176],[-178.752783,66.237256],[-178.82085,66.202686],[-178.868115,66.187061],[-178.915527,66.179932],[-179.026123,66.203516],[-179.105078,66.231934],[-179.106885,66.346094],[-179.143408,66.375049],[-179.178369,66.35332],[-179.192676,66.312549],[-179.293164,66.305078],[-179.340137,66.2875],[-179.316211,66.219824],[-179.327197,66.162598],[-179.422656,66.141064],[-179.616162,66.127881],[-179.683301,66.184131],[-179.740869,66.105762],[-179.783643,66.017969],[-179.789697,65.900879],[-179.72832,65.803809],[-179.640625,65.757568],[-179.449072,65.687842],[-179.365967,65.638623],[-179.344385,65.575244],[-179.3521,65.516748],[-179.45166,65.445312],[-179.519336,65.386279],[-179.635156,65.244141],[-179.70459,65.187207],[-180,65.067236],[-179.999951,68.983447]]],[[[-180,71.537744],[-179.844873,71.550977],[-179.691016,71.577979],[-179.546387,71.582422],[-179.402051,71.56665],[-179.256494,71.57168],[-179.111572,71.596191],[-178.994043,71.593213],[-178.876465,71.577051],[-178.438965,71.541162],[-178.353564,71.529199],[-178.214697,71.481641],[-178.133887,71.465479],[-178.056641,71.437598],[-177.974805,71.390527],[-177.816992,71.33999],[-177.584131,71.281689],[-177.532178,71.263086],[-177.498486,71.219141],[-177.523584,71.166895],[-177.821777,71.067578],[-178.062695,71.041943],[-178.527979,71.014795],[-179.156885,70.939844],[-179.415674,70.918994],[-179.506689,70.923438],[-179.734033,70.97168],[-179.99993,70.993016],[-180,71.537744]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"RUS-2324","diss_me":2324,"iso_3166_2":"RU-KGD","wikipedia":null,"iso_a2":"RU","adm0_sr":1,"name":"Kaliningrad","name_alt":"Kaliningradskaya Oblast","name_local":"Калининградская область","type":"Oblast","type_en":"Region","code_local":null,"code_hasc":"RU.KN","note":null,"hasc_maybe":null,"region":"Northwestern","region_cod":null,"provnum_ne":7,"gadm_level":1,"check_me":20,"datarank":2,"abbrev":null,"postal":"KN","area_sqkm":0,"sameascity":7,"labelrank":7,"name_len":11,"mapcolor9":7,"mapcolor13":7,"fips":"RS23","fips_alt":null,"woe_id":2346938,"woe_label":"Kaliningradskaya Oblast, RU, Russia","woe_name":"Kaliningrad","latitude":54.6636,"longitude":21.2287,"sov_a3":"RUS","adm0_a3":"RUS","adm0_label":2,"admin":"Russia","geonunit":"Russia","gu_a3":"RUS","gn_id":554230,"gn_name":"Kaliningradskaya Oblast'","gns_id":-2918856,"gns_name":"Kaliningradskaya Oblast'","gn_level":1,"gn_region":null,"gn_a1_code":"RU.23","region_sub":"Kaliningrad","sub_code":null,"gns_level":1,"gns_lang":"rus","gns_adm1":"RS23","gns_region":null,"min_label":5,"max_label":10.2,"min_zoom":4.7,"wikidataid":"Q1749","name_ar":"أوبلاست كالينينغرادسكايا","name_bn":"কালিনিনগ্রাদ ওব্লাস্ট","name_de":"Kaliningrad","name_en":"Kaliningrad","name_es":"Kaliningrado","name_fr":"Kaliningrad","name_el":"Όμπλαστ του Καλίνινγκραντ","name_hi":"कलिनिनग्रैड ओब्लास्ट","name_hu":"Kalinyingrádi terület","name_id":"Kaliningrad","name_it":"Kaliningrad","name_ja":"カリーニングラード州","name_ko":"칼리닌그라드","name_nl":"Kaliningrad","name_pl":"kaliningradzki","name_pt":"Kaliningrado","name_ru":"Калининградская область","name_sv":"Kaliningrad","name_tr":"Kaliningrad Oblastı","name_vi":"Kaliningrad","name_zh":"加里宁格勒州","ne_id":1159312831,"name_he":"מחוז קלינינגרד","name_uk":"Калінінградська область","name_ur":"کیلننگراڈ اوبلاست","name_fa":"استان کالینینگراد","name_zht":"加里宁格勒州","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[19.604364,54.35012,22.831196,55.286652],"geometry":{"type":"Polygon","coordinates":[[[20.899789,55.286652],[20.957799,55.278916],[20.859375,55.183643],[20.594824,54.982373],[20.677734,54.955664],[20.774023,54.947021],[20.8875,54.909473],[20.995898,54.902686],[21.188867,54.935205],[21.222852,55.107764],[21.235745,55.264119],[21.297594,55.264456],[21.389217,55.275541],[21.447094,55.234407],[21.554685,55.195288],[21.682739,55.160354],[21.873942,55.10072],[22.072379,55.063668],[22.137853,55.059379],[22.346368,55.064236],[22.567284,55.05912],[22.627436,54.970702],[22.736576,54.928844],[22.824685,54.871276],[22.831196,54.838462],[22.709653,54.632609],[22.684435,54.562923],[22.679836,54.493005],[22.724329,54.405594],[22.766239,54.356786],[22.731822,54.35012],[22.168497,54.359886],[21.634163,54.376475],[21.14055,54.391822],[20.664713,54.406628],[20.208204,54.420761],[19.924345,54.43399],[19.644207,54.44709],[19.604364,54.459157],[19.758496,54.544824],[19.858887,54.633838],[19.944141,54.75],[19.953223,54.830469],[19.974512,54.921191],[20.107617,54.956494],[20.39668,54.95127],[20.520313,54.994873],[20.678906,55.102637],[20.845703,55.232031],[20.899789,55.286652]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"RUS-2333","diss_me":2333,"iso_3166_2":"RU-MUR","wikipedia":null,"iso_a2":"RU","adm0_sr":5,"name":"Murmansk","name_alt":"Murmanskaya Oblast","name_local":"Мурманская область","type":"Oblast","type_en":"Region","code_local":null,"code_hasc":"RU.MM","note":null,"hasc_maybe":null,"region":"Northwestern","region_cod":null,"provnum_ne":20015,"gadm_level":1,"check_me":20,"datarank":2,"abbrev":null,"postal":"MM","area_sqkm":0,"sameascity":6,"labelrank":6,"name_len":8,"mapcolor9":7,"mapcolor13":7,"fips":"RS49","fips_alt":"RS49","woe_id":2346912,"woe_label":"Murmanskaya Oblast, RU, Russia","woe_name":"Murmansk","latitude":67.9609,"longitude":34.3212,"sov_a3":"RUS","adm0_a3":"RUS","adm0_label":2,"admin":"Russia","geonunit":"Russia","gu_a3":"RUS","gn_id":524304,"gn_name":"Murmanskaya Oblast'","gns_id":-2961507,"gns_name":"Murmanskaya Oblast'","gn_level":1,"gn_region":null,"gn_a1_code":"RU.49","region_sub":"Northern","sub_code":null,"gns_level":1,"gns_lang":"rus","gns_adm1":"RS49","gns_region":null,"min_label":5,"max_label":10.2,"min_zoom":4.7,"wikidataid":"Q1759","name_ar":"أوبلاست مورمانسك","name_bn":"মুরমানস্ক ওব্লাস্ট","name_de":"Murmansk","name_en":"Murmansk","name_es":"Múrmansk","name_fr":"Mourmansk","name_el":"Όμπλαστ του Μούρμανσκ","name_hi":"मूरमान्स्क ओब्लास्त","name_hu":"Murmanszki terület","name_id":"Murmansk","name_it":"Murmansk","name_ja":"ムルマンスク州","name_ko":"무르만스크","name_nl":"Moermansk","name_pl":"murmański","name_pt":"Murmansk","name_ru":"Мурманская область","name_sv":"Murmansk","name_tr":"Murmansk Oblastı","name_vi":"Murmansk","name_zh":"摩尔曼斯克州","ne_id":1159313115,"name_he":"מחוז מורמנסק","name_uk":"Мурманська область","name_ur":"مورمانسک اوبلاست","name_fa":"استان مورمانسک","name_zht":"摩爾曼斯克州","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[28.414008,60.645704,41.358789,69.953662],"geometry":{"type":"Polygon","coordinates":[[[36.524238,63.976454],[36.554699,63.763964],[36.374969,63.644953],[35.944607,63.619683],[35.882286,63.573355],[36.057985,63.46008],[36.219836,63.416491],[36.262004,63.23552],[36.320192,63.161313],[36.258903,63.03176],[36.500542,62.826036],[36.759545,62.717671],[37.080765,62.656072],[37.352273,62.683823],[37.504926,62.645324],[37.587505,62.472673],[37.572622,62.360638],[37.429891,62.237183],[37.718763,62.203413],[37.807749,61.99756],[37.926605,61.968259],[37.857255,61.697681],[37.761964,61.648227],[37.77292,61.522137],[37.278273,61.500536],[36.996429,61.594432],[36.87344,61.544926],[36.577644,61.529475],[36.466849,61.406588],[35.603853,61.188307],[35.392186,61.161668],[35.258034,61.254246],[34.822195,61.278327],[34.740547,61.32003],[34.543866,61.270059],[34.457256,61.167791],[34.216134,61.241947],[33.534935,61.220811],[33.45153,61.133685],[33.584958,61.071286],[33.696269,61.12167],[33.867111,61.070536],[33.752286,60.943671],[33.406364,60.989301],[33.422591,60.935971],[33.253402,60.898841],[33.078012,60.737895],[32.909961,60.724407],[32.703358,60.645704],[29.869526,61.176292],[29.576417,61.170737],[29.491255,61.239156],[29.27736,61.304507],[29.49234,61.444234],[29.579415,61.493482],[29.690157,61.546114],[29.933191,61.711582],[30.009931,61.757368],[30.306502,61.964849],[30.479721,62.068201],[30.565608,62.127578],[30.935714,62.323793],[31.186758,62.481406],[31.285667,62.567809],[31.382405,62.691652],[31.437337,62.776117],[31.534024,62.885413],[31.536504,62.921638],[31.509271,62.955331],[31.436976,63.007731],[31.336723,63.068089],[31.247426,63.141883],[31.180867,63.208287],[30.974782,63.300633],[30.655266,63.417473],[30.418536,63.504031],[30.055406,63.689007],[29.991534,63.73518],[30.004091,63.747324],[30.21028,63.803341],[30.415332,63.947518],[30.503906,64.020589],[30.526075,64.077304],[30.527884,64.141124],[30.513776,64.200009],[30.487886,64.236545],[30.390683,64.282433],[30.108116,64.366123],[30.041867,64.443379],[29.986625,64.524279],[29.985591,64.557739],[30.120157,64.644633],[30.126151,64.688093],[30.110235,64.732587],[30.072821,64.765039],[29.783226,64.804313],[29.701681,64.845758],[29.637447,64.911749],[29.604219,64.968386],[29.600912,65.00195],[29.622513,65.039493],[29.720026,65.080317],[29.810873,65.107913],[29.826945,65.145068],[29.826221,65.185324],[29.810563,65.204754],[29.629696,65.223874],[29.612384,65.234778],[29.607992,65.248679],[29.617138,65.265345],[29.714807,65.336942],[29.728036,65.47342],[29.819452,65.568763],[29.715944,65.624573],[29.723902,65.634392],[29.882652,65.663641],[30.028999,65.670721],[30.095352,65.681676],[30.102742,65.726273],[30.087497,65.786527],[29.936602,66.022973],[29.903426,66.091082],[29.803484,66.177072],[29.720646,66.234872],[29.670882,66.276136],[29.590732,66.356829],[29.544378,66.439718],[29.464331,66.532167],[29.37121,66.617019],[29.361784,66.626508],[29.29323,66.695516],[29.093088,66.849227],[29.066268,66.891731],[29.069006,66.930204],[29.08699,66.970951],[29.243414,67.096602],[29.387747,67.201428],[29.572283,67.324366],[29.750619,67.426401],[29.941253,67.547479],[29.988072,67.668273],[29.979235,67.688582],[29.82157,67.754004],[29.524172,67.929084],[29.343873,68.061867],[29.06296,68.117961],[28.685206,68.189792],[28.560097,68.351358],[28.470748,68.488378],[28.479327,68.537626],[28.752075,68.771436],[28.777603,68.81381],[28.772849,68.840036],[28.74484,68.856469],[28.705928,68.865538],[28.453488,68.872282],[28.414008,68.904167],[28.56604,68.928248],[28.692234,68.961011],[28.898939,69.00969],[28.96586,69.021989],[29.118564,69.049946],[29.170861,69.071521],[29.209928,69.097023],[29.35302,69.27063],[29.388315,69.298148],[29.832732,69.360469],[29.994066,69.392457],[30.08729,69.432868],[30.131887,69.464236],[30.163772,69.501598],[30.186716,69.542784],[30.196534,69.580559],[30.159741,69.629859],[30.180153,69.635853],[30.22754,69.633786],[30.379676,69.584694],[30.615372,69.532552],[30.788901,69.528521],[30.860732,69.538417],[30.896647,69.561232],[30.922485,69.605829],[30.924139,69.65177],[30.869727,69.783447],[31.049512,69.769238],[31.452734,69.6896],[31.546973,69.696924],[31.666211,69.720996],[31.788574,69.815771],[31.879395,69.831982],[31.997949,69.809912],[32.030566,69.835303],[31.969336,69.913916],[31.98457,69.953662],[32.391602,69.868701],[32.56543,69.806494],[32.941699,69.751855],[33.007812,69.722119],[33.012598,69.670508],[32.994629,69.626172],[32.915039,69.601709],[32.754297,69.605713],[32.176758,69.674023],[32.091504,69.632568],[32.161328,69.596631],[32.330566,69.554248],[32.377734,69.479102],[32.636816,69.489453],[32.883789,69.46084],[32.999805,69.470117],[33.020996,69.445605],[32.941602,69.38335],[32.978906,69.367334],[33.255859,69.427734],[33.384863,69.444287],[33.454297,69.428174],[33.463672,69.378174],[33.417969,69.315283],[33.412988,69.267432],[33.327734,69.151855],[33.196387,69.116846],[33.141211,69.068701],[33.333398,69.098193],[33.435645,69.130371],[33.627051,69.28916],[33.684375,69.310254],[34.229395,69.313135],[34.352734,69.30293],[34.863965,69.228076],[35.00957,69.22124],[35.175879,69.230811],[35.233203,69.265576],[35.289844,69.275439],[35.85791,69.191748],[36.618262,69.003467],[37.730566,68.692139],[38.357617,68.415137],[38.430176,68.355615],[38.656836,68.321875],[38.705566,68.344727],[38.831543,68.324902],[39.568945,68.071729],[39.82334,68.058594],[39.789746,68.112158],[39.746289,68.162207],[39.809277,68.15083],[39.895605,68.114502],[40.035742,68.015381],[40.206641,67.941895],[40.380664,67.831885],[40.525781,67.789697],[40.656543,67.774072],[40.766309,67.743018],[40.966406,67.713477],[41.060938,67.444189],[41.133887,67.386035],[41.133887,67.266943],[41.261719,67.218457],[41.358789,67.209668],[41.354297,67.121436],[41.275586,66.914307],[41.188965,66.826172],[40.521582,66.446631],[40.10332,66.299951],[39.289062,66.132031],[38.653906,66.069043],[38.397559,66.064453],[37.900684,66.095605],[37.628223,66.12959],[37.294824,66.225049],[36.983691,66.272559],[36.769922,66.293555],[36.373438,66.302295],[35.513477,66.395801],[35.363965,66.428662],[34.824609,66.611133],[34.610254,66.559619],[34.482617,66.550342],[34.396094,66.613184],[34.430859,66.629785],[34.451563,66.651221],[34.146094,66.703271],[33.893652,66.706738],[33.75957,66.750977],[33.59541,66.784619],[33.522949,66.764355],[33.482031,66.764551],[33.150195,66.843945],[33.001953,66.908301],[32.847559,67.021533],[32.885254,67.061133],[32.930469,67.086816],[32.399902,67.152686],[31.895313,67.161426],[31.983008,67.129834],[32.201563,67.113232],[32.340625,67.067871],[32.500977,67.003857],[32.463672,66.916309],[32.686426,66.829541],[32.857324,66.746924],[32.862402,66.721387],[32.928711,66.704102],[33.180566,66.679932],[33.224414,66.603857],[33.18291,66.573877],[33.183004,66.573762],[33.217383,66.531641],[33.405273,66.484277],[33.517676,66.471387],[33.655957,66.442627],[33.593262,66.38457],[33.476953,66.346875],[33.360547,66.329541],[33.41582,66.315625],[33.566699,66.320996],[34.112695,66.225244],[34.399805,66.128418],[34.691797,65.951855],[34.786328,65.864551],[34.793164,65.816357],[34.776953,65.768262],[34.734766,65.716309],[34.715527,65.664062],[34.615723,65.509912],[34.544141,65.456689],[34.406445,65.395752],[34.535938,65.27793],[34.671094,65.168115],[34.803516,64.985986],[34.827148,64.912695],[34.832617,64.800195],[34.952246,64.755957],[34.905469,64.738672],[34.858301,64.706689],[34.869531,64.56001],[35.035352,64.440234],[35.284082,64.362549],[35.432031,64.346777],[35.64707,64.37832],[35.802051,64.335352],[36.146484,64.189014],[36.301953,64.034375],[36.364941,64.002832],[36.524238,63.976454]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"RUS-2334","diss_me":2334,"iso_3166_2":"RU-NGR","wikipedia":null,"iso_a2":"RU","adm0_sr":1,"name":"Novgorod","name_alt":"Novgorodskaya Oblast","name_local":"Новгородская область","type":"Oblast","type_en":"Region","code_local":null,"code_hasc":"RU.NG","note":null,"hasc_maybe":null,"region":"Northwestern","region_cod":null,"provnum_ne":20075,"gadm_level":1,"check_me":20,"datarank":2,"abbrev":null,"postal":"NG","area_sqkm":0,"sameascity":6,"labelrank":6,"name_len":8,"mapcolor9":7,"mapcolor13":7,"fips":"RS52","fips_alt":null,"woe_id":2346913,"woe_label":"Novgorodskaya Oblast, RU, Russia","woe_name":"Novgorod","latitude":58.4228,"longitude":32.9454,"sov_a3":"RUS","adm0_a3":"RUS","adm0_label":2,"admin":"Russia","geonunit":"Russia","gu_a3":"RUS","gn_id":519324,"gn_name":"Novgorodskaya Oblast'","gns_id":-2968545,"gns_name":"Novgorodskaya Oblast'","gn_level":1,"gn_region":null,"gn_a1_code":"RU.52","region_sub":"Northwestern","sub_code":null,"gns_level":1,"gns_lang":"fas","gns_adm1":"RS52","gns_region":null,"min_label":5,"max_label":10.2,"min_zoom":4.7,"wikidataid":"Q2240","name_ar":"أوبلاست نوفغورود","name_bn":"নোভগরদ ওব্লাস্ট","name_de":"Nowgorod","name_en":"Novgorod","name_es":"Nóvgorod","name_fr":"Novgorod","name_el":"Όμπλαστ του Νόβγκοροντ","name_hi":"नोवगोरोड ओब्लास्ट","name_hu":"Novgorodi terület","name_id":"Novgorod","name_it":"Novgorod","name_ja":"ノヴゴロド州","name_ko":"노브고로드","name_nl":"Novgorod","name_pl":"nowogrodzki","name_pt":"Novgorod","name_ru":"Новгородская область","name_sv":"Novgorod","name_tr":"Novgorod Oblastı","name_vi":"Novgorod","name_zh":"诺夫哥罗德州","ne_id":1159313149,"name_he":"מחוז נובגורוד","name_uk":"Новгородська область","name_ur":"نووگورود اوبلاست","name_fa":"استان نووگورود","name_zht":"諾夫哥羅德州","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[29.658479,56.931047,36.173327,59.4218],"geometry":{"type":"Polygon","coordinates":[[[34.729901,59.103214],[34.878523,59.043373],[34.831497,58.991025],[35.130807,58.937333],[35.124606,58.815015],[35.265682,58.764785],[35.398491,58.84354],[35.751234,58.826539],[35.836087,58.744709],[36.126302,58.695487],[36.173327,58.524955],[35.941403,58.455295],[35.934892,58.423308],[35.55166,58.448009],[35.39446,58.431472],[35.279222,58.358867],[35.269093,58.271327],[35.034792,58.199549],[34.785608,58.24182],[34.684426,58.197275],[34.650733,58.081468],[34.488469,58.146399],[34.14172,58.208049],[33.869489,58.144203],[33.7188,58.158001],[33.544961,58.047207],[33.686037,58.00261],[33.70123,57.926723],[33.580514,57.857709],[33.536796,57.719733],[33.324922,57.654621],[33.308696,57.565531],[33.216195,57.453909],[33.046076,57.437063],[32.807331,57.460007],[32.668115,57.346216],[32.272067,57.195217],[32.132747,57.183693],[31.966762,57.116798],[31.722126,57.105739],[31.678304,57.013264],[31.545599,56.939781],[31.306958,56.968823],[31.117512,56.931047],[31.000103,56.965205],[30.799702,56.953216],[30.644776,56.981897],[30.646843,57.190825],[30.77314,57.257746],[30.515585,57.318104],[30.492847,57.487602],[30.608809,57.617414],[30.472073,57.682216],[30.519719,57.741799],[30.529951,57.886596],[30.167699,57.911556],[29.950451,57.943957],[29.82033,58.083483],[29.679357,58.077282],[29.658479,58.243577],[29.975049,58.44465],[30.167182,58.53312],[30.088221,58.640452],[30.100623,58.729594],[30.279837,58.754295],[30.412542,58.710913],[30.687357,58.745769],[30.727975,58.82858],[30.961966,58.975212],[30.981396,59.059625],[31.159783,59.072544],[31.257865,58.980767],[31.452478,59.092001],[31.563066,59.368418],[31.826719,59.314494],[31.882116,59.375498],[32.124065,59.394334],[32.291497,59.207187],[32.583986,59.180522],[32.706252,59.141868],[32.732297,59.267494],[32.954816,59.4218],[33.245651,59.326302],[33.368227,59.379735],[33.520259,59.372965],[33.716113,59.302117],[33.855019,59.198351],[34.099759,59.144736],[34.24745,59.197576],[34.567741,59.108072],[34.729901,59.103214]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"RUS-2335","diss_me":2335,"iso_3166_2":"RU-PSK","wikipedia":null,"iso_a2":"RU","adm0_sr":1,"name":"Pskov","name_alt":"Pskovskaya Oblast","name_local":"Псковская область","type":"Oblast","type_en":"Region","code_local":null,"code_hasc":"RU.PS","note":null,"hasc_maybe":null,"region":"Northwestern","region_cod":null,"provnum_ne":20043,"gadm_level":1,"check_me":20,"datarank":2,"abbrev":null,"postal":"PS","area_sqkm":0,"sameascity":6,"labelrank":6,"name_len":5,"mapcolor9":7,"mapcolor13":7,"fips":"RS60","fips_alt":null,"woe_id":2346920,"woe_label":"Pskovskaya Oblast, RU, Russia","woe_name":"Pskov","latitude":57.2449,"longitude":29.1229,"sov_a3":"RUS","adm0_a3":"RUS","adm0_label":2,"admin":"Russia","geonunit":"Russia","gu_a3":"RUS","gn_id":504338,"gn_name":"Pskovskaya Oblast'","gns_id":-2989172,"gns_name":"Pskovskaya Oblast'","gn_level":1,"gn_region":null,"gn_a1_code":"RU.60","region_sub":"Northwestern","sub_code":null,"gns_level":1,"gns_lang":"fas","gns_adm1":"RS60","gns_region":null,"min_label":5,"max_label":10.2,"min_zoom":4.7,"wikidataid":"Q2218","name_ar":"بسكوف أوبلاست","name_bn":"পেস্কোভ ওব্লাস্ট","name_de":"Pskow","name_en":"Pskov","name_es":"Pskov","name_fr":"Pskov","name_el":"Όμπλαστ του Πσκοφ","name_hi":"प्सकोव ओब्लास्ट","name_hu":"Pszkovi terület","name_id":"Pskov","name_it":"Pskov","name_ja":"プスコフ州","name_ko":"프스코프","name_nl":"Pskov","name_pl":"pskowski","name_pt":"Pskov","name_ru":"Псковская область","name_sv":"Pskov","name_tr":"Pskov Oblastı","name_vi":"Pskov","name_zh":"普斯科夫州","ne_id":1159313151,"name_he":"מחוז פסקוב","name_uk":"Псковська область","name_ur":"پسکوف اوبلاست","name_fa":"استان پسکوف","name_zht":"普斯科夫州","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[27.351954,55.574044,31.49754,59.014383],"geometry":{"type":"Polygon","coordinates":[[[27.66939,58.982474],[27.873162,59.014383],[28.131027,58.990146],[28.271794,58.856459],[28.551674,58.865141],[28.756622,58.826952],[28.946482,58.819821],[28.9748,58.779927],[29.231529,58.706236],[29.449087,58.594512],[29.538693,58.479893],[29.78581,58.440309],[29.975049,58.44465],[29.658479,58.243577],[29.679357,58.077282],[29.82033,58.083483],[29.950451,57.943957],[30.167699,57.911556],[30.529951,57.886596],[30.519719,57.741799],[30.472073,57.682216],[30.608809,57.617414],[30.492847,57.487602],[30.515585,57.318104],[30.77314,57.257746],[30.646843,57.190825],[30.644776,56.981897],[30.799702,56.953216],[31.000103,56.965205],[30.896337,56.896682],[30.890136,56.807747],[30.816755,56.720259],[30.91308,56.656361],[31.080098,56.622849],[31.016639,56.519083],[31.215387,56.435367],[31.231097,56.346173],[31.491546,56.301292],[31.474493,56.119055],[31.49754,56.028932],[31.344681,55.964026],[31.412791,55.889767],[31.467361,55.729002],[31.186862,55.737218],[31.047335,55.768534],[30.903138,55.574044],[30.882229,55.5964],[30.855926,55.60751],[30.800735,55.601103],[30.721619,55.622135],[30.662346,55.655492],[30.625604,55.666267],[30.586692,55.70027],[30.47538,55.768793],[30.45626,55.786802],[30.233638,55.845222],[30.042642,55.836437],[29.937015,55.845274],[29.881618,55.832303],[29.823947,55.795096],[29.744159,55.77042],[29.684576,55.769749],[29.630057,55.751171],[29.482263,55.68456],[29.413016,55.724868],[29.353382,55.784373],[29.373174,55.834732],[29.397927,55.88106],[29.396118,55.912195],[29.375034,55.938705],[29.282998,55.96785],[29.087403,56.021129],[29.031748,56.021775],[28.947412,56.002112],[28.79476,55.94258],[28.740809,55.955396],[28.690787,56.002628],[28.636888,56.061746],[28.563973,56.092003],[28.407083,56.089031],[28.392097,56.086706],[28.316339,56.052548],[28.2843,56.055907],[28.147926,56.14293],[28.17335,56.190343],[28.202031,56.260391],[28.191696,56.315555],[28.169268,56.386869],[28.110874,56.510685],[28.103174,56.545722],[28.007521,56.599853],[27.991604,56.645328],[27.941375,56.703723],[27.892076,56.741085],[27.881534,56.82418],[27.848667,56.853429],[27.806086,56.867072],[27.655708,56.843223],[27.639481,56.845652],[27.711105,56.978073],[27.717409,57.054631],[27.762781,57.135117],[27.814561,57.166899],[27.830219,57.194468],[27.838229,57.247695],[27.828617,57.293299],[27.796888,57.316941],[27.672761,57.368127],[27.538712,57.429802],[27.511117,57.50817],[27.469672,57.524034],[27.351954,57.528117],[27.354279,57.550286],[27.371797,57.612556],[27.400013,57.666816],[27.491997,57.724952],[27.514734,57.764226],[27.542123,57.799418],[27.752859,57.841018],[27.776941,57.856727],[27.778491,57.87068],[27.768776,57.884142],[27.721957,57.905484],[27.673381,57.934604],[27.64408,58.013927],[27.643007,58.015753],[27.67832,58.018506],[27.802734,57.990234],[27.881641,57.937012],[27.875391,57.92041],[27.910938,57.895752],[27.99209,57.868115],[28.101758,57.859961],[28.169238,57.914502],[28.149219,57.974658],[28.096973,58.044434],[27.973047,58.132617],[27.865137,58.173486],[27.714355,58.164258],[27.591797,58.174609],[27.568555,58.214795],[27.561328,58.257422],[27.582715,58.306396],[27.747852,58.429932],[27.798145,58.446826],[27.820508,58.484912],[27.813672,58.571338],[27.748438,58.912061],[27.683008,58.979639],[27.668867,58.982062],[27.66939,58.982474]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"RUS-2336","diss_me":2336,"iso_3166_2":"RU-LEN","wikipedia":null,"iso_a2":"RU","adm0_sr":4,"name":"Leningrad","name_alt":"Saint Petersburg|Sankt-Peterburgskaya G.|Leningradskaya Oblast","name_local":"Ленинградская область","type":"Oblast","type_en":"Region","code_local":null,"code_hasc":"RU.LN","note":null,"hasc_maybe":null,"region":"Northwestern","region_cod":null,"provnum_ne":20001,"gadm_level":1,"check_me":20,"datarank":2,"abbrev":null,"postal":"LN","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":9,"mapcolor9":7,"mapcolor13":7,"fips":"RS42","fips_alt":null,"woe_id":2346907,"woe_label":"Leningradskaya Oblast, RU, Russia","woe_name":"Leningrad","latitude":59.9905,"longitude":32.7736,"sov_a3":"RUS","adm0_a3":"RUS","adm0_label":2,"admin":"Russia","geonunit":"Russia","gu_a3":"RUS","gn_id":536199,"gn_name":"Leningradskaya Oblast'","gns_id":-2945114,"gns_name":"Leningradskaya Oblast'","gn_level":1,"gn_region":null,"gn_a1_code":"RU.42","region_sub":"Northwestern","sub_code":null,"gns_level":1,"gns_lang":"rus","gns_adm1":"RS42","gns_region":null,"min_label":5,"max_label":10.2,"min_zoom":4.7,"wikidataid":"Q2191","name_ar":"لينينغراد أوبلاست","name_bn":"লেনিনগ্রাড ওব্লাস্ট","name_de":"Leningrad","name_en":"Leningrad","name_es":"Leningrado","name_fr":"Léningrad","name_el":"Όμπλαστ του Λένινγκραντ","name_hi":"लेनिनग्राद ओब्लास्ट","name_hu":"Leningrádi terület","name_id":"Leningrad","name_it":"Leningrado","name_ja":"レニングラード州","name_ko":"레닌그라드","name_nl":"Leningrad","name_pl":"leningradzki","name_pt":"Leningrado","name_ru":"Ленинградская область","name_sv":"Leningrad","name_tr":"Leningrad eyaleti","name_vi":"Leningrad","name_zh":"列宁格勒州","ne_id":1159313101,"name_he":"מחוז לנינגרד","name_uk":"Ленінградська область","name_ur":"لیننگراڈ اوبلاست","name_fa":"استان لنینگراد","name_zht":"列寧格勒州","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[27.66939,58.440309,35.686019,61.32003],"geometry":{"type":"Polygon","coordinates":[[[29.27736,61.304507],[29.491255,61.239156],[29.576417,61.170737],[29.869526,61.176292],[32.703358,60.645704],[32.909961,60.724407],[33.078012,60.737895],[33.253402,60.898841],[33.422591,60.935971],[33.406364,60.989301],[33.752286,60.943671],[33.867111,61.070536],[33.696269,61.12167],[33.584958,61.071286],[33.45153,61.133685],[33.534935,61.220811],[34.216134,61.241947],[34.457256,61.167791],[34.543866,61.270059],[34.740547,61.32003],[34.822195,61.278327],[35.258034,61.254246],[35.392186,61.161668],[35.603853,61.188307],[35.686019,61.120869],[35.489338,60.959484],[35.439935,60.861557],[35.280875,60.850007],[35.154061,60.787298],[35.258551,60.585295],[35.231059,60.341175],[35.147447,60.268828],[35.157059,60.067032],[35.23788,59.985486],[35.403658,59.974272],[35.382471,59.875415],[35.423606,59.701111],[35.497089,59.647367],[35.495849,59.553523],[35.323663,59.506678],[35.448514,59.427691],[35.301236,59.301032],[35.134734,59.254368],[34.900537,59.237935],[34.729901,59.103214],[34.567741,59.108072],[34.24745,59.197576],[34.099759,59.144736],[33.855019,59.198351],[33.716113,59.302117],[33.520259,59.372965],[33.368227,59.379735],[33.245651,59.326302],[32.954816,59.4218],[32.732297,59.267494],[32.706252,59.141868],[32.583986,59.180522],[32.291497,59.207187],[32.124065,59.394334],[31.882116,59.375498],[31.826719,59.314494],[31.563066,59.368418],[31.452478,59.092001],[31.257865,58.980767],[31.159783,59.072544],[30.981396,59.059625],[30.961966,58.975212],[30.727975,58.82858],[30.687357,58.745769],[30.412542,58.710913],[30.279837,58.754295],[30.100623,58.729594],[30.088221,58.640452],[30.167182,58.53312],[29.975049,58.44465],[29.78581,58.440309],[29.538693,58.479893],[29.449087,58.594512],[29.231529,58.706236],[28.9748,58.779927],[28.946482,58.819821],[28.756622,58.826952],[28.551674,58.865141],[28.271794,58.856459],[28.131027,58.990146],[27.873162,59.014383],[27.66939,58.982474],[27.757665,59.052003],[27.849494,59.192666],[27.897657,59.277622],[27.938171,59.297001],[28.016461,59.301729],[28.046123,59.327852],[28.061368,59.343251],[28.128289,59.357566],[28.151078,59.374438],[28.132991,59.403093],[28.065812,59.453167],[28.0125,59.484277],[28.063965,59.554004],[28.046289,59.647168],[28.013965,59.724756],[28.058008,59.781543],[28.131152,59.786523],[28.2125,59.724658],[28.33457,59.692529],[28.42373,59.734082],[28.453906,59.814258],[28.518164,59.849561],[28.603906,59.818066],[28.747656,59.806689],[28.866895,59.811914],[28.947266,59.82876],[28.981543,59.854785],[29.013379,59.901562],[29.079102,59.960986],[29.147266,59.999756],[29.669727,59.955664],[29.679563,59.868852],[29.849992,59.827563],[30.113439,59.663077],[30.259373,59.60985],[30.502459,59.630727],[30.555582,59.685918],[30.747715,59.725657],[30.75619,59.777489],[30.511657,59.862393],[30.527264,59.970345],[30.373681,60.036232],[30.390424,60.122739],[30.179068,60.147957],[29.632951,60.266012],[29.459169,60.187496],[29.37041,60.175928],[29.069141,60.191455],[28.812695,60.331543],[28.643164,60.375293],[28.522266,60.482959],[28.491602,60.540137],[28.622461,60.491602],[28.640332,60.542871],[28.650586,60.610986],[28.577832,60.652539],[28.512793,60.677295],[28.179297,60.570996],[27.797656,60.536133],[28.152008,60.745827],[28.407445,60.896929],[28.455039,60.919641],[28.568107,60.960207],[28.66283,61.00284],[28.739052,61.058754],[28.99299,61.169031],[29.251631,61.287784],[29.27736,61.304507]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"RUS-2337","diss_me":2337,"iso_3166_2":"RU-SPE","wikipedia":null,"iso_a2":"RU","adm0_sr":4,"name":"City of St. Petersburg","name_alt":"Sankt-Peterburg gorsovet","name_local":"Санкт-Петербург (горсовет)","type":"Gorod Federalnogo Znacheniya","type_en":"Federal City","code_local":null,"code_hasc":"RU.SP","note":null,"hasc_maybe":null,"region":"Northwestern","region_cod":null,"provnum_ne":20002,"gadm_level":1,"check_me":20,"datarank":2,"abbrev":null,"postal":"SP","area_sqkm":0,"sameascity":7,"labelrank":7,"name_len":22,"mapcolor9":7,"mapcolor13":7,"fips":"RS66","fips_alt":"RS66","woe_id":20070507,"woe_label":"St. Peterburg, RU, Russia","woe_name":"City of St. Petersburg","latitude":59.8064,"longitude":30.2901,"sov_a3":"RUS","adm0_a3":"RUS","adm0_label":2,"admin":"Russia","geonunit":"Russia","gu_a3":"RUS","gn_id":536203,"gn_name":"Sankt-Peterburg","gns_id":-2945108,"gns_name":"Sankt-Peterburg, Gorod","gn_level":1,"gn_region":null,"gn_a1_code":"RU.66","region_sub":"Northwestern","sub_code":null,"gns_level":1,"gns_lang":"rus","gns_adm1":"RS66","gns_region":null,"min_label":5,"max_label":9,"min_zoom":4.7,"wikidataid":"Q656","name_ar":"سانت بطرسبرغ","name_bn":"সেন্ট পিটার্সবার্গ","name_de":"Sankt Petersburg","name_en":"Saint Petersburg","name_es":"San Petersburgo","name_fr":"Saint-Pétersbourg","name_el":"Αγία Πετρούπολη","name_hi":"सेंट पीटर्सबर्ग","name_hu":"Szentpétervár","name_id":"St. Petersburg","name_it":"San Pietroburgo","name_ja":"サンクトペテルブルク","name_ko":"상트페테르부르크","name_nl":"Sint-Petersburg","name_pl":"Petersburg","name_pt":"São Petersburgo","name_ru":"Санкт-Петербург","name_sv":"Sankt Petersburg","name_tr":"Sankt Petersburg","name_vi":"Sankt-Peterburg","name_zh":"圣彼得堡","ne_id":1159313099,"name_he":"סנקט פטרבורג","name_uk":"Санкт-Петербург","name_ur":"سینٹ پیٹرز برگ","name_fa":"سن پترزبورگ","name_zht":"聖彼得堡","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[29.459169,59.60985,30.75619,60.266012],"geometry":{"type":"Polygon","coordinates":[[[29.669727,59.955664],[30.122559,59.873584],[30.156836,59.904297],[30.172656,59.957129],[30.059961,60.002588],[29.976758,60.026367],[29.872266,60.12085],[29.721191,60.195312],[29.569336,60.201855],[29.459169,60.187496],[29.632951,60.266012],[30.179068,60.147957],[30.390424,60.122739],[30.373681,60.036232],[30.527264,59.970345],[30.511657,59.862393],[30.75619,59.777489],[30.747715,59.725657],[30.555582,59.685918],[30.502459,59.630727],[30.259373,59.60985],[30.113439,59.663077],[29.849992,59.827563],[29.679563,59.868852],[29.669727,59.955664]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"RUS-2342","diss_me":2342,"iso_3166_2":"RU-BRY","wikipedia":null,"iso_a2":"RU","adm0_sr":1,"name":"Bryansk","name_alt":"Bryanskaya Oblast","name_local":"Брянская область","type":"Oblast","type_en":"Region","code_local":null,"code_hasc":"RU.BR","note":null,"hasc_maybe":null,"region":"Central","region_cod":null,"provnum_ne":20042,"gadm_level":1,"check_me":20,"datarank":2,"abbrev":null,"postal":"BR","area_sqkm":0,"sameascity":7,"labelrank":7,"name_len":7,"mapcolor9":7,"mapcolor13":7,"fips":"RS10","fips_alt":null,"woe_id":2346892,"woe_label":"Bryanskaya Oblast, RU, Russia","woe_name":"Bryansk","latitude":53.0868,"longitude":33.2803,"sov_a3":"RUS","adm0_a3":"RUS","adm0_label":2,"admin":"Russia","geonunit":"Russia","gu_a3":"RUS","gn_id":571473,"gn_name":"Bryanskaya Oblast'","gns_id":-2893498,"gns_name":"Bryanskaya Oblast'","gn_level":1,"gn_region":null,"gn_a1_code":"RU.10","region_sub":"Central","sub_code":null,"gns_level":1,"gns_lang":"rus","gns_adm1":"RS10","gns_region":null,"min_label":5,"max_label":10.2,"min_zoom":4.7,"wikidataid":"Q2810","name_ar":"أوبلاست بريانسك","name_bn":"ব্রিয়ানস্ক ওব্লাস্ট","name_de":"Brjansk","name_en":"Bryansk","name_es":"Briansk","name_fr":"Briansk","name_el":"Όμπλαστ του Μπριάνσκ","name_hi":"ब्रियांस्क ओब्लास्ट","name_hu":"Brjanszki terület","name_id":"Bryansk","name_it":"Brjansk","name_ja":"ブリャンスク州","name_ko":"브랸스크","name_nl":"Brjansk","name_pl":"briański","name_pt":"Briansk","name_ru":"Брянская область","name_sv":"Brjansk","name_tr":"Bryansk Oblastı","name_vi":"Bryansk","name_zh":"布良斯克州","ne_id":1159313153,"name_he":"מחוז בריאנסק","name_uk":"Брянська область","name_ur":"بریانسک اوبلاست","name_fa":"استان بریانسک","name_zht":"布良斯克州","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[31.258795,51.780406,35.313948,54.026393],"geometry":{"type":"Polygon","coordinates":[[[32.706151,53.419852],[32.9081,53.493479],[32.899005,53.568669],[33.288956,53.821728],[33.287405,53.953916],[33.474577,53.971848],[33.501242,54.015799],[33.682317,54.026393],[33.780192,53.981537],[33.859773,53.878701],[34.031132,53.861726],[34.199184,53.891595],[34.384599,53.71853],[34.489502,53.666466],[34.488159,53.544071],[34.582417,53.427592],[34.672644,53.390075],[35.017429,53.380773],[35.103522,53.310777],[35.122332,53.186263],[35.18207,53.101617],[35.313948,53.06565],[35.156542,52.96948],[34.966993,52.970255],[34.804935,52.868194],[34.869221,52.7836],[34.948079,52.783393],[35.091533,52.697972],[35.010608,52.614153],[34.989627,52.510542],[34.832944,52.424036],[34.896816,52.353239],[34.917177,52.32182],[34.804625,52.185135],[34.715122,52.216296],[34.672334,52.065479],[34.53074,52.070362],[34.40651,52.012691],[34.397828,51.780406],[34.11304,51.979618],[34.015319,52.155964],[33.922043,52.251462],[33.818846,52.315644],[33.735233,52.344764],[33.61338,52.33262],[33.45184,52.333808],[33.287095,52.353549],[33.148447,52.340423],[32.899729,52.256346],[32.806504,52.252625],[32.645429,52.279083],[32.507918,52.308539],[32.435468,52.307247],[32.391336,52.294844],[32.363017,52.272133],[32.282815,52.114029],[32.216773,52.082971],[32.122257,52.050596],[32.04159,52.045041],[31.97379,52.046643],[31.875605,52.070879],[31.782381,52.099404],[31.763364,52.101084],[31.75861,52.125811],[31.690603,52.220637],[31.649882,52.262185],[31.601513,52.284819],[31.577329,52.312311],[31.576502,52.426025],[31.585545,52.532453],[31.615931,52.546199],[31.526169,52.632989],[31.519451,52.698747],[31.563479,52.731459],[31.564823,52.759235],[31.535161,52.798225],[31.442815,52.861838],[31.353001,52.933462],[31.295175,52.989789],[31.258795,53.016713],[31.302927,53.060896],[31.364525,53.138979],[31.3884,53.184816],[31.417855,53.19603],[31.562963,53.202489],[31.668279,53.200913],[31.747448,53.184196],[31.77742,53.146885],[31.849715,53.106216],[32.055439,53.089473],[32.141997,53.091152],[32.250673,53.128385],[32.426269,53.210603],[32.469367,53.270289],[32.578043,53.312405],[32.644447,53.32889],[32.704288,53.336331],[32.710283,53.37142],[32.706459,53.419427],[32.706151,53.419852]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"RUS-2343","diss_me":2343,"iso_3166_2":"RU-SMO","wikipedia":null,"iso_a2":"RU","adm0_sr":1,"name":"Smolensk","name_alt":"Smolenskaya Oblast","name_local":"Смоленская область","type":"Oblast","type_en":"Region","code_local":null,"code_hasc":"RU.SM","note":null,"hasc_maybe":null,"region":"Central","region_cod":null,"provnum_ne":20045,"gadm_level":1,"check_me":20,"datarank":2,"abbrev":null,"postal":"SM","area_sqkm":0,"sameascity":6,"labelrank":6,"name_len":8,"mapcolor9":7,"mapcolor13":7,"fips":"RS69","fips_alt":null,"woe_id":2346925,"woe_label":"Smolenskaya Oblast, RU, Russia","woe_name":"Smolensk","latitude":54.6726,"longitude":33.0803,"sov_a3":"RUS","adm0_a3":"RUS","adm0_label":2,"admin":"Russia","geonunit":"Russia","gu_a3":"RUS","gn_id":491684,"gn_name":"Smolenskaya Oblast'","gns_id":-3006143,"gns_name":"Smolenskaya Oblast'","gn_level":1,"gn_region":null,"gn_a1_code":"RU.69","region_sub":"Central","sub_code":null,"gns_level":1,"gns_lang":"fas","gns_adm1":"RS69","gns_region":null,"min_label":5,"max_label":10.2,"min_zoom":4.7,"wikidataid":"Q2347","name_ar":"أوبلاست سمولينسك","name_bn":"সি্মো স্মোলেনস্ক ওব্লাস্ট","name_de":"Smolensk","name_en":"Smolensk","name_es":"Smolensk","name_fr":"Smolensk","name_el":"Όμπλαστ του Σμολένσκ","name_hi":"स्मोलेंस्क ओब्लास्ट","name_hu":"Szmolenszki terület","name_id":"Smolensk","name_it":"Smolensk","name_ja":"スモレンスク州","name_ko":"스몰렌스크","name_nl":"Smolensk","name_pl":"smoleński","name_pt":"Smolensk","name_ru":"Смоленская область","name_sv":"Smolensk","name_tr":"Smolensk Oblastı","name_vi":"Smolensk","name_zh":"斯摩棱斯克州","ne_id":1159313155,"name_he":"סמולנסק","name_uk":"Смоленська область","name_ur":"سمولنسک اوبلاست","name_fa":"استان اسمولنسک","name_zht":"斯摩棱斯克州","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[30.791072,53.419852,35.397147,56.07451],"geometry":{"type":"Polygon","coordinates":[[[32.706151,53.419852],[32.685685,53.448159],[32.469626,53.546964],[32.442392,53.579262],[32.425236,53.61727],[32.45097,53.65334],[32.450144,53.692899],[32.200443,53.78124],[31.992135,53.796872],[31.820828,53.791937],[31.754217,53.810463],[31.783053,53.854956],[31.825272,53.935029],[31.837778,54.000787],[31.825944,54.030708],[31.792044,54.0559],[31.628385,54.111194],[31.403593,54.195943],[31.299103,54.291699],[31.245566,54.391642],[31.184795,54.452956],[31.074827,54.491816],[31.081907,54.517086],[31.154926,54.610956],[31.152135,54.625348],[31.121284,54.648499],[30.984187,54.695887],[30.798875,54.783271],[30.791072,54.806009],[30.804456,54.860941],[30.829932,54.914995],[30.866829,54.940729],[30.977675,55.05049],[30.977675,55.087801],[30.958865,55.137617],[30.877475,55.223451],[30.814481,55.278719],[30.810554,55.30696],[30.820992,55.330266],[30.861817,55.360394],[30.900574,55.397394],[30.908739,55.525345],[30.906879,55.570045],[30.903138,55.574044],[31.047335,55.768534],[31.186862,55.737218],[31.467361,55.729002],[31.585597,55.746623],[31.754889,55.714352],[31.893588,55.770498],[32.09368,55.67407],[32.721755,55.689676],[32.939313,55.631798],[33.187876,55.652521],[33.225497,55.698358],[33.372155,55.702647],[33.505273,55.755202],[33.670018,55.865298],[33.659992,55.946249],[33.838069,55.949453],[33.916617,56.073115],[34.200734,56.07451],[34.630889,55.917879],[35.031485,55.984438],[35.174112,55.948265],[35.353532,55.779386],[35.316119,55.726935],[35.397147,55.617071],[35.303096,55.571208],[35.301236,55.299106],[35.369655,55.238799],[35.284493,55.11214],[35.144036,55.021655],[35.001926,54.886702],[34.86581,54.883834],[34.921001,54.771593],[34.817338,54.709374],[34.499631,54.631989],[34.415812,54.450837],[34.326102,54.429598],[34.10751,54.550314],[33.926849,54.572277],[33.728722,54.561683],[33.642732,54.48546],[33.616687,54.381022],[33.68366,54.321336],[33.562014,54.15623],[33.501242,54.015799],[33.474577,53.971848],[33.287405,53.953916],[33.288956,53.821728],[32.899005,53.568669],[32.9081,53.493479],[32.706151,53.419852]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"RUS-2353","diss_me":2353,"iso_3166_2":"RU-KR","wikipedia":null,"iso_a2":"RU","adm0_sr":5,"name":"Karelia","name_alt":"Karelian A.S.S.R.|Karelo-Finnish A.S.S.R.|Karel'skaya A.S.S.R.|Olonets|Olonetskaya G.|Kareliya|Republic of Karelia","name_local":"Республика Карелия","type":"Respublika","type_en":"Republic","code_local":null,"code_hasc":"RU.KI","note":null,"hasc_maybe":null,"region":"Northwestern","region_cod":null,"provnum_ne":20014,"gadm_level":1,"check_me":20,"datarank":2,"abbrev":null,"postal":"KI","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":7,"mapcolor9":7,"mapcolor13":7,"fips":"RS28","fips_alt":null,"woe_id":2346873,"woe_label":"Kareliya, RU, Russia","woe_name":"Karelia","latitude":63.5295,"longitude":33.1446,"sov_a3":"RUS","adm0_a3":"RUS","adm0_label":2,"admin":"Russia","geonunit":"Russia","gu_a3":"RUS","gn_id":552548,"gn_name":"Respublika Kareliya","gns_id":-2921465,"gns_name":"Kareliya, Respublika","gn_level":1,"gn_region":null,"gn_a1_code":"RU.28","region_sub":"Northern","sub_code":null,"gns_level":1,"gns_lang":"rus","gns_adm1":"RS28","gns_region":null,"min_label":5,"max_label":10.2,"min_zoom":4.7,"wikidataid":"Q1914","name_ar":"جمهورية كاريليا","name_bn":"কারেলিয়া প্রজাতন্ত্র","name_de":"Republik Karelien","name_en":"Karelia","name_es":"Carelia","name_fr":"Carélie","name_el":"Δημοκρατία της Καρελίας","name_hi":"कारेलिया गणतंत्र","name_hu":"Karélia","name_id":"Republik Karelia","name_it":"Carelia","name_ja":"カレリア共和国","name_ko":"카렐리야 공화국","name_nl":"Karelië","name_pl":"Karelia","name_pt":"República da Carélia","name_ru":"Карелия","name_sv":"Karelska republiken","name_tr":"Karelya Cumhuriyeti","name_vi":"Cộng hòa Kareliya","name_zh":"卡累利阿共和国","ne_id":1159313107,"name_he":"קרליה","name_uk":"Республіка Карелія","name_ur":"جمہوریہ کریلیا","name_fa":"جمهوری کارلیا","name_zht":"卡累利阿共和国","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[35.528906,64.97666,35.858398,65.197559],"geometry":{"type":"Polygon","coordinates":[[[35.858398,65.07793],[35.827344,65.036475],[35.842285,65.001465],[35.778711,64.97666],[35.680078,65.057617],[35.621387,65.058789],[35.558594,65.093604],[35.528906,65.151074],[35.585742,65.16709],[35.608691,65.157129],[35.729102,65.197559],[35.816113,65.18208],[35.848438,65.142676],[35.858398,65.07793]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"RUS-2354","diss_me":2354,"iso_3166_2":"RU-ARK","wikipedia":null,"iso_a2":"RU","adm0_sr":4,"name":"Arkhangel'sk","name_alt":"Vologodskaya Oblast","name_local":"Вологодская область","type":"Oblast","type_en":"Region","code_local":null,"code_hasc":"RU.AR","note":null,"hasc_maybe":"RU.AR|RUS-ARK","region":"Northwestern","region_cod":null,"provnum_ne":20013,"gadm_level":1,"check_me":20,"datarank":2,"abbrev":null,"postal":"VO","area_sqkm":0,"sameascity":6,"labelrank":6,"name_len":12,"mapcolor9":7,"mapcolor13":7,"fips":"RS06","fips_alt":null,"woe_id":20070508,"woe_label":"Arkhangelrskaya Oblast, RU, Russia","woe_name":"Arkhangel'sk","latitude":63.3132,"longitude":41.9939,"sov_a3":"RUS","adm0_a3":"RUS","adm0_label":2,"admin":"Russia","geonunit":"Russia","gu_a3":"RUS","gn_id":581043,"gn_name":"Arkhangel'skaya Oblast'","gns_id":-2879197,"gns_name":"Arkhangel'skaya Oblast'","gn_level":1,"gn_region":null,"gn_a1_code":"RU.06","region_sub":"Northern","sub_code":null,"gns_level":1,"gns_lang":"rus","gns_adm1":"RS06","gns_region":null,"min_label":5,"max_label":10.2,"min_zoom":4.7,"wikidataid":"Q1875","name_ar":"أوبلاست أرخانغلسك","name_bn":"আরখানগেলস্ক ওব্লাস্ট","name_de":"Archangelsk","name_en":"Arkhangelsk","name_es":"Arjánguelsk","name_fr":"d'Arkhangelsk","name_el":"Όμπλαστ του Αρχάνγκελσκ","name_hi":"अर्खांगेल्स्क ओब्लास्ट","name_hu":"Arhangelszki terület","name_id":"Arkhangelsk","name_it":"Arcangelo","name_ja":"アルハンゲリスク州","name_ko":"아르한겔스크","name_nl":"Archangelsk","name_pl":"archangielski","name_pt":"Arkhangelsk","name_ru":"Архангельская область","name_sv":"Archangelsk","name_tr":"Arhangelsk Oblastı","name_vi":"Arkhangelsk","name_zh":"阿尔汉格尔斯克州","ne_id":1159313111,"name_he":"מחוז ארכנגלסק","name_uk":"Архангельська область","name_ur":"آرخانگلسک اوبلاست","name_fa":"استان آرخانگلسک","name_zht":"阿尔汉格尔斯克州","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[35.882286,60.649683,68.941699,81.854199],"geometry":{"type":"MultiPolygon","coordinates":[[[[36.524238,63.976454],[36.71377,63.945068],[36.975195,63.909521],[37.372754,63.816748],[37.442188,63.813379],[37.635352,63.893408],[37.967969,63.949121],[38.070801,64.02583],[38.062207,64.091016],[37.977148,64.207031],[37.953711,64.320117],[37.843555,64.366309],[37.740625,64.396973],[37.42959,64.373584],[37.289551,64.37793],[37.183691,64.408496],[37.04043,64.48916],[36.769336,64.685254],[36.624219,64.750537],[36.578711,64.790967],[36.528223,64.847363],[36.53457,64.938623],[36.65293,64.935449],[36.785938,64.987158],[36.882812,65.172363],[37.050195,65.195898],[37.14082,65.194287],[37.528125,65.108252],[38.009375,64.87876],[38.115723,64.85459],[38.228223,64.851221],[38.412109,64.85708],[38.441992,64.827148],[38.540918,64.79126],[38.613086,64.78667],[39.053516,64.713916],[39.567383,64.570557],[39.758008,64.577051],[39.833008,64.656396],[39.848633,64.690527],[40.057813,64.770752],[40.203711,64.784033],[40.407813,64.754883],[40.444922,64.778711],[40.375391,64.896289],[40.28125,64.998096],[40.142676,65.063281],[39.896484,65.254785],[39.798047,65.349854],[39.749121,65.447949],[39.781152,65.534717],[39.816504,65.597949],[40.327832,65.751709],[40.512793,65.843799],[40.691602,65.963428],[40.774414,65.987891],[41.076074,66.021094],[41.475781,66.123437],[41.780859,66.259326],[42.083594,66.465918],[42.210547,66.519678],[42.313672,66.514746],[42.450781,66.482422],[42.602148,66.42251],[42.806543,66.411328],[43.005957,66.420947],[43.233203,66.415527],[43.550879,66.321289],[43.60332,66.291211],[43.653125,66.250977],[43.550391,66.173389],[43.541895,66.123389],[43.623926,66.146729],[43.737012,66.158398],[43.84375,66.142383],[43.944141,66.098682],[44.016699,66.049756],[44.104395,66.008594],[44.132422,66.064551],[44.145313,66.112744],[44.097168,66.235059],[44.220703,66.40708],[44.220833,66.407181],[44.476386,66.370109],[44.578499,66.307322],[45.741322,66.067906],[45.831652,66.088214],[46.347487,66.028011],[47.110437,65.821176],[47.407267,65.83593],[47.660791,65.808076],[47.763731,65.860838],[47.753189,65.940704],[48.156265,66.130279],[49.006032,66.119117],[48.989393,65.268523],[49.021329,65.238292],[49.567445,65.292087],[49.66315,65.25457],[50.063022,64.8902],[50.15976,64.847308],[50.467442,64.791601],[50.348379,64.537663],[50.273345,64.51291],[49.626666,64.591717],[49.45014,64.462991],[48.950015,64.490612],[48.840151,64.357312],[48.51831,64.355504],[48.408343,64.22422],[48.196159,64.238922],[48.115751,64.348114],[46.61145,64.326565],[46.322889,64.264708],[45.824521,64.283622],[45.442219,64.187504],[45.593011,64.063945],[45.883639,63.964313],[46.109878,63.945813],[46.43575,63.887729],[46.819189,63.746962],[46.969567,63.640147],[47.026205,63.530567],[46.936598,63.351921],[47.090904,63.246476],[47.366029,63.167204],[47.554648,63.148497],[47.515787,63.036773],[47.399515,62.954814],[47.082636,62.839627],[47.237665,62.63566],[47.234874,62.351492],[47.386286,62.320434],[47.413365,62.192793],[47.621001,62.185455],[47.649836,62.296663],[47.751122,62.321829],[48.290831,62.321623],[48.236777,62.472983],[48.366071,62.729298],[48.628588,62.705837],[48.714474,62.815546],[48.875084,62.829137],[49.608993,62.770226],[49.369421,62.149385],[49.212738,62.091146],[49.051611,61.690963],[49.096776,61.658097],[49.417273,61.618255],[49.461405,61.586112],[49.302242,61.176163],[49.097913,61.174974],[48.888727,61.14123],[48.509318,61.047747],[48.44648,60.984107],[48.418988,60.853805],[47.984183,60.89649],[47.965476,60.999352],[47.568497,61.059116],[47.244796,61.05617],[47.10372,60.956073],[47.042948,60.853805],[46.75325,60.907084],[46.736507,60.986097],[46.527114,61.051313],[46.285061,60.967752],[45.878161,61.016276],[45.766644,61.054594],[45.791758,61.154459],[45.722719,61.179418],[45.332355,61.18934],[45.229105,60.90388],[44.455302,60.946978],[44.205809,60.971808],[44.158473,61.082422],[43.775964,61.020772],[43.715399,60.884501],[43.536082,60.853108],[43.510864,60.767454],[43.149852,60.806005],[43.048773,60.74022],[42.823051,60.855304],[42.650451,60.863107],[42.394756,60.769418],[42.023926,60.835822],[41.800891,60.89897],[41.518531,60.899177],[41.394094,60.857991],[41.412077,60.791199],[41.339937,60.675987],[41.059334,60.649683],[40.819142,60.710972],[40.756717,60.773733],[40.534405,60.724562],[39.923486,60.651854],[39.764012,60.736913],[39.648154,60.746008],[39.338199,60.683996],[39.068241,60.714072],[38.947732,60.802671],[38.789498,60.71278],[38.632712,60.723219],[38.574214,60.79908],[38.43014,60.804661],[38.418462,60.873959],[38.212996,60.923982],[38.166281,61.133116],[37.963192,61.160195],[37.857359,61.28458],[37.77292,61.522137],[37.761964,61.648227],[37.857255,61.697681],[37.926605,61.968259],[37.807749,61.99756],[37.718763,62.203413],[37.429891,62.237183],[37.572622,62.360638],[37.587505,62.472673],[37.504926,62.645324],[37.352273,62.683823],[37.080765,62.656072],[36.759545,62.717671],[36.500542,62.826036],[36.258903,63.03176],[36.320192,63.161313],[36.262004,63.23552],[36.219836,63.416491],[36.057985,63.46008],[35.882286,63.573355],[35.944607,63.619683],[36.374969,63.644953],[36.554699,63.763964],[36.524238,63.976454]]],[[[59.356445,81.758984],[58.29541,81.715186],[57.964844,81.695654],[57.920605,81.710498],[57.909277,81.721924],[57.945117,81.747852],[57.984961,81.797021],[58.13457,81.827979],[59.261816,81.854199],[59.408496,81.825439],[59.356836,81.780957],[59.356445,81.758984]]],[[[53.141406,71.241895],[53.192578,71.215283],[53.205176,71.159717],[53.071484,71.065039],[53.048145,71.030957],[53.105762,70.999268],[53.120996,70.982031],[53.022656,70.968701],[53.004492,71.011621],[52.949609,71.053613],[52.835352,71.08584],[52.788965,71.114941],[52.738379,71.180664],[52.546582,71.250439],[52.425488,71.239258],[52.289453,71.270361],[52.249609,71.284912],[52.239844,71.325049],[52.296582,71.356836],[52.512598,71.385059],[52.617383,71.38335],[52.729688,71.355127],[52.720313,71.389795],[52.732227,71.403711],[52.776758,71.399805],[52.90332,71.36499],[52.994141,71.29126],[53.074023,71.237939],[53.141406,71.241895]]],[[[58.049512,81.118457],[58.102344,81.114258],[58.189941,81.09458],[58.507617,81.061768],[58.622363,81.04165],[58.761523,80.990967],[58.815332,80.933594],[58.902539,80.897656],[58.930566,80.831689],[58.859961,80.779395],[58.641895,80.767969],[58.285645,80.764893],[57.937891,80.793359],[57.749805,80.889062],[57.405176,80.915137],[57.210938,81.01709],[57.410254,81.046777],[57.65625,81.031543],[58.049512,81.118457]]],[[[62.884961,81.608887],[62.573047,81.633057],[62.53125,81.647021],[62.515234,81.659131],[62.106445,81.679346],[62.283984,81.706543],[62.794922,81.718945],[63.70957,81.687305],[63.767383,81.66416],[63.782422,81.649805],[63.650977,81.609326],[63.528516,81.596582],[62.884961,81.608887]]],[[[54.633984,81.113184],[54.718945,81.115967],[55.470703,81.019873],[56.170117,81.02915],[56.472266,80.998242],[56.909668,80.912891],[57.567773,80.819727],[57.694141,80.792285],[57.580371,80.755469],[56.814746,80.663623],[56.315527,80.632861],[55.883398,80.628418],[55.7125,80.637305],[55.540625,80.70332],[55.117188,80.751904],[54.668164,80.738672],[54.62334,80.765234],[54.532813,80.783008],[54.376074,80.786963],[54.066602,80.813623],[54.04541,80.871973],[54.240527,80.901855],[54.367285,80.903809],[54.416797,80.986523],[54.633984,81.113184]]],[[[50.753711,81.047412],[50.616016,81.04126],[50.518164,81.045557],[50.411914,81.084375],[50.377441,81.102734],[50.368457,81.12251],[50.464941,81.126221],[50.505957,81.144238],[50.521582,81.158203],[50.591797,81.169434],[50.715918,81.170654],[50.878613,81.150879],[50.946191,81.108154],[50.78877,81.071826],[50.753711,81.047412]]],[[[51.242773,79.99126],[51.326953,79.972314],[51.409277,79.944238],[51.435156,79.931934],[51.43125,79.920508],[51.07627,79.931982],[50.454102,79.924414],[50.091406,79.980566],[50.472656,80.035449],[50.675781,80.048535],[50.936328,80.094238],[51.254395,80.048633],[51.237891,80.010352],[51.242773,79.99126]]],[[[57.456445,81.542871],[57.716602,81.564648],[57.810254,81.546045],[57.862695,81.506445],[58.016602,81.483789],[58.436035,81.46416],[58.563867,81.418408],[58.371875,81.386963],[57.858691,81.368066],[57.911914,81.303271],[58.015332,81.254834],[57.912891,81.19751],[57.769727,81.169727],[57.450977,81.135547],[57.159473,81.178467],[56.821875,81.237939],[56.669238,81.198291],[56.5125,81.175244],[56.363965,81.178613],[56.191992,81.223975],[55.716699,81.188477],[55.572656,81.228076],[55.466016,81.311182],[55.781934,81.329443],[56.156836,81.303076],[56.404688,81.387012],[56.71875,81.423389],[56.973047,81.510547],[57.091504,81.541211],[57.365039,81.535254],[57.456445,81.542871]]],[[[42.631445,66.782227],[42.690723,66.735303],[42.713672,66.701709],[42.675586,66.688086],[42.477344,66.735059],[42.460059,66.770361],[42.468555,66.785547],[42.547461,66.795508],[42.631445,66.782227]]],[[[50.319141,80.172363],[50.072266,80.109473],[50.051758,80.074316],[49.970898,80.060742],[49.588281,80.136133],[49.556055,80.158936],[49.883691,80.230225],[50.250977,80.219482],[50.309961,80.185645],[50.319141,80.172363]]],[[[53.901563,80.54248],[53.858887,80.563037],[53.877246,80.605273],[54.176758,80.574365],[54.205371,80.561768],[54.407129,80.540137],[54.437305,80.498682],[54.415332,80.472803],[54.275879,80.421338],[53.811914,80.476221],[53.85,80.503857],[53.900195,80.51543],[53.901563,80.54248]]],[[[60.586621,81.087695],[61.457422,81.103955],[61.567383,81.050293],[61.471973,81.011035],[61.14082,80.950342],[60.826758,80.929688],[60.321094,80.955518],[60.058203,80.984619],[60.07832,80.99917],[60.147559,81.01665],[60.586621,81.087695]]],[[[58.610156,81.337256],[58.634473,81.360352],[58.880566,81.391846],[59.075,81.397705],[59.280859,81.366113],[59.374609,81.325049],[59.313086,81.305225],[59.096973,81.292285],[58.719043,81.313525],[58.610156,81.337256]]],[[[55.240039,80.325391],[55.353223,80.317676],[55.434766,80.302246],[55.479688,80.273828],[55.195117,80.226807],[55.048438,80.228369],[54.979688,80.256445],[55.091602,80.295557],[55.240039,80.325391]]],[[[58.617871,74.227393],[58.441406,74.128857],[57.767383,74.013818],[57.778418,73.973926],[57.853418,73.897852],[57.872266,73.850439],[57.844922,73.805078],[57.755957,73.769189],[57.657422,73.768164],[57.603711,73.775488],[57.448535,73.825635],[57.313086,73.838037],[57.290918,73.814551],[57.464258,73.746045],[57.542578,73.658203],[57.459766,73.610303],[57.134375,73.504395],[56.963867,73.366553],[56.63418,73.304297],[56.430371,73.297217],[56.22832,73.314111],[56.03457,73.345898],[55.549219,73.356836],[55.280176,73.392041],[55.006836,73.453857],[54.768652,73.449414],[54.56582,73.418506],[54.299902,73.350977],[54.131543,73.481006],[54.20459,73.542041],[53.838672,73.697119],[53.762891,73.766162],[53.851367,73.800537],[53.963477,73.822314],[54.174023,73.885742],[54.386328,73.935645],[54.605664,73.951318],[54.642676,73.95957],[54.733398,74.033984],[54.83125,74.095752],[54.920313,74.129102],[55.022852,74.186621],[55.340918,74.419629],[55.416406,74.436133],[56.07832,74.481299],[56.137109,74.496094],[55.947461,74.542187],[55.751758,74.541211],[55.661523,74.556104],[55.610352,74.590527],[55.582227,74.627686],[55.659668,74.656299],[55.913672,74.796094],[56.217871,74.89751],[56.49873,74.95708],[56.428516,74.972949],[56.340039,75.013477],[55.998047,75.003369],[55.863184,75.05874],[55.821191,75.090625],[55.810059,75.124902],[55.920703,75.168359],[56.035547,75.194238],[56.162207,75.186572],[56.288672,75.164307],[56.389063,75.138184],[56.485254,75.096094],[56.570312,75.097754],[56.87627,75.244385],[56.829297,75.277734],[56.809473,75.328418],[56.844434,75.351416],[56.989453,75.375098],[57.0875,75.383838],[57.301758,75.373242],[57.606836,75.34126],[57.631543,75.356445],[57.708203,75.454492],[57.783398,75.506689],[58.093652,75.592529],[58.072559,75.618994],[58.058301,75.663086],[58.418359,75.719775],[58.652734,75.776807],[58.88125,75.854785],[58.994727,75.871729],[59.110449,75.87373],[59.346582,75.907031],[59.781934,75.94585],[60.036133,75.983838],[60.118164,76.066553],[60.279297,76.09624],[60.606152,76.108643],[60.730566,76.104053],[60.801172,76.068799],[60.942188,76.071289],[60.997754,76.089258],[61.053906,76.119873],[61.036914,76.169043],[61.034375,76.232959],[61.156934,76.273535],[61.20166,76.282031],[61.569434,76.298486],[61.787109,76.291016],[62.237305,76.241602],[62.471094,76.230469],[62.782031,76.245215],[62.971484,76.23667],[63.526172,76.309521],[64.463477,76.378174],[64.707617,76.426025],[64.95,76.484326],[65.072852,76.496729],[65.197168,76.499658],[65.309766,76.51792],[65.528418,76.567822],[65.636914,76.578662],[65.755176,76.579297],[65.862891,76.61333],[65.958887,76.687939],[66.062988,76.746094],[66.345215,76.821045],[66.828809,76.923828],[67.263672,76.96377],[67.534961,77.007764],[67.651855,77.011572],[68.017285,76.990625],[68.485742,76.933691],[68.699121,76.870654],[68.87334,76.7896],[68.911719,76.760547],[68.941699,76.707666],[68.890527,76.659717],[68.858008,76.610498],[68.899805,76.572949],[68.558594,76.449414],[68.222363,76.313477],[68.16543,76.284863],[67.765332,76.237598],[67.365234,76.161279],[67.126953,76.108154],[66.893164,76.072266],[66.657422,76.047021],[66.282422,75.983691],[65.619141,75.904639],[65.201563,75.839453],[64.744531,75.788232],[64.262598,75.719678],[63.779297,75.672607],[63.659473,75.66875],[63.316699,75.603076],[63.045996,75.575732],[62.066113,75.427734],[61.616211,75.319629],[61.486523,75.31084],[61.355957,75.314844],[61.248828,75.281006],[61.147266,75.222559],[60.935645,75.163672],[60.829199,75.11084],[60.719238,75.068604],[60.655371,75.055029],[60.533789,75.059277],[60.475586,75.054736],[60.276855,75.007568],[60.241113,74.970752],[60.454883,74.946143],[60.501367,74.904639],[60.43916,74.875342],[60.300781,74.837012],[60.222461,74.796582],[60.080078,74.755859],[59.982324,74.744629],[59.747266,74.745898],[59.734668,74.695459],[59.771484,74.664453],[59.752734,74.637012],[59.674023,74.610156],[59.595996,74.613721],[59.240137,74.692969],[59.182031,74.665771],[59.157031,74.61084],[59.146094,74.551904],[59.100977,74.50752],[59.04043,74.485547],[58.928223,74.462695],[58.534668,74.498926],[58.502148,74.464209],[58.562012,74.421826],[58.645703,74.328027],[58.665039,74.289258],[58.617871,74.227393]]],[[[51.58252,72.071191],[51.653125,72.099365],[51.805469,72.142139],[51.885449,72.153223],[52.068652,72.131152],[52.252051,72.129736],[52.332324,72.153955],[52.406738,72.196729],[52.461914,72.252344],[52.586133,72.284033],[52.62207,72.300977],[52.661914,72.336865],[52.705762,72.390967],[52.713867,72.436963],[52.74873,72.482959],[52.863672,72.549854],[52.823242,72.59126],[52.839063,72.619287],[52.916602,72.668896],[52.683105,72.682324],[52.60498,72.704053],[52.528516,72.737354],[52.550586,72.768555],[52.579297,72.791357],[52.812207,72.875244],[52.913184,72.899951],[53.024219,72.913574],[53.134961,72.913232],[53.253516,72.90376],[53.369824,72.916748],[53.247266,72.973145],[53.237109,73.011182],[53.188965,73.104004],[53.197949,73.147559],[53.251172,73.182959],[53.357617,73.224561],[53.512207,73.238379],[53.633691,73.260254],[53.753223,73.293262],[53.865625,73.298975],[54.091016,73.276465],[54.202344,73.281348],[54.327637,73.299463],[54.676074,73.37002],[54.803906,73.387646],[54.940625,73.383252],[55.121387,73.356836],[55.319824,73.308301],[55.787305,73.268604],[56.137695,73.256152],[56.350488,73.225537],[56.42959,73.201172],[56.397461,73.13916],[56.334668,73.113672],[56.188965,73.033008],[56.166992,72.983203],[56.192871,72.90498],[56.170508,72.848096],[56.12168,72.806592],[56.083789,72.789404],[55.819727,72.789502],[55.723438,72.766406],[55.718457,72.721533],[55.700977,72.671729],[55.616406,72.599072],[55.441309,72.575391],[55.40332,72.549072],[55.416895,72.501318],[55.355957,72.465088],[55.35957,72.408691],[55.39043,72.377832],[55.399121,72.313623],[55.518066,72.220654],[55.494922,72.182324],[55.40332,72.106885],[55.375,72.014893],[55.297852,71.935352],[55.471094,71.869238],[55.54668,71.78335],[55.613672,71.689893],[55.819336,71.507568],[56.043164,71.345605],[56.454395,71.107373],[56.894824,70.927002],[57.065625,70.876025],[57.483594,70.792285],[57.556445,70.76582],[57.625391,70.728809],[57.447168,70.661035],[57.263672,70.636035],[57.246973,70.605127],[57.145898,70.589111],[56.648828,70.646533],[56.62168,70.655371],[56.568652,70.697461],[56.510059,70.728809],[56.385742,70.734131],[56.260059,70.714746],[56.334766,70.676709],[56.417188,70.664941],[56.561328,70.593555],[56.499707,70.566406],[56.43457,70.562988],[56.14248,70.657861],[56.114746,70.646143],[56.087109,70.618359],[55.941602,70.649268],[55.907227,70.626318],[55.796875,70.615576],[55.706738,70.641895],[55.706445,70.675244],[55.687305,70.692188],[55.236914,70.666016],[55.05166,70.666748],[54.86709,70.678125],[54.645117,70.741846],[54.608203,70.713232],[54.601172,70.680078],[54.517383,70.693311],[54.332617,70.744678],[54.199414,70.764893],[53.722363,70.814453],[53.383594,70.873535],[53.467773,70.900586],[53.613574,70.914648],[53.615625,70.95083],[53.592578,71.000684],[53.587793,71.052295],[53.670508,71.086914],[53.857031,71.07041],[53.834277,71.126709],[53.922266,71.137598],[54.093945,71.105225],[54.155664,71.125488],[53.886133,71.196289],[53.59082,71.29668],[53.622168,71.332764],[53.515234,71.342529],[53.409961,71.340137],[53.319043,71.39917],[53.33252,71.477246],[53.411621,71.530127],[53.363867,71.54165],[52.908984,71.49502],[52.678711,71.505664],[52.418848,71.536865],[52.17998,71.490234],[51.937891,71.474707],[51.812598,71.491309],[51.691602,71.525146],[51.59043,71.571143],[51.511328,71.648096],[51.438672,71.776807],[51.428613,71.825537],[51.443555,71.934375],[51.482227,71.979785],[51.58252,72.071191]]],[[[58.946094,80.042334],[59.001465,80.053906],[59.544531,80.118848],[59.80166,80.082666],[59.911035,79.994287],[59.688867,79.955811],[59.330664,79.923047],[59.202637,79.932959],[59.169238,79.948291],[59.100391,79.96416],[58.919238,79.984619],[58.946094,80.042334]]],[[[52.343555,80.213232],[52.213379,80.263721],[52.270215,80.276318],[52.57666,80.296924],[52.680566,80.318506],[52.716016,80.347559],[52.853906,80.402393],[53.185645,80.412646],[53.329199,80.402393],[53.345898,80.366309],[53.486133,80.323389],[53.85166,80.268359],[53.77793,80.22832],[53.65293,80.222559],[53.521387,80.185205],[52.856348,80.173242],[52.635938,80.178857],[52.607031,80.191162],[52.550488,80.201855],[52.343555,80.213232]]],[[[55.942285,80.163281],[56.012207,80.203906],[55.989844,80.320068],[56.024414,80.341309],[56.655078,80.330322],[56.707227,80.363281],[56.944531,80.366162],[57.078711,80.350928],[57.122656,80.316992],[57.118945,80.193945],[57.072754,80.139404],[57.080176,80.094678],[56.986914,80.071484],[56.200586,80.076465],[55.811621,80.087158],[55.724023,80.104736],[55.942285,80.163281]]],[[[63.11582,80.966797],[63.614746,80.980908],[63.855957,80.981152],[64.095703,80.99834],[64.165918,81.035742],[64.210449,81.106348],[64.255859,81.144434],[64.310156,81.175195],[64.575391,81.198486],[64.802051,81.197266],[65.027734,81.169482],[65.171973,81.144043],[65.309766,81.096436],[65.382031,81.056738],[65.360059,81.008203],[65.37207,80.968018],[65.437402,80.930713],[64.997461,80.818896],[64.54834,80.75542],[63.373828,80.700098],[63.187598,80.697607],[63.002148,80.712842],[62.760449,80.762695],[62.520313,80.821875],[62.592578,80.853027],[62.819336,80.893799],[63.11582,80.966797]]],[[[57.392285,80.13916],[57.332324,80.158105],[57.281445,80.193896],[57.214063,80.328271],[57.211719,80.368457],[57.18623,80.39624],[57.083398,80.445215],[57.011133,80.468311],[57.075,80.493945],[57.521973,80.475391],[58.480469,80.464746],[58.97168,80.415869],[59.115918,80.388428],[59.255469,80.343213],[58.397949,80.31875],[58.283887,80.297803],[58.285742,80.248145],[58.255469,80.201807],[58.163184,80.196533],[57.95625,80.123242],[57.800098,80.104053],[57.392285,80.13916]]],[[[47.011035,80.562109],[46.677539,80.561328],[46.623926,80.540674],[46.513672,80.475537],[46.378125,80.456787],[46.141406,80.446729],[46.059863,80.483789],[46.023633,80.540869],[45.969043,80.569482],[45.64082,80.536963],[45.389258,80.560303],[45.149219,80.59873],[44.90498,80.611279],[45.124512,80.652246],[46.327441,80.735156],[46.799121,80.755225],[47.020605,80.814404],[47.352344,80.85293],[47.441992,80.853662],[47.899512,80.812695],[48.243262,80.823486],[48.345215,80.818994],[48.445703,80.806006],[48.547363,80.779053],[48.686523,80.717773],[48.683594,80.633252],[48.625488,80.629297],[48.044336,80.668164],[47.777344,80.75625],[47.705273,80.765186],[47.600098,80.741943],[47.512305,80.687939],[47.41416,80.674512],[47.303906,80.606201],[47.198242,80.614941],[47.144922,80.609033],[47.011035,80.562109]]],[[[51.454785,80.744678],[51.591016,80.740771],[51.703613,80.687646],[51.146191,80.603955],[50.96084,80.540479],[50.279688,80.527344],[49.845996,80.497656],[49.749805,80.47207],[49.794141,80.425342],[49.585938,80.376563],[48.896094,80.369189],[48.811035,80.353711],[48.677051,80.300049],[48.688965,80.290283],[48.921973,80.276807],[48.95957,80.265674],[48.99082,80.242383],[49.010742,80.207422],[48.977539,80.162598],[48.891895,80.155322],[48.797363,80.161133],[48.581738,80.195361],[48.55459,80.183301],[48.532617,80.158252],[48.466797,80.110107],[48.38623,80.095801],[48.167188,80.132764],[48.095898,80.122314],[48.025781,80.099463],[47.939941,80.088623],[47.737305,80.081689],[47.632422,80.111963],[47.723145,80.151367],[47.977539,80.212549],[47.892969,80.239258],[47.642383,80.245312],[47.444336,80.230127],[47.343066,80.188525],[47.248633,80.180225],[46.991016,80.182764],[46.845898,80.237207],[46.738184,80.257666],[46.644434,80.300342],[47.40293,80.444775],[47.656055,80.500537],[47.895801,80.529053],[48.208203,80.543896],[48.306152,80.561572],[48.402637,80.568799],[48.464746,80.558057],[48.625098,80.508301],[49.087793,80.515771],[49.185254,80.558643],[49.192676,80.656006],[49.147461,80.712109],[49.244336,80.821387],[49.507812,80.865332],[50.124316,80.923877],[50.278125,80.927246],[50.431445,80.910889],[50.801074,80.91416],[50.917676,80.89043],[51.454785,80.744678]]],[[[62.10293,80.866602],[62.167773,80.834766],[62.227734,80.794385],[62.191797,80.730225],[62.114551,80.683691],[62.075781,80.616943],[61.769141,80.601025],[61.68125,80.586328],[61.597461,80.534961],[61.285156,80.504736],[61.05127,80.418604],[60.722266,80.434668],[60.27832,80.494434],[59.900195,80.446094],[59.649805,80.43125],[59.346387,80.505029],[59.304395,80.521533],[59.288184,80.572656],[59.30625,80.617773],[59.386523,80.712549],[59.495117,80.766504],[59.549414,80.783594],[59.592285,80.816504],[59.71582,80.836377],[60.094531,80.848584],[60.234961,80.837744],[60.278027,80.801465],[60.481543,80.804248],[60.820215,80.826562],[61.313184,80.862646],[61.597461,80.89292],[61.850586,80.885937],[62.10293,80.866602]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"RUS-2355","diss_me":2355,"iso_3166_2":"RU-IVA","wikipedia":null,"iso_a2":"RU","adm0_sr":1,"name":"Ivanovo","name_alt":"Ivanovskaya Oblast","name_local":"Ивановская область","type":"Oblast","type_en":"Region","code_local":null,"code_hasc":"RU.IV","note":null,"hasc_maybe":null,"region":"Central","region_cod":null,"provnum_ne":20082,"gadm_level":1,"check_me":20,"datarank":2,"abbrev":null,"postal":"IV","area_sqkm":0,"sameascity":7,"labelrank":7,"name_len":7,"mapcolor9":7,"mapcolor13":7,"fips":"RS21","fips_alt":null,"woe_id":2346897,"woe_label":"Ivanovskaya Oblast, RU, Russia","woe_name":"Ivanovo","latitude":57.1213,"longitude":41.6244,"sov_a3":"RUS","adm0_a3":"RUS","adm0_label":2,"admin":"Russia","geonunit":"Russia","gu_a3":"RUS","gn_id":555235,"gn_name":"Ivanovskaya Oblast'","gns_id":-2917425,"gns_name":"Ivanovskaya Oblast'","gn_level":1,"gn_region":null,"gn_a1_code":"RU.21","region_sub":"Central","sub_code":null,"gns_level":1,"gns_lang":"rus","gns_adm1":"RS21","gns_region":null,"min_label":5,"max_label":10.2,"min_zoom":4.7,"wikidataid":"Q2654","name_ar":"أوبلاست إيفانوفو","name_bn":"ইভানোভো ওব্লাস্ট","name_de":"Iwanowo","name_en":"Ivanovo","name_es":"Ivánovo","name_fr":"d'Ivanovo","name_el":"Όμπλαστ του Ιβάνοβο","name_hi":"इवानोवो ओब्लास्ट","name_hu":"Ivanovói terület","name_id":"Ivanovo","name_it":"Ivanovo","name_ja":"イヴァノヴォ州","name_ko":"이바노보","name_nl":"Ivanovo","name_pl":"iwanowski","name_pt":"Ivanovo","name_ru":"Ивановская область","name_sv":"Ivanovo","name_tr":"İvanovo Oblastı","name_vi":"Ivanovo","name_zh":"伊万诺沃州","ne_id":1159313123,"name_he":"מחוז איבנובו","name_uk":"Івановська область","name_ur":"ایوانوو اوبلاست","name_fa":"استان ایوانوف","name_zht":"伊萬諾沃州","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[39.386775,56.368394,43.727388,57.74986],"geometry":{"type":"Polygon","coordinates":[[[43.727388,57.465795],[43.688838,57.279191],[43.538562,57.261776],[43.514275,57.117573],[43.669614,57.04272],[43.501252,56.906449],[43.338988,56.860664],[42.977563,56.841802],[42.829975,56.80227],[42.786567,56.669048],[42.902322,56.646233],[42.845375,56.552207],[42.881858,56.471592],[42.647971,56.480584],[42.587923,56.420226],[42.469274,56.421233],[42.288613,56.471282],[42.066404,56.368394],[41.957677,56.390563],[41.933906,56.516809],[41.052823,56.47508],[40.933657,56.501771],[40.714652,56.598458],[40.49079,56.583833],[40.155927,56.434282],[39.942606,56.529883],[39.878527,56.646052],[39.858787,56.779635],[39.679366,56.821777],[39.41716,56.772091],[39.386775,56.835446],[39.527334,56.9558],[39.520203,57.026855],[39.844008,57.128942],[39.841734,57.17682],[40.063942,57.219402],[40.192513,57.212813],[40.327079,57.293351],[40.445211,57.276349],[40.570682,57.316424],[41.072873,57.347508],[41.169715,57.435203],[41.269864,57.426288],[41.434401,57.472048],[41.544059,57.458612],[41.604417,57.524189],[41.56721,57.704204],[41.630048,57.74986],[41.88595,57.685575],[42.02589,57.588992],[42.18619,57.559846],[42.336362,57.578656],[42.403955,57.632607],[42.649728,57.635242],[42.726209,57.70175],[42.850956,57.667126],[42.853333,57.394326],[42.973119,57.387505],[43.26354,57.42435],[43.312323,57.517058],[43.542387,57.566926],[43.727388,57.465795]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"RUS-2359","diss_me":2359,"iso_3166_2":"RU-VLG","wikipedia":null,"iso_a2":"RU","adm0_sr":1,"name":"Vologda","name_alt":"Vologodskaya Oblast","name_local":"Вологодская область","type":"Oblast","type_en":"Region","code_local":null,"code_hasc":"RU.VO","note":null,"hasc_maybe":null,"region":"Northwestern","region_cod":null,"provnum_ne":20077,"gadm_level":1,"check_me":20,"datarank":2,"abbrev":null,"postal":"VO","area_sqkm":0,"sameascity":6,"labelrank":6,"name_len":7,"mapcolor9":7,"mapcolor13":7,"fips":"RS85","fips_alt":null,"woe_id":2346934,"woe_label":"Vologodskaya Oblast, RU, Russia","woe_name":"Vologda","latitude":59.6397,"longitude":40.9333,"sov_a3":"RUS","adm0_a3":"RUS","adm0_label":2,"admin":"Russia","geonunit":"Russia","gu_a3":"RUS","gn_id":472454,"gn_name":"Vologodskaya Oblast'","gns_id":-3034708,"gns_name":"Vologodskaya Oblast'","gn_level":1,"gn_region":null,"gn_a1_code":"RU.85","region_sub":"Northern","sub_code":null,"gns_level":1,"gns_lang":"fas","gns_adm1":"RS85","gns_region":null,"min_label":5,"max_label":10.2,"min_zoom":4.7,"wikidataid":"Q2015","name_ar":"فولوغدا أوبلاست","name_bn":"ভোলোগদা ওব্লাস্ট","name_de":"Wologda","name_en":"Vologda","name_es":"Vólogda","name_fr":"Vologda","name_el":"Όμπλαστ της Βόλογκντα","name_hi":"वोलोडा ओब्लास्ट","name_hu":"Vologdai terület","name_id":"Vologda","name_it":"Vologda","name_ja":"ヴォログダ州","name_ko":"볼로그다","name_nl":"Vologda","name_pl":"wołogodzki","name_pt":"Vologda","name_ru":"Вологодская область","name_sv":"Vologda","name_tr":"Vologda Oblastı","name_vi":"Vologda","name_zh":"沃洛格达州","ne_id":1159313131,"name_he":"מחוז וולוגדה","name_uk":"Вологодська область","name_ur":"ولوگدا اوبلاست","name_fa":"استان ولوگدا","name_zht":"沃洛格達州","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[34.729901,58.490229,47.113538,61.594432],"geometry":{"type":"Polygon","coordinates":[[[47.113538,59.611297],[46.875,59.632484],[46.756971,59.606905],[46.406398,59.632536],[46.356272,59.346972],[46.182329,59.345163],[46.003632,59.282118],[45.918262,59.184424],[45.366151,59.198454],[45.091129,59.184191],[44.991084,59.121611],[44.391224,59.152514],[44.207049,59.171737],[44.103489,59.22977],[43.960242,59.205482],[43.741754,59.259536],[43.581661,59.188481],[43.498048,59.294314],[43.370924,59.280413],[43.294133,59.218143],[43.150576,59.261448],[43.025726,59.207808],[42.799589,59.170394],[42.671432,59.228426],[42.631538,59.308215],[42.197042,59.303486],[42.187637,59.390768],[42.058136,59.426993],[41.959021,59.277674],[42.089865,59.229718],[42.011937,59.118304],[41.686996,59.079883],[41.521941,59.036914],[41.245369,58.902322],[41.145944,58.785043],[41.217567,58.740084],[40.926009,58.579112],[40.565101,58.590533],[40.292766,58.544153],[40.160784,58.558597],[39.968961,58.759463],[39.619525,58.894545],[39.499533,58.888938],[39.118781,58.953766],[38.94029,58.944309],[38.999925,58.846331],[38.915899,58.744373],[38.55003,58.777239],[38.478199,58.706029],[38.047631,58.735743],[37.940868,58.64133],[37.716592,58.621693],[37.626262,58.490229],[37.187529,58.770857],[37.12221,58.866045],[36.864241,58.842765],[36.815562,58.758223],[36.668594,58.685281],[36.520593,58.558493],[36.323602,58.49984],[36.173327,58.524955],[36.126302,58.695487],[35.836087,58.744709],[35.751234,58.826539],[35.398491,58.84354],[35.265682,58.764785],[35.124606,58.815015],[35.130807,58.937333],[34.831497,58.991025],[34.878523,59.043373],[34.729901,59.103214],[34.900537,59.237935],[35.134734,59.254368],[35.301236,59.301032],[35.448514,59.427691],[35.323663,59.506678],[35.495849,59.553523],[35.497089,59.647367],[35.423606,59.701111],[35.382471,59.875415],[35.403658,59.974272],[35.23788,59.985486],[35.157059,60.067032],[35.147447,60.268828],[35.231059,60.341175],[35.258551,60.585295],[35.154061,60.787298],[35.280875,60.850007],[35.439935,60.861557],[35.489338,60.959484],[35.686019,61.120869],[35.603853,61.188307],[36.466849,61.406588],[36.577644,61.529475],[36.87344,61.544926],[36.996429,61.594432],[37.278273,61.500536],[37.77292,61.522137],[37.857359,61.28458],[37.963192,61.160195],[38.166281,61.133116],[38.212996,60.923982],[38.418462,60.873959],[38.43014,60.804661],[38.574214,60.79908],[38.632712,60.723219],[38.789498,60.71278],[38.947732,60.802671],[39.068241,60.714072],[39.338199,60.683996],[39.648154,60.746008],[39.764012,60.736913],[39.923486,60.651854],[40.534405,60.724562],[40.756717,60.773733],[40.819142,60.710972],[41.059334,60.649683],[41.339937,60.675987],[41.412077,60.791199],[41.394094,60.857991],[41.518531,60.899177],[41.800891,60.89897],[42.023926,60.835822],[42.394756,60.769418],[42.650451,60.863107],[42.823051,60.855304],[43.048773,60.74022],[43.149852,60.806005],[43.510864,60.767454],[43.536082,60.853108],[43.715399,60.884501],[43.775964,61.020772],[44.158473,61.082422],[44.205809,60.971808],[44.455302,60.946978],[45.229105,60.90388],[45.332355,61.18934],[45.722719,61.179418],[45.791758,61.154459],[45.766644,61.054594],[45.878161,61.016276],[46.285061,60.967752],[46.527114,61.051313],[46.736507,60.986097],[46.75325,60.907084],[47.042948,60.853805],[47.083772,60.818588],[46.959129,60.660225],[47.048839,60.575166],[46.862494,60.507315],[46.807097,60.318334],[46.749529,60.261128],[46.440814,60.271412],[46.34914,60.214361],[46.404124,60.106822],[46.608453,60.067316],[47.036437,60.099536],[46.922645,59.843893],[46.934944,59.78909],[47.112608,59.752684],[47.113538,59.611297]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"RUS-2356","diss_me":2356,"iso_3166_2":"RU-KOS","wikipedia":null,"iso_a2":"RU","adm0_sr":1,"name":"Kostroma","name_alt":"Kostromskaya","name_local":"Костромская область","type":"Oblast","type_en":"Region","code_local":null,"code_hasc":"RU.KT","note":null,"hasc_maybe":null,"region":"Central","region_cod":null,"provnum_ne":20090,"gadm_level":1,"check_me":20,"datarank":2,"abbrev":null,"postal":"KT","area_sqkm":0,"sameascity":6,"labelrank":6,"name_len":8,"mapcolor9":7,"mapcolor13":7,"fips":"RS37","fips_alt":null,"woe_id":2346903,"woe_label":"Kostromskaya Oblast, RU, Russia","woe_name":"Kostroma","latitude":58.3882,"longitude":43.4689,"sov_a3":"RUS","adm0_a3":"RUS","adm0_label":2,"admin":"Russia","geonunit":"Russia","gu_a3":"RUS","gn_id":543871,"gn_name":"Kostromskaya Oblast'","gns_id":-2934427,"gns_name":"Kostromskaya Oblast'","gn_level":1,"gn_region":null,"gn_a1_code":"RU.37","region_sub":"Central","sub_code":null,"gns_level":1,"gns_lang":"rus","gns_adm1":"RS37","gns_region":null,"min_label":5,"max_label":10.2,"min_zoom":4.7,"wikidataid":"Q2596","name_ar":"كوستروما أوبلاست","name_bn":"কস্ট্রোমা ওব্লাস্ট","name_de":"Kostroma","name_en":"Kostroma","name_es":"Kostromá","name_fr":"Kostroma","name_el":"Όμπλαστ της Κοστρομά","name_hi":"कोस्ट्रोमा ओब्लास्ट","name_hu":"Kosztromai terület","name_id":"Kostroma","name_it":"Kostroma","name_ja":"コストロマ州","name_ko":"코스트로마","name_nl":"Kostroma","name_pl":"kostromski","name_pt":"Kostroma","name_ru":"Костромская область","name_sv":"Kostroma","name_tr":"Kostroma Oblastı","name_vi":"Kostroma","name_zh":"科斯特罗马州","ne_id":1159313125,"name_he":"מחוז קוסטרומה","name_uk":"Костромська область","name_ur":"کوستروما اوبلاست","name_fa":"استان کوستروما","name_zht":"科斯特罗马州","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[40.385163,57.276349,47.60219,59.632536],"geometry":{"type":"Polygon","coordinates":[[[47.113538,59.611297],[47.056281,59.378546],[47.252444,59.355499],[47.239215,59.22021],[47.570874,59.059858],[47.60219,58.906689],[47.452432,58.921055],[47.2819,58.892995],[47.312906,58.806928],[47.259576,58.756311],[47.119946,58.775017],[46.947243,58.606552],[46.687311,58.566916],[46.554089,58.487696],[46.540963,58.397263],[46.423658,58.34693],[46.406915,58.20867],[46.341285,58.074647],[45.817183,58.047103],[45.706079,57.973568],[45.556527,57.938531],[45.462063,58.035321],[45.294424,58.040618],[45.155001,58.079789],[44.862616,58.075422],[44.792749,57.955042],[44.86458,57.879827],[44.727741,57.703584],[44.612295,57.706685],[44.483208,57.645732],[44.303167,57.516955],[43.995382,57.439518],[43.845727,57.430862],[43.727388,57.465795],[43.542387,57.566926],[43.312323,57.517058],[43.26354,57.42435],[42.973119,57.387505],[42.853333,57.394326],[42.850956,57.667126],[42.726209,57.70175],[42.649728,57.635242],[42.403955,57.632607],[42.336362,57.578656],[42.18619,57.559846],[42.02589,57.588992],[41.88595,57.685575],[41.630048,57.74986],[41.56721,57.704204],[41.604417,57.524189],[41.544059,57.458612],[41.434401,57.472048],[41.269864,57.426288],[41.169715,57.435203],[41.072873,57.347508],[40.570682,57.316424],[40.445211,57.276349],[40.448002,57.441042],[40.385163,57.497576],[40.499058,57.58031],[40.663389,57.581033],[40.622565,57.654931],[40.626389,57.940391],[40.744004,58.051547],[40.884668,58.125548],[40.888802,58.198153],[41.163927,58.360882],[41.064502,58.410544],[41.034219,58.522061],[40.926009,58.579112],[41.217567,58.740084],[41.145944,58.785043],[41.245369,58.902322],[41.521941,59.036914],[41.686996,59.079883],[42.011937,59.118304],[42.089865,59.229718],[41.959021,59.277674],[42.058136,59.426993],[42.187637,59.390768],[42.197042,59.303486],[42.631538,59.308215],[42.671432,59.228426],[42.799589,59.170394],[43.025726,59.207808],[43.150576,59.261448],[43.294133,59.218143],[43.370924,59.280413],[43.498048,59.294314],[43.581661,59.188481],[43.741754,59.259536],[43.960242,59.205482],[44.103489,59.22977],[44.207049,59.171737],[44.391224,59.152514],[44.991084,59.121611],[45.091129,59.184191],[45.366151,59.198454],[45.918262,59.184424],[46.003632,59.282118],[46.182329,59.345163],[46.356272,59.346972],[46.406398,59.632536],[46.756971,59.606905],[46.875,59.632484],[47.113538,59.611297]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"RUS-2357","diss_me":2357,"iso_3166_2":"RU-NIZ","wikipedia":null,"iso_a2":"RU","adm0_sr":1,"name":"Nizhegorod","name_alt":"Gor'kiy|Gor'kovskaya|Gorky|Nizhegorodskaya|Nizhniy-Novgorod","name_local":"Нижегородская область","type":"Oblast","type_en":"Region","code_local":null,"code_hasc":"RU.NZ","note":null,"hasc_maybe":null,"region":"Volga","region_cod":null,"provnum_ne":20081,"gadm_level":1,"check_me":20,"datarank":2,"abbrev":null,"postal":"NZ","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":10,"mapcolor9":7,"mapcolor13":7,"fips":"RS51","fips_alt":null,"woe_id":2346895,"woe_label":"Nizhegorodskaya Oblast, RU, Russia","woe_name":"Nizhegorod","latitude":56.1384,"longitude":44.7751,"sov_a3":"RUS","adm0_a3":"RUS","adm0_label":2,"admin":"Russia","geonunit":"Russia","gu_a3":"RUS","gn_id":559838,"gn_name":"Nizhegorodskaya Oblast'","gns_id":-2910855,"gns_name":"Nizhegorodskaya Oblast'","gn_level":1,"gn_region":null,"gn_a1_code":"RU.51","region_sub":"Volga-Vyatka","sub_code":null,"gns_level":1,"gns_lang":"rus","gns_adm1":"RS51","gns_region":null,"min_label":5,"max_label":10.2,"min_zoom":4.7,"wikidataid":"Q2246","name_ar":"نيجني نوفغورود أوبلاست","name_bn":"নিঝনি ওব্লাস্ট","name_de":"Nischni Nowgorod","name_en":"Nizhny Novgorod","name_es":"Nizhni Nóvgorod","name_fr":"Nijni Novgorod","name_el":"Όμπλαστ του Νίζνι Νόβγκοροντ","name_hi":"निज़्नी नॉवग्रोद ओब्लास्ट","name_hu":"Nyizsnyij Novgorod-i terület","name_id":"Nizhny Novgorod","name_it":"Nižnij Novgorod","name_ja":"ニジニ・ノヴゴロド州","name_ko":"니즈니노브고로드","name_nl":"Nizjni Novgorod","name_pl":"niżnonowogrodzki","name_pt":"Níjni Novgorod","name_ru":"Нижегородская область","name_sv":"Nizjnij Novgorod","name_tr":"Nijniy Novgorod Oblastı","name_vi":"Nizhny Novgorod","name_zh":"下诺夫哥罗德州","ne_id":1159313127,"name_he":"מחוז ניז'ני נובגורוד","name_uk":"Нижньогородська область","name_ur":"نزہنی نووگورود اوبلاست","name_fa":"استان نیژنی نووگورود","name_zht":"下诺夫哥罗德州","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[41.783217,54.476236,47.762284,58.079789],"geometry":{"type":"Polygon","coordinates":[[[43.727388,57.465795],[43.845727,57.430862],[43.995382,57.439518],[44.303167,57.516955],[44.483208,57.645732],[44.612295,57.706685],[44.727741,57.703584],[44.86458,57.879827],[44.792749,57.955042],[44.862616,58.075422],[45.155001,58.079789],[45.294424,58.040618],[45.462063,58.035321],[45.556527,57.938531],[45.706079,57.973568],[45.817183,58.047103],[46.341285,58.074647],[46.429859,58.02049],[47.354247,58.025502],[47.451502,57.987365],[47.703063,57.958375],[47.762284,57.876003],[47.572115,57.810425],[47.521162,57.586098],[47.471036,57.52853],[47.248724,57.567339],[47.054213,57.498299],[46.750149,57.517265],[46.695166,57.320455],[46.789837,57.28131],[46.742191,57.204622],[46.762552,57.030214],[46.714906,56.966342],[46.601011,56.919963],[46.336014,56.95208],[46.312657,56.906966],[45.95857,56.872084],[45.858938,56.629128],[45.650992,56.59081],[45.662671,56.460921],[45.788658,56.424825],[45.948958,56.433222],[45.946064,56.324986],[45.87382,56.25884],[46.06771,56.18192],[46.092205,56.056372],[46.213955,56.049809],[46.09882,55.940772],[46.093755,55.807963],[45.920123,55.688048],[46.048487,55.616657],[46.139747,55.523795],[46.243824,55.523691],[46.384074,55.463075],[46.253539,55.385405],[46.228631,55.273267],[46.097889,55.204176],[46.055721,55.042119],[45.954126,54.996566],[45.815323,54.999744],[45.740392,55.077284],[45.710316,55.176762],[45.60469,55.163817],[45.439118,55.03323],[45.424442,54.881767],[45.266209,54.872827],[45.208641,54.757175],[45.124099,54.796242],[45.041106,54.714387],[45.091439,54.658886],[45.029428,54.568142],[45.113557,54.493883],[44.917186,54.476236],[44.739523,54.515691],[44.597413,54.579615],[44.539845,54.530393],[44.376444,54.589795],[44.10721,54.64576],[44.091397,54.73374],[43.939055,54.74193],[43.94908,54.806991],[43.689458,54.830555],[43.610496,54.901145],[43.36896,54.94967],[43.155227,54.902747],[43.097659,54.798774],[42.636395,54.786734],[42.466793,54.871302],[42.439715,55.012973],[42.166657,54.949049],[41.886364,55.059172],[41.783217,55.119117],[41.870241,55.157615],[41.858665,55.240918],[41.932976,55.329853],[42.117047,55.421734],[42.068368,55.481265],[42.055656,55.612937],[42.280965,55.769981],[42.380287,55.776802],[42.48643,55.851914],[42.564978,55.96909],[42.694066,56.002784],[42.686211,56.122104],[42.90594,56.151767],[42.754734,56.220135],[42.760832,56.306072],[42.587923,56.420226],[42.647971,56.480584],[42.881858,56.471592],[42.845375,56.552207],[42.902322,56.646233],[42.786567,56.669048],[42.829975,56.80227],[42.977563,56.841802],[43.338988,56.860664],[43.501252,56.906449],[43.669614,57.04272],[43.514275,57.117573],[43.538562,57.261776],[43.688838,57.279191],[43.727388,57.465795]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"RUS-2358","diss_me":2358,"iso_3166_2":"RU-TVE","wikipedia":null,"iso_a2":"RU","adm0_sr":1,"name":"Tver'","name_alt":"Kalinin|Kalininskaya|Tverskaya Oblast","name_local":"Тверская область","type":"Oblast","type_en":"Region","code_local":null,"code_hasc":"RU.TV","note":null,"hasc_maybe":null,"region":"Central","region_cod":null,"provnum_ne":20074,"gadm_level":1,"check_me":20,"datarank":2,"abbrev":null,"postal":"TV","area_sqkm":0,"sameascity":6,"labelrank":6,"name_len":5,"mapcolor9":7,"mapcolor13":7,"fips":"RS77","fips_alt":null,"woe_id":2346898,"woe_label":"Tverskaya Oblast, RU, Russia","woe_name":"Tver'","latitude":57.0297,"longitude":34.5445,"sov_a3":"RUS","adm0_a3":"RUS","adm0_label":2,"admin":"Russia","geonunit":"Russia","gu_a3":"RUS","gn_id":480041,"gn_name":"Tverskaya Oblast'","gns_id":-3023050,"gns_name":"Tverskaya Oblast'","gn_level":1,"gn_region":null,"gn_a1_code":"RU.77","region_sub":"Central","sub_code":null,"gns_level":1,"gns_lang":"fas","gns_adm1":"RS77","gns_region":null,"min_label":5,"max_label":10.2,"min_zoom":4.7,"wikidataid":"Q2292","name_ar":"تفير أوبلاست","name_bn":"টেভার ওব্লাস্ট","name_de":"Twer","name_en":"Tver","name_es":"Tver","name_fr":"Tver","name_el":"Όμπλαστ του Τβερ","name_hi":"त्वेर ओब्लास्ट","name_hu":"Tveri terület","name_id":"Tver","name_it":"Tver'","name_ja":"トヴェリ州","name_ko":"트베리","name_nl":"Tver","name_pl":"twerski","name_pt":"Tver","name_ru":"Тверская область","name_sv":"Tver","name_tr":"Tver Oblastı","name_vi":"Tver","name_zh":"特维尔州","ne_id":1159313129,"name_he":"מחוז טבר","name_uk":"Тверська область","name_ur":"توور اوبلاست","name_fa":"استان تور","name_zht":"特维尔州","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[30.816755,55.631798,38.306427,58.866045],"geometry":{"type":"Polygon","coordinates":[[[37.626262,58.490229],[37.644039,58.429354],[37.449115,58.407546],[37.34969,58.239004],[37.56208,58.165261],[37.673494,58.082967],[37.548747,58.052788],[37.484358,57.980751],[37.366536,57.977133],[37.390927,57.827995],[37.810023,57.608009],[37.794314,57.442592],[37.984173,57.359238],[38.148297,57.337276],[38.27046,57.371124],[38.306427,57.276349],[38.142923,57.196974],[38.24979,57.128761],[38.19925,56.894202],[38.154188,56.831906],[38.256508,56.77023],[38.014662,56.773589],[37.974354,56.853843],[37.656441,56.943501],[37.553398,56.905622],[37.498931,56.784751],[37.23104,56.772917],[37.15704,56.683155],[37.134922,56.560269],[37.055444,56.517558],[36.832925,56.583239],[36.537026,56.475416],[36.1725,56.408444],[36.096123,56.346794],[35.982538,56.387153],[35.78286,56.391959],[35.645091,56.474124],[35.457919,56.448286],[35.548042,56.37072],[35.483654,56.241632],[35.378647,56.173858],[35.317152,56.054047],[35.209769,56.018803],[35.174112,55.948265],[35.031485,55.984438],[34.630889,55.917879],[34.200734,56.07451],[33.916617,56.073115],[33.838069,55.949453],[33.659992,55.946249],[33.670018,55.865298],[33.505273,55.755202],[33.372155,55.702647],[33.225497,55.698358],[33.187876,55.652521],[32.939313,55.631798],[32.721755,55.689676],[32.09368,55.67407],[31.893588,55.770498],[31.754889,55.714352],[31.585597,55.746623],[31.467361,55.729002],[31.412791,55.889767],[31.344681,55.964026],[31.49754,56.028932],[31.474493,56.119055],[31.491546,56.301292],[31.231097,56.346173],[31.215387,56.435367],[31.016639,56.519083],[31.080098,56.622849],[30.91308,56.656361],[30.816755,56.720259],[30.890136,56.807747],[30.896337,56.896682],[31.000103,56.965205],[31.117512,56.931047],[31.306958,56.968823],[31.545599,56.939781],[31.678304,57.013264],[31.722126,57.105739],[31.966762,57.116798],[32.132747,57.183693],[32.272067,57.195217],[32.668115,57.346216],[32.807331,57.460007],[33.046076,57.437063],[33.216195,57.453909],[33.308696,57.565531],[33.324922,57.654621],[33.536796,57.719733],[33.580514,57.857709],[33.70123,57.926723],[33.686037,58.00261],[33.544961,58.047207],[33.7188,58.158001],[33.869489,58.144203],[34.14172,58.208049],[34.488469,58.146399],[34.650733,58.081468],[34.684426,58.197275],[34.785608,58.24182],[35.034792,58.199549],[35.269093,58.271327],[35.279222,58.358867],[35.39446,58.431472],[35.55166,58.448009],[35.934892,58.423308],[35.941403,58.455295],[36.173327,58.524955],[36.323602,58.49984],[36.520593,58.558493],[36.668594,58.685281],[36.815562,58.758223],[36.864241,58.842765],[37.12221,58.866045],[37.187529,58.770857],[37.626262,58.490229]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"RUS-2360","diss_me":2360,"iso_3166_2":"RU-YAR","wikipedia":null,"iso_a2":"RU","adm0_sr":1,"name":"Yaroslavl'","name_alt":"Yaroslavskaya Oblast","name_local":"Ярославская область","type":"Oblast","type_en":"Region","code_local":null,"code_hasc":"RU.YS","note":null,"hasc_maybe":null,"region":"Central","region_cod":null,"provnum_ne":20089,"gadm_level":1,"check_me":20,"datarank":2,"abbrev":null,"postal":"YS","area_sqkm":0,"sameascity":6,"labelrank":6,"name_len":10,"mapcolor9":7,"mapcolor13":7,"fips":"RS88","fips_alt":null,"woe_id":2346936,"woe_label":"Yaroslavskaya Oblast, RU, Russia","woe_name":"Yaroslavl'","latitude":57.7329,"longitude":39.2547,"sov_a3":"RUS","adm0_a3":"RUS","adm0_label":2,"admin":"Russia","geonunit":"Russia","gu_a3":"RUS","gn_id":468898,"gn_name":"Yaroslavskaya Oblast'","gns_id":-3039271,"gns_name":"Yaroslavskaya Oblast'","gn_level":1,"gn_region":null,"gn_a1_code":"RU.88","region_sub":"Central","sub_code":null,"gns_level":1,"gns_lang":"fas","gns_adm1":"RS88","gns_region":null,"min_label":5,"max_label":10.2,"min_zoom":4.7,"wikidataid":"Q2448","name_ar":"ياروسلافل أوبلاست","name_bn":"ইয়রোস্লাভ্ল ওব্লাস্ট","name_de":"Jaroslawl","name_en":"Yaroslavl","name_es":"Yaroslavl","name_fr":"d'Iaroslavl","name_el":"Όμπλαστ του Γιαροσλάβλ","name_hi":"यरोस्लावी ओब्लास्ट","name_hu":"Jaroszlavli terület","name_id":"Yaroslavl","name_it":"Jaroslavl'","name_ja":"ヤロスラヴリ州","name_ko":"야로슬라블","name_nl":"Jaroslavl","name_pl":"jarosławski","name_pt":"Iaroslavl","name_ru":"Ярославская область","name_sv":"Jaroslavl","name_tr":"Yaroslavl Oblastı","name_vi":"Yaroslavl","name_zh":"雅罗斯拉夫尔州","ne_id":1159313133,"name_he":"ירוסלבל","name_uk":"Ярославська область","name_ur":"یاروسلاول اوبلاست","name_fa":"استان یاروسلاول","name_zht":"雅羅斯拉夫爾州","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[37.34969,56.538306,41.163927,58.953766],"geometry":{"type":"Polygon","coordinates":[[[37.626262,58.490229],[37.716592,58.621693],[37.940868,58.64133],[38.047631,58.735743],[38.478199,58.706029],[38.55003,58.777239],[38.915899,58.744373],[38.999925,58.846331],[38.94029,58.944309],[39.118781,58.953766],[39.499533,58.888938],[39.619525,58.894545],[39.968961,58.759463],[40.160784,58.558597],[40.292766,58.544153],[40.565101,58.590533],[40.926009,58.579112],[41.034219,58.522061],[41.064502,58.410544],[41.163927,58.360882],[40.888802,58.198153],[40.884668,58.125548],[40.744004,58.051547],[40.626389,57.940391],[40.622565,57.654931],[40.663389,57.581033],[40.499058,57.58031],[40.385163,57.497576],[40.448002,57.441042],[40.445211,57.276349],[40.327079,57.293351],[40.192513,57.212813],[40.063942,57.219402],[39.841734,57.17682],[39.844008,57.128942],[39.520203,57.026855],[39.527334,56.9558],[39.386775,56.835446],[39.41716,56.772091],[39.309777,56.684447],[39.337372,56.609361],[39.271639,56.538306],[39.121054,56.593678],[39.000028,56.542751],[38.847376,56.597579],[38.629198,56.580991],[38.374123,56.696591],[38.256508,56.77023],[38.154188,56.831906],[38.19925,56.894202],[38.24979,57.128761],[38.142923,57.196974],[38.306427,57.276349],[38.27046,57.371124],[38.148297,57.337276],[37.984173,57.359238],[37.794314,57.442592],[37.810023,57.608009],[37.390927,57.827995],[37.366536,57.977133],[37.484358,57.980751],[37.548747,58.052788],[37.673494,58.082967],[37.56208,58.165261],[37.34969,58.239004],[37.449115,58.407546],[37.644039,58.429354],[37.626262,58.490229]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"RUS-2361","diss_me":2361,"iso_3166_2":"RU-KLU","wikipedia":null,"iso_a2":"RU","adm0_sr":1,"name":"Kaluga","name_alt":"Kaluzhskaya Oblast","name_local":"Калужская область","type":"Oblast","type_en":"Region","code_local":null,"code_hasc":"RU.KG","note":null,"hasc_maybe":null,"region":"Central","region_cod":null,"provnum_ne":20091,"gadm_level":1,"check_me":20,"datarank":2,"abbrev":null,"postal":"KG","area_sqkm":0,"sameascity":7,"labelrank":7,"name_len":6,"mapcolor9":7,"mapcolor13":7,"fips":"RS25","fips_alt":null,"woe_id":2346899,"woe_label":"Kaluzhskaya Oblast, RU, Russia","woe_name":"Kaluga","latitude":54.2421,"longitude":35.3416,"sov_a3":"RUS","adm0_a3":"RUS","adm0_label":2,"admin":"Russia","geonunit":"Russia","gu_a3":"RUS","gn_id":553899,"gn_name":"Kaluzhskaya Oblast'","gns_id":-2919307,"gns_name":"Kaluzhskaya Oblast'","gn_level":1,"gn_region":null,"gn_a1_code":"RU.25","region_sub":"Central","sub_code":null,"gns_level":1,"gns_lang":"rus","gns_adm1":"RS25","gns_region":null,"min_label":5,"max_label":10.2,"min_zoom":4.7,"wikidataid":"Q2842","name_ar":"كالوغا أوبلاست","name_bn":"কালুগা ওব্লাস্ট","name_de":"Kaluga","name_en":"Kaluga","name_es":"Kaluga","name_fr":"Kalouga","name_el":"Όμπλαστ της Καλούγκα","name_hi":"कलुगा ओब्लास्ट","name_hu":"Kalugai terület","name_id":"Kaluga","name_it":"Kaluga","name_ja":"カルーガ州","name_ko":"칼루가","name_nl":"Kaloega","name_pl":"kałuski","name_pt":"Kaluga","name_ru":"Калужская область","name_sv":"Kaluga","name_tr":"Kaluga Oblastı","name_vi":"Kaluga","name_zh":"卡卢加州","ne_id":1159313135,"name_he":"מחוז קלוגה","name_uk":"Калузька область","name_ur":"کالوگا اوبلاست","name_fa":"استان کالوگا","name_zht":"卡卢加州","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[33.501242,53.272149,37.259049,55.318691],"geometry":{"type":"Polygon","coordinates":[[[37.259049,54.835826],[37.207579,54.68767],[37.08862,54.548815],[36.80502,54.609949],[36.848428,54.472153],[36.965424,54.39575],[36.891423,54.283199],[36.714483,54.31715],[36.461475,54.288159],[36.353781,54.223254],[36.237199,54.229093],[36.200716,54.098249],[36.111316,53.961048],[35.988739,53.916348],[35.931482,53.786071],[36.009616,53.618278],[35.910604,53.644039],[35.765807,53.519111],[35.637133,53.543192],[35.422055,53.404337],[35.355703,53.284241],[35.205118,53.272149],[35.103522,53.310777],[35.017429,53.380773],[34.672644,53.390075],[34.582417,53.427592],[34.488159,53.544071],[34.489502,53.666466],[34.384599,53.71853],[34.199184,53.891595],[34.031132,53.861726],[33.859773,53.878701],[33.780192,53.981537],[33.682317,54.026393],[33.501242,54.015799],[33.562014,54.15623],[33.68366,54.321336],[33.616687,54.381022],[33.642732,54.48546],[33.728722,54.561683],[33.926849,54.572277],[34.10751,54.550314],[34.326102,54.429598],[34.415812,54.450837],[34.499631,54.631989],[34.817338,54.709374],[34.921001,54.771593],[34.86581,54.883834],[35.001926,54.886702],[35.144036,55.021655],[35.284493,55.11214],[35.369655,55.238799],[35.46536,55.220351],[35.578635,55.290476],[35.754955,55.286858],[35.856447,55.238489],[36.238026,55.193711],[36.422924,55.318691],[36.586325,55.308666],[36.904342,55.229136],[37.084176,55.095759],[37.120039,54.990824],[37.259049,54.835826]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"RUS-2362","diss_me":2362,"iso_3166_2":"RU-KRS","wikipedia":null,"iso_a2":"RU","adm0_sr":1,"name":"Kursk","name_alt":"Kurskaya Oblast","name_local":"Курская область","type":"Oblast","type_en":"Region","code_local":null,"code_hasc":"RU.KS","note":null,"hasc_maybe":null,"region":"Central","region_cod":null,"provnum_ne":20044,"gadm_level":1,"check_me":20,"datarank":2,"abbrev":null,"postal":"KS","area_sqkm":0,"sameascity":7,"labelrank":7,"name_len":5,"mapcolor9":7,"mapcolor13":7,"fips":"RS41","fips_alt":null,"woe_id":2346905,"woe_label":"Kurskaya Oblast, RU, Russia","woe_name":"Kursk","latitude":51.7358,"longitude":36.2921,"sov_a3":"RUS","adm0_a3":"RUS","adm0_label":2,"admin":"Russia","geonunit":"Russia","gu_a3":"RUS","gn_id":538555,"gn_name":"Kurskaya Oblast'","gns_id":-2941655,"gns_name":"Kurskaya Oblast'","gn_level":1,"gn_region":null,"gn_a1_code":"RU.41","region_sub":"Central Black Earth","sub_code":null,"gns_level":1,"gns_lang":"rus","gns_adm1":"RS41","gns_region":null,"min_label":5,"max_label":10.2,"min_zoom":4.7,"wikidataid":"Q3178","name_ar":"كورسك أوبلاست","name_bn":"কুরস্ক ওব্লাস্ট","name_de":"Kursk","name_en":"Kursk","name_es":"Kursk","name_fr":"Koursk","name_el":"Όμπλαστ του Κουρσκ","name_hi":"कुर्सक ओब्लास्ट","name_hu":"Kurszki terület","name_id":"Kursk","name_it":"Kursk","name_ja":"クルスク州","name_ko":"쿠르스크","name_nl":"Koersk","name_pl":"kurski","name_pt":"Kursk","name_ru":"Курская область","name_sv":"Kursk","name_tr":"Kursk Oblastı","name_vi":"Kursk","name_zh":"库尔斯克州","ne_id":1159313159,"name_he":"מחוז קורסק","name_uk":"Курська область","name_ur":"کورسک اوبلاست","name_fa":"استان کورسک","name_zht":"库尔斯克州","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[34.115417,50.90573,38.40978,52.41401],"geometry":{"type":"Polygon","coordinates":[[[35.313343,50.959216],[35.309091,50.986914],[35.334722,51.021124],[35.311933,51.043913],[35.269196,51.046755],[35.197986,51.043913],[35.158092,51.060992],[35.115356,51.120833],[35.092566,51.180649],[35.064093,51.203438],[34.990247,51.201733],[34.868549,51.189201],[34.76039,51.169332],[34.712279,51.172226],[34.616833,51.203128],[34.491053,51.23708],[34.234221,51.243798],[34.21386,51.255373],[34.228381,51.27687],[34.280678,51.311675],[34.274994,51.340174],[34.22988,51.363248],[34.206574,51.419937],[34.209261,51.484093],[34.20089,51.55383],[34.146784,51.607961],[34.115417,51.644962],[34.121153,51.679171],[34.239182,51.692246],[34.379328,51.716508],[34.402686,51.741493],[34.397828,51.780406],[34.40651,52.012691],[34.53074,52.070362],[34.672334,52.065479],[34.715122,52.216296],[34.804625,52.185135],[34.917177,52.32182],[34.896816,52.353239],[35.123676,52.334635],[35.241291,52.389619],[35.39632,52.41401],[35.57171,52.387397],[35.637029,52.33231],[35.892621,52.274484],[36.000935,52.313448],[36.145835,52.318719],[36.356985,52.365796],[36.552322,52.215314],[36.729366,52.176195],[36.820213,52.120281],[37.15828,52.07199],[37.353514,51.936158],[37.480741,52.009487],[37.65179,51.971143],[37.747081,52.016903],[37.820772,51.91218],[37.996989,51.878953],[38.101478,51.926986],[38.192119,51.91218],[38.298779,51.961015],[38.40978,51.92019],[38.40978,51.687801],[38.219507,51.7078],[38.207312,51.629045],[38.276351,51.526364],[38.323377,51.340846],[38.291544,51.292451],[38.027271,51.366167],[38.046495,51.419652],[37.828627,51.420479],[37.666673,51.365651],[37.538619,51.394279],[37.379145,51.385443],[37.249127,51.330976],[37.144224,51.342913],[37.053997,51.246898],[36.93018,51.181011],[36.855766,51.185765],[36.617538,51.079751],[36.313577,51.103341],[35.976337,51.157524],[35.999591,51.057659],[35.876911,51.012365],[35.816967,50.944694],[35.546389,50.90573],[35.512386,50.947123],[35.313343,50.959216]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"RUS-2363","diss_me":2363,"iso_3166_2":"RU-LIP","wikipedia":null,"iso_a2":"RU","adm0_sr":1,"name":"Lipetsk","name_alt":"Lipetskaya Oblast","name_local":"Липецкая область","type":"Oblast","type_en":"Region","code_local":null,"code_hasc":"RU.LP","note":null,"hasc_maybe":null,"region":"Central","region_cod":null,"provnum_ne":7,"gadm_level":1,"check_me":20,"datarank":2,"abbrev":null,"postal":"LP","area_sqkm":0,"sameascity":7,"labelrank":7,"name_len":7,"mapcolor9":7,"mapcolor13":7,"fips":"RS43","fips_alt":null,"woe_id":2346908,"woe_label":"Lipetskaya Oblast, RU, Russia","woe_name":"Lipetsk","latitude":52.7462,"longitude":39.2073,"sov_a3":"RUS","adm0_a3":"RUS","adm0_label":2,"admin":"Russia","geonunit":"Russia","gu_a3":"RUS","gn_id":535120,"gn_name":"Lipetskaya Oblast'","gns_id":-2946569,"gns_name":"Lipetskaya Oblast'","gn_level":1,"gn_region":null,"gn_a1_code":"RU.43","region_sub":"Central Black Earth","sub_code":null,"gns_level":1,"gns_lang":"rus","gns_adm1":"RS43","gns_region":null,"min_label":5,"max_label":10.2,"min_zoom":4.7,"wikidataid":"Q3510","name_ar":"ليبيتسك أوبلاست","name_bn":"লিপেটস্ক ওব্লাস্ট","name_de":"Lipezk","name_en":"Lipetsk","name_es":"Lípetsk","name_fr":"Lipetsk","name_el":"Όμπλαστ του Λίπετσκ","name_hi":"लिपेट्सक ओब्लास्ट","name_hu":"Lipecki terület","name_id":"Lipetsk","name_it":"Lipeck","name_ja":"リペツク州","name_ko":"리페츠크","name_nl":"Lipetsk","name_pl":"lipiecki","name_pt":"Lipetsk","name_ru":"Липецкая область","name_sv":"Lipetsk","name_tr":"Lipetsk Oblastı","name_vi":"Lipetsk","name_zh":"利佩茨克州","ne_id":1159313161,"name_he":"מחוז ליפצק","name_uk":"Липецька область","name_ur":"لیپٹسک اوبلاست","name_fa":"استان لیپتسک","name_zht":"利佩茨克州","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[37.727134,51.878953,40.696875,53.588254],"geometry":{"type":"Polygon","coordinates":[[[38.895435,53.565206],[39.041473,53.5496],[39.161775,53.394571],[39.415403,53.413588],[39.523614,53.462318],[39.511521,53.525364],[39.740241,53.588254],[39.906846,53.498544],[39.917905,53.416223],[40.160164,53.342171],[40.106627,53.275663],[40.141457,53.071903],[40.070454,52.925297],[40.079859,52.804167],[39.979193,52.768821],[39.953148,52.654357],[40.067456,52.560513],[40.202952,52.511627],[40.3308,52.402952],[40.47663,52.373754],[40.696875,52.269626],[40.615847,52.12917],[40.63197,52.066486],[40.50681,52.02189],[40.503812,51.953522],[40.294626,51.95639],[40.08761,51.985018],[39.913047,51.979825],[39.834086,51.920164],[39.496639,51.972694],[39.447133,52.082196],[39.182343,52.098164],[38.994447,52.000702],[38.879932,52.092531],[38.762006,52.052379],[38.697618,52.097751],[38.528842,52.02375],[38.298779,51.961015],[38.192119,51.91218],[38.101478,51.926986],[37.996989,51.878953],[37.820772,51.91218],[37.747081,52.016903],[37.77757,52.161493],[37.947999,52.245597],[38.038433,52.344506],[37.910792,52.47287],[37.782841,52.508423],[37.727134,52.596893],[37.81271,52.648415],[37.77664,52.71854],[37.870691,52.771766],[37.79049,52.84525],[37.838755,52.890519],[37.841029,53.008548],[37.912446,53.072626],[38.107679,53.059036],[38.306634,52.974079],[38.472929,53.041233],[38.594575,53.048545],[38.632712,53.123218],[38.595402,53.240316],[38.477269,53.310028],[38.761696,53.382039],[38.697204,53.500094],[38.895435,53.565206]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"RUS-2364","diss_me":2364,"iso_3166_2":"RU-MOW","wikipedia":null,"iso_a2":"RU","adm0_sr":1,"name":"Moskovskaya","name_alt":"Moskovskaya Oblast","name_local":"Московская область","type":"Oblast","type_en":"Region","code_local":null,"code_hasc":"RU.MS","note":null,"hasc_maybe":null,"region":"Central","region_cod":null,"provnum_ne":20009,"gadm_level":1,"check_me":20,"datarank":2,"abbrev":null,"postal":"MS","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":12,"mapcolor9":7,"mapcolor13":7,"fips":null,"fips_alt":null,"woe_id":2346911,"woe_label":"Moskovskaya Oblast, RU, Russia","woe_name":"Moskovsskaya","latitude":55.1508,"longitude":38.671,"sov_a3":"RUS","adm0_a3":"RUS","adm0_label":2,"admin":"Russia","geonunit":"Russia","gu_a3":"RUS","gn_id":524925,"gn_name":"Moskovskaya Oblast'","gns_id":-2960527,"gns_name":"Moskovskaya Oblast'","gn_level":1,"gn_region":null,"gn_a1_code":"RU.47","region_sub":"Central","sub_code":null,"gns_level":1,"gns_lang":"rus","gns_adm1":"RS47","gns_region":null,"min_label":5,"max_label":9,"min_zoom":4.7,"wikidataid":"Q1697","name_ar":"محافظة موسكو","name_bn":"মস্কো ওব্লাস্ট","name_de":"Moskau","name_en":"Moscow","name_es":"Moscú","name_fr":"Moscou","name_el":"Όμπλαστ της Μόσχας","name_hi":"मास्को ओब्लास्ट","name_hu":"Moszkvai terület","name_id":"Moskwa","name_it":"Mosca","name_ja":"モスクワ州","name_ko":"모스크바","name_nl":"Moskou","name_pl":"moskiewski","name_pt":"Moscovo","name_ru":"Московская область","name_sv":"Moskva","name_tr":"Moskova Oblastı","name_vi":"Moskva","name_zh":"莫斯科州","ne_id":1159313163,"name_he":"מחוז מוסקבה","name_uk":"Московська область","name_ur":"ماسکو اوبلاست","name_fa":"استان مسکو","name_zht":"莫斯科州","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[35.174112,54.244674,40.206466,56.943501],"geometry":{"type":"Polygon","coordinates":[[[36.904342,55.229136],[36.586325,55.308666],[36.422924,55.318691],[36.238026,55.193711],[35.856447,55.238489],[35.754955,55.286858],[35.578635,55.290476],[35.46536,55.220351],[35.369655,55.238799],[35.301236,55.299106],[35.303096,55.571208],[35.397147,55.617071],[35.316119,55.726935],[35.353532,55.779386],[35.174112,55.948265],[35.209769,56.018803],[35.317152,56.054047],[35.378647,56.173858],[35.483654,56.241632],[35.548042,56.37072],[35.457919,56.448286],[35.645091,56.474124],[35.78286,56.391959],[35.982538,56.387153],[36.096123,56.346794],[36.1725,56.408444],[36.537026,56.475416],[36.832925,56.583239],[37.055444,56.517558],[37.134922,56.560269],[37.15704,56.683155],[37.23104,56.772917],[37.498931,56.784751],[37.553398,56.905622],[37.656441,56.943501],[37.974354,56.853843],[38.014662,56.773589],[38.256508,56.77023],[38.374123,56.696591],[38.329578,56.562284],[38.412364,56.368963],[38.402752,56.26424],[38.562329,56.083244],[38.605634,55.958859],[38.72914,55.953484],[38.839418,55.900903],[39.015841,55.925217],[39.123121,55.829771],[39.309777,55.830649],[39.358146,55.761041],[39.55524,55.776079],[39.82313,55.83282],[39.900232,55.734479],[40.085026,55.612601],[40.036864,55.545654],[40.140527,55.517232],[40.137323,55.434188],[40.206466,55.309337],[40.001414,55.200404],[39.826954,55.182575],[39.888243,55.081341],[39.812795,54.99747],[39.684534,55.020725],[39.48837,54.940833],[39.39773,54.876082],[39.32838,54.748441],[39.215726,54.63217],[38.820401,54.601939],[38.797663,54.451199],[38.908768,54.397662],[38.736892,54.345055],[38.675087,54.244674],[38.521194,54.288831],[38.513753,54.364046],[38.39035,54.468614],[38.489982,54.579718],[38.46218,54.640334],[38.218784,54.659558],[38.03926,54.713663],[37.938594,54.832261],[37.749872,54.820323],[37.758347,54.73622],[37.56425,54.736504],[37.460794,54.822261],[37.259049,54.835826],[37.120039,54.990824],[37.216211,55.083781],[37.424753,55.184244],[37.46297,55.379018],[37.565594,55.358493],[37.659115,55.568916],[37.812679,55.649444],[37.84287,55.762534],[37.800507,55.837653],[37.611473,55.903665],[37.431106,55.877723],[37.348242,55.744017],[37.414078,55.659859],[37.210575,55.601618],[37.174878,55.447849],[36.914019,55.425882],[37.014456,55.301191],[36.904342,55.229136]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"RUS-2365","diss_me":2365,"iso_3166_2":"RU-MOS","wikipedia":null,"iso_a2":"RU","adm0_sr":1,"name":"Moskva","name_alt":"Mosca|Moscou|Moscow|Mosc£|Moskau|Moskova|Moskovskaya","name_local":"Московская область","type":"Gorod Federalnogo Znacheniya","type_en":"Federal City","code_local":null,"code_hasc":"RU.MS","note":null,"hasc_maybe":null,"region":"Central","region_cod":null,"provnum_ne":20010,"gadm_level":1,"check_me":20,"datarank":2,"abbrev":null,"postal":"MS","area_sqkm":0,"sameascity":9,"labelrank":9,"name_len":6,"mapcolor9":7,"mapcolor13":7,"fips":"RS47","fips_alt":"RS48","woe_id":2346910,"woe_label":"Moskva, RU, Russia","woe_name":"Moskva","latitude":55.7177,"longitude":37.6188,"sov_a3":"RUS","adm0_a3":"RUS","adm0_label":2,"admin":"Russia","geonunit":"Russia","gu_a3":"RUS","gn_id":524894,"gn_name":"Moskva","gns_id":-2960570,"gns_name":"Moskva, Gorod","gn_level":1,"gn_region":null,"gn_a1_code":"RU.48","region_sub":"Central","sub_code":null,"gns_level":1,"gns_lang":"rus","gns_adm1":"RS48","gns_region":null,"min_label":5,"max_label":9,"min_zoom":4.7,"wikidataid":"Q649","name_ar":"موسكو","name_bn":"মস্কো","name_de":"Moskau","name_en":"Moscow","name_es":"Moscú","name_fr":"Moscou","name_el":"Μόσχα","name_hi":"मास्को","name_hu":"Moszkva","name_id":"Moskwa","name_it":"Mosca","name_ja":"モスクワ","name_ko":"모스크바","name_nl":"Moskou","name_pl":"Moskwa","name_pt":"Moscovo","name_ru":"Москва","name_sv":"Moskva","name_tr":"Moskova","name_vi":"Moskva","name_zh":"莫斯科","ne_id":1159313165,"name_he":"מוסקבה","name_uk":"Москва","name_ur":"ماسکو","name_fa":"مسکو","name_zht":"莫斯科","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[36.904342,54.990824,37.84287,55.903665],"geometry":{"type":"Polygon","coordinates":[[[37.120039,54.990824],[37.084176,55.095759],[36.904342,55.229136],[37.014456,55.301191],[36.914019,55.425882],[37.174878,55.447849],[37.210575,55.601618],[37.414078,55.659859],[37.348242,55.744017],[37.431106,55.877723],[37.611473,55.903665],[37.800507,55.837653],[37.84287,55.762534],[37.812679,55.649444],[37.659115,55.568916],[37.565594,55.358493],[37.46297,55.379018],[37.424753,55.184244],[37.216211,55.083781],[37.120039,54.990824]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"RUS-2366","diss_me":2366,"iso_3166_2":"RU-ORL","wikipedia":null,"iso_a2":"RU","adm0_sr":1,"name":"Orel","name_alt":"Orlovskaya|Or'ol|Oryol|Orlovskaya Oblast","name_local":"Орловская область","type":"Oblast","type_en":"Region","code_local":null,"code_hasc":"RU.OL","note":null,"hasc_maybe":null,"region":"Central","region_cod":null,"provnum_ne":20093,"gadm_level":1,"check_me":20,"datarank":2,"abbrev":null,"postal":"OL","area_sqkm":0,"sameascity":7,"labelrank":7,"name_len":4,"mapcolor9":7,"mapcolor13":7,"fips":"RS56","fips_alt":null,"woe_id":2346917,"woe_label":"Orlovskaya Oblast, RU, Russia","woe_name":"Orel","latitude":52.8778,"longitude":36.4166,"sov_a3":"RUS","adm0_a3":"RUS","adm0_label":2,"admin":"Russia","geonunit":"Russia","gu_a3":"RUS","gn_id":514801,"gn_name":"Orlovskaya Oblast'","gns_id":-2975241,"gns_name":"Orlovskaya Oblast'","gn_level":1,"gn_region":null,"gn_a1_code":"RU.56","region_sub":"Central","sub_code":null,"gns_level":1,"gns_lang":"fas","gns_adm1":"RS56","gns_region":null,"min_label":5,"max_label":10.2,"min_zoom":4.7,"wikidataid":"Q3129","name_ar":"أوريول أوبلاست","name_bn":"ওরিওল ওব্লাস্ট","name_de":"Orjol","name_en":"Oryol","name_es":"Oriol","name_fr":"d'Orel","name_el":"Όμπλαστ του Οριόλ","name_hi":"ओर्योल ओब्लास्ट","name_hu":"Orjoli terület","name_id":"Oryol","name_it":"Orël","name_ja":"オリョール州","name_ko":"오룔","name_nl":"Orjol","name_pl":"orłowski","name_pt":"Oriol","name_ru":"Орловская область","name_sv":"Orjol","name_tr":"Oryol Oblastı","name_vi":"Oryol","name_zh":"奥廖尔州","ne_id":1159313167,"name_he":"מחוז אוריול","name_uk":"Орловська область","name_ur":"اوریول اوبلاست","name_fa":"استان اریول","name_zht":"奥廖尔州","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[34.804935,51.936158,38.038433,53.644039],"geometry":{"type":"Polygon","coordinates":[[[37.841029,53.008548],[37.838755,52.890519],[37.79049,52.84525],[37.870691,52.771766],[37.77664,52.71854],[37.81271,52.648415],[37.727134,52.596893],[37.782841,52.508423],[37.910792,52.47287],[38.038433,52.344506],[37.947999,52.245597],[37.77757,52.161493],[37.747081,52.016903],[37.65179,51.971143],[37.480741,52.009487],[37.353514,51.936158],[37.15828,52.07199],[36.820213,52.120281],[36.729366,52.176195],[36.552322,52.215314],[36.356985,52.365796],[36.145835,52.318719],[36.000935,52.313448],[35.892621,52.274484],[35.637029,52.33231],[35.57171,52.387397],[35.39632,52.41401],[35.241291,52.389619],[35.123676,52.334635],[34.896816,52.353239],[34.832944,52.424036],[34.989627,52.510542],[35.010608,52.614153],[35.091533,52.697972],[34.948079,52.783393],[34.869221,52.7836],[34.804935,52.868194],[34.966993,52.970255],[35.156542,52.96948],[35.313948,53.06565],[35.18207,53.101617],[35.122332,53.186263],[35.103522,53.310777],[35.205118,53.272149],[35.355703,53.284241],[35.422055,53.404337],[35.637133,53.543192],[35.765807,53.519111],[35.910604,53.644039],[36.009616,53.618278],[36.098293,53.555853],[36.220249,53.570296],[36.398016,53.428522],[36.535166,53.391367],[36.666837,53.415861],[36.807294,53.296618],[37.088207,53.280004],[37.196934,53.250703],[37.327159,53.303207],[37.568281,53.289047],[37.561253,53.168822],[37.787389,53.088853],[37.841029,53.008548]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"RUS-2367","diss_me":2367,"iso_3166_2":"RU-ROS","wikipedia":null,"iso_a2":"RU","adm0_sr":1,"name":"Rostov","name_alt":"Province of the Don Cossacks|Provinz des Donischen Heeres|Voyska Donskovo|Rostovskaya Oblast","name_local":"Ростовская область","type":"Oblast","type_en":"Region","code_local":null,"code_hasc":"RU.RO","note":null,"hasc_maybe":null,"region":"Volga","region_cod":null,"provnum_ne":20048,"gadm_level":1,"check_me":20,"datarank":2,"abbrev":null,"postal":"RO","area_sqkm":0,"sameascity":6,"labelrank":6,"name_len":6,"mapcolor9":7,"mapcolor13":7,"fips":"RS61","fips_alt":null,"woe_id":2346921,"woe_label":"Rostovskaya Oblast, RU, Russia","woe_name":"Rostov","latitude":47.9913,"longitude":41.2613,"sov_a3":"RUS","adm0_a3":"RUS","adm0_label":2,"admin":"Russia","geonunit":"Russia","gu_a3":"RUS","gn_id":501165,"gn_name":"Rostovskaya Oblast'","gns_id":-2993228,"gns_name":"Rostovskaya Oblast'","gn_level":1,"gn_region":null,"gn_a1_code":"RU.61","region_sub":"North Caucasus","sub_code":null,"gns_level":1,"gns_lang":"fas","gns_adm1":"RS61","gns_region":null,"min_label":5,"max_label":10.2,"min_zoom":4.7,"wikidataid":"Q3573","name_ar":"روستوف أوبلاست","name_bn":"রসতোভ ওব্লাস্ট","name_de":"Rostow","name_en":"Rostov","name_es":"Rostov","name_fr":"Rostov","name_el":"Όμπλαστ του Ροστόφ","name_hi":"रोस्तोव ओब्लास्ट","name_hu":"Rosztovi terület","name_id":"Rostov","name_it":"Rostov","name_ja":"ロストフ州","name_ko":"로스토프","name_nl":"Rostov","name_pl":"rostowski","name_pt":"Rostov","name_ru":"Ростовская область","name_sv":"Rostov","name_tr":"Rostov Oblastı","name_vi":"Rostov","name_zh":"罗斯托夫州","ne_id":1159313169,"name_he":"מחוז רוסטוב","name_uk":"Ростовська область","name_ur":"روستوف اوبلاست","name_fa":"استان روستوف","name_zht":"羅斯托夫州","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[38.201369,45.946808,44.333966,50.22634],"geometry":{"type":"Polygon","coordinates":[[[40.080634,49.576845],[40.169569,49.624051],[40.411001,49.596844],[40.612333,49.647513],[40.884771,49.690301],[41.029258,49.794222],[41.05644,49.91623],[41.1785,50.015707],[41.341487,50.075342],[41.288364,50.17947],[41.362054,50.22634],[41.492382,50.083558],[41.595012,50.045421],[41.616716,49.96217],[41.876132,49.900417],[42.115083,49.750349],[42.178439,49.66839],[42.071985,49.501785],[42.053485,49.402256],[42.092346,49.288671],[42.036639,49.267407],[42.09524,49.140567],[42.343803,49.152142],[42.410569,49.047291],[42.64425,48.976933],[42.739748,48.786325],[42.651071,48.704624],[42.701094,48.624423],[42.633708,48.551559],[42.441575,48.504843],[42.276521,48.49797],[42.16521,48.463967],[42.074052,48.391879],[42.146503,48.287182],[42.051005,48.229976],[42.096377,48.154064],[42.029817,48.028542],[42.282515,48.015726],[42.342873,48.044768],[42.491908,48.013607],[42.728483,47.854082],[42.785017,47.731144],[42.955342,47.51033],[43.054251,47.572755],[43.262507,47.450179],[43.482028,47.483743],[43.731522,47.476611],[43.799218,47.370649],[43.802319,47.282541],[43.939158,47.268898],[43.953317,47.364861],[44.109587,47.413695],[44.116822,47.533481],[44.228443,47.574642],[44.333966,47.475242],[44.327558,47.110768],[44.262446,46.900135],[43.930373,46.72273],[43.817098,46.588733],[43.927686,46.521037],[43.918384,46.415979],[43.785886,46.407452],[43.646049,46.215732],[43.55944,46.168862],[43.355628,46.17235],[43.080192,46.359755],[42.911831,46.435047],[42.787187,46.389417],[42.596811,46.410863],[42.409329,46.524938],[42.180919,46.577881],[42.034262,46.543258],[42.099581,46.407142],[42.2019,46.314486],[41.994987,46.301308],[41.914992,46.184649],[41.840061,46.152945],[41.72596,46.213562],[41.655783,46.105274],[41.712627,45.996004],[41.65847,45.976057],[41.420139,45.994764],[41.375387,45.946808],[41.162377,45.953552],[41.125893,46.067886],[40.999596,46.126642],[40.953501,46.197956],[40.756613,46.232527],[40.734599,46.276245],[40.339481,46.279889],[40.233648,46.358463],[40.284084,46.403473],[40.214424,46.524938],[40.058672,46.542379],[40.044719,46.616431],[40.131535,46.722265],[40.023428,46.764846],[39.816516,46.784586],[39.577461,46.777507],[39.443515,46.8089],[39.180379,46.688365],[39.09904,46.601342],[38.88448,46.634777],[38.849236,46.71255],[38.883033,46.807996],[38.690486,46.821483],[38.66561,46.879821],[38.801074,46.906152],[39.126758,47.023438],[39.270703,47.044141],[39.289062,47.070898],[39.293457,47.105762],[39.244531,47.199512],[39.195703,47.268848],[39.02373,47.272217],[38.92832,47.175684],[38.668164,47.143945],[38.552441,47.150342],[38.644336,47.212207],[38.736035,47.23584],[38.761914,47.261621],[38.577246,47.239111],[38.484766,47.175537],[38.214355,47.091455],[38.205813,47.135573],[38.201369,47.17526],[38.221213,47.212726],[38.265344,47.236962],[38.280744,47.259054],[38.280744,47.276649],[38.241056,47.287708],[38.207983,47.296519],[38.201369,47.320781],[38.212428,47.342795],[38.243278,47.373698],[38.256508,47.408941],[38.25873,47.479531],[38.28741,47.559165],[38.368852,47.609962],[38.510962,47.622416],[38.640567,47.665928],[38.718908,47.71409],[38.822313,47.837029],[38.900293,47.855115],[39.057802,47.848501],[39.158468,47.837416],[39.39096,47.833721],[39.658489,47.841215],[39.735952,47.844806],[39.778689,47.887542],[39.775795,47.964463],[39.813932,48.035285],[39.885039,48.168378],[39.961003,48.237934],[39.957902,48.268914],[39.918112,48.281911],[39.866332,48.288422],[39.847418,48.302788],[39.849899,48.331934],[39.889793,48.360459],[39.882558,48.419112],[39.857547,48.48425],[39.835636,48.542774],[39.765408,48.571868],[39.644743,48.591195],[39.670426,48.662431],[39.704585,48.739351],[39.755848,48.782061],[39.7929,48.807719],[39.904159,48.793766],[39.984464,48.807357],[40.003584,48.822085],[39.989167,48.851437],[39.863748,48.877999],[39.753367,48.914431],[39.705618,48.959596],[39.68655,49.007913],[39.759465,49.036594],[39.889741,49.06406],[39.976351,49.129818],[40.069989,49.200279],[40.108798,49.251542],[40.12828,49.307249],[40.126213,49.368873],[40.057845,49.431557],[40.057845,49.497082],[40.094897,49.542661],[40.080634,49.576845]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"RUS-2368","diss_me":2368,"iso_3166_2":"RU-TUL","wikipedia":null,"iso_a2":"RU","adm0_sr":1,"name":"Tula","name_alt":"Tul'skaya|Tulskaya Oblast","name_local":"Тульская область","type":"Oblast","type_en":"Region","code_local":null,"code_hasc":"RU.TL","note":null,"hasc_maybe":null,"region":"Central","region_cod":null,"provnum_ne":20079,"gadm_level":1,"check_me":20,"datarank":2,"abbrev":null,"postal":"TL","area_sqkm":0,"sameascity":7,"labelrank":7,"name_len":4,"mapcolor9":7,"mapcolor13":7,"fips":"RS76","fips_alt":null,"woe_id":2346929,"woe_label":"Tulrskaya Oblast, RU, Russia","woe_name":"Tula","latitude":54.0668,"longitude":37.4161,"sov_a3":"RUS","adm0_a3":"RUS","adm0_label":2,"admin":"Russia","geonunit":"Russia","gu_a3":"RUS","gn_id":480508,"gn_name":"Tul'skaya Oblast'","gns_id":-3022183,"gns_name":"Tul'skaya Oblast'","gn_level":1,"gn_region":null,"gn_a1_code":"RU.76","region_sub":"Central","sub_code":null,"gns_level":1,"gns_lang":"fas","gns_adm1":"RS76","gns_region":null,"min_label":5,"max_label":10.2,"min_zoom":4.7,"wikidataid":"Q2792","name_ar":"تولا أوبلاست","name_bn":"তুলা ওব্লাস্ট","name_de":"Tula","name_en":"Tula","name_es":"Tula","name_fr":"Toula","name_el":"Όμπλαστ της Τούλα","name_hi":"टूला ओब्लास्ट","name_hu":"Tulai terület","name_id":"Tula","name_it":"Tula","name_ja":"トゥーラ州","name_ko":"툴라","name_nl":"Toela","name_pl":"tulski","name_pt":"Tula","name_ru":"Тульская область","name_sv":"Tula","name_tr":"Tula Oblastı","name_vi":"Tula","name_zh":"图拉州","ne_id":1159313171,"name_he":"טולה","name_uk":"Тульська область","name_ur":"تولا اوبلاست","name_fa":"استان تولا","name_zht":"图拉州","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[35.931482,52.974079,38.909284,54.835826],"geometry":{"type":"Polygon","coordinates":[[[38.895435,53.565206],[38.697204,53.500094],[38.761696,53.382039],[38.477269,53.310028],[38.595402,53.240316],[38.632712,53.123218],[38.594575,53.048545],[38.472929,53.041233],[38.306634,52.974079],[38.107679,53.059036],[37.912446,53.072626],[37.841029,53.008548],[37.787389,53.088853],[37.561253,53.168822],[37.568281,53.289047],[37.327159,53.303207],[37.196934,53.250703],[37.088207,53.280004],[36.807294,53.296618],[36.666837,53.415861],[36.535166,53.391367],[36.398016,53.428522],[36.220249,53.570296],[36.098293,53.555853],[36.009616,53.618278],[35.931482,53.786071],[35.988739,53.916348],[36.111316,53.961048],[36.200716,54.098249],[36.237199,54.229093],[36.353781,54.223254],[36.461475,54.288159],[36.714483,54.31715],[36.891423,54.283199],[36.965424,54.39575],[36.848428,54.472153],[36.80502,54.609949],[37.08862,54.548815],[37.207579,54.68767],[37.259049,54.835826],[37.460794,54.822261],[37.56425,54.736504],[37.758347,54.73622],[37.749872,54.820323],[37.938594,54.832261],[38.03926,54.713663],[38.218784,54.659558],[38.46218,54.640334],[38.489982,54.579718],[38.39035,54.468614],[38.513753,54.364046],[38.521194,54.288831],[38.675087,54.244674],[38.671883,54.177417],[38.763867,54.13481],[38.69431,54.074917],[38.713741,54.001252],[38.840658,53.91888],[38.794563,53.872061],[38.836834,53.760001],[38.909284,53.753438],[38.895435,53.565206]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"RUS-2369","diss_me":2369,"iso_3166_2":"RU-VGG","wikipedia":null,"iso_a2":"RU","adm0_sr":1,"name":"Volgograd","name_alt":"Stalingrad|Volgogradskaya Oblast","name_local":"Волгоградская область","type":"Oblast","type_en":"Region","code_local":null,"code_hasc":"RU.VG","note":null,"hasc_maybe":null,"region":"Volga","region_cod":null,"provnum_ne":20036,"gadm_level":1,"check_me":20,"datarank":2,"abbrev":null,"postal":"VG","area_sqkm":0,"sameascity":6,"labelrank":6,"name_len":9,"mapcolor9":7,"mapcolor13":7,"fips":"RS84","fips_alt":null,"woe_id":2346933,"woe_label":"Volgogradskaya Oblast, RU, Russia","woe_name":"Volgograd","latitude":49.5014,"longitude":44.4488,"sov_a3":"RUS","adm0_a3":"RUS","adm0_label":2,"admin":"Russia","geonunit":"Russia","gu_a3":"RUS","gn_id":472755,"gn_name":"Volgogradskaya Oblast'","gns_id":-3034355,"gns_name":"Volgogradskaya Oblast'","gn_level":1,"gn_region":null,"gn_a1_code":"RU.84","region_sub":"Volga","sub_code":null,"gns_level":1,"gns_lang":"fas","gns_adm1":"RS84","gns_region":null,"min_label":5,"max_label":10.2,"min_zoom":4.7,"wikidataid":"Q3819","name_ar":"فولغوغراد أوبلاست","name_bn":"ভল্গোগ্রাড ওব্লাস্ট","name_de":"Wolgograd","name_en":"Volgograd","name_es":"Volgogrado","name_fr":"Volgograd","name_el":"Όμπλαστ του Βολγκογκράντ","name_hi":"वोल्गोग्राद ओब्लास्ट","name_hu":"Volgográdi terület","name_id":"Volgograd","name_it":"Volgograd","name_ja":"ヴォルゴグラード州","name_ko":"볼고그라드","name_nl":"Wolgograd","name_pl":"wołgogradzki","name_pt":"Volgogrado","name_ru":"Волгоградская область","name_sv":"Volgograd","name_tr":"Volgograd Oblastı","name_vi":"Volgograd","name_zh":"伏尔加格勒州","ne_id":1159313173,"name_he":"וולגוגרד","name_uk":"Волгоградська область","name_ur":"وولگوگراڈ اوبلاست","name_fa":"استان ولگوگراد","name_zht":"伏尔加格勒州","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[41.167544,47.450179,47.446631,51.239353],"geometry":{"type":"Polygon","coordinates":[[[47.446631,50.368456],[47.429178,50.35796],[47.376364,50.318118],[47.326445,50.273521],[47.294716,50.217504],[47.297713,50.140247],[47.295232,50.058495],[47.248362,50.000876],[47.129609,49.939045],[46.991943,49.85272],[46.889572,49.696967],[46.823116,49.50225],[46.802084,49.367065],[46.852985,49.303864],[46.953444,49.252601],[47.018143,49.199917],[47.031373,49.150282],[47.014268,49.098347],[46.962229,49.038351],[46.852985,48.969621],[46.702607,48.805548],[46.643564,48.659068],[46.297981,48.839991],[46.057478,48.868904],[45.948338,48.835934],[45.759512,48.665815],[45.60872,48.592848],[45.301142,48.558018],[45.374936,48.464071],[45.171744,48.438956],[45.04152,48.394566],[44.987363,48.268165],[45.149524,48.23827],[45.300625,48.097685],[45.136915,48.111844],[44.962558,48.208686],[44.933206,48.13546],[44.765981,48.058824],[44.662318,48.089261],[44.546666,48.063061],[44.540155,48.196903],[44.305854,48.255065],[44.314122,48.094119],[44.447654,48.049677],[44.466878,47.990249],[44.389053,47.868267],[44.082509,47.909014],[44.032279,47.8161],[43.951457,47.756052],[43.822059,47.749747],[43.705167,47.683136],[43.633647,47.570378],[43.731522,47.476611],[43.482028,47.483743],[43.262507,47.450179],[43.054251,47.572755],[42.955342,47.51033],[42.785017,47.731144],[42.728483,47.854082],[42.491908,48.013607],[42.342873,48.044768],[42.282515,48.015726],[42.029817,48.028542],[42.096377,48.154064],[42.051005,48.229976],[42.146503,48.287182],[42.074052,48.391879],[42.16521,48.463967],[42.276521,48.49797],[42.441575,48.504843],[42.633708,48.551559],[42.701094,48.624423],[42.651071,48.704624],[42.739748,48.786325],[42.64425,48.976933],[42.410569,49.047291],[42.343803,49.152142],[42.09524,49.140567],[42.036639,49.267407],[42.092346,49.288671],[42.053485,49.402256],[42.071985,49.501785],[42.178439,49.66839],[42.115083,49.750349],[41.876132,49.900417],[41.616716,49.96217],[41.595012,50.045421],[41.492382,50.083558],[41.362054,50.22634],[41.508609,50.392118],[41.423549,50.48157],[41.525765,50.598669],[41.400088,50.625024],[41.314409,50.724604],[41.167544,50.780518],[41.369806,50.830774],[41.444323,50.917357],[41.737019,51.025723],[41.854944,51.188555],[41.977004,51.203283],[42.067334,51.160004],[42.254817,51.132486],[42.57304,51.168505],[42.71546,51.239353],[42.872867,51.231343],[43.141584,51.121996],[43.32979,51.017661],[43.642225,51.066082],[43.682326,51.112953],[43.864434,51.11303],[44.004477,51.08727],[44.181831,51.11657],[44.210253,51.193516],[44.659631,51.172639],[45.04245,51.126259],[45.20182,51.039624],[45.215049,50.942059],[45.308067,50.876843],[45.292564,50.781087],[45.191278,50.697371],[45.241094,50.586267],[45.495136,50.61257],[45.667631,50.593605],[45.678173,50.729462],[45.810672,50.773594],[45.88953,50.758556],[46.068434,50.652309],[46.065333,50.543685],[46.254779,50.52888],[46.29457,50.567353],[46.460761,50.546941],[46.483189,50.616756],[46.583441,50.70073],[46.707568,50.690886],[46.830455,50.632517],[46.877687,50.523945],[47.007705,50.480175],[47.184025,50.511904],[47.277352,50.371732],[47.446631,50.368456]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"RUS-2370","diss_me":2370,"iso_3166_2":"RU-BEL","wikipedia":null,"iso_a2":"RU","adm0_sr":1,"name":"Belgorod","name_alt":"Belgorodskaya Oblast","name_local":"Белгородская область","type":"Oblast","type_en":"Region","code_local":null,"code_hasc":"RU.BL","note":null,"hasc_maybe":null,"region":"Central","region_cod":null,"provnum_ne":20049,"gadm_level":1,"check_me":20,"datarank":2,"abbrev":null,"postal":"BL","area_sqkm":0,"sameascity":7,"labelrank":7,"name_len":8,"mapcolor9":7,"mapcolor13":7,"fips":"RS09","fips_alt":null,"woe_id":2346891,"woe_label":"Belgorodskaya Oblast, RU, Russia","woe_name":"Belgorod","latitude":50.8757,"longitude":37.277,"sov_a3":"RUS","adm0_a3":"RUS","adm0_label":2,"admin":"Russia","geonunit":"Russia","gu_a3":"RUS","gn_id":578071,"gn_name":"Belgorodskaya Oblast'","gns_id":-2883931,"gns_name":"Belgorodskaya Oblast'","gn_level":1,"gn_region":null,"gn_a1_code":"RU.09","region_sub":"Central Black Earth","sub_code":null,"gns_level":1,"gns_lang":"rus","gns_adm1":"RS09","gns_region":null,"min_label":5,"max_label":10.2,"min_zoom":4.7,"wikidataid":"Q3329","name_ar":"أوبلاست بيلغورود","name_bn":"বেল্গ্রোদ ওব্লাস্ট","name_de":"Belgorod","name_en":"Belgorod","name_es":"Bélgorod","name_fr":"Belgorod","name_el":"Όμπλαστ του Μπέλγκοροντ","name_hi":"बेल्गोरोद ओब्लास्त","name_hu":"Belgorodi terület","name_id":"Belgorod","name_it":"Belgorod","name_ja":"ベルゴロド州","name_ko":"벨고로드","name_nl":"Belgorod","name_pl":"biełgorodzki","name_pt":"Belgorod","name_ru":"Белгородская область","name_sv":"Belgorod","name_tr":"Belgorod Oblastı","name_vi":"Belgorod","name_zh":"别尔哥罗德州","ne_id":1159313177,"name_he":"מחוז בלגורוד","name_uk":"Бєлгородська область","name_ur":"بلگورود اوبلاست","name_fa":"استان بلگورود","name_zht":"别尔哥罗德州","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[35.313343,49.818406,39.233606,51.420479],"geometry":{"type":"Polygon","coordinates":[[[39.174561,49.855899],[39.114956,49.841764],[39.027675,49.818406],[38.918379,49.824685],[38.776683,49.884346],[38.64775,49.952869],[38.551993,49.954574],[38.451224,49.964082],[38.258575,50.052346],[38.208655,50.051467],[38.177598,50.025371],[38.162663,49.954522],[38.146799,49.939407],[38.112485,49.927831],[38.046908,49.920002],[37.950273,49.964212],[37.70419,50.109061],[37.605126,50.21492],[37.582337,50.291866],[37.501308,50.3407],[37.422812,50.411497],[37.343178,50.417646],[37.254915,50.39496],[37.171044,50.36088],[37.131202,50.351501],[36.988523,50.339563],[36.75908,50.29184],[36.696396,50.246262],[36.61945,50.209235],[36.55966,50.234867],[36.499819,50.280445],[36.368871,50.296827],[36.306084,50.280445],[36.243401,50.311761],[36.18945,50.36783],[36.11638,50.408525],[36.007756,50.419662],[35.890192,50.437128],[35.796193,50.405761],[35.67372,50.345971],[35.591089,50.36876],[35.54551,50.439971],[35.488511,50.459918],[35.411617,50.53968],[35.39167,50.610916],[35.411617,50.642232],[35.440142,50.682101],[35.440142,50.727679],[35.417353,50.767573],[35.383143,50.798915],[35.346143,50.904309],[35.314775,50.949888],[35.313343,50.959216],[35.512386,50.947123],[35.546389,50.90573],[35.816967,50.944694],[35.876911,51.012365],[35.999591,51.057659],[35.976337,51.157524],[36.313577,51.103341],[36.617538,51.079751],[36.855766,51.185765],[36.93018,51.181011],[37.053997,51.246898],[37.144224,51.342913],[37.249127,51.330976],[37.379145,51.385443],[37.538619,51.394279],[37.666673,51.365651],[37.828627,51.420479],[38.046495,51.419652],[38.027271,51.366167],[38.291544,51.292451],[38.445953,51.257388],[38.50104,51.188865],[38.395621,51.156826],[38.396861,51.076521],[38.516233,51.061845],[38.618449,50.998386],[38.737615,51.073679],[38.845826,51.036472],[38.873628,50.911311],[38.736685,50.901389],[38.724489,50.790078],[38.966232,50.646521],[39.072375,50.636109],[39.097697,50.506065],[38.990416,50.432736],[39.084777,50.34871],[39.09904,50.172752],[39.233606,50.05617],[39.174561,49.855899]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"RUS-2371","diss_me":2371,"iso_3166_2":"RU-KDA","wikipedia":null,"iso_a2":"RU","adm0_sr":1,"name":"Krasnodar","name_alt":"Cossacks of the Black Sea|Kuban|Kubanskaya|Yekaterinodar|Krasnodarskiy Kray","name_local":"Краснодарский край","type":"Kray","type_en":"Territory","code_local":null,"code_hasc":"RU.KD","note":null,"hasc_maybe":"RU.AD|RUS-KSN","region":"Volga","region_cod":null,"provnum_ne":20047,"gadm_level":1,"check_me":20,"datarank":2,"abbrev":null,"postal":"KD","area_sqkm":0,"sameascity":6,"labelrank":6,"name_len":9,"mapcolor9":7,"mapcolor13":7,"fips":"RS38","fips_alt":"RS01","woe_id":2346884,"woe_label":"Krasnodarskiy Kray, RU, Russia","woe_name":"Krasnodar","latitude":45.8397,"longitude":39.4688,"sov_a3":"RUS","adm0_a3":"RUS","adm0_label":2,"admin":"Russia","geonunit":"Russia","gu_a3":"RUS","gn_id":542415,"gn_name":"Krasnodarskiy Kray","gns_id":-2936269,"gns_name":"Krasnodarskiy Kray","gn_level":1,"gn_region":null,"gn_a1_code":"RU.38","region_sub":"North Caucasus","sub_code":null,"gns_level":1,"gns_lang":"rus","gns_adm1":"RS38","gns_region":null,"min_label":5,"max_label":10.2,"min_zoom":4.7,"wikidataid":"Q3680","name_ar":"كراسنودار كراي","name_bn":"কারস্নুদার কারি","name_de":"Krasnodar","name_en":"Krasnodar Krai","name_es":"Krai de Krasnodar","name_fr":"Krasnodar","name_el":"Κράι Κρασνοντάρ","name_hi":"क्रास्नोदार क्राय","name_hu":"Krasznodari határterület","name_id":"Krai Krasnodar","name_it":"Territorio di Krasnodar","name_ja":"クラスノダール地方","name_ko":"크라스노다르 지방","name_nl":"Kraj Krasnodar","name_pl":"Kraj Krasnodarski","name_pt":"Krai de Krasnodar","name_ru":"Краснодарский край","name_sv":"Krasnodar kraj","name_tr":"Krasnodar Krayı","name_vi":"Krasnodar","name_zh":"克拉斯诺达尔边疆区","ne_id":1159313179,"name_he":"מחוז קרסנודאר","name_uk":"Краснодарський край","name_ur":"کریسنوڈار کرائی","name_fa":"سرزمین کراسنودار","name_zht":"克拉斯诺达尔边疆区","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[36.619141,43.419831,41.729371,46.879821],"geometry":{"type":"Polygon","coordinates":[[[40.688726,43.519599],[40.64799,43.533906],[40.519005,43.512021],[40.342272,43.542743],[40.150139,43.569796],[40.084613,43.553104],[40.023738,43.48484],[39.978315,43.419831],[39.873633,43.472803],[39.516699,43.727881],[39.329395,43.897266],[38.717285,44.288086],[38.63584,44.318018],[38.311816,44.374463],[38.18125,44.419678],[37.851465,44.698828],[37.704883,44.661377],[37.572461,44.67085],[37.495117,44.695264],[37.411328,44.735352],[37.352344,44.788379],[37.284082,44.905029],[37.204785,44.971973],[36.944434,45.06958],[36.650781,45.126465],[36.627637,45.151318],[36.619141,45.185498],[36.873047,45.251758],[36.941211,45.289697],[36.811035,45.340039],[36.761621,45.34834],[36.72041,45.371875],[36.79375,45.409717],[36.865918,45.427051],[36.977832,45.383594],[37.103516,45.302881],[37.213574,45.272314],[37.264258,45.310937],[37.647168,45.377197],[37.672949,45.429736],[37.671875,45.488379],[37.634375,45.486328],[37.609961,45.499512],[37.612402,45.564697],[37.669238,45.654053],[37.840918,45.799561],[37.933105,46.001709],[38.014258,46.047754],[38.073828,46.01709],[38.069727,45.969873],[38.07959,45.934814],[38.132812,46.002832],[38.183594,46.094824],[38.311816,46.095361],[38.400391,46.080029],[38.492285,46.090527],[38.315234,46.241943],[38.077734,46.394336],[37.977539,46.382861],[37.913867,46.406494],[37.80957,46.53208],[37.766504,46.636133],[37.867383,46.633789],[37.967969,46.618018],[38.159473,46.690674],[38.22998,46.70127],[38.343457,46.67832],[38.500977,46.663672],[38.487988,46.732178],[38.438672,46.813086],[38.630762,46.873047],[38.66561,46.879821],[38.690486,46.821483],[38.883033,46.807996],[38.849236,46.71255],[38.88448,46.634777],[39.09904,46.601342],[39.180379,46.688365],[39.443515,46.8089],[39.577461,46.777507],[39.816516,46.784586],[40.023428,46.764846],[40.131535,46.722265],[40.044719,46.616431],[40.058672,46.542379],[40.214424,46.524938],[40.284084,46.403473],[40.233648,46.358463],[40.339481,46.279889],[40.734599,46.276245],[40.756613,46.232527],[40.953501,46.197956],[40.999596,46.126642],[41.125893,46.067886],[41.162377,45.953552],[41.260562,45.872032],[41.274411,45.754107],[41.172195,45.701629],[40.870302,45.695919],[40.840846,45.538823],[40.924769,45.42994],[41.008071,45.384827],[41.03825,45.21817],[41.260149,45.228144],[41.359574,45.212021],[41.347068,45.121897],[41.469335,44.98697],[41.641521,44.980976],[41.651029,44.89664],[41.538374,44.736339],[41.417452,44.707762],[41.56659,44.546015],[41.701879,44.501367],[41.729371,44.458553],[41.602247,44.367473],[41.704049,44.308355],[41.711491,44.24301],[41.632529,44.121907],[41.538478,44.08532],[41.449491,43.993904],[41.282473,44.011629],[41.255911,44.080617],[40.985437,44.11555],[40.95071,43.989382],[40.781728,43.926828],[40.723851,43.810479],[40.723437,43.631497],[40.688726,43.519599]],[[39.751507,45.126548],[39.641643,45.192952],[39.540047,45.15559],[39.324246,45.001233],[39.042299,44.965938],[38.920963,45.016529],[38.72821,45.012498],[38.760353,44.938601],[39.063797,44.81034],[39.552656,44.806516],[39.631617,44.857572],[39.489301,44.96661],[39.495088,45.030688],[39.639162,45.03397],[39.750267,44.934699],[39.883798,45.007434],[40.019811,44.723834],[39.914908,44.698616],[39.914804,44.582886],[39.87429,44.472531],[39.792641,44.357112],[39.907776,44.324633],[39.970925,44.256007],[40.078205,44.244173],[39.988495,44.07762],[39.904676,44.076741],[39.800289,44.189809],[39.71802,44.117798],[39.754297,44.060877],[39.729699,43.917991],[39.930514,43.898096],[40.27902,43.751232],[40.336381,43.769241],[40.455236,43.981011],[40.383406,44.033385],[40.366456,44.198052],[40.43653,44.284403],[40.407797,44.342875],[40.406351,44.4993],[40.327079,44.563999],[40.393638,44.725255],[40.554248,44.719751],[40.624528,44.767035],[40.527583,44.915192],[40.415549,44.999941],[40.17422,45.109598],[39.96431,45.074768],[39.751507,45.126548]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"RUS-2372","diss_me":2372,"iso_3166_2":"RU-MO","wikipedia":null,"iso_a2":"RU","adm0_sr":1,"name":"Mordovia","name_alt":"Mordov|Mordvian Autonomous Republic|Mordvinia|Republic of Mordovia|Mordovian A.S.S.R.","name_local":"Республика Мордовия","type":"Respublika","type_en":"Republic","code_local":null,"code_hasc":"RU.MR","note":null,"hasc_maybe":null,"region":"Volga","region_cod":null,"provnum_ne":20092,"gadm_level":1,"check_me":20,"datarank":2,"abbrev":null,"postal":"MR","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":8,"mapcolor9":7,"mapcolor13":7,"fips":"RS46","fips_alt":null,"woe_id":2346876,"woe_label":"Mordoviya, RU, Russia","woe_name":"Mordovia","latitude":54.1154,"longitude":44.4631,"sov_a3":"RUS","adm0_a3":"RUS","adm0_label":2,"admin":"Russia","geonunit":"Russia","gu_a3":"RUS","gn_id":525369,"gn_name":"Respublika Mordoviya","gns_id":-2959959,"gns_name":"Mordoviya, Respublika","gn_level":1,"gn_region":null,"gn_a1_code":"RU.46","region_sub":"Volga-Vyatka","sub_code":null,"gns_level":1,"gns_lang":"rus","gns_adm1":"RS46","gns_region":null,"min_label":5,"max_label":10.2,"min_zoom":4.7,"wikidataid":"Q5340","name_ar":"موردوفيا","name_bn":"মরডোভিয়া প্রজাতন্ত্র","name_de":"Mordwinien","name_en":"Republic of Mordovia","name_es":"Mordovia","name_fr":"Mordovie","name_el":"Δημοκρατία της Μορδοβίας","name_hi":"मॉर्डोविया गणराज्य","name_hu":"Mordvinföld","name_id":"Mordovia","name_it":"Mordovia","name_ja":"モルドヴィア共和国","name_ko":"모르도바 공화국","name_nl":"Mordovië","name_pl":"Mordowia","name_pt":"Mordóvia","name_ru":"Мордовия","name_sv":"Mordvinien","name_tr":"Mordovya","name_vi":"Mordovia","name_zh":"莫尔多瓦共和国","ne_id":1159313181,"name_he":"מורדוביה","name_uk":"Мордовія","name_ur":"موردوویا","name_fa":"موردوویا","name_zht":"莫尔多瓦共和国","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[42.206344,53.66427,46.733716,55.176762],"geometry":{"type":"Polygon","coordinates":[[[42.466793,54.871302],[42.636395,54.786734],[43.097659,54.798774],[43.155227,54.902747],[43.36896,54.94967],[43.610496,54.901145],[43.689458,54.830555],[43.94908,54.806991],[43.939055,54.74193],[44.091397,54.73374],[44.10721,54.64576],[44.376444,54.589795],[44.539845,54.530393],[44.597413,54.579615],[44.739523,54.515691],[44.917186,54.476236],[45.113557,54.493883],[45.029428,54.568142],[45.091439,54.658886],[45.041106,54.714387],[45.124099,54.796242],[45.208641,54.757175],[45.266209,54.872827],[45.424442,54.881767],[45.439118,55.03323],[45.60469,55.163817],[45.710316,55.176762],[45.740392,55.077284],[45.815323,54.999744],[45.954126,54.996566],[46.055721,55.042119],[46.414666,54.895358],[46.441331,54.772161],[46.444122,54.687877],[46.515642,54.653357],[46.533315,54.552588],[46.481845,54.499309],[46.543134,54.406343],[46.733716,54.384484],[46.71904,54.329552],[46.48815,54.284361],[46.379423,54.230514],[46.018308,54.189406],[45.879091,54.031276],[45.791552,54.003887],[45.646237,53.930223],[45.339279,53.884877],[45.176189,53.978773],[44.88277,53.969058],[44.616533,53.891543],[44.614672,53.83134],[44.729498,53.699668],[44.533851,53.66427],[44.4275,53.723388],[44.313606,53.701219],[44.206222,53.760336],[44.099355,53.735635],[43.87694,53.809687],[43.932957,53.861777],[43.751779,53.963218],[43.527814,54.014636],[43.425081,53.98854],[43.309533,54.017013],[43.181582,54.001097],[43.106341,53.909216],[43.17042,53.839246],[42.939839,53.801083],[42.630918,53.807595],[42.512992,53.737237],[42.307733,53.847463],[42.437441,54.011794],[42.318585,54.09892],[42.534696,54.082746],[42.595984,54.176538],[42.462762,54.253872],[42.2728,54.171474],[42.206344,54.230514],[42.380804,54.263872],[42.527151,54.366604],[42.625233,54.373426],[42.556607,54.49223],[42.699337,54.582353],[42.523844,54.7225],[42.419251,54.736298],[42.390519,54.807043],[42.466793,54.871302]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"RUS-2373","diss_me":2373,"iso_3166_2":"RU-PNZ","wikipedia":null,"iso_a2":"RU","adm0_sr":1,"name":"Penza","name_alt":"Penzenskaya Oblast","name_local":"Пензенская область","type":"Oblast","type_en":"Region","code_local":null,"code_hasc":"RU.PZ","note":null,"hasc_maybe":null,"region":"Volga","region_cod":null,"provnum_ne":20096,"gadm_level":1,"check_me":20,"datarank":2,"abbrev":null,"postal":"PZ","area_sqkm":0,"sameascity":7,"labelrank":7,"name_len":5,"mapcolor9":7,"mapcolor13":7,"fips":"RS57","fips_alt":null,"woe_id":2346918,"woe_label":"Penzenskaya Oblast, RU, Russia","woe_name":"Penza","latitude":53.0562,"longitude":44.8159,"sov_a3":"RUS","adm0_a3":"RUS","adm0_label":2,"admin":"Russia","geonunit":"Russia","gu_a3":"RUS","gn_id":511555,"gn_name":"Penzenskaya Oblast'","gns_id":-2979697,"gns_name":"Penzenskaya Oblast'","gn_level":1,"gn_region":null,"gn_a1_code":"RU.57","region_sub":"Volga","sub_code":null,"gns_level":1,"gns_lang":"fas","gns_adm1":"RS57","gns_region":null,"min_label":5,"max_label":10.2,"min_zoom":4.7,"wikidataid":"Q5545","name_ar":"بانزا أوبلاست","name_bn":"পেঞ্জা ওব্লাস্ট","name_de":"Pensa","name_en":"Penza","name_es":"Penza","name_fr":"Penza","name_el":"Όμπλαστ της Πένζα","name_hi":"पेन्ज़ा ओब्लास्ट","name_hu":"Penzai terület","name_id":"Penza","name_it":"Penza","name_ja":"ペンザ州","name_ko":"펜자","name_nl":"Penza","name_pl":"penzeński","name_pt":"Penza","name_ru":"Пензенская область","name_sv":"Penza","name_tr":"Penza Oblastı","name_vi":"Penza","name_zh":"奔萨州","ne_id":1159313183,"name_he":"מחוז פנזה","name_uk":"Пензенська область","name_ur":"پینزا اوبلاست","name_fa":"استان پنزا","name_zht":"奔萨州","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[42.093896,52.316135,46.98321,54.017013],"geometry":{"type":"Polygon","coordinates":[[[45.791552,54.003887],[45.957226,54.005386],[46.211991,53.908699],[46.192561,53.850253],[46.468306,53.654296],[46.493628,53.510894],[46.794798,53.408497],[46.905902,53.335324],[46.954478,53.191095],[46.91262,53.079189],[46.935254,52.909768],[46.98321,52.771275],[46.852055,52.726033],[46.830661,52.616272],[46.713046,52.627899],[46.516158,52.695027],[46.288782,52.671876],[46.276276,52.618597],[46.146775,52.591364],[45.971489,52.485634],[45.980584,52.407163],[45.717034,52.470803],[45.644377,52.518552],[45.528002,52.48075],[45.43147,52.400497],[45.264349,52.392255],[45.139912,52.420522],[45.071906,52.376855],[44.909642,52.377527],[44.872538,52.434009],[44.500261,52.521213],[44.539122,52.432149],[44.421919,52.415819],[44.346679,52.316135],[44.043958,52.349518],[43.747025,52.433441],[43.532051,52.426309],[43.352734,52.392513],[43.19295,52.462328],[43.079572,52.402745],[43.011256,52.482223],[43.041642,52.560591],[43.236565,52.66123],[43.095179,52.821712],[42.905423,52.969687],[42.7475,53.022268],[42.354242,53.368216],[42.312177,53.440408],[42.093896,53.539833],[42.13441,53.812168],[42.307733,53.847463],[42.512992,53.737237],[42.630918,53.807595],[42.939839,53.801083],[43.17042,53.839246],[43.106341,53.909216],[43.181582,54.001097],[43.309533,54.017013],[43.425081,53.98854],[43.527814,54.014636],[43.751779,53.963218],[43.932957,53.861777],[43.87694,53.809687],[44.099355,53.735635],[44.206222,53.760336],[44.313606,53.701219],[44.4275,53.723388],[44.533851,53.66427],[44.729498,53.699668],[44.614672,53.83134],[44.616533,53.891543],[44.88277,53.969058],[45.176189,53.978773],[45.339279,53.884877],[45.646237,53.930223],[45.791552,54.003887]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"RUS-2374","diss_me":2374,"iso_3166_2":"RU-RYA","wikipedia":null,"iso_a2":"RU","adm0_sr":1,"name":"Ryazan'","name_alt":"Ryazanskaya Oblast|Ryazanskaya Oblast","name_local":"Рязанская область","type":"Oblast","type_en":"Region","code_local":null,"code_hasc":"RU.RZ","note":null,"hasc_maybe":null,"region":"Central","region_cod":null,"provnum_ne":20087,"gadm_level":1,"check_me":20,"datarank":2,"abbrev":null,"postal":"RZ","area_sqkm":0,"sameascity":6,"labelrank":6,"name_len":7,"mapcolor9":7,"mapcolor13":7,"fips":"RS62","fips_alt":null,"woe_id":2346922,"woe_label":"Ryazanskaya Oblast, RU, Russia","woe_name":"Ryazan'","latitude":54.3363,"longitude":40.6258,"sov_a3":"RUS","adm0_a3":"RUS","adm0_label":2,"admin":"Russia","geonunit":"Russia","gu_a3":"RUS","gn_id":500059,"gn_name":"Ryazanskaya Oblast'","gns_id":-2994575,"gns_name":"Ryazanskaya Oblast'","gn_level":1,"gn_region":null,"gn_a1_code":"RU.62","region_sub":"Central","sub_code":null,"gns_level":1,"gns_lang":"fas","gns_adm1":"RS62","gns_region":null,"min_label":5,"max_label":10.2,"min_zoom":4.7,"wikidataid":"Q2753","name_ar":"ريازان أوبلاست","name_bn":"রেয়াজান ওব্লাস্ট","name_de":"Rjasan","name_en":"Ryazan","name_es":"Riazán","name_fr":"Riazan","name_el":"Όμπλαστ του Ριαζάν","name_hi":"रियाज़ान ओब्लास्ट","name_hu":"Rjazanyi terület","name_id":"Ryazan","name_it":"Rjazan'","name_ja":"リャザン州","name_ko":"랴잔","name_nl":"Rjazan","name_pl":"riazański","name_pt":"Riazan","name_ru":"Рязанская область","name_sv":"Rjazan","name_tr":"Ryazan Oblastı","name_vi":"Ryazan","name_zh":"梁赞州","ne_id":1159313185,"name_he":"מחוז ריאזאן","name_uk":"Рязанська область","name_ur":"ریازان اوبلاست","name_fa":"استان ریازان","name_zht":"梁赞州","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[38.671883,53.342171,42.699337,55.339982],"geometry":{"type":"Polygon","coordinates":[[[40.160164,53.342171],[39.917905,53.416223],[39.906846,53.498544],[39.740241,53.588254],[39.511521,53.525364],[39.523614,53.462318],[39.415403,53.413588],[39.161775,53.394571],[39.041473,53.5496],[38.895435,53.565206],[38.909284,53.753438],[38.836834,53.760001],[38.794563,53.872061],[38.840658,53.91888],[38.713741,54.001252],[38.69431,54.074917],[38.763867,54.13481],[38.671883,54.177417],[38.675087,54.244674],[38.736892,54.345055],[38.908768,54.397662],[38.797663,54.451199],[38.820401,54.601939],[39.215726,54.63217],[39.32838,54.748441],[39.39773,54.876082],[39.48837,54.940833],[39.684534,55.020725],[39.812795,54.99747],[39.888243,55.081341],[39.826954,55.182575],[40.001414,55.200404],[40.206466,55.309337],[40.345372,55.339982],[40.516835,55.327657],[40.611506,55.20707],[40.729432,55.203918],[40.964559,55.2604],[41.046622,55.183247],[41.210332,55.221177],[41.41156,55.130976],[41.49662,55.156995],[41.658264,55.108936],[41.783217,55.119117],[41.886364,55.059172],[42.166657,54.949049],[42.439715,55.012973],[42.466793,54.871302],[42.390519,54.807043],[42.419251,54.736298],[42.523844,54.7225],[42.699337,54.582353],[42.556607,54.49223],[42.625233,54.373426],[42.527151,54.366604],[42.380804,54.263872],[42.206344,54.230514],[42.2728,54.171474],[42.462762,54.253872],[42.595984,54.176538],[42.534696,54.082746],[42.318585,54.09892],[42.437441,54.011794],[42.307733,53.847463],[42.13441,53.812168],[41.748284,53.823485],[41.400088,53.783177],[41.348722,53.741139],[41.353683,53.556292],[41.174366,53.433741],[41.0213,53.4895],[40.839502,53.487485],[40.738423,53.559987],[40.501952,53.461078],[40.317467,53.356201],[40.160164,53.342171]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"RUS-2375","diss_me":2375,"iso_3166_2":"RU-TAM","wikipedia":null,"iso_a2":"RU","adm0_sr":1,"name":"Tambov","name_alt":"Tambovskaya Oblast","name_local":"Тамбовская область","type":"Oblast","type_en":"Region","code_local":null,"code_hasc":"RU.TB","note":null,"hasc_maybe":null,"region":"Central","region_cod":null,"provnum_ne":7,"gadm_level":1,"check_me":20,"datarank":2,"abbrev":null,"postal":"TB","area_sqkm":0,"sameascity":7,"labelrank":7,"name_len":6,"mapcolor9":7,"mapcolor13":7,"fips":"RS72","fips_alt":null,"woe_id":2346927,"woe_label":"Tambovskaya Oblast, RU, Russia","woe_name":"Tambov","latitude":52.7808,"longitude":41.5945,"sov_a3":"RUS","adm0_a3":"RUS","adm0_label":2,"admin":"Russia","geonunit":"Russia","gu_a3":"RUS","gn_id":484638,"gn_name":"Tambovskaya Oblast'","gns_id":-3015840,"gns_name":"Tambovskaya Oblast'","gn_level":1,"gn_region":null,"gn_a1_code":"RU.72","region_sub":"Central Black Earth","sub_code":null,"gns_level":1,"gns_lang":"fas","gns_adm1":"RS72","gns_region":null,"min_label":5,"max_label":10.2,"min_zoom":4.7,"wikidataid":"Q3550","name_ar":"تامبوف أوبلاست","name_bn":"তাম্বোভ ওব্লাস্ট","name_de":"Tambow","name_en":"Tambov","name_es":"Tambov","name_fr":"Tambov","name_el":"Όμπλαστ του Ταμπόφ","name_hi":"तांबोव ओब्लास्ट","name_hu":"Tambovi terület","name_id":"Tambov","name_it":"Tambov","name_ja":"タンボフ州","name_ko":"탐보프","name_nl":"Tambov","name_pl":"tambowski","name_pt":"Tambov","name_ru":"Тамбовская область","name_sv":"Tambov","name_tr":"Tambov Oblastı","name_vi":"Tambov","name_zh":"坦波夫州","ne_id":1159313187,"name_he":"מחוז טמבוב","name_uk":"Тамбовська область","name_ur":"تیمبوف اوبلاست","name_fa":"استان تامبوف","name_zht":"坦波夫州","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[39.953148,51.600417,43.236565,53.823485],"geometry":{"type":"Polygon","coordinates":[[[42.13441,53.812168],[42.093896,53.539833],[42.312177,53.440408],[42.354242,53.368216],[42.7475,53.022268],[42.905423,52.969687],[43.095179,52.821712],[43.236565,52.66123],[43.041642,52.560591],[43.011256,52.482223],[43.079572,52.402745],[42.996477,52.364659],[42.75153,52.173767],[42.751324,52.077752],[42.805997,52.012226],[42.694066,51.966079],[42.64332,51.804022],[42.490358,51.692788],[42.489221,51.607703],[42.403438,51.632869],[42.27373,51.600417],[42.247685,51.694494],[41.952199,51.656382],[41.556461,51.766711],[41.311308,51.793816],[41.268313,51.734956],[41.066052,51.710177],[40.891902,51.742604],[40.937688,51.890244],[40.734599,51.940396],[40.503812,51.953522],[40.50681,52.02189],[40.63197,52.066486],[40.615847,52.12917],[40.696875,52.269626],[40.47663,52.373754],[40.3308,52.402952],[40.202952,52.511627],[40.067456,52.560513],[39.953148,52.654357],[39.979193,52.768821],[40.079859,52.804167],[40.070454,52.925297],[40.141457,53.071903],[40.106627,53.275663],[40.160164,53.342171],[40.317467,53.356201],[40.501952,53.461078],[40.738423,53.559987],[40.839502,53.487485],[41.0213,53.4895],[41.174366,53.433741],[41.353683,53.556292],[41.348722,53.741139],[41.400088,53.783177],[41.748284,53.823485],[42.13441,53.812168]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"RUS-2376","diss_me":2376,"iso_3166_2":"RU-VLA","wikipedia":null,"iso_a2":"RU","adm0_sr":1,"name":"Vladimir","name_alt":"Vladimirskaya","name_local":"Владимирская область","type":"Oblast","type_en":"Region","code_local":null,"code_hasc":"RU.VL","note":null,"hasc_maybe":null,"region":"Central","region_cod":null,"provnum_ne":20088,"gadm_level":1,"check_me":20,"datarank":2,"abbrev":null,"postal":"VL","area_sqkm":0,"sameascity":7,"labelrank":7,"name_len":8,"mapcolor9":7,"mapcolor13":7,"fips":"RS83","fips_alt":null,"woe_id":2346932,"woe_label":"Vladimirskaya Oblast, RU, Russia","woe_name":"Vladimir","latitude":55.8966,"longitude":40.6207,"sov_a3":"RUS","adm0_a3":"RUS","adm0_label":2,"admin":"Russia","geonunit":"Russia","gu_a3":"RUS","gn_id":826294,"gn_name":"Vladimirskaya Oblast'","gns_id":222545,"gns_name":"Vladimirskaya Oblast'","gn_level":1,"gn_region":null,"gn_a1_code":"RU.83","region_sub":"Central","sub_code":null,"gns_level":1,"gns_lang":"khm","gns_adm1":"RS83","gns_region":null,"min_label":5,"max_label":10.2,"min_zoom":4.7,"wikidataid":"Q2702","name_ar":"فلاديمير أوبلاست","name_bn":"ভ্লাদিমির ওব্লাস্ট","name_de":"Wladimir","name_en":"Vladimir","name_es":"Vladímir","name_fr":"Vladimir","name_el":"Όμπλαστ του Βλαντίμιρ","name_hi":"व्लादिमीर ओब्लास्ट","name_hu":"Vlagyimiri terület","name_id":"Vladimir","name_it":"Vladimir","name_ja":"ヴラジーミル州","name_ko":"블라디미르","name_nl":"Vladimir","name_pl":"włodzimierski","name_pt":"Vladimir","name_ru":"Владимирская область","name_sv":"Vladimir","name_tr":"Vladimir Oblastı","name_vi":"Vladimir","name_zh":"弗拉基米尔州","ne_id":1159313189,"name_he":"ולדימיר","name_uk":"Владимирська область","name_ur":"ولادیمیر اوبلاست","name_fa":"استان ولادیمیر","name_zht":"弗拉基米尔州","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[38.329578,55.108936,42.90594,56.821777],"geometry":{"type":"Polygon","coordinates":[[[40.206466,55.309337],[40.137323,55.434188],[40.140527,55.517232],[40.036864,55.545654],[40.085026,55.612601],[39.900232,55.734479],[39.82313,55.83282],[39.55524,55.776079],[39.358146,55.761041],[39.309777,55.830649],[39.123121,55.829771],[39.015841,55.925217],[38.839418,55.900903],[38.72914,55.953484],[38.605634,55.958859],[38.562329,56.083244],[38.402752,56.26424],[38.412364,56.368963],[38.329578,56.562284],[38.374123,56.696591],[38.629198,56.580991],[38.847376,56.597579],[39.000028,56.542751],[39.121054,56.593678],[39.271639,56.538306],[39.337372,56.609361],[39.309777,56.684447],[39.41716,56.772091],[39.679366,56.821777],[39.858787,56.779635],[39.878527,56.646052],[39.942606,56.529883],[40.155927,56.434282],[40.49079,56.583833],[40.714652,56.598458],[40.933657,56.501771],[41.052823,56.47508],[41.933906,56.516809],[41.957677,56.390563],[42.066404,56.368394],[42.288613,56.471282],[42.469274,56.421233],[42.587923,56.420226],[42.760832,56.306072],[42.754734,56.220135],[42.90594,56.151767],[42.686211,56.122104],[42.694066,56.002784],[42.564978,55.96909],[42.48643,55.851914],[42.380287,55.776802],[42.280965,55.769981],[42.055656,55.612937],[42.068368,55.481265],[42.117047,55.421734],[41.932976,55.329853],[41.858665,55.240918],[41.870241,55.157615],[41.783217,55.119117],[41.658264,55.108936],[41.49662,55.156995],[41.41156,55.130976],[41.210332,55.221177],[41.046622,55.183247],[40.964559,55.2604],[40.729432,55.203918],[40.611506,55.20707],[40.516835,55.327657],[40.345372,55.339982],[40.206466,55.309337]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"RUS-2377","diss_me":2377,"iso_3166_2":"RU-VOR","wikipedia":null,"iso_a2":"RU","adm0_sr":1,"name":"Voronezh","name_alt":"Voronezhskaya Oblast","name_local":"Воронежская область","type":"Oblast","type_en":"Region","code_local":null,"code_hasc":"RU.VR","note":null,"hasc_maybe":null,"region":"Central","region_cod":null,"provnum_ne":20050,"gadm_level":1,"check_me":20,"datarank":2,"abbrev":null,"postal":"VR","area_sqkm":0,"sameascity":6,"labelrank":6,"name_len":8,"mapcolor9":7,"mapcolor13":7,"fips":"RS86","fips_alt":null,"woe_id":2346935,"woe_label":"Voronezhskaya Oblast, RU, Russia","woe_name":"Voronezh","latitude":50.7774,"longitude":40.5223,"sov_a3":"RUS","adm0_a3":"RUS","adm0_label":2,"admin":"Russia","geonunit":"Russia","gu_a3":"RUS","gn_id":472039,"gn_name":"Voronezhskaya Oblast'","gns_id":-3035179,"gns_name":"Voronezhskaya Oblast'","gn_level":1,"gn_region":null,"gn_a1_code":"RU.86","region_sub":"Central Black Earth","sub_code":null,"gns_level":1,"gns_lang":"fas","gns_adm1":"RS86","gns_region":null,"min_label":5,"max_label":10.2,"min_zoom":4.7,"wikidataid":"Q3447","name_ar":"فورونيج أوبلاست","name_bn":"ভোরওনেঝ ওব্লাস্ট","name_de":"Woronesch","name_en":"Voronezh","name_es":"Vorónezh","name_fr":"Voronej","name_el":"Όμπλαστ του Βορόνεζ","name_hi":"वोरोनेज़ ओब्लास्ट","name_hu":"Voronyezsi terület","name_id":"Voronezh","name_it":"Voronež","name_ja":"ヴォロネジ州","name_ko":"보로네시","name_nl":"Voronezj","name_pl":"woroneski","name_pt":"Voronej","name_ru":"Воронежская область","name_sv":"Voronezj","name_tr":"Voronej Oblastı","name_vi":"Voronezh","name_zh":"沃罗涅日州","ne_id":1159313191,"name_he":"מחוז וורונז'","name_uk":"Воронезька область","name_ur":"ورونیش اوبلاست","name_fa":"استان ورونژ","name_zht":"沃罗涅日州","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[38.207312,49.567672,42.872867,52.098164],"geometry":{"type":"Polygon","coordinates":[[[40.080634,49.576845],[40.030663,49.59674],[39.958523,49.590772],[39.876822,49.567672],[39.780549,49.572039],[39.626553,49.650665],[39.462791,49.728024],[39.368481,49.73066],[39.302955,49.742055],[39.246008,49.781949],[39.211798,49.833212],[39.174561,49.855899],[39.233606,50.05617],[39.09904,50.172752],[39.084777,50.34871],[38.990416,50.432736],[39.097697,50.506065],[39.072375,50.636109],[38.966232,50.646521],[38.724489,50.790078],[38.736685,50.901389],[38.873628,50.911311],[38.845826,51.036472],[38.737615,51.073679],[38.618449,50.998386],[38.516233,51.061845],[38.396861,51.076521],[38.395621,51.156826],[38.50104,51.188865],[38.445953,51.257388],[38.291544,51.292451],[38.323377,51.340846],[38.276351,51.526364],[38.207312,51.629045],[38.219507,51.7078],[38.40978,51.687801],[38.40978,51.92019],[38.298779,51.961015],[38.528842,52.02375],[38.697618,52.097751],[38.762006,52.052379],[38.879932,52.092531],[38.994447,52.000702],[39.182343,52.098164],[39.447133,52.082196],[39.496639,51.972694],[39.834086,51.920164],[39.913047,51.979825],[40.08761,51.985018],[40.294626,51.95639],[40.503812,51.953522],[40.734599,51.940396],[40.937688,51.890244],[40.891902,51.742604],[41.066052,51.710177],[41.268313,51.734956],[41.311308,51.793816],[41.556461,51.766711],[41.952199,51.656382],[42.247685,51.694494],[42.27373,51.600417],[42.403438,51.632869],[42.489221,51.607703],[42.734064,51.479003],[42.860878,51.381412],[42.872867,51.231343],[42.71546,51.239353],[42.57304,51.168505],[42.254817,51.132486],[42.067334,51.160004],[41.977004,51.203283],[41.854944,51.188555],[41.737019,51.025723],[41.444323,50.917357],[41.369806,50.830774],[41.167544,50.780518],[41.314409,50.724604],[41.400088,50.625024],[41.525765,50.598669],[41.423549,50.48157],[41.508609,50.392118],[41.362054,50.22634],[41.288364,50.17947],[41.341487,50.075342],[41.1785,50.015707],[41.05644,49.91623],[41.029258,49.794222],[40.884771,49.690301],[40.612333,49.647513],[40.411001,49.596844],[40.169569,49.624051],[40.080634,49.576845]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"RUS-2378","diss_me":2378,"iso_3166_2":"RU-BA","wikipedia":null,"iso_a2":"RU","adm0_sr":1,"name":"Bashkortostan","name_alt":"Bashkir|Bashkiriya|Bashkirskaya A.S.S.R.|Republic of Bashkortostan|Respublika Bashkortostan","name_local":"Республика Башкортостан","type":"Respublika","type_en":"Republic","code_local":null,"code_hasc":"RU.BK","note":null,"hasc_maybe":null,"region":"Volga","region_cod":null,"provnum_ne":7,"gadm_level":1,"check_me":20,"datarank":2,"abbrev":null,"postal":"BK","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":13,"mapcolor9":7,"mapcolor13":7,"fips":"RS08","fips_alt":null,"woe_id":2346866,"woe_label":"Bashkortostan, RU, Russia","woe_name":"Bashkortostan","latitude":54.2086,"longitude":56.5575,"sov_a3":"RUS","adm0_a3":"RUS","adm0_label":2,"admin":"Russia","geonunit":"Russia","gu_a3":"RUS","gn_id":578853,"gn_name":"Respublika Bashkortostan","gns_id":-2882700,"gns_name":"Bashkortostan, Respublika","gn_level":1,"gn_region":null,"gn_a1_code":"RU.08","region_sub":"Urals","sub_code":null,"gns_level":1,"gns_lang":"rus","gns_adm1":"RS08","gns_region":null,"min_label":5,"max_label":10.2,"min_zoom":4.7,"wikidataid":"Q5710","name_ar":"باشقورستان","name_bn":"বাশকোরতোস্তান","name_de":"Baschkortostan","name_en":"Bashkortostan","name_es":"Bashkortostán","name_fr":"Bachkirie","name_el":"Δημοκρατία του Μπασκορτοστάν","name_hi":"बश्कोरतोस्तान","name_hu":"Baskíria","name_id":"Bashkortostan","name_it":"Baschiria","name_ja":"バシコルトスタン共和国","name_ko":"바시키르 공화국","name_nl":"Basjkirostan","name_pl":"Baszkortostan","name_pt":"Bascortostão","name_ru":"Республика Башкортостан","name_sv":"Basjkirien","name_tr":"Başkurdistan","name_vi":"Bashkortostan","name_zh":"巴什科尔托斯坦共和国","ne_id":1159313195,"name_he":"בשקורטוסטן","name_uk":"Башкортостан","name_ur":"باشکورتوستان","name_fa":"باشقیرستان","name_zht":"巴什科尔托斯坦共和国","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[53.141077,51.575147,59.974562,56.514897],"geometry":{"type":"Polygon","coordinates":[[[53.631693,55.906691],[53.777421,55.970227],[53.837779,56.038647],[54.046758,56.057974],[54.117245,56.158226],[54.345758,56.252587],[54.352476,56.358524],[54.430197,56.342685],[54.531587,56.514897],[54.91823,56.391959],[54.968356,56.320439],[55.447706,56.340747],[55.548062,56.399503],[55.875794,56.436659],[56.073301,56.289484],[56.275253,56.305142],[56.40248,56.387411],[56.654558,56.220135],[56.729695,56.224062],[56.864054,56.1081],[57.21349,56.182049],[57.273538,56.304884],[57.408414,56.32912],[57.410791,56.235379],[57.537191,56.100194],[57.802085,56.15063],[57.907194,56.11549],[58.07938,56.141018],[58.307687,56.104534],[58.543021,56.163084],[58.746523,56.062754],[58.943514,56.065674],[59.026299,56.169388],[59.187943,56.127272],[59.268972,56.047897],[59.178435,55.990019],[59.228457,55.910567],[59.164999,55.789877],[59.295947,55.780472],[59.254812,55.614073],[59.446635,55.631953],[59.564871,55.49961],[59.201276,55.450104],[59.159211,55.331558],[58.980514,55.303291],[58.871993,55.32329],[58.796753,55.202781],[58.673556,55.188466],[58.815666,55.024859],[58.619502,54.94967],[58.364014,55.08439],[58.287946,55.17069],[58.14749,55.117411],[58.089302,55.020104],[57.964865,55.158597],[58.143976,55.208956],[58.030184,55.274766],[57.674857,55.300087],[57.517968,55.334039],[57.263616,55.261873],[57.233851,55.150303],[57.136906,55.092141],[57.243049,54.957059],[57.165121,54.81898],[57.386089,54.719761],[57.496987,54.700589],[57.594139,54.628656],[57.741727,54.583077],[57.742863,54.500601],[57.971377,54.392804],[58.206298,54.515071],[58.363704,54.547498],[58.613818,54.470267],[58.824658,54.572199],[59.061439,54.631859],[59.227837,54.611189],[59.404054,54.702553],[59.613757,54.866729],[59.805993,54.846368],[59.902938,54.866729],[59.974562,54.80141],[59.859737,54.603024],[59.679489,54.498147],[59.746255,54.447142],[59.666674,54.339681],[59.800516,54.242012],[59.693855,54.129099],[59.5442,54.196072],[59.344006,54.185065],[59.262564,54.13959],[59.162002,53.992906],[59.014104,53.958205],[58.906203,53.861571],[58.87282,53.758476],[58.906823,53.66582],[58.820937,53.595644],[58.868479,53.501799],[58.865069,53.319924],[58.828999,53.199699],[58.891424,53.188382],[58.900415,53.065909],[58.748797,52.835406],[58.777632,52.703708],[58.723682,52.645056],[58.812255,52.586661],[58.776599,52.525476],[58.827965,52.432717],[58.857007,52.263218],[58.690506,52.265286],[58.606067,52.180536],[58.694227,52.048761],[58.638933,52.016438],[58.576404,51.793066],[58.493722,51.762112],[58.235857,51.738393],[58.091679,51.794565],[57.981298,51.786245],[57.881873,51.845983],[57.783998,51.826191],[57.652636,51.86332],[57.620907,51.75896],[57.431565,51.725809],[57.37441,51.638605],[57.206669,51.575147],[57.035516,51.659689],[56.99924,51.728445],[56.875836,51.699015],[56.889685,51.624756],[56.780131,51.5922],[56.714606,51.720978],[56.748195,51.773403],[56.607636,51.829498],[56.68484,52.045299],[56.627479,52.117775],[56.495394,52.161519],[56.217168,52.132322],[56.193914,52.189011],[56.451366,52.308823],[56.444648,52.419591],[56.36517,52.523099],[56.077642,52.603611],[55.919202,52.49876],[55.889126,52.399076],[55.777609,52.343627],[55.545581,52.384942],[55.544858,52.541651],[55.411636,52.657613],[55.406675,52.837111],[55.263945,52.862458],[55.161832,52.823184],[54.955023,53.110454],[54.926601,53.219543],[54.801648,53.270754],[54.664085,53.235511],[54.558975,53.269695],[54.519598,53.359792],[54.30235,53.410487],[54.247159,53.375347],[54.108357,53.416559],[53.877983,53.658017],[53.655774,53.75243],[53.59831,53.883275],[53.470463,54.045745],[53.347783,54.38159],[53.425918,54.498793],[53.414135,54.551503],[53.515008,54.615504],[53.606888,54.728133],[53.578673,54.822184],[53.421887,54.982174],[53.269235,55.011965],[53.141077,55.098911],[53.146762,55.146557],[53.326906,55.166452],[53.418373,55.222004],[53.591386,55.211927],[53.722747,55.337656],[53.891005,55.381168],[53.996942,55.54431],[54.174502,55.623582],[54.176776,55.707039],[53.976375,55.852663],[53.759437,55.866203],[53.631693,55.906691]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"RUS-2379","diss_me":2379,"iso_3166_2":"RU-CHE","wikipedia":null,"iso_a2":"RU","adm0_sr":1,"name":"Chelyabinsk","name_alt":"Chelyabinskaya","name_local":"Челябинская область","type":"Oblast","type_en":"Region","code_local":null,"code_hasc":"RU.CL","note":null,"hasc_maybe":null,"region":"Urals","region_cod":null,"provnum_ne":20059,"gadm_level":1,"check_me":20,"datarank":2,"abbrev":null,"postal":"CL","area_sqkm":0,"sameascity":6,"labelrank":6,"name_len":11,"mapcolor9":7,"mapcolor13":7,"fips":"RS13","fips_alt":null,"woe_id":2346893,"woe_label":"Chelyabinskaya Oblast, RU, Russia","woe_name":"Chelyabinsk","latitude":54.1131,"longitude":60.2383,"sov_a3":"RUS","adm0_a3":"RUS","adm0_label":2,"admin":"Russia","geonunit":"Russia","gu_a3":"RUS","gn_id":1508290,"gn_name":"Chelyabinskaya Oblast'","gns_id":-2896750,"gns_name":"Chelyabinskaya Oblast'","gn_level":1,"gn_region":null,"gn_a1_code":"RU.13","region_sub":"Urals","sub_code":null,"gns_level":1,"gns_lang":"rus","gns_adm1":"RS13","gns_region":null,"min_label":5,"max_label":10.2,"min_zoom":4.7,"wikidataid":"Q5714","name_ar":"أوبلاست تشيليابنسك","name_bn":"চেলিয়াবিনস্ক ওব্লাস্ট","name_de":"Tscheljabinsk","name_en":"Chelyabinsk","name_es":"Cheliábinsk","name_fr":"Tcheliabinsk","name_el":"Όμπλαστ του Τσελιάμπινσκ","name_hi":"चेल्याबिन्स्क ओब्लास्त","name_hu":"Cseljabinszki terület","name_id":"Chelyabinsk","name_it":"Čeljabinsk","name_ja":"チェリャビンスク州","name_ko":"첼랴빈스크","name_nl":"Tsjeljabinsk","name_pl":"czelabiński","name_pt":"Cheliabinsk","name_ru":"Челябинская область","name_sv":"Tjeljabinsk","name_tr":"Çelyabinsk Oblastı","name_vi":"Chelyabinsk","name_zh":"车里雅宾斯克州","ne_id":1159313221,"name_he":"מחוז צ'ליאבינסק","name_uk":"Челябінська область","name_ur":"چیلیابنسک اوبلاست","name_fa":"استان چلیابینسک","name_zht":"車里雅賓斯克州","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[57.136906,51.975119,63.319128,56.375784],"geometry":{"type":"Polygon","coordinates":[[[63.319128,54.17323],[63.292706,54.170441],[63.191316,54.171061],[63.126617,54.13928],[63.073959,54.105225],[62.632694,54.06931],[62.588252,54.044453],[62.499007,54.013163],[62.040276,54.002647],[62.002345,53.97991],[61.985654,53.954407],[61.928654,53.946475],[61.598132,53.994947],[61.333704,54.049259],[61.231023,54.019494],[61.143689,53.963838],[61.1132,53.882448],[61.1132,53.812995],[61.1132,53.753463],[61.073513,53.710469],[60.98556,53.657397],[60.979462,53.62174],[61.098524,53.583112],[61.247972,53.550995],[61.336132,53.56518],[61.409926,53.587039],[61.474109,53.58027],[61.51917,53.554483],[61.534932,53.523297],[61.52656,53.501567],[61.4985,53.484643],[61.400935,53.455807],[61.311638,53.465729],[61.228956,53.445885],[61.185961,53.406198],[61.16281,53.336745],[61.19919,53.287135],[61.310966,53.275198],[61.436798,53.239386],[61.576221,53.222436],[61.659834,53.228483],[61.766184,53.173912],[62.014696,53.10787],[62.0811,53.057434],[62.082702,53.005421],[62.037123,52.966121],[61.974181,52.943745],[61.888554,52.955889],[61.719365,52.969403],[61.53364,52.978524],[61.400728,52.99599],[61.206941,52.989066],[61.047468,52.972478],[61.00654,52.933358],[60.944735,52.860159],[60.893265,52.819412],[60.802315,52.744739],[60.774358,52.675803],[60.821228,52.569815],[60.979462,52.394787],[60.994551,52.336857],[60.937604,52.280582],[60.828411,52.233375],[60.670333,52.150822],[60.499336,52.146326],[60.42549,52.125604],[60.233667,52.024499],[60.065512,51.976466],[60.064415,51.975119],[59.913687,52.100438],[59.975492,52.181828],[60.139616,52.267301],[60.148608,52.420522],[59.945623,52.428273],[59.781292,52.491835],[59.508647,52.435404],[59.397543,52.49522],[59.248611,52.486848],[59.175024,52.277378],[58.827965,52.432717],[58.776599,52.525476],[58.812255,52.586661],[58.723682,52.645056],[58.777632,52.703708],[58.748797,52.835406],[58.900415,53.065909],[58.891424,53.188382],[58.828999,53.199699],[58.865069,53.319924],[58.868479,53.501799],[58.820937,53.595644],[58.906823,53.66582],[58.87282,53.758476],[58.906203,53.861571],[59.014104,53.958205],[59.162002,53.992906],[59.262564,54.13959],[59.344006,54.185065],[59.5442,54.196072],[59.693855,54.129099],[59.800516,54.242012],[59.666674,54.339681],[59.746255,54.447142],[59.679489,54.498147],[59.859737,54.603024],[59.974562,54.80141],[59.902938,54.866729],[59.805993,54.846368],[59.613757,54.866729],[59.404054,54.702553],[59.227837,54.611189],[59.061439,54.631859],[58.824658,54.572199],[58.613818,54.470267],[58.363704,54.547498],[58.206298,54.515071],[57.971377,54.392804],[57.742863,54.500601],[57.741727,54.583077],[57.594139,54.628656],[57.496987,54.700589],[57.386089,54.719761],[57.165121,54.81898],[57.243049,54.957059],[57.136906,55.092141],[57.233851,55.150303],[57.263616,55.261873],[57.517968,55.334039],[57.674857,55.300087],[58.030184,55.274766],[58.143976,55.208956],[57.964865,55.158597],[58.089302,55.020104],[58.14749,55.117411],[58.287946,55.17069],[58.364014,55.08439],[58.619502,54.94967],[58.815666,55.024859],[58.673556,55.188466],[58.796753,55.202781],[58.871993,55.32329],[58.980514,55.303291],[59.159211,55.331558],[59.201276,55.450104],[59.564871,55.49961],[59.446635,55.631953],[59.254812,55.614073],[59.295947,55.780472],[59.164999,55.789877],[59.228457,55.910567],[59.178435,55.990019],[59.268972,56.047897],[59.187943,56.127272],[59.026299,56.169388],[59.134613,56.205975],[59.122107,56.317235],[59.194351,56.351806],[59.349174,56.317906],[59.701297,56.306072],[59.788733,56.23264],[59.920818,56.26468],[60.239559,56.209179],[60.314799,56.238221],[60.584757,56.21352],[60.750845,56.237343],[60.908975,56.188095],[61.150304,56.217034],[61.084158,56.32571],[61.150097,56.375784],[61.267299,56.331394],[61.384915,56.366999],[61.53705,56.297443],[61.641954,56.319405],[61.816103,56.23941],[61.863542,56.180705],[62.071798,56.133525],[62.132363,56.065364],[62.305169,55.978702],[62.342893,55.905063],[62.516836,55.737787],[62.515905,55.563637],[62.579261,55.51749],[62.303929,55.403285],[62.234269,55.34086],[62.049164,55.310552],[62.164919,55.242055],[62.244191,55.079377],[61.989116,55.035246],[61.979917,54.933831],[62.123371,54.815104],[62.024773,54.716505],[62.147246,54.644417],[62.379066,54.672064],[62.424335,54.72343],[62.710622,54.625762],[62.903272,54.694181],[63.192143,54.68643],[63.295496,54.563595],[63.237929,54.477864],[63.130235,54.44784],[63.128374,54.305885],[63.250021,54.247128],[63.319128,54.17323]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"RUS-2380","diss_me":2380,"iso_3166_2":"RU-KGN","wikipedia":null,"iso_a2":"RU","adm0_sr":1,"name":"Kurgan","name_alt":"Kurganskaya Oblast","name_local":"Курганская область","type":"Oblast","type_en":"Region","code_local":null,"code_hasc":"RU.KU","note":null,"hasc_maybe":null,"region":"Urals","region_cod":null,"provnum_ne":20058,"gadm_level":1,"check_me":20,"datarank":2,"abbrev":null,"postal":"KU","area_sqkm":0,"sameascity":6,"labelrank":6,"name_len":6,"mapcolor9":7,"mapcolor13":7,"fips":"RS40","fips_alt":null,"woe_id":2346904,"woe_label":"Kurganskaya Oblast, RU, Russia","woe_name":"Kurgan","latitude":55.4316,"longitude":65.3505,"sov_a3":"RUS","adm0_a3":"RUS","adm0_label":2,"admin":"Russia","geonunit":"Russia","gu_a3":"RUS","gn_id":1501312,"gn_name":"Kurganskaya Oblast'","gns_id":-2941319,"gns_name":"Kurganskaya Oblast'","gn_level":1,"gn_region":null,"gn_a1_code":"RU.40","region_sub":"Urals","sub_code":null,"gns_level":1,"gns_lang":"rus","gns_adm1":"RS40","gns_region":null,"min_label":5,"max_label":10.2,"min_zoom":4.7,"wikidataid":"Q5741","name_ar":"أوبلاست كورغان","name_bn":"কুরগ্যান ওব্লাস্ট","name_de":"Kurgan","name_en":"Kurgan","name_es":"Kurgán","name_fr":"Kourgan","name_el":"Όμπλαστ του Κουργκάν","name_hi":"कुर्गन ओब्लास्ट","name_hu":"Kurgani terület","name_id":"Kurgan","name_it":"Kurgan","name_ja":"クルガン州","name_ko":"쿠르간","name_nl":"Koergan","name_pl":"kurgański","name_pt":"Kurgan","name_ru":"Курганская область","name_sv":"Kurgan","name_tr":"Kurgan Oblastı","name_vi":"Kurgan","name_zh":"库尔干州","ne_id":1159313223,"name_he":"מחוז קורגן","name_uk":"Курганська область","name_ur":"کورگان اوبلاست","name_fa":"استان کورگان","name_zht":"库尔干州","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[61.979917,54.17323,68.771528,56.841079],"geometry":{"type":"Polygon","coordinates":[[[68.771528,55.330969],[68.712943,55.308511],[68.524789,55.204848],[68.438438,55.194409],[68.30196,55.186503],[68.206204,55.160923],[68.225324,55.115241],[68.244031,55.052428],[68.209408,55.003051],[68.15582,54.976696],[68.073861,54.959591],[67.939915,54.9537],[67.829896,54.943572],[67.693419,54.872413],[67.484698,54.854482],[67.257321,54.828798],[67.098365,54.788181],[66.75451,54.737899],[66.5554,54.71542],[66.222656,54.667361],[65.954714,54.659506],[65.914199,54.693303],[65.707752,54.618682],[65.476913,54.623281],[65.434435,54.593309],[65.37816,54.564473],[65.315941,54.551554],[65.237393,54.516053],[65.192228,54.441122],[65.15776,54.364408],[65.088358,54.340172],[64.995444,54.368775],[64.926714,54.396628],[64.809305,54.368568],[64.649935,54.352238],[64.525085,54.36216],[64.461213,54.384174],[64.19942,54.347432],[64.062943,54.302913],[64.037415,54.279736],[64.003877,54.267101],[63.84709,54.236483],[63.721206,54.24501],[63.701311,54.243227],[63.58199,54.22191],[63.413628,54.183205],[63.319128,54.17323],[63.250021,54.247128],[63.128374,54.305885],[63.130235,54.44784],[63.237929,54.477864],[63.295496,54.563595],[63.192143,54.68643],[62.903272,54.694181],[62.710622,54.625762],[62.424335,54.72343],[62.379066,54.672064],[62.147246,54.644417],[62.024773,54.716505],[62.123371,54.815104],[61.979917,54.933831],[61.989116,55.035246],[62.244191,55.079377],[62.164919,55.242055],[62.049164,55.310552],[62.234269,55.34086],[62.303929,55.403285],[62.579261,55.51749],[62.515905,55.563637],[62.516836,55.737787],[62.342893,55.905063],[62.305169,55.978702],[62.132363,56.065364],[62.071798,56.133525],[62.08265,56.291035],[62.252562,56.36271],[62.332971,56.469163],[62.542157,56.577736],[62.590216,56.52363],[63.001147,56.597993],[63.097782,56.568899],[63.358541,56.563369],[63.447735,56.609723],[63.766475,56.507972],[64.173272,56.468388],[64.237454,56.519393],[64.219264,56.600835],[64.35662,56.652925],[64.336983,56.752712],[64.483951,56.760205],[64.542138,56.808419],[64.825842,56.841079],[64.995444,56.768267],[65.016011,56.649359],[64.967229,56.500841],[65.087945,56.448338],[65.116884,56.325399],[65.667134,56.273516],[65.707649,56.195433],[65.860921,56.06464],[66.027939,55.990278],[66.185552,56.068025],[66.298103,56.058077],[66.463468,55.950487],[66.760504,56.045468],[66.801639,55.966972],[66.988501,55.988805],[67.298663,55.896743],[67.446664,55.735048],[67.590944,55.71076],[67.824625,55.720682],[67.912062,55.66482],[68.189461,55.700166],[68.173855,55.596038],[68.316998,55.555214],[68.486807,55.401218],[68.590573,55.424421],[68.771528,55.330969]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"RUS-2381","diss_me":2381,"iso_3166_2":"RU-NEN","wikipedia":null,"iso_a2":"RU","adm0_sr":4,"name":"Nenets","name_alt":"Nenetskiy A.Okr.|Nenetskiy AOk","name_local":"Ненецкий АОк","type":"Avtonomnyy Okrug","type_en":"Autonomous Province","code_local":null,"code_hasc":"RU.NN","note":null,"hasc_maybe":null,"region":"Northwestern","region_cod":null,"provnum_ne":20016,"gadm_level":1,"check_me":20,"datarank":2,"abbrev":null,"postal":"NN","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":6,"mapcolor9":7,"mapcolor13":7,"fips":"RS50","fips_alt":null,"woe_id":20070509,"woe_label":null,"woe_name":null,"latitude":67.8271,"longitude":56.2877,"sov_a3":"RUS","adm0_a3":"RUS","adm0_label":2,"admin":"Russia","geonunit":"Russia","gu_a3":"RUS","gn_id":522652,"gn_name":"Nenetskiy Avtonomnyy Okrug","gns_id":-2964004,"gns_name":"Nenetskiy Avtonomnyy Okrug","gn_level":1,"gn_region":null,"gn_a1_code":"RU.50","region_sub":"Northern","sub_code":null,"gns_level":1,"gns_lang":"rus","gns_adm1":"RS50","gns_region":null,"min_label":5,"max_label":10.2,"min_zoom":4.7,"wikidataid":"Q2164","name_ar":"أوكروغ نينيتس الذاتية","name_bn":"নেনেটস স্বায়ত্তশাসিত অক্রুগ","name_de":"Autonomer Kreis der Nenzen","name_en":"Nenets Autonomous Okrug","name_es":"Nenetsia","name_fr":"Nénétsie","name_el":"Αυτόνομος θύλακας της Νενετσίας","name_hi":"नेनेट्स औटोनोमस ओक्रुग","name_hu":"Nyenyecföld","name_id":"Nenetsia","name_it":"Nenec","name_ja":"ネネツ自治管区","name_ko":"네네츠 자치구","name_nl":"Nenetsië","name_pl":"Nieniecki","name_pt":"Nenetsia","name_ru":"Ненецкий автономный округ","name_sv":"Nentsien","name_tr":"Nenets Özerk Okrugu","name_vi":"Nenetsia","name_zh":"涅涅茨自治区","ne_id":1159313117,"name_he":"הניינץ","name_uk":"Ненецький автономний округ","name_ur":"نینیتس خود مختار آکرگ","name_fa":"ننتسیا","name_zht":"涅涅茨自治区","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[43.333203,65.808076,65.654318,70.465186],"geometry":{"type":"MultiPolygon","coordinates":[[[[44.220833,66.407181],[44.316406,66.481689],[44.488672,66.671777],[44.437109,66.794629],[44.429297,66.937744],[44.403906,67.004199],[44.291797,67.099658],[44.074414,67.167334],[43.855371,67.188623],[43.782422,67.254492],[43.795703,67.32959],[43.856348,67.439307],[44.036426,67.670654],[44.225391,67.995605],[44.231543,68.07124],[44.213867,68.112598],[44.226465,68.154443],[44.204688,68.25376],[44.169141,68.3271],[43.404004,68.608545],[43.358008,68.635791],[43.333203,68.673389],[43.413281,68.681738],[43.471973,68.679834],[44.048047,68.548828],[44.175293,68.541748],[45.078125,68.578174],[45.519434,68.546533],[45.891992,68.479687],[46.158398,68.291357],[46.429688,68.118848],[46.683594,67.970459],[46.69043,67.848828],[46.428906,67.823682],[46.174219,67.818164],[45.528711,67.757568],[45.374121,67.688867],[44.939453,67.477441],[44.902148,67.413135],[44.939453,67.350781],[45.138867,67.284717],[45.562207,67.185596],[45.752539,66.98916],[45.885352,66.891064],[45.986035,66.853125],[46.083984,66.843506],[46.297754,66.842822],[46.448535,66.818994],[46.492383,66.800195],[46.552344,66.818994],[46.69082,66.825537],[47.496484,66.929834],[47.655859,66.975928],[47.709082,67.04502],[47.768066,67.275635],[47.839258,67.355713],[47.908203,67.454688],[47.882617,67.515332],[47.874707,67.58418],[48.278711,67.650391],[48.653809,67.695264],[48.833203,67.681494],[48.87793,67.731348],[48.762695,67.827002],[48.695703,67.874219],[48.754297,67.895947],[48.840625,67.869727],[48.953906,67.853809],[49.155273,67.87041],[49.93125,68.065137],[50.233203,68.175342],[50.414062,68.218359],[50.699414,68.317725],[50.838867,68.349951],[51.078516,68.36333],[51.336133,68.402441],[51.616699,68.476318],[51.994727,68.53877],[52.055664,68.541309],[52.128809,68.532031],[52.285352,68.459375],[52.227441,68.418604],[52.183496,68.374268],[52.25918,68.350928],[52.322266,68.339697],[52.39668,68.351709],[52.475,68.382129],[52.669727,68.426758],[52.722656,68.484033],[52.647656,68.506152],[52.550098,68.592432],[52.435059,68.610205],[52.344043,68.608154],[52.683594,68.731201],[53.412891,68.912549],[53.801953,68.995898],[54.18584,69.00332],[54.491211,68.992334],[54.37627,68.964746],[53.874414,68.926611],[53.797656,68.907471],[53.798242,68.884668],[53.919531,68.87124],[53.970605,68.844287],[53.929297,68.811865],[53.891211,68.801514],[53.833887,68.708936],[53.758887,68.633984],[53.917676,68.536963],[53.930859,68.435547],[53.829492,68.382666],[53.690039,68.402539],[53.566699,68.36709],[53.342578,68.343213],[53.293359,68.31167],[53.260547,68.26748],[53.403125,68.256836],[53.515137,68.259668],[53.913672,68.231201],[53.967871,68.227344],[54.099219,68.259033],[54.23291,68.266309],[54.393945,68.275098],[54.476172,68.294141],[54.56123,68.273047],[54.717969,68.18418],[54.861328,68.201855],[54.923047,68.373828],[55.150879,68.480029],[55.418066,68.567822],[55.675293,68.575879],[55.924609,68.637305],[56.043652,68.648877],[56.275684,68.624072],[56.620215,68.619043],[56.909375,68.566699],[57.126855,68.554004],[57.444336,68.641504],[58.173047,68.889746],[58.237012,68.833936],[58.353906,68.916211],[58.918945,69.003809],[59.057324,69.006055],[59.059863,68.972559],[59.110156,68.896289],[59.22041,68.849609],[59.370508,68.738379],[59.29834,68.708447],[59.222559,68.691309],[59.112305,68.616309],[59.099023,68.444336],[59.310742,68.400293],[59.604297,68.351123],[59.725684,68.351611],[59.827539,68.380322],[59.858789,68.396045],[59.897363,68.421924],[59.922852,68.471338],[59.941406,68.510498],[59.865137,68.604932],[59.895996,68.706348],[60.160254,68.699512],[60.48916,68.728955],[60.637695,68.787012],[60.815137,68.895215],[60.933594,68.986768],[60.858594,69.145508],[60.664551,69.110254],[60.337305,69.457031],[60.170605,69.590918],[60.276465,69.652637],[60.558691,69.692334],[60.812988,69.821143],[60.909082,69.847119],[61.015918,69.851465],[61.770508,69.763037],[62.63125,69.743115],[63.361426,69.675293],[64.19043,69.534668],[64.592188,69.435645],[64.928516,69.325391],[64.896289,69.247803],[65.031543,69.269824],[65.03624,69.268735],[64.989966,69.204717],[64.545136,69.032195],[64.554127,68.871404],[64.904287,68.871352],[65.064484,68.813991],[65.314908,68.803294],[65.32638,68.730017],[65.516652,68.588372],[65.654318,68.556177],[65.480479,68.430449],[64.745123,68.404455],[64.522811,68.343787],[64.530253,68.200127],[64.324787,68.134084],[63.829004,68.017244],[63.944242,67.88366],[63.689684,67.762066],[63.445254,67.770954],[63.160517,67.690881],[62.871233,67.579648],[62.821313,67.388032],[61.85052,67.126136],[61.694767,67.030017],[61.431734,66.999683],[60.082049,66.989865],[59.917718,67.001595],[58.789621,66.999683],[53.77246,66.998546],[52.245525,67.089135],[51.83573,66.995394],[51.810719,66.954208],[51.494563,66.907389],[51.510169,66.783262],[49.006032,66.119117],[48.156265,66.130279],[47.753189,65.940704],[47.763731,65.860838],[47.660791,65.808076],[47.407267,65.83593],[47.110437,65.821176],[46.347487,66.028011],[45.831652,66.088214],[45.741322,66.067906],[44.578499,66.307322],[44.476386,66.370109],[44.220833,66.407181]]],[[[49.225195,69.51123],[49.996289,69.309424],[50.167285,69.25708],[50.265234,69.185596],[50.283008,69.088867],[50.220605,69.048779],[50.164453,69.037549],[50.140918,69.098145],[50.093945,69.125537],[49.920801,69.053271],[49.839844,68.973779],[49.62627,68.859717],[49.180469,68.778418],[48.910352,68.743066],[48.666992,68.733154],[48.439063,68.804883],[48.315918,68.942383],[48.294434,68.984229],[48.278809,69.040332],[48.280273,69.096631],[48.296289,69.183887],[48.319922,69.269238],[48.413867,69.345654],[48.631348,69.436035],[48.844922,69.494727],[48.95332,69.509277],[49.225195,69.51123]]],[[[60.392578,69.962402],[60.450488,69.934863],[60.480664,69.885498],[60.477246,69.793701],[60.440234,69.725928],[60.327148,69.715283],[60.215918,69.687695],[60.026172,69.717041],[59.919531,69.696973],[59.812793,69.695654],[59.724609,69.706201],[59.637012,69.721045],[59.578223,69.738623],[59.58125,69.790869],[59.502637,69.866211],[59.381543,69.89043],[59.268359,69.898438],[59.144238,69.921924],[59.08252,69.910791],[59.004004,69.883301],[58.952734,69.892773],[58.680078,70.051025],[58.63418,70.088037],[58.605566,70.129199],[58.568066,70.155664],[58.473047,70.266846],[58.519922,70.318311],[58.615332,70.35083],[58.678027,70.35957],[58.794238,70.432959],[59.005273,70.465186],[59.048047,70.460498],[59.088281,70.437109],[59.309863,70.36167],[59.425977,70.310937],[59.529102,70.248975],[59.636328,70.197021],[59.955859,70.10835],[60.172266,70.022852],[60.392578,69.962402]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"RUS-2382","diss_me":2382,"iso_3166_2":"RU-YAN","wikipedia":null,"iso_a2":"RU","adm0_sr":4,"name":"Yamal-Nenets","name_alt":"Yamalo-Nenetskiy A.Okr","name_local":"Ямало-Ненецкий АОк","type":"Avtonomnyy Okrug","type_en":"Autonomous Province","code_local":null,"code_hasc":"RU.YN","note":null,"hasc_maybe":null,"region":"Urals","region_cod":null,"provnum_ne":20017,"gadm_level":1,"check_me":20,"datarank":2,"abbrev":null,"postal":"YN","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":12,"mapcolor9":7,"mapcolor13":7,"fips":"RS87","fips_alt":null,"woe_id":20070525,"woe_label":"Yamalo-Nenetskiy Avtonomnyy Okrug, RU, Russia","woe_name":"Yamal-Nenets","latitude":65.4117,"longitude":75.1874,"sov_a3":"RUS","adm0_a3":"RUS","adm0_label":2,"admin":"Russia","geonunit":"Russia","gu_a3":"RUS","gn_id":1486462,"gn_name":"Yamalo-Nenetskiy Avtonomnyy Okrug","gns_id":-3038630,"gns_name":"Yamalo-Nenetskiy Avtonomnyy Okrug","gn_level":1,"gn_region":null,"gn_a1_code":"RU.87","region_sub":"West Siberian","sub_code":null,"gns_level":1,"gns_lang":"fas","gns_adm1":"RS87","gns_region":null,"min_label":5,"max_label":10.2,"min_zoom":4.7,"wikidataid":"Q6407","name_ar":"أوكروغ يامالو-نينيتس الذاتية","name_bn":"ইয়ামালো-নেনেটস স্বায়ত্তশাসিত ওক্রুগ","name_de":"Autonomer Kreis der Jamal-Nenzen","name_en":"Yamalo-Nenets Autonomous Okrug","name_es":"Yamalia-Nenetsia","name_fr":"Iamalie","name_el":"Αυτόνομος θύλακας των Γιαμάλων Νένετς","name_hi":"यामालो-नेनेट ऑटोनॉमस ऑक्रग","name_hu":"Jamali Nyenyecföld","name_id":"Yamalia","name_it":"Jamalo-Nenec","name_ja":"ヤマロ・ネネツ自治管区","name_ko":"야말로네네츠 자치구","name_nl":"Jamalië","name_pl":"Jamalsko-Nieniecki","name_pt":"Iamália","name_ru":"Ямало-Ненецкий автономный округ","name_sv":"Jamalo-Nenetien","name_tr":"Yamalo-Nenets Özerk Okrugu","name_vi":"Yamalo-Nenets","name_zh":"亚马尔-涅涅茨自治区","ne_id":1159313113,"name_he":"ימלו-ננץ","name_uk":"Ямало-Ненецький автономний округ","name_ur":"یامالو-نینیتس خود مختار آکرگ","name_fa":"یامالو-ننتس","name_zht":"亚马尔-涅涅茨自治区","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[62.018468,62.177962,86.028062,73.573633],"geometry":{"type":"MultiPolygon","coordinates":[[[[70.057227,66.599463],[70.110059,66.569092],[70.05918,66.517578],[70.020703,66.502197],[69.844727,66.489746],[69.651367,66.565332],[69.469336,66.715967],[69.502734,66.751074],[69.616406,66.739014],[69.800391,66.736475],[69.917578,66.71167],[70.07666,66.695898],[70.057617,66.627197],[70.057227,66.599463]]],[[[65.03624,69.268735],[65.326758,69.201367],[65.52793,69.173438],[65.735742,69.132324],[65.812695,69.077002],[66.084766,69.036328],[66.416113,68.947852],[66.756445,68.891992],[67.002441,68.873584],[67.149219,68.753955],[67.639648,68.579297],[67.730762,68.513672],[68.156934,68.403662],[68.371191,68.314258],[68.504199,68.348438],[68.829492,68.567432],[69.024316,68.817969],[69.140527,68.950635],[68.924414,68.956201],[68.762891,68.917383],[68.65957,68.927393],[68.542773,68.96709],[68.355078,69.067578],[68.117383,69.23623],[68.073047,69.420801],[68.005859,69.480029],[67.774316,69.52998],[67.624121,69.584424],[67.064453,69.693701],[66.964063,69.655566],[66.93418,69.59668],[66.89668,69.553809],[66.840234,69.60918],[66.804004,69.659229],[66.80293,69.740137],[66.832227,69.842187],[66.926367,70.014258],[67.069043,70.005615],[67.144434,70.030615],[67.239258,70.108057],[67.197461,70.171631],[67.146484,70.219922],[67.156836,70.295117],[67.246875,70.500098],[67.284766,70.738721],[67.211523,70.798438],[67.143359,70.837549],[66.822461,70.797363],[66.702246,70.818506],[66.675195,70.864697],[66.666113,70.900586],[66.758789,70.962354],[66.84707,71.063721],[66.692578,71.041699],[66.639648,71.081396],[66.768066,71.139893],[66.917578,71.282373],[67.274219,71.347852],[67.541797,71.412012],[67.959375,71.548389],[68.269238,71.682812],[68.469434,71.852637],[68.607422,72.012744],[68.829688,72.391553],[69.039062,72.669922],[69.391406,72.955518],[69.611816,72.981934],[69.694336,72.977539],[69.708984,72.956396],[69.658789,72.931836],[69.645117,72.897559],[69.738281,72.884961],[69.8875,72.882568],[70.172168,72.901172],[70.655371,72.890381],[71.500195,72.913672],[71.616992,72.9021],[71.92959,72.819678],[72.100977,72.829004],[72.446387,72.790332],[72.633789,72.744482],[72.812109,72.691406],[72.787402,72.482959],[72.75293,72.343164],[72.624414,72.079443],[72.574121,72.012549],[72.375,71.821631],[72.279492,71.695508],[72.129688,71.60918],[71.912012,71.547949],[71.884375,71.511377],[71.867285,71.457373],[72.079297,71.306689],[72.581348,71.151123],[72.704492,70.963232],[72.731641,70.822852],[72.7,70.457324],[72.65332,70.403418],[72.561914,70.345557],[72.469434,70.274951],[72.529688,70.17251],[72.599414,69.793213],[72.615625,69.484033],[72.557324,69.378418],[72.527051,69.154248],[72.527344,69.080518],[72.576758,68.968701],[72.67832,68.874854],[72.811914,68.815234],[73.190723,68.706787],[73.548047,68.574512],[73.573438,68.532617],[73.591699,68.481885],[73.465234,68.430762],[73.266406,68.294482],[73.139453,68.181348],[73.129395,68.090918],[73.173047,67.973047],[73.152148,67.865039],[73.066797,67.766943],[72.94873,67.69624],[72.594336,67.586963],[71.847461,67.007617],[71.668164,66.939697],[71.365234,66.961523],[71.448926,66.878955],[71.551172,66.760449],[71.539551,66.683105],[71.341992,66.686719],[71.065625,66.604492],[70.939453,66.548145],[70.724902,66.519434],[70.561426,66.548682],[70.382812,66.60249],[70.408887,66.647607],[70.442578,66.668262],[70.567969,66.700879],[70.690723,66.745312],[70.630762,66.754199],[70.579102,66.75376],[70.443945,66.697314],[70.283398,66.685791],[70.09375,66.754346],[69.948633,66.82998],[69.877148,66.845459],[69.74043,66.8146],[69.217773,66.828613],[69.078711,66.815918],[69.013477,66.78833],[69.051172,66.766357],[69.091113,66.723584],[69.143945,66.640723],[69.194336,66.578662],[69.412012,66.510742],[69.700977,66.48457],[69.982422,66.401416],[70.339453,66.342383],[71.145508,66.36665],[71.358008,66.359424],[71.565625,66.33374],[71.916992,66.246729],[72.067578,66.25332],[72.321582,66.332129],[72.383984,66.506543],[72.417383,66.560791],[73.341602,66.806836],[73.513574,66.861084],[73.79209,66.995312],[73.883301,67.084961],[73.98623,67.327686],[74.074512,67.414111],[74.676074,67.694629],[74.769531,67.766357],[74.787305,67.89751],[74.778223,67.985938],[74.742676,68.073535],[74.632422,68.218311],[74.51123,68.303076],[74.391406,68.420605],[74.480957,68.658887],[74.57959,68.751221],[75.124609,68.861719],[75.589551,68.901172],[76.10752,68.975732],[76.316016,68.991504],[76.45918,68.978271],[76.605762,68.897607],[76.735059,68.776904],[77.111719,68.596191],[77.238477,68.46958],[77.261035,68.315576],[77.248438,67.941016],[77.174414,67.778516],[77.325098,67.735645],[77.395605,67.698682],[77.579199,67.643945],[77.675098,67.5896],[77.771582,67.570264],[77.985547,67.55918],[78.589551,67.578467],[78.922461,67.589111],[78.887598,67.613135],[78.839063,67.631201],[78.559082,67.639111],[78.16123,67.678369],[77.588281,67.751904],[77.520117,67.909619],[77.535937,68.007666],[77.664844,68.190381],[77.756836,68.222363],[77.868262,68.234717],[77.995117,68.259473],[77.958691,68.377051],[77.906836,68.482275],[77.785254,68.630469],[77.650684,68.903027],[77.466309,68.905127],[77.32832,68.958643],[76.644922,69.117383],[76.000977,69.235059],[75.561133,69.251807],[75.42002,69.238623],[75.053516,69.116309],[74.814844,69.090576],[74.362598,69.14458],[73.977441,69.114648],[73.836035,69.143213],[73.775684,69.198242],[73.890918,69.417969],[73.832715,69.503906],[73.663281,69.61709],[73.560156,69.707227],[73.578125,69.802979],[73.830176,70.175684],[73.937402,70.272852],[74.206738,70.445459],[74.343359,70.578711],[74.310938,70.653613],[73.731543,71.068701],[73.576563,71.216504],[73.507227,71.263525],[73.365234,71.319775],[73.150488,71.385205],[73.08623,71.444922],[73.671777,71.845068],[73.939453,71.914746],[74.31123,71.957813],[74.489063,71.997021],[74.804102,72.077393],[74.992188,72.144824],[75.053223,72.199219],[75.089941,72.263135],[75.09707,72.420654],[75.060352,72.548779],[75.008008,72.619434],[74.896875,72.710107],[74.786816,72.811865],[74.864941,72.838428],[74.942188,72.853809],[75.152441,72.852734],[75.369336,72.796631],[75.474902,72.68501],[75.603516,72.581055],[75.603125,72.512158],[75.591406,72.457227],[75.644336,72.382275],[75.691113,72.35],[75.741406,72.29624],[75.694434,72.253516],[75.644336,72.232324],[75.550195,72.170801],[75.394531,71.983203],[75.273828,71.958936],[75.247461,71.813379],[75.503223,71.654639],[75.468555,71.534375],[75.417188,71.494678],[75.280273,71.430078],[75.298047,71.378467],[75.332031,71.341748],[75.733594,71.265918],[76.110449,71.218555],[76.741992,71.202051],[76.929004,71.127881],[76.995215,71.181055],[77.589648,71.16792],[78.068262,70.986328],[78.320605,70.93042],[78.525781,70.911816],[78.942187,70.933789],[79.01543,70.950195],[79.083887,71.002002],[78.888672,70.997168],[78.803516,70.973535],[78.723926,70.975977],[78.587695,70.993896],[78.491406,71.025391],[78.386523,71.087109],[78.212598,71.266309],[77.908398,71.324072],[77.706641,71.300586],[77.481055,71.311572],[77.113672,71.409375],[76.871191,71.446582],[76.433398,71.55249],[76.312109,71.595459],[76.215723,71.682861],[76.103613,71.829004],[76.032422,71.9104],[76.124023,71.926611],[76.42168,72.006006],[76.871387,72.033008],[77.061328,72.004199],[77.550781,71.84209],[77.777539,71.836426],[78.186914,71.90708],[78.232422,71.952295],[78.14082,72.044678],[78.016406,72.092041],[77.780664,72.114307],[77.492871,72.071729],[77.41084,72.107764],[77.439746,72.156543],[77.471582,72.192139],[77.625293,72.201416],[77.733203,72.229199],[77.968164,72.328711],[78.225391,72.377441],[78.482617,72.394971],[78.69683,72.180323],[79.418853,72.043406],[79.694908,72.057695],[80.217977,71.942482],[80.339107,71.889798],[80.036386,71.830758],[80.118759,71.67485],[79.868231,71.60165],[79.382679,71.614957],[79.333484,71.481115],[79.143108,71.421687],[79.244703,71.316732],[79.565201,71.277355],[79.954428,71.134108],[80.403186,71.091217],[80.55005,71.044449],[80.55191,70.900169],[80.679861,70.805394],[80.608031,70.71018],[80.752828,70.635224],[80.569067,70.460816],[80.176946,70.429552],[80.095091,70.353432],[79.63021,70.220701],[79.505256,70.11541],[79.208427,70.05283],[79.17122,69.978313],[78.912941,69.860904],[79.116442,69.73161],[79.585354,69.588285],[79.644472,69.491392],[79.854279,69.354527],[80.259835,69.355715],[80.734225,69.308121],[80.966872,69.209109],[81.323853,69.285642],[81.610657,69.286417],[81.625643,69.40951],[81.783153,69.428734],[81.929397,69.349307],[81.772198,69.232906],[81.893224,69.182677],[82.256923,69.156709],[82.496805,69.110511],[82.33268,69.062038],[82.480682,68.995143],[82.545897,68.840295],[83.015429,68.68387],[82.866601,68.627775],[82.535872,68.610748],[82.709608,68.414119],[82.680566,68.282757],[82.549618,68.179095],[82.394589,68.176614],[82.353558,67.943502],[82.059209,67.948463],[81.730547,67.907535],[81.881752,67.799273],[82.100343,67.724394],[82.109645,67.609],[82.386837,67.523605],[82.256096,67.409116],[82.352524,67.327984],[82.117293,67.243803],[82.795701,66.976584],[83.041784,66.891008],[83.16188,66.817989],[83.292828,66.663011],[83.078061,66.578882],[83.09098,66.459174],[83.262443,66.389436],[83.524649,66.172964],[83.380575,66.139529],[83.296136,66.05832],[83.521238,65.908329],[83.518138,65.822494],[84.030975,65.793039],[84.168331,65.70338],[84.319432,65.684415],[84.290907,65.613153],[84.429917,65.5514],[84.550219,65.433422],[84.585566,65.311104],[84.523348,65.21341],[84.388162,65.175247],[84.312818,65.098456],[84.386818,64.993863],[84.278918,64.940326],[84.470121,64.8902],[84.819764,64.930714],[84.967662,64.89144],[85.184393,64.750777],[85.61,64.827775],[85.858977,64.756358],[85.811951,64.656312],[85.916027,64.588487],[85.844507,64.501024],[85.950754,64.328529],[86.028062,64.279798],[85.934218,64.122753],[85.94817,64.053352],[85.533519,63.936718],[85.373115,63.808405],[85.333014,63.700789],[85.096749,63.534158],[85.276377,63.522376],[85.377869,63.466514],[85.410219,63.353188],[85.640592,63.374168],[85.46944,63.149195],[85.583955,63.053878],[85.518326,62.932567],[85.324332,62.869264],[85.225217,62.801232],[85.090031,62.637986],[84.95774,62.592872],[84.860898,62.451227],[84.745556,62.410351],[84.435704,62.177962],[84.289047,62.276225],[84.236957,62.37671],[84.09588,62.375108],[83.798224,62.560264],[83.532917,62.524814],[83.310708,62.457015],[83.033516,62.529517],[83.009952,62.594681],[82.741027,62.680154],[82.732656,62.757229],[82.287929,62.775083],[82.073471,62.800043],[81.83979,62.691936],[81.600425,62.773068],[81.349174,62.821153],[81.194972,62.949646],[81.074669,63.11744],[80.584157,63.082558],[80.574441,63.018996],[80.07318,62.826191],[79.91474,62.792033],[79.820069,62.603724],[78.793051,62.615093],[78.379433,62.567757],[77.966539,62.477996],[77.889024,62.557267],[77.326991,62.710436],[77.132171,62.812962],[77.026234,62.975019],[76.622641,63.03778],[76.289432,62.950008],[76.240236,63.018841],[75.802743,63.113977],[75.6997,63.09124],[75.363597,63.107828],[74.914528,63.032019],[74.507422,63.043232],[74.241081,63.17201],[73.36806,63.206943],[73.28393,63.315025],[73.103786,63.436257],[72.907002,63.393288],[72.655028,63.280169],[72.160795,63.299237],[71.963701,63.197073],[71.805468,63.218881],[71.60796,63.185239],[71.5691,63.551418],[71.387612,63.674615],[70.913842,63.692392],[70.813177,63.821712],[70.637684,63.903232],[70.569677,64.015421],[70.754782,64.100222],[70.768942,64.19355],[70.6721,64.236803],[70.472732,64.251608],[70.306851,64.343566],[69.999893,64.315894],[69.82533,64.341034],[69.693142,64.399997],[69.389594,64.388525],[69.244074,64.465833],[69.014837,64.471827],[68.859187,64.435705],[68.990446,64.329614],[68.810612,64.221248],[68.425002,64.295972],[68.178609,64.176161],[67.935626,64.117585],[67.809329,64.032009],[67.679104,64.079035],[67.280679,64.080611],[67.170918,64.162854],[66.818692,64.225615],[66.795851,64.321294],[66.891659,64.383461],[66.936307,64.487046],[66.681646,64.557455],[66.434012,64.515236],[66.146071,64.585929],[65.883452,64.568617],[65.399657,64.571356],[65.175898,64.445782],[64.995237,64.465885],[64.760833,64.426843],[64.622237,64.438677],[64.444263,64.356227],[64.016176,64.357442],[63.895666,64.287136],[63.611446,64.268481],[63.417142,64.323878],[63.502615,64.371136],[63.466648,64.450537],[63.214777,64.525958],[62.69915,64.492188],[62.532028,64.559987],[62.600448,64.645047],[62.802813,64.726282],[62.798989,64.847437],[62.678686,64.878056],[62.801469,65.05143],[62.816662,65.291571],[62.516526,65.338803],[62.373588,65.448874],[62.410589,65.515407],[62.278401,65.62292],[62.018468,65.717126],[62.504123,65.830917],[62.838573,65.869261],[62.807464,65.936596],[62.870199,66.079119],[63.065846,66.231927],[63.240616,66.31311],[63.305728,66.400237],[63.80854,66.547153],[63.969253,66.64632],[64.315589,66.667714],[64.566943,66.793649],[64.999165,66.865428],[65.11616,66.908319],[65.089805,67.054099],[65.190161,67.144997],[65.422188,67.215122],[65.707959,67.335012],[65.937195,67.393225],[66.110001,67.488775],[66.025872,67.576056],[65.836013,67.555153],[65.831155,67.642667],[66.205913,67.693026],[66.022358,67.794208],[66.08313,67.933631],[65.436554,67.919963],[65.289793,68.012335],[65.330101,68.084682],[65.27274,68.216405],[65.480479,68.430449],[65.654318,68.556177],[65.516652,68.588372],[65.32638,68.730017],[65.314908,68.803294],[65.064484,68.813991],[64.904287,68.871352],[64.554127,68.871404],[64.545136,69.032195],[64.989966,69.204717],[65.03624,69.268735]]],[[[76.250684,73.555273],[76.756055,73.445801],[76.659375,73.439502],[76.234473,73.476221],[76.083105,73.523486],[76.139551,73.554297],[76.250684,73.555273]]],[[[77.748535,72.631201],[78.279102,72.553223],[78.35293,72.504297],[78.365137,72.482422],[78.154492,72.416992],[78.007227,72.39248],[77.780859,72.308545],[77.63252,72.29126],[77.145605,72.281885],[76.905957,72.297656],[76.871094,72.317041],[76.903125,72.365576],[77.149512,72.439209],[77.260449,72.486133],[77.377832,72.565283],[77.578711,72.630859],[77.748535,72.631201]]],[[[74.408789,73.130469],[74.599902,73.121777],[74.725293,73.108154],[74.961523,73.0625],[74.742578,73.032715],[74.647266,72.969043],[74.660156,72.929297],[74.697168,72.907715],[74.660547,72.873437],[74.638379,72.86377],[74.588086,72.881152],[74.434766,72.907666],[74.180664,72.975342],[74.100195,73.021533],[74.142383,73.074365],[74.198535,73.109082],[74.408789,73.130469]]],[[[76.051562,73.549268],[75.900977,73.481494],[75.827148,73.459131],[75.503711,73.456641],[75.344336,73.432275],[75.375,73.477393],[75.569727,73.540625],[75.930176,73.573633],[76.039453,73.559912],[76.051562,73.549268]]],[[[66.457715,70.698779],[66.560938,70.541748],[66.568555,70.501465],[66.51582,70.514893],[66.448633,70.561035],[66.407617,70.615771],[66.394824,70.727295],[66.418164,70.757129],[66.440234,70.772656],[66.462891,70.769336],[66.457715,70.698779]]],[[[67.216113,69.575391],[67.328906,69.572119],[67.344922,69.529834],[67.263965,69.442529],[67.097852,69.447168],[67.047266,69.467041],[67.025879,69.483203],[67.216113,69.575391]]],[[[71.444922,73.34209],[71.589551,73.283154],[71.630469,73.224805],[71.626172,73.173975],[71.355664,73.162451],[70.886719,73.119629],[70.673926,73.09502],[70.380371,73.048096],[70.29834,73.044482],[70.118652,73.056299],[70.040723,73.037158],[69.920117,73.084521],[69.930371,73.126611],[69.985645,73.169238],[70.01875,73.224316],[69.995898,73.359375],[70.149609,73.444727],[70.35,73.477637],[70.940234,73.514404],[71.023242,73.504199],[71.141211,73.477979],[71.231641,73.447754],[71.351172,73.372217],[71.444922,73.34209]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"RUS-2383","diss_me":2383,"iso_3166_2":"RU-KO","wikipedia":null,"iso_a2":"RU","adm0_sr":1,"name":"Komi","name_alt":"Komi A.S.S.R.|Republic of Komi|Respublika Komi","name_local":"Республика Коми","type":"Respublika","type_en":"Republic","code_local":null,"code_hasc":"RU.KO","note":null,"hasc_maybe":null,"region":"Northwestern","region_cod":null,"provnum_ne":20069,"gadm_level":1,"check_me":20,"datarank":2,"abbrev":null,"postal":"KO","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":4,"mapcolor9":7,"mapcolor13":7,"fips":"RS34","fips_alt":null,"woe_id":2346874,"woe_label":"Komi, RU, Russia","woe_name":"Komi","latitude":64.1194,"longitude":55.8183,"sov_a3":"RUS","adm0_a3":"RUS","adm0_label":2,"admin":"Russia","geonunit":"Russia","gu_a3":"RUS","gn_id":545854,"gn_name":"Respublika Komi","gns_id":-2931736,"gns_name":"Komi, Respublika","gn_level":1,"gn_region":null,"gn_a1_code":"RU.34","region_sub":"Northern","sub_code":null,"gns_level":1,"gns_lang":"rus","gns_adm1":"RS34","gns_region":null,"min_label":5,"max_label":10.2,"min_zoom":4.7,"wikidataid":"Q2073","name_ar":"جمهورية كومي","name_bn":"কোমি রিপাবলিক","name_de":"Republik Komi","name_en":"Komi Republic","name_es":"Komi","name_fr":"république des Komis","name_el":"Δημοκρατία των Κόμι","name_hi":"कोमी गणराज्य","name_hu":"Komiföld","name_id":"Republik Komi","name_it":"Repubblica dei Komi","name_ja":"コミ共和国","name_ko":"코미 공화국","name_nl":"Komi","name_pl":"Republika Komi","name_pt":"República de Komi","name_ru":"Республика Коми","name_sv":"Komi","name_tr":"Komi Cumhuriyeti","name_vi":"Cộng hòa Komi","name_zh":"科米共和国","ne_id":1159313197,"name_he":"רפובליקת קומי","name_uk":"Республіка Комі","name_ur":"کومی جمہوریہ","name_fa":"کومی","name_zht":"科米共和国","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[45.442219,59.208376,66.205913,68.430449],"geometry":{"type":"Polygon","coordinates":[[[59.348657,61.682178],[59.113942,61.615154],[59.023302,61.552393],[58.691539,61.502732],[57.204395,61.510871],[57.085953,61.48803],[56.70241,61.524772],[56.5449,61.435088],[56.390801,61.420231],[56.257373,61.206342],[55.841067,61.249647],[55.690172,61.08622],[55.315621,61.123039],[55.213715,61.018963],[55.062097,61.00899],[54.979518,60.86383],[53.853488,60.980206],[53.791063,60.847759],[53.353984,60.893441],[53.348713,61.037257],[52.876494,61.093842],[52.789781,60.94889],[52.442308,60.979637],[52.354769,60.843909],[51.889784,60.875819],[51.774235,60.605603],[52.1338,60.546847],[52.138451,60.472847],[52.323866,60.432126],[52.297821,60.241595],[52.060936,60.316913],[51.900429,60.24423],[51.802244,60.115246],[51.521331,59.946212],[51.421079,59.943422],[51.307184,60.028016],[51.075363,60.060727],[50.830107,59.870764],[50.386413,59.8395],[50.211747,59.754105],[49.998633,59.776765],[50.040388,59.681887],[49.833992,59.638143],[49.794925,59.233077],[49.663667,59.208376],[49.527344,59.235144],[49.524864,59.39746],[49.363116,59.415805],[49.15145,59.505515],[49.038795,59.500477],[49.072592,59.659615],[48.562028,59.699354],[48.507561,59.715115],[48.492575,59.988716],[48.456092,60.115349],[48.497226,60.218288],[48.754678,60.361225],[48.51862,60.476464],[48.538361,60.564366],[48.418988,60.853805],[48.44648,60.984107],[48.509318,61.047747],[48.888727,61.14123],[49.097913,61.174974],[49.302242,61.176163],[49.461405,61.586112],[49.417273,61.618255],[49.096776,61.658097],[49.051611,61.690963],[49.212738,62.091146],[49.369421,62.149385],[49.608993,62.770226],[48.875084,62.829137],[48.714474,62.815546],[48.628588,62.705837],[48.366071,62.729298],[48.236777,62.472983],[48.290831,62.321623],[47.751122,62.321829],[47.649836,62.296663],[47.621001,62.185455],[47.413365,62.192793],[47.386286,62.320434],[47.234874,62.351492],[47.237665,62.63566],[47.082636,62.839627],[47.399515,62.954814],[47.515787,63.036773],[47.554648,63.148497],[47.366029,63.167204],[47.090904,63.246476],[46.936598,63.351921],[47.026205,63.530567],[46.969567,63.640147],[46.819189,63.746962],[46.43575,63.887729],[46.109878,63.945813],[45.883639,63.964313],[45.593011,64.063945],[45.442219,64.187504],[45.824521,64.283622],[46.322889,64.264708],[46.61145,64.326565],[48.115751,64.348114],[48.196159,64.238922],[48.408343,64.22422],[48.51831,64.355504],[48.840151,64.357312],[48.950015,64.490612],[49.45014,64.462991],[49.626666,64.591717],[50.273345,64.51291],[50.348379,64.537663],[50.467442,64.791601],[50.15976,64.847308],[50.063022,64.8902],[49.66315,65.25457],[49.567445,65.292087],[49.021329,65.238292],[48.989393,65.268523],[49.006032,66.119117],[51.510169,66.783262],[51.494563,66.907389],[51.810719,66.954208],[51.83573,66.995394],[52.245525,67.089135],[53.77246,66.998546],[58.789621,66.999683],[59.917718,67.001595],[60.082049,66.989865],[61.431734,66.999683],[61.694767,67.030017],[61.85052,67.126136],[62.821313,67.388032],[62.871233,67.579648],[63.160517,67.690881],[63.445254,67.770954],[63.689684,67.762066],[63.944242,67.88366],[63.829004,68.017244],[64.324787,68.134084],[64.530253,68.200127],[64.522811,68.343787],[64.745123,68.404455],[65.480479,68.430449],[65.27274,68.216405],[65.330101,68.084682],[65.289793,68.012335],[65.436554,67.919963],[66.08313,67.933631],[66.022358,67.794208],[66.205913,67.693026],[65.831155,67.642667],[65.836013,67.555153],[66.025872,67.576056],[66.110001,67.488775],[65.937195,67.393225],[65.707959,67.335012],[65.422188,67.215122],[65.190161,67.144997],[65.089805,67.054099],[65.11616,66.908319],[64.999165,66.865428],[64.566943,66.793649],[64.315589,66.667714],[63.969253,66.64632],[63.80854,66.547153],[63.305728,66.400237],[63.240616,66.31311],[63.065846,66.231927],[62.870199,66.079119],[62.807464,65.936596],[62.838573,65.869261],[62.504123,65.830917],[62.018468,65.717126],[61.881939,65.70183],[61.510592,65.500498],[61.263062,65.307384],[61.240531,65.191887],[61.106689,65.160829],[61.002819,65.060319],[60.830944,65.051378],[60.676534,64.912317],[60.304981,65.071429],[60.147368,65.064789],[59.888986,64.90131],[59.749873,64.85891],[59.647553,64.772429],[59.704087,64.667681],[59.484152,64.497252],[59.589262,64.467073],[59.633084,64.34367],[59.588435,64.232643],[59.838136,64.080068],[59.761448,63.995836],[59.584405,63.938268],[59.520946,63.790525],[59.493764,63.610536],[59.292226,63.34218],[59.32964,63.273864],[59.231661,63.089069],[59.278067,62.970239],[59.483119,62.892389],[59.394132,62.731417],[59.526527,62.541351],[59.643729,62.510267],[59.564871,62.335007],[59.507407,62.306791],[59.404054,62.108044],[59.485393,61.993271],[59.345143,61.856586],[59.388861,61.74419],[59.348657,61.682178]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"RUS-2384","diss_me":2384,"iso_3166_2":"RU-KIR","wikipedia":null,"iso_a2":"RU","adm0_sr":1,"name":"Kirov","name_alt":"Vyatka|Vyatskaya G.|Kirovskaya Oblast","name_local":"Кировская область","type":"Oblast","type_en":"Region","code_local":null,"code_hasc":"RU.KV","note":null,"hasc_maybe":null,"region":"Volga","region_cod":null,"provnum_ne":20071,"gadm_level":1,"check_me":20,"datarank":2,"abbrev":null,"postal":"KV","area_sqkm":0,"sameascity":6,"labelrank":6,"name_len":5,"mapcolor9":7,"mapcolor13":7,"fips":"RS33","fips_alt":null,"woe_id":2346902,"woe_label":"Kirovskaya Oblast, RU, Russia","woe_name":"Kirov","latitude":58.1926,"longitude":50.1112,"sov_a3":"RUS","adm0_a3":"RUS","adm0_label":2,"admin":"Russia","geonunit":"Russia","gu_a3":"RUS","gn_id":548389,"gn_name":"Kirovskaya Oblast'","gns_id":-2928308,"gns_name":"Kirovskaya Oblast'","gn_level":1,"gn_region":null,"gn_a1_code":"RU.33","region_sub":"Volga-Vyatka","sub_code":null,"gns_level":1,"gns_lang":"rus","gns_adm1":"RS33","gns_region":null,"min_label":5,"max_label":10.2,"min_zoom":4.7,"wikidataid":"Q5387","name_ar":"أوبلاست كيروف","name_bn":"কিরোভ ওব্লাস্ট","name_de":"Kirow","name_en":"Kirov","name_es":"Kírov","name_fr":"Kirov","name_el":"Όμπλαστ του Κίροφ","name_hi":"किरोव ओब्लास्ट","name_hu":"Kirovi terület","name_id":"Kirov","name_it":"Kirov","name_ja":"キーロフ州","name_ko":"키로프","name_nl":"Kirov","name_pl":"kirowski","name_pt":"Kirov","name_ru":"Кировская область","name_sv":"Kirov","name_tr":"Kirov Oblastı","name_vi":"Kirov","name_zh":"基洛夫州","ne_id":1159313199,"name_he":"מחוז קירוב","name_uk":"Кіровська область","name_ur":"کیروف اوبلاست","name_fa":"استان کیروف","name_zht":"基洛夫州","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[46.341285,56.099909,53.922011,61.059116],"geometry":{"type":"Polygon","coordinates":[[[51.436478,56.144429],[51.224398,56.099909],[51.07309,56.130528],[50.837238,56.248376],[50.907828,56.295996],[50.851191,56.390253],[50.705567,56.329921],[50.586091,56.366534],[50.497414,56.511021],[50.34962,56.669513],[50.072014,56.622746],[50.101263,56.792399],[50.016927,56.863661],[49.741801,56.899525],[49.69984,57.073416],[49.529101,57.072615],[49.410866,57.025357],[49.284982,57.039103],[49.149693,57.150233],[49.213048,57.29149],[49.034764,57.288183],[49.039209,57.222451],[48.960557,57.089332],[48.822271,57.16354],[48.569366,57.172428],[48.451441,57.128348],[48.293001,57.163281],[48.202257,57.028147],[47.909769,56.982646],[47.769932,57.060135],[47.508966,56.893427],[47.174103,56.814129],[47.160977,56.90123],[46.950654,56.944638],[46.82291,56.930427],[46.714906,56.966342],[46.762552,57.030214],[46.742191,57.204622],[46.789837,57.28131],[46.695166,57.320455],[46.750149,57.517265],[47.054213,57.498299],[47.248724,57.567339],[47.471036,57.52853],[47.521162,57.586098],[47.572115,57.810425],[47.762284,57.876003],[47.703063,57.958375],[47.451502,57.987365],[47.354247,58.025502],[46.429859,58.02049],[46.341285,58.074647],[46.406915,58.20867],[46.423658,58.34693],[46.540963,58.397263],[46.554089,58.487696],[46.687311,58.566916],[46.947243,58.606552],[47.119946,58.775017],[47.259576,58.756311],[47.312906,58.806928],[47.2819,58.892995],[47.452432,58.921055],[47.60219,58.906689],[47.570874,59.059858],[47.239215,59.22021],[47.252444,59.355499],[47.056281,59.378546],[47.113538,59.611297],[47.112608,59.752684],[46.934944,59.78909],[46.922645,59.843893],[47.036437,60.099536],[46.608453,60.067316],[46.404124,60.106822],[46.34914,60.214361],[46.440814,60.271412],[46.749529,60.261128],[46.807097,60.318334],[46.862494,60.507315],[47.048839,60.575166],[46.959129,60.660225],[47.083772,60.818588],[47.042948,60.853805],[47.10372,60.956073],[47.244796,61.05617],[47.568497,61.059116],[47.965476,60.999352],[47.984183,60.89649],[48.418988,60.853805],[48.538361,60.564366],[48.51862,60.476464],[48.754678,60.361225],[48.497226,60.218288],[48.456092,60.115349],[48.492575,59.988716],[48.507561,59.715115],[48.562028,59.699354],[49.072592,59.659615],[49.038795,59.500477],[49.15145,59.505515],[49.363116,59.415805],[49.524864,59.39746],[49.527344,59.235144],[49.663667,59.208376],[49.794925,59.233077],[49.833992,59.638143],[50.040388,59.681887],[49.998633,59.776765],[50.211747,59.754105],[50.386413,59.8395],[50.830107,59.870764],[51.075363,60.060727],[51.307184,60.028016],[51.421079,59.943422],[51.521331,59.946212],[51.802244,60.115246],[51.900429,60.24423],[52.060936,60.316913],[52.297821,60.241595],[52.453781,60.200512],[53.358118,60.166457],[53.457234,60.204801],[53.607612,60.142738],[53.706521,60.001196],[53.657635,59.824359],[53.592109,59.7085],[53.418373,59.678476],[53.354294,59.500813],[53.205776,59.364],[53.334554,59.185173],[53.433669,59.143832],[53.876536,59.092802],[53.766569,59.021514],[53.726468,58.916818],[53.821346,58.821087],[53.922011,58.782821],[53.750136,58.696779],[53.70466,58.594977],[53.784552,58.439896],[53.498368,58.450334],[53.339515,58.388581],[53.165055,58.456174],[53.130018,58.537125],[52.921349,58.534309],[52.870086,58.410621],[52.328724,58.450334],[52.167183,58.489608],[51.971019,58.464132],[51.796146,58.361296],[51.791495,58.281146],[51.673466,58.166062],[51.766484,58.141464],[51.793252,58.043021],[51.884616,57.986383],[51.85175,57.842465],[51.92389,57.816859],[51.862085,57.647334],[51.748087,57.546152],[51.640083,57.544369],[51.600913,57.45701],[51.397204,57.478094],[51.181403,57.446571],[51.120425,57.265497],[51.193289,57.202814],[51.227499,57.067473],[51.35886,56.927327],[51.540451,56.882988],[51.400305,56.767078],[51.378601,56.6799],[51.205691,56.670288],[51.145333,56.51469],[51.272767,56.43994],[51.319896,56.32912],[51.420355,56.283593],[51.436478,56.144429]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"RUS-2385","diss_me":2385,"iso_3166_2":"RU-ME","wikipedia":null,"iso_a2":"RU","adm0_sr":1,"name":"Mariy-El","name_alt":"Mari|Mari-El|Republic of Mari El|Mariyskaya A.S.S.R.|Respublika Mariy El","name_local":"Республика Марий Эл","type":"Respublika","type_en":"Republic","code_local":null,"code_hasc":"RU.ME","note":null,"hasc_maybe":null,"region":"Volga","region_cod":null,"provnum_ne":20072,"gadm_level":1,"check_me":20,"datarank":2,"abbrev":null,"postal":"ME","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":8,"mapcolor9":7,"mapcolor13":7,"fips":"RS45","fips_alt":null,"woe_id":2346875,"woe_label":"Mariy-El, RU, Russia","woe_name":"Mariy-El","latitude":56.5407,"longitude":47.9131,"sov_a3":"RUS","adm0_a3":"RUS","adm0_label":2,"admin":"Russia","geonunit":"Russia","gu_a3":"RUS","gn_id":529352,"gn_name":"Respublika Mariy-El","gns_id":-2954338,"gns_name":"Mariy-El, Respublika","gn_level":1,"gn_region":null,"gn_a1_code":"RU.45","region_sub":"Volga-Vyatka","sub_code":null,"gns_level":1,"gns_lang":"rus","gns_adm1":"RS45","gns_region":null,"min_label":5,"max_label":10.2,"min_zoom":4.7,"wikidataid":"Q5446","name_ar":"ماري إل","name_bn":"মারি এল প্রজাতন্ত্র","name_de":"Mari El","name_en":"Mari El Republic","name_es":"Mari-El","name_fr":"république des Maris","name_el":"Δημοκρατία της Μαρί Ελ","name_hi":"मरी ऍल","name_hu":"Mariföld","name_id":"Mari El","name_it":"Repubblica dei Mari","name_ja":"マリ・エル共和国","name_ko":"마리옐 공화국","name_nl":"Mari El","name_pl":"Mari El","name_pt":"Mari El","name_ru":"Марий Эл","name_sv":"Marij El","name_tr":"Mari El","name_vi":"Cộng hòa Mari El","name_zh":"马里埃尔共和国","ne_id":1159313201,"name_he":"מארי אל","name_uk":"Марій Ел","name_ur":"ماری ال","name_fa":"ماری ال","name_zht":"马里埃尔共和国","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[45.650992,55.829357,50.179914,57.29149],"geometry":{"type":"Polygon","coordinates":[[[50.072014,56.622746],[50.179914,56.549468],[50.024575,56.459552],[49.885048,56.441775],[49.764539,56.535929],[49.577677,56.504717],[49.557937,56.441491],[49.275887,56.353201],[49.037038,56.357852],[49.015748,56.232692],[48.834673,56.071746],[48.690083,56.067715],[48.694113,55.964646],[48.401005,55.887752],[48.412373,55.829357],[48.285043,55.845946],[48.023973,55.936586],[47.905118,56.113836],[47.828947,56.145359],[47.529327,56.154299],[47.436722,56.188457],[47.384736,56.330076],[47.276629,56.335166],[47.05566,56.287727],[46.657959,56.119521],[46.402367,56.119211],[46.213955,56.049809],[46.092205,56.056372],[46.06771,56.18192],[45.87382,56.25884],[45.946064,56.324986],[45.948958,56.433222],[45.788658,56.424825],[45.662671,56.460921],[45.650992,56.59081],[45.858938,56.629128],[45.95857,56.872084],[46.312657,56.906966],[46.336014,56.95208],[46.601011,56.919963],[46.714906,56.966342],[46.82291,56.930427],[46.950654,56.944638],[47.160977,56.90123],[47.174103,56.814129],[47.508966,56.893427],[47.769932,57.060135],[47.909769,56.982646],[48.202257,57.028147],[48.293001,57.163281],[48.451441,57.128348],[48.569366,57.172428],[48.822271,57.16354],[48.960557,57.089332],[49.039209,57.222451],[49.034764,57.288183],[49.213048,57.29149],[49.149693,57.150233],[49.284982,57.039103],[49.410866,57.025357],[49.529101,57.072615],[49.69984,57.073416],[49.741801,56.899525],[50.016927,56.863661],[50.101263,56.792399],[50.072014,56.622746]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"RUS-2386","diss_me":2386,"iso_3166_2":"RU-SVE","wikipedia":null,"iso_a2":"RU","adm0_sr":1,"name":"Sverdlovsk","name_alt":"Yekaterinburg|Sverdlovskaya Oblast","name_local":"Свердловская область","type":"Oblast","type_en":"Region","code_local":null,"code_hasc":"RU.SV","note":null,"hasc_maybe":null,"region":"Urals","region_cod":null,"provnum_ne":7,"gadm_level":1,"check_me":20,"datarank":2,"abbrev":null,"postal":"SV","area_sqkm":0,"sameascity":6,"labelrank":6,"name_len":10,"mapcolor9":7,"mapcolor13":7,"fips":"RS71","fips_alt":null,"woe_id":2346926,"woe_label":"Sverdlovskaya Oblast, RU, Russia","woe_name":"Sverdlovsk","latitude":58.8952,"longitude":61.7078,"sov_a3":"RUS","adm0_a3":"RUS","adm0_label":2,"admin":"Russia","geonunit":"Russia","gu_a3":"RUS","gn_id":1490542,"gn_name":"Sverdlovskaya Oblast'","gns_id":-3014006,"gns_name":"Sverdlovskaya Oblast'","gn_level":1,"gn_region":null,"gn_a1_code":"RU.71","region_sub":"Urals","sub_code":null,"gns_level":1,"gns_lang":"fas","gns_adm1":"RS71","gns_region":null,"min_label":5,"max_label":10.2,"min_zoom":4.7,"wikidataid":"Q5462","name_ar":"أوبلاست سفردلوفسك","name_bn":"ভার্দলোভস্ক ওব্লাস্ট","name_de":"Swerdlowsk","name_en":"Sverdlovsk","name_es":"Sverdlovsk","name_fr":"Sverdlovsk","name_el":"Όμπλαστ του Σβερντλόφσκ","name_hi":"स्वर्दलोव्स्क ओब्लास्ट","name_hu":"Szverdlovszki terület","name_id":"Sverdlovsk","name_it":"Sverdlovsk","name_ja":"スヴェルドロフスク州","name_ko":"스베르들롭스크","name_nl":"Sverdlovsk","name_pl":"swierdłowski","name_pt":"Sverdlovsk","name_ru":"Свердловская область","name_sv":"Sverdlovsk","name_tr":"Sverdlovsk Oblastı","name_vi":"Sverdlovsk","name_zh":"斯维尔德洛夫斯克州","ne_id":1159313225,"name_he":"מחוז סברדלובסק","name_uk":"Свердловська область","name_ur":"سوردلووسک اوبلاست","name_fa":"استان سوردلوفسک","name_zht":"斯維爾德洛夫斯克州","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[57.218658,56.062754,66.196611,61.993271],"geometry":{"type":"Polygon","coordinates":[[[59.485393,61.993271],[59.651894,61.936478],[59.779432,61.952343],[59.984277,61.902785],[59.987688,61.747084],[60.056624,61.721194],[60.430865,61.747084],[60.759423,61.703624],[61.165187,61.682747],[61.900232,61.433563],[61.933409,61.404108],[62.419684,61.305096],[62.620085,61.210734],[62.85976,61.001264],[62.759715,60.859438],[62.881154,60.639968],[63.090961,60.459617],[63.220048,60.300506],[63.197311,60.242008],[63.437503,60.158551],[63.589432,60.154985],[63.694438,60.001351],[63.795517,59.791596],[63.825076,59.477042],[63.980002,59.405522],[64.120975,59.390768],[64.32427,59.411206],[65.001645,59.33767],[65.184683,59.22331],[65.382294,58.919091],[65.668995,58.663293],[65.934508,58.614355],[66.001894,58.297475],[66.196611,58.032505],[65.702274,57.901272],[65.539597,57.779523],[65.427872,57.833938],[64.839278,57.64072],[64.93674,57.548581],[64.841655,57.446055],[64.917516,57.296348],[64.991827,57.221314],[64.993687,57.041531],[65.101381,56.892032],[65.227264,56.860354],[65.140345,56.770127],[64.995444,56.768267],[64.825842,56.841079],[64.542138,56.808419],[64.483951,56.760205],[64.336983,56.752712],[64.35662,56.652925],[64.219264,56.600835],[64.237454,56.519393],[64.173272,56.468388],[63.766475,56.507972],[63.447735,56.609723],[63.358541,56.563369],[63.097782,56.568899],[63.001147,56.597993],[62.590216,56.52363],[62.542157,56.577736],[62.332971,56.469163],[62.252562,56.36271],[62.08265,56.291035],[62.071798,56.133525],[61.863542,56.180705],[61.816103,56.23941],[61.641954,56.319405],[61.53705,56.297443],[61.384915,56.366999],[61.267299,56.331394],[61.150097,56.375784],[61.084158,56.32571],[61.150304,56.217034],[60.908975,56.188095],[60.750845,56.237343],[60.584757,56.21352],[60.314799,56.238221],[60.239559,56.209179],[59.920818,56.26468],[59.788733,56.23264],[59.701297,56.306072],[59.349174,56.317906],[59.194351,56.351806],[59.122107,56.317235],[59.134613,56.205975],[59.026299,56.169388],[58.943514,56.065674],[58.746523,56.062754],[58.543021,56.163084],[58.307687,56.104534],[58.07938,56.141018],[57.907194,56.11549],[57.802085,56.15063],[57.537191,56.100194],[57.410791,56.235379],[57.408414,56.32912],[57.317463,56.373355],[57.37286,56.551975],[57.357564,56.681243],[57.218658,56.853016],[57.323044,56.919885],[57.559619,56.888311],[57.824616,56.974249],[57.868954,57.057965],[58.029874,57.099357],[58.038556,57.236507],[57.937994,57.331953],[57.995148,57.477319],[58.268103,57.669788],[58.436464,57.675963],[58.457755,57.587596],[58.579815,57.594366],[58.829825,57.726244],[58.864139,57.82722],[58.755825,57.848356],[58.60462,57.995633],[58.67831,58.1071],[58.868479,58.205491],[58.970592,58.199807],[59.202516,58.304607],[59.280547,58.412817],[59.45604,58.492761],[59.388551,58.590119],[59.387621,58.703291],[59.186393,58.710732],[59.08273,58.769333],[59.06578,58.884132],[59.181225,58.952991],[59.091102,59.021979],[59.175334,59.146519],[59.003458,59.230649],[58.669525,59.293229],[58.508398,59.440041],[58.310891,59.46805],[58.403081,59.552283],[58.451037,59.705038],[58.581882,59.715839],[58.675106,59.859241],[58.805021,59.862806],[58.849049,59.925567],[58.988575,59.927764],[58.9616,60.004942],[59.18846,60.277871],[59.168513,60.373705],[59.23931,60.480236],[59.385347,60.573512],[59.467719,60.807865],[59.457591,60.952972],[59.372945,60.970491],[59.358475,61.142857],[59.261014,61.222181],[59.317238,61.377288],[59.405811,61.417931],[59.428445,61.506944],[59.348657,61.682178],[59.388861,61.74419],[59.345143,61.856586],[59.485393,61.993271]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"RUS-2387","diss_me":2387,"iso_3166_2":"RU-UD","wikipedia":null,"iso_a2":"RU","adm0_sr":1,"name":"Udmurt","name_alt":"Udmurtiya|Udmurt Republic|Udmurtskaya A.S.S.R.|Udmurtskaya Respublika","name_local":"Удмуртская Республика","type":"Respublika","type_en":"Republic","code_local":null,"code_hasc":"RU.UD","note":null,"hasc_maybe":null,"region":"Volga","region_cod":null,"provnum_ne":20070,"gadm_level":1,"check_me":20,"datarank":2,"abbrev":null,"postal":"UD","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":6,"mapcolor9":7,"mapcolor13":7,"fips":"RS80","fips_alt":null,"woe_id":2346880,"woe_label":"Udmurtiya, RU, Russia","woe_name":"Udmurt","latitude":57.3433,"longitude":52.7957,"sov_a3":"RUS","adm0_a3":"RUS","adm0_label":2,"admin":"Russia","geonunit":"Russia","gu_a3":"RUS","gn_id":479613,"gn_name":"Udmurtskaya Respublika","gns_id":-3023910,"gns_name":"Udmurtskaya Respublika","gn_level":1,"gn_region":null,"gn_a1_code":"RU.80","region_sub":"Urals","sub_code":null,"gns_level":1,"gns_lang":"fas","gns_adm1":"RS80","gns_region":null,"min_label":5,"max_label":10.2,"min_zoom":4.7,"wikidataid":"Q5422","name_ar":"أودمورتيا","name_bn":"আডমুর্ত রিপাবলিক","name_de":"Udmurtien","name_en":"Udmurt Republic","name_es":"Udmurtia","name_fr":"Oudmourtie","name_el":"Δημοκρατία των Ουντμούρτ","name_hi":"उदमूर्तिया","name_hu":"Udmurtföld","name_id":"Udmurtia","name_it":"Udmurtia","name_ja":"ウドムルト共和国","name_ko":"우드무르트 공화국","name_nl":"Oedmoertië","name_pl":"Udmurcja","name_pt":"Udmúrtia","name_ru":"Удмуртия","name_sv":"Udmurtien","name_tr":"Udmurtya","name_vi":"Udmurtia","name_zh":"乌德穆尔特共和国","ne_id":1159313203,"name_he":"אודמורטיה","name_uk":"Удмуртія","name_ur":"ادمورتیا","name_fa":"اودمورتیا","name_zht":"乌德穆尔特共和国","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[51.120425,55.85827,54.352476,58.537125],"geometry":{"type":"Polygon","coordinates":[[[53.631693,55.906691],[53.289078,55.85827],[53.276469,55.935346],[53.405454,56.022989],[53.563997,56.181067],[53.550871,56.241012],[53.427158,56.276539],[53.260346,56.253879],[53.335587,56.156521],[53.273059,56.084691],[52.958246,56.252226],[52.945017,56.366069],[53.080099,56.526602],[52.934475,56.538126],[52.90812,56.415885],[52.733247,56.37842],[52.561991,56.259435],[52.711233,56.230367],[52.839183,56.163084],[52.794225,56.094768],[52.655319,56.017821],[52.472694,56.074407],[52.439311,56.033376],[52.195398,56.077146],[52.242011,55.964543],[52.16801,55.8985],[52.06445,55.896123],[51.937533,55.973716],[51.828599,55.917982],[51.632642,55.952296],[51.441853,55.924649],[51.399065,55.993637],[51.500557,56.082365],[51.436478,56.144429],[51.420355,56.283593],[51.319896,56.32912],[51.272767,56.43994],[51.145333,56.51469],[51.205691,56.670288],[51.378601,56.6799],[51.400305,56.767078],[51.540451,56.882988],[51.35886,56.927327],[51.227499,57.067473],[51.193289,57.202814],[51.120425,57.265497],[51.181403,57.446571],[51.397204,57.478094],[51.600913,57.45701],[51.640083,57.544369],[51.748087,57.546152],[51.862085,57.647334],[51.92389,57.816859],[51.85175,57.842465],[51.884616,57.986383],[51.793252,58.043021],[51.766484,58.141464],[51.673466,58.166062],[51.791495,58.281146],[51.796146,58.361296],[51.971019,58.464132],[52.167183,58.489608],[52.328724,58.450334],[52.870086,58.410621],[52.921349,58.534309],[53.130018,58.537125],[53.165055,58.456174],[53.339515,58.388581],[53.498368,58.450334],[53.784552,58.439896],[53.886045,58.319102],[53.810184,58.228126],[54.087169,57.994238],[54.156312,57.706245],[54.095954,57.60744],[54.168405,57.558864],[54.188455,57.462746],[54.158173,57.314254],[54.314339,57.290509],[54.294702,57.083596],[54.341107,57.011869],[54.098641,56.965929],[54.088409,56.77116],[53.869095,56.713154],[53.959115,56.631582],[54.168301,56.534482],[54.244989,56.431853],[54.352476,56.358524],[54.345758,56.252587],[54.117245,56.158226],[54.046758,56.057974],[53.837779,56.038647],[53.777421,55.970227],[53.631693,55.906691]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"RUS-2388","diss_me":2388,"iso_3166_2":"RU-AST","wikipedia":null,"iso_a2":"RU","adm0_sr":4,"name":"Astrakhan'","name_alt":"Astrachan|Astrakhanskaya Oblast","name_local":"Астраханская область","type":"Oblast","type_en":"Region","code_local":null,"code_hasc":"RU.AS","note":null,"hasc_maybe":null,"region":"Volga","region_cod":null,"provnum_ne":20025,"gadm_level":1,"check_me":20,"datarank":2,"abbrev":null,"postal":"AS","area_sqkm":0,"sameascity":7,"labelrank":7,"name_len":10,"mapcolor9":7,"mapcolor13":7,"fips":"RS07","fips_alt":null,"woe_id":2346890,"woe_label":"Astrakhanskaya Oblast, RU, Russia","woe_name":"Astrakhan'","latitude":47.0334,"longitude":47.7227,"sov_a3":"RUS","adm0_a3":"RUS","adm0_label":2,"admin":"Russia","geonunit":"Russia","gu_a3":"RUS","gn_id":580491,"gn_name":"Astrakhanskaya Oblast'","gns_id":-2880031,"gns_name":"Astrakhanskaya Oblast'","gn_level":1,"gn_region":null,"gn_a1_code":"RU.07","region_sub":"Volga","sub_code":null,"gns_level":1,"gns_lang":"rus","gns_adm1":"RS07","gns_region":null,"min_label":5,"max_label":10.2,"min_zoom":4.7,"wikidataid":"Q3941","name_ar":"أوبلاست أستراخان","name_bn":"আস্ট্রখান ওব্লাস্ট","name_de":"Astrachan","name_en":"Astrakhan","name_es":"Astracán","name_fr":"d'Astrakhan","name_el":"Όμπλαστ του Άστραχαν","name_hi":"अस्त्राखान ओब्लास्ट","name_hu":"Asztraháni terület","name_id":"Astrakhan","name_it":"Astrachan'","name_ja":"アストラハン州","name_ko":"아스트라한","name_nl":"Astrachan","name_pl":"astrachański","name_pt":"Astracã","name_ru":"Астраханская область","name_sv":"Astrachan","name_tr":"Astrahan Oblastı","name_vi":"Astrakhan","name_zh":"阿斯特拉罕州","ne_id":1159312521,"name_he":"מחוז אסטרחן","name_uk":"Астраханська область","name_ur":"استراخان اوبلاست","name_fa":"استان آستراخان","name_zht":"阿斯特拉罕州","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[44.987363,45.469971,49.245898,48.868904],"geometry":{"type":"MultiPolygon","coordinates":[[[[47.987109,45.554053],[47.983008,45.488232],[47.967676,45.469971],[47.920313,45.562061],[47.917578,45.618164],[47.947168,45.64707],[47.987109,45.554053]]],[[[46.643564,48.659068],[46.609228,48.573883],[46.660904,48.412239],[46.85314,48.323588],[47.004346,48.284469],[47.0646,48.232457],[47.119016,48.126985],[47.111574,48.020118],[47.093281,47.94772],[47.130798,47.876768],[47.20206,47.792458],[47.292338,47.740936],[47.387268,47.768661],[47.481939,47.803904],[47.600175,47.790003],[47.934677,47.760703],[48.109963,47.745406],[48.167014,47.708768],[48.275689,47.589964],[48.413097,47.456483],[48.55252,47.320988],[48.600682,47.262309],[48.714319,47.100485],[48.831883,46.954938],[48.959317,46.774587],[48.950325,46.725779],[48.883611,46.705418],[48.776382,46.710327],[48.693597,46.736837],[48.647088,46.758697],[48.605333,46.765931],[48.558359,46.757146],[48.518517,46.734305],[48.502394,46.698649],[48.509215,46.649969],[48.541151,46.605631],[48.586006,46.577106],[48.610139,46.56646],[48.774315,46.507937],[48.958955,46.442127],[49.184264,46.348851],[49.232227,46.337158],[49.245898,46.291602],[49.125488,46.281738],[49.110645,46.228467],[49.07959,46.189209],[48.809961,46.100488],[48.742578,46.100732],[48.683691,46.086182],[48.687305,46.02876],[48.703418,45.976221],[48.749609,45.920557],[48.72959,45.896826],[48.689648,45.888867],[48.637402,45.905762],[48.589063,45.934863],[48.537305,45.942139],[48.487012,45.934863],[48.257617,45.777783],[48.15918,45.737012],[48.052832,45.720996],[47.830176,45.663037],[47.763965,45.665967],[47.701074,45.686182],[47.649805,45.656738],[47.633301,45.584033],[47.574023,45.634277],[47.508398,45.67417],[47.479395,45.687598],[47.463281,45.679688],[47.524219,45.601709],[47.528354,45.545652],[47.470002,45.634838],[47.35404,45.684499],[47.296059,45.646258],[46.922232,45.577658],[46.906212,45.63675],[47.040158,45.965722],[47.169969,46.078376],[47.089043,46.118167],[46.845544,46.075534],[46.856293,46.244154],[46.504376,46.273817],[46.531145,46.337689],[46.663643,46.429001],[46.939699,46.431585],[46.930087,46.555557],[47.021967,46.63519],[47.149505,46.668263],[47.21348,46.742315],[47.12594,46.850681],[46.987861,46.86329],[46.912,46.979613],[46.800896,47.003643],[46.725758,47.089452],[46.511301,47.406435],[46.526494,47.434754],[46.788183,47.556632],[46.68452,47.627998],[46.449393,47.478136],[46.29705,47.437001],[46.116286,47.502424],[45.843331,47.719258],[45.707009,47.908394],[45.741012,48.00012],[45.67683,48.032314],[45.546915,47.997071],[45.404908,48.09169],[45.300625,48.097685],[45.149524,48.23827],[44.987363,48.268165],[45.04152,48.394566],[45.171744,48.438956],[45.374936,48.464071],[45.301142,48.558018],[45.60872,48.592848],[45.759512,48.665815],[45.948338,48.835934],[46.057478,48.868904],[46.297981,48.839991],[46.643564,48.659068]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"RUS-2389","diss_me":2389,"iso_3166_2":"RU-CU","wikipedia":null,"iso_a2":"RU","adm0_sr":1,"name":"Chuvash","name_alt":"Chuvashskaya A.S.S.R.|Chuvashskaya Respublika|Chuvashiya|Chuvash Republic","name_local":"Чувашская Республика","type":"Respublika","type_en":"Republic","code_local":null,"code_hasc":"RU.CV","note":null,"hasc_maybe":null,"region":"Volga","region_cod":null,"provnum_ne":20078,"gadm_level":1,"check_me":20,"datarank":2,"abbrev":null,"postal":"CV","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":7,"mapcolor9":7,"mapcolor13":7,"fips":"RS16","fips_alt":null,"woe_id":2346869,"woe_label":"Chuvashiya, RU, Russia","woe_name":"Chuvash","latitude":55.4883,"longitude":47.1662,"sov_a3":"RUS","adm0_a3":"RUS","adm0_label":2,"admin":"Russia","geonunit":"Russia","gu_a3":"RUS","gn_id":567395,"gn_name":"Chuvashskaya Respublika","gns_id":-2900046,"gns_name":"Chuvashskaya Respublika","gn_level":1,"gn_region":null,"gn_a1_code":"RU.16","region_sub":"Volga-Vyatka","sub_code":null,"gns_level":1,"gns_lang":"rus","gns_adm1":"RS16","gns_region":null,"min_label":5,"max_label":10.2,"min_zoom":4.7,"wikidataid":"Q5466","name_ar":"تشوفاشيا","name_bn":"চুভাশিয়া","name_de":"Tschuwaschien","name_en":"Chuvash Republic","name_es":"Chuvasia","name_fr":"Tchouvachie","name_el":"Τσουβασία","name_hi":"चुवैश गणतंत्र","name_hu":"Csuvasföld","name_id":"Chuvashia","name_it":"Ciuvascia","name_ja":"チュヴァシ共和国","name_ko":"추바시 공화국","name_nl":"Tsjoevasjië","name_pl":"Czuwaszja","name_pt":"Chuváchia","name_ru":"Чувашия","name_sv":"Tjuvasjien","name_tr":"Çuvaşistan","name_vi":"Chuvashia","name_zh":"楚瓦什共和国","ne_id":1159313205,"name_he":"צ'ובשיה","name_uk":"Чуваська Республіка","name_ur":"چوواشیا","name_fa":"چواشستان","name_zht":"楚瓦什共和国","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[45.920123,54.631704,48.412373,56.335166],"geometry":{"type":"Polygon","coordinates":[[[48.412373,55.829357],[48.205358,55.693552],[48.025007,55.630455],[48.100765,55.545447],[47.973847,55.499507],[47.834114,55.3421],[47.702546,55.327941],[47.762594,55.214149],[47.913179,55.316159],[48.016635,55.276265],[48.07472,55.108368],[47.996275,54.968247],[47.803108,54.944812],[47.728798,54.83133],[47.487159,54.857582],[47.378535,54.832416],[47.37037,54.752576],[47.241902,54.677722],[47.062998,54.690202],[46.869109,54.631704],[46.441331,54.772161],[46.414666,54.895358],[46.055721,55.042119],[46.097889,55.204176],[46.228631,55.273267],[46.253539,55.385405],[46.384074,55.463075],[46.243824,55.523691],[46.139747,55.523795],[46.048487,55.616657],[45.920123,55.688048],[46.093755,55.807963],[46.09882,55.940772],[46.213955,56.049809],[46.402367,56.119211],[46.657959,56.119521],[47.05566,56.287727],[47.276629,56.335166],[47.384736,56.330076],[47.436722,56.188457],[47.529327,56.154299],[47.828947,56.145359],[47.905118,56.113836],[48.023973,55.936586],[48.285043,55.845946],[48.412373,55.829357]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"RUS-2390","diss_me":2390,"iso_3166_2":"RU-KL","wikipedia":null,"iso_a2":"RU","adm0_sr":1,"name":"Kalmyk","name_alt":"Kalmykiya|Khalmg Tangch|Republic of Kalmykia|Kalmytskaya A.S.S.R.|Respublika Kalmykiya","name_local":"Республика Калмыкия","type":"Respublika","type_en":"Republic","code_local":null,"code_hasc":"RU.KL","note":null,"hasc_maybe":null,"region":"Volga","region_cod":null,"provnum_ne":20041,"gadm_level":1,"check_me":20,"datarank":2,"abbrev":null,"postal":"KL","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":6,"mapcolor9":7,"mapcolor13":7,"fips":"RS24","fips_alt":null,"woe_id":2346872,"woe_label":"Kalmykiya, RU, Russia","woe_name":"Kalmyk","latitude":46.5191,"longitude":45.4681,"sov_a3":"RUS","adm0_a3":"RUS","adm0_label":2,"admin":"Russia","geonunit":"Russia","gu_a3":"RUS","gn_id":553972,"gn_name":"Respublika Kalmykiya","gns_id":-2919206,"gns_name":"Kalmykiya, Respublika","gn_level":1,"gn_region":null,"gn_a1_code":"RU.24","region_sub":"Volga","sub_code":null,"gns_level":1,"gns_lang":"rus","gns_adm1":"RS24","gns_region":null,"min_label":5,"max_label":10.2,"min_zoom":4.7,"wikidataid":"Q3953","name_ar":"قلميقيا","name_bn":"কালমিকিয়া","name_de":"Kalmückien","name_en":"Republic of Kalmykia","name_es":"Kalmukia","name_fr":"Kalmoukie","name_el":"Δημοκρατία της Καλμίκια","name_hi":"कालमिकिया","name_hu":"Kalmükföld","name_id":"Kalmykia","name_it":"Calmucchia","name_ja":"カルムイク共和国","name_ko":"칼미크 공화국","name_nl":"Kalmukkië","name_pl":"Kałmucja","name_pt":"Calmúquia","name_ru":"Калмыкия","name_sv":"Kalmuckien","name_tr":"Kalmukya","name_vi":"Kalmykia","name_zh":"卡尔梅克共和国","ne_id":1159313207,"name_he":"קלמיקיה","name_uk":"Калмикія","name_ur":"کلمیکیا","name_fa":"قالموقستان","name_zht":"卡尔梅克共和国","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[41.655783,44.746021,47.529492,48.255065],"geometry":{"type":"Polygon","coordinates":[[[47.528354,45.545652],[47.529492,45.530225],[47.514551,45.490918],[47.488672,45.455078],[47.454492,45.433057],[47.413086,45.421045],[47.391113,45.294775],[47.35127,45.217725],[47.296191,45.149463],[47.221484,45.024268],[47.161523,44.969629],[47.114746,44.905957],[47.083789,44.816992],[47.039258,44.837891],[47.00293,44.876074],[46.983691,44.825586],[46.957422,44.782568],[46.891376,44.746021],[46.603492,44.885323],[46.433683,44.93656],[45.853667,45.000509],[45.705975,44.975782],[45.711866,45.013687],[45.586189,45.158303],[45.352509,45.243389],[44.706346,45.506008],[44.420989,45.52673],[44.207152,45.610007],[44.148241,45.652511],[44.096978,45.773899],[43.87756,45.94549],[43.742271,45.978899],[43.568328,45.981018],[43.392525,46.016003],[43.237289,46.112431],[42.991412,46.179559],[42.905423,46.240279],[42.834626,46.155788],[42.671225,46.088402],[42.533456,45.997658],[42.317448,45.980811],[42.339669,46.107108],[42.177405,46.099099],[42.149707,45.948979],[41.712627,45.996004],[41.655783,46.105274],[41.72596,46.213562],[41.840061,46.152945],[41.914992,46.184649],[41.994987,46.301308],[42.2019,46.314486],[42.099581,46.407142],[42.034262,46.543258],[42.180919,46.577881],[42.409329,46.524938],[42.596811,46.410863],[42.787187,46.389417],[42.911831,46.435047],[43.080192,46.359755],[43.355628,46.17235],[43.55944,46.168862],[43.646049,46.215732],[43.785886,46.407452],[43.918384,46.415979],[43.927686,46.521037],[43.817098,46.588733],[43.930373,46.72273],[44.262446,46.900135],[44.327558,47.110768],[44.333966,47.475242],[44.228443,47.574642],[44.116822,47.533481],[44.109587,47.413695],[43.953317,47.364861],[43.939158,47.268898],[43.802319,47.282541],[43.799218,47.370649],[43.731522,47.476611],[43.633647,47.570378],[43.705167,47.683136],[43.822059,47.749747],[43.951457,47.756052],[44.032279,47.8161],[44.082509,47.909014],[44.389053,47.868267],[44.466878,47.990249],[44.447654,48.049677],[44.314122,48.094119],[44.305854,48.255065],[44.540155,48.196903],[44.546666,48.063061],[44.662318,48.089261],[44.765981,48.058824],[44.933206,48.13546],[44.962558,48.208686],[45.136915,48.111844],[45.300625,48.097685],[45.404908,48.09169],[45.546915,47.997071],[45.67683,48.032314],[45.741012,48.00012],[45.707009,47.908394],[45.843331,47.719258],[46.116286,47.502424],[46.29705,47.437001],[46.449393,47.478136],[46.68452,47.627998],[46.788183,47.556632],[46.526494,47.434754],[46.511301,47.406435],[46.725758,47.089452],[46.800896,47.003643],[46.912,46.979613],[46.987861,46.86329],[47.12594,46.850681],[47.21348,46.742315],[47.149505,46.668263],[47.021967,46.63519],[46.930087,46.555557],[46.939699,46.431585],[46.663643,46.429001],[46.531145,46.337689],[46.504376,46.273817],[46.856293,46.244154],[46.845544,46.075534],[47.089043,46.118167],[47.169969,46.078376],[47.040158,45.965722],[46.906212,45.63675],[46.922232,45.577658],[47.296059,45.646258],[47.35404,45.684499],[47.470002,45.634838],[47.528354,45.545652]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"RUS-2392","diss_me":2392,"iso_3166_2":"RU-SAM","wikipedia":null,"iso_a2":"RU","adm0_sr":1,"name":"Samara","name_alt":"Kuybyshev|Kuybyshevskaya|Samarskaya Oblast","name_local":"Самарская область","type":"Oblast","type_en":"Region","code_local":null,"code_hasc":"RU.SA","note":null,"hasc_maybe":null,"region":"Volga","region_cod":null,"provnum_ne":20062,"gadm_level":1,"check_me":20,"datarank":2,"abbrev":null,"postal":"SA","area_sqkm":0,"sameascity":6,"labelrank":6,"name_len":6,"mapcolor9":7,"mapcolor13":7,"fips":"RS65","fips_alt":null,"woe_id":2346906,"woe_label":"Samarskaya Oblast, RU, Russia","woe_name":"Samara","latitude":53.1783,"longitude":50.4377,"sov_a3":"RUS","adm0_a3":"RUS","adm0_label":2,"admin":"Russia","geonunit":"Russia","gu_a3":"RUS","gn_id":499068,"gn_name":"Samarskaya Oblast'","gns_id":-2995975,"gns_name":"Samarskaya Oblast'","gn_level":1,"gn_region":null,"gn_a1_code":"RU.65","region_sub":"Volga","sub_code":null,"gns_level":1,"gns_lang":"fas","gns_adm1":"RS65","gns_region":null,"min_label":5,"max_label":10.2,"min_zoom":4.7,"wikidataid":"Q1727","name_ar":"سمارا أوبلاست","name_bn":"সামারা ওব্লাস্ট","name_de":"Samara","name_en":"Samara","name_es":"Samara","name_fr":"Samara","name_el":"Όμπλαστ της Σαμάρα","name_hi":"समारा ओब्लास्त","name_hu":"Szamarai terület","name_id":"Samara","name_it":"Samara","name_ja":"サマラ州","name_ko":"사마라","name_nl":"Samara","name_pl":"samarski","name_pt":"Samara","name_ru":"Самарская область","name_sv":"Samara","name_tr":"Samara Oblastı","name_vi":"Samara","name_zh":"萨马拉州","ne_id":1159313209,"name_he":"מחוז סמרה","name_uk":"Самарська область","name_ur":"سمارا اوبلاست","name_fa":"استان سامارا","name_zht":"薩馬拉州","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[47.948526,51.729194,52.53853,54.641626],"geometry":{"type":"Polygon","coordinates":[[[48.436971,52.780448],[48.539704,52.830264],[48.592518,52.919406],[48.521721,52.978214],[48.390256,52.97041],[48.221584,52.998936],[48.148514,53.058674],[48.143553,53.161872],[48.034515,53.314627],[47.948526,53.358681],[48.05684,53.476064],[48.37558,53.471181],[48.331345,53.624479],[48.456402,53.66582],[48.491128,53.770517],[48.874257,53.716437],[49.029287,53.857178],[49.299244,53.83997],[49.413656,53.86834],[49.624496,53.814623],[49.826861,53.88715],[49.957189,53.906787],[49.9791,53.96575],[50.197381,54.038149],[50.256189,54.304903],[50.205649,54.418074],[50.118729,54.437039],[50.077491,54.516466],[50.384243,54.48577],[50.519428,54.329759],[50.696885,54.426652],[50.948033,54.347587],[51.003843,54.539229],[51.092933,54.553518],[51.168794,54.637285],[51.296022,54.641626],[51.391313,54.601474],[51.513476,54.639301],[51.667575,54.567109],[51.935983,54.527628],[51.932675,54.436316],[52.099487,54.388463],[52.222684,54.444584],[52.481996,54.467167],[52.53853,54.37725],[52.505664,54.322473],[52.271466,54.326555],[52.339266,54.174187],[52.476415,54.077113],[52.37792,53.965905],[52.412543,53.927355],[52.253483,53.654348],[52.07923,53.501205],[52.192608,53.375166],[52.143102,53.296902],[52.128426,53.173861],[52.068998,53.153913],[52.060936,52.999659],[51.862085,52.926072],[51.715118,52.840289],[51.771652,52.783187],[51.732274,52.668413],[51.545206,52.681384],[51.471412,52.569143],[51.562672,52.44729],[51.412914,52.350035],[51.452601,52.219345],[51.415188,52.102711],[50.793934,51.729194],[50.716212,51.840712],[50.731508,51.914041],[50.517361,51.9914],[50.235931,52.035119],[50.221462,52.129893],[49.976929,52.183637],[49.812288,52.193094],[49.627803,52.366416],[49.477735,52.331431],[49.343686,52.468684],[49.159201,52.485841],[48.936062,52.475169],[48.73008,52.567954],[48.699694,52.639165],[48.523891,52.681849],[48.351189,52.669395],[48.436971,52.780448]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"RUS-2391","diss_me":2391,"iso_3166_2":"RU-ORE","wikipedia":null,"iso_a2":"RU","adm0_sr":1,"name":"Orenburg","name_alt":"Chkalov|Orenburgskaya|Orenburgskaya Oblast","name_local":"Оренбургская область","type":"Oblast","type_en":"Region","code_local":null,"code_hasc":"RU.OB","note":null,"hasc_maybe":null,"region":"Volga","region_cod":null,"provnum_ne":20057,"gadm_level":1,"check_me":20,"datarank":2,"abbrev":null,"postal":"OB","area_sqkm":0,"sameascity":6,"labelrank":6,"name_len":8,"mapcolor9":7,"mapcolor13":7,"fips":"RS55","fips_alt":null,"woe_id":2346916,"woe_label":"Orenburgskaya Oblast, RU, Russia","woe_name":"Orenburg","latitude":51.5157,"longitude":56.2149,"sov_a3":"RUS","adm0_a3":"RUS","adm0_label":2,"admin":"Russia","geonunit":"Russia","gu_a3":"RUS","gn_id":515001,"gn_name":"Orenburgskaya Oblast'","gns_id":-2974930,"gns_name":"Orenburgskaya Oblast'","gn_level":1,"gn_region":null,"gn_a1_code":"RU.55","region_sub":"Urals","sub_code":null,"gns_level":1,"gns_lang":"fas","gns_adm1":"RS55","gns_region":null,"min_label":5,"max_label":10.2,"min_zoom":4.7,"wikidataid":"Q5338","name_ar":"أورنبرغ أوبلاست","name_bn":"ওরেনবার্গ ওব্লাস্ট","name_de":"Orenburg","name_en":"Orenburg","name_es":"Oremburgo","name_fr":"d'Orenbourg","name_el":"Όμπλαστ του Ορενμπούργκ","name_hi":"ओरेनबूर्ग ओब्लास्त","name_hu":"Orenburgi terület","name_id":"Orenburg","name_it":"Orenburg","name_ja":"オレンブルク州","name_ko":"오렌부르크","name_nl":"Orenburg","name_pl":"orenburski","name_pt":"Oremburgo","name_ru":"Оренбургская область","name_sv":"Orenburg","name_tr":"Orenburg Oblastı","name_vi":"Orenburg","name_zh":"奥伦堡州","ne_id":1159313227,"name_he":"מחוז אורנבורג","name_uk":"Оренбурзька область","name_ur":"اورنبرگ اوبلاست","name_fa":"استان ارنبورگ","name_zht":"奧倫堡","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[50.793934,50.492861,61.585058,54.37725],"geometry":{"type":"Polygon","coordinates":[[[60.064415,51.975119],[60.030321,51.933264],[60.067476,51.890631],[60.280383,51.834614],[60.387508,51.773016],[60.418307,51.703924],[60.464764,51.651163],[60.630336,51.616953],[60.973571,51.537061],[60.993311,51.52869],[61.014808,51.492361],[61.363108,51.441873],[61.411373,51.414743],[61.554724,51.324594],[61.585058,51.22969],[61.512194,51.137034],[61.465013,50.990221],[61.389411,50.86103],[61.226888,50.774782],[60.942306,50.695511],[60.637984,50.66373],[60.508483,50.669181],[60.424767,50.679129],[60.288031,50.704141],[60.186745,50.76977],[60.112124,50.834158],[60.058588,50.850281],[60.005258,50.839688],[59.955183,50.799277],[59.887797,50.690188],[59.812401,50.582029],[59.751216,50.543944],[59.523013,50.492861],[59.497795,50.511077],[59.523943,50.582804],[59.495108,50.604302],[59.45232,50.620425],[59.170838,50.647917],[59.064333,50.6682],[58.984855,50.676132],[58.883672,50.694451],[58.814012,50.737213],[58.664564,50.868317],[58.547465,50.971049],[58.359157,51.063834],[58.188418,51.08174],[58.174723,51.072258],[58.045171,51.068873],[57.838827,51.091662],[57.828905,51.089027],[57.764878,51.046884],[57.717025,50.980945],[57.653773,50.925135],[57.557862,50.89555],[57.44221,50.888884],[57.312502,50.946555],[57.179022,51.036058],[57.011745,51.065204],[56.849636,51.045541],[56.790363,51.031614],[56.620245,50.980868],[56.566915,51.00451],[56.491467,51.019522],[56.325637,50.936064],[56.143995,50.844649],[56.104514,50.776281],[56.049685,50.713546],[55.929227,50.653756],[55.797659,50.602028],[55.686245,50.582856],[55.542274,50.601795],[55.361097,50.665306],[55.195215,50.744707],[55.014813,50.869763],[54.868,50.941361],[54.72713,50.998076],[54.641657,51.011564],[54.572928,50.990221],[54.546056,50.946038],[54.56559,50.91126],[54.606259,50.879892],[54.637937,50.781061],[54.649977,50.660164],[54.63618,50.591615],[54.596182,50.550662],[54.555254,50.535779],[54.517427,50.541153],[54.471435,50.583812],[54.443323,50.67391],[54.421516,50.780312],[54.297906,50.91405],[54.191142,50.995725],[54.139776,51.040761],[54.041487,51.115175],[53.956841,51.161167],[53.776491,51.213722],[53.688124,51.251807],[53.534645,51.399576],[53.448655,51.444509],[53.338119,51.482362],[53.247272,51.493601],[53.227377,51.484971],[53.038344,51.463732],[52.902642,51.466936],[52.820477,51.494583],[52.728131,51.498149],[52.635113,51.479545],[52.617802,51.480786],[52.571189,51.481638],[52.496207,51.512153],[52.423085,51.594215],[52.330997,51.68129],[52.21917,51.70935],[52.007141,51.672712],[51.775424,51.55427],[51.609078,51.48399],[51.473479,51.482026],[51.395964,51.471277],[51.344546,51.47536],[51.301086,51.497425],[51.290751,51.540188],[51.269925,51.594474],[51.16342,51.647442],[51.017899,51.681652],[50.882455,51.719169],[50.793934,51.729194],[51.415188,52.102711],[51.452601,52.219345],[51.412914,52.350035],[51.562672,52.44729],[51.471412,52.569143],[51.545206,52.681384],[51.732274,52.668413],[51.771652,52.783187],[51.715118,52.840289],[51.862085,52.926072],[52.060936,52.999659],[52.068998,53.153913],[52.128426,53.173861],[52.143102,53.296902],[52.192608,53.375166],[52.07923,53.501205],[52.253483,53.654348],[52.412543,53.927355],[52.37792,53.965905],[52.476415,54.077113],[52.339266,54.174187],[52.271466,54.326555],[52.505664,54.322473],[52.53853,54.37725],[52.771074,54.346967],[53.000931,54.271003],[52.951218,54.195762],[53.141387,54.076183],[53.258486,54.071351],[53.384473,53.97376],[53.470463,54.045745],[53.59831,53.883275],[53.655774,53.75243],[53.877983,53.658017],[54.108357,53.416559],[54.247159,53.375347],[54.30235,53.410487],[54.519598,53.359792],[54.558975,53.269695],[54.664085,53.235511],[54.801648,53.270754],[54.926601,53.219543],[54.955023,53.110454],[55.161832,52.823184],[55.263945,52.862458],[55.406675,52.837111],[55.411636,52.657613],[55.544858,52.541651],[55.545581,52.384942],[55.777609,52.343627],[55.889126,52.399076],[55.919202,52.49876],[56.077642,52.603611],[56.36517,52.523099],[56.444648,52.419591],[56.451366,52.308823],[56.193914,52.189011],[56.217168,52.132322],[56.495394,52.161519],[56.627479,52.117775],[56.68484,52.045299],[56.607636,51.829498],[56.748195,51.773403],[56.714606,51.720978],[56.780131,51.5922],[56.889685,51.624756],[56.875836,51.699015],[56.99924,51.728445],[57.035516,51.659689],[57.206669,51.575147],[57.37441,51.638605],[57.431565,51.725809],[57.620907,51.75896],[57.652636,51.86332],[57.783998,51.826191],[57.881873,51.845983],[57.981298,51.786245],[58.091679,51.794565],[58.235857,51.738393],[58.493722,51.762112],[58.576404,51.793066],[58.638933,52.016438],[58.694227,52.048761],[58.606067,52.180536],[58.690506,52.265286],[58.857007,52.263218],[58.827965,52.432717],[59.175024,52.277378],[59.248611,52.486848],[59.397543,52.49522],[59.508647,52.435404],[59.781292,52.491835],[59.945623,52.428273],[60.148608,52.420522],[60.139616,52.267301],[59.975492,52.181828],[59.913687,52.100438],[60.064415,51.975119]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"RUS-2393","diss_me":2393,"iso_3166_2":"RU-SAR","wikipedia":null,"iso_a2":"RU","adm0_sr":1,"name":"Saratov","name_alt":"Saratovskaya Oblast","name_local":"Саратовская область","type":"Oblast","type_en":"Region","code_local":null,"code_hasc":"RU.SR","note":null,"hasc_maybe":null,"region":"Volga","region_cod":null,"provnum_ne":20053,"gadm_level":1,"check_me":20,"datarank":2,"abbrev":null,"postal":"SR","area_sqkm":0,"sameascity":6,"labelrank":6,"name_len":7,"mapcolor9":7,"mapcolor13":7,"fips":"RS67","fips_alt":null,"woe_id":2346924,"woe_label":"Saratovskaya Oblast, RU, Russia","woe_name":"Saratov","latitude":51.6742,"longitude":46.6368,"sov_a3":"RUS","adm0_a3":"RUS","adm0_label":2,"admin":"Russia","geonunit":"Russia","gu_a3":"RUS","gn_id":498671,"gn_name":"Saratovskaya Oblast'","gns_id":-2996578,"gns_name":"Saratovskaya Oblast'","gn_level":1,"gn_region":null,"gn_a1_code":"RU.67","region_sub":"Volga","sub_code":null,"gns_level":1,"gns_lang":"fas","gns_adm1":"RS67","gns_region":null,"min_label":5,"max_label":10.2,"min_zoom":4.7,"wikidataid":"Q5334","name_ar":"ساراتوف أوبلاست","name_bn":"সারাতোভ ওব্লাস্ট","name_de":"Saratow","name_en":"Saratov","name_es":"Sarátov","name_fr":"Saratov","name_el":"Όμπλαστ του Σαράτοφ","name_hi":"साराटोव ओब्लास्ट","name_hu":"Szaratovi terület","name_id":"Saratov","name_it":"Saratov","name_ja":"サラトフ州","name_ko":"사라토프","name_nl":"Saratov","name_pl":"saratowski","name_pt":"Saratov","name_ru":"Саратовская область","name_sv":"Saratov","name_tr":"Saratov Oblastı","name_vi":"Saratov","name_zh":"萨拉托夫州","ne_id":1159313213,"name_he":"מחוז סראטוב","name_uk":"Саратовська область","name_ur":"ساراتوو اوبلاست","name_fa":"استان ساراتوف","name_zht":"薩拉托夫州","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[42.489221,49.828535,50.793934,52.81011],"geometry":{"type":"Polygon","coordinates":[[[50.793934,51.729194],[50.756158,51.675141],[50.643917,51.589177],[50.516328,51.505616],[50.353702,51.369733],[50.309312,51.321571],[50.246887,51.289505],[50.10488,51.254598],[49.932332,51.19716],[49.82221,51.131892],[49.666302,51.102307],[49.497992,51.083601],[49.424611,51.027015],[49.379498,50.934669],[49.323429,50.851728],[49.058691,50.726077],[48.913738,50.644558],[48.808422,50.601304],[48.734731,50.606885],[48.655149,50.619856],[48.625125,50.612673],[48.666001,50.550351],[48.700521,50.353774],[48.749459,50.228459],[48.784806,50.156422],[48.81793,50.099836],[48.843252,50.013123],[48.810282,49.962377],[48.759019,49.928322],[48.599959,49.874682],[48.434284,49.828535],[48.334962,49.858249],[48.224788,49.93194],[48.18138,49.970025],[48.060715,50.093583],[47.849669,50.282306],[47.70575,50.377959],[47.599658,50.413564],[47.503592,50.402712],[47.446631,50.368456],[47.277352,50.371732],[47.184025,50.511904],[47.007705,50.480175],[46.877687,50.523945],[46.830455,50.632517],[46.707568,50.690886],[46.583441,50.70073],[46.483189,50.616756],[46.460761,50.546941],[46.29457,50.567353],[46.254779,50.52888],[46.065333,50.543685],[46.068434,50.652309],[45.88953,50.758556],[45.810672,50.773594],[45.678173,50.729462],[45.667631,50.593605],[45.495136,50.61257],[45.241094,50.586267],[45.191278,50.697371],[45.292564,50.781087],[45.308067,50.876843],[45.215049,50.942059],[45.20182,51.039624],[45.04245,51.126259],[44.659631,51.172639],[44.210253,51.193516],[44.181831,51.11657],[44.004477,51.08727],[43.864434,51.11303],[43.682326,51.112953],[43.642225,51.066082],[43.32979,51.017661],[43.141584,51.121996],[42.872867,51.231343],[42.860878,51.381412],[42.734064,51.479003],[42.489221,51.607703],[42.490358,51.692788],[42.64332,51.804022],[42.694066,51.966079],[42.805997,52.012226],[42.751324,52.077752],[42.75153,52.173767],[42.996477,52.364659],[43.079572,52.402745],[43.19295,52.462328],[43.352734,52.392513],[43.532051,52.426309],[43.747025,52.433441],[44.043958,52.349518],[44.346679,52.316135],[44.421919,52.415819],[44.539122,52.432149],[44.500261,52.521213],[44.872538,52.434009],[44.909642,52.377527],[45.071906,52.376855],[45.139912,52.420522],[45.264349,52.392255],[45.43147,52.400497],[45.528002,52.48075],[45.644377,52.518552],[45.717034,52.470803],[45.980584,52.407163],[45.971489,52.485634],[46.146775,52.591364],[46.276276,52.618597],[46.288782,52.671876],[46.516158,52.695027],[46.713046,52.627899],[46.830661,52.616272],[46.917271,52.636684],[47.061862,52.570176],[47.435379,52.569763],[47.530774,52.610536],[47.730761,52.586713],[47.777477,52.680299],[47.917313,52.67477],[47.997825,52.754351],[48.252177,52.81011],[48.436971,52.780448],[48.351189,52.669395],[48.523891,52.681849],[48.699694,52.639165],[48.73008,52.567954],[48.936062,52.475169],[49.159201,52.485841],[49.343686,52.468684],[49.477735,52.331431],[49.627803,52.366416],[49.812288,52.193094],[49.976929,52.183637],[50.221462,52.129893],[50.235931,52.035119],[50.517361,51.9914],[50.731508,51.914041],[50.716212,51.840712],[50.793934,51.729194]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"RUS-2394","diss_me":2394,"iso_3166_2":"RU-TA","wikipedia":null,"iso_a2":"RU","adm0_sr":1,"name":"Tatarstan","name_alt":"Kazan|Kazanskaya G.|Tatar A.S.S.R.|Tatarskaya A.S.S.R.|Republic of Tatarstan|Respublika Tatars","name_local":"Республика Татарстан","type":"Respublika","type_en":"Republic","code_local":null,"code_hasc":"RU.TT","note":null,"hasc_maybe":null,"region":"Volga","region_cod":null,"provnum_ne":20098,"gadm_level":1,"check_me":20,"datarank":2,"abbrev":null,"postal":"TT","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":9,"mapcolor9":7,"mapcolor13":7,"fips":"RS73","fips_alt":null,"woe_id":2346878,"woe_label":"Tatarstan, RU, Russia","woe_name":"Tatarstan","latitude":55.374,"longitude":50.7364,"sov_a3":"RUS","adm0_a3":"RUS","adm0_label":2,"admin":"Russia","geonunit":"Russia","gu_a3":"RUS","gn_id":484048,"gn_name":"Respublika Tatarstan","gns_id":-3016810,"gns_name":"Tatarstan, Respublika","gn_level":1,"gn_region":null,"gn_a1_code":"RU.73","region_sub":"Volga","sub_code":null,"gns_level":1,"gns_lang":"fas","gns_adm1":"RS73","gns_region":null,"min_label":5,"max_label":10.2,"min_zoom":4.7,"wikidataid":"Q5481","name_ar":"تتارستان","name_bn":"তাতারস্তান","name_de":"Tatarstan","name_en":"Republic of Tatarstan","name_es":"Tartaristán","name_fr":"Tatarstan","name_el":"Δημοκρατία του Ταταρστάν","name_hi":"तातारस्तान","name_hu":"Tatárföld","name_id":"Tatarstan","name_it":"Tatarstan","name_ja":"タタールスタン共和国","name_ko":"타타르 공화국","name_nl":"Tatarije","name_pl":"Tatarstan","name_pt":"Tartaristão","name_ru":"Татарстан","name_sv":"Tatarstan","name_tr":"Tataristan","name_vi":"Tatarstan","name_zh":"鞑靼斯坦共和国","ne_id":1159313215,"name_he":"טטרסטן","name_uk":"Татарстан","name_ur":"تاتارستان","name_fa":"تاتارستان","name_zht":"鞑靼斯坦共和国","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[47.241902,53.97376,54.176776,56.669513],"geometry":{"type":"Polygon","coordinates":[[[50.072014,56.622746],[50.34962,56.669513],[50.497414,56.511021],[50.586091,56.366534],[50.705567,56.329921],[50.851191,56.390253],[50.907828,56.295996],[50.837238,56.248376],[51.07309,56.130528],[51.224398,56.099909],[51.436478,56.144429],[51.500557,56.082365],[51.399065,55.993637],[51.441853,55.924649],[51.632642,55.952296],[51.828599,55.917982],[51.937533,55.973716],[52.06445,55.896123],[52.16801,55.8985],[52.242011,55.964543],[52.195398,56.077146],[52.439311,56.033376],[52.472694,56.074407],[52.655319,56.017821],[52.794225,56.094768],[52.839183,56.163084],[52.711233,56.230367],[52.561991,56.259435],[52.733247,56.37842],[52.90812,56.415885],[52.934475,56.538126],[53.080099,56.526602],[52.945017,56.366069],[52.958246,56.252226],[53.273059,56.084691],[53.335587,56.156521],[53.260346,56.253879],[53.427158,56.276539],[53.550871,56.241012],[53.563997,56.181067],[53.405454,56.022989],[53.276469,55.935346],[53.289078,55.85827],[53.631693,55.906691],[53.759437,55.866203],[53.976375,55.852663],[54.176776,55.707039],[54.174502,55.623582],[53.996942,55.54431],[53.891005,55.381168],[53.722747,55.337656],[53.591386,55.211927],[53.418373,55.222004],[53.326906,55.166452],[53.146762,55.146557],[53.141077,55.098911],[53.269235,55.011965],[53.421887,54.982174],[53.578673,54.822184],[53.606888,54.728133],[53.515008,54.615504],[53.414135,54.551503],[53.425918,54.498793],[53.347783,54.38159],[53.470463,54.045745],[53.384473,53.97376],[53.258486,54.071351],[53.141387,54.076183],[52.951218,54.195762],[53.000931,54.271003],[52.771074,54.346967],[52.53853,54.37725],[52.481996,54.467167],[52.222684,54.444584],[52.099487,54.388463],[51.932675,54.436316],[51.935983,54.527628],[51.667575,54.567109],[51.513476,54.639301],[51.391313,54.601474],[51.296022,54.641626],[51.168794,54.637285],[51.092933,54.553518],[51.003843,54.539229],[50.948033,54.347587],[50.696885,54.426652],[50.519428,54.329759],[50.384243,54.48577],[50.077491,54.516466],[49.975172,54.509541],[49.746349,54.57424],[49.615504,54.562045],[49.475771,54.775417],[49.291183,54.883834],[49.117757,54.795493],[49.014404,54.79278],[48.827542,54.647827],[48.640577,54.659558],[48.469631,54.634185],[48.2899,54.73808],[48.085675,54.76627],[47.849514,54.704103],[47.753602,54.731285],[47.637434,54.565404],[47.366132,54.526801],[47.35094,54.59274],[47.241902,54.677722],[47.37037,54.752576],[47.378535,54.832416],[47.487159,54.857582],[47.728798,54.83133],[47.803108,54.944812],[47.996275,54.968247],[48.07472,55.108368],[48.016635,55.276265],[47.913179,55.316159],[47.762594,55.214149],[47.702546,55.327941],[47.834114,55.3421],[47.973847,55.499507],[48.100765,55.545447],[48.025007,55.630455],[48.205358,55.693552],[48.412373,55.829357],[48.401005,55.887752],[48.694113,55.964646],[48.690083,56.067715],[48.834673,56.071746],[49.015748,56.232692],[49.037038,56.357852],[49.275887,56.353201],[49.557937,56.441491],[49.577677,56.504717],[49.764539,56.535929],[49.885048,56.441775],[50.024575,56.459552],[50.179914,56.549468],[50.072014,56.622746]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"RUS-2395","diss_me":2395,"iso_3166_2":"RU-ULY","wikipedia":null,"iso_a2":"RU","adm0_sr":1,"name":"Ul'yanovsk","name_alt":"Simbirsk|Simbirskaya G.|Ul'yanovskaya Oblast","name_local":"Ульяновская область","type":"Oblast","type_en":"Region","code_local":null,"code_hasc":"RU.UL","note":null,"hasc_maybe":null,"region":"Volga","region_cod":null,"provnum_ne":20095,"gadm_level":1,"check_me":20,"datarank":2,"abbrev":null,"postal":"UL","area_sqkm":0,"sameascity":7,"labelrank":7,"name_len":10,"mapcolor9":7,"mapcolor13":7,"fips":"RS81","fips_alt":null,"woe_id":2346931,"woe_label":"Ulryanovskaya Oblast, RU, Russia","woe_name":"Ul'yanovsk","latitude":53.9248,"longitude":47.3773,"sov_a3":"RUS","adm0_a3":"RUS","adm0_label":2,"admin":"Russia","geonunit":"Russia","gu_a3":"RUS","gn_id":479119,"gn_name":"Ul'yanovskaya Oblast'","gns_id":-3025029,"gns_name":"Ul'yanovskaya Oblast'","gn_level":1,"gn_region":null,"gn_a1_code":"RU.81","region_sub":"Volga","sub_code":null,"gns_level":1,"gns_lang":"fas","gns_adm1":"RS81","gns_region":null,"min_label":5,"max_label":10.2,"min_zoom":4.7,"wikidataid":"Q5634","name_ar":"أوليانوفسك أوبلاست","name_bn":"উলিয়ানভস্ক ওব্লাস্ট","name_de":"Uljanowsk","name_en":"Ulyanovsk","name_es":"Uliánovsk","name_fr":"d'Oulianovsk","name_el":"Όμπλαστ του Ουλιάνοφσκ","name_hi":"उल्यानोव्स्क ओब्लास्ट","name_hu":"Uljanovszki terület","name_id":"Ulyanovsk","name_it":"Ul'janovsk","name_ja":"ウリヤノフスク州","name_ko":"울리야놉스크","name_nl":"Oeljanovsk","name_pl":"uljanowski","name_pt":"Ulianovsk","name_ru":"Ульяновская область","name_sv":"Uljanovsk","name_tr":"Ulyanovsk Oblastı","name_vi":"Ulyanovsk","name_zh":"乌里扬诺夫斯克州","ne_id":1159313217,"name_he":"מחוז אולייאנובסק","name_uk":"Ульяновська область","name_ur":"اولیانووسک اوبلاست","name_fa":"استان اولیانوفسک","name_zht":"乌里扬诺夫斯克州","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[45.791552,52.569763,50.256189,54.883834],"geometry":{"type":"Polygon","coordinates":[[[50.077491,54.516466],[50.118729,54.437039],[50.205649,54.418074],[50.256189,54.304903],[50.197381,54.038149],[49.9791,53.96575],[49.957189,53.906787],[49.826861,53.88715],[49.624496,53.814623],[49.413656,53.86834],[49.299244,53.83997],[49.029287,53.857178],[48.874257,53.716437],[48.491128,53.770517],[48.456402,53.66582],[48.331345,53.624479],[48.37558,53.471181],[48.05684,53.476064],[47.948526,53.358681],[48.034515,53.314627],[48.143553,53.161872],[48.148514,53.058674],[48.221584,52.998936],[48.390256,52.97041],[48.521721,52.978214],[48.592518,52.919406],[48.539704,52.830264],[48.436971,52.780448],[48.252177,52.81011],[47.997825,52.754351],[47.917313,52.67477],[47.777477,52.680299],[47.730761,52.586713],[47.530774,52.610536],[47.435379,52.569763],[47.061862,52.570176],[46.917271,52.636684],[46.830661,52.616272],[46.852055,52.726033],[46.98321,52.771275],[46.935254,52.909768],[46.91262,53.079189],[46.954478,53.191095],[46.905902,53.335324],[46.794798,53.408497],[46.493628,53.510894],[46.468306,53.654296],[46.192561,53.850253],[46.211991,53.908699],[45.957226,54.005386],[45.791552,54.003887],[45.879091,54.031276],[46.018308,54.189406],[46.379423,54.230514],[46.48815,54.284361],[46.71904,54.329552],[46.733716,54.384484],[46.543134,54.406343],[46.481845,54.499309],[46.533315,54.552588],[46.515642,54.653357],[46.444122,54.687877],[46.441331,54.772161],[46.869109,54.631704],[47.062998,54.690202],[47.241902,54.677722],[47.35094,54.59274],[47.366132,54.526801],[47.637434,54.565404],[47.753602,54.731285],[47.849514,54.704103],[48.085675,54.76627],[48.2899,54.73808],[48.469631,54.634185],[48.640577,54.659558],[48.827542,54.647827],[49.014404,54.79278],[49.117757,54.795493],[49.291183,54.883834],[49.475771,54.775417],[49.615504,54.562045],[49.746349,54.57424],[49.975172,54.509541],[50.077491,54.516466]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"RUS-2396","diss_me":2396,"iso_3166_2":"RU-KHM","wikipedia":null,"iso_a2":"RU","adm0_sr":1,"name":"Khanty-Mansiy","name_alt":"Khanty-Mansiysk|Khanty-Mansiyskiy A.Okr.|Khanty-Mansiyskiy A.Okr.-Yugra|Khanty-Mansiyskiy AOk","name_local":"Ханты-Мансийский АОк","type":"Avtonomnyy Okrug","type_en":"Autonomous Province","code_local":null,"code_hasc":"RU.KM","note":null,"hasc_maybe":null,"region":"Urals","region_cod":null,"provnum_ne":7,"gadm_level":1,"check_me":20,"datarank":2,"abbrev":null,"postal":"KM","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":13,"mapcolor9":7,"mapcolor13":7,"fips":"RS32","fips_alt":null,"woe_id":20070526,"woe_label":"Khanty-Mansiyskiy Avtonomnyy Okrug, RU, Russia","woe_name":"Khanty-Mansiy","latitude":61.4315,"longitude":71.3806,"sov_a3":"RUS","adm0_a3":"RUS","adm0_label":2,"admin":"Russia","geonunit":"Russia","gu_a3":"RUS","gn_id":1503773,"gn_name":"Khanty-Mansiyskiy Avtonomnyy Okrug","gns_id":-2924568,"gns_name":"Khanty-Mansiyskiy Avtonomnyy Okrug","gn_level":1,"gn_region":null,"gn_a1_code":"RU.32","region_sub":"West Siberian","sub_code":null,"gns_level":1,"gns_lang":"rus","gns_adm1":"RS32","gns_region":null,"min_label":5,"max_label":10.2,"min_zoom":4.7,"wikidataid":"Q6320","name_ar":"أوكروغ خانتي-مانسي ذاتية الحكم","name_bn":"কান্তি-মান্সি স্বায়ত্তশাসিত ওব্লাস্ট","name_de":"Autonomer Kreis der Chanten und Mansen/Jugra","name_en":"Khanty-Mansi Autonomous Okrug","name_es":"Janti-Mansi","name_fr":"Khantys-Mansis","name_el":"Αυτόνομος θύλακας της Χαντίας - Μανσίας","name_hi":"खांति-मानसी स्वायत्त ऑक्रग","name_hu":"Hanti- és Manysiföld","name_id":"Khantia-Mansia","name_it":"degli Chanty-Mansi-Jugra","name_ja":"ハンティ・マンシ自治管区・ユグラ","name_ko":"한티만시 자치구","name_nl":"Chanto-Mansië","name_pl":"Chanty-Mansyjski – Jugra","name_pt":"Khantia-Mansia","name_ru":"Ханты-Мансийский автономный округ — Югра","name_sv":"Chantien-Mansien","name_tr":"Hantı-Mansi Özerk Okrugu","name_vi":"Khantia-Mansia","name_zh":"汉特-曼西自治区","ne_id":1159313235,"name_he":"חנטי ומנסי","name_uk":"Ханти-Мансійський автономний округ — Югра","name_ur":"خانتی-مانسی خود مختار آکرگ","name_fa":"خانتی-مانسی","name_zht":"汉特-曼西自治区","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[59.231661,58.589086,85.956232,65.717126],"geometry":{"type":"Polygon","coordinates":[[[84.259591,60.855511],[83.997178,60.826107],[83.61622,60.981782],[83.503565,61.04723],[83.144207,61.028213],[82.407404,60.723012],[82.362446,60.600642],[82.138997,60.531964],[81.830385,60.644722],[81.497692,60.615474],[81.140505,60.636661],[81.017205,60.757248],[80.723476,60.796625],[80.413934,60.760633],[80.165371,60.663584],[79.853348,60.691903],[79.502569,60.68658],[79.359528,60.663584],[79.284598,60.725596],[79.31364,60.79231],[79.168532,60.836597],[78.806487,60.77983],[78.674919,60.827967],[78.474415,60.777479],[78.164149,60.803137],[77.941114,60.74916],[77.702265,60.825176],[77.407503,60.811069],[77.136098,60.856131],[77.067575,60.726319],[76.97032,60.649115],[77.053519,60.577543],[77.012695,60.52721],[76.779634,60.451814],[76.749352,60.346911],[76.84795,60.266141],[76.698606,60.117261],[76.757517,60.056722],[76.741497,59.7578],[76.656334,59.692739],[76.645482,59.585097],[76.44012,59.544583],[76.171713,59.542774],[76.007175,59.428414],[75.89514,59.426399],[75.843361,59.323253],[75.628387,59.23778],[75.686884,59.040066],[75.641616,58.982395],[75.373208,58.785869],[75.159475,58.650219],[74.980881,58.718483],[74.899129,58.696418],[74.743066,58.748094],[74.100108,58.739412],[73.999546,58.799615],[73.755839,58.809382],[73.620551,58.853643],[73.444127,58.817599],[73.032059,58.863126],[73.094588,58.94617],[72.966947,59.000068],[72.975629,59.098977],[72.863284,59.157371],[72.656888,59.106987],[72.453593,59.215094],[72.43716,59.303357],[72.355201,59.339712],[71.999771,59.565822],[71.882155,59.572643],[71.777046,59.647677],[71.296455,59.799089],[71.193412,59.905078],[71.017195,59.822576],[70.79757,59.863013],[70.398525,59.817486],[70.247733,59.839759],[70.154922,59.900013],[69.615627,59.904871],[69.501319,59.989181],[69.306085,59.988897],[69.133279,59.94461],[69.077675,59.893218],[69.295233,59.782889],[68.843995,59.621322],[68.543444,59.550862],[68.358133,59.282919],[68.195352,59.241501],[67.74215,59.211942],[67.564486,59.092931],[67.263729,59.020377],[67.070873,58.924879],[66.951087,58.973197],[66.773733,58.929685],[66.785826,58.720421],[66.74066,58.669597],[66.380166,58.589086],[66.252008,58.614097],[65.934508,58.614355],[65.668995,58.663293],[65.382294,58.919091],[65.184683,59.22331],[65.001645,59.33767],[64.32427,59.411206],[64.120975,59.390768],[63.980002,59.405522],[63.825076,59.477042],[63.795517,59.791596],[63.694438,60.001351],[63.589432,60.154985],[63.437503,60.158551],[63.197311,60.242008],[63.220048,60.300506],[63.090961,60.459617],[62.881154,60.639968],[62.759715,60.859438],[62.85976,61.001264],[62.620085,61.210734],[62.419684,61.305096],[61.933409,61.404108],[61.900232,61.433563],[61.165187,61.682747],[60.759423,61.703624],[60.430865,61.747084],[60.056624,61.721194],[59.987688,61.747084],[59.984277,61.902785],[59.779432,61.952343],[59.651894,61.936478],[59.485393,61.993271],[59.404054,62.108044],[59.507407,62.306791],[59.564871,62.335007],[59.643729,62.510267],[59.526527,62.541351],[59.394132,62.731417],[59.483119,62.892389],[59.278067,62.970239],[59.231661,63.089069],[59.32964,63.273864],[59.292226,63.34218],[59.493764,63.610536],[59.520946,63.790525],[59.584405,63.938268],[59.761448,63.995836],[59.838136,64.080068],[59.588435,64.232643],[59.633084,64.34367],[59.589262,64.467073],[59.484152,64.497252],[59.704087,64.667681],[59.647553,64.772429],[59.749873,64.85891],[59.888986,64.90131],[60.147368,65.064789],[60.304981,65.071429],[60.676534,64.912317],[60.830944,65.051378],[61.002819,65.060319],[61.106689,65.160829],[61.240531,65.191887],[61.263062,65.307384],[61.510592,65.500498],[61.881939,65.70183],[62.018468,65.717126],[62.278401,65.62292],[62.410589,65.515407],[62.373588,65.448874],[62.516526,65.338803],[62.816662,65.291571],[62.801469,65.05143],[62.678686,64.878056],[62.798989,64.847437],[62.802813,64.726282],[62.600448,64.645047],[62.532028,64.559987],[62.69915,64.492188],[63.214777,64.525958],[63.466648,64.450537],[63.502615,64.371136],[63.417142,64.323878],[63.611446,64.268481],[63.895666,64.287136],[64.016176,64.357442],[64.444263,64.356227],[64.622237,64.438677],[64.760833,64.426843],[64.995237,64.465885],[65.175898,64.445782],[65.399657,64.571356],[65.883452,64.568617],[66.146071,64.585929],[66.434012,64.515236],[66.681646,64.557455],[66.936307,64.487046],[66.891659,64.383461],[66.795851,64.321294],[66.818692,64.225615],[67.170918,64.162854],[67.280679,64.080611],[67.679104,64.079035],[67.809329,64.032009],[67.935626,64.117585],[68.178609,64.176161],[68.425002,64.295972],[68.810612,64.221248],[68.990446,64.329614],[68.859187,64.435705],[69.014837,64.471827],[69.244074,64.465833],[69.389594,64.388525],[69.693142,64.399997],[69.82533,64.341034],[69.999893,64.315894],[70.306851,64.343566],[70.472732,64.251608],[70.6721,64.236803],[70.768942,64.19355],[70.754782,64.100222],[70.569677,64.015421],[70.637684,63.903232],[70.813177,63.821712],[70.913842,63.692392],[71.387612,63.674615],[71.5691,63.551418],[71.60796,63.185239],[71.805468,63.218881],[71.963701,63.197073],[72.160795,63.299237],[72.655028,63.280169],[72.907002,63.393288],[73.103786,63.436257],[73.28393,63.315025],[73.36806,63.206943],[74.241081,63.17201],[74.507422,63.043232],[74.914528,63.032019],[75.363597,63.107828],[75.6997,63.09124],[75.802743,63.113977],[76.240236,63.018841],[76.289432,62.950008],[76.622641,63.03778],[77.026234,62.975019],[77.132171,62.812962],[77.326991,62.710436],[77.889024,62.557267],[77.966539,62.477996],[78.379433,62.567757],[78.793051,62.615093],[79.820069,62.603724],[79.91474,62.792033],[80.07318,62.826191],[80.574441,63.018996],[80.584157,63.082558],[81.074669,63.11744],[81.194972,62.949646],[81.349174,62.821153],[81.600425,62.773068],[81.83979,62.691936],[82.073471,62.800043],[82.287929,62.775083],[82.732656,62.757229],[82.741027,62.680154],[83.009952,62.594681],[83.033516,62.529517],[83.310708,62.457015],[83.532917,62.524814],[83.798224,62.560264],[84.09588,62.375108],[84.236957,62.37671],[84.289047,62.276225],[84.435704,62.177962],[84.551253,62.001487],[84.520144,61.945056],[84.681064,61.815297],[84.919086,61.796538],[85.272656,61.682592],[85.386137,61.698095],[85.479568,61.627867],[85.721931,61.574743],[85.854016,61.595052],[85.956232,61.550042],[85.950444,61.464724],[85.771127,61.443459],[85.643899,61.387597],[85.671185,61.289231],[84.648095,61.000721],[84.259591,60.855511]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"RUS-2397","diss_me":2397,"iso_3166_2":"RU-OMS","wikipedia":null,"iso_a2":"RU","adm0_sr":1,"name":"Omsk","name_alt":"Omskaya Oblast","name_local":"Омская область","type":"Oblast","type_en":"Region","code_local":null,"code_hasc":"RU.OM","note":null,"hasc_maybe":null,"region":"Siberian","region_cod":null,"provnum_ne":20063,"gadm_level":1,"check_me":20,"datarank":2,"abbrev":null,"postal":"OM","area_sqkm":0,"sameascity":6,"labelrank":6,"name_len":4,"mapcolor9":7,"mapcolor13":7,"fips":"RS54","fips_alt":null,"woe_id":2346915,"woe_label":"Omskaya Oblast, RU, Russia","woe_name":"Omsk","latitude":56.0471,"longitude":73.3995,"sov_a3":"RUS","adm0_a3":"RUS","adm0_label":2,"admin":"Russia","geonunit":"Russia","gu_a3":"RUS","gn_id":1496152,"gn_name":"Omskaya Oblast'","gns_id":-2974463,"gns_name":"Omskaya Oblast'","gn_level":1,"gn_region":null,"gn_a1_code":"RU.54","region_sub":"West Siberian","sub_code":null,"gns_level":1,"gns_lang":"fas","gns_adm1":"RS54","gns_region":null,"min_label":5,"max_label":10.2,"min_zoom":4.7,"wikidataid":"Q5835","name_ar":"أوبلاست أومسك","name_bn":"ওমস্ক ওব্লাস্ট","name_de":"Omsk","name_en":"Omsk","name_es":"Omsk","name_fr":"d'Omsk","name_el":"Όμπλαστ του Ομσκ","name_hi":"ओम्स्क ओब्लास्ट","name_hu":"Omszki terület","name_id":"Omsk","name_it":"Omsk","name_ja":"オムスク州","name_ko":"옴스크","name_nl":"Omsk","name_pl":"omski","name_pt":"Omsk","name_ru":"Омская область","name_sv":"Omsk","name_tr":"Omsk Oblastı","name_vi":"Omsk","name_zh":"鄂木斯克州","ne_id":1159313237,"name_he":"מחוז אומסק","name_uk":"Омська область","name_ur":"اومسک اوبلاست","name_fa":"استان اومسک","name_zht":"鄂木斯克州","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[70.429841,53.447539,76.309482,58.581024],"geometry":{"type":"Polygon","coordinates":[[[75.691204,54.114377],[75.656809,54.106],[75.437184,54.08967],[75.398116,54.068483],[75.392329,54.021742],[75.377033,53.970143],[75.220195,53.893817],[75.052194,53.826689],[74.988942,53.819248],[74.88683,53.834027],[74.83412,53.825707],[74.681468,53.754394],[74.451921,53.647243],[74.430424,53.603705],[74.429287,53.550737],[74.402777,53.504435],[74.351514,53.48764],[74.277306,53.527741],[74.209972,53.576472],[74.068637,53.611405],[73.858934,53.619725],[73.731138,53.602775],[73.642926,53.576265],[73.469965,53.468907],[73.40692,53.447539],[73.371832,53.454386],[73.361858,53.506192],[73.326873,53.543166],[73.285687,53.598408],[73.305686,53.707213],[73.399375,53.811496],[73.554198,53.868288],[73.678945,53.929448],[73.715532,53.996213],[73.712431,54.042386],[73.666439,54.06347],[73.617967,54.067398],[73.589958,54.04497],[73.505622,53.99934],[73.38072,53.962856],[73.276592,53.955622],[73.229928,53.957818],[73.119289,53.980736],[72.91403,54.107344],[72.741069,54.1245],[72.622317,54.134345],[72.582681,54.121606],[72.564284,54.090445],[72.575601,54.056494],[72.599166,54.023059],[72.585988,53.995929],[72.530281,53.975775],[72.446772,53.941824],[72.404294,53.964458],[72.383055,54.053652],[72.387293,54.123027],[72.329467,54.181448],[72.26916,54.272114],[72.186013,54.325625],[72.105398,54.308468],[72.065607,54.231625],[72.004474,54.205684],[71.887375,54.221497],[71.677155,54.178037],[71.336452,54.158348],[71.09316,54.212221],[71.052749,54.260487],[71.152122,54.364072],[71.159822,54.455436],[71.159202,54.538635],[71.185557,54.599329],[71.126284,54.715058],[70.99177,54.950496],[70.910173,55.127979],[70.790336,55.261123],[70.738143,55.305152],[70.486272,55.282362],[70.472377,55.276491],[70.470975,55.418013],[70.543632,55.486536],[70.675511,55.505036],[70.747134,55.590302],[70.549317,55.675517],[70.5858,55.837884],[70.846663,55.963354],[70.908985,56.111769],[70.827853,56.15957],[70.849867,56.236258],[70.770285,56.295944],[70.927485,56.347],[70.855448,56.455934],[71.028977,56.526524],[71.168917,56.675714],[71.357019,56.671115],[71.399704,56.725272],[71.556697,56.732196],[71.673279,56.837771],[71.652299,56.922624],[71.371179,57.063752],[71.144009,57.252268],[71.079827,57.344355],[70.800051,57.31906],[70.728531,57.193564],[70.633756,57.264567],[70.490819,57.303815],[70.436249,57.409313],[70.675201,57.511322],[70.579909,57.583566],[70.565026,57.705264],[70.429841,57.784794],[70.436145,57.933828],[70.864646,58.534619],[71.083548,58.51847],[71.120341,58.453383],[71.301622,58.385093],[71.244985,58.340935],[71.220904,58.165752],[71.26917,58.076352],[71.988919,58.122706],[72.149116,58.026226],[72.475504,58.028448],[72.861217,58.010516],[73.087353,58.146322],[74.206251,58.133558],[74.483857,58.269053],[74.613565,58.294272],[74.670822,58.354423],[75.105214,58.581024],[75.302929,58.486921],[75.304272,58.451058],[75.0801,58.353544],[75.2219,58.22208],[75.092915,58.110148],[75.54281,57.940856],[75.580534,57.675033],[75.727089,57.598862],[75.858554,57.399081],[75.992499,57.38487],[76.108667,57.250253],[76.195794,56.969443],[76.248814,56.912547],[76.284161,56.726202],[76.009035,56.548383],[76.108254,56.328397],[76.309482,56.223597],[76.305245,56.183134],[76.006245,56.178535],[75.939272,56.129442],[75.775871,56.144119],[75.695979,56.068154],[75.566168,56.05415],[75.317605,55.895787],[75.342409,55.763987],[75.13436,55.699391],[75.227274,55.652366],[75.178388,55.569115],[75.31099,55.500179],[75.190997,55.462403],[75.097463,55.381788],[75.267685,55.249703],[75.254766,55.136893],[75.394292,55.037416],[75.363287,54.908122],[75.530408,54.890862],[75.640376,54.811952],[75.691019,54.71294],[75.765639,54.705912],[75.830442,54.601525],[75.697013,54.543854],[75.682544,54.482049],[75.691204,54.114377]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"RUS-2398","diss_me":2398,"iso_3166_2":"RU-TYU","wikipedia":null,"iso_a2":"RU","adm0_sr":1,"name":"Tyumen'","name_alt":"Tobol'sk|Tobol'skaya G.|Tyumenskaya Oblast","name_local":"Тюменская область","type":"Oblast","type_en":"Region","code_local":null,"code_hasc":"RU.TY","note":null,"hasc_maybe":null,"region":"Urals","region_cod":null,"provnum_ne":20066,"gadm_level":1,"check_me":20,"datarank":2,"abbrev":null,"postal":"TY","area_sqkm":0,"sameascity":6,"labelrank":6,"name_len":7,"mapcolor9":7,"mapcolor13":7,"fips":"RS78","fips_alt":null,"woe_id":20070528,"woe_label":"Tyumenskaya Oblast, RU, Russia","woe_name":"Tyumen'","latitude":57.2639,"longitude":68.5186,"sov_a3":"RUS","adm0_a3":"RUS","adm0_label":2,"admin":"Russia","geonunit":"Russia","gu_a3":"RUS","gn_id":1488747,"gn_name":"Tyumenskaya Oblast'","gns_id":-3023512,"gns_name":"Tyumenskaya Oblast'","gn_level":1,"gn_region":null,"gn_a1_code":"RU.78","region_sub":"West Siberian","sub_code":null,"gns_level":1,"gns_lang":"fas","gns_adm1":"RS78","gns_region":null,"min_label":5,"max_label":10.2,"min_zoom":4.7,"wikidataid":"Q5824","name_ar":"تيومين أوبلاست","name_bn":"তিউমেন ওব্লাস্ট","name_de":"Tjumen","name_en":"Tyumen","name_es":"Tiumén","name_fr":"Tioumen","name_el":"Όμπλαστ του Τιουμέν","name_hi":"ट्युमेन ओब्लास्ट","name_hu":"Tyumenyi terület","name_id":"Tyumen","name_it":"Tjumen'","name_ja":"チュメニ州","name_ko":"튜멘","name_nl":"Tjoemen","name_pl":"tiumeński","name_pt":"Tiumen","name_ru":"Тюменская область","name_sv":"Tiumen","name_tr":"Tümen Oblastı","name_vi":"Tyumen","name_zh":"秋明州","ne_id":1159313231,"name_he":"מחוז טיומן","name_uk":"Тюменська область","name_ur":"تیومن اوبلاست","name_fa":"استان تیومن","name_zht":"秋明州","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[64.839278,55.162473,75.159475,59.989181],"geometry":{"type":"Polygon","coordinates":[[[70.472377,55.276491],[70.41718,55.253165],[70.371447,55.212237],[70.293312,55.183583],[70.182466,55.162473],[70.087381,55.176762],[69.981703,55.19906],[69.870185,55.245646],[69.740271,55.307374],[69.493257,55.35688],[69.246967,55.372512],[68.977216,55.389617],[68.842961,55.358353],[68.771528,55.330969],[68.590573,55.424421],[68.486807,55.401218],[68.316998,55.555214],[68.173855,55.596038],[68.189461,55.700166],[67.912062,55.66482],[67.824625,55.720682],[67.590944,55.71076],[67.446664,55.735048],[67.298663,55.896743],[66.988501,55.988805],[66.801639,55.966972],[66.760504,56.045468],[66.463468,55.950487],[66.298103,56.058077],[66.185552,56.068025],[66.027939,55.990278],[65.860921,56.06464],[65.707649,56.195433],[65.667134,56.273516],[65.116884,56.325399],[65.087945,56.448338],[64.967229,56.500841],[65.016011,56.649359],[64.995444,56.768267],[65.140345,56.770127],[65.227264,56.860354],[65.101381,56.892032],[64.993687,57.041531],[64.991827,57.221314],[64.917516,57.296348],[64.841655,57.446055],[64.93674,57.548581],[64.839278,57.64072],[65.427872,57.833938],[65.539597,57.779523],[65.702274,57.901272],[66.196611,58.032505],[66.001894,58.297475],[65.934508,58.614355],[66.252008,58.614097],[66.380166,58.589086],[66.74066,58.669597],[66.785826,58.720421],[66.773733,58.929685],[66.951087,58.973197],[67.070873,58.924879],[67.263729,59.020377],[67.564486,59.092931],[67.74215,59.211942],[68.195352,59.241501],[68.358133,59.282919],[68.543444,59.550862],[68.843995,59.621322],[69.295233,59.782889],[69.077675,59.893218],[69.133279,59.94461],[69.306085,59.988897],[69.501319,59.989181],[69.615627,59.904871],[70.154922,59.900013],[70.247733,59.839759],[70.398525,59.817486],[70.79757,59.863013],[71.017195,59.822576],[71.193412,59.905078],[71.296455,59.799089],[71.777046,59.647677],[71.882155,59.572643],[71.999771,59.565822],[72.355201,59.339712],[72.43716,59.303357],[72.453593,59.215094],[72.656888,59.106987],[72.863284,59.157371],[72.975629,59.098977],[72.966947,59.000068],[73.094588,58.94617],[73.032059,58.863126],[73.444127,58.817599],[73.620551,58.853643],[73.755839,58.809382],[73.999546,58.799615],[74.100108,58.739412],[74.743066,58.748094],[74.899129,58.696418],[74.980881,58.718483],[75.159475,58.650219],[75.105214,58.581024],[74.670822,58.354423],[74.613565,58.294272],[74.483857,58.269053],[74.206251,58.133558],[73.087353,58.146322],[72.861217,58.010516],[72.475504,58.028448],[72.149116,58.026226],[71.988919,58.122706],[71.26917,58.076352],[71.220904,58.165752],[71.244985,58.340935],[71.301622,58.385093],[71.120341,58.453383],[71.083548,58.51847],[70.864646,58.534619],[70.436145,57.933828],[70.429841,57.784794],[70.565026,57.705264],[70.579909,57.583566],[70.675201,57.511322],[70.436249,57.409313],[70.490819,57.303815],[70.633756,57.264567],[70.728531,57.193564],[70.800051,57.31906],[71.079827,57.344355],[71.144009,57.252268],[71.371179,57.063752],[71.652299,56.922624],[71.673279,56.837771],[71.556697,56.732196],[71.399704,56.725272],[71.357019,56.671115],[71.168917,56.675714],[71.028977,56.526524],[70.855448,56.455934],[70.927485,56.347],[70.770285,56.295944],[70.849867,56.236258],[70.827853,56.15957],[70.908985,56.111769],[70.846663,55.963354],[70.5858,55.837884],[70.549317,55.675517],[70.747134,55.590302],[70.675511,55.505036],[70.543632,55.486536],[70.470975,55.418013],[70.472377,55.276491]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"RUS-2399","diss_me":2399,"iso_3166_2":"RU-ALT","wikipedia":null,"iso_a2":"RU","adm0_sr":1,"name":"Altay","name_alt":"Altayskiy Kray","name_local":"Алтайский край","type":"Kray","type_en":"Territory","code_local":null,"code_hasc":"RU.AL","note":null,"hasc_maybe":"RU.KE|RUS-ALT","region":"Siberian","region_cod":null,"provnum_ne":20061,"gadm_level":1,"check_me":20,"datarank":2,"abbrev":null,"postal":"AL","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":5,"mapcolor9":7,"mapcolor13":7,"fips":"RS04","fips_alt":"RS29","woe_id":20070529,"woe_label":"Altayskiy Kray, RU, Russia","woe_name":"Altay","latitude":52.4268,"longitude":82.8667,"sov_a3":"RUS","adm0_a3":"RUS","adm0_label":2,"admin":"Russia","geonunit":"Russia","gu_a3":"RUS","gn_id":1511732,"gn_name":"Altayskiy Kray","gns_id":-2876983,"gns_name":"Altayskiy Kray","gn_level":1,"gn_region":null,"gn_a1_code":"RU.04","region_sub":"West Siberian","sub_code":null,"gns_level":1,"gns_lang":"rus","gns_adm1":"RS04","gns_region":null,"min_label":5,"max_label":10.2,"min_zoom":4.7,"wikidataid":"Q5971","name_ar":"جمهورية ألطاي","name_bn":"আলতাই প্রজাতন্ত্র","name_de":"Republik Altai","name_en":"Altai Republic","name_es":"Altái","name_fr":"république de l'Altaï","name_el":"Δημοκρατία των Αλτάι","name_hi":"अल्ताई गणराज्य","name_hu":"Altaj köztársaság","name_id":"Republik Altai","name_it":"Repubblica dell'Altaj","name_ja":"アルタイ共和国","name_ko":"알타이 공화국","name_nl":"Altaj","name_pl":"Republika Ałtaju","name_pt":"Altai","name_ru":"Республика Алтай","name_sv":"Altajrepubliken","name_tr":"Altay Cumhuriyeti","name_vi":"Cộng hòa Altai","name_zh":"阿尔泰共和国","ne_id":1159313239,"name_he":"אלטאי","name_uk":"Республіка Алтай","name_ur":"التائی جمہوریہ","name_fa":"جمهوری آلتایی","name_zht":"阿尔泰共和国","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[77.784447,50.628959,87.175072,54.487165],"geometry":{"type":"Polygon","coordinates":[[[84.06674,50.628959],[84.002397,50.676881],[83.945088,50.774653],[83.859822,50.818035],[83.717764,50.887178],[83.58139,50.935754],[83.357321,50.994562],[83.273708,50.994562],[83.160227,50.989214],[83.092789,50.960611],[83.019202,50.897255],[82.919053,50.893121],[82.76082,50.893354],[82.718497,50.869505],[82.69302,50.826329],[82.611733,50.771475],[82.493962,50.727602],[82.326376,50.741916],[82.211912,50.719437],[82.098069,50.710858],[81.933687,50.766359],[81.752044,50.764395],[81.633912,50.739125],[81.465911,50.739849],[81.431392,50.771139],[81.451597,50.823668],[81.437748,50.871055],[81.410153,50.909761],[81.388242,50.956477],[81.319099,50.966398],[81.124589,50.94627],[81.071465,50.96875],[81.077511,51.014923],[81.112393,51.072387],[81.14097,51.146568],[81.127276,51.191062],[81.026765,51.185713],[80.96558,51.189796],[80.934058,51.242764],[80.877317,51.281444],[80.813135,51.283485],[80.735258,51.293407],[80.650457,51.277361],[80.605499,51.224212],[80.55067,51.21659],[80.491036,51.201733],[80.448092,51.183362],[80.421531,51.136362],[80.433623,51.092644],[80.452278,50.997611],[80.423598,50.94627],[80.345205,50.919114],[80.270377,50.924592],[80.220251,50.911776],[80.127234,50.858369],[80.086357,50.839998],[80.072043,50.807287],[80.065945,50.75822],[79.986209,50.774576],[79.859653,50.955443],[79.716458,51.16003],[79.554349,51.378001],[79.468824,51.49311],[79.14874,51.8681],[78.992057,52.047392],[78.721428,52.357011],[78.4755,52.638441],[78.198049,52.929689],[78.033511,53.094951],[77.859982,53.269178],[77.799365,53.317418],[77.784447,53.327117],[77.929952,53.439762],[77.925301,53.564844],[78.204457,53.611922],[78.259854,53.495495],[78.376643,53.488105],[78.62686,53.529394],[78.602572,53.616056],[78.885656,53.682098],[79.027766,53.660911],[79.24522,53.67998],[79.304338,53.716256],[79.441901,53.69295],[79.571505,53.732741],[79.721057,53.840538],[79.862443,53.857695],[79.866474,53.932471],[80.043518,54.001149],[80.128474,54.075149],[80.297146,54.070137],[80.525039,54.169769],[80.655367,54.20434],[80.801714,54.330172],[80.924808,54.39606],[80.993951,54.264802],[81.103711,54.212557],[81.111876,54.151682],[81.247269,54.100987],[81.473611,54.071687],[81.581718,54.016652],[81.85457,53.968644],[81.838447,53.895341],[81.732407,53.853664],[81.755558,53.777855],[81.845682,53.709849],[81.967845,53.718737],[82.103754,53.662203],[82.213514,53.662513],[82.255682,53.590993],[82.485539,53.468623],[82.732966,53.786898],[83.183171,54.062178],[83.294895,54.083004],[83.385019,53.94942],[83.498914,53.990813],[83.492299,54.08564],[83.555138,54.122898],[84.002656,54.144499],[84.265586,54.215709],[84.531926,54.169717],[84.69326,54.337407],[85.079386,54.469389],[85.160001,54.487165],[85.434817,54.211549],[85.57703,54.231832],[85.810814,54.126206],[85.943829,54.039906],[86.117462,54.000218],[86.232287,53.886504],[86.291715,53.876247],[86.40561,53.750931],[86.454806,53.61404],[86.568804,53.538024],[86.72342,53.484074],[86.933536,53.45312],[86.983456,53.407438],[86.70523,53.19634],[86.943252,53.079525],[87.07699,53.07521],[87.026141,52.921008],[86.944492,52.862407],[87.07358,52.716783],[87.175072,52.706034],[87.173212,52.611621],[87.116574,52.667793],[86.95214,52.634617],[86.840726,52.648311],[86.61769,52.371739],[86.805896,52.292157],[86.814474,52.144724],[86.754426,52.108706],[86.505242,52.120023],[86.439923,52.022923],[86.26536,52.012381],[86.149605,52.070155],[85.939592,52.074987],[85.834172,51.971324],[85.876547,51.919415],[85.740328,51.860607],[85.669944,51.753973],[85.536826,51.7001],[85.427685,51.559747],[85.31348,51.569256],[85.239066,51.47076],[85.007659,51.489002],[84.936862,51.429626],[84.705249,51.395468],[84.394157,51.266018],[84.269513,51.275191],[84.171948,51.143804],[84.014438,51.137602],[84.017952,51.063834],[84.25153,51.002365],[84.471258,50.973168],[84.527998,50.881391],[84.599829,50.858395],[84.541641,50.691066],[84.1828,50.660629],[84.06674,50.628959]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"RUS-2400","diss_me":2400,"iso_3166_2":"RU-AL","wikipedia":null,"iso_a2":"RU","adm0_sr":1,"name":"Gorno-Altay","name_alt":"Gorno-Altayskaya A.Obl.|Respublika Altay|Oirot|Republic of Altai","name_local":"Республика Алтай","type":"Respublika","type_en":"Republic","code_local":null,"code_hasc":"RU.GA","note":null,"hasc_maybe":null,"region":"Siberian","region_cod":null,"provnum_ne":20055,"gadm_level":1,"check_me":20,"datarank":2,"abbrev":null,"postal":"GA","area_sqkm":0,"sameascity":7,"labelrank":7,"name_len":11,"mapcolor9":7,"mapcolor13":7,"fips":"RS03","fips_alt":null,"woe_id":20070530,"woe_label":"Altay, RU, Russia","woe_name":"Gorno-Altay","latitude":50.9782,"longitude":86.937,"sov_a3":"RUS","adm0_a3":"RUS","adm0_label":2,"admin":"Russia","geonunit":"Russia","gu_a3":"RUS","gn_id":1506272,"gn_name":"Respublika Altay","gns_id":-2911003,"gns_name":"Altay, Respublika","gn_level":1,"gn_region":null,"gn_a1_code":"RU.03","region_sub":"West Siberian","sub_code":null,"gns_level":1,"gns_lang":"rus","gns_adm1":"RS03","gns_region":null,"min_label":5,"max_label":10.2,"min_zoom":4.7,"wikidataid":"Q5971","name_ar":"جمهورية ألطاي","name_bn":"আলতাই প্রজাতন্ত্র","name_de":"Republik Altai","name_en":"Altai Republic","name_es":"Altái","name_fr":"république de l'Altaï","name_el":"Δημοκρατία των Αλτάι","name_hi":"अल्ताई गणराज्य","name_hu":"Altaj köztársaság","name_id":"Republik Altai","name_it":"Repubblica dell'Altaj","name_ja":"アルタイ共和国","name_ko":"알타이 공화국","name_nl":"Altaj","name_pl":"Republika Ałtaju","name_pt":"Altai","name_ru":"Республика Алтай","name_sv":"Altajrepubliken","name_tr":"Altay Cumhuriyeti","name_vi":"Cộng hòa Altai","name_zh":"阿尔泰共和国","ne_id":1159313241,"name_he":"אלטאי","name_uk":"Республіка Алтай","name_ur":"التائی جمہوریہ","name_fa":"جمهوری آلتایی","name_zht":"阿尔泰共和国","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[84.014438,49.076591,89.869171,52.667793],"geometry":{"type":"Polygon","coordinates":[[[89.643862,49.903052],[89.63425,49.82329],[89.669493,49.750504],[89.654094,49.717457],[89.579163,49.699706],[89.474983,49.660535],[89.395608,49.611546],[89.29918,49.611132],[89.24399,49.627049],[89.202907,49.595681],[89.180014,49.532248],[89.109476,49.501372],[89.008397,49.472795],[88.97057,49.48375],[88.945403,49.507676],[88.900135,49.539715],[88.863858,49.527623],[88.860344,49.481528],[88.831663,49.448455],[88.747896,49.446233],[88.68268,49.464526],[88.633174,49.486153],[88.544394,49.482561],[88.45241,49.472691],[88.393344,49.482846],[88.337792,49.472562],[88.192581,49.451711],[88.13553,49.381482],[88.13429,49.298438],[88.115738,49.256296],[88.028457,49.219787],[87.988046,49.186895],[87.934767,49.16457],[87.818289,49.16209],[87.814328,49.162354],[87.762478,49.165811],[87.668324,49.147233],[87.576598,49.13235],[87.515878,49.122428],[87.476191,49.091448],[87.416711,49.076591],[87.322815,49.08579],[87.296873,49.147646],[87.233673,49.216144],[87.148045,49.239811],[87.070582,49.254591],[87.000922,49.287328],[86.952967,49.322054],[86.812097,49.48791],[86.714377,49.558603],[86.626475,49.562686],[86.614228,49.609711],[86.665336,49.656711],[86.730706,49.695546],[86.728691,49.748695],[86.675516,49.777298],[86.610145,49.769133],[86.522244,49.707767],[86.417961,49.638469],[86.292439,49.587516],[86.242157,49.54633],[86.180869,49.49933],[86.092968,49.50548],[86.029612,49.503439],[85.974422,49.49933],[85.933597,49.550438],[85.880474,49.556562],[85.498482,49.605396],[85.371616,49.623948],[85.29188,49.599453],[85.232607,49.615809],[85.210127,49.66485],[85.13654,49.75071],[85.076492,49.82161],[85.000786,49.894164],[84.975206,49.95106],[84.999701,50.010281],[84.989469,50.061415],[84.924047,50.087977],[84.838987,50.09131],[84.607322,50.202388],[84.499008,50.218744],[84.400926,50.239156],[84.323256,50.239156],[84.257834,50.288223],[84.194479,50.437438],[84.175927,50.520534],[84.099291,50.604715],[84.06674,50.628959],[84.1828,50.660629],[84.541641,50.691066],[84.599829,50.858395],[84.527998,50.881391],[84.471258,50.973168],[84.25153,51.002365],[84.017952,51.063834],[84.014438,51.137602],[84.171948,51.143804],[84.269513,51.275191],[84.394157,51.266018],[84.705249,51.395468],[84.936862,51.429626],[85.007659,51.489002],[85.239066,51.47076],[85.31348,51.569256],[85.427685,51.559747],[85.536826,51.7001],[85.669944,51.753973],[85.740328,51.860607],[85.876547,51.919415],[85.834172,51.971324],[85.939592,52.074987],[86.149605,52.070155],[86.26536,52.012381],[86.439923,52.022923],[86.505242,52.120023],[86.754426,52.108706],[86.814474,52.144724],[86.805896,52.292157],[86.61769,52.371739],[86.840726,52.648311],[86.95214,52.634617],[87.116574,52.667793],[87.173212,52.611621],[87.334029,52.597513],[87.370306,52.518268],[87.578872,52.487339],[87.635509,52.449796],[87.92376,52.547594],[88.200953,52.415922],[88.413239,52.455145],[88.418304,52.350681],[88.363113,52.298694],[88.364767,52.168005],[88.121474,52.098267],[87.839114,51.810636],[88.086438,51.71364],[87.967375,51.597574],[87.861542,51.54936],[88.105661,51.432184],[88.131603,51.385908],[88.363733,51.319814],[88.507704,51.316351],[88.66542,51.423631],[88.659323,51.534891],[88.7357,51.559385],[88.955429,51.438359],[88.945817,51.22832],[89.03222,51.184318],[89.052373,51.064584],[89.383619,50.857568],[89.673731,50.57898],[89.779668,50.56694],[89.869171,50.485084],[89.843643,50.42992],[89.507953,50.362353],[89.390337,50.319306],[89.336387,50.209597],[89.501442,50.206807],[89.552601,50.052268],[89.643862,49.903052]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"RUS-2401","diss_me":2401,"iso_3166_2":"RU-KEM","wikipedia":null,"iso_a2":"RU","adm0_sr":1,"name":"Kemerovo","name_alt":"Kemerovskaya Oblast","name_local":"Кемеровская область","type":"Oblast","type_en":"Region","code_local":null,"code_hasc":"RU.KE","note":null,"hasc_maybe":null,"region":"Siberian","region_cod":null,"provnum_ne":20094,"gadm_level":1,"check_me":20,"datarank":2,"abbrev":null,"postal":"KE","area_sqkm":0,"sameascity":6,"labelrank":6,"name_len":8,"mapcolor9":7,"mapcolor13":7,"fips":"RS29","fips_alt":null,"woe_id":2346901,"woe_label":"Kemerovskaya Oblast, RU, Russia","woe_name":"Kemerovo","latitude":54.6462,"longitude":87.1676,"sov_a3":"RUS","adm0_a3":"RUS","adm0_label":2,"admin":"Russia","geonunit":"Russia","gu_a3":"RUS","gn_id":1503900,"gn_name":"Kemerovskaya Oblast'","gns_id":-2923679,"gns_name":"Kemerovskaya Oblast'","gn_level":1,"gn_region":null,"gn_a1_code":"RU.29","region_sub":"West Siberian","sub_code":null,"gns_level":1,"gns_lang":"rus","gns_adm1":"RS29","gns_region":null,"min_label":5,"max_label":10.2,"min_zoom":4.7,"wikidataid":"Q6076","name_ar":"أوبلاست كيمروفسكايا","name_bn":"কেমেরোভো ওব্লাস্ট","name_de":"Kemerowo","name_en":"Kemerovo","name_es":"Kémerovo","name_fr":"Kemerovo","name_el":"Όμπλαστ του Κεμέροβο","name_hi":"केमेरोवो ओब्लास्ट","name_hu":"Kemerovói terület","name_id":"Kemerovo","name_it":"Kemerovo","name_ja":"ケメロヴォ州","name_ko":"케메로보","name_nl":"Kemerovo","name_pl":"kemerowski","name_pt":"Kemerovo","name_ru":"Кемеровская область","name_sv":"Kemerovo","name_tr":"Kemerovo Oblastı","name_vi":"Kemerovo","name_zh":"科麦罗沃州","ne_id":1159313243,"name_he":"מחוז קמרובו","name_uk":"Кемеровська область","name_ur":"کیمیروو اوبلاست","name_fa":"استان کمروو","name_zht":"科麦罗沃州","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[84.410383,52.168005,89.443357,56.832965],"geometry":{"type":"Polygon","coordinates":[[[84.410383,56.044073],[84.892937,56.169595],[85.009209,56.133396],[85.121244,56.215871],[85.254362,56.245146],[85.379316,56.212693],[85.687928,56.238841],[85.606486,56.324056],[85.79066,56.361005],[85.784459,56.40617],[86.111571,56.496552],[86.217404,56.624193],[86.313419,56.626931],[86.394241,56.549313],[86.532424,56.568795],[86.706677,56.631892],[86.912969,56.555515],[87.129804,56.53996],[87.1667,56.675559],[87.396971,56.616028],[87.62042,56.639747],[87.77917,56.54797],[88.144419,56.71889],[88.418924,56.828521],[88.551836,56.786767],[88.623976,56.832965],[88.721128,56.731654],[88.661183,56.636285],[88.516696,56.62657],[88.536849,56.545438],[88.625009,56.516628],[88.592453,56.443635],[88.73353,56.375965],[88.861481,56.366327],[88.913157,56.309819],[89.041005,56.304677],[89.056301,56.210109],[89.198721,56.134558],[89.329773,55.90217],[89.443357,55.876021],[89.362845,55.772539],[89.169989,55.704042],[89.061572,55.692854],[88.682267,55.516043],[88.608774,55.44559],[88.396496,55.279003],[88.549975,55.083356],[88.546668,55.023205],[88.659943,54.903006],[88.747586,54.890138],[88.753064,54.804562],[88.612607,54.696868],[88.602995,54.521685],[88.518556,54.416059],[88.560827,54.287746],[88.797712,54.407067],[88.954808,54.369162],[89.004314,54.290123],[89.129165,54.350481],[89.218565,54.242529],[89.187249,54.147393],[89.046792,54.117369],[88.981473,54.065227],[89.072734,53.952573],[89.260423,53.834802],[89.181461,53.780749],[89.018267,53.74225],[89.011239,53.679359],[88.833886,53.584611],[88.895174,53.386612],[89.050616,53.249437],[89.049066,53.130452],[88.89507,52.98736],[89.118209,52.919974],[89.235618,52.810033],[89.043175,52.678129],[89.115109,52.6264],[88.944576,52.487959],[88.676066,52.352464],[88.688055,52.256681],[88.364767,52.168005],[88.363113,52.298694],[88.418304,52.350681],[88.413239,52.455145],[88.200953,52.415922],[87.92376,52.547594],[87.635509,52.449796],[87.578872,52.487339],[87.370306,52.518268],[87.334029,52.597513],[87.173212,52.611621],[87.175072,52.706034],[87.07358,52.716783],[86.944492,52.862407],[87.026141,52.921008],[87.07699,53.07521],[86.943252,53.079525],[86.70523,53.19634],[86.983456,53.407438],[86.933536,53.45312],[86.72342,53.484074],[86.568804,53.538024],[86.454806,53.61404],[86.40561,53.750931],[86.291715,53.876247],[86.232287,53.886504],[86.117462,54.000218],[85.943829,54.039906],[85.810814,54.126206],[85.57703,54.231832],[85.434817,54.211549],[85.160001,54.487165],[85.079386,54.469389],[84.948335,54.604109],[85.043316,54.662323],[84.954536,54.744462],[85.076079,54.868279],[84.882602,54.985275],[84.915778,55.165264],[84.822554,55.246241],[84.875471,55.388532],[84.730984,55.391167],[84.770981,55.539814],[84.709279,55.661771],[84.565619,55.708848],[84.605616,55.840726],[84.506294,55.868218],[84.566549,55.961417],[84.528619,56.041903],[84.410383,56.044073]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"RUS-2402","diss_me":2402,"iso_3166_2":"RU-KK","wikipedia":null,"iso_a2":"RU","adm0_sr":1,"name":"Khakass","name_alt":"Khakassiya|Republic of Khakasia|Khakasskaya A.Obl.|Respublika Khakasiya|Republic of Khakasia","name_local":"Республика Хакасия","type":"Respublika","type_en":"Republic","code_local":null,"code_hasc":"RU.KK","note":null,"hasc_maybe":null,"region":"Siberian","region_cod":null,"provnum_ne":20004,"gadm_level":1,"check_me":20,"datarank":2,"abbrev":null,"postal":"KK","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":7,"mapcolor9":7,"mapcolor13":7,"fips":"RS31","fips_alt":null,"woe_id":20070519,"woe_label":"Khakasiya, RU, Russia","woe_name":"Khakass","latitude":53.3643,"longitude":89.8405,"sov_a3":"RUS","adm0_a3":"RUS","adm0_label":2,"admin":"Russia","geonunit":"Russia","gu_a3":"RUS","gn_id":1503834,"gn_name":"Respublika Khakasiya","gns_id":-2924241,"gns_name":"Khakasiya, Respublika","gn_level":1,"gn_region":null,"gn_a1_code":"RU.31","region_sub":"East Siberian","sub_code":null,"gns_level":1,"gns_lang":"rus","gns_adm1":"RS31","gns_region":null,"min_label":5,"max_label":10.2,"min_zoom":4.7,"wikidataid":"Q6543","name_ar":"خقاسيا","name_bn":"রিপাাবলিক অফ খাকসিয়া","name_de":"Chakassien","name_en":"Republic of Khakassia","name_es":"Jakasia","name_fr":"Khakassie","name_el":"Δημοκρατία της Χακασίας","name_hi":"ख़कासिया","name_hu":"Hakaszföld","name_id":"Khakassia","name_it":"Chakassia","name_ja":"ハカス共和国","name_ko":"하카스 공화국","name_nl":"Chakassië","name_pl":"Chakasja","name_pt":"Cacássia","name_ru":"Хакасия","name_sv":"Chakassien","name_tr":"Hakasya","name_vi":"Khakassia","name_zh":"哈卡斯共和国","ne_id":1159313245,"name_he":"חקסיה","name_uk":"Хакасія","name_ur":"خاکاسیا","name_fa":"خاکاسیا","name_zht":"哈卡斯共和国","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[87.839114,51.316351,91.846415,55.44559],"geometry":{"type":"Polygon","coordinates":[[[88.364767,52.168005],[88.688055,52.256681],[88.676066,52.352464],[88.944576,52.487959],[89.115109,52.6264],[89.043175,52.678129],[89.235618,52.810033],[89.118209,52.919974],[88.89507,52.98736],[89.049066,53.130452],[89.050616,53.249437],[88.895174,53.386612],[88.833886,53.584611],[89.011239,53.679359],[89.018267,53.74225],[89.181461,53.780749],[89.260423,53.834802],[89.072734,53.952573],[88.981473,54.065227],[89.046792,54.117369],[89.187249,54.147393],[89.218565,54.242529],[89.129165,54.350481],[89.004314,54.290123],[88.954808,54.369162],[88.797712,54.407067],[88.560827,54.287746],[88.518556,54.416059],[88.602995,54.521685],[88.612607,54.696868],[88.753064,54.804562],[88.747586,54.890138],[88.659943,54.903006],[88.546668,55.023205],[88.549975,55.083356],[88.396496,55.279003],[88.608774,55.44559],[88.759782,55.34409],[88.950158,55.28908],[88.966074,55.184771],[89.147355,55.076303],[89.200788,54.990391],[89.550018,55.046356],[89.657815,55.003077],[89.904001,55.086095],[90.129207,55.105216],[90.262429,55.049973],[90.435545,55.016332],[90.458283,54.87076],[90.684832,54.904659],[90.714908,54.831175],[90.840481,54.838875],[90.915309,54.791075],[90.854951,54.626743],[91.159015,54.487889],[91.209554,54.338234],[91.463906,54.056546],[91.465146,53.966034],[91.32655,53.816664],[91.333268,53.757649],[91.472381,53.567273],[91.469694,53.513892],[91.743992,53.446712],[91.846415,53.351938],[91.841247,53.288272],[91.659863,53.158487],[91.351148,53.077484],[91.407992,52.947053],[91.396313,52.867988],[91.241904,52.747478],[91.037989,52.660197],[90.700335,52.458194],[90.476589,52.183401],[90.359374,52.191802],[90.123729,52.128601],[90.118872,52.0438],[90.027508,51.984372],[90.104609,51.767693],[89.942862,51.750175],[89.730368,51.582226],[89.58061,51.553029],[89.42093,51.605378],[89.223112,51.559851],[89.232724,51.644807],[89.03253,51.600081],[88.7357,51.559385],[88.659323,51.534891],[88.66542,51.423631],[88.507704,51.316351],[88.363733,51.319814],[88.131603,51.385908],[88.105661,51.432184],[87.861542,51.54936],[87.967375,51.597574],[88.086438,51.71364],[87.839114,51.810636],[88.121474,52.098267],[88.364767,52.168005]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"RUS-2403","diss_me":2403,"iso_3166_2":"RU-NVS","wikipedia":null,"iso_a2":"RU","adm0_sr":1,"name":"Novosibirsk","name_alt":"Novosibirskaya Oblast","name_local":"Новосибирская область","type":"Oblast","type_en":"Region","code_local":null,"code_hasc":"RU.NS","note":null,"hasc_maybe":null,"region":"Siberian","region_cod":null,"provnum_ne":20064,"gadm_level":1,"check_me":20,"datarank":2,"abbrev":null,"postal":"NS","area_sqkm":0,"sameascity":6,"labelrank":6,"name_len":11,"mapcolor9":7,"mapcolor13":7,"fips":"RS53","fips_alt":null,"woe_id":2346914,"woe_label":"Novosibirskaya Oblast, RU, Russia","woe_name":"Novosibirsk","latitude":55.3139,"longitude":80.0832,"sov_a3":"RUS","adm0_a3":"RUS","adm0_label":2,"admin":"Russia","geonunit":"Russia","gu_a3":"RUS","gn_id":1496745,"gn_name":"Novosibirskaya Oblast'","gns_id":-2970530,"gns_name":"Novosibirskaya Oblast'","gn_level":1,"gn_region":null,"gn_a1_code":"RU.53","region_sub":"West Siberian","sub_code":null,"gns_level":1,"gns_lang":"fas","gns_adm1":"RS53","gns_region":null,"min_label":5,"max_label":10.2,"min_zoom":4.7,"wikidataid":"Q5851","name_ar":"نوفوسيبيرسك أوبلاست","name_bn":"নভোসিবিরস্ক ওব্লাস্ট","name_de":"Nowosibirsk","name_en":"Novosibirsk","name_es":"Novosibirsk","name_fr":"Novossibirsk","name_el":"Όμπλαστ του Νοβοσιμπίρσκ","name_hi":"नोवोसिबिर्स्क ओब्लास्ट","name_hu":"Novoszibirszki terület","name_id":"Novosibirsk","name_it":"Novosibirsk","name_ja":"ノヴォシビルスク州","name_ko":"노보시비르스크","name_nl":"Novosibirsk","name_pl":"nowosybirski","name_pt":"Novosibirsk","name_ru":"Новосибирская область","name_sv":"Novosibirsk","name_tr":"Novosibirsk Oblastı","name_vi":"Novosibirsk","name_zh":"新西伯利亚州","ne_id":1159313249,"name_he":"מחוז נובוסיבירסק","name_uk":"Новосибірська область","name_ur":"نووسیبرسک اوبلاست","name_fa":"استان نووسیبیرسک","name_zht":"新西伯利亚州","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[75.097463,53.327117,85.079386,57.250253],"geometry":{"type":"Polygon","coordinates":[[[77.784447,53.327117],[77.704384,53.379171],[77.469256,53.498776],[77.132429,53.670135],[76.820665,53.822658],[76.575719,53.942522],[76.513087,53.993216],[76.484769,54.022543],[76.458569,54.055254],[76.422033,54.113519],[76.421723,54.151527],[76.654577,54.145274],[76.70305,54.182455],[76.788988,54.321878],[76.837305,54.442362],[76.759377,54.436884],[76.61551,54.38712],[76.539184,54.35105],[76.496499,54.335702],[76.266591,54.311982],[76.140552,54.258549],[75.880619,54.16796],[75.692879,54.114785],[75.691204,54.114377],[75.682544,54.482049],[75.697013,54.543854],[75.830442,54.601525],[75.765639,54.705912],[75.691019,54.71294],[75.640376,54.811952],[75.530408,54.890862],[75.363287,54.908122],[75.394292,55.037416],[75.254766,55.136893],[75.267685,55.249703],[75.097463,55.381788],[75.190997,55.462403],[75.31099,55.500179],[75.178388,55.569115],[75.227274,55.652366],[75.13436,55.699391],[75.342409,55.763987],[75.317605,55.895787],[75.566168,56.05415],[75.695979,56.068154],[75.775871,56.144119],[75.939272,56.129442],[76.006245,56.178535],[76.305245,56.183134],[76.309482,56.223597],[76.108254,56.328397],[76.009035,56.548383],[76.284161,56.726202],[76.248814,56.912547],[76.195794,56.969443],[76.108667,57.250253],[76.802165,57.210048],[76.91854,57.187879],[78.444339,57.161317],[78.447646,57.121888],[79.589799,56.928567],[80.24857,56.45472],[80.310271,56.438623],[81.122315,56.532622],[81.214609,56.507559],[81.425552,56.373329],[81.55743,56.258272],[81.944384,56.339455],[82.146025,56.334572],[82.342395,56.35563],[82.426525,56.39431],[82.828464,56.440535],[82.856473,56.532622],[82.995896,56.507869],[83.096045,56.549313],[83.251694,56.455624],[83.153922,56.381933],[83.137489,56.275738],[83.214384,56.212073],[83.127567,56.13169],[83.353497,55.969142],[83.40662,55.893462],[83.293345,55.85101],[83.223169,55.737012],[83.316083,55.692156],[83.402899,55.735203],[83.56816,55.692699],[83.782721,55.882119],[83.909535,55.913177],[83.951083,56.004902],[84.196753,56.054822],[84.329044,55.987539],[84.410383,56.044073],[84.528619,56.041903],[84.566549,55.961417],[84.506294,55.868218],[84.605616,55.840726],[84.565619,55.708848],[84.709279,55.661771],[84.770981,55.539814],[84.730984,55.391167],[84.875471,55.388532],[84.822554,55.246241],[84.915778,55.165264],[84.882602,54.985275],[85.076079,54.868279],[84.954536,54.744462],[85.043316,54.662323],[84.948335,54.604109],[85.079386,54.469389],[84.69326,54.337407],[84.531926,54.169717],[84.265586,54.215709],[84.002656,54.144499],[83.555138,54.122898],[83.492299,54.08564],[83.498914,53.990813],[83.385019,53.94942],[83.294895,54.083004],[83.183171,54.062178],[82.732966,53.786898],[82.485539,53.468623],[82.255682,53.590993],[82.213514,53.662513],[82.103754,53.662203],[81.967845,53.718737],[81.845682,53.709849],[81.755558,53.777855],[81.732407,53.853664],[81.838447,53.895341],[81.85457,53.968644],[81.581718,54.016652],[81.473611,54.071687],[81.247269,54.100987],[81.111876,54.151682],[81.103711,54.212557],[80.993951,54.264802],[80.924808,54.39606],[80.801714,54.330172],[80.655367,54.20434],[80.525039,54.169769],[80.297146,54.070137],[80.128474,54.075149],[80.043518,54.001149],[79.866474,53.932471],[79.862443,53.857695],[79.721057,53.840538],[79.571505,53.732741],[79.441901,53.69295],[79.304338,53.716256],[79.24522,53.67998],[79.027766,53.660911],[78.885656,53.682098],[78.602572,53.616056],[78.62686,53.529394],[78.376643,53.488105],[78.259854,53.495495],[78.204457,53.611922],[77.925301,53.564844],[77.929952,53.439762],[77.784447,53.327117]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"RUS-2416","diss_me":2416,"iso_3166_2":"RU-CE","wikipedia":null,"iso_a2":"RU","adm0_sr":1,"name":"Chechnya","name_alt":"Cecenia|Chechenia|Chechênia|Tchetchnia|Chechen-Ingush A.S.S.R.|Checheno-Ingushetia|Checheno-Ingushetia","name_local":"Республика Чечено-Ингушская","type":"Respublika","type_en":"Republic","code_local":null,"code_hasc":"RU.CN","note":null,"hasc_maybe":null,"region":"Volga","region_cod":null,"provnum_ne":20038,"gadm_level":1,"check_me":20,"datarank":2,"abbrev":null,"postal":"CN","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":8,"mapcolor9":7,"mapcolor13":7,"fips":"RS12","fips_alt":null,"woe_id":2346868,"woe_label":null,"woe_name":null,"latitude":43.2153,"longitude":45.757,"sov_a3":"RUS","adm0_a3":"RUS","adm0_label":2,"admin":"Russia","geonunit":"Russia","gu_a3":"RUS","gn_id":569665,"gn_name":"Chechenskaya Respublika","gns_id":-2896483,"gns_name":"Chechenskaya Respublika","gn_level":1,"gn_region":null,"gn_a1_code":"RU.12","region_sub":"North Caucasus","sub_code":null,"gns_level":1,"gns_lang":"rus","gns_adm1":"RS12","gns_region":null,"min_label":5,"max_label":10.2,"min_zoom":4.7,"wikidataid":"Q5187","name_ar":"الشيشان","name_bn":"চেচনিয়া","name_de":"Tschetschenien","name_en":"Chechen Republic","name_es":"Chechenia","name_fr":"Tchétchénie","name_el":"Δημοκρατία της Τσετσενίας","name_hi":"चेचन्या","name_hu":"Csecsenföld","name_id":"Chechnya","name_it":"Cecenia","name_ja":"チェチェン共和国","name_ko":"체첸 공화국","name_nl":"Tsjetsjenië","name_pl":"Czeczenia","name_pt":"Chechénia","name_ru":"Чечня","name_sv":"Tjetjenien","name_tr":"Çeçenistan","name_vi":"Chechnya","name_zh":"车臣共和国","ne_id":1159313219,"name_he":"צ'צ'ניה","name_uk":"Чечня","name_ur":"شیشان","name_fa":"چچن","name_zht":"车臣共和国","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[44.838535,42.474439,46.585922,44.015195],"geometry":{"type":"Polygon","coordinates":[[[45.727379,42.474439],[45.727576,42.47503],[45.705252,42.498078],[45.655539,42.517663],[45.562935,42.53575],[45.343724,42.529782],[45.208228,42.64825],[45.160272,42.675018],[45.077442,42.692902],[45.171848,42.791704],[45.136604,42.835138],[45.161306,42.946423],[45.137225,43.07458],[45.169264,43.127368],[45.120998,43.204056],[45.046687,43.494348],[44.838535,43.58411],[44.838741,43.661056],[44.999972,43.704568],[45.079864,43.787715],[45.083378,43.95277],[45.189728,43.951736],[45.237373,43.880164],[45.43178,43.878614],[45.459065,43.999899],[45.509398,44.015195],[45.71042,43.955147],[45.80292,43.978143],[46.044663,43.933649],[46.016447,43.876418],[46.220259,43.863008],[46.256949,43.9483],[46.349347,43.997728],[46.462312,43.961968],[46.451563,43.887089],[46.585922,43.872232],[46.584991,43.772367],[46.483499,43.672115],[46.43854,43.54096],[46.337565,43.458175],[46.359889,43.360971],[46.423038,43.314721],[46.403297,43.113751],[46.533522,42.961176],[46.424588,42.876608],[46.335808,42.903996],[46.123211,42.843122],[46.169513,42.729692],[46.095409,42.715119],[45.948338,42.575076],[45.82111,42.487226],[45.727379,42.474439]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"RUS-2417","diss_me":2417,"iso_3166_2":"RU-DA","wikipedia":null,"iso_a2":"RU","adm0_sr":4,"name":"Dagestan","name_alt":"Dagestanskaya A.S.S.R.|Daghestan|Republic of Dagestan|Respublika Dagestan|Dagistan","name_local":"Республика Дагестан","type":"Respublika","type_en":"Republic","code_local":null,"code_hasc":"RU.DA","note":null,"hasc_maybe":null,"region":"Volga","region_cod":null,"provnum_ne":20026,"gadm_level":1,"check_me":20,"datarank":2,"abbrev":null,"postal":"DA","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":8,"mapcolor9":7,"mapcolor13":7,"fips":"RS17","fips_alt":null,"woe_id":2346870,"woe_label":"Dagestan, RU, Russia","woe_name":"Dagestan","latitude":42.36,"longitude":47.1424,"sov_a3":"RUS","adm0_a3":"RUS","adm0_label":2,"admin":"Russia","geonunit":"Russia","gu_a3":"RUS","gn_id":567293,"gn_name":"Respublika Dagestan","gns_id":-2900223,"gns_name":"Dagestan, Respublika","gn_level":1,"gn_region":null,"gn_a1_code":"RU.17","region_sub":"North Caucasus","sub_code":null,"gns_level":1,"gns_lang":"rus","gns_adm1":"RS17","gns_region":null,"min_label":5,"max_label":10.2,"min_zoom":4.7,"wikidataid":"Q5118","name_ar":"داغستان","name_bn":"দাগেস্তান","name_de":"Dagestan","name_en":"Republic of Dagestan","name_es":"Daguestán","name_fr":"Daghestan","name_el":"Δημοκρατία του Νταγκεστάν","name_hi":"दाग़िस्तान","name_hu":"Dagesztán","name_id":"Dagestan","name_it":"Daghestan","name_ja":"ダゲスタン共和国","name_ko":"다게스탄 공화국","name_nl":"Dagestan","name_pl":"Dagestan","name_pt":"Daguestão","name_ru":"Дагестан","name_sv":"Dagestan","name_tr":"Dağıstan","name_vi":"Dagestan","name_zh":"达吉斯坦共和国","ne_id":1159312441,"name_he":"דאגסטן","name_uk":"Дагестан","name_ur":"داغستان","name_fa":"داغستان","name_zht":"達吉斯坦共和國","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[45.124099,41.199269,48.572852,45.000509],"geometry":{"type":"Polygon","coordinates":[[[45.727379,42.474439],[45.82111,42.487226],[45.948338,42.575076],[46.095409,42.715119],[46.169513,42.729692],[46.123211,42.843122],[46.335808,42.903996],[46.424588,42.876608],[46.533522,42.961176],[46.403297,43.113751],[46.423038,43.314721],[46.359889,43.360971],[46.337565,43.458175],[46.43854,43.54096],[46.483499,43.672115],[46.584991,43.772367],[46.585922,43.872232],[46.451563,43.887089],[46.462312,43.961968],[46.349347,43.997728],[46.256949,43.9483],[46.220259,43.863008],[46.016447,43.876418],[46.044663,43.933649],[45.80292,43.978143],[45.71042,43.955147],[45.509398,44.015195],[45.506298,44.190481],[45.124099,44.202367],[45.130713,44.268306],[45.404495,44.317502],[45.443769,44.402458],[45.398397,44.444419],[45.237373,44.460129],[45.27086,44.59056],[45.434881,44.617484],[45.613991,44.766002],[45.621123,44.898965],[45.705975,44.975782],[45.853667,45.000509],[46.433683,44.93656],[46.603492,44.885323],[46.891376,44.746021],[46.841211,44.718262],[46.755273,44.656543],[46.716113,44.560693],[46.707227,44.50332],[46.720898,44.45166],[46.753027,44.420654],[46.915723,44.387158],[47.023633,44.343262],[47.122656,44.26167],[47.229883,44.192383],[47.307031,44.103125],[47.361523,43.993359],[47.429199,43.779883],[47.462793,43.555029],[47.562598,43.834668],[47.646484,43.884619],[47.627832,43.805957],[47.567969,43.684961],[47.508984,43.509717],[47.489844,43.381689],[47.511621,43.270752],[47.512891,43.21875],[47.463184,43.035059],[47.488867,42.999756],[47.529004,42.967139],[47.634863,42.903467],[47.709082,42.810937],[47.727734,42.680713],[47.769727,42.644775],[47.822363,42.613477],[48.080176,42.353711],[48.228613,42.180957],[48.303027,42.080225],[48.383789,41.953418],[48.426367,41.923975],[48.476758,41.905127],[48.572852,41.844482],[48.51862,41.779336],[48.430719,41.663349],[48.391393,41.601905],[48.298117,41.54501],[48.142312,41.484755],[48.056064,41.45871],[47.963719,41.333963],[47.861089,41.21273],[47.791016,41.199269],[47.591855,41.218105],[47.520593,41.22906],[47.31766,41.282442],[47.261178,41.315075],[47.205315,41.455609],[47.142632,41.516045],[47.063929,41.554699],[47.010185,41.587488],[46.987758,41.621387],[46.930914,41.670428],[46.825597,41.743421],[46.749323,41.81259],[46.690308,41.831349],[46.615997,41.806958],[46.571246,41.800085],[46.552125,41.81228],[46.537656,41.87039],[46.429911,41.890958],[46.411565,41.904626],[46.267802,41.960333],[46.212663,41.989892],[46.159798,41.992062],[46.048487,42.008754],[45.954022,42.035393],[45.910407,42.070714],[45.846019,42.109936],[45.726543,42.158874],[45.638589,42.205073],[45.634248,42.234735],[45.688354,42.357363],[45.727379,42.474439]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"RUS-2602","diss_me":2602,"iso_3166_2":"RU-IRK","wikipedia":null,"iso_a2":"RU","adm0_sr":1,"name":"Irkutsk","name_alt":"Irkutskaya Oblast","name_local":"Иркутская область","type":"Oblast","type_en":"Region","code_local":null,"code_hasc":"RU.IK","note":null,"hasc_maybe":null,"region":"Siberian","region_cod":null,"provnum_ne":20006,"gadm_level":1,"check_me":20,"datarank":2,"abbrev":null,"postal":"IR","area_sqkm":0,"sameascity":6,"labelrank":6,"name_len":7,"mapcolor9":7,"mapcolor13":7,"fips":"RS20","fips_alt":null,"woe_id":2346896,"woe_label":"Irkutskaya Oblast, RU, Russia","woe_name":"Irkutsk","latitude":56.8255,"longitude":105.966,"sov_a3":"RUS","adm0_a3":"RUS","adm0_label":2,"admin":"Russia","geonunit":"Russia","gu_a3":"RUS","gn_id":2023468,"gn_name":"Irkutskaya Oblast'","gns_id":-2916146,"gns_name":"Irkutskaya Oblast'","gn_level":1,"gn_region":null,"gn_a1_code":"RU.20","region_sub":"East Siberian","sub_code":null,"gns_level":1,"gns_lang":"rus","gns_adm1":"RS20","gns_region":null,"min_label":5,"max_label":10.2,"min_zoom":4.7,"wikidataid":"Q6585","name_ar":"إركوتسك أوبلاست","name_bn":"ইরকুটস্ক ওব্লাস্ট","name_de":"Irkutsk","name_en":"Irkutsk","name_es":"Irkutsk","name_fr":"d'Irkoutsk","name_el":"Όμπλαστ του Ιρκούτσκ","name_hi":"इरकुत्स्क ओब्लास्त","name_hu":"Irkutszki terület","name_id":"Irkutsk","name_it":"Irkutsk","name_ja":"イルクーツク州","name_ko":"이르쿠츠크","name_nl":"Irkoetsk","name_pl":"irkucki","name_pt":"Irkutsk","name_ru":"Иркутская область","name_sv":"Irkutsk","name_tr":"İrkutsk Oblastı","name_vi":"Irkutsk","name_zh":"伊爾庫茨克州","ne_id":1159313609,"name_he":"מחוז אירקוטסק","name_uk":"Іркутська область","name_ur":"ارکتسک اوبلاست","name_fa":"استان ایرکوتسک","name_zht":"伊爾庫茨克州","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[95.653108,51.131866,119.132398,64.28171],"geometry":{"type":"Polygon","coordinates":[[[96.684052,53.638535],[96.505149,53.684372],[96.405516,53.783307],[96.125947,53.972365],[96.079335,54.062747],[95.919034,54.155661],[95.678222,54.234158],[95.653108,54.281855],[95.71667,54.387947],[95.896917,54.389342],[95.98115,54.451612],[96.03882,54.558169],[96.221032,54.542718],[96.351359,54.561941],[96.49502,54.510523],[96.551864,54.580493],[96.564887,54.696868],[96.67258,54.805932],[96.711854,54.92657],[96.586177,55.019123],[96.684672,55.084907],[96.719916,55.264896],[96.918043,55.329517],[96.819961,55.557591],[96.752782,55.650712],[96.76012,55.746081],[96.960005,55.860932],[96.986463,56.018338],[97.125266,56.101744],[97.351919,56.051204],[97.440182,56.146754],[97.564929,56.189594],[97.591387,56.386688],[97.840674,56.393147],[97.881809,56.426944],[97.868166,56.554843],[97.762333,56.559132],[97.76533,56.787955],[97.546635,56.793381],[97.468501,56.827436],[97.488758,56.963707],[97.354916,57.060548],[97.934002,57.811304],[97.986712,57.821897],[98.546161,57.791357],[98.767543,57.790685],[98.961639,57.723299],[99.079875,57.770428],[99.410914,57.795542],[99.497524,57.929023],[99.702783,58.085705],[99.793527,58.062503],[100.017286,58.081468],[100.079401,58.045088],[100.12932,57.866804],[100.275358,57.804844],[100.418708,57.541759],[100.637713,57.476647],[100.715641,57.412878],[100.911391,57.451506],[100.955316,57.555299],[100.801424,57.673017],[100.884623,57.769678],[100.845659,57.845462],[100.970509,57.870473],[101.137321,57.985376],[101.207911,58.141878],[101.297621,58.219289],[101.530888,58.225309],[101.678476,58.406668],[101.773561,58.45328],[102.161651,58.515602],[102.311099,58.642338],[102.519665,58.727888],[102.564934,58.79667],[102.537338,58.896586],[102.438637,58.943741],[102.407011,59.067403],[102.454863,59.153134],[102.588498,59.203053],[102.75934,59.199436],[102.998809,59.315398],[103.082628,59.264393],[103.239311,59.283617],[103.246029,59.180057],[103.37522,59.034123],[103.692927,58.923225],[103.889504,58.902607],[103.948725,58.773881],[104.22013,58.757964],[104.373816,58.713264],[104.458151,58.602263],[104.78671,58.666264],[104.872493,58.718535],[104.759115,58.820493],[104.948251,58.958624],[105.353497,59.107917],[105.288075,59.264238],[105.195678,59.303306],[105.22534,59.429293],[104.985665,59.461125],[104.883242,59.525359],[104.798803,59.690879],[105.004888,59.765655],[105.035067,59.836038],[105.186376,59.858465],[105.377165,59.821672],[105.484755,60.021918],[105.423777,60.122945],[105.475764,60.253868],[105.321251,60.295493],[105.220586,60.276218],[104.889236,60.301694],[104.676226,60.399879],[104.52316,60.644903],[104.594474,60.735156],[104.459702,60.838767],[104.62858,60.890005],[104.571116,60.954833],[104.635195,61.036378],[104.83663,61.176163],[105.004578,61.197557],[104.904016,61.367546],[104.957242,61.39832],[105.253245,61.419921],[105.36745,61.529836],[105.550178,61.566268],[105.717609,61.649622],[105.822719,61.631225],[105.941368,61.685382],[105.902198,61.834882],[106.218147,62.003167],[106.403873,62.030736],[106.37514,62.103238],[106.442526,62.184783],[106.397258,62.314336],[106.479113,62.328521],[106.713931,62.487556],[106.725713,62.587705],[106.494823,62.691884],[106.525209,62.741339],[106.434878,62.846707],[106.225279,62.893784],[106.125647,63.048245],[106.403252,63.113306],[106.368319,63.272391],[106.437566,63.31996],[106.661428,63.296654],[106.7253,63.374969],[106.516837,63.482999],[106.6914,63.636323],[106.629492,63.696784],[106.793409,63.842383],[106.679928,63.93062],[106.764367,63.995681],[107.052618,63.891759],[107.202377,63.956872],[107.372496,63.865508],[107.550262,63.857007],[107.679764,63.989221],[108.26288,63.995887],[108.320138,64.039037],[108.223606,64.203368],[108.026512,64.223522],[108.467519,64.28171],[108.532735,64.227501],[108.495011,64.115725],[108.735203,63.977129],[108.766416,63.860443],[108.686834,63.795383],[108.279417,63.796416],[108.265051,63.672651],[108.111985,63.616737],[108.159631,63.562891],[108.547101,63.598961],[108.857056,63.536949],[109.052703,63.549067],[109.215484,63.441813],[109.452989,63.148962],[109.465391,62.949646],[109.614426,62.873734],[109.512003,62.776634],[109.305918,62.483628],[109.556652,62.431435],[109.91818,62.40632],[109.995695,62.277543],[109.999519,62.163544],[109.819271,62.007688],[109.597786,61.870436],[109.620007,61.718094],[109.851311,61.557277],[109.846246,61.424365],[109.7924,61.325198],[110.094397,61.262643],[110.168811,61.164071],[110.48135,61.159213],[110.516696,61.091207],[110.458405,60.988267],[110.239711,60.830964],[110.268443,60.70198],[110.056776,60.673868],[110.116204,60.587052],[109.916836,60.450574],[109.740516,60.233481],[109.694421,60.128578],[109.763874,60.026982],[109.650393,59.870558],[109.503735,59.763846],[109.517378,59.629642],[109.269434,59.449085],[109.26778,59.315966],[109.498774,59.294366],[109.63644,59.065956],[110.119305,58.98038],[110.286633,58.985237],[110.470911,59.033555],[110.589353,59.131326],[110.580362,59.190806],[110.71348,59.258916],[111.163789,59.189411],[111.316338,59.257469],[111.470127,59.267287],[111.625259,59.207342],[111.775844,59.275762],[111.932527,59.271886],[112.217885,59.500399],[112.435442,59.326302],[112.631089,59.310489],[112.465208,59.167758],[112.451152,58.924001],[112.612486,58.95449],[112.554401,59.0334],[112.727621,59.083422],[113.152194,59.164451],[113.264229,59.156855],[113.464734,59.266305],[113.435175,59.402266],[113.604983,59.499056],[113.591754,59.565202],[113.77934,59.608558],[113.84931,59.681577],[114.030177,59.681112],[114.161228,59.747723],[114.309023,59.878878],[114.545494,59.985434],[114.540223,60.102068],[114.697113,60.219219],[114.835916,60.190383],[115.006758,60.268518],[115.112178,60.394557],[115.394745,60.487058],[115.686303,60.526228],[115.842056,60.467705],[115.998946,60.45724],[116.075427,60.406907],[116.582373,60.359934],[116.721589,60.266244],[116.95434,60.168576],[117.076606,60.029153],[117.296334,60.018921],[117.065134,59.90792],[117.228225,59.798314],[117.190398,59.646385],[117.089318,59.588404],[117.352352,59.497351],[117.597505,59.472313],[117.778579,59.528331],[117.906013,59.443865],[118.058252,59.582643],[118.335961,59.595639],[118.407274,59.512337],[118.733869,59.419784],[118.839703,59.300412],[118.688704,59.191452],[118.707204,59.063837],[118.840323,59.015597],[118.795364,58.934646],[118.892929,58.81641],[118.821202,58.574254],[118.980159,58.542784],[119.132398,58.472349],[119.070386,58.34122],[119.10811,58.2227],[118.784099,58.212829],[118.630413,58.175157],[118.405104,58.261509],[118.317357,58.352511],[118.142071,58.385894],[117.683804,58.397986],[117.470897,58.303987],[117.587789,58.184304],[117.437721,58.1518],[117.374572,58.060901],[117.368061,57.934164],[117.312974,57.847038],[117.128283,57.84156],[117.172724,57.736476],[117.140375,57.668418],[117.282278,57.617155],[117.25706,57.508996],[117.320726,57.4567],[117.356692,57.337069],[117.426972,57.263688],[117.597091,57.321153],[117.794288,57.287408],[117.723388,57.187052],[117.600915,57.14969],[117.676569,57.065819],[117.672539,56.977504],[117.5758,56.934716],[117.570839,56.851207],[117.179546,56.865987],[117.140581,56.808522],[117.012217,56.806455],[116.81502,56.726202],[116.629088,56.748526],[116.361611,56.847331],[116.122039,56.812657],[115.957398,56.865031],[115.860246,56.932443],[115.710798,56.9635],[115.804849,57.0313],[116.047625,57.082201],[116.170305,57.14137],[116.155732,57.228548],[115.852185,57.240072],[115.697776,57.136668],[115.449935,57.097032],[115.085927,57.118581],[115.050373,56.990734],[114.850695,56.836686],[114.795298,56.709717],[114.498469,56.670856],[114.289283,56.692018],[114.127225,56.675972],[114.01023,56.545334],[113.86967,56.532622],[113.803007,56.602437],[113.546796,56.67158],[113.3558,56.626363],[112.885544,56.696695],[112.762037,56.752531],[112.662095,56.95965],[112.443917,56.862989],[112.234938,56.877717],[112.109571,56.94438],[111.916094,56.945491],[111.854289,56.913271],[111.62805,57.016313],[111.620195,57.094991],[111.462478,57.102458],[111.336698,56.950013],[111.363156,56.894822],[111.133713,56.814749],[110.998114,56.857718],[110.883082,56.834051],[110.752548,56.8741],[110.662114,56.83343],[110.531889,56.846711],[110.399081,56.921229],[110.247979,56.924846],[109.988977,56.969029],[109.886864,56.890869],[109.780411,56.711112],[109.665276,56.694266],[109.410201,56.734935],[109.313669,56.671735],[109.143137,56.676076],[108.92961,56.588174],[108.69903,56.582903],[108.718563,56.499446],[108.557023,56.345657],[108.571182,56.293618],[108.798972,56.257393],[108.928886,56.148201],[108.991208,56.03968],[109.105,56.021671],[109.180034,55.913022],[108.959996,55.94134],[108.854059,55.866254],[108.771377,55.623272],[108.622238,55.455892],[108.651281,55.313187],[108.77272,55.237275],[108.782229,55.169501],[108.690348,55.062324],[108.716083,54.78508],[108.640429,54.60106],[108.670918,54.546878],[109.022111,54.493625],[109.007331,54.424947],[108.423491,53.783177],[108.060826,53.205125],[108.040982,53.192722],[106.198304,52.440184],[105.991598,52.220947],[105.751509,52.030985],[105.461191,51.863346],[105.123124,51.73108],[104.899468,51.668681],[104.649871,51.622431],[104.628684,51.443372],[104.670025,51.399163],[104.609357,51.268292],[104.494222,51.308961],[104.212378,51.281108],[104.09807,51.218166],[103.813746,51.131866],[103.818707,51.38782],[103.689723,51.460167],[103.576345,51.479235],[103.335016,51.434199],[103.181434,51.620829],[103.221638,51.78826],[103.064748,51.882673],[102.944962,51.906599],[102.777014,51.984553],[102.672937,52.098422],[102.573512,52.149065],[102.542093,52.227613],[102.394815,52.259033],[102.320401,52.231334],[102.188006,52.275828],[102.045689,52.212188],[101.963213,52.222446],[101.9104,52.317091],[101.742968,52.402357],[101.687571,52.460622],[101.475595,52.571107],[101.436217,52.631206],[101.320152,52.641387],[101.030867,52.769105],[100.85248,52.810653],[100.826849,52.856464],[100.606397,52.94359],[100.362691,53.136757],[100.401035,53.234219],[100.260475,53.37483],[100.079814,53.300313],[99.878173,53.299383],[99.805206,53.190164],[99.690174,53.131951],[99.535971,53.105441],[99.378978,53.112779],[99.366473,53.053816],[99.249787,52.953822],[98.989338,53.034489],[99.055691,53.103787],[98.697883,53.154844],[98.615201,53.107508],[98.303178,53.103736],[98.279511,53.225692],[98.030844,53.252615],[97.971519,53.351628],[97.698771,53.378913],[97.585806,53.438082],[97.44783,53.461492],[97.328354,53.596367],[97.135188,53.613007],[96.874945,53.729072],[96.742757,53.711037],[96.684052,53.638535]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"RUS-2603","diss_me":2603,"iso_3166_2":"RU-KYA","wikipedia":null,"iso_a2":"RU","adm0_sr":1,"name":"Krasnoyarsk","name_alt":"Krasnoyarskiy Kray|Yeniseisk|Yeniseyskaya G.","name_local":"Красноярский край","type":"Kray","type_en":"Territory","code_local":null,"code_hasc":"RU.KX","note":"expected merging of Taymyr, Evenk with Krasnoyarsk - 20070101","hasc_maybe":"RU.KX|RUS-KRA","region":"Siberian","region_cod":null,"provnum_ne":20003,"gadm_level":1,"check_me":20,"datarank":2,"abbrev":null,"postal":"KY","area_sqkm":0,"sameascity":6,"labelrank":6,"name_len":11,"mapcolor9":7,"mapcolor13":7,"fips":"RS91","fips_alt":null,"woe_id":20070524,"woe_label":null,"woe_name":null,"latitude":65.5602,"longitude":95.2029,"sov_a3":"RUS","adm0_a3":"RUS","adm0_label":2,"admin":"Russia","geonunit":"Russia","gu_a3":"RUS","gn_id":1502020,"gn_name":"Krasnoyarskiy Kray","gns_id":-2936683,"gns_name":"Krasnoyarskiy Kray","gn_level":1,"gn_region":null,"gn_a1_code":"RU.91","region_sub":"East Siberian","sub_code":null,"gns_level":1,"gns_lang":"rus","gns_adm1":"RS91","gns_region":null,"min_label":5,"max_label":10.2,"min_zoom":4.7,"wikidataid":"Q6563","name_ar":"كراسنويارسك كراي","name_bn":"ক্রাসনোয়ারস্ক ক্রাই","name_de":"Krasnojarsk","name_en":"Krasnoyarsk Krai","name_es":"Krasnoyarsk","name_fr":"Krasnoïarsk","name_el":"Κράι Κρασνογιάρσκ","name_hi":"क्रस्नोयार्स्क क्राय","name_hu":"Krasznojarszki határterület","name_id":"Krai Krasnoyarsk","name_it":"Territorio di Krasnojarsk","name_ja":"クラスノヤルスク地方","name_ko":"크라스노야르스크 지방","name_nl":"Kraj Krasnojarsk","name_pl":"Kraj Krasnojarski","name_pt":"Krai de Krasnoiarsk","name_ru":"Красноярский край","name_sv":"Krasnojarsk kraj","name_tr":"Krasnoyarsk Krayı","name_vi":"Krasnoyarsk","name_zh":"克拉斯诺亚尔斯克边疆区","ne_id":1159313611,"name_he":"מחוז קרסנויארסק","name_uk":"Красноярський край","name_ur":"کراسنویارسک کرائی","name_fa":"سرزمین کراسنویارسک","name_zht":"克拉斯諾亞爾斯克邊疆區","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[76.051562,51.781439,113.870996,81.280469],"geometry":{"type":"MultiPolygon","coordinates":[[[[96.853906,76.19917],[96.797852,76.188428],[96.754492,76.195752],[96.739355,76.206934],[96.740234,76.257861],[96.83291,76.32417],[96.835254,76.344824],[96.87793,76.355225],[96.990234,76.343408],[97.045313,76.315381],[97.053027,76.302588],[96.974219,76.236523],[96.853906,76.19917]]],[[[100.068359,79.701025],[100.141504,79.683691],[100.300293,79.670264],[100.135938,79.614209],[99.91543,79.601611],[99.942285,79.671436],[99.955762,79.690332],[100.068359,79.701025]]],[[[78.482617,72.394971],[79.42207,72.380762],[79.953906,72.223047],[80.474023,72.153125],[80.699219,72.098291],[80.7625,72.08916],[80.814746,72.054297],[80.856055,71.970215],[81.51123,71.746143],[81.661621,71.715967],[82.079883,71.706836],[82.547266,71.758594],[82.757812,71.764111],[82.986133,71.748682],[83.106641,71.720508],[83.233594,71.668164],[83.165527,71.602197],[83.105664,71.562451],[82.977051,71.451367],[82.917969,71.419922],[82.493164,71.292871],[82.322852,71.26001],[82.276953,71.093457],[82.254297,71.056201],[82.23916,70.997705],[82.316016,70.879443],[82.335938,70.807373],[82.270703,70.706738],[82.163184,70.598145],[82.182422,70.511475],[82.221191,70.395703],[82.23584,70.430273],[82.231445,70.48291],[82.258398,70.543604],[82.45166,70.690088],[82.59248,70.889941],[82.737793,70.94209],[82.869141,70.954834],[83.010156,70.89541],[83.051074,70.815234],[83.058398,70.694727],[83.030176,70.580518],[82.919824,70.407422],[82.74248,70.286475],[82.682324,70.217725],[82.767285,70.154053],[82.856543,70.104541],[82.961035,70.088281],[83.080762,70.093018],[83.10957,70.10957],[83.132031,70.157178],[83.094141,70.221094],[83.073828,70.276709],[83.293457,70.321338],[83.49707,70.345264],[83.659863,70.418359],[83.700488,70.466406],[83.735938,70.546484],[83.65127,70.672217],[83.578906,70.765918],[83.333887,70.988525],[83.15127,71.103613],[83.266016,71.275879],[83.457617,71.467529],[83.531055,71.514258],[83.550488,71.543652],[83.571289,71.594385],[83.553516,71.649805],[83.534375,71.683936],[83.34043,71.827539],[83.200293,71.874707],[82.755078,71.902832],[82.64541,71.925244],[82.319141,72.071826],[82.280664,72.105127],[82.209277,72.211182],[82.183594,72.237549],[82.093652,72.26543],[81.792871,72.326611],[81.58623,72.351709],[81.282715,72.358838],[81.098145,72.389746],[80.827051,72.488281],[80.797754,72.519971],[80.719629,72.6479],[80.65625,72.712012],[80.675391,72.75918],[80.77373,72.860791],[80.841602,72.94917],[80.757422,73.025244],[80.638672,73.04917],[80.509668,73.086084],[80.455469,73.155225],[80.424512,73.231152],[80.418945,73.289648],[80.398047,73.356836],[80.458301,73.413721],[80.595898,73.474023],[80.561914,73.51499],[80.583203,73.568457],[81.468848,73.64043],[81.816992,73.658838],[83.544727,73.666504],[83.666992,73.686475],[84.417383,73.722021],[84.737891,73.762842],[85.077441,73.719531],[85.200586,73.721533],[85.44834,73.734619],[85.611426,73.821582],[85.979297,73.856934],[86.591406,73.894287],[86.892969,73.887109],[86.961328,73.860742],[87.029492,73.82417],[86.697656,73.716846],[86.365918,73.619775],[86.094141,73.57832],[85.827051,73.492773],[85.800488,73.458936],[85.792578,73.43833],[85.802441,73.37168],[85.818164,73.326953],[86.098145,73.272607],[86.30791,73.195752],[86.514355,73.140479],[86.677051,73.106787],[86.715039,73.12583],[86.12168,73.306738],[85.970801,73.34707],[85.910059,73.39043],[85.938965,73.456494],[85.998926,73.48584],[86.092383,73.519141],[86.155078,73.534668],[86.37627,73.568848],[87.120117,73.615039],[87.294434,73.704688],[87.369531,73.755908],[87.571191,73.810742],[87.503223,73.832471],[87.3375,73.846045],[87.209668,73.878662],[86.69707,74.195312],[86.571094,74.24375],[86.177832,74.279395],[86.001367,74.316016],[86.18291,74.423047],[86.395801,74.450098],[86.538477,74.444238],[86.664746,74.414258],[86.897949,74.325342],[87.229688,74.363867],[87.106152,74.403564],[86.894238,74.449707],[86.700098,74.522461],[86.425684,74.585498],[86.116113,74.628564],[85.791016,74.645117],[85.880762,74.740234],[86.058887,74.728223],[86.119531,74.757422],[86.20127,74.816211],[86.651465,74.682422],[86.862891,74.717871],[87.041797,74.778857],[87.419336,74.940918],[87.467578,75.013232],[87.287402,75.052539],[87.140723,75.072266],[86.939063,75.068115],[86.92168,75.112793],[87.005957,75.169824],[87.170801,75.191748],[87.671387,75.12959],[88.503711,75.290479],[88.733105,75.369189],[89.310254,75.470117],[89.595117,75.458252],[90.184961,75.591064],[91.004687,75.649561],[91.479492,75.649658],[91.84541,75.723682],[92.40752,75.749658],[92.602539,75.779102],[93.549805,75.854102],[94.075195,75.912891],[94.156348,75.959229],[93.687012,75.921582],[93.574023,75.956299],[93.475488,75.932861],[93.406055,75.90127],[93.178125,75.958984],[93.116309,75.944629],[93.068652,75.912842],[92.986621,75.902686],[92.89043,75.909961],[92.858594,75.979492],[92.971582,76.075098],[93.104883,76.02583],[93.259277,76.098779],[93.35957,76.100732],[93.648438,76.05415],[93.842871,76.101318],[94.102344,76.123584],[94.388281,76.102783],[94.506738,76.107959],[94.575586,76.151758],[95.038477,76.113525],[95.359277,76.1396],[95.578711,76.137305],[95.919922,76.113135],[96.075488,76.081982],[95.986035,76.009668],[95.65332,75.892188],[95.743848,75.872314],[95.934766,75.926025],[96.508594,76.005566],[96.600586,75.989893],[96.537695,75.921631],[96.49707,75.891211],[96.879199,75.931055],[97.205469,76.018701],[97.350684,76.033398],[97.499219,75.980225],[97.637695,76.029053],[97.669824,76.078027],[97.918359,76.088672],[98.02002,76.133691],[98.194629,76.166406],[98.341992,76.180566],[98.662012,76.242676],[98.771289,76.224023],[98.984668,76.207568],[99.187305,76.177637],[99.562695,76.109326],[99.615625,76.082324],[99.663184,76.078027],[99.77041,76.02876],[99.689258,75.956348],[99.602344,75.852051],[99.442187,75.803174],[99.540723,75.798584],[99.609375,75.811279],[99.7375,75.880664],[99.851367,75.930273],[99.825391,76.135937],[99.616797,76.240186],[99.460645,76.275098],[99.093848,76.384326],[98.969531,76.430811],[98.805664,76.480664],[98.869434,76.50957],[99.57627,76.471436],[99.935742,76.489893],[100.322363,76.47915],[100.84375,76.525195],[101.060742,76.477246],[101.310742,76.478906],[101.597754,76.439209],[101.683789,76.485498],[101.212988,76.535693],[101.002637,76.530518],[100.928027,76.556738],[101.00625,76.615088],[101.099316,76.704004],[101.008203,76.781348],[100.92041,76.82251],[100.905859,76.900684],[100.989941,76.990479],[101.185742,77.028564],[101.292871,77.101562],[101.517676,77.198096],[102.610156,77.508545],[103.131445,77.626465],[103.33125,77.641064],[103.560742,77.631934],[104.014551,77.73042],[104.184863,77.730469],[104.814258,77.6521],[104.965234,77.594727],[105.308984,77.549219],[105.710254,77.525244],[105.894531,77.488867],[105.983398,77.447607],[106.05957,77.390527],[105.73418,77.352002],[105.38457,77.237842],[104.911914,77.174707],[104.323633,77.132666],[104.202441,77.101807],[105.320215,77.092334],[105.645898,77.100684],[105.712012,77.001465],[105.822168,76.99751],[106.14541,77.045312],[106.338672,77.047852],[106.705078,77.01377],[106.783691,77.031787],[106.941602,77.034375],[107.278906,76.990967],[107.429785,76.926563],[107.190234,76.822021],[106.940918,76.730469],[106.63877,76.573389],[106.545508,76.586279],[106.384668,76.589453],[106.413574,76.512256],[106.683203,76.514697],[106.825391,76.480078],[107.157715,76.524072],[107.624219,76.510107],[107.722168,76.522314],[107.902246,76.569678],[107.949902,76.660645],[108.02793,76.718457],[108.181641,76.737842],[108.352051,76.719531],[108.638379,76.720117],[109.369336,76.749219],[109.981152,76.711865],[110.471484,76.758398],[111.114844,76.723047],[111.39248,76.68667],[111.600586,76.622314],[111.786133,76.603564],[111.938672,76.553418],[112.093945,76.480322],[112.016797,76.420557],[111.942676,76.380469],[112.142773,76.423975],[112.29707,76.434668],[112.413281,76.408301],[112.619531,76.383545],[112.68418,76.218848],[112.742578,76.186914],[112.798438,76.129639],[112.721875,76.077197],[112.65625,76.053564],[112.818945,76.058594],[113.04668,76.114111],[113.094043,76.13291],[113.150391,76.174512],[113.066016,76.215234],[112.987988,76.239746],[113.086035,76.258105],[113.272656,76.25166],[113.365527,76.178857],[113.427734,76.112109],[113.563867,75.89165],[113.857227,75.921289],[113.870996,75.856006],[113.74873,75.704785],[113.619922,75.592676],[113.567578,75.568408],[113.485938,75.563965],[113.517188,75.621875],[113.469043,75.656689],[113.391602,75.677881],[113.126367,75.698682],[112.629199,75.8354],[112.49668,75.849902],[112.466113,75.843652],[112.453027,75.830176],[112.72959,75.737646],[112.955664,75.571924],[113.161523,75.620508],[113.242969,75.611426],[113.35625,75.534277],[113.558887,75.502051],[113.726172,75.450635],[113.613574,75.292969],[112.924902,75.015039],[112.191992,74.853174],[111.868262,74.740039],[111.299023,74.658447],[110.892773,74.548096],[110.373535,74.466064],[110.225879,74.378662],[109.840332,74.321973],[109.866406,74.293066],[109.911328,74.261328],[109.863867,74.208887],[109.810254,74.169189],[109.51084,74.088818],[109.075,74.032324],[108.199512,73.694092],[107.76543,73.625],[107.271094,73.621045],[107.166992,73.589404],[106.794238,73.37666],[106.679395,73.330664],[106.188672,73.308008],[105.677148,72.959277],[105.392773,72.841016],[105.143945,72.777051],[105.402734,72.789941],[105.708203,72.83667],[106.066699,72.949854],[106.15957,73.002002],[106.208789,73.060547],[106.315039,73.106396],[106.47793,73.139404],[107.108789,73.177295],[107.36875,73.163135],[107.750391,73.173145],[108.00127,73.235596],[108.150977,73.25791],[108.285352,73.265869],[108.351465,73.310205],[108.575391,73.319043],[109.089941,73.378418],[109.165625,73.399609],[109.331055,73.487451],[109.637109,73.454004],[109.855273,73.472461],[110.428711,73.628906],[110.77334,73.68916],[110.827498,73.712893],[111.110562,73.641087],[111.073045,73.582899],[110.817867,73.558947],[110.523104,73.404124],[110.57075,73.252532],[110.754925,73.17525],[110.881222,73.022882],[110.837297,72.945109],[110.627387,72.894517],[110.610644,72.781036],[110.701698,72.65045],[110.880602,72.58017],[111.210297,72.544513],[111.280991,72.478264],[111.085241,72.369588],[111.642829,72.274452],[111.817082,72.13167],[111.996089,72.132729],[111.996916,71.413574],[112.513164,71.26795],[112.57931,71.113696],[112.276692,71.01272],[112.026578,71.042253],[111.953301,70.982283],[111.522423,70.938616],[111.334941,70.855314],[110.902823,70.8079],[110.539434,70.80064],[110.488998,70.726019],[110.102768,70.631916],[110.116721,70.478024],[109.995488,70.416942],[109.601507,70.378185],[109.535464,70.26398],[109.277392,70.206516],[109.358007,70.069005],[109.509006,70.033452],[109.359764,69.838218],[109.236981,69.775896],[108.940979,69.789229],[108.871009,69.840285],[108.290579,69.85677],[108.148676,69.824782],[108.007289,69.704996],[107.123725,69.58751],[106.838575,69.518238],[106.604377,69.517204],[106.426817,69.56392],[106.152932,69.391139],[106.885497,68.865461],[106.895625,68.142611],[106.875162,67.839632],[106.83289,67.673441],[106.802401,67.348241],[106.685199,67.253931],[106.492343,67.283826],[106.316643,67.209438],[106.054747,67.167167],[105.893826,67.04366],[105.540153,67.023403],[105.686707,66.93948],[106.043688,66.900775],[106.047408,66.788999],[106.24688,66.702208],[106.24936,66.581466],[106.321914,66.478888],[106.103322,66.378326],[106.171329,66.159218],[106.330389,66.154464],[106.471259,66.007392],[106.477873,65.845232],[106.439529,65.661729],[106.630939,65.634805],[106.713104,65.548919],[106.939964,65.511247],[106.835577,65.378309],[106.63528,65.392908],[106.451415,65.313145],[106.453689,65.232969],[106.281503,65.1368],[105.972788,65.011794],[106.122753,64.904824],[105.946123,64.883508],[105.831918,64.759613],[105.872742,64.679515],[105.707791,64.652695],[105.802876,64.530118],[106.131848,64.480819],[106.203678,64.402581],[106.395191,64.442578],[106.877435,64.413795],[107.367535,64.2506],[107.569693,64.298608],[107.85567,64.181612],[108.026512,64.223522],[108.223606,64.203368],[108.320138,64.039037],[108.26288,63.995887],[107.679764,63.989221],[107.550262,63.857007],[107.372496,63.865508],[107.202377,63.956872],[107.052618,63.891759],[106.764367,63.995681],[106.679928,63.93062],[106.793409,63.842383],[106.629492,63.696784],[106.6914,63.636323],[106.516837,63.482999],[106.7253,63.374969],[106.661428,63.296654],[106.437566,63.31996],[106.368319,63.272391],[106.403252,63.113306],[106.125647,63.048245],[106.225279,62.893784],[106.434878,62.846707],[106.525209,62.741339],[106.494823,62.691884],[106.725713,62.587705],[106.713931,62.487556],[106.479113,62.328521],[106.397258,62.314336],[106.442526,62.184783],[106.37514,62.103238],[106.403873,62.030736],[106.218147,62.003167],[105.902198,61.834882],[105.941368,61.685382],[105.822719,61.631225],[105.717609,61.649622],[105.550178,61.566268],[105.36745,61.529836],[105.253245,61.419921],[104.957242,61.39832],[104.904016,61.367546],[105.004578,61.197557],[104.83663,61.176163],[104.635195,61.036378],[104.571116,60.954833],[104.62858,60.890005],[104.459702,60.838767],[104.594474,60.735156],[104.52316,60.644903],[104.676226,60.399879],[104.889236,60.301694],[105.220586,60.276218],[105.321251,60.295493],[105.475764,60.253868],[105.423777,60.122945],[105.484755,60.021918],[105.377165,59.821672],[105.186376,59.858465],[105.035067,59.836038],[105.004888,59.765655],[104.798803,59.690879],[104.883242,59.525359],[104.985665,59.461125],[105.22534,59.429293],[105.195678,59.303306],[105.288075,59.264238],[105.353497,59.107917],[104.948251,58.958624],[104.759115,58.820493],[104.872493,58.718535],[104.78671,58.666264],[104.458151,58.602263],[104.373816,58.713264],[104.22013,58.757964],[103.948725,58.773881],[103.889504,58.902607],[103.692927,58.923225],[103.37522,59.034123],[103.246029,59.180057],[103.239311,59.283617],[103.082628,59.264393],[102.998809,59.315398],[102.75934,59.199436],[102.588498,59.203053],[102.454863,59.153134],[102.407011,59.067403],[102.438637,58.943741],[102.537338,58.896586],[102.564934,58.79667],[102.519665,58.727888],[102.311099,58.642338],[102.161651,58.515602],[101.773561,58.45328],[101.678476,58.406668],[101.530888,58.225309],[101.297621,58.219289],[101.207911,58.141878],[101.137321,57.985376],[100.970509,57.870473],[100.845659,57.845462],[100.884623,57.769678],[100.801424,57.673017],[100.955316,57.555299],[100.911391,57.451506],[100.715641,57.412878],[100.637713,57.476647],[100.418708,57.541759],[100.275358,57.804844],[100.12932,57.866804],[100.079401,58.045088],[100.017286,58.081468],[99.793527,58.062503],[99.702783,58.085705],[99.497524,57.929023],[99.410914,57.795542],[99.079875,57.770428],[98.961639,57.723299],[98.767543,57.790685],[98.546161,57.791357],[97.986712,57.821897],[97.934002,57.811304],[97.354916,57.060548],[97.488758,56.963707],[97.468501,56.827436],[97.546635,56.793381],[97.76533,56.787955],[97.762333,56.559132],[97.868166,56.554843],[97.881809,56.426944],[97.840674,56.393147],[97.591387,56.386688],[97.564929,56.189594],[97.440182,56.146754],[97.351919,56.051204],[97.125266,56.101744],[96.986463,56.018338],[96.960005,55.860932],[96.76012,55.746081],[96.752782,55.650712],[96.819961,55.557591],[96.918043,55.329517],[96.719916,55.264896],[96.684672,55.084907],[96.586177,55.019123],[96.711854,54.92657],[96.67258,54.805932],[96.564887,54.696868],[96.551864,54.580493],[96.49502,54.510523],[96.351359,54.561941],[96.221032,54.542718],[96.03882,54.558169],[95.98115,54.451612],[95.896917,54.389342],[95.71667,54.387947],[95.653108,54.281855],[95.678222,54.234158],[95.919034,54.155661],[96.079335,54.062747],[96.125947,53.972365],[96.405516,53.783307],[96.505149,53.684372],[96.684052,53.638535],[96.642298,53.54805],[96.417919,53.543192],[96.241495,53.613472],[96.185995,53.51539],[96.048329,53.45374],[95.767623,53.519524],[95.621792,53.448572],[95.380876,53.371885],[95.260367,53.456376],[95.041052,53.375915],[94.97563,53.405009],[94.739882,53.382737],[94.594464,53.315661],[94.690066,53.2244],[94.604179,53.175773],[94.603663,53.055263],[94.512299,52.910828],[94.29009,52.899975],[94.141262,52.831763],[94.139091,52.761018],[93.989333,52.585421],[93.773946,52.446153],[93.767641,52.371403],[93.678034,52.223841],[93.360431,52.129428],[93.074557,51.945253],[92.901234,51.895076],[92.844287,51.832444],[92.672824,51.839833],[92.505393,51.781439],[92.429532,51.801851],[91.986665,51.793609],[91.894164,51.852804],[91.616455,51.868979],[91.543074,51.900915],[91.180409,51.890115],[91.100517,51.942721],[90.839448,51.912439],[90.74364,52.063437],[90.581789,52.111807],[90.476589,52.183401],[90.700335,52.458194],[91.037989,52.660197],[91.241904,52.747478],[91.396313,52.867988],[91.407992,52.947053],[91.351148,53.077484],[91.659863,53.158487],[91.841247,53.288272],[91.846415,53.351938],[91.743992,53.446712],[91.469694,53.513892],[91.472381,53.567273],[91.333268,53.757649],[91.32655,53.816664],[91.465146,53.966034],[91.463906,54.056546],[91.209554,54.338234],[91.159015,54.487889],[90.854951,54.626743],[90.915309,54.791075],[90.840481,54.838875],[90.714908,54.831175],[90.684832,54.904659],[90.458283,54.87076],[90.435545,55.016332],[90.262429,55.049973],[90.129207,55.105216],[89.904001,55.086095],[89.657815,55.003077],[89.550018,55.046356],[89.200788,54.990391],[89.147355,55.076303],[88.966074,55.184771],[88.950158,55.28908],[88.759782,55.34409],[88.608774,55.44559],[88.682267,55.516043],[89.061572,55.692854],[89.169989,55.704042],[89.362845,55.772539],[89.443357,55.876021],[89.329773,55.90217],[89.198721,56.134558],[89.056301,56.210109],[89.041005,56.304677],[88.913157,56.309819],[88.861481,56.366327],[88.73353,56.375965],[88.592453,56.443635],[88.625009,56.516628],[88.536849,56.545438],[88.516696,56.62657],[88.661183,56.636285],[88.721128,56.731654],[88.623976,56.832965],[88.720921,57.055329],[88.529615,57.095843],[88.64754,57.21165],[88.738594,57.232786],[88.861481,57.431689],[89.077178,57.514681],[89.166785,57.615812],[89.380415,57.637154],[89.354371,57.796292],[89.390647,57.877553],[89.328429,57.950003],[88.850835,57.960649],[88.687435,58.036561],[88.155684,58.106531],[88.014297,58.268278],[87.918179,58.499944],[87.932235,58.526144],[88.382647,58.908911],[88.796679,59.010455],[88.825824,59.034536],[88.620255,59.198816],[88.585942,59.298655],[87.936266,59.26615],[87.878388,59.288991],[87.55386,59.640701],[87.491952,59.673619],[87.213623,59.685039],[87.084122,59.882753],[86.625442,59.950036],[85.968221,59.955876],[85.496311,59.89159],[84.691916,59.904819],[84.531306,59.974996],[84.610577,60.059177],[84.631868,60.205576],[84.781213,60.355954],[84.708349,60.458946],[84.355296,60.790915],[84.259591,60.855511],[84.648095,61.000721],[85.671185,61.289231],[85.643899,61.387597],[85.771127,61.443459],[85.950444,61.464724],[85.956232,61.550042],[85.854016,61.595052],[85.721931,61.574743],[85.479568,61.627867],[85.386137,61.698095],[85.272656,61.682592],[84.919086,61.796538],[84.681064,61.815297],[84.520144,61.945056],[84.551253,62.001487],[84.435704,62.177962],[84.745556,62.410351],[84.860898,62.451227],[84.95774,62.592872],[85.090031,62.637986],[85.225217,62.801232],[85.324332,62.869264],[85.518326,62.932567],[85.583955,63.053878],[85.46944,63.149195],[85.640592,63.374168],[85.410219,63.353188],[85.377869,63.466514],[85.276377,63.522376],[85.096749,63.534158],[85.333014,63.700789],[85.373115,63.808405],[85.533519,63.936718],[85.94817,64.053352],[85.934218,64.122753],[86.028062,64.279798],[85.950754,64.328529],[85.844507,64.501024],[85.916027,64.588487],[85.811951,64.656312],[85.858977,64.756358],[85.61,64.827775],[85.184393,64.750777],[84.967662,64.89144],[84.819764,64.930714],[84.470121,64.8902],[84.278918,64.940326],[84.386818,64.993863],[84.312818,65.098456],[84.388162,65.175247],[84.523348,65.21341],[84.585566,65.311104],[84.550219,65.433422],[84.429917,65.5514],[84.290907,65.613153],[84.319432,65.684415],[84.168331,65.70338],[84.030975,65.793039],[83.518138,65.822494],[83.521238,65.908329],[83.296136,66.05832],[83.380575,66.139529],[83.524649,66.172964],[83.262443,66.389436],[83.09098,66.459174],[83.078061,66.578882],[83.292828,66.663011],[83.16188,66.817989],[83.041784,66.891008],[82.795701,66.976584],[82.117293,67.243803],[82.352524,67.327984],[82.256096,67.409116],[82.386837,67.523605],[82.109645,67.609],[82.100343,67.724394],[81.881752,67.799273],[81.730547,67.907535],[82.059209,67.948463],[82.353558,67.943502],[82.394589,68.176614],[82.549618,68.179095],[82.680566,68.282757],[82.709608,68.414119],[82.535872,68.610748],[82.866601,68.627775],[83.015429,68.68387],[82.545897,68.840295],[82.480682,68.995143],[82.33268,69.062038],[82.496805,69.110511],[82.256923,69.156709],[81.893224,69.182677],[81.772198,69.232906],[81.929397,69.349307],[81.783153,69.428734],[81.625643,69.40951],[81.610657,69.286417],[81.323853,69.285642],[80.966872,69.209109],[80.734225,69.308121],[80.259835,69.355715],[79.854279,69.354527],[79.644472,69.491392],[79.585354,69.588285],[79.116442,69.73161],[78.912941,69.860904],[79.17122,69.978313],[79.208427,70.05283],[79.505256,70.11541],[79.63021,70.220701],[80.095091,70.353432],[80.176946,70.429552],[80.569067,70.460816],[80.752828,70.635224],[80.608031,70.71018],[80.679861,70.805394],[80.55191,70.900169],[80.55005,71.044449],[80.403186,71.091217],[79.954428,71.134108],[79.565201,71.277355],[79.244703,71.316732],[79.143108,71.421687],[79.333484,71.481115],[79.382679,71.614957],[79.868231,71.60165],[80.118759,71.67485],[80.036386,71.830758],[80.339107,71.889798],[80.217977,71.942482],[79.694908,72.057695],[79.418853,72.043406],[78.69683,72.180323],[78.482617,72.394971]]],[[[110.799219,73.759766],[110.722363,73.779932],[110.388281,73.726025],[110.091211,73.708545],[109.752734,73.722559],[109.706738,73.74375],[109.665625,73.800244],[109.774121,73.88125],[109.869141,73.930615],[110.083887,73.994385],[110.261426,74.017432],[110.920117,73.9479],[111.05625,73.939355],[111.130859,74.052832],[111.341406,74.047363],[111.550586,74.028516],[111.459961,74.004834],[111.228125,73.968555],[111.299512,73.884863],[111.302842,73.882977],[110.799219,73.759766]]],[[[95.854102,77.097559],[96.528418,77.205518],[96.561914,77.154053],[96.561328,77.12959],[96.424316,77.071191],[96.285449,77.02666],[96.253516,77.007275],[96.209863,76.992139],[96.091406,77.002539],[95.854688,76.974951],[95.76582,76.990625],[95.680859,77.021338],[95.364062,77.011523],[95.270312,77.018848],[95.420703,77.056494],[95.854102,77.097559]]],[[[89.616211,77.311035],[89.67959,77.280322],[89.66582,77.254492],[89.514258,77.188818],[89.299512,77.183984],[89.179297,77.209912],[89.141699,77.226807],[89.200488,77.271973],[89.281543,77.301465],[89.616211,77.311035]]],[[[96.270703,76.305371],[96.532422,76.278125],[96.613965,76.263818],[96.589648,76.22124],[96.486719,76.23374],[96.350781,76.212158],[96.353418,76.17749],[96.300586,76.121729],[96.108789,76.155469],[95.844531,76.160254],[95.678613,76.193652],[95.311133,76.214746],[95.32207,76.261621],[95.379883,76.289062],[95.594434,76.249609],[95.78623,76.293896],[96.150977,76.271875],[96.270703,76.305371]]],[[[97.310352,76.6896],[97.381641,76.706689],[97.588379,76.599365],[97.535254,76.584424],[97.430371,76.590723],[97.341699,76.628857],[97.310352,76.6896]]],[[[86.653125,74.981299],[86.737109,74.962988],[87.000586,74.991943],[87.052148,74.982568],[87.124316,74.939893],[87.011719,74.861914],[86.927148,74.830762],[86.691992,74.848291],[86.390527,74.850879],[86.258594,74.893506],[86.330664,74.938965],[86.504492,74.965967],[86.605469,74.992822],[86.653125,74.981299]]],[[[82.021875,75.513477],[82.165625,75.515625],[82.172363,75.419385],[82.208789,75.386963],[82.221582,75.350537],[82.179297,75.338965],[82.050098,75.340967],[81.978516,75.247119],[81.905078,75.262793],[81.860547,75.316504],[81.697656,75.280518],[81.654785,75.288916],[81.579297,75.330957],[81.532129,75.339551],[81.500586,75.36792],[81.712109,75.451416],[81.842188,75.407031],[81.926562,75.409961],[81.909766,75.46001],[81.912793,75.497705],[82.021875,75.513477]]],[[[83.149805,74.151611],[83.513477,74.122363],[83.618359,74.089453],[83.549023,74.071777],[83.495801,74.048438],[83.45,74.05166],[83.410645,74.039551],[83.158984,74.075342],[82.817773,74.091602],[82.90293,74.128906],[83.149805,74.151611]]],[[[84.540332,74.49043],[84.679883,74.512354],[84.872852,74.515527],[84.758984,74.459424],[84.710449,74.399805],[84.428906,74.430322],[84.389453,74.454443],[84.540332,74.49043]]],[[[79.4125,72.983105],[79.541309,72.918652],[79.537891,72.769336],[79.501465,72.721924],[79.430664,72.710693],[78.880566,72.751611],[78.690234,72.803418],[78.633203,72.850732],[78.656836,72.892285],[79.164258,73.094336],[79.356543,73.038623],[79.4125,72.983105]]],[[[82.382422,74.149268],[82.525586,74.161426],[82.611035,74.148535],[82.688965,74.11123],[82.709961,74.090869],[82.612793,74.056445],[82.478125,74.075781],[82.381543,74.099219],[82.329395,74.131104],[82.382422,74.149268]]],[[[112.153809,76.549316],[112.002734,76.602979],[111.968945,76.626172],[112.011133,76.632861],[112.281445,76.618359],[112.394141,76.643799],[112.478027,76.620898],[112.63252,76.552979],[112.66084,76.50957],[112.61416,76.499268],[112.586523,76.482959],[112.574805,76.452393],[112.531641,76.450049],[112.394824,76.483789],[112.296875,76.537988],[112.153809,76.549316]]],[[[106.679102,78.26499],[106.504687,78.26167],[106.472461,78.24502],[106.27041,78.206201],[106.151074,78.198633],[106.023633,78.220117],[106.058398,78.264648],[106.350586,78.272607],[106.456836,78.340039],[106.64043,78.33623],[106.691211,78.31665],[106.719629,78.294189],[106.718945,78.26499],[106.679102,78.26499]]],[[[107.366406,77.346631],[107.486426,77.347119],[107.593652,77.330029],[107.629297,77.319678],[107.664551,77.299805],[107.679492,77.268262],[107.414746,77.242676],[107.302246,77.241504],[107.269531,77.289014],[107.366406,77.346631]]],[[[91.477832,81.183936],[91.567187,81.141211],[91.222852,81.063818],[89.975781,81.113135],[89.919434,81.14873],[89.901172,81.170703],[90.069922,81.213721],[91.108984,81.199121],[91.477832,81.183936]]],[[[106.583301,78.167578],[107.508301,78.189404],[107.573242,78.185547],[107.695508,78.130908],[107.60625,78.082568],[107.481641,78.057764],[107.343848,78.098584],[107.00166,78.095654],[106.415527,78.139844],[106.583301,78.167578]]],[[[76.467383,79.643164],[77.360156,79.556836],[77.549316,79.524414],[77.588965,79.501904],[76.810156,79.489502],[76.649512,79.493408],[76.636523,79.544434],[76.457617,79.545459],[76.153711,79.57876],[76.071875,79.625635],[76.051562,79.644727],[76.148438,79.664453],[76.248926,79.651074],[76.372559,79.615234],[76.467383,79.643164]]],[[[79.217383,80.960352],[79.806641,80.975391],[80.27959,80.949805],[80.42793,80.927686],[80.37334,80.882617],[80.344824,80.86792],[80.02666,80.848145],[79.098535,80.812061],[79.006836,80.834814],[78.977637,80.848242],[79.109863,80.923584],[79.217383,80.960352]]],[[[92.592773,79.996533],[93.481543,79.941113],[93.803125,79.904541],[93.603516,79.816748],[93.382031,79.783887],[93.155078,79.737598],[92.92627,79.704492],[92.683496,79.685205],[92.440625,79.675488],[92.153711,79.684668],[91.683594,79.790576],[91.37627,79.835498],[91.126074,79.904932],[91.070312,79.981494],[91.229297,80.030713],[91.425977,80.049219],[91.751953,80.052295],[92.173438,80.045459],[92.592773,79.996533]]],[[[99.517285,79.130176],[99.750781,79.107666],[99.814648,79.09585],[99.899609,79.006396],[99.929297,78.961426],[99.54082,78.852734],[99.439551,78.834229],[98.819531,78.818262],[98.411133,78.787793],[98.28252,78.79502],[98.054199,78.820996],[97.905176,78.810205],[97.688574,78.827344],[97.555469,78.826562],[97.248145,78.868018],[96.93291,78.933936],[96.871191,78.963818],[96.807813,78.984961],[96.42998,79.003027],[96.347363,79.015869],[95.796484,79.001416],[95.702832,79.012012],[95.531055,79.098096],[95.436914,79.099316],[95.133203,79.049609],[95.02041,79.052686],[94.791016,79.086621],[94.652344,79.12749],[94.631641,79.140869],[94.619727,79.192383],[94.482129,79.218604],[94.31377,79.30752],[94.21875,79.402344],[93.758594,79.451416],[93.478711,79.462744],[93.272266,79.458398],[93.070801,79.495312],[93.404688,79.631592],[93.847266,79.70166],[94.038184,79.756006],[94.257129,79.829736],[94.347266,79.941943],[94.719434,80.01123],[94.815039,80.034814],[94.946777,80.089258],[94.987305,80.096826],[95.281348,80.030518],[95.337988,80.042139],[95.390723,80.072803],[95.497559,80.105615],[95.857813,80.11001],[96.1625,80.096826],[96.277344,80.110059],[96.416602,80.104346],[97.120508,80.153027],[97.586816,80.168262],[97.674512,80.158252],[97.903613,80.09502],[98.017773,80.022852],[97.906738,80.00376],[97.80791,79.956299],[97.759961,79.89585],[97.626953,79.850439],[97.591309,79.774951],[97.65166,79.760645],[97.724512,79.781396],[97.870703,79.852637],[98.064551,79.901074],[98.273242,79.874121],[98.353125,79.884326],[98.499023,79.953125],[98.471875,80.009131],[98.531836,80.043604],[98.596484,80.052197],[98.865918,80.04541],[99.294922,80.016357],[99.370703,79.986377],[99.473047,79.970166],[99.536133,79.941309],[99.726562,79.919922],[99.818359,79.898193],[99.946582,79.848975],[100.06123,79.7771],[99.91582,79.73833],[99.839258,79.668945],[99.805469,79.653076],[99.781641,79.628271],[99.771094,79.567725],[99.748828,79.515186],[99.721191,79.491846],[99.70625,79.463477],[99.721582,79.385107],[99.680664,79.32334],[99.537305,79.276562],[99.387793,79.274756],[99.16709,79.306299],[99.104395,79.305371],[99.041797,79.293018],[99.317383,79.227197],[99.517285,79.130176]]],[[[105.145996,78.818848],[105.20459,78.779932],[105.256055,78.733008],[105.310156,78.666162],[105.342676,78.593945],[105.312598,78.499902],[104.832617,78.352734],[104.741797,78.339746],[104.519434,78.349219],[104.297461,78.335059],[103.719336,78.258252],[103.003125,78.255859],[102.79668,78.187891],[102.734375,78.189893],[102.673145,78.201709],[102.617188,78.224609],[102.180469,78.205322],[101.692383,78.194336],[101.204102,78.191943],[101.039941,78.142969],[100.541211,78.04751],[100.082227,77.975],[99.84502,77.956836],[99.500293,77.976074],[99.391699,78.000684],[99.287109,78.038086],[99.438672,78.083936],[99.545605,78.178564],[99.67793,78.233496],[100.018945,78.338916],[100.05752,78.380371],[100.123535,78.470459],[100.162988,78.503955],[100.215039,78.535791],[100.257227,78.573828],[100.262695,78.631494],[100.283984,78.679199],[100.416406,78.753174],[100.515625,78.787793],[100.619629,78.797412],[100.875586,78.783594],[100.955762,78.788477],[100.897949,78.812451],[100.85625,78.897754],[100.864551,78.92583],[100.901367,78.980078],[100.96543,79.006543],[101.030859,79.023291],[101.068164,79.09624],[101.052246,79.123242],[101.148828,79.156885],[101.196094,79.204443],[101.310449,79.232617],[101.543066,79.254443],[101.555273,79.312646],[101.590625,79.350439],[101.643359,79.361377],[101.761328,79.371973],[101.824219,79.370215],[101.912109,79.311621],[102.005273,79.263672],[102.128516,79.25249],[102.25127,79.256055],[102.177246,79.312598],[102.180664,79.373389],[102.225098,79.412939],[102.282422,79.430078],[102.404883,79.433203],[102.789844,79.392139],[103.041602,79.331543],[103.097949,79.299121],[103.052441,79.28252],[102.939648,79.271191],[102.884766,79.253955],[102.787305,79.176416],[102.745801,79.106055],[102.447852,78.87666],[102.412305,78.835449],[102.587305,78.871289],[102.747656,78.949561],[102.844824,79.014355],[102.950391,79.055762],[103.075684,79.056494],[103.199121,79.071289],[103.433398,79.126123],[103.672852,79.15],[103.800781,79.149268],[103.925684,79.123242],[104.004004,79.062549],[104.091113,79.013184],[104.404199,78.9771],[104.449219,78.963916],[104.476953,78.92334],[104.452051,78.880029],[104.633203,78.835156],[104.881055,78.854883],[105.014648,78.843311],[105.145996,78.818848]]],[[[97.869922,80.763281],[97.856445,80.698096],[97.747168,80.698682],[97.66543,80.678076],[97.221387,80.652441],[97.113086,80.614063],[97.025391,80.535547],[97.072559,80.519873],[97.115039,80.496582],[97.250195,80.362988],[97.286816,80.342529],[97.416992,80.323145],[97.298438,80.272754],[97.175195,80.241016],[95.855762,80.176953],[94.961328,80.150391],[94.66123,80.122803],[94.565039,80.126074],[94.328418,80.076025],[93.872363,80.010107],[93.654688,80.009619],[93.002344,80.1021],[92.201563,80.179297],[92.092188,80.22334],[91.891602,80.249268],[91.637402,80.269922],[91.523828,80.358545],[91.687793,80.418506],[91.89668,80.477539],[92.24668,80.499121],[92.57793,80.533252],[92.826758,80.618555],[92.981055,80.702979],[93.2625,80.79126],[92.772949,80.768652],[92.592578,80.780859],[92.610156,80.81001],[92.710352,80.872168],[92.764648,80.893066],[92.938672,80.92583],[93.065137,80.988477],[93.358691,81.031689],[93.497363,81.039209],[93.636719,81.038135],[93.888867,81.058398],[94.140137,81.089453],[94.375488,81.107373],[94.611621,81.114648],[94.837891,81.139404],[95.060938,81.188086],[95.15957,81.270996],[95.800684,81.280469],[95.901953,81.260596],[95.983984,81.211426],[96.075195,81.192773],[96.186914,81.183936],[96.471094,81.099268],[96.526563,81.075586],[96.563086,81.030078],[96.693262,80.994189],[96.75498,80.957861],[97.413672,80.841846],[97.703027,80.826709],[97.831836,80.798291],[97.869922,80.763281]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"RUS-2605","diss_me":2605,"iso_3166_2":"RU-TY","wikipedia":null,"iso_a2":"RU","adm0_sr":1,"name":"Tuva","name_alt":"Respublika Tyva|Republic of Tuva|Tyva|Tuvinskaya A.S.S.R.|Republic of Tyva","name_local":"Республика Тыва","type":"Respublika","type_en":"Republic","code_local":null,"code_hasc":"RU.TU","note":null,"hasc_maybe":null,"region":"Siberian","region_cod":null,"provnum_ne":20068,"gadm_level":1,"check_me":20,"datarank":2,"abbrev":null,"postal":"TU","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":4,"mapcolor9":7,"mapcolor13":7,"fips":"RS79","fips_alt":null,"woe_id":2346879,"woe_label":"Tyva, RU, Russia","woe_name":"Tuva","latitude":51.6051,"longitude":93.9927,"sov_a3":"RUS","adm0_a3":"RUS","adm0_label":2,"admin":"Russia","geonunit":"Russia","gu_a3":"RUS","gn_id":1488873,"gn_name":"Respublika Tyva","gns_id":-3022957,"gns_name":"Tyva, Respublika","gn_level":1,"gn_region":null,"gn_a1_code":"RU.79","region_sub":"East Siberian","sub_code":null,"gns_level":1,"gns_lang":"fas","gns_adm1":"RS79","gns_region":null,"min_label":5,"max_label":10.2,"min_zoom":4.7,"wikidataid":"Q960","name_ar":"توفا","name_bn":"তুভা","name_de":"Tuwa","name_en":"Tuva Republic","name_es":"Tuvá","name_fr":"Touva","name_el":"Δημοκρατία της Τιβά","name_hi":"तूवा","name_hu":"Tuva","name_id":"Tuva","name_it":"Tuva","name_ja":"トゥヴァ共和国","name_ko":"투바 공화국","name_nl":"Toeva","name_pl":"Tuwa","name_pt":"Tuva","name_ru":"Тыва","name_sv":"Tuva","name_tr":"Tuva Cumhuriyeti","name_vi":"Tuva","name_zh":"图瓦共和国","ne_id":1159313613,"name_he":"טובה","name_uk":"Тива","name_ur":"تووا","name_fa":"تووا","name_zht":"图瓦共和国","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[88.7357,49.730789,99.249787,53.729072],"geometry":{"type":"Polygon","coordinates":[[[98.939563,52.106171],[98.893116,52.117284],[98.848675,52.070052],[98.802579,51.957449],[98.760101,51.905101],[98.640522,51.80118],[98.352788,51.717619],[98.303075,51.674288],[98.276823,51.634549],[98.237446,51.578402],[98.219928,51.505616],[98.184684,51.485747],[98.103087,51.483524],[98.037613,51.449935],[97.989141,51.377071],[97.946921,51.348416],[97.923253,51.280488],[97.927387,51.250722],[97.917879,51.217882],[97.910851,51.165172],[97.835713,51.051665],[97.825275,50.98526],[97.856126,50.943351],[97.919843,50.887178],[97.953174,50.855165],[97.964181,50.817699],[97.961959,50.769149],[98.001181,50.702048],[98.02981,50.644635],[98.078851,50.603811],[98.144997,50.568542],[98.220496,50.557199],[98.279459,50.533247],[98.292688,50.486944],[98.277288,50.423021],[98.250262,50.30246],[98.200032,50.227684],[98.170163,50.180581],[98.121949,50.106606],[98.103397,50.077822],[98.00392,50.01426],[97.936637,49.996794],[97.853955,49.946771],[97.785587,49.944549],[97.720682,49.944652],[97.650918,49.933593],[97.589372,49.911476],[97.540848,49.843108],[97.418323,49.773035],[97.359773,49.741434],[97.208568,49.730789],[97.136945,49.761717],[97.097671,49.805048],[97.049146,49.829879],[96.985739,49.882795],[96.711699,49.911553],[96.640179,49.897833],[96.598425,49.878403],[96.543286,49.89251],[96.505769,49.91871],[96.466391,49.911527],[96.381125,49.896024],[96.315083,49.90114],[96.229713,49.954083],[96.111684,49.982479],[96.065537,49.998706],[96.018563,49.998757],[95.989521,49.973591],[95.935726,49.96],[95.899449,49.990567],[95.851907,50.012917],[95.789327,50.012503],[95.707781,49.965994],[95.567221,49.943825],[95.522676,49.911217],[95.441751,49.915506],[95.38563,49.94119],[95.32951,49.944135],[95.166264,49.943825],[95.111435,49.935454],[95.044359,49.96155],[95.01294,50.00824],[94.930309,50.043767],[94.811247,50.048186],[94.718074,50.043251],[94.675493,50.028084],[94.614721,50.023717],[94.564595,50.087951],[94.496899,50.132832],[94.458503,50.165724],[94.400161,50.179651],[94.354686,50.221844],[94.346882,50.303416],[94.319339,50.404908],[94.286989,50.511387],[94.251074,50.556398],[94.075788,50.572831],[93.989902,50.568852],[93.795391,50.577637],[93.662015,50.583683],[93.625634,50.585569],[93.501094,50.59748],[93.386786,50.608487],[93.270514,50.615593],[93.222558,50.606524],[93.103082,50.603914],[93.009858,50.654531],[92.970687,50.712512],[92.963556,50.744913],[92.941283,50.778219],[92.856482,50.789097],[92.779329,50.778658],[92.73866,50.710936],[92.681351,50.683186],[92.626626,50.688302],[92.578928,50.725431],[92.486427,50.765067],[92.426328,50.803075],[92.354808,50.864182],[92.295793,50.849816],[92.278998,50.812222],[92.265304,50.775196],[92.192337,50.700575],[92.104022,50.691997],[91.956537,50.697629],[91.804247,50.693599],[91.706372,50.665538],[91.634128,50.615154],[91.596921,50.575518],[91.52168,50.56203],[91.446491,50.522188],[91.41502,50.468031],[91.340813,50.470046],[91.300608,50.46338],[91.233842,50.452399],[91.062793,50.422607],[91.021556,50.415476],[90.917169,50.364135],[90.838053,50.32375],[90.760693,50.305974],[90.714391,50.259413],[90.655066,50.222387],[90.516884,50.213318],[90.364852,50.166912],[90.311315,50.151151],[90.224498,50.116709],[90.103731,50.103299],[90.053759,50.093739],[90.004977,50.069296],[89.97733,49.98434],[89.878008,49.95354],[89.744218,49.948114],[89.643862,49.903052],[89.552601,50.052268],[89.501442,50.206807],[89.336387,50.209597],[89.390337,50.319306],[89.507953,50.362353],[89.843643,50.42992],[89.869171,50.485084],[89.779668,50.56694],[89.673731,50.57898],[89.383619,50.857568],[89.052373,51.064584],[89.03222,51.184318],[88.945817,51.22832],[88.955429,51.438359],[88.7357,51.559385],[89.03253,51.600081],[89.232724,51.644807],[89.223112,51.559851],[89.42093,51.605378],[89.58061,51.553029],[89.730368,51.582226],[89.942862,51.750175],[90.104609,51.767693],[90.027508,51.984372],[90.118872,52.0438],[90.123729,52.128601],[90.359374,52.191802],[90.476589,52.183401],[90.581789,52.111807],[90.74364,52.063437],[90.839448,51.912439],[91.100517,51.942721],[91.180409,51.890115],[91.543074,51.900915],[91.616455,51.868979],[91.894164,51.852804],[91.986665,51.793609],[92.429532,51.801851],[92.505393,51.781439],[92.672824,51.839833],[92.844287,51.832444],[92.901234,51.895076],[93.074557,51.945253],[93.360431,52.129428],[93.678034,52.223841],[93.767641,52.371403],[93.773946,52.446153],[93.989333,52.585421],[94.139091,52.761018],[94.141262,52.831763],[94.29009,52.899975],[94.512299,52.910828],[94.603663,53.055263],[94.604179,53.175773],[94.690066,53.2244],[94.594464,53.315661],[94.739882,53.382737],[94.97563,53.405009],[95.041052,53.375915],[95.260367,53.456376],[95.380876,53.371885],[95.621792,53.448572],[95.767623,53.519524],[96.048329,53.45374],[96.185995,53.51539],[96.241495,53.613472],[96.417919,53.543192],[96.642298,53.54805],[96.684052,53.638535],[96.742757,53.711037],[96.874945,53.729072],[97.135188,53.613007],[97.328354,53.596367],[97.44783,53.461492],[97.585806,53.438082],[97.698771,53.378913],[97.971519,53.351628],[98.030844,53.252615],[98.279511,53.225692],[98.303178,53.103736],[98.615201,53.107508],[98.697883,53.154844],[99.055691,53.103787],[98.989338,53.034489],[99.249787,52.953822],[99.220332,52.865249],[98.92867,52.918476],[98.856323,52.846594],[98.937765,52.797501],[98.937145,52.672703],[98.804646,52.610949],[98.805577,52.514004],[98.634424,52.41277],[98.646413,52.309004],[98.799479,52.274226],[98.808987,52.196401],[98.932391,52.191853],[98.939563,52.106171]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"RUS-2606","diss_me":2606,"iso_3166_2":"RU-BU","wikipedia":null,"iso_a2":"RU","adm0_sr":1,"name":"Buryat","name_alt":"Buryatiya|Buryat-Mongol A.S.S.R.|Republic of Buryatia|Buryatskaya A.S.S.R.","name_local":"Республика Бурятия","type":"Respublika","type_en":"Republic","code_local":null,"code_hasc":"RU.BU","note":null,"hasc_maybe":null,"region":"Siberian","region_cod":null,"provnum_ne":20051,"gadm_level":1,"check_me":20,"datarank":2,"abbrev":null,"postal":"BU","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":6,"mapcolor9":7,"mapcolor13":7,"fips":"RS11","fips_alt":null,"woe_id":2346867,"woe_label":"Buryatiya, RU, Russia","woe_name":"Buryat","latitude":52.9061,"longitude":109.341,"sov_a3":"RUS","adm0_a3":"RUS","adm0_label":2,"admin":"Russia","geonunit":"Russia","gu_a3":"RUS","gn_id":2050915,"gn_name":"Respublika Buryatiya","gns_id":205709,"gns_name":"Buryatiya, Respublika","gn_level":1,"gn_region":null,"gn_a1_code":"RU.11","region_sub":"East Siberian","sub_code":null,"gns_level":1,"gns_lang":"khm","gns_adm1":"RS11","gns_region":null,"min_label":5,"max_label":10.2,"min_zoom":4.7,"wikidataid":"Q6809","name_ar":"بورياتيا","name_bn":"বুরিয়াত রিপাবলিক","name_de":"Burjatien","name_en":"Republic of Buryatia","name_es":"Buriatia","name_fr":"Bouriatie","name_el":"Δημοκρατία της Μπουργιατίας","name_hi":"बुर्यातिया","name_hu":"Burjátföld","name_id":"Buryatia","name_it":"Buriazia","name_ja":"ブリヤート共和国","name_ko":"부랴트 공화국","name_nl":"Boerjatië","name_pl":"Buriacja","name_pt":"Buriácia","name_ru":"Бурятия","name_sv":"Burjatien","name_tr":"Buryatya","name_vi":"Buryatia","name_zh":"布里亚特共和国","ne_id":1159313615,"name_he":"בוריאטיה","name_uk":"Бурятія","name_ur":"بوریاتیا","name_fa":"بوریاتیا","name_zht":"布里亞特共和國","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[98.634424,49.966283,116.927468,57.240072],"geometry":{"type":"Polygon","coordinates":[[[107.744446,49.966283],[107.630981,49.983099],[107.347019,49.986665],[107.233279,49.989404],[107.143052,50.033019],[107.040216,50.086452],[106.941307,50.196678],[106.853768,50.248303],[106.711089,50.312588],[106.574456,50.328789],[106.368422,50.317601],[106.217837,50.304578],[106.082497,50.332587],[105.996507,50.367908],[105.875223,50.405373],[105.692546,50.414184],[105.541651,50.441263],[105.383573,50.473715],[105.266681,50.460486],[105.185962,50.429609],[105.094702,50.389948],[104.976983,50.382894],[104.685373,50.341837],[104.596386,50.317187],[104.466316,50.306129],[104.353868,50.275278],[104.259921,50.214455],[104.179667,50.169444],[104.078743,50.154226],[103.958492,50.157275],[103.856121,50.171822],[103.802636,50.176059],[103.723209,50.153838],[103.632879,50.138594],[103.496246,50.164949],[103.421212,50.187066],[103.304372,50.200295],[103.233833,50.264271],[103.161745,50.290729],[103.039427,50.300625],[102.859696,50.333259],[102.765438,50.366538],[102.683324,50.387157],[102.54633,50.461313],[102.469436,50.525702],[102.406856,50.536192],[102.336421,50.544254],[102.288413,50.58513],[102.285726,50.634687],[102.303348,50.665538],[102.316577,50.718455],[102.276579,50.768684],[102.235031,50.791215],[102.215084,50.82943],[102.226195,50.901441],[102.210227,50.974305],[102.194517,51.050683],[102.151936,51.107527],[102.142324,51.216047],[102.160049,51.260851],[102.155656,51.313767],[102.111525,51.353455],[101.979233,51.382213],[101.821155,51.421048],[101.570886,51.467195],[101.464329,51.471484],[101.381233,51.452622],[101.304546,51.474739],[101.223207,51.513264],[101.085386,51.553029],[100.90364,51.604241],[100.710783,51.661576],[100.53622,51.713459],[100.468886,51.726094],[100.230399,51.729814],[100.034546,51.737101],[99.921633,51.755523],[99.787894,51.827534],[99.719268,51.871614],[99.612866,51.892518],[99.532354,51.899881],[99.40709,51.923549],[99.176148,51.998868],[99.091347,52.03486],[99.034297,52.035403],[98.958125,52.10173],[98.939563,52.106171],[98.932391,52.191853],[98.808987,52.196401],[98.799479,52.274226],[98.646413,52.309004],[98.634424,52.41277],[98.805577,52.514004],[98.804646,52.610949],[98.937145,52.672703],[98.937765,52.797501],[98.856323,52.846594],[98.92867,52.918476],[99.220332,52.865249],[99.249787,52.953822],[99.366473,53.053816],[99.378978,53.112779],[99.535971,53.105441],[99.690174,53.131951],[99.805206,53.190164],[99.878173,53.299383],[100.079814,53.300313],[100.260475,53.37483],[100.401035,53.234219],[100.362691,53.136757],[100.606397,52.94359],[100.826849,52.856464],[100.85248,52.810653],[101.030867,52.769105],[101.320152,52.641387],[101.436217,52.631206],[101.475595,52.571107],[101.687571,52.460622],[101.742968,52.402357],[101.9104,52.317091],[101.963213,52.222446],[102.045689,52.212188],[102.188006,52.275828],[102.320401,52.231334],[102.394815,52.259033],[102.542093,52.227613],[102.573512,52.149065],[102.672937,52.098422],[102.777014,51.984553],[102.944962,51.906599],[103.064748,51.882673],[103.221638,51.78826],[103.181434,51.620829],[103.335016,51.434199],[103.576345,51.479235],[103.689723,51.460167],[103.818707,51.38782],[103.813746,51.131866],[104.09807,51.218166],[104.212378,51.281108],[104.494222,51.308961],[104.609357,51.268292],[104.670025,51.399163],[104.628684,51.443372],[104.649871,51.622431],[104.899468,51.668681],[105.123124,51.73108],[105.461191,51.863346],[105.751509,52.030985],[105.991598,52.220947],[106.198304,52.440184],[108.040982,53.192722],[108.060826,53.205125],[108.423491,53.783177],[109.007331,54.424947],[109.022111,54.493625],[108.670918,54.546878],[108.640429,54.60106],[108.716083,54.78508],[108.690348,55.062324],[108.782229,55.169501],[108.77272,55.237275],[108.651281,55.313187],[108.622238,55.455892],[108.771377,55.623272],[108.854059,55.866254],[108.959996,55.94134],[109.180034,55.913022],[109.105,56.021671],[108.991208,56.03968],[108.928886,56.148201],[108.798972,56.257393],[108.571182,56.293618],[108.557023,56.345657],[108.718563,56.499446],[108.69903,56.582903],[108.92961,56.588174],[109.143137,56.676076],[109.313669,56.671735],[109.410201,56.734935],[109.665276,56.694266],[109.780411,56.711112],[109.886864,56.890869],[109.988977,56.969029],[110.247979,56.924846],[110.399081,56.921229],[110.531889,56.846711],[110.662114,56.83343],[110.752548,56.8741],[110.883082,56.834051],[110.998114,56.857718],[111.133713,56.814749],[111.363156,56.894822],[111.336698,56.950013],[111.462478,57.102458],[111.620195,57.094991],[111.62805,57.016313],[111.854289,56.913271],[111.916094,56.945491],[112.109571,56.94438],[112.234938,56.877717],[112.443917,56.862989],[112.662095,56.95965],[112.762037,56.752531],[112.885544,56.696695],[113.3558,56.626363],[113.546796,56.67158],[113.803007,56.602437],[113.86967,56.532622],[114.01023,56.545334],[114.127225,56.675972],[114.289283,56.692018],[114.498469,56.670856],[114.795298,56.709717],[114.850695,56.836686],[115.050373,56.990734],[115.085927,57.118581],[115.449935,57.097032],[115.697776,57.136668],[115.852185,57.240072],[116.155732,57.228548],[116.170305,57.14137],[116.047625,57.082201],[115.804849,57.0313],[115.710798,56.9635],[115.589048,56.901953],[115.571272,56.731886],[115.434122,56.689796],[115.49045,56.619903],[115.687854,56.595357],[115.672557,56.539857],[115.800508,56.466114],[115.683823,56.424515],[115.687957,56.326691],[115.773637,56.205665],[115.764852,56.085673],[115.889288,55.965163],[115.844433,55.856849],[115.844847,55.704817],[115.892182,55.641462],[115.895179,55.525397],[116.071603,55.414912],[116.177746,55.390573],[116.375977,55.408711],[116.458246,55.340421],[116.475919,55.253165],[116.715905,55.144593],[116.773886,55.148004],[116.892741,54.976696],[116.927468,54.825879],[116.883646,54.737538],[116.774092,54.690305],[116.777296,54.62664],[116.67322,54.547834],[116.457936,54.516776],[116.190459,54.53848],[115.933833,54.503754],[115.629356,54.442284],[115.526106,54.403605],[115.49107,54.328674],[115.269068,54.256689],[115.164475,54.161707],[115.023295,54.098404],[114.966451,54.023369],[114.860101,53.98053],[114.588283,53.926579],[114.500743,53.844931],[114.377546,53.84369],[114.326076,53.790025],[113.983462,53.743748],[113.926514,53.681323],[113.792672,53.629698],[113.877628,53.562002],[113.842488,53.381807],[113.935919,53.358242],[113.97757,53.2398],[114.200813,53.18709],[114.132083,53.09955],[114.325146,53.067717],[114.232955,52.960514],[114.235126,52.821531],[114.087848,52.694613],[113.965271,52.63317],[113.7442,52.573639],[113.572531,52.453491],[113.236117,52.468787],[112.949933,52.343317],[112.680492,52.331431],[112.54479,52.347038],[112.405367,52.20839],[112.184502,52.288075],[112.061822,52.277223],[111.796412,52.089947],[111.723651,52.005663],[111.585985,51.921689],[111.453693,51.877764],[111.125031,51.817897],[110.844738,51.659999],[110.862412,51.594991],[110.676997,51.504453],[110.422542,51.523315],[110.389159,51.577007],[110.049231,51.616075],[109.628689,51.449108],[109.247213,51.365961],[109.047122,51.500423],[108.942012,51.440478],[108.757114,51.44885],[108.64911,51.500629],[108.531805,51.422831],[108.384527,51.237493],[108.554749,51.157084],[108.483952,51.056677],[108.352694,51.055385],[108.308459,51.011047],[108.249651,50.843512],[108.067027,50.753492],[108.18733,50.65758],[108.47217,50.589936],[108.553612,50.465085],[108.315177,50.40266],[108.213478,50.410799],[108.131726,50.318221],[107.990236,50.334757],[107.92626,50.214816],[107.769681,50.147224],[107.795519,50.025732],[107.744446,49.966283]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"RUS-2609","diss_me":2609,"iso_3166_2":"RU-AMU","wikipedia":null,"iso_a2":"RU","adm0_sr":1,"name":"Amur","name_alt":"Amurskaya Oblast","name_local":"Амурская область","type":"Oblast","type_en":"Region","code_local":null,"code_hasc":"RU.AM","note":null,"hasc_maybe":null,"region":"Far Eastern","region_cod":null,"provnum_ne":20056,"gadm_level":1,"check_me":20,"datarank":2,"abbrev":null,"postal":"AM","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":4,"mapcolor9":7,"mapcolor13":7,"fips":"RS05","fips_alt":null,"woe_id":2346888,"woe_label":"Amurskaya Oblast, RU, Russia","woe_name":"Amur","latitude":52.9236,"longitude":128.354,"sov_a3":"RUS","adm0_a3":"RUS","adm0_label":2,"admin":"Russia","geonunit":"Russia","gu_a3":"RUS","gn_id":2027748,"gn_name":"Amurskaya Oblast'","gns_id":-2877323,"gns_name":"Amurskaya Oblast'","gn_level":1,"gn_region":null,"gn_a1_code":"RU.05","region_sub":"Far Eastern","sub_code":null,"gns_level":1,"gns_lang":"rus","gns_adm1":"RS05","gns_region":null,"min_label":5,"max_label":10.2,"min_zoom":4.7,"wikidataid":"Q6886","name_ar":"أوبلاست أمور","name_bn":"আমুর ওব্লাস্ট","name_de":"Amur","name_en":"Amur","name_es":"Amur","name_fr":"l'Amour","name_el":"Όμπλαστ του Αμούρ","name_hi":"आमुर ओब्लास्ट","name_hu":"Amuri terület","name_id":"Amur","name_it":"Amur","name_ja":"アムール州","name_ko":"아무르","name_nl":"Amoer","name_pl":"amurski","name_pt":"Amur","name_ru":"Амурская область","name_sv":"Amur","name_tr":"Amur Oblastı","name_vi":"Amur","name_zh":"阿穆尔州","ne_id":1159313603,"name_he":"מחוז אמור","name_uk":"Амурська область","name_ur":"آمور اوبلاست","name_fa":"استان آمور","name_zht":"阿穆尔州","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[119.669523,48.861204,134.956445,57.032075],"geometry":{"type":"Polygon","coordinates":[[[130.553148,48.861204],[130.355279,48.866372],[130.196012,48.891641],[130.037055,48.972257],[129.792522,49.198858],[129.671083,49.278491],[129.591398,49.286656],[129.533727,49.323424],[129.498173,49.38882],[129.440709,49.38944],[129.384692,49.38944],[129.350069,49.362362],[129.309865,49.353835],[129.248421,49.37864],[129.185118,49.381379],[129.120109,49.362052],[129.065125,49.374661],[129.02027,49.419258],[128.938311,49.44892],[128.819352,49.463751],[128.770259,49.494705],[128.791033,49.541834],[128.769019,49.576974],[128.70401,49.600125],[128.52676,49.594234],[128.237062,49.559301],[127.999609,49.568603],[127.814297,49.622139],[127.711151,49.671542],[127.69017,49.716759],[127.636685,49.760193],[127.550799,49.801793],[127.50243,49.873416],[127.491784,49.975038],[127.512352,50.071673],[127.59028,50.208977],[127.395253,50.298584],[127.33722,50.350157],[127.351173,50.393617],[127.340786,50.428085],[127.306059,50.45351],[127.30823,50.494179],[127.347194,50.550093],[127.346832,50.621355],[127.306989,50.707965],[127.198262,50.829456],[127.020392,50.98588],[126.924842,51.100137],[126.91151,51.172329],[126.887738,51.230129],[126.854407,51.261367],[126.83384,51.314878],[126.847741,51.374177],[126.827329,51.412263],[126.801801,51.448049],[126.805418,51.505642],[126.774515,51.545071],[126.709196,51.566284],[126.688733,51.609925],[126.700825,51.703046],[126.653696,51.781284],[126.510552,51.925823],[126.468074,52.031295],[126.455568,52.126457],[126.394797,52.173017],[126.39149,52.214488],[126.383532,52.286499],[126.346324,52.306265],[126.324207,52.331664],[126.341674,52.362024],[126.312838,52.399748],[126.237597,52.444809],[126.202974,52.483825],[126.194447,52.519146],[126.15662,52.546638],[126.045929,52.573355],[126.015957,52.610226],[126.023243,52.643014],[126.047015,52.673478],[126.06014,52.691978],[126.056006,52.715878],[126.048151,52.739468],[126.00433,52.767891],[125.941646,52.800705],[125.871883,52.871528],[125.782793,52.890725],[125.728119,52.890725],[125.680784,52.930826],[125.695356,52.956303],[125.691687,53.00369],[125.649054,53.042267],[125.595983,53.057485],[125.54596,53.047615],[125.422453,53.083737],[125.225566,53.165799],[125.075033,53.203678],[124.970956,53.197322],[124.906619,53.172672],[124.882124,53.129729],[124.812361,53.133837],[124.639865,53.210654],[124.465922,53.229645],[124.369133,53.270935],[124.291463,53.340853],[124.219943,53.370102],[124.154314,53.358681],[123.994685,53.405629],[123.740954,53.510998],[123.607784,53.546525],[123.559725,53.526681],[123.534713,53.526449],[123.489496,53.529446],[123.424022,53.530764],[123.309611,53.555594],[123.154065,53.544587],[122.957591,53.497717],[122.744787,53.46852],[122.515861,53.456996],[122.380158,53.462525],[122.337784,53.485004],[122.088807,53.451466],[122.024346,53.438785],[122.017907,53.520506],[121.947006,53.604713],[121.919411,53.831443],[121.782882,53.97252],[121.643149,54.012104],[121.641185,54.112925],[121.75353,54.15163],[121.7526,54.271675],[121.654828,54.355494],[121.731309,54.425619],[121.865874,54.419469],[121.901841,54.369136],[122.114748,54.406705],[122.127357,54.467813],[121.935534,54.566282],[121.894917,54.646019],[121.921892,54.732887],[121.825877,54.783943],[121.659065,54.727668],[121.66661,54.82146],[121.950314,55.00747],[121.939255,55.214149],[121.983593,55.476433],[121.883238,55.60565],[121.693482,55.600069],[121.633744,55.53475],[121.43913,55.481058],[121.363373,55.507362],[121.306735,55.742489],[121.346526,55.813493],[121.276246,55.866823],[121.216922,56.013222],[120.986032,56.020147],[120.532002,55.914262],[120.466373,55.871525],[120.259668,55.916432],[120.055339,56.078128],[120.061644,56.138202],[120.343797,56.219747],[120.526835,56.23171],[120.532623,56.284627],[120.275687,56.386223],[120.256567,56.459216],[119.960358,56.493141],[119.808739,56.612178],[119.786828,56.699924],[119.669523,56.770695],[119.898449,56.889396],[120.030844,56.899008],[120.302766,57.004144],[120.655509,57.032075],[121.019104,57.031222],[121.053211,56.989648],[121.406884,56.975515],[121.511477,56.922314],[121.602118,56.812657],[121.608319,56.741188],[122.159603,56.738372],[122.2828,56.650651],[122.466665,56.601868],[122.589241,56.489576],[122.781374,56.497792],[122.918523,56.550657],[123.132257,56.457381],[123.452651,56.406325],[123.915362,56.377334],[124.060469,56.231348],[124.205577,56.165099],[124.24299,56.080918],[124.360399,56.056734],[124.448042,55.904598],[124.635214,55.901756],[124.957675,55.826205],[125.247684,55.879587],[125.437336,55.837445],[125.54627,55.735771],[125.757627,55.79644],[126.039056,55.727762],[126.047325,55.588752],[126.233773,55.590612],[126.434174,55.555007],[126.550653,55.6334],[126.842728,55.605883],[126.953523,55.687247],[127.187617,55.690813],[127.329624,55.655725],[127.486927,55.555007],[127.572606,55.579864],[127.674616,55.683165],[127.793885,55.62924],[128.290185,55.647973],[128.501645,55.51563],[128.663496,55.520849],[128.77212,55.469095],[128.974898,55.46633],[129.088793,55.533355],[129.047038,55.654226],[129.443706,55.699753],[129.652996,55.744996],[129.892258,55.734428],[129.994681,55.693087],[130.741508,55.71908],[130.922996,55.678566],[131.08681,55.618052],[131.300647,55.617639],[131.598614,55.651797],[131.803666,55.614306],[131.962312,55.657843],[132.126023,55.644769],[132.239712,55.704042],[132.538401,55.67562],[132.662942,55.560743],[132.643511,55.490567],[132.907888,55.359128],[132.732601,55.348715],[132.580776,55.195856],[132.354847,55.19136],[132.366836,55.056433],[132.086749,55.049922],[131.970787,54.997961],[131.994455,54.909414],[131.612256,54.780791],[131.532468,54.722397],[131.399349,54.719141],[131.199465,54.612791],[131.220239,54.526698],[131.114095,54.323274],[130.943873,54.323248],[130.773651,54.287901],[130.506897,54.119849],[130.48354,53.993397],[130.410366,53.94756],[130.446539,53.882396],[130.635055,53.886789],[130.840107,53.828446],[130.921136,53.767778],[131.096732,53.812943],[131.420847,53.751345],[131.443998,53.627166],[131.498155,53.554871],[131.483479,53.475599],[131.532261,53.319433],[131.465289,53.212928],[131.800152,53.241195],[131.894203,53.127972],[131.990528,53.133863],[132.111554,53.222953],[132.398462,53.244244],[132.594005,53.229723],[132.893315,53.234632],[132.951193,53.288505],[133.153351,53.291166],[133.209678,53.421132],[133.573274,53.546034],[133.709183,53.47684],[134.01056,53.433173],[134.214578,53.471827],[134.22264,53.514925],[134.451359,53.537766],[134.555229,53.620862],[134.747982,53.539265],[134.761418,53.475212],[134.923785,53.416585],[134.897017,53.315351],[134.956445,53.253856],[134.859397,53.184403],[134.812061,53.065598],[134.658892,52.939146],[134.631297,52.80055],[134.705918,52.766237],[134.782399,52.647097],[134.658582,52.57506],[134.662613,52.470854],[134.605665,52.417576],[134.22388,52.488786],[134.056035,52.500155],[134.003118,52.539222],[133.658746,52.571649],[133.369358,52.683038],[133.279545,52.663918],[133.23841,52.566921],[133.246162,52.455584],[133.420415,52.251385],[133.321713,52.198261],[132.906958,52.158625],[132.589768,52.081524],[132.525069,51.962978],[132.403733,51.963418],[132.423473,51.859936],[132.278676,51.792989],[132.215734,51.816837],[131.959212,51.736739],[131.863921,51.754619],[131.727805,51.681083],[131.430872,51.688318],[131.395009,51.607031],[131.483789,51.476135],[131.48844,51.344567],[131.289795,51.363868],[131.169079,51.248655],[131.0649,51.24571],[130.918655,51.024328],[130.815612,51.019522],[130.771791,50.942472],[130.840727,50.880874],[130.688488,50.745585],[130.64508,50.657296],[130.954002,50.649984],[131.011053,50.568128],[130.865532,50.456507],[130.988935,50.381783],[131.134146,50.4193],[131.15802,50.345403],[131.289795,50.366073],[131.325349,50.268767],[131.441517,50.186188],[131.29517,49.989766],[131.445135,49.964082],[131.499395,49.900779],[131.469113,49.729988],[131.38426,49.659346],[131.499912,49.611313],[131.494021,49.411351],[131.395732,49.24361],[131.182412,49.249862],[131.006712,49.051011],[130.982734,48.972153],[130.829048,48.983445],[130.553148,48.861204]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"RUS-2610","diss_me":2610,"iso_3166_2":"RU-ZAB","wikipedia":null,"iso_a2":"RU","adm0_sr":1,"name":"Chita","name_alt":"Transbaikalia|Zabaykal'skaya|Transbaikalien|Chitinskaya Oblast","name_local":"Читинская область","type":"Oblast","type_en":"Region","code_local":null,"code_hasc":"RU.CT","note":null,"hasc_maybe":null,"region":"Siberian","region_cod":null,"provnum_ne":20054,"gadm_level":1,"check_me":20,"datarank":2,"abbrev":null,"postal":"CT","area_sqkm":0,"sameascity":6,"labelrank":6,"name_len":5,"mapcolor9":7,"mapcolor13":7,"fips":"RS14","fips_alt":null,"woe_id":2346894,"woe_label":"Chitinskaya Oblast, RU, Russia","woe_name":"Chita","latitude":52.159,"longitude":116.559,"sov_a3":"RUS","adm0_a3":"RUS","adm0_label":2,"admin":"Russia","geonunit":"Russia","gu_a3":"RUS","gn_id":7779061,"gn_name":"Zabaykal'skiy Kray","gns_id":11130914,"gns_name":"Zabaykal'skiy Kray","gn_level":1,"gn_region":null,"gn_a1_code":"RU.93","region_sub":"East Siberian","sub_code":null,"gns_level":1,"gns_lang":"ara","gns_adm1":"RS93","gns_region":null,"min_label":5,"max_label":10.2,"min_zoom":4.7,"wikidataid":"Q6838","name_ar":"كراي عبر البايكال","name_bn":"জাবায়কালস্কি ক্রা","name_de":"Transbaikalien","name_en":"Zabaykalsky Krai","name_es":"Zabaikalie","name_fr":"Transbaïkalie","name_el":"Κράι Υπερβαϊκάλης","name_hi":"ज़बायकाल्स्की क्राय","name_hu":"Bajkálontúli határterület","name_id":"Krai Zabaykalsky","name_it":"Territorio della Transbajkalia","name_ja":"ザバイカリエ地方","name_ko":"자바이칼 지방","name_nl":"Kraj Transbaikal","name_pl":"Kraj Zabajkalski","name_pt":"Krai de Zabaykalsky","name_ru":"Забайкальский край","name_sv":"Zabajkalskij kraj","name_tr":"Zabaykalskiy Krayı","name_vi":"Zabaykalsky","name_zh":"外贝加尔边疆区","ne_id":1159313617,"name_he":"מחוז עבר הבאיקל","name_uk":"Забайкальський край","name_ur":"زابایکالسکی کرائی","name_fa":"سرزمین زابایکالسکی","name_zht":"外貝加爾邊疆區","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[107.744446,49.137595,122.127357,58.397986],"geometry":{"type":"Polygon","coordinates":[[[116.683297,49.823781],[116.631569,49.877059],[116.55116,49.920312],[116.351121,49.978087],[116.216814,50.009273],[116.134545,50.010798],[115.92603,49.952145],[115.795237,49.905895],[115.717723,49.880625],[115.587963,49.886051],[115.429213,49.89649],[115.364979,49.91176],[115.274546,49.948864],[115.098019,50.059425],[115.003348,50.138594],[114.879583,50.183035],[114.743157,50.233678],[114.674892,50.245693],[114.553969,50.241456],[114.386331,50.255486],[114.297034,50.274399],[114.221793,50.257269],[114.070691,50.204739],[113.881142,50.101102],[113.732417,50.061544],[113.574184,50.007025],[113.44551,49.941603],[113.319058,49.87432],[113.164183,49.797193],[113.092095,49.692523],[113.05556,49.616248],[112.914793,49.569223],[112.806427,49.523592],[112.697338,49.507263],[112.494922,49.532326],[112.375136,49.514601],[112.079702,49.424219],[111.934491,49.416028],[111.833412,49.4036],[111.735588,49.39776],[111.574823,49.376418],[111.511881,49.360915],[111.429251,49.342622],[111.336646,49.355851],[111.2042,49.304278],[110.827944,49.166147],[110.709811,49.14297],[110.631108,49.137595],[110.529616,49.187076],[110.427813,49.219993],[110.321359,49.215859],[110.19992,49.17041],[109.994558,49.205627],[109.750335,49.23932],[109.528695,49.269887],[109.453712,49.296345],[109.236671,49.334896],[108.919895,49.335361],[108.733033,49.335645],[108.61366,49.322804],[108.522503,49.341485],[108.406954,49.396365],[108.213064,49.524781],[108.098033,49.56266],[108.033799,49.593976],[108.009511,49.646892],[107.965431,49.653533],[107.936751,49.690998],[107.938766,49.740737],[107.934838,49.849025],[107.947809,49.924705],[107.916545,49.947804],[107.786837,49.96],[107.744446,49.966283],[107.795519,50.025732],[107.769681,50.147224],[107.92626,50.214816],[107.990236,50.334757],[108.131726,50.318221],[108.213478,50.410799],[108.315177,50.40266],[108.553612,50.465085],[108.47217,50.589936],[108.18733,50.65758],[108.067027,50.753492],[108.249651,50.843512],[108.308459,51.011047],[108.352694,51.055385],[108.483952,51.056677],[108.554749,51.157084],[108.384527,51.237493],[108.531805,51.422831],[108.64911,51.500629],[108.757114,51.44885],[108.942012,51.440478],[109.047122,51.500423],[109.247213,51.365961],[109.628689,51.449108],[110.049231,51.616075],[110.389159,51.577007],[110.422542,51.523315],[110.676997,51.504453],[110.862412,51.594991],[110.844738,51.659999],[111.125031,51.817897],[111.453693,51.877764],[111.585985,51.921689],[111.723651,52.005663],[111.796412,52.089947],[112.061822,52.277223],[112.184502,52.288075],[112.405367,52.20839],[112.54479,52.347038],[112.680492,52.331431],[112.949933,52.343317],[113.236117,52.468787],[113.572531,52.453491],[113.7442,52.573639],[113.965271,52.63317],[114.087848,52.694613],[114.235126,52.821531],[114.232955,52.960514],[114.325146,53.067717],[114.132083,53.09955],[114.200813,53.18709],[113.97757,53.2398],[113.935919,53.358242],[113.842488,53.381807],[113.877628,53.562002],[113.792672,53.629698],[113.926514,53.681323],[113.983462,53.743748],[114.326076,53.790025],[114.377546,53.84369],[114.500743,53.844931],[114.588283,53.926579],[114.860101,53.98053],[114.966451,54.023369],[115.023295,54.098404],[115.164475,54.161707],[115.269068,54.256689],[115.49107,54.328674],[115.526106,54.403605],[115.629356,54.442284],[115.933833,54.503754],[116.190459,54.53848],[116.457936,54.516776],[116.67322,54.547834],[116.777296,54.62664],[116.774092,54.690305],[116.883646,54.737538],[116.927468,54.825879],[116.892741,54.976696],[116.773886,55.148004],[116.715905,55.144593],[116.475919,55.253165],[116.458246,55.340421],[116.375977,55.408711],[116.177746,55.390573],[116.071603,55.414912],[115.895179,55.525397],[115.892182,55.641462],[115.844847,55.704817],[115.844433,55.856849],[115.889288,55.965163],[115.764852,56.085673],[115.773637,56.205665],[115.687957,56.326691],[115.683823,56.424515],[115.800508,56.466114],[115.672557,56.539857],[115.687854,56.595357],[115.49045,56.619903],[115.434122,56.689796],[115.571272,56.731886],[115.589048,56.901953],[115.710798,56.9635],[115.860246,56.932443],[115.957398,56.865031],[116.122039,56.812657],[116.361611,56.847331],[116.629088,56.748526],[116.81502,56.726202],[117.012217,56.806455],[117.140581,56.808522],[117.179546,56.865987],[117.570839,56.851207],[117.5758,56.934716],[117.672539,56.977504],[117.676569,57.065819],[117.600915,57.14969],[117.723388,57.187052],[117.794288,57.287408],[117.597091,57.321153],[117.426972,57.263688],[117.356692,57.337069],[117.320726,57.4567],[117.25706,57.508996],[117.282278,57.617155],[117.140375,57.668418],[117.172724,57.736476],[117.128283,57.84156],[117.312974,57.847038],[117.368061,57.934164],[117.374572,58.060901],[117.437721,58.1518],[117.587789,58.184304],[117.470897,58.303987],[117.683804,58.397986],[118.142071,58.385894],[118.317357,58.352511],[118.405104,58.261509],[118.630413,58.175157],[118.784099,58.212829],[119.10811,58.2227],[119.154412,58.146399],[119.135498,58.007131],[119.047028,57.727639],[119.165057,57.668677],[119.14108,57.538917],[119.410107,57.614726],[119.487208,57.591472],[119.410004,57.49724],[119.442353,57.371201],[119.545603,57.339782],[119.682752,57.157442],[119.622084,57.100959],[119.645338,57.002257],[119.771635,56.982982],[119.898449,56.889396],[119.669523,56.770695],[119.786828,56.699924],[119.808739,56.612178],[119.960358,56.493141],[120.256567,56.459216],[120.275687,56.386223],[120.532623,56.284627],[120.526835,56.23171],[120.343797,56.219747],[120.061644,56.138202],[120.055339,56.078128],[120.259668,55.916432],[120.466373,55.871525],[120.532002,55.914262],[120.986032,56.020147],[121.216922,56.013222],[121.276246,55.866823],[121.346526,55.813493],[121.306735,55.742489],[121.363373,55.507362],[121.43913,55.481058],[121.633744,55.53475],[121.693482,55.600069],[121.883238,55.60565],[121.983593,55.476433],[121.939255,55.214149],[121.950314,55.00747],[121.66661,54.82146],[121.659065,54.727668],[121.825877,54.783943],[121.921892,54.732887],[121.894917,54.646019],[121.935534,54.566282],[122.127357,54.467813],[122.114748,54.406705],[121.901841,54.369136],[121.865874,54.419469],[121.731309,54.425619],[121.654828,54.355494],[121.7526,54.271675],[121.75353,54.15163],[121.641185,54.112925],[121.643149,54.012104],[121.782882,53.97252],[121.919411,53.831443],[121.947006,53.604713],[122.017907,53.520506],[122.024346,53.438785],[121.743918,53.383615],[121.405437,53.317056],[120.985463,53.284577],[120.704085,53.171845],[120.421311,52.968085],[120.21812,52.839876],[120.09451,52.787218],[120.04428,52.718229],[120.067535,52.632912],[120.172748,52.602474],[120.360023,52.627021],[120.52115,52.615032],[120.656129,52.566663],[120.699227,52.493592],[120.650341,52.395924],[120.665431,52.299883],[120.744496,52.20547],[120.749819,52.09651],[120.681502,51.973055],[120.510505,51.848515],[120.236982,51.722993],[120.066915,51.600675],[119.966972,51.422107],[119.813183,51.267052],[119.756649,51.179486],[119.746004,51.107733],[119.684922,51.030115],[119.573405,50.946761],[119.512323,50.863123],[119.501781,50.779226],[119.44566,50.702849],[119.344065,50.633912],[119.280709,50.560997],[119.255801,50.48418],[119.216734,50.432529],[119.163714,50.406019],[119.191929,50.379845],[119.301587,50.353929],[119.346235,50.278947],[119.326081,50.154923],[119.259832,50.066402],[119.147487,50.013382],[118.979539,49.978862],[118.755987,49.962842],[118.451509,49.844503],[118.186616,49.692781],[117.873457,49.51349],[117.812582,49.513516],[117.69848,49.53584],[117.47715,49.609427],[117.24564,49.624852],[117.021622,49.692988],[116.888969,49.737791],[116.683297,49.823781]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"RUS-2611","diss_me":2611,"iso_3166_2":"RU-PRI","wikipedia":null,"iso_a2":"RU","adm0_sr":4,"name":"Primor'ye","name_alt":"Küsten-Gebiet|Maritime Territory|Primorsk|Primorskiy Kray","name_local":"Приморский край","type":"Kray","type_en":"Territory","code_local":null,"code_hasc":"RU.PR","note":null,"hasc_maybe":null,"region":"Far Eastern","region_cod":null,"provnum_ne":20024,"gadm_level":1,"check_me":20,"datarank":2,"abbrev":null,"postal":"PR","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":9,"mapcolor9":7,"mapcolor13":7,"fips":"RS59","fips_alt":null,"woe_id":2346886,"woe_label":"Primorskiy Kray, RU, Russia","woe_name":"Primor'ye","latitude":44.8622,"longitude":134.594,"sov_a3":"RUS","adm0_a3":"RUS","adm0_label":2,"admin":"Russia","geonunit":"Russia","gu_a3":"RUS","gn_id":2017623,"gn_name":"Primorskiy Kray","gns_id":-2988000,"gns_name":"Primorskiy Kray","gn_level":1,"gn_region":null,"gn_a1_code":"RU.59","region_sub":"Far Eastern","sub_code":null,"gns_level":1,"gns_lang":"fas","gns_adm1":"RS59","gns_region":null,"min_label":5,"max_label":10.2,"min_zoom":4.7,"wikidataid":"Q4341","name_ar":"بريمورسكي كراي","name_bn":"প্রিমারস্কি ক্রাই","name_de":"Primorje","name_en":"Primorsky Krai","name_es":"Primorie","name_fr":"du Primorié","name_el":"Κράι Πριμόρσκι","name_hi":"प्रिमोर्स्की क्राय","name_hu":"Tengermelléki határterület","name_id":"Krai Primorsky","name_it":"Territorio del Litorale","name_ja":"沿海地方","name_ko":"프리모르스키 지방","name_nl":"Kraj Primorski","name_pl":"Kraj Nadmorski","name_pt":"Krai do Litoral","name_ru":"Приморский край","name_sv":"Primorje kraj","name_tr":"Primorskiy Krayı","name_vi":"Primorsky","name_zh":"滨海边疆区","ne_id":1159313539,"name_he":"פרימוריה","name_uk":"Приморський край","name_ur":"پریمورسکی کرائی","name_fa":"سرزمین پریمورسکی","name_zht":"普列莫爾斯基區","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[130.419978,42.302539,139.010211,48.444589],"geometry":{"type":"Polygon","coordinates":[[[131.245073,43.466681],[131.243907,43.469027],[131.20918,43.490421],[131.182463,43.505588],[131.180035,43.567108],[131.183652,43.650876],[131.174247,43.704749],[131.213314,44.002922],[131.255276,44.071574],[131.125774,44.469198],[131.086914,44.595676],[131.060662,44.659677],[131.003921,44.753238],[130.967748,44.799953],[130.9817,44.844317],[131.032963,44.888888],[131.082314,44.910024],[131.22799,44.920152],[131.268298,44.936121],[131.446892,44.984025],[131.487509,45.013118],[131.57877,45.083657],[131.613962,45.136573],[131.654011,45.205355],[131.742067,45.242613],[131.794881,45.305297],[131.851828,45.326846],[131.909241,45.273723],[131.977505,45.243983],[132.023779,45.234715],[132.00498,45.214014],[132.017188,45.126611],[132.015137,45.074268],[132.108691,44.968652],[132.084375,44.851367],[132.069043,44.742529],[132.168555,44.673975],[132.241211,44.62998],[132.238477,44.606104],[132.275879,44.568994],[132.365527,44.529443],[132.459668,44.612598],[132.613574,44.711328],[132.742871,44.942676],[132.809766,45.051562],[132.809533,45.066023],[132.838641,45.061126],[132.888768,45.046062],[132.936,45.029913],[133.011757,45.074562],[133.113457,45.130734],[133.09692,45.22047],[133.113353,45.32142],[133.18601,45.494846],[133.266936,45.545282],[133.309517,45.55306],[133.355509,45.572206],[133.436434,45.60471],[133.46558,45.651219],[133.449147,45.705066],[133.475812,45.757647],[133.4847,45.810434],[133.513122,45.878802],[133.551156,45.897819],[133.608,45.920298],[133.647791,45.955231],[133.685721,46.008949],[133.711146,46.069643],[133.700708,46.139768],[133.750214,46.185915],[133.832793,46.224259],[133.861318,46.247772],[133.874754,46.30906],[133.880232,46.336035],[133.902762,46.366938],[133.886743,46.430551],[133.866589,46.499126],[133.95754,46.614235],[133.972393,46.636823],[134.199282,46.644388],[134.411982,46.677513],[134.464589,46.785982],[134.411672,46.866442],[134.442885,46.942458],[134.548718,46.967263],[134.653414,47.091803],[134.851128,47.154073],[135.015149,47.12808],[135.078195,47.192649],[135.205112,47.152962],[135.433005,47.019197],[135.363035,46.949641],[135.419569,46.910884],[135.526023,46.953491],[135.745854,46.948556],[135.850137,46.81089],[135.941501,46.789754],[136.062011,46.849906],[136.263652,46.765001],[136.383955,46.769239],[136.451134,46.810166],[136.577225,46.777455],[136.727913,46.841482],[136.835297,46.94375],[136.974203,47.011704],[136.934309,47.057102],[137.01265,47.236135],[137.093679,47.296597],[137.328186,47.213863],[137.452417,47.19836],[137.597731,47.300317],[137.754724,47.329256],[138.005768,47.454571],[138.086797,47.516609],[138.048349,47.668331],[137.896421,47.724348],[137.786866,47.69652],[137.600521,47.784215],[137.596594,47.910409],[137.416863,47.97795],[137.314647,48.084223],[137.448903,48.20158],[137.578714,48.228452],[137.843297,48.209099],[137.994916,48.297052],[138.145294,48.315785],[138.178987,48.379166],[138.305595,48.444589],[138.488839,48.401749],[138.479847,48.302582],[138.558499,48.18078],[138.709911,48.183261],[138.722417,48.136132],[138.581443,48.03066],[138.825563,47.860903],[138.70712,47.735174],[138.609865,47.725873],[138.516641,47.668512],[138.618237,47.628644],[138.594776,47.547796],[138.628676,47.451419],[138.754663,47.438293],[138.856155,47.466302],[139.010211,47.396734],[139.001367,47.383301],[138.586816,47.057227],[138.529688,46.976221],[138.500488,46.889844],[138.391797,46.745068],[138.336914,46.543408],[138.210156,46.462939],[138.106348,46.250732],[137.769141,45.928516],[137.685449,45.818359],[137.425195,45.63999],[137.146973,45.393506],[136.803516,45.171143],[136.737207,45.080029],[136.604102,44.978174],[136.460449,44.822119],[136.251172,44.666797],[136.208691,44.562012],[136.142285,44.489111],[135.987012,44.439844],[135.874609,44.373535],[135.533203,43.971484],[135.489063,43.898828],[135.483398,43.83501],[135.260156,43.684619],[135.131055,43.525732],[134.916992,43.426562],[134.691797,43.290576],[134.156445,43.042139],[134.010449,42.947461],[133.709375,42.829932],[133.586719,42.828223],[133.329492,42.763867],[133.159961,42.696973],[133.059375,42.722803],[132.996582,42.808008],[132.923926,42.805273],[132.863574,42.79375],[132.708984,42.87583],[132.576465,42.871582],[132.481348,42.909766],[132.303809,42.883301],[132.334375,43.238672],[132.30957,43.313525],[132.233203,43.245068],[132.028711,43.118945],[131.947266,43.09541],[131.866602,43.095166],[131.89834,43.170752],[132.013086,43.280029],[131.97627,43.296045],[131.938965,43.301953],[131.794727,43.255273],[131.72207,43.202637],[131.516406,42.996436],[131.393262,42.822314],[131.29248,42.772119],[131.245313,42.697412],[131.158301,42.626025],[131.024805,42.645166],[130.945703,42.633936],[130.756152,42.673291],[130.709375,42.656396],[130.83418,42.522949],[130.729883,42.325781],[130.687305,42.302539],[130.657948,42.327778],[130.65154,42.372504],[130.618002,42.415603],[130.55413,42.474695],[130.526948,42.535388],[130.584464,42.567325],[130.576557,42.623238],[130.520592,42.674321],[130.439201,42.685534],[130.419978,42.699875],[130.424784,42.727031],[130.452741,42.755427],[130.492945,42.779095],[130.577281,42.811599],[130.722491,42.835835],[130.803262,42.856816],[130.868529,42.863327],[130.94284,42.851752],[131.005575,42.883119],[131.068569,42.902265],[131.083503,42.956293],[131.08619,43.038097],[131.10898,43.062436],[131.135593,43.097628],[131.175642,43.142199],[131.211867,43.257773],[131.239359,43.337665],[131.257343,43.378076],[131.261787,43.43306],[131.245073,43.466681]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"RUS-2612","diss_me":2612,"iso_3166_2":"RU-SA","wikipedia":null,"iso_a2":"RU","adm0_sr":5,"name":"Sakha (Yakutia)","name_alt":"Chukotka|Chukotskiy AOk","name_local":"Чукотский АОк","type":"Avtonomnyy Okrug","type_en":"Autonomous Province","code_local":null,"code_hasc":"RU.CK","note":null,"hasc_maybe":"RU.SK|RUS-YAK","region":"Far Eastern","region_cod":null,"provnum_ne":20019,"gadm_level":1,"check_me":20,"datarank":2,"abbrev":null,"postal":"CK","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":15,"mapcolor9":7,"mapcolor13":7,"fips":"RS15","fips_alt":null,"woe_id":2346881,"woe_label":"Sakha, RU, Russia","woe_name":"Chukot","latitude":65.5964,"longitude":130.989,"sov_a3":"RUS","adm0_a3":"RUS","adm0_label":2,"admin":"Russia","geonunit":"Russia","gu_a3":"RUS","gn_id":2013162,"gn_name":"Respublika Sakha (Yakutiya)","gns_id":-3038508,"gns_name":"Sakha (Yakutiya), Respublika","gn_level":1,"gn_region":null,"gn_a1_code":"RU.63","region_sub":"Far Eastern","sub_code":null,"gns_level":1,"gns_lang":"fas","gns_adm1":"RS63","gns_region":null,"min_label":5,"max_label":10.2,"min_zoom":4.7,"wikidataid":"Q6605","name_ar":"ياقوتيا","name_bn":"সাখা","name_de":"Sacha","name_en":"Sakha Republic","name_es":"Sajá","name_fr":"république Sakha","name_el":"Δημοκρατία των Σαχά","name_hi":"साख़ा गणतंत्र","name_hu":"Jakutföld","name_id":"Sakha","name_it":"Sacha-Jacuzia","name_ja":"サハ共和国","name_ko":"사하 공화국","name_nl":"Jakoetië","name_pl":"Jakucja","name_pt":"Iacútia","name_ru":"Якутия","name_sv":"Sacha","name_tr":"Yakutistan","name_vi":"Cộng hòa Sakha","name_zh":"萨哈共和国","ne_id":1159313601,"name_he":"רפובליקת סאחה-יקוטיה","name_uk":"Республіка Саха","name_ur":"سخا جمہوریہ","name_fa":"یاقوتستان","name_zht":"萨哈共和国","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[105.540153,55.46633,162.846939,76.78208],"geometry":{"type":"MultiPolygon","coordinates":[[[[161.520703,69.634033],[161.617773,69.592432],[161.609277,69.500928],[161.540332,69.436523],[161.374414,69.413672],[161.350879,69.369336],[161.372656,69.292822],[161.377539,69.194434],[161.394238,69.106445],[161.494727,69.016016],[161.516992,68.96958],[161.506738,68.927588],[161.46709,68.900977],[161.422461,68.899658],[161.45625,68.966016],[161.461133,68.995605],[161.364063,69.044434],[161.18252,69.081592],[161.136523,69.110254],[161.125488,69.197021],[161.164551,69.333594],[161.082813,69.405664],[161.110742,69.469824],[161.32334,69.540918],[161.409766,69.595703],[161.505176,69.639453],[161.520703,69.634033]]],[[[111.302842,73.882977],[111.400391,73.827734],[111.803711,73.745264],[112.147266,73.708936],[112.4,73.711133],[112.79541,73.746094],[112.855957,73.771143],[112.939648,73.835645],[112.835938,73.962061],[112.934961,73.945703],[113.032813,73.913867],[113.181543,73.837402],[113.326855,73.707422],[113.416211,73.647607],[113.364453,73.582764],[113.156934,73.45957],[113.276953,73.391504],[113.490918,73.346094],[113.487598,73.145117],[113.474609,73.047852],[113.369336,72.941895],[113.247363,72.897217],[113.127832,72.830664],[113.158203,72.769482],[113.186133,72.730176],[113.312207,72.657373],[113.664551,72.634521],[113.711914,72.65415],[113.630078,72.6771],[113.391406,72.711035],[113.298145,72.738867],[113.215527,72.805859],[113.311523,72.87832],[113.41748,72.932178],[113.542773,73.054346],[113.581445,73.142236],[113.558887,73.232617],[113.63916,73.273584],[113.765234,73.317969],[113.829297,73.326562],[113.88623,73.345801],[113.795117,73.367432],[113.711328,73.378564],[113.539453,73.433643],[113.510352,73.50498],[113.856934,73.533398],[114.060547,73.584668],[114.816016,73.607178],[115.337695,73.702588],[116.495508,73.676074],[117.308594,73.59917],[118.450195,73.589795],[118.870898,73.537891],[118.91123,73.518359],[118.936426,73.481201],[118.754492,73.464502],[118.457031,73.464404],[118.376563,73.367236],[118.430273,73.246533],[118.960352,73.117285],[119.425293,73.063965],[119.750391,72.979102],[119.92168,72.971338],[120.597949,72.981104],[120.997168,72.936719],[121.354297,72.97085],[121.747852,72.969678],[121.886035,72.960889],[122.029785,72.897217],[122.260156,72.880566],[122.5375,72.877783],[122.69209,72.89082],[122.751953,72.906494],[122.730859,72.931299],[122.501953,72.970654],[122.526758,73.016699],[122.615234,73.02793],[122.999316,72.964648],[123.160352,72.954883],[123.301172,73.001807],[123.40459,73.085645],[123.461621,73.144189],[123.521875,73.1729],[123.572461,73.177344],[123.622266,73.193262],[123.500977,73.261621],[123.383887,73.347314],[123.355273,73.40249],[123.322656,73.430811],[123.305078,73.53291],[123.416211,73.636865],[123.491113,73.666357],[123.796875,73.626758],[123.933887,73.689307],[124.019043,73.712305],[124.388086,73.754834],[124.541211,73.75127],[124.796289,73.711768],[125.61709,73.520605],[125.598535,73.447412],[125.794434,73.468457],[125.887891,73.498096],[126.107422,73.51748],[126.254492,73.548193],[126.295996,73.53667],[126.344922,73.506299],[126.308887,73.463672],[126.257422,73.419775],[126.29248,73.394189],[126.335449,73.38877],[126.552539,73.334912],[126.838477,73.43418],[126.955176,73.528223],[127.031348,73.547461],[127.740332,73.481543],[127.955078,73.445557],[127.996875,73.425635],[128.025684,73.390771],[128.141699,73.352393],[128.281445,73.330566],[128.26416,73.300732],[128.257812,73.26748],[128.587012,73.262402],[128.730469,73.233398],[128.888672,73.190234],[128.87168,73.139355],[128.913379,73.110596],[129.05918,73.10752],[129.100586,73.112354],[129.053711,73.04541],[128.853516,72.972607],[128.735254,72.943262],[128.599023,72.895166],[128.674023,72.885889],[129.017285,72.872461],[129.229102,72.775732],[129.250391,72.705176],[129.117578,72.676953],[128.815332,72.585889],[128.633398,72.550146],[128.508496,72.547314],[128.418262,72.535156],[128.549414,72.49585],[129.116602,72.485742],[129.281348,72.437695],[129.411719,72.315479],[129.410645,72.166309],[129.283496,72.092041],[128.934961,72.079492],[128.475195,72.245557],[128.196973,72.309619],[127.803418,72.434033],[127.726074,72.413184],[127.841406,72.308252],[128.026563,72.25],[128.358789,72.08833],[128.911426,71.755322],[129.040137,71.782422],[129.116602,71.824609],[129.154199,71.878662],[129.121582,71.953223],[129.210254,71.916943],[129.291797,71.850195],[129.46084,71.739307],[129.23418,71.744824],[128.949023,71.707568],[128.843262,71.663477],[128.922656,71.601758],[129.134277,71.592871],[129.224512,71.508838],[129.389844,71.404883],[129.761914,71.119531],[130.025977,71.065381],[130.28125,70.947314],[130.537109,70.892529],[130.668457,70.88833],[130.757129,70.962354],[130.831934,70.935889],[130.898047,70.803564],[131.021582,70.746094],[131.157422,70.742188],[131.268262,70.765527],[131.432324,70.828271],[131.562012,70.901025],[131.769043,71.101416],[131.906445,71.202637],[132.035352,71.244043],[131.99082,71.293213],[132.003711,71.350195],[132.098828,71.483984],[132.227637,71.642773],[132.325781,71.726221],[132.562305,71.895313],[132.653906,71.925977],[132.71582,71.871484],[132.768555,71.79873],[132.803613,71.767578],[132.839258,71.755176],[133.130859,71.606689],[133.426172,71.490967],[133.688867,71.434229],[134.102832,71.378955],[134.702734,71.386816],[134.813867,71.460596],[135.022363,71.515039],[135.359375,71.543506],[135.55918,71.610352],[135.884766,71.630566],[136.090332,71.61958],[136.406152,71.570752],[137.11582,71.415674],[137.31543,71.359424],[137.41748,71.299023],[137.650586,71.208154],[137.797852,71.163916],[137.939648,71.133398],[137.991699,71.142725],[137.97373,71.168652],[137.901953,71.194043],[137.844043,71.226807],[138.012695,71.26084],[138.03252,71.28584],[138.090625,71.307422],[138.314063,71.325537],[138.097168,71.358594],[138.022168,71.363428],[137.918359,71.384082],[137.927344,71.429785],[137.995703,71.463525],[138.04834,71.525977],[138.118457,71.566162],[138.23418,71.596338],[138.318066,71.602832],[138.525195,71.562744],[138.67002,71.634814],[138.780176,71.629004],[139.004883,71.556055],[139.209375,71.444775],[139.320215,71.444727],[139.632129,71.489258],[139.98418,71.491504],[139.93877,71.557666],[139.695117,71.700439],[139.722949,71.884961],[139.552344,71.926709],[139.359277,71.951367],[139.640234,71.99834],[139.84707,72.148584],[140.014063,72.162109],[140.187695,72.191309],[140.134375,72.209619],[139.616992,72.225684],[139.505273,72.207666],[139.430469,72.163477],[139.176367,72.163477],[139.14502,72.264404],[139.14082,72.329736],[139.473633,72.466504],[139.601172,72.496094],[140.450586,72.493115],[140.705078,72.518945],[141.079297,72.586914],[140.983203,72.630029],[140.972852,72.716992],[140.652344,72.842822],[140.675977,72.871631],[140.708105,72.890039],[140.808203,72.890967],[141.309766,72.857715],[141.518359,72.788672],[142.061426,72.720801],[143.51582,72.698242],[143.680957,72.673193],[144.303906,72.643018],[144.568652,72.609912],[145.199316,72.570215],[145.485742,72.54209],[145.71416,72.497363],[146.083301,72.471387],[146.25293,72.442236],[146.234766,72.349707],[145.46709,72.362061],[145.212891,72.392676],[144.897461,72.39624],[144.776367,72.382275],[144.587598,72.305518],[144.360938,72.265332],[144.169238,72.258789],[144.294922,72.192627],[144.470703,72.174756],[145.03916,72.259863],[146.594141,72.302441],[146.831836,72.29541],[146.807031,72.236572],[146.599219,72.123535],[146.40166,72.035498],[146.113281,71.944971],[146.005859,71.945459],[146.230273,72.1375],[146.137305,72.146484],[146.051465,72.142285],[145.799414,72.221875],[145.758594,72.225879],[145.709668,72.206348],[145.710156,72.177588],[145.664062,72.066992],[145.756738,72.020654],[145.756738,71.941309],[145.407227,71.890137],[145.271191,71.894629],[145.125781,71.927148],[145.063965,71.926074],[145.046875,71.901025],[145.077734,71.854639],[145.07373,71.830859],[145.017871,71.793701],[144.989648,71.753369],[145.075586,71.707373],[145.188574,71.695801],[145.804785,71.746484],[146.073242,71.80835],[146.367969,71.92207],[146.894727,72.19751],[147.127051,72.292041],[147.261816,72.327881],[147.433984,72.340918],[148.402051,72.311963],[148.964844,72.252344],[149.501563,72.164307],[149.766211,72.09126],[149.963086,71.992188],[149.998145,71.950488],[150.016895,71.895654],[149.881055,71.843018],[149.279688,71.825537],[149.04873,71.795752],[148.965332,71.762793],[148.954883,71.744141],[148.92334,71.714648],[148.968164,71.690479],[149.237891,71.687939],[149.498047,71.664014],[149.857129,71.601465],[149.912695,71.580713],[150.026465,71.521338],[150.06084,71.51084],[150.599805,71.520117],[150.634863,71.498877],[150.667773,71.455225],[150.525098,71.38584],[150.384766,71.338818],[150.097656,71.226562],[150.242969,71.267188],[150.82168,71.362891],[150.967773,71.380469],[151.145313,71.37373],[151.582422,71.286963],[151.759766,71.217822],[152.092773,71.023291],[151.999805,71.00249],[151.762012,70.982471],[152.508789,70.834473],[152.79834,70.835645],[153.460645,70.878613],[153.794141,70.87998],[154.413965,70.974463],[155.029492,71.034229],[155.595898,71.038623],[155.895215,71.095508],[156.68457,71.09375],[157.447363,71.074512],[158.037012,71.039258],[158.702148,70.93501],[159.350684,70.790723],[159.72793,70.649658],[159.804688,70.604932],[159.911816,70.506104],[159.958594,70.423633],[160.006445,70.309668],[159.983398,70.221387],[159.889648,70.158789],[159.831445,70.081445],[159.83916,69.98999],[159.729395,69.870215],[159.83252,69.784961],[160.119141,69.729785],[160.739453,69.655176],[160.910742,69.606348],[160.928906,69.458545],[160.982031,69.334473],[161.035547,69.098193],[161.14082,69.038867],[161.309863,68.982275],[161.340625,68.905176],[161.129004,68.653857],[160.99668,68.60752],[160.856055,68.53833],[161.104492,68.5625],[161.230176,68.653906],[161.365137,68.822998],[161.495313,68.849854],[161.565625,68.905176],[161.565625,69.063965],[161.480078,69.201709],[161.480078,69.300098],[161.536914,69.379541],[161.945117,69.545117],[162.166016,69.611572],[162.375684,69.649072],[162.408447,69.651012],[162.315395,69.546789],[162.520654,69.324709],[162.774179,69.203373],[162.523755,69.117797],[162.55414,68.991293],[162.846939,68.869285],[162.755265,68.802209],[162.594345,68.795646],[162.606437,68.714411],[162.723226,68.605167],[162.580909,68.501245],[162.535433,68.362778],[162.417611,68.309061],[162.178143,68.354588],[161.710678,68.373398],[161.4062,68.411845],[161.225539,68.383785],[160.997026,68.300999],[159.850119,68.277435],[159.69323,68.238677],[159.111043,68.19067],[158.933896,68.143645],[158.632623,68.141629],[158.276572,68.076],[158.093327,67.840407],[158.269854,67.823406],[158.329179,67.753591],[157.805903,67.70548],[157.692008,67.54549],[157.876183,67.412836],[157.79257,67.357904],[157.958452,67.258143],[158.298689,67.147685],[158.702592,67.055236],[158.905164,66.802744],[158.715822,66.730863],[158.636653,66.619138],[158.470359,66.488035],[158.367522,66.459122],[158.52896,66.359387],[158.392741,66.254561],[158.484931,66.117515],[158.124126,66.155807],[157.71764,66.112037],[157.382156,66.000003],[157.373165,65.925589],[157.124394,65.91515],[156.926577,65.965405],[156.973086,66.032507],[156.761936,66.104596],[156.659203,66.193066],[156.488154,66.146144],[156.360306,66.06682],[155.958264,66.096328],[155.752178,66.176891],[155.319853,66.141855],[155.169991,66.209034],[154.885254,66.133586],[154.802365,66.184953],[154.548014,66.237818],[154.395258,66.20459],[154.220489,66.068939],[154.359395,66.033386],[154.374278,65.920938],[154.249634,65.829987],[154.040758,65.86859],[153.697523,65.885591],[153.505287,65.841976],[153.453817,65.787819],[153.531332,65.70555],[153.400901,65.504271],[153.521307,65.408049],[153.031827,65.274724],[152.688179,65.233435],[152.62038,65.168994],[152.644771,65.022285],[152.502247,64.94539],[152.748227,64.685923],[152.331302,64.510068],[152.413777,64.406767],[152.168831,64.355349],[152.135965,64.44046],[152.015765,64.50366],[151.479984,64.43555],[151.300977,64.360826],[151.123417,64.371265],[150.966114,64.331681],[150.631044,64.331112],[150.633421,64.170605],[150.22435,64.213135],[150.024052,64.370025],[150.068287,64.501748],[149.816416,64.567274],[149.589867,64.525106],[149.401971,64.437411],[149.26968,64.445653],[148.630546,64.418652],[148.436346,64.524072],[148.291032,64.549445],[148.161324,64.457771],[148.022624,64.431003],[148.000713,64.362713],[148.253514,64.255303],[148.114918,64.050871],[147.955135,63.944288],[147.602598,64.046582],[147.609523,64.170295],[147.307216,64.132313],[147.230011,64.056323],[146.996434,64.146989],[146.498686,64.20882],[146.376523,64.196831],[146.291464,64.061],[146.108736,63.941575],[145.572334,63.836104],[145.633106,63.660326],[145.44459,63.515245],[145.363562,63.33076],[145.252147,63.179555],[145.366042,62.910321],[145.326148,62.754413],[145.479834,62.548017],[145.1243,62.489907],[145.174633,62.428024],[145.176906,62.285811],[144.993455,62.243901],[144.903228,62.160237],[144.71864,62.081689],[144.745098,62.046885],[144.585521,61.977509],[144.540253,61.855915],[144.244974,61.760107],[144.001991,61.726517],[143.926957,61.766256],[143.954139,61.956813],[143.570906,61.947925],[143.619895,62.016215],[143.36234,62.024121],[143.126489,62.101068],[143.084528,62.018385],[142.927845,61.90077],[142.825629,61.94932],[142.653236,61.961645],[142.437539,61.869712],[142.290364,61.963324],[142.186908,62.081017],[142.008004,62.026912],[141.837575,62.041226],[141.544777,62.178582],[141.302104,62.431177],[141.067286,62.417379],[141.055091,62.482026],[140.881148,62.498718],[140.704725,62.572718],[140.635168,62.425286],[140.403864,62.421746],[140.294414,62.274235],[140.299581,62.119361],[140.25638,62.038281],[140.11396,61.970507],[139.988283,61.97198],[139.918933,61.801913],[139.667165,61.640889],[139.548206,61.481674],[139.434621,61.491131],[139.247346,61.433046],[139.120118,61.449428],[138.940698,61.321115],[138.719006,61.337083],[138.650793,61.281944],[138.702986,61.193087],[138.383316,61.099527],[138.345799,61.000101],[138.205342,60.951784],[138.185602,60.894966],[138.284304,60.781562],[138.428894,60.702316],[138.4044,60.611391],[138.242756,60.49269],[138.326575,60.406287],[138.315206,60.318076],[138.200485,60.231259],[138.2626,59.938306],[138.173716,59.83671],[138.252988,59.712531],[138.173716,59.67982],[138.044422,59.740566],[137.833375,59.760771],[137.615714,59.739765],[137.458308,59.647264],[137.455517,59.551146],[137.34896,59.548562],[137.182459,59.445571],[136.835917,59.398028],[136.758712,59.354646],[136.053432,59.438026],[135.791019,59.534299],[135.618937,59.49549],[135.42174,59.386918],[135.260199,59.220107],[135.209143,59.122335],[134.751703,59.152617],[134.724935,59.211347],[134.554712,59.181039],[134.218609,59.208738],[134.046526,59.255996],[133.766647,59.222742],[133.625157,59.232147],[133.543301,59.2939],[133.384241,59.240157],[133.125756,59.204397],[132.861689,59.064483],[132.870681,58.986942],[132.807946,58.880179],[132.599276,58.891031],[132.56424,58.639935],[132.3719,58.523896],[132.128607,58.48935],[132.206845,58.35003],[132.195993,58.248435],[132.017193,58.190402],[132.03931,58.019611],[131.704757,58.173917],[131.476864,58.167509],[131.610396,57.995375],[131.806043,57.905536],[131.756847,57.853084],[131.888002,57.808616],[132.034763,57.690949],[131.974715,57.585839],[131.693078,57.560518],[131.729355,57.500341],[131.617321,57.452566],[131.565231,57.364613],[131.598614,57.295831],[131.508593,57.251079],[131.183342,57.235473],[131.179311,57.137288],[131.47428,57.079204],[131.444825,57.035795],[131.751059,56.842913],[131.797155,56.717365],[131.675818,56.648377],[131.669824,56.549572],[131.502496,56.549934],[131.393768,56.479137],[131.184375,56.467949],[131.087741,56.345243],[131.092598,56.205872],[130.963614,56.128564],[130.924236,55.941805],[130.861708,55.888889],[130.931678,55.748897],[130.922996,55.678566],[130.741508,55.71908],[129.994681,55.693087],[129.892258,55.734428],[129.652996,55.744996],[129.443706,55.699753],[129.047038,55.654226],[129.088793,55.533355],[128.974898,55.46633],[128.77212,55.469095],[128.663496,55.520849],[128.501645,55.51563],[128.290185,55.647973],[127.793885,55.62924],[127.674616,55.683165],[127.572606,55.579864],[127.486927,55.555007],[127.329624,55.655725],[127.187617,55.690813],[126.953523,55.687247],[126.842728,55.605883],[126.550653,55.6334],[126.434174,55.555007],[126.233773,55.590612],[126.047325,55.588752],[126.039056,55.727762],[125.757627,55.79644],[125.54627,55.735771],[125.437336,55.837445],[125.247684,55.879587],[124.957675,55.826205],[124.635214,55.901756],[124.448042,55.904598],[124.360399,56.056734],[124.24299,56.080918],[124.205577,56.165099],[124.060469,56.231348],[123.915362,56.377334],[123.452651,56.406325],[123.132257,56.457381],[122.918523,56.550657],[122.781374,56.497792],[122.589241,56.489576],[122.466665,56.601868],[122.2828,56.650651],[122.159603,56.738372],[121.608319,56.741188],[121.602118,56.812657],[121.511477,56.922314],[121.406884,56.975515],[121.053211,56.989648],[121.019104,57.031222],[120.655509,57.032075],[120.302766,57.004144],[120.030844,56.899008],[119.898449,56.889396],[119.771635,56.982982],[119.645338,57.002257],[119.622084,57.100959],[119.682752,57.157442],[119.545603,57.339782],[119.442353,57.371201],[119.410004,57.49724],[119.487208,57.591472],[119.410107,57.614726],[119.14108,57.538917],[119.165057,57.668677],[119.047028,57.727639],[119.135498,58.007131],[119.154412,58.146399],[119.10811,58.2227],[119.070386,58.34122],[119.132398,58.472349],[118.980159,58.542784],[118.821202,58.574254],[118.892929,58.81641],[118.795364,58.934646],[118.840323,59.015597],[118.707204,59.063837],[118.688704,59.191452],[118.839703,59.300412],[118.733869,59.419784],[118.407274,59.512337],[118.335961,59.595639],[118.058252,59.582643],[117.906013,59.443865],[117.778579,59.528331],[117.597505,59.472313],[117.352352,59.497351],[117.089318,59.588404],[117.190398,59.646385],[117.228225,59.798314],[117.065134,59.90792],[117.296334,60.018921],[117.076606,60.029153],[116.95434,60.168576],[116.721589,60.266244],[116.582373,60.359934],[116.075427,60.406907],[115.998946,60.45724],[115.842056,60.467705],[115.686303,60.526228],[115.394745,60.487058],[115.112178,60.394557],[115.006758,60.268518],[114.835916,60.190383],[114.697113,60.219219],[114.540223,60.102068],[114.545494,59.985434],[114.309023,59.878878],[114.161228,59.747723],[114.030177,59.681112],[113.84931,59.681577],[113.77934,59.608558],[113.591754,59.565202],[113.604983,59.499056],[113.435175,59.402266],[113.464734,59.266305],[113.264229,59.156855],[113.152194,59.164451],[112.727621,59.083422],[112.554401,59.0334],[112.612486,58.95449],[112.451152,58.924001],[112.465208,59.167758],[112.631089,59.310489],[112.435442,59.326302],[112.217885,59.500399],[111.932527,59.271886],[111.775844,59.275762],[111.625259,59.207342],[111.470127,59.267287],[111.316338,59.257469],[111.163789,59.189411],[110.71348,59.258916],[110.580362,59.190806],[110.589353,59.131326],[110.470911,59.033555],[110.286633,58.985237],[110.119305,58.98038],[109.63644,59.065956],[109.498774,59.294366],[109.26778,59.315966],[109.269434,59.449085],[109.517378,59.629642],[109.503735,59.763846],[109.650393,59.870558],[109.763874,60.026982],[109.694421,60.128578],[109.740516,60.233481],[109.916836,60.450574],[110.116204,60.587052],[110.056776,60.673868],[110.268443,60.70198],[110.239711,60.830964],[110.458405,60.988267],[110.516696,61.091207],[110.48135,61.159213],[110.168811,61.164071],[110.094397,61.262643],[109.7924,61.325198],[109.846246,61.424365],[109.851311,61.557277],[109.620007,61.718094],[109.597786,61.870436],[109.819271,62.007688],[109.999519,62.163544],[109.995695,62.277543],[109.91818,62.40632],[109.556652,62.431435],[109.305918,62.483628],[109.512003,62.776634],[109.614426,62.873734],[109.465391,62.949646],[109.452989,63.148962],[109.215484,63.441813],[109.052703,63.549067],[108.857056,63.536949],[108.547101,63.598961],[108.159631,63.562891],[108.111985,63.616737],[108.265051,63.672651],[108.279417,63.796416],[108.686834,63.795383],[108.766416,63.860443],[108.735203,63.977129],[108.495011,64.115725],[108.532735,64.227501],[108.467519,64.28171],[108.026512,64.223522],[107.85567,64.181612],[107.569693,64.298608],[107.367535,64.2506],[106.877435,64.413795],[106.395191,64.442578],[106.203678,64.402581],[106.131848,64.480819],[105.802876,64.530118],[105.707791,64.652695],[105.872742,64.679515],[105.831918,64.759613],[105.946123,64.883508],[106.122753,64.904824],[105.972788,65.011794],[106.281503,65.1368],[106.453689,65.232969],[106.451415,65.313145],[106.63528,65.392908],[106.835577,65.378309],[106.939964,65.511247],[106.713104,65.548919],[106.630939,65.634805],[106.439529,65.661729],[106.477873,65.845232],[106.471259,66.007392],[106.330389,66.154464],[106.171329,66.159218],[106.103322,66.378326],[106.321914,66.478888],[106.24936,66.581466],[106.24688,66.702208],[106.047408,66.788999],[106.043688,66.900775],[105.686707,66.93948],[105.540153,67.023403],[105.893826,67.04366],[106.054747,67.167167],[106.316643,67.209438],[106.492343,67.283826],[106.685199,67.253931],[106.802401,67.348241],[106.83289,67.673441],[106.875162,67.839632],[106.895625,68.142611],[106.885497,68.865461],[106.152932,69.391139],[106.426817,69.56392],[106.604377,69.517204],[106.838575,69.518238],[107.123725,69.58751],[108.007289,69.704996],[108.148676,69.824782],[108.290579,69.85677],[108.871009,69.840285],[108.940979,69.789229],[109.236981,69.775896],[109.359764,69.838218],[109.509006,70.033452],[109.358007,70.069005],[109.277392,70.206516],[109.535464,70.26398],[109.601507,70.378185],[109.995488,70.416942],[110.116721,70.478024],[110.102768,70.631916],[110.488998,70.726019],[110.539434,70.80064],[110.902823,70.8079],[111.334941,70.855314],[111.522423,70.938616],[111.953301,70.982283],[112.026578,71.042253],[112.276692,71.01272],[112.57931,71.113696],[112.513164,71.26795],[111.996916,71.413574],[111.996089,72.132729],[111.817082,72.13167],[111.642829,72.274452],[111.085241,72.369588],[111.280991,72.478264],[111.210297,72.544513],[110.880602,72.58017],[110.701698,72.65045],[110.610644,72.781036],[110.627387,72.894517],[110.837297,72.945109],[110.881222,73.022882],[110.754925,73.17525],[110.57075,73.252532],[110.523104,73.404124],[110.817867,73.558947],[111.073045,73.582899],[111.110562,73.641087],[110.827498,73.712893],[110.868164,73.730713],[110.799219,73.759766],[111.302842,73.882977]]],[[[137.281836,71.579932],[137.816797,71.587891],[137.857617,71.583057],[137.933789,71.542773],[137.959863,71.507666],[137.711816,71.423242],[137.612891,71.433936],[137.511816,71.474609],[137.457813,71.483496],[137.403223,71.477295],[137.344238,71.460547],[137.265527,71.455908],[137.078711,71.502197],[137.064063,71.529883],[137.081836,71.542725],[137.129492,71.556152],[137.168164,71.557129],[137.281836,71.579932]]],[[[160.56582,70.923779],[160.644922,70.883545],[160.718945,70.822705],[160.651367,70.805859],[160.504785,70.819727],[160.436914,70.851025],[160.44043,70.922656],[160.448535,70.934033],[160.56582,70.923779]]],[[[149.406445,76.78208],[149.268359,76.747217],[149.204785,76.677002],[149.150195,76.659912],[148.398633,76.648242],[148.448145,76.676953],[148.719629,76.746582],[149.406445,76.78208]]],[[[136.036816,74.090332],[136.25918,73.984961],[136.197461,73.913623],[136.12168,73.88501],[136.051465,73.929102],[135.714551,74.059521],[135.633398,74.121436],[135.448633,74.179688],[135.402441,74.201709],[135.387012,74.253369],[135.62832,74.219922],[136.036816,74.090332]]],[[[124.429688,73.943018],[124.547656,73.933838],[124.636914,73.900391],[124.65293,73.888037],[124.542969,73.850098],[124.481738,73.8479],[124.366406,73.874609],[124.335742,73.910303],[124.336523,73.928369],[124.429688,73.943018]]],[[[136.168945,75.605566],[135.983398,75.521924],[135.965137,75.486133],[136.020508,75.438379],[135.948633,75.40957],[135.745898,75.381982],[135.451953,75.389551],[135.473047,75.463232],[135.523438,75.49585],[135.592676,75.576465],[135.56123,75.636475],[135.578418,75.709961],[135.613867,75.766309],[135.698633,75.845264],[135.788281,75.798486],[135.849219,75.729248],[135.904785,75.694385],[136.127344,75.625586],[136.168945,75.605566]]],[[[120.078516,73.156738],[120.236816,73.107275],[120.261328,73.089844],[120.00791,73.044873],[119.79209,73.04541],[119.64043,73.124316],[119.761914,73.155469],[119.964453,73.167676],[120.078516,73.156738]]],[[[152.799414,76.194824],[152.835059,76.185156],[152.86377,76.163428],[152.885938,76.121729],[152.786328,76.085791],[152.558594,76.143604],[152.642773,76.174805],[152.799414,76.194824]]],[[[150.690332,75.155322],[150.756934,75.162402],[150.822363,75.156543],[150.646289,74.94458],[150.580273,74.918945],[150.33125,74.866797],[149.838086,74.795312],[149.596875,74.772607],[149.050195,74.772461],[148.296875,74.800439],[148.092383,74.825684],[147.971875,74.857324],[147.740918,74.931982],[147.626855,74.958936],[147.257031,74.984277],[147.144043,74.998437],[146.924902,75.0625],[146.70332,75.114209],[146.148535,75.198291],[146.186133,75.295557],[146.257617,75.39375],[146.342969,75.480908],[146.438477,75.558203],[146.5375,75.581787],[146.750977,75.510449],[146.748242,75.428662],[146.795215,75.370752],[147.060352,75.364307],[147.443555,75.437988],[147.496973,75.440527],[148.432422,75.413525],[148.508887,75.387451],[148.518848,75.336475],[148.48916,75.309375],[148.475,75.272412],[148.590137,75.236377],[148.892188,75.228125],[149.083203,75.262061],[149.645313,75.24458],[150.103906,75.219238],[150.280664,75.164014],[150.417188,75.134326],[150.530566,75.099854],[150.612891,75.120166],[150.690332,75.155322]]],[[[143.68584,75.863672],[145.255273,75.585596],[145.309766,75.564063],[145.359961,75.530469],[145.023438,75.489746],[144.803125,75.416064],[144.726758,75.365576],[144.814258,75.324512],[144.883496,75.268945],[144.407813,75.102295],[144.216016,75.05918],[144.019727,75.044678],[143.625879,75.083984],[143.396094,75.082861],[143.170313,75.116895],[142.92207,75.217432],[142.820117,75.267822],[142.729492,75.337646],[142.699609,75.448877],[142.734473,75.54458],[142.867578,75.571777],[142.986035,75.633252],[143.002441,75.659863],[142.941797,75.713281],[142.551563,75.720898],[142.30791,75.691699],[142.08623,75.660645],[142.151074,75.457568],[142.198828,75.392676],[142.264746,75.346143],[142.616797,75.133252],[142.696973,75.103076],[142.929688,75.062402],[143.12793,74.970313],[142.778223,74.867773],[142.626074,74.837402],[142.472754,74.82041],[142.378418,74.828564],[142.287402,74.849902],[142.18418,74.899609],[142.1,74.950977],[141.987305,74.99126],[141.748438,74.982568],[141.52998,74.947168],[141.310449,74.923193],[140.660742,74.881836],[140.463867,74.856055],[140.267871,74.846924],[140.011035,74.894775],[139.758203,74.96377],[139.68125,74.964062],[139.605859,74.945605],[139.548047,74.904053],[139.512305,74.837793],[139.430078,74.749219],[139.325586,74.686816],[139.215332,74.659668],[139.099121,74.656543],[138.981738,74.673682],[138.865625,74.700928],[138.092285,74.797461],[138.001367,74.827002],[137.915039,74.87085],[137.683008,75.008545],[137.568066,75.040576],[137.446973,75.054199],[137.217969,75.12373],[137.00625,75.23501],[136.962305,75.270361],[136.947656,75.325537],[136.982422,75.365332],[137.166016,75.346582],[137.289746,75.348633],[137.215234,75.554395],[137.268848,75.749414],[137.358496,75.781641],[137.706543,75.75957],[137.593555,75.823389],[137.501172,75.909668],[137.560547,75.955225],[137.625391,75.988184],[137.774414,76.015674],[137.977051,76.027783],[138.038672,76.047266],[138.095996,76.080518],[138.207617,76.114941],[138.430664,76.130078],[138.813965,76.199707],[138.919531,76.196729],[139.017578,76.160107],[139.10918,76.10835],[139.211328,76.080713],[139.528516,76.013428],[139.743359,75.953076],[140.04873,75.828955],[140.152148,75.809814],[140.274414,75.822412],[140.389063,75.79585],[140.496289,75.689795],[140.54668,75.663184],[140.602148,75.643945],[140.656738,75.634131],[140.815918,75.630713],[140.889258,75.652002],[140.944141,75.700488],[140.94043,75.749512],[140.926563,75.798926],[140.925781,75.866846],[140.950293,75.927344],[140.985352,75.964502],[141.032617,75.988965],[141.299316,76.06377],[141.485449,76.137158],[141.742285,76.108057],[142.001465,76.043555],[142.460352,75.903613],[142.669531,75.863428],[142.926758,75.826904],[143.185156,75.813623],[143.311133,75.822314],[143.559961,75.8604],[143.68584,75.863672]]],[[[143.34375,73.56875],[143.410742,73.52085],[143.463965,73.458887],[143.491309,73.246436],[143.451465,73.231299],[143.193262,73.220752],[142.841602,73.244824],[142.586914,73.25332],[142.342188,73.252881],[142.126367,73.281689],[141.59668,73.31084],[141.182715,73.389209],[140.754004,73.446045],[140.662793,73.452002],[140.39248,73.435352],[140.026953,73.361426],[139.925098,73.355225],[139.785547,73.355225],[139.685547,73.425732],[139.920117,73.448584],[140.155176,73.45752],[140.380664,73.483008],[140.593555,73.564551],[140.697461,73.62915],[140.883789,73.777539],[140.983594,73.831543],[141.084766,73.865869],[141.189941,73.876465],[141.311914,73.871875],[141.681934,73.904199],[141.931836,73.914941],[142.184863,73.895898],[142.435059,73.851562],[142.63916,73.803076],[143.34375,73.56875]]],[[[112.084473,74.548975],[112.951758,74.47959],[113.28623,74.441016],[113.387207,74.400439],[113.353125,74.352979],[113.299219,74.317139],[113.258887,74.272705],[113.190234,74.239307],[112.977637,74.196826],[112.811328,74.10293],[112.782422,74.095068],[112.195801,74.14624],[112.105078,74.163232],[111.912109,74.219238],[111.642969,74.272949],[111.503418,74.353076],[111.570117,74.368311],[111.6375,74.374316],[111.879785,74.363818],[111.949219,74.38877],[111.982813,74.456299],[111.989355,74.49624],[112.007617,74.526758],[112.084473,74.548975]]],[[[141.038574,74.242725],[141.079492,74.209326],[141.097461,74.167822],[141.046875,74.050391],[141.010254,73.999463],[140.507227,73.918652],[140.409473,73.92168],[140.183203,74.00459],[140.101562,74.184277],[140.193555,74.236719],[140.300293,74.257227],[140.407422,74.266455],[140.849219,74.273779],[140.944336,74.264648],[141.038574,74.242725]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"RUS-2613","diss_me":2613,"iso_3166_2":"RU-YEV","wikipedia":null,"iso_a2":"RU","adm0_sr":1,"name":"Yevrey","name_alt":"Den jødiske autonome oblasten|Evrey|Jewish A.Obl.|Yahudi|Yevreyskaya A.Obl.|Evreyskaya AOb","name_local":"Eврейская АОб","type":"Avtonomnaya Oblast","type_en":"Autonomous Region","code_local":null,"code_hasc":"RU.YV","note":null,"hasc_maybe":null,"region":"Far Eastern","region_cod":null,"provnum_ne":20052,"gadm_level":1,"check_me":20,"datarank":2,"abbrev":null,"postal":"YV","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":6,"mapcolor9":7,"mapcolor13":7,"fips":"RS89","fips_alt":null,"woe_id":20070516,"woe_label":"Yevreyskaya Avtonomnaya Oblast, RU, Russia","woe_name":"Yevrey","latitude":48.64,"longitude":132.758,"sov_a3":"RUS","adm0_a3":"RUS","adm0_label":2,"admin":"Russia","geonunit":"Russia","gu_a3":"RUS","gn_id":2026639,"gn_name":"Yevreyskaya Avtonomnaya Oblast'","gns_id":-2886566,"gns_name":"Yevreyskaya Avtonomnaya Oblast'","gn_level":1,"gn_region":null,"gn_a1_code":"RU.89","region_sub":"Far Eastern","sub_code":null,"gns_level":1,"gns_lang":"rus","gns_adm1":"RS89","gns_region":null,"min_label":5,"max_label":10.2,"min_zoom":4.7,"wikidataid":"Q7730","name_ar":"الأوبلاست اليهودية الذاتية","name_bn":"ইহুদি স্বশাসিত ওব্লাস্ট","name_de":"Jüdische","name_en":"Jewish","name_es":"Óblast Autónomo Hebreo","name_fr":"autonome juif","name_el":"Εβραϊκή Αυτόνομη Περιφέρεια","name_hi":"ज्यूइश ऑटोनौमस ओब्लास्ट","name_hu":"Zsidó autonóm terület","name_id":"Otonom Yahudi","name_it":"' autonoma ebraica","name_ja":"ユダヤ自治州","name_ko":"유대인 자치","name_nl":"Joodse","name_pl":"Żydowski","name_pt":"Judaico","name_ru":"Еврейская автономная область","name_sv":"Judiska autonoma länet","name_tr":"Yahudi Özerk Oblastı","name_vi":"Tỉnh tự trị Do Thái","name_zh":"犹太自治州","ne_id":1159313605,"name_he":"המחוז היהודי האוטונומי","name_uk":"Єврейська автономна область","name_ur":"یہودی خود مختار اوبلاست","name_fa":"استان خودگردان یهودی","name_zht":"犹太自治州","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[130.552114,47.680501,134.986624,49.485507],"geometry":{"type":"Polygon","coordinates":[[[134.323151,48.370135],[134.293385,48.37343],[134.205896,48.359891],[133.842198,48.273746],[133.671769,48.207704],[133.573274,48.133031],[133.46837,48.097168],[133.301145,48.101535],[133.144049,48.105643],[133.020129,48.064405],[132.877089,47.979087],[132.772806,47.940072],[132.707177,47.947255],[132.636897,47.8901],[132.561862,47.768506],[132.476286,47.714969],[132.380168,47.72949],[132.149795,47.717966],[131.785269,47.680501],[131.556756,47.682025],[131.464255,47.722617],[131.319354,47.727811],[131.121847,47.697632],[131.002784,47.691456],[130.96196,47.70931],[130.932866,47.759798],[130.9154,47.84292],[130.848634,47.929426],[130.732568,48.01924],[130.712053,48.127657],[130.78719,48.254574],[130.804244,48.341494],[130.763419,48.388416],[130.746883,48.430378],[130.65924,48.483398],[130.597279,48.574658],[130.552114,48.602512],[130.565602,48.68013],[130.617175,48.773173],[130.553148,48.861204],[130.829048,48.983445],[130.982734,48.972153],[131.006712,49.051011],[131.182412,49.249862],[131.395732,49.24361],[131.462705,49.205808],[131.611946,49.288103],[131.767079,49.30991],[131.965516,49.30526],[132.068146,49.46587],[132.119822,49.485507],[132.397738,49.392954],[132.382338,49.295286],[132.63855,49.289834],[132.731775,49.315181],[132.815387,49.234721],[133.032531,49.218857],[133.201203,49.140773],[133.30869,48.826012],[133.770057,48.759246],[133.823904,48.683334],[133.934699,48.639822],[134.105024,48.632742],[134.269045,48.715657],[134.391828,48.742968],[134.482469,48.659407],[134.745605,48.569129],[134.861877,48.625146],[134.986624,48.594812],[134.977426,48.506807],[134.883891,48.424331],[134.76917,48.37374],[134.598017,48.416425],[134.323151,48.370135]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"RUS-2614","diss_me":2614,"iso_3166_2":"RU-KHA","wikipedia":null,"iso_a2":"RU","adm0_sr":5,"name":"Khabarovsk","name_alt":"Khabarovskiy Kray","name_local":"Хабаровский край","type":"Kray","type_en":"Territory","code_local":null,"code_hasc":"RU.KH","note":null,"hasc_maybe":null,"region":"Far Eastern","region_cod":null,"provnum_ne":20023,"gadm_level":1,"check_me":20,"datarank":2,"abbrev":null,"postal":"KH","area_sqkm":0,"sameascity":6,"labelrank":6,"name_len":10,"mapcolor9":7,"mapcolor13":7,"fips":"RS30","fips_alt":null,"woe_id":2346883,"woe_label":"Khabarovskiy Kray, RU, Russia","woe_name":"Khabarovsk","latitude":57.0232,"longitude":135.443,"sov_a3":"RUS","adm0_a3":"RUS","adm0_label":2,"admin":"Russia","geonunit":"Russia","gu_a3":"RUS","gn_id":2022888,"gn_name":"Khabarovskiy Kray","gns_id":-2924121,"gns_name":"Khabarovskiy Kray","gn_level":1,"gn_region":null,"gn_a1_code":"RU.30","region_sub":"Far Eastern","sub_code":null,"gns_level":1,"gns_lang":"rus","gns_adm1":"RS30","gns_region":null,"min_label":5,"max_label":10.2,"min_zoom":4.7,"wikidataid":"Q7788","name_ar":"خاباروفسك كراي","name_bn":"খাবারোভস্ক ক্রাই","name_de":"Chabarowsk","name_en":"Khabarovsk Krai","name_es":"Jabárovsk","name_fr":"Khabarovsk","name_el":"Κράι Χαμπάροφσκ","name_hi":"ख़ाबारोव्स्क क्राय","name_hu":"Habarovszki határterület","name_id":"Krai Khabarovsk","name_it":"Territorio di Chabarovsk","name_ja":"ハバロフスク地方","name_ko":"하바롭스크 지방","name_nl":"Kraj Chabarovsk","name_pl":"Kraj Chabarowski","name_pt":"Krai de Khabarovsk","name_ru":"Хабаровский край","name_sv":"Chabarovsk kraj","name_tr":"Habarovsk Krayı","name_vi":"Khabarovsk","name_zh":"哈巴罗夫斯克边疆区","ne_id":1159313583,"name_he":"מחוז חברובסק","name_uk":"Хабаровський край","name_ur":"خابارووسک کرائی","name_fa":"سرزمین خاباروفسک","name_zht":"哈巴羅夫斯克邊疆區","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[130.410366,46.636823,147.158594,62.572718],"geometry":{"type":"MultiPolygon","coordinates":[[[[137.940527,55.092627],[138.03125,55.05332],[138.17207,55.060059],[138.206152,55.033545],[138.096484,54.990918],[138.016602,54.900879],[137.991211,54.820703],[137.959473,54.789014],[137.870117,54.749561],[137.790234,54.696924],[137.721484,54.663232],[137.661133,54.653271],[137.525586,54.82583],[137.462695,54.873389],[137.276074,54.792383],[137.23291,54.790576],[137.275195,54.891016],[137.384375,55.000684],[137.435547,55.016016],[137.543652,55.163086],[137.577344,55.197021],[137.910449,55.110059],[137.940527,55.092627]]],[[[133.972393,46.636823],[134.0226,46.71317],[134.038568,46.858174],[134.04601,46.881997],[134.071383,46.950778],[134.086421,46.978115],[134.136908,47.069014],[134.202124,47.128054],[134.189257,47.194226],[134.162953,47.258718],[134.167656,47.302178],[134.225223,47.352614],[134.260053,47.377729],[134.290852,47.413592],[134.339428,47.429508],[134.382526,47.438242],[134.483502,47.447388],[134.541897,47.485164],[134.596157,47.52387],[134.695789,47.624871],[134.728087,47.68448],[134.752323,47.715408],[134.69858,47.801424],[134.650314,47.874287],[134.591299,47.975211],[134.565978,48.022495],[134.605355,48.082905],[134.647213,48.120164],[134.669331,48.15334],[134.680803,48.210443],[134.665197,48.253928],[134.563549,48.321728],[134.456165,48.355343],[134.334932,48.368831],[134.323151,48.370135],[134.598017,48.416425],[134.76917,48.37374],[134.883891,48.424331],[134.977426,48.506807],[134.986624,48.594812],[134.861877,48.625146],[134.745605,48.569129],[134.482469,48.659407],[134.391828,48.742968],[134.269045,48.715657],[134.105024,48.632742],[133.934699,48.639822],[133.823904,48.683334],[133.770057,48.759246],[133.30869,48.826012],[133.201203,49.140773],[133.032531,49.218857],[132.815387,49.234721],[132.731775,49.315181],[132.63855,49.289834],[132.382338,49.295286],[132.397738,49.392954],[132.119822,49.485507],[132.068146,49.46587],[131.965516,49.30526],[131.767079,49.30991],[131.611946,49.288103],[131.462705,49.205808],[131.395732,49.24361],[131.494021,49.411351],[131.499912,49.611313],[131.38426,49.659346],[131.469113,49.729988],[131.499395,49.900779],[131.445135,49.964082],[131.29517,49.989766],[131.441517,50.186188],[131.325349,50.268767],[131.289795,50.366073],[131.15802,50.345403],[131.134146,50.4193],[130.988935,50.381783],[130.865532,50.456507],[131.011053,50.568128],[130.954002,50.649984],[130.64508,50.657296],[130.688488,50.745585],[130.840727,50.880874],[130.771791,50.942472],[130.815612,51.019522],[130.918655,51.024328],[131.0649,51.24571],[131.169079,51.248655],[131.289795,51.363868],[131.48844,51.344567],[131.483789,51.476135],[131.395009,51.607031],[131.430872,51.688318],[131.727805,51.681083],[131.863921,51.754619],[131.959212,51.736739],[132.215734,51.816837],[132.278676,51.792989],[132.423473,51.859936],[132.403733,51.963418],[132.525069,51.962978],[132.589768,52.081524],[132.906958,52.158625],[133.321713,52.198261],[133.420415,52.251385],[133.246162,52.455584],[133.23841,52.566921],[133.279545,52.663918],[133.369358,52.683038],[133.658746,52.571649],[134.003118,52.539222],[134.056035,52.500155],[134.22388,52.488786],[134.605665,52.417576],[134.662613,52.470854],[134.658582,52.57506],[134.782399,52.647097],[134.705918,52.766237],[134.631297,52.80055],[134.658892,52.939146],[134.812061,53.065598],[134.859397,53.184403],[134.956445,53.253856],[134.897017,53.315351],[134.923785,53.416585],[134.761418,53.475212],[134.747982,53.539265],[134.555229,53.620862],[134.451359,53.537766],[134.22264,53.514925],[134.214578,53.471827],[134.01056,53.433173],[133.709183,53.47684],[133.573274,53.546034],[133.209678,53.421132],[133.153351,53.291166],[132.951193,53.288505],[132.893315,53.234632],[132.594005,53.229723],[132.398462,53.244244],[132.111554,53.222953],[131.990528,53.133863],[131.894203,53.127972],[131.800152,53.241195],[131.465289,53.212928],[131.532261,53.319433],[131.483479,53.475599],[131.498155,53.554871],[131.443998,53.627166],[131.420847,53.751345],[131.096732,53.812943],[130.921136,53.767778],[130.840107,53.828446],[130.635055,53.886789],[130.446539,53.882396],[130.410366,53.94756],[130.48354,53.993397],[130.506897,54.119849],[130.773651,54.287901],[130.943873,54.323248],[131.114095,54.323274],[131.220239,54.526698],[131.199465,54.612791],[131.399349,54.719141],[131.532468,54.722397],[131.612256,54.780791],[131.994455,54.909414],[131.970787,54.997961],[132.086749,55.049922],[132.366836,55.056433],[132.354847,55.19136],[132.580776,55.195856],[132.732601,55.348715],[132.907888,55.359128],[132.643511,55.490567],[132.662942,55.560743],[132.538401,55.67562],[132.239712,55.704042],[132.126023,55.644769],[131.962312,55.657843],[131.803666,55.614306],[131.598614,55.651797],[131.300647,55.617639],[131.08681,55.618052],[130.922996,55.678566],[130.931678,55.748897],[130.861708,55.888889],[130.924236,55.941805],[130.963614,56.128564],[131.092598,56.205872],[131.087741,56.345243],[131.184375,56.467949],[131.393768,56.479137],[131.502496,56.549934],[131.669824,56.549572],[131.675818,56.648377],[131.797155,56.717365],[131.751059,56.842913],[131.444825,57.035795],[131.47428,57.079204],[131.179311,57.137288],[131.183342,57.235473],[131.508593,57.251079],[131.598614,57.295831],[131.565231,57.364613],[131.617321,57.452566],[131.729355,57.500341],[131.693078,57.560518],[131.974715,57.585839],[132.034763,57.690949],[131.888002,57.808616],[131.756847,57.853084],[131.806043,57.905536],[131.610396,57.995375],[131.476864,58.167509],[131.704757,58.173917],[132.03931,58.019611],[132.017193,58.190402],[132.195993,58.248435],[132.206845,58.35003],[132.128607,58.48935],[132.3719,58.523896],[132.56424,58.639935],[132.599276,58.891031],[132.807946,58.880179],[132.870681,58.986942],[132.861689,59.064483],[133.125756,59.204397],[133.384241,59.240157],[133.543301,59.2939],[133.625157,59.232147],[133.766647,59.222742],[134.046526,59.255996],[134.218609,59.208738],[134.554712,59.181039],[134.724935,59.211347],[134.751703,59.152617],[135.209143,59.122335],[135.260199,59.220107],[135.42174,59.386918],[135.618937,59.49549],[135.791019,59.534299],[136.053432,59.438026],[136.758712,59.354646],[136.835917,59.398028],[137.182459,59.445571],[137.34896,59.548562],[137.455517,59.551146],[137.458308,59.647264],[137.615714,59.739765],[137.833375,59.760771],[138.044422,59.740566],[138.173716,59.67982],[138.252988,59.712531],[138.173716,59.83671],[138.2626,59.938306],[138.200485,60.231259],[138.315206,60.318076],[138.326575,60.406287],[138.242756,60.49269],[138.4044,60.611391],[138.428894,60.702316],[138.284304,60.781562],[138.185602,60.894966],[138.205342,60.951784],[138.345799,61.000101],[138.383316,61.099527],[138.702986,61.193087],[138.650793,61.281944],[138.719006,61.337083],[138.940698,61.321115],[139.120118,61.449428],[139.247346,61.433046],[139.434621,61.491131],[139.548206,61.481674],[139.667165,61.640889],[139.918933,61.801913],[139.988283,61.97198],[140.11396,61.970507],[140.25638,62.038281],[140.299581,62.119361],[140.294414,62.274235],[140.403864,62.421746],[140.635168,62.425286],[140.704725,62.572718],[140.881148,62.498718],[141.055091,62.482026],[141.067286,62.417379],[141.302104,62.431177],[141.544777,62.178582],[141.837575,62.041226],[142.008004,62.026912],[142.186908,62.081017],[142.290364,61.963324],[142.437539,61.869712],[142.653236,61.961645],[142.825629,61.94932],[142.927845,61.90077],[143.084528,62.018385],[143.126489,62.101068],[143.36234,62.024121],[143.619895,62.016215],[143.570906,61.947925],[143.954139,61.956813],[143.926957,61.766256],[144.001991,61.726517],[144.244974,61.760107],[144.540253,61.855915],[144.585521,61.977509],[144.745098,62.046885],[144.967617,62.056781],[145.155822,61.967587],[145.271681,61.991514],[145.51363,61.964125],[145.743177,62.058228],[145.891281,62.025362],[146.21891,61.90294],[146.36071,61.820155],[146.504887,61.661611],[146.583435,61.635515],[146.612891,61.442607],[146.76761,61.403281],[146.683274,61.312589],[146.74725,61.222878],[146.74725,61.114875],[146.678003,61.081182],[146.701154,60.958863],[146.546022,60.958011],[146.464373,60.708749],[146.320092,60.658675],[146.068945,60.738825],[145.620187,60.557338],[145.510013,60.4637],[145.629902,60.391611],[145.570784,60.335077],[145.792993,60.198161],[146.100158,60.224128],[146.374249,60.271205],[146.452074,60.142427],[146.68007,60.095479],[146.657126,59.982231],[146.786834,59.901047],[146.989302,59.947814],[147.140921,59.848595],[147.158594,59.647496],[147.075292,59.410948],[146.907199,59.369785],[146.886739,59.37041],[146.803711,59.372949],[146.537207,59.456982],[146.444336,59.430469],[146.273438,59.221484],[146.049512,59.170557],[145.931641,59.198389],[145.829102,59.330322],[145.756445,59.37373],[145.55459,59.413525],[144.483398,59.37627],[144.123438,59.408301],[143.86875,59.411377],[143.523828,59.343652],[143.192188,59.370117],[142.580273,59.240137],[142.330371,59.152637],[142.025391,58.999658],[141.754688,58.745264],[141.60293,58.649023],[141.34707,58.528076],[140.987695,58.416846],[140.790234,58.303467],[140.684961,58.212158],[140.495117,57.86543],[140.446875,57.813672],[140.002344,57.6875],[139.861523,57.549316],[139.80332,57.51416],[139.619238,57.455713],[139.506641,57.358301],[139.443848,57.329687],[139.181641,57.261523],[138.965723,57.088135],[138.662109,56.965527],[138.217773,56.629004],[138.180078,56.588525],[138.140625,56.498682],[138.073828,56.433105],[137.691504,56.139355],[137.572949,56.112109],[137.384082,55.974756],[137.189844,55.892285],[137.012109,55.795264],[136.793555,55.694189],[136.460254,55.576709],[136.351172,55.51001],[136.175195,55.352246],[135.750781,55.160645],[135.540625,55.11377],[135.2625,54.943311],[135.234766,54.903223],[135.211523,54.84082],[135.257715,54.731494],[135.325391,54.707422],[135.437793,54.69248],[135.851562,54.583936],[136.237988,54.614062],[136.580273,54.613623],[136.714551,54.624316],[136.797266,54.620996],[136.82373,54.561475],[136.82041,54.452344],[136.77041,54.35332],[136.729395,54.060645],[136.683008,53.931299],[136.718848,53.804102],[136.802637,53.781982],[136.886426,53.839355],[137.01875,53.848145],[137.155371,53.82168],[137.258008,54.025244],[137.172461,54.056885],[137.096191,54.128564],[137.141602,54.182227],[137.377734,54.282324],[137.525098,54.291211],[137.666016,54.283301],[137.513184,54.156396],[137.45127,54.130469],[137.403418,54.123535],[137.339258,54.100537],[137.476465,54.027588],[137.622754,53.970459],[137.834766,53.946729],[137.786133,53.90332],[137.644824,53.86582],[137.516992,53.70708],[137.313672,53.631592],[137.221484,53.579199],[137.253711,53.546143],[137.32832,53.538965],[137.738184,53.560303],[137.950488,53.603564],[138.25293,53.726416],[138.378906,53.909277],[138.493555,53.959668],[138.52793,53.959863],[138.568164,53.947168],[138.569141,53.818799],[138.407031,53.67417],[138.292188,53.592432],[138.249707,53.524023],[138.320312,53.5229],[138.450684,53.537012],[138.510938,53.57002],[138.660742,53.744775],[138.699414,53.869727],[138.72168,54.04375],[138.704688,54.147656],[138.715918,54.222656],[138.657227,54.29834],[138.695703,54.32002],[139.105078,54.217822],[139.319727,54.192969],[139.707422,54.277148],[139.795508,54.256445],[139.858398,54.205322],[140.178711,54.051562],[140.241699,54.001025],[140.34707,53.812598],[140.687598,53.596436],[141.005664,53.49458],[141.015039,53.454248],[141.217676,53.334473],[141.37373,53.292773],[141.402051,53.183984],[141.32793,53.097266],[141.18125,53.015283],[140.887305,53.091504],[140.839648,53.087891],[140.874512,53.039844],[141.086816,52.897559],[141.255859,52.840137],[141.265918,52.652588],[141.24502,52.550146],[141.132422,52.435693],[141.169824,52.368408],[141.329688,52.271143],[141.409082,52.234326],[141.485254,52.178516],[141.385547,52.057227],[141.366895,51.920654],[141.258398,51.860693],[141.129395,51.727783],[140.932617,51.619922],[140.838574,51.41416],[140.687695,51.232275],[140.670703,51.051318],[140.645605,50.986768],[140.520898,50.800195],[140.476367,50.545996],[140.535449,50.130762],[140.564063,50.106689],[140.624512,50.082422],[140.613281,50.053711],[140.58457,50.03335],[140.462695,49.911475],[140.464551,49.825586],[140.511328,49.76167],[140.517188,49.596143],[140.431055,49.331494],[140.399121,49.289795],[140.364355,49.22085],[140.348633,49.15918],[140.325586,49.12002],[140.308984,49.053906],[140.333691,48.994824],[140.37832,48.964111],[140.224219,48.772852],[140.170605,48.523682],[140.113281,48.422656],[139.998438,48.323779],[139.760742,48.180566],[139.67627,48.089893],[139.520508,47.975293],[139.372656,47.887354],[139.166992,47.634863],[139.010211,47.396734],[138.856155,47.466302],[138.754663,47.438293],[138.628676,47.451419],[138.594776,47.547796],[138.618237,47.628644],[138.516641,47.668512],[138.609865,47.725873],[138.70712,47.735174],[138.825563,47.860903],[138.581443,48.03066],[138.722417,48.136132],[138.709911,48.183261],[138.558499,48.18078],[138.479847,48.302582],[138.488839,48.401749],[138.305595,48.444589],[138.178987,48.379166],[138.145294,48.315785],[137.994916,48.297052],[137.843297,48.209099],[137.578714,48.228452],[137.448903,48.20158],[137.314647,48.084223],[137.416863,47.97795],[137.596594,47.910409],[137.600521,47.784215],[137.786866,47.69652],[137.896421,47.724348],[138.048349,47.668331],[138.086797,47.516609],[138.005768,47.454571],[137.754724,47.329256],[137.597731,47.300317],[137.452417,47.19836],[137.328186,47.213863],[137.093679,47.296597],[137.01265,47.236135],[136.934309,47.057102],[136.974203,47.011704],[136.835297,46.94375],[136.727913,46.841482],[136.577225,46.777455],[136.451134,46.810166],[136.383955,46.769239],[136.263652,46.765001],[136.062011,46.849906],[135.941501,46.789754],[135.850137,46.81089],[135.745854,46.948556],[135.526023,46.953491],[135.419569,46.910884],[135.363035,46.949641],[135.433005,47.019197],[135.205112,47.152962],[135.078195,47.192649],[135.015149,47.12808],[134.851128,47.154073],[134.653414,47.091803],[134.548718,46.967263],[134.442885,46.942458],[134.411672,46.866442],[134.464589,46.785982],[134.411982,46.677513],[134.199282,46.644388],[133.972393,46.636823]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"RUS-2615","diss_me":2615,"iso_3166_2":"RU-MAG","wikipedia":null,"iso_a2":"RU","adm0_sr":5,"name":"Maga Buryatdan","name_alt":"Magadanskaya Oblast","name_local":"Магаданская область","type":"Oblast","type_en":"Region","code_local":null,"code_hasc":"RU.MG","note":null,"hasc_maybe":null,"region":"Far Eastern","region_cod":null,"provnum_ne":20022,"gadm_level":1,"check_me":20,"datarank":2,"abbrev":null,"postal":"MG","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":14,"mapcolor9":7,"mapcolor13":7,"fips":"RS44","fips_alt":null,"woe_id":20070512,"woe_label":"Magadanskaya Oblast, RU, Russia","woe_name":"Maga Buryatdan","latitude":62.6257,"longitude":153.797,"sov_a3":"RUS","adm0_a3":"RUS","adm0_label":2,"admin":"Russia","geonunit":"Russia","gu_a3":"RUS","gn_id":2123627,"gn_name":"Magadanskaya Oblast'","gns_id":-2950072,"gns_name":"Magadanskaya Oblast'","gn_level":1,"gn_region":null,"gn_a1_code":"RU.44","region_sub":"Far Eastern","sub_code":null,"gns_level":1,"gns_lang":"rus","gns_adm1":"RS44","gns_region":null,"min_label":5,"max_label":10.2,"min_zoom":4.7,"wikidataid":"Q7971","name_ar":"ماغادان أوبلاست","name_bn":"মাগাদান ওব্লাস্ট","name_de":"Magadan","name_en":"Magadan","name_es":"Magadán","name_fr":"Magadan","name_el":"Όμπλαστ του Μαγκαντάν","name_hi":"मागादान ओब्लास्त","name_hu":"Magadani terület","name_id":"Magadan","name_it":"Magadan","name_ja":"マガダン州","name_ko":"마가단","name_nl":"Magadan","name_pl":"magadański","name_pt":"Magadan","name_ru":"Магаданская область","name_sv":"Magadan","name_tr":"Magadan Oblastı","name_vi":"Magadan","name_zh":"马加丹州","ne_id":1159313599,"name_he":"מחוז מגדן","name_uk":"Магаданська область","name_ur":"ماگادان اوبلاست","name_fa":"استان ماگادان","name_zht":"馬加丹州","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[144.71864,58.866699,163.434293,66.359387],"geometry":{"type":"MultiPolygon","coordinates":[[[[162.501868,61.669795],[162.392578,61.662109],[162.188379,61.540674],[161.037109,60.962891],[160.915039,60.892676],[160.766602,60.75332],[160.482031,60.739844],[160.368164,60.708545],[160.287305,60.667041],[160.173633,60.638428],[160.177344,60.690723],[160.201074,60.729639],[160.225781,60.831543],[160.378906,61.025488],[160.28125,61.044775],[160.184277,61.047656],[160.004004,61.007422],[159.883105,60.943408],[159.79043,60.956641],[159.83457,61.013965],[159.949219,61.128613],[159.913965,61.234473],[159.883105,61.291797],[159.930859,61.323926],[160.162695,61.5375],[160.246875,61.647607],[160.317383,61.793359],[160.321484,61.838574],[160.309375,61.894385],[160.237793,61.903857],[160.18252,61.902832],[159.722168,61.758398],[159.552344,61.719482],[159.496289,61.781445],[159.423047,61.808057],[159.29502,61.91416],[159.189258,61.929395],[159.07666,61.922266],[158.824316,61.850244],[158.547168,61.810889],[158.333691,61.825684],[158.151563,61.764844],[158.070117,61.753613],[157.799316,61.795264],[157.469336,61.798926],[157.370703,61.74707],[157.08418,61.675684],[156.891797,61.565186],[156.790625,61.529639],[156.680273,61.480615],[156.629688,61.272461],[156.482617,61.206006],[156.344141,61.155078],[156.055957,60.995605],[155.85332,60.777148],[155.716113,60.682373],[155.427832,60.549854],[154.970801,60.37666],[154.578223,60.09502],[154.440723,59.883789],[154.389844,59.876758],[154.293066,59.83335],[154.266602,59.730371],[154.268848,59.658398],[154.20918,59.600342],[154.149805,59.528516],[154.212891,59.483398],[154.272168,59.475146],[154.357617,59.481445],[154.58252,59.540088],[154.971289,59.449609],[155.166699,59.360156],[155.153027,59.270215],[155.160449,59.190137],[155.016699,59.195605],[154.82373,59.187549],[154.703516,59.141309],[154.458008,59.216553],[154.375977,59.187842],[154.24668,59.108594],[154.010938,59.075537],[153.891699,59.11416],[153.695215,59.224756],[153.361133,59.214795],[153.272949,59.091309],[153.196094,59.094434],[153.077734,59.081885],[152.882227,58.939062],[152.817871,58.92627],[152.575586,58.954102],[152.400684,59.026416],[152.319629,59.030762],[152.165234,58.997021],[152.087891,58.910449],[151.70459,58.866699],[151.326758,58.875098],[151.121094,59.08252],[151.50498,59.164014],[151.733496,59.14668],[151.990039,59.160059],[152.260645,59.223584],[152.169531,59.27793],[152.104492,59.290576],[151.942383,59.284082],[151.798047,59.323242],[151.485742,59.524121],[151.348242,59.561133],[151.170313,59.583252],[151.033594,59.585645],[150.98252,59.571338],[150.911914,59.523047],[150.863281,59.475439],[150.823438,59.460742],[150.729492,59.469141],[150.615234,59.506543],[150.483594,59.494385],[150.539844,59.524951],[150.667285,59.556348],[150.457227,59.590723],[150.325586,59.638867],[150.202539,59.65127],[149.642578,59.77041],[149.424512,59.760986],[149.29043,59.728467],[149.065234,59.630518],[149.127734,59.558789],[149.175391,59.526758],[149.20498,59.488184],[149.133008,59.480518],[148.925,59.475],[148.79707,59.532324],[148.708887,59.448535],[148.744141,59.373535],[148.889648,59.4],[148.964648,59.369141],[148.914062,59.282715],[148.72666,59.25791],[148.491211,59.262305],[148.257422,59.414209],[147.874609,59.388037],[147.687891,59.290674],[147.514453,59.268555],[147.040039,59.365723],[146.907199,59.369785],[147.075292,59.410948],[147.158594,59.647496],[147.140921,59.848595],[146.989302,59.947814],[146.786834,59.901047],[146.657126,59.982231],[146.68007,60.095479],[146.452074,60.142427],[146.374249,60.271205],[146.100158,60.224128],[145.792993,60.198161],[145.570784,60.335077],[145.629902,60.391611],[145.510013,60.4637],[145.620187,60.557338],[146.068945,60.738825],[146.320092,60.658675],[146.464373,60.708749],[146.546022,60.958011],[146.701154,60.958863],[146.678003,61.081182],[146.74725,61.114875],[146.74725,61.222878],[146.683274,61.312589],[146.76761,61.403281],[146.612891,61.442607],[146.583435,61.635515],[146.504887,61.661611],[146.36071,61.820155],[146.21891,61.90294],[145.891281,62.025362],[145.743177,62.058228],[145.51363,61.964125],[145.271681,61.991514],[145.155822,61.967587],[144.967617,62.056781],[144.745098,62.046885],[144.71864,62.081689],[144.903228,62.160237],[144.993455,62.243901],[145.176906,62.285811],[145.174633,62.428024],[145.1243,62.489907],[145.479834,62.548017],[145.326148,62.754413],[145.366042,62.910321],[145.252147,63.179555],[145.363562,63.33076],[145.44459,63.515245],[145.633106,63.660326],[145.572334,63.836104],[146.108736,63.941575],[146.291464,64.061],[146.376523,64.196831],[146.498686,64.20882],[146.996434,64.146989],[147.230011,64.056323],[147.307216,64.132313],[147.609523,64.170295],[147.602598,64.046582],[147.955135,63.944288],[148.114918,64.050871],[148.253514,64.255303],[148.000713,64.362713],[148.022624,64.431003],[148.161324,64.457771],[148.291032,64.549445],[148.436346,64.524072],[148.630546,64.418652],[149.26968,64.445653],[149.401971,64.437411],[149.589867,64.525106],[149.816416,64.567274],[150.068287,64.501748],[150.024052,64.370025],[150.22435,64.213135],[150.633421,64.170605],[150.631044,64.331112],[150.966114,64.331681],[151.123417,64.371265],[151.300977,64.360826],[151.479984,64.43555],[152.015765,64.50366],[152.135965,64.44046],[152.168831,64.355349],[152.413777,64.406767],[152.331302,64.510068],[152.748227,64.685923],[152.502247,64.94539],[152.644771,65.022285],[152.62038,65.168994],[152.688179,65.233435],[153.031827,65.274724],[153.521307,65.408049],[153.400901,65.504271],[153.531332,65.70555],[153.453817,65.787819],[153.505287,65.841976],[153.697523,65.885591],[154.040758,65.86859],[154.249634,65.829987],[154.374278,65.920938],[154.359395,66.033386],[154.220489,66.068939],[154.395258,66.20459],[154.548014,66.237818],[154.802365,66.184953],[154.885254,66.133586],[155.169991,66.209034],[155.319853,66.141855],[155.752178,66.176891],[155.958264,66.096328],[156.360306,66.06682],[156.488154,66.146144],[156.659203,66.193066],[156.761936,66.104596],[156.973086,66.032507],[156.926577,65.965405],[157.124394,65.91515],[157.373165,65.925589],[157.382156,66.000003],[157.71764,66.112037],[158.124126,66.155807],[158.484931,66.117515],[158.392741,66.254561],[158.52896,66.359387],[158.77587,66.283758],[159.16644,66.234045],[159.202924,66.163869],[159.052442,66.04801],[158.933689,65.902567],[158.9217,65.743016],[159.376556,65.657698],[159.834203,65.528507],[159.997087,65.523339],[160.169996,65.450527],[160.17382,65.376062],[160.41825,65.25147],[160.536589,65.161966],[160.687588,65.149124],[161.009945,65.169821],[161.281143,65.140675],[161.417362,65.068742],[161.644842,65.013086],[161.784471,64.838084],[162.292864,64.742353],[162.607677,64.73424],[162.735731,64.661221],[162.996904,64.648664],[163.11731,64.693261],[163.136947,64.770207],[163.246088,64.726799],[163.167126,64.559393],[163.344583,64.486555],[163.434293,64.373125],[163.255906,64.320674],[163.166609,64.190139],[162.94223,64.199622],[162.794229,64.148023],[162.841358,64.016506],[162.928794,63.95036],[162.88766,63.876954],[162.725913,63.836517],[162.754852,63.738461],[162.979231,63.620975],[162.95701,63.491112],[162.884249,63.436438],[162.694597,63.39303],[162.743896,63.181518],[162.379887,63.118938],[162.2693,62.935022],[162.547526,62.844743],[162.672686,62.710488],[162.818724,62.697104],[162.708756,62.601476],[162.767874,62.50311],[162.736145,62.297386],[162.664314,62.261575],[162.403969,62.252764],[162.265372,62.128611],[162.511972,62.103393],[162.480036,61.963195],[162.311158,61.934204],[162.467737,61.820465],[162.43084,61.764344],[162.501868,61.669795]]],[[[150.666211,59.160156],[150.712695,59.122461],[150.727734,59.095215],[150.589941,59.01875],[150.511133,59.007422],[150.471777,59.034766],[150.470215,59.054053],[150.59248,59.097217],[150.666211,59.160156]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"RUS-2616","diss_me":2616,"iso_3166_2":"RU-SAK","wikipedia":null,"iso_a2":"RU","adm0_sr":3,"name":"Sakhalin","name_alt":"Sakhalinskaya Oblast","name_local":"Сахалинская область","type":"Oblast","type_en":"Region","code_local":null,"code_hasc":"RU.SL","note":null,"hasc_maybe":null,"region":"Far Eastern","region_cod":null,"provnum_ne":20012,"gadm_level":1,"check_me":20,"datarank":2,"abbrev":null,"postal":"SL","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":8,"mapcolor9":7,"mapcolor13":7,"fips":"RS64","fips_alt":null,"woe_id":2346937,"woe_label":"Sakhalinskaya Oblast, RU, Russia","woe_name":"Sakhalin","latitude":47.3479,"longitude":152.467,"sov_a3":"RUS","adm0_a3":"RUS","adm0_label":2,"admin":"Russia","geonunit":"Russia","gu_a3":"RUS","gn_id":2121529,"gn_name":"Sakhalinskaya Oblast'","gns_id":-2995497,"gns_name":"Sakhalinskaya Oblast'","gn_level":1,"gn_region":null,"gn_a1_code":"RU.64","region_sub":"Far Eastern","sub_code":null,"gns_level":1,"gns_lang":"fas","gns_adm1":"RS64","gns_region":null,"min_label":5,"max_label":10.2,"min_zoom":4.7,"wikidataid":"Q7797","name_ar":"ساخالين أوبلاست","name_bn":"শাখালিন ওব্লাস্ট","name_de":"Sachalin","name_en":"Sakhalin","name_es":"Sajalín","name_fr":"Sakhaline","name_el":"Όμπλαστ της Σαχαλίνης","name_hi":"सखलिन ओब्लास्ट","name_hu":"Szahalini terület","name_id":"Sakhalin","name_it":"Sachalin","name_ja":"サハリン州","name_ko":"사할린","name_nl":"Sachalin","name_pl":"sachaliński","name_pt":"Sacalina","name_ru":"Сахалинская область","name_sv":"Sachalin","name_tr":"Sahalin Oblastı","name_vi":"Sakhalin","name_zh":"萨哈林州","ne_id":1159313257,"name_he":"מחוז סחלין","name_uk":"Сахалінська область","name_ur":"سخالن اوبلاست","name_fa":"استان ساخالین","name_zht":"薩哈林州","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[141.66084,43.407129,156.4875,54.416113],"geometry":{"type":"MultiPolygon","coordinates":[[[[145.943555,43.426465],[145.931152,43.425635],[145.907227,43.422314],[145.893945,43.419824],[145.886523,43.433057],[145.881543,43.443799],[145.869141,43.450439],[145.869141,43.457861],[145.881543,43.459521],[145.895605,43.454541],[145.913867,43.455371],[145.931152,43.457031],[145.941113,43.445459],[145.943555,43.426465]]],[[[146.333301,43.647461],[146.349805,43.644141],[146.358789,43.625391],[146.332324,43.619922],[146.288184,43.625391],[146.273828,43.629834],[146.283691,43.638623],[146.310156,43.651855],[146.333301,43.647461]]],[[[146.088574,43.449023],[146.100781,43.440186],[146.086328,43.429199],[146.069922,43.421484],[146.045605,43.409326],[146.032324,43.407129],[146.028027,43.420361],[146.048926,43.433594],[146.088574,43.449023]]],[[[146.621973,43.812988],[146.824609,43.860498],[146.884082,43.82915],[146.899023,43.80415],[146.713965,43.743799],[146.683008,43.716357],[146.608594,43.740479],[146.613477,43.797021],[146.621973,43.812988]]],[[[146.355957,44.424609],[146.567773,44.44043],[146.516211,44.374658],[146.436523,44.375684],[146.296191,44.280957],[146.172949,44.268652],[146.112305,44.245947],[145.914062,44.103711],[145.887305,44.047754],[145.766992,43.940723],[145.586816,43.845117],[145.555859,43.6646],[145.439258,43.737061],[145.426172,43.810352],[145.461719,43.870898],[145.666309,43.999072],[145.74834,44.071533],[145.77334,44.129004],[145.851953,44.193018],[145.890234,44.248584],[145.94043,44.272656],[146.112109,44.500146],[146.207617,44.497656],[146.355957,44.424609]]],[[[149.962305,46.021924],[150.308789,46.200342],[150.348633,46.213428],[150.553125,46.208545],[150.23457,46.012305],[150.19502,45.933203],[150.056641,45.849365],[149.954102,45.822461],[149.883398,45.783154],[149.687695,45.642041],[149.538867,45.591357],[149.44707,45.593359],[149.665918,45.839795],[149.796289,45.876074],[149.962305,46.021924]]],[[[148.812207,45.51001],[148.826172,45.486084],[148.825391,45.455908],[148.803027,45.413525],[148.837109,45.362695],[148.790723,45.323975],[148.599512,45.317627],[148.414648,45.247168],[148.262305,45.216846],[148.005273,45.070166],[147.91377,44.990381],[147.784082,44.958594],[147.657813,44.977148],[147.621875,44.944727],[147.60957,44.886572],[147.563086,44.835547],[147.310156,44.677637],[147.207422,44.553564],[147.098438,44.53125],[146.897461,44.404297],[146.933496,44.513086],[146.974219,44.565723],[147.140918,44.66333],[147.154785,44.766211],[147.246582,44.856055],[147.430469,44.945215],[147.557813,45.062451],[147.65791,45.093018],[147.769434,45.190723],[147.885547,45.225635],[147.872656,45.300293],[147.924023,45.383301],[147.964551,45.377734],[148.056055,45.262109],[148.130078,45.258203],[148.324219,45.282422],[148.612305,45.484668],[148.706641,45.520654],[148.772656,45.526465],[148.812207,45.51001]]],[[[152.984277,47.72793],[153.049121,47.797021],[153.079199,47.80874],[153.101074,47.762939],[153.053809,47.706104],[153.004102,47.713477],[152.984277,47.72793]]],[[[151.864355,46.868994],[152.039844,47.01499],[152.16582,47.110449],[152.234668,47.143408],[152.288867,47.142187],[152.002051,46.897168],[151.815625,46.787109],[151.754102,46.78833],[151.723438,46.828809],[151.715332,46.852686],[151.864355,46.868994]]],[[[154.126367,48.904443],[154.199023,48.904932],[154.228418,48.89209],[154.204688,48.857178],[154.08125,48.790283],[154.042969,48.73877],[154.000684,48.755713],[153.992285,48.77251],[154.091699,48.832129],[154.126367,48.904443]]],[[[155.644824,50.821924],[155.553516,50.810596],[155.512793,50.837305],[155.483496,50.869629],[155.467383,50.913574],[155.568555,50.934473],[155.639648,50.910498],[155.653613,50.845361],[155.644824,50.821924]]],[[[156.376465,50.862109],[156.455859,50.85957],[156.4875,50.842969],[156.483105,50.751221],[156.405078,50.657617],[156.36543,50.633789],[156.325781,50.639062],[156.196289,50.702148],[156.167969,50.731885],[156.213086,50.784717],[156.376465,50.862109]]],[[[156.096875,50.771875],[156.122852,50.671289],[156.100586,50.559277],[156.044434,50.451758],[155.921094,50.302197],[155.792383,50.202051],[155.60752,50.177246],[155.516406,50.145605],[155.448926,50.077783],[155.397168,50.04126],[155.288672,50.061182],[155.243066,50.094629],[155.243066,50.212793],[155.195117,50.264551],[155.218359,50.297852],[155.326758,50.293262],[155.433887,50.368945],[155.680176,50.400732],[155.772754,50.482422],[155.884766,50.684131],[156.00166,50.756934],[156.096875,50.771875]]],[[[154.612988,49.380615],[154.824902,49.646924],[154.899609,49.630371],[154.883301,49.566406],[154.802344,49.468262],[154.829883,49.3479],[154.810449,49.312012],[154.714844,49.267676],[154.610938,49.294043],[154.612988,49.380615]]],[[[142.334961,54.280713],[142.55166,54.278955],[142.615625,54.303613],[142.666211,54.358203],[142.692773,54.416113],[142.761035,54.393945],[142.976172,54.140967],[142.985938,54.085693],[142.96709,54.028809],[142.926563,53.955615],[142.911426,53.878369],[142.936426,53.810938],[142.917969,53.794238],[143.095508,53.488672],[143.223633,53.296045],[143.259961,53.217285],[143.287891,53.134375],[143.324707,52.963086],[143.332617,52.700049],[143.323633,52.613574],[143.295117,52.52915],[143.264258,52.478662],[143.200977,52.44292],[143.172266,52.349365],[143.155566,52.08374],[143.190625,51.944482],[143.250586,51.8479],[143.294727,51.744336],[143.299512,51.632373],[143.320508,51.583252],[143.417773,51.520605],[143.455469,51.471484],[143.467383,51.401904],[143.472949,51.299219],[143.48877,51.277051],[143.53418,51.246289],[143.736035,50.506738],[143.816016,50.282617],[144.047949,49.895752],[144.141309,49.661475],[144.199609,49.549756],[144.239941,49.432031],[144.27207,49.311328],[144.341211,49.180518],[144.431738,49.051074],[144.606836,48.93584],[144.685547,48.87124],[144.706641,48.819531],[144.71377,48.640283],[144.672656,48.678564],[144.620996,48.814844],[144.536328,48.893555],[144.411816,48.986377],[144.283789,49.069775],[144.125488,49.208545],[144.04873,49.24917],[143.967773,49.276318],[143.819141,49.308594],[143.732324,49.312012],[143.382227,49.290674],[143.236328,49.262842],[143.10498,49.198828],[143.026855,49.10542],[142.97168,48.917773],[142.650977,48.246875],[142.574219,48.072168],[142.545898,47.884912],[142.556934,47.737891],[142.579004,47.683984],[142.670117,47.536914],[142.74541,47.452393],[142.800781,47.416162],[142.863965,47.391797],[142.905469,47.361865],[142.940332,47.322754],[143.005566,47.222705],[143.089258,47.000781],[143.17793,46.844043],[143.217676,46.794873],[143.318652,46.807373],[143.384375,46.805664],[143.447266,46.791992],[143.485645,46.752051],[143.540332,46.575098],[143.578711,46.406055],[143.580664,46.360693],[143.508594,46.230176],[143.490625,46.174609],[143.482324,46.11582],[143.463477,46.069482],[143.431641,46.028662],[143.418652,46.222021],[143.370313,46.358496],[143.352148,46.476221],[143.282324,46.558984],[143.047852,46.592627],[142.829297,46.605273],[142.795508,46.620215],[142.747363,46.670654],[142.691895,46.71084],[142.635742,46.716211],[142.578027,46.700781],[142.478809,46.644238],[142.406445,46.554688],[142.35,46.458691],[142.304004,46.357568],[142.208594,46.088867],[142.149707,45.999268],[142.077148,45.917041],[142.015625,45.961621],[141.961621,46.013477],[141.92998,46.088281],[141.916309,46.170752],[141.830371,46.451074],[141.866504,46.694189],[142.011035,47.030322],[142.038672,47.140283],[142.016895,47.244678],[141.98418,47.347705],[141.9625,47.543799],[141.964063,47.587451],[142.015625,47.700635],[142.075977,47.80835],[142.149219,47.902148],[142.181738,48.013379],[142.135352,48.290088],[142.028711,48.4771],[141.897266,48.654687],[141.873047,48.701953],[141.866309,48.750098],[141.97959,48.972168],[142.020117,49.078467],[142.066504,49.312061],[142.108691,49.439648],[142.142285,49.569141],[142.153125,50.216748],[142.143066,50.312109],[142.071094,50.51499],[142.066016,50.630469],[142.100488,50.776465],[142.147266,50.890186],[142.20791,50.998486],[142.206738,51.222559],[142.090723,51.429395],[142.005957,51.520508],[141.872949,51.630029],[141.771875,51.690186],[141.722363,51.736328],[141.771875,51.751807],[141.808105,51.789209],[141.720996,51.846777],[141.668457,51.93335],[141.66084,52.272949],[141.682422,52.359131],[141.747559,52.454834],[141.80332,52.555615],[141.855566,52.793506],[141.873633,53.038916],[141.838867,53.138477],[141.823535,53.339502],[141.852441,53.389453],[141.964453,53.456396],[142.141992,53.495605],[142.179883,53.484033],[142.318945,53.405469],[142.370508,53.402539],[142.424023,53.410742],[142.526172,53.447461],[142.583496,53.536768],[142.50918,53.587598],[142.552539,53.652637],[142.67959,53.674365],[142.688867,53.730176],[142.642871,53.736768],[142.683008,53.816016],[142.705957,53.895703],[142.670215,53.968408],[142.466602,54.148535],[142.334961,54.280713]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":5,"adm1_code":"RUS-283","diss_me":283,"iso_3166_2":"UA-43","wikipedia":null,"iso_a2":"RU","adm0_sr":1,"name":"Crimea","name_alt":"Crimée|Criméia|Krim|Krymskaya Respublika|Respublika Krym","name_local":null,"type":"Oblast","type_en":"Autonomous Republic","code_local":null,"code_hasc":"UA.KR","note":null,"hasc_maybe":"UA.MY|UKR-KRN","region":"Volga","region_cod":null,"provnum_ne":3,"gadm_level":1,"check_me":20,"datarank":5,"abbrev":null,"postal":"KR","area_sqkm":0,"sameascity":-99,"labelrank":6,"name_len":6,"mapcolor9":6,"mapcolor13":3,"fips":"UP11","fips_alt":"UP16","woe_id":2347544,"woe_label":"Crimea, UA, Ukraine","woe_name":"Crimea","latitude":45.3115,"longitude":34.2784,"sov_a3":"RUS","adm0_a3":"RUS","adm0_label":2,"admin":"Russia","geonunit":"Russia","gu_a3":"RUS","gn_id":703883,"gn_name":"Avtonomna Respublika Krym","gns_id":-1043929,"gns_name":"Krym, Avtonomna Respublika","gn_level":1,"gn_region":null,"gn_a1_code":"UA.11","region_sub":"North Caucasus","sub_code":null,"gns_level":1,"gns_lang":"rus","gns_adm1":"UP11","gns_region":null,"min_label":5,"max_label":11,"min_zoom":4.7,"wikidataid":"Q756294","name_ar":"جمهورية القرم ذاتية الحكم","name_bn":"স্বায়ত্তশাসিত প্রজাতন্ত্রী ক্রিমিয়া","name_de":"Autonome Republik Krim","name_en":"Autonomous Republic of Crimea","name_es":"República autónoma de Crimea","name_fr":"République autonome de Crimée","name_el":"Αυτόνομη Δημοκρατία της Κριμαίας","name_hi":"क्रीमिया","name_hu":"Krími Autonóm Köztársaság","name_id":"Republik Otonom Krimea","name_it":"Repubblica autonoma di Crimea","name_ja":"クリミア自治共和国","name_ko":"크림 자치 공화국","name_nl":"Autonome Republiek van de Krim","name_pl":"Republika Autonomiczna Krymu","name_pt":"República Autónoma da Crimeia","name_ru":"Автономная Республика Крым","name_sv":"Autonoma republiken Krim","name_tr":"Kırım Özerk Cumhuriyeti","name_vi":"Cộng hòa Tự trị Krym","name_zh":"克里米亚自治共和国","ne_id":1159309535,"name_he":"הרפובליקה האוטונומית של קרים","name_uk":"Автономна Республіка Крим","name_ur":"خود مختار جمہوریہ کریمیا","name_fa":"جمهوری خودمختار کریمه","name_zht":"克里米亚自治共和国","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[32.508008,44.387598,36.575,46.219573],"geometry":{"type":"Polygon","coordinates":[[[33.745771,44.402323],[33.852069,44.431632],[33.805711,44.527307],[33.712995,44.581555],[33.70905,44.666381],[33.611402,44.720629],[33.674528,44.791646],[33.588429,44.842005],[33.612207,44.907812],[33.601172,44.981494],[33.555176,45.097656],[33.39248,45.187842],[33.261523,45.170752],[33.186914,45.194775],[32.918652,45.348145],[32.772656,45.358984],[32.611328,45.328076],[32.551855,45.350391],[32.508008,45.403809],[32.828027,45.593018],[33.142285,45.749219],[33.280078,45.765234],[33.466211,45.837939],[33.664844,45.94707],[33.636719,46.032861],[33.594141,46.09624],[33.654323,46.146222],[33.659965,46.219573],[33.806667,46.208288],[34.02672,46.106725],[34.128283,46.089798],[34.224203,46.101083],[34.353978,46.061586],[34.449898,45.965666],[34.523249,45.97695],[34.686878,45.97695],[34.794084,45.892315],[34.799726,45.790752],[34.946428,45.728686],[35.001674,45.733383],[35.022852,45.700977],[35.260156,45.446924],[35.373926,45.353613],[35.45752,45.316309],[35.558008,45.310889],[35.750977,45.389355],[35.833496,45.401611],[36.012891,45.37168],[36.077148,45.424121],[36.170508,45.453076],[36.290332,45.456738],[36.427051,45.433252],[36.575,45.393555],[36.514258,45.30376],[36.450781,45.232324],[36.428418,45.153271],[36.393359,45.065381],[36.229883,45.025977],[36.054785,45.030811],[35.870117,45.005322],[35.803613,45.0396],[35.759473,45.07085],[35.677539,45.102002],[35.569531,45.119336],[35.472559,45.098486],[35.357813,44.978418],[35.154785,44.896338],[35.087695,44.802637],[34.887793,44.823584],[34.716895,44.807129],[34.469922,44.72168],[34.281738,44.538428],[34.074414,44.423828],[33.909961,44.387598],[33.755664,44.398926],[33.745771,44.402323]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"RUS-3200","diss_me":3200,"iso_3166_2":"RU-PER","wikipedia":null,"iso_a2":"RU","adm0_sr":1,"name":"Perm'","name_alt":"Molotov|Permskaya Oblast","name_local":"Пермская область","type":"Kray","type_en":"Territory","code_local":null,"code_hasc":"RU.PE","note":null,"hasc_maybe":null,"region":"Volga","region_cod":null,"provnum_ne":20007,"gadm_level":1,"check_me":20,"datarank":2,"abbrev":null,"postal":"PE","area_sqkm":0,"sameascity":6,"labelrank":6,"name_len":5,"mapcolor9":7,"mapcolor13":7,"fips":"RS90","fips_alt":null,"woe_id":20070511,"woe_label":"Permskiy Kray, RU, Russia","woe_name":"Perm'","latitude":58.8735,"longitude":56.5878,"sov_a3":"RUS","adm0_a3":"RUS","adm0_label":2,"admin":"Russia","geonunit":"Russia","gu_a3":"RUS","gn_id":511180,"gn_name":"Perm Krai","gns_id":9262371,"gns_name":"Permskiy Kray","gn_level":1,"gn_region":null,"gn_a1_code":"RU.90","region_sub":"Urals","sub_code":null,"gns_level":1,"gns_lang":"dan","gns_adm1":"RS90","gns_region":null,"min_label":5,"max_label":10.2,"min_zoom":4.7,"wikidataid":"Q5400","name_ar":"بيرم كراي","name_bn":"পার্ম ক্রাই","name_de":"Perm","name_en":"Perm Krai","name_es":"Perm","name_fr":"Perm","name_el":"Κράι Περμ","name_hi":"पेर्म क्राय","name_hu":"Permi határterület","name_id":"Krai Perm","name_it":"Territorio di Perm'","name_ja":"ペルミ地方","name_ko":"페름 지방","name_nl":"Kraj Perm","name_pl":"Kraj Permski","name_pt":"Krai de Perm","name_ru":"Пермский край","name_sv":"Perm kraj","name_tr":"Perm Krayı","name_vi":"Perm","name_zh":"彼尔姆边疆区","ne_id":1159314843,"name_he":"מחוז פרם","name_uk":"Пермський край","name_ur":"پیرم کرائی","name_fa":"سرزمین پرم","name_zht":"彼爾姆邊疆區","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[51.774235,56.1081,59.467719,61.682178],"geometry":{"type":"Polygon","coordinates":[[[54.352476,56.358524],[54.244989,56.431853],[54.168301,56.534482],[53.959115,56.631582],[53.869095,56.713154],[54.088409,56.77116],[54.098641,56.965929],[54.341107,57.011869],[54.294702,57.083596],[54.314339,57.290509],[54.158173,57.314254],[54.188455,57.462746],[54.168405,57.558864],[54.095954,57.60744],[54.156312,57.706245],[54.087169,57.994238],[53.810184,58.228126],[53.886045,58.319102],[53.784552,58.439896],[53.70466,58.594977],[53.750136,58.696779],[53.922011,58.782821],[53.821346,58.821087],[53.726468,58.916818],[53.766569,59.021514],[53.876536,59.092802],[53.433669,59.143832],[53.334554,59.185173],[53.205776,59.364],[53.354294,59.500813],[53.418373,59.678476],[53.592109,59.7085],[53.657635,59.824359],[53.706521,60.001196],[53.607612,60.142738],[53.457234,60.204801],[53.358118,60.166457],[52.453781,60.200512],[52.297821,60.241595],[52.323866,60.432126],[52.138451,60.472847],[52.1338,60.546847],[51.774235,60.605603],[51.889784,60.875819],[52.354769,60.843909],[52.442308,60.979637],[52.789781,60.94889],[52.876494,61.093842],[53.348713,61.037257],[53.353984,60.893441],[53.791063,60.847759],[53.853488,60.980206],[54.979518,60.86383],[55.062097,61.00899],[55.213715,61.018963],[55.315621,61.123039],[55.690172,61.08622],[55.841067,61.249647],[56.257373,61.206342],[56.390801,61.420231],[56.5449,61.435088],[56.70241,61.524772],[57.085953,61.48803],[57.204395,61.510871],[58.691539,61.502732],[59.023302,61.552393],[59.113942,61.615154],[59.348657,61.682178],[59.428445,61.506944],[59.405811,61.417931],[59.317238,61.377288],[59.261014,61.222181],[59.358475,61.142857],[59.372945,60.970491],[59.457591,60.952972],[59.467719,60.807865],[59.385347,60.573512],[59.23931,60.480236],[59.168513,60.373705],[59.18846,60.277871],[58.9616,60.004942],[58.988575,59.927764],[58.849049,59.925567],[58.805021,59.862806],[58.675106,59.859241],[58.581882,59.715839],[58.451037,59.705038],[58.403081,59.552283],[58.310891,59.46805],[58.508398,59.440041],[58.669525,59.293229],[59.003458,59.230649],[59.175334,59.146519],[59.091102,59.021979],[59.181225,58.952991],[59.06578,58.884132],[59.08273,58.769333],[59.186393,58.710732],[59.387621,58.703291],[59.388551,58.590119],[59.45604,58.492761],[59.280547,58.412817],[59.202516,58.304607],[58.970592,58.199807],[58.868479,58.205491],[58.67831,58.1071],[58.60462,57.995633],[58.755825,57.848356],[58.864139,57.82722],[58.829825,57.726244],[58.579815,57.594366],[58.457755,57.587596],[58.436464,57.675963],[58.268103,57.669788],[57.995148,57.477319],[57.937994,57.331953],[58.038556,57.236507],[58.029874,57.099357],[57.868954,57.057965],[57.824616,56.974249],[57.559619,56.888311],[57.323044,56.919885],[57.218658,56.853016],[57.357564,56.681243],[57.37286,56.551975],[57.317463,56.373355],[57.408414,56.32912],[57.273538,56.304884],[57.21349,56.182049],[56.864054,56.1081],[56.729695,56.224062],[56.654558,56.220135],[56.40248,56.387411],[56.275253,56.305142],[56.073301,56.289484],[55.875794,56.436659],[55.548062,56.399503],[55.447706,56.340747],[54.968356,56.320439],[54.91823,56.391959],[54.531587,56.514897],[54.430197,56.342685],[54.352476,56.358524]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"RUS-3468","diss_me":3468,"iso_3166_2":"RU-KAM","wikipedia":null,"iso_a2":"RU","adm0_sr":4,"name":"Kamchatka","name_alt":"Kamçatka|Kamchatskaya Oblast","name_local":null,"type":"Oblast","type_en":"Region","code_local":null,"code_hasc":"RU.KQ","note":null,"hasc_maybe":null,"region":"Far Eastern","region_cod":null,"provnum_ne":0,"gadm_level":1,"check_me":20,"datarank":2,"abbrev":null,"postal":"KA","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":9,"mapcolor9":7,"mapcolor13":7,"fips":"RS92","fips_alt":null,"woe_id":20070514,"woe_label":"Kamchatskaya Oblast, RU, Russia","woe_name":"Kamchatka","latitude":56.5325,"longitude":160.187,"sov_a3":"RUS","adm0_a3":"RUS","adm0_label":2,"admin":"Russia","geonunit":"Russia","gu_a3":"RUS","gn_id":2125072,"gn_name":"Kamtchatski Kray","gns_id":11585057,"gns_name":"Kamchatskiy Kray","gn_level":1,"gn_region":null,"gn_a1_code":"RU.92","region_sub":"Far Eastern","sub_code":null,"gns_level":1,"gns_lang":"rus","gns_adm1":"RS92","gns_region":null,"min_label":5,"max_label":10.2,"min_zoom":4.7,"wikidataid":"Q7948","name_ar":"كراي كامشاتكا","name_bn":"কামচাটকাক্রাই","name_de":"Kamtschatka","name_en":"Kamchatka Krai","name_es":"Kamchatka","name_fr":"du Kamtchatka","name_el":"Κράι Καμτσάτκα","name_hi":"कमचातका क्राय","name_hu":"Kamcsatkai határterület","name_id":"Krai Kamchatka","name_it":"territorio della Kamčatka","name_ja":"カムチャツカ地方","name_ko":"캄차카 지방","name_nl":"Kraj Kamtsjatka","name_pl":"Kraj Kamczacki","name_pt":"Krai de Kamtchatka","name_ru":"Камчатский край","name_sv":"Kamtjatka kraj","name_tr":"Kamçatka Krayı","name_vi":"Kamchatka","name_zh":"堪察加邊疆區","ne_id":1159315449,"name_he":"מחוז קמצ'טקה","name_uk":"Камчатський край","name_ur":"کامچاٹکا کرائی","name_fa":"سرزمین کامچاتکا","name_zht":"堪察加邊疆區","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[155.554883,50.969287,174.468452,64.931437],"geometry":{"type":"MultiPolygon","coordinates":[[[[174.454226,61.822033],[174.284961,61.817529],[174.138867,61.795166],[173.822363,61.679395],[173.623438,61.716064],[173.390723,61.556738],[173.131836,61.406641],[173.05459,61.406201],[172.856543,61.469189],[172.806836,61.436133],[172.837891,61.375586],[172.908008,61.311621],[172.867773,61.293066],[172.789062,61.310693],[172.730664,61.314404],[172.690039,61.295166],[172.696973,61.249316],[172.584766,61.19043],[172.49707,61.185889],[172.396094,61.167383],[172.362402,61.116602],[172.392773,61.061768],[172.213281,60.997852],[172.067285,60.915674],[171.997656,60.900684],[171.917969,60.864111],[171.830566,60.837354],[171.729492,60.843115],[171.489746,60.725732],[170.949316,60.522949],[170.799316,60.496484],[170.608203,60.434912],[170.589746,60.393701],[170.588574,60.342871],[170.512305,60.259521],[170.423438,60.047803],[170.396484,60.009766],[170.350977,59.965527],[170.154102,59.986084],[169.982617,60.06709],[169.927246,60.104248],[169.897559,60.147852],[169.887012,60.21792],[169.854297,60.250244],[169.814746,60.265381],[169.618359,60.438037],[169.275684,60.556641],[169.226758,60.595947],[168.788281,60.563818],[168.670313,60.562891],[168.462793,60.592236],[168.1375,60.573926],[167.745996,60.509326],[167.626074,60.468945],[167.226758,60.406299],[166.964063,60.307031],[166.452539,59.947021],[166.331836,59.872412],[166.273047,59.85625],[166.186523,59.849463],[166.148926,59.92207],[166.136035,59.979346],[166.168359,60.088818],[166.229785,60.17832],[166.29248,60.346094],[166.308105,60.414258],[166.352148,60.484814],[166.180176,60.480371],[165.941992,60.356885],[165.583008,60.236475],[165.41582,60.205176],[165.285254,60.134912],[165.192578,60.124756],[165.08457,60.098584],[165.073633,59.945605],[165.018945,59.860742],[164.953711,59.843604],[164.854297,59.840967],[164.779395,59.874219],[164.669727,59.997461],[164.525293,60.061279],[164.440039,60.072705],[164.376855,60.058057],[164.251563,59.973779],[164.113281,59.897559],[164.135059,59.984375],[164.017578,60.017334],[163.912891,60.037061],[163.780078,60.041113],[163.743848,60.028027],[163.690039,59.978418],[163.574316,59.914062],[163.49375,59.886768],[163.409961,59.834961],[163.364844,59.781445],[163.321191,59.70542],[163.269043,59.52002],[163.272852,59.302588],[163.084863,59.131396],[163.010156,59.148291],[162.974902,59.137061],[162.940039,59.114307],[163.004297,59.020166],[162.969824,58.986475],[162.93457,58.963965],[162.847266,58.939258],[162.643359,58.799902],[162.453027,58.708594],[162.141602,58.447412],[162.049219,58.272852],[161.960059,58.076904],[162.001953,57.980957],[162.039648,57.918262],[162.097949,57.874658],[162.197461,57.82915],[162.411426,57.778369],[162.392188,57.74502],[162.391406,57.717236],[162.466992,57.766211],[162.521973,57.904102],[162.654297,57.948242],[162.718359,57.946094],[163.14502,57.837305],[163.225781,57.790381],[163.213867,57.686816],[163.187891,57.637402],[163.108789,57.564844],[162.957031,57.47749],[162.779297,57.357617],[162.762305,57.284082],[162.761523,57.243945],[162.808105,57.102783],[162.814844,57.023389],[162.791113,56.875391],[162.802637,56.811475],[162.849902,56.756836],[162.92207,56.722656],[163.046387,56.741309],[163.16543,56.725488],[163.256543,56.688037],[163.243262,56.564551],[163.294043,56.447705],[163.335547,56.23252],[163.261328,56.17373],[163.189258,56.137012],[163.047363,56.044678],[162.97168,56.033789],[162.840332,56.065625],[162.628125,56.232275],[162.713184,56.330859],[162.893262,56.399463],[162.975195,56.449023],[163.038379,56.521875],[162.944141,56.508057],[162.877637,56.476367],[162.671484,56.490088],[162.589063,56.454932],[162.488672,56.399121],[162.528223,56.260693],[162.461133,56.235498],[162.334082,56.187744],[162.146094,56.128271],[162.084961,56.089648],[161.924023,55.840381],[161.775586,55.654834],[161.723926,55.496143],[161.729395,55.358008],[161.784961,55.205322],[161.824219,55.138916],[161.996094,54.997998],[162.080273,54.886133],[162.105566,54.752148],[161.966895,54.688672],[161.725684,54.532959],[161.624805,54.51626],[161.294043,54.520557],[161.129883,54.598242],[160.935547,54.578369],[160.772656,54.541357],[160.517188,54.430859],[160.288867,54.288232],[160.074414,54.18916],[160.010156,54.130859],[159.921777,54.008398],[159.84375,53.783643],[159.870898,53.672656],[159.914258,53.62085],[159.955859,53.552197],[159.899121,53.447705],[159.897656,53.380762],[160.002148,53.274902],[160.025098,53.12959],[159.947461,53.125098],[159.771582,53.229687],[159.585938,53.237695],[159.136133,53.117139],[158.952051,53.047559],[158.74541,52.908936],[158.683691,52.9354],[158.639551,53.014795],[158.564648,53.05],[158.47207,53.032373],[158.432324,52.957422],[158.560156,52.922168],[158.608789,52.873633],[158.533691,52.688428],[158.480762,52.62666],[158.500391,52.460303],[158.493164,52.383154],[158.463477,52.30498],[158.331641,52.090869],[158.103516,51.809619],[157.823242,51.605322],[157.628906,51.53457],[157.530957,51.479883],[157.489844,51.408936],[157.202246,51.212744],[156.847461,51.006592],[156.747754,50.969287],[156.724316,51.04707],[156.713477,51.124121],[156.670801,51.226855],[156.543457,51.311621],[156.521191,51.380273],[156.500391,51.475098],[156.489844,51.913037],[156.377344,52.366553],[156.364746,52.509375],[156.228613,52.62627],[156.154395,52.747266],[156.110352,52.866162],[156.098828,53.006494],[155.950195,53.744287],[155.904883,53.928125],[155.706445,54.521484],[155.620313,54.864551],[155.563867,55.199121],[155.554883,55.348486],[155.643457,55.793555],[155.716602,56.072217],[155.98252,56.695215],[156.025391,56.752002],[156.06748,56.781592],[156.529297,57.021191],[156.728418,57.152246],[156.848828,57.290186],[156.976758,57.466309],[156.963574,57.560938],[156.948242,57.615771],[156.899902,57.676904],[156.791602,57.747949],[156.829883,57.779639],[156.871973,57.803662],[156.985742,57.830176],[157.216797,57.776807],[157.450391,57.799268],[157.666406,58.019775],[157.974609,57.985937],[158.210449,58.025293],[158.275195,58.008984],[158.321094,58.083447],[158.449414,58.162842],[158.687012,58.281348],[159.036914,58.423926],[159.210645,58.519434],[159.308398,58.610547],[159.452637,58.695947],[159.591504,58.803662],[159.847363,59.127148],[160.350391,59.394043],[160.547461,59.547363],[160.711426,59.60166],[160.855273,59.626855],[161.218945,59.845605],[161.449316,60.027344],[161.753516,60.152295],[161.845996,60.232227],[162.003613,60.420166],[162.068164,60.466406],[162.266309,60.536719],[162.713184,60.659473],[162.973145,60.78291],[163.352344,60.800439],[163.466406,60.849756],[163.585156,60.877148],[163.709961,60.916797],[163.553516,61.025635],[163.589258,61.084375],[163.619629,61.111328],[163.893359,61.240479],[164.005469,61.343799],[163.99209,61.388232],[163.972754,61.419873],[163.804395,61.461377],[163.837109,61.558252],[163.882715,61.640137],[164.019531,61.710693],[164.067969,61.873877],[164.074219,62.04502],[164.207227,62.292236],[164.2875,62.346631],[164.59834,62.470557],[164.670703,62.473779],[164.887695,62.431885],[165.124121,62.411523],[165.208105,62.373975],[165.225684,62.405762],[165.213867,62.448193],[165.280371,62.462988],[165.417383,62.44707],[165.396582,62.493896],[165.044043,62.516992],[164.792383,62.571094],[164.566992,62.675488],[164.418359,62.704639],[164.255664,62.696582],[163.331738,62.550928],[163.287109,62.511426],[163.244238,62.455371],[163.302148,62.372998],[163.258008,62.336914],[163.213281,62.313428],[163.163477,62.25957],[163.118457,62.15293],[163.131055,62.049902],[163.017676,61.891064],[163.009277,61.791504],[163.207617,61.736572],[163.257812,61.699463],[163.197852,61.644775],[163.138867,61.611426],[163.085254,61.570557],[163.047266,61.554053],[162.993945,61.544189],[162.92168,61.597705],[162.855957,61.705029],[162.752344,61.711279],[162.717871,61.695117],[162.699023,61.652588],[162.607617,61.650049],[162.506445,61.670117],[162.501868,61.669795],[162.43084,61.764344],[162.467737,61.820465],[162.311158,61.934204],[162.480036,61.963195],[162.511972,62.103393],[162.265372,62.128611],[162.403969,62.252764],[162.664314,62.261575],[162.736145,62.297386],[162.767874,62.50311],[162.708756,62.601476],[162.818724,62.697104],[162.672686,62.710488],[162.547526,62.844743],[162.2693,62.935022],[162.379887,63.118938],[162.743896,63.181518],[162.694597,63.39303],[162.884249,63.436438],[162.95701,63.491112],[162.979231,63.620975],[162.754852,63.738461],[162.725913,63.836517],[162.88766,63.876954],[162.928794,63.95036],[162.841358,64.016506],[162.794229,64.148023],[162.94223,64.199622],[163.166609,64.190139],[163.255906,64.320674],[163.434293,64.373125],[163.344583,64.486555],[163.167126,64.559393],[163.246088,64.726799],[163.136947,64.770207],[163.345203,64.818473],[163.520283,64.931437],[163.872819,64.865395],[164.216364,64.9249],[164.797931,64.771602],[164.881957,64.685923],[165.003706,64.689902],[165.020346,64.836663],[165.262709,64.850616],[165.329475,64.775478],[165.481403,64.743284],[165.683975,64.753981],[165.74299,64.678791],[166.034548,64.559471],[166.198569,64.608977],[166.405998,64.600657],[166.806801,64.532935],[167.000277,64.549755],[167.236955,64.623653],[167.413689,64.481697],[167.497818,64.481026],[167.714135,64.340724],[167.815421,64.350801],[168.025744,64.285999],[168.198137,64.338657],[168.498687,64.317366],[168.638317,64.211016],[168.777946,64.184506],[168.873548,64.020718],[169.079323,63.958732],[169.344423,63.949895],[169.364371,63.879822],[169.549372,63.810989],[169.582238,63.643402],[169.509168,63.583613],[169.205207,63.51571],[169.098547,63.439952],[168.79562,63.303087],[168.544472,63.126483],[168.510159,63.054084],[168.939177,62.943755],[169.126659,62.972539],[169.514439,62.813531],[169.656859,62.708886],[169.842481,62.655349],[170.009913,62.677389],[169.986141,62.54502],[170.086394,62.491948],[170.159361,62.341828],[170.261577,62.285397],[170.381983,62.311132],[170.900608,62.279351],[171.217591,62.368545],[171.469565,62.312011],[172.054749,62.466523],[172.318816,62.403995],[172.416794,62.431538],[172.705045,62.402393],[172.85253,62.331493],[173.026576,62.375366],[173.503859,62.53409],[173.797588,62.51789],[173.872416,62.44053],[174.079845,62.447041],[174.093384,62.339813],[174.015456,62.269274],[174.112194,62.188504],[174.116535,62.073834],[174.343705,62.04996],[174.468452,61.978801],[174.454226,61.822033]]],[[[164.572656,59.221143],[164.629297,59.112207],[164.661621,58.970752],[164.615723,58.885596],[164.278809,58.838086],[163.960059,58.74375],[163.635156,58.603369],[163.471387,58.509375],[163.447266,58.524658],[163.431836,58.546143],[163.427246,58.578955],[163.576758,58.640869],[163.726562,58.798535],[163.784473,58.929736],[163.766602,58.972363],[163.760938,59.015039],[164.202148,59.096191],[164.517383,59.226758],[164.572656,59.221143]]],[[[167.710645,54.770166],[167.882617,54.690479],[168.039062,54.56499],[168.081348,54.512744],[167.677344,54.697656],[167.488086,54.794971],[167.441504,54.855859],[167.511719,54.856934],[167.59248,54.797754],[167.710645,54.770166]]],[[[166.577344,54.907715],[166.650293,54.839062],[166.645117,54.694092],[166.521289,54.767627],[166.463672,54.826855],[166.381738,54.838086],[166.324805,54.864551],[166.229883,54.936523],[166.119727,55.030371],[166.082324,55.076563],[166.066309,55.135693],[165.991895,55.190479],[165.751074,55.294531],[165.830469,55.306934],[165.93125,55.351465],[166.211914,55.323975],[166.275781,55.311963],[166.22998,55.242334],[166.248047,55.16543],[166.404297,55.005615],[166.479492,54.949902],[166.577344,54.907715]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":5,"adm1_code":"RUS-5482","diss_me":5482,"iso_3166_2":"UA-40","wikipedia":"http://en.wikipedia.org/wiki/Sevastopol","iso_a2":"RU","adm0_sr":1,"name":"Sevastopol","name_alt":null,"name_local":null,"type":"Gorod Federalnogo Znacheniya","type_en":"Federal City","code_local":null,"code_hasc":"UA.SC","note":null,"hasc_maybe":null,"region":"Volga","region_cod":null,"provnum_ne":3,"gadm_level":1,"check_me":20,"datarank":5,"abbrev":null,"postal":"SC","area_sqkm":0,"sameascity":-99,"labelrank":6,"name_len":10,"mapcolor9":6,"mapcolor13":3,"fips":"UP20","fips_alt":"UP16","woe_id":20070189,"woe_label":"Sevastopol City Municipality, UA, Ukraine","woe_name":"Sevastopol City Municipality","latitude":44.5182,"longitude":33.6396,"sov_a3":"RUS","adm0_a3":"RUS","adm0_label":2,"admin":"Russia","geonunit":"Russia","gu_a3":"RUS","gn_id":694422,"gn_name":"Misto Sevastopol'","gns_id":-1053420,"gns_name":"Sevastopol', Misto","gn_level":1,"gn_region":null,"gn_a1_code":"UA.20","region_sub":"North Caucasus","sub_code":null,"gns_level":1,"gns_lang":"rus","gns_adm1":"UP20","gns_region":null,"min_label":5,"max_label":11,"min_zoom":4.7,"wikidataid":"Q7525","name_ar":"سيفاستوبول","name_bn":"সেভাস্তোপোল","name_de":"Sewastopol","name_en":"Sevastopol","name_es":"Sebastopol","name_fr":"Sébastopol","name_el":"Σεβαστούπολη","name_hi":"सेवस्तोपोल","name_hu":"Szevasztopol","name_id":"Sevastopol","name_it":"Sebastopoli","name_ja":"セヴァストポリ","name_ko":"세바스토폴","name_nl":"Sebastopol","name_pl":"Sewastopol","name_pt":"Sebastopol","name_ru":"Севастополь","name_sv":"Sevastopol","name_tr":"Sivastopol","name_vi":"Sevastopol","name_zh":"塞瓦斯托波尔","ne_id":1159315877,"name_he":"סבסטופול","name_uk":"Севастополь","name_ur":"سواستوپول","name_fa":"سواستوپول","name_zht":"塞瓦斯托波","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[33.450684,44.402323,33.852069,44.842005],"geometry":{"type":"Polygon","coordinates":[[[33.588429,44.842005],[33.674528,44.791646],[33.611402,44.720629],[33.70905,44.666381],[33.712995,44.581555],[33.805711,44.527307],[33.852069,44.431632],[33.745771,44.402323],[33.732997,44.406711],[33.655859,44.433203],[33.450684,44.553662],[33.462695,44.596826],[33.491309,44.618604],[33.530078,44.680518],[33.588429,44.842005]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"ZAF-1188","diss_me":1188,"iso_3166_2":"ZA-NC","wikipedia":null,"iso_a2":"ZA","adm0_sr":1,"name":"Northern Cape","name_alt":"Noord-Kaap","name_local":null,"type":"Provinsie","type_en":"Province","code_local":null,"code_hasc":"ZA.NC","note":"CSS 3, Formerly part of Cape of Good Hope","hasc_maybe":null,"region":null,"region_cod":null,"provnum_ne":4,"gadm_level":1,"check_me":20,"datarank":3,"abbrev":null,"postal":"NC","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":13,"mapcolor9":4,"mapcolor13":2,"fips":"SF08","fips_alt":"SF08","woe_id":2346985,"woe_label":"Northern Cape, ZA, South Africa","woe_name":"Northern Cape","latitude":-29.7437,"longitude":20.9961,"sov_a3":"ZAF","adm0_a3":"ZAF","adm0_label":2,"admin":"South Africa","geonunit":"South Africa","gu_a3":"ZAF","gn_id":1085596,"gn_name":"Province of Northern Cape","gns_id":204231,"gns_name":"Northern Cape","gn_level":1,"gn_region":null,"gn_a1_code":"ZA.08","region_sub":null,"sub_code":null,"gns_level":1,"gns_lang":"khm","gns_adm1":"SF08","gns_region":null,"min_label":4.6,"max_label":10.1,"min_zoom":4.6,"wikidataid":"Q132418","name_ar":"كيب الشمالية","name_bn":"উত্তর কেপ প্রদেশ","name_de":"Nordkap","name_en":"Northern Cape","name_es":"Septentrional del Cabo","name_fr":"Cap-Nord","name_el":"Βορειότερο Ακρωτήριο","name_hi":"उत्तरी केप प्रान्त","name_hu":"Észak-Fokföld","name_id":"Northern Cape","name_it":"Capo Settentrionale","name_ja":"北ケープ州","name_ko":"노던케이프","name_nl":"Noord-Kaap","name_pl":"Prowincja Przylądkowa Północna","name_pt":"Cabo Setentrional","name_ru":"Северо-Капская провинция","name_sv":"Norra Kapprovinsen","name_tr":"Kuzey Kap","name_vi":"Bắc Cape","name_zh":"北开普省","ne_id":1159309731,"name_he":"הכף הצפוני","name_uk":"Північна Капська провінція","name_ur":"شمالی کیپ","name_fa":"کیپ شمالی","name_zht":"北開普省","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[16.447555,-32.936852,25.521988,-24.776782],"geometry":{"type":"Polygon","coordinates":[[[22.615068,-26.10752],[22.70516,-26.129706],[22.702044,-26.410044],[22.815131,-26.447657],[22.850672,-26.398468],[22.915294,-26.155105],[22.986377,-26.160905],[23.05746,-26.099988],[23.099464,-25.986772],[23.374104,-26.015812],[23.351486,-26.079675],[23.228706,-26.059359],[23.222244,-26.120297],[23.30302,-26.143504],[23.222244,-26.268158],[23.283634,-26.343466],[23.27071,-26.479475],[23.458111,-26.52863],[23.580891,-26.615323],[23.493653,-26.736583],[23.845838,-26.886536],[23.926615,-26.866361],[23.988005,-26.912469],[24.023546,-27.016142],[23.962156,-27.099587],[23.894304,-27.257674],[24.084936,-27.358875],[24.036239,-27.474705],[24.04337,-27.585241],[24.115631,-27.628293],[24.1124,-27.742738],[24.407534,-27.684356],[24.445199,-27.782766],[24.362575,-27.898865],[24.447118,-27.977207],[24.438436,-28.037565],[24.519723,-28.099577],[24.611294,-28.000099],[24.621216,-27.904291],[24.691341,-27.826415],[24.671342,-27.671747],[24.795769,-27.611115],[24.814899,-27.687199],[24.972047,-27.685493],[25.026669,-27.707714],[24.842029,-27.905997],[24.93236,-28.096631],[25.013492,-28.068209],[25.009926,-28.115079],[24.91603,-28.317444],[24.84513,-28.519396],[24.874327,-28.649879],[24.655064,-29.069336],[24.34082,-29.649043],[24.409084,-29.764488],[24.657544,-29.895643],[24.670412,-29.95011],[24.784462,-29.988247],[24.906883,-30.201205],[25.029305,-30.283061],[25.043464,-30.330241],[25.184902,-30.45566],[25.467469,-30.613118],[25.483024,-30.755797],[25.521988,-30.801892],[25.50664,-30.934442],[25.445507,-31.095156],[25.35006,-31.227706],[25.215081,-31.201558],[24.968016,-31.283878],[24.765238,-31.389091],[24.558687,-31.401804],[24.512592,-31.552957],[24.49957,-31.704834],[24.334618,-31.719304],[24.154319,-31.75801],[24.147033,-31.789894],[23.963116,-31.726797],[23.863226,-31.799816],[23.808759,-31.727572],[23.698895,-31.667369],[23.400929,-31.68127],[23.292666,-31.750878],[23.180632,-31.889991],[23.069838,-31.976549],[23.026533,-31.886477],[22.943024,-31.856401],[22.756368,-31.833871],[22.605525,-31.776613],[22.477367,-31.652951],[22.291487,-31.570166],[22.144364,-31.854179],[22.088812,-31.893092],[22.101215,-32.057423],[21.971352,-32.195761],[21.852651,-32.243045],[21.71576,-32.2124],[21.553444,-32.241494],[21.423116,-32.348516],[21.305191,-32.376731],[21.192226,-32.459052],[21.11776,-32.607157],[20.865114,-32.676868],[20.82336,-32.716194],[20.784137,-32.861508],[20.705124,-32.918145],[20.545754,-32.902229],[20.421162,-32.936852],[20.20934,-32.764305],[20.123248,-32.59646],[20.082268,-32.411716],[20.212751,-32.283559],[20.139216,-32.189611],[19.924603,-32.357404],[19.801252,-32.372804],[19.703945,-32.43771],[19.60979,-32.457502],[19.533568,-32.637594],[19.4729,-32.583489],[19.487524,-32.465512],[19.425099,-32.310017],[19.49264,-32.231986],[19.470729,-32.078248],[19.319162,-32.022334],[19.210848,-31.913504],[19.028637,-31.893247],[19.071787,-31.748139],[19.066671,-31.577245],[19.0167,-31.49477],[18.996856,-31.289924],[18.937273,-31.197114],[18.904976,-31.009528],[18.928282,-30.942194],[18.938669,-30.724016],[18.842602,-30.695077],[18.735219,-30.576996],[18.560811,-30.47075],[18.464279,-30.526302],[18.410587,-30.499947],[18.336276,-30.654408],[18.247186,-30.782824],[18.156908,-30.821684],[18.024047,-30.775072],[17.891549,-30.934287],[17.770804,-31.149241],[17.677441,-31.019043],[17.34707,-30.444824],[17.189063,-30.099805],[16.95,-29.403418],[16.739453,-29.009375],[16.480762,-28.641504],[16.447555,-28.617529],[16.487087,-28.572881],[16.6262,-28.487925],[16.689452,-28.464981],[16.723042,-28.475523],[16.755753,-28.452165],[16.787482,-28.394701],[16.794562,-28.340854],[16.810116,-28.264579],[16.841174,-28.218897],[16.87528,-28.127947],[16.933313,-28.069656],[17.056251,-28.031002],[17.149372,-28.082265],[17.18844,-28.132494],[17.204563,-28.198847],[17.2458,-28.230886],[17.31205,-28.228613],[17.358713,-28.269437],[17.385689,-28.353204],[17.380314,-28.413924],[17.34259,-28.451648],[17.34781,-28.501154],[17.395869,-28.562649],[17.415713,-28.621043],[17.447959,-28.698145],[17.616786,-28.743103],[17.699313,-28.768321],[17.84163,-28.7769],[17.976092,-28.811316],[18.102699,-28.871674],[18.310852,-28.886247],[18.600343,-28.855241],[18.838778,-28.869142],[19.026054,-28.92795],[19.161756,-28.93875],[19.245782,-28.901646],[19.282265,-28.847955],[19.271,-28.777726],[19.312651,-28.733285],[19.407219,-28.714474],[19.482873,-28.661661],[19.539821,-28.574638],[19.67144,-28.503893],[19.877836,-28.449426],[19.980414,-28.451286],[19.980414,-28.310365],[19.980414,-27.865534],[19.980414,-27.420755],[19.980414,-26.975976],[19.980414,-26.531145],[19.980414,-26.086366],[19.980414,-25.641587],[19.980414,-25.196756],[19.980466,-24.776782],[20.028576,-24.807013],[20.345249,-25.029841],[20.430619,-25.147095],[20.473149,-25.221303],[20.609316,-25.491157],[20.710705,-25.733158],[20.793181,-25.915575],[20.799382,-25.999033],[20.811009,-26.080527],[20.822636,-26.120628],[20.81504,-26.164966],[20.757007,-26.264133],[20.697889,-26.340149],[20.626783,-26.443812],[20.619961,-26.580806],[20.641459,-26.742192],[20.685022,-26.822445],[20.739851,-26.848852],[20.87085,-26.808751],[20.953894,-26.821102],[21.070993,-26.851746],[21.454949,-26.832832],[21.501406,-26.842651],[21.646255,-26.854174],[21.694728,-26.840945],[21.738033,-26.806787],[21.788262,-26.710049],[21.833221,-26.678268],[21.914559,-26.661938],[22.010988,-26.635842],[22.090879,-26.580134],[22.217538,-26.388828],[22.470908,-26.219019],[22.548629,-26.178402],[22.597618,-26.13272],[22.615068,-26.10752]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"ZAF-1189","diss_me":1189,"iso_3166_2":"ZA-WC","wikipedia":null,"iso_a2":"ZA","adm0_sr":1,"name":"Western Cape","name_alt":"Wes-Kaap","name_local":null,"type":"Provinsie","type_en":"Province","code_local":null,"code_hasc":"ZA.WC","note":"CSS 1, Formerly part of Cape of Good Hope","hasc_maybe":null,"region":null,"region_cod":null,"provnum_ne":2,"gadm_level":1,"check_me":20,"datarank":3,"abbrev":null,"postal":"WC","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":12,"mapcolor9":4,"mapcolor13":2,"fips":"SF11","fips_alt":"SF11","woe_id":2346987,"woe_label":"Western Cape, ZA, South Africa","woe_name":"Western Cape","latitude":-33.5035,"longitude":20.9745,"sov_a3":"ZAF","adm0_a3":"ZAF","adm0_label":2,"admin":"South Africa","geonunit":"South Africa","gu_a3":"ZAF","gn_id":1085599,"gn_name":"Province of the Western Cape","gns_id":204245,"gns_name":"Western Cape","gn_level":1,"gn_region":null,"gn_a1_code":"ZA.11","region_sub":null,"sub_code":null,"gns_level":1,"gns_lang":"khm","gns_adm1":"SF11","gns_region":null,"min_label":4.6,"max_label":10.1,"min_zoom":4.6,"wikidataid":"Q127167","name_ar":"كيب الغربية","name_bn":"পশ্চিম কেপ","name_de":"Westkap","name_en":"Western Cape","name_es":"Occidental del Cabo","name_fr":"Cap-Occidental","name_el":"Δυτικότερο Ακρωτήριο","name_hi":"पश्चिमी केप प्रान्त","name_hu":"Nyugat-Fokföld","name_id":"Western Cape","name_it":"Capo Occidentale","name_ja":"西ケープ州","name_ko":"웨스턴케이프","name_nl":"West-Kaap","name_pl":"Prowincja Przylądkowa Zachodnia","name_pt":"Cabo Ocidental","name_ru":"Западно-Капская провинция","name_sv":"Västra Kapprovinsen","name_tr":"Batı Kap","name_vi":"Tây Cape","name_zh":"西开普省","ne_id":1159309733,"name_he":"הכף המערבי","name_uk":"Західна Капська провінція","name_ur":"مغربی کیپ","name_fa":"کیپ غربی","name_zht":"西開普省","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[17.770804,-46.962891,37.887695,-30.47075],"geometry":{"type":"MultiPolygon","coordinates":[[[[23.634909,-33.988504],[23.585547,-33.985156],[23.350391,-34.068945],[23.268164,-34.081152],[22.925586,-34.063184],[22.735547,-34.010254],[22.553809,-34.010059],[22.414453,-34.053809],[22.245508,-34.069141],[21.788965,-34.372656],[21.553223,-34.373047],[21.349805,-34.408203],[21.248926,-34.407031],[21.060156,-34.364648],[20.989844,-34.36748],[20.882422,-34.386523],[20.774805,-34.439941],[20.529883,-34.463086],[20.434668,-34.508594],[20.020605,-34.785742],[19.92627,-34.774707],[19.85,-34.756641],[19.634961,-34.75332],[19.391504,-34.605664],[19.298242,-34.615039],[19.323242,-34.570801],[19.330762,-34.492383],[19.279395,-34.437012],[19.244629,-34.412305],[19.149121,-34.416895],[19.09834,-34.350098],[18.952148,-34.34375],[18.901563,-34.360645],[18.831348,-34.364063],[18.825098,-34.296484],[18.830664,-34.253906],[18.826367,-34.188477],[18.808789,-34.108203],[18.752148,-34.082617],[18.708691,-34.071875],[18.605176,-34.077344],[18.533887,-34.085938],[18.500391,-34.109277],[18.462109,-34.168066],[18.461621,-34.346875],[18.410352,-34.295605],[18.352051,-34.188477],[18.333398,-34.074219],[18.354395,-33.939063],[18.465039,-33.887793],[18.456445,-33.796484],[18.433008,-33.717285],[18.309473,-33.514453],[18.26123,-33.42168],[18.156348,-33.358789],[18.074805,-33.207324],[17.992578,-33.152344],[17.958398,-33.046387],[17.878223,-32.961523],[17.851074,-32.827441],[17.895313,-32.750488],[17.965234,-32.708594],[18.036523,-32.775098],[18.125,-32.749121],[18.250879,-32.652148],[18.325293,-32.50498],[18.329883,-32.269531],[18.310742,-32.122461],[18.21084,-31.74248],[18.163672,-31.655176],[17.938574,-31.383203],[17.770804,-31.149241],[17.891549,-30.934287],[18.024047,-30.775072],[18.156908,-30.821684],[18.247186,-30.782824],[18.336276,-30.654408],[18.410587,-30.499947],[18.464279,-30.526302],[18.560811,-30.47075],[18.735219,-30.576996],[18.842602,-30.695077],[18.938669,-30.724016],[18.928282,-30.942194],[18.904976,-31.009528],[18.937273,-31.197114],[18.996856,-31.289924],[19.0167,-31.49477],[19.066671,-31.577245],[19.071787,-31.748139],[19.028637,-31.893247],[19.210848,-31.913504],[19.319162,-32.022334],[19.470729,-32.078248],[19.49264,-32.231986],[19.425099,-32.310017],[19.487524,-32.465512],[19.4729,-32.583489],[19.533568,-32.637594],[19.60979,-32.457502],[19.703945,-32.43771],[19.801252,-32.372804],[19.924603,-32.357404],[20.139216,-32.189611],[20.212751,-32.283559],[20.082268,-32.411716],[20.123248,-32.59646],[20.20934,-32.764305],[20.421162,-32.936852],[20.545754,-32.902229],[20.705124,-32.918145],[20.784137,-32.861508],[20.82336,-32.716194],[20.865114,-32.676868],[21.11776,-32.607157],[21.192226,-32.459052],[21.305191,-32.376731],[21.423116,-32.348516],[21.553444,-32.241494],[21.71576,-32.2124],[21.852651,-32.243045],[21.971352,-32.195761],[22.101215,-32.057423],[22.088812,-31.893092],[22.144364,-31.854179],[22.291487,-31.570166],[22.477367,-31.652951],[22.605525,-31.776613],[22.756368,-31.833871],[22.943024,-31.856401],[23.026533,-31.886477],[23.069838,-31.976549],[23.180632,-31.889991],[23.292666,-31.750878],[23.400929,-31.68127],[23.698895,-31.667369],[23.808759,-31.727572],[23.863226,-31.799816],[23.963116,-31.726797],[24.147033,-31.789894],[24.129773,-31.857538],[24.181604,-31.951641],[24.122332,-32.003111],[24.090085,-32.124809],[24.028797,-32.174573],[23.885395,-32.228007],[23.757083,-32.195916],[23.673728,-32.239324],[23.601588,-32.324745],[23.325378,-32.354562],[23.24254,-32.424532],[23.237063,-32.505302],[23.278197,-32.667515],[23.370388,-32.768232],[23.326928,-32.807713],[23.19505,-32.808023],[23.000746,-32.889207],[22.916204,-33.014057],[22.915739,-33.095602],[22.745206,-33.327888],[22.749547,-33.401578],[23.029478,-33.390003],[23.261609,-33.398891],[23.437412,-33.432636],[23.563399,-33.495991],[23.618176,-33.644044],[23.437257,-33.711999],[23.366512,-33.780728],[23.544176,-33.796335],[23.686751,-33.872041],[23.634909,-33.988504]]],[[[37.590039,-46.908008],[37.649707,-46.848926],[37.684863,-46.824023],[37.789551,-46.8375],[37.872852,-46.885449],[37.887695,-46.90166],[37.856934,-46.944238],[37.813965,-46.962891],[37.611816,-46.946484],[37.590039,-46.908008]]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"ZAF-1201","diss_me":1201,"iso_3166_2":"ZA-NW","wikipedia":null,"iso_a2":"ZA","adm0_sr":1,"name":"North West","name_alt":"North-West|Noordwes","name_local":null,"type":"Provinsie","type_en":"Province","code_local":null,"code_hasc":"ZA.NW","note":"CSS 6, Formerly part of Transvaal, Cape of Good Hope","hasc_maybe":null,"region":null,"region_cod":null,"provnum_ne":9,"gadm_level":1,"check_me":20,"datarank":3,"abbrev":null,"postal":"NW","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":10,"mapcolor9":4,"mapcolor13":2,"fips":"SF10","fips_alt":"SF10","woe_id":2346984,"woe_label":"North-west, ZA, South Africa","woe_name":"North West","latitude":-26.3999,"longitude":25.7403,"sov_a3":"ZAF","adm0_a3":"ZAF","adm0_label":2,"admin":"South Africa","geonunit":"South Africa","gu_a3":"ZAF","gn_id":1085598,"gn_name":"Province of North-West","gns_id":204239,"gns_name":"North-West","gn_level":1,"gn_region":null,"gn_a1_code":"ZA.10","region_sub":null,"sub_code":null,"gns_level":1,"gns_lang":"khm","gns_adm1":"SF10","gns_region":null,"min_label":4.6,"max_label":10.1,"min_zoom":4.6,"wikidataid":"Q165956","name_ar":"الشمالية الغربية","name_bn":"উত্তর পশ্চিম প্রদেশ","name_de":"Nordwest","name_en":"North West","name_es":"Noroeste","name_fr":"Nord-Ouest","name_el":"Βορειοδυτική Περιφέρεια","name_hi":"पश्चिमोत्तर प्रान्त","name_hu":"North West","name_id":"North West","name_it":"Nordovest","name_ja":"北西州","name_ko":"노스웨스트","name_nl":"Noordwest","name_pl":"Prowincja Północno-Zachodnia","name_pt":"Noroeste","name_ru":"Северо-Западная провинция","name_sv":"Nordvästprovinsen","name_tr":"Kuzeybatı","name_vi":"Tây Bắc","name_zh":"西北省","ne_id":1159309735,"name_he":"הפרובינציה הצפון-מערבית","name_uk":"Північно-Західна провінція","name_ur":"شمال مغربی","name_fa":"شمال غربی","name_zht":"西北省","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[22.615068,-28.099577,28.293705,-24.613574],"geometry":{"type":"Polygon","coordinates":[[[22.615068,-26.10752],[22.6402,-26.071225],[22.72898,-25.857284],[22.796056,-25.679156],[22.818897,-25.59513],[22.878842,-25.457929],[22.95124,-25.370286],[23.022037,-25.324087],[23.057487,-25.312305],[23.148696,-25.288689],[23.266001,-25.266623],[23.389301,-25.291376],[23.52149,-25.344396],[23.670731,-25.433951],[23.823487,-25.544642],[23.893715,-25.600918],[23.969524,-25.626084],[24.104503,-25.634869],[24.192973,-25.632905],[24.330588,-25.742873],[24.400196,-25.749797],[24.555845,-25.783077],[24.748185,-25.81739],[24.869211,-25.813463],[24.998919,-25.754035],[25.092505,-25.751451],[25.213376,-25.756257],[25.346185,-25.739979],[25.443646,-25.714451],[25.518164,-25.662774],[25.583793,-25.60624],[25.65924,-25.43793],[25.702649,-25.302331],[25.76988,-25.146527],[25.852407,-24.935274],[25.881862,-24.787996],[25.912093,-24.747481],[26.031879,-24.70242],[26.130839,-24.671465],[26.397168,-24.613574],[26.410357,-24.741487],[26.455419,-24.812335],[26.626365,-24.827373],[26.76801,-24.866182],[26.94433,-24.789546],[27.022981,-24.723969],[27.055434,-24.849749],[27.182507,-24.990929],[27.289425,-25.00669],[27.366526,-25.059039],[27.487863,-25.055731],[27.54574,-25.092783],[27.587185,-24.99682],[27.667593,-24.970775],[27.906235,-25.00328],[27.965818,-24.98509],[28.098161,-25.009378],[28.221978,-25.07759],[28.124413,-25.109785],[28.127513,-25.200167],[28.230866,-25.225798],[28.293705,-25.317111],[28.23523,-25.353381],[28.104372,-25.372358],[28.004209,-25.36068],[27.949281,-25.410305],[28.033289,-25.471577],[27.963821,-25.592571],[27.942822,-25.806848],[27.875643,-25.852995],[27.727641,-25.87842],[27.640715,-25.803653],[27.459337,-25.885293],[27.445236,-26.007101],[27.39459,-26.12287],[27.290496,-26.145986],[27.324443,-26.28655],[27.191265,-26.381919],[27.229782,-26.503503],[27.243404,-26.640021],[27.334812,-26.615728],[27.568604,-26.65005],[27.582534,-26.737644],[27.519437,-26.780691],[27.480266,-26.873967],[27.407557,-26.89443],[27.307512,-26.862391],[27.178011,-26.924403],[27.04391,-26.928795],[26.914151,-26.889935],[26.644917,-26.999334],[26.489681,-27.138602],[26.411132,-27.176842],[26.485908,-27.253788],[26.450148,-27.352904],[26.249592,-27.425974],[26.22856,-27.489226],[25.999788,-27.639243],[25.874421,-27.620949],[25.798663,-27.580693],[25.640378,-27.673246],[25.580951,-27.654797],[25.421425,-27.710401],[25.24061,-27.822901],[25.225003,-27.877626],[25.129092,-27.929096],[25.053386,-28.058235],[25.013492,-28.068209],[24.93236,-28.096631],[24.842029,-27.905997],[25.026669,-27.707714],[24.972047,-27.685493],[24.814899,-27.687199],[24.795769,-27.611115],[24.671342,-27.671747],[24.691341,-27.826415],[24.621216,-27.904291],[24.611294,-28.000099],[24.519723,-28.099577],[24.438436,-28.037565],[24.447118,-27.977207],[24.362575,-27.898865],[24.445199,-27.782766],[24.407534,-27.684356],[24.1124,-27.742738],[24.115631,-27.628293],[24.04337,-27.585241],[24.036239,-27.474705],[24.084936,-27.358875],[23.894304,-27.257674],[23.962156,-27.099587],[24.023546,-27.016142],[23.988005,-26.912469],[23.926615,-26.866361],[23.845838,-26.886536],[23.493653,-26.736583],[23.580891,-26.615323],[23.458111,-26.52863],[23.27071,-26.479475],[23.283634,-26.343466],[23.222244,-26.268158],[23.30302,-26.143504],[23.222244,-26.120297],[23.228706,-26.059359],[23.351486,-26.079675],[23.374104,-26.015812],[23.099464,-25.986772],[23.05746,-26.099988],[22.986377,-26.160905],[22.915294,-26.155105],[22.850672,-26.398468],[22.815131,-26.447657],[22.702044,-26.410044],[22.70516,-26.129706],[22.615068,-26.10752]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"ZAF-1206","diss_me":1206,"iso_3166_2":"ZA-FS","wikipedia":null,"iso_a2":"ZA","adm0_sr":1,"name":"Free State","name_alt":"Orange Free State|Vrystaat","name_local":null,"type":"Provinsie","type_en":"Province","code_local":null,"code_hasc":"ZA.FS","note":null,"hasc_maybe":null,"region":null,"region_cod":null,"provnum_ne":7,"gadm_level":1,"check_me":20,"datarank":3,"abbrev":null,"postal":"FS","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":17,"mapcolor9":4,"mapcolor13":2,"fips":"SF03","fips_alt":"SF03","woe_id":2346980,"woe_label":"Free State, ZA, South Africa","woe_name":"Orange Free State","latitude":-28.5815,"longitude":26.4914,"sov_a3":"ZAF","adm0_a3":"ZAF","adm0_label":2,"admin":"South Africa","geonunit":"South Africa","gu_a3":"ZAF","gn_id":967573,"gn_name":"Free State","gns_id":-1269735,"gns_name":"Free State","gn_level":1,"gn_region":null,"gn_a1_code":"ZA.03","region_sub":null,"sub_code":null,"gns_level":1,"gns_lang":"por","gns_adm1":"SF03","gns_region":null,"min_label":4.6,"max_label":10.1,"min_zoom":4.6,"wikidataid":"Q160284","name_ar":"فري ستيت","name_bn":"ফ্রি অঙ্গরাজ্য","name_de":"Freistaat","name_en":"Free State","name_es":"Estado Libre","name_fr":"État libre","name_el":"Ελεύθερο Κράτος της Οράγγης","name_hi":"फ़्री स्टेट प्रान्त","name_hu":"Szabadállam","name_id":"Free State","name_it":"Free State","name_ja":"フリーステイト州","name_ko":"프리스테이트","name_nl":"Vrijstaat","name_pl":"Wolne Państwo","name_pt":"Estado Livre","name_ru":"Фри-Стейт","name_sv":"Fristatsprovinsen","name_tr":"Özgür Devlet","name_vi":"Free State","name_zh":"自由邦省","ne_id":1159309739,"name_he":"המדינה החופשית","name_uk":"Вільна держава","name_ur":"آزاد ریاست","name_fa":"ایالت آزاد","name_zht":"自由邦省","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[24.34082,-30.680556,29.771237,-26.671292],"geometry":{"type":"Polygon","coordinates":[[[28.856255,-28.776073],[28.816154,-28.758916],[28.721792,-28.687706],[28.681175,-28.646778],[28.652649,-28.597892],[28.625829,-28.581718],[28.583455,-28.594172],[28.471885,-28.615824],[28.232623,-28.701245],[28.084415,-28.78],[27.959875,-28.873379],[27.830374,-28.909088],[27.735599,-28.940094],[27.660462,-29.046961],[27.590285,-29.146489],[27.527137,-29.236096],[27.491015,-29.276611],[27.458045,-29.302759],[27.424921,-29.360016],[27.356811,-29.455308],[27.294489,-29.519335],[27.207466,-29.554216],[27.095225,-29.599278],[27.056933,-29.625633],[27.051713,-29.664029],[27.091763,-29.753687],[27.130468,-29.840194],[27.193514,-29.941325],[27.239712,-30.015325],[27.312679,-30.105707],[27.355364,-30.158624],[27.34968,-30.247352],[27.364046,-30.279237],[27.383487,-30.308481],[27.297797,-30.488216],[27.131915,-30.501652],[27.010424,-30.532916],[26.921799,-30.655338],[26.780774,-30.64278],[26.702691,-30.67513],[26.534587,-30.6511],[26.44157,-30.559581],[26.311449,-30.581544],[26.204737,-30.525475],[26.059888,-30.513848],[25.725438,-30.680556],[25.634487,-30.656526],[25.611233,-30.606297],[25.467469,-30.613118],[25.184902,-30.45566],[25.043464,-30.330241],[25.029305,-30.283061],[24.906883,-30.201205],[24.784462,-29.988247],[24.670412,-29.95011],[24.657544,-29.895643],[24.409084,-29.764488],[24.34082,-29.649043],[24.655064,-29.069336],[24.874327,-28.649879],[24.84513,-28.519396],[24.91603,-28.317444],[25.009926,-28.115079],[25.013492,-28.068209],[25.053386,-28.058235],[25.129092,-27.929096],[25.225003,-27.877626],[25.24061,-27.822901],[25.421425,-27.710401],[25.580951,-27.654797],[25.640378,-27.673246],[25.798663,-27.580693],[25.874421,-27.620949],[25.999788,-27.639243],[26.22856,-27.489226],[26.249592,-27.425974],[26.450148,-27.352904],[26.485908,-27.253788],[26.411132,-27.176842],[26.489681,-27.138602],[26.644917,-26.999334],[26.914151,-26.889935],[27.04391,-26.928795],[27.178011,-26.924403],[27.307512,-26.862391],[27.407557,-26.89443],[27.480266,-26.873967],[27.519437,-26.780691],[27.582534,-26.737644],[27.643512,-26.764102],[27.882309,-26.724312],[27.969694,-26.671292],[28.043953,-26.818001],[28.255826,-26.893604],[28.385844,-26.932929],[28.426358,-26.982642],[28.641281,-27.009876],[28.651823,-26.955719],[28.822665,-27.039124],[28.958574,-26.994993],[29.057431,-27.030339],[29.125592,-27.153949],[29.177682,-27.138136],[29.442265,-27.253168],[29.48464,-27.342207],[29.615278,-27.501835],[29.771237,-27.452329],[29.71615,-27.5177],[29.766432,-27.605291],[29.682612,-27.668027],[29.721886,-27.810964],[29.624115,-28.048055],[29.675326,-28.120971],[29.588923,-28.250162],[29.488361,-28.268248],[29.407332,-28.356925],[29.234784,-28.439556],[29.188896,-28.535467],[28.973043,-28.574845],[28.856255,-28.776073]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"ZAF-1208","diss_me":1208,"iso_3166_2":"ZA-GT","wikipedia":null,"iso_a2":"ZA","adm0_sr":1,"name":"Gauteng","name_alt":"Pretoria/Witwatersrand/Vaal","name_local":null,"type":"Provinsie","type_en":"Province","code_local":null,"code_hasc":"ZA.GT","note":"CSS 7, Formerly part of Transvaal","hasc_maybe":null,"region":null,"region_cod":null,"provnum_ne":6,"gadm_level":1,"check_me":20,"datarank":3,"abbrev":null,"postal":"GT","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":7,"mapcolor9":4,"mapcolor13":2,"fips":"SF06","fips_alt":"SF06","woe_id":2346981,"woe_label":"Gauteng, ZA, South Africa","woe_name":"Gauteng","latitude":-26.1682,"longitude":28.2074,"sov_a3":"ZAF","adm0_a3":"ZAF","adm0_label":2,"admin":"South Africa","geonunit":"South Africa","gu_a3":"ZAF","gn_id":1085594,"gn_name":"Gauteng","gns_id":204226,"gns_name":"Gauteng","gn_level":1,"gn_region":null,"gn_a1_code":"ZA.06","region_sub":null,"sub_code":null,"gns_level":1,"gns_lang":"khm","gns_adm1":"SF06","gns_region":null,"min_label":4.6,"max_label":10.1,"min_zoom":4.6,"wikidataid":"Q133083","name_ar":"خاوتينغ","name_bn":"গুটেং","name_de":"Gauteng","name_en":"Gauteng","name_es":"Gauteng","name_fr":"Gauteng","name_el":"Γκαουτένγκ","name_hi":"ख़ाउतेन्ग प्रान्त","name_hu":"Gauteng","name_id":"Gauteng","name_it":"Gauteng","name_ja":"ハウテン州","name_ko":"하우텡","name_nl":"Gauteng","name_pl":"Gauteng","name_pt":"Gauteng","name_ru":"Гаутенг","name_sv":"Gauteng","name_tr":"Gauteng","name_vi":"Gauteng","name_zh":"豪登省","ne_id":1159309741,"name_he":"חאוטנג","name_uk":"Гаутенг","name_ur":"گاؤتنگ","name_fa":"گائوتنگ","name_zht":"豪登省","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[27.191265,-26.893604,28.975989,-25.114901],"geometry":{"type":"Polygon","coordinates":[[[28.255826,-26.893604],[28.043953,-26.818001],[27.969694,-26.671292],[27.882309,-26.724312],[27.643512,-26.764102],[27.582534,-26.737644],[27.568604,-26.65005],[27.334812,-26.615728],[27.243404,-26.640021],[27.229782,-26.503503],[27.191265,-26.381919],[27.324443,-26.28655],[27.290496,-26.145986],[27.39459,-26.12287],[27.445236,-26.007101],[27.459337,-25.885293],[27.640715,-25.803653],[27.727641,-25.87842],[27.875643,-25.852995],[27.942822,-25.806848],[27.963821,-25.592571],[28.033289,-25.471577],[27.949281,-25.410305],[28.004209,-25.36068],[28.104372,-25.372358],[28.23523,-25.353381],[28.293705,-25.317111],[28.43318,-25.322072],[28.527076,-25.269723],[28.66314,-25.247451],[28.605727,-25.157896],[28.751765,-25.114901],[28.782894,-25.227762],[28.629419,-25.33294],[28.627803,-25.526987],[28.669807,-25.663944],[28.763508,-25.706165],[28.858824,-25.631905],[28.803896,-25.541565],[28.920214,-25.551768],[28.975989,-25.673678],[28.941216,-25.869812],[28.881473,-25.89568],[28.870133,-26.004923],[28.778047,-26.012182],[28.634265,-25.972975],[28.580953,-26.058633],[28.500979,-26.08001],[28.532487,-26.221066],[28.718273,-26.338399],[28.807127,-26.307991],[28.86367,-26.400638],[28.795818,-26.426682],[28.766739,-26.516343],[28.643959,-26.50767],[28.529256,-26.565483],[28.506405,-26.612949],[28.401629,-26.659367],[28.408091,-26.758945],[28.303782,-26.829421],[28.255826,-26.893604]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"ZAF-1209","diss_me":1209,"iso_3166_2":"ZA-MP","wikipedia":null,"iso_a2":"ZA","adm0_sr":1,"name":"Mpumalanga","name_alt":"Eastern Transvaal","name_local":null,"type":"Provinsie","type_en":"Province","code_local":null,"code_hasc":"ZA.MP","note":"CSS 8, Formerly part of Transvaal","hasc_maybe":null,"region":null,"region_cod":null,"provnum_ne":8,"gadm_level":1,"check_me":20,"datarank":3,"abbrev":null,"postal":"MP","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":10,"mapcolor9":4,"mapcolor13":2,"fips":"SF07","fips_alt":"SF07","woe_id":2346983,"woe_label":"Mpumalanga, ZA, South Africa","woe_name":"Mpumalanga","latitude":-25.9893,"longitude":30.1421,"sov_a3":"ZAF","adm0_a3":"ZAF","adm0_label":2,"admin":"South Africa","geonunit":"South Africa","gu_a3":"ZAF","gn_id":1085595,"gn_name":"Mpumalanga","gns_id":204230,"gns_name":"Mpumalanga","gn_level":1,"gn_region":null,"gn_a1_code":"ZA.07","region_sub":null,"sub_code":null,"gns_level":1,"gns_lang":"khm","gns_adm1":"SF07","gns_region":null,"min_label":4.6,"max_label":10.1,"min_zoom":4.6,"wikidataid":"Q132410","name_ar":"مبومالانجا","name_bn":"এম্পোমালাগা","name_de":"Mpumalanga","name_en":"Mpumalanga","name_es":"Mpumalanga","name_fr":"Mpumalanga","name_el":"Μπουμαλάνγκα","name_hi":"अमपूमलांगा प्रान्त","name_hu":"Mpumalanga","name_id":"Mpumalanga","name_it":"Mpumalanga","name_ja":"ムプマランガ州","name_ko":"음푸말랑가","name_nl":"Mpumalanga","name_pl":"Mpumalanga","name_pt":"Mpumalanga","name_ru":"Мпумаланга","name_sv":"Mpumalanga","name_tr":"Mpumalanga","name_vi":"Mpumalanga","name_zh":"普马兰加省","ne_id":1159309743,"name_he":"מפומלנגה","name_uk":"Мпумаланга","name_ur":"ماپومالانگا","name_fa":"امپومالانگا","name_zht":"普馬蘭加省","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[28.255826,-27.501835,31.987019,-23.963832],"geometry":{"type":"Polygon","coordinates":[[[31.828014,-23.963832],[31.858293,-24.040238],[31.907955,-24.236195],[31.950588,-24.330298],[31.966659,-24.376445],[31.985831,-24.460677],[31.983195,-24.638289],[31.984436,-24.844065],[31.985779,-25.07387],[31.987019,-25.263471],[31.979371,-25.359434],[31.984539,-25.631975],[31.920254,-25.77393],[31.928263,-25.885396],[31.948262,-25.957588],[31.9217,-25.968802],[31.871471,-25.981618],[31.640477,-25.86731],[31.415116,-25.746542],[31.382612,-25.742976],[31.335173,-25.755585],[31.207325,-25.843332],[31.088056,-25.980688],[31.033279,-26.097735],[30.945223,-26.218709],[30.803371,-26.413426],[30.789056,-26.455439],[30.787506,-26.613621],[30.794276,-26.764309],[30.80673,-26.78529],[30.883314,-26.792421],[30.938091,-26.915773],[31.063355,-27.112298],[31.273988,-27.238389],[31.15105,-27.324017],[30.980053,-27.354661],[30.901608,-27.311201],[30.833291,-27.334249],[30.661932,-27.276681],[30.574858,-27.310839],[30.443755,-27.308824],[30.422515,-27.275234],[30.280974,-27.302002],[30.133386,-27.379207],[29.929212,-27.364376],[29.771237,-27.452329],[29.615278,-27.501835],[29.48464,-27.342207],[29.442265,-27.253168],[29.177682,-27.138136],[29.125592,-27.153949],[29.057431,-27.030339],[28.958574,-26.994993],[28.822665,-27.039124],[28.651823,-26.955719],[28.641281,-27.009876],[28.426358,-26.982642],[28.385844,-26.932929],[28.255826,-26.893604],[28.303782,-26.829421],[28.408091,-26.758945],[28.401629,-26.659367],[28.506405,-26.612949],[28.529256,-26.565483],[28.643959,-26.50767],[28.766739,-26.516343],[28.795818,-26.426682],[28.86367,-26.400638],[28.807127,-26.307991],[28.718273,-26.338399],[28.532487,-26.221066],[28.500979,-26.08001],[28.580953,-26.058633],[28.634265,-25.972975],[28.778047,-26.012182],[28.870133,-26.004923],[28.881473,-25.89568],[28.941216,-25.869812],[28.975989,-25.673678],[28.920214,-25.551768],[28.803896,-25.541565],[28.858824,-25.631905],[28.763508,-25.706165],[28.669807,-25.663944],[28.627803,-25.526987],[28.629419,-25.33294],[28.782894,-25.227762],[28.751765,-25.114901],[28.605727,-25.157896],[28.392045,-25.22368],[28.354528,-25.188643],[28.458811,-25.11733],[28.629419,-25.051531],[28.611648,-25.00176],[28.731559,-24.942767],[28.897597,-24.956363],[28.96868,-25.072019],[29.042994,-25.142238],[29.038148,-25.269406],[29.099538,-25.317607],[29.165774,-25.304463],[29.211009,-25.408116],[29.267553,-25.374548],[29.353176,-25.403738],[29.527653,-25.411034],[29.671435,-25.370169],[29.769982,-25.394982],[29.8863,-25.343891],[30.004234,-25.33221],[30.007465,-25.14955],[30.034929,-25.072019],[30.123783,-25.123224],[30.185173,-25.022257],[30.183557,-24.855259],[30.349957,-24.877245],[30.42104,-24.850861],[30.492123,-24.947575],[30.658523,-24.818606],[30.719913,-24.70418],[30.673063,-24.617558],[30.734453,-24.582304],[30.765148,-24.464721],[30.975167,-24.581569],[31.220727,-24.556592],[31.2595,-24.508092],[31.162568,-24.378668],[31.194878,-24.310962],[31.059174,-24.321267],[31.051096,-24.190178],[31.110871,-24.097303],[31.202956,-24.035349],[31.24846,-24.100699],[31.412636,-24.054139],[31.445554,-24.022668],[31.712308,-24.049953],[31.779952,-23.965307],[31.828014,-23.963832]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"ZAF-1210","diss_me":1210,"iso_3166_2":"ZA-LP","wikipedia":null,"iso_a2":"ZA","adm0_sr":1,"name":"Limpopo","name_alt":"Noordelike Provinsie|Northern Transvaal|Northern Province","name_local":null,"type":"Provinsie","type_en":"Province","code_local":null,"code_hasc":"ZA.NP","note":"CSS 9, Formerly part of Transvaal","hasc_maybe":null,"region":null,"region_cod":null,"provnum_ne":5,"gadm_level":1,"check_me":20,"datarank":3,"abbrev":null,"postal":"NP","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":7,"mapcolor9":4,"mapcolor13":2,"fips":"SF09","fips_alt":"SF09","woe_id":2346986,"woe_label":"Limpopo, ZA, South Africa","woe_name":"Limpopo","latitude":-23.5859,"longitude":29.1301,"sov_a3":"ZAF","adm0_a3":"ZAF","adm0_label":2,"admin":"South Africa","geonunit":"South Africa","gu_a3":"ZAF","gn_id":1085597,"gn_name":"Limpopo","gns_id":204232,"gns_name":"Limpopo Province","gn_level":1,"gn_region":null,"gn_a1_code":"ZA.09","region_sub":null,"sub_code":null,"gns_level":1,"gns_lang":"khm","gns_adm1":"SF09","gns_region":null,"min_label":4.6,"max_label":10.1,"min_zoom":4.6,"wikidataid":"Q134907","name_ar":"ليمبوبو","name_bn":"লিম্পোপো","name_de":"Limpopo","name_en":"Limpopo","name_es":"Limpopo","name_fr":"Limpopo","name_el":"Λιμπόπο","name_hi":"लिम्पोपो प्रान्त","name_hu":"Limpopo","name_id":"Limpopo","name_it":"Limpopo","name_ja":"リンポポ州","name_ko":"림포포","name_nl":"Limpopo","name_pl":"Limpopo","name_pt":"Limpopo","name_ru":"Лимпопо","name_sv":"Limpopoprovinsen","name_tr":"Limpopo","name_vi":"Limpopo","name_zh":"林波波省","ne_id":1159309745,"name_he":"לימפופו","name_uk":"Лімпопо","name_ur":"لیمپوپو","name_fa":"لیمپوپو","name_zht":"林波波省","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[26.397168,-25.411034,31.828014,-22.146296],"geometry":{"type":"Polygon","coordinates":[[[31.828014,-23.963832],[31.779952,-23.965307],[31.712308,-24.049953],[31.445554,-24.022668],[31.412636,-24.054139],[31.24846,-24.100699],[31.202956,-24.035349],[31.110871,-24.097303],[31.051096,-24.190178],[31.059174,-24.321267],[31.194878,-24.310962],[31.162568,-24.378668],[31.2595,-24.508092],[31.220727,-24.556592],[30.975167,-24.581569],[30.765148,-24.464721],[30.734453,-24.582304],[30.673063,-24.617558],[30.719913,-24.70418],[30.658523,-24.818606],[30.492123,-24.947575],[30.42104,-24.850861],[30.349957,-24.877245],[30.183557,-24.855259],[30.185173,-25.022257],[30.123783,-25.123224],[30.034929,-25.072019],[30.007465,-25.14955],[30.004234,-25.33221],[29.8863,-25.343891],[29.769982,-25.394982],[29.671435,-25.370169],[29.527653,-25.411034],[29.353176,-25.403738],[29.267553,-25.374548],[29.211009,-25.408116],[29.165774,-25.304463],[29.099538,-25.317607],[29.038148,-25.269406],[29.042994,-25.142238],[28.96868,-25.072019],[28.897597,-24.956363],[28.731559,-24.942767],[28.611648,-25.00176],[28.629419,-25.051531],[28.458811,-25.11733],[28.354528,-25.188643],[28.392045,-25.22368],[28.605727,-25.157896],[28.66314,-25.247451],[28.527076,-25.269723],[28.43318,-25.322072],[28.293705,-25.317111],[28.230866,-25.225798],[28.127513,-25.200167],[28.124413,-25.109785],[28.221978,-25.07759],[28.098161,-25.009378],[27.965818,-24.98509],[27.906235,-25.00328],[27.667593,-24.970775],[27.587185,-24.99682],[27.54574,-25.092783],[27.487863,-25.055731],[27.366526,-25.059039],[27.289425,-25.00669],[27.182507,-24.990929],[27.055434,-24.849749],[27.022981,-24.723969],[26.94433,-24.789546],[26.76801,-24.866182],[26.626365,-24.827373],[26.455419,-24.812335],[26.410357,-24.741487],[26.397168,-24.613574],[26.45175,-24.582685],[26.501515,-24.513284],[26.617735,-24.395462],[26.761137,-24.297173],[26.835086,-24.240794],[26.970581,-23.76351],[26.987015,-23.704548],[27.08551,-23.57794],[27.146385,-23.524404],[27.185555,-23.523422],[27.241159,-23.490039],[27.313403,-23.424255],[27.399186,-23.383637],[27.498715,-23.368341],[27.563207,-23.324622],[27.592662,-23.252637],[27.643874,-23.217652],[27.716738,-23.219616],[27.758285,-23.196775],[27.768517,-23.148923],[27.812597,-23.107995],[27.890525,-23.073888],[27.93135,-23.033581],[27.93507,-22.98702],[28.027985,-22.873694],[28.210196,-22.693653],[28.381762,-22.593401],[28.542889,-22.572937],[28.695541,-22.53542],[28.839821,-22.48085],[28.94581,-22.39517],[29.013506,-22.278433],[29.129881,-22.213269],[29.364802,-22.19389],[29.377463,-22.192805],[29.66313,-22.146296],[29.902341,-22.184227],[30.190385,-22.291146],[30.460188,-22.329024],[30.711645,-22.297812],[30.916077,-22.29068],[31.07338,-22.307785],[31.1973,-22.344889],[31.287837,-22.402043],[31.29316,-22.454701],[31.30024,-22.478576],[31.347989,-22.617534],[31.419302,-22.825118],[31.466689,-23.016683],[31.53175,-23.279457],[31.529631,-23.425805],[31.545599,-23.482339],[31.604097,-23.552929],[31.675566,-23.674265],[31.699957,-23.743098],[31.723986,-23.794568],[31.799641,-23.892236],[31.828014,-23.963832]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"ZAF-1216","diss_me":1216,"iso_3166_2":"ZA-NL","wikipedia":null,"iso_a2":"ZA","adm0_sr":1,"name":"KwaZulu-Natal","name_alt":"Natal and Zululand","name_local":null,"type":"Provinsie","type_en":"Province","code_local":null,"code_hasc":"ZA.NL","note":"CSS 5, Formerly part of Natal, Cape of Good Hope","hasc_maybe":null,"region":null,"region_cod":null,"provnum_ne":3,"gadm_level":1,"check_me":20,"datarank":3,"abbrev":null,"postal":"NL","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":13,"mapcolor9":4,"mapcolor13":2,"fips":"SF02","fips_alt":"SF02","woe_id":2346982,"woe_label":"Kwazulu Natal, ZA, South Africa","woe_name":"KwaZulu-Natal","latitude":-28.7468,"longitude":30.8231,"sov_a3":"ZAF","adm0_a3":"ZAF","adm0_label":2,"admin":"South Africa","geonunit":"South Africa","gu_a3":"ZAF","gn_id":972062,"gn_name":"Province of KwaZulu-Natal","gns_id":-1264758,"gns_name":"KwaZulu-Natal","gn_level":1,"gn_region":null,"gn_a1_code":"ZA.02","region_sub":null,"sub_code":null,"gns_level":1,"gns_lang":"por","gns_adm1":"SF02","gns_region":null,"min_label":4.6,"max_label":10.1,"min_zoom":4.6,"wikidataid":"Q81725","name_ar":"كوازولو ناتال","name_bn":"কোয়া-জুলু নাটাল প্রদেশ","name_de":"KwaZulu-Natal","name_en":"KwaZulu-Natal","name_es":"KwaZulu-Natal","name_fr":"KwaZulu-Natal","name_el":"Κουαζούλου-Νατάλ","name_hi":"क्वाज़ूलू-नताल प्रान्त","name_hu":"KwaZulu-Natal","name_id":"KwaZulu-Natal","name_it":"KwaZulu-Natal","name_ja":"クワズール・ナタール州","name_ko":"콰줄루나탈","name_nl":"KwaZoeloe-Natal","name_pl":"KwaZulu-Natal","name_pt":"KwaZulu-Natal","name_ru":"Квазулу-Натал","name_sv":"KwaZulu-Natal","name_tr":"KwaZulu-Natal","name_vi":"KwaZulu-Natal","name_zh":"夸祖鲁-纳塔尔省","ne_id":1159309747,"name_he":"קוואזולו-נטאל","name_uk":"Квазулу-Наталь","name_ur":"کوازولو نیٹل","name_fa":"کوازولو-ناتال","name_zht":"誇祖魯-納塔爾省","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[28.856255,-31.074644,32.886133,-26.81118],"geometry":{"type":"Polygon","coordinates":[[[31.273988,-27.238389],[31.469532,-27.295543],[31.742538,-27.309961],[31.958391,-27.305878],[31.94604,-27.173587],[31.967176,-26.96068],[31.994668,-26.817484],[32.024847,-26.81118],[32.081691,-26.824822],[32.112903,-26.839498],[32.199565,-26.833504],[32.353457,-26.861616],[32.477739,-26.858515],[32.58874,-26.855725],[32.776532,-26.851022],[32.886133,-26.849316],[32.849121,-27.080176],[32.705859,-27.441602],[32.657031,-27.607324],[32.534766,-28.199707],[32.375195,-28.498242],[32.285742,-28.621484],[32.027246,-28.839551],[31.955371,-28.883789],[31.891504,-28.912109],[31.778223,-28.937109],[31.335156,-29.378125],[31.169922,-29.59082],[31.02334,-29.900879],[30.877637,-30.071094],[30.663574,-30.43418],[30.472266,-30.714551],[30.288672,-30.970117],[30.194383,-31.074644],[30.125789,-30.934442],[30.063571,-30.858995],[29.974222,-30.831761],[29.793872,-30.708823],[29.602411,-30.688256],[29.476113,-30.620198],[29.320154,-30.655286],[29.220342,-30.61795],[29.162977,-30.554784],[29.200331,-30.436382],[29.296385,-30.37425],[29.297719,-30.317836],[29.174983,-30.285585],[29.101609,-30.173777],[29.115619,-30.078112],[29.014395,-29.976241],[29.029009,-29.967576],[29.098049,-29.919052],[29.121975,-29.801126],[29.142232,-29.700977],[29.195149,-29.651626],[29.249202,-29.618812],[29.29354,-29.566929],[29.348886,-29.441975],[29.386765,-29.31976],[29.390692,-29.269686],[29.370952,-29.218475],[29.335915,-29.163698],[29.301344,-29.089852],[29.259744,-29.078276],[29.177992,-29.036935],[29.057999,-28.953736],[28.953716,-28.881441],[28.856255,-28.776073],[28.973043,-28.574845],[29.188896,-28.535467],[29.234784,-28.439556],[29.407332,-28.356925],[29.488361,-28.268248],[29.588923,-28.250162],[29.675326,-28.120971],[29.624115,-28.048055],[29.721886,-27.810964],[29.682612,-27.668027],[29.766432,-27.605291],[29.71615,-27.5177],[29.771237,-27.452329],[29.929212,-27.364376],[30.133386,-27.379207],[30.280974,-27.302002],[30.422515,-27.275234],[30.443755,-27.308824],[30.574858,-27.310839],[30.661932,-27.276681],[30.833291,-27.334249],[30.901608,-27.311201],[30.980053,-27.354661],[31.15105,-27.324017],[31.273988,-27.238389]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"ZAF-1926","diss_me":1926,"iso_3166_2":"ZA-EC","wikipedia":null,"iso_a2":"ZA","adm0_sr":1,"name":"Eastern Cape","name_alt":"Oos-Kaap","name_local":null,"type":"Provinsie","type_en":"Province","code_local":null,"code_hasc":"ZA.EC","note":"CSS 2, Formerly part of Cape of Good Hope","hasc_maybe":null,"region":null,"region_cod":null,"provnum_ne":1,"gadm_level":1,"check_me":20,"datarank":3,"abbrev":null,"postal":"EC","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":12,"mapcolor9":4,"mapcolor13":2,"fips":"SF05","fips_alt":"SF05","woe_id":2346979,"woe_label":"Eastern Cape, ZA, South Africa","woe_name":"Eastern Cape","latitude":-32.0622,"longitude":26.6417,"sov_a3":"ZAF","adm0_a3":"ZAF","adm0_label":2,"admin":"South Africa","geonunit":"South Africa","gu_a3":"ZAF","gn_id":1085593,"gn_name":"Province of Eastern Cape","gns_id":204039,"gns_name":"Eastern Cape","gn_level":1,"gn_region":null,"gn_a1_code":"ZA.05","region_sub":null,"sub_code":null,"gns_level":1,"gns_lang":"khm","gns_adm1":"SF05","gns_region":null,"min_label":4.6,"max_label":10.1,"min_zoom":4.6,"wikidataid":"Q130840","name_ar":"كيب الشرقية","name_bn":"পূর্ব কেপ","name_de":"Ostkap","name_en":"Eastern Cape","name_es":"Oriental del Cabo","name_fr":"Cap-Oriental","name_el":"Ανατολικότερο Ακρωτήριο","name_hi":"पूर्वी केप प्रान्त","name_hu":"Kelet-Fokföld","name_id":"Eastern Cape","name_it":"Capo Orientale","name_ja":"東ケープ州","name_ko":"이스턴케이프","name_nl":"Oost-Kaap","name_pl":"Prowincja Przylądkowa Wschodnia","name_pt":"Cabo Oriental","name_ru":"Восточно-Капская провинция","name_sv":"Östra Kapprovinsen","name_tr":"Doğu Kap","name_vi":"Đông Cape","name_zh":"东开普省","ne_id":1159311157,"name_he":"הכף המזרחי","name_uk":"Східна Капська провінція","name_ur":"مشرقی کیپ","name_fa":"کیپ شرقی","name_zht":"東開普省","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[22.745206,-34.174512,30.194383,-29.976241],"geometry":{"type":"Polygon","coordinates":[[[29.014395,-29.976241],[29.115619,-30.078112],[29.101609,-30.173777],[29.174983,-30.285585],[29.297719,-30.317836],[29.296385,-30.37425],[29.200331,-30.436382],[29.162977,-30.554784],[29.220342,-30.61795],[29.320154,-30.655286],[29.476113,-30.620198],[29.602411,-30.688256],[29.793872,-30.708823],[29.974222,-30.831761],[30.063571,-30.858995],[30.125789,-30.934442],[30.194383,-31.074644],[29.971191,-31.32207],[29.830273,-31.423828],[29.735156,-31.47041],[29.48291,-31.674707],[29.127832,-32.003125],[28.855957,-32.294238],[28.449414,-32.624609],[28.214063,-32.769238],[27.860645,-33.053906],[27.762109,-33.095996],[27.36377,-33.360547],[27.077441,-33.521191],[26.613672,-33.707422],[26.429492,-33.75957],[25.989551,-33.711328],[25.805859,-33.737109],[25.652441,-33.849609],[25.638184,-34.011133],[25.574219,-34.035352],[25.477246,-34.028125],[25.169727,-33.960742],[25.00293,-33.973633],[24.905566,-34.059766],[24.827148,-34.168945],[24.595508,-34.174512],[24.183008,-34.061523],[23.697852,-33.992773],[23.634909,-33.988504],[23.686751,-33.872041],[23.544176,-33.796335],[23.366512,-33.780728],[23.437257,-33.711999],[23.618176,-33.644044],[23.563399,-33.495991],[23.437412,-33.432636],[23.261609,-33.398891],[23.029478,-33.390003],[22.749547,-33.401578],[22.745206,-33.327888],[22.915739,-33.095602],[22.916204,-33.014057],[23.000746,-32.889207],[23.19505,-32.808023],[23.326928,-32.807713],[23.370388,-32.768232],[23.278197,-32.667515],[23.237063,-32.505302],[23.24254,-32.424532],[23.325378,-32.354562],[23.601588,-32.324745],[23.673728,-32.239324],[23.757083,-32.195916],[23.885395,-32.228007],[24.028797,-32.174573],[24.090085,-32.124809],[24.122332,-32.003111],[24.181604,-31.951641],[24.129773,-31.857538],[24.147033,-31.789894],[24.154319,-31.75801],[24.334618,-31.719304],[24.49957,-31.704834],[24.512592,-31.552957],[24.558687,-31.401804],[24.765238,-31.389091],[24.968016,-31.283878],[25.215081,-31.201558],[25.35006,-31.227706],[25.445507,-31.095156],[25.50664,-30.934442],[25.521988,-30.801892],[25.483024,-30.755797],[25.467469,-30.613118],[25.611233,-30.606297],[25.634487,-30.656526],[25.725438,-30.680556],[26.059888,-30.513848],[26.204737,-30.525475],[26.311449,-30.581544],[26.44157,-30.559581],[26.534587,-30.6511],[26.702691,-30.67513],[26.780774,-30.64278],[26.921799,-30.655338],[27.010424,-30.532916],[27.131915,-30.501652],[27.297797,-30.488216],[27.383487,-30.308481],[27.388437,-30.315927],[27.408591,-30.325332],[27.431432,-30.33851],[27.491945,-30.363986],[27.506569,-30.380936],[27.549047,-30.411218],[27.589665,-30.466409],[27.66656,-30.542321],[27.753066,-30.600044],[27.901842,-30.623815],[28.018166,-30.642315],[28.05682,-30.63105],[28.096404,-30.584541],[28.128702,-30.525113],[28.139037,-30.449872],[28.176141,-30.409823],[28.315461,-30.218465],[28.392097,-30.147565],[28.439122,-30.142501],[28.499584,-30.12891],[28.576685,-30.123019],[28.634356,-30.128755],[28.646913,-30.126585],[28.736882,-30.101987],[28.90111,-30.038425],[28.975317,-29.999409],[29.014395,-29.976241]]]}},{"type":"Feature","properties":{"featurecla":"Admin-1 scale rank","scalerank":2,"adm1_code":"IND-2447","diss_me":2447,"iso_3166_2":"IN-MH","wikipedia":null,"iso_a2":"IN","adm0_sr":1,"name":"Maharashtra","name_alt":null,"name_local":null,"type":"State","type_en":"State","code_local":null,"code_hasc":"IN.MH","note":null,"hasc_maybe":"IN.MP|IND-MHR","region":"West","region_cod":null,"provnum_ne":20055,"gadm_level":1,"check_me":20,"datarank":1,"abbrev":null,"postal":"MH","area_sqkm":0,"sameascity":-99,"labelrank":2,"name_len":11,"mapcolor9":2,"mapcolor13":2,"fips":"IN16","fips_alt":"IN35","woe_id":2345750,"woe_label":"Maharashtra, IN, India","woe_name":"Maharashtra","latitude":19.4723,"longitude":75.4647,"sov_a3":"IND","adm0_a3":"IND","adm0_label":2,"admin":"India","geonunit":"India","gu_a3":"IND","gn_id":1264418,"gn_name":"State of Maharashtra","gns_id":-2103151,"gns_name":"Maharashtra, State of","gn_level":1,"gn_region":null,"gn_a1_code":"IN.16","region_sub":null,"sub_code":null,"gns_level":1,"gns_lang":"nld","gns_adm1":"IN16","gns_region":null,"min_label":4.6,"max_label":10.1,"min_zoom":4.6,"wikidataid":"Q1191","name_ar":"ماهاراشترا","name_bn":"মহারাষ্ট্র","name_de":"Maharashtra","name_en":"Maharashtra","name_es":"Maharashtra","name_fr":"Maharashtra","name_el":"Μαχαράστρα","name_hi":"महाराष्ट्र","name_hu":"Mahárástra","name_id":"Maharashtra","name_it":"Maharashtra","name_ja":"マハーラーシュトラ州","name_ko":"마하라슈트라","name_nl":"Maharashtra","name_pl":"Maharasztra","name_pt":"Maharashtra","name_ru":"Махараштра","name_sv":"Maharashtra","name_tr":"Maharaştra","name_vi":"Maharashtra","name_zh":"马哈拉施特拉邦","ne_id":1159311891,"name_he":"מהאראשטרה","name_uk":"Махараштра","name_ur":"مہاراشٹر","name_fa":"مهاراشترا","name_zht":"馬哈拉什特拉邦","FCLASS_ISO":null,"FCLASS_US":null,"FCLASS_FR":null,"FCLASS_RU":null,"FCLASS_ES":null,"FCLASS_CN":null,"FCLASS_TW":null,"FCLASS_IN":null,"FCLASS_NP":null,"FCLASS_PK":null,"FCLASS_DE":null,"FCLASS_GB":null,"FCLASS_BR":null,"FCLASS_IL":null,"FCLASS_PS":null,"FCLASS_SA":null,"FCLASS_EG":null,"FCLASS_MA":null,"FCLASS_PT":null,"FCLASS_AR":null,"FCLASS_JP":null,"FCLASS_KO":null,"FCLASS_VN":null,"FCLASS_TR":null,"FCLASS_ID":null,"FCLASS_PL":null,"FCLASS_GR":null,"FCLASS_IT":null,"FCLASS_NL":null,"FCLASS_SE":null,"FCLASS_BD":null,"FCLASS_UA":null,"FCLASS_TLC":null},"bbox":[72.667773,15.611105,80.893905,22.023049],"geometry":{"type":"Polygon","coordinates":[[[74.103545,15.644573],[74.095452,15.643227],[73.991683,15.611105],[73.942035,15.634443],[73.908388,15.721237],[73.807623,15.774857],[73.678865,15.711175],[73.607715,15.871094],[73.476074,16.054248],[73.453711,16.1521],[73.337598,16.459863],[73.23916,17.198535],[73.149023,17.527441],[73.156055,17.621924],[73.047168,17.906738],[72.993945,18.097705],[72.97207,18.259277],[72.943164,18.365625],[72.917188,18.576123],[72.875488,18.642822],[72.870898,18.683057],[72.89873,18.778955],[72.976855,18.927197],[73.005566,19.021094],[72.97207,19.15332],[72.900684,19.014502],[72.834668,18.975586],[72.803027,19.079297],[72.802734,19.21875],[72.794531,19.2521],[72.811621,19.298926],[72.987207,19.277441],[72.787891,19.362988],[72.763965,19.413184],[72.756445,19.450537],[72.799414,19.519824],[72.726562,19.578271],[72.697461,19.757129],[72.675977,19.797949],[72.667773,19.830957],[72.708984,20.078027],[72.947207,20.127402],[72.997229,20.039811],[73.16094,20.047485],[73.166315,20.114871],[73.243313,20.138642],[73.271838,20.193419],[73.363822,20.178304],[73.394104,20.270391],[73.360721,20.369377],[73.4587,20.538023],[73.404233,20.66985],[73.475753,20.678712],[73.699822,20.562414],[73.792323,20.606184],[73.81103,20.676904],[73.909008,20.775709],[73.902911,20.883868],[73.868287,20.974767],[73.695171,21.122639],[73.77744,21.216638],[73.800074,21.280949],[73.91862,21.291569],[73.960168,21.394379],[74.053496,21.465718],[74.108686,21.451559],[74.291517,21.513855],[74.191575,21.545507],[73.995928,21.555325],[73.820848,21.508326],[73.751602,21.611033],[73.8286,21.650927],[73.809376,21.836471],[73.917587,21.866883],[74.06104,21.940315],[74.12884,21.951761],[74.204908,21.92507],[74.284386,21.94494],[74.407686,22.023049],[74.485614,21.945973],[74.512486,21.726917],[74.708133,21.611162],[74.894065,21.61204],[75.047957,21.554059],[75.129916,21.437684],[75.31192,21.38146],[75.534749,21.371797],[75.814008,21.383372],[75.877777,21.399779],[76.082933,21.368076],[76.142877,21.193125],[76.108564,21.153128],[76.186802,21.085819],[76.286641,21.074812],[76.436606,21.107808],[76.498308,21.180361],[76.614063,21.202479],[76.653957,21.251313],[76.63339,21.341049],[76.729508,21.413009],[76.785525,21.501685],[76.79369,21.577004],[76.917404,21.618086],[77.028818,21.693586],[77.115531,21.724049],[77.218987,21.700846],[77.332985,21.774459],[77.46073,21.770041],[77.551783,21.696764],[77.555194,21.542484],[77.456802,21.548504],[77.433134,21.498817],[77.481814,21.423886],[77.578035,21.384457],[77.712601,21.380272],[77.787531,21.423008],[77.871454,21.3981],[78.02917,21.437684],[78.192675,21.551114],[78.413333,21.606304],[78.427906,21.508481],[78.513689,21.526593],[78.696003,21.474762],[78.904156,21.509282],[78.921932,21.572275],[79.215765,21.65457],[79.240053,21.712758],[79.413065,21.689813],[79.533058,21.619275],[79.551558,21.550029],[79.650467,21.581551],[79.798365,21.587804],[79.840326,21.534345],[80.005277,21.548323],[80.186661,21.63948],[80.310168,21.580233],[80.417552,21.446831],[80.625601,21.326476],[80.679034,21.351152],[80.625601,21.242657],[80.484524,21.167701],[80.435328,20.999235],[80.48132,20.931978],[80.552117,20.919318],[80.572994,20.697574],[80.503025,20.633289],[80.622397,20.600913],[80.622397,20.325891],[80.424373,20.234088],[80.426337,20.146238],[80.53062,20.134869],[80.557181,20.048337],[80.531137,19.920697],[80.425096,19.892817],[80.537751,19.81091],[80.565553,19.739777],[80.675727,19.676551],[80.712934,19.592603],[80.830963,19.547102],[80.893905,19.484444],[80.832203,19.345409],[80.716655,19.262701],[80.617436,19.318563],[80.575992,19.391969],[80.397088,19.234175],[80.366599,19.117386],[80.271824,18.979436],[80.344171,18.85071],[80.274821,18.776942],[80.270377,18.71369],[80.090543,18.69749],[80.001866,18.785624],[79.960319,18.867117],[79.93355,19.053127],[79.861823,19.081084],[79.943782,19.169218],[79.930553,19.211928],[79.965486,19.401917],[79.93107,19.482532],[79.864924,19.50899],[79.795781,19.594101],[79.735423,19.603352],[79.538949,19.533821],[79.420403,19.536379],[79.266002,19.589555],[79.197731,19.461883],[79.058876,19.547063],[79.024346,19.541525],[78.87253,19.650119],[78.847518,19.724533],[78.780029,19.776674],[78.711713,19.774349],[78.533739,19.824656],[78.477722,19.799128],[78.383257,19.866152],[78.321762,19.863258],[78.383567,19.684535],[78.333441,19.643272],[78.302642,19.482765],[78.240114,19.460182],[78.174381,19.374657],[78.16787,19.264096],[78.063897,19.264096],[77.992377,19.322749],[77.92003,19.331663],[77.855021,19.228362],[77.833627,19.121443],[77.751978,19.045892],[77.912072,18.835362],[77.839311,18.80955],[77.781123,18.703768],[77.703402,18.669119],[77.679941,18.569978],[77.592298,18.548145],[77.502588,18.381591],[77.551163,18.307875],[77.461453,18.281933],[77.346628,18.351516],[77.301876,18.460269],[77.232733,18.410659],[77.23108,18.333791],[77.117908,18.253847],[77.087729,18.197055],[76.949546,18.179976],[76.892909,18.144293],[76.885054,17.974459],[76.839062,17.884232],[76.740877,17.898417],[76.755656,17.825837],[76.675971,17.706852],[76.592669,17.770595],[76.512984,17.772817],[76.390614,17.636779],[76.322194,17.61771],[76.343795,17.351861],[76.210367,17.388913],[76.094715,17.377751],[75.936482,17.325868],[75.870026,17.416147],[75.783933,17.374805],[75.61309,17.471595],[75.552836,17.365917],[75.622082,17.220939],[75.605132,17.158126],[75.646783,17.091412],[75.616708,16.974675],[75.553766,17.014905],[75.45341,16.964055],[75.370831,16.984467],[75.256006,16.959172],[75.24257,16.902095],[75.166503,16.867937],[75.043409,16.952816],[74.960004,16.951136],[74.92228,16.889331],[74.844559,16.852021],[74.866676,16.776211],[74.684878,16.708438],[74.665758,16.606222],[74.557444,16.551652],[74.524578,16.623843],[74.43001,16.644333],[74.353219,16.543512],[74.292448,16.528371],[74.366241,16.292882],[74.451921,16.253944],[74.469594,16.109792],[74.415954,16.096356],[74.42877,15.993753],[74.354459,15.872572],[74.331102,15.761932],[74.223511,15.726095],[74.186097,15.76573],[74.103545,15.644573]]]}}],"bbox":[-180,-46.962890625,180,83.1161137814993]} diff --git a/docs/examples/data/us-states.txt b/docs/examples/data/us-states.txt new file mode 100644 index 000000000..4a0006c1b --- /dev/null +++ b/docs/examples/data/us-states.txt @@ -0,0 +1,6 @@ +mapshaper \ +-i ne_50m_admin_1_states_provinces_lakes.geojson name=states \ +-filter 'admin == "United States of America"' \ +-proj albersusa \ +-classify non-adjacent colors=Tableau10 \ +-o us-states.svg height=400 width=600 \ No newline at end of file diff --git a/docs/examples/globe.md b/docs/examples/globe.md new file mode 100644 index 000000000..b46ad030c --- /dev/null +++ b/docs/examples/globe.md @@ -0,0 +1,40 @@ +--- +title: Globe +description: A simple locator map in the shape of a globe. +recipe: globe.txt +image: globe.svg +snapshot: globe.msx +download: globe.zip +--- + +# Globe locator map + +Difficulty: moderate + + + +### Steps + +1. Load country polygons (source: Natural Earth) +2. Project countries using the Earth from space projection +3. Simplify country borders +4. Derive a line layer from the country polygons +5. Add a circle so we can show a background color +6. Add graticule lines +7. Add a dot and a label +8. Style all the layers +9. Export as SVG + +### Code + + + +### Notes + +* The PROJ string `+proj=nsper +h=1e7 +lat_0=35 +lon_0=2.35` uses the near-side perspective projection (sometimes called "Earth from space") from a height of 10,000 km above the Earth. This gives a more zoomed-in appearance than the orthographic projection (`+proj=ortho`), which is also commonly used for globe maps. +* `-graticule polygon` creates a polygon that matches the boundary of the graticule, to give the map a background shape. +* `-filter true +` is the Mapshaper idiom for copying a layer (the filter expression is `true`, which means every feature is retained). + +### Assets + + diff --git a/docs/examples/us-states.md b/docs/examples/us-states.md new file mode 100644 index 000000000..ee820a1d0 --- /dev/null +++ b/docs/examples/us-states.md @@ -0,0 +1,35 @@ +--- +title: U.S. States +description: Simple U.S. state map with random, non-adjacent colors +recipe: us-states.txt +image: us-states.svg +snapshot: us-states.msx +download: us-states.zip +--- + +# U.S. state map + +Difficulty: easy + + + +### Steps + +1. Load state/province polygons (source: Natural Earth) +2. Keep only U.S. states +3. Project to the "Albers USA" projection +4. Assign random, non-adjacent colors +5. Export as SVG + +### Code + + + +### Notes + +* To see the list of built-in color schemes to use with `-classify`, run `mapshaper -colors`. You can also use `colors=random`. +* The Albers USA projection (`-proj albersusa`) is a custom projection used by The New York Times for U.S. maps. + +### Assets + + diff --git a/docs/formats/csv.md b/docs/formats/csv.md new file mode 100644 index 000000000..5631b5559 --- /dev/null +++ b/docs/formats/csv.md @@ -0,0 +1,97 @@ +--- +title: CSV and TSV +description: How Mapshaper reads and writes CSV/TSV, including encoding, type hints and large-file handling. +--- + +# CSV and TSV + +Plain-text tabular data. Mapshaper treats CSV/TSV as pure attribute data by default, or as a point layer when longitude and latitude columns are present. Combined with [`-join`](/docs/reference.html#-join), CSV is the lowest-friction way to attach external attributes (population, election results, anything keyed on a stable id) to a geometry layer. + +**File extensions:** `.csv`, `.tsv` · **Read:** ✓ · **Write:** ✓ · **Multi-layer:** no + +### CLI examples + +```bash +mapshaper data.csv -info +mapshaper data.csv -points x=lon y=lat -o points.geojson +mapshaper big.csv csv-fields=id,name,pop -info +mapshaper provinces.shp -drop-table -o stats.csv +mapshaper data.csv -o delimiter=";" out.csv +``` + +### Format-specific input options + +- `encoding=` — text encoding. Default is UTF-8. +- `string-fields=` — comma-separated list of fields to import as strings even if their values look numeric. Use `string-fields=*` to import every field as a string. Essential for ZIP codes, FIPS codes and anything else where leading zeros matter. +- `field-types=` — per-field type hints, e.g. `FIPS:str,population:num`. More flexible alternative to `string-fields=`. +- `csv-skip-lines=` — skip N lines at the top of the file. Useful for spreadsheet exports with notes above the data. +- `csv-lines=` — import only the first N data rows. +- `csv-field-names=` — assign explicit field names. Combine with `csv-skip-lines=1` to override existing headers. +- `csv-fields=` — import only the named columns. Filtering happens during the read, so this option dramatically reduces peak memory for wide CSVs. +- `csv-filter=` — a JavaScript expression evaluated per row. Rows that return false are dropped before they ever reach the layer. +- `csv-dedup-fields` — rename duplicate column headers (otherwise Mapshaper errors out). +- `decimal-comma` — parse numbers using `1.000,01` European convention instead of `1,000.01`. + +### Format-specific output options + +- `encoding=` — text encoding for the output. Default is UTF-8. +- `delimiter=` — override the field delimiter, e.g. `delimiter="|"`. +- `decimal-comma` — emit numbers using the European decimal-comma convention. +- `field-order=ascending` — sort columns alphabetically. + +### Practical notes + +- The delimiter is auto-detected from the extension (`.csv` → comma, `.tsv` → tab). Use `-i format=csv` to force CSV parsing for a differently-named file (e.g. `.txt`). +- When exporting non-point geometry to CSV, Mapshaper writes only the attribute table. Use [`-points`](/docs/reference.html#-points) first if you want to export point coordinates as `lon`/`lat` columns. +- BOM-prefixed files (typically from Excel) are handled transparently on read. +- Output has no quoting unless a value contains the delimiter, a quote or a newline. + +### Importing identifier-like fields (ZIP, FIPS, phone numbers…) + +This is the single biggest CSV footgun. Mapshaper guesses each column's type from its values, so a column of US ZIP codes like `02134`, `90210`, `10001` looks numeric and gets imported as numbers — silently stripping leading zeros and breaking any subsequent join. The same applies to FIPS codes, phone numbers, account numbers and any other identifier that happens to contain only digits. + +Always declare these columns as strings on import: + +```bash +mapshaper -i counties.csv string-fields=GEOID,STATEFP,COUNTYFP -info +mapshaper -i zips.csv string-fields=zipcode -join points key=zipcode,zipcode +``` + +If you don't trust the schema at all, `string-fields=*` imports every column as a string. You can also be precise with `field-types=`: + +```bash +mapshaper -i data.csv field-types=GEOID:str,population:num,year:str -info +``` + +A symptom of getting this wrong is a join silently dropping all rows because `02134` (string) doesn't match `2134` (number). + +### Prefiltering large CSVs + +For multi-gigabyte CSVs — election precinct records, OSM extract attribute tables, parcel data — it usually isn't viable to load the whole file into memory and then filter. Mapshaper has two options that filter **during** the read, before the data lands in a layer: + +- `csv-fields=` — keep only the named columns. Wide CSVs (hundreds of columns, only a few of interest) shrink dramatically. +- `csv-filter=` — a JavaScript expression evaluated per row. Rows that return false are skipped. + +Example (note that numerical fields have not been converted from strings at this point): + +```bash +mapshaper -i big.csv \ + csv-fields=GEOID,name,population,state \ + csv-filter='state == "TX" && population > "10000"' \ + -o cities-tx.csv +``` + +### In the web app + +The same import options work in the [web app](/docs/essentials/web-app.html). Tick **with advanced options** in the import dialog and pass any of `string-fields=`, `field-types=`, `encoding=`, `csv-fields=`, `csv-filter=` etc. as you would on the CLI: + +``` +string-fields=GEOID,STATEFP encoding=utf8 +``` + +For very large CSVs, `csv-fields=` and `csv-filter=` are the most useful options for keeping memory under control. If a file is too big for the browser to load, the [`mapshaper-xl` CLI](/docs/essentials/command-line.html) is the fallback. + +## External resources + +- [RFC 4180: Common Format and MIME Type for CSV](https://datatracker.ietf.org/doc/html/rfc4180) — the closest thing to a CSV specification, though many real-world files diverge from it. +- [Frictionless CSV Dialect spec](https://specs.frictionlessdata.io/csv-dialect/) — a practical schema for declaring how a particular CSV file is formatted (delimiter, quoting, line terminator). diff --git a/docs/formats/dbf.md b/docs/formats/dbf.md new file mode 100644 index 000000000..cf807f3b2 --- /dev/null +++ b/docs/formats/dbf.md @@ -0,0 +1,39 @@ +--- +title: DBF +description: How Mapshaper reads and writes standalone DBF files, the tabular component of Shapefile. +--- + +# DBF + +DBF is the dBase database format. It's best known as the attribute-table half of a Shapefile, but Mapshaper can also import a `.dbf` on its own as a tabular layer with no geometry. [CSV](/docs/formats/csv.html) is generally preferred as an exchange format for tabular data. + +**File extension:** `.dbf` · **Read:** ✓ · **Write:** ✓ · **Geometry:** none + +### CLI examples + +```bash +mapshaper provinces.dbf -info +mapshaper provinces.dbf -filter '"BC,AB,SK".indexOf(prov) > -1' -o subset.csv +mapshaper data.csv -o data.dbf +``` + +### Format-specific input options + +- `encoding=` — text encoding. If omitted, Mapshaper auto-detects, falling back to a `.cpg` sidecar file if present. Run `mapshaper -encodings` for the list of supported encodings. + +### Format-specific output options + +- `encoding=` — output text encoding. Default UTF-8 (with a matching `.cpg` sidecar). +- `field-order=ascending` — sort columns alphabetically. + +### Practical notes + +- DBF holds tabular data only — no geometry. +- DBF files do not declare their text encoding internally. Mapshaper auto-detects against UTF-8, Windows-1252 and a few other common encodings. See the [Shapefile encoding notes](/docs/formats/shapefile.html#dbf-text-encoding) for the full picture. +- Field names are limited to 10 ASCII characters. Longer names are truncated on write; duplicate truncated names are disambiguated with numeric suffixes. +- Field values are limited to 254 characters; longer strings will have been truncated when the file was written. + +## External resources + +- [Wikipedia: .dbf](https://en.wikipedia.org/wiki/.dbf) — useful overview of the format's history and dialects. +- [Xbase File Format Description](https://www.clicketyclick.dk/databases/xbase/format/) — Erik Bachmann's reference for the dBase / xBase family. The standard external citation for byte-level DBF details. diff --git a/docs/formats/flatgeobuf.md b/docs/formats/flatgeobuf.md new file mode 100644 index 000000000..1d9485e46 --- /dev/null +++ b/docs/formats/flatgeobuf.md @@ -0,0 +1,42 @@ +--- +title: FlatGeobuf +description: How Mapshaper reads and writes FlatGeobuf (.fgb), a streamable binary vector format. +--- + +# FlatGeobuf + +FlatGeobuf is a modern binary vector format designed for fast streaming reads. A single self-contained file with UTF-8 text encoding, it avoids the companion-file clutter of Shapefile. Its optional embedded spatial index enables efficient bounding-box queries without reading the whole file, making it well-suited to large datasets served over HTTP. It also works well as a general-purpose GIS exchange format. + +**File extension:** `.fgb` · **Read:** ✓ · **Write:** ✓ · **Multi-layer:** no (one layer per file) + +### CLI examples + +```bash +mapshaper buildings.fgb -info +mapshaper buildings.fgb -simplify 5% -o buildings.geojson +mapshaper provinces.shp -o provinces.fgb +``` + +### Format-specific input options + +There are no FlatGeobuf-specific `-i` options. + +### Format-specific output options + +There are no FlatGeobuf-specific `-o` options. The format honors the general flags (`precision=`, `gzip`, `zip`, etc.) where they apply. + +### Practical notes + +- FlatGeobuf is single-layer per file. Use [GeoPackage](/docs/formats/geopackage.html) or [TopoJSON](/docs/formats/topojson.html) when you need to package multiple layers in one file. +- Mapshaper reads CRS metadata from the file header when it's encoded as an EPSG code. WKT2-only definitions can't be parsed and produce an "Unable to import WKT2 CRS from FlatGeobuf" warning — the layer comes in without a CRS. +- On output, Mapshaper embeds an EPSG code in the FlatGeobuf header whenever it can derive one from the source: a round-tripped FlatGeobuf or GeoPackage CRS, an `epsg:NNNN` string passed to `-proj`, an `AUTHORITY["EPSG", N]` clause in a Shapefile `.prj`, or any encoding of WGS-84 or Web Mercator (which covers most GeoJSON, CSV-with-lat/lon and `-proj wgs84`/`-proj webmercator` outputs). +- Mapshaper cannot yet convert an arbitrary proj4 definition (such as a custom Albers projection set with `-proj +proj=aea ...`) to an EPSG code. In that case the file is written with no CRS in the header and a warning is printed: *"Wrote `foo.fgb` without a CRS in the FlatGeobuf header..."*. Re-run the file through `ogr2ogr` if you need the CRS embedded for downstream tools. +- Mapshaper does not write the optional packed R-tree spatial index, and it doesn't use the index for selective reads of indexed input either — the whole file is read into memory. If you need an indexed `.fgb` for HTTP range-request reads, build it with `ogr2ogr` or the [`flatgeobuf` CLI](https://github.com/flatgeobuf/flatgeobuf). + +## External resources + +- [flatgeobuf.org](https://flatgeobuf.org/) — project home with spec links and language bindings. +- [Kicking the Tires: FlatGeobuf](https://worace.works/2022/02/23/kicking-the-tires-flatgeobuf/) — an independent practical writeup with benchmarks against Shapefile, GeoJSON and GeoPackage. +- [Bryce Mecum: Flatgeobuf](https://brycemecum.com/2022/04/04/flatgeobuf/) — a hands-on exploration of streaming reads in the browser, including a worth-knowing gotcha about the spatial index sitting at the front of the file. +- [Cloud-Native Geospatial Formats Guide: FlatGeobuf](https://guide.cloudnativegeo.org/flatgeobuf/) — how the format fits into modern cloud-storage workflows. +- FlatGeobuf reading and writing in Mapshaper is built on the official [`flatgeobuf`](https://github.com/flatgeobuf/flatgeobuf) JavaScript library, which provides the FlatBuffers schema, header parsing and feature serialisation primitives. diff --git a/docs/formats/geojson.md b/docs/formats/geojson.md new file mode 100644 index 000000000..3e5db8adb --- /dev/null +++ b/docs/formats/geojson.md @@ -0,0 +1,65 @@ +--- +title: GeoJSON +description: How Mapshaper reads and writes GeoJSON, including precision, ndjson and RFC 7946 options. +--- + +# GeoJSON + +GeoJSON is a simple, human-readable format for geospatial vector data. It is used by many web mapping APIs, although formats like TopoJSON, FlatGeobuf, GeoParquet, and vector tiles have replaced it for specific use cases such as large-file efficiency, cloud-optimized access, and tiled rendering. + +**File extensions:** `.json`, `.geojson` · **Read:** ✓ · **Write:** ✓ · **Multi-layer:** one layer per file (combinable) + +### CLI examples + +```bash +mapshaper input.shp -o provinces.geojson +mapshaper input.shp -o precision=0.001 prettify provinces.geojson +``` + +### Format-specific input options + +- `id-field=` — import the value of each Feature's top-level `id` property into a data field of the given name. +- `json-path=` — for files where the GeoJSON object is nested inside a larger JSON document, e.g. `json-path=data/regions`. + +### Format-specific output options + +- `precision=` — round coordinates to a fixed precision. This is a simple way to reduce file size. +- `prettify` — pretty-print the JSON with line breaks and indentation. +- `id-field=` — promote one or more attribute fields to the GeoJSON `id` property (comma-separated; first matching field per layer is used). +- `bbox` — add a `bbox` array to the top-level FeatureCollection. +- `extension=` — override the default `.json` extension (e.g. `extension=geojson`). +- `combine-layers` — merge multiple layers into a single GeoJSON output file (geometries are kept separate as Features, attribute schemas are unioned). +- `geojson-type=` — output a `Feature`, `FeatureCollection` or bare `GeometryCollection` instead of the default FeatureCollection. +- `no-null-props` — emit `"properties": {}` instead of `"properties": null` for Features without attributes. +- `hoist=` — promote one or more properties out of the `properties` object onto the Feature itself. Useful for non-standard consumers like [tippecanoe](https://github.com/felt/tippecanoe). +- `gj2008` — emit pre-RFC-7946 GeoJSON (clockwise outer rings). This option produces files that can be rendered with `d3`. +- `ndjson` — write one Feature per line as newline-delimited JSON (works with the [`json` records](/docs/formats/json.html) family of options as well). +- `id-prefix=` — prefix layer/feature ids when exporting multiple layers. + +### Practical notes + +- The GeoJSON spec states that GeoJSON uses WGS-84 coordinates (the lat-long coordinate system used by GPS), but Mapshaper will also export GeoJSON files with projected coordinates. +- Coordinates are emitted at full precision — consider `precision=` to reduce file size. `precision=0.0001` equates to ~11 m at the equator, ~8 m in New York City, and ~6 m in Reykjavík, Iceland. +- Polygon ring winding follows RFC 7946 (CCW outer, CW holes); the `gj2008` option outputs the CW outer rings expected by `d3`. +- Output is minified by default; pass `prettify` for human-readable JSON. +- If you are loading the data into a web map and you want the smallest possible file size, consider [TopoJSON](/docs/formats/topojson.html) as an alternative to GeoJSON. For datasets with shared boundaries, file sizes are often a fraction of the equivalent GeoJSON size. +- `precision=` rounding can introduce sliver overlaps at boundaries. Pair it with `fix-geometry` if downstream tools are strict. + +### Reading very large GeoJSON files + +Mapshaper's custom GeoJSON parser is not limited by the ~500 MB ceiling affecting tools that use `JSON.parse()`. + +In the [web app](/docs/essentials/web-app.html), the theoretical upper bound is around 2 GB per file in most browsers, though in practice the browser may run out of memory and crash well before that. If a GeoJSON is too big to open in the browser, use the CLI instead. + +`mapshaper-xl` can handle multi-gigabyte files. It allocates 8 GB of memory by default, but you can assign more. + +```bash +mapshaper-xl huge.geojson -info +mapshaper-xl 32gb huge.geojson -simplify 5% -o huge.topojson +``` + +## External resources + +- [RFC 7946: The GeoJSON Format](https://datatracker.ietf.org/doc/html/rfc7946) — the IETF specification Mapshaper writes by default. +- [More than you ever wanted to know about GeoJSON](https://macwright.com/2015/03/23/geojson-second-bite.html) — Tom MacWright's detailed practical introduction. +- [geojson.org](https://geojson.org/) — spec home with links to tooling and validators. diff --git a/docs/formats/geopackage.md b/docs/formats/geopackage.md new file mode 100644 index 000000000..004583363 --- /dev/null +++ b/docs/formats/geopackage.md @@ -0,0 +1,42 @@ +--- +title: GeoPackage +description: How Mapshaper reads and writes GeoPackage (.gpkg), the OGC's SQLite-based GIS container. +--- + +# GeoPackage + +GeoPackage is the OGC's modern, open replacement for Shapefile — a single SQLite database file that holds one or many vector layers along with their CRS metadata. It solves most of Shapefile's problems (long field names, UTF-8 encoding, no companion files, multiple layers per file, no 2 GB cap) and is well-supported across QGIS, ArcGIS and `ogr2ogr`. + +**File extension:** `.gpkg` · **Read:** ✓ · **Write:** ✓ · **Multi-layer:** ✓ + +### CLI examples + +```bash +mapshaper basemap.gpkg -info +mapshaper basemap.gpkg -o format=geojson regions.geojson +mapshaper -i basemap.gpkg layers=provinces,cities -info +mapshaper provinces.shp -o provinces.gpkg +mapshaper a.shp b.shp -o combined.gpkg +``` + +### Format-specific input options + +- `layers=` — comma-separated list of layer names to import. Useful for picking a subset out of a large multi-layer GeoPackage. Omit to import everything. + +### Format-specific output options + +There are no GeoPackage-specific `-o` options. The format honors the general flags (`precision=`, `gzip`, `zip`, etc.) where they apply. + +### Practical notes + +- By default, every vector layer in the file is imported as a separate Mapshaper layer. To pick a subset, use the `layers=` option on the CLI; in the web app, tick the **with advanced options** checkbox in the import dialog to bring up a per-layer selection list. +- When multiple layers are exported to a single `.gpkg`, each becomes a separate layer table inside the database, named after the source layer. +- Raster tile layers (the OGC GeoPackage spec also covers tiles) are ignored — Mapshaper is vector-only. + + +## External resources + +- [geopackage.org](https://www.geopackage.org/) — project home with spec, FAQs and tool support. +- [QGIS user manual: supported data formats](https://docs.qgis.org/latest/en/docs/user_manual/managing_data_source/supported_data.html) — the practical reference on how QGIS treats GeoPackage, including multi-layer use and project storage. +- [Learn spatial SQL and master GeoPackage with QGIS](https://www.gispo.fi/en/blog/learn-spatial-sql-and-master-geopackage-with-qgis-3/) — tutorial from Gispo showing how to query GeoPackage layers with SQL directly from QGIS. +- GeoPackage reading and writing in Mapshaper is delegated to NGA's [`@ngageoint/geopackage`](https://github.com/ngageoint/geopackage-js) library, which handles the underlying SQLite database, the OGC table schemas and the WKB-to-GeoJSON geometry conversions. diff --git a/docs/formats/json.md b/docs/formats/json.md new file mode 100644 index 000000000..771507051 --- /dev/null +++ b/docs/formats/json.md @@ -0,0 +1,35 @@ +--- +title: JSON records +description: How Mapshaper reads and writes plain JSON arrays of objects (no geometry), useful for tabular data exchange. +--- + +# JSON records + +A JSON-records file is a plain JSON array of objects, one per record, with no geometry. + +**File extension:** `.json` · **Read:** ✓ · **Write:** ✓ · **Geometry:** none + +A JSON-records file looks like this: + +```json +[ + { "id": 1, "name": "Alice", "city": "Toronto" }, + { "id": 2, "name": "Bob", "city": "Vancouver" } +] +``` + +### Format-specific input options + +- `json-path=` — for files where the array is nested inside a larger object, e.g. `json-path=data/records` for `{"data": {"records": [...]}}`. + +### Format-specific output options + +- `ndjson` — emit newline-delimited JSON instead of an array. One record per line. Often easier to process with line-oriented tools. + +### Practical notes + +- When exporting non-tabular layers as JSON records, the geometry is dropped — you get just the attribute table as JSON. + +## External resources + +- [JSON Lines (jsonlines.org)](https://jsonlines.org/) — the spec for the newline-delimited JSON variant emitted by Mapshaper's `ndjson` option. diff --git a/docs/formats/kml.md b/docs/formats/kml.md new file mode 100644 index 000000000..ea9b66168 --- /dev/null +++ b/docs/formats/kml.md @@ -0,0 +1,39 @@ +--- +title: KML and KMZ +description: How Mapshaper reads and writes KML and KMZ files for use with Google Earth and similar tools. +--- + +# KML and KMZ + +KML is Google's XML-based format for geographic data, originally created for Google Earth and now an OGC standard. KMZ is a zipped KML. KML emphasises display (icons, styles, balloons) over attributes, so it's most useful for handing files to viewers like Google Earth, mobile mapping apps and Google My Maps — as a data interchange format it has weaker attribute typing and schema support than [GeoJSON](/docs/formats/geojson.html) or [Shapefile](/docs/formats/shapefile.html). + +**File extensions:** `.kml`, `.kmz` · **Read:** ✓ · **Write:** ✓ · **Multi-layer:** ✓ + +### CLI examples + +```bash +mapshaper places.kml -info +mapshaper places.kmz -o format=geojson places.geojson +mapshaper provinces.shp -proj wgs84 -o provinces.kml +``` + +### Format-specific input options + +There are no KML-specific `-i` options. Encoding is always UTF-8 per the KML spec. + +### Format-specific output options + +There are no KML-specific `-o` options. + +### Practical notes + +- KML stores all attribute values as strings, so numeric attributes are imported as strings. +- KML requires WGS84 coordinates, but Mapshaper does **not** reproject on export — coordinates are written through as-is. If your dataset is in any other CRS, run `-proj wgs84` first, otherwise the output will not be conformant KML and viewers will misplace the geometry. + + +## External resources + +- [OGC KML standard](https://www.ogc.org/standards/kml/) — the formal OGC specification. +- [Google KML Reference](https://developers.google.com/kml/documentation/kmlreference) — the practical element-by-element reference; more readable than the OGC spec. +- [Google KML Tutorial](https://developers.google.com/kml/documentation/kml_tut) — covers how Google Earth interprets the format. +- KML reading and writing in Mapshaper is delegated to two third-party libraries: [`@tmcw/togeojson`](https://github.com/placemark/togeojson) for parsing KML into GeoJSON on import, and [`@placemarkio/tokml`](https://github.com/placemark/tokml) for serialising GeoJSON back to KML on export. diff --git a/docs/formats/overview.md b/docs/formats/overview.md new file mode 100644 index 000000000..92406d8c4 --- /dev/null +++ b/docs/formats/overview.md @@ -0,0 +1,35 @@ +--- +title: File formats +description: A quick comparison of every file format Mapshaper can read and write, with links to per-format details. +--- + +# File formats + +This section explains how each supported file format is handled, what format-specific options are available, and what to watch out for. + +## Comparison + +
    + +| Format | Extension | Read | Write | Geometry | Attributes | Topology | Multi-layer | +|---|---|:---:|:---:|---|---|:---:|:---:| +| [Shapefile](/docs/formats/shapefile.html) | `.shp` | ✓ | ✓ | vector | DBF (10-char names) | — | — | +| [GeoJSON](/docs/formats/geojson.html) | `.json` `.geojson` | ✓ | ✓ | vector | yes | — | — | +| [TopoJSON](/docs/formats/topojson.html) | `.json` `.topojson` | ✓ | ✓ | vector | yes | **✓** | ✓ | +| [GeoPackage](/docs/formats/geopackage.html) | `.gpkg` | ✓ | ✓ | vector | yes | — | ✓ | +| [FlatGeobuf](/docs/formats/flatgeobuf.html) | `.fgb` | ✓ | ✓ | vector | yes | — | — | +| [KML / KMZ](/docs/formats/kml.html) | `.kml` `.kmz` | ✓ | ✓ | vector | limited | — | ✓ | +| [CSV / TSV](/docs/formats/csv.html) | `.csv` `.tsv` | ✓ | ✓ | points (X/Y) | yes | — | — | +| [DBF](/docs/formats/dbf.html) | `.dbf` | ✓ | ✓ | none | yes | — | — | +| [JSON records](/docs/formats/json.html) | `.json` | ✓ | ✓ | none | yes | — | — | +| [SVG](/docs/formats/svg.html) | `.svg` | ✓ | ✓ | vector | as `data-*` | — | ✓ | +| [Mapshaper snapshot](/docs/formats/snapshot.html) | `.msx` | ✓ | ✓ | vector | yes | **✓** | ✓ | + +
    + +A few things worth knowing across all formats: + +- **Auto-detection by extension.** You usually don't need to tell Mapshaper what format a file is — it picks the right reader from the file extension. Use `format=` on `-i` or `-o` to override. +- **TopoJSON is the only interchange format that preserves topology** in the file itself. Topology-aware operations like [`-dissolve`](/docs/reference.html#-dissolve), [`-clean`](/docs/reference.html#-clean) and [`-simplify`](/docs/reference.html#-simplify) work correctly regardless of the input format, but only TopoJSON keeps shared boundaries between adjacent polygons from being duplicated on disk. (Mapshaper's own [`.msx`](/docs/formats/snapshot.html) snapshots also preserve topology, but they're not readable by other tools.) +- **Most formats are single-layer per file.** Multi-layer GeoJSON, Shapefile and FlatGeobuf datasets are conventionally split across multiple files (in the same directory on the CLI; selected together or zipped in the [web app](/docs/essentials/web-app.html)); TopoJSON, GeoPackage and KML can hold many layers in one file. +- **Encoding.** The `encoding=` option on `-i` and `-o` applies to Shapefile, DBF and CSV/TSV i/o (UTF-8 is the default) — the other formats are UTF-8-only. diff --git a/docs/formats/shapefile.md b/docs/formats/shapefile.md new file mode 100644 index 000000000..f4cc0889e --- /dev/null +++ b/docs/formats/shapefile.md @@ -0,0 +1,84 @@ +--- +title: Shapefile +description: How Mapshaper reads and writes ESRI Shapefiles, including encoding and field-name notes. +--- + +# Shapefile + +Shapefile is ESRI's long-standing vector format and remains widely used as an exchange format in desktop GIS workflows. Rather than a single file, a Shapefile is a collection of files — at minimum .shp, .shx, and .dbf, plus commonly .prj (coordinate reference system) and .cpg (character encoding). It has well-known limitations, including a 2 GB size cap per component file, attribute field names limited to 10 characters, attribute values limited to 254 characters, no support for mixed geometry types, and unreliable character encoding declaration. Newer formats like [GeoPackage](/docs/formats/geopackage.html) and [FlatGeobuf](/docs/formats/flatgeobuf.html) solve most of the limitations. + +**File extensions:** `.shp` (geometry), `.dbf` (attributes), `.shx` (index), `.prj` (projection), `.cpg` (encoding hint) +· **Read:** ✓ · **Write:** ✓ · **Multi-layer:** no + +### CLI examples + +```bash +mapshaper provinces.shp -info +mapshaper provinces.shp -simplify 20% -o provinces.geojson +mapshaper input.geojson -o provinces.shp +``` + +### Format-specific input options + +- `encoding=` — encoding used by the `.dbf` text fields. If omitted, Mapshaper auto-detects, falling back to the value declared in a `.cpg` file when present. Common values: `latin1`, `utf8`, `gb18030`. Run `mapshaper -encodings` for the full list. + +### Format-specific output options + +- `encoding=` — text encoding for the `.dbf`. Defaults to UTF-8 (with a matching `.cpg` sidecar). +- `field-order=ascending` — sort attribute fields alphabetically (case-insensitive). + +### Practical notes + +- A Shapefile dataset is a bundle of files sharing a base name. The Mapshaper CLI inputs the `.shp` and picks up any sibling `.dbf`, `.shx`, `.prj` and `.cpg` files automatically. In the [web app](/docs/essentials/web-app.html) you select or drag-drop them together — see [In the web app](#in-the-web-app) below. +- Field names longer than 10 characters are silently truncated on write, which can produce duplicates. Mapshaper disambiguates by appending digits, or you can rename fields beforehand with [`-rename-fields`](/docs/reference.html#-rename-fields). +- Field values longer than 254 characters are truncated on write. +- Mapshaper does not fully support M (measured) and Z (3D) Shapefiles — M and Z values are dropped on import. +- When exporting, the Mapshaper CLI produces separate companion files (`.shp`, `.shx`, `.dbf`, `.prj`). In the web app, the component files get bundled in a `.zip` file. +- If the `.prj` file is missing, Mapshaper reads the geometry without coordinate-reference information. Coordinates in the lat-long range are assumed to be WGS-84. You can use the `-proj` command to assign a CRS (e.g. `-proj init=...`). +- A standalone `.dbf` can be imported on its own as a tabular layer — see the [DBF page](/docs/formats/dbf.html). + +### In the web app + +Browsers can't read files from the filesystem the CLI can, so you have to supply all the parts of a Shapefile together. Two options are: + +1. **Select all the components together.** Click **Add files** and shift- or cmd-click the `.shp`, `.dbf`, `.prj` (and `.shx`/`.cpg` if present) in one go, or drag the whole selection onto the import area. +2. **Drop a `.zip` containing the bundle.** Shapefiles are very commonly distributed this way. + +If the import warns about an unknown text encoding, re-import with the **with advanced options** checkbox ticked and pass `encoding=` (e.g. `encoding=win1252`, `encoding=gb18030`). The same `encoding=` values that work on the CLI work here. + +### Reading a Shapefile with missing sidecars + +Mapshaper will read a `.shp` whose `.dbf` and/or `.shx` companion files are missing — useful when you're handed an incomplete bundle, or when you only care about geometry: + +- **Missing `.dbf`**: the geometry is imported with no attribute table. +- **Missing `.shx`**: Mapshaper recovers feature offsets by reading the `.shp` directly. This works for normal Shapefiles with densely-packed records; it only fails on the rare Shapefiles that contain out-of-order records, where the `.shx` is needed to locate each feature. + +### `.dbf` text encoding + +The .dbf format is a legacy binary format dating to dBASE III in the early 1980s, predating Unicode. Character encoding is not declared within the file itself, which can cause encoding errors when working with Shapefiles containing non-ASCII characters. In practice, most Shapefiles now come with a `.cpg` file or use UTF-8, which is almost always auto-detected correctly. + +Mapshaper handles encoding in the following order: + +1. If `encoding=` is set on `-i`, that wins. +2. If a `.cpg` sidecar file is present, Mapshaper uses the encoding it names. +3. Otherwise Mapshaper tries to auto-detect the encoding from the `.dbf` contents. + +Auto-detection covers most public datasets, but it can guess wrong on sparsely-populated columns or unusual codepages. If you see mojibake (`é` instead of `é`, `?` characters where accented letters should be), set `encoding=` explicitly: + +```bash +mapshaper -i provinces.shp encoding=utf8 -info +mapshaper -i historical.shp encoding=win1252 -o cleaned.geojson +mapshaper -i china.shp encoding=gb18030 -o cleaned.geojson +``` + +When writing, Mapshaper emits UTF-8 plus a `.cpg` sidecar by default so other tools can decode correctly. Override with `encoding=` on `-o` if a downstream consumer requires a specific codepage. + +## External resources + +- [Shapefile file extensions (ArcMap docs)](https://desktop.arcgis.com/en/arcmap/latest/manage-data/shapefiles/shapefile-file-extensions.htm) — ESRI's own practical reference describing what each `.shp`/`.shx`/`.dbf`/`.prj`/`.cpg`/`.sbn` etc. file actually contains. Useful when you encounter unfamiliar sidecar files. +- [Switch from Shapefile](https://switchfromshapefile.org/) — a long-running campaign cataloguing the format's well-known limitations and pointing to alternatives. +- [ESRI Shapefile Technical Description (PDF)](https://www.esri.com/content/dam/esrisites/sitecore-archive/Files/Pdfs/library/whitepapers/pdfs/shapefile.pdf) — the original 1998 white paper that defines the format. Dry but authoritative. + +## See also + +- [DBF format](/docs/formats/dbf.html) diff --git a/docs/formats/snapshot.md b/docs/formats/snapshot.md new file mode 100644 index 000000000..1b5cff93c --- /dev/null +++ b/docs/formats/snapshot.md @@ -0,0 +1,39 @@ +--- +title: Mapshaper snapshot (.msx) +description: A single-file binary snapshot of a Mapshaper session, used to save work in progress and share reproducible projects. +--- + +# Mapshaper snapshot (.msx) + +A Mapshaper snapshot captures the current state of a session — arcs, layers, attributes, CRS metadata, topology and (when written from the web app) the command history that produced it — as a single binary file. Snapshots are Mapshaper-specific and not intended for interchange with other GIS tools; for that, use [Shapefile](/docs/formats/shapefile.html), [GeoPackage](/docs/formats/geopackage.html), [FlatGeobuf](/docs/formats/flatgeobuf.html) or [GeoJSON](/docs/formats/geojson.html). + +**File extension:** `.msx` · **Read:** ✓ · **Write:** ✓ · **Multi-layer:** ✓ + +### When to use a snapshot + +- **Saving work-in-progress** for later editing, with topology, layer order and (in the web app) command history intact. +- **Bundling a collection of datasets** into a single compact file that is quicker to re-open than re-running an import pipeline. +- **In the browser, as a quick "save point"** before doing something experimental that might fail or give the wrong result — restore the snapshot to roll back. + +### From the CLI + +`-o foo.msx` captures the **entire session** — every dataset and every layer Mapshaper has loaded, not just the ones currently selected by `-target`. This makes a `.msx` file a faithful "save point" of the working state, regardless of which layers happen to be active. + +`-target` controls *visibility and stacking order*, not which layers are written: + +- Layers matched by the active `-target` (or the `target=` option on `-o` itself) come back **visible** in the web app, with no further setup. +- They are stacked in the order matched by `-target` — first targeted on the bottom, last on top — so the GUI's layer stack matches the draw order you'd get from an SVG export of the same target list. +- Layers that weren't targeted come along **hidden**, parked at the bottom of the layer panel. They're still in the file (so you can pin them visible later), but they don't get in the way of the intended view. +- If you want to drop layers from the snapshot rather than just hide them, run an explicit step like `-filter-layers` or `-target b -drop` before `-o foo.msx`. + +### In the web app + +The ribbon icon in the layer panel opens the **snapshot menu**. From there you can: + +- **Create a snapshot** — saves to in-browser storage. These are session-scoped and **deleted when the tab closes or the page is reloaded.** For anything you want to keep, **Save snapshot to file** writes a `.msx` file you can re-open later. +- **Export** a stored snapshot to a `.msx` file on disk. Persisted `.msx` files survive browser restarts and can be re-imported by drag-drop, the **Add files** button, or the `?files=` URL parameter. +- **Restore** a stored snapshot into the current session. + +## External resources + +- [msgpack.org](https://msgpack.org/) — the binary serialization format used inside `.msx` (via the [msgpackr](https://github.com/kriszyp/msgpackr) library). diff --git a/docs/formats/svg.md b/docs/formats/svg.md new file mode 100644 index 000000000..b2fe73e37 --- /dev/null +++ b/docs/formats/svg.md @@ -0,0 +1,51 @@ +--- +title: SVG +description: How Mapshaper exports vector data as SVG, including width, scale, bounding-box and per-feature data attributes. +--- + +# SVG + +SVG is the W3C standard for vector graphics on the web. Mapshaper writes SVG and can also import its own SVG output files. Use SVG when you want to drop a non-interactive map straight into a web page or edit your map in Illustrator — it's a display format, not a data interchange format. + +**File extension:** `.svg` · **Read:** ✓ · **Write:** ✓ · **Multi-layer:** ✓ + +### CLI examples + +```bash +mapshaper provinces.shp -o provinces.svg +mapshaper provinces.shp -o width=1200 svg-data=name,pop provinces.svg +mapshaper a.shp b.shp -o combined.svg +``` + +### Format-specific output options + +- `width=` — output width in pixels (default 800). Geometry is fitted to this width. +- `height=` — output height in pixels. If both `width` and `height` are set, content is centred inside a `[0, 0, width, height]` viewport. +- `max-height=` — cap the output height in pixels. +- `pixels=` — total output area in pixels (alternative to `width=`). +- `margin=` — padding between content and viewport edge (default 1 px). Pass `` for asymmetric margins. +- `svg-scale=` — scale in source units per pixel. Alternative to `width=` when you want a fixed scale rather than a fixed canvas size. +- `svg-bbox=` — explicit `xmin,ymin,xmax,ymax` for the SVG viewport. Useful for aligning multiple SVG layers exported separately. +- `fit-extent=` — use a layer (typically a single rectangle) to define the viewport. +- `svg-data=` — comma-separated list of attribute fields to emit as `data-*` attributes on each ``. Field names must match `[a-z_][a-z0-9_-]*`. +- `id-field=` — promote one or more attribute fields to the SVG `id` attribute. +- `id-prefix=` — prefix all generated layer/feature ids. +- `point-symbol=square` — render points as squares instead of circles. + +### Practical notes + +- Each layer becomes a `` group, with the layer name as the group id. Features become `` (polygons/lines) or `` (points). +- No data attributes are emitted unless you pass `svg-data=`. +- The output is unstyled by default. Use [`-style`](/docs/reference.html#-style) to assign inline style attributes. +- Very large or detailed layers can produce SVGs that are slow to render in browsers. Consider using [`-simplify`](/docs/reference.html#-simplify) before exporting. + +## External resources + +- [W3C SVG 2 specification](https://www.w3.org/TR/SVG2/) — the formal spec. +- [MDN SVG tutorial](https://developer.mozilla.org/en-US/docs/Web/SVG/Tutorial) — the friendliest practical introduction, with browser support notes. + +## See also + +- [Add SVG styling for export](/docs/examples/basics.html#add-svg-styling-for-export) +- [Quantile-classify into a color ramp](/docs/examples/basics.html#quantile-classify-into-a-color-ramp) +- [Simplify a polygon layer for the web](/docs/examples/basics.html#simplify-a-polygon-layer-for-the-web) diff --git a/docs/formats/topojson.md b/docs/formats/topojson.md new file mode 100644 index 000000000..9d4cb3967 --- /dev/null +++ b/docs/formats/topojson.md @@ -0,0 +1,54 @@ +--- +title: TopoJSON +description: How Mapshaper reads and writes TopoJSON, including quantization and multi-layer output. +--- + +# TopoJSON + +TopoJSON is a JSON-based format that encodes geographic topology: shared boundaries between adjacent features are stored once instead of duplicated. For datasets with shared boundaries (administrative divisions, watersheds, anything with adjacency) the resulting file is often 2–5× smaller than the equivalent GeoJSON. A single TopoJSON file can hold multiple layers, making it a natural choice for shipping a complete map (e.g. countries + states + cities) in one HTTP request. + +**File extensions:** `.json`, `.topojson` · **Read:** ✓ · **Write:** ✓ · **Multi-layer:** ✓ + +### CLI examples + +```bash +mapshaper world.topojson -info +mapshaper world.topojson -o format=geojson world.geojson +mapshaper provinces.shp -o provinces.topojson +mapshaper provinces.shp -o quantization=10000 provinces.topojson +mapshaper countries.shp states.shp -o singles output/ +``` + +### Format-specific input options + +- `id-field=` — import the `id` property of each Feature into a data field of the given name. +- `json-path=` — for files where the TopoJSON object is nested inside a larger document. + +### Format-specific output options + +- `quantization=` — number of distinct integer values that x and y coordinates are quantized to, *per axis*. For example, `quantization=10000` produces a 10000×10000 integer grid regardless of the bounding box's aspect ratio (x and y use independent scales). Lower values produce smaller files at the cost of precision. Equivalent to the [`topoquantize`](https://github.com/topojson/topojson-server/blob/master/README.md#topoquantize) CLI's parameter. +- `topojson-precision=` — alternative way to set quantization, expressed as a fraction of the average segment length. +- `no-quantization` — emit full-precision arc coordinates. +- `singles` — write each layer as a separate file, named after the layer. +- `prettify` — pretty-print the JSON. +- `id-field=` — promote an attribute field to the `id` property of each output object. +- `bbox` — add a top-level `bbox` array. +- `extension=` — override the default `.json` extension (e.g. `extension=topojson`). +- `width=` / `height=` / `pixels=` / `margin=` — switch the output coordinate system from geographic units to pixels, flipping the Y axis. Useful when generating a TopoJSON intended for direct use as SVG path data. + +### Practical notes + +- Quantization is on by default with a value calibrated to the geometry (about 0.02 of the average segment length), which keeps files compact while staying visually lossless. Use the `quantization=` option to override the default. +- Use `no-quantization` to save coordinates losslessly. +- TopoJSON does not store coordinate system metadata. If your data is in a projected coordinate system, you'll need to manage the projection separately. +- Output is minified by default; pass `prettify` for human-readable JSON. +- Aggressive quantization can introduce visible misalignments and sliver overlaps. If this happens, raise the `quantization=` value. + +## External resources + +- [TopoJSON specification](https://github.com/topojson/topojson-specification) — the format spec on GitHub. +- [How To Infer Topology](https://bost.ocks.org/mike/topology/) — Mike Bostock's original explainer of the algorithm and data model behind TopoJSON. Required reading if you want to understand what makes the format compact. + +## See also + +- [Quantized TopoJSON](/docs/examples/basics.html#quantized-topojson) diff --git a/docs/gallery/index.md b/docs/gallery/index.md new file mode 100644 index 000000000..8047b35cd --- /dev/null +++ b/docs/gallery/index.md @@ -0,0 +1,10 @@ +--- +title: Gallery +description: Example maps made with Mapshaper, with full source data and reproduction steps for each. +--- + +# Gallery + +A collection of example maps made with Mapshaper. Each tile links to a full write-up with the recipe, the source data, and a one-click link to open the finished snapshot in the [web app](/). + + diff --git a/docs/guides/combining-layers.md b/docs/guides/combining-layers.md new file mode 100644 index 000000000..44b329bbb --- /dev/null +++ b/docs/guides/combining-layers.md @@ -0,0 +1,81 @@ +--- +title: "Tutorial: combining two layers" +description: A step-by-step walkthrough of combining and pruning two boundary layers to produce a custom GeoJSON basemap. +--- + +# Tutorial: combining two layers in the web UI + +> Originally contributed by Amanda Hickman to the project wiki. + +This walkthrough shows how to combine and prune two boundary layers to produce a single GeoJSON file you can use as a custom basemap (for example, in [Datawrapper](https://www.datawrapper.de/)). + +The example builds a basemap of the San Francisco Bay Area, with both county boundaries and the cities ("places") inside them. + +The walkthrough uses the web app at [mapshaper.org](/), driving the workflow from the **Console**. The same commands work on the CLI — chain them together with leading `-` prefixes (so `clip bayarea_county` becomes `-clip bayarea_county`) and connect them with backslash line continuations. + +## The starting data + +We'll use two source files: + +- A county boundary file from the California Open Data Portal — or, in this case, a [version clipped to the shoreline](https://geodata.lib.berkeley.edu/catalog/ark28722-s7hs4j) from UC Berkeley's Geo Data Commons. The shoreline-clipped version reads more naturally on a map than the legal-boundary version, which extends into the bay. +- A statewide [places boundary file](https://geodata.lib.berkeley.edu/catalog/ark28722-s7bp4z) for city boundaries. + +Download both as `.zip` files. + +## Open them in Mapshaper + +Drag the two `.zip` files onto [mapshaper.org](/), or run the web app locally with `mapshaper-gui`. You'll end up with two layers loaded into the session. + +## Set the projection + +Datawrapper expects WGS84 coordinates. Open the **Console** (top-right of the header) and run, with each layer selected: + +``` +proj wgs84 +``` + +You'll need to run this once per layer — switch which layer is selected in the layer panel between runs. + +→ See the [`-proj` reference](/docs/reference.html#-proj). + +## Clip the places layer to the Bay Area + +The places layer covers the whole state. We only want places inside the Bay Area counties. With the places layer selected: + +``` +clip bayarea_county +``` + +→ See the [`-clip` reference](/docs/reference.html#-clip). + +Alternatively, if the places layer has a `COUNTY` attribute, a filter expression works too: + +``` +filter '["Marin", "Contra Costa", "Alameda", + "San Francisco", "Santa Clara", "San Mateo"].includes(COUNTY)' +``` + +→ See the [`-filter` reference](/docs/reference.html#-filter). + +## Merge the layers + +The two layers can now be combined into a single layer with [`-merge-layers`](/docs/reference.html#-merge-layers): + +``` +merge-layers target=bayarea_county,california_place_clipped force +``` + +The `force` flag is needed because the two layers have different attribute schemas; without it, Mapshaper refuses to merge layers whose fields don't match. + +## Export + +Open the **Export** panel (top-right of the header), pick **GeoJSON** as the format, and save the merged layer. You can now upload that file to Datawrapper (or any other tool that accepts GeoJSON) as a custom basemap. + +## What you've learned + +- How to load multiple data files into one Mapshaper session. +- How to apply a projection inside the web UI's console. +- How to clip one layer by another. +- How to merge two layers into a single layer for export. + +For more on layers and how Mapshaper organizes multi-layer datasets, see [The command-line tool](/docs/essentials/command-line.html#working-with-layers). diff --git a/docs/guides/expressions.md b/docs/guides/expressions.md new file mode 100644 index 000000000..452c9f279 --- /dev/null +++ b/docs/guides/expressions.md @@ -0,0 +1,376 @@ +--- +title: JavaScript expressions +description: Reference for the JS expressions used in -each, -filter, -calc, -where, -sort, -if, -run and other Mapshaper commands. +--- + +# JavaScript expressions + +Many Mapshaper commands take a **JS expression** as an argument or option. Expressions let you read and write per-feature attributes, derive new fields, filter records, sort, generate templated commands, and inspect layer-level metadata. The same expression syntax and execution context are reused across commands, so once you've learned the shape of a `-each` expression you can use it almost everywhere. + +```bash +mapshaper counties.shp \ + -each 'STATE_FIPS = COUNTY_FIPS.substr(0, 2), + AREA_KM2 = this.area / 1e6' \ + -o out.shp +``` + +Expressions are plain JavaScript. They can use any built-in language feature (arithmetic, string methods, conditionals, regex, etc.). Some commands also expect the expression to return a particular kind of value — `-filter` and `-inspect` expect `true` or `false`, `-sort` expects a sort key, `-split` expects a group identifier, and so on. + +## Where expressions appear + +| Command | Expression role | Type | +| --- | --- | --- | +| [`-each`](/docs/reference.html#-each) | Run side-effects per feature, including assignments to data fields | feature | +| [`-filter`](/docs/reference.html#-filter) | Boolean test, kept if `true` | feature, returns boolean | +| [`-sort`](/docs/reference.html#-sort) | Returns the sort key for each feature | feature | +| [`-inspect`](/docs/reference.html#-inspect) | Boolean test, prints matching feature(s) | feature, returns boolean | +| [`-split`](/docs/reference.html#-split) | Returns the value used to group features into output layers | feature | +| [`-subdivide`](/docs/reference.html#-subdivide) | Boolean test driving recursive partitioning, can call group functions like `sum()` | feature, returns boolean | +| [`-calc` and `calc=` options](/docs/reference.html#-calc) | Aggregations across a group of features (`sum`, `count`, `median`, etc.) | calc | +| `where=` (on `-filter`, `-each`, `-affine`, `-dashlines`, `-dissolve`, `-innerlines`, `-join`, `-style`, `-symbols`, `-calc`) | Sub-filter applied before the main operation | feature, returns boolean | +| `weight=` on `-dissolve`/`-points` | Weighting expression for centroid calculation | feature | +| Attribute options on [`-style`](/docs/reference.html#-style) and [`-symbols`](/docs/reference.html#-symbols) | Most values (`fill=`, `stroke=`, `stroke-width=`, `opacity=`, `r=`, `label-text=`, `dx=`, `dy=`, `font-size=`, etc.) accept either a literal or a JS expression evaluated per feature | feature | +| [`-lines where=` and `each=`](/docs/reference.html#-lines) | Operates on **pairs** of features either side of a path, exposed as `A` and `B` | pair | +| [`-if` / `-elif`](/docs/reference.html#-if) | Boolean test on layer-level metadata | layer | +| [`-define`](/docs/reference.html#-define) | Stores variables and helper functions in a global namespace shared by later expressions | layer | +| [`-run`](/docs/reference.html#-run) | Generates command strings, with embedded `{...}` template substitutions | template | + + +These five flavors — **feature**, **calc**, **pair**, **layer** and **template** — share most of their context but differ in which variables are available and which functions are in scope. + +## The execution context + +Inside any feature-level expression you have access to: + +- **Field names as bare variables.** Reading a field name returns its value. Assigning to a field name updates the current feature's record (and creates the field on first use). If a field name is not a valid JavaScript identifier (e.g. it contains spaces or starts with a digit), use `d["field name"]` to reference it. +- **`this`**, the feature proxy. Provides geometry-derived properties (`this.area`, `this.bbox`, etc.) and read/write access to the feature's `properties`, `geojson` and `coordinates`. +- **`d`**, a reference to the data record (the same object as `this.properties`). +- **`global`**, an object that persists across commands. Variables created by `-define`, by assignment in a `-calc` expression, or by writing to `global.foo = ...` inside `-each` end up here. Values set by [`-vars`](/docs/reference.html#-vars) and [`-defaults`](/docs/reference.html#-defaults) live in a separate *templating* scope (read by `{{X}}` substitution) and are **not** visible by bare name in expressions; use `-define` if you want a value reachable from both `{{X}}` and JS expressions. +- **`console.log()`** for printing values to stderr while debugging. +- **Built-in helpers** (see [Helper functions](#helper-functions) below). +- **User helpers** loaded by [`-define`](/docs/reference.html#-define), [`-include`](/docs/reference.html#-include) or [`-require`](/docs/reference.html#-require). + +If a name is referenced but not present in any of the above, JavaScript treats it as `undefined`, *not* an error. This is convenient when chaining expressions across heterogeneous datasets but can mask typos — double-check field names with `mapshaper -info` if a `-filter` returns a suspiciously empty result. + +### Field assignment + +Assigning to a bare name creates or updates a data field on the current feature: + +```bash +mapshaper counties.shp -each 'POP_DENSITY = POPULATION / (this.area / 1e6)' -o +``` + +Bare assignments like `POP_DENSITY = ...` will create the data table if the layer doesn't already have one. Assignments routed through `this.properties.X = ...` or `d.X = ...` only update an existing data table — prefer a bare assignment if you're not sure the layer has one yet. + +To delete a field, use the JS `delete` operator: + +```bash +mapshaper states.shp -each 'delete STATE_NAME, delete GEOID' -o +``` + +To replace the entire record, assign to `this.properties`: + +```bash +mapshaper states.shp -each 'this.properties = {FID: this.id, NAME: NAME}' -o +``` + +### Multiple statements + +Use commas to evaluate multiple sub-expressions. The value of the whole expression is the value of the last sub-expression (relevant for `-filter`, `-sort`, `-split`): + +```bash +mapshaper data.csv -each 'A = parseInt(A), B = A * 2, C = A + B' +``` + +Inside command files, you can also break a long expression across lines with `\`: + +``` +-each ' + STATE_FIPS = COUNTY_FIPS.substr(0, 2), \ + AREA_KM2 = this.area / 1e6, \ + CENTROID_X = this.centroidX, \ + CENTROID_Y = this.centroidY +' +``` + +## Feature properties (`this`) + +`this` is a proxy for the current feature. It gives you geometry-derived properties and a few editing affordances. The properties below are read-only unless the description says otherwise. + +### All layer types + +| Name | Description | +| --- | --- | +| `this.id` | 0-based numerical id of the feature | +| `this.layer_name` | Name of the layer (or empty string) | +| `this.properties` | Data record. Read/write — assign a new object to replace all attributes. | +| `this.layer` | Layer proxy — see [Layer-level properties](#layer-level-properties-thislayer) | +| `this.geojson` | GeoJSON Feature (geometry + properties). Read/write — assign a new Feature to replace this one. | +| `this.geometry` | Just the GeoJSON geometry. Read/write. | + +### Polygon, polyline and point layers (with geometry) + +| Name | Description | +| --- | --- | +| `this.partCount` | 1 for single-part features, >1 for multi-part, 0 for null | +| `this.isNull` | `true` if `partCount === 0` | +| `this.bbox` | `[xmin, ymin, xmax, ymax]` | +| `this.width`, `this.height` | Bounding-box width and height | +| `this.bboxContainsPoint(x, y)` | `true` if the bbox covers the point | +| `this.bboxIntersectsRectangle(a, b, c, d)` | `true` if the bbox overlaps the rectangle | +| `this.bboxContainsRectangle(a, b, c, d)` | `true` if the bbox fully contains the rectangle | +| `this.bboxContainedByRectangle(a, b, c, d)` | `true` if the bbox is fully inside the rectangle | + +### Polygon-only + +| Name | Description | +| --- | --- | +| `this.area` | Area in source units (square meters for unprojected lat/long, computed on a sphere) | +| `this.planarArea` | Treats lat/long as planar — useful inside expressions that already account for projection | +| `this.originalArea` | Area before any `-simplify` was applied | +| `this.perimeter` | Perimeter length (meters for unprojected lat/long) | +| `this.compactness` | Polsby-Popper compactness ratio (0–1) | +| `this.innerPct` | Fraction of the perimeter that is shared with neighboring polygons | +| `this.centroidX`, `this.centroidY` | Centroid coordinates (computed from the largest ring; ignores holes) | +| `this.innerX`, `this.innerY` | An interior point useful for placing a label or symbol | + +### Polyline-only + +| Name | Description | +| --- | --- | +| `this.length` | Total length (meters for unprojected lat/long) | + +### Point-only + +| Name | Description | +| --- | --- | +| `this.coordinates` | The full nested coordinate array, or `null`. Read/write — assign `null` to drop the geometry. | +| `this.x`, `this.y` | Coordinates of the first point of the (possibly multi-) feature. Read/write. | + +> **Why it matters for unprojected data:** `this.area` and `this.length` use *spherical* (not planar or ellipsoidal) geometry on lat/long datasets. Results are in square meters / meters and accurate to within ~0.5% for most use cases. If you need ellipsoidal accuracy, project first with `-proj`. + +## Layer-level properties (`this.layer`) + +`this.layer` exposes information about the layer the feature belongs to. Useful in expressions that need to know about other features: + +| Name | Description | +| --- | --- | +| `this.layer.name` | Layer name | +| `this.layer.type` | `'polygon'`, `'polyline'`, `'point'` or `null` | +| `this.layer.size` | Feature count | +| `this.layer.empty` | `true` if `size === 0` | +| `this.layer.bbox` | `[xmin, ymin, xmax, ymax]`, with extra `cx`, `cy`, `width`, `height`, `left`, `right`, `top`, `bottom` properties | +| `this.layer.data` | The full array of data records (use sparingly inside per-feature loops) | +| `this.layer.field_exists(name)` | Returns `true` if a field exists | +| `this.layer.field_type(name)` | Returns `'string'`, `'number'`, `'object'` etc., or `null` | +| `this.layer.field_includes(name, value)` | Returns `true` if any record's `name` field equals `value` | + +## Helper functions + +These are always in scope inside feature expressions: + +- `round(num [, decimals])` — Round to N decimal places (default 0). Faster and easier than `Math.round`. +- `sprintf(fmt, ...)` — printf-style formatter (uses [printj](https://github.com/SheetJS/printj) syntax). +- `format_dms(coord [, fmt])` — Format a number as a degrees/minutes/seconds string. Common formats: `'DD° MM′ SS.SSSSS″ [NS]'`, `'DdMmSs [EW]'`, `'[+-]DDDMM.MMMMM'`, `'[-]DD.DDDDD°'`. +- `parse_dms(string [, fmt])` — Parse a DMS string back to a number. +- `blend(c1, c2, ...)` — Mix CSS color strings together (returns a hex string). +- `console.log(...)` — Write to stderr. + +JavaScript's built-in `Math`, `JSON`, `Number`, `String`, `Array`, `Date`, `Object` etc. are all available. Node-specific globals like `process`, `require` and `setTimeout` are not. + +## Calc expressions + +`-calc` and any command's `calc=` option use the same context as `-each` plus a set of *aggregate* functions that operate over the entire group of features (or the entire layer for `-calc`). Each aggregate function takes a per-feature expression and reduces it to a single value across the group. + +| Function | Description | +| --- | --- | +| `count()` | Number of records in the collection | +| `sum()` | Sum of the per-feature expression | +| `mean()`, `average()` | Arithmetic mean | +| `median()` | Median value | +| `mode()` | Most common value (first one wins ties) | +| `min()`, `max()` | Extremes | +| `quartile1()`, `quartile2()`, `quartile3()` | Quartiles | +| `iqr()` | Interquartile range | +| `quantile(, )` | Arbitrary percentile (0–1) | +| `collect()` | Array of all values (preserves order) | +| `collectIds()` | Array of feature ids | +| `first()`, `last()` | First / last value seen | +| `every()`, `some()` | Boolean reductions | + +Argument expressions use the same syntax as `-each`, so per-feature properties and helpers are available: + +```bash +mapshaper counties.shp \ + -calc 'TOTAL_POP = sum(POP), + MEAN_AREA_KM2 = sum(this.area / 1e6) / count(), + TOP_DENSITY = max(POP / this.area)' +``` + +Calc expressions can also use assignments to expose values to subsequent commands via the `global` namespace (see [Sharing state across commands](#sharing-state-across-commands) below). + +## Pair expressions (`A` and `B`) + +The `-lines where=` and `each=` options operate on path segments shared between two adjacent features. Inside these expressions: + +- `A` is the feature on one side of the path +- `B` is the feature on the other side, or `null` for outer boundaries + +Both `A` and `B` give you the full set of feature properties (`A.properties`, `A.area`, `A.id`, etc.). + +```bash +# Keep only inner boundaries between two different states +mapshaper counties.shp \ + -lines where='B && A.STATE != B.STATE' \ + -o state-borders.shp +``` + +## Layer-level expressions (`-if`, `-define`) + +The `-if` family and `-define` evaluate against the *current command's target layer(s)*, not per feature. The context exposes: + +- `target` — the proxy for the single target layer (only set when there's exactly one target) +- `targets` — an array-like of layer proxies, also indexable by name (`targets.states`) +- `layer_name`, `data`, `type`, `size`, `empty`, `bbox` +- `field_exists(name)`, `field_type(name)`, `field_includes(name, value)` +- `layer_exists(name [, geometry_type])` +- `file_exists(path)` +- `global` — the shared variable namespace + +```bash +mapshaper data.csv \ + -calc 'N = count()' \ + -if 'global.N < 5' -print 'LOW SAMPLE SIZE, STOPPING' -stop -endif +``` + +Each entry in `targets` exposes useful summary stats from `-info`: `layer_name`, `feature_count`, `null_shape_count`, `null_data_count`, `bbox`, `proj4`. Reading `targets[0].geojson` returns the layer as a GeoJSON FeatureCollection; assigning to it replaces the layer with the FeatureCollection you provide. + +## Template expressions (`-run`) + +`-run` accepts either a path to a [command file](/docs/reference.html#command-files) or a string containing one or more curly-brace template expressions. Each `{...}` is evaluated as a JS expression and substituted into the resulting command string before Mapshaper parses it. + +```bash +# Project to a transverse Mercator centred on the layer +mapshaper -i country.shp -require projection.js \ + -run '-proj {tmerc(target.bbox)}' -o +``` + +Inside the curly braces you have: + +- `target` and `targets` (same as `-if`) +- `io.ifile(filename, data)` — spill data to a temp file and yield its path, useful for piping computed JSON back into `-i` +- Anything loaded by `-require` or `-define` + +Bare function calls outside curly braces are also evaluated directly, so `-run 'tmerc(target.bbox)'` works the same as `-run '{tmerc(target.bbox)}'` when the function name was loaded via `-require`. + +## Loading helpers + +Three commands extend the expression context with your own variables and helpers: + +- [`-define`](/docs/reference.html#-define) takes an inline JS expression and stores any assignments on the global namespace. Good for one-liners. +- [`-include`](/docs/reference.html#-include) loads a `.js` file containing a single object literal; each property of that object becomes a variable in subsequent expressions. +- [`-require`](/docs/reference.html#-require) loads an installed npm module or a local module file. With `alias=foo` the module is bound to that name; without an alias, the module's exported names are added directly to the context. + +```bash +mapshaper data.json \ + -require ./helpers.mjs \ + -each 'displayname = formatName(d)' \ + -o data.json +``` + +```bash +mapshaper -define 'KM_PER_MILE = 1.609344' \ + routes.geojson \ + -each 'KM = MILES * global.KM_PER_MILE' \ + -o +``` + +## Sharing state across commands + +Mapshaper has two scopes for values that persist between commands. They share a name lookup for `{{X}}` substitution but are otherwise independent. + +- **Expression scope (`global`)** — written by `-define`, `-include`, `-require`, `-colorizer`, and `-calc` assignments (e.g. `N = count()`) or any `global.foo = ...` inside `-each`. Values can be any JavaScript value (numbers, strings, functions, objects). Read by JS expressions as bare names, and as `global.X` everywhere. `{{X}}` substitution falls back to this scope, so `-define base = "out"` → `-o {{base}}.geojson` and `-calc 'N = count()'` → `-if '{{N}} > 100'` work as you'd expect. +- **Templating scope** — written by [`-vars`](/docs/reference.html#-vars) and [`-defaults`](/docs/reference.html#-defaults). Values must be primitives (string / number / boolean / null) and are validated at write time. Read by `{{X}}` substitution; `{{X}}` checks the templating scope first, then falls back to the expression scope. **Not** visible by bare name in JS expressions — that's deliberate, so a string set by `-vars N=5` can't silently coerce into arithmetic. + +If you want one value usable in both contexts, set it once with `-define`. If you only need it in command strings, use `-vars` (or `-defaults` for command-file overridable defaults). + +```bash +mapshaper counties.shp \ + -calc 'BIG = count("POP > 1000000")' \ + -if 'global.BIG > 0' \ + -filter 'POP > 1000000' \ + -o big-counties.shp \ + -endif +``` + +## Common pitfalls + +- **Quoting.** In bash/zsh, wrap expressions in single quotes so the shell doesn't expand `!`, `$` or backticks. In Windows `cmd.exe`, use double quotes and escape inner quotes with backslashes. In PowerShell, prefer single quotes, or escape `$` with a backtick. +- **Type coercion from CSVs.** Numeric-looking strings in CSVs are parsed as numbers by default; identifier-like strings (FIPS, ZIP) need `string-fields=` on `-i` to preserve leading zeros. See [CSV practical notes](/docs/formats/csv.html#practical-notes). +- **Field name collisions.** A field called `area`, `length`, `id` etc. shadows the built-in property of the same name. Mapshaper prints a warning. Either rename the field with `-rename-fields`, or read the property via `this.area` rather than the bare name. +- **Lat/long area surprises.** `this.area` on an unprojected polygon returns *square meters on a sphere*, not square degrees. To get square kilometres, divide by `1e6`. To get planar square degrees (e.g. for sanity checks), use `this.planarArea`. +- **Centroids ignore holes.** `this.centroidX/Y` is the centroid of the largest ring. For a labelling point that's guaranteed inside the polygon, use `innerX`/`innerY`. +- **`-each` doesn't return values.** Its expression is evaluated for side-effects only. Use `-filter`, `-sort` or `-calc` if you want the return value to drive behavior. +- **Reserved names.** `this`, `d`, `_`, `global`, `console`, `target`, `targets` and the helper function names listed above are not safe to use as field names. +- **Auto-vivification of fields.** Assigning to a name that isn't a known field creates a new field on every record. If you only want to set a field on *some* records, wrap it in a conditional and assign explicit `null` for the others, otherwise downstream readers may see `undefined` instead of a real null. + +## Examples + +```bash +# Add two derived fields +mapshaper counties.shp \ + -each 'STATE_FIPS = COUNTY_FIPS.substr(0, 2), + AREA_KM2 = round(this.area / 1e6, 2)' \ + -o out.shp + +# Drop features outside a date window +mapshaper events.csv \ + -filter 'new Date(DATE) >= new Date("2020-01-01")' \ + -o recent.csv + +# Sort polygons largest-first +mapshaper countries.geojson \ + -sort '-this.area' \ + -o sorted.geojson + +# Look up one feature +mapshaper states.geojson -inspect 'NAME == "Delaware"' + +# Aggregate stats during a dissolve +mapshaper counties.shp \ + -dissolve STATE calc='N = count(), + POP = sum(POP), + MEDIAN_INC = median(MEDIAN_INC)' \ + -o states.shp + +# Conditional pipeline based on a calc result +mapshaper data.csv \ + -calc 'N = count()' \ + -if 'global.N == 0' -stop -endif \ + -o data.csv + +# Filter shared boundaries +mapshaper counties.shp \ + -lines where='B && A.STATE != B.STATE' \ + -o state-borders.shp + +# Per-feature styling: circle radius from POP, fill from an expression +mapshaper cities.geojson \ + -style r='Math.sqrt(POP) / 40' \ + fill='POP > 1e6 ? "#c33" : "#39c"' \ + opacity=0.7 \ + -o cities.svg + +# Project to a layer-specific CRS +mapshaper -i country.shp -require ./projection.js \ + -run '-proj {tmerc(target.bbox)}' -o +``` + +## See also + +- [`-each`](/docs/reference.html#-each) — the canonical feature-expression command +- [`-filter`](/docs/reference.html#-filter) +- [`-calc`](/docs/reference.html#-calc) +- [`-define`](/docs/reference.html#-define), [`-include`](/docs/reference.html#-include), [`-require`](/docs/reference.html#-require) +- [`-run`](/docs/reference.html#-run) +- [Basics](/docs/examples/basics.html) — recipes that put expressions to work diff --git a/docs/guides/programmatic.md b/docs/guides/programmatic.md new file mode 100644 index 000000000..34393c2bf --- /dev/null +++ b/docs/guides/programmatic.md @@ -0,0 +1,91 @@ +--- +title: Using Mapshaper from Node.js +description: Integrating Mapshaper into JavaScript builds and applications via its Node.js API. +--- + +# Using Mapshaper from Node.js + +This page is for developers who want to use Mapshaper's geoprocessing functions inside their own programs — either by shelling out to the CLI from a build tool, or by calling Mapshaper's API from Node.js code directly. + +## Calling the CLI from a build tool + +The simplest way to script Mapshaper is to invoke the `mapshaper` (or `mapshaper-xl`) command from `make` or a shell script. + +Example `Makefile` target: + +```make +europe.topojson: shp/world_countries.shp + mapshaper $< \ + -filter "CONTINENT == 'Europe'" \ + -simplify interval=100m keep-shapes \ + -o $@ +``` + +An alternative to embedding a long series of Mapshaper commands on the command line is to put them in a `.txt` file and pass the file to `mapshaper`. See [command files](/docs/reference.html#command-files) and [variable interpolation](/docs/reference.html#variable-interpolation) in the reference. + +## The Node.js API + +Mapshaper exposes three top-level functions for running editing commands programmatically. All three accept the same command-line string format as the `mapshaper` CLI. + +### `runCommands(commands[, input][, callback])` + +Runs a command line against files on disk (or in-memory). The `-o` command(s) write their output to disk. + +- `commands` — a command-line string. +- `input` (optional) — an object whose keys are filenames and whose values are file contents. Files referenced by `-i` are looked up here first, then on the filesystem. +- `callback` (optional) — a Node-style `function(err)`. Without a callback, `runCommands` returns a Promise. + +```javascript +import mapshaper from 'mapshaper'; + +await mapshaper.runCommands('-i shapefiles/*.shp -o geojson/ format=geojson'); +``` + +### `applyCommands(commands[, input][, callback])` + +Same signature as `runCommands`, but instead of writing files to disk, the contents produced by `-o` are returned to the caller as a `{ filename: Buffer }` object. Useful for processing data without touching the filesystem. + +```javascript +import mapshaper from 'mapshaper'; + +const input = { 'input.csv': 'lat,lng,value\n40.3,-72.3,1000' }; +const cmd = '-i input.csv -points x=lng y=lat -o output.geojson'; + +const output = await mapshaper.applyCommands(cmd, input); +// output['output.geojson'] is a Buffer containing GeoJSON +``` + +### `runCommandsXL(commands[, options][, callback])` + +Like `runCommands`, but the work runs in a child Node process configured with a larger maximum heap (8 GB by default). Equivalent to running `mapshaper-xl` from the command line. Override the heap size with the `xl` option: + +```javascript +await mapshaper.runCommandsXL(commands, { xl: '16gb' }); +``` + +This function reads input only from the filesystem — there's no `input` argument as on `runCommands`/`applyCommands`. + +## Working with Shapefiles in `applyCommands` + +Shapefiles are really a set of component files. To import one through `applyCommands`, pass the contents of all the parts you care about: + +- `.shp` — geometry (Buffer or ArrayBuffer) +- `.dbf` — attribute table (Buffer or ArrayBuffer) +- `.prj` — coordinate system (string) + +Without `.dbf` you'll get geometry but no attributes; without `.prj`, projection-dependent commands won't have a coordinate system to work from. + +```javascript +const input = { + 'world.shp': shpBuffer, + 'world.dbf': dbfBuffer, + 'world.prj': prjString +}; +const output = await mapshaper.applyCommands( + '-i world.shp -simplify 10% -o world.geojson', input +); +``` + +## Versioning + +The Node API is stable across minor Mapshaper releases, but new options and commands appear regularly. The full set of accepted command-line options is the same as the CLI's, so the [command reference](/docs/reference.html) is the authoritative list of what you can put into the `commands` string. diff --git a/docs/guides/projections.md b/docs/guides/projections.md new file mode 100644 index 000000000..1ea86bbe5 --- /dev/null +++ b/docs/guides/projections.md @@ -0,0 +1,118 @@ +--- +title: Projections +description: How to reproject geographic data with Mapshaper, including CRS notation, built-in aliases, and the albersusa composite projection. +--- + +# Projections + +Mapshaper's [`-proj`](/docs/reference.html#-proj) command reprojects a dataset from one coordinate reference system (CRS) to another, using a JavaScript port of the [PROJ](https://proj.org/) coordinate transformation library. + +**Examples** + +```bash +# Project a Shapefile to UTM zone 11N using a PROJ string +mapshaper nevada.shp -proj +proj=utm +zone=11 -o + +# Convert a projected Shapefile to WGS84 — the following are equivalent: +mapshaper nyc.shp -proj EPSG:4326 -o +mapshaper nyc.shp -proj wgs84 -o +mapshaper nyc.shp -proj +proj=longlat +datum=WGS84 -o + +# Composite projection for U.S. maps with Alaska, Hawaii, and Puerto Rico insets +mapshaper us-states.shp -proj albersusa +PR -o +``` + +## Forms of CRS notation + +`-proj` accepts a CRS in any of three forms. + +**PROJ strings** are sequences of `+key=value` parameters. They are the lowest-level form and expose the full set of options for each projection. Parameters that have sensible defaults (datum, units, false easting/northing) can usually be omitted. + +```bash +mapshaper data.shp -proj +proj=lcc +lat_1=33 +lat_2=45 +lat_0=39 +lon_0=-96 -o +``` + +**EPSG codes** are numeric identifiers from the [EPSG registry](https://epsg.io/). Thousands of national and regional coordinate systems have EPSG codes, making them a compact and unambiguous way to specify a CRS. + +```bash +mapshaper data.shp -proj EPSG:3857 -o # Web Mercator +mapshaper data.shp -proj EPSG:32611 -o # UTM zone 11N (WGS84) +``` + +**Aliases** are short names for common projections. Run `mapshaper -projections` to print the full list. The built-in aliases are: + +| Alias | Equivalent PROJ string | +|---|---| +| `wgs84` | `+proj=longlat +datum=WGS84` | +| `webmercator` | `+proj=merc +a=6378137 +b=6378137` | +| `robinson` | `+proj=robin +datum=WGS84` | +| `albersusa` | [Composite U.S. projection](#albersusa) (see below) | + +You can also use a bare PROJ projection name (without `+proj=`) as shorthand when no extra parameters are required: + +```bash +mapshaper world.shp -proj robin -o +``` + +## Auto-fitted parameters + +For some conic and cylindrical projections, you can supply just the projection name and Mapshaper will calculate suitable parameters from the extent of the data. This is useful when you want a locally appropriate projection without looking up specific values. + +For **Lambert Conformal Conic** (`lcc`) and **Albers Equal Area Conic** (`aea`), Mapshaper calculates the central meridian (`lon_0`) and two standard parallels (`lat_1`, `lat_2`) using the one-sixth rule applied to the data's bounding box. + +For **Transverse Mercator** (`tmerc`, `etmerc`), it calculates the central meridian and latitude of origin (`lon_0`, `lat_0`) from the center of the bounding box. + +```bash +# Mapshaper fills in lon_0, lat_1, lat_2 based on the data extent +mapshaper region.geojson -proj lcc -o region_lcc.geojson + +# Equivalent — Mapshaper fills in lon_0 and lat_0 +mapshaper region.geojson -proj tmerc -o region_tmerc.geojson +``` + +When Mapshaper auto-fits parameters, it prints the expanded PROJ string so you can see exactly what was applied — for example: `Converted "lcc" to "+proj=lcc +lon_0=-95.5 +lat_1=30.17 +lat_2=44.83"`. You can copy that string and use it explicitly if you need reproducible output. + +## albersusa + +`albersusa` is a Mapshaper-specific composite projection for maps of the United States. It is not part of the PROJ library. It applies Albers Equal Area Conic to the contiguous 48 states, then tiles Alaska (scaled down) and Hawaii as insets in the lower-left corner of the map. + +```bash +mapshaper us-states.shp -proj albersusa -o +``` + +Two optional flags add insets for outlying territories: + +- `+PR` — Puerto Rico +- `+VI` — U.S. Virgin Islands (placed alongside Puerto Rico) + +```bash +mapshaper us-states.shp -proj albersusa +PR +VI -o +``` + +The position, scale, rotation, and other properties of each inset can be overridden with named parameters if the defaults do not suit your map. See the [`-proj` reference](/docs/reference.html#-proj) for the full option syntax. + +## Finding CRS definitions + +Several websites provide PROJ strings and EPSG codes for coordinate systems worldwide: + +- **[EPSG.io](https://epsg.io/)** — search by place name, CRS name, or EPSG code. Each entry shows the PROJ string and WKT definition and lets you preview the projection on a map. +- **[SpatialReference.org](https://spatialreference.org/)** — similar database built directly from the PROJ library. Good for browsing the full set of supported systems. +- **[PROJ documentation](https://proj.org/operations/projections/)** — reference for every projection in PROJ, including all supported parameters. Mapshaper's JavaScript port supports most but not all of them; run `mapshaper -projections` to see the exact list. + +## Coordinate system quirks and limitations + +- GeoJSON and TopoJSON files are assumed to use WGS84 when their bounding boxes fall within the normal range for decimal degree coordinates. +- Mapshaper does not support coordinate transformations that require grid-shift files (for example, NAD27 → WGS84). If a transformation silently fails, this is the likely cause. +- Projections that can only represent part of the globe — including orthographic (`ortho`), near-side perspective (`nsper`, `geos`), gnomonic (`gnom`), stereographic (`stere`), and Lambert Azimuthal Equal-Area (`laea`) — automatically clip input data to the projection's valid extent before projecting. This prevents distorted or invalid geometry from coordinates outside the visible area. +- For projections that introduce significant curvature along straight lines, add the `densify` option to interpolate extra vertices along long segments: + + ```bash + mapshaper data.shp -proj +proj=ortho +lat_0=45 +lon_0=-100 densify -o + ``` + +- When `-proj` targets a layer, all topologically related layers (those sharing the same geometry) are also reprojected. To reproject all layers, use `target=*`. +- The `init=` option is available for files whose source CRS is unknown and cannot be inferred from a `.prj` file. Shapefiles normally carry a `.prj` sidecar; GeoJSON and TopoJSON are assumed to be WGS84 when their coordinates fall within the standard lat/long range. + +## The -proj command + +See the [`-proj` reference](/docs/reference.html#-proj) for the full list of options. diff --git a/docs/guides/simplification.md b/docs/guides/simplification.md new file mode 100644 index 000000000..58500774c --- /dev/null +++ b/docs/guides/simplification.md @@ -0,0 +1,94 @@ +--- +title: Simplification +description: How to choose between Visvalingam and Douglas-Peucker, and tips for getting good-looking results from polygon and polyline simplification. +--- + +# Simplification + +Simplification reduces the number of vertices in polylines and polygon boundaries while preserving as much of their shape as possible. It is Mapshaper's original feature, and the workhorse for reducing large, detailed datasets to a size practical for web maps. + +## Choosing a method + +Mapshaper offers three simplification methods, selectable as flags to `-simplify`: + +- **`dp`** — Douglas-Peucker (also known as Ramer–Douglas–Peucker). Guarantees that simplified lines stay within a fixed distance of the original. Good for stripping excess vertices to reduce file size, but tends to grow visible spikes at high simplification. +- **`visvalingam`** — The Visvalingam algorithm. Iteratively removes the point that forms the smallest triangle with its two neighbors. +- **`weighted_visvalingam`** (Mapshaper's default) — Visvalingam's effective-area algorithm with a custom weighting that underweights points at sharp angles, so they are removed earlier than in standard Visvalingam. The result is visibly smoother lines and fewer jagged spikes at high simplification. This method can be effective at generalizing very detailed source files, but be careful that it doesn't remove long, thin geographic features that you want to keep. + +Weighted Visvalingam is the default because it has proven to be versatile and effective at reducing detail in highly detailed source data. If you are only interested in minimizing file size, Douglas-Peucker is generally the better choice. + +You can control the amount of weighting used by Weighted Visvalingam with the `weighting=` option (default is 0.7). + +**Figures** + +Natural Earth 10m coastlines, simplified with modified Visvalingam at 5% point retention. +![image](/docs/images/simplification-mod2.png) + +Same file using Douglas-Peucker, also 5% simplification. +![image](/docs/images/simplification-dp.png) + +Zoomed-in view of Norwegian coastline at 5% simplification; left: weighted Visvalingam, right: Douglas-Peucker. +![image](/docs/images/simplification-detail.png) + +## Simplification amount + +On the command line, there are three ways to specify the amount of simplification to apply: `percentage`, `interval`, and `resolution`. + +Percentage is the default (you don't need to type `percentage=`). It gives the percentage of removable vertices to retain, so lower numbers = more simplification. + +```bash +mapshaper provinces.geojson -simplify 20% \ + -o provinces_simplified.geojson +``` + +The `interval` option takes a distance threshold. With Douglas-Peucker simplification (see below), this is the maximum deviation of the simplified line from the original. With Visvalingam-based methods, `interval=` describes the approximate size of the smallest details in the simplified output. + +```bash +mapshaper provinces.geojson -simplify interval=500m \ + -o provinces_simplified.geojson +``` + +The `resolution=` option lets you specify the intended display size of your map in SVG units (equivalent to CSS pixels). A larger value retains more detail, since Mapshaper estimates the display size using the full extent of your data. Be careful with this option if your final map will show a smaller geographic area, as the paths may be over-simplified. + +```bash +mapshaper provinces.geojson -simplify resolution=800 \ + -o provinces_simplified.geojson +``` + +See the [`-simplify` reference](/docs/reference.html#-simplify) for the full set of options. + + +## Avoiding shape removal + +At high simplification, small polygons can disappear entirely. Pass `keep-shapes` to `-simplify` (or tick **prevent shape removal** in the web UI's Simplify panel) to retain at least one ring per multipart feature, regardless of how aggressive the simplification is. + +```bash +mapshaper provinces.shp -simplify 5% keep-shapes -o provinces.geojson +``` + +## Spherical vs planar geometry + +By default, Mapshaper simplifies lat/long coordinates on the surface of a sphere, using 3D geometry. This applies a consistent amount of simplification across the whole globe, including near the poles. If your data is in a projected coordinate system, simplification uses 2D planar geometry. + +## Avoiding self-intersections + +Heavy simplification can pull adjacent polygon edges across each other, producing self-intersections. The `-simplify` command detects and tries to remove intersections automatically by rolling back simplification where the intersections occur. In the web UI, you can enable "detect line intersections" on the Display panel to show intersections as red dots. In this mode, you will see a button for repairing intersections caused by simplification. + +The [`-clean`](/docs/reference.html#-clean) command will also remove intersections: + +```bash +mapshaper provinces.shp -simplify 5% -clean -o provinces.geojson +``` + +## Simplifying multiple layers consistently + +When you import multiple layers using `-i combine-files`, Mapshaper builds a shared topology. This means that boundaries shared between layers — for example, aligned state and county polygon borders — are simplified identically across both. +Without this, the layers would diverge during simplification, creating visible gaps and overlaps where they should align. + +```bash +mapshaper -i states.shp counties.shp combine-files \ + -simplify 10% \ + -o out/ +``` + +The web app does **not** combine files automatically when you import multiple layers. To get the shared-topology behavior in the web app, tick **with advanced options** in the import dialog and add `combine-files` to the options field. diff --git a/docs/guides/topology.md b/docs/guides/topology.md new file mode 100644 index 000000000..0f81aa16d --- /dev/null +++ b/docs/guides/topology.md @@ -0,0 +1,63 @@ +--- +title: Topology and cleaning +description: How Mapshaper detects shared boundaries between features, and how to fix the common topology errors that creep into Shapefile and GeoJSON datasets. +--- + +# Topology and cleaning + +Shapefile and GeoJSON are non-topological formats — they don't record the spatial relationships between adjacent polygons or intersecting polylines. Each polygon is just a list of coordinates; whether two polygons share an edge has to be detected. + +Mapshaper detects topology on import by identifying coordinates that are exactly shared between features. This is what makes operations like simplification, dissolving and clipping work correctly: when two polygons share an edge, the shared path (or "arc") is stored once and edited once. + +But coordinates that "should be" identical often aren't. Source datasets routinely contain misalignments (tiny gaps or overlaps between adjacent polygons) that defeat exact-match topology detection. The result is that what looks like a clean boundary turns into duplicated, slightly-offset arcs — and simplification, dissolving and clipping all start to misbehave. + +## Snapping + +The simplest fix is to ask Mapshaper to snap nearby vertices together at import time. + +In the **command line**, pass the `snap` flag to `-i`: + +```bash +mapshaper countries.shp snap -dissolve CONTINENT -o continents.shp +``` + +In the **web app**, tick "snap vertices" in the import dialog (open the import options with the **with advanced options** checkbox). + +By default, snapping uses an automatic threshold of about 0.0025× the average segment length, which is designed to catch misalignments caused by floating-point rounding. To set an explicit snapping distance, use `snap-interval=`: + +```bash +mapshaper countries.shp snap-interval=0.0001 -o cleaned.shp +``` + +## Cleaning + +Snapping handles slightly offset pairs of vertices, but doesn't help much when adjacent polygons have small overlapping regions or gaps along their shared boundaries. The [`-clean`](/docs/reference.html#-clean) command repairs these by recomputing the polygon mosaic and snapping geometry that's nearly identical: + +```bash +mapshaper countries.shp -clean -o cleaned.shp +``` + +`-clean` accepts a `gap-fill-area=` option to control how aggressively gaps are filled, and a `sliver-control=` setting for handling sliver polygons. [`-dissolve`](/docs/reference.html#-dissolve) runs an equivalent repair by default, so explicitly running `-clean` is mainly useful when you want clean output without dissolving anything. + +In the web app, `-clean` runs from the **Console** the same way as on the CLI — the leading `-` is optional, e.g. just `clean gap-fill-area=100`. + +## Dissolving with topology repair + +[`-dissolve`](/docs/reference.html#-dissolve) repairs topology automatically. To skip the repair pass (faster, but only safe when you trust the input topology), pass `no-repair` — Mapshaper will then warn if it detects segment intersections in the input. + +```bash +mapshaper counties.shp -dissolve STATE_FIPS -o states.shp +``` + +## Detecting line intersections + +The web app can highlight self-intersections in your data: open the **Display** panel and tick "detect line intersections". Intersections often indicate either a topology error in the source data or self-intersections introduced by simplification — the **Repair** button at the top-left of the map attempts to fix the latter. + +On the command line, [`-clean`](/docs/reference.html#-clean) and [`-dissolve`](/docs/reference.html#-dissolve) both detect and fix intersections. + +## Notes on common sources of topology errors + +A few patterns to watch out for: + +- **`.shp` files exported from older GIS tools.** Some pipelines round coordinates inconsistently between adjacent features, producing systematic misalignments. Importing with `snap` is usually enough. +- **Older versions of ArcGIS's dissolve tool** have been observed to produce topology errors when dissolving a Shapefile that hasn't first been added to a Geodatabase. If you're starting from such output, run it through `mapshaper input.shp -clean -o cleaned.shp` to repair before further processing. diff --git a/docs/images/simplification-detail.png b/docs/images/simplification-detail.png new file mode 100644 index 0000000000000000000000000000000000000000..0af8a15103c5d6144a5dae46209dad53cc150c5e GIT binary patch literal 22873 zcmW(-1yGe;6GkMYySqWULApDo5s>bZZt0d1q`SMjyHUDZTDtQ;-#_E1!{EKw_w3ny zY6(|XltO~XhlhZGK$4LbSA~Fh7X|)){s9vFo<81>0sg>qme6wkY;Wf5X86q%Ld3-0 z$dpvZ*3jHk)zr|$!*Rrv9|A(_Nk&{m&3*YK16m79VP&YGjo=WI67#2;Wu!8u8me+n zuU#($mYOi48r1ur8Z6S#P(7ptd{Fsqd|d=nSC^OMq;>DIRuPOGhX7oQ#^3i>sohrl6>ZnT;(oIY?SL z7J-1E!8VKz0}X9uZf<3E@yKDw`Kv?sRwGR@76Bgy64Kv(*xcoid*~%?iAR_tBqYW% z%`sn@aaA=I$f3-nq)_s}WONyWZ^(qJI=U+dr^LlMIp@n8hH(%>nQKXnTud%53ex$g zGc+{&W#1tdmYlou#5>j;|4Cixl;{EDpm00+T8A^aN5;g15H=l;ge-cgac* zADo=9u`HtEI{%7|71sNgU6(+DPS@{TTxEZBa$;s|8~|PVYtD2(GgIHk=ccD8=bxt) ztzei;e0n+(d~jf3V2QN(#2GE!sjI86qNL=v-2+$MHVl1zk^er<=uK^?EvA{CwsvY# z(ow{XnEe^5_7W98zs-LyaY@DMbvP}N?848#T3D!|y;M-iR5dq;431TdbERDyIvmsJ z)9xNN!Uu<#=N7XHd0E-YCe2~43>R9Su#trLc#2MWRE^wRbcM;)cCV?Z`1mi{+NG71 zaQUNajM5@1kl^3zD1I!HcDN8yJUU90BJ0U=Jy|6E*a}XB02-E6W_kJ3<&|82KNJPU z&cuY>hAWGL+}POgFbx?QH4RNkX=x~-vQ{zXeGiX`b%CUg4j-jVo!}7P`9Bg| z@T|}*M5<_Lj{B4AEiNmR^kwHWLzw%p*k*feeZ3@F`WzanuS1e+j_3N+ownm!2S1$p zl}d_>dj0;Y3SG&(zjx2geg6M{?3yYxJ$-yTAg_<8E z)zplPjoD2+^fSpuMtE0O%VANpxVf8LU0nkONbvD{dwL3Ua}Ul)9Gsf=_V-1}gOeGU z4aA*YZumW{CdTDMmulTv?e4KB)wy$ZcecZxjCMISt zPtU204X@W#q9|!Rl10%e;esl27~+x9$KT10XoKG?Pss`gjmRp?$H_5a`zgc2Wo{f$ zw)f0jn*XV5F03vt1}y2T=noAJp6uBP)QFPN1mDvYDK4L_7LZY1Pp#3<&D}UUS~}L? zWeL&L)vz*ZWk-qz-BSeyih=H(gonvc8rpFIJeNo8u3tg;a9bIh&-^ zBUk%5#HaoN0sN0JR*^VYyZe4lE*^=$G;6(El!d#W*r`KOQ)Lr`2*4Hgb9C{!dDc$e zqaNt+YEa=o73y0(nNKVm8uU4yEBoM}l%CE&s$`7c7!(v0nWXrOi3AnLfWII{%ttj0 z`tM)PcdsfUA}Y#F8kLx0@WJG}EV7tsI|E0dt0eR_sBczBI=dSfFE)%Eoe z>FGbeLy$ln|65TywG-LhrCiq4;O1=LS@+u8_O!gNslJ+_d6$!u1q%y{g-KcT_=k2a zErx@G0~V?s1u?8JmwaK76a_vQukpEcEurJ7KBqAUm5k-P;A+RtzhiApT zzmk)eW@bV|Luc035OUwomozou{LHVZfkr{WAt8y0i4l`DJ7nrZa=1_9CVBDhbNbe~ zy}fO>od4~ld7a}GmQwW!E&T5amz|pG=U)UVQp{Xj|K=6$USIta=?9856HuMdDf$qg zp$nRuc``EeNU@-x+@GHbMMc}&y>0mUPuilHP|?xBb@}F4LrW(o`nLx$I633xMq!vn z8luPC|AB3}qNJ#Z^^}5{c1Uf+R;0$3DVF)~s4 z+T+c8R$W3uLS*E<*w~obS~+3$?d@sdv}>eUX_;{IS2XGTJ-Xjqc7Fun^w-9{n*svF zB_%tv&f12Do9D_*k)pYnz6^i=?;3@NrPL7XP+o7<^+A@eQ%D|k{GRTuICO8 zOZ?7?NaIo$hAWmwMp~4;#;nxUc`=dtuZzpe*P6G6ZDBuK9#Z*jKU-i1c_887ltrDO z=PQTNIUeP|90;YP9L5l?y*_I%l05Q&^Tj7v+3B3>+uoT`p+!x|uc)BlWfXZi9n0=#M0 zDaocjEyFmV?x`LQP z)6?j|zLTG|wF!t`28Nz&-Q7>V!I42iKF2iyjIzA)2^>NWEt#*3>#gQ+2Lm(l`4ti~ z14G+a!}NsDyJv5i>FLfFMwxSE1*RrR-uLIA!96tw9-g(vL5I(N865a)`c?S4Lid!} zp#Aua0Q1YZy1~Y`zE?V4=#gBB^f%V?Nj_J*d%;C&$cxWb)&yPNBi>KcAz@+4>MnDw zH}qYJ8td&_t_Rgj^&U!@_inDPax&pOtGDusqwj+8o$Mdwg?&_=l9H1#*=KaW#%YwJ z?(CTnEoH{XJKg=@=I{Zt=4X;dOB-}+v%ch(Xw=wD(JO1#XL|bM);2FF=$4#}zy)vz zSoO@cz*r? zswB6lh}Xg4c)5XIxgRypKj|dc;NFZevAn$3%gyKdhBG@es?FTXYkyq;r=)l|CHVj! zKecKltGDN2LSPNlEHw_}SwdV~I*%nwk6>bA!@|GJ)n*TvU<6he^ZotKsn9d8qk{u< z%-xbQ>o3i*J@cpc%}SZ}zj=BG2c<R0@sJ}1V z-XbqGtH6sLOBHrLCw9ksBBP^=%_9K-}ub=01*@-^*dk)svdKW{w4TQEO{H+~WB7(a%M0 zVPWTQ1g}(-s!s3HteH|$pkuc$E*!J}`z{j`e%e{^Jm1vK2$4wm+u#r)FMNmxdwb7k zC-B)*AR$?iU|?WKyX2&YA=sHH>UIrox^k=p+GN6}D9Om`t2rd$gOj-c;$LaZBqk)h zzO8v_qQm^AT9cmxA(IZ zoYp257PR0>&FqXH5`cpdoH{XMqx7&iFqeybf`m->J9zj=saltu-Hjp@V=Lt-ET7ic zI4KtDQdprZCMMR%RT&rOI6m&|cM7LG8^@|EBR>wh;Lli8$sFNvQU&_`U6Yjcnvs#E z)=$*$-@ngx22Fp@tVw_$5&%grucugPvd(?acYluXEo{E^Ut8MRo*f+-e$BSDuxM=X zU@I`z`=U=IWL9RMZRYE$Bwrqya0R`DC1-3rEm8{VTDdh;>-XZ~uj74udTI0N8e_rPAFBx!s6sw_)=4i?f$gL#y(@rHT_40%4fvR&aUmu`L)R{ zi-Lxe9u7W2Rr8lrLJoylKryY5fPjmoWnwjp5CK8LYNBmQAJMYmzE^t z0W5ZHtUNq?7#&s35~Q|Y%$8PAc(-D|*amRo_Y#8!t0j_0nmFkR>eN&ngHA-) zV0?Uhomvw#_zyHXJJiu(iPG7O{l?|_ zEwZCyM^tF&&hGX2Kg;aG!gxS))R^jioS!d-qC7V@Ypn@X&Mt5ZIo@QAt7ujcQBY9@ zykrT&k&=@`JSC*36A>k15@m!12UisHXe;@wot9)7Bu5@o$*;o_AN`FCyT0~TP%wS_ zzH)ud(e?6_D_GL?4wG#7vy#$T=gTswDxjs)s-9VbZChIkIdQ{NZ;dO%y+YlFr6{c4 z_p!T|_gJi~Ti@VBXl-MQ08RmLCg)I0g1v2c^7XNMsj8;NbZUJfAYhe~6DdoON~&GX z{dU!kEi~|>_Lt_Nk&)J~J->f3Yd=4ygWfWh1V{9#Jv#gl$F;nwYGY_WI_55IAkrf! zs09g;tKA*#^~e;8i>q;un#$t*b+t*7{AS31w=zFJAUYZ^wW_dies8bw_Eu5)&S;09 zg)hJ0Z+L{F)rbBx?p4r9ACK5wsT~^#^@A z+7O>_qN0OCC?h07)avSUM1r||j>I^)xGrmx|5{(*oa$Cet>}Y;+-Y8wEyzfOJfSDb z|JW&5gq~Chp<(ErI1JgCY#a5L2LenrV5I!+rE+B?qzS=wdmnGn`Eu>8UGJQ{yyFxlTH3Wjh0#eA z22fhBlQ>d}M^%u5AA;WJDa6`Ve4%PI3g+QqkVBB7y{y~6eRT(yLCQfm+wSB9fu7#l zM3W)7?`)OxX-Uf2)wQj)-S_dDvzbP$PeD2H?xgX%Y>V*_4CY%4R5D%B(-c`C2KqLj z@D=6d3BL>~vzxtF`7)1=)1IGupS}CYT6VTfgA-|#DmKp_AI<2G#eV)Y=0n{Kn(_|$ zE2Hbh*i2JghK62!#X9@izvJ7pjgaVQXkA&k zG9aT+P@v1o(ev_Z6SsZoJxR%WL!vyqId;?0DQl=#XG!TSJ1)C#Mr4t?Bg&GJ9Msk( z+1q~`G6Hno-KztPndL@XfnkirCg?uR0@yh@>1pNaA zfkT4MT6X~huUP^Pu%lSGxY38QF;P*lcR|t7NOm7mhvIx(&z5$bH}1~Sh@Ot^Kufo@ z^uRlWK8J_PE2izL{!o?kM-mMU1GMfx<{?QK*Jz2os}O8_%Gg#`-xg?okr}*Ch|73! zaUc0OI>Gqy&#)X?r*~$H; z^Yp}zEs7!OvYFAo+pEBUhCZZSn1>*ttRh`sSfHUDzWSAA1FFj&LPSH2r#F% z%s3`eE;3RfCR)K5$YoYrpv2dfUnnX2pQ0NQ6Nm67=Z4Qk<>X+AiIHasSZ;IW?t_9K zs5{?vWN)rq7&nUa+$oEUTY)*zBS1xMW;3r^n3DskK01PzL}O>iB_d+iGms7mxk|w) zBH@98jh&RAKkPY|7!_3y6w#Ndj!hs@w7F*LR<#-(&%3a)mJ})J(NI#dEav3o)e+CE z+)(`a6TWALoNbMd4-fDkDUb^}>Mmq8u-pgF005Je`9s;gWF_)Zz42#0;@89oY*+oUX-1Rdy)5H99-@ecN zh2^%(BwqUV=khg;J1aZBzOixUx3aG$6;mvwmSm=QNqIT+29&)>pt<#qtb~My-WtRW zRMO=oe(^_e+3{ZJBqU7v+|s-3{8U9nap#9R_Ey%`X6EK*mX=<83J50OE(iE5#4D-@ zQ>LSRrSr|+DYu#{ZU9sUc`Pm^g|s|7JzZHNk{KTET0h$EON2)9%kgHp#vl_lRrzh< zOeBz&ZUl#UZ*X7$jL$(LnEj`Kr+>PpdU_PzNtvBT{V_4*uL55^%R4&6z}y`kkx`g% zy}CdW(rq%k5u~CTNi6FZNn~+TF&ZABlU16MQ=%Up9zHuh4t2GtON#LKAG9Fxxf!L1 zt#}#K#lss~x5UH4v$wtJ9$QKB_lIHN=kbZ9M9n+vorUfViittNjtUDy)dy-(R~4#; z#=OVVVzyvOOGwxUlK1a#;tQUiqMKOQXCCf@+&!R+@^|YST)H9c(!;}%lXiD)77f{G z2<_ycTL6bera3$#IUq5ExbGBvrnwT;QB+Lw+d`BG%c@x!CZ|89r~J}G_T&0`wzD(G zb46idJeq?uQLJyUC6$`lTv}EZN`irrqSd~Oi&n+PW;rjESyCK+xte|+Wh*F~$Dk|e zl~#3oJ2Gby03W}uqIU+eI$DZ$yjpc=0=?IxZ*KwOM`sta6P}beW8)0h=j|aaGxoLRp;kR1gPab)yI2mR>l81Q&SzDS55Ecqe5|bC$07%Lcz9?@!&sr9B?47HAY5VNXacdn z5{!gz1&dResNcVw`PUhEdwa^44-HF7Z}9M>G}&wN`HXh9w!TXh4kS9Vvf4omJv+p^ zepJt|+K7&0^`BfEuA8h#S#?C}q3{Y`Ti8TSIVHYua;IgukrK3}cM*3!C6d-h(UHsL; z`)gU_ZR$vRML_|hfPfGMg^)l6gvP-^acbI1?}oth-4_IaJnp_P1FYvCla*;?oM+gM znn2FPgmfJi6Z7(L)l^@v*3b|=r;Y>&BA=V3i8+>7uBMI-Pz1>7s1U1+GYyl80eU6t zA(5Alj!j4{I$3it=K9*oI^#=+&L{d~YYh!DR@S)k6V>xC6%|BI%=p7H zFH}}m__DGe(YI#|I-|Tv{suq>B!35JiU2=V#IdyOcyz4n=?NACz2oXKLL`Qbz0=GL zJL#7u+y@6{y^o}n<8|(=D0_~zYNU{ zN=9U2s&YN~y_oM&UQ&`67pEv~;jSjHTo5OMu=id%-~kqX>_yTbixU) zsAT+k4HV$bU}Nt=zi&`5UpolZ+ruhWI^v#LUoWZZ+8S2T!-VfQ!NtY>fE3;0(Z~3_ z))yDOnKqf#CMPC_hv}_kzG4YRcL%>%aq;ln+~0k}u-^^mBbQrZs%mQ6RT8BYk?8@r zK!acc_ogkH0R}d7=2w5e{JAXrWyrcd871Xg#ycLqr?Sc)aQQC4H|QQ1;Po;4wKCHU zGz26BZFh!ms$n$%o-IQNkk~U`g2uz+~C1 znVbD9E`I;%Q>#s-K*->ERCvyJ2u)|_+zCz`PtVi>IUEs8*c=~1e4x6l7neZrXfC z3G=fYEG)`**ViJZ)^>L4s!2wsrVcI_N-`sb*|?dL?=MBPDwhbw$T>;keyvC-DRpSe zY3u13j$5=d8-y6N9g#D2Hn+Dg_s^mtiGELpppp)+wE=-#uN>MSzFr(fka+f+JgQTT4qRe^GgPef)AK;M^F!Q9uvT<_b7JL5D9zsr^4qrv)z3~Y&hvS= z$!wbk>#R z#`1E>z3vaDEsmiAs2Ij0!5e(*UX)cbP?t2bw6`~qkg%1Im^fF}|COH3NWiS!~Xzqd=*CtpH*r( zyXU8*#D@YduLqccT3T8MIJLiNd`7gJW7qGyHKIOJQJI>X?Dn)FBGyw;6`0sTmTru!>irgqRrca-Aj*+eLF+*DkGzvZ0&)ou2Uc81PtU{ zi7(Xwc-GHADiiJHr9AuyW1?Zg%&mUtBqf z(l5-+Ah<-Pq#&n?!$_u{VX#hjKMva*ehBJ%^WtqW%`3`ZfONE zFwxTdaNMK+_Qj(OoIPJ$#8iro_kE2sVLp5LB6+bQj5O!79CLw;W za*c`$gm0FscqHaTq`5hlSGW62Mj#ClJ5{jn?{uqks*ciRfW6~S51h_jIzcPRW@ZrO^07`!r zg;zF0t-B_Bq2r_66$I42bY35JntghADo&T+XaX#1V$PH0xgq;??}*n;e4Jl0odoyedA~6wB#{IPnNKs%nmzI|5XyIUBe0LEPbj4JqRPEE- z0ivrfvt4x!YmV&qdqz+`9-dHA;{7hJx40+DnksRX6}FgIFA`OzT8sN$ZdpJ#@aNCz zVULx5K~c(VpOj{3RjtzZO8%oSc@5iUd$$1O#nGML53dCMNyW#F*Y^ z8|-7$=p{>`jq@Y_Jde5U)I@I}SOwG;NV0QsOw0<+_rLD$@0VBD4v*jCV81dvV-fC3<|d+m{1-j z+)k}8Pmk)mYkceC;z1wF3ZhVK{E2LAzl@GqlffdwM`(Ob5Mxc}x^j$iVy^l+5iNCi zP#hRQ#2RBqj*8)QJv=x2^SP%-1UNrpuvGx78#Z=%;m}i5{7O_me{=~-yfIX&vgUKM z>z7`{!w|#9h8eyAuRb^DK*pcAk&MFI0lJ`!H z479sd-Npyx^ARssMA!vJZ6EGzP-NxqTX3-5{MkcO~`ud}Tntwp1GraYFxXgGvF7E8qXSQE) zRN~|xlk+6z5#j0IO5`4nGwY>@F~3-ZFQV9@wk| zj0XFMiiEt+$r%|9L`1evTGntFGd}V0;o(~3=Sx(s2&^^QX51uFu3WD0e@s1V3{Aa+X%Qu;W^~vS3b^Z1Y`6Ur#YyQm) zXAu$U0V@LNz-n_EYaQl4FyUF5xKFZPn=f`kcTZ1=4GlBf+jB97s+t;I0l6I>i45(G z{&#ptMoo5qftt6LDkc`Fq5`+$D{Cz$Wni!ofn@|@AP6{Yzke$O`JOB|b&Na_2qilq z6w1?}hcwxFb|(b{*bhEc?EZDNUEu8S{2K?T6ezZuni~C%PR{84F|@0o)KnOQjdMM| zshIVHL%fq?f>sBzj^KhCziy&$-&AdEPM8hYfDQ~Xad}%aHu_vz=Cs!r%A6OY(_n?i z$9GlsD^6&P5acSuu>b{J>-39<-;D!S^ z*;w!Z2+WO*u0(4$*>1EapG_NG)9-F?^=f=Ux(nK)Gv(0MH+EEF8Se&Zfo3FI{+TBH=%OLCqK+8-u}qohjOFY(&-?8KGOQlkz(2 zoJh_Cf|-J(3 zNK%@ZfsTt_Tw2M&`f^B`qOBdQwQ+cG00Lf+6ocKufkuMN;_%W+Q+#f>mB1w0bt~pU zWA8caJWHUd0={!?oA36tL{V*Rs@IP_Ow6|^p`zli#ku6hW}RN+Diag7F(e)7M{1s7 zBkafQyS24Psi~g49*$~BVR*G0TDm%(G9a-OajF05lNHKT83jBi3yZL?*7HPx~z>^MLOS>xbJ8a?C%dERR^&cDk`iHHMlstxPWT#k?{;M3KKtC=e?KR%@KZv@E{J%U}M;z^`B=s;RLAQIYBCTu^a9O@M)g%^v+TGXsPP z;JGlFl1OOXj=pW!i2tEWD_>UWt%hg*Gp{lGv0EcAw$ zX?QYvVxkMUXut>pz6@e&55(9@8=GyjpR2 z0&Tn(kZU^Ic|b-&Mh2N!iB7+$-b-df*O&l@v&xwCRW=Z!!Mo%gTpN2zEkB9R$?0)9 z)*ufSJzPH{hIM!a^f(dqbi7$0jwP-N@gaiuV0g8&*M((=qLhId}``ekXY67^m^)+Z)ikj z=H$GAgF9SX>+tdMalFv)dhv6=AYYxKz-33;NGQ@MR^AJfo}1(3UB7y8Z1#dOx-8f3 z=qf3}BOoxhu=qVYZm}gA0>X!3VLVh+C2+3pul%z!6k%y;w!kRVEGJoWWqDU3`uCEe zu6E}cBu$U!D>nD{#s7vTbGa_W(9=pgI z52y%=&-rAiGsX){6DWW7xhx3ZrGT{J;o+gZrKN5)L}X~Fy1vL4RiG#RBq8zpbTzhK z?S_H2m6w;7*^Cc+-^EN{M(kmP$Lb~?5$Ry^Gc}G*waJC&;JE)iRwHx zP9K#dtFolz+j9_cDZLYxgDPM;ZO!_Sp97avwX{Cv%JT9KI6JF>VS35DjqCe&AIh}n z1W<>>;$fhRxH>!Y@;%7N!qZTj0ca{h+~oT*dQ(cD^Ah-SciK|iBI6$$ z%R-(tuRuFiCd--6;Os(r9eW%_D|QDrI6&HPT*cw{(B`IvuOq!>ClWS5ogKTQJ#qVC&Y)!4?t!KB{a+W7cykdTmM zWW>ev0N-s=ZZ>uB2O64o9DS_b02T^}loVHv8xr%MN4w*oV8QJqb`PIlIWeGb68h@( za}Iifw8Tbdyt5)rrqjYd(*4>5a&42zxVg2-p8?@{n!}4mg1@L^H-lT^QxvV}`YLU6l zujW)$y$w#xlcB zl<)3h^70x87qBddA1&2!XA+Y!Fd%--NMgd;+%?(SH44DLJu;=_uue@KP2-|>bgENy z2Cyxp5oUeQ&pt;9QNY;5qDm`P(J%)otr z_1P`)YxWxABi(!{nc)Kwh`WR-}NS?tay^PFR2fD$p1Np4-Zr; zE(+~FC+_Zx-BA9DJ~D)g7r-w72@oJhQd4K1e6I%X2RXSnMS>m09@e)qS6Mk`ASwpq z4-5|WkBvhsuyU%Z>v5h6g4B3% zNtJBal#!|N?**y5UsLbn*x1^uT{FrXZ}HWF!crXm9T`)br4sRR^?Hi*aBE#&$%<5W zdXKDDi=cVW0J4_Ak40E(lk&US9)!=!V>v${_{FAZ-=Fs&;4H||UM84p=u1`CJM{PV z{ui6$jgUqEahGW*4v&b*aJ-;&r6%;b7`iX!vH&;`01ivbMe2NM*3{SU>+Ss>AS7dE z`lGLJY;-hY6!(GvC@?@ap`|Oi&&!$ymg~YolX=rXD2mMGB|4yxw3kj_@=Z(!&@tFm zw#a-D;Nj!r;*8ZnEadLyI4nE+VB-=^R#vr2e`9`H|D}70n}TBF%>@(wi4ccQaWWVH z7JyuepHaI+@-csPy~Rj_Xn>&SH6%k!dDJV`u~d%;iSG_wyXV=^#GwPjcX-g9Q}xuva4{kFsV0eN02bGb%a?qSifWM0*1<&PCM5-zOxpSi4wIEq^>bikUAcD?JwD{$a*j3lEBo@#0; z%25V}%+X4L`jp_x@<F(H>9gM2+Dc71 z6Z9Pi+Y0172RlVdG9Wd@=Y&Ax;+TK^iVBvxOjtN(K}c$_r{|q97!Dv>@&FbB}*y<3Q>=rJ|r+kT#>mLBtyD(T#p+t6**Q|=Wy+JC- z$@%?95B3JOjtIfJ=UN0J<-5tE1EC1+`yMTbmrTtCuIifdMSq%`3TlV!?CW z7S-p@9VgnSsHlLqFibl?KOvyI?>f48Ffuc%sH=Bb?>|ID=!{Da-?X;2(g=wz1)TK} zf9DtQ!(LunGq&8qB}jPPE#V|0Qdd+Qd2cRcU&UQzAdzdK6yL(K%ZGaiLKgNUE5pO? zpA*sspO|&^IZh7`o!k(5`})LU?#ZZSWMvg~bo9UeUTbcy|4j4G4L2Dq#>D;7eSG!d z=b>A|%H1Ju&@m+;Az4}TdK>?#seC^1_oA%59bJrKV)iH4u2FmUj%gnjM^sc$RXLW6 zv*C29%|n*mg3Rm=cOTc;MLv6zmHpSlV~9sHEJ%(0nN|hggNJXoTBnJC#csq#DDcfT zF@14wqRfzpp`|kucrZdh|E0wo9tB%4ei|=8-_p{;z5BP|`Fx-*Jq#OL)L?D8vpo$G zrl4(%^^BZ6@kass(QEAJPl5s2UZk{#2Q&@M-!DxfEXbcPtE$V!ELi`UGdPp~7ij&ybIH&#ypH<^QeLzZSXlpl_jO2n; zrZjp%zBt%(k!PtQ*~USf_?E=H^7#C)LI!1IW?`N20qNzr&JBgAUZ0B19zS!Cl6?ce?Lk%y~)v((v+*AbB-iULLVtaZ%I! zW&9Eb(;`V8e0av+*il*eXNAw?GBk=`GEn#{DK#|+WH&Z?CMP9vd;Vt?g5?dQXpSL) zk3wC|O-(}FO^YC3&uWi_l?V@?yDu3h{Q`^eId7$jpPIPwuh9IyI;){K2M6K~t6=vA z9i1E)?^Ooo-jB1*mLBS{8c-+;?T`AdBm z!p9l+%WDzMAt(wZ#Yr5n_ylXeu@nwAnvh|U4>mWyu6%I}t@ZW}dv^{y+aI2F zA+S;=uB7x5<00gPag?@pli>gE4{TJ$U~>85B8Rv4mrtKKATI17+?aguFg}Zc`Z6@E z`TgiG2X^oR7EVv?(9nE=FD#rUd3yqKJV&B4E~JA)z0+DQ9X0jW=srG35)vbEuV-M5 zCrVnc)jbOkLSP$IcUmRhA1|QoPksU%q(!g>B=(YH2Zp61$-~917~I{Pfmj0aXoe{4 zml0x$ifo=uK&i}GqoC~9RM!i(g4mV<%E{|FW*suTy6%dwlG6KQ7nf*f=UJcvgU#Dj zR~DkBu9}*LygVrt86y)pUtd-L@**hFOB}zN6{fj|PEVKa4B14Z*Z{?w=%a6c|9?(Q zGpv_8Q~)LLTxOk-0%`~QsF9LQdV{nrIu-@Q|z{oVzA z;&EdOh>ma$ASJP)WYmQ9ez7`-jhWT+%5a7dV3--TR^P^LI}++(7tJL3lGG zJKF+C)Qh;-_$!NxC#R0lnVI;6^I-h}F4@>e?rR2L) z=bqTu5rDZdLMIJS=0@-kT^ZtrweNG#tH6*GC{D1V)?_O%(KB*=9!I50yPNNe0%l>h zG9V#Hh#bms6x1OhA=7;V4lj@DBtn$jv)mxb6c%x5ybiWQz!i%HTf`u%_IE5;xtv8! zeQsc|(02K{XnLiESrx4I0xVgnO9RdYc!zPh?vIXgbS)(ET#7oe_4PI{E`cUter^J?0RJ#WQ z6hzhdR@X))hl^^k&ZniF!m5cLE3JUx^Zw@k{+jg$&L05(*cV&r`ZS!lIK|+dFXu(PX^*2 z%;TQ?c)hG_ynsLl9Go`TeE0xjz<|I?hF~8ogx%w9WR2x{T;FdWYsLZXH1;%_783^S zErW*+);5fdKXY4`U}7g#Xm^}#zB`_sZ3pWcowr>bHcQ(rM7bd9{bwsa3H#>KyAH5` z+6cA(=6p$ts;a8T=`->5XYptL9b*RiGO)FZg@FOqCV`X<9hgnpg%IBv=W~8>(c0Dq zq!qh0XV7zw4i9x}gM?`BE5T9&FA0e*0nSA9(Bl)VWTS;mEHiV}_Rfx0m#_Mlb{g~& zysbTKh(x6?-mH&wG?C%@73M0KgUSeKvA%05J!= zTL200+z^2m)Ce9`-q1BE1xP>nm_+VT2NxGJ`#n1C_qKcCg2$|wQEzW!^DfxP+ zaA(gD`aLxL=I);u)Qd7?|A;`?%I_bcVb(g_?(k-FUj~-}Tt!Aiv;(_3RJ_b|baJw? zV7qT--tO6BdcJ(UsF>E!$ciI0FTcVColWo`<420ABpKO*@9r;uq$c(z=LCwiUS3}I zC(ob_AM@O7N%x8qj7m#Ngg|7f$o%{la|*}~NlEzuU`Rnp`FmC^1Tg*m=N3K~p%$v< z;^Ov_5|^?01}8pQ7`|D9jwtu-qp5BdZ@sg>V-7%@4!R!~dg4D>O-`X_WYm=TQ(RC$ zq@Ws-%mso3V5b9Y!)vI`c4q-z=g<3i&uYmAoY7WUIor_0%F0s^^2TBAb;C{1NKjdB zys3{Ile@3=_1yxOv!z91RJIN5hPwcPEG{$ z^v05s{?#mJgpu)?omR@5p?y-$|7`RoGgro@rb;TANN`b+bd|Gal`bwkcAVclfQ|f^ zLS{A$%m?7VfXFaV65|v92syi_{h0K_NCCO_VoMx`TM(BV95SV(*$2y|-*p-qTun`O z%dCeDjg3R0{GfuDn+$X%%|^aN$5;LsIk;#hn_KHTQ`Nc;6uNf&zlkVd0+wjDwj9Am zQhB-jfjJi|V4Xlu2Z=6l84}{ic6b%1Fn6u1^d-ynK=8j_Ml0EVx1zMP6}T5biv#=5 z@)8n?Q^M~j5qz`0mIJnXeLaV8DVNp!Xun+Ue7f4%;!_b4mi+t9Bf0fah`UXc10AC- z1RD{|JBqkRy5{D^uOa}_`1_h+yzeRwbGz8+R9|cT8xj-4&GrG#2}&=6(0m-4dd!q4cA}GO&Uf{alhujwICm{ESYiicw>FoN6v;h;j0Jem?H!Po$K| zcI=XC{wOcdz1G_7*$*(M3(GbgB z`3h_Mwb{PDJ^|y}$e~C@!!^g@p9dZWhg;TD*l#K=8i~&N8ma_wB<-O#~%GP(Z+uBNZIo zBB3aVC>_F|?v#;I0)lk25fT!EAt9xNA}y_>2h!a!#^AYr&+EP0=f3ajI=|;}e6xY@ z)5WI>B(t(tebqIsq3rhd<)G*Q7{AKwlH@EBQjBzTFwQn%=nq%Ka043chaEWJJSixr zdl(5~Pt=14$PJq(e@3|s%!2TW&>|5`h4+X>q|DvBM?1v4M$ayM=#I9%V!#|T6I0FG z+_VHbQM=L4@i1@|1+O2_R46eS)SXonXnRe~rTU~Ypyhw~FgY$2kKg42{6`!f>9@2# zoG1*uv0d4Ky?tH~yD^l`7rXTR7qL(?(U{iUX{k8xo_7Rmv?sku7Sj0-e*XGp*zEGF z$y-oek?G)cFXr2{D~L8hhz3OGg@q9ir&Cc;1rj&ai)C|?L2d^&i$NSmgUESs7X+Nm z{0=*m4^FSAw>T64I32&a&6TZNpYk{nz>AN+oB5xEpz-9xH@~B8u;4eFl{nzRJ{6=h z{UPZWlaf*r+s|-Hkt1dQj`13hz(~a5_jdfSmOG?_j-^}DRiRP- z`uzuR@^bhJ83kTcFB{l?$4i6qLt)Zz2z`5@3=$>wkIa6O@A^sUKr%IQW z(zCNWIxhIFY|H8LYZwa%Zglc9l6bEUy+MJbU8FKyX9V(GKtjU1?5z#(3BkA!a?Eam zms`V;v({PnP0~k@0-rYegNTFc&N~}SMMX_TT|rY>{`c=R7vTv$Z%>{R(hl+bx!dL4C8-h=)B_+vaH~8N!%yk(l^}40K=FWFa}E|G5?vl1c_D)W(bNINqms|I3E<29 zWnrqW?z7bEj&FYb#J+SuQ*O-_F8`??=oiv?F?#?o)E` zl-!%Q=NVhy&U%5YtAhtde6hO|FuKc9WfRzm-9RQ68<`>_oxSt`Xlp;HQwYA46cEKw z;uDg_0{5Vswgm9?IU}e$I4k7W&v-rIi;VS+K(|Dy&w;aSM7Js7>~~kb5pOhpLOzQ% zetD6RI36rF1rrc}MDlZYP*c;>U$Lz%;Zs1a3JjVV;x&Be?~9(^rcb9 zv131GX2#{@9Cr!6+l}e%6AW3DS@vYPJw7=}DI|mjDxryq=w)9k*P=^T+(twTaTDOo zx+d`DG)4`3TnnDY2;8ZwU0c(ts}C0k1Afj5%bbBL+en%Ow}MzfDG%o>a&mG7g?m`1I2gZ%)=7uKZu283 zMd`C=&wkn^hML2=hrnuW_ovxz;HraXjVxHIa%%tYf84lS2TlfNW`i1^UuCcU)hs!> zOnu!3ML3UndN$D*^>~w-s)z4)D1MOdhsVS;yAVGBdo*6QfzSbtdgOx#Y-^+nZc2RX z#PlA)F*%0Pp`k%-6XM!h=~m@n-O5vZs8}T4ADDP{ zE={p$@8-7K)?UH&)9d#gQqtKe^I*S?uhA(ftHCK0PeE4@(_Pe&xSX_v#PQr*0COo= z(AXWv-^F78%3L{un3N@t)`W-mgOLb}G56jmZjOyL@b)I=|CGs=fDLvE=7YQjc$JUU zc|xw60B0JsKo}a_KHi!FPaJd9=1mJp-lZ{*K=z)tv?Ce~go`#BI=75mc7TBM* z^9S(ec+cwM;{C*err^UcrNWjVRAO>gpZM*_h)&S6BhS}rW@jN0h;rhqZ*PuU#KNR3};4uV=_3Mi1;b}R?Wk^wRafAQh^px!FtR}^? z|4L;56D@wn%zZ$n6p(mB9Ul+J`X9_jbZw6}CISvGKIq!I6o-#)>UE^aRrm=Sc-Rf^mbh5W+q5X=lmc6=QQ3fj|Nd0;hY$V8 za|bXtf-%T%-DgQVm`*}MqNxG0mQ&j=nk55Pra)4%H_5pqfR>FSG+IU)2KJfRAt63% zx**Xc=seeJiuRs*KY!7+@z7G`paDHP;PF(^<<5Z)qBRq#?C7@ z*bHwyzd1B95qOqD>`ndWi0#SBossY1I|>TZ*sE6iu8j<`lGfiyBYqqm%=r#FD6*cK z_x}EU2`03HnQXQAN<1HmF|BMJ;K~j7%|bMq76J)Gvf?5#GIp!~%x7fi>FWM#E!LrK zp)H|(el2>;09@zlT}tR&1_s-T9;XgZ`*0fzkzSbE+NSz?fVmq0#1$q|=}R~sb-IKC(b^RYUz#&m z^}U>~_2>8;*>L(VE^YuIlX&z?a7kuwb#UCsAj1_kHO-E4slI%f8Tt=%yl2%^RQz_6 zEtBog7F^cA;pV%b_G?0Rxe&Z+k+fzRnXLBqn2TUM1W3Bd8$8_M%M}{RHhRXR898a9 zJi=n-t=(9RHAq;{M8)Gu3bx+b>*{|S=|9%oUZVS(pM2mF+-vV>+?)S5e=^0(E#q4L z);qCqoi&T(M-vPZKUzIBreyR6R)+GF7p2~Gs$O1pSDL>Fj_HrZZ#!0=oGmx^_b=dc zPJ(g?#Fi7p^}1pcZqHtloi8;t&%a6bu4XbSy?XURUq3nMF~CWGp~k%ud~rd|AB-eo z`CAUB5wX{^XR@uVf+5w#xZwQ4!cG^=N<0&8Yy8baLTiiO6Q|x7tBjQZUuhXbCPuy4 z*4#(&o#2cIYypT1bcQLV8+q8+HX|Zl#cJugQTa^Vp4yV9_(>^0nVbBwc5tAN%F)_V z1r@-S=$}h^^Ja3@)yZGdd1VZW_mxx%5Np=A?5wOd>~{n^v$5brc!5navouE-qSB5% z)Rs$^`j(jT8c5Fz9LiV=3z-gf-9}@U?Cqs1MONHe#*a4slv8Hb|=)8;Nv(2m4KM{aU%}oq0MY2t?7r zZFa@;yyOf<&`(rlT{9YS(0b#Bt{rX}jIHL=busx}C4>^}szT}AyTS4dDTxm}`c8)n zRLBCShGOao1kK!D@!M`Qk6yoSIY?}SOw2#b)~&1amKi4m)X%dzZak~Ch;KID{gCQm z{B;#72lom2QQ0XUU|><>UsGDD@O$#ktyC|*;})Eukg(H?O+D6=5ch0-y?1_|sx_Ra zZI$rv*HdXcPlYfB%z^tHUH2=ev#)AuercNI70VP7ZB3#4y|KCJ?a@(z{gc;AzM@J) zlMs&xN6OW4i1~!)sI~w8O%)yep|={xAm%!&0eaLRVf00CE>Y8_)XY68{_zMkC$dbf zd>v5vQC_y2lms0SV>sEiCP1W4j!poY$a-gkllzGMJ?=)X3?f>|&eqBnm3qXJ8#6nr zz^87$<(f7%?vziT+|=Y}WvScPAk91TKV;%P{)X-$o$Sa+Lhn+;G?KyH{obTu%iF&@ zeh7s8eMUt^j*l67ro?kKuilZOm_T9`=Lu(s?yFa0LwXACa$`Q2(uRiJY{^IR@~Yjs z2*it6k&}z!Fl@n5c5_n{CFLaLd!wWzJ$5%rN(~4t(y&qY4KBztYyVcr5YrsT1WsGV zYuxXfTS=MU4b+vS;|OYICEnIIKUv=MpffU3s>=6(%*9D!>-npvPznKMRFgGV1jIRu z5fao;7@L?l+e?eRjq~0Y6e#<~v`uj@#aFVgeR$;3N%isL8M_GIsLMTQma;gEL{@eR zYyOn=&KfY~Uh6LabL8^8#?IIGb{KtrZ&8uXtkn1d<1K3d_^COzsN^>sU9Z*Pu0BX4 zc`dIf>_2>RLRC{~-%3yZEr@?^e z-0clklJ|i4_HmziykItB*u0@m{Zm2JkD=dD{njIy?d-@0|=vfT`3!Y`3u1z|nl zsVartP6#Q5#ZyvtpHXHh8JJh2{t z?d|mo7&}6K+4Ez@<|crQ*~sWd;&@j_$HN`dt+wHozhmQR$a5t#GXef_>(1c4rM?>$ z{BU>?5%P5;v0#8g?P;Hog6A2i5rm6-%1_CEZfKPLiShrg@4+?TM4S`_Vl#?hZ$!{pPghU8l3zmM>o-w2Dny0%WD7n+pqz3ktGPC})dz;T`>5 zb1~G~QG-!YhdDu+s4Nz_YrmW=%WR#Oe0IzvkTBt*|q@$+r=Sa$i8YVJ>;1yBGYivX* z`BFItnHjR(Ln+y9tRbGM_o>?4Bv)xpU*QP~YT2Nl6%snIwOD?*&@)-*U}JOEm-gnH z9L7e`H!Jz&rn?jEjPvBOMLZCqxETodu5?(aD&yKS-d=o$3efv; zjUx`Ivo$rjHa2p+3!7V%;S3BJR8=s&CPe|kY4W-*)f_U<^_v))0} zZ&^z+NZfp5jYv_2DsR_V*WBdelZ8NJYpoz$!py9hs`zu`rp!!4m-cvjNK%rM-l098 zI+AuEk^SxWXIj@n*w|$B$y(sBJ!M0~iqO!p-QC>|+usS%2R$KOlFd!z`}?1iB*Fx- zXu~5+T{*`}dU`rG0;wqT8g(roE9*={Uw`4IwiOoJ%FkcIFMy`(x!&Gn86g+2K0f%> zv&U4a`Ohm~$&(q4MJ@8^hgV;yLKE{Tlw^;YCcjOO0Bb2_Y)Dg)8p@(V?UYjZQi?6sMhe+R7dtH3L@#4JDL{zqBf^tg4FPlsd|ONkG~z zB7DemL?7&g>*}7>TM-kh@ShLFx`JEi=+}e=WOUu?%FCIrmgk3%^iZ&CzgyULfl_io zVKClCRq}_!&FNPw>(HCWnGeK+Q&Tc{1O*$lZj8=6_HwIL)o?JXQe5SN z!32c4M1+M!cz6_oFS=F9Xx!Tj2OU`QE6RQp=pdCe1z*R}jS4ZJ7hOBvIgk*?8rRss z8Q62kfv3IBBy^hAXxRTIlfTad; z%yGc@J8a*4q0datVhVj^!k3eh`m4=xR!z<8YIho+b}#9mG}o8CcuvkX$UX;ya~}6< ziITS6L(u~1keC=Q?$hEEdxH0dnuBS`cC!Ad+YG6S?$zR$>1hUU?^|aTP;FtL_T!$> z*tqeTG^_&ZRPl9uVL^c{^d;Az=DiFN09L^trqU^LX0UYXYlUh#{M&a5FQn^N;svxu z?CF*E!zCo^(iu<_kIxnOjq0v-i{6Tf4xlYiv2bDbNp}8JIpK0<#w5^enQIv~)a~NDvGHrXiewHVoze{YxhG|K~4}>pjxAkO-JBB4T2y+S=w`UT$7qDe>sJ zC42EpOKQBlyx!itgiicMJ*2tVcxlJSXcXfyFbIi^GS3iZ<~Y)FQJ+43+`Qiol_Jiv zd+?%?kx74k<{uk#wq0DFo>QF`mxV4JJP4;Uya%4&VjWpu}+e2vMYFztV>|IX=VFCy|IBqXA!NZQVh zkb(l5a=dJYa5(NyFDr6$LibYW5DDAVZs%o6TZeCk&f4`E73OhZ$ z^$5Bb(`oOBh@#>rYHIWS*rM{R8!#LA+g?QG2pMuw!Ve)zdA@7L!)hpM-x!?E~|{Cy)UN@fy>;}-Uy&{7q_ zxS@+NRaA7Z!voJ#;%)#cIzdhjsk++Vym!WhQqjuC33;8JZ2bHV{g0}=yka7Dzt!D} zi&Mr^r#vs8``bN4g5gH@{$l^#!;Ol#FsxgZNT5~g#KcQ;zndI?K>Ed^@9Vq$cZg)_ zZlRhlJvn)1Y01pkxX!ws>GaxmG3VYh+;O8;TJ;(&5h7Saa}m57m;bCNuc#QEVi|({ z>YACUYiB=EqDX{?j!uA)la-ONd*uFL_<7IX{?rLOImP_$thJ(ymV$|5Y;tmJXsFHM z6v4uRIzG3dL0VOn;TtO(TfjW60v%lf0b2}Lg%ARXy}iAdEcTy~1VTv2&sa3Ei78lk z*nhFmH$%~-T6y@ovw2)ZtM~1#t<8;%&)(cPIXNxOcWG!Wi%b53FA@hgwcxL|)^~0m zo;880c)#%fp87YjkHqyg`T3tUG!Va;^?a?;ZASZ9j#ls^YqdE?$Y&3h6%sKdJ%?wG z^3x|)9v(jSUx9&vy@P{Mfl!aJv6C%J4Sr9Wu2Wt!eJ_`nKa{_LmnhO3CnWUGoNrhv zZY@}hv9@jM%>$2!BO$fW^YXLL`L;HK{x*jqDbI(tZ8r zNqXoe^=s&*;4k=|M?Nd#{rjh2I%M_q6rRtp8D3dg$;3pv!`Z?|o*(O{7oA#yBP7(E zv69CcrXwoqTgIb@uoY2Mx*OCD3fYNur1HlPSiG=|L7JA2PCQ6fsp%M{J({#GR8;8* zSpPPK5(Fat`^E*3CZ}nN_@WQjbbxBw+t~>;3D#FsmZz#ySOwRIGD+3cQ+u;=et>&(f#&q_IP1xX6EzL za8zeOfp^ZSLxYxr0*+}?0vw!9l7gm4))vDwGW`cmPMp6mpNhKY zP+?(qS#c=!~BAqOyWP-+Z#)KLGA_<55dP5m7I(pfsXu533Nv%Tn!D2gU=1P2l{p+ zNoi@Bak=G1Emwcq^TOj|DH!Sk68@{%Zp@1p%NfVAq9Hjg_A zGc#vZ)$4fjtCf|XE4)9mvWO88RT^^J+aC2=pJA?GXB9+6-%!%f@K{jg5%e!k|vK0RGj#$8iZhHa9TlXFH&IhoGJsj0CboH9|DVP#f?VsUgr zd@(RHH_q@iCMG64JUBg_pkZ-+T_hzg`J1id`QN?0uK^IbMimL1dboDtqrv+&HiRSs zt^rS+5X|FsyKELyInNI=g@s9JOaeVUJtHF{Jwrp^DJpLuIa@klo&%d(2>1^UBDu(-$PGp;1yiZqc*bcQ~>x z6$B%b+Wi3$X&ezr4hc~f@rn+9$=M|;4_R5dKkNrB{TMC1%;(#0pQa7s1 zzJ`SkiscDc;ozj$FSi*jR0wT=nW4k_aoWS(y|%XYtMk#(5qQvz5QY4{W$`cfjCmJy zbj-8pl6h0?f7J{_RloX&Vrpu-x48*%xz^=!v7ddpJB|hg)v>gxYos*S&TeI!&ri_W zveeqbokw`g8TuuBz;wjax2~E^ce$9r%@3!ka48#@Nffqt!+J&^}~mtA!>>qECx;D+H`@LzP^@WCFWIut)2Z0w(tT84Mrj4jK6=)AB_bn?4EpfQ%uKJ->W0wcaT?mv2Qo6=k7R_z=SS|X zxk^YgZJ1bWN5@1&gc;-G3|m1kuo4>qPS|I#31sBt(BC?qlp5GA507m%G&D5T)Y8&4 zuP>ZLrF67n>l?HC2E@}3U9U@AT-C;Y+xl3I{Te--P%UkqZf9ha2eVAGs_w|(73Suj z-J;|7^78WAtI)XMV7{_<|9r0IhkAo|-+EO-WhLuBYor!Gz&JQ`S&>sn{S4lLhAMy( zlz@j3M-&_4I_bcZ>QS_@9)88dVKut_O8U2FI$H7S|%ncM%B>Jg|c!CQZa;8rPZjd z{gacAUSmIh>incF9l7ias(XIM6wR2MV{2$`R+aV4NcbguITArhdty4g*zJY2dA5g# ziP>&Zso>!-N5r$ZcuvBPK$tx+K>73_2?Hm&I?2}D$U!Phu;{|W%xwP_h!g)L{^_3B z$-~#L|MZ-+)q7V)QE|&P>dRbdTrejUCJg-WJEZIJ(a+-iYOi|=rKYB;LY^D1|8yq||*@%&D$_Z6eQW zD>j+=`M0O5%q^G2T`HVzzu`VPOp~0M+1}ZS!Z9*D{AXdoKu4#zjMi^!yJ?CC4jG#y zr^ff8!mz%w;CJss#5dX38&-NAo}?D@S)Kpwze?hup(D3tW}c_d-Ev!)n3$NG>ol%B zKGdU$iawWX=(+`%Y ztrF4EQIn7`P__LiB!tJpf_6ES?CG{LKR^3oIJPi<`FIS$=Cq=%P7Dkzt*?W5^nCT3>gWa{h%WQ>Ew8q!skWh^ zuBD};pnxz0G6AvgK1Xh1ibYXz5)n;KUS`z$#OW$Lxu?-q>1?&VuI6L<_h=OY#?|R* zn9f<{jcDj2Nw2sFKT`_xxOP)>a}pu{qE}iJzZYYm(f`zc!WYO*O8VnGZC zrKP5??-5%X+RV(Taw>T~Dl+m5;#fD3oyqp@?ps|i8;S}HqOJn_OYm= zV@+IEt0NLiD#7ewQLDws(Z=Q$s3VI#xSF4zKAAi}cToJBXJ=0~_T%QJO(HZ-k*BGA z#=eNZWr#W?qNlf^qzpMeqGh2I`DXM^QIXRf(dhSgN^AXAAjj?{P>hRzb z5ZKxr{XiDa|M0Q4JX61V5w4GVQbk+aG~hg?u#o1xJ{~kQ1-+oqTu>lRl%Zt$<%ZKQ%cy)YrGPwx*%2or#`X>$dtlHJm+L<2;yfIYhz8 z6eDEXwNqRBgO-+@ybCnUxpgvs1TF`DzlT045fPh>*OYsiyK3gFfSbJusRp-qFP%@R zJ2szl1ZHo9jf`&k;T^c2rt@XV&{{bD*j}HDn3zcV`s&EL%7W#OnC{CLV-ga@5r>AX zZIiN9=d}p105)}WU`i`}B*vhDgty{Jp6=q$y5P67P|D)Ij7x)3Ev*Qh7H0^ukR8FhO49*u-VU4>9uM;)`9s;>T;RL~QA5II*%Q&V4}*rS|V zHh{#N7)W+dbSFgKSoh9<9(gt>jQj)Y^jfz+%A(AE{O|$N0xy}Gp5F6v7L_)C3acM8 zhE)q4|EBCI{MycghRR&I|6n@*Ceo8PIvRP&DAVY^hqr;i&dc42F4?YplBm2AS8xe;i7N)T;Hyw)uEuqdfiMz56&KsuYm2GrMkz* z!?3BL!LX&p{_hBjAk7zdf1kaEmt;Cq@&O+ObaeDk7o_m^yvs2AnP={gnSxD33OKZc{_fV%9(sprS5hWP}wI)ZN?=w_pSD=PFrtboBG3`=F>p8R+v6zfygnrSVlh*Q!&q5kj5m zf+-Aw^akH$$cEyS@(MhbrhAn-Qz^&umCmBL_OGb7|4>3V$e5UJ8JfB5nQXPSWv~|q zA`2@j6tHo+b=G@FBO;`uzsaMbDbX^NzeD{3^HdNjY)s1CGS(wp56>kfRVpln`9@7y zgho&Re%@ZUzg{Gwn4DdZR1;m4vety-83aQ}!%8w!Ql|R)evOPQ&CHOKi$s!3L@u&W zg$QuEeyc{blM5P{lGN6wV*Gu)_=?BE9~K(IQBsD>%lm;*bEB5#N!Z+cq96Y3&*^hO zGUHTsXLS`Ttsry%@83^D6EC!QR@4_F#v)#NdN#(!2*0M&{P{$Ob=1^6Cv=F^)kDvY z*jQP2>atDck z`WAT^$2kqdGW!nm0XzqxFu~`hQQyX-qVW-fz_g5U?@mwma^w&8^$p_S2ybb7{7L~< zbRM4Nypb>6G_f1KryE@^n=C9~eje|!(N<3A?!Dc15+aAMM~yYsra!9-b$AaVFah%c zIA{b+h$zSg`o_itA??Y@-|OlsI)cpNWD2A|_B-#SRw7Bp5auMQx<1Z#0;A8sfEh^E zW3Jovjziz;A+~$_vIC$~$aUGJSH1S6k$Gt>HibL(_S5pds1({KtHjBTjhFAUeE(#- zAgwGkfYXoc*S|OTJbZUI_cR@v=t~6R}i(J2^xS f8jIXrQOZW7AR#YikLSw zH}mmy3Iv>yBOzf42>e-bt2b5|&3S&2R+`dpF+w9mKo)U#hg@O$DQR9qd~4;|DX0*- z+HA9n;pVmr4X@dk!sB+e4i@AR1)^r>!L6_`YNyKNWLoxu(tR3MR*@E0>BzPm*8aaN zEN~O64?h;K_sBK?IfAKx9nq@ijH3#-Y>Qa?X|3NA#Up)Bgh13uCH z&hXg4del0*`Yj(lw9k z>t?XE_ssNS-P%v;&3)PF+Vz{LmQKBhRiLR9B{)1r+uycuarw9N_wU#D=Q%?gLeDF| zORcSWe*XN1E}xR}y9I4qg5s>~&9MVc*|a%F(42*V0rHyFYFc=SETWRn1MSBT6z}_K zw;QW>9FW}9Wt{i-%#%Qm|D^qL^wb^ufK(zY7bP+)BmIsXp2R>A7Z>-4Pf-?g4T^!` zx~X!%x8nW#Q!@W)GzgS0dnXoJZMmPlTm07&jv1`POXyTlP*57%g#<&b;6#Av1|ukz zpip2)IVs`}E*!$-Zo610m$Ey6l;6LDd3iN}aoT6bH6>+NP3`Za=c2UB-ek5Px1%5x zcK;}r$JT}&STz(BtZ&M^tUiZ@@qU7q0L#4WH-;J4Exo?}cDEk;pMAy9h!VGdSVKM7!?(rG!_OI&5xg>aF_3#@5vAp_p#c;F=Em>l5<7EitaEt8cx9 z85v^ijcO%|9HNh9Wkr5I)xtP>t&dD|qy7?gdW~0B;^I*AtGd-hc#}dlc6PjO-fWbp zOd{IaDaC_u*dOpgVbIWiq^6~XbFL{Valgcr!@vl9z5m3{@3sB#Yggc#uAZJ*$XR^5 zhrtTiGHY4=-UO|HjB&D24j3UeKy!xsf*5syfOLI)P$ohk!M;X?>R(XTNpt05AC zzIUQ5D&aFKobz06QgCJtl|M1$h7)VU+Lj*;$1Sw%%YYW_h`ZwQdK)fT3vwsv-VySo+Tg%w@HlasRx3;6{fx_t+u zf0xIqEFKpIOGprfrBI`ii6y|FJPgQqPa`u;*lTM)q^Cdd@Pt0yR)6H;diEpfUszb! z35z4{isVz%NImTuzzm!z+~eeG7W?Sc_27bR>Eu*Vt+W)I9o4-RU2or%&)n-?h8z#} z?Nvd)Xy-4NydM4x#8}&j$_c=PpRfF|smgA%oA_t)hw4J5wk-;ZEXCl|@V{r|fuRy6 zofauwpM%C@pNtHh=jT4*Bv@D~)sookPv(p*S<-MyHiK7U%FW6#(+OdwjjzkfWt5N5 z9v?@Kf^j992aq~P0yk)bjIy_lUYG*-}4H{VdARxfS z&kwm!S6?qC{8dR_kBqC-b!OYzm4lX zrM6v028O86-Ilo5gu_FxpJKcD;^yXbx*jwClIM3D5Tu~+xV5XV z9vfKY8<_Zg_Z)hf8<3KsUgJ9Y`nfPn%qqD5XZf*?jt*IAZ0^#9K-%dp&cW6h9zMR` z@og{8I9f0_EUed7-@#$Iw$80Dg6kRM;3X;Wiz9b3%NO0>=JT>!TSI4Ow*_+cwB8IUtDNN9h2~&6`}BjGyJ^^4OE2qc?hNIB&zwp$(u>%iUL| zF$+pYD&y_Em=1cKn3^Qg$m53+-IH4apWV~M#6nE0u&C&JLBTI&4zGi55^}{ZND5aA zvDc_bg#0rUB=&FojZ$`&7- z!SYsKSsZWc;{(tA`_GQ-T>|bs59Y9wI1l`mue`k>CUE2= z@(L*KCwk9pB@!>2mSJ+Z=W`1hjdeL6Ehpa&Mlv#Z<)Rd16=yXxlDe+3$5Tn<<;D|| zvAymOJk8A&yu8$%oRDqKCNh-_9HGh01_wjM#bGNeyG|UvD6q!I zeuAoQX<4$I{Pdu*^lo!{>-VE~lWr4pbfnD8{4?_-BvNXcCPnU4?q`0lE5evhEYaWi0csun)$J zV3CcK?lv*`Ku@2X-fQ+b>0YryR|p<4zqXc6s2cbGudjZLus(aY@eYPY=n2n;j_SM%m1JX!+u zE@+hKn154_HTiY2_$;MlWt+Z2puxlYfGzRy%`_Yfn)ZvXL#O{K+9!NLJ@b|l#QXa{ z?L91^1E*-p44b0gzmB`3R#gf1^+CnUZepUL329*+Wg7FIM5Hu{i^Grz2+nwfkqSvh zlPE-{Lvi`8F1YA6Gj%wgw|R|s#1JWx@^v{p-zRjw($kbWfxU)|b6cOCpD0U!j?M)n z@gVX4C!G}^FOog5?9*@=6qMM|poibm^VNzL8Grc8j;ov0&t4p9rSaf%Ox)Cuo;7Pj z3QYo%wYTsevn`S|a|N0uq%3I(8g>oCJAF<>#jtE_k4uzDEiDA$ve~Jqj$hjI^758$ zZunhc`bL8t)c}T&Q(Ru|U{?S_M`7GQN_{_)ZdnXGYwPQ+ZBT2oSi9iiPnP`GSNWo& zqCSOTEj+*JKmWSA`biR)?vFMwSo~hVnN6r0zlsPC&j+l(70irI=H@6}C`cYbEF(QV zOUuh!ZM-7jsK+1SJ;&gQbrpD^>ZwRG%m zZBYir1!)LZN$$7~42F_3H8h4FS*;4YZg)&WI~fw^X1zw5wc75(GTHx5{!46*LvSOu zA{{?6Lh1W&?=+@*j9EZnKYiRsnZk@TMBg(6>$0`kBO+nu9kE{5^U_u=%?%3nY3sFa zx7Q{DEfZgRUPlL^Kgv5{CBydweTxtiz+YkKY~bYL+JSIJ^tlihst+9$aWnBby1DJ? zRR>|a7BJG8`u;WNcXeTOjxTZ*<>w>7#Oba#c#%{Pb?I~-9R!7{Ha4n%p35`vqyf!n zdTw#^uNk~lpD7`qhLoa#iin7;qT)BLv&+oKTY-BIkSvo=taamAjau!yrx8=9$0jCV z(ByFR65nY>tj=8i`^}&TW{-YnQzl~rX#{u)%&R=I(h=CWsiJ5gHUslWA=BdKYBwB( zXg`+tM?$v#!9PxP$$ro0Iw0)4ybdcWo`E^!xZ;V}#m_C1GWo7yxZ_ zAS!AS3}uRiIV+-euyQdY1j~OvT+HbTWjCKV_@t$+eRz1-6Oq?r+^?3Ewf=VxTg1Nq zvA3syfQy5pKkrXV>-p1EW!!8~8`c?Z3K zHosvLL=njnBhvTTFk;Y94z|ahPn>xL1&CMd+<%EAYCwymp@Hup;nr@UV`5TY^HfyC z$iR-)x3r{TVd2UU41wa}qH(~LRF>6&83kGG^Jg67Y~CsN(&6KB!zc0Vf$H0lgoxMwWRN+&77TalOew8=53uq7)7PdXh zEid1`Wz5bZ%5v9oExs9gHw_OIg@p|SSR)(&vjvPN38Xu9&BZ>`uO7?GGTK!kk5)k> z1~_XBE!60U%0mZ~G>Q(8>jr!~mzTBG)XZXr4!=cQTwh<`zE?!JxVYf++$3~x1p^0!9X2+y z0QCCtW4T4IhQn79@lEL|D$ZX2E8X7yHZlSu&}n=`D61SFi&`BVY}!3$ zPAMX0XE(NAD0+L=N{p36`QgLTZw?4tMm9Fb(>5LniQ>g7URG9CF-C_a?mIbxpy#u7 zuOE4|td@!ai{#hki@XC#^tW*2?((P{Q80GT)u+A9`q6EP>@Xzjn5z_rY&({>jtBVWzl2Q$~gtm95J* z+S;QvH87q*WP>1m^YrBI@7rc#ib;VRMJA+-vK^B2ObCI1%@kb;iUwJKJ1ss$7~sa)-64w{@;X zJ&*){7v!KSt*T1M&c<<0%?^fzSH49+ARv47x}JDyQN(=1t3fg@01y%9%I)K36bvLwwXo2}JJ-~Fv6P^o0)Rz8GhmaX;$tL0 zD7{Sn2`(;H&lQveegbr^=XJ^4K?i#5xzJh=`}~}yqvNsf!&PTR1Y_Z$|@AsR^q zL>eJcgN3~U1?u$i_!xb8x$W^W9W+%)DD2wWn+_cu>>&S_n_r-0o6^nf1tKec7!pUj zxhZHYU?HQpb+HvzuHsI|wzGI&TorRsqMjPQ8-qnE+1*chrjtMKfXVL)z{^TW+3?#Y zGshi%LO;SLPMOklT);0$PDv@P7V=%bBB;S0P!Zp>*xn7Szt%0|H6iON+_5Dgsk*;+ zPJHny->H=R)O_KJtj(|A);pWX_wcW*MT>tIc+NthTO0ro?3%7Abd}JQk1_(!L zI066D)^_B4l_))z%L)&~WIy%NBpZc^Z_+&;t(=F)#%R*;vw2&w+%3pvI(!0Mrx`?&DLBm}d0b*#sgtNC2*2)ro`i+vk>1nRe zn=m6}NNl(7!!OX#iTS!ns6S9pIIb?#)6-uaR0k)UZ_dqq(gv1(+ecn!1qA>RvKR4J z5Lc**h#`l`zcEjzHbq+R9DQj!#cVQ;JjRVWCN`gLY-Osvsl_!zH{p?FcfvD{?0IJ8O_7$O)L z{wG`C=ur}>skh?ql^}VC*6b#F#mZ@vsA-gM@c=KjXHotir}bJf4q%0NazqJ|l;VU*GeY9Mftof2(P-R?Ddly+0>bQ3pKS9bs=ViH6PosCxTAGe=-tO+SuI^uL%I z7_br%A+^yjC4ddrEt;@cB+4O%IX6=mn=}oBG#4-f!Dk&HrCUx5;Ht~wF~yPwn84}S zE{*Y)qM>YRl4`^PLi*DDd^9wBoMo*zh;Uh7 z%bJ$981XHL1ZJ}WNUHbn_Z>nQ(ZWntj{sG*N@yt!3mc+|bwqt{@bV_^0KI{3H`d=D z2;K6xu1*DnA%lZB(vkIrmBA*F!z@BDVDSWP7hsKmnL9WrL;IW(3N_>fNsum7Sm5J% z|9&X|Pux7q(J}v)>5egKJ-bl9);87< zm;U@&mPe+bG2tkkT5b5$@7Ct*)_ho`ZUuQqN__fM{D*6EhT?8M*)HJiorDCz$B;22 zZQAj=Ph&e$C%u*czy+N#kpDCwr?S!>aM|K{q$eVu-@kuvZmw>%jf8hH$a2ac`rll;2l~$^_&cskI=w~s>cVi6r?DzxBM9A zf?k^iT&sz~;RS1J6!O&%k%DHs*w>90S)2Qn`dq8?uI#_ZU7cKg-{apzFy?lBc}(`x z)|SxFfV{W6v6`sgZ*qUT9Zdq3&RhMvp@Pt-q$IZQ>FL$_8`oY|R(NS1ic0I~&JsU3`&*pDwX;EouKB*}Pm%zhrYIfH{A2GD~- z`lqHi)@}AYtgCAm51OloYxlrSFspl~xd*{YJ0syE|Ml_;(beT&R78ZOx%t1_RxwU- zOhZwSn|#|1XJQ;WJ}jRLyVh%Rfl>YRY4+)1gC?rXv8VqdVY{@tIyty2V7Rp3WaCh?{8=f-Y`iY~1SR6L5!$j*-w}yFW<8 zb(bHx(f(AImxo<}EP_DaSj+lyL4Lo7lJ@JDFCE?IEDZVOTm~+ZZfx;bm){EuKyHJb z$@EQ1?e*CN60$2M)6OTR|MhPqO%-IZ_rlfNG}@WnyxOlXWRmS)`3!x0VK8p*7dC|cv#U1iaTqEt&bvA_U8PV@ zF{B|oS{zPmzxKR&iT-veZRy}wPHW-Kd^~{=x+1j=P!w;bDe}z|jCZ>D+JlN2WwE86gt=&fP8ymaGT0ayf zGB59Y6duX%MJ~)44iF|BA7@Tm`T3qF7Un&ndHzntC0bry-i(`U^lLP)q({}ypGc^&0)9sZP9r$q2kf4jhjB(5NIjzlSpta-r24oO*L2lWxd2Ma8zE zpbGNWz2y(zo7M;`$7^b9cm4dicho4L233`A*H%!U^oamEsIIayJ1(xgu&}(TDKH^n zeMt)~eHvF<6duG^Pva13=#AwXBs@M2;J=TWabW-2d3!VaLbVk0xidT1*vKf2PmGMT zzir|#v%l4kj5Fl$m?njUj65K%MqIcZ6a@x;2KKV;;so{he))gb34qp{IYxVL;Ie&h zPyAhpH8}x8suu*`&Q8x;UY z;D9&KB1MCo{{D&W8WbkLexAp#^Cd(H0h^2T?&96Mi{j#4BUQEJ+8W};x5M9gNv$sK z;Mn3I8lTr>KzaMUjh7dWL#Q{OK4@1$zMDF#s?|l5wgGQ(mM@^I1DnfX)mxB<2g_`< zw>QiJoUz?4ZE@S{ul4nPx~V!|%mKv2)OS|nmoSzvwSRYUo<}#FtgP27|Nd;WR#Y|q z)*vVMS7w>{e0Xs1#n_M0STY%Z**(BifZb!V%6=8k)sP5)CZqlR0Sk=II_sJ{li8Lz z)zEq4mG;!V2xlkw7u$nA7kVx(a$5IT8LhfaH$8)Le7W4-+e>S{cCN0N-#Pf&r>B*r z+{#4l?f=x7v$b2cn>>)?3urMVAy9an*9DiyJbof9?eFa+#K(V+jZZ|7e!q9>=FB>? zk;}Ms*rOj*S|6~X4tf&X^$dfij)#&Fzdu1VABH+idJi4jr`f<6!_FaIhH^3n2GXa& zD5kbIv*Fuo03ZR>(&PMPYOEgs=u>*@fhi(J3JMdsP>)0hiTGE9_~i6p)0+`~3+YD3Zp;=xOAq!*i~$k?QLn#ZuNgpSHVRCqi4FdeXg1}7rU&WZIE@{d?k`MFx1N7AmYh~* zlN>a*TX&Rlh8r~i3IEDuRlVIKG*BO*&Bhf&RIRJ8E)~hMxn*d$(K9^EKrfq)5_yY_ zja~SI2cJ15EDX`gZrNE*Cl?JNvKYBYLme9jM{Q9#gR{~yzBDlr5f09~ezd&P@2sZ2 z-p^k>-tXaIa49jVj*pkO{HIM%0$8WLACDd%``eTZo;mXra)s`sH8mB?YwS$L7!?2R zV2zE+c+KS`Bml3|QxEi#>m9|}|h}>|;{ew{-iNFLjF1WxtJZ!bIW8@aDR#lD{ z-4`d!f_>rSYyTP=N`S)-uo#KKK(Jnr(Snt38ewOLjo-kKJoEfKT$Sd$uL2Jzg^I>< z((t4GDCXE)MkZJG`}YR@;lXq?Q3tE&q`7-%d*??-p!fVealRedB0@o#NScsrZfNj- z#3vxhG4k-j^WFxV?IwSbIBB>V8SZRB+h(p$vs9@9*C)7h=5Y=fBOqfJfB!BNm{~wC z1$yFeGw>LAq>uBz1g|G4&DmY2W5V_uq@pD(CjJU%;vhsty?HZx`OdTGOQ z+6K#kzvm1vKl-PpY>htpUZA%ERKVYVs|7FXm?e$tkO&pE`t-aL@S*@E14n;g4HePT zJCb^fSXl{k*>5Jl?hkih=W2F#sV^)Awm~10urca;-VvvYg~%O`3kK}I&?vr5!la2i zuKu}FN23yOO`%=?sO9fJ3g9&&u4U9b{<4kKT*Hvm3$JSOOLZ%Idlx4s!d++-F zy-;vn?F}|pS5HZXlj(0vNlKEH9m}$8w*_aVPft>#^!Ip4yR%gAvF{C~d}`Jg794o3 zsRT8ZHIt%V%+CXz3$m$&T9` zr`E5n>G|BfOnp}YROh<|Z4GL%Fxu%pt*>Mrc0#0hX&z4x;!RHZEE_lwT+mc6@ z%XV_AQMN3)5S_%uO$E`mvy)Q~%ib2brt|9`bV9;ruQ>v6uGs9z$3jgFQ%S+ZR8mz{ zQ7pjC%sDYkGjMpQz0y`s>5m;t(n>%`7*~~+Yk0EhsbgSJ_tXp)@){q9Dt|r?ru>OF zLEi&!8=FbSas*(S2F4KhY60g$hV*7A znTkcjXxL@4*I>P4MLN;6oSLF8t%SB+Bo0CPF)u1I60+~?Pdk~2$a+#KXL;F3(6!Nc zFICM76BD?tv=@LYI$80G3=Oq@3rrE1Bww2_4cTsR%Av`D&_w|`$F2yFuHFM5H-JUl4Fyq0%uu(j*hX)VwhhM+iLW>zPGnWqgXmIu^?OzbZCDzzq9K^n%-xCLvT6rXL3#1 z)h*-Ov}jJA^5F(3s|>-s^UsY;W+@LlJpUU=CTDS z5`f*%NVCbtPs4j`7E*yf15T{KSsc6#;D5)*81qi*uV&QYQIo&AC8ne}x${UBb$gsk zi1}S-G;$h_UF^y^su{)&>tBSKny8qVss{aU=GD$ZC%tV5IfOwm-^NA-_IMTD)vp>* zgkbR@6xQCzo9pk-wfUZ3xOOj>jq2-05aqx? zs4&k+j3?|naY@SX(80Mx{qD2BXM5dVEpdd*n*`9hirZqKTYXRv^4n#w)=G8a+N~LChyp*6D34b zO+|&r`{rU~M0}frM`ti)92JeE1?ar^q$qzfPP>Lb9f#~JEQ^(yQ^sQ zU?1?J;93vZyAhDVFfcHlE-r~rBNqTs*Kbd|xsMMHR!~xc)-@8A57=``y5CKvaznSC zvgAYBI}gmDV<_*_{Pzz9-IzvcE$|EJw0(>@xFh)?=0+QbZFN4Cm{gBS+D6XI?E3g? zZ%PSn`S0ob$3xTk$Rr|f-$v6XSOGsbowY0(EKPMawYr)bS65*V_nuZb*gms7*g1pM zo)Yw9Ihp~>UxpuH`?xr%QD8Ra=T%fxAXP%xq=|#glM+ASGG=+7oj{i@#l|YSLi_uZ zIHBoWEY+^~KI?7nz#^4uX+2NrA}USA0jLnzW`PsV9(U>*sYwYK(4heVt$4Vp+VX}% zZa)(;GvngpdjR(S_b*k%q2XWAt~U{3o0GLKklWA>Wv$DEEz00%84yZ(SsT4h;PcAL z(Rc%lpTOllBxFLVqT|t)V#2**&s$ifsZn0H|Eaa9Dcgavy84%GO26$(rMqMR&USU> zpLdAn@ZNP%o=#*=%0z0jS*By-q~QEb1LJ9EsHAtq4xFe$m_sZI;8%f5mL&7nbBgh$ zrTN*}ZvZK153u33Aiqa=#fFA{KjW(0n@6w&e)$1&ji#-woQn&?KS(dDJDDx))xY8*} z@wj<1M>jZQPhkKQpAlqXW`-Z`H)dq14y(}X^2HVTHXOUI)8NT_`HE=}l%|UXNtyE?g7hc>(ipLK;pnWRs?6Fb zPIsqBH%Li$cbC%LN_Tg6cXx=i(v2d5ba!`m^PTzDn!jevS~~Z>_q@-u_iyjh3d?+u zx8i2?{BgGVOl7eLtga&?s4gyHNjq0pAN`iG$jOClPYMM(h$`t@U0rYJ>3M+&Qe8dL zY)7i1`aoId3^F~pwtFclX0R|V%DJn{)*6dC8bw87=U((jjIszIeF2c@1^w0UWo6fo zH_}huwIuvG`(tc!RDQe-9IOU#=}0~czB_90@aXf_i#d|dqG-E2sVONb;41|?le|ns z&y}QgLJAfMyOge0#v7n~fV*<92R=O#UbU@-M)zLP`n^$m>M~wn<^zhxR?9ysFAweC zpMx*T<;RD(wA|c=W88BU4Nm5+uHQk_Kus+T^if2Z)tqd9{$}H+hFPuU2PQ~ONlCO- zh#b*6dKcQbLbAvmV!sbQK4Pjo;{%S4mHT2~zZycp0XgYI%;bmxf27w}OrT8_(CcU` zr=;L4)V~CQ@dG?Er*@=~q!EXQZ2(7{#M3EwU_L#4Ww&_ej$c50q7MR#H^O_{+tsD= zXegvLBfowEK^kCdYf7XU6bh(#gY*7gFTb_zk%-@m z5MPAxpW{Uz<)WJQQgbdC%f(0WneE7K6;IN7b3Oq&7w8+z{NN_1oI%1I zC@av+&ua6zfZf$uQaG-+={MXwSqd18U;a0O>gmY~5c;8_*XE=hv#HM@|Bsa<=DeHX zOFuDyI1HwLkYW>#PqgB2bF{VXtgH+SDOu;QUC+s(@bj|+v_TU(uwEVZR5)Qjf0i_{ zh51MU56=*bfVg%t`D^gJ*w!K&#OGV3cfr>5cZeQh;sf0uDykBYGKZk0uy7HH66sLEAP&6~0ijJKEb7_V?lEED!hTL?JG91aFBBS1EoLhY8En_y)&^n) zb4PsURIjdJN{xgxt|F2d@D}BKJ>Ug6Ty0Y8j;&lW1F1I}mh@LQT1MA%Aq{Osc zi!B?U0NRL;Uq07P$Z_d?d%VJ)ey68L1Xd|QDNX-JoYpT}2kRK{6kQ+Rm#$F5tK78R zGalEZ_56hr;W z$<7T9(!=AD>IaleU8R++jJD4d3}9GpW6`eRH{tSua&yxFlbGcg%d_o_kx55&Rh8RL zm9|7vaX7lZ{i*|GrS(^|(J>Z!fSuKqF|+gQ8yI|`q#S!)WuT#f=0*wgOG55Vtt_&y!1JS}bG z46R}9n=p@_y?eJGIg|iqD&U}k<{ZktWC}{`#zy3~EXK2C&)pj?khuzI(~{1vtAlVY z%12LWj>*vml+_!m338;;6W|tzD$4 zBaJJeLIKxgh1PR-D1^6rx-coKj*hUHKi2L0f1}c>64a%x^YVJij+1vJ1Iqkgp6TKF zJT}EUKZw%`K!s9KjhbCXm{9em3e}lhz5C&TinhL^Kq*<+-_k( z5}26cpLVpgGDJL^?S!B?QRY4c+CdiIxJNR}NJ&Y-y}KSA9R*<-D`Ev0L8SlWT`-tlKSm>WVtk-ft4Rj z)E*A|ns}tG#A>*-x*CTj{55446pO5MJ2`nd-^O$fH(rI@z$e#g``WxhIm-|GJ4L-L zat;m;e?M!)&Q)?)I34N_uSt1*o`P#h+$XFn1cdX}@7RyI0&Q=@2ub&;kmZ(lHS&>> z1n#FKw>OB+?su@bRTY20v3kuq{UDuWE+?nq;9w)+L2)VIZN~r&EeK)Z=Hg@Pe>MZ~ zG7ipg4E(SB?sJ>eQ=;o&+yaCihy{4X4x)!YmcxmLvc*NnfH{3JEcT~=KVxDyDR`qS z>3fX~52MoV2Hz1kBtNTx(6q9XlZK@wJ~HxEU@*f3{-@8laA+wQ`1oZHjpMoC+gqOo zajwKb1et_;RnR9T$iTpEmXw)U2*PNWm;Qo(p2HJ&WL8>1;YL9}fQ&PgbhJNzj?UpX zMr?zNh(G{k9@#%bH1zd@7q(}B<^+bbbHRHTkYwhliHcQR={o6%iqiA&5TK=f;vNwF zH_VWhgmpp*iNHodK`y|^%EyO@&q&tey}iG<_CpZ{Mgrt>#(pluIZ3&OgeGIs`!ktY z;%og|6hnnr8vP?P_U|9!8URgD)zrkr2}aNUlcP(C^K-<+siUJ|BF_dUD7jyr`+DO* zNc_bxfd_<~!eNu z$A?c?m|Lq6JeH#;_+xpVKYsoMLVrVjJ;1Lwty#8SUogEUM!7polx%BL-0_~1OLhUj(PvSoG)vT{{fOX{41k-&G98PXge?y^vun%@eNXlZ&c{mmL_AZZ$4S*heJ#>_k3cJ|4$)874G;C!zb6dH=Xzo8xTMr;` z8s?v~sFJzZg2z-^n%09zQsdL7$E9X;IuFvbkH9RImBmb=_ovrVSW8IPROqNPDhSBS z&Gnrf`7S5NCXvG6!_3Sa6t{Tv*bh2f_Jx;MUhMSTfA@mN@QIRITzspb8d$Y>OnF>i zryc&9&VxM_z-E2@TPrI<8lPw0$4+JPx!Ty;LT_sV0OqTl(x*>OqL6JIrVf7$s|A-p z7lyXBxXsSaXHb=cLFv_ngihK9MhFm{Qz@6!U}Iwwg91T-eusc<9Nbdy4g$uguCA_x zM2LlUCSXZ}Rn*m-#KcVjc++gzO#Dt$s_gD6kN*k6op04+d%f4m;qZ;p`2iG98JnB8 zdfCpc_ad3)Ke(zG80c$j$0~(`nY^a0t){H4tDu09jm;R4VgoW3^3kZkLAM;WqxtW7 zw3o88ON_nYl9bGBY9gYckuvP|_AT%B*q8uG4Yye}Ai?P13 zwFNnbi=(0;FVY-d{``*{agmwnJA@-BmB7VGadK)H{8jev2d6i{Q46~&YidB=R$EO@ zLL~u&dsY`0T^^fmBqhxOs#gGyi|eWPE`xARN^he;v;pAxkBfE3Z*C=J7PWeg^MAcI zf%`CIcNM+<+Z7*xqa7WcF};4z^Tcb5^BFaIoY9PQ|3wK|S%-kJRaJFpbk&$MWWVHh{sd zb4iLQ1O&RiMK>Itx8F6lv1I(2Ut9#zouYT-{OoL(>7EI&ZozMb!VGv$^1!kNNIDbK zTTBklp5BJ`n zfC>UrVN||&qw@?MnU& zUTU(!O*~1VLc6m3@Bv9wTw-i&>yw(NN-`)xZ1Nu@V5+RFoEukpf8l?u4=<2<^0v!! zo7O4YM3-r9O<9_hh!<598-|2hTtbaIBqt^LQ|xv%TjF-r`^i84>h+}qC(GXc%-MHT zy8P<+srBs4Re#KRZB19fXu-+uI3E3^voLY3K@gM=nR#w~ad9~$8VsZRc#|6!N5fwH zE(7cN-?ApC*-%nY;NjzgBQ4Mp?JfPI|E6>UQHbZG078)l1`FZnpVzL8hsr(-blfQYs>SSc08h{^DkMl&lLf`Uy~^q_&{l$m+ZyBir%osrmto3mr3 zs>;iyedPk$6U3ijY?r2{zI`udOMUybB1p!|JGe1nZo{?lZ4L!29C%K@>o(MByNUT{ z;o%ni>9HMMUBwkpena%$1iXa~ix*$CwLh(MP*K59Q^8VG&yhuzbQAdc2CuAi-rrXQ za8LZEflq{bDF2vBrLF5t>(kL8=G)QF@Zl>dUq+s=``+&xT0}%%d_`Bm{O}t6_N>@k zAr6i-p!VvBiuMksG9)tVAYk|q%g9Coht|niJ~_EDJWOhSKI3`q*}f_!8voSV%1*La z_2%ZEfWR@S@T|y^fVGR!Z>4btjq?$szjL*ediqd3p#i@>Ezqycj|=@usr$2b_97lG zZVa>CRUH$3bTdXH2V$$yk+SiTqY!J9w6s54-aol%X=r?WUrQ8T zF-3GcZIAHq-go=(qAy3^-r51Xl7xh7ul%*B=$V6KT2F6;jg7+n%wv*~f|iCR=!}&$ zliM~Ad*x1x=D&R|o=kY5hrf+(Bxu(W|kMDf} zihX`|G=AgQ>ew3F{r!CiMZdJ0xKZfuhr`b>brw=IG$+GL&5`4MqR-6Q4db*P znVF#?$>V*l=w~|3b~iDlB7y6aft0;{fB#1P`5UR=PZlGoudlA6qF^M#NK4yz>9!C{ zIOpbeOGUeN;sx<_WrYd2MC!7#QlhGI zS{|@!Um%jOo}{D)duwT_+9*pe&?#ukr^na%Ffqxwxw8w_8$eDafd%}{J3C(tR=MU0 z^4zO(0D(eAOAFecl;!>s5E1dY>R9iM#>yO!i_|$Z{dBWgs8$vgMI(uii0E0`n>}_t zUGv5yA?cR31qBov>ASZNq}nyK{g|CqT9@JV#KcTYZM=in!@zl$ot0Hy z%}84p#m&S?TI2)bQGXoBG{IINN&V&cKH)$&)4&H}mrbw}f|T@ZWC7ZNsj$$o5ZGCt zQBhE$&(Bq?P|m@e{M~l++1(2QsBZU<9kDS3BcrHqE6w)VfrWgNQGSG*j1x1g!5Sjs z;+Vv_ej7!nKW!W4C5eew)K`2&-YBxrA%kiq&COp76q6GZS+TH+7Kr5yJH48{?`RZ~ zv?TjMBV#ptPB`Ot#{9hQ0_ax`R@SG!hxRz7T_C7Q{f4iPeVCs(;!@J8x1VB5b@@4>zc~!^5zbC+5Xv0oT#(n!HyM)Y$J+_`R7iadELRB7rf#2hBk} zt)p`zRQlV+LnXKUBy_ljxd2Z^ z7U!^<+U01@is5ZxRmpa8`rY@iFuWbx!9WRO5`8f_6v!a^;2qS#o}PDP6gWtLySr&E zpP8m8ZfrI+nd~vVIIjas20QD-Lsy5Ou(k;%#`)^+M*><}d2@3n5)uO+s9odS!d_G* zB@N0g=r`qGm_VHe3jKJDtV~32vy$!U5h0oaqMxd?`(8|;sg_>%E&_Sa-^c0nRj;;I zSb?THA@Fd%csYIyt>ZRoQOuqV{H)&)vT}`OAyZkrH9Uq^)7)|4Vq|oFvLwM1m|T7f z2A>iA2)U@i(f7m&$=FYgM@Tpb`1r_HK`kvPQ_*+f;nHeT3A_)lvd3$dNGHf1m^=+_ zZGH|$IH6*$?sr^VKcON4O9r%j`vrrKH?1y7rIdA?Xdhc;}_0Z0kIw^gJIN>G$`GgZ7Yy1~v%^ zD)9(>EFH89b2Q3#z*M)}t@CZyv$nRBk`lGaSz6wyD6~`4(Ae4Yzawv0`*|7xUrFzocvow-R6z8f;|Kd68?vW{e7N4239qqy|;Br z-rjS+kncbh-{z)%BGyy0(aNIlc$b&=6Lzvd!sNXo#P8$8V6ex4T~J`wN-?}H;XN}m zhe$_#J*yG-$8?Kb=bf0BrA8hyD)e}f0u5^h%kyZhGNO0ys;aBAN1H{&ES1(4>r@p) zA+LyV_wnekHG)N+7h3BLIuIZO6%-XA;V|b<8}~NW*Ka1dp^n$%h>z@7TtNQ=tQEk) zOKWNfVxje1zxZwbiKE=5=&BoBsN< zc^PQy$?66L6CTcI#2gK=H;pwlB+1T;%gfb({T)>ik=rdw>2^{EbsT zK1M-{XMV%~8Xr;j7=~&MJ9mDv&@|NE(=9;e@^y7sHd1qWg4L&~^X#cTnjXNAwe{ zyA)(S@X?-2qcVCvGeJ3}-;T1~?E&Rwk(`K|Wg@4DioKpeUltRi;O4Op0185)&5tbV z8lR@Wo(Ptgmiml{*q(AqOApT0=*RB#J>3axIH(6x&dfCT?aeBtduC#h(a=B~8d+K0 zPnCNm9M{rOWMWYS zUS!AlO)dr|Y))N8dg9{Znwvy&k4Xs$YisTCaP)qPORg?&zPlxU>$5DD41nk*%23D% zCMfXu^!7obo89s*9A*$Xx_SVO6n-2w$7hqn3@!bo$1P`yYK-=am7T#}B?(yl(i2!livGQMlA zp)<&@2w4=ou6LEk*Aheaih0}o{$+me(H%N9wOHO{IcC99tAc}+p67=N4UGy7%|sVH zK7K!*;DLd8ZfF!87)VY-(*{&nPfymCqR@{Qq!8ab_h_#Yi*~jp#tg?rv!>7`Bqd|Z zetVjmFGQDxZ*-FiYwYc$LJ?P0+2z$+*xDAiWwCy8A}`$0*8a7iO}()2D>ztue$)j4 zgY3S3zRtki%*@8e$HvMErfBW_9D#%cDFQwAcX~25WbHbXpFzD?5w zIPM1J2QRO$T2)JBX5%w6(b3V+W^zCfUss&Ly+_zN}00tDIPsLuXkpzNWH^lS|Z zMI!S4Y>p-C0^JEf@&FZ}gf*ym|5&%pk%WXc#&Xs`#bc%}k$zLeVOi|3v+_|TS{p`P zpBOgKAwohl=;-8v{J(#*{`-#!6?-0^2%07bfBmYfoZnFS-PX?j3-@UT8gE6olXlRIz$|h zB`BC=_kj*>e)_5gnkp(9x=S#A=+B^d5Rs=eC531`w5lp>bkxqO1RU8Hh*!$Tf#2$G z=n|M5hBRPhjW=-DWv{M;akkT+9>d~eVxUr;9P9TK_t;Vr~3Un@sj(W z!0J4qIx{YiPeapmS{kirYPy`3wFa&8fE(l4x8*nGStc@t1izFTeOC}+BzX5OEG9RHrDU4m5ndENw=gfQ1u%DSCK>IZ z89F4S*GpL8!7q5(p|Nr<9PAkdh0Bb)PBGUT{+p=*|t9gA@(3{ zV-hfc>NOgwFc9K*eb45$KJYnO+Cq~EXx#S?o)54dB=d$Jxt&4FEioaqju#_ymsg;f z=gDC*Htk#1wy#~qHv;HAW2?^(FhqCHu=+sF$;rX`Z*VbXqo#t{{3qJ&b#k%@m0l3k+*~V8(f=CM}{jo1GI4EaSA$8jJ)DMS%pV=tKbi$#KelqEE(=stE-Si z3K|_TlatCdcHByNbs$Xy+r`NI3NsKHAKz_5ke>CZ5uu?J2Wo;%uCG7O)w~$`=@@~2 zdkz2YJNa}cMO5;aeuz5??&j^O@-}c3uyqxYOrn^hq^%;Kvq-g0LOy3*&WQWRa<=_ap zsyn?--ceKYa!mL3ZsfLeB_xn3L_+kUi%UsuBoDH9dwDrJs($_qs;WjB=g4Vkq1zFU zI^yMKCbQm*33WV|E@U?k;4h-ZHb^Fx1br|5rV5-p`W>bxCGp!^7INDcRe#T6s(J78 zg?XO<0-K(a0Vc`k%3|oCo5jpv-&DF59X%cc6Ei9rIY+25KQnXmDl~Q{wj7M_bT}Yi z&p|`8a^3>R1K}_NfIwnm{ZF58w469uyTs+>Q2s*T;};8&6@`ZVzPNO{Jgtrjs(bUlqmYt33ws(0P+xn}1tj5g7rM;-=_QzT-uba!x zWq(P@G5jq)e%=WvhwQE|RCM?^Ih=mni-U%Ws_37{&J9#uJ<2AZquK6y#*chFzxMYz z#_w};J55ZUZ_!zln83Np=YMJk>^4qL-ULvI&Ylqv9G*g65eh>K;rMvJ_?mcQ5r3%d zuwi2p1KurxWb^(;*&ze(|N8(&YIr()3CDUw;IqI*7O>aU;{YjgRdNF*(ew^fkdTl} zOt|#)vewq#mX_#E;ut^4v_)nXmIZ!|jYXGigP#sQ85>(`L&NDsu_nfRX66@Ys1wUt zO2(2fsjcsZEPnk?qLozR^LmgX9fl@<@ma(If4~P7w6|NDnK25#ZDme1t4($E z*ilSb`7>#0AE?qb%?eSggpdgp^Z^7H3kxftFoz?NXM4MZlQXs_abRG;#zujW(FL^1 zoKr^VJ;571JeY$`AW>CGMwUY4T)p17U*}%;)BVBL;303!*8cu{)l3KSGVSRy;(A%` z>IVlWWnz-=d$00Ca|*`p37I8Z*zb2LX&mvAa?=l2#oONBy`Xpth(9zmHuh&?g(?Nc z?QLH5_EU}yADNKQZ?)2MSbE1g^_-5Bg=+^*D9U_uNaZ8Js z=HT&bFtV7~@Sb~`Gb2b~_-?Nw=Q$aa*?j%FRQ$EWg}(XO3sZK8Q=ME(?oz~EbM2Z_ zSBDSqA5PA4!afyn{h%_MkBbY^?R=1p+K5XXDvu|NmfGU+L2_oABS1x@cmf9I{^TSV zIG?|Ar9gq;^N|xA_3*z9_f2m7@oYjAVEgf_3ax2 znZg6A2etz#JiB46vAg@-`uax}mh{8CSa48nZ&Q&m^!H(*kt{=k7cRu!RJmQAfHCX` z)Oi;h8zOpf7z97mV^WWk)lPt6ve5k2{u!gIs=Axm_;#0M?*C?FxCTLg@ceSE5W`xj z7x;y5(R(z%Jv#W{K(75O=i2T+ELBzdvsG#}b#*Ak+w1GN_~6vs0N=?;wYjNzKOBuLr+g#)5v?jSL$^ke5RtlUNaf=PSZWezUM>E zenaiJ(9oTb5SaUW50QC{U4V~2JwAqqg`J;&?CWlA-8$`bww^WmJ+`ys`;pJO-GgovCm^=}hLXaLmBQancXz$1I_4=YAOo+PzTsggT7eIxz^2=00`klcS-=T9LMaA47WLh3Hf?dce-Y{5uAQqoE;LZ?8vQUhU2f z+pFcJxrqa&0aP?oh`WX#7DghlVzG)$QeGam17zQNM@Aqx|IY7oEeHLu)|8h+`aNhF z%q*IL1^&lSrKA?a!e(8MG+4~c_bfA(1@U&{3x2FN%2p~bA!GD@6(1{M!^(nP-?MKi`n$dJ5yx4B^q=FdeS z{;d$33JBl~bV)|j4Gs?G5*dO{+o4)~{raFiLrr}f+Z7#M{-mV*;h|_TB6v>rj~^>4 z9c!AJk|HB(e*Ew?F@Y+9=7(4J^t9Ep*?n+!D=s$Gl8=Qz_J5;05!du;dlLEVLmvoC z@YVv zwX@?oeoxAK4{936e4Q}-f#|`?;|4}l=vQ6+6^Em;qgf_tfH};}#N2(+zxVy?_#tx4 z3=b;q^EVIBZUv-0As;h*7#?a#X#Y1Eed0ziUb(vdTjcv7w7Rje5&713*kFbTkB=W6 zcWa1^5FZn7meziv1s5?;BFNZ; z{HoP7LH>bnv+*c^#s37Hc)i_%^3RaDe_Ok++{N`7%@kYF3-cO%K>Hg5Z~+{x~&@FqFc&&Y@}hzhjI zFyZ#4F%)9RH*k$p-{|Nk!?pjEvp6b>%Y%-+X7wEo2Pzdd3?7M0FrCb^BZVRh99}F( z0oMUO4cvVpX|M{vq+3H?h+Z!I`eFeTK~TRaDk=)1i6FiRW4<^sp(ra08b=_m&(8P3 z5&Es7qNlr}4V2sv3pmJ1Nl|e(hos=JE5TL8wX{IELD4(1Djpx_y=x5-Q*1b(!^Bh- zqhOPtej8s|!3SzCVKV4SfeF(o%DLUx~Ah3u+f?ziwJcYb`%x}JS5oAL|;^C%dXC6U2jw+`CT_`!(Ip85D zUmId5F*%vhp-p<2Q27g9B8Ye0-Q1X)r=_HP>d}6@U)A~Zv(}(&y945j9?R0Ec@RAx}pWhL7#t~Zw# zj);g%!meIx-QU_u%61_Y`(l+9MxZ>wF^1~?v#l*JA)%nKFf=10ApoMg)_#2RaDqS< z9#i2nFW41SRVzC?J1t|;sw!;>NJs+L@Yx2nB_#gF9>s&{9dw$3mm*S>8YtVBNd%wA z@JBwrD5>Jm&}ohDo0Mc^BmbCox6NM93xU-t@g+M3SR4ydqwDji1@G32SE>l>WxXwu zsOuy>JV06H=K6Xa=wE{wZ)u6CJC`8 zCZAUpb=B3O@R0CW`1lYZV0Bm+8VciJX_*;;+sU$k3Z%@^>kmt^=q>C|A|WpB`4F}G zJ-f!qsmRU_a-Dv{YD9nusBt}?+gsN}vSwZW41K-3y%it&$Tk^-Lk%`1JW*+BFpCKb z2z($XZ&5Ot`I{=A#$xyk`*Jt?doeUT{CjmZp!42IlxIC!RBX%i{`U~6YR(-$Popao zgp~!Y9m%BT9sz?eP@135i&>|3xb*@q@JS#N@`BA zCDU0z{@zv0{>Tk3S?TcwHijwf1e_WUHa5iH@O6ZN$~McbG^V8ai-^3u-n&yT5c?eA z|9)#9+H8-lu72s|4ex?}Hn2+p;s3>Zn2EADAStP%w3L{XH2Hq~Din3HrVQdTC@agv z$f)AmxAJd|=+}n8C0112+NRR$e0d2L2~@cwBFQx2#~hLJ^yDNbFZ>&qT<~>gE*co8 zQPI)3^ja_oubA6F_Zm(~^9xEtSXI^X*fC&&br3atAHmDT1?PiUEh{b#t8vKE03J@s zLWkb^1LAsc^NziTmYisBcyDiElS}QHK=;T<-|Xxt2wRDVyMa7Ba2vosZtgdVeh0x< zHMRDwe*G#sI`eD7SSdVocff!IJ;y~wY#)n_l40i<^&2gC8IBAG5EW>sJ;``?9)_^F zj8a7yk2O{b%FAz8xHd6hdd!FMfMP((t|IIrL(Rn0-Oyn7pE`9U^6>kYg_L9|7yy6M zJ|i2P{b+XQacY<>i;ZxO0n!$Am$h`@-#i2~!s{8lUHWD(x8hvo5l zpnL&KVOvmwoWe+4oF|tz)Lu!64THR8UFytC?05kin{Psqc)&VoNUc4OgzJ||XmEUF zWg$t&R|e)nOL{MjA{<2+borE5MS0SC>|Bc5<`Nq{{P`mT1#RLG*j6Uoka>s|H zK!*Wt96^>)OBi!M%k)|L5{M$~G!LZ&HerY$WI{s9-TqMssf5&2%vUwlL~)KlXPr(j zf{#;Fj>-XZ#%6jjtMx@iH2m#UAJ}kjxAx7#Zdx?bl)+EFXq8`C=)miaOJL}r(i5Ef zkdUiq^u4;=`j=P3JwFY)9f`6-+>sm|GcO!7&+#*)q%;ul;cKg_)vWU;)APDtXn33- zEyTob+gyV>I*8U|d#;1CVbGZ<8YY+f0)m1*x!!%z(*y4xBX#wo$D)wj9KRwnlRV>n#2Ob8MG*DP9~SJrPq@=1+*6h@>QV ziOI;y2Kwe8&ly?xp&X*#Pd8fHfFYn~4_voaZt3B#yZ|-==*F9Y3#6ZXL5LBt|4@)( zWaWpU`(xwd(bGDbo0UJiI_u~_B4FJ6l3&@qQqnQk7+I95FE}1XtTMa0h8{!%ST864 zvC}sjA#vrQ@@+7Frlh1~Ys=xw3mwh}>KW`Wl3F2Qzw7Hhc6bqB;-ze)Vrexf8V-Rl2lX&`IRWwtgu3(IuAUoZInJyQ48XYrf5 z&K(Pjn)puvYe;;HnjaXBz~B#Xh#m-5_BZ>Kxm`ssp5!ma0|WQJ24H~_kg)lv17Qf_ ze()WUkcJn}o?xBZdx76;Y=~lKj{^QkAbc+$0Mh)!7>!SW6h=<8uCR;B=OD7sqk>(% z^i1v@3QIt4XYH=uZ{DnP=-JZhnyUH8K(*8Yy zv%7br?#=gd;I1+m6w&1+C86-co6264M?~NNio)^Y^B&87z~6BpmxuGj73;ZIw;^A~ z5mG>1c?&cL=@t~*x{ZjOtoIVL8wh~c|4Nf%pxdv;5Zo>l)L0Qth$(dHfTo>pET54a2Plio8TkCPLLy8t;0s$~_ zejeqc?ZE*oC?h(f$no)A)A&5AtM{_T_@O7L4jy51sd;#cT}58@JERieP)JDgc?AUe z1|$Z@y0^o2BEkD|X2mkFf8DE~4FQqK|N8#Y9WU+hl)X+@AOepL2WNDDA7C!@I9NPe z!KL49H)F{#7pEFf_jCI-!qM&ma{6NyUrYxX;K&MCPPQS;+@ zVNyy;2{4Ci04=wBkBD0GLt*2XUDN)RhM69OX*DH+PPeR{}$=ulL#m9&5{zdd=DB( zobLQtd$>G=fVT&Y*LU9X=(e-flY)xM6pimJa({Yq5{v<3n+aH7>-?m(qdyxP69GL> zc)QA*TT`sg>Iz0AVU^$Pfg_umn20B)Zf!l79q9N|0jqwEjsWD#=_wu{3Wa=O zK>zi^?mnfz-lP{)$o>5!u<_%gYTv+5EEiklxyAU>zx^Ds9!g zm@3aI8OVtz{YFpsN5s{D?MHKq7fLn?7_Q%C<6yeTT3D#|WWNicFPE;#<{Be=v|0JE zb3*Jl@yT6|%2=I!Z^zeTgMg2X4Gk40Tj3oA4oo#*Uu~COxsxtq{T1A~Eu#3CnKj7d z0V?C)A3ZbEnv||dL)W69YZ;!A0Rg@U>ViHIz0kjD`EQ9KAsM;3pf#6YKtNQ+O54+u ziO!X#OfsItu(?|%>oVMSLb^wh+Rfw2w{oKY<~Ma4jKITgkE!9D;W z?d;5GmHFH;PyC%Ep!j5NelnU%Xlep@1r0wpwBcG>l&q{p>S|v4Q$cL$(MEE zVeEiV3Vg(W5u&6mmrypmac|E>MARM~tyRvM9=KJ-!ql#}9K#dtj+m=0T3)tqX@_5K zKSJEdi;9AZ!vFNaCyhxLWpaC*9JhpZxjkBT_2NLCcv`A13EUBR4#uU(2zUB1L9zFQ zx&^<*h%<6xEPgJGLwK6}&vGR|Xg6k0bkE`K~F`H2DjhKo8_eDQ+;i&(Qw z>iERM&K5Qthr|B(Xuq^yfQRP17mgsJk57e%2dGvhUMYZBXN)6JPff=!FQMvp0@HX` zSKxQuYw~mBE0h4vd>t4d$8o-m>L;gnojpFm7m5Z2z(S*9g=Ay^l>~}lCV+iGGbl6D zZwSk+<>vJ@G5I-=pN9v`6p$0})#Pqw2o-d$vETE?f?+i-z(f(Gk-Z42ZTn-7l&h-V zdwR^bwRtTrw!y=}74%3-K1@wscKegz1qq{@6lJMQaoHPa>ghq6f%SZGejcgYR6W*2 zx3p=x7bqJ*XS%v{+&?l68YSSLs(D);@vCD{J8F zY+O%|6|sJ5vGmLyPu(hJ^rV_XSyw89=Pjv<&X2FV12ll*1hz~>r0m%l>EgE^H}mz~ zf>bHVGjM499x~c;a_=Gtgih^xudk=`PmC|V7o9Dbkbqldq{hwHxr)}xgK42};3@2G z4$a-%WBi-Fzu2E4h89${$=;naTiF{Wmg9+Px3ZhKqrTUJJXwFdV_LiYCdh%8M`lHg^npOL}}H`I+Y8IG!}sv@(IT46N_q>$`` z(A?~|it2nhMTicBe@Ogeyz@Z-BB&SvLRY?GL*RNh;`%S-y|WY5rR_tk@zqt>G7Naj zpa2Nc7#ec&UhoT7%A5Sa%xw4*gZCntmVkoJ1i{knN3z8L?a@yilqq$FiM8Z0F85Oj0GFd0DxHzKOGa31#t*= z1bA(KDfHxmh*?T9{>cdeBf~d7FPpLDehfju;OuO^s&9nr4!{~|)YM|=!pFyl4{8rA z{B7y(`jF%+CWZ&j{(UyG;i{^~BknlybFU2or|XQxJM+rE1d+ zNPjHAHj^E`7)Y0vuyRxH+M^)}51S z1(^<8hhtjEYH?)5<@!1rl=J{35P0htnA(xciT1zO3_h)IZi4n6J=Q5rwWQ3~r)+Lj zpgD1H;?C9LzcH%o=<)&?o0;kj*#YIA9Z)5m-l=M8PL!0%V>v5t3!ET^JN)YxA7`8` zTvAd4JA3r?wfo>Ni_{dK#X92?KssP=@oTxJWoqB&njvaVPfdYwa>$OIjSUWsl7??; z=mL~yBj*TUbo?BRTRSoMP22MD*yU?=b~Sy#$)SocYXokn1r0p^ZqpcWh5-UL`1|+O zrO@_n8rYQI)wO&jiyvvce}l+6J|hi^fFnXQ1X|_U${WL9y{^k_j&4fjy zG~OnfXK}=Y6ckB|OZ>XJOMwW|Qc^%u2iGuy3sPte)9w^#ry{t>$sF{629;jLfUSgj+vGgX_AqL4)0JJ+)b_A_lkx7Y`QIum$4GB)QNtD$Iy%3Hd0o}~->*h3nu@mS=H|pcePYQ%*_f}S((dkO zVB-LHa)P%*e}DfeN!r0dXfClJkcwhszxVYqfI|SPJ~JoB`(-h?tnBAdy>1H_p$&n@ z^97~R*! z*H2D`TZ~M6o~|=r#!*-@g}`m|BqSuTxF8$!?OVI|53<^p`>Ko#7l3>8U<%cB-@iDI z0^@CH_&|g(oNR1F0o{j@yuPhqeT)2rxThW1dU47Ifr%?Ej<#Sab-1ef?9=|4Th!9e0f>kD8R!!0vA4 zLS&Wb4@h+rXM`SEgARxMloTLYp@)hstgv$NStF;rK8Li0g>BBIMMQku{md|}2?=R{ z;He@3BvSxm0^h2n1Y8y7>Ivqn89(q|+Ps*T4fT%qzFEu8Yg!gEIiL zLgeMYCE&OV!vLTL4i1j|*3&aIAqh*^mCLXp1e-qXjZrDTp;rps$A?44R!?skD0$#Y zVP2k$o)b=vCa7>hKa2 z9@-e>96bK`>Wf59PJT`e1J6^Rk@4xf@87JfsJBTr5Hn%tvxavA_L~rhc=)hu+0Fm$7f&6)-(1>->9yN#BkLf%~oEnxww_ zw{mu7rco0NM3O09k5zhl)d~t%!#O`TbpTy0kPi>&9&y27WH9`~{q(+h9JM5UKgNKV zoBs$s1%Z8chi)=FI5_8aVe->ozLcJ&7BVYmYZ0i76?DCJUymw)8z)h;#NEFl z2msM*@E+6A5u&E{R8|(gk6inx3maqzr;3Ss>}?GkqkCxs0}gU>Z*aZ&cFwJ>F1MQ- z9R3_3E-vSM(~A8X4IG?=uuIEzveNE&?=S$zv9TL_ssOtSMZc*qT8iL5Gu=GD>I7?y z>VihAuBPU=xxM-?oBFl%7n+Uh?0(NQ%87&O`nbVk7q}l-Wu;M8N9W$!9lS=xWForB z8erZarJX#kyW6!iG|WwGnoWLf-knYL*xRl$B6h@f?p$pyunX6f0BEGkZ|k1u8$oU- zF<~|hOE(_M&T%QY2$*$(;NL&nbC5KH#w_vHqW<{t_r;KWfiW*HD=>^cDojiq^!(`A z=_N<+uB`c1tm5Gi=;1*J2Ch_wbiI~}r@^LeVA-s$8UwEkjK!ZI=qv$eNY&%}UovdM zN&uq~+@ze713F-1jW^=!w9PP|=Mu8AEUg?&ojM3!*VoBNNZxmB{rLkd6hEIJ_&@4U zP<0u_bu_H3n1qD=$hFzs{a>1Yy6qok%*=9$c7p5yTx0Km1c(Rvo_28Y;DNpGUS3M- zvbF^lJmL4S9v0}cJWlf_HZ~~P!RB_;bKK=6+dDgcbd1khhHDLOCx-_I`g`vqi3k!Y zsIHsc`^Iu!va@vf`P%_z5J$2UoJ-&sD5K1=FU1hm zVY>h{jpe7M&&9;P05RLx(UBD%zVdf6GB~)kvlCf}thzh` z`!$G`i;MS~uq!e>L67(y2754LzQ6^nI3BCFOSY z34Gy~8A2$3OE)x<_3=q7ovExEg^ zCS5x82g!cL3EVTizxr}zWPm@RrmC9AFXRc};aA(8E-Or2R#wROvG0i`0dR7Ai)LYl z6Eyccmk2JmPj1${*QOk)OBfjm0@0*`6&fnDwK@UF566TgiewN(0uGh!?cgGi^GjS% zql<|UEtB~?_n(YPO#Bb<5rTrgZq0%L_~dw<(H@&O6eDxoM1432m8+|cP*7r;bKG_B z5!@Z}n@?iuhW^LVb+`l7aB(wag|bJ;N=CM9GO~BsWM=QZ_g08(B9x5m>{<3I*?aH3 z*LU8pr$3;$_uO-SQ`j#HGbOeCiEt}6QvQz*HYzHeA86}wsU~7>d@L+#i?QESR5Uh{ z-ToWpHsJG%i;dL=pAJa+)4TV?lkfw9Hi4km>-Fc{+0np{cgcZOqAYw&$W-^^J+7tLDL9KTweG%^i6!xEzs{yDlu{Qs+N;V)B$x z#&4&3c=+Ap1q}^eg_#DX<+Wt!EfA#$5iqxQY-tzjSpUw#%^i}P;GwAayfAOiNn-`G;QebSK z|7i^p$Vbx&e*_DuTBFGVhXcL&1vW-(Mg0yAwcfk5zsI*hcMrk6CLvCdPHyn()viHh zxb{nvFPoVPm6hsFXGut=$S?%>uK!NFJ+YL3oxPkVnBG0h`R7k%NN`90$v}B^^}D;K zC_^-*%(DEP925~-6K_LL$I?=7RlJPEPXe?Vs||c$>{$Ap3R>%ceRHSv@wgU-TR!uuOj$im|AdIUY(x6;f0JW0Wl76tw9C%$;k zf4w7`r6x?bkdd*Lu@}U^_%Oor?g7f2NLnX_0PcNRRaRC=pWtAWw=msDMfY0p`t%{% zl&8$j5*#@j8}DHE50AjW!s5;p^nHYX`G9Q1ZmN!fVXd}K?{`yaOtd@?uh+3;`S-#? zsEz*d{X0GyT5?!e|LSVW!NEbuvBC}he0nUIc7A@NXb#~E4N7tqsmts&Osnj|2{|@{ za=3XLY|NMUs6IyiG^C-S5oc8M_Vz}W;I3`xO{S!$^XmK5b3nF#ys-uNTxTaL)U}{v z9FP!OfIPt*6MS6Wu? zsff=v&@l&*mcMU$;zt~x;M8jIt0PZB1$0suLiHoVO{&WKA3l6Y3JpaHMt@l`FhB{? zk|aL3Ik?WA%J(B3Vd~3HJ-Tp^y#O*bk2XRIEmN3`5n6Nq;b<-Jv|X0GRnly&Nfw7E6)242|V`m&ALoY ze(l+PjL1j}<{eyIKSRSOa!xu_c(Gp`HR8hrnbWruW2ko&a1L=a`edExWG**1t8 zxHxF&o&y$V1l%{lAK(9XkB;YqlVvDr{NI?gKJDq zgPA{2^QSA{&Ag^qFTCZ})Ra>B@iCV;TESOJF0!b+{C?|N2EUhKtVc*gBNTCx$`9Op z(o%x2Zm-BckTKfLJf$EcL>u`EB1j=2xDqJ$k3omh{OY5II^R8w$e0+6MFIP@$VYN- z-VlQ`CVMh~>>dj_{-uRf=!ytFkRBU*RDXpUoYn@gF{kqi3(3_{E#yIr7A+q|GfNjF zK3V&YrINhRC7bi#cdc0aUw(uF)mg!$sCWdVcsMw_V4w(Afqa;m_HVd5Lb#NWzvUQmX+%f z6s9?Ukk*c<9)Y%h`fH%a4&)W-s;UA`28)`Qq$D2xCPLF~R&hS8oD52DjO`c^5zRcA z_~;m)pUcU}AY7Vp1Q=97rKcupgot~p0b>A5+DUhp%>1N}w_U$JBF)S%>@e_Uu|96W zbivBA67z-fbZ9tsFgC_yWxdZuKlG%GUK}62%-#ue-p6Clqi>zYnmqSx zb_Pw}aSeTNV z8#qS(80fAqD<^Md8Xj>lvSj;t3c5gOjpHP729hR>m3e7U=69O zqqpD(Lt)Fn%Y(R7D>Ik<{aC&+U*9MF!*{x^u%uT%atBcA0>Ie%DoS$2t%gM>9DesGE zxcmtSngaV^bFmQZ`4S#wCNWW3W_mhiF_s`2y0WaSBRV(Vr-9GGU=2GtDTWi@STtv8 z$;2dY{2l$>l7AqQ(ZQ{crMbXw%jSBKQAlTr*AfX)dwx2sX*>VH$c9T>Gf=!EyGjXu6p!0fsmM1o{ zt>L1q{-_2+8881OJH>-=5K~%MFpi8I=Ge{~bKqbptEhlONfe>7^2Iw(=qE(f)|MZ+ z9xI)N54bLu(Di{ax2iMWok*UnzCM<4izUEK@$Vl{jW)Y(9DWEH+Ryi;P*v2Fw#uRbEu(_qfOp`q}5I=Ub-H_wwZSPms2BObO)4f#M;HmkT(oHH_$nX zr~*AeDsN`9a=fZg>5pIlMpY-Lt;wpQvz^y)uHzBttZb65ANJvDPk^vOxvE7e5UbJc zE)e)sI39sJ{D5?gKRtsCnFKjcsw%7dhc`@KC}!3DbVxY=OMLVG{Tn#Z6cly<+^nsA zBie88z^SxHg}KQ0?3plg#S>v+0wN;r7cW4YxN$IjC@^?^w5F}DK07z3q^QU-+I#%1 zb15Ri;hds&Xnx#f-h+$OMaJtlZ~h9*x$Pg+o{|t!?&D4$4xUKvN0?KLFSfhTY z0rU3|Ky$6C8qdl8Y;%3x^4-S#$_fHMM&trff~lb)*8^mATDViS_>C;OO-)BX;o*31 zw`4G1crY?{-M`;c`%{a7VTTlgfrUY8w>{AAhXr94bB%JItJ}?PrO*W`;5{#Gg2aJh z5R#t0*j`7NaG#i4SlD&%_Gf;+ro%z=ND`nr!XDcIrQR1q(7ri8N0Awg%CCD+%L#g& zku!rodg(~*G9X>;g9z7=eHA_^^kDzK$p)C(wH+oe!N{_t|y5rb##;k z9EF*!6hMS;U*Eyrey=H5^K{~!8(tq`xccp_%B=pv(W*w1-yYPJcf)Z~cBjWyy0v1% zdFI?X^)U{{dEoQ&0ETN1a|}%;t|v`p`%9n_nwLb!z);L=J4R!A_6$T!)>AwwJw2h| zurmC-LzQZ2nGSNs^Al5S&(=A%o5%q7CQa<9#;{x}h|9;nR31 z1A2)FMr&=h>fRU2$bJajS-j=xyTQu+o77 z8I6pz1pVcvpB!XBWuV6VO#5Y(U9+mBq|M8hH0Lbuh5bwtFfk&E3k%_#ij8(uRZj$o zdaD}}jlO5-nRR|gYXjC+d#7Z;GXS8X3xeMR6ZF=^o1MLjlBve7y<~=LckU?NE939q zhWGR5AfY{PGV6D=N>hs?_b%0~wzIUndTUSL*(Y^f(S^TQ4~A*_6I1g!0D3;>{#hXH z>9txm!S%UR52NS?kNMQl5E3^%56{sU5%XU;yS*}@Z&H-IVrezsv2i>KiyM!wt_~Tk zg*+Fo_1H~>gc=R^sVAkR@}HTsTaCp*5Lu)5N*9bGK;FyPy1zfm5R*?AD1{(D#M!d~ zLUbxB21-h)Wlv$;pC*^{Ju6|aSu$Jt+gMRkJ5sg_5d6^4!hpjNL%TL&!ImB0t@e_T zI7%wUmzfsZuRt6Q_4hY~KcIF^qg{bzLiO2P5P*|FVwLM%xXZ{)C;y93vR_*@)0lAR z`OScJ%gn;EeKnGl5@K7>^A#3C;d%@_yamy_Ath=#J`6g^pvc3zf&s#7Bst3Ivyq|c zOZxeyq$GUh#O!&FGTpLCvb(eP_FN!iphAw<#`i>&22dGzDe2d6UWnAcaLb(bz#~e| z$@QTVAmc2!Pb^kjS6=>Yc-R41q6${L>go~(CGQ_rq~!I_ecHFT<4NiR1r{{=qku)6yaCX4jKrtX#U=3XX&j6LcN$i_#6``x; zgRO{&1L((6ZZ-7t>lc_Yh*(~R)%GoH^mpnt94L1bl{IcVvo2=t?!?O*EK?QWDxIF* z_Iq=SD1qDyx30T8idb-8&(lk8v_>P3w;-qoqlMFVW5dGTnYI<7Q5UN&@)=9%v6H}ZY6;7hcQn|y;=Te}kt*t|m?{7No2N@hG zIeBk)x8vyIkL0s{;6y<%(DDM=ba$%Ynn&{C8rhkwgEf;)dcF{(Ck$IPJagqYoVUEx8VE$ zB*TDxB6}9Wbhh44UtGMbprEv5XJkMYaXKpg4SR*mhHh8s&Rwqua0#^ zMQB%;wRquhE*cXjXg zA*4o#FM%Kd74;Wnm?*2pvp*je@$~+Zo!xhuG*zI)JvmtqkKCZlKuJUYgLKC0+SgWF zoNK)Gt~Rp`raNqg`7vZTz*a@aDa}gi_Ng5MsNV7wOrsh6^#|BY?ueXb0a8&E)EW5-5Dey^xV`;VqLruy`ifst`FHlx0w0r-G}RhF&F zDmPYp(PduaBYGi_jT$~L@YQ0D-B3+U=Qwg%>uBUYrcWe0(?>)du^d((~V z`0!g1E@59H(De(1CTZ-Cbj4x(bR#r0 z3H*TwGvG7uyMFUAMFpQ|4+npPC{Y4J(}Zq5Pr3dAW2SB;wpcC z3wU7<941Ow5x4$f$jX#7`3<)BP5WnMg(W4eqEYU`#Ruj_lAs&~Hi{qhJHlS3X=&!X zHi8_qeQ(hsv~-0|)uK=vVbYh0fh-AZTQ3CbxNa7x?}x0d`UWK@A6@_S0wMj`UgP`s zx^zz}7o{l#n3&eUov)xk_r+$!sW;%@zyTO=?W>0Yqh$$NehkwyNMT`O(b<~Cs}v+8 zALF%iOMbXmGGSog0lQ#kb_oVCL#Qvav>#WKpBNwaJZNh)XB~ssWe}(W@tv4F_Wr|% zw!P+1CPdAoLD(4sc;>@f)&&L02L_+r(pE?Zc$E|u`YgB*L@c5EBI;&dz#XZg{9a2d z3*ynA*LF9HUsLrYBA_4c0|<=hmy(!>+5CO(aeR6r$Vd@)i<|vK^?ZOOR-O2Hdxdr- z;mbZaYF>WY^X*PV1u@JxNlum^&cFoQ}b3T4jix2FJG3ue<$H9sHNZZIXO+o z@~ySo(Z3WDj7@KY$+yjKrqYAa9}%T}DRpBJYQG922jkcgXc_@o_BRGV5$aED)RHF3 zB@cI|f@8?&lo@sPC^&0*A#@nHaBS?D-2D97cS}gjn3#76YfosI<3D|3p{5QG3c~a= zSF75f)2kAq55xI-e1^M8H6x*T+nkug!a@PY+4gqYWci&xe=q@9DEtaCCmTP@*hZ4| zt*zXA`n`<}I(m9XcW2Z}$^n!7m$e_Ks=IHaQcbnBeOuDj+u9Cq(5hQg27M=&b}4K9 znmNiK<_z<1WQDoy!VQXnVEvBv+4bP=zoN1&$+L?XoU)zm#b=&$2mC%rTS8}wfbqd#;&fQ5cvn`LWQ_#rj*cYFIq+(UGFy+1#4$CNVuwH=<4`@d;;eMHXp zZO{B9Jw3j#>mgfd8CZ@ixbhR{niQ}wVtcz7$+NsM(adazX}&Ena8ZdIQjn4c1hzL7 zhh+1gB%Y@Y|M^qnHAWKN05`Dx7_i~nyTpU~3hFPB74L!RATyKx$#H33EoiVTxbCYD z!u{4t(yoVMS7SSqN|w}I85i-X@Yncwhl#E8L*2F#J+j#*h5y*tpsT%}Cyoo(GhJN| z2?;%gg`wX3_-|#i(58sbrkRu!qPwSsy0i0N7#t7Ed?h6JmXG5zGn4!g6l7!`v$35@ zoTjAdj0_J$&x@pl!~r(c7M}YChcW0j9UHzy;(XV!w~xO$W^7?Wylf4~q@k#@goK=T z;MK81A6(y{KEuKFX$f+)XRoN>yrJ@%LsU9ByW5)-Fe$ws@zPXHm74A;U43-^2d-e5 z_U{kx+u)Hf(aJtFeL_vjQE@gqwQ{%Ud)wsuw7X&S>Y^4mZp&wGDS8aFWJe8y9vPic zDMT!kI59|6q^ViIP!Le@sj^O2T|A+8x?hKN!`bY`54TUkYDn`NkJTPy?v5dsS71&~)i;Tt z1w$qCY#^$7LxVE!jIl4t=e)c(<-z=PD+J@%yu8u?ARG?FIO*EBp3)}~vWl*#t1rXc zrKbJ?!!pp6S;@21*c#!SW_!C&^ddMo7_zSB{>VeD*=Nb`@N(VU+;DNJ3%GR~=Gcbv zq^Ie0ba&s6ugT4|%I_K(IORb_h2$m3tc?v>5tjdTbCZREZXZMx=V23SsOhl#eQkf4 z|KY&Ukcc+Y{B=N*zfxDi>*(mptvqK@<;`{5v9Y-bPE{@ex1LsWdwYmHxqozV{dNAG zyP(-rDBh(B$rq*fq8J$M~wr@sX83=Xn)o~D!%*FJ8!}D zp(O%u>j8H`zf6Az&gVK+3)goMZ{X*Pzo>n4V-a2MjlW1rl&q>YbG$h!kWK#h5oov| z@SmQ3GQq6w%@oer?vL^c-r4#!E_JTI0+phrUPc9dC-{qh2na;R1wH`|2Gp{+$fF10 zUrHIMJ?1x|@CViq|KY%WR8uy_uA-739vo?Dfy`iUv)8_0Wkuaz8CiPum2v^?9KUk5ZsjxG6mTR zwus#SejFaL$|uQ(6BE;7NsFbeitQ&S`>m(v8?W^Py=F1@8&4Guj`$x81`ekY5wG+c zQ(r6S-G<3wz~?D8Mc>TaJa}z)xLUW&|LyLXg18ta+S!5|o7#-eV&T`*E`jD(3pZDT z3`%@DS^QkK;u~+&HAZdJNGbbJN+-sk&TEPI(MN@fRF6XHb$_sK|BkseVsD6CHF|=K ztl;BQR5bM!cBp{;#&zexso%F(!nU#0&ro_O3q8@Nc`#%B_s%X4HzCT7Z!F*r^maD1VS#nJ#{VjU>2RvMf@G( z_{8Mqi(jw&*8T7-ZGO8F;NWOtE1-(Z$$Xq~e9V}eJ2#o`U{Gxh{xVEmD~r5p^EmuA zlM0*k{NI&G*9Hi@hWc0mV&A?p5t9^AhXirr8y{X)A@K8KWS4ZKeS$;<@(fCDLI;OE zw)EzAMnCQ1t)MJ|6xw3l1}+#UmE0&&hzF7zjo;38HZ*W|AI<3Aq^3;`X7HX*V8D zadAOrVHsV&>h(aeU|Y{^+zkmVhczNpR<|jg!21IUNq#0aLWqdZB|RtYT8~D>@^V}Y zGaPo>sf3W50!SjN}&CgI15~>_Af3 zWYnk+!6}SaL+rfi3y(kSq^;lvN%ak~9eAxjsc@j;Lz}9$V`M1~MGD}lO-$SA-*Ud_ zkKa=(*TiJ?!aGR{3kyn5cXs9w;#;jIvPJwU&a$UDQ|VFh&`ce<)w*SjcX2gFn(?o) z-5x@1r_Q4PkvBEOlsyP4W14_wz>TfVKV(B({}3_zqpITrS|pkOgQCoyO9 zr$yC2<>jfyzpEJhgzc%()|41Xg7&;`r(>2FPV@bUGc7SoBKt{jjTTm*-eG?6Eg7+B zklD!a%)nr?vl-_dYp2@|DTVE>BPjk+;cXkSLb7MUn2&`6!(5Kf12}*umAY&piHF+eM8STE{;tCH7!|g|Q zq^6@ICMCu6#+^3avqw>%Z0N(hV@a=eMve`B=1=?RxJyg!5BWL1I>#?xZ%RJMI4CJ7 z*lUK&WHfr4JwwONiM44hC2?`_HRd}7Mz5n6F~Pya(>q11X7#R=L6$<^Z?J`zC~GY6 zI3dc^(D30jqWUU%N7$t~;;5Lo_z2Vhi7&9T5A9CXUhc-04JyK)+_|YX)$`Vxh z{r$!7pPu_;N{WeXZs4h_s~=qUd&gq<-3pS+vkG3HICpXI5|w+5ZhU4sLw!sipY zRq%Y-VFjI%PM9~tOW9_QPGH}>i{Z^!S>aa7>`>SIyQBJHWmR9WCtFW%1`p3}x)ja- zuT1#e1CkH+`$N#$`r-kIBJzeBA*muD_$iCR+Jc_ol8MK^)q8YwBqjgBT0lDUm-JdR)e_$Jf*qy4Q3^?U;oGr zYkC|E@!m%_`NnD%lm`4cT0UUDcaK!K=}W!33A|&`SUclH&jSnM6F;?fck&!43XS{s z^`(<##%W?nph-a1w)naw}H+R+ir#f2G2Wq>+M`r#Ar!~{vJ z&Rl^Xq335#p0Id)&VzmXv%S|T2Ymv3sos}~YnzK`6b5#7Y~g7)R|62sr0XjDe78@h zX7H^}e?ZFS)&zvV>6LK@)1cx8rKAX-YLJHe%K!DUZYdhCr)k^Fu5ouy62x%0_+WHR zH09GCDq`poTolD-mK>BrO%B3s$U#YLIDVnWX#ep3=;WlP-l+5G^nzafGSm@66Y+`j z;6tL)`z1g1WbN4l1`WDD`}eD{fc=D zW;a=x@99@G67w#AnNXZPA|><93Sy&VRiFte}Pk0c4T)~SeZXQ zzDN`eVgZ9i8ikuNf`l8Zt5wt!?}l12=TVEk^^lNQ-J<#w{?(?~KdSvn1YxnTsb>!d z%^wmxSe$Jnh~zxH%xoqwKj`ov3To@$(Gk3q?YnkbJ zXLC6EU2k%G1zIb%WUY7H|NP+qUU{^4d;_4uFM zR*4?-L#iy_+rR~RmXB!~Pw0L5%seqru>WRf&mSrrE<)-p)1GiazVGmmy8G=jyq8#P zd-42=AHVknr`(;{KnL{jez)?;1_wS^#O%2~&i$4Dyerig&O&BFR<|^_#xA;jRAuoNrRLTwvg5 zF77^|X=Kz8_k`KYSPsznff80qw#Ph;b61(rn2nHN4MIC#81FnUdW9ljVP$1dZ??BB z^tPtwARwT1eEi}1xc7!RC>K|$;M zimLMR9A&8NbZl&4D;qa(co12~+|uWFkYM!ZeEDJl%g!^k$*CF5S)==^qUz3c>+gha zb}Tm!AD2FQWIj9hn|&pAhkjC<5ZqemY6E<5GrbV-lKN+wBg)V>;RIRgqCZ7nW8JPi zNx|pj2$0HMYf7|tP%$4Q85$n0HMnC#c#7OE4*I3Xc74r;DS$`)lIALJdKidR)o71d z;kSRLtg4OMGjg4XxlZ$4GwJ6~$ps_3Okp1u7M2E|-=P?0bP#HT%i3~4-~|k(@#i_Q z=Dzj{lZ1xg^z`Kpmg?+m2x!aS*SQD?QuE$pq%QHo5w@JvWb!OO@LUze27QtWy~odOkikM;ye=G=dEXiT((47d;VK z*n+ndg+*3oKa5Z;00icOT}S}9r`2W^lSAojH6p0^MI?)&exd&cHt_zEfj+^1fp?) z=4`C3&8AU*Yf*HxYw75G!0b<4FG^D1rD_y~Xb(>#*>eX8dMRz~e-}=?g@ugEJc!b= z*W1P0Oq@j2M*46)>+3773+Ih(1VkZnlinUrKGa_p7o!riFM$_|hzQraaJ;r2;?g+v zA1uDr4hn)u&$N>>ra@DgelXb@5VB@t*AbYB8r%Iu_cM z0F}rp0K!LdtISMaxp*Ag+R0*((WKlL^Kg#!j#Qm3znO7!V;^9g{ia0utztUnP@z`W z({qPOp{z4iSUc)&Vew#kJv!Rjo{P69+rhVe}CJ_0OYwWJ*>gc%o zZB)={LrxL*sU-0T(zVVxj&CA20+S_k@F}2EPG;a#rNx$qhll$tky@;R zpW)<0e0!E|zO;Lh>%@_LR)w~7x7c4MQDFfMua z@2iz=SVQ9iKck=|1z3Fj_N}IhJJV~B7!Ttd-urMw5`p1oWI{I63?5y zrC2A9luTPmhXSF~sqYvZ&HMKuW@aW(UG2 z1#Gi+)9CUZXCWCGOsu<&KSP=tXKV^HVO#KZ^_B0_v0`>pRQzW**Aps@f9ys~YH8?! z2_hvkvwQ(d4sr^IyboCLUPI)FKVRs5g}Vn_XRiXKdATZ0%*=E$ns9ud+w=bmmHmX% z@&WC2YFu1YQc`4+ZEIVI`aa?n1je>Jydtr})e*>@P@^2oVh|sU&ocP-y(I-vC;9M`&$Y zZg-Oh?WgGIPai(83JNBrdHtA^C>S=#{frOG9Jo9Kqf$P604DKUe)WnHSNz>Qh8$G= zI`^!sEFEQg{zu%X%w$4LOc=`fXE*!#zj&0*5}Ij`XJlo!U@r%_CuSzc?ZsYJ@gQV< z(}oOm4R5ToNs}c#GeVp!{Prz5QP=0B2U+>};9z5)?RZs$yaD@uBvKe+Fp|6IlP50$ zBlMG9ftXVuBK+&2$_2fNY&E;#dXiu97ajpN)gC(gr_fOP2Z_SC+jmtZgu2h^B#mLr zsti903}iMtU4@~Ro2&ZsXNc%8_%uJ};B;br;SnH*y;BH4T5++@3)>s#83PqxG-+tQ zNoSy!1H5EMDDus6Rn%cS10UZdTW8EjJS2Ke%kb$lca^oX9)j{|9*7*n!Ex28znHTk%DW-$hMlVjjz|8t+v_{V zyw6Qjvm6(Q-h3-ACMG)bH8cc?ePMYy)L;P1-1={~tF{vhu)Oke{2@h3Pe-tha`5 z)?MaY6Pa?_bW1L6lSKO3+Jdp+3y&X3iayf2718(W29z)0-fvc|S%%KR$*w1TPsz0zhzq$?4@{&UU)$oNVT%SVZ7^kP7n7FShWG|o>3v$y`s zIq^@9`R}s~E?F;nVdFSFjGuRCBg#UONo3NXu;YU;pi(Bhl>cp%OPR zxTqYxbuzcJc&80>^n71c850b9={2k#B4@*23QVL$-v3mm)NWH;ktiIuPY% zDF1-q2#b7#Us1x%t@QXsV+babm`VU<%14bd6)ERxH|ox(;SrXB6Oi5uR|n3^?sC&8 zdd`mr$rhHDKJx?%dw25E=2!X@U$XiIrP)p2WHg-~njUsVM%~S31=PPYw-bz$+*upg+$gnZq}Z{SQ!i zc6>6R#{sbDt5+$Tq-m|5gwM`5yz1lQWy`(+lDeZgbL^98{5GBnRT6pQ^yGw@xtDP- zF~yLLI-^l@Vj_g`q2&_A^`%|K_q4 z+$3TEntfbcw~2B(RaJ143_{%OmjZKc-kQaQ1?1m_gWLN45D0sN@X=!c1 z>(WXV5ERRRK3Y{#D6c1UVL?lTPS z(6x@}370ioS~+_SQNrcrhZKT&pYy9d7Hey8sif+DUV=Rs3V-|`ateGAxKxwrl2iVI zNvK@-wYRq`eC!`js9*#(whv?(W6NJxOrmZInYy|hC2=c<7ik{Ir)%yj^eO47Ojgfs z>5qqE)BOF534j;;H8rK%p@{YN6W(99{kYUZ_hC>_%AC{hGSO@C{Nw3qY-=kusGehE zagdM#m)(5*-mXMMTEKg1WnsOux!EOhh^6or(`+Y<@TQ#hsn z{!PRrVny)abwG-Y?BV9_%h^ICJU$_t9USaF(04!ITIuEY<#9!1=@@CNDz!759+9Ax z5P%-Ep;n^>+avBHn^b?AM+6l5rjjp%=f=W9>6edMe0ylunlbJ1W3YC_YJ+;vdeRT? zPc}coId!9B`il@iWO3%A`T~%#c`1n+`zu#_@oO}D%@%>LCARL#9Amx}*ZC3vX~GB2Mnkv8 zaix4u$==Ba{V8fk_w?^qqU?{#8@xAseSD6-z)y7bS)ZP|tKDS%ncuKcY$~5keDe7O z&+|)9bFe>T_r9suL}xWSBMpxs{g9MDZdoGI4afb#_-#RaFWa|qZ|5AAKNZ)aye z@mN3ewzn^9Y&>dd)${c1ajMQ+h^$c3)%}*9?(XXPBW!IWOX#dS;nUU_5)N76w<0^S zZ-=;#<&+J95TVWT@W0O`;&PIg0tHcIQhrda!Y#CUEV%h=uzt*LUMy%Um=nKrq3t5g z!GVcs?@kFl^K4H<;>=+_`#!@OdxWAea(6dXzy(lIrY4fSwhz}9E?V=|+r&46gWbFL zC}Sy^Sc?DsWv6}eN|4S}Vzk(v@ckypfyGqKIf{DqQ)LKGq9``X%MX~@PPyN|uxmp?e(fmF^0h(> zw{9+(mpH@Lyt}hSm&r6gIG_!&VN-yNzB`uk#6;akq^tMR@vb%-zl1P5&yn$j_jE-% z*k9Yd#e5jQXUQ{ukT#A#yp#Cp5vD7j*x zz`*+=9 z6Gj@H&ZbRH6H|yMwUg#UnHgm$xJNS&y*lEkoR;3INk|x*nsms=?X>naAZ=X0;sk9| zM8keMl_QIbvU(KEE-t9Z?GvOuPR*1EvHPnmR4<@w)h(?dJNmNN!_2i+#Tm=kRM%&oAo`Hw-EJlImRWWWO?V)zbO7 zih_p51w4rBX9ZAI{_{dws)^t7Ta`-@7oSzH`#3J;HRc@Ft8gp$sOgqvbdKZEddV_? zAQ=RZaEstQm~S^fZOft&WmfM3pM(*3{Q3_b{Pyi0(d&vw%t-^L>EmQQLE<;Ys&=nV$A!GA(^->5?k7O{`)*to;P(djJLb^bplp5z5%SePmzY;Uj-6 z0Bz)5=9z!YWr4hTBwGK>U;uTMDEtk&%C6V`winlp@}p z$@wpNEUl7QL;^|)bOi{SId8*PSF1mNj#SDzL_yb?pK1DTvqfe2GrRbxhw4MX7V_G6l!*P7aL zuUc~iaIo(Mvr67|=UkvV^V zKwSWyBQ*2EuU|iY`ozf9$0E{v{y8D}lv0v}t{^wG=$AGgwp}ncD zap~;*^3BScq~4q+&;xDur_-A687con5QKM2N=nnFeqZtgFm8(YMGvPiqSUrkJ;babG0biTedt$L%Pl8~W?lFmT5TIX$4jv}Tnlx9cTs$T2;4ONTJv=V zfk{cJk&%Zrtaya0v~+ZtUoLjg^Y2Z69laU(vYjPD1R3-L`aS0tKNVsvOA-jliA4p* z=RWFI;8Rigy^z0njXXLt6C;j224Mjb%0p2p4w1Z6`qkFm`3hFx4#A4~n?3s>@HR>e zcC2yHkN*D9&`wnMuJo#UJbiMs$b(8G77-sQ{|OBZLjKEKv~DID_+Z^bLmU0eYy9d3 z1XNH7d*^@svaj=6$m9BcdC>SWl~PiVfINh}=bYsgWSt1HLY>a8M}~-X*_DcN-yE;^ z3$^_QqtUT2N>WlBH6)>s%F42X68hL1)kJ5#)GU#XIj zrUvx-xe?}dtFSOJQG3--g)7`nm@v__)tHyYm+Z#!%NV>}3SS*V*q*i7v%4|dsGO-B$HI!4&~LPIB~HW zuR?;KbBqZ2lHb%5O{NQBd3c|*j$6iz zwp+Wp&VRSE?ahGZSQTyJ=RIVYyroyJS7#IOZTmdD9veI0z<`1xc%`WfGIiV$0^OPR zFjjw^%wyMUMNGFnVXbOwhgYvOAS4(NUufWr%hJ_rAf7mwHwXYrIcR*r$;88;`s&pS z`qiDyQSV4uRrrO7CP2PVou`22_xV)Avmp<$*ROG}V|))3C0A+$h zh?JZ4Z#LJm{`^TK)*C$V)&jkzs%q(A=~J8CBRJ;Mmg%1MY-Nflt?%p@o0~(3B#IJw z!=cZW?*pU9?2o@yRFDxYpg#=F{i71hbjQ6tP93zuH2tlXm38-Ks)oc6!T?Wzog;eo zn96OS!aPE!Mz-JX1+_g)^|Au$>}z*F;>Tv>d2d7z`%PN=kch zkeHaBo*W;uX|<`Us!ojYBE;gHV=Mb$65-edu5K<`LHONxT3&%)NcrVy@xzd|kP#_u zbfjmHzSz>$CQA;ILPf=D0JOP0-zO*2a&c*DX%YTWX~7sB#XibZ*Vg_L_(TYtJe^3LxX+nbZ-ty zKw$0OJR5q)!$&z~f1~Xmkh6K#YB$%^50*Va-)#=o-7*9UVo^+t0|0tp6XfNs`Vb#~ ze0nPRvLPbeIXOXSXle@gkn2X`!H77l5tUs1Vl`rCAJcT?U%i?g8Ih8dj7XW0keA1r zekCt2BP+YT@Q%B==n*HU6FJ4M(0$j;wyMuGn=Q$EY9ESyZ^_FmD;hHr6Y;Lkdwfdm zS2D=JBe3?^6ehgDM+G*0j++I-ugxzV9rL^K3P2YSm!ePV5yOjavq3c%qVn<$h@0}D zSJ0D0c?uqqpZ+li`JjI1|2R6!sGznj3QI{z z3kXPwfV4<=gS3*;(%s$CDX6qGNC*M~N_TgNN_QjO&0F`~-;O&NaL(C#&GpSW8J?TE zx;Ac(Mgd|Am_2Y9a|M@745UaWUbD^nv6|dwA|mLHEVwbC#{)V5EN-=3W=Ia?!$Z_I zGi#}Z{hn^)XZLwOQxkP2#BZHToy=Lpt=7XmJxVW+yE@4;ydf!d7dp}y7&7;g*W;3>5YQuzyeVAVj|a zh=P@8`}7clb<=w`=$jIo18q$3QD(y-#e)U z>R)MgPmM0__9yLiNOHNle&g;X_c(YG5fA_YFoGSr^j(te-&YrGEz{gZ(ZdloGAlq0Fc~anKQbBs{R?8J1MXmNul}1i zp|P=H(l}u44zPc%r-!QK~~z0)$TS)TzwNu%m7fK9foUlE*; zkPrX?tA`wW?}&l#+}g5rZ>A81|0E?n78XkDrpzEQw{rc##-^pdBrThMo70grfGSQn z%1j*={;ABSrr2;T_}xHH_oOhCOaeAYxcH*$}ktjNz|^hqK#x{Msq7;8OyJIHeoE+6o= z4p!*%xwhzjk4WG9E&TiL!?zwSBCf08{Przw2&q%O8G6U{sxzE)!_(F6D$#*~D<@>z zhZi7KiE2Q7Rejw#f_HCEc7J<8@wKK@Hvd3haEDWP!rb4Wv~t;wkK z>HTLJe1#k*^NM7N2*ELo23aKBH_!&bJ^r1{3(9VZ##M@wK}MWc5$K)Y`* zL6YVY@Z=I{4hB9$WZ~B*T8_t4PlSaB0g*p`yR$vp-%b=$_ z{Q@CSjE*pkj{7r}c0Yx4RdS6U%2hd6lFd@7VG07bU_pTKD z?`H3*KvEVLzy9`(8=^#edOW9vH2SmU>t0=k3m|>&!X}^e=aU>eNLNn zfX8yAsu{37IZ3Z=jZ2(*Ke(@x>l(3hs!vZ^!v^lHPPEEqW<%Wr4fgYLt={*@C&$K) zo_2(M_;8Pv&*i1-i?4xg4R5VGdOI=j{}Z)oXly&iJmP4SH1(8VaY1u>ZEU*v*1w>n z#M$QeA)n~mg`@ng)0!ICT1)Row^&$MeubcwEFRQ5i={3NJ-y72ALCM0p#l)LUeE1Z zvsw*x96pnheue-nv*lTI=sfj9QyzX-xZVr%Xyxw>3=FxSoGh@-fJO`uAi#?rpk#dG zRj#^LH(|j0nRHFmW507f0Lg5<_51fXZ$}D=dFX1kmb+&Fd<;CtL~HmVGhNi&Oc^Y| z+XO2DX8nQfe`NppKEARbdLGfi3ARz#D|O>5aOs6=WktFWmuX<-rC`0T#MhDR=yy7F z_+yppSq)H@Ys}>T@=iprpz8@bM1iTau&_h83y+NakAyDM&ua*8x@a$cfIVFjN2Cyb zcaIzS5KWL7_SF`G#>1oImC(S^(;`ZSj}LP+KHg@)Z+=8%XCy9l4h@Yx-&`ZZZ0nFzwx?s;WqC$gh9XM ziT~yCd+EEs>dCEtpsJpE)l8=%*fg;7BkYG_gN%E6dVDA*Zno1RBekiin?NzHuS)?d zi74}FbuYfd=BI>A1Lj60_ZhEHxF*A#UGLd1 zZLkMfASWg{w4xkn*fG-om8tQy4|fIUL({I^LkyHz6cQ3kh`|Z(hXt3?qA)B8e*HTZ z)&75KrhFKhIxy^T@H5=)T6BA;v&+gv_CdC zEFk=Rfel6zav`qkyaEF>|Ned}+VO8LO-_ge69}zpJ@~p5w0T%CEjUXj^0ueGxXr{U zF0pO!K09a&`3;x`h@pNs0dX6tsGuMg%)AyBZ)_$fDa)U`4-O2V`}wR^w-wwIV|@0_`&JMk zq)n^Qi}jL!;d^)iy1u^hL&9;9_cg+*)s6llkY)AXd0Ahttf=TmGQ4!_elzWE^GYoq z$_t8%tpkM#ywuKh)V1!|IqX;F>3HX7mpR+w<6hLD2jUBQ6J=hX#x(}@`p_zQhB2r) z!@A*_5(>)K=;+7bXE`AYh74qw>3SCyvH)_03&sMGqC=bnDjUdcZmuU_p;1%&9hjG& zhx&vt_FiiyHVE)7-uXE>kXMZmfF|yI;iM#VLvB33tZ*MZ7fuydQj+H|h><-i8gi?E z-w#SRBn#q(v^8!Sao@a8&(^s*E!mF#DG)Czo^xiehj}AXQQhm3KnthU^4#o*r>ut8 zr6zn0>+8MW;aOS~0@er`Xqm21t;=T4sB;UMSL(LFfv;%t+R8(%Ouh|2p?elEWxNgK zQuwd9JLp65IRYhRbACQv2YOi6Z%#|D-Ba-IjRy{=XBvEtkFS;0N0gjkZZz-w zk5%KbzwbGVsng`s8=q29UT(T5&UlXh@Zstv-cyJg+?o2LI)Q^>*w<_PRfzQRv7Y_nsGGP#6!b@J4fzA7Dh3dV)@0iR%+$B%7L zalZ2Mrx>l>QYF(Wa6Zt{94{;}B{>2U<(Ky9tIe_fnu-c5Mn()vOGCwy645`8P_0sb zeKcU~$z1GD@_|3^^c4T)<)zk}NAPHe5l>6k(fs$9j}|o;&j0b_Q+oPEeC^!h;fx?@ zy;rZcwwAhwhi|sE8q(4_#>?h`$EK^rmykVpsjM9Px$e3+i2;&p*xAC+Up!s;vnsC- zHnCwcjhq}rj?@JJ4-iPkMqUN%+3h))V9eclS?YmfK%GlVTKe*6-3|r|$epQk7BD&6 zRU}Hh!nIE0F-=K0vF*ett(6Tc-K_$9BIP-MLu8|O*V=RN3&U`#n8JWC5(!b^z@^YO zA2G3(-W$%!&p%iQaDLfIBl?_%*Ud-S++0~pE1@*zB$da~`N9HM<;RcTe0);iwczCX z32A9!atg7ERzFiqW7Os4$w-BgPx3}uUSYMz-=lhNW_G`S?8-cm;pz(2%lk@6M_(e_ zL4cpXv*Wy=CH|dEE9(bnS?~Zw475WYdt|0(-;h3H=m&lqK`bn1)N0%nE*-zW!nYf){$a%7X{Fu>1M>qlS)^ zb!2{?k}@+f`S|S%O%jqR|JyX2=vAN9m6}XYa80>)k>gnyJKoLM{RX!RL6JujFs4FXchV?~BQnE&8)x_MqATaR90iJ6IsW}coxfE3kEo6qTFtwRaG%ne@pA?x?*BV zYt7~0Xp(?{=8W6Z`AE~79UT%jw(c_kat;}R;HxSu3=9f#{cP#nw2frf5l%|-go=vS zPh3XNx1V#*^KX}gckEJSPcUq+|NToHFP&`f>&vRpp$Hz-kYebNGba=w4;}1dd{=ca z&b%n{{cig|Rv;cCF4l;y5E0p^UEyKHf$|&^i?>PXdc3DuS0|!CSZ%uUf5M*9~szDh5fD%JENW|VmX5i9><5A3Ug}<BwZLc8NzXx)+N`Sx4Q)JCTF|qFJ5H)oyZT!Chcj$ArTuJ z{u&vXcIA2pt)@X4G4B--d||#NB6r5jJrOZm1D(9Bylh{B*<383P%k}llQK}zIbg4XnU~z>HkbdVJH60!4 zO>Z~7&9XE*jMv-S3UMi1b;@_!1`L!Cj)Og*lyDOD4_qRVK+oW zlLrmWflYtF1+XQr%aGh=0G{Y*eL??&^$ZXhYi_|rcoC7m70$p*B} zZl2lId+@!2{o=n(rs0-@B z)qaBN^4yV=i|bF+23d0hwXV~@szGFW=o>9fz?W3;V(mE`+M)M$jlU)3y4catTC6^- zs2~MrgZo}^gI{_ihad-$p&T+=ms=}2mDc6eRamG4)axXt{|X5L+uQceZr12V5}T@* zH=CX-iQk`sGWYvx;|o;$G&E$z$@oZGTIlCYPk%Jj*6vj2_rypX3W&&r)khI=C~^ov zYv-#XPEHYhR;RyR&L>tGP&aiyG(?$(j*xkEwO9bKO&p3~k^KkKl$ z*Ng3%fS_!|pxz&8^20{B9Uji$Xh};+q^MDzUmGj91`bWgKVzR$5IB2i9KCn^7y&_; zdUSstMzc6G{-b2_o_>2prR!_HJ1I4lmp#StXScbi&Q6iw^#I#||1%8wh>_>jEU8#P z|1{lgMpoi5FqD_hoeE7Q4rh2Pt=Yj29ag*WTqh(M6c^F?gL(664wT!wu!s<;MEVYM zDmtMklgYU`OTWI5goMR_vKxaqA)MhcP>KSB41QF(EiEnOyy8_*aET&fr~dC2@QnN0 z_}<3G((0-Q{!)eFW;mFGe*9nqSAo17qt+V;ok(SyxV5k9A(h>^_2cB@bJW%*a)C$Z zo38xiLQhMJsDXjM|GcP{rJ|3Im#uBP={mtg<{8{bg!KM}V15-tEY+bGJf+Vn-~Z0* zK$Gu$mzd~wUN0|YH{-}N9yXlODbqbuT5OFR`=z>iFR7Z5u?YSod-1gy#i@LB_xO)3 zLD7iOxsOzIxs`w#u0G6ro4TN?ukU>RVF$x+XiURjXW+~3E(Hwbz!0>yib0f*r6u*3 zzj#!Sq-zO&3$*PH#2mT zgIk1#y1Krqb1`g$kWkf!(s|TWlTfkGX)5f!7yqses(=+k^V^#`4XcxhOm4e}5XpqH z)H}$Mad-pkOEB;FQVMpGp!17(=}N}iUpTQob0Z?U&x^o;<7wnEj}x>M@{3}Y(d6z{ z4`?sYOJarI1G<)&=r!{~3zH2pb(U^;n z)-2=rIxqU$qto>pc&Z2pSk_QVl6n36>e*ldB_ZS6*m`5E^lE~!v%8xFT$J&Ycx0*g zgb5y}X^V8V5*RuUq?5Lw$oDNTFW<#7T(Po@=$mi~Pl?$+wUCpzKh`C9d6X+Nnk%ya zO@=WSQy6P(_iqyiLrY3*A>*LRF5#BR8PIT~ox9Jecb~bKYJ!nY0(t5rSvz}jGJ_KGR_uY6*EZ?8@^Q8=eA7f(be*P4C@#JG-qMYv1-L^^F zVB-Xo8O?YGx&HIJv3tgK(%*8gE;sj|_t4ss5sse^*YkytC5_y40n^Oj8rCg)= z;#TY9!~A{eWMw1Bx9xLBgTTCCWMuTR1g_OY0Bee!Mc)F^!%%BxYGZ@3K`kh#d-rZ0 z?aO0QQh5c1AD$fCp>fd>vUWB$n>#y9OvOv<>qGra2#7jWHta$|>YAGNhK77*dmDT1 zD3i7F(#qr7N=i;v)~{iB&&`d4ndB+0=6j)x1ofs8vPU-!Mdv@KX@kShP14k@J(|6Yd?k5&^gLwCw@TQ~hg zg_PCkll&5l&}7G{2!v>XCrs{!hWA@F-JBZ6c?1pJp-=XERh8kNB2#6WQV=Q~kN!@= z2LdkZ5St* zGzxt6eTS62^qda>@vV4q1()Qx<~woGcOo=8f2l?HHO0;MEFV99$jWM`rnc0d)Cc!?W+EYp_?Rv9q4@jr`ISt}Qa%hWWyl#E|}j4&e$?F7KV zexhYQJhc8$C-ZJ0Y$D%8L0tTSf~<^;qNL=#&!0Yj{gw)>bvG%gI2fb@JK$!EgAo~+cDV1bJw=N;)CzblxK@BZyWPj0uC`Zu^~U{t zBxK%eH#f@y0|P2rrF*%U3er3IZU;@Ku&AA+s#2;|4g#;%S z_<*O8}V&rj0~a zJy=`uyQx;rhd_wK_I8eCsEp{l53BZB)zxLt5*`@n10lJBg4kdEkkOjD0ki{=3M?|P z%^Dq*g~%C-3=OZkzYZ%`aT4PC=op83wN|GW&idf|{A*TJTpSi^7Eo1%|D2z8)#0h2 z!b7bGpdFa5O1d+q!Y00{$<1YnABic>qc;iT>P)7~k2BrOJPI58-}G3{Z-q<9nbFS662S2V3;7wL_dVP#AIZ7cm)$85y+94NGv> zhMLpaGYsRmSs^&^^VioCKXr07 zQ=fT8NSKiOst}mU3?cdO7(Yy`cQG+*g44q_jWCEiBoFqgsKw9L!;ypgbZ1(9bE4H4iFl7ms-{21n%01g9Zyw*v zi#h{#MeI|bExw3{1J4@OK5dWIK*wW7#z@P2|36l{z*yidr^#GPw10;!J|HX*5qG+$ z$>;J0FWJno)b@He$)Ly09h#HV7l81i_qDAOs|M&bkh^JQ*d)3GcC)!Uk_WQnXJc{n zWkXXQu-7>`%LO=%9hHx767GTW^8JBM8{6A2UT9PcHfDx~Zo$z4F3p&F34MKb-kITC zyXY6RLp@c)V~>5w3z$Lfl-MSCo#-48{?gsyL#rxux(Zt@pdQe_nzaskJ#mhldiHK;ZKV?q@{BzrQ(iUOkhb;j*Bk&MsXxyLiUb-v&=w zEGW^=$ZAPo0>sUos9HrsrDrl(zeb_)@o6aU9#pQ4Pt+hH)`ZZ6@NiZf46oa5EkQH; z7x?&3HV9x}0jI$e8dzD42dZ#ZkGOwtCcyQubTPFO6SH)4TZFZKpx2W)aSy}Y*N{)I1oRL4}Zq6r|7+#}ua{06UFGb8@0D~gz->`iORr7$M4uBR6Gm@B`m6hXQJA{SUEo^x<~)2$u&)n@ungMp8) z_t&qj@p^oqVnDf z9T{0%nY|?Z;fx-m-ExV#Uvp1ts>RPAg`Rxo3ZzyxI@o{J5(3iw`ViTKe$C0L?V8E1 zvGeIZ$aFcmao_uJUdr`x3V9tsw^uGI$nv0f2WP@$(c2Tz-e$D;(&boZp$AY+UfwtA z>Z{<1hl~U>o0XQnK94?K%BO2UngIg_H1@wOQUJCfD+vyi8%pUxvH!FyT&8rkg}We6 zB7&>d=ocGQ3rO!*+AhdiV~s>j^Zn7pw~<;6*k~~^`(r4b-RdmreE8_s7J$oMVEZ6v zXXj{co|OHOpO~18_oKz}!iquL=H{M9<{>nmGBEdUf{A+Z=-M;z$TSnu=Lhm1XVHi~ z%+EJVN&mIFWMpn==;G?x(k3n=CpR;7>AzM+!S(0x7!9B(<`$76c*(j?bF-Qc!Vvrq zpc5uDShtfz%N0!BBgX|t*DZIv%k216IjHQ~!OZKFFcwlh%M?)#R-)#{_Oy*yD3kK@ zvvhJYdv|xVwswlw_c-Iax4*v}ZuqkT%5FPTKb#18aM1|}(u=0@VOD72D_|)j=bjL{ zc)0{vxdW3;|9O#m0|Y7YO-khoyordwgmgiNe`fnI3c=y{E*7p`@R1yep^`8)=>&T< zG>|SCsn*wd!QBsJj+B<8mkQV4tqV3^tJ*4L4?ctsVNMQyYrsa4^O4o|9I=%D#Xybz{tb3E#Bqml*4q93 zn&V?;7>r?S52YpW86l+{-SJo1kS;MA zw49h2(zFKx(>fgDi2wu+_FbNG6+^q6+OuKUoGuVh-ifKIBCs0=GnqN{m~6-4Gk}aFRT`XY&mnRI#tN**vS5rUS3`S3@prN3{3rq7q*`S&`$3T zj7wv7xyjSXzkIo4nII-wtE_U;RMC!25%6l~=;?XmJ5#bdkAsC3f#PRtXXkz0u^P7Y zf_9Zd7z=!ozt+aK7mej?K(K4>%SoR1b*x0_u+*wNFcDCYpJV zUPiJ38$BY$L%AIY>uhRAUES?CWfgD&gJ$ht!_WxXNgvuOoQ(4F5(WkyWc_Ah+!Ael zVix^jRTmDr`#3n6sosw2>bBnAJdhVIEbM1!Xlc5-|F8y}Pms1=$FK4B7{r)xU#jzd zQAiSeQt?Ej?BUTKiVltA0VVP|(L-HUR#u1gQvxIj^$%JQOm*s34Z-E0kHJV!#SaT# zr0ZNXG&DfyP|e8ey-Xf1;a|_4W!^qVYiXe3gHUX=!axnfLJ%p5k>lZ0&BH{N)xFU~qz9O4tx% zV)TLKttE(rG*IQwVdtsiq2;UBtw@Hi!4vt>(7w;#7{0ucdpVhdmXIUGFggB%(Y7!i zUz}l5J#pJw+yrORebW6lvu-}KIa4m__(tl;Yu7o`dpMoL+-!HibNDKakHhJZ3_?YS zS-%9i4+N=>_=yUG+4OX0I$#Uch}H4$t(}Pp2HPIvbA`K&lpdUrT}9Y0EF;o{$Or~(GL<%I=F zsrk4>el%Yri_NS+W@h;;+_?r>b93{0=Wz^v1oP-J@xa#h679~MZw*iz3R)BXix)pw0)%~(PcEkqYvnn)$sGImNrDK0&*hekTW_O+k z%r~=XSDFzP{qV=;&CPZG`#UPa%8*EihdAtl$lezP| z37L1Vy)$W#(=jpoz-s(Ne@^TtGCR-y36}o~UT{bPl|=nb|(^x19DX{J`Hl(s1G4@-d>>VEd7#~jyfI|vlRcl;5WQKv6&vgQHzR{O@3W+kS74C0tG{I0opD)s zhhJ3vlKBqn`Ua{^ZXRA%ZErJ2M`H^6JR^VnIB*CGQA;8=Z_xvU1Q9buqINIDDT#@v zug*IAlQ^{AY~3ssm7sNGwnq`aULT$nan-gy+s%A{k5K8_HDNi|FnYCn`c|5q434oZ zhMNM8qOUnmj6IC@o_>suj+U0nla$IAx6!GN%yi{Fq<`49KAe6THVmesSRs3sXIVf~ zb$4{s$jjotkb*b3r7SdvgKeSHb>QCH4gHa^v6r&DVR7gas)&JX%8u_Kx5V~2mjD$j z>+=gd2sjKvoS&(;=P|s^Vs~JWK{z2L-D1x}uD3MadGf4hXUPh| zAXBLMzLnQe=&+;2`}}-v{<@2K>AnxI^)eoA#YI6w!?pN}^&R)`VF)WXg!7f@ZFi>*J!MaBPs>Fewm zZ$R@Ho4NM<)DHjO;LxX{GBZ0FgR$}W3yWGGKV9+)35{PQW=;#~Y~<(iN2jee_bGKQ zv#{(SAxWH?V|}lcWo2>Q?^Tu2*4`>-DTsayA4Lk!3>jAx_Na+6>x4Mffx$s5Lr)-_ zrrNIQn3y;qv4b}`$V+Z{{pvO`JA3i>@3c62*3mJxeSbF;7t^`%^0JKBK!#^MExT#F zUn9@~)M2W=3C~}{c0V%*0uXo^x(Fh#%&_C_q2!HdgO`W?ZG_!2etwIrrEAvXhqu)@ z6bLNAOI9{E?7}-Mw=I6FeR)8}!BJ^H@Av4@Bd}8o8s|WF$;$5S%(^3TvOFvrpS>a0 z>_-oK#>lAr(jy7?uC%mNRv|hwHd9aEkESRQ9)AddG0HY0UP&V7NxQ|+ovzwSP2RGb zc@|uRX;hW<%>?Kyc`>m=x>IVOlj8^Y#Kg$WhqH#o%jg)9eEz!>7Vjc95iB?Fnjbu4 zbN>P;f`-QRkMh&=ebm!w00r=Iaql=ATznGO%- zK$ddfo_N|M_70kY3*UDf+KZd)fU-=g{*%S~tS|SM=m2X~-{ak_Ejl{7n8>EE8~xT+ z`(G-~fFZP*2z^RDrR4bylFsGVOz*4HpaaW-eYA1^JHt-_0T45YII#Y+jTC|m+Ny)gL)MvU?8=%wIz6nLYmA$FE%`T_u=|F z*2?MyyyD)cJ=yS+@QbF2B8jHt{~$J-N@v&sV!o(ASznn#`prx7r(5Bze2k10-gbAt z(#nA={`iqWNmJl;}?^@Gu4k8~e4&CjmVU{U71jglI-Y)K6!1*BVFR{%@cDxAAu@N{f2$hh(OJB_dsmY{!#^>I`{NXUij7qTD625Nnt2AOfMHRod(|NE8VnMbGp8gtIh z#dx1-euBXnao^}Kf)z1&0@0&Kiqg_WKb8I9SSsq1Ugnq*nFY#L*E=&W;e=Xi5^J7U zX>4(Ew4y=|1*NyNbna{~3JU(9C$QWs@xOW^SnfQL6H5K8!<| zfB$rPdLtlxS08y!63PtTLzbbIPAvePvC#v$d3hMIHSY)YNw??<-v7L~py!vzeX2t? z4w~1WuA4i4rY8ymZp+l3|Io9V|fvHsR(UdwG# z?O0^U&4W#~lZrt!&;=o|G%l88*sSajUYVrXGe{QONNFIQ7m%C>JqFfRy#d4z9@ItL zF!KL`*aW5<4QAPwXkrYlcrla$7%H59)cEEP35nM3YietbBkyHZjMX4}!42@`OXhGF zNy+Q?sb>HF9{BNG4Y95jl2UzmbF05FgP88<(vHtwjP5~^S4u6Acd`Z`B)pdC-w$T% z1LNpRZKj^un0iJ*Gsmx0f-(8wr^f#LUsD}l7ZA=M@E}7ur3_{)h;p!%M=z@ms>UVf7 zr)gfc&F%a0>FEK~FL-Sp_O@h^ZDdP#G$YlS^WpLE_@7;|J%}mHK4HeIOgcV3BOa>P zRR04@7BPabGbm~#C-0<@alfQBey0uf7&xslQN{vr*xQA*~W!lXkV;%~n?zto2CLWBv9=$fCd`rmv?= zIVs)PD4%U!))$7q86lwt4eU*qYHCLAX(HqI&v)(bzqGf9%8RY2cTheXI$lPgqci>W z>sLT&xj3uXbYGgAd+WRmMTh$B33M1hb2oKN4kG&u(Lmk4=ny;3J=cg99DZ%Cfde=XH7AC-5(03CgBuuH2 zS`&y;#Kyw%^a}Ox3>7V&EGXF*P}x0r{ssay3tEN!zP%9k{qsxCewy3y*q!FXo1v$j zotdoq4(3KVn6WijN{(%1&;ifFk_iI*O(q`%_6vI8KHuwC|EB%?^A*mv_z4nw{hQ_t zWj(#!&Zr*aZUD)vKwng56ielmpH^HNnx@*|G8QX6x~_UWu5PnBDQ8+`KuV@%RUO9NjYQfw+A( zd@jeybyZbMIHX$#0LAymNE?s)e~PPA&Zvn`+>K&HHR488|D2Knc47!DXlVAQS}vJC zHyDrDhVg~|$rJEp&gv`HX0nb)YYocjn0IGO6dg4QtN--j8;eDRHwh>e-n`%9GF7#; zEUddb#+mXU-=_;c@2To;r?O6MpI7=DBuZt@=R4PQYCzWX5O`3BiN3sdo7MCn3s_ex$Sn4 z$w&)_UKKRl2<;%@%Og7_a)ibzPoz)Zg1il8GonOP`l`B$qI&lXQ!~F;uO^V22soO1 z;SC4ZQJ1+(KIc2!fb%h2d^I4b$SEjD$jKL1^<3W=5MG9)*ki))bb#epl)2#HwAp45 z=(Z{l}Pxie!Al0EepY#T=gd-za?(4B*pOOhUER9ay*yfZ zA|;B$(cG+@w#eVV&)}9OApuGV4!r^1gMj2tql;VLQJ5S+OamAWu-1rhG_jQDdmP?b zaNP>4w1Y^>tdISPzIUHS18%B5WN^^&_x0&?tq@$!e*SzIN`IPT6_EVrAz=a!cNJ;6 z3vynXNaho^GM8m(Lq7y;1cV`b`)Okd+1>&|rY7Fz4<9Dra7RbacEKX4>;vx)SL z`-ivwfSStmZz+?4iKn__aa#{urDI)FacOctI9Z<3j%V1zXATJvH(Y+sbk`qaL~Z{ZJH0w*_zGKDI59R||D^wI8ka zx{e?CK9}hw?p2dgB<^3j9)jp>QXLgr;*8k17``vL_)~WwVRSwqnZ}5Zlhfy*?ItkL zNwxAuP>{)wltKkjNO55O@847VGGc(^NHd#0C#XYwxq!bgEu6%t-G|xPA8F-DfY}6P zSNpSo`!hM%2-tkeotUcm^a($cee^~-b)e2?liI~Hdop+Gov6aEG=oOD2iTEt6N}UQ z06sFrYH*uz@}lhp&HJt)%ZuXKe$!(WAQgKGcY#MtvPw#IdUi<9Xk7wdFVd{lys^Wb zulB7Ej`+H(ECIP`UyH0Bk&{Ej1umfu4P6(G_IYj#kG-JA>)8s2MHjQ_!&B^tsKEyJ zdAFHts1PGm{p74s&IZR(BqK87fnH=36AW~0+LG%x=ZJ}zewLP>LFVA^)h&amW4z4M z+-yxipASNy%H3l(3zS`*obcb$mT&6Q;5v&jvl)1e%!^o<-W<`El9Fm;Q+zjko7K4O z!N`7~XC$tnqC&*OLq)QV`C8LZEfgxbcsda=NH4!>CiP1 z5g$MCcj&E6Kj=FM2p_YOUcAU@PHv#Nj}2#rkr{Ps7L~t^iwm;LL3Bjv=c0q|*o1mF z**%T90@1uj2%FR#*~J_d`hk?M4}C$qCi zRklJ8Y&~rH(*=}afbj6}k)_`#?3ohUcfDo>r$=ZvTMH^><}2#fSrQUTX}s`e9Fb-R ztP@y@gf;o5qLTMDdMhk4*+3FlKq#NEiImjfN{P1Ba-n=-w=qNsUtebx6%AiKd3AN6H7NxJs70zY!|Lu*48+G5KR%wXh3x3%sXu?L zE%SJ)BKg0J{9f@A7dLZ?JmbXoT&_DS)|7qg33~L=NqzL>`Jt(ir7YnW5@Aqp#mAwC zr0MV9;kQxLA#8~DeYPUvva(&n!xw9c{4~pf-ebx zYXiffYB0|$C|KdN`T_$3xMh;);f;ac<$x<@$)tYRh=?R-A7^d%^13f{icO5C)hH%@ zuX5(kqtVf?i-r*-B%UrVN2b+Lh7?J`?jX)vSUNhAIF_gE4-GY4XJvePcW*p6*_|;1 zQkiFd$i6ZA=QS{<22s~us5>?`Ck0-X#L-`SN$9P~e06o9pZIc5$(oARQ`C64YPwW; zk%NMQm7JUf2??vAAm1$L4Gak|zsF|&Lk&nil9Ymz)}3;SnUK&^PA(?zPd2##_xsrd z$jgX|R8Ut*BqCZ%`S_pycYe`ye1e68?ke4=(vgPW?~H8+dm^{f`{1-TCWFGt#^{$1 zaFpK~8qU!%ftVK)#xr@3vY=R>grwHk&R*~>a_cqxlfHf?TB;Try4x3W3sMUwy) zG7TiH<-@|dF?)==rZb24zSWNZ`2HPH7co8Lb($Xea)zj-7 zs7p)Rc#+imYzBOtymkHO0r%zxr$57*-=Oeudw19SV(T*5{jn-!;XY=PUq5Jf!3(dQ zkGMg&`J|1&kY>&4-!W?jv~m09343;UA3?o(9Ja-MZdT0eZXi6pRdJ(C~%5HgNUDU>9vtf zq(F?OCQnP)e)#k}c}bHqEA3q6>OiYL?-`&|>-(2PN^=Xrm%60cs zm@Bxva-=pZuY8Q;$G`5t#>tuZ?w#nH+0H+lw`s@b|V)Ia|dXSFb#vBU}u=3 zwY!^#r#@y-6fRTtbo2!q8y}C9GxQPsEv=jy!IRbajLn4y+;?CLg(l;Si)M%}GpG!0 zUz}lA(+#hsN_+&~6idr>D80=1*(|T5gduk^#?{BcapddUc6E9G#fw8Uw0#p(S|zeQ z*k1#$aOm^!*YtF?vW{Wf7+v!a7rn9^;|suUA`i7kjKP_6RVhP4LaZPl{$UPYe@YRJ ztP{*Ol3FR8c&%4iDJ+|2WeEw4Eg@H!#s}rI6o6KbxG3`v(_y6&OdM zMMX{yqrX>v;5P?78fX)@!w-9+Qc_+k>HB0RhE(*e-CQNm;n>@`(eU#VenG*(iB0tm zxk3_v0Bfcg3IReaxEG+_zyI@;p{FnME+#FF^H<>g&86)mFs}MYn_vHk8-oq&^!_=@ zE14%x5I3HPF2QOxhJ0L9E<*G=JOpzS$cpT{lDwbGDgM8U)cdn8fJF_LyU*U8o)>a4 zI5YE!Jd(_pLI#wuPan=N-fDhmPfL3;AXgGgfl^y{ZaYn9XKjv4nDFb*pWMP{Cs$5O z>%@yo+r`<`1@>9|G2dF|?SXJczSg9nF4__n0GeW9xAbbUCdgJ*wp z^Xrfeg=mHt9jr-r>!(Y!fBNL-2${N=LX)g;;a6LAjY-5gugt2pi5yzAj(G(*R?*w# zft?(Ipn0_>tb4ZRa;o7}xc0iXpTjW^&JcHi1XZxR8dW57jUjJr>5#meST}M~i7D<+dTkHs>N2ru zNO(eD%=fmobhNbA-Nq>iNsWg1 zfJ7MaQ7}3nTjvIGpXMSW58J~U8t~!M0Sq{(1J;(70#0h=UO3Qo3;K6OWn~s=&^cyA z>~J)iGVrz2b?R!y!`zxl1z{)Z01GFv7}t6B4{WTMVjiW!mkFo=#y)8pnj>UnzK%{5 zXjFMUO1<{r&UN?@%06Mv1GE0uuX`o7*oF@+q#u!x@O_`xkkj@Urr=|C4-nq|!<6xM z+im*;C&#>q?8}W_z#h1Gs$-&~509Low-6k#qO8w7@$j@*D(p_6M)AF}!Kzl{6M^FA ze0->F%S%hlS{1LPTq~z%*Fl?s3t?NEAPA~(!-ttXH%A3dzhML3HJ|>Z%*@KhM$EcD zusS!Wg}n-C$9$JGx*h|=A}Gb}1m4{uoDtde_3qVEo4MVbf6ELA$WjkF_VUh_qY6iG zomKx^M#aTBfy({p5fKd7mZrYpAn)hL;E|_ed>YY#iptn!g$N#>lU4kVRIp7hxyNjt%Wg#bM&-&yd@tj7c;A=}brrw$|3D zs9L(ZVgSi%fvcbF(IYEcTcp_#>=zJtI5D`f0dAa8czj_nWGOj*l_z#>`;AZobsUW) zJUAGwBq!ut;KGUI^e_)KJKK>-gZbw8tCEtwxQzL_LMOn2CdNCzCMN34%Vt8cCWb^l zB%V^NypM>WAj?Aru6Tj#)K!52fg*!&pTDr+LDTozTC77fvV??aIk`TFmw?;>W@a2# zZAp7`Z|}}X)5%E`7|*WGnC9!(amcd&J?G>^Ge?Cg&(ELl@2Bt05&r*K^1Rq8{Z$$# zAu&7RFO?T?F5ju*mMZ+FJWrn3cCKP*^D{f)9|d8V8V71UD4Po(oE5k=rL_I;A_KSw+nXL=rlqnFqH(5DeQnIt)H93*^cbv!7 z^`x)YcA`?#?T85PWVWl|{n^(-85LPXmLDls1`+^JF{&y{AmW_>{4d@z=_R)MUkN?~viLjTg4=Km1P-cE# z$a({dk$G04_d@17dsf>YO-=P?e*gZQm`L{c7?OU!l-a+FiaM!T%z(U)fsh$k?xyp8 z)jBOF5_Wd@-q9u0;I%qh=h~2y<5Sp0bu0dNzx?dvL{sgzuiZZ<=Oaz^*+{c>(Q8`; z=Yw^IgLB81N^YB`-Ej*H#>QjW{*gC>{p@+irx++AUW-fUmYbGCaj0}EX8qakh{t_= z^+Q8CG0_|#i3?E9vC%=EYF=KV?MtpbNKG6X+C4sQh*#V5G*~yUE_d@hy`DP9Y=94F z=!b>flYbXk(0A8SRMhvq5*2+aBm|X$ z96c1AeA@|!pe4Oe&6lPpCm@(p)L{mFp{+G#d}IVeQBO)8tkO@}smZEhHT%ZP;*58G%9~9$eQy*kWWckOdnZS+X zP0gqoc_~-9r>wp3!LAuhgXr+b;a59)?zj2^7 z#N*{~X>qZ4KhfyoBA&3H8yv^pcEbxthQ3^CN4RJYAgtkd`9lYp3xZFcJbsGr z>pV0R_ZP+#{Hro3{c{~h98mgGyG$OSP~T!EOrtRijRg26l~q*`9y+r)H+pelJ)+dP zO*eRQ;>GyAmKZ-)NU{d@o3cNs09_1m%iY@o%+`F)dx;&C&Q5c}R@R{QIyG!c-SpyO z3l?bh@nHjceC=P{4ttuz9XV)S{3%^s{~1cI+uTHcdr@%2!{ZSge9ctdsp#!=;8W?S z0}!<^NRGZ>H7o z+4H_$Q^|q$MQ*uuwPB;Jjg3%Vkc>=+gsH$CuCC_h<+)UN{1`3SVOLi8CN8dg_sX~+ z7Gd1d@?R*{LU36)5472O`c1!;E$XZceh)* zl?LfKIrP*X#A!Fpv7kaVd*&6Cm7Oc5L^8`@?&!T=DgKK=t`25)=nL?pg<8iuItn&? z)vQ*(KKafP8fqkzj9S>`W)s_VTHsyW^k{2Dr9@m%|D`iy$w;N{+)3H{dB8|T^{%`e zIsn`Q#;Vj#xnCS=2n1DuDeT~(!CfB=_knkUo5zXco`Zy^(XtmiEe9Kxz{K66clE2# z=MytZ!=>}*a+vwUor%~`RCv}NWGcAh-QgSTOzT*Dt6LnTX*jiueWIbf%NGw%c#t-cOJm344;9k^-Sl^3UYtkd0Fvt~B|c z2F>Z~bu~oRh1aH5>$kKu_;3xgXMvL^CME{o5&U~OSMeMVY^%#np)5R{r64S>EpvE9 zDrYB)3T5Mfx-rz$gzQP&Jlx^+`}cczcpP1l+1c*+ZquJ`BgqhK+ZIAXt$7)`SSq6v z6Mlo!lI&$ssj1$NIY5E~phWnO!}t21<6~pB_4OZwQJ=S(-|RAZ_6+VFa3ovGqbm;v}`X$olPQRV^!tlDJb^@>H{3kEeW65EECGtkwb(4{EC#Q?Gk;>x<8^%jn2bZcL`c#28su*t(C|Yy=1Y z@jqZudGdr+P*7hs7?O0T2Flxm_{C9#8(VTxR)2@`>$jt1Qc_bL{F)yC;cDZ#^thW_ zQFRPm-8OJ>f*A^^*IDBiF9`|ZBc=fhr=+)Sf|Vp~_gP35zkqMORfKO3I=-h0hn2)zGv9#%jORw z!Rb|N@cZ|nP(L<&g+=Rwzkx#xG)b)N?Q-hsSiXeihs@BwH#l9i_-DHOuB$IzF?dQ7 zBm^4nDpSAhWxtz{B-gN#m9h>(J2Mg_QXgXMAW1y)Y*o~fvLClR;&r98v@`?lZ1O>p zrR7RU8wn}t-(-fCMgh@q8#hu?L6B%%KjLI&ez{nSh44#HT zqf4jLiKEw^BoF7ij>z}Ri-d%Puq_+1s^RD^E-vx{_v+}5QmSFQ+xEc1KP@gUJU#v4 zqbOC&`4_@>xUd9bq3 z(9k%4Nmhihzkr;{4i=X=|FnegG3xwLEv+PKeA6d~cI_WLG&C0UBP{^EeeOQj*cd0& ztN!#UIixqkX0?$#)9j?}$Lo0|1;I274DpLME5lI@1^!?^fX)|s0e1G);OOqSu~);P z4Z8P)vw^OAg>MJpDF4^g&Vc7FGE(VoG&+2d4W7J{!WILATN|gWSOQxB4ku+S;6awX z8~%|YaDpr~X#9{55WJY4+u9kv1J6pttLEW97cQ0x3J~8}6CTb)r8M<1CSbaGC^V87 ztHF_sv6%{K-t*mR5FzSB+WmwB{HG)Edm)aWYNRB??q_|}3%!!F=;-Y9BTFGN4y&s( zGJFtr;H3}76Q%~H*Ah)JOeJPyw6ro@75(Bl4<4$jN+}NkmjooA=0iZ}%<{o)D>TGR zQi~|>e+jJr%cDbQ?5F(q?%idP)Y8%-Eec(D1<#1w^RX#ijgen5hgo9I-=S866EHY) z8w>kUbn84ltc?L8z&s_m|HoUm8x~Y+wt$3*xc@PV8sJ6 zajTW7Z{OVh#8W^S%KSP*zN;VDDiFJTeot6bGz>_L582SeaIHZG$CD`r>deBTT5Tn- zKGa}Y;umKj3?uOc2dAJ2C+8~!LesZ4Ds{XG`tZV;2w>-i?>Dx3-wv2_Nk~ucqC5Mh z_11-y7EUf`AbwXd4@kWhg(1#)EhheqCOmDCc)C{AAk1m-YX|>zTM8ejiT;8s=8?w>kUz zK&gB{kU$6oZ(nBSb!_ag=Zm}u{_4v^HeyLhI{qY>>r~SplS_hJ2&gfV%3cQj(2J}7&KDez?Z&%1+l?G5_Ml*K_L`!*Faaff$(!jxoLTLd}bijmXP=jky8wL zX-8|XrH@@u_L!I7@LdHe3w{~mQ<{sE)W80u`tV`i*e9Xw?ZKMOz>^a~ZsYp>#jpa! z*o}gfOavA9Wjhs~>4*Rt6YKmdHo@;~*SIa_x3%LAbzYnGl9k@K7p4m?E{UekMhlCB zWddRO3&~fF;bArsT}$Vy0O>_ zLB=hVPdPb(mX->TX8it5qd{w*5OhcyB0D4i%C0jXIupZLBNLOagM-q2Zn)O>n3z-) z!o}|2H`MnTly*D^6jV2Z9YPj@j`E4_!iHjT7)#ZODv%tIg4E%A-#CDk&AX_&5S$0s_cqMmAV>YwwEa1_u9v)4@cD#`J7ymY%}W)4WTdR@>^t!`?1ARwm7jvUi8FgWk#>)OfN zX^=r8&)3)f1)7bs)rTG*Ur6DTycX#N*2Y|jELvv{c{D!0-2rm4+}u{TLwB2Dz3A8f zIeFzn6mRWE-m9vy%Z>hQ1i}8p;Rb&|wTJ&45(N5rdX7R)oxj^Tv^w_cCXyApn%dfJ zzL`S<197Vxd6 z_o4A<5StUy9b#gV=jQ{w_E65rO38Hka(nK|DKluoUTU*<`pqYQCys=UL zGQW+colRQ$C^hNMJ@X(;aK_myA5$AqehElIZ@akhj)C1Q)M<3u1A( z?;Y~ew6;b7))-2j5}kQd;l!}r?UmUn2iW^(D;L$DtfVBbi}5tL+$qVe-@gYyyz1Qr zV?)E+oQ6P?!|F(8sb+{RryjI)c3#-1BO#k0HLluRrzFY;Mw(63wz(07w_jmxMG-el zLXw?WKtpFm4tGFwY3Zla^m{QZsjX41hUP1GZZ8)sa{cD@*`05S!DPBlP6xn3ve-`m zjs&zTNJ7LSF&hyP*8PVD&rcc~k4+QQ^lZh*XVypP_o>G%!%%G-8{?abtGieJWrfcb z6uROp$ry#=?P>6Cx-S0uC42V5+k0x=71BeU1B~sx!?~;n@~9U<;o35?Ge`*p7@GuV zB^ZvPLc+EjD_~@XzbISu=FMBK0nNG5(N`cxLXrGSBO@#fn60sokB6q_v9Fd1faLej zm4c+!mt}WF9S|V|z3h^19zGu(x1Jl!oHKo%6ulTTX?v*aMcLo?88;+8Lkb5+9JccU zz9_vDe);{~oxTL)N9w~swWp_>c+Ge-+OkW?F#%KnBy~@BvE-p-ySKpd++c2khMtGc zXKJ!}<*rAn^p<7?5VGlW_5soX_KTBB0Te{)k}oda^m39RBtnXWxnBHfC#6_5tcwbK zXm0P|0PC>GXp*a4i}t}2v8fnp0}E|-$Q@EB)>ps*Rw5`o7n=&tMBMsxZU5(sckqB* zO_8syrT06^kOI!3@VNTL#7B;u2a=L7!j?5^yCw6-JSY(swp^tUg>WM)D+)_Xf0UlV zC0Cf~)#F?EgIh1MS8ZO_34xh~;KMAzC55!~@Qxd;NlR3Gv~orwNlxz=b-ToLID$&X zfB`2&)?XEjq{JgJGNL}bAN@HUOz)`qsdyH}Wjk7)Dx9GRa_rvA+(6?tX~;c*T1fq6V{MI=hts+e5O+96hEE!7iUGFXlG zSEK^x9E5#NbH|ZHb^_7?6z|{sWKOH$IX7*f%AlC2M<}~+2M5*N`G!}m!s8>|z1HY^h_}=K5XG-@Jrk5UcEKa^bw3#>LOv}5 z4LqbF+URB}DxNb))+OL+v@C6etn#)C)BFqfngyId{tS^leeIwT5|S=Dn)g`m)Z#Jh zRgewF#P&VWxxebNJ0-j(`G>wkpO=N@z)InXiOIoa?4nZO#9 zhtg`?gt`{D7MP`&$5BxE?UH-{Fgn-jfZ3IcF^(_hDpC&iDdmf_2O@ zAuf(4x5dc7z~>loFysCdBrtS*W8_6W0Gc0+q%Mo5M=&l%IhW=ZV~{7z-p(4^O&Wq& z4o*8bCTMe?l@T0pyz(Cqz`f~v^Y9fQp-&>)t)Ce!j@FygUnRd;~eU;AocGeiZ*T*)nM2LONaE8&eNx6s#Iv^Vaq%od+5DP_n(~($i`<-?>&wg6u)8~vbe5lLYiED3gZ=pWct%_tIU^%1 zW03#vKN3bpFmY1;L^kSu9U>k!GXamDEJsO+Vh0nbfm(f1uI}EI5)`xoA3Y@{1g2^( z$WlB$!l`I5{Xv61czT^!-pUG?03Gn3aO^-w>M^o|?7M^OfF(bj$KRqLEBg)hRj~O? zE|y2(?K!+P{$}smvVD;Kff21?QZEe%NGoLI4WQBICAuITXOj`Tk)f=Z=Jyjt;Sng{0(MXD2fjmOtpS`S$QF z#1I%gS?+vXqwLSBl!J~kZquVtDJdQdzED9CDGqb2Q{&^DJRVHk+)nlDC1qt^pCdR3 zYFE}wz+NDzQ^L(x1w9!~WtTtXVt!KkT=(gdv1TGWuhR?d*5HSn_Z)5!#rFuJkAk-t z5{64`P^HDvS4(CtF0dn5RF(1gEa-$C!gl_+b=5Q|L>YX#D zK3WAB8kQ}u>SNFk1O&89O)-11n28G3lX;u*r@+8Pa}C%F(8>h7`-4W35y5_Y3AnC5 z<(h#x+Fnl8O~mUo;9d{NCBQpk79R2d_H_S+bX!Jfm^p|aQ8rf`xWrR!cu}W;{?EBr z-AS!h|H9Ow!gWkF3QTLa zQA*scEhCYyn!8(E0TFi<_aew?iaC5MuyC#ogHyr&$o)n&5h*Z&D8;{P_4n{v9k60Z zplfPsB0Q!CE~U%5X(lKI^xyIEc_1l3&PPFloh+Zg8fi3O&SJ>G&p3>XRe-QV!~M+0 z5-chSk)2=*ZNGE)?wtg!VE~~0Dk>iV8M-^wSA)C`;rtK*QNa4(L32&q`Ij-S#I;(W zd2&Ue0S0Bp^;eCgq(AlbB`{h8$K#lo%G@@vD`SSYqsgu{oK?|p4W>=mRK3X$zkvc& zJ{`C>c6OV;mw zJ@TE2jEj?GVF{fQcc_Zb6Y#`J`&2)QNqY%teLq1Kw?(^q)}55*agcx1?(KVnk}?2m zU20h%Bh|mjug_FA@&5|qUwgovf^Qw7t^xvB@?;Wlmh%uR=X;i8-~$ySrj?d>1Ak%~ zFacY?vwjggr~or;672q2Uk!NPYY})UadU3AFF^{3d*uyI?;C(DwT_Qm4p*w%KAB+hbzTru}O%X{x&m z_c9%%8yF~`<7hVVjYTQzgOeT_grvvW?*`8?f~`| zSokniLtJVYB#&GPR2LP2YZ!Qjf-$J@dJmJ6lXDS?gc06X{wjNYltD@%k1rRfr|Wev z7lbLM0vX_?4L*bhKx>w#)^q0t_t_II>50inX@34FSRg6*rMI5kA01}{L%E!Ll|EE5 z;dy#20h^?0H@uni_rw3mb@qWa6jI#JvX|PIP`1tQ|3Q(W&?wh?r?>+{=xaS&JM@A( z^0>I|xBs2VP1E6j9l-qc)hnx@{-EOxEt03TAlBd9Ww=)(M|;6IHY+6}f_u~{yU_Xh zj*E5ev?~}_KPuw!`th= z)|_V?D_mJo3KfYE2?7EFRYqD|1p)%f3<3gD0Ram92?g)=ckmN|tAv)Ts)L2Ahq1Fc zgov4gi8;B9ow234in+0wr_+$R00bmbn~b=K+SjFHeON7Zx%uL@HvXc|!jL_}gebyl z!ta#(?0fnkdf>2OFcFcd6Jyn4;SNqu$HiWe$M14Riu&3Id~?P;(Vj-D!*8lRZbu1^ zFD{&zU=T3Kh5aFVR=Onzu^^%T_uK!kU--xFkOjrXeHIYVdr#&IH83#XO0*unvv)s-v@H__!)u@5549 zxE&i8_f-I?w93xJ+#CaQ$H(!Fx)IY+;ryJ2qoJ)WB`C<#$f&le3VHZ@cDBW3tCQ>J z`UcJ@1*qZtygYLw2w1O$g;X6KJ|2h9ds|x=80(_##NfHsi`OcnpvU;{gs|$Qw`F83 zYiSdtr5*H?hlcd8cDi64mxcUfrl1g{lQuALpQP*P@EIPir>0Iq*Bg(I$Lg)q*YEiB z$)~K$lb2U3W(C^Jyx(78XNS6<8sU|JA@&1AJ(BOCD ziOv3em8n3)i?jinCGf~!7YXcrHs>V8)U6LBIQ@plS#a_2{8^9YN&K12jg9H(%R0ZE zI664^Ijf*?B4>q!kiP31gpmw*!zZw&a1s&uS<5!Dr*@#_<|d|~VCwJ3MLX+9 z;^K^B{-mt)mkul}G-k9Y(lN-IV#P#9=Sx_ssZCX7tO+Mb#n|cAi<>QdJULk@FF*8G zg@(%7>-r!KEr2Sot)by_H_j;|lh@wPvA#Pz%*V%fSXIpT?OVCFc1X&}YR=b1OiWA@ z=@(5&zqj1B<)ageBjI=D6(=SZ#n9C7zX=EJzW!Fnhb%%nMc5`i$KAhwLLZNh#mI~K z4MvxN*5NwXq@N5Onsed>aTAa`;(AMO{S?HRqh99`Eua+aQ58FE~SH4|o)` zC1xo*uxw+w4BcG(|C({%Z5QWLN-et@{xdSnF)}w#W0p*pmv{9z6S%pGl$P^D>k9Ol z7@{|5lC`hq)IAl*Nz-;6pOaN}d5Bpj@_YM!TshU+%4MX``gVD#Q+v$CrN(Mt@MP}t z^q1-_aeL+ZT0lpqyt!Es5iuY%)E)j0bW~JTd%Nv^wCXkOF9f5m7!OBz`G^A^5>!-b za?Ov6W2UBCwzfZ%wJ0gQvz3lJ7uCyQplIH|2XA^|E_wezwqu6T+da&>3ktJJK>uet zBj>@b&-V7X1_t9zM;e1e;Z)2B|NBz4_K!#`OidxuwA5#n)zv3PMqVe!aBqqB$-u-p zIXvuebZYriAk3C!L^hG#u)SgY_6s>FX|{XFZ@&RT>hip{2k*lNp^qOCyHYU8e=BNb zyrh5Z>fI#%&N=y~vJz!=)rW*ce`e-gy|amMR00vKZS2W(w5;@?fbTKfzO^G}ZC%|Y zv(d{poP?^S?sP*R&bw2=yK5AD5)x>{k)a_dVw4hX$DZI`dxc}x~?2cbhS&$-`5ZdAC;mwtol#I;U(h}qpoDOrW=+r+6^Qg$FM+13I#F z<>l)uEAg%HP{(%i^VQ-n=qHYKK{h`#A)Yyau*=i`2f?!aODOyZ=s=AJ)2YU0vOt z3BN>0RX3!Y8?&oxB6y9f(d`}{KE^RX4f9e^a8d|fZTiIDuQ>sqo}qkngjr606r5)ge0+lr9YyiPlG0i}Iy$)btK%fiZuu=;VG#foGks(yc0MBL4JeYptWC$3ZAvw^CJA^*uGUWJzOPCk|%Z z;Kao2R$Laucx6wY2TFRyStd{ZSF@&mNoiV-XQc zGmVyhVi%g~v+!{3hSl#;HyvDEucu1_H}e_D2aAh&z)56x61+FFv+1`ij`n%F^%*G1PfdL%D0qv*Xx`YEcydB&VTsq$++3qwVC46J z=fnO(6g40-t679c(ffcP^%piT76UCB8V@%&H6&#A0gt}j3C{N{(Q}Xds;Y*fqJpBL zj`H%J1uY_q5wgI`%O&V1l3JR_mB+bi{hM1mCVqZX7Z)iP7ot#v8Us&ak}P6Ece0n7 zs3uiW(a>0on5L+YA3hvamV_J+57Lbe4x%GQlaZ3zJDkCc1!vPev>8iZwni4xiu)P>Twm%zoz66A;vO_N0eTaz1B*!43<%v#!4S1s%} z1S>JIhW7Ru>NX#jECzD&;f?yI$dvgW?8_Te-v>%!w08HGLBIGS;afMivHiaWP26K= zYt-lGwfP4aJQ)9C;o#xJ0s~R9F$H_LA+6E=QD_d)OVf5eI|TIs&6VE~{Q4@wOB_*F zQbKkWh#OT{$Rut>dEfANWu>~RDI+;KJtBg*GbkY9hjRua`vOJ*Gi^8D#>Pg_&DR5u zt+p`pfv2nb)-J#G!YCITo9goNz@Pn(iHXF@a*uEfM&3Qr0g%57nds=6R?OLU{yE#) z9v2tSnM&0_V+LkXQcw^Q^-@w&La^lJuTV7bW-(@~z)OdD)xzSnmab$9QPv_u#iD(f5 zwPaHsG~_p!Zz|>R--vEkZ?R>JTR*wwKxR~a;Z4@*sL zZElVW3F$1eHu=HG%l#&lMQmwggn^Fk;OK~tRGgOws}dNlcYo5~U$nQEqOD{9Y)xQd zYo@O{jevxYjGW;QfwxLOHaaRSAwhsetf{4i_BJk-eD<$I)W>K4@f(A7zSG^>!SS() zB`uk})SW=>il;BfD_KLzo%wq6&v;0wais+O)b#44BphffUW)0!hxLNo`?({c-0w-S6C1QA;Bzgjyf*~2a-L%P*FbRvPof`SvdYNB61`va~T@y3okpW@7LhCxa6>~ zRmTLv$=(z=Ojvt&H&4W4sJmOvf8nGHXXMn(bhNZR!^5d*+Uv*LBi+K#N=UNO8XE5q zjz_iSMoAPq1j{O>dfD~bEeK0w1*bs}hY)H%@#}mL( zQ(dj8s=8uTibUEyI$v=GLCA?P{oG#v{Cv5xGL@Z8`iC)0HU8>%?^b}IPY$0vQK--I z;s+icyF+JoM>wC3US-O=(;TdK+u7;&3xAJ{Os1xc%bQq|MsE>(% zq^FO_$jH=Ukl*+FlL{bMl>98~onZC$_C~?OLq|d9`rxY7Si@gZqf|PiVP_Q9mCp39 z-Bai%%@i+wB3Ntw(J<3&1Ycbceju>0j0^k`^uj$n!meMn%}Pw1oLTfWFmTW#ZO_fi z3miQ-A?g0}2Nu)Fwz8nO+Mi%5TvA$E&)=`HF1$H@YEzpPvRz9@2iAt0iHo#UT2WDe znfY$;^YqP;x~~Nb^?S48;%x~j+8`vzbj^9?{gV@^KY1r-WZ$C{x;FPA(UGf(tzriT zaM>!yTdKmt!%4kh=H@@VP13=1QGq!wjA>!EO+;|u{Wm~R&>?SCG`rx*NJ>(YpYPYw z(y#6>ad9{ywr9u3*>gt_N!kv*6kmv3JRic-isg2ig_%{fsY(hOoR@}Ze}!-&pRM@X zc&*vYmKUi$5D_9Y{x`^1R^l~%<&sA4{` zD!8z`!PEz9oZN9hWygku7@u`&!|Be=Z~@C-rM$*MMI|f2jTv~lTZL`t8a_Py>&K7Z zV3y6y=;ij#zqYVs`sEf?^$iU%QU2CcSAV;dxSujN*|Q@_xJBjK7KDQ z?j$ZQ9LwbW7-3b_<$h%J!z0~E#;|Vp@j0Z1ck^k}9t;dNM1(qda6O8jKSNTPD%jW{ z{b*Zv9SI8wQT*(5;Y@w-z%Pu!MEt?wYk%K+F@@N~cThVe)p-a8gy(a5k$R#&4QxWR zG&GJIo20pXT`6(Oaqee}+n4Lqzifb2DJ^FX8V(N&YjF-qD=cIK28r#+@~p73l7{R3 z+6W^;s=AozM-?uFS1}mae*ew5ILzht1N>M@-h!8xp!Ik8`kv(Ue0(-+s@KU|%yISorsO(j!7 zjR(FJ92pr|G%PdnM);8O-(5NWXIc06n z@Y5w6qe%8&1exf$w-9f1kdQ2PB<3L8K@m|D)6;vr+=+~{c=myO)mBltJ)D)Z^!dw+ z19p*t(weZ(a&F7FUO1crW*#%MzHg5VAkwfJ;$>q4XA~NZ`upF+L_H`d?^0*O8TFf2 zABI6?1!f7(22|<4G}GjldL{xk66<4eD|_&YbpLXw5EB2al?{gA;^A>?{9GS2c@RTZKQl}1t1BcBNF zxOTQWl8NcZ9a-jUM8>lO{C#OTgMc3?Lx&c=ys(^{m%ZYFT0IkMjn6Trl~L~S$RD)d z`$RRc#qhk)sZ(dOs2G>DcA3$n%W(1so0m}4P>Mb-F8qTUDk@kM6fAV|8X9mvi%gW0 zyS;~Hi{HQR6J9_?#fAo6I`!}0fuf?2veKdTHQ|!_dXC=|S18sGEdKo7cPy{^T2Ruu zMouI8a4ITq8MY9w%F2^ZKa^l4BygyyXGcd}HQG>x7-=wypD`h7%yqtYX+u)G-A}61 zNm;!qM4cSXkt(aiJ2?uRpM8^iPcwi{G`Fpr26D?Ee_phOk$?G)0bw{`RKUPThXn=m zj|7PF1eH8k+v8`>tncB7bo4!6&LBI*^Wf;|q}OB7&!*4M9gWbxD=M>IToBl!8wUAf zVr)a;$}3Gk?}8M;&dQ3Agv8RKxTefn{7Y9B|M=B~lQ48%QGvf{2H~<|&M$pEy~U|1 zNXm_)RIDS-)6k@(MHmhNcJ}3Q-+ztfEW!<4zBmsH)2D5ER$sruh}+1@q9ro!i%y!= zIc3}1*FZt%lX>ciGWx&1_N=U6Nk7nc_y@*=2p}ym@b^RW4a-O*Qbat_hw>LImdx<# z>b36f{VH8rNw%NAI$hl^rf2o@sxN8;*Jzajz1xF&;x{)o0vGkWjJao$9{z1n-cL9! zt}!zmZ^cvRE2~VtQd5V_aKGFAW_(oyvcpS1lAA}j;C?h8WaLlpTQI$;mX`Qx^nF&A z`0A1st*x74YM=!L*P1G_flU`q&cy~QB{G5`DJjLjjF^N3Rt$#FX-Ve#2JHh+GY9)$ zD6#-=7>(Y60ZMA>(=#a%6D%xIUUk_+PL~Fkq$D?`oR1uAlcJmfFuFguMuu&=_Z3Kd zON)N)?X#<%lbGhK22h0re{F3|6B+8}QJUF*3uTHS{b|uE6BQb2W0Le3USuzYj5N$+ zH}#yKATC7<9<1AQ-)-77R((TcjiJ}(!}io&$H@l=lfj{(N~M)w&Nq{Bz4Hc7|4b|` z(;4eJ*DzUFa95icNmu+%pRR|Ms&h9s5WzcsuwM!cvZUmInp*N{1X-t0` zPSZ1%MIr*|;fYYw;dst@zj`jRE}j_P+u&TSPf2JxQjuqLIv5ld?;3P$vU72*tgYD@ z<<>iNT?mA4K%$d6zQf!Y8)tz^=Cf>jqE%CkZAL%sf+B7q>swcz2*7l37RYi5RlJuaz zY^(k1VOk0I%2!(}tJ1u@hp}a^hF?yrs~wn_;YHNkz+-xP7DYr%eQ+T0dllfK6hLHR zTM!l%4P0A$1>&&jizZaV>vzkyY_qf^^+uPls`T{yxVqiZjh{%DG>2Ft+59zx%>cLqmpz4uE716(u(!vV!KHNc8gJ zSnrwpZh&Tfn2L}(cv#4u= zXy5mO*OwtRsCn;u?eLkDs1vzqlPQ${ypr!3v zS;+yF3L6zj`}6bj#s|e30|~umk3R#XVGJOXjEj%o+VwSN&=&N>x?X>E;oztrAGeRK zijNoF#U)zne3+b^{C2nYCeJdMk%R5BmD6duo}rY31jHn;AkB@gJlsv89bV@Wdr(y4 z-NL9`rp+%*(9q1v#hslDyPA%~GiuBt89@e}JFX^697@RW-|fl2t_M|D8#pHP$P0K8 z!sQSX%O~_$)l!I&wPwCdP0O<4!X@zl=g|+LVd3pPI&5=QS1?cJwG_~pa}ygKP0GZS z+2)b$>k-AzC_oC^=}S^)F~)JeOYXHNBO@z2H8%(8w!e#7(_ne}BgPaR1qB9%&rhl@ zaJ?(==OV#5LRlF-s9^qz!HkT2+21c+Ugm!>ltM*Q>?7;$?G4$5JLQ?NvCHz?MW(nn zNc|4#61uZ(1{qXY)kGvujX|p>T59`*j*p3necyp%X=w?pr{%Ky z>h?CV6Xy@nGEDf9kFPuuPY)Zrq0=gGb*c!9 zJbxo{m3sdCybmOlWnIO^pWqkQrl;Yj&bxi3l=r7i#8@#vaNiw5&iFULqB%Vi3u7H3 zq35@(p_UdT!`0+Qm7$Z4!q`r&abLyBPcKGI=AV9V+IDtZdS>*Dj03&B)y18*6vm(N zqW%5pJU+bHEzc_sXc2^25RfE69YQh{1Z{~B5d59UhU82EejK=RK1zY1-rlb2Y66N8 zAqe`i2^CeBf&!JROIcaj@>~t&&!7DhN{Wk9a}0sa$t^3QV`YWafE%hH3l0wc(HmAB zpjvO8P#l=w*XWc@GeEn%+}5oPd2!CZc7#3-@9Hn3ES1Y7{O)7)tb81ROLv6;GMymTRi{JL)eqm(f=ycVm(<^2p#>>Dqb_yE0^tusB`(vCR zdLhaW1f}ascdhmC$45AFe)5=FnxNlw%>QsnH~2J#ThGsf!8->B_fg3!X!D3Dzp(LZ zwpBI$aeX@k_20jLSEr^rEusWssapjO4m?4E+(mc3AfK2t3%b%@pSYQ>=YVw+cgHoC6^Jf_(q$%ReA0#KA_?d71dOj8T z|JKiIAM2k5sttqPrHdc94udYV`FTxKll8FekwL>32?f-5pDJb5qC>#PRQoiIxQktIu6_)cWKgqjc-9`vCf|m-p|* zQGRe4m0ey9*ZjLTJjnf1{tUSYm8h+(TwO}X+%=k-lT%RRFzK2RoxLVLk)NWeY$~=4 zG6sR1g)}=MXf8w?buqDvd&Gt_=L1lO5)v&7OW3aEKj;tijmjifXr$lW-bO}TDn!rq z7nhWPljvU>Z^g&jOiM<7nDK9Ge%&d(;mJ^qm z7?h0;BZ2mftZ@7MT+80RE;IAqLmP^a#n{wGPDG@)v2C&jd6 zbRHfVNlP;T5-7y{l7nz%Y#{L;C(=-+{|CMJOc1GkBZmCeoej&3wW zg15s-95lLa#T{Xm7MYVTHUuzC&Fj@oZAV}m;9rJ1stdtG%5yB z(PJzu-kmJ`3;=eTq69)HG9cjecmHZa<@v$lw4=TKoW2I!y3CjxNFl=K6F#uBmz7y7 zZTtfj@l`YWoP$=K$5|hQT5jxo4OI^nzpn{D-{o(v>pS#n1M}q6?I&g>G>+5WFs_!c znp`X3o7a257!LoA5FFx}ndL1iD!8d`G$^?j0^g(W_0#@Bv!t(K(FWG8p+v_KR&V;0-fVF_Efn2(MM6Cdf zK#77a#G9tVtn*s{Gtm9mSXllg&Gsj+AVE@$lprO^IzHY;#`!z$o6~yV<&ANErZ#`P zy=BVESaIX!hTXXS`wX}J_sWV&>ErqFdQy;&v8n0t{yrhTZ~*o142bc|9l7uoP;{#z{pSDUSF$il$n~UhJXLQYxw)10yJ?MS^8L**}Pm_C=ZpDOhIbb z|L}5YdJ0yX^*xT}n&8oS!C%_j#T^-ulaWReW<*B%5gsmc;cbFmg+Elm3dQwMUw>$Q z)DvK6Vqyy%`X??fnBN^mMPi>n6IRCdNUB%p{lmc3Au)%xY-MPM=**7peM+E^I(Bc2u!(|l5Bcc_5_x5IchO>s`lH+lGFMAuIf%WR*B_K z-7xlO-Q1!zws=^W;|5&>L&Jj~aB$$o=I3u~_o=<(AGW~Ugl-xE)9M~9cK zEy%e8BO*}LwjOU70A=!YJoe|0WoF|~Sklt0mjLUyl`bg8#IeW6$B(?JJo{zdA*xV7 z)%uYoz;T6h*DcUPnvEaMI%n#Qf~sRuV_M~ELnGkQLz}?c;|;IJ?>p#%4LXqUu(9Rk zMrP+U6r~4Y{`U5XBZs{5+>@GE?uq!l`R|M)Q&ANx@yU*)u%e-S_q^C#b#G__0(;$& zjBg(S4yN!So%<4O&&$jBdguI@Pf&npQR1HnctKNFck3lwr`TU%R>ia=}3&7qwy zftp!H8llIMgpd$&!uMixVj^;Sc5(S%jEbfv+hTc;c*Omu#G>@{-=e81axN{w!5EB; ztJxj8yRy*DUT>Wvyu7@LiDtQblgOf;Ua)7YEr4|>?D(Y3mm?;I zawhsR2G$A^A|f!5EG#WUpMbKEuq6MMrzZc+#pV6XUJjxaY%PhP>#TDMHZ4hM2}{9UJm?eC*37#do1 zcHT_A@~@Yd8G;NK;t8dur}sXOMWlPGqM^OI8YwKq)jnMs>=wQ%Iyz<6=}U=?t;0wm z>8Z(Q!o%vJ6%g2nYkS*ePQP_WPf*<@)}W$o3yFylQ%ht8Sdb$IEW@FG>rr{qE&yBPK-Xr9i zU0lQ_euh-}Z5_a~{tPll(BLa&-(zE9ij9RzB_!jHPq41qH-j?YbT9e}1avgi)MXW4 z09$ms7cA#4LBg5oS{6ez-rnuO;tqhX5DCgh&abXMsPEusVNtZVr$49W zlT+g^z=ksU=b5@8zt~hs;D4}PjLS7g^0%T$GWp~{YtwVF@1qh1QY59($zKx z7m#%0NX5iXdbxCvLq`7yR}9e+6&8k=kx*3p_0}DXjfa!8GBYD9At53mfyUstDm!Cto)7!KH*wgBAdqKfi!%XE!-l zSuAyK;#1BBfHw;@;1hSkA#MaSr4hDAHY;3+gVs(~@$s6W{g7`UREqJo4J z@$+jB>=YB1_iU?-z#u?cG$llY_SA@C=hN42YfaZdQH4hN+ z05Z+;Rmbq(=Iyz z5*S;rFX#&TS5wsCZDh25nzdJJsIDFmocKLBn2qZ_sqd;yd1MGTJ3lU>&;xw@&U6Vy zkArE44{?4$LJhAVlGonls>AQ)r?ILGK`yR$>jjV?ipvv(wDUIr%iYHMz|~nWFZY}~ z4iW@Bxu1lS%q@yj;<4=QPJ}sMzyOMh!ZtnuH3|pkD;kY*x2BkRQ-8gA{3h0OE?Po@ zb9_8UQ6a8zAc0Bk$fb#!+Y4yc4N0ESd;UROn+ckj-MCi1{C!aVD0O zJSX7zG3ec&v&ae7R}|U(o)Tp$6ftgk5 z-^t1N?CdZ!3jUiD`nkTsNP#2l7XJqJ>|IMpSKevsqy+4kNICfWiD3pPPoKq&?on7) zPEO>F`L;VnO8IajQepj7J9AoES{?xb@3YqfYwS7U8OR@t3mS(PjVe`8`r=EOIM6?B@Bs_YWybmH08&5sO`@R^@H!B7SYFf*)e;x$a z)Wn0Mqek|1#tf>W9e(?Vcef{A_p@6UqMF0O%c`*-0t5n3zZ0B>`TLVoQFRp-5~ia% zZv45Ybs=f%-CP-nIz&*VOvRz6|A=^@J&BuZ5ubn^#C&^>fKNy$Iq19rA!BK5KQb)) zcD*{q^)(uycdQk5nVr}~dmo!P0yuq7k2|`__sUrLdmcfQ#kpGiG`QN8m&d(7 zW>*>sURfL*w~1_!O5veHVVaft`A`2oyIPw4^Y<^k!P;$A6^WxSVDl834?#hGbB7N4 zmvJFdc>7C`n?OUWn_&I+{N{}D9OA$96)45xVh%+5p7Tj76B7-9y{(hmkp4sNk#}{w zDX(7a=@Xxrn4q8>Cc=8gY#8W<;*aW{v0cn>>OQ4*%=$$7U)3cc`4cjRAta%OL&q_y?UuEL)W4s(g|xWo5q;6VMH zp6Uh)Sf_p`Lib-tn>>ku-|`~f`-AgygjQ=)Q&V!ro=244H!4%Gg829tThb46Y2DP+ zXM0H$^$l%Vn36bud7aIO7ORg%G&TyXzdk>6fU3N_g6KccjT;Mc{j~${;v%Qr=e6Yr zB-a!OV*&%6k&%7gyL2MNkio;;OQC~Npwk3KZ&7u%b-yfuscBXkl+O)=i<_H-<0Kg3 z5=yF_UwgPYI0C}Le6po=(+M@!3GQxCyFI+U1=whf#Ka{YK+<+{jLyW?im&xMH#fDq znv}6ZK|1cm*GyYakANTzAOD>6u;=tsD6&%xE>y#brHgY!fWD;EpY7y`9kZ0}og@Hv zA|W}m8q`b6$yrm-rfGR?s2A2a)P{#wC*L}A^_pAYIyrM-W2}SJ4^W`#_{)Wbf?2<4 zpy$NBzx}zqBxEQLUz-Ol5+IBS2-q<{liJ&BSYhpRu^I#i7yv%+!(#a-bg%w_;x6wC z7TS{c!xN$9TXdqvEC5JQzB@-x}i{Nv?wJE3(vTUjxn_=I5?;9_|e zFebuZaBlACh`{83Wp`vf43&21bh}^_4QuDj!cH`%}v!4x~;Xn{eQ)Nk)X?W zq`B>3Cgr#K23ahu`giZ%19vYHJJy6@;rG_9v-$$uf3y8;|1pdqip}iuhqISwO8@-s zsOSiH!+U7qj%#mX1a;y@a%yUVL5bTgBWZt&FaVJh8;#&PPq zr#aW-ydW4EslGz&*;aK*M^oMFPp++*+q=61kZ->q>aW$8qnX)7HdE8b(x^>h1`<(}4gBD+X6WQCE+ccnb00kdEo60Iq!k(}IWQo( zN7z$qTNW1=*F1X~weRtXOvtw$K#_MBh)WHCAK`U*9Jj&w2xN@XgmB^Xz7owyk+bB= z3KJ3P?A6t`gLjwZwz(HgA1!_mk$MKiO& z4RnG3g;9NTf_=-#aENk^9vO+u5{F4jl+~(h~OXkXc#EBO>KWii)84U`Dh)e?}$%xhJx&uI@ZQA=4U? z+uM)V>1#ggTUa!cmUa4(f=~s-u6lYC3P-ZqUG{Iq3WP!|OgsPl{ryXq$2%wMp@K4V zgpdIz+PF{$`8*SRKRP-J$a;zq{m0EsDA207r|9+f-J6?9{DMGpUn{E9YGqyQ6F9#c22cmMgBfk zTd*_wPmF#^UY^Q)EV?g|l%gUilVlXcLeYE!LZ_TnnVG4rrgnCk)(mz`9f|vX}Zx#7=c6+TW4Ydr8rJY{w89D zhL%5>Qwt00E1aj?9j&b`0YZ|=+gyZob{XmKQ&X2fh5c&t0y+(-k=VnhFbW=?lj|~m zkJBXt#0&X~u)lwYKw*N6GX33%RIlyO^E#FO7ZDRH|{U8_v<;Pr&CS)W9ZChGoD;c&y|^tkMd*k6!lkl?;wMNDUywLzH?h~A;wMEG3wL)5W8-YHEGg%DT`Oz) z;E;!00$~>w!1jhiz0F$L+jD;4hp+AiZ!bGL1v@*YHx{OX?YgDyq%Q0(Rxr~x#MjRA z_3pUY*{FB#3WtX|a{1}$9BIFSNIP{r_bCA zDyUIA(z|aKW*;%FwES*n@K*rH_wAD>BLmXPq`Y{rp@v3DNtdjM$hWFf-!DYSlP+2b zy}TzZKLdvh3Vzwn!E)J7tcvA@vhowBHor}mJa>2<XePw!=h;$zaM>Ovr*Ix)Q27cG`!`UxkC6bSl=d<_s7t` z-Sm{dGZIucw@51U$`ICw)u#WD23(;Gh5wMhzC}7cIx_4szIjUJA|-9Et^KNO8Xq6n z+S=OD0S#V$6Cv;PRAcKlU9qj4o%9?*RBIbspxr_1yV_xyP<frL2tMJSH#fAT%r75(h-NnIyw~OEC@DdI*Bn~>JDGXi@(0!55scF6MG;|P zu!em0YwH362$8s5w|;3#OCJ|bEcNw?djLf1Wng0+QtF&nT`hTRsUT=wj$J@t^LQKk z-8Jx}#M_YjBcY+Yg=YUe(S}AC8vyiK{jo;bJpxHLLDkzb>J{3t^;i*@UQ1RExorGg2OYX2z;ykX)`A) zT(+~bv%9Ew@ypIZ#Pr%J#kt1llhkzis-30bWFjEi0f&2XqA$#e$9j^GlG2y{V?8}S z{^?mewLK8#{)MK)gU-$jKtz z+!Y`p4F?Ce29y9!E4U$xJdOkJ`oTOpLCIO*4y0+8p9TfcS15h$!so;N&ESz{g2LI3)Uq z{QmKN2)wP0O$K2)HyDmjLXIM%#z68%fWo z;qmBb7IL5ozFAoO+T3K&&={zgr%9b1c+{}BKlpW1F*^2v-1GG*Zii=DHJ6aKSmynM z(JcUXAz(-Q@*yuB+6TOUuBwICtKq2XH)5FC|0jZ99S1C$Zyaz6eCVj*KV zx6?8QX>04K$Rll(6Lqy2gSN-Qq9VH;*`H}=9IVSiwzjrz&dq7fhWd7RYGbM;9+ie~ z1zIrgFL|b?K}>W0j$C+gAr(|)jg2X92sW93qCpuft)E&dEiDA~S&hC>gqkdj|EIQ- zrR6pw&XvO3!B61g629I5zlRd#$15s`0ZX7D|3o|F2r&%O^qK;`fBYXLTA=Zv_eaOJ zo-IwaM7Vqf#qsE1z2xPG`;l3EYwSnM z2^;DofbPFWZ|(0BzYB8S=nb0zxC0om05fD$0=wr|TgR=>;eC{i+ItgnWR_l9Sg|=+asB?0PCq839B#!UoYn^TN4UqZljA$q!twxUv_3r*6@YLO;t~Qg2G>y!Upi1{e3K9|(N`02iLn zErNK>+1CEK6}T;v+R6+IivuWz{nUh;o3V8?IT>a?V>=$ZDt4GIRv?f8GxQf38e~n8 zi)18898FV{_ni;~>zm)2TU$A3_=;+4<1;c8G&F2=2$jP?du{m5q7U&EdU9nY^yN^! z@A+)V*+uU5v`)y~`)RbhYFtrpo%NF!E+Ni|q_98wX)3t>OGIR9Ynu+v>uweg91zA7 zJx+i!l6pHjAV5g0^?f;ff&a1lGXQ6J`Ew}+Knay5AWTds!Ig>9`jeBa?ixp?_tNsC z4D@BPa%0d)U;tMfZ&i*$$8ylgogME|A zcI9}6YHHNf)QukhXyi*5a{P5abWBfQ`JaPq30$~DMrM@%VW*|FZ*JBHxMI-Y*w~~4 z(2J3|ih;RIL1rj4jF6CUta%`oJBxzl_b*dd9vZ2d%-ugzkp%U`c5 zqWk)b44tkaB1cE%!DS%0ZxuyFS#fc=(Pt+oc(}W9N!W|ccAp#%L7oZF@z9JJFd8gS zKOOJh4xgEuEwnwIuUd^DQc{Xes_#?qxIl8{H_v59h1w)169ILz)**+1m*ee`=XzskPKNK1dZFH%qwm@;e4(uikaMhca%Z(8bh z)*vxYe24HwQPE;B8TDI5oM4V20oatyEgl=|M)V9Ud6v1Z9$u*Slg%ezdRX7n(w-b1 z`rMrsOfx%34~>jKdI6-ir$F@bWG}b5`C#CN7AQrAFWZ19r=uS-H|NRv_@%6%0c$8z z2))~!f})OWt>nMe1@5+AQn9w!f;t1v)6r4cKtx4S(lt-cwJG4{^cYfR{-026d}f!p zB>oB`B&6bKV?uFpGgzwPe_AIb)bjG2JnV(Q1VQ_xFK_+R8eBu<;E1pB6<`Bb$U`>H zuxe`uNNR{*r+R^%4DfPxmaXO${N=N^9Zya9<{2QexV@JWFf%y82=7KpuoHTE_1^^% zrc&OogI_^Dlc}XohMRu==mw*;X3bfE`OK#UM$*)cZIDuJe~IE*Zc$M>A04;~?N%{2 zciSI{_sQ{NnAwuj006$gHH7Y>wH7})S2bC{3CbR-zSn(a(@M=58)bsxqoStv-FNq` zHv8xDNsj1CNqTxH@CFePks_oD2_<3Z`fe^lF{k2C`d`oe#au@V3@J*yy#o!qBD`-N zcgZxMg>9Cz+u#LzmYOPd$vQ&TyQWycd;z;Nh2@u^<3}nMLAf^@SJzAIiQLUi8;6_` z0Rda-;ul&7DY9W{U@h7fmmE-}1J~z8oSf9n%tXz^FDEAln~uVekSko>G)Hk{H~ACH zKYx}mH}^STUZ|^cqP6^@xALYx+uQrLwz>y==k`v~q!-F{%>F*Z1mQpUAW-{QW1{=Q z2zTrAp4EFsKF;|2`C%a;kLZ)$11@l-!-MdX1x!y3oGH~&LWw(w&B66;2Ktu~+%E42 z7OriuqP~Ey?|lKdxMDE*cP%n13S8W&sh33iM6=#-pKTT%P#miM=zr8^PAJN6BZhJR5 z(1o6cCN@R$+wL_9n2ltH@c;Xi?zY@@)^;bG8^&1#6>g+J(7nYP>szsY1q5{nAtAB2 zLgXeom+!??XIOO&NM*n^NpQ(IFwkVKG7dh&;PdB-&yC@3zqQiJ$vS6-YQ#Nxey$|u z%c7=c&#wE)*yyK)#a79r7608^VJ`$K1`rR9jPep&34G72Bctxp$I9*lEya>}!*5}S zK`lKAqyUoH(kV9H-Y-5r6?JtMpUTKP=uqz0lfzu!_!SQ7Bf?cZdDr>E{{AR&g-4H! z#H6)6@kBkZQChV0^tgBf|ACo=ntFU<0y)aa%J4K(#SPF^>}@9mKKE4b?Z&U~JTiX3 zLnH)Wb8l8CAT{8^1Rj;`k~+{D@ZNt!YkgH1o{oxML!t``La9?C(59_VW%p5@1 ztYJcFtDvXH=qh;K-+!MrzUK20_a~<_b@kDUhDf~v+L_T&^qSwlepz?m4-{(J9RBrN z%VoTH`SQ0dMU|qkaBastk+YPP6!0LhRu6s}ig6=8o4Vlagw# zum3wQI$Py}spXG>=(~ps)RK~iRBp~w7RP*j`KLoBeUgQ`CoQe5P5DS6buL52ot>^s zOos~#c-YvhH8mfUsi8Om5^#M@25#()4OC$4!^6u2YdQ%Dhvfba!^b9_z{Owup$w*u z{Fxb%Msb+30H?#kV(mW!4Mm}z5K_x2L6pYZx4=^Ja{8!k>&!?V3%Y>)*?UTf=3T)mc+lVvMMM-E{;A|ed1(|!Ed3sP-ia$7cDUTgt@4t;+0 z#nG2GVhv8(6{dT$hQZuP`jkZMRo-&W>qY3F2|xw?M7@x6ZPCEcI1>jW%xl}ljJnwc zdfMR;M-eYOENLow%=@#Qu_f#6mxzce>9aq7`h)J?=QHxJt?li5C5Xn=PIFniySLB> zba(U4&%aYr`QqV9ifwMrq`foCzm>6|`7p*1nU91Fkpk?tNV@WJazFm4yZAI0UYzr1 z-wG+dPMK&jV$&7m_?%N!wYf=v!)isB^o3BoSiEv&g@>#8h11MbB|pzt^swO zIA>7xD8^mfdwxm+(gX@joShe;`eTrtKlu8$wRL=WIP}ApJI1brJ(l-4yu7EwA_4;c zApC)y_4nz4gLoU^TQ4uHrEv#7&z+dd)Pv2 z^Yf7xJvh?}^pCo`Szc>s@V~c;G-@vlhwl#R6L3<1d-~*rm4)S4K9x#*-+}+*Imy$^ z)Kt+sgzNwuo7ZaPwa#XH!{?2qFB+3uzXEr$J!20@5GglfBBRf>x9Z-sh{NGmRQObj z|I&!5N{zz^DLmq( zlhe_evwI9U_Cc|r;q*NQUrKTjydOR~PFhyU<)pl#w?h!d^63*dc(e8`ZDnxlP*9wC zcwRysu!V^mzZ)sxem!<{9$1OxY1j2}VLXURdqzr5F5+~m2Y%(yPE}J>z}#Q;j%L3S z1ct}Vj8SUnouQ%R;R8h9fFFPUM5UxumzGvmR^Dw4;f@0afaGW0_X2%#dp*X&*}2N? z%!-3^F!6Nj(+@4(8QjOX4<9{h?&)Eo62I?@zy6^4E6{KiYrA^2WjOI47tTnCzIhI| zDoFd=e2e}2A`yk8FwY8PWUI?Y3#%W%T1CPZ6iFF|_<-klwdX2NgQBv+@kLU30su*; z`>}~NNFpLUu2O{#Z?v=&U%gUSR?f-^_RqdV(`As@`2Yh^3OY) z+S-Cz^V6Sdsp>R0NqU{PkItxn{o*w`pqmE= zKf1YI_H)U?D3N}$J6mctL?3}VOLt!l#2e?+X1UoJC6-yE?l(;Mz3fb#4KtQA`CU=8 zv_}3YZOshNa(@2o|K3awRne9qAt8V`?ZLtqKR;AbQjFc|%uM8*vf|>{prD<&p%8Fe zh&%ZyQM0p$bPXIlCt1)I&r7$!6iS@HC)FM1lkIw%HrTSH2jz;J(&CHpmQY#ag|2DLjl$F)w z=KlWqb8}+o+5E!lDzA=C?a7t~vW)JZ%kep}&Glj{jBre_&VnWF=me_*Jnp3~ppVkj z(?h#P-Uv*x;?r0SE(}TX#Tb*5RQpn-wkiPFww)NOpnFSJiA>V}7KZsJQS1Nqr*270oTJ*}q zgl}|tIohPJ5K+zGW#rJ5SEDJDTB5ZG9W`}uP>|en*_>a$yghRTo_V_-(mvy%i}FUe z12Qw(W2hIRAS?|%Fdl#UV2jKR64l*l&(lkX7NB9B_EL~Oi`uw(!TGn(Obdk66smtU zHLEX^xJgL06XMsOiE(hyTB=d}C(j3V0C+2;Kl6{?g4pYF$<{W znq3`_zt31l#a{SAM#hsOt0mE51aIFqHnt+be-@ksjft8$E>qu|TjS+_L$PU<9Tjri z)oA}Ru9a=aNpxnq$2o!?7)u! zZL^9>$8Xk@^gB%6UnC@K#{`VYb1Q!pL6lXs^Xpe&RaELxHkw+>J?He+9S-*qz(5U{NDsmQIqoJ>!Vb$l`jkuz<&V_d=##mBBNFBax}Z7f*{Yq zt%iir1nyoCX=PzHvd0^n+z|h1ECLeby5Ep|mv)r6^ zCC#LcE=3B_Pnl(9vaeo+2L`$>yg=71mKwy18Aw$JrKhJQn0Hga>%P+WLlxw$Ss5zyECMq=Q}7 zEAf5G#bE`8q%W&!#+~RAIc4X?a`V@v!uubRXR4u!G)g=%HYU#RIQtfaEx5UrXMhyh z)S=0b=Jc_mm8{$pZ!iD7e_)VYcTX>fD~d}v`R6K9x9F#5^g-$6DqMemj+}fN z{eJzR(3F*finPCmGoBI%GRhEkp#+MD0y3`V1Y)rt8`G>zCh3h;*+OE{F#{}#>ON3{11ym0pXD#gbB*-sHpMVSYd|u$=$EX(oeZ9PtL$d z!x9~MtiLc%{RMRJ2t1%3=HeIt>O<4GXAt7npmCq?W;GH)fy5~mlsz%$@zg&~QxlcH z%bVLZr{=^y$H$vC2W~KnfwbGl-_}-``)=Yks&3Ca`||3p(n*q+4ht)DJK<&XEHx+7 zcdJ;M*sSQB?dKmHc~!oq$g7{qPq-D{vd`?z^~p&}4tt31W=CClrd`$Vxy`QCruMB} zdGu~w?uBPXloYtE=^XJsY#tmhaQusOfbsT#28?$McQ-)^*yOb=1)} z8*Q5Hqw#6XFHA!rGW}p)X)!hmAwM>0`kIeK1q7}VG^9N|xR|$i&2qm`5rgdVud=UG zt;wCGk}&0b56xM@q`4IDgC)mr#mA*GH9fx z4`dDg4$RD8gj&6O_e|)|J2=#_7H{9O)uvo*Jb5||LxhZsiV-S}PYV(li?HGkM|Vo6 zr|%R*?f+hj;e2Od6R@5T%#IFDjE`qz=|=RLslMT7VoHd#7IsVS{Of^+z2Drb#$fYC zeH8CuVd}_}SKeW2GpoDR)%lvaS?2dr2M0EMYo`-HLpfhmooy^f#mzl1+Zz^O42dg5 zyu4YT5A_to(1aW~gZ;Z#Mc?k<9&oBkb3&e_C1! ziIYoedmIjvXa&hr6?-FOLy+LnaF=UhKs1AdvbgqHaB^Vl_L;*oZ?O1@nHYPtw6(=W z&-3vNCDdNkFI^C^>s8mFASNs<_KFI#3tnQ`?sTgOF^J2`vM|yqtE$4Rytw3crLl#S z(JkV}zW)aqS&Fm7SNX|&7Bv$p8iTYD!dAfhg8S9;S3o2agPZGE0jscZH%{`k zH<)`T_^TbkYFhie)AfQ=NW|X;M(&>)SCgk7 zY|b!|k?R_4oY~r1qGJVk;8)3Dh!>_voe_&es3ane$;f?A@z_Y{sF+P#aAobA(6pGC z@nmbC^4qsFGd-tlf9^}R3jg|1T#Sl?6Xj>fa6aFWx5V@`_^(AIT1<>+wZm56^t1v0 zTFAdQx190%w(<%tK@kzCS#9I%Y}nX@*G5K8mmc1?AcgRnUyce5eJ(AX^Me^iGfs|< z2UQO(jWtcdm2)*>@hbq8AdV2n%(Okgf1)pSNIH~&Hd<5IohkSGPqMT^d2w$(sp10% zPv?ZFjUGlRGV@oj@G!b~8RW#&D|Xa&cV0EF_AXUbm3<4b<|12P4j~2o7+wsHN!^YB zB75O}pTkSx+CSYd_N*q$dfU!M2gh<7yk6+*-z9yWK0WO%+Hc@8{MGvX2q>=QWeb3( zlv30+R3?J96)}7vM+(yPE-z)d)cyee^5O-i^TN^+KK>#OR)lyMk{7!1y#9K0)`!XV zV+S~G+`%C(5Al=F7o^bPPhZ*BlSWWlwG1A6j%HQbFFyBPpx+7Esh*g;K-VRA@7NJC z`5=mm-0aHD{Yj}0*VfGbTIBlL^85FYH*Zd`&w9))8eVIRv3sO2G4G*n3=9vSDl&g6 zU`ZCvoCPIC+Fi%SUpiVfHmahcXV4yiwf_crcXztl#nKX!<%5Ps-#7N2loSzU`YDQtdQm!6VO3P``EeB4!O>BlyP?5wjlO@(-5s3RQt!VP&eky(HJEg^ z^S=ytbi{UEB>=7+i$q60cqy`{I0F;+JqM&&b`aAqM{;b3y&k2ONw{IEirMF4sGEWn*v+)UuxVI zF`0pwF%}tZw79|hgAFwTl+*p9F)F>iNs=Dr!{c1-$B!RZIJP#(#1&ykTFGYN2nt@Z zR2;Ui)Yd9tVt$frBHJqoV`ADo-F~lC8VFDor_diNE(;QCB?T9!-Fz%U!mOV^=MmBC zDaVf9a$;g)ZklQjkMTj68mIyPU!A~ZYHt4J3(@GP-rqpWZkM>YWq!5{aAi1J2dn!~^#!q$d zNji?Uz5Fwp1d3uS9O+9b9J8j1ATy(pvXqk!0SSeltHq#KF7jz3n)X}4`EqOW*yv|h zWt0nRCiYcco;ze-L6Yp!vZ(fLbbPwc%Q$qM`c|E#Mj2hl*4iCGFBnc5N$Y{r9K4*j+;->eg=S2F)3VJdsg^Winsxdxjp@);AuWa$6-nIs44{ zcD#Q%>p}OkxOs~Ex|nnGu3YE-@-Z^n+uEA`yGd?stpG)k`shyjZ+fnk;veexXqccF zrb=w^OkrjDi9AL$QBH{a>C@{CVo^TpRA^b+XIM2=6oxM^I|c_g-{kGXcx-AGqb3LE zbU;Eup$0x$l+rR;7Z@_9iv_lp$Q@?4XEFcvgSqX)cu&`#sp}>W0fCqVwE4k;%uiKo ztW=E^t~`Gq{MJAB>FKc&oQx9?2(T;8?L%JlVfWDhflYN)0;rVK`)z#suTLy62nh)v zbXFD@bI@cQpvrP`iaNW<2zwf^vOf9w%MpQ`oK+}KTtem3s=}W;{?}h4e$aeLNkLW^ z&7ZAJu#QZF%oW0iORY^!wI+KvCyJ#D=pec_fZ$5MUso}2LQ(L;K=Bf;`{%Lu1qta} zKC3JY%y1!x!w*VMVhm%wkZSqjML1;|E0X?Te{@41BXH7F9c9FnUWqyULssKBl%fK& zXAp=}}8KSeSq%bGPcUNt}ZG{XygHX+h=OJ z6|h;PEVUVTnrpF{t*+(X3QzHK{7})WPSAL zE0DHJiw5kL&mZyUSH%4r{Y?tZ#oyc2!tiy2iPuU~CM6fF{MFW^BgDLE|E z{^O$sZ?1`vyYnukrJ0%7d*`~W)w~Ipl$yz`FWIkSVng5o2mxmOWzy)*!VrqJud1+wLa1IzXiX(Q#%|EZ>#+I^-E8;=Ti@f!L#15 z80x~Bn%OoXK^7J~^S~IprCE}D~hVr#eKtA0?5^YLSj4+=^#YLlap(X#F#W2=Nw>PHXl|vD@@>1V!>)@XX=P9>91Z z##V+zeOS;lR8=)RkLzY&&=fnUjD%z$x*Y3qu6($>;Sf9tnV;#U28MIHvvoXAo`~^3 z^@)li*l_!Rkm2z;IzLc0>_G~qhx_vpaC;yl&!`oW?mJE@Ndy$W4e(O_2VsSuu1+Ji zHgcoL)g;yF@#U}aAigeD*bcer3J&$Wm$M7Eq~xB8^7SVa3z%ZZYeB6k+xk*<5b2J( z%h#6^`DP2^N{cyceBQFhZ_%iiC-Vgc2BwKcML5R*ett>6;^E|^59$6bM7F&8_1s^g zaec**2R!But|Q5l(uC3N9nj-q@C0*eaKfJ@KSo4^6p2spti4NSnCm4V68d0a0uC*Z zKOP@`+S)<{WQtUj`OqU{Dn)YH;u~gjI)yehdg= zpsPD{zpH=jh-mCfm1J4CEo)RRz=#yEX0KdzRUJb3{fa z%rJ?Ay1YSfr+X`u*kg zs}C$6G%>NVe)C4a0bWV;FTq4u7Q*m7cJ`yFsk!=|x=#nUC#2cw4c;Xz%y}-?%ad6z zx3V7PA2F3YkBLW1Oq@)we1M_k@fr0mZgpbM^*c+WFyBK~ zfeZ3zynQN|d7_PVbq!(CMNv>-yxp1NgCzqpauN2U{9Z4GNO(C99eV$KhWckR%eUsi z^sZrXX;6gnjzJJ%K|vvvismiU3qelKkG=A0Dk@}1ot1m%x5`$UvX{&2>*J?8q!R!9 z?*9Gz_e!DTdv^BUrY8R==BJ_L!c~-bfnQ_8b8_SX4njp0@Fc4}&QlgKHTOJN?@dX{ zp25gwV08$ENw~V&?~6TyyAVqK%Js79);=BfD_LZ}yBVF|xfj09ABg8EA3pp-Ur66>%Pf zp4sBq*_G>5TDzjJ*!Gcfj}91i@y+Pk+g~N|3CIM*eq)KGX1^)%tx43<(qa`9oa{}( zEU^B@P_eceM_UWDROL0y5#}pKZJ6(N!i<|f_DpL;|5pTo8aboZo zH#R6yP$&LcMyo}C{WkJaDy~r9L|f-0$>YZ;ZLN((6vZ6OTZVep8?7(7X=rrpFD_wB zeP-TQYhyWHbZTM@cu$%z_Ek(2GSYtnr`j}`x0;(iSBQd^W*e%n@j=o+rJS4cTf@L0 zFs>rJre@i$ju~c)?yjrh!9hH{jjC}6b8~}lU%zf_IR*Lnyizzw{xyl{;xb@7g~Y_X z1)sv<({k*a76pYn`z@SsdL09R&`kkLWR3e4)mOyd-GI4e!FF(v3xqvCe^pM-)0>-{ z=H`7qLcTM$qNOC>-wmEi%l-v&w5s=F1#uWFFvAt|iU(#23T`hi1H)g;rHKT{7%+a% zv9%syawj1vaoP*L*TwGEoL*Fei*HMKO$!E|?0~8#1kMCzDDr4>_ zpm#7%%Basb8ITyF=saMH2r}XGWmHtOfbnf!A963*3!g>v+9xO=y>Qtqo5Xy9j*GWY z>o7!a>fC9i>7Aw7f%x<1radGXS-yOqOhFan~1?9~qxTM4IL~4-SgYFJuA&>$kVIf)a&4 zzNYw_xWD(r1mmIMRLYB_?d_M*Gw^LqE_$x?GL-MhBd zdWGkYAtZw80i@;_8W`M$Gj45>fO^Fxy>(EqI057aM)fT5|1Ke$T%_>8QQ$?q{B1?hj_Cty3-MuC~0G)KrEi zTyFHHMc$i?5&#ytMjiCkzrxJ!F9UD%evkgTWxAO{QGxd zcQ;ijjR`No1EA!w-#^@ME>qIyxhqTldPr`09MZl}RCKJq8BE+Pq@~S^+G4gafBxiK zmX@o(f9>&6gw~%p{MS_%|9;q_i{C&TKPC>2lm@EtJ$5tV@6q!uo11+A>wue35lUZBYQ9aQ?R ztsePA;U9ou#*kt2=;|_BNzO%&^Aj!5E?JoK7FXYSSH#R|0PXiHT}1_qP)Kdd-F#39^oU9H;-$%d<|74e!TE!x=F^eyDP1jb(!3EK|P zZKrkozLP9ufT{-+Mdr3~ccFwAhtDIA{(NNNVb=$Cb0$m}(Q{Sb?C|x$>n* zhZHLq4(0hwlP3i~A|a7IOpDdPEv~tqU(7UA%M$h}@O_?@u30Lq;hNyQ9oj-E@!}Jc zX~{^QMx95}k9;E|^Q<~^0zG|wec(({$fOfU$7V=K68)rhiBtZB%?qbXwO!S_ogF?` z#P~b4yF2T43d&_#gT*B)oJd|5%MZ4;P33uPwq++_GvpuvxJ}T;>-+^PsazIZ;jtT4+Y?qkmC#cpkI}hVl<0y zUK~$>wELN?k&$%U@mE~F@>G#9gs=-v>Mx0j+XcT58XMD#V|MiH>Z(l=??y(?fr)@i3?per$C&9>dt&1FOpQlYgUvHGUaT_I;c)tXvqA@AM}%I*)d#NG4T(~ zh<$`ADQ#wIJfX3q6pIt_z#o{Hzz7|^yi}N%lqS{^`2KbItbdd0SU^zMTa#N@cye~u z;i^|l8qw6>z(7Yz>Pi2E*YyKbR1Rk?osXTp6lY@JSdODdL~*W7y!+ra{E&63u7UYk zzk!)C_agu!or35P^|5PBEk;V?CVj?P#Q2vf`MAuzf4;QW1LYq6Ly>!gr^99rrcc#Q zTmNMWP9NQS69F>}SdKsbCWz|Hc>C&InO8<7K*UZid2OHyMMh4B02n`y^zY(7PF$R+R z2u!%r9jNy3!w0--xj+x}3bRM)MK=OF#BrE^>RmlrYu(+YSZA>qQymx@`uWoc{$xHO zW{O^3Ub3>H$jz5MNn;da8VT*a$+0JRD_8qw2=^t7SL(nhpB`JFCFLK^f5(rj@Dwis zMR5M|gxhGjrSNkJo1WmR^ISGK^lO&K$8#$Ces{cT?igU_OA8?1);x;J8k!_>>Ef^W)j{7#&$sGJjI6J|+ATkq3 zj3H6-PqlkViI;lr>`F>!2sCN9(#u*6qR*ZYcK4J$ycQ4`PJa^-9u9-@I%&>z`-|OO z2?-zc@$qr}240_3q!eR=Uk{0{PGd^{HI3ro{w#{dzP4p$)gmJ!gH=dJ7-#0@^_S*~5lP@krz))(q))6e0@d$)eaKznmmsH%4mSeLE;{&BBRPn4SAQR(L8)w>s1 zWMpTvvEOyKRxJH(4x1mavx}*A%Uax-Izva_fXYSv9h-|q2JD9S*_AJqDTcM*zn^Gt ze=J=G+n4}JpqioQV#dG2_P!IB@u`jbLL?iGgj@{PRee3Z=JqNr)z4y#j9-8Wd5qce z4#MI7hOI^xRo4AB?EDTpAR0qk{`E1M+?USYCyIot2q9R|{v-bLMHMV4JY0IW4Hbom zFpg4y2}cmerOvZQE5kj_UL+v-`a0t;Pf3v_nzfqhq}%E?_4xfamNsiUyYErGy5!S* zySCSjdK;e&`FhpW-5_1R1xQ=mMoSA7x;k#|Wk7VuL|M3^jz&joP~M`Gl7;~Ugd@gv z-g|m#EhxyuHRJ|uw}L!Nyu#-8_Ngt1++NmNSopWI;D}W;c-cUC*jLs;wtl|GwF|g7hV;C2s=)1gV$A_ZXZ|w$;#Yk) zPtxy~W9tLOnxB)y#WN&3JAG?H&GM6(sT0+AW2ueP)?ZxSAVUtvOg=QkPEGYQBV#JG zXjJriZ}jxO#qI>1%PT0XP@iBF+x4o^%l46$m+Lz?uoxT5Jk1@ImaFqIRd^+Vc>v-; zAnuWuQz|02kG!iO9$NQL#j{dNt&N_MjsZ&U=ME<(*w|SBqY|lS_m-v7b)Mxufvy)* zDaSvk?p_5f8_3DO#*AYV5y5FH4%=GEY3Bo}?-^P5>Y;J1FiG3-qnjH8R+f`=tlVD| z=P7D(%ZS-OX;FPXd@#phdoH0e+{1G|V$p|6ypWKXh_Q)TMf>#WLd;QSLT2OP--Mw` z`;QNxhmw^cS3UwGPQ^|a*om`MM1k)TNz-jLR7ni87Al{>8 zen1Rxa7;!Kt>v#{Z5^>qtv5l_<=gNb>-hAPgUg1Jn7E_s3Kks!KLU!R(O+*+pqIr;VnLn&=XN5pFYw=nQVxv_P<$!>z5U+h%~GFa9CT#2YY8fsWUJz+WCI|`0`!94#NioG-l?#h$tmw zCpW-7>+2;}<~^;fs^@ZvO!Xvv1>e3cxwy!jC-9Zp)=>U&ahSQW;D=xwTPNgXEgRmE z4BJ&K_0w{EeIEc;HS^?S`$?MDLpbFB{>9R_R#5%+_ZPs`!iYZSQ_<7Qb2!fkzVBpg ztgFy*uB!~-X!KrAj;XHh3_OXT)^4Q_VxWkj!aru8y%2x81@gPnf4%kgp&QA#_B2g3 zpxpHHlLFcfKo0eFd2Y5>JcbWhWn>OQSgWi5aSY@xEQG*&?U~$pmlw}iZU$g0^b{y+ z8R32CAyW-rN+76fi%Of<=ixzTH1iSgRD1PmfEp`AD~x=goP?Md65rAs+2h-Pw&Vl6 zbbbm*H^@1j$gNCI|Ni8_!ok78YngtsU;C@zLtJXyU6K)c1St^_X{~QOzlNLkTBkWT z)H*IqXSefy_QikB=0nUHSY*2wt1Gco9fwZ150B`X4qwW)qV>~F3YK))bJF1}dV{4! zn@B**3NY%V&qU{c^0(BOqA1XZZ1n*6S>3e@^Ece({foR#6^T=iZFK z(onbs&Yf?H^73wOe?ML820W=KI$q zL`krrh=W7h<5e#{n-wq^BLsdStbiCO?^#*tLQm3m61(>K4BH17o>$oA$CznaTv2{5 zHxrU7wxWf4#ybMlMPdL~vlO>g*oYQ;xoYuBQDNpO|=_ZPgkm zB>n@#VHDdx@b_=u_;p7EQ|Ozo5v{HDKK=Tofkg!c=no%y^il9SV#{hx+;urQ?rx_< zQFf)Dz3lGMO-0y4oDMl92k=82kA-C_G_+Gl&^11xl9R)VnqKQ931@&1xwzQI&ri?S zDY14ye9o2cD6TsH2`ORR`to{Pqj-a-h=YquL|)R!F#eopB+PJqsnuLAVPT30d}H4i z7dvelf@fz%^(Z1>5tq%8FZs z>-+VjFxc7I+N-Z^+H9X22{| zBzx8`=)Q5X#bPVbwI=+X)HmgiN7s+aO3Gwa9i2(zF0>{|!FQ1+H~GHT#5`}f-eH}? zaNE21c__;GLuWkZ^Xl|;%mY4LBVAo7qZU#RjJQ!Ft$Ne ze5)sl-F6YRM>y2{_b&}S{rP2iZlwtV3zc$7bowi8ZM5W_-5G5nT5_-x(nCji^x+g_ z!pw^Mz8$@tm-kD~?zZMAAZi}<-yN2hjOg1W%5=5u1tFa`T3(AkH#^kKi%?^2UqTuU_?=TsVuYg^$zp(73Agy?1X0rta^c;Iup$*kS=2iF7HZC$Y ztXNHTnUn68da2NhIEqruRjv8@bten5JHNniGKEf2&2*M|9qfYhot{Md zifKp$$ef4;LuDB8`?i!H9gBxYil1?e%vM+}ZH}N&x$Efq&YM_R=zjkCh~MMGUs*?8 zelK=v>KmA_q+2If0RA&-yYd8gH=s)WB)H7yK<|V{Lu1g(0E zan44i;LyYQCBs6Rmb_f+r>wsz$jKe-%9D91m(nCq`8wi)up|~6E8#Qvpa0**^4?>zPYxdd7}C%O+`tu%g}fR zyXjM5RjQYF4<;katvW0jS=%F;8Xk5%7#z5{I=fyS@NNaEfwyzHr^tv?wy3bMFp>ih zY`tx5wIE0U)*)DH@5no>>nLtDGC4T|*w=CgBM=c-&)Pz}fm|5yPL9BM2^1$)i3{vx zK7R1;OUnjKEKkz{Sel#gtE(JecD-rv@9uUtd@_ZxTGQ}V4NLRcn(jeF(onc~ahYvr z_w{3v)&0@|@wY+j=;)>7qP5Y?G>CJQA_k~+z6mZCmX=KYT!e(`w!!4s*r%Lk@F=H+ z_s#^!-Wz)?-MrTK5}eHtSOBsK@D)X+=_G0PkcMatOimsMQ;CX-5>QfB7VI*g-($5R zUS^uOqentsQk`2ZFL&^~7(~e+lcf2?(SL(0=H}{JT5^+@w-wPlasPf%n&9u-zERaz zuf9V$+7ANU2*flE_Bmkrg2vcSR3OLo9Ta>`&G`Mz|E7<)lsAtlQh&N=s_Ng(7gC&d zd?AVwk)mQEA+~t=q8@O5c9wi`mT!PnFQ<42EVoES3M zP0{K<*x%bnSB)NT@X$~@>5r^^aqFFN3!16V*M7xQnjb6^5j!Ey`tEu;ahoIhgP!ptn@EA0YT%1~AmOW-< zEKa9l#$q)Fl1Ovsr$%af4j&f;8YU%9UR?#w)^;#5=c%aT&-K(2Jc8j0m_UpY&s!~T zNwkS(rYL`SPWIK*hc&Z+E(5|H8f*fd8Gn1e&b}(o*19NvFCR zAFt#x!BJ8B(s!jCd3GZyxu{>~DQxU!WOO*huwc6km@n`=tIlQV>CT`B!=acKJ8QFl zXY$t#!LKPZjX?`C!FagKUcVj=3=q2Brl+myxW>s$6McisI#OdZoUNAmEyzo1@ z_SsXWw?)?9&QJUt14FlnQ4$?Qy4uAPsurA=EC zShjy-V*&cI^zToLJ+WJL;AYT1&(C*fwc7Y+fz|l+=^UDDM!3?|O|u_0`Q8;0B6vUH zfm2XS8LzVYZ#f2>dAX>FC{AS!A;{agDkOeliah!D8-$Lep-sNh`~C1yMxG)rP~_`5 zuVJ6e`bb&XBU4jTyqH(>R56P0pK#QbPItLo#jTD0KK`tFed}3FwTNSp=r`~fe9Cou zb3~xo(y3c?U(F9pCOeGbeZau*a4~@f#g=mKsZ4-9?pHXl5H?Bmv9pgnKYyyU6eEjH zF~=MPf%CbKAFq4HVTkgcT5V3%!h`}sE@Z!L+^ruyIARWQ;;&%9?!pGARXJC?0M$m&VpN&@|!3pgjIW;T~F`SwPgY=NAn5BYqY?vpl{14BOV%D>W3f0A}t_t@E(HIG2W|kMU_R ztK$O#T6H#YQ%E!Mrn?Wq;l;@}>grfl_k_jW-ASrCQiLj9>*ejQgmB#eX4G%1EeZsBvvy6pdz8nXgbN$Q4@f1>^0npa=A&%B zacyoTiJwyrMx)Sui;E*7Ow`n$3-|MTqjq$18S&+aLN2I940XOis8Zx#i*r-+7f=&I zO1Y+H1&scpD&Ap7{p;)JUpxO)$l7bw6QLs<%Y`YvT3i&)?#t;jHeCiDFo=iUGfn(L z4AKb^POu?thQr(3@aJdr=e@&6PHj(rs;R;Z+-<2yAS;wJEhLls;+tWexh4 zpmeCHAX|h4(LQTuYQIPL4G$C)d}=0J`}@D)Q0n?ts>$lQUu(+B2lH`ra|#QG8+BGA z3mU$Q{@sGuTvSBcPrSyy-YuN=`9HGezs1lWY0{df_*~$)6x*?h{b4w6>}aT}TKpU^ zTbqV(>su=Q7*_72z%8Q?D+c?l?8R+50T$Md+uO85=%&ukH7CZwSLje#?(i2Um1kp% zhFb74BF%>THJzB)R=#2)3w~KSn?%sSXv`A^ebB{G9?%4Q{@8>6;w^L{B5tj)vX)Zd zBbu@MFXyT#CvL7I-Z$kp;19PLrD|KHDsD8j*#jAhXPVkIaC6S+&!4Ln$pLnMr2UmB zBwMNZNbKvxBype43yIt9gwh~foa)B-4O4BM2D{L-v>lU`w$@f!?8i@^hEfQWL|eai z4ZMPZ{bXzV_!tN7qx3Ul2?;HuVPssjwVrJ_Fu@@jZ#2f38N>2&Z#WcCf1hrAAu={D z4=VpDLaBeHW{HK1znYVKi%*m^Iy|iY_N|q9*3I%kSa9%Im{kcYD+MmzZ;;il@9yfZ z<|Yu4k_54VvsY^QGBc!Bp6Wmm#Kk5yXW?OC3P(l9^&Yjs5nR$%v>#e;Z`_i}ZiYu- zVXRG`GG@CC4P`Ho`1kGw!ctw6r#M;IpD;>G{zOBggVoPn%)y$Po2=WL78DfJrP$J`NH2SG zo2`Qa1Er+kH(}Azd<>Fh6qIo&UU$YNwFW2mQCFtEj@$z!-Cqboxn6(&&ddyphvy%P z77d4u_uk=tE$mn&rA%XDyB)eTdZ$VGDBe~_ANCNyg&1i$E=sfM?jfbf$e1QcRDJz= zXt^8l;mDj=RguY6n)D|4yUc%mfRwPcaPGhA;H>rgELh+KFd7+wgU%b+poMJMJoj!R zuKt6M51@(!1icdfI+%m+1&xFD_f}Mmm$$;#LJ=Ro7@$yXoW>6rfp*4Go*P=1tBL}5$%?k353_ZF%EDjs@=xu<8v=ylf@S|R01GpMzk;IJL~IYygq&`D z*{YO)iGc0(!^3Bc9RjwE4;e-X<5>(1X2+*pN*q};lWU7o>J;SVo4&NM>*%oC%+;$X zi(|l=-O$kKgL+Dl8)pLn{)Y5-LeKPYzk^bg-7bZ*)Dk>B`uhQylD-ccClwVjei)`x z2xQ~{_7&uIUWRUF(zrD?p;5^HAEwNM-g>rK{tyatm@c)J7A15b;>?KUJjMql4HU3( z@UH|qF)^i zDz9IcG>fF6;jq(uW=V$YCHO$)F#{c4ThENS!KRV^oVb$G-XME9hoE3*$9K=MQBw)R z4o;4WmDLG4cJ|Oi4}Ru*_p*|%jKA(p=zstI^JlH1>xw{IAky_@fB&y6&&Gp#b_Rx_ zS6MGZLl?s~8G+OFM{$5=&4E=a z1=bplyVE*v-(t0xdE5-o*4>p#L&ZBf6b%Wn^ST)PnxY$hxVk~v5DFTBN*kA~Ot-sL zJAiKjDMw~!BSJ#xpSCA_)3CJ6h)~9awH^|pdOcD>KRLOMU;~#Abbhlb3#QP!`CQ!l zkfM2KS^V9#{}Cl++sx8t198RTqAG-Wyl`DPh>Aj#H9*HDjJvO%m2quvxjh9+5U=I; zL1A6?IA{GpG{Zsz@mN?z2IMc)EnM7rYEBQf{C!jn$CY1ymm@qpZiZ%AkyC4IXQ}yH zJU6yb44VVXgLC6}ol@iD&6S?fd0UGRR4s9t@BmUU*TC+1$?Xmn6pZ*pG?F=F1~2Fn zwJQo>%O0#_P5y3cU~um-tUgze>Ch>2DMa)If2iwNzZ-!h6|Z_ z2#`FYp-G{)DJyfvB~L*TwQB2)08J&`zmaPsmi+wiB2aw7vib%%Tb>ag5e?hN(8L-d9&v)nBM?!b29gX!mFNrjNN=X?R-ZO!czEl}dzU)r5 zo#l1aQA6>iVsOjK%hOhlZf;WD)4$q*y?1fnPF9SRE-qxyG3?=f-@{PR7)#GG|CLeF z@Z-l-qo+qY2%(9qsvK_~ORo9Cn@5~dD&n$9b+7eK#=E9Qc3=Y75G5#Q&mY;Oa-`56#i zuoL+IkEE*%%7Rorec_xvyU#wM`gKVZ2Orkd+(hD0VK^z?-euXveIwLhTQq-~Wb3c_4vh`?U zoi~=#Y46Uzf2ixvU@8JU7Koa+3^^Y^cAkW2{fNK?)T0P!>xFYW>2ghcoIv0F>EhAJ zR9eJeA>YwEz=mR~s&+xbo`xKd4m?aOR@Uf>{-3m}5qeID-a)VpT3FDdEMig)Z8Cts z;|8ZKp9vRDosF7u4QuPs;H_O)7?8dkwzoU6vD#*4$;ZW81KSTov-47FQ5tM?X%K58 zG}5rKaXZBTkCU>q+>CL7E8Nn}5?xMx6HRFDBY07~f1f7wo-~VIZkm#cs?NF3iZz`= z@c792@y4nJN+w_Ud%ax-)&kdU64cr7uLfwOeAJ{k0ZGaG!G(4bzAlBJYaZn<@Jvf8h!(yKY2JrkP~ZtEI4TW4>h?RS7k zd;5jDKRWx!v{Z`(_d^;QK%zY)`WTm&S20t{#yZFAV_Qduk8(~vbtz_PI%r6e`OJ{0 z3c)^xw&ZOFJC-=6n?NfI60}Mt&O4g5rI>i>cCdR>2VbT zD?`aMVXU0oIB>>j{+e4iHXu^{{A_qhou&vO=by=DJX_Qv$ay;8*StSa+&1(wYve45DC@D#UzcM$6 zvN7ep%5!3;`Rf&76CYlm`a4#wLYD9cIA3uL)9+0X-yF0~TM#i&%?p6ZzP^2 zAmRf0Uem2ka$Xv)tqwqgKq=*3an^F-BF`cmnJG7uQ*etYnO2pBe!aE7&!Dxsp)C$<)TP787%#9%xT{s?CJrq9Wo3}a>;_6_JQwVo z*uP`$1UR~)y`+Kuj&3vm2qZ<~NMFj8mXiGj#+V&bJxE4oi=B;dnRr( zDscrc{t@vY7*xc3nD^A5B;g~=(H!5v4_+7&r2ER&v>VdX-L}S3+68eKB_z~BWY-=A zsv&s<-rqu$0fnlgqqf&Qg#J)ZU4_*L`$wfDBxZ17H%Xsp);~^(IlH3^gJsGw_b5g| zdPoKBM-LnH#k0LY&6&LDt{-@Wt95%H-B*uU{@~>Z8QbX4fg0sSqgBceI~QHuy2M0( zPfDgNDa!u+A{BtBAvG0d17IE*8!n5A^V*)??J_W%WVoI@+bZZYaB@;;E$yP{sJ%d& z_~zH>e8_`&K)4^04_AgJ&ovnJ-N7)d;M$u>s3oq9G*QmbFgs_xVCHif2b@x{v zVna(I6jIaM{jAD%ij!f&Vpk_JIvNAj0(3>g9EiHT^u(1lmr}QW!yr!Hnd!l}L%(m8 zDEP}ANWRZA&b5>O+ii6ECnQY4B4L=*m9UWTjTiu7ArR~FR!j(aRLE!#>}myE_V)MR z$RB%r`g=G)$!g#G=V;Sg4iC6{M8iNQZ*6Ub@T;1=c^OGbL`yiMaF9Uavav@|^<_xm z?OWo46a2aA#HWCBJtUYg^W~t&v;Q_&whU{&s)L-G6~S>shaVl2un%ke!XPh|RPGOS8j&|9m01aD5y4 zqB)8q3Y}78kStS>E@oPFG`a7%Kd9 z(2N6E>EXkN;h(Y7Y&A6KnV5dHb&ojYhL(9+=ktgWG~ocY@ki+_Y`3-7UCFJK^8;`^_rj|4nkn<$tq7^P_#870MU zI$4PbMbNf76b&^l|BgXTbp_ke7#2mu#YHV6BiWQ!xuAOz{2b9jP-$)_g&|&vKsa{L zOAG@70P~-B`HiQGi{}k41kgC&kW?|iTooL|Wmm>RSx{WMr)xYbDemuaUevqVwh5O*q`R015Kcp!e@*`GgK%vX3H+ z^Ee@c?8q@>B;b)SXtA=gyK-{`m*#byg#safPUr7;9)POCt^W+u*WHi_-$-wWcsv<& zgfR^8KkrM3!?Lq|h-%u~dVJPvdmlpz(d3%r=?JLNYHCmiPntZE$OHx#Lf5tFsHv-s zKi?-Z>WMz_MIDFowfpaJ%JaGqVnRRp;6^9JoE)@ySbM*NhyM?1yk97D*mOlvmD$k? zm_E1b`iDJEfY$`p0%f!+G4n9w;2Z^Hk|_`q+~7245B4?{Gv7$d%l~H;4n(nKw{uu28MIs7!EuC7<= zVidR_3JQ!tK?$JcN+j>ySp8i;!)b%A5A>AuLIxMUz3c0U4!JxJWnuMAnsqU2Yi)M~ zLc-`2y427BC)<w zznxaA=HJ!T(|6cNKnncw1w1KP7m>txL}js*Qoo7S^Xcf!Wo7Bou&_8bUw3|AAGXp0 zns2q48FI{a$;wwQGk@)d-g_fRMAn9eQ3(kb;LVUOl#6tA;^KlfG3fx(FHQbI6+*+E%D%M ztm;~Iq1qQ9DwUMnhUT?+9o`hD2jvZx^)-O~;Tile*ghWyrU0OLFY1 zx8X~d-Qau(FplV|PsS zAT$S1A=f83_2@Hy!F)S8#g~(t>lbK7G|GLf&6>$OUpd4Xb=aEG<(`xSoG12P(sBRYk=Z)kQojyNAdQ zM!@C>S)r!VP9UCgKf|@tU!0cGF=(Mm{Q8xetwo38!;FyAe*uH8uDs7_(bnz|8@$tq z|I+hyVEIb{Uih^6K`6NZ#KvW&Qfh%uNJ#|yA41-J12#O4H*cz=O^$?7raC}WzS|?1 z>N;>JCUrGJf`4j1pk3$aL|q7})RUSBs1FMOQ6$RqS{4W2KzzxHzHt2fZSjHceYA@7?VuwWB|^4n8nD15a95GtuGD9*jLw zn_?1Pj?5Il;@iP1o1R`=9)C5b5+y=LOq`KUTUcmG{`j%`{-7&k?J!%|$~DJ%@AP(o zmfc$#5`+%2M;pipTJKxHUTWoRq>ty-rI*<&7g+;e4t93Sd1NRrghVPRC{y0|V4IZG z<4MHWg{M+TLS@{^Y)kxD6`X=RE z9vp;h?(CrHU@RZJBmAgk{>_IL41sYTJ@U3NGc^Tx`lIPCAQPmdq$key1`lLY^YT{v z5}r`(ePsC@rxs~T#s1E-p{&eGL{yaG$rIP4>sZfwd!dP746W>PuC`{Q7D`?WR0%|F z9jx+>{tT*T-L^+#8x#(c(@yWTwOuARd0-0?mwf{^BkqaTRx|&=rpc-!qz|?TgVl5$ z#YU3R!NK`*PHw@^IS@!SiMDb zL*BaJZu?=m6FM`~j||5B-#uFkMU+=*=;&5aj;K8b#~7GMME}<2?^-)n)_V!-Y7ehjh9FpCO!4Fvo31vBj zz6;u3ax*dx#g#tpG5mtU!s1iXJ!`kc09X6L{(*)DAKv1K+GGVaChyCak(W;;7#R`Z z+@-a2pPtIb?b+rklQ*dexYxx9Wh$&Hh;VmVgeOJVZNQjyD1U1uJx(z*ETlX^nU8%ojohIl9biRC}m*4-*Dq1 zF4ISV2jUfulKFS`RclD&yicD7M~V_?14=j-rb-Du&61MD#H2GPC&Bphv;O78&=8;)7Zc72unJ0zKj>5?156)(RYYs@Sp?e_?UFk*QcSSy?v2Lmys!-i?5KBByM_W zXk<>Ph)M%FV&O#n$JvP|0QU0i%PS< z*xOSFmG~F!CQXIH1<8o|pvYAY21VN1wIzljKb!5yElyy>WQjatWM&pBa2N&hsg5l@ zUAsLnut87*idn+VSb&S)ePJVA*8m{~RfVwY>&MMLK1E>#fwqH(uTsLoV$cswOc=tV zqoFE6Ppzmq9ekd^2TxvM2vBz* zZ~B86S4O768gBpu9p`^zn`z?{EFB-;cUg6_ z_3e7zg9l!3@IT#L@0tHA+YL>;SN07A^&%omBaYgQ{fNy>w6sla^?@lVCv(>HgIQ(e z%#M!sM>~4jFr&Wc-`&+-mnUK)OPE72Gi!vo#~G4?tliSn<<2kmC>a??=GewYcMdsT zr4$q-gJy&>U|Jw!pl#&u-^*SmDjuGpKS$kZ8AMt%o^GE^O?A||Dl_j9+y~<=J9G07 zYDR2$cu0I#(h^9pmLb~({_qj>N%=Z*0#4|DnI`Lh&~69oY15HCDZy~~P9UN77gI}qwBz1W+J*~K!&!69IOB(I(>it;AxZ92Zjdj)Cp_sBm!D7+4TYZ`|2 z!1Qq~h_-Jc#4#v!5x1-u_Gt%E+j{L9?v2u%Jjt_y+`a z5WYTVXNT(*_`Mrwg|Gb(sd!Ip(C1GT-oICR{~r8}Q9eM}3GOr=*9)w5(kE&^o{~j} z`TNs63cqWA=5bAIYH+g|5x#of(%;-%43sM90;S$_%b#4Gl9Q5Y9c6ArPzZk0m~paR z_Wzc6-Egu+qW76KSXI_Gd1Zh9c@M0ddZW#2MN5;`7=9o*THn8^k*!*aL5wfcA@msYmcjdHv8yegpyZ}<7 z_B+sY%urE3y?m*Ieby8^k-fOHv#J2`=#nxnU%!9nwP;1KyqD!@X*u^j8N+cW$H3Wn zw@XnnP)H8ROZa=hW?Gu}X{m2)>^;r5%*@ggN$%`)-JkPxV8`$1I2)($e3hTj4@@g> z?^@OIk*{N_Y6>2wiO;yX3F|zM#KFIuv=9PF>X3jL(UzPwJcN2^)iUPhX(s;Qx~@<8K7yQQRTLaIpiXTYAoDg%e# z=iL1_g|s9t8$5#F4GZ_#2?!X;X8tH{r{&seNnJG+K0Ig(#AXvf@>=d zoDD|A=jVkE`I=NzI`_9hc`YMDjXOz1ngFsA>|Ib$4m?fU@s7f0Z!Mq@|Bfw&H|$z&#~Co{XaLCkqz(;To7O zhA;%k+mv4APvXr$H?)pb7FTTyRcPAZSYK~2w@}fUyT1K;QYaVAFW_BinbKU7 z#KF-LX<=ewA|u@^E!mwMt_sq2UZL6y$8+zZFm6&(YP60^77aDPEu9=ILNb4*Qlb`E zecF6!v3uu2ZRV&>GQIVRN3}2d%j3f*2(zw+Z#Ih!4g*u8;7spY+#2+3zv68O2#`HH zb-G_W_&4a`6Qpw6#nw=hao{-pe0ng<;Z4f@yg9IxXM4I!RzhNUaInVxrlzK*ojxQc zz<=NCm;FkKz!a+Q&*pHrt%2E5km@t4^zhA_Zv_@FZ=*ol`Yo@QYF@=NK~GAGFRztg zN$vFXw5ulxgoHl?D1R3U4dI*~V|I$O6_scqHD+WFLEA1s?}Te1gW| z($S6!a3YGHhsM_&PaJ|Na+e%gz1M?R6?NyI7JFha=eO8e62^O0PfbndYHA-r;1(D{ zG}$0FZ2!g%p$uDTS1_V(qt-t>Oq0^aRd_@;_*GIe$J{*F$?1;RccbOv3aktuY{2I5 zs=Rzf_hA9?0Pcr`;sEX{q3)i*>suy)n}5Gsx2uVKl9Qi3Uw`oY4AMG{pGMDPHP|tc zo?lg=^o+J1sk-t=~=E^Y;MG`WShFf08X`k}M_tE|!iOk4QvN>m$@vr9^_ z(9q1XS966aNA#F+xz2S~vK|zjH23N0>RNS4om`%Tj&5a?Hh>$%s&B9~4EtV6)h(^K z`44CzC2FlN#4TJi$(t@|qod9vVf2P(WXg51A zPeqYyrYykeqPH-f`d4}=Kh)9(K+nK2-lLnt6D=XH-XUZPJt&T!( z?=&wucJ?6v)sBxTh5TN5X*5R=VFqlY(XF1xUNb&tcZYzft`6)!cLmbL*Ld26Uqf@m zbF#a7RlI~t=_q4Uek>ar`82c4ZuVn1`P>*BOnarjBJ496{hLx#W3FZzTos#K#WUw! z5R;ZerzI~h$o&QpQLV!Dn%MfT*$15W{P&lE<}2)>gC$9V7inyMOx=IV_~)00Oi)0; z16N<6;2qCA@nYArUB$O=Z@(#I*wV1=UGbwffe$HJ3=X-)kD;M(inX8+FX7|Gg@uBU zXLZJ=gEPUYsgztb$KnV66NO)6SHmGH2WU&Q4?ORANk{I@<$_|LEnx~cV4(W>_RW># z@nh+MeeFYU;05S`BAsJc@I^4n%d}sLSY6HYGPz>Retv#rDRoE3#~wR&9_|>&mr8>_ zMKKP^wZ+70%FA!Q_3NQr*!CEjCR}*i5?%fBOK#!-FBq-V6J2H=G#_Y z$63gG>s%Z&&R!l!x!)#bV*Xfj3wWT5Ior4fp>CJgKD3;iH`m6jOa?qWJPh=WI&yoR zpK`>I5gBQ+jLg&Ami=21$yx^3HfOcQe=n;P4G2d+&3u>-!Z)3U8qU-5Mi1S%Z&B|R zxsbSPwh?}6)$(Lq{H14RUO1qZ0}HCkJ@Te_t;yt-rY1@{y0_Z1XQ0y)Y#=+*fPT%Z zy*;|-pK&^M`_?#TSokAQ?_oRPCu8yKZJz_0cC`6=faQPyGB(2njEX<+U+d z*W@0ge$w?*n>ju{mXu1uC0gTR7XThY1y%R-sE?KFAwZDb^UHUApELxUi7aP1KB#b# zlD&?*y?QjS2F6!zbF&7J2@eF$BDDhDVq|>?g+nukgoXtlhLMRnDpm`u`3iX5)n}Yo zS&P@&?bd$&TyU7R;ppA(gDlT#K2dlIOp`C$? z%L(4PGrVXhZZWnBN=nk)7KW_M%;0qt{)6D~=3^URM&ppI@Z73A{J~!>ef(K zM~H#~WGVZ%E=GpSNTDRhd=r!^6{?$?n)EcSf0~4Kz8xYcjt|U5hlis=V)W7KNl^=( zkC)fwGNX~l-Thxup{tP2`_ki~jGANk-J`*wAy*-F9gbo3ejnItef+#L(ct#W+k5>k zRJ24I!dxMCE_p*64QpFTIr@5?^a1HI$L8bG3BUOG#rdatgYSucy0*2g$dS1Ldz$K( zru&RVs)wSyf25xYQ)2J)_F@AY_|_SjD+30}plP+N6Ood92EWs9D(7(W8BKM@R#$yh2lf9!_F<_$}njakCe;;!5;^Wm* zgw8hh?hepx9UUjyFA4VBMn|O~mIV<>KQl7Hx8|a=)BmV6wmFgB}AD^_o zy&WD-5HHKZ`CPuT>`N0lqM9!ZzQ93OpAo3M4*WO%a=)F)(EiF|rkju=1tHfZ?)g`T z=$O78G*nd2)3EUHYsP|0e#9s5UL(jLBJ!u4-En@T<=W{x=452a=YCnr*_d~=?^T;I z=B1>Q#Km>e6d_E7hDG+zAU84%1LW(21<~`rW{hltn$rm;0))7DcsJuezCL9VWwy0#^tgy9 z_~~?S+MDQ$SD@Tz`41!(k0*Z!{M2cL(F%miV+drle0+wxj^dL719(RpM{o` zJC&Q_9YOmXs9aLO+S=5l`}y-yja^ykgqxvZSy7R+oDQs#UHd}M?5XE$8sPT__c0b+ z6$faSB*3RBDap0&z6iMn=}q!#%LUpzH<)ZS^sfCDy)^=G*7F6Zxv0ZmO;uV(MJ*TR znn_A@DZh_+LQbwNDEUBMIokPPy0Wm)gOKyJm+J7)>tfAU`jdl$hku8zu2JmNCdGnr z9qy6?>+06ekN#{ZYHB{hCnmzj{~8dG{qtb%*ElF|l?eIW>|OWEcQ-eO#%k16Re{5L z>(ZJ6!n9w{aDn*s+?dyJ5>egM!{aW-F?4%-@$*#l3BMGa4Ddi5@l}Qqs{hMe;x_J} z22q(~Q)iX+OmE}{G%**UMo;PXHY5IuhBDzmeG$qdF%gkf7%*PE_*+rIs-zTmMD#bt$*ZmH7#>JxmvC)M za_PI#h!~Z9#SRB#a>c^Sw z5qtfbilItML{mrEzOY$B49@LDnK51T{68>(-kWQ@8rvBO)XCVjK>n!8!=svs846u- z@5i|qHl%C8w;ucD$wfCOTe=zvG1;b;@Lf*#_z;kBt-#3#7Z(v8m8z9S+(7j=iDE1K9* z%_ohSKwW&NruNC(Z+?x)X?@Tg=|)3L%t)isqRMSe8ZtA{IzAK&!Sw{^RAGvNzMI?K z&kUd_gubP_`ycf?nuC412LsDXM&( z(~m1s?=zyKu_za|x0yK~qhUC&9vF-}J3C`j5MJG=P(A>y%Em@@t-W=VdT5aI(D1PK zhY!u&-IUaB=y-T!JW);DXoS3VJYh}<0oxAFnyGI!j>*sV$Lfk@yz3pSm<2%BP&3AH1?wDqc zaIjQs{`?Vzn;d^k`%z!t*irRxZ6E;B-C|=QhmmD-6Af}+;hD)`NJvZLIoGTpkN&0V?2HU{k<35dBLV=tvit_ZNlnVeC!zwbuvw))l}JcDn5{d& zoKTZz?zrdM8Ows`%!Ywczp(Ku5RZi7Fcji$h{=*#`s!I;RvHqrDc*iBE0fn1-ezUB z2Lr#ey+7u8I{)}$_a=%>FLdIdu$p~}=buJuG{(;|>)b!G4Vfg|wLnOvj|i6`P>%@p z(0Kn|+2c;v-5m@A$H`~&Cnv?|Wf|@TF4xQPaAE}S`7w}b`6&8!m&RIyE1aprnP*1( zm|gD+;3UWNeSU3WGLY>l^>FHFSwGt{H7n1s>|6}!W)RS(EG0#c8}R1!YY4qSxEm}V_+5{es>?>nV#4OXu@@s3m6qNkn(S0H`%VU$ z7U-gZ*#Lpa(=*pdh-tO8j|x~RU>NuEBO}IfxM`Pw9PGGgw2v%RH-`s1`&MUYmD3T6 zo8P}1f)GECHX zoAFH)K0Y&1QCnMEJ~FaVzCE-^atw}(33`DW>J%Z`&BUsTSTTh68Hh_^Kmrcm#23;^lPDw@5To@4a0--?pMl~ z)5qUhV;Y~Wd^31W=OKe~Z4H;Jgu@pa%)kocn!qhPWW-l`MbRyK3Q7c^(|g0tK3mK( zG?Wc4dKLw@{QMfbGeSbYMCTXvE%i;j%dxzeu`G5g30ZCD&pd1SAr}6*cX+2e{1$%L zS@%kRhVs2?eKJ^5@<~#X13Y8_9|I5v+88pW<|SQ?WUmoZz|{|PfFe8d=> z^z{klorOGVow`_PX!=LnLgV6OuO@!VB*el*o#{b1e~Z23DI1v`#5ms%G$A>W7|>VW z)_e9c4Mqlrge2A3a+?R(a>&}{ ziHY~0J|zc=c-4E6=(o(UQ39kgMw4+3105aLVmBXqw^mLd@&Te(?{fQ1T3Q-bz;>gn zm|seYZMebjV6mtEp?B!ZCd}=9#~a(*V}GBoElh%&p{~9&2rQeX*7PJL`;(>y!2VBI zRJ0lgh4tC9vl|?g-oQaQ*;0+{@g61~rriDJKT=I4hoR|rk`vo?ApiccB z$OLxD$|IA4&aPl$#LCM{pv;fV!Dc?$4IX7fV`F+>Hh@@kxJV?d)OHLg!moGf#`wor z{%KyfeJ5MvdU|?lnxm1?gvg|(rsL2xM1((*V~;RkJ-_t*I&5sbnlc!kauR@jyOU(7XJ)QLc9h}a_KL<;P3Eb=> zL-{C@jL&LJ!b7#y)wPtA?r3KXGWh=etJAKHzHa^_5&Z#z#@|wg9cjSU;%P1)o3N=) zeM7DFQlf7oe4ZEFWz{v8S|CKJuZuDM zmbJKe(KS&Y@7D>uOGoB+UI!P^jz=9! z%m>ytyB2StY>RgiO-RPHmrBdra03whr_^pV@sr10>WP6IO-UnIG{W!VklvHaX>xkD zfA)CXdWlWo>sbCTTZbbwZ6YAbsHk8gArS}&*eNP9L7@ES&m$4|KN1s{uTf4oGxr2t zEV|lH&pLEL)YLCKn>yi;cY8h^p`&XeZZ+Nf^=dUY41Di^=gFx>qW|98TOZ1js0dj{ zPJ7#msJw1sP!J9~`z@yl1$i>dT*D83_vPk}4pZPrYaCJq7(qYa_0>gXB-_}82o?Da zN#ck2T5B|~JY~=E!`1~Bq(A@G*Z&@j?n2`VTC-b(Q#1Dl$EB5-12Y~)utC5Iq1B+l z$a)+m%%!CG;DI2mQ9$;brn|T;@ix>~R_-kzodMH! zAjToOXhKpl0u%FZQ+7$!qNlGf9etymn3%IjJP>p^6%$xACNh+}xrFF*+}N^lasNIh zA+dJeB)jY~4QUglx_bOreRV~8AW7xSnQU?Un0&eq)Zd!E=3++XM=Y0Q#&9COntSr}IN+*~K zQh7DCgcg^UnosM9^&gl=PESW9RAQ>kO}_1@iX|43mFfFRfbAs><~R8*df_Y@s^H^P zYro^+{yQPJF(IL_IN;Rxp>!i%h5I!JFE5J!_tg0UBRj%NR7v}aLePJErQKtzPD>+P z?}q)+@`@PLd^w>Mwu597Sq+3Wn~)U=@y^~(hN2pmUF=ntUu{3=`5a0{h7_OhmU+ZG z$&$%d{I0U0Uwb=|OeD&j@~UxsNJ;gF3DdK*k)ffROs+=CFb@*^sG(`gbgWbD8fU-J zzlP0(wwzNF6JONTB^eoi>L{L`Qq9#pIB>cHbi=+n35An0DLDTDPIa--3z#iovuYBf zWNLact#XS<`;?|N={OUdsZcJCz)O~f#uenC@eQhouC9Vplg@7YZv3~7u1_96?%vG# z?=xvK1CE@Vl@%F*t7)`02~G$scDOGzrKP3UOvZKFL@67GXM)#v-_p?<{hNr_*H3eC zLdne%S5Y406RfZMJoV-!3Ouz$L?9D=*(4O=PaGPC!^Y37CaJCqoQ&k;oJNoNj*@l} zO({p-B@Edxa6X<-ra zAYgQ~7c9oQCCx4`F9Gfx`7aaK*`>y%zD}gO$L#2+Te}f`abfbXcBB+DJJ$?#SIfpm zR$iBxo}Le<^C0CM#h#b1zN5W)qRdnlA>Aw|;c6C~igu6J|(BXH|v#iP4|yYQP&_36%<`v%FErJ4~%`oMz} zaG+ZuI8{>WKMALU$x8am<-rnqU*8Ts{@p`uT54(_=Am+Tudm0O7F;iEJaX*b&#Jlf zr~t2G%JcJcSHX$K z8$Be9mROL@z%`fc?}H_F(b&^4iGW}kGqWw&nC$NDS$_Puvm=Iz+J2o37S$%`>6j0L zu`#6h^B7952gXNFsEdB~v2AV7)`Os#^jhF40s%o=u8P+`b(K|{sFoIv9Rt7CHz&Vo z9=8AL*Voq%VhQ~bqryRkK~BsHE`dvuuR_w&szP@4DE0;#EzB(}r2GfGcbt+1di=2Y z;pGWU3A?I)to(2ppC-;y1iNd;=j5T6w3mNpG9df8gmQ*PXH+=#z&Wq96iC@XbP~3R zi-iCwl<0*Apye$GjlUdd8TOO^YpezCERjXk)cW@H!Natvz1?whc}I<+xTJ)Yn)+_q zsl1?Ix89|?V>}cF3s6qla@})CX-@Ks+4E3N`k)lKxv^VX&Y2|3nj%Dh&q0VOS65aO2?+}w1G5=fbuf{jAvUc!`k!j#VGzfDdV2-chXNC#GV?7u8n z*`G50$1AY0wRI5{?U`{gS;Er}L3sk57l<$s90DX9mKPVFbB=>31KRBPHfwODhx!5C zQNjs7A*+QwA)znhES_kpYCkF9Jlqv@kK@rmtw^vu(A7=cQsXB~mk#44H#Z9p4=9Lc zIR72|?V1V-dJ)NrTm8h}-?iA~Yzz)xLxW(?7QKf6pS(GEL2YjO3he;T$!hQRVkbsX==IT2&%b{_2p{XGT_gklJ@|U&aZ=mXH;N{?dCYO3OFS^3AtHM60giOP#8-{` z$R&k^cc&~SP~|a*xZ3IYuLD47N{?mv{rfY`84K2d$QrBL*V@_=mX<;SH|no0ZWZR^Hc+Zm#{Yrybk}lJd+7iEYt2y7<8&xeY2|qz6CKsNf4X7})uK`(`y9rNYXGPZ$mC z8i4(G=LUXRseS>yPtShPY(0jZ?TL!QkKsX{=h=##eReON9;_huq~>D07WX$XKPH~0 zax7u!zGGY3YA#>*;NyeP z%Eq==>wSG;GT=%llaiz*E-o$)s!jl5IWcC8Z22I_wP(K$%=f*1Z6CHc4C{Cm0X9E2 zUU^;fD6ym}cK7Sm?tNt3`wRQ~>yWFJ%-fJ~oR&1GK&&X)G!Zd`k56-y9(9jp=WAD& znpG?|eh;l@jKe#_s2-od$1qd6^)V1nfvqIg6!NkT>U4;gG3=?4*4_(y=H``E6c&Qg zgPrzb>h}iH*C%lAkWnW`2IcQ%vQQ2thljWS`QuTYqynrb*i{*?@i%{ zTy^n$^s5cmH_3K)cJPQsV!{Q}Gd?v0Dw1g9bqZm;JR=0MKP-ppuhtCo-&0e2VEPC_k?$ap z<^P`!uns<KS-(%IO>C3RD|w_94w4wNj|&nYN`bG@vb zYp`7%lUai`XydNzyGmsR1r91IMgakbi$r|f$+?jc+l|FvYXi4y5_vHyMTM4c3=BZU zZDp;Hp5-sApzsO}O+!nIla3D6DyCyrUR}t&+>EH>0%P;z$E@Y$HwM4rAQ%t{$>93t z7Yuva^_bf0ieb@&(lULYKYsL*!T-L3OZpcU2uZPjw2tq2g@GBf6)mS%tA#tb zKuf&Tzq9t?@ACZYBhpB1Wo2rHDh&7zpVI%MYtC(b(m+J|1+VNI35idZYXtKYeZ9T+ z`17HQf$a8I4xd}v+8XZWspPw1C;9NC2jUCU($f=HpT>?Un3xc-0Y%iVeT0*et@4A2 zw}*L8h72>1lL4IsatexwW0yEJ2M6rpoS}vQ7PU89ilX@hmUipwQQ_eVl#$?{&!%Ys zY&R+#amuVlV{J9HnCR1;qLvFz6D8~?s$nPypmU)RthrD69Bv>)*WQ_6@?$A0qv{I! zx!X|Dw0@02DS3u~6&bzyL%^lN?M~Zi?^aB2;ci>R!J!dWf^JA+^YVyO3KvDtF&NRA%&kVbrEeXTBsy|`2B$0-oDxPU>Z za#Cqwq@kSYanSPT-@gpFLZNOCvE@pt^g%n1_Kovw%E9A~0o)NnLRg`gea@eO=V*Ip z_IKu5MWqA4I2Yq~LJ+wNTVPM>+kacLU(gkmm4OH{ITJil7I1N+hd+c7Ep>x}v*B+f-fTyufLe8Mkf+My&VqHf z?`;e@gkL;mcuq(_z#=G!l(+je*s^Jk4FV07dTu@ zgf$Tnctme{uGPQXv@_1jgjh;QbS*4Qq9?H9_n?5-g@yMS%ZnGuzP@$8ekB0=@SwXp!o%&Pv%5PrgLUhS9ev#our5YMh0mX< zpHu17VfjU3HB`*_phyG5L5GP{Q4Og1HbN8xU#mu?jArsfRW*u@h*Jx z=G% z{_%;}p#P?kt17Q4bc@%zE^ptG%YT%WwU_L^3mgWaMpRs!&{IR~58brODUO&J|FVk0 z#x^)}>guMeEafcWwJnKcb|Yn50XP9Uu6nu;)k4kQ%R|w(mIQKd14dtl)0Ww zO|fv?fe`WXv%a0Hv(siP3(Jmryo%>102+cUU9Y&Ke0}w|SJJ=UBtTpPbfg)b%Y6wr zd{g61aspPmY`_`jsK#n&SSVn1udvTxW2I&?#*`}WQ57fvyyU`(td0|#7229=?=}>14MMeM1tg*6gCz|E8dGo)Lu7V+} ztXoS7h?Ib!NGaVC(kX~^mq?eCv~&v6p@h;M(%sVCf|N8!cQ@QM-$;4Fnc6uWN`;$JLf&Ss!ra`#qK`jV8Bd+OtuGfn#1!_U zgft(zUIsUF@MK#dP(E>Qwh9g~#ZZx2*JOSLw&J0bU%K_N?nfq%5k>ipjeCT$_zP@E zC!L%M26t!sFdOsoen5BVRf8A5=VxzWwFk+`x5=a;&3_9&O;ys1dX3_u=I(xS0h z`{p$@WzHw0q>%ZFch87Z4>299^sv8#`ap)~vxQ|BAB;MhZxK zj0Yv%pmt43$$Kamg@CO$o$-cyV{jZ$P&yF5OH0Myo!k1C8jVNjA~q?{3xgixZY!@_ zN`kqxWEe@>!L0aU&GN>UHUz;Vcur?-qPTZeRPY1b=QM}Cu|7Umd(+V51=j=K`B#uT zAbuv!EG_rA0YwqMl?- z(0fNq=zYT{;QCObUpB@<{ozLFPSYu*6%32|Og zR{Qe2G#~U*u$~gXDu4+1OU|tPEeRv*rs}gCsAc(#dIoU{OM7H1=l@8Un6gqAm?;*u z`|K;(y0^VW&~FhDeLxJ<+3rX9pse*C)_i5YytzfZw--+ai4O)G>+=f?^QMpP7n>j7 zzMb)_J#Chh9ddS(xuRF_Z=$CXexpXqV879J39dzZn-WNZmbqjgoQMSq-NJ(S^78(% z0~04F_A~w(>ych$Zh$L3Qxg4UcqYrl3IXI#dv_?SebpFB+MkfgG z7%w(`h!yT(Gmq)BuB;l9#6iW(eCpio8y%f!HT_B^sk|+U!5|&#*N7My9Z*o9Lp{Hx z3bo@f<#T*IB8u@qhxF5ZC1JH^2na%Rn!VjQEW*rVdT>j zI%>L2kF&E@)zrDdncgD$7+hd~O-%IIT4jIsY#YF0J-grO7t}h<`lSK_zaV%a2XhZp3kd4i z8ow6uqeknOyNY~^M^$<^%JtiL_jz1Z9=+nHjlFvg*Hir`D^iRIAW#{-y z7}Xaz9!yLmF#5xh(XHvXbjbfXW$V?n?tWiaGdN zHE(fpmY%wsaV9^ar!pFE{`tZyGcBzHWS6X^NQgU&aL&YF#u!X-Q&3XkVPgZ#{g|iU zjMt5a&+YCnOoO}fV&((&xU6B-%{w{H8BT-KuRwFLopZSW+i zal`KNt8~qlhYXhASzYGlYynuwQ#H0EkESAokD&oBAui>|Z{HpeBYpiU3Gde$%LlXv zcCEo*giGH)Wh~-$zxZ~L<9|sWNzgJ~od%TrC^{kQAjEnD6_J@I90R?704di-u?GjY|PD{($Pt#XNJALPHy3SFtF|<^dY7 zdeq(9+SZm5WpA&h_8U*)=*iCd9@*H~*wx_GBEA`{vIG4QEMld=-*tCqS2B-HbEWwE z)#!->P|1vM*jLf$MRxj|>rtSwJodLpoT2emRSS!p*l~)7G8OrcvEUQn?#|b83LiTZ zOg4}V@WDXQBBHCL+~m@Pp;d0;uqJofw5z13m=L47zDLMJ+x~F6N*hs|+YOb6I4_zyuIkCaagztF9jx%n^igMZW2OTQKI!Cbz;BK3A3 z4mcsypj_}cFM{z6R1>-n6XGPAKgXJX=+dea#)M6T+(Z2Q*=_JNlI=o zJ3AZLONbNLV8POb>?JJ;^S{$5^j7-%E^=}QZK%5uq{KIlbw;M9T!=o`$5T)Kcb?rL zW!u1dZEQBodDG}1hl9(SduyFOH=m5?D*mgYp5t1_tlJtjV-S{40siEargxu)fN z86l$&8DUNKTsu92rK=?Uzds#SuV}8)^(7mdxlsY9nJ;wmOjjp^V&VGAo~#&|$|*GO1l_j=hK5KhARc(> zxHM7xd1Ul3D$1UlhwJt0$7LL$%)BQj0}EaY`~F`#U*L56bNkiT&nM63fn4893Ww}2 zCP8{?`fBt%wxMAU5Lb|QNPw^kJMxVx0iL@0ymq40mz-U0z9wm@UV5g&cQ zC0=-sV*xxItX1CVHNFCPtK4)~O7dx7$i@JNJnZY}w!eT1-FE`j#W{s%&aYov3qGTO zM<^-V8)aewgr|Qa`WR}H9ov5&U@|Zu*~}^_!`;;jNqAmwkVM3vU-=}x751JO9+r7s z9-EMWWGN{>RB!0`m@+U}##k@2cZflm|M`7OqsZ-I)H?gCj{hIb!DSE^w?Qq7RJQ_) zxcn3P{GUDHRy~8vz!|i}mFJ;i@A{wO8F9X>dU$xf3fJ9JA|gyb`%&sus4;)@CjN84 z=^$;{R(uLxQiPe7gCm8vbZ|%rrt6u6&@{RkbR#kr^Lz=Qk&-&hw|I809Pvf?u@4Gi z-|#RC_&4(NiBGqu!XqL+`}?~rroWMvMnysCiBB1goNvUOt&Ru?4t_?I_kQM?FkjP3 zG<3$4lneu+`*E&6K1%ta5^Thea25c#ewwH0Kh=t(k;;l+eLQ2L zFh7MJy4rvDUx_$y0*)A*ose)TpL}VJ@|>l30dAJn@A5MC|9FuPhn7}1_jYc6W@SOC zTiCZp4t4tY`1p?>yTYe=$`~!w5I>qzPTs?NgJ1vETM*miG=kVvynoAZwpUxI$!>0GXXzeN_6>JE@_T57o`tt?_PyMRX|6Pg_p07Y z>}(cBJ>3d8TQpd5Yql~1dL7dE5DacaRyK{-2D4enA2t?vLu z8WQOKvdRq@(a58}e<5o@bn#a`2M1Q`eFPsFDRJ?_>`r4#OGfLI05P#6oT&#Ibv_8C zpa6grhH!Z%xUdBTZopUr_BCT{v|`<%{Ru@OoNjZRK6v-oMlisJAWKtP8wYJ2{y(RJ z0Oc+(4+g`{D@zThg;ao;7x*93(d4Y3ms+sAFS4FKo!=C#cTxE>h7AG>L&MQ#V+GYH zCB?5_tPl||k_cJm0s^Rh9eKja1KK+pf5fg8v&9we`(SP+=@DPuGUWsVPK81qWa6Oe@S|Z*BWPK#OTT8C? zmljSnwI1%9=U5IgrKnYKZGtgfK_QYTS+KXGxUGV`+8u&`kg7)fxRh>N#-a zQ2wK?6ns~g^@5a?86BOX#6#o`@@d*yTlry5`VtljQuFbmN!#r2R;0AF!hL=J9R5}A%29_>-f9>H&;9(` zlU`NS*&b#7Aew&`0t;Inz;iW9MHd(Nx%n8jD&h*7ns$~p{56C!b=Gg*%sDLay(Z89 z2AEb(*2*R^?QLH4y(GNY=0p!mtM<-Lw>v=yg@uH&eAv!@S1MjO>H%n9l zfZX1k&>Dsqx8`GN4kR1P$-P{sz{Txpj&1Mg=xk|u^k^P4H*&Q5HLBQ1t#J- zeVOjs5>=S4L>4urJ12W3$|+RObQegUpIYS>4&-P4oA8p_Ur$4&oeoR*f>(uWZeI*J&fb<~1KAR4IM5zW5#rQSh5v5Wje#9Q=U6J3KuDDIYfm0s)*; zn*EIQ^;0vn+y+MUM8AB=iGfygTKWQ&iAWMH_{Le&aGj}offtVf)JGV+H~3=onvvai7=G>xKs3jOWTH#{_G} z{4Mb*<*g9a3i^|^|Frck-J7_5V4@P3LGpI|>8`RloOajxDLPtZu3>Qo^rXLkR{{=< ztC-xxZ2ZyihMtOQZ4ECu2x>eL@=ujNi0aHa(bFH^-Xhr43WeXj!TFmJsY(?qB2wC%#_@`Wn&obp%0N{W`l7HDDnT^t>S_+xW5{<7 zfQ7O*66Wf+(o@Mj5C41>$_fgW($`Nz#UkrIl8<7cp`yt--;Q$=zWB7WRO2e^_4npg zNPN6+eEc)wE3Z{sSYydlUzL_~tpGqxjQMX~ME>j&6v`k&I7((`jV>f}`{ZzZO|(MZ z?zr3VwBc{$*o#S|^h2%^?-jaFp^D-&XwH_j~k$_c(pZ~hDl17v8bS%F) zvpsQj^%E9WEFNzFghef^_!iKYBFoLGhR~d1nSkfy`1m3C6y}?}s=urvxVq*|k<>#` zh3psy`7i>v{gIm*z_dmN>74u?4&fKxAsIPt8Tt8F-@ZQHSJ1cj5xxxug0FCZfjkyO zrQlcby#0jtXnpfNDx#Uo4P}E`Btg4_L>qt(x4W}zG~ufq9R%PfblL?3#NFx*I~@(g z0b{!U0Xx-EQFL0GE_gSE+#SqzHNjX94^={}(Hj#5F^*bAKZ+A%?>{sUm7N*e z1HP5j#Qo$1-}T?hf1sUF8gV!Kc>&Z9h-~*oMbr}hGv9zWgGBXfgG<|mU-vDx0KTzFQ3v?J0K8OF9Rs9SMpCj)IH$d}^&Y;5P8mIOk)_2J@}R@p zx0Y^h*!1*L@7`g7eq;%sHt(& zPTFR-{iTScT4UK`^!X1>1u6n2W9`!6gj+kFL%TJY@hB;g110wXXYli@fvUF6EiEjv z$5HAyn$_W-DC9tn*48o?^6i@?si_6R7$jFMtjuEZTPpq*u%Ti>`&Uf<^(Or}Z+Xab zM4tlwp^?dTMNdy228LN!2S}5hz*v%#vIh*Vh>tCc?j-}ABrlH^@_Cn39~vpo^HSl* z#>&bG%TYia$0V|;%vDF2>KqmnTT?%OE=(Q?tAAx>SOC_}#HhL-(|yDX26(nG6aZ%d z>)yV(uv)oBXP4K>F&bzqH~04DYs``wZ$pt@LD;WvL_mP9s<9#P`nI;>qOI!St%#kF z_uV;i!wL$DTN|947~wr`aT4sBAQ`QK@c|*63rBAOCqjbUSC||UbqNRO$spbPr%2!A#inxeZkARYAwkK?feL6GMjkWhnV#|6peZ442o*_gJ-oRC(|~ zs;i@{u&_Kk8{ycBe5|~W9ZYLbW%%w5IWKQzVdV?RoB`prr7*wc%SbOA?W8Rbiobua z1!gBw!MZ?S-*;+iNSAB^0tDv|F)>s4+@LIo3=gkuUg%3g!V5vc*Q&DdadD(Nyxn<= zUiZ&u0Bz670izNcG&`LpjULrBycZKY1fWN7j|{=W!Bd_bglxKd)axnGoD4rdCubN` ztu4^PI|BUL?~x(_8->7_7=1?f|BhHQo|W0gdF)YAgcsj1q^VbI7Z?m`Z#Od%Nk>7t z%*N7d8(i=Edy_3X8XDB(C3rsTc(^MF!~iGgW%yiMB=UF=zI{P~yPI;q?dseeB6Hyg zqB2XPYpxhvv@cq{d-oA^^&mk4YLfZ=pC4U@fP1Gvou<|FoBVoH!lh?`wydmr=45DH z9laKRdp=L}T&U?Sxt}n33+nMdKzU*9Xg0e)_`$-$&C#(hWnuLS|c3Ii`h0QeIkAF>2zfvf>ap+O7}>(94u*Kov+-0rDQL;&H$!#xiA zETWJf+grpGjQyM$RAPWw&29;c_`Qr8)DJt{Fq@#N5*tHneJEX#0U@lt>>lWl9lWf>tCKi zmWYml0Yv#vbmB?B-M6sNd@G4An&o%>-$<37dhKk1hx-*&77qeyMQ?dZE1X!h)(r~` zv!|-8Uhwf@>`y|3nh#&!K)K5so|&e#*d%Qgt!W3K1%ZNi*0;QV-nn%`^Ko|o(l{C# z5*mI9-CX{=SVY2pVQ8f`eiwq9^5ciU*r}|Sq6}=GAnFQR7wPRK0$&^Cu)rcxXFBu> zvaV87_m_lkQ4|OliJH-5<%cTEJ(8l7-Fx0*I21iWPyQJs3y~;&>P{cb=)%HC2TEDN z`bN6zlb&AhgE}=bLW+;Se16<}UK~N@f~W``v#YZi_m#q}+?NT`)9F#BAN(VekT~1N z_`bC##9vkCR+U>KDsqcB!E7uqe+M$Y<70kj5Awc9*c_3drZ4%TUm!n@>6RbTcrmsu zf6dHTKTWP{Yjn|eedh@WB=%Iq%8KVn40SuXnUSDl4#_yk909iv;3k;5OoPF@!vV!3z~1d&(rZxbo~sOxMrud(2oU z=7SnTn1{xY9hgA5345%#xC4AP!QhLFW+WmqRp;mcy$)C6HK4J*v)`EW;}&$;T67`4 z-q|DT0M0U83jN+;K`!lWPFij8uU((~_lkzqkf6$jNf2XEo<>bm>G~MBQ^-T3E$IB|H4TkF_ zGefI>rlYK}@xL{>Zbf+tsnv8aPp8s3-C1lKoXg=%1(2V1bMrYg^v~R0E5u`UcfSSA zRM%;6h;((i2Q&`98oz1K3Fu#b_uLCH@Z~ueMV}ESP|$VU(Q&kNobaAMAbyU_h64V; zKYxtgd@q3DKbwU+gC)%V#*%F#ul{qEX{OVSa~9+X8+5AM79 zag)DPFRrngXTEp5v_w^@IW?pEsLz&-?QnUSZHI&zw%&wM*B%JOgNLNl5hnF)Qx?S{OI+TE^<7@CqtzZE2j*4Jm=*DJ`* zI$T=D_HnvVe``E!ls>PpaQQHcPg`4n?W&`o;KZ{**Y0z?wPcTTL9wp#%*jzjUHNXc)_MM&C z)zyZUmM3o|B_DfhG`gO=x-rvnI95hR96GIQIXhWe(rQNhd(B@S85#1`5l_;J7>P={VTh`e()L&i%46phsr&LVsB2sWJw| zL9>(pkY|W-ptM@RLseCEBZxs@rp@O;Nr7f9L`XCCp+5jXbwEYw+j*E$`0|!1dI1e< zs&LLgf2D?o+K`%-$z5_*$Wfc0-x`BD^WE{!`|FAEbp>T*Mv%Mz;ze6TP*-OoxL;p2 zq~1T(md5xy%k(gp@#$=>8Qxw1wrXGOZ-~~5jaKot9^?EsIk`~afM(Q)hl7K6$a=8N zGX_?d=3k}VxYKE*B+DFh$u@cm%Myz}t9KrD6=xW*&cb()tn4OD>Dl2p=iZ9ECX- z%}{+9@gY&+@AT~2qJF}Ow0TadvjT^Ta0;st@h2=7M#J+WmU};^vACw&BxH{lIR*r1k~# z{UEclUpnNW-;;$6qq@9_{CO*?JU5z=&(bzN@JwI7ZDKBWG0S;F2H?p&M#;rSHLM30 z7kf};QEg2KDOt!C&<=}=iu#$1UsCEc{>R~@VwAumtrD-0H!3RTo;p2Y32P?RJfn@K z=>3OuB;X}L@3Vl^Fc<>j<8O!qQGfIuaOmhPo?RPeW_6tQ1*@uaa&T6{UteZDe>(pi z*x9z>;qJcg)(89hU?EyOiUvz|=R$$Gv9b1t4@-+}tQCh#OTRPz`Cem#i}~ZONt09? zh_YgX{wt35wt>E7c`29m5|#bW$lD!kJanc}_s$Bq%&7;J-tOyt)Ip1^AZtSW^0((D z(fW)_TgLIR!({Y*cPEEGql7FEzP_cNb9`%TEGa6AsQ1Q)Dq!sya#^Zv!&PcsT}#gt z+HP)rJbQ>6d?d*zL+O+XooH8HSvkn&k)?pE|DBSks4;8ny?2%7JTG73A|QxpYI1UM zC44`NNzriv!+5nu6%~K_+{zLVNQzJ-%O*GrTi5AV`^MMKs7#K-OJU#u-5Zp*iiOm=_u^_4Mc`jK2Dt5I_k&4qs8I!&EOM zXV!<=#G!8+-OV8RJ2fN2){z}0nT_eh*uo+ps{AE3_VoLTE#0OM2HVcdbu0?b?DkBa zo`Zy%KFai20dD8R!~60vWmTskzl|j%dkUAor?ueR1KCR1Bp@u>bq;j9bX48}-z!s7 ziE@|QV=5|CQj4V}do&MsYQ2>fxNB>toaqfgwQ9UoWBPtZ`C5D<8%C`=mb@AkH} zVYxq|pg>?Hc$U~-;~{YRFDT#74^76@TGCcrN$Hd{h^eXe>fCMjLWuO)Gc~o?b7tB` zLB;TJ5l~lxvO;aV4kiH9SZxhw5~5(3Vr2UnXlt-W$2__g1t0Z5qPoDraKCRkB^4D! zKLmw1p}Y%=h-emEgEkN$IU`K0@KFK7{KAamo22(RXhyb&@)D;6>RM;y=hUo1aEaro zySi#4kW^%M64=>|jG9KnrOC=(Y^1NL`tF_obl2t9MClgSV3WsHke}ar(ejF9lt2y& znGg+tQ)ga25?)8E%I5JA5qq3%7+pF2MTLbA#Ri7BF8#8_H8e&Tt8ni;Q+LjD%w+dI zT6Z0vozZ}aKM36ySJ|HZX`s8t2PMmGcC!tVvNAq>c?2IuJ6hWAx_Y-J&zs<=#og$b zhaiHXq^y#AXKgEf<+n;8k9^5IL*86%D4)#oiNrlYS#lFopk0(~nK6AH%ieeY zm8D4$iL($E8JXA4J2hEM3|?MyT-?Te2`s=~N)o(<$pKtU)oLDVE&-CR=%Wdw+eVE; z7=Tc44ZH2Y{xCqgMZF@D&pb7-o*C##cB&g`u8{e(Pw#==3%saB!S zb~QB`KEH+R|5D$WHRemBMcON~7se5sSQFp0om&hnHq-@-XUL~Ic9FyEDcccZ!J-coOO;Abc1*RS!e-7}O&-Azhm z79iuL9{i%FTaAY9?%7Sc9Q$_gnPN}yI+kGZswy4JFShRNX~PCsKC-vB?qWOZjfBMP zY%37V-&t}N7xXrEcFs=9+XeZ|bM$sVL4pTBt-F~epJzYiO`Om!$p@2F)pEWVlNrLn zk3MW{2714FT~w9ZTK~R@h_WAWkZ!(edn%j-sFx67Uoh{d@QbU~PYlw3jPO8XlP0~VIMHeh$x$Yx<=R8^b`i9(G}AfB46Vg1;9dH#-+pAzMG zq~l`I;plmhcKv;?F*woV2Pa|CG1EL-$%bmf6XhLxuAfO~$SEj*m_ZV}uL5}kPCI#B z2@_;flX2M%ucXDrAyaHu&&z9T923vf`Zjnqwko|<>F2L$95nuCe8YNVt}b6N9uyhs zX;hJClK4cRVR?#5NN_UU1*3Y6z(2?gb}P+VyNl}rEf<$rgsj;pwcg&{hZxnxd3jvJ zO=+&}&b^{4Dw)x$lvsK1Lqlbf*h<60AFRhmkZ{8D>?%c?9T|}m6RXfinh^b25+9$K zGeMx6lH1&@K^qIs-ZclulWYG%02Is0+3zmgZ>9>BOiUVcOef`{vrG1Q6@SYLWg`f3 zzZ#@^*#lrEIrZvBv@xLOJKF|`b=qx5pOo_!{6owO3S;aj#0Y!9)+Y+4!HD zM^6r9@51wYG&HwvJf$+bR~@G`txM?Mzx|+X@U1JJGyiNyASvN$_bkYIhU4Bhm!mK9 zbR;t_?%vVSeu04{d3hi8Ro%w&R!Eaqjg2{>(|}AsDw$0{a9e~NCy|C?QM@&ZaNd{4 zg08o3Pfp&;*l;H*>BM#C9VO1UnVBJSp$SuT=rd+U=hl=F7>tcf#a5NX_ z+|=(waqdPyM1PNaY-{TXl;oL-3zn9idY% z$sQBnsnBrS#PKTFB7xi#^wOy@47eAo*-UFR-$){iGI3NYEgf=0O_f^dWNj=wLEwSBp{c34b=Qm| z$8!pb_~`8j-$y{lT*xT?4zN(46_&WZ^>{)?mh=5=%*=RiYip>-1&<)E%7Kp5CQDd> z%W~mwjTzJWd+*2h=OWw=DWd`dBg4Xe0x@y2Nx;bXkdm?;_!ZFZb6F=zr1_bYGL@DN zy-y@V#6=`!W-q^|0%=twfn0oi>`%iGZhrKN^t1(>$@XStSfS6fwY>fYM)=X$^y;&W zcE19ETFh2lZyTCHo3PNxbgBu?8kx`}Ev@Oof+0pmFX|T_tMOSyspKqJ*BZ@=kjI=~ zP=NU$v^Y0cR_Zj-p^GG#3fcEF%)OLUCK6(q+w&0yhNjUmvnR`MFNWw??jBZ{^QX>c zgmptw6T`&#t%x5UISSS^z$>)}`Mp<0xDeDff_WSG(s(*<^1 ziwRFR($u0NI-$E?%d-pKSL1L0JtR9*QDdv9v3n58o*lE5n|DyU%=Ycubao5|cS2qs zFZt#v@O$k%&|GGFKD;u8Im0e*MI}Bx{rp;}%X_F* zH6O(Yj`-eRRe5}=;Xg7M|2@5Oj#pLp7bi1GSC~UXgrz$i&{P3_$ zKaQwI7{W3)=vTVCKR~2pxv5LkI3Mp5gtg5zVt)?}zI#Y*Y>;N{b{k>$PeM)l8yCT z&@cV_mwjWR3&ZKl=wTnEB?hAPBJGphVv9~s-radI%^n3YzdMnAOjlRlXSXD!G05CjY0jVAY_3Wg#KO6C%?SCf2^7u zH}KNJ*&7+vjfwH-+#$oo#Z4>NmXnXzr`l&@MD}eXdSY>UhRt}aM*cOly3M)a4Y|!8sT7TcXxEWteyH#A2;q-Cx}NZC~Po!|4TJLHb>y3 z*754P{PdJ97X zVei)q^^D#t>dtdW_dbw)V;jZbiJ0u zba9^CMg1!!Y1QP?ws*3HeY93X%OIVX*GrUKeRcfPbsPi2PF``@-(UV*QStraqGLhk zqnQX;jw-4Rj~$A2Su40+* z>RJa^$AjQIgL_b4?fB{TJ>z#~ZTc6V?Ht*)o07p)i_#}MQ^mf$L!tm-%y}0yswlix zhWXa!OB}@}H_%MW#>yIg!$Cu4 zmDKwhJ0}7#h_Mym8q3ScSI!bpK&2-%_Mu3Tht_s0yD2++i7b|#m-i_S4$`}>jt*XK zZhV-~&kpReGQ|i82IuOm&`#eNEQNG-ng|Gt)n1YixN}=O|8{p0?+gD07Q zqezLxT2RRMKc_p>FA3|RZ-$%x?^hrFxP0liwzjo76ESr5zueS6oyjeHXR(s(N!Iw7 zTUWQ}n?{0(35YTZ7nj`>n|UP3`f3H@G8L8aFE_2^#6(#M36kRlUNCFBbMx{kf;cZXS7aIiExe`#7n!rUw!$yT(= z9+fTy4qAAb$MivRawE#DAJ}K@*$IOL{@SZ}zJGszxbI*n^~kZLDZ)c%!Lp&D)udr# zf1eU}u`NYVb%?w;aQ`bHmo9dpr&3Ax?bw#Lv$A3!Dz5!g?hrZ4Bs$#r=d7R?r%fH1 zoMhW7gsJ<_04Kh?_t}4k4W%XvMjd}GFLIhI<6~jd_{1eni3H*2Pnv`vd;PEs1g}>O zm-qANdWr|1&Lp;c0z2p~H?kmFBTxC;*J$nhn{{}PX4Q+c)gy(7i4$HHh62wsDA$tX zP#{))U}`kjj*n<9u=@cQ%`dj<(Xge>AQ}eAD>(ISJ#A!yDgl0!AIvqpvxCx*TjKBV a^zPMTcrhd$o8R4o|0Kob#EL}qeE$z-3zhf) literal 0 HcmV?d00001 diff --git a/docs/index.md b/docs/index.md new file mode 100644 index 000000000..cb5e28720 --- /dev/null +++ b/docs/index.md @@ -0,0 +1,42 @@ +--- +title: Mapshaper documentation +description: Documentation for mapshaper, the command-line tool and web app for editing Shapefile, GeoJSON, TopoJSON, GeoPackage, FlatGeobuf, KML and CSV data. +--- + +# Mapshaper documentation + +

    Mapshaper is a tool for editing Shapefile, GeoJSON, TopoJSON, GeoPackage, FlatGeobuf, KML and CSV data — available as a command-line program and as a web app at mapshaper.org.

    + + + +## Featured examples + + + + + +## What's new + +A curated log of recently added features is at [What's new](/docs/whats-new.html). The full [changelog](https://github.com/mbloch/mapshaper/blob/master/CHANGELOG.md) is on GitHub. + +## Help and feedback + +- Found a bug or want to request a feature? [Share feedback](https://tally.so/r/44Njok) or [open an issue on GitHub](https://github.com/mbloch/mapshaper/issues). +- Mapshaper is free software. If it's useful to you, please consider [supporting its development](/sponsor.html). diff --git a/docs/reference.md b/docs/reference.md new file mode 100644 index 000000000..cffeee315 --- /dev/null +++ b/docs/reference.md @@ -0,0 +1,1817 @@ +# Command reference + +## Command line syntax + +Mapshaper takes a list of commands and runs them in sequence, from left to right. A command consists of the name of a command prefixed by a hyphen, followed by options for the command. The initial import command `-i` can be omitted. + +#### Example + +```bash +# Read a Shapefile, simplify using Douglas-Peucker, output as GeoJSON. +mapshaper provinces.shp -simplify dp 20% -o precision=0.00001 output.geojson +``` + +### Command options can take three forms: + + - Values, like `provinces.shp` and `output.geojson` in the above example + + - Flags, like `dp` + + - Name/value pairs, like `precision=0.00001` + +### Common options + +The following options are documented here, because they are used by many commands. + +`name=` Rename the layer (or layers) modified by a command. + +`target=` Specify the layer or layers targeted by a command. Takes the name of a layer, the number of a layer (first layer is 1), or a comma-separated list of layer names or numbers. Names may contain the `*` wildcard. + +`+` Use the output of a command to create a new layer or layers instead of replacing the target layer(s). Use together with the `name=` option to assign a name to the new layer(s). + +#### Example +```bash +# Make a derived layer containing a subset of features +# while retaining the original layer +mapshaper states.geojson -filter 'ST == "AK"' + name=alaska -o output/ target=* +``` + +## Command files + +As an alternative to typing commands on the command line, you can put them in a plain-text command file and run them with the mapshaper CLI. + +Command files offer a few conveniences over a shell script or Makefile: + +- Hash-delimited (`#`) comments, both on their own line and at the end of a line. +- No need to escape `*` or other shell metacharacters; commands aren't passed through the shell. +- Trailing-backslash line continuations are accepted but not required — lines that don't begin with `-` are joined onto the previous command. +- Variable interpolation using `{{VAR}}` placeholders. See [variables](#variables) below. + +(Support for running command files in the mapshaper web UI is planned for a future release.) + +### File format + +A mapshaper command file is a `.txt` file whose first non-blank, non-comment line starts with `mapshaper`. + +``` +mapshaper +-i provinces.shp +# Use Douglas Peucker simplification +-simplify dp 20% +-o precision=0.00001 output.geojson +``` + +If you write the command file using shell-compatible syntax — trailing `\` for line continuations and no `#` comments — it can also be pasted directly onto a bash command line, where the leading `mapshaper` word invokes the CLI. To make the above example shell compatible, you could write: + +``` +mapshaper \ +-i provinces.shp \ +-simplify dp 20% \ +-o precision=0.00001 output.geojson +``` + +### Running a command file + +The command for running a command file is [`-run`](#-run): + +```bash +mapshaper -run build.txt +``` + +`mapshaper commands.txt` is a shortcut for `mapshaper -run commands.txt`. + +## Variable interpolation + +Command files and command lines may contain `{{VAR}}` placeholders, which are substituted just before each command runs. Two forms are recognized: + +- `{{VAR}}` — substituted with the value of `VAR`. +- `{{env.NAME}}` — substituted with the value of the `NAME` environment variable. + +This syntax allows you to interpolate all or part of a command option. For example, `-simplify {{SIMPLIFY_METHOD}} resolution={{SIMPLIFY_RESOLUTION}}`. + +Variables can be set in several ways: +- The [`-vars`](#-vars) command sets one or more variables, always overwriting any previous value. +- The [`-defaults`](#-defaults) command set only those values that do not already exist. +- Assignments in `-calc` and `-define` expressions create new variables. +- Assigning a property to the `global` object in an `-each` expression creates a new variable. + +`-vars` and `-defaults` write to a templating-scope store; the other commands write to an expression-scope store (`global`). `{{X}}` substitution checks the templating scope first and falls back to the expression scope, so values from any of the four mechanisms above are reachable. Bare names in JS expressions only see the expression scope — a name set by `-vars` is *not* readable by bare name from inside `-each`, `-filter`, etc. See [JavaScript expressions](/docs/guides/expressions.html#sharing-state-across-commands) for the full story. + +#### Example + +`build.txt`: +``` +mapshaper +-defaults YEAR=2024 PCT=10 # overridable defaults +-i sources/counties_{{YEAR}}.shp +-simplify {{PCT}}% +-o out/counties_{{YEAR}}_simplified.shp +``` + +Run with the command file's defaults: +```bash +mapshaper build.txt +``` + +Or override default values from the command line: +```bash +mapshaper -vars YEAR=2030 PCT=5 -run build.txt +``` + +## Index of commands + +**File I/O** + +[-i (input)](#-i-input) +[-o (output)](#-o-output) + +**Editing** + +[-affine](#-affine) +[-classify](#-classify) +[-clean](#-clean) +[-clip](#-clip) +[-colorizer](#-colorizer) +[-dashlines](#-dashlines) +[-dissolve](#-dissolve) +[-dissolve2](#-dissolve2) +[-divide](#-divide) +[-dots](#-dots) +[-drop](#-drop) +[-each](#-each) +[-erase](#-erase) +[-explode](#-explode) +[-filter](#-filter) +[-filter-fields](#-filter-fields) +[-filter-islands](#-filter-islands) +[-filter-slivers](#-filter-slivers) +[-frame](#-frame) +[-graticule](#-graticule) +[-grid](#-grid) +[-include](#-include) +[-inlay](#-inlay) +[-innerlines](#-innerlines) +[-join](#-join) +[-lines](#-lines) +[-merge-layers](#-merge-layers) +[-mosaic](#-mosaic) +[-point-grid](#-point-grid) +[-points](#-points) +[-polygons](#-polygons) +[-proj](#-proj) +[-rectangle](#-rectangle) +[-rectangles](#-rectangles) +[-rename-fields](#-rename-fields) +[-rename-layers](#-rename-layers) +[-require](#-require) +[-run](#-run) +[-scalebar](#-scalebar) +[-shape](#-shape) +[-simplify](#-simplify) +[-snap](#-snap) +[-sort](#-sort) +[-split](#-split) +[-split-on-grid](#-split-on-grid) +[-subdivide](#-subdivide) +[-style](#-style) +[-symbols](#-symbols) +[-union](#-union) +[-uniq](#-uniq) + +**Control Flow** + +[-if](#-if) +[-elif](#-elif) +[-else](#-else) +[-endif](#-endif) +[-stop](#-stop) +[-target](#-target) + +**Information** + +[-calc](#-calc) +[-colors](#-colors) +[-comment](#-comment) +[-defaults](#-defaults) +[-encodings](#-encodings) +[-help](#-help) +[-info](#-info) +[-inspect](#-inspect) +[-print](#-print) +[-projections](#-projections) +[-quiet](#-quiet) +[-vars](#-vars) +[-verbose](#-verbose) +[-version](#-version) + + +## I/O Commands + +### -i (input) + +Input one or more files in a supported vector data format. Supported file types include: Shapefile, GeoJSON, TopoJSON, GeoPackage, FlatGeobuf, KML, JSON data records, DBF, CSV/TSV. + +The `-i` command is assumed if `mapshaper` is followed by the path of an input data file. + +Mapshaper does not fully support M and Z type Shapefiles. The M and Z data is lost when these files are imported. + +When multiple input files are given, they can either be processed together (as a group of layers with shared topology) or separately (as a sequence of independent runs). Use `combine-files` to process them together, or `batch-mode` to process them separately. + +For backward compatibility, multiple input files are currently processed in batch mode by default; this default will change in a future release. Mapshaper prints a deprecation notice when batch mode is triggered implicitly. Existing scripts that rely on batch processing should add the `batch-mode` flag. + +**Options** + +`` or `files=` File(s) to input (space-separated list). Use `-` to import from `/dev/stdin`. + +In place of a file name, you can also pass data inline: + + - **JSON.** A string starting with `{` or `[` is treated as a literal JSON object or array. + - **CSV.** A comma-delimited string is treated as inline CSV when it contains a newline (a real one or the literal escape sequence `\n`) and both the first and second lines contain at least one comma. + +```bash +mapshaper -i 'lat,lon,label\n48.86,2.35,Paris\n51.51,-0.13,London' -o cities.json +``` + +`combine-files` Import multiple files to separate layers with shared topology. Useful for generating a single TopoJSON file containing multiple geometry objects. + +`batch-mode` Apply subsequent commands separately to each input file, as if running mapshaper multiple times with the same set of commands. Used together with `-o` to transform a directory of files. Required (in a future release) to use this batch-processing behavior. + +`merge-files` (Deprecated) Merge features from multiple input files into as few layers as possible. Preferred method: import files to separate layers using `-i combine-files`, then use the `-merge-layers` command to merge layers. + +`snap` Snap together vertices within a small distance threshold. This option is intended to fix minor coordinate misalignments in adjacent polygons. The snapping distance is 0.0025 of the average segment length. + +`snap-interval=` Specify snapping distance in source units. + +`precision=` (Deprecated) Round all coordinates to a specified precision, e.g. `0.001`. It is recommended to set coordinate precision on export, using `-o precision=`. + +`no-topology` Skip topology identification to speed up processing of large files. For use with commands like `-filter` that don't require topology. + +`encoding=` Specify encoding used for reading .dbf files and delimited text files. If the `encoding` option is missing, mapshaper will try to detect the encoding of .dbf files. Dbf encoding can also be set using a .cpg file. + +`id-field=` (Topo/GeoJSON) Import values of "id" property to this data field. + +`string-fields=` (CSV) List of fields to import as strings (e.g. FIPS,ZIPCODE). Using `string-fields=*` imports all fields as strings. + +`field-types=` Type hints for importing delimited text. Takes a comma-separated list of field names with type hints appended; e.g. `FIPS:str,zipcode:str`. Recognized type hints include `:str` or `:string`, `:num` or `:number`. Without a type hint, fields containing text data that looks like numeric data, like ZIP Codes, will be converted to numbers. + +`csv-skip-lines=` Number of lines to skip at the beginning of a CSV file. Useful when a CSV has been exported from a spreadsheet and there are rows of notes above the data section of the worksheet. + +`csv-lines=` Number of data records to import from a CSV file (default is all). + +`csv-field-names=` Comma-sep. list of names to assign each field. Can be used in conjunction with `csv-skip-lines=1` to replace names from an existing set of field headers. + +`csv-fields=` Comma-sep. list of fields to import from a CSV-formatted input file. Fields are filtered as the file is read, which reduces the memory needed to import very large CSV files. + +`decimal-comma` Import numbers formatted with decimal commas, not decimal points. Accepted formats: `1.000,01` `1 000,01` (both imported as as 1000.01). + +`csv-dedup-fields` Assign unique names to CSV fields with duplicate names. + +`csv-filter=` A JavaScript expression for importing a subset of the records in a CSV file. Records are filtered as the file is read, which reduces the memory needed to import very large CSV files. + +`json-path=` [JSON] Path to an array of data records or a GeoJSON object. For example, `json-path=data/counties` expects a JSON object with the following structure `{"data": {"counties": []}}`. + +`layers=` [GeoPackage] Comma-separated list of layer names to import from a GeoPackage file. If omitted, all layers are imported. + +`name=` Rename the imported layer (or layers). + +**Example** + +```bash +# Input a Shapefile with text data in the latin1 encoding +# and see what kind of data it contains +mapshaper countries_wgs84.shp encoding=latin1 -info +``` + +### -o (output) + +Save content of the target layer(s) to a file or files. + +**Options** + +`||-` Name of output file or directory. Use `-` to export text-based formats to `/dev/stdout`. + +`format=shapefile|geojson|topojson|flatgeobuf|geopackage|json|dbf|csv|tsv|svg` Specify output format. If the `format=` option is missing, Mapshaper tries to infer the format from the output filename. If no filename is given, Mapshaper exports to the same format as the input format. The `json` format is an array of objects containing data properties for each feature. + +`target=` Specify layer(s) to export (comma-separated list). The default target is the output layer(s) of the previous command. Use `target=*` to select all layers. + +`force` Allow output files to overwrite input files (without this option, overwriting input files is not allowed). + +`gzip` Apply gzip compression to output files. + +`zip` Save output files in a single .zip archive. + +`cut-table` Detach attribute data from shapes and save as a JSON file. + +`drop-table` Remove attribute data from output. + +`precision=` Round all coordinates to a specified precision, e.g. `precision=0.001`. Useful for reducing the size of GeoJSON files. + +`fix-geometry` Remove segment intersections caused by rounding (via the `precision=` option) or TopoJSON quantization, by reverting intersecting areas to the original coordinates. In the case of quantized TopoJSON output, this option produces delta-encoded arcs that contain some decimal numbers. Be sure to test your software for compatibility. Note that this option is only applied if the original paths are free of intersections. Also, some kinds of invalid geometry, like spikes, do not get fixed. + +`bbox-index` Export a JSON file containing bounding boxes of each output layer. + +`encoding=` (Shapefile/CSV) Encoding of input text (by default, Shapefile encoding is auto-detected and CSV files are assumed to be UTF-8). + +`field-order=` (Shapefile/CSV) `field-order=ascending` sorts data fields in alphabetical order of field names (A-Z, case-insensitive). + +`id-field=` (Topo/GeoJSON/SVG) Specify one or more data fields to use as the "id" property of GeoJSON, TopoJSON or SVG features (comma-separated list). When exporting multiple layers, you can pass a list of field names. The first listed name that is present in a layer's attribute table will be used as the id field for that layer. + +`bbox` (Topo/GeoJSON) Add bbox property to the top-level object. + +`extension=` (Topo/GeoJSON) set file extension (default is ".json"). + +`prettify` (Topo/GeoJSON) Format output for readability. + +`singles` (TopoJSON) Save each output layer as a separate file. Each output file and the TopoJSON object that it contains are named after the corresponding data layer. + +`quantization=` (TopoJSON) Specify quantization as the maximum number of differentiable points along either dimension. Equivalent to the quantization parameter used by the [topoquantize](https://github.com/topojson/topojson-client#topoquantize) command line program. By default, mapshaper applies quantization equivalent to 0.02 of the average segment length. + +`no-quantization` (TopoJSON) Arc coordinates are encoded at full precision and without delta-encoding. + +`presimplify` (TopoJSON) Add a threshold value to each arc vertex in the z position (i.e. [x, y, z]). Useful for dynamically simplifying paths using vertex filtering. Given W as the width of the map viewport in pixels, S as the ratio of content width to viewport width, and pz as the presimplify value of a point, the following expression tests if the point should be excluded from the output path: `pz > 0 && pz < 10000 / (W * S)`. + +`topojson-precision=` (TopoJSON) Set quantization as a fraction of the average segment length. + +`ndjson` (GeoJSON/JSON) Output newline-delimited records. + +`gj2008` (GeoJSON) Generate output that is consistent with the pre-RFC 7946 GeoJSON spec (dating to 2008). Polygon rings are CW and holes are CCW, which is the opposite of the default RFC 7946-compatible output. Mapshaper's default GeoJSON output is now compatible with the current specification (RFC 7946). + +`combine-layers` (GeoJSON) Combine multiple output layers into a single GeoJSON file. + +`geojson-type=` (GeoJSON) Overrides the default output type. Possible values: "FeatureCollection", "GeometryCollection", "Feature" (for a single feature). + +`no-null-props` (GeoJSON) use `"properties": {}` instead of `"properties": null` when outputting a Feature with no attribute data. + +`hoist=` (GeoJSON) Move one or more properties to the root level of each Feature. Hoisting a field named "id" creates an id for each Feature. This option can also be used to create non-standard Feature attributes (as used by the tippecanoe program). + +`width=` (SVG/TopoJSON) Set the width of the output dataset in pixels. When used with TopoJSON output, this option switches the output coordinates from geographic units to pixels and flips the Y axis. SVG output is always in pixels (default SVG width is 800). + +`height=` (SVG/TopoJSON) Similar to the `width` option. If both `height` and `width` are set, content is centered inside the `[0, 0, width, height]` bounding box. + +`max-height=` (SVG/TopoJSON) Limit output height (units: pixels). + +`margin=` (SVG/TopoJSON) Set the margin between coordinate data and the edge of the viewport (default is 1). To assign different margins to each side, pass a list of values in the order `` (similar to the `bbox=` option found in other commands). + +`pixels=` (SVG/TopoJSON) Output area in pixels (alternative to width=). + +`id-prefix=` Prefix for namespacing layer and feature ids. + +`svg-data=` (SVG) Export a comma-seperated list of data fields as SVG data-* attributes. Attribute names should match the following regex pattern: `/^[a-z_][a-z0-9_-]*$/`. Non-conforming fields are skipped. + +`svg-scale=` (SVG) Scale SVG output using geographical units per pixel (an alternative to the `width=` option). + +`svg-bbox=` (SVG) Bounding box of SVG map in projected map units. By default, the extent of SVG output fits the content; this option lets you provide a custom extent. This could be useful when aligning the SVG output with other content layers, such as images or videos. + +`fit-extent=` (SVG) Use a layer (typically a layer containing a single rectangle) to set the extent of the map. Paths that overflow this extent are retained in the SVG output. + +`point-symbol=square` (SVG) Use squares instead of circles to symbolize point data. + +`delimiter=` (CSV) Set the field delimiter for CSV/delimited text output; e.g. `delimiter=|`. + +`decimal-comma` (CSV) Export numbers with decimal commas instead of decimal points (common in Europe and elsewhere). + +`show-all` [Snapshot] All layers of the exported snapshot will be displayed when opened in the web UI. + +**Example** +```bash +# Convert all the Shapefiles in one directory into GeoJSON +# files in a different directory. +mapshaper -i shapefiles/*.shp batch-mode -o geojson/ format=geojson +``` + +## Editing Commands + + +### -affine + +Transform coordinates by shifting, scaling and rotating. Not recommended for unprojected datasets. + +`shift=` X,Y shift in source units (e.g. 5000,-5000) + +`scale=` Scale (default is 1) + +`rotate=` Angle of rotation in degrees (default is 0) + +`anchor=` Center of rotation/scaling (default is center of the bounding box of the selected content) + +`where=` Use a JS expression to select a subset of features. + +Common options: `target=` + +### -classify + +Assign colors or data values to each feature using one of several classification methods. Methods for sequential data include `quantile`, `equal-interval`, `hybrid` and `nice` or categorical classification to a data field. + +`` or `field=` Name of the data field to classify. + +`save-as=` Name of a (new or existing) field to receive the output of classification. The default output field for colors is `fill` or `stroke` (depending on geometry type) and `class` for non-color output. + +`values=` List of values to assign to data classes. If the number of values differs from the number of classes given by the (optional) `classes` or `breaks` option, then interpolated values will be calculated. Mapshaper uses d3 for interpolation. + +`colors=` Takes a list of CSS colors, the name of a predefined color scheme, or `random`. Run the [-colors](#-colors) command to list all of the built-in color schemes. Similar to the `values=` option, if the number of listed colors is different from the number of requested classes, interpolated colors are calculated. + +`non-adjacent` Assign colors to a polygon layer in a randomish pattern, trying not to assign the same color to adjacent polygons. Mapshaper's algorithm balances performance and quality. Usually it can find a solution with four or five colors. If mapshaper is unable to avoid giving the same color to neighboring polygons, it will print a warning. You can resolve the problem by increasing the number of colors. + +`stops=` A pair of comma-separated numbers (0-100) for limiting the output range of a color ramp. + + +`null-value=` Value (or color) to use for invalid or missing data. + +`classes=` Number of data classes. This number can also be inferred from the `breaks=` or `values=` options. + +`breaks=` Specify user-defined sequential class breaks (an alternative to automatic classification using `quantile`, `equal-interval`, etc.). + +`outer-breaks=` A pair of comma-separated numbers setting min and max breakpoints to use when computing class breaks. This setting overrides the default behavior, which is to use the min and max values of the data field being classified. This setting can be used to prevent extreme data values (outliers) from affecting equal-interval classification. Also useful for setting outside breakpoints for continuous color ramps (when using the `continuous` option). + +`method=` Classification method. One of: `quantile`, `equal-interval`, `nice`, `hybrid` (sequential data), `categorical`, `non-adjacent` and `indexed`. This parameter is not required if the classification method can be inferred from other options. For example, the `index-field=` parameter implies indexed classification, the `categories=` parameter implies categorical classification. + +`quantile` Use quantile classification. Shortcut for `method=quantile`. + +`equal-interval` Use equal interval classification. Shortcut for `method=equal-interval`. + +`nice` Same as `method=nice`. This scheme finds equally spaced, round breakpoints that roughly divide the dataset into equal parts (similar to quantile classification). + +`invert` Reverse the order of colors/values. + +`continuous` Output continuously interpolated values (experimental). Uses linear interpolation between class breaks, which may give poor results with some distributions of data. This option is for creating unclassed/continuous-color maps. + +`index-field=` Use class ids that have been precalculated and assigned to this field. Values should be integers from `0 ... n-1` (where n is the number of classes). `-1` is the null value. + +`precision=` Round data values before classification (e.g. `precision=0.1`). + +`categories=` List of values in the source data field. Using this option triggers categorical classification. + +`other=` Default value for categorical classification. This value is used when the value of the source data field is not present in the list of values given by `categories=`. Defaults to `null-value=` or null. + +**Options for generating SVG keys** + +`key-style=` One of: simple, gradient, dataviz + +`key-name= ` Name of output SVG file + +`key-width=` Width of key in pixels + +`key-font-size=` Font size of tic labels in pixels + +`key-tile-height=` Height of color tiles in pixels + +`key-tic-length=` Length of tic mark in pixels + +`key-label-suffix=` String to append to each label + +`key-last-suffix=` String to append to the last label + + +**Examples** + +```bash +# Apply a sequential color ramp to a polygon dataset using quantiles. +mapshaper covid_cases.geojson \ + -classify save-as=fill quantile color-scheme=Oranges classes=6 \ + -o out.geojson +``` + +### -clean + +This command attempts to repair various kinds of abnormal geometry that might cause problems when running other mapshaper commands or when using other software. + +Features with null geometries are deleted, unless the `allow-empty` flag is used. + +Polygon features are cleaned by removing overlaps and filling small gaps between adjacent polygons. Only gaps that are completely enclosed can be filled. Areas that are contained by more than one polygon (overlaps) are assigned to the polygon with the largest area. Similarly, gaps are assigned to the largest-area polygon. This rule may give undesired results and will likely change in the future. + +Line features are cleaned by removing self-intersections within the same path. Self-intersecting paths are split at the point of intersection and converted into multiple paths within the same feature. When two separate paths intersect in-between segment endpoints, new vertices are inserted at the point of intersection. + +Point features are cleaned by removing duplicate coordinates within the same feature. + +`gap-fill-area=` (polygons) Gaps smaller than this area will be filled; larger gaps will be retained as holes in the polygon mosaic. Example values: 2km2 500m2 0. Defaults to a dynamic value calculated from the geometry of the dataset. + +`sliver-control=` (polygons) Preferentially remove slivers (polygons with a high perimeter-area ratio). Accepts values from 0-1, default is 1. Implementation: multiplies the area of gap areas by the "Polsby Popper" compactness metric before applying area threshold. + +`overlap-rule=` (polygons) Assign overlapping polygon areas to one of the overlapping features based on this rule. Possible options are: min-id, max-id, min-area, max-area (default is max-area). + +`allow-overlaps` Allow features to overlap each other. The default behavior is to remove overlaps. + +`snap-interval=` Snap vertices within a given threshold before performing other kinds of geometry repair. Defaults to a very small threshold. Uses source units. + +`rewind` Fix errors in the winding order of polygon rings. + +`allow-empty` Allow null geometries, which are removed by default. + +Common options: `target=` + + +### -clip + +Remove features or portions of features that fall outside a clipping area. + +`` or `source=` Clip to a set of polygon features. Takes the filename or layer id of the clip polygons. + +`bbox=` Delete features or portions of features that fall outside a bounding box. + +`bbox2=` Faster bounding box clipping than `bbox=` (experimental). + +`remove-slivers` Remove tiny sliver polygons created by clipping. + +Common options: [`name=` `+` `target=`](#common-options) + +```bash +# Example: Clip a polygon layer using another polygon layer. +mapshaper usa_counties.shp -clip land-area.shp -o clipped.shp +``` + +### -colorizer + +Define a function for converting data values to colors that can be used in subsequent calls to the `-style` command. + +`name=` Name of the colorizer function. + +`colors=` List of CSS colors. + +`random` Randomly assign colors. Uses `colors=` list if given. + +`breaks=` Ascending-order list of breaks (thresholds) for creating a sequential color scheme. + +`categories=` List of data values (keys) for creating a categorical color scheme. + +`other=` Default color for categorical scheme (defaults to `nodata` color). + +`nodata=` Color to use for invalid or missing data (default is white). + +`precision=` Rounding precision to apply to numerical data before converting to a color (e.g. 0.1). + +```bash +# Example: define a function for a sequential color scheme +# and assign colors based on data values +mapshaper data.json \ + -colorizer name=getColor \ + colors='#f0f9e8,#bae4bc,#7bccc4,#2b8cbe' breaks=25,50,75 \ + -each 'color = getColor(PCT)' \ + -o output.json + +# Example: define a function for a categorical color scheme +# and use it to assign fill colors +mapshaper data.json \ + -colorizer name=calcFill colors='red,blue,green' \ + categories='Republican,Democrat,Other' \ + -style fill='calcFill(PARTY)' \ + -o output.svg +``` + +### -dashlines + +Split lines into sections, with or without a gap. + +`dash-length=` Length of split-apart lines (e.g. 200km) +`gap-length=` Length of gaps between dashes (default is 0) +`scaled` Scale dashes and gaps to prevent partial dashes +`planar` Use planar geometry +`where=` Use a JS expression to select a subset of features. + +### -dissolve + +Aggregate groups of features using a data field, or aggregate all features if no field is given. For polygon layers, `-dissolve` merges adjacent polygons by erasing shared boundaries. For point layers, `-dissolve` replaces a group of points with their centroid. For polyline layers, `-dissolve` tries to merge contiguous polylines into as few polylines as possible. + +For polygon layers, `-dissolve` repairs topology before dissolving, so it produces correct results on inputs that contain overlaps, gaps or other topology errors. The `no-repair` option skips this step for a faster (but less robust) dissolve. + +`` or `fields=` (optional) Name of a data field or fields to dissolve on. Accepts a comma-separated list of field names. + +`group-points` [points] Group the points from each dissolved group of features into a multi-point feature instead of converting multiple points into a single-point centroid feature. + +`weight=` [points] Name of a field or a JS expression for generating weighted centroids. For example, the following command estimates the "center of mass" of the U.S. population: ` mapshaper census_tracts.shp -points -dissolve weight=POPULATION -o out.shp` + +`planar` [points] Treat decimal degree coordinates as planar cartesian coordinates when calculating dissolve centroids. (By default, mapshaper calculates the centroids of lat-long point data in 3D space.) + +`gap-fill-area=` [polygons] Gaps smaller than this area will be filled; larger gaps will be retained as holes in the polygon mosaic. Example values: 2km2 500m2 0. Defaults to a dynamic value calculated from the geometry of the dataset. + +`sliver-control=` [polygons] Preferentially remove slivers (polygons with a high perimeter-area ratio). Accepts values from 0-1, default is 1. Implementation: multiplies the area of gap areas by the "Polsby Popper" compactness metric before applying area threshold. + +`allow-overlaps` [polygons] Allow dissolved groups of features to overlap each other. The default behavior is to remove overlaps. + +`no-repair` [polygons] Skip topology repair before dissolving. Use when the input is known to be clean and you want a faster dissolve. Mapshaper checks for segment intersections and prints a warning if the assumption appears to be wrong, but it still performs the dissolve. Incompatible with `gap-fill-area=`, `sliver-control=` and `allow-overlaps`. + +`calc=` Use built-in JavaScript functions to create data fields in the dissolved layer. See example below; see [-calc](#-calc) for a list of supported functions. + +`sum-fields=` Fields to sum when dissolving (comma-sep. list). + +`copy-fields=` Fields to copy when dissolving (comma-sep. list). Copies values from the first feature in each group of dissolved features. + +`multipart` Group features from the target layer into multipart features, without otherwise modifying geometry. + +`where=` Use a JS expression to select a subset of features to dissolve. + +Common options: `name=` `+` `target=` + +```bash +# Example: Aggregate county polygons to states +mapshaper counties.shp -dissolve STATE -o states.shp + +# Example: Use the calc= option to count the number of dissolved features +# and perform other calculations +mapshaper counties.shp \ + -dissolve STATE calc='n = count(), + total_pop = sum(POP), + max_pop = max(POP), + min_pop = min(POP)' +``` + + +### -dissolve2 + +Deprecated alias for [`-dissolve`](#-dissolve). The topology-repairing behavior of `-dissolve2` has been promoted to be the default behavior of `-dissolve`. Existing scripts that use `-dissolve2` will continue to work but print a deprecation notice. + +### -divide + +Divide a polyline layer by a polygon layer. Line features that cross polygon boundaries are divided into separate features. Data fields from the polygon layer are copied to the line layer, as in the `-join` command. + +`` or `source=` File or layer containing polygon features. + +`fields=` A comma-separated list of fields to copy from the polygon layer (see `-join` command). + +`calc=` Use JS assignments and built-in functions to convert values from the polygon layer to (new) fields the target table (see `-join` command). + +Other options: `target=` + +### -dots + +Fill polygons with random points, for making dot density maps. This command should be applied to projected layers. + +`` or `fields=` List of one or more data fields containing data for the number of dots to place in each polygon. + +`colors=` List of dot colors (one color for each field in the `fields=` parameter). Dots of different colors are placed in random sequence, so dots of one color do not consistently cover up dots of other colors in the densest areas. + +`values=` List of values to assign to dots (alternative to `colors=`). + +`save-as=` Name of a (new or existing) field to receive the assigned colors or values. (By default, colors are assigned to the `fill` field.) + +`r=` Dot radius in pixels. + +`evenness=` A value from 0-1. 0 corresponds to purely random placement, 1 maintains (fairly) even spacing between the dots within each polygon. The default is 1. + +`per-dot=` A number for scaling data values. For example, use `per-dot=100` to make a map that displays one dot per 100 people (or whatever entity is being visualized). + +`copy-fields=` List of fields to copy from the original polygon layer to each dot feature. + +`multipart` Combine groups of same-color dots into multi-part features. + +Other options: `name=` `+` `target=` + + +### -drop + +Delete the target layer(s) or elements within the target layer(s). + +`fields=` Delete a (comma-separated) list of attribute data fields. To delete all fields, use `fields=*`. + +`geometry` Delete all geometry. + +`holes` Delete any holes from a polygon layer. + +`target=` Layer(s) to target. + + +### -each + +Apply a JavaScript expression to each feature in a layer. Data properties are available as local variables; the feature's geometry-derived properties are available on the `this` object (e.g. `this.area`, `this.centroidX`, `this.bbox`). + +**Tip:** Enclose JS expressions in single quotes when using the bash shell (Mac and Linux) to avoid shell expansion of `!` and other special characters. Using the Windows command interpreter, enclose JS expressions in double quotes. + +`` or `expression=` JavaScript expression to apply to each feature. + +`where=` Secondary boolean JS expression for targetting a subset of features. + +`target=` Layer to target. + +The same expression syntax and execution context are used by `-each`, `-filter`, `-sort`, `-inspect`, `-split`, `-subdivide`, `-calc` (and `calc=` options on `-dissolve`, `-join`, etc.), `-style`, `-symbols`, and any `where=`, `weight=`, `radius=` or `bbox=` option. See [JavaScript expressions](/docs/guides/expressions.html) for the full reference: the available `this.*` properties for each geometry type, helper functions like `round()`, `sprintf()` and `format_dms()`, the `-calc` aggregation functions, the `A`/`B` pair context used by `-lines`, and common pitfalls. The [Basics](/docs/examples/basics.html) page has practical recipes that put expressions to work. + +**Examples** + +```bash +# Create two fields +mapshaper counties.shp \ + -each 'STATE_FIPS=COUNTY_FIPS.substr(0, 2), AREA=this.area' \ + -o out.shp + +# Delete two fields +mapshaper states.shp -each 'delete STATE_NAME, delete GEOID' -o out.shp + +# Rename a field +mapshaper states.shp -each 'STATE_NAME=NAME, delete NAME' -o out.shp + +# Print the value of a field to the console +mapshaper states.shp -each 'console.log(NAME)' + +# Assign a new data record to each feature +mapshaper states.shp -each 'this.properties = {FID: this.id}' -o out.shp +``` + + +### -erase + +Remove features or portions of features that fall inside an area. + +`` or `source=` File or layer containing erase polygons. Takes the filename or layer id of the erase polygons. + +`bbox=` Delete features or portions of features that fall inside a bounding box. Similar to `-clip bbox=`. + +`bbox2=` Faster bounding box erasing than `bbox=` (experimental). + +`remove-slivers` Remove tiny sliver polygons created by erasing. + +Common options: [`name=` `+` `target=`](#common-options) + +```bash +# Example: Erase a polygon layer using another polygon layer. +mapshaper usa_counties.shp -erase lakes.shp -o out.shp +``` + + +### -explode + +Divide each multi-part feature into several single-part features. + +Common options: `target=` + + +### -filter + +Apply a boolean JavaScript expression to each feature, removing features that evaluate to false. + +`` or `expression=` JS expression evaluating to `true` or `false`. Uses the same execution context as [`-each`](#-each). + +`bbox=` Retains features that intersect the given bounding box (xmin,ymin,xmax,ymax). + +`invert` Invert the filter -- retain only those features that would have been deleted. + +`remove-empty` Delete features with null geometry. May be used by itself or in combination with an ``. + +Common options: [`name=` `+` `target=` ](#common-options) + +```bash +# Example: Select counties from New England states +mapshaper usa_counties.shp \ + -filter '"ME,VT,NH,MA,CT,RI".indexOf(STATE) > -1' \ + -o ne_counties.shp +``` + + +### -filter-fields + +Delete fields in an attribute table, by listing the fields to retain. If no files are given, then all attributes are removed. + +`` or `fields=` Comma-separated list of data fields to retain. + +`invert` Invert the filter -- delete the listed fields instead of retaining them. + +Common options: `target=` + +```bash +# Example: Retain two fields +mapshaper states.shp -filter-fields FID,NAME -o out.shp +``` + +### -filter-islands + +Remove small detached polygon rings (islands). + +`min-area=` Remove small-area islands using an area threshold (e.g. 10km2). + +`min-vertices=` Remove low-vertex-count islands. + +`remove-empty` Delete features with null geometry. + +[`target=`](#common-options) + + +### -filter-slivers + +Remove small polygon rings. + +`min-area=` Area threshold for removal (e.g. 10km2). + +`sliver-control=` (polygons) Preferentially remove slivers (polygons with a high perimeter-area ratio). Accepts values from 0-1, default is 1. Implementation: multiplies the area of polygon rings by the "Polsby Popper" compactness metric before applying area threshold. + +`remove-empty` Delete features with null geometry. + +[`target=`](#common-options) + +### -frame + +Create a rectangular frame layer at a given display width. Frame size is used for scaling symbols and for setting the display size of SVG output. The geographical extent of the frame is based on the `bbox=` option or the bounding box of the target layer or layers, if `bbox=` is omitted. + +`width=` Width of frame (e.g. 5in, 10cm, 600px; default is 800px) + +`height=` Height of frame (in addition to or instead of width= option) + +`aspect-ratio=` Aspect ratio of frame (optional) + +`bbox=` Bounding coordinates of frame contents in projected map coordinates (xmin,ymin,xmax,ymax). If omitted, the bounding box of the target layer(s) is used. + +`offset=` Padding around the frame's `bbox` in display units or pct of width/height, e.g. 5cm 20px 5% + +`offsets=` Comma-sep. list of offsets for each side of the map frame, in l,b,r,t order + +Other options: `name=` `target=` + +### -graticule + +Create a graticule layer appropriate for a world map centered on longitude 0. + +`polygon` Create an polygon enclosing the entire area of the graticule. Useful for creating background or outline shapes for clipped projections, like Robinson or Stereographic. + +`interval=` Specify the spacing of graticule lines (in degrees). Common options are: 5, 10, 15, 30, 45. Default is 10. + +### -grid + +Create a continuous grid of square or hexagonal polygons. + +The `-grid` command should have a projected layer as its target. The cells of the grid will completely enclose the bounding box of the target layer. + +This command is intended for visualizing data in a grid. Typically, you would use the `-join` command to join data from a polygon or point layer to a grid layer. Use `-join interpolate=` to interpolate data values (typically count data) from the polygon layer to the grid layer based on area. Use `-join calc=' = sum()'` or `-join calc=' = count()'` to aggregate point data values. + +`type=` Supported values: `square` `hex` `hex2`. The `hex` and `hex2` types have different rotations. + +`interval=` The length of one side of a grid cell. Example values: `500m` `2km`. + +Other options: `name=` `+` `target=` + + +### -include + +`` or `file=` Path to the external .js file to load. The file should contain a single JS object. The properties of this object are converted to variables in the JS expression used by the `-each` command. + +### -inlay + +Inscribe a polygon layer within another polygon layer. + +`` or `source=` File or layer containing polygons to inlay + +Other options: `target=` + +### -innerlines + +Create a polyline layer consisting of shared boundaries with no attribute data. + +`where=` Filter lines using a JS expression (see the `-lines where=` option). + +Other options: `name=` `+` `target=` + +```bash +# Example: Extract the boundary between two states. +mapshaper states.shp -filter 'STATE=="OR" || STATE=="WA"' -innerlines -o out.shp +``` + + +### -join + +Join attribute data from a source layer or file to a target layer. If the `keys=` option is used, Mapshaper will join records by matching the values of key fields. If the `keys=` option is missing, Mapshaper will perform a polygon-to-polygon, point-to-polygon, polygon-to-point or point-to-point spatial join. + +`` or `source=` File or layer containing data records to join. + +`keys=` Names of two fields to use as join keys, separated by a comma. The key field from the destination table is followed by the key field from the source table. If the `keys=` option is missing, mapshaper performs a spatial join. + +`calc=` Use JS assignments and built-in functions to convert values from the source table to (new) fields the target table. See the [`-calc` command reference](#-calc) for a list of supported functions. Useful for handling many-to-one joins. See example below. + +`where=` Use a boolean JS expression to filter records from the source table. The expression has the same syntax as the expression used by the `-filter` command. The functions `isMax()` `isMin()` and `isMode()` can be used in many-to-one joins to select among source records. + +`fields=` A comma-separated list of fields to copy from the external table. If the `fields` option and `calc` options are both absent, all fields are copied except the key field (if joining on keys) unless the. Use `fields=*` to copy all fields, including any key field. Use `fields=` (empty list) to copy no fields. + +`prefix=` Add a prefix to the names of fields joined from the external attribute table. + +`interpolate=` (polygon-to-polygon joins only) A list of fields to interpolate/reaggregate based on area of overlap. Interpolates fields containing count data, such as population counts or vote counts. Treats data as being uniformly distributed within polygon areas. Also interpolates string fields containing categorical data. The value associated with the largest area of overlap between source and target polygons gets copied to the target feature. + +`point-method` (polygon-to-polygon joins only) Use an alternate method for joining two polygon layers. The default polygon-polygon join method detects areas of overlap between two polygon layers by compositing the two layers internally. This method is simpler -- it generates a temporary point layer from the source layer with the greater number of features (using the same inner-point method as the `-points inner` command), and then performs a point-to-polygon or polygon-to-point join. This method does not support the `interpolate=` option. + +`largest-overlap` (polygon-to-polygon joins only) selects a single polygon to join when multiple source polygons overlap a target polygon, based on largest area of overlap. + +`min-overlap-pct=` (polygon-to-polygon joins only) Only source features with at least this percentage overlap of the target feature (by area) get joined. + +`min-overlap-area=` (polygon-to-polygon joins only) Only source features with at least this much areal overlap of the target feature get joined. + +`max-distance=` (point-to-point joins only) Join source layer points within this distance of a target layer point. + +`duplication` Create duplicate features in the target layer on many-to-one joins. + +`sum-fields=` (deprecated) A comma-separated list of fields to sum when several source records match the same target record. This option is equivalent to using the `sum()` function inside a `calc=` expression like this: `calc='FIELD = sum(FIELD)'`. + +`string-fields=` A comma-separated list of fields in source CSV file to import as strings (e.g. FIPS,ZIPCODE). + +`field-types=` A comma-separated list of type hints (when joining a CSV file or other delimited text file). See `-i field-types=` above. + +`force` Allow values in the target data table to be overwritten by values in the source table when both tables contain identically named fields. + +`unjoined` Copy unjoined records from the source table to a layer named "unjoined". + +`unmatched` Copy unmatched records from the destination table to a layer named "unmatched". + +Other options: `encoding=` `target=` + +**Examples** + +Join a point layer to a polygon layer (spatial join), using the `calc=` option to handle many-to-one matches. + +```bash +mapshaper states.shp \ + -join points.shp calc='median_score = median(SCORE), + mean_score = average(SCORE), + join_count = count()' \ + -o out.shp +``` + +Copy data from a csv file to the attribute table of a Shapefile by matching values from the *STATE_FIPS* field of the Shapefile and the *FIPS* field of the csv file. (The string-fields=FIPS argument prevents FIPS codes in the CSV file from being converted to numbers.) + +```bash +mapshaper states.shp \ + -join demographics.txt keys=STATE_FIPS,FIPS string-fields=FIPS \ + -o out.shp +``` + +### -lines + +Converts points and polygons to lines. Polygons are converted to topological boundaries. Without the `` argument, external (unshared) polygon boundaries are attributed as `TYPE: "outer", RANK: 0` and internal (shared) boundaries are `TYPE: "inner", RANK: 1`. + +`` or `fields=` (Optional) comma-separated list of attribute fields for creating a hierarchy of polygon boundaries. A single field name adds an intermediate level of hierarchy with attributes: `TYPE: , RANK: 1`, and the lowest-level internal boundaries are given attributes `TYPE: "outer", RANK: 2`. A comma-separated list of fields adds additional levels of hierarchy. + +`where=` Use a JS expression for filtering polygon boundaries using properties of adjacent polygons. The expression context has objects named A and B, which represent features on eather side of a path. B is null if a path only belongs to a single feature. + +`each=` Apply a JS expression to each line (using A and B, like the `where=` option). + +`groupby=` Convert a point layer into multiple lines, using a field value for grouping. + +Common options: `name=` `+` `target=` + +```bash +# Example: Classify national, state and county boundaries. +mapshaper counties.shp -lines STATE_FIPS -o boundaries.shp +``` + +```bash +# Example: add the names of neighboring countries to each section of border +mapshaper countries.geojson \ + -lines each='COUNTRIES = A.NAME + (B ? "," + B.NAME : "")' \ + -o borders.geojson +``` + + +### -merge-layers + +Merge features from several layers into a single layer. Layers can only be merged if they have compatible geometry types. Target layers should also have compatible data fields, unless the `force` option is used. + +`force` Allow merging layers with inconsistent fields. When a layer is missing a particular field, the field will be added, with the values set to `undefined`. Using this option, you are still prevented from merging fields with different data types (e.g. a field containing numbers in one layer and strings in another). You are also still prevented from merging layers containing different geometry types. + +`flatten` (polygon layers) Remove polygon overlaps by assigning overlapping areas to the last overlapping polygon (the topmost feature if features are rendered in sequence). + +Common options: `name=` `target=` + +```bash +# Example: Combine features from several Shapefiles into a single Shapefile. +# -i combine-files is used because files are processed separately by default. +mapshaper -i OR.shp WA.shp CA.shp AK.shp combine-files \ + -merge-layers \ + -o pacific_states.shp +``` + +### -mosaic + +Flatten a polygon layer by converting overlapping areas to separate polygons. + +`calc=` Use a JavaScript expression to handle many-to-one aggregation (similar to the `calc=` option of the`-join` and `-dissolve` functions). See [-calc](#-calc) for a list of supported functions. + +Common options: `name=` `+` `target=` + + +### -point-grid + +Create a rectangular grid of points. + +`` Size of the grid, e.g. `-point-grid 100,100`. + +`interval=` Distance between adjacent points, in source units (alternative to setting the number of cols and rows). + +`bbox=` Fit the grid to a bounding box (xmin,ymin,xmax,ymax). Defaults to the bounding box of the other data layers, or of the world if no other layers are present. + +`name=` Set the name of the point grid layer + +### -points + +Create a point layer, either from polygon or polyline geometry or from values in the attribute table. By default, polygon features are replaced by a single point located at the centroid of the polygon ring, or the largest ring of a multipart polygon. By default, polyline features are replaced by a single point located at the polyline vertex that is closest to the center of the feature's bounding box (this can be used to join polylines to polygons using a point-to-polygon spatial join). + +`x=` Name of field containing x coordinate values. Common X-coordinate names are auto-detected (e.g. longitude, LON). + +`y=` Name of field containing y coordinate values. Common Y-coordinate names are auto-detected (e.g. latitude, LAT). + +`centroid` Create points at the centroid of the largest ring of each polygon feature. Point placement is currrently not affected by holes. + +`inner` Create points in the interior of the largest ring of each polygon feature. Inner points are located away from polygon boundaries. + +`vertices` Convert polygon and polyline features into point features containing the unique vertices in each shape. + +`vertices2` Convert all the vertices in polygon and polyline features into points, including duplicate coordinates (e.g. the duplicate endpoint coordinates of polygon rings). + +`endpoints` Capture the unique endpoints of polygon and polyline arcs. + +`midpoints` Find the midpoint of each path in a polyline layer. + +`interpolated` Interpolate points along polylines. Requires the `interval=` option to be set. Original vertices are replaced by interpolated vertices. + +`interval=` Distance between interpolated points (in meters if coordinates are unprojected, or projected units). + +Common options: `name=` `+` `target=` + +```bash +# Example: Create points in the interior of each polygon +mapshaper counties.shp -points inner -o points.shp + +# Example: Create points in the interior of each polygon (alternate method) +mapshaper counties.shp \ + -each 'cx=this.innerX, cy=this.innerY' \ + -points x=cx y=cy \ + -o points.shp +``` + +### -polygons + +Convert a polyline layer to a polygon layer by linking together intersecting polylines to form rings. + +`gap-tolerance=` Close gaps ("undershoots") between polylines up to the distance specified by this option. + +`from-rings` Convert a layer of closed polyline rings into polygons. Nested rings in multipart features are converted into holes. + +Common options: `target=` + +### -proj + +Project a dataset using a PROJ string, EPSG code or alias. This command affects all layers in the dataset(s) containing the targeted layer or layers. Information on PROJ string syntax can be found on the [PROJ website](https://proj.org/usage/index.html). + +`` or `crs=` Target CRS, given as a Proj.4 definition or an alias. Use the [`-projections`](#-projections) command to list available projections and aliases. In projections which require additional parameters, such as a zone in UTM, you can pass a Proj4 string enclosed in quotes. For example, `crs='+proj=utm +zone=27'`. + +`densify` Interpolate vertices along long line segments as needed to approximate curved lines. + +`match=` Match the projection of the given layer or .prj file. + +`init=` Define the pre-projected coordinate system, if unknown. This option is not needed if the source coordinate system is defined by a .prj file, or if the source CRS is WGS84. As with `crs`, you can pass a Proj4 string enclosed in quotes if the selected projection requires extra parameters, for example `init='+proj=utm +zone=33'`. + +`target=` Layer(s) to target. All layers belonging to the same dataset as a targeted layer will be reprojected. To reproject all datasets, use `target=*`. + +**Examples** +```bash +# Convert a GeoJSON file to New York Long Island state plane CRS, +# using a Proj.4 string +mapshaper nyc.json \ + -proj +proj=lcc \ + +lat_1=41.03333333333333 +lat_2=40.66666666666666 \ + +lat_0=40.16666666666666 +lon_0=-74 \ + +x_0=300000 +y_0=0 \ + +ellps=GRS80 +datum=NAD83 +units=m \ + -o out.json + +# Apply the same projection using an EPSG code +mapshaper nyc.json -proj EPSG:2831 -o out.json + +# Convert a projected Shapefile to WGS84 coordinates +mapshaper area.shp -proj wgs84 -o out.shp + +# Use the Winkel Tripel projection with a custom central meridian +mapshaper countries.shp -proj +proj=wintri +lon_0=10 -o out.shp + +# Shortcut notation for the above projection +mapshaper countries.shp -proj wintri +lon_0=10 -o out.shp + +# Convert an unprojected U.S. Shapefile into a composite projection with Alaska +# and Hawaii repositioned and rescaled to fit in the lower left corner. +# Show Puerto Rico and the U.S. Virgin Islands +# Override the default central meridian and scale of the Alaska inset +mapshaper us_states.shp \ + -proj albersusa +PR +VI +AK.lon_0=-141 +AK.scale=0.4 \ + -o out.shp +``` + +### -rectangle + +Create a new layer containing a rectangular polygon. + +`bbox=` Give the coordinates of the rectangle. + +`source=` Create a bounding box around a given layer. + +`aspect-ratio=` Aspect ratio as a number or range (e.g. 2 0.8,1.6 ,2). + +`offset=` Padding as a distance or percentage of width/height (single value or list). + +`name=` Assign a name to the newly created layer. + +### -rectangles + +Create a new layer containing a rectangular polygon for each feature in the layer. + +`aspect-ratio=` Aspect ratio as a number or range (e.g. 2 0.8,1.6 ,2). + +`bbox=` Use an expression to generate rectangle bounds for each feature. The expression should evaluate to a GeoJSON-style bbox array. + +`offset=` Padding as a distance or percentage of width/height (single value or list). + +`name=` Assign a name to the newly created layer. + +### -rename-fields + +Rename data fields. To rename a field from A to B, use the assignment operator: B=A. + +`` or `fields=` List of fields to rename as a comma-separated list. + +Common options: `target=` + +```bash +# Example: rename STATE_FIPS to FIPS and STATE_NAME to NAME +mapshaper states.shp -rename-fields FIPS=STATE_FIPS,NAME=STATE_NAME -o out.shp +``` + + +### -rename-layers + +Assign new names to layers. If fewer names are given than there are layers, the last name in the list is repeated with numbers appended (e.g. layer1, layer2). + +`` or `names=` One or more layer names (comma-separated). + +`target=` Rename a subset of all layers. + +```bash +# Example: Create a TopoJSON file with sensible object names. +mapshaper ne_50m_rivers_lake_centerlines.shp ne_50m_land.shp combine-files \ + -rename-layers water,land -o target=* layers.topojson +``` + +### -require + +Require a Node module or ES module for use in commands like `-each` and `-run`. Modules are added to the expression context. When the `alias=` option is given, modules are accessed via their aliases. Modules that are imported by name (e.g. `-require d3`) are accessed via their name, or by their alias if the `alias=` option is used. Module files without an alias name have their exported functions and data added directly to the expression context. + +`` or `module=` Name of an installed module or path to a module file. + +`alias=` Import the module as a custom-named variable. + +```bash +# Example: use the underscore module (which has been installed locally) +$ mapshaper data.json \ + -require underscore alias=_ \ + -each 'id = _.uniqueId()' \ + -o data2.json +``` + +```bash +# Example: import a module file containing a user-defined function +$ mapshaper data.json \ + -require scripts/includes.mjs \ + -each 'displayname = getDisplayName(d)' \ + -o data2.json +``` + +### -run + +Run mapshaper commands from a [command file](#command-files) or generated on-the-fly from a JS expression. + +`` Either: +- A path to a mapshaper [command file](#command-files). +- A JS expression or template containing embedded expressions, for generating one or more mapshaper commands. + +* Embedded expressions are enclosed in curly braces (see below). +* Expressions can access `target` and `io` objects. +* Expressions can also access functions and data loaded with the `-require` command. +* Functions can be async. + +Expression context: + +If command has a single target layer: +`target` object provides data and information about the command's target layer +- `target.layer_name` Name of layer +- `target.geojson` (getter/setter) Returns a GeoJSON FeatureCollection for the layer (getter) or replaces the layer with the contents of a GeoJSON object (setter). +- `target.geometry_type` One of: polygon, polyline, point, `undefined` +- `target.feature_count` Number of features in the layer +- `target.null_shape_count` Number of features with null geometry +- `target.null_data_count` Number of features with no attribute data +- `target.bbox` GeoJSON-style bounding box +- `target.proj4` PROJ-formatted string giving the CRS (coordinate reference system) of the layer + +`targets` object gives access to all layers targetted by the run command. +- by numerical index, like an array (`targets[0]` refers to the first target layer) +- by layer name (`targets.states` refers to a layer named "states") + +`io` object has a method for passing data to the `-i` command. +- `io.ifile(, )` Create a temp file to use as input in a `-run` command (see example 2 below) + +**Example 1:** Apply a custom projection based on the layer extent. + +```bash +$ mapshaper -i country.shp \ + -require projection.js \ + -run '-proj {tmerc(target.bbox)}' \ + -o +``` + +```javascript +// contents of projection.js file +module.exports.tmerc = function(bbox) { + var lon0 = (bbox[0] + bbox[2]) / 2, + lat0 = (bbox[1] + bbox[3]) / 2; + return `+proj=tmerc lat_0=${lat0} lon_0=${lon0}`; +}; +``` + +**Example 2:** Convert points to a Voronoi diagram using a template expression +together with an external script. + +```bash +$ mapshaper points.geojson \ + -require script.js \ + -run '-i {io.ifile("voronoi.json", voronoi(target.geojson, target.bbox))}' \ + -o +``` + +```javascript +// contents of script.js file +module.exports.voronoi = async function(points, bbox) { + const d3 = await import('d3-delaunay'); // installed locally + const coords = points.features.map(feat => feat.geometry.coordinates); + const voronoi = d3.Delaunay.from(coords).voronoi(bbox); + const features = Array.from(voronoi.cellPolygons()).map(function(ring, i) { + return { + type: 'Feature', + properties: points.features[i].properties, + geometry: { + type: 'Polygon', + coordinates: [ring] + } + }; + }); + return {type: 'FeatureCollection', features: features}; +}; +``` + +### -scalebar + +Add a scale bar to an SVG map. The command creates a data-only layer containing the scale bar's data properties. A scale bar is included in the SVG output file if the scale bar layer is included as an output layer. + +The length of the scale bar reflects the scale in the center of the map's rectangular frame. + +`

    @@ -146,7 +146,7 @@

    File format

    - +
    ?
    Enter options from the command line interface for the -o command. Examples: bbox no-quantization @@ -293,7 +293,7 @@

    GeoPackage layers

    - +
    ?
    Enter options from the command line interface. Examples: snap no-topology @@ -331,6 +331,33 @@

    GeoPackage layers

    + diff --git a/www/page.css b/www/page.css index 6d1cfb4d1..c76ff6feb 100644 --- a/www/page.css +++ b/www/page.css @@ -143,7 +143,7 @@ body.map-view { left: 0; z-index: 40; width: 100%; - height: 29px; + height: 30px; } .mapshaper-logo { diff --git a/www/privacy.html b/www/privacy.html index 4329c87c0..e2a153367 100644 --- a/www/privacy.html +++ b/www/privacy.html @@ -6,118 +6,7 @@ Privacy Policy — mapshaper - - + diff --git a/www/sponsor.html b/www/sponsor.html index e810e6def..0c85b95b1 100644 --- a/www/sponsor.html +++ b/www/sponsor.html @@ -6,167 +6,7 @@ Support mapshaper - - + @@ -179,14 +19,14 @@

    Support mapshaper

    -

    Mapshaper is free, open-source software for editing geographic data — used worldwide for everything from classroom exercises to professional map work.

    +

    Mapshaper is free, open-source software for editing geographic data — used worldwide for everything from student projects to professional map work.

    - +

    What your contribution supports

    @@ -351,10 +358,11 @@

    GeoPackage layers

    if (/^zh(-Hans)?-CN\b/i.test(langs[i])) isChina = true; } if (isChina) { - var zh = document.getElementById('survey-zh-link'); - var en = document.getElementById('survey-en-link'); - if (zh) zh.style.display = ''; - if (en) en.style.display = 'none'; + // Swap every copy of the survey link (splash bar + hamburger menu) + var zhLinks = document.querySelectorAll('.survey-zh-link'); + var enLinks = document.querySelectorAll('.survey-en-link'); + for (var j = 0; j < zhLinks.length; j++) zhLinks[j].style.display = ''; + for (var k = 0; k < enLinks.length; k++) enLinks[k].style.display = 'none'; } })(); diff --git a/www/page.css b/www/page.css index c76ff6feb..68dd8c58b 100644 --- a/www/page.css +++ b/www/page.css @@ -170,7 +170,7 @@ body.map-view { position: absolute; top: 0px; right: 0px; - margin: 0 6px 3px 0; + margin: 0 3px 3px 0; } .btn.header-btn { @@ -207,6 +207,63 @@ body.map-view { vertical-align: -1px; } +/* --- Hamburger menu (post-edit overflow links) --- */ + +#header-menu-btn { + cursor: pointer; + padding: 8px 7px 4px 7px; + user-select: none; + /* All header buttons are 29px tall, so top-align the hamburger to keep its + row baseline-neutral. Without this, the SVG-only button (no text) makes + its inline-block baseline = bottom edge, which drags the surrounding + text-containing buttons down to match. */ + vertical-align: top; +} + +#header-menu-btn svg { + display: block; + fill: currentColor; +} + +#header-menu-dropdown { + position: absolute; + top: 30px; + right: 0; + min-width: 180px; + background-color: #fff; + color: #333; + border: 1px solid #ccc; + border-radius: 3px; + box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15); + padding: 4px 0; + z-index: 50; +} + +.header-menu-item { + display: block; + padding: 4px 14px; + color: #333; + font-size: 14px; + line-height: 1.3; + text-decoration: none; + white-space: nowrap; +} + +.header-menu-item:hover, +.header-menu-item:focus { + background-color: #e6f7ff; + color: #1A6A96; + outline: none; +} + +.header-menu-item.header-menu-sponsor svg { + width: 12px; + height: 12px; + fill: #d63384; + vertical-align: -1px; + margin-right: 6px; +} + .separator { border-left: 1px solid white; height: 10px; From 49b7bd5be457207cd8c79ab1e4351100b2e41a04 Mon Sep 17 00:00:00 2001 From: Matthew Bloch Date: Sat, 25 Apr 2026 12:48:17 -0400 Subject: [PATCH 358/509] Add undo/redo buttons to the GUI in relevant modes --- src/gui/gui-draw-lines2.mjs | 4 +- src/gui/gui-edit-points.mjs | 4 +- src/gui/gui-edit-toolbar.mjs | 61 +++++++++ src/gui/gui-floating-toolbar.mjs | 150 +++++++++++++++++++++++ src/gui/gui-highlight-box.mjs | 5 + src/gui/gui-instance.mjs | 2 + src/gui/gui-interaction-mode-control.mjs | 4 + src/gui/gui-undo.mjs | 19 +++ www/index.html | 8 ++ www/page.css | 131 ++++++++++++++++++-- 10 files changed, 375 insertions(+), 13 deletions(-) create mode 100644 src/gui/gui-edit-toolbar.mjs create mode 100644 src/gui/gui-floating-toolbar.mjs diff --git a/src/gui/gui-draw-lines2.mjs b/src/gui/gui-draw-lines2.mjs index 65189e056..44698f83b 100644 --- a/src/gui/gui-draw-lines2.mjs +++ b/src/gui/gui-draw-lines2.mjs @@ -138,9 +138,9 @@ export function initLineEditing(gui, ext, hit) { function showInstructions() { var isMac = navigator.userAgent.includes('Mac'); var undoKey = isMac ? '⌘' : '^'; - var msg = `Instructions: click to start a path, click or drag to keep drawing. Drag vertices to reshape a path. Type ${undoKey}Z/${undoKey}Y to undo/redo.`; + var msg = `Instructions: click to start a path, click or drag to keep drawing. Drag vertices to reshape a path.`; alert = showPopupAlert(msg, null, { - non_blocking: true, max_width: '388px'}); + non_blocking: true, max_width: '350px'}); } function hideInstructions() { diff --git a/src/gui/gui-edit-points.mjs b/src/gui/gui-edit-points.mjs index 5ca913d43..b92e5295b 100644 --- a/src/gui/gui-edit-points.mjs +++ b/src/gui/gui-edit-points.mjs @@ -28,8 +28,8 @@ export function initPointEditing(gui, ext, hit) { function showInstructions() { var isMac = navigator.userAgent.includes('Mac'); var symbol = isMac ? '⌘' : '^'; - var msg = `Instructions: Click on the map to add points. Move points by dragging. Type ${symbol}Z/${symbol}Y to undo/redo.`; - alert = showPopupAlert(msg, null, { non_blocking: true, max_width: '360px'}); + var msg = `Instructions: click on the map to add points. Move points by dragging.`; + alert = showPopupAlert(msg, null, { non_blocking: true, max_width: '290px'}); } gui.on('interaction_mode_change', function(e) { diff --git a/src/gui/gui-edit-toolbar.mjs b/src/gui/gui-edit-toolbar.mjs new file mode 100644 index 000000000..2c6f5336b --- /dev/null +++ b/src/gui/gui-edit-toolbar.mjs @@ -0,0 +1,61 @@ +import { FloatingToolbar } from './gui-floating-toolbar'; + +// Floating toolbar that exposes undo/redo while the user is in an editing +// interaction mode. The toolbar is the first consumer of FloatingToolbar; +// future per-mode toolbars (e.g. feature styling) can follow the same pattern. + +export function EditToolbar(gui) { + var toolbar = new FloatingToolbar(gui, { name: 'edit-toolbar' }); + var isMac = navigator.userAgent.includes('Mac'); + var modKey = isMac ? '\u2318' : 'Ctrl+'; + var shiftKey = isMac ? '\u21e7' : 'Shift+'; + + var undoBtn = toolbar.addButton('#undo-icon', { + tooltip: 'Undo (' + modKey + 'Z)' + }).on('click', function() { + gui.undo.undo(); + }); + + var redoBtn = toolbar.addButton('#redo-icon', { + tooltip: 'Redo (' + shiftKey + modKey + 'Z)' + }).on('click', function() { + gui.undo.redo(); + }); + + updateButtons(); + + gui.on('interaction_mode_change', function() { + updateVisibility(); + // history is cleared on mode change; refresh button states next tick + updateButtons(); + }); + + gui.on('history_change', function(e) { + undoBtn.setEnabled(!!e.canUndo); + redoBtn.setEnabled(!!e.canRedo); + // Visibility may also depend on history (e.g. attribute edits via popup + // happen in modes that don't otherwise support undo). + updateVisibility(); + }); + + updateVisibility(); + + function updateVisibility() { + if (!gui.interaction) { + toolbar.hide(); + return; + } + var mode = gui.interaction.getMode(); + var hasHistory = gui.undo.canUndo() || gui.undo.canRedo(); + if (gui.interaction.modeSupportsUndo(mode) || hasHistory) { + toolbar.show(); + } else { + toolbar.hide(); + } + } + + function updateButtons() { + undoBtn.setEnabled(gui.undo.canUndo()); + redoBtn.setEnabled(gui.undo.canRedo()); + } +} diff --git a/src/gui/gui-floating-toolbar.mjs b/src/gui/gui-floating-toolbar.mjs new file mode 100644 index 000000000..223fe553a --- /dev/null +++ b/src/gui/gui-floating-toolbar.mjs @@ -0,0 +1,150 @@ +import { El } from './gui-el'; +import { GUI } from './gui-lib'; + +// A reusable floating toolbar anchored at the bottom-center of the map area. +// +// Multiple toolbars stack vertically inside a shared container, so additional +// per-mode toolbars (e.g. feature styling) can coexist with the edit toolbar. +// +// The DOM is structured to leave room for a future drag handle without +// requiring rework: the toolbar element is a flex row with a content slot, +// and a sibling drag-handle slot can be added later. +// +// Constructor options: +// name: optional CSS class added to the toolbar element +// transition: ms for the show/hide transition (default 150) +// +// API: +// toolbar.addButton(iconRef, opts) -> ToolbarButton +// toolbar.addSeparator() +// toolbar.show() +// toolbar.hide() +// toolbar.visible() +// toolbar.node() + +export function FloatingToolbar(gui, opts) { + opts = opts || {}; + var transitionMs = opts.transition || 150; + var root = gui.container.findChild('.mshp-main-map'); + var stack = root.findChild('.floating-toolbar-stack'); + if (!stack) { + stack = El('div').addClass('floating-toolbar-stack').appendTo(root); + } + var el = El('div').addClass('floating-toolbar'); + if (opts.name) el.addClass(opts.name); + var content = El('div').addClass('floating-toolbar-content').appendTo(el); + var visible = false; + var hideTimer = null; + + el.appendTo(stack); + el.css('display', 'none'); + + // Hide when this gui instance becomes inactive (e.g. multi-instance mode) + gui.on('active', updateVisibility); + gui.on('inactive', updateVisibility); + + this.addButton = function(iconRef, btnOpts) { + return new ToolbarButton(content, iconRef, btnOpts || {}); + }; + + this.addSeparator = function() { + return El('div').addClass('floating-toolbar-separator').appendTo(content); + }; + + this.show = function() { + if (visible) return; + visible = true; + updateVisibility(); + }; + + this.hide = function() { + if (!visible) return; + visible = false; + updateVisibility(); + }; + + this.visible = function() { + return visible; + }; + + this.node = function() { + return el.node(); + }; + + function updateVisibility() { + var shouldShow = visible && GUI.isActiveInstance(gui); + if (shouldShow) { + clearTimeout(hideTimer); + hideTimer = null; + el.css('display', 'flex'); + // wait one frame so the browser registers the initial state before + // the transition kicks in + requestAnimationFrame(function() { + el.addClass('visible'); + }); + } else { + el.removeClass('visible'); + // wait for the transition to finish before hiding completely + clearTimeout(hideTimer); + hideTimer = setTimeout(function() { + if (!(visible && GUI.isActiveInstance(gui))) { + el.css('display', 'none'); + } + }, transitionMs); + } + } +} + +function ToolbarButton(parent, iconRef, opts) { + var btn = El('div').addClass('floating-toolbar-btn').appendTo(parent); + if (iconRef) { + var iconNode = El('body').findChild(iconRef); + if (iconNode) { + var icon = iconNode.node().cloneNode(true); + if (icon.hasAttribute('id')) icon.removeAttribute('id'); + btn.node().appendChild(icon); + } + } + var enabled = true; + var clickHandlers = []; + + if (opts.tooltip) setTooltip(opts.tooltip); + + // Block native dblclick to avoid the map's double-click zoom + btn.on('dblclick', function(e) { e.stopPropagation(); }); + + btn.on('click', function(e) { + if (!enabled) return; + for (var i = 0; i < clickHandlers.length; i++) { + clickHandlers[i](e); + } + }); + + this.on = function(event, fn) { + if (event == 'click') { + clickHandlers.push(fn); + } else { + btn.on(event, fn); + } + return this; + }; + + this.enable = function() { return this.setEnabled(true); }; + this.disable = function() { return this.setEnabled(false); }; + + this.setEnabled = function(b) { + enabled = !!b; + btn.classed('disabled', !enabled); + return this; + }; + + this.setTooltip = setTooltip; + + this.node = function() { + return btn.node(); + }; + + function setTooltip(text) { + btn.attr('data-tooltip', text); + } +} diff --git a/src/gui/gui-highlight-box.mjs b/src/gui/gui-highlight-box.mjs index a4a600633..6fc529fdf 100644 --- a/src/gui/gui-highlight-box.mjs +++ b/src/gui/gui-highlight-box.mjs @@ -186,6 +186,10 @@ export function HighlightBox(gui, optsArg) { box.setDataCoords = function(bbox) { boxCoords = bbox; + // Box is being placed programmatically (e.g. around a pinned rectangle); + // enable pointer events on the handles so they can be dragged. Without + // this, mousedowns fall through to the map and trigger pan. + el.classed('hittable', true); redraw(); }; @@ -209,6 +213,7 @@ export function HighlightBox(gui, optsArg) { // remove the current box (if any) box.hide = function() { el.hide(); + el.classed('hittable', false); boxCoords = null; _visible = false; clickStartPoint = null; diff --git a/src/gui/gui-instance.mjs b/src/gui/gui-instance.mjs index fd3b771bc..6c10366a9 100644 --- a/src/gui/gui-instance.mjs +++ b/src/gui/gui-instance.mjs @@ -5,6 +5,7 @@ import { SidebarButtons } from './gui-sidebar-buttons'; import { ModeSwitcher } from './gui-modes'; import { KeyboardEvents } from './gui-keyboard'; import { InteractionMode } from './gui-interaction-mode-control'; +import { EditToolbar } from './gui-edit-toolbar'; import { SessionSnapshots } from './gui-session-snapshot-control'; import { Model } from './gui-model'; import { MshpMap } from './gui-map'; @@ -57,6 +58,7 @@ export function GuiInstance(container, opts) { new SessionSnapshots(gui); } gui.interaction = new InteractionMode(gui); + gui.editToolbar = new EditToolbar(gui); gui.showProgressMessage = function(msg) { if (!gui.progressMessage) { diff --git a/src/gui/gui-interaction-mode-control.mjs b/src/gui/gui-interaction-mode-control.mjs index cf5aa16aa..2ef6ecdbe 100644 --- a/src/gui/gui-interaction-mode-control.mjs +++ b/src/gui/gui-interaction-mode-control.mjs @@ -100,6 +100,10 @@ export function InteractionMode(gui) { return ['info', 'selection', 'data', 'box', 'labels', 'edit_points', 'rectangles'].includes(mode); }; + this.modeSupportsUndo = function(mode) { + return ['data', 'labels', 'edit_points', 'edit_lines', 'edit_polygons', 'vertices', 'rectangles'].includes(mode); + }; + this.getMode = getInteractionMode; this.setMode = function(mode) { diff --git a/src/gui/gui-undo.mjs b/src/gui/gui-undo.mjs index 5740a2e6e..58fe203cb 100644 --- a/src/gui/gui-undo.mjs +++ b/src/gui/gui-undo.mjs @@ -195,6 +195,15 @@ export function Undo(gui) { this.clear = function() { reset(); + fireHistoryChange(); + }; + + this.canUndo = function() { + return history.length - offset > 0; + }; + + this.canRedo = function() { + return offset > 0; }; function addHistoryState(undo, redo) { @@ -203,6 +212,14 @@ export function Undo(gui) { offset = 0; } history.push({undo, redo}); + fireHistoryChange(); + } + + function fireHistoryChange() { + gui.dispatchEvent('history_change', { + canUndo: history.length - offset > 0, + canRedo: offset > 0 + }); } this.undo = function() { @@ -215,6 +232,7 @@ export function Undo(gui) { item.undo(); gui.dispatchEvent('undo_redo_post', {type: 'undo'}); gui.dispatchEvent('map-needs-refresh'); + fireHistoryChange(); } }; @@ -226,6 +244,7 @@ export function Undo(gui) { item.redo(); gui.dispatchEvent('undo_redo_post', {type: 'redo'}); gui.dispatchEvent('map-needs-refresh'); + fireHistoryChange(); }; function getHistoryItem() { diff --git a/www/index.html b/www/index.html index 47fd4414a..ea1fe842a 100644 --- a/www/index.html +++ b/www/index.html @@ -43,6 +43,14 @@ + + + + + + + +
    From 86a3f6de011c6d4e48c24f139ac1be12a2bb2894 Mon Sep 17 00:00:00 2001 From: Matthew Bloch Date: Sat, 25 Apr 2026 14:04:54 -0400 Subject: [PATCH 360/509] v0.7.2 --- .gitignore | 9 ++++++--- CHANGELOG.md | 4 ++++ package-lock.json | 4 ++-- package.json | 3 ++- www/page.css | 8 ++++++++ 5 files changed, 22 insertions(+), 6 deletions(-) diff --git a/.gitignore b/.gitignore index 8e82bd2f1..27bb97108 100644 --- a/.gitignore +++ b/.gitignore @@ -28,6 +28,9 @@ bench/ /DEVELOPING.md /DESIGN* /CITATION* -/ROADMAP* -/GOVERNANCE* -.cursor* \ No newline at end of file +/RO* +/GO* +/FU* +/docs/future-directions.md +.cursor* +build-roadmap.mjs \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index 367951979..0d924df8c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +v0.7.2 +* Added undo/redo toolbar to the web UI. The toolbar appears in interactive editing modes where undo/redo is supported. +* Added hamburger menu to the web UI with links to Docs, GitHub, etc. + v0.7.1 * Added documentation pages and a build script. * The -i command can now import a string of inline CSV data on the command line. diff --git a/package-lock.json b/package-lock.json index 9ce3d792e..3fb9b57f2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "mapshaper", - "version": "0.7.1", + "version": "0.7.2", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "mapshaper", - "version": "0.7.1", + "version": "0.7.2", "license": "MPL-2.0", "dependencies": { "@ngageoint/geopackage": "^4.2.6", diff --git a/package.json b/package.json index 18ae6a1c3..e05649a6b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "mapshaper", - "version": "0.7.1", + "version": "0.7.2", "description": "A tool for editing vector datasets for mapping and GIS.", "keywords": [ "shapefile", @@ -26,6 +26,7 @@ "test": "mocha test", "build": "rollup --config", "docs": "node build-docs.mjs", + "roadmap": "node build-roadmap.mjs", "lint": "eslint --ext mjs src/", "prepublishOnly": "npm test; ./pre-publish", "postpublish": "./release_web_ui; ./release_github_version", diff --git a/www/page.css b/www/page.css index 541929970..13f7a9db8 100644 --- a/www/page.css +++ b/www/page.css @@ -484,6 +484,14 @@ div.alert-box { margin: 0 0 5px 0; } +input[type=text]:focus, +input[type=number]:focus, +textarea:focus { + outline: none; + border-color: #d3aa00; + box-shadow: 0 0 0 2px rgba(212, 168, 0, 0.4); +} + ::placeholder { color: #aaa; opacity: 1; From 74822e90bc103fb28aeafea6056c29cc020d73cb Mon Sep 17 00:00:00 2001 From: Matthew Bloch Date: Sat, 25 Apr 2026 14:12:25 -0400 Subject: [PATCH 361/509] v0.7.3 (prune npm package) --- LICENSE | 2 +- package-lock.json | 4 ++-- package.json | 6 ++++-- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/LICENSE b/LICENSE index 4f3497ed7..eb76f2cbc 100644 --- a/LICENSE +++ b/LICENSE @@ -1,4 +1,4 @@ -Copyright (c) 2025, Matthew Bloch +Copyright (c) 2026, Matthew Bloch This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with this diff --git a/package-lock.json b/package-lock.json index 3fb9b57f2..26575d639 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "mapshaper", - "version": "0.7.2", + "version": "0.7.3", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "mapshaper", - "version": "0.7.2", + "version": "0.7.3", "license": "MPL-2.0", "dependencies": { "@ngageoint/geopackage": "^4.2.6", diff --git a/package.json b/package.json index e05649a6b..136894c39 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "mapshaper", - "version": "0.7.2", + "version": "0.7.3", "description": "A tool for editing vector datasets for mapping and GIS.", "keywords": [ "shapefile", @@ -38,7 +38,9 @@ "/www/**", "!/www/nacis/**", "/mapshaper.js", - "!.DS_Store" + "!.DS_Store", + "!/www/docs/**", + "!/www/llms*" ], "dependencies": { "@ngageoint/geopackage": "^4.2.6", From 5fca362fa95a7215105b705557d68a67b39e77ce Mon Sep 17 00:00:00 2001 From: Matthew Bloch Date: Mon, 27 Apr 2026 16:45:53 -0400 Subject: [PATCH 362/509] Docs updates --- docs/examples/data/us-states.txt | 3 ++ docs/examples/us-states.md | 4 +- docs/formats/overview.md | 4 +- docs/formats/shapefile.md | 2 + docs/gallery/index.md | 2 +- docs/guides/expressions.md | 89 ++++++++++++++++++++++++++++++-- docs/guides/simplification.md | 13 +++-- docs/guides/topology.md | 30 ++++++----- docs/reference.md | 5 +- 9 files changed, 120 insertions(+), 32 deletions(-) diff --git a/docs/examples/data/us-states.txt b/docs/examples/data/us-states.txt index 4a0006c1b..3076f542b 100644 --- a/docs/examples/data/us-states.txt +++ b/docs/examples/data/us-states.txt @@ -3,4 +3,7 @@ mapshaper \ -filter 'admin == "United States of America"' \ -proj albersusa \ -classify non-adjacent colors=Tableau10 \ +-innerlines + name=innerlines \ +-style stroke=white stroke-width=0.5 \ +-target states,innerlines \ -o us-states.svg height=400 width=600 \ No newline at end of file diff --git a/docs/examples/us-states.md b/docs/examples/us-states.md index ee820a1d0..b7c740abd 100644 --- a/docs/examples/us-states.md +++ b/docs/examples/us-states.md @@ -19,7 +19,8 @@ Difficulty: easy 2. Keep only U.S. states 3. Project to the "Albers USA" projection 4. Assign random, non-adjacent colors -5. Export as SVG +5. Add a stroke to borders between two states +6. Export as SVG ### Code @@ -29,6 +30,7 @@ Difficulty: easy * To see the list of built-in color schemes to use with `-classify`, run `mapshaper -colors`. You can also use `colors=random`. * The Albers USA projection (`-proj albersusa`) is a custom projection used by The New York Times for U.S. maps. +* Applying a stroke to interior lines using `-innerlines` (and not to exterior lines) creates a more accurate and crisper-looking coastline. ### Assets diff --git a/docs/formats/overview.md b/docs/formats/overview.md index ca68e1292..c975d5da9 100644 --- a/docs/formats/overview.md +++ b/docs/formats/overview.md @@ -13,7 +13,7 @@ This section explains how each supported file format is handled, what format-spe | Format | Extension | Read | Write | Geometry | Attributes | Topology | Multi-layer | |---|---|:---:|:---:|---|---|:---:|:---:| -| [Shapefile](/docs/formats/shapefile.html) | `.shp` | ✓ | ✓ | vector | DBF (10-char names) | — | — | +| [Shapefile](/docs/formats/shapefile.html) | `.shp` `.shx` `.dbf` `.prj` `.cpg` | ✓ | ✓ | vector | DBF (10-char names) | — | — | | [GeoJSON](/docs/formats/geojson.html) | `.json` `.geojson` | ✓ | ✓ | vector | yes | — | — | | [TopoJSON](/docs/formats/topojson.html) | `.json` `.topojson` | ✓ | ✓ | vector | yes | **✓** | ✓ | | [GeoPackage](/docs/formats/geopackage.html) | `.gpkg` | ✓ | ✓ | vector | yes | — | ✓ | @@ -29,6 +29,6 @@ This section explains how each supported file format is handled, what format-spe A few things worth knowing across all formats: -- **Auto-detection by extension.** You usually don't need to tell Mapshaper what format a file is — it picks the right reader from the file extension. Use `format=` on `-i` or `-o` to override. +- **Auto-detection by extension.** You usually don't need to tell Mapshaper what format a file is — the input and output format are both inferred from the file extension. Use `format=` on `-i` or `-o` to override. - **TopoJSON is the only interchange format that preserves topology** in the file itself. Topology-aware operations like [`-dissolve`](/docs/reference.html#-dissolve), [`-clean`](/docs/reference.html#-clean) and [`-simplify`](/docs/reference.html#-simplify) work correctly regardless of the input format, but only TopoJSON keeps shared boundaries between adjacent polygons from being duplicated on disk. (Mapshaper's own [`.msx`](/docs/formats/snapshot.html) snapshots also preserve topology, but they're not readable by other tools.) - **Encoding.** The `encoding=` option on `-i` and `-o` applies to Shapefile, DBF and CSV/TSV i/o (UTF-8 is the default) — the other formats are UTF-8-only. diff --git a/docs/formats/shapefile.md b/docs/formats/shapefile.md index f4cc0889e..b05e868ae 100644 --- a/docs/formats/shapefile.md +++ b/docs/formats/shapefile.md @@ -12,6 +12,8 @@ Shapefile is ESRI's long-standing vector format and remains widely used as an ex ### CLI examples +When using the CLI, reference only the `.shp` file — Mapshaper automatically reads the companion `.shx`, `.dbf`, `.prj` and `.cpg` files from the same directory if they are present. + ```bash mapshaper provinces.shp -info mapshaper provinces.shp -simplify 20% -o provinces.geojson diff --git a/docs/gallery/index.md b/docs/gallery/index.md index 8047b35cd..9a1d1da4a 100644 --- a/docs/gallery/index.md +++ b/docs/gallery/index.md @@ -5,6 +5,6 @@ description: Example maps made with Mapshaper, with full source data and reprodu # Gallery -A collection of example maps made with Mapshaper. Each tile links to a full write-up with the recipe, the source data, and a one-click link to open the finished snapshot in the [web app](/). +A collection of example maps made with Mapshaper. Each tile links to its own page with the recipe, the source data, and a link to open the finished map in the [web app](/). diff --git a/docs/guides/expressions.md b/docs/guides/expressions.md index 452c9f279..bf26882e5 100644 --- a/docs/guides/expressions.md +++ b/docs/guides/expressions.md @@ -5,7 +5,7 @@ description: Reference for the JS expressions used in -each, -filter, -calc, -wh # JavaScript expressions -Many Mapshaper commands take a **JS expression** as an argument or option. Expressions let you read and write per-feature attributes, derive new fields, filter records, sort, generate templated commands, and inspect layer-level metadata. The same expression syntax and execution context are reused across commands, so once you've learned the shape of a `-each` expression you can use it almost everywhere. +Many Mapshaper commands take a **JS expression** as an argument or option. Expressions let you filter features, derive new fields, calculate summary statistics, control style attributes and much more. The expression language is standard JavaScript, and the variables available inside expressions — field names, `this`, `d`, helper functions — are consistent across most commands. ```bash mapshaper counties.shp \ @@ -16,6 +16,85 @@ mapshaper counties.shp \ Expressions are plain JavaScript. They can use any built-in language feature (arithmetic, string methods, conditionals, regex, etc.). Some commands also expect the expression to return a particular kind of value — `-filter` and `-inspect` expect `true` or `false`, `-sort` expects a sort key, `-split` expects a group identifier, and so on. +## What is a JavaScript expression? + +An **expression** is any fragment of JavaScript code that produces a value. The key distinction is between an expression (which *evaluates to something*) and a statement (which *does something but produces no value*). Mapshaper always expects an expression — a piece of code that can be evaluated and whose result is used by the command. + +The simplest expressions are literals: + +```js +true // the boolean value true +42 // the number 42 +"hello" // the string "hello" +``` + +A field name from the attribute table is also an expression — it evaluates to that field's value for the current feature: + +```js +POPULATION // the value of the POPULATION field +``` + +Arithmetic, comparisons and string operations are expressions: + +```js +POPULATION / AREA // division of two fields +NAME.toUpperCase() // calling a string method +Math.abs(CHANGE) // calling a built-in math function +POPULATION > 1000000 // comparison, evaluates to true or false +``` + +A **ternary expression** (`condition ? value_if_true : value_if_false`) is a compact conditional that evaluates to one of two values: + +```js +TYPE == 'inner' ? 'blue' : 'pink' +``` + +Multiple expressions separated by commas evaluate left to right; the last value is returned. This is how `-each` handles multiple field assignments in one call: + +```js +AREA_KM2 = this.area / 1e6, POP_DENSITY = POPULATION / AREA_KM2 +``` + +**What is not an expression.** Statements and control-flow blocks are not expressions and cannot be used directly as a Mapshaper expression argument: + +```js +// ✗ if statement — not an expression +if (POPULATION > 1000000) { LARGE = true } + +// ✗ try/catch block — not an expression +try { result = riskyCalc() } catch(e) { result = 0 } + +// ✗ for loop — not an expression +for (var i = 0; i < 10; i++) { ... } +``` + +If you need logic more complex than a ternary, define a helper function in an external file and load it with [`-include`](/docs/reference.html#-include): + +```bash +mapshaper data.geojson \ + -include helpers.js \ + -each 'SIZE = classify(POPULATION)' \ + -o out.geojson +``` + +## Quoting expressions + +An expression containing spaces or special characters needs to be quoted, otherwise mapshaper will interpret the parts as separate arguments and produce a syntax error. Single quotes are the most common style: + +```bash +mapshaper data.geojson -filter 'POPULATION > 1000000' -o out.geojson +``` + +If the expression itself contains single quotes — for example, a string literal — wrap it in double quotes instead, and vice versa: + +```bash +mapshaper data.geojson -filter "TYPE == 'inner'" -o out.geojson +``` + +Backtick quoting is also available as a third option when both single and double quotes appear in the expression. + +Backslash escapes (`\"`, `\'`) can also resolve quoting conflicts, but when running commands in a shell the shell processes them before passing the expression to mapshaper, which can strip the backslashes and produce a JS syntax error. This gets particularly confusing inside shell scripts and Makefiles, where an additional level of escaping may be needed. When possible, switching the outer quote style is simpler than relying on backslash escapes. + ## Where expressions appear | Command | Expression role | Type | @@ -180,7 +259,7 @@ JavaScript's built-in `Math`, `JSON`, `Number`, `String`, `Array`, `Date`, `Obje ## Calc expressions -`-calc` and any command's `calc=` option use the same context as `-each` plus a set of *aggregate* functions that operate over the entire group of features (or the entire layer for `-calc`). Each aggregate function takes a per-feature expression and reduces it to a single value across the group. +`-calc` and any command's `calc=` option use the same context as `-each` plus a set of *reduction functions* — functions that convert data from a group of features or an entire layer to a single value. Each reduction function takes a per-feature expression and reduces it across the group. | Function | Description | | --- | --- | @@ -330,7 +409,7 @@ mapshaper events.csv \ # Sort polygons largest-first mapshaper countries.geojson \ - -sort '-this.area' \ + -sort this.area descending \ -o sorted.geojson # Look up one feature @@ -368,9 +447,9 @@ mapshaper -i country.shp -require ./projection.js \ ## See also -- [`-each`](/docs/reference.html#-each) — the canonical feature-expression command +- [`-each`](/docs/reference.html#-each) - [`-filter`](/docs/reference.html#-filter) - [`-calc`](/docs/reference.html#-calc) - [`-define`](/docs/reference.html#-define), [`-include`](/docs/reference.html#-include), [`-require`](/docs/reference.html#-require) - [`-run`](/docs/reference.html#-run) -- [Basics](/docs/examples/basics.html) — recipes that put expressions to work +- [Basics](/docs/examples/basics.html) — many examples that use expressions diff --git a/docs/guides/simplification.md b/docs/guides/simplification.md index 0ccc7e226..628ba9a8b 100644 --- a/docs/guides/simplification.md +++ b/docs/guides/simplification.md @@ -11,14 +11,13 @@ Simplification reduces the number of vertices in polylines and polygon boundarie Mapshaper offers three simplification methods, selectable as flags to `-simplify`: -- **`dp`** — Douglas-Peucker (also known as Ramer–Douglas–Peucker). Guarantees that simplified lines stay within a fixed distance of the original. Good for stripping excess vertices to reduce file size, but tends to grow visible spikes at high simplification. -- **`visvalingam`** — The Visvalingam algorithm. Iteratively removes the point that forms the smallest triangle with its two neighbors. -- **`weighted_visvalingam`** (Mapshaper's default) — Visvalingam's effective-area algorithm with a custom weighting that underweights points at sharp angles, so they are removed earlier than in standard Visvalingam. The result is visibly smoother lines and fewer jagged spikes at high simplification. +- **`dp`** — Douglas-Peucker (also known as Ramer–Douglas–Peucker). Guarantees that simplified lines stay within a fixed distance of the original. Good for stripping excess vertices to reduce file size, but tends to introduce visible spikes at high simplification. +- **`visvalingam`** — The Visvalingam algorithm. Iteratively removes the point that forms the triangle of smallest area with its two neighbors. +- **`weighted_visvalingam`** (Mapshaper's default) — Visvalingam's algorithm with a custom weighting that underweights points at sharp angles, so they are removed earlier than in standard Visvalingam. The result is visibly smoother lines and fewer jagged spikes at high simplification. You can fine tune this effect by setting the `weighting=` option (default is 0.7). The larger the parameter, the greater the smoothing effect. (Make sure that long, thin geographic features that you want to keep do not get smoothed away.) -Weighted Visvalingam is the default because it has proven to be versatile and effective at reducing detail in highly detailed source data. This method can be effective at generalizing very detailed source files, but be careful that it doesn't remove long, thin geographic features that you want to keep.You can control the amount of weighting used by Weighted Visvalingam with the `weighting=` option (default is 0.7). - -If you are only interested in minimizing file size, Douglas-Peucker is generally the better choice. +Weighted Visvalingam is the default because it produces good-looking generalizations of highly detailed source layers. But none of these methods can approach the quality that a cartographer achieves when generalizing linework by hand. +If you are primarily interested in removing as many vertices as possible without visible changes to the shape of the lines, you may find that Douglas-Peucker combined with an appropriate `interval=` or `resolution=` parameter gives the best results. **Figures** @@ -84,7 +83,7 @@ mapshaper provinces.shp -simplify 5% -clean -o provinces.geojson ## Simplifying multiple layers consistently -When you import multiple layers using `-i combine-files`, Mapshaper builds a shared topology. This means that boundaries shared between layers — for example, aligned state and county polygon borders — are simplified identically across both. +When you import multiple layers using `-i combine-files`, Mapshaper builds a shared topology. This means that boundaries shared between layers — for example, aligned state and county polygon borders — are simplified identically across all layers. Without this, the layers would diverge during simplification, creating visible gaps and overlaps where they should align. ```bash diff --git a/docs/guides/topology.md b/docs/guides/topology.md index 0f81aa16d..a0caa04f8 100644 --- a/docs/guides/topology.md +++ b/docs/guides/topology.md @@ -11,9 +11,21 @@ Mapshaper detects topology on import by identifying coordinates that are exactly But coordinates that "should be" identical often aren't. Source datasets routinely contain misalignments (tiny gaps or overlaps between adjacent polygons) that defeat exact-match topology detection. The result is that what looks like a clean boundary turns into duplicated, slightly-offset arcs — and simplification, dissolving and clipping all start to misbehave. +## Cleaning + +The [`-clean`](/docs/reference.html#-clean) command is the general-purpose repair tool for topology errors. It snaps near-duplicate vertices, removes small gaps and overlaps between adjacent polygons, and fixes self-intersecting lines: + +```bash +mapshaper countries.shp -clean -o cleaned.shp +``` + +`-clean` accepts a `gap-fill-area=` option to control how aggressively gaps are filled, and a `sliver-control=` setting for handling sliver polygons. [`-dissolve`](/docs/reference.html#-dissolve) runs an equivalent repair by default, so explicitly running `-clean` is mainly useful when you want clean output without dissolving anything. + +In the web app, `-clean` runs from the **Console** the same way as on the CLI (the leading `-` is optional, e.g. just `clean gap-fill-area=100`). + ## Snapping -The simplest fix is to ask Mapshaper to snap nearby vertices together at import time. +For datasets where adjacent polygons have vertices that should be identical but are slightly offset — typically due to floating-point rounding in the source tool — you can ask Mapshaper to snap those vertices together at import time: In the **command line**, pass the `snap` flag to `-i`: @@ -23,23 +35,13 @@ mapshaper countries.shp snap -dissolve CONTINENT -o continents.shp In the **web app**, tick "snap vertices" in the import dialog (open the import options with the **with advanced options** checkbox). -By default, snapping uses an automatic threshold of about 0.0025× the average segment length, which is designed to catch misalignments caused by floating-point rounding. To set an explicit snapping distance, use `snap-interval=`: +By default, snapping uses an automatic threshold of about 0.0025× the average segment length. To set an explicit snapping distance, use `snap-interval=`: ```bash mapshaper countries.shp snap-interval=0.0001 -o cleaned.shp ``` -## Cleaning - -Snapping handles slightly offset pairs of vertices, but doesn't help much when adjacent polygons have small overlapping regions or gaps along their shared boundaries. The [`-clean`](/docs/reference.html#-clean) command repairs these by recomputing the polygon mosaic and snapping geometry that's nearly identical: - -```bash -mapshaper countries.shp -clean -o cleaned.shp -``` - -`-clean` accepts a `gap-fill-area=` option to control how aggressively gaps are filled, and a `sliver-control=` setting for handling sliver polygons. [`-dissolve`](/docs/reference.html#-dissolve) runs an equivalent repair by default, so explicitly running `-clean` is mainly useful when you want clean output without dissolving anything. - -In the web app, `-clean` runs from the **Console** the same way as on the CLI — the leading `-` is optional, e.g. just `clean gap-fill-area=100`. +Snapping is only effective when the misalignment is limited to nearly-identical coordinate pairs. Most real-world datasets with topology errors have more complex problems — gaps, overlaps, or self-intersections that snapping alone cannot fix. There is no easy way to know in advance whether snapping is sufficient without inspecting the result, so `-clean` is usually the better starting point. ## Dissolving with topology repair @@ -59,5 +61,5 @@ On the command line, [`-clean`](/docs/reference.html#-clean) and [`-dissolve`](/ A few patterns to watch out for: -- **`.shp` files exported from older GIS tools.** Some pipelines round coordinates inconsistently between adjacent features, producing systematic misalignments. Importing with `snap` is usually enough. +- **`.shp` files exported from older GIS tools.** Some pipelines round coordinates inconsistently between adjacent features, producing systematic misalignments. Running `-clean` (or importing with `snap` if the misalignments are small and consistent) usually resolves these. - **Older versions of ArcGIS's dissolve tool** have been observed to produce topology errors when dissolving a Shapefile that hasn't first been added to a Geodatabase. If you're starting from such output, run it through `mapshaper input.shp -clean -o cleaned.shp` to repair before further processing. diff --git a/docs/reference.md b/docs/reference.md index e7a14172b..265367e28 100644 --- a/docs/reference.md +++ b/docs/reference.md @@ -229,10 +229,11 @@ In place of a file name, you can also pass data inline: - **CSV.** A comma-delimited string is treated as inline CSV when it contains a newline (a real one or the literal escape sequence `\n`) and both the first and second lines contain at least one comma. ```bash -mapshaper -i 'lat,lon,label\n48.86,2.35,Paris\n51.51,-0.13,London' -o cities.json +mapshaper -i 'lat,lon,label\n48.86,2.35,Paris\n51.51,-0.13,London' \ + -o cities.json ``` -`combine-files` Import multiple files to separate layers with shared topology. Useful for generating a single TopoJSON file containing multiple geometry objects. +`combine-files` Import multiple files to separate layers with shared topology. `batch-mode` Apply subsequent commands separately to each input file, as if running mapshaper multiple times with the same set of commands. Used together with `-o` to transform a directory of files. Required (in a future release) to use this batch-processing behavior. From f8548327936922fd41396d6f1c75bd4235e7b3e1 Mon Sep 17 00:00:00 2001 From: Matthew Bloch Date: Mon, 27 Apr 2026 16:46:16 -0400 Subject: [PATCH 363/509] Stop creating empty tags in SVG output for null geometries --- src/svg/mapshaper-svg.mjs | 21 +++++++++-- test/svg-test.mjs | 77 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 94 insertions(+), 4 deletions(-) diff --git a/src/svg/mapshaper-svg.mjs b/src/svg/mapshaper-svg.mjs index b80e15f6c..7b9e779f6 100644 --- a/src/svg/mapshaper-svg.mjs +++ b/src/svg/mapshaper-svg.mjs @@ -119,12 +119,27 @@ function exportSymbolsForSVG(lyr, dataset, opts) { var geojson = exportDatasetAsGeoJSON(d, opts); var features = geojson.features || geojson.geometries || (geojson.type ? [geojson] : []); var children = importGeoJSONFeatures(features, opts); + // Drop empty placeholder elements (features whose geometry was null in the + // source data, collapsed during simplification, or otherwise produced no + // visible output). Keep the layer's records in lockstep so that data-* + // attributes added via -o svg-data= remain correctly aligned. + var records = lyr.data ? lyr.data.getRecords() : null; + var keptRecords = records ? [] : null; + children = children.filter(function(child, i) { + if (isEmptyPlaceholder(child)) return false; + if (keptRecords) keptRecords.push(records[i]); + return true; + }); if (opts.svg_data && lyr.data) { - addDataAttributesToSVG(children, lyr.data, opts.svg_data); + addDataAttributesToSVG(children, keptRecords, lyr.data.getFields(), opts.svg_data); } return children; } +function isEmptyPlaceholder(o) { + return o.tag == 'g' && (!o.children || o.children.length === 0); +} + export function validateSvgDataFields(layers, fieldsArg) { var missingFields = fieldsArg.reduce(function(memo, field) { if (!fieldExists(layers, field)) { @@ -144,15 +159,13 @@ export function validateSvgDataFields(layers, fieldsArg) { } } -function addDataAttributesToSVG(children, table, fieldsArg) { - var allFields = table.getFields(); +function addDataAttributesToSVG(children, records, allFields, fieldsArg) { var dataFields = fieldsArg.indexOf('*') > -1 ? allFields.concat() : fieldsArg; var missingFields = utils.difference(dataFields, allFields); if (missingFields.length > 0) { dataFields = utils.difference(dataFields, missingFields); // stop("Missing data field(s):", missingFields.join(', ')); } - var records = table.getRecords(); var data = exportDataAttributesForSVG(records, dataFields); if (children.length != data.length) { error("Mismatch between number of SVG symbols and data attributes"); diff --git a/test/svg-test.mjs b/test/svg-test.mjs index 638ea10c5..af009c079 100644 --- a/test/svg-test.mjs +++ b/test/svg-test.mjs @@ -132,6 +132,83 @@ describe('mapshaper-svg.js', function () { }); }); + it ('features with null/empty geometry produce no SVG output', function(done) { + var geo = { + type: 'FeatureCollection', + features: [{ + type: 'Feature', + properties: {name: 'a'}, + geometry: { + type: 'Polygon', + coordinates: [[[0, 0], [0, 1], [1, 1], [1, 0], [0, 0]]] + } + }, { + type: 'Feature', + properties: {name: 'b'}, + geometry: null + }, { + type: 'Feature', + properties: {name: 'c'}, + geometry: { + type: 'MultiPolygon', + coordinates: [] + } + }] + }; + var cmd = '-i shapes.json -o shapes.svg margin=0 width=100'; + api.applyCommands(cmd, {'shapes.json': geo}, function(err, output) { + assert.ifError(err); + var svg = output['shapes.svg']; + // Only the valid polygon survives -- no empty placeholders for the + // null-geometry or empty-coordinates features. + assert.equal((svg.match(//.test(svg)); + done(); + }); + }) + + it ('-o svg-data= keeps records aligned after dropping empty-geometry features', function(done) { + var geo = { + type: 'FeatureCollection', + features: [{ + type: 'Feature', + properties: {name: 'a'}, + geometry: null + }, { + type: 'Feature', + properties: {name: 'b'}, + geometry: { + type: 'Polygon', + coordinates: [[[0, 0], [0, 1], [1, 1], [1, 0], [0, 0]]] + } + }, { + type: 'Feature', + properties: {name: 'c'}, + geometry: null + }, { + type: 'Feature', + properties: {name: 'd'}, + geometry: { + type: 'Polygon', + coordinates: [[[2, 0], [2, 1], [3, 1], [3, 0], [2, 0]]] + } + }] + }; + var cmd = '-i shapes.json -o shapes.svg svg-data=name margin=0 width=100'; + api.applyCommands(cmd, {'shapes.json': geo}, function(err, output) { + assert.ifError(err); + var svg = output['shapes.svg']; + // The two surviving paths must carry the data-* attributes from the + // matching source records (b and d), not the dropped ones (a and c). + assert.equal((svg.match(/ -1); + assert(svg.indexOf('data-name="d"') > -1); + assert.equal(svg.indexOf('data-name="a"'), -1); + assert.equal(svg.indexOf('data-name="c"'), -1); + done(); + }); + }) + it ('multipolygon exported as single path', function(done) { var geo = { type: 'Feature', From 91eae0f5190bbfcf347af9a48a1d7dfc223e4138 Mon Sep 17 00:00:00 2001 From: Matthew Bloch Date: Mon, 27 Apr 2026 22:30:34 -0400 Subject: [PATCH 364/509] Stop loading SVG icons from urls --- src/svg/svg-definitions.mjs | 30 ++++++++++++++---------------- src/svg/svg-fetch.mjs | 10 ---------- 2 files changed, 14 insertions(+), 26 deletions(-) delete mode 100644 src/svg/svg-fetch.mjs diff --git a/src/svg/svg-definitions.mjs b/src/svg/svg-definitions.mjs index 45d016b71..ebd11dd90 100644 --- a/src/svg/svg-definitions.mjs +++ b/src/svg/svg-definitions.mjs @@ -3,7 +3,6 @@ import { convertFillPattern } from '../svg/svg-hatch'; import { convertFillEffect } from '../svg/svg-effect'; import { stop } from '../utils/mapshaper-logging'; import utils from '../utils/mapshaper-utils'; -import { fetchFileSync } from '../svg/svg-fetch'; import require from '../mapshaper-require'; // convert object properties to definitions for images and hatch fills @@ -30,6 +29,13 @@ export function convertPropertiesToDefinitions(obj, defs) { function convertSvgImage(obj, defs) { // Same-origin policy prevents embedding images in the web UI var href = obj.properties.href; + // Remote URLs were previously fetched at export time so the SVG could be + // embedded inline. That capability has been removed (it required a + // synchronous-HTTP dependency built on a child-process hack); download + // the asset first and reference it by local path instead. + if (href.indexOf('http') === 0) { + stop('Remote SVG asset references are not supported. Download the file first and reference it by a local path:', href); + } // look for a previously added definition to use // (assumes that images that share the same href can also use the same defn) var item = utils.find(defs, function(item) {return item.href == href;}); @@ -50,12 +56,12 @@ function convertSvgImage(obj, defs) { } } -// Returns the content of an SVG file from a local path or URL -// Returns '' if unable to get the content (e.g. due to cross-domain security rules) +// Returns the content of an SVG file from a local path. +// Returns '' if unable to get the content; the caller leaves the original +// tag in the output so the SVG renderer can attempt to load it. function serializeSvgImage(href, id) { var svg = ''; try { - // try to download the SVG content and use that svg = convertSvgToDefn(getSvgContent(href), id) + '\n'; svg = '\n' + svg; // add href as a comment, to aid in debugging } catch(e) { @@ -66,20 +72,12 @@ function serializeSvgImage(href, id) { return svg; } -// href: A URL or a local path -// TODO: download SVG files asynchronously -// (currently, files are downloaded synchronously, which is obviously undesirable) -// +// href: A local path function getSvgContent(href) { - var content; - if (href.indexOf('http') === 0) { - content = fetchFileSync(href); - } else if (require('fs').existsSync(href)) { - content = require('fs').readFileSync(href, 'utf8'); - } else { - stop("Invalid SVG location:", href); + if (require('fs').existsSync(href)) { + return require('fs').readFileSync(href, 'utf8'); } - return content; + stop("Invalid SVG location:", href); } function convertSvgToDefn(svg, id) { diff --git a/src/svg/svg-fetch.mjs b/src/svg/svg-fetch.mjs deleted file mode 100644 index 1204880fb..000000000 --- a/src/svg/svg-fetch.mjs +++ /dev/null @@ -1,10 +0,0 @@ -import require from '../mapshaper-require'; - -var cache = {}; -export function fetchFileSync(url) { - if (url in cache) return cache[url]; - var res = require('sync-request')('GET', url, {timeout: 2000}); - var content = res.getBody().toString(); - cache[url] = content; - return content; -} From e0145c2530253970f3a9a6676ecd1f6bd29579f8 Mon Sep 17 00:00:00 2001 From: Matthew Bloch Date: Mon, 27 Apr 2026 22:31:19 -0400 Subject: [PATCH 365/509] Fix mapshaper-gui termination on tab close --- src/gui/gui.mjs | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/src/gui/gui.mjs b/src/gui/gui.mjs index 71aa58d4f..884cc8f52 100644 --- a/src/gui/gui.mjs +++ b/src/gui/gui.mjs @@ -81,12 +81,19 @@ var startEditing = function() { } }); - window.addEventListener('unload', function(e) { - if (window.location.hostname == 'localhost') { - // send termination signal for mapshaper-gui - var req = new XMLHttpRequest(); - req.open('GET', '/close'); - req.send(); + // Send termination signal to mapshaper-gui when the tab is closed. + // Use 'pagehide' rather than 'unload' (the latter is increasingly suppressed + // by Chrome/Edge for bfcache reasons), and use sendBeacon / keepalive fetch + // because async XHR in the unload path is not guaranteed to be sent. + window.addEventListener('pagehide', function(e) { + if (window.location.hostname != 'localhost') return; + if (e.persisted) return; // page is being cached, not actually closed + if (navigator.sendBeacon) { + navigator.sendBeacon('/close'); + } else { + try { + fetch('/close', {method: 'GET', keepalive: true}); + } catch (err) {} } }); From e8af6eb9963b1676f37a1b034dc64b7e28c69ff1 Mon Sep 17 00:00:00 2001 From: Matthew Bloch Date: Mon, 27 Apr 2026 22:34:59 -0400 Subject: [PATCH 366/509] Update dependencies --- CHANGELOG.md | 5 + bin/mapshaper-gui | 12 +- build-docs.mjs | 44 +- package-lock.json | 1729 +++++++++++++++++++++++++-------------------- package.json | 9 +- www/geopackage.js | 20 +- www/modules.js | 10 +- 7 files changed, 1022 insertions(+), 807 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0d924df8c..ff779f8e9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,8 @@ +vNext +* Removed support for fetching remote SVG assets at export time. +* Bumped the minimum supported Node.js version from 12 to 20.11 (Maintenance LTS). +* Updated dependencies. + v0.7.2 * Added undo/redo toolbar to the web UI. The toolbar appears in interactive editing modes where undo/redo is supported. * Added hamburger menu to the web UI with links to Docs, GitHub, etc. diff --git a/bin/mapshaper-gui b/bin/mapshaper-gui index 760dfe276..a5f4045ed 100755 --- a/bin/mapshaper-gui +++ b/bin/mapshaper-gui @@ -16,6 +16,7 @@ var defaultPort = 5555, .option('-t, --target ', 'name of layer to select initially') .addOption(new commander.Option('-b, --blurb ', 'replace the default blurb on the import screen').hideHelp()) + .argument('[file...]', 'data files to load') .helpOption('-h, --help', 'show this help message') .version(require('../package.json').version) .parse(process.argv), @@ -25,7 +26,6 @@ var defaultPort = 5555, url = require("url"), fs = require("fs"), Cookies = require("cookies"), - opn = require("opn"), webRoot = path.join(__dirname, "../www"), port = parseInt(opts.port, 10) || defaultPort, dataFiles = expandShapefiles(program.args), @@ -93,7 +93,15 @@ function startServer(port) { serveFile(getAssetFilePath(uri), response); } }).listen(port, 'localhost', function() { - opn("http://localhost:" + port); + // `open` is ESM-only since v9, so import it dynamically from this CJS bin + // script. Failure to launch a browser is non-fatal: the user can still + // visit the URL printed (or implied) by the running server. + import('open').then(function(mod) { + return mod.default("http://localhost:" + port); + }).catch(function(err) { + console.error("Could not open browser automatically; visit http://localhost:" + port + " manually."); + console.error(err && err.message || err); + }); }); } diff --git a/build-docs.mjs b/build-docs.mjs index 3486149b5..f3975f6b3 100644 --- a/build-docs.mjs +++ b/build-docs.mjs @@ -278,6 +278,40 @@ function preprocessExample(body, meta, page) { return body; } +// Walk every section page and copy each frontmatter-referenced data file +// (`image:`, `snapshot:`, `download:`) from its source `data/` directory +// into the matching output `data/` directory. The `recipe:` file is +// intentionally skipped because its contents are inlined into the page at +// build time -- it never needs to be served as a separate URL. +function copyReferencedDataFiles() { + const ASSET_FIELDS = ['image', 'snapshot', 'download']; + const seen = new Set(); // dedupe across pages that share an asset + for (const page of allPages) { + if (page.kind !== 'section') continue; + const src = readFile(page.sourcePath); + const { meta } = parseFrontmatter(src); + const names = ASSET_FIELDS + .map(f => meta[f]) + .filter(Boolean); + if (names.length === 0) continue; + const srcDataDir = path.join(path.dirname(page.sourcePath), 'data'); + const destDataDir = path.join(OUT_DIR, + path.dirname(page.outRel), 'data'); + for (const name of names) { + const srcPath = path.join(srcDataDir, name); + const destPath = path.join(destDataDir, name); + if (seen.has(destPath)) continue; + seen.add(destPath); + // Mirror the existing requireFile() behaviour: if a referenced asset + // is missing, render-time code will throw a clear error. Don't throw + // here too; we want the copy step to be best-effort. + if (!fs.existsSync(srcPath)) continue; + ensureDir(destDataDir); + fs.copyFileSync(srcPath, destPath); + } + } +} + // Walk the Examples section in nav order and collect a tile descriptor for // every page that declares an `image:` in its frontmatter. Cached so we // don't re-read every example's source for each render pass. @@ -748,11 +782,11 @@ function build() { if (fs.existsSync(imagesSrc)) { copyDir(imagesSrc, path.join(OUT_DIR, 'images')); } - // Copy any per-section data directory verbatim so example pages can - // reference images, snapshots and download bundles via stable URLs like - // /docs/examples/data/. - copyDir(path.join(SRC_DIR, 'examples', 'data'), - path.join(OUT_DIR, 'examples', 'data')); + // Copy only the data files that are explicitly referenced from page + // frontmatter. The source `data/` directories also contain build-time + // inputs (Makefile, source GeoJSON, .txt recipes that get inlined) which + // would otherwise bloat gh-pages without being served from any docs page. + copyReferencedDataFiles(); let count = 0; for (const page of allPages) { diff --git a/package-lock.json b/package-lock.json index 26575d639..a53d18932 100644 --- a/package-lock.json +++ b/package-lock.json @@ -15,7 +15,7 @@ "@xmldom/xmldom": "^0.8.6", "adm-zip": "^0.5.9", "big.js": "^7.0.1", - "commander": "7.0.0", + "commander": "^14.0.3", "cookies": "^0.8.0", "d3-color": "3.1.0", "d3-interpolate": "^3.0.1", @@ -31,9 +31,8 @@ "kdbush": "^3.0.0", "mproj": "0.0.40", "msgpackr": "^1.10.1", - "opn": "^5.3.0", + "open": "^11.0.0", "rw": "~1.3.3", - "sync-request": "6.1.0", "tinyqueue": "^2.0.3" }, "bin": { @@ -49,14 +48,14 @@ "eslint": "^8.16.0", "highlight.js": "^11.11.1", "marked": "^18.0.2", - "mocha": "^10.2.0", + "mocha": "^11.7.5", "rollup": "^4.44.1", "rollup-plugin-polyfill-node": "^0.13.0", "shell-quote": "^1.7.4", "underscore": "^1.13.1" }, "engines": { - "node": ">=12.0.0" + "node": ">=20.11.0" }, "optionalDependencies": { "@rollup/rollup-linux-x64-gnu": "^4.44.1" @@ -99,6 +98,109 @@ "dev": true, "license": "BSD-3-Clause" }, + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@isaacs/cliui/node_modules/ansi-regex": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz", + "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/ansi-styles": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz", + "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@isaacs/cliui/node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dev": true, + "license": "MIT", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@isaacs/cliui/node_modules/strip-ansi": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.2.0.tgz", + "integrity": "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.2.2" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, "node_modules/@jridgewell/sourcemap-codec": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", @@ -208,6 +310,17 @@ "integrity": "sha512-8awtpHXCx/bNpFt4mt2xdkgtgVvKqty8VbjHI/WWWQuEw+KLzFot3f4+LkQY9YmOtq7A5GdOnqoIC8Pdygjk2g==", "optional": true }, + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=14" + } + }, "node_modules/@placemarkio/tokml": { "version": "0.3.3", "license": "MIT" @@ -257,18 +370,6 @@ } } }, - "node_modules/@rollup/plugin-commonjs/node_modules/picomatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", - "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, "node_modules/@rollup/plugin-inject": { "version": "5.0.5", "resolved": "https://registry.npmjs.org/@rollup/plugin-inject/-/plugin-inject-5.0.5.tgz", @@ -357,43 +458,355 @@ } } }, - "node_modules/@rollup/pluginutils/node_modules/picomatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", - "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.60.2.tgz", + "integrity": "sha512-dnlp69efPPg6Uaw2dVqzWRfAWRnYVb1XJ8CyyhIbZeaq4CA5/mLeZ1IEt9QqQxmbdvagjLIm2ZL8BxXv5lH4Yw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.60.2.tgz", + "integrity": "sha512-OqZTwDRDchGRHHm/hwLOL7uVPB9aUvI0am/eQuWMNyFHf5PSEQmyEeYYheA0EPPKUO/l0uigCp+iaTjoLjVoHg==", + "cpu": [ + "arm64" + ], "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } + "license": "MIT", + "optional": true, + "os": [ + "android" + ] }, "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.44.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.44.1.tgz", - "integrity": "sha512-fM/xPesi7g2M7chk37LOnmnSTHLG/v2ggWqKj3CCA1rMA4mm5KVBT1fNoswbo1JhPuNNZrVwpTvlCVggv8A2zg==", + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.60.2.tgz", + "integrity": "sha512-UwRE7CGpvSVEQS8gUMBe1uADWjNnVgP3Iusyda1nSRwNDCsRjnGc7w6El6WLQsXmZTbLZx9cecegumcitNfpmA==", "cpu": [ "arm64" ], "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.60.2.tgz", + "integrity": "sha512-gjEtURKLCC5VXm1I+2i1u9OhxFsKAQJKTVB8WvDAHF+oZlq0GTVFOlTlO1q3AlCTE/DF32c16ESvfgqR7343/g==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", "optional": true, "os": [ "darwin" ] }, + "node_modules/@rollup/rollup-freebsd-arm64": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.60.2.tgz", + "integrity": "sha512-Bcl6CYDeAgE70cqZaMojOi/eK63h5Me97ZqAQoh77VPjMysA/4ORQBRGo3rRy45x4MzVlU9uZxs8Uwy7ZaKnBw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-freebsd-x64": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.60.2.tgz", + "integrity": "sha512-LU+TPda3mAE2QB0/Hp5VyeKJivpC6+tlOXd1VMoXV/YFMvk/MNk5iXeBfB4MQGRWyOYVJ01625vjkr0Az98OJQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.60.2.tgz", + "integrity": "sha512-2QxQrM+KQ7DAW4o22j+XZ6RKdxjLD7BOWTP0Bv0tmjdyhXSsr2Ul1oJDQqh9Zf5qOwTuTc7Ek83mOFaKnodPjg==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.60.2.tgz", + "integrity": "sha512-TbziEu2DVsTEOPif2mKWkMeDMLoYjx95oESa9fkQQK7r/Orta0gnkcDpzwufEcAO2BLBsD7mZkXGFqEdMRRwfw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.60.2.tgz", + "integrity": "sha512-bO/rVDiDUuM2YfuCUwZ1t1cP+/yqjqz+Xf2VtkdppefuOFS2OSeAfgafaHNkFn0t02hEyXngZkxtGqXcXwO8Rg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.60.2.tgz", + "integrity": "sha512-hr26p7e93Rl0Za+JwW7EAnwAvKkehh12BU1Llm9Ykiibg4uIr2rbpxG9WCf56GuvidlTG9KiiQT/TXT1yAWxTA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loong64-gnu": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.60.2.tgz", + "integrity": "sha512-pOjB/uSIyDt+ow3k/RcLvUAOGpysT2phDn7TTUB3n75SlIgZzM6NKAqlErPhoFU+npgY3/n+2HYIQVbF70P9/A==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loong64-musl": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.60.2.tgz", + "integrity": "sha512-2/w+q8jszv9Ww1c+6uJT3OwqhdmGP2/4T17cu8WuwyUuuaCDDJ2ojdyYwZzCxx0GcsZBhzi3HmH+J5pZNXnd+Q==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-ppc64-gnu": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.60.2.tgz", + "integrity": "sha512-11+aL5vKheYgczxtPVVRhdptAM2H7fcDR5Gw4/bTcteuZBlH4oP9f5s9zYO9aGZvoGeBpqXI/9TZZihZ609wKw==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-ppc64-musl": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.60.2.tgz", + "integrity": "sha512-i16fokAGK46IVZuV8LIIwMdtqhin9hfYkCh8pf8iC3QU3LpwL+1FSFGej+O7l3E/AoknL6Dclh2oTdnRMpTzFQ==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.60.2.tgz", + "integrity": "sha512-49FkKS6RGQoriDSK/6E2GkAsAuU5kETFCh7pG4yD/ylj9rKhTmO3elsnmBvRD4PgJPds5W2PkhC82aVwmUcJ7A==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-musl": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.60.2.tgz", + "integrity": "sha512-mjYNkHPfGpUR00DuM1ZZIgs64Hpf4bWcz9Z41+4Q+pgDx73UwWdAYyf6EG/lRFldmdHHzgrYyge5akFUW0D3mQ==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.60.2.tgz", + "integrity": "sha512-ALyvJz965BQk8E9Al/JDKKDLH2kfKFLTGMlgkAbbYtZuJt9LU8DW3ZoDMCtQpXAltZxwBHevXz5u+gf0yA0YoA==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.44.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.44.1.tgz", - "integrity": "sha512-EtnsrmZGomz9WxK1bR5079zee3+7a+AdFlghyd6VbAjgRJDbTANJ9dcPIPAi76uG05micpEL+gPGmAKYTschQw==", + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.60.2.tgz", + "integrity": "sha512-UQjrkIdWrKI626Du8lCQ6MJp/6V1LAo2bOK9OTu4mSn8GGXIkPXk/Vsp4bLHCd9Z9Iz2OTEaokUE90VweJgIYQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.60.2.tgz", + "integrity": "sha512-bTsRGj6VlSdn/XD4CGyzMnzaBs9bsRxy79eTqTCBsA8TMIEky7qg48aPkvJvFe1HyzQ5oMZdg7AnVlWQSKLTnw==", "cpu": [ "x64" ], + "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" ] }, + "node_modules/@rollup/rollup-openbsd-x64": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.60.2.tgz", + "integrity": "sha512-6d4Z3534xitaA1FcMWP7mQPq5zGwBmGbhphh2DwaA1aNIXUu3KTOfwrWpbwI4/Gr0uANo7NTtaykFyO2hPuFLg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ] + }, + "node_modules/@rollup/rollup-openharmony-arm64": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.60.2.tgz", + "integrity": "sha512-NetAg5iO2uN7eB8zE5qrZ3CSil+7IJt4WDFLcC75Ymywq1VZVD6qJ6EvNLjZ3rEm6gB7XW5JdT60c6MN35Z85Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.60.2.tgz", + "integrity": "sha512-NCYhOotpgWZ5kdxCZsv6Iudx0wX8980Q/oW4pNFNihpBKsDbEA1zpkfxJGC0yugsUuyDZ7gL37dbzwhR0VI7pQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.60.2.tgz", + "integrity": "sha512-RXsaOqXxfoUBQoOgvmmijVxJnW2IGB0eoMO7F8FAjaj0UTywUO/luSqimWBJn04WNgUkeNhh7fs7pESXajWmkg==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-gnu": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.60.2.tgz", + "integrity": "sha512-qdAzEULD+/hzObedtmV6iBpdL5TIbKVztGiK7O3/KYSf+HIzU257+MX1EXJcyIiDbMAqmbwaufcYPvyRryeZtA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.60.2.tgz", + "integrity": "sha512-Nd/SgG27WoA9e+/TdK74KnHz852TLa94ovOYySo/yMPuTmpckK/jIF2jSwS3g7ELSKXK13/cVdmg1Z/DaCWKxA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, "node_modules/@tmcw/togeojson": { "version": "5.6.0", "resolved": "https://registry.npmjs.org/@tmcw/togeojson/-/togeojson-5.6.0.tgz", @@ -673,28 +1086,12 @@ "url": "https://opencollective.com/turf" } }, - "node_modules/@types/concat-stream": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/@types/concat-stream/-/concat-stream-1.6.1.tgz", - "integrity": "sha512-eHE4cQPoj6ngxBZMvVf6Hw7Mh4jMW4U9lpGmS5GBPB9RYxlFg+CHaVN7ErNY4W9XfLIEn20b4VDYaIrbq0q4uA==", - "dependencies": { - "@types/node": "*" - } - }, "node_modules/@types/estree": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", "dev": true }, - "node_modules/@types/form-data": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/@types/form-data/-/form-data-0.0.33.tgz", - "integrity": "sha512-8BSvG1kGm83cyJITQMZSulnl6QV8jqAGreJsc5tPu1Jq0vTSOiY/k24Wx82JRpWwZSqrala6sd5rWi6aNXvqcw==", - "dependencies": { - "@types/node": "*" - } - }, "node_modules/@types/geojson": { "version": "7946.0.10", "license": "MIT", @@ -711,11 +1108,6 @@ "integrity": "sha512-/Nmfn9p08yaYw6xo5f2b0L+2oHk2kZeOkp5v+4VCeNfq+ETlLQbmHmC97/pjDIEZy8jxwz7pdPpwNzDHM5cuJw==", "license": "MIT" }, - "node_modules/@types/qs": { - "version": "6.14.0", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.14.0.tgz", - "integrity": "sha512-eOunJqu0K1923aExK6y8p6fsihYEn/BYuQ4g0CxAAgFc4b/ZLN4CrsRZ55srTdqoiLzU2B2evC+apEIxprEzkQ==" - }, "node_modules/@types/rbush": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/@types/rbush/-/rbush-4.0.0.tgz", @@ -729,7 +1121,9 @@ "dev": true }, "node_modules/@xmldom/xmldom": { - "version": "0.8.6", + "version": "0.8.13", + "resolved": "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.8.13.tgz", + "integrity": "sha512-KRYzxepc14G/CEpEGc3Yn+JKaAeT63smlDr+vjB8jRfgTBBI9wRj/nkQEO+ucV8p8I9bfKLWp37uHgFrbntPvw==", "license": "MIT", "engines": { "node": ">=10.0.0" @@ -775,7 +1169,9 @@ } }, "node_modules/ajv": { - "version": "6.12.6", + "version": "6.15.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.15.0.tgz", + "integrity": "sha512-fgFx7Hfoq60ytK2c7DhnF8jIvzYgOMxfugjLOSMHjLIPgenqa7S7oaagATUq99mV6IYvN2tRmC0wnTYX6iPbMw==", "dev": true, "license": "MIT", "dependencies": { @@ -789,14 +1185,6 @@ "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/ansi-colors": { - "version": "4.1.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, "node_modules/ansi-escapes": { "version": "4.3.2", "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", @@ -848,33 +1236,11 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/anymatch": { - "version": "3.1.2", - "dev": true, - "license": "ISC", - "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - }, - "engines": { - "node": ">= 8" - } - }, "node_modules/argparse": { "version": "2.0.1", "dev": true, "license": "Python-2.0" }, - "node_modules/asap": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", - "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==" - }, - "node_modules/asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" - }, "node_modules/balanced-match": { "version": "1.0.0", "dev": true, @@ -924,14 +1290,6 @@ "url": "https://opencollective.com/bigjs" } }, - "node_modules/binary-extensions": { - "version": "2.2.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "node_modules/bindings": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", @@ -970,7 +1328,9 @@ } }, "node_modules/brace-expansion": { - "version": "1.1.11", + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.14.tgz", + "integrity": "sha512-MWPGfDxnyzKU7rNOW9SP/c50vi3xrmrua/+6hfPbCS2ABNWfx24vPidzvC7krjU/RTo235sV776ymlsMtGKj8g==", "dev": true, "license": "MIT", "dependencies": { @@ -978,17 +1338,6 @@ "concat-map": "0.0.1" } }, - "node_modules/braces": { - "version": "3.0.2", - "dev": true, - "license": "MIT", - "dependencies": { - "fill-range": "^7.0.1" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/browser-stdout": { "version": "1.3.1", "dev": true, @@ -1024,31 +1373,19 @@ "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" }, - "node_modules/call-bind-apply-helpers": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", - "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", - "dependencies": { - "es-errors": "^1.3.0", - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/call-bound": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", - "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", + "node_modules/bundle-name": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bundle-name/-/bundle-name-4.1.0.tgz", + "integrity": "sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==", + "license": "MIT", "dependencies": { - "call-bind-apply-helpers": "^1.0.2", - "get-intrinsic": "^1.3.0" + "run-applescript": "^7.0.0" }, "engines": { - "node": ">= 0.4" + "node": ">=18" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/callsites": { @@ -1070,11 +1407,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==" - }, "node_modules/chalk": { "version": "4.1.2", "devOptional": true, @@ -1109,29 +1441,19 @@ "optional": true }, "node_modules/chokidar": { - "version": "3.5.3", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz", + "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } - ], "license": "MIT", "dependencies": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" + "readdirp": "^4.0.1" }, "engines": { - "node": ">= 8.10.0" + "node": ">= 14.16.0" }, - "optionalDependencies": { - "fsevents": "~2.3.2" + "funding": { + "url": "https://paulmillr.com/funding/" } }, "node_modules/chownr": { @@ -1165,13 +1487,18 @@ } }, "node_modules/cliui": { - "version": "7.0.4", + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", "dev": true, "license": "ISC", "dependencies": { "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", + "strip-ansi": "^6.0.1", "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" } }, "node_modules/color-convert": { @@ -1190,22 +1517,13 @@ "devOptional": true, "license": "MIT" }, - "node_modules/combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "dependencies": { - "delayed-stream": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, "node_modules/commander": { - "version": "7.0.0", + "version": "14.0.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-14.0.3.tgz", + "integrity": "sha512-H+y0Jo/T1RZ9qPP4Eh1pkcQcLRglraJaSLoyOtHxu6AapkjWVCy2Sit1QQ4x3Dng8qDlSsZEet7g5Pq06MvTgw==", "license": "MIT", "engines": { - "node": ">= 10" + "node": ">=20" } }, "node_modules/commondir": { @@ -1219,20 +1537,6 @@ "dev": true, "license": "MIT" }, - "node_modules/concat-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", - "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", - "engines": [ - "node >= 0.8" - ], - "dependencies": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" - } - }, "node_modules/cookies": { "version": "0.8.0", "license": "MIT", @@ -1244,13 +1548,10 @@ "node": ">= 0.8" } }, - "node_modules/core-util-is": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" - }, "node_modules/cross-spawn": { - "version": "7.0.3", + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", "dev": true, "license": "MIT", "dependencies": { @@ -1296,11 +1597,13 @@ } }, "node_modules/debug": { - "version": "4.3.4", + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", "dev": true, "license": "MIT", "dependencies": { - "ms": "2.1.2" + "ms": "^2.1.3" }, "engines": { "node": ">=6.0" @@ -1311,11 +1614,6 @@ } } }, - "node_modules/debug/node_modules/ms": { - "version": "2.1.2", - "dev": true, - "license": "MIT" - }, "node_modules/decamelize": { "version": "4.0.0", "dev": true, @@ -1353,18 +1651,58 @@ "node": ">=4.0.0" } }, - "node_modules/deep-is": { - "version": "0.1.4", - "dev": true, - "license": "MIT" - }, - "node_modules/deepmerge": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", - "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", - "dev": true, + "node_modules/deep-is": { + "version": "0.1.4", + "dev": true, + "license": "MIT" + }, + "node_modules/deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/default-browser": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/default-browser/-/default-browser-5.5.0.tgz", + "integrity": "sha512-H9LMLr5zwIbSxrmvikGuI/5KGhZ8E2zH3stkMgM5LpOWDutGM2JZaj460Udnf1a+946zc7YBgrqEWwbk7zHvGw==", + "license": "MIT", + "dependencies": { + "bundle-name": "^4.1.0", + "default-browser-id": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/default-browser-id": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/default-browser-id/-/default-browser-id-5.0.1.tgz", + "integrity": "sha512-x1VCxdX4t+8wVfd1so/9w+vQ4vx7lKd2Qp5tDRutErwmR85OgmfX7RlLRMWafRMY7hbEiXIbudNrjOAPa/hL8Q==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/define-lazy-prop": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz", + "integrity": "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==", + "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/delaunator": { @@ -1374,14 +1712,6 @@ "robust-predicates": "^3.0.0" } }, - "node_modules/delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", - "engines": { - "node": ">=0.4.0" - } - }, "node_modules/depd": { "version": "2.0.0", "license": "MIT", @@ -1400,7 +1730,9 @@ } }, "node_modules/diff": { - "version": "5.0.0", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-7.0.0.tgz", + "integrity": "sha512-PJWHUb1RFevKCwaFA9RlG5tCd+FO5iRh9A8HEtkmBH2Li03iJriB6m6JIN4rGz3K3JLawI7/veA1xzRKP6ISBw==", "dev": true, "license": "BSD-3-Clause", "engines": { @@ -1418,19 +1750,6 @@ "node": ">=6.0.0" } }, - "node_modules/dunder-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", - "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", - "dependencies": { - "call-bind-apply-helpers": "^1.0.1", - "es-errors": "^1.3.0", - "gopd": "^1.2.0" - }, - "engines": { - "node": ">= 0.4" - } - }, "node_modules/duplexer": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", @@ -1443,6 +1762,13 @@ "integrity": "sha512-X7hshQbLyMJ/3RPhyObLARM2sNxxmRALLKx1+NVFFnQ9gKzmCrxm9+uLIAdBcvc8FNLpctqlQ2V6AE92Ol9UDQ==", "optional": true }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "dev": true, + "license": "MIT" + }, "node_modules/emoji-regex": { "version": "8.0.0", "devOptional": true, @@ -1458,49 +1784,10 @@ "once": "^1.4.0" } }, - "node_modules/es-define-property": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", - "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-errors": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", - "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-object-atoms": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", - "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", - "dependencies": { - "es-errors": "^1.3.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-set-tostringtag": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", - "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", - "dependencies": { - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.6", - "has-tostringtag": "^1.0.2", - "hasown": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, "node_modules/escalade": { - "version": "3.1.1", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", "dev": true, "license": "MIT", "engines": { @@ -1845,17 +2132,6 @@ "license": "MIT", "optional": true }, - "node_modules/fill-range": { - "version": "7.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/find-up": { "version": "5.0.0", "dev": true, @@ -1921,44 +2197,41 @@ "license": "ISC" }, "node_modules/flatted": { - "version": "3.2.5", + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.4.2.tgz", + "integrity": "sha512-PjDse7RzhcPkIJwy5t7KPWQSZ9cAbzQXcafsetQoD7sOJRQlGikNbx7yZp2OotDnJyrDcbyRq3Ttb18iYOqkxA==", "dev": true, "license": "ISC" }, - "node_modules/form-data": { - "version": "2.5.5", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.5.5.tgz", - "integrity": "sha512-jqdObeR2rxZZbPSGL+3VckHMYtu+f9//KXBsVny6JSX/pa38Fy+bGjuG8eW/H6USNQWhLi8Num++cU2yOCNz4A==", + "node_modules/foreground-child": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.1.tgz", + "integrity": "sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==", + "dev": true, + "license": "ISC", "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "es-set-tostringtag": "^2.1.0", - "hasown": "^2.0.2", - "mime-types": "^2.1.35", - "safe-buffer": "^5.2.1" + "cross-spawn": "^7.0.6", + "signal-exit": "^4.0.1" }, "engines": { - "node": ">= 0.12" + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/form-data/node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] + "node_modules/foreground-child/node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } }, "node_modules/from": { "version": "0.1.7", @@ -1994,6 +2267,7 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "dev": true, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -2088,54 +2362,14 @@ }, "node_modules/get-caller-file": { "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", "dev": true, "license": "ISC", "engines": { "node": "6.* || 8.* || >= 10.*" } }, - "node_modules/get-intrinsic": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", - "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", - "dependencies": { - "call-bind-apply-helpers": "^1.0.2", - "es-define-property": "^1.0.1", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.1.1", - "function-bind": "^1.1.2", - "get-proto": "^1.0.1", - "gopd": "^1.2.0", - "has-symbols": "^1.1.0", - "hasown": "^2.0.2", - "math-intrinsics": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/get-port": { - "version": "3.2.0", - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/get-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", - "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", - "dependencies": { - "dunder-proto": "^1.0.1", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - } - }, "node_modules/github-from-package": { "version": "0.0.0", "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz", @@ -2162,17 +2396,6 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/glob-parent": { - "version": "5.1.2", - "dev": true, - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, "node_modules/globals": { "version": "13.15.0", "dev": true, @@ -2187,17 +2410,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/gopd": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", - "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/has-flag": { "version": "4.0.0", "devOptional": true, @@ -2206,35 +2418,11 @@ "node": ">=8" } }, - "node_modules/has-symbols": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", - "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-tostringtag": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", - "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", - "dependencies": { - "has-symbols": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/hasown": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "dev": true, "dependencies": { "function-bind": "^1.1.2" }, @@ -2260,28 +2448,6 @@ "node": ">=12.0.0" } }, - "node_modules/http-basic": { - "version": "8.1.3", - "resolved": "https://registry.npmjs.org/http-basic/-/http-basic-8.1.3.tgz", - "integrity": "sha512-/EcDMwJZh3mABI2NhGfHOGOeOZITqfkEO4p/xK+l3NpyncIHUQBoMvCSF/b5GqvKtySC2srL/GGG3+EtlqlmCw==", - "dependencies": { - "caseless": "^0.12.0", - "concat-stream": "^1.6.2", - "http-response-object": "^3.0.1", - "parse-cache-control": "^1.0.1" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/http-response-object": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/http-response-object/-/http-response-object-3.0.2.tgz", - "integrity": "sha512-bqX0XTF6fnXSQcEJ2Iuyr75yVakyjIDCqroJQ/aHfSdlM743Cwqoi2nDYMzLGWUcuTWGWy8AAvOKXTfiv6q9RA==", - "dependencies": { - "@types/node": "^10.0.3" - } - }, "node_modules/iconv-lite": { "version": "0.6.3", "license": "MIT", @@ -2411,17 +2577,6 @@ "node": ">=8.0.0" } }, - "node_modules/is-binary-path": { - "version": "2.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "binary-extensions": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/is-core-module": { "version": "2.16.1", "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", @@ -2437,6 +2592,21 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-docker": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz", + "integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==", + "license": "MIT", + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/is-extglob": { "version": "2.1.1", "dev": true, @@ -2464,18 +2634,50 @@ "node": ">=0.10.0" } }, + "node_modules/is-in-ssh": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-in-ssh/-/is-in-ssh-1.0.0.tgz", + "integrity": "sha512-jYa6Q9rH90kR1vKB6NM7qqd1mge3Fx4Dhw5TVlK1MUBqhEOuCagrEHMevNuCcbECmXZ0ThXkRm+Ymr51HwEPAw==", + "license": "MIT", + "engines": { + "node": ">=20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-inside-container": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-inside-container/-/is-inside-container-1.0.0.tgz", + "integrity": "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==", + "license": "MIT", + "dependencies": { + "is-docker": "^3.0.0" + }, + "bin": { + "is-inside-container": "cli.js" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/is-module": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", "integrity": "sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==", "dev": true }, - "node_modules/is-number": { - "version": "7.0.0", + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", "dev": true, "license": "MIT", "engines": { - "node": ">=0.12.0" + "node": ">=8" } }, "node_modules/is-plain-obj": { @@ -2507,24 +2709,45 @@ } }, "node_modules/is-wsl": { - "version": "1.1.0", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-3.1.1.tgz", + "integrity": "sha512-e6rvdUCiQCAuumZslxRJWR/Doq4VpPR82kqclvcS0efgt430SlGIk05vdCN58+VrzgtIcfNODjozVielycD4Sw==", "license": "MIT", + "dependencies": { + "is-inside-container": "^1.0.0" + }, "engines": { - "node": ">=4" + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" - }, "node_modules/isexe": { "version": "2.0.0", "dev": true, "license": "ISC" }, + "node_modules/jackspeak": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", + "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, "node_modules/js-yaml": { - "version": "4.1.0", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz", + "integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==", "dev": true, "license": "MIT", "dependencies": { @@ -2641,6 +2864,13 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "dev": true, + "license": "ISC" + }, "node_modules/magic-string": { "version": "0.30.17", "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.17.tgz", @@ -2669,38 +2899,11 @@ "node": ">= 20" } }, - "node_modules/math-intrinsics": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", - "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", - "engines": { - "node": ">= 0.4" - } - }, "node_modules/mgrs": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/mgrs/-/mgrs-1.0.0.tgz", "integrity": "sha512-awNbTOqCxK1DBGjalK3xqWIstBZgN6fxsMSiXLs9/spqWkF2pAhb2rrYCFSsr1/tT7PhcDGjZndG8SWYn0byYA==", - "license": "MIT" - }, - "node_modules/mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "dependencies": { - "mime-db": "1.52.0" - }, - "engines": { - "node": ">= 0.6" - } + "license": "MIT" }, "node_modules/mimic-fn": { "version": "2.1.0", @@ -2726,7 +2929,9 @@ } }, "node_modules/minimatch": { - "version": "3.1.2", + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz", + "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==", "dev": true, "license": "ISC", "dependencies": { @@ -2745,6 +2950,16 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/minipass": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.3.tgz", + "integrity": "sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A==", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, "node_modules/mkdirp-classic": { "version": "0.5.3", "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", @@ -2753,92 +2968,88 @@ "optional": true }, "node_modules/mocha": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.2.0.tgz", - "integrity": "sha512-IDY7fl/BecMwFHzoqF2sg/SHHANeBoMMXFlS9r0OXKDssYE1M5O43wUY/9BVPeIvfH2zmEbBfseqN9gBQZzXkg==", - "dev": true, - "dependencies": { - "ansi-colors": "4.1.1", - "browser-stdout": "1.3.1", - "chokidar": "3.5.3", - "debug": "4.3.4", - "diff": "5.0.0", - "escape-string-regexp": "4.0.0", - "find-up": "5.0.0", - "glob": "7.2.0", - "he": "1.2.0", - "js-yaml": "4.1.0", - "log-symbols": "4.1.0", - "minimatch": "5.0.1", - "ms": "2.1.3", - "nanoid": "3.3.3", - "serialize-javascript": "6.0.0", - "strip-json-comments": "3.1.1", - "supports-color": "8.1.1", - "workerpool": "6.2.1", - "yargs": "16.2.0", - "yargs-parser": "20.2.4", - "yargs-unparser": "2.0.0" + "version": "11.7.5", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-11.7.5.tgz", + "integrity": "sha512-mTT6RgopEYABzXWFx+GcJ+ZQ32kp4fMf0xvpZIIfSq9Z8lC/++MtcCnQ9t5FP2veYEP95FIYSvW+U9fV4xrlig==", + "dev": true, + "license": "MIT", + "dependencies": { + "browser-stdout": "^1.3.1", + "chokidar": "^4.0.1", + "debug": "^4.3.5", + "diff": "^7.0.0", + "escape-string-regexp": "^4.0.0", + "find-up": "^5.0.0", + "glob": "^10.4.5", + "he": "^1.2.0", + "is-path-inside": "^3.0.3", + "js-yaml": "^4.1.0", + "log-symbols": "^4.1.0", + "minimatch": "^9.0.5", + "ms": "^2.1.3", + "picocolors": "^1.1.1", + "serialize-javascript": "^6.0.2", + "strip-json-comments": "^3.1.1", + "supports-color": "^8.1.1", + "workerpool": "^9.2.0", + "yargs": "^17.7.2", + "yargs-parser": "^21.1.1", + "yargs-unparser": "^2.0.0" }, "bin": { "_mocha": "bin/_mocha", "mocha": "bin/mocha.js" }, "engines": { - "node": ">= 14.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/mochajs" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, - "node_modules/mocha/node_modules/glob": { - "version": "7.2.0", + "node_modules/mocha/node_modules/brace-expansion": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.1.0.tgz", + "integrity": "sha512-TN1kCZAgdgweJhWWpgKYrQaMNHcDULHkWwQIspdtjV4Y5aurRdZpjAqn6yX3FPqTA9ngHCc4hJxMAMgGfve85w==", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "balanced-match": "^1.0.0" } }, - "node_modules/mocha/node_modules/glob/node_modules/minimatch": { - "version": "3.1.2", + "node_modules/mocha/node_modules/glob": { + "version": "10.5.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.5.0.tgz", + "integrity": "sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg==", + "deprecated": "Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me", "dev": true, "license": "ISC", "dependencies": { - "brace-expansion": "^1.1.7" + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" }, - "engines": { - "node": "*" + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, "node_modules/mocha/node_modules/minimatch": { - "version": "5.0.1", + "version": "9.0.9", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.9.tgz", + "integrity": "sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg==", "dev": true, "license": "ISC", "dependencies": { - "brace-expansion": "^2.0.1" + "brace-expansion": "^2.0.2" }, "engines": { - "node": ">=10" - } - }, - "node_modules/mocha/node_modules/minimatch/node_modules/brace-expansion": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0" + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, "node_modules/mproj": { @@ -2898,17 +3109,6 @@ "license": "ISC", "optional": true }, - "node_modules/nanoid": { - "version": "3.3.3", - "dev": true, - "license": "MIT", - "bin": { - "nanoid": "bin/nanoid.cjs" - }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" - } - }, "node_modules/napi-build-utils": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-2.0.0.tgz", @@ -2945,25 +3145,6 @@ "node-gyp-build-optional-packages-test": "build-test.js" } }, - "node_modules/normalize-path": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-inspect": { - "version": "1.13.4", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", - "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/ol": { "version": "10.7.0", "resolved": "https://registry.npmjs.org/ol/-/ol-10.7.0.tgz", @@ -3005,14 +3186,24 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/opn": { - "version": "5.5.0", + "node_modules/open": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/open/-/open-11.0.0.tgz", + "integrity": "sha512-smsWv2LzFjP03xmvFoJ331ss6h+jixfA4UUV/Bsiyuu4YJPfN+FIQGOIiv4w9/+MoHkfkJ22UIaQWRVFRfH6Vw==", "license": "MIT", "dependencies": { - "is-wsl": "^1.1.0" + "default-browser": "^5.4.0", + "define-lazy-prop": "^3.0.0", + "is-in-ssh": "^1.0.0", + "is-inside-container": "^1.0.0", + "powershell-utils": "^0.1.0", + "wsl-utils": "^0.3.0" }, "engines": { - "node": ">=4" + "node": ">=20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/optionator": { @@ -3069,6 +3260,13 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/package-json-from-dist": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", + "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==", + "dev": true, + "license": "BlueOak-1.0.0" + }, "node_modules/pako": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/pako/-/pako-2.1.0.tgz", @@ -3086,11 +3284,6 @@ "node": ">=6" } }, - "node_modules/parse-cache-control": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parse-cache-control/-/parse-cache-control-1.0.1.tgz", - "integrity": "sha512-60zvsJReQPX5/QP0Kzfd/VrpjScIQ7SHBW6bFCYfEP+fp0Eppr1SHhIO5nd1PjZtvclzSzES9D/p5nFJurwfWg==" - }, "node_modules/parse-headers": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/parse-headers/-/parse-headers-2.0.6.tgz", @@ -3127,6 +3320,23 @@ "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", "dev": true }, + "node_modules/path-scurry": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.18" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/pause-stream": { "version": "0.0.11", "resolved": "https://registry.npmjs.org/pause-stream/-/pause-stream-0.0.11.tgz", @@ -3164,13 +3374,21 @@ "url": "https://github.com/sponsors/Borewit" } }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "dev": true, + "license": "ISC" + }, "node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz", + "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==", "dev": true, + "license": "MIT", "engines": { - "node": ">=8.6" + "node": ">=12" }, "funding": { "url": "https://github.com/sponsors/jonschlinkert" @@ -3186,6 +3404,18 @@ "splaytree": "^3.1.0" } }, + "node_modules/powershell-utils": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/powershell-utils/-/powershell-utils-0.1.0.tgz", + "integrity": "sha512-dM0jVuXJPsDN6DvRpea484tCUaMiXWjuCn++HGTqUWzGDjv5tZkEZldAJ/UMlqRYGFrD/etByo4/xOuC/snX2A==", + "license": "MIT", + "engines": { + "node": ">=20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/prebuild-install": { "version": "7.1.3", "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.3.tgz", @@ -3231,11 +3461,6 @@ "node": ">= 0.6.0" } }, - "node_modules/process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" - }, "node_modules/proj4": { "version": "2.8.0", "resolved": "https://registry.npmjs.org/proj4/-/proj4-2.8.0.tgz", @@ -3246,18 +3471,11 @@ "wkt-parser": "^1.3.1" } }, - "node_modules/promise": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/promise/-/promise-8.3.0.tgz", - "integrity": "sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==", - "dependencies": { - "asap": "~2.0.6" - } - }, "node_modules/protocol-buffers-schema": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/protocol-buffers-schema/-/protocol-buffers-schema-3.6.0.tgz", - "integrity": "sha512-TdDRD+/QNdrCGCE7v8340QyuXd4kIWIgapsE2+n/SaGiSSbomYl4TjHlvIoCWRpE7wFt02EpB35VVA2ImcBVqw==", + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/protocol-buffers-schema/-/protocol-buffers-schema-3.6.1.tgz", + "integrity": "sha512-VG2K63Igkiv9p76tk1lilczEK1cT+kCjKtkdhw1dQZV3k3IXJbd3o6Ho8b9zJZaHSnT2hKe4I+ObmX9w6m5SmQ==", + "license": "MIT", "optional": true }, "node_modules/pump": { @@ -3271,20 +3489,6 @@ "once": "^1.3.1" } }, - "node_modules/qs": { - "version": "6.14.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.0.tgz", - "integrity": "sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==", - "dependencies": { - "side-channel": "^1.1.0" - }, - "engines": { - "node": ">=0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/queue": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/queue/-/queue-6.0.1.tgz", @@ -3314,6 +3518,8 @@ }, "node_modules/randombytes": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", "dev": true, "license": "MIT", "dependencies": { @@ -3355,20 +3561,6 @@ "node": ">=0.10.0" } }, - "node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, "node_modules/readable-web-to-node-stream": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/readable-web-to-node-stream/-/readable-web-to-node-stream-3.0.4.tgz", @@ -3455,14 +3647,17 @@ } }, "node_modules/readdirp": { - "version": "3.6.0", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz", + "integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==", "dev": true, "license": "MIT", - "dependencies": { - "picomatch": "^2.2.1" - }, "engines": { - "node": ">=8.10.0" + "node": ">= 14.18.0" + }, + "funding": { + "type": "individual", + "url": "https://paulmillr.com/funding/" } }, "node_modules/regexpp": { @@ -3523,6 +3718,8 @@ }, "node_modules/require-directory": { "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", "dev": true, "license": "MIT", "engines": { @@ -3600,10 +3797,11 @@ "integrity": "sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg==" }, "node_modules/rollup": { - "version": "4.44.1", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.44.1.tgz", - "integrity": "sha512-x8H8aPvD+xbl0Do8oez5f5o8eMS3trfCghc4HhLAnCkj7Vl0d1JWGs0UF/D886zLW2rOj2QymV/JcSSsw+XDNg==", + "version": "4.60.2", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.60.2.tgz", + "integrity": "sha512-J9qZyW++QK/09NyN/zeO0dG/1GdGfyp9lV8ajHnRVLfo/uFsbji5mHnDgn/qYdUHyCkM2N+8VyspgZclfAh0eQ==", "dev": true, + "license": "MIT", "dependencies": { "@types/estree": "1.0.8" }, @@ -3615,26 +3813,31 @@ "npm": ">=8.0.0" }, "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.44.1", - "@rollup/rollup-android-arm64": "4.44.1", - "@rollup/rollup-darwin-arm64": "4.44.1", - "@rollup/rollup-darwin-x64": "4.44.1", - "@rollup/rollup-freebsd-arm64": "4.44.1", - "@rollup/rollup-freebsd-x64": "4.44.1", - "@rollup/rollup-linux-arm-gnueabihf": "4.44.1", - "@rollup/rollup-linux-arm-musleabihf": "4.44.1", - "@rollup/rollup-linux-arm64-gnu": "4.44.1", - "@rollup/rollup-linux-arm64-musl": "4.44.1", - "@rollup/rollup-linux-loongarch64-gnu": "4.44.1", - "@rollup/rollup-linux-powerpc64le-gnu": "4.44.1", - "@rollup/rollup-linux-riscv64-gnu": "4.44.1", - "@rollup/rollup-linux-riscv64-musl": "4.44.1", - "@rollup/rollup-linux-s390x-gnu": "4.44.1", - "@rollup/rollup-linux-x64-gnu": "4.44.1", - "@rollup/rollup-linux-x64-musl": "4.44.1", - "@rollup/rollup-win32-arm64-msvc": "4.44.1", - "@rollup/rollup-win32-ia32-msvc": "4.44.1", - "@rollup/rollup-win32-x64-msvc": "4.44.1", + "@rollup/rollup-android-arm-eabi": "4.60.2", + "@rollup/rollup-android-arm64": "4.60.2", + "@rollup/rollup-darwin-arm64": "4.60.2", + "@rollup/rollup-darwin-x64": "4.60.2", + "@rollup/rollup-freebsd-arm64": "4.60.2", + "@rollup/rollup-freebsd-x64": "4.60.2", + "@rollup/rollup-linux-arm-gnueabihf": "4.60.2", + "@rollup/rollup-linux-arm-musleabihf": "4.60.2", + "@rollup/rollup-linux-arm64-gnu": "4.60.2", + "@rollup/rollup-linux-arm64-musl": "4.60.2", + "@rollup/rollup-linux-loong64-gnu": "4.60.2", + "@rollup/rollup-linux-loong64-musl": "4.60.2", + "@rollup/rollup-linux-ppc64-gnu": "4.60.2", + "@rollup/rollup-linux-ppc64-musl": "4.60.2", + "@rollup/rollup-linux-riscv64-gnu": "4.60.2", + "@rollup/rollup-linux-riscv64-musl": "4.60.2", + "@rollup/rollup-linux-s390x-gnu": "4.60.2", + "@rollup/rollup-linux-x64-gnu": "4.60.2", + "@rollup/rollup-linux-x64-musl": "4.60.2", + "@rollup/rollup-openbsd-x64": "4.60.2", + "@rollup/rollup-openharmony-arm64": "4.60.2", + "@rollup/rollup-win32-arm64-msvc": "4.60.2", + "@rollup/rollup-win32-ia32-msvc": "4.60.2", + "@rollup/rollup-win32-x64-gnu": "4.60.2", + "@rollup/rollup-win32-x64-msvc": "4.60.2", "fsevents": "~2.3.2" } }, @@ -3656,6 +3859,18 @@ "integrity": "sha512-hue7klBnBrM6pvUPSnXNNgA0yN9FIjmhb8QveVY9q5h/3b//Cd8jaafUE0Ty89fuiamaLEHRw8eQq8mTn6Df5Q==", "license": "MIT" }, + "node_modules/run-applescript": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/run-applescript/-/run-applescript-7.1.0.tgz", + "integrity": "sha512-DPe5pVFaAsinSaV6QjQ6gdiedWDcRCbUuiQfQa2wmWV7+xC9bGulGI8+TdRmoFkAPaBXk8CrAbnlY2ISniJ47Q==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/run-async": { "version": "2.4.1", "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", @@ -3710,7 +3925,9 @@ } }, "node_modules/serialize-javascript": { - "version": "6.0.0", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", + "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", "dev": true, "license": "BSD-3-Clause", "dependencies": { @@ -3744,74 +3961,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/side-channel": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", - "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", - "dependencies": { - "es-errors": "^1.3.0", - "object-inspect": "^1.13.3", - "side-channel-list": "^1.0.0", - "side-channel-map": "^1.0.1", - "side-channel-weakmap": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/side-channel-list": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", - "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", - "dependencies": { - "es-errors": "^1.3.0", - "object-inspect": "^1.13.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/side-channel-map": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", - "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", - "dependencies": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.5", - "object-inspect": "^1.13.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/side-channel-weakmap": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", - "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", - "dependencies": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.5", - "object-inspect": "^1.13.3", - "side-channel-map": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/signal-exit": { "version": "3.0.7", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", @@ -3929,6 +4078,22 @@ "node": ">=8" } }, + "node_modules/string-width-cjs": { + "name": "string-width", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/strip-ansi": { "version": "6.0.1", "devOptional": true, @@ -3940,6 +4105,20 @@ "node": ">=8" } }, + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/strip-json-comments": { "version": "3.1.1", "dev": true, @@ -3994,26 +4173,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/sync-request": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/sync-request/-/sync-request-6.1.0.tgz", - "integrity": "sha512-8fjNkrNlNCrVc/av+Jn+xxqfCjYaBoHqCsDz6mt030UMxJGr+GSfCV1dQt2gRtlL63+VPidwDVLr7V2OcTSdRw==", - "dependencies": { - "http-response-object": "^3.0.1", - "sync-rpc": "^1.2.1", - "then-request": "^6.0.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/sync-rpc": { - "version": "1.3.6", - "license": "MIT", - "dependencies": { - "get-port": "^3.1.0" - } - }, "node_modules/tar-fs": { "version": "2.1.4", "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.4.tgz", @@ -4064,32 +4223,6 @@ "dev": true, "license": "MIT" }, - "node_modules/then-request": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/then-request/-/then-request-6.0.2.tgz", - "integrity": "sha512-3ZBiG7JvP3wbDzA9iNY5zJQcHL4jn/0BWtXIkagfz7QgOL/LqjCEOBQuJNZfu0XYnv5JhKh+cDxCPM4ILrqruA==", - "dependencies": { - "@types/concat-stream": "^1.6.0", - "@types/form-data": "0.0.33", - "@types/node": "^8.0.0", - "@types/qs": "^6.2.31", - "caseless": "~0.12.0", - "concat-stream": "^1.6.0", - "form-data": "^2.2.0", - "http-basic": "^8.1.1", - "http-response-object": "^3.0.1", - "promise": "^8.0.0", - "qs": "^6.4.0" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/then-request/node_modules/@types/node": { - "version": "8.10.66", - "resolved": "https://registry.npmjs.org/@types/node/-/node-8.10.66.tgz", - "integrity": "sha512-tktOkFUA4kXx2hhhrB8bIFb5TbwzS4uOhKEmwiD+NoiL0qtP2OQ9mFldbgD4dV1djrlBYP6eBuQZiWjuHUpqFw==" - }, "node_modules/through": { "version": "2.3.8", "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", @@ -4113,17 +4246,6 @@ "node": ">=0.6.0" } }, - "node_modules/to-regex-range": { - "version": "5.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, "node_modules/token-types": { "version": "4.2.1", "resolved": "https://registry.npmjs.org/token-types/-/token-types-4.2.1.tgz", @@ -4196,7 +4318,9 @@ "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==" }, "node_modules/underscore": { - "version": "1.13.1", + "version": "1.13.8", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.8.tgz", + "integrity": "sha512-DXtD3ZtEQzc7M8m4cXotyHR+FAS18C64asBYY5vqZexfYryNNnDc02W4hKg3rdQuqOYas1jkseX0+nZXjTXnvQ==", "dev": true, "license": "MIT" }, @@ -4277,12 +4401,35 @@ } }, "node_modules/workerpool": { - "version": "6.2.1", + "version": "9.3.4", + "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-9.3.4.tgz", + "integrity": "sha512-TmPRQYYSAnnDiEB0P/Ytip7bFGvqnSU6I2BcuSw7Hx+JSg/DsUi5ebYfc8GYaSdpuvOcEs6dXxPurOYpe9QFwg==", "dev": true, "license": "Apache-2.0" }, "node_modules/wrap-ansi": { "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs": { + "name": "wrap-ansi", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "dev": true, "license": "MIT", "dependencies": { @@ -4302,6 +4449,22 @@ "devOptional": true, "license": "ISC" }, + "node_modules/wsl-utils": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/wsl-utils/-/wsl-utils-0.3.1.tgz", + "integrity": "sha512-g/eziiSUNBSsdDJtCLB8bdYEUMj4jR7AGeUo96p/3dTafgjHhpF4RiCFPiRILwjQoDXx5MqkBr4fwWtR3Ky4Wg==", + "license": "MIT", + "dependencies": { + "is-wsl": "^3.1.0", + "powershell-utils": "^0.1.0" + }, + "engines": { + "node": ">=20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/xml-utils": { "version": "1.10.2", "resolved": "https://registry.npmjs.org/xml-utils/-/xml-utils-1.10.2.tgz", @@ -4310,6 +4473,8 @@ }, "node_modules/y18n": { "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", "dev": true, "license": "ISC", "engines": { @@ -4317,28 +4482,32 @@ } }, "node_modules/yargs": { - "version": "16.2.0", + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", "dev": true, "license": "MIT", "dependencies": { - "cliui": "^7.0.2", + "cliui": "^8.0.1", "escalade": "^3.1.1", "get-caller-file": "^2.0.5", "require-directory": "^2.1.1", - "string-width": "^4.2.0", + "string-width": "^4.2.3", "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" + "yargs-parser": "^21.1.1" }, "engines": { - "node": ">=10" + "node": ">=12" } }, "node_modules/yargs-parser": { - "version": "20.2.4", + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", "dev": true, "license": "ISC", "engines": { - "node": ">=10" + "node": ">=12" } }, "node_modules/yargs-unparser": { diff --git a/package.json b/package.json index 136894c39..d1fea0a15 100644 --- a/package.json +++ b/package.json @@ -20,7 +20,7 @@ "url": "git+https://github.com/mbloch/mapshaper.git" }, "engines": { - "node": ">=12.0.0" + "node": ">=20.11.0" }, "scripts": { "test": "mocha test", @@ -49,7 +49,7 @@ "@xmldom/xmldom": "^0.8.6", "adm-zip": "^0.5.9", "big.js": "^7.0.1", - "commander": "7.0.0", + "commander": "^14.0.3", "cookies": "^0.8.0", "d3-color": "3.1.0", "d3-interpolate": "^3.0.1", @@ -65,9 +65,8 @@ "kdbush": "^3.0.0", "mproj": "0.0.40", "msgpackr": "^1.10.1", - "opn": "^5.3.0", + "open": "^11.0.0", "rw": "~1.3.3", - "sync-request": "6.1.0", "tinyqueue": "^2.0.3" }, "devDependencies": { @@ -78,7 +77,7 @@ "eslint": "^8.16.0", "highlight.js": "^11.11.1", "marked": "^18.0.2", - "mocha": "^10.2.0", + "mocha": "^11.7.5", "rollup": "^4.44.1", "rollup-plugin-polyfill-node": "^0.13.0", "shell-quote": "^1.7.4", diff --git a/www/geopackage.js b/www/geopackage.js index 0c5300c0f..c06a20412 100644 --- a/www/geopackage.js +++ b/www/geopackage.js @@ -285,7 +285,7 @@ uptime: uptime }; - var __dirname = '/Users/matthewbloch/mb4/mapshaper/node_modules/@ngageoint/geopackage/dist'; + var __dirname$1 = '/Users/matthewbloch/mb4/mapshaper/node_modules/@ngageoint/geopackage/dist'; var lookup = []; var revLookup = []; @@ -2591,7 +2591,7 @@ return sqliteError; } - var __filename = '/Users/matthewbloch/mb4/mapshaper/node_modules/bindings'; + var __filename$1 = '/Users/matthewbloch/mb4/mapshaper/node_modules/bindings'; var bindings = {exports: {}}; @@ -2676,7 +2676,7 @@ function requireBindings () { if (hasRequiredBindings) return bindings.exports; hasRequiredBindings = 1; - (function (module, exports) { + (function (module, exports$1) { var fs = require$$2$1, path = require$$1, fileURLToPath = requireFileUriToPath(), @@ -2754,7 +2754,7 @@ // Get the module root if (!opts.module_root) { - opts.module_root = exports.getRoot(exports.getFileName()); + opts.module_root = exports$1.getRoot(exports$1.getFileName()); } // Ensure the given bindings name ends with .node @@ -2809,7 +2809,7 @@ err.tries = tries; throw err; } - module.exports = exports = bindings; + module.exports = exports$1 = bindings; /** * Gets the filename of the JavaScript file that invokes this function. @@ -2817,7 +2817,7 @@ * Optionally accepts an filename argument to skip when searching for the invoking filename */ - exports.getFileName = function getFileName(calling_file) { + exports$1.getFileName = function getFileName(calling_file) { var origPST = Error.prepareStackTrace, origSTL = Error.stackTraceLimit, dummy = {}, @@ -2828,7 +2828,7 @@ Error.prepareStackTrace = function(e, st) { for (var i = 0, l = st.length; i < l; i++) { fileName = st[i].getFileName(); - if (fileName !== __filename) { + if (fileName !== __filename$1) { if (calling_file) { if (fileName !== calling_file) { return; @@ -2866,7 +2866,7 @@ * Out: /home/nate/node-native-module */ - exports.getRoot = function getRoot(file) { + exports$1.getRoot = function getRoot(file) { var dir = dirname(file), prev; while (true) { @@ -4335,8 +4335,8 @@ function requireGeopackage_min () { if (hasRequiredGeopackage_min) return geopackage_min$2.exports; hasRequiredGeopackage_min = 1; - (function (module, exports) { - !function(t,e){"object"=='object'&&"object"=='object'?module.exports=e(function(){try{return requireLib()}catch(t){}}()):"function"==typeof undefined&&undefined.amd?undefined(["better-sqlite3"],e):"object"=='object'?exports.GeoPackage=e(function(){try{return requireLib()}catch(t){}}()):t.GeoPackage=e(t["better-sqlite3"]);}(self,(__WEBPACK_EXTERNAL_MODULE__1498__=>(()=>{var __webpack_modules__={8927:(t,e,n)=>{var r,i=n(3085).lW,o=n(4155),a=n(5108),s=(r=(r="undefined"!=typeof document&&document.currentScript?document.currentScript.src:void 0)||"/index.js",function(t={}){var e,s,u,l;e||(e=void 0!==t?t:{}),e.ready=new Promise((function(t,e){s=t,u=e;})),(l=e).Qd=l.Qd||[],l.Qd.push((function(){l.MakeSWCanvasSurface=function(t){var e=t;if("CANVAS"!==e.tagName&&!(e=document.getElementById(t)))throw "Canvas with id "+t+" was not found";return (t=l.MakeSurface(e.width,e.height))&&(t.Dd=e),t},l.MakeCanvasSurface||(l.MakeCanvasSurface=l.MakeSWCanvasSurface),l.MakeSurface=function(t,e){var n={width:t,height:e,colorType:l.ColorType.RGBA_8888,alphaType:l.AlphaType.Unpremul,colorSpace:l.ColorSpace.SRGB},r=t*e*4,i=l._malloc(r);return (n=l.Surface._makeRasterDirect(n,i,4*t))&&(n.Dd=null,n.uf=t,n.rf=e,n.tf=r,n.Ue=i,n.getCanvas().clear(l.TRANSPARENT)),n},l.MakeRasterDirectSurface=function(t,e,n){return l.Surface._makeRasterDirect(t,e.byteOffset,n)},l.Surface.prototype.flush=function(t){if(this._flush(),this.Dd){var e=new Uint8ClampedArray(l.HEAPU8.buffer,this.Ue,this.tf);e=new ImageData(e,this.uf,this.rf),t?this.Dd.getContext("2d").putImageData(e,0,0,t[0],t[1],t[2]-t[0],t[3]-t[1]):this.Dd.getContext("2d").putImageData(e,0,0);}},l.Surface.prototype.dispose=function(){this.Ue&&l._free(this.Ue),this.delete();},l.currentContext=l.currentContext||function(){},l.setCurrentContext=l.setCurrentContext||function(){};})),function(t){t.Qd=t.Qd||[],t.Qd.push((function(){function e(t,e,n){return t&&t.hasOwnProperty(e)?t[e]:n}t.GetWebGLContext=function(t,n){if(!t)throw "null canvas passed into makeWebGLContext";var r={alpha:e(n,"alpha",1),depth:e(n,"depth",1),stencil:e(n,"stencil",8),antialias:e(n,"antialias",0),premultipliedAlpha:e(n,"premultipliedAlpha",1),preserveDrawingBuffer:e(n,"preserveDrawingBuffer",0),preferLowPowerToHighPerformance:e(n,"preferLowPowerToHighPerformance",0),failIfMajorPerformanceCaveat:e(n,"failIfMajorPerformanceCaveat",0),enableExtensionsByDefault:e(n,"enableExtensionsByDefault",1),explicitSwapControl:e(n,"explicitSwapControl",0),renderViaOffscreenBackBuffer:e(n,"renderViaOffscreenBackBuffer",0)};if(r.majorVersion=n&&n.majorVersion?n.majorVersion:"undefined"!=typeof WebGL2RenderingContext?2:1,r.explicitSwapControl)throw "explicitSwapControl is not supported";return t=function(t,e){t.cf||(t.cf=t.getContext,t.getContext=function(e,n){return "webgl"==e==(n=t.cf(e,n))instanceof WebGLRenderingContext?n:null});var n=1t.version||!e.jf)&&(e.jf=e.getExtension("EXT_disjoint_timer_query")),e.hg=e.getExtension("WEBGL_multi_draw"),(e.getSupportedExtensions()||[]).forEach((function(t){t.includes("lose_context")||t.includes("debug")||e.getExtension(t);}));}}(r),n}(n,e):0}(t,r),t?(De(t),t):0},t.deleteContext=function(t){Fe===Se[t]&&(Fe=null),"object"==typeof JSEvents&&JSEvents.jg(Se[t].ze.canvas),Se[t]&&Se[t].ze.canvas&&(Se[t].ze.canvas.df=void 0),Se[t]=null;},t.MakeWebGLCanvasSurface=function(e,n,r){n=n||null;var i=e,o="undefined"!=typeof OffscreenCanvas&&i instanceof OffscreenCanvas;if(!("undefined"!=typeof HTMLCanvasElement&&i instanceof HTMLCanvasElement||o||(i=document.getElementById(e),i)))throw "Canvas with id "+e+" was not found";if(!(e=this.GetWebGLContext(i,r))||0>e)throw "failed to create webgl context: err "+e;return r=this.MakeGrContext(e),(n=this.MakeOnScreenGLSurface(r,i.width,i.height,n))?(n.de=e,n.grContext=r,n.openGLversion=i.df.version,n):(n=i.cloneNode(!0),i.parentNode.replaceChild(n,i),n.classList.add("ck-replaced"),t.MakeSWCanvasSurface(n))},t.MakeCanvasSurface=t.MakeWebGLCanvasSurface;}));}(e),function(t){function e(t,e,n,r,i){for(var o=0;o>>0}function a(t){if(t instanceof Float32Array){for(var e=Math.floor(t.length/4),n=new Uint32Array(e),r=0;rs;s++)t.HEAPF32[o+i]=e[a][s],i++;e=r;}else e=X;n.Ud=e;}return n}function f(e){if(!e)return X;if(e.length){if(6===e.length||9===e.length)return c(e,"HEAPF32",R),6===e.length&&t.HEAPF32.set(z,6+R/4),R;if(16===e.length){var n=E.toTypedArray();return n[0]=e[0],n[1]=e[1],n[2]=e[3],n[3]=e[4],n[4]=e[5],n[5]=e[7],n[6]=e[12],n[7]=e[13],n[8]=e[15],R}throw "invalid matrix size"}return (n=E.toTypedArray())[0]=e.m11,n[1]=e.m21,n[2]=e.m41,n[3]=e.m12,n[4]=e.m22,n[5]=e.m42,n[6]=e.m14,n[7]=e.m24,n[8]=e.m44,R}function p(e){for(var n=Array(16),r=0;16>r;r++)n[r]=t.HEAPF32[e/4+r];return n}function d(t,e){return c(t,"HEAPF32",e||D)}function y(t,e,n,r){var i=x.toTypedArray();return i[0]=t,i[1]=e,i[2]=n,i[3]=r,D}function m(e){for(var n=new Float32Array(4),r=0;4>r;r++)n[r]=t.HEAPF32[e/4+r];return n}function g(t,e){return c(t,"HEAPF32",e||k)}function _(t,e){return c(t,"HEAPF32",e||q)}function b(){for(var t=0,e=0;e>>0},t.Color4f=function(t,e,n,r){return void 0===r&&(r=1),Float32Array.of(t,e,n,r)},Object.defineProperty(t,"TRANSPARENT",{get:function(){return t.Color4f(0,0,0,0)}}),Object.defineProperty(t,"BLACK",{get:function(){return t.Color4f(0,0,0,1)}}),Object.defineProperty(t,"WHITE",{get:function(){return t.Color4f(1,1,1,1)}}),Object.defineProperty(t,"RED",{get:function(){return t.Color4f(1,0,0,1)}}),Object.defineProperty(t,"GREEN",{get:function(){return t.Color4f(0,1,0,1)}}),Object.defineProperty(t,"BLUE",{get:function(){return t.Color4f(0,0,1,1)}}),Object.defineProperty(t,"YELLOW",{get:function(){return t.Color4f(1,1,0,1)}}),Object.defineProperty(t,"CYAN",{get:function(){return t.Color4f(0,1,1,1)}}),Object.defineProperty(t,"MAGENTA",{get:function(){return t.Color4f(1,0,1,1)}}),t.getColorComponents=function(t){return [Math.floor(255*t[0]),Math.floor(255*t[1]),Math.floor(255*t[2]),t[3]]},t.parseColorString=function(e,n){if((e=e.toLowerCase()).startsWith("#")){switch(n=255,e.length){case 9:n=parseInt(e.slice(7,9),16);case 7:var r=parseInt(e.slice(1,3),16),i=parseInt(e.slice(3,5),16),o=parseInt(e.slice(5,7),16);break;case 5:n=17*parseInt(e.slice(4,5),16);case 4:r=17*parseInt(e.slice(1,2),16),i=17*parseInt(e.slice(2,3),16),o=17*parseInt(e.slice(3,4),16);}return t.Color(r,i,o,n/255)}return e.startsWith("rgba")?(e=(e=e.slice(5,-1)).split(","),t.Color(+e[0],+e[1],+e[2],s(e[3]))):e.startsWith("rgb")?(e=(e=e.slice(4,-1)).split(","),t.Color(+e[0],+e[1],+e[2],s(e[3]))):e.startsWith("gray(")||e.startsWith("hsl")||!n||void 0===(e=n[e])?t.BLACK:e},t.multiplyByAlpha=function(t,e){return (t=t.slice())[3]=Math.max(0,Math.min(t[3]*e,1)),t},t.Malloc=function(e,n){var r=t._malloc(n*e.BYTES_PER_ELEMENT);return {_ck:!0,length:n,byteOffset:r,he:null,subarray:function(t,e){return (t=this.toTypedArray().subarray(t,e))._ck=!0,t},toTypedArray:function(){return this.he&&this.he.length||(this.he=new e(t.HEAPU8.buffer,r,n),this.he._ck=!0),this.he}}},t.Free=function(e){t._free(e.byteOffset),e.byteOffset=X,e.toTypedArray=null,e.he=null;};var E,w,x,C,M,S,O,A,I,P,R=X,L=X,D=X,k=X,F=X,U=X,G=X,W=X,q=X,H=X,z=Float32Array.of(0,0,1),V={};t.ie=function(){this.ce=[],this.Jd=null,Object.defineProperty(this,"length",{enumerable:!0,get:function(){return this.ce.length/4}});},t.ie.prototype.push=function(t,e,n,r){this.Jd||this.ce.push(t,e,n,r);},t.ie.prototype.set=function(e,n,r,i,o){0>e||e>=this.ce.length/4||(e*=4,this.Jd?(e=this.Jd/4+e,t.HEAPF32[e]=n,t.HEAPF32[e+1]=r,t.HEAPF32[e+2]=i,t.HEAPF32[e+3]=o):(this.ce[e]=n,this.ce[e+1]=r,this.ce[e+2]=i,this.ce[e+3]=o));},t.ie.prototype.build=function(){return this.Jd?this.Jd:this.Jd=c(this.ce,"HEAPF32")},t.ie.prototype.delete=function(){this.Jd&&(t._free(this.Jd),this.Jd=null);},t.Ae=function(){this.Fe=[],this.Jd=null,Object.defineProperty(this,"length",{enumerable:!0,get:function(){return this.Fe.length}});},t.Ae.prototype.push=function(t){this.Jd||this.Fe.push(t);},t.Ae.prototype.set=function(e,n){0>e||e>=this.Fe.length||(e*=4,this.Jd?t.HEAPU32[this.Jd/4+e]=n:this.Fe[e]=n);},t.Ae.prototype.build=function(){return this.Jd?this.Jd:this.Jd=c(this.Fe,"HEAPU32")},t.Ae.prototype.delete=function(){this.Jd&&(t._free(this.Jd),this.Jd=null);},t.RectBuilder=t.ie,t.RSXFormBuilder=t.ie,t.ColorBuilder=t.Ae;var X=0,Y=!new Function("try {return this===window;}catch(e){ return false;}")();t.onRuntimeInitialized=function(){function e(e,n,r,i,o,a){a||(a=4*i.width,i.colorType===t.ColorType.RGBA_F16?a*=2:i.colorType===t.ColorType.RGBA_F32&&(a*=4));var s=a*i.height,u=o?o.byteOffset:t._malloc(s);if(!e._readPixels(i,u,a,n,r))return o||t._free(u),null;if(o)return o.toTypedArray();switch(i.colorType){case t.ColorType.RGBA_8888:case t.ColorType.RGBA_F16:e=new Uint8Array(t.HEAPU8.buffer,u,s).slice();break;case t.ColorType.RGBA_F32:e=new Float32Array(t.HEAPU8.buffer,u,s).slice();break;default:return null}return t._free(u),e}x=t.Malloc(Float32Array,4),D=x.byteOffset,w=t.Malloc(Float32Array,16),L=w.byteOffset,E=t.Malloc(Float32Array,9),R=E.byteOffset,I=t.Malloc(Float32Array,12),q=I.byteOffset,P=t.Malloc(Float32Array,12),H=P.byteOffset,C=t.Malloc(Float32Array,4),k=C.byteOffset,M=t.Malloc(Float32Array,4),F=M.byteOffset,S=t.Malloc(Float32Array,3),U=S.byteOffset,O=t.Malloc(Float32Array,3),G=O.byteOffset,A=t.Malloc(Int32Array,4),W=A.byteOffset,t.ColorSpace.SRGB=t.ColorSpace._MakeSRGB(),t.ColorSpace.DISPLAY_P3=t.ColorSpace._MakeDisplayP3(),t.ColorSpace.ADOBE_RGB=t.ColorSpace._MakeAdobeRGB(),t.Path.MakeFromCmds=function(e){for(var n=0,r=0;rn;n++)e[n]=t.HEAPF32[R/4+n];return e},t.Canvas.prototype.readPixels=function(t,n,r,i,o){return e(this,t,n,r,i,o)},t.Canvas.prototype.saveLayer=function(t,e,n,r){return e=g(e),this._saveLayer(t||null,e,n||null,r||0)},t.Canvas.prototype.writePixels=function(e,n,r,i,o,a,s,u){if(e.byteLength%(n*r))throw "pixels length must be a multiple of the srcWidth * srcHeight";var h=e.byteLength/(n*r);a=a||t.AlphaType.Unpremul,s=s||t.ColorType.RGBA_8888,u=u||t.ColorSpace.SRGB;var f=h*n;return h=c(e,"HEAPU8"),n=this._writePixels({width:n,height:r,colorType:s,alphaType:a,colorSpace:u},h,f,i,o),l(h,e),n},t.ColorFilter.MakeBlend=function(e,n){return e=d(e),t.ColorFilter._MakeBlend(e,n)},t.ColorFilter.MakeMatrix=function(e){if(!e||20!==e.length)throw "invalid color matrix";var n=c(e,"HEAPF32"),r=t.ColorFilter._makeMatrix(n);return l(n,e),r},t.ContourMeasure.prototype.getPosTan=function(t,e){return this._getPosTan(t,k),t=C.toTypedArray(),e?(e.set(t),e):t.slice()},t.ImageFilter.MakeMatrixTransform=function(e,n,r){return e=f(e),t.ImageFilter._MakeMatrixTransform(e,n,r)},t.Paint.prototype.getColor=function(){return this._getColor(D),m(D)},t.Paint.prototype.setColor=function(t,e){e=e||null,t=d(t),this._setColor(t,e);},t.Paint.prototype.setColorComponents=function(t,e,n,r,i){i=i||null,t=y(t,e,n,r),this._setColor(t,i);},t.Path.prototype.getPoint=function(t,e){return this._getPoint(t,k),t=C.toTypedArray(),e?(e[0]=t[0],e[1]=t[1],e):t.slice(0,2)},t.PictureRecorder.prototype.beginRecording=function(t){return t=g(t),this._beginRecording(t)},t.Surface.prototype.makeImageSnapshot=function(t){return t=c(t,"HEAP32",W),this._makeImageSnapshot(t)},t.Surface.prototype.requestAnimationFrame=function(e,n){this.Be||(this.Be=this.getCanvas()),requestAnimationFrame(function(){void 0!==this.de&&t.setCurrentContext(this.de),e(this.Be),this.flush(n);}.bind(this));},t.Surface.prototype.drawOnce=function(e,n){this.Be||(this.Be=this.getCanvas()),requestAnimationFrame(function(){void 0!==this.de&&t.setCurrentContext(this.de),e(this.Be),this.flush(n),this.dispose();}.bind(this));},t.PathEffect.MakeDash=function(e,n){if(n||(n=0),!e.length||1==e.length%2)throw "Intervals array must have even length";var r=c(e,"HEAPF32");return n=t.PathEffect._MakeDash(r,e.length,n),l(r,e),n},t.Shader.MakeColor=function(e,n){return n=n||null,e=d(e),t.Shader._MakeColor(e,n)},t.Shader.Blend=t.Shader.MakeBlend,t.Shader.Color=t.Shader.MakeColor,t.Shader.Lerp=t.Shader.MakeLerp,t.Shader.MakeLinearGradient=function(e,n,r,i,o,a,s,u){u=u||null;var p=h(r),d=c(i,"HEAPF32");s=s||0,a=f(a);var y=C.toTypedArray();return y.set(e),y.set(n,2),e=t.Shader._MakeLinearGradient(k,p.Ud,p.colorType,d,p.count,o,s,a,u),l(p.Ud,r),i&&l(d,i),e},t.Shader.MakeRadialGradient=function(e,n,r,i,o,a,s,u){u=u||null;var p=h(r),d=c(i,"HEAPF32");return s=s||0,a=f(a),e=t.Shader._MakeRadialGradient(e[0],e[1],n,p.Ud,p.colorType,d,p.count,o,s,a,u),l(p.Ud,r),i&&l(d,i),e},t.Shader.MakeSweepGradient=function(e,n,r,i,o,a,s,u,p,d){d=d||null;var y=h(r),m=c(i,"HEAPF32");return s=s||0,u=u||0,p=p||360,a=f(a),e=t.Shader._MakeSweepGradient(e,n,y.Ud,y.colorType,m,y.count,o,u,p,s,a,d),l(y.Ud,r),i&&l(m,i),e},t.Shader.MakeTwoPointConicalGradient=function(e,n,r,i,o,a,s,u,p,d){d=d||null;var y=h(o),m=c(a,"HEAPF32");p=p||0,u=f(u);var g=C.toTypedArray();return g.set(e),g.set(r,2),e=t.Shader._MakeTwoPointConicalGradient(k,n,i,y.Ud,y.colorType,m,y.count,s,p,u,d),l(y.Ud,o),a&&l(m,a),e},t.Vertices.prototype.bounds=function(t){this._bounds(k);var e=C.toTypedArray();return t?(t.set(e),t):e.slice()},t.Qd&&t.Qd.forEach((function(t){t();}));},t.computeTonalColors=function(t){var e=c(t.ambient,"HEAPF32"),n=c(t.spot,"HEAPF32");this._computeTonalColors(e,n);var r={ambient:m(e),spot:m(n)};return l(e,t.ambient),l(n,t.spot),r},t.LTRBRect=function(t,e,n,r){return Float32Array.of(t,e,n,r)},t.XYWHRect=function(t,e,n,r){return Float32Array.of(t,e,t+n,e+r)},t.LTRBiRect=function(t,e,n,r){return Int32Array.of(t,e,n,r)},t.XYWHiRect=function(t,e,n,r){return Int32Array.of(t,e,t+n,e+r)},t.RRectXY=function(t,e,n){return Float32Array.of(t[0],t[1],t[2],t[3],e,n,e,n,e,n,e,n)},t.MakeAnimatedImageFromEncoded=function(e){e=new Uint8Array(e);var n=t._malloc(e.byteLength);return t.HEAPU8.set(e,n),(e=t._decodeAnimatedImage(n,e.byteLength))?e:null},t.MakeImageFromEncoded=function(e){e=new Uint8Array(e);var n=t._malloc(e.byteLength);return t.HEAPU8.set(e,n),(e=t._decodeImage(n,e.byteLength))?e:null};var Z=null;t.MakeImageFromCanvasImageSource=function(e){var n=e.width,r=e.height;Z||(Z=document.createElement("canvas")),Z.width=n,Z.height=r;var i=Z.getContext("2d");return i.drawImage(e,0,0),e=i.getImageData(0,0,n,r),t.MakeImage({width:n,height:r,alphaType:t.AlphaType.Unpremul,colorType:t.ColorType.RGBA_8888,colorSpace:t.ColorSpace.SRGB},e.data,4*n)},t.MakeImage=function(e,n,r){var i=t._malloc(n.length);return t.HEAPU8.set(n,i),t._MakeImage(e,i,n.length,r)},t.MakeVertices=function(e,n,r,i,o,s){var u=o&&o.length||0,l=0;if(r&&r.length&&(l|=1),i&&i.length&&(l|=2),void 0===s||s||(l|=4),c(n,"HEAPF32",(e=new t._VerticesBuilder(e,n.length/2,u,l)).positions()),e.texCoords()&&c(r,"HEAPF32",e.texCoords()),e.colors()){if(i.build)throw "Color builder not accepted by MakeVertices, use array of ints";c(a(i),"HEAPU32",e.colors());}return e.indices()&&c(o,"HEAPU16",e.indices()),e.detach()},t.Matrix={},t.Matrix.identity=function(){return n(3)},t.Matrix.invert=function(t){var e=t[0]*t[4]*t[8]+t[1]*t[5]*t[6]+t[2]*t[3]*t[7]-t[2]*t[4]*t[6]-t[1]*t[3]*t[8]-t[0]*t[5]*t[7];return e?[(t[4]*t[8]-t[5]*t[7])/e,(t[2]*t[7]-t[1]*t[8])/e,(t[1]*t[5]-t[2]*t[4])/e,(t[5]*t[6]-t[3]*t[8])/e,(t[0]*t[8]-t[2]*t[6])/e,(t[2]*t[3]-t[0]*t[5])/e,(t[3]*t[7]-t[4]*t[6])/e,(t[1]*t[6]-t[0]*t[7])/e,(t[0]*t[4]-t[1]*t[3])/e]:null},t.Matrix.mapPoints=function(t,e){for(var n=0;ni;i+=5){for(var o=0;4>o;o++)n[r++]=t[i]*e[o]+t[i+1]*e[o+5]+t[i+2]*e[o+10]+t[i+3]*e[o+15];n[r++]=t[i]*e[4]+t[i+1]*e[9]+t[i+2]*e[14]+t[i+3]*e[19]+t[i+4];}return n},t.Qd=t.Qd||[],t.Qd.push((function(){t.Path.prototype.op=function(t,e){return this._op(t,e)?this:null},t.Path.prototype.simplify=function(){return this._simplify()?this:null};})),t.Qd=t.Qd||[],t.Qd.push((function(){t.Canvas.prototype.drawText=function(e,n,r,i,o){var a=j(e),s=t._malloc(a+1);B(e,N,s,a+1),this._drawSimpleText(s,a,n,r,o,i),t._free(s);},t.Font.prototype.getGlyphBounds=function(e,n,r){var i=c(e,"HEAPU16"),o=t._malloc(16*e.length);return this._getGlyphWidthBounds(i,e.length,X,o,n||null),n=new Float32Array(t.HEAPU8.buffer,o,4*e.length),l(i,e),r?(r.set(n),t._free(o),r):(e=Float32Array.from(n),t._free(o),e)},t.Font.prototype.getGlyphIDs=function(e,n,r){n||(n=e.length);var i=j(e)+1,o=t._malloc(i);return B(e,N,o,i),e=t._malloc(2*n),n=this._getGlyphIDs(o,i-1,n,e),t._free(o),0>n?(t._free(e),null):(o=new Uint16Array(t.HEAPU8.buffer,e,n),r?(r.set(o),t._free(e),r):(r=Uint32Array.from(o),t._free(e),r))},t.Font.prototype.getGlyphWidths=function(e,n,r){var i=c(e,"HEAPU16"),o=t._malloc(4*e.length);return this._getGlyphWidthBounds(i,e.length,o,X,n||null),n=new Float32Array(t.HEAPU8.buffer,o,e.length),l(i,e),r?(r.set(n),t._free(o),r):(e=Float32Array.from(n),t._free(o),e)},t.FontMgr.FromData=function(){if(!arguments.length)return null;var e=arguments;if(1===e.length&&Array.isArray(e[0])&&(e=arguments[0]),!e.length)return null;for(var n=[],r=[],i=0;is.length()){if(s.delete(),!(s=n.next())){e=e.substring(0,l);break}i=c/2;}s.getPosTan(i,u);var h=u[2],f=u[3];o.push(h,f,u[0]-c/2*h,u[1]-c/2*f),i+=c/2;}return e=this.MakeFromRSXform(e,o,r),o.delete(),s&&s.delete(),n.delete(),e}},t.TextBlob.MakeFromRSXform=function(e,n,r){var i=j(e)+1,o=t._malloc(i);return B(e,N,o,i),e=n.build?n.build():c(n,"HEAPF32"),r=t.TextBlob._MakeFromRSXform(o,i-1,e,r),t._free(o),r||null},t.TextBlob.MakeFromRSXformGlyphs=function(e,n,r){var i=c(e,"HEAPU16");return n=n.build?n.build():c(n,"HEAPF32"),r=t.TextBlob._MakeFromRSXformGlyphs(i,2*e.length,n,r),l(i,e),r||null},t.TextBlob.MakeFromGlyphs=function(e,n){var r=c(e,"HEAPU16");return n=t.TextBlob._MakeFromGlyphs(r,2*e.length,n),l(r,e),n||null},t.TextBlob.MakeFromText=function(e,n){var r=j(e)+1,i=t._malloc(r);return B(e,N,i,r),e=t.TextBlob._MakeFromText(i,r-1,n),t._free(i),e||null},t.MallocGlyphIDs=function(e){return t.Malloc(Uint16Array,e)};})),function(){function e(t){for(var e=0;et||1=t||!t||(this.Ee=t,this.Fd.setStrokeWidth(t));}}),Object.defineProperty(this,"miterLimit",{enumerable:!0,get:function(){return this.Fd.getStrokeMiter()},set:function(t){0>=t||!t||this.Fd.setStrokeMiter(t);}}),Object.defineProperty(this,"shadowBlur",{enumerable:!0,get:function(){return this.oe},set:function(t){0>t||!isFinite(t)||(this.oe=t);}}),Object.defineProperty(this,"shadowColor",{enumerable:!0,get:function(){return n(this.De)},set:function(t){this.De=o(t);}}),Object.defineProperty(this,"shadowOffsetX",{enumerable:!0,get:function(){return this.pe},set:function(t){isFinite(t)&&(this.pe=t);}}),Object.defineProperty(this,"shadowOffsetY",{enumerable:!0,get:function(){return this.qe},set:function(t){isFinite(t)&&(this.qe=t);}}),Object.defineProperty(this,"strokeStyle",{enumerable:!0,get:function(){return n(this.Xd)},set:function(t){"string"==typeof t?this.Xd=o(t):t.me&&(this.Xd=t);}}),this.arc=function(t,e,n,r,i,o){d(this.Hd,t,e,n,n,0,r,i,o);},this.arcTo=function(t,e,n,r,i){h(this.Hd,t,e,n,r,i);},this.beginPath=function(){this.Hd.delete(),this.Hd=new t.Path;},this.bezierCurveTo=function(t,n,r,i,o,a){var s=this.Hd;e([t,n,r,i,o,a])&&(s.isEmpty()&&s.moveTo(t,n),s.cubicTo(t,n,r,i,o,a));},this.clearRect=function(e,n,r,i){this.Fd.setStyle(t.PaintStyle.Fill),this.Fd.setBlendMode(t.BlendMode.Clear),this.Dd.drawRect(t.XYWHRect(e,n,r,i),this.Fd),this.Fd.setBlendMode(this.Ed);},this.clip=function(e,n){"string"==typeof e?(n=e,e=this.Hd):e&&e.Te&&(e=e.Ld),e||(e=this.Hd),e=e.copy(),n&&"evenodd"===n.toLowerCase()?e.setFillType(t.FillType.EvenOdd):e.setFillType(t.FillType.Winding),this.Dd.clipPath(e,t.ClipOp.Intersect,!0),e.delete();},this.closePath=function(){f(this.Hd);},this.createImageData=function(){if(1===arguments.length){var t=arguments[0];return new l(new Uint8ClampedArray(4*t.width*t.height),t.width,t.height)}if(2===arguments.length){t=arguments[0];var e=arguments[1];return new l(new Uint8ClampedArray(4*t*e),t,e)}throw "createImageData expects 1 or 2 arguments, got "+arguments.length},this.createLinearGradient=function(t,n,r,i){if(e(arguments)){var o=new c(t,n,r,i);return this.ue.push(o),o}},this.createPattern=function(t,e){return t=new g(t,e),this.ue.push(t),t},this.createRadialGradient=function(t,n,r,i,o,a){if(e(arguments)){var s=new _(t,n,r,i,o,a);return this.ue.push(s),s}},this.drawImage=function(e){var n=this.Je();if(3===arguments.length||5===arguments.length)var r=t.XYWHRect(arguments[1],arguments[2],arguments[3]||e.width(),arguments[4]||e.height()),i=t.XYWHRect(0,0,e.width(),e.height());else {if(9!==arguments.length)throw "invalid number of args for drawImage, need 3, 5, or 9; got "+arguments.length;r=t.XYWHRect(arguments[5],arguments[6],arguments[7],arguments[8]),i=t.XYWHRect(arguments[1],arguments[2],arguments[3],arguments[4]);}this.Dd.drawImageRect(e,i,r,n,!1),n.dispose();},this.ellipse=function(t,e,n,r,i,o,a,s){d(this.Hd,t,e,n,r,i,o,a,s);},this.Je=function(){var e=this.Fd.copy();if(e.setStyle(t.PaintStyle.Fill),r(this.Sd)){var n=t.multiplyByAlpha(this.Sd,this.$d);e.setColor(n);}else n=this.Sd.me(this.Id),e.setColor(t.Color(0,0,0,this.$d)),e.setShader(n);return e.dispose=function(){this.delete();},e},this.fill=function(e,n){if("string"==typeof e?(n=e,e=this.Hd):e&&e.Te&&(e=e.Ld),"evenodd"===n)this.Hd.setFillType(t.FillType.EvenOdd);else {if("nonzero"!==n&&n)throw "invalid fill rule";this.Hd.setFillType(t.FillType.Winding);}e||(e=this.Hd),n=this.Je();var r=this.re(n);r&&(this.Dd.save(),this.je(),this.Dd.drawPath(e,r),this.Dd.restore(),r.dispose()),this.Dd.drawPath(e,n),n.dispose();},this.fillRect=function(e,n,r,i){var o=this.Je(),a=this.re(o);a&&(this.Dd.save(),this.je(),this.Dd.drawRect(t.XYWHRect(e,n,r,i),a),this.Dd.restore(),a.dispose()),this.Dd.drawRect(t.XYWHRect(e,n,r,i),o),o.dispose();},this.fillText=function(e,n,r){var i=this.Je();e=t.TextBlob.MakeFromText(e,this.le);var o=this.re(i);o&&(this.Dd.save(),this.je(),this.Dd.drawTextBlob(e,n,r,o),this.Dd.restore(),o.dispose()),this.Dd.drawTextBlob(e,n,r,i),e.delete(),i.dispose();},this.getImageData=function(e,n,r,i){return (e=this.Dd.readPixels(e,n,{width:r,height:i,colorType:t.ColorType.RGBA_8888,alphaType:t.AlphaType.Unpremul,colorSpace:t.ColorSpace.SRGB}))?new l(new Uint8ClampedArray(e.buffer),r,i):null},this.getLineDash=function(){return this.ne.slice()},this.ff=function(e){var n=t.Matrix.invert(this.Id);return t.Matrix.mapPoints(n,e),e},this.isPointInPath=function(e,n,r){var i=arguments;if(3===i.length)var o=this.Hd;else {if(4!==i.length)throw "invalid arg count, need 3 or 4, got "+i.length;o=i[0],e=i[1],n=i[2],r=i[3];}return !(!isFinite(e)||!isFinite(n))&&("nonzero"===(r=r||"nonzero")||"evenodd"===r)&&(e=(i=this.ff([e,n]))[0],n=i[1],o.setFillType("nonzero"===r?t.FillType.Winding:t.FillType.EvenOdd),o.contains(e,n))},this.isPointInStroke=function(e,n){var r=arguments;if(2===r.length)var i=this.Hd;else {if(3!==r.length)throw "invalid arg count, need 2 or 3, got "+r.length;i=r[0],e=r[1],n=r[2];}return !(!isFinite(e)||!isFinite(n))&&(e=(r=this.ff([e,n]))[0],n=r[1],(i=i.copy()).setFillType(t.FillType.Winding),i.stroke({width:this.lineWidth,miter_limit:this.miterLimit,cap:this.Fd.getStrokeCap(),join:this.Fd.getStrokeJoin(),precision:.3}),r=i.contains(e,n),i.delete(),r)},this.lineTo=function(t,e){y(this.Hd,t,e);},this.measureText=function(){throw Error("Clients wishing to properly measure text should use the Paragraph API")},this.moveTo=function(t,n){var r=this.Hd;e([t,n])&&r.moveTo(t,n);},this.putImageData=function(n,r,i,o,a,s,u){if(e([r,i,o,a,s,u]))if(void 0===o)this.Dd.writePixels(n.data,n.width,n.height,r,i);else if(o=o||0,a=a||0,s=s||n.width,u=u||n.height,0>s&&(o+=s,s=Math.abs(s)),0>u&&(a+=u,u=Math.abs(u)),0>o&&(s+=o,o=0),0>a&&(u+=a,a=0),!(0>=s||0>=u)){n=t.MakeImage({width:n.width,height:n.height,alphaType:t.AlphaType.Unpremul,colorType:t.ColorType.RGBA_8888,colorSpace:t.ColorSpace.SRGB},n.data,4*n.width);var l=t.XYWHRect(o,a,s,u);r=t.XYWHRect(r+o,i+a,s,u),i=t.Matrix.invert(this.Id),this.Dd.save(),this.Dd.concat(i),this.Dd.drawImageRect(n,l,r,null,!1),this.Dd.restore(),n.delete();}},this.quadraticCurveTo=function(t,n,r,i){var o=this.Hd;e([t,n,r,i])&&(o.isEmpty()&&o.moveTo(t,n),o.quadTo(t,n,r,i));},this.rect=function(n,r,i,o){var a=this.Hd;e(n=t.XYWHRect(n,r,i,o))&&a.addRect(n);},this.resetTransform=function(){this.Hd.transform(this.Id);var e=t.Matrix.invert(this.Id);this.Dd.concat(e),this.Id=this.Dd.getTotalMatrix();},this.restore=function(){var e=this.ef.pop();if(e){var n=t.Matrix.multiply(this.Id,t.Matrix.invert(e.wf));this.Hd.transform(n),this.Fd.delete(),this.Fd=e.Pf,this.ne=e.Nf,this.Ee=e.bg,this.Xd=e.ag,this.Sd=e.fs,this.pe=e.Zf,this.qe=e.$f,this.oe=e.Tf,this.De=e.Yf,this.$d=e.Cf,this.Ed=e.Df,this.Ce=e.Of,this.Ke=e.Bf,this.Dd.restore(),this.Id=this.Dd.getTotalMatrix();}},this.rotate=function(e){if(isFinite(e)){var n=t.Matrix.rotated(-e);this.Hd.transform(n),this.Dd.rotate(e/Math.PI*180,0,0),this.Id=this.Dd.getTotalMatrix();}},this.save=function(){if(this.Sd.ke){var t=this.Sd.ke();this.ue.push(t);}else t=this.Sd;if(this.Xd.ke){var e=this.Xd.ke();this.ue.push(e);}else e=this.Xd;this.ef.push({wf:this.Id.slice(),Nf:this.ne.slice(),bg:this.Ee,ag:e,fs:t,Zf:this.pe,$f:this.qe,Tf:this.oe,Yf:this.De,Cf:this.$d,Of:this.Ce,Df:this.Ed,Pf:this.Fd.copy(),Bf:this.Ke}),this.Dd.save();},this.scale=function(n,r){if(e(arguments)){var i=t.Matrix.scaled(1/n,1/r);this.Hd.transform(i),this.Dd.scale(n,r),this.Id=this.Dd.getTotalMatrix();}},this.setLineDash=function(t){for(var e=0;et[e])return;1==t.length%2&&Array.prototype.push.apply(t,t),this.ne=t;},this.setTransform=function(t,n,r,i,o,a){e(arguments)&&(this.resetTransform(),this.transform(t,n,r,i,o,a));},this.je=function(){var e=t.Matrix.invert(this.Id);this.Dd.concat(e),this.Dd.concat(t.Matrix.translated(this.pe,this.qe)),this.Dd.concat(this.Id);},this.re=function(e){var n=t.multiplyByAlpha(this.De,this.$d);if(!t.getColorComponents(n)[3]||!(this.oe||this.qe||this.pe))return null;(e=e.copy()).setColor(n);var r=t.MaskFilter.MakeBlur(t.BlurStyle.Normal,this.oe/2,!1);return e.setMaskFilter(r),e.dispose=function(){r.delete(),this.delete();},e},this.Ve=function(){var e=this.Fd.copy();if(e.setStyle(t.PaintStyle.Stroke),r(this.Xd)){var n=t.multiplyByAlpha(this.Xd,this.$d);e.setColor(n);}else n=this.Xd.me(this.Id),e.setColor(t.Color(0,0,0,this.$d)),e.setShader(n);if(e.setStrokeWidth(this.Ee),this.ne.length){var i=t.PathEffect.MakeDash(this.ne,this.Ce);e.setPathEffect(i);}return e.dispose=function(){i&&i.delete(),this.delete();},e},this.stroke=function(t){t=t?t.Ld:this.Hd;var e=this.Ve(),n=this.re(e);n&&(this.Dd.save(),this.je(),this.Dd.drawPath(t,n),this.Dd.restore(),n.dispose()),this.Dd.drawPath(t,e),e.dispose();},this.strokeRect=function(e,n,r,i){var o=this.Ve(),a=this.re(o);a&&(this.Dd.save(),this.je(),this.Dd.drawRect(t.XYWHRect(e,n,r,i),a),this.Dd.restore(),a.dispose()),this.Dd.drawRect(t.XYWHRect(e,n,r,i),o),o.dispose();},this.strokeText=function(e,n,r){var i=this.Ve();e=t.TextBlob.MakeFromText(e,this.le);var o=this.re(i);o&&(this.Dd.save(),this.je(),this.Dd.drawTextBlob(e,n,r,o),this.Dd.restore(),o.dispose()),this.Dd.drawTextBlob(e,n,r,i),e.delete(),i.dispose();},this.translate=function(n,r){if(e(arguments)){var i=t.Matrix.translated(-n,-r);this.Hd.transform(i),this.Dd.translate(n,r),this.Id=this.Dd.getTotalMatrix();}},this.transform=function(e,n,r,i,o,a){e=[e,r,o,n,i,a,0,0,1],n=t.Matrix.invert(e),this.Hd.transform(n),this.Dd.concat(e),this.Id=this.Dd.getTotalMatrix();},this.addHitRegion=function(){},this.clearHitRegions=function(){},this.drawFocusIfNeeded=function(){},this.removeHitRegion=function(){},this.scrollPathIntoView=function(){},Object.defineProperty(this,"canvas",{value:null,writable:!1});}function u(e){this.We=e,this.de=new s(e.getCanvas()),this.Le=[],this.qf=t.FontMgr.RefDefault(),this.decodeImage=function(e){if(!(e=t.MakeImageFromEncoded(e)))throw "Invalid input";return this.Le.push(e),e},this.loadFont=function(t,e){if(!(t=this.qf.MakeTypefaceFromData(t)))return null;this.Le.push(t);var n=(e.style||"normal")+"|"+(e.variant||"normal")+"|"+(e.weight||"normal");e=e.family,T[e]||(T[e]={"*":t}),T[e][n]=t;},this.makePath2D=function(t){return t=new m(t),this.Le.push(t.Ld),t},this.getContext=function(t){return "2d"===t?this.de:null},this.toDataURL=function(e,n){this.We.flush();var r=this.We.makeImageSnapshot();if(r){e=e||"image/png";var o=t.ImageFormat.PNG;if("image/jpeg"===e&&(o=t.ImageFormat.JPEG),n=r.encodeToBytes(o,n||.92)){if(r.delete(),e="data:"+e+";base64,",Y)n=i.from(n).toString("base64");else {r=0,o=n.length;for(var a,s="";rt||1t);n++);this.Pd.splice(n,0,t),this.Td.splice(n,0,e);}},this.ke=function(){var t=new c(e,n,r,i);return t.Td=this.Td.slice(),t.Pd=this.Pd.slice(),t},this.be=function(){this.Nd&&(this.Nd.delete(),this.Nd=null);},this.me=function(o){var a=[e,n,r,i];t.Matrix.mapPoints(o,a),o=a[0];var s=a[1],u=a[2];return a=a[3],this.be(),this.Nd=t.Shader.MakeLinearGradient([o,s],[u,a],this.Td,this.Pd,t.TileMode.Clamp)};}function h(t,n,r,i,o,a){if(e([n,r,i,o,a])){if(0>a)throw "radii cannot be negative";t.isEmpty()&&t.moveTo(n,r),t.arcToTangent(n,r,i,o,a);}}function f(t){if(!t.isEmpty()){var e=t.getBounds();(e[3]-e[1]||e[2]-e[0])&&t.close();}}function p(e,n,r,i,o,a,s){s=(s-a)/Math.PI*180,a=a/Math.PI*180,n=t.LTRBRect(n-i,r-o,n+i,r+o),1e-5>Math.abs(Math.abs(s)-360)?(r=s/2,e.arcToOval(n,a,r,!1),e.arcToOval(n,a+r,r,!1)):e.arcToOval(n,a,s,!1);}function d(n,r,i,o,a,s,u,l,c){if(e([r,i,o,a,s,u,l])){if(0>o||0>a)throw "radii cannot be negative";var h=2*Math.PI,f=u%h;0>f&&(f+=h);var d=f-u;u=f,l+=d,!c&&l-u>=h?l=u+h:c&&u-l>=h?l=u-h:!c&&u>l?l=u+(h-(u-l)%h):c&&ut||1t);n++);this.Pd.splice(n,0,t),this.Td.splice(n,0,e);}},this.ke=function(){var t=new _(e,n,r,i,a,s);return t.Td=this.Td.slice(),t.Pd=this.Pd.slice(),t},this.be=function(){this.Nd&&(this.Nd.delete(),this.Nd=null);},this.me=function(o){var u=[e,n,i,a];t.Matrix.mapPoints(o,u);var l=u[0],c=u[1],h=u[2];u=u[3];var f=(Math.abs(o[0])+Math.abs(o[4]))/2;return o=r*f,f*=s,this.be(),this.Nd=t.Shader.MakeTwoPointConicalGradient([l,c],o,[h,u],f,this.Td,this.Pd,t.TileMode.Clamp)};}t._testing={};var b={aliceblue:Float32Array.of(.941,.973,1,1),antiquewhite:Float32Array.of(.98,.922,.843,1),aqua:Float32Array.of(0,1,1,1),aquamarine:Float32Array.of(.498,1,.831,1),azure:Float32Array.of(.941,1,1,1),beige:Float32Array.of(.961,.961,.863,1),bisque:Float32Array.of(1,.894,.769,1),black:Float32Array.of(0,0,0,1),blanchedalmond:Float32Array.of(1,.922,.804,1),blue:Float32Array.of(0,0,1,1),blueviolet:Float32Array.of(.541,.169,.886,1),brown:Float32Array.of(.647,.165,.165,1),burlywood:Float32Array.of(.871,.722,.529,1),cadetblue:Float32Array.of(.373,.62,.627,1),chartreuse:Float32Array.of(.498,1,0,1),chocolate:Float32Array.of(.824,.412,.118,1),coral:Float32Array.of(1,.498,.314,1),cornflowerblue:Float32Array.of(.392,.584,.929,1),cornsilk:Float32Array.of(1,.973,.863,1),crimson:Float32Array.of(.863,.078,.235,1),cyan:Float32Array.of(0,1,1,1),darkblue:Float32Array.of(0,0,.545,1),darkcyan:Float32Array.of(0,.545,.545,1),darkgoldenrod:Float32Array.of(.722,.525,.043,1),darkgray:Float32Array.of(.663,.663,.663,1),darkgreen:Float32Array.of(0,.392,0,1),darkgrey:Float32Array.of(.663,.663,.663,1),darkkhaki:Float32Array.of(.741,.718,.42,1),darkmagenta:Float32Array.of(.545,0,.545,1),darkolivegreen:Float32Array.of(.333,.42,.184,1),darkorange:Float32Array.of(1,.549,0,1),darkorchid:Float32Array.of(.6,.196,.8,1),darkred:Float32Array.of(.545,0,0,1),darksalmon:Float32Array.of(.914,.588,.478,1),darkseagreen:Float32Array.of(.561,.737,.561,1),darkslateblue:Float32Array.of(.282,.239,.545,1),darkslategray:Float32Array.of(.184,.31,.31,1),darkslategrey:Float32Array.of(.184,.31,.31,1),darkturquoise:Float32Array.of(0,.808,.82,1),darkviolet:Float32Array.of(.58,0,.827,1),deeppink:Float32Array.of(1,.078,.576,1),deepskyblue:Float32Array.of(0,.749,1,1),dimgray:Float32Array.of(.412,.412,.412,1),dimgrey:Float32Array.of(.412,.412,.412,1),dodgerblue:Float32Array.of(.118,.565,1,1),firebrick:Float32Array.of(.698,.133,.133,1),floralwhite:Float32Array.of(1,.98,.941,1),forestgreen:Float32Array.of(.133,.545,.133,1),fuchsia:Float32Array.of(1,0,1,1),gainsboro:Float32Array.of(.863,.863,.863,1),ghostwhite:Float32Array.of(.973,.973,1,1),gold:Float32Array.of(1,.843,0,1),goldenrod:Float32Array.of(.855,.647,.125,1),gray:Float32Array.of(.502,.502,.502,1),green:Float32Array.of(0,.502,0,1),greenyellow:Float32Array.of(.678,1,.184,1),grey:Float32Array.of(.502,.502,.502,1),honeydew:Float32Array.of(.941,1,.941,1),hotpink:Float32Array.of(1,.412,.706,1),indianred:Float32Array.of(.804,.361,.361,1),indigo:Float32Array.of(.294,0,.51,1),ivory:Float32Array.of(1,1,.941,1),khaki:Float32Array.of(.941,.902,.549,1),lavender:Float32Array.of(.902,.902,.98,1),lavenderblush:Float32Array.of(1,.941,.961,1),lawngreen:Float32Array.of(.486,.988,0,1),lemonchiffon:Float32Array.of(1,.98,.804,1),lightblue:Float32Array.of(.678,.847,.902,1),lightcoral:Float32Array.of(.941,.502,.502,1),lightcyan:Float32Array.of(.878,1,1,1),lightgoldenrodyellow:Float32Array.of(.98,.98,.824,1),lightgray:Float32Array.of(.827,.827,.827,1),lightgreen:Float32Array.of(.565,.933,.565,1),lightgrey:Float32Array.of(.827,.827,.827,1),lightpink:Float32Array.of(1,.714,.757,1),lightsalmon:Float32Array.of(1,.627,.478,1),lightseagreen:Float32Array.of(.125,.698,.667,1),lightskyblue:Float32Array.of(.529,.808,.98,1),lightslategray:Float32Array.of(.467,.533,.6,1),lightslategrey:Float32Array.of(.467,.533,.6,1),lightsteelblue:Float32Array.of(.69,.769,.871,1),lightyellow:Float32Array.of(1,1,.878,1),lime:Float32Array.of(0,1,0,1),limegreen:Float32Array.of(.196,.804,.196,1),linen:Float32Array.of(.98,.941,.902,1),magenta:Float32Array.of(1,0,1,1),maroon:Float32Array.of(.502,0,0,1),mediumaquamarine:Float32Array.of(.4,.804,.667,1),mediumblue:Float32Array.of(0,0,.804,1),mediumorchid:Float32Array.of(.729,.333,.827,1),mediumpurple:Float32Array.of(.576,.439,.859,1),mediumseagreen:Float32Array.of(.235,.702,.443,1),mediumslateblue:Float32Array.of(.482,.408,.933,1),mediumspringgreen:Float32Array.of(0,.98,.604,1),mediumturquoise:Float32Array.of(.282,.82,.8,1),mediumvioletred:Float32Array.of(.78,.082,.522,1),midnightblue:Float32Array.of(.098,.098,.439,1),mintcream:Float32Array.of(.961,1,.98,1),mistyrose:Float32Array.of(1,.894,.882,1),moccasin:Float32Array.of(1,.894,.71,1),navajowhite:Float32Array.of(1,.871,.678,1),navy:Float32Array.of(0,0,.502,1),oldlace:Float32Array.of(.992,.961,.902,1),olive:Float32Array.of(.502,.502,0,1),olivedrab:Float32Array.of(.42,.557,.137,1),orange:Float32Array.of(1,.647,0,1),orangered:Float32Array.of(1,.271,0,1),orchid:Float32Array.of(.855,.439,.839,1),palegoldenrod:Float32Array.of(.933,.91,.667,1),palegreen:Float32Array.of(.596,.984,.596,1),paleturquoise:Float32Array.of(.686,.933,.933,1),palevioletred:Float32Array.of(.859,.439,.576,1),papayawhip:Float32Array.of(1,.937,.835,1),peachpuff:Float32Array.of(1,.855,.725,1),peru:Float32Array.of(.804,.522,.247,1),pink:Float32Array.of(1,.753,.796,1),plum:Float32Array.of(.867,.627,.867,1),powderblue:Float32Array.of(.69,.878,.902,1),purple:Float32Array.of(.502,0,.502,1),rebeccapurple:Float32Array.of(.4,.2,.6,1),red:Float32Array.of(1,0,0,1),rosybrown:Float32Array.of(.737,.561,.561,1),royalblue:Float32Array.of(.255,.412,.882,1),saddlebrown:Float32Array.of(.545,.271,.075,1),salmon:Float32Array.of(.98,.502,.447,1),sandybrown:Float32Array.of(.957,.643,.376,1),seagreen:Float32Array.of(.18,.545,.341,1),seashell:Float32Array.of(1,.961,.933,1),sienna:Float32Array.of(.627,.322,.176,1),silver:Float32Array.of(.753,.753,.753,1),skyblue:Float32Array.of(.529,.808,.922,1),slateblue:Float32Array.of(.416,.353,.804,1),slategray:Float32Array.of(.439,.502,.565,1),slategrey:Float32Array.of(.439,.502,.565,1),snow:Float32Array.of(1,.98,.98,1),springgreen:Float32Array.of(0,1,.498,1),steelblue:Float32Array.of(.275,.51,.706,1),tan:Float32Array.of(.824,.706,.549,1),teal:Float32Array.of(0,.502,.502,1),thistle:Float32Array.of(.847,.749,.847,1),tomato:Float32Array.of(1,.388,.278,1),transparent:Float32Array.of(0,0,0,0),turquoise:Float32Array.of(.251,.878,.816,1),violet:Float32Array.of(.933,.51,.933,1),wheat:Float32Array.of(.961,.871,.702,1),white:Float32Array.of(1,1,1,1),whitesmoke:Float32Array.of(.961,.961,.961,1),yellow:Float32Array.of(1,1,0,1),yellowgreen:Float32Array.of(.604,.804,.196,1)};t._testing.parseColor=o,t._testing.colorToString=n;var v=RegExp("(italic|oblique|normal|)\\s*(small-caps|normal|)\\s*(bold|bolder|lighter|[1-9]00|normal|)\\s*([\\d\\.]+)(px|pt|pc|in|cm|mm|%|em|ex|ch|rem|q)(.+)"),T={"Noto Mono":{"*":null},monospace:{"*":null}};t._testing.parseFontString=a,t.MakeCanvas=function(e,n){return (e=t.MakeSurface(e,n))?new u(e):null},t.ImageData=function(){if(2===arguments.length){var t=arguments[0],e=arguments[1];return new l(new Uint8ClampedArray(4*t*e),t,e)}if(3===arguments.length){var n=arguments[0];if(n.prototype.constructor!==Uint8ClampedArray)throw "bytes must be given as a Uint8ClampedArray";if(n%4)throw "bytes must be given in a multiple of 4";if(n%(t=arguments[1]))throw "bytes must divide evenly by width";if((e=arguments[2])&&e!==n/(4*t))throw "invalid height given";return new l(n,t,n/(4*t))}throw "invalid number of arguments - takes 2 or 3, saw "+arguments.length};}();}(e);var c,h,f,p=Object.assign({},e),d="./this.program",y=(t,e)=>{throw e},m="object"==typeof window,g="function"==typeof importScripts,_="object"==typeof o&&"object"==typeof o.versions&&"string"==typeof o.versions.node,b="";if(_){var v=n(5699),T=n(3935);b=g?T.dirname(b)+"/":"//",c=(t,e)=>(t=t.startsWith("file://")?new URL(t):T.normalize(t),v.readFileSync(t,e?void 0:"utf8")),f=t=>((t=c(t,!0)).buffer||(t=new Uint8Array(t)),t),h=(t,e,n)=>{t=t.startsWith("file://")?new URL(t):T.normalize(t),v.readFile(t,(function(t,r){t?n(t):e(r.buffer);}));},1o.version.match(/^v(\d+)\./)[1]&&o.on("unhandledRejection",(function(t){throw t})),y=(t,e)=>{if(C)throw o.exitCode=t,e;e instanceof et||x("exiting due to exception: "+e),o.exit(t);},e.inspect=function(){return "[Emscripten Module object]"};}else (m||g)&&(g?b=self.location.href:"undefined"!=typeof document&&document.currentScript&&(b=document.currentScript.src),r&&(b=r),b=0!==b.indexOf("blob:")?b.substr(0,b.replace(/[?#].*/,"").lastIndexOf("/")+1):"",c=t=>{var e=new XMLHttpRequest;return e.open("GET",t,!1),e.send(null),e.responseText},g&&(f=t=>{var e=new XMLHttpRequest;return e.open("GET",t,!1),e.responseType="arraybuffer",e.send(null),new Uint8Array(e.response)}),h=(t,e,n)=>{var r=new XMLHttpRequest;r.open("GET",t,!0),r.responseType="arraybuffer",r.onload=()=>{200==r.status||0==r.status&&r.response?e(r.response):n();},r.onerror=n,r.send(null);});var E,w=e.print||a.log.bind(a),x=e.printErr||a.warn.bind(a);Object.assign(e,p),p=null,e.thisProgram&&(d=e.thisProgram),e.quit&&(y=e.quit),e.wasmBinary&&(E=e.wasmBinary);var C=e.noExitRuntime||!0;"object"!=typeof WebAssembly&&K("no native wasm support detected");var M,S,N,O,A,I,P,R,L,D=!1,k="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0;function F(t,e,n){var r=e+n;for(n=e;t[n]&&!(n>=r);)++n;if(16(i=224==(240&i)?(15&i)<<12|o<<6|a:(7&i)<<18|o<<12|a<<6|63&t[e++])?r+=String.fromCharCode(i):(i-=65536,r+=String.fromCharCode(55296|i>>10,56320|1023&i));}}else r+=String.fromCharCode(i);}return r}function U(t,e){return t?F(N,t,e):""}function B(t,e,n,r){if(!(0=a&&(a=65536+((1023&a)<<10)|1023&t.charCodeAt(++o)),127>=a){if(n>=r)break;e[n++]=a;}else {if(2047>=a){if(n+1>=r)break;e[n++]=192|a>>6;}else {if(65535>=a){if(n+2>=r)break;e[n++]=224|a>>12;}else {if(n+3>=r)break;e[n++]=240|a>>18,e[n++]=128|a>>12&63;}e[n++]=128|a>>6&63;}e[n++]=128|63&a;}}return e[n]=0,n-i}function j(t){for(var e=0,n=0;n=r?e++:2047>=r?e+=2:55296<=r&&57343>=r?(e+=4,++n):e+=3;}return e}function G(){var t=M.buffer;e.HEAP8=S=new Int8Array(t),e.HEAP16=O=new Int16Array(t),e.HEAP32=I=new Int32Array(t),e.HEAPU8=N=new Uint8Array(t),e.HEAPU16=A=new Uint16Array(t),e.HEAPU32=P=new Uint32Array(t),e.HEAPF32=R=new Float32Array(t),e.HEAPF64=L=new Float64Array(t);}var W,q=[],H=[],z=[];function V(){var t=e.preRun.shift();q.unshift(t);}var X,Y=0,Z=null,Q=null;function K(t){throw e.onAbort&&e.onAbort(t),x(t="Aborted("+t+")"),D=!0,t=new WebAssembly.RuntimeError(t+". Build with -sASSERTIONS for more info."),u(t),t}function J(){return X.startsWith("data:application/octet-stream;base64,")}if(X="canvaskit.wasm",!J()){var $=X;X=e.locateFile?e.locateFile($,b):b+$;}function tt(){var t=X;try{if(t==X&&E)return new Uint8Array(E);if(f)return f(t);throw "both async and sync fetching of the wasm failed"}catch(t){K(t);}}function et(t){this.name="ExitStatus",this.message="Program terminated with exit("+t+")",this.status=t;}function nt(t){for(;0>2])}var at={},st={},ut={};function lt(t){if(void 0===t)return "_unknown";var e=(t=t.replace(/[^a-zA-Z0-9_]/g,"$")).charCodeAt(0);return 48<=e&&57>=e?"_"+t:t}function ct(t,e){return t=lt(t),new Function("body","return function "+t+'() {\n "use strict"; return body.apply(this, arguments);\n};\n')(e)}function ht(t){var e=Error,n=ct(t,(function(e){this.name=t,this.message=e,void 0!==(e=Error(e).stack)&&(this.stack=this.toString()+"\n"+e.replace(/^Error(:[^\n]*)?\n/,""));}));return n.prototype=Object.create(e.prototype),n.prototype.constructor=n,n.prototype.toString=function(){return void 0===this.message?this.name:this.name+": "+this.message},n}var ft=void 0;function pt(t){throw new ft(t)}function dt(t,e,n){function r(e){(e=n(e)).length!==t.length&&pt("Mismatched type converter count");for(var r=0;r{st.hasOwnProperty(t)?i[e]=st[t]:(o.push(t),at.hasOwnProperty(t)||(at[t]=[]),at[t].push((()=>{i[e]=st[t],++a===o.length&&r(i);})));})),0===o.length&&r(i);}function yt(t){switch(t){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+t)}}var mt=void 0;function gt(t){for(var e="";N[t];)e+=mt[N[t++]];return e}var _t=void 0;function bt(t){throw new _t(t)}function vt(t,e,n={}){if(!("argPackAdvance"in e))throw new TypeError("registerType registeredInstance requires argPackAdvance");var r=e.name;if(t||bt('type "'+r+'" must have a positive integer typeid pointer'),st.hasOwnProperty(t)){if(n.Kf)return;bt("Cannot register type '"+r+"' twice");}st[t]=e,delete ut[t],at.hasOwnProperty(t)&&(e=at[t],delete at[t],e.forEach((t=>t())));}function Tt(t){bt(t.Cd.Md.Gd.name+" instance already deleted");}var Et=!1;function wt(){}function xt(t){--t.count.value,0===t.count.value&&(t.Rd?t.Wd.ae(t.Rd):t.Md.Gd.ae(t.Kd));}function Ct(t,e,n){return e===n?t:void 0===n.Yd||null===(t=Ct(t,e,n.Yd))?null:n.yf(t)}var Mt={},St=[];function Nt(){for(;St.length;){var t=St.pop();t.Cd.xe=!1,t.delete();}}var Ot=void 0,At={};function It(t,e){return e.Md&&e.Kd||pt("makeClassHandle requires ptr and ptrType"),!!e.Wd!=!!e.Rd&&pt("Both smartPtrType and smartPtr must be specified"),e.count={value:1},Pt(Object.create(t,{Cd:{value:e}}))}function Pt(t){return "undefined"==typeof FinalizationRegistry?(Pt=t=>t,t):(Et=new FinalizationRegistry((t=>{xt(t.Cd);})),wt=t=>{Et.unregister(t);},(Pt=t=>{var e=t.Cd;return e.Rd&&Et.register(t,{Cd:e},t),t})(t))}function Rt(){}function Lt(t,e,n){if(void 0===t[e].Od){var r=t[e];t[e]=function(){return t[e].Od.hasOwnProperty(arguments.length)||bt("Function '"+n+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+t[e].Od+")!"),t[e].Od[arguments.length].apply(this,arguments)},t[e].Od=[],t[e].Od[r.ve]=r;}}function Dt(t,n,r){e.hasOwnProperty(t)?((void 0===r||void 0!==e[t].Od&&void 0!==e[t].Od[r])&&bt("Cannot register public name '"+t+"' twice"),Lt(e,t,t),e.hasOwnProperty(r)&&bt("Cannot register multiple overloads of a function with the same number of arguments ("+r+")!"),e[t].Od[r]=n):(e[t]=n,void 0!==r&&(e[t].ig=r));}function kt(t,e,n,r,i,o,a,s){this.name=t,this.constructor=e,this.ye=n,this.ae=r,this.Yd=i,this.Ef=o,this.Ie=a,this.yf=s,this.Rf=[];}function Ft(t,e,n){for(;e!==n;)e.Ie||bt("Expected null or instance of "+n.name+", got an instance of "+e.name),t=e.Ie(t),e=e.Yd;return t}function Ut(t,e){return null===e?(this.Ye&&bt("null is not a valid "+this.name),0):(e.Cd||bt('Cannot pass "'+ie(e)+'" as a '+this.name),e.Cd.Kd||bt("Cannot pass deleted object as a pointer of type "+this.name),Ft(e.Cd.Kd,e.Cd.Md.Gd,this.Gd))}function Bt(t,e){if(null===e){if(this.Ye&&bt("null is not a valid "+this.name),this.Ne){var n=this.Ze();return null!==t&&t.push(this.ae,n),n}return 0}if(e.Cd||bt('Cannot pass "'+ie(e)+'" as a '+this.name),e.Cd.Kd||bt("Cannot pass deleted object as a pointer of type "+this.name),!this.Me&&e.Cd.Md.Me&&bt("Cannot convert argument of type "+(e.Cd.Wd?e.Cd.Wd.name:e.Cd.Md.name)+" to parameter type "+this.name),n=Ft(e.Cd.Kd,e.Cd.Md.Gd,this.Gd),this.Ne)switch(void 0===e.Cd.Rd&&bt("Passing raw pointer to smart pointer is illegal"),this.Xf){case 0:e.Cd.Wd===this?n=e.Cd.Rd:bt("Cannot convert argument of type "+(e.Cd.Wd?e.Cd.Wd.name:e.Cd.Md.name)+" to parameter type "+this.name);break;case 1:n=e.Cd.Rd;break;case 2:if(e.Cd.Wd===this)n=e.Cd.Rd;else {var r=e.clone();n=this.Sf(n,ee((function(){r.delete();}))),null!==t&&t.push(this.ae,n);}break;default:bt("Unsupporting sharing policy");}return n}function jt(t,e){return null===e?(this.Ye&&bt("null is not a valid "+this.name),0):(e.Cd||bt('Cannot pass "'+ie(e)+'" as a '+this.name),e.Cd.Kd||bt("Cannot pass deleted object as a pointer of type "+this.name),e.Cd.Md.Me&&bt("Cannot convert argument of type "+e.Cd.Md.name+" to parameter type "+this.name),Ft(e.Cd.Kd,e.Cd.Md.Gd,this.Gd))}function Gt(t,e,n,r,i,o,a,s,u,l,c){this.name=t,this.Gd=e,this.Ye=n,this.Me=r,this.Ne=i,this.Qf=o,this.Xf=a,this.mf=s,this.Ze=u,this.Sf=l,this.ae=c,i||void 0!==e.Yd?this.toWireType=Bt:(this.toWireType=r?Ut:jt,this.Vd=null);}function Wt(t,n,r){e.hasOwnProperty(t)||pt("Replacing nonexistant public symbol"),void 0!==e[t].Od&&void 0!==r?e[t].Od[r]=n:(e[t]=n,e[t].ve=r);}function qt(t){return W.get(t)}function Ht(t,n){var r=(t=gt(t)).includes("j")?function(t,n){var r=[];return function(){if(r.length=0,Object.assign(r,arguments),t.includes("j")){var i=e["dynCall_"+t];i=r&&r.length?i.apply(null,[n].concat(r)):i.call(null,n);}else i=qt(n).apply(null,r);return i}}(t,n):qt(n);return "function"!=typeof r&&bt("unknown function pointer with signature "+t+": "+n),r}var zt=void 0;function Vt(t){var e=gt(t=fn(t));return cn(t),e}function Xt(t,e){var n=[],r={};throw e.forEach((function t(e){r[e]||st[e]||(ut[e]?ut[e].forEach(t):(n.push(e),r[e]=!0));})),new zt(t+": "+n.map(Vt).join([", "]))}function Yt(t){var e=Function;if(!(e instanceof Function))throw new TypeError("new_ called with constructor type "+typeof e+" which is not a function");var n=ct(e.name||"unknownFunctionName",(function(){}));return n.prototype=e.prototype,n=new n,(t=e.apply(n,t))instanceof Object?t:n}function Zt(t,e,n,r,i){var o=e.length;2>o&&bt("argTypes array size mismatch! Must at least get return value and 'this' types!");var a=null!==e[1]&&null!==n,s=!1;for(n=1;n>2]);return n}var Kt=[],Jt=[{},{value:void 0},{value:null},{value:!0},{value:!1}];function $t(t){4(t||bt("Cannot use deleted val. handle = "+t),Jt[t].value),ee=t=>{switch(t){case void 0:return 1;case null:return 2;case !0:return 3;case !1:return 4;default:var e=Kt.length?Kt.pop():Jt.length;return Jt[e]={$e:1,value:t},e}};function ne(t,e,n){switch(e){case 0:return function(t){return this.fromWireType((n?S:N)[t])};case 1:return function(t){return this.fromWireType((n?O:A)[t>>1])};case 2:return function(t){return this.fromWireType((n?I:P)[t>>2])};default:throw new TypeError("Unknown integer type: "+t)}}function re(t,e){var n=st[t];return void 0===n&&bt(e+" has unknown type "+Vt(t)),n}function ie(t){if(null===t)return "null";var e=typeof t;return "object"===e||"array"===e||"function"===e?t.toString():""+t}function oe(t,e){switch(e){case 2:return function(t){return this.fromWireType(R[t>>2])};case 3:return function(t){return this.fromWireType(L[t>>3])};default:throw new TypeError("Unknown float type: "+t)}}function ae(t,e,n){switch(e){case 0:return n?function(t){return S[t]}:function(t){return N[t]};case 1:return n?function(t){return O[t>>1]}:function(t){return A[t>>1]};case 2:return n?function(t){return I[t>>2]}:function(t){return P[t>>2]};default:throw new TypeError("Unknown integer type: "+t)}}var se="undefined"!=typeof TextDecoder?new TextDecoder("utf-16le"):void 0;function ue(t,e){for(var n=t>>1,r=n+e/2;!(n>=r)&&A[n];)++n;if(32<(n<<=1)-t&&se)return se.decode(N.subarray(t,n));for(n="",r=0;!(r>=e/2);++r){var i=O[t+2*r>>1];if(0==i)break;n+=String.fromCharCode(i);}return n}function le(t,e,n){if(void 0===n&&(n=2147483647),2>n)return 0;var r=e;n=(n-=2)<2*t.length?n/2:t.length;for(var i=0;i>1]=t.charCodeAt(i),e+=2;return O[e>>1]=0,e-r}function ce(t){return 2*t.length}function he(t,e){for(var n=0,r="";!(n>=e/4);){var i=I[t+4*n>>2];if(0==i)break;++n,65536<=i?(i-=65536,r+=String.fromCharCode(55296|i>>10,56320|1023&i)):r+=String.fromCharCode(i);}return r}function fe(t,e,n){if(void 0===n&&(n=2147483647),4>n)return 0;var r=e;n=r+n-4;for(var i=0;i=o&&(o=65536+((1023&o)<<10)|1023&t.charCodeAt(++i)),I[e>>2]=o,(e+=4)+4>n)break}return I[e>>2]=0,e-r}function pe(t){for(var e=0,n=0;n=r&&++n,e+=4;}return e}var de={};function ye(t){var e=de[t];return void 0===e?gt(t):e}var me,ge=[],_e=[];me=_?()=>{var t=o.hrtime();return 1e3*t[0]+t[1]/1e6}:()=>performance.now();var be=1,ve=[],Te=[],Ee=[],we=[],xe=[],Ce=[],Me=[],Se=[],Ne=[],Oe=[],Ae={},Ie={},Pe=4;function Re(t){ke||(ke=t);}function Le(t){for(var e=be++,n=t.length;n>2]=a;}}function je(t,e){if(e){var n=void 0;switch(t){case 36346:n=1;break;case 36344:return;case 34814:case 36345:n=0;break;case 34466:var r=rn.getParameter(34467);n=r?r.length:0;break;case 33309:if(2>Fe.version)return void Re(1282);n=2*(rn.getSupportedExtensions()||[]).length;break;case 33307:case 33308:if(2>Fe.version)return void Re(1280);n=33307==t?3:0;}if(void 0===n)switch(r=rn.getParameter(t),typeof r){case "number":n=r;break;case "boolean":n=r?1:0;break;case "string":return void Re(1280);case "object":if(null===r)switch(t){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 36662:case 36663:case 35053:case 35055:case 36010:case 35097:case 35869:case 32874:case 36389:case 35983:case 35368:case 34068:n=0;break;default:return void Re(1280)}else {if(r instanceof Float32Array||r instanceof Uint32Array||r instanceof Int32Array||r instanceof Array){for(t=0;t>2]=r[t];return}try{n=0|r.name;}catch(e){return Re(1280),void x("GL_INVALID_ENUM in glGet0v: Unknown object returned from WebGL getParameter("+t+")! (error: "+e+")")}}break;default:return Re(1280),void x("GL_INVALID_ENUM in glGet0v: Native code calling glGet0v("+t+") and it returns "+r+" of type "+typeof r+"!")}I[e>>2]=n;}else Re(1281);}function Ge(t){var e=j(t)+1,n=hn(e);return B(t,N,n,e),n}function We(t){return "]"==t.slice(-1)&&t.lastIndexOf("[")}function qe(t){return 0==(t-=5120)?S:1==t?N:2==t?O:4==t?I:6==t?R:5==t||28922==t||28520==t||30779==t||30782==t?P:A}function He(t,e,n,r,i){t=qe(t);var o=31-Math.clz32(t.BYTES_PER_ELEMENT),a=Pe;return t.subarray(i>>o,i+r*(n*({5:3,6:4,8:2,29502:3,29504:4,26917:2,26918:2,29846:3,29847:4}[e-6402]||1)*(1<>o)}function ze(t){var e=rn.xf;if(e){var n=e.He[t];return "number"==typeof n&&(e.He[t]=n=rn.getUniformLocation(e,e.nf[t]+(0nn;++nn)en[nn]=String.fromCharCode(nn);mt=en,_t=e.BindingError=ht("BindingError"),Rt.prototype.isAliasOf=function(t){if(!(this instanceof Rt&&t instanceof Rt))return !1;var e=this.Cd.Md.Gd,n=this.Cd.Kd,r=t.Cd.Md.Gd;for(t=t.Cd.Kd;e.Yd;)n=e.Ie(n),e=e.Yd;for(;r.Yd;)t=r.Ie(t),r=r.Yd;return e===r&&n===t},Rt.prototype.clone=function(){if(this.Cd.Kd||Tt(this),this.Cd.Ge)return this.Cd.count.value+=1,this;var t=Pt,e=Object,n=e.create,r=Object.getPrototypeOf(this),i=this.Cd;return (t=t(n.call(e,r,{Cd:{value:{count:i.count,xe:i.xe,Ge:i.Ge,Kd:i.Kd,Md:i.Md,Rd:i.Rd,Wd:i.Wd}}}))).Cd.count.value+=1,t.Cd.xe=!1,t},Rt.prototype.delete=function(){this.Cd.Kd||Tt(this),this.Cd.xe&&!this.Cd.Ge&&bt("Object already scheduled for deletion"),wt(this),xt(this.Cd),this.Cd.Ge||(this.Cd.Rd=void 0,this.Cd.Kd=void 0);},Rt.prototype.isDeleted=function(){return !this.Cd.Kd},Rt.prototype.deleteLater=function(){return this.Cd.Kd||Tt(this),this.Cd.xe&&!this.Cd.Ge&&bt("Object already scheduled for deletion"),St.push(this),1===St.length&&Ot&&Ot(Nt),this.Cd.xe=!0,this},e.getInheritedInstanceCount=function(){return Object.keys(At).length},e.getLiveInheritedInstances=function(){var t,e=[];for(t in At)At.hasOwnProperty(t)&&e.push(At[t]);return e},e.flushPendingDeletes=Nt,e.setDelayFunction=function(t){Ot=t,St.length&&Ot&&Ot(Nt);},Gt.prototype.Ff=function(t){return this.mf&&(t=this.mf(t)),t},Gt.prototype.gf=function(t){this.ae&&this.ae(t);},Gt.prototype.argPackAdvance=8,Gt.prototype.readValueFromPointer=ot,Gt.prototype.deleteObject=function(t){null!==t&&t.delete();},Gt.prototype.fromWireType=function(t){function e(){return this.Ne?It(this.Gd.ye,{Md:this.Qf,Kd:n,Wd:this,Rd:t}):It(this.Gd.ye,{Md:this,Kd:t})}var n=this.Ff(t);if(!n)return this.gf(t),null;var r=function(t,e){for(void 0===e&&bt("ptr should not be undefined");t.Yd;)e=t.Ie(e),t=t.Yd;return At[e]}(this.Gd,n);if(void 0!==r)return 0===r.Cd.count.value?(r.Cd.Kd=n,r.Cd.Rd=t,r.clone()):(r=r.clone(),this.gf(t),r);if(r=this.Gd.Ef(n),!(r=Mt[r]))return e.call(this);r=this.Me?r.vf:r.pointerType;var i=Ct(n,this.Gd,r.Gd);return null===i?e.call(this):this.Ne?It(r.Gd.ye,{Md:r,Kd:i,Wd:this,Rd:t}):It(r.Gd.ye,{Md:r,Kd:i})},zt=e.UnboundTypeError=ht("UnboundTypeError"),e.count_emval_handles=function(){for(var t=0,e=5;eon;++on)Ue.push(Array(on));var an=new Float32Array(288);for(on=0;288>on;++on)Ve[on]=an.subarray(0,on+1);var sn=new Int32Array(288);for(on=0;288>on;++on)Xe[on]=sn.subarray(0,on+1);var un={H:function(){return 0},xb:function(){},zb:function(){return 0},ub:function(){},Ab:function(){},vb:function(){},P:function(t){var e=rt[t];delete rt[t];var n=e.Ze,r=e.ae,i=e.kf;dt([t],i.map((t=>t.If)).concat(i.map((t=>t.Vf))),(t=>{var o={};return i.forEach(((e,n)=>{var r=t[n],a=e.Gf,s=e.Hf,u=t[n+i.length],l=e.Uf,c=e.Wf;o[e.Af]={read:t=>r.fromWireType(a(s,t)),write:(t,e)=>{var n=[];l(c,t,u.toWireType(n,e)),it(n);}};})),[{name:e.name,fromWireType:function(t){var e,n={};for(e in o)n[e]=o[e].read(t);return r(t),n},toWireType:function(t,e){for(var i in o)if(!(i in e))throw new TypeError('Missing field: "'+i+'"');var a=n();for(i in o)o[i].write(a,e[i]);return null!==t&&t.push(r,a),a},argPackAdvance:8,readValueFromPointer:ot,Vd:r}]}));},kb:function(){},Cb:function(t,e,n,r,i){var o=yt(n);vt(t,{name:e=gt(e),fromWireType:function(t){return !!t},toWireType:function(t,e){return e?r:i},argPackAdvance:8,readValueFromPointer:function(t){if(1===n)var r=S;else if(2===n)r=O;else {if(4!==n)throw new TypeError("Unknown boolean type size: "+e);r=I;}return this.fromWireType(r[t>>o])},Vd:null});},i:function(t,e,n,r,i,o,a,s,u,l,c,h,f){c=gt(c),o=Ht(i,o),s&&(s=Ht(a,s)),l&&(l=Ht(u,l)),f=Ht(h,f);var p=lt(c);Dt(p,(function(){Xt("Cannot construct "+c+" due to unbound types",[r]);})),dt([t,e,n],r?[r]:[],(function(e){if(e=e[0],r)var n=e.Gd,i=n.ye;else i=Rt.prototype;e=ct(p,(function(){if(Object.getPrototypeOf(this)!==a)throw new _t("Use 'new' to construct "+c);if(void 0===u.ee)throw new _t(c+" has no accessible constructor");var t=u.ee[arguments.length];if(void 0===t)throw new _t("Tried to invoke ctor of "+c+" with invalid number of parameters ("+arguments.length+") - expected ("+Object.keys(u.ee).toString()+") parameters instead!");return t.apply(this,arguments)}));var a=Object.create(i,{constructor:{value:e}});e.prototype=a;var u=new kt(c,e,a,f,n,o,s,l);n=new Gt(c,u,!0,!1,!1),i=new Gt(c+"*",u,!1,!1,!1);var h=new Gt(c+" const*",u,!1,!0,!1);return Mt[t]={pointerType:i,vf:h},Wt(p,e),[n,i,h]}));},g:function(t,e,n,r,i,o,a){var s=Qt(n,r);e=gt(e),o=Ht(i,o),dt([],[t],(function(t){function r(){Xt("Cannot call "+i+" due to unbound types",s);}var i=(t=t[0]).name+"."+e;e.startsWith("@@")&&(e=Symbol[e.substring(2)]);var u=t.Gd.constructor;return void 0===u[e]?(r.ve=n-1,u[e]=r):(Lt(u,e,i),u[e].Od[n-1]=r),dt([],s,(function(t){return t=[t[0],null].concat(t.slice(1)),t=Zt(i,t,null,o,a),void 0===u[e].Od?(t.ve=n-1,u[e]=t):u[e].Od[n-1]=t,[]})),[]}));},r:function(t,e,n,r,i,o){0{Xt("Cannot construct "+t.name+" due to unbound types",a);},dt([],a,(function(r){return r.splice(1,0,null),t.Gd.ee[e-1]=Zt(n,r,null,i,o),[]})),[]}));},b:function(t,e,n,r,i,o,a,s){var u=Qt(n,r);e=gt(e),o=Ht(i,o),dt([],[t],(function(t){function r(){Xt("Cannot call "+i+" due to unbound types",u);}var i=(t=t[0]).name+"."+e;e.startsWith("@@")&&(e=Symbol[e.substring(2)]),s&&t.Gd.Rf.push(e);var l=t.Gd.ye,c=l[e];return void 0===c||void 0===c.Od&&c.className!==t.name&&c.ve===n-2?(r.ve=n-2,r.className=t.name,l[e]=r):(Lt(l,e,i),l[e].Od[n-2]=r),dt([],u,(function(r){return r=Zt(i,r,t,o,a),void 0===l[e].Od?(r.ve=n-2,l[e]=r):l[e].Od[n-2]=r,[]})),[]}));},O:function(t,n,r){t=gt(t),dt([],[n],(function(n){return n=n[0],e[t]=n.fromWireType(r),[]}));},Bb:function(t,e){vt(t,{name:e=gt(e),fromWireType:function(t){var e=te(t);return $t(t),e},toWireType:function(t,e){return ee(e)},argPackAdvance:8,readValueFromPointer:ot,Vd:null});},k:function(t,e,n,r){function i(){}n=yt(n),e=gt(e),i.values={},vt(t,{name:e,constructor:i,fromWireType:function(t){return this.constructor.values[t]},toWireType:function(t,e){return e.value},argPackAdvance:8,readValueFromPointer:ne(e,n,r),Vd:null}),Dt(e,i);},c:function(t,e,n){var r=re(t,"enum");e=gt(e),t=r.constructor,r=Object.create(r.constructor.prototype,{value:{value:n},constructor:{value:ct(r.name+"_"+e,(function(){}))}}),t.values[n]=r,t[e]=r;},L:function(t,e,n){n=yt(n),vt(t,{name:e=gt(e),fromWireType:function(t){return t},toWireType:function(t,e){return e},argPackAdvance:8,readValueFromPointer:oe(e,n),Vd:null});},q:function(t,e,n,r,i,o){var a=Qt(e,n);t=gt(t),i=Ht(r,i),Dt(t,(function(){Xt("Cannot call "+t+" due to unbound types",a);}),e-1),dt([],a,(function(n){return n=[n[0],null].concat(n.slice(1)),Wt(t,Zt(t,n,null,i,o),e-1),[]}));},s:function(t,e,n,r,i){e=gt(e),-1===i&&(i=4294967295),i=yt(n);var o=t=>t;if(0===r){var a=32-8*n;o=t=>t<>>a;}n=e.includes("unsigned")?function(t,e){return e>>>0}:function(t,e){return e},vt(t,{name:e,fromWireType:o,toWireType:n,argPackAdvance:8,readValueFromPointer:ae(e,i,0!==r),Vd:null});},n:function(t,e,n){function r(t){t>>=2;var e=P;return new i(e.buffer,e[t+1],e[t])}var i=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][e];vt(t,{name:n=gt(n),fromWireType:r,argPackAdvance:8,readValueFromPointer:r},{Kf:!0});},o:function(t,e,n,r,i,o,a,s,u,l,c,h){n=gt(n),o=Ht(i,o),s=Ht(a,s),l=Ht(u,l),h=Ht(c,h),dt([t],[e],(function(t){return t=t[0],[new Gt(n,t.Gd,!1,!1,!0,t,r,o,s,l,h)]}));},K:function(t,e){var n="std::string"===(e=gt(e));vt(t,{name:e,fromWireType:function(t){var e=P[t>>2],r=t+4;if(n)for(var i=r,o=0;o<=e;++o){var a=r+o;if(o==e||0==N[a]){if(i=U(i,a-i),void 0===s)var s=i;else s+=String.fromCharCode(0),s+=i;i=a+1;}}else {for(s=Array(e),o=0;o>2]=r,n&&i)B(e,N,a,r+1);else if(i)for(i=0;iA,s=1;else 4===e&&(r=he,i=fe,o=pe,a=()=>P,s=2);vt(t,{name:n,fromWireType:function(t){for(var n,i=P[t>>2],o=a(),u=t+4,l=0;l<=i;++l){var c=t+4+l*e;l!=i&&0!=o[c>>s]||(u=r(u,c-u),void 0===n?n=u:(n+=String.fromCharCode(0),n+=u),u=c+e);}return cn(t),n},toWireType:function(t,r){"string"!=typeof r&&bt("Cannot pass non-string to C++ string type "+n);var a=o(r),u=hn(4+a+e);return P[u>>2]=a>>s,i(r,u+4,a+e),null!==t&&t.push(cn,u),u},argPackAdvance:8,readValueFromPointer:ot,Vd:function(t){cn(t);}});},J:function(t,e,n,r,i,o){rt[t]={name:gt(e),Ze:Ht(n,r),ae:Ht(i,o),kf:[]};},v:function(t,e,n,r,i,o,a,s,u,l){rt[t].kf.push({Af:gt(e),If:n,Gf:Ht(r,i),Hf:o,Vf:a,Uf:Ht(s,u),Wf:l});},Db:function(t,e){vt(t,{Mf:!0,name:e=gt(e),argPackAdvance:0,fromWireType:function(){},toWireType:function(){}});},rb:function(){return !0},mb:function(){throw 1/0},gb:function(t,e,n,r,i){t=ge[t],e=te(e),n=ye(n);var o=[];return P[r>>2]=ee(o),t(e,n,o,i)},w:function(t,e,n,r){(t=ge[t])(e=te(e),n=ye(n),null,r);},p:$t,u:function(t,e){var n=function(t,e){for(var n=Array(t),r=0;r>2],"parameter "+r);return n}(t,e),r=n[0];e=r.name+"_$"+n.slice(1).map((function(t){return t.name})).join("_")+"$";var i=_e[e];if(void 0!==i)return i;i=["retType"];for(var o=[r],a="",s=0;s>>0)+4294967296*r)},ba:function(t,e,n,r){rn.colorMask(!!t,!!e,!!n,!!r);},ca:function(t){rn.compileShader(Ce[t]);},da:function(t,e,n,r,i,o,a,s){2<=Fe.version?rn.we||!a?rn.compressedTexImage2D(t,e,n,r,i,o,a,s):rn.compressedTexImage2D(t,e,n,r,i,o,N,s,a):rn.compressedTexImage2D(t,e,n,r,i,o,s?N.subarray(s,s+a):null);},ea:function(t,e,n,r,i,o,a,s,u){2<=Fe.version?rn.we||!s?rn.compressedTexSubImage2D(t,e,n,r,i,o,a,s,u):rn.compressedTexSubImage2D(t,e,n,r,i,o,a,N,u,s):rn.compressedTexSubImage2D(t,e,n,r,i,o,a,u?N.subarray(u,u+s):null);},fa:function(t,e,n,r,i,o,a,s){rn.copyTexSubImage2D(t,e,n,r,i,o,a,s);},ga:function(){var t=Le(Te),e=rn.createProgram();return e.name=t,e.Qe=e.Oe=e.Pe=0,e.bf=1,Te[t]=e,t},ha:function(t){var e=Le(Ce);return Ce[e]=rn.createShader(t),e},ia:function(t){rn.cullFace(t);},ja:function(t,e){for(var n=0;n>2],i=ve[r];i&&(rn.deleteBuffer(i),i.name=0,ve[r]=null,r==rn.Xe&&(rn.Xe=0),r==rn.we&&(rn.we=0));}},bc:function(t,e){for(var n=0;n>2],i=Ee[r];i&&(rn.deleteFramebuffer(i),i.name=0,Ee[r]=null);}},ka:function(t){if(t){var e=Te[t];e?(rn.deleteProgram(e),e.name=0,Te[t]=null):Re(1281);}},cc:function(t,e){for(var n=0;n>2],i=we[r];i&&(rn.deleteRenderbuffer(i),i.name=0,we[r]=null);}},Nb:function(t,e){for(var n=0;n>2],i=Ne[r];i&&(rn.deleteSampler(i),i.name=0,Ne[r]=null);}},la:function(t){if(t){var e=Ce[t];e?(rn.deleteShader(e),Ce[t]=null):Re(1281);}},Vb:function(t){if(t){var e=Oe[t];e?(rn.deleteSync(e),e.name=0,Oe[t]=null):Re(1281);}},ma:function(t,e){for(var n=0;n>2],i=xe[r];i&&(rn.deleteTexture(i),i.name=0,xe[r]=null);}},uc:function(t,e){for(var n=0;n>2];rn.deleteVertexArray(Me[r]),Me[r]=null;}},xc:function(t,e){for(var n=0;n>2];rn.deleteVertexArray(Me[r]),Me[r]=null;}},na:function(t){rn.depthMask(!!t);},oa:function(t){rn.disable(t);},pa:function(t){rn.disableVertexAttribArray(t);},qa:function(t,e,n){rn.drawArrays(t,e,n);},rc:function(t,e,n,r){rn.drawArraysInstanced(t,e,n,r);},pc:function(t,e,n,r,i){rn.hf.drawArraysInstancedBaseInstanceWEBGL(t,e,n,r,i);},nc:function(t,e){for(var n=Ue[t],r=0;r>2];rn.drawBuffers(n);},ra:function(t,e,n,r){rn.drawElements(t,e,n,r);},sc:function(t,e,n,r,i){rn.drawElementsInstanced(t,e,n,r,i);},qc:function(t,e,n,r,i,o,a){rn.hf.drawElementsInstancedBaseVertexBaseInstanceWEBGL(t,e,n,r,i,o,a);},hc:function(t,e,n,r,i,o){rn.drawElements(t,r,i,o);},sa:function(t){rn.enable(t);},ta:function(t){rn.enableVertexAttribArray(t);},Rb:function(t,e){return (t=rn.fenceSync(t,e))?(e=Le(Oe),t.name=e,Oe[e]=t,e):0},ua:function(){rn.finish();},va:function(){rn.flush();},dc:function(t,e,n,r){rn.framebufferRenderbuffer(t,e,n,we[r]);},ec:function(t,e,n,r,i){rn.framebufferTexture2D(t,e,n,xe[r],i);},wa:function(t){rn.frontFace(t);},xa:function(t,e){Be(t,e,"createBuffer",ve);},fc:function(t,e){Be(t,e,"createFramebuffer",Ee);},gc:function(t,e){Be(t,e,"createRenderbuffer",we);},Ob:function(t,e){Be(t,e,"createSampler",Ne);},ya:function(t,e){Be(t,e,"createTexture",xe);},vc:function(t,e){Be(t,e,"createVertexArray",Me);},yc:function(t,e){Be(t,e,"createVertexArray",Me);},Wb:function(t){rn.generateMipmap(t);},za:function(t,e,n){n?I[n>>2]=rn.getBufferParameter(t,e):Re(1281);},Aa:function(){var t=rn.getError()||ke;return ke=0,t},Xb:function(t,e,n,r){((t=rn.getFramebufferAttachmentParameter(t,e,n))instanceof WebGLRenderbuffer||t instanceof WebGLTexture)&&(t=0|t.name),I[r>>2]=t;},ab:function(t,e){je(t,e);},Ba:function(t,e,n,r){null===(t=rn.getProgramInfoLog(Te[t]))&&(t="(unknown error)"),e=0>2]=e);},Ca:function(t,e,n){if(n)if(t>=be)Re(1281);else if(t=Te[t],35716==e)null===(t=rn.getProgramInfoLog(t))&&(t="(unknown error)"),I[n>>2]=t.length+1;else if(35719==e){if(!t.Qe)for(e=0;e>2]=t.Qe;}else if(35722==e){if(!t.Oe)for(e=0;e>2]=t.Oe;}else if(35381==e){if(!t.Pe)for(e=0;e>2]=t.Pe;}else I[n>>2]=rn.getProgramParameter(t,e);else Re(1281);},Yb:function(t,e,n){n?I[n>>2]=rn.getRenderbufferParameter(t,e):Re(1281);},Da:function(t,e,n,r){null===(t=rn.getShaderInfoLog(Ce[t]))&&(t="(unknown error)"),e=0>2]=e);},Jb:function(t,e,n,r){t=rn.getShaderPrecisionFormat(t,e),I[n>>2]=t.rangeMin,I[n+4>>2]=t.rangeMax,I[r>>2]=t.precision;},Ea:function(t,e,n){n?35716==e?(null===(t=rn.getShaderInfoLog(Ce[t]))&&(t="(unknown error)"),I[n>>2]=t?t.length+1:0):35720==e?(t=rn.getShaderSource(Ce[t]),I[n>>2]=t?t.length+1:0):I[n>>2]=rn.getShaderParameter(Ce[t],e):Re(1281);},F:function(t){var e=Ae[t];if(!e){switch(t){case 7939:e=Ge((e=(e=rn.getSupportedExtensions()||[]).concat(e.map((function(t){return "GL_"+t})))).join(" "));break;case 7936:case 7937:case 37445:case 37446:(e=rn.getParameter(t))||Re(1280),e=e&&Ge(e);break;case 7938:e=rn.getParameter(7938),e=Ge(e=2<=Fe.version?"OpenGL ES 3.0 ("+e+")":"OpenGL ES 2.0 ("+e+")");break;case 35724:var n=(e=rn.getParameter(35724)).match(/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/);null!==n&&(3==n[1].length&&(n[1]+="0"),e="OpenGL ES GLSL ES "+n[1]+" ("+e+")"),e=Ge(e);break;default:Re(1280);}Ae[t]=e;}return e},bb:function(t,e){if(2>Fe.version)return Re(1282),0;var n=Ie[t];return n?0>e||e>=n.length?(Re(1281),0):n[e]:7939===t?(n=(n=(n=rn.getSupportedExtensions()||[]).concat(n.map((function(t){return "GL_"+t})))).map((function(t){return Ge(t)})),n=Ie[t]=n,0>e||e>=n.length?(Re(1281),0):n[e]):(Re(1280),0)},Fa:function(t,e){if(e=U(e),t=Te[t]){var n,r=t,i=r.He,o=r.pf;if(!i)for(r.He=i={},r.nf={},n=0;n>>0,o=e.slice(0,n)),(o=t.pf[o])&&i>2];rn.invalidateFramebuffer(t,r);},Lb:function(t,e,n,r,i,o,a){for(var s=Ue[e],u=0;u>2];rn.invalidateSubFramebuffer(t,s,r,i,o,a);},Sb:function(t){return rn.isSync(Oe[t])},Ga:function(t){return (t=xe[t])?rn.isTexture(t):0},Ha:function(t){rn.lineWidth(t);},Ia:function(t){t=Te[t],rn.linkProgram(t),t.He=0,t.pf={};},lc:function(t,e,n,r,i,o){rn.lf.multiDrawArraysInstancedBaseInstanceWEBGL(t,I,e>>2,I,n>>2,I,r>>2,P,i>>2,o);},mc:function(t,e,n,r,i,o,a,s){rn.lf.multiDrawElementsInstancedBaseVertexBaseInstanceWEBGL(t,I,e>>2,n,I,r>>2,I,i>>2,I,o>>2,P,a>>2,s);},Ja:function(t,e){3317==t&&(Pe=e),rn.pixelStorei(t,e);},oc:function(t){rn.readBuffer(t);},Ka:function(t,e,n,r,i,o,a){if(2<=Fe.version)if(rn.Xe)rn.readPixels(t,e,n,r,i,o,a);else {var s=qe(o);rn.readPixels(t,e,n,r,i,o,s,a>>31-Math.clz32(s.BYTES_PER_ELEMENT));}else (a=He(o,i,n,r,a))?rn.readPixels(t,e,n,r,i,o,a):Re(1280);},Zb:function(t,e,n,r){rn.renderbufferStorage(t,e,n,r);},Ub:function(t,e,n,r,i){rn.renderbufferStorageMultisample(t,e,n,r,i);},Pb:function(t,e,n){rn.samplerParameteri(Ne[t],e,n);},Qb:function(t,e,n){rn.samplerParameteri(Ne[t],e,I[n>>2]);},La:function(t,e,n,r){rn.scissor(t,e,n,r);},Ma:function(t,e,n,r){for(var i="",o=0;o>2]:-1;i+=U(I[n+4*o>>2],0>a?void 0:a);}rn.shaderSource(Ce[t],i);},Na:function(t,e,n){rn.stencilFunc(t,e,n);},Oa:function(t,e,n,r){rn.stencilFuncSeparate(t,e,n,r);},Pa:function(t){rn.stencilMask(t);},Qa:function(t,e){rn.stencilMaskSeparate(t,e);},Ra:function(t,e,n){rn.stencilOp(t,e,n);},Sa:function(t,e,n,r){rn.stencilOpSeparate(t,e,n,r);},Ta:function(t,e,n,r,i,o,a,s,u){if(2<=Fe.version)if(rn.we)rn.texImage2D(t,e,n,r,i,o,a,s,u);else if(u){var l=qe(s);rn.texImage2D(t,e,n,r,i,o,a,s,l,u>>31-Math.clz32(l.BYTES_PER_ELEMENT));}else rn.texImage2D(t,e,n,r,i,o,a,s,null);else rn.texImage2D(t,e,n,r,i,o,a,s,u?He(s,a,r,i,u):null);},Ua:function(t,e,n){rn.texParameterf(t,e,n);},Va:function(t,e,n){rn.texParameterf(t,e,R[n>>2]);},Wa:function(t,e,n){rn.texParameteri(t,e,n);},Ya:function(t,e,n){rn.texParameteri(t,e,I[n>>2]);},ic:function(t,e,n,r,i){rn.texStorage2D(t,e,n,r,i);},Za:function(t,e,n,r,i,o,a,s,u){if(2<=Fe.version)if(rn.we)rn.texSubImage2D(t,e,n,r,i,o,a,s,u);else if(u){var l=qe(s);rn.texSubImage2D(t,e,n,r,i,o,a,s,l,u>>31-Math.clz32(l.BYTES_PER_ELEMENT));}else rn.texSubImage2D(t,e,n,r,i,o,a,s,null);else l=null,u&&(l=He(s,a,i,o,u)),rn.texSubImage2D(t,e,n,r,i,o,a,s,l);},_a:function(t,e){rn.uniform1f(ze(t),e);},$a:function(t,e,n){if(2<=Fe.version)e&&rn.uniform1fv(ze(t),R,n>>2,e);else {if(288>=e)for(var r=Ve[e-1],i=0;i>2];else r=R.subarray(n>>2,n+4*e>>2);rn.uniform1fv(ze(t),r);}},Tc:function(t,e){rn.uniform1i(ze(t),e);},Uc:function(t,e,n){if(2<=Fe.version)e&&rn.uniform1iv(ze(t),I,n>>2,e);else {if(288>=e)for(var r=Xe[e-1],i=0;i>2];else r=I.subarray(n>>2,n+4*e>>2);rn.uniform1iv(ze(t),r);}},Vc:function(t,e,n){rn.uniform2f(ze(t),e,n);},Wc:function(t,e,n){if(2<=Fe.version)e&&rn.uniform2fv(ze(t),R,n>>2,2*e);else {if(144>=e)for(var r=Ve[2*e-1],i=0;i<2*e;i+=2)r[i]=R[n+4*i>>2],r[i+1]=R[n+(4*i+4)>>2];else r=R.subarray(n>>2,n+8*e>>2);rn.uniform2fv(ze(t),r);}},Sc:function(t,e,n){rn.uniform2i(ze(t),e,n);},Rc:function(t,e,n){if(2<=Fe.version)e&&rn.uniform2iv(ze(t),I,n>>2,2*e);else {if(144>=e)for(var r=Xe[2*e-1],i=0;i<2*e;i+=2)r[i]=I[n+4*i>>2],r[i+1]=I[n+(4*i+4)>>2];else r=I.subarray(n>>2,n+8*e>>2);rn.uniform2iv(ze(t),r);}},Qc:function(t,e,n,r){rn.uniform3f(ze(t),e,n,r);},Pc:function(t,e,n){if(2<=Fe.version)e&&rn.uniform3fv(ze(t),R,n>>2,3*e);else {if(96>=e)for(var r=Ve[3*e-1],i=0;i<3*e;i+=3)r[i]=R[n+4*i>>2],r[i+1]=R[n+(4*i+4)>>2],r[i+2]=R[n+(4*i+8)>>2];else r=R.subarray(n>>2,n+12*e>>2);rn.uniform3fv(ze(t),r);}},Oc:function(t,e,n,r){rn.uniform3i(ze(t),e,n,r);},Nc:function(t,e,n){if(2<=Fe.version)e&&rn.uniform3iv(ze(t),I,n>>2,3*e);else {if(96>=e)for(var r=Xe[3*e-1],i=0;i<3*e;i+=3)r[i]=I[n+4*i>>2],r[i+1]=I[n+(4*i+4)>>2],r[i+2]=I[n+(4*i+8)>>2];else r=I.subarray(n>>2,n+12*e>>2);rn.uniform3iv(ze(t),r);}},Mc:function(t,e,n,r,i){rn.uniform4f(ze(t),e,n,r,i);},Lc:function(t,e,n){if(2<=Fe.version)e&&rn.uniform4fv(ze(t),R,n>>2,4*e);else {if(72>=e){var r=Ve[4*e-1],i=R;n>>=2;for(var o=0;o<4*e;o+=4){var a=n+o;r[o]=i[a],r[o+1]=i[a+1],r[o+2]=i[a+2],r[o+3]=i[a+3];}}else r=R.subarray(n>>2,n+16*e>>2);rn.uniform4fv(ze(t),r);}},zc:function(t,e,n,r,i){rn.uniform4i(ze(t),e,n,r,i);},Ac:function(t,e,n){if(2<=Fe.version)e&&rn.uniform4iv(ze(t),I,n>>2,4*e);else {if(72>=e)for(var r=Xe[4*e-1],i=0;i<4*e;i+=4)r[i]=I[n+4*i>>2],r[i+1]=I[n+(4*i+4)>>2],r[i+2]=I[n+(4*i+8)>>2],r[i+3]=I[n+(4*i+12)>>2];else r=I.subarray(n>>2,n+16*e>>2);rn.uniform4iv(ze(t),r);}},Bc:function(t,e,n,r){if(2<=Fe.version)e&&rn.uniformMatrix2fv(ze(t),!!n,R,r>>2,4*e);else {if(72>=e)for(var i=Ve[4*e-1],o=0;o<4*e;o+=4)i[o]=R[r+4*o>>2],i[o+1]=R[r+(4*o+4)>>2],i[o+2]=R[r+(4*o+8)>>2],i[o+3]=R[r+(4*o+12)>>2];else i=R.subarray(r>>2,r+16*e>>2);rn.uniformMatrix2fv(ze(t),!!n,i);}},Cc:function(t,e,n,r){if(2<=Fe.version)e&&rn.uniformMatrix3fv(ze(t),!!n,R,r>>2,9*e);else {if(32>=e)for(var i=Ve[9*e-1],o=0;o<9*e;o+=9)i[o]=R[r+4*o>>2],i[o+1]=R[r+(4*o+4)>>2],i[o+2]=R[r+(4*o+8)>>2],i[o+3]=R[r+(4*o+12)>>2],i[o+4]=R[r+(4*o+16)>>2],i[o+5]=R[r+(4*o+20)>>2],i[o+6]=R[r+(4*o+24)>>2],i[o+7]=R[r+(4*o+28)>>2],i[o+8]=R[r+(4*o+32)>>2];else i=R.subarray(r>>2,r+36*e>>2);rn.uniformMatrix3fv(ze(t),!!n,i);}},Dc:function(t,e,n,r){if(2<=Fe.version)e&&rn.uniformMatrix4fv(ze(t),!!n,R,r>>2,16*e);else {if(18>=e){var i=Ve[16*e-1],o=R;r>>=2;for(var a=0;a<16*e;a+=16){var s=r+a;i[a]=o[s],i[a+1]=o[s+1],i[a+2]=o[s+2],i[a+3]=o[s+3],i[a+4]=o[s+4],i[a+5]=o[s+5],i[a+6]=o[s+6],i[a+7]=o[s+7],i[a+8]=o[s+8],i[a+9]=o[s+9],i[a+10]=o[s+10],i[a+11]=o[s+11],i[a+12]=o[s+12],i[a+13]=o[s+13],i[a+14]=o[s+14],i[a+15]=o[s+15];}}else i=R.subarray(r>>2,r+64*e>>2);rn.uniformMatrix4fv(ze(t),!!n,i);}},Ec:function(t){t=Te[t],rn.useProgram(t),rn.xf=t;},Fc:function(t,e){rn.vertexAttrib1f(t,e);},Gc:function(t,e){rn.vertexAttrib2f(t,R[e>>2],R[e+4>>2]);},Hc:function(t,e){rn.vertexAttrib3f(t,R[e>>2],R[e+4>>2],R[e+8>>2]);},Ic:function(t,e){rn.vertexAttrib4f(t,R[e>>2],R[e+4>>2],R[e+8>>2],R[e+12>>2]);},jc:function(t,e){rn.vertexAttribDivisor(t,e);},kc:function(t,e,n,r,i){rn.vertexAttribIPointer(t,e,n,r,i);},Jc:function(t,e,n,r,i,o){rn.vertexAttribPointer(t,e,n,!!r,i,o);},Kc:function(t,e,n,r){rn.viewport(t,e,n,r);},db:function(t,e,n,r){rn.waitSync(Oe[t],e,(n>>>0)+4294967296*r);},nb:function(t){var e=N.length;if(2147483648<(t>>>=0))return !1;for(var n=1;4>=n;n*=2){var r=e*(1+.2/n);r=Math.min(r,t+100663296);var i=Math,o=i.min;r=Math.max(t,r),r+=(65536-r%65536)%65536;t:{var a=M.buffer;try{M.grow(o.call(i,2147483648,r)-a.byteLength+65535>>>16),G();var s=1;break t}catch(t){}s=void 0;}if(s)return !0}return !1},Yc:function(){return Fe?Fe.Jf:0},Q:function(t){return De(t)?0:-5},sb:function(t,e){var n=0;return Ze().forEach((function(r,i){var o=e+n;for(i=P[t+4*i>>2]=o,o=0;o>0]=r.charCodeAt(o);S[i>>0]=0,n+=r.length+1;})),0},tb:function(t,e){var n=Ze();P[t>>2]=n.length;var r=0;return n.forEach((function(t){r+=t.length+1;})),P[e>>2]=r,0},Eb:function(t){C||(e.onExit&&e.onExit(t),D=!0),y(t,new et(t));},I:function(){return 52},ib:function(){return 52},yb:function(){return 52},jb:function(){return 70},G:function(t,e,n,r){for(var i=0,o=0;o>2],s=P[e+4>>2];e+=8;for(var u=0;u>2]=i,0},Zc:function(t,e){rn.bindFramebuffer(t,Ee[e]);},Xa:function(t){rn.clear(t);},wb:function(t,e,n,r){rn.clearColor(t,e,n,r);},eb:function(t){rn.clearStencil(t);},E:function(t,e){je(t,e);},f:function(t,e){var n=dn();try{return qt(t)(e)}catch(t){if(yn(n),t!==t+0)throw t;pn(1,0);}},j:function(t,e,n){var r=dn();try{return qt(t)(e,n)}catch(t){if(yn(r),t!==t+0)throw t;pn(1,0);}},d:function(t,e,n,r){var i=dn();try{return qt(t)(e,n,r)}catch(t){if(yn(i),t!==t+0)throw t;pn(1,0);}},z:function(t,e,n,r,i){var o=dn();try{return qt(t)(e,n,r,i)}catch(t){if(yn(o),t!==t+0)throw t;pn(1,0);}},Ib:function(t,e,n,r,i,o){var a=dn();try{return qt(t)(e,n,r,i,o)}catch(t){if(yn(a),t!==t+0)throw t;pn(1,0);}},N:function(t,e,n,r,i,o,a){var s=dn();try{return qt(t)(e,n,r,i,o,a)}catch(t){if(yn(s),t!==t+0)throw t;pn(1,0);}},M:function(t,e,n,r,i,o,a,s,u,l){var c=dn();try{return qt(t)(e,n,r,i,o,a,s,u,l)}catch(t){if(yn(c),t!==t+0)throw t;pn(1,0);}},C:function(t){var e=dn();try{qt(t)();}catch(t){if(yn(e),t!==t+0)throw t;pn(1,0);}},h:function(t,e){var n=dn();try{qt(t)(e);}catch(t){if(yn(n),t!==t+0)throw t;pn(1,0);}},m:function(t,e,n){var r=dn();try{qt(t)(e,n);}catch(t){if(yn(r),t!==t+0)throw t;pn(1,0);}},e:function(t,e,n,r){var i=dn();try{qt(t)(e,n,r);}catch(t){if(yn(i),t!==t+0)throw t;pn(1,0);}},l:function(t,e,n,r,i){var o=dn();try{qt(t)(e,n,r,i);}catch(t){if(yn(o),t!==t+0)throw t;pn(1,0);}},Hb:function(t,e,n,r,i,o){var a=dn();try{qt(t)(e,n,r,i,o);}catch(t){if(yn(a),t!==t+0)throw t;pn(1,0);}},Fb:function(t,e,n,r,i,o,a){var s=dn();try{qt(t)(e,n,r,i,o,a);}catch(t){if(yn(s),t!==t+0)throw t;pn(1,0);}},Gb:function(t,e,n,r,i,o,a,s,u,l){var c=dn();try{qt(t)(e,n,r,i,o,a,s,u,l);}catch(t){if(yn(c),t!==t+0)throw t;pn(1,0);}},lb:function(t,e,n,r){return function(t,e,n,r){function i(t,e,n){for(t="number"==typeof t?t.toString():t||"";t.lengtht?-1:0r-t.getDate())){t.setDate(t.getDate()+e);break}e-=r-t.getDate()+1,t.setDate(1),11>n?t.setMonth(n+1):(t.setMonth(0),t.setFullYear(t.getFullYear()+1));}return n=new Date(t.getFullYear()+1,0,4),e=s(new Date(t.getFullYear(),0,4)),n=s(n),0>=a(e,t)?0>=a(n,t)?t.getFullYear()+1:t.getFullYear():t.getFullYear()-1}var l=I[r+40>>2];for(var c in r={eg:I[r>>2],dg:I[r+4>>2],Re:I[r+8>>2],af:I[r+12>>2],Se:I[r+16>>2],ge:I[r+20>>2],Zd:I[r+24>>2],fe:I[r+28>>2],kg:I[r+32>>2],cg:I[r+36>>2],fg:l?U(l):""},n=U(n),l={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"})n=n.replace(new RegExp(c,"g"),l[c]);var h="Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),f="January February March April May June July August September October November December".split(" ");for(c in l={"%a":function(t){return h[t.Zd].substring(0,3)},"%A":function(t){return h[t.Zd]},"%b":function(t){return f[t.Se].substring(0,3)},"%B":function(t){return f[t.Se]},"%C":function(t){return o((t.ge+1900)/100|0,2)},"%d":function(t){return o(t.af,2)},"%e":function(t){return i(t.af,2," ")},"%g":function(t){return u(t).toString().substring(2)},"%G":function(t){return u(t)},"%H":function(t){return o(t.Re,2)},"%I":function(t){return 0==(t=t.Re)?t=12:12t.Re?"AM":"PM"},"%S":function(t){return o(t.eg,2)},"%t":function(){return "\t"},"%u":function(t){return t.Zd||7},"%U":function(t){return o(Math.floor((t.fe+7-t.Zd)/7),2)},"%V":function(t){var e=Math.floor((t.fe+7-(t.Zd+6)%7)/7);if(2>=(t.Zd+371-t.fe-2)%7&&e++,e)53==e&&(4==(n=(t.Zd+371-t.fe)%7)||3==n&&Je(t.ge)||(e=1));else {e=52;var n=(t.Zd+7-t.fe-1)%7;(4==n||5==n&&Je(t.ge%400-1))&&e++;}return o(e,2)},"%w":function(t){return t.Zd},"%W":function(t){return o(Math.floor((t.fe+7-(t.Zd+6)%7)/7),2)},"%y":function(t){return (t.ge+1900).toString().substring(2)},"%Y":function(t){return t.ge+1900},"%z":function(t){var e=0<=(t=t.cg);return t=Math.abs(t)/60,(e?"+":"-")+String("0000"+(t/60*100+t%60)).slice(-4)},"%Z":function(t){return t.fg},"%%":function(){return "%"}},n=n.replace(/%%/g,"\0\0"),l)n.includes(c)&&(n=n.replace(new RegExp(c,"g"),l[c](r)));return c=function(t){var e=Array(j(t)+1);return B(t,e,0,e.length),e}(n=n.replace(/\0\0/g,"%")),c.length>e?0:(S.set(c,t),c.length-1)}(t,e,n,r)}};!function(){function t(t){e.asm=t.exports,M=e.asm._c,G(),W=e.asm.ad,H.unshift(e.asm.$c),Y--,e.monitorRunDependencies&&e.monitorRunDependencies(Y),0==Y&&(null!==Z&&(clearInterval(Z),Z=null),Q&&(t=Q,Q=null,t()));}function n(e){t(e.instance);}function r(t){return function(){if(!E&&(m||g)){if("function"==typeof fetch&&!X.startsWith("file://"))return fetch(X,{credentials:"same-origin"}).then((function(t){if(!t.ok)throw "failed to load wasm binary file at '"+X+"'";return t.arrayBuffer()})).catch((function(){return tt()}));if(h)return new Promise((function(t,e){h(X,(function(e){t(new Uint8Array(e));}),e);}))}return Promise.resolve().then((function(){return tt()}))}().then((function(t){return WebAssembly.instantiate(t,i)})).then((function(t){return t})).then(t,(function(t){x("failed to asynchronously prepare wasm: "+t),K(t);}))}var i={a:un};if(Y++,e.monitorRunDependencies&&e.monitorRunDependencies(Y),e.instantiateWasm)try{return e.instantiateWasm(i,t)}catch(t){x("Module.instantiateWasm callback failed with error: "+t),u(t);}(E||"function"!=typeof WebAssembly.instantiateStreaming||J()||X.startsWith("file://")||_||"function"!=typeof fetch?r(n):fetch(X,{credentials:"same-origin"}).then((function(t){return WebAssembly.instantiateStreaming(t,i).then(n,(function(t){return x("wasm streaming compile failed: "+t),x("falling back to ArrayBuffer instantiation"),r(n)}))}))).catch(u);}();var ln,cn=e._free=function(){return (cn=e._free=e.asm.bd).apply(null,arguments)},hn=e._malloc=function(){return (hn=e._malloc=e.asm.cd).apply(null,arguments)},fn=e.___getTypeName=function(){return (fn=e.___getTypeName=e.asm.dd).apply(null,arguments)};function pn(){return (pn=e.asm.fd).apply(null,arguments)}function dn(){return (dn=e.asm.gd).apply(null,arguments)}function yn(){return (yn=e.asm.hd).apply(null,arguments)}function mn(){function t(){if(!ln&&(ln=!0,e.calledRun=!0,!D)){if(nt(H),s(e),e.onRuntimeInitialized&&e.onRuntimeInitialized(),e.postRun)for("function"==typeof e.postRun&&(e.postRun=[e.postRun]);e.postRun.length;){var t=e.postRun.shift();z.unshift(t);}nt(z);}}if(!(0{let r=n(4472);r="default"in r?r.default:r,t.exports=function(t){const e=JSON.parse(t.tilePieceBoundingBox),n=JSON.parse(t.tileBoundingBox),i=t.height,o=t.width,a=new Uint8ClampedArray(o*i*4),s=new Uint8ClampedArray(t.sourceImageData);let u,l;try{null==r.defs(t.projectionTo)&&r.defs(t.projectionTo,t.projectionToDefinition),null==r.defs(t.projectionFrom)&&r.defs(t.projectionFrom,t.projectionFromDefinition),u=r(t.projectionTo,t.projectionFrom);}catch(e){throw new Error("Error creating projection conversion between "+t.projectionTo+" and "+t.projectionFrom+".")}for(let r=0;r=0&&d=0&&y{"use strict";n.r(e),n.d(e,{TileUtilities:()=>o});var r=n(1375),i=n(5604);class o{static getPiecePosition(t,e,n,o,a,s,u,l,c,h,f,p){let d;try{null==i.Projection.hasProjection(a)&&i.Projection.loadProjection(a,s),null==i.Projection.hasProjection(u)&&i.Projection.loadProjection(u,l),d=i.Projection.getConverter(a,u);}catch(t){throw new Error("Error creating projection conversion between "+a+" and "+u+".")}let y=t.maxLatitude,m=t.minLatitude,g=t.minLongitude-f,_=t.maxLongitude+f;a.toUpperCase()===r.ProjectionConstants.EPSG_3857&&u.toUpperCase()===r.ProjectionConstants.EPSG_4326&&(y=y>r.ProjectionConstants.WEB_MERCATOR_MAX_LAT_RANGE?r.ProjectionConstants.WEB_MERCATOR_MAX_LAT_RANGE:y,m=mr.ProjectionConstants.WEB_MERCATOR_MAX_LON_RANGE?r.ProjectionConstants.WEB_MERCATOR_MAX_LON_RANGE:_);const b=i.Projection.convertCoordinates(r.ProjectionConstants.EPSG_4326,a,[-180,0]),v=i.Projection.convertCoordinates(r.ProjectionConstants.EPSG_4326,a,[180,0]);g=gv[0]?v[0]:_;const T=d.inverse([g,m]),E=d.inverse([_,y]),w=isNaN(T[1])?e.minLatitude:T[1],x=isNaN(E[1])?e.maxLatitude:E[1],C=T[0],M=E[0];return {startY:Math.max(0,Math.floor((e.maxLatitude-x)/c)),startX:Math.max(0,Math.floor((C-e.minLongitude)/h)),endY:Math.min(n,n-Math.floor((w-e.minLatitude)/c)),endX:Math.min(o,o-Math.floor((e.maxLongitude-M)/h))}}}},7591:(t,e,n)=>{var r=n(5108);const i=n(2331);function o(t){const e=t.data,n=i(e);this.postMessage(n),this.close();}t.exports=function(t){t.onmessage=o,t.onerror=function(t){r.log("error",t);};};},9705:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(1540);function i(t){var e=[1/0,1/0,-1/0,-1/0];return r.coordEach(t,(function(t){e[0]>t[0]&&(e[0]=t[0]),e[1]>t[1]&&(e[1]=t[1]),e[2]{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(611);e.default=function(t){for(var e,n,i=r.getCoords(t),o=0,a=1;a0};},8147:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(611);function i(t,e,n){var r=!1;e[0][0]===e[e.length-1][0]&&e[0][1]===e[e.length-1][1]&&(e=e.slice(0,e.length-1));for(var i=0,o=e.length-1;it[1]!=l>t[1]&&t[0]<(u-a)*(t[1]-s)/(l-s)+a&&(r=!r);}return r}e.default=function(t,e,n){if(void 0===n&&(n={}),!t)throw new Error("point is required");if(!e)throw new Error("polygon is required");var o=r.getCoord(t),a=r.getGeom(e),s=a.type,u=e.bbox,l=a.coordinates;if(u&&!1===function(t,e){return e[0]<=t[0]&&e[1]<=t[1]&&e[2]>=t[0]&&e[3]>=t[1]}(o,u))return !1;"Polygon"===s&&(l=[l]);for(var c=!1,h=0;h{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(611);function i(t,e,n,r,i){var o=n[0],a=n[1],s=t[0],u=t[1],l=e[0],c=e[1],h=l-s,f=c-u,p=(n[0]-s)*f-(n[1]-u)*h;if(null!==i){if(Math.abs(p)>i)return !1}else if(0!==p)return !1;return r?"start"===r?Math.abs(h)>=Math.abs(f)?h>0?s0?u=Math.abs(f)?h>0?s<=o&&o0?u<=a&&a=Math.abs(f)?h>0?s0?u=Math.abs(f)?h>0?s<=o&&o<=l:l<=o&&o<=s:f>0?u<=a&&a<=c:c<=a&&a<=u}e.default=function(t,e,n){void 0===n&&(n={});for(var o=r.getCoord(t),a=r.getCoords(e),s=0;se[0]||t[2]e[1]||t[3]{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(1540);function i(t){var e=[1/0,1/0,-1/0,-1/0];return r.coordEach(t,(function(t){e[0]>t[0]&&(e[0]=t[0]),e[1]>t[1]&&(e[1]=t[1]),e[2]{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(611),i=n(4102);e.default=function(t,e,n){void 0===n&&(n={});var o=r.getCoord(t),a=r.getCoord(e),s=i.degreesToRadians(a[1]-o[1]),u=i.degreesToRadians(a[0]-o[0]),l=i.degreesToRadians(o[1]),c=i.degreesToRadians(a[1]),h=Math.pow(Math.sin(s/2),2)+Math.pow(Math.sin(u/2),2)*Math.cos(l)*Math.cos(c);return i.radiansToLength(2*Math.atan2(Math.sqrt(h),Math.sqrt(1-h)),n.units)};},4102:(t,e)=>{"use strict";function n(t,e,n){void 0===n&&(n={});var r={type:"Feature"};return (0===n.id||n.id)&&(r.id=n.id),n.bbox&&(r.bbox=n.bbox),r.properties=e||{},r.geometry=t,r}function r(t,e,r){if(void 0===r&&(r={}),!t)throw new Error("coordinates is required");if(!Array.isArray(t))throw new Error("coordinates must be an Array");if(t.length<2)throw new Error("coordinates must be at least 2 numbers long");if(!p(t[0])||!p(t[1]))throw new Error("coordinates must contain numbers");return n({type:"Point",coordinates:t},e,r)}function i(t,e,r){void 0===r&&(r={});for(var i=0,o=t;i=0))throw new Error("precision must be a positive number");var n=Math.pow(10,e||0);return Math.round(t*n)/n},e.radiansToLength=c,e.lengthToRadians=h,e.lengthToDegrees=function(t,e){return f(h(t,e))},e.bearingToAzimuth=function(t){var e=t%360;return e<0&&(e+=360),e},e.radiansToDegrees=f,e.degreesToRadians=function(t){return t%360*Math.PI/180},e.convertLength=function(t,e,n){if(void 0===e&&(e="kilometers"),void 0===n&&(n="kilometers"),!(t>=0))throw new Error("length must be a positive number");return c(h(t,e),n)},e.convertArea=function(t,n,r){if(void 0===n&&(n="meters"),void 0===r&&(r="kilometers"),!(t>=0))throw new Error("area must be a positive number");var i=e.areaFactors[n];if(!i)throw new Error("invalid original units");var o=e.areaFactors[r];if(!o)throw new Error("invalid final units");return t/i*o},e.isNumber=p,e.isObject=function(t){return !!t&&t.constructor===Object},e.validateBBox=function(t){if(!t)throw new Error("bbox is required");if(!Array.isArray(t))throw new Error("bbox must be an Array");if(4!==t.length&&6!==t.length)throw new Error("bbox must be an Array of 4 or 6 numbers");t.forEach((function(t){if(!p(t))throw new Error("bbox must only contain numbers")}));},e.validateId=function(t){if(!t)throw new Error("id is required");if(-1===["string","number"].indexOf(typeof t))throw new Error("id must be a number or a string")};},4170:function(t,e,n){"use strict";var r=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});var i=n(4102),o=n(611),a=r(n(2676));e.default=function(t,e,n){void 0===n&&(n={});var r=o.getGeom(t),s=o.getGeom(e),u=a.default.intersection(r.coordinates,s.coordinates);return 0===u.length?null:1===u.length?i.polygon(u[0],n.properties):i.multiPolygon(u,n.properties)};},611:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(4102);e.getCoord=function(t){if(!t)throw new Error("coord is required");if(!Array.isArray(t)){if("Feature"===t.type&&null!==t.geometry&&"Point"===t.geometry.type)return t.geometry.coordinates;if("Point"===t.type)return t.coordinates}if(Array.isArray(t)&&t.length>=2&&!Array.isArray(t[0])&&!Array.isArray(t[1]))return t;throw new Error("coord must be GeoJSON Point or an Array of numbers")},e.getCoords=function(t){if(Array.isArray(t))return t;if("Feature"===t.type){if(null!==t.geometry)return t.geometry.coordinates}else if(t.coordinates)return t.coordinates;throw new Error("coords must be GeoJSON Feature, Geometry Object or an Array")},e.containsNumber=function t(e){if(e.length>1&&r.isNumber(e[0])&&r.isNumber(e[1]))return !0;if(Array.isArray(e[0])&&e[0].length)return t(e[0]);throw new Error("coordinates must only contain numbers")},e.geojsonType=function(t,e,n){if(!e||!n)throw new Error("type and name required");if(!t||t.type!==e)throw new Error("Invalid input to "+n+": must be a "+e+", given "+t.type)},e.featureOf=function(t,e,n){if(!t)throw new Error("No feature passed");if(!n)throw new Error(".featureOf() requires a name");if(!t||"Feature"!==t.type||!t.geometry)throw new Error("Invalid input to "+n+", Feature with geometry required");if(!t.geometry||t.geometry.type!==e)throw new Error("Invalid input to "+n+": must be a "+e+", given "+t.geometry.type)},e.collectionOf=function(t,e,n){if(!t)throw new Error("No featureCollection passed");if(!n)throw new Error(".collectionOf() requires a name");if(!t||"FeatureCollection"!==t.type)throw new Error("Invalid input to "+n+", FeatureCollection required");for(var r=0,i=t.features;r line1 must only contain 2 coordinates");if(2!==r.length)throw new Error(" line2 must only contain 2 coordinates");var a=n[0][0],s=n[0][1],u=n[1][0],l=n[1][1],c=r[0][0],h=r[0][1],f=r[1][0],p=r[1][1],d=(p-h)*(u-a)-(f-c)*(l-s);if(0===d)return null;var y=((f-c)*(s-h)-(p-h)*(a-c))/d,m=((u-a)*(s-h)-(l-s)*(a-c))/d;if(y>=0&&y<=1&&m>=0&&m<=1){var g=a+y*(u-a),_=s+y*(l-s);return i.point([g,_])}return null}e.default=function(t,e){var n={},r=[];if("LineString"===t.type&&(t=i.feature(t)),"LineString"===e.type&&(e=i.feature(e)),"Feature"===t.type&&"Feature"===e.type&&null!==t.geometry&&null!==e.geometry&&"LineString"===t.geometry.type&&"LineString"===e.geometry.type&&2===t.geometry.coordinates.length&&2===e.geometry.coordinates.length){var c=l(t,e);return c&&r.push(c),i.featureCollection(r)}var h=u.default();return h.load(a.default(e)),s.featureEach(a.default(t),(function(t){s.featureEach(h.search(t),(function(e){var i=l(t,e);if(i){var a=o.getCoords(i).join(",");n[a]||(n[a]=!0,r.push(i));}}));})),i.featureCollection(r)};},4590:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(4102),i=n(611),o=n(1540);e.default=function(t){if(!t)throw new Error("geojson is required");var e=[];return o.flattenEach(t,(function(t){!function(t,e){var n=[],o=t.geometry;if(null!==o){switch(o.type){case "Polygon":n=i.getCoords(o);break;case "LineString":n=[i.getCoords(o)];}n.forEach((function(n){var i=function(t,e){var n=[];return t.reduce((function(t,i){var o,a,s,u,l,c,h=r.lineString([t,i],e);return h.bbox=(a=i,s=(o=t)[0],u=o[1],[s<(l=a[0])?s:l,u<(c=a[1])?u:c,s>l?s:l,u>c?u:c]),n.push(h),i})),n}(n,t.properties);i.forEach((function(t){t.id=e.length,e.push(t);}));}));}}(t,e);})),r.featureCollection(e)};},1540:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(4102);function i(t,e,n){if(null!==t)for(var r,o,a,s,u,l,c,h,f=0,p=0,d=t.type,y="FeatureCollection"===d,m="Feature"===d,g=y?t.features.length:1,_=0;_l||p>c||d>h)return u=i,l=n,c=p,h=d,void(a=0);var y=r.lineString([u,i],t.properties);if(!1===e(y,n,o,d,a))return !1;a++,u=i;}))&&void 0}}}));}function c(t,e){if(!t)throw new Error("geojson is required");u(t,(function(t,n,i){if(null!==t.geometry){var o=t.geometry.type,a=t.geometry.coordinates;switch(o){case "LineString":if(!1===e(t,n,i,0,0))return !1;break;case "Polygon":for(var s=0;s{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(4102),i=n(611);function o(t,e){return void 0===e&&(e={}),s(i.getGeom(t).coordinates,e.properties?e.properties:"Feature"===t.type?t.properties:{})}function a(t,e){void 0===e&&(e={});var n=i.getGeom(t).coordinates,o=e.properties?e.properties:"Feature"===t.type?t.properties:{},a=[];return n.forEach((function(t){a.push(s(t,o));})),r.featureCollection(a)}function s(t,e){return t.length>1?r.multiLineString(t,e):r.lineString(t[0],e)}e.default=function(t,e){void 0===e&&(e={});var n=i.getGeom(t);switch(e.properties||"Feature"!==t.type||(e.properties=t.properties),n.type){case "Polygon":return o(n,e);case "MultiPolygon":return a(n,e);default:throw new Error("invalid poly")}},e.polygonToLine=o,e.multiPolygonToLine=a,e.coordsToLine=s;},6213:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(4102),i=n(611);e.default=function(t,e,n){void 0===n&&(n={});var o=i.getCoord(t),a=i.getCoord(e);a[0]+=a[0]-o[0]>180?-360:o[0]-a[0]>180?360:0;var s=function(t,e,n){var i=n=void 0===n?r.earthRadius:Number(n),o=t[1]*Math.PI/180,a=e[1]*Math.PI/180,s=a-o,u=Math.abs(e[0]-t[0])*Math.PI/180;u>Math.PI&&(u-=2*Math.PI);var l=Math.log(Math.tan(a/2+Math.PI/4)/Math.tan(o/2+Math.PI/4)),c=Math.abs(l)>1e-11?s/l:Math.cos(o);return Math.sqrt(s*s+c*c*u*u)*i}(o,a);return r.convertLength(s,"meters",n.units)};},8583:(t,e,n)=>{"use strict";var r=n(7418);function i(t,e){if(t===e)return 0;for(var n=t.length,r=e.length,i=0,o=Math.min(n,r);i=0;l--)if(c[l]!==h[l])return !1;for(l=c.length-1;l>=0;l--)if(!b(t[s=c[l]],e[s],n,r))return !1;return !0}(t,e,n,r))}return n?t===e:t==e}function v(t){return "[object Arguments]"==Object.prototype.toString.call(t)}function T(t,e){if(!t||!e)return !1;if("[object RegExp]"==Object.prototype.toString.call(e))return e.test(t);try{if(t instanceof e)return !0}catch(t){}return !Error.isPrototypeOf(e)&&!0===e.call({},t)}function E(t,e,n,r){var i;if("function"!=typeof e)throw new TypeError('"block" argument must be a function');"string"==typeof n&&(r=n,n=null),i=function(t){var e;try{t();}catch(t){e=t;}return e}(e),r=(n&&n.name?" ("+n.name+").":".")+(r?" "+r:"."),t&&!i&&g(i,n,"Missing expected exception"+r);var o="string"==typeof r,s=!t&&i&&!n;if((!t&&a.isError(i)&&o&&T(i,n)||s)&&g(i,n,"Got unwanted exception"+r),t&&i&&n&&!T(i,n)||!t&&i)throw i}f.AssertionError=function(t){this.name="AssertionError",this.actual=t.actual,this.expected=t.expected,this.operator=t.operator,t.message?(this.message=t.message,this.generatedMessage=!1):(this.message=function(t){return y(m(t.actual),128)+" "+t.operator+" "+y(m(t.expected),128)}(this),this.generatedMessage=!0);var e=t.stackStartFunction||g;if(Error.captureStackTrace)Error.captureStackTrace(this,e);else {var n=new Error;if(n.stack){var r=n.stack,i=d(e),o=r.indexOf("\n"+i);if(o>=0){var a=r.indexOf("\n",o+1);r=r.substring(a+1);}this.stack=r;}}},a.inherits(f.AssertionError,Error),f.fail=g,f.ok=_,f.equal=function(t,e,n){t!=e&&g(t,e,n,"==",f.equal);},f.notEqual=function(t,e,n){t==e&&g(t,e,n,"!=",f.notEqual);},f.deepEqual=function(t,e,n){b(t,e,!1)||g(t,e,n,"deepEqual",f.deepEqual);},f.deepStrictEqual=function(t,e,n){b(t,e,!0)||g(t,e,n,"deepStrictEqual",f.deepStrictEqual);},f.notDeepEqual=function(t,e,n){b(t,e,!1)&&g(t,e,n,"notDeepEqual",f.notDeepEqual);},f.notDeepStrictEqual=function t(e,n,r){b(e,n,!0)&&g(e,n,r,"notDeepStrictEqual",t);},f.strictEqual=function(t,e,n){t!==e&&g(t,e,n,"===",f.strictEqual);},f.notStrictEqual=function(t,e,n){t===e&&g(t,e,n,"!==",f.notStrictEqual);},f.throws=function(t,e,n){E(!0,t,e,n);},f.doesNotThrow=function(t,e,n){E(!1,t,e,n);},f.ifError=function(t){if(t)throw t},f.strict=r((function t(e,n){e||g(e,!0,n,"==",t);}),f,{equal:f.strictEqual,deepEqual:f.deepStrictEqual,notEqual:f.notStrictEqual,notDeepEqual:f.notDeepStrictEqual}),f.strict.strict=f.strict;var w=Object.keys||function(t){var e=[];for(var n in t)s.call(t,n)&&e.push(n);return e};},6076:t=>{"function"==typeof Object.create?t.exports=function(t,e){t.super_=e,t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}});}:t.exports=function(t,e){t.super_=e;var n=function(){};n.prototype=e.prototype,t.prototype=new n,t.prototype.constructor=t;};},2014:t=>{t.exports=function(t){return t&&"object"==typeof t&&"function"==typeof t.copy&&"function"==typeof t.fill&&"function"==typeof t.readUInt8};},69:(t,e,n)=>{var r=n(4155),i=n(5108),o=/%[sdj%]/g;e.format=function(t){if(!_(t)){for(var e=[],n=0;n=i)return t;switch(t){case "%s":return String(r[n++]);case "%d":return Number(r[n++]);case "%j":try{return JSON.stringify(r[n++])}catch(t){return "[Circular]"}default:return t}})),s=r[n];n=3&&(r.depth=arguments[2]),arguments.length>=4&&(r.colors=arguments[3]),y(n)?r.showHidden=n:n&&e._extend(r,n),b(r.showHidden)&&(r.showHidden=!1),b(r.depth)&&(r.depth=2),b(r.colors)&&(r.colors=!1),b(r.customInspect)&&(r.customInspect=!0),r.colors&&(r.stylize=l),h(r,t,r.depth)}function l(t,e){var n=u.styles[e];return n?"["+u.colors[n][0]+"m"+t+"["+u.colors[n][1]+"m":t}function c(t,e){return t}function h(t,n,r){if(t.customInspect&&n&&x(n.inspect)&&n.inspect!==e.inspect&&(!n.constructor||n.constructor.prototype!==n)){var i=n.inspect(r,t);return _(i)||(i=h(t,i,r)),i}var o=function(t,e){if(b(e))return t.stylize("undefined","undefined");if(_(e)){var n="'"+JSON.stringify(e).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return t.stylize(n,"string")}return g(e)?t.stylize(""+e,"number"):y(e)?t.stylize(""+e,"boolean"):m(e)?t.stylize("null","null"):void 0}(t,n);if(o)return o;var a=Object.keys(n),s=function(t){var e={};return t.forEach((function(t,n){e[t]=!0;})),e}(a);if(t.showHidden&&(a=Object.getOwnPropertyNames(n)),w(n)&&(a.indexOf("message")>=0||a.indexOf("description")>=0))return f(n);if(0===a.length){if(x(n)){var u=n.name?": "+n.name:"";return t.stylize("[Function"+u+"]","special")}if(v(n))return t.stylize(RegExp.prototype.toString.call(n),"regexp");if(E(n))return t.stylize(Date.prototype.toString.call(n),"date");if(w(n))return f(n)}var l,c="",T=!1,C=["{","}"];return d(n)&&(T=!0,C=["[","]"]),x(n)&&(c=" [Function"+(n.name?": "+n.name:"")+"]"),v(n)&&(c=" "+RegExp.prototype.toString.call(n)),E(n)&&(c=" "+Date.prototype.toUTCString.call(n)),w(n)&&(c=" "+f(n)),0!==a.length||T&&0!=n.length?r<0?v(n)?t.stylize(RegExp.prototype.toString.call(n),"regexp"):t.stylize("[Object]","special"):(t.seen.push(n),l=T?function(t,e,n,r,i){for(var o=[],a=0,s=e.length;a60?n[0]+(""===e?"":e+"\n ")+" "+t.join(",\n ")+" "+n[1]:n[0]+e+" "+t.join(", ")+" "+n[1]}(l,c,C)):C[0]+c+C[1]}function f(t){return "["+Error.prototype.toString.call(t)+"]"}function p(t,e,n,r,i,o){var a,s,u;if((u=Object.getOwnPropertyDescriptor(e,i)||{value:e[i]}).get?s=u.set?t.stylize("[Getter/Setter]","special"):t.stylize("[Getter]","special"):u.set&&(s=t.stylize("[Setter]","special")),N(r,i)||(a="["+i+"]"),s||(t.seen.indexOf(u.value)<0?(s=m(n)?h(t,u.value,null):h(t,u.value,n-1)).indexOf("\n")>-1&&(s=o?s.split("\n").map((function(t){return " "+t})).join("\n").substr(2):"\n"+s.split("\n").map((function(t){return " "+t})).join("\n")):s=t.stylize("[Circular]","special")),b(a)){if(o&&i.match(/^\d+$/))return s;(a=JSON.stringify(""+i)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(a=a.substr(1,a.length-2),a=t.stylize(a,"name")):(a=a.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),a=t.stylize(a,"string"));}return a+": "+s}function d(t){return Array.isArray(t)}function y(t){return "boolean"==typeof t}function m(t){return null===t}function g(t){return "number"==typeof t}function _(t){return "string"==typeof t}function b(t){return void 0===t}function v(t){return T(t)&&"[object RegExp]"===C(t)}function T(t){return "object"==typeof t&&null!==t}function E(t){return T(t)&&"[object Date]"===C(t)}function w(t){return T(t)&&("[object Error]"===C(t)||t instanceof Error)}function x(t){return "function"==typeof t}function C(t){return Object.prototype.toString.call(t)}function M(t){return t<10?"0"+t.toString(10):t.toString(10)}e.debuglog=function(t){if(b(a)&&(a=r.env.NODE_DEBUG||""),t=t.toUpperCase(),!s[t])if(new RegExp("\\b"+t+"\\b","i").test(a)){var n=r.pid;s[t]=function(){var r=e.format.apply(e,arguments);i.error("%s %d: %s",t,n,r);};}else s[t]=function(){};return s[t]},e.inspect=u,u.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},u.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},e.isArray=d,e.isBoolean=y,e.isNull=m,e.isNullOrUndefined=function(t){return null==t},e.isNumber=g,e.isString=_,e.isSymbol=function(t){return "symbol"==typeof t},e.isUndefined=b,e.isRegExp=v,e.isObject=T,e.isDate=E,e.isError=w,e.isFunction=x,e.isPrimitive=function(t){return null===t||"boolean"==typeof t||"number"==typeof t||"string"==typeof t||"symbol"==typeof t||void 0===t},e.isBuffer=n(2014);var S=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function N(t,e){return Object.prototype.hasOwnProperty.call(t,e)}e.log=function(){var t,n;i.log("%s - %s",(n=[M((t=new Date).getHours()),M(t.getMinutes()),M(t.getSeconds())].join(":"),[t.getDate(),S[t.getMonth()],n].join(" ")),e.format.apply(e,arguments));},e.inherits=n(6076),e._extend=function(t,e){if(!e||!T(e))return t;for(var n=Object.keys(e),r=n.length;r--;)t[n[r]]=e[n[r]];return t};},9742:(t,e)=>{"use strict";e.byteLength=function(t){var e=u(t),n=e[0],r=e[1];return 3*(n+r)/4-r},e.toByteArray=function(t){var e,n,o=u(t),a=o[0],s=o[1],l=new i(function(t,e,n){return 3*(e+n)/4-n}(0,a,s)),c=0,h=s>0?a-4:a;for(n=0;n>16&255,l[c++]=e>>8&255,l[c++]=255&e;return 2===s&&(e=r[t.charCodeAt(n)]<<2|r[t.charCodeAt(n+1)]>>4,l[c++]=255&e),1===s&&(e=r[t.charCodeAt(n)]<<10|r[t.charCodeAt(n+1)]<<4|r[t.charCodeAt(n+2)]>>2,l[c++]=e>>8&255,l[c++]=255&e),l},e.fromByteArray=function(t){for(var e,r=t.length,i=r%3,o=[],a=16383,s=0,u=r-i;su?u:s+a));return 1===i?(e=t[r-1],o.push(n[e>>2]+n[e<<4&63]+"==")):2===i&&(e=(t[r-2]<<8)+t[r-1],o.push(n[e>>10]+n[e>>4&63]+n[e<<2&63]+"=")),o.join("")};for(var n=[],r=[],i="undefined"!=typeof Uint8Array?Uint8Array:Array,o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",a=0,s=o.length;a0)throw new Error("Invalid string. Length must be a multiple of 4");var n=t.indexOf("=");return -1===n&&(n=e),[n,n===e?0:4-n%4]}function l(t,e,r){for(var i,o,a=[],s=e;s>18&63]+n[o>>12&63]+n[o>>6&63]+n[63&o]);return a.join("")}r["-".charCodeAt(0)]=62,r["_".charCodeAt(0)]=63;},8764:(t,e,n)=>{"use strict";var r=n(5108),i=n(9742),o=n(645),a="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;e.Buffer=l,e.SlowBuffer=function(t){return +t!=t&&(t=0),l.alloc(+t)},e.INSPECT_MAX_BYTES=50;var s=2147483647;function u(t){if(t>s)throw new RangeError('The value "'+t+'" is invalid for option "size"');var e=new Uint8Array(t);return Object.setPrototypeOf(e,l.prototype),e}function l(t,e,n){if("number"==typeof t){if("string"==typeof e)throw new TypeError('The "string" argument must be of type string. Received type number');return f(t)}return c(t,e,n)}function c(t,e,n){if("string"==typeof t)return function(t,e){if("string"==typeof e&&""!==e||(e="utf8"),!l.isEncoding(e))throw new TypeError("Unknown encoding: "+e);var n=0|m(t,e),r=u(n),i=r.write(t,e);return i!==n&&(r=r.slice(0,i)),r}(t,e);if(ArrayBuffer.isView(t))return function(t){if(W(t,Uint8Array)){var e=new Uint8Array(t);return d(e.buffer,e.byteOffset,e.byteLength)}return p(t)}(t);if(null==t)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t);if(W(t,ArrayBuffer)||t&&W(t.buffer,ArrayBuffer))return d(t,e,n);if("undefined"!=typeof SharedArrayBuffer&&(W(t,SharedArrayBuffer)||t&&W(t.buffer,SharedArrayBuffer)))return d(t,e,n);if("number"==typeof t)throw new TypeError('The "value" argument must not be of type number. Received type number');var r=t.valueOf&&t.valueOf();if(null!=r&&r!==t)return l.from(r,e,n);var i=function(t){if(l.isBuffer(t)){var e=0|y(t.length),n=u(e);return 0===n.length||t.copy(n,0,0,e),n}return void 0!==t.length?"number"!=typeof t.length||q(t.length)?u(0):p(t):"Buffer"===t.type&&Array.isArray(t.data)?p(t.data):void 0}(t);if(i)return i;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof t[Symbol.toPrimitive])return l.from(t[Symbol.toPrimitive]("string"),e,n);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t)}function h(t){if("number"!=typeof t)throw new TypeError('"size" argument must be of type number');if(t<0)throw new RangeError('The value "'+t+'" is invalid for option "size"')}function f(t){return h(t),u(t<0?0:0|y(t))}function p(t){for(var e=t.length<0?0:0|y(t.length),n=u(e),r=0;r=s)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+s.toString(16)+" bytes");return 0|t}function m(t,e){if(l.isBuffer(t))return t.length;if(ArrayBuffer.isView(t)||W(t,ArrayBuffer))return t.byteLength;if("string"!=typeof t)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof t);var n=t.length,r=arguments.length>2&&!0===arguments[2];if(!r&&0===n)return 0;for(var i=!1;;)switch(e){case "ascii":case "latin1":case "binary":return n;case "utf8":case "utf-8":return B(t).length;case "ucs2":case "ucs-2":case "utf16le":case "utf-16le":return 2*n;case "hex":return n>>>1;case "base64":return j(t).length;default:if(i)return r?-1:B(t).length;e=(""+e).toLowerCase(),i=!0;}}function g(t,e,n){var r=!1;if((void 0===e||e<0)&&(e=0),e>this.length)return "";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return "";if((n>>>=0)<=(e>>>=0))return "";for(t||(t="utf8");;)switch(t){case "hex":return I(this,e,n);case "utf8":case "utf-8":return S(this,e,n);case "ascii":return O(this,e,n);case "latin1":case "binary":return A(this,e,n);case "base64":return M(this,e,n);case "ucs2":case "ucs-2":case "utf16le":case "utf-16le":return P(this,e,n);default:if(r)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),r=!0;}}function _(t,e,n){var r=t[e];t[e]=t[n],t[n]=r;}function b(t,e,n,r,i){if(0===t.length)return -1;if("string"==typeof n?(r=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),q(n=+n)&&(n=i?0:t.length-1),n<0&&(n=t.length+n),n>=t.length){if(i)return -1;n=t.length-1;}else if(n<0){if(!i)return -1;n=0;}if("string"==typeof e&&(e=l.from(e,r)),l.isBuffer(e))return 0===e.length?-1:v(t,e,n,r,i);if("number"==typeof e)return e&=255,"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(t,e,n):Uint8Array.prototype.lastIndexOf.call(t,e,n):v(t,[e],n,r,i);throw new TypeError("val must be string, number or Buffer")}function v(t,e,n,r,i){var o,a=1,s=t.length,u=e.length;if(void 0!==r&&("ucs2"===(r=String(r).toLowerCase())||"ucs-2"===r||"utf16le"===r||"utf-16le"===r)){if(t.length<2||e.length<2)return -1;a=2,s/=2,u/=2,n/=2;}function l(t,e){return 1===a?t[e]:t.readUInt16BE(e*a)}if(i){var c=-1;for(o=n;os&&(n=s-u),o=n;o>=0;o--){for(var h=!0,f=0;fi&&(r=i):r=i;var o=e.length;r>o/2&&(r=o/2);for(var a=0;a>8,i=n%256,o.push(i),o.push(r);return o}(e,t.length-n),t,n,r)}function M(t,e,n){return 0===e&&n===t.length?i.fromByteArray(t):i.fromByteArray(t.slice(e,n))}function S(t,e,n){n=Math.min(t.length,n);for(var r=[],i=e;i239?4:l>223?3:l>191?2:1;if(i+h<=n)switch(h){case 1:l<128&&(c=l);break;case 2:128==(192&(o=t[i+1]))&&(u=(31&l)<<6|63&o)>127&&(c=u);break;case 3:o=t[i+1],a=t[i+2],128==(192&o)&&128==(192&a)&&(u=(15&l)<<12|(63&o)<<6|63&a)>2047&&(u<55296||u>57343)&&(c=u);break;case 4:o=t[i+1],a=t[i+2],s=t[i+3],128==(192&o)&&128==(192&a)&&128==(192&s)&&(u=(15&l)<<18|(63&o)<<12|(63&a)<<6|63&s)>65535&&u<1114112&&(c=u);}null===c?(c=65533,h=1):c>65535&&(c-=65536,r.push(c>>>10&1023|55296),c=56320|1023&c),r.push(c),i+=h;}return function(t){var e=t.length;if(e<=N)return String.fromCharCode.apply(String,t);for(var n="",r=0;rr.length?l.from(o).copy(r,i):Uint8Array.prototype.set.call(r,o,i);else {if(!l.isBuffer(o))throw new TypeError('"list" argument must be an Array of Buffers');o.copy(r,i);}i+=o.length;}return r},l.byteLength=m,l.prototype._isBuffer=!0,l.prototype.swap16=function(){var t=this.length;if(t%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var e=0;en&&(t+=" ... "),""},a&&(l.prototype[a]=l.prototype.inspect),l.prototype.compare=function(t,e,n,r,i){if(W(t,Uint8Array)&&(t=l.from(t,t.offset,t.byteLength)),!l.isBuffer(t))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof t);if(void 0===e&&(e=0),void 0===n&&(n=t?t.length:0),void 0===r&&(r=0),void 0===i&&(i=this.length),e<0||n>t.length||r<0||i>this.length)throw new RangeError("out of range index");if(r>=i&&e>=n)return 0;if(r>=i)return -1;if(e>=n)return 1;if(this===t)return 0;for(var o=(i>>>=0)-(r>>>=0),a=(n>>>=0)-(e>>>=0),s=Math.min(o,a),u=this.slice(r,i),c=t.slice(e,n),h=0;h>>=0,isFinite(n)?(n>>>=0,void 0===r&&(r="utf8")):(r=n,n=void 0);}var i=this.length-e;if((void 0===n||n>i)&&(n=i),t.length>0&&(n<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");r||(r="utf8");for(var o=!1;;)switch(r){case "hex":return T(this,t,e,n);case "utf8":case "utf-8":return E(this,t,e,n);case "ascii":case "latin1":case "binary":return w(this,t,e,n);case "base64":return x(this,t,e,n);case "ucs2":case "ucs-2":case "utf16le":case "utf-16le":return C(this,t,e,n);default:if(o)throw new TypeError("Unknown encoding: "+r);r=(""+r).toLowerCase(),o=!0;}},l.prototype.toJSON=function(){return {type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var N=4096;function O(t,e,n){var r="";n=Math.min(t.length,n);for(var i=e;ir)&&(n=r);for(var i="",o=e;on)throw new RangeError("Trying to access beyond buffer length")}function L(t,e,n,r,i,o){if(!l.isBuffer(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>i||et.length)throw new RangeError("Index out of range")}function D(t,e,n,r,i,o){if(n+r>t.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("Index out of range")}function k(t,e,n,r,i){return e=+e,n>>>=0,i||D(t,0,n,4),o.write(t,e,n,r,23,4),n+4}function F(t,e,n,r,i){return e=+e,n>>>=0,i||D(t,0,n,8),o.write(t,e,n,r,52,8),n+8}l.prototype.slice=function(t,e){var n=this.length;(t=~~t)<0?(t+=n)<0&&(t=0):t>n&&(t=n),(e=void 0===e?n:~~e)<0?(e+=n)<0&&(e=0):e>n&&(e=n),e>>=0,e>>>=0,n||R(t,e,this.length);for(var r=this[t],i=1,o=0;++o>>=0,e>>>=0,n||R(t,e,this.length);for(var r=this[t+--e],i=1;e>0&&(i*=256);)r+=this[t+--e]*i;return r},l.prototype.readUint8=l.prototype.readUInt8=function(t,e){return t>>>=0,e||R(t,1,this.length),this[t]},l.prototype.readUint16LE=l.prototype.readUInt16LE=function(t,e){return t>>>=0,e||R(t,2,this.length),this[t]|this[t+1]<<8},l.prototype.readUint16BE=l.prototype.readUInt16BE=function(t,e){return t>>>=0,e||R(t,2,this.length),this[t]<<8|this[t+1]},l.prototype.readUint32LE=l.prototype.readUInt32LE=function(t,e){return t>>>=0,e||R(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},l.prototype.readUint32BE=l.prototype.readUInt32BE=function(t,e){return t>>>=0,e||R(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},l.prototype.readIntLE=function(t,e,n){t>>>=0,e>>>=0,n||R(t,e,this.length);for(var r=this[t],i=1,o=0;++o=(i*=128)&&(r-=Math.pow(2,8*e)),r},l.prototype.readIntBE=function(t,e,n){t>>>=0,e>>>=0,n||R(t,e,this.length);for(var r=e,i=1,o=this[t+--r];r>0&&(i*=256);)o+=this[t+--r]*i;return o>=(i*=128)&&(o-=Math.pow(2,8*e)),o},l.prototype.readInt8=function(t,e){return t>>>=0,e||R(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},l.prototype.readInt16LE=function(t,e){t>>>=0,e||R(t,2,this.length);var n=this[t]|this[t+1]<<8;return 32768&n?4294901760|n:n},l.prototype.readInt16BE=function(t,e){t>>>=0,e||R(t,2,this.length);var n=this[t+1]|this[t]<<8;return 32768&n?4294901760|n:n},l.prototype.readInt32LE=function(t,e){return t>>>=0,e||R(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},l.prototype.readInt32BE=function(t,e){return t>>>=0,e||R(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},l.prototype.readFloatLE=function(t,e){return t>>>=0,e||R(t,4,this.length),o.read(this,t,!0,23,4)},l.prototype.readFloatBE=function(t,e){return t>>>=0,e||R(t,4,this.length),o.read(this,t,!1,23,4)},l.prototype.readDoubleLE=function(t,e){return t>>>=0,e||R(t,8,this.length),o.read(this,t,!0,52,8)},l.prototype.readDoubleBE=function(t,e){return t>>>=0,e||R(t,8,this.length),o.read(this,t,!1,52,8)},l.prototype.writeUintLE=l.prototype.writeUIntLE=function(t,e,n,r){t=+t,e>>>=0,n>>>=0,r||L(this,t,e,n,Math.pow(2,8*n)-1,0);var i=1,o=0;for(this[e]=255&t;++o>>=0,n>>>=0,r||L(this,t,e,n,Math.pow(2,8*n)-1,0);var i=n-1,o=1;for(this[e+i]=255&t;--i>=0&&(o*=256);)this[e+i]=t/o&255;return e+n},l.prototype.writeUint8=l.prototype.writeUInt8=function(t,e,n){return t=+t,e>>>=0,n||L(this,t,e,1,255,0),this[e]=255&t,e+1},l.prototype.writeUint16LE=l.prototype.writeUInt16LE=function(t,e,n){return t=+t,e>>>=0,n||L(this,t,e,2,65535,0),this[e]=255&t,this[e+1]=t>>>8,e+2},l.prototype.writeUint16BE=l.prototype.writeUInt16BE=function(t,e,n){return t=+t,e>>>=0,n||L(this,t,e,2,65535,0),this[e]=t>>>8,this[e+1]=255&t,e+2},l.prototype.writeUint32LE=l.prototype.writeUInt32LE=function(t,e,n){return t=+t,e>>>=0,n||L(this,t,e,4,4294967295,0),this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t,e+4},l.prototype.writeUint32BE=l.prototype.writeUInt32BE=function(t,e,n){return t=+t,e>>>=0,n||L(this,t,e,4,4294967295,0),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},l.prototype.writeIntLE=function(t,e,n,r){if(t=+t,e>>>=0,!r){var i=Math.pow(2,8*n-1);L(this,t,e,n,i-1,-i);}var o=0,a=1,s=0;for(this[e]=255&t;++o>0)-s&255;return e+n},l.prototype.writeIntBE=function(t,e,n,r){if(t=+t,e>>>=0,!r){var i=Math.pow(2,8*n-1);L(this,t,e,n,i-1,-i);}var o=n-1,a=1,s=0;for(this[e+o]=255&t;--o>=0&&(a*=256);)t<0&&0===s&&0!==this[e+o+1]&&(s=1),this[e+o]=(t/a>>0)-s&255;return e+n},l.prototype.writeInt8=function(t,e,n){return t=+t,e>>>=0,n||L(this,t,e,1,127,-128),t<0&&(t=255+t+1),this[e]=255&t,e+1},l.prototype.writeInt16LE=function(t,e,n){return t=+t,e>>>=0,n||L(this,t,e,2,32767,-32768),this[e]=255&t,this[e+1]=t>>>8,e+2},l.prototype.writeInt16BE=function(t,e,n){return t=+t,e>>>=0,n||L(this,t,e,2,32767,-32768),this[e]=t>>>8,this[e+1]=255&t,e+2},l.prototype.writeInt32LE=function(t,e,n){return t=+t,e>>>=0,n||L(this,t,e,4,2147483647,-2147483648),this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24,e+4},l.prototype.writeInt32BE=function(t,e,n){return t=+t,e>>>=0,n||L(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},l.prototype.writeFloatLE=function(t,e,n){return k(this,t,e,!0,n)},l.prototype.writeFloatBE=function(t,e,n){return k(this,t,e,!1,n)},l.prototype.writeDoubleLE=function(t,e,n){return F(this,t,e,!0,n)},l.prototype.writeDoubleBE=function(t,e,n){return F(this,t,e,!1,n)},l.prototype.copy=function(t,e,n,r){if(!l.isBuffer(t))throw new TypeError("argument should be a Buffer");if(n||(n=0),r||0===r||(r=this.length),e>=t.length&&(e=t.length),e||(e=0),r>0&&r=this.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("sourceEnd out of bounds");r>this.length&&(r=this.length),t.length-e>>=0,n=void 0===n?this.length:n>>>0,t||(t=0),"number"==typeof t)for(o=e;o55295&&n<57344){if(!i){if(n>56319){(e-=3)>-1&&o.push(239,191,189);continue}if(a+1===r){(e-=3)>-1&&o.push(239,191,189);continue}i=n;continue}if(n<56320){(e-=3)>-1&&o.push(239,191,189),i=n;continue}n=65536+(i-55296<<10|n-56320);}else i&&(e-=3)>-1&&o.push(239,191,189);if(i=null,n<128){if((e-=1)<0)break;o.push(n);}else if(n<2048){if((e-=2)<0)break;o.push(n>>6|192,63&n|128);}else if(n<65536){if((e-=3)<0)break;o.push(n>>12|224,n>>6&63|128,63&n|128);}else {if(!(n<1114112))throw new Error("Invalid code point");if((e-=4)<0)break;o.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128);}}return o}function j(t){return i.toByteArray(function(t){if((t=(t=t.split("=")[0]).trim().replace(U,"")).length<2)return "";for(;t.length%4!=0;)t+="=";return t}(t))}function G(t,e,n,r){for(var i=0;i=e.length||i>=t.length);++i)e[i+n]=t[i];return i}function W(t,e){return t instanceof e||null!=t&&null!=t.constructor&&null!=t.constructor.name&&t.constructor.name===e.name}function q(t){return t!=t}var H=function(){for(var t="0123456789abcdef",e=new Array(256),n=0;n<16;++n)for(var r=16*n,i=0;i<16;++i)e[r+i]=t[n]+t[i];return e}();},584:t=>{t.exports={100:"Continue",101:"Switching Protocols",102:"Processing",200:"OK",201:"Created",202:"Accepted",203:"Non-Authoritative Information",204:"No Content",205:"Reset Content",206:"Partial Content",207:"Multi-Status",208:"Already Reported",226:"IM Used",300:"Multiple Choices",301:"Moved Permanently",302:"Found",303:"See Other",304:"Not Modified",305:"Use Proxy",307:"Temporary Redirect",308:"Permanent Redirect",400:"Bad Request",401:"Unauthorized",402:"Payment Required",403:"Forbidden",404:"Not Found",405:"Method Not Allowed",406:"Not Acceptable",407:"Proxy Authentication Required",408:"Request Timeout",409:"Conflict",410:"Gone",411:"Length Required",412:"Precondition Failed",413:"Payload Too Large",414:"URI Too Long",415:"Unsupported Media Type",416:"Range Not Satisfiable",417:"Expectation Failed",418:"I'm a teapot",421:"Misdirected Request",422:"Unprocessable Entity",423:"Locked",424:"Failed Dependency",425:"Unordered Collection",426:"Upgrade Required",428:"Precondition Required",429:"Too Many Requests",431:"Request Header Fields Too Large",451:"Unavailable For Legal Reasons",500:"Internal Server Error",501:"Not Implemented",502:"Bad Gateway",503:"Service Unavailable",504:"Gateway Timeout",505:"HTTP Version Not Supported",506:"Variant Also Negotiates",507:"Insufficient Storage",508:"Loop Detected",509:"Bandwidth Limit Exceeded",510:"Not Extended",511:"Network Authentication Required"};},5108:(t,e,n)=>{var r=n(9539),i=n(8583);function o(){return (new Date).getTime()}var a,s=Array.prototype.slice,u={};a=void 0!==n.g&&n.g.console?n.g.console:"undefined"!=typeof window&&window.console?window.console:{};for(var l=[[function(){},"log"],[function(){a.log.apply(a,arguments);},"info"],[function(){a.log.apply(a,arguments);},"warn"],[function(){a.warn.apply(a,arguments);},"error"],[function(t){u[t]=o();},"time"],[function(t){var e=u[t];if(!e)throw new Error("No such label: "+t);delete u[t];var n=o()-e;a.log(t+": "+n+"ms");},"timeEnd"],[function(){var t=new Error;t.name="Trace",t.message=r.format.apply(null,arguments),a.error(t.stack);},"trace"],[function(t){a.log(r.inspect(t)+"\n");},"dir"],[function(t){if(!t){var e=s.call(arguments,1);i.ok(!1,r.format.apply(null,e));}},"assert"]],c=0;c{var r=n(5108),i=Object.create||function(t){var e=function(){};return e.prototype=t,new e},o=Object.keys||function(t){var e=[];for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&e.push(n);return n},a=Function.prototype.bind||function(t){var e=this;return function(){return e.apply(t,arguments)}};function s(){this._events&&Object.prototype.hasOwnProperty.call(this,"_events")||(this._events=i(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0;}t.exports=s,s.EventEmitter=s,s.prototype._events=void 0,s.prototype._maxListeners=void 0;var u,l=10;try{var c={};Object.defineProperty&&Object.defineProperty(c,"x",{value:0}),u=0===c.x;}catch(t){u=!1;}function h(t){return void 0===t._maxListeners?s.defaultMaxListeners:t._maxListeners}function f(t,e,n,o){var a,s,u;if("function"!=typeof n)throw new TypeError('"listener" argument must be a function');if((s=t._events)?(s.newListener&&(t.emit("newListener",e,n.listener?n.listener:n),s=t._events),u=s[e]):(s=t._events=i(null),t._eventsCount=0),u){if("function"==typeof u?u=s[e]=o?[n,u]:[u,n]:o?u.unshift(n):u.push(n),!u.warned&&(a=h(t))&&a>0&&u.length>a){u.warned=!0;var l=new Error("Possible EventEmitter memory leak detected. "+u.length+' "'+String(e)+'" listeners added. Use emitter.setMaxListeners() to increase limit.');l.name="MaxListenersExceededWarning",l.emitter=t,l.type=e,l.count=u.length,"object"==typeof r&&r.warn&&r.warn("%s: %s",l.name,l.message);}}else u=s[e]=n,++t._eventsCount;return t}function p(){if(!this.fired)switch(this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length){case 0:return this.listener.call(this.target);case 1:return this.listener.call(this.target,arguments[0]);case 2:return this.listener.call(this.target,arguments[0],arguments[1]);case 3:return this.listener.call(this.target,arguments[0],arguments[1],arguments[2]);default:for(var t=new Array(arguments.length),e=0;e1&&(e=arguments[1]),e instanceof Error)throw e;var u=new Error('Unhandled "error" event. ('+e+")");throw u.context=e,u}if(!(n=a[t]))return !1;var l="function"==typeof n;switch(r=arguments.length){case 1:!function(t,e,n){if(e)t.call(n);else for(var r=t.length,i=g(t,r),o=0;o=0;a--)if(n[a]===e||n[a].listener===e){s=n[a].listener,o=a;break}if(o<0)return this;0===o?n.shift():function(t,e){for(var n=e,r=n+1,i=t.length;r=0;r--)this.removeListener(t,e[r]);return this},s.prototype.listeners=function(t){return y(this,t,!0)},s.prototype.rawListeners=function(t){return y(this,t,!1)},s.listenerCount=function(t,e){return "function"==typeof t.listenerCount?t.listenerCount(e):m.call(t,e)},s.prototype.listenerCount=m,s.prototype.eventNames=function(){return this._eventsCount>0?Reflect.ownKeys(this._events):[]};},1:(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";var Buffer=__webpack_require__(3085).lW;const Token=__webpack_require__(3416),strtok3=__webpack_require__(5849),{stringToBytes,tarHeaderChecksumMatches,uint32SyncSafeToken}=__webpack_require__(6188),supported=__webpack_require__(9898),minimumBytes=4100;async function fromStream(t){const e=await strtok3.fromStream(t);try{return await fromTokenizer(e)}finally{await e.close();}}async function fromBuffer(t){if(!(t instanceof Uint8Array||t instanceof ArrayBuffer||Buffer.isBuffer(t)))throw new TypeError(`Expected the \`input\` argument to be of type \`Uint8Array\` or \`Buffer\` or \`ArrayBuffer\`, got \`${typeof t}\``);const e=t instanceof Buffer?t:Buffer.from(t);if(e&&e.length>1)return fromTokenizer(strtok3.fromBuffer(e))}function _check(t,e,n){n={offset:0,...n};for(const[r,i]of e.entries())if(n.mask){if(i!==(n.mask[r]&t[r+n.offset]))return !1}else if(i!==t[r+n.offset])return !1;return !0}async function fromTokenizer(t){try{return _fromTokenizer(t)}catch(t){if(!(t instanceof strtok3.EndOfStreamError))throw t}}async function _fromTokenizer(t){let e=Buffer.alloc(minimumBytes);const n=(t,n)=>_check(e,t,n),r=(t,e)=>n(stringToBytes(t),e);if(t.fileInfo.size||(t.fileInfo.size=Number.MAX_SAFE_INTEGER),await t.peekBuffer(e,{length:12,mayBeLess:!0}),n([66,77]))return {ext:"bmp",mime:"image/bmp"};if(n([11,119]))return {ext:"ac3",mime:"audio/vnd.dolby.dd-raw"};if(n([120,1]))return {ext:"dmg",mime:"application/x-apple-diskimage"};if(n([77,90]))return {ext:"exe",mime:"application/x-msdownload"};if(n([37,33]))return await t.peekBuffer(e,{length:24,mayBeLess:!0}),r("PS-Adobe-",{offset:2})&&r(" EPSF-",{offset:14})?{ext:"eps",mime:"application/eps"}:{ext:"ps",mime:"application/postscript"};if(n([31,160])||n([31,157]))return {ext:"Z",mime:"application/x-compress"};if(n([255,216,255]))return {ext:"jpg",mime:"image/jpeg"};if(n([73,73,188]))return {ext:"jxr",mime:"image/vnd.ms-photo"};if(n([31,139,8]))return {ext:"gz",mime:"application/gzip"};if(n([66,90,104]))return {ext:"bz2",mime:"application/x-bzip2"};if(r("ID3")){await t.ignore(6);const i=await t.readToken(uint32SyncSafeToken);return t.position+i>t.fileInfo.size?{ext:"mp3",mime:"audio/mpeg"}:(await t.ignore(i),fromTokenizer(t))}if(r("MP+"))return {ext:"mpc",mime:"audio/x-musepack"};if((67===e[0]||70===e[0])&&n([87,83],{offset:1}))return {ext:"swf",mime:"application/x-shockwave-flash"};if(n([71,73,70]))return {ext:"gif",mime:"image/gif"};if(r("FLIF"))return {ext:"flif",mime:"image/flif"};if(r("8BPS"))return {ext:"psd",mime:"image/vnd.adobe.photoshop"};if(r("WEBP",{offset:8}))return {ext:"webp",mime:"image/webp"};if(r("MPCK"))return {ext:"mpc",mime:"audio/x-musepack"};if(r("FORM"))return {ext:"aif",mime:"audio/aiff"};if(r("icns",{offset:0}))return {ext:"icns",mime:"image/icns"};if(n([80,75,3,4])){try{for(;t.position+30=0?a:e.length);}else await t.ignore(o.compressedSize);}}catch(s){if(!(s instanceof strtok3.EndOfStreamError))throw s}return {ext:"zip",mime:"application/zip"}}if(r("OggS")){await t.ignore(28);const u=Buffer.alloc(8);return await t.readBuffer(u),_check(u,[79,112,117,115,72,101,97,100])?{ext:"opus",mime:"audio/opus"}:_check(u,[128,116,104,101,111,114,97])?{ext:"ogv",mime:"video/ogg"}:_check(u,[1,118,105,100,101,111,0])?{ext:"ogm",mime:"video/ogg"}:_check(u,[127,70,76,65,67])?{ext:"oga",mime:"audio/ogg"}:_check(u,[83,112,101,101,120,32,32])?{ext:"spx",mime:"audio/ogg"}:_check(u,[1,118,111,114,98,105,115])?{ext:"ogg",mime:"audio/ogg"}:{ext:"ogx",mime:"application/ogg"}}if(n([80,75])&&(3===e[2]||5===e[2]||7===e[2])&&(4===e[3]||6===e[3]||8===e[3]))return {ext:"zip",mime:"application/zip"};if(r("ftyp",{offset:4})&&0!=(96&e[8])){const l=e.toString("binary",8,12).replace("\0"," ").trim();switch(l){case "avif":return {ext:"avif",mime:"image/avif"};case "mif1":return {ext:"heic",mime:"image/heif"};case "msf1":return {ext:"heic",mime:"image/heif-sequence"};case "heic":case "heix":return {ext:"heic",mime:"image/heic"};case "hevc":case "hevx":return {ext:"heic",mime:"image/heic-sequence"};case "qt":return {ext:"mov",mime:"video/quicktime"};case "M4V":case "M4VH":case "M4VP":return {ext:"m4v",mime:"video/x-m4v"};case "M4P":return {ext:"m4p",mime:"video/mp4"};case "M4B":return {ext:"m4b",mime:"audio/mp4"};case "M4A":return {ext:"m4a",mime:"audio/x-m4a"};case "F4V":return {ext:"f4v",mime:"video/mp4"};case "F4P":return {ext:"f4p",mime:"video/mp4"};case "F4A":return {ext:"f4a",mime:"audio/mp4"};case "F4B":return {ext:"f4b",mime:"audio/mp4"};case "crx":return {ext:"cr3",mime:"image/x-canon-cr3"};default:return l.startsWith("3g")?l.startsWith("3g2")?{ext:"3g2",mime:"video/3gpp2"}:{ext:"3gp",mime:"video/3gpp"}:{ext:"mp4",mime:"video/mp4"}}}if(r("MThd"))return {ext:"mid",mime:"audio/midi"};if(r("wOFF")&&(n([0,1,0,0],{offset:4})||r("OTTO",{offset:4})))return {ext:"woff",mime:"font/woff"};if(r("wOF2")&&(n([0,1,0,0],{offset:4})||r("OTTO",{offset:4})))return {ext:"woff2",mime:"font/woff2"};if(n([212,195,178,161])||n([161,178,195,212]))return {ext:"pcap",mime:"application/vnd.tcpdump.pcap"};if(r("DSD "))return {ext:"dsf",mime:"audio/x-dsf"};if(r("LZIP"))return {ext:"lz",mime:"application/x-lzip"};if(r("fLaC"))return {ext:"flac",mime:"audio/x-flac"};if(n([66,80,71,251]))return {ext:"bpg",mime:"image/bpg"};if(r("wvpk"))return {ext:"wv",mime:"audio/wavpack"};if(r("%PDF")){await t.ignore(1350);const c=10485760,h=Buffer.alloc(Math.min(c,t.fileInfo.size));return await t.readBuffer(h,{mayBeLess:!0}),h.includes(Buffer.from("AIPrivateData"))?{ext:"ai",mime:"application/postscript"}:{ext:"pdf",mime:"application/pdf"}}if(n([0,97,115,109]))return {ext:"wasm",mime:"application/wasm"};if(n([73,73,42,0]))return r("CR",{offset:8})?{ext:"cr2",mime:"image/x-canon-cr2"}:n([28,0,254,0],{offset:8})||n([31,0,11,0],{offset:8})?{ext:"nef",mime:"image/x-nikon-nef"}:n([8,0,0,0],{offset:4})&&(n([45,0,254,0],{offset:8})||n([39,0,254,0],{offset:8}))?{ext:"dng",mime:"image/x-adobe-dng"}:(e=Buffer.alloc(24),await t.peekBuffer(e),(n([16,251,134,1],{offset:4})||n([8,0,0,0],{offset:4}))&&n([0,254,0,4,0,1,0,0,0,1,0,0,0,3,1],{offset:9})?{ext:"arw",mime:"image/x-sony-arw"}:{ext:"tif",mime:"image/tiff"});if(n([77,77,0,42]))return {ext:"tif",mime:"image/tiff"};if(r("MAC "))return {ext:"ape",mime:"audio/ape"};if(n([26,69,223,163])){async function f(){const e=await t.peekNumber(Token.UINT8);let n=128,r=0;for(;0==(e&n)&&0!==n;)++r,n>>=1;const i=Buffer.alloc(r+1);return await t.readBuffer(i),i}async function p(){const t=await f(),e=await f();e[0]^=128>>e.length-1;const n=Math.min(6,e.length);return {id:t.readUIntBE(0,t.length),len:e.readUIntBE(e.length-n,n)}}async function d(e,n){for(;n>0;){const e=await p();if(17026===e.id)return t.readToken(new Token.StringType(e.len,"utf-8"));await t.ignore(e.len),--n;}}const y=await p();switch(await d(0,y.len)){case "webm":return {ext:"webm",mime:"video/webm"};case "matroska":return {ext:"mkv",mime:"video/x-matroska"};default:return}}if(n([82,73,70,70])){if(n([65,86,73],{offset:8}))return {ext:"avi",mime:"video/vnd.avi"};if(n([87,65,86,69],{offset:8}))return {ext:"wav",mime:"audio/vnd.wave"};if(n([81,76,67,77],{offset:8}))return {ext:"qcp",mime:"audio/qcelp"}}if(r("SQLi"))return {ext:"sqlite",mime:"application/x-sqlite3"};if(n([78,69,83,26]))return {ext:"nes",mime:"application/x-nintendo-nes-rom"};if(r("Cr24"))return {ext:"crx",mime:"application/x-google-chrome-extension"};if(r("MSCF")||r("ISc("))return {ext:"cab",mime:"application/vnd.ms-cab-compressed"};if(n([237,171,238,219]))return {ext:"rpm",mime:"application/x-rpm"};if(n([197,208,211,198]))return {ext:"eps",mime:"application/eps"};if(n([40,181,47,253]))return {ext:"zst",mime:"application/zstd"};if(n([79,84,84,79,0]))return {ext:"otf",mime:"font/otf"};if(r("#!AMR"))return {ext:"amr",mime:"audio/amr"};if(r("{\\rtf"))return {ext:"rtf",mime:"application/rtf"};if(n([70,76,86,1]))return {ext:"flv",mime:"video/x-flv"};if(r("IMPM"))return {ext:"it",mime:"audio/x-it"};if(r("-lh0-",{offset:2})||r("-lh1-",{offset:2})||r("-lh2-",{offset:2})||r("-lh3-",{offset:2})||r("-lh4-",{offset:2})||r("-lh5-",{offset:2})||r("-lh6-",{offset:2})||r("-lh7-",{offset:2})||r("-lzs-",{offset:2})||r("-lz4-",{offset:2})||r("-lz5-",{offset:2})||r("-lhd-",{offset:2}))return {ext:"lzh",mime:"application/x-lzh-compressed"};if(n([0,0,1,186])){if(n([33],{offset:4,mask:[241]}))return {ext:"mpg",mime:"video/MP1S"};if(n([68],{offset:4,mask:[196]}))return {ext:"mpg",mime:"video/MP2P"}}if(r("ITSF"))return {ext:"chm",mime:"application/vnd.ms-htmlhelp"};if(n([253,55,122,88,90,0]))return {ext:"xz",mime:"application/x-xz"};if(r(""))return await t.ignore(8),"debian-binary"===await t.readToken(new Token.StringType(13,"ascii"))?{ext:"deb",mime:"application/x-deb"}:{ext:"ar",mime:"application/x-unix-archive"};if(n([137,80,78,71,13,10,26,10])){async function m(){return {length:await t.readToken(Token.INT32_BE),type:await t.readToken(new Token.StringType(4,"binary"))}}await t.ignore(8);do{const g=await m();if(g.length<0)return;switch(g.type){case "IDAT":return {ext:"png",mime:"image/png"};case "acTL":return {ext:"apng",mime:"image/apng"};default:await t.ignore(g.length+4);}}while(t.position+8=16){const E=e.readUInt32LE(12);if(E>12&&e.length>=E+16)try{const w=e.slice(16,E+16).toString();if(JSON.parse(w).files)return {ext:"asar",mime:"application/x-asar"}}catch(x){}}if(n([6,14,43,52,2,5,1,1,13,1,2,1,1,2]))return {ext:"mxf",mime:"application/mxf"};if(r("SCRM",{offset:44}))return {ext:"s3m",mime:"audio/x-s3m"};if(n([71],{offset:4})&&(n([71],{offset:192})||n([71],{offset:196})))return {ext:"mts",mime:"video/mp2t"};if(n([66,79,79,75,77,79,66,73],{offset:60}))return {ext:"mobi",mime:"application/x-mobipocket-ebook"};if(n([68,73,67,77],{offset:128}))return {ext:"dcm",mime:"application/dicom"};if(n([76,0,0,0,1,20,2,0,0,0,0,0,192,0,0,0,0,0,0,70]))return {ext:"lnk",mime:"application/x.ms.shortcut"};if(n([98,111,111,107,0,0,0,0,109,97,114,107,0,0,0,0]))return {ext:"alias",mime:"application/x.apple.alias"};if(n([76,80],{offset:34})&&(n([0,0,1],{offset:8})||n([1,0,2],{offset:8})||n([2,0,2],{offset:8})))return {ext:"eot",mime:"application/vnd.ms-fontobject"};if(n([6,6,237,245,216,29,70,229,189,49,239,231,254,116,183,29]))return {ext:"indd",mime:"application/x-indesign"};if(await t.peekBuffer(e,{length:Math.min(512,t.fileInfo.size),mayBeLess:!0}),tarHeaderChecksumMatches(e))return {ext:"tar",mime:"application/x-tar"};if(n([255,254,255,14,83,0,107,0,101,0,116,0,99,0,104,0,85,0,112,0,32,0,77,0,111,0,100,0,101,0,108,0]))return {ext:"skp",mime:"application/vnd.sketchup.skp"};if(r("-----BEGIN PGP MESSAGE-----"))return {ext:"pgp",mime:"application/pgp-encrypted"};if(e.length>=2&&n([255,224],{offset:0,mask:[255,224]})){if(n([16],{offset:1,mask:[22]}))return n([8],{offset:1,mask:[8]}),{ext:"aac",mime:"audio/aac"};if(n([2],{offset:1,mask:[6]}))return {ext:"mp3",mime:"audio/mpeg"};if(n([4],{offset:1,mask:[6]}))return {ext:"mp2",mime:"audio/mpeg"};if(n([6],{offset:1,mask:[6]}))return {ext:"mp1",mime:"audio/mpeg"}}}const stream=readableStream=>new Promise(((resolve,reject)=>{const stream=eval("require")("stream");readableStream.on("error",reject),readableStream.once("readable",(async()=>{const t=new stream.PassThrough;let e;e=stream.pipeline?stream.pipeline(readableStream,t,(()=>{})):readableStream.pipe(t);const n=readableStream.read(minimumBytes)||readableStream.read()||Buffer.alloc(0);try{const e=await fromBuffer(n);t.fileType=e;}catch(t){reject(t);}resolve(e);}));})),fileType={fromStream,fromTokenizer,fromBuffer,stream};Object.defineProperty(fileType,"extensions",{get:()=>new Set(supported.extensions)}),Object.defineProperty(fileType,"mimeTypes",{get:()=>new Set(supported.mimeTypes)}),module.exports=fileType;},7769:(t,e,n)=>{"use strict";const r=n(6597),i=n(1),o={fromFile:async function(t){const e=await r.fromFile(t);try{return await i.fromTokenizer(e)}finally{await e.close();}}};Object.assign(o,i),Object.defineProperty(o,"extensions",{get:()=>i.extensions}),Object.defineProperty(o,"mimeTypes",{get:()=>i.mimeTypes}),t.exports=o;},9898:t=>{"use strict";t.exports={extensions:["jpg","png","apng","gif","webp","flif","xcf","cr2","cr3","orf","arw","dng","nef","rw2","raf","tif","bmp","icns","jxr","psd","indd","zip","tar","rar","gz","bz2","7z","dmg","mp4","mid","mkv","webm","mov","avi","mpg","mp2","mp3","m4a","oga","ogg","ogv","opus","flac","wav","spx","amr","pdf","epub","exe","swf","rtf","wasm","woff","woff2","eot","ttf","otf","ico","flv","ps","xz","sqlite","nes","crx","xpi","cab","deb","ar","rpm","Z","lz","cfb","mxf","mts","blend","bpg","docx","pptx","xlsx","3gp","3g2","jp2","jpm","jpx","mj2","aif","qcp","odt","ods","odp","xml","mobi","heic","cur","ktx","ape","wv","dcm","ics","glb","pcap","dsf","lnk","alias","voc","ac3","m4v","m4p","m4b","f4v","f4p","f4b","f4a","mie","asf","ogm","ogx","mpc","arrow","shp","aac","mp1","it","s3m","xm","ai","skp","avif","eps","lzh","pgp","asar","stl","chm","3mf","zst","jxl","vcf"],mimeTypes:["image/jpeg","image/png","image/gif","image/webp","image/flif","image/x-xcf","image/x-canon-cr2","image/x-canon-cr3","image/tiff","image/bmp","image/vnd.ms-photo","image/vnd.adobe.photoshop","application/x-indesign","application/epub+zip","application/x-xpinstall","application/vnd.oasis.opendocument.text","application/vnd.oasis.opendocument.spreadsheet","application/vnd.oasis.opendocument.presentation","application/vnd.openxmlformats-officedocument.wordprocessingml.document","application/vnd.openxmlformats-officedocument.presentationml.presentation","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet","application/zip","application/x-tar","application/x-rar-compressed","application/gzip","application/x-bzip2","application/x-7z-compressed","application/x-apple-diskimage","application/x-apache-arrow","video/mp4","audio/midi","video/x-matroska","video/webm","video/quicktime","video/vnd.avi","audio/vnd.wave","audio/qcelp","audio/x-ms-asf","video/x-ms-asf","application/vnd.ms-asf","video/mpeg","video/3gpp","audio/mpeg","audio/mp4","audio/opus","video/ogg","audio/ogg","application/ogg","audio/x-flac","audio/ape","audio/wavpack","audio/amr","application/pdf","application/x-msdownload","application/x-shockwave-flash","application/rtf","application/wasm","font/woff","font/woff2","application/vnd.ms-fontobject","font/ttf","font/otf","image/x-icon","video/x-flv","application/postscript","application/eps","application/x-xz","application/x-sqlite3","application/x-nintendo-nes-rom","application/x-google-chrome-extension","application/vnd.ms-cab-compressed","application/x-deb","application/x-unix-archive","application/x-rpm","application/x-compress","application/x-lzip","application/x-cfb","application/x-mie","application/mxf","video/mp2t","application/x-blender","image/bpg","image/jp2","image/jpx","image/jpm","image/mj2","audio/aiff","application/xml","application/x-mobipocket-ebook","image/heif","image/heif-sequence","image/heic","image/heic-sequence","image/icns","image/ktx","application/dicom","audio/x-musepack","text/calendar","text/vcard","model/gltf-binary","application/vnd.tcpdump.pcap","audio/x-dsf","application/x.ms.shortcut","application/x.apple.alias","audio/x-voc","audio/vnd.dolby.dd-raw","audio/x-m4a","image/apng","image/x-olympus-orf","image/x-sony-arw","image/x-adobe-dng","image/x-nikon-nef","image/x-panasonic-rw2","image/x-fujifilm-raf","video/x-m4v","video/3gpp2","application/x-esri-shape","audio/aac","audio/x-it","audio/x-s3m","audio/x-xm","video/MP1S","video/MP2P","application/vnd.sketchup.skp","image/avif","application/x-lzh-compressed","application/pgp-encrypted","application/x-asar","model/stl","application/vnd.ms-htmlhelp","model/3mf","image/jxl","application/zstd"]};},6188:(t,e)=>{"use strict";e.stringToBytes=t=>[...t].map((t=>t.charCodeAt(0))),e.tarHeaderChecksumMatches=(t,e=0)=>{const n=parseInt(t.toString("utf8",148,154).replace(/\0.*$/,"").trim(),8);if(isNaN(n))return !1;let r=256;for(let n=e;n127&t[e+3]|t[e+2]<<7|t[e+1]<<14|t[e]<<21,len:4};},1787:(t,e,n)=>{var r=n(2582),i=n(4102),o=n(1540),a=n(9705).default,s=o.featureEach,u=(o.coordEach,i.polygon,i.featureCollection);function l(t){var e=new r(t);return e.insert=function(t){if("Feature"!==t.type)throw new Error("invalid feature");return t.bbox=t.bbox?t.bbox:a(t),r.prototype.insert.call(this,t)},e.load=function(t){var e=[];return Array.isArray(t)?t.forEach((function(t){if("Feature"!==t.type)throw new Error("invalid features");t.bbox=t.bbox?t.bbox:a(t),e.push(t);})):s(t,(function(t){if("Feature"!==t.type)throw new Error("invalid features");t.bbox=t.bbox?t.bbox:a(t),e.push(t);})),r.prototype.load.call(this,e)},e.remove=function(t,e){if("Feature"!==t.type)throw new Error("invalid feature");return t.bbox=t.bbox?t.bbox:a(t),r.prototype.remove.call(this,t,e)},e.clear=function(){return r.prototype.clear.call(this)},e.search=function(t){var e=r.prototype.search.call(this,this.toBBox(t));return u(e)},e.collides=function(t){return r.prototype.collides.call(this,this.toBBox(t))},e.all=function(){var t=r.prototype.all.call(this);return u(t)},e.toJSON=function(){return r.prototype.toJSON.call(this)},e.fromJSON=function(t){return r.prototype.fromJSON.call(this,t)},e.toBBox=function(t){var e;if(t.bbox)e=t.bbox;else if(Array.isArray(t)&&4===t.length)e=t;else if(Array.isArray(t)&&6===t.length)e=[t[0],t[1],t[3],t[4]];else if("Feature"===t.type)e=a(t);else {if("FeatureCollection"!==t.type)throw new Error("invalid geojson");e=a(t);}return {minX:e[0],minY:e[1],maxX:e[2],maxY:e[3]}},e}t.exports=l,t.exports.default=l;},645:(t,e)=>{e.read=function(t,e,n,r,i){var o,a,s=8*i-r-1,u=(1<>1,c=-7,h=n?i-1:0,f=n?-1:1,p=t[e+h];for(h+=f,o=p&(1<<-c)-1,p>>=-c,c+=s;c>0;o=256*o+t[e+h],h+=f,c-=8);for(a=o&(1<<-c)-1,o>>=-c,c+=r;c>0;a=256*a+t[e+h],h+=f,c-=8);if(0===o)o=1-l;else {if(o===u)return a?NaN:1/0*(p?-1:1);a+=Math.pow(2,r),o-=l;}return (p?-1:1)*a*Math.pow(2,o-r)},e.write=function(t,e,n,r,i,o){var a,s,u,l=8*o-i-1,c=(1<>1,f=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,p=r?0:o-1,d=r?1:-1,y=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(s=isNaN(e)?1:0,a=c):(a=Math.floor(Math.log(e)/Math.LN2),e*(u=Math.pow(2,-a))<1&&(a--,u*=2),(e+=a+h>=1?f/u:f*Math.pow(2,1-h))*u>=2&&(a++,u/=2),a+h>=c?(s=0,a=c):a+h>=1?(s=(e*u-1)*Math.pow(2,i),a+=h):(s=e*Math.pow(2,h-1)*Math.pow(2,i),a=0));i>=8;t[n+p]=255&s,p+=d,s/=256,i-=8);for(a=a<0;t[n+p]=255&a,p+=d,a/=256,l-=8);t[n+p-d]|=128*y;};},8849:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});const r=n(9126),i=Object.keys(r.typeHandlers),o={56:"psd",66:"bmp",68:"dds",71:"gif",73:"tiff",77:"tiff",82:"webp",105:"icns",137:"png",255:"jpg"};e.detector=function(t){const e=t[0];if(e in o){const n=o[e];if(r.typeHandlers[n].validate(t))return n}return i.find((e=>r.typeHandlers[e].validate(t)))};},9248:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});const r=n(8497);if(!("promises"in r)){class t{constructor(t){this.fd=t;}stat(){return new Promise(((t,e)=>{r.fstat(this.fd,((n,r)=>{n?e(n):t(r);}));}))}read(t,e,n,i){return new Promise(((o,a)=>{r.read(this.fd,t,e,n,i,(t=>{t?a(t):o();}));}))}close(){return new Promise(((t,e)=>{r.close(this.fd,(n=>{n?e(n):t();}));}))}}Object.defineProperty(r,"promises",{value:{open:(e,n)=>new Promise(((i,o)=>{r.open(e,n,((e,n)=>{e?o(e):i(new t(n));}));}))},writable:!1});}},7935:function(t,e,n){"use strict";var r=n(3085).lW,i=n(4155),o=this&&this.__awaiter||function(t,e,n,r){return new(n||(n=Promise))((function(i,o){function a(t){try{u(r.next(t));}catch(t){o(t);}}function s(t){try{u(r.throw(t));}catch(t){o(t);}}function u(t){var e;t.done?i(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e);}))).then(a,s);}u((r=r.apply(t,e||[])).next());}))};Object.defineProperty(e,"__esModule",{value:!0});const a=n(8497),s=n(3935),u=n(9189),l=n(9126),c=n(8849);n(9248);const h=524288,f=new u.default({concurrency:100,autostart:!0});function p(t,e){const n=c.detector(t);if(n&&n in l.typeHandlers){const r=l.typeHandlers[n].calculate(t,e);if(void 0!==r)return r.type=n,r}throw new TypeError("unsupported file type: "+n+" (file: "+e+")")}function d(t,e){if(r.isBuffer(t))return p(t);if("string"!=typeof t)throw new TypeError("invalid invocation");const n=s.resolve(t);if("function"!=typeof e){const t=function(t){const e=a.openSync(t,"r"),n=a.fstatSync(e).size,i=Math.min(n,h),o=r.alloc(i);return a.readSync(e,o,0,i,0),a.closeSync(e),o}(n);return p(t,n)}f.push((()=>function(t){return o(this,void 0,void 0,(function*(){const e=yield a.promises.open(t,"r"),{size:n}=yield e.stat();if(n<=0)throw new Error("Empty file");const i=Math.min(n,h),o=r.alloc(i);return yield e.read(o,0,i,0),yield e.close(),o}))}(n).then((t=>i.nextTick(e,null,p(t,n)))).catch(e)));}t.exports=e=d,e.imageSize=d,e.setConcurrency=t=>{f.concurrency=t;},e.types=Object.keys(l.typeHandlers);},8557:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.readUInt=function(t,e,n,r){return n=n||0,t["readUInt"+e+(r?"BE":"LE")].call(t,n)};},9126:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});const r=n(3645),i=n(3552),o=n(1680),a=n(1542),s=n(7163),u=n(7800),l=n(6625),c=n(1558),h=n(2229),f=n(4663),p=n(6221),d=n(7851),y=n(2602),m=n(8531),g=n(9948),_=n(5236);e.typeHandlers={bmp:r.BMP,cur:i.CUR,dds:o.DDS,gif:a.GIF,icns:s.ICNS,ico:u.ICO,j2c:l.J2C,jp2:c.JP2,jpg:h.JPG,ktx:f.KTX,png:p.PNG,pnm:d.PNM,psd:y.PSD,svg:m.SVG,tiff:g.TIFF,webp:_.WEBP};},3645:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.BMP={validate:t=>"BM"===t.toString("ascii",0,2),calculate:t=>({height:Math.abs(t.readInt32LE(22)),width:t.readUInt32LE(18)})};},3552:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});const r=n(7800);e.CUR={validate:t=>0===t.readUInt16LE(0)&&2===t.readUInt16LE(2),calculate:t=>r.ICO.calculate(t)};},1680:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.DDS={validate:t=>542327876===t.readUInt32LE(0),calculate:t=>({height:t.readUInt32LE(12),width:t.readUInt32LE(16)})};},1542:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});const n=/^GIF8[79]a/;e.GIF={validate(t){const e=t.toString("ascii",0,6);return n.test(e)},calculate:t=>({height:t.readUInt16LE(8),width:t.readUInt16LE(6)})};},7163:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});const n=4,r={ICON:32,"ICN#":32,"icm#":16,icm4:16,icm8:16,"ics#":16,ics4:16,ics8:16,is32:16,s8mk:16,icp4:16,icl4:32,icl8:32,il32:32,l8mk:32,icp5:32,ic11:32,ich4:48,ich8:48,ih32:48,h8mk:48,icp6:64,ic12:32,it32:128,t8mk:128,ic07:128,ic08:256,ic13:256,ic09:512,ic14:512,ic10:1024};function i(t,e){const r=e+n;return [t.toString("ascii",e,r),t.readUInt32BE(r)]}function o(t){const e=r[t];return {width:e,height:e,type:t}}e.ICNS={validate:t=>"icns"===t.toString("ascii",0,4),calculate(t){const e=t.length,n=t.readUInt32BE(4);let r=8,a=i(t,r),s=o(a[0]);if(r+=a[1],r===n)return s;const u={height:s.height,images:[s],width:s.width};for(;r{"use strict";Object.defineProperty(e,"__esModule",{value:!0});const n=6,r=16;function i(t,e){const n=t.readUInt8(e);return 0===n?256:n}function o(t,e){const o=n+e*r;return {height:i(t,o+1),width:i(t,o)}}e.ICO={validate:t=>0===t.readUInt16LE(0)&&1===t.readUInt16LE(2),calculate(t){const e=t.readUInt16LE(4),n=o(t,0);if(1===e)return n;const r=[n];for(let n=1;n{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.J2C={validate:t=>"ff4fff51"===t.toString("hex",0,4),calculate:t=>({height:t.readUInt32BE(12),width:t.readUInt32BE(8)})};},1558:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});const n=t=>({height:t.readUInt32BE(4),width:t.readUInt32BE(8)});e.JP2={validate(t){const e=t.toString("hex",4,8),n=t.readUInt32BE(0);if("6a502020"!==e||n<1)return !1;const r=n+4,i=t.readUInt32BE(n);return "66747970"===t.slice(r,r+i).toString("hex",0,4)},calculate(t){const e=t.readUInt32BE(0);let r=e+4+t.readUInt16BE(e+2);switch(t.toString("hex",r,r+4)){case "72726571":return r=r+4+4+(t=>{const e=t.readUInt8(0);let n=1+2*e;return n=n+2+t.readUInt16BE(n)*(2+e),n+2+t.readUInt16BE(n)*(16+e)})(t.slice(r+4)),n(t.slice(r+8,r+24));case "6a703268":return n(t.slice(r+8,r+24));default:throw new TypeError("Unsupported header found: "+t.toString("ascii",r,r+4))}}};},2229:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});const r=n(8557),i="45786966",o=2,a=6,s=2,u="4d4d",l="4949",c=12,h=2;function f(t){return t.toString("hex",2,6)===i}function p(t,e){return {height:t.readUInt16BE(e),width:t.readUInt16BE(e+2)}}function d(t,e){const n=t.slice(o,e),i=n.toString("hex",a,a+s),f=i===u;if(f||i===l)return function(t,e){const n=a+8,i=r.readUInt(t,16,n,e);for(let o=0;ot.length)return;const s=t.slice(i,a);if(274===r.readUInt(s,16,0,e)){if(3!==r.readUInt(s,16,2,e))return;if(1!==r.readUInt(s,32,4,e))return;return r.readUInt(s,16,8,e)}}}(n,f)}function y(t,e){if(e>t.length)throw new TypeError("Corrupt JPG, exceeded buffer limits");if(255!==t[e])throw new TypeError("Invalid JPG, marker table corrupted")}e.JPG={validate:t=>"ffd8"===t.toString("hex",0,2),calculate(t){let e,n;for(t=t.slice(4);t.length;){const r=t.readUInt16BE(0);if(f(t)&&(e=d(t,r)),y(t,r),n=t[r+1],192===n||193===n||194===n){const n=p(t,r+5);return e?{height:n.height,orientation:e,width:n.width}:n}t=t.slice(r+2);}throw new TypeError("Invalid JPG, no size found")}};},4663:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.KTX={validate:t=>"KTX 11"===t.toString("ascii",1,7),calculate:t=>({height:t.readUInt32LE(40),width:t.readUInt32LE(36)})};},6221:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});const n="CgBI";e.PNG={validate(t){if("PNG\r\n\n"===t.toString("ascii",1,8)){let e=t.toString("ascii",12,16);if(e===n&&(e=t.toString("ascii",28,32)),"IHDR"!==e)throw new TypeError("Invalid PNG");return !0}return !1},calculate:t=>t.toString("ascii",12,16)===n?{height:t.readUInt32BE(36),width:t.readUInt32BE(32)}:{height:t.readUInt32BE(20),width:t.readUInt32BE(16)}};},7851:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});const n={P1:"pbm/ascii",P2:"pgm/ascii",P3:"ppm/ascii",P4:"pbm",P5:"pgm",P6:"ppm",P7:"pam",PF:"pfm"},r=Object.keys(n),i={default:t=>{let e=[];for(;t.length>0;){const n=t.shift();if("#"!==n[0]){e=n.split(" ");break}}if(2===e.length)return {height:parseInt(e[1],10),width:parseInt(e[0],10)};throw new TypeError("Invalid PNM")},pam:t=>{const e={};for(;t.length>0;){const n=t.shift();if(n.length>16||n.charCodeAt(0)>128)continue;const[r,i]=n.split(" ");if(r&&i&&(e[r.toLowerCase()]=parseInt(i,10)),e.height&&e.width)break}if(e.height&&e.width)return {height:e.height,width:e.width};throw new TypeError("Invalid PAM")}};e.PNM={validate(t){const e=t.toString("ascii",0,2);return r.includes(e)},calculate(t){const e=t.toString("ascii",0,2),r=n[e],o=t.toString("ascii",3).split(/[\r\n]+/);return (i[r]||i.default)(o)}};},2602:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.PSD={validate:t=>"8BPS"===t.toString("ascii",0,4),calculate:t=>({height:t.readUInt32BE(14),width:t.readUInt32BE(18)})};},8531:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});const n=/"']|"[^"]*"|'[^']*')*>/,r={height:/\sheight=(['"])([^%]+?)\1/,root:n,viewbox:/\sviewBox=(['"])(.+?)\1/,width:/\swidth=(['"])([^%]+?)\1/},i=2.54,o={cm:96/i,em:16,ex:8,m:96/i*100,mm:96/i/10,pc:96/72/12,pt:96/72};function a(t){const e=/([0-9.]+)([a-z]*)/.exec(t);if(e)return Math.round(parseFloat(e[1])*(o[e[2]]||1))}function s(t){const e=t.split(" ");return {height:a(e[3]),width:a(e[2])}}e.SVG={validate(t){const e=String(t);return n.test(e)},calculate(t){const e=t.toString("utf8").match(r.root);if(e){const t=function(t){const e=t.match(r.width),n=t.match(r.height),i=t.match(r.viewbox);return {height:n&&a(n[2]),viewbox:i&&s(i[2]),width:e&&a(e[2])}}(e[0]);if(t.width&&t.height)return function(t){return {height:t.height,width:t.width}}(t);if(t.viewbox)return function(t,e){const n=e.width/e.height;return t.width?{height:Math.floor(t.width/n),width:t.width}:t.height?{height:t.height,width:Math.floor(t.height*n)}:{height:e.height,width:e.width}}(t,t.viewbox)}throw new TypeError("Invalid SVG")}};},9948:(t,e,n)=>{"use strict";var r=n(3085).lW;Object.defineProperty(e,"__esModule",{value:!0});const i=n(7990),o=n(8557);function a(t,e){const n=o.readUInt(t,16,8,e);return (o.readUInt(t,16,10,e)<<16)+n}function s(t){if(t.length>24)return t.slice(12)}const u=["49492a00","4d4d002a"];e.TIFF={validate:t=>u.includes(t.toString("hex",0,4)),calculate(t,e){if(!e)throw new TypeError("Tiff doesn't support buffer");const n="BE"===function(t){const e=t.toString("ascii",0,2);return "II"===e?"LE":"MM"===e?"BE":void 0}(t),u=function(t,e,n){const a=o.readUInt(t,32,4,n);let s=1024;const u=i.statSync(e).size;a+s>u&&(s=u-a-10);const l=r.alloc(s),c=i.openSync(e,"r");return i.readSync(c,l,0,s,a),l.slice(2)}(t,e,n),l=function(t,e){const n={};let r=t;for(;r&&r.length;){const t=o.readUInt(r,16,0,e),i=o.readUInt(r,16,2,e),u=o.readUInt(r,32,4,e);if(0===t)break;1!==u||3!==i&&4!==i||(n[t]=a(r,e)),r=s(r);}return n}(u,n),c=l[256],h=l[257];if(!c||!h)throw new TypeError("Invalid Tiff. Missing tags");return {height:h,width:c}}};},5236:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.WEBP={validate(t){const e="RIFF"===t.toString("ascii",0,4),n="WEBP"===t.toString("ascii",8,12),r="VP8"===t.toString("ascii",12,15);return e&&n&&r},calculate(t){const e=t.toString("ascii",12,16);if(t=t.slice(20,30),"VP8X"===e){const e=t[0];if(0==(192&e)&&0==(1&e))return function(t){return {height:1+t.readUIntLE(7,3),width:1+t.readUIntLE(4,3)}}(t);throw new TypeError("Invalid WebP")}if("VP8 "===e&&47!==t[0])return function(t){return {height:16383&t.readInt16LE(8),width:16383&t.readInt16LE(6)}}(t);const n=t.toString("hex",3,6);if("VP8L"===e&&"9d012a"!==n)return function(t){return {height:1+((15&t[4])<<10|t[3]<<2|(192&t[2])>>6),width:1+((63&t[2])<<8|t[1])}}(t);throw new TypeError("Invalid WebP")}};},5717:t=>{"function"==typeof Object.create?t.exports=function(t,e){e&&(t.super_=e,t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}));}:t.exports=function(t,e){if(e){t.super_=e;var n=function(){};n.prototype=e.prototype,t.prototype=new n,t.prototype.constructor=t;}};},8552:(t,e,n)=>{var r=n(852)(n(5639),"DataView");t.exports=r;},1989:(t,e,n)=>{var r=n(1789),i=n(401),o=n(7667),a=n(1327),s=n(1866);function u(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e{var r=n(7040),i=n(4125),o=n(2117),a=n(7518),s=n(4705);function u(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e{var r=n(852)(n(5639),"Map");t.exports=r;},3369:(t,e,n)=>{var r=n(4785),i=n(1285),o=n(6e3),a=n(9916),s=n(5265);function u(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e{var r=n(852)(n(5639),"Promise");t.exports=r;},8525:(t,e,n)=>{var r=n(852)(n(5639),"Set");t.exports=r;},8668:(t,e,n)=>{var r=n(3369),i=n(619),o=n(2385);function a(t){var e=-1,n=null==t?0:t.length;for(this.__data__=new r;++e{var r=n(8407),i=n(7465),o=n(3779),a=n(7599),s=n(4758),u=n(4309);function l(t){var e=this.__data__=new r(t);this.size=e.size;}l.prototype.clear=i,l.prototype.delete=o,l.prototype.get=a,l.prototype.has=s,l.prototype.set=u,t.exports=l;},2705:(t,e,n)=>{var r=n(5639).Symbol;t.exports=r;},1149:(t,e,n)=>{var r=n(5639).Uint8Array;t.exports=r;},577:(t,e,n)=>{var r=n(852)(n(5639),"WeakMap");t.exports=r;},4963:t=>{t.exports=function(t,e){for(var n=-1,r=null==t?0:t.length,i=0,o=[];++n{var r=n(2545),i=n(5694),o=n(1469),a=n(4144),s=n(5776),u=n(6719),l=Object.prototype.hasOwnProperty;t.exports=function(t,e){var n=o(t),c=!n&&i(t),h=!n&&!c&&a(t),f=!n&&!c&&!h&&u(t),p=n||c||h||f,d=p?r(t.length,String):[],y=d.length;for(var m in t)!e&&!l.call(t,m)||p&&("length"==m||h&&("offset"==m||"parent"==m)||f&&("buffer"==m||"byteLength"==m||"byteOffset"==m)||s(m,y))||d.push(m);return d};},9932:t=>{t.exports=function(t,e){for(var n=-1,r=null==t?0:t.length,i=Array(r);++n{t.exports=function(t,e){for(var n=-1,r=e.length,i=t.length;++n{t.exports=function(t,e){for(var n=-1,r=null==t?0:t.length;++n{var r=n(7813);t.exports=function(t,e){for(var n=t.length;n--;)if(r(t[n][0],e))return n;return -1};},8866:(t,e,n)=>{var r=n(2488),i=n(1469);t.exports=function(t,e,n){var o=e(t);return i(t)?o:r(o,n(t))};},4239:(t,e,n)=>{var r=n(2705),i=n(9607),o=n(2333),a=r?r.toStringTag:void 0;t.exports=function(t){return null==t?void 0===t?"[object Undefined]":"[object Null]":a&&a in Object(t)?i(t):o(t)};},9454:(t,e,n)=>{var r=n(4239),i=n(7005);t.exports=function(t){return i(t)&&"[object Arguments]"==r(t)};},939:(t,e,n)=>{var r=n(2492),i=n(7005);t.exports=function t(e,n,o,a,s){return e===n||(null==e||null==n||!i(e)&&!i(n)?e!=e&&n!=n:r(e,n,o,a,t,s))};},2492:(t,e,n)=>{var r=n(6384),i=n(7114),o=n(8351),a=n(6096),s=n(4160),u=n(1469),l=n(4144),c=n(6719),h="[object Arguments]",f="[object Array]",p="[object Object]",d=Object.prototype.hasOwnProperty;t.exports=function(t,e,n,y,m,g){var _=u(t),b=u(e),v=_?f:s(t),T=b?f:s(e),E=(v=v==h?p:v)==p,w=(T=T==h?p:T)==p,x=v==T;if(x&&l(t)){if(!l(e))return !1;_=!0,E=!1;}if(x&&!E)return g||(g=new r),_||c(t)?i(t,e,n,y,m,g):o(t,e,v,n,y,m,g);if(!(1&n)){var C=E&&d.call(t,"__wrapped__"),M=w&&d.call(e,"__wrapped__");if(C||M){var S=C?t.value():t,N=M?e.value():e;return g||(g=new r),m(S,N,n,y,g)}}return !!x&&(g||(g=new r),a(t,e,n,y,m,g))};},8458:(t,e,n)=>{var r=n(3560),i=n(5346),o=n(3218),a=n(346),s=/^\[object .+?Constructor\]$/,u=Function.prototype,l=Object.prototype,c=u.toString,h=l.hasOwnProperty,f=RegExp("^"+c.call(h).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");t.exports=function(t){return !(!o(t)||i(t))&&(r(t)?f:s).test(a(t))};},8749:(t,e,n)=>{var r=n(4239),i=n(1780),o=n(7005),a={};a["[object Float32Array]"]=a["[object Float64Array]"]=a["[object Int8Array]"]=a["[object Int16Array]"]=a["[object Int32Array]"]=a["[object Uint8Array]"]=a["[object Uint8ClampedArray]"]=a["[object Uint16Array]"]=a["[object Uint32Array]"]=!0,a["[object Arguments]"]=a["[object Array]"]=a["[object ArrayBuffer]"]=a["[object Boolean]"]=a["[object DataView]"]=a["[object Date]"]=a["[object Error]"]=a["[object Function]"]=a["[object Map]"]=a["[object Number]"]=a["[object Object]"]=a["[object RegExp]"]=a["[object Set]"]=a["[object String]"]=a["[object WeakMap]"]=!1,t.exports=function(t){return o(t)&&i(t.length)&&!!a[r(t)]};},280:(t,e,n)=>{var r=n(5726),i=n(6916),o=Object.prototype.hasOwnProperty;t.exports=function(t){if(!r(t))return i(t);var e=[];for(var n in Object(t))o.call(t,n)&&"constructor"!=n&&e.push(n);return e};},4949:(t,e,n)=>{var r=n(7226),i=n(6557),o=n(3448);t.exports=function(t,e,n){var a=0,s=null==t?a:t.length;if("number"==typeof e&&e==e&&s<=2147483647){for(;a>>1,l=t[u];null!==l&&!o(l)&&(n?l<=e:l{var r=n(3448),i=Math.floor,o=Math.min;t.exports=function(t,e,n,a){var s=0,u=null==t?0:t.length;if(0===u)return 0;for(var l=(e=n(e))!=e,c=null===e,h=r(e),f=void 0===e;s{t.exports=function(t,e){for(var n=-1,r=Array(t);++n{t.exports=function(t){return function(e){return t(e)}};},7415:(t,e,n)=>{var r=n(9932);t.exports=function(t,e){return r(e,(function(e){return t[e]}))};},4757:t=>{t.exports=function(t,e){return t.has(e)};},4429:(t,e,n)=>{var r=n(5639)["__core-js_shared__"];t.exports=r;},7114:(t,e,n)=>{var r=n(8668),i=n(2908),o=n(4757);t.exports=function(t,e,n,a,s,u){var l=1&n,c=t.length,h=e.length;if(c!=h&&!(l&&h>c))return !1;var f=u.get(t),p=u.get(e);if(f&&p)return f==e&&p==t;var d=-1,y=!0,m=2&n?new r:void 0;for(u.set(t,e),u.set(e,t);++d{var r=n(2705),i=n(1149),o=n(7813),a=n(7114),s=n(8776),u=n(1814),l=r?r.prototype:void 0,c=l?l.valueOf:void 0;t.exports=function(t,e,n,r,l,h,f){switch(n){case "[object DataView]":if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return !1;t=t.buffer,e=e.buffer;case "[object ArrayBuffer]":return !(t.byteLength!=e.byteLength||!h(new i(t),new i(e)));case "[object Boolean]":case "[object Date]":case "[object Number]":return o(+t,+e);case "[object Error]":return t.name==e.name&&t.message==e.message;case "[object RegExp]":case "[object String]":return t==e+"";case "[object Map]":var p=s;case "[object Set]":var d=1&r;if(p||(p=u),t.size!=e.size&&!d)return !1;var y=f.get(t);if(y)return y==e;r|=2,f.set(t,e);var m=a(p(t),p(e),r,l,h,f);return f.delete(t),m;case "[object Symbol]":if(c)return c.call(t)==c.call(e)}return !1};},6096:(t,e,n)=>{var r=n(8234),i=Object.prototype.hasOwnProperty;t.exports=function(t,e,n,o,a,s){var u=1&n,l=r(t),c=l.length;if(c!=r(e).length&&!u)return !1;for(var h=c;h--;){var f=l[h];if(!(u?f in e:i.call(e,f)))return !1}var p=s.get(t),d=s.get(e);if(p&&d)return p==e&&d==t;var y=!0;s.set(t,e),s.set(e,t);for(var m=u;++h{var r="object"==typeof n.g&&n.g&&n.g.Object===Object&&n.g;t.exports=r;},8234:(t,e,n)=>{var r=n(8866),i=n(9551),o=n(3674);t.exports=function(t){return r(t,o,i)};},5050:(t,e,n)=>{var r=n(7019);t.exports=function(t,e){var n=t.__data__;return r(e)?n["string"==typeof e?"string":"hash"]:n.map};},852:(t,e,n)=>{var r=n(8458),i=n(7801);t.exports=function(t,e){var n=i(t,e);return r(n)?n:void 0};},9607:(t,e,n)=>{var r=n(2705),i=Object.prototype,o=i.hasOwnProperty,a=i.toString,s=r?r.toStringTag:void 0;t.exports=function(t){var e=o.call(t,s),n=t[s];try{t[s]=void 0;var r=!0;}catch(t){}var i=a.call(t);return r&&(e?t[s]=n:delete t[s]),i};},9551:(t,e,n)=>{var r=n(4963),i=n(479),o=Object.prototype.propertyIsEnumerable,a=Object.getOwnPropertySymbols,s=a?function(t){return null==t?[]:(t=Object(t),r(a(t),(function(e){return o.call(t,e)})))}:i;t.exports=s;},4160:(t,e,n)=>{var r=n(8552),i=n(7071),o=n(3818),a=n(8525),s=n(577),u=n(4239),l=n(346),c="[object Map]",h="[object Promise]",f="[object Set]",p="[object WeakMap]",d="[object DataView]",y=l(r),m=l(i),g=l(o),_=l(a),b=l(s),v=u;(r&&v(new r(new ArrayBuffer(1)))!=d||i&&v(new i)!=c||o&&v(o.resolve())!=h||a&&v(new a)!=f||s&&v(new s)!=p)&&(v=function(t){var e=u(t),n="[object Object]"==e?t.constructor:void 0,r=n?l(n):"";if(r)switch(r){case y:return d;case m:return c;case g:return h;case _:return f;case b:return p}return e}),t.exports=v;},7801:t=>{t.exports=function(t,e){return null==t?void 0:t[e]};},1789:(t,e,n)=>{var r=n(4536);t.exports=function(){this.__data__=r?r(null):{},this.size=0;};},401:t=>{t.exports=function(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e};},7667:(t,e,n)=>{var r=n(4536),i=Object.prototype.hasOwnProperty;t.exports=function(t){var e=this.__data__;if(r){var n=e[t];return "__lodash_hash_undefined__"===n?void 0:n}return i.call(e,t)?e[t]:void 0};},1327:(t,e,n)=>{var r=n(4536),i=Object.prototype.hasOwnProperty;t.exports=function(t){var e=this.__data__;return r?void 0!==e[t]:i.call(e,t)};},1866:(t,e,n)=>{var r=n(4536);t.exports=function(t,e){var n=this.__data__;return this.size+=this.has(t)?0:1,n[t]=r&&void 0===e?"__lodash_hash_undefined__":e,this};},5776:t=>{var e=/^(?:0|[1-9]\d*)$/;t.exports=function(t,n){var r=typeof t;return !!(n=null==n?9007199254740991:n)&&("number"==r||"symbol"!=r&&e.test(t))&&t>-1&&t%1==0&&t{t.exports=function(t){var e=typeof t;return "string"==e||"number"==e||"symbol"==e||"boolean"==e?"__proto__"!==t:null===t};},5346:(t,e,n)=>{var r,i=n(4429),o=(r=/[^.]+$/.exec(i&&i.keys&&i.keys.IE_PROTO||""))?"Symbol(src)_1."+r:"";t.exports=function(t){return !!o&&o in t};},5726:t=>{var e=Object.prototype;t.exports=function(t){var n=t&&t.constructor;return t===("function"==typeof n&&n.prototype||e)};},7040:t=>{t.exports=function(){this.__data__=[],this.size=0;};},4125:(t,e,n)=>{var r=n(8470),i=Array.prototype.splice;t.exports=function(t){var e=this.__data__,n=r(e,t);return !(n<0||(n==e.length-1?e.pop():i.call(e,n,1),--this.size,0))};},2117:(t,e,n)=>{var r=n(8470);t.exports=function(t){var e=this.__data__,n=r(e,t);return n<0?void 0:e[n][1]};},7518:(t,e,n)=>{var r=n(8470);t.exports=function(t){return r(this.__data__,t)>-1};},4705:(t,e,n)=>{var r=n(8470);t.exports=function(t,e){var n=this.__data__,i=r(n,t);return i<0?(++this.size,n.push([t,e])):n[i][1]=e,this};},4785:(t,e,n)=>{var r=n(1989),i=n(8407),o=n(7071);t.exports=function(){this.size=0,this.__data__={hash:new r,map:new(o||i),string:new r};};},1285:(t,e,n)=>{var r=n(5050);t.exports=function(t){var e=r(this,t).delete(t);return this.size-=e?1:0,e};},6e3:(t,e,n)=>{var r=n(5050);t.exports=function(t){return r(this,t).get(t)};},9916:(t,e,n)=>{var r=n(5050);t.exports=function(t){return r(this,t).has(t)};},5265:(t,e,n)=>{var r=n(5050);t.exports=function(t,e){var n=r(this,t),i=n.size;return n.set(t,e),this.size+=n.size==i?0:1,this};},8776:t=>{t.exports=function(t){var e=-1,n=Array(t.size);return t.forEach((function(t,r){n[++e]=[r,t];})),n};},4536:(t,e,n)=>{var r=n(852)(Object,"create");t.exports=r;},6916:(t,e,n)=>{var r=n(5569)(Object.keys,Object);t.exports=r;},1167:(t,e,n)=>{t=n.nmd(t);var r=n(1957),i=e&&!e.nodeType&&e,o=i&&t&&!t.nodeType&&t,a=o&&o.exports===i&&r.process,s=function(){try{return o&&o.require&&o.require("util").types||a&&a.binding&&a.binding("util")}catch(t){}}();t.exports=s;},2333:t=>{var e=Object.prototype.toString;t.exports=function(t){return e.call(t)};},5569:t=>{t.exports=function(t,e){return function(n){return t(e(n))}};},5639:(t,e,n)=>{var r=n(1957),i="object"==typeof self&&self&&self.Object===Object&&self,o=r||i||Function("return this")();t.exports=o;},619:t=>{t.exports=function(t){return this.__data__.set(t,"__lodash_hash_undefined__"),this};},2385:t=>{t.exports=function(t){return this.__data__.has(t)};},1814:t=>{t.exports=function(t){var e=-1,n=Array(t.size);return t.forEach((function(t){n[++e]=t;})),n};},7465:(t,e,n)=>{var r=n(8407);t.exports=function(){this.__data__=new r,this.size=0;};},3779:t=>{t.exports=function(t){var e=this.__data__,n=e.delete(t);return this.size=e.size,n};},7599:t=>{t.exports=function(t){return this.__data__.get(t)};},4758:t=>{t.exports=function(t){return this.__data__.has(t)};},4309:(t,e,n)=>{var r=n(8407),i=n(7071),o=n(3369);t.exports=function(t,e){var n=this.__data__;if(n instanceof r){var a=n.__data__;if(!i||a.length<199)return a.push([t,e]),this.size=++n.size,this;n=this.__data__=new o(a);}return n.set(t,e),this.size=n.size,this};},346:t=>{var e=Function.prototype.toString;t.exports=function(t){if(null!=t){try{return e.call(t)}catch(t){}try{return t+""}catch(t){}}return ""};},7813:t=>{t.exports=function(t,e){return t===e||t!=t&&e!=e};},6557:t=>{t.exports=function(t){return t};},5694:(t,e,n)=>{var r=n(9454),i=n(7005),o=Object.prototype,a=o.hasOwnProperty,s=o.propertyIsEnumerable,u=r(function(){return arguments}())?r:function(t){return i(t)&&a.call(t,"callee")&&!s.call(t,"callee")};t.exports=u;},1469:t=>{var e=Array.isArray;t.exports=e;},8612:(t,e,n)=>{var r=n(3560),i=n(1780);t.exports=function(t){return null!=t&&i(t.length)&&!r(t)};},4144:(t,e,n)=>{t=n.nmd(t);var r=n(5639),i=n(5062),o=e&&!e.nodeType&&e,a=o&&t&&!t.nodeType&&t,s=a&&a.exports===o?r.Buffer:void 0,u=(s?s.isBuffer:void 0)||i;t.exports=u;},8446:(t,e,n)=>{var r=n(939);t.exports=function(t,e){return r(t,e)};},3560:(t,e,n)=>{var r=n(4239),i=n(3218);t.exports=function(t){if(!i(t))return !1;var e=r(t);return "[object Function]"==e||"[object GeneratorFunction]"==e||"[object AsyncFunction]"==e||"[object Proxy]"==e};},1780:t=>{t.exports=function(t){return "number"==typeof t&&t>-1&&t%1==0&&t<=9007199254740991};},4293:t=>{t.exports=function(t){return null==t};},3218:t=>{t.exports=function(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)};},7005:t=>{t.exports=function(t){return null!=t&&"object"==typeof t};},3448:(t,e,n)=>{var r=n(4239),i=n(7005);t.exports=function(t){return "symbol"==typeof t||i(t)&&"[object Symbol]"==r(t)};},6719:(t,e,n)=>{var r=n(8749),i=n(1717),o=n(1167),a=o&&o.isTypedArray,s=a?i(a):r;t.exports=s;},3674:(t,e,n)=>{var r=n(4636),i=n(280),o=n(8612);t.exports=function(t){return o(t)?r(t):i(t)};},1159:(t,e,n)=>{var r=n(4949);t.exports=function(t,e){return r(t,e)};},5871:(t,e,n)=>{var r=n(4949),i=n(7813);t.exports=function(t,e){var n=null==t?0:t.length;if(n){var o=r(t,e);if(o{t.exports=function(){return []};},5062:t=>{t.exports=function(){return !1};},2628:(t,e,n)=>{var r=n(7415),i=n(3674);t.exports=function(t){return null==t?[]:r(t,i(t))};},3085:(t,e,n)=>{"use strict";var r=n(5108);const i=n(9742),o=n(645),a="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;e.lW=l,e.h2=50;const s=2147483647;function u(t){if(t>s)throw new RangeError('The value "'+t+'" is invalid for option "size"');const e=new Uint8Array(t);return Object.setPrototypeOf(e,l.prototype),e}function l(t,e,n){if("number"==typeof t){if("string"==typeof e)throw new TypeError('The "string" argument must be of type string. Received type number');return f(t)}return c(t,e,n)}function c(t,e,n){if("string"==typeof t)return function(t,e){if("string"==typeof e&&""!==e||(e="utf8"),!l.isEncoding(e))throw new TypeError("Unknown encoding: "+e);const n=0|m(t,e);let r=u(n);const i=r.write(t,e);return i!==n&&(r=r.slice(0,i)),r}(t,e);if(ArrayBuffer.isView(t))return function(t){if(Q(t,Uint8Array)){const e=new Uint8Array(t);return d(e.buffer,e.byteOffset,e.byteLength)}return p(t)}(t);if(null==t)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t);if(Q(t,ArrayBuffer)||t&&Q(t.buffer,ArrayBuffer))return d(t,e,n);if("undefined"!=typeof SharedArrayBuffer&&(Q(t,SharedArrayBuffer)||t&&Q(t.buffer,SharedArrayBuffer)))return d(t,e,n);if("number"==typeof t)throw new TypeError('The "value" argument must not be of type number. Received type number');const r=t.valueOf&&t.valueOf();if(null!=r&&r!==t)return l.from(r,e,n);const i=function(t){if(l.isBuffer(t)){const e=0|y(t.length),n=u(e);return 0===n.length||t.copy(n,0,0,e),n}return void 0!==t.length?"number"!=typeof t.length||K(t.length)?u(0):p(t):"Buffer"===t.type&&Array.isArray(t.data)?p(t.data):void 0}(t);if(i)return i;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof t[Symbol.toPrimitive])return l.from(t[Symbol.toPrimitive]("string"),e,n);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t)}function h(t){if("number"!=typeof t)throw new TypeError('"size" argument must be of type number');if(t<0)throw new RangeError('The value "'+t+'" is invalid for option "size"')}function f(t){return h(t),u(t<0?0:0|y(t))}function p(t){const e=t.length<0?0:0|y(t.length),n=u(e);for(let r=0;r=s)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+s.toString(16)+" bytes");return 0|t}function m(t,e){if(l.isBuffer(t))return t.length;if(ArrayBuffer.isView(t)||Q(t,ArrayBuffer))return t.byteLength;if("string"!=typeof t)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof t);const n=t.length,r=arguments.length>2&&!0===arguments[2];if(!r&&0===n)return 0;let i=!1;for(;;)switch(e){case "ascii":case "latin1":case "binary":return n;case "utf8":case "utf-8":return X(t).length;case "ucs2":case "ucs-2":case "utf16le":case "utf-16le":return 2*n;case "hex":return n>>>1;case "base64":return Y(t).length;default:if(i)return r?-1:X(t).length;e=(""+e).toLowerCase(),i=!0;}}function g(t,e,n){let r=!1;if((void 0===e||e<0)&&(e=0),e>this.length)return "";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return "";if((n>>>=0)<=(e>>>=0))return "";for(t||(t="utf8");;)switch(t){case "hex":return I(this,e,n);case "utf8":case "utf-8":return S(this,e,n);case "ascii":return O(this,e,n);case "latin1":case "binary":return A(this,e,n);case "base64":return M(this,e,n);case "ucs2":case "ucs-2":case "utf16le":case "utf-16le":return P(this,e,n);default:if(r)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),r=!0;}}function _(t,e,n){const r=t[e];t[e]=t[n],t[n]=r;}function b(t,e,n,r,i){if(0===t.length)return -1;if("string"==typeof n?(r=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),K(n=+n)&&(n=i?0:t.length-1),n<0&&(n=t.length+n),n>=t.length){if(i)return -1;n=t.length-1;}else if(n<0){if(!i)return -1;n=0;}if("string"==typeof e&&(e=l.from(e,r)),l.isBuffer(e))return 0===e.length?-1:v(t,e,n,r,i);if("number"==typeof e)return e&=255,"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(t,e,n):Uint8Array.prototype.lastIndexOf.call(t,e,n):v(t,[e],n,r,i);throw new TypeError("val must be string, number or Buffer")}function v(t,e,n,r,i){let o,a=1,s=t.length,u=e.length;if(void 0!==r&&("ucs2"===(r=String(r).toLowerCase())||"ucs-2"===r||"utf16le"===r||"utf-16le"===r)){if(t.length<2||e.length<2)return -1;a=2,s/=2,u/=2,n/=2;}function l(t,e){return 1===a?t[e]:t.readUInt16BE(e*a)}if(i){let r=-1;for(o=n;os&&(n=s-u),o=n;o>=0;o--){let n=!0;for(let r=0;ri&&(r=i):r=i;const o=e.length;let a;for(r>o/2&&(r=o/2),a=0;a>8,i=n%256,o.push(i),o.push(r);return o}(e,t.length-n),t,n,r)}function M(t,e,n){return 0===e&&n===t.length?i.fromByteArray(t):i.fromByteArray(t.slice(e,n))}function S(t,e,n){n=Math.min(t.length,n);const r=[];let i=e;for(;i239?4:e>223?3:e>191?2:1;if(i+a<=n){let n,r,s,u;switch(a){case 1:e<128&&(o=e);break;case 2:n=t[i+1],128==(192&n)&&(u=(31&e)<<6|63&n,u>127&&(o=u));break;case 3:n=t[i+1],r=t[i+2],128==(192&n)&&128==(192&r)&&(u=(15&e)<<12|(63&n)<<6|63&r,u>2047&&(u<55296||u>57343)&&(o=u));break;case 4:n=t[i+1],r=t[i+2],s=t[i+3],128==(192&n)&&128==(192&r)&&128==(192&s)&&(u=(15&e)<<18|(63&n)<<12|(63&r)<<6|63&s,u>65535&&u<1114112&&(o=u));}}null===o?(o=65533,a=1):o>65535&&(o-=65536,r.push(o>>>10&1023|55296),o=56320|1023&o),r.push(o),i+=a;}return function(t){const e=t.length;if(e<=N)return String.fromCharCode.apply(String,t);let n="",r=0;for(;rr.length?(l.isBuffer(e)||(e=l.from(e)),e.copy(r,i)):Uint8Array.prototype.set.call(r,e,i);else {if(!l.isBuffer(e))throw new TypeError('"list" argument must be an Array of Buffers');e.copy(r,i);}i+=e.length;}return r},l.byteLength=m,l.prototype._isBuffer=!0,l.prototype.swap16=function(){const t=this.length;if(t%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let e=0;en&&(t+=" ... "),""},a&&(l.prototype[a]=l.prototype.inspect),l.prototype.compare=function(t,e,n,r,i){if(Q(t,Uint8Array)&&(t=l.from(t,t.offset,t.byteLength)),!l.isBuffer(t))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof t);if(void 0===e&&(e=0),void 0===n&&(n=t?t.length:0),void 0===r&&(r=0),void 0===i&&(i=this.length),e<0||n>t.length||r<0||i>this.length)throw new RangeError("out of range index");if(r>=i&&e>=n)return 0;if(r>=i)return -1;if(e>=n)return 1;if(this===t)return 0;let o=(i>>>=0)-(r>>>=0),a=(n>>>=0)-(e>>>=0);const s=Math.min(o,a),u=this.slice(r,i),c=t.slice(e,n);for(let t=0;t>>=0,isFinite(n)?(n>>>=0,void 0===r&&(r="utf8")):(r=n,n=void 0);}const i=this.length-e;if((void 0===n||n>i)&&(n=i),t.length>0&&(n<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");r||(r="utf8");let o=!1;for(;;)switch(r){case "hex":return T(this,t,e,n);case "utf8":case "utf-8":return E(this,t,e,n);case "ascii":case "latin1":case "binary":return w(this,t,e,n);case "base64":return x(this,t,e,n);case "ucs2":case "ucs-2":case "utf16le":case "utf-16le":return C(this,t,e,n);default:if(o)throw new TypeError("Unknown encoding: "+r);r=(""+r).toLowerCase(),o=!0;}},l.prototype.toJSON=function(){return {type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};const N=4096;function O(t,e,n){let r="";n=Math.min(t.length,n);for(let i=e;ir)&&(n=r);let i="";for(let r=e;rn)throw new RangeError("Trying to access beyond buffer length")}function L(t,e,n,r,i,o){if(!l.isBuffer(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>i||et.length)throw new RangeError("Index out of range")}function D(t,e,n,r,i){q(e,r,i,t,n,7);let o=Number(e&BigInt(4294967295));t[n++]=o,o>>=8,t[n++]=o,o>>=8,t[n++]=o,o>>=8,t[n++]=o;let a=Number(e>>BigInt(32)&BigInt(4294967295));return t[n++]=a,a>>=8,t[n++]=a,a>>=8,t[n++]=a,a>>=8,t[n++]=a,n}function k(t,e,n,r,i){q(e,r,i,t,n,7);let o=Number(e&BigInt(4294967295));t[n+7]=o,o>>=8,t[n+6]=o,o>>=8,t[n+5]=o,o>>=8,t[n+4]=o;let a=Number(e>>BigInt(32)&BigInt(4294967295));return t[n+3]=a,a>>=8,t[n+2]=a,a>>=8,t[n+1]=a,a>>=8,t[n]=a,n+8}function F(t,e,n,r,i,o){if(n+r>t.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("Index out of range")}function U(t,e,n,r,i){return e=+e,n>>>=0,i||F(t,0,n,4),o.write(t,e,n,r,23,4),n+4}function B(t,e,n,r,i){return e=+e,n>>>=0,i||F(t,0,n,8),o.write(t,e,n,r,52,8),n+8}l.prototype.slice=function(t,e){const n=this.length;(t=~~t)<0?(t+=n)<0&&(t=0):t>n&&(t=n),(e=void 0===e?n:~~e)<0?(e+=n)<0&&(e=0):e>n&&(e=n),e>>=0,e>>>=0,n||R(t,e,this.length);let r=this[t],i=1,o=0;for(;++o>>=0,e>>>=0,n||R(t,e,this.length);let r=this[t+--e],i=1;for(;e>0&&(i*=256);)r+=this[t+--e]*i;return r},l.prototype.readUint8=l.prototype.readUInt8=function(t,e){return t>>>=0,e||R(t,1,this.length),this[t]},l.prototype.readUint16LE=l.prototype.readUInt16LE=function(t,e){return t>>>=0,e||R(t,2,this.length),this[t]|this[t+1]<<8},l.prototype.readUint16BE=l.prototype.readUInt16BE=function(t,e){return t>>>=0,e||R(t,2,this.length),this[t]<<8|this[t+1]},l.prototype.readUint32LE=l.prototype.readUInt32LE=function(t,e){return t>>>=0,e||R(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},l.prototype.readUint32BE=l.prototype.readUInt32BE=function(t,e){return t>>>=0,e||R(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},l.prototype.readBigUInt64LE=$((function(t){H(t>>>=0,"offset");const e=this[t],n=this[t+7];void 0!==e&&void 0!==n||z(t,this.length-8);const r=e+256*this[++t]+65536*this[++t]+this[++t]*2**24,i=this[++t]+256*this[++t]+65536*this[++t]+n*2**24;return BigInt(r)+(BigInt(i)<>>=0,"offset");const e=this[t],n=this[t+7];void 0!==e&&void 0!==n||z(t,this.length-8);const r=e*2**24+65536*this[++t]+256*this[++t]+this[++t],i=this[++t]*2**24+65536*this[++t]+256*this[++t]+n;return (BigInt(r)<>>=0,e>>>=0,n||R(t,e,this.length);let r=this[t],i=1,o=0;for(;++o=i&&(r-=Math.pow(2,8*e)),r},l.prototype.readIntBE=function(t,e,n){t>>>=0,e>>>=0,n||R(t,e,this.length);let r=e,i=1,o=this[t+--r];for(;r>0&&(i*=256);)o+=this[t+--r]*i;return i*=128,o>=i&&(o-=Math.pow(2,8*e)),o},l.prototype.readInt8=function(t,e){return t>>>=0,e||R(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},l.prototype.readInt16LE=function(t,e){t>>>=0,e||R(t,2,this.length);const n=this[t]|this[t+1]<<8;return 32768&n?4294901760|n:n},l.prototype.readInt16BE=function(t,e){t>>>=0,e||R(t,2,this.length);const n=this[t+1]|this[t]<<8;return 32768&n?4294901760|n:n},l.prototype.readInt32LE=function(t,e){return t>>>=0,e||R(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},l.prototype.readInt32BE=function(t,e){return t>>>=0,e||R(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},l.prototype.readBigInt64LE=$((function(t){H(t>>>=0,"offset");const e=this[t],n=this[t+7];void 0!==e&&void 0!==n||z(t,this.length-8);const r=this[t+4]+256*this[t+5]+65536*this[t+6]+(n<<24);return (BigInt(r)<>>=0,"offset");const e=this[t],n=this[t+7];void 0!==e&&void 0!==n||z(t,this.length-8);const r=(e<<24)+65536*this[++t]+256*this[++t]+this[++t];return (BigInt(r)<>>=0,e||R(t,4,this.length),o.read(this,t,!0,23,4)},l.prototype.readFloatBE=function(t,e){return t>>>=0,e||R(t,4,this.length),o.read(this,t,!1,23,4)},l.prototype.readDoubleLE=function(t,e){return t>>>=0,e||R(t,8,this.length),o.read(this,t,!0,52,8)},l.prototype.readDoubleBE=function(t,e){return t>>>=0,e||R(t,8,this.length),o.read(this,t,!1,52,8)},l.prototype.writeUintLE=l.prototype.writeUIntLE=function(t,e,n,r){t=+t,e>>>=0,n>>>=0,r||L(this,t,e,n,Math.pow(2,8*n)-1,0);let i=1,o=0;for(this[e]=255&t;++o>>=0,n>>>=0,r||L(this,t,e,n,Math.pow(2,8*n)-1,0);let i=n-1,o=1;for(this[e+i]=255&t;--i>=0&&(o*=256);)this[e+i]=t/o&255;return e+n},l.prototype.writeUint8=l.prototype.writeUInt8=function(t,e,n){return t=+t,e>>>=0,n||L(this,t,e,1,255,0),this[e]=255&t,e+1},l.prototype.writeUint16LE=l.prototype.writeUInt16LE=function(t,e,n){return t=+t,e>>>=0,n||L(this,t,e,2,65535,0),this[e]=255&t,this[e+1]=t>>>8,e+2},l.prototype.writeUint16BE=l.prototype.writeUInt16BE=function(t,e,n){return t=+t,e>>>=0,n||L(this,t,e,2,65535,0),this[e]=t>>>8,this[e+1]=255&t,e+2},l.prototype.writeUint32LE=l.prototype.writeUInt32LE=function(t,e,n){return t=+t,e>>>=0,n||L(this,t,e,4,4294967295,0),this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t,e+4},l.prototype.writeUint32BE=l.prototype.writeUInt32BE=function(t,e,n){return t=+t,e>>>=0,n||L(this,t,e,4,4294967295,0),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},l.prototype.writeBigUInt64LE=$((function(t,e=0){return D(this,t,e,BigInt(0),BigInt("0xffffffffffffffff"))})),l.prototype.writeBigUInt64BE=$((function(t,e=0){return k(this,t,e,BigInt(0),BigInt("0xffffffffffffffff"))})),l.prototype.writeIntLE=function(t,e,n,r){if(t=+t,e>>>=0,!r){const r=Math.pow(2,8*n-1);L(this,t,e,n,r-1,-r);}let i=0,o=1,a=0;for(this[e]=255&t;++i>0)-a&255;return e+n},l.prototype.writeIntBE=function(t,e,n,r){if(t=+t,e>>>=0,!r){const r=Math.pow(2,8*n-1);L(this,t,e,n,r-1,-r);}let i=n-1,o=1,a=0;for(this[e+i]=255&t;--i>=0&&(o*=256);)t<0&&0===a&&0!==this[e+i+1]&&(a=1),this[e+i]=(t/o>>0)-a&255;return e+n},l.prototype.writeInt8=function(t,e,n){return t=+t,e>>>=0,n||L(this,t,e,1,127,-128),t<0&&(t=255+t+1),this[e]=255&t,e+1},l.prototype.writeInt16LE=function(t,e,n){return t=+t,e>>>=0,n||L(this,t,e,2,32767,-32768),this[e]=255&t,this[e+1]=t>>>8,e+2},l.prototype.writeInt16BE=function(t,e,n){return t=+t,e>>>=0,n||L(this,t,e,2,32767,-32768),this[e]=t>>>8,this[e+1]=255&t,e+2},l.prototype.writeInt32LE=function(t,e,n){return t=+t,e>>>=0,n||L(this,t,e,4,2147483647,-2147483648),this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24,e+4},l.prototype.writeInt32BE=function(t,e,n){return t=+t,e>>>=0,n||L(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},l.prototype.writeBigInt64LE=$((function(t,e=0){return D(this,t,e,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),l.prototype.writeBigInt64BE=$((function(t,e=0){return k(this,t,e,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),l.prototype.writeFloatLE=function(t,e,n){return U(this,t,e,!0,n)},l.prototype.writeFloatBE=function(t,e,n){return U(this,t,e,!1,n)},l.prototype.writeDoubleLE=function(t,e,n){return B(this,t,e,!0,n)},l.prototype.writeDoubleBE=function(t,e,n){return B(this,t,e,!1,n)},l.prototype.copy=function(t,e,n,r){if(!l.isBuffer(t))throw new TypeError("argument should be a Buffer");if(n||(n=0),r||0===r||(r=this.length),e>=t.length&&(e=t.length),e||(e=0),r>0&&r=this.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("sourceEnd out of bounds");r>this.length&&(r=this.length),t.length-e>>=0,n=void 0===n?this.length:n>>>0,t||(t=0),"number"==typeof t)for(i=e;i=r+4;n-=3)e=`_${t.slice(n-3,n)}${e}`;return `${t.slice(0,n)}${e}`}function q(t,e,n,r,i,o){if(t>n||t3?0===e||e===BigInt(0)?`>= 0${r} and < 2${r} ** ${8*(o+1)}${r}`:`>= -(2${r} ** ${8*(o+1)-1}${r}) and < 2 ** ${8*(o+1)-1}${r}`:`>= ${e}${r} and <= ${n}${r}`,new j.ERR_OUT_OF_RANGE("value",i,t)}!function(t,e,n){H(e,"offset"),void 0!==t[e]&&void 0!==t[e+n]||z(e,t.length-(n+1));}(r,i,o);}function H(t,e){if("number"!=typeof t)throw new j.ERR_INVALID_ARG_TYPE(e,"number",t)}function z(t,e,n){if(Math.floor(t)!==t)throw H(t,n),new j.ERR_OUT_OF_RANGE(n||"offset","an integer",t);if(e<0)throw new j.ERR_BUFFER_OUT_OF_BOUNDS;throw new j.ERR_OUT_OF_RANGE(n||"offset",`>= ${n?1:0} and <= ${e}`,t)}G("ERR_BUFFER_OUT_OF_BOUNDS",(function(t){return t?`${t} is outside of buffer bounds`:"Attempt to access memory outside buffer bounds"}),RangeError),G("ERR_INVALID_ARG_TYPE",(function(t,e){return `The "${t}" argument must be of type number. Received type ${typeof e}`}),TypeError),G("ERR_OUT_OF_RANGE",(function(t,e,n){let r=`The value of "${t}" is out of range.`,i=n;return Number.isInteger(n)&&Math.abs(n)>2**32?i=W(String(n)):"bigint"==typeof n&&(i=String(n),(n>BigInt(2)**BigInt(32)||n<-(BigInt(2)**BigInt(32)))&&(i=W(i)),i+="n"),r+=` It must be ${e}. Received ${i}`,r}),RangeError);const V=/[^+/0-9A-Za-z-_]/g;function X(t,e){let n;e=e||1/0;const r=t.length;let i=null;const o=[];for(let a=0;a55295&&n<57344){if(!i){if(n>56319){(e-=3)>-1&&o.push(239,191,189);continue}if(a+1===r){(e-=3)>-1&&o.push(239,191,189);continue}i=n;continue}if(n<56320){(e-=3)>-1&&o.push(239,191,189),i=n;continue}n=65536+(i-55296<<10|n-56320);}else i&&(e-=3)>-1&&o.push(239,191,189);if(i=null,n<128){if((e-=1)<0)break;o.push(n);}else if(n<2048){if((e-=2)<0)break;o.push(n>>6|192,63&n|128);}else if(n<65536){if((e-=3)<0)break;o.push(n>>12|224,n>>6&63|128,63&n|128);}else {if(!(n<1114112))throw new Error("Invalid code point");if((e-=4)<0)break;o.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128);}}return o}function Y(t){return i.toByteArray(function(t){if((t=(t=t.split("=")[0]).trim().replace(V,"")).length<2)return "";for(;t.length%4!=0;)t+="=";return t}(t))}function Z(t,e,n,r){let i;for(i=0;i=e.length||i>=t.length);++i)e[i+n]=t[i];return i}function Q(t,e){return t instanceof e||null!=t&&null!=t.constructor&&null!=t.constructor.name&&t.constructor.name===e.name}function K(t){return t!=t}const J=function(){const t="0123456789abcdef",e=new Array(256);for(let n=0;n<16;++n){const r=16*n;for(let i=0;i<16;++i)e[r+i]=t[n]+t[i];}return e}();function $(t){return "undefined"==typeof BigInt?tt:t}function tt(){throw new Error("BigInt not supported")}},3935:(t,e,n)=>{"use strict";var r=n(4155);function i(t){if("string"!=typeof t)throw new TypeError("Path must be a string. Received "+JSON.stringify(t))}function o(t,e){for(var n,r="",i=0,o=-1,a=0,s=0;s<=t.length;++s){if(s2){var u=r.lastIndexOf("/");if(u!==r.length-1){-1===u?(r="",i=0):i=(r=r.slice(0,u)).length-1-r.lastIndexOf("/"),o=s,a=0;continue}}else if(2===r.length||1===r.length){r="",i=0,o=s,a=0;continue}e&&(r.length>0?r+="/..":r="..",i=2);}else r.length>0?r+="/"+t.slice(o+1,s):r=t.slice(o+1,s),i=s-o-1;o=s,a=0;}else 46===n&&-1!==a?++a:a=-1;}return r}var a={resolve:function(){for(var t,e="",n=!1,a=arguments.length-1;a>=-1&&!n;a--){var s;a>=0?s=arguments[a]:(void 0===t&&(t=r.cwd()),s=t),i(s),0!==s.length&&(e=s+"/"+e,n=47===s.charCodeAt(0));}return e=o(e,!n),n?e.length>0?"/"+e:"/":e.length>0?e:"."},normalize:function(t){if(i(t),0===t.length)return ".";var e=47===t.charCodeAt(0),n=47===t.charCodeAt(t.length-1);return 0!==(t=o(t,!e)).length||e||(t="."),t.length>0&&n&&(t+="/"),e?"/"+t:t},isAbsolute:function(t){return i(t),t.length>0&&47===t.charCodeAt(0)},join:function(){if(0===arguments.length)return ".";for(var t,e=0;e0&&(void 0===t?t=n:t+="/"+n);}return void 0===t?".":a.normalize(t)},relative:function(t,e){if(i(t),i(e),t===e)return "";if((t=a.resolve(t))===(e=a.resolve(e)))return "";for(var n=1;nl){if(47===e.charCodeAt(s+h))return e.slice(s+h+1);if(0===h)return e.slice(s+h)}else o>l&&(47===t.charCodeAt(n+h)?c=h:0===h&&(c=0));break}var f=t.charCodeAt(n+h);if(f!==e.charCodeAt(s+h))break;47===f&&(c=h);}var p="";for(h=n+c+1;h<=r;++h)h!==r&&47!==t.charCodeAt(h)||(0===p.length?p+="..":p+="/..");return p.length>0?p+e.slice(s+c):(s+=c,47===e.charCodeAt(s)&&++s,e.slice(s))},_makeLong:function(t){return t},dirname:function(t){if(i(t),0===t.length)return ".";for(var e=t.charCodeAt(0),n=47===e,r=-1,o=!0,a=t.length-1;a>=1;--a)if(47===(e=t.charCodeAt(a))){if(!o){r=a;break}}else o=!1;return -1===r?n?"/":".":n&&1===r?"//":t.slice(0,r)},basename:function(t,e){if(void 0!==e&&"string"!=typeof e)throw new TypeError('"ext" argument must be a string');i(t);var n,r=0,o=-1,a=!0;if(void 0!==e&&e.length>0&&e.length<=t.length){if(e.length===t.length&&e===t)return "";var s=e.length-1,u=-1;for(n=t.length-1;n>=0;--n){var l=t.charCodeAt(n);if(47===l){if(!a){r=n+1;break}}else -1===u&&(a=!1,u=n+1),s>=0&&(l===e.charCodeAt(s)?-1==--s&&(o=n):(s=-1,o=u));}return r===o?o=u:-1===o&&(o=t.length),t.slice(r,o)}for(n=t.length-1;n>=0;--n)if(47===t.charCodeAt(n)){if(!a){r=n+1;break}}else -1===o&&(a=!1,o=n+1);return -1===o?"":t.slice(r,o)},extname:function(t){i(t);for(var e=-1,n=0,r=-1,o=!0,a=0,s=t.length-1;s>=0;--s){var u=t.charCodeAt(s);if(47!==u)-1===r&&(o=!1,r=s+1),46===u?-1===e?e=s:1!==a&&(a=1):-1!==e&&(a=-1);else if(!o){n=s+1;break}}return -1===e||-1===r||0===a||1===a&&e===r-1&&e===n+1?"":t.slice(e,r)},format:function(t){if(null===t||"object"!=typeof t)throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof t);return function(t,e){var n=e.dir||e.root,r=e.base||(e.name||"")+(e.ext||"");return n?n===e.root?n+r:n+"/"+r:r}(0,t)},parse:function(t){i(t);var e={root:"",dir:"",base:"",ext:"",name:""};if(0===t.length)return e;var n,r=t.charCodeAt(0),o=47===r;o?(e.root="/",n=1):n=0;for(var a=-1,s=0,u=-1,l=!0,c=t.length-1,h=0;c>=n;--c)if(47!==(r=t.charCodeAt(c)))-1===u&&(l=!1,u=c+1),46===r?-1===a?a=c:1!==h&&(h=1):-1!==a&&(h=-1);else if(!l){s=c+1;break}return -1===a||-1===u||0===h||1===h&&a===u-1&&a===s+1?-1!==u&&(e.base=e.name=0===s&&o?t.slice(1,u):t.slice(s,u)):(0===s&&o?(e.name=t.slice(1,a),e.base=t.slice(1,u)):(e.name=t.slice(s,a),e.base=t.slice(s,u)),e.ext=t.slice(a,u)),s>0?e.dir=t.slice(0,s-1):o&&(e.dir="/"),e},sep:"/",delimiter:":",win32:null,posix:null};a.posix=a,t.exports=a;},7418:t=>{"use strict";var e=Object.getOwnPropertySymbols,n=Object.prototype.hasOwnProperty,r=Object.prototype.propertyIsEnumerable;t.exports=function(){try{if(!Object.assign)return !1;var t=new String("abc");if(t[5]="de","5"===Object.getOwnPropertyNames(t)[0])return !1;for(var e={},n=0;n<10;n++)e["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(e).map((function(t){return e[t]})).join(""))return !1;var r={};return "abcdefghijklmnopqrst".split("").forEach((function(t){r[t]=t;})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},r)).join("")}catch(t){return !1}}()?Object.assign:function(t,i){for(var o,a,s=function(t){if(null==t)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(t)}(t),u=1;u{e.endianness=function(){return "LE"},e.hostname=function(){return "undefined"!=typeof location?location.hostname:""},e.loadavg=function(){return []},e.uptime=function(){return 0},e.freemem=function(){return Number.MAX_VALUE},e.totalmem=function(){return Number.MAX_VALUE},e.cpus=function(){return []},e.type=function(){return "Browser"},e.release=function(){return "undefined"!=typeof navigator?navigator.appVersion:""},e.networkInterfaces=e.getNetworkInterfaces=function(){return {}},e.arch=function(){return "javascript"},e.platform=function(){return "browser"},e.tmpdir=e.tmpDir=function(){return "/tmp"},e.EOL="\n",e.homedir=function(){return "/"};},8985:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Deferred=void 0,e.Deferred=class{constructor(){this.resolve=()=>null,this.reject=()=>null,this.promise=new Promise(((t,e)=>{this.reject=e,this.resolve=t;}));}};},7279:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.EndOfStreamError=e.defaultMessages=void 0,e.defaultMessages="End-Of-Stream";class n extends Error{constructor(){super(e.defaultMessages);}}e.EndOfStreamError=n;},6654:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.StreamReader=e.EndOfStreamError=void 0;const r=n(7279),i=n(8985);var o=n(7279);Object.defineProperty(e,"EndOfStreamError",{enumerable:!0,get:function(){return o.EndOfStreamError}}),e.StreamReader=class{constructor(t){if(this.s=t,this.deferred=null,this.endOfStream=!1,this.peekQueue=[],!t.read||!t.once)throw new Error("Expected an instance of stream.Readable");this.s.once("end",(()=>this.reject(new r.EndOfStreamError))),this.s.once("error",(t=>this.reject(t))),this.s.once("close",(()=>this.reject(new Error("Stream closed"))));}async peek(t,e,n){const r=await this.read(t,e,n);return this.peekQueue.push(t.subarray(e,e+r)),r}async read(t,e,n){if(0===n)return 0;if(0===this.peekQueue.length&&this.endOfStream)throw new r.EndOfStreamError;let i=n,o=0;for(;this.peekQueue.length>0&&i>0;){const n=this.peekQueue.pop();if(!n)throw new Error("peekData should be defined");const r=Math.min(n.length,i);t.set(n.subarray(0,r),e+o),o+=r,i-=r,r0&&!this.endOfStream;){const n=Math.min(i,1048576),r=await this.readFromStream(t,e+o,n);if(o+=r,r{this.readDeferred(r);})),r.deferred.promise}}readDeferred(t){const e=this.s.read(t.length);e?(t.buffer.set(e,t.offset),t.deferred.resolve(e.length),this.deferred=null):this.s.once("readable",(()=>{this.readDeferred(t);}));}reject(t){this.endOfStream=!0,this.deferred&&(this.deferred.reject(t),this.deferred=null);}};},5167:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.StreamReader=e.EndOfStreamError=void 0;var r=n(7279);Object.defineProperty(e,"EndOfStreamError",{enumerable:!0,get:function(){return r.EndOfStreamError}});var i=n(6654);Object.defineProperty(e,"StreamReader",{enumerable:!0,get:function(){return i.StreamReader}});},2676:function(t,e,n){var r=n(4155);t.exports=function(){"use strict";function t(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function e(t,e){for(var n=0;ne?1:t0))break;if(null===e.right)break;if(n(t,e.right.key)>0&&(u=e.right,e.right=u.left,u.left=e,null===(e=u).right))break;o.right=e,o=e,e=e.right;}}return o.right=e.left,a.left=e.right,e.left=r.right,e.right=r.left,e}function s(t,e,n,r){var o=new i(t,e);if(null===n)return o.left=o.right=null,o;var s=r(t,(n=a(t,n,r)).key);return s<0?(o.left=n.left,o.right=n,n.left=null):s>=0&&(o.right=n.right,o.left=n,n.right=null),o}function u(t,e,n){var r=null,i=null;if(e){var o=n((e=a(t,e,n)).key,t);0===o?(r=e.left,i=e.right):o<0?(i=e.right,e.right=null,r=e):(r=e.left,e.left=null,i=e);}return {left:r,right:i}}function l(t,e,n,r,i){if(t){r(e+(n?"└── ":"├── ")+i(t)+"\n");var o=e+(n?" ":"│ ");t.left&&l(t.left,o,!1,r,i),t.right&&l(t.right,o,!0,r,i);}}var c=function(){function t(t){void 0===t&&(t=o),this._root=null,this._size=0,this._comparator=t;}return t.prototype.insert=function(t,e){return this._size++,this._root=s(t,e,this._root,this._comparator)},t.prototype.add=function(t,e){var n=new i(t,e);null===this._root&&(n.left=n.right=null,this._size++,this._root=n);var r=this._comparator,o=a(t,this._root,r),s=r(t,o.key);return 0===s?this._root=o:(s<0?(n.left=o.left,n.right=o,o.left=null):s>0&&(n.right=o.right,n.left=o,o.right=null),this._size++,this._root=n),this._root},t.prototype.remove=function(t){this._root=this._remove(t,this._root,this._comparator);},t.prototype._remove=function(t,e,n){var r;return null===e?null:0===n(t,(e=a(t,e,n)).key)?(null===e.left?r=e.right:(r=a(t,e.left,n)).right=e.right,this._size--,r):e},t.prototype.pop=function(){var t=this._root;if(t){for(;t.left;)t=t.left;return this._root=a(t.key,this._root,this._comparator),this._root=this._remove(t.key,this._root,this._comparator),{key:t.key,data:t.data}}return null},t.prototype.findStatic=function(t){for(var e=this._root,n=this._comparator;e;){var r=n(t,e.key);if(0===r)return e;e=r<0?e.left:e.right;}return null},t.prototype.find=function(t){return this._root&&(this._root=a(t,this._root,this._comparator),0!==this._comparator(t,this._root.key))?null:this._root},t.prototype.contains=function(t){for(var e=this._root,n=this._comparator;e;){var r=n(t,e.key);if(0===r)return !0;e=r<0?e.left:e.right;}return !1},t.prototype.forEach=function(t,e){for(var n=this._root,r=[],i=!1;!i;)null!==n?(r.push(n),n=n.left):0!==r.length?(n=r.pop(),t.call(e,n),n=n.right):i=!0;return this},t.prototype.range=function(t,e,n,r){for(var i=[],o=this._comparator,a=this._root;0!==i.length||a;)if(a)i.push(a),a=a.left;else {if(o((a=i.pop()).key,e)>0)break;if(o(a.key,t)>=0&&n.call(r,a))return this;a=a.right;}return this},t.prototype.keys=function(){var t=[];return this.forEach((function(e){var n=e.key;return t.push(n)})),t},t.prototype.values=function(){var t=[];return this.forEach((function(e){var n=e.data;return t.push(n)})),t},t.prototype.min=function(){return this._root?this.minNode(this._root).key:null},t.prototype.max=function(){return this._root?this.maxNode(this._root).key:null},t.prototype.minNode=function(t){if(void 0===t&&(t=this._root),t)for(;t.left;)t=t.left;return t},t.prototype.maxNode=function(t){if(void 0===t&&(t=this._root),t)for(;t.right;)t=t.right;return t},t.prototype.at=function(t){for(var e=this._root,n=!1,r=0,i=[];!n;)if(e)i.push(e),e=e.left;else if(i.length>0){if(e=i.pop(),r===t)return e;r++,e=e.right;}else n=!0;return null},t.prototype.next=function(t){var e=this._root,n=null;if(t.right){for(n=t.right;n.left;)n=n.left;return n}for(var r=this._comparator;e;){var i=r(t.key,e.key);if(0===i)break;i<0?(n=e,e=e.left):e=e.right;}return n},t.prototype.prev=function(t){var e=this._root,n=null;if(null!==t.left){for(n=t.left;n.right;)n=n.right;return n}for(var r=this._comparator;e;){var i=r(t.key,e.key);if(0===i)break;i<0?e=e.left:(n=e,e=e.right);}return n},t.prototype.clear=function(){return this._root=null,this._size=0,this},t.prototype.toList=function(){return function(t){for(var e=t,n=[],r=!1,o=new i(null,null),a=o;!r;)e?(n.push(e),e=e.left):n.length>0?e=(e=a=a.next=n.pop()).right:r=!0;return a.next=null,o.next}(this._root)},t.prototype.load=function(t,e,n){void 0===e&&(e=[]),void 0===n&&(n=!1);var r=t.length,o=this._comparator;if(n&&p(t,e,0,r-1,o),null===this._root)this._root=h(t,e,0,r),this._size=r;else {var a=function(t,e,n){for(var r=new i(null,null),o=r,a=t,s=e;null!==a&&null!==s;)n(a.key,s.key)<0?(o.next=a,a=a.next):(o.next=s,s=s.next),o=o.next;return null!==a?o.next=a:null!==s&&(o.next=s),r.next}(this.toList(),function(t,e){for(var n=new i(null,null),r=n,o=0;o0){var a=n+Math.floor(o/2),s=t[a],u=e[a],l=new i(s,u);return l.left=h(t,e,n,a),l.right=h(t,e,a+1,r),l}return null}function f(t,e,n){var r=n-e;if(r>0){var i=e+Math.floor(r/2),o=f(t,e,i),a=t.head;return a.left=o,t.head=t.head.next,a.right=f(t,i+1,n),a}return null}function p(t,e,n,r,i){if(!(n>=r)){for(var o=t[n+r>>1],a=n-1,s=r+1;;){do{a++;}while(i(t[a],o)<0);do{s--;}while(i(t[s],o)>0);if(a>=s)break;var u=t[a];t[a]=t[s],t[s]=u,u=e[a],e[a]=e[s],e[s]=u;}p(t,e,n,s,i),p(t,e,s+1,r,i);}}var d=function(t,e){return t.ll.x<=e.x&&e.x<=t.ur.x&&t.ll.y<=e.y&&e.y<=t.ur.y},y=function(t,e){if(e.ur.xe.x?1:t.ye.y?1:0}}]),n(e,[{key:"link",value:function(t){if(t.point===this.point)throw new Error("Tried to link already linked events");for(var e=t.point.events,n=0,r=e.length;n=0&&u>=0?al?-1:0:o<0&&u<0?al?1:0:uo?1:0}}}]),e}(),A=0,I=function(){function e(n,r,i,o){t(this,e),this.id=++A,this.leftSE=n,n.segment=this,n.otherSE=r,this.rightSE=r,r.segment=this,r.otherSE=n,this.rings=i,this.windings=o;}return n(e,null,[{key:"compare",value:function(t,e){var n=t.leftSE.point.x,r=e.leftSE.point.x,i=t.rightSE.point.x,o=e.rightSE.point.x;if(oa&&s>u)return -1;var c=t.comparePoint(e.leftSE.point);if(c<0)return 1;if(c>0)return -1;var h=e.comparePoint(t.rightSE.point);return 0!==h?h:-1}if(n>r){if(as&&a>l)return 1;var f=e.comparePoint(t.leftSE.point);if(0!==f)return f;var p=t.comparePoint(e.rightSE.point);return p<0?1:p>0?-1:1}if(as)return 1;if(io){var y=t.comparePoint(e.rightSE.point);if(y<0)return 1;if(y>0)return -1}if(i!==o){var m=u-a,g=i-n,_=l-s,b=o-r;if(m>g&&_b)return -1}return i>o?1:il?1:t.ide.id?1:0}}]),n(e,[{key:"replaceRightSE",value:function(t){this.rightSE=t,this.rightSE.segment=this,this.rightSE.otherSE=this.leftSE,this.leftSE.otherSE=this.rightSE;}},{key:"bbox",value:function(){var t=this.leftSE.point.y,e=this.rightSE.point.y;return {ll:{x:this.leftSE.point.x,y:te?t:e}}}},{key:"vector",value:function(){return {x:this.rightSE.point.x-this.leftSE.point.x,y:this.rightSE.point.y-this.leftSE.point.y}}},{key:"isAnEndpoint",value:function(t){return t.x===this.leftSE.point.x&&t.y===this.leftSE.point.y||t.x===this.rightSE.point.x&&t.y===this.rightSE.point.y}},{key:"comparePoint",value:function(t){if(this.isAnEndpoint(t))return 0;var e=this.leftSE.point,n=this.rightSE.point,r=this.vector();if(e.x===n.x)return t.x===e.x?0:t.x0&&s.swapEvents(),O.comparePoints(this.leftSE.point,this.rightSE.point)>0&&this.swapEvents(),r&&(i.checkForConsuming(),o.checkForConsuming()),n}},{key:"swapEvents",value:function(){var t=this.rightSE;this.rightSE=this.leftSE,this.leftSE=t,this.leftSE.isLeft=!0,this.rightSE.isLeft=!1;for(var e=0,n=this.windings.length;e0){var o=n;n=r,r=o;}if(n.prev===r){var a=n;n=r,r=a;}for(var s=0,u=r.rings.length;s0))throw new Error("Tried to create degenerate segment at [".concat(t.x,", ").concat(t.y,"]"));i=n,o=t,a=-1;}return new e(new O(i,!0),new O(o,!1),[r],[a])}}]),e}(),P=function(){function e(n,r,i){if(t(this,e),!Array.isArray(n)||0===n.length)throw new Error("Input geometry is not a valid Polygon or MultiPolygon");if(this.poly=r,this.isExterior=i,this.segments=[],"number"!=typeof n[0][0]||"number"!=typeof n[0][1])throw new Error("Input geometry is not a valid Polygon or MultiPolygon");var o=T.round(n[0][0],n[0][1]);this.bbox={ll:{x:o.x,y:o.y},ur:{x:o.x,y:o.y}};for(var a=o,s=1,u=n.length;sthis.bbox.ur.x&&(this.bbox.ur.x=l.x),l.y>this.bbox.ur.y&&(this.bbox.ur.y=l.y),a=l);}o.x===a.x&&o.y===a.y||this.segments.push(I.fromRing(a,o,this));}return n(e,[{key:"getSweepEvents",value:function(){for(var t=[],e=0,n=this.segments.length;ethis.bbox.ur.x&&(this.bbox.ur.x=a.bbox.ur.x),a.bbox.ur.y>this.bbox.ur.y&&(this.bbox.ur.y=a.bbox.ur.y),this.interiorRings.push(a);}this.multiPoly=r;}return n(e,[{key:"getSweepEvents",value:function(){for(var t=this.exteriorRing.getSweepEvents(),e=0,n=this.interiorRings.length;ethis.bbox.ur.x&&(this.bbox.ur.x=a.bbox.ur.x),a.bbox.ur.y>this.bbox.ur.y&&(this.bbox.ur.y=a.bbox.ur.y),this.polys.push(a);}this.isSubject=r;}return n(e,[{key:"getSweepEvents",value:function(){for(var t=[],e=0,n=this.polys.length;e0&&(t=r);}for(var i=t.segment.prevInResult(),o=i?i.prevInResult():null;;){if(!i)return null;if(!o)return i.ringOut;if(o.ringOut!==i.ringOut)return o.ringOut.enclosingRing()!==i.ringOut?i.ringOut:i.ringOut.enclosingRing();i=o.prevInResult(),o=i?i.prevInResult():null;}}}]),e}(),k=function(){function e(n){t(this,e),this.exteriorRing=n,n.poly=this,this.interiorRings=[];}return n(e,[{key:"addInterior",value:function(t){this.interiorRings.push(t),t.poly=this;}},{key:"getGeom",value:function(){var t=[this.exteriorRing.getGeom()];if(null===t[0])return null;for(var e=0,n=this.interiorRings.length;e1&&void 0!==arguments[1]?arguments[1]:I.compare;t(this,e),this.queue=n,this.tree=new c(r),this.segments=[];}return n(e,[{key:"process",value:function(t){var e=t.segment,n=[];if(t.consumedBy)return t.isLeft?this.queue.remove(t.otherSE):this.tree.remove(e),n;var r=t.isLeft?this.tree.insert(e):this.tree.find(e);if(!r)throw new Error("Unable to find segment #".concat(e.id," ")+"[".concat(e.leftSE.point.x,", ").concat(e.leftSE.point.y,"] -> ")+"[".concat(e.rightSE.point.x,", ").concat(e.rightSE.point.y,"] ")+"in SweepLine tree. Please submit a bug report.");for(var i=r,o=r,a=void 0,s=void 0;void 0===a;)null===(i=this.tree.prev(i))?a=null:void 0===i.key.consumedBy&&(a=i.key);for(;void 0===s;)null===(o=this.tree.next(o))?s=null:void 0===o.key.consumedBy&&(s=o.key);if(t.isLeft){var u=null;if(a){var l=a.getIntersection(e);if(null!==l&&(e.isAnEndpoint(l)||(u=l),!a.isAnEndpoint(l)))for(var c=this._splitSafely(a,l),h=0,f=c.length;h0?(this.tree.remove(e),n.push(t)):(this.segments.push(e),e.prev=a);}else {if(a&&s){var E=a.getIntersection(s);if(null!==E){if(!a.isAnEndpoint(E))for(var w=this._splitSafely(a,E),x=0,C=w.length;xB)throw new Error("Infinite loop when putting segment endpoints in a priority queue (queue size too big). Please file a bug report.");for(var E=new U(d),w=d.size,x=d.pop();x;){var C=x.key;if(d.size===w){var M=C.segment;throw new Error("Unable to pop() ".concat(C.isLeft?"left":"right"," SweepEvent ")+"[".concat(C.point.x,", ").concat(C.point.y,"] from segment #").concat(M.id," ")+"[".concat(M.leftSE.point.x,", ").concat(M.leftSE.point.y,"] -> ")+"[".concat(M.rightSE.point.x,", ").concat(M.rightSE.point.y,"] from queue. ")+"Please file a bug report.")}if(d.size>B)throw new Error("Infinite loop when passing sweep line over endpoints (queue size too big). Please file a bug report.");if(E.segments.length>j)throw new Error("Infinite loop when passing sweep line over endpoints (too many sweep line segments). Please file a bug report.");for(var S=E.process(C),N=0,A=S.length;N1?e-1:0),r=1;r1?e-1:0),r=1;r1?e-1:0),r=1;r1?e-1:0),r=1;r{var e,n,r=t.exports={};function i(){throw new Error("setTimeout has not been defined")}function o(){throw new Error("clearTimeout has not been defined")}function a(t){if(e===setTimeout)return setTimeout(t,0);if((e===i||!e)&&setTimeout)return e=setTimeout,setTimeout(t,0);try{return e(t,0)}catch(n){try{return e.call(null,t,0)}catch(n){return e.call(this,t,0)}}}!function(){try{e="function"==typeof setTimeout?setTimeout:i;}catch(t){e=i;}try{n="function"==typeof clearTimeout?clearTimeout:o;}catch(t){n=o;}}();var s,u=[],l=!1,c=-1;function h(){l&&s&&(l=!1,s.length?u=s.concat(u):c=-1,u.length&&f());}function f(){if(!l){var t=a(h);l=!0;for(var e=u.length;e;){for(s=u,u=[];++c1)for(var n=1;n{"use strict";n.r(e),n.d(e,{default:()=>Rn});var r=1,i=2,o=3,a=5,s=6378137,u=6356752.314,l=.0066943799901413165,c=484813681109536e-20,h=Math.PI/2,f=.16666666666666666,p=.04722222222222222,d=.022156084656084655,y=1e-10,m=.017453292519943295,g=57.29577951308232,_=Math.PI/4,b=2*Math.PI,v=3.14159265359,T={greenwich:0,lisbon:-9.131906111111,paris:2.337229166667,bogota:-74.080916666667,madrid:-3.687938888889,rome:12.452333333333,bern:7.439583333333,jakarta:106.807719444444,ferro:-17.666666666667,brussels:4.367975,stockholm:18.058277777778,athens:23.7163375,oslo:10.722916666667};const E={ft:{to_meter:.3048},"us-ft":{to_meter:1200/3937}};var w=/[\s_\-\/\(\)]/g;function x(t,e){if(t[e])return t[e];for(var n,r=Object.keys(t),i=e.toLowerCase().replace(w,""),o=-1;++o=this.text.length)return;t=this.text[this.place++];}switch(this.state){case S:return this.neutral(t);case 2:return this.keyword(t);case 4:return this.quoted(t);case 5:return this.afterquote(t);case 3:return this.number(t);case -1:return}},R.prototype.afterquote=function(t){if('"'===t)return this.word+='"',void(this.state=4);if(I.test(t))return this.word=this.word.trim(),void this.afterItem(t);throw new Error("havn't handled \""+t+'" in afterquote yet, index '+this.place)},R.prototype.afterItem=function(t){return ","===t?(null!==this.word&&this.currentObject.push(this.word),this.word=null,void(this.state=S)):"]"===t?(this.level--,null!==this.word&&(this.currentObject.push(this.word),this.word=null),this.state=S,this.currentObject=this.stack.pop(),void(this.currentObject||(this.state=-1))):void 0},R.prototype.number=function(t){if(!P.test(t)){if(I.test(t))return this.word=parseFloat(this.word),void this.afterItem(t);throw new Error("havn't handled \""+t+'" in number yet, index '+this.place)}this.word+=t;},R.prototype.quoted=function(t){'"'!==t?this.word+=t:this.state=5;},R.prototype.keyword=function(t){if(A.test(t))this.word+=t;else {if("["===t){var e=[];return e.push(this.word),this.level++,null===this.root?this.root=e:this.currentObject.push(e),this.stack.push(this.currentObject),this.currentObject=e,void(this.state=S)}if(!I.test(t))throw new Error("havn't handled \""+t+'" in keyword yet, index '+this.place);this.afterItem(t);}},R.prototype.neutral=function(t){if(O.test(t))return this.word=t,void(this.state=2);if('"'===t)return this.word="",void(this.state=4);if(P.test(t))return this.word=t,void(this.state=3);if(!I.test(t))throw new Error("havn't handled \""+t+'" in neutral yet, index '+this.place);this.afterItem(t);},R.prototype.output=function(){for(;this.place0?90:-90),t.lat_ts=t.lat1);}(i),i}var B=n(5108);function j(t){var e=this;if(2===arguments.length){var n=arguments[1];"string"==typeof n?"+"===n.charAt(0)?j[t]=C(arguments[1]):j[t]=U(arguments[1]):j[t]=n;}else if(1===arguments.length){if(Array.isArray(t))return t.map((function(t){Array.isArray(t)?j.apply(e,t):j(t);}));if("string"==typeof t){if(t in j)return j[t]}else "EPSG"in t?j["EPSG:"+t.EPSG]=t:"ESRI"in t?j["ESRI:"+t.ESRI]=t:"IAU2000"in t?j["IAU2000:"+t.IAU2000]=t:B.log(t);return}}!function(t){t("EPSG:4326","+title=WGS 84 (long/lat) +proj=longlat +ellps=WGS84 +datum=WGS84 +units=degrees"),t("EPSG:4269","+title=NAD83 (long/lat) +proj=longlat +a=6378137.0 +b=6356752.31414036 +ellps=GRS80 +datum=NAD83 +units=degrees"),t("EPSG:3857","+title=WGS 84 / Pseudo-Mercator +proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +no_defs"),t.WGS84=t["EPSG:4326"],t["EPSG:3785"]=t["EPSG:3857"],t.GOOGLE=t["EPSG:3857"],t["EPSG:900913"]=t["EPSG:3857"],t["EPSG:102113"]=t["EPSG:3857"];}(j);const G=j;var W=["PROJECTEDCRS","PROJCRS","GEOGCS","GEOCCS","PROJCS","LOCAL_CS","GEODCRS","GEODETICCRS","GEODETICDATUM","ENGCRS","ENGINEERINGCRS"],q=["3857","900913","3785","102113"];const H=function(t){if(!function(t){return "string"==typeof t}(t))return t;if(function(t){return t in G}(t))return G[t];if(function(t){return W.some((function(e){return t.indexOf(e)>-1}))}(t)){var e=U(t);if(function(t){var e=x(t,"authority");if(e){var n=x(e,"epsg");return n&&q.indexOf(n)>-1}}(e))return G["EPSG:3857"];var n=function(t){var e=x(t,"extension");if(e)return x(e,"proj4")}(e);return n?C(n):e}return function(t){return "+"===t[0]}(t)?C(t):void 0};function z(t,e){var n,r;if(t=t||{},!e)return t;for(r in e)void 0!==(n=e[r])&&(t[r]=n);return t}function V(t,e,n){var r=t*e;return n/Math.sqrt(1-r*r)}function X(t){return t<0?-1:1}function Y(t){return Math.abs(t)<=v?t:t-X(t)*b}function Z(t,e,n){var r=t*n,i=.5*t;return r=Math.pow((1-r)/(1+r),i),Math.tan(.5*(h-e))/r}function Q(t,e){for(var n,r,i=.5*t,o=h-2*Math.atan(e),a=0;a<=15;a++)if(n=t*Math.sin(o),o+=r=h-2*Math.atan(e*Math.pow((1-n)/(1+n),i))-o,Math.abs(r)<=1e-10)return o;return -9999}const K={init:function(){var t=this.b/this.a;this.es=1-t*t,"x0"in this||(this.x0=0),"y0"in this||(this.y0=0),this.e=Math.sqrt(this.es),this.lat_ts?this.sphere?this.k0=Math.cos(this.lat_ts):this.k0=V(this.e,Math.sin(this.lat_ts),Math.cos(this.lat_ts)):this.k0||(this.k?this.k0=this.k:this.k0=1);},forward:function(t){var e,n,r=t.x,i=t.y;if(i*g>90&&i*g<-90&&r*g>180&&r*g<-180)return null;if(Math.abs(Math.abs(i)-h)<=y)return null;if(this.sphere)e=this.x0+this.a*this.k0*Y(r-this.long0),n=this.y0+this.a*this.k0*Math.log(Math.tan(_+.5*i));else {var o=Math.sin(i),a=Z(this.e,i,o);e=this.x0+this.a*this.k0*Y(r-this.long0),n=this.y0-this.a*this.k0*Math.log(a);}return t.x=e,t.y=n,t},inverse:function(t){var e,n,r=t.x-this.x0,i=t.y-this.y0;if(this.sphere)n=h-2*Math.atan(Math.exp(-i/(this.a*this.k0)));else {var o=Math.exp(-i/(this.a*this.k0));if(-9999===(n=Q(this.e,o)))return null}return e=Y(this.long0+r/(this.a*this.k0)),t.x=e,t.y=n,t},names:["Mercator","Popular Visualisation Pseudo Mercator","Mercator_1SP","Mercator_Auxiliary_Sphere","merc"]};function J(t){return t}const $={init:function(){},forward:J,inverse:J,names:["longlat","identity"]};var tt=n(5108),et=[K,$],nt={},rt=[];function it(t,e){var n=rt.length;return t.names?(rt[n]=t,t.names.forEach((function(t){nt[t.toLowerCase()]=n;})),this):(tt.log(e),!0)}const ot={start:function(){et.forEach(it);},add:it,get:function(t){if(!t)return !1;var e=t.toLowerCase();return void 0!==nt[e]&&rt[nt[e]]?rt[nt[e]]:void 0}};var at={MERIT:{a:6378137,rf:298.257,ellipseName:"MERIT 1983"},SGS85:{a:6378136,rf:298.257,ellipseName:"Soviet Geodetic System 85"},GRS80:{a:6378137,rf:298.257222101,ellipseName:"GRS 1980(IUGG, 1980)"},IAU76:{a:6378140,rf:298.257,ellipseName:"IAU 1976"},airy:{a:6377563.396,b:6356256.91,ellipseName:"Airy 1830"},APL4:{a:6378137,rf:298.25,ellipseName:"Appl. Physics. 1965"},NWL9D:{a:6378145,rf:298.25,ellipseName:"Naval Weapons Lab., 1965"},mod_airy:{a:6377340.189,b:6356034.446,ellipseName:"Modified Airy"},andrae:{a:6377104.43,rf:300,ellipseName:"Andrae 1876 (Den., Iclnd.)"},aust_SA:{a:6378160,rf:298.25,ellipseName:"Australian Natl & S. Amer. 1969"},GRS67:{a:6378160,rf:298.247167427,ellipseName:"GRS 67(IUGG 1967)"},bessel:{a:6377397.155,rf:299.1528128,ellipseName:"Bessel 1841"},bess_nam:{a:6377483.865,rf:299.1528128,ellipseName:"Bessel 1841 (Namibia)"},clrk66:{a:6378206.4,b:6356583.8,ellipseName:"Clarke 1866"},clrk80:{a:6378249.145,rf:293.4663,ellipseName:"Clarke 1880 mod."},clrk58:{a:6378293.645208759,rf:294.2606763692654,ellipseName:"Clarke 1858"},CPM:{a:6375738.7,rf:334.29,ellipseName:"Comm. des Poids et Mesures 1799"},delmbr:{a:6376428,rf:311.5,ellipseName:"Delambre 1810 (Belgium)"},engelis:{a:6378136.05,rf:298.2566,ellipseName:"Engelis 1985"},evrst30:{a:6377276.345,rf:300.8017,ellipseName:"Everest 1830"},evrst48:{a:6377304.063,rf:300.8017,ellipseName:"Everest 1948"},evrst56:{a:6377301.243,rf:300.8017,ellipseName:"Everest 1956"},evrst69:{a:6377295.664,rf:300.8017,ellipseName:"Everest 1969"},evrstSS:{a:6377298.556,rf:300.8017,ellipseName:"Everest (Sabah & Sarawak)"},fschr60:{a:6378166,rf:298.3,ellipseName:"Fischer (Mercury Datum) 1960"},fschr60m:{a:6378155,rf:298.3,ellipseName:"Fischer 1960"},fschr68:{a:6378150,rf:298.3,ellipseName:"Fischer 1968"},helmert:{a:6378200,rf:298.3,ellipseName:"Helmert 1906"},hough:{a:6378270,rf:297,ellipseName:"Hough"},intl:{a:6378388,rf:297,ellipseName:"International 1909 (Hayford)"},kaula:{a:6378163,rf:298.24,ellipseName:"Kaula 1961"},lerch:{a:6378139,rf:298.257,ellipseName:"Lerch 1979"},mprts:{a:6397300,rf:191,ellipseName:"Maupertius 1738"},new_intl:{a:6378157.5,b:6356772.2,ellipseName:"New International 1967"},plessis:{a:6376523,rf:6355863,ellipseName:"Plessis 1817 (France)"},krass:{a:6378245,rf:298.3,ellipseName:"Krassovsky, 1942"},SEasia:{a:6378155,b:6356773.3205,ellipseName:"Southeast Asia"},walbeck:{a:6376896,b:6355834.8467,ellipseName:"Walbeck"},WGS60:{a:6378165,rf:298.3,ellipseName:"WGS 60"},WGS66:{a:6378145,rf:298.25,ellipseName:"WGS 66"},WGS7:{a:6378135,rf:298.26,ellipseName:"WGS 72"}},st=at.WGS84={a:6378137,rf:298.257223563,ellipseName:"WGS 84"};at.sphere={a:6370997,b:6370997,ellipseName:"Normal Sphere (r=6370997)"};var ut={wgs84:{towgs84:"0,0,0",ellipse:"WGS84",datumName:"WGS84"},ch1903:{towgs84:"674.374,15.056,405.346",ellipse:"bessel",datumName:"swiss"},ggrs87:{towgs84:"-199.87,74.79,246.62",ellipse:"GRS80",datumName:"Greek_Geodetic_Reference_System_1987"},nad83:{towgs84:"0,0,0",ellipse:"GRS80",datumName:"North_American_Datum_1983"},nad27:{nadgrids:"@conus,@alaska,@ntv2_0.gsb,@ntv1_can.dat",ellipse:"clrk66",datumName:"North_American_Datum_1927"},potsdam:{towgs84:"598.1,73.7,418.2,0.202,0.045,-2.455,6.7",ellipse:"bessel",datumName:"Potsdam Rauenberg 1950 DHDN"},carthage:{towgs84:"-263.0,6.0,431.0",ellipse:"clark80",datumName:"Carthage 1934 Tunisia"},hermannskogel:{towgs84:"577.326,90.129,463.919,5.137,1.474,5.297,2.4232",ellipse:"bessel",datumName:"Hermannskogel"},osni52:{towgs84:"482.530,-130.596,564.557,-1.042,-0.214,-0.631,8.15",ellipse:"airy",datumName:"Irish National"},ire65:{towgs84:"482.530,-130.596,564.557,-1.042,-0.214,-0.631,8.15",ellipse:"mod_airy",datumName:"Ireland 1965"},rassadiran:{towgs84:"-133.63,-157.5,-158.62",ellipse:"intl",datumName:"Rassadiran"},nzgd49:{towgs84:"59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5993",ellipse:"intl",datumName:"New Zealand Geodetic Datum 1949"},osgb36:{towgs84:"446.448,-125.157,542.060,0.1502,0.2470,0.8421,-20.4894",ellipse:"airy",datumName:"Airy 1830"},s_jtsk:{towgs84:"589,76,480",ellipse:"bessel",datumName:"S-JTSK (Ferro)"},beduaram:{towgs84:"-106,-87,188",ellipse:"clrk80",datumName:"Beduaram"},gunung_segara:{towgs84:"-403,684,41",ellipse:"bessel",datumName:"Gunung Segara Jakarta"},rnb72:{towgs84:"106.869,-52.2978,103.724,-0.33657,0.456955,-1.84218,1",ellipse:"intl",datumName:"Reseau National Belge 1972"}};const lt=function(t,e,n,s,u,l,h){var f={};return f.datum_type=void 0===t||"none"===t?a:4,e&&(f.datum_params=e.map(parseFloat),0===f.datum_params[0]&&0===f.datum_params[1]&&0===f.datum_params[2]||(f.datum_type=r),f.datum_params.length>3&&(0===f.datum_params[3]&&0===f.datum_params[4]&&0===f.datum_params[5]&&0===f.datum_params[6]||(f.datum_type=i,f.datum_params[3]*=c,f.datum_params[4]*=c,f.datum_params[5]*=c,f.datum_params[6]=f.datum_params[6]/1e6+1))),h&&(f.datum_type=o,f.grids=h),f.a=n,f.b=s,f.es=u,f.ep2=l,f};var ct=n(5108),ht={};function ft(t){if(0===t.length)return null;var e="@"===t[0];return e&&(t=t.slice(1)),"null"===t?{name:"null",mandatory:!e,grid:null,isNull:!0}:{name:t,mandatory:!e,grid:ht[t]||null,isNull:!1}}function pt(t){return t/3600*Math.PI/180}function dt(t,e,n){return String.fromCharCode.apply(null,new Uint8Array(t.buffer.slice(e,n)))}function yt(t){return t.map((function(t){return [pt(t.longitudeShift),pt(t.latitudeShift)]}))}function mt(t,e,n){return {name:dt(t,e+8,e+16).trim(),parent:dt(t,e+24,e+24+8).trim(),lowerLatitude:t.getFloat64(e+72,n),upperLatitude:t.getFloat64(e+88,n),lowerLongitude:t.getFloat64(e+104,n),upperLongitude:t.getFloat64(e+120,n),latitudeInterval:t.getFloat64(e+136,n),longitudeInterval:t.getFloat64(e+152,n),gridNodeCount:t.getInt32(e+168,n)}}function gt(t,e,n,r){for(var i=e+176,o=[],a=0;a-1.001*h)u=-h;else if(u>h&&u<1.001*h)u=h;else {if(u<-h)return {x:-1/0,y:-1/0,z:t.z};if(u>h)return {x:1/0,y:1/0,z:t.z}}return s>Math.PI&&(s-=2*Math.PI),i=Math.sin(u),a=Math.cos(u),o=i*i,{x:((r=n/Math.sqrt(1-e*o))+l)*a*Math.cos(s),y:(r+l)*a*Math.sin(s),z:(r*(1-e)+l)*i}}function Tt(t,e,n,r){var i,o,a,s,u,l,c,h,f,p,d,y,m,g,_,b=t.x,v=t.y,T=t.z?t.z:0;if(i=Math.sqrt(b*b+v*v),o=Math.sqrt(b*b+v*v+T*T),i/n<1e-12){if(g=0,o/n<1e-12)return _=-r,{x:t.x,y:t.y,z:t.z}}else g=Math.atan2(v,b);a=T/o,h=(s=i/o)*(1-e)*(u=1/Math.sqrt(1-e*(2-e)*s*s)),f=a*u,m=0;do{m++,l=e*(c=n/Math.sqrt(1-e*f*f))/(c+(_=i*h+T*f-c*(1-e*f*f))),y=(d=a*(u=1/Math.sqrt(1-l*(2-l)*s*s)))*h-(p=s*(1-l)*u)*f,h=p,f=d;}while(y*y>1e-24&&m<30);return {x:g,y:Math.atan(d/Math.abs(p)),z:_}}var Et=n(5108);function wt(t){return t===r||t===i}function xt(t,e,n){if(null===t.grids||0===t.grids.length)return Et.log("Grid shift grids not found"),-1;for(var r={x:-n.x,y:n.y},i={x:Number.NaN,y:Number.NaN},o=[],a=0;ar.y||c>r.x||p1e-12&&Math.abs(a.y)>1e-12);if(u<0)return Et.log("Inverse grid shift iterator failed to converge."),r;r.x=Y(o.x+n.ll[0]),r.y=o.y+n.ll[1];}else isNaN(o.x)||(r.x=t.x+o.x,r.y=t.y+o.y);return r}function Mt(t,e){var n,r={x:t.x/e.del[0],y:t.y/e.del[1]},i=Math.floor(r.x),o=Math.floor(r.y),a=r.x-1*i,s=r.y-1*o,u={x:Number.NaN,y:Number.NaN};if(i<0||i>=e.lim[0])return u;if(o<0||o>=e.lim[1])return u;n=o*e.lim[0]+i;var l=e.cvs[n][0],c=e.cvs[n][1];n++;var h=e.cvs[n][0],f=e.cvs[n][1];n+=e.lim[0];var p=e.cvs[n][0],d=e.cvs[n][1];n--;var y=e.cvs[n][0],m=e.cvs[n][1],g=a*s,_=a*(1-s),b=(1-a)*(1-s),v=(1-a)*s;return u.x=b*l+_*h+v*y+g*p,u.y=b*c+_*f+v*m+g*d,u}function St(t,e,n){var r,i,o,a=n.x,s=n.y,u=n.z||0,l={};for(o=0;o<3;o++)if(!e||2!==o||void 0!==n.z)switch(0===o?(r=a,i=-1!=="ew".indexOf(t.axis[o])?"x":"y"):1===o?(r=s,i=-1!=="ns".indexOf(t.axis[o])?"y":"x"):(r=u,i="z"),t.axis[o]){case "e":case "n":l[i]=r;break;case "w":case "s":l[i]=-r;break;case "u":void 0!==n[i]&&(l.z=r);break;case "d":void 0!==n[i]&&(l.z=-r);break;default:return null}return l}function Nt(t){var e={x:t[0],y:t[1]};return t.length>2&&(e.z=t[2]),t.length>3&&(e.m=t[3]),e}function Ot(t){if("function"==typeof Number.isFinite){if(Number.isFinite(t))return;throw new TypeError("coordinates must be finite numbers")}if("number"!=typeof t||t!=t||!isFinite(t))throw new TypeError("coordinates must be finite numbers")}function At(t,e,n,c){var h;if(Array.isArray(n)&&(n=Nt(n)),function(t){Ot(t.x),Ot(t.y);}(n),t.datum&&e.datum&&function(t,e){return (t.datum.datum_type===r||t.datum.datum_type===i)&&"WGS84"!==e.datumCode||(e.datum.datum_type===r||e.datum.datum_type===i)&&"WGS84"!==t.datumCode}(t,e)&&(n=At(t,h=new bt("WGS84"),n,c),t=h),c&&"enu"!==t.axis&&(n=St(t,!1,n)),"longlat"===t.projName)n={x:n.x*m,y:n.y*m,z:n.z||0};else if(t.to_meter&&(n={x:n.x*t.to_meter,y:n.y*t.to_meter,z:n.z||0}),!(n=t.inverse(n)))return;if(t.from_greenwich&&(n.x+=t.from_greenwich),n=function(t,e,n){if(function(t,e){return t.datum_type===e.datum_type&&!(t.a!==e.a||Math.abs(t.es-e.es)>5e-11)&&(t.datum_type===r?t.datum_params[0]===e.datum_params[0]&&t.datum_params[1]===e.datum_params[1]&&t.datum_params[2]===e.datum_params[2]:t.datum_type!==i||t.datum_params[0]===e.datum_params[0]&&t.datum_params[1]===e.datum_params[1]&&t.datum_params[2]===e.datum_params[2]&&t.datum_params[3]===e.datum_params[3]&&t.datum_params[4]===e.datum_params[4]&&t.datum_params[5]===e.datum_params[5]&&t.datum_params[6]===e.datum_params[6])}(t,e))return n;if(t.datum_type===a||e.datum_type===a)return n;var c=t.a,h=t.es;if(t.datum_type===o){if(0!==xt(t,!1,n))return;c=s,h=l;}var f=e.a,p=e.b,d=e.es;return e.datum_type===o&&(f=s,p=u,d=l),h!==d||c!==f||wt(t.datum_type)||wt(e.datum_type)?(n=vt(n,h,c),wt(t.datum_type)&&(n=function(t,e,n){if(e===r)return {x:t.x+n[0],y:t.y+n[1],z:t.z+n[2]};if(e===i){var o=n[0],a=n[1],s=n[2],u=n[3],l=n[4],c=n[5],h=n[6];return {x:h*(t.x-c*t.y+l*t.z)+o,y:h*(c*t.x+t.y-u*t.z)+a,z:h*(-l*t.x+u*t.y+t.z)+s}}}(n,t.datum_type,t.datum_params)),wt(e.datum_type)&&(n=function(t,e,n){if(e===r)return {x:t.x-n[0],y:t.y-n[1],z:t.z-n[2]};if(e===i){var o=n[0],a=n[1],s=n[2],u=n[3],l=n[4],c=n[5],h=n[6],f=(t.x-o)/h,p=(t.y-a)/h,d=(t.z-s)/h;return {x:f+c*p-l*d,y:-c*f+p+u*d,z:l*f-u*p+d}}}(n,e.datum_type,e.datum_params)),n=Tt(n,d,f,p),e.datum_type!==o||0===xt(e,!0,n)?n:void 0):n}(t.datum,e.datum,n))return e.from_greenwich&&(n={x:n.x-e.from_greenwich,y:n.y,z:n.z||0}),"longlat"===e.projName?n={x:n.x*g,y:n.y*g,z:n.z||0}:(n=e.forward(n),e.to_meter&&(n={x:n.x/e.to_meter,y:n.y/e.to_meter,z:n.z||0})),c&&"enu"!==e.axis?St(e,!0,n):n}var It=bt("WGS84");function Pt(t,e,n,r){var i,o,a;return Array.isArray(n)?(i=At(t,e,n,r)||{x:NaN,y:NaN},n.length>2?void 0!==t.name&&"geocent"===t.name||void 0!==e.name&&"geocent"===e.name?"number"==typeof i.z?[i.x,i.y,i.z].concat(n.splice(3)):[i.x,i.y,n[2]].concat(n.splice(3)):[i.x,i.y].concat(n.splice(2)):[i.x,i.y]):(o=At(t,e,n,r),2===(a=Object.keys(n)).length||a.forEach((function(r){if(void 0!==t.name&&"geocent"===t.name||void 0!==e.name&&"geocent"===e.name){if("x"===r||"y"===r||"z"===r)return}else if("x"===r||"y"===r)return;o[r]=n[r];})),o)}function Rt(t){return t instanceof bt?t:t.oProj?t.oProj:bt(t)}const Lt=function(t,e,n){t=Rt(t);var r,i=!1;return void 0===e?(e=t,t=It,i=!0):(void 0!==e.x||Array.isArray(e))&&(n=e,e=t,t=It,i=!0),e=Rt(e),n?Pt(t,e,n):(r={forward:function(n,r){return Pt(t,e,n,r)},inverse:function(n,r){return Pt(e,t,n,r)}},i&&(r.oProj=e),r)};var Dt=6,kt="AJSAJS",Ft="AFAFAF",Ut=65,Bt=73,jt=79,Gt=86,Wt=90;const qt={forward:Ht,inverse:function(t){var e=Yt(Qt(t.toUpperCase()));return e.lat&&e.lon?[e.lon,e.lat,e.lon,e.lat]:[e.left,e.bottom,e.right,e.top]},toPoint:zt};function Ht(t,e){return e=e||5,function(t,e){var n,r,i,o,a,s,u,l,c,h,f,p="00000"+t.easting,d="00000"+t.northing;return t.zoneNumber+t.zoneLetter+(c=t.easting,h=t.northing,f=Zt(t.zoneNumber),n=Math.floor(c/1e5),r=Math.floor(h/1e5)%20,i=f-1,o=kt.charCodeAt(i),a=Ft.charCodeAt(i),l=!1,(s=o+n-1)>Wt&&(s=s-Wt+Ut-1,l=!0),(s===Bt||oBt||(s>Bt||ojt||(s>jt||oWt&&(s=s-Wt+Ut-1),(u=a+r)>Gt?(u=u-Gt+Ut-1,l=!0):l=!1,(u===Bt||aBt||(u>Bt||ajt||(u>jt||aGt&&(u=u-Gt+Ut-1),String.fromCharCode(s)+String.fromCharCode(u))+p.substr(p.length-5,e)+d.substr(d.length-5,e)}(function(t){var e,n,r,i,o,a,s,u=t.lat,l=t.lon,c=6378137,h=.00669438,f=.9996,p=Vt(u),d=Vt(l);s=Math.floor((l+180)/6)+1,180===l&&(s=60),u>=56&&u<64&&l>=3&&l<12&&(s=32),u>=72&&u<84&&(l>=0&&l<9?s=31:l>=9&&l<21?s=33:l>=21&&l<33?s=35:l>=33&&l<42&&(s=37)),a=Vt(6*(s-1)-180+3),e=.006739496752268451,n=c/Math.sqrt(1-h*Math.sin(p)*Math.sin(p)),r=Math.tan(p)*Math.tan(p),i=e*Math.cos(p)*Math.cos(p);var y,m,g=f*n*((o=Math.cos(p)*(d-a))+(1-r+i)*o*o*o/6+(5-18*r+r*r+72*i-58*e)*o*o*o*o*o/120)+5e5,_=f*(c*(.9983242984503243*p-.002514607064228144*Math.sin(2*p)+2639046602129982e-21*Math.sin(4*p)-3.418046101696858e-9*Math.sin(6*p))+n*Math.tan(p)*(o*o/2+(5-r+9*i+4*i*i)*o*o*o*o/24+(61-58*r+r*r+600*i-2.2240339282485886)*o*o*o*o*o*o/720));return u<0&&(_+=1e7),{northing:Math.round(_),easting:Math.round(g),zoneNumber:s,zoneLetter:(y=u,m="Z",84>=y&&y>=72?m="X":72>y&&y>=64?m="W":64>y&&y>=56?m="V":56>y&&y>=48?m="U":48>y&&y>=40?m="T":40>y&&y>=32?m="S":32>y&&y>=24?m="R":24>y&&y>=16?m="Q":16>y&&y>=8?m="P":8>y&&y>=0?m="N":0>y&&y>=-8?m="M":-8>y&&y>=-16?m="L":-16>y&&y>=-24?m="K":-24>y&&y>=-32?m="J":-32>y&&y>=-40?m="H":-40>y&&y>=-48?m="G":-48>y&&y>=-56?m="F":-56>y&&y>=-64?m="E":-64>y&&y>=-72?m="D":-72>y&&y>=-80&&(m="C"),m)}}({lat:t[1],lon:t[0]}),e)}function zt(t){var e=Yt(Qt(t.toUpperCase()));return e.lat&&e.lon?[e.lon,e.lat]:[(e.left+e.right)/2,(e.top+e.bottom)/2]}function Vt(t){return t*(Math.PI/180)}function Xt(t){return t/Math.PI*180}function Yt(t){var e=t.northing,n=t.easting,r=t.zoneLetter,i=t.zoneNumber;if(i<0||i>60)return null;var o,a,s,u,l,c,h,f,p,d=.9996,y=6378137,m=.00669438,g=(1-Math.sqrt(.99330562))/(1+Math.sqrt(.99330562)),_=n-5e5,b=e;r<"N"&&(b-=1e7),h=6*(i-1)-180+3,o=.006739496752268451,p=(f=b/d/6367449.145945056)+(3*g/2-27*g*g*g/32)*Math.sin(2*f)+(21*g*g/16-55*g*g*g*g/32)*Math.sin(4*f)+151*g*g*g/96*Math.sin(6*f),a=y/Math.sqrt(1-m*Math.sin(p)*Math.sin(p)),s=Math.tan(p)*Math.tan(p),u=o*Math.cos(p)*Math.cos(p),l=.99330562*y/Math.pow(1-m*Math.sin(p)*Math.sin(p),1.5),c=_/(a*d);var v=p-a*Math.tan(p)/l*(c*c/2-(5+3*s+10*u-4*u*u-9*o)*c*c*c*c/24+(61+90*s+298*u+45*s*s-1.6983531815716497-3*u*u)*c*c*c*c*c*c/720);v=Xt(v);var T,E=(c-(1+2*s+u)*c*c*c/6+(5-2*u+28*s-3*u*u+8*o+24*s*s)*c*c*c*c*c/120)/Math.cos(p);if(E=h+Xt(E),t.accuracy){var w=Yt({northing:t.northing+t.accuracy,easting:t.easting+t.accuracy,zoneLetter:t.zoneLetter,zoneNumber:t.zoneNumber});T={top:w.lat,right:w.lon,bottom:v,left:E};}else T={lat:v,lon:E};return T}function Zt(t){var e=t%Dt;return 0===e&&(e=Dt),e}function Qt(t){if(t&&0===t.length)throw "MGRSPoint coverting from nothing";for(var e,n=t.length,r=null,i="",o=0;!/[A-Z]/.test(e=t.charAt(o));){if(o>=2)throw "MGRSPoint bad conversion from: "+t;i+=e,o++;}var a=parseInt(i,10);if(0===o||o+3>n)throw "MGRSPoint bad conversion from: "+t;var s=t.charAt(o++);if(s<="A"||"B"===s||"Y"===s||s>="Z"||"I"===s||"O"===s)throw "MGRSPoint zone letter "+s+" not handled: "+t;r=t.substring(o,o+=2);for(var u=Zt(a),l=function(t,e){for(var n=kt.charCodeAt(e-1),r=1e5,i=!1;n!==t.charCodeAt(0);){if(++n===Bt&&n++,n===jt&&n++,n>Wt){if(i)throw "Bad character: "+t;n=Ut,i=!0;}r+=1e5;}return r}(r.charAt(0),u),c=function(t,e){if(t>"V")throw "MGRSPoint given invalid Northing "+t;for(var n=Ft.charCodeAt(e-1),r=0,i=!1;n!==t.charCodeAt(0);){if(++n===Bt&&n++,n===jt&&n++,n>Gt){if(i)throw "Bad character: "+t;n=Ut,i=!0;}r+=1e5;}return r}(r.charAt(1),u);c0&&(f=1e5/Math.pow(10,y),p=t.substring(o,o+y),m=parseFloat(p)*f,d=t.substring(o+y),g=parseFloat(d)*f),{easting:m+l,northing:g+c,zoneLetter:s,zoneNumber:a,accuracy:f}}function Kt(t){var e;switch(t){case "C":e=11e5;break;case "D":e=2e6;break;case "E":e=28e5;break;case "F":e=37e5;break;case "G":e=46e5;break;case "H":e=55e5;break;case "J":e=64e5;break;case "K":e=73e5;break;case "L":e=82e5;break;case "M":e=91e5;break;case "N":e=0;break;case "P":e=8e5;break;case "Q":e=17e5;break;case "R":e=26e5;break;case "S":e=35e5;break;case "T":e=44e5;break;case "U":e=53e5;break;case "V":e=62e5;break;case "W":e=7e6;break;case "X":e=79e5;break;default:e=-1;}if(e>=0)return e;throw "Invalid zone letter: "+t}var Jt=n(5108);function $t(t,e,n){if(!(this instanceof $t))return new $t(t,e,n);if(Array.isArray(t))this.x=t[0],this.y=t[1],this.z=t[2]||0;else if("object"==typeof t)this.x=t.x,this.y=t.y,this.z=t.z||0;else if("string"==typeof t&&void 0===e){var r=t.split(",");this.x=parseFloat(r[0],10),this.y=parseFloat(r[1],10),this.z=parseFloat(r[2],10)||0;}else this.x=t,this.y=e,this.z=n||0;Jt.warn("proj4.Point will be removed in version 3, use proj4.toPoint");}$t.fromMGRS=function(t){return new $t(zt(t))},$t.prototype.toMGRS=function(t){return Ht([this.x,this.y],t)};const te=$t;var ee=1,ne=.25,re=.046875,ie=.01953125,oe=.01068115234375,ae=.75,se=.46875,ue=.013020833333333334,le=.007120768229166667,ce=.3645833333333333,he=.005696614583333333,fe=.3076171875;function pe(t){var e=[];e[0]=ee-t*(ne+t*(re+t*(ie+t*oe))),e[1]=t*(ae-t*(re+t*(ie+t*oe)));var n=t*t;return e[2]=n*(se-t*(ue+t*le)),n*=t,e[3]=n*(ce-t*he),e[4]=n*t*fe,e}function de(t,e,n,r){return n*=e,e*=e,r[0]*t-n*(r[1]+e*(r[2]+e*(r[3]+e*r[4])))}var ye=20;function me(t,e,n){for(var r=1/(1-e),i=t,o=ye;o;--o){var a=Math.sin(i),s=1-e*a*a;if(i-=s=(de(i,a,Math.cos(i),n)-t)*(s*Math.sqrt(s))*r,Math.abs(s)y?Math.tan(o):0,d=Math.pow(p,2),m=Math.pow(d,2);e=1-this.es*Math.pow(s,2),l/=Math.sqrt(e);var g=de(o,s,u,this.en);n=this.a*(this.k0*l*(1+c/6*(1-d+h+c/20*(5-18*d+m+14*h-58*d*h+c/42*(61+179*m-m*d-479*d)))))+this.x0,r=this.a*(this.k0*(g-this.ml0+s*a*l/2*(1+c/12*(5-d+9*h+4*f+c/30*(61+m-58*d+270*h-330*d*h+c/56*(1385+543*m-m*d-3111*d))))))+this.y0;}else {var _=u*Math.sin(a);if(Math.abs(Math.abs(_)-1)=1){if(_-1>y)return 93;r=0;}else r=Math.acos(r);o<0&&(r=-r),r=this.a*this.k0*(r-this.lat0)+this.y0;}return t.x=n,t.y=r,t},inverse:function(t){var e,n,r,i,o=(t.x-this.x0)*(1/this.a),a=(t.y-this.y0)*(1/this.a);if(this.es)if(n=me(e=this.ml0+a/this.k0,this.es,this.en),Math.abs(n)y?Math.tan(n):0,c=this.ep2*Math.pow(u,2),f=Math.pow(c,2),p=Math.pow(l,2),d=Math.pow(p,2);e=1-this.es*Math.pow(s,2);var m=o*Math.sqrt(e)/this.k0,g=Math.pow(m,2);r=n-(e*=l)*g/(1-this.es)*.5*(1-g/12*(5+3*p-9*c*p+c-4*f-g/30*(61+90*p-252*c*p+45*d+46*c-g/56*(1385+3633*p+4095*d+1574*d*p)))),i=Y(this.long0+m*(1-g/6*(1+2*p+c-g/20*(5+28*p+24*d+8*c*p+6*c-g/42*(61+662*p+1320*d+720*d*p))))/u);}else r=h*X(a),i=0;else {var _=Math.exp(o/this.k0),b=.5*(_-1/_),v=this.lat0+a/this.k0,T=Math.cos(v);e=Math.sqrt((1-Math.pow(T,2))/(1+Math.pow(b,2))),r=Math.asin(e),a<0&&(r=-r),i=0===b&&0===T?0:Y(Math.atan2(b,T)+this.long0);}return t.x=i,t.y=r,t},names:["Fast_Transverse_Mercator","Fast Transverse Mercator"]};function _e(t){var e=Math.exp(t);return (e-1/e)/2}function be(t,e){t=Math.abs(t),e=Math.abs(e);var n=Math.max(t,e),r=Math.min(t,e)/(n||1);return n*Math.sqrt(1+Math.pow(r,2))}function ve(t,e){for(var n,r=2*Math.cos(2*e),i=t.length-1,o=t[i],a=0;--i>=0;)n=r*o-a+t[i],a=o,o=n;return e+n*Math.sin(2*e)}function Te(t,e,n){for(var r,i,o=Math.sin(e),a=Math.cos(e),s=_e(n),u=function(t){var e=Math.exp(t);return (e+1/e)/2}(n),l=2*a*u,c=-2*o*s,h=t.length-1,f=t[h],p=0,d=0,y=0;--h>=0;)r=d,i=p,f=l*(d=f)-r-c*(p=y)+t[h],y=c*d-i+l*p;return [(l=o*u)*f-(c=a*s)*y,l*y+c*f]}const Ee={init:function(){if(!this.approx&&(isNaN(this.es)||this.es<=0))throw new Error('Incorrect elliptical usage. Try using the +approx option in the proj string, or PROJECTION["Fast_Transverse_Mercator"] in the WKT.');this.approx&&(ge.init.apply(this),this.forward=ge.forward,this.inverse=ge.inverse),this.x0=void 0!==this.x0?this.x0:0,this.y0=void 0!==this.y0?this.y0:0,this.long0=void 0!==this.long0?this.long0:0,this.lat0=void 0!==this.lat0?this.lat0:0,this.cgb=[],this.cbg=[],this.utg=[],this.gtu=[];var t=this.es/(1+Math.sqrt(1-this.es)),e=t/(2-t),n=e;this.cgb[0]=e*(2+e*(-2/3+e*(e*(116/45+e*(26/45+e*(-2854/675)))-2))),this.cbg[0]=e*(e*(2/3+e*(4/3+e*(-82/45+e*(32/45+e*(4642/4725)))))-2),n*=e,this.cgb[1]=n*(7/3+e*(e*(-227/45+e*(2704/315+e*(2323/945)))-1.6)),this.cbg[1]=n*(5/3+e*(-16/15+e*(-13/9+e*(904/315+e*(-1522/945))))),n*=e,this.cgb[2]=n*(56/15+e*(-136/35+e*(-1262/105+e*(73814/2835)))),this.cbg[2]=n*(-26/15+e*(34/21+e*(1.6+e*(-12686/2835)))),n*=e,this.cgb[3]=n*(4279/630+e*(-332/35+e*(-399572/14175))),this.cbg[3]=n*(1237/630+e*(e*(-24832/14175)-2.4)),n*=e,this.cgb[4]=n*(4174/315+e*(-144838/6237)),this.cbg[4]=n*(-734/315+e*(109598/31185)),n*=e,this.cgb[5]=n*(601676/22275),this.cbg[5]=n*(444337/155925),n=Math.pow(e,2),this.Qn=this.k0/(1+e)*(1+n*(1/4+n*(1/64+n/256))),this.utg[0]=e*(e*(2/3+e*(-37/96+e*(1/360+e*(81/512+e*(-96199/604800)))))-.5),this.gtu[0]=e*(.5+e*(-2/3+e*(5/16+e*(41/180+e*(-127/288+e*(7891/37800)))))),this.utg[1]=n*(-1/48+e*(-1/15+e*(437/1440+e*(-46/105+e*(1118711/3870720))))),this.gtu[1]=n*(13/48+e*(e*(557/1440+e*(281/630+e*(-1983433/1935360)))-.6)),n*=e,this.utg[2]=n*(-17/480+e*(37/840+e*(209/4480+e*(-5569/90720)))),this.gtu[2]=n*(61/240+e*(-103/140+e*(15061/26880+e*(167603/181440)))),n*=e,this.utg[3]=n*(-4397/161280+e*(11/504+e*(830251/7257600))),this.gtu[3]=n*(49561/161280+e*(-179/168+e*(6601661/7257600))),n*=e,this.utg[4]=n*(-4583/161280+e*(108847/3991680)),this.gtu[4]=n*(34729/80640+e*(-3418889/1995840)),n*=e,this.utg[5]=n*(-20648693/638668800),this.gtu[5]=.6650675310896665*n;var r=ve(this.cbg,this.lat0);this.Zb=-this.Qn*(r+function(t,e){for(var n,r=2*Math.cos(e),i=t.length-1,o=t[i],a=0;--i>=0;)n=r*o-a+t[i],a=o,o=n;return Math.sin(e)*n}(this.gtu,2*r));},forward:function(t){var e=Y(t.x-this.long0),n=t.y;n=ve(this.cbg,n);var r=Math.sin(n),i=Math.cos(n),o=Math.sin(e),a=Math.cos(e);n=Math.atan2(r,a*i),e=Math.atan2(o*i,be(r,i*a)),e=function(t){var e=Math.abs(t);return e=function(t){var e=1+t,n=e-1;return 0===n?t:t*Math.log(e)/n}(e*(1+e/(be(1,e)+1))),t<0?-e:e}(Math.tan(e));var s,u,l=Te(this.gtu,2*n,2*e);return n+=l[0],e+=l[1],Math.abs(e)<=2.623395162778?(s=this.a*(this.Qn*e)+this.x0,u=this.a*(this.Qn*n+this.Zb)+this.y0):(s=1/0,u=1/0),t.x=s,t.y=u,t},inverse:function(t){var e,n,r=(t.x-this.x0)*(1/this.a),i=(t.y-this.y0)*(1/this.a);if(i=(i-this.Zb)/this.Qn,r/=this.Qn,Math.abs(r)<=2.623395162778){var o=Te(this.utg,2*i,2*r);i+=o[0],r+=o[1],r=Math.atan(_e(r));var a=Math.sin(i),s=Math.cos(i),u=Math.sin(r),l=Math.cos(r);i=Math.atan2(a*l,be(u,l*s)),e=Y((r=Math.atan2(u,l*s))+this.long0),n=ve(this.cgb,i);}else e=1/0,n=1/0;return t.x=e,t.y=n,t},names:["Extended_Transverse_Mercator","Extended Transverse Mercator","etmerc","Transverse_Mercator","Transverse Mercator","tmerc"]},we={init:function(){var t=function(t,e){if(void 0===t){if((t=Math.floor(30*(Y(e)+Math.PI)/Math.PI)+1)<0)return 0;if(t>60)return 60}return t}(this.zone,this.long0);if(void 0===t)throw new Error("unknown utm zone");this.lat0=0,this.long0=(6*Math.abs(t)-183)*m,this.x0=5e5,this.y0=this.utmSouth?1e7:0,this.k0=.9996,Ee.init.apply(this),this.forward=Ee.forward,this.inverse=Ee.inverse;},names:["Universal Transverse Mercator System","utm"],dependsOn:"etmerc"};function xe(t,e){return Math.pow((1-t)/(1+t),e)}const Ce={init:function(){var t=Math.sin(this.lat0),e=Math.cos(this.lat0);e*=e,this.rc=Math.sqrt(1-this.es)/(1-this.es*t*t),this.C=Math.sqrt(1+this.es*e*e/(1-this.es)),this.phic0=Math.asin(t/this.C),this.ratexp=.5*this.C*this.e,this.K=Math.tan(.5*this.phic0+_)/(Math.pow(Math.tan(.5*this.lat0+_),this.C)*xe(this.e*t,this.ratexp));},forward:function(t){var e=t.x,n=t.y;return t.y=2*Math.atan(this.K*Math.pow(Math.tan(.5*n+_),this.C)*xe(this.e*Math.sin(n),this.ratexp))-h,t.x=this.C*e,t},inverse:function(t){for(var e=t.x/this.C,n=t.y,r=Math.pow(Math.tan(.5*n+_)/this.K,1/this.C),i=20;i>0&&(n=2*Math.atan(r*xe(this.e*Math.sin(t.y),-.5*this.e))-h,!(Math.abs(n-t.y)<1e-14));--i)t.y=n;return i?(t.x=e,t.y=n,t):null},names:["gauss"]},Me={init:function(){Ce.init.apply(this),this.rc&&(this.sinc0=Math.sin(this.phic0),this.cosc0=Math.cos(this.phic0),this.R2=2*this.rc,this.title||(this.title="Oblique Stereographic Alternative"));},forward:function(t){var e,n,r,i;return t.x=Y(t.x-this.long0),Ce.forward.apply(this,[t]),e=Math.sin(t.y),n=Math.cos(t.y),r=Math.cos(t.x),i=this.k0*this.R2/(1+this.sinc0*e+this.cosc0*n*r),t.x=i*n*Math.sin(t.x),t.y=i*(this.cosc0*e-this.sinc0*n*r),t.x=this.a*t.x+this.x0,t.y=this.a*t.y+this.y0,t},inverse:function(t){var e,n,r,i,o;if(t.x=(t.x-this.x0)/this.a,t.y=(t.y-this.y0)/this.a,t.x/=this.k0,t.y/=this.k0,o=Math.sqrt(t.x*t.x+t.y*t.y)){var a=2*Math.atan2(o,this.R2);e=Math.sin(a),n=Math.cos(a),i=Math.asin(n*this.sinc0+t.y*e*this.cosc0/o),r=Math.atan2(t.x*e,o*this.cosc0*n-t.y*this.sinc0*e);}else i=this.phic0,r=0;return t.x=r,t.y=i,Ce.inverse.apply(this,[t]),t.x=Y(t.x+this.long0),t},names:["Stereographic_North_Pole","Oblique_Stereographic","Polar_Stereographic","sterea","Oblique Stereographic Alternative","Double_Stereographic"]},Se={init:function(){this.coslat0=Math.cos(this.lat0),this.sinlat0=Math.sin(this.lat0),this.sphere?1===this.k0&&!isNaN(this.lat_ts)&&Math.abs(this.coslat0)<=y&&(this.k0=.5*(1+X(this.lat0)*Math.sin(this.lat_ts))):(Math.abs(this.coslat0)<=y&&(this.lat0>0?this.con=1:this.con=-1),this.cons=Math.sqrt(Math.pow(1+this.e,1+this.e)*Math.pow(1-this.e,1-this.e)),1===this.k0&&!isNaN(this.lat_ts)&&Math.abs(this.coslat0)<=y&&(this.k0=.5*this.cons*V(this.e,Math.sin(this.lat_ts),Math.cos(this.lat_ts))/Z(this.e,this.con*this.lat_ts,this.con*Math.sin(this.lat_ts))),this.ms1=V(this.e,this.sinlat0,this.coslat0),this.X0=2*Math.atan(this.ssfn_(this.lat0,this.sinlat0,this.e))-h,this.cosX0=Math.cos(this.X0),this.sinX0=Math.sin(this.X0));},forward:function(t){var e,n,r,i,o,a,s=t.x,u=t.y,l=Math.sin(u),c=Math.cos(u),f=Y(s-this.long0);return Math.abs(Math.abs(s-this.long0)-Math.PI)<=y&&Math.abs(u+this.lat0)<=y?(t.x=NaN,t.y=NaN,t):this.sphere?(e=2*this.k0/(1+this.sinlat0*l+this.coslat0*c*Math.cos(f)),t.x=this.a*e*c*Math.sin(f)+this.x0,t.y=this.a*e*(this.coslat0*l-this.sinlat0*c*Math.cos(f))+this.y0,t):(n=2*Math.atan(this.ssfn_(u,l,this.e))-h,i=Math.cos(n),r=Math.sin(n),Math.abs(this.coslat0)<=y?(o=Z(this.e,u*this.con,this.con*l),a=2*this.a*this.k0*o/this.cons,t.x=this.x0+a*Math.sin(s-this.long0),t.y=this.y0-this.con*a*Math.cos(s-this.long0),t):(Math.abs(this.sinlat0)0?Y(this.long0+Math.atan2(t.x,-1*t.y)):Y(this.long0+Math.atan2(t.x,t.y)):Y(this.long0+Math.atan2(t.x*Math.sin(s),a*this.coslat0*Math.cos(s)-t.y*this.sinlat0*Math.sin(s))),t.x=e,t.y=n,t)}if(Math.abs(this.coslat0)<=y){if(a<=y)return n=this.lat0,e=this.long0,t.x=e,t.y=n,t;t.x*=this.con,t.y*=this.con,r=a*this.cons/(2*this.a*this.k0),n=this.con*Q(this.e,r),e=this.con*Y(this.con*this.long0+Math.atan2(t.x,-1*t.y));}else i=2*Math.atan(a*this.cosX0/(2*this.a*this.k0*this.ms1)),e=this.long0,a<=y?o=this.X0:(o=Math.asin(Math.cos(i)*this.sinX0+t.y*Math.sin(i)*this.cosX0/a),e=Y(this.long0+Math.atan2(t.x*Math.sin(i),a*this.cosX0*Math.cos(i)-t.y*this.sinX0*Math.sin(i)))),n=-1*Q(this.e,Math.tan(.5*(h+o)));return t.x=e,t.y=n,t},names:["stere","Stereographic_South_Pole","Polar Stereographic (variant B)"],ssfn_:function(t,e,n){return e*=n,Math.tan(.5*(h+t))*Math.pow((1-e)/(1+e),.5*n)}},Ne={init:function(){var t=this.lat0;this.lambda0=this.long0;var e=Math.sin(t),n=this.a,r=1/this.rf,i=2*r-Math.pow(r,2),o=this.e=Math.sqrt(i);this.R=this.k0*n*Math.sqrt(1-i)/(1-i*Math.pow(e,2)),this.alpha=Math.sqrt(1+i/(1-i)*Math.pow(Math.cos(t),4)),this.b0=Math.asin(e/this.alpha);var a=Math.log(Math.tan(Math.PI/4+this.b0/2)),s=Math.log(Math.tan(Math.PI/4+t/2)),u=Math.log((1+o*e)/(1-o*e));this.K=a-this.alpha*s+this.alpha*o/2*u;},forward:function(t){var e=Math.log(Math.tan(Math.PI/4-t.y/2)),n=this.e/2*Math.log((1+this.e*Math.sin(t.y))/(1-this.e*Math.sin(t.y))),r=-this.alpha*(e+n)+this.K,i=2*(Math.atan(Math.exp(r))-Math.PI/4),o=this.alpha*(t.x-this.lambda0),a=Math.atan(Math.sin(o)/(Math.sin(this.b0)*Math.tan(i)+Math.cos(this.b0)*Math.cos(o))),s=Math.asin(Math.cos(this.b0)*Math.sin(i)-Math.sin(this.b0)*Math.cos(i)*Math.cos(o));return t.y=this.R/2*Math.log((1+Math.sin(s))/(1-Math.sin(s)))+this.y0,t.x=this.R*a+this.x0,t},inverse:function(t){for(var e=t.x-this.x0,n=t.y-this.y0,r=e/this.R,i=2*(Math.atan(Math.exp(n/this.R))-Math.PI/4),o=Math.asin(Math.cos(this.b0)*Math.sin(i)+Math.sin(this.b0)*Math.cos(i)*Math.cos(r)),a=Math.atan(Math.sin(r)/(Math.cos(this.b0)*Math.cos(r)-Math.sin(this.b0)*Math.tan(i))),s=this.lambda0+a/this.alpha,u=0,l=o,c=-1e3,h=0;Math.abs(l-c)>1e-7;){if(++h>20)return;u=1/this.alpha*(Math.log(Math.tan(Math.PI/4+o/2))-this.K)+this.e*Math.log(Math.tan(Math.PI/4+Math.asin(this.e*Math.sin(l))/2)),c=l,l=2*Math.atan(Math.exp(u))-Math.PI/2;}return t.x=s,t.y=l,t},names:["somerc"]};var Oe=1e-7;const Ae={init:function(){var t,e,n,r,i,o,a,s,u,l,c,f,p,d=0,g=0,v=0,T=0,E=0,w=0,x=0;this.no_off=(p="object"==typeof(f=this).PROJECTION?Object.keys(f.PROJECTION)[0]:f.PROJECTION,"no_uoff"in f||"no_off"in f||-1!==["Hotine_Oblique_Mercator","Hotine_Oblique_Mercator_Azimuth_Natural_Origin"].indexOf(p)),this.no_rot="no_rot"in this;var C=!1;"alpha"in this&&(C=!0);var M=!1;if("rectified_grid_angle"in this&&(M=!0),C&&(x=this.alpha),M&&(d=this.rectified_grid_angle*m),C||M)g=this.longc;else if(v=this.long1,E=this.lat1,T=this.long2,w=this.lat2,Math.abs(E-w)<=Oe||(t=Math.abs(E))<=Oe||Math.abs(t-h)<=Oe||Math.abs(Math.abs(this.lat0)-h)<=Oe||Math.abs(Math.abs(w)-h)<=Oe)throw new Error;var S=1-this.es;e=Math.sqrt(S),Math.abs(this.lat0)>y?(s=Math.sin(this.lat0),n=Math.cos(this.lat0),t=1-this.es*s*s,this.B=n*n,this.B=Math.sqrt(1+this.es*this.B*this.B/S),this.A=this.B*this.k0*e/t,(i=(r=this.B*e/(n*Math.sqrt(t)))*r-1)<=0?i=0:(i=Math.sqrt(i),this.lat0<0&&(i=-i)),this.E=i+=r,this.E*=Math.pow(Z(this.e,this.lat0,s),this.B)):(this.B=1/e,this.A=this.k0,this.E=r=i=1),C||M?(C?(c=Math.asin(Math.sin(x)/r),M||(d=x)):(c=d,x=Math.asin(r*Math.sin(c))),this.lam0=g-Math.asin(.5*(i-1/i)*Math.tan(c))/this.B):(o=Math.pow(Z(this.e,E,Math.sin(E)),this.B),a=Math.pow(Z(this.e,w,Math.sin(w)),this.B),i=this.E/o,u=(a-o)/(a+o),l=((l=this.E*this.E)-a*o)/(l+a*o),(t=v-T)<-Math.pi?T-=b:t>Math.pi&&(T+=b),this.lam0=Y(.5*(v+T)-Math.atan(l*Math.tan(.5*this.B*(v-T))/u)/this.B),c=Math.atan(2*Math.sin(this.B*Y(v-this.lam0))/(i-1/i)),d=x=Math.asin(r*Math.sin(c))),this.singam=Math.sin(c),this.cosgam=Math.cos(c),this.sinrot=Math.sin(d),this.cosrot=Math.cos(d),this.rB=1/this.B,this.ArB=this.A*this.rB,this.BrA=1/this.ArB,this.A,this.B,this.no_off?this.u_0=0:(this.u_0=Math.abs(this.ArB*Math.atan(Math.sqrt(r*r-1)/Math.cos(x))),this.lat0<0&&(this.u_0=-this.u_0)),i=.5*c,this.v_pole_n=this.ArB*Math.log(Math.tan(_-i)),this.v_pole_s=this.ArB*Math.log(Math.tan(_+i));},forward:function(t){var e,n,r,i,o,a,s,u,l={};if(t.x=t.x-this.lam0,Math.abs(Math.abs(t.y)-h)>y){if(e=.5*((o=this.E/Math.pow(Z(this.e,t.y,Math.sin(t.y)),this.B))-(a=1/o)),n=.5*(o+a),i=Math.sin(this.B*t.x),r=(e*this.singam-i*this.cosgam)/n,Math.abs(Math.abs(r)-1)0?this.v_pole_n:this.v_pole_s,s=this.ArB*t.y;return this.no_rot?(l.x=s,l.y=u):(s-=this.u_0,l.x=u*this.cosrot+s*this.sinrot,l.y=s*this.cosrot-u*this.sinrot),l.x=this.a*l.x+this.x0,l.y=this.a*l.y+this.y0,l},inverse:function(t){var e,n,r,i,o,a,s,u={};if(t.x=(t.x-this.x0)*(1/this.a),t.y=(t.y-this.y0)*(1/this.a),this.no_rot?(n=t.y,e=t.x):(n=t.x*this.cosrot-t.y*this.sinrot,e=t.y*this.cosrot+t.x*this.sinrot+this.u_0),i=.5*((r=Math.exp(-this.BrA*n))-1/r),o=.5*(r+1/r),s=((a=Math.sin(this.BrA*e))*this.cosgam+i*this.singam)/o,Math.abs(Math.abs(s)-1)y?this.ns=Math.log(r/s)/Math.log(i/u):this.ns=e,isNaN(this.ns)&&(this.ns=e),this.f0=r/(this.ns*Math.pow(i,this.ns)),this.rh=this.a*this.f0*Math.pow(l,this.ns),this.title||(this.title="Lambert Conformal Conic");}},forward:function(t){var e=t.x,n=t.y;Math.abs(2*Math.abs(n)-Math.PI)<=y&&(n=X(n)*(h-2*y));var r,i,o=Math.abs(Math.abs(n)-h);if(o>y)r=Z(this.e,n,Math.sin(n)),i=this.a*this.f0*Math.pow(r,this.ns);else {if((o=n*this.ns)<=0)return null;i=0;}var a=this.ns*Y(e-this.long0);return t.x=this.k0*(i*Math.sin(a))+this.x0,t.y=this.k0*(this.rh-i*Math.cos(a))+this.y0,t},inverse:function(t){var e,n,r,i,o,a=(t.x-this.x0)/this.k0,s=this.rh-(t.y-this.y0)/this.k0;this.ns>0?(e=Math.sqrt(a*a+s*s),n=1):(e=-Math.sqrt(a*a+s*s),n=-1);var u=0;if(0!==e&&(u=Math.atan2(n*a,n*s)),0!==e||this.ns>0){if(n=1/this.ns,r=Math.pow(e/(this.a*this.f0),n),-9999===(i=Q(this.e,r)))return null}else i=-h;return o=Y(u/this.ns+this.long0),t.x=o,t.y=i,t},names:["Lambert Tangential Conformal Conic Projection","Lambert_Conformal_Conic","Lambert_Conformal_Conic_1SP","Lambert_Conformal_Conic_2SP","lcc","Lambert Conic Conformal (1SP)","Lambert Conic Conformal (2SP)"]},Pe={init:function(){this.a=6377397.155,this.es=.006674372230614,this.e=Math.sqrt(this.es),this.lat0||(this.lat0=.863937979737193),this.long0||(this.long0=.4334234309119251),this.k0||(this.k0=.9999),this.s45=.785398163397448,this.s90=2*this.s45,this.fi0=this.lat0,this.e2=this.es,this.e=Math.sqrt(this.e2),this.alfa=Math.sqrt(1+this.e2*Math.pow(Math.cos(this.fi0),4)/(1-this.e2)),this.uq=1.04216856380474,this.u0=Math.asin(Math.sin(this.fi0)/this.alfa),this.g=Math.pow((1+this.e*Math.sin(this.fi0))/(1-this.e*Math.sin(this.fi0)),this.alfa*this.e/2),this.k=Math.tan(this.u0/2+this.s45)/Math.pow(Math.tan(this.fi0/2+this.s45),this.alfa)*this.g,this.k1=this.k0,this.n0=this.a*Math.sqrt(1-this.e2)/(1-this.e2*Math.pow(Math.sin(this.fi0),2)),this.s0=1.37008346281555,this.n=Math.sin(this.s0),this.ro0=this.k1*this.n0/Math.tan(this.s0),this.ad=this.s90-this.uq;},forward:function(t){var e,n,r,i,o,a,s,u=t.x,l=t.y,c=Y(u-this.long0);return e=Math.pow((1+this.e*Math.sin(l))/(1-this.e*Math.sin(l)),this.alfa*this.e/2),n=2*(Math.atan(this.k*Math.pow(Math.tan(l/2+this.s45),this.alfa)/e)-this.s45),r=-c*this.alfa,i=Math.asin(Math.cos(this.ad)*Math.sin(n)+Math.sin(this.ad)*Math.cos(n)*Math.cos(r)),o=Math.asin(Math.cos(n)*Math.sin(r)/Math.cos(i)),a=this.n*o,s=this.ro0*Math.pow(Math.tan(this.s0/2+this.s45),this.n)/Math.pow(Math.tan(i/2+this.s45),this.n),t.y=s*Math.cos(a)/1,t.x=s*Math.sin(a)/1,this.czech||(t.y*=-1,t.x*=-1),t},inverse:function(t){var e,n,r,i,o,a,s,u=t.x;t.x=t.y,t.y=u,this.czech||(t.y*=-1,t.x*=-1),o=Math.sqrt(t.x*t.x+t.y*t.y),i=Math.atan2(t.y,t.x)/Math.sin(this.s0),r=2*(Math.atan(Math.pow(this.ro0/o,1/this.n)*Math.tan(this.s0/2+this.s45))-this.s45),e=Math.asin(Math.cos(this.ad)*Math.sin(r)-Math.sin(this.ad)*Math.cos(r)*Math.cos(i)),n=Math.asin(Math.cos(r)*Math.sin(i)/Math.cos(e)),t.x=this.long0-n/this.alfa,a=e,s=0;var l=0;do{t.y=2*(Math.atan(Math.pow(this.k,-1/this.alfa)*Math.pow(Math.tan(e/2+this.s45),1/this.alfa)*Math.pow((1+this.e*Math.sin(a))/(1-this.e*Math.sin(a)),this.e/2))-this.s45),Math.abs(a-t.y)<1e-10&&(s=1),a=t.y,l+=1;}while(0===s&&l<15);return l>=15?null:t},names:["Krovak","krovak"]};function Re(t,e,n,r,i){return t*i-e*Math.sin(2*i)+n*Math.sin(4*i)-r*Math.sin(6*i)}function Le(t){return 1-.25*t*(1+t/16*(3+1.25*t))}function De(t){return .375*t*(1+.25*t*(1+.46875*t))}function ke(t){return .05859375*t*t*(1+.75*t)}function Fe(t){return t*t*t*(35/3072)}function Ue(t,e,n){var r=e*n;return t/Math.sqrt(1-r*r)}function Be(t){return Math.abs(t)1e-7?(1-t*t)*(e/(1-(n=t*e)*n)-.5/t*Math.log((1-n)/(1+n))):2*e}const qe={init:function(){var t,e=Math.abs(this.lat0);if(Math.abs(e-h)0)switch(this.qp=We(this.e,1),this.mmf=.5/(1-this.es),this.apa=function(t){var e,n=[];return n[0]=.3333333333333333*t,e=t*t,n[0]+=.17222222222222222*e,n[1]=.06388888888888888*e,e*=t,n[0]+=.10257936507936508*e,n[1]+=.0664021164021164*e,n[2]=.016415012942191543*e,n}(this.es),this.mode){case this.N_POLE:case this.S_POLE:this.dd=1;break;case this.EQUIT:this.rq=Math.sqrt(.5*this.qp),this.dd=1/this.rq,this.xmf=1,this.ymf=.5*this.qp;break;case this.OBLIQ:this.rq=Math.sqrt(.5*this.qp),t=Math.sin(this.lat0),this.sinb1=We(this.e,t)/this.qp,this.cosb1=Math.sqrt(1-this.sinb1*this.sinb1),this.dd=Math.cos(this.lat0)/(Math.sqrt(1-this.es*t*t)*this.rq*this.cosb1),this.ymf=(this.xmf=this.rq)/this.dd,this.xmf*=this.dd;}else this.mode===this.OBLIQ&&(this.sinph0=Math.sin(this.lat0),this.cosph0=Math.cos(this.lat0));},forward:function(t){var e,n,r,i,o,a,s,u,l,c,f=t.x,p=t.y;if(f=Y(f-this.long0),this.sphere){if(o=Math.sin(p),c=Math.cos(p),r=Math.cos(f),this.mode===this.OBLIQ||this.mode===this.EQUIT){if((n=this.mode===this.EQUIT?1+c*r:1+this.sinph0*o+this.cosph0*c*r)<=y)return null;e=(n=Math.sqrt(2/n))*c*Math.sin(f),n*=this.mode===this.EQUIT?o:this.cosph0*o-this.sinph0*c*r;}else if(this.mode===this.N_POLE||this.mode===this.S_POLE){if(this.mode===this.N_POLE&&(r=-r),Math.abs(p+this.lat0)=0?(e=(l=Math.sqrt(a))*i,n=r*(this.mode===this.S_POLE?l:-l)):e=n=0;}}return t.x=this.a*e+this.x0,t.y=this.a*n+this.y0,t},inverse:function(t){t.x-=this.x0,t.y-=this.y0;var e,n,r,i,o,a,s,u,l,c,f=t.x/this.a,p=t.y/this.a;if(this.sphere){var d,m=0,g=0;if((n=.5*(d=Math.sqrt(f*f+p*p)))>1)return null;switch(n=2*Math.asin(n),this.mode!==this.OBLIQ&&this.mode!==this.EQUIT||(g=Math.sin(n),m=Math.cos(n)),this.mode){case this.EQUIT:n=Math.abs(d)<=y?0:Math.asin(p*g/d),f*=g,p=m*d;break;case this.OBLIQ:n=Math.abs(d)<=y?this.lat0:Math.asin(m*this.sinph0+p*g*this.cosph0/d),f*=g*this.cosph0,p=(m-Math.sin(n)*this.sinph0)*d;break;case this.N_POLE:p=-p,n=h-n;break;case this.S_POLE:n-=h;}e=0!==p||this.mode!==this.EQUIT&&this.mode!==this.OBLIQ?Math.atan2(f,p):0;}else {if(s=0,this.mode===this.OBLIQ||this.mode===this.EQUIT){if(f/=this.dd,p*=this.dd,(a=Math.sqrt(f*f+p*p))1&&(t=t>1?1:-1),Math.asin(t)}const ze={init:function(){Math.abs(this.lat1+this.lat2)y?this.ns0=(this.ms1*this.ms1-this.ms2*this.ms2)/(this.qs2-this.qs1):this.ns0=this.con,this.c=this.ms1*this.ms1+this.ns0*this.qs1,this.rh=this.a*Math.sqrt(this.c-this.ns0*this.qs0)/this.ns0);},forward:function(t){var e=t.x,n=t.y;this.sin_phi=Math.sin(n),this.cos_phi=Math.cos(n);var r=We(this.e3,this.sin_phi,this.cos_phi),i=this.a*Math.sqrt(this.c-this.ns0*r)/this.ns0,o=this.ns0*Y(e-this.long0),a=i*Math.sin(o)+this.x0,s=this.rh-i*Math.cos(o)+this.y0;return t.x=a,t.y=s,t},inverse:function(t){var e,n,r,i,o,a;return t.x-=this.x0,t.y=this.rh-t.y+this.y0,this.ns0>=0?(e=Math.sqrt(t.x*t.x+t.y*t.y),r=1):(e=-Math.sqrt(t.x*t.x+t.y*t.y),r=-1),i=0,0!==e&&(i=Math.atan2(r*t.x,r*t.y)),r=e*this.ns0/this.a,this.sphere?a=Math.asin((this.c-r*r)/(2*this.ns0)):(n=(this.c-r*r)/this.ns0,a=this.phi1z(this.e3,n)),o=Y(i/this.ns0+this.long0),t.x=o,t.y=a,t},names:["Albers_Conic_Equal_Area","Albers","aea"],phi1z:function(t,e){var n,r,i,o,a=He(.5*e);if(t0||Math.abs(o)<=y?(a=this.x0+1*this.a*n*Math.sin(r)/o,s=this.y0+1*this.a*(this.cos_p14*e-this.sin_p14*n*i)/o):(a=this.x0+this.infinity_dist*n*Math.sin(r),s=this.y0+this.infinity_dist*(this.cos_p14*e-this.sin_p14*n*i)),t.x=a,t.y=s,t},inverse:function(t){var e,n,r,i,o,a;return t.x=(t.x-this.x0)/this.a,t.y=(t.y-this.y0)/this.a,t.x/=this.k0,t.y/=this.k0,(e=Math.sqrt(t.x*t.x+t.y*t.y))?(i=Math.atan2(e,this.rc),n=Math.sin(i),a=He((r=Math.cos(i))*this.sin_p14+t.y*n*this.cos_p14/e),o=Math.atan2(t.x*n,e*this.cos_p14*r-t.y*this.sin_p14*n),o=Y(this.long0+o)):(a=this.phic0,o=0),t.x=o,t.y=a,t},names:["gnom"]},Xe={init:function(){this.sphere||(this.k0=V(this.e,Math.sin(this.lat_ts),Math.cos(this.lat_ts)));},forward:function(t){var e,n,r=t.x,i=t.y,o=Y(r-this.long0);if(this.sphere)e=this.x0+this.a*o*Math.cos(this.lat_ts),n=this.y0+this.a*Math.sin(i)/Math.cos(this.lat_ts);else {var a=We(this.e,Math.sin(i));e=this.x0+this.a*this.k0*o,n=this.y0+this.a*a*.5/this.k0;}return t.x=e,t.y=n,t},inverse:function(t){var e,n;return t.x-=this.x0,t.y-=this.y0,this.sphere?(e=Y(this.long0+t.x/this.a/Math.cos(this.lat_ts)),n=Math.asin(t.y/this.a*Math.cos(this.lat_ts))):(n=function(t,e){var n=1-(1-t*t)/(2*t)*Math.log((1-t)/(1+t));if(Math.abs(Math.abs(e)-n)<1e-6)return e<0?-1*h:h;for(var r,i,o,a,s=Math.asin(.5*e),u=0;u<30;u++)if(i=Math.sin(s),o=Math.cos(s),a=t*i,s+=r=Math.pow(1-a*a,2)/(2*o)*(e/(1-t*t)-i/(1-a*a)+.5/t*Math.log((1-a)/(1+a))),Math.abs(r)<=1e-10)return s;return NaN}(this.e,2*t.y*this.k0/this.a),e=Y(this.long0+t.x/(this.a*this.k0))),t.x=e,t.y=n,t},names:["cea"]},Ye={init:function(){this.x0=this.x0||0,this.y0=this.y0||0,this.lat0=this.lat0||0,this.long0=this.long0||0,this.lat_ts=this.lat_ts||0,this.title=this.title||"Equidistant Cylindrical (Plate Carre)",this.rc=Math.cos(this.lat_ts);},forward:function(t){var e=t.x,n=t.y,r=Y(e-this.long0),i=Be(n-this.lat0);return t.x=this.x0+this.a*r*this.rc,t.y=this.y0+this.a*i,t},inverse:function(t){var e=t.x,n=t.y;return t.x=Y(this.long0+(e-this.x0)/(this.a*this.rc)),t.y=Be(this.lat0+(n-this.y0)/this.a),t},names:["Equirectangular","Equidistant_Cylindrical","eqc"]};const Ze={init:function(){this.temp=this.b/this.a,this.es=1-Math.pow(this.temp,2),this.e=Math.sqrt(this.es),this.e0=Le(this.es),this.e1=De(this.es),this.e2=ke(this.es),this.e3=Fe(this.es),this.ml0=this.a*Re(this.e0,this.e1,this.e2,this.e3,this.lat0);},forward:function(t){var e,n,r,i=t.x,o=t.y,a=Y(i-this.long0);if(r=a*Math.sin(o),this.sphere)Math.abs(o)<=y?(e=this.a*a,n=-1*this.a*this.lat0):(e=this.a*Math.sin(r)/Math.tan(o),n=this.a*(Be(o-this.lat0)+(1-Math.cos(r))/Math.tan(o)));else if(Math.abs(o)<=y)e=this.a*a,n=-1*this.ml0;else {var s=Ue(this.a,this.e,Math.sin(o))/Math.tan(o);e=s*Math.sin(r),n=this.a*Re(this.e0,this.e1,this.e2,this.e3,o)-this.ml0+s*(1-Math.cos(r));}return t.x=e+this.x0,t.y=n+this.y0,t},inverse:function(t){var e,n,r,i,o,a,s,u,l;if(r=t.x-this.x0,i=t.y-this.y0,this.sphere)if(Math.abs(i+this.a*this.lat0)<=y)e=Y(r/this.a+this.long0),n=0;else {var c;for(a=this.lat0+i/this.a,s=r*r/this.a/this.a+a*a,u=a,o=20;o;--o)if(u+=l=-1*(a*(u*(c=Math.tan(u))+1)-u-.5*(u*u+s)*c)/((u-a)/c-1),Math.abs(l)<=y){n=u;break}e=Y(this.long0+Math.asin(r*Math.tan(u)/this.a)/Math.sin(n));}else if(Math.abs(i+this.ml0)<=y)n=0,e=Y(this.long0+r/this.a);else {var h,f,p,d,m;for(a=(this.ml0+i)/this.a,s=r*r/this.a/this.a+a*a,u=a,o=20;o;--o)if(m=this.e*Math.sin(u),h=Math.sqrt(1-m*m)*Math.tan(u),f=this.a*Re(this.e0,this.e1,this.e2,this.e3,u),p=this.e0-2*this.e1*Math.cos(2*u)+4*this.e2*Math.cos(4*u)-6*this.e3*Math.cos(6*u),u-=l=(a*(h*(d=f/this.a)+1)-d-.5*h*(d*d+s))/(this.es*Math.sin(2*u)*(d*d+s-2*a*d)/(4*h)+(a-d)*(h*p-2/Math.sin(2*u))-p),Math.abs(l)<=y){n=u;break}h=Math.sqrt(1-this.es*Math.pow(Math.sin(n),2))*Math.tan(n),e=Y(this.long0+Math.asin(r*h/this.a)/Math.sin(n));}return t.x=e,t.y=n,t},names:["Polyconic","poly"]},Qe={init:function(){this.A=[],this.A[1]=.6399175073,this.A[2]=-.1358797613,this.A[3]=.063294409,this.A[4]=-.02526853,this.A[5]=.0117879,this.A[6]=-.0055161,this.A[7]=.0026906,this.A[8]=-.001333,this.A[9]=67e-5,this.A[10]=-34e-5,this.B_re=[],this.B_im=[],this.B_re[1]=.7557853228,this.B_im[1]=0,this.B_re[2]=.249204646,this.B_im[2]=.003371507,this.B_re[3]=-.001541739,this.B_im[3]=.04105856,this.B_re[4]=-.10162907,this.B_im[4]=.01727609,this.B_re[5]=-.26623489,this.B_im[5]=-.36249218,this.B_re[6]=-.6870983,this.B_im[6]=-1.1651967,this.C_re=[],this.C_im=[],this.C_re[1]=1.3231270439,this.C_im[1]=0,this.C_re[2]=-.577245789,this.C_im[2]=-.007809598,this.C_re[3]=.508307513,this.C_im[3]=-.112208952,this.C_re[4]=-.15094762,this.C_im[4]=.18200602,this.C_re[5]=1.01418179,this.C_im[5]=1.64497696,this.C_re[6]=1.9660549,this.C_im[6]=2.5127645,this.D=[],this.D[1]=1.5627014243,this.D[2]=.5185406398,this.D[3]=-.03333098,this.D[4]=-.1052906,this.D[5]=-.0368594,this.D[6]=.007317,this.D[7]=.0122,this.D[8]=.00394,this.D[9]=-.0013;},forward:function(t){var e,n=t.x,r=t.y-this.lat0,i=n-this.long0,o=r/c*1e-5,a=i,s=1,u=0;for(e=1;e<=10;e++)s*=o,u+=this.A[e]*s;var l,h=u,f=a,p=1,d=0,y=0,m=0;for(e=1;e<=6;e++)l=d*h+p*f,p=p*h-d*f,d=l,y=y+this.B_re[e]*p-this.B_im[e]*d,m=m+this.B_im[e]*p+this.B_re[e]*d;return t.x=m*this.a+this.x0,t.y=y*this.a+this.y0,t},inverse:function(t){var e,n,r=t.x,i=t.y,o=r-this.x0,a=(i-this.y0)/this.a,s=o/this.a,u=1,l=0,h=0,f=0;for(e=1;e<=6;e++)n=l*a+u*s,u=u*a-l*s,l=n,h=h+this.C_re[e]*u-this.C_im[e]*l,f=f+this.C_im[e]*u+this.C_re[e]*l;for(var p=0;p.999999999999&&(n=.999999999999),e=Math.asin(n);var r=Y(this.long0+t.x/(.900316316158*this.a*Math.cos(e)));r<-Math.PI&&(r=-Math.PI),r>Math.PI&&(r=Math.PI),n=(2*e+Math.sin(2*e))/Math.PI,Math.abs(n)>1&&(n=1);var i=Math.asin(n);return t.x=r,t.y=i,t},names:["Mollweide","moll"]},tn={init:function(){Math.abs(this.lat1+this.lat2)=0?(n=Math.sqrt(t.x*t.x+t.y*t.y),e=1):(n=-Math.sqrt(t.x*t.x+t.y*t.y),e=-1);var o=0;return 0!==n&&(o=Math.atan2(e*t.x,e*t.y)),this.sphere?(i=Y(this.long0+o/this.ns),r=Be(this.g-n/this.a),t.x=i,t.y=r,t):(r=je(this.g-n/this.a,this.e0,this.e1,this.e2,this.e3),i=Y(this.long0+o/this.ns),t.x=i,t.y=r,t)},names:["Equidistant_Conic","eqdc"]},en={init:function(){this.R=this.a;},forward:function(t){var e,n,r=t.x,i=t.y,o=Y(r-this.long0);Math.abs(i)<=y&&(e=this.x0+this.R*o,n=this.y0);var a=He(2*Math.abs(i/Math.PI));(Math.abs(o)<=y||Math.abs(Math.abs(i)-h)<=y)&&(e=this.x0,n=i>=0?this.y0+Math.PI*this.R*Math.tan(.5*a):this.y0+Math.PI*this.R*-Math.tan(.5*a));var s=.5*Math.abs(Math.PI/o-o/Math.PI),u=s*s,l=Math.sin(a),c=Math.cos(a),f=c/(l+c-1),p=f*f,d=f*(2/l-1),m=d*d,g=Math.PI*this.R*(s*(f-m)+Math.sqrt(u*(f-m)*(f-m)-(m+u)*(p-m)))/(m+u);o<0&&(g=-g),e=this.x0+g;var _=u+f;return g=Math.PI*this.R*(d*_-s*Math.sqrt((m+u)*(u+1)-_*_))/(m+u),n=i>=0?this.y0+g:this.y0-g,t.x=e,t.y=n,t},inverse:function(t){var e,n,r,i,o,a,s,u,l,c,h,f;return t.x-=this.x0,t.y-=this.y0,h=Math.PI*this.R,o=(r=t.x/h)*r+(i=t.y/h)*i,h=3*(i*i/(u=-2*(a=-Math.abs(i)*(1+o))+1+2*i*i+o*o)+(2*(s=a-2*i*i+r*r)*s*s/u/u/u-9*a*s/u/u)/27)/(l=(a-s*s/3/u)/u)/(c=2*Math.sqrt(-l/3)),Math.abs(h)>1&&(h=h>=0?1:-1),f=Math.acos(h)/3,n=t.y>=0?(-c*Math.cos(f+Math.PI/3)-s/3/u)*Math.PI:-(-c*Math.cos(f+Math.PI/3)-s/3/u)*Math.PI,e=Math.abs(r)2*h*this.a)return;return n=e/this.a,r=Math.sin(n),i=Math.cos(n),o=this.long0,Math.abs(e)<=y?a=this.lat0:(a=He(i*this.sin_p12+t.y*r*this.cos_p12/e),s=Math.abs(this.lat0)-h,o=Math.abs(s)<=y?this.lat0>=0?Y(this.long0+Math.atan2(t.x,-t.y)):Y(this.long0-Math.atan2(-t.x,t.y)):Y(this.long0+Math.atan2(t.x*r,e*this.cos_p12*i-t.y*this.sin_p12*r))),t.x=o,t.y=a,t}return u=Le(this.es),l=De(this.es),c=ke(this.es),f=Fe(this.es),Math.abs(this.sin_p12-1)<=y?(a=je(((p=this.a*Re(u,l,c,f,h))-(e=Math.sqrt(t.x*t.x+t.y*t.y)))/this.a,u,l,c,f),o=Y(this.long0+Math.atan2(t.x,-1*t.y)),t.x=o,t.y=a,t):Math.abs(this.sin_p12+1)<=y?(p=this.a*Re(u,l,c,f,h),a=je(((e=Math.sqrt(t.x*t.x+t.y*t.y))-p)/this.a,u,l,c,f),o=Y(this.long0+Math.atan2(t.x,t.y)),t.x=o,t.y=a,t):(e=Math.sqrt(t.x*t.x+t.y*t.y),g=Math.atan2(t.x,t.y),d=Ue(this.a,this.e,this.sin_p12),_=Math.cos(g),v=-(b=this.e*this.cos_p12*_)*b/(1-this.es),T=3*this.es*(1-v)*this.sin_p12*this.cos_p12*_/(1-this.es),x=1-v*(w=(E=e/d)-v*(1+v)*Math.pow(E,3)/6-T*(1+3*v)*Math.pow(E,4)/24)*w/2-E*w*w*w/6,m=Math.asin(this.sin_p12*Math.cos(w)+this.cos_p12*Math.sin(w)*_),o=Y(this.long0+Math.asin(Math.sin(g)*Math.sin(w)/Math.cos(m))),C=Math.sin(m),a=Math.atan2((C-this.es*x*this.sin_p12)*Math.tan(m),C*(1-this.es)),t.x=o,t.y=a,t)},names:["Azimuthal_Equidistant","aeqd"]},rn={init:function(){this.sin_p14=Math.sin(this.lat0),this.cos_p14=Math.cos(this.lat0);},forward:function(t){var e,n,r,i,o,a,s,u=t.x,l=t.y;return r=Y(u-this.long0),e=Math.sin(l),n=Math.cos(l),i=Math.cos(r),((o=this.sin_p14*e+this.cos_p14*n*i)>0||Math.abs(o)<=y)&&(a=1*this.a*n*Math.sin(r),s=this.y0+1*this.a*(this.cos_p14*e-this.sin_p14*n*i)),t.x=a,t.y=s,t},inverse:function(t){var e,n,r,i,o,a,s;return t.x-=this.x0,t.y-=this.y0,n=He((e=Math.sqrt(t.x*t.x+t.y*t.y))/this.a),r=Math.sin(n),i=Math.cos(n),a=this.long0,Math.abs(e)<=y?(s=this.lat0,t.x=a,t.y=s,t):(s=He(i*this.sin_p14+t.y*r*this.cos_p14/e),o=Math.abs(this.lat0)-h,Math.abs(o)<=y?(a=this.lat0>=0?Y(this.long0+Math.atan2(t.x,-t.y)):Y(this.long0-Math.atan2(-t.x,t.y)),t.x=a,t.y=s,t):(a=Y(this.long0+Math.atan2(t.x*r,e*this.cos_p14*i-t.y*this.sin_p14*r)),t.x=a,t.y=s,t))},names:["ortho"]};var on=1,an=2,sn=3,un=4,ln=5,cn=6,hn={AREA_0:1,AREA_1:2,AREA_2:3,AREA_3:4};function fn(t,e,n,r){var i;return t_&&i<=h+_?(r.value=hn.AREA_1,i-=h):i>h+_||i<=-(h+_)?(r.value=hn.AREA_2,i=i>=0?i-v:i+v):(r.value=hn.AREA_3,i+=h)),i}function pn(t,e){var n=t+e;return n<-v?n+=b:n>+v&&(n-=b),n}const dn={init:function(){this.x0=this.x0||0,this.y0=this.y0||0,this.lat0=this.lat0||0,this.long0=this.long0||0,this.lat_ts=this.lat_ts||0,this.title=this.title||"Quadrilateralized Spherical Cube",this.lat0>=h-_/2?this.face=ln:this.lat0<=-(h-_/2)?this.face=cn:Math.abs(this.long0)<=_?this.face=on:Math.abs(this.long0)<=h+_?this.face=this.long0>0?an:un:this.face=sn,0!==this.es&&(this.one_minus_f=1-(this.a-this.b)/this.a,this.one_minus_f_squared=this.one_minus_f*this.one_minus_f);},forward:function(t){var e,n,r,i,o,a,s={x:0,y:0},u={value:0};if(t.x-=this.long0,e=0!==this.es?Math.atan(this.one_minus_f_squared*Math.tan(t.y)):t.y,n=t.x,this.face===ln)i=h-e,n>=_&&n<=h+_?(u.value=hn.AREA_0,r=n-h):n>h+_||n<=-(h+_)?(u.value=hn.AREA_1,r=n>0?n-v:n+v):n>-(h+_)&&n<=-_?(u.value=hn.AREA_2,r=n+h):(u.value=hn.AREA_3,r=n);else if(this.face===cn)i=h+e,n>=_&&n<=h+_?(u.value=hn.AREA_0,r=-n+h):n<_&&n>=-_?(u.value=hn.AREA_1,r=-n):n<-_&&n>=-(h+_)?(u.value=hn.AREA_2,r=-n-h):(u.value=hn.AREA_3,r=n>0?-n+v:-n-v);else {var l,c,f,p,d,y;this.face===an?n=pn(n,+h):this.face===sn?n=pn(n,+v):this.face===un&&(n=pn(n,-h)),p=Math.sin(e),d=Math.cos(e),y=Math.sin(n),l=d*Math.cos(n),c=d*y,f=p,this.face===on?r=fn(i=Math.acos(l),f,c,u):this.face===an?r=fn(i=Math.acos(c),f,-l,u):this.face===sn?r=fn(i=Math.acos(-l),f,-c,u):this.face===un?r=fn(i=Math.acos(-c),f,l,u):(i=r=0,u.value=hn.AREA_0);}return a=Math.atan(12/v*(r+Math.acos(Math.sin(r)*Math.cos(_))-h)),o=Math.sqrt((1-Math.cos(i))/(Math.cos(a)*Math.cos(a))/(1-Math.cos(Math.atan(1/Math.cos(r))))),u.value===hn.AREA_1?a+=h:u.value===hn.AREA_2?a+=v:u.value===hn.AREA_3&&(a+=1.5*v),s.x=o*Math.cos(a),s.y=o*Math.sin(a),s.x=s.x*this.a+this.x0,s.y=s.y*this.a+this.y0,t.x=s.x,t.y=s.y,t},inverse:function(t){var e,n,r,i,o,a,s,u,l,c,f,p,d={lam:0,phi:0},y={value:0};if(t.x=(t.x-this.x0)/this.a,t.y=(t.y-this.y0)/this.a,n=Math.atan(Math.sqrt(t.x*t.x+t.y*t.y)),e=Math.atan2(t.y,t.x),t.x>=0&&t.x>=Math.abs(t.y)?y.value=hn.AREA_0:t.y>=0&&t.y>=Math.abs(t.x)?(y.value=hn.AREA_1,e-=h):t.x<0&&-t.x>=Math.abs(t.y)?(y.value=hn.AREA_2,e=e<0?e+v:e-v):(y.value=hn.AREA_3,e+=h),l=v/12*Math.tan(e),o=Math.sin(l)/(Math.cos(l)-1/Math.sqrt(2)),a=Math.atan(o),(s=1-(r=Math.cos(e))*r*(i=Math.tan(n))*i*(1-Math.cos(Math.atan(1/Math.cos(a)))))<-1?s=-1:s>1&&(s=1),this.face===ln)u=Math.acos(s),d.phi=h-u,y.value===hn.AREA_0?d.lam=a+h:y.value===hn.AREA_1?d.lam=a<0?a+v:a-v:y.value===hn.AREA_2?d.lam=a-h:d.lam=a;else if(this.face===cn)u=Math.acos(s),d.phi=u-h,y.value===hn.AREA_0?d.lam=-a+h:y.value===hn.AREA_1?d.lam=-a:y.value===hn.AREA_2?d.lam=-a-h:d.lam=a<0?-a-v:-a+v;else {var m,g,_;l=(m=s)*m,g=(l+=(_=l>=1?0:Math.sqrt(1-l)*Math.sin(a))*_)>=1?0:Math.sqrt(1-l),y.value===hn.AREA_1?(l=g,g=-_,_=l):y.value===hn.AREA_2?(g=-g,_=-_):y.value===hn.AREA_3&&(l=g,g=_,_=-l),this.face===an?(l=m,m=-g,g=l):this.face===sn?(m=-m,g=-g):this.face===un&&(l=m,m=g,g=-l),d.phi=Math.acos(-_)-h,d.lam=Math.atan2(g,m),this.face===an?d.lam=pn(d.lam,-h):this.face===sn?d.lam=pn(d.lam,-v):this.face===un&&(d.lam=pn(d.lam,+h));}return 0!==this.es&&(c=d.phi<0?1:0,f=Math.tan(d.phi),p=this.b/Math.sqrt(f*f+this.one_minus_f_squared),d.phi=Math.atan(Math.sqrt(this.a*this.a-p*p)/(this.one_minus_f*p)),c&&(d.phi=-d.phi)),d.lam+=this.long0,t.x=d.lam,t.y=d.phi,t},names:["Quadrilateralized Spherical Cube","Quadrilateralized_Spherical_Cube","qsc"]};var yn=[[1,22199e-21,-715515e-10,31103e-10],[.9986,-482243e-9,-24897e-9,-13309e-10],[.9954,-83103e-8,-448605e-10,-9.86701e-7],[.99,-.00135364,-59661e-9,36777e-10],[.9822,-.00167442,-449547e-11,-572411e-11],[.973,-.00214868,-903571e-10,1.8736e-8],[.96,-.00305085,-900761e-10,164917e-11],[.9427,-.00382792,-653386e-10,-26154e-10],[.9216,-.00467746,-10457e-8,481243e-11],[.8962,-.00536223,-323831e-10,-543432e-11],[.8679,-.00609363,-113898e-9,332484e-11],[.835,-.00698325,-640253e-10,9.34959e-7],[.7986,-.00755338,-500009e-10,9.35324e-7],[.7597,-.00798324,-35971e-9,-227626e-11],[.7186,-.00851367,-701149e-10,-86303e-10],[.6732,-.00986209,-199569e-9,191974e-10],[.6213,-.010418,883923e-10,624051e-11],[.5722,-.00906601,182e-6,624051e-11],[.5322,-.00677797,275608e-9,624051e-11]],mn=[[-520417e-23,.0124,121431e-23,-845284e-16],[.062,.0124,-1.26793e-9,4.22642e-10],[.124,.0124,5.07171e-9,-1.60604e-9],[.186,.0123999,-1.90189e-8,6.00152e-9],[.248,.0124002,7.10039e-8,-2.24e-8],[.31,.0123992,-2.64997e-7,8.35986e-8],[.372,.0124029,9.88983e-7,-3.11994e-7],[.434,.0123893,-369093e-11,-4.35621e-7],[.4958,.0123198,-102252e-10,-3.45523e-7],[.5571,.0121916,-154081e-10,-5.82288e-7],[.6176,.0119938,-241424e-10,-5.25327e-7],[.6769,.011713,-320223e-10,-5.16405e-7],[.7346,.0113541,-397684e-10,-6.09052e-7],[.7903,.0109107,-489042e-10,-104739e-11],[.8435,.0103431,-64615e-9,-1.40374e-9],[.8936,.00969686,-64636e-9,-8547e-9],[.9394,.00840947,-192841e-9,-42106e-10],[.9761,.00616527,-256e-6,-42106e-10],[1,.00328947,-319159e-9,-42106e-10]],gn=.8487,_n=1.3523,bn=g/5,vn=1/bn,Tn=18,En=function(t,e){return t[0]+e*(t[1]+e*(t[2]+e*t[3]))};const wn={init:function(){this.x0=this.x0||0,this.y0=this.y0||0,this.long0=this.long0||0,this.es=0,this.title=this.title||"Robinson";},forward:function(t){var e=Y(t.x-this.long0),n=Math.abs(t.y),r=Math.floor(n*bn);r<0?r=0:r>=Tn&&(r=17);var i={x:En(yn[r],n=g*(n-vn*r))*e,y:En(mn[r],n)};return t.y<0&&(i.y=-i.y),i.x=i.x*this.a*gn+this.x0,i.y=i.y*this.a*_n+this.y0,i},inverse:function(t){var e={x:(t.x-this.x0)/(this.a*gn),y:Math.abs(t.y-this.y0)/(this.a*_n)};if(e.y>=1)e.x/=yn[18][0],e.y=t.y<0?-h:h;else {var n=Math.floor(e.y*Tn);for(n<0?n=0:n>=Tn&&(n=17);;)if(mn[n][0]>e.y)--n;else {if(!(mn[n+1][0]<=e.y))break;++n;}var r=mn[n],i=5*(e.y-r[0])/(mn[n+1][0]-r[0]);i=function(t,e,n,r){for(var i=e;r;--r){var o=t(i);if(i-=o,Math.abs(o)1e10)throw new Error;if(this.radius_g=1+this.radius_g_1,this.C=this.radius_g*this.radius_g-1,0!==this.es){var t=1-this.es,e=1/t;this.radius_p=Math.sqrt(t),this.radius_p2=t,this.radius_p_inv2=e,this.shape="ellipse";}else this.radius_p=1,this.radius_p2=1,this.radius_p_inv2=1,this.shape="sphere";this.title||(this.title="Geostationary Satellite View");},forward:function(t){var e,n,r,i,o=t.x,a=t.y;if(o-=this.long0,"ellipse"===this.shape){a=Math.atan(this.radius_p2*Math.tan(a));var s=this.radius_p/be(this.radius_p*Math.cos(a),Math.sin(a));if(n=s*Math.cos(o)*Math.cos(a),r=s*Math.sin(o)*Math.cos(a),i=s*Math.sin(a),(this.radius_g-n)*n-r*r-i*i*this.radius_p_inv2<0)return t.x=Number.NaN,t.y=Number.NaN,t;e=this.radius_g-n,this.flip_axis?(t.x=this.radius_g_1*Math.atan(r/be(i,e)),t.y=this.radius_g_1*Math.atan(i/e)):(t.x=this.radius_g_1*Math.atan(r/e),t.y=this.radius_g_1*Math.atan(i/be(r,e)));}else "sphere"===this.shape&&(e=Math.cos(a),n=Math.cos(o)*e,r=Math.sin(o)*e,i=Math.sin(a),e=this.radius_g-n,this.flip_axis?(t.x=this.radius_g_1*Math.atan(r/be(i,e)),t.y=this.radius_g_1*Math.atan(i/e)):(t.x=this.radius_g_1*Math.atan(r/e),t.y=this.radius_g_1*Math.atan(i/be(r,e))));return t.x=t.x*this.a,t.y=t.y*this.a,t},inverse:function(t){var e,n,r,i,o=-1,a=0,s=0;if(t.x=t.x/this.a,t.y=t.y/this.a,"ellipse"===this.shape){this.flip_axis?(s=Math.tan(t.y/this.radius_g_1),a=Math.tan(t.x/this.radius_g_1)*be(1,s)):(a=Math.tan(t.x/this.radius_g_1),s=Math.tan(t.y/this.radius_g_1)*be(1,a));var u=s/this.radius_p;if(e=a*a+u*u+o*o,(r=(n=2*this.radius_g*o)*n-4*e*this.C)<0)return t.x=Number.NaN,t.y=Number.NaN,t;i=(-n-Math.sqrt(r))/(2*e),o=this.radius_g+i*o,a*=i,s*=i,t.x=Math.atan2(a,o),t.y=Math.atan(s*Math.cos(t.x)/o),t.y=Math.atan(this.radius_p_inv2*Math.tan(t.y));}else if("sphere"===this.shape){if(this.flip_axis?(s=Math.tan(t.y/this.radius_g_1),a=Math.tan(t.x/this.radius_g_1)*Math.sqrt(1+s*s)):(a=Math.tan(t.x/this.radius_g_1),s=Math.tan(t.y/this.radius_g_1)*Math.sqrt(1+a*a)),e=a*a+s*s+o*o,(r=(n=2*this.radius_g*o)*n-4*e*this.C)<0)return t.x=Number.NaN,t.y=Number.NaN,t;i=(-n-Math.sqrt(r))/(2*e),o=this.radius_g+i*o,a*=i,s*=i,t.x=Math.atan2(a,o),t.y=Math.atan(s*Math.cos(t.x)/o);}return t.x=t.x+this.long0,t},names:["Geostationary Satellite View","Geostationary_Satellite","geos"]};var Pn;Lt.defaultDatum="WGS84",Lt.Proj=bt,Lt.WGS84=new Lt.Proj("WGS84"),Lt.Point=te,Lt.toPoint=Nt,Lt.defs=G,Lt.nadgrid=function(t,e){var n=new DataView(e),r=function(t){var e=t.getInt32(8,!1);return 11!==e&&(11!==(e=t.getInt32(8,!0))&&ct.warn("Failed to detect nadgrid endian-ness, defaulting to little-endian"),!0)}(n),i=function(t,e){return {nFields:t.getInt32(8,e),nSubgridFields:t.getInt32(24,e),nSubgrids:t.getInt32(40,e),shiftType:dt(t,56,64).trim(),fromSemiMajorAxis:t.getFloat64(120,e),fromSemiMinorAxis:t.getFloat64(136,e),toSemiMajorAxis:t.getFloat64(152,e),toSemiMinorAxis:t.getFloat64(168,e)}}(n,r);i.nSubgrids>1&&ct.log("Only single NTv2 subgrids are currently supported, subsequent sub grids are ignored");var o=function(t,e,n){for(var r=[],i=0;i{"use strict";function e(t,e){return Object.prototype.hasOwnProperty.call(t,e)}t.exports=function(t,n,r,i){n=n||"&",r=r||"=";var o={};if("string"!=typeof t||0===t.length)return o;var a=/\+/g;t=t.split(n);var s=1e3;i&&"number"==typeof i.maxKeys&&(s=i.maxKeys);var u=t.length;s>0&&u>s&&(u=s);for(var l=0;l=0?(c=d.substr(0,y),h=d.substr(y+1)):(c=d,h=""),f=decodeURIComponent(c),p=decodeURIComponent(h),e(o,f)?Array.isArray(o[f])?o[f].push(p):o[f]=[o[f],p]:o[f]=p;}return o};},2361:t=>{"use strict";var e=function(t){switch(typeof t){case "string":return t;case "boolean":return t?"true":"false";case "number":return isFinite(t)?t:"";default:return ""}};t.exports=function(t,n,r,i){return n=n||"&",r=r||"=",null===t&&(t=void 0),"object"==typeof t?Object.keys(t).map((function(i){var o=encodeURIComponent(e(i))+r;return Array.isArray(t[i])?t[i].map((function(t){return o+encodeURIComponent(e(t))})).join(n):o+encodeURIComponent(e(t[i]))})).join(n):i?encodeURIComponent(e(i))+r+encodeURIComponent(e(t)):""};},7673:(t,e,n)=>{"use strict";e.decode=e.parse=n(2587),e.encode=e.stringify=n(2361);},9189:(t,e,n)=>{var r=n(5717),i=n(7187).EventEmitter;function o(t){if(!(this instanceof o))return new o(t);i.call(this),t=t||{},this.concurrency=t.concurrency||1/0,this.timeout=t.timeout||0,this.autostart=t.autostart||!1,this.results=t.results||null,this.pending=0,this.session=0,this.running=!1,this.jobs=[],this.timers={};}function a(){for(var t in this.timers){var e=this.timers[t];delete this.timers[t],clearTimeout(e);}}function s(t){var e=this;function n(t){e.end(t);}this.on("error",n),this.on("end",(function r(i){e.removeListener("error",n),e.removeListener("end",r),t(i,this.results);}));}function u(t){this.session++,this.running=!1,this.emit("end",t);}t.exports=o,t.exports.default=o,r(o,i),["pop","shift","indexOf","lastIndexOf"].forEach((function(t){o.prototype[t]=function(){return Array.prototype[t].apply(this.jobs,arguments)};})),o.prototype.slice=function(t,e){return this.jobs=this.jobs.slice(t,e),this},o.prototype.reverse=function(){return this.jobs.reverse(),this},["push","unshift","splice"].forEach((function(t){o.prototype[t]=function(){var e=Array.prototype[t].apply(this.jobs,arguments);return this.autostart&&this.start(),e};})),Object.defineProperty(o.prototype,"length",{get:function(){return this.pending+this.jobs.length}}),o.prototype.start=function(t){if(t&&s.call(this,t),this.running=!0,!(this.pending>=this.concurrency))if(0!==this.jobs.length){var e=this,n=this.jobs.shift(),r=!0,i=this.session,o=null,a=!1,l=null,c=n.timeout||this.timeout;c&&(o=setTimeout((function(){a=!0,e.listeners("timeout").length>0?e.emit("timeout",f,n):f();}),c),this.timers[o]=o),this.results&&(l=this.results.length,this.results[l]=null),this.pending++,e.emit("start",n);var h=n(f);h&&h.then&&"function"==typeof h.then&&h.then((function(t){return f(null,t)})).catch((function(t){return f(t||!0)})),this.running&&this.jobs.length>0&&this.start();}else 0===this.pending&&u.call(this);function f(t,s){r&&e.session===i&&(r=!1,e.pending--,null!==o&&(delete e.timers[o],clearTimeout(o)),t?e.emit("error",t,n):!1===a&&(null!==l&&(e.results[l]=Array.prototype.slice.call(arguments,1)),e.emit("success",s,n)),e.session===i&&(0===e.pending&&0===e.jobs.length?u.call(e):e.running&&e.start()));}},o.prototype.stop=function(){this.running=!1;},o.prototype.end=function(t){a.call(this),this.jobs.length=0,this.pending=0,u.call(this,t);};},2582:function(t){t.exports=function(){"use strict";function t(t,r,i,o,a){!function t(n,r,i,o,a){for(;o>i;){if(o-i>600){var s=o-i+1,u=r-i+1,l=Math.log(s),c=.5*Math.exp(2*l/3),h=.5*Math.sqrt(l*c*(s-c)/s)*(u-s/2<0?-1:1);t(n,r,Math.max(i,Math.floor(r-u*c/s+h)),Math.min(o,Math.floor(r+(s-u)*c/s+h)),a);}var f=n[r],p=i,d=o;for(e(n,i,r),a(n[o],f)>0&&e(n,i,o);p0;)d--;}0===a(n[i],f)?e(n,i,d):e(n,++d,o),d<=r&&(i=d+1),r<=d&&(o=d-1);}}(t,r,i||0,o||t.length-1,a||n);}function e(t,e,n){var r=t[e];t[e]=t[n],t[n]=r;}function n(t,e){return te?1:0}var r=function(t){void 0===t&&(t=9),this._maxEntries=Math.max(4,t),this._minEntries=Math.max(2,Math.ceil(.4*this._maxEntries)),this.clear();};function i(t,e,n){if(!n)return e.indexOf(t);for(var r=0;r=t.minX&&e.maxY>=t.minY}function d(t){return {children:t,height:1,leaf:!0,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0}}function y(e,n,r,i,o){for(var a=[n,r];a.length;)if(!((r=a.pop())-(n=a.pop())<=i)){var s=n+Math.ceil((r-n)/i/2)*i;t(e,s,n,r,o),a.push(n,s,s,r);}}return r.prototype.all=function(){return this._all(this.data,[])},r.prototype.search=function(t){var e=this.data,n=[];if(!p(t,e))return n;for(var r=this.toBBox,i=[];e;){for(var o=0;o=0&&i[e].children.length>this._maxEntries;)this._split(i,e),e--;this._adjustParentBBoxes(r,i,e);},r.prototype._split=function(t,e){var n=t[e],r=n.children.length,i=this._minEntries;this._chooseSplitAxis(n,i,r);var a=this._chooseSplitIndex(n,i,r),s=d(n.children.splice(a,n.children.length-a));s.height=n.height,s.leaf=n.leaf,o(n,this.toBBox),o(s,this.toBBox),e?t[e-1].children.push(s):this._splitRoot(n,s);},r.prototype._splitRoot=function(t,e){this.data=d([t,e]),this.data.height=t.height+1,this.data.leaf=!1,o(this.data,this.toBBox);},r.prototype._chooseSplitIndex=function(t,e,n){for(var r,i,o,s,u,l,h,f=1/0,p=1/0,d=e;d<=n-e;d++){var y=a(t,0,d,this.toBBox),m=a(t,d,n,this.toBBox),g=(i=y,o=m,void 0,void 0,void 0,void 0,s=Math.max(i.minX,o.minX),u=Math.max(i.minY,o.minY),l=Math.min(i.maxX,o.maxX),h=Math.min(i.maxY,o.maxY),Math.max(0,l-s)*Math.max(0,h-u)),_=c(y)+c(m);g=e;p--){var d=t.children[p];s(u,t.leaf?i(d):d),l+=h(u);}return l},r.prototype._adjustParentBBoxes=function(t,e,n){for(var r=n;r>=0;r--)s(e[r],t);},r.prototype._condense=function(t){for(var e=t.length-1,n=void 0;e>=0;e--)0===t[e].children.length?e>0?(n=t[e-1].children).splice(n.indexOf(t[e]),1):this.clear():o(t[e],this.toBBox);},r}();},6102:(t,e,n)=>{"use strict";var r=n(4472).hasOwnProperty("default")?n(4472).default:n(4472);function i(t,e){return (n=t).length>=2&&"number"==typeof n[0]&&"number"==typeof n[1]?e(t):t.map((function(t){return i(t,e)}));var n;}function o(t,e,n){if(null==n)return n;var r=function(t){if(null==t||"object"!=typeof t)return t;var e=t.constructor();for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);return e}(n),i=o.bind(this,t,e);switch(n.type){case "Feature":r.geometry=i(n.geometry);break;case "FeatureCollection":r.features=r.features.map(i);break;case "GeometryCollection":r.geometries=r.geometries.map(i);break;default:t(r);}return e&&e(r),r}function a(t,e){var n,r=t.crs;if(void 0===r)throw new Error('Unable to detect CRS, GeoJSON has no "crs" property.');if("name"===r.type?n=e[r.properties.name]:"EPSG"===r.type&&(n=e["EPSG:"+r.properties.code]),!n)throw new Error("CRS defined in crs section could not be identified: "+JSON.stringify(r));return n}function s(t,e){return "string"==typeof t||t instanceof String?e[t]||r.Proj(t):t}function u(t,e,n,u){u=u||{},e=e?s(e,u):a(t,u),n=s(n,u);var l=r(e,n).forward.bind(l);function c(t){var e=l(t);return 3===t.length&&void 0!==t[2]&&void 0===e[2]&&(e[2]=t[2]),e}return o((function(t){t.crs&&delete t.crs,t.coordinates=i(t.coordinates,c);}),(function(t){t.bbox&&(t.bbox=function(t){var e=[Number.MAX_VALUE,Number.MAX_VALUE],n=[-Number.MAX_VALUE,-Number.MAX_VALUE];return o((function(t){i(t.coordinates,(function(t){e[0]=Math.min(e[0],t[0]),e[1]=Math.min(e[1],t[1]),n[0]=Math.max(n[0],t[0]),n[1]=Math.max(n[1],t[1]);}));}),null,t),[e[0],e[1],n[0],n[1]]}(t));}),t)}t.exports={detectCrs:a,reproject:u,reverse:function(t){return o((function(t){t.coordinates=i(t.coordinates,(function(t){return [t[1],t[0]]}));}),null,t)},toWgs84:function(t,e,n){return u(t,e,r.WGS84,n)}};},3686:function(t,e){var n=void 0,r=function(e){return n||(n=new Promise((function(n,r){var i,o=void 0!==e?e:{},a=o.onAbort;o.onAbort=function(t){r(new Error(t)),a&&a(t);},o.postRun=o.postRun||[],o.postRun.push((function(){n(o);})),t=void 0,i||(i=void 0!==o?o:{}),i.onRuntimeInitialized=function(){function t(t,e){this.Ka=t,this.db=e,this.Ia=1,this.cb=[];}function e(t,e){if(this.db=e,e=q(t)+1,this.Xa=Ce(e),null===this.Xa)throw Error("Unable to allocate memory for the SQL string");W(t,L,this.Xa,e),this.bb=this.Xa,this.Ta=this.hb=null;}function n(t){if(this.filename="dbfile_"+(4294967295*Math.random()>>>0),null!=t){var e=this.filename,n="/",i=e;if(n&&(n="string"==typeof n?n:Pt(n),i=e?lt(n+"/"+e):n),e=le(!0,!0),i=zt(i,4095&(void 0!==e?e:438)|32768,0),t){if("string"==typeof t){n=Array(t.length);for(var o=0,s=t.length;on;++n)i.parameters.push(r["viii"[n]]);n=new WebAssembly.Function(i,t);}else {for(i={i:127,j:126,f:125,d:124},(r=[1,0,1,96]).push(3),n=0;3>n;++n)r.push(i["iii"[n]]);r.push(0),r[1]=r.length-2,n=new Uint8Array([0,97,115,109,1,0,0,0].concat(r,[2,7,1,1,101,1,102,0,0,7,5,1,1,102,0,0])),n=new WebAssembly.Module(n),n=new WebAssembly.Instance(n,{e:{f:t}}).exports.f;}V.set(e,n);}return T.set(t,e),e}((function(t,n,r){for(var i,o=[],a=0;a{h||(c=require$$2$1,h=require$$1);},s=function(t,e){return f(),t=h.normalize(t),c.readFileSync(t,e?void 0:"utf8")},l=t=>((t=s(t,!0)).buffer||(t=new Uint8Array(t)),t),u=(t,e,n)=>{f(),t=h.normalize(t),c.readFile(t,(function(t,r){t?n(t):e(r.buffer);}));},1{var e=new XMLHttpRequest;return e.open("GET",t,!1),e.send(null),e.responseText},m&&(l=t=>{var e=new XMLHttpRequest;return e.open("GET",t,!1),e.responseType="arraybuffer",e.send(null),new Uint8Array(e.response)}),u=(t,e,n)=>{var r=new XMLHttpRequest;r.open("GET",t,!0),r.responseType="arraybuffer",r.onload=()=>{200==r.status||0==r.status&&r.response?e(r.response):n();},r.onerror=n,r.send(null);});var b=i.print||console.log.bind(console),v=i.printErr||console.warn.bind(console);Object.assign(i,p),p=null,i.thisProgram&&(d=i.thisProgram);var T,E,w=[];function x(t){T.delete(V.get(t)),w.push(t);}function C(t){var e="i32";switch("*"===e.charAt(e.length-1)&&(e="i32"),e){case "i1":case "i8":R[t>>0]=0;break;case "i16":D[t>>1]=0;break;case "i32":k[t>>2]=0;break;case "i64":$=[0,(J=0,1<=+Math.abs(J)?0>>0:~~+Math.ceil((J-+(~~J>>>0))/4294967296)>>>0:0)],k[t>>2]=$[0],k[t+4>>2]=$[1];break;case "float":F[t>>2]=0;break;case "double":U[t>>3]=0;break;default:rt("invalid type for setValue: "+e);}}function M(t,e="i8"){switch("*"===e.charAt(e.length-1)&&(e="i32"),e){case "i1":case "i8":return R[t>>0];case "i16":return D[t>>1];case "i32":case "i64":return k[t>>2];case "float":return F[t>>2];case "double":return Number(U[t>>3]);default:rt("invalid type for getValue: "+e);}return null}i.wasmBinary&&(E=i.wasmBinary),i.noExitRuntime,"object"!=typeof WebAssembly&&rt("no native wasm support detected");var S,N=!1,O=0,A=1;function I(t){var e=O==A?Ie(t.length):Ce(t.length);return t.subarray||t.slice||(t=new Uint8Array(t)),L.set(t,e),e}var P,R,L,D,k,F,U,B="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0;function j(t,e,n){var r=e+n;for(n=e;t[n]&&!(n>=r);)++n;if(16(i=224==(240&i)?(15&i)<<12|o<<6|a:(7&i)<<18|o<<12|a<<6|63&t[e++])?r+=String.fromCharCode(i):(i-=65536,r+=String.fromCharCode(55296|i>>10,56320|1023&i));}}else r+=String.fromCharCode(i);}return r}function G(t,e){return t?j(L,t,e):""}function W(t,e,n,r){if(!(0=a&&(a=65536+((1023&a)<<10)|1023&t.charCodeAt(++o)),127>=a){if(n>=r)break;e[n++]=a;}else {if(2047>=a){if(n+1>=r)break;e[n++]=192|a>>6;}else {if(65535>=a){if(n+2>=r)break;e[n++]=224|a>>12;}else {if(n+3>=r)break;e[n++]=240|a>>18,e[n++]=128|a>>12&63;}e[n++]=128|a>>6&63;}e[n++]=128|63&a;}}return e[n]=0,n-i}function q(t){for(var e=0,n=0;n=r&&(r=65536+((1023&r)<<10)|1023&t.charCodeAt(++n)),127>=r?++e:e=2047>=r?e+2:65535>=r?e+3:e+4;}return e}function H(t){var e=q(t)+1,n=Ce(e);return n&&W(t,R,n,e),n}function z(){var t=S.buffer;P=t,i.HEAP8=R=new Int8Array(t),i.HEAP16=D=new Int16Array(t),i.HEAP32=k=new Int32Array(t),i.HEAPU8=L=new Uint8Array(t),i.HEAPU16=new Uint16Array(t),i.HEAPU32=new Uint32Array(t),i.HEAPF32=F=new Float32Array(t),i.HEAPF64=U=new Float64Array(t);}var V,X=[],Y=[],Z=[];function Q(){var t=i.preRun.shift();X.unshift(t);}var K,J,$,tt=0,et=null,nt=null;function rt(t){throw i.onAbort&&i.onAbort(t),v(t="Aborted("+t+")"),N=!0,new WebAssembly.RuntimeError(t+". Build with -s ASSERTIONS=1 for more info.")}function it(){return K.startsWith("data:application/octet-stream;base64,")}if(i.preloadedImages={},i.preloadedAudios={},K="sql-wasm.wasm",!it()){var ot=K;K=i.locateFile?i.locateFile(ot,_):_+ot;}function at(){var t=K;try{if(t==K&&E)return new Uint8Array(E);if(l)return l(t);throw "both async and sync fetching of the wasm failed"}catch(t){rt(t);}}function st(t){for(;0=e||(e=Math.max(e,n*(1048576>n?2:1.125)>>>0),0!=n&&(e=Math.max(e,256)),n=t.Ha,t.Ha=new Uint8Array(e),0=t.node.La)return 0;if(8<(t=Math.min(t.node.La-i,r))&&o.subarray)e.set(o.subarray(i,i+t),n);else for(r=0;re)throw new Ot(28);return e},kb:function(t,e,n){Et.pb(t.node,e+n),t.node.La=Math.max(t.node.La,e+n);},$a:function(t,e,n,r,i,o){if(0!==e)throw new Ot(28);if(32768!=(61440&t.node.mode))throw new Ot(43);if(t=t.node.Ha,2&o||t.buffer!==P){if((0{if(!(t=ft("/",t)))return {path:"",node:null};if(8<(e=Object.assign({qb:!0,jb:0},e)).jb)throw new Ot(32);t=ut(t.split("/").filter((t=>!!t)),!1);for(var n=wt,r="/",i=0;i{for(var e;;){if(t===t.parent)return t=t.Pa.tb,e?"/"!==t[t.length-1]?t+"/"+e:t+e:t;e=e?t.name+"/"+e:t.name,t=t.parent;}},Rt=(t,e)=>{for(var n=0,r=0;r>>0)%St.length},Lt=t=>{var e=Rt(t.parent.id,t.name);if(St[e]===t)St[e]=t.Va;else for(e=St[e];e;){if(e.Va===t){e.Va=t.Va;break}e=e.Va;}},Dt=(t,e)=>{var n;if(n=(n=Bt(t,"x"))?n:t.Fa.lookup?0:2)throw new Ot(n,t);for(n=St[Rt(t.id,e)];n;n=n.Va){var r=n.name;if(n.parent.id===t.id&&r===e)return n}return t.Fa.lookup(t,e)},kt=(t,e,n,r)=>(t=new Te(t,e,n,r),e=Rt(t.parent.id,t.name),t.Va=St[e],St[e]=t),Ft={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090},Ut=t=>{var e=["r","w","rw"][3&t];return 512&t&&(e+="w"),e},Bt=(t,e)=>Nt?0:!e.includes("r")||292&t.mode?e.includes("w")&&!(146&t.mode)||e.includes("x")&&!(73&t.mode)?2:0:2,jt=(t,e)=>{try{return Dt(t,e),20}catch(t){}return Bt(t,"wx")},Gt=(t,e,n)=>{try{var r=Dt(t,e);}catch(t){return t.Ja}if(t=Bt(t,"wx"))return t;if(n){if(16384!=(61440&r.mode))return 54;if(r===r.parent||"/"===Pt(r))return 10}else if(16384==(61440&r.mode))return 31;return 0},Wt={open:t=>{t.Ga=xt[t.node.rdev].Ga,t.Ga.open&&t.Ga.open(t);},Sa:()=>{throw new Ot(70)}},qt=(t,e)=>{xt[t]={Ga:e};},Ht=(t,e)=>{var n="/"===e,r=!e;if(n&&wt)throw new Ot(10);if(!n&&!r){var i=It(e,{qb:!1});if(e=i.path,(i=i.node).Ua)throw new Ot(10);if(16384!=(61440&i.mode))throw new Ot(54)}e={type:t,Kb:{},tb:e,Db:[]},(t=t.Pa(e)).Pa=e,e.root=t,n?wt=t:i&&(i.Ua=e,i.Pa&&i.Pa.Db.push(e));},zt=(t,e,n)=>{var r=It(t,{parent:!0}).node;if(!(t=ht(t))||"."===t||".."===t)throw new Ot(28);var i=jt(r,t);if(i)throw new Ot(i);if(!r.Fa.Za)throw new Ot(63);return r.Fa.Za(r,t,e,n)},Vt=(t,e)=>zt(t,1023&(void 0!==e?e:511)|16384,0),Xt=(t,e,n)=>{void 0===n&&(n=e,e=438),zt(t,8192|e,n);},Yt=(t,e)=>{if(!ft(t))throw new Ot(44);var n=It(e,{parent:!0}).node;if(!n)throw new Ot(44);e=ht(e);var r=jt(n,e);if(r)throw new Ot(r);if(!n.Fa.symlink)throw new Ot(63);n.Fa.symlink(n,e,t);},Zt=t=>{var e=It(t,{parent:!0}).node;t=ht(t);var n=Dt(e,t),r=Gt(e,t,!0);if(r)throw new Ot(r);if(!e.Fa.rmdir)throw new Ot(63);if(n.Ua)throw new Ot(10);e.Fa.rmdir(e,t),Lt(n);},Qt=t=>{var e=It(t,{parent:!0}).node;if(!e)throw new Ot(44);t=ht(t);var n=Dt(e,t),r=Gt(e,t,!1);if(r)throw new Ot(r);if(!e.Fa.unlink)throw new Ot(63);if(n.Ua)throw new Ot(10);e.Fa.unlink(e,t),Lt(n);},Kt=t=>{if(!(t=It(t).node))throw new Ot(44);if(!t.Fa.readlink)throw new Ot(28);return ft(Pt(t.parent),t.Fa.readlink(t))},Jt=(t,e)=>{if(!(t=It(t,{Ra:!e}).node))throw new Ot(44);if(!t.Fa.Na)throw new Ot(63);return t.Fa.Na(t)},$t=t=>Jt(t,!0),te=(t,e)=>{if(!(t="string"==typeof t?It(t,{Ra:!0}).node:t).Fa.Ma)throw new Ot(63);t.Fa.Ma(t,{mode:4095&e|-4096&t.mode,timestamp:Date.now()});},ee=(t,e)=>{if(0>e)throw new Ot(28);if(!(t="string"==typeof t?It(t,{Ra:!0}).node:t).Fa.Ma)throw new Ot(63);if(16384==(61440&t.mode))throw new Ot(31);if(32768!=(61440&t.mode))throw new Ot(28);var n=Bt(t,"w");if(n)throw new Ot(n);t.Fa.Ma(t,{size:e,timestamp:Date.now()});},ne=(t,e,n,r)=>{if(""===t)throw new Ot(44);if("string"==typeof e){var o=Ft[e];if(void 0===o)throw Error("Unknown file open mode: "+e);e=o;}if(n=64&e?4095&(void 0===n?438:n)|32768:0,"object"==typeof t)var a=t;else {t=lt(t);try{a=It(t,{Ra:!(131072&e)}).node;}catch(t){}}if(o=!1,64&e)if(a){if(128&e)throw new Ot(20)}else a=zt(t,n,0),o=!0;if(!a)throw new Ot(44);if(8192==(61440&a.mode)&&(e&=-513),65536&e&&16384!=(61440&a.mode))throw new Ot(54);if(!o&&(n=a?40960==(61440&a.mode)?32:16384==(61440&a.mode)&&("r"!==Ut(e)||512&e)?31:Bt(a,Ut(e)):44))throw new Ot(n);return 512&e&&ee(a,0),e&=-131713,(r=((t,e)=>(gt||((gt=function(){}).prototype={}),t=Object.assign(new gt,t),e=((t=0,e=4096)=>{for(;t<=e;t++)if(!Ct[t])return t;throw new Ot(33)})(e,void 0),t.fd=e,Ct[e]=t))({node:a,path:Pt(a),flags:e,seekable:!0,position:0,Ga:a.Ga,Hb:[],error:!1},r)).Ga.open&&r.Ga.open(r),!i.logReadFiles||1&e||(_t||(_t={}),t in _t||(_t[t]=1)),r},re=t=>{if(null===t.fd)throw new Ot(8);t.gb&&(t.gb=null);try{t.Ga.close&&t.Ga.close(t);}catch(t){throw t}finally{Ct[t.fd]=null;}t.fd=null;},ie=(t,e,n)=>{if(null===t.fd)throw new Ot(8);if(!t.seekable||!t.Ga.Sa)throw new Ot(70);if(0!=n&&1!=n&&2!=n)throw new Ot(28);t.position=t.Ga.Sa(t,e,n),t.Hb=[];},oe=(t,e,n,r,i)=>{if(0>r||0>i)throw new Ot(28);if(null===t.fd)throw new Ot(8);if(1==(2097155&t.flags))throw new Ot(8);if(16384==(61440&t.node.mode))throw new Ot(31);if(!t.Ga.read)throw new Ot(28);var o=void 0!==i;if(o){if(!t.seekable)throw new Ot(70)}else i=t.position;return e=t.Ga.read(t,e,n,r,i),o||(t.position+=e),e},ae=(t,e,n,r,i,o)=>{if(0>r||0>i)throw new Ot(28);if(null===t.fd)throw new Ot(8);if(0==(2097155&t.flags))throw new Ot(8);if(16384==(61440&t.node.mode))throw new Ot(31);if(!t.Ga.write)throw new Ot(28);t.seekable&&1024&t.flags&&ie(t,0,2);var a=void 0!==i;if(a){if(!t.seekable)throw new Ot(70)}else i=t.position;return e=t.Ga.write(t,e,n,r,i,o),a||(t.position+=e),e},se=t=>{var e,n=ne(t,n||0);t=Jt(t).size;var r=new Uint8Array(t);return oe(n,r,0,t,0),e=r,re(n),e},ue=()=>{Ot||((Ot=function(t,e){this.node=e,this.Gb=function(t){this.Ja=t;},this.Gb(t),this.message="FS error";}).prototype=Error(),Ot.prototype.constructor=Ot,[44].forEach((t=>{At[t]=new Ot(t),At[t].stack="";})));},le=(t,e)=>{var n=0;return t&&(n|=365),e&&(n|=146),n},ce=(t,e,n)=>{t=lt("/dev/"+t);var r=le(!!e,!!n);mt||(mt=64);var i=mt++<<8|0;qt(i,{open:t=>{t.seekable=!1;},close:()=>{n&&n.buffer&&n.buffer.length&&n(10);},read:(t,n,r,i)=>{for(var o=0,a=0;a{for(var o=0;o>2]=r.dev,k[n+4>>2]=0,k[n+8>>2]=r.ino,k[n+12>>2]=r.mode,k[n+16>>2]=r.nlink,k[n+20>>2]=r.uid,k[n+24>>2]=r.gid,k[n+28>>2]=r.rdev,k[n+32>>2]=0,$=[r.size>>>0,(J=r.size,1<=+Math.abs(J)?0>>0:~~+Math.ceil((J-+(~~J>>>0))/4294967296)>>>0:0)],k[n+40>>2]=$[0],k[n+44>>2]=$[1],k[n+48>>2]=4096,k[n+52>>2]=r.blocks,k[n+56>>2]=r.atime.getTime()/1e3|0,k[n+60>>2]=0,k[n+64>>2]=r.mtime.getTime()/1e3|0,k[n+68>>2]=0,k[n+72>>2]=r.ctime.getTime()/1e3|0,k[n+76>>2]=0,$=[r.ino>>>0,(J=r.ino,1<=+Math.abs(J)?0>>0:~~+Math.ceil((J-+(~~J>>>0))/4294967296)>>>0:0)],k[n+80>>2]=$[0],k[n+84>>2]=$[1],0}var de,ye=void 0;function me(){return k[(ye+=4)-4>>2]}function ge(t){if(!(t=Ct[t]))throw new Ot(8);return t}de=g?()=>{var t=browser$1.hrtime();return 1e3*t[0]+t[1]/1e6}:()=>performance.now();var _e,be={};function ve(){if(!_e){var t,e={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:d||"./this.program"};for(t in be)void 0===be[t]?delete e[t]:e[t]=be[t];var n=[];for(t in e)n.push(t+"="+e[t]);_e=n;}return _e}function Te(t,e,n,r){t||(t=this),this.parent=t,this.Pa=t.Pa,this.Ua=null,this.id=Mt++,this.name=e,this.mode=n,this.Fa={},this.Ga={},this.rdev=r;}function Ee(t,e){var n=Array(q(t)+1);return t=W(t,n,0,n.length),e&&(n.length=t),n}Object.defineProperties(Te.prototype,{read:{get:function(){return 365==(365&this.mode)},set:function(t){t?this.mode|=365:this.mode&=-366;}},write:{get:function(){return 146==(146&this.mode)},set:function(t){t?this.mode|=146:this.mode&=-147;}}}),ue(),St=Array(4096),Ht(Et,"/"),Vt("/tmp"),Vt("/home"),Vt("/home/web_user"),(()=>{Vt("/dev"),qt(259,{read:()=>0,write:(t,e,n,r)=>r}),Xt("/dev/null",259),dt(1280,vt),dt(1536,Tt),Xt("/dev/tty",1280),Xt("/dev/tty1",1536);var t=function(){if("object"==typeof crypto&&"function"==typeof crypto.getRandomValues){var t=new Uint8Array(1);return function(){return crypto.getRandomValues(t),t[0]}}if(g)try{var e=require$$3;return function(){return e.randomBytes(1)[0]}}catch(t){}return function(){rt("randomDevice");}}();ce("random",t),ce("urandom",t),Vt("/dev/shm"),Vt("/dev/shm/tmp");})(),(()=>{Vt("/proc");var t=Vt("/proc/self");Vt("/proc/self/fd"),Ht({Pa:()=>{var e=kt(t,"fd",16895,73);return e.Fa={lookup:(t,e)=>{var n=Ct[+e];if(!n)throw new Ot(8);return (t={parent:null,Pa:{tb:"fake"},Fa:{readlink:()=>n.path}}).parent=t}},e}},"/proc/self/fd");})();var we={a:function(t,e,n,r){rt("Assertion failed: "+G(t)+", at: "+[e?G(e):"unknown filename",n,r?G(r):"unknown function"]);},h:function(t,e){try{return t=G(t),te(t,e),0}catch(t){if(void 0===he||!(t instanceof Ot))throw t;return -t.Ja}},H:function(t,e,n){try{if(e=fe(t,e=G(e)),-8&n)var r=-28;else {var i=It(e,{Ra:!0}).node;i?(t="",4&n&&(t+="r"),2&n&&(t+="w"),1&n&&(t+="x"),r=t&&Bt(i,t)?-2:0):r=-44;}return r}catch(t){if(void 0===he||!(t instanceof Ot))throw t;return -t.Ja}},i:function(t,e){try{var n=Ct[t];if(!n)throw new Ot(8);return te(n.node,e),0}catch(t){if(void 0===he||!(t instanceof Ot))throw t;return -t.Ja}},g:function(t){try{var e=Ct[t];if(!e)throw new Ot(8);var n=e.node,r="string"==typeof n?It(n,{Ra:!0}).node:n;if(!r.Fa.Ma)throw new Ot(63);return r.Fa.Ma(r,{timestamp:Date.now()}),0}catch(t){if(void 0===he||!(t instanceof Ot))throw t;return -t.Ja}},b:function(t,e,n){ye=n;try{var r=ge(t);switch(e){case 0:var i=me();return 0>i?-28:ne(r.path,r.flags,0,i).fd;case 1:case 2:case 6:case 7:return 0;case 3:return r.flags;case 4:return i=me(),r.flags|=i,0;case 5:return i=me(),D[i+0>>1]=2,0;case 16:case 8:default:return -28;case 9:return k[xe()>>2]=28,-1}}catch(t){if(void 0===he||!(t instanceof Ot))throw t;return -t.Ja}},G:function(t,e){try{var n=ge(t);return pe(Jt,n.path,e)}catch(t){if(void 0===he||!(t instanceof Ot))throw t;return -t.Ja}},B:function(t,e){try{var n=Ct[t];if(!n)throw new Ot(8);if(0==(2097155&n.flags))throw new Ot(28);return ee(n.node,e),0}catch(t){if(void 0===he||!(t instanceof Ot))throw t;return -t.Ja}},A:function(t,e){try{return 0===e?-28:e=r)var i=-28;else {var o=Kt(e),a=Math.min(r,q(o)),s=R[n+a];W(o,L,n,r+1),R[n+a]=s,i=a;}return i}catch(t){if(void 0===he||!(t instanceof Ot))throw t;return -t.Ja}},r:function(t){try{return t=G(t),Zt(t),0}catch(t){if(void 0===he||!(t instanceof Ot))throw t;return -t.Ja}},F:function(t,e){try{return t=G(t),pe(Jt,t,e)}catch(t){if(void 0===he||!(t instanceof Ot))throw t;return -t.Ja}},o:function(t,e,n){try{return e=fe(t,e=G(e)),0===n?Qt(e):512===n?Zt(e):rt("Invalid flags passed to unlinkat"),0}catch(t){if(void 0===he||!(t instanceof Ot))throw t;return -t.Ja}},m:function(t,e,n){try{if(e=fe(t,e=G(e),!0),n){var r=k[n>>2],i=k[n+4>>2];o=1e3*r+i/1e6,a=1e3*(r=k[(n+=8)>>2])+(i=k[n+4>>2])/1e6;}else var o=Date.now(),a=o;t=o;var s=It(e,{Ra:!0}).node;return s.Fa.Ma(s,{timestamp:Math.max(t,a)}),0}catch(t){if(void 0===he||!(t instanceof Ot))throw t;return -t.Ja}},e:function(){return Date.now()},j:function(t,e){t=new Date(1e3*k[t>>2]),k[e>>2]=t.getSeconds(),k[e+4>>2]=t.getMinutes(),k[e+8>>2]=t.getHours(),k[e+12>>2]=t.getDate(),k[e+16>>2]=t.getMonth(),k[e+20>>2]=t.getFullYear()-1900,k[e+24>>2]=t.getDay();var n=new Date(t.getFullYear(),0,1);k[e+28>>2]=(t.getTime()-n.getTime())/864e5|0,k[e+36>>2]=-60*t.getTimezoneOffset();var r=new Date(t.getFullYear(),6,1).getTimezoneOffset();n=n.getTimezoneOffset(),k[e+32>>2]=0|(r!=n&&t.getTimezoneOffset()==Math.min(n,r));},v:function(t,e,n,r,i,o,a){try{var s=Ct[i];if(!s)return -8;if(0!=(2&n)&&0==(2&r)&&2!=(2097155&s.flags))throw new Ot(2);if(1==(2097155&s.flags))throw new Ot(2);if(!s.Ga.$a)throw new Ot(43);var u=s.Ga.$a(s,t,e,o,n,r),l=u.Eb;return k[a>>2]=u.ub,l}catch(t){if(void 0===he||!(t instanceof Ot))throw t;return -t.Ja}},w:function(t,e,n,r,i,o){try{var a=Ct[i];if(a&&2&n){var s=L.slice(t,t+e);a&&a.Ga.ab&&a.Ga.ab(a,s,o,e,r);}}catch(t){if(void 0===he||!(t instanceof Ot))throw t;return -t.Ja}},n:function t(e,n,r){t.Ab||(t.Ab=!0,function(t,e,n){function r(t){return (t=t.toTimeString().match(/\(([A-Za-z ]+)\)$/))?t[1]:"GMT"}var i=(new Date).getFullYear(),o=new Date(i,0,1),a=new Date(i,6,1);i=o.getTimezoneOffset();var s=a.getTimezoneOffset();k[t>>2]=60*Math.max(i,s),k[e>>2]=Number(i!=s),t=r(o),e=r(a),t=H(t),e=H(e),s>2]=t,k[n+4>>2]=e):(k[n>>2]=e,k[n+4>>2]=t);}(e,n,r));},p:function(){return 2147483648},d:de,c:function(t){var e=L.length;if(2147483648<(t>>>=0))return !1;for(var n=1;4>=n;n*=2){var r=e*(1+.2/n);r=Math.min(r,t+100663296);var i=Math;r=Math.max(t,r),i=i.min.call(i,2147483648,r+(65536-r%65536)%65536);t:{try{S.grow(i-P.byteLength+65535>>>16),z();var o=1;break t}catch(t){}o=void 0;}if(o)return !0}return !1},y:function(t,e){var n=0;return ve().forEach((function(r,i){var o=e+n;for(i=k[t+4*i>>2]=o,o=0;o>0]=r.charCodeAt(o);R[i>>0]=0,n+=r.length+1;})),0},z:function(t,e){var n=ve();k[t>>2]=n.length;var r=0;return n.forEach((function(t){r+=t.length+1;})),k[e>>2]=r,0},f:function(t){try{var e=ge(t);return re(e),0}catch(t){if(void 0===he||!(t instanceof Ot))throw t;return t.Ja}},l:function(t,e){try{var n=ge(t);return R[e>>0]=n.tty?2:16384==(61440&n.mode)?3:40960==(61440&n.mode)?7:4,0}catch(t){if(void 0===he||!(t instanceof Ot))throw t;return t.Ja}},t:function(t,e,n,r){try{t:{for(var i=ge(t),o=t=0;o>2],s=oe(i,R,k[e+8*o>>2],a,void 0);if(0>s){var u=-1;break t}if(t+=s,s>2]=u,0}catch(t){if(void 0===he||!(t instanceof Ot))throw t;return t.Ja}},k:function(t,e,n,r,i){try{var o=ge(t);return -9007199254740992>=(t=4294967296*n+(e>>>0))||9007199254740992<=t?-61:(ie(o,t,r),$=[o.position>>>0,(J=o.position,1<=+Math.abs(J)?0>>0:~~+Math.ceil((J-+(~~J>>>0))/4294967296)>>>0:0)],k[i>>2]=$[0],k[i+4>>2]=$[1],o.gb&&0===t&&0===r&&(o.gb=null),0)}catch(t){if(void 0===he||!(t instanceof Ot))throw t;return t.Ja}},C:function(t){try{var e=ge(t);return e.Ga&&e.Ga.fsync?-e.Ga.fsync(e):0}catch(t){if(void 0===he||!(t instanceof Ot))throw t;return t.Ja}},q:function(t,e,n,r){try{t:{for(var i=ge(t),o=t=0;o>2],k[e+(8*o+4)>>2],void 0);if(0>a){var s=-1;break t}t+=a;}s=t;}return k[r>>2]=s,0}catch(t){if(void 0===he||!(t instanceof Ot))throw t;return t.Ja}}};!function(){function t(t){i.asm=t.exports,S=i.asm.I,z(),V=i.asm.za,Y.unshift(i.asm.J),tt--,i.monitorRunDependencies&&i.monitorRunDependencies(tt),0==tt&&(null!==et&&(clearInterval(et),et=null),nt&&(t=nt,nt=null,t()));}function e(e){t(e.instance);}function n(t){return function(){if(!E&&(y||m)){if("function"==typeof fetch&&!K.startsWith("file://"))return fetch(K,{credentials:"same-origin"}).then((function(t){if(!t.ok)throw "failed to load wasm binary file at '"+K+"'";return t.arrayBuffer()})).catch((function(){return at()}));if(u)return new Promise((function(t,e){u(K,(function(e){t(new Uint8Array(e));}),e);}))}return Promise.resolve().then((function(){return at()}))}().then((function(t){return WebAssembly.instantiate(t,r)})).then((function(t){return t})).then(t,(function(t){v("failed to asynchronously prepare wasm: "+t),rt(t);}))}var r={a:we};if(tt++,i.monitorRunDependencies&&i.monitorRunDependencies(tt),i.instantiateWasm)try{return i.instantiateWasm(r,t)}catch(t){return v("Module.instantiateWasm callback failed with error: "+t),!1}E||"function"!=typeof WebAssembly.instantiateStreaming||it()||K.startsWith("file://")||"function"!=typeof fetch?n(e):fetch(K,{credentials:"same-origin"}).then((function(t){return WebAssembly.instantiateStreaming(t,r).then(e,(function(t){return v("wasm streaming compile failed: "+t),v("falling back to ArrayBuffer instantiation"),n(e)}))}));}(),i.___wasm_call_ctors=function(){return (i.___wasm_call_ctors=i.asm.J).apply(null,arguments)},i._sqlite3_free=function(){return (i._sqlite3_free=i.asm.K).apply(null,arguments)},i._sqlite3_value_double=function(){return (i._sqlite3_value_double=i.asm.L).apply(null,arguments)},i._sqlite3_value_text=function(){return (i._sqlite3_value_text=i.asm.M).apply(null,arguments)};var xe=i.___errno_location=function(){return (xe=i.___errno_location=i.asm.N).apply(null,arguments)};i._sqlite3_prepare_v2=function(){return (i._sqlite3_prepare_v2=i.asm.O).apply(null,arguments)},i._sqlite3_step=function(){return (i._sqlite3_step=i.asm.P).apply(null,arguments)},i._sqlite3_finalize=function(){return (i._sqlite3_finalize=i.asm.Q).apply(null,arguments)},i._sqlite3_reset=function(){return (i._sqlite3_reset=i.asm.R).apply(null,arguments)},i._sqlite3_value_int=function(){return (i._sqlite3_value_int=i.asm.S).apply(null,arguments)},i._sqlite3_clear_bindings=function(){return (i._sqlite3_clear_bindings=i.asm.T).apply(null,arguments)},i._sqlite3_value_blob=function(){return (i._sqlite3_value_blob=i.asm.U).apply(null,arguments)},i._sqlite3_value_bytes=function(){return (i._sqlite3_value_bytes=i.asm.V).apply(null,arguments)},i._sqlite3_value_type=function(){return (i._sqlite3_value_type=i.asm.W).apply(null,arguments)},i._sqlite3_result_blob=function(){return (i._sqlite3_result_blob=i.asm.X).apply(null,arguments)},i._sqlite3_result_double=function(){return (i._sqlite3_result_double=i.asm.Y).apply(null,arguments)},i._sqlite3_result_error=function(){return (i._sqlite3_result_error=i.asm.Z).apply(null,arguments)},i._sqlite3_result_int=function(){return (i._sqlite3_result_int=i.asm._).apply(null,arguments)},i._sqlite3_result_int64=function(){return (i._sqlite3_result_int64=i.asm.$).apply(null,arguments)},i._sqlite3_result_null=function(){return (i._sqlite3_result_null=i.asm.aa).apply(null,arguments)},i._sqlite3_result_text=function(){return (i._sqlite3_result_text=i.asm.ba).apply(null,arguments)},i._sqlite3_sql=function(){return (i._sqlite3_sql=i.asm.ca).apply(null,arguments)},i._sqlite3_column_count=function(){return (i._sqlite3_column_count=i.asm.da).apply(null,arguments)},i._sqlite3_data_count=function(){return (i._sqlite3_data_count=i.asm.ea).apply(null,arguments)},i._sqlite3_column_blob=function(){return (i._sqlite3_column_blob=i.asm.fa).apply(null,arguments)},i._sqlite3_column_bytes=function(){return (i._sqlite3_column_bytes=i.asm.ga).apply(null,arguments)},i._sqlite3_column_double=function(){return (i._sqlite3_column_double=i.asm.ha).apply(null,arguments)},i._sqlite3_column_text=function(){return (i._sqlite3_column_text=i.asm.ia).apply(null,arguments)},i._sqlite3_column_type=function(){return (i._sqlite3_column_type=i.asm.ja).apply(null,arguments)},i._sqlite3_column_name=function(){return (i._sqlite3_column_name=i.asm.ka).apply(null,arguments)},i._sqlite3_bind_blob=function(){return (i._sqlite3_bind_blob=i.asm.la).apply(null,arguments)},i._sqlite3_bind_double=function(){return (i._sqlite3_bind_double=i.asm.ma).apply(null,arguments)},i._sqlite3_bind_int=function(){return (i._sqlite3_bind_int=i.asm.na).apply(null,arguments)},i._sqlite3_bind_text=function(){return (i._sqlite3_bind_text=i.asm.oa).apply(null,arguments)},i._sqlite3_bind_parameter_index=function(){return (i._sqlite3_bind_parameter_index=i.asm.pa).apply(null,arguments)},i._sqlite3_normalized_sql=function(){return (i._sqlite3_normalized_sql=i.asm.qa).apply(null,arguments)},i._sqlite3_errmsg=function(){return (i._sqlite3_errmsg=i.asm.ra).apply(null,arguments)},i._sqlite3_exec=function(){return (i._sqlite3_exec=i.asm.sa).apply(null,arguments)},i._sqlite3_changes=function(){return (i._sqlite3_changes=i.asm.ta).apply(null,arguments)},i._sqlite3_close_v2=function(){return (i._sqlite3_close_v2=i.asm.ua).apply(null,arguments)},i._sqlite3_create_function_v2=function(){return (i._sqlite3_create_function_v2=i.asm.va).apply(null,arguments)},i._sqlite3_open=function(){return (i._sqlite3_open=i.asm.wa).apply(null,arguments)};var Ce=i._malloc=function(){return (Ce=i._malloc=i.asm.xa).apply(null,arguments)},Me=i._free=function(){return (Me=i._free=i.asm.ya).apply(null,arguments)};i._RegisterExtensionFunctions=function(){return (i._RegisterExtensionFunctions=i.asm.Aa).apply(null,arguments)};var Se,Ne=i._emscripten_builtin_memalign=function(){return (Ne=i._emscripten_builtin_memalign=i.asm.Ba).apply(null,arguments)},Oe=i.stackSave=function(){return (Oe=i.stackSave=i.asm.Ca).apply(null,arguments)},Ae=i.stackRestore=function(){return (Ae=i.stackRestore=i.asm.Da).apply(null,arguments)},Ie=i.stackAlloc=function(){return (Ie=i.stackAlloc=i.asm.Ea).apply(null,arguments)};function Pe(){function t(){if(!Se&&(Se=!0,i.calledRun=!0,!N)){if(i.noFSInit||yt||(yt=!0,ue(),i.stdin=i.stdin,i.stdout=i.stdout,i.stderr=i.stderr,i.stdin?ce("stdin",i.stdin):Yt("/dev/tty","/dev/stdin"),i.stdout?ce("stdout",null,i.stdout):Yt("/dev/tty","/dev/stdout"),i.stderr?ce("stderr",null,i.stderr):Yt("/dev/tty1","/dev/stderr"),ne("/dev/stdin",0),ne("/dev/stdout",1),ne("/dev/stderr",1)),Nt=!1,st(Y),i.onRuntimeInitialized&&i.onRuntimeInitialized(),i.postRun)for("function"==typeof i.postRun&&(i.postRun=[i.postRun]);i.postRun.length;){var t=i.postRun.shift();Z.unshift(t);}st(Z);}}if(!(0{var r=n(8764),i=r.Buffer;function o(t,e){for(var n in t)e[n]=t[n];}function a(t,e,n){return i(t,e,n)}i.from&&i.alloc&&i.allocUnsafe&&i.allocUnsafeSlow?t.exports=r:(o(r,e),e.Buffer=a),a.prototype=Object.create(i.prototype),o(i,a),a.from=function(t,e,n){if("number"==typeof t)throw new TypeError("Argument must not be a number");return i(t,e,n)},a.alloc=function(t,e,n){if("number"!=typeof t)throw new TypeError("Argument must be a number");var r=i(t);return void 0!==e?"string"==typeof n?r.fill(e,n):r.fill(e):r.fill(0),r},a.allocUnsafe=function(t){if("number"!=typeof t)throw new TypeError("Argument must be a number");return i(t)},a.allocUnsafeSlow=function(t){if("number"!=typeof t)throw new TypeError("Argument must be a number");return r.SlowBuffer(t)};},6479:(t,e,n)=>{var r;!function(){"use strict";function i(t,e,n){var r=e.x,i=e.y,o=n.x-r,a=n.y-i;if(0!==o||0!==a){var s=((t.x-r)*o+(t.y-i)*a)/(o*o+a*a);s>1?(r=n.x,i=n.y):s>0&&(r+=o*s,i+=a*s);}return (o=t.x-r)*o+(a=t.y-i)*a}function o(t,e,n,r,a){for(var s,u=r,l=e+1;lu&&(s=l,u=c);}u>r&&(s-e>1&&o(t,e,s,r,a),a.push(t[s]),n-s>1&&o(t,s,n,r,a));}function a(t,e){var n=t.length-1,r=[t[0]];return o(t,0,n,e,r),r.push(t[n]),r}function s(t,e,n){if(t.length<=2)return t;var r=void 0!==e?e*e:1;return t=n?t:function(t,e){for(var n,r,i,o,a,s=t[0],u=[s],l=1,c=t.length;le&&(u.push(n),s=n);return s!==n&&u.push(n),u}(t,r),a(t,r)}void 0===(r=function(){return s}.call(e,n,e,t))||(t.exports=r);}();},8501:(t,e,n)=>{var r=n(3570),i=n(5676),o=n(7529),a=n(584),s=n(8575),u=e;u.request=function(t,e){t="string"==typeof t?s.parse(t):o(t);var i=-1===n.g.location.protocol.search(/^https?:$/)?"http:":"",a=t.protocol||i,u=t.hostname||t.host,l=t.port,c=t.path||"/";u&&-1!==u.indexOf(":")&&(u="["+u+"]"),t.url=(u?a+"//"+u:"")+(l?":"+l:"")+c,t.method=(t.method||"GET").toUpperCase(),t.headers=t.headers||{};var h=new r(t);return e&&h.on("response",e),h},u.get=function(t,e){var n=u.request(t,e);return n.end(),n},u.ClientRequest=r,u.IncomingMessage=i.IncomingMessage,u.Agent=function(){},u.Agent.defaultMaxSockets=4,u.globalAgent=new u.Agent,u.STATUS_CODES=a,u.METHODS=["CHECKOUT","CONNECT","COPY","DELETE","GET","HEAD","LOCK","M-SEARCH","MERGE","MKACTIVITY","MKCOL","MOVE","NOTIFY","OPTIONS","PATCH","POST","PROPFIND","PROPPATCH","PURGE","PUT","REPORT","SEARCH","SUBSCRIBE","TRACE","UNLOCK","UNSUBSCRIBE"];},8725:(t,e,n)=>{var r;function i(){if(void 0!==r)return r;if(n.g.XMLHttpRequest){r=new n.g.XMLHttpRequest;try{r.open("GET",n.g.XDomainRequest?"/":"https://example.com");}catch(t){r=null;}}else r=null;return r}function o(t){var e=i();if(!e)return !1;try{return e.responseType=t,e.responseType===t}catch(t){}return !1}function a(t){return "function"==typeof t}e.fetch=a(n.g.fetch)&&a(n.g.ReadableStream),e.writableStream=a(n.g.WritableStream),e.abortController=a(n.g.AbortController),e.arraybuffer=e.fetch||o("arraybuffer"),e.msstream=!e.fetch&&o("ms-stream"),e.mozchunkedarraybuffer=!e.fetch&&o("moz-chunked-arraybuffer"),e.overrideMimeType=e.fetch||!!i()&&a(i().overrideMimeType),r=null;},3570:(t,e,n)=>{var r=n(3085).lW,i=n(4155),o=n(8725),a=n(5717),s=n(5676),u=n(925),l=s.IncomingMessage,c=s.readyStates,h=t.exports=function(t){var e,n=this;u.Writable.call(n),n._opts=t,n._body=[],n._headers={},t.auth&&n.setHeader("Authorization","Basic "+r.from(t.auth).toString("base64")),Object.keys(t.headers).forEach((function(e){n.setHeader(e,t.headers[e]);}));var i=!0;if("disable-fetch"===t.mode||"requestTimeout"in t&&!o.abortController)i=!1,e=!0;else if("prefer-streaming"===t.mode)e=!1;else if("allow-wrong-content-type"===t.mode)e=!o.overrideMimeType;else {if(t.mode&&"default"!==t.mode&&"prefer-fast"!==t.mode)throw new Error("Invalid value for opts.mode");e=!0;}n._mode=function(t,e){return o.fetch&&e?"fetch":o.mozchunkedarraybuffer?"moz-chunked-arraybuffer":o.msstream?"ms-stream":o.arraybuffer&&t?"arraybuffer":"text"}(e,i),n._fetchTimer=null,n._socketTimeout=null,n._socketTimer=null,n.on("finish",(function(){n._onFinish();}));};a(h,u.Writable),h.prototype.setHeader=function(t,e){var n=t.toLowerCase();-1===f.indexOf(n)&&(this._headers[n]={name:t,value:e});},h.prototype.getHeader=function(t){var e=this._headers[t.toLowerCase()];return e?e.value:null},h.prototype.removeHeader=function(t){delete this._headers[t.toLowerCase()];},h.prototype._onFinish=function(){var t=this;if(!t._destroyed){var e=t._opts;"timeout"in e&&0!==e.timeout&&t.setTimeout(e.timeout);var r=t._headers,a=null;"GET"!==e.method&&"HEAD"!==e.method&&(a=new Blob(t._body,{type:(r["content-type"]||{}).value||""}));var s=[];if(Object.keys(r).forEach((function(t){var e=r[t].name,n=r[t].value;Array.isArray(n)?n.forEach((function(t){s.push([e,t]);})):s.push([e,n]);})),"fetch"===t._mode){var u=null;if(o.abortController){var l=new AbortController;u=l.signal,t._fetchAbortController=l,"requestTimeout"in e&&0!==e.requestTimeout&&(t._fetchTimer=n.g.setTimeout((function(){t.emit("requestTimeout"),t._fetchAbortController&&t._fetchAbortController.abort();}),e.requestTimeout));}n.g.fetch(t._opts.url,{method:t._opts.method,headers:s,body:a||void 0,mode:"cors",credentials:e.withCredentials?"include":"same-origin",signal:u}).then((function(e){t._fetchResponse=e,t._resetTimers(!1),t._connect();}),(function(e){t._resetTimers(!0),t._destroyed||t.emit("error",e);}));}else {var h=t._xhr=new n.g.XMLHttpRequest;try{h.open(t._opts.method,t._opts.url,!0);}catch(e){return void i.nextTick((function(){t.emit("error",e);}))}"responseType"in h&&(h.responseType=t._mode),"withCredentials"in h&&(h.withCredentials=!!e.withCredentials),"text"===t._mode&&"overrideMimeType"in h&&h.overrideMimeType("text/plain; charset=x-user-defined"),"requestTimeout"in e&&(h.timeout=e.requestTimeout,h.ontimeout=function(){t.emit("requestTimeout");}),s.forEach((function(t){h.setRequestHeader(t[0],t[1]);})),t._response=null,h.onreadystatechange=function(){switch(h.readyState){case c.LOADING:case c.DONE:t._onXHRProgress();}},"moz-chunked-arraybuffer"===t._mode&&(h.onprogress=function(){t._onXHRProgress();}),h.onerror=function(){t._destroyed||(t._resetTimers(!0),t.emit("error",new Error("XHR error")));};try{h.send(a);}catch(e){return void i.nextTick((function(){t.emit("error",e);}))}}}},h.prototype._onXHRProgress=function(){var t=this;t._resetTimers(!1),function(t){try{var e=t.status;return null!==e&&0!==e}catch(t){return !1}}(t._xhr)&&!t._destroyed&&(t._response||t._connect(),t._response._onXHRProgress(t._resetTimers.bind(t)));},h.prototype._connect=function(){var t=this;t._destroyed||(t._response=new l(t._xhr,t._fetchResponse,t._mode,t._resetTimers.bind(t)),t._response.on("error",(function(e){t.emit("error",e);})),t.emit("response",t._response));},h.prototype._write=function(t,e,n){this._body.push(t),n();},h.prototype._resetTimers=function(t){var e=this;n.g.clearTimeout(e._socketTimer),e._socketTimer=null,t?(n.g.clearTimeout(e._fetchTimer),e._fetchTimer=null):e._socketTimeout&&(e._socketTimer=n.g.setTimeout((function(){e.emit("timeout");}),e._socketTimeout));},h.prototype.abort=h.prototype.destroy=function(t){var e=this;e._destroyed=!0,e._resetTimers(!0),e._response&&(e._response._destroyed=!0),e._xhr?e._xhr.abort():e._fetchAbortController&&e._fetchAbortController.abort(),t&&e.emit("error",t);},h.prototype.end=function(t,e,n){"function"==typeof t&&(n=t,t=void 0),u.Writable.prototype.end.call(this,t,e,n);},h.prototype.setTimeout=function(t,e){var n=this;e&&n.once("timeout",e),n._socketTimeout=t,n._resetTimers(!1);},h.prototype.flushHeaders=function(){},h.prototype.setNoDelay=function(){},h.prototype.setSocketKeepAlive=function(){};var f=["accept-charset","accept-encoding","access-control-request-headers","access-control-request-method","connection","content-length","cookie","cookie2","date","dnt","expect","host","keep-alive","origin","referer","te","trailer","transfer-encoding","upgrade","via"];},5676:(t,e,n)=>{var r=n(4155),i=n(3085).lW,o=n(8725),a=n(5717),s=n(925),u=e.readyStates={UNSENT:0,OPENED:1,HEADERS_RECEIVED:2,LOADING:3,DONE:4},l=e.IncomingMessage=function(t,e,n,a){var u=this;if(s.Readable.call(u),u._mode=n,u.headers={},u.rawHeaders=[],u.trailers={},u.rawTrailers=[],u.on("end",(function(){r.nextTick((function(){u.emit("close");}));})),"fetch"===n){if(u._fetchResponse=e,u.url=e.url,u.statusCode=e.status,u.statusMessage=e.statusText,e.headers.forEach((function(t,e){u.headers[e.toLowerCase()]=t,u.rawHeaders.push(e,t);})),o.writableStream){var l=new WritableStream({write:function(t){return a(!1),new Promise((function(e,n){u._destroyed?n():u.push(i.from(t))?e():u._resumeFetch=e;}))},close:function(){a(!0),u._destroyed||u.push(null);},abort:function(t){a(!0),u._destroyed||u.emit("error",t);}});try{return void e.body.pipeTo(l).catch((function(t){a(!0),u._destroyed||u.emit("error",t);}))}catch(t){}}var c=e.body.getReader();!function t(){c.read().then((function(e){u._destroyed||(a(e.done),e.done?u.push(null):(u.push(i.from(e.value)),t()));})).catch((function(t){a(!0),u._destroyed||u.emit("error",t);}));}();}else if(u._xhr=t,u._pos=0,u.url=t.responseURL,u.statusCode=t.status,u.statusMessage=t.statusText,t.getAllResponseHeaders().split(/\r?\n/).forEach((function(t){var e=t.match(/^([^:]+):\s*(.*)/);if(e){var n=e[1].toLowerCase();"set-cookie"===n?(void 0===u.headers[n]&&(u.headers[n]=[]),u.headers[n].push(e[2])):void 0!==u.headers[n]?u.headers[n]+=", "+e[2]:u.headers[n]=e[2],u.rawHeaders.push(e[1],e[2]);}})),u._charset="x-user-defined",!o.overrideMimeType){var h=u.rawHeaders["mime-type"];if(h){var f=h.match(/;\s*charset=([^;])(;|$)/);f&&(u._charset=f[1].toLowerCase());}u._charset||(u._charset="utf-8");}};a(l,s.Readable),l.prototype._read=function(){var t=this._resumeFetch;t&&(this._resumeFetch=null,t());},l.prototype._onXHRProgress=function(t){var e=this,r=e._xhr,o=null;switch(e._mode){case "text":if((o=r.responseText).length>e._pos){var a=o.substr(e._pos);if("x-user-defined"===e._charset){for(var s=i.alloc(a.length),l=0;le._pos&&(e.push(i.from(new Uint8Array(c.result.slice(e._pos)))),e._pos=c.result.byteLength);},c.onload=function(){t(!0),e.push(null);},c.readAsArrayBuffer(o);}e._xhr.readyState===u.DONE&&"ms-stream"!==e._mode&&(t(!0),e.push(null));};},7303:t=>{"use strict";var e={};function n(t,n,r){r||(r=Error);var i=function(t){var e,r;function i(e,r,i){return t.call(this,function(t,e,r){return "string"==typeof n?n:n(t,e,r)}(e,r,i))||this}return r=t,(e=i).prototype=Object.create(r.prototype),e.prototype.constructor=e,e.__proto__=r,i}(r);i.prototype.name=r.name,i.prototype.code=t,e[t]=i;}function r(t,e){if(Array.isArray(t)){var n=t.length;return t=t.map((function(t){return String(t)})),n>2?"one of ".concat(e," ").concat(t.slice(0,n-1).join(", "),", or ")+t[n-1]:2===n?"one of ".concat(e," ").concat(t[0]," or ").concat(t[1]):"of ".concat(e," ").concat(t[0])}return "of ".concat(e," ").concat(String(t))}n("ERR_INVALID_OPT_VALUE",(function(t,e){return 'The value "'+e+'" is invalid for option "'+t+'"'}),TypeError),n("ERR_INVALID_ARG_TYPE",(function(t,e,n){var i,o,a,s,u;if("string"==typeof e&&(o="not ",e.substr(0,o.length)===o)?(i="must not be",e=e.replace(/^not /,"")):i="must be",function(t,e,n){return (void 0===n||n>t.length)&&(n=t.length),t.substring(n-e.length,n)===e}(t," argument"))a="The ".concat(t," ").concat(i," ").concat(r(e,"type"));else {var l=("number"!=typeof u&&(u=0),u+".".length>(s=t).length||-1===s.indexOf(".",u)?"argument":"property");a='The "'.concat(t,'" ').concat(l," ").concat(i," ").concat(r(e,"type"));}return a+". Received type ".concat(typeof n)}),TypeError),n("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF"),n("ERR_METHOD_NOT_IMPLEMENTED",(function(t){return "The "+t+" method is not implemented"})),n("ERR_STREAM_PREMATURE_CLOSE","Premature close"),n("ERR_STREAM_DESTROYED",(function(t){return "Cannot call "+t+" after a stream was destroyed"})),n("ERR_MULTIPLE_CALLBACK","Callback called multiple times"),n("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable"),n("ERR_STREAM_WRITE_AFTER_END","write after end"),n("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),n("ERR_UNKNOWN_ENCODING",(function(t){return "Unknown encoding: "+t}),TypeError),n("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event"),t.exports.q=e;},9560:(t,e,n)=>{"use strict";var r=n(4155),i=Object.keys||function(t){var e=[];for(var n in t)e.push(n);return e};t.exports=u;const o=n(4002),a=n(3313);n(5717)(u,o);{const t=i(a.prototype);for(var s=0;s{"use strict";t.exports=i;const r=n(1846);function i(t){if(!(this instanceof i))return new i(t);r.call(this,t);}n(5717)(i,r),i.prototype._transform=function(t,e,n){n(null,t);};},4002:(t,e,n)=>{"use strict";var r,i=n(4155);t.exports=C,C.ReadableState=x,n(7187).EventEmitter;var o=function(t,e){return t.listeners(e).length},a=n(1463);const s=n(8764).Buffer,u=(void 0!==n.g?n.g:"undefined"!=typeof window?window:"undefined"!=typeof self?self:{}).Uint8Array||function(){},l=n(3646);let c;c=l&&l.debuglog?l.debuglog("stream"):function(){};const h=n(6641),f=n(4910),p=n(7855).getHighWaterMark,d=n(7303).q,y=d.ERR_INVALID_ARG_TYPE,m=d.ERR_STREAM_PUSH_AFTER_EOF,g=d.ERR_METHOD_NOT_IMPLEMENTED,_=d.ERR_STREAM_UNSHIFT_AFTER_END_EVENT;let b,v,T;n(5717)(C,a);const E=f.errorOrDestroy,w=["error","close","destroy","pause","resume"];function x(t,e,i){r=r||n(9560),t=t||{},"boolean"!=typeof i&&(i=e instanceof r),this.objectMode=!!t.objectMode,i&&(this.objectMode=this.objectMode||!!t.readableObjectMode),this.highWaterMark=p(this,t,"readableHighWaterMark",i),this.buffer=new h,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.paused=!0,this.emitClose=!1!==t.emitClose,this.autoDestroy=!!t.autoDestroy,this.destroyed=!1,this.defaultEncoding=t.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,t.encoding&&(b||(b=n(2553).s),this.decoder=new b(t.encoding),this.encoding=t.encoding);}function C(t){if(r=r||n(9560),!(this instanceof C))return new C(t);const e=this instanceof r;this._readableState=new x(t,this,e),this.readable=!0,t&&("function"==typeof t.read&&(this._read=t.read),"function"==typeof t.destroy&&(this._destroy=t.destroy)),a.call(this);}function M(t,e,n,r,i){c("readableAddChunk",e);var o,a=t._readableState;if(null===e)a.reading=!1,function(t,e){if(c("onEofChunk"),!e.ended){if(e.decoder){var n=e.decoder.end();n&&n.length&&(e.buffer.push(n),e.length+=e.objectMode?1:n.length);}e.ended=!0,e.sync?A(t):(e.needReadable=!1,e.emittedReadable||(e.emittedReadable=!0,I(t)));}}(t,a);else if(i||(o=function(t,e){var n,r;return r=e,s.isBuffer(r)||r instanceof u||"string"==typeof e||void 0===e||t.objectMode||(n=new y("chunk",["string","Buffer","Uint8Array"],e)),n}(a,e)),o)E(t,o);else if(a.objectMode||e&&e.length>0)if("string"==typeof e||a.objectMode||Object.getPrototypeOf(e)===s.prototype||(e=function(t){return s.from(t)}(e)),r)a.endEmitted?E(t,new _):S(t,a,e,!0);else if(a.ended)E(t,new m);else {if(a.destroyed)return !1;a.reading=!1,a.decoder&&!n?(e=a.decoder.write(e),a.objectMode||0!==e.length?S(t,a,e,!1):P(t,a)):S(t,a,e,!1);}else r||(a.reading=!1,P(t,a));return !a.ended&&(a.lengthe.highWaterMark&&(e.highWaterMark=function(t){return t>=N?t=N:(t--,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,t|=t>>>16,t++),t}(t)),t<=e.length?t:e.ended?e.length:(e.needReadable=!0,0))}function A(t){var e=t._readableState;c("emitReadable",e.needReadable,e.emittedReadable),e.needReadable=!1,e.emittedReadable||(c("emitReadable",e.flowing),e.emittedReadable=!0,i.nextTick(I,t));}function I(t){var e=t._readableState;c("emitReadable_",e.destroyed,e.length,e.ended),e.destroyed||!e.length&&!e.ended||(t.emit("readable"),e.emittedReadable=!1),e.needReadable=!e.flowing&&!e.ended&&e.length<=e.highWaterMark,F(t);}function P(t,e){e.readingMore||(e.readingMore=!0,i.nextTick(R,t,e));}function R(t,e){for(;!e.reading&&!e.ended&&(e.length0,e.resumeScheduled&&!e.paused?e.flowing=!0:t.listenerCount("data")>0&&t.resume();}function D(t){c("readable nexttick read 0"),t.read(0);}function k(t,e){c("resume",e.reading),e.reading||t.read(0),e.resumeScheduled=!1,t.emit("resume"),F(t),e.flowing&&!e.reading&&t.read(0);}function F(t){const e=t._readableState;for(c("flow",e.flowing);e.flowing&&null!==t.read(););}function U(t,e){return 0===e.length?null:(e.objectMode?n=e.buffer.shift():!t||t>=e.length?(n=e.decoder?e.buffer.join(""):1===e.buffer.length?e.buffer.first():e.buffer.concat(e.length),e.buffer.clear()):n=e.buffer.consume(t,e.decoder),n);var n;}function B(t){var e=t._readableState;c("endReadable",e.endEmitted),e.endEmitted||(e.ended=!0,i.nextTick(j,e,t));}function j(t,e){if(c("endReadableNT",t.endEmitted,t.length),!t.endEmitted&&0===t.length&&(t.endEmitted=!0,e.readable=!1,e.emit("end"),t.autoDestroy)){const t=e._writableState;(!t||t.autoDestroy&&t.finished)&&e.destroy();}}function G(t,e){for(var n=0,r=t.length;n=e.highWaterMark:e.length>0)||e.ended))return c("read: emitReadable",e.length,e.ended),0===e.length&&e.ended?B(this):A(this),null;if(0===(t=O(t,e))&&e.ended)return 0===e.length&&B(this),null;var r,i=e.needReadable;return c("need readable",i),(0===e.length||e.length-t0?U(t,e):null)?(e.needReadable=e.length<=e.highWaterMark,t=0):(e.length-=t,e.awaitDrain=0),0===e.length&&(e.ended||(e.needReadable=!0),n!==t&&e.ended&&B(this)),null!==r&&this.emit("data",r),r},C.prototype._read=function(t){E(this,new g("_read()"));},C.prototype.pipe=function(t,e){var n=this,r=this._readableState;switch(r.pipesCount){case 0:r.pipes=t;break;case 1:r.pipes=[r.pipes,t];break;default:r.pipes.push(t);}r.pipesCount+=1,c("pipe count=%d opts=%j",r.pipesCount,e);var a=e&&!1===e.end||t===i.stdout||t===i.stderr?y:s;function s(){c("onend"),t.end();}r.endEmitted?i.nextTick(a):n.once("end",a),t.on("unpipe",(function e(i,o){c("onunpipe"),i===n&&o&&!1===o.hasUnpiped&&(o.hasUnpiped=!0,c("cleanup"),t.removeListener("close",p),t.removeListener("finish",d),t.removeListener("drain",u),t.removeListener("error",f),t.removeListener("unpipe",e),n.removeListener("end",s),n.removeListener("end",y),n.removeListener("data",h),l=!0,!r.awaitDrain||t._writableState&&!t._writableState.needDrain||u());}));var u=function(t){return function(){var e=t._readableState;c("pipeOnDrain",e.awaitDrain),e.awaitDrain&&e.awaitDrain--,0===e.awaitDrain&&o(t,"data")&&(e.flowing=!0,F(t));}}(n);t.on("drain",u);var l=!1;function h(e){c("ondata");var i=t.write(e);c("dest.write",i),!1===i&&((1===r.pipesCount&&r.pipes===t||r.pipesCount>1&&-1!==G(r.pipes,t))&&!l&&(c("false write response, pause",r.awaitDrain),r.awaitDrain++),n.pause());}function f(e){c("onerror",e),y(),t.removeListener("error",f),0===o(t,"error")&&E(t,e);}function p(){t.removeListener("finish",d),y();}function d(){c("onfinish"),t.removeListener("close",p),y();}function y(){c("unpipe"),n.unpipe(t);}return n.on("data",h),function(t,e,n){if("function"==typeof t.prependListener)return t.prependListener(e,n);t._events&&t._events[e]?Array.isArray(t._events[e])?t._events[e].unshift(n):t._events[e]=[n,t._events[e]]:t.on(e,n);}(t,"error",f),t.once("close",p),t.once("finish",d),t.emit("pipe",n),r.flowing||(c("pipe resume"),n.resume()),t},C.prototype.unpipe=function(t){var e=this._readableState,n={hasUnpiped:!1};if(0===e.pipesCount)return this;if(1===e.pipesCount)return t&&t!==e.pipes||(t||(t=e.pipes),e.pipes=null,e.pipesCount=0,e.flowing=!1,t&&t.emit("unpipe",this,n)),this;if(!t){var r=e.pipes,i=e.pipesCount;e.pipes=null,e.pipesCount=0,e.flowing=!1;for(var o=0;o0,!1!==r.flowing&&this.resume()):"readable"===t&&(r.endEmitted||r.readableListening||(r.readableListening=r.needReadable=!0,r.flowing=!1,r.emittedReadable=!1,c("on readable",r.length,r.reading),r.length?A(this):r.reading||i.nextTick(D,this))),n},C.prototype.addListener=C.prototype.on,C.prototype.removeListener=function(t,e){const n=a.prototype.removeListener.call(this,t,e);return "readable"===t&&i.nextTick(L,this),n},C.prototype.removeAllListeners=function(t){const e=a.prototype.removeAllListeners.apply(this,arguments);return "readable"!==t&&void 0!==t||i.nextTick(L,this),e},C.prototype.resume=function(){var t=this._readableState;return t.flowing||(c("resume"),t.flowing=!t.readableListening,function(t,e){e.resumeScheduled||(e.resumeScheduled=!0,i.nextTick(k,t,e));}(this,t)),t.paused=!1,this},C.prototype.pause=function(){return c("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(c("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this},C.prototype.wrap=function(t){var e=this._readableState,n=!1;for(var r in t.on("end",(()=>{if(c("wrapped end"),e.decoder&&!e.ended){var t=e.decoder.end();t&&t.length&&this.push(t);}this.push(null);})),t.on("data",(r=>{c("wrapped data"),e.decoder&&(r=e.decoder.write(r)),e.objectMode&&null==r||(e.objectMode||r&&r.length)&&(this.push(r)||(n=!0,t.pause()));})),t)void 0===this[r]&&"function"==typeof t[r]&&(this[r]=function(e){return function(){return t[e].apply(t,arguments)}}(r));for(var i=0;i{c("wrapped _read",e),n&&(n=!1,t.resume());},this},"function"==typeof Symbol&&(C.prototype[Symbol.asyncIterator]=function(){return void 0===v&&(v=n(6819)),v(this)}),Object.defineProperty(C.prototype,"readableHighWaterMark",{enumerable:!1,get:function(){return this._readableState.highWaterMark}}),Object.defineProperty(C.prototype,"readableBuffer",{enumerable:!1,get:function(){return this._readableState&&this._readableState.buffer}}),Object.defineProperty(C.prototype,"readableFlowing",{enumerable:!1,get:function(){return this._readableState.flowing},set:function(t){this._readableState&&(this._readableState.flowing=t);}}),C._fromList=U,Object.defineProperty(C.prototype,"readableLength",{enumerable:!1,get(){return this._readableState.length}}),"function"==typeof Symbol&&(C.from=function(t,e){return void 0===T&&(T=n(8869)),T(C,t,e)});},1846:(t,e,n)=>{"use strict";t.exports=c;const r=n(7303).q,i=r.ERR_METHOD_NOT_IMPLEMENTED,o=r.ERR_MULTIPLE_CALLBACK,a=r.ERR_TRANSFORM_ALREADY_TRANSFORMING,s=r.ERR_TRANSFORM_WITH_LENGTH_0,u=n(9560);function l(t,e){var n=this._transformState;n.transforming=!1;var r=n.writecb;if(null===r)return this.emit("error",new o);n.writechunk=null,n.writecb=null,null!=e&&this.push(e),r(t);var i=this._readableState;i.reading=!1,(i.needReadable||i.length{f(this,t,e);}));}function f(t,e,n){if(e)return t.emit("error",e);if(null!=n&&t.push(n),t._writableState.length)throw new s;if(t._transformState.transforming)throw new a;return t.push(null)}n(5717)(c,u),c.prototype.push=function(t,e){return this._transformState.needTransform=!1,u.prototype.push.call(this,t,e)},c.prototype._transform=function(t,e,n){n(new i("_transform()"));},c.prototype._write=function(t,e,n){var r=this._transformState;if(r.writecb=n,r.writechunk=t,r.writeencoding=e,!r.transforming){var i=this._readableState;(r.needTransform||i.needReadable||i.length{e(t);}));};},3313:(t,e,n)=>{"use strict";var r,i=n(4155);function o(t){this.next=null,this.entry=null,this.finish=()=>{!function(t,e,n){var r=t.entry;for(t.entry=null;r;){var i=r.callback;e.pendingcb--,i(undefined),r=r.next;}e.corkedRequestsFree.next=t;}(this,t);};}t.exports=C,C.WritableState=w;const a={deprecate:n(4927)};var s=n(1463);const u=n(8764).Buffer,l=(void 0!==n.g?n.g:"undefined"!=typeof window?window:"undefined"!=typeof self?self:{}).Uint8Array||function(){},c=n(4910),h=n(7855).getHighWaterMark,f=n(7303).q,p=f.ERR_INVALID_ARG_TYPE,d=f.ERR_METHOD_NOT_IMPLEMENTED,y=f.ERR_MULTIPLE_CALLBACK,m=f.ERR_STREAM_CANNOT_PIPE,g=f.ERR_STREAM_DESTROYED,_=f.ERR_STREAM_NULL_VALUES,b=f.ERR_STREAM_WRITE_AFTER_END,v=f.ERR_UNKNOWN_ENCODING,T=c.errorOrDestroy;function E(){}function w(t,e,a){r=r||n(9560),t=t||{},"boolean"!=typeof a&&(a=e instanceof r),this.objectMode=!!t.objectMode,a&&(this.objectMode=this.objectMode||!!t.writableObjectMode),this.highWaterMark=h(this,t,"writableHighWaterMark",a),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var s=!1===t.decodeStrings;this.decodeStrings=!s,this.defaultEncoding=t.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(t){!function(t,e){var n=t._writableState,r=n.sync,o=n.writecb;if("function"!=typeof o)throw new y;if(function(t){t.writing=!1,t.writecb=null,t.length-=t.writelen,t.writelen=0;}(n),e)!function(t,e,n,r,o){--e.pendingcb,n?(i.nextTick(o,r),i.nextTick(I,t,e),t._writableState.errorEmitted=!0,T(t,r)):(o(r),t._writableState.errorEmitted=!0,T(t,r),I(t,e));}(t,n,r,e,o);else {var a=O(n)||t.destroyed;a||n.corked||n.bufferProcessing||!n.bufferedRequest||N(t,n),r?i.nextTick(S,t,n,a,o):S(t,n,a,o);}}(e,t);},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=!1!==t.emitClose,this.autoDestroy=!!t.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new o(this);}var x;function C(t){const e=this instanceof(r=r||n(9560));if(!e&&!x.call(C,this))return new C(t);this._writableState=new w(t,this,e),this.writable=!0,t&&("function"==typeof t.write&&(this._write=t.write),"function"==typeof t.writev&&(this._writev=t.writev),"function"==typeof t.destroy&&(this._destroy=t.destroy),"function"==typeof t.final&&(this._final=t.final)),s.call(this);}function M(t,e,n,r,i,o,a){e.writelen=r,e.writecb=a,e.writing=!0,e.sync=!0,e.destroyed?e.onwrite(new g("write")):n?t._writev(i,e.onwrite):t._write(i,o,e.onwrite),e.sync=!1;}function S(t,e,n,r){n||function(t,e){0===e.length&&e.needDrain&&(e.needDrain=!1,t.emit("drain"));}(t,e),e.pendingcb--,r(),I(t,e);}function N(t,e){e.bufferProcessing=!0;var n=e.bufferedRequest;if(t._writev&&n&&n.next){var r=e.bufferedRequestCount,i=new Array(r),a=e.corkedRequestsFree;a.entry=n;for(var s=0,u=!0;n;)i[s]=n,n.isBuf||(u=!1),n=n.next,s+=1;i.allBuffers=u,M(t,e,!0,e.length,i,"",a.finish),e.pendingcb++,e.lastBufferedRequest=null,a.next?(e.corkedRequestsFree=a.next,a.next=null):e.corkedRequestsFree=new o(e),e.bufferedRequestCount=0;}else {for(;n;){var l=n.chunk,c=n.encoding,h=n.callback;if(M(t,e,!1,e.objectMode?1:l.length,l,c,h),n=n.next,e.bufferedRequestCount--,e.writing)break}null===n&&(e.lastBufferedRequest=null);}e.bufferedRequest=n,e.bufferProcessing=!1;}function O(t){return t.ending&&0===t.length&&null===t.bufferedRequest&&!t.finished&&!t.writing}function A(t,e){t._final((n=>{e.pendingcb--,n&&T(t,n),e.prefinished=!0,t.emit("prefinish"),I(t,e);}));}function I(t,e){var n=O(e);if(n&&(function(t,e){e.prefinished||e.finalCalled||("function"!=typeof t._final||e.destroyed?(e.prefinished=!0,t.emit("prefinish")):(e.pendingcb++,e.finalCalled=!0,i.nextTick(A,t,e)));}(t,e),0===e.pendingcb&&(e.finished=!0,t.emit("finish"),e.autoDestroy))){const e=t._readableState;(!e||e.autoDestroy&&e.endEmitted)&&t.destroy();}return n}n(5717)(C,s),w.prototype.getBuffer=function(){for(var t=this.bufferedRequest,e=[];t;)e.push(t),t=t.next;return e},function(){try{Object.defineProperty(w.prototype,"buffer",{get:a.deprecate((function(){return this.getBuffer()}),"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")});}catch(t){}}(),"function"==typeof Symbol&&Symbol.hasInstance&&"function"==typeof Function.prototype[Symbol.hasInstance]?(x=Function.prototype[Symbol.hasInstance],Object.defineProperty(C,Symbol.hasInstance,{value:function(t){return !!x.call(this,t)||this===C&&t&&t._writableState instanceof w}})):x=function(t){return t instanceof this},C.prototype.pipe=function(){T(this,new m);},C.prototype.write=function(t,e,n){var r,o=this._writableState,a=!1,s=!o.objectMode&&(r=t,u.isBuffer(r)||r instanceof l);return s&&!u.isBuffer(t)&&(t=function(t){return u.from(t)}(t)),"function"==typeof e&&(n=e,e=null),s?e="buffer":e||(e=o.defaultEncoding),"function"!=typeof n&&(n=E),o.ending?function(t,e){var n=new b;T(t,n),i.nextTick(e,n);}(this,n):(s||function(t,e,n,r){var o;return null===n?o=new _:"string"==typeof n||e.objectMode||(o=new p("chunk",["string","Buffer"],n)),!o||(T(t,o),i.nextTick(r,o),!1)}(this,o,t,n))&&(o.pendingcb++,a=function(t,e,n,r,i,o){if(!n){var a=function(t,e,n){return t.objectMode||!1===t.decodeStrings||"string"!=typeof e||(e=u.from(e,n)),e}(e,r,i);r!==a&&(n=!0,i="buffer",r=a);}var s=e.objectMode?1:r.length;e.length+=s;var l=e.length-1))throw new v(t);return this._writableState.defaultEncoding=t,this},Object.defineProperty(C.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(C.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),C.prototype._write=function(t,e,n){n(new d("_write()"));},C.prototype._writev=null,C.prototype.end=function(t,e,n){var r=this._writableState;return "function"==typeof t?(n=t,t=null,e=null):"function"==typeof e&&(n=e,e=null),null!=t&&this.write(t,e),r.corked&&(r.corked=1,this.uncork()),r.ending||function(t,e,n){e.ending=!0,I(t,e),n&&(e.finished?i.nextTick(n):t.once("finish",n)),e.ended=!0,t.writable=!1;}(this,r,n),this},Object.defineProperty(C.prototype,"writableLength",{enumerable:!1,get(){return this._writableState.length}}),Object.defineProperty(C.prototype,"destroyed",{enumerable:!1,get(){return void 0!==this._writableState&&this._writableState.destroyed},set(t){this._writableState&&(this._writableState.destroyed=t);}}),C.prototype.destroy=c.destroy,C.prototype._undestroy=c.undestroy,C.prototype._destroy=function(t,e){e(t);};},6819:(t,e,n)=>{"use strict";var r=n(4155);const i=n(5467),o=Symbol("lastResolve"),a=Symbol("lastReject"),s=Symbol("error"),u=Symbol("ended"),l=Symbol("lastPromise"),c=Symbol("handlePromise"),h=Symbol("stream");function f(t,e){return {value:t,done:e}}function p(t){const e=t[o];if(null!==e){const n=t[h].read();null!==n&&(t[l]=null,t[o]=null,t[a]=null,e(f(n,!1)));}}function d(t){r.nextTick(p,t);}const y=Object.getPrototypeOf((function(){})),m=Object.setPrototypeOf({get stream(){return this[h]},next(){const t=this[s];if(null!==t)return Promise.reject(t);if(this[u])return Promise.resolve(f(void 0,!0));if(this[h].destroyed)return new Promise(((t,e)=>{r.nextTick((()=>{this[s]?e(this[s]):t(f(void 0,!0));}));}));const e=this[l];let n;if(e)n=new Promise(function(t,e){return (n,r)=>{t.then((()=>{e[u]?n(f(void 0,!0)):e[c](n,r);}),r);}}(e,this));else {const t=this[h].read();if(null!==t)return Promise.resolve(f(t,!1));n=new Promise(this[c]);}return this[l]=n,n},[Symbol.asyncIterator](){return this},return(){return new Promise(((t,e)=>{this[h].destroy(null,(n=>{n?e(n):t(f(void 0,!0));}));}))}},y);t.exports=t=>{const e=Object.create(m,{[h]:{value:t,writable:!0},[o]:{value:null,writable:!0},[a]:{value:null,writable:!0},[s]:{value:null,writable:!0},[u]:{value:t._readableState.endEmitted,writable:!0},[c]:{value:(t,n)=>{const r=e[h].read();r?(e[l]=null,e[o]=null,e[a]=null,t(f(r,!1))):(e[o]=t,e[a]=n);},writable:!0}});return e[l]=null,i(t,(t=>{if(t&&"ERR_STREAM_PREMATURE_CLOSE"!==t.code){const n=e[a];return null!==n&&(e[l]=null,e[o]=null,e[a]=null,n(t)),void(e[s]=t)}const n=e[o];null!==n&&(e[l]=null,e[o]=null,e[a]=null,n(f(void 0,!0))),e[u]=!0;})),t.on("readable",d.bind(null,e)),e};},6641:(t,e,n)=>{"use strict";function r(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r);}return n}function i(t){for(var e=1;e0?this.tail.next=e:this.head=e,this.tail=e,++this.length;}unshift(t){const e={data:t,next:this.head};0===this.length&&(this.tail=e),this.head=e,++this.length;}shift(){if(0===this.length)return;const t=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,t}clear(){this.head=this.tail=null,this.length=0;}join(t){if(0===this.length)return "";for(var e=this.head,n=""+e.data;e=e.next;)n+=t+e.data;return n}concat(t){if(0===this.length)return a.alloc(0);const e=a.allocUnsafe(t>>>0);for(var n,r,i,o=this.head,s=0;o;)n=o.data,r=e,i=s,a.prototype.copy.call(n,r,i),s+=o.data.length,o=o.next;return e}consume(t,e){var n;return ti.length?i.length:t;if(o===i.length?r+=i:r+=i.slice(0,t),0==(t-=o)){o===i.length?(++n,e.next?this.head=e.next:this.head=this.tail=null):(this.head=e,e.data=i.slice(o));break}++n;}return this.length-=n,r}_getBuffer(t){const e=a.allocUnsafe(t);var n=this.head,r=1;for(n.data.copy(e),t-=n.data.length;n=n.next;){const i=n.data,o=t>i.length?i.length:t;if(i.copy(e,e.length-t,0,o),0==(t-=o)){o===i.length?(++r,n.next?this.head=n.next:this.head=this.tail=null):(this.head=n,n.data=i.slice(o));break}++r;}return this.length-=r,e}[u](t,e){return s(this,i(i({},e),{},{depth:0,customInspect:!1}))}};},4910:(t,e,n)=>{"use strict";var r=n(4155);function i(t,e){a(t,e),o(t);}function o(t){t._writableState&&!t._writableState.emitClose||t._readableState&&!t._readableState.emitClose||t.emit("close");}function a(t,e){t.emit("error",e);}t.exports={destroy:function(t,e){const n=this._readableState&&this._readableState.destroyed,s=this._writableState&&this._writableState.destroyed;return n||s?(e?e(t):t&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,r.nextTick(a,this,t)):r.nextTick(a,this,t)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(t||null,(t=>{!e&&t?this._writableState?this._writableState.errorEmitted?r.nextTick(o,this):(this._writableState.errorEmitted=!0,r.nextTick(i,this,t)):r.nextTick(i,this,t):e?(r.nextTick(o,this),e(t)):r.nextTick(o,this);})),this)},undestroy:function(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1);},errorOrDestroy:function(t,e){const n=t._readableState,r=t._writableState;n&&n.autoDestroy||r&&r.autoDestroy?t.destroy(e):t.emit("error",e);}};},5467:(t,e,n)=>{"use strict";const r=n(7303).q.ERR_STREAM_PREMATURE_CLOSE;function i(){}t.exports=function t(e,n,o){if("function"==typeof n)return t(e,null,n);n||(n={}),o=function(t){let e=!1;return function(){if(!e){e=!0;for(var n=arguments.length,r=new Array(n),i=0;i{e.writable||c();};var l=e._writableState&&e._writableState.finished;const c=()=>{s=!1,l=!0,a||o.call(e);};var h=e._readableState&&e._readableState.endEmitted;const f=()=>{a=!1,h=!0,s||o.call(e);},p=t=>{o.call(e,t);},d=()=>{let t;return a&&!h?(e._readableState&&e._readableState.ended||(t=new r),o.call(e,t)):s&&!l?(e._writableState&&e._writableState.ended||(t=new r),o.call(e,t)):void 0},y=()=>{e.req.on("finish",c);};return function(t){return t.setHeader&&"function"==typeof t.abort}(e)?(e.on("complete",c),e.on("abort",d),e.req?y():e.on("request",y)):s&&!e._writableState&&(e.on("end",u),e.on("close",u)),e.on("end",f),e.on("finish",c),!1!==n.error&&e.on("error",p),e.on("close",d),function(){e.removeListener("complete",c),e.removeListener("abort",d),e.removeListener("request",y),e.req&&e.req.removeListener("finish",c),e.removeListener("end",u),e.removeListener("close",u),e.removeListener("finish",c),e.removeListener("end",f),e.removeListener("error",p),e.removeListener("close",d);}};},8869:t=>{t.exports=function(){throw new Error("Readable.from is not available in the browser")};},9689:(t,e,n)=>{"use strict";let r;const i=n(7303).q,o=i.ERR_MISSING_ARGS,a=i.ERR_STREAM_DESTROYED;function s(t){if(t)throw t}function u(t){t();}function l(t,e){return t.pipe(e)}t.exports=function(){for(var t=arguments.length,e=new Array(t),i=0;i{s=!0;})),void 0===r&&(r=n(5467)),r(t,{readable:e,writable:i},(t=>{if(t)return o(t);s=!0,o();}));let u=!1;return e=>{if(!s&&!u)return u=!0,function(t){return t.setHeader&&"function"==typeof t.abort}(t)?t.abort():"function"==typeof t.destroy?t.destroy():void o(e||new a("pipe"))}}(t,o,i>0,(function(t){h||(h=t),t&&f.forEach(u),o||(f.forEach(u),c(h));}))}));return e.reduce(l)};},7855:(t,e,n)=>{"use strict";const r=n(7303).q.ERR_INVALID_OPT_VALUE;t.exports={getHighWaterMark:function(t,e,n,i){const o=function(t,e,n){return null!=t.highWaterMark?t.highWaterMark:e?t[n]:null}(e,i,n);if(null!=o){if(!isFinite(o)||Math.floor(o)!==o||o<0)throw new r(i?n:"highWaterMark",o);return Math.floor(o)}return t.objectMode?16:16384}};},1463:(t,e,n)=>{t.exports=n(7187).EventEmitter;},925:(t,e,n)=>{(e=t.exports=n(4002)).Stream=e,e.Readable=e,e.Writable=n(3313),e.Duplex=n(9560),e.Transform=n(1846),e.PassThrough=n(4842),e.finished=n(5467),e.pipeline=n(9689);},2553:(t,e,n)=>{"use strict";var r=n(9509).Buffer,i=r.isEncoding||function(t){switch((t=""+t)&&t.toLowerCase()){case "hex":case "utf8":case "utf-8":case "ascii":case "binary":case "base64":case "ucs2":case "ucs-2":case "utf16le":case "utf-16le":case "raw":return !0;default:return !1}};function o(t){var e;switch(this.encoding=function(t){var e=function(t){if(!t)return "utf8";for(var e;;)switch(t){case "utf8":case "utf-8":return "utf8";case "ucs2":case "ucs-2":case "utf16le":case "utf-16le":return "utf16le";case "latin1":case "binary":return "latin1";case "base64":case "ascii":case "hex":return t;default:if(e)return;t=(""+t).toLowerCase(),e=!0;}}(t);if("string"!=typeof e&&(r.isEncoding===i||!i(t)))throw new Error("Unknown encoding: "+t);return e||t}(t),this.encoding){case "utf16le":this.text=u,this.end=l,e=4;break;case "utf8":this.fillLast=s,e=4;break;case "base64":this.text=c,this.end=h,e=3;break;default:return this.write=f,void(this.end=p)}this.lastNeed=0,this.lastTotal=0,this.lastChar=r.allocUnsafe(e);}function a(t){return t<=127?0:t>>5==6?2:t>>4==14?3:t>>3==30?4:t>>6==2?-1:-2}function s(t){var e=this.lastTotal-this.lastNeed,n=function(t,e,n){if(128!=(192&e[0]))return t.lastNeed=0,"�";if(t.lastNeed>1&&e.length>1){if(128!=(192&e[1]))return t.lastNeed=1,"�";if(t.lastNeed>2&&e.length>2&&128!=(192&e[2]))return t.lastNeed=2,"�"}}(this,t);return void 0!==n?n:this.lastNeed<=t.length?(t.copy(this.lastChar,e,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(t.copy(this.lastChar,e,0,t.length),void(this.lastNeed-=t.length))}function u(t,e){if((t.length-e)%2==0){var n=t.toString("utf16le",e);if(n){var r=n.charCodeAt(n.length-1);if(r>=55296&&r<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1],n.slice(0,-1)}return n}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=t[t.length-1],t.toString("utf16le",e,t.length-1)}function l(t){var e=t&&t.length?this.write(t):"";if(this.lastNeed){var n=this.lastTotal-this.lastNeed;return e+this.lastChar.toString("utf16le",0,n)}return e}function c(t,e){var n=(t.length-e)%3;return 0===n?t.toString("base64",e):(this.lastNeed=3-n,this.lastTotal=3,1===n?this.lastChar[0]=t[t.length-1]:(this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1]),t.toString("base64",e,t.length-n))}function h(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+this.lastChar.toString("base64",0,3-this.lastNeed):e}function f(t){return t.toString(this.encoding)}function p(t){return t&&t.length?this.write(t):""}e.s=o,o.prototype.write=function(t){if(0===t.length)return "";var e,n;if(this.lastNeed){if(void 0===(e=this.fillLast(t)))return "";n=this.lastNeed,this.lastNeed=0;}else n=0;return n=0?(i>0&&(t.lastNeed=i-1),i):--r=0?(i>0&&(t.lastNeed=i-2),i):--r=0?(i>0&&(2===i?i=0:t.lastNeed=i-3),i):0}(this,t,e);if(!this.lastNeed)return t.toString("utf8",e);this.lastTotal=n;var r=t.length-(n-this.lastNeed);return t.copy(this.lastChar,0,r),t.toString("utf8",e,r)},o.prototype.fillLast=function(t){if(this.lastNeed<=t.length)return t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,t.length),this.lastNeed-=t.length;};},842:(t,e,n)=>{"use strict";var r=n(3085).lW;Object.defineProperty(e,"__esModule",{value:!0}),e.AbstractTokenizer=void 0;const i=n(5167);e.AbstractTokenizer=class{constructor(t){this.position=0,this.numBuffer=new Uint8Array(8),this.fileInfo=t||{};}async readToken(t,e=this.position){const n=r.alloc(t.len);if(await this.readBuffer(n,{position:e})e)return this.position+=e,e}return this.position+=t,t}async close(){}normalizeOptions(t,e){if(e&&void 0!==e.position&&e.position{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.BufferTokenizer=void 0;const r=n(5167),i=n(842);class o extends i.AbstractTokenizer{constructor(t,e){super(e),this.uint8Array=t,this.fileInfo.size=this.fileInfo.size?this.fileInfo.size:t.length;}async readBuffer(t,e){if(e&&e.position){if(e.position{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.fromFile=e.FileTokenizer=void 0;const r=n(842),i=n(5167),o=n(7209);class a extends r.AbstractTokenizer{constructor(t,e){super(e),this.fd=t;}async readBuffer(t,e){const n=this.normalizeOptions(t,e);this.position=n.position;const r=await o.read(this.fd,t,n.offset,n.length,n.position);if(this.position+=r.bytesRead,r.bytesRead{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.readFile=e.writeFileSync=e.writeFile=e.read=e.open=e.close=e.stat=e.createReadStream=e.pathExists=void 0;const r=n(4059);e.pathExists=r.existsSync,e.createReadStream=r.createReadStream,e.stat=async function(t){return new Promise(((e,n)=>{r.stat(t,((t,r)=>{t?n(t):e(r);}));}))},e.close=async function(t){return new Promise(((e,n)=>{r.close(t,(t=>{t?n(t):e();}));}))},e.open=async function(t,e){return new Promise(((n,i)=>{r.open(t,e,((t,e)=>{t?i(t):n(e);}));}))},e.read=async function(t,e,n,i,o){return new Promise(((a,s)=>{r.read(t,e,n,i,o,((t,e,n)=>{t?s(t):a({bytesRead:e,buffer:n});}));}))},e.writeFile=async function(t,e){return new Promise(((n,i)=>{r.writeFile(t,e,(t=>{t?i(t):n();}));}))},e.writeFileSync=function(t,e){r.writeFileSync(t,e);},e.readFile=async function(t){return new Promise(((e,n)=>{r.readFile(t,((t,r)=>{t?n(t):e(r);}));}))};},599:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ReadStreamTokenizer=void 0;const r=n(842),i=n(5167);class o extends r.AbstractTokenizer{constructor(t,e){super(e),this.streamReader=new i.StreamReader(t);}async getFileInfo(){return this.fileInfo}async readBuffer(t,e){const n=this.normalizeOptions(t,e),r=n.position-this.position;if(r>0)return await this.ignore(r),this.readBuffer(t,e);if(r<0)throw new Error("`options.position` must be equal or greater than `tokenizer.position`");if(0===n.length)return 0;const o=await this.streamReader.read(t,n.offset,n.length);if(this.position+=o,(!e||!e.mayBeLess)&&o0){const i=new Uint8Array(n.length+e);return r=await this.peekBuffer(i,{mayBeLess:n.mayBeLess}),t.set(i.subarray(e),n.offset),r-e}if(e<0)throw new Error("Cannot peek from a negative offset in a stream")}if(n.length>0){try{r=await this.streamReader.peek(t,n.offset,n.length);}catch(t){if(e&&e.mayBeLess&&t instanceof i.EndOfStreamError)return 0;throw t}if(!n.mayBeLess&&r{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.fromBuffer=e.fromStream=e.EndOfStreamError=void 0;const r=n(599),i=n(778);var o=n(5167);Object.defineProperty(e,"EndOfStreamError",{enumerable:!0,get:function(){return o.EndOfStreamError}}),e.fromStream=function(t,e){return e=e||{},new r.ReadStreamTokenizer(t,e)},e.fromBuffer=function(t,e){return new i.BufferTokenizer(t,e)};},6597:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.fromStream=e.fromBuffer=e.EndOfStreamError=e.fromFile=void 0;const r=n(7209),i=n(5849);var o=n(7859);Object.defineProperty(e,"fromFile",{enumerable:!0,get:function(){return o.fromFile}});var a=n(5849);Object.defineProperty(e,"EndOfStreamError",{enumerable:!0,get:function(){return a.EndOfStreamError}}),Object.defineProperty(e,"fromBuffer",{enumerable:!0,get:function(){return a.fromBuffer}}),e.fromStream=async function(t,e){if(e=e||{},t.path){const n=await r.stat(t.path);e.path=t.path,e.size=n.size;}return i.fromStream(t,e)};},3416:(t,e,n)=>{"use strict";var r=n(3085).lW;Object.defineProperty(e,"__esModule",{value:!0}),e.AnsiStringType=e.StringType=e.BufferType=e.Uint8ArrayType=e.IgnoreType=e.Float80_LE=e.Float80_BE=e.Float64_LE=e.Float64_BE=e.Float32_LE=e.Float32_BE=e.Float16_LE=e.Float16_BE=e.INT64_BE=e.UINT64_BE=e.INT64_LE=e.UINT64_LE=e.INT32_LE=e.INT32_BE=e.INT24_BE=e.INT24_LE=e.INT16_LE=e.INT16_BE=e.INT8=e.UINT32_BE=e.UINT32_LE=e.UINT24_BE=e.UINT24_LE=e.UINT16_BE=e.UINT16_LE=e.UINT8=void 0;const i=n(645);function o(t){return new DataView(t.buffer,t.byteOffset)}e.UINT8={len:1,get:(t,e)=>o(t).getUint8(e),put:(t,e,n)=>(o(t).setUint8(e,n),e+1)},e.UINT16_LE={len:2,get:(t,e)=>o(t).getUint16(e,!0),put:(t,e,n)=>(o(t).setUint16(e,n,!0),e+2)},e.UINT16_BE={len:2,get:(t,e)=>o(t).getUint16(e),put:(t,e,n)=>(o(t).setUint16(e,n),e+2)},e.UINT24_LE={len:3,get(t,e){const n=o(t);return n.getUint8(e)+(n.getUint16(e+1,!0)<<8)},put(t,e,n){const r=o(t);return r.setUint8(e,255&n),r.setUint16(e+1,n>>8,!0),e+3}},e.UINT24_BE={len:3,get(t,e){const n=o(t);return (n.getUint16(e)<<8)+n.getUint8(e+2)},put(t,e,n){const r=o(t);return r.setUint16(e,n>>8),r.setUint8(e+2,255&n),e+3}},e.UINT32_LE={len:4,get:(t,e)=>o(t).getUint32(e,!0),put:(t,e,n)=>(o(t).setUint32(e,n,!0),e+4)},e.UINT32_BE={len:4,get:(t,e)=>o(t).getUint32(e),put:(t,e,n)=>(o(t).setUint32(e,n),e+4)},e.INT8={len:1,get:(t,e)=>o(t).getInt8(e),put:(t,e,n)=>(o(t).setInt8(e,n),e+1)},e.INT16_BE={len:2,get:(t,e)=>o(t).getInt16(e),put:(t,e,n)=>(o(t).setInt16(e,n),e+2)},e.INT16_LE={len:2,get:(t,e)=>o(t).getInt16(e,!0),put:(t,e,n)=>(o(t).setInt16(e,n,!0),e+2)},e.INT24_LE={len:3,get(t,n){const r=e.UINT24_LE.get(t,n);return r>8388607?r-16777216:r},put(t,e,n){const r=o(t);return r.setUint8(e,255&n),r.setUint16(e+1,n>>8,!0),e+3}},e.INT24_BE={len:3,get(t,n){const r=e.UINT24_BE.get(t,n);return r>8388607?r-16777216:r},put(t,e,n){const r=o(t);return r.setUint16(e,n>>8),r.setUint8(e+2,255&n),e+3}},e.INT32_BE={len:4,get:(t,e)=>o(t).getInt32(e),put:(t,e,n)=>(o(t).setInt32(e,n),e+4)},e.INT32_LE={len:4,get:(t,e)=>o(t).getInt32(e,!0),put:(t,e,n)=>(o(t).setInt32(e,n,!0),e+4)},e.UINT64_LE={len:8,get:(t,e)=>o(t).getBigUint64(e,!0),put:(t,e,n)=>(o(t).setBigUint64(e,n,!0),e+8)},e.INT64_LE={len:8,get:(t,e)=>o(t).getBigInt64(e,!0),put:(t,e,n)=>(o(t).setBigInt64(e,n,!0),e+8)},e.UINT64_BE={len:8,get:(t,e)=>o(t).getBigUint64(e),put:(t,e,n)=>(o(t).setBigUint64(e,n),e+8)},e.INT64_BE={len:8,get:(t,e)=>o(t).getBigInt64(e),put:(t,e,n)=>(o(t).setBigInt64(e,n),e+8)},e.Float16_BE={len:2,get(t,e){return i.read(t,e,!1,10,this.len)},put(t,e,n){return i.write(t,n,e,!1,10,this.len),e+this.len}},e.Float16_LE={len:2,get(t,e){return i.read(t,e,!0,10,this.len)},put(t,e,n){return i.write(t,n,e,!0,10,this.len),e+this.len}},e.Float32_BE={len:4,get:(t,e)=>o(t).getFloat32(e),put:(t,e,n)=>(o(t).setFloat32(e,n),e+4)},e.Float32_LE={len:4,get:(t,e)=>o(t).getFloat32(e,!0),put:(t,e,n)=>(o(t).setFloat32(e,n,!0),e+4)},e.Float64_BE={len:8,get:(t,e)=>o(t).getFloat64(e),put:(t,e,n)=>(o(t).setFloat64(e,n),e+8)},e.Float64_LE={len:8,get:(t,e)=>o(t).getFloat64(e,!0),put:(t,e,n)=>(o(t).setFloat64(e,n,!0),e+8)},e.Float80_BE={len:10,get(t,e){return i.read(t,e,!1,63,this.len)},put(t,e,n){return i.write(t,n,e,!1,63,this.len),e+this.len}},e.Float80_LE={len:10,get(t,e){return i.read(t,e,!0,63,this.len)},put(t,e,n){return i.write(t,n,e,!0,63,this.len),e+this.len}},e.IgnoreType=class{constructor(t){this.len=t;}get(t,e){}},e.Uint8ArrayType=class{constructor(t){this.len=t;}get(t,e){return t.subarray(e,e+this.len)}},e.BufferType=class{constructor(t){this.len=t;}get(t,e){return r.from(t.subarray(e,e+this.len))}},e.StringType=class{constructor(t,e){this.len=t,this.encoding=e;}get(t,e){return r.from(t).toString(this.encoding,e,e+this.len)}};class a{constructor(t){this.len=t;}static decode(t,e,n){let r="";for(let i=e;i>10),56320+(1023&t)))}static singleByteDecoder(t){if(a.inRange(t,0,127))return t;const e=a.windows1252[t-128];if(null===e)throw Error("invaliding encoding");return e}get(t,e=0){return a.decode(t,e,e+this.len)}}e.AnsiStringType=a,a.windows1252=[8364,129,8218,402,8222,8230,8224,8225,710,8240,352,8249,338,141,381,143,144,8216,8217,8220,8221,8226,8211,8212,732,8482,353,8250,339,157,382,376,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255];},1191:function(t,e,n){"use strict";var r=n(4155),i=this&&this.__awaiter||function(t,e,n,r){return new(n||(n=Promise))((function(i,o){function a(t){try{u(r.next(t));}catch(t){o(t);}}function s(t){try{u(r.throw(t));}catch(t){o(t);}}function u(t){var e;t.done?i(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e);}))).then(a,s);}u((r=r.apply(t,e||[])).next());}))},o=this&&this.__generator||function(t,e){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(s){return function(u){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;o&&(o=0,s[0]&&(a=0)),a;)try{if(n=1,r&&(i=2&s[0]?r.return:s[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,s[1])).done)return i;switch(r=0,i&&(s=[2&s[0],i.value]),s[0]){case 0:case 1:i=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,r=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!((i=(i=a.trys).length>0&&i[i.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!i||s[1]>i[0]&&s[1]{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.BoundingBox=void 0;var r=n(5604),i=n(1375),o=function(){function t(e,n,r,i){e instanceof t?(this.minLongitude=e.minLongitude,this.maxLongitude=e.maxLongitude,this.minLatitude=e.minLatitude,this.maxLatitude=e.maxLatitude):(this.minLongitude=e,this.maxLongitude=n,this.minLatitude=r,this.maxLatitude=i);}return Object.defineProperty(t.prototype,"minLongitude",{get:function(){return this._minLongitude},set:function(t){this._minLongitude=t,this.width=this.maxLongitude-this.minLongitude;},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"maxLongitude",{get:function(){return this._maxLongitude},set:function(t){this._maxLongitude=t,this.width=this.maxLongitude-this.minLongitude;},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"minLatitude",{get:function(){return this._minLatitude},set:function(t){this._minLatitude=t,this.height=this.maxLatitude-this.minLatitude;},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"maxLatitude",{get:function(){return this._maxLatitude},set:function(t){this._maxLatitude=t,this.height=this.maxLatitude-this.minLatitude;},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"width",{get:function(){return this._width},set:function(t){this._width=t;},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"height",{get:function(){return this._height},set:function(t){this._height=t;},enumerable:!1,configurable:!0}),t.prototype.buildEnvelope=function(){return {minY:this.minLatitude,minX:this.minLongitude,maxY:this.maxLatitude,maxX:this.maxLongitude}},t.prototype.toGeoJSON=function(){return {type:"Feature",properties:{},geometry:{type:"Polygon",coordinates:[[[this.minLongitude,this.minLatitude],[this.maxLongitude,this.minLatitude],[this.maxLongitude,this.maxLatitude],[this.minLongitude,this.maxLatitude],[this.minLongitude,this.minLatitude]]]}}},t.prototype.equals=function(t){return !!t&&(this===t||this.maxLatitude===t.maxLatitude&&this.minLatitude===t.minLatitude&&this.maxLongitude===t.maxLongitude&&this.maxLatitude===t.maxLatitude)},t.prototype.projectBoundingBox=function(e,n){var o=this.minLatitude,a=this.maxLatitude,s=this.minLongitude,u=this.maxLongitude;if(e&&"undefined"!==e&&n&&"undefined"!==n){r.Projection.isWebMercator(n)&&r.Projection.isWGS84(e)&&(a=Math.min(a,i.ProjectionConstants.WEB_MERCATOR_MAX_LAT_RANGE),o=Math.max(o,i.ProjectionConstants.WEB_MERCATOR_MIN_LAT_RANGE),u=Math.min(u,i.ProjectionConstants.WEB_MERCATOR_MAX_LON_RANGE),s=Math.max(s,i.ProjectionConstants.WEB_MERCATOR_MIN_LON_RANGE));var l=void 0;l=r.Projection.isConverter(n)?n:r.Projection.getConverter(n);var c=void 0;if(c=r.Projection.isConverter(e)?e:r.Projection.getConverter(e),r.Projection.convertersMatch(l,c))return new t(s,u,o,a);var h=l.forward(c.inverse([s,o])),f=l.forward(c.inverse([u,a])),p=l.forward(c.inverse([u,o])),d=l.forward(c.inverse([s,a]));return new t(Math.min(h[0],d[0]),Math.max(f[0],p[0]),Math.min(h[1],p[1]),Math.max(f[1],p[1]))}return this},t}();e.BoundingBox=o;},3437:function(t,e){"use strict";var n=this&&this.__awaiter||function(t,e,n,r){return new(n||(n=Promise))((function(i,o){function a(t){try{u(r.next(t));}catch(t){o(t);}}function s(t){try{u(r.throw(t));}catch(t){o(t);}}function u(t){var e;t.done?i(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e);}))).then(a,s);}u((r=r.apply(t,e||[])).next());}))},r=this&&this.__generator||function(t,e){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(s){return function(u){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;o&&(o=0,s[0]&&(a=0)),a;)try{if(n=1,r&&(i=2&s[0]?r.return:s[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,s[1])).done)return i;switch(r=0,i&&(s=[2&s[0],i.value]),s[0]){case 0:case 1:i=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,r=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!((i=(i=a.trys).length>0&&i[i.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!i||s[1]>i[0]&&s[1]0&&i[i.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!i||s[1]>i[0]&&s[1]{"use strict";var r=n(3085).lW;Object.defineProperty(e,"__esModule",{value:!0}),e.CanvasUtils=void 0;var i=function(){function t(){}return t.base64toUInt8Array=function(t){for(var e=r.from(t,"base64").toString("binary"),n=e.length,i=new Uint8Array(n);n--;)i[n]=e.charCodeAt(n);return i},t}();e.CanvasUtils=i;},2807:function(t,e,n){"use strict";var r=n(3085).lW,i=this&&this.__awaiter||function(t,e,n,r){return new(n||(n=Promise))((function(i,o){function a(t){try{u(r.next(t));}catch(t){o(t);}}function s(t){try{u(r.throw(t));}catch(t){o(t);}}function u(t){var e;t.done?i(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e);}))).then(a,s);}u((r=r.apply(t,e||[])).next());}))},o=this&&this.__generator||function(t,e){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(s){return function(u){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;o&&(o=0,s[0]&&(a=0)),a;)try{if(n=1,r&&(i=2&s[0]?r.return:s[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,s[1])).done)return i;switch(r=0,i&&(s=[2&s[0],i.value]),s[0]){case 0:case 1:i=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,r=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!((i=(i=a.trys).length>0&&i[i.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!i||s[1]>i[0]&&s[1]0&&i[i.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!i||s[1]>i[0]&&s[1]0&&i[i.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!i||s[1]>i[0]&&s[1]{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Contents=void 0;var n=function(){function t(){}return t.prototype.copy=function(){var e=new t;return e.table_name=this.table_name,e.data_type=this.data_type,e.identifier=this.identifier,e.description=this.description,e.min_x=this.min_x,e.max_x=this.max_x,e.min_y=this.min_y,e.max_y=this.max_y,e.srs_id=this.srs_id,e},t.prototype.getTableName=function(){return this.table_name},t}();e.Contents=n;},6638:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);}),o=this&&this.__values||function(t){var e="function"==typeof Symbol&&Symbol.iterator,n=e&&t[e],r=0;if(n)return n.call(t);if(t&&"number"==typeof t.length)return {next:function(){return t&&r>=t.length&&(t=void 0),{value:t&&t[r++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.ContentsDao=void 0;var a=n(4115),s=n(3506),u=n(5925),l=n(1968),c=n(5897),h=n(8572),f=n(2527),p=n(9971),d=n(1375),y=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.gpkgTableName=e.TABLE_NAME,n.idColumns=[e.COLUMN_PK],n}return i(e,t),e.prototype.createObject=function(t){var e=new c.Contents;return t&&(e.table_name=t.table_name,e.data_type=t.data_type,e.identifier=t.identifier,e.description=t.description,e.last_change=t.last_change,e.min_y=t.min_y,e.max_y=t.max_y,e.min_x=t.min_x,e.max_x=t.max_x,e.srs_id=t.srs_id),e},e.prototype.getTables=function(t){var n;if(t){var r=new h.ColumnValues;r.addColumn(e.COLUMN_DATA_TYPE,t),n=this.queryForColumns("table_name",r);}else n=this.queryForColumns("table_name");for(var i=[],o=0;o0&&a.forEach((function(t){o.deleteByMultiId([t.table_name,t.zoom_level]);}));}var s=this.geoPackage.tileMatrixSetDao;if(s.isTableExists()){var u=this.getTileMatrixSet(t);null!=u&&s.deleteById(u.table_name);}break;case p.ContentsDataType.ATTRIBUTES:this.dropTableWithTableName(t.table_name);}else this.dropTableWithTableName(t.table_name);e=this.delete(t);}return e},e.prototype.deleteCascade=function(t,e){var n=this.deleteCascadeContents(t);return e&&this.dropTableWithTableName(t.table_name),n},e.prototype.deleteByIdCascade=function(t,e){var n=0;if(null!=t){var r=this.queryForId(t);null!=r?n=this.deleteCascade(r,e):e&&this.dropTableWithTableName(t);}return n},e.prototype.deleteTable=function(t){try{this.deleteByIdCascade(t,!0);}catch(e){throw new Error("Failed to delete table: "+t)}},e.TABLE_NAME="gpkg_contents",e.COLUMN_PK="table_name",e.COLUMN_TABLE_NAME="table_name",e.COLUMN_DATA_TYPE="data_type",e.COLUMN_IDENTIFIER="identifier",e.COLUMN_DESCRIPTION="description",e.COLUMN_LAST_CHANGE="last_change",e.COLUMN_MIN_X="min_x",e.COLUMN_MIN_Y="min_y",e.COLUMN_MAX_X="max_x",e.COLUMN_MAX_Y="max_y",e.COLUMN_SRS_ID="srs_id",e}(a.Dao);e.ContentsDao=y;},9971:(t,e)=>{"use strict";var n;Object.defineProperty(e,"__esModule",{value:!0}),e.ContentsDataType=void 0,(n=e.ContentsDataType||(e.ContentsDataType={})).FEATURES="features",n.TILES="tiles",n.ATTRIBUTES="attributes",function(t){t.nameFromType=function(e){return t[e]},t.fromName=function(e){var n=null;if(null!=e)switch(e.toLowerCase()){case t.FEATURES:n=t.FEATURES;break;case t.TILES:n=t.TILES;break;case t.ATTRIBUTES:n=t.ATTRIBUTES;}return n};}(e.ContentsDataType||(e.ContentsDataType={}));},341:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SpatialReferenceSystem=void 0;var r=n(5604),i=n(1375),o=function(){function t(){}return Object.defineProperty(t.prototype,"projection",{get:function(){return "NONE"===this.organization?null:!this.organization||this.organization.toUpperCase()!==i.ProjectionConstants.EPSG||this.organization_coordsys_id!==i.ProjectionConstants.EPSG_CODE_4326&&this.organization_coordsys_id!==i.ProjectionConstants.EPSG_CODE_3857?this.definition_12_063&&""!==this.definition_12_063&&"undefined"!==this.definition_12_063?r.Projection.getConverter(this.definition_12_063):this.definition&&""!==this.definition&&"undefined"!==this.definition?r.Projection.getConverter(this.definition):null:r.Projection.getEPSGConverter(this.organization_coordsys_id)},enumerable:!1,configurable:!0}),t.TABLE_NAME="gpkg_spatial_ref_sys",t}();e.SpatialReferenceSystem=o;},5965:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);});Object.defineProperty(e,"__esModule",{value:!0}),e.SpatialReferenceSystemDao=void 0;var o=n(4115),a=n(341),s=n(8572),u=n(1375),l=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.idColumns=[e.COLUMN_SRS_ID],n.gpkgTableName=e.TABLE_NAME,n}return i(e,t),e.prototype.createObject=function(t){var e=new a.SpatialReferenceSystem;return t&&(e.srs_name=t.srs_name,e.srs_id=t.srs_id,e.organization=t.organization,e.organization_coordsys_id=t.organization_coordsys_id,e.definition=t.definition,e.definition_12_063=t.definition,e.description=t.description),e},e.prototype.getAllSpatialReferenceSystems=function(){var t=[];if(null!=this.connection&&this.isTableExists()){var e=this.queryForAll();if(e&&e.length)for(var n=0;n{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ColumnValues=void 0;var n=function(){function t(){this.values={},this.columns=[];}return t.prototype.addColumn=function(t,e){this.columns.push(t),this.values[t]=e;},t.prototype.getValue=function(t){return this.values[t]},t}();e.ColumnValues=n;},4115:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Dao=void 0;var r=n(8572),i=n(8877),o=n(5042),a=function(){function t(t){this.geoPackage=t,this.connection=t.database;}return t.prototype.isTableExists=function(){return this.connection.isTableExists(this.gpkgTableName)},t.prototype.refresh=function(t){return this.queryForSameId(t)},t.prototype.queryForId=function(t){var e=this.buildPkWhere(t),n=this.buildPkWhereArgs(t),r=i.SqliteQueryBuilder.buildQuery(!1,"'"+this.gpkgTableName+"'",void 0,e),o=this.connection.get(r,n);if(o)return this.createObject(o)},t.prototype.queryForSameId=function(t){var e=this.getMultiId(t);return this.queryForMultiId(e)},t.prototype.getMultiId=function(t){for(var e=[],n=0;n{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.DataColumnConstraints=void 0;e.DataColumnConstraints=function(){};},7175:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);});Object.defineProperty(e,"__esModule",{value:!0}),e.DataColumnConstraintsDao=void 0;var o=n(4115),a=n(8590),s=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.gpkgTableName=e.TABLE_NAME,n.idColumns=[e.COLUMN_CONSTRAINT_NAME,e.COLUMN_CONSTRAINT_TYPE,e.COLUMN_VALUE],n}return i(e,t),e.prototype.createObject=function(t){var e=new a.DataColumnConstraints;return t&&(e.constraint_name=t.constraint_name,e.constraint_type=t.constraint_type,e.value=t.value,e.min=t.min,e.max=t.max,e.min_is_inclusive=t.min_is_inclusive,e.max_is_inclusive=t.max_is_inclusive,e.description=t.description),e},e.prototype.queryByConstraintName=function(t){return this.queryForEach(e.COLUMN_CONSTRAINT_NAME,t)},e.prototype.queryUnique=function(t,e,n){var r=new a.DataColumnConstraints;return r.constraint_name=t,r.constraint_type=e,r.value=n,this.queryForSameId(r)},e.TABLE_NAME="gpkg_data_column_constraints",e.COLUMN_CONSTRAINT_NAME="constraint_name",e.COLUMN_CONSTRAINT_TYPE="constraint_type",e.COLUMN_VALUE="value",e.COLUMN_MIN="min",e.COLUMN_MIN_IS_INCLUSIVE="min_is_inclusive",e.COLUMN_MAX="max",e.COLUMN_MAX_IS_INCLUSIVE="max_is_inclusive",e.COLUMN_DESCRIPTION="description",e.ENUM_TYPE="enum",e.GLOB_TYPE="glob",e.RANGE_TYPE="range",e}(o.Dao);e.DataColumnConstraintsDao=s;},8133:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.DataColumns=void 0;e.DataColumns=function(t){t=t||{},this.table_name=t.table_name,this.column_name=t.column_name,this.name=t.name,this.title=t.title,this.description=t.description,this.mime_type=t.mime_type,this.constraint_name=t.constraint_name;};},4941:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);}),o=this&&this.__values||function(t){var e="function"==typeof Symbol&&Symbol.iterator,n=e&&t[e],r=0;if(n)return n.call(t);if(t&&"number"==typeof t.length)return {next:function(){return t&&r>=t.length&&(t=void 0),{value:t&&t[r++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.DataColumnsDao=void 0;var a=n(4115),s=n(6638),u=n(8133),l=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.gpkgTableName=e.TABLE_NAME,n.idColumns=[e.COLUMN_PK1,e.COLUMN_PK2],n}return i(e,t),e.prototype.createObject=function(t){var e=new u.DataColumns;return t&&(e.table_name=t.table_name,e.column_name=t.column_name,e.name=t.name,e.title=t.title,e.description=t.description,e.mime_type=t.mime_type,e.constraint_name=t.constraint_name),e},e.prototype.getContents=function(t){return new s.ContentsDao(this.geoPackage).queryForId(t.table_name)},e.prototype.queryByConstraintName=function(t){return this.queryForEach(e.COLUMN_CONSTRAINT_NAME,t)},e.prototype.getDataColumns=function(t,n){var r,i;if(this.isTableExists()){var a,s=this.buildWhereWithFieldAndValue(e.COLUMN_TABLE_NAME,t)+" and "+this.buildWhereWithFieldAndValue(e.COLUMN_COLUMN_NAME,n),u=[t,n];try{for(var l=o(this.queryWhere(s,u)),c=l.next();!c.done;c=l.next()){var h=c.value;a=this.createObject(h);}}catch(t){r={error:t};}finally{try{c&&!c.done&&(i=l.return)&&i.call(l);}finally{if(r)throw r.error}}return a}},e.prototype.deleteByTableName=function(t){var n="";n+=this.buildWhereWithFieldAndValue(e.COLUMN_TABLE_NAME,t);var r=this.buildWhereArgs(t);return this.deleteWhere(n,r)},e.TABLE_NAME="gpkg_data_columns",e.COLUMN_PK1="table_name",e.COLUMN_PK2="column_name",e.COLUMN_TABLE_NAME="table_name",e.COLUMN_COLUMN_NAME="column_name",e.COLUMN_NAME="name",e.COLUMN_TITLE="title",e.COLUMN_DESCRIPTION="description",e.COLUMN_MIME_TYPE="mime_type",e.COLUMN_CONSTRAINT_NAME="constraint_name",e}(a.Dao);e.DataColumnsDao=l;},8314:(t,e,n)=>{"use strict";var r=n(5108);Object.defineProperty(e,"__esModule",{value:!0}),e.AlterTable=void 0;var i=n(362),o=n(5042),a=n(5329),s=n(2431),u=n(2841),l=n(1133),c=n(7043),h=n(175),f=n(8934),p=n(1078),d=n(735),y=function(){function t(){}return t.alterTableSQL=function(t){return "ALTER TABLE "+a.StringUtils.quoteWrap(t)},t.renameTable=function(e,n,r){var i=t.renameTableSQL(n,r);e.run(i);},t.renameTableSQL=function(e,n){return t.alterTableSQL(e)+" RENAME TO "+a.StringUtils.quoteWrap(n)},t.renameColumn=function(e,n,r,i){var o=t.renameColumnSQL(n,r,i);e.run(o);},t.renameColumnSQL=function(e,n,r){return t.alterTableSQL(e)+" RENAME COLUMN "+a.StringUtils.quoteWrap(n)+" TO "+a.StringUtils.quoteWrap(r)},t.addColumn=function(e,n,r,i){var o=t.addColumnSQL(n,r,i);e.run(o);},t.addColumnSQL=function(e,n,r){return t.alterTableSQL(e)+" ADD COLUMN "+a.StringUtils.quoteWrap(n)+" "+r},t.dropColumnForUserTable=function(e,n,r){t.dropColumnsForUserTable(e,n,[r]);},t.dropColumnsForUserTable=function(e,n,r){var i=n.copy();r.forEach((function(t){i.dropColumnWithName(t);}));var o=new s.TableMapping(i.getTableName(),i.getTableName(),i.getUserColumns().getColumns());r.forEach((function(t){o.addDroppedColumn(t);})),t.alterTableWithTableMapping(e,i,o),r.forEach((function(t){n.dropColumnWithName(t);}));},t.dropColumn=function(e,n,r){t.dropColumns(e,n,[r]);},t.dropColumns=function(e,n,r){var o=new i.UserCustomTableReader(n).readTable(e);t.dropColumnsForUserTable(e,o,r);},t.alterColumnForTable=function(e,n,r){t.alterColumnsForTable(e,n,[r]);},t.alterColumnsForTable=function(e,n,r){var i=n.copy();r.forEach((function(t){i.alterColumn(t);})),t.alterTable(e,i),r.forEach((function(t){n.alterColumn(t);}));},t.alterColumn=function(e,n,r){t.alterColumns(e,n,[r]);},t.alterColumns=function(e,n,r){var o=new i.UserCustomTableReader(n).readTable(e);t.alterColumnsForTable(e,o,r);},t.copyTable=function(e,n,r,i){void 0===i&&(i=!0);var o=new s.TableMapping(n.getTableName(),r,n.getUserColumns().getColumns());o.transferContent=i,t.alterTableWithTableMapping(e,n,o);},t.copyTableWithName=function(e,n,r,o){void 0===o&&(o=!0);var a=new i.UserCustomTableReader(n).readTable(e);t.copyTable(e,a,r,o);},t.alterTable=function(e,n){var r=new s.TableMapping(n.getTableName(),n.getTableName(),n.getUserColumns().getColumns());t.alterTableWithTableMapping(e,n,r);},t.alterTableWithTableMapping=function(e,n,r){n.getUserColumns().getColumns().forEach((function(t){t.clearConstraints().forEach((function(e){var n=o.CoreSQLUtils.modifySQL(null,e.name,e.buildSql(),r);null!=n&&t.addConstraint(new u.RawConstraint(e.type,l.ConstraintParser.getName(n),n));}));})),n.clearConstraints().forEach((function(t){var e=o.CoreSQLUtils.modifySQL(null,t.name,t.buildSql(),r);null!=e&&n.addConstraint(new u.RawConstraint(t.type,t.name,e));}));var i=o.CoreSQLUtils.createTableSQL(n);t.alterTableWithSQLAndTableMapping(e,i,r);},t.alterTableWithSQLAndTableMapping=function(e,n,i){var a=i.fromTable,s=i.isNewTable(),u=o.CoreSQLUtils.setForeignKeys(e,!1);e.transaction((function(){try{var l=c.SQLiteMaster.queryViewsOnTable(e,[h.SQLiteMasterColumn.NAME,h.SQLiteMasterColumn.SQL],a);if(!s)for(var y=0;y0){for(var n=[],r=0;r0&&(n=n.concat(" ")),n=n.concat(r+1).concat(": ");for(var i=e[r],a=0;a0&&(n=n.concat(", ")),n=n.concat(i.get(a));}throw new Error("Foreign Key Check Violations: "+n)}},t}();e.AlterTable=y;},5042:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.CoreSQLUtils=void 0;var r=n(5329),i=n(2431),o=n(5045),a=n(7043),s=n(1078),u=n(175),l=function(){function t(){}return t.createTableSQL=function(e){var n="";n=n.concat("CREATE TABLE ").concat(r.StringUtils.quoteWrap(e.getTableName())).concat(" (");for(var i=e.getUserColumns().getColumns(),o=0;o0&&(n=n.concat(",")),n=(n=n.concat("\n ")).concat(t.columnSQL(a));}return e.getConstraints().all().forEach((function(t){n=(n=n.concat(",\n ")).concat(t.buildSql());})),n=n.concat("\n);")},t.columnSQL=function(e){return r.StringUtils.quoteWrap(e.getName())+" "+t.columnDefinition(e)},t.columnDefinition=function(t){var e="";return e=e.concat(t.getType()),t.hasMax()&&(e=e.concat("(").concat(t.getMax().toString()).concat(")")),t.getConstraints().all().forEach((function(n){e=(e=e.concat(" ")).concat(t.buildConstraintSql(n));})),e.toString()},t.foreignKeys=function(t){var e=t.get("PRAGMA foreign_keys",null)[0];return null!=e&&e},t.setForeignKeys=function(e,n){var r=t.foreignKeys(e);if(r!==n){var i=t.foreignKeysSQL(n);e.run(i);}return r},t.foreignKeysSQL=function(t){return "PRAGMA foreign_keys = "+t},t.foreignKeyCheck=function(e){var n=t.foreignKeyCheckSQL(null);return e.all(n,null)},t.foreignKeyCheckForTable=function(e,n){var r=t.foreignKeyCheckSQL(n);return e.all(r,null)},t.foreignKeyCheckSQL=function(t){return "PRAGMA foreign_key_check"+(null!=t?"("+r.StringUtils.quoteWrap(t)+")":"")},t.integrityCheckSQL=function(){return "PRAGMA integrity_check"},t.quickCheckSQL=function(){return "PRAGMA quick_check"},t.dropTable=function(e,n){var r=t.dropTableSQL(n);e.run(r);},t.dropTableSQL=function(t){return "DROP TABLE IF EXISTS "+r.StringUtils.quoteWrap(t)},t.dropView=function(e,n){var r=t.dropViewSQL(n);e.run(r);},t.dropViewSQL=function(t){return "DROP VIEW IF EXISTS "+r.StringUtils.quoteWrap(t)},t.transferTableContentForTableMapping=function(e,n){var r=t.transferTableContentSQL(n);e.run(r);},t.transferTableContentSQL=function(t){var e="INSERT INTO ";e=(e=e.concat(r.StringUtils.quoteWrap(t.toTable))).concat(" (");var n="",i="";t.hasWhere()&&(i=i.concat(t.where));var o=t.getColumns();return t.getColumnNames().forEach((function(t){var a=t,s=o[t];n.length>0&&(e=e.concat(", "),n=n.concat(", ")),e=e.concat(r.StringUtils.quoteWrap(a)),s.hasConstantValue()?n=n.concat(s.getConstantValueAsString()):(s.hasDefaultValue()&&(n=n.concat("ifnull(")),n=n.concat(r.StringUtils.quoteWrap(s.fromColumn)),s.hasDefaultValue()&&(n=(n=(n=n.concat(",")).concat(s.getDefaultValueAsString())).concat(")"))),s.hasWhereValue()&&(i.length>0&&(i=i.concat(" AND ")),i=(i=(i=(i=(i=i.concat(r.StringUtils.quoteWrap(s.fromColumn))).concat(" ")).concat(s.whereOperator)).concat(" ")).concat(s.getWhereValueAsString()));})),e=(e=(e=(e=e.concat(") SELECT ")).concat(n)).concat(" FROM ")).concat(r.StringUtils.quoteWrap(t.fromTable)),i.length>0&&(e=(e=e.concat(" WHERE ")).concat(i)),e.toString()},t.transferTableContent=function(e,n,r,a,s,u){var l=o.TableInfo.info(e,n),c=i.TableMapping.fromTableInfo(l);null!=u&&c.removeColumn(u);var h=c.getColumn(r);h.constantValue=a,h.whereValue=s,t.transferTableContentForTableMapping(e,c);},t.tempTableName=function(t,e,n){for(var r=e+"_"+n,i=0;t.tableExists(r);)r=e+ ++i+"_"+n;return r},t.modifySQL=function(e,n,r,i){var o=r;if(null!=n&&i.isNewTable()){var a=t.createName(e,n,i.fromTable,i.toTable),s=t.replaceName(o,n,a);null!=s&&(o=s);var u=t.replaceName(o,i.fromTable,i.toTable);null!=u&&(o=u);}return t.modifySQLWithTableMapping(o,i)},t.modifySQLWithTableMapping=function(e,n){for(var r=e,i=Array.from(n.droppedColumns),o=0;o=0){for(var i=!1,o="",a=t.split(e),s=0;s<=a.length;s++){if(s>0){var u="_",l=a[s-1];0===l.length?1==s&&(u=" "):u=l.substring(l.length-1);var c="_";if(s0&&c.match("\\W").length>0?(o=o.concat(n),i=!0):o=o.concat(e);}s=0&&h+10&&(l=l.substring(0,h),c=parseInt(f));}if(o=l+"_"+ ++c,null!=e)for(;a.SQLiteMaster.count(e,null,s.SQLiteMasterQuery.createForColumnValue(u.SQLiteMasterColumn.NAME,o))>0;)o=l+"_"+ ++c;}return o},t.vacuum=function(t){t.run("VACUUM");},t.NUMBER_PATTERN="\\d+",t}();e.CoreSQLUtils=l;},4777:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Db=void 0;var n=function(){function t(){}return t.registerDbAdapter=function(e){t.adapterCreator=e;},t.create=function(e){return new t.adapterCreator(e)},t.adapterCreator=void 0,t}();e.Db=n;},5116:function(t,e,n){"use strict";var r=n(5108),i=n(3085).lW,o=this&&this.__awaiter||function(t,e,n,r){return new(n||(n=Promise))((function(i,o){function a(t){try{u(r.next(t));}catch(t){o(t);}}function s(t){try{u(r.throw(t));}catch(t){o(t);}}function u(t){var e;t.done?i(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e);}))).then(a,s);}u((r=r.apply(t,e||[])).next());}))},a=this&&this.__generator||function(t,e){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(s){return function(u){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;o&&(o=0,s[0]&&(a=0)),a;)try{if(n=1,r&&(i=2&s[0]?r.return:s[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,s[1])).done)return i;switch(r=0,i&&(s=[2&s[0],i.value]),s[0]){case 0:case 1:i=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,r=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!((i=(i=a.trys).length>0&&i[i.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!i||s[1]>i[0]&&s[1]{"use strict";var n;Object.defineProperty(e,"__esModule",{value:!0}),e.GeoPackageDataType=void 0,(n=e.GeoPackageDataType||(e.GeoPackageDataType={}))[n.BOOLEAN=0]="BOOLEAN",n[n.TINYINT=1]="TINYINT",n[n.SMALLINT=2]="SMALLINT",n[n.MEDIUMINT=3]="MEDIUMINT",n[n.INT=4]="INT",n[n.INTEGER=5]="INTEGER",n[n.FLOAT=6]="FLOAT",n[n.DOUBLE=7]="DOUBLE",n[n.REAL=8]="REAL",n[n.TEXT=9]="TEXT",n[n.BLOB=10]="BLOB",n[n.DATE=11]="DATE",n[n.DATETIME=12]="DATETIME",function(t){t.nameFromType=function(e){return t[e]},t.fromName=function(e){return t[e]},t.columnDefaultValue=function(e,n){var r=null;if(null!=e){if(null!=n)switch(n){case t.BOOLEAN:var i=null;if("boolean"==typeof e)i=e;else if("string"==typeof e)switch(e){case "0":case "false":i=!1;break;case "1":case "true":i=!0;}null!=i&&(r=i?"1":"0");break;case t.TEXT:(r=e.toString()).startsWith("'")&&r.endsWith("'")||(r="'"+r+"'");}null==r&&(r=e.toString());}return r};}(e.GeoPackageDataType||(e.GeoPackageDataType={}));},1790:function(t,e,n){"use strict";var r=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.MappedColumn=void 0;var i=n(7319),o=r(n(4293)),a=r(n(8446)),s=function(){function t(t,e,n,r){this._toColumn=t,this._fromColumn=e,this._defaultValue=n,this._dataType=r;}return Object.defineProperty(t.prototype,"toColumn",{get:function(){return this._toColumn},set:function(t){this._toColumn=t;},enumerable:!1,configurable:!0}),t.prototype.hasNewName=function(){return !(0,o.default)(this._fromColumn)&&!(0,a.default)(this._fromColumn,this._toColumn)},Object.defineProperty(t.prototype,"fromColumn",{get:function(){return this._fromColumn},set:function(t){this._fromColumn=t;},enumerable:!1,configurable:!0}),t.prototype.hasDefaultValue=function(){return !(0,o.default)(this._defaultValue)},Object.defineProperty(t.prototype,"defaultValue",{get:function(){return this._defaultValue},set:function(t){this._defaultValue=t;},enumerable:!1,configurable:!0}),t.prototype.getDefaultValueAsString=function(){return i.GeoPackageDataType.columnDefaultValue(this._defaultValue,this._dataType)},Object.defineProperty(t.prototype,"dataType",{get:function(){return this._dataType},set:function(t){this._dataType=t;},enumerable:!1,configurable:!0}),t.prototype.hasConstantValue=function(){return !(0,o.default)(this._constantValue)},Object.defineProperty(t.prototype,"constantValue",{get:function(){return this._constantValue},set:function(t){this._constantValue=t;},enumerable:!1,configurable:!0}),t.prototype.getConstantValueAsString=function(){return i.GeoPackageDataType.columnDefaultValue(this._constantValue,this._dataType)},t.prototype.hasWhereValue=function(){return !(0,o.default)(this._whereValue)},Object.defineProperty(t.prototype,"whereValue",{get:function(){return this._whereValue},set:function(t){this._whereValue=t;},enumerable:!1,configurable:!0}),t.prototype.getWhereValueAsString=function(){return i.GeoPackageDataType.columnDefaultValue(this._whereValue,this._dataType)},t.prototype.setWhereValueAndOperator=function(t,e){this._whereValue=t,this.whereOperator=e;},Object.defineProperty(t.prototype,"whereOperator",{get:function(){return (0,o.default)(this._whereOperator)?"=":this._whereOperator},set:function(t){this._whereOperator=t;},enumerable:!1,configurable:!0}),t}();e.MappedColumn=s;},7043:function(t,e,n){"use strict";var r=this&&this.__read||function(t,e){var n="function"==typeof Symbol&&t[Symbol.iterator];if(!n)return t;var r,i,o=n.call(t),a=[];try{for(;(void 0===e||e-- >0)&&!(r=o.next()).done;)a.push(r.value);}catch(t){i={error:t};}finally{try{r&&!r.done&&(n=o.return)&&n.call(o);}finally{if(i)throw i.error}}return a},i=this&&this.__spreadArray||function(t,e,n){if(n||2===arguments.length)for(var r,i=0,o=e.length;i0){this._results=t,this._count=t.length;for(var n=0;n=this._results.length){var e;throw e=0===this._results.length?"Results are empty":"Row index: "+t+", not within range 0 to "+(this._results.length-1),new Error(e)}return this._results[t]},t.getValue=function(t,e){return t[o.SQLiteMasterColumn.nameFromType(e).toLowerCase()]},t.prototype.getConstraints=function(t){var e=new s.TableConstraints;if(this.getType(t)===a.SQLiteMasterType.TABLE){var n=this.getSql(t);null!=n&&(e=u.ConstraintParser.getConstraints(n));}return e},t.count=function(e,n,r){return t.query(e,null,n,r).count()},t.query=function(e,n,s,u){var l="SELECT ",c=[];if(null!=n&&n.length>0)for(var h=0;h0&&(l=l.concat(", ")),l=l.concat(o.SQLiteMasterColumn.nameFromType(n[h]).toLowerCase());else l=l.concat("count(*) as cnt");l=(l=l.concat(" FROM ")).concat(t.TABLE_NAME);var f=null!=u&&u.has(),p=null!=s&&s.length>0;if((f||p)&&(l=l.concat(" WHERE "),f&&(l=l.concat(u.buildSQL()),c.push.apply(c,i([],r(u.getArguments()),!1))),p)){for(f&&(l=l.concat(" AND")),l=l.concat(" type IN ("),h=0;h0&&(l=l.concat(", ")),l=l.concat("?"),c.push(a.SQLiteMasterType.nameFromType(s[h]).toLowerCase());l=l.concat(")");}return new t(e.all(l,c),n)},t.queryViewsOnTable=function(e,n,r){return t.query(e,n,[a.SQLiteMasterType.VIEW],l.SQLiteMasterQuery.createTableViewQuery(r))},t.countViewsOnTable=function(e,n){return t.count(e,[a.SQLiteMasterType.VIEW],l.SQLiteMasterQuery.createTableViewQuery(n))},t.queryForConstraints=function(e,n){for(var r=new s.TableConstraints,i=t.query(e,[o.SQLiteMasterColumn.TYPE,o.SQLiteMasterColumn.NAME,o.SQLiteMasterColumn.TBL_NAME,o.SQLiteMasterColumn.ROOTPAGE,o.SQLiteMasterColumn.SQL],[a.SQLiteMasterType.TABLE],l.SQLiteMasterQuery.createForColumnValue(o.SQLiteMasterColumn.TBL_NAME,n)),u=0;u{"use strict";var n;Object.defineProperty(e,"__esModule",{value:!0}),e.SQLiteMasterColumn=void 0,(n=e.SQLiteMasterColumn||(e.SQLiteMasterColumn={}))[n.TYPE=0]="TYPE",n[n.NAME=1]="NAME",n[n.TBL_NAME=2]="TBL_NAME",n[n.ROOTPAGE=3]="ROOTPAGE",n[n.SQL=4]="SQL",function(t){t.nameFromType=function(e){return t[e]},t.fromName=function(e){return t[e]},t.asArray=function(){return [t.TYPE,t.NAME,t.TBL_NAME,t.ROOTPAGE,t.SQL]};}(e.SQLiteMasterColumn||(e.SQLiteMasterColumn={}));},1078:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SQLiteMasterQuery=void 0;var r=n(175),i=n(5329),o=function(){function t(t){this.queries=[],this.arguments=[],this.combineOperation=t;}return t.prototype.add=function(t,e,n){this.validateAdd(),this.queries.push("LOWER("+i.StringUtils.quoteWrap(r.SQLiteMasterColumn.nameFromType(t).toLowerCase())+") "+e+" LOWER(?)"),this.arguments.push(n);},t.prototype.addIsNull=function(t){this.validateAdd(),this.queries.push(i.StringUtils.quoteWrap(r.SQLiteMasterColumn.nameFromType(t).toLowerCase())+" IS NULL");},t.prototype.addIsNotNull=function(t){this.validateAdd(),this.queries.push(i.StringUtils.quoteWrap(r.SQLiteMasterColumn.nameFromType(t).toLowerCase())+" IS NOT NULL");},t.prototype.validateAdd=function(){if((null===this.combineOperation||void 0===this.combineOperation)&&0!==this.queries.length)throw new Error("Query without a combination operation supports only a single query")},t.prototype.has=function(){return 0!==this.queries.length},t.prototype.buildSQL=function(){var t="";this.queries.length>1&&(t=t.concat("( "));for(var e=0;e0&&(t=(t=(t=t.concat(" ")).concat(this.combineOperation)).concat(" ")),t=t.concat(this.queries[e]);return this.queries.length>1&&(t=t.concat(" )")),t},t.prototype.getArguments=function(){return this.arguments},t.create=function(){return new t(null)},t.createOr=function(){return new t("OR")},t.createAnd=function(){return new t("AND")},t.createForColumnValue=function(t,e){var n=this.create();return n.add(t,"=",e),n},t.createForOperationAndColumnValue=function(t,e,n){var r=this.create();return r.add(t,e,n),r},t.createOrForColumnValue=function(t,e){var n=this.createOr();return e.forEach((function(e){n.add(t,"=",e);})),n},t.createOrForOperationAndColumnValue=function(t,e,n){var r=this.createOr();return n.forEach((function(n){r.add(t,e,n);})),r},t.createAndForColumnValue=function(t,e){var n=this.createAnd();return e.forEach((function(e){n.add(t,"=",e);})),n},t.createAndForOperationAndColumnValue=function(t,e,n){var r=this.createAnd();return n.forEach((function(n){r.add(t,e,n);})),r},t.createTableViewQuery=function(e){var n=[];return n.push('%"'+e+'"%'),n.push("% "+e+" %"),n.push("%,"+e+" %"),n.push("% "+e+",%"),n.push("%,"+e+",%"),n.push("% "+e),n.push("%,"+e),t.createOrForOperationAndColumnValue(r.SQLiteMasterColumn.SQL,"LIKE",n)},t}();e.SQLiteMasterQuery=o;},8934:(t,e)=>{"use strict";var n;Object.defineProperty(e,"__esModule",{value:!0}),e.SQLiteMasterType=void 0,(n=e.SQLiteMasterType||(e.SQLiteMasterType={}))[n.TABLE=0]="TABLE",n[n.INDEX=1]="INDEX",n[n.VIEW=2]="VIEW",n[n.TRIGGER=3]="TRIGGER",function(t){t.nameFromType=function(e){return t[e]},t.fromName=function(e){return t[e]};}(e.SQLiteMasterType||(e.SQLiteMasterType={}));},922:function(t,e,n){"use strict";var r=n(5108),i=this&&this.__awaiter||function(t,e,n,r){return new(n||(n=Promise))((function(i,o){function a(t){try{u(r.next(t));}catch(t){o(t);}}function s(t){try{u(r.throw(t));}catch(t){o(t);}}function u(t){var e;t.done?i(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e);}))).then(a,s);}u((r=r.apply(t,e||[])).next());}))},o=this&&this.__generator||function(t,e){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(s){return function(u){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;o&&(o=0,s[0]&&(a=0)),a;)try{if(n=1,r&&(i=2&s[0]?r.return:s[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,s[1])).done)return i;switch(r=0,i&&(s=[2&s[0],i.value]),s[0]){case 0:case 1:i=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,r=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!((i=(i=a.trys).length>0&&i[i.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!i||s[1]>i[0]&&s[1]{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SqliteQueryBuilder=void 0;var n=function(){function t(){}return t.fixColumnName=function(t){return t.replace(/\W+/g,"_")},t.buildQuery=function(e,n,r,i,o,a,s,u,l,c){var h="";if(t.isEmpty(a)&&!t.isEmpty(s))throw new Error("Illegal Arguments: having clauses require a groupBy clause");return h+="select ",e&&(h+="distinct "),r&&r.length?h=t.appendColumnsToString(r,h):h+="* ",h+="from "+n,o&&(h+=" "+o),h=t.appendClauseToString(h," where ",i),h=t.appendClauseToString(h," group by ",a),h=t.appendClauseToString(h," having ",s),h=t.appendClauseToString(h," order by ",u),h=t.appendClauseToString(h," limit ",l),t.appendClauseToString(h," offset ",c)},t.buildCount=function(e,n){var r="select count(*) as count from "+e;return t.appendClauseToString(r," where ",n)},t.buildInsert=function(e,n){if(n.columnNames)return t.buildInsertFromColumnNames(e,n);var r="insert into "+e+" (",i="",o="",a=!0;for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&void 0!==n[s]&&(a||(i+=",",o+=","),a=!1,i+=s,o+="$"+t.fixColumnName(s));return r+(i+") values (")+o+")"},t.buildInsertFromColumnNames=function(e,n){for(var r="insert into "+e+" (",i="",o="",a=!0,s=n.columnNames,u=0;u0&&i[i.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!i||s[1]>i[0]&&s[1]=t.length&&(t=void 0),{value:t&&t[r++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},u=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.SqljsAdapter=void 0;var l=u(n(3686)),c=function(){function t(t){this.filePath=t;}return t.setSqljsWasmLocateFile=function(e){t.sqljsWasmLocateFile=e;},t.prototype.initialize=function(){var e=this;return new Promise((function(o,a){new Promise((function(e){null==t.SQL?(0,l.default)({locateFile:t.sqljsWasmLocateFile}).then((function(n){t.SQL=n,e(n);})).catch((function(t){a(t);})):e(t.SQL);})).then((function(t){if(!e.filePath||"string"!=typeof e.filePath){if(e.filePath){var s=e.filePath;return e.db=new t.Database(s),o(e)}return e.db=new t.Database,o(e)}if(void 0!==r&&r.version){var u=n(1929);if(0!==e.filePath.indexOf("http")){try{u.statSync(e.filePath);}catch(n){return e.db=new t.Database,o(e)}var l=u.readFileSync(e.filePath),c=new Uint8Array(l);return e.db=new t.Database(c),o(e)}n(8501).get(e.filePath,(function(n){if(200!==n.statusCode)return a(new Error("Unable to reach url: "+e.filePath));var r=[];n.on("data",(function(t){return r.push(t)})),n.on("end",(function(){var n=new Uint8Array(i.concat(r));e.db=new t.Database(n),o(e);}));})).on("error",(function(t){return a(t)}));}else {var h=new XMLHttpRequest;h.open("GET",e.filePath,!0),h.responseType="arraybuffer",h.onload=function(){if(200!==h.status)return a(new Error("Unable to reach url: "+e.filePath));var n=new Uint8Array(h.response);return e.db=new t.Database(n),o(e)},h.onerror=function(){return a(new Error("Error reaching url: "+e.filePath))},h.send();}})).catch((function(t){a(t);}));}))},t.prototype.close=function(){this.db.close();},t.prototype.getDBConnection=function(){return this.db},t.prototype.export=function(){return o(this,void 0,void 0,(function(){return a(this,(function(t){return [2,this.db.export()]}))}))},t.prototype.registerFunction=function(t,e){return this.db.create_function(t,e),this},t.prototype.get=function(t,e){e=e||[];var n,r=this.db.prepare(t);return r.bind(e),r.step()&&(n=r.getAsObject()),r.free(),n},t.prototype.isTableExists=function(t){var e,n=this.db.prepare("SELECT name FROM sqlite_master WHERE type='table' AND name=:name");return n.bind([t]),n.step()&&(e=n.getAsObject()),n.free(),!!e},t.prototype.all=function(t,e){var n,r,i=[],o=this.each(t,e);try{for(var a=s(o),u=a.next();!u.done;u=a.next()){var l=u.value;i.push(l);}}catch(t){n={error:t};}finally{try{u&&!u.done&&(r=a.return)&&r.call(a);}finally{if(n)throw n.error}}return i},t.prototype.each=function(t,e){var n,r=this.db.prepare(t);return r.bind(e),(n={})[Symbol.iterator]=function(){return this},n.next=function(){return r.step()?{value:r.getAsObject(),done:!1}:(r.free(),{value:void 0,done:!0})},n},t.prototype.run=function(t,e){if(e&&!(e instanceof Array))for(var n in e)e["$"+n]=e[n];this.db.run(t,e);var r,i=this.db.exec("select last_insert_rowid();");return i&&(r=i[0].values[0][0]),{lastInsertRowid:r,changes:this.db.getRowsModified()}},t.prototype.insert=function(t,e){if(e&&!(e instanceof Array))for(var n in e)e["$"+n]=e[n];var r=this.db.prepare(t,e);r.step(),r.free();var i=this.db.exec("select last_insert_rowid();");return i?i[0].values[0][0]:void 0},t.prototype.prepareStatement=function(t){return this.db.prepare(t)},t.prototype.bindAndInsert=function(t,e){if(e&&!(e instanceof Array))for(var n in e)e["$"+n]=void 0===e[n]?null:e[n];return t.run(e).lastInsertRowid},t.prototype.closeStatement=function(t){t.free();},t.prototype.delete=function(t,e){var n,r=this.db.prepare(t,e);return r.step(),n=this.db.getRowsModified(),r.free(),n},t.prototype.dropTable=function(t){var e=this.db.exec('DROP TABLE IF EXISTS "'+t+'"');return this.db.exec("VACUUM"),!!e},t.prototype.count=function(t,e,n){var r='SELECT COUNT(*) as count FROM "'+t+'"';return e&&(r+=" where "+e),this.get(r,n).count},t.prototype.transaction=function(t){this.db.exec("BEGIN TRANSACTION");try{t(),this.db.exec("COMMIT TRANSACTION");}catch(t){throw this.db.exec("ROLLBACK TRANSACTION"),t}},t.sqljsWasmLocateFile=function(t){return t},t}();e.SqljsAdapter=c;},5329:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.StringUtils=void 0;var n=function(){function t(){}return t.quoteWrap=function(t){var e=null;return null!==t&&(e=t.startsWith('"')&&t.endsWith('"')?t:'"'+t+'"'),e},t.quoteUnwrap=function(t){var e=null;return null!=t&&(e=t.startsWith('"')&&t.endsWith('"')?t.substring(1,t.length-1):t),e},t}();e.StringUtils=n;},3765:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ColumnConstraints=void 0;var r=n(7686),i=function(){function t(t){this.name=t,this.constraints=new r.Constraints;}return t.prototype.addConstraint=function(t){this.constraints.add(t);},t.prototype.addConstraints=function(t){this.constraints.addConstraints(t);},t.prototype.getConstraints=function(){return this.constraints},t.prototype.getConstraint=function(t){return t>=this.constraints.size()?null:this.constraints.get(t)},t.prototype.numConstraints=function(){return this.constraints.size()},t.prototype.addColumnConstraints=function(t){null!=t&&this.addConstraints(t.getConstraints());},t.prototype.hasConstraints=function(){return this.constraints.has()},t}();e.ColumnConstraints=i;},8007:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Constraint=void 0;var r=n(5329),i=function(){function t(t,e,n){void 0===n&&(n=Number.MAX_SAFE_INTEGER),this.type=t,this.name=e,this.order=n;}return t.prototype.buildNameSql=function(){var e="";return null!==this.name&&void 0!==this.name&&(e=t.CONSTRAINT+" "+r.StringUtils.quoteWrap(this.name)+" "),e},t.prototype.buildSql=function(){return ""},t.prototype.copy=function(){return new t(this.type,this.name)},t.prototype.getName=function(){return this.name},t.prototype.getType=function(){return this.type},t.prototype.compareTo=function(t){return this.getOrder(this.order)-this.getOrder(t.order)<=0?-1:1},t.prototype.getOrder=function(t){return null!=t?t:Number.MAX_VALUE},t.CONSTRAINT="CONSTRAINT",t}();e.Constraint=i;},1133:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ConstraintParser=void 0;var r=n(4980),i=n(3765),o=n(8007),a=n(91),s=n(2841),u=n(5329),l=function(){function t(){}return t.getConstraints=function(e){var n=new r.TableConstraints,i=-1,o=-1;if(null!=e&&(i=e.indexOf("("),o=e.lastIndexOf(")")),i>=0&&o>=0){for(var a=e.substring(i+1,o).trim(),s=0,u=0,l=0;l0&&(o=o.concat(" ")),o=o.concat(e[a]);var u=t.getName(o);return new s.RawConstraint(i,u,o)},t.getConstraint=function(e,n){var r=null,i=t.getNameAndDefinition(e),o=i[1];if(null!=o){var u,l=o.split(/\s+/)[0];null!=(u=n?a.ConstraintType.getTableType(l):a.ConstraintType.getColumnType(l))&&(r=new s.RawConstraint(u,i[0],e.trim()));}return r},t.getTableConstraint=function(e){return t.getConstraint(e,!0)},t.isTableConstraint=function(e){return null!==t.getTableConstraint(e)},t.getTableType=function(e){var n=null,r=t.getTableConstraint(e);return null!=r&&(n=r.type),n},t.isTableType=function(e,n){var r=!1,i=t.getTableType(n);return null!=i&&(r=e===i),r},t.getColumnConstraint=function(e){return t.getConstraint(e,!1)},t.isColumnConstraint=function(e){return null!=t.getColumnConstraint(e)},t.getColumnType=function(e){var n=null,r=t.getColumnConstraint(e);return null!=r&&(n=r.type),n},t.isColumnType=function(e,n){var r=!1,i=t.getColumnType(n);return null!=i&&(r=e==i),r},t.getTableOrColumnConstraint=function(e){var n=t.getTableConstraint(e);return null==n&&(n=t.getColumnConstraint(e)),n},t.isConstraint=function(e){return null!==t.getTableOrColumnConstraint(e)},t.getType=function(e){var n=null,r=t.getTableOrColumnConstraint(e);return null!=r&&(n=r.getType()),n},t.isType=function(e,n){var r=!1,i=t.getType(n);return null!=i&&(r=e===i),r},t.getName=function(e){var n=null,r=t.NAME_PATTERN(e);return null!==r&&r.length>t.NAME_PATTERN_NAME_GROUP&&(n=u.StringUtils.quoteUnwrap(r[t.NAME_PATTERN_NAME_GROUP])),n},t.getNameAndDefinition=function(e){var n=[null,e],r=t.CONSTRAINT_PATTERN(e.trim());if(null!==r&&r.length>t.CONSTRAINT_PATTERN_DEFINITION_GROUP){var i=u.StringUtils.quoteUnwrap(r[t.CONSTRAINT_PATTERN_NAME_GROUP]);null!=i&&(i=i.trim());var o=r[t.CONSTRAINT_PATTERN_DEFINITION_GROUP];null!=o&&(o=o.trim()),n=[i,o];}return n},t.NAME_PATTERN=function(t){return t.match(/CONSTRAINT\s+("[\s\S]+"|\S+)\s/i)},t.NAME_PATTERN_NAME_GROUP=1,t.CONSTRAINT_PATTERN=function(t){return t.match(/(CONSTRAINT\s+("[\s\S]+"|\S+)\s)?([\s\S]*)/i)},t.CONSTRAINT_PATTERN_NAME_GROUP=2,t.CONSTRAINT_PATTERN_DEFINITION_GROUP=3,t}();e.ConstraintParser=l;},91:(t,e)=>{"use strict";var n;Object.defineProperty(e,"__esModule",{value:!0}),e.ConstraintType=void 0,(n=e.ConstraintType||(e.ConstraintType={}))[n.PRIMARY_KEY=0]="PRIMARY_KEY",n[n.UNIQUE=1]="UNIQUE",n[n.CHECK=2]="CHECK",n[n.FOREIGN_KEY=3]="FOREIGN_KEY",n[n.NOT_NULL=4]="NOT_NULL",n[n.DEFAULT=5]="DEFAULT",n[n.COLLATE=6]="COLLATE",n[n.AUTOINCREMENT=7]="AUTOINCREMENT",function(t){t.nameFromType=function(e){return t[e]},t.fromName=function(e){return t[e]},t.TABLE_CONSTRAINTS=new Set([t.PRIMARY_KEY,t.UNIQUE,t.CHECK,t.FOREIGN_KEY]),t.COLUMN_CONSTRAINTS=new Set([t.PRIMARY_KEY,t.NOT_NULL,t.UNIQUE,t.CHECK,t.DEFAULT,t.COLLATE,t.FOREIGN_KEY,t.AUTOINCREMENT]);var e=new Map;Array.from(t.TABLE_CONSTRAINTS).forEach((function(t){r(e,t);}));var n=new Map;function r(e,n){var r=t.nameFromType(n),i=r.split("_");e.set(i[0],n),i.length>0&&e.set(r.replace("_"," "),n);}function i(t){return e.get(t.toUpperCase())}function o(t){return n.get(t.toUpperCase())}Array.from(t.COLUMN_CONSTRAINTS).forEach((function(t){r(n,t);})),t.getTableType=i,t.getColumnType=o,t.getType=function(t){var e=i(t);return null==e&&(e=o(t)),e};}(e.ConstraintType||(e.ConstraintType={}));},7686:function(t,e,n){"use strict";var r=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.Constraints=void 0;var i=r(n(1159)),o=function(){function t(){this.constraints=[],this.typedConstraints={};}return t.prototype.add=function(t){var e=this.constraints.map((function(t){return t.order})).lastIndexOf(t.order),n=e+1;-1===e&&(n=(0,i.default)(this.constraints.map((function(t){return t.order})),t.order)),n===this.constraints.length?this.constraints.push(t):this.constraints.splice(n,0,t),null!==this.typedConstraints[t.getType()]&&void 0!==this.typedConstraints[t.getType()]||(this.typedConstraints[t.getType()]=[]),this.typedConstraints[t.getType()].push(t);},t.prototype.addConstraintArray=function(t){for(var e=0;e0},t.prototype.hasType=function(t){return 0!==this.getConstraintsForType(t).length},t.prototype.all=function(){return this.constraints},t.prototype.get=function(t){return this.constraints[t]},t.prototype.getConstraintsForType=function(t){var e=this.typedConstraints[t];return null==e&&(e=[]),e},t.prototype.clear=function(){var t=this.constraints.slice();return this.constraints=[],this.typedConstraints={},t},t.prototype.clearConstraintsByType=function(t){var e=this.typedConstraints[t];return delete this.typedConstraints[t],null===e?e=[]:0===e.length&&(this.constraints=this.constraints.filter((function(e){return e.getType()!==t}))),e},t.prototype.copy=function(){var e=new t;return e.addConstraints(this),e},t.prototype.size=function(){return this.constraints.length},t}();e.Constraints=o;},2841:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);});Object.defineProperty(e,"__esModule",{value:!0}),e.RawConstraint=void 0;var o=n(8007),a=function(t){function e(e,n,r,i){void 0===i&&(i=null);var o=t.call(this,e,n,i)||this;return o.sql=r,o}return i(e,t),e.prototype.buildSql=function(){var t=this.sql;return t.toUpperCase().startsWith(o.Constraint.CONSTRAINT)||(t=this.buildNameSql()+t),t},e}(o.Constraint);e.RawConstraint=a;},4033:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TableColumn=void 0;var n=function(){function t(t,e,n,r,i,o,a,s,u,l){this.index=t,this.name=e,this.type=n,this.dataType=r,this.max=i,this.notNull=o,this.defaultValueString=a,this.defaultValue=s,this.primaryKey=u,this.autoincrement=l;}return t.prototype.getIndex=function(){return this.index},t.prototype.getName=function(){return this.name},t.prototype.getType=function(){return this.type},t.prototype.getDataType=function(){return this.dataType},t.prototype.isDataType=function(t){return this.dataType===t},t.prototype.getMax=function(){return this.max},t.prototype.isNotNull=function(){return this.notNull},t.prototype.getDefaultValueString=function(){return this.defaultValueString},t.prototype.getDefaultValue=function(){return this.defaultValue},t.prototype.isPrimaryKey=function(){return this.primaryKey},t.prototype.isAutoIncrement=function(){return this.autoincrement},t}();e.TableColumn=n;},4980:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TableConstraints=void 0;var r=n(3765),i=n(7686),o=function(){function t(){this.constraints=new i.Constraints,this.columnConstraints={};}return t.prototype.addTableConstraint=function(t){this.constraints.add(t);},t.prototype.addTableConstraints=function(t){this.constraints.addConstraints(t);},t.prototype.getTableConstraints=function(){return this.constraints},t.prototype.getTableConstraint=function(t){return t>=this.constraints.size()?null:this.constraints.get(t)},t.prototype.numTableConstraints=function(){return this.constraints.size()},t.prototype.addColumnConstraint=function(t,e){this.getOrCreateColumnConstraints(t).addConstraint(e);},t.prototype.addConstraints=function(t,e){this.getOrCreateColumnConstraints(t).addConstraints(e);},t.prototype.addColumnConstraints=function(t){this.getOrCreateColumnConstraints(t.name).addColumnConstraints(t);},t.prototype.getOrCreateColumnConstraints=function(t){var e=this.columnConstraints[t];return null==e&&(e=new r.ColumnConstraints(t),this.columnConstraints[t]=e),e},t.prototype.addColumnConstraintsMap=function(t){var e=this;t.forEach((function(t){e.addColumnConstraints(t);}));},t.prototype.getColumnConstraintsMap=function(){return this.columnConstraints},t.prototype.getColumnsWithConstraints=function(){return Array.from(Object.keys(this.columnConstraints))},t.prototype.getColumnConstraints=function(t){return this.columnConstraints[t]},t.prototype.getColumnConstraint=function(t,e){var n=null,r=this.getColumnConstraints(t);return null!=r&&(n=r.getConstraint(e)),n},t.prototype.numColumnConstraints=function(t){var e=0,n=this.getColumnConstraints(t);return null!=n&&(e=n.numConstraints()),e},t.prototype.addAllConstraints=function(t){null!=t&&(this.addTableConstraints(t.getTableConstraints()),this.addColumnConstraintsMap(t.getColumnConstraintsMap()));},t.prototype.hasConstraints=function(){return this.hasTableConstraints()||this.hasColumnConstraints()},t.prototype.hasTableConstraints=function(){return this.constraints.has()},t.prototype.hasColumnConstraints=function(){return Object.keys(this.columnConstraints).length>0},t.prototype.hasColumnConstraintsForColumn=function(t){return this.numColumnConstraints(t)>0},t}();e.TableConstraints=o;},5045:(t,e,n)=>{"use strict";var r=n(5108);Object.defineProperty(e,"__esModule",{value:!0}),e.TableInfo=void 0;var i=n(4033),o=n(7319),a=n(9211),s=n(7043),u=n(175),l=n(5329),c=function(){function t(t,e){var n=this;this.namesToColumns=new Map,this.primaryKeys=[],this.tableName=t,this.columns=e,e.forEach((function(t){n.namesToColumns.set(t.getName(),t),t.isPrimaryKey()&&n.primaryKeys.push(t);}));}return t.prototype.getTableName=function(){return this.tableName},t.prototype.numColumns=function(){return this.columns.length},t.prototype.getColumns=function(){return this.columns.slice()},t.prototype.getColumnAtIndex=function(t){if(t<0||t>=this.columns.length)throw new Error("Column index: "+t+", not within range 0 to "+(this.columns.length-1));return this.columns[t]},t.prototype.hasColumn=function(t){return null!==this.getColumn(t)&&void 0!==this.getColumn(t)},t.prototype.getColumn=function(t){return this.namesToColumns.get(t)},t.prototype.hasPrimaryKey=function(){return 0!==this.primaryKeys.length},t.prototype.getPrimaryKeys=function(){return this.primaryKeys.slice()},t.prototype.getPrimaryKey=function(){var t=null;return this.hasPrimaryKey()&&(t=this.primaryKeys[0]),t},t.info=function(e,n){var o="PRAGMA table_info("+l.StringUtils.quoteWrap(n)+")",a=e.all(o,null),c=[];a.forEach((function(o){var a=o.cid,l=o.name,h=o.type,f=1===o.notnull,p=o.dflt_value,d=1===o.pk,y=!1;d&&(y=1===e.all("SELECT tbl_name FROM "+s.SQLiteMaster.TABLE_NAME+" WHERE "+u.SQLiteMasterColumn.nameFromType(u.SQLiteMasterColumn.TBL_NAME)+"=? AND "+u.SQLiteMasterColumn.nameFromType(u.SQLiteMasterColumn.SQL)+" LIKE ?",[n,"%AUTOINCREMENT%"]).length);var m=null;if(null!=h&&h.endsWith(")")){var g=h.indexOf("(");if(g>-1){var _=h.substring(g+1,h.length-1);if(0!==_.length)try{m=parseInt(_),h=h.substring(0,g);}catch(t){r.error(t);}}}var b=t.getDataType(h),v=void 0;o.dflt_value&&(v=o.dflt_value.replace(/\\'/g,""));var T=new i.TableColumn(a,l,h,b,m,f,p,v,d,y);c.push(T);}));var h=null;return 0!==c.length&&(h=new t(n,c)),h},t.getDataType=function(t){var e=o.GeoPackageDataType.fromName(t);null==e&&(null!=a.GeometryType.fromName(t)&&(e=o.GeoPackageDataType.BLOB));return e},t.CID="cid",t.NAME="name",t.TYPE="type",t.NOT_NULL="notnull",t.DFLT_VALUE="dflt_value",t.PK="pk",t.DEFAULT_NULL="NULL",t}();e.TableInfo=c;},1648:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);}),o=this&&this.__read||function(t,e){var n="function"==typeof Symbol&&t[Symbol.iterator];if(!n)return t;var r,i,o=n.call(t),a=[];try{for(;(void 0===e||e-- >0)&&!(r=o.next()).done;)a.push(r.value);}catch(t){i={error:t};}finally{try{r&&!r.done&&(n=o.return)&&n.call(o);}finally{if(i)throw i.error}}return a},a=this&&this.__spreadArray||function(t,e,n){if(n||2===arguments.length)for(var r,i=0,o=e.length;i0&&(t=t.concat(", ")),t=t.concat(r.getName());}return t.concat(")")},e.prototype.copy=function(){return new(e.bind.apply(e,a([void 0,this.name],o(this.columns),!1)))},e.prototype.add=function(){for(var t=this,e=[],n=0;n{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TableCreator=void 0;var r=n(5965),i=n(5042),o=function(){function t(t){this.geopackage=t,this.connection=t.database;}return t.prototype.createRequired=function(){var t=new r.SpatialReferenceSystemDao(this.geopackage);return this.createSpatialReferenceSystem(),this.createContents(),t.createUndefinedGeographic(),t.createWgs84(),t.createUndefinedCartesian(),t.createWebMercator(),!0},t.prototype.createSpatialReferenceSystem=function(){return this.createTable("spatial_reference_system")},t.prototype.createContents=function(){return this.createTable("contents")},t.prototype.createGeometryColumns=function(){return this.createTable("geometry_columns")},t.prototype.createTileMatrixSet=function(){return this.createTable("tile_matrix_set")},t.prototype.createTileMatrix=function(){return this.createTable("tile_matrix")},t.prototype.createDataColumns=function(){return this.createTable("data_columns")},t.prototype.createDataColumnConstraints=function(){return this.createTable("data_column_constraints")},t.prototype.createMetadata=function(){return this.createTable("metadata")},t.prototype.createMetadataReference=function(){return this.createTable("metadata_reference")},t.prototype.createExtensions=function(){return this.createTable("extensions")},t.prototype.createTableIndex=function(){return this.createTable("table_index")},t.prototype.createGeometryIndex=function(){return this.createTable("geometry_index")},t.prototype.createFeatureTileLink=function(){return this.createTable("feature_tile_link")},t.prototype.createExtendedRelations=function(){return this.createTable("extended_relations")},t.prototype.createContentsId=function(){return this.createTable("contents_id")},t.prototype.createTileScaling=function(){return this.createTable("tile_scaling")},t.prototype.createTable=function(e){for(var n=!0,r=t.tableCreationScripts[e],i=0;i 0);END","CREATE TRIGGER 'gpkg_tile_matrix_pixel_x_size_update'BEFORE UPDATE OF pixel_x_size ON 'gpkg_tile_matrix'FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'update on table ''gpkg_tile_matrix'' violates constraint: pixel_x_size must be greater than 0')WHERE NOT (NEW.pixel_x_size > 0);END","CREATE TRIGGER 'gpkg_tile_matrix_pixel_y_size_insert'BEFORE INSERT ON 'gpkg_tile_matrix'FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'insert on table ''gpkg_tile_matrix'' violates constraint: pixel_y_size must be greater than 0')WHERE NOT (NEW.pixel_y_size > 0);END","CREATE TRIGGER 'gpkg_tile_matrix_pixel_y_size_update'BEFORE UPDATE OF pixel_y_size ON 'gpkg_tile_matrix'FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'update on table ''gpkg_tile_matrix'' violates constraint: pixel_y_size must be greater than 0')WHERE NOT (NEW.pixel_y_size > 0);END"],data_columns:["CREATE TABLE gpkg_data_columns ( table_name TEXT NOT NULL, column_name TEXT NOT NULL, name TEXT, title TEXT, description TEXT, mime_type TEXT, constraint_name TEXT, CONSTRAINT pk_gdc PRIMARY KEY (table_name, column_name), CONSTRAINT gdc_tn UNIQUE (table_name, name))"],data_column_constraints:['CREATE TABLE gpkg_data_column_constraints ( constraint_name TEXT NOT NULL, constraint_type TEXT NOT NULL, /* "range" | "enum" | "glob" */ value TEXT, min NUMERIC, min_is_inclusive BOOLEAN, /* 0 = false, 1 = true */ max NUMERIC, max_is_inclusive BOOLEAN, /* 0 = false, 1 = true */ description TEXT, CONSTRAINT gdcc_ntv UNIQUE (constraint_name, constraint_type, value))'],metadata:['CREATE TABLE gpkg_metadata ( id INTEGER CONSTRAINT m_pk PRIMARY KEY ASC NOT NULL, md_scope TEXT NOT NULL DEFAULT "dataset", md_standard_uri TEXT NOT NULL, mime_type TEXT NOT NULL DEFAULT "text/xml", metadata TEXT NOT NULL)',"CREATE TRIGGER 'gpkg_metadata_md_scope_insert' BEFORE INSERT ON 'gpkg_metadata' FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'insert on table gpkg_metadata violates constraint: md_scope must be one of undefined | fieldSession | collectionSession | series | dataset | featureType | feature | attributeType | attribute | tile | model | catalogue | schema | taxonomy software | service | collectionHardware | nonGeographicDataset | dimensionGroup') WHERE NOT(NEW.md_scope IN ('undefined','fieldSession','collectionSession','series','dataset', 'featureType','feature','attributeType','attribute','tile','model', 'catalogue','schema','taxonomy','software','service', 'collectionHardware','nonGeographicDataset','dimensionGroup')); END","CREATE TRIGGER 'gpkg_metadata_md_scope_update' BEFORE UPDATE OF 'md_scope' ON 'gpkg_metadata' FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'update on table gpkg_metadata violates constraint: md_scope must be one of undefined | fieldSession | collectionSession | series | dataset | featureType | feature | attributeType | attribute | tile | model | catalogue | schema | taxonomy software | service | collectionHardware | nonGeographicDataset | dimensionGroup') WHERE NOT(NEW.md_scope IN ('undefined','fieldSession','collectionSession','series','dataset', 'featureType','feature','attributeType','attribute','tile','model', 'catalogue','schema','taxonomy','software','service', 'collectionHardware','nonGeographicDataset','dimensionGroup')); END"],metadata_reference:["CREATE TABLE gpkg_metadata_reference ( reference_scope TEXT NOT NULL, table_name TEXT, column_name TEXT, row_id_value INTEGER, timestamp DATETIME NOT NULL DEFAULT (strftime('%Y-%m-%dT%H:%M:%fZ','now')), md_file_id INTEGER NOT NULL, md_parent_id INTEGER, CONSTRAINT crmr_mfi_fk FOREIGN KEY (md_file_id) REFERENCES gpkg_metadata(id), CONSTRAINT crmr_mpi_fk FOREIGN KEY (md_parent_id) REFERENCES gpkg_metadata(id))","CREATE TRIGGER 'gpkg_metadata_reference_reference_scope_insert' BEFORE INSERT ON 'gpkg_metadata_reference' FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'insert on table gpkg_metadata_reference violates constraint: reference_scope must be one of \"geopackage\", table\", \"column\", \"row\", \"row/col\"') WHERE NOT NEW.reference_scope IN ('geopackage','table','column','row','row/col'); END","CREATE TRIGGER 'gpkg_metadata_reference_reference_scope_update' BEFORE UPDATE OF 'reference_scope' ON 'gpkg_metadata_reference' FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'update on table gpkg_metadata_reference violates constraint: referrence_scope must be one of \"geopackage\", \"table\", \"column\", \"row\", \"row/col\"') WHERE NOT NEW.reference_scope IN ('geopackage','table','column','row','row/col'); END","CREATE TRIGGER 'gpkg_metadata_reference_column_name_insert' BEFORE INSERT ON 'gpkg_metadata_reference' FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'insert on table gpkg_metadata_reference violates constraint: column name must be NULL when reference_scope is \"geopackage\", \"table\" or \"row\"') WHERE (NEW.reference_scope IN ('geopackage','table','row') AND NEW.column_name IS NOT NULL); SELECT RAISE(ABORT, 'insert on table gpkg_metadata_reference violates constraint: column name must be defined for the specified table when reference_scope is \"column\" or \"row/col\"') WHERE (NEW.reference_scope IN ('column','row/col') AND NOT NEW.table_name IN ( SELECT name FROM SQLITE_MASTER WHERE type = 'table' AND name = NEW.table_name AND sql LIKE ('%' || NEW.column_name || '%'))); END","CREATE TRIGGER 'gpkg_metadata_reference_column_name_update' BEFORE UPDATE OF column_name ON 'gpkg_metadata_reference' FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'update on table gpkg_metadata_reference violates constraint: column name must be NULL when reference_scope is \"geopackage\", \"table\" or \"row\"') WHERE (NEW.reference_scope IN ('geopackage','table','row') AND NEW.column_nameIS NOT NULL); SELECT RAISE(ABORT, 'update on table gpkg_metadata_reference violates constraint: column name must be defined for the specified table when reference_scope is \"column\" or \"row/col\"') WHERE (NEW.reference_scope IN ('column','row/col') AND NOT NEW.table_name IN ( SELECT name FROM SQLITE_MASTER WHERE type = 'table' AND name = NEW.table_name AND sql LIKE ('%' || NEW.column_name || '%'))); END","CREATE TRIGGER 'gpkg_metadata_reference_row_id_value_insert' BEFORE INSERT ON 'gpkg_metadata_reference' FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'insert on table gpkg_metadata_reference violates constraint: row_id_value must be NULL when reference_scope is \"geopackage\", \"table\" or \"column\"') WHERE NEW.reference_scope IN ('geopackage','table','column') AND NEW.row_id_value IS NOT NULL; END ","CREATE TRIGGER 'gpkg_metadata_reference_row_id_value_update' BEFORE UPDATE OF 'row_id_value' ON 'gpkg_metadata_reference' FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'update on table gpkg_metadata_reference violates constraint: row_id_value must be NULL when reference_scope is \"geopackage\", \"table\" or \"column\"') WHERE NEW.reference_scope IN ('geopackage','table','column') AND NEW.row_id_value IS NOT NULL; END","CREATE TRIGGER 'gpkg_metadata_reference_timestamp_insert' BEFORE INSERT ON 'gpkg_metadata_reference' FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'insert on table gpkg_metadata_reference violates constraint: timestamp must be a valid time in ISO 8601 \"yyyy-mm-ddThh:mm:ss.cccZ\" form') WHERE NOT (NEW.timestamp GLOB '[1-2][0-9][0-9][0-9]-[0-1][0-9]-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9].[0-9][0-9][0-9]Z' AND strftime('%s',NEW.timestamp) NOT NULL); END","CREATE TRIGGER 'gpkg_metadata_reference_timestamp_update' BEFORE UPDATE OF 'timestamp' ON 'gpkg_metadata_reference' FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'update on table gpkg_metadata_reference violates constraint: timestamp must be a valid time in ISO 8601 \"yyyy-mm-ddThh:mm:ss.cccZ\" form') WHERE NOT (NEW.timestamp GLOB '[1-2][0-9][0-9][0-9]-[0-1][0-9]-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9].[0-9][0-9][0-9]Z' AND strftime('%s',NEW.timestamp) NOT NULL); END "],extensions:["CREATE TABLE gpkg_extensions ( table_name TEXT, column_name TEXT, extension_name TEXT NOT NULL, definition TEXT NOT NULL, scope TEXT NOT NULL, CONSTRAINT ge_tce UNIQUE (table_name, column_name, extension_name))"],table_index:["CREATE TABLE nga_table_index ( table_name TEXT NOT NULL PRIMARY KEY, last_indexed DATETIME)"],geometry_index:["CREATE TABLE nga_geometry_index ( table_name TEXT NOT NULL, geom_id INTEGER NOT NULL, min_x DOUBLE NOT NULL, max_x DOUBLE NOT NULL, min_y DOUBLE NOT NULL, max_y DOUBLE NOT NULL, min_z DOUBLE, max_z DOUBLE, min_m DOUBLE, max_m DOUBLE, CONSTRAINT pk_ngi PRIMARY KEY (table_name, geom_id), CONSTRAINT fk_ngi_nti_tn FOREIGN KEY (table_name) REFERENCES nga_table_index(table_name))"],feature_tile_link:["CREATE TABLE nga_feature_tile_link ( feature_table_name TEXT NOT NULL, tile_table_name TEXT NOT NULL, CONSTRAINT pk_nftl PRIMARY KEY (feature_table_name, tile_table_name))"],extended_relations:["CREATE TABLE gpkgext_relations ( id INTEGER PRIMARY KEY AUTOINCREMENT, base_table_name TEXT NOT NULL, base_primary_column TEXT NOT NULL DEFAULT 'id', related_table_name TEXT NOT NULL, related_primary_column TEXT NOT NULL DEFAULT 'id', relation_name TEXT NOT NULL, mapping_table_name TEXT NOT NULL UNIQUE)"],contents_id:["CREATE TABLE nga_contents_id ( id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, table_name TEXT NOT NULL, CONSTRAINT uk_nci_table_name UNIQUE (table_name), CONSTRAINT fk_nci_gc_tn FOREIGN KEY (table_name) REFERENCES gpkg_contents(table_name))"],tile_scaling:["CREATE TABLE nga_tile_scaling ( table_name TEXT PRIMARY KEY NOT NULL, scaling_type TEXT NOT NULL, zoom_in INTEGER, zoom_out INTEGER, CONSTRAINT fk_nts_gtms_tn FOREIGN KEY (table_name) REFERENCES gpkg_tile_matrix_set (table_name), CHECK (scaling_type in ('in','out','in_out','out_in','closest_in_out','closest_out_in')))"]},t}();e.TableCreator=o;},2431:function(t,e,n){"use strict";var r=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.TableMapping=void 0;var i=r(n(4293)),o=r(n(8446)),a=r(n(3674)),s=r(n(2628)),u=n(1790),l=function(){function t(t,e,n){var r=this;this._transferContent=!0,this._columns={},this._droppedColumns=new Set,this._fromTable=t,this._toTable=e,n.forEach((function(t){r.addMappedColumn(new u.MappedColumn(t.name,t.name,t.defaultValue,t.dataType));}));}return t.fromTableInfo=function(e){var n=new t(e.getTableName(),e.getTableName(),[]);return e.getColumns().forEach((function(t){n.addMappedColumn(new u.MappedColumn(t.getName(),t.getName(),t.getDefaultValue(),t.getDataType()));})),n},Object.defineProperty(t.prototype,"fromTable",{get:function(){return this._fromTable},set:function(t){this._fromTable=t;},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"toTable",{get:function(){return this._toTable},set:function(t){this._toTable=t;},enumerable:!1,configurable:!0}),t.prototype.isNewTable=function(){return !(0,i.default)(this._toTable)&&!(0,o.default)(this._toTable,this._fromTable)},t.prototype.isTransferContent=function(){return this._transferContent},Object.defineProperty(t.prototype,"transferContent",{set:function(t){this._transferContent=t;},enumerable:!1,configurable:!0}),t.prototype.addMappedColumn=function(t){this._columns[t.toColumn]=t;},t.prototype.addColumnWithName=function(t){this._columns[t]=new u.MappedColumn(t,null,null,null);},t.prototype.removeColumn=function(t){var e=this._columns[t];return delete this._columns[t],e},t.prototype.getColumnNames=function(){return (0,a.default)(this._columns)},t.prototype.getColumns=function(){return this._columns},t.prototype.getMappedColumns=function(){return (0,s.default)(this._columns)},t.prototype.getColumn=function(t){return this._columns[t]},t.prototype.addDroppedColumn=function(t){this._droppedColumns.add(t);},t.prototype.removeDroppedColumn=function(t){return this._droppedColumns.delete(t)},Object.defineProperty(t.prototype,"droppedColumns",{get:function(){return this._droppedColumns},enumerable:!1,configurable:!0}),t.prototype.isDroppedColumn=function(t){return this._droppedColumns.has(t)},t.prototype.hasWhere=function(){return !(0,i.default)(this._where)},Object.defineProperty(t.prototype,"where",{get:function(){return this._where},set:function(t){this._where=t;},enumerable:!1,configurable:!0}),t}();e.TableMapping=l;},8140:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.BaseExtension=void 0;var r=n(624),i=function(){function t(t){this.geoPackage=t,this.connection=t.connection,this.extensionsDao=t.extensionDao;}return t.prototype.getOrCreate=function(t,e,n,r,i){var o=this.getExtension(t,e,n);return o.length?o[0]:(this.extensionsDao.createTable(),this.createExtension(t,e,n,r,i),this.getExtension(t,e,n)[0])},t.prototype.getExtension=function(t,e,n){return this.extensionsDao.isTableExists()?this.extensionsDao.queryByExtensionAndTableNameAndColumnName(t,e,n):[]},t.prototype.hasExtension=function(t,e,n){return !!this.getExtension(t,e,n).length},t.prototype.hasExtensions=function(t){return 0!==this.extensionsDao.queryAllByExtension(t).length},t.prototype.createExtension=function(t,e,n,i,o){var a=new r.Extension;return a.table_name=e,a.column_name=n,a.extension_name=t,a.definition=i,a.scope=o,this.extensionsDao.create(a)},t}();e.BaseExtension=i;},4650:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ContentsId=void 0;e.ContentsId=function(){};},7092:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);});Object.defineProperty(e,"__esModule",{value:!0}),e.ContentsIdDao=void 0;var o=n(4115),a=n(4650),s=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.gpkgTableName=e.TABLE_NAME,n.idColumns=["id"],n}return i(e,t),e.prototype.createObject=function(t){var e=new a.ContentsId;return t&&(e.id=t.id,e.table_name=t.table_name),e},e.prototype.createTable=function(){return this.geoPackage.getTableCreator().createContentsId()},e.prototype.getTableNames=function(){for(var t=[],e=this.queryForColumns("table_name"),n=0;n0?n[0]:null},e.prototype.deleteByTableName=function(t){return this.deleteWhere(this.buildWhereWithFieldAndValue(e.COLUMN_TABLE_NAME,t),this.buildWhereArgs(t))},e.TABLE_NAME="nga_contents_id",e.COLUMN_ID="id",e.COLUMN_TABLE_NAME="table_name",e}(o.Dao);e.ContentsIdDao=s;},1314:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);});Object.defineProperty(e,"__esModule",{value:!0}),e.ContentsIdExtension=void 0;var o=n(8140),a=n(624),s=n(7092),u=n(6638),l=function(t){function e(e){var n=t.call(this,e)||this;return n.contentsIdDao=e.contentsIdDao,n}return i(e,t),e.prototype.getOrCreateExtension=function(){var t=this.getOrCreate(e.EXTENSION_NAME,null,null,e.EXTENSION_DEFINITION,a.Extension.READ_WRITE);return this.contentsIdDao.createTable(),t},Object.defineProperty(e.prototype,"dao",{get:function(){return this.contentsIdDao},enumerable:!1,configurable:!0}),e.prototype.has=function(){return this.hasExtension(e.EXTENSION_NAME,null,null)&&this.contentsIdDao.isTableExists()},e.prototype.get=function(t){var e=null;return t&&t.table_name&&(e=this.getByTableName(t.table_name)),e},e.prototype.getByTableName=function(t){var e=null;return this.contentsIdDao.isTableExists()&&(e=this.contentsIdDao.queryForTableName(t)),e},e.prototype.getId=function(t){var e=null;return t&&t.table_name&&(e=this.getIdByTableName(t.table_name)),e},e.prototype.getIdByTableName=function(t){var e=null;if(this.contentsIdDao.isTableExists()){var n=this.contentsIdDao.queryForTableName(t);n&&(e=n.id);}return e},e.prototype.create=function(t){var e=null;return t&&t.table_name&&(e=this.createWithTableName(t.table_name)),e},e.prototype.createWithTableName=function(t){var e=this.contentsIdDao.createObject();return e.table_name=t,e.id=this.contentsIdDao.create(e),e},e.prototype.createId=function(t){var e=null;return t&&t.table_name&&(e=this.createIdWithTableName(t.table_name)),e},e.prototype.createIdWithTableName=function(t){return this.createWithTableName(t)},e.prototype.getOrCreateId=function(t){var e=null;return t&&t.table_name&&(e=this.getOrCreateIdByTableName(t.table_name)),e},e.prototype.getOrCreateIdByTableName=function(t){var e=this.getByTableName(t);return null==e&&(e=this.createWithTableName(t)),e},e.prototype.deleteId=function(t){var e=0;return t&&t.table_name&&(e=this.deleteIdByTableName(t.table_name)),e},e.prototype.deleteIdByTableName=function(t){return this.contentsIdDao.deleteByTableName(t)},e.prototype.count=function(){var t=0;return this.has()&&(t=this.contentsIdDao.count()),t},e.prototype.createIds=function(t){void 0===t&&(t="");for(var e=this.getMissing(t),n=0;n0&&(r+=u.ContentsDao.COLUMN_DATA_TYPE,r+=" = ?",i.push(t)),r.length>0&&(n+=" WHERE "+r),n+=")",e=this.connection.all(n,i);}return e},e.prototype.getMissing=function(t){void 0===t&&(t="");var e="SELECT "+u.ContentsDao.COLUMN_TABLE_NAME+" FROM "+u.ContentsDao.TABLE_NAME,n="",r=[];return null!=t&&t.length>0&&(n+=u.ContentsDao.COLUMN_DATA_TYPE,n+=" = ?",r.push(t)),this.has()&&(n.length>0&&(n+=" AND "),n+=u.ContentsDao.COLUMN_TABLE_NAME,n+=" NOT IN (SELECT ",n+=s.ContentsIdDao.COLUMN_TABLE_NAME,n+=" FROM ",n+=s.ContentsIdDao.TABLE_NAME,n+=")"),n.length>0&&(e+=" WHERE "+n),this.connection.all(e,r)},e.prototype.removeExtension=function(){this.contentsIdDao.isTableExists()&&this.geoPackage.deleteTable(s.ContentsIdDao.TABLE_NAME),this.extensionsDao.isTableExists()&&this.extensionsDao.deleteByExtension(e.EXTENSION_NAME);},e.EXTENSION_NAME="nga_contents_id",e.EXTENSION_AUTHOR="nga",e.EXTENSION_NAME_NO_AUTHOR="contents_id",e.EXTENSION_DEFINITION="http://ngageoint.github.io/GeoPackage/docs/extensions/contents-id.html",e}(o.BaseExtension);e.ContentsIdExtension=l;},5306:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);});Object.defineProperty(e,"__esModule",{value:!0}),e.CrsWktExtension=void 0;var o=n(624),a=function(t){function e(n){var r=t.call(this,n)||this;return r.extensionName=e.EXTENSION_NAME,r.extensionDefinition=e.EXTENSION_CRS_WKT_DEFINITION,r}return i(e,t),e.prototype.getOrCreateExtension=function(){return this.getOrCreate(this.extensionName,null,null,this.extensionDefinition,o.Extension.READ_WRITE)},e.prototype.has=function(){return this.hasExtension(e.EXTENSION_NAME,null,null)},e.prototype.removeExtension=function(){try{this.extensionsDao.isTableExists()&&this.extensionsDao.deleteByExtension(e.EXTENSION_NAME);}catch(t){throw new Error("Failed to delete CrsWkt extension. GeoPackage: "+this.geoPackage.name)}},e.EXTENSION_NAME="gpkg_crs_wkt",e.EXTENSION_CRS_WKT_AUTHOR="gpkg",e.EXTENSION_CRS_WKT_NAME_NO_AUTHOR="crs_wkt",e.EXTENSION_CRS_WKT_DEFINITION="http://www.geopackage.org/spec/#extension_crs_wkt",e}(n(8140).BaseExtension);e.CrsWktExtension=a;},624:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Extension=void 0;var n=function(){function t(){}return t.prototype.setExtensionName=function(e,n){this.extension_name=t.buildExtensionName(e,n);},Object.defineProperty(t.prototype,"author",{get:function(){return t.getAuthorWithExtensionName(this.extension_name)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"extensionNameNoAuthor",{get:function(){return t.getExtensionNameNoAuthor(this.extension_name)},enumerable:!1,configurable:!0}),t.buildExtensionName=function(e,n){return e+t.EXTENSION_NAME_DIVIDER+n},t.getAuthorWithExtensionName=function(e){return e.split(t.EXTENSION_NAME_DIVIDER)[0]},t.getExtensionNameNoAuthor=function(e){return e.slice(e.indexOf(t.EXTENSION_NAME_DIVIDER)+1)},t.prototype.getTableName=function(){return this.table_name},t.prototype.setTableName=function(t){this.table_name=t,null==t&&(this.column_name=null);},t.EXTENSION_NAME_DIVIDER="_",t.READ_WRITE="read-write",t.WRITE_ONLY="write-only",t}();e.Extension=n;},5698:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);}),o=this&&this.__values||function(t){var e="function"==typeof Symbol&&Symbol.iterator,n=e&&t[e],r=0;if(n)return n.call(t);if(t&&"number"==typeof t.length)return {next:function(){return t&&r>=t.length&&(t=void 0),{value:t&&t[r++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.ExtensionDao=void 0;var a=n(624),s=n(4115),u=n(8572),l=n(1459),c=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.gpkgTableName=e.TABLE_NAME,n.idColumns=[e.COLUMN_TABLE_NAME,e.COLUMN_COLUMN_NAME,e.COLUMN_EXTENSION_NAME],n}return i(e,t),e.prototype.createObject=function(t){var e=new a.Extension;return e.table_name=t.table_name,e.column_name=t.column_name,e.extension_name=t.extension_name,e.definition=t.definition,e.scope=t.scope,e},e.prototype.queryByExtension=function(t){var n=this.queryForAllEq(e.COLUMN_EXTENSION_NAME,t);if(n[0])return this.createObject(n[0])},e.prototype.queryAllByExtension=function(t){var n,r,i=[];try{for(var a=o(this.queryForAllEq(e.COLUMN_EXTENSION_NAME,t)),s=a.next();!s.done;s=a.next()){var u=s.value,l=this.createObject(u);i.push(l);}}catch(t){n={error:t};}finally{try{s&&!s.done&&(r=a.return)&&r.call(a);}finally{if(n)throw n.error}}return i},e.prototype.queryByExtensionAndTableName=function(t,n){var r,i,a=new u.ColumnValues;a.addColumn(e.COLUMN_EXTENSION_NAME,t),a.addColumn(e.COLUMN_TABLE_NAME,n);var s=[];try{for(var l=o(this.queryForFieldValues(a)),c=l.next();!c.done;c=l.next()){var h=c.value;s.push(this.createObject(h));}}catch(t){r={error:t};}finally{try{c&&!c.done&&(i=l.return)&&i.call(l);}finally{if(r)throw r.error}}return s},e.prototype.queryByExtensionAndTableNameAndColumnName=function(t,n,r){var i,a,s=new u.ColumnValues;s.addColumn(e.COLUMN_EXTENSION_NAME,t),null!=n&&s.addColumn(e.COLUMN_TABLE_NAME,n),null!=r&&s.addColumn(e.COLUMN_COLUMN_NAME,r);var l=[];try{for(var c=o(this.queryForFieldValues(s)),h=c.next();!h.done;h=c.next()){var f=h.value,p=this.createObject(f);l.push(p);}}catch(t){i={error:t};}finally{try{h&&!h.done&&(a=c.return)&&a.call(c);}finally{if(i)throw i.error}}return l},e.prototype.createTable=function(){return new l.TableCreator(this.geoPackage).createExtensions()},e.prototype.deleteByExtension=function(t){var n=new u.ColumnValues;return n.addColumn(e.COLUMN_EXTENSION_NAME,t),this.deleteWhere(this.buildWhere(n,"="),this.buildWhereArgs(n))},e.prototype.deleteByExtensionAndTableName=function(t,n){var r=new u.ColumnValues;return r.addColumn(e.COLUMN_EXTENSION_NAME,t),r.addColumn(e.COLUMN_TABLE_NAME,n),this.deleteWhere(this.buildWhere(r,"and"),this.buildWhereArgs(r))},e.prototype.deleteByExtensionAndTableNameAndColumnName=function(t,n,r){var i=new u.ColumnValues;return i.addColumn(e.COLUMN_EXTENSION_NAME,t),i.addColumn(e.COLUMN_TABLE_NAME,n),i.addColumn(e.COLUMN_COLUMN_NAME,r),this.deleteWhere(this.buildWhere(i,"and"),this.buildWhereArgs(i))},e.TABLE_NAME="gpkg_extensions",e.COLUMN_TABLE_NAME="table_name",e.COLUMN_COLUMN_NAME="column_name",e.COLUMN_EXTENSION_NAME="extension_name",e.COLUMN_DEFINITION="definition",e.COLUMN_SCOPE="scope",e}(s.Dao);e.ExtensionDao=c;},9406:(t,e,n)=>{"use strict";var r=n(5108);Object.defineProperty(e,"__esModule",{value:!0}),e.GeoPackageExtensions=void 0;var i=n(6131),o=n(5859),a=n(1832),s=n(5045),u=n(5042),l=n(362),c=n(8314),h=n(2431),f=n(8904),p=n(8116),d=n(4941),y=n(1459),m=n(1133),g=n(3501),_=n(2056),b=n(5306),v=function(){function t(){}return t.deleteTableExtensions=function(e,n){i.NGAExtensions.deleteTableExtensions(e,n),t.deleteRTreeSpatialIndex(e,n),t.deleteRelatedTables(e,n),t.deleteSchema(e,n),t.deleteMetadata(e,n),t.deleteExtensionForTable(e,n);},t.deleteExtensions=function(t){i.NGAExtensions.deleteExtensions(t),this.deleteRTreeSpatialIndexExtension(t),this.deleteRelatedTablesExtension(t),this.deleteSchemaExtension(t),this.deleteMetadataExtension(t),this.deleteCrsWktExtension(t),this.delete(t);},t.copyTableExtensions=function(e,n,o){try{t.copyRTreeSpatialIndex(e,n,o),t.copyRelatedTables(e,n,o),t.copySchema(e,n,o),t.copyMetadata(e,n,o),i.NGAExtensions.copyTableExtensions(e,n,o);}catch(t){r.warn("Failed to copy extensions for table: "+o+", copied from table: "+n,t);}},t.deleteExtensionForTable=function(t,e){var n=t.extensionDao;try{n.isTableExists()&&n.deleteByExtension(e);}catch(n){throw new Error("Failed to delete Table extensions. GeoPackage: "+t.name+", Table: "+e)}},t.delete=function(t){var e=t.extensionDao;try{e.isTableExists()&&t.dropTable(e.gpkgTableName);}catch(e){throw new Error("Failed to delete all extensions. GeoPackage: "+t.name)}},t.deleteRTreeSpatialIndex=function(e,n){var r=t.getRTreeIndexExtension(e);r.has(n)&&r.deleteTable(n);},t.deleteRTreeSpatialIndexExtension=function(e){var n=t.getRTreeIndexExtension(e);n.has()&&n.deleteAll();},t.copyRTreeSpatialIndex=function(e,n,i){try{var o=t.getRTreeIndexExtension(e);if(o.has(n)){var a=e.geometryColumnsDao.queryForTableName(i);if(null!=a){var u=s.TableInfo.info(e.connection,i);if(null!=u){var l=u.getPrimaryKey().getName();o.createWithParameters(i,a.column_name,l);}}}}catch(t){r.warn("Failed to create RTree for table: "+i+", copied from table: "+n,t);}},t.getRTreeIndexExtension=function(t){return new o.RTreeIndex(t,null)},t.deleteRelatedTables=function(e,n){var r=t.getRelatedTableExtension(e);r.has()&&r.removeRelationships(n);},t.deleteRelatedTablesExtension=function(e){var n=t.getRelatedTableExtension(e);n.has()&&n.removeExtension();},t.copyRelatedTables=function(e,n,i){try{var o=t.getRelatedTableExtension(e);if(o.has()){var p=o.extendedRelationDao,d=e.extensionDao;p.getBaseTableRelations(n).forEach((function(t){var r=t.mapping_table_name,o=d.queryByExtensionAndTableName(a.RelatedTablesExtension.EXTENSION_NAME,r).concat(d.queryByExtensionAndTableName(a.RelatedTablesExtension.EXTENSION_RELATED_TABLES_NAME_NO_AUTHOR,r));if(o.length>0){var p=u.CoreSQLUtils.createName(e.connection,r,n,i),y=new l.UserCustomTableReader(r).readTable(e.connection);c.AlterTable.copyTable(e.connection,y,p);var m=o[0];m.setTableName(p),d.create(m);var g=h.TableMapping.fromTableInfo(s.TableInfo.info(e.connection,f.ExtendedRelationDao.TABLE_NAME));g.removeColumn(f.ExtendedRelationDao.ID);var _=g.getColumn(f.ExtendedRelationDao.BASE_TABLE_NAME);_.constantValue=i,_.whereValue=n;var b=g.getColumn(f.ExtendedRelationDao.MAPPING_TABLE_NAME);b.constantValue=p,b.whereValue=r,u.CoreSQLUtils.transferTableContentForTableMapping(e.connection,g);}}));}}catch(t){r.warn("Failed to create Related Tables for table: "+i+", copied from table: "+n,t);}},t.getRelatedTableExtension=function(t){return new a.RelatedTablesExtension(t)},t.deleteSchema=function(t,e){var n=t.dataColumnsDao;try{n.isTableExists()&&n.deleteByTableName(e);}catch(n){throw new Error("Failed to delete Schema extension. GeoPackage: "+t.name+", Table: "+e)}},t.deleteSchemaExtension=function(t){var e=new p.SchemaExtension(t);e.has()&&e.removeExtension();},t.copySchema=function(t,e,n){try{if(t.isTable(d.DataColumnsDao.TABLE_NAME)){var i=new l.UserCustomTableReader(d.DataColumnsDao.TABLE_NAME).readUserCustomTable(t),o=i.getColumnWithColumnName(d.DataColumnsDao.COLUMN_NAME);if(o.hasConstraints()){if(o.clearConstraints(),i.hasConstraints()){i.clearConstraints();var a=y.TableCreator.tableCreationScripts.data_columns[0],s=m.ConstraintParser.getConstraints(a);i.addConstraints(s.getTableConstraints());}c.AlterTable.alterColumnForTable(t.connection,i,o);}u.CoreSQLUtils.transferTableContent(t.connection,d.DataColumnsDao.TABLE_NAME,d.DataColumnsDao.COLUMN_TABLE_NAME,n,e);}}catch(t){r.warn("Failed to create Schema for table: "+n+", copied from table: "+e,t);}},t.deleteMetadata=function(t,e){var n=t.metadataReferenceDao;try{n.isTableExists()&&n.deleteByTableName(e);}catch(n){throw new Error("Failed to delete Metadata extension. GeoPackage: "+t.name+", Table: "+e)}},t.deleteMetadataExtension=function(t){var e=new g.MetadataExtension(t);e.has()&&e.removeExtension();},t.copyMetadata=function(t,e,n){try{t.isTable(_.MetadataReferenceDao.TABLE_NAME)&&u.CoreSQLUtils.transferTableContent(t.connection,_.MetadataReferenceDao.TABLE_NAME,_.MetadataReferenceDao.COLUMN_TABLE_NAME,n,e);}catch(t){r.warn("Failed to create Metadata for table: "+n+", copied from table: "+e,t);}},t.deleteCrsWktExtension=function(t){var e=new b.CrsWktExtension(t);e.has()&&e.removeExtension();},t}();e.GeoPackageExtensions=v;},5626:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);}),o=this&&this.__awaiter||function(t,e,n,r){return new(n||(n=Promise))((function(i,o){function a(t){try{u(r.next(t));}catch(t){o(t);}}function s(t){try{u(r.throw(t));}catch(t){o(t);}}function u(t){var e;t.done?i(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e);}))).then(a,s);}u((r=r.apply(t,e||[])).next());}))},a=this&&this.__generator||function(t,e){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(s){return function(u){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;o&&(o=0,s[0]&&(a=0)),a;)try{if(n=1,r&&(i=2&s[0]?r.return:s[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,s[1])).done)return i;switch(r=0,i&&(s=[2&s[0],i.value]),s[0]){case 0:case 1:i=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,r=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!((i=(i=a.trys).length>0&&i[i.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!i||s[1]>i[0]&&s[1]=r}return !1}catch(t){return !1}},e.prototype.getFeatureTableIndexExtension=function(){return this.getExtension(this.extensionName,this.tableName,this.columnName)[0]},e.prototype.getOrCreateExtension=function(){return this.getOrCreate(this.extensionName,this.tableName,this.columnName,this.extensionDefinition,l.Extension.READ_WRITE)},e.prototype.getOrCreateTableIndex=function(){return this.tableIndex||(this.tableIndexDao.createTable(),this.createTableIndex(),this.tableIndex)},e.prototype.createTableIndex=function(){var t=new c.TableIndex;return t.table_name=this.tableName,t.last_indexed=new Date,this.tableIndexDao.create(t)},Object.defineProperty(e.prototype,"tableIndex",{get:function(){return this.tableIndexDao.isTableExists()?this.tableIndexDao.queryForId(this.tableName):void 0},enumerable:!1,configurable:!0}),e.prototype.createOrClearGeometryIndicies=function(){return this.geometryIndexDao.createTable(),this.clearGeometryIndicies()},e.prototype.clearGeometryIndicies=function(){var t=this.geometryIndexDao.buildWhereWithFieldAndValue(h.GeometryIndexDao.COLUMN_TABLE_NAME,this.tableName),e=this.geometryIndexDao.buildWhereArgs(this.tableName);return this.geometryIndexDao.deleteWhere(t,e)},e.prototype.indexTable=function(t){return o(this,void 0,void 0,(function(){var e=this;return a(this,(function(n){return [2,new Promise((function(n,r){setTimeout((function(){e.indexChunk(0,t,n,r);}));})).then((function(){return 1===e.updateLastIndexed(t)}))]}))}))},e.prototype.indexChunk=function(t,e,n,r){var i=this,o=this.featureDao.queryForChunk(100,t);o.length?(this.progress("Indexing "+100*t+" to "+100*(t+1)),o.forEach((function(t){var n=i.featureDao.getRow(t);i.indexRow(e,n.id,n.geometry);})),setTimeout((function(){i.indexChunk(++t,e,n,r);}))):n();},e.prototype.indexRow=function(t,e,n){if(!n)return !1;var r=n.envelope;if(!r){var i=n.geometry;i&&(r=p.EnvelopeBuilder.buildEnvelopeWithGeometry(i));}if(r){var o=this.geometryIndexDao.populate(t,e,r);return 1===this.geometryIndexDao.createOrUpdate(o)}return !1},e.prototype.updateLastIndexed=function(t){return t||((t=new c.TableIndex).table_name=this.tableName),t.last_indexed=(new Date).toISOString(),this.tableIndexDao.createOrUpdate(t)},e.prototype.queryWithBoundingBox=function(t,e){var n=t.projectBoundingBox(e,this.featureDao.projection).buildEnvelope();return this.queryWithGeometryEnvelope(n)},e.prototype.queryWithGeometryEnvelope=function(t){return this.rtreeIndexed?this.rtreeIndexDao.queryWithGeometryEnvelope(t):this.geometryIndexDao.queryWithGeometryEnvelope(t)},e.prototype.countWithBoundingBox=function(t,e){var n=t.projectBoundingBox(e,this.featureDao.projection).buildEnvelope();return this.countWithGeometryEnvelope(n)},e.prototype.countWithGeometryEnvelope=function(t){return this.rtreeIndexed?this.rtreeIndexDao.countWithGeometryEnvelope(t):this.geometryIndexDao.countWithGeometryEnvelope(t)},e.EXTENSION_GEOMETRY_INDEX_AUTHOR="nga",e.EXTENSION_GEOMETRY_INDEX_NAME_NO_AUTHOR="geometry_index",e.EXTENSION_NAME=l.Extension.buildExtensionName(e.EXTENSION_GEOMETRY_INDEX_AUTHOR,e.EXTENSION_GEOMETRY_INDEX_NAME_NO_AUTHOR),e.EXTENSION_GEOMETRY_INDEX_DEFINITION="http://ngageoint.github.io/GeoPackage/docs/extensions/geometry-index.html",e}(u.BaseExtension);e.FeatureTableIndex=d;},8021:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.GeometryIndex=void 0;var n=function(){function t(){}return Object.defineProperty(t.prototype,"tableIndex",{set:function(t){this.table_name=t.table_name;},enumerable:!1,configurable:!0}),t}();e.GeometryIndex=n;},9095:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);});Object.defineProperty(e,"__esModule",{value:!0}),e.GeometryIndexDao=void 0;var o=n(4115),a=n(8021),s=n(1459),u=function(t){function e(n,r){var i=t.call(this,n)||this;return i.gpkgTableName=e.TABLE_NAME,i.idColumns=["table_name","geom_id"],i.featureDao=r,i}return i(e,t),e.prototype.createObject=function(t){var e=new a.GeometryIndex;return t&&(e.table_name=t.table_name,e.geom_id=t.geom_id,e.min_x=t.min_x,e.max_x=t.max_x,e.min_y=t.min_y,e.max_y=t.max_y,e.min_z=t.min_z,e.max_z=t.max_z,e.min_m=t.min_m,e.max_m=t.max_m),e},e.prototype.getTableIndex=function(t){return this.geoPackage.tableIndexDao.queryForId(t.table_name)},e.prototype.queryForTableName=function(t){return this.queryForEach(e.COLUMN_TABLE_NAME,t)},e.prototype.countByTableName=function(t){return this.count(e.COLUMN_TABLE_NAME,t)},e.prototype.populate=function(t,e,n){var r=new a.GeometryIndex;return r.tableIndex=t,r.geom_id=e,r.min_x=n.minX,r.min_y=n.minY,r.max_x=n.maxX,r.max_y=n.maxY,n.hasZ&&(r.min_z=n.minZ,r.max_z=n.maxZ),n.hasM&&(r.min_m=n.minM,r.max_m=n.maxM),r},e.prototype.createTable=function(){return !!this.isTableExists()||new s.TableCreator(this.geoPackage).createGeometryIndex()},e.prototype._generateGeometryEnvelopeQuery=function(t){var n=this.featureDao.gpkgTableName,r="";r+=this.buildWhereWithFieldAndValue(e.COLUMN_TABLE_NAME,n),r+=" and ";var i=t.minX=")):(r+="(",r+=this.buildWhereWithFieldAndValue(e.COLUMN_MIN_X,t.maxX,"<="),r+=" or ",r+=this.buildWhereWithFieldAndValue(e.COLUMN_MAX_X,t.minX,">="),r+=" or ",r+=this.buildWhereWithFieldAndValue(e.COLUMN_MIN_X,t.minX,">="),r+=" or ",r+=this.buildWhereWithFieldAndValue(e.COLUMN_MAX_X,t.maxX,"<="),r+=")"),r+=" and ",r+=this.buildWhereWithFieldAndValue(e.COLUMN_MIN_Y,t.maxY,"<="),r+=" and ",r+=this.buildWhereWithFieldAndValue(e.COLUMN_MAX_Y,t.minY,">=");var o=[n,t.maxX,t.minX];return i||o.push(t.minX,t.maxX),o.push(t.maxY,t.minY),t.hasZ&&(r+=" and ",r+=this.buildWhereWithFieldAndValue(e.COLUMN_MIN_Z,t.minZ,"<="),r+=" and ",r+=this.buildWhereWithFieldAndValue(e.COLUMN_MAX_Z,t.maxZ,">="),o.push(t.maxZ,t.minZ)),t.hasM&&(r+=" and ",r+=this.buildWhereWithFieldAndValue(e.COLUMN_MIN_M,t.minM,"<="),r+=" and ",r+=this.buildWhereWithFieldAndValue(e.COLUMN_MAX_M,t.maxM,">="),o.push(t.maxM,t.minM)),{join:'inner join "'+n+'" on "'+n+'".'+this.featureDao.idColumns[0]+" = "+e.COLUMN_GEOM_ID,where:r,whereArgs:o,tableNameArr:['"'+n+'".*']}},e.prototype.queryWithGeometryEnvelope=function(t){var e=this._generateGeometryEnvelopeQuery(t);return this.queryJoinWhereWithArgs(e.join,e.where,e.whereArgs,e.tableNameArr)},e.prototype.countWithGeometryEnvelope=function(t){var e=this._generateGeometryEnvelopeQuery(t);return this.countJoinWhereWithArgs(e.join,e.where,e.whereArgs)},e.TABLE_NAME="nga_geometry_index",e.COLUMN_TABLE_NAME=e.TABLE_NAME+".table_name",e.COLUMN_TABLE_NAME_FIELD="table_name",e.COLUMN_GEOM_ID=e.TABLE_NAME+".geom_id",e.COLUMN_MIN_X=e.TABLE_NAME+".min_x",e.COLUMN_MAX_X=e.TABLE_NAME+".max_x",e.COLUMN_MIN_Y=e.TABLE_NAME+".min_y",e.COLUMN_MAX_Y=e.TABLE_NAME+".max_y",e.COLUMN_MIN_Z=e.TABLE_NAME+".min_z",e.COLUMN_MAX_Z=e.TABLE_NAME+".max_z",e.COLUMN_MIN_M=e.TABLE_NAME+".min_m",e.COLUMN_MAX_M=e.TABLE_NAME+".max_m",e}(o.Dao);e.GeometryIndexDao=u;},7049:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TableIndex=void 0;e.TableIndex=function(){};},9581:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);});Object.defineProperty(e,"__esModule",{value:!0}),e.TableIndexDao=void 0;var o=n(4115),a=n(1459),s=n(7049),u=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.gpkgTableName=e.TABLE_NAME,n.idColumns=[e.COLUMN_TABLE_NAME],n}return i(e,t),e.prototype.createObject=function(t){var e=new s.TableIndex;return t&&(e.table_name=t.table_name,e.last_indexed=t.last_indexed),e},e.prototype.createTable=function(){return new a.TableCreator(this.geoPackage).createTableIndex()},e.TABLE_NAME="nga_table_index",e.COLUMN_TABLE_NAME="table_name",e.COLUMN_LAST_INDEXED="last_indexed",e}(o.Dao);e.TableIndexDao=u;},3501:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);});Object.defineProperty(e,"__esModule",{value:!0}),e.MetadataExtension=void 0;var o=n(8140),a=n(624),s=n(2056),u=n(663),l=function(t){function e(n){var r=t.call(this,n)||this;return r.extensionName=e.EXTENSION_NAME,r.extensionDefinition=e.EXTENSION_Metadata_DEFINITION,r}return i(e,t),e.prototype.getOrCreateExtension=function(){return this.getOrCreate(this.extensionName,null,null,this.extensionDefinition,a.Extension.READ_WRITE)},e.prototype.has=function(){return this.hasExtension(e.EXTENSION_NAME,null,null)},e.prototype.removeExtension=function(){this.geoPackage.isTable(s.MetadataReferenceDao.TABLE_NAME)&&this.geoPackage.dropTable(s.MetadataReferenceDao.TABLE_NAME),this.geoPackage.isTable(u.MetadataDao.TABLE_NAME)&&this.geoPackage.dropTable(u.MetadataDao.TABLE_NAME);try{this.extensionsDao.isTableExists()&&this.extensionsDao.deleteByExtension(e.EXTENSION_NAME);}catch(t){throw new Error("Failed to delete Schema extension. GeoPackage: "+this.geoPackage.name)}},e.EXTENSION_NAME="gpkg_metadata",e.EXTENSION_Metadata_AUTHOR="gpkg",e.EXTENSION_Metadata_NAME_NO_AUTHOR="metadata",e.EXTENSION_Metadata_DEFINITION="http://www.geopackage.org/spec/#extension_metadata",e}(o.BaseExtension);e.MetadataExtension=l;},6131:(t,e,n)=>{"use strict";var r=n(5108);Object.defineProperty(e,"__esModule",{value:!0}),e.NGAExtensions=void 0;var i=n(5626),o=n(9095),a=n(9581),s=n(5042),u=n(7960),l=n(7523),c=n(8479),h=n(1832),f=n(1314),p=n(362),d=n(8314),y=n(2431),m=n(233),g=n(8904),_=n(5045),b=n(7092),v=function(){function t(){}return t.deleteTableExtensions=function(e,n){t.deleteGeometryIndex(e,n),t.deleteTileScaling(e,n),t.deleteFeatureStyle(e,n),t.deleteContentsId(e,n);},t.deleteExtensions=function(e){t.deleteGeometryIndexExtension(e),t.deleteTileScalingExtension(e),t.deleteFeatureStyleExtension(e),t.deleteContentsIdExtension(e);},t.copyTableExtensions=function(e,n,i){try{t.copyContentsId(e,n,i),t.copyFeatureStyle(e,n,i),t.copyTileScaling(e,n,i),t.copyGeometryIndex(e,n,i);}catch(t){r.warn("Failed to copy extensions for table: "+i+", copied from table: "+n,t);}},t.deleteGeometryIndex=function(t,e){var n=t.getGeometryIndexDao(null),r=t.tableIndexDao,s=t.extensionDao;try{n.isTableExists()&&n.deleteWhere(n.buildWhereWithFieldAndValue(o.GeometryIndexDao.COLUMN_TABLE_NAME_FIELD,e),n.buildWhereArgs(e)),r.isTableExists()&&r.deleteWhere(r.buildWhereWithFieldAndValue(a.TableIndexDao.COLUMN_TABLE_NAME,e),r.buildWhereArgs(e)),s.isTableExists()&&s.deleteByExtensionAndTableName(i.FeatureTableIndex.EXTENSION_NAME,e);}catch(n){throw new Error("Failed to delete Table Index. GeoPackage: "+t.name+", Table: "+e)}},t.deleteGeometryIndexExtension=function(t){var e=t.getGeometryIndexDao(null),n=t.tableIndexDao,r=t.extensionDao;try{e.isTableExists()&&t.dropTable(o.GeometryIndexDao.TABLE_NAME),n.isTableExists()&&t.dropTable(a.TableIndexDao.TABLE_NAME),r.isTableExists()&&r.deleteByExtension(i.FeatureTableIndex.EXTENSION_NAME);}catch(e){throw new Error("Failed to delete Table Index extension and tables. GeoPackage: "+t.name)}},t.copyGeometryIndex=function(t,e,n){try{var a=t.extensionDao;if(a.isTableExists()){var u=a.queryByExtensionAndTableName(i.FeatureTableIndex.EXTENSION_NAME,e);if(u.length>0){var l=u[0];l.table_name=n,a.create(l);var c=t.tableIndexDao;if(c.isTableExists()){var h=c.queryForId(e);null!=h&&(h.table_name=n,c.create(h),t.isTable(o.GeometryIndexDao.TABLE_NAME)&&s.CoreSQLUtils.transferTableContent(t.connection,o.GeometryIndexDao.TABLE_NAME,o.GeometryIndexDao.COLUMN_TABLE_NAME_FIELD,n,e));}}}}catch(t){r.warn("Failed to create Geometry Index for table: "+n+", copied from table: "+e,t);}},t.deleteTileScaling=function(t,e){var n=t.tileScalingDao,r=t.extensionDao;try{n.isTableExists()&&n.deleteByTableName(e),r.isTableExists()&&r.deleteByExtensionAndTableName(l.TileScalingExtension.EXTENSION_NAME,e);}catch(n){throw new Error("Failed to delete Tile Scaling. GeoPackage: "+t.name+", Table: "+e)}},t.deleteTileScalingExtension=function(t){var e=t.tileScalingDao,n=t.extensionDao;try{e.isTableExists()&&t.dropTable(e.gpkgTableName),n.isTableExists()&&n.deleteByExtension(l.TileScalingExtension.EXTENSION_NAME);}catch(e){throw new Error("Failed to delete Tile Scaling extension and table. GeoPackage: "+t.name)}},t.copyTileScaling=function(t,e,n){try{var i=new l.TileScalingExtension(t,e);if(i.has()){var o=i.getOrCreateExtension();null!=o&&(o.setTableName(n),i.extensionsDao.create(o),t.isTable(u.TileScalingDao.TABLE_NAME)&&s.CoreSQLUtils.transferTableContent(t.connection,u.TileScalingDao.TABLE_NAME,u.TileScalingDao.COLUMN_TABLE_NAME,n,e));}}catch(t){r.warn("Failed to create Tile Scaling for table: "+n+", copied from table: "+e,t);}},t.deleteFeatureStyle=function(e,n){var r=t.getFeatureStyleExtension(e);r.has(n)&&r.deleteRelationships(n);},t.deleteFeatureStyleExtension=function(e){var n=t.getFeatureStyleExtension(e);n.has(null)&&n.removeExtension();},t.copyFeatureStyle=function(e,n,i){try{var o=t.getFeatureStyleExtension(e);if(o.hasRelationship(n)){var a=o.getOrCreateExtension(n);if(null!=a){a.setTableName(i),o.extensionsDao.create(a);var s=o.getContentsId(),u=s.getIdByTableName(n),l=s.getIdByTableName(i);null!=u&&null!=l&&(o.hasTableStyleRelationship(n)&&t.copyFeatureTableStyle(o,c.FeatureStyleExtension.TABLE_MAPPING_TABLE_STYLE,n,i,u,l),o.hasTableIconRelationship(n)&&t.copyFeatureTableStyle(o,c.FeatureStyleExtension.TABLE_MAPPING_TABLE_ICON,n,i,u,l));}}}catch(t){r.warn("Failed to create Feature Style for table: "+i+", copied from table: "+n,t);}},t.copyFeatureTableStyle=function(t,e,n,r,i,o){var a=t.geoPackage,u=t.getMappingTableName(e,n),l=a.extensionDao,c=l.queryByExtensionAndTableName(h.RelatedTablesExtension.EXTENSION_NAME,u).concat(l.queryByExtensionAndTableName(h.RelatedTablesExtension.EXTENSION_RELATED_TABLES_NAME_NO_AUTHOR,u));if(c.length>0){var f=t.getMappingTableName(e,r),v=new p.UserCustomTableReader(u).readTable(a.connection);d.AlterTable.copyTable(a.connection,v,f,!1);var T=new y.TableMapping(v.getTableName(),f,v.getUserColumns().getColumns()),E=T.getColumn(m.UserMappingTable.COLUMN_BASE_ID);E.constantValue=o,E.whereValue=i,s.CoreSQLUtils.transferTableContentForTableMapping(a.connection,T);var w=c[0];w.setTableName(f),l.create(w);var x=y.TableMapping.fromTableInfo(_.TableInfo.info(a.connection,g.ExtendedRelationDao.TABLE_NAME));x.removeColumn(g.ExtendedRelationDao.ID),x.getColumn(g.ExtendedRelationDao.BASE_TABLE_NAME).whereValue=b.ContentsIdDao.TABLE_NAME;var C=x.getColumn(g.ExtendedRelationDao.MAPPING_TABLE_NAME);C.constantValue=f,C.whereValue=u,s.CoreSQLUtils.transferTableContentForTableMapping(a.connection,x);}},t.getFeatureStyleExtension=function(t){return new c.FeatureStyleExtension(t)},t.deleteContentsId=function(t,e){var n=new f.ContentsIdExtension(t);n.has()&&n.deleteIdByTableName(e);},t.deleteContentsIdExtension=function(t){var e=new f.ContentsIdExtension(t);e.has()&&e.removeExtension();},t.copyContentsId=function(t,e,n){try{var i=new f.ContentsIdExtension(t);if(i.has())null!=i.getByTableName(e)&&i.createWithTableName(n);}catch(t){r.warn("Failed to create Contents Id for table: "+n+", copied from table: "+e,t);}},t}();e.NGAExtensions=v;},3096:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.DublinCoreMetadata=void 0;var r=n(2224),i=function(){function t(){}return t.hasColumn=function(t,e){var n,i=(n=t instanceof r.UserRow?t.table:t).hasColumn(e.name);if(!n.hasColumn(e.name)){var o=e.synonyms;if(o)for(var a=0;a{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.DublinCoreType=void 0;var n=function(){function t(t,e){this.name=t,this.synonyms=e;}return t.fromName=function(e){for(var n in t)if((r=t[n]).name===e)return r;for(var n in t){var r;if((r=t[n]).synonyms)for(var i=0;i{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ExtendedRelation=void 0;e.ExtendedRelation=function(){};},8904:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);}),o=this&&this.__values||function(t){var e="function"==typeof Symbol&&Symbol.iterator,n=e&&t[e],r=0;if(n)return n.call(t);if(t&&"number"==typeof t.length)return {next:function(){return t&&r>=t.length&&(t=void 0),{value:t&&t[r++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.ExtendedRelationDao=void 0;var a=n(4115),s=n(8572),u=n(7817),l=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.gpkgTableName=e.TABLE_NAME,n.idColumns=["id"],n}return i(e,t),e.prototype.createObject=function(t){var e=new u.ExtendedRelation;return t&&(e.base_table_name=t.base_table_name,e.base_primary_column=t.base_primary_column,e.related_table_name=t.base_primary_column,e.related_table_name=t.related_table_name,e.relation_name=t.relation_name,e.mapping_table_name=t.mapping_table_name,e.related_primary_column=t.related_primary_column,e.id=t.id),e},e.prototype.createTable=function(){return this.geoPackage.getTableCreator().createExtendedRelations()},e.prototype.getBaseTables=function(){for(var t=[],e=this.queryForColumns("base_table_name"),n=0;n=t.length&&(t=void 0),{value:t&&t[r++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.RelatedTablesExtension=void 0;var s=n(8140),u=n(624),l=n(7502),c=n(6366),h=n(2702),f=n(4599),p=n(233),d=n(6302),y=n(1447),m=n(8904),g=n(8483),_=n(5897),b=n(8572),v=n(7817),T=n(7403),E=n(362),w=n(8008),x=n(2071),C=n(1394),M=function(t){function e(e){var n=t.call(this,e)||this;return n.extendedRelationDao=e.extendedRelationDao,n}return o(e,t),e.prototype.getOrCreateExtension=function(){var t=this.getOrCreate(e.EXTENSION_NAME,"gpkgext_relations",void 0,e.EXTENSION_RELATED_TABLES_DEFINITION,u.Extension.READ_WRITE);return this.extendedRelationDao.createTable(),t},e.prototype.getOrCreateMappingTable=function(t){return this.getOrCreateExtension(),this.getOrCreate(e.EXTENSION_NAME,t,void 0,e.EXTENSION_RELATED_TABLES_DEFINITION,u.Extension.READ_WRITE)},e.prototype.setContents=function(t){var e=this.geoPackage.contentsDao.queryForId(t.getTableName());return t.setContents(e)},e.prototype.getUserDao=function(t){return y.UserCustomDao.readTable(this.geoPackage,t)},e.prototype.getMappingDao=function(t){var e;return e=t instanceof v.ExtendedRelation?t.mapping_table_name:t,new d.UserMappingDao(this.getUserDao(e),this.geoPackage)},e.prototype.getRelationships=function(t){return this.extendedRelationDao.isTableExists()?t?this.geoPackage.extendedRelationDao.getBaseTableRelations(t):this.extendedRelationDao.queryForAll():[]},e.prototype.hasRelations=function(t,e,n){var r=[];return this.extendedRelationDao.isTableExists()&&(r=this.extendedRelationDao.getRelations(t,e,n)),!!r.length},e.prototype.getRelatedRows=function(t,e){for(var n=this.getRelationships(t),r=0;r{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.RelationType=void 0;var r=n(9971),i=function(){function t(t,e){this.name=t,this.dataType=e;}return t.fromName=function(e){return t[e.toUpperCase()]},t.FEATURES=new t("features",r.ContentsDataType.FEATURES),t.SIMPLE_ATTRIBUTES=new t("simple_attributes",r.ContentsDataType.ATTRIBUTES),t.MEDIA=new t("media",r.ContentsDataType.ATTRIBUTES),t.ATTRIBUTES=new t("attributes",r.ContentsDataType.ATTRIBUTES),t.TILES=new t("tiles",r.ContentsDataType.TILES),t}();e.RelationType=i;},2702:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);});Object.defineProperty(e,"__esModule",{value:!0}),e.SimpleAttributesDao=void 0;var o=n(4668),a=n(7374),s=function(t){function e(e,n){return t.call(this,e,n)||this}return i(e,t),e.prototype.newRow=function(t,e){return new a.SimpleAttributesRow(this.table,t,e)},Object.defineProperty(e.prototype,"table",{get:function(){return this._table},enumerable:!1,configurable:!0}),e.prototype.getRows=function(t){for(var e=[],n=0;n-1))throw n;this.geoPackage.connection.run('DROP TABLE IF EXISTS "rtree_'+t+"_"+e+'_node"'),this.geoPackage.connection.run('DROP TABLE IF EXISTS "rtree_'+t+"_"+e+'_parent"'),this.geoPackage.connection.run('DROP TABLE IF EXISTS "rtree_'+t+"_"+e+'_rowid"'),this.geoPackage.connection.run("PRAGMA writable_schema = ON"),this.geoPackage.connection.run('DELETE FROM sqlite_master WHERE type = "table" AND name = "rtree_'+t+"_"+e+'"'),this.geoPackage.connection.run("PRAGMA writable_schema = OFF");}},e.prototype.dropTriggersByFeatureTable=function(t){this.dropTriggers(t.getTableName(),t.getGeometryColumnName());},e.prototype.dropTriggers=function(t,e){var n=this.has(t,e);return n&&this.dropAllTriggers(t,e),n},e.prototype.dropAllTriggersByFeatureTable=function(t){this.dropAllTriggers(t.getTableName(),t.getGeometryColumnName());},e.prototype.dropAllTriggers=function(t,e){this.dropInsertTrigger(t,e),this.dropUpdate1Trigger(t,e),this.dropUpdate2Trigger(t,e),this.dropUpdate3Trigger(t,e),this.dropUpdate4Trigger(t,e),this.dropDeleteTrigger(t,e);},e.prototype.dropInsertTrigger=function(t,n){this.dropTrigger(t,n,e.TRIGGER_INSERT_NAME);},e.prototype.dropUpdate1Trigger=function(t,n){this.dropTrigger(t,n,e.TRIGGER_UPDATE1_NAME);},e.prototype.dropUpdate2Trigger=function(t,n){this.dropTrigger(t,n,e.TRIGGER_UPDATE2_NAME);},e.prototype.dropUpdate3Trigger=function(t,n){this.dropTrigger(t,n,e.TRIGGER_UPDATE3_NAME);},e.prototype.dropUpdate4Trigger=function(t,n){this.dropTrigger(t,n,e.TRIGGER_UPDATE4_NAME);},e.prototype.dropDeleteTrigger=function(t,n){this.dropTrigger(t,n,e.TRIGGER_DELETE_NAME);},e.prototype.dropTrigger=function(t,e,n){this.geoPackage.connection.run('DROP TRIGGER IF EXISTS "rtree_'+t+"_"+e+"_"+n+'"');},e.TRIGGER_INSERT_NAME="insert",e.TRIGGER_UPDATE1_NAME="update1",e.TRIGGER_UPDATE2_NAME="update2",e.TRIGGER_UPDATE3_NAME="update3",e.TRIGGER_UPDATE4_NAME="update4",e.TRIGGER_DELETE_NAME="delete",e}(a.BaseExtension);e.RTreeIndex=h;},735:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);});Object.defineProperty(e,"__esModule",{value:!0}),e.RTreeIndexDao=void 0;var o=n(4115),a=n(5859),s=n(8877),u=function(t){function e(n,r){var i=t.call(this,n)||this;return i.gpkgTableName=e.TABLE_NAME,i.featureDao=r,i}return i(e,t),e.prototype.createObject=function(t){return new a.RTreeIndex(this.geoPackage,this.featureDao)},e.prototype._generateGeometryEnvelopeQuery=function(t){var e=this.featureDao.gpkgTableName,n="",r=t.minX=")):(n+="(",n+=this.buildWhereWithFieldAndValue("minx",t.maxX,"<="),n+=" or ",n+=this.buildWhereWithFieldAndValue("maxx",t.minX,">="),n+=" or ",n+=this.buildWhereWithFieldAndValue("minx",t.minX,">="),n+=" or ",n+=this.buildWhereWithFieldAndValue("maxx",t.maxX,"<="),n+=")"),n+=" and ",n+=this.buildWhereWithFieldAndValue("miny",t.maxY,"<="),n+=" and ",n+=this.buildWhereWithFieldAndValue("maxy",t.minY,">=");var i=[];return i.push(t.maxX,t.minX),r||i.push(t.minX,t.maxX),i.push(t.maxY,t.minY),{join:'inner join "'+e+'" on "'+e+'".'+this.featureDao.idColumns[0]+' = "'+this.gpkgTableName+'".id',where:n,whereArgs:i,tableNameArr:['"'+e+'".*']}},e.prototype.queryWithGeometryEnvelope=function(t){var e=this._generateGeometryEnvelopeQuery(t);return this.queryJoinWhereWithArgs(e.join,e.where,e.whereArgs,e.tableNameArr)},e.prototype.countWithGeometryEnvelope=function(t){var e=this._generateGeometryEnvelopeQuery(t);return this.connection.get(s.SqliteQueryBuilder.buildCount("'"+this.gpkgTableName+"'",e.where),e.whereArgs).count},e.TABLE_NAME="rtree",e.PREFIX="rtree_",e.COLUMN_TABLE_NAME=e.TABLE_NAME+".table_name",e.COLUMN_GEOM_ID=e.TABLE_NAME+".geom_id",e.COLUMN_MIN_X=e.TABLE_NAME+".minx",e.COLUMN_MAX_X=e.TABLE_NAME+".maxx",e.COLUMN_MIN_Y=e.TABLE_NAME+".miny",e.COLUMN_MAX_Y=e.TABLE_NAME+".maxy",e.COLUMN_MIN_Z=e.TABLE_NAME+".minz",e.COLUMN_MAX_Z=e.TABLE_NAME+".maxz",e.COLUMN_MIN_M=e.TABLE_NAME+".minm",e.COLUMN_MAX_M=e.TABLE_NAME+".maxm",e.EXTENSION_NAME="gpkg_rtree_index",e.EXTENSION_RTREE_INDEX_AUTHOR="gpkg",e.EXTENSION_RTREE_INDEX_NAME_NO_AUTHOR="rtree_index",e.EXTENSION_RTREE_INDEX_DEFINITION="http://www.geopackage.org/spec/#extension_rtree",e}(o.Dao);e.RTreeIndexDao=u;},7523:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);});Object.defineProperty(e,"__esModule",{value:!0}),e.TileScalingExtension=void 0;var o=n(8140),a=n(624),s=n(7960),u=function(t){function e(e,n){var r=t.call(this,e)||this;return r.tableName=n,r.tileScalingDao=e.tileScalingDao,r}return i(e,t),e.prototype.getOrCreateExtension=function(){var t=this.getOrCreate(e.EXTENSION_NAME,this.tableName,null,e.EXTENSION_DEFINITION,a.Extension.READ_WRITE);return this.tileScalingDao.createTable(),t},e.prototype.createOrUpdate=function(t){return t.table_name=this.tableName,this.tileScalingDao.createOrUpdate(t)},Object.defineProperty(e.prototype,"dao",{get:function(){return this.tileScalingDao},enumerable:!1,configurable:!0}),e.prototype.has=function(){return this.hasExtension(e.EXTENSION_NAME,this.tableName,null)&&this.tileScalingDao.isTableExists()},e.prototype.removeExtension=function(){this.tileScalingDao.isTableExists()&&this.geoPackage.deleteTable(s.TileScalingDao.TABLE_NAME),this.extensionsDao.isTableExists()&&this.extensionsDao.deleteByExtension(e.EXTENSION_NAME);},e.EXTENSION_NAME="nga_tile_scaling",e.EXTENSION_AUTHOR="nga",e.EXTENSION_NAME_NO_AUTHOR="tile_scaling",e.EXTENSION_DEFINITION="http://ngageoint.github.io/GeoPackage/docs/extensions/tile-scaling.html",e}(o.BaseExtension);e.TileScalingExtension=u;},4301:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TileScaling=void 0;var r=n(2777),i=function(){function t(){}return t.prototype.isZoomIn=function(){return (null==this.zoom_in||this.zoom_in>0)&&null!=this.scaling_type&&this.scaling_type!=r.TileScalingType.OUT},t.prototype.isZoomOut=function(){return (null==this.zoom_out||this.zoom_out>0)&&null!=this.scaling_type&&this.scaling_type!=r.TileScalingType.IN},t}();e.TileScaling=i;},7960:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);});Object.defineProperty(e,"__esModule",{value:!0}),e.TileScalingDao=void 0;var o=n(4115),a=n(4301),s=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.gpkgTableName=e.TABLE_NAME,n.idColumns=[e.COLUMN_TABLE_NAME],n}return i(e,t),e.prototype.createObject=function(t){var e=new a.TileScaling;return t&&(e.table_name=t.table_name,e.scaling_type=t.scaling_type,e.zoom_in=t.zoom_in,e.zoom_out=t.zoom_out),e},e.prototype.createTable=function(){return this.geoPackage.getTableCreator().createTileScaling()},e.prototype.queryForTableName=function(t){var n=this.queryForAll(this.buildWhereWithFieldAndValue(e.COLUMN_TABLE_NAME,t),this.buildWhereArgs(t));return n.length>0?this.createObject(n[0]):null},e.prototype.deleteByTableName=function(t){return this.deleteWhere(this.buildWhereWithFieldAndValue(e.COLUMN_TABLE_NAME,t),this.buildWhereArgs(t))},e.TABLE_NAME="nga_tile_scaling",e.COLUMN_TABLE_NAME="table_name",e.COLUMN_SCALING_TYPE="scaling_type",e.COLUMN_ZOOM_IN="zoom_in",e.COLUMN_ZOOM_OUT="zoom_out",e}(o.Dao);e.TileScalingDao=s;},2777:(t,e)=>{"use strict";var n;Object.defineProperty(e,"__esModule",{value:!0}),e.TileScalingType=void 0,(n=e.TileScalingType||(e.TileScalingType={})).IN="in",n.OUT="out",n.IN_OUT="in_out",n.OUT_IN="out_in",n.CLOSEST_IN_OUT="closest_in_out",n.CLOSEST_OUT_IN="closest_out_in";},8116:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);});Object.defineProperty(e,"__esModule",{value:!0}),e.SchemaExtension=void 0;var o=n(8140),a=n(624),s=n(4941),u=n(7175),l=function(t){function e(e){return t.call(this,e)||this}return i(e,t),e.prototype.getOrCreateExtension=function(){var t=[];return t.push(this.getOrCreate(e.EXTENSION_NAME,s.DataColumnsDao.TABLE_NAME,null,e.EXTENSION_SCHEMA_DEFINITION,a.Extension.READ_WRITE)),t.push(this.getOrCreate(e.EXTENSION_NAME,u.DataColumnConstraintsDao.TABLE_NAME,null,e.EXTENSION_SCHEMA_DEFINITION,a.Extension.READ_WRITE)),t},e.prototype.has=function(){return this.hasExtensions(e.EXTENSION_NAME)},e.prototype.removeExtension=function(){this.geoPackage.isTable(s.DataColumnsDao.TABLE_NAME)&&this.geoPackage.dropTable(s.DataColumnsDao.TABLE_NAME),this.geoPackage.isTable(u.DataColumnConstraintsDao.TABLE_NAME)&&this.geoPackage.dropTable(u.DataColumnConstraintsDao.TABLE_NAME),this.extensionsDao.isTableExists()&&this.extensionsDao.deleteByExtension(e.EXTENSION_NAME);},e.EXTENSION_SCHEMA_AUTHOR="gpkg",e.EXTENSION_SCHEMA_NAME_NO_AUTHOR="schema",e.EXTENSION_NAME=e.EXTENSION_SCHEMA_AUTHOR+"_"+e.EXTENSION_SCHEMA_NAME_NO_AUTHOR,e.EXTENSION_SCHEMA_DEFINITION="http://www.geopackage.org/spec/#extension_schema",e}(o.BaseExtension);e.SchemaExtension=l;},612:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.FeatureStyle=void 0;var n=function(){function t(t,e){this.styleRow=t,this.iconRow=e;}return Object.defineProperty(t.prototype,"style",{get:function(){return this.styleRow},set:function(t){this.styleRow=t;},enumerable:!1,configurable:!0}),t.prototype.hasStyle=function(){return !!this.styleRow},Object.defineProperty(t.prototype,"icon",{get:function(){return this.iconRow},set:function(t){this.iconRow=t;},enumerable:!1,configurable:!0}),t.prototype.hasIcon=function(){return !!this.iconRow},t.prototype.useIcon=function(){return this.hasIcon()&&(!this.iconRow.isTableIcon()||!this.hasStyle()||this.styleRow.isTableStyle())},t}();e.FeatureStyle=n;},2752:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.FeatureStyles=void 0;e.FeatureStyles=function(t,e){void 0===t&&(t=null),void 0===e&&(e=null),this.styles=t,this.icons=e;};},6536:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.FeatureTableStyles=void 0;var r=n(2752),i=n(612),o=n(7924),a=n(4725),s=n(8412),u=n(9211),l=function(){function t(t,e){this.geoPackage=t,e instanceof s.FeatureTable?this.tableName=e.getTableName():this.tableName=e,this.featureStyleExtension=t.featureStyleExtension,this.cachedTableFeatureStyles=new r.FeatureStyles;}return t.prototype.getFeatureStyleExtension=function(){return this.featureStyleExtension},t.prototype.getTableName=function(){return this.tableName},t.prototype.has=function(){return this.featureStyleExtension.has(this.tableName)},t.prototype.createRelationships=function(){return this.featureStyleExtension.createRelationships(this.tableName)},t.prototype.hasRelationship=function(){return this.featureStyleExtension.hasRelationship(this.tableName)},t.prototype.createStyleRelationship=function(){return this.featureStyleExtension.createStyleRelationship(this.tableName)},t.prototype.hasStyleRelationship=function(){return this.featureStyleExtension.hasStyleRelationship(this.tableName)},t.prototype.createTableStyleRelationship=function(){return this.featureStyleExtension.createTableStyleRelationship(this.tableName)},t.prototype.hasTableStyleRelationship=function(){return this.featureStyleExtension.hasTableStyleRelationship(this.tableName)},t.prototype.createIconRelationship=function(){return this.featureStyleExtension.createIconRelationship(this.tableName)},t.prototype.hasIconRelationship=function(){return this.featureStyleExtension.hasIconRelationship(this.tableName)},t.prototype.createTableIconRelationship=function(){return this.featureStyleExtension.createTableIconRelationship(this.tableName)},t.prototype.hasTableIconRelationship=function(){return this.featureStyleExtension.hasTableIconRelationship(this.tableName)},t.prototype.deleteRelationships=function(){return this.featureStyleExtension.deleteRelationships(this.tableName)},t.prototype.deleteStyleRelationship=function(){return this.featureStyleExtension.deleteStyleRelationship(this.tableName)},t.prototype.deleteTableStyleRelationship=function(){return this.featureStyleExtension.deleteTableStyleRelationship(this.tableName)},t.prototype.deleteIconRelationship=function(){return this.featureStyleExtension.deleteIconRelationship(this.tableName)},t.prototype.deleteTableIconRelationship=function(){return this.featureStyleExtension.deleteTableIconRelationship(this.tableName)},t.prototype.getStyleMappingDao=function(){return this.featureStyleExtension.getStyleMappingDao(this.tableName)},t.prototype.getTableStyleMappingDao=function(){return this.featureStyleExtension.getTableStyleMappingDao(this.tableName)},t.prototype.getIconMappingDao=function(){return this.featureStyleExtension.getIconMappingDao(this.tableName)},t.prototype.getTableIconMappingDao=function(){return this.featureStyleExtension.getTableIconMappingDao(this.tableName)},t.prototype.getStyleDao=function(){return this.featureStyleExtension.getStyleDao()},t.prototype.getIconDao=function(){return this.featureStyleExtension.getIconDao()},t.prototype.getTableFeatureStyles=function(){return this.featureStyleExtension.getTableFeatureStyles(this.tableName)},t.prototype.getTableStyles=function(){return this.featureStyleExtension.getTableStyles(this.tableName)},t.prototype.getCachedTableStyles=function(){var t=this.cachedTableFeatureStyles.styles;return null===t&&(null===(t=this.getTableStyles())&&(t=new o.Styles(!0)),this.cachedTableFeatureStyles.styles=t),t.isEmpty()&&(t=null),t},t.prototype.getTableStyle=function(t){return this.featureStyleExtension.getTableStyle(this.tableName,t)},t.prototype.getTableStyleDefault=function(){return this.featureStyleExtension.getTableStyleDefault(this.tableName)},t.prototype.getTableIcons=function(){return this.featureStyleExtension.getTableIcons(this.tableName)},t.prototype.getCachedTableIcons=function(){var t=this.cachedTableFeatureStyles.icons;return null===t&&(null===(t=this.getTableIcons())&&(t=new a.Icons(!0)),this.cachedTableFeatureStyles.icons=t),t.isEmpty()&&(t=null),t},t.prototype.getTableIcon=function(t){return this.featureStyleExtension.getTableIcon(this.tableName,t)},t.prototype.getTableIconDefault=function(){return this.featureStyleExtension.getTableIconDefault(this.tableName)},t.prototype.getFeatureStylesForFeatureRow=function(t){return this.featureStyleExtension.getFeatureStylesForFeatureRow(t)},t.prototype.getFeatureStyles=function(t){return this.featureStyleExtension.getFeatureStyles(this.tableName,t)},t.prototype.getFeatureStyleForFeatureRow=function(t){return this.getFeatureStyleForFeatureRowAndGeometryType(t,u.GeometryType.fromName(t.geometryType.toUpperCase()))},t.prototype.getFeatureStyleForFeatureRowAndGeometryType=function(t,e){return this.getFeatureStyle(t.id,e)},t.prototype.getFeatureStyleDefaultForFeatureRow=function(t){return this.getFeatureStyle(t.id,null)},t.prototype.getFeatureStyle=function(t,e){var n=null,r=this.getStyle(t,e),o=this.getIcon(t,e);return null==r&&null==o||(n=new i.FeatureStyle(r,o)),n},t.prototype.getFeatureStyleDefault=function(t){return this.getFeatureStyle(t,null)},t.prototype.getStylesForFeatureRow=function(t){return this.featureStyleExtension.getStylesForFeatureRow(t)},t.prototype.getStylesForFeatureId=function(t){return this.featureStyleExtension.getStylesForFeatureId(this.tableName,t)},t.prototype.getStyleForFeatureRow=function(t){return this.getStyleForFeatureRowAndGeometryType(t,u.GeometryType.fromName(t.geometryType.toUpperCase()))},t.prototype.getStyleForFeatureRowAndGeometryType=function(t,e){return this.getStyle(t.id,e)},t.prototype.getStyleDefaultForFeatureRow=function(t){return this.getStyle(t.id,null)},t.prototype.getStyle=function(t,e){var n=this.featureStyleExtension.getStyle(this.tableName,t,e,!1);if(null===n){var r=this.getCachedTableStyles();null!==r&&(n=r.getStyle(e));}return n},t.prototype.getStyleDefault=function(t){return this.getStyle(t,null)},t.prototype.getIconsForFeatureRow=function(t){return this.featureStyleExtension.getIconsForFeatureRow(t)},t.prototype.getIconsForFeatureId=function(t){return this.featureStyleExtension.getIconsForFeatureId(this.tableName,t)},t.prototype.getIconForFeatureRow=function(t){return this.getIconForFeatureRowAndGeometryType(t,u.GeometryType.fromName(t.geometryType.toUpperCase()))},t.prototype.getIconForFeatureRowAndGeometryType=function(t,e){return this.getIcon(t.id,e)},t.prototype.getIconDefaultForFeatureRow=function(t){return this.getIcon(t.id,null)},t.prototype.getIcon=function(t,e){var n=this.featureStyleExtension.getIcon(this.tableName,t,e,!1);if(null===n){var r=this.getCachedTableIcons();null!==r&&(n=r.getIcon(e));}return n},t.prototype.getIconDefault=function(t){return this.getIcon(t,null)},t.prototype.setTableFeatureStyles=function(t){var e=this.featureStyleExtension.setTableFeatureStyles(this.tableName,t);return this.clearCachedTableFeatureStyles(),e},t.prototype.setTableStyles=function(t){var e=this.featureStyleExtension.setTableStyles(this.tableName,t);return this.clearCachedTableStyles(),e},t.prototype.setTableStyleDefault=function(t){var e=this.featureStyleExtension.setTableStyleDefault(this.tableName,t);return this.clearCachedTableStyles(),e},t.prototype.setTableStyle=function(t,e){var n=this.featureStyleExtension.setTableStyle(this.tableName,t,e);return this.clearCachedTableStyles(),n},t.prototype.setTableIcons=function(t){var e=this.featureStyleExtension.setTableIcons(this.tableName,t);return this.clearCachedTableIcons(),e},t.prototype.setTableIconDefault=function(t){var e=this.featureStyleExtension.setTableIconDefault(this.tableName,t);return this.clearCachedTableIcons(),e},t.prototype.setTableIcon=function(t,e){var n=this.featureStyleExtension.setTableIcon(this.tableName,t,e);return this.clearCachedTableIcons(),n},t.prototype.setFeatureStylesForFeatureRow=function(t,e){return this.featureStyleExtension.setFeatureStylesForFeatureRow(t,e)},t.prototype.setFeatureStyles=function(t,e){return this.featureStyleExtension.setFeatureStyles(this.tableName,t,e)},t.prototype.setFeatureStyleForFeatureRow=function(t,e){return this.featureStyleExtension.setFeatureStyleForFeatureRow(t,e)},t.prototype.setFeatureStyleForFeatureRowAndGeometryType=function(t,e,n){return this.featureStyleExtension.setFeatureStyleForFeatureRowAndGeometryType(t,e,n)},t.prototype.setFeatureStyleDefaultForFeatureRow=function(t,e){return this.featureStyleExtension.setFeatureStyleDefaultForFeatureRow(t,e)},t.prototype.setFeatureStyle=function(t,e,n){return this.featureStyleExtension.setFeatureStyle(this.tableName,t,e,n)},t.prototype.setFeatureStyleDefault=function(t,e){return this.featureStyleExtension.setFeatureStyleDefault(this.tableName,t,e)},t.prototype.setStylesForFeatureRow=function(t,e){return this.featureStyleExtension.setStylesForFeatureRow(t,e)},t.prototype.setStyles=function(t,e){return this.featureStyleExtension.setStyles(this.tableName,t,e)},t.prototype.setStyleForFeatureRow=function(t,e){return this.featureStyleExtension.setStyleForFeatureRow(t,e)},t.prototype.setStyleForFeatureRowAndGeometryType=function(t,e,n){return this.featureStyleExtension.setStyleForFeatureRowAndGeometryType(t,e,n)},t.prototype.setStyleDefaultForFeatureRow=function(t,e){return this.featureStyleExtension.setStyleDefaultForFeatureRow(t,e)},t.prototype.setStyle=function(t,e,n){return this.featureStyleExtension.setStyle(this.tableName,t,e,n)},t.prototype.setStyleDefault=function(t,e){return this.featureStyleExtension.setStyleDefault(this.tableName,t,e)},t.prototype.setIconsForFeatureRow=function(t,e){return this.featureStyleExtension.setIconsForFeatureRow(t,e)},t.prototype.setIcons=function(t,e){return this.featureStyleExtension.setIcons(this.tableName,t,e)},t.prototype.setIconForFeatureRow=function(t,e){return this.featureStyleExtension.setIconForFeatureRow(t,e)},t.prototype.setIconForFeatureRowAndGeometryType=function(t,e,n){return this.featureStyleExtension.setIconForFeatureRowAndGeometryType(t,e,n)},t.prototype.setIconDefaultForFeatureRow=function(t,e){return this.featureStyleExtension.setIconDefaultForFeatureRow(t,e)},t.prototype.setIcon=function(t,e,n){return this.featureStyleExtension.setIcon(this.tableName,t,e,n)},t.prototype.setIconDefault=function(t,e){return this.featureStyleExtension.setIconDefault(this.tableName,t,e)},t.prototype.deleteAllFeatureStyles=function(){var t=this.featureStyleExtension.deleteAllFeatureStyles(this.tableName);return this.clearCachedTableFeatureStyles(),t},t.prototype.deleteAllStyles=function(){var t=this.featureStyleExtension.deleteAllStyles(this.tableName);return this.clearCachedTableStyles(),t},t.prototype.deleteAllIcons=function(){var t=this.featureStyleExtension.deleteAllIcons(this.tableName);return this.clearCachedTableIcons(),t},t.prototype.deleteTableFeatureStyles=function(){var t=this.featureStyleExtension.deleteTableFeatureStyles(this.tableName);return this.clearCachedTableFeatureStyles(),t},t.prototype.deleteTableStyles=function(){var t=this.featureStyleExtension.deleteTableStyles(this.tableName);return this.clearCachedTableStyles(),t},t.prototype.deleteTableStyleDefault=function(){var t=this.featureStyleExtension.deleteTableStyleDefault(this.tableName);return this.clearCachedTableStyles(),t},t.prototype.deleteTableStyle=function(t){var e=this.featureStyleExtension.deleteTableStyle(this.tableName,t);return this.clearCachedTableStyles(),e},t.prototype.deleteTableIcons=function(){var t=this.featureStyleExtension.deleteTableIcons(this.tableName);return this.clearCachedTableIcons(),t},t.prototype.deleteTableIconDefault=function(){var t=this.featureStyleExtension.deleteTableIconDefault(this.tableName);return this.clearCachedTableIcons(),t},t.prototype.deleteTableIcon=function(t){var e=this.featureStyleExtension.deleteTableIcon(this.tableName,t);return this.clearCachedTableIcons(),e},t.prototype.clearCachedTableFeatureStyles=function(){this.cachedTableFeatureStyles.styles=null,this.cachedTableFeatureStyles.icons=null;},t.prototype.clearCachedTableStyles=function(){this.cachedTableFeatureStyles.styles=null;},t.prototype.clearCachedTableIcons=function(){this.cachedTableFeatureStyles.icons=null;},t.prototype.deleteFeatureStyles=function(){return this.featureStyleExtension.deleteFeatureStyles(this.tableName)},t.prototype.deleteStyles=function(){return this.featureStyleExtension.deleteStyles(this.tableName)},t.prototype.deleteStylesForFeatureRow=function(t){return this.featureStyleExtension.deleteStylesForFeatureRow(t)},t.prototype.deleteStylesForFeatureId=function(t){return this.featureStyleExtension.deleteStylesForFeatureId(this.tableName,t)},t.prototype.deleteStyleDefaultForFeatureRow=function(t){return this.featureStyleExtension.deleteStyleDefaultForFeatureRow(t)},t.prototype.deleteStyleDefault=function(t){return this.featureStyleExtension.deleteStyleDefault(this.tableName,t)},t.prototype.deleteStyleForFeatureRow=function(t){return this.featureStyleExtension.deleteStyleForFeatureRow(t)},t.prototype.deleteStyleForFeatureRowAndGeometryType=function(t,e){return this.featureStyleExtension.deleteStyleForFeatureRowAndGeometryType(t,e)},t.prototype.deleteStyle=function(t,e){return this.featureStyleExtension.deleteStyle(this.tableName,t,e)},t.prototype.deleteStyleAndMappingsByStyleRow=function(t){return this.featureStyleExtension.deleteStyleAndMappingsByStyleRow(this.tableName,t)},t.prototype.deleteStyleAndMappingsByStyleRowId=function(t){return this.featureStyleExtension.deleteStyleAndMappingsByStyleRowId(this.tableName,t)},t.prototype.deleteIcons=function(){return this.featureStyleExtension.deleteIcons(this.tableName)},t.prototype.deleteIconsForFeatureRow=function(t){return this.featureStyleExtension.deleteIconsForFeatureRow(t)},t.prototype.deleteIconsForFeatureId=function(t){return this.featureStyleExtension.deleteIconsForFeatureId(this.tableName,t)},t.prototype.deleteIconDefaultForFeatureRow=function(t){return this.featureStyleExtension.deleteIconDefaultForFeatureRow(t)},t.prototype.deleteIconDefault=function(t){return this.featureStyleExtension.deleteIconDefault(this.tableName,t)},t.prototype.deleteIconForFeatureRow=function(t){return this.featureStyleExtension.deleteIconForFeatureRow(t)},t.prototype.deleteIconForFeatureRowAndGeometryType=function(t,e){return this.featureStyleExtension.deleteIconForFeatureRowAndGeometryType(t,e)},t.prototype.deleteIcon=function(t,e){return this.featureStyleExtension.deleteIcon(this.tableName,t,e)},t.prototype.deleteIconAndMappingsByIconRow=function(t){return this.featureStyleExtension.deleteIconAndMappingsByIconRow(this.tableName,t)},t.prototype.deleteIconAndMappingsByIconRowId=function(t){return this.featureStyleExtension.deleteIconAndMappingsByIconRowId(this.tableName,t)},t.prototype.getAllTableStyleIds=function(){return this.featureStyleExtension.getAllTableStyleIds(this.tableName)},t.prototype.getAllTableIconIds=function(){return this.featureStyleExtension.getAllTableIconIds(this.tableName)},t.prototype.getAllStyleIds=function(){return this.featureStyleExtension.getAllStyleIds(this.tableName)},t.prototype.getAllIconIds=function(){return this.featureStyleExtension.getAllIconIds(this.tableName)},t}();e.FeatureTableStyles=l;},8600:function(t,e,n){"use strict";var r=this&&this.__awaiter||function(t,e,n,r){return new(n||(n=Promise))((function(i,o){function a(t){try{u(r.next(t));}catch(t){o(t);}}function s(t){try{u(r.throw(t));}catch(t){o(t);}}function u(t){var e;t.done?i(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e);}))).then(a,s);}u((r=r.apply(t,e||[])).next());}))},i=this&&this.__generator||function(t,e){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(s){return function(u){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;o&&(o=0,s[0]&&(a=0)),a;)try{if(n=1,r&&(i=2&s[0]?r.return:s[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,s[1])).done)return i;switch(r=0,i&&(s=[2&s[0],i.value]),s[0]){case 0:case 1:i=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,r=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!((i=(i=a.trys).length>0&&i[i.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!i||s[1]>i[0]&&s[1]-1&&this.accessHistory.splice(n,1),this.accessHistory.push(t);}return e},t.prototype.putIconForIconRow=function(t,e){return this.put(t.id,e)},t.prototype.put=function(t,e){var n=this.iconCache[t];if(this.iconCache[t]=e,n){var r=this.accessHistory.indexOf(t);r>-1&&this.accessHistory.splice(r,1);}if(this.accessHistory.push(t),Object.keys(this.iconCache).length>this.cacheSize){var i=this.accessHistory.shift();if(i){var a=this.iconCache[i];a&&o.Canvas.disposeImage(a),delete this.iconCache[i];}}return n},t.prototype.removeIconForIconRow=function(t){return this.remove(t.id)},t.prototype.remove=function(t){var e=this.iconCache[t];if(delete this.iconCache[t],e){var n=this.accessHistory.indexOf(t);n>-1&&this.accessHistory.splice(n,1);}return e},t.prototype.clear=function(){var t=this;Object.keys(this.iconCache).forEach((function(e){var n=t.iconCache[e];o.Canvas.disposeImage(n);})),this.iconCache={},this.accessHistory=[];},t.prototype.resize=function(t){this.cacheSize=t;var e=Object.keys(this.iconCache);if(e.length>t)for(var n=e.length-t,r=0;r1))throw new Error("Anchor must be set inclusively between 0.0 and 1.0, invalid value: "+t);return !0},e.prototype.isTableIcon=function(){return this.tableIcon},e.prototype.setTableIcon=function(t){this.tableIcon=t;},e}(o.MediaRow);e.IconRow=s;},2015:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);});Object.defineProperty(e,"__esModule",{value:!0}),e.IconTable=void 0;var o=n(6366),a=n(7319),s=n(5865),u=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.TABLE_TYPE="media",e}return i(e,t),e.prototype.getNameColumnIndex=function(){return this.getColumnIndex(e.COLUMN_NAME)},e.prototype.getNameColumn=function(){return this.getColumnWithColumnName(e.COLUMN_NAME)},e.prototype.getDescriptionColumnIndex=function(){return this.getColumnIndex(e.COLUMN_DESCRIPTION)},e.prototype.getDescriptionColumn=function(){return this.getColumnWithColumnName(e.COLUMN_DESCRIPTION)},e.prototype.getWidthColumnIndex=function(){return this.getColumnIndex(e.COLUMN_WIDTH)},e.prototype.getWidthColumn=function(){return this.getColumnWithColumnName(e.COLUMN_WIDTH)},e.prototype.getHeightColumnIndex=function(){return this.getColumnIndex(e.COLUMN_HEIGHT)},e.prototype.getHeightColumn=function(){return this.getColumnWithColumnName(e.COLUMN_HEIGHT)},e.prototype.getAnchorUColumnIndex=function(){return this.getColumnIndex(e.COLUMN_ANCHOR_U)},e.prototype.getAnchorUColumn=function(){return this.getColumnWithColumnName(e.COLUMN_ANCHOR_U)},e.prototype.getAnchorVColumnIndex=function(){return this.getColumnIndex(e.COLUMN_ANCHOR_V)},e.prototype.getAnchorVColumn=function(){return this.getColumnWithColumnName(e.COLUMN_ANCHOR_V)},e.create=function(){return new e(e.TABLE_NAME,e.createColumns(),e.requiredColumns())},e.createRequiredColumns=function(){return o.MediaTable.createRequiredColumns()},e.requiredColumns=function(){return o.MediaTable.requiredColumns()},e.createColumns=function(){var t=e.createRequiredColumns(),n=t.length;return t.push(s.UserColumn.createColumn(n++,e.COLUMN_NAME,a.GeoPackageDataType.TEXT,!1)),t.push(s.UserColumn.createColumn(n++,e.COLUMN_DESCRIPTION,a.GeoPackageDataType.TEXT,!1)),t.push(s.UserColumn.createColumn(n++,e.COLUMN_WIDTH,a.GeoPackageDataType.REAL,!1)),t.push(s.UserColumn.createColumn(n++,e.COLUMN_HEIGHT,a.GeoPackageDataType.REAL,!1)),t.push(s.UserColumn.createColumn(n++,e.COLUMN_ANCHOR_U,a.GeoPackageDataType.REAL,!1)),t.push(s.UserColumn.createColumn(n,e.COLUMN_ANCHOR_V,a.GeoPackageDataType.REAL,!1)),t},e.TABLE_NAME="nga_icon",e.COLUMN_NAME="name",e.COLUMN_DESCRIPTION="description",e.COLUMN_WIDTH="width",e.COLUMN_HEIGHT="height",e.COLUMN_ANCHOR_U="anchor_u",e.COLUMN_ANCHOR_V="anchor_v",e}(o.MediaTable);e.IconTable=u;},4725:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Icons=void 0;var n=function(){function t(t){void 0===t&&(t=!1),this.defaultIcon=null,this.icons=new Map,this.tableIcons=t;}return t.prototype.setDefault=function(t){null!=t&&t.setTableIcon(this.tableIcons),this.defaultIcon=t;},t.prototype.getDefault=function(){return this.defaultIcon},t.prototype.setIcon=function(t,e){void 0===e&&(e=null),null!==e?null!=t?(t.setTableIcon(this.tableIcons),this.icons.set(e,t)):this.icons.delete(e):this.setDefault(t);},t.prototype.getIcon=function(t){void 0===t&&(t=null);var e=null;return null!==t&&this.icons.has(t)&&(e=this.icons.get(t)),null!=e&&null!==t||(e=this.getDefault()),e},t.prototype.isEmpty=function(){return 0===this.icons.size&&null===this.defaultIcon},t.prototype.getGeometryTypes=function(){return Array.from(this.icons.keys())},t}();e.Icons=n;},8479:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);});Object.defineProperty(e,"__esModule",{value:!0}),e.FeatureStyleExtension=void 0;var o=n(8140),a=n(624),s=n(7092),u=n(2015),l=n(9529),c=n(3934),h=n(3237),f=n(8138),p=n(3410),d=n(1553),y=n(8412),m=n(2752),g=n(612),_=n(7924),b=n(4725),v=n(362),T=n(9211),E=function(t){function e(e){var n=t.call(this,e)||this;return n.relatedTablesExtension=e.relatedTablesExtension,n.contentsIdExtension=e.contentsIdExtension,n}return i(e,t),e.prototype.getOrCreateExtension=function(t){return this.getOrCreate(e.EXTENSION_NAME,this.getFeatureTableName(t),null,e.EXTENSION_DEFINITION,a.Extension.READ_WRITE)},e.prototype.has=function(t){return this.hasExtension(e.EXTENSION_NAME,this.getFeatureTableName(t),null)},e.prototype.getTables=function(){var t=[];if(this.extensionsDao.isTableExists())for(var n=this.extensionsDao.queryAllByExtension(e.EXTENSION_NAME),r=0;r1))throw new Error("Opacity must be set inclusively between 0.0 and 1.0, invalid value: "+t);return !0},e.prototype.createColor=function(t,e){var n="#000000";if(null!==t&&(n=t),null!==e){var r=Math.round(255*e).toString(16);1===r.length&&(r="0"+r),n+=r;}return n.toUpperCase()},e.prototype._hasColor=function(t,e){return null!==t||null!==e},e.prototype.isTableStyle=function(){return this.tableStyle},e.prototype.setTableStyle=function(t){this.tableStyle=t;},e.colorPattern=/^#([0-9a-fA-F]{3}){1,2}$/,e}(n(6861).AttributesRow);e.StyleRow=o;},3934:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);});Object.defineProperty(e,"__esModule",{value:!0}),e.StyleTable=void 0;var o=n(3931),a=n(8483),s=n(5865),u=n(7319),l=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.TABLE_TYPE="media",e.data_type=a.RelationType.ATTRIBUTES.dataType,e.relation_name=a.RelationType.ATTRIBUTES.name,e}return i(e,t),e.prototype.getNameColumnIndex=function(){return this.getColumnIndex(e.COLUMN_NAME)},e.prototype.getNameColumn=function(){return this.getColumnWithColumnName(e.COLUMN_NAME)},e.prototype.getDescriptionColumnIndex=function(){return this.getColumnIndex(e.COLUMN_DESCRIPTION)},e.prototype.getDescriptionColumn=function(){return this.getColumnWithColumnName(e.COLUMN_DESCRIPTION)},e.prototype.getColorColumnIndex=function(){return this.getColumnIndex(e.COLUMN_COLOR)},e.prototype.getColorColumn=function(){return this.getColumnWithColumnName(e.COLUMN_COLOR)},e.prototype.getOpacityColumnIndex=function(){return this.getColumnIndex(e.COLUMN_OPACITY)},e.prototype.getOpacityColumn=function(){return this.getColumnWithColumnName(e.COLUMN_OPACITY)},e.prototype.getWidthColumnIndex=function(){return this.getColumnIndex(e.COLUMN_WIDTH)},e.prototype.getWidthColumn=function(){return this.getColumnWithColumnName(e.COLUMN_WIDTH)},e.prototype.getFillColorColumnIndex=function(){return this.getColumnIndex(e.COLUMN_FILL_COLOR)},e.prototype.getFillColorColumn=function(){return this.getColumnWithColumnName(e.COLUMN_FILL_COLOR)},e.prototype.getFillOpacityColumnIndex=function(){return this.getColumnIndex(e.COLUMN_FILL_OPACITY)},e.prototype.getFillOpacityColumn=function(){return this.getColumnWithColumnName(e.COLUMN_FILL_OPACITY)},e.create=function(){return new e(e.TABLE_NAME,e.createColumns())},e.createColumns=function(){var t=[],n=0;return t.push(s.UserColumn.createPrimaryKeyColumn(n++,e.COLUMN_ID)),t.push(s.UserColumn.createColumn(n++,e.COLUMN_NAME,u.GeoPackageDataType.TEXT,!1)),t.push(s.UserColumn.createColumn(n++,e.COLUMN_DESCRIPTION,u.GeoPackageDataType.TEXT,!1)),t.push(s.UserColumn.createColumn(n++,e.COLUMN_COLOR,u.GeoPackageDataType.TEXT,!1)),t.push(s.UserColumn.createColumn(n++,e.COLUMN_OPACITY,u.GeoPackageDataType.REAL,!1)),t.push(s.UserColumn.createColumn(n++,e.COLUMN_WIDTH,u.GeoPackageDataType.REAL,!1)),t.push(s.UserColumn.createColumn(n++,e.COLUMN_FILL_COLOR,u.GeoPackageDataType.TEXT,!1)),t.push(s.UserColumn.createColumn(7,e.COLUMN_FILL_OPACITY,u.GeoPackageDataType.REAL,!1)),t},e.TABLE_NAME="nga_style",e.COLUMN_ID="id",e.COLUMN_NAME="name",e.COLUMN_DESCRIPTION="description",e.COLUMN_COLOR="color",e.COLUMN_OPACITY="opacity",e.COLUMN_WIDTH="width",e.COLUMN_FILL_COLOR="fill_color",e.COLUMN_FILL_OPACITY="fill_opacity",e}(o.AttributesTable);e.StyleTable=l;},1553:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);});Object.defineProperty(e,"__esModule",{value:!0}),e.StyleTableReader=void 0;var o=n(464),a=n(3934),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.createTable=function(t,e){return new a.StyleTable(t,e)},e}(o.AttributesTableReader);e.StyleTableReader=s;},7924:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Styles=void 0;var n=function(){function t(t){void 0===t&&(t=!1),this.defaultStyle=null,this.styles=new Map,this.tableStyles=t;}return t.prototype.setDefault=function(t){null!=t&&t.setTableStyle(this.tableStyles),this.defaultStyle=t;},t.prototype.getDefault=function(){return this.defaultStyle},t.prototype.setStyle=function(t,e){void 0===e&&(e=null),null!==e?null!=t?(t.setTableStyle(this.tableStyles),this.styles.set(e,t)):this.styles.delete(e):this.setDefault(t);},t.prototype.getStyle=function(t){void 0===t&&(t=null);var e=null;return null!==t&&(e=this.styles.get(t)),null!=e&&null!==t||(e=this.getDefault()),e},t.prototype.isEmpty=function(){return 0===this.styles.size&&null===this.defaultStyle},t.prototype.getGeometryTypes=function(){return Array.from(this.styles.keys())},t}();e.Styles=n;},7719:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);});Object.defineProperty(e,"__esModule",{value:!0}),e.WebPExtension=void 0;var o=n(8140),a=n(624),s=function(t){function e(e,n){var r=t.call(this,e)||this;return r.tableName=n,r}return i(e,t),e.prototype.getOrCreateExtension=function(){return this.getOrCreate(e.EXTENSION_NAME,this.tableName,"tile_data",e.EXTENSION_WEBP_DEFINITION,a.Extension.READ_WRITE)},e.EXTENSION_NAME="gpkg_webp",e.EXTENSION_WEBP_AUTHOR="gpkg",e.EXTENSION_WEBP_NAME_NO_AUTHOR="webp",e.EXTENSION_WEBP_DEFINITION="http://www.geopackage.org/spec/#extension_webp",e}(o.BaseExtension);e.WebPExtension=s;},812:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.GeometryColumns=void 0;var r=n(9971),i=function(){function t(){}return Object.defineProperty(t.prototype,"geometryType",{get:function(){return this.geometry_type_name},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"id",{get:function(){return "".concat(this.table_name," ").concat(this.column_name)},enumerable:!1,configurable:!0}),t.prototype.setContents=function(t){if(null!=t){var e=t.data_type;if(null==e||e!==r.ContentsDataType.FEATURES)throw new Error("The Contents of a GeometryColumns must have a data type of "+r.ContentsDataType.nameFromType(r.ContentsDataType.FEATURES));this.table_name=t.table_name;}else this.table_name=null;},t.TABLE_NAME="tableName",t.COLUMN_NAME="columnName",t.GEOMETRY_TYPE_NAME="geometryTypeName",t.SRS_ID="srsId",t.Z="z",t.M="m",t}();e.GeometryColumns=i;},1968:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);}),o=this&&this.__values||function(t){var e="function"==typeof Symbol&&Symbol.iterator,n=e&&t[e],r=0;if(n)return n.call(t);if(t&&"number"==typeof t.length)return {next:function(){return t&&r>=t.length&&(t=void 0),{value:t&&t[r++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.GeometryColumnsDao=void 0;var a=n(4115),s=n(812),u=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.gpkgTableName="gpkg_geometry_columns",n.idColumns=[e.COLUMN_ID_1,e.COLUMN_ID_2],n.columns=[e.COLUMN_TABLE_NAME,e.COLUMN_COLUMN_NAME,e.COLUMN_GEOMETRY_TYPE_NAME,e.COLUMN_SRS_ID,e.COLUMN_Z,e.COLUMN_M],n}return i(e,t),e.prototype.createObject=function(t){var e=new s.GeometryColumns;return t&&(e.table_name=t.table_name,e.column_name=t.column_name,e.geometry_type_name=t.geometry_type_name,e.srs_id=t.srs_id,e.z=t.z,e.m=t.m),e},e.prototype.queryForTableName=function(t){var n=this.queryForAllEq(e.COLUMN_TABLE_NAME,t);if(n&&n.length)return this.createObject(n[0])},e.prototype.getFeatureTables=function(){var t,n,r=[];try{for(var i=o(this.connection.each("select "+e.COLUMN_TABLE_NAME+" from "+this.gpkgTableName)),a=i.next();!a.done;a=i.next()){var s=a.value;r.push(s[e.COLUMN_TABLE_NAME]);}}catch(e){t={error:e};}finally{try{a&&!a.done&&(n=i.return)&&n.call(i);}finally{if(t)throw t.error}}return r},e.prototype.getSrs=function(t){return this.geoPackage.spatialReferenceSystemDao.queryForId(t.srs_id)},e.prototype.getContents=function(t){return this.geoPackage.contentsDao.queryForId(t.table_name)},e.prototype.getProjection=function(t){var e=this.getSrs(t);return this.geoPackage.spatialReferenceSystemDao.getProjection(e)},e.COLUMN_TABLE_NAME="table_name",e.COLUMN_COLUMN_NAME="column_name",e.COLUMN_ID_1=e.COLUMN_TABLE_NAME,e.COLUMN_ID_2=e.COLUMN_COLUMN_NAME,e.COLUMN_GEOMETRY_TYPE_NAME="geometry_type_name",e.COLUMN_SRS_ID="srs_id",e.COLUMN_Z="z",e.COLUMN_M="m",e}(a.Dao);e.GeometryColumnsDao=u;},961:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);});Object.defineProperty(e,"__esModule",{value:!0}),e.FeatureColumn=void 0;var o=n(5865),a=n(7319),s=n(9211),u=n(5071),l=function(t){function e(e,n,r,i,o,a,s,u,l){var c=t.call(this,e,n,r,i,o,a,s,l)||this;return c.geometryType=u,c.type=c.getTypeName(n,r,u),c}return i(e,t),e.createPrimaryKeyColumn=function(t,n,r){return void 0===r&&(r=u.UserTableDefaults.DEFAULT_AUTOINCREMENT),new e(t,n,a.GeoPackageDataType.INTEGER,void 0,!0,void 0,!0,void 0,r)},e.createGeometryColumn=function(t,n,r,i,o){if(null==r)throw new Error("Geometry Type is required to create column: "+n);return new e(t,n,a.GeoPackageDataType.BLOB,void 0,i,o,!1,r,!1)},e.createColumn=function(t,n,r,i,o,a,s){return void 0===i&&(i=!1),new e(t,n,r,a,i,o,!1,void 0,s)},e.prototype.getTypeName=function(e,n,r){return null!=r?s.GeometryType.nameFromType(r):t.prototype.getTypeName.call(this,e,n)},e.getGeometryTypeFromTableColumn=function(t){var e=null;return t.isDataType(a.GeoPackageDataType.BLOB)&&(e=s.GeometryType.fromName(t.type)),e},e.prototype.copy=function(){return new e(this.index,this.name,this.dataType,this.max,this.notNull,this.defaultValue,this.primaryKey,this.geometryType,this.autoincrement)},e.prototype.isGeometry=function(){return null!==this.geometryType},e.prototype.getGeometryType=function(){return this.geometryType},e}(o.UserColumn);e.FeatureColumn=l;},5053:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);});Object.defineProperty(e,"__esModule",{value:!0}),e.FeatureColumns=void 0;var o=n(2114),a=n(7319),s=function(t){function e(e,n,r,i){var o=t.call(this,e,r,i)||this;return o.geometryIndex=-1,o.geometryColumn=n,o.updateColumns(),o}return i(e,t),e.prototype.copy=function(){return new e(this.getTableName(),this.getGeometryColumnName(),this.getColumns(),this.isCustom())},e.prototype.updateColumns=function(){t.prototype.updateColumns.call(this);var e=null;if(null!==this.geometryColumn&&void 0!==this.geometryColumn)e=this.getColumnIndex(this.geometryColumn,!1);else for(var n=0;n=0},e.prototype.getGeometryColumn=function(){var t=null;return this.hasGeometryColumn()&&(t=this.getColumnForIndex(this.geometryIndex)),t},e}(o.UserColumns);e.FeatureColumns=s;},2071:function(t,e,n){"use strict";var r,i=n(5108),o=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);}),a=this&&this.__awaiter||function(t,e,n,r){return new(n||(n=Promise))((function(i,o){function a(t){try{u(r.next(t));}catch(t){o(t);}}function s(t){try{u(r.throw(t));}catch(t){o(t);}}function u(t){var e;t.done?i(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e);}))).then(a,s);}u((r=r.apply(t,e||[])).next());}))},s=this&&this.__generator||function(t,e){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(s){return function(u){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;o&&(o=0,s[0]&&(a=0)),a;)try{if(n=1,r&&(i=2&s[0]?r.return:s[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,s[1])).done)return i;switch(r=0,i&&(s=[2&s[0],i.value]),s[0]){case 0:case 1:i=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,r=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!((i=(i=a.trys).length>0&&i[i.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!i||s[1]>i[0]&&s[1]0;break;case "Polygon":case "MultiPolygon":r=null!==(0,h.default)(o,n);break;case "MultiPoint":r=e.multiPointIntersects(o,n);break;case "GeometryCollection":r=e.geometryCollectionIntersects(o,n);}}return r},e.verifyGeometryCollection=function(t,n){return e.geometryCollectionIntersects(t,n.toGeoJSON().geometry)||(0,f.default)(t,n.toGeoJSON().geometry)?t:void 0},e.readTable=function(t,e){return t.getFeatureDao(e)},e}(y.UserDao);e.FeatureDao=T;},234:function(t,e,n){"use strict";var r,i=n(3085).lW,o=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);});Object.defineProperty(e,"__esModule",{value:!0}),e.FeatureRow=void 0;var a=n(2224),s=n(961),u=n(857),l=function(t){function e(e,n,r){var i=t.call(this,e,n,r)||this;return i.featureTable=e,i}return o(e,t),Object.defineProperty(e.prototype,"geometryColumnIndex",{get:function(){return this.featureTable.getGeometryColumnIndex()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"geometryColumn",{get:function(){return this.featureTable.getGeometryColumn()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"geometry",{get:function(){return this.getValueWithIndex(this.featureTable.getGeometryColumnIndex())},set:function(t){this.setValueWithIndex(this.featureTable.getGeometryColumnIndex(),t);},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"geometryType",{get:function(){var t=null,e=this.getValueWithIndex(this.featureTable.getGeometryColumnIndex());return null!==e&&(t=e.toGeoJSON().type),t},enumerable:!1,configurable:!0}),e.prototype.toObjectValue=function(e,n){var r=this.getColumnWithIndex(e);return r instanceof s.FeatureColumn&&r.isGeometry()&&n&&n instanceof i||n instanceof Uint8Array?new u.GeometryData(n):t.prototype.toObjectValue.call(this,e,n)},e.prototype.getValueWithColumnName=function(e){var n=this.values[e],r=this.getColumnWithColumnName(e);return null!=n&&r instanceof s.FeatureColumn&&r.isGeometry()&&n.toData?n.toData():t.prototype.getValueWithColumnName.call(this,e)},e}(a.UserRow);e.FeatureRow=l;},8412:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);});Object.defineProperty(e,"__esModule",{value:!0}),e.FeatureTable=void 0;var o=n(8018),a=n(5053),s=n(9971),u=function(t){function e(e,n,r){return t.call(this,new a.FeatureColumns(e,n,r,!1))||this}return i(e,t),e.prototype.copy=function(){return new e(this.getTableName(),this.getGeometryColumnName(),this.getUserColumns().getColumns())},e.prototype.getGeometryColumnIndex=function(){return this.getUserColumns().getGeometryIndex()},e.prototype.getUserColumns=function(){return t.prototype.getUserColumns.call(this)},e.prototype.getGeometryColumn=function(){return this.getUserColumns().getGeometryColumn()},e.prototype.getGeometryColumnName=function(){return this.getUserColumns().getGeometryColumnName()},e.prototype.getIdAndGeometryColumnNames=function(){return [this.getPkColumnName(),this.getGeometryColumnName()]},e.prototype.validateContents=function(t){var e=t.data_type;if(null==e||e!==s.ContentsDataType.FEATURES)throw new Error("The Contents of a FeatureTable must have a data type of "+s.ContentsDataType.FEATURES)},e}(o.UserTable);e.FeatureTable=u;},4896:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);});Object.defineProperty(e,"__esModule",{value:!0}),e.FeatureTableReader=void 0;var o=n(1968),a=n(8412),s=n(4880),u=n(961),l=n(812),c=function(t){function e(e){var n=t.call(this,e instanceof l.GeometryColumns?e.table_name:e)||this;return e instanceof l.GeometryColumns&&(n.columnName=e.column_name),n}return i(e,t),e.prototype.readFeatureTable=function(t){if(null===this.columnName||void 0===this.columnName){var e=new o.GeometryColumnsDao(t);this.columnName=e.queryForTableName(this.table_name).column_name;}return this.readTable(t.database)},e.prototype.createTable=function(t,e){return new a.FeatureTable(t,this.columnName,e)},e.prototype.createColumn=function(t){return new u.FeatureColumn(t.index,t.name,t.dataType,t.max,t.notNull,t.defaultValue,t.primaryKey,u.FeatureColumn.getGeometryTypeFromTableColumn(t),t.autoincrement)},e}(s.UserTableReader);e.FeatureTableReader=c;},9211:(t,e)=>{"use strict";var n;Object.defineProperty(e,"__esModule",{value:!0}),e.GeometryType=void 0,(n=e.GeometryType||(e.GeometryType={}))[n.GEOMETRY=0]="GEOMETRY",n[n.POINT=1]="POINT",n[n.LINESTRING=2]="LINESTRING",n[n.POLYGON=3]="POLYGON",n[n.MULTIPOINT=4]="MULTIPOINT",n[n.MULTILINESTRING=5]="MULTILINESTRING",n[n.MULTIPOLYGON=6]="MULTIPOLYGON",n[n.GEOMETRYCOLLECTION=7]="GEOMETRYCOLLECTION",n[n.CIRCULARSTRING=8]="CIRCULARSTRING",n[n.COMPOUNDCURVE=9]="COMPOUNDCURVE",n[n.CURVEPOLYGON=10]="CURVEPOLYGON",n[n.MULTICURVE=11]="MULTICURVE",n[n.MULTISURFACE=12]="MULTISURFACE",n[n.CURVE=13]="CURVE",n[n.SURFACE=14]="SURFACE",n[n.POLYHEDRALSURFACE=15]="POLYHEDRALSURFACE",n[n.TIN=16]="TIN",n[n.TRIANGLE=17]="TRIANGLE",function(t){t.nameFromType=function(e){var n=null;return null!=e&&(n=t[e]),n},t.fromName=function(e){return t[e]};}(e.GeometryType||(e.GeometryType={}));},4325:function(t,e,n){"use strict";var r=this&&this.__createBinding||(Object.create?function(t,e,n,r){void 0===r&&(r=n);var i=Object.getOwnPropertyDescriptor(e,n);i&&!("get"in i?!e.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return e[n]}}),Object.defineProperty(t,r,i);}:function(t,e,n,r){void 0===r&&(r=n),t[r]=e[n];}),i=this&&this.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e});}:function(t,e){t.default=e;}),o=this&&this.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)"default"!==n&&Object.prototype.hasOwnProperty.call(t,n)&&r(e,t,n);return i(e,t),e},a=this&&this.__awaiter||function(t,e,n,r){return new(n||(n=Promise))((function(i,o){function a(t){try{u(r.next(t));}catch(t){o(t);}}function s(t){try{u(r.throw(t));}catch(t){o(t);}}function u(t){var e;t.done?i(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e);}))).then(a,s);}u((r=r.apply(t,e||[])).next());}))},s=this&&this.__generator||function(t,e){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(s){return function(u){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;o&&(o=0,s[0]&&(a=0)),a;)try{if(n=1,r&&(i=2&s[0]?r.return:s[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,s[1])).done)return i;switch(r=0,i&&(s=[2&s[0],i.value]),s[0]){case 0:case 1:i=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,r=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!((i=(i=a.trys).length>0&&i[i.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!i||s[1]>i[0]&&s[1]=t.length&&(t=void 0),{value:t&&t[r++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},l=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.GeoPackage=void 0;var c=l(n(1011)),h=l(n(6102)),f=l(n(3892)),p=l(n(7383)),d=l(n(8147)),y=l(n(1013)),m=o(n(4102)),g=l(n(4472)),_=n(857),b=n(5306),v=n(1832),T=n(8479),E=n(1314),w=n(7523),x=n(5965),C=n(1968),M=n(2071),S=n(4896),N=n(6638),O=n(5925),A=n(3506),I=n(4941),P=n(7175),R=n(663),L=n(2056),D=n(5698),k=n(9581),F=n(9095),U=n(8904),B=n(8008),j=n(1394),G=n(7092),W=n(7960),q=n(3931),H=n(9631),z=n(464),V=n(8412),X=n(8138),Y=n(8704),Z=n(5897),Q=n(7319),K=n(8116),J=n(812),$=n(1459),tt=n(1938),et=n(3684),nt=n(2527),rt=n(5899),it=n(5865),ot=n(8133),at=n(4275),st=n(961),ut=n(6366),lt=n(8483),ct=n(4599),ht=n(297),ft=n(731),pt=n(4301),dt=n(2777),yt=n(8375),mt=n(8314),gt=n(9406),_t=n(9971),bt=n(9211),vt=n(7686),Tt=n(5604),Et=n(1375),wt=n(8877),xt=function(){function t(t,e,n){this.name=t,this.path=e,this.connection=n,this.tableCreator=new $.TableCreator(this),this.loadSpatialReferenceSystemsIntoProj4();}return t.prototype.close=function(){this.connection.close();},Object.defineProperty(t.prototype,"database",{get:function(){return this.connection},enumerable:!1,configurable:!0}),t.prototype.export=function(){return a(this,void 0,void 0,(function(){return s(this,(function(t){return [2,this.connection.export()]}))}))},t.prototype.loadSpatialReferenceSystemsIntoProj4=function(){this.spatialReferenceSystemDao.getAllSpatialReferenceSystems().forEach((function(t){try{t.srs_id>0&&(t.organization!==Et.ProjectionConstants.EPSG||t.organization_coordsys_id!==Et.ProjectionConstants.EPSG_CODE_4326&&t.organization_coordsys_id!==Et.ProjectionConstants.EPSG_CODE_3857)&&Tt.Projection.loadProjection([t.organization,t.organization_coordsys_id].join(":"),t.definition);}catch(t){}}));},t.prototype.validate=function(){var t=[];return t.concat(at.GeoPackageValidate.validateMinimumTables(this))},Object.defineProperty(t.prototype,"spatialReferenceSystemDao",{get:function(){return this._spatialReferenceSystemDao||(this._spatialReferenceSystemDao=new x.SpatialReferenceSystemDao(this))},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"contentsDao",{get:function(){return this._contentsDao||(this._contentsDao=new N.ContentsDao(this))},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"tileMatrixSetDao",{get:function(){return this._tileMatrixSetDao||(this._tileMatrixSetDao=new O.TileMatrixSetDao(this))},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"tileMatrixDao",{get:function(){return this._tileMatrixDao||(this._tileMatrixDao=new A.TileMatrixDao(this))},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"dataColumnsDao",{get:function(){return this._dataColumnsDao||(this._dataColumnsDao=new I.DataColumnsDao(this))},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"extensionDao",{get:function(){return this._extensionDao||(this._extensionDao=new D.ExtensionDao(this))},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"tableIndexDao",{get:function(){return this._tableIndexDao||(this._tableIndexDao=new k.TableIndexDao(this))},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"geometryColumnsDao",{get:function(){return this._geometryColumnsDao||(this._geometryColumnsDao=new C.GeometryColumnsDao(this))},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"dataColumnConstraintsDao",{get:function(){return this._dataColumnConstraintsDao||(this._dataColumnConstraintsDao=new P.DataColumnConstraintsDao(this))},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"metadataReferenceDao",{get:function(){return this._metadataReferenceDao||(this._metadataReferenceDao=new L.MetadataReferenceDao(this))},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"metadataDao",{get:function(){return this._metadataDao||(this._metadataDao=new R.MetadataDao(this))},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"extendedRelationDao",{get:function(){return this._extendedRelationDao||(this._extendedRelationDao=new U.ExtendedRelationDao(this))},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"contentsIdDao",{get:function(){return this._contentsIdDao||(this._contentsIdDao=new G.ContentsIdDao(this))},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"tileScalingDao",{get:function(){return this._tileScalingDao||(this._tileScalingDao=new W.TileScalingDao(this))},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"contentsIdExtension",{get:function(){return this._contentsIdExtension||(this._contentsIdExtension=new E.ContentsIdExtension(this))},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"featureStyleExtension",{get:function(){return this._featureStyleExtension||(this._featureStyleExtension=new T.FeatureStyleExtension(this))},enumerable:!1,configurable:!0}),t.prototype.getTileScalingExtension=function(t){return new w.TileScalingExtension(this,t)},t.prototype.getGeometryIndexDao=function(t){return new F.GeometryIndexDao(this,t)},Object.defineProperty(t.prototype,"relatedTablesExtension",{get:function(){return this._relatedTablesExtension||(this._relatedTablesExtension=new v.RelatedTablesExtension(this))},enumerable:!1,configurable:!0}),t.prototype.getSrs=function(t){return this.spatialReferenceSystemDao.queryForId(t)},t.prototype.createRequiredTables=function(){return this.tableCreator.createRequired(),this},t.prototype.createSupportedExtensions=function(){return new b.CrsWktExtension(this).getOrCreateExtension(),new K.SchemaExtension(this).getOrCreateExtension(),this},t.prototype.getTileDao=function(t){if(t instanceof Z.Contents)t=this.contentsDao.getTileMatrixSet(t);else if(!(t instanceof rt.TileMatrixSet)){var e=this.tileMatrixSetDao,n=e.queryForAllEq(O.TileMatrixSetDao.COLUMN_TABLE_NAME,t);if(n.length>1)throw new Error("Unexpected state. More than one Tile Matrix Set matched for table name: "+t+", count: "+n.length);if(0===n.length)throw new Error("No Tile Matrix found for table name: "+t);t=e.createObject(n[0]);}if(!t)throw new Error("Non null TileMatrixSet is required to create Tile DAO");var r=[],i=this.tileMatrixDao;i.queryForAllEq(A.TileMatrixDao.COLUMN_TABLE_NAME,t.table_name,null,null,A.TileMatrixDao.COLUMN_ZOOM_LEVEL+" ASC, "+A.TileMatrixDao.COLUMN_PIXEL_X_SIZE+" DESC, "+A.TileMatrixDao.COLUMN_PIXEL_Y_SIZE+" DESC").forEach((function(t){var e=i.createObject(t);i.hasTiles(e)&&r.push(e);}));var o=new H.TileTableReader(t).readTileTable(this);return new j.TileDao(this,o,t,r)},t.prototype.getTables=function(t){return void 0===t&&(t=!1),t?{features:this.contentsDao.getContentsForTableType(_t.ContentsDataType.FEATURES),tiles:this.contentsDao.getContentsForTableType(_t.ContentsDataType.TILES),attributes:this.contentsDao.getContentsForTableType(_t.ContentsDataType.ATTRIBUTES)}:{features:this.getFeatureTables(),tiles:this.getTileTables(),attributes:this.getAttributesTables()}},t.prototype.getAttributesTables=function(){return this.contentsDao.getTables(_t.ContentsDataType.ATTRIBUTES)},t.prototype.hasAttributeTable=function(t){var e=this.getAttributesTables();return e&&-1!=e.indexOf(t)},t.prototype.getTileTables=function(){var t=this.contentsDao;return t.isTableExists()?t.getTables(_t.ContentsDataType.TILES):[]},t.prototype.hasTileTable=function(t){var e=this.getTileTables();return e&&-1!==e.indexOf(t)},t.prototype.hasFeatureTable=function(t){var e=this.getFeatureTables();return e&&-1!=e.indexOf(t)},t.prototype.getFeatureTables=function(){var t=this.contentsDao;return t.isTableExists()?t.getTables(_t.ContentsDataType.FEATURES):[]},t.prototype.isTable=function(t){return !!this.connection.tableExists(t)},t.prototype.isTableType=function(t,e){return t===this.getTableType(e)},t.prototype.getTableType=function(t){var e=this.getTableContents(t);if(e)return e.data_type},t.prototype.getTableContents=function(t){return this.contentsDao.queryForId(t)},t.prototype.dropTable=function(t){return this.connection.dropTable(t)},t.prototype.deleteTable=function(t){gt.GeoPackageExtensions.deleteTableExtensions(this,t),this.contentsDao.deleteTable(t);},t.prototype.deleteTableQuietly=function(t){try{this.deleteTable(t);}catch(t){}},t.prototype.getTableCreator=function(){return this.tableCreator},t.prototype.index=function(){return a(this,void 0,void 0,(function(){var t,e;return s(this,(function(n){switch(n.label){case 0:t=this.getFeatureTables(),e=0,n.label=1;case 1:return e0&&n[0]instanceof it.UserColumn)s=n;else {var u=0;s.push(st.FeatureColumn.createPrimaryKeyColumn(u++,"id")),s.push(st.FeatureColumn.createGeometryColumn(u++,a.column_name,bt.GeometryType.GEOMETRY,!1,null));for(var l=0;n&&lc.maxZoom)){for(var h=0;hc.maxWebMapZoom)){l.columns=[];for(var h=0;h1e4){var p=f.toGeoJSON();return p.feature_count=h,p.coverage=!0,p.gp_table=e,p.gp_name=this.name,p}var d=[f.maxLongitude,f.maxLatitude],y=[f.minLongitude,f.minLatitude],g=(d[0]-y[0])/256*10;f.maxLongitude=a+g,f.minLongitude=a-g,f.maxLatitude=o+g,f.minLatitude=o-g;var _,b=c.queryForGeoJSONIndexedFeaturesWithBoundingBox(f),v=[],T=1e11,E=m.point([a,o]);try{for(var w=u(b),x=w.next();!x.done;x=w.next()){var C=x.value;C.type="Feature";var M=t.determineDistance(E.geometry,C);(M{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.GeoPackageConstants=void 0;var n=function(){function t(){}return t.GEOPACKAGE_EXTENSION="gpkg",t.GEOPACKAGE_EXTENDED_EXTENSION="gpkx",t.APPLICATION_ID="GPKG",t.USER_VERSION="10200",t.GEOPACKAGE_EXTENSION_AUTHOR=t.GEOPACKAGE_EXTENSION,t.GEOMETRY_EXTENSION_PREFIX="geom",t.GEOPACKAGE_GEOMETRY_MAGIC_NUMBER="GP",t.GEOPACKAGE_GEOMETRY_VERSION_1=0,t.SQLITE_HEADER_PREFIX="SQLite format 3",t}();e.GeoPackageConstants=n;},5095:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Envelope=void 0;e.Envelope=function(){};},1895:function(t,e,n){"use strict";var r=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.EnvelopeBuilder=void 0;var i=r(n(9705)),o=function(){function t(){}return t.buildEnvelopeWithGeometry=function(t){var e=t.toGeoJSON(),n=(0,i.default)(e);return {minX:n[0],minY:n[1],maxX:n[2],maxY:n[3]}},t}();e.EnvelopeBuilder=o;},857:function(t,e,n){"use strict";var r=n(3085).lW,i=n(5108),o=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.GeometryData=void 0;var a=o(n(1011)),s=n(1506),u=n(5095),l=function(){function t(e){this.empty=!0,this.byteOrder=t.BIG_ENDIAN,e&&this.fromData(e);}return t.prototype.setSrsId=function(t){this.srsId=t;},t.prototype.setGeometry=function(t){this.empty=!1,this.geometry=t;},t.prototype.setEnvelope=function(t){this.envelope=t;},t.prototype.toGeoJSON=function(){return this.geometry.toGeoJSON()},t.prototype.fromData=function(t){t instanceof Uint8Array?this.buffer=t=r.from(t):this.buffer=t;var e=this.buffer.toString("ascii",0,2);if(e!==s.GeoPackageConstants.GEOPACKAGE_GEOMETRY_MAGIC_NUMBER)throw new Error("Unexpected GeoPackage Geometry magic number: "+e+", Expected: "+s.GeoPackageConstants.GEOPACKAGE_GEOMETRY_MAGIC_NUMBER);var n=this.buffer.readUInt8(2);if(n!==s.GeoPackageConstants.GEOPACKAGE_GEOMETRY_VERSION_1)throw new Error("Unexpected GeoPackage Geometry version "+n+", Expected: "+s.GeoPackageConstants.GEOPACKAGE_GEOMETRY_VERSION_1);var o=this.buffer.readUInt8(3),u=this.readFlags(o);this.srsId=this.buffer[this.byteOrder?"readUInt32LE":"readUInt32BE"](4);var l=this.readEnvelope(u,this.buffer);this.envelope=l.envelope;var c=l.offset,h=this.buffer.slice(c);try{this.geometry=a.default.Geometry.parse(h),this.geometryError=void 0;}catch(t){this.geometryError=t.message,i.log("Error parsing geometry");}},t.prototype.toData=function(){var t=r.alloc(8);t.write(s.GeoPackageConstants.GEOPACKAGE_GEOMETRY_MAGIC_NUMBER),t.writeUInt8(s.GeoPackageConstants.GEOPACKAGE_GEOMETRY_VERSION_1,2);var e=this.buildFlagsByte();t.writeUInt8(e,3),t[this.byteOrder?"writeUInt32LE":"writeUInt32BE"](this.srsId,4);var n=[t,this.writeEnvelope()];try{n.push(this.geometry.toWkb()),this.geometryError=void 0;}catch(t){this.geometryError=t.message;}return this.buffer=r.concat(n),this.buffer},t.prototype.writeEnvelope=function(){if(!this.envelope)return r.alloc(0);var t=32;this.envelope.hasZ&&(t+=16),this.envelope.hasM&&(t+=16);var e,n=r.alloc(t);(e=this.byteOrder?n.writeDoubleLE.bind(n):n.writeDoubleBE.bind(n))(this.envelope.minX,0),e(this.envelope.maxX,8),e(this.envelope.minY,16),e(this.envelope.maxY,24);var i=32;return this.envelope.hasZ&&(e(this.envelope.minZ,i),e(this.envelope.maxZ,i+8),i=48),this.envelope.hasM&&(e(this.envelope.minM,i),e(this.envelope.maxM,i+8)),n},t.prototype.buildFlagsByte=function(){var e=0;return e+=(this.extended?1:0)<<5,e+=(this.empty?1:0)<<4,(e+=(this.envelope?this.getIndicatorWithEnvelope(this.envelope):0)<<1)+(this.byteOrder===t.BIG_ENDIAN?0:1)},t.prototype.getIndicatorWithEnvelope=function(t){var e=1;return t.hasZ&&e++,t.hasM&&(e+=2),e},t.prototype.readFlags=function(t){var e=t>>7&1,n=t>>6&1;if(0!==e||0!==n)throw new Error("Unexpected GeoPackage Geometry flags. Flag bit 7 and 6 should both be 0, 7="+e+", 6="+n);var r=t>>5&1;this.extended=1===r;var i=t>>4&1;this.empty=1===i;var o=t>>1&7;if(o>4)throw new Error("Unexpected GeoPackage Geometry flags. Envelope contents indicator must be between 0 and 4. Actual: "+o);var a=1&t;return this.byteOrder=a,o},t.prototype.readEnvelope=function(t,e){var n;n=this.byteOrder?e.readDoubleLE.bind(e):e.readDoubleBE.bind(e);var r=0,i={envelope:void 0,offset:8};if(t<=0)return i;var o=new u.Envelope;return o.minX=n(8+8*r++),o.maxX=n(8+8*r++),o.minY=n(8+8*r++),o.maxY=n(8+8*r++),o.hasZ=!1,o.hasM=!1,2!==t&&4!==t||(o.hasZ=!0,o.minZ=n(8+8*r++),o.maxZ=n(8+8*r++)),3!==t&&4!==t||(o.hasM=!0,o.minM=n(8+8*r++),o.maxM=n(8+8*r++)),i.envelope=o,i.offset=8+8*r,i},t.BIG_ENDIAN=0,t.LITTLE_ENDIAN=1,t}();e.GeometryData=l;},3026:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Metadata=void 0;var n=function(){function t(){}return t.prototype.getScopeInformation=function(e){switch(e){case t.UNDEFINED:return {name:t.UNDEFINED,code:"NA",definition:"Metadata information scope is undefined"};case t.FIELD_SESSION:return {name:t.FIELD_SESSION,code:"012",definition:"Information applies to the field session"};case t.COLLECTION_SESSION:return {name:t.COLLECTION_SESSION,code:"004",definition:"Information applies to the collection session"};case t.SERIES:return {name:t.SERIES,code:"006",definition:"Information applies to the (dataset) series"};case t.DATASET:return {name:t.DATASET,code:"005",definition:"Information applies to the (geographic feature) dataset"};case t.FEATURE_TYPE:return {name:t.FEATURE_TYPE,code:"010",definition:"Information applies to a feature type (class)"};case t.FEATURE:return {name:t.FEATURE,code:"009",definition:"Information applies to a feature (instance)"};case t.ATTRIBUTE_TYPE:return {name:t.ATTRIBUTE_TYPE,code:"002",definition:"Information applies to the attribute class"};case t.ATTRIBUTE:return {name:t.ATTRIBUTE,code:"001",definition:"Information applies to the characteristic of a feature (instance)"};case t.TILE:return {name:t.TILE,code:"016",definition:"Information applies to a tile, a spatial subset of geographic data"};case t.MODEL:return {name:t.MODEL,code:"015",definition:"Information applies to a copy or imitation of an existing or hypothetical object"};case t.CATALOG:return {name:t.CATALOG,code:"NA",definition:"Metadata applies to a feature catalog"};case t.SCHEMA:return {name:t.SCHEMA,code:"NA",definition:"Metadata applies to an application schema"};case t.TAXONOMY:return {name:t.TAXONOMY,code:"NA",definition:"Metadata applies to a taxonomy or knowledge system"};case t.SOFTWARE:return {name:t.SOFTWARE,code:"013",definition:"Information applies to a computer program or routine"};case t.SERVICE:return {name:t.SERVICE,code:"014",definition:"Information applies to a capability which a service provider entity makes available to a service user entity through a set of interfaces that define a behaviour, such as a use case"};case t.COLLECTION_HARDWARE:return {name:t.COLLECTION_HARDWARE,code:"003",definition:"Information applies to the collection hardware class"};case t.NON_GEOGRAPHIC_DATASET:return {name:t.NON_GEOGRAPHIC_DATASET,code:"007",definition:"Information applies to non-geographic data"};case t.DIMENSION_GROUP:return {name:t.DIMENSION_GROUP,code:"008",definition:"Information applies to a dimension group"}}},t.UNDEFINED="undefined",t.FIELD_SESSION="fieldSession",t.COLLECTION_SESSION="collectionSession",t.SERIES="series",t.DATASET="dataset",t.FEATURE_TYPE="featureType",t.FEATURE="feature",t.ATTRIBUTE_TYPE="attributeType",t.ATTRIBUTE="attribute",t.TILE="tile",t.MODEL="model",t.CATALOG="catalog",t.SCHEMA="schema",t.TAXONOMY="taxonomy",t.SOFTWARE="software",t.SERVICE="service",t.COLLECTION_HARDWARE="collectionHardware",t.NON_GEOGRAPHIC_DATASET="nonGeographicDataset",t.DIMENSION_GROUP="dimensionGroup",t}();e.Metadata=n;},663:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);});Object.defineProperty(e,"__esModule",{value:!0}),e.MetadataDao=void 0;var o=n(4115),a=n(3026),s=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.gpkgTableName=e.TABLE_NAME,n.idColumns=[e.COLUMN_ID],n}return i(e,t),e.prototype.createObject=function(t){var e=new a.Metadata;return t&&(e.id=t.id,e.md_scope=t.md_scope,e.md_standard_uri=t.md_standard_uri,e.mime_type=t.mime_type,e.metadata=t.metadata),e},e.TABLE_NAME="gpkg_metadata",e.COLUMN_ID="id",e.COLUMN_MD_SCOPE="md_scope",e.COLUMN_MD_STANDARD_URI="md_standard_uri",e.COLUMN_MIME_TYPE="mime_type",e.COLUMN_METADATA="metadata",e}(o.Dao);e.MetadataDao=s;},9173:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.MetadataReference=void 0;var n=function(){function t(){}return t.prototype.toDatabaseValue=function(t){return "timestamp"===t?this.timestamp.toISOString():this[t]},t.prototype.setMetadata=function(t){this.md_file_id=t?t.id:-1;},t.prototype.setParentMetadata=function(t){this.md_parent_id=t?t.id:-1;},t.prototype.setReferenceScopeType=function(e){switch(this.reference_scope=e,e){case t.GEOPACKAGE:this.table_name=void 0,this.column_name=void 0,this.row_id_value=void 0;break;case t.TABLE:this.column_name=void 0,this.row_id_value=void 0;break;case t.ROW:this.column_name=void 0;break;case t.COLUMN:this.row_id_value=void 0;}},t.GEOPACKAGE="geopackage",t.TABLE="table",t.COLUMN="column",t.ROW="row",t.ROW_COL="row/col",t}();e.MetadataReference=n;},2056:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);});Object.defineProperty(e,"__esModule",{value:!0}),e.MetadataReferenceDao=void 0;var o=n(4115),a=n(8572),s=n(9173),u=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.gpkgTableName=e.TABLE_NAME,n.idColumns=[e.COLUMN_MD_FILE_ID,e.COLUMN_MD_PARENT_ID],n}return i(e,t),e.prototype.createObject=function(t){var e=new s.MetadataReference;return t&&(e.reference_scope=t.reference_scope,e.table_name=t.table_name,e.column_name=t.column_name,e.row_id_value=t.row_id_value,e.timestamp=new Date(t.timestamp),e.md_file_id=t.md_file_id,e.md_parent_id=t.md_parent_id),e},e.prototype.removeMetadataParent=function(t){var n={};n[e.COLUMN_MD_PARENT_ID]=null;var r=this.buildWhereWithFieldAndValue(e.COLUMN_MD_PARENT_ID,t),i=this.buildWhereArgs(t);return this.updateWithValues(n,r,i).changes},e.prototype.queryByMetadataAndParent=function(t,n){var r=new a.ColumnValues;return r.addColumn(e.COLUMN_MD_FILE_ID,t),r.addColumn(e.COLUMN_MD_PARENT_ID,n),this.queryForFieldValues(r)},e.prototype.queryByMetadata=function(t){var n=new a.ColumnValues;return n.addColumn(e.COLUMN_MD_FILE_ID,t),this.queryForFieldValues(n)},e.prototype.queryByMetadataParent=function(t){var n=new a.ColumnValues;return n.addColumn(e.COLUMN_MD_PARENT_ID,t),this.queryForFieldValues(n)},e.prototype.deleteByTableName=function(t){var n="";n+=this.buildWhereWithFieldAndValue(e.COLUMN_TABLE_NAME,t);var r=this.buildWhereArgs(t);return this.deleteWhere(n,r)},e.TABLE_NAME="gpkg_metadata_reference",e.COLUMN_REFERENCE_SCOPE="reference_scope",e.COLUMN_TABLE_NAME="table_name",e.COLUMN_COLUMN_NAME="column_name",e.COLUMN_ROW_ID="row_id_value",e.COLUMN_TIMESTAMP="timestamp",e.COLUMN_MD_FILE_ID="md_file_id",e.COLUMN_MD_PARENT_ID="md_parent_id",e}(o.Dao);e.MetadataReferenceDao=u;},7403:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.OptionBuilder=void 0;var n=function(){function t(){}return t.build=function(t){var e={};return t.forEach((function(t){e["set"+t.slice(0,1).toUpperCase()+t.slice(1)]=function(e){return this[t]=e,this},e["get"+t.slice(0,1).toUpperCase()+t.slice(1)]=function(){return this[t]};})),e},t}();e.OptionBuilder=n;},5604:function(t,e,n){"use strict";var r=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.Projection=void 0;var i=r(n(4472)),o=r(n(8446)),a=n(1375),s=function(){function t(){}return t.loadProjection=function(t,e){if(!t||!e)throw new Error("Invalid projection name/definition");null==i.default.defs(t)&&i.default.defs(t,e);},t.loadProjections=function(e){if(!e)throw new Error("Invalid array of projections");for(var n=0;n{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ProjectionConstants=void 0;var n=function(){function t(){}return t.EPSG="EPSG",t.EPSG_PREFIX="EPSG:",t.EPSG_CODE_3857=3857,t.EPSG_CODE_4326=4326,t.EPSG_CODE_900913=900913,t.EPSG_CODE_102113=102113,t.EPSG_3857=t.EPSG_PREFIX+t.EPSG_CODE_3857,t.EPSG_4326=t.EPSG_PREFIX+t.EPSG_CODE_4326,t.EPSG_900913=t.EPSG_PREFIX+t.EPSG_CODE_900913,t.EPSG_102113=t.EPSG_PREFIX+t.EPSG_CODE_102113,t.WEB_MERCATOR_MAX_LAT_RANGE=85.0511287798066,t.WEB_MERCATOR_MIN_LAT_RANGE=-85.05112877980659,t.WEB_MERCATOR_MAX_LON_RANGE=180,t.WEB_MERCATOR_MIN_LON_RANGE=-180,t.WEB_MERCATOR_HALF_WORLD_WIDTH=20037508.342789244,t.WGS84_HALF_WORLD_LON_WIDTH=180,t.WGS84_HALF_WORLD_LAT_HEIGHT=90,t}();e.ProjectionConstants=n;},7977:function(t,e,n){"use strict";var r=this&&this.__createBinding||(Object.create?function(t,e,n,r){void 0===r&&(r=n);var i=Object.getOwnPropertyDescriptor(e,n);i&&!("get"in i?!e.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return e[n]}}),Object.defineProperty(t,r,i);}:function(t,e,n,r){void 0===r&&(r=n),t[r]=e[n];}),i=this&&this.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e});}:function(t,e){t.default=e;}),o=this&&this.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)"default"!==n&&Object.prototype.hasOwnProperty.call(t,n)&&r(e,t,n);return i(e,t),e},a=this&&this.__awaiter||function(t,e,n,r){return new(n||(n=Promise))((function(i,o){function a(t){try{u(r.next(t));}catch(t){o(t);}}function s(t){try{u(r.throw(t));}catch(t){o(t);}}function u(t){var e;t.done?i(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e);}))).then(a,s);}u((r=r.apply(t,e||[])).next());}))},s=this&&this.__generator||function(t,e){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(s){return function(u){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;o&&(o=0,s[0]&&(a=0)),a;)try{if(n=1,r&&(i=2&s[0]?r.return:s[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,s[1])).done)return i;switch(r=0,i&&(s=[2&s[0],i.value]),s[0]){case 0:case 1:i=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,r=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!((i=(i=a.trys).length>0&&i[i.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!i||s[1]>i[0]&&s[1]=this.width||n.yPositionInFinalTileStart>=this.height||this.addChunk(t,n);},t.prototype.addChunk=function(t,e){this.chunks.push({chunk:t,position:e});},t.prototype.reproject=function(t,e){return a(this,void 0,void 0,(function(){var t,r,i,o,a,u,l,f,p,d,g,_,b,v=this;return s(this,(function(s){if("undefined"!=typeof window&&window.Worker)return y.TileUtilities.getPiecePosition(e,this.tileBoundingBox,this.height,this.width,this.projectionTo,this.projectionToDefinition,this.projectionFrom,this.projectionFromDefinition,this.tileHeightUnitsPerPixel,this.tileWidthUnitsPerPixel,this.tileMatrix.pixel_x_size,this.tileMatrix.pixel_y_size),t={sourceImageData:this.tileContext.getImageData(0,0,this.tileMatrix.tile_width,this.tileMatrix.tile_height).data.buffer,height:this.height,width:this.width,projectionTo:this.projectionTo,projectionToDefinition:this.projectionToDefinition,projectionFrom:this.projectionFrom,projectionFromDefinition:this.projectionFromDefinition,maxLatitude:this.tileBoundingBox.maxLatitude,minLongitude:this.tileBoundingBox.minLongitude,tileWidthUnitsPerPixel:this.tileWidthUnitsPerPixel,tileHeightUnitsPerPixel:this.tileHeightUnitsPerPixel,tilePieceBoundingBox:JSON.stringify(e),tileBoundingBox:JSON.stringify(this.tileBoundingBox),pixel_y_size:this.tileMatrix.pixel_y_size,pixel_x_size:this.tileMatrix.pixel_x_size,tile_width:this.tileMatrix.tile_width,tile_height:this.tileMatrix.tile_height},[2,new Promise((function(e){try{(r=n(8034)(n(7591))).onmessage=function(t){v.canvas.getContext("2d").putImageData(new ImageData(new Uint8ClampedArray(t.data),v.height,v.width),0,0),e();},r.postMessage(t,[v.tileContext.getImageData(0,0,v.tileMatrix.tile_width,v.tileMatrix.tile_height).data.buffer]);}catch(n){var r,i=(r=h.default)(t);v.canvas.getContext("2d").putImageData(new ImageData(new Uint8ClampedArray(i),v.height,v.width),0,0),e();}}))];r=this.height,i=this.width,o=this.tileMatrix.tile_height,a=this.tileMatrix.tile_width,u=void 0;try{null==m.Projection.hasProjection(this.projectionTo)&&m.Projection.loadProjection(this.projectionTo,this.projectionToDefinition),null==m.Projection.hasProjection(this.projectionFrom)&&m.Projection.loadProjection(this.projectionFrom,this.projectionFromDefinition),u=(0,c.default)(this.projectionTo,this.projectionFrom);}catch(t){}for(l=void 0,f=0;f=0&&_=0&&b{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.CustomFeaturesTile=void 0;e.CustomFeaturesTile=function(){this.compressFormat="png",this.tileBorderStrokeWidth=2,this.tileBorderColor="rgba(0, 0, 0, 1.0)",this.tileFillColor="rgba(0, 0, 0, 0.0625)",this.drawUnindexedTiles=!0;};},3060:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);}),o=this&&this.__awaiter||function(t,e,n,r){return new(n||(n=Promise))((function(i,o){function a(t){try{u(r.next(t));}catch(t){o(t);}}function s(t){try{u(r.throw(t));}catch(t){o(t);}}function u(t){var e;t.done?i(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e);}))).then(a,s);}u((r=r.apply(t,e||[])).next());}))},a=this&&this.__generator||function(t,e){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(s){return function(u){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;o&&(o=0,s[0]&&(a=0)),a;)try{if(n=1,r&&(i=2&s[0]?r.return:s[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,s[1])).done)return i;switch(r=0,i&&(s=[2&s[0],i.value]),s[0]){case 0:case 1:i=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,r=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!((i=(i=a.trys).length>0&&i[i.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!i||s[1]>i[0]&&s[1]1)throw new Error("Circle padding percentage must be between 0.0 and 1.0: "+t);this.circlePaddingPercentage=t;},e.prototype.getTileBorderStrokeWidth=function(){return this.tileBorderStrokeWidth},e.prototype.setTileBorderStrokeWidth=function(t){this.tileBorderStrokeWidth=t;},e.prototype.getTileBorderColor=function(){return this.tileBorderColor},e.prototype.setTileBorderColor=function(t){this.tileBorderColor=t;},e.prototype.getTileFillColor=function(){return this.tileFillColor},e.prototype.setTileFillColor=function(t){this.tileFillColor=t;},e.prototype.isDrawUnindexedTiles=function(){return this.drawUnindexedTiles},e.prototype.setDrawUnindexedTiles=function(t){this.drawUnindexedTiles=t;},e.prototype.getCompressFormat=function(){return this.compressFormat},e.prototype.setCompressFormat=function(t){this.compressFormat=t;},e.prototype.drawUnindexedTile=function(t,e,n){return void 0===n&&(n=null),o(this,void 0,void 0,(function(){var r;return a(this,(function(i){return r=null,this.drawUnindexedTiles&&(r=this.drawTile(t,e,"?",n)),[2,r]}))}))},e.prototype.drawTile=function(t,e,n,r){return o(this,void 0,void 0,(function(){var i=this;return a(this,(function(o){switch(o.label){case 0:return [4,s.Canvas.initializeAdapter()];case 1:return o.sent(),[2,new Promise((function(o){var a,u=!1;null!=r?a=r:(a=s.Canvas.create(t,e),u=!0);var l=a.getContext("2d");l.clearRect(0,0,t,e),null!==i.tileFillColor&&(l.fillStyle=i.tileFillColor,l.fillRect(0,0,t,e)),null!==i.tileBorderColor&&(l.strokeStyle=i.tileBorderColor,l.lineWidth=i.tileBorderStrokeWidth,l.strokeRect(0,0,t,e));var c=s.Canvas.measureText(l,i.textFont,i.textSize,n),h=i.textSize,f=Math.round(t/2),p=Math.round(e/2);if(null!=i.circleBorderColor||null!=i.circleFillColor){var d=Math.max(c,h),y=Math.round(d/2);y=Math.round(y+d*i.circlePaddingPercentage),null!=i.circleFillColor&&(l.fillStyle=i.circleFillColor,l.beginPath(),l.arc(f,p,y,0,2*Math.PI,!0),l.closePath(),l.fill()),null!=i.circleBorderColor&&(l.strokeStyle=i.circleBorderColor,l.lineWidth=i.circleStrokeWidth,l.beginPath(),l.arc(f,p,y,0,2*Math.PI,!0),l.closePath(),l.stroke());}s.Canvas.drawText(l,n,[f,p],i.textFont,i.textSize,i.textColor),s.Canvas.toDataURL(a,"image/"+i.compressFormat).then((function(t){u&&s.Canvas.disposeCanvas(a),o(t);}));}))]}}))}))},e}(n(2544).CustomFeaturesTile);e.NumberFeaturesTile=u;},6667:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);}),o=this&&this.__awaiter||function(t,e,n,r){return new(n||(n=Promise))((function(i,o){function a(t){try{u(r.next(t));}catch(t){o(t);}}function s(t){try{u(r.throw(t));}catch(t){o(t);}}function u(t){var e;t.done?i(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e);}))).then(a,s);}u((r=r.apply(t,e||[])).next());}))},a=this&&this.__generator||function(t,e){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(s){return function(u){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;o&&(o=0,s[0]&&(a=0)),a;)try{if(n=1,r&&(i=2&s[0]?r.return:s[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,s[1])).done)return i;switch(r=0,i&&(s=[2&s[0],i.value]),s[0]){case 0:case 1:i=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,r=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!((i=(i=a.trys).length>0&&i[i.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!i||s[1]>i[0]&&s[1]{"use strict";var n;Object.defineProperty(e,"__esModule",{value:!0}),e.FeatureDrawType=void 0,(n=e.FeatureDrawType||(e.FeatureDrawType={})).CIRCLE="CIRCLE",n.STROKE="STROKE",n.FILL="FILL",function(t){t.nameFromType=function(e){return t[e]},t.fromName=function(e){switch(e){case "CIRCLE":return t.CIRCLE;case "STROKE":return t.STROKE;case "FILL":return t.FILL}};}(e.FeatureDrawType||(e.FeatureDrawType={}));},6063:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.FeaturePaint=void 0;var n=function(){function t(){this.featurePaints={};}return t.prototype.getPaint=function(t){return this.featurePaints[t]},t.prototype.setPaint=function(t,e){this.featurePaints[t]=e;},t}();e.FeaturePaint=n;},9957:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.FeaturePaintCache=void 0;var r=n(6063),i=function(){function t(e){void 0===e&&(e=t.DEFAULT_STYLE_PAINT_CACHE_SIZE),this.cacheSize=e,this.paintCache={},this.accessHistory=[];}return t.prototype.getFeaturePaintForStyleRow=function(t){return this.getFeaturePaint(t.id)},t.prototype.getFeaturePaint=function(t){var e=this.paintCache[t];if(e){var n=this.accessHistory.indexOf(t);n>-1&&this.accessHistory.splice(n,1),this.accessHistory.push(t);}return e},t.prototype.getPaintForStyleRow=function(t,e){return this.getPaint(t.id,e)},t.prototype.getPaint=function(t,e){var n=null,r=this.getFeaturePaint(t);return null!=r&&(n=r.getPaint(e)),n},t.prototype.setPaintForStyleRow=function(t,e,n){this.setPaint(t.id,e,n);},t.prototype.setPaint=function(t,e,n){var i=this.paintCache[t];if(i){var o=this.accessHistory.indexOf(t);o>-1&&this.accessHistory.splice(o,1);}else i=new r.FeaturePaint;if(i.setPaint(e,n),this.paintCache[t]=i,this.accessHistory.push(t),Object.keys(this.paintCache).length>this.cacheSize){var a=this.accessHistory.shift();a&&delete this.paintCache[a];}},t.prototype.remove=function(t){var e=this.paintCache[t];if(delete this.paintCache[t],e){var n=this.accessHistory.indexOf(t);n>-1&&this.accessHistory.splice(n,1);}return e},t.prototype.clear=function(){this.paintCache={},this.accessHistory=[];},t.prototype.resize=function(t){this.cacheSize=t;var e=Object.keys(this.paintCache);if(e.length>t)for(var n=e.length-t,r=0;r{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.GeometryCache=void 0;var n=function(){function t(e){void 0===e&&(e=t.DEFAULT_GEOMETRY_CACHE_SIZE),this.cacheSize=e,this.geometryCache={},this.accessHistory=[];}return t.prototype.getGeometryForFeatureRow=function(t){return this.getGeometry(t.id)},t.prototype.getGeometry=function(t){var e=this.geometryCache[t];if(e){var n=this.accessHistory.indexOf(t);n>-1&&this.accessHistory.splice(n,1),this.accessHistory.push(t);}return e},t.prototype.setGeometry=function(t,e){var n=this.accessHistory.indexOf(t);if(n>-1&&this.accessHistory.splice(n,1),this.geometryCache[t]=e,this.accessHistory.push(t),Object.keys(this.geometryCache).length>this.cacheSize){var r=this.accessHistory.shift();r&&delete this.geometryCache[r];}},t.prototype.remove=function(t){var e=this.geometryCache[t];if(delete this.geometryCache[t],e){var n=this.accessHistory.indexOf(t);n>-1&&this.accessHistory.splice(n,1);}return e},t.prototype.clear=function(){this.geometryCache={},this.accessHistory=[];},t.prototype.resize=function(t){this.cacheSize=t;var e=Object.keys(this.geometryCache);if(e.length>t)for(var n=e.length-t,r=0;r0&&i[i.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!i||s[1]>i[0]&&s[1]=t.length&&(t=void 0),{value:t&&t[r++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},s=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.FeatureTiles=void 0;var u=s(n(7383)),l=s(n(3809)),c=s(n(6479)),h=n(3684),f=n(2527),p=n(8600),d=n(943),y=n(4538),m=n(9957),g=n(5211),_=n(6536),b=n(3437),v=n(5604),T=n(1375),E=function(){function t(t,e,n){void 0===e&&(e=256),void 0===n&&(n=256),this.featureDao=t,this.tileWidth=e,this.tileHeight=n,this.projection=null,this.webMercatorProjection=null,this.simplifyGeometries=!0,this.simplifyToleranceInPixels=1,this.compressFormat="png",this.pointRadius=4,this.pointPaint=new g.Paint,this.pointIcon=null,this.linePaint=new g.Paint,this._lineStrokeWidth=2,this.polygonPaint=new g.Paint,this._polygonStrokeWidth=2,this.fillPolygon=!0,this.polygonFillPaint=new g.Paint,this.featurePaintCache=new m.FeaturePaintCache,this.geometryCache=new d.GeometryCache,this.cacheGeometries=!0,this.iconCache=new p.IconCache,this._scale=1,this.maxFeaturesPerTile=null,this.maxFeaturesTileDraw=null,this.projection=this.featureDao.projection,this.linePaint.strokeWidth=2,this.polygonPaint.strokeWidth=2,this.polygonFillPaint.color="#00000011",this.geoPackage=this.featureDao.geoPackage,null!=this.geoPackage&&(this.featureTableStyles=new _.FeatureTableStyles(this.geoPackage,t.table),this.featureTableStyles.has()||(this.featureTableStyles=null)),this.webMercatorProjection=v.Projection.getWebMercatorToWGS84Converter(),this.calculateDrawOverlap();}return t.prototype.cleanup=function(){this.clearIconCache(),this.pointIcon&&(b.Canvas.disposeImage(this.pointIcon.getIcon()),this.pointIcon=null);},Object.defineProperty(t.prototype,"drawOverlap",{set:function(t){this.widthDrawOverlap=t,this.heightDrawOverlap=t;},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"simplifyTolerance",{get:function(){return this.simplifyToleranceInPixels},set:function(t){this.simplifyToleranceInPixels=t;},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"widthDrawOverlap",{get:function(){return this.widthOverlap},set:function(t){this.widthOverlap=t;},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"heightDrawOverlap",{get:function(){return this.heightOverlap},set:function(t){this.heightOverlap=t;},enumerable:!1,configurable:!0}),t.prototype.ignoreFeatureTableStyles=function(){this.featureTableStyles=null,this.calculateDrawOverlap();},t.prototype.clearCache=function(){this.clearStylePaintCache(),this.clearIconCache();},t.prototype.clearStylePaintCache=function(){this.featurePaintCache.clear();},Object.defineProperty(t.prototype,"stylePaintCacheSize",{set:function(t){this.featurePaintCache.resize(t);},enumerable:!1,configurable:!0}),t.prototype.clearIconCache=function(){this.iconCache.clear();},Object.defineProperty(t.prototype,"iconCacheSize",{set:function(t){this.iconCache.resize(t);},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"scale",{get:function(){return this._scale},set:function(t){this._scale=t,this.linePaint.strokeWidth=t*this.lineStrokeWidth,this.polygonPaint.strokeWidth=t*this.polygonStrokeWidth,this.featurePaintCache.clear();},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"geometryCacheMaxSize",{set:function(t){this.geometryCache.resize(t);},enumerable:!1,configurable:!0}),t.prototype.calculateDrawOverlap=function(){this.pointIcon?(this.heightOverlap=this.scale*this.pointIcon.getHeight(),this.widthOverlap=this.scale*this.pointIcon.getWidth()):(this.heightOverlap=this.scale*this.pointRadius,this.widthOverlap=this.scale*this.pointRadius);var t=this.scale*this.lineStrokeWidth/2;this.heightOverlap=Math.max(this.heightOverlap,t),this.widthOverlap=Math.max(this.widthOverlap,t);var e=this.scale*this.polygonStrokeWidth/2;if(this.heightOverlap=Math.max(this.heightOverlap,e),this.widthOverlap=Math.max(this.widthOverlap,e),null!=this.featureTableStyles&&this.featureTableStyles.has()){var n=[],r=this.featureTableStyles.getAllTableStyleIds();null!=r&&(n=n.concat(r));var i=this.featureTableStyles.getAllStyleIds();null!=i&&(n=n.concat(i.filter((function(t){return -1===n.indexOf(t)}))));for(var o=this.featureTableStyles.getStyleDao(),a=0;a0))return [3,16];if(!(null==this.maxFeaturesPerTile||g<=this.maxFeaturesPerTile))return [3,13];_=this.getTransformFunction(s),v=this.featureDao.fastQueryBoundingBox(d,s),o.label=2;case 2:o.trys.push([2,9,10,11]),E=a(v),w=E.next(),o.label=3;case 3:if(w.done)return [3,8];if(null==(x=w.value).geometry)return [3,7];C=null,this.cacheGeometries&&(C=this.geometryCache.getGeometry(x.id)),null==C&&(C=x.geometry.geometry.toGeoJSON(),this.geometryCache.setGeometry(x.id,C)),M=this.getFeatureStyle(x),o.label=4;case 4:return o.trys.push([4,6,,7]),[4,this.drawGeometry(C,l,p,M,_)];case 5:return o.sent(),[3,7];case 6:return o.sent(),r.error("Failed to draw feature in tile. Id: "+x.id+", Table: "+this.featureDao.table_name),[3,7];case 7:return w=E.next(),[3,3];case 8:return [3,11];case 9:return S=o.sent(),N={error:S},[3,11];case 10:try{w&&!w.done&&(O=E.return)&&O.call(E);}finally{if(N)throw N.error}return [7];case 11:return [4,b.Canvas.toDataURL(i,"image/"+this.compressFormat)];case 12:return f=o.sent(),[3,15];case 13:return null==this.maxFeaturesTileDraw?[3,15]:[4,this.maxFeaturesTileDraw.drawTile(y,m,g.toString(),i)];case 14:f=o.sent(),o.label=15;case 15:return [3,18];case 16:return [4,b.Canvas.toDataURL(i,"image/"+this.compressFormat)];case 17:f=o.sent(),o.label=18;case 18:return c&&b.Canvas.disposeCanvas(i),[2,f]}}))}))},t.prototype.drawTileWithBoundingBox=function(t,e,n,s){return i(this,void 0,void 0,(function(){var e,i,u,l,c,h,f,p,d,y,m,g,_,v,T,E,w,x;return o(this,(function(o){switch(o.label){case 0:return e=this.tileWidth,i=this.tileHeight,l=!1,[4,b.Canvas.initializeAdapter()];case 1:o.sent(),null!=s?u=s:(u=b.Canvas.create(e,i),l=!0),(c=u.getContext("2d")).clearRect(0,0,e,i),h=this.featureDao,f=h.queryForEach(void 0,void 0,void 0,void 0,void 0,[h.table.getIdColumn().getName(),h.table.getGeometryColumn().getName()]),p=this.getTransformFunction(n),o.label=2;case 2:o.trys.push([2,9,10,11]),d=a(f),y=d.next(),o.label=3;case 3:if(y.done)return [3,8];if(m=y.value,null==(g=h.getRow(m)).geometry)return [3,7];if(_=null,this.cacheGeometries&&(_=this.geometryCache.getGeometryForFeatureRow(g)),null==_&&(_=g.geometry.geometry.toGeoJSON(),this.geometryCache.setGeometry(g.id,_)),null==_)return [3,7];v=this.getFeatureStyle(g),o.label=4;case 4:return o.trys.push([4,6,,7]),[4,this.drawGeometry(_,c,t,v,p)];case 5:return o.sent(),[3,7];case 6:return o.sent(),r.error("Failed to draw feature in tile. Id: "+g.id+", Table: "+this.featureDao.table_name),[3,7];case 7:return y=d.next(),[3,3];case 8:return [3,11];case 9:return T=o.sent(),w={error:T},[3,11];case 10:try{y&&!y.done&&(x=d.return)&&x.call(d);}finally{if(w)throw w.error}return [7];case 11:return [4,b.Canvas.toDataURL(u,"image/"+this.compressFormat)];case 12:return E=o.sent(),l&&b.Canvas.disposeCanvas(u),[2,E]}}))}))},t.prototype.drawPoint=function(t,e,n,r,a){return i(this,void 0,void 0,(function(){var i,s,u,l,c,f,p,d,y,m,g,_,b,v;return o(this,(function(o){switch(o.label){case 0:return c=a(t.coordinates),f=h.TileBoundingBoxUtils.getXPixel(this.tileWidth,n,c[0]),p=h.TileBoundingBoxUtils.getYPixel(this.tileHeight,n,c[1]),null!=r&&r.useIcon()?(d=r.icon,[4,this.iconCache.createIcon(d)]):[3,2];case 1:return y=o.sent(),i=Math.round(this.scale*y.width),s=Math.round(this.scale*y.height),f>=0-i&&f<=this.tileWidth+i&&p>=0-s&&p<=this.tileHeight+s&&(u=Math.round(f-d.anchorUOrDefault*i),l=Math.round(p-d.anchorVOrDefault*s),e.drawImage(y.image,u,l,i,s)),[3,3];case 2:if(null!=this.pointIcon){if(i=Math.round(this.scale*this.pointIcon.getWidth()),s=Math.round(this.scale*this.pointIcon.getHeight()),f>=0-i&&f<=this.tileWidth+i&&p>=0-s&&p<=this.tileHeight+s){u=Math.round(f-this.scale*this.pointIcon.getXOffset()),l=Math.round(p-this.scale*this.pointIcon.getYOffset());try{e.drawImage(this.pointIcon.getIcon().image,u,l,i,s);}catch(t){}}}else e.save(),m=null,null!=r&&null!=(g=r.style)&&(m=this.scale*(g.getWidthOrDefault()/2)),null==m&&(m=this.scale*this.pointRadius),_=this.getPointPaint(r),f>=0-m&&f<=this.tileWidth+m&&p>=0-m&&p<=this.tileHeight+m&&(b=Math.round(f),v=Math.round(p),e.beginPath(),e.arc(b,v,m,0,2*Math.PI,!0),e.closePath(),e.fillStyle=_.colorRGBA,e.fill()),e.restore();o.label=3;case 3:return [2]}}))}))},t.prototype.simplifyPoints=function(t,e){return void 0===e&&(e=!1),(0,c.default)(t.map((function(t){return {x:t[0],y:t[1]}})),this.simplifyToleranceInPixels,!1).map((function(t){return [t.x,t.y]}))},t.prototype.getPath=function(t,e,n,r,i){var o=this;void 0===r&&(r=!1);var a=t.coordinates.map((function(t){var e=i(t.slice());return [h.TileBoundingBoxUtils.getXPixel(o.tileWidth,n,e[0]),h.TileBoundingBoxUtils.getYPixel(o.tileHeight,n,e[1])]})),s=this.simplifyGeometries?this.simplifyPoints(a,r):a;if(s.length>1){e.moveTo(s[0][0],s[0][1]);for(var u=1;u{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Paint=void 0;var n=function(){function t(){this._color="#000000FF",this._strokeWidth=1;}return Object.defineProperty(t.prototype,"color",{get:function(){return this._color},set:function(t){this._color=t;},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"colorRGBA",{get:function(){var t=parseInt(this.color.substr(1,2),16),e=parseInt(this.color.substr(3,2),16),n=parseInt(this.color.substr(5,2),16),r=1;return this.color.length>7&&(r=parseInt(this.color.substr(7,2),16)/255),"rgba("+t+","+e+","+n+","+r+")"},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"strokeWidth",{get:function(){return this._strokeWidth},set:function(t){this._strokeWidth=t;},enumerable:!1,configurable:!0}),t}();e.Paint=n;},9325:function(t,e,n){"use strict";var r=n(5108),i=this&&this.__awaiter||function(t,e,n,r){return new(n||(n=Promise))((function(i,o){function a(t){try{u(r.next(t));}catch(t){o(t);}}function s(t){try{u(r.throw(t));}catch(t){o(t);}}function u(t){var e;t.done?i(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e);}))).then(a,s);}u((r=r.apply(t,e||[])).next());}))},o=this&&this.__generator||function(t,e){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(s){return function(u){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;o&&(o=0,s[0]&&(a=0)),a;)try{if(n=1,r&&(i=2&s[0]?r.return:s[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,s[1])).done)return i;switch(r=0,i&&(s=[2&s[0],i.value]),s[0]){case 0:case 1:i=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,r=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!((i=(i=a.trys).length>0&&i[i.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!i||s[1]>i[0]&&s[1]{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TileMatrix=void 0;var n=function(){function t(){}return Object.defineProperty(t.prototype,"contents",{set:function(t){t&&"tiles"===t.data_type&&(this.table_name=t.table_name);},enumerable:!1,configurable:!0}),t.TABLE_NAME="tableName",t.ZOOM_LEVEL="zoomLevel",t.MATRIX_WIDTH="matrixWidth",t.MATRIX_HEIGHT="matrixHeight",t.TILE_WIDTH="tileWidth",t.TILE_HEIGHT="tileHeight",t.PIXEL_X_SIZE="pixelXSize",t.PIXEL_Y_SIZE="pixelYSize",t}();e.TileMatrix=n;},3506:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);});Object.defineProperty(e,"__esModule",{value:!0}),e.TileMatrixDao=void 0;var o=n(4115),a=n(1938),s=n(8877),u=n(8334),l=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.gpkgTableName="gpkg_tile_matrix",n.idColumns=[e.COLUMN_PK1,e.COLUMN_PK2],n.columns=[e.COLUMN_TABLE_NAME,e.COLUMN_ZOOM_LEVEL,e.COLUMN_MATRIX_WIDTH,e.COLUMN_MATRIX_HEIGHT,e.COLUMN_TILE_WIDTH,e.COLUMN_TILE_HEIGHT,e.COLUMN_PIXEL_X_SIZE,e.COLUMN_PIXEL_Y_SIZE],n}return i(e,t),e.prototype.createObject=function(t){var e=new a.TileMatrix;return t&&(e.table_name=t.table_name,e.zoom_level=t.zoom_level,e.matrix_width=t.matrix_width,e.matrix_height=t.matrix_height,e.tile_width=t.tile_width,e.tile_height=t.tile_height,e.pixel_x_size=t.pixel_x_size,e.pixel_y_size=t.pixel_y_size),e},e.prototype.getContents=function(t){return this.geoPackage.contentsDao.queryForId(t.table_name)},e.prototype.getTileMatrixSet=function(t){return this.geoPackage.tileMatrixSetDao.queryForId(t.table_name)},e.prototype.tileCount=function(t){var e=this.buildWhereWithFieldAndValue(u.TileColumn.COLUMN_ZOOM_LEVEL,t.zoom_level),n=this.buildWhereArgs([t.zoom_level]),r=s.SqliteQueryBuilder.buildCount("'"+t.table_name+"'",e),i=this.connection.get(r,n);return null==i?void 0:i.count},e.prototype.hasTiles=function(t){var e=this.buildWhereWithFieldAndValue(u.TileColumn.COLUMN_ZOOM_LEVEL,t.zoom_level),n=this.buildWhereArgs([t.zoom_level]),r=s.SqliteQueryBuilder.buildQuery(!1,"'"+t.table_name+"'",void 0,e);return null!=this.connection.get(r,n)},e.TABLE_NAME="gpkg_tile_matrix",e.COLUMN_PK1="table_name",e.COLUMN_PK2="zoom_level",e.COLUMN_TABLE_NAME="table_name",e.COLUMN_ZOOM_LEVEL="zoom_level",e.COLUMN_MATRIX_WIDTH="matrix_width",e.COLUMN_MATRIX_HEIGHT="matrix_height",e.COLUMN_TILE_WIDTH="tile_width",e.COLUMN_TILE_HEIGHT="tile_height",e.COLUMN_PIXEL_X_SIZE="pixel_x_size",e.COLUMN_PIXEL_Y_SIZE="pixel_y_size",e}(o.Dao);e.TileMatrixDao=l;},5899:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TileMatrixSet=void 0;var r=n(2527),i=function(){function t(){}return Object.defineProperty(t.prototype,"boundingBox",{get:function(){return new r.BoundingBox(this.min_x,this.max_x,this.min_y,this.max_y)},set:function(t){this.min_x=t.minLongitude,this.max_x=t.maxLongitude,this.min_y=t.minLatitude,this.max_y=t.maxLatitude;},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"contents",{set:function(t){t&&"tiles"===t.data_type&&(this.table_name=t.table_name);},enumerable:!1,configurable:!0}),t.TABLE_NAME="tableName",t.MIN_X="minX",t.MIN_Y="minY",t.MAX_X="maxX",t.MAX_Y="maxY",t.SRS_ID="srsId",t}();e.TileMatrixSet=i;},5925:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);}),o=this&&this.__values||function(t){var e="function"==typeof Symbol&&Symbol.iterator,n=e&&t[e],r=0;if(n)return n.call(t);if(t&&"number"==typeof t.length)return {next:function(){return t&&r>=t.length&&(t=void 0),{value:t&&t[r++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.TileMatrixSetDao=void 0;var a=n(4115),s=n(5899),u=function(t){function e(n){var r=t.call(this,n)||this;return r.gpkgTableName="gpkg_tile_matrix_set",r.idColumns=[e.COLUMN_PK],r.columns=[e.COLUMN_TABLE_NAME,e.COLUMN_SRS_ID,e.COLUMN_MIN_X,e.COLUMN_MIN_Y,e.COLUMN_MAX_X,e.COLUMN_MAX_Y],r.columnToPropertyMap={},r.columnToPropertyMap[e.COLUMN_TABLE_NAME]=s.TileMatrixSet.TABLE_NAME,r.columnToPropertyMap[e.COLUMN_SRS_ID]=s.TileMatrixSet.SRS_ID,r.columnToPropertyMap[e.COLUMN_MIN_X]=s.TileMatrixSet.MIN_X,r.columnToPropertyMap[e.COLUMN_MIN_Y]=s.TileMatrixSet.MIN_Y,r.columnToPropertyMap[e.COLUMN_MAX_X]=s.TileMatrixSet.MAX_X,r.columnToPropertyMap[e.COLUMN_MAX_Y]=s.TileMatrixSet.MAX_Y,r}return i(e,t),e.prototype.createObject=function(t){var e=new s.TileMatrixSet;return t&&(e.table_name=t.table_name,e.srs_id=t.srs_id,e.min_y=t.min_y,e.min_x=t.min_x,e.max_y=t.max_y,e.max_x=t.max_x),e},e.prototype.getTileTables=function(){var t,n,r=[];try{for(var i=o(this.connection.each("select "+e.COLUMN_TABLE_NAME+" from "+e.TABLE_NAME)),a=i.next();!a.done;a=i.next()){var s=a.value;r.push(s[e.COLUMN_TABLE_NAME]);}}catch(e){t={error:e};}finally{try{a&&!a.done&&(n=i.return)&&n.call(i);}finally{if(t)throw t.error}}return r},e.prototype.getProjection=function(t){var e=this.getSrs(t);if(e)return this.geoPackage.spatialReferenceSystemDao.getProjection(e)},e.prototype.getSrs=function(t){return this.geoPackage.spatialReferenceSystemDao.queryForId(t.srs_id)},e.prototype.getContents=function(t){return this.geoPackage.contentsDao.queryForId(t.table_name)},e.TABLE_NAME="gpkg_tile_matrix_set",e.COLUMN_PK="table_name",e.COLUMN_TABLE_NAME="table_name",e.COLUMN_SRS_ID="srs_id",e.COLUMN_MIN_X="min_x",e.COLUMN_MIN_Y="min_y",e.COLUMN_MAX_X="max_x",e.COLUMN_MAX_Y="max_y",e}(a.Dao);e.TileMatrixSetDao=u;},731:function(t,e,n){"use strict";var r=this&&this.__awaiter||function(t,e,n,r){return new(n||(n=Promise))((function(i,o){function a(t){try{u(r.next(t));}catch(t){o(t);}}function s(t){try{u(r.throw(t));}catch(t){o(t);}}function u(t){var e;t.done?i(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e);}))).then(a,s);}u((r=r.apply(t,e||[])).next());}))},i=this&&this.__generator||function(t,e){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(s){return function(u){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;o&&(o=0,s[0]&&(a=0)),a;)try{if(n=1,r&&(i=2&s[0]?r.return:s[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,s[1])).done)return i;switch(r=0,i&&(s=[2&s[0],i.value]),s[0]){case 0:case 1:i=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,r=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!((i=(i=a.trys).length>0&&i[i.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!i||s[1]>i[0]&&s[1]=t.length&&(t=void 0),{value:t&&t[r++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.GeoPackageTileRetriever=void 0;var a=n(3684),s=n(7977),u=n(2777),l=n(5604),c=n(1375),h=function(){function t(t,e,n){this.tileDao=t,this.tileDao.adjustTileMatrixLengths(),this.width=e,this.height=n,this.scaling=null;}return t.prototype.setScaling=function(t){this.scaling=t;},t.prototype.getWebMercatorBoundingBox=function(){return null==this.setWebMercatorBoundingBox&&(this.setWebMercatorBoundingBox=this.tileDao.tileMatrixSet.boundingBox.projectBoundingBox(this.tileDao.projection,c.ProjectionConstants.EPSG_3857)),this.setWebMercatorBoundingBox},t.prototype.hasTile=function(t,e,n){var r=!1;if(t>=0&&e>=0&&n>=0){var i=a.TileBoundingBoxUtils.getWebMercatorBoundingBoxFromXYZ(t,e,n);r=this.hasTileForBoundingBox(i,c.ProjectionConstants.EPSG_3857);}return r},t.prototype.hasTileForBoundingBox=function(t,e){for(var n=t.projectBoundingBox(e,this.tileDao.projection),r=this.getTileMatrices(n),i=!1,o=0;!i&&o0;}return i},t.prototype.getTile=function(t,e,n){return r(this,void 0,void 0,(function(){var r;return i(this,(function(i){return r=a.TileBoundingBoxUtils.getWebMercatorBoundingBoxFromXYZ(t,e,n),[2,this.getTileWithBounds(r,c.ProjectionConstants.EPSG_3857)]}))}))},t.prototype.getWebMercatorTile=function(t,e,n){return r(this,void 0,void 0,(function(){var r;return i(this,(function(i){return r=a.TileBoundingBoxUtils.getWebMercatorBoundingBoxFromXYZ(t,e,n),[2,this.getTileWithBounds(r,c.ProjectionConstants.EPSG_3857)]}))}))},t.prototype.drawTileIn=function(t,e,n,o){return r(this,void 0,void 0,(function(){var r;return i(this,(function(i){return r=a.TileBoundingBoxUtils.getWebMercatorBoundingBoxFromXYZ(t,e,n),[2,this.getTileWithBounds(r,c.ProjectionConstants.EPSG_3857,o)]}))}))},t.prototype.getTileWithWgs84Bounds=function(t,e){return r(this,void 0,void 0,(function(){var n;return i(this,(function(r){return n=t.projectBoundingBox(c.ProjectionConstants.EPSG_4326,c.ProjectionConstants.EPSG_3857),[2,this.getTileWithBounds(n,c.ProjectionConstants.EPSG_3857,e)]}))}))},t.prototype.getTileWithWgs84BoundsInProjection=function(t,e,n,o){return r(this,void 0,void 0,(function(){var e;return i(this,(function(r){return e=t.projectBoundingBox(c.ProjectionConstants.EPSG_4326,n),[2,this.getTileWithBounds(e,n,o)]}))}))},t.prototype.getTileWithBounds=function(t,e,n){return r(this,void 0,void 0,(function(){var r,u,c,h,f,p,d,y,m,g,_,b,v,T,E,w,x,C,M,S,N;return i(this,(function(i){switch(i.label){case 0:if(null==(r=l.Projection.hasProjection(e)))throw new Error("Projection "+e+" is not loaded.");u=t.projectBoundingBox(e,this.tileDao.projection),c=this.getTileMatrices(u),h=!1,f=null,p=0,i.label=1;case 1:return !h&&p=p;h--)f.push(h);}if(0==l.length)s=f;else if(0==f.length)s=l;else {var d=this.scaling.scaling_type;switch(d){case u.TileScalingType.IN:case u.TileScalingType.IN_OUT:s=l.concat(f);break;case u.TileScalingType.OUT:case u.TileScalingType.OUT_IN:s=f.concat(l);break;case u.TileScalingType.CLOSEST_IN_OUT:case u.TileScalingType.CLOSEST_OUT_IN:var y=void 0,m=void 0;d==u.TileScalingType.CLOSEST_IN_OUT?(y=l,m=f):(y=f,m=l),s=[];for(var g=Math.max(y.length,m.length),_=0;_{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TileBoundingBoxUtils=void 0;var r=n(1375),i=n(7218),o=n(2527),a=function(){function t(){}return t.webMercatorTileBox=function(e,n){var i=t.tilesPerSideWithZoom(n),a=t.tileSizeWithTilesPerSide(i),s=Math.max(-r.ProjectionConstants.WEB_MERCATOR_HALF_WORLD_WIDTH,e.minLongitude),u=Math.min(r.ProjectionConstants.WEB_MERCATOR_HALF_WORLD_WIDTH,e.maxLongitude),l=Math.max(-r.ProjectionConstants.WEB_MERCATOR_HALF_WORLD_WIDTH,e.minLatitude),c=Math.min(r.ProjectionConstants.WEB_MERCATOR_HALF_WORLD_WIDTH,e.maxLatitude),h=Math.floor((s+r.ProjectionConstants.WEB_MERCATOR_HALF_WORLD_WIDTH)/a),f=Math.max(0,Math.ceil((u+r.ProjectionConstants.WEB_MERCATOR_HALF_WORLD_WIDTH)/a)-1),p=Math.floor((r.ProjectionConstants.WEB_MERCATOR_HALF_WORLD_WIDTH-c)/a),d=Math.max(0,Math.ceil((r.ProjectionConstants.WEB_MERCATOR_HALF_WORLD_WIDTH-l)/a)-1);return new o.BoundingBox(h,f,p,d)},t.wgs84TileBox=function(e,n){var i=t.tilesPerWGS84LatSide(n),a=t.tilesPerWGS84LonSide(n),s=t.tileSizeLatPerWGS84Side(i),u=t.tileSizeLonPerWGS84Side(a),l=Math.max(-r.ProjectionConstants.WGS84_HALF_WORLD_LON_WIDTH,e.minLongitude),c=Math.min(r.ProjectionConstants.WGS84_HALF_WORLD_LON_WIDTH,e.maxLongitude),h=Math.max(-r.ProjectionConstants.WGS84_HALF_WORLD_LAT_HEIGHT,e.minLatitude),f=Math.min(r.ProjectionConstants.WGS84_HALF_WORLD_LAT_HEIGHT,e.maxLatitude),p=Math.floor((l+r.ProjectionConstants.WGS84_HALF_WORLD_LON_WIDTH)/u),d=Math.max(0,Math.ceil((c+r.ProjectionConstants.WGS84_HALF_WORLD_LON_WIDTH)/u)-1),y=Math.floor((r.ProjectionConstants.WGS84_HALF_WORLD_LAT_HEIGHT-f)/s),m=Math.max(0,Math.ceil((r.ProjectionConstants.WGS84_HALF_WORLD_LAT_HEIGHT-h)/s)-1);return new o.BoundingBox(p,d,y,m)},t.determinePositionAndScale=function(t,e,n,r,i,o){var a={},s=r.maxLongitude-r.minLongitude,u=(t.minLongitude-r.minLongitude)/s,l=r.maxLatitude-r.minLatitude,c=(r.maxLatitude-t.maxLatitude)/l,h=o/s,f=(t.maxLongitude-t.minLongitude)*h,p=i/l,d=(t.maxLatitude-t.minLatitude)*p;return a.yPositionInFinalTileStart=c*i,a.xPositionInFinalTileStart=u*o,a.dx=a.xPositionInFinalTileStart,a.dy=a.yPositionInFinalTileStart,a.sx=0,a.sy=0,a.dWidth=f,a.dHeight=d,a.sWidth=n,a.sHeight=e,a},t.getWebMercatorBoundingBoxFromXYZ=function(e,n,i,a){for(var s=t.tilesPerSideWithZoom(i),u=t.tileSizeWithTilesPerSide(s);e<0;)e+=s;for(;e>=s;)e-=s;var l=0;if(a&&a.buffer&&a.tileSize){var c=a.buffer;l=u/a.tileSize*c;}var h=-1*r.ProjectionConstants.WEB_MERCATOR_HALF_WORLD_WIDTH+e*u-l,f=-1*r.ProjectionConstants.WEB_MERCATOR_HALF_WORLD_WIDTH+(e+1)*u+l,p=r.ProjectionConstants.WEB_MERCATOR_HALF_WORLD_WIDTH-(n+1)*u-l,d=r.ProjectionConstants.WEB_MERCATOR_HALF_WORLD_WIDTH-n*u+l;return h=Math.max(-1*r.ProjectionConstants.WEB_MERCATOR_HALF_WORLD_WIDTH,h),f=Math.min(r.ProjectionConstants.WEB_MERCATOR_HALF_WORLD_WIDTH,f),p=Math.max(-1*r.ProjectionConstants.WEB_MERCATOR_HALF_WORLD_WIDTH,p),d=Math.min(r.ProjectionConstants.WEB_MERCATOR_HALF_WORLD_WIDTH,d),new o.BoundingBox(h,f,p,d)},t.getWGS84BoundingBoxFromXYZ=function(e,n,i){var a=t.tilesPerWGS84LatSide(i),s=t.tilesPerWGS84LonSide(i),u=t.tileSizeLatPerWGS84Side(a),l=t.tileSizeLonPerWGS84Side(s),c=-1*r.ProjectionConstants.WGS84_HALF_WORLD_LON_WIDTH+e*l,h=-1*r.ProjectionConstants.WGS84_HALF_WORLD_LON_WIDTH+(e+1)*l,f=r.ProjectionConstants.WGS84_HALF_WORLD_LAT_HEIGHT-(n+1)*u,p=r.ProjectionConstants.WGS84_HALF_WORLD_LAT_HEIGHT-n*u;return new o.BoundingBox(c,h,f,p)},t.tileSizeWithTilesPerSide=function(t){return 2*r.ProjectionConstants.WEB_MERCATOR_HALF_WORLD_WIDTH/t},t.intersects=function(e,n){return null!=t.intersection(e,n)},t.intersection=function(t,e){var n=Math.max(t.minLongitude,e.minLongitude),r=Math.max(t.minLatitude,e.minLatitude),i=Math.min(t.maxLongitude,e.maxLongitude),a=Math.min(t.maxLatitude,e.maxLatitude);return n>i||r>a?null:new o.BoundingBox(n,i,r,a)},t.tilesPerSideWithZoom=function(t){return 1<=0&&(a<0&&(a=0),s>=n&&(s=n-1));var u=t.getRowWithTotalBoundingBox(e,r,o.minLatitude),l=t.getRowWithTotalBoundingBox(e,r,o.maxLatitude);return l=0&&(l<0&&(l=0),u>=r&&(u=r-1)),new i.TileGrid(a,s,l,u)},t.getTileColumnWithTotalBoundingBox=function(t,e,n){var r=t.minLongitude,i=t.maxLongitude;return n=i?e:~~((n-r)/((i-r)/e))},t.getRowWithTotalBoundingBox=function(t,e,n){var r=t.minLatitude,i=t.maxLatitude;return n=i?-1:~~((i-n)/((i-r)/e))},t.getTileBoundingBox=function(t,e,n,r){var a=e.matrix_width,s=e.matrix_height,u=new i.TileGrid(n,n,r,r),l=t.minLongitude,c=(t.maxLongitude-l)/a,h=l+c*u.min_x,f=h+c*(u.max_x+1-u.min_x),p=t.minLatitude,d=t.maxLatitude,y=(d-p)/s,m=d-y*u.min_y,g=m-y*(u.max_y+1-u.min_y);return new o.BoundingBox(h,f,g,m)},t.getTileGridBoundingBox=function(t,e,n,r){var i=t.minLongitude,a=t.width/e,s=i+a*r.min_x,u=s+a*(r.max_x+1-r.min_x),l=t.maxLatitude,c=t.height/n,h=l-c*r.min_y,f=h-c*(r.max_y+1-r.min_y);return new o.BoundingBox(s,u,f,h)},t.getXPixel=function(t,e,n){return (n-e.minLongitude)/e.width*t},t.getLongitudeFromPixel=function(t,e,n,r){return r/t*n.width+e.minLongitude},t.getYPixel=function(t,e,n){return (e.maxLatitude-n)/e.height*t},t.getLatitudeFromPixel=function(t,e,n,r){return e.maxLatitude-r/t*n.height},t.tileSize=function(t){return 2*r.ProjectionConstants.WEB_MERCATOR_HALF_WORLD_WIDTH/t},t.zoomLevelOfTileSize=function(t){var e=2*r.ProjectionConstants.WEB_MERCATOR_HALF_WORLD_WIDTH/t;return Math.log(e)/Math.log(2)},t.tileWidthDegrees=function(t){return 360/t},t.prototype.statictileHeightDegrees=function(t){return 180/t},t.tilesPerSide=function(t){return Math.pow(2,t)},t.tileSizeWithZoom=function(t){var e=this.tilesPerSide(t);return this.tileSize(e)},t.toleranceDistance=function(t,e){return this.tileSizeWithZoom(t)/e},t.toleranceDistanceWidthAndHeight=function(t,e,n){return this.toleranceDistance(t,Math.max(e,n))},t.getFloatRoundedRectangle=function(e,n,r,i){var o=Math.round(t.getXPixel(e,r,i.minLongitude)),a=Math.round(t.getXPixel(e,r,i.maxLongitude)),s=Math.round(t.getYPixel(n,r,i.maxLatitude)),u=Math.round(t.getYPixel(n,r,i.minLatitude));return {left:o,right:a,bottom:u,top:s,isValid:o{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TileGrid=void 0;var n=function(){function t(t,e,n,r){this.min_x=t,this.max_x=e,this.min_y=n,this.max_y=r;}return t.prototype.count=function(){return (this.max_x+1-this.min_x)*(this.max_y+1-this.min_y)},t.prototype.equals=function(t){return !!t&&this.min_x===t.min_x&&this.max_x===t.max_x&&this.min_y===t.min_y&&this.max_y===t.max_y},t}();e.TileGrid=n;},8334:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);});Object.defineProperty(e,"__esModule",{value:!0}),e.TileColumn=void 0;var o=n(5865),a=n(7319),s=n(5071),u=function(t){function e(e,n,r,i,o,a,s,u){return t.call(this,e,n,r,i,o,a,s,u)||this}return i(e,t),e.createIdColumn=function(t,n){return void 0===n&&(n=s.UserTableDefaults.DEFAULT_AUTOINCREMENT),new e(t,e.COLUMN_ID,a.GeoPackageDataType.INTEGER,null,!1,null,!0,n)},e.createZoomLevelColumn=function(t){return new e(t,e.COLUMN_ZOOM_LEVEL,a.GeoPackageDataType.INTEGER,null,!0,null,!1,!1)},e.createTileColumnColumn=function(t){return new e(t,e.COLUMN_TILE_COLUMN,a.GeoPackageDataType.INTEGER,null,!0,null,!1,!1)},e.createTileRowColumn=function(t){return new e(t,e.COLUMN_TILE_ROW,a.GeoPackageDataType.INTEGER,null,!0,null,!1,!1)},e.createTileDataColumn=function(t){return new e(t,e.COLUMN_TILE_DATA,a.GeoPackageDataType.BLOB,null,!0,null,!1,!1)},e.createColumn=function(t,n,r,i,o,a,s){return void 0===i&&(i=!1),new e(t,n,r,a,i,o,!1,s)},e.COLUMN_ID="id",e.COLUMN_ZOOM_LEVEL="zoom_level",e.COLUMN_TILE_COLUMN="tile_column",e.COLUMN_TILE_ROW="tile_row",e.COLUMN_TILE_DATA="tile_data",e}(o.UserColumn);e.TileColumn=u;},6295:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);});Object.defineProperty(e,"__esModule",{value:!0}),e.TileColumns=void 0;var o=n(7319),a=function(t){function e(e,n,r){var i=t.call(this,e,n,r)||this;return i.zoomLevelIndex=-1,i.tileColumnIndex=-1,i.tileRowIndex=-1,i.tileDataIndex=-1,i.updateColumns(),i}return i(e,t),e.prototype.copy=function(){var t=new e(this._tableName,this._columns,this._custom);return t.zoomLevelIndex=this.zoomLevelIndex,t.tileColumnIndex=this.tileColumnIndex,t.tileRowIndex=this.tileRowIndex,t.tileDataIndex=this.tileDataIndex,t},e.prototype.updateColumns=function(){t.prototype.updateColumns.call(this);var n=this.getColumnIndex(e.ZOOM_LEVEL,!1);this.isCustom()||this.missingCheck(n,e.ZOOM_LEVEL),null!==n&&(this.typeCheck(o.GeoPackageDataType.INTEGER,this.getColumnForIndex(n)),this.zoomLevelIndex=n);var r=this.getColumnIndex(e.TILE_COLUMN,!1);this.isCustom()||this.missingCheck(r,e.TILE_COLUMN),null!=r&&(this.typeCheck(o.GeoPackageDataType.INTEGER,this.getColumnForIndex(r)),this.tileColumnIndex=r);var i=this.getColumnIndex(e.TILE_ROW,!1);this.isCustom()||this.missingCheck(i,e.TILE_ROW),null!=i&&(this.typeCheck(o.GeoPackageDataType.INTEGER,this.getColumnForIndex(i)),this.tileRowIndex=i);var a=this.getColumnIndex(e.TILE_DATA,!1);this.isCustom()||this.missingCheck(a,e.TILE_DATA),null!=a&&(this.typeCheck(o.GeoPackageDataType.BLOB,this.getColumnForIndex(a)),this.tileDataIndex=a);},e.prototype.getZoomLevelIndex=function(){return this.zoomLevelIndex},e.prototype.setZoomLevelIndex=function(t){this.zoomLevelIndex=t;},e.prototype.hasZoomLevelColumn=function(){return this.zoomLevelIndex>=0},e.prototype.getZoomLevelColumn=function(){var t=null;return this.hasZoomLevelColumn()&&(t=this.getColumnForIndex(this.zoomLevelIndex)),t},e.prototype.getTileColumnIndex=function(){return this.tileColumnIndex},e.prototype.setTileColumnIndex=function(t){this.tileColumnIndex=t;},e.prototype.hasTileColumnColumn=function(){return this.tileColumnIndex>=0},e.prototype.getTileColumnColumn=function(){var t=null;return this.hasTileColumnColumn()&&(t=this.getColumnForIndex(this.tileColumnIndex)),t},e.prototype.getTileRowIndex=function(){return this.tileRowIndex},e.prototype.setTileRowIndex=function(t){this.tileRowIndex=t;},e.prototype.hasTileRowColumn=function(){return this.tileRowIndex>=0},e.prototype.getTileRowColumn=function(){var t=null;return this.hasTileRowColumn()&&(t=this.getColumnForIndex(this.tileRowIndex)),t},e.prototype.getTileDataIndex=function(){return this.tileDataIndex},e.prototype.setTileDataIndex=function(t){this.tileDataIndex=t;},e.prototype.hasTileDataColumn=function(){return this.tileDataIndex>=0},e.prototype.getTileDataColumn=function(){var t=null;return this.hasTileDataColumn()&&(t=this.getColumnForIndex(this.tileDataIndex)),t},e.ID="id",e.ZOOM_LEVEL="zoom_level",e.TILE_COLUMN="tile_column",e.TILE_ROW="tile_row",e.TILE_DATA="tile_data",e}(n(2114).UserColumns);e.TileColumns=a;},1394:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);}),o=this&&this.__values||function(t){var e="function"==typeof Symbol&&Symbol.iterator,n=e&&t[e],r=0;if(n)return n.call(t);if(t&&"number"==typeof t.length)return {next:function(){return t&&r>=t.length&&(t=void 0),{value:t&&t[r++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.TileDao=void 0;var a=n(4668),s=n(3506),u=n(5925),l=n(1332),c=n(8334),h=n(7218),f=n(8572),p=n(3684),d=n(2527),y=n(1584),m=n(5604),g=n(1375),_=function(t){function e(e,n,r,i){var o=t.call(this,e,n)||this;o.tileMatrixSet=r,o.tileMatrices=i,o.zoomLevelToTileMatrix=[],o.widths=[],o.heights=[],0===i.length?(o.minZoom=0,o.maxZoom=0):(o.minZoom=o.tileMatrices[0].zoom_level,o.maxZoom=o.tileMatrices[o.tileMatrices.length-1].zoom_level);for(var a=o.tileMatrices.length-1;a>=0;a--){var s=o.tileMatrices[a];o.zoomLevelToTileMatrix[s.zoom_level]=s;}return o.initialize(),o}return i(e,t),e.prototype.initialize=function(){var t=this.geoPackage.tileMatrixSetDao;this.srs=t.getSrs(this.tileMatrixSet),this.projection=[this.srs.organization.toUpperCase(),this.srs.organization_coordsys_id].join(":"),m.Projection.loadProjection(this.projection,this.srs.definition);for(var e=this.tileMatrices.length-1;e>=0;e--){var n=this.tileMatrices[e],r=n.pixel_x_size*n.tile_width,i=n.pixel_y_size*n.tile_height,o=m.Projection.getConverter(this.projection);o.to_meter&&(r=o.to_meter*n.pixel_x_size*n.tile_width,i=o.to_meter*n.pixel_y_size*n.tile_height),this.widths.push(r),this.heights.push(i);}this.setWebMapZoomLevels();},e.prototype.webZoomToGeoPackageZoom=function(t){var e=p.TileBoundingBoxUtils.getWebMercatorBoundingBoxFromXYZ(0,0,t);return this.determineGeoPackageZoomLevel(e,t)},e.prototype.setWebMapZoomLevels=function(){this.minWebMapZoom=20,this.maxWebMapZoom=0,this.webZoomToGeoPackageZooms={};for(var t=this.tileMatrixSet.max_x-this.tileMatrixSet.min_x,e=this.tileMatrixSet.max_y-this.tileMatrixSet.min_y,n=0;nh&&(this.minWebMapZoom=h),this.maxWebMapZoom~~r.matrix_width&&(r.matrix_width=~~i),o>~~r.matrix_height&&(r.matrix_height=~~o);}},e.prototype.getTileMatrixWithZoomLevel=function(t){return this.zoomLevelToTileMatrix[t]},e.prototype.getZoomLevelForLength=function(t){return y.TileDaoUtils.getZoomLevelForLength(this.widths,this.heights,this.tileMatrices,t)},e.prototype.getZoomLevelForWidthAndHeight=function(t,e){return y.TileDaoUtils.getZoomLevelForWidthAndHeight(this.widths,this.heights,this.tileMatrices,t,e)},e.prototype.getClosestZoomLevelForLength=function(t){return y.TileDaoUtils.getClosestZoomLevelForLength(this.widths,this.heights,this.tileMatrices,t)},e.prototype.getClosestZoomLevelForWidthAndHeight=function(t,e){return y.TileDaoUtils.getClosestZoomLevelForWidthAndHeight(this.widths,this.heights,this.tileMatrices,t,e)},e.prototype.getApproximateZoomLevelForLength=function(t){return y.TileDaoUtils.getApproximateZoomLevelForLength(this.widths,this.heights,this.tileMatrices,t)},e.prototype.getApproximateZoomLevelForWidthAndHeight=function(t,e){return y.TileDaoUtils.getApproximateZoomLevelForWidthAndHeight(this.widths,this.heights,this.tileMatrices,t,e)},e.prototype.getMaxLength=function(){return y.TileDaoUtils.getMaxLengthForTileWidthsAndHeights(this.widths,this.heights)},e.prototype.getMinLength=function(){return y.TileDaoUtils.getMinLengthForTileWidthsAndHeights(this.widths,this.heights)},e.prototype.queryForTile=function(t,e,n){var r,i,a,s=new f.ColumnValues;s.addColumn(c.TileColumn.COLUMN_TILE_COLUMN,t),s.addColumn(c.TileColumn.COLUMN_TILE_ROW,e),s.addColumn(c.TileColumn.COLUMN_ZOOM_LEVEL,n);try{for(var u=o(this.queryForFieldValues(s)),l=u.next();!l.done;l=u.next()){var h=l.value;a=this.getRow(h);}}catch(t){r={error:t};}finally{try{l&&!l.done&&(i=u.return)&&i.call(u);}finally{if(r)throw r.error}}return a},e.prototype.queryForTilesWithZoomLevel=function(t){var e,n=this,r=this.queryForEach(c.TileColumn.COLUMN_ZOOM_LEVEL,t);return (e={})[Symbol.iterator]=function(){return this},e.next=function(){var t=r.next();return t.done?{value:void 0,done:!0}:{value:n.getRow(t.value),done:!1}},e},e.prototype.queryForTilesDescending=function(t){var e,n=this,r=this.queryForEach(c.TileColumn.COLUMN_ZOOM_LEVEL,t,void 0,void 0,c.TileColumn.COLUMN_TILE_COLUMN+" DESC, "+c.TileColumn.COLUMN_TILE_ROW+" DESC");return (e={})[Symbol.iterator]=function(){return this},e.next=function(){var t=r.next();return t.done?{value:void 0,done:!0}:{value:n.getRow(t.value),done:!1}},e},e.prototype.queryForTilesInColumn=function(t,e){var n,r=this,i=new f.ColumnValues;i.addColumn(c.TileColumn.COLUMN_TILE_COLUMN,t),i.addColumn(c.TileColumn.COLUMN_ZOOM_LEVEL,e);var o=this.queryForFieldValues(i);return (n={})[Symbol.iterator]=function(){return this},n.next=function(){var t=o.next();return t.done?{value:void 0,done:!0}:{value:r.getRow(t.value),done:!1}},n},e.prototype.queryForTilesInRow=function(t,e){var n,r=this,i=new f.ColumnValues;i.addColumn(c.TileColumn.COLUMN_TILE_ROW,t),i.addColumn(c.TileColumn.COLUMN_ZOOM_LEVEL,e);var o=this.queryForFieldValues(i);return (n={})[Symbol.iterator]=function(){return this},n.next=function(){var t=o.next();return t.done?{value:void 0,done:!0}:{value:r.getRow(t.value),done:!1}},n},e.prototype.queryByTileGrid=function(t,e){var n,r=this;if(t){var i="";i+=this.buildWhereWithFieldAndValue(c.TileColumn.COLUMN_ZOOM_LEVEL,e),i+=" and ",i+=this.buildWhereWithFieldAndValue(c.TileColumn.COLUMN_TILE_COLUMN,t.min_x,">="),i+=" and ",i+=this.buildWhereWithFieldAndValue(c.TileColumn.COLUMN_TILE_COLUMN,t.max_x,"<="),i+=" and ",i+=this.buildWhereWithFieldAndValue(c.TileColumn.COLUMN_TILE_ROW,t.min_y,">="),i+=" and ",i+=this.buildWhereWithFieldAndValue(c.TileColumn.COLUMN_TILE_ROW,t.max_y,"<=");var o=this.buildWhereArgs([e,t.min_x,t.max_x,t.min_y,t.max_y]),a=this.queryWhereWithArgsDistinct(i,o);return (n={})[Symbol.iterator]=function(){return this},n.next=function(){var t=a.next();return t.done?{value:void 0,done:!0}:{value:r.getRow(t.value),done:!1}},n}},e.prototype.countByTileGrid=function(t,e){if(t){var n="";n+=this.buildWhereWithFieldAndValue(c.TileColumn.COLUMN_ZOOM_LEVEL,e),n+=" and ",n+=this.buildWhereWithFieldAndValue(c.TileColumn.COLUMN_TILE_COLUMN,t.min_x,">="),n+=" and ",n+=this.buildWhereWithFieldAndValue(c.TileColumn.COLUMN_TILE_COLUMN,t.max_x,"<="),n+=" and ",n+=this.buildWhereWithFieldAndValue(c.TileColumn.COLUMN_TILE_ROW,t.min_y,">="),n+=" and ",n+=this.buildWhereWithFieldAndValue(c.TileColumn.COLUMN_TILE_ROW,t.max_y,"<=");var r=this.buildWhereArgs([e,t.min_x,t.max_x,t.min_y,t.max_y]);return this.countWhere(n,r)}},e.prototype.deleteTile=function(t,e,n){var r="";r+=this.buildWhereWithFieldAndValue(c.TileColumn.COLUMN_ZOOM_LEVEL,n),r+=" and ",r+=this.buildWhereWithFieldAndValue(c.TileColumn.COLUMN_TILE_COLUMN,t),r+=" and ",r+=this.buildWhereWithFieldAndValue(c.TileColumn.COLUMN_TILE_ROW,e);var i=this.buildWhereArgs([n,t,e]);return this.deleteWhere(r,i)},e.prototype.dropTable=function(){var t=this.geoPackage.tileMatrixDao,e=a.UserDao.prototype.dropTable.call(this);this.geoPackage.tileMatrixSetDao.delete(this.tileMatrixSet);for(var n=this.tileMatrices.length-1;n>=0;n--){var r=this.tileMatrices[n];t.delete(r);}return this.geoPackage.contentsDao.deleteById(this.gpkgTableName),e},e.prototype.rename=function(e){t.prototype.rename.call(this,e);var n=this.tileMatrixSet.table_name,r={};r[u.TileMatrixSetDao.COLUMN_TABLE_NAME]=e;var i=this.buildWhereWithFieldAndValue(u.TileMatrixSetDao.COLUMN_TABLE_NAME,n),o=this.buildWhereArgs([n]),a=this.geoPackage.contentsDao,l=a.queryForId(n);l.table_name=e,l.identifier=e,a.create(l),this.geoPackage.tileMatrixSetDao.updateWithValues(r,i,o);var c=this.geoPackage.tileMatrixDao,h={};h[s.TileMatrixDao.COLUMN_TABLE_NAME]=e;var f=this.buildWhereWithFieldAndValue(s.TileMatrixDao.COLUMN_TABLE_NAME,n);c.updateWithValues(h,f,o),a.deleteById(n);},e.readTable=function(t,e){return t.getTileDao(e)},e}(a.UserDao);e.TileDao=_;},1584:function(t,e,n){"use strict";var r=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.TileDaoUtils=void 0;var i=r(n(5871)),o=r(n(1159)),a=function(){function t(){}return t.adjustTileMatrixLengths=function(t,e){var n=t.max_x-t.min_x,r=t.max_y-t.min_y;e.forEach((function(t){var e=Math.floor(n/(t.pixel_x_size*t.tile_width)),i=Math.floor(r/(t.pixel_y_size*t.tile_height));e>t.matrix_width&&(t.matrix_width=e),i>t.matrix_height&&(t.matrix_height=i);}));},t.getZoomLevelForLength=function(e,n,r,i){return t._getZoomLevelForLength(e,n,r,i,!0)},t.getZoomLevelForWidthAndHeight=function(e,n,r,i,o){return t._getZoomLevelForWidthAndHeight(e,n,r,i,o,!0)},t.getClosestZoomLevelForLength=function(e,n,r,i){return t._getZoomLevelForLength(e,n,r,i,!1)},t.getClosestZoomLevelForWidthAndHeight=function(e,n,r,i,o){return t._getZoomLevelForWidthAndHeight(e,n,r,i,o,!1)},t._getZoomLevelForLength=function(e,n,r,i,o){return t._getZoomLevelForWidthAndHeight(e,n,r,i,i,o)},t._getZoomLevelForWidthAndHeight=function(e,n,r,a,s,u){var l=null,c=(0,i.default)(e,a);-1===c&&(c=(0,o.default)(e,a)),c<0&&(c=-1*(c+1));var h=(0,i.default)(n,s);if(-1===h&&(h=(0,o.default)(n,s)),h<0&&(h=-1*(h+1)),0==c?u&&a=t.getMaxLength(e)?c=-1:--c:t.closerToZoomIn(e,a,c)&&--c,0==h?u&&s=t.getMaxLength(n)?h=-1:--h:t.closerToZoomIn(n,s,h)&&--h,c>=0||h>=0){var f;f=c<0?h:h<0?c:Math.min(c,h),l=t.getTileMatrixAtLengthIndex(r,f).zoom_level;}return l},t.closerToZoomIn=function(t,e,n){return Math.log(e/t[n-1])/Math.log(2)s){var p=Math.log(r/s)/Math.log(2);l=Math.ceil(p),c=Math.floor(p),h=s*Math.pow(2,l),f=s*Math.pow(2,c),o=n[0].zoom_level,o-=r-f<=h-r?c:l;}else {var d=(0,i.default)(e,r);d<0&&(d=-1*(d+1));var y=Math.log(r/e[d])/Math.log(.5),m=t.getTileMatrixAtLengthIndex(n,d).zoom_level;o=m+=Math.round(y);}return o},t.getMaxLengthForTileWidthsAndHeights=function(e,n){var r=t.getMaxLength(e),i=t.getMaxLength(n);return Math.min(r,i)},t.getMinLengthForTileWidthsAndHeights=function(e,n){var r=t.getMinLength(e),i=t.getMinLength(n);return Math.max(r,i)},t.getMaxLength=function(t){return t[t.length-1]/.51},t.getMinLength=function(t){return .51*t[0]},t}();e.TileDaoUtils=a;},1332:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);});Object.defineProperty(e,"__esModule",{value:!0}),e.TileRow=void 0;var o=function(t){function e(e,n,r){var i=t.call(this,e,n,r)||this;return i.tileTable=e,i}return i(e,t),Object.defineProperty(e.prototype,"zoomLevelColumnIndex",{get:function(){return this.tileTable.getZoomLevelColumnIndex()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"zoomLevelColumn",{get:function(){return this.tileTable.getZoomLevelColumn()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"zoomLevel",{get:function(){return this.getValueWithColumnName(this.zoomLevelColumn.name)},set:function(t){this.setValueWithIndex(this.zoomLevelColumnIndex,t);},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"tileColumnColumnIndex",{get:function(){return this.tileTable.getTileColumnColumnIndex()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"tileColumnColumn",{get:function(){return this.tileTable.getTileColumnColumn()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"tileColumn",{get:function(){return this.getValueWithColumnName(this.tileColumnColumn.name)},set:function(t){this.setValueWithColumnName(this.tileColumnColumn.name,t);},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"rowColumnIndex",{get:function(){return this.tileTable.getTileRowColumnIndex()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"rowColumn",{get:function(){return this.tileTable.getTileRowColumn()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"row",{get:function(){return this.getValueWithColumnName(this.rowColumn.name)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"tileRow",{set:function(t){this.setValueWithColumnName(this.rowColumn.name,t);},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"tileDataColumnIndex",{get:function(){return this.tileTable.getTileDataColumnIndex()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"tileDataColumn",{get:function(){return this.tileTable.getTileDataColumn()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"tileData",{get:function(){return this.getValueWithColumnName(this.tileDataColumn.name)},set:function(t){this.setValueWithColumnName(this.tileDataColumn.name,t);},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"tileDataImage",{get:function(){return null},enumerable:!1,configurable:!0}),e}(n(2224).UserRow);e.TileRow=o;},8704:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);});Object.defineProperty(e,"__esModule",{value:!0}),e.TileTable=void 0;var o=n(8018),a=n(8334),s=n(6295),u=n(1648),l=n(9971),c=function(t){function e(e,n){var r=t.call(this,new s.TileColumns(e,n,!1))||this,i=new u.UniqueConstraint;return i.add(r.getUserColumns().getZoomLevelColumn()),i.add(r.getUserColumns().getTileColumnColumn()),i.add(r.getUserColumns().getTileRowColumn()),r.addConstraint(i),r}return i(e,t),e.prototype.copy=function(){return new e(this.getTableName(),this.columns._columns)},e.prototype.getDataType=function(){return l.ContentsDataType.TILES},e.prototype.getUserColumns=function(){return t.prototype.getUserColumns.call(this)},e.prototype.createUserColumns=function(t){return new s.TileColumns(this.getTableName(),t,!0)},e.prototype.getZoomLevelColumnIndex=function(){return this.getUserColumns().getZoomLevelIndex()},e.prototype.getZoomLevelColumn=function(){return this.getUserColumns().getZoomLevelColumn()},e.prototype.getTileColumnColumnIndex=function(){return this.getUserColumns().getTileColumnIndex()},e.prototype.getTileColumnColumn=function(){return this.getUserColumns().getTileColumnColumn()},e.prototype.getTileRowColumnIndex=function(){return this.getUserColumns().getTileRowIndex()},e.prototype.getTileRowColumn=function(){return this.getUserColumns().getTileRowColumn()},e.prototype.getTileDataColumnIndex=function(){return this.getUserColumns().getTileDataIndex()},e.prototype.getTileDataColumn=function(){return this.getUserColumns().getTileDataColumn()},e.createRequiredColumns=function(t){void 0===t&&(t=0);var e=[];return e.push(a.TileColumn.createIdColumn(t++)),e.push(a.TileColumn.createZoomLevelColumn(t++)),e.push(a.TileColumn.createTileColumnColumn(t++)),e.push(a.TileColumn.createTileRowColumn(t++)),e.push(a.TileColumn.createTileDataColumn(t)),e},e.prototype.validateContents=function(t){var e=t.data_type;if(null==e||e!==l.ContentsDataType.TILES)throw new Error("The Contents of a TileTable must have a data type of tiles")},e.COLUMN_ID=s.TileColumns.ID,e.COLUMN_ZOOM_LEVEL=s.TileColumns.ZOOM_LEVEL,e.COLUMN_TILE_COLUMN=s.TileColumns.TILE_COLUMN,e.COLUMN_TILE_ROW=s.TileColumns.TILE_ROW,e.COLUMN_TILE_DATA=s.TileColumns.TILE_DATA,e}(o.UserTable);e.TileTable=c;},9631:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);});Object.defineProperty(e,"__esModule",{value:!0}),e.TileTableReader=void 0;var o=n(4880),a=n(8704),s=n(8334),u=function(t){function e(e){var n=t.call(this,e.table_name)||this;return n.tileMatrixSet=e,n}return i(e,t),e.prototype.readTileTable=function(t){return this.readTable(t.database)},e.prototype.createTable=function(t,e){return new a.TileTable(t,e)},e.prototype.createColumn=function(t){return new s.TileColumn(t.index,t.name,t.dataType,t.max,t.notNull,t.defaultValue,t.primaryKey,t.autoincrement)},e}(o.UserTableReader);e.TileTableReader=u;},5762:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);});Object.defineProperty(e,"__esModule",{value:!0}),e.UserCustomColumn=void 0;var o=n(5865),a=n(7319),s=n(5071),u=function(t){function e(e,n,r,i,o,a,s,u){var l=t.call(this,e,n,r,i,o,a,s,u)||this;if(null==r)throw new Error("Data type is required to create column: "+n);return l}return i(e,t),e.createColumn=function(t,n,r,i,o,a,s){return void 0===i&&(i=!1),new e(t,n,r,a,i,o,!1,s)},e.createPrimaryKeyColumn=function(t,n,r){return void 0===r&&(r=s.UserTableDefaults.DEFAULT_AUTOINCREMENT),new e(t,n,a.GeoPackageDataType.INTEGER,void 0,void 0,void 0,!0,r)},e}(o.UserColumn);e.UserCustomColumn=u;},496:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);});Object.defineProperty(e,"__esModule",{value:!0}),e.UserCustomColumns=void 0;var o=function(t){function e(e,n,r,i){var o=t.call(this,e,n,i)||this;return o.requiredColumns=null==r?[]:r.slice(),o.updateColumns(),o}return i(e,t),e.prototype.copy=function(){return new e(this.getTableName(),this.getColumns(),this.getRequiredColumns(),this.isCustom())},e.prototype.getRequiredColumns=function(){return this.requiredColumns},e.prototype.setRequiredColumns=function(t){void 0===t&&(t=[]),this.requiredColumns=t.slice();},e.prototype.updateColumns=function(){var e=this;if(t.prototype.updateColumns.call(this),!this.isCustom()&&null!==this.requiredColumns&&0!==this.requiredColumns.length){var n=new Set(this.requiredColumns),r={};this.getColumns().forEach((function(t){var i=t.getName(),o=t.getIndex();if(n.has(i)){var a=r[i];e.duplicateCheck(o,a,i),r[i]=o;}})),n.forEach((function(t){e.missingCheck(r[t],t);}));}},e}(n(2114).UserColumns);e.UserCustomColumns=o;},1447:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);});Object.defineProperty(e,"__esModule",{value:!0}),e.UserCustomDao=void 0;var o=n(4668),a=n(362),s=function(t){function e(e,n){return t.call(this,e,n)||this}return i(e,t),e.prototype.createObject=function(t){return this.getRow(t)},e.readTable=function(t,n){return new e(t,new a.UserCustomTableReader(n).readTable(t.database))},e}(o.UserDao);e.UserCustomDao=s;},2378:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);});Object.defineProperty(e,"__esModule",{value:!0}),e.UserCustomTable=void 0;var o=n(8018),a=n(496),s=function(t){function e(e,n,r){return void 0===r&&(r=[]),t.call(this,new a.UserCustomColumns(e,n,r,!0))||this}return i(e,t),e.prototype.copy=function(){return new e(this.getTableName(),this.getUserColumns().getColumns(),this.getUserColumns().getRequiredColumns())},e.prototype.getDataType=function(){return null},e.prototype.getUserColumns=function(){return t.prototype.getUserColumns.call(this)},e.prototype.getRequiredColumns=function(){return this.getUserColumns().getRequiredColumns()},e}(o.UserTable);e.UserCustomTable=s;},362:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);});Object.defineProperty(e,"__esModule",{value:!0}),e.UserCustomTableReader=void 0;var o=n(2378),a=n(4880),s=n(5762),u=function(t){function e(e){return t.call(this,e)||this}return i(e,t),e.prototype.readUserCustomTable=function(t){return this.readTable(t.database)},e.prototype.createTable=function(t,e){return new o.UserCustomTable(t,e,null)},e.prototype.createColumn=function(t){return new s.UserCustomColumn(t.index,t.name,t.dataType,t.max,t.notNull,t.defaultValue,t.primaryKey,t.autoincrement)},e}(a.UserTableReader);e.UserCustomTableReader=u;},5865:function(t,e,n){"use strict";var r=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.UserColumn=void 0;var i=r(n(8446)),o=n(7319),a=n(2841),s=n(1133),u=n(91),l=n(5071),c=n(7686),h=function(){function t(t,e,n,r,i,o,a,s,u){this.index=t,this.name=e,this.dataType=n,this.max=r,this.notNull=i,this.defaultValue=o,this.primaryKey=a,this.autoincrement=s,this.unique=u,this.constraints=new c.Constraints,this.validateMax(),this.type=this.getTypeName(e,n),this.addDefaultConstraints();}return t.validateDataType=function(t,e){if(null==e)throw new Error("Data Type is required to create column: "+t)},t.prototype.copy=function(){var e=new t(this.index,this.name,this.dataType,this.max,this.notNull,this.defaultValue,this.primaryKey,this.unique);return e.min=this.min,e.constraints=this.constraints.copy(),e},t.prototype.clearConstraints=function(){return this.constraints.clear()},t.prototype.getConstraints=function(){return this.constraints},t.prototype.setIndex=function(t){if(this.hasIndex()){if(!(0,i.default)(t,this.index))throw new Error("User Column with a valid index may not be changed. Column Name: "+this.name+", Index: "+this.index+", Attempted Index: "+this.index)}else this.index=t;},t.prototype.hasIndex=function(){return this.index>t.NO_INDEX},t.prototype.resetIndex=function(){this.index=t.NO_INDEX;},t.prototype.getIndex=function(){return this.index},t.prototype.setName=function(t){this.name=t;},t.prototype.getName=function(){return this.name},t.prototype.isNamed=function(t){return this.name===t},t.prototype.hasMax=function(){return null!=this.max},t.prototype.setMax=function(t){this.max=t;},t.prototype.getMax=function(){return this.max},t.prototype.setNotNull=function(t){this.notNull!==t&&(t?this.addNotNullConstraint():this.removeConstraintByType(u.ConstraintType.NOT_NULL)),this.notNull=t;},t.prototype.isNotNull=function(){return this.notNull},t.prototype.hasDefaultValue=function(){return null!==this.defaultValue&&void 0!==this.defaultValue},t.prototype.setDefaultValue=function(t){this.removeConstraintByType(u.ConstraintType.DEFAULT),null!=t&&this.addDefaultValueConstraint(t),this.defaultValue=t;},t.prototype.getDefaultValue=function(){return this.defaultValue},t.prototype.setPrimaryKey=function(t){this.primaryKey!==t&&(t?this.addPrimaryKeyConstraint():(this.autoincrement=!1,this.removeConstraintByType(u.ConstraintType.AUTOINCREMENT),this.removeConstraintByType(u.ConstraintType.PRIMARY_KEY))),this.primaryKey=t;},t.prototype.isPrimaryKey=function(){return this.primaryKey},t.prototype.setAutoincrement=function(t){this.autoincrement!==t&&(t?this.addAutoincrementConstraint():this.removeConstraintByType(u.ConstraintType.AUTOINCREMENT)),this.autoincrement=t;},t.prototype.isAutoincrement=function(){return this.autoincrement},t.prototype.setUnique=function(t){this.unique!==t&&(t?this.addUniqueConstraint():this.removeConstraintByType(u.ConstraintType.UNIQUE)),this.unique=t;},t.prototype.isUnique=function(){return this.unique},t.prototype.setDataType=function(t){this.dataType=t;},t.prototype.getDataType=function(){return this.dataType},t.prototype.getTypeName=function(e,n){return t.validateDataType(e,n),o.GeoPackageDataType.nameFromType(n)},t.prototype.validateMax=function(){if(this.max&&this.dataType!==o.GeoPackageDataType.TEXT&&this.dataType!==o.GeoPackageDataType.BLOB)throw new Error("Column max is only supported for TEXT and BLOB columns. column: "+this.name+", max: "+this.max+", type: "+this.dataType);return !0},t.createPrimaryKeyColumn=function(e,n,r){return void 0===r&&(r=l.UserTableDefaults.DEFAULT_AUTOINCREMENT),new t(e,n,o.GeoPackageDataType.INTEGER,void 0,!0,void 0,!0,r)},t.createColumn=function(e,n,r,i,o,a){return void 0===i&&(i=!1),new t(e,n,r,a,i,o,!1)},t.prototype.addDefaultConstraints=function(){this.isNotNull()&&this.addNotNullConstraint(),this.hasDefaultValue()&&this.addDefaultValueConstraint(this.getDefaultValue()),this.isPrimaryKey()&&(this.addPrimaryKeyConstraint(),this.isAutoincrement()&&this.addAutoincrementConstraint()),this.isUnique()&&this.addUniqueConstraint();},t.prototype.addConstraint=function(t){null!==t.order&&void 0!==t.order||this.setConstraintOrder(t),this.constraints.add(t);},t.prototype.setConstraintOrder=function(e){var n=null;switch(e.getType()){case u.ConstraintType.PRIMARY_KEY:n=t.PRIMARY_KEY_CONSTRAINT_ORDER;break;case u.ConstraintType.UNIQUE:n=t.UNIQUE_CONSTRAINT_ORDER;break;case u.ConstraintType.NOT_NULL:n=t.NOT_NULL_CONSTRAINT_ORDER;break;case u.ConstraintType.DEFAULT:n=t.DEFAULT_VALUE_CONSTRAINT_ORDER;break;case u.ConstraintType.AUTOINCREMENT:n=t.AUTOINCREMENT_CONSTRAINT_ORDER;}e.order=n;},t.prototype.addConstraintSql=function(t){var e=s.ConstraintParser.getType(t),n=s.ConstraintParser.getName(t);this.constraints.add(new a.RawConstraint(e,n,t));},t.prototype.addConstraints=function(t){this.constraints.addConstraints(t);},t.prototype.addColumnConstraints=function(t){this.addConstraints(t.getConstraints());},t.prototype.addNotNullConstraint=function(){this.addConstraint(new a.RawConstraint(u.ConstraintType.NOT_NULL,null,"NOT NULL",t.NOT_NULL_CONSTRAINT_ORDER));},t.prototype.addDefaultValueConstraint=function(e){this.addConstraint(new a.RawConstraint(u.ConstraintType.DEFAULT,null,"DEFAULT "+o.GeoPackageDataType.columnDefaultValue(e,this.getDataType()),t.DEFAULT_VALUE_CONSTRAINT_ORDER));},t.prototype.addPrimaryKeyConstraint=function(){this.addConstraint(new a.RawConstraint(u.ConstraintType.PRIMARY_KEY,null,"PRIMARY KEY",t.PRIMARY_KEY_CONSTRAINT_ORDER));},t.prototype.addAutoincrementConstraint=function(){if(!this.isPrimaryKey())throw new Error("Autoincrement may only be set on a primary key column");this.addConstraint(new a.RawConstraint(u.ConstraintType.AUTOINCREMENT,null,"AUTOINCREMENT",t.AUTOINCREMENT_CONSTRAINT_ORDER));},t.prototype.addUniqueConstraint=function(){this.addConstraint(new a.RawConstraint(u.ConstraintType.UNIQUE,null,"UNIQUE",t.UNIQUE_CONSTRAINT_ORDER));},t.prototype.removeConstraintByType=function(t){this.constraints.clearConstraintsByType(t);},t.prototype.getType=function(){return this.type},t.prototype.hasConstraints=function(){return this.constraints.has()},t.prototype.buildConstraintSql=function(t){var e=null;return !l.UserTableDefaults.DEFAULT_PK_NOT_NULL&&this.isPrimaryKey()&&t.getType()===u.ConstraintType.NOT_NULL||(e=t.buildSql()),e},t.NO_INDEX=-1,t.NOT_NULL_CONSTRAINT_ORDER=1,t.DEFAULT_VALUE_CONSTRAINT_ORDER=2,t.PRIMARY_KEY_CONSTRAINT_ORDER=3,t.AUTOINCREMENT_CONSTRAINT_ORDER=4,t.UNIQUE_CONSTRAINT_ORDER=5,t}();e.UserColumn=h;},2114:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.UserColumns=void 0;var r=n(7319),i=function(){function t(t,e,n){void 0===n&&(n=!1),this._pkIndex=-1,this._tableName=t,this._columns=e,this._custom=n,this._nameToIndex=new Map,this._columnNames=[];}return t.prototype.copy=function(){var e=[];this._columns.forEach((function(t){e.push(t.copy());}));var n=new t(this._tableName,e,this._custom);return n._columnNames=Array.from(this._columnNames),n._nameToIndex=new Map(this._nameToIndex),n._pkIndex=this._pkIndex,n},t.prototype.updateColumns=function(){var t=this;if(this._nameToIndex.clear(),!this._custom){var e=new Set,n=[];this._columns.forEach((function(r){if(r.hasIndex()){var i=r.getIndex();if(e.has(i))throw new Error("Duplicate index: "+i+", Table Name: "+t._tableName);e.add(i);}else n.push(r);}));var r=-1;n.forEach((function(t){for(;e.has(++r););t.setIndex(r);})),this._columns.sort((function(t,e){return t.index-e.index}));}this._pkIndex=-1,this._columnNames=[];for(var i=0;i=0},t.prototype.getPkColumnIndex=function(){return this._pkIndex},t.prototype.getPkColumn=function(){var t=null;return this.hasPkColumn()&&(t=this._columns[this._pkIndex]),t},t.prototype.getPkColumnName=function(){return this.getPkColumn().getName()},t.prototype.columnsOfType=function(t){return this._columns.filter((function(e){return e.getDataType()===t}))},t.prototype.addColumn=function(t){this._columns.push(t),this.updateColumns();},t.prototype.renameColumn=function(t,e){this.renameColumnWithName(t.getName(),e),t.setName(e);},t.prototype.renameColumnWithName=function(t,e){this.renameColumnWithIndex(this.getColumnIndexForColumnName(t),e);},t.prototype.renameColumnWithIndex=function(t,e){this._columns[t].setName(e),this.updateColumns();},t.prototype.dropColumn=function(t){this.dropColumnWithIndex(t.getIndex());},t.prototype.dropColumnWithName=function(t){this.dropColumnWithIndex(this.getColumnIndexForColumnName(t));},t.prototype.dropColumnWithIndex=function(t){this._columns.splice(t,1),this._columns.forEach((function(t){return t.resetIndex()})),this.updateColumns();},t.prototype.alterColumn=function(t){var e=this.getColumn(t.getName()).getIndex();t.setIndex(e),this._columns[e]=t;},t}();e.UserColumns=i;},4668:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);});Object.defineProperty(e,"__esModule",{value:!0}),e.UserDao=void 0;var o=n(4115),a=n(6366),s=n(4599),u=n(2224),l=n(8483),c=n(8314),h=n(5042),f=function(t){function e(e,n){var r=t.call(this,e)||this;return r._table=n,r.table_name=n.getTableName(),r.gpkgTableName=n.getTableName(),n.getPkColumn()?r.idColumns=[n.getPkColumn().getName()]:r.idColumns=[],r.columns=n.getUserColumns().getColumnNames(),r}return i(e,t),e.prototype.createObject=function(t){return t?this.getRow(t):this.newRow()},e.prototype.setValueInObject=function(t,e,n){t.setValueNoValidationWithIndex(e,n);},e.prototype.getRow=function(t){if(t instanceof u.UserRow)return t;if(this.table){for(var e=this.table.getColumnCount(),n={},r=0;r{"use strict";var r=n(3085).lW;Object.defineProperty(e,"__esModule",{value:!0}),e.UserRow=void 0;var i=n(7319),o=function(){function t(t,e,n){if(this.table=t,this.columnTypes=e,this.values=n,!this.columnTypes){var r=this.table.getColumnCount();this.columnTypes={},this.values={};for(var i=0;i{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.UserTable=void 0;var r=n(7686),i=function(){function t(t){this.constraints=new r.Constraints,this.columns=t,this.constraints=new r.Constraints;}return t.prototype.copy=function(){var e=new t(this.columns.copy());return e.constraints.addConstraints(this.constraints),null!==this.contents&&void 0!==this.contents&&(e.contents=this.contents.copy()),e},t.prototype.getTableName=function(){return this.columns.getTableName()},Object.defineProperty(t.prototype,"tableType",{get:function(){return "userTable"},enumerable:!1,configurable:!0}),t.prototype.getUserColumns=function(){return this.columns},t.prototype.getColumnIndex=function(t){return this.columns.getColumnIndexForColumnName(t)},t.prototype.hasColumn=function(t){try{return this.getColumnIndex(t),!0}catch(t){return !1}},t.prototype.getColumnNameWithIndex=function(t){return this.columns.getColumnName(t)},t.prototype.getColumnWithIndex=function(t){return this.columns.getColumnForIndex(t)},t.prototype.getColumnWithColumnName=function(t){return this.getColumnWithIndex(this.getColumnIndex(t))},t.prototype.getColumnCount=function(){return this.columns.columnCount()},t.prototype.getPkColumn=function(){return this.columns.getPkColumn()},t.prototype.getPkColumnName=function(){return this.columns.getPkColumnName()},t.prototype.getIdColumnIndex=function(){return this.columns.getPkColumnIndex()},t.prototype.getIdColumn=function(){return this.getPkColumn()},t.prototype.addConstraint=function(t){this.constraints.add(t);},t.prototype.addConstraints=function(t){this.constraints.addConstraints(t);},t.prototype.hasConstraints=function(){return this.constraints.has()},t.prototype.getConstraints=function(){return this.constraints},t.prototype.getConstraintsByType=function(t){return this.constraints.getConstraintsForType(t)},t.prototype.clearConstraints=function(){return this.constraints.clear()},t.prototype.columnsOfType=function(t){return this.columns.columnsOfType(t)},t.prototype.getContents=function(){return this.contents},t.prototype.setContents=function(t){this.contents=t,null!=t&&this.validateContents(t);},t.prototype.validateContents=function(t){},t.prototype.addColumn=function(t){this.columns.addColumn(t);},t.prototype.renameColumn=function(t,e){this.columns.renameColumn(t,e);},t.prototype.renameColumnWithName=function(t,e){this.columns.renameColumnWithName(t,e);},t.prototype.renameColumnAtIndex=function(t,e){this.columns.renameColumnWithIndex(t,e);},t.prototype.dropColumn=function(t){this.columns.dropColumn(t);},t.prototype.dropColumnWithName=function(t){this.columns.dropColumnWithName(t);},t.prototype.dropColumnWithIndex=function(t){this.columns.dropColumnWithIndex(t);},t.prototype.alterColumn=function(t){this.columns.alterColumn(t);},t}();e.UserTable=i;},5071:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.UserTableDefaults=void 0;var n=function(){function t(){}return t.DEFAULT_AUTOINCREMENT=!0,t.DEFAULT_PK_NOT_NULL=!0,t}();e.UserTableDefaults=n;},4880:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.UserTableReader=void 0;var r=n(5865),i=n(5045),o=n(7043),a=function(){function t(t){this.table_name=t;}return t.prototype.readTable=function(t){var e=this,n=[],r=i.TableInfo.info(t,this.table_name);if(null==r)throw new Error("Table does not exist: "+this.table_name);var a=o.SQLiteMaster.queryForConstraints(t,this.table_name);r.getColumns().forEach((function(t){if(null===t.getDataType()||void 0===t.getDataType())throw new Error("Unsupported column data type "+t.getType());var r=e.createColumn(t),i=a.getColumnConstraints(r.getName());null!=i&&i.hasConstraints()&&(r.clearConstraints(),r.addConstraints(i.constraints)),n.push(r);}));var s=this.createTable(this.table_name,n);return s.addConstraints(a.getTableConstraints()),s},t.prototype.createColumn=function(t){return new r.UserColumn(t.index,t.name,t.dataType,t.max,t.notNull,t.defaultValue,t.primaryKey,t.autoincrement)},t}();e.UserTableReader=a;},4275:function(t,e,n){"use strict";var r=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.GeoPackageValidate=e.GeoPackageValidationError=void 0;var i=r(n(3935)),o=n(1506),a=function(t,e){this.error=t,this.fatal=e;};e.GeoPackageValidationError=a;var s=function(){function t(){}return t.hasGeoPackageExtension=function(t){var e=i.default.extname(t);return e&&""!==e&&(e.toLowerCase()==="."+o.GeoPackageConstants.GEOPACKAGE_EXTENSION.toLowerCase()||e.toLowerCase()==="."+o.GeoPackageConstants.GEOPACKAGE_EXTENDED_EXTENSION.toLowerCase())},t.validateGeoPackageExtension=function(e){if(!t.hasGeoPackageExtension(e))return new a("GeoPackage database file '"+e+"' does not have a valid extension of '"+o.GeoPackageConstants.GEOPACKAGE_EXTENSION+"' or '"+o.GeoPackageConstants.GEOPACKAGE_EXTENDED_EXTENSION+"'",!0)},t.validateMinimumTables=function(t){var e=[],n=t.spatialReferenceSystemDao.isTableExists(),r=t.contentsDao.isTableExists();return n||e.push(new a("gpkg_spatial_ref_sys table does not exist",!0)),r||e.push(new a("gpkg_contents table does not exist",!0)),e},t.hasMinimumTables=function(t){return 0==this.validateMinimumTables(t).length},t}();e.GeoPackageValidate=s;},2038:(t,e)=>{"use strict";var n;Object.defineProperty(e,"__esModule",{value:!0}),e.WKB=void 0;var r=function(){function t(){}return t.fromName=function(e){return "GEOMETRY"===(e=e.toUpperCase())?t.typeMap.wkb.GeometryCollection:t.wktToEnum[e]},t.typeMap={wkt:{Point:"POINT",LineString:"LINESTRING",Polygon:"POLYGON",MultiPoint:"MULTIPOINT",MultiLineString:"MULTILINESTRING",MultiPolygon:"MULTIPOLYGON",GeometryCollection:"GEOMETRYCOLLECTION"},wkb:{Point:1,LineString:2,Polygon:3,MultiPoint:4,MultiLineString:5,MultiPolygon:6,GeometryCollection:7}},t.wktToEnum=((n={})[t.typeMap.wkt.Point]=t.typeMap.wkb.Point,n[t.typeMap.wkt.LineString]=t.typeMap.wkb.LineString,n[t.typeMap.wkt.Polygon]=t.typeMap.wkb.Polygon,n[t.typeMap.wkt.MultiPoint]=t.typeMap.wkb.MultiPoint,n[t.typeMap.wkt.MultiLineString]=t.typeMap.wkb.MultiLineString,n[t.typeMap.wkt.MultiPolygon]=t.typeMap.wkb.MultiPolygon,n[t.typeMap.wkt.GeometryCollection]=t.typeMap.wkb.GeometryCollection,n),t}();e.WKB=r;},2511:function(t,e,n){var r;t=n.nmd(t),function(i){e&&e.nodeType,t&&t.nodeType;var o="object"==typeof n.g&&n.g;o.global!==o&&o.window!==o&&o.self;var a,s=2147483647,u=36,l=1,c=26,h=38,f=700,p=72,d=128,y="-",m=/^xn--/,g=/[^\x20-\x7E]/,_=/[\x2E\u3002\uFF0E\uFF61]/g,b={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},v=u-l,T=Math.floor,E=String.fromCharCode;function w(t){throw RangeError(b[t])}function x(t,e){for(var n=t.length,r=[];n--;)r[n]=e(t[n]);return r}function C(t,e){var n=t.split("@"),r="";return n.length>1&&(r=n[0]+"@",t=n[1]),r+x((t=t.replace(_,".")).split("."),e).join(".")}function M(t){for(var e,n,r=[],i=0,o=t.length;i=55296&&e<=56319&&i65535&&(e+=E((t-=65536)>>>10&1023|55296),t=56320|1023&t),e+E(t)})).join("")}function N(t,e){return t+22+75*(t<26)-((0!=e)<<5)}function O(t,e,n){var r=0;for(t=n?T(t/f):t>>1,t+=T(t/e);t>v*c>>1;r+=u)t=T(t/v);return T(r+(v+1)*t/(t+h))}function A(t){var e,n,r,i,o,a,h,f,m,g,_,b=[],v=t.length,E=0,x=d,C=p;for((n=t.lastIndexOf(y))<0&&(n=0),r=0;r=128&&w("not-basic"),b.push(t.charCodeAt(r));for(i=n>0?n+1:0;i=v&&w("invalid-input"),((f=(_=t.charCodeAt(i++))-48<10?_-22:_-65<26?_-65:_-97<26?_-97:u)>=u||f>T((s-E)/a))&&w("overflow"),E+=f*a,!(f<(m=h<=C?l:h>=C+c?c:h-C));h+=u)a>T(s/(g=u-m))&&w("overflow"),a*=g;C=O(E-o,e=b.length+1,0==o),T(E/e)>s-x&&w("overflow"),x+=T(E/e),E%=e,b.splice(E++,0,x);}return S(b)}function I(t){var e,n,r,i,o,a,h,f,m,g,_,b,v,x,C,S=[];for(b=(t=M(t)).length,e=d,n=0,o=p,a=0;a=e&&_T((s-n)/(v=r+1))&&w("overflow"),n+=(h-e)*v,e=h,a=0;as&&w("overflow"),_==e){for(f=n,m=u;!(f<(g=m<=o?l:m>=o+c?c:m-o));m+=u)C=f-g,x=u-g,S.push(E(N(g+C%x,0))),f=T(C/x);S.push(E(N(f,0))),o=O(n,v,r==i),n=0,++r;}++n,++e;}return S.join("")}a={version:"1.3.2",ucs2:{decode:M,encode:S},decode:A,encode:I,toASCII:function(t){return C(t,(function(t){return g.test(t)?"xn--"+I(t):t}))},toUnicode:function(t){return C(t,(function(t){return m.test(t)?A(t.slice(4).toLowerCase()):t}))}},void 0===(r=function(){return a}.call(e,n,e,t))||(t.exports=r);}();},8575:(t,e,n)=>{"use strict";var r=n(2511),i=n(2502);function o(){this.protocol=null,this.slashes=null,this.auth=null,this.host=null,this.port=null,this.hostname=null,this.hash=null,this.search=null,this.query=null,this.pathname=null,this.path=null,this.href=null;}e.parse=b,e.resolve=function(t,e){return b(t,!1,!0).resolve(e)},e.resolveObject=function(t,e){return t?b(t,!1,!0).resolveObject(e):e},e.format=function(t){return i.isString(t)&&(t=b(t)),t instanceof o?t.format():o.prototype.format.call(t)},e.Url=o;var a=/^([a-z0-9.+-]+:)/i,s=/:[0-9]*$/,u=/^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/,l=["{","}","|","\\","^","`"].concat(["<",">",'"',"`"," ","\r","\n","\t"]),c=["'"].concat(l),h=["%","/","?",";","#"].concat(c),f=["/","?","#"],p=/^[+a-z0-9A-Z_-]{0,63}$/,d=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,y={javascript:!0,"javascript:":!0},m={javascript:!0,"javascript:":!0},g={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},_=n(7673);function b(t,e,n){if(t&&i.isObject(t)&&t instanceof o)return t;var r=new o;return r.parse(t,e,n),r}o.prototype.parse=function(t,e,n){if(!i.isString(t))throw new TypeError("Parameter 'url' must be a string, not "+typeof t);var o=t.indexOf("?"),s=-1!==o&&o127?R+="x":R+=P[L];if(!R.match(p)){var k=A.slice(0,S),F=A.slice(S+1),U=P.match(d);U&&(k.push(U[1]),F.unshift(U[2])),F.length&&(b="/"+F.join(".")+b),this.hostname=k.join(".");break}}}this.hostname.length>255?this.hostname="":this.hostname=this.hostname.toLowerCase(),O||(this.hostname=r.toASCII(this.hostname));var B=this.port?":"+this.port:"",j=this.hostname||"";this.host=j+B,this.href+=this.host,O&&(this.hostname=this.hostname.substr(1,this.hostname.length-2),"/"!==b[0]&&(b="/"+b));}if(!y[E])for(S=0,I=c.length;S0)&&n.host.split("@"))&&(n.auth=O.shift(),n.host=n.hostname=O.shift())),n.search=t.search,n.query=t.query,i.isNull(n.pathname)&&i.isNull(n.search)||(n.path=(n.pathname?n.pathname:"")+(n.search?n.search:"")),n.href=n.format(),n;if(!w.length)return n.pathname=null,n.search?n.path="/"+n.search:n.path=null,n.href=n.format(),n;for(var C=w.slice(-1)[0],M=(n.host||t.host||w.length>1)&&("."===C||".."===C)||""===C,S=0,N=w.length;N>=0;N--)"."===(C=w[N])?w.splice(N,1):".."===C?(w.splice(N,1),S++):S&&(w.splice(N,1),S--);if(!T&&!E)for(;S--;S)w.unshift("..");!T||""===w[0]||w[0]&&"/"===w[0].charAt(0)||w.unshift(""),M&&"/"!==w.join("/").substr(-1)&&w.push("");var O,A=""===w[0]||w[0]&&"/"===w[0].charAt(0);return x&&(n.hostname=n.host=A?"":w.length?w.shift():"",(O=!!(n.host&&n.host.indexOf("@")>0)&&n.host.split("@"))&&(n.auth=O.shift(),n.host=n.hostname=O.shift())),(T=T||n.host&&w.length)&&!A&&w.unshift(""),w.length?n.pathname=w.join("/"):(n.pathname=null,n.path=null),i.isNull(n.pathname)&&i.isNull(n.search)||(n.path=(n.pathname?n.pathname:"")+(n.search?n.search:"")),n.auth=t.auth||n.auth,n.slashes=n.slashes||t.slashes,n.href=n.format(),n},o.prototype.parseHost=function(){var t=this.host,e=s.exec(t);e&&(":"!==(e=e[0])&&(this.port=e.substr(1)),t=t.substr(0,t.length-e.length)),t&&(this.hostname=t);};},2502:t=>{"use strict";t.exports={isString:function(t){return "string"==typeof t},isObject:function(t){return "object"==typeof t&&null!==t},isNull:function(t){return null===t},isNullOrUndefined:function(t){return null==t}};},4927:(t,e,n)=>{var r=n(5108);function i(t){try{if(!n.g.localStorage)return !1}catch(t){return !1}var e=n.g.localStorage[t];return null!=e&&"true"===String(e).toLowerCase()}t.exports=function(t,e){if(i("noDeprecation"))return t;var n=!1;return function(){if(!n){if(i("throwDeprecation"))throw new Error(e);i("traceDeprecation")?r.trace(e):r.warn(e),n=!0;}return t.apply(this,arguments)}};},1496:t=>{"function"==typeof Object.create?t.exports=function(t,e){t.super_=e,t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}});}:t.exports=function(t,e){t.super_=e;var n=function(){};n.prototype=e.prototype,t.prototype=new n,t.prototype.constructor=t;};},384:t=>{t.exports=function(t){return t&&"object"==typeof t&&"function"==typeof t.copy&&"function"==typeof t.fill&&"function"==typeof t.readUInt8};},9539:(t,e,n)=>{var r=n(4155),i=n(5108),o=/%[sdj%]/g;e.format=function(t){if(!_(t)){for(var e=[],n=0;n=i)return t;switch(t){case "%s":return String(r[n++]);case "%d":return Number(r[n++]);case "%j":try{return JSON.stringify(r[n++])}catch(t){return "[Circular]"}default:return t}})),s=r[n];n=3&&(r.depth=arguments[2]),arguments.length>=4&&(r.colors=arguments[3]),y(n)?r.showHidden=n:n&&e._extend(r,n),b(r.showHidden)&&(r.showHidden=!1),b(r.depth)&&(r.depth=2),b(r.colors)&&(r.colors=!1),b(r.customInspect)&&(r.customInspect=!0),r.colors&&(r.stylize=l),h(r,t,r.depth)}function l(t,e){var n=u.styles[e];return n?"["+u.colors[n][0]+"m"+t+"["+u.colors[n][1]+"m":t}function c(t,e){return t}function h(t,n,r){if(t.customInspect&&n&&x(n.inspect)&&n.inspect!==e.inspect&&(!n.constructor||n.constructor.prototype!==n)){var i=n.inspect(r,t);return _(i)||(i=h(t,i,r)),i}var o=function(t,e){if(b(e))return t.stylize("undefined","undefined");if(_(e)){var n="'"+JSON.stringify(e).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return t.stylize(n,"string")}return g(e)?t.stylize(""+e,"number"):y(e)?t.stylize(""+e,"boolean"):m(e)?t.stylize("null","null"):void 0}(t,n);if(o)return o;var a=Object.keys(n),s=function(t){var e={};return t.forEach((function(t,n){e[t]=!0;})),e}(a);if(t.showHidden&&(a=Object.getOwnPropertyNames(n)),w(n)&&(a.indexOf("message")>=0||a.indexOf("description")>=0))return f(n);if(0===a.length){if(x(n)){var u=n.name?": "+n.name:"";return t.stylize("[Function"+u+"]","special")}if(v(n))return t.stylize(RegExp.prototype.toString.call(n),"regexp");if(E(n))return t.stylize(Date.prototype.toString.call(n),"date");if(w(n))return f(n)}var l,c="",T=!1,C=["{","}"];return d(n)&&(T=!0,C=["[","]"]),x(n)&&(c=" [Function"+(n.name?": "+n.name:"")+"]"),v(n)&&(c=" "+RegExp.prototype.toString.call(n)),E(n)&&(c=" "+Date.prototype.toUTCString.call(n)),w(n)&&(c=" "+f(n)),0!==a.length||T&&0!=n.length?r<0?v(n)?t.stylize(RegExp.prototype.toString.call(n),"regexp"):t.stylize("[Object]","special"):(t.seen.push(n),l=T?function(t,e,n,r,i){for(var o=[],a=0,s=e.length;a60?n[0]+(""===e?"":e+"\n ")+" "+t.join(",\n ")+" "+n[1]:n[0]+e+" "+t.join(", ")+" "+n[1]}(l,c,C)):C[0]+c+C[1]}function f(t){return "["+Error.prototype.toString.call(t)+"]"}function p(t,e,n,r,i,o){var a,s,u;if((u=Object.getOwnPropertyDescriptor(e,i)||{value:e[i]}).get?s=u.set?t.stylize("[Getter/Setter]","special"):t.stylize("[Getter]","special"):u.set&&(s=t.stylize("[Setter]","special")),N(r,i)||(a="["+i+"]"),s||(t.seen.indexOf(u.value)<0?(s=m(n)?h(t,u.value,null):h(t,u.value,n-1)).indexOf("\n")>-1&&(s=o?s.split("\n").map((function(t){return " "+t})).join("\n").substr(2):"\n"+s.split("\n").map((function(t){return " "+t})).join("\n")):s=t.stylize("[Circular]","special")),b(a)){if(o&&i.match(/^\d+$/))return s;(a=JSON.stringify(""+i)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(a=a.substr(1,a.length-2),a=t.stylize(a,"name")):(a=a.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),a=t.stylize(a,"string"));}return a+": "+s}function d(t){return Array.isArray(t)}function y(t){return "boolean"==typeof t}function m(t){return null===t}function g(t){return "number"==typeof t}function _(t){return "string"==typeof t}function b(t){return void 0===t}function v(t){return T(t)&&"[object RegExp]"===C(t)}function T(t){return "object"==typeof t&&null!==t}function E(t){return T(t)&&"[object Date]"===C(t)}function w(t){return T(t)&&("[object Error]"===C(t)||t instanceof Error)}function x(t){return "function"==typeof t}function C(t){return Object.prototype.toString.call(t)}function M(t){return t<10?"0"+t.toString(10):t.toString(10)}e.debuglog=function(t){if(b(a)&&(a=r.env.NODE_DEBUG||""),t=t.toUpperCase(),!s[t])if(new RegExp("\\b"+t+"\\b","i").test(a)){var n=r.pid;s[t]=function(){var r=e.format.apply(e,arguments);i.error("%s %d: %s",t,n,r);};}else s[t]=function(){};return s[t]},e.inspect=u,u.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},u.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},e.isArray=d,e.isBoolean=y,e.isNull=m,e.isNullOrUndefined=function(t){return null==t},e.isNumber=g,e.isString=_,e.isSymbol=function(t){return "symbol"==typeof t},e.isUndefined=b,e.isRegExp=v,e.isObject=T,e.isDate=E,e.isError=w,e.isFunction=x,e.isPrimitive=function(t){return null===t||"boolean"==typeof t||"number"==typeof t||"string"==typeof t||"symbol"==typeof t||void 0===t},e.isBuffer=n(384);var S=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function N(t,e){return Object.prototype.hasOwnProperty.call(t,e)}e.log=function(){var t,n;i.log("%s - %s",(n=[M((t=new Date).getHours()),M(t.getMinutes()),M(t.getSeconds())].join(":"),[t.getDate(),S[t.getMonth()],n].join(" ")),e.format.apply(e,arguments));},e.inherits=n(1496),e._extend=function(t,e){if(!e||!T(e))return t;for(var n=Object.keys(e),r=n.length;r--;)t[n[r]]=e[n[r]];return t};},8034:t=>{var e=arguments[3],n=arguments[4],r=arguments[5],i=JSON.stringify;t.exports=function(t,o){for(var a,s=Object.keys(r),u=0,l=s.length;u{var r=n(3085).lW;function i(t,e){this.buffer=t,this.position=0,this.isBigEndian=e||!1;}function o(t,e,n){return function(){var r;return r=this.isBigEndian?e.call(this.buffer,this.position):t.call(this.buffer,this.position),this.position+=n,r}}t.exports=i,i.prototype.readUInt8=o(r.prototype.readUInt8,r.prototype.readUInt8,1),i.prototype.readUInt16=o(r.prototype.readUInt16LE,r.prototype.readUInt16BE,2),i.prototype.readUInt32=o(r.prototype.readUInt32LE,r.prototype.readUInt32BE,4),i.prototype.readInt8=o(r.prototype.readInt8,r.prototype.readInt8,1),i.prototype.readInt16=o(r.prototype.readInt16LE,r.prototype.readInt16BE,2),i.prototype.readInt32=o(r.prototype.readInt32LE,r.prototype.readInt32BE,4),i.prototype.readFloat=o(r.prototype.readFloatLE,r.prototype.readFloatBE,4),i.prototype.readDouble=o(r.prototype.readDoubleLE,r.prototype.readDoubleBE,8),i.prototype.readVarInt=function(){var t,e=0,n=0;do{e+=(127&(t=this.buffer[this.position+n]))<<7*n,n++;}while(t>=128);return this.position+=n,e};},2659:(t,e,n)=>{var r=n(3085).lW;function i(t,e){this.buffer=new r(t),this.position=0,this.allowResize=e;}function o(t,e){return function(n,r){this.ensureSize(e),t.call(this.buffer,n,this.position,r),this.position+=e;}}t.exports=i,i.prototype.writeUInt8=o(r.prototype.writeUInt8,1),i.prototype.writeUInt16LE=o(r.prototype.writeUInt16LE,2),i.prototype.writeUInt16BE=o(r.prototype.writeUInt16BE,2),i.prototype.writeUInt32LE=o(r.prototype.writeUInt32LE,4),i.prototype.writeUInt32BE=o(r.prototype.writeUInt32BE,4),i.prototype.writeInt8=o(r.prototype.writeInt8,1),i.prototype.writeInt16LE=o(r.prototype.writeInt16LE,2),i.prototype.writeInt16BE=o(r.prototype.writeInt16BE,2),i.prototype.writeInt32LE=o(r.prototype.writeInt32LE,4),i.prototype.writeInt32BE=o(r.prototype.writeInt32BE,4),i.prototype.writeFloatLE=o(r.prototype.writeFloatLE,4),i.prototype.writeFloatBE=o(r.prototype.writeFloatBE,4),i.prototype.writeDoubleLE=o(r.prototype.writeDoubleLE,8),i.prototype.writeDoubleBE=o(r.prototype.writeDoubleBE,8),i.prototype.writeBuffer=function(t){this.ensureSize(t.length),t.copy(this.buffer,this.position,0,t.length),this.position+=t.length;},i.prototype.writeVarInt=function(t){for(var e=1;0!=(4294967168&t);)this.writeUInt8(127&t|128),t>>>=7,e++;return this.writeUInt8(127&t),e},i.prototype.ensureSize=function(t){if(this.buffer.length{var r=n(3085).lW;t.exports=m;var i=n(4905),o=n(9213),a=n(9645),s=n(978),u=n(1665),l=n(9606),c=n(9763),h=n(2292),f=n(6382),p=n(2659),d=n(2620),y=n(3172);function m(){this.srid=void 0,this.hasZ=!1,this.hasM=!1;}m.parse=function(t,e){if("string"==typeof t||t instanceof d)return m._parseWkt(t);if(r.isBuffer(t)||t instanceof f)return m._parseWkb(t,e);throw new Error("first argument must be a string or Buffer")},m._parseWkt=function(t){var e,n,r=(e=t instanceof d?t:new d(t)).matchRegex([/^SRID=(\d+);/]);r&&(n=parseInt(r[1],10));var f=e.matchType(),p=e.matchDimension(),y={srid:n,hasZ:p.hasZ,hasM:p.hasM};switch(f){case i.wkt.Point:return o._parseWkt(e,y);case i.wkt.LineString:return a._parseWkt(e,y);case i.wkt.Polygon:return s._parseWkt(e,y);case i.wkt.MultiPoint:return u._parseWkt(e,y);case i.wkt.MultiLineString:return l._parseWkt(e,y);case i.wkt.MultiPolygon:return c._parseWkt(e,y);case i.wkt.GeometryCollection:return h._parseWkt(e,y)}},m._parseWkb=function(t,e){var n,r,p,d={};switch((n=t instanceof f?t:new f(t)).isBigEndian=!n.readInt8(),r=n.readUInt32(),d.hasSrid=536870912==(536870912&r),d.isEwkb=536870912&r||1073741824&r||2147483648&r,d.hasSrid&&(d.srid=n.readUInt32()),d.hasZ=!1,d.hasM=!1,d.isEwkb||e&&e.isEwkb?(2147483648&r&&(d.hasZ=!0),1073741824&r&&(d.hasM=!0),p=15&r):r>=1e3&&r<2e3?(d.hasZ=!0,p=r-1e3):r>=2e3&&r<3e3?(d.hasM=!0,p=r-2e3):r>=3e3&&r<4e3?(d.hasZ=!0,d.hasM=!0,p=r-3e3):p=r,p){case i.wkb.Point:return o._parseWkb(n,d);case i.wkb.LineString:return a._parseWkb(n,d);case i.wkb.Polygon:return s._parseWkb(n,d);case i.wkb.MultiPoint:return u._parseWkb(n,d);case i.wkb.MultiLineString:return l._parseWkb(n,d);case i.wkb.MultiPolygon:return c._parseWkb(n,d);case i.wkb.GeometryCollection:return h._parseWkb(n,d);default:throw new Error("GeometryType "+p+" not supported")}},m.parseTwkb=function(t){var e,n={},r=(e=t instanceof f?t:new f(t)).readUInt8(),p=e.readUInt8(),d=15&r;if(n.precision=y.decode(r>>4),n.precisionFactor=Math.pow(10,n.precision),n.hasBoundingBox=p>>0&1,n.hasSizeAttribute=p>>1&1,n.hasIdList=p>>2&1,n.hasExtendedPrecision=p>>3&1,n.isEmpty=p>>4&1,n.hasExtendedPrecision){var m=e.readUInt8();n.hasZ=1==(1&m),n.hasM=2==(2&m),n.zPrecision=y.decode((28&m)>>2),n.zPrecisionFactor=Math.pow(10,n.zPrecision),n.mPrecision=y.decode((224&m)>>5),n.mPrecisionFactor=Math.pow(10,n.mPrecision);}else n.hasZ=!1,n.hasM=!1;if(n.hasSizeAttribute&&e.readVarInt(),n.hasBoundingBox){var g=2;n.hasZ&&g++,n.hasM&&g++;for(var _=0;_>>0,!0),t.writeUInt32LE(this.srid),t.writeBuffer(e.slice(5)),t.buffer},m.prototype._getWktType=function(t,e){var n=t;return this.hasZ&&this.hasM?n+=" ZM ":this.hasZ?n+=" Z ":this.hasM&&(n+=" M "),!e||this.hasZ||this.hasM||(n+=" "),e&&(n+="EMPTY"),n},m.prototype._getWktCoordinate=function(t){var e=t.x+" "+t.y;return this.hasZ&&(e+=" "+t.z),this.hasM&&(e+=" "+t.m),e},m.prototype._writeWkbType=function(t,e,n){var r=0;void 0!==this.srid||n&&void 0!==n.srid?(this.hasZ&&(r|=2147483648),this.hasM&&(r|=1073741824)):this.hasZ&&this.hasM?r+=3e3:this.hasZ?r+=1e3:this.hasM&&(r+=2e3),t.writeUInt32LE(r+e>>>0,!0);},m.getTwkbPrecision=function(t,e,n){return {xy:t,z:e,m:n,xyFactor:Math.pow(10,t),zFactor:Math.pow(10,e),mFactor:Math.pow(10,n)}},m.prototype._writeTwkbHeader=function(t,e,n,r){var i=(y.encode(n.xy)<<4)+e,o=(this.hasZ||this.hasM)<<3;if(o+=r<<4,t.writeUInt8(i),t.writeUInt8(o),this.hasZ||this.hasM){var a=0;this.hasZ&&(a|=1),this.hasM&&(a|=2),t.writeUInt8(a);}},m.prototype.toGeoJSON=function(t){var e={};return this.srid&&t&&(t.shortCrs?e.crs={type:"name",properties:{name:"EPSG:"+this.srid}}:t.longCrs&&(e.crs={type:"name",properties:{name:"urn:ogc:def:crs:EPSG::"+this.srid}})),e};},2292:(t,e,n)=>{t.exports=s;var r=n(9539),i=n(4905),o=n(7056),a=n(2659);function s(t,e){o.call(this),this.geometries=t||[],this.srid=e,this.geometries.length>0&&(this.hasZ=this.geometries[0].hasZ,this.hasM=this.geometries[0].hasM);}r.inherits(s,o),s.Z=function(t,e){var n=new s(t,e);return n.hasZ=!0,n},s.M=function(t,e){var n=new s(t,e);return n.hasM=!0,n},s.ZM=function(t,e){var n=new s(t,e);return n.hasZ=!0,n.hasM=!0,n},s._parseWkt=function(t,e){var n=new s;if(n.srid=e.srid,n.hasZ=e.hasZ,n.hasM=e.hasM,t.isMatch(["EMPTY"]))return n;t.expectGroupStart();do{n.geometries.push(o.parse(t));}while(t.isMatch([","]));return t.expectGroupEnd(),n},s._parseWkb=function(t,e){var n=new s;n.srid=e.srid,n.hasZ=e.hasZ,n.hasM=e.hasM;for(var r=t.readUInt32(),i=0;i0&&(e.hasZ=e.geometries[0].hasZ),e},s.prototype.toWkt=function(){if(0===this.geometries.length)return this._getWktType(i.wkt.GeometryCollection,!0);for(var t=this._getWktType(i.wkt.GeometryCollection,!1)+"(",e=0;e0){t.writeVarInt(this.geometries.length);for(var r=0;r{t.exports=u;var r=n(9539),i=n(7056),o=n(4905),a=n(9213),s=n(2659);function u(t,e){i.call(this),this.points=t||[],this.srid=e,this.points.length>0&&(this.hasZ=this.points[0].hasZ,this.hasM=this.points[0].hasM);}r.inherits(u,i),u.Z=function(t,e){var n=new u(t,e);return n.hasZ=!0,n},u.M=function(t,e){var n=new u(t,e);return n.hasM=!0,n},u.ZM=function(t,e){var n=new u(t,e);return n.hasZ=!0,n.hasM=!0,n},u._parseWkt=function(t,e){var n=new u;return n.srid=e.srid,n.hasZ=e.hasZ,n.hasM=e.hasM,t.isMatch(["EMPTY"])||(t.expectGroupStart(),n.points.push.apply(n.points,t.matchCoordinates(e)),t.expectGroupEnd()),n},u._parseWkb=function(t,e){var n=new u;n.srid=e.srid,n.hasZ=e.hasZ,n.hasM=e.hasM;for(var r=t.readUInt32(),i=0;i0&&(e.hasZ=t.coordinates[0].length>2);for(var n=0;n0){t.writeVarInt(this.points.length);for(var r=new a(0,0,0,0),u=0;u{t.exports=l;var r=n(9539),i=n(4905),o=n(7056),a=n(9213),s=n(9645),u=n(2659);function l(t,e){o.call(this),this.lineStrings=t||[],this.srid=e,this.lineStrings.length>0&&(this.hasZ=this.lineStrings[0].hasZ,this.hasM=this.lineStrings[0].hasM);}r.inherits(l,o),l.Z=function(t,e){var n=new l(t,e);return n.hasZ=!0,n},l.M=function(t,e){var n=new l(t,e);return n.hasM=!0,n},l.ZM=function(t,e){var n=new l(t,e);return n.hasZ=!0,n.hasM=!0,n},l._parseWkt=function(t,e){var n=new l;if(n.srid=e.srid,n.hasZ=e.hasZ,n.hasM=e.hasM,t.isMatch(["EMPTY"]))return n;t.expectGroupStart();do{t.expectGroupStart(),n.lineStrings.push(new s(t.matchCoordinates(e))),t.expectGroupEnd();}while(t.isMatch([","]));return t.expectGroupEnd(),n},l._parseWkb=function(t,e){var n=new l;n.srid=e.srid,n.hasZ=e.hasZ,n.hasM=e.hasM;for(var r=t.readUInt32(),i=0;i0&&t.coordinates[0].length>0&&(e.hasZ=t.coordinates[0][0].length>2);for(var n=0;n0){t.writeVarInt(this.lineStrings.length);for(var r=new a(0,0,0,0),s=0;s{t.exports=u;var r=n(9539),i=n(4905),o=n(7056),a=n(9213),s=n(2659);function u(t,e){o.call(this),this.points=t||[],this.srid=e,this.points.length>0&&(this.hasZ=this.points[0].hasZ,this.hasM=this.points[0].hasM);}r.inherits(u,o),u.Z=function(t,e){var n=new u(t,e);return n.hasZ=!0,n},u.M=function(t,e){var n=new u(t,e);return n.hasM=!0,n},u.ZM=function(t,e){var n=new u(t,e);return n.hasZ=!0,n.hasM=!0,n},u._parseWkt=function(t,e){var n=new u;return n.srid=e.srid,n.hasZ=e.hasZ,n.hasM=e.hasM,t.isMatch(["EMPTY"])||(t.expectGroupStart(),n.points.push.apply(n.points,t.matchCoordinates(e)),t.expectGroupEnd()),n},u._parseWkb=function(t,e){var n=new u;n.srid=e.srid,n.hasZ=e.hasZ,n.hasM=e.hasM;for(var r=t.readUInt32(),i=0;i0&&(e.hasZ=t.coordinates[0].length>2);for(var n=0;n0){t.writeVarInt(this.points.length);for(var r=new a(0,0,0,0),u=0;u{t.exports=l;var r=n(9539),i=n(4905),o=n(7056),a=n(9213),s=n(978),u=n(2659);function l(t,e){o.call(this),this.polygons=t||[],this.srid=e,this.polygons.length>0&&(this.hasZ=this.polygons[0].hasZ,this.hasM=this.polygons[0].hasM);}r.inherits(l,o),l.Z=function(t,e){var n=new l(t,e);return n.hasZ=!0,n},l.M=function(t,e){var n=new l(t,e);return n.hasM=!0,n},l.ZM=function(t,e){var n=new l(t,e);return n.hasZ=!0,n.hasM=!0,n},l._parseWkt=function(t,e){var n=new l;if(n.srid=e.srid,n.hasZ=e.hasZ,n.hasM=e.hasM,t.isMatch(["EMPTY"]))return n;t.expectGroupStart();do{t.expectGroupStart();var r=[],i=[];for(t.expectGroupStart(),r.push.apply(r,t.matchCoordinates(e)),t.expectGroupEnd();t.isMatch([","]);)t.expectGroupStart(),i.push(t.matchCoordinates(e)),t.expectGroupEnd();n.polygons.push(new s(r,i)),t.expectGroupEnd();}while(t.isMatch([","]));return t.expectGroupEnd(),n},l._parseWkb=function(t,e){var n=new l;n.srid=e.srid,n.hasZ=e.hasZ,n.hasM=e.hasM;for(var r=t.readUInt32(),i=0;i0&&t.coordinates[0].length>0&&t.coordinates[0][0].length>0&&(e.hasZ=t.coordinates[0][0][0].length>2);for(var n=0;n0){t.writeVarInt(this.polygons.length);for(var r=new a(0,0,0,0),s=0;s{t.exports=u;var r=n(9539),i=n(7056),o=n(4905),a=n(2659),s=n(3172);function u(t,e,n,r,o){i.call(this),this.x=t,this.y=e,this.z=n,this.m=r,this.srid=o,this.hasZ=void 0!==this.z,this.hasM=void 0!==this.m;}r.inherits(u,i),u.Z=function(t,e,n,r){var i=new u(t,e,n,void 0,r);return i.hasZ=!0,i},u.M=function(t,e,n,r){var i=new u(t,e,void 0,n,r);return i.hasM=!0,i},u.ZM=function(t,e,n,r,i){var o=new u(t,e,n,r,i);return o.hasZ=!0,o.hasM=!0,o},u._parseWkt=function(t,e){var n=new u;if(n.srid=e.srid,n.hasZ=e.hasZ,n.hasM=e.hasM,t.isMatch(["EMPTY"]))return n;t.expectGroupStart();var r=t.matchCoordinate(e);return n.x=r.x,n.y=r.y,n.z=r.z,n.m=r.m,t.expectGroupEnd(),n},u._parseWkb=function(t,e){var n=u._readWkbPoint(t,e);return n.srid=e.srid,n},u._readWkbPoint=function(t,e){return new u(t.readDouble(),t.readDouble(),e.hasZ?t.readDouble():void 0,e.hasM?t.readDouble():void 0)},u._parseTwkb=function(t,e){var n=new u;return n.hasZ=e.hasZ,n.hasM=e.hasM,e.isEmpty||(n.x=s.decode(t.readVarInt())/e.precisionFactor,n.y=s.decode(t.readVarInt())/e.precisionFactor,n.z=e.hasZ?s.decode(t.readVarInt())/e.zPrecisionFactor:void 0,n.m=e.hasM?s.decode(t.readVarInt())/e.mPrecisionFactor:void 0),n},u._readTwkbPoint=function(t,e,n){return n.x+=s.decode(t.readVarInt())/e.precisionFactor,n.y+=s.decode(t.readVarInt())/e.precisionFactor,e.hasZ&&(n.z+=s.decode(t.readVarInt())/e.zPrecisionFactor),e.hasM&&(n.m+=s.decode(t.readVarInt())/e.mPrecisionFactor),new u(n.x,n.y,n.z,n.m)},u._parseGeoJSON=function(t){return u._readGeoJSONPoint(t.coordinates)},u._readGeoJSONPoint=function(t){return 0===t.length?new u:t.length>2?new u(t[0],t[1],t[2]):new u(t[0],t[1])},u.prototype.toWkt=function(){return void 0===this.x&&void 0===this.y&&void 0===this.z&&void 0===this.m?this._getWktType(o.wkt.Point,!0):this._getWktType(o.wkt.Point,!1)+"("+this._getWktCoordinate(this)+")"},u.prototype.toWkb=function(t){var e=new a(this._getWkbSize());return e.writeInt8(1),this._writeWkbType(e,o.wkb.Point,t),void 0===this.x&&void 0===this.y?(e.writeDoubleLE(NaN),e.writeDoubleLE(NaN),this.hasZ&&e.writeDoubleLE(NaN),this.hasM&&e.writeDoubleLE(NaN)):this._writeWkbPoint(e),e.buffer},u.prototype._writeWkbPoint=function(t){t.writeDoubleLE(this.x),t.writeDoubleLE(this.y),this.hasZ&&t.writeDoubleLE(this.z),this.hasM&&t.writeDoubleLE(this.m);},u.prototype.toTwkb=function(){var t=new a(0,!0),e=i.getTwkbPrecision(5,0,0),n=void 0===this.x&&void 0===this.y;return this._writeTwkbHeader(t,o.wkb.Point,e,n),n||this._writeTwkbPoint(t,e,new u(0,0,0,0)),t.buffer},u.prototype._writeTwkbPoint=function(t,e,n){var r=this.x*e.xyFactor,i=this.y*e.xyFactor,o=this.z*e.zFactor,a=this.m*e.mFactor;t.writeVarInt(s.encode(r-n.x)),t.writeVarInt(s.encode(i-n.y)),this.hasZ&&t.writeVarInt(s.encode(o-n.z)),this.hasM&&t.writeVarInt(s.encode(a-n.m)),n.x=r,n.y=i,n.z=o,n.m=a;},u.prototype._getWkbSize=function(){var t=21;return this.hasZ&&(t+=8),this.hasM&&(t+=8),t},u.prototype.toGeoJSON=function(t){var e=i.prototype.toGeoJSON.call(this,t);return e.type=o.geoJSON.Point,void 0===this.x&&void 0===this.y?e.coordinates=[]:void 0!==this.z?e.coordinates=[this.x,this.y,this.z]:e.coordinates=[this.x,this.y],e};},978:(t,e,n)=>{t.exports=u;var r=n(9539),i=n(7056),o=n(4905),a=n(9213),s=n(2659);function u(t,e,n){i.call(this),this.exteriorRing=t||[],this.interiorRings=e||[],this.srid=n,this.exteriorRing.length>0&&(this.hasZ=this.exteriorRing[0].hasZ,this.hasM=this.exteriorRing[0].hasM);}r.inherits(u,i),u.Z=function(t,e,n){var r=new u(t,e,n);return r.hasZ=!0,r},u.M=function(t,e,n){var r=new u(t,e,n);return r.hasM=!0,r},u.ZM=function(t,e,n){var r=new u(t,e,n);return r.hasZ=!0,r.hasM=!0,r},u._parseWkt=function(t,e){var n=new u;if(n.srid=e.srid,n.hasZ=e.hasZ,n.hasM=e.hasM,t.isMatch(["EMPTY"]))return n;for(t.expectGroupStart(),t.expectGroupStart(),n.exteriorRing.push.apply(n.exteriorRing,t.matchCoordinates(e)),t.expectGroupEnd();t.isMatch([","]);)t.expectGroupStart(),n.interiorRings.push(t.matchCoordinates(e)),t.expectGroupEnd();return t.expectGroupEnd(),n},u._parseWkb=function(t,e){var n=new u;n.srid=e.srid,n.hasZ=e.hasZ,n.hasM=e.hasM;var r=t.readUInt32();if(r>0){for(var i=t.readUInt32(),o=0;o0&&t.coordinates[0].length>0&&(e.hasZ=t.coordinates[0][0].length>2);for(var n=0;n0&&e.interiorRings.push([]);for(var r=0;r0?(e.writeUInt32LE(1+this.interiorRings.length),e.writeUInt32LE(this.exteriorRing.length)):e.writeUInt32LE(0);for(var n=0;n0){t.writeVarInt(1+this.interiorRings.length),t.writeVarInt(this.exteriorRing.length);for(var r=new a(0,0,0,0),u=0;u0&&(e+=4+this.exteriorRing.length*t);for(var n=0;n0){for(var n=[],r=0;r{t.exports={wkt:{Point:"POINT",LineString:"LINESTRING",Polygon:"POLYGON",MultiPoint:"MULTIPOINT",MultiLineString:"MULTILINESTRING",MultiPolygon:"MULTIPOLYGON",GeometryCollection:"GEOMETRYCOLLECTION"},wkb:{Point:1,LineString:2,Polygon:3,MultiPoint:4,MultiLineString:5,MultiPolygon:6,GeometryCollection:7},geoJSON:{Point:"Point",LineString:"LineString",Polygon:"Polygon",MultiPoint:"MultiPoint",MultiLineString:"MultiLineString",MultiPolygon:"MultiPolygon",GeometryCollection:"GeometryCollection"}};},2620:(t,e,n)=>{t.exports=o;var r=n(4905),i=n(9213);function o(t){this.value=t,this.position=0;}o.prototype.match=function(t){this.skipWhitespaces();for(var e=0;e{e.Types=n(4905),e.Geometry=n(7056),e.Point=n(9213),e.LineString=n(9645),e.Polygon=n(978),e.MultiPoint=n(1665),e.MultiLineString=n(9606),e.MultiPolygon=n(9763),e.GeometryCollection=n(2292);},3172:t=>{t.exports={encode:function(t){return t<<1^t>>31},decode:function(t){return t>>1^-(1&t)}};},7529:t=>{t.exports=function(){for(var t={},n=0;n{"use strict";if(void 0===__WEBPACK_EXTERNAL_MODULE__1498__){var e=new Error("Cannot find module 'better-sqlite3'");throw e.code="MODULE_NOT_FOUND",e}t.exports=__WEBPACK_EXTERNAL_MODULE__1498__;},5699:()=>{},4919:()=>{},1929:()=>{},2203:()=>{},7990:()=>{},8497:()=>{},1408:()=>{},3646:()=>{},4059:()=>{}},__webpack_module_cache__={};function __webpack_require__(t){var e=__webpack_module_cache__[t];if(void 0!==e)return e.exports;var n=__webpack_module_cache__[t]={id:t,loaded:!1,exports:{}};return __webpack_modules__[t].call(n.exports,n,n.exports,__webpack_require__),n.loaded=!0,n.exports}__webpack_require__.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return __webpack_require__.d(e,{a:e}),e},__webpack_require__.d=(t,e)=>{for(var n in e)__webpack_require__.o(e,n)&&!__webpack_require__.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]});},__webpack_require__.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),__webpack_require__.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),__webpack_require__.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0});},__webpack_require__.nmd=t=>(t.paths=[],t.children||(t.children=[]),t);var __webpack_exports__={};return (()=>{"use strict";var t=__webpack_exports__;Object.defineProperty(t,"__esModule",{value:!0}),t.OffscreenCanvasAdapter=t.NumberFeaturesTile=t.MetadataReference=t.MetadataExtension=t.MetadataDao=t.Metadata=t.MediaTable=t.ImageUtils=t.IconTable=t.Icons=t.IconCache=t.HtmlCanvasAdapter=t.GeoPackageValidate=t.GeoPackageTileRetriever=t.GeoPackageDataType=t.GeoPackageConnection=t.GeoPackageAPI=t.GeoPackage=t.GeometryData=t.GeometryColumnsDao=t.GeometryColumns=t.GeometryType=t.FeatureTiles=t.FeatureTableStyles=t.FeatureTableReader=t.FeatureTableIndex=t.FeatureTable=t.FeatureStyles=t.FeatureStyleExtension=t.FeatureStyle=t.FeaturePaint=t.FeatureDrawType=t.FeatureColumn=t.Extension=t.DublinCoreType=t.DublinCoreMetadata=t.DataColumnsDao=t.DataColumns=t.DataColumnConstraintsDao=t.DataColumnConstraints=t.CrsWktExtension=t.Context=t.ConstraintType=t.Constraints=t.Constraint=t.ContentsIdDao=t.ContentsDao=t.CanvasKitCanvasAdapter=t.Canvas=t.BoundingBox=void 0,t.WKB=t.WebPExtension=t.UserTableReader=t.UserTable=t.UserRow=t.UserMappingTable=t.UserDao=t.UserColumn=t.TileUtilities=t.TileTable=t.TileScalingType=t.TileScaling=t.TileMatrixSet=t.TileMatrix=t.TileColumn=t.TileBoundingBoxUtils=t.TileCreator=t.TableCreator=t.StyleTable=t.Styles=t.SqljsAdapter=t.StyleMappingTable=t.SqliteQueryBuilder=t.SqliteAdapter=t.SpatialReferenceSystem=t.SimpleAttributesTable=t.ShadedFeaturesTile=t.SchemaExtension=t.setSqljsWasmLocateFile=t.setCanvasKitWasmLocateFile=t.RTreeIndexDao=t.RTreeIndex=t.RelatedTablesExtension=t.ProjectionConstants=t.Projection=t.Paint=t.OptionBuilder=void 0;var e=__webpack_require__(2527);Object.defineProperty(t,"BoundingBox",{enumerable:!0,get:function(){return e.BoundingBox}});var n=__webpack_require__(4325);Object.defineProperty(t,"GeoPackage",{enumerable:!0,get:function(){return n.GeoPackage}});var r=__webpack_require__(6638);Object.defineProperty(t,"ContentsDao",{enumerable:!0,get:function(){return r.ContentsDao}});var i=__webpack_require__(7092);Object.defineProperty(t,"ContentsIdDao",{enumerable:!0,get:function(){return i.ContentsIdDao}});var o=__webpack_require__(8007);Object.defineProperty(t,"Constraint",{enumerable:!0,get:function(){return o.Constraint}});var a=__webpack_require__(7686);Object.defineProperty(t,"Constraints",{enumerable:!0,get:function(){return a.Constraints}});var s=__webpack_require__(91);Object.defineProperty(t,"ConstraintType",{enumerable:!0,get:function(){return s.ConstraintType}});var u=__webpack_require__(5306);Object.defineProperty(t,"CrsWktExtension",{enumerable:!0,get:function(){return u.CrsWktExtension}});var l=__webpack_require__(8590);Object.defineProperty(t,"DataColumnConstraints",{enumerable:!0,get:function(){return l.DataColumnConstraints}});var c=__webpack_require__(7175);Object.defineProperty(t,"DataColumnConstraintsDao",{enumerable:!0,get:function(){return c.DataColumnConstraintsDao}});var h=__webpack_require__(8133);Object.defineProperty(t,"DataColumns",{enumerable:!0,get:function(){return h.DataColumns}});var f=__webpack_require__(7319);Object.defineProperty(t,"GeoPackageDataType",{enumerable:!0,get:function(){return f.GeoPackageDataType}});var p=__webpack_require__(4941);Object.defineProperty(t,"DataColumnsDao",{enumerable:!0,get:function(){return p.DataColumnsDao}});var d=__webpack_require__(3096);Object.defineProperty(t,"DublinCoreMetadata",{enumerable:!0,get:function(){return d.DublinCoreMetadata}});var y=__webpack_require__(1485);Object.defineProperty(t,"DublinCoreType",{enumerable:!0,get:function(){return y.DublinCoreType}});var m=__webpack_require__(624);Object.defineProperty(t,"Extension",{enumerable:!0,get:function(){return m.Extension}});var g=__webpack_require__(961);Object.defineProperty(t,"FeatureColumn",{enumerable:!0,get:function(){return g.FeatureColumn}});var _=__webpack_require__(4538);Object.defineProperty(t,"FeatureDrawType",{enumerable:!0,get:function(){return _.FeatureDrawType}});var b=__webpack_require__(6063);Object.defineProperty(t,"FeaturePaint",{enumerable:!0,get:function(){return b.FeaturePaint}});var v=__webpack_require__(612);Object.defineProperty(t,"FeatureStyle",{enumerable:!0,get:function(){return v.FeatureStyle}});var T=__webpack_require__(8479);Object.defineProperty(t,"FeatureStyleExtension",{enumerable:!0,get:function(){return T.FeatureStyleExtension}});var E=__webpack_require__(2752);Object.defineProperty(t,"FeatureStyles",{enumerable:!0,get:function(){return E.FeatureStyles}});var w=__webpack_require__(8412);Object.defineProperty(t,"FeatureTable",{enumerable:!0,get:function(){return w.FeatureTable}});var x=__webpack_require__(5626);Object.defineProperty(t,"FeatureTableIndex",{enumerable:!0,get:function(){return x.FeatureTableIndex}});var C=__webpack_require__(4896);Object.defineProperty(t,"FeatureTableReader",{enumerable:!0,get:function(){return C.FeatureTableReader}});var M=__webpack_require__(6536);Object.defineProperty(t,"FeatureTableStyles",{enumerable:!0,get:function(){return M.FeatureTableStyles}});var S=__webpack_require__(297);Object.defineProperty(t,"FeatureTiles",{enumerable:!0,get:function(){return S.FeatureTiles}});var N=__webpack_require__(812);Object.defineProperty(t,"GeometryColumns",{enumerable:!0,get:function(){return N.GeometryColumns}});var O=__webpack_require__(1968);Object.defineProperty(t,"GeometryColumnsDao",{enumerable:!0,get:function(){return O.GeometryColumnsDao}});var A=__webpack_require__(857);Object.defineProperty(t,"GeometryData",{enumerable:!0,get:function(){return A.GeometryData}});var I=__webpack_require__(9211);Object.defineProperty(t,"GeometryType",{enumerable:!0,get:function(){return I.GeometryType}});var P=__webpack_require__(1191);Object.defineProperty(t,"GeoPackageAPI",{enumerable:!0,get:function(){return P.GeoPackageAPI}});var R=__webpack_require__(5116);Object.defineProperty(t,"GeoPackageConnection",{enumerable:!0,get:function(){return R.GeoPackageConnection}});var L=__webpack_require__(731);Object.defineProperty(t,"GeoPackageTileRetriever",{enumerable:!0,get:function(){return L.GeoPackageTileRetriever}});var D=__webpack_require__(4275);Object.defineProperty(t,"GeoPackageValidate",{enumerable:!0,get:function(){return D.GeoPackageValidate}});var k=__webpack_require__(8600);Object.defineProperty(t,"IconCache",{enumerable:!0,get:function(){return k.IconCache}});var F=__webpack_require__(4725);Object.defineProperty(t,"Icons",{enumerable:!0,get:function(){return F.Icons}});var U=__webpack_require__(2015);Object.defineProperty(t,"IconTable",{enumerable:!0,get:function(){return U.IconTable}});var B=__webpack_require__(9325);Object.defineProperty(t,"ImageUtils",{enumerable:!0,get:function(){return B.ImageUtils}});var j=__webpack_require__(6366);Object.defineProperty(t,"MediaTable",{enumerable:!0,get:function(){return j.MediaTable}});var G=__webpack_require__(3026);Object.defineProperty(t,"Metadata",{enumerable:!0,get:function(){return G.Metadata}});var W=__webpack_require__(663);Object.defineProperty(t,"MetadataDao",{enumerable:!0,get:function(){return W.MetadataDao}});var q=__webpack_require__(3501);Object.defineProperty(t,"MetadataExtension",{enumerable:!0,get:function(){return q.MetadataExtension}});var H=__webpack_require__(9173);Object.defineProperty(t,"MetadataReference",{enumerable:!0,get:function(){return H.MetadataReference}});var z=__webpack_require__(3060);Object.defineProperty(t,"NumberFeaturesTile",{enumerable:!0,get:function(){return z.NumberFeaturesTile}});var V=__webpack_require__(7403);Object.defineProperty(t,"OptionBuilder",{enumerable:!0,get:function(){return V.OptionBuilder}});var X=__webpack_require__(5211);Object.defineProperty(t,"Paint",{enumerable:!0,get:function(){return X.Paint}});var Y=__webpack_require__(5604);Object.defineProperty(t,"Projection",{enumerable:!0,get:function(){return Y.Projection}});var Z=__webpack_require__(1375);Object.defineProperty(t,"ProjectionConstants",{enumerable:!0,get:function(){return Z.ProjectionConstants}});var Q=__webpack_require__(1832);Object.defineProperty(t,"RelatedTablesExtension",{enumerable:!0,get:function(){return Q.RelatedTablesExtension}});var K=__webpack_require__(5859);Object.defineProperty(t,"RTreeIndex",{enumerable:!0,get:function(){return K.RTreeIndex}});var J=__webpack_require__(735);Object.defineProperty(t,"RTreeIndexDao",{enumerable:!0,get:function(){return J.RTreeIndexDao}});var $=__webpack_require__(8116);Object.defineProperty(t,"SchemaExtension",{enumerable:!0,get:function(){return $.SchemaExtension}});var tt=__webpack_require__(6667);Object.defineProperty(t,"ShadedFeaturesTile",{enumerable:!0,get:function(){return tt.ShadedFeaturesTile}});var et=__webpack_require__(4599);Object.defineProperty(t,"SimpleAttributesTable",{enumerable:!0,get:function(){return et.SimpleAttributesTable}});var nt=__webpack_require__(341);Object.defineProperty(t,"SpatialReferenceSystem",{enumerable:!0,get:function(){return nt.SpatialReferenceSystem}});var rt=__webpack_require__(8877);Object.defineProperty(t,"SqliteQueryBuilder",{enumerable:!0,get:function(){return rt.SqliteQueryBuilder}});var it=__webpack_require__(8138);Object.defineProperty(t,"StyleMappingTable",{enumerable:!0,get:function(){return it.StyleMappingTable}});var ot=__webpack_require__(7924);Object.defineProperty(t,"Styles",{enumerable:!0,get:function(){return ot.Styles}});var at=__webpack_require__(3934);Object.defineProperty(t,"StyleTable",{enumerable:!0,get:function(){return at.StyleTable}});var st=__webpack_require__(1459);Object.defineProperty(t,"TableCreator",{enumerable:!0,get:function(){return st.TableCreator}});var ut=__webpack_require__(3684);Object.defineProperty(t,"TileBoundingBoxUtils",{enumerable:!0,get:function(){return ut.TileBoundingBoxUtils}});var lt=__webpack_require__(8334);Object.defineProperty(t,"TileColumn",{enumerable:!0,get:function(){return lt.TileColumn}});var ct=__webpack_require__(1938);Object.defineProperty(t,"TileMatrix",{enumerable:!0,get:function(){return ct.TileMatrix}});var ht=__webpack_require__(5899);Object.defineProperty(t,"TileMatrixSet",{enumerable:!0,get:function(){return ht.TileMatrixSet}});var ft=__webpack_require__(4301);Object.defineProperty(t,"TileScaling",{enumerable:!0,get:function(){return ft.TileScaling}});var pt=__webpack_require__(2777);Object.defineProperty(t,"TileScalingType",{enumerable:!0,get:function(){return pt.TileScalingType}});var dt=__webpack_require__(8704);Object.defineProperty(t,"TileTable",{enumerable:!0,get:function(){return dt.TileTable}});var yt=__webpack_require__(824);Object.defineProperty(t,"TileUtilities",{enumerable:!0,get:function(){return yt.TileUtilities}});var mt=__webpack_require__(5865);Object.defineProperty(t,"UserColumn",{enumerable:!0,get:function(){return mt.UserColumn}});var gt=__webpack_require__(4668);Object.defineProperty(t,"UserDao",{enumerable:!0,get:function(){return gt.UserDao}});var _t=__webpack_require__(233);Object.defineProperty(t,"UserMappingTable",{enumerable:!0,get:function(){return _t.UserMappingTable}});var bt=__webpack_require__(2224);Object.defineProperty(t,"UserRow",{enumerable:!0,get:function(){return bt.UserRow}});var vt=__webpack_require__(8018);Object.defineProperty(t,"UserTable",{enumerable:!0,get:function(){return vt.UserTable}});var Tt=__webpack_require__(4880);Object.defineProperty(t,"UserTableReader",{enumerable:!0,get:function(){return Tt.UserTableReader}});var Et=__webpack_require__(7719);Object.defineProperty(t,"WebPExtension",{enumerable:!0,get:function(){return Et.WebPExtension}});var wt=__webpack_require__(2038);Object.defineProperty(t,"WKB",{enumerable:!0,get:function(){return wt.WKB}});var xt=__webpack_require__(922);Object.defineProperty(t,"SqliteAdapter",{enumerable:!0,get:function(){return xt.SqliteAdapter}});var Ct=__webpack_require__(6328);Object.defineProperty(t,"SqljsAdapter",{enumerable:!0,get:function(){return Ct.SqljsAdapter}});var Mt=__webpack_require__(7977);Object.defineProperty(t,"TileCreator",{enumerable:!0,get:function(){return Mt.TileCreator}});var St=__webpack_require__(3437);Object.defineProperty(t,"Canvas",{enumerable:!0,get:function(){return St.Canvas}});var Nt=__webpack_require__(8038);Object.defineProperty(t,"CanvasKitCanvasAdapter",{enumerable:!0,get:function(){return Nt.CanvasKitCanvasAdapter}});var Ot=__webpack_require__(342);Object.defineProperty(t,"OffscreenCanvasAdapter",{enumerable:!0,get:function(){return Ot.OffscreenCanvasAdapter}});var At=__webpack_require__(2807);Object.defineProperty(t,"HtmlCanvasAdapter",{enumerable:!0,get:function(){return At.HtmlCanvasAdapter}});var It=__webpack_require__(1150);Object.defineProperty(t,"Context",{enumerable:!0,get:function(){return It.Context}}),It.Context.setupDefaultContext();var Pt=Ct.SqljsAdapter.setSqljsWasmLocateFile;t.setSqljsWasmLocateFile=Pt;var Rt=Nt.CanvasKitCanvasAdapter.setCanvasKitWasmLocateFile;t.setCanvasKitWasmLocateFile=Rt;})(),__webpack_exports__})())); + (function (module, exports$1) { + !function(t,e){"object"=='object'&&"object"=='object'?module.exports=e(function(){try{return requireLib()}catch(t){}}()):"function"==typeof undefined&&undefined.amd?undefined(["better-sqlite3"],e):"object"=='object'?exports$1.GeoPackage=e(function(){try{return requireLib()}catch(t){}}()):t.GeoPackage=e(t["better-sqlite3"]);}(self,(__WEBPACK_EXTERNAL_MODULE__1498__=>(()=>{var __webpack_modules__={8927:(t,e,n)=>{var r,i=n(3085).lW,o=n(4155),a=n(5108),s=(r=(r="undefined"!=typeof document&&document.currentScript?document.currentScript.src:void 0)||"/index.js",function(t={}){var e,s,u,l;e||(e=void 0!==t?t:{}),e.ready=new Promise((function(t,e){s=t,u=e;})),(l=e).Qd=l.Qd||[],l.Qd.push((function(){l.MakeSWCanvasSurface=function(t){var e=t;if("CANVAS"!==e.tagName&&!(e=document.getElementById(t)))throw "Canvas with id "+t+" was not found";return (t=l.MakeSurface(e.width,e.height))&&(t.Dd=e),t},l.MakeCanvasSurface||(l.MakeCanvasSurface=l.MakeSWCanvasSurface),l.MakeSurface=function(t,e){var n={width:t,height:e,colorType:l.ColorType.RGBA_8888,alphaType:l.AlphaType.Unpremul,colorSpace:l.ColorSpace.SRGB},r=t*e*4,i=l._malloc(r);return (n=l.Surface._makeRasterDirect(n,i,4*t))&&(n.Dd=null,n.uf=t,n.rf=e,n.tf=r,n.Ue=i,n.getCanvas().clear(l.TRANSPARENT)),n},l.MakeRasterDirectSurface=function(t,e,n){return l.Surface._makeRasterDirect(t,e.byteOffset,n)},l.Surface.prototype.flush=function(t){if(this._flush(),this.Dd){var e=new Uint8ClampedArray(l.HEAPU8.buffer,this.Ue,this.tf);e=new ImageData(e,this.uf,this.rf),t?this.Dd.getContext("2d").putImageData(e,0,0,t[0],t[1],t[2]-t[0],t[3]-t[1]):this.Dd.getContext("2d").putImageData(e,0,0);}},l.Surface.prototype.dispose=function(){this.Ue&&l._free(this.Ue),this.delete();},l.currentContext=l.currentContext||function(){},l.setCurrentContext=l.setCurrentContext||function(){};})),function(t){t.Qd=t.Qd||[],t.Qd.push((function(){function e(t,e,n){return t&&t.hasOwnProperty(e)?t[e]:n}t.GetWebGLContext=function(t,n){if(!t)throw "null canvas passed into makeWebGLContext";var r={alpha:e(n,"alpha",1),depth:e(n,"depth",1),stencil:e(n,"stencil",8),antialias:e(n,"antialias",0),premultipliedAlpha:e(n,"premultipliedAlpha",1),preserveDrawingBuffer:e(n,"preserveDrawingBuffer",0),preferLowPowerToHighPerformance:e(n,"preferLowPowerToHighPerformance",0),failIfMajorPerformanceCaveat:e(n,"failIfMajorPerformanceCaveat",0),enableExtensionsByDefault:e(n,"enableExtensionsByDefault",1),explicitSwapControl:e(n,"explicitSwapControl",0),renderViaOffscreenBackBuffer:e(n,"renderViaOffscreenBackBuffer",0)};if(r.majorVersion=n&&n.majorVersion?n.majorVersion:"undefined"!=typeof WebGL2RenderingContext?2:1,r.explicitSwapControl)throw "explicitSwapControl is not supported";return t=function(t,e){t.cf||(t.cf=t.getContext,t.getContext=function(e,n){return "webgl"==e==(n=t.cf(e,n))instanceof WebGLRenderingContext?n:null});var n=1t.version||!e.jf)&&(e.jf=e.getExtension("EXT_disjoint_timer_query")),e.hg=e.getExtension("WEBGL_multi_draw"),(e.getSupportedExtensions()||[]).forEach((function(t){t.includes("lose_context")||t.includes("debug")||e.getExtension(t);}));}}(r),n}(n,e):0}(t,r),t?(De(t),t):0},t.deleteContext=function(t){Fe===Se[t]&&(Fe=null),"object"==typeof JSEvents&&JSEvents.jg(Se[t].ze.canvas),Se[t]&&Se[t].ze.canvas&&(Se[t].ze.canvas.df=void 0),Se[t]=null;},t.MakeWebGLCanvasSurface=function(e,n,r){n=n||null;var i=e,o="undefined"!=typeof OffscreenCanvas&&i instanceof OffscreenCanvas;if(!("undefined"!=typeof HTMLCanvasElement&&i instanceof HTMLCanvasElement||o||(i=document.getElementById(e),i)))throw "Canvas with id "+e+" was not found";if(!(e=this.GetWebGLContext(i,r))||0>e)throw "failed to create webgl context: err "+e;return r=this.MakeGrContext(e),(n=this.MakeOnScreenGLSurface(r,i.width,i.height,n))?(n.de=e,n.grContext=r,n.openGLversion=i.df.version,n):(n=i.cloneNode(!0),i.parentNode.replaceChild(n,i),n.classList.add("ck-replaced"),t.MakeSWCanvasSurface(n))},t.MakeCanvasSurface=t.MakeWebGLCanvasSurface;}));}(e),function(t){function e(t,e,n,r,i){for(var o=0;o>>0}function a(t){if(t instanceof Float32Array){for(var e=Math.floor(t.length/4),n=new Uint32Array(e),r=0;rs;s++)t.HEAPF32[o+i]=e[a][s],i++;e=r;}else e=X;n.Ud=e;}return n}function f(e){if(!e)return X;if(e.length){if(6===e.length||9===e.length)return c(e,"HEAPF32",R),6===e.length&&t.HEAPF32.set(z,6+R/4),R;if(16===e.length){var n=E.toTypedArray();return n[0]=e[0],n[1]=e[1],n[2]=e[3],n[3]=e[4],n[4]=e[5],n[5]=e[7],n[6]=e[12],n[7]=e[13],n[8]=e[15],R}throw "invalid matrix size"}return (n=E.toTypedArray())[0]=e.m11,n[1]=e.m21,n[2]=e.m41,n[3]=e.m12,n[4]=e.m22,n[5]=e.m42,n[6]=e.m14,n[7]=e.m24,n[8]=e.m44,R}function p(e){for(var n=Array(16),r=0;16>r;r++)n[r]=t.HEAPF32[e/4+r];return n}function d(t,e){return c(t,"HEAPF32",e||D)}function y(t,e,n,r){var i=x.toTypedArray();return i[0]=t,i[1]=e,i[2]=n,i[3]=r,D}function m(e){for(var n=new Float32Array(4),r=0;4>r;r++)n[r]=t.HEAPF32[e/4+r];return n}function g(t,e){return c(t,"HEAPF32",e||k)}function _(t,e){return c(t,"HEAPF32",e||q)}function b(){for(var t=0,e=0;e>>0},t.Color4f=function(t,e,n,r){return void 0===r&&(r=1),Float32Array.of(t,e,n,r)},Object.defineProperty(t,"TRANSPARENT",{get:function(){return t.Color4f(0,0,0,0)}}),Object.defineProperty(t,"BLACK",{get:function(){return t.Color4f(0,0,0,1)}}),Object.defineProperty(t,"WHITE",{get:function(){return t.Color4f(1,1,1,1)}}),Object.defineProperty(t,"RED",{get:function(){return t.Color4f(1,0,0,1)}}),Object.defineProperty(t,"GREEN",{get:function(){return t.Color4f(0,1,0,1)}}),Object.defineProperty(t,"BLUE",{get:function(){return t.Color4f(0,0,1,1)}}),Object.defineProperty(t,"YELLOW",{get:function(){return t.Color4f(1,1,0,1)}}),Object.defineProperty(t,"CYAN",{get:function(){return t.Color4f(0,1,1,1)}}),Object.defineProperty(t,"MAGENTA",{get:function(){return t.Color4f(1,0,1,1)}}),t.getColorComponents=function(t){return [Math.floor(255*t[0]),Math.floor(255*t[1]),Math.floor(255*t[2]),t[3]]},t.parseColorString=function(e,n){if((e=e.toLowerCase()).startsWith("#")){switch(n=255,e.length){case 9:n=parseInt(e.slice(7,9),16);case 7:var r=parseInt(e.slice(1,3),16),i=parseInt(e.slice(3,5),16),o=parseInt(e.slice(5,7),16);break;case 5:n=17*parseInt(e.slice(4,5),16);case 4:r=17*parseInt(e.slice(1,2),16),i=17*parseInt(e.slice(2,3),16),o=17*parseInt(e.slice(3,4),16);}return t.Color(r,i,o,n/255)}return e.startsWith("rgba")?(e=(e=e.slice(5,-1)).split(","),t.Color(+e[0],+e[1],+e[2],s(e[3]))):e.startsWith("rgb")?(e=(e=e.slice(4,-1)).split(","),t.Color(+e[0],+e[1],+e[2],s(e[3]))):e.startsWith("gray(")||e.startsWith("hsl")||!n||void 0===(e=n[e])?t.BLACK:e},t.multiplyByAlpha=function(t,e){return (t=t.slice())[3]=Math.max(0,Math.min(t[3]*e,1)),t},t.Malloc=function(e,n){var r=t._malloc(n*e.BYTES_PER_ELEMENT);return {_ck:!0,length:n,byteOffset:r,he:null,subarray:function(t,e){return (t=this.toTypedArray().subarray(t,e))._ck=!0,t},toTypedArray:function(){return this.he&&this.he.length||(this.he=new e(t.HEAPU8.buffer,r,n),this.he._ck=!0),this.he}}},t.Free=function(e){t._free(e.byteOffset),e.byteOffset=X,e.toTypedArray=null,e.he=null;};var E,w,x,C,M,S,O,A,I,P,R=X,L=X,D=X,k=X,F=X,U=X,G=X,W=X,q=X,H=X,z=Float32Array.of(0,0,1),V={};t.ie=function(){this.ce=[],this.Jd=null,Object.defineProperty(this,"length",{enumerable:!0,get:function(){return this.ce.length/4}});},t.ie.prototype.push=function(t,e,n,r){this.Jd||this.ce.push(t,e,n,r);},t.ie.prototype.set=function(e,n,r,i,o){0>e||e>=this.ce.length/4||(e*=4,this.Jd?(e=this.Jd/4+e,t.HEAPF32[e]=n,t.HEAPF32[e+1]=r,t.HEAPF32[e+2]=i,t.HEAPF32[e+3]=o):(this.ce[e]=n,this.ce[e+1]=r,this.ce[e+2]=i,this.ce[e+3]=o));},t.ie.prototype.build=function(){return this.Jd?this.Jd:this.Jd=c(this.ce,"HEAPF32")},t.ie.prototype.delete=function(){this.Jd&&(t._free(this.Jd),this.Jd=null);},t.Ae=function(){this.Fe=[],this.Jd=null,Object.defineProperty(this,"length",{enumerable:!0,get:function(){return this.Fe.length}});},t.Ae.prototype.push=function(t){this.Jd||this.Fe.push(t);},t.Ae.prototype.set=function(e,n){0>e||e>=this.Fe.length||(e*=4,this.Jd?t.HEAPU32[this.Jd/4+e]=n:this.Fe[e]=n);},t.Ae.prototype.build=function(){return this.Jd?this.Jd:this.Jd=c(this.Fe,"HEAPU32")},t.Ae.prototype.delete=function(){this.Jd&&(t._free(this.Jd),this.Jd=null);},t.RectBuilder=t.ie,t.RSXFormBuilder=t.ie,t.ColorBuilder=t.Ae;var X=0,Y=!new Function("try {return this===window;}catch(e){ return false;}")();t.onRuntimeInitialized=function(){function e(e,n,r,i,o,a){a||(a=4*i.width,i.colorType===t.ColorType.RGBA_F16?a*=2:i.colorType===t.ColorType.RGBA_F32&&(a*=4));var s=a*i.height,u=o?o.byteOffset:t._malloc(s);if(!e._readPixels(i,u,a,n,r))return o||t._free(u),null;if(o)return o.toTypedArray();switch(i.colorType){case t.ColorType.RGBA_8888:case t.ColorType.RGBA_F16:e=new Uint8Array(t.HEAPU8.buffer,u,s).slice();break;case t.ColorType.RGBA_F32:e=new Float32Array(t.HEAPU8.buffer,u,s).slice();break;default:return null}return t._free(u),e}x=t.Malloc(Float32Array,4),D=x.byteOffset,w=t.Malloc(Float32Array,16),L=w.byteOffset,E=t.Malloc(Float32Array,9),R=E.byteOffset,I=t.Malloc(Float32Array,12),q=I.byteOffset,P=t.Malloc(Float32Array,12),H=P.byteOffset,C=t.Malloc(Float32Array,4),k=C.byteOffset,M=t.Malloc(Float32Array,4),F=M.byteOffset,S=t.Malloc(Float32Array,3),U=S.byteOffset,O=t.Malloc(Float32Array,3),G=O.byteOffset,A=t.Malloc(Int32Array,4),W=A.byteOffset,t.ColorSpace.SRGB=t.ColorSpace._MakeSRGB(),t.ColorSpace.DISPLAY_P3=t.ColorSpace._MakeDisplayP3(),t.ColorSpace.ADOBE_RGB=t.ColorSpace._MakeAdobeRGB(),t.Path.MakeFromCmds=function(e){for(var n=0,r=0;rn;n++)e[n]=t.HEAPF32[R/4+n];return e},t.Canvas.prototype.readPixels=function(t,n,r,i,o){return e(this,t,n,r,i,o)},t.Canvas.prototype.saveLayer=function(t,e,n,r){return e=g(e),this._saveLayer(t||null,e,n||null,r||0)},t.Canvas.prototype.writePixels=function(e,n,r,i,o,a,s,u){if(e.byteLength%(n*r))throw "pixels length must be a multiple of the srcWidth * srcHeight";var h=e.byteLength/(n*r);a=a||t.AlphaType.Unpremul,s=s||t.ColorType.RGBA_8888,u=u||t.ColorSpace.SRGB;var f=h*n;return h=c(e,"HEAPU8"),n=this._writePixels({width:n,height:r,colorType:s,alphaType:a,colorSpace:u},h,f,i,o),l(h,e),n},t.ColorFilter.MakeBlend=function(e,n){return e=d(e),t.ColorFilter._MakeBlend(e,n)},t.ColorFilter.MakeMatrix=function(e){if(!e||20!==e.length)throw "invalid color matrix";var n=c(e,"HEAPF32"),r=t.ColorFilter._makeMatrix(n);return l(n,e),r},t.ContourMeasure.prototype.getPosTan=function(t,e){return this._getPosTan(t,k),t=C.toTypedArray(),e?(e.set(t),e):t.slice()},t.ImageFilter.MakeMatrixTransform=function(e,n,r){return e=f(e),t.ImageFilter._MakeMatrixTransform(e,n,r)},t.Paint.prototype.getColor=function(){return this._getColor(D),m(D)},t.Paint.prototype.setColor=function(t,e){e=e||null,t=d(t),this._setColor(t,e);},t.Paint.prototype.setColorComponents=function(t,e,n,r,i){i=i||null,t=y(t,e,n,r),this._setColor(t,i);},t.Path.prototype.getPoint=function(t,e){return this._getPoint(t,k),t=C.toTypedArray(),e?(e[0]=t[0],e[1]=t[1],e):t.slice(0,2)},t.PictureRecorder.prototype.beginRecording=function(t){return t=g(t),this._beginRecording(t)},t.Surface.prototype.makeImageSnapshot=function(t){return t=c(t,"HEAP32",W),this._makeImageSnapshot(t)},t.Surface.prototype.requestAnimationFrame=function(e,n){this.Be||(this.Be=this.getCanvas()),requestAnimationFrame(function(){void 0!==this.de&&t.setCurrentContext(this.de),e(this.Be),this.flush(n);}.bind(this));},t.Surface.prototype.drawOnce=function(e,n){this.Be||(this.Be=this.getCanvas()),requestAnimationFrame(function(){void 0!==this.de&&t.setCurrentContext(this.de),e(this.Be),this.flush(n),this.dispose();}.bind(this));},t.PathEffect.MakeDash=function(e,n){if(n||(n=0),!e.length||1==e.length%2)throw "Intervals array must have even length";var r=c(e,"HEAPF32");return n=t.PathEffect._MakeDash(r,e.length,n),l(r,e),n},t.Shader.MakeColor=function(e,n){return n=n||null,e=d(e),t.Shader._MakeColor(e,n)},t.Shader.Blend=t.Shader.MakeBlend,t.Shader.Color=t.Shader.MakeColor,t.Shader.Lerp=t.Shader.MakeLerp,t.Shader.MakeLinearGradient=function(e,n,r,i,o,a,s,u){u=u||null;var p=h(r),d=c(i,"HEAPF32");s=s||0,a=f(a);var y=C.toTypedArray();return y.set(e),y.set(n,2),e=t.Shader._MakeLinearGradient(k,p.Ud,p.colorType,d,p.count,o,s,a,u),l(p.Ud,r),i&&l(d,i),e},t.Shader.MakeRadialGradient=function(e,n,r,i,o,a,s,u){u=u||null;var p=h(r),d=c(i,"HEAPF32");return s=s||0,a=f(a),e=t.Shader._MakeRadialGradient(e[0],e[1],n,p.Ud,p.colorType,d,p.count,o,s,a,u),l(p.Ud,r),i&&l(d,i),e},t.Shader.MakeSweepGradient=function(e,n,r,i,o,a,s,u,p,d){d=d||null;var y=h(r),m=c(i,"HEAPF32");return s=s||0,u=u||0,p=p||360,a=f(a),e=t.Shader._MakeSweepGradient(e,n,y.Ud,y.colorType,m,y.count,o,u,p,s,a,d),l(y.Ud,r),i&&l(m,i),e},t.Shader.MakeTwoPointConicalGradient=function(e,n,r,i,o,a,s,u,p,d){d=d||null;var y=h(o),m=c(a,"HEAPF32");p=p||0,u=f(u);var g=C.toTypedArray();return g.set(e),g.set(r,2),e=t.Shader._MakeTwoPointConicalGradient(k,n,i,y.Ud,y.colorType,m,y.count,s,p,u,d),l(y.Ud,o),a&&l(m,a),e},t.Vertices.prototype.bounds=function(t){this._bounds(k);var e=C.toTypedArray();return t?(t.set(e),t):e.slice()},t.Qd&&t.Qd.forEach((function(t){t();}));},t.computeTonalColors=function(t){var e=c(t.ambient,"HEAPF32"),n=c(t.spot,"HEAPF32");this._computeTonalColors(e,n);var r={ambient:m(e),spot:m(n)};return l(e,t.ambient),l(n,t.spot),r},t.LTRBRect=function(t,e,n,r){return Float32Array.of(t,e,n,r)},t.XYWHRect=function(t,e,n,r){return Float32Array.of(t,e,t+n,e+r)},t.LTRBiRect=function(t,e,n,r){return Int32Array.of(t,e,n,r)},t.XYWHiRect=function(t,e,n,r){return Int32Array.of(t,e,t+n,e+r)},t.RRectXY=function(t,e,n){return Float32Array.of(t[0],t[1],t[2],t[3],e,n,e,n,e,n,e,n)},t.MakeAnimatedImageFromEncoded=function(e){e=new Uint8Array(e);var n=t._malloc(e.byteLength);return t.HEAPU8.set(e,n),(e=t._decodeAnimatedImage(n,e.byteLength))?e:null},t.MakeImageFromEncoded=function(e){e=new Uint8Array(e);var n=t._malloc(e.byteLength);return t.HEAPU8.set(e,n),(e=t._decodeImage(n,e.byteLength))?e:null};var Z=null;t.MakeImageFromCanvasImageSource=function(e){var n=e.width,r=e.height;Z||(Z=document.createElement("canvas")),Z.width=n,Z.height=r;var i=Z.getContext("2d");return i.drawImage(e,0,0),e=i.getImageData(0,0,n,r),t.MakeImage({width:n,height:r,alphaType:t.AlphaType.Unpremul,colorType:t.ColorType.RGBA_8888,colorSpace:t.ColorSpace.SRGB},e.data,4*n)},t.MakeImage=function(e,n,r){var i=t._malloc(n.length);return t.HEAPU8.set(n,i),t._MakeImage(e,i,n.length,r)},t.MakeVertices=function(e,n,r,i,o,s){var u=o&&o.length||0,l=0;if(r&&r.length&&(l|=1),i&&i.length&&(l|=2),void 0===s||s||(l|=4),c(n,"HEAPF32",(e=new t._VerticesBuilder(e,n.length/2,u,l)).positions()),e.texCoords()&&c(r,"HEAPF32",e.texCoords()),e.colors()){if(i.build)throw "Color builder not accepted by MakeVertices, use array of ints";c(a(i),"HEAPU32",e.colors());}return e.indices()&&c(o,"HEAPU16",e.indices()),e.detach()},t.Matrix={},t.Matrix.identity=function(){return n(3)},t.Matrix.invert=function(t){var e=t[0]*t[4]*t[8]+t[1]*t[5]*t[6]+t[2]*t[3]*t[7]-t[2]*t[4]*t[6]-t[1]*t[3]*t[8]-t[0]*t[5]*t[7];return e?[(t[4]*t[8]-t[5]*t[7])/e,(t[2]*t[7]-t[1]*t[8])/e,(t[1]*t[5]-t[2]*t[4])/e,(t[5]*t[6]-t[3]*t[8])/e,(t[0]*t[8]-t[2]*t[6])/e,(t[2]*t[3]-t[0]*t[5])/e,(t[3]*t[7]-t[4]*t[6])/e,(t[1]*t[6]-t[0]*t[7])/e,(t[0]*t[4]-t[1]*t[3])/e]:null},t.Matrix.mapPoints=function(t,e){for(var n=0;ni;i+=5){for(var o=0;4>o;o++)n[r++]=t[i]*e[o]+t[i+1]*e[o+5]+t[i+2]*e[o+10]+t[i+3]*e[o+15];n[r++]=t[i]*e[4]+t[i+1]*e[9]+t[i+2]*e[14]+t[i+3]*e[19]+t[i+4];}return n},t.Qd=t.Qd||[],t.Qd.push((function(){t.Path.prototype.op=function(t,e){return this._op(t,e)?this:null},t.Path.prototype.simplify=function(){return this._simplify()?this:null};})),t.Qd=t.Qd||[],t.Qd.push((function(){t.Canvas.prototype.drawText=function(e,n,r,i,o){var a=j(e),s=t._malloc(a+1);B(e,N,s,a+1),this._drawSimpleText(s,a,n,r,o,i),t._free(s);},t.Font.prototype.getGlyphBounds=function(e,n,r){var i=c(e,"HEAPU16"),o=t._malloc(16*e.length);return this._getGlyphWidthBounds(i,e.length,X,o,n||null),n=new Float32Array(t.HEAPU8.buffer,o,4*e.length),l(i,e),r?(r.set(n),t._free(o),r):(e=Float32Array.from(n),t._free(o),e)},t.Font.prototype.getGlyphIDs=function(e,n,r){n||(n=e.length);var i=j(e)+1,o=t._malloc(i);return B(e,N,o,i),e=t._malloc(2*n),n=this._getGlyphIDs(o,i-1,n,e),t._free(o),0>n?(t._free(e),null):(o=new Uint16Array(t.HEAPU8.buffer,e,n),r?(r.set(o),t._free(e),r):(r=Uint32Array.from(o),t._free(e),r))},t.Font.prototype.getGlyphWidths=function(e,n,r){var i=c(e,"HEAPU16"),o=t._malloc(4*e.length);return this._getGlyphWidthBounds(i,e.length,o,X,n||null),n=new Float32Array(t.HEAPU8.buffer,o,e.length),l(i,e),r?(r.set(n),t._free(o),r):(e=Float32Array.from(n),t._free(o),e)},t.FontMgr.FromData=function(){if(!arguments.length)return null;var e=arguments;if(1===e.length&&Array.isArray(e[0])&&(e=arguments[0]),!e.length)return null;for(var n=[],r=[],i=0;is.length()){if(s.delete(),!(s=n.next())){e=e.substring(0,l);break}i=c/2;}s.getPosTan(i,u);var h=u[2],f=u[3];o.push(h,f,u[0]-c/2*h,u[1]-c/2*f),i+=c/2;}return e=this.MakeFromRSXform(e,o,r),o.delete(),s&&s.delete(),n.delete(),e}},t.TextBlob.MakeFromRSXform=function(e,n,r){var i=j(e)+1,o=t._malloc(i);return B(e,N,o,i),e=n.build?n.build():c(n,"HEAPF32"),r=t.TextBlob._MakeFromRSXform(o,i-1,e,r),t._free(o),r||null},t.TextBlob.MakeFromRSXformGlyphs=function(e,n,r){var i=c(e,"HEAPU16");return n=n.build?n.build():c(n,"HEAPF32"),r=t.TextBlob._MakeFromRSXformGlyphs(i,2*e.length,n,r),l(i,e),r||null},t.TextBlob.MakeFromGlyphs=function(e,n){var r=c(e,"HEAPU16");return n=t.TextBlob._MakeFromGlyphs(r,2*e.length,n),l(r,e),n||null},t.TextBlob.MakeFromText=function(e,n){var r=j(e)+1,i=t._malloc(r);return B(e,N,i,r),e=t.TextBlob._MakeFromText(i,r-1,n),t._free(i),e||null},t.MallocGlyphIDs=function(e){return t.Malloc(Uint16Array,e)};})),function(){function e(t){for(var e=0;et||1=t||!t||(this.Ee=t,this.Fd.setStrokeWidth(t));}}),Object.defineProperty(this,"miterLimit",{enumerable:!0,get:function(){return this.Fd.getStrokeMiter()},set:function(t){0>=t||!t||this.Fd.setStrokeMiter(t);}}),Object.defineProperty(this,"shadowBlur",{enumerable:!0,get:function(){return this.oe},set:function(t){0>t||!isFinite(t)||(this.oe=t);}}),Object.defineProperty(this,"shadowColor",{enumerable:!0,get:function(){return n(this.De)},set:function(t){this.De=o(t);}}),Object.defineProperty(this,"shadowOffsetX",{enumerable:!0,get:function(){return this.pe},set:function(t){isFinite(t)&&(this.pe=t);}}),Object.defineProperty(this,"shadowOffsetY",{enumerable:!0,get:function(){return this.qe},set:function(t){isFinite(t)&&(this.qe=t);}}),Object.defineProperty(this,"strokeStyle",{enumerable:!0,get:function(){return n(this.Xd)},set:function(t){"string"==typeof t?this.Xd=o(t):t.me&&(this.Xd=t);}}),this.arc=function(t,e,n,r,i,o){d(this.Hd,t,e,n,n,0,r,i,o);},this.arcTo=function(t,e,n,r,i){h(this.Hd,t,e,n,r,i);},this.beginPath=function(){this.Hd.delete(),this.Hd=new t.Path;},this.bezierCurveTo=function(t,n,r,i,o,a){var s=this.Hd;e([t,n,r,i,o,a])&&(s.isEmpty()&&s.moveTo(t,n),s.cubicTo(t,n,r,i,o,a));},this.clearRect=function(e,n,r,i){this.Fd.setStyle(t.PaintStyle.Fill),this.Fd.setBlendMode(t.BlendMode.Clear),this.Dd.drawRect(t.XYWHRect(e,n,r,i),this.Fd),this.Fd.setBlendMode(this.Ed);},this.clip=function(e,n){"string"==typeof e?(n=e,e=this.Hd):e&&e.Te&&(e=e.Ld),e||(e=this.Hd),e=e.copy(),n&&"evenodd"===n.toLowerCase()?e.setFillType(t.FillType.EvenOdd):e.setFillType(t.FillType.Winding),this.Dd.clipPath(e,t.ClipOp.Intersect,!0),e.delete();},this.closePath=function(){f(this.Hd);},this.createImageData=function(){if(1===arguments.length){var t=arguments[0];return new l(new Uint8ClampedArray(4*t.width*t.height),t.width,t.height)}if(2===arguments.length){t=arguments[0];var e=arguments[1];return new l(new Uint8ClampedArray(4*t*e),t,e)}throw "createImageData expects 1 or 2 arguments, got "+arguments.length},this.createLinearGradient=function(t,n,r,i){if(e(arguments)){var o=new c(t,n,r,i);return this.ue.push(o),o}},this.createPattern=function(t,e){return t=new g(t,e),this.ue.push(t),t},this.createRadialGradient=function(t,n,r,i,o,a){if(e(arguments)){var s=new _(t,n,r,i,o,a);return this.ue.push(s),s}},this.drawImage=function(e){var n=this.Je();if(3===arguments.length||5===arguments.length)var r=t.XYWHRect(arguments[1],arguments[2],arguments[3]||e.width(),arguments[4]||e.height()),i=t.XYWHRect(0,0,e.width(),e.height());else {if(9!==arguments.length)throw "invalid number of args for drawImage, need 3, 5, or 9; got "+arguments.length;r=t.XYWHRect(arguments[5],arguments[6],arguments[7],arguments[8]),i=t.XYWHRect(arguments[1],arguments[2],arguments[3],arguments[4]);}this.Dd.drawImageRect(e,i,r,n,!1),n.dispose();},this.ellipse=function(t,e,n,r,i,o,a,s){d(this.Hd,t,e,n,r,i,o,a,s);},this.Je=function(){var e=this.Fd.copy();if(e.setStyle(t.PaintStyle.Fill),r(this.Sd)){var n=t.multiplyByAlpha(this.Sd,this.$d);e.setColor(n);}else n=this.Sd.me(this.Id),e.setColor(t.Color(0,0,0,this.$d)),e.setShader(n);return e.dispose=function(){this.delete();},e},this.fill=function(e,n){if("string"==typeof e?(n=e,e=this.Hd):e&&e.Te&&(e=e.Ld),"evenodd"===n)this.Hd.setFillType(t.FillType.EvenOdd);else {if("nonzero"!==n&&n)throw "invalid fill rule";this.Hd.setFillType(t.FillType.Winding);}e||(e=this.Hd),n=this.Je();var r=this.re(n);r&&(this.Dd.save(),this.je(),this.Dd.drawPath(e,r),this.Dd.restore(),r.dispose()),this.Dd.drawPath(e,n),n.dispose();},this.fillRect=function(e,n,r,i){var o=this.Je(),a=this.re(o);a&&(this.Dd.save(),this.je(),this.Dd.drawRect(t.XYWHRect(e,n,r,i),a),this.Dd.restore(),a.dispose()),this.Dd.drawRect(t.XYWHRect(e,n,r,i),o),o.dispose();},this.fillText=function(e,n,r){var i=this.Je();e=t.TextBlob.MakeFromText(e,this.le);var o=this.re(i);o&&(this.Dd.save(),this.je(),this.Dd.drawTextBlob(e,n,r,o),this.Dd.restore(),o.dispose()),this.Dd.drawTextBlob(e,n,r,i),e.delete(),i.dispose();},this.getImageData=function(e,n,r,i){return (e=this.Dd.readPixels(e,n,{width:r,height:i,colorType:t.ColorType.RGBA_8888,alphaType:t.AlphaType.Unpremul,colorSpace:t.ColorSpace.SRGB}))?new l(new Uint8ClampedArray(e.buffer),r,i):null},this.getLineDash=function(){return this.ne.slice()},this.ff=function(e){var n=t.Matrix.invert(this.Id);return t.Matrix.mapPoints(n,e),e},this.isPointInPath=function(e,n,r){var i=arguments;if(3===i.length)var o=this.Hd;else {if(4!==i.length)throw "invalid arg count, need 3 or 4, got "+i.length;o=i[0],e=i[1],n=i[2],r=i[3];}return !(!isFinite(e)||!isFinite(n))&&("nonzero"===(r=r||"nonzero")||"evenodd"===r)&&(e=(i=this.ff([e,n]))[0],n=i[1],o.setFillType("nonzero"===r?t.FillType.Winding:t.FillType.EvenOdd),o.contains(e,n))},this.isPointInStroke=function(e,n){var r=arguments;if(2===r.length)var i=this.Hd;else {if(3!==r.length)throw "invalid arg count, need 2 or 3, got "+r.length;i=r[0],e=r[1],n=r[2];}return !(!isFinite(e)||!isFinite(n))&&(e=(r=this.ff([e,n]))[0],n=r[1],(i=i.copy()).setFillType(t.FillType.Winding),i.stroke({width:this.lineWidth,miter_limit:this.miterLimit,cap:this.Fd.getStrokeCap(),join:this.Fd.getStrokeJoin(),precision:.3}),r=i.contains(e,n),i.delete(),r)},this.lineTo=function(t,e){y(this.Hd,t,e);},this.measureText=function(){throw Error("Clients wishing to properly measure text should use the Paragraph API")},this.moveTo=function(t,n){var r=this.Hd;e([t,n])&&r.moveTo(t,n);},this.putImageData=function(n,r,i,o,a,s,u){if(e([r,i,o,a,s,u]))if(void 0===o)this.Dd.writePixels(n.data,n.width,n.height,r,i);else if(o=o||0,a=a||0,s=s||n.width,u=u||n.height,0>s&&(o+=s,s=Math.abs(s)),0>u&&(a+=u,u=Math.abs(u)),0>o&&(s+=o,o=0),0>a&&(u+=a,a=0),!(0>=s||0>=u)){n=t.MakeImage({width:n.width,height:n.height,alphaType:t.AlphaType.Unpremul,colorType:t.ColorType.RGBA_8888,colorSpace:t.ColorSpace.SRGB},n.data,4*n.width);var l=t.XYWHRect(o,a,s,u);r=t.XYWHRect(r+o,i+a,s,u),i=t.Matrix.invert(this.Id),this.Dd.save(),this.Dd.concat(i),this.Dd.drawImageRect(n,l,r,null,!1),this.Dd.restore(),n.delete();}},this.quadraticCurveTo=function(t,n,r,i){var o=this.Hd;e([t,n,r,i])&&(o.isEmpty()&&o.moveTo(t,n),o.quadTo(t,n,r,i));},this.rect=function(n,r,i,o){var a=this.Hd;e(n=t.XYWHRect(n,r,i,o))&&a.addRect(n);},this.resetTransform=function(){this.Hd.transform(this.Id);var e=t.Matrix.invert(this.Id);this.Dd.concat(e),this.Id=this.Dd.getTotalMatrix();},this.restore=function(){var e=this.ef.pop();if(e){var n=t.Matrix.multiply(this.Id,t.Matrix.invert(e.wf));this.Hd.transform(n),this.Fd.delete(),this.Fd=e.Pf,this.ne=e.Nf,this.Ee=e.bg,this.Xd=e.ag,this.Sd=e.fs,this.pe=e.Zf,this.qe=e.$f,this.oe=e.Tf,this.De=e.Yf,this.$d=e.Cf,this.Ed=e.Df,this.Ce=e.Of,this.Ke=e.Bf,this.Dd.restore(),this.Id=this.Dd.getTotalMatrix();}},this.rotate=function(e){if(isFinite(e)){var n=t.Matrix.rotated(-e);this.Hd.transform(n),this.Dd.rotate(e/Math.PI*180,0,0),this.Id=this.Dd.getTotalMatrix();}},this.save=function(){if(this.Sd.ke){var t=this.Sd.ke();this.ue.push(t);}else t=this.Sd;if(this.Xd.ke){var e=this.Xd.ke();this.ue.push(e);}else e=this.Xd;this.ef.push({wf:this.Id.slice(),Nf:this.ne.slice(),bg:this.Ee,ag:e,fs:t,Zf:this.pe,$f:this.qe,Tf:this.oe,Yf:this.De,Cf:this.$d,Of:this.Ce,Df:this.Ed,Pf:this.Fd.copy(),Bf:this.Ke}),this.Dd.save();},this.scale=function(n,r){if(e(arguments)){var i=t.Matrix.scaled(1/n,1/r);this.Hd.transform(i),this.Dd.scale(n,r),this.Id=this.Dd.getTotalMatrix();}},this.setLineDash=function(t){for(var e=0;et[e])return;1==t.length%2&&Array.prototype.push.apply(t,t),this.ne=t;},this.setTransform=function(t,n,r,i,o,a){e(arguments)&&(this.resetTransform(),this.transform(t,n,r,i,o,a));},this.je=function(){var e=t.Matrix.invert(this.Id);this.Dd.concat(e),this.Dd.concat(t.Matrix.translated(this.pe,this.qe)),this.Dd.concat(this.Id);},this.re=function(e){var n=t.multiplyByAlpha(this.De,this.$d);if(!t.getColorComponents(n)[3]||!(this.oe||this.qe||this.pe))return null;(e=e.copy()).setColor(n);var r=t.MaskFilter.MakeBlur(t.BlurStyle.Normal,this.oe/2,!1);return e.setMaskFilter(r),e.dispose=function(){r.delete(),this.delete();},e},this.Ve=function(){var e=this.Fd.copy();if(e.setStyle(t.PaintStyle.Stroke),r(this.Xd)){var n=t.multiplyByAlpha(this.Xd,this.$d);e.setColor(n);}else n=this.Xd.me(this.Id),e.setColor(t.Color(0,0,0,this.$d)),e.setShader(n);if(e.setStrokeWidth(this.Ee),this.ne.length){var i=t.PathEffect.MakeDash(this.ne,this.Ce);e.setPathEffect(i);}return e.dispose=function(){i&&i.delete(),this.delete();},e},this.stroke=function(t){t=t?t.Ld:this.Hd;var e=this.Ve(),n=this.re(e);n&&(this.Dd.save(),this.je(),this.Dd.drawPath(t,n),this.Dd.restore(),n.dispose()),this.Dd.drawPath(t,e),e.dispose();},this.strokeRect=function(e,n,r,i){var o=this.Ve(),a=this.re(o);a&&(this.Dd.save(),this.je(),this.Dd.drawRect(t.XYWHRect(e,n,r,i),a),this.Dd.restore(),a.dispose()),this.Dd.drawRect(t.XYWHRect(e,n,r,i),o),o.dispose();},this.strokeText=function(e,n,r){var i=this.Ve();e=t.TextBlob.MakeFromText(e,this.le);var o=this.re(i);o&&(this.Dd.save(),this.je(),this.Dd.drawTextBlob(e,n,r,o),this.Dd.restore(),o.dispose()),this.Dd.drawTextBlob(e,n,r,i),e.delete(),i.dispose();},this.translate=function(n,r){if(e(arguments)){var i=t.Matrix.translated(-n,-r);this.Hd.transform(i),this.Dd.translate(n,r),this.Id=this.Dd.getTotalMatrix();}},this.transform=function(e,n,r,i,o,a){e=[e,r,o,n,i,a,0,0,1],n=t.Matrix.invert(e),this.Hd.transform(n),this.Dd.concat(e),this.Id=this.Dd.getTotalMatrix();},this.addHitRegion=function(){},this.clearHitRegions=function(){},this.drawFocusIfNeeded=function(){},this.removeHitRegion=function(){},this.scrollPathIntoView=function(){},Object.defineProperty(this,"canvas",{value:null,writable:!1});}function u(e){this.We=e,this.de=new s(e.getCanvas()),this.Le=[],this.qf=t.FontMgr.RefDefault(),this.decodeImage=function(e){if(!(e=t.MakeImageFromEncoded(e)))throw "Invalid input";return this.Le.push(e),e},this.loadFont=function(t,e){if(!(t=this.qf.MakeTypefaceFromData(t)))return null;this.Le.push(t);var n=(e.style||"normal")+"|"+(e.variant||"normal")+"|"+(e.weight||"normal");e=e.family,T[e]||(T[e]={"*":t}),T[e][n]=t;},this.makePath2D=function(t){return t=new m(t),this.Le.push(t.Ld),t},this.getContext=function(t){return "2d"===t?this.de:null},this.toDataURL=function(e,n){this.We.flush();var r=this.We.makeImageSnapshot();if(r){e=e||"image/png";var o=t.ImageFormat.PNG;if("image/jpeg"===e&&(o=t.ImageFormat.JPEG),n=r.encodeToBytes(o,n||.92)){if(r.delete(),e="data:"+e+";base64,",Y)n=i.from(n).toString("base64");else {r=0,o=n.length;for(var a,s="";rt||1t);n++);this.Pd.splice(n,0,t),this.Td.splice(n,0,e);}},this.ke=function(){var t=new c(e,n,r,i);return t.Td=this.Td.slice(),t.Pd=this.Pd.slice(),t},this.be=function(){this.Nd&&(this.Nd.delete(),this.Nd=null);},this.me=function(o){var a=[e,n,r,i];t.Matrix.mapPoints(o,a),o=a[0];var s=a[1],u=a[2];return a=a[3],this.be(),this.Nd=t.Shader.MakeLinearGradient([o,s],[u,a],this.Td,this.Pd,t.TileMode.Clamp)};}function h(t,n,r,i,o,a){if(e([n,r,i,o,a])){if(0>a)throw "radii cannot be negative";t.isEmpty()&&t.moveTo(n,r),t.arcToTangent(n,r,i,o,a);}}function f(t){if(!t.isEmpty()){var e=t.getBounds();(e[3]-e[1]||e[2]-e[0])&&t.close();}}function p(e,n,r,i,o,a,s){s=(s-a)/Math.PI*180,a=a/Math.PI*180,n=t.LTRBRect(n-i,r-o,n+i,r+o),1e-5>Math.abs(Math.abs(s)-360)?(r=s/2,e.arcToOval(n,a,r,!1),e.arcToOval(n,a+r,r,!1)):e.arcToOval(n,a,s,!1);}function d(n,r,i,o,a,s,u,l,c){if(e([r,i,o,a,s,u,l])){if(0>o||0>a)throw "radii cannot be negative";var h=2*Math.PI,f=u%h;0>f&&(f+=h);var d=f-u;u=f,l+=d,!c&&l-u>=h?l=u+h:c&&u-l>=h?l=u-h:!c&&u>l?l=u+(h-(u-l)%h):c&&ut||1t);n++);this.Pd.splice(n,0,t),this.Td.splice(n,0,e);}},this.ke=function(){var t=new _(e,n,r,i,a,s);return t.Td=this.Td.slice(),t.Pd=this.Pd.slice(),t},this.be=function(){this.Nd&&(this.Nd.delete(),this.Nd=null);},this.me=function(o){var u=[e,n,i,a];t.Matrix.mapPoints(o,u);var l=u[0],c=u[1],h=u[2];u=u[3];var f=(Math.abs(o[0])+Math.abs(o[4]))/2;return o=r*f,f*=s,this.be(),this.Nd=t.Shader.MakeTwoPointConicalGradient([l,c],o,[h,u],f,this.Td,this.Pd,t.TileMode.Clamp)};}t._testing={};var b={aliceblue:Float32Array.of(.941,.973,1,1),antiquewhite:Float32Array.of(.98,.922,.843,1),aqua:Float32Array.of(0,1,1,1),aquamarine:Float32Array.of(.498,1,.831,1),azure:Float32Array.of(.941,1,1,1),beige:Float32Array.of(.961,.961,.863,1),bisque:Float32Array.of(1,.894,.769,1),black:Float32Array.of(0,0,0,1),blanchedalmond:Float32Array.of(1,.922,.804,1),blue:Float32Array.of(0,0,1,1),blueviolet:Float32Array.of(.541,.169,.886,1),brown:Float32Array.of(.647,.165,.165,1),burlywood:Float32Array.of(.871,.722,.529,1),cadetblue:Float32Array.of(.373,.62,.627,1),chartreuse:Float32Array.of(.498,1,0,1),chocolate:Float32Array.of(.824,.412,.118,1),coral:Float32Array.of(1,.498,.314,1),cornflowerblue:Float32Array.of(.392,.584,.929,1),cornsilk:Float32Array.of(1,.973,.863,1),crimson:Float32Array.of(.863,.078,.235,1),cyan:Float32Array.of(0,1,1,1),darkblue:Float32Array.of(0,0,.545,1),darkcyan:Float32Array.of(0,.545,.545,1),darkgoldenrod:Float32Array.of(.722,.525,.043,1),darkgray:Float32Array.of(.663,.663,.663,1),darkgreen:Float32Array.of(0,.392,0,1),darkgrey:Float32Array.of(.663,.663,.663,1),darkkhaki:Float32Array.of(.741,.718,.42,1),darkmagenta:Float32Array.of(.545,0,.545,1),darkolivegreen:Float32Array.of(.333,.42,.184,1),darkorange:Float32Array.of(1,.549,0,1),darkorchid:Float32Array.of(.6,.196,.8,1),darkred:Float32Array.of(.545,0,0,1),darksalmon:Float32Array.of(.914,.588,.478,1),darkseagreen:Float32Array.of(.561,.737,.561,1),darkslateblue:Float32Array.of(.282,.239,.545,1),darkslategray:Float32Array.of(.184,.31,.31,1),darkslategrey:Float32Array.of(.184,.31,.31,1),darkturquoise:Float32Array.of(0,.808,.82,1),darkviolet:Float32Array.of(.58,0,.827,1),deeppink:Float32Array.of(1,.078,.576,1),deepskyblue:Float32Array.of(0,.749,1,1),dimgray:Float32Array.of(.412,.412,.412,1),dimgrey:Float32Array.of(.412,.412,.412,1),dodgerblue:Float32Array.of(.118,.565,1,1),firebrick:Float32Array.of(.698,.133,.133,1),floralwhite:Float32Array.of(1,.98,.941,1),forestgreen:Float32Array.of(.133,.545,.133,1),fuchsia:Float32Array.of(1,0,1,1),gainsboro:Float32Array.of(.863,.863,.863,1),ghostwhite:Float32Array.of(.973,.973,1,1),gold:Float32Array.of(1,.843,0,1),goldenrod:Float32Array.of(.855,.647,.125,1),gray:Float32Array.of(.502,.502,.502,1),green:Float32Array.of(0,.502,0,1),greenyellow:Float32Array.of(.678,1,.184,1),grey:Float32Array.of(.502,.502,.502,1),honeydew:Float32Array.of(.941,1,.941,1),hotpink:Float32Array.of(1,.412,.706,1),indianred:Float32Array.of(.804,.361,.361,1),indigo:Float32Array.of(.294,0,.51,1),ivory:Float32Array.of(1,1,.941,1),khaki:Float32Array.of(.941,.902,.549,1),lavender:Float32Array.of(.902,.902,.98,1),lavenderblush:Float32Array.of(1,.941,.961,1),lawngreen:Float32Array.of(.486,.988,0,1),lemonchiffon:Float32Array.of(1,.98,.804,1),lightblue:Float32Array.of(.678,.847,.902,1),lightcoral:Float32Array.of(.941,.502,.502,1),lightcyan:Float32Array.of(.878,1,1,1),lightgoldenrodyellow:Float32Array.of(.98,.98,.824,1),lightgray:Float32Array.of(.827,.827,.827,1),lightgreen:Float32Array.of(.565,.933,.565,1),lightgrey:Float32Array.of(.827,.827,.827,1),lightpink:Float32Array.of(1,.714,.757,1),lightsalmon:Float32Array.of(1,.627,.478,1),lightseagreen:Float32Array.of(.125,.698,.667,1),lightskyblue:Float32Array.of(.529,.808,.98,1),lightslategray:Float32Array.of(.467,.533,.6,1),lightslategrey:Float32Array.of(.467,.533,.6,1),lightsteelblue:Float32Array.of(.69,.769,.871,1),lightyellow:Float32Array.of(1,1,.878,1),lime:Float32Array.of(0,1,0,1),limegreen:Float32Array.of(.196,.804,.196,1),linen:Float32Array.of(.98,.941,.902,1),magenta:Float32Array.of(1,0,1,1),maroon:Float32Array.of(.502,0,0,1),mediumaquamarine:Float32Array.of(.4,.804,.667,1),mediumblue:Float32Array.of(0,0,.804,1),mediumorchid:Float32Array.of(.729,.333,.827,1),mediumpurple:Float32Array.of(.576,.439,.859,1),mediumseagreen:Float32Array.of(.235,.702,.443,1),mediumslateblue:Float32Array.of(.482,.408,.933,1),mediumspringgreen:Float32Array.of(0,.98,.604,1),mediumturquoise:Float32Array.of(.282,.82,.8,1),mediumvioletred:Float32Array.of(.78,.082,.522,1),midnightblue:Float32Array.of(.098,.098,.439,1),mintcream:Float32Array.of(.961,1,.98,1),mistyrose:Float32Array.of(1,.894,.882,1),moccasin:Float32Array.of(1,.894,.71,1),navajowhite:Float32Array.of(1,.871,.678,1),navy:Float32Array.of(0,0,.502,1),oldlace:Float32Array.of(.992,.961,.902,1),olive:Float32Array.of(.502,.502,0,1),olivedrab:Float32Array.of(.42,.557,.137,1),orange:Float32Array.of(1,.647,0,1),orangered:Float32Array.of(1,.271,0,1),orchid:Float32Array.of(.855,.439,.839,1),palegoldenrod:Float32Array.of(.933,.91,.667,1),palegreen:Float32Array.of(.596,.984,.596,1),paleturquoise:Float32Array.of(.686,.933,.933,1),palevioletred:Float32Array.of(.859,.439,.576,1),papayawhip:Float32Array.of(1,.937,.835,1),peachpuff:Float32Array.of(1,.855,.725,1),peru:Float32Array.of(.804,.522,.247,1),pink:Float32Array.of(1,.753,.796,1),plum:Float32Array.of(.867,.627,.867,1),powderblue:Float32Array.of(.69,.878,.902,1),purple:Float32Array.of(.502,0,.502,1),rebeccapurple:Float32Array.of(.4,.2,.6,1),red:Float32Array.of(1,0,0,1),rosybrown:Float32Array.of(.737,.561,.561,1),royalblue:Float32Array.of(.255,.412,.882,1),saddlebrown:Float32Array.of(.545,.271,.075,1),salmon:Float32Array.of(.98,.502,.447,1),sandybrown:Float32Array.of(.957,.643,.376,1),seagreen:Float32Array.of(.18,.545,.341,1),seashell:Float32Array.of(1,.961,.933,1),sienna:Float32Array.of(.627,.322,.176,1),silver:Float32Array.of(.753,.753,.753,1),skyblue:Float32Array.of(.529,.808,.922,1),slateblue:Float32Array.of(.416,.353,.804,1),slategray:Float32Array.of(.439,.502,.565,1),slategrey:Float32Array.of(.439,.502,.565,1),snow:Float32Array.of(1,.98,.98,1),springgreen:Float32Array.of(0,1,.498,1),steelblue:Float32Array.of(.275,.51,.706,1),tan:Float32Array.of(.824,.706,.549,1),teal:Float32Array.of(0,.502,.502,1),thistle:Float32Array.of(.847,.749,.847,1),tomato:Float32Array.of(1,.388,.278,1),transparent:Float32Array.of(0,0,0,0),turquoise:Float32Array.of(.251,.878,.816,1),violet:Float32Array.of(.933,.51,.933,1),wheat:Float32Array.of(.961,.871,.702,1),white:Float32Array.of(1,1,1,1),whitesmoke:Float32Array.of(.961,.961,.961,1),yellow:Float32Array.of(1,1,0,1),yellowgreen:Float32Array.of(.604,.804,.196,1)};t._testing.parseColor=o,t._testing.colorToString=n;var v=RegExp("(italic|oblique|normal|)\\s*(small-caps|normal|)\\s*(bold|bolder|lighter|[1-9]00|normal|)\\s*([\\d\\.]+)(px|pt|pc|in|cm|mm|%|em|ex|ch|rem|q)(.+)"),T={"Noto Mono":{"*":null},monospace:{"*":null}};t._testing.parseFontString=a,t.MakeCanvas=function(e,n){return (e=t.MakeSurface(e,n))?new u(e):null},t.ImageData=function(){if(2===arguments.length){var t=arguments[0],e=arguments[1];return new l(new Uint8ClampedArray(4*t*e),t,e)}if(3===arguments.length){var n=arguments[0];if(n.prototype.constructor!==Uint8ClampedArray)throw "bytes must be given as a Uint8ClampedArray";if(n%4)throw "bytes must be given in a multiple of 4";if(n%(t=arguments[1]))throw "bytes must divide evenly by width";if((e=arguments[2])&&e!==n/(4*t))throw "invalid height given";return new l(n,t,n/(4*t))}throw "invalid number of arguments - takes 2 or 3, saw "+arguments.length};}();}(e);var c,h,f,p=Object.assign({},e),d="./this.program",y=(t,e)=>{throw e},m="object"==typeof window,g="function"==typeof importScripts,_="object"==typeof o&&"object"==typeof o.versions&&"string"==typeof o.versions.node,b="";if(_){var v=n(5699),T=n(3935);b=g?T.dirname(b)+"/":"//",c=(t,e)=>(t=t.startsWith("file://")?new URL(t):T.normalize(t),v.readFileSync(t,e?void 0:"utf8")),f=t=>((t=c(t,!0)).buffer||(t=new Uint8Array(t)),t),h=(t,e,n)=>{t=t.startsWith("file://")?new URL(t):T.normalize(t),v.readFile(t,(function(t,r){t?n(t):e(r.buffer);}));},1o.version.match(/^v(\d+)\./)[1]&&o.on("unhandledRejection",(function(t){throw t})),y=(t,e)=>{if(C)throw o.exitCode=t,e;e instanceof et||x("exiting due to exception: "+e),o.exit(t);},e.inspect=function(){return "[Emscripten Module object]"};}else (m||g)&&(g?b=self.location.href:"undefined"!=typeof document&&document.currentScript&&(b=document.currentScript.src),r&&(b=r),b=0!==b.indexOf("blob:")?b.substr(0,b.replace(/[?#].*/,"").lastIndexOf("/")+1):"",c=t=>{var e=new XMLHttpRequest;return e.open("GET",t,!1),e.send(null),e.responseText},g&&(f=t=>{var e=new XMLHttpRequest;return e.open("GET",t,!1),e.responseType="arraybuffer",e.send(null),new Uint8Array(e.response)}),h=(t,e,n)=>{var r=new XMLHttpRequest;r.open("GET",t,!0),r.responseType="arraybuffer",r.onload=()=>{200==r.status||0==r.status&&r.response?e(r.response):n();},r.onerror=n,r.send(null);});var E,w=e.print||a.log.bind(a),x=e.printErr||a.warn.bind(a);Object.assign(e,p),p=null,e.thisProgram&&(d=e.thisProgram),e.quit&&(y=e.quit),e.wasmBinary&&(E=e.wasmBinary);var C=e.noExitRuntime||!0;"object"!=typeof WebAssembly&&K("no native wasm support detected");var M,S,N,O,A,I,P,R,L,D=!1,k="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0;function F(t,e,n){var r=e+n;for(n=e;t[n]&&!(n>=r);)++n;if(16(i=224==(240&i)?(15&i)<<12|o<<6|a:(7&i)<<18|o<<12|a<<6|63&t[e++])?r+=String.fromCharCode(i):(i-=65536,r+=String.fromCharCode(55296|i>>10,56320|1023&i));}}else r+=String.fromCharCode(i);}return r}function U(t,e){return t?F(N,t,e):""}function B(t,e,n,r){if(!(0=a&&(a=65536+((1023&a)<<10)|1023&t.charCodeAt(++o)),127>=a){if(n>=r)break;e[n++]=a;}else {if(2047>=a){if(n+1>=r)break;e[n++]=192|a>>6;}else {if(65535>=a){if(n+2>=r)break;e[n++]=224|a>>12;}else {if(n+3>=r)break;e[n++]=240|a>>18,e[n++]=128|a>>12&63;}e[n++]=128|a>>6&63;}e[n++]=128|63&a;}}return e[n]=0,n-i}function j(t){for(var e=0,n=0;n=r?e++:2047>=r?e+=2:55296<=r&&57343>=r?(e+=4,++n):e+=3;}return e}function G(){var t=M.buffer;e.HEAP8=S=new Int8Array(t),e.HEAP16=O=new Int16Array(t),e.HEAP32=I=new Int32Array(t),e.HEAPU8=N=new Uint8Array(t),e.HEAPU16=A=new Uint16Array(t),e.HEAPU32=P=new Uint32Array(t),e.HEAPF32=R=new Float32Array(t),e.HEAPF64=L=new Float64Array(t);}var W,q=[],H=[],z=[];function V(){var t=e.preRun.shift();q.unshift(t);}var X,Y=0,Z=null,Q=null;function K(t){throw e.onAbort&&e.onAbort(t),x(t="Aborted("+t+")"),D=!0,t=new WebAssembly.RuntimeError(t+". Build with -sASSERTIONS for more info."),u(t),t}function J(){return X.startsWith("data:application/octet-stream;base64,")}if(X="canvaskit.wasm",!J()){var $=X;X=e.locateFile?e.locateFile($,b):b+$;}function tt(){var t=X;try{if(t==X&&E)return new Uint8Array(E);if(f)return f(t);throw "both async and sync fetching of the wasm failed"}catch(t){K(t);}}function et(t){this.name="ExitStatus",this.message="Program terminated with exit("+t+")",this.status=t;}function nt(t){for(;0>2])}var at={},st={},ut={};function lt(t){if(void 0===t)return "_unknown";var e=(t=t.replace(/[^a-zA-Z0-9_]/g,"$")).charCodeAt(0);return 48<=e&&57>=e?"_"+t:t}function ct(t,e){return t=lt(t),new Function("body","return function "+t+'() {\n "use strict"; return body.apply(this, arguments);\n};\n')(e)}function ht(t){var e=Error,n=ct(t,(function(e){this.name=t,this.message=e,void 0!==(e=Error(e).stack)&&(this.stack=this.toString()+"\n"+e.replace(/^Error(:[^\n]*)?\n/,""));}));return n.prototype=Object.create(e.prototype),n.prototype.constructor=n,n.prototype.toString=function(){return void 0===this.message?this.name:this.name+": "+this.message},n}var ft=void 0;function pt(t){throw new ft(t)}function dt(t,e,n){function r(e){(e=n(e)).length!==t.length&&pt("Mismatched type converter count");for(var r=0;r{st.hasOwnProperty(t)?i[e]=st[t]:(o.push(t),at.hasOwnProperty(t)||(at[t]=[]),at[t].push((()=>{i[e]=st[t],++a===o.length&&r(i);})));})),0===o.length&&r(i);}function yt(t){switch(t){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+t)}}var mt=void 0;function gt(t){for(var e="";N[t];)e+=mt[N[t++]];return e}var _t=void 0;function bt(t){throw new _t(t)}function vt(t,e,n={}){if(!("argPackAdvance"in e))throw new TypeError("registerType registeredInstance requires argPackAdvance");var r=e.name;if(t||bt('type "'+r+'" must have a positive integer typeid pointer'),st.hasOwnProperty(t)){if(n.Kf)return;bt("Cannot register type '"+r+"' twice");}st[t]=e,delete ut[t],at.hasOwnProperty(t)&&(e=at[t],delete at[t],e.forEach((t=>t())));}function Tt(t){bt(t.Cd.Md.Gd.name+" instance already deleted");}var Et=!1;function wt(){}function xt(t){--t.count.value,0===t.count.value&&(t.Rd?t.Wd.ae(t.Rd):t.Md.Gd.ae(t.Kd));}function Ct(t,e,n){return e===n?t:void 0===n.Yd||null===(t=Ct(t,e,n.Yd))?null:n.yf(t)}var Mt={},St=[];function Nt(){for(;St.length;){var t=St.pop();t.Cd.xe=!1,t.delete();}}var Ot=void 0,At={};function It(t,e){return e.Md&&e.Kd||pt("makeClassHandle requires ptr and ptrType"),!!e.Wd!=!!e.Rd&&pt("Both smartPtrType and smartPtr must be specified"),e.count={value:1},Pt(Object.create(t,{Cd:{value:e}}))}function Pt(t){return "undefined"==typeof FinalizationRegistry?(Pt=t=>t,t):(Et=new FinalizationRegistry((t=>{xt(t.Cd);})),wt=t=>{Et.unregister(t);},(Pt=t=>{var e=t.Cd;return e.Rd&&Et.register(t,{Cd:e},t),t})(t))}function Rt(){}function Lt(t,e,n){if(void 0===t[e].Od){var r=t[e];t[e]=function(){return t[e].Od.hasOwnProperty(arguments.length)||bt("Function '"+n+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+t[e].Od+")!"),t[e].Od[arguments.length].apply(this,arguments)},t[e].Od=[],t[e].Od[r.ve]=r;}}function Dt(t,n,r){e.hasOwnProperty(t)?((void 0===r||void 0!==e[t].Od&&void 0!==e[t].Od[r])&&bt("Cannot register public name '"+t+"' twice"),Lt(e,t,t),e.hasOwnProperty(r)&&bt("Cannot register multiple overloads of a function with the same number of arguments ("+r+")!"),e[t].Od[r]=n):(e[t]=n,void 0!==r&&(e[t].ig=r));}function kt(t,e,n,r,i,o,a,s){this.name=t,this.constructor=e,this.ye=n,this.ae=r,this.Yd=i,this.Ef=o,this.Ie=a,this.yf=s,this.Rf=[];}function Ft(t,e,n){for(;e!==n;)e.Ie||bt("Expected null or instance of "+n.name+", got an instance of "+e.name),t=e.Ie(t),e=e.Yd;return t}function Ut(t,e){return null===e?(this.Ye&&bt("null is not a valid "+this.name),0):(e.Cd||bt('Cannot pass "'+ie(e)+'" as a '+this.name),e.Cd.Kd||bt("Cannot pass deleted object as a pointer of type "+this.name),Ft(e.Cd.Kd,e.Cd.Md.Gd,this.Gd))}function Bt(t,e){if(null===e){if(this.Ye&&bt("null is not a valid "+this.name),this.Ne){var n=this.Ze();return null!==t&&t.push(this.ae,n),n}return 0}if(e.Cd||bt('Cannot pass "'+ie(e)+'" as a '+this.name),e.Cd.Kd||bt("Cannot pass deleted object as a pointer of type "+this.name),!this.Me&&e.Cd.Md.Me&&bt("Cannot convert argument of type "+(e.Cd.Wd?e.Cd.Wd.name:e.Cd.Md.name)+" to parameter type "+this.name),n=Ft(e.Cd.Kd,e.Cd.Md.Gd,this.Gd),this.Ne)switch(void 0===e.Cd.Rd&&bt("Passing raw pointer to smart pointer is illegal"),this.Xf){case 0:e.Cd.Wd===this?n=e.Cd.Rd:bt("Cannot convert argument of type "+(e.Cd.Wd?e.Cd.Wd.name:e.Cd.Md.name)+" to parameter type "+this.name);break;case 1:n=e.Cd.Rd;break;case 2:if(e.Cd.Wd===this)n=e.Cd.Rd;else {var r=e.clone();n=this.Sf(n,ee((function(){r.delete();}))),null!==t&&t.push(this.ae,n);}break;default:bt("Unsupporting sharing policy");}return n}function jt(t,e){return null===e?(this.Ye&&bt("null is not a valid "+this.name),0):(e.Cd||bt('Cannot pass "'+ie(e)+'" as a '+this.name),e.Cd.Kd||bt("Cannot pass deleted object as a pointer of type "+this.name),e.Cd.Md.Me&&bt("Cannot convert argument of type "+e.Cd.Md.name+" to parameter type "+this.name),Ft(e.Cd.Kd,e.Cd.Md.Gd,this.Gd))}function Gt(t,e,n,r,i,o,a,s,u,l,c){this.name=t,this.Gd=e,this.Ye=n,this.Me=r,this.Ne=i,this.Qf=o,this.Xf=a,this.mf=s,this.Ze=u,this.Sf=l,this.ae=c,i||void 0!==e.Yd?this.toWireType=Bt:(this.toWireType=r?Ut:jt,this.Vd=null);}function Wt(t,n,r){e.hasOwnProperty(t)||pt("Replacing nonexistant public symbol"),void 0!==e[t].Od&&void 0!==r?e[t].Od[r]=n:(e[t]=n,e[t].ve=r);}function qt(t){return W.get(t)}function Ht(t,n){var r=(t=gt(t)).includes("j")?function(t,n){var r=[];return function(){if(r.length=0,Object.assign(r,arguments),t.includes("j")){var i=e["dynCall_"+t];i=r&&r.length?i.apply(null,[n].concat(r)):i.call(null,n);}else i=qt(n).apply(null,r);return i}}(t,n):qt(n);return "function"!=typeof r&&bt("unknown function pointer with signature "+t+": "+n),r}var zt=void 0;function Vt(t){var e=gt(t=fn(t));return cn(t),e}function Xt(t,e){var n=[],r={};throw e.forEach((function t(e){r[e]||st[e]||(ut[e]?ut[e].forEach(t):(n.push(e),r[e]=!0));})),new zt(t+": "+n.map(Vt).join([", "]))}function Yt(t){var e=Function;if(!(e instanceof Function))throw new TypeError("new_ called with constructor type "+typeof e+" which is not a function");var n=ct(e.name||"unknownFunctionName",(function(){}));return n.prototype=e.prototype,n=new n,(t=e.apply(n,t))instanceof Object?t:n}function Zt(t,e,n,r,i){var o=e.length;2>o&&bt("argTypes array size mismatch! Must at least get return value and 'this' types!");var a=null!==e[1]&&null!==n,s=!1;for(n=1;n>2]);return n}var Kt=[],Jt=[{},{value:void 0},{value:null},{value:!0},{value:!1}];function $t(t){4(t||bt("Cannot use deleted val. handle = "+t),Jt[t].value),ee=t=>{switch(t){case void 0:return 1;case null:return 2;case !0:return 3;case !1:return 4;default:var e=Kt.length?Kt.pop():Jt.length;return Jt[e]={$e:1,value:t},e}};function ne(t,e,n){switch(e){case 0:return function(t){return this.fromWireType((n?S:N)[t])};case 1:return function(t){return this.fromWireType((n?O:A)[t>>1])};case 2:return function(t){return this.fromWireType((n?I:P)[t>>2])};default:throw new TypeError("Unknown integer type: "+t)}}function re(t,e){var n=st[t];return void 0===n&&bt(e+" has unknown type "+Vt(t)),n}function ie(t){if(null===t)return "null";var e=typeof t;return "object"===e||"array"===e||"function"===e?t.toString():""+t}function oe(t,e){switch(e){case 2:return function(t){return this.fromWireType(R[t>>2])};case 3:return function(t){return this.fromWireType(L[t>>3])};default:throw new TypeError("Unknown float type: "+t)}}function ae(t,e,n){switch(e){case 0:return n?function(t){return S[t]}:function(t){return N[t]};case 1:return n?function(t){return O[t>>1]}:function(t){return A[t>>1]};case 2:return n?function(t){return I[t>>2]}:function(t){return P[t>>2]};default:throw new TypeError("Unknown integer type: "+t)}}var se="undefined"!=typeof TextDecoder?new TextDecoder("utf-16le"):void 0;function ue(t,e){for(var n=t>>1,r=n+e/2;!(n>=r)&&A[n];)++n;if(32<(n<<=1)-t&&se)return se.decode(N.subarray(t,n));for(n="",r=0;!(r>=e/2);++r){var i=O[t+2*r>>1];if(0==i)break;n+=String.fromCharCode(i);}return n}function le(t,e,n){if(void 0===n&&(n=2147483647),2>n)return 0;var r=e;n=(n-=2)<2*t.length?n/2:t.length;for(var i=0;i>1]=t.charCodeAt(i),e+=2;return O[e>>1]=0,e-r}function ce(t){return 2*t.length}function he(t,e){for(var n=0,r="";!(n>=e/4);){var i=I[t+4*n>>2];if(0==i)break;++n,65536<=i?(i-=65536,r+=String.fromCharCode(55296|i>>10,56320|1023&i)):r+=String.fromCharCode(i);}return r}function fe(t,e,n){if(void 0===n&&(n=2147483647),4>n)return 0;var r=e;n=r+n-4;for(var i=0;i=o&&(o=65536+((1023&o)<<10)|1023&t.charCodeAt(++i)),I[e>>2]=o,(e+=4)+4>n)break}return I[e>>2]=0,e-r}function pe(t){for(var e=0,n=0;n=r&&++n,e+=4;}return e}var de={};function ye(t){var e=de[t];return void 0===e?gt(t):e}var me,ge=[],_e=[];me=_?()=>{var t=o.hrtime();return 1e3*t[0]+t[1]/1e6}:()=>performance.now();var be=1,ve=[],Te=[],Ee=[],we=[],xe=[],Ce=[],Me=[],Se=[],Ne=[],Oe=[],Ae={},Ie={},Pe=4;function Re(t){ke||(ke=t);}function Le(t){for(var e=be++,n=t.length;n>2]=a;}}function je(t,e){if(e){var n=void 0;switch(t){case 36346:n=1;break;case 36344:return;case 34814:case 36345:n=0;break;case 34466:var r=rn.getParameter(34467);n=r?r.length:0;break;case 33309:if(2>Fe.version)return void Re(1282);n=2*(rn.getSupportedExtensions()||[]).length;break;case 33307:case 33308:if(2>Fe.version)return void Re(1280);n=33307==t?3:0;}if(void 0===n)switch(r=rn.getParameter(t),typeof r){case "number":n=r;break;case "boolean":n=r?1:0;break;case "string":return void Re(1280);case "object":if(null===r)switch(t){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 36662:case 36663:case 35053:case 35055:case 36010:case 35097:case 35869:case 32874:case 36389:case 35983:case 35368:case 34068:n=0;break;default:return void Re(1280)}else {if(r instanceof Float32Array||r instanceof Uint32Array||r instanceof Int32Array||r instanceof Array){for(t=0;t>2]=r[t];return}try{n=0|r.name;}catch(e){return Re(1280),void x("GL_INVALID_ENUM in glGet0v: Unknown object returned from WebGL getParameter("+t+")! (error: "+e+")")}}break;default:return Re(1280),void x("GL_INVALID_ENUM in glGet0v: Native code calling glGet0v("+t+") and it returns "+r+" of type "+typeof r+"!")}I[e>>2]=n;}else Re(1281);}function Ge(t){var e=j(t)+1,n=hn(e);return B(t,N,n,e),n}function We(t){return "]"==t.slice(-1)&&t.lastIndexOf("[")}function qe(t){return 0==(t-=5120)?S:1==t?N:2==t?O:4==t?I:6==t?R:5==t||28922==t||28520==t||30779==t||30782==t?P:A}function He(t,e,n,r,i){t=qe(t);var o=31-Math.clz32(t.BYTES_PER_ELEMENT),a=Pe;return t.subarray(i>>o,i+r*(n*({5:3,6:4,8:2,29502:3,29504:4,26917:2,26918:2,29846:3,29847:4}[e-6402]||1)*(1<>o)}function ze(t){var e=rn.xf;if(e){var n=e.He[t];return "number"==typeof n&&(e.He[t]=n=rn.getUniformLocation(e,e.nf[t]+(0nn;++nn)en[nn]=String.fromCharCode(nn);mt=en,_t=e.BindingError=ht("BindingError"),Rt.prototype.isAliasOf=function(t){if(!(this instanceof Rt&&t instanceof Rt))return !1;var e=this.Cd.Md.Gd,n=this.Cd.Kd,r=t.Cd.Md.Gd;for(t=t.Cd.Kd;e.Yd;)n=e.Ie(n),e=e.Yd;for(;r.Yd;)t=r.Ie(t),r=r.Yd;return e===r&&n===t},Rt.prototype.clone=function(){if(this.Cd.Kd||Tt(this),this.Cd.Ge)return this.Cd.count.value+=1,this;var t=Pt,e=Object,n=e.create,r=Object.getPrototypeOf(this),i=this.Cd;return (t=t(n.call(e,r,{Cd:{value:{count:i.count,xe:i.xe,Ge:i.Ge,Kd:i.Kd,Md:i.Md,Rd:i.Rd,Wd:i.Wd}}}))).Cd.count.value+=1,t.Cd.xe=!1,t},Rt.prototype.delete=function(){this.Cd.Kd||Tt(this),this.Cd.xe&&!this.Cd.Ge&&bt("Object already scheduled for deletion"),wt(this),xt(this.Cd),this.Cd.Ge||(this.Cd.Rd=void 0,this.Cd.Kd=void 0);},Rt.prototype.isDeleted=function(){return !this.Cd.Kd},Rt.prototype.deleteLater=function(){return this.Cd.Kd||Tt(this),this.Cd.xe&&!this.Cd.Ge&&bt("Object already scheduled for deletion"),St.push(this),1===St.length&&Ot&&Ot(Nt),this.Cd.xe=!0,this},e.getInheritedInstanceCount=function(){return Object.keys(At).length},e.getLiveInheritedInstances=function(){var t,e=[];for(t in At)At.hasOwnProperty(t)&&e.push(At[t]);return e},e.flushPendingDeletes=Nt,e.setDelayFunction=function(t){Ot=t,St.length&&Ot&&Ot(Nt);},Gt.prototype.Ff=function(t){return this.mf&&(t=this.mf(t)),t},Gt.prototype.gf=function(t){this.ae&&this.ae(t);},Gt.prototype.argPackAdvance=8,Gt.prototype.readValueFromPointer=ot,Gt.prototype.deleteObject=function(t){null!==t&&t.delete();},Gt.prototype.fromWireType=function(t){function e(){return this.Ne?It(this.Gd.ye,{Md:this.Qf,Kd:n,Wd:this,Rd:t}):It(this.Gd.ye,{Md:this,Kd:t})}var n=this.Ff(t);if(!n)return this.gf(t),null;var r=function(t,e){for(void 0===e&&bt("ptr should not be undefined");t.Yd;)e=t.Ie(e),t=t.Yd;return At[e]}(this.Gd,n);if(void 0!==r)return 0===r.Cd.count.value?(r.Cd.Kd=n,r.Cd.Rd=t,r.clone()):(r=r.clone(),this.gf(t),r);if(r=this.Gd.Ef(n),!(r=Mt[r]))return e.call(this);r=this.Me?r.vf:r.pointerType;var i=Ct(n,this.Gd,r.Gd);return null===i?e.call(this):this.Ne?It(r.Gd.ye,{Md:r,Kd:i,Wd:this,Rd:t}):It(r.Gd.ye,{Md:r,Kd:i})},zt=e.UnboundTypeError=ht("UnboundTypeError"),e.count_emval_handles=function(){for(var t=0,e=5;eon;++on)Ue.push(Array(on));var an=new Float32Array(288);for(on=0;288>on;++on)Ve[on]=an.subarray(0,on+1);var sn=new Int32Array(288);for(on=0;288>on;++on)Xe[on]=sn.subarray(0,on+1);var un={H:function(){return 0},xb:function(){},zb:function(){return 0},ub:function(){},Ab:function(){},vb:function(){},P:function(t){var e=rt[t];delete rt[t];var n=e.Ze,r=e.ae,i=e.kf;dt([t],i.map((t=>t.If)).concat(i.map((t=>t.Vf))),(t=>{var o={};return i.forEach(((e,n)=>{var r=t[n],a=e.Gf,s=e.Hf,u=t[n+i.length],l=e.Uf,c=e.Wf;o[e.Af]={read:t=>r.fromWireType(a(s,t)),write:(t,e)=>{var n=[];l(c,t,u.toWireType(n,e)),it(n);}};})),[{name:e.name,fromWireType:function(t){var e,n={};for(e in o)n[e]=o[e].read(t);return r(t),n},toWireType:function(t,e){for(var i in o)if(!(i in e))throw new TypeError('Missing field: "'+i+'"');var a=n();for(i in o)o[i].write(a,e[i]);return null!==t&&t.push(r,a),a},argPackAdvance:8,readValueFromPointer:ot,Vd:r}]}));},kb:function(){},Cb:function(t,e,n,r,i){var o=yt(n);vt(t,{name:e=gt(e),fromWireType:function(t){return !!t},toWireType:function(t,e){return e?r:i},argPackAdvance:8,readValueFromPointer:function(t){if(1===n)var r=S;else if(2===n)r=O;else {if(4!==n)throw new TypeError("Unknown boolean type size: "+e);r=I;}return this.fromWireType(r[t>>o])},Vd:null});},i:function(t,e,n,r,i,o,a,s,u,l,c,h,f){c=gt(c),o=Ht(i,o),s&&(s=Ht(a,s)),l&&(l=Ht(u,l)),f=Ht(h,f);var p=lt(c);Dt(p,(function(){Xt("Cannot construct "+c+" due to unbound types",[r]);})),dt([t,e,n],r?[r]:[],(function(e){if(e=e[0],r)var n=e.Gd,i=n.ye;else i=Rt.prototype;e=ct(p,(function(){if(Object.getPrototypeOf(this)!==a)throw new _t("Use 'new' to construct "+c);if(void 0===u.ee)throw new _t(c+" has no accessible constructor");var t=u.ee[arguments.length];if(void 0===t)throw new _t("Tried to invoke ctor of "+c+" with invalid number of parameters ("+arguments.length+") - expected ("+Object.keys(u.ee).toString()+") parameters instead!");return t.apply(this,arguments)}));var a=Object.create(i,{constructor:{value:e}});e.prototype=a;var u=new kt(c,e,a,f,n,o,s,l);n=new Gt(c,u,!0,!1,!1),i=new Gt(c+"*",u,!1,!1,!1);var h=new Gt(c+" const*",u,!1,!0,!1);return Mt[t]={pointerType:i,vf:h},Wt(p,e),[n,i,h]}));},g:function(t,e,n,r,i,o,a){var s=Qt(n,r);e=gt(e),o=Ht(i,o),dt([],[t],(function(t){function r(){Xt("Cannot call "+i+" due to unbound types",s);}var i=(t=t[0]).name+"."+e;e.startsWith("@@")&&(e=Symbol[e.substring(2)]);var u=t.Gd.constructor;return void 0===u[e]?(r.ve=n-1,u[e]=r):(Lt(u,e,i),u[e].Od[n-1]=r),dt([],s,(function(t){return t=[t[0],null].concat(t.slice(1)),t=Zt(i,t,null,o,a),void 0===u[e].Od?(t.ve=n-1,u[e]=t):u[e].Od[n-1]=t,[]})),[]}));},r:function(t,e,n,r,i,o){0{Xt("Cannot construct "+t.name+" due to unbound types",a);},dt([],a,(function(r){return r.splice(1,0,null),t.Gd.ee[e-1]=Zt(n,r,null,i,o),[]})),[]}));},b:function(t,e,n,r,i,o,a,s){var u=Qt(n,r);e=gt(e),o=Ht(i,o),dt([],[t],(function(t){function r(){Xt("Cannot call "+i+" due to unbound types",u);}var i=(t=t[0]).name+"."+e;e.startsWith("@@")&&(e=Symbol[e.substring(2)]),s&&t.Gd.Rf.push(e);var l=t.Gd.ye,c=l[e];return void 0===c||void 0===c.Od&&c.className!==t.name&&c.ve===n-2?(r.ve=n-2,r.className=t.name,l[e]=r):(Lt(l,e,i),l[e].Od[n-2]=r),dt([],u,(function(r){return r=Zt(i,r,t,o,a),void 0===l[e].Od?(r.ve=n-2,l[e]=r):l[e].Od[n-2]=r,[]})),[]}));},O:function(t,n,r){t=gt(t),dt([],[n],(function(n){return n=n[0],e[t]=n.fromWireType(r),[]}));},Bb:function(t,e){vt(t,{name:e=gt(e),fromWireType:function(t){var e=te(t);return $t(t),e},toWireType:function(t,e){return ee(e)},argPackAdvance:8,readValueFromPointer:ot,Vd:null});},k:function(t,e,n,r){function i(){}n=yt(n),e=gt(e),i.values={},vt(t,{name:e,constructor:i,fromWireType:function(t){return this.constructor.values[t]},toWireType:function(t,e){return e.value},argPackAdvance:8,readValueFromPointer:ne(e,n,r),Vd:null}),Dt(e,i);},c:function(t,e,n){var r=re(t,"enum");e=gt(e),t=r.constructor,r=Object.create(r.constructor.prototype,{value:{value:n},constructor:{value:ct(r.name+"_"+e,(function(){}))}}),t.values[n]=r,t[e]=r;},L:function(t,e,n){n=yt(n),vt(t,{name:e=gt(e),fromWireType:function(t){return t},toWireType:function(t,e){return e},argPackAdvance:8,readValueFromPointer:oe(e,n),Vd:null});},q:function(t,e,n,r,i,o){var a=Qt(e,n);t=gt(t),i=Ht(r,i),Dt(t,(function(){Xt("Cannot call "+t+" due to unbound types",a);}),e-1),dt([],a,(function(n){return n=[n[0],null].concat(n.slice(1)),Wt(t,Zt(t,n,null,i,o),e-1),[]}));},s:function(t,e,n,r,i){e=gt(e),-1===i&&(i=4294967295),i=yt(n);var o=t=>t;if(0===r){var a=32-8*n;o=t=>t<>>a;}n=e.includes("unsigned")?function(t,e){return e>>>0}:function(t,e){return e},vt(t,{name:e,fromWireType:o,toWireType:n,argPackAdvance:8,readValueFromPointer:ae(e,i,0!==r),Vd:null});},n:function(t,e,n){function r(t){t>>=2;var e=P;return new i(e.buffer,e[t+1],e[t])}var i=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][e];vt(t,{name:n=gt(n),fromWireType:r,argPackAdvance:8,readValueFromPointer:r},{Kf:!0});},o:function(t,e,n,r,i,o,a,s,u,l,c,h){n=gt(n),o=Ht(i,o),s=Ht(a,s),l=Ht(u,l),h=Ht(c,h),dt([t],[e],(function(t){return t=t[0],[new Gt(n,t.Gd,!1,!1,!0,t,r,o,s,l,h)]}));},K:function(t,e){var n="std::string"===(e=gt(e));vt(t,{name:e,fromWireType:function(t){var e=P[t>>2],r=t+4;if(n)for(var i=r,o=0;o<=e;++o){var a=r+o;if(o==e||0==N[a]){if(i=U(i,a-i),void 0===s)var s=i;else s+=String.fromCharCode(0),s+=i;i=a+1;}}else {for(s=Array(e),o=0;o>2]=r,n&&i)B(e,N,a,r+1);else if(i)for(i=0;iA,s=1;else 4===e&&(r=he,i=fe,o=pe,a=()=>P,s=2);vt(t,{name:n,fromWireType:function(t){for(var n,i=P[t>>2],o=a(),u=t+4,l=0;l<=i;++l){var c=t+4+l*e;l!=i&&0!=o[c>>s]||(u=r(u,c-u),void 0===n?n=u:(n+=String.fromCharCode(0),n+=u),u=c+e);}return cn(t),n},toWireType:function(t,r){"string"!=typeof r&&bt("Cannot pass non-string to C++ string type "+n);var a=o(r),u=hn(4+a+e);return P[u>>2]=a>>s,i(r,u+4,a+e),null!==t&&t.push(cn,u),u},argPackAdvance:8,readValueFromPointer:ot,Vd:function(t){cn(t);}});},J:function(t,e,n,r,i,o){rt[t]={name:gt(e),Ze:Ht(n,r),ae:Ht(i,o),kf:[]};},v:function(t,e,n,r,i,o,a,s,u,l){rt[t].kf.push({Af:gt(e),If:n,Gf:Ht(r,i),Hf:o,Vf:a,Uf:Ht(s,u),Wf:l});},Db:function(t,e){vt(t,{Mf:!0,name:e=gt(e),argPackAdvance:0,fromWireType:function(){},toWireType:function(){}});},rb:function(){return !0},mb:function(){throw 1/0},gb:function(t,e,n,r,i){t=ge[t],e=te(e),n=ye(n);var o=[];return P[r>>2]=ee(o),t(e,n,o,i)},w:function(t,e,n,r){(t=ge[t])(e=te(e),n=ye(n),null,r);},p:$t,u:function(t,e){var n=function(t,e){for(var n=Array(t),r=0;r>2],"parameter "+r);return n}(t,e),r=n[0];e=r.name+"_$"+n.slice(1).map((function(t){return t.name})).join("_")+"$";var i=_e[e];if(void 0!==i)return i;i=["retType"];for(var o=[r],a="",s=0;s>>0)+4294967296*r)},ba:function(t,e,n,r){rn.colorMask(!!t,!!e,!!n,!!r);},ca:function(t){rn.compileShader(Ce[t]);},da:function(t,e,n,r,i,o,a,s){2<=Fe.version?rn.we||!a?rn.compressedTexImage2D(t,e,n,r,i,o,a,s):rn.compressedTexImage2D(t,e,n,r,i,o,N,s,a):rn.compressedTexImage2D(t,e,n,r,i,o,s?N.subarray(s,s+a):null);},ea:function(t,e,n,r,i,o,a,s,u){2<=Fe.version?rn.we||!s?rn.compressedTexSubImage2D(t,e,n,r,i,o,a,s,u):rn.compressedTexSubImage2D(t,e,n,r,i,o,a,N,u,s):rn.compressedTexSubImage2D(t,e,n,r,i,o,a,u?N.subarray(u,u+s):null);},fa:function(t,e,n,r,i,o,a,s){rn.copyTexSubImage2D(t,e,n,r,i,o,a,s);},ga:function(){var t=Le(Te),e=rn.createProgram();return e.name=t,e.Qe=e.Oe=e.Pe=0,e.bf=1,Te[t]=e,t},ha:function(t){var e=Le(Ce);return Ce[e]=rn.createShader(t),e},ia:function(t){rn.cullFace(t);},ja:function(t,e){for(var n=0;n>2],i=ve[r];i&&(rn.deleteBuffer(i),i.name=0,ve[r]=null,r==rn.Xe&&(rn.Xe=0),r==rn.we&&(rn.we=0));}},bc:function(t,e){for(var n=0;n>2],i=Ee[r];i&&(rn.deleteFramebuffer(i),i.name=0,Ee[r]=null);}},ka:function(t){if(t){var e=Te[t];e?(rn.deleteProgram(e),e.name=0,Te[t]=null):Re(1281);}},cc:function(t,e){for(var n=0;n>2],i=we[r];i&&(rn.deleteRenderbuffer(i),i.name=0,we[r]=null);}},Nb:function(t,e){for(var n=0;n>2],i=Ne[r];i&&(rn.deleteSampler(i),i.name=0,Ne[r]=null);}},la:function(t){if(t){var e=Ce[t];e?(rn.deleteShader(e),Ce[t]=null):Re(1281);}},Vb:function(t){if(t){var e=Oe[t];e?(rn.deleteSync(e),e.name=0,Oe[t]=null):Re(1281);}},ma:function(t,e){for(var n=0;n>2],i=xe[r];i&&(rn.deleteTexture(i),i.name=0,xe[r]=null);}},uc:function(t,e){for(var n=0;n>2];rn.deleteVertexArray(Me[r]),Me[r]=null;}},xc:function(t,e){for(var n=0;n>2];rn.deleteVertexArray(Me[r]),Me[r]=null;}},na:function(t){rn.depthMask(!!t);},oa:function(t){rn.disable(t);},pa:function(t){rn.disableVertexAttribArray(t);},qa:function(t,e,n){rn.drawArrays(t,e,n);},rc:function(t,e,n,r){rn.drawArraysInstanced(t,e,n,r);},pc:function(t,e,n,r,i){rn.hf.drawArraysInstancedBaseInstanceWEBGL(t,e,n,r,i);},nc:function(t,e){for(var n=Ue[t],r=0;r>2];rn.drawBuffers(n);},ra:function(t,e,n,r){rn.drawElements(t,e,n,r);},sc:function(t,e,n,r,i){rn.drawElementsInstanced(t,e,n,r,i);},qc:function(t,e,n,r,i,o,a){rn.hf.drawElementsInstancedBaseVertexBaseInstanceWEBGL(t,e,n,r,i,o,a);},hc:function(t,e,n,r,i,o){rn.drawElements(t,r,i,o);},sa:function(t){rn.enable(t);},ta:function(t){rn.enableVertexAttribArray(t);},Rb:function(t,e){return (t=rn.fenceSync(t,e))?(e=Le(Oe),t.name=e,Oe[e]=t,e):0},ua:function(){rn.finish();},va:function(){rn.flush();},dc:function(t,e,n,r){rn.framebufferRenderbuffer(t,e,n,we[r]);},ec:function(t,e,n,r,i){rn.framebufferTexture2D(t,e,n,xe[r],i);},wa:function(t){rn.frontFace(t);},xa:function(t,e){Be(t,e,"createBuffer",ve);},fc:function(t,e){Be(t,e,"createFramebuffer",Ee);},gc:function(t,e){Be(t,e,"createRenderbuffer",we);},Ob:function(t,e){Be(t,e,"createSampler",Ne);},ya:function(t,e){Be(t,e,"createTexture",xe);},vc:function(t,e){Be(t,e,"createVertexArray",Me);},yc:function(t,e){Be(t,e,"createVertexArray",Me);},Wb:function(t){rn.generateMipmap(t);},za:function(t,e,n){n?I[n>>2]=rn.getBufferParameter(t,e):Re(1281);},Aa:function(){var t=rn.getError()||ke;return ke=0,t},Xb:function(t,e,n,r){((t=rn.getFramebufferAttachmentParameter(t,e,n))instanceof WebGLRenderbuffer||t instanceof WebGLTexture)&&(t=0|t.name),I[r>>2]=t;},ab:function(t,e){je(t,e);},Ba:function(t,e,n,r){null===(t=rn.getProgramInfoLog(Te[t]))&&(t="(unknown error)"),e=0>2]=e);},Ca:function(t,e,n){if(n)if(t>=be)Re(1281);else if(t=Te[t],35716==e)null===(t=rn.getProgramInfoLog(t))&&(t="(unknown error)"),I[n>>2]=t.length+1;else if(35719==e){if(!t.Qe)for(e=0;e>2]=t.Qe;}else if(35722==e){if(!t.Oe)for(e=0;e>2]=t.Oe;}else if(35381==e){if(!t.Pe)for(e=0;e>2]=t.Pe;}else I[n>>2]=rn.getProgramParameter(t,e);else Re(1281);},Yb:function(t,e,n){n?I[n>>2]=rn.getRenderbufferParameter(t,e):Re(1281);},Da:function(t,e,n,r){null===(t=rn.getShaderInfoLog(Ce[t]))&&(t="(unknown error)"),e=0>2]=e);},Jb:function(t,e,n,r){t=rn.getShaderPrecisionFormat(t,e),I[n>>2]=t.rangeMin,I[n+4>>2]=t.rangeMax,I[r>>2]=t.precision;},Ea:function(t,e,n){n?35716==e?(null===(t=rn.getShaderInfoLog(Ce[t]))&&(t="(unknown error)"),I[n>>2]=t?t.length+1:0):35720==e?(t=rn.getShaderSource(Ce[t]),I[n>>2]=t?t.length+1:0):I[n>>2]=rn.getShaderParameter(Ce[t],e):Re(1281);},F:function(t){var e=Ae[t];if(!e){switch(t){case 7939:e=Ge((e=(e=rn.getSupportedExtensions()||[]).concat(e.map((function(t){return "GL_"+t})))).join(" "));break;case 7936:case 7937:case 37445:case 37446:(e=rn.getParameter(t))||Re(1280),e=e&&Ge(e);break;case 7938:e=rn.getParameter(7938),e=Ge(e=2<=Fe.version?"OpenGL ES 3.0 ("+e+")":"OpenGL ES 2.0 ("+e+")");break;case 35724:var n=(e=rn.getParameter(35724)).match(/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/);null!==n&&(3==n[1].length&&(n[1]+="0"),e="OpenGL ES GLSL ES "+n[1]+" ("+e+")"),e=Ge(e);break;default:Re(1280);}Ae[t]=e;}return e},bb:function(t,e){if(2>Fe.version)return Re(1282),0;var n=Ie[t];return n?0>e||e>=n.length?(Re(1281),0):n[e]:7939===t?(n=(n=(n=rn.getSupportedExtensions()||[]).concat(n.map((function(t){return "GL_"+t})))).map((function(t){return Ge(t)})),n=Ie[t]=n,0>e||e>=n.length?(Re(1281),0):n[e]):(Re(1280),0)},Fa:function(t,e){if(e=U(e),t=Te[t]){var n,r=t,i=r.He,o=r.pf;if(!i)for(r.He=i={},r.nf={},n=0;n>>0,o=e.slice(0,n)),(o=t.pf[o])&&i>2];rn.invalidateFramebuffer(t,r);},Lb:function(t,e,n,r,i,o,a){for(var s=Ue[e],u=0;u>2];rn.invalidateSubFramebuffer(t,s,r,i,o,a);},Sb:function(t){return rn.isSync(Oe[t])},Ga:function(t){return (t=xe[t])?rn.isTexture(t):0},Ha:function(t){rn.lineWidth(t);},Ia:function(t){t=Te[t],rn.linkProgram(t),t.He=0,t.pf={};},lc:function(t,e,n,r,i,o){rn.lf.multiDrawArraysInstancedBaseInstanceWEBGL(t,I,e>>2,I,n>>2,I,r>>2,P,i>>2,o);},mc:function(t,e,n,r,i,o,a,s){rn.lf.multiDrawElementsInstancedBaseVertexBaseInstanceWEBGL(t,I,e>>2,n,I,r>>2,I,i>>2,I,o>>2,P,a>>2,s);},Ja:function(t,e){3317==t&&(Pe=e),rn.pixelStorei(t,e);},oc:function(t){rn.readBuffer(t);},Ka:function(t,e,n,r,i,o,a){if(2<=Fe.version)if(rn.Xe)rn.readPixels(t,e,n,r,i,o,a);else {var s=qe(o);rn.readPixels(t,e,n,r,i,o,s,a>>31-Math.clz32(s.BYTES_PER_ELEMENT));}else (a=He(o,i,n,r,a))?rn.readPixels(t,e,n,r,i,o,a):Re(1280);},Zb:function(t,e,n,r){rn.renderbufferStorage(t,e,n,r);},Ub:function(t,e,n,r,i){rn.renderbufferStorageMultisample(t,e,n,r,i);},Pb:function(t,e,n){rn.samplerParameteri(Ne[t],e,n);},Qb:function(t,e,n){rn.samplerParameteri(Ne[t],e,I[n>>2]);},La:function(t,e,n,r){rn.scissor(t,e,n,r);},Ma:function(t,e,n,r){for(var i="",o=0;o>2]:-1;i+=U(I[n+4*o>>2],0>a?void 0:a);}rn.shaderSource(Ce[t],i);},Na:function(t,e,n){rn.stencilFunc(t,e,n);},Oa:function(t,e,n,r){rn.stencilFuncSeparate(t,e,n,r);},Pa:function(t){rn.stencilMask(t);},Qa:function(t,e){rn.stencilMaskSeparate(t,e);},Ra:function(t,e,n){rn.stencilOp(t,e,n);},Sa:function(t,e,n,r){rn.stencilOpSeparate(t,e,n,r);},Ta:function(t,e,n,r,i,o,a,s,u){if(2<=Fe.version)if(rn.we)rn.texImage2D(t,e,n,r,i,o,a,s,u);else if(u){var l=qe(s);rn.texImage2D(t,e,n,r,i,o,a,s,l,u>>31-Math.clz32(l.BYTES_PER_ELEMENT));}else rn.texImage2D(t,e,n,r,i,o,a,s,null);else rn.texImage2D(t,e,n,r,i,o,a,s,u?He(s,a,r,i,u):null);},Ua:function(t,e,n){rn.texParameterf(t,e,n);},Va:function(t,e,n){rn.texParameterf(t,e,R[n>>2]);},Wa:function(t,e,n){rn.texParameteri(t,e,n);},Ya:function(t,e,n){rn.texParameteri(t,e,I[n>>2]);},ic:function(t,e,n,r,i){rn.texStorage2D(t,e,n,r,i);},Za:function(t,e,n,r,i,o,a,s,u){if(2<=Fe.version)if(rn.we)rn.texSubImage2D(t,e,n,r,i,o,a,s,u);else if(u){var l=qe(s);rn.texSubImage2D(t,e,n,r,i,o,a,s,l,u>>31-Math.clz32(l.BYTES_PER_ELEMENT));}else rn.texSubImage2D(t,e,n,r,i,o,a,s,null);else l=null,u&&(l=He(s,a,i,o,u)),rn.texSubImage2D(t,e,n,r,i,o,a,s,l);},_a:function(t,e){rn.uniform1f(ze(t),e);},$a:function(t,e,n){if(2<=Fe.version)e&&rn.uniform1fv(ze(t),R,n>>2,e);else {if(288>=e)for(var r=Ve[e-1],i=0;i>2];else r=R.subarray(n>>2,n+4*e>>2);rn.uniform1fv(ze(t),r);}},Tc:function(t,e){rn.uniform1i(ze(t),e);},Uc:function(t,e,n){if(2<=Fe.version)e&&rn.uniform1iv(ze(t),I,n>>2,e);else {if(288>=e)for(var r=Xe[e-1],i=0;i>2];else r=I.subarray(n>>2,n+4*e>>2);rn.uniform1iv(ze(t),r);}},Vc:function(t,e,n){rn.uniform2f(ze(t),e,n);},Wc:function(t,e,n){if(2<=Fe.version)e&&rn.uniform2fv(ze(t),R,n>>2,2*e);else {if(144>=e)for(var r=Ve[2*e-1],i=0;i<2*e;i+=2)r[i]=R[n+4*i>>2],r[i+1]=R[n+(4*i+4)>>2];else r=R.subarray(n>>2,n+8*e>>2);rn.uniform2fv(ze(t),r);}},Sc:function(t,e,n){rn.uniform2i(ze(t),e,n);},Rc:function(t,e,n){if(2<=Fe.version)e&&rn.uniform2iv(ze(t),I,n>>2,2*e);else {if(144>=e)for(var r=Xe[2*e-1],i=0;i<2*e;i+=2)r[i]=I[n+4*i>>2],r[i+1]=I[n+(4*i+4)>>2];else r=I.subarray(n>>2,n+8*e>>2);rn.uniform2iv(ze(t),r);}},Qc:function(t,e,n,r){rn.uniform3f(ze(t),e,n,r);},Pc:function(t,e,n){if(2<=Fe.version)e&&rn.uniform3fv(ze(t),R,n>>2,3*e);else {if(96>=e)for(var r=Ve[3*e-1],i=0;i<3*e;i+=3)r[i]=R[n+4*i>>2],r[i+1]=R[n+(4*i+4)>>2],r[i+2]=R[n+(4*i+8)>>2];else r=R.subarray(n>>2,n+12*e>>2);rn.uniform3fv(ze(t),r);}},Oc:function(t,e,n,r){rn.uniform3i(ze(t),e,n,r);},Nc:function(t,e,n){if(2<=Fe.version)e&&rn.uniform3iv(ze(t),I,n>>2,3*e);else {if(96>=e)for(var r=Xe[3*e-1],i=0;i<3*e;i+=3)r[i]=I[n+4*i>>2],r[i+1]=I[n+(4*i+4)>>2],r[i+2]=I[n+(4*i+8)>>2];else r=I.subarray(n>>2,n+12*e>>2);rn.uniform3iv(ze(t),r);}},Mc:function(t,e,n,r,i){rn.uniform4f(ze(t),e,n,r,i);},Lc:function(t,e,n){if(2<=Fe.version)e&&rn.uniform4fv(ze(t),R,n>>2,4*e);else {if(72>=e){var r=Ve[4*e-1],i=R;n>>=2;for(var o=0;o<4*e;o+=4){var a=n+o;r[o]=i[a],r[o+1]=i[a+1],r[o+2]=i[a+2],r[o+3]=i[a+3];}}else r=R.subarray(n>>2,n+16*e>>2);rn.uniform4fv(ze(t),r);}},zc:function(t,e,n,r,i){rn.uniform4i(ze(t),e,n,r,i);},Ac:function(t,e,n){if(2<=Fe.version)e&&rn.uniform4iv(ze(t),I,n>>2,4*e);else {if(72>=e)for(var r=Xe[4*e-1],i=0;i<4*e;i+=4)r[i]=I[n+4*i>>2],r[i+1]=I[n+(4*i+4)>>2],r[i+2]=I[n+(4*i+8)>>2],r[i+3]=I[n+(4*i+12)>>2];else r=I.subarray(n>>2,n+16*e>>2);rn.uniform4iv(ze(t),r);}},Bc:function(t,e,n,r){if(2<=Fe.version)e&&rn.uniformMatrix2fv(ze(t),!!n,R,r>>2,4*e);else {if(72>=e)for(var i=Ve[4*e-1],o=0;o<4*e;o+=4)i[o]=R[r+4*o>>2],i[o+1]=R[r+(4*o+4)>>2],i[o+2]=R[r+(4*o+8)>>2],i[o+3]=R[r+(4*o+12)>>2];else i=R.subarray(r>>2,r+16*e>>2);rn.uniformMatrix2fv(ze(t),!!n,i);}},Cc:function(t,e,n,r){if(2<=Fe.version)e&&rn.uniformMatrix3fv(ze(t),!!n,R,r>>2,9*e);else {if(32>=e)for(var i=Ve[9*e-1],o=0;o<9*e;o+=9)i[o]=R[r+4*o>>2],i[o+1]=R[r+(4*o+4)>>2],i[o+2]=R[r+(4*o+8)>>2],i[o+3]=R[r+(4*o+12)>>2],i[o+4]=R[r+(4*o+16)>>2],i[o+5]=R[r+(4*o+20)>>2],i[o+6]=R[r+(4*o+24)>>2],i[o+7]=R[r+(4*o+28)>>2],i[o+8]=R[r+(4*o+32)>>2];else i=R.subarray(r>>2,r+36*e>>2);rn.uniformMatrix3fv(ze(t),!!n,i);}},Dc:function(t,e,n,r){if(2<=Fe.version)e&&rn.uniformMatrix4fv(ze(t),!!n,R,r>>2,16*e);else {if(18>=e){var i=Ve[16*e-1],o=R;r>>=2;for(var a=0;a<16*e;a+=16){var s=r+a;i[a]=o[s],i[a+1]=o[s+1],i[a+2]=o[s+2],i[a+3]=o[s+3],i[a+4]=o[s+4],i[a+5]=o[s+5],i[a+6]=o[s+6],i[a+7]=o[s+7],i[a+8]=o[s+8],i[a+9]=o[s+9],i[a+10]=o[s+10],i[a+11]=o[s+11],i[a+12]=o[s+12],i[a+13]=o[s+13],i[a+14]=o[s+14],i[a+15]=o[s+15];}}else i=R.subarray(r>>2,r+64*e>>2);rn.uniformMatrix4fv(ze(t),!!n,i);}},Ec:function(t){t=Te[t],rn.useProgram(t),rn.xf=t;},Fc:function(t,e){rn.vertexAttrib1f(t,e);},Gc:function(t,e){rn.vertexAttrib2f(t,R[e>>2],R[e+4>>2]);},Hc:function(t,e){rn.vertexAttrib3f(t,R[e>>2],R[e+4>>2],R[e+8>>2]);},Ic:function(t,e){rn.vertexAttrib4f(t,R[e>>2],R[e+4>>2],R[e+8>>2],R[e+12>>2]);},jc:function(t,e){rn.vertexAttribDivisor(t,e);},kc:function(t,e,n,r,i){rn.vertexAttribIPointer(t,e,n,r,i);},Jc:function(t,e,n,r,i,o){rn.vertexAttribPointer(t,e,n,!!r,i,o);},Kc:function(t,e,n,r){rn.viewport(t,e,n,r);},db:function(t,e,n,r){rn.waitSync(Oe[t],e,(n>>>0)+4294967296*r);},nb:function(t){var e=N.length;if(2147483648<(t>>>=0))return !1;for(var n=1;4>=n;n*=2){var r=e*(1+.2/n);r=Math.min(r,t+100663296);var i=Math,o=i.min;r=Math.max(t,r),r+=(65536-r%65536)%65536;t:{var a=M.buffer;try{M.grow(o.call(i,2147483648,r)-a.byteLength+65535>>>16),G();var s=1;break t}catch(t){}s=void 0;}if(s)return !0}return !1},Yc:function(){return Fe?Fe.Jf:0},Q:function(t){return De(t)?0:-5},sb:function(t,e){var n=0;return Ze().forEach((function(r,i){var o=e+n;for(i=P[t+4*i>>2]=o,o=0;o>0]=r.charCodeAt(o);S[i>>0]=0,n+=r.length+1;})),0},tb:function(t,e){var n=Ze();P[t>>2]=n.length;var r=0;return n.forEach((function(t){r+=t.length+1;})),P[e>>2]=r,0},Eb:function(t){C||(e.onExit&&e.onExit(t),D=!0),y(t,new et(t));},I:function(){return 52},ib:function(){return 52},yb:function(){return 52},jb:function(){return 70},G:function(t,e,n,r){for(var i=0,o=0;o>2],s=P[e+4>>2];e+=8;for(var u=0;u>2]=i,0},Zc:function(t,e){rn.bindFramebuffer(t,Ee[e]);},Xa:function(t){rn.clear(t);},wb:function(t,e,n,r){rn.clearColor(t,e,n,r);},eb:function(t){rn.clearStencil(t);},E:function(t,e){je(t,e);},f:function(t,e){var n=dn();try{return qt(t)(e)}catch(t){if(yn(n),t!==t+0)throw t;pn(1,0);}},j:function(t,e,n){var r=dn();try{return qt(t)(e,n)}catch(t){if(yn(r),t!==t+0)throw t;pn(1,0);}},d:function(t,e,n,r){var i=dn();try{return qt(t)(e,n,r)}catch(t){if(yn(i),t!==t+0)throw t;pn(1,0);}},z:function(t,e,n,r,i){var o=dn();try{return qt(t)(e,n,r,i)}catch(t){if(yn(o),t!==t+0)throw t;pn(1,0);}},Ib:function(t,e,n,r,i,o){var a=dn();try{return qt(t)(e,n,r,i,o)}catch(t){if(yn(a),t!==t+0)throw t;pn(1,0);}},N:function(t,e,n,r,i,o,a){var s=dn();try{return qt(t)(e,n,r,i,o,a)}catch(t){if(yn(s),t!==t+0)throw t;pn(1,0);}},M:function(t,e,n,r,i,o,a,s,u,l){var c=dn();try{return qt(t)(e,n,r,i,o,a,s,u,l)}catch(t){if(yn(c),t!==t+0)throw t;pn(1,0);}},C:function(t){var e=dn();try{qt(t)();}catch(t){if(yn(e),t!==t+0)throw t;pn(1,0);}},h:function(t,e){var n=dn();try{qt(t)(e);}catch(t){if(yn(n),t!==t+0)throw t;pn(1,0);}},m:function(t,e,n){var r=dn();try{qt(t)(e,n);}catch(t){if(yn(r),t!==t+0)throw t;pn(1,0);}},e:function(t,e,n,r){var i=dn();try{qt(t)(e,n,r);}catch(t){if(yn(i),t!==t+0)throw t;pn(1,0);}},l:function(t,e,n,r,i){var o=dn();try{qt(t)(e,n,r,i);}catch(t){if(yn(o),t!==t+0)throw t;pn(1,0);}},Hb:function(t,e,n,r,i,o){var a=dn();try{qt(t)(e,n,r,i,o);}catch(t){if(yn(a),t!==t+0)throw t;pn(1,0);}},Fb:function(t,e,n,r,i,o,a){var s=dn();try{qt(t)(e,n,r,i,o,a);}catch(t){if(yn(s),t!==t+0)throw t;pn(1,0);}},Gb:function(t,e,n,r,i,o,a,s,u,l){var c=dn();try{qt(t)(e,n,r,i,o,a,s,u,l);}catch(t){if(yn(c),t!==t+0)throw t;pn(1,0);}},lb:function(t,e,n,r){return function(t,e,n,r){function i(t,e,n){for(t="number"==typeof t?t.toString():t||"";t.lengtht?-1:0r-t.getDate())){t.setDate(t.getDate()+e);break}e-=r-t.getDate()+1,t.setDate(1),11>n?t.setMonth(n+1):(t.setMonth(0),t.setFullYear(t.getFullYear()+1));}return n=new Date(t.getFullYear()+1,0,4),e=s(new Date(t.getFullYear(),0,4)),n=s(n),0>=a(e,t)?0>=a(n,t)?t.getFullYear()+1:t.getFullYear():t.getFullYear()-1}var l=I[r+40>>2];for(var c in r={eg:I[r>>2],dg:I[r+4>>2],Re:I[r+8>>2],af:I[r+12>>2],Se:I[r+16>>2],ge:I[r+20>>2],Zd:I[r+24>>2],fe:I[r+28>>2],kg:I[r+32>>2],cg:I[r+36>>2],fg:l?U(l):""},n=U(n),l={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"})n=n.replace(new RegExp(c,"g"),l[c]);var h="Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),f="January February March April May June July August September October November December".split(" ");for(c in l={"%a":function(t){return h[t.Zd].substring(0,3)},"%A":function(t){return h[t.Zd]},"%b":function(t){return f[t.Se].substring(0,3)},"%B":function(t){return f[t.Se]},"%C":function(t){return o((t.ge+1900)/100|0,2)},"%d":function(t){return o(t.af,2)},"%e":function(t){return i(t.af,2," ")},"%g":function(t){return u(t).toString().substring(2)},"%G":function(t){return u(t)},"%H":function(t){return o(t.Re,2)},"%I":function(t){return 0==(t=t.Re)?t=12:12t.Re?"AM":"PM"},"%S":function(t){return o(t.eg,2)},"%t":function(){return "\t"},"%u":function(t){return t.Zd||7},"%U":function(t){return o(Math.floor((t.fe+7-t.Zd)/7),2)},"%V":function(t){var e=Math.floor((t.fe+7-(t.Zd+6)%7)/7);if(2>=(t.Zd+371-t.fe-2)%7&&e++,e)53==e&&(4==(n=(t.Zd+371-t.fe)%7)||3==n&&Je(t.ge)||(e=1));else {e=52;var n=(t.Zd+7-t.fe-1)%7;(4==n||5==n&&Je(t.ge%400-1))&&e++;}return o(e,2)},"%w":function(t){return t.Zd},"%W":function(t){return o(Math.floor((t.fe+7-(t.Zd+6)%7)/7),2)},"%y":function(t){return (t.ge+1900).toString().substring(2)},"%Y":function(t){return t.ge+1900},"%z":function(t){var e=0<=(t=t.cg);return t=Math.abs(t)/60,(e?"+":"-")+String("0000"+(t/60*100+t%60)).slice(-4)},"%Z":function(t){return t.fg},"%%":function(){return "%"}},n=n.replace(/%%/g,"\0\0"),l)n.includes(c)&&(n=n.replace(new RegExp(c,"g"),l[c](r)));return c=function(t){var e=Array(j(t)+1);return B(t,e,0,e.length),e}(n=n.replace(/\0\0/g,"%")),c.length>e?0:(S.set(c,t),c.length-1)}(t,e,n,r)}};!function(){function t(t){e.asm=t.exports,M=e.asm._c,G(),W=e.asm.ad,H.unshift(e.asm.$c),Y--,e.monitorRunDependencies&&e.monitorRunDependencies(Y),0==Y&&(null!==Z&&(clearInterval(Z),Z=null),Q&&(t=Q,Q=null,t()));}function n(e){t(e.instance);}function r(t){return function(){if(!E&&(m||g)){if("function"==typeof fetch&&!X.startsWith("file://"))return fetch(X,{credentials:"same-origin"}).then((function(t){if(!t.ok)throw "failed to load wasm binary file at '"+X+"'";return t.arrayBuffer()})).catch((function(){return tt()}));if(h)return new Promise((function(t,e){h(X,(function(e){t(new Uint8Array(e));}),e);}))}return Promise.resolve().then((function(){return tt()}))}().then((function(t){return WebAssembly.instantiate(t,i)})).then((function(t){return t})).then(t,(function(t){x("failed to asynchronously prepare wasm: "+t),K(t);}))}var i={a:un};if(Y++,e.monitorRunDependencies&&e.monitorRunDependencies(Y),e.instantiateWasm)try{return e.instantiateWasm(i,t)}catch(t){x("Module.instantiateWasm callback failed with error: "+t),u(t);}(E||"function"!=typeof WebAssembly.instantiateStreaming||J()||X.startsWith("file://")||_||"function"!=typeof fetch?r(n):fetch(X,{credentials:"same-origin"}).then((function(t){return WebAssembly.instantiateStreaming(t,i).then(n,(function(t){return x("wasm streaming compile failed: "+t),x("falling back to ArrayBuffer instantiation"),r(n)}))}))).catch(u);}();var ln,cn=e._free=function(){return (cn=e._free=e.asm.bd).apply(null,arguments)},hn=e._malloc=function(){return (hn=e._malloc=e.asm.cd).apply(null,arguments)},fn=e.___getTypeName=function(){return (fn=e.___getTypeName=e.asm.dd).apply(null,arguments)};function pn(){return (pn=e.asm.fd).apply(null,arguments)}function dn(){return (dn=e.asm.gd).apply(null,arguments)}function yn(){return (yn=e.asm.hd).apply(null,arguments)}function mn(){function t(){if(!ln&&(ln=!0,e.calledRun=!0,!D)){if(nt(H),s(e),e.onRuntimeInitialized&&e.onRuntimeInitialized(),e.postRun)for("function"==typeof e.postRun&&(e.postRun=[e.postRun]);e.postRun.length;){var t=e.postRun.shift();z.unshift(t);}nt(z);}}if(!(0{let r=n(4472);r="default"in r?r.default:r,t.exports=function(t){const e=JSON.parse(t.tilePieceBoundingBox),n=JSON.parse(t.tileBoundingBox),i=t.height,o=t.width,a=new Uint8ClampedArray(o*i*4),s=new Uint8ClampedArray(t.sourceImageData);let u,l;try{null==r.defs(t.projectionTo)&&r.defs(t.projectionTo,t.projectionToDefinition),null==r.defs(t.projectionFrom)&&r.defs(t.projectionFrom,t.projectionFromDefinition),u=r(t.projectionTo,t.projectionFrom);}catch(e){throw new Error("Error creating projection conversion between "+t.projectionTo+" and "+t.projectionFrom+".")}for(let r=0;r=0&&d=0&&y{"use strict";n.r(e),n.d(e,{TileUtilities:()=>o});var r=n(1375),i=n(5604);class o{static getPiecePosition(t,e,n,o,a,s,u,l,c,h,f,p){let d;try{null==i.Projection.hasProjection(a)&&i.Projection.loadProjection(a,s),null==i.Projection.hasProjection(u)&&i.Projection.loadProjection(u,l),d=i.Projection.getConverter(a,u);}catch(t){throw new Error("Error creating projection conversion between "+a+" and "+u+".")}let y=t.maxLatitude,m=t.minLatitude,g=t.minLongitude-f,_=t.maxLongitude+f;a.toUpperCase()===r.ProjectionConstants.EPSG_3857&&u.toUpperCase()===r.ProjectionConstants.EPSG_4326&&(y=y>r.ProjectionConstants.WEB_MERCATOR_MAX_LAT_RANGE?r.ProjectionConstants.WEB_MERCATOR_MAX_LAT_RANGE:y,m=mr.ProjectionConstants.WEB_MERCATOR_MAX_LON_RANGE?r.ProjectionConstants.WEB_MERCATOR_MAX_LON_RANGE:_);const b=i.Projection.convertCoordinates(r.ProjectionConstants.EPSG_4326,a,[-180,0]),v=i.Projection.convertCoordinates(r.ProjectionConstants.EPSG_4326,a,[180,0]);g=gv[0]?v[0]:_;const T=d.inverse([g,m]),E=d.inverse([_,y]),w=isNaN(T[1])?e.minLatitude:T[1],x=isNaN(E[1])?e.maxLatitude:E[1],C=T[0],M=E[0];return {startY:Math.max(0,Math.floor((e.maxLatitude-x)/c)),startX:Math.max(0,Math.floor((C-e.minLongitude)/h)),endY:Math.min(n,n-Math.floor((w-e.minLatitude)/c)),endX:Math.min(o,o-Math.floor((e.maxLongitude-M)/h))}}}},7591:(t,e,n)=>{var r=n(5108);const i=n(2331);function o(t){const e=t.data,n=i(e);this.postMessage(n),this.close();}t.exports=function(t){t.onmessage=o,t.onerror=function(t){r.log("error",t);};};},9705:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(1540);function i(t){var e=[1/0,1/0,-1/0,-1/0];return r.coordEach(t,(function(t){e[0]>t[0]&&(e[0]=t[0]),e[1]>t[1]&&(e[1]=t[1]),e[2]{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(611);e.default=function(t){for(var e,n,i=r.getCoords(t),o=0,a=1;a0};},8147:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(611);function i(t,e,n){var r=!1;e[0][0]===e[e.length-1][0]&&e[0][1]===e[e.length-1][1]&&(e=e.slice(0,e.length-1));for(var i=0,o=e.length-1;it[1]!=l>t[1]&&t[0]<(u-a)*(t[1]-s)/(l-s)+a&&(r=!r);}return r}e.default=function(t,e,n){if(void 0===n&&(n={}),!t)throw new Error("point is required");if(!e)throw new Error("polygon is required");var o=r.getCoord(t),a=r.getGeom(e),s=a.type,u=e.bbox,l=a.coordinates;if(u&&!1===function(t,e){return e[0]<=t[0]&&e[1]<=t[1]&&e[2]>=t[0]&&e[3]>=t[1]}(o,u))return !1;"Polygon"===s&&(l=[l]);for(var c=!1,h=0;h{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(611);function i(t,e,n,r,i){var o=n[0],a=n[1],s=t[0],u=t[1],l=e[0],c=e[1],h=l-s,f=c-u,p=(n[0]-s)*f-(n[1]-u)*h;if(null!==i){if(Math.abs(p)>i)return !1}else if(0!==p)return !1;return r?"start"===r?Math.abs(h)>=Math.abs(f)?h>0?s0?u=Math.abs(f)?h>0?s<=o&&o0?u<=a&&a=Math.abs(f)?h>0?s0?u=Math.abs(f)?h>0?s<=o&&o<=l:l<=o&&o<=s:f>0?u<=a&&a<=c:c<=a&&a<=u}e.default=function(t,e,n){void 0===n&&(n={});for(var o=r.getCoord(t),a=r.getCoords(e),s=0;se[0]||t[2]e[1]||t[3]{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(1540);function i(t){var e=[1/0,1/0,-1/0,-1/0];return r.coordEach(t,(function(t){e[0]>t[0]&&(e[0]=t[0]),e[1]>t[1]&&(e[1]=t[1]),e[2]{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(611),i=n(4102);e.default=function(t,e,n){void 0===n&&(n={});var o=r.getCoord(t),a=r.getCoord(e),s=i.degreesToRadians(a[1]-o[1]),u=i.degreesToRadians(a[0]-o[0]),l=i.degreesToRadians(o[1]),c=i.degreesToRadians(a[1]),h=Math.pow(Math.sin(s/2),2)+Math.pow(Math.sin(u/2),2)*Math.cos(l)*Math.cos(c);return i.radiansToLength(2*Math.atan2(Math.sqrt(h),Math.sqrt(1-h)),n.units)};},4102:(t,e)=>{"use strict";function n(t,e,n){void 0===n&&(n={});var r={type:"Feature"};return (0===n.id||n.id)&&(r.id=n.id),n.bbox&&(r.bbox=n.bbox),r.properties=e||{},r.geometry=t,r}function r(t,e,r){if(void 0===r&&(r={}),!t)throw new Error("coordinates is required");if(!Array.isArray(t))throw new Error("coordinates must be an Array");if(t.length<2)throw new Error("coordinates must be at least 2 numbers long");if(!p(t[0])||!p(t[1]))throw new Error("coordinates must contain numbers");return n({type:"Point",coordinates:t},e,r)}function i(t,e,r){void 0===r&&(r={});for(var i=0,o=t;i=0))throw new Error("precision must be a positive number");var n=Math.pow(10,e||0);return Math.round(t*n)/n},e.radiansToLength=c,e.lengthToRadians=h,e.lengthToDegrees=function(t,e){return f(h(t,e))},e.bearingToAzimuth=function(t){var e=t%360;return e<0&&(e+=360),e},e.radiansToDegrees=f,e.degreesToRadians=function(t){return t%360*Math.PI/180},e.convertLength=function(t,e,n){if(void 0===e&&(e="kilometers"),void 0===n&&(n="kilometers"),!(t>=0))throw new Error("length must be a positive number");return c(h(t,e),n)},e.convertArea=function(t,n,r){if(void 0===n&&(n="meters"),void 0===r&&(r="kilometers"),!(t>=0))throw new Error("area must be a positive number");var i=e.areaFactors[n];if(!i)throw new Error("invalid original units");var o=e.areaFactors[r];if(!o)throw new Error("invalid final units");return t/i*o},e.isNumber=p,e.isObject=function(t){return !!t&&t.constructor===Object},e.validateBBox=function(t){if(!t)throw new Error("bbox is required");if(!Array.isArray(t))throw new Error("bbox must be an Array");if(4!==t.length&&6!==t.length)throw new Error("bbox must be an Array of 4 or 6 numbers");t.forEach((function(t){if(!p(t))throw new Error("bbox must only contain numbers")}));},e.validateId=function(t){if(!t)throw new Error("id is required");if(-1===["string","number"].indexOf(typeof t))throw new Error("id must be a number or a string")};},4170:function(t,e,n){"use strict";var r=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});var i=n(4102),o=n(611),a=r(n(2676));e.default=function(t,e,n){void 0===n&&(n={});var r=o.getGeom(t),s=o.getGeom(e),u=a.default.intersection(r.coordinates,s.coordinates);return 0===u.length?null:1===u.length?i.polygon(u[0],n.properties):i.multiPolygon(u,n.properties)};},611:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(4102);e.getCoord=function(t){if(!t)throw new Error("coord is required");if(!Array.isArray(t)){if("Feature"===t.type&&null!==t.geometry&&"Point"===t.geometry.type)return t.geometry.coordinates;if("Point"===t.type)return t.coordinates}if(Array.isArray(t)&&t.length>=2&&!Array.isArray(t[0])&&!Array.isArray(t[1]))return t;throw new Error("coord must be GeoJSON Point or an Array of numbers")},e.getCoords=function(t){if(Array.isArray(t))return t;if("Feature"===t.type){if(null!==t.geometry)return t.geometry.coordinates}else if(t.coordinates)return t.coordinates;throw new Error("coords must be GeoJSON Feature, Geometry Object or an Array")},e.containsNumber=function t(e){if(e.length>1&&r.isNumber(e[0])&&r.isNumber(e[1]))return !0;if(Array.isArray(e[0])&&e[0].length)return t(e[0]);throw new Error("coordinates must only contain numbers")},e.geojsonType=function(t,e,n){if(!e||!n)throw new Error("type and name required");if(!t||t.type!==e)throw new Error("Invalid input to "+n+": must be a "+e+", given "+t.type)},e.featureOf=function(t,e,n){if(!t)throw new Error("No feature passed");if(!n)throw new Error(".featureOf() requires a name");if(!t||"Feature"!==t.type||!t.geometry)throw new Error("Invalid input to "+n+", Feature with geometry required");if(!t.geometry||t.geometry.type!==e)throw new Error("Invalid input to "+n+": must be a "+e+", given "+t.geometry.type)},e.collectionOf=function(t,e,n){if(!t)throw new Error("No featureCollection passed");if(!n)throw new Error(".collectionOf() requires a name");if(!t||"FeatureCollection"!==t.type)throw new Error("Invalid input to "+n+", FeatureCollection required");for(var r=0,i=t.features;r line1 must only contain 2 coordinates");if(2!==r.length)throw new Error(" line2 must only contain 2 coordinates");var a=n[0][0],s=n[0][1],u=n[1][0],l=n[1][1],c=r[0][0],h=r[0][1],f=r[1][0],p=r[1][1],d=(p-h)*(u-a)-(f-c)*(l-s);if(0===d)return null;var y=((f-c)*(s-h)-(p-h)*(a-c))/d,m=((u-a)*(s-h)-(l-s)*(a-c))/d;if(y>=0&&y<=1&&m>=0&&m<=1){var g=a+y*(u-a),_=s+y*(l-s);return i.point([g,_])}return null}e.default=function(t,e){var n={},r=[];if("LineString"===t.type&&(t=i.feature(t)),"LineString"===e.type&&(e=i.feature(e)),"Feature"===t.type&&"Feature"===e.type&&null!==t.geometry&&null!==e.geometry&&"LineString"===t.geometry.type&&"LineString"===e.geometry.type&&2===t.geometry.coordinates.length&&2===e.geometry.coordinates.length){var c=l(t,e);return c&&r.push(c),i.featureCollection(r)}var h=u.default();return h.load(a.default(e)),s.featureEach(a.default(t),(function(t){s.featureEach(h.search(t),(function(e){var i=l(t,e);if(i){var a=o.getCoords(i).join(",");n[a]||(n[a]=!0,r.push(i));}}));})),i.featureCollection(r)};},4590:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(4102),i=n(611),o=n(1540);e.default=function(t){if(!t)throw new Error("geojson is required");var e=[];return o.flattenEach(t,(function(t){!function(t,e){var n=[],o=t.geometry;if(null!==o){switch(o.type){case "Polygon":n=i.getCoords(o);break;case "LineString":n=[i.getCoords(o)];}n.forEach((function(n){var i=function(t,e){var n=[];return t.reduce((function(t,i){var o,a,s,u,l,c,h=r.lineString([t,i],e);return h.bbox=(a=i,s=(o=t)[0],u=o[1],[s<(l=a[0])?s:l,u<(c=a[1])?u:c,s>l?s:l,u>c?u:c]),n.push(h),i})),n}(n,t.properties);i.forEach((function(t){t.id=e.length,e.push(t);}));}));}}(t,e);})),r.featureCollection(e)};},1540:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(4102);function i(t,e,n){if(null!==t)for(var r,o,a,s,u,l,c,h,f=0,p=0,d=t.type,y="FeatureCollection"===d,m="Feature"===d,g=y?t.features.length:1,_=0;_l||p>c||d>h)return u=i,l=n,c=p,h=d,void(a=0);var y=r.lineString([u,i],t.properties);if(!1===e(y,n,o,d,a))return !1;a++,u=i;}))&&void 0}}}));}function c(t,e){if(!t)throw new Error("geojson is required");u(t,(function(t,n,i){if(null!==t.geometry){var o=t.geometry.type,a=t.geometry.coordinates;switch(o){case "LineString":if(!1===e(t,n,i,0,0))return !1;break;case "Polygon":for(var s=0;s{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(4102),i=n(611);function o(t,e){return void 0===e&&(e={}),s(i.getGeom(t).coordinates,e.properties?e.properties:"Feature"===t.type?t.properties:{})}function a(t,e){void 0===e&&(e={});var n=i.getGeom(t).coordinates,o=e.properties?e.properties:"Feature"===t.type?t.properties:{},a=[];return n.forEach((function(t){a.push(s(t,o));})),r.featureCollection(a)}function s(t,e){return t.length>1?r.multiLineString(t,e):r.lineString(t[0],e)}e.default=function(t,e){void 0===e&&(e={});var n=i.getGeom(t);switch(e.properties||"Feature"!==t.type||(e.properties=t.properties),n.type){case "Polygon":return o(n,e);case "MultiPolygon":return a(n,e);default:throw new Error("invalid poly")}},e.polygonToLine=o,e.multiPolygonToLine=a,e.coordsToLine=s;},6213:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(4102),i=n(611);e.default=function(t,e,n){void 0===n&&(n={});var o=i.getCoord(t),a=i.getCoord(e);a[0]+=a[0]-o[0]>180?-360:o[0]-a[0]>180?360:0;var s=function(t,e,n){var i=n=void 0===n?r.earthRadius:Number(n),o=t[1]*Math.PI/180,a=e[1]*Math.PI/180,s=a-o,u=Math.abs(e[0]-t[0])*Math.PI/180;u>Math.PI&&(u-=2*Math.PI);var l=Math.log(Math.tan(a/2+Math.PI/4)/Math.tan(o/2+Math.PI/4)),c=Math.abs(l)>1e-11?s/l:Math.cos(o);return Math.sqrt(s*s+c*c*u*u)*i}(o,a);return r.convertLength(s,"meters",n.units)};},8583:(t,e,n)=>{"use strict";var r=n(7418);function i(t,e){if(t===e)return 0;for(var n=t.length,r=e.length,i=0,o=Math.min(n,r);i=0;l--)if(c[l]!==h[l])return !1;for(l=c.length-1;l>=0;l--)if(!b(t[s=c[l]],e[s],n,r))return !1;return !0}(t,e,n,r))}return n?t===e:t==e}function v(t){return "[object Arguments]"==Object.prototype.toString.call(t)}function T(t,e){if(!t||!e)return !1;if("[object RegExp]"==Object.prototype.toString.call(e))return e.test(t);try{if(t instanceof e)return !0}catch(t){}return !Error.isPrototypeOf(e)&&!0===e.call({},t)}function E(t,e,n,r){var i;if("function"!=typeof e)throw new TypeError('"block" argument must be a function');"string"==typeof n&&(r=n,n=null),i=function(t){var e;try{t();}catch(t){e=t;}return e}(e),r=(n&&n.name?" ("+n.name+").":".")+(r?" "+r:"."),t&&!i&&g(i,n,"Missing expected exception"+r);var o="string"==typeof r,s=!t&&i&&!n;if((!t&&a.isError(i)&&o&&T(i,n)||s)&&g(i,n,"Got unwanted exception"+r),t&&i&&n&&!T(i,n)||!t&&i)throw i}f.AssertionError=function(t){this.name="AssertionError",this.actual=t.actual,this.expected=t.expected,this.operator=t.operator,t.message?(this.message=t.message,this.generatedMessage=!1):(this.message=function(t){return y(m(t.actual),128)+" "+t.operator+" "+y(m(t.expected),128)}(this),this.generatedMessage=!0);var e=t.stackStartFunction||g;if(Error.captureStackTrace)Error.captureStackTrace(this,e);else {var n=new Error;if(n.stack){var r=n.stack,i=d(e),o=r.indexOf("\n"+i);if(o>=0){var a=r.indexOf("\n",o+1);r=r.substring(a+1);}this.stack=r;}}},a.inherits(f.AssertionError,Error),f.fail=g,f.ok=_,f.equal=function(t,e,n){t!=e&&g(t,e,n,"==",f.equal);},f.notEqual=function(t,e,n){t==e&&g(t,e,n,"!=",f.notEqual);},f.deepEqual=function(t,e,n){b(t,e,!1)||g(t,e,n,"deepEqual",f.deepEqual);},f.deepStrictEqual=function(t,e,n){b(t,e,!0)||g(t,e,n,"deepStrictEqual",f.deepStrictEqual);},f.notDeepEqual=function(t,e,n){b(t,e,!1)&&g(t,e,n,"notDeepEqual",f.notDeepEqual);},f.notDeepStrictEqual=function t(e,n,r){b(e,n,!0)&&g(e,n,r,"notDeepStrictEqual",t);},f.strictEqual=function(t,e,n){t!==e&&g(t,e,n,"===",f.strictEqual);},f.notStrictEqual=function(t,e,n){t===e&&g(t,e,n,"!==",f.notStrictEqual);},f.throws=function(t,e,n){E(!0,t,e,n);},f.doesNotThrow=function(t,e,n){E(!1,t,e,n);},f.ifError=function(t){if(t)throw t},f.strict=r((function t(e,n){e||g(e,!0,n,"==",t);}),f,{equal:f.strictEqual,deepEqual:f.deepStrictEqual,notEqual:f.notStrictEqual,notDeepEqual:f.notDeepStrictEqual}),f.strict.strict=f.strict;var w=Object.keys||function(t){var e=[];for(var n in t)s.call(t,n)&&e.push(n);return e};},6076:t=>{"function"==typeof Object.create?t.exports=function(t,e){t.super_=e,t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}});}:t.exports=function(t,e){t.super_=e;var n=function(){};n.prototype=e.prototype,t.prototype=new n,t.prototype.constructor=t;};},2014:t=>{t.exports=function(t){return t&&"object"==typeof t&&"function"==typeof t.copy&&"function"==typeof t.fill&&"function"==typeof t.readUInt8};},69:(t,e,n)=>{var r=n(4155),i=n(5108),o=/%[sdj%]/g;e.format=function(t){if(!_(t)){for(var e=[],n=0;n=i)return t;switch(t){case "%s":return String(r[n++]);case "%d":return Number(r[n++]);case "%j":try{return JSON.stringify(r[n++])}catch(t){return "[Circular]"}default:return t}})),s=r[n];n=3&&(r.depth=arguments[2]),arguments.length>=4&&(r.colors=arguments[3]),y(n)?r.showHidden=n:n&&e._extend(r,n),b(r.showHidden)&&(r.showHidden=!1),b(r.depth)&&(r.depth=2),b(r.colors)&&(r.colors=!1),b(r.customInspect)&&(r.customInspect=!0),r.colors&&(r.stylize=l),h(r,t,r.depth)}function l(t,e){var n=u.styles[e];return n?"["+u.colors[n][0]+"m"+t+"["+u.colors[n][1]+"m":t}function c(t,e){return t}function h(t,n,r){if(t.customInspect&&n&&x(n.inspect)&&n.inspect!==e.inspect&&(!n.constructor||n.constructor.prototype!==n)){var i=n.inspect(r,t);return _(i)||(i=h(t,i,r)),i}var o=function(t,e){if(b(e))return t.stylize("undefined","undefined");if(_(e)){var n="'"+JSON.stringify(e).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return t.stylize(n,"string")}return g(e)?t.stylize(""+e,"number"):y(e)?t.stylize(""+e,"boolean"):m(e)?t.stylize("null","null"):void 0}(t,n);if(o)return o;var a=Object.keys(n),s=function(t){var e={};return t.forEach((function(t,n){e[t]=!0;})),e}(a);if(t.showHidden&&(a=Object.getOwnPropertyNames(n)),w(n)&&(a.indexOf("message")>=0||a.indexOf("description")>=0))return f(n);if(0===a.length){if(x(n)){var u=n.name?": "+n.name:"";return t.stylize("[Function"+u+"]","special")}if(v(n))return t.stylize(RegExp.prototype.toString.call(n),"regexp");if(E(n))return t.stylize(Date.prototype.toString.call(n),"date");if(w(n))return f(n)}var l,c="",T=!1,C=["{","}"];return d(n)&&(T=!0,C=["[","]"]),x(n)&&(c=" [Function"+(n.name?": "+n.name:"")+"]"),v(n)&&(c=" "+RegExp.prototype.toString.call(n)),E(n)&&(c=" "+Date.prototype.toUTCString.call(n)),w(n)&&(c=" "+f(n)),0!==a.length||T&&0!=n.length?r<0?v(n)?t.stylize(RegExp.prototype.toString.call(n),"regexp"):t.stylize("[Object]","special"):(t.seen.push(n),l=T?function(t,e,n,r,i){for(var o=[],a=0,s=e.length;a60?n[0]+(""===e?"":e+"\n ")+" "+t.join(",\n ")+" "+n[1]:n[0]+e+" "+t.join(", ")+" "+n[1]}(l,c,C)):C[0]+c+C[1]}function f(t){return "["+Error.prototype.toString.call(t)+"]"}function p(t,e,n,r,i,o){var a,s,u;if((u=Object.getOwnPropertyDescriptor(e,i)||{value:e[i]}).get?s=u.set?t.stylize("[Getter/Setter]","special"):t.stylize("[Getter]","special"):u.set&&(s=t.stylize("[Setter]","special")),N(r,i)||(a="["+i+"]"),s||(t.seen.indexOf(u.value)<0?(s=m(n)?h(t,u.value,null):h(t,u.value,n-1)).indexOf("\n")>-1&&(s=o?s.split("\n").map((function(t){return " "+t})).join("\n").substr(2):"\n"+s.split("\n").map((function(t){return " "+t})).join("\n")):s=t.stylize("[Circular]","special")),b(a)){if(o&&i.match(/^\d+$/))return s;(a=JSON.stringify(""+i)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(a=a.substr(1,a.length-2),a=t.stylize(a,"name")):(a=a.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),a=t.stylize(a,"string"));}return a+": "+s}function d(t){return Array.isArray(t)}function y(t){return "boolean"==typeof t}function m(t){return null===t}function g(t){return "number"==typeof t}function _(t){return "string"==typeof t}function b(t){return void 0===t}function v(t){return T(t)&&"[object RegExp]"===C(t)}function T(t){return "object"==typeof t&&null!==t}function E(t){return T(t)&&"[object Date]"===C(t)}function w(t){return T(t)&&("[object Error]"===C(t)||t instanceof Error)}function x(t){return "function"==typeof t}function C(t){return Object.prototype.toString.call(t)}function M(t){return t<10?"0"+t.toString(10):t.toString(10)}e.debuglog=function(t){if(b(a)&&(a=r.env.NODE_DEBUG||""),t=t.toUpperCase(),!s[t])if(new RegExp("\\b"+t+"\\b","i").test(a)){var n=r.pid;s[t]=function(){var r=e.format.apply(e,arguments);i.error("%s %d: %s",t,n,r);};}else s[t]=function(){};return s[t]},e.inspect=u,u.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},u.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},e.isArray=d,e.isBoolean=y,e.isNull=m,e.isNullOrUndefined=function(t){return null==t},e.isNumber=g,e.isString=_,e.isSymbol=function(t){return "symbol"==typeof t},e.isUndefined=b,e.isRegExp=v,e.isObject=T,e.isDate=E,e.isError=w,e.isFunction=x,e.isPrimitive=function(t){return null===t||"boolean"==typeof t||"number"==typeof t||"string"==typeof t||"symbol"==typeof t||void 0===t},e.isBuffer=n(2014);var S=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function N(t,e){return Object.prototype.hasOwnProperty.call(t,e)}e.log=function(){var t,n;i.log("%s - %s",(n=[M((t=new Date).getHours()),M(t.getMinutes()),M(t.getSeconds())].join(":"),[t.getDate(),S[t.getMonth()],n].join(" ")),e.format.apply(e,arguments));},e.inherits=n(6076),e._extend=function(t,e){if(!e||!T(e))return t;for(var n=Object.keys(e),r=n.length;r--;)t[n[r]]=e[n[r]];return t};},9742:(t,e)=>{"use strict";e.byteLength=function(t){var e=u(t),n=e[0],r=e[1];return 3*(n+r)/4-r},e.toByteArray=function(t){var e,n,o=u(t),a=o[0],s=o[1],l=new i(function(t,e,n){return 3*(e+n)/4-n}(0,a,s)),c=0,h=s>0?a-4:a;for(n=0;n>16&255,l[c++]=e>>8&255,l[c++]=255&e;return 2===s&&(e=r[t.charCodeAt(n)]<<2|r[t.charCodeAt(n+1)]>>4,l[c++]=255&e),1===s&&(e=r[t.charCodeAt(n)]<<10|r[t.charCodeAt(n+1)]<<4|r[t.charCodeAt(n+2)]>>2,l[c++]=e>>8&255,l[c++]=255&e),l},e.fromByteArray=function(t){for(var e,r=t.length,i=r%3,o=[],a=16383,s=0,u=r-i;su?u:s+a));return 1===i?(e=t[r-1],o.push(n[e>>2]+n[e<<4&63]+"==")):2===i&&(e=(t[r-2]<<8)+t[r-1],o.push(n[e>>10]+n[e>>4&63]+n[e<<2&63]+"=")),o.join("")};for(var n=[],r=[],i="undefined"!=typeof Uint8Array?Uint8Array:Array,o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",a=0,s=o.length;a0)throw new Error("Invalid string. Length must be a multiple of 4");var n=t.indexOf("=");return -1===n&&(n=e),[n,n===e?0:4-n%4]}function l(t,e,r){for(var i,o,a=[],s=e;s>18&63]+n[o>>12&63]+n[o>>6&63]+n[63&o]);return a.join("")}r["-".charCodeAt(0)]=62,r["_".charCodeAt(0)]=63;},8764:(t,e,n)=>{"use strict";var r=n(5108),i=n(9742),o=n(645),a="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;e.Buffer=l,e.SlowBuffer=function(t){return +t!=t&&(t=0),l.alloc(+t)},e.INSPECT_MAX_BYTES=50;var s=2147483647;function u(t){if(t>s)throw new RangeError('The value "'+t+'" is invalid for option "size"');var e=new Uint8Array(t);return Object.setPrototypeOf(e,l.prototype),e}function l(t,e,n){if("number"==typeof t){if("string"==typeof e)throw new TypeError('The "string" argument must be of type string. Received type number');return f(t)}return c(t,e,n)}function c(t,e,n){if("string"==typeof t)return function(t,e){if("string"==typeof e&&""!==e||(e="utf8"),!l.isEncoding(e))throw new TypeError("Unknown encoding: "+e);var n=0|m(t,e),r=u(n),i=r.write(t,e);return i!==n&&(r=r.slice(0,i)),r}(t,e);if(ArrayBuffer.isView(t))return function(t){if(W(t,Uint8Array)){var e=new Uint8Array(t);return d(e.buffer,e.byteOffset,e.byteLength)}return p(t)}(t);if(null==t)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t);if(W(t,ArrayBuffer)||t&&W(t.buffer,ArrayBuffer))return d(t,e,n);if("undefined"!=typeof SharedArrayBuffer&&(W(t,SharedArrayBuffer)||t&&W(t.buffer,SharedArrayBuffer)))return d(t,e,n);if("number"==typeof t)throw new TypeError('The "value" argument must not be of type number. Received type number');var r=t.valueOf&&t.valueOf();if(null!=r&&r!==t)return l.from(r,e,n);var i=function(t){if(l.isBuffer(t)){var e=0|y(t.length),n=u(e);return 0===n.length||t.copy(n,0,0,e),n}return void 0!==t.length?"number"!=typeof t.length||q(t.length)?u(0):p(t):"Buffer"===t.type&&Array.isArray(t.data)?p(t.data):void 0}(t);if(i)return i;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof t[Symbol.toPrimitive])return l.from(t[Symbol.toPrimitive]("string"),e,n);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t)}function h(t){if("number"!=typeof t)throw new TypeError('"size" argument must be of type number');if(t<0)throw new RangeError('The value "'+t+'" is invalid for option "size"')}function f(t){return h(t),u(t<0?0:0|y(t))}function p(t){for(var e=t.length<0?0:0|y(t.length),n=u(e),r=0;r=s)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+s.toString(16)+" bytes");return 0|t}function m(t,e){if(l.isBuffer(t))return t.length;if(ArrayBuffer.isView(t)||W(t,ArrayBuffer))return t.byteLength;if("string"!=typeof t)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof t);var n=t.length,r=arguments.length>2&&!0===arguments[2];if(!r&&0===n)return 0;for(var i=!1;;)switch(e){case "ascii":case "latin1":case "binary":return n;case "utf8":case "utf-8":return B(t).length;case "ucs2":case "ucs-2":case "utf16le":case "utf-16le":return 2*n;case "hex":return n>>>1;case "base64":return j(t).length;default:if(i)return r?-1:B(t).length;e=(""+e).toLowerCase(),i=!0;}}function g(t,e,n){var r=!1;if((void 0===e||e<0)&&(e=0),e>this.length)return "";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return "";if((n>>>=0)<=(e>>>=0))return "";for(t||(t="utf8");;)switch(t){case "hex":return I(this,e,n);case "utf8":case "utf-8":return S(this,e,n);case "ascii":return O(this,e,n);case "latin1":case "binary":return A(this,e,n);case "base64":return M(this,e,n);case "ucs2":case "ucs-2":case "utf16le":case "utf-16le":return P(this,e,n);default:if(r)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),r=!0;}}function _(t,e,n){var r=t[e];t[e]=t[n],t[n]=r;}function b(t,e,n,r,i){if(0===t.length)return -1;if("string"==typeof n?(r=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),q(n=+n)&&(n=i?0:t.length-1),n<0&&(n=t.length+n),n>=t.length){if(i)return -1;n=t.length-1;}else if(n<0){if(!i)return -1;n=0;}if("string"==typeof e&&(e=l.from(e,r)),l.isBuffer(e))return 0===e.length?-1:v(t,e,n,r,i);if("number"==typeof e)return e&=255,"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(t,e,n):Uint8Array.prototype.lastIndexOf.call(t,e,n):v(t,[e],n,r,i);throw new TypeError("val must be string, number or Buffer")}function v(t,e,n,r,i){var o,a=1,s=t.length,u=e.length;if(void 0!==r&&("ucs2"===(r=String(r).toLowerCase())||"ucs-2"===r||"utf16le"===r||"utf-16le"===r)){if(t.length<2||e.length<2)return -1;a=2,s/=2,u/=2,n/=2;}function l(t,e){return 1===a?t[e]:t.readUInt16BE(e*a)}if(i){var c=-1;for(o=n;os&&(n=s-u),o=n;o>=0;o--){for(var h=!0,f=0;fi&&(r=i):r=i;var o=e.length;r>o/2&&(r=o/2);for(var a=0;a>8,i=n%256,o.push(i),o.push(r);return o}(e,t.length-n),t,n,r)}function M(t,e,n){return 0===e&&n===t.length?i.fromByteArray(t):i.fromByteArray(t.slice(e,n))}function S(t,e,n){n=Math.min(t.length,n);for(var r=[],i=e;i239?4:l>223?3:l>191?2:1;if(i+h<=n)switch(h){case 1:l<128&&(c=l);break;case 2:128==(192&(o=t[i+1]))&&(u=(31&l)<<6|63&o)>127&&(c=u);break;case 3:o=t[i+1],a=t[i+2],128==(192&o)&&128==(192&a)&&(u=(15&l)<<12|(63&o)<<6|63&a)>2047&&(u<55296||u>57343)&&(c=u);break;case 4:o=t[i+1],a=t[i+2],s=t[i+3],128==(192&o)&&128==(192&a)&&128==(192&s)&&(u=(15&l)<<18|(63&o)<<12|(63&a)<<6|63&s)>65535&&u<1114112&&(c=u);}null===c?(c=65533,h=1):c>65535&&(c-=65536,r.push(c>>>10&1023|55296),c=56320|1023&c),r.push(c),i+=h;}return function(t){var e=t.length;if(e<=N)return String.fromCharCode.apply(String,t);for(var n="",r=0;rr.length?l.from(o).copy(r,i):Uint8Array.prototype.set.call(r,o,i);else {if(!l.isBuffer(o))throw new TypeError('"list" argument must be an Array of Buffers');o.copy(r,i);}i+=o.length;}return r},l.byteLength=m,l.prototype._isBuffer=!0,l.prototype.swap16=function(){var t=this.length;if(t%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var e=0;en&&(t+=" ... "),""},a&&(l.prototype[a]=l.prototype.inspect),l.prototype.compare=function(t,e,n,r,i){if(W(t,Uint8Array)&&(t=l.from(t,t.offset,t.byteLength)),!l.isBuffer(t))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof t);if(void 0===e&&(e=0),void 0===n&&(n=t?t.length:0),void 0===r&&(r=0),void 0===i&&(i=this.length),e<0||n>t.length||r<0||i>this.length)throw new RangeError("out of range index");if(r>=i&&e>=n)return 0;if(r>=i)return -1;if(e>=n)return 1;if(this===t)return 0;for(var o=(i>>>=0)-(r>>>=0),a=(n>>>=0)-(e>>>=0),s=Math.min(o,a),u=this.slice(r,i),c=t.slice(e,n),h=0;h>>=0,isFinite(n)?(n>>>=0,void 0===r&&(r="utf8")):(r=n,n=void 0);}var i=this.length-e;if((void 0===n||n>i)&&(n=i),t.length>0&&(n<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");r||(r="utf8");for(var o=!1;;)switch(r){case "hex":return T(this,t,e,n);case "utf8":case "utf-8":return E(this,t,e,n);case "ascii":case "latin1":case "binary":return w(this,t,e,n);case "base64":return x(this,t,e,n);case "ucs2":case "ucs-2":case "utf16le":case "utf-16le":return C(this,t,e,n);default:if(o)throw new TypeError("Unknown encoding: "+r);r=(""+r).toLowerCase(),o=!0;}},l.prototype.toJSON=function(){return {type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var N=4096;function O(t,e,n){var r="";n=Math.min(t.length,n);for(var i=e;ir)&&(n=r);for(var i="",o=e;on)throw new RangeError("Trying to access beyond buffer length")}function L(t,e,n,r,i,o){if(!l.isBuffer(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>i||et.length)throw new RangeError("Index out of range")}function D(t,e,n,r,i,o){if(n+r>t.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("Index out of range")}function k(t,e,n,r,i){return e=+e,n>>>=0,i||D(t,0,n,4),o.write(t,e,n,r,23,4),n+4}function F(t,e,n,r,i){return e=+e,n>>>=0,i||D(t,0,n,8),o.write(t,e,n,r,52,8),n+8}l.prototype.slice=function(t,e){var n=this.length;(t=~~t)<0?(t+=n)<0&&(t=0):t>n&&(t=n),(e=void 0===e?n:~~e)<0?(e+=n)<0&&(e=0):e>n&&(e=n),e>>=0,e>>>=0,n||R(t,e,this.length);for(var r=this[t],i=1,o=0;++o>>=0,e>>>=0,n||R(t,e,this.length);for(var r=this[t+--e],i=1;e>0&&(i*=256);)r+=this[t+--e]*i;return r},l.prototype.readUint8=l.prototype.readUInt8=function(t,e){return t>>>=0,e||R(t,1,this.length),this[t]},l.prototype.readUint16LE=l.prototype.readUInt16LE=function(t,e){return t>>>=0,e||R(t,2,this.length),this[t]|this[t+1]<<8},l.prototype.readUint16BE=l.prototype.readUInt16BE=function(t,e){return t>>>=0,e||R(t,2,this.length),this[t]<<8|this[t+1]},l.prototype.readUint32LE=l.prototype.readUInt32LE=function(t,e){return t>>>=0,e||R(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},l.prototype.readUint32BE=l.prototype.readUInt32BE=function(t,e){return t>>>=0,e||R(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},l.prototype.readIntLE=function(t,e,n){t>>>=0,e>>>=0,n||R(t,e,this.length);for(var r=this[t],i=1,o=0;++o=(i*=128)&&(r-=Math.pow(2,8*e)),r},l.prototype.readIntBE=function(t,e,n){t>>>=0,e>>>=0,n||R(t,e,this.length);for(var r=e,i=1,o=this[t+--r];r>0&&(i*=256);)o+=this[t+--r]*i;return o>=(i*=128)&&(o-=Math.pow(2,8*e)),o},l.prototype.readInt8=function(t,e){return t>>>=0,e||R(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},l.prototype.readInt16LE=function(t,e){t>>>=0,e||R(t,2,this.length);var n=this[t]|this[t+1]<<8;return 32768&n?4294901760|n:n},l.prototype.readInt16BE=function(t,e){t>>>=0,e||R(t,2,this.length);var n=this[t+1]|this[t]<<8;return 32768&n?4294901760|n:n},l.prototype.readInt32LE=function(t,e){return t>>>=0,e||R(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},l.prototype.readInt32BE=function(t,e){return t>>>=0,e||R(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},l.prototype.readFloatLE=function(t,e){return t>>>=0,e||R(t,4,this.length),o.read(this,t,!0,23,4)},l.prototype.readFloatBE=function(t,e){return t>>>=0,e||R(t,4,this.length),o.read(this,t,!1,23,4)},l.prototype.readDoubleLE=function(t,e){return t>>>=0,e||R(t,8,this.length),o.read(this,t,!0,52,8)},l.prototype.readDoubleBE=function(t,e){return t>>>=0,e||R(t,8,this.length),o.read(this,t,!1,52,8)},l.prototype.writeUintLE=l.prototype.writeUIntLE=function(t,e,n,r){t=+t,e>>>=0,n>>>=0,r||L(this,t,e,n,Math.pow(2,8*n)-1,0);var i=1,o=0;for(this[e]=255&t;++o>>=0,n>>>=0,r||L(this,t,e,n,Math.pow(2,8*n)-1,0);var i=n-1,o=1;for(this[e+i]=255&t;--i>=0&&(o*=256);)this[e+i]=t/o&255;return e+n},l.prototype.writeUint8=l.prototype.writeUInt8=function(t,e,n){return t=+t,e>>>=0,n||L(this,t,e,1,255,0),this[e]=255&t,e+1},l.prototype.writeUint16LE=l.prototype.writeUInt16LE=function(t,e,n){return t=+t,e>>>=0,n||L(this,t,e,2,65535,0),this[e]=255&t,this[e+1]=t>>>8,e+2},l.prototype.writeUint16BE=l.prototype.writeUInt16BE=function(t,e,n){return t=+t,e>>>=0,n||L(this,t,e,2,65535,0),this[e]=t>>>8,this[e+1]=255&t,e+2},l.prototype.writeUint32LE=l.prototype.writeUInt32LE=function(t,e,n){return t=+t,e>>>=0,n||L(this,t,e,4,4294967295,0),this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t,e+4},l.prototype.writeUint32BE=l.prototype.writeUInt32BE=function(t,e,n){return t=+t,e>>>=0,n||L(this,t,e,4,4294967295,0),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},l.prototype.writeIntLE=function(t,e,n,r){if(t=+t,e>>>=0,!r){var i=Math.pow(2,8*n-1);L(this,t,e,n,i-1,-i);}var o=0,a=1,s=0;for(this[e]=255&t;++o>0)-s&255;return e+n},l.prototype.writeIntBE=function(t,e,n,r){if(t=+t,e>>>=0,!r){var i=Math.pow(2,8*n-1);L(this,t,e,n,i-1,-i);}var o=n-1,a=1,s=0;for(this[e+o]=255&t;--o>=0&&(a*=256);)t<0&&0===s&&0!==this[e+o+1]&&(s=1),this[e+o]=(t/a>>0)-s&255;return e+n},l.prototype.writeInt8=function(t,e,n){return t=+t,e>>>=0,n||L(this,t,e,1,127,-128),t<0&&(t=255+t+1),this[e]=255&t,e+1},l.prototype.writeInt16LE=function(t,e,n){return t=+t,e>>>=0,n||L(this,t,e,2,32767,-32768),this[e]=255&t,this[e+1]=t>>>8,e+2},l.prototype.writeInt16BE=function(t,e,n){return t=+t,e>>>=0,n||L(this,t,e,2,32767,-32768),this[e]=t>>>8,this[e+1]=255&t,e+2},l.prototype.writeInt32LE=function(t,e,n){return t=+t,e>>>=0,n||L(this,t,e,4,2147483647,-2147483648),this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24,e+4},l.prototype.writeInt32BE=function(t,e,n){return t=+t,e>>>=0,n||L(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},l.prototype.writeFloatLE=function(t,e,n){return k(this,t,e,!0,n)},l.prototype.writeFloatBE=function(t,e,n){return k(this,t,e,!1,n)},l.prototype.writeDoubleLE=function(t,e,n){return F(this,t,e,!0,n)},l.prototype.writeDoubleBE=function(t,e,n){return F(this,t,e,!1,n)},l.prototype.copy=function(t,e,n,r){if(!l.isBuffer(t))throw new TypeError("argument should be a Buffer");if(n||(n=0),r||0===r||(r=this.length),e>=t.length&&(e=t.length),e||(e=0),r>0&&r=this.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("sourceEnd out of bounds");r>this.length&&(r=this.length),t.length-e>>=0,n=void 0===n?this.length:n>>>0,t||(t=0),"number"==typeof t)for(o=e;o55295&&n<57344){if(!i){if(n>56319){(e-=3)>-1&&o.push(239,191,189);continue}if(a+1===r){(e-=3)>-1&&o.push(239,191,189);continue}i=n;continue}if(n<56320){(e-=3)>-1&&o.push(239,191,189),i=n;continue}n=65536+(i-55296<<10|n-56320);}else i&&(e-=3)>-1&&o.push(239,191,189);if(i=null,n<128){if((e-=1)<0)break;o.push(n);}else if(n<2048){if((e-=2)<0)break;o.push(n>>6|192,63&n|128);}else if(n<65536){if((e-=3)<0)break;o.push(n>>12|224,n>>6&63|128,63&n|128);}else {if(!(n<1114112))throw new Error("Invalid code point");if((e-=4)<0)break;o.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128);}}return o}function j(t){return i.toByteArray(function(t){if((t=(t=t.split("=")[0]).trim().replace(U,"")).length<2)return "";for(;t.length%4!=0;)t+="=";return t}(t))}function G(t,e,n,r){for(var i=0;i=e.length||i>=t.length);++i)e[i+n]=t[i];return i}function W(t,e){return t instanceof e||null!=t&&null!=t.constructor&&null!=t.constructor.name&&t.constructor.name===e.name}function q(t){return t!=t}var H=function(){for(var t="0123456789abcdef",e=new Array(256),n=0;n<16;++n)for(var r=16*n,i=0;i<16;++i)e[r+i]=t[n]+t[i];return e}();},584:t=>{t.exports={100:"Continue",101:"Switching Protocols",102:"Processing",200:"OK",201:"Created",202:"Accepted",203:"Non-Authoritative Information",204:"No Content",205:"Reset Content",206:"Partial Content",207:"Multi-Status",208:"Already Reported",226:"IM Used",300:"Multiple Choices",301:"Moved Permanently",302:"Found",303:"See Other",304:"Not Modified",305:"Use Proxy",307:"Temporary Redirect",308:"Permanent Redirect",400:"Bad Request",401:"Unauthorized",402:"Payment Required",403:"Forbidden",404:"Not Found",405:"Method Not Allowed",406:"Not Acceptable",407:"Proxy Authentication Required",408:"Request Timeout",409:"Conflict",410:"Gone",411:"Length Required",412:"Precondition Failed",413:"Payload Too Large",414:"URI Too Long",415:"Unsupported Media Type",416:"Range Not Satisfiable",417:"Expectation Failed",418:"I'm a teapot",421:"Misdirected Request",422:"Unprocessable Entity",423:"Locked",424:"Failed Dependency",425:"Unordered Collection",426:"Upgrade Required",428:"Precondition Required",429:"Too Many Requests",431:"Request Header Fields Too Large",451:"Unavailable For Legal Reasons",500:"Internal Server Error",501:"Not Implemented",502:"Bad Gateway",503:"Service Unavailable",504:"Gateway Timeout",505:"HTTP Version Not Supported",506:"Variant Also Negotiates",507:"Insufficient Storage",508:"Loop Detected",509:"Bandwidth Limit Exceeded",510:"Not Extended",511:"Network Authentication Required"};},5108:(t,e,n)=>{var r=n(9539),i=n(8583);function o(){return (new Date).getTime()}var a,s=Array.prototype.slice,u={};a=void 0!==n.g&&n.g.console?n.g.console:"undefined"!=typeof window&&window.console?window.console:{};for(var l=[[function(){},"log"],[function(){a.log.apply(a,arguments);},"info"],[function(){a.log.apply(a,arguments);},"warn"],[function(){a.warn.apply(a,arguments);},"error"],[function(t){u[t]=o();},"time"],[function(t){var e=u[t];if(!e)throw new Error("No such label: "+t);delete u[t];var n=o()-e;a.log(t+": "+n+"ms");},"timeEnd"],[function(){var t=new Error;t.name="Trace",t.message=r.format.apply(null,arguments),a.error(t.stack);},"trace"],[function(t){a.log(r.inspect(t)+"\n");},"dir"],[function(t){if(!t){var e=s.call(arguments,1);i.ok(!1,r.format.apply(null,e));}},"assert"]],c=0;c{var r=n(5108),i=Object.create||function(t){var e=function(){};return e.prototype=t,new e},o=Object.keys||function(t){var e=[];for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&e.push(n);return n},a=Function.prototype.bind||function(t){var e=this;return function(){return e.apply(t,arguments)}};function s(){this._events&&Object.prototype.hasOwnProperty.call(this,"_events")||(this._events=i(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0;}t.exports=s,s.EventEmitter=s,s.prototype._events=void 0,s.prototype._maxListeners=void 0;var u,l=10;try{var c={};Object.defineProperty&&Object.defineProperty(c,"x",{value:0}),u=0===c.x;}catch(t){u=!1;}function h(t){return void 0===t._maxListeners?s.defaultMaxListeners:t._maxListeners}function f(t,e,n,o){var a,s,u;if("function"!=typeof n)throw new TypeError('"listener" argument must be a function');if((s=t._events)?(s.newListener&&(t.emit("newListener",e,n.listener?n.listener:n),s=t._events),u=s[e]):(s=t._events=i(null),t._eventsCount=0),u){if("function"==typeof u?u=s[e]=o?[n,u]:[u,n]:o?u.unshift(n):u.push(n),!u.warned&&(a=h(t))&&a>0&&u.length>a){u.warned=!0;var l=new Error("Possible EventEmitter memory leak detected. "+u.length+' "'+String(e)+'" listeners added. Use emitter.setMaxListeners() to increase limit.');l.name="MaxListenersExceededWarning",l.emitter=t,l.type=e,l.count=u.length,"object"==typeof r&&r.warn&&r.warn("%s: %s",l.name,l.message);}}else u=s[e]=n,++t._eventsCount;return t}function p(){if(!this.fired)switch(this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length){case 0:return this.listener.call(this.target);case 1:return this.listener.call(this.target,arguments[0]);case 2:return this.listener.call(this.target,arguments[0],arguments[1]);case 3:return this.listener.call(this.target,arguments[0],arguments[1],arguments[2]);default:for(var t=new Array(arguments.length),e=0;e1&&(e=arguments[1]),e instanceof Error)throw e;var u=new Error('Unhandled "error" event. ('+e+")");throw u.context=e,u}if(!(n=a[t]))return !1;var l="function"==typeof n;switch(r=arguments.length){case 1:!function(t,e,n){if(e)t.call(n);else for(var r=t.length,i=g(t,r),o=0;o=0;a--)if(n[a]===e||n[a].listener===e){s=n[a].listener,o=a;break}if(o<0)return this;0===o?n.shift():function(t,e){for(var n=e,r=n+1,i=t.length;r=0;r--)this.removeListener(t,e[r]);return this},s.prototype.listeners=function(t){return y(this,t,!0)},s.prototype.rawListeners=function(t){return y(this,t,!1)},s.listenerCount=function(t,e){return "function"==typeof t.listenerCount?t.listenerCount(e):m.call(t,e)},s.prototype.listenerCount=m,s.prototype.eventNames=function(){return this._eventsCount>0?Reflect.ownKeys(this._events):[]};},1:(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";var Buffer=__webpack_require__(3085).lW;const Token=__webpack_require__(3416),strtok3=__webpack_require__(5849),{stringToBytes,tarHeaderChecksumMatches,uint32SyncSafeToken}=__webpack_require__(6188),supported=__webpack_require__(9898),minimumBytes=4100;async function fromStream(t){const e=await strtok3.fromStream(t);try{return await fromTokenizer(e)}finally{await e.close();}}async function fromBuffer(t){if(!(t instanceof Uint8Array||t instanceof ArrayBuffer||Buffer.isBuffer(t)))throw new TypeError(`Expected the \`input\` argument to be of type \`Uint8Array\` or \`Buffer\` or \`ArrayBuffer\`, got \`${typeof t}\``);const e=t instanceof Buffer?t:Buffer.from(t);if(e&&e.length>1)return fromTokenizer(strtok3.fromBuffer(e))}function _check(t,e,n){n={offset:0,...n};for(const[r,i]of e.entries())if(n.mask){if(i!==(n.mask[r]&t[r+n.offset]))return !1}else if(i!==t[r+n.offset])return !1;return !0}async function fromTokenizer(t){try{return _fromTokenizer(t)}catch(t){if(!(t instanceof strtok3.EndOfStreamError))throw t}}async function _fromTokenizer(t){let e=Buffer.alloc(minimumBytes);const n=(t,n)=>_check(e,t,n),r=(t,e)=>n(stringToBytes(t),e);if(t.fileInfo.size||(t.fileInfo.size=Number.MAX_SAFE_INTEGER),await t.peekBuffer(e,{length:12,mayBeLess:!0}),n([66,77]))return {ext:"bmp",mime:"image/bmp"};if(n([11,119]))return {ext:"ac3",mime:"audio/vnd.dolby.dd-raw"};if(n([120,1]))return {ext:"dmg",mime:"application/x-apple-diskimage"};if(n([77,90]))return {ext:"exe",mime:"application/x-msdownload"};if(n([37,33]))return await t.peekBuffer(e,{length:24,mayBeLess:!0}),r("PS-Adobe-",{offset:2})&&r(" EPSF-",{offset:14})?{ext:"eps",mime:"application/eps"}:{ext:"ps",mime:"application/postscript"};if(n([31,160])||n([31,157]))return {ext:"Z",mime:"application/x-compress"};if(n([255,216,255]))return {ext:"jpg",mime:"image/jpeg"};if(n([73,73,188]))return {ext:"jxr",mime:"image/vnd.ms-photo"};if(n([31,139,8]))return {ext:"gz",mime:"application/gzip"};if(n([66,90,104]))return {ext:"bz2",mime:"application/x-bzip2"};if(r("ID3")){await t.ignore(6);const i=await t.readToken(uint32SyncSafeToken);return t.position+i>t.fileInfo.size?{ext:"mp3",mime:"audio/mpeg"}:(await t.ignore(i),fromTokenizer(t))}if(r("MP+"))return {ext:"mpc",mime:"audio/x-musepack"};if((67===e[0]||70===e[0])&&n([87,83],{offset:1}))return {ext:"swf",mime:"application/x-shockwave-flash"};if(n([71,73,70]))return {ext:"gif",mime:"image/gif"};if(r("FLIF"))return {ext:"flif",mime:"image/flif"};if(r("8BPS"))return {ext:"psd",mime:"image/vnd.adobe.photoshop"};if(r("WEBP",{offset:8}))return {ext:"webp",mime:"image/webp"};if(r("MPCK"))return {ext:"mpc",mime:"audio/x-musepack"};if(r("FORM"))return {ext:"aif",mime:"audio/aiff"};if(r("icns",{offset:0}))return {ext:"icns",mime:"image/icns"};if(n([80,75,3,4])){try{for(;t.position+30=0?a:e.length);}else await t.ignore(o.compressedSize);}}catch(s){if(!(s instanceof strtok3.EndOfStreamError))throw s}return {ext:"zip",mime:"application/zip"}}if(r("OggS")){await t.ignore(28);const u=Buffer.alloc(8);return await t.readBuffer(u),_check(u,[79,112,117,115,72,101,97,100])?{ext:"opus",mime:"audio/opus"}:_check(u,[128,116,104,101,111,114,97])?{ext:"ogv",mime:"video/ogg"}:_check(u,[1,118,105,100,101,111,0])?{ext:"ogm",mime:"video/ogg"}:_check(u,[127,70,76,65,67])?{ext:"oga",mime:"audio/ogg"}:_check(u,[83,112,101,101,120,32,32])?{ext:"spx",mime:"audio/ogg"}:_check(u,[1,118,111,114,98,105,115])?{ext:"ogg",mime:"audio/ogg"}:{ext:"ogx",mime:"application/ogg"}}if(n([80,75])&&(3===e[2]||5===e[2]||7===e[2])&&(4===e[3]||6===e[3]||8===e[3]))return {ext:"zip",mime:"application/zip"};if(r("ftyp",{offset:4})&&0!=(96&e[8])){const l=e.toString("binary",8,12).replace("\0"," ").trim();switch(l){case "avif":return {ext:"avif",mime:"image/avif"};case "mif1":return {ext:"heic",mime:"image/heif"};case "msf1":return {ext:"heic",mime:"image/heif-sequence"};case "heic":case "heix":return {ext:"heic",mime:"image/heic"};case "hevc":case "hevx":return {ext:"heic",mime:"image/heic-sequence"};case "qt":return {ext:"mov",mime:"video/quicktime"};case "M4V":case "M4VH":case "M4VP":return {ext:"m4v",mime:"video/x-m4v"};case "M4P":return {ext:"m4p",mime:"video/mp4"};case "M4B":return {ext:"m4b",mime:"audio/mp4"};case "M4A":return {ext:"m4a",mime:"audio/x-m4a"};case "F4V":return {ext:"f4v",mime:"video/mp4"};case "F4P":return {ext:"f4p",mime:"video/mp4"};case "F4A":return {ext:"f4a",mime:"audio/mp4"};case "F4B":return {ext:"f4b",mime:"audio/mp4"};case "crx":return {ext:"cr3",mime:"image/x-canon-cr3"};default:return l.startsWith("3g")?l.startsWith("3g2")?{ext:"3g2",mime:"video/3gpp2"}:{ext:"3gp",mime:"video/3gpp"}:{ext:"mp4",mime:"video/mp4"}}}if(r("MThd"))return {ext:"mid",mime:"audio/midi"};if(r("wOFF")&&(n([0,1,0,0],{offset:4})||r("OTTO",{offset:4})))return {ext:"woff",mime:"font/woff"};if(r("wOF2")&&(n([0,1,0,0],{offset:4})||r("OTTO",{offset:4})))return {ext:"woff2",mime:"font/woff2"};if(n([212,195,178,161])||n([161,178,195,212]))return {ext:"pcap",mime:"application/vnd.tcpdump.pcap"};if(r("DSD "))return {ext:"dsf",mime:"audio/x-dsf"};if(r("LZIP"))return {ext:"lz",mime:"application/x-lzip"};if(r("fLaC"))return {ext:"flac",mime:"audio/x-flac"};if(n([66,80,71,251]))return {ext:"bpg",mime:"image/bpg"};if(r("wvpk"))return {ext:"wv",mime:"audio/wavpack"};if(r("%PDF")){await t.ignore(1350);const c=10485760,h=Buffer.alloc(Math.min(c,t.fileInfo.size));return await t.readBuffer(h,{mayBeLess:!0}),h.includes(Buffer.from("AIPrivateData"))?{ext:"ai",mime:"application/postscript"}:{ext:"pdf",mime:"application/pdf"}}if(n([0,97,115,109]))return {ext:"wasm",mime:"application/wasm"};if(n([73,73,42,0]))return r("CR",{offset:8})?{ext:"cr2",mime:"image/x-canon-cr2"}:n([28,0,254,0],{offset:8})||n([31,0,11,0],{offset:8})?{ext:"nef",mime:"image/x-nikon-nef"}:n([8,0,0,0],{offset:4})&&(n([45,0,254,0],{offset:8})||n([39,0,254,0],{offset:8}))?{ext:"dng",mime:"image/x-adobe-dng"}:(e=Buffer.alloc(24),await t.peekBuffer(e),(n([16,251,134,1],{offset:4})||n([8,0,0,0],{offset:4}))&&n([0,254,0,4,0,1,0,0,0,1,0,0,0,3,1],{offset:9})?{ext:"arw",mime:"image/x-sony-arw"}:{ext:"tif",mime:"image/tiff"});if(n([77,77,0,42]))return {ext:"tif",mime:"image/tiff"};if(r("MAC "))return {ext:"ape",mime:"audio/ape"};if(n([26,69,223,163])){async function f(){const e=await t.peekNumber(Token.UINT8);let n=128,r=0;for(;0==(e&n)&&0!==n;)++r,n>>=1;const i=Buffer.alloc(r+1);return await t.readBuffer(i),i}async function p(){const t=await f(),e=await f();e[0]^=128>>e.length-1;const n=Math.min(6,e.length);return {id:t.readUIntBE(0,t.length),len:e.readUIntBE(e.length-n,n)}}async function d(e,n){for(;n>0;){const e=await p();if(17026===e.id)return t.readToken(new Token.StringType(e.len,"utf-8"));await t.ignore(e.len),--n;}}const y=await p();switch(await d(0,y.len)){case "webm":return {ext:"webm",mime:"video/webm"};case "matroska":return {ext:"mkv",mime:"video/x-matroska"};default:return}}if(n([82,73,70,70])){if(n([65,86,73],{offset:8}))return {ext:"avi",mime:"video/vnd.avi"};if(n([87,65,86,69],{offset:8}))return {ext:"wav",mime:"audio/vnd.wave"};if(n([81,76,67,77],{offset:8}))return {ext:"qcp",mime:"audio/qcelp"}}if(r("SQLi"))return {ext:"sqlite",mime:"application/x-sqlite3"};if(n([78,69,83,26]))return {ext:"nes",mime:"application/x-nintendo-nes-rom"};if(r("Cr24"))return {ext:"crx",mime:"application/x-google-chrome-extension"};if(r("MSCF")||r("ISc("))return {ext:"cab",mime:"application/vnd.ms-cab-compressed"};if(n([237,171,238,219]))return {ext:"rpm",mime:"application/x-rpm"};if(n([197,208,211,198]))return {ext:"eps",mime:"application/eps"};if(n([40,181,47,253]))return {ext:"zst",mime:"application/zstd"};if(n([79,84,84,79,0]))return {ext:"otf",mime:"font/otf"};if(r("#!AMR"))return {ext:"amr",mime:"audio/amr"};if(r("{\\rtf"))return {ext:"rtf",mime:"application/rtf"};if(n([70,76,86,1]))return {ext:"flv",mime:"video/x-flv"};if(r("IMPM"))return {ext:"it",mime:"audio/x-it"};if(r("-lh0-",{offset:2})||r("-lh1-",{offset:2})||r("-lh2-",{offset:2})||r("-lh3-",{offset:2})||r("-lh4-",{offset:2})||r("-lh5-",{offset:2})||r("-lh6-",{offset:2})||r("-lh7-",{offset:2})||r("-lzs-",{offset:2})||r("-lz4-",{offset:2})||r("-lz5-",{offset:2})||r("-lhd-",{offset:2}))return {ext:"lzh",mime:"application/x-lzh-compressed"};if(n([0,0,1,186])){if(n([33],{offset:4,mask:[241]}))return {ext:"mpg",mime:"video/MP1S"};if(n([68],{offset:4,mask:[196]}))return {ext:"mpg",mime:"video/MP2P"}}if(r("ITSF"))return {ext:"chm",mime:"application/vnd.ms-htmlhelp"};if(n([253,55,122,88,90,0]))return {ext:"xz",mime:"application/x-xz"};if(r(""))return await t.ignore(8),"debian-binary"===await t.readToken(new Token.StringType(13,"ascii"))?{ext:"deb",mime:"application/x-deb"}:{ext:"ar",mime:"application/x-unix-archive"};if(n([137,80,78,71,13,10,26,10])){async function m(){return {length:await t.readToken(Token.INT32_BE),type:await t.readToken(new Token.StringType(4,"binary"))}}await t.ignore(8);do{const g=await m();if(g.length<0)return;switch(g.type){case "IDAT":return {ext:"png",mime:"image/png"};case "acTL":return {ext:"apng",mime:"image/apng"};default:await t.ignore(g.length+4);}}while(t.position+8=16){const E=e.readUInt32LE(12);if(E>12&&e.length>=E+16)try{const w=e.slice(16,E+16).toString();if(JSON.parse(w).files)return {ext:"asar",mime:"application/x-asar"}}catch(x){}}if(n([6,14,43,52,2,5,1,1,13,1,2,1,1,2]))return {ext:"mxf",mime:"application/mxf"};if(r("SCRM",{offset:44}))return {ext:"s3m",mime:"audio/x-s3m"};if(n([71],{offset:4})&&(n([71],{offset:192})||n([71],{offset:196})))return {ext:"mts",mime:"video/mp2t"};if(n([66,79,79,75,77,79,66,73],{offset:60}))return {ext:"mobi",mime:"application/x-mobipocket-ebook"};if(n([68,73,67,77],{offset:128}))return {ext:"dcm",mime:"application/dicom"};if(n([76,0,0,0,1,20,2,0,0,0,0,0,192,0,0,0,0,0,0,70]))return {ext:"lnk",mime:"application/x.ms.shortcut"};if(n([98,111,111,107,0,0,0,0,109,97,114,107,0,0,0,0]))return {ext:"alias",mime:"application/x.apple.alias"};if(n([76,80],{offset:34})&&(n([0,0,1],{offset:8})||n([1,0,2],{offset:8})||n([2,0,2],{offset:8})))return {ext:"eot",mime:"application/vnd.ms-fontobject"};if(n([6,6,237,245,216,29,70,229,189,49,239,231,254,116,183,29]))return {ext:"indd",mime:"application/x-indesign"};if(await t.peekBuffer(e,{length:Math.min(512,t.fileInfo.size),mayBeLess:!0}),tarHeaderChecksumMatches(e))return {ext:"tar",mime:"application/x-tar"};if(n([255,254,255,14,83,0,107,0,101,0,116,0,99,0,104,0,85,0,112,0,32,0,77,0,111,0,100,0,101,0,108,0]))return {ext:"skp",mime:"application/vnd.sketchup.skp"};if(r("-----BEGIN PGP MESSAGE-----"))return {ext:"pgp",mime:"application/pgp-encrypted"};if(e.length>=2&&n([255,224],{offset:0,mask:[255,224]})){if(n([16],{offset:1,mask:[22]}))return n([8],{offset:1,mask:[8]}),{ext:"aac",mime:"audio/aac"};if(n([2],{offset:1,mask:[6]}))return {ext:"mp3",mime:"audio/mpeg"};if(n([4],{offset:1,mask:[6]}))return {ext:"mp2",mime:"audio/mpeg"};if(n([6],{offset:1,mask:[6]}))return {ext:"mp1",mime:"audio/mpeg"}}}const stream=readableStream=>new Promise(((resolve,reject)=>{const stream=eval("require")("stream");readableStream.on("error",reject),readableStream.once("readable",(async()=>{const t=new stream.PassThrough;let e;e=stream.pipeline?stream.pipeline(readableStream,t,(()=>{})):readableStream.pipe(t);const n=readableStream.read(minimumBytes)||readableStream.read()||Buffer.alloc(0);try{const e=await fromBuffer(n);t.fileType=e;}catch(t){reject(t);}resolve(e);}));})),fileType={fromStream,fromTokenizer,fromBuffer,stream};Object.defineProperty(fileType,"extensions",{get:()=>new Set(supported.extensions)}),Object.defineProperty(fileType,"mimeTypes",{get:()=>new Set(supported.mimeTypes)}),module.exports=fileType;},7769:(t,e,n)=>{"use strict";const r=n(6597),i=n(1),o={fromFile:async function(t){const e=await r.fromFile(t);try{return await i.fromTokenizer(e)}finally{await e.close();}}};Object.assign(o,i),Object.defineProperty(o,"extensions",{get:()=>i.extensions}),Object.defineProperty(o,"mimeTypes",{get:()=>i.mimeTypes}),t.exports=o;},9898:t=>{"use strict";t.exports={extensions:["jpg","png","apng","gif","webp","flif","xcf","cr2","cr3","orf","arw","dng","nef","rw2","raf","tif","bmp","icns","jxr","psd","indd","zip","tar","rar","gz","bz2","7z","dmg","mp4","mid","mkv","webm","mov","avi","mpg","mp2","mp3","m4a","oga","ogg","ogv","opus","flac","wav","spx","amr","pdf","epub","exe","swf","rtf","wasm","woff","woff2","eot","ttf","otf","ico","flv","ps","xz","sqlite","nes","crx","xpi","cab","deb","ar","rpm","Z","lz","cfb","mxf","mts","blend","bpg","docx","pptx","xlsx","3gp","3g2","jp2","jpm","jpx","mj2","aif","qcp","odt","ods","odp","xml","mobi","heic","cur","ktx","ape","wv","dcm","ics","glb","pcap","dsf","lnk","alias","voc","ac3","m4v","m4p","m4b","f4v","f4p","f4b","f4a","mie","asf","ogm","ogx","mpc","arrow","shp","aac","mp1","it","s3m","xm","ai","skp","avif","eps","lzh","pgp","asar","stl","chm","3mf","zst","jxl","vcf"],mimeTypes:["image/jpeg","image/png","image/gif","image/webp","image/flif","image/x-xcf","image/x-canon-cr2","image/x-canon-cr3","image/tiff","image/bmp","image/vnd.ms-photo","image/vnd.adobe.photoshop","application/x-indesign","application/epub+zip","application/x-xpinstall","application/vnd.oasis.opendocument.text","application/vnd.oasis.opendocument.spreadsheet","application/vnd.oasis.opendocument.presentation","application/vnd.openxmlformats-officedocument.wordprocessingml.document","application/vnd.openxmlformats-officedocument.presentationml.presentation","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet","application/zip","application/x-tar","application/x-rar-compressed","application/gzip","application/x-bzip2","application/x-7z-compressed","application/x-apple-diskimage","application/x-apache-arrow","video/mp4","audio/midi","video/x-matroska","video/webm","video/quicktime","video/vnd.avi","audio/vnd.wave","audio/qcelp","audio/x-ms-asf","video/x-ms-asf","application/vnd.ms-asf","video/mpeg","video/3gpp","audio/mpeg","audio/mp4","audio/opus","video/ogg","audio/ogg","application/ogg","audio/x-flac","audio/ape","audio/wavpack","audio/amr","application/pdf","application/x-msdownload","application/x-shockwave-flash","application/rtf","application/wasm","font/woff","font/woff2","application/vnd.ms-fontobject","font/ttf","font/otf","image/x-icon","video/x-flv","application/postscript","application/eps","application/x-xz","application/x-sqlite3","application/x-nintendo-nes-rom","application/x-google-chrome-extension","application/vnd.ms-cab-compressed","application/x-deb","application/x-unix-archive","application/x-rpm","application/x-compress","application/x-lzip","application/x-cfb","application/x-mie","application/mxf","video/mp2t","application/x-blender","image/bpg","image/jp2","image/jpx","image/jpm","image/mj2","audio/aiff","application/xml","application/x-mobipocket-ebook","image/heif","image/heif-sequence","image/heic","image/heic-sequence","image/icns","image/ktx","application/dicom","audio/x-musepack","text/calendar","text/vcard","model/gltf-binary","application/vnd.tcpdump.pcap","audio/x-dsf","application/x.ms.shortcut","application/x.apple.alias","audio/x-voc","audio/vnd.dolby.dd-raw","audio/x-m4a","image/apng","image/x-olympus-orf","image/x-sony-arw","image/x-adobe-dng","image/x-nikon-nef","image/x-panasonic-rw2","image/x-fujifilm-raf","video/x-m4v","video/3gpp2","application/x-esri-shape","audio/aac","audio/x-it","audio/x-s3m","audio/x-xm","video/MP1S","video/MP2P","application/vnd.sketchup.skp","image/avif","application/x-lzh-compressed","application/pgp-encrypted","application/x-asar","model/stl","application/vnd.ms-htmlhelp","model/3mf","image/jxl","application/zstd"]};},6188:(t,e)=>{"use strict";e.stringToBytes=t=>[...t].map((t=>t.charCodeAt(0))),e.tarHeaderChecksumMatches=(t,e=0)=>{const n=parseInt(t.toString("utf8",148,154).replace(/\0.*$/,"").trim(),8);if(isNaN(n))return !1;let r=256;for(let n=e;n127&t[e+3]|t[e+2]<<7|t[e+1]<<14|t[e]<<21,len:4};},1787:(t,e,n)=>{var r=n(2582),i=n(4102),o=n(1540),a=n(9705).default,s=o.featureEach,u=(o.coordEach,i.polygon,i.featureCollection);function l(t){var e=new r(t);return e.insert=function(t){if("Feature"!==t.type)throw new Error("invalid feature");return t.bbox=t.bbox?t.bbox:a(t),r.prototype.insert.call(this,t)},e.load=function(t){var e=[];return Array.isArray(t)?t.forEach((function(t){if("Feature"!==t.type)throw new Error("invalid features");t.bbox=t.bbox?t.bbox:a(t),e.push(t);})):s(t,(function(t){if("Feature"!==t.type)throw new Error("invalid features");t.bbox=t.bbox?t.bbox:a(t),e.push(t);})),r.prototype.load.call(this,e)},e.remove=function(t,e){if("Feature"!==t.type)throw new Error("invalid feature");return t.bbox=t.bbox?t.bbox:a(t),r.prototype.remove.call(this,t,e)},e.clear=function(){return r.prototype.clear.call(this)},e.search=function(t){var e=r.prototype.search.call(this,this.toBBox(t));return u(e)},e.collides=function(t){return r.prototype.collides.call(this,this.toBBox(t))},e.all=function(){var t=r.prototype.all.call(this);return u(t)},e.toJSON=function(){return r.prototype.toJSON.call(this)},e.fromJSON=function(t){return r.prototype.fromJSON.call(this,t)},e.toBBox=function(t){var e;if(t.bbox)e=t.bbox;else if(Array.isArray(t)&&4===t.length)e=t;else if(Array.isArray(t)&&6===t.length)e=[t[0],t[1],t[3],t[4]];else if("Feature"===t.type)e=a(t);else {if("FeatureCollection"!==t.type)throw new Error("invalid geojson");e=a(t);}return {minX:e[0],minY:e[1],maxX:e[2],maxY:e[3]}},e}t.exports=l,t.exports.default=l;},645:(t,e)=>{e.read=function(t,e,n,r,i){var o,a,s=8*i-r-1,u=(1<>1,c=-7,h=n?i-1:0,f=n?-1:1,p=t[e+h];for(h+=f,o=p&(1<<-c)-1,p>>=-c,c+=s;c>0;o=256*o+t[e+h],h+=f,c-=8);for(a=o&(1<<-c)-1,o>>=-c,c+=r;c>0;a=256*a+t[e+h],h+=f,c-=8);if(0===o)o=1-l;else {if(o===u)return a?NaN:1/0*(p?-1:1);a+=Math.pow(2,r),o-=l;}return (p?-1:1)*a*Math.pow(2,o-r)},e.write=function(t,e,n,r,i,o){var a,s,u,l=8*o-i-1,c=(1<>1,f=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,p=r?0:o-1,d=r?1:-1,y=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(s=isNaN(e)?1:0,a=c):(a=Math.floor(Math.log(e)/Math.LN2),e*(u=Math.pow(2,-a))<1&&(a--,u*=2),(e+=a+h>=1?f/u:f*Math.pow(2,1-h))*u>=2&&(a++,u/=2),a+h>=c?(s=0,a=c):a+h>=1?(s=(e*u-1)*Math.pow(2,i),a+=h):(s=e*Math.pow(2,h-1)*Math.pow(2,i),a=0));i>=8;t[n+p]=255&s,p+=d,s/=256,i-=8);for(a=a<0;t[n+p]=255&a,p+=d,a/=256,l-=8);t[n+p-d]|=128*y;};},8849:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});const r=n(9126),i=Object.keys(r.typeHandlers),o={56:"psd",66:"bmp",68:"dds",71:"gif",73:"tiff",77:"tiff",82:"webp",105:"icns",137:"png",255:"jpg"};e.detector=function(t){const e=t[0];if(e in o){const n=o[e];if(r.typeHandlers[n].validate(t))return n}return i.find((e=>r.typeHandlers[e].validate(t)))};},9248:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});const r=n(8497);if(!("promises"in r)){class t{constructor(t){this.fd=t;}stat(){return new Promise(((t,e)=>{r.fstat(this.fd,((n,r)=>{n?e(n):t(r);}));}))}read(t,e,n,i){return new Promise(((o,a)=>{r.read(this.fd,t,e,n,i,(t=>{t?a(t):o();}));}))}close(){return new Promise(((t,e)=>{r.close(this.fd,(n=>{n?e(n):t();}));}))}}Object.defineProperty(r,"promises",{value:{open:(e,n)=>new Promise(((i,o)=>{r.open(e,n,((e,n)=>{e?o(e):i(new t(n));}));}))},writable:!1});}},7935:function(t,e,n){"use strict";var r=n(3085).lW,i=n(4155),o=this&&this.__awaiter||function(t,e,n,r){return new(n||(n=Promise))((function(i,o){function a(t){try{u(r.next(t));}catch(t){o(t);}}function s(t){try{u(r.throw(t));}catch(t){o(t);}}function u(t){var e;t.done?i(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e);}))).then(a,s);}u((r=r.apply(t,e||[])).next());}))};Object.defineProperty(e,"__esModule",{value:!0});const a=n(8497),s=n(3935),u=n(9189),l=n(9126),c=n(8849);n(9248);const h=524288,f=new u.default({concurrency:100,autostart:!0});function p(t,e){const n=c.detector(t);if(n&&n in l.typeHandlers){const r=l.typeHandlers[n].calculate(t,e);if(void 0!==r)return r.type=n,r}throw new TypeError("unsupported file type: "+n+" (file: "+e+")")}function d(t,e){if(r.isBuffer(t))return p(t);if("string"!=typeof t)throw new TypeError("invalid invocation");const n=s.resolve(t);if("function"!=typeof e){const t=function(t){const e=a.openSync(t,"r"),n=a.fstatSync(e).size,i=Math.min(n,h),o=r.alloc(i);return a.readSync(e,o,0,i,0),a.closeSync(e),o}(n);return p(t,n)}f.push((()=>function(t){return o(this,void 0,void 0,(function*(){const e=yield a.promises.open(t,"r"),{size:n}=yield e.stat();if(n<=0)throw new Error("Empty file");const i=Math.min(n,h),o=r.alloc(i);return yield e.read(o,0,i,0),yield e.close(),o}))}(n).then((t=>i.nextTick(e,null,p(t,n)))).catch(e)));}t.exports=e=d,e.imageSize=d,e.setConcurrency=t=>{f.concurrency=t;},e.types=Object.keys(l.typeHandlers);},8557:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.readUInt=function(t,e,n,r){return n=n||0,t["readUInt"+e+(r?"BE":"LE")].call(t,n)};},9126:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});const r=n(3645),i=n(3552),o=n(1680),a=n(1542),s=n(7163),u=n(7800),l=n(6625),c=n(1558),h=n(2229),f=n(4663),p=n(6221),d=n(7851),y=n(2602),m=n(8531),g=n(9948),_=n(5236);e.typeHandlers={bmp:r.BMP,cur:i.CUR,dds:o.DDS,gif:a.GIF,icns:s.ICNS,ico:u.ICO,j2c:l.J2C,jp2:c.JP2,jpg:h.JPG,ktx:f.KTX,png:p.PNG,pnm:d.PNM,psd:y.PSD,svg:m.SVG,tiff:g.TIFF,webp:_.WEBP};},3645:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.BMP={validate:t=>"BM"===t.toString("ascii",0,2),calculate:t=>({height:Math.abs(t.readInt32LE(22)),width:t.readUInt32LE(18)})};},3552:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});const r=n(7800);e.CUR={validate:t=>0===t.readUInt16LE(0)&&2===t.readUInt16LE(2),calculate:t=>r.ICO.calculate(t)};},1680:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.DDS={validate:t=>542327876===t.readUInt32LE(0),calculate:t=>({height:t.readUInt32LE(12),width:t.readUInt32LE(16)})};},1542:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});const n=/^GIF8[79]a/;e.GIF={validate(t){const e=t.toString("ascii",0,6);return n.test(e)},calculate:t=>({height:t.readUInt16LE(8),width:t.readUInt16LE(6)})};},7163:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});const n=4,r={ICON:32,"ICN#":32,"icm#":16,icm4:16,icm8:16,"ics#":16,ics4:16,ics8:16,is32:16,s8mk:16,icp4:16,icl4:32,icl8:32,il32:32,l8mk:32,icp5:32,ic11:32,ich4:48,ich8:48,ih32:48,h8mk:48,icp6:64,ic12:32,it32:128,t8mk:128,ic07:128,ic08:256,ic13:256,ic09:512,ic14:512,ic10:1024};function i(t,e){const r=e+n;return [t.toString("ascii",e,r),t.readUInt32BE(r)]}function o(t){const e=r[t];return {width:e,height:e,type:t}}e.ICNS={validate:t=>"icns"===t.toString("ascii",0,4),calculate(t){const e=t.length,n=t.readUInt32BE(4);let r=8,a=i(t,r),s=o(a[0]);if(r+=a[1],r===n)return s;const u={height:s.height,images:[s],width:s.width};for(;r{"use strict";Object.defineProperty(e,"__esModule",{value:!0});const n=6,r=16;function i(t,e){const n=t.readUInt8(e);return 0===n?256:n}function o(t,e){const o=n+e*r;return {height:i(t,o+1),width:i(t,o)}}e.ICO={validate:t=>0===t.readUInt16LE(0)&&1===t.readUInt16LE(2),calculate(t){const e=t.readUInt16LE(4),n=o(t,0);if(1===e)return n;const r=[n];for(let n=1;n{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.J2C={validate:t=>"ff4fff51"===t.toString("hex",0,4),calculate:t=>({height:t.readUInt32BE(12),width:t.readUInt32BE(8)})};},1558:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});const n=t=>({height:t.readUInt32BE(4),width:t.readUInt32BE(8)});e.JP2={validate(t){const e=t.toString("hex",4,8),n=t.readUInt32BE(0);if("6a502020"!==e||n<1)return !1;const r=n+4,i=t.readUInt32BE(n);return "66747970"===t.slice(r,r+i).toString("hex",0,4)},calculate(t){const e=t.readUInt32BE(0);let r=e+4+t.readUInt16BE(e+2);switch(t.toString("hex",r,r+4)){case "72726571":return r=r+4+4+(t=>{const e=t.readUInt8(0);let n=1+2*e;return n=n+2+t.readUInt16BE(n)*(2+e),n+2+t.readUInt16BE(n)*(16+e)})(t.slice(r+4)),n(t.slice(r+8,r+24));case "6a703268":return n(t.slice(r+8,r+24));default:throw new TypeError("Unsupported header found: "+t.toString("ascii",r,r+4))}}};},2229:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});const r=n(8557),i="45786966",o=2,a=6,s=2,u="4d4d",l="4949",c=12,h=2;function f(t){return t.toString("hex",2,6)===i}function p(t,e){return {height:t.readUInt16BE(e),width:t.readUInt16BE(e+2)}}function d(t,e){const n=t.slice(o,e),i=n.toString("hex",a,a+s),f=i===u;if(f||i===l)return function(t,e){const n=a+8,i=r.readUInt(t,16,n,e);for(let o=0;ot.length)return;const s=t.slice(i,a);if(274===r.readUInt(s,16,0,e)){if(3!==r.readUInt(s,16,2,e))return;if(1!==r.readUInt(s,32,4,e))return;return r.readUInt(s,16,8,e)}}}(n,f)}function y(t,e){if(e>t.length)throw new TypeError("Corrupt JPG, exceeded buffer limits");if(255!==t[e])throw new TypeError("Invalid JPG, marker table corrupted")}e.JPG={validate:t=>"ffd8"===t.toString("hex",0,2),calculate(t){let e,n;for(t=t.slice(4);t.length;){const r=t.readUInt16BE(0);if(f(t)&&(e=d(t,r)),y(t,r),n=t[r+1],192===n||193===n||194===n){const n=p(t,r+5);return e?{height:n.height,orientation:e,width:n.width}:n}t=t.slice(r+2);}throw new TypeError("Invalid JPG, no size found")}};},4663:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.KTX={validate:t=>"KTX 11"===t.toString("ascii",1,7),calculate:t=>({height:t.readUInt32LE(40),width:t.readUInt32LE(36)})};},6221:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});const n="CgBI";e.PNG={validate(t){if("PNG\r\n\n"===t.toString("ascii",1,8)){let e=t.toString("ascii",12,16);if(e===n&&(e=t.toString("ascii",28,32)),"IHDR"!==e)throw new TypeError("Invalid PNG");return !0}return !1},calculate:t=>t.toString("ascii",12,16)===n?{height:t.readUInt32BE(36),width:t.readUInt32BE(32)}:{height:t.readUInt32BE(20),width:t.readUInt32BE(16)}};},7851:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});const n={P1:"pbm/ascii",P2:"pgm/ascii",P3:"ppm/ascii",P4:"pbm",P5:"pgm",P6:"ppm",P7:"pam",PF:"pfm"},r=Object.keys(n),i={default:t=>{let e=[];for(;t.length>0;){const n=t.shift();if("#"!==n[0]){e=n.split(" ");break}}if(2===e.length)return {height:parseInt(e[1],10),width:parseInt(e[0],10)};throw new TypeError("Invalid PNM")},pam:t=>{const e={};for(;t.length>0;){const n=t.shift();if(n.length>16||n.charCodeAt(0)>128)continue;const[r,i]=n.split(" ");if(r&&i&&(e[r.toLowerCase()]=parseInt(i,10)),e.height&&e.width)break}if(e.height&&e.width)return {height:e.height,width:e.width};throw new TypeError("Invalid PAM")}};e.PNM={validate(t){const e=t.toString("ascii",0,2);return r.includes(e)},calculate(t){const e=t.toString("ascii",0,2),r=n[e],o=t.toString("ascii",3).split(/[\r\n]+/);return (i[r]||i.default)(o)}};},2602:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.PSD={validate:t=>"8BPS"===t.toString("ascii",0,4),calculate:t=>({height:t.readUInt32BE(14),width:t.readUInt32BE(18)})};},8531:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});const n=/"']|"[^"]*"|'[^']*')*>/,r={height:/\sheight=(['"])([^%]+?)\1/,root:n,viewbox:/\sviewBox=(['"])(.+?)\1/,width:/\swidth=(['"])([^%]+?)\1/},i=2.54,o={cm:96/i,em:16,ex:8,m:96/i*100,mm:96/i/10,pc:96/72/12,pt:96/72};function a(t){const e=/([0-9.]+)([a-z]*)/.exec(t);if(e)return Math.round(parseFloat(e[1])*(o[e[2]]||1))}function s(t){const e=t.split(" ");return {height:a(e[3]),width:a(e[2])}}e.SVG={validate(t){const e=String(t);return n.test(e)},calculate(t){const e=t.toString("utf8").match(r.root);if(e){const t=function(t){const e=t.match(r.width),n=t.match(r.height),i=t.match(r.viewbox);return {height:n&&a(n[2]),viewbox:i&&s(i[2]),width:e&&a(e[2])}}(e[0]);if(t.width&&t.height)return function(t){return {height:t.height,width:t.width}}(t);if(t.viewbox)return function(t,e){const n=e.width/e.height;return t.width?{height:Math.floor(t.width/n),width:t.width}:t.height?{height:t.height,width:Math.floor(t.height*n)}:{height:e.height,width:e.width}}(t,t.viewbox)}throw new TypeError("Invalid SVG")}};},9948:(t,e,n)=>{"use strict";var r=n(3085).lW;Object.defineProperty(e,"__esModule",{value:!0});const i=n(7990),o=n(8557);function a(t,e){const n=o.readUInt(t,16,8,e);return (o.readUInt(t,16,10,e)<<16)+n}function s(t){if(t.length>24)return t.slice(12)}const u=["49492a00","4d4d002a"];e.TIFF={validate:t=>u.includes(t.toString("hex",0,4)),calculate(t,e){if(!e)throw new TypeError("Tiff doesn't support buffer");const n="BE"===function(t){const e=t.toString("ascii",0,2);return "II"===e?"LE":"MM"===e?"BE":void 0}(t),u=function(t,e,n){const a=o.readUInt(t,32,4,n);let s=1024;const u=i.statSync(e).size;a+s>u&&(s=u-a-10);const l=r.alloc(s),c=i.openSync(e,"r");return i.readSync(c,l,0,s,a),l.slice(2)}(t,e,n),l=function(t,e){const n={};let r=t;for(;r&&r.length;){const t=o.readUInt(r,16,0,e),i=o.readUInt(r,16,2,e),u=o.readUInt(r,32,4,e);if(0===t)break;1!==u||3!==i&&4!==i||(n[t]=a(r,e)),r=s(r);}return n}(u,n),c=l[256],h=l[257];if(!c||!h)throw new TypeError("Invalid Tiff. Missing tags");return {height:h,width:c}}};},5236:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.WEBP={validate(t){const e="RIFF"===t.toString("ascii",0,4),n="WEBP"===t.toString("ascii",8,12),r="VP8"===t.toString("ascii",12,15);return e&&n&&r},calculate(t){const e=t.toString("ascii",12,16);if(t=t.slice(20,30),"VP8X"===e){const e=t[0];if(0==(192&e)&&0==(1&e))return function(t){return {height:1+t.readUIntLE(7,3),width:1+t.readUIntLE(4,3)}}(t);throw new TypeError("Invalid WebP")}if("VP8 "===e&&47!==t[0])return function(t){return {height:16383&t.readInt16LE(8),width:16383&t.readInt16LE(6)}}(t);const n=t.toString("hex",3,6);if("VP8L"===e&&"9d012a"!==n)return function(t){return {height:1+((15&t[4])<<10|t[3]<<2|(192&t[2])>>6),width:1+((63&t[2])<<8|t[1])}}(t);throw new TypeError("Invalid WebP")}};},5717:t=>{"function"==typeof Object.create?t.exports=function(t,e){e&&(t.super_=e,t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}));}:t.exports=function(t,e){if(e){t.super_=e;var n=function(){};n.prototype=e.prototype,t.prototype=new n,t.prototype.constructor=t;}};},8552:(t,e,n)=>{var r=n(852)(n(5639),"DataView");t.exports=r;},1989:(t,e,n)=>{var r=n(1789),i=n(401),o=n(7667),a=n(1327),s=n(1866);function u(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e{var r=n(7040),i=n(4125),o=n(2117),a=n(7518),s=n(4705);function u(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e{var r=n(852)(n(5639),"Map");t.exports=r;},3369:(t,e,n)=>{var r=n(4785),i=n(1285),o=n(6e3),a=n(9916),s=n(5265);function u(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e{var r=n(852)(n(5639),"Promise");t.exports=r;},8525:(t,e,n)=>{var r=n(852)(n(5639),"Set");t.exports=r;},8668:(t,e,n)=>{var r=n(3369),i=n(619),o=n(2385);function a(t){var e=-1,n=null==t?0:t.length;for(this.__data__=new r;++e{var r=n(8407),i=n(7465),o=n(3779),a=n(7599),s=n(4758),u=n(4309);function l(t){var e=this.__data__=new r(t);this.size=e.size;}l.prototype.clear=i,l.prototype.delete=o,l.prototype.get=a,l.prototype.has=s,l.prototype.set=u,t.exports=l;},2705:(t,e,n)=>{var r=n(5639).Symbol;t.exports=r;},1149:(t,e,n)=>{var r=n(5639).Uint8Array;t.exports=r;},577:(t,e,n)=>{var r=n(852)(n(5639),"WeakMap");t.exports=r;},4963:t=>{t.exports=function(t,e){for(var n=-1,r=null==t?0:t.length,i=0,o=[];++n{var r=n(2545),i=n(5694),o=n(1469),a=n(4144),s=n(5776),u=n(6719),l=Object.prototype.hasOwnProperty;t.exports=function(t,e){var n=o(t),c=!n&&i(t),h=!n&&!c&&a(t),f=!n&&!c&&!h&&u(t),p=n||c||h||f,d=p?r(t.length,String):[],y=d.length;for(var m in t)!e&&!l.call(t,m)||p&&("length"==m||h&&("offset"==m||"parent"==m)||f&&("buffer"==m||"byteLength"==m||"byteOffset"==m)||s(m,y))||d.push(m);return d};},9932:t=>{t.exports=function(t,e){for(var n=-1,r=null==t?0:t.length,i=Array(r);++n{t.exports=function(t,e){for(var n=-1,r=e.length,i=t.length;++n{t.exports=function(t,e){for(var n=-1,r=null==t?0:t.length;++n{var r=n(7813);t.exports=function(t,e){for(var n=t.length;n--;)if(r(t[n][0],e))return n;return -1};},8866:(t,e,n)=>{var r=n(2488),i=n(1469);t.exports=function(t,e,n){var o=e(t);return i(t)?o:r(o,n(t))};},4239:(t,e,n)=>{var r=n(2705),i=n(9607),o=n(2333),a=r?r.toStringTag:void 0;t.exports=function(t){return null==t?void 0===t?"[object Undefined]":"[object Null]":a&&a in Object(t)?i(t):o(t)};},9454:(t,e,n)=>{var r=n(4239),i=n(7005);t.exports=function(t){return i(t)&&"[object Arguments]"==r(t)};},939:(t,e,n)=>{var r=n(2492),i=n(7005);t.exports=function t(e,n,o,a,s){return e===n||(null==e||null==n||!i(e)&&!i(n)?e!=e&&n!=n:r(e,n,o,a,t,s))};},2492:(t,e,n)=>{var r=n(6384),i=n(7114),o=n(8351),a=n(6096),s=n(4160),u=n(1469),l=n(4144),c=n(6719),h="[object Arguments]",f="[object Array]",p="[object Object]",d=Object.prototype.hasOwnProperty;t.exports=function(t,e,n,y,m,g){var _=u(t),b=u(e),v=_?f:s(t),T=b?f:s(e),E=(v=v==h?p:v)==p,w=(T=T==h?p:T)==p,x=v==T;if(x&&l(t)){if(!l(e))return !1;_=!0,E=!1;}if(x&&!E)return g||(g=new r),_||c(t)?i(t,e,n,y,m,g):o(t,e,v,n,y,m,g);if(!(1&n)){var C=E&&d.call(t,"__wrapped__"),M=w&&d.call(e,"__wrapped__");if(C||M){var S=C?t.value():t,N=M?e.value():e;return g||(g=new r),m(S,N,n,y,g)}}return !!x&&(g||(g=new r),a(t,e,n,y,m,g))};},8458:(t,e,n)=>{var r=n(3560),i=n(5346),o=n(3218),a=n(346),s=/^\[object .+?Constructor\]$/,u=Function.prototype,l=Object.prototype,c=u.toString,h=l.hasOwnProperty,f=RegExp("^"+c.call(h).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");t.exports=function(t){return !(!o(t)||i(t))&&(r(t)?f:s).test(a(t))};},8749:(t,e,n)=>{var r=n(4239),i=n(1780),o=n(7005),a={};a["[object Float32Array]"]=a["[object Float64Array]"]=a["[object Int8Array]"]=a["[object Int16Array]"]=a["[object Int32Array]"]=a["[object Uint8Array]"]=a["[object Uint8ClampedArray]"]=a["[object Uint16Array]"]=a["[object Uint32Array]"]=!0,a["[object Arguments]"]=a["[object Array]"]=a["[object ArrayBuffer]"]=a["[object Boolean]"]=a["[object DataView]"]=a["[object Date]"]=a["[object Error]"]=a["[object Function]"]=a["[object Map]"]=a["[object Number]"]=a["[object Object]"]=a["[object RegExp]"]=a["[object Set]"]=a["[object String]"]=a["[object WeakMap]"]=!1,t.exports=function(t){return o(t)&&i(t.length)&&!!a[r(t)]};},280:(t,e,n)=>{var r=n(5726),i=n(6916),o=Object.prototype.hasOwnProperty;t.exports=function(t){if(!r(t))return i(t);var e=[];for(var n in Object(t))o.call(t,n)&&"constructor"!=n&&e.push(n);return e};},4949:(t,e,n)=>{var r=n(7226),i=n(6557),o=n(3448);t.exports=function(t,e,n){var a=0,s=null==t?a:t.length;if("number"==typeof e&&e==e&&s<=2147483647){for(;a>>1,l=t[u];null!==l&&!o(l)&&(n?l<=e:l{var r=n(3448),i=Math.floor,o=Math.min;t.exports=function(t,e,n,a){var s=0,u=null==t?0:t.length;if(0===u)return 0;for(var l=(e=n(e))!=e,c=null===e,h=r(e),f=void 0===e;s{t.exports=function(t,e){for(var n=-1,r=Array(t);++n{t.exports=function(t){return function(e){return t(e)}};},7415:(t,e,n)=>{var r=n(9932);t.exports=function(t,e){return r(e,(function(e){return t[e]}))};},4757:t=>{t.exports=function(t,e){return t.has(e)};},4429:(t,e,n)=>{var r=n(5639)["__core-js_shared__"];t.exports=r;},7114:(t,e,n)=>{var r=n(8668),i=n(2908),o=n(4757);t.exports=function(t,e,n,a,s,u){var l=1&n,c=t.length,h=e.length;if(c!=h&&!(l&&h>c))return !1;var f=u.get(t),p=u.get(e);if(f&&p)return f==e&&p==t;var d=-1,y=!0,m=2&n?new r:void 0;for(u.set(t,e),u.set(e,t);++d{var r=n(2705),i=n(1149),o=n(7813),a=n(7114),s=n(8776),u=n(1814),l=r?r.prototype:void 0,c=l?l.valueOf:void 0;t.exports=function(t,e,n,r,l,h,f){switch(n){case "[object DataView]":if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return !1;t=t.buffer,e=e.buffer;case "[object ArrayBuffer]":return !(t.byteLength!=e.byteLength||!h(new i(t),new i(e)));case "[object Boolean]":case "[object Date]":case "[object Number]":return o(+t,+e);case "[object Error]":return t.name==e.name&&t.message==e.message;case "[object RegExp]":case "[object String]":return t==e+"";case "[object Map]":var p=s;case "[object Set]":var d=1&r;if(p||(p=u),t.size!=e.size&&!d)return !1;var y=f.get(t);if(y)return y==e;r|=2,f.set(t,e);var m=a(p(t),p(e),r,l,h,f);return f.delete(t),m;case "[object Symbol]":if(c)return c.call(t)==c.call(e)}return !1};},6096:(t,e,n)=>{var r=n(8234),i=Object.prototype.hasOwnProperty;t.exports=function(t,e,n,o,a,s){var u=1&n,l=r(t),c=l.length;if(c!=r(e).length&&!u)return !1;for(var h=c;h--;){var f=l[h];if(!(u?f in e:i.call(e,f)))return !1}var p=s.get(t),d=s.get(e);if(p&&d)return p==e&&d==t;var y=!0;s.set(t,e),s.set(e,t);for(var m=u;++h{var r="object"==typeof n.g&&n.g&&n.g.Object===Object&&n.g;t.exports=r;},8234:(t,e,n)=>{var r=n(8866),i=n(9551),o=n(3674);t.exports=function(t){return r(t,o,i)};},5050:(t,e,n)=>{var r=n(7019);t.exports=function(t,e){var n=t.__data__;return r(e)?n["string"==typeof e?"string":"hash"]:n.map};},852:(t,e,n)=>{var r=n(8458),i=n(7801);t.exports=function(t,e){var n=i(t,e);return r(n)?n:void 0};},9607:(t,e,n)=>{var r=n(2705),i=Object.prototype,o=i.hasOwnProperty,a=i.toString,s=r?r.toStringTag:void 0;t.exports=function(t){var e=o.call(t,s),n=t[s];try{t[s]=void 0;var r=!0;}catch(t){}var i=a.call(t);return r&&(e?t[s]=n:delete t[s]),i};},9551:(t,e,n)=>{var r=n(4963),i=n(479),o=Object.prototype.propertyIsEnumerable,a=Object.getOwnPropertySymbols,s=a?function(t){return null==t?[]:(t=Object(t),r(a(t),(function(e){return o.call(t,e)})))}:i;t.exports=s;},4160:(t,e,n)=>{var r=n(8552),i=n(7071),o=n(3818),a=n(8525),s=n(577),u=n(4239),l=n(346),c="[object Map]",h="[object Promise]",f="[object Set]",p="[object WeakMap]",d="[object DataView]",y=l(r),m=l(i),g=l(o),_=l(a),b=l(s),v=u;(r&&v(new r(new ArrayBuffer(1)))!=d||i&&v(new i)!=c||o&&v(o.resolve())!=h||a&&v(new a)!=f||s&&v(new s)!=p)&&(v=function(t){var e=u(t),n="[object Object]"==e?t.constructor:void 0,r=n?l(n):"";if(r)switch(r){case y:return d;case m:return c;case g:return h;case _:return f;case b:return p}return e}),t.exports=v;},7801:t=>{t.exports=function(t,e){return null==t?void 0:t[e]};},1789:(t,e,n)=>{var r=n(4536);t.exports=function(){this.__data__=r?r(null):{},this.size=0;};},401:t=>{t.exports=function(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e};},7667:(t,e,n)=>{var r=n(4536),i=Object.prototype.hasOwnProperty;t.exports=function(t){var e=this.__data__;if(r){var n=e[t];return "__lodash_hash_undefined__"===n?void 0:n}return i.call(e,t)?e[t]:void 0};},1327:(t,e,n)=>{var r=n(4536),i=Object.prototype.hasOwnProperty;t.exports=function(t){var e=this.__data__;return r?void 0!==e[t]:i.call(e,t)};},1866:(t,e,n)=>{var r=n(4536);t.exports=function(t,e){var n=this.__data__;return this.size+=this.has(t)?0:1,n[t]=r&&void 0===e?"__lodash_hash_undefined__":e,this};},5776:t=>{var e=/^(?:0|[1-9]\d*)$/;t.exports=function(t,n){var r=typeof t;return !!(n=null==n?9007199254740991:n)&&("number"==r||"symbol"!=r&&e.test(t))&&t>-1&&t%1==0&&t{t.exports=function(t){var e=typeof t;return "string"==e||"number"==e||"symbol"==e||"boolean"==e?"__proto__"!==t:null===t};},5346:(t,e,n)=>{var r,i=n(4429),o=(r=/[^.]+$/.exec(i&&i.keys&&i.keys.IE_PROTO||""))?"Symbol(src)_1."+r:"";t.exports=function(t){return !!o&&o in t};},5726:t=>{var e=Object.prototype;t.exports=function(t){var n=t&&t.constructor;return t===("function"==typeof n&&n.prototype||e)};},7040:t=>{t.exports=function(){this.__data__=[],this.size=0;};},4125:(t,e,n)=>{var r=n(8470),i=Array.prototype.splice;t.exports=function(t){var e=this.__data__,n=r(e,t);return !(n<0||(n==e.length-1?e.pop():i.call(e,n,1),--this.size,0))};},2117:(t,e,n)=>{var r=n(8470);t.exports=function(t){var e=this.__data__,n=r(e,t);return n<0?void 0:e[n][1]};},7518:(t,e,n)=>{var r=n(8470);t.exports=function(t){return r(this.__data__,t)>-1};},4705:(t,e,n)=>{var r=n(8470);t.exports=function(t,e){var n=this.__data__,i=r(n,t);return i<0?(++this.size,n.push([t,e])):n[i][1]=e,this};},4785:(t,e,n)=>{var r=n(1989),i=n(8407),o=n(7071);t.exports=function(){this.size=0,this.__data__={hash:new r,map:new(o||i),string:new r};};},1285:(t,e,n)=>{var r=n(5050);t.exports=function(t){var e=r(this,t).delete(t);return this.size-=e?1:0,e};},6e3:(t,e,n)=>{var r=n(5050);t.exports=function(t){return r(this,t).get(t)};},9916:(t,e,n)=>{var r=n(5050);t.exports=function(t){return r(this,t).has(t)};},5265:(t,e,n)=>{var r=n(5050);t.exports=function(t,e){var n=r(this,t),i=n.size;return n.set(t,e),this.size+=n.size==i?0:1,this};},8776:t=>{t.exports=function(t){var e=-1,n=Array(t.size);return t.forEach((function(t,r){n[++e]=[r,t];})),n};},4536:(t,e,n)=>{var r=n(852)(Object,"create");t.exports=r;},6916:(t,e,n)=>{var r=n(5569)(Object.keys,Object);t.exports=r;},1167:(t,e,n)=>{t=n.nmd(t);var r=n(1957),i=e&&!e.nodeType&&e,o=i&&t&&!t.nodeType&&t,a=o&&o.exports===i&&r.process,s=function(){try{return o&&o.require&&o.require("util").types||a&&a.binding&&a.binding("util")}catch(t){}}();t.exports=s;},2333:t=>{var e=Object.prototype.toString;t.exports=function(t){return e.call(t)};},5569:t=>{t.exports=function(t,e){return function(n){return t(e(n))}};},5639:(t,e,n)=>{var r=n(1957),i="object"==typeof self&&self&&self.Object===Object&&self,o=r||i||Function("return this")();t.exports=o;},619:t=>{t.exports=function(t){return this.__data__.set(t,"__lodash_hash_undefined__"),this};},2385:t=>{t.exports=function(t){return this.__data__.has(t)};},1814:t=>{t.exports=function(t){var e=-1,n=Array(t.size);return t.forEach((function(t){n[++e]=t;})),n};},7465:(t,e,n)=>{var r=n(8407);t.exports=function(){this.__data__=new r,this.size=0;};},3779:t=>{t.exports=function(t){var e=this.__data__,n=e.delete(t);return this.size=e.size,n};},7599:t=>{t.exports=function(t){return this.__data__.get(t)};},4758:t=>{t.exports=function(t){return this.__data__.has(t)};},4309:(t,e,n)=>{var r=n(8407),i=n(7071),o=n(3369);t.exports=function(t,e){var n=this.__data__;if(n instanceof r){var a=n.__data__;if(!i||a.length<199)return a.push([t,e]),this.size=++n.size,this;n=this.__data__=new o(a);}return n.set(t,e),this.size=n.size,this};},346:t=>{var e=Function.prototype.toString;t.exports=function(t){if(null!=t){try{return e.call(t)}catch(t){}try{return t+""}catch(t){}}return ""};},7813:t=>{t.exports=function(t,e){return t===e||t!=t&&e!=e};},6557:t=>{t.exports=function(t){return t};},5694:(t,e,n)=>{var r=n(9454),i=n(7005),o=Object.prototype,a=o.hasOwnProperty,s=o.propertyIsEnumerable,u=r(function(){return arguments}())?r:function(t){return i(t)&&a.call(t,"callee")&&!s.call(t,"callee")};t.exports=u;},1469:t=>{var e=Array.isArray;t.exports=e;},8612:(t,e,n)=>{var r=n(3560),i=n(1780);t.exports=function(t){return null!=t&&i(t.length)&&!r(t)};},4144:(t,e,n)=>{t=n.nmd(t);var r=n(5639),i=n(5062),o=e&&!e.nodeType&&e,a=o&&t&&!t.nodeType&&t,s=a&&a.exports===o?r.Buffer:void 0,u=(s?s.isBuffer:void 0)||i;t.exports=u;},8446:(t,e,n)=>{var r=n(939);t.exports=function(t,e){return r(t,e)};},3560:(t,e,n)=>{var r=n(4239),i=n(3218);t.exports=function(t){if(!i(t))return !1;var e=r(t);return "[object Function]"==e||"[object GeneratorFunction]"==e||"[object AsyncFunction]"==e||"[object Proxy]"==e};},1780:t=>{t.exports=function(t){return "number"==typeof t&&t>-1&&t%1==0&&t<=9007199254740991};},4293:t=>{t.exports=function(t){return null==t};},3218:t=>{t.exports=function(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)};},7005:t=>{t.exports=function(t){return null!=t&&"object"==typeof t};},3448:(t,e,n)=>{var r=n(4239),i=n(7005);t.exports=function(t){return "symbol"==typeof t||i(t)&&"[object Symbol]"==r(t)};},6719:(t,e,n)=>{var r=n(8749),i=n(1717),o=n(1167),a=o&&o.isTypedArray,s=a?i(a):r;t.exports=s;},3674:(t,e,n)=>{var r=n(4636),i=n(280),o=n(8612);t.exports=function(t){return o(t)?r(t):i(t)};},1159:(t,e,n)=>{var r=n(4949);t.exports=function(t,e){return r(t,e)};},5871:(t,e,n)=>{var r=n(4949),i=n(7813);t.exports=function(t,e){var n=null==t?0:t.length;if(n){var o=r(t,e);if(o{t.exports=function(){return []};},5062:t=>{t.exports=function(){return !1};},2628:(t,e,n)=>{var r=n(7415),i=n(3674);t.exports=function(t){return null==t?[]:r(t,i(t))};},3085:(t,e,n)=>{"use strict";var r=n(5108);const i=n(9742),o=n(645),a="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;e.lW=l,e.h2=50;const s=2147483647;function u(t){if(t>s)throw new RangeError('The value "'+t+'" is invalid for option "size"');const e=new Uint8Array(t);return Object.setPrototypeOf(e,l.prototype),e}function l(t,e,n){if("number"==typeof t){if("string"==typeof e)throw new TypeError('The "string" argument must be of type string. Received type number');return f(t)}return c(t,e,n)}function c(t,e,n){if("string"==typeof t)return function(t,e){if("string"==typeof e&&""!==e||(e="utf8"),!l.isEncoding(e))throw new TypeError("Unknown encoding: "+e);const n=0|m(t,e);let r=u(n);const i=r.write(t,e);return i!==n&&(r=r.slice(0,i)),r}(t,e);if(ArrayBuffer.isView(t))return function(t){if(Q(t,Uint8Array)){const e=new Uint8Array(t);return d(e.buffer,e.byteOffset,e.byteLength)}return p(t)}(t);if(null==t)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t);if(Q(t,ArrayBuffer)||t&&Q(t.buffer,ArrayBuffer))return d(t,e,n);if("undefined"!=typeof SharedArrayBuffer&&(Q(t,SharedArrayBuffer)||t&&Q(t.buffer,SharedArrayBuffer)))return d(t,e,n);if("number"==typeof t)throw new TypeError('The "value" argument must not be of type number. Received type number');const r=t.valueOf&&t.valueOf();if(null!=r&&r!==t)return l.from(r,e,n);const i=function(t){if(l.isBuffer(t)){const e=0|y(t.length),n=u(e);return 0===n.length||t.copy(n,0,0,e),n}return void 0!==t.length?"number"!=typeof t.length||K(t.length)?u(0):p(t):"Buffer"===t.type&&Array.isArray(t.data)?p(t.data):void 0}(t);if(i)return i;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof t[Symbol.toPrimitive])return l.from(t[Symbol.toPrimitive]("string"),e,n);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t)}function h(t){if("number"!=typeof t)throw new TypeError('"size" argument must be of type number');if(t<0)throw new RangeError('The value "'+t+'" is invalid for option "size"')}function f(t){return h(t),u(t<0?0:0|y(t))}function p(t){const e=t.length<0?0:0|y(t.length),n=u(e);for(let r=0;r=s)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+s.toString(16)+" bytes");return 0|t}function m(t,e){if(l.isBuffer(t))return t.length;if(ArrayBuffer.isView(t)||Q(t,ArrayBuffer))return t.byteLength;if("string"!=typeof t)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof t);const n=t.length,r=arguments.length>2&&!0===arguments[2];if(!r&&0===n)return 0;let i=!1;for(;;)switch(e){case "ascii":case "latin1":case "binary":return n;case "utf8":case "utf-8":return X(t).length;case "ucs2":case "ucs-2":case "utf16le":case "utf-16le":return 2*n;case "hex":return n>>>1;case "base64":return Y(t).length;default:if(i)return r?-1:X(t).length;e=(""+e).toLowerCase(),i=!0;}}function g(t,e,n){let r=!1;if((void 0===e||e<0)&&(e=0),e>this.length)return "";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return "";if((n>>>=0)<=(e>>>=0))return "";for(t||(t="utf8");;)switch(t){case "hex":return I(this,e,n);case "utf8":case "utf-8":return S(this,e,n);case "ascii":return O(this,e,n);case "latin1":case "binary":return A(this,e,n);case "base64":return M(this,e,n);case "ucs2":case "ucs-2":case "utf16le":case "utf-16le":return P(this,e,n);default:if(r)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),r=!0;}}function _(t,e,n){const r=t[e];t[e]=t[n],t[n]=r;}function b(t,e,n,r,i){if(0===t.length)return -1;if("string"==typeof n?(r=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),K(n=+n)&&(n=i?0:t.length-1),n<0&&(n=t.length+n),n>=t.length){if(i)return -1;n=t.length-1;}else if(n<0){if(!i)return -1;n=0;}if("string"==typeof e&&(e=l.from(e,r)),l.isBuffer(e))return 0===e.length?-1:v(t,e,n,r,i);if("number"==typeof e)return e&=255,"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(t,e,n):Uint8Array.prototype.lastIndexOf.call(t,e,n):v(t,[e],n,r,i);throw new TypeError("val must be string, number or Buffer")}function v(t,e,n,r,i){let o,a=1,s=t.length,u=e.length;if(void 0!==r&&("ucs2"===(r=String(r).toLowerCase())||"ucs-2"===r||"utf16le"===r||"utf-16le"===r)){if(t.length<2||e.length<2)return -1;a=2,s/=2,u/=2,n/=2;}function l(t,e){return 1===a?t[e]:t.readUInt16BE(e*a)}if(i){let r=-1;for(o=n;os&&(n=s-u),o=n;o>=0;o--){let n=!0;for(let r=0;ri&&(r=i):r=i;const o=e.length;let a;for(r>o/2&&(r=o/2),a=0;a>8,i=n%256,o.push(i),o.push(r);return o}(e,t.length-n),t,n,r)}function M(t,e,n){return 0===e&&n===t.length?i.fromByteArray(t):i.fromByteArray(t.slice(e,n))}function S(t,e,n){n=Math.min(t.length,n);const r=[];let i=e;for(;i239?4:e>223?3:e>191?2:1;if(i+a<=n){let n,r,s,u;switch(a){case 1:e<128&&(o=e);break;case 2:n=t[i+1],128==(192&n)&&(u=(31&e)<<6|63&n,u>127&&(o=u));break;case 3:n=t[i+1],r=t[i+2],128==(192&n)&&128==(192&r)&&(u=(15&e)<<12|(63&n)<<6|63&r,u>2047&&(u<55296||u>57343)&&(o=u));break;case 4:n=t[i+1],r=t[i+2],s=t[i+3],128==(192&n)&&128==(192&r)&&128==(192&s)&&(u=(15&e)<<18|(63&n)<<12|(63&r)<<6|63&s,u>65535&&u<1114112&&(o=u));}}null===o?(o=65533,a=1):o>65535&&(o-=65536,r.push(o>>>10&1023|55296),o=56320|1023&o),r.push(o),i+=a;}return function(t){const e=t.length;if(e<=N)return String.fromCharCode.apply(String,t);let n="",r=0;for(;rr.length?(l.isBuffer(e)||(e=l.from(e)),e.copy(r,i)):Uint8Array.prototype.set.call(r,e,i);else {if(!l.isBuffer(e))throw new TypeError('"list" argument must be an Array of Buffers');e.copy(r,i);}i+=e.length;}return r},l.byteLength=m,l.prototype._isBuffer=!0,l.prototype.swap16=function(){const t=this.length;if(t%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let e=0;en&&(t+=" ... "),""},a&&(l.prototype[a]=l.prototype.inspect),l.prototype.compare=function(t,e,n,r,i){if(Q(t,Uint8Array)&&(t=l.from(t,t.offset,t.byteLength)),!l.isBuffer(t))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof t);if(void 0===e&&(e=0),void 0===n&&(n=t?t.length:0),void 0===r&&(r=0),void 0===i&&(i=this.length),e<0||n>t.length||r<0||i>this.length)throw new RangeError("out of range index");if(r>=i&&e>=n)return 0;if(r>=i)return -1;if(e>=n)return 1;if(this===t)return 0;let o=(i>>>=0)-(r>>>=0),a=(n>>>=0)-(e>>>=0);const s=Math.min(o,a),u=this.slice(r,i),c=t.slice(e,n);for(let t=0;t>>=0,isFinite(n)?(n>>>=0,void 0===r&&(r="utf8")):(r=n,n=void 0);}const i=this.length-e;if((void 0===n||n>i)&&(n=i),t.length>0&&(n<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");r||(r="utf8");let o=!1;for(;;)switch(r){case "hex":return T(this,t,e,n);case "utf8":case "utf-8":return E(this,t,e,n);case "ascii":case "latin1":case "binary":return w(this,t,e,n);case "base64":return x(this,t,e,n);case "ucs2":case "ucs-2":case "utf16le":case "utf-16le":return C(this,t,e,n);default:if(o)throw new TypeError("Unknown encoding: "+r);r=(""+r).toLowerCase(),o=!0;}},l.prototype.toJSON=function(){return {type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};const N=4096;function O(t,e,n){let r="";n=Math.min(t.length,n);for(let i=e;ir)&&(n=r);let i="";for(let r=e;rn)throw new RangeError("Trying to access beyond buffer length")}function L(t,e,n,r,i,o){if(!l.isBuffer(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>i||et.length)throw new RangeError("Index out of range")}function D(t,e,n,r,i){q(e,r,i,t,n,7);let o=Number(e&BigInt(4294967295));t[n++]=o,o>>=8,t[n++]=o,o>>=8,t[n++]=o,o>>=8,t[n++]=o;let a=Number(e>>BigInt(32)&BigInt(4294967295));return t[n++]=a,a>>=8,t[n++]=a,a>>=8,t[n++]=a,a>>=8,t[n++]=a,n}function k(t,e,n,r,i){q(e,r,i,t,n,7);let o=Number(e&BigInt(4294967295));t[n+7]=o,o>>=8,t[n+6]=o,o>>=8,t[n+5]=o,o>>=8,t[n+4]=o;let a=Number(e>>BigInt(32)&BigInt(4294967295));return t[n+3]=a,a>>=8,t[n+2]=a,a>>=8,t[n+1]=a,a>>=8,t[n]=a,n+8}function F(t,e,n,r,i,o){if(n+r>t.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("Index out of range")}function U(t,e,n,r,i){return e=+e,n>>>=0,i||F(t,0,n,4),o.write(t,e,n,r,23,4),n+4}function B(t,e,n,r,i){return e=+e,n>>>=0,i||F(t,0,n,8),o.write(t,e,n,r,52,8),n+8}l.prototype.slice=function(t,e){const n=this.length;(t=~~t)<0?(t+=n)<0&&(t=0):t>n&&(t=n),(e=void 0===e?n:~~e)<0?(e+=n)<0&&(e=0):e>n&&(e=n),e>>=0,e>>>=0,n||R(t,e,this.length);let r=this[t],i=1,o=0;for(;++o>>=0,e>>>=0,n||R(t,e,this.length);let r=this[t+--e],i=1;for(;e>0&&(i*=256);)r+=this[t+--e]*i;return r},l.prototype.readUint8=l.prototype.readUInt8=function(t,e){return t>>>=0,e||R(t,1,this.length),this[t]},l.prototype.readUint16LE=l.prototype.readUInt16LE=function(t,e){return t>>>=0,e||R(t,2,this.length),this[t]|this[t+1]<<8},l.prototype.readUint16BE=l.prototype.readUInt16BE=function(t,e){return t>>>=0,e||R(t,2,this.length),this[t]<<8|this[t+1]},l.prototype.readUint32LE=l.prototype.readUInt32LE=function(t,e){return t>>>=0,e||R(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},l.prototype.readUint32BE=l.prototype.readUInt32BE=function(t,e){return t>>>=0,e||R(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},l.prototype.readBigUInt64LE=$((function(t){H(t>>>=0,"offset");const e=this[t],n=this[t+7];void 0!==e&&void 0!==n||z(t,this.length-8);const r=e+256*this[++t]+65536*this[++t]+this[++t]*2**24,i=this[++t]+256*this[++t]+65536*this[++t]+n*2**24;return BigInt(r)+(BigInt(i)<>>=0,"offset");const e=this[t],n=this[t+7];void 0!==e&&void 0!==n||z(t,this.length-8);const r=e*2**24+65536*this[++t]+256*this[++t]+this[++t],i=this[++t]*2**24+65536*this[++t]+256*this[++t]+n;return (BigInt(r)<>>=0,e>>>=0,n||R(t,e,this.length);let r=this[t],i=1,o=0;for(;++o=i&&(r-=Math.pow(2,8*e)),r},l.prototype.readIntBE=function(t,e,n){t>>>=0,e>>>=0,n||R(t,e,this.length);let r=e,i=1,o=this[t+--r];for(;r>0&&(i*=256);)o+=this[t+--r]*i;return i*=128,o>=i&&(o-=Math.pow(2,8*e)),o},l.prototype.readInt8=function(t,e){return t>>>=0,e||R(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},l.prototype.readInt16LE=function(t,e){t>>>=0,e||R(t,2,this.length);const n=this[t]|this[t+1]<<8;return 32768&n?4294901760|n:n},l.prototype.readInt16BE=function(t,e){t>>>=0,e||R(t,2,this.length);const n=this[t+1]|this[t]<<8;return 32768&n?4294901760|n:n},l.prototype.readInt32LE=function(t,e){return t>>>=0,e||R(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},l.prototype.readInt32BE=function(t,e){return t>>>=0,e||R(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},l.prototype.readBigInt64LE=$((function(t){H(t>>>=0,"offset");const e=this[t],n=this[t+7];void 0!==e&&void 0!==n||z(t,this.length-8);const r=this[t+4]+256*this[t+5]+65536*this[t+6]+(n<<24);return (BigInt(r)<>>=0,"offset");const e=this[t],n=this[t+7];void 0!==e&&void 0!==n||z(t,this.length-8);const r=(e<<24)+65536*this[++t]+256*this[++t]+this[++t];return (BigInt(r)<>>=0,e||R(t,4,this.length),o.read(this,t,!0,23,4)},l.prototype.readFloatBE=function(t,e){return t>>>=0,e||R(t,4,this.length),o.read(this,t,!1,23,4)},l.prototype.readDoubleLE=function(t,e){return t>>>=0,e||R(t,8,this.length),o.read(this,t,!0,52,8)},l.prototype.readDoubleBE=function(t,e){return t>>>=0,e||R(t,8,this.length),o.read(this,t,!1,52,8)},l.prototype.writeUintLE=l.prototype.writeUIntLE=function(t,e,n,r){t=+t,e>>>=0,n>>>=0,r||L(this,t,e,n,Math.pow(2,8*n)-1,0);let i=1,o=0;for(this[e]=255&t;++o>>=0,n>>>=0,r||L(this,t,e,n,Math.pow(2,8*n)-1,0);let i=n-1,o=1;for(this[e+i]=255&t;--i>=0&&(o*=256);)this[e+i]=t/o&255;return e+n},l.prototype.writeUint8=l.prototype.writeUInt8=function(t,e,n){return t=+t,e>>>=0,n||L(this,t,e,1,255,0),this[e]=255&t,e+1},l.prototype.writeUint16LE=l.prototype.writeUInt16LE=function(t,e,n){return t=+t,e>>>=0,n||L(this,t,e,2,65535,0),this[e]=255&t,this[e+1]=t>>>8,e+2},l.prototype.writeUint16BE=l.prototype.writeUInt16BE=function(t,e,n){return t=+t,e>>>=0,n||L(this,t,e,2,65535,0),this[e]=t>>>8,this[e+1]=255&t,e+2},l.prototype.writeUint32LE=l.prototype.writeUInt32LE=function(t,e,n){return t=+t,e>>>=0,n||L(this,t,e,4,4294967295,0),this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t,e+4},l.prototype.writeUint32BE=l.prototype.writeUInt32BE=function(t,e,n){return t=+t,e>>>=0,n||L(this,t,e,4,4294967295,0),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},l.prototype.writeBigUInt64LE=$((function(t,e=0){return D(this,t,e,BigInt(0),BigInt("0xffffffffffffffff"))})),l.prototype.writeBigUInt64BE=$((function(t,e=0){return k(this,t,e,BigInt(0),BigInt("0xffffffffffffffff"))})),l.prototype.writeIntLE=function(t,e,n,r){if(t=+t,e>>>=0,!r){const r=Math.pow(2,8*n-1);L(this,t,e,n,r-1,-r);}let i=0,o=1,a=0;for(this[e]=255&t;++i>0)-a&255;return e+n},l.prototype.writeIntBE=function(t,e,n,r){if(t=+t,e>>>=0,!r){const r=Math.pow(2,8*n-1);L(this,t,e,n,r-1,-r);}let i=n-1,o=1,a=0;for(this[e+i]=255&t;--i>=0&&(o*=256);)t<0&&0===a&&0!==this[e+i+1]&&(a=1),this[e+i]=(t/o>>0)-a&255;return e+n},l.prototype.writeInt8=function(t,e,n){return t=+t,e>>>=0,n||L(this,t,e,1,127,-128),t<0&&(t=255+t+1),this[e]=255&t,e+1},l.prototype.writeInt16LE=function(t,e,n){return t=+t,e>>>=0,n||L(this,t,e,2,32767,-32768),this[e]=255&t,this[e+1]=t>>>8,e+2},l.prototype.writeInt16BE=function(t,e,n){return t=+t,e>>>=0,n||L(this,t,e,2,32767,-32768),this[e]=t>>>8,this[e+1]=255&t,e+2},l.prototype.writeInt32LE=function(t,e,n){return t=+t,e>>>=0,n||L(this,t,e,4,2147483647,-2147483648),this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24,e+4},l.prototype.writeInt32BE=function(t,e,n){return t=+t,e>>>=0,n||L(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},l.prototype.writeBigInt64LE=$((function(t,e=0){return D(this,t,e,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),l.prototype.writeBigInt64BE=$((function(t,e=0){return k(this,t,e,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),l.prototype.writeFloatLE=function(t,e,n){return U(this,t,e,!0,n)},l.prototype.writeFloatBE=function(t,e,n){return U(this,t,e,!1,n)},l.prototype.writeDoubleLE=function(t,e,n){return B(this,t,e,!0,n)},l.prototype.writeDoubleBE=function(t,e,n){return B(this,t,e,!1,n)},l.prototype.copy=function(t,e,n,r){if(!l.isBuffer(t))throw new TypeError("argument should be a Buffer");if(n||(n=0),r||0===r||(r=this.length),e>=t.length&&(e=t.length),e||(e=0),r>0&&r=this.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("sourceEnd out of bounds");r>this.length&&(r=this.length),t.length-e>>=0,n=void 0===n?this.length:n>>>0,t||(t=0),"number"==typeof t)for(i=e;i=r+4;n-=3)e=`_${t.slice(n-3,n)}${e}`;return `${t.slice(0,n)}${e}`}function q(t,e,n,r,i,o){if(t>n||t3?0===e||e===BigInt(0)?`>= 0${r} and < 2${r} ** ${8*(o+1)}${r}`:`>= -(2${r} ** ${8*(o+1)-1}${r}) and < 2 ** ${8*(o+1)-1}${r}`:`>= ${e}${r} and <= ${n}${r}`,new j.ERR_OUT_OF_RANGE("value",i,t)}!function(t,e,n){H(e,"offset"),void 0!==t[e]&&void 0!==t[e+n]||z(e,t.length-(n+1));}(r,i,o);}function H(t,e){if("number"!=typeof t)throw new j.ERR_INVALID_ARG_TYPE(e,"number",t)}function z(t,e,n){if(Math.floor(t)!==t)throw H(t,n),new j.ERR_OUT_OF_RANGE(n||"offset","an integer",t);if(e<0)throw new j.ERR_BUFFER_OUT_OF_BOUNDS;throw new j.ERR_OUT_OF_RANGE(n||"offset",`>= ${n?1:0} and <= ${e}`,t)}G("ERR_BUFFER_OUT_OF_BOUNDS",(function(t){return t?`${t} is outside of buffer bounds`:"Attempt to access memory outside buffer bounds"}),RangeError),G("ERR_INVALID_ARG_TYPE",(function(t,e){return `The "${t}" argument must be of type number. Received type ${typeof e}`}),TypeError),G("ERR_OUT_OF_RANGE",(function(t,e,n){let r=`The value of "${t}" is out of range.`,i=n;return Number.isInteger(n)&&Math.abs(n)>2**32?i=W(String(n)):"bigint"==typeof n&&(i=String(n),(n>BigInt(2)**BigInt(32)||n<-(BigInt(2)**BigInt(32)))&&(i=W(i)),i+="n"),r+=` It must be ${e}. Received ${i}`,r}),RangeError);const V=/[^+/0-9A-Za-z-_]/g;function X(t,e){let n;e=e||1/0;const r=t.length;let i=null;const o=[];for(let a=0;a55295&&n<57344){if(!i){if(n>56319){(e-=3)>-1&&o.push(239,191,189);continue}if(a+1===r){(e-=3)>-1&&o.push(239,191,189);continue}i=n;continue}if(n<56320){(e-=3)>-1&&o.push(239,191,189),i=n;continue}n=65536+(i-55296<<10|n-56320);}else i&&(e-=3)>-1&&o.push(239,191,189);if(i=null,n<128){if((e-=1)<0)break;o.push(n);}else if(n<2048){if((e-=2)<0)break;o.push(n>>6|192,63&n|128);}else if(n<65536){if((e-=3)<0)break;o.push(n>>12|224,n>>6&63|128,63&n|128);}else {if(!(n<1114112))throw new Error("Invalid code point");if((e-=4)<0)break;o.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128);}}return o}function Y(t){return i.toByteArray(function(t){if((t=(t=t.split("=")[0]).trim().replace(V,"")).length<2)return "";for(;t.length%4!=0;)t+="=";return t}(t))}function Z(t,e,n,r){let i;for(i=0;i=e.length||i>=t.length);++i)e[i+n]=t[i];return i}function Q(t,e){return t instanceof e||null!=t&&null!=t.constructor&&null!=t.constructor.name&&t.constructor.name===e.name}function K(t){return t!=t}const J=function(){const t="0123456789abcdef",e=new Array(256);for(let n=0;n<16;++n){const r=16*n;for(let i=0;i<16;++i)e[r+i]=t[n]+t[i];}return e}();function $(t){return "undefined"==typeof BigInt?tt:t}function tt(){throw new Error("BigInt not supported")}},3935:(t,e,n)=>{"use strict";var r=n(4155);function i(t){if("string"!=typeof t)throw new TypeError("Path must be a string. Received "+JSON.stringify(t))}function o(t,e){for(var n,r="",i=0,o=-1,a=0,s=0;s<=t.length;++s){if(s2){var u=r.lastIndexOf("/");if(u!==r.length-1){-1===u?(r="",i=0):i=(r=r.slice(0,u)).length-1-r.lastIndexOf("/"),o=s,a=0;continue}}else if(2===r.length||1===r.length){r="",i=0,o=s,a=0;continue}e&&(r.length>0?r+="/..":r="..",i=2);}else r.length>0?r+="/"+t.slice(o+1,s):r=t.slice(o+1,s),i=s-o-1;o=s,a=0;}else 46===n&&-1!==a?++a:a=-1;}return r}var a={resolve:function(){for(var t,e="",n=!1,a=arguments.length-1;a>=-1&&!n;a--){var s;a>=0?s=arguments[a]:(void 0===t&&(t=r.cwd()),s=t),i(s),0!==s.length&&(e=s+"/"+e,n=47===s.charCodeAt(0));}return e=o(e,!n),n?e.length>0?"/"+e:"/":e.length>0?e:"."},normalize:function(t){if(i(t),0===t.length)return ".";var e=47===t.charCodeAt(0),n=47===t.charCodeAt(t.length-1);return 0!==(t=o(t,!e)).length||e||(t="."),t.length>0&&n&&(t+="/"),e?"/"+t:t},isAbsolute:function(t){return i(t),t.length>0&&47===t.charCodeAt(0)},join:function(){if(0===arguments.length)return ".";for(var t,e=0;e0&&(void 0===t?t=n:t+="/"+n);}return void 0===t?".":a.normalize(t)},relative:function(t,e){if(i(t),i(e),t===e)return "";if((t=a.resolve(t))===(e=a.resolve(e)))return "";for(var n=1;nl){if(47===e.charCodeAt(s+h))return e.slice(s+h+1);if(0===h)return e.slice(s+h)}else o>l&&(47===t.charCodeAt(n+h)?c=h:0===h&&(c=0));break}var f=t.charCodeAt(n+h);if(f!==e.charCodeAt(s+h))break;47===f&&(c=h);}var p="";for(h=n+c+1;h<=r;++h)h!==r&&47!==t.charCodeAt(h)||(0===p.length?p+="..":p+="/..");return p.length>0?p+e.slice(s+c):(s+=c,47===e.charCodeAt(s)&&++s,e.slice(s))},_makeLong:function(t){return t},dirname:function(t){if(i(t),0===t.length)return ".";for(var e=t.charCodeAt(0),n=47===e,r=-1,o=!0,a=t.length-1;a>=1;--a)if(47===(e=t.charCodeAt(a))){if(!o){r=a;break}}else o=!1;return -1===r?n?"/":".":n&&1===r?"//":t.slice(0,r)},basename:function(t,e){if(void 0!==e&&"string"!=typeof e)throw new TypeError('"ext" argument must be a string');i(t);var n,r=0,o=-1,a=!0;if(void 0!==e&&e.length>0&&e.length<=t.length){if(e.length===t.length&&e===t)return "";var s=e.length-1,u=-1;for(n=t.length-1;n>=0;--n){var l=t.charCodeAt(n);if(47===l){if(!a){r=n+1;break}}else -1===u&&(a=!1,u=n+1),s>=0&&(l===e.charCodeAt(s)?-1==--s&&(o=n):(s=-1,o=u));}return r===o?o=u:-1===o&&(o=t.length),t.slice(r,o)}for(n=t.length-1;n>=0;--n)if(47===t.charCodeAt(n)){if(!a){r=n+1;break}}else -1===o&&(a=!1,o=n+1);return -1===o?"":t.slice(r,o)},extname:function(t){i(t);for(var e=-1,n=0,r=-1,o=!0,a=0,s=t.length-1;s>=0;--s){var u=t.charCodeAt(s);if(47!==u)-1===r&&(o=!1,r=s+1),46===u?-1===e?e=s:1!==a&&(a=1):-1!==e&&(a=-1);else if(!o){n=s+1;break}}return -1===e||-1===r||0===a||1===a&&e===r-1&&e===n+1?"":t.slice(e,r)},format:function(t){if(null===t||"object"!=typeof t)throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof t);return function(t,e){var n=e.dir||e.root,r=e.base||(e.name||"")+(e.ext||"");return n?n===e.root?n+r:n+"/"+r:r}(0,t)},parse:function(t){i(t);var e={root:"",dir:"",base:"",ext:"",name:""};if(0===t.length)return e;var n,r=t.charCodeAt(0),o=47===r;o?(e.root="/",n=1):n=0;for(var a=-1,s=0,u=-1,l=!0,c=t.length-1,h=0;c>=n;--c)if(47!==(r=t.charCodeAt(c)))-1===u&&(l=!1,u=c+1),46===r?-1===a?a=c:1!==h&&(h=1):-1!==a&&(h=-1);else if(!l){s=c+1;break}return -1===a||-1===u||0===h||1===h&&a===u-1&&a===s+1?-1!==u&&(e.base=e.name=0===s&&o?t.slice(1,u):t.slice(s,u)):(0===s&&o?(e.name=t.slice(1,a),e.base=t.slice(1,u)):(e.name=t.slice(s,a),e.base=t.slice(s,u)),e.ext=t.slice(a,u)),s>0?e.dir=t.slice(0,s-1):o&&(e.dir="/"),e},sep:"/",delimiter:":",win32:null,posix:null};a.posix=a,t.exports=a;},7418:t=>{"use strict";var e=Object.getOwnPropertySymbols,n=Object.prototype.hasOwnProperty,r=Object.prototype.propertyIsEnumerable;t.exports=function(){try{if(!Object.assign)return !1;var t=new String("abc");if(t[5]="de","5"===Object.getOwnPropertyNames(t)[0])return !1;for(var e={},n=0;n<10;n++)e["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(e).map((function(t){return e[t]})).join(""))return !1;var r={};return "abcdefghijklmnopqrst".split("").forEach((function(t){r[t]=t;})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},r)).join("")}catch(t){return !1}}()?Object.assign:function(t,i){for(var o,a,s=function(t){if(null==t)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(t)}(t),u=1;u{e.endianness=function(){return "LE"},e.hostname=function(){return "undefined"!=typeof location?location.hostname:""},e.loadavg=function(){return []},e.uptime=function(){return 0},e.freemem=function(){return Number.MAX_VALUE},e.totalmem=function(){return Number.MAX_VALUE},e.cpus=function(){return []},e.type=function(){return "Browser"},e.release=function(){return "undefined"!=typeof navigator?navigator.appVersion:""},e.networkInterfaces=e.getNetworkInterfaces=function(){return {}},e.arch=function(){return "javascript"},e.platform=function(){return "browser"},e.tmpdir=e.tmpDir=function(){return "/tmp"},e.EOL="\n",e.homedir=function(){return "/"};},8985:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Deferred=void 0,e.Deferred=class{constructor(){this.resolve=()=>null,this.reject=()=>null,this.promise=new Promise(((t,e)=>{this.reject=e,this.resolve=t;}));}};},7279:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.EndOfStreamError=e.defaultMessages=void 0,e.defaultMessages="End-Of-Stream";class n extends Error{constructor(){super(e.defaultMessages);}}e.EndOfStreamError=n;},6654:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.StreamReader=e.EndOfStreamError=void 0;const r=n(7279),i=n(8985);var o=n(7279);Object.defineProperty(e,"EndOfStreamError",{enumerable:!0,get:function(){return o.EndOfStreamError}}),e.StreamReader=class{constructor(t){if(this.s=t,this.deferred=null,this.endOfStream=!1,this.peekQueue=[],!t.read||!t.once)throw new Error("Expected an instance of stream.Readable");this.s.once("end",(()=>this.reject(new r.EndOfStreamError))),this.s.once("error",(t=>this.reject(t))),this.s.once("close",(()=>this.reject(new Error("Stream closed"))));}async peek(t,e,n){const r=await this.read(t,e,n);return this.peekQueue.push(t.subarray(e,e+r)),r}async read(t,e,n){if(0===n)return 0;if(0===this.peekQueue.length&&this.endOfStream)throw new r.EndOfStreamError;let i=n,o=0;for(;this.peekQueue.length>0&&i>0;){const n=this.peekQueue.pop();if(!n)throw new Error("peekData should be defined");const r=Math.min(n.length,i);t.set(n.subarray(0,r),e+o),o+=r,i-=r,r0&&!this.endOfStream;){const n=Math.min(i,1048576),r=await this.readFromStream(t,e+o,n);if(o+=r,r{this.readDeferred(r);})),r.deferred.promise}}readDeferred(t){const e=this.s.read(t.length);e?(t.buffer.set(e,t.offset),t.deferred.resolve(e.length),this.deferred=null):this.s.once("readable",(()=>{this.readDeferred(t);}));}reject(t){this.endOfStream=!0,this.deferred&&(this.deferred.reject(t),this.deferred=null);}};},5167:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.StreamReader=e.EndOfStreamError=void 0;var r=n(7279);Object.defineProperty(e,"EndOfStreamError",{enumerable:!0,get:function(){return r.EndOfStreamError}});var i=n(6654);Object.defineProperty(e,"StreamReader",{enumerable:!0,get:function(){return i.StreamReader}});},2676:function(t,e,n){var r=n(4155);t.exports=function(){"use strict";function t(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function e(t,e){for(var n=0;ne?1:t0))break;if(null===e.right)break;if(n(t,e.right.key)>0&&(u=e.right,e.right=u.left,u.left=e,null===(e=u).right))break;o.right=e,o=e,e=e.right;}}return o.right=e.left,a.left=e.right,e.left=r.right,e.right=r.left,e}function s(t,e,n,r){var o=new i(t,e);if(null===n)return o.left=o.right=null,o;var s=r(t,(n=a(t,n,r)).key);return s<0?(o.left=n.left,o.right=n,n.left=null):s>=0&&(o.right=n.right,o.left=n,n.right=null),o}function u(t,e,n){var r=null,i=null;if(e){var o=n((e=a(t,e,n)).key,t);0===o?(r=e.left,i=e.right):o<0?(i=e.right,e.right=null,r=e):(r=e.left,e.left=null,i=e);}return {left:r,right:i}}function l(t,e,n,r,i){if(t){r(e+(n?"└── ":"├── ")+i(t)+"\n");var o=e+(n?" ":"│ ");t.left&&l(t.left,o,!1,r,i),t.right&&l(t.right,o,!0,r,i);}}var c=function(){function t(t){void 0===t&&(t=o),this._root=null,this._size=0,this._comparator=t;}return t.prototype.insert=function(t,e){return this._size++,this._root=s(t,e,this._root,this._comparator)},t.prototype.add=function(t,e){var n=new i(t,e);null===this._root&&(n.left=n.right=null,this._size++,this._root=n);var r=this._comparator,o=a(t,this._root,r),s=r(t,o.key);return 0===s?this._root=o:(s<0?(n.left=o.left,n.right=o,o.left=null):s>0&&(n.right=o.right,n.left=o,o.right=null),this._size++,this._root=n),this._root},t.prototype.remove=function(t){this._root=this._remove(t,this._root,this._comparator);},t.prototype._remove=function(t,e,n){var r;return null===e?null:0===n(t,(e=a(t,e,n)).key)?(null===e.left?r=e.right:(r=a(t,e.left,n)).right=e.right,this._size--,r):e},t.prototype.pop=function(){var t=this._root;if(t){for(;t.left;)t=t.left;return this._root=a(t.key,this._root,this._comparator),this._root=this._remove(t.key,this._root,this._comparator),{key:t.key,data:t.data}}return null},t.prototype.findStatic=function(t){for(var e=this._root,n=this._comparator;e;){var r=n(t,e.key);if(0===r)return e;e=r<0?e.left:e.right;}return null},t.prototype.find=function(t){return this._root&&(this._root=a(t,this._root,this._comparator),0!==this._comparator(t,this._root.key))?null:this._root},t.prototype.contains=function(t){for(var e=this._root,n=this._comparator;e;){var r=n(t,e.key);if(0===r)return !0;e=r<0?e.left:e.right;}return !1},t.prototype.forEach=function(t,e){for(var n=this._root,r=[],i=!1;!i;)null!==n?(r.push(n),n=n.left):0!==r.length?(n=r.pop(),t.call(e,n),n=n.right):i=!0;return this},t.prototype.range=function(t,e,n,r){for(var i=[],o=this._comparator,a=this._root;0!==i.length||a;)if(a)i.push(a),a=a.left;else {if(o((a=i.pop()).key,e)>0)break;if(o(a.key,t)>=0&&n.call(r,a))return this;a=a.right;}return this},t.prototype.keys=function(){var t=[];return this.forEach((function(e){var n=e.key;return t.push(n)})),t},t.prototype.values=function(){var t=[];return this.forEach((function(e){var n=e.data;return t.push(n)})),t},t.prototype.min=function(){return this._root?this.minNode(this._root).key:null},t.prototype.max=function(){return this._root?this.maxNode(this._root).key:null},t.prototype.minNode=function(t){if(void 0===t&&(t=this._root),t)for(;t.left;)t=t.left;return t},t.prototype.maxNode=function(t){if(void 0===t&&(t=this._root),t)for(;t.right;)t=t.right;return t},t.prototype.at=function(t){for(var e=this._root,n=!1,r=0,i=[];!n;)if(e)i.push(e),e=e.left;else if(i.length>0){if(e=i.pop(),r===t)return e;r++,e=e.right;}else n=!0;return null},t.prototype.next=function(t){var e=this._root,n=null;if(t.right){for(n=t.right;n.left;)n=n.left;return n}for(var r=this._comparator;e;){var i=r(t.key,e.key);if(0===i)break;i<0?(n=e,e=e.left):e=e.right;}return n},t.prototype.prev=function(t){var e=this._root,n=null;if(null!==t.left){for(n=t.left;n.right;)n=n.right;return n}for(var r=this._comparator;e;){var i=r(t.key,e.key);if(0===i)break;i<0?e=e.left:(n=e,e=e.right);}return n},t.prototype.clear=function(){return this._root=null,this._size=0,this},t.prototype.toList=function(){return function(t){for(var e=t,n=[],r=!1,o=new i(null,null),a=o;!r;)e?(n.push(e),e=e.left):n.length>0?e=(e=a=a.next=n.pop()).right:r=!0;return a.next=null,o.next}(this._root)},t.prototype.load=function(t,e,n){void 0===e&&(e=[]),void 0===n&&(n=!1);var r=t.length,o=this._comparator;if(n&&p(t,e,0,r-1,o),null===this._root)this._root=h(t,e,0,r),this._size=r;else {var a=function(t,e,n){for(var r=new i(null,null),o=r,a=t,s=e;null!==a&&null!==s;)n(a.key,s.key)<0?(o.next=a,a=a.next):(o.next=s,s=s.next),o=o.next;return null!==a?o.next=a:null!==s&&(o.next=s),r.next}(this.toList(),function(t,e){for(var n=new i(null,null),r=n,o=0;o0){var a=n+Math.floor(o/2),s=t[a],u=e[a],l=new i(s,u);return l.left=h(t,e,n,a),l.right=h(t,e,a+1,r),l}return null}function f(t,e,n){var r=n-e;if(r>0){var i=e+Math.floor(r/2),o=f(t,e,i),a=t.head;return a.left=o,t.head=t.head.next,a.right=f(t,i+1,n),a}return null}function p(t,e,n,r,i){if(!(n>=r)){for(var o=t[n+r>>1],a=n-1,s=r+1;;){do{a++;}while(i(t[a],o)<0);do{s--;}while(i(t[s],o)>0);if(a>=s)break;var u=t[a];t[a]=t[s],t[s]=u,u=e[a],e[a]=e[s],e[s]=u;}p(t,e,n,s,i),p(t,e,s+1,r,i);}}var d=function(t,e){return t.ll.x<=e.x&&e.x<=t.ur.x&&t.ll.y<=e.y&&e.y<=t.ur.y},y=function(t,e){if(e.ur.xe.x?1:t.ye.y?1:0}}]),n(e,[{key:"link",value:function(t){if(t.point===this.point)throw new Error("Tried to link already linked events");for(var e=t.point.events,n=0,r=e.length;n=0&&u>=0?al?-1:0:o<0&&u<0?al?1:0:uo?1:0}}}]),e}(),A=0,I=function(){function e(n,r,i,o){t(this,e),this.id=++A,this.leftSE=n,n.segment=this,n.otherSE=r,this.rightSE=r,r.segment=this,r.otherSE=n,this.rings=i,this.windings=o;}return n(e,null,[{key:"compare",value:function(t,e){var n=t.leftSE.point.x,r=e.leftSE.point.x,i=t.rightSE.point.x,o=e.rightSE.point.x;if(oa&&s>u)return -1;var c=t.comparePoint(e.leftSE.point);if(c<0)return 1;if(c>0)return -1;var h=e.comparePoint(t.rightSE.point);return 0!==h?h:-1}if(n>r){if(as&&a>l)return 1;var f=e.comparePoint(t.leftSE.point);if(0!==f)return f;var p=t.comparePoint(e.rightSE.point);return p<0?1:p>0?-1:1}if(as)return 1;if(io){var y=t.comparePoint(e.rightSE.point);if(y<0)return 1;if(y>0)return -1}if(i!==o){var m=u-a,g=i-n,_=l-s,b=o-r;if(m>g&&_b)return -1}return i>o?1:il?1:t.ide.id?1:0}}]),n(e,[{key:"replaceRightSE",value:function(t){this.rightSE=t,this.rightSE.segment=this,this.rightSE.otherSE=this.leftSE,this.leftSE.otherSE=this.rightSE;}},{key:"bbox",value:function(){var t=this.leftSE.point.y,e=this.rightSE.point.y;return {ll:{x:this.leftSE.point.x,y:te?t:e}}}},{key:"vector",value:function(){return {x:this.rightSE.point.x-this.leftSE.point.x,y:this.rightSE.point.y-this.leftSE.point.y}}},{key:"isAnEndpoint",value:function(t){return t.x===this.leftSE.point.x&&t.y===this.leftSE.point.y||t.x===this.rightSE.point.x&&t.y===this.rightSE.point.y}},{key:"comparePoint",value:function(t){if(this.isAnEndpoint(t))return 0;var e=this.leftSE.point,n=this.rightSE.point,r=this.vector();if(e.x===n.x)return t.x===e.x?0:t.x0&&s.swapEvents(),O.comparePoints(this.leftSE.point,this.rightSE.point)>0&&this.swapEvents(),r&&(i.checkForConsuming(),o.checkForConsuming()),n}},{key:"swapEvents",value:function(){var t=this.rightSE;this.rightSE=this.leftSE,this.leftSE=t,this.leftSE.isLeft=!0,this.rightSE.isLeft=!1;for(var e=0,n=this.windings.length;e0){var o=n;n=r,r=o;}if(n.prev===r){var a=n;n=r,r=a;}for(var s=0,u=r.rings.length;s0))throw new Error("Tried to create degenerate segment at [".concat(t.x,", ").concat(t.y,"]"));i=n,o=t,a=-1;}return new e(new O(i,!0),new O(o,!1),[r],[a])}}]),e}(),P=function(){function e(n,r,i){if(t(this,e),!Array.isArray(n)||0===n.length)throw new Error("Input geometry is not a valid Polygon or MultiPolygon");if(this.poly=r,this.isExterior=i,this.segments=[],"number"!=typeof n[0][0]||"number"!=typeof n[0][1])throw new Error("Input geometry is not a valid Polygon or MultiPolygon");var o=T.round(n[0][0],n[0][1]);this.bbox={ll:{x:o.x,y:o.y},ur:{x:o.x,y:o.y}};for(var a=o,s=1,u=n.length;sthis.bbox.ur.x&&(this.bbox.ur.x=l.x),l.y>this.bbox.ur.y&&(this.bbox.ur.y=l.y),a=l);}o.x===a.x&&o.y===a.y||this.segments.push(I.fromRing(a,o,this));}return n(e,[{key:"getSweepEvents",value:function(){for(var t=[],e=0,n=this.segments.length;ethis.bbox.ur.x&&(this.bbox.ur.x=a.bbox.ur.x),a.bbox.ur.y>this.bbox.ur.y&&(this.bbox.ur.y=a.bbox.ur.y),this.interiorRings.push(a);}this.multiPoly=r;}return n(e,[{key:"getSweepEvents",value:function(){for(var t=this.exteriorRing.getSweepEvents(),e=0,n=this.interiorRings.length;ethis.bbox.ur.x&&(this.bbox.ur.x=a.bbox.ur.x),a.bbox.ur.y>this.bbox.ur.y&&(this.bbox.ur.y=a.bbox.ur.y),this.polys.push(a);}this.isSubject=r;}return n(e,[{key:"getSweepEvents",value:function(){for(var t=[],e=0,n=this.polys.length;e0&&(t=r);}for(var i=t.segment.prevInResult(),o=i?i.prevInResult():null;;){if(!i)return null;if(!o)return i.ringOut;if(o.ringOut!==i.ringOut)return o.ringOut.enclosingRing()!==i.ringOut?i.ringOut:i.ringOut.enclosingRing();i=o.prevInResult(),o=i?i.prevInResult():null;}}}]),e}(),k=function(){function e(n){t(this,e),this.exteriorRing=n,n.poly=this,this.interiorRings=[];}return n(e,[{key:"addInterior",value:function(t){this.interiorRings.push(t),t.poly=this;}},{key:"getGeom",value:function(){var t=[this.exteriorRing.getGeom()];if(null===t[0])return null;for(var e=0,n=this.interiorRings.length;e1&&void 0!==arguments[1]?arguments[1]:I.compare;t(this,e),this.queue=n,this.tree=new c(r),this.segments=[];}return n(e,[{key:"process",value:function(t){var e=t.segment,n=[];if(t.consumedBy)return t.isLeft?this.queue.remove(t.otherSE):this.tree.remove(e),n;var r=t.isLeft?this.tree.insert(e):this.tree.find(e);if(!r)throw new Error("Unable to find segment #".concat(e.id," ")+"[".concat(e.leftSE.point.x,", ").concat(e.leftSE.point.y,"] -> ")+"[".concat(e.rightSE.point.x,", ").concat(e.rightSE.point.y,"] ")+"in SweepLine tree. Please submit a bug report.");for(var i=r,o=r,a=void 0,s=void 0;void 0===a;)null===(i=this.tree.prev(i))?a=null:void 0===i.key.consumedBy&&(a=i.key);for(;void 0===s;)null===(o=this.tree.next(o))?s=null:void 0===o.key.consumedBy&&(s=o.key);if(t.isLeft){var u=null;if(a){var l=a.getIntersection(e);if(null!==l&&(e.isAnEndpoint(l)||(u=l),!a.isAnEndpoint(l)))for(var c=this._splitSafely(a,l),h=0,f=c.length;h0?(this.tree.remove(e),n.push(t)):(this.segments.push(e),e.prev=a);}else {if(a&&s){var E=a.getIntersection(s);if(null!==E){if(!a.isAnEndpoint(E))for(var w=this._splitSafely(a,E),x=0,C=w.length;xB)throw new Error("Infinite loop when putting segment endpoints in a priority queue (queue size too big). Please file a bug report.");for(var E=new U(d),w=d.size,x=d.pop();x;){var C=x.key;if(d.size===w){var M=C.segment;throw new Error("Unable to pop() ".concat(C.isLeft?"left":"right"," SweepEvent ")+"[".concat(C.point.x,", ").concat(C.point.y,"] from segment #").concat(M.id," ")+"[".concat(M.leftSE.point.x,", ").concat(M.leftSE.point.y,"] -> ")+"[".concat(M.rightSE.point.x,", ").concat(M.rightSE.point.y,"] from queue. ")+"Please file a bug report.")}if(d.size>B)throw new Error("Infinite loop when passing sweep line over endpoints (queue size too big). Please file a bug report.");if(E.segments.length>j)throw new Error("Infinite loop when passing sweep line over endpoints (too many sweep line segments). Please file a bug report.");for(var S=E.process(C),N=0,A=S.length;N1?e-1:0),r=1;r1?e-1:0),r=1;r1?e-1:0),r=1;r1?e-1:0),r=1;r{var e,n,r=t.exports={};function i(){throw new Error("setTimeout has not been defined")}function o(){throw new Error("clearTimeout has not been defined")}function a(t){if(e===setTimeout)return setTimeout(t,0);if((e===i||!e)&&setTimeout)return e=setTimeout,setTimeout(t,0);try{return e(t,0)}catch(n){try{return e.call(null,t,0)}catch(n){return e.call(this,t,0)}}}!function(){try{e="function"==typeof setTimeout?setTimeout:i;}catch(t){e=i;}try{n="function"==typeof clearTimeout?clearTimeout:o;}catch(t){n=o;}}();var s,u=[],l=!1,c=-1;function h(){l&&s&&(l=!1,s.length?u=s.concat(u):c=-1,u.length&&f());}function f(){if(!l){var t=a(h);l=!0;for(var e=u.length;e;){for(s=u,u=[];++c1)for(var n=1;n{"use strict";n.r(e),n.d(e,{default:()=>Rn});var r=1,i=2,o=3,a=5,s=6378137,u=6356752.314,l=.0066943799901413165,c=484813681109536e-20,h=Math.PI/2,f=.16666666666666666,p=.04722222222222222,d=.022156084656084655,y=1e-10,m=.017453292519943295,g=57.29577951308232,_=Math.PI/4,b=2*Math.PI,v=3.14159265359,T={greenwich:0,lisbon:-9.131906111111,paris:2.337229166667,bogota:-74.080916666667,madrid:-3.687938888889,rome:12.452333333333,bern:7.439583333333,jakarta:106.807719444444,ferro:-17.666666666667,brussels:4.367975,stockholm:18.058277777778,athens:23.7163375,oslo:10.722916666667};const E={ft:{to_meter:.3048},"us-ft":{to_meter:1200/3937}};var w=/[\s_\-\/\(\)]/g;function x(t,e){if(t[e])return t[e];for(var n,r=Object.keys(t),i=e.toLowerCase().replace(w,""),o=-1;++o=this.text.length)return;t=this.text[this.place++];}switch(this.state){case S:return this.neutral(t);case 2:return this.keyword(t);case 4:return this.quoted(t);case 5:return this.afterquote(t);case 3:return this.number(t);case -1:return}},R.prototype.afterquote=function(t){if('"'===t)return this.word+='"',void(this.state=4);if(I.test(t))return this.word=this.word.trim(),void this.afterItem(t);throw new Error("havn't handled \""+t+'" in afterquote yet, index '+this.place)},R.prototype.afterItem=function(t){return ","===t?(null!==this.word&&this.currentObject.push(this.word),this.word=null,void(this.state=S)):"]"===t?(this.level--,null!==this.word&&(this.currentObject.push(this.word),this.word=null),this.state=S,this.currentObject=this.stack.pop(),void(this.currentObject||(this.state=-1))):void 0},R.prototype.number=function(t){if(!P.test(t)){if(I.test(t))return this.word=parseFloat(this.word),void this.afterItem(t);throw new Error("havn't handled \""+t+'" in number yet, index '+this.place)}this.word+=t;},R.prototype.quoted=function(t){'"'!==t?this.word+=t:this.state=5;},R.prototype.keyword=function(t){if(A.test(t))this.word+=t;else {if("["===t){var e=[];return e.push(this.word),this.level++,null===this.root?this.root=e:this.currentObject.push(e),this.stack.push(this.currentObject),this.currentObject=e,void(this.state=S)}if(!I.test(t))throw new Error("havn't handled \""+t+'" in keyword yet, index '+this.place);this.afterItem(t);}},R.prototype.neutral=function(t){if(O.test(t))return this.word=t,void(this.state=2);if('"'===t)return this.word="",void(this.state=4);if(P.test(t))return this.word=t,void(this.state=3);if(!I.test(t))throw new Error("havn't handled \""+t+'" in neutral yet, index '+this.place);this.afterItem(t);},R.prototype.output=function(){for(;this.place0?90:-90),t.lat_ts=t.lat1);}(i),i}var B=n(5108);function j(t){var e=this;if(2===arguments.length){var n=arguments[1];"string"==typeof n?"+"===n.charAt(0)?j[t]=C(arguments[1]):j[t]=U(arguments[1]):j[t]=n;}else if(1===arguments.length){if(Array.isArray(t))return t.map((function(t){Array.isArray(t)?j.apply(e,t):j(t);}));if("string"==typeof t){if(t in j)return j[t]}else "EPSG"in t?j["EPSG:"+t.EPSG]=t:"ESRI"in t?j["ESRI:"+t.ESRI]=t:"IAU2000"in t?j["IAU2000:"+t.IAU2000]=t:B.log(t);return}}!function(t){t("EPSG:4326","+title=WGS 84 (long/lat) +proj=longlat +ellps=WGS84 +datum=WGS84 +units=degrees"),t("EPSG:4269","+title=NAD83 (long/lat) +proj=longlat +a=6378137.0 +b=6356752.31414036 +ellps=GRS80 +datum=NAD83 +units=degrees"),t("EPSG:3857","+title=WGS 84 / Pseudo-Mercator +proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +no_defs"),t.WGS84=t["EPSG:4326"],t["EPSG:3785"]=t["EPSG:3857"],t.GOOGLE=t["EPSG:3857"],t["EPSG:900913"]=t["EPSG:3857"],t["EPSG:102113"]=t["EPSG:3857"];}(j);const G=j;var W=["PROJECTEDCRS","PROJCRS","GEOGCS","GEOCCS","PROJCS","LOCAL_CS","GEODCRS","GEODETICCRS","GEODETICDATUM","ENGCRS","ENGINEERINGCRS"],q=["3857","900913","3785","102113"];const H=function(t){if(!function(t){return "string"==typeof t}(t))return t;if(function(t){return t in G}(t))return G[t];if(function(t){return W.some((function(e){return t.indexOf(e)>-1}))}(t)){var e=U(t);if(function(t){var e=x(t,"authority");if(e){var n=x(e,"epsg");return n&&q.indexOf(n)>-1}}(e))return G["EPSG:3857"];var n=function(t){var e=x(t,"extension");if(e)return x(e,"proj4")}(e);return n?C(n):e}return function(t){return "+"===t[0]}(t)?C(t):void 0};function z(t,e){var n,r;if(t=t||{},!e)return t;for(r in e)void 0!==(n=e[r])&&(t[r]=n);return t}function V(t,e,n){var r=t*e;return n/Math.sqrt(1-r*r)}function X(t){return t<0?-1:1}function Y(t){return Math.abs(t)<=v?t:t-X(t)*b}function Z(t,e,n){var r=t*n,i=.5*t;return r=Math.pow((1-r)/(1+r),i),Math.tan(.5*(h-e))/r}function Q(t,e){for(var n,r,i=.5*t,o=h-2*Math.atan(e),a=0;a<=15;a++)if(n=t*Math.sin(o),o+=r=h-2*Math.atan(e*Math.pow((1-n)/(1+n),i))-o,Math.abs(r)<=1e-10)return o;return -9999}const K={init:function(){var t=this.b/this.a;this.es=1-t*t,"x0"in this||(this.x0=0),"y0"in this||(this.y0=0),this.e=Math.sqrt(this.es),this.lat_ts?this.sphere?this.k0=Math.cos(this.lat_ts):this.k0=V(this.e,Math.sin(this.lat_ts),Math.cos(this.lat_ts)):this.k0||(this.k?this.k0=this.k:this.k0=1);},forward:function(t){var e,n,r=t.x,i=t.y;if(i*g>90&&i*g<-90&&r*g>180&&r*g<-180)return null;if(Math.abs(Math.abs(i)-h)<=y)return null;if(this.sphere)e=this.x0+this.a*this.k0*Y(r-this.long0),n=this.y0+this.a*this.k0*Math.log(Math.tan(_+.5*i));else {var o=Math.sin(i),a=Z(this.e,i,o);e=this.x0+this.a*this.k0*Y(r-this.long0),n=this.y0-this.a*this.k0*Math.log(a);}return t.x=e,t.y=n,t},inverse:function(t){var e,n,r=t.x-this.x0,i=t.y-this.y0;if(this.sphere)n=h-2*Math.atan(Math.exp(-i/(this.a*this.k0)));else {var o=Math.exp(-i/(this.a*this.k0));if(-9999===(n=Q(this.e,o)))return null}return e=Y(this.long0+r/(this.a*this.k0)),t.x=e,t.y=n,t},names:["Mercator","Popular Visualisation Pseudo Mercator","Mercator_1SP","Mercator_Auxiliary_Sphere","merc"]};function J(t){return t}const $={init:function(){},forward:J,inverse:J,names:["longlat","identity"]};var tt=n(5108),et=[K,$],nt={},rt=[];function it(t,e){var n=rt.length;return t.names?(rt[n]=t,t.names.forEach((function(t){nt[t.toLowerCase()]=n;})),this):(tt.log(e),!0)}const ot={start:function(){et.forEach(it);},add:it,get:function(t){if(!t)return !1;var e=t.toLowerCase();return void 0!==nt[e]&&rt[nt[e]]?rt[nt[e]]:void 0}};var at={MERIT:{a:6378137,rf:298.257,ellipseName:"MERIT 1983"},SGS85:{a:6378136,rf:298.257,ellipseName:"Soviet Geodetic System 85"},GRS80:{a:6378137,rf:298.257222101,ellipseName:"GRS 1980(IUGG, 1980)"},IAU76:{a:6378140,rf:298.257,ellipseName:"IAU 1976"},airy:{a:6377563.396,b:6356256.91,ellipseName:"Airy 1830"},APL4:{a:6378137,rf:298.25,ellipseName:"Appl. Physics. 1965"},NWL9D:{a:6378145,rf:298.25,ellipseName:"Naval Weapons Lab., 1965"},mod_airy:{a:6377340.189,b:6356034.446,ellipseName:"Modified Airy"},andrae:{a:6377104.43,rf:300,ellipseName:"Andrae 1876 (Den., Iclnd.)"},aust_SA:{a:6378160,rf:298.25,ellipseName:"Australian Natl & S. Amer. 1969"},GRS67:{a:6378160,rf:298.247167427,ellipseName:"GRS 67(IUGG 1967)"},bessel:{a:6377397.155,rf:299.1528128,ellipseName:"Bessel 1841"},bess_nam:{a:6377483.865,rf:299.1528128,ellipseName:"Bessel 1841 (Namibia)"},clrk66:{a:6378206.4,b:6356583.8,ellipseName:"Clarke 1866"},clrk80:{a:6378249.145,rf:293.4663,ellipseName:"Clarke 1880 mod."},clrk58:{a:6378293.645208759,rf:294.2606763692654,ellipseName:"Clarke 1858"},CPM:{a:6375738.7,rf:334.29,ellipseName:"Comm. des Poids et Mesures 1799"},delmbr:{a:6376428,rf:311.5,ellipseName:"Delambre 1810 (Belgium)"},engelis:{a:6378136.05,rf:298.2566,ellipseName:"Engelis 1985"},evrst30:{a:6377276.345,rf:300.8017,ellipseName:"Everest 1830"},evrst48:{a:6377304.063,rf:300.8017,ellipseName:"Everest 1948"},evrst56:{a:6377301.243,rf:300.8017,ellipseName:"Everest 1956"},evrst69:{a:6377295.664,rf:300.8017,ellipseName:"Everest 1969"},evrstSS:{a:6377298.556,rf:300.8017,ellipseName:"Everest (Sabah & Sarawak)"},fschr60:{a:6378166,rf:298.3,ellipseName:"Fischer (Mercury Datum) 1960"},fschr60m:{a:6378155,rf:298.3,ellipseName:"Fischer 1960"},fschr68:{a:6378150,rf:298.3,ellipseName:"Fischer 1968"},helmert:{a:6378200,rf:298.3,ellipseName:"Helmert 1906"},hough:{a:6378270,rf:297,ellipseName:"Hough"},intl:{a:6378388,rf:297,ellipseName:"International 1909 (Hayford)"},kaula:{a:6378163,rf:298.24,ellipseName:"Kaula 1961"},lerch:{a:6378139,rf:298.257,ellipseName:"Lerch 1979"},mprts:{a:6397300,rf:191,ellipseName:"Maupertius 1738"},new_intl:{a:6378157.5,b:6356772.2,ellipseName:"New International 1967"},plessis:{a:6376523,rf:6355863,ellipseName:"Plessis 1817 (France)"},krass:{a:6378245,rf:298.3,ellipseName:"Krassovsky, 1942"},SEasia:{a:6378155,b:6356773.3205,ellipseName:"Southeast Asia"},walbeck:{a:6376896,b:6355834.8467,ellipseName:"Walbeck"},WGS60:{a:6378165,rf:298.3,ellipseName:"WGS 60"},WGS66:{a:6378145,rf:298.25,ellipseName:"WGS 66"},WGS7:{a:6378135,rf:298.26,ellipseName:"WGS 72"}},st=at.WGS84={a:6378137,rf:298.257223563,ellipseName:"WGS 84"};at.sphere={a:6370997,b:6370997,ellipseName:"Normal Sphere (r=6370997)"};var ut={wgs84:{towgs84:"0,0,0",ellipse:"WGS84",datumName:"WGS84"},ch1903:{towgs84:"674.374,15.056,405.346",ellipse:"bessel",datumName:"swiss"},ggrs87:{towgs84:"-199.87,74.79,246.62",ellipse:"GRS80",datumName:"Greek_Geodetic_Reference_System_1987"},nad83:{towgs84:"0,0,0",ellipse:"GRS80",datumName:"North_American_Datum_1983"},nad27:{nadgrids:"@conus,@alaska,@ntv2_0.gsb,@ntv1_can.dat",ellipse:"clrk66",datumName:"North_American_Datum_1927"},potsdam:{towgs84:"598.1,73.7,418.2,0.202,0.045,-2.455,6.7",ellipse:"bessel",datumName:"Potsdam Rauenberg 1950 DHDN"},carthage:{towgs84:"-263.0,6.0,431.0",ellipse:"clark80",datumName:"Carthage 1934 Tunisia"},hermannskogel:{towgs84:"577.326,90.129,463.919,5.137,1.474,5.297,2.4232",ellipse:"bessel",datumName:"Hermannskogel"},osni52:{towgs84:"482.530,-130.596,564.557,-1.042,-0.214,-0.631,8.15",ellipse:"airy",datumName:"Irish National"},ire65:{towgs84:"482.530,-130.596,564.557,-1.042,-0.214,-0.631,8.15",ellipse:"mod_airy",datumName:"Ireland 1965"},rassadiran:{towgs84:"-133.63,-157.5,-158.62",ellipse:"intl",datumName:"Rassadiran"},nzgd49:{towgs84:"59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5993",ellipse:"intl",datumName:"New Zealand Geodetic Datum 1949"},osgb36:{towgs84:"446.448,-125.157,542.060,0.1502,0.2470,0.8421,-20.4894",ellipse:"airy",datumName:"Airy 1830"},s_jtsk:{towgs84:"589,76,480",ellipse:"bessel",datumName:"S-JTSK (Ferro)"},beduaram:{towgs84:"-106,-87,188",ellipse:"clrk80",datumName:"Beduaram"},gunung_segara:{towgs84:"-403,684,41",ellipse:"bessel",datumName:"Gunung Segara Jakarta"},rnb72:{towgs84:"106.869,-52.2978,103.724,-0.33657,0.456955,-1.84218,1",ellipse:"intl",datumName:"Reseau National Belge 1972"}};const lt=function(t,e,n,s,u,l,h){var f={};return f.datum_type=void 0===t||"none"===t?a:4,e&&(f.datum_params=e.map(parseFloat),0===f.datum_params[0]&&0===f.datum_params[1]&&0===f.datum_params[2]||(f.datum_type=r),f.datum_params.length>3&&(0===f.datum_params[3]&&0===f.datum_params[4]&&0===f.datum_params[5]&&0===f.datum_params[6]||(f.datum_type=i,f.datum_params[3]*=c,f.datum_params[4]*=c,f.datum_params[5]*=c,f.datum_params[6]=f.datum_params[6]/1e6+1))),h&&(f.datum_type=o,f.grids=h),f.a=n,f.b=s,f.es=u,f.ep2=l,f};var ct=n(5108),ht={};function ft(t){if(0===t.length)return null;var e="@"===t[0];return e&&(t=t.slice(1)),"null"===t?{name:"null",mandatory:!e,grid:null,isNull:!0}:{name:t,mandatory:!e,grid:ht[t]||null,isNull:!1}}function pt(t){return t/3600*Math.PI/180}function dt(t,e,n){return String.fromCharCode.apply(null,new Uint8Array(t.buffer.slice(e,n)))}function yt(t){return t.map((function(t){return [pt(t.longitudeShift),pt(t.latitudeShift)]}))}function mt(t,e,n){return {name:dt(t,e+8,e+16).trim(),parent:dt(t,e+24,e+24+8).trim(),lowerLatitude:t.getFloat64(e+72,n),upperLatitude:t.getFloat64(e+88,n),lowerLongitude:t.getFloat64(e+104,n),upperLongitude:t.getFloat64(e+120,n),latitudeInterval:t.getFloat64(e+136,n),longitudeInterval:t.getFloat64(e+152,n),gridNodeCount:t.getInt32(e+168,n)}}function gt(t,e,n,r){for(var i=e+176,o=[],a=0;a-1.001*h)u=-h;else if(u>h&&u<1.001*h)u=h;else {if(u<-h)return {x:-1/0,y:-1/0,z:t.z};if(u>h)return {x:1/0,y:1/0,z:t.z}}return s>Math.PI&&(s-=2*Math.PI),i=Math.sin(u),a=Math.cos(u),o=i*i,{x:((r=n/Math.sqrt(1-e*o))+l)*a*Math.cos(s),y:(r+l)*a*Math.sin(s),z:(r*(1-e)+l)*i}}function Tt(t,e,n,r){var i,o,a,s,u,l,c,h,f,p,d,y,m,g,_,b=t.x,v=t.y,T=t.z?t.z:0;if(i=Math.sqrt(b*b+v*v),o=Math.sqrt(b*b+v*v+T*T),i/n<1e-12){if(g=0,o/n<1e-12)return _=-r,{x:t.x,y:t.y,z:t.z}}else g=Math.atan2(v,b);a=T/o,h=(s=i/o)*(1-e)*(u=1/Math.sqrt(1-e*(2-e)*s*s)),f=a*u,m=0;do{m++,l=e*(c=n/Math.sqrt(1-e*f*f))/(c+(_=i*h+T*f-c*(1-e*f*f))),y=(d=a*(u=1/Math.sqrt(1-l*(2-l)*s*s)))*h-(p=s*(1-l)*u)*f,h=p,f=d;}while(y*y>1e-24&&m<30);return {x:g,y:Math.atan(d/Math.abs(p)),z:_}}var Et=n(5108);function wt(t){return t===r||t===i}function xt(t,e,n){if(null===t.grids||0===t.grids.length)return Et.log("Grid shift grids not found"),-1;for(var r={x:-n.x,y:n.y},i={x:Number.NaN,y:Number.NaN},o=[],a=0;ar.y||c>r.x||p1e-12&&Math.abs(a.y)>1e-12);if(u<0)return Et.log("Inverse grid shift iterator failed to converge."),r;r.x=Y(o.x+n.ll[0]),r.y=o.y+n.ll[1];}else isNaN(o.x)||(r.x=t.x+o.x,r.y=t.y+o.y);return r}function Mt(t,e){var n,r={x:t.x/e.del[0],y:t.y/e.del[1]},i=Math.floor(r.x),o=Math.floor(r.y),a=r.x-1*i,s=r.y-1*o,u={x:Number.NaN,y:Number.NaN};if(i<0||i>=e.lim[0])return u;if(o<0||o>=e.lim[1])return u;n=o*e.lim[0]+i;var l=e.cvs[n][0],c=e.cvs[n][1];n++;var h=e.cvs[n][0],f=e.cvs[n][1];n+=e.lim[0];var p=e.cvs[n][0],d=e.cvs[n][1];n--;var y=e.cvs[n][0],m=e.cvs[n][1],g=a*s,_=a*(1-s),b=(1-a)*(1-s),v=(1-a)*s;return u.x=b*l+_*h+v*y+g*p,u.y=b*c+_*f+v*m+g*d,u}function St(t,e,n){var r,i,o,a=n.x,s=n.y,u=n.z||0,l={};for(o=0;o<3;o++)if(!e||2!==o||void 0!==n.z)switch(0===o?(r=a,i=-1!=="ew".indexOf(t.axis[o])?"x":"y"):1===o?(r=s,i=-1!=="ns".indexOf(t.axis[o])?"y":"x"):(r=u,i="z"),t.axis[o]){case "e":case "n":l[i]=r;break;case "w":case "s":l[i]=-r;break;case "u":void 0!==n[i]&&(l.z=r);break;case "d":void 0!==n[i]&&(l.z=-r);break;default:return null}return l}function Nt(t){var e={x:t[0],y:t[1]};return t.length>2&&(e.z=t[2]),t.length>3&&(e.m=t[3]),e}function Ot(t){if("function"==typeof Number.isFinite){if(Number.isFinite(t))return;throw new TypeError("coordinates must be finite numbers")}if("number"!=typeof t||t!=t||!isFinite(t))throw new TypeError("coordinates must be finite numbers")}function At(t,e,n,c){var h;if(Array.isArray(n)&&(n=Nt(n)),function(t){Ot(t.x),Ot(t.y);}(n),t.datum&&e.datum&&function(t,e){return (t.datum.datum_type===r||t.datum.datum_type===i)&&"WGS84"!==e.datumCode||(e.datum.datum_type===r||e.datum.datum_type===i)&&"WGS84"!==t.datumCode}(t,e)&&(n=At(t,h=new bt("WGS84"),n,c),t=h),c&&"enu"!==t.axis&&(n=St(t,!1,n)),"longlat"===t.projName)n={x:n.x*m,y:n.y*m,z:n.z||0};else if(t.to_meter&&(n={x:n.x*t.to_meter,y:n.y*t.to_meter,z:n.z||0}),!(n=t.inverse(n)))return;if(t.from_greenwich&&(n.x+=t.from_greenwich),n=function(t,e,n){if(function(t,e){return t.datum_type===e.datum_type&&!(t.a!==e.a||Math.abs(t.es-e.es)>5e-11)&&(t.datum_type===r?t.datum_params[0]===e.datum_params[0]&&t.datum_params[1]===e.datum_params[1]&&t.datum_params[2]===e.datum_params[2]:t.datum_type!==i||t.datum_params[0]===e.datum_params[0]&&t.datum_params[1]===e.datum_params[1]&&t.datum_params[2]===e.datum_params[2]&&t.datum_params[3]===e.datum_params[3]&&t.datum_params[4]===e.datum_params[4]&&t.datum_params[5]===e.datum_params[5]&&t.datum_params[6]===e.datum_params[6])}(t,e))return n;if(t.datum_type===a||e.datum_type===a)return n;var c=t.a,h=t.es;if(t.datum_type===o){if(0!==xt(t,!1,n))return;c=s,h=l;}var f=e.a,p=e.b,d=e.es;return e.datum_type===o&&(f=s,p=u,d=l),h!==d||c!==f||wt(t.datum_type)||wt(e.datum_type)?(n=vt(n,h,c),wt(t.datum_type)&&(n=function(t,e,n){if(e===r)return {x:t.x+n[0],y:t.y+n[1],z:t.z+n[2]};if(e===i){var o=n[0],a=n[1],s=n[2],u=n[3],l=n[4],c=n[5],h=n[6];return {x:h*(t.x-c*t.y+l*t.z)+o,y:h*(c*t.x+t.y-u*t.z)+a,z:h*(-l*t.x+u*t.y+t.z)+s}}}(n,t.datum_type,t.datum_params)),wt(e.datum_type)&&(n=function(t,e,n){if(e===r)return {x:t.x-n[0],y:t.y-n[1],z:t.z-n[2]};if(e===i){var o=n[0],a=n[1],s=n[2],u=n[3],l=n[4],c=n[5],h=n[6],f=(t.x-o)/h,p=(t.y-a)/h,d=(t.z-s)/h;return {x:f+c*p-l*d,y:-c*f+p+u*d,z:l*f-u*p+d}}}(n,e.datum_type,e.datum_params)),n=Tt(n,d,f,p),e.datum_type!==o||0===xt(e,!0,n)?n:void 0):n}(t.datum,e.datum,n))return e.from_greenwich&&(n={x:n.x-e.from_greenwich,y:n.y,z:n.z||0}),"longlat"===e.projName?n={x:n.x*g,y:n.y*g,z:n.z||0}:(n=e.forward(n),e.to_meter&&(n={x:n.x/e.to_meter,y:n.y/e.to_meter,z:n.z||0})),c&&"enu"!==e.axis?St(e,!0,n):n}var It=bt("WGS84");function Pt(t,e,n,r){var i,o,a;return Array.isArray(n)?(i=At(t,e,n,r)||{x:NaN,y:NaN},n.length>2?void 0!==t.name&&"geocent"===t.name||void 0!==e.name&&"geocent"===e.name?"number"==typeof i.z?[i.x,i.y,i.z].concat(n.splice(3)):[i.x,i.y,n[2]].concat(n.splice(3)):[i.x,i.y].concat(n.splice(2)):[i.x,i.y]):(o=At(t,e,n,r),2===(a=Object.keys(n)).length||a.forEach((function(r){if(void 0!==t.name&&"geocent"===t.name||void 0!==e.name&&"geocent"===e.name){if("x"===r||"y"===r||"z"===r)return}else if("x"===r||"y"===r)return;o[r]=n[r];})),o)}function Rt(t){return t instanceof bt?t:t.oProj?t.oProj:bt(t)}const Lt=function(t,e,n){t=Rt(t);var r,i=!1;return void 0===e?(e=t,t=It,i=!0):(void 0!==e.x||Array.isArray(e))&&(n=e,e=t,t=It,i=!0),e=Rt(e),n?Pt(t,e,n):(r={forward:function(n,r){return Pt(t,e,n,r)},inverse:function(n,r){return Pt(e,t,n,r)}},i&&(r.oProj=e),r)};var Dt=6,kt="AJSAJS",Ft="AFAFAF",Ut=65,Bt=73,jt=79,Gt=86,Wt=90;const qt={forward:Ht,inverse:function(t){var e=Yt(Qt(t.toUpperCase()));return e.lat&&e.lon?[e.lon,e.lat,e.lon,e.lat]:[e.left,e.bottom,e.right,e.top]},toPoint:zt};function Ht(t,e){return e=e||5,function(t,e){var n,r,i,o,a,s,u,l,c,h,f,p="00000"+t.easting,d="00000"+t.northing;return t.zoneNumber+t.zoneLetter+(c=t.easting,h=t.northing,f=Zt(t.zoneNumber),n=Math.floor(c/1e5),r=Math.floor(h/1e5)%20,i=f-1,o=kt.charCodeAt(i),a=Ft.charCodeAt(i),l=!1,(s=o+n-1)>Wt&&(s=s-Wt+Ut-1,l=!0),(s===Bt||oBt||(s>Bt||ojt||(s>jt||oWt&&(s=s-Wt+Ut-1),(u=a+r)>Gt?(u=u-Gt+Ut-1,l=!0):l=!1,(u===Bt||aBt||(u>Bt||ajt||(u>jt||aGt&&(u=u-Gt+Ut-1),String.fromCharCode(s)+String.fromCharCode(u))+p.substr(p.length-5,e)+d.substr(d.length-5,e)}(function(t){var e,n,r,i,o,a,s,u=t.lat,l=t.lon,c=6378137,h=.00669438,f=.9996,p=Vt(u),d=Vt(l);s=Math.floor((l+180)/6)+1,180===l&&(s=60),u>=56&&u<64&&l>=3&&l<12&&(s=32),u>=72&&u<84&&(l>=0&&l<9?s=31:l>=9&&l<21?s=33:l>=21&&l<33?s=35:l>=33&&l<42&&(s=37)),a=Vt(6*(s-1)-180+3),e=.006739496752268451,n=c/Math.sqrt(1-h*Math.sin(p)*Math.sin(p)),r=Math.tan(p)*Math.tan(p),i=e*Math.cos(p)*Math.cos(p);var y,m,g=f*n*((o=Math.cos(p)*(d-a))+(1-r+i)*o*o*o/6+(5-18*r+r*r+72*i-58*e)*o*o*o*o*o/120)+5e5,_=f*(c*(.9983242984503243*p-.002514607064228144*Math.sin(2*p)+2639046602129982e-21*Math.sin(4*p)-3.418046101696858e-9*Math.sin(6*p))+n*Math.tan(p)*(o*o/2+(5-r+9*i+4*i*i)*o*o*o*o/24+(61-58*r+r*r+600*i-2.2240339282485886)*o*o*o*o*o*o/720));return u<0&&(_+=1e7),{northing:Math.round(_),easting:Math.round(g),zoneNumber:s,zoneLetter:(y=u,m="Z",84>=y&&y>=72?m="X":72>y&&y>=64?m="W":64>y&&y>=56?m="V":56>y&&y>=48?m="U":48>y&&y>=40?m="T":40>y&&y>=32?m="S":32>y&&y>=24?m="R":24>y&&y>=16?m="Q":16>y&&y>=8?m="P":8>y&&y>=0?m="N":0>y&&y>=-8?m="M":-8>y&&y>=-16?m="L":-16>y&&y>=-24?m="K":-24>y&&y>=-32?m="J":-32>y&&y>=-40?m="H":-40>y&&y>=-48?m="G":-48>y&&y>=-56?m="F":-56>y&&y>=-64?m="E":-64>y&&y>=-72?m="D":-72>y&&y>=-80&&(m="C"),m)}}({lat:t[1],lon:t[0]}),e)}function zt(t){var e=Yt(Qt(t.toUpperCase()));return e.lat&&e.lon?[e.lon,e.lat]:[(e.left+e.right)/2,(e.top+e.bottom)/2]}function Vt(t){return t*(Math.PI/180)}function Xt(t){return t/Math.PI*180}function Yt(t){var e=t.northing,n=t.easting,r=t.zoneLetter,i=t.zoneNumber;if(i<0||i>60)return null;var o,a,s,u,l,c,h,f,p,d=.9996,y=6378137,m=.00669438,g=(1-Math.sqrt(.99330562))/(1+Math.sqrt(.99330562)),_=n-5e5,b=e;r<"N"&&(b-=1e7),h=6*(i-1)-180+3,o=.006739496752268451,p=(f=b/d/6367449.145945056)+(3*g/2-27*g*g*g/32)*Math.sin(2*f)+(21*g*g/16-55*g*g*g*g/32)*Math.sin(4*f)+151*g*g*g/96*Math.sin(6*f),a=y/Math.sqrt(1-m*Math.sin(p)*Math.sin(p)),s=Math.tan(p)*Math.tan(p),u=o*Math.cos(p)*Math.cos(p),l=.99330562*y/Math.pow(1-m*Math.sin(p)*Math.sin(p),1.5),c=_/(a*d);var v=p-a*Math.tan(p)/l*(c*c/2-(5+3*s+10*u-4*u*u-9*o)*c*c*c*c/24+(61+90*s+298*u+45*s*s-1.6983531815716497-3*u*u)*c*c*c*c*c*c/720);v=Xt(v);var T,E=(c-(1+2*s+u)*c*c*c/6+(5-2*u+28*s-3*u*u+8*o+24*s*s)*c*c*c*c*c/120)/Math.cos(p);if(E=h+Xt(E),t.accuracy){var w=Yt({northing:t.northing+t.accuracy,easting:t.easting+t.accuracy,zoneLetter:t.zoneLetter,zoneNumber:t.zoneNumber});T={top:w.lat,right:w.lon,bottom:v,left:E};}else T={lat:v,lon:E};return T}function Zt(t){var e=t%Dt;return 0===e&&(e=Dt),e}function Qt(t){if(t&&0===t.length)throw "MGRSPoint coverting from nothing";for(var e,n=t.length,r=null,i="",o=0;!/[A-Z]/.test(e=t.charAt(o));){if(o>=2)throw "MGRSPoint bad conversion from: "+t;i+=e,o++;}var a=parseInt(i,10);if(0===o||o+3>n)throw "MGRSPoint bad conversion from: "+t;var s=t.charAt(o++);if(s<="A"||"B"===s||"Y"===s||s>="Z"||"I"===s||"O"===s)throw "MGRSPoint zone letter "+s+" not handled: "+t;r=t.substring(o,o+=2);for(var u=Zt(a),l=function(t,e){for(var n=kt.charCodeAt(e-1),r=1e5,i=!1;n!==t.charCodeAt(0);){if(++n===Bt&&n++,n===jt&&n++,n>Wt){if(i)throw "Bad character: "+t;n=Ut,i=!0;}r+=1e5;}return r}(r.charAt(0),u),c=function(t,e){if(t>"V")throw "MGRSPoint given invalid Northing "+t;for(var n=Ft.charCodeAt(e-1),r=0,i=!1;n!==t.charCodeAt(0);){if(++n===Bt&&n++,n===jt&&n++,n>Gt){if(i)throw "Bad character: "+t;n=Ut,i=!0;}r+=1e5;}return r}(r.charAt(1),u);c0&&(f=1e5/Math.pow(10,y),p=t.substring(o,o+y),m=parseFloat(p)*f,d=t.substring(o+y),g=parseFloat(d)*f),{easting:m+l,northing:g+c,zoneLetter:s,zoneNumber:a,accuracy:f}}function Kt(t){var e;switch(t){case "C":e=11e5;break;case "D":e=2e6;break;case "E":e=28e5;break;case "F":e=37e5;break;case "G":e=46e5;break;case "H":e=55e5;break;case "J":e=64e5;break;case "K":e=73e5;break;case "L":e=82e5;break;case "M":e=91e5;break;case "N":e=0;break;case "P":e=8e5;break;case "Q":e=17e5;break;case "R":e=26e5;break;case "S":e=35e5;break;case "T":e=44e5;break;case "U":e=53e5;break;case "V":e=62e5;break;case "W":e=7e6;break;case "X":e=79e5;break;default:e=-1;}if(e>=0)return e;throw "Invalid zone letter: "+t}var Jt=n(5108);function $t(t,e,n){if(!(this instanceof $t))return new $t(t,e,n);if(Array.isArray(t))this.x=t[0],this.y=t[1],this.z=t[2]||0;else if("object"==typeof t)this.x=t.x,this.y=t.y,this.z=t.z||0;else if("string"==typeof t&&void 0===e){var r=t.split(",");this.x=parseFloat(r[0],10),this.y=parseFloat(r[1],10),this.z=parseFloat(r[2],10)||0;}else this.x=t,this.y=e,this.z=n||0;Jt.warn("proj4.Point will be removed in version 3, use proj4.toPoint");}$t.fromMGRS=function(t){return new $t(zt(t))},$t.prototype.toMGRS=function(t){return Ht([this.x,this.y],t)};const te=$t;var ee=1,ne=.25,re=.046875,ie=.01953125,oe=.01068115234375,ae=.75,se=.46875,ue=.013020833333333334,le=.007120768229166667,ce=.3645833333333333,he=.005696614583333333,fe=.3076171875;function pe(t){var e=[];e[0]=ee-t*(ne+t*(re+t*(ie+t*oe))),e[1]=t*(ae-t*(re+t*(ie+t*oe)));var n=t*t;return e[2]=n*(se-t*(ue+t*le)),n*=t,e[3]=n*(ce-t*he),e[4]=n*t*fe,e}function de(t,e,n,r){return n*=e,e*=e,r[0]*t-n*(r[1]+e*(r[2]+e*(r[3]+e*r[4])))}var ye=20;function me(t,e,n){for(var r=1/(1-e),i=t,o=ye;o;--o){var a=Math.sin(i),s=1-e*a*a;if(i-=s=(de(i,a,Math.cos(i),n)-t)*(s*Math.sqrt(s))*r,Math.abs(s)y?Math.tan(o):0,d=Math.pow(p,2),m=Math.pow(d,2);e=1-this.es*Math.pow(s,2),l/=Math.sqrt(e);var g=de(o,s,u,this.en);n=this.a*(this.k0*l*(1+c/6*(1-d+h+c/20*(5-18*d+m+14*h-58*d*h+c/42*(61+179*m-m*d-479*d)))))+this.x0,r=this.a*(this.k0*(g-this.ml0+s*a*l/2*(1+c/12*(5-d+9*h+4*f+c/30*(61+m-58*d+270*h-330*d*h+c/56*(1385+543*m-m*d-3111*d))))))+this.y0;}else {var _=u*Math.sin(a);if(Math.abs(Math.abs(_)-1)=1){if(_-1>y)return 93;r=0;}else r=Math.acos(r);o<0&&(r=-r),r=this.a*this.k0*(r-this.lat0)+this.y0;}return t.x=n,t.y=r,t},inverse:function(t){var e,n,r,i,o=(t.x-this.x0)*(1/this.a),a=(t.y-this.y0)*(1/this.a);if(this.es)if(n=me(e=this.ml0+a/this.k0,this.es,this.en),Math.abs(n)y?Math.tan(n):0,c=this.ep2*Math.pow(u,2),f=Math.pow(c,2),p=Math.pow(l,2),d=Math.pow(p,2);e=1-this.es*Math.pow(s,2);var m=o*Math.sqrt(e)/this.k0,g=Math.pow(m,2);r=n-(e*=l)*g/(1-this.es)*.5*(1-g/12*(5+3*p-9*c*p+c-4*f-g/30*(61+90*p-252*c*p+45*d+46*c-g/56*(1385+3633*p+4095*d+1574*d*p)))),i=Y(this.long0+m*(1-g/6*(1+2*p+c-g/20*(5+28*p+24*d+8*c*p+6*c-g/42*(61+662*p+1320*d+720*d*p))))/u);}else r=h*X(a),i=0;else {var _=Math.exp(o/this.k0),b=.5*(_-1/_),v=this.lat0+a/this.k0,T=Math.cos(v);e=Math.sqrt((1-Math.pow(T,2))/(1+Math.pow(b,2))),r=Math.asin(e),a<0&&(r=-r),i=0===b&&0===T?0:Y(Math.atan2(b,T)+this.long0);}return t.x=i,t.y=r,t},names:["Fast_Transverse_Mercator","Fast Transverse Mercator"]};function _e(t){var e=Math.exp(t);return (e-1/e)/2}function be(t,e){t=Math.abs(t),e=Math.abs(e);var n=Math.max(t,e),r=Math.min(t,e)/(n||1);return n*Math.sqrt(1+Math.pow(r,2))}function ve(t,e){for(var n,r=2*Math.cos(2*e),i=t.length-1,o=t[i],a=0;--i>=0;)n=r*o-a+t[i],a=o,o=n;return e+n*Math.sin(2*e)}function Te(t,e,n){for(var r,i,o=Math.sin(e),a=Math.cos(e),s=_e(n),u=function(t){var e=Math.exp(t);return (e+1/e)/2}(n),l=2*a*u,c=-2*o*s,h=t.length-1,f=t[h],p=0,d=0,y=0;--h>=0;)r=d,i=p,f=l*(d=f)-r-c*(p=y)+t[h],y=c*d-i+l*p;return [(l=o*u)*f-(c=a*s)*y,l*y+c*f]}const Ee={init:function(){if(!this.approx&&(isNaN(this.es)||this.es<=0))throw new Error('Incorrect elliptical usage. Try using the +approx option in the proj string, or PROJECTION["Fast_Transverse_Mercator"] in the WKT.');this.approx&&(ge.init.apply(this),this.forward=ge.forward,this.inverse=ge.inverse),this.x0=void 0!==this.x0?this.x0:0,this.y0=void 0!==this.y0?this.y0:0,this.long0=void 0!==this.long0?this.long0:0,this.lat0=void 0!==this.lat0?this.lat0:0,this.cgb=[],this.cbg=[],this.utg=[],this.gtu=[];var t=this.es/(1+Math.sqrt(1-this.es)),e=t/(2-t),n=e;this.cgb[0]=e*(2+e*(-2/3+e*(e*(116/45+e*(26/45+e*(-2854/675)))-2))),this.cbg[0]=e*(e*(2/3+e*(4/3+e*(-82/45+e*(32/45+e*(4642/4725)))))-2),n*=e,this.cgb[1]=n*(7/3+e*(e*(-227/45+e*(2704/315+e*(2323/945)))-1.6)),this.cbg[1]=n*(5/3+e*(-16/15+e*(-13/9+e*(904/315+e*(-1522/945))))),n*=e,this.cgb[2]=n*(56/15+e*(-136/35+e*(-1262/105+e*(73814/2835)))),this.cbg[2]=n*(-26/15+e*(34/21+e*(1.6+e*(-12686/2835)))),n*=e,this.cgb[3]=n*(4279/630+e*(-332/35+e*(-399572/14175))),this.cbg[3]=n*(1237/630+e*(e*(-24832/14175)-2.4)),n*=e,this.cgb[4]=n*(4174/315+e*(-144838/6237)),this.cbg[4]=n*(-734/315+e*(109598/31185)),n*=e,this.cgb[5]=n*(601676/22275),this.cbg[5]=n*(444337/155925),n=Math.pow(e,2),this.Qn=this.k0/(1+e)*(1+n*(1/4+n*(1/64+n/256))),this.utg[0]=e*(e*(2/3+e*(-37/96+e*(1/360+e*(81/512+e*(-96199/604800)))))-.5),this.gtu[0]=e*(.5+e*(-2/3+e*(5/16+e*(41/180+e*(-127/288+e*(7891/37800)))))),this.utg[1]=n*(-1/48+e*(-1/15+e*(437/1440+e*(-46/105+e*(1118711/3870720))))),this.gtu[1]=n*(13/48+e*(e*(557/1440+e*(281/630+e*(-1983433/1935360)))-.6)),n*=e,this.utg[2]=n*(-17/480+e*(37/840+e*(209/4480+e*(-5569/90720)))),this.gtu[2]=n*(61/240+e*(-103/140+e*(15061/26880+e*(167603/181440)))),n*=e,this.utg[3]=n*(-4397/161280+e*(11/504+e*(830251/7257600))),this.gtu[3]=n*(49561/161280+e*(-179/168+e*(6601661/7257600))),n*=e,this.utg[4]=n*(-4583/161280+e*(108847/3991680)),this.gtu[4]=n*(34729/80640+e*(-3418889/1995840)),n*=e,this.utg[5]=n*(-20648693/638668800),this.gtu[5]=.6650675310896665*n;var r=ve(this.cbg,this.lat0);this.Zb=-this.Qn*(r+function(t,e){for(var n,r=2*Math.cos(e),i=t.length-1,o=t[i],a=0;--i>=0;)n=r*o-a+t[i],a=o,o=n;return Math.sin(e)*n}(this.gtu,2*r));},forward:function(t){var e=Y(t.x-this.long0),n=t.y;n=ve(this.cbg,n);var r=Math.sin(n),i=Math.cos(n),o=Math.sin(e),a=Math.cos(e);n=Math.atan2(r,a*i),e=Math.atan2(o*i,be(r,i*a)),e=function(t){var e=Math.abs(t);return e=function(t){var e=1+t,n=e-1;return 0===n?t:t*Math.log(e)/n}(e*(1+e/(be(1,e)+1))),t<0?-e:e}(Math.tan(e));var s,u,l=Te(this.gtu,2*n,2*e);return n+=l[0],e+=l[1],Math.abs(e)<=2.623395162778?(s=this.a*(this.Qn*e)+this.x0,u=this.a*(this.Qn*n+this.Zb)+this.y0):(s=1/0,u=1/0),t.x=s,t.y=u,t},inverse:function(t){var e,n,r=(t.x-this.x0)*(1/this.a),i=(t.y-this.y0)*(1/this.a);if(i=(i-this.Zb)/this.Qn,r/=this.Qn,Math.abs(r)<=2.623395162778){var o=Te(this.utg,2*i,2*r);i+=o[0],r+=o[1],r=Math.atan(_e(r));var a=Math.sin(i),s=Math.cos(i),u=Math.sin(r),l=Math.cos(r);i=Math.atan2(a*l,be(u,l*s)),e=Y((r=Math.atan2(u,l*s))+this.long0),n=ve(this.cgb,i);}else e=1/0,n=1/0;return t.x=e,t.y=n,t},names:["Extended_Transverse_Mercator","Extended Transverse Mercator","etmerc","Transverse_Mercator","Transverse Mercator","tmerc"]},we={init:function(){var t=function(t,e){if(void 0===t){if((t=Math.floor(30*(Y(e)+Math.PI)/Math.PI)+1)<0)return 0;if(t>60)return 60}return t}(this.zone,this.long0);if(void 0===t)throw new Error("unknown utm zone");this.lat0=0,this.long0=(6*Math.abs(t)-183)*m,this.x0=5e5,this.y0=this.utmSouth?1e7:0,this.k0=.9996,Ee.init.apply(this),this.forward=Ee.forward,this.inverse=Ee.inverse;},names:["Universal Transverse Mercator System","utm"],dependsOn:"etmerc"};function xe(t,e){return Math.pow((1-t)/(1+t),e)}const Ce={init:function(){var t=Math.sin(this.lat0),e=Math.cos(this.lat0);e*=e,this.rc=Math.sqrt(1-this.es)/(1-this.es*t*t),this.C=Math.sqrt(1+this.es*e*e/(1-this.es)),this.phic0=Math.asin(t/this.C),this.ratexp=.5*this.C*this.e,this.K=Math.tan(.5*this.phic0+_)/(Math.pow(Math.tan(.5*this.lat0+_),this.C)*xe(this.e*t,this.ratexp));},forward:function(t){var e=t.x,n=t.y;return t.y=2*Math.atan(this.K*Math.pow(Math.tan(.5*n+_),this.C)*xe(this.e*Math.sin(n),this.ratexp))-h,t.x=this.C*e,t},inverse:function(t){for(var e=t.x/this.C,n=t.y,r=Math.pow(Math.tan(.5*n+_)/this.K,1/this.C),i=20;i>0&&(n=2*Math.atan(r*xe(this.e*Math.sin(t.y),-.5*this.e))-h,!(Math.abs(n-t.y)<1e-14));--i)t.y=n;return i?(t.x=e,t.y=n,t):null},names:["gauss"]},Me={init:function(){Ce.init.apply(this),this.rc&&(this.sinc0=Math.sin(this.phic0),this.cosc0=Math.cos(this.phic0),this.R2=2*this.rc,this.title||(this.title="Oblique Stereographic Alternative"));},forward:function(t){var e,n,r,i;return t.x=Y(t.x-this.long0),Ce.forward.apply(this,[t]),e=Math.sin(t.y),n=Math.cos(t.y),r=Math.cos(t.x),i=this.k0*this.R2/(1+this.sinc0*e+this.cosc0*n*r),t.x=i*n*Math.sin(t.x),t.y=i*(this.cosc0*e-this.sinc0*n*r),t.x=this.a*t.x+this.x0,t.y=this.a*t.y+this.y0,t},inverse:function(t){var e,n,r,i,o;if(t.x=(t.x-this.x0)/this.a,t.y=(t.y-this.y0)/this.a,t.x/=this.k0,t.y/=this.k0,o=Math.sqrt(t.x*t.x+t.y*t.y)){var a=2*Math.atan2(o,this.R2);e=Math.sin(a),n=Math.cos(a),i=Math.asin(n*this.sinc0+t.y*e*this.cosc0/o),r=Math.atan2(t.x*e,o*this.cosc0*n-t.y*this.sinc0*e);}else i=this.phic0,r=0;return t.x=r,t.y=i,Ce.inverse.apply(this,[t]),t.x=Y(t.x+this.long0),t},names:["Stereographic_North_Pole","Oblique_Stereographic","Polar_Stereographic","sterea","Oblique Stereographic Alternative","Double_Stereographic"]},Se={init:function(){this.coslat0=Math.cos(this.lat0),this.sinlat0=Math.sin(this.lat0),this.sphere?1===this.k0&&!isNaN(this.lat_ts)&&Math.abs(this.coslat0)<=y&&(this.k0=.5*(1+X(this.lat0)*Math.sin(this.lat_ts))):(Math.abs(this.coslat0)<=y&&(this.lat0>0?this.con=1:this.con=-1),this.cons=Math.sqrt(Math.pow(1+this.e,1+this.e)*Math.pow(1-this.e,1-this.e)),1===this.k0&&!isNaN(this.lat_ts)&&Math.abs(this.coslat0)<=y&&(this.k0=.5*this.cons*V(this.e,Math.sin(this.lat_ts),Math.cos(this.lat_ts))/Z(this.e,this.con*this.lat_ts,this.con*Math.sin(this.lat_ts))),this.ms1=V(this.e,this.sinlat0,this.coslat0),this.X0=2*Math.atan(this.ssfn_(this.lat0,this.sinlat0,this.e))-h,this.cosX0=Math.cos(this.X0),this.sinX0=Math.sin(this.X0));},forward:function(t){var e,n,r,i,o,a,s=t.x,u=t.y,l=Math.sin(u),c=Math.cos(u),f=Y(s-this.long0);return Math.abs(Math.abs(s-this.long0)-Math.PI)<=y&&Math.abs(u+this.lat0)<=y?(t.x=NaN,t.y=NaN,t):this.sphere?(e=2*this.k0/(1+this.sinlat0*l+this.coslat0*c*Math.cos(f)),t.x=this.a*e*c*Math.sin(f)+this.x0,t.y=this.a*e*(this.coslat0*l-this.sinlat0*c*Math.cos(f))+this.y0,t):(n=2*Math.atan(this.ssfn_(u,l,this.e))-h,i=Math.cos(n),r=Math.sin(n),Math.abs(this.coslat0)<=y?(o=Z(this.e,u*this.con,this.con*l),a=2*this.a*this.k0*o/this.cons,t.x=this.x0+a*Math.sin(s-this.long0),t.y=this.y0-this.con*a*Math.cos(s-this.long0),t):(Math.abs(this.sinlat0)0?Y(this.long0+Math.atan2(t.x,-1*t.y)):Y(this.long0+Math.atan2(t.x,t.y)):Y(this.long0+Math.atan2(t.x*Math.sin(s),a*this.coslat0*Math.cos(s)-t.y*this.sinlat0*Math.sin(s))),t.x=e,t.y=n,t)}if(Math.abs(this.coslat0)<=y){if(a<=y)return n=this.lat0,e=this.long0,t.x=e,t.y=n,t;t.x*=this.con,t.y*=this.con,r=a*this.cons/(2*this.a*this.k0),n=this.con*Q(this.e,r),e=this.con*Y(this.con*this.long0+Math.atan2(t.x,-1*t.y));}else i=2*Math.atan(a*this.cosX0/(2*this.a*this.k0*this.ms1)),e=this.long0,a<=y?o=this.X0:(o=Math.asin(Math.cos(i)*this.sinX0+t.y*Math.sin(i)*this.cosX0/a),e=Y(this.long0+Math.atan2(t.x*Math.sin(i),a*this.cosX0*Math.cos(i)-t.y*this.sinX0*Math.sin(i)))),n=-1*Q(this.e,Math.tan(.5*(h+o)));return t.x=e,t.y=n,t},names:["stere","Stereographic_South_Pole","Polar Stereographic (variant B)"],ssfn_:function(t,e,n){return e*=n,Math.tan(.5*(h+t))*Math.pow((1-e)/(1+e),.5*n)}},Ne={init:function(){var t=this.lat0;this.lambda0=this.long0;var e=Math.sin(t),n=this.a,r=1/this.rf,i=2*r-Math.pow(r,2),o=this.e=Math.sqrt(i);this.R=this.k0*n*Math.sqrt(1-i)/(1-i*Math.pow(e,2)),this.alpha=Math.sqrt(1+i/(1-i)*Math.pow(Math.cos(t),4)),this.b0=Math.asin(e/this.alpha);var a=Math.log(Math.tan(Math.PI/4+this.b0/2)),s=Math.log(Math.tan(Math.PI/4+t/2)),u=Math.log((1+o*e)/(1-o*e));this.K=a-this.alpha*s+this.alpha*o/2*u;},forward:function(t){var e=Math.log(Math.tan(Math.PI/4-t.y/2)),n=this.e/2*Math.log((1+this.e*Math.sin(t.y))/(1-this.e*Math.sin(t.y))),r=-this.alpha*(e+n)+this.K,i=2*(Math.atan(Math.exp(r))-Math.PI/4),o=this.alpha*(t.x-this.lambda0),a=Math.atan(Math.sin(o)/(Math.sin(this.b0)*Math.tan(i)+Math.cos(this.b0)*Math.cos(o))),s=Math.asin(Math.cos(this.b0)*Math.sin(i)-Math.sin(this.b0)*Math.cos(i)*Math.cos(o));return t.y=this.R/2*Math.log((1+Math.sin(s))/(1-Math.sin(s)))+this.y0,t.x=this.R*a+this.x0,t},inverse:function(t){for(var e=t.x-this.x0,n=t.y-this.y0,r=e/this.R,i=2*(Math.atan(Math.exp(n/this.R))-Math.PI/4),o=Math.asin(Math.cos(this.b0)*Math.sin(i)+Math.sin(this.b0)*Math.cos(i)*Math.cos(r)),a=Math.atan(Math.sin(r)/(Math.cos(this.b0)*Math.cos(r)-Math.sin(this.b0)*Math.tan(i))),s=this.lambda0+a/this.alpha,u=0,l=o,c=-1e3,h=0;Math.abs(l-c)>1e-7;){if(++h>20)return;u=1/this.alpha*(Math.log(Math.tan(Math.PI/4+o/2))-this.K)+this.e*Math.log(Math.tan(Math.PI/4+Math.asin(this.e*Math.sin(l))/2)),c=l,l=2*Math.atan(Math.exp(u))-Math.PI/2;}return t.x=s,t.y=l,t},names:["somerc"]};var Oe=1e-7;const Ae={init:function(){var t,e,n,r,i,o,a,s,u,l,c,f,p,d=0,g=0,v=0,T=0,E=0,w=0,x=0;this.no_off=(p="object"==typeof(f=this).PROJECTION?Object.keys(f.PROJECTION)[0]:f.PROJECTION,"no_uoff"in f||"no_off"in f||-1!==["Hotine_Oblique_Mercator","Hotine_Oblique_Mercator_Azimuth_Natural_Origin"].indexOf(p)),this.no_rot="no_rot"in this;var C=!1;"alpha"in this&&(C=!0);var M=!1;if("rectified_grid_angle"in this&&(M=!0),C&&(x=this.alpha),M&&(d=this.rectified_grid_angle*m),C||M)g=this.longc;else if(v=this.long1,E=this.lat1,T=this.long2,w=this.lat2,Math.abs(E-w)<=Oe||(t=Math.abs(E))<=Oe||Math.abs(t-h)<=Oe||Math.abs(Math.abs(this.lat0)-h)<=Oe||Math.abs(Math.abs(w)-h)<=Oe)throw new Error;var S=1-this.es;e=Math.sqrt(S),Math.abs(this.lat0)>y?(s=Math.sin(this.lat0),n=Math.cos(this.lat0),t=1-this.es*s*s,this.B=n*n,this.B=Math.sqrt(1+this.es*this.B*this.B/S),this.A=this.B*this.k0*e/t,(i=(r=this.B*e/(n*Math.sqrt(t)))*r-1)<=0?i=0:(i=Math.sqrt(i),this.lat0<0&&(i=-i)),this.E=i+=r,this.E*=Math.pow(Z(this.e,this.lat0,s),this.B)):(this.B=1/e,this.A=this.k0,this.E=r=i=1),C||M?(C?(c=Math.asin(Math.sin(x)/r),M||(d=x)):(c=d,x=Math.asin(r*Math.sin(c))),this.lam0=g-Math.asin(.5*(i-1/i)*Math.tan(c))/this.B):(o=Math.pow(Z(this.e,E,Math.sin(E)),this.B),a=Math.pow(Z(this.e,w,Math.sin(w)),this.B),i=this.E/o,u=(a-o)/(a+o),l=((l=this.E*this.E)-a*o)/(l+a*o),(t=v-T)<-Math.pi?T-=b:t>Math.pi&&(T+=b),this.lam0=Y(.5*(v+T)-Math.atan(l*Math.tan(.5*this.B*(v-T))/u)/this.B),c=Math.atan(2*Math.sin(this.B*Y(v-this.lam0))/(i-1/i)),d=x=Math.asin(r*Math.sin(c))),this.singam=Math.sin(c),this.cosgam=Math.cos(c),this.sinrot=Math.sin(d),this.cosrot=Math.cos(d),this.rB=1/this.B,this.ArB=this.A*this.rB,this.BrA=1/this.ArB,this.A,this.B,this.no_off?this.u_0=0:(this.u_0=Math.abs(this.ArB*Math.atan(Math.sqrt(r*r-1)/Math.cos(x))),this.lat0<0&&(this.u_0=-this.u_0)),i=.5*c,this.v_pole_n=this.ArB*Math.log(Math.tan(_-i)),this.v_pole_s=this.ArB*Math.log(Math.tan(_+i));},forward:function(t){var e,n,r,i,o,a,s,u,l={};if(t.x=t.x-this.lam0,Math.abs(Math.abs(t.y)-h)>y){if(e=.5*((o=this.E/Math.pow(Z(this.e,t.y,Math.sin(t.y)),this.B))-(a=1/o)),n=.5*(o+a),i=Math.sin(this.B*t.x),r=(e*this.singam-i*this.cosgam)/n,Math.abs(Math.abs(r)-1)0?this.v_pole_n:this.v_pole_s,s=this.ArB*t.y;return this.no_rot?(l.x=s,l.y=u):(s-=this.u_0,l.x=u*this.cosrot+s*this.sinrot,l.y=s*this.cosrot-u*this.sinrot),l.x=this.a*l.x+this.x0,l.y=this.a*l.y+this.y0,l},inverse:function(t){var e,n,r,i,o,a,s,u={};if(t.x=(t.x-this.x0)*(1/this.a),t.y=(t.y-this.y0)*(1/this.a),this.no_rot?(n=t.y,e=t.x):(n=t.x*this.cosrot-t.y*this.sinrot,e=t.y*this.cosrot+t.x*this.sinrot+this.u_0),i=.5*((r=Math.exp(-this.BrA*n))-1/r),o=.5*(r+1/r),s=((a=Math.sin(this.BrA*e))*this.cosgam+i*this.singam)/o,Math.abs(Math.abs(s)-1)y?this.ns=Math.log(r/s)/Math.log(i/u):this.ns=e,isNaN(this.ns)&&(this.ns=e),this.f0=r/(this.ns*Math.pow(i,this.ns)),this.rh=this.a*this.f0*Math.pow(l,this.ns),this.title||(this.title="Lambert Conformal Conic");}},forward:function(t){var e=t.x,n=t.y;Math.abs(2*Math.abs(n)-Math.PI)<=y&&(n=X(n)*(h-2*y));var r,i,o=Math.abs(Math.abs(n)-h);if(o>y)r=Z(this.e,n,Math.sin(n)),i=this.a*this.f0*Math.pow(r,this.ns);else {if((o=n*this.ns)<=0)return null;i=0;}var a=this.ns*Y(e-this.long0);return t.x=this.k0*(i*Math.sin(a))+this.x0,t.y=this.k0*(this.rh-i*Math.cos(a))+this.y0,t},inverse:function(t){var e,n,r,i,o,a=(t.x-this.x0)/this.k0,s=this.rh-(t.y-this.y0)/this.k0;this.ns>0?(e=Math.sqrt(a*a+s*s),n=1):(e=-Math.sqrt(a*a+s*s),n=-1);var u=0;if(0!==e&&(u=Math.atan2(n*a,n*s)),0!==e||this.ns>0){if(n=1/this.ns,r=Math.pow(e/(this.a*this.f0),n),-9999===(i=Q(this.e,r)))return null}else i=-h;return o=Y(u/this.ns+this.long0),t.x=o,t.y=i,t},names:["Lambert Tangential Conformal Conic Projection","Lambert_Conformal_Conic","Lambert_Conformal_Conic_1SP","Lambert_Conformal_Conic_2SP","lcc","Lambert Conic Conformal (1SP)","Lambert Conic Conformal (2SP)"]},Pe={init:function(){this.a=6377397.155,this.es=.006674372230614,this.e=Math.sqrt(this.es),this.lat0||(this.lat0=.863937979737193),this.long0||(this.long0=.4334234309119251),this.k0||(this.k0=.9999),this.s45=.785398163397448,this.s90=2*this.s45,this.fi0=this.lat0,this.e2=this.es,this.e=Math.sqrt(this.e2),this.alfa=Math.sqrt(1+this.e2*Math.pow(Math.cos(this.fi0),4)/(1-this.e2)),this.uq=1.04216856380474,this.u0=Math.asin(Math.sin(this.fi0)/this.alfa),this.g=Math.pow((1+this.e*Math.sin(this.fi0))/(1-this.e*Math.sin(this.fi0)),this.alfa*this.e/2),this.k=Math.tan(this.u0/2+this.s45)/Math.pow(Math.tan(this.fi0/2+this.s45),this.alfa)*this.g,this.k1=this.k0,this.n0=this.a*Math.sqrt(1-this.e2)/(1-this.e2*Math.pow(Math.sin(this.fi0),2)),this.s0=1.37008346281555,this.n=Math.sin(this.s0),this.ro0=this.k1*this.n0/Math.tan(this.s0),this.ad=this.s90-this.uq;},forward:function(t){var e,n,r,i,o,a,s,u=t.x,l=t.y,c=Y(u-this.long0);return e=Math.pow((1+this.e*Math.sin(l))/(1-this.e*Math.sin(l)),this.alfa*this.e/2),n=2*(Math.atan(this.k*Math.pow(Math.tan(l/2+this.s45),this.alfa)/e)-this.s45),r=-c*this.alfa,i=Math.asin(Math.cos(this.ad)*Math.sin(n)+Math.sin(this.ad)*Math.cos(n)*Math.cos(r)),o=Math.asin(Math.cos(n)*Math.sin(r)/Math.cos(i)),a=this.n*o,s=this.ro0*Math.pow(Math.tan(this.s0/2+this.s45),this.n)/Math.pow(Math.tan(i/2+this.s45),this.n),t.y=s*Math.cos(a)/1,t.x=s*Math.sin(a)/1,this.czech||(t.y*=-1,t.x*=-1),t},inverse:function(t){var e,n,r,i,o,a,s,u=t.x;t.x=t.y,t.y=u,this.czech||(t.y*=-1,t.x*=-1),o=Math.sqrt(t.x*t.x+t.y*t.y),i=Math.atan2(t.y,t.x)/Math.sin(this.s0),r=2*(Math.atan(Math.pow(this.ro0/o,1/this.n)*Math.tan(this.s0/2+this.s45))-this.s45),e=Math.asin(Math.cos(this.ad)*Math.sin(r)-Math.sin(this.ad)*Math.cos(r)*Math.cos(i)),n=Math.asin(Math.cos(r)*Math.sin(i)/Math.cos(e)),t.x=this.long0-n/this.alfa,a=e,s=0;var l=0;do{t.y=2*(Math.atan(Math.pow(this.k,-1/this.alfa)*Math.pow(Math.tan(e/2+this.s45),1/this.alfa)*Math.pow((1+this.e*Math.sin(a))/(1-this.e*Math.sin(a)),this.e/2))-this.s45),Math.abs(a-t.y)<1e-10&&(s=1),a=t.y,l+=1;}while(0===s&&l<15);return l>=15?null:t},names:["Krovak","krovak"]};function Re(t,e,n,r,i){return t*i-e*Math.sin(2*i)+n*Math.sin(4*i)-r*Math.sin(6*i)}function Le(t){return 1-.25*t*(1+t/16*(3+1.25*t))}function De(t){return .375*t*(1+.25*t*(1+.46875*t))}function ke(t){return .05859375*t*t*(1+.75*t)}function Fe(t){return t*t*t*(35/3072)}function Ue(t,e,n){var r=e*n;return t/Math.sqrt(1-r*r)}function Be(t){return Math.abs(t)1e-7?(1-t*t)*(e/(1-(n=t*e)*n)-.5/t*Math.log((1-n)/(1+n))):2*e}const qe={init:function(){var t,e=Math.abs(this.lat0);if(Math.abs(e-h)0)switch(this.qp=We(this.e,1),this.mmf=.5/(1-this.es),this.apa=function(t){var e,n=[];return n[0]=.3333333333333333*t,e=t*t,n[0]+=.17222222222222222*e,n[1]=.06388888888888888*e,e*=t,n[0]+=.10257936507936508*e,n[1]+=.0664021164021164*e,n[2]=.016415012942191543*e,n}(this.es),this.mode){case this.N_POLE:case this.S_POLE:this.dd=1;break;case this.EQUIT:this.rq=Math.sqrt(.5*this.qp),this.dd=1/this.rq,this.xmf=1,this.ymf=.5*this.qp;break;case this.OBLIQ:this.rq=Math.sqrt(.5*this.qp),t=Math.sin(this.lat0),this.sinb1=We(this.e,t)/this.qp,this.cosb1=Math.sqrt(1-this.sinb1*this.sinb1),this.dd=Math.cos(this.lat0)/(Math.sqrt(1-this.es*t*t)*this.rq*this.cosb1),this.ymf=(this.xmf=this.rq)/this.dd,this.xmf*=this.dd;}else this.mode===this.OBLIQ&&(this.sinph0=Math.sin(this.lat0),this.cosph0=Math.cos(this.lat0));},forward:function(t){var e,n,r,i,o,a,s,u,l,c,f=t.x,p=t.y;if(f=Y(f-this.long0),this.sphere){if(o=Math.sin(p),c=Math.cos(p),r=Math.cos(f),this.mode===this.OBLIQ||this.mode===this.EQUIT){if((n=this.mode===this.EQUIT?1+c*r:1+this.sinph0*o+this.cosph0*c*r)<=y)return null;e=(n=Math.sqrt(2/n))*c*Math.sin(f),n*=this.mode===this.EQUIT?o:this.cosph0*o-this.sinph0*c*r;}else if(this.mode===this.N_POLE||this.mode===this.S_POLE){if(this.mode===this.N_POLE&&(r=-r),Math.abs(p+this.lat0)=0?(e=(l=Math.sqrt(a))*i,n=r*(this.mode===this.S_POLE?l:-l)):e=n=0;}}return t.x=this.a*e+this.x0,t.y=this.a*n+this.y0,t},inverse:function(t){t.x-=this.x0,t.y-=this.y0;var e,n,r,i,o,a,s,u,l,c,f=t.x/this.a,p=t.y/this.a;if(this.sphere){var d,m=0,g=0;if((n=.5*(d=Math.sqrt(f*f+p*p)))>1)return null;switch(n=2*Math.asin(n),this.mode!==this.OBLIQ&&this.mode!==this.EQUIT||(g=Math.sin(n),m=Math.cos(n)),this.mode){case this.EQUIT:n=Math.abs(d)<=y?0:Math.asin(p*g/d),f*=g,p=m*d;break;case this.OBLIQ:n=Math.abs(d)<=y?this.lat0:Math.asin(m*this.sinph0+p*g*this.cosph0/d),f*=g*this.cosph0,p=(m-Math.sin(n)*this.sinph0)*d;break;case this.N_POLE:p=-p,n=h-n;break;case this.S_POLE:n-=h;}e=0!==p||this.mode!==this.EQUIT&&this.mode!==this.OBLIQ?Math.atan2(f,p):0;}else {if(s=0,this.mode===this.OBLIQ||this.mode===this.EQUIT){if(f/=this.dd,p*=this.dd,(a=Math.sqrt(f*f+p*p))1&&(t=t>1?1:-1),Math.asin(t)}const ze={init:function(){Math.abs(this.lat1+this.lat2)y?this.ns0=(this.ms1*this.ms1-this.ms2*this.ms2)/(this.qs2-this.qs1):this.ns0=this.con,this.c=this.ms1*this.ms1+this.ns0*this.qs1,this.rh=this.a*Math.sqrt(this.c-this.ns0*this.qs0)/this.ns0);},forward:function(t){var e=t.x,n=t.y;this.sin_phi=Math.sin(n),this.cos_phi=Math.cos(n);var r=We(this.e3,this.sin_phi,this.cos_phi),i=this.a*Math.sqrt(this.c-this.ns0*r)/this.ns0,o=this.ns0*Y(e-this.long0),a=i*Math.sin(o)+this.x0,s=this.rh-i*Math.cos(o)+this.y0;return t.x=a,t.y=s,t},inverse:function(t){var e,n,r,i,o,a;return t.x-=this.x0,t.y=this.rh-t.y+this.y0,this.ns0>=0?(e=Math.sqrt(t.x*t.x+t.y*t.y),r=1):(e=-Math.sqrt(t.x*t.x+t.y*t.y),r=-1),i=0,0!==e&&(i=Math.atan2(r*t.x,r*t.y)),r=e*this.ns0/this.a,this.sphere?a=Math.asin((this.c-r*r)/(2*this.ns0)):(n=(this.c-r*r)/this.ns0,a=this.phi1z(this.e3,n)),o=Y(i/this.ns0+this.long0),t.x=o,t.y=a,t},names:["Albers_Conic_Equal_Area","Albers","aea"],phi1z:function(t,e){var n,r,i,o,a=He(.5*e);if(t0||Math.abs(o)<=y?(a=this.x0+1*this.a*n*Math.sin(r)/o,s=this.y0+1*this.a*(this.cos_p14*e-this.sin_p14*n*i)/o):(a=this.x0+this.infinity_dist*n*Math.sin(r),s=this.y0+this.infinity_dist*(this.cos_p14*e-this.sin_p14*n*i)),t.x=a,t.y=s,t},inverse:function(t){var e,n,r,i,o,a;return t.x=(t.x-this.x0)/this.a,t.y=(t.y-this.y0)/this.a,t.x/=this.k0,t.y/=this.k0,(e=Math.sqrt(t.x*t.x+t.y*t.y))?(i=Math.atan2(e,this.rc),n=Math.sin(i),a=He((r=Math.cos(i))*this.sin_p14+t.y*n*this.cos_p14/e),o=Math.atan2(t.x*n,e*this.cos_p14*r-t.y*this.sin_p14*n),o=Y(this.long0+o)):(a=this.phic0,o=0),t.x=o,t.y=a,t},names:["gnom"]},Xe={init:function(){this.sphere||(this.k0=V(this.e,Math.sin(this.lat_ts),Math.cos(this.lat_ts)));},forward:function(t){var e,n,r=t.x,i=t.y,o=Y(r-this.long0);if(this.sphere)e=this.x0+this.a*o*Math.cos(this.lat_ts),n=this.y0+this.a*Math.sin(i)/Math.cos(this.lat_ts);else {var a=We(this.e,Math.sin(i));e=this.x0+this.a*this.k0*o,n=this.y0+this.a*a*.5/this.k0;}return t.x=e,t.y=n,t},inverse:function(t){var e,n;return t.x-=this.x0,t.y-=this.y0,this.sphere?(e=Y(this.long0+t.x/this.a/Math.cos(this.lat_ts)),n=Math.asin(t.y/this.a*Math.cos(this.lat_ts))):(n=function(t,e){var n=1-(1-t*t)/(2*t)*Math.log((1-t)/(1+t));if(Math.abs(Math.abs(e)-n)<1e-6)return e<0?-1*h:h;for(var r,i,o,a,s=Math.asin(.5*e),u=0;u<30;u++)if(i=Math.sin(s),o=Math.cos(s),a=t*i,s+=r=Math.pow(1-a*a,2)/(2*o)*(e/(1-t*t)-i/(1-a*a)+.5/t*Math.log((1-a)/(1+a))),Math.abs(r)<=1e-10)return s;return NaN}(this.e,2*t.y*this.k0/this.a),e=Y(this.long0+t.x/(this.a*this.k0))),t.x=e,t.y=n,t},names:["cea"]},Ye={init:function(){this.x0=this.x0||0,this.y0=this.y0||0,this.lat0=this.lat0||0,this.long0=this.long0||0,this.lat_ts=this.lat_ts||0,this.title=this.title||"Equidistant Cylindrical (Plate Carre)",this.rc=Math.cos(this.lat_ts);},forward:function(t){var e=t.x,n=t.y,r=Y(e-this.long0),i=Be(n-this.lat0);return t.x=this.x0+this.a*r*this.rc,t.y=this.y0+this.a*i,t},inverse:function(t){var e=t.x,n=t.y;return t.x=Y(this.long0+(e-this.x0)/(this.a*this.rc)),t.y=Be(this.lat0+(n-this.y0)/this.a),t},names:["Equirectangular","Equidistant_Cylindrical","eqc"]};const Ze={init:function(){this.temp=this.b/this.a,this.es=1-Math.pow(this.temp,2),this.e=Math.sqrt(this.es),this.e0=Le(this.es),this.e1=De(this.es),this.e2=ke(this.es),this.e3=Fe(this.es),this.ml0=this.a*Re(this.e0,this.e1,this.e2,this.e3,this.lat0);},forward:function(t){var e,n,r,i=t.x,o=t.y,a=Y(i-this.long0);if(r=a*Math.sin(o),this.sphere)Math.abs(o)<=y?(e=this.a*a,n=-1*this.a*this.lat0):(e=this.a*Math.sin(r)/Math.tan(o),n=this.a*(Be(o-this.lat0)+(1-Math.cos(r))/Math.tan(o)));else if(Math.abs(o)<=y)e=this.a*a,n=-1*this.ml0;else {var s=Ue(this.a,this.e,Math.sin(o))/Math.tan(o);e=s*Math.sin(r),n=this.a*Re(this.e0,this.e1,this.e2,this.e3,o)-this.ml0+s*(1-Math.cos(r));}return t.x=e+this.x0,t.y=n+this.y0,t},inverse:function(t){var e,n,r,i,o,a,s,u,l;if(r=t.x-this.x0,i=t.y-this.y0,this.sphere)if(Math.abs(i+this.a*this.lat0)<=y)e=Y(r/this.a+this.long0),n=0;else {var c;for(a=this.lat0+i/this.a,s=r*r/this.a/this.a+a*a,u=a,o=20;o;--o)if(u+=l=-1*(a*(u*(c=Math.tan(u))+1)-u-.5*(u*u+s)*c)/((u-a)/c-1),Math.abs(l)<=y){n=u;break}e=Y(this.long0+Math.asin(r*Math.tan(u)/this.a)/Math.sin(n));}else if(Math.abs(i+this.ml0)<=y)n=0,e=Y(this.long0+r/this.a);else {var h,f,p,d,m;for(a=(this.ml0+i)/this.a,s=r*r/this.a/this.a+a*a,u=a,o=20;o;--o)if(m=this.e*Math.sin(u),h=Math.sqrt(1-m*m)*Math.tan(u),f=this.a*Re(this.e0,this.e1,this.e2,this.e3,u),p=this.e0-2*this.e1*Math.cos(2*u)+4*this.e2*Math.cos(4*u)-6*this.e3*Math.cos(6*u),u-=l=(a*(h*(d=f/this.a)+1)-d-.5*h*(d*d+s))/(this.es*Math.sin(2*u)*(d*d+s-2*a*d)/(4*h)+(a-d)*(h*p-2/Math.sin(2*u))-p),Math.abs(l)<=y){n=u;break}h=Math.sqrt(1-this.es*Math.pow(Math.sin(n),2))*Math.tan(n),e=Y(this.long0+Math.asin(r*h/this.a)/Math.sin(n));}return t.x=e,t.y=n,t},names:["Polyconic","poly"]},Qe={init:function(){this.A=[],this.A[1]=.6399175073,this.A[2]=-.1358797613,this.A[3]=.063294409,this.A[4]=-.02526853,this.A[5]=.0117879,this.A[6]=-.0055161,this.A[7]=.0026906,this.A[8]=-.001333,this.A[9]=67e-5,this.A[10]=-34e-5,this.B_re=[],this.B_im=[],this.B_re[1]=.7557853228,this.B_im[1]=0,this.B_re[2]=.249204646,this.B_im[2]=.003371507,this.B_re[3]=-.001541739,this.B_im[3]=.04105856,this.B_re[4]=-.10162907,this.B_im[4]=.01727609,this.B_re[5]=-.26623489,this.B_im[5]=-.36249218,this.B_re[6]=-.6870983,this.B_im[6]=-1.1651967,this.C_re=[],this.C_im=[],this.C_re[1]=1.3231270439,this.C_im[1]=0,this.C_re[2]=-.577245789,this.C_im[2]=-.007809598,this.C_re[3]=.508307513,this.C_im[3]=-.112208952,this.C_re[4]=-.15094762,this.C_im[4]=.18200602,this.C_re[5]=1.01418179,this.C_im[5]=1.64497696,this.C_re[6]=1.9660549,this.C_im[6]=2.5127645,this.D=[],this.D[1]=1.5627014243,this.D[2]=.5185406398,this.D[3]=-.03333098,this.D[4]=-.1052906,this.D[5]=-.0368594,this.D[6]=.007317,this.D[7]=.0122,this.D[8]=.00394,this.D[9]=-.0013;},forward:function(t){var e,n=t.x,r=t.y-this.lat0,i=n-this.long0,o=r/c*1e-5,a=i,s=1,u=0;for(e=1;e<=10;e++)s*=o,u+=this.A[e]*s;var l,h=u,f=a,p=1,d=0,y=0,m=0;for(e=1;e<=6;e++)l=d*h+p*f,p=p*h-d*f,d=l,y=y+this.B_re[e]*p-this.B_im[e]*d,m=m+this.B_im[e]*p+this.B_re[e]*d;return t.x=m*this.a+this.x0,t.y=y*this.a+this.y0,t},inverse:function(t){var e,n,r=t.x,i=t.y,o=r-this.x0,a=(i-this.y0)/this.a,s=o/this.a,u=1,l=0,h=0,f=0;for(e=1;e<=6;e++)n=l*a+u*s,u=u*a-l*s,l=n,h=h+this.C_re[e]*u-this.C_im[e]*l,f=f+this.C_im[e]*u+this.C_re[e]*l;for(var p=0;p.999999999999&&(n=.999999999999),e=Math.asin(n);var r=Y(this.long0+t.x/(.900316316158*this.a*Math.cos(e)));r<-Math.PI&&(r=-Math.PI),r>Math.PI&&(r=Math.PI),n=(2*e+Math.sin(2*e))/Math.PI,Math.abs(n)>1&&(n=1);var i=Math.asin(n);return t.x=r,t.y=i,t},names:["Mollweide","moll"]},tn={init:function(){Math.abs(this.lat1+this.lat2)=0?(n=Math.sqrt(t.x*t.x+t.y*t.y),e=1):(n=-Math.sqrt(t.x*t.x+t.y*t.y),e=-1);var o=0;return 0!==n&&(o=Math.atan2(e*t.x,e*t.y)),this.sphere?(i=Y(this.long0+o/this.ns),r=Be(this.g-n/this.a),t.x=i,t.y=r,t):(r=je(this.g-n/this.a,this.e0,this.e1,this.e2,this.e3),i=Y(this.long0+o/this.ns),t.x=i,t.y=r,t)},names:["Equidistant_Conic","eqdc"]},en={init:function(){this.R=this.a;},forward:function(t){var e,n,r=t.x,i=t.y,o=Y(r-this.long0);Math.abs(i)<=y&&(e=this.x0+this.R*o,n=this.y0);var a=He(2*Math.abs(i/Math.PI));(Math.abs(o)<=y||Math.abs(Math.abs(i)-h)<=y)&&(e=this.x0,n=i>=0?this.y0+Math.PI*this.R*Math.tan(.5*a):this.y0+Math.PI*this.R*-Math.tan(.5*a));var s=.5*Math.abs(Math.PI/o-o/Math.PI),u=s*s,l=Math.sin(a),c=Math.cos(a),f=c/(l+c-1),p=f*f,d=f*(2/l-1),m=d*d,g=Math.PI*this.R*(s*(f-m)+Math.sqrt(u*(f-m)*(f-m)-(m+u)*(p-m)))/(m+u);o<0&&(g=-g),e=this.x0+g;var _=u+f;return g=Math.PI*this.R*(d*_-s*Math.sqrt((m+u)*(u+1)-_*_))/(m+u),n=i>=0?this.y0+g:this.y0-g,t.x=e,t.y=n,t},inverse:function(t){var e,n,r,i,o,a,s,u,l,c,h,f;return t.x-=this.x0,t.y-=this.y0,h=Math.PI*this.R,o=(r=t.x/h)*r+(i=t.y/h)*i,h=3*(i*i/(u=-2*(a=-Math.abs(i)*(1+o))+1+2*i*i+o*o)+(2*(s=a-2*i*i+r*r)*s*s/u/u/u-9*a*s/u/u)/27)/(l=(a-s*s/3/u)/u)/(c=2*Math.sqrt(-l/3)),Math.abs(h)>1&&(h=h>=0?1:-1),f=Math.acos(h)/3,n=t.y>=0?(-c*Math.cos(f+Math.PI/3)-s/3/u)*Math.PI:-(-c*Math.cos(f+Math.PI/3)-s/3/u)*Math.PI,e=Math.abs(r)2*h*this.a)return;return n=e/this.a,r=Math.sin(n),i=Math.cos(n),o=this.long0,Math.abs(e)<=y?a=this.lat0:(a=He(i*this.sin_p12+t.y*r*this.cos_p12/e),s=Math.abs(this.lat0)-h,o=Math.abs(s)<=y?this.lat0>=0?Y(this.long0+Math.atan2(t.x,-t.y)):Y(this.long0-Math.atan2(-t.x,t.y)):Y(this.long0+Math.atan2(t.x*r,e*this.cos_p12*i-t.y*this.sin_p12*r))),t.x=o,t.y=a,t}return u=Le(this.es),l=De(this.es),c=ke(this.es),f=Fe(this.es),Math.abs(this.sin_p12-1)<=y?(a=je(((p=this.a*Re(u,l,c,f,h))-(e=Math.sqrt(t.x*t.x+t.y*t.y)))/this.a,u,l,c,f),o=Y(this.long0+Math.atan2(t.x,-1*t.y)),t.x=o,t.y=a,t):Math.abs(this.sin_p12+1)<=y?(p=this.a*Re(u,l,c,f,h),a=je(((e=Math.sqrt(t.x*t.x+t.y*t.y))-p)/this.a,u,l,c,f),o=Y(this.long0+Math.atan2(t.x,t.y)),t.x=o,t.y=a,t):(e=Math.sqrt(t.x*t.x+t.y*t.y),g=Math.atan2(t.x,t.y),d=Ue(this.a,this.e,this.sin_p12),_=Math.cos(g),v=-(b=this.e*this.cos_p12*_)*b/(1-this.es),T=3*this.es*(1-v)*this.sin_p12*this.cos_p12*_/(1-this.es),x=1-v*(w=(E=e/d)-v*(1+v)*Math.pow(E,3)/6-T*(1+3*v)*Math.pow(E,4)/24)*w/2-E*w*w*w/6,m=Math.asin(this.sin_p12*Math.cos(w)+this.cos_p12*Math.sin(w)*_),o=Y(this.long0+Math.asin(Math.sin(g)*Math.sin(w)/Math.cos(m))),C=Math.sin(m),a=Math.atan2((C-this.es*x*this.sin_p12)*Math.tan(m),C*(1-this.es)),t.x=o,t.y=a,t)},names:["Azimuthal_Equidistant","aeqd"]},rn={init:function(){this.sin_p14=Math.sin(this.lat0),this.cos_p14=Math.cos(this.lat0);},forward:function(t){var e,n,r,i,o,a,s,u=t.x,l=t.y;return r=Y(u-this.long0),e=Math.sin(l),n=Math.cos(l),i=Math.cos(r),((o=this.sin_p14*e+this.cos_p14*n*i)>0||Math.abs(o)<=y)&&(a=1*this.a*n*Math.sin(r),s=this.y0+1*this.a*(this.cos_p14*e-this.sin_p14*n*i)),t.x=a,t.y=s,t},inverse:function(t){var e,n,r,i,o,a,s;return t.x-=this.x0,t.y-=this.y0,n=He((e=Math.sqrt(t.x*t.x+t.y*t.y))/this.a),r=Math.sin(n),i=Math.cos(n),a=this.long0,Math.abs(e)<=y?(s=this.lat0,t.x=a,t.y=s,t):(s=He(i*this.sin_p14+t.y*r*this.cos_p14/e),o=Math.abs(this.lat0)-h,Math.abs(o)<=y?(a=this.lat0>=0?Y(this.long0+Math.atan2(t.x,-t.y)):Y(this.long0-Math.atan2(-t.x,t.y)),t.x=a,t.y=s,t):(a=Y(this.long0+Math.atan2(t.x*r,e*this.cos_p14*i-t.y*this.sin_p14*r)),t.x=a,t.y=s,t))},names:["ortho"]};var on=1,an=2,sn=3,un=4,ln=5,cn=6,hn={AREA_0:1,AREA_1:2,AREA_2:3,AREA_3:4};function fn(t,e,n,r){var i;return t_&&i<=h+_?(r.value=hn.AREA_1,i-=h):i>h+_||i<=-(h+_)?(r.value=hn.AREA_2,i=i>=0?i-v:i+v):(r.value=hn.AREA_3,i+=h)),i}function pn(t,e){var n=t+e;return n<-v?n+=b:n>+v&&(n-=b),n}const dn={init:function(){this.x0=this.x0||0,this.y0=this.y0||0,this.lat0=this.lat0||0,this.long0=this.long0||0,this.lat_ts=this.lat_ts||0,this.title=this.title||"Quadrilateralized Spherical Cube",this.lat0>=h-_/2?this.face=ln:this.lat0<=-(h-_/2)?this.face=cn:Math.abs(this.long0)<=_?this.face=on:Math.abs(this.long0)<=h+_?this.face=this.long0>0?an:un:this.face=sn,0!==this.es&&(this.one_minus_f=1-(this.a-this.b)/this.a,this.one_minus_f_squared=this.one_minus_f*this.one_minus_f);},forward:function(t){var e,n,r,i,o,a,s={x:0,y:0},u={value:0};if(t.x-=this.long0,e=0!==this.es?Math.atan(this.one_minus_f_squared*Math.tan(t.y)):t.y,n=t.x,this.face===ln)i=h-e,n>=_&&n<=h+_?(u.value=hn.AREA_0,r=n-h):n>h+_||n<=-(h+_)?(u.value=hn.AREA_1,r=n>0?n-v:n+v):n>-(h+_)&&n<=-_?(u.value=hn.AREA_2,r=n+h):(u.value=hn.AREA_3,r=n);else if(this.face===cn)i=h+e,n>=_&&n<=h+_?(u.value=hn.AREA_0,r=-n+h):n<_&&n>=-_?(u.value=hn.AREA_1,r=-n):n<-_&&n>=-(h+_)?(u.value=hn.AREA_2,r=-n-h):(u.value=hn.AREA_3,r=n>0?-n+v:-n-v);else {var l,c,f,p,d,y;this.face===an?n=pn(n,+h):this.face===sn?n=pn(n,+v):this.face===un&&(n=pn(n,-h)),p=Math.sin(e),d=Math.cos(e),y=Math.sin(n),l=d*Math.cos(n),c=d*y,f=p,this.face===on?r=fn(i=Math.acos(l),f,c,u):this.face===an?r=fn(i=Math.acos(c),f,-l,u):this.face===sn?r=fn(i=Math.acos(-l),f,-c,u):this.face===un?r=fn(i=Math.acos(-c),f,l,u):(i=r=0,u.value=hn.AREA_0);}return a=Math.atan(12/v*(r+Math.acos(Math.sin(r)*Math.cos(_))-h)),o=Math.sqrt((1-Math.cos(i))/(Math.cos(a)*Math.cos(a))/(1-Math.cos(Math.atan(1/Math.cos(r))))),u.value===hn.AREA_1?a+=h:u.value===hn.AREA_2?a+=v:u.value===hn.AREA_3&&(a+=1.5*v),s.x=o*Math.cos(a),s.y=o*Math.sin(a),s.x=s.x*this.a+this.x0,s.y=s.y*this.a+this.y0,t.x=s.x,t.y=s.y,t},inverse:function(t){var e,n,r,i,o,a,s,u,l,c,f,p,d={lam:0,phi:0},y={value:0};if(t.x=(t.x-this.x0)/this.a,t.y=(t.y-this.y0)/this.a,n=Math.atan(Math.sqrt(t.x*t.x+t.y*t.y)),e=Math.atan2(t.y,t.x),t.x>=0&&t.x>=Math.abs(t.y)?y.value=hn.AREA_0:t.y>=0&&t.y>=Math.abs(t.x)?(y.value=hn.AREA_1,e-=h):t.x<0&&-t.x>=Math.abs(t.y)?(y.value=hn.AREA_2,e=e<0?e+v:e-v):(y.value=hn.AREA_3,e+=h),l=v/12*Math.tan(e),o=Math.sin(l)/(Math.cos(l)-1/Math.sqrt(2)),a=Math.atan(o),(s=1-(r=Math.cos(e))*r*(i=Math.tan(n))*i*(1-Math.cos(Math.atan(1/Math.cos(a)))))<-1?s=-1:s>1&&(s=1),this.face===ln)u=Math.acos(s),d.phi=h-u,y.value===hn.AREA_0?d.lam=a+h:y.value===hn.AREA_1?d.lam=a<0?a+v:a-v:y.value===hn.AREA_2?d.lam=a-h:d.lam=a;else if(this.face===cn)u=Math.acos(s),d.phi=u-h,y.value===hn.AREA_0?d.lam=-a+h:y.value===hn.AREA_1?d.lam=-a:y.value===hn.AREA_2?d.lam=-a-h:d.lam=a<0?-a-v:-a+v;else {var m,g,_;l=(m=s)*m,g=(l+=(_=l>=1?0:Math.sqrt(1-l)*Math.sin(a))*_)>=1?0:Math.sqrt(1-l),y.value===hn.AREA_1?(l=g,g=-_,_=l):y.value===hn.AREA_2?(g=-g,_=-_):y.value===hn.AREA_3&&(l=g,g=_,_=-l),this.face===an?(l=m,m=-g,g=l):this.face===sn?(m=-m,g=-g):this.face===un&&(l=m,m=g,g=-l),d.phi=Math.acos(-_)-h,d.lam=Math.atan2(g,m),this.face===an?d.lam=pn(d.lam,-h):this.face===sn?d.lam=pn(d.lam,-v):this.face===un&&(d.lam=pn(d.lam,+h));}return 0!==this.es&&(c=d.phi<0?1:0,f=Math.tan(d.phi),p=this.b/Math.sqrt(f*f+this.one_minus_f_squared),d.phi=Math.atan(Math.sqrt(this.a*this.a-p*p)/(this.one_minus_f*p)),c&&(d.phi=-d.phi)),d.lam+=this.long0,t.x=d.lam,t.y=d.phi,t},names:["Quadrilateralized Spherical Cube","Quadrilateralized_Spherical_Cube","qsc"]};var yn=[[1,22199e-21,-715515e-10,31103e-10],[.9986,-482243e-9,-24897e-9,-13309e-10],[.9954,-83103e-8,-448605e-10,-9.86701e-7],[.99,-.00135364,-59661e-9,36777e-10],[.9822,-.00167442,-449547e-11,-572411e-11],[.973,-.00214868,-903571e-10,1.8736e-8],[.96,-.00305085,-900761e-10,164917e-11],[.9427,-.00382792,-653386e-10,-26154e-10],[.9216,-.00467746,-10457e-8,481243e-11],[.8962,-.00536223,-323831e-10,-543432e-11],[.8679,-.00609363,-113898e-9,332484e-11],[.835,-.00698325,-640253e-10,9.34959e-7],[.7986,-.00755338,-500009e-10,9.35324e-7],[.7597,-.00798324,-35971e-9,-227626e-11],[.7186,-.00851367,-701149e-10,-86303e-10],[.6732,-.00986209,-199569e-9,191974e-10],[.6213,-.010418,883923e-10,624051e-11],[.5722,-.00906601,182e-6,624051e-11],[.5322,-.00677797,275608e-9,624051e-11]],mn=[[-520417e-23,.0124,121431e-23,-845284e-16],[.062,.0124,-1.26793e-9,4.22642e-10],[.124,.0124,5.07171e-9,-1.60604e-9],[.186,.0123999,-1.90189e-8,6.00152e-9],[.248,.0124002,7.10039e-8,-2.24e-8],[.31,.0123992,-2.64997e-7,8.35986e-8],[.372,.0124029,9.88983e-7,-3.11994e-7],[.434,.0123893,-369093e-11,-4.35621e-7],[.4958,.0123198,-102252e-10,-3.45523e-7],[.5571,.0121916,-154081e-10,-5.82288e-7],[.6176,.0119938,-241424e-10,-5.25327e-7],[.6769,.011713,-320223e-10,-5.16405e-7],[.7346,.0113541,-397684e-10,-6.09052e-7],[.7903,.0109107,-489042e-10,-104739e-11],[.8435,.0103431,-64615e-9,-1.40374e-9],[.8936,.00969686,-64636e-9,-8547e-9],[.9394,.00840947,-192841e-9,-42106e-10],[.9761,.00616527,-256e-6,-42106e-10],[1,.00328947,-319159e-9,-42106e-10]],gn=.8487,_n=1.3523,bn=g/5,vn=1/bn,Tn=18,En=function(t,e){return t[0]+e*(t[1]+e*(t[2]+e*t[3]))};const wn={init:function(){this.x0=this.x0||0,this.y0=this.y0||0,this.long0=this.long0||0,this.es=0,this.title=this.title||"Robinson";},forward:function(t){var e=Y(t.x-this.long0),n=Math.abs(t.y),r=Math.floor(n*bn);r<0?r=0:r>=Tn&&(r=17);var i={x:En(yn[r],n=g*(n-vn*r))*e,y:En(mn[r],n)};return t.y<0&&(i.y=-i.y),i.x=i.x*this.a*gn+this.x0,i.y=i.y*this.a*_n+this.y0,i},inverse:function(t){var e={x:(t.x-this.x0)/(this.a*gn),y:Math.abs(t.y-this.y0)/(this.a*_n)};if(e.y>=1)e.x/=yn[18][0],e.y=t.y<0?-h:h;else {var n=Math.floor(e.y*Tn);for(n<0?n=0:n>=Tn&&(n=17);;)if(mn[n][0]>e.y)--n;else {if(!(mn[n+1][0]<=e.y))break;++n;}var r=mn[n],i=5*(e.y-r[0])/(mn[n+1][0]-r[0]);i=function(t,e,n,r){for(var i=e;r;--r){var o=t(i);if(i-=o,Math.abs(o)1e10)throw new Error;if(this.radius_g=1+this.radius_g_1,this.C=this.radius_g*this.radius_g-1,0!==this.es){var t=1-this.es,e=1/t;this.radius_p=Math.sqrt(t),this.radius_p2=t,this.radius_p_inv2=e,this.shape="ellipse";}else this.radius_p=1,this.radius_p2=1,this.radius_p_inv2=1,this.shape="sphere";this.title||(this.title="Geostationary Satellite View");},forward:function(t){var e,n,r,i,o=t.x,a=t.y;if(o-=this.long0,"ellipse"===this.shape){a=Math.atan(this.radius_p2*Math.tan(a));var s=this.radius_p/be(this.radius_p*Math.cos(a),Math.sin(a));if(n=s*Math.cos(o)*Math.cos(a),r=s*Math.sin(o)*Math.cos(a),i=s*Math.sin(a),(this.radius_g-n)*n-r*r-i*i*this.radius_p_inv2<0)return t.x=Number.NaN,t.y=Number.NaN,t;e=this.radius_g-n,this.flip_axis?(t.x=this.radius_g_1*Math.atan(r/be(i,e)),t.y=this.radius_g_1*Math.atan(i/e)):(t.x=this.radius_g_1*Math.atan(r/e),t.y=this.radius_g_1*Math.atan(i/be(r,e)));}else "sphere"===this.shape&&(e=Math.cos(a),n=Math.cos(o)*e,r=Math.sin(o)*e,i=Math.sin(a),e=this.radius_g-n,this.flip_axis?(t.x=this.radius_g_1*Math.atan(r/be(i,e)),t.y=this.radius_g_1*Math.atan(i/e)):(t.x=this.radius_g_1*Math.atan(r/e),t.y=this.radius_g_1*Math.atan(i/be(r,e))));return t.x=t.x*this.a,t.y=t.y*this.a,t},inverse:function(t){var e,n,r,i,o=-1,a=0,s=0;if(t.x=t.x/this.a,t.y=t.y/this.a,"ellipse"===this.shape){this.flip_axis?(s=Math.tan(t.y/this.radius_g_1),a=Math.tan(t.x/this.radius_g_1)*be(1,s)):(a=Math.tan(t.x/this.radius_g_1),s=Math.tan(t.y/this.radius_g_1)*be(1,a));var u=s/this.radius_p;if(e=a*a+u*u+o*o,(r=(n=2*this.radius_g*o)*n-4*e*this.C)<0)return t.x=Number.NaN,t.y=Number.NaN,t;i=(-n-Math.sqrt(r))/(2*e),o=this.radius_g+i*o,a*=i,s*=i,t.x=Math.atan2(a,o),t.y=Math.atan(s*Math.cos(t.x)/o),t.y=Math.atan(this.radius_p_inv2*Math.tan(t.y));}else if("sphere"===this.shape){if(this.flip_axis?(s=Math.tan(t.y/this.radius_g_1),a=Math.tan(t.x/this.radius_g_1)*Math.sqrt(1+s*s)):(a=Math.tan(t.x/this.radius_g_1),s=Math.tan(t.y/this.radius_g_1)*Math.sqrt(1+a*a)),e=a*a+s*s+o*o,(r=(n=2*this.radius_g*o)*n-4*e*this.C)<0)return t.x=Number.NaN,t.y=Number.NaN,t;i=(-n-Math.sqrt(r))/(2*e),o=this.radius_g+i*o,a*=i,s*=i,t.x=Math.atan2(a,o),t.y=Math.atan(s*Math.cos(t.x)/o);}return t.x=t.x+this.long0,t},names:["Geostationary Satellite View","Geostationary_Satellite","geos"]};var Pn;Lt.defaultDatum="WGS84",Lt.Proj=bt,Lt.WGS84=new Lt.Proj("WGS84"),Lt.Point=te,Lt.toPoint=Nt,Lt.defs=G,Lt.nadgrid=function(t,e){var n=new DataView(e),r=function(t){var e=t.getInt32(8,!1);return 11!==e&&(11!==(e=t.getInt32(8,!0))&&ct.warn("Failed to detect nadgrid endian-ness, defaulting to little-endian"),!0)}(n),i=function(t,e){return {nFields:t.getInt32(8,e),nSubgridFields:t.getInt32(24,e),nSubgrids:t.getInt32(40,e),shiftType:dt(t,56,64).trim(),fromSemiMajorAxis:t.getFloat64(120,e),fromSemiMinorAxis:t.getFloat64(136,e),toSemiMajorAxis:t.getFloat64(152,e),toSemiMinorAxis:t.getFloat64(168,e)}}(n,r);i.nSubgrids>1&&ct.log("Only single NTv2 subgrids are currently supported, subsequent sub grids are ignored");var o=function(t,e,n){for(var r=[],i=0;i{"use strict";function e(t,e){return Object.prototype.hasOwnProperty.call(t,e)}t.exports=function(t,n,r,i){n=n||"&",r=r||"=";var o={};if("string"!=typeof t||0===t.length)return o;var a=/\+/g;t=t.split(n);var s=1e3;i&&"number"==typeof i.maxKeys&&(s=i.maxKeys);var u=t.length;s>0&&u>s&&(u=s);for(var l=0;l=0?(c=d.substr(0,y),h=d.substr(y+1)):(c=d,h=""),f=decodeURIComponent(c),p=decodeURIComponent(h),e(o,f)?Array.isArray(o[f])?o[f].push(p):o[f]=[o[f],p]:o[f]=p;}return o};},2361:t=>{"use strict";var e=function(t){switch(typeof t){case "string":return t;case "boolean":return t?"true":"false";case "number":return isFinite(t)?t:"";default:return ""}};t.exports=function(t,n,r,i){return n=n||"&",r=r||"=",null===t&&(t=void 0),"object"==typeof t?Object.keys(t).map((function(i){var o=encodeURIComponent(e(i))+r;return Array.isArray(t[i])?t[i].map((function(t){return o+encodeURIComponent(e(t))})).join(n):o+encodeURIComponent(e(t[i]))})).join(n):i?encodeURIComponent(e(i))+r+encodeURIComponent(e(t)):""};},7673:(t,e,n)=>{"use strict";e.decode=e.parse=n(2587),e.encode=e.stringify=n(2361);},9189:(t,e,n)=>{var r=n(5717),i=n(7187).EventEmitter;function o(t){if(!(this instanceof o))return new o(t);i.call(this),t=t||{},this.concurrency=t.concurrency||1/0,this.timeout=t.timeout||0,this.autostart=t.autostart||!1,this.results=t.results||null,this.pending=0,this.session=0,this.running=!1,this.jobs=[],this.timers={};}function a(){for(var t in this.timers){var e=this.timers[t];delete this.timers[t],clearTimeout(e);}}function s(t){var e=this;function n(t){e.end(t);}this.on("error",n),this.on("end",(function r(i){e.removeListener("error",n),e.removeListener("end",r),t(i,this.results);}));}function u(t){this.session++,this.running=!1,this.emit("end",t);}t.exports=o,t.exports.default=o,r(o,i),["pop","shift","indexOf","lastIndexOf"].forEach((function(t){o.prototype[t]=function(){return Array.prototype[t].apply(this.jobs,arguments)};})),o.prototype.slice=function(t,e){return this.jobs=this.jobs.slice(t,e),this},o.prototype.reverse=function(){return this.jobs.reverse(),this},["push","unshift","splice"].forEach((function(t){o.prototype[t]=function(){var e=Array.prototype[t].apply(this.jobs,arguments);return this.autostart&&this.start(),e};})),Object.defineProperty(o.prototype,"length",{get:function(){return this.pending+this.jobs.length}}),o.prototype.start=function(t){if(t&&s.call(this,t),this.running=!0,!(this.pending>=this.concurrency))if(0!==this.jobs.length){var e=this,n=this.jobs.shift(),r=!0,i=this.session,o=null,a=!1,l=null,c=n.timeout||this.timeout;c&&(o=setTimeout((function(){a=!0,e.listeners("timeout").length>0?e.emit("timeout",f,n):f();}),c),this.timers[o]=o),this.results&&(l=this.results.length,this.results[l]=null),this.pending++,e.emit("start",n);var h=n(f);h&&h.then&&"function"==typeof h.then&&h.then((function(t){return f(null,t)})).catch((function(t){return f(t||!0)})),this.running&&this.jobs.length>0&&this.start();}else 0===this.pending&&u.call(this);function f(t,s){r&&e.session===i&&(r=!1,e.pending--,null!==o&&(delete e.timers[o],clearTimeout(o)),t?e.emit("error",t,n):!1===a&&(null!==l&&(e.results[l]=Array.prototype.slice.call(arguments,1)),e.emit("success",s,n)),e.session===i&&(0===e.pending&&0===e.jobs.length?u.call(e):e.running&&e.start()));}},o.prototype.stop=function(){this.running=!1;},o.prototype.end=function(t){a.call(this),this.jobs.length=0,this.pending=0,u.call(this,t);};},2582:function(t){t.exports=function(){"use strict";function t(t,r,i,o,a){!function t(n,r,i,o,a){for(;o>i;){if(o-i>600){var s=o-i+1,u=r-i+1,l=Math.log(s),c=.5*Math.exp(2*l/3),h=.5*Math.sqrt(l*c*(s-c)/s)*(u-s/2<0?-1:1);t(n,r,Math.max(i,Math.floor(r-u*c/s+h)),Math.min(o,Math.floor(r+(s-u)*c/s+h)),a);}var f=n[r],p=i,d=o;for(e(n,i,r),a(n[o],f)>0&&e(n,i,o);p0;)d--;}0===a(n[i],f)?e(n,i,d):e(n,++d,o),d<=r&&(i=d+1),r<=d&&(o=d-1);}}(t,r,i||0,o||t.length-1,a||n);}function e(t,e,n){var r=t[e];t[e]=t[n],t[n]=r;}function n(t,e){return te?1:0}var r=function(t){void 0===t&&(t=9),this._maxEntries=Math.max(4,t),this._minEntries=Math.max(2,Math.ceil(.4*this._maxEntries)),this.clear();};function i(t,e,n){if(!n)return e.indexOf(t);for(var r=0;r=t.minX&&e.maxY>=t.minY}function d(t){return {children:t,height:1,leaf:!0,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0}}function y(e,n,r,i,o){for(var a=[n,r];a.length;)if(!((r=a.pop())-(n=a.pop())<=i)){var s=n+Math.ceil((r-n)/i/2)*i;t(e,s,n,r,o),a.push(n,s,s,r);}}return r.prototype.all=function(){return this._all(this.data,[])},r.prototype.search=function(t){var e=this.data,n=[];if(!p(t,e))return n;for(var r=this.toBBox,i=[];e;){for(var o=0;o=0&&i[e].children.length>this._maxEntries;)this._split(i,e),e--;this._adjustParentBBoxes(r,i,e);},r.prototype._split=function(t,e){var n=t[e],r=n.children.length,i=this._minEntries;this._chooseSplitAxis(n,i,r);var a=this._chooseSplitIndex(n,i,r),s=d(n.children.splice(a,n.children.length-a));s.height=n.height,s.leaf=n.leaf,o(n,this.toBBox),o(s,this.toBBox),e?t[e-1].children.push(s):this._splitRoot(n,s);},r.prototype._splitRoot=function(t,e){this.data=d([t,e]),this.data.height=t.height+1,this.data.leaf=!1,o(this.data,this.toBBox);},r.prototype._chooseSplitIndex=function(t,e,n){for(var r,i,o,s,u,l,h,f=1/0,p=1/0,d=e;d<=n-e;d++){var y=a(t,0,d,this.toBBox),m=a(t,d,n,this.toBBox),g=(i=y,o=m,void 0,void 0,void 0,void 0,s=Math.max(i.minX,o.minX),u=Math.max(i.minY,o.minY),l=Math.min(i.maxX,o.maxX),h=Math.min(i.maxY,o.maxY),Math.max(0,l-s)*Math.max(0,h-u)),_=c(y)+c(m);g=e;p--){var d=t.children[p];s(u,t.leaf?i(d):d),l+=h(u);}return l},r.prototype._adjustParentBBoxes=function(t,e,n){for(var r=n;r>=0;r--)s(e[r],t);},r.prototype._condense=function(t){for(var e=t.length-1,n=void 0;e>=0;e--)0===t[e].children.length?e>0?(n=t[e-1].children).splice(n.indexOf(t[e]),1):this.clear():o(t[e],this.toBBox);},r}();},6102:(t,e,n)=>{"use strict";var r=n(4472).hasOwnProperty("default")?n(4472).default:n(4472);function i(t,e){return (n=t).length>=2&&"number"==typeof n[0]&&"number"==typeof n[1]?e(t):t.map((function(t){return i(t,e)}));var n;}function o(t,e,n){if(null==n)return n;var r=function(t){if(null==t||"object"!=typeof t)return t;var e=t.constructor();for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);return e}(n),i=o.bind(this,t,e);switch(n.type){case "Feature":r.geometry=i(n.geometry);break;case "FeatureCollection":r.features=r.features.map(i);break;case "GeometryCollection":r.geometries=r.geometries.map(i);break;default:t(r);}return e&&e(r),r}function a(t,e){var n,r=t.crs;if(void 0===r)throw new Error('Unable to detect CRS, GeoJSON has no "crs" property.');if("name"===r.type?n=e[r.properties.name]:"EPSG"===r.type&&(n=e["EPSG:"+r.properties.code]),!n)throw new Error("CRS defined in crs section could not be identified: "+JSON.stringify(r));return n}function s(t,e){return "string"==typeof t||t instanceof String?e[t]||r.Proj(t):t}function u(t,e,n,u){u=u||{},e=e?s(e,u):a(t,u),n=s(n,u);var l=r(e,n).forward.bind(l);function c(t){var e=l(t);return 3===t.length&&void 0!==t[2]&&void 0===e[2]&&(e[2]=t[2]),e}return o((function(t){t.crs&&delete t.crs,t.coordinates=i(t.coordinates,c);}),(function(t){t.bbox&&(t.bbox=function(t){var e=[Number.MAX_VALUE,Number.MAX_VALUE],n=[-Number.MAX_VALUE,-Number.MAX_VALUE];return o((function(t){i(t.coordinates,(function(t){e[0]=Math.min(e[0],t[0]),e[1]=Math.min(e[1],t[1]),n[0]=Math.max(n[0],t[0]),n[1]=Math.max(n[1],t[1]);}));}),null,t),[e[0],e[1],n[0],n[1]]}(t));}),t)}t.exports={detectCrs:a,reproject:u,reverse:function(t){return o((function(t){t.coordinates=i(t.coordinates,(function(t){return [t[1],t[0]]}));}),null,t)},toWgs84:function(t,e,n){return u(t,e,r.WGS84,n)}};},3686:function(t,e){var n=void 0,r=function(e){return n||(n=new Promise((function(n,r){var i,o=void 0!==e?e:{},a=o.onAbort;o.onAbort=function(t){r(new Error(t)),a&&a(t);},o.postRun=o.postRun||[],o.postRun.push((function(){n(o);})),t=void 0,i||(i=void 0!==o?o:{}),i.onRuntimeInitialized=function(){function t(t,e){this.Ka=t,this.db=e,this.Ia=1,this.cb=[];}function e(t,e){if(this.db=e,e=q(t)+1,this.Xa=Ce(e),null===this.Xa)throw Error("Unable to allocate memory for the SQL string");W(t,L,this.Xa,e),this.bb=this.Xa,this.Ta=this.hb=null;}function n(t){if(this.filename="dbfile_"+(4294967295*Math.random()>>>0),null!=t){var e=this.filename,n="/",i=e;if(n&&(n="string"==typeof n?n:Pt(n),i=e?lt(n+"/"+e):n),e=le(!0,!0),i=zt(i,4095&(void 0!==e?e:438)|32768,0),t){if("string"==typeof t){n=Array(t.length);for(var o=0,s=t.length;on;++n)i.parameters.push(r["viii"[n]]);n=new WebAssembly.Function(i,t);}else {for(i={i:127,j:126,f:125,d:124},(r=[1,0,1,96]).push(3),n=0;3>n;++n)r.push(i["iii"[n]]);r.push(0),r[1]=r.length-2,n=new Uint8Array([0,97,115,109,1,0,0,0].concat(r,[2,7,1,1,101,1,102,0,0,7,5,1,1,102,0,0])),n=new WebAssembly.Module(n),n=new WebAssembly.Instance(n,{e:{f:t}}).exports.f;}V.set(e,n);}return T.set(t,e),e}((function(t,n,r){for(var i,o=[],a=0;a{h||(c=require$$2$1,h=require$$1);},s=function(t,e){return f(),t=h.normalize(t),c.readFileSync(t,e?void 0:"utf8")},l=t=>((t=s(t,!0)).buffer||(t=new Uint8Array(t)),t),u=(t,e,n)=>{f(),t=h.normalize(t),c.readFile(t,(function(t,r){t?n(t):e(r.buffer);}));},1{var e=new XMLHttpRequest;return e.open("GET",t,!1),e.send(null),e.responseText},m&&(l=t=>{var e=new XMLHttpRequest;return e.open("GET",t,!1),e.responseType="arraybuffer",e.send(null),new Uint8Array(e.response)}),u=(t,e,n)=>{var r=new XMLHttpRequest;r.open("GET",t,!0),r.responseType="arraybuffer",r.onload=()=>{200==r.status||0==r.status&&r.response?e(r.response):n();},r.onerror=n,r.send(null);});var b=i.print||console.log.bind(console),v=i.printErr||console.warn.bind(console);Object.assign(i,p),p=null,i.thisProgram&&(d=i.thisProgram);var T,E,w=[];function x(t){T.delete(V.get(t)),w.push(t);}function C(t){var e="i32";switch("*"===e.charAt(e.length-1)&&(e="i32"),e){case "i1":case "i8":R[t>>0]=0;break;case "i16":D[t>>1]=0;break;case "i32":k[t>>2]=0;break;case "i64":$=[0,(J=0,1<=+Math.abs(J)?0>>0:~~+Math.ceil((J-+(~~J>>>0))/4294967296)>>>0:0)],k[t>>2]=$[0],k[t+4>>2]=$[1];break;case "float":F[t>>2]=0;break;case "double":U[t>>3]=0;break;default:rt("invalid type for setValue: "+e);}}function M(t,e="i8"){switch("*"===e.charAt(e.length-1)&&(e="i32"),e){case "i1":case "i8":return R[t>>0];case "i16":return D[t>>1];case "i32":case "i64":return k[t>>2];case "float":return F[t>>2];case "double":return Number(U[t>>3]);default:rt("invalid type for getValue: "+e);}return null}i.wasmBinary&&(E=i.wasmBinary),i.noExitRuntime,"object"!=typeof WebAssembly&&rt("no native wasm support detected");var S,N=!1,O=0,A=1;function I(t){var e=O==A?Ie(t.length):Ce(t.length);return t.subarray||t.slice||(t=new Uint8Array(t)),L.set(t,e),e}var P,R,L,D,k,F,U,B="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0;function j(t,e,n){var r=e+n;for(n=e;t[n]&&!(n>=r);)++n;if(16(i=224==(240&i)?(15&i)<<12|o<<6|a:(7&i)<<18|o<<12|a<<6|63&t[e++])?r+=String.fromCharCode(i):(i-=65536,r+=String.fromCharCode(55296|i>>10,56320|1023&i));}}else r+=String.fromCharCode(i);}return r}function G(t,e){return t?j(L,t,e):""}function W(t,e,n,r){if(!(0=a&&(a=65536+((1023&a)<<10)|1023&t.charCodeAt(++o)),127>=a){if(n>=r)break;e[n++]=a;}else {if(2047>=a){if(n+1>=r)break;e[n++]=192|a>>6;}else {if(65535>=a){if(n+2>=r)break;e[n++]=224|a>>12;}else {if(n+3>=r)break;e[n++]=240|a>>18,e[n++]=128|a>>12&63;}e[n++]=128|a>>6&63;}e[n++]=128|63&a;}}return e[n]=0,n-i}function q(t){for(var e=0,n=0;n=r&&(r=65536+((1023&r)<<10)|1023&t.charCodeAt(++n)),127>=r?++e:e=2047>=r?e+2:65535>=r?e+3:e+4;}return e}function H(t){var e=q(t)+1,n=Ce(e);return n&&W(t,R,n,e),n}function z(){var t=S.buffer;P=t,i.HEAP8=R=new Int8Array(t),i.HEAP16=D=new Int16Array(t),i.HEAP32=k=new Int32Array(t),i.HEAPU8=L=new Uint8Array(t),i.HEAPU16=new Uint16Array(t),i.HEAPU32=new Uint32Array(t),i.HEAPF32=F=new Float32Array(t),i.HEAPF64=U=new Float64Array(t);}var V,X=[],Y=[],Z=[];function Q(){var t=i.preRun.shift();X.unshift(t);}var K,J,$,tt=0,et=null,nt=null;function rt(t){throw i.onAbort&&i.onAbort(t),v(t="Aborted("+t+")"),N=!0,new WebAssembly.RuntimeError(t+". Build with -s ASSERTIONS=1 for more info.")}function it(){return K.startsWith("data:application/octet-stream;base64,")}if(i.preloadedImages={},i.preloadedAudios={},K="sql-wasm.wasm",!it()){var ot=K;K=i.locateFile?i.locateFile(ot,_):_+ot;}function at(){var t=K;try{if(t==K&&E)return new Uint8Array(E);if(l)return l(t);throw "both async and sync fetching of the wasm failed"}catch(t){rt(t);}}function st(t){for(;0=e||(e=Math.max(e,n*(1048576>n?2:1.125)>>>0),0!=n&&(e=Math.max(e,256)),n=t.Ha,t.Ha=new Uint8Array(e),0=t.node.La)return 0;if(8<(t=Math.min(t.node.La-i,r))&&o.subarray)e.set(o.subarray(i,i+t),n);else for(r=0;re)throw new Ot(28);return e},kb:function(t,e,n){Et.pb(t.node,e+n),t.node.La=Math.max(t.node.La,e+n);},$a:function(t,e,n,r,i,o){if(0!==e)throw new Ot(28);if(32768!=(61440&t.node.mode))throw new Ot(43);if(t=t.node.Ha,2&o||t.buffer!==P){if((0{if(!(t=ft("/",t)))return {path:"",node:null};if(8<(e=Object.assign({qb:!0,jb:0},e)).jb)throw new Ot(32);t=ut(t.split("/").filter((t=>!!t)),!1);for(var n=wt,r="/",i=0;i{for(var e;;){if(t===t.parent)return t=t.Pa.tb,e?"/"!==t[t.length-1]?t+"/"+e:t+e:t;e=e?t.name+"/"+e:t.name,t=t.parent;}},Rt=(t,e)=>{for(var n=0,r=0;r>>0)%St.length},Lt=t=>{var e=Rt(t.parent.id,t.name);if(St[e]===t)St[e]=t.Va;else for(e=St[e];e;){if(e.Va===t){e.Va=t.Va;break}e=e.Va;}},Dt=(t,e)=>{var n;if(n=(n=Bt(t,"x"))?n:t.Fa.lookup?0:2)throw new Ot(n,t);for(n=St[Rt(t.id,e)];n;n=n.Va){var r=n.name;if(n.parent.id===t.id&&r===e)return n}return t.Fa.lookup(t,e)},kt=(t,e,n,r)=>(t=new Te(t,e,n,r),e=Rt(t.parent.id,t.name),t.Va=St[e],St[e]=t),Ft={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090},Ut=t=>{var e=["r","w","rw"][3&t];return 512&t&&(e+="w"),e},Bt=(t,e)=>Nt?0:!e.includes("r")||292&t.mode?e.includes("w")&&!(146&t.mode)||e.includes("x")&&!(73&t.mode)?2:0:2,jt=(t,e)=>{try{return Dt(t,e),20}catch(t){}return Bt(t,"wx")},Gt=(t,e,n)=>{try{var r=Dt(t,e);}catch(t){return t.Ja}if(t=Bt(t,"wx"))return t;if(n){if(16384!=(61440&r.mode))return 54;if(r===r.parent||"/"===Pt(r))return 10}else if(16384==(61440&r.mode))return 31;return 0},Wt={open:t=>{t.Ga=xt[t.node.rdev].Ga,t.Ga.open&&t.Ga.open(t);},Sa:()=>{throw new Ot(70)}},qt=(t,e)=>{xt[t]={Ga:e};},Ht=(t,e)=>{var n="/"===e,r=!e;if(n&&wt)throw new Ot(10);if(!n&&!r){var i=It(e,{qb:!1});if(e=i.path,(i=i.node).Ua)throw new Ot(10);if(16384!=(61440&i.mode))throw new Ot(54)}e={type:t,Kb:{},tb:e,Db:[]},(t=t.Pa(e)).Pa=e,e.root=t,n?wt=t:i&&(i.Ua=e,i.Pa&&i.Pa.Db.push(e));},zt=(t,e,n)=>{var r=It(t,{parent:!0}).node;if(!(t=ht(t))||"."===t||".."===t)throw new Ot(28);var i=jt(r,t);if(i)throw new Ot(i);if(!r.Fa.Za)throw new Ot(63);return r.Fa.Za(r,t,e,n)},Vt=(t,e)=>zt(t,1023&(void 0!==e?e:511)|16384,0),Xt=(t,e,n)=>{void 0===n&&(n=e,e=438),zt(t,8192|e,n);},Yt=(t,e)=>{if(!ft(t))throw new Ot(44);var n=It(e,{parent:!0}).node;if(!n)throw new Ot(44);e=ht(e);var r=jt(n,e);if(r)throw new Ot(r);if(!n.Fa.symlink)throw new Ot(63);n.Fa.symlink(n,e,t);},Zt=t=>{var e=It(t,{parent:!0}).node;t=ht(t);var n=Dt(e,t),r=Gt(e,t,!0);if(r)throw new Ot(r);if(!e.Fa.rmdir)throw new Ot(63);if(n.Ua)throw new Ot(10);e.Fa.rmdir(e,t),Lt(n);},Qt=t=>{var e=It(t,{parent:!0}).node;if(!e)throw new Ot(44);t=ht(t);var n=Dt(e,t),r=Gt(e,t,!1);if(r)throw new Ot(r);if(!e.Fa.unlink)throw new Ot(63);if(n.Ua)throw new Ot(10);e.Fa.unlink(e,t),Lt(n);},Kt=t=>{if(!(t=It(t).node))throw new Ot(44);if(!t.Fa.readlink)throw new Ot(28);return ft(Pt(t.parent),t.Fa.readlink(t))},Jt=(t,e)=>{if(!(t=It(t,{Ra:!e}).node))throw new Ot(44);if(!t.Fa.Na)throw new Ot(63);return t.Fa.Na(t)},$t=t=>Jt(t,!0),te=(t,e)=>{if(!(t="string"==typeof t?It(t,{Ra:!0}).node:t).Fa.Ma)throw new Ot(63);t.Fa.Ma(t,{mode:4095&e|-4096&t.mode,timestamp:Date.now()});},ee=(t,e)=>{if(0>e)throw new Ot(28);if(!(t="string"==typeof t?It(t,{Ra:!0}).node:t).Fa.Ma)throw new Ot(63);if(16384==(61440&t.mode))throw new Ot(31);if(32768!=(61440&t.mode))throw new Ot(28);var n=Bt(t,"w");if(n)throw new Ot(n);t.Fa.Ma(t,{size:e,timestamp:Date.now()});},ne=(t,e,n,r)=>{if(""===t)throw new Ot(44);if("string"==typeof e){var o=Ft[e];if(void 0===o)throw Error("Unknown file open mode: "+e);e=o;}if(n=64&e?4095&(void 0===n?438:n)|32768:0,"object"==typeof t)var a=t;else {t=lt(t);try{a=It(t,{Ra:!(131072&e)}).node;}catch(t){}}if(o=!1,64&e)if(a){if(128&e)throw new Ot(20)}else a=zt(t,n,0),o=!0;if(!a)throw new Ot(44);if(8192==(61440&a.mode)&&(e&=-513),65536&e&&16384!=(61440&a.mode))throw new Ot(54);if(!o&&(n=a?40960==(61440&a.mode)?32:16384==(61440&a.mode)&&("r"!==Ut(e)||512&e)?31:Bt(a,Ut(e)):44))throw new Ot(n);return 512&e&&ee(a,0),e&=-131713,(r=((t,e)=>(gt||((gt=function(){}).prototype={}),t=Object.assign(new gt,t),e=((t=0,e=4096)=>{for(;t<=e;t++)if(!Ct[t])return t;throw new Ot(33)})(e,void 0),t.fd=e,Ct[e]=t))({node:a,path:Pt(a),flags:e,seekable:!0,position:0,Ga:a.Ga,Hb:[],error:!1},r)).Ga.open&&r.Ga.open(r),!i.logReadFiles||1&e||(_t||(_t={}),t in _t||(_t[t]=1)),r},re=t=>{if(null===t.fd)throw new Ot(8);t.gb&&(t.gb=null);try{t.Ga.close&&t.Ga.close(t);}catch(t){throw t}finally{Ct[t.fd]=null;}t.fd=null;},ie=(t,e,n)=>{if(null===t.fd)throw new Ot(8);if(!t.seekable||!t.Ga.Sa)throw new Ot(70);if(0!=n&&1!=n&&2!=n)throw new Ot(28);t.position=t.Ga.Sa(t,e,n),t.Hb=[];},oe=(t,e,n,r,i)=>{if(0>r||0>i)throw new Ot(28);if(null===t.fd)throw new Ot(8);if(1==(2097155&t.flags))throw new Ot(8);if(16384==(61440&t.node.mode))throw new Ot(31);if(!t.Ga.read)throw new Ot(28);var o=void 0!==i;if(o){if(!t.seekable)throw new Ot(70)}else i=t.position;return e=t.Ga.read(t,e,n,r,i),o||(t.position+=e),e},ae=(t,e,n,r,i,o)=>{if(0>r||0>i)throw new Ot(28);if(null===t.fd)throw new Ot(8);if(0==(2097155&t.flags))throw new Ot(8);if(16384==(61440&t.node.mode))throw new Ot(31);if(!t.Ga.write)throw new Ot(28);t.seekable&&1024&t.flags&&ie(t,0,2);var a=void 0!==i;if(a){if(!t.seekable)throw new Ot(70)}else i=t.position;return e=t.Ga.write(t,e,n,r,i,o),a||(t.position+=e),e},se=t=>{var e,n=ne(t,n||0);t=Jt(t).size;var r=new Uint8Array(t);return oe(n,r,0,t,0),e=r,re(n),e},ue=()=>{Ot||((Ot=function(t,e){this.node=e,this.Gb=function(t){this.Ja=t;},this.Gb(t),this.message="FS error";}).prototype=Error(),Ot.prototype.constructor=Ot,[44].forEach((t=>{At[t]=new Ot(t),At[t].stack="";})));},le=(t,e)=>{var n=0;return t&&(n|=365),e&&(n|=146),n},ce=(t,e,n)=>{t=lt("/dev/"+t);var r=le(!!e,!!n);mt||(mt=64);var i=mt++<<8|0;qt(i,{open:t=>{t.seekable=!1;},close:()=>{n&&n.buffer&&n.buffer.length&&n(10);},read:(t,n,r,i)=>{for(var o=0,a=0;a{for(var o=0;o>2]=r.dev,k[n+4>>2]=0,k[n+8>>2]=r.ino,k[n+12>>2]=r.mode,k[n+16>>2]=r.nlink,k[n+20>>2]=r.uid,k[n+24>>2]=r.gid,k[n+28>>2]=r.rdev,k[n+32>>2]=0,$=[r.size>>>0,(J=r.size,1<=+Math.abs(J)?0>>0:~~+Math.ceil((J-+(~~J>>>0))/4294967296)>>>0:0)],k[n+40>>2]=$[0],k[n+44>>2]=$[1],k[n+48>>2]=4096,k[n+52>>2]=r.blocks,k[n+56>>2]=r.atime.getTime()/1e3|0,k[n+60>>2]=0,k[n+64>>2]=r.mtime.getTime()/1e3|0,k[n+68>>2]=0,k[n+72>>2]=r.ctime.getTime()/1e3|0,k[n+76>>2]=0,$=[r.ino>>>0,(J=r.ino,1<=+Math.abs(J)?0>>0:~~+Math.ceil((J-+(~~J>>>0))/4294967296)>>>0:0)],k[n+80>>2]=$[0],k[n+84>>2]=$[1],0}var de,ye=void 0;function me(){return k[(ye+=4)-4>>2]}function ge(t){if(!(t=Ct[t]))throw new Ot(8);return t}de=g?()=>{var t=browser$1.hrtime();return 1e3*t[0]+t[1]/1e6}:()=>performance.now();var _e,be={};function ve(){if(!_e){var t,e={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:d||"./this.program"};for(t in be)void 0===be[t]?delete e[t]:e[t]=be[t];var n=[];for(t in e)n.push(t+"="+e[t]);_e=n;}return _e}function Te(t,e,n,r){t||(t=this),this.parent=t,this.Pa=t.Pa,this.Ua=null,this.id=Mt++,this.name=e,this.mode=n,this.Fa={},this.Ga={},this.rdev=r;}function Ee(t,e){var n=Array(q(t)+1);return t=W(t,n,0,n.length),e&&(n.length=t),n}Object.defineProperties(Te.prototype,{read:{get:function(){return 365==(365&this.mode)},set:function(t){t?this.mode|=365:this.mode&=-366;}},write:{get:function(){return 146==(146&this.mode)},set:function(t){t?this.mode|=146:this.mode&=-147;}}}),ue(),St=Array(4096),Ht(Et,"/"),Vt("/tmp"),Vt("/home"),Vt("/home/web_user"),(()=>{Vt("/dev"),qt(259,{read:()=>0,write:(t,e,n,r)=>r}),Xt("/dev/null",259),dt(1280,vt),dt(1536,Tt),Xt("/dev/tty",1280),Xt("/dev/tty1",1536);var t=function(){if("object"==typeof crypto&&"function"==typeof crypto.getRandomValues){var t=new Uint8Array(1);return function(){return crypto.getRandomValues(t),t[0]}}if(g)try{var e=require$$3;return function(){return e.randomBytes(1)[0]}}catch(t){}return function(){rt("randomDevice");}}();ce("random",t),ce("urandom",t),Vt("/dev/shm"),Vt("/dev/shm/tmp");})(),(()=>{Vt("/proc");var t=Vt("/proc/self");Vt("/proc/self/fd"),Ht({Pa:()=>{var e=kt(t,"fd",16895,73);return e.Fa={lookup:(t,e)=>{var n=Ct[+e];if(!n)throw new Ot(8);return (t={parent:null,Pa:{tb:"fake"},Fa:{readlink:()=>n.path}}).parent=t}},e}},"/proc/self/fd");})();var we={a:function(t,e,n,r){rt("Assertion failed: "+G(t)+", at: "+[e?G(e):"unknown filename",n,r?G(r):"unknown function"]);},h:function(t,e){try{return t=G(t),te(t,e),0}catch(t){if(void 0===he||!(t instanceof Ot))throw t;return -t.Ja}},H:function(t,e,n){try{if(e=fe(t,e=G(e)),-8&n)var r=-28;else {var i=It(e,{Ra:!0}).node;i?(t="",4&n&&(t+="r"),2&n&&(t+="w"),1&n&&(t+="x"),r=t&&Bt(i,t)?-2:0):r=-44;}return r}catch(t){if(void 0===he||!(t instanceof Ot))throw t;return -t.Ja}},i:function(t,e){try{var n=Ct[t];if(!n)throw new Ot(8);return te(n.node,e),0}catch(t){if(void 0===he||!(t instanceof Ot))throw t;return -t.Ja}},g:function(t){try{var e=Ct[t];if(!e)throw new Ot(8);var n=e.node,r="string"==typeof n?It(n,{Ra:!0}).node:n;if(!r.Fa.Ma)throw new Ot(63);return r.Fa.Ma(r,{timestamp:Date.now()}),0}catch(t){if(void 0===he||!(t instanceof Ot))throw t;return -t.Ja}},b:function(t,e,n){ye=n;try{var r=ge(t);switch(e){case 0:var i=me();return 0>i?-28:ne(r.path,r.flags,0,i).fd;case 1:case 2:case 6:case 7:return 0;case 3:return r.flags;case 4:return i=me(),r.flags|=i,0;case 5:return i=me(),D[i+0>>1]=2,0;case 16:case 8:default:return -28;case 9:return k[xe()>>2]=28,-1}}catch(t){if(void 0===he||!(t instanceof Ot))throw t;return -t.Ja}},G:function(t,e){try{var n=ge(t);return pe(Jt,n.path,e)}catch(t){if(void 0===he||!(t instanceof Ot))throw t;return -t.Ja}},B:function(t,e){try{var n=Ct[t];if(!n)throw new Ot(8);if(0==(2097155&n.flags))throw new Ot(28);return ee(n.node,e),0}catch(t){if(void 0===he||!(t instanceof Ot))throw t;return -t.Ja}},A:function(t,e){try{return 0===e?-28:e=r)var i=-28;else {var o=Kt(e),a=Math.min(r,q(o)),s=R[n+a];W(o,L,n,r+1),R[n+a]=s,i=a;}return i}catch(t){if(void 0===he||!(t instanceof Ot))throw t;return -t.Ja}},r:function(t){try{return t=G(t),Zt(t),0}catch(t){if(void 0===he||!(t instanceof Ot))throw t;return -t.Ja}},F:function(t,e){try{return t=G(t),pe(Jt,t,e)}catch(t){if(void 0===he||!(t instanceof Ot))throw t;return -t.Ja}},o:function(t,e,n){try{return e=fe(t,e=G(e)),0===n?Qt(e):512===n?Zt(e):rt("Invalid flags passed to unlinkat"),0}catch(t){if(void 0===he||!(t instanceof Ot))throw t;return -t.Ja}},m:function(t,e,n){try{if(e=fe(t,e=G(e),!0),n){var r=k[n>>2],i=k[n+4>>2];o=1e3*r+i/1e6,a=1e3*(r=k[(n+=8)>>2])+(i=k[n+4>>2])/1e6;}else var o=Date.now(),a=o;t=o;var s=It(e,{Ra:!0}).node;return s.Fa.Ma(s,{timestamp:Math.max(t,a)}),0}catch(t){if(void 0===he||!(t instanceof Ot))throw t;return -t.Ja}},e:function(){return Date.now()},j:function(t,e){t=new Date(1e3*k[t>>2]),k[e>>2]=t.getSeconds(),k[e+4>>2]=t.getMinutes(),k[e+8>>2]=t.getHours(),k[e+12>>2]=t.getDate(),k[e+16>>2]=t.getMonth(),k[e+20>>2]=t.getFullYear()-1900,k[e+24>>2]=t.getDay();var n=new Date(t.getFullYear(),0,1);k[e+28>>2]=(t.getTime()-n.getTime())/864e5|0,k[e+36>>2]=-60*t.getTimezoneOffset();var r=new Date(t.getFullYear(),6,1).getTimezoneOffset();n=n.getTimezoneOffset(),k[e+32>>2]=0|(r!=n&&t.getTimezoneOffset()==Math.min(n,r));},v:function(t,e,n,r,i,o,a){try{var s=Ct[i];if(!s)return -8;if(0!=(2&n)&&0==(2&r)&&2!=(2097155&s.flags))throw new Ot(2);if(1==(2097155&s.flags))throw new Ot(2);if(!s.Ga.$a)throw new Ot(43);var u=s.Ga.$a(s,t,e,o,n,r),l=u.Eb;return k[a>>2]=u.ub,l}catch(t){if(void 0===he||!(t instanceof Ot))throw t;return -t.Ja}},w:function(t,e,n,r,i,o){try{var a=Ct[i];if(a&&2&n){var s=L.slice(t,t+e);a&&a.Ga.ab&&a.Ga.ab(a,s,o,e,r);}}catch(t){if(void 0===he||!(t instanceof Ot))throw t;return -t.Ja}},n:function t(e,n,r){t.Ab||(t.Ab=!0,function(t,e,n){function r(t){return (t=t.toTimeString().match(/\(([A-Za-z ]+)\)$/))?t[1]:"GMT"}var i=(new Date).getFullYear(),o=new Date(i,0,1),a=new Date(i,6,1);i=o.getTimezoneOffset();var s=a.getTimezoneOffset();k[t>>2]=60*Math.max(i,s),k[e>>2]=Number(i!=s),t=r(o),e=r(a),t=H(t),e=H(e),s>2]=t,k[n+4>>2]=e):(k[n>>2]=e,k[n+4>>2]=t);}(e,n,r));},p:function(){return 2147483648},d:de,c:function(t){var e=L.length;if(2147483648<(t>>>=0))return !1;for(var n=1;4>=n;n*=2){var r=e*(1+.2/n);r=Math.min(r,t+100663296);var i=Math;r=Math.max(t,r),i=i.min.call(i,2147483648,r+(65536-r%65536)%65536);t:{try{S.grow(i-P.byteLength+65535>>>16),z();var o=1;break t}catch(t){}o=void 0;}if(o)return !0}return !1},y:function(t,e){var n=0;return ve().forEach((function(r,i){var o=e+n;for(i=k[t+4*i>>2]=o,o=0;o>0]=r.charCodeAt(o);R[i>>0]=0,n+=r.length+1;})),0},z:function(t,e){var n=ve();k[t>>2]=n.length;var r=0;return n.forEach((function(t){r+=t.length+1;})),k[e>>2]=r,0},f:function(t){try{var e=ge(t);return re(e),0}catch(t){if(void 0===he||!(t instanceof Ot))throw t;return t.Ja}},l:function(t,e){try{var n=ge(t);return R[e>>0]=n.tty?2:16384==(61440&n.mode)?3:40960==(61440&n.mode)?7:4,0}catch(t){if(void 0===he||!(t instanceof Ot))throw t;return t.Ja}},t:function(t,e,n,r){try{t:{for(var i=ge(t),o=t=0;o>2],s=oe(i,R,k[e+8*o>>2],a,void 0);if(0>s){var u=-1;break t}if(t+=s,s>2]=u,0}catch(t){if(void 0===he||!(t instanceof Ot))throw t;return t.Ja}},k:function(t,e,n,r,i){try{var o=ge(t);return -9007199254740992>=(t=4294967296*n+(e>>>0))||9007199254740992<=t?-61:(ie(o,t,r),$=[o.position>>>0,(J=o.position,1<=+Math.abs(J)?0>>0:~~+Math.ceil((J-+(~~J>>>0))/4294967296)>>>0:0)],k[i>>2]=$[0],k[i+4>>2]=$[1],o.gb&&0===t&&0===r&&(o.gb=null),0)}catch(t){if(void 0===he||!(t instanceof Ot))throw t;return t.Ja}},C:function(t){try{var e=ge(t);return e.Ga&&e.Ga.fsync?-e.Ga.fsync(e):0}catch(t){if(void 0===he||!(t instanceof Ot))throw t;return t.Ja}},q:function(t,e,n,r){try{t:{for(var i=ge(t),o=t=0;o>2],k[e+(8*o+4)>>2],void 0);if(0>a){var s=-1;break t}t+=a;}s=t;}return k[r>>2]=s,0}catch(t){if(void 0===he||!(t instanceof Ot))throw t;return t.Ja}}};!function(){function t(t){i.asm=t.exports,S=i.asm.I,z(),V=i.asm.za,Y.unshift(i.asm.J),tt--,i.monitorRunDependencies&&i.monitorRunDependencies(tt),0==tt&&(null!==et&&(clearInterval(et),et=null),nt&&(t=nt,nt=null,t()));}function e(e){t(e.instance);}function n(t){return function(){if(!E&&(y||m)){if("function"==typeof fetch&&!K.startsWith("file://"))return fetch(K,{credentials:"same-origin"}).then((function(t){if(!t.ok)throw "failed to load wasm binary file at '"+K+"'";return t.arrayBuffer()})).catch((function(){return at()}));if(u)return new Promise((function(t,e){u(K,(function(e){t(new Uint8Array(e));}),e);}))}return Promise.resolve().then((function(){return at()}))}().then((function(t){return WebAssembly.instantiate(t,r)})).then((function(t){return t})).then(t,(function(t){v("failed to asynchronously prepare wasm: "+t),rt(t);}))}var r={a:we};if(tt++,i.monitorRunDependencies&&i.monitorRunDependencies(tt),i.instantiateWasm)try{return i.instantiateWasm(r,t)}catch(t){return v("Module.instantiateWasm callback failed with error: "+t),!1}E||"function"!=typeof WebAssembly.instantiateStreaming||it()||K.startsWith("file://")||"function"!=typeof fetch?n(e):fetch(K,{credentials:"same-origin"}).then((function(t){return WebAssembly.instantiateStreaming(t,r).then(e,(function(t){return v("wasm streaming compile failed: "+t),v("falling back to ArrayBuffer instantiation"),n(e)}))}));}(),i.___wasm_call_ctors=function(){return (i.___wasm_call_ctors=i.asm.J).apply(null,arguments)},i._sqlite3_free=function(){return (i._sqlite3_free=i.asm.K).apply(null,arguments)},i._sqlite3_value_double=function(){return (i._sqlite3_value_double=i.asm.L).apply(null,arguments)},i._sqlite3_value_text=function(){return (i._sqlite3_value_text=i.asm.M).apply(null,arguments)};var xe=i.___errno_location=function(){return (xe=i.___errno_location=i.asm.N).apply(null,arguments)};i._sqlite3_prepare_v2=function(){return (i._sqlite3_prepare_v2=i.asm.O).apply(null,arguments)},i._sqlite3_step=function(){return (i._sqlite3_step=i.asm.P).apply(null,arguments)},i._sqlite3_finalize=function(){return (i._sqlite3_finalize=i.asm.Q).apply(null,arguments)},i._sqlite3_reset=function(){return (i._sqlite3_reset=i.asm.R).apply(null,arguments)},i._sqlite3_value_int=function(){return (i._sqlite3_value_int=i.asm.S).apply(null,arguments)},i._sqlite3_clear_bindings=function(){return (i._sqlite3_clear_bindings=i.asm.T).apply(null,arguments)},i._sqlite3_value_blob=function(){return (i._sqlite3_value_blob=i.asm.U).apply(null,arguments)},i._sqlite3_value_bytes=function(){return (i._sqlite3_value_bytes=i.asm.V).apply(null,arguments)},i._sqlite3_value_type=function(){return (i._sqlite3_value_type=i.asm.W).apply(null,arguments)},i._sqlite3_result_blob=function(){return (i._sqlite3_result_blob=i.asm.X).apply(null,arguments)},i._sqlite3_result_double=function(){return (i._sqlite3_result_double=i.asm.Y).apply(null,arguments)},i._sqlite3_result_error=function(){return (i._sqlite3_result_error=i.asm.Z).apply(null,arguments)},i._sqlite3_result_int=function(){return (i._sqlite3_result_int=i.asm._).apply(null,arguments)},i._sqlite3_result_int64=function(){return (i._sqlite3_result_int64=i.asm.$).apply(null,arguments)},i._sqlite3_result_null=function(){return (i._sqlite3_result_null=i.asm.aa).apply(null,arguments)},i._sqlite3_result_text=function(){return (i._sqlite3_result_text=i.asm.ba).apply(null,arguments)},i._sqlite3_sql=function(){return (i._sqlite3_sql=i.asm.ca).apply(null,arguments)},i._sqlite3_column_count=function(){return (i._sqlite3_column_count=i.asm.da).apply(null,arguments)},i._sqlite3_data_count=function(){return (i._sqlite3_data_count=i.asm.ea).apply(null,arguments)},i._sqlite3_column_blob=function(){return (i._sqlite3_column_blob=i.asm.fa).apply(null,arguments)},i._sqlite3_column_bytes=function(){return (i._sqlite3_column_bytes=i.asm.ga).apply(null,arguments)},i._sqlite3_column_double=function(){return (i._sqlite3_column_double=i.asm.ha).apply(null,arguments)},i._sqlite3_column_text=function(){return (i._sqlite3_column_text=i.asm.ia).apply(null,arguments)},i._sqlite3_column_type=function(){return (i._sqlite3_column_type=i.asm.ja).apply(null,arguments)},i._sqlite3_column_name=function(){return (i._sqlite3_column_name=i.asm.ka).apply(null,arguments)},i._sqlite3_bind_blob=function(){return (i._sqlite3_bind_blob=i.asm.la).apply(null,arguments)},i._sqlite3_bind_double=function(){return (i._sqlite3_bind_double=i.asm.ma).apply(null,arguments)},i._sqlite3_bind_int=function(){return (i._sqlite3_bind_int=i.asm.na).apply(null,arguments)},i._sqlite3_bind_text=function(){return (i._sqlite3_bind_text=i.asm.oa).apply(null,arguments)},i._sqlite3_bind_parameter_index=function(){return (i._sqlite3_bind_parameter_index=i.asm.pa).apply(null,arguments)},i._sqlite3_normalized_sql=function(){return (i._sqlite3_normalized_sql=i.asm.qa).apply(null,arguments)},i._sqlite3_errmsg=function(){return (i._sqlite3_errmsg=i.asm.ra).apply(null,arguments)},i._sqlite3_exec=function(){return (i._sqlite3_exec=i.asm.sa).apply(null,arguments)},i._sqlite3_changes=function(){return (i._sqlite3_changes=i.asm.ta).apply(null,arguments)},i._sqlite3_close_v2=function(){return (i._sqlite3_close_v2=i.asm.ua).apply(null,arguments)},i._sqlite3_create_function_v2=function(){return (i._sqlite3_create_function_v2=i.asm.va).apply(null,arguments)},i._sqlite3_open=function(){return (i._sqlite3_open=i.asm.wa).apply(null,arguments)};var Ce=i._malloc=function(){return (Ce=i._malloc=i.asm.xa).apply(null,arguments)},Me=i._free=function(){return (Me=i._free=i.asm.ya).apply(null,arguments)};i._RegisterExtensionFunctions=function(){return (i._RegisterExtensionFunctions=i.asm.Aa).apply(null,arguments)};var Se,Ne=i._emscripten_builtin_memalign=function(){return (Ne=i._emscripten_builtin_memalign=i.asm.Ba).apply(null,arguments)},Oe=i.stackSave=function(){return (Oe=i.stackSave=i.asm.Ca).apply(null,arguments)},Ae=i.stackRestore=function(){return (Ae=i.stackRestore=i.asm.Da).apply(null,arguments)},Ie=i.stackAlloc=function(){return (Ie=i.stackAlloc=i.asm.Ea).apply(null,arguments)};function Pe(){function t(){if(!Se&&(Se=!0,i.calledRun=!0,!N)){if(i.noFSInit||yt||(yt=!0,ue(),i.stdin=i.stdin,i.stdout=i.stdout,i.stderr=i.stderr,i.stdin?ce("stdin",i.stdin):Yt("/dev/tty","/dev/stdin"),i.stdout?ce("stdout",null,i.stdout):Yt("/dev/tty","/dev/stdout"),i.stderr?ce("stderr",null,i.stderr):Yt("/dev/tty1","/dev/stderr"),ne("/dev/stdin",0),ne("/dev/stdout",1),ne("/dev/stderr",1)),Nt=!1,st(Y),i.onRuntimeInitialized&&i.onRuntimeInitialized(),i.postRun)for("function"==typeof i.postRun&&(i.postRun=[i.postRun]);i.postRun.length;){var t=i.postRun.shift();Z.unshift(t);}st(Z);}}if(!(0{var r=n(8764),i=r.Buffer;function o(t,e){for(var n in t)e[n]=t[n];}function a(t,e,n){return i(t,e,n)}i.from&&i.alloc&&i.allocUnsafe&&i.allocUnsafeSlow?t.exports=r:(o(r,e),e.Buffer=a),a.prototype=Object.create(i.prototype),o(i,a),a.from=function(t,e,n){if("number"==typeof t)throw new TypeError("Argument must not be a number");return i(t,e,n)},a.alloc=function(t,e,n){if("number"!=typeof t)throw new TypeError("Argument must be a number");var r=i(t);return void 0!==e?"string"==typeof n?r.fill(e,n):r.fill(e):r.fill(0),r},a.allocUnsafe=function(t){if("number"!=typeof t)throw new TypeError("Argument must be a number");return i(t)},a.allocUnsafeSlow=function(t){if("number"!=typeof t)throw new TypeError("Argument must be a number");return r.SlowBuffer(t)};},6479:(t,e,n)=>{var r;!function(){"use strict";function i(t,e,n){var r=e.x,i=e.y,o=n.x-r,a=n.y-i;if(0!==o||0!==a){var s=((t.x-r)*o+(t.y-i)*a)/(o*o+a*a);s>1?(r=n.x,i=n.y):s>0&&(r+=o*s,i+=a*s);}return (o=t.x-r)*o+(a=t.y-i)*a}function o(t,e,n,r,a){for(var s,u=r,l=e+1;lu&&(s=l,u=c);}u>r&&(s-e>1&&o(t,e,s,r,a),a.push(t[s]),n-s>1&&o(t,s,n,r,a));}function a(t,e){var n=t.length-1,r=[t[0]];return o(t,0,n,e,r),r.push(t[n]),r}function s(t,e,n){if(t.length<=2)return t;var r=void 0!==e?e*e:1;return t=n?t:function(t,e){for(var n,r,i,o,a,s=t[0],u=[s],l=1,c=t.length;le&&(u.push(n),s=n);return s!==n&&u.push(n),u}(t,r),a(t,r)}void 0===(r=function(){return s}.call(e,n,e,t))||(t.exports=r);}();},8501:(t,e,n)=>{var r=n(3570),i=n(5676),o=n(7529),a=n(584),s=n(8575),u=e;u.request=function(t,e){t="string"==typeof t?s.parse(t):o(t);var i=-1===n.g.location.protocol.search(/^https?:$/)?"http:":"",a=t.protocol||i,u=t.hostname||t.host,l=t.port,c=t.path||"/";u&&-1!==u.indexOf(":")&&(u="["+u+"]"),t.url=(u?a+"//"+u:"")+(l?":"+l:"")+c,t.method=(t.method||"GET").toUpperCase(),t.headers=t.headers||{};var h=new r(t);return e&&h.on("response",e),h},u.get=function(t,e){var n=u.request(t,e);return n.end(),n},u.ClientRequest=r,u.IncomingMessage=i.IncomingMessage,u.Agent=function(){},u.Agent.defaultMaxSockets=4,u.globalAgent=new u.Agent,u.STATUS_CODES=a,u.METHODS=["CHECKOUT","CONNECT","COPY","DELETE","GET","HEAD","LOCK","M-SEARCH","MERGE","MKACTIVITY","MKCOL","MOVE","NOTIFY","OPTIONS","PATCH","POST","PROPFIND","PROPPATCH","PURGE","PUT","REPORT","SEARCH","SUBSCRIBE","TRACE","UNLOCK","UNSUBSCRIBE"];},8725:(t,e,n)=>{var r;function i(){if(void 0!==r)return r;if(n.g.XMLHttpRequest){r=new n.g.XMLHttpRequest;try{r.open("GET",n.g.XDomainRequest?"/":"https://example.com");}catch(t){r=null;}}else r=null;return r}function o(t){var e=i();if(!e)return !1;try{return e.responseType=t,e.responseType===t}catch(t){}return !1}function a(t){return "function"==typeof t}e.fetch=a(n.g.fetch)&&a(n.g.ReadableStream),e.writableStream=a(n.g.WritableStream),e.abortController=a(n.g.AbortController),e.arraybuffer=e.fetch||o("arraybuffer"),e.msstream=!e.fetch&&o("ms-stream"),e.mozchunkedarraybuffer=!e.fetch&&o("moz-chunked-arraybuffer"),e.overrideMimeType=e.fetch||!!i()&&a(i().overrideMimeType),r=null;},3570:(t,e,n)=>{var r=n(3085).lW,i=n(4155),o=n(8725),a=n(5717),s=n(5676),u=n(925),l=s.IncomingMessage,c=s.readyStates,h=t.exports=function(t){var e,n=this;u.Writable.call(n),n._opts=t,n._body=[],n._headers={},t.auth&&n.setHeader("Authorization","Basic "+r.from(t.auth).toString("base64")),Object.keys(t.headers).forEach((function(e){n.setHeader(e,t.headers[e]);}));var i=!0;if("disable-fetch"===t.mode||"requestTimeout"in t&&!o.abortController)i=!1,e=!0;else if("prefer-streaming"===t.mode)e=!1;else if("allow-wrong-content-type"===t.mode)e=!o.overrideMimeType;else {if(t.mode&&"default"!==t.mode&&"prefer-fast"!==t.mode)throw new Error("Invalid value for opts.mode");e=!0;}n._mode=function(t,e){return o.fetch&&e?"fetch":o.mozchunkedarraybuffer?"moz-chunked-arraybuffer":o.msstream?"ms-stream":o.arraybuffer&&t?"arraybuffer":"text"}(e,i),n._fetchTimer=null,n._socketTimeout=null,n._socketTimer=null,n.on("finish",(function(){n._onFinish();}));};a(h,u.Writable),h.prototype.setHeader=function(t,e){var n=t.toLowerCase();-1===f.indexOf(n)&&(this._headers[n]={name:t,value:e});},h.prototype.getHeader=function(t){var e=this._headers[t.toLowerCase()];return e?e.value:null},h.prototype.removeHeader=function(t){delete this._headers[t.toLowerCase()];},h.prototype._onFinish=function(){var t=this;if(!t._destroyed){var e=t._opts;"timeout"in e&&0!==e.timeout&&t.setTimeout(e.timeout);var r=t._headers,a=null;"GET"!==e.method&&"HEAD"!==e.method&&(a=new Blob(t._body,{type:(r["content-type"]||{}).value||""}));var s=[];if(Object.keys(r).forEach((function(t){var e=r[t].name,n=r[t].value;Array.isArray(n)?n.forEach((function(t){s.push([e,t]);})):s.push([e,n]);})),"fetch"===t._mode){var u=null;if(o.abortController){var l=new AbortController;u=l.signal,t._fetchAbortController=l,"requestTimeout"in e&&0!==e.requestTimeout&&(t._fetchTimer=n.g.setTimeout((function(){t.emit("requestTimeout"),t._fetchAbortController&&t._fetchAbortController.abort();}),e.requestTimeout));}n.g.fetch(t._opts.url,{method:t._opts.method,headers:s,body:a||void 0,mode:"cors",credentials:e.withCredentials?"include":"same-origin",signal:u}).then((function(e){t._fetchResponse=e,t._resetTimers(!1),t._connect();}),(function(e){t._resetTimers(!0),t._destroyed||t.emit("error",e);}));}else {var h=t._xhr=new n.g.XMLHttpRequest;try{h.open(t._opts.method,t._opts.url,!0);}catch(e){return void i.nextTick((function(){t.emit("error",e);}))}"responseType"in h&&(h.responseType=t._mode),"withCredentials"in h&&(h.withCredentials=!!e.withCredentials),"text"===t._mode&&"overrideMimeType"in h&&h.overrideMimeType("text/plain; charset=x-user-defined"),"requestTimeout"in e&&(h.timeout=e.requestTimeout,h.ontimeout=function(){t.emit("requestTimeout");}),s.forEach((function(t){h.setRequestHeader(t[0],t[1]);})),t._response=null,h.onreadystatechange=function(){switch(h.readyState){case c.LOADING:case c.DONE:t._onXHRProgress();}},"moz-chunked-arraybuffer"===t._mode&&(h.onprogress=function(){t._onXHRProgress();}),h.onerror=function(){t._destroyed||(t._resetTimers(!0),t.emit("error",new Error("XHR error")));};try{h.send(a);}catch(e){return void i.nextTick((function(){t.emit("error",e);}))}}}},h.prototype._onXHRProgress=function(){var t=this;t._resetTimers(!1),function(t){try{var e=t.status;return null!==e&&0!==e}catch(t){return !1}}(t._xhr)&&!t._destroyed&&(t._response||t._connect(),t._response._onXHRProgress(t._resetTimers.bind(t)));},h.prototype._connect=function(){var t=this;t._destroyed||(t._response=new l(t._xhr,t._fetchResponse,t._mode,t._resetTimers.bind(t)),t._response.on("error",(function(e){t.emit("error",e);})),t.emit("response",t._response));},h.prototype._write=function(t,e,n){this._body.push(t),n();},h.prototype._resetTimers=function(t){var e=this;n.g.clearTimeout(e._socketTimer),e._socketTimer=null,t?(n.g.clearTimeout(e._fetchTimer),e._fetchTimer=null):e._socketTimeout&&(e._socketTimer=n.g.setTimeout((function(){e.emit("timeout");}),e._socketTimeout));},h.prototype.abort=h.prototype.destroy=function(t){var e=this;e._destroyed=!0,e._resetTimers(!0),e._response&&(e._response._destroyed=!0),e._xhr?e._xhr.abort():e._fetchAbortController&&e._fetchAbortController.abort(),t&&e.emit("error",t);},h.prototype.end=function(t,e,n){"function"==typeof t&&(n=t,t=void 0),u.Writable.prototype.end.call(this,t,e,n);},h.prototype.setTimeout=function(t,e){var n=this;e&&n.once("timeout",e),n._socketTimeout=t,n._resetTimers(!1);},h.prototype.flushHeaders=function(){},h.prototype.setNoDelay=function(){},h.prototype.setSocketKeepAlive=function(){};var f=["accept-charset","accept-encoding","access-control-request-headers","access-control-request-method","connection","content-length","cookie","cookie2","date","dnt","expect","host","keep-alive","origin","referer","te","trailer","transfer-encoding","upgrade","via"];},5676:(t,e,n)=>{var r=n(4155),i=n(3085).lW,o=n(8725),a=n(5717),s=n(925),u=e.readyStates={UNSENT:0,OPENED:1,HEADERS_RECEIVED:2,LOADING:3,DONE:4},l=e.IncomingMessage=function(t,e,n,a){var u=this;if(s.Readable.call(u),u._mode=n,u.headers={},u.rawHeaders=[],u.trailers={},u.rawTrailers=[],u.on("end",(function(){r.nextTick((function(){u.emit("close");}));})),"fetch"===n){if(u._fetchResponse=e,u.url=e.url,u.statusCode=e.status,u.statusMessage=e.statusText,e.headers.forEach((function(t,e){u.headers[e.toLowerCase()]=t,u.rawHeaders.push(e,t);})),o.writableStream){var l=new WritableStream({write:function(t){return a(!1),new Promise((function(e,n){u._destroyed?n():u.push(i.from(t))?e():u._resumeFetch=e;}))},close:function(){a(!0),u._destroyed||u.push(null);},abort:function(t){a(!0),u._destroyed||u.emit("error",t);}});try{return void e.body.pipeTo(l).catch((function(t){a(!0),u._destroyed||u.emit("error",t);}))}catch(t){}}var c=e.body.getReader();!function t(){c.read().then((function(e){u._destroyed||(a(e.done),e.done?u.push(null):(u.push(i.from(e.value)),t()));})).catch((function(t){a(!0),u._destroyed||u.emit("error",t);}));}();}else if(u._xhr=t,u._pos=0,u.url=t.responseURL,u.statusCode=t.status,u.statusMessage=t.statusText,t.getAllResponseHeaders().split(/\r?\n/).forEach((function(t){var e=t.match(/^([^:]+):\s*(.*)/);if(e){var n=e[1].toLowerCase();"set-cookie"===n?(void 0===u.headers[n]&&(u.headers[n]=[]),u.headers[n].push(e[2])):void 0!==u.headers[n]?u.headers[n]+=", "+e[2]:u.headers[n]=e[2],u.rawHeaders.push(e[1],e[2]);}})),u._charset="x-user-defined",!o.overrideMimeType){var h=u.rawHeaders["mime-type"];if(h){var f=h.match(/;\s*charset=([^;])(;|$)/);f&&(u._charset=f[1].toLowerCase());}u._charset||(u._charset="utf-8");}};a(l,s.Readable),l.prototype._read=function(){var t=this._resumeFetch;t&&(this._resumeFetch=null,t());},l.prototype._onXHRProgress=function(t){var e=this,r=e._xhr,o=null;switch(e._mode){case "text":if((o=r.responseText).length>e._pos){var a=o.substr(e._pos);if("x-user-defined"===e._charset){for(var s=i.alloc(a.length),l=0;le._pos&&(e.push(i.from(new Uint8Array(c.result.slice(e._pos)))),e._pos=c.result.byteLength);},c.onload=function(){t(!0),e.push(null);},c.readAsArrayBuffer(o);}e._xhr.readyState===u.DONE&&"ms-stream"!==e._mode&&(t(!0),e.push(null));};},7303:t=>{"use strict";var e={};function n(t,n,r){r||(r=Error);var i=function(t){var e,r;function i(e,r,i){return t.call(this,function(t,e,r){return "string"==typeof n?n:n(t,e,r)}(e,r,i))||this}return r=t,(e=i).prototype=Object.create(r.prototype),e.prototype.constructor=e,e.__proto__=r,i}(r);i.prototype.name=r.name,i.prototype.code=t,e[t]=i;}function r(t,e){if(Array.isArray(t)){var n=t.length;return t=t.map((function(t){return String(t)})),n>2?"one of ".concat(e," ").concat(t.slice(0,n-1).join(", "),", or ")+t[n-1]:2===n?"one of ".concat(e," ").concat(t[0]," or ").concat(t[1]):"of ".concat(e," ").concat(t[0])}return "of ".concat(e," ").concat(String(t))}n("ERR_INVALID_OPT_VALUE",(function(t,e){return 'The value "'+e+'" is invalid for option "'+t+'"'}),TypeError),n("ERR_INVALID_ARG_TYPE",(function(t,e,n){var i,o,a,s,u;if("string"==typeof e&&(o="not ",e.substr(0,o.length)===o)?(i="must not be",e=e.replace(/^not /,"")):i="must be",function(t,e,n){return (void 0===n||n>t.length)&&(n=t.length),t.substring(n-e.length,n)===e}(t," argument"))a="The ".concat(t," ").concat(i," ").concat(r(e,"type"));else {var l=("number"!=typeof u&&(u=0),u+".".length>(s=t).length||-1===s.indexOf(".",u)?"argument":"property");a='The "'.concat(t,'" ').concat(l," ").concat(i," ").concat(r(e,"type"));}return a+". Received type ".concat(typeof n)}),TypeError),n("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF"),n("ERR_METHOD_NOT_IMPLEMENTED",(function(t){return "The "+t+" method is not implemented"})),n("ERR_STREAM_PREMATURE_CLOSE","Premature close"),n("ERR_STREAM_DESTROYED",(function(t){return "Cannot call "+t+" after a stream was destroyed"})),n("ERR_MULTIPLE_CALLBACK","Callback called multiple times"),n("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable"),n("ERR_STREAM_WRITE_AFTER_END","write after end"),n("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),n("ERR_UNKNOWN_ENCODING",(function(t){return "Unknown encoding: "+t}),TypeError),n("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event"),t.exports.q=e;},9560:(t,e,n)=>{"use strict";var r=n(4155),i=Object.keys||function(t){var e=[];for(var n in t)e.push(n);return e};t.exports=u;const o=n(4002),a=n(3313);n(5717)(u,o);{const t=i(a.prototype);for(var s=0;s{"use strict";t.exports=i;const r=n(1846);function i(t){if(!(this instanceof i))return new i(t);r.call(this,t);}n(5717)(i,r),i.prototype._transform=function(t,e,n){n(null,t);};},4002:(t,e,n)=>{"use strict";var r,i=n(4155);t.exports=C,C.ReadableState=x,n(7187).EventEmitter;var o=function(t,e){return t.listeners(e).length},a=n(1463);const s=n(8764).Buffer,u=(void 0!==n.g?n.g:"undefined"!=typeof window?window:"undefined"!=typeof self?self:{}).Uint8Array||function(){},l=n(3646);let c;c=l&&l.debuglog?l.debuglog("stream"):function(){};const h=n(6641),f=n(4910),p=n(7855).getHighWaterMark,d=n(7303).q,y=d.ERR_INVALID_ARG_TYPE,m=d.ERR_STREAM_PUSH_AFTER_EOF,g=d.ERR_METHOD_NOT_IMPLEMENTED,_=d.ERR_STREAM_UNSHIFT_AFTER_END_EVENT;let b,v,T;n(5717)(C,a);const E=f.errorOrDestroy,w=["error","close","destroy","pause","resume"];function x(t,e,i){r=r||n(9560),t=t||{},"boolean"!=typeof i&&(i=e instanceof r),this.objectMode=!!t.objectMode,i&&(this.objectMode=this.objectMode||!!t.readableObjectMode),this.highWaterMark=p(this,t,"readableHighWaterMark",i),this.buffer=new h,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.paused=!0,this.emitClose=!1!==t.emitClose,this.autoDestroy=!!t.autoDestroy,this.destroyed=!1,this.defaultEncoding=t.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,t.encoding&&(b||(b=n(2553).s),this.decoder=new b(t.encoding),this.encoding=t.encoding);}function C(t){if(r=r||n(9560),!(this instanceof C))return new C(t);const e=this instanceof r;this._readableState=new x(t,this,e),this.readable=!0,t&&("function"==typeof t.read&&(this._read=t.read),"function"==typeof t.destroy&&(this._destroy=t.destroy)),a.call(this);}function M(t,e,n,r,i){c("readableAddChunk",e);var o,a=t._readableState;if(null===e)a.reading=!1,function(t,e){if(c("onEofChunk"),!e.ended){if(e.decoder){var n=e.decoder.end();n&&n.length&&(e.buffer.push(n),e.length+=e.objectMode?1:n.length);}e.ended=!0,e.sync?A(t):(e.needReadable=!1,e.emittedReadable||(e.emittedReadable=!0,I(t)));}}(t,a);else if(i||(o=function(t,e){var n,r;return r=e,s.isBuffer(r)||r instanceof u||"string"==typeof e||void 0===e||t.objectMode||(n=new y("chunk",["string","Buffer","Uint8Array"],e)),n}(a,e)),o)E(t,o);else if(a.objectMode||e&&e.length>0)if("string"==typeof e||a.objectMode||Object.getPrototypeOf(e)===s.prototype||(e=function(t){return s.from(t)}(e)),r)a.endEmitted?E(t,new _):S(t,a,e,!0);else if(a.ended)E(t,new m);else {if(a.destroyed)return !1;a.reading=!1,a.decoder&&!n?(e=a.decoder.write(e),a.objectMode||0!==e.length?S(t,a,e,!1):P(t,a)):S(t,a,e,!1);}else r||(a.reading=!1,P(t,a));return !a.ended&&(a.lengthe.highWaterMark&&(e.highWaterMark=function(t){return t>=N?t=N:(t--,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,t|=t>>>16,t++),t}(t)),t<=e.length?t:e.ended?e.length:(e.needReadable=!0,0))}function A(t){var e=t._readableState;c("emitReadable",e.needReadable,e.emittedReadable),e.needReadable=!1,e.emittedReadable||(c("emitReadable",e.flowing),e.emittedReadable=!0,i.nextTick(I,t));}function I(t){var e=t._readableState;c("emitReadable_",e.destroyed,e.length,e.ended),e.destroyed||!e.length&&!e.ended||(t.emit("readable"),e.emittedReadable=!1),e.needReadable=!e.flowing&&!e.ended&&e.length<=e.highWaterMark,F(t);}function P(t,e){e.readingMore||(e.readingMore=!0,i.nextTick(R,t,e));}function R(t,e){for(;!e.reading&&!e.ended&&(e.length0,e.resumeScheduled&&!e.paused?e.flowing=!0:t.listenerCount("data")>0&&t.resume();}function D(t){c("readable nexttick read 0"),t.read(0);}function k(t,e){c("resume",e.reading),e.reading||t.read(0),e.resumeScheduled=!1,t.emit("resume"),F(t),e.flowing&&!e.reading&&t.read(0);}function F(t){const e=t._readableState;for(c("flow",e.flowing);e.flowing&&null!==t.read(););}function U(t,e){return 0===e.length?null:(e.objectMode?n=e.buffer.shift():!t||t>=e.length?(n=e.decoder?e.buffer.join(""):1===e.buffer.length?e.buffer.first():e.buffer.concat(e.length),e.buffer.clear()):n=e.buffer.consume(t,e.decoder),n);var n;}function B(t){var e=t._readableState;c("endReadable",e.endEmitted),e.endEmitted||(e.ended=!0,i.nextTick(j,e,t));}function j(t,e){if(c("endReadableNT",t.endEmitted,t.length),!t.endEmitted&&0===t.length&&(t.endEmitted=!0,e.readable=!1,e.emit("end"),t.autoDestroy)){const t=e._writableState;(!t||t.autoDestroy&&t.finished)&&e.destroy();}}function G(t,e){for(var n=0,r=t.length;n=e.highWaterMark:e.length>0)||e.ended))return c("read: emitReadable",e.length,e.ended),0===e.length&&e.ended?B(this):A(this),null;if(0===(t=O(t,e))&&e.ended)return 0===e.length&&B(this),null;var r,i=e.needReadable;return c("need readable",i),(0===e.length||e.length-t0?U(t,e):null)?(e.needReadable=e.length<=e.highWaterMark,t=0):(e.length-=t,e.awaitDrain=0),0===e.length&&(e.ended||(e.needReadable=!0),n!==t&&e.ended&&B(this)),null!==r&&this.emit("data",r),r},C.prototype._read=function(t){E(this,new g("_read()"));},C.prototype.pipe=function(t,e){var n=this,r=this._readableState;switch(r.pipesCount){case 0:r.pipes=t;break;case 1:r.pipes=[r.pipes,t];break;default:r.pipes.push(t);}r.pipesCount+=1,c("pipe count=%d opts=%j",r.pipesCount,e);var a=e&&!1===e.end||t===i.stdout||t===i.stderr?y:s;function s(){c("onend"),t.end();}r.endEmitted?i.nextTick(a):n.once("end",a),t.on("unpipe",(function e(i,o){c("onunpipe"),i===n&&o&&!1===o.hasUnpiped&&(o.hasUnpiped=!0,c("cleanup"),t.removeListener("close",p),t.removeListener("finish",d),t.removeListener("drain",u),t.removeListener("error",f),t.removeListener("unpipe",e),n.removeListener("end",s),n.removeListener("end",y),n.removeListener("data",h),l=!0,!r.awaitDrain||t._writableState&&!t._writableState.needDrain||u());}));var u=function(t){return function(){var e=t._readableState;c("pipeOnDrain",e.awaitDrain),e.awaitDrain&&e.awaitDrain--,0===e.awaitDrain&&o(t,"data")&&(e.flowing=!0,F(t));}}(n);t.on("drain",u);var l=!1;function h(e){c("ondata");var i=t.write(e);c("dest.write",i),!1===i&&((1===r.pipesCount&&r.pipes===t||r.pipesCount>1&&-1!==G(r.pipes,t))&&!l&&(c("false write response, pause",r.awaitDrain),r.awaitDrain++),n.pause());}function f(e){c("onerror",e),y(),t.removeListener("error",f),0===o(t,"error")&&E(t,e);}function p(){t.removeListener("finish",d),y();}function d(){c("onfinish"),t.removeListener("close",p),y();}function y(){c("unpipe"),n.unpipe(t);}return n.on("data",h),function(t,e,n){if("function"==typeof t.prependListener)return t.prependListener(e,n);t._events&&t._events[e]?Array.isArray(t._events[e])?t._events[e].unshift(n):t._events[e]=[n,t._events[e]]:t.on(e,n);}(t,"error",f),t.once("close",p),t.once("finish",d),t.emit("pipe",n),r.flowing||(c("pipe resume"),n.resume()),t},C.prototype.unpipe=function(t){var e=this._readableState,n={hasUnpiped:!1};if(0===e.pipesCount)return this;if(1===e.pipesCount)return t&&t!==e.pipes||(t||(t=e.pipes),e.pipes=null,e.pipesCount=0,e.flowing=!1,t&&t.emit("unpipe",this,n)),this;if(!t){var r=e.pipes,i=e.pipesCount;e.pipes=null,e.pipesCount=0,e.flowing=!1;for(var o=0;o0,!1!==r.flowing&&this.resume()):"readable"===t&&(r.endEmitted||r.readableListening||(r.readableListening=r.needReadable=!0,r.flowing=!1,r.emittedReadable=!1,c("on readable",r.length,r.reading),r.length?A(this):r.reading||i.nextTick(D,this))),n},C.prototype.addListener=C.prototype.on,C.prototype.removeListener=function(t,e){const n=a.prototype.removeListener.call(this,t,e);return "readable"===t&&i.nextTick(L,this),n},C.prototype.removeAllListeners=function(t){const e=a.prototype.removeAllListeners.apply(this,arguments);return "readable"!==t&&void 0!==t||i.nextTick(L,this),e},C.prototype.resume=function(){var t=this._readableState;return t.flowing||(c("resume"),t.flowing=!t.readableListening,function(t,e){e.resumeScheduled||(e.resumeScheduled=!0,i.nextTick(k,t,e));}(this,t)),t.paused=!1,this},C.prototype.pause=function(){return c("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(c("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this},C.prototype.wrap=function(t){var e=this._readableState,n=!1;for(var r in t.on("end",(()=>{if(c("wrapped end"),e.decoder&&!e.ended){var t=e.decoder.end();t&&t.length&&this.push(t);}this.push(null);})),t.on("data",(r=>{c("wrapped data"),e.decoder&&(r=e.decoder.write(r)),e.objectMode&&null==r||(e.objectMode||r&&r.length)&&(this.push(r)||(n=!0,t.pause()));})),t)void 0===this[r]&&"function"==typeof t[r]&&(this[r]=function(e){return function(){return t[e].apply(t,arguments)}}(r));for(var i=0;i{c("wrapped _read",e),n&&(n=!1,t.resume());},this},"function"==typeof Symbol&&(C.prototype[Symbol.asyncIterator]=function(){return void 0===v&&(v=n(6819)),v(this)}),Object.defineProperty(C.prototype,"readableHighWaterMark",{enumerable:!1,get:function(){return this._readableState.highWaterMark}}),Object.defineProperty(C.prototype,"readableBuffer",{enumerable:!1,get:function(){return this._readableState&&this._readableState.buffer}}),Object.defineProperty(C.prototype,"readableFlowing",{enumerable:!1,get:function(){return this._readableState.flowing},set:function(t){this._readableState&&(this._readableState.flowing=t);}}),C._fromList=U,Object.defineProperty(C.prototype,"readableLength",{enumerable:!1,get(){return this._readableState.length}}),"function"==typeof Symbol&&(C.from=function(t,e){return void 0===T&&(T=n(8869)),T(C,t,e)});},1846:(t,e,n)=>{"use strict";t.exports=c;const r=n(7303).q,i=r.ERR_METHOD_NOT_IMPLEMENTED,o=r.ERR_MULTIPLE_CALLBACK,a=r.ERR_TRANSFORM_ALREADY_TRANSFORMING,s=r.ERR_TRANSFORM_WITH_LENGTH_0,u=n(9560);function l(t,e){var n=this._transformState;n.transforming=!1;var r=n.writecb;if(null===r)return this.emit("error",new o);n.writechunk=null,n.writecb=null,null!=e&&this.push(e),r(t);var i=this._readableState;i.reading=!1,(i.needReadable||i.length{f(this,t,e);}));}function f(t,e,n){if(e)return t.emit("error",e);if(null!=n&&t.push(n),t._writableState.length)throw new s;if(t._transformState.transforming)throw new a;return t.push(null)}n(5717)(c,u),c.prototype.push=function(t,e){return this._transformState.needTransform=!1,u.prototype.push.call(this,t,e)},c.prototype._transform=function(t,e,n){n(new i("_transform()"));},c.prototype._write=function(t,e,n){var r=this._transformState;if(r.writecb=n,r.writechunk=t,r.writeencoding=e,!r.transforming){var i=this._readableState;(r.needTransform||i.needReadable||i.length{e(t);}));};},3313:(t,e,n)=>{"use strict";var r,i=n(4155);function o(t){this.next=null,this.entry=null,this.finish=()=>{!function(t,e,n){var r=t.entry;for(t.entry=null;r;){var i=r.callback;e.pendingcb--,i(undefined),r=r.next;}e.corkedRequestsFree.next=t;}(this,t);};}t.exports=C,C.WritableState=w;const a={deprecate:n(4927)};var s=n(1463);const u=n(8764).Buffer,l=(void 0!==n.g?n.g:"undefined"!=typeof window?window:"undefined"!=typeof self?self:{}).Uint8Array||function(){},c=n(4910),h=n(7855).getHighWaterMark,f=n(7303).q,p=f.ERR_INVALID_ARG_TYPE,d=f.ERR_METHOD_NOT_IMPLEMENTED,y=f.ERR_MULTIPLE_CALLBACK,m=f.ERR_STREAM_CANNOT_PIPE,g=f.ERR_STREAM_DESTROYED,_=f.ERR_STREAM_NULL_VALUES,b=f.ERR_STREAM_WRITE_AFTER_END,v=f.ERR_UNKNOWN_ENCODING,T=c.errorOrDestroy;function E(){}function w(t,e,a){r=r||n(9560),t=t||{},"boolean"!=typeof a&&(a=e instanceof r),this.objectMode=!!t.objectMode,a&&(this.objectMode=this.objectMode||!!t.writableObjectMode),this.highWaterMark=h(this,t,"writableHighWaterMark",a),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var s=!1===t.decodeStrings;this.decodeStrings=!s,this.defaultEncoding=t.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(t){!function(t,e){var n=t._writableState,r=n.sync,o=n.writecb;if("function"!=typeof o)throw new y;if(function(t){t.writing=!1,t.writecb=null,t.length-=t.writelen,t.writelen=0;}(n),e)!function(t,e,n,r,o){--e.pendingcb,n?(i.nextTick(o,r),i.nextTick(I,t,e),t._writableState.errorEmitted=!0,T(t,r)):(o(r),t._writableState.errorEmitted=!0,T(t,r),I(t,e));}(t,n,r,e,o);else {var a=O(n)||t.destroyed;a||n.corked||n.bufferProcessing||!n.bufferedRequest||N(t,n),r?i.nextTick(S,t,n,a,o):S(t,n,a,o);}}(e,t);},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=!1!==t.emitClose,this.autoDestroy=!!t.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new o(this);}var x;function C(t){const e=this instanceof(r=r||n(9560));if(!e&&!x.call(C,this))return new C(t);this._writableState=new w(t,this,e),this.writable=!0,t&&("function"==typeof t.write&&(this._write=t.write),"function"==typeof t.writev&&(this._writev=t.writev),"function"==typeof t.destroy&&(this._destroy=t.destroy),"function"==typeof t.final&&(this._final=t.final)),s.call(this);}function M(t,e,n,r,i,o,a){e.writelen=r,e.writecb=a,e.writing=!0,e.sync=!0,e.destroyed?e.onwrite(new g("write")):n?t._writev(i,e.onwrite):t._write(i,o,e.onwrite),e.sync=!1;}function S(t,e,n,r){n||function(t,e){0===e.length&&e.needDrain&&(e.needDrain=!1,t.emit("drain"));}(t,e),e.pendingcb--,r(),I(t,e);}function N(t,e){e.bufferProcessing=!0;var n=e.bufferedRequest;if(t._writev&&n&&n.next){var r=e.bufferedRequestCount,i=new Array(r),a=e.corkedRequestsFree;a.entry=n;for(var s=0,u=!0;n;)i[s]=n,n.isBuf||(u=!1),n=n.next,s+=1;i.allBuffers=u,M(t,e,!0,e.length,i,"",a.finish),e.pendingcb++,e.lastBufferedRequest=null,a.next?(e.corkedRequestsFree=a.next,a.next=null):e.corkedRequestsFree=new o(e),e.bufferedRequestCount=0;}else {for(;n;){var l=n.chunk,c=n.encoding,h=n.callback;if(M(t,e,!1,e.objectMode?1:l.length,l,c,h),n=n.next,e.bufferedRequestCount--,e.writing)break}null===n&&(e.lastBufferedRequest=null);}e.bufferedRequest=n,e.bufferProcessing=!1;}function O(t){return t.ending&&0===t.length&&null===t.bufferedRequest&&!t.finished&&!t.writing}function A(t,e){t._final((n=>{e.pendingcb--,n&&T(t,n),e.prefinished=!0,t.emit("prefinish"),I(t,e);}));}function I(t,e){var n=O(e);if(n&&(function(t,e){e.prefinished||e.finalCalled||("function"!=typeof t._final||e.destroyed?(e.prefinished=!0,t.emit("prefinish")):(e.pendingcb++,e.finalCalled=!0,i.nextTick(A,t,e)));}(t,e),0===e.pendingcb&&(e.finished=!0,t.emit("finish"),e.autoDestroy))){const e=t._readableState;(!e||e.autoDestroy&&e.endEmitted)&&t.destroy();}return n}n(5717)(C,s),w.prototype.getBuffer=function(){for(var t=this.bufferedRequest,e=[];t;)e.push(t),t=t.next;return e},function(){try{Object.defineProperty(w.prototype,"buffer",{get:a.deprecate((function(){return this.getBuffer()}),"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")});}catch(t){}}(),"function"==typeof Symbol&&Symbol.hasInstance&&"function"==typeof Function.prototype[Symbol.hasInstance]?(x=Function.prototype[Symbol.hasInstance],Object.defineProperty(C,Symbol.hasInstance,{value:function(t){return !!x.call(this,t)||this===C&&t&&t._writableState instanceof w}})):x=function(t){return t instanceof this},C.prototype.pipe=function(){T(this,new m);},C.prototype.write=function(t,e,n){var r,o=this._writableState,a=!1,s=!o.objectMode&&(r=t,u.isBuffer(r)||r instanceof l);return s&&!u.isBuffer(t)&&(t=function(t){return u.from(t)}(t)),"function"==typeof e&&(n=e,e=null),s?e="buffer":e||(e=o.defaultEncoding),"function"!=typeof n&&(n=E),o.ending?function(t,e){var n=new b;T(t,n),i.nextTick(e,n);}(this,n):(s||function(t,e,n,r){var o;return null===n?o=new _:"string"==typeof n||e.objectMode||(o=new p("chunk",["string","Buffer"],n)),!o||(T(t,o),i.nextTick(r,o),!1)}(this,o,t,n))&&(o.pendingcb++,a=function(t,e,n,r,i,o){if(!n){var a=function(t,e,n){return t.objectMode||!1===t.decodeStrings||"string"!=typeof e||(e=u.from(e,n)),e}(e,r,i);r!==a&&(n=!0,i="buffer",r=a);}var s=e.objectMode?1:r.length;e.length+=s;var l=e.length-1))throw new v(t);return this._writableState.defaultEncoding=t,this},Object.defineProperty(C.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(C.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),C.prototype._write=function(t,e,n){n(new d("_write()"));},C.prototype._writev=null,C.prototype.end=function(t,e,n){var r=this._writableState;return "function"==typeof t?(n=t,t=null,e=null):"function"==typeof e&&(n=e,e=null),null!=t&&this.write(t,e),r.corked&&(r.corked=1,this.uncork()),r.ending||function(t,e,n){e.ending=!0,I(t,e),n&&(e.finished?i.nextTick(n):t.once("finish",n)),e.ended=!0,t.writable=!1;}(this,r,n),this},Object.defineProperty(C.prototype,"writableLength",{enumerable:!1,get(){return this._writableState.length}}),Object.defineProperty(C.prototype,"destroyed",{enumerable:!1,get(){return void 0!==this._writableState&&this._writableState.destroyed},set(t){this._writableState&&(this._writableState.destroyed=t);}}),C.prototype.destroy=c.destroy,C.prototype._undestroy=c.undestroy,C.prototype._destroy=function(t,e){e(t);};},6819:(t,e,n)=>{"use strict";var r=n(4155);const i=n(5467),o=Symbol("lastResolve"),a=Symbol("lastReject"),s=Symbol("error"),u=Symbol("ended"),l=Symbol("lastPromise"),c=Symbol("handlePromise"),h=Symbol("stream");function f(t,e){return {value:t,done:e}}function p(t){const e=t[o];if(null!==e){const n=t[h].read();null!==n&&(t[l]=null,t[o]=null,t[a]=null,e(f(n,!1)));}}function d(t){r.nextTick(p,t);}const y=Object.getPrototypeOf((function(){})),m=Object.setPrototypeOf({get stream(){return this[h]},next(){const t=this[s];if(null!==t)return Promise.reject(t);if(this[u])return Promise.resolve(f(void 0,!0));if(this[h].destroyed)return new Promise(((t,e)=>{r.nextTick((()=>{this[s]?e(this[s]):t(f(void 0,!0));}));}));const e=this[l];let n;if(e)n=new Promise(function(t,e){return (n,r)=>{t.then((()=>{e[u]?n(f(void 0,!0)):e[c](n,r);}),r);}}(e,this));else {const t=this[h].read();if(null!==t)return Promise.resolve(f(t,!1));n=new Promise(this[c]);}return this[l]=n,n},[Symbol.asyncIterator](){return this},return(){return new Promise(((t,e)=>{this[h].destroy(null,(n=>{n?e(n):t(f(void 0,!0));}));}))}},y);t.exports=t=>{const e=Object.create(m,{[h]:{value:t,writable:!0},[o]:{value:null,writable:!0},[a]:{value:null,writable:!0},[s]:{value:null,writable:!0},[u]:{value:t._readableState.endEmitted,writable:!0},[c]:{value:(t,n)=>{const r=e[h].read();r?(e[l]=null,e[o]=null,e[a]=null,t(f(r,!1))):(e[o]=t,e[a]=n);},writable:!0}});return e[l]=null,i(t,(t=>{if(t&&"ERR_STREAM_PREMATURE_CLOSE"!==t.code){const n=e[a];return null!==n&&(e[l]=null,e[o]=null,e[a]=null,n(t)),void(e[s]=t)}const n=e[o];null!==n&&(e[l]=null,e[o]=null,e[a]=null,n(f(void 0,!0))),e[u]=!0;})),t.on("readable",d.bind(null,e)),e};},6641:(t,e,n)=>{"use strict";function r(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r);}return n}function i(t){for(var e=1;e0?this.tail.next=e:this.head=e,this.tail=e,++this.length;}unshift(t){const e={data:t,next:this.head};0===this.length&&(this.tail=e),this.head=e,++this.length;}shift(){if(0===this.length)return;const t=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,t}clear(){this.head=this.tail=null,this.length=0;}join(t){if(0===this.length)return "";for(var e=this.head,n=""+e.data;e=e.next;)n+=t+e.data;return n}concat(t){if(0===this.length)return a.alloc(0);const e=a.allocUnsafe(t>>>0);for(var n,r,i,o=this.head,s=0;o;)n=o.data,r=e,i=s,a.prototype.copy.call(n,r,i),s+=o.data.length,o=o.next;return e}consume(t,e){var n;return ti.length?i.length:t;if(o===i.length?r+=i:r+=i.slice(0,t),0==(t-=o)){o===i.length?(++n,e.next?this.head=e.next:this.head=this.tail=null):(this.head=e,e.data=i.slice(o));break}++n;}return this.length-=n,r}_getBuffer(t){const e=a.allocUnsafe(t);var n=this.head,r=1;for(n.data.copy(e),t-=n.data.length;n=n.next;){const i=n.data,o=t>i.length?i.length:t;if(i.copy(e,e.length-t,0,o),0==(t-=o)){o===i.length?(++r,n.next?this.head=n.next:this.head=this.tail=null):(this.head=n,n.data=i.slice(o));break}++r;}return this.length-=r,e}[u](t,e){return s(this,i(i({},e),{},{depth:0,customInspect:!1}))}};},4910:(t,e,n)=>{"use strict";var r=n(4155);function i(t,e){a(t,e),o(t);}function o(t){t._writableState&&!t._writableState.emitClose||t._readableState&&!t._readableState.emitClose||t.emit("close");}function a(t,e){t.emit("error",e);}t.exports={destroy:function(t,e){const n=this._readableState&&this._readableState.destroyed,s=this._writableState&&this._writableState.destroyed;return n||s?(e?e(t):t&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,r.nextTick(a,this,t)):r.nextTick(a,this,t)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(t||null,(t=>{!e&&t?this._writableState?this._writableState.errorEmitted?r.nextTick(o,this):(this._writableState.errorEmitted=!0,r.nextTick(i,this,t)):r.nextTick(i,this,t):e?(r.nextTick(o,this),e(t)):r.nextTick(o,this);})),this)},undestroy:function(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1);},errorOrDestroy:function(t,e){const n=t._readableState,r=t._writableState;n&&n.autoDestroy||r&&r.autoDestroy?t.destroy(e):t.emit("error",e);}};},5467:(t,e,n)=>{"use strict";const r=n(7303).q.ERR_STREAM_PREMATURE_CLOSE;function i(){}t.exports=function t(e,n,o){if("function"==typeof n)return t(e,null,n);n||(n={}),o=function(t){let e=!1;return function(){if(!e){e=!0;for(var n=arguments.length,r=new Array(n),i=0;i{e.writable||c();};var l=e._writableState&&e._writableState.finished;const c=()=>{s=!1,l=!0,a||o.call(e);};var h=e._readableState&&e._readableState.endEmitted;const f=()=>{a=!1,h=!0,s||o.call(e);},p=t=>{o.call(e,t);},d=()=>{let t;return a&&!h?(e._readableState&&e._readableState.ended||(t=new r),o.call(e,t)):s&&!l?(e._writableState&&e._writableState.ended||(t=new r),o.call(e,t)):void 0},y=()=>{e.req.on("finish",c);};return function(t){return t.setHeader&&"function"==typeof t.abort}(e)?(e.on("complete",c),e.on("abort",d),e.req?y():e.on("request",y)):s&&!e._writableState&&(e.on("end",u),e.on("close",u)),e.on("end",f),e.on("finish",c),!1!==n.error&&e.on("error",p),e.on("close",d),function(){e.removeListener("complete",c),e.removeListener("abort",d),e.removeListener("request",y),e.req&&e.req.removeListener("finish",c),e.removeListener("end",u),e.removeListener("close",u),e.removeListener("finish",c),e.removeListener("end",f),e.removeListener("error",p),e.removeListener("close",d);}};},8869:t=>{t.exports=function(){throw new Error("Readable.from is not available in the browser")};},9689:(t,e,n)=>{"use strict";let r;const i=n(7303).q,o=i.ERR_MISSING_ARGS,a=i.ERR_STREAM_DESTROYED;function s(t){if(t)throw t}function u(t){t();}function l(t,e){return t.pipe(e)}t.exports=function(){for(var t=arguments.length,e=new Array(t),i=0;i{s=!0;})),void 0===r&&(r=n(5467)),r(t,{readable:e,writable:i},(t=>{if(t)return o(t);s=!0,o();}));let u=!1;return e=>{if(!s&&!u)return u=!0,function(t){return t.setHeader&&"function"==typeof t.abort}(t)?t.abort():"function"==typeof t.destroy?t.destroy():void o(e||new a("pipe"))}}(t,o,i>0,(function(t){h||(h=t),t&&f.forEach(u),o||(f.forEach(u),c(h));}))}));return e.reduce(l)};},7855:(t,e,n)=>{"use strict";const r=n(7303).q.ERR_INVALID_OPT_VALUE;t.exports={getHighWaterMark:function(t,e,n,i){const o=function(t,e,n){return null!=t.highWaterMark?t.highWaterMark:e?t[n]:null}(e,i,n);if(null!=o){if(!isFinite(o)||Math.floor(o)!==o||o<0)throw new r(i?n:"highWaterMark",o);return Math.floor(o)}return t.objectMode?16:16384}};},1463:(t,e,n)=>{t.exports=n(7187).EventEmitter;},925:(t,e,n)=>{(e=t.exports=n(4002)).Stream=e,e.Readable=e,e.Writable=n(3313),e.Duplex=n(9560),e.Transform=n(1846),e.PassThrough=n(4842),e.finished=n(5467),e.pipeline=n(9689);},2553:(t,e,n)=>{"use strict";var r=n(9509).Buffer,i=r.isEncoding||function(t){switch((t=""+t)&&t.toLowerCase()){case "hex":case "utf8":case "utf-8":case "ascii":case "binary":case "base64":case "ucs2":case "ucs-2":case "utf16le":case "utf-16le":case "raw":return !0;default:return !1}};function o(t){var e;switch(this.encoding=function(t){var e=function(t){if(!t)return "utf8";for(var e;;)switch(t){case "utf8":case "utf-8":return "utf8";case "ucs2":case "ucs-2":case "utf16le":case "utf-16le":return "utf16le";case "latin1":case "binary":return "latin1";case "base64":case "ascii":case "hex":return t;default:if(e)return;t=(""+t).toLowerCase(),e=!0;}}(t);if("string"!=typeof e&&(r.isEncoding===i||!i(t)))throw new Error("Unknown encoding: "+t);return e||t}(t),this.encoding){case "utf16le":this.text=u,this.end=l,e=4;break;case "utf8":this.fillLast=s,e=4;break;case "base64":this.text=c,this.end=h,e=3;break;default:return this.write=f,void(this.end=p)}this.lastNeed=0,this.lastTotal=0,this.lastChar=r.allocUnsafe(e);}function a(t){return t<=127?0:t>>5==6?2:t>>4==14?3:t>>3==30?4:t>>6==2?-1:-2}function s(t){var e=this.lastTotal-this.lastNeed,n=function(t,e,n){if(128!=(192&e[0]))return t.lastNeed=0,"�";if(t.lastNeed>1&&e.length>1){if(128!=(192&e[1]))return t.lastNeed=1,"�";if(t.lastNeed>2&&e.length>2&&128!=(192&e[2]))return t.lastNeed=2,"�"}}(this,t);return void 0!==n?n:this.lastNeed<=t.length?(t.copy(this.lastChar,e,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(t.copy(this.lastChar,e,0,t.length),void(this.lastNeed-=t.length))}function u(t,e){if((t.length-e)%2==0){var n=t.toString("utf16le",e);if(n){var r=n.charCodeAt(n.length-1);if(r>=55296&&r<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1],n.slice(0,-1)}return n}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=t[t.length-1],t.toString("utf16le",e,t.length-1)}function l(t){var e=t&&t.length?this.write(t):"";if(this.lastNeed){var n=this.lastTotal-this.lastNeed;return e+this.lastChar.toString("utf16le",0,n)}return e}function c(t,e){var n=(t.length-e)%3;return 0===n?t.toString("base64",e):(this.lastNeed=3-n,this.lastTotal=3,1===n?this.lastChar[0]=t[t.length-1]:(this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1]),t.toString("base64",e,t.length-n))}function h(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+this.lastChar.toString("base64",0,3-this.lastNeed):e}function f(t){return t.toString(this.encoding)}function p(t){return t&&t.length?this.write(t):""}e.s=o,o.prototype.write=function(t){if(0===t.length)return "";var e,n;if(this.lastNeed){if(void 0===(e=this.fillLast(t)))return "";n=this.lastNeed,this.lastNeed=0;}else n=0;return n=0?(i>0&&(t.lastNeed=i-1),i):--r=0?(i>0&&(t.lastNeed=i-2),i):--r=0?(i>0&&(2===i?i=0:t.lastNeed=i-3),i):0}(this,t,e);if(!this.lastNeed)return t.toString("utf8",e);this.lastTotal=n;var r=t.length-(n-this.lastNeed);return t.copy(this.lastChar,0,r),t.toString("utf8",e,r)},o.prototype.fillLast=function(t){if(this.lastNeed<=t.length)return t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,t.length),this.lastNeed-=t.length;};},842:(t,e,n)=>{"use strict";var r=n(3085).lW;Object.defineProperty(e,"__esModule",{value:!0}),e.AbstractTokenizer=void 0;const i=n(5167);e.AbstractTokenizer=class{constructor(t){this.position=0,this.numBuffer=new Uint8Array(8),this.fileInfo=t||{};}async readToken(t,e=this.position){const n=r.alloc(t.len);if(await this.readBuffer(n,{position:e})e)return this.position+=e,e}return this.position+=t,t}async close(){}normalizeOptions(t,e){if(e&&void 0!==e.position&&e.position{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.BufferTokenizer=void 0;const r=n(5167),i=n(842);class o extends i.AbstractTokenizer{constructor(t,e){super(e),this.uint8Array=t,this.fileInfo.size=this.fileInfo.size?this.fileInfo.size:t.length;}async readBuffer(t,e){if(e&&e.position){if(e.position{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.fromFile=e.FileTokenizer=void 0;const r=n(842),i=n(5167),o=n(7209);class a extends r.AbstractTokenizer{constructor(t,e){super(e),this.fd=t;}async readBuffer(t,e){const n=this.normalizeOptions(t,e);this.position=n.position;const r=await o.read(this.fd,t,n.offset,n.length,n.position);if(this.position+=r.bytesRead,r.bytesRead{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.readFile=e.writeFileSync=e.writeFile=e.read=e.open=e.close=e.stat=e.createReadStream=e.pathExists=void 0;const r=n(4059);e.pathExists=r.existsSync,e.createReadStream=r.createReadStream,e.stat=async function(t){return new Promise(((e,n)=>{r.stat(t,((t,r)=>{t?n(t):e(r);}));}))},e.close=async function(t){return new Promise(((e,n)=>{r.close(t,(t=>{t?n(t):e();}));}))},e.open=async function(t,e){return new Promise(((n,i)=>{r.open(t,e,((t,e)=>{t?i(t):n(e);}));}))},e.read=async function(t,e,n,i,o){return new Promise(((a,s)=>{r.read(t,e,n,i,o,((t,e,n)=>{t?s(t):a({bytesRead:e,buffer:n});}));}))},e.writeFile=async function(t,e){return new Promise(((n,i)=>{r.writeFile(t,e,(t=>{t?i(t):n();}));}))},e.writeFileSync=function(t,e){r.writeFileSync(t,e);},e.readFile=async function(t){return new Promise(((e,n)=>{r.readFile(t,((t,r)=>{t?n(t):e(r);}));}))};},599:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ReadStreamTokenizer=void 0;const r=n(842),i=n(5167);class o extends r.AbstractTokenizer{constructor(t,e){super(e),this.streamReader=new i.StreamReader(t);}async getFileInfo(){return this.fileInfo}async readBuffer(t,e){const n=this.normalizeOptions(t,e),r=n.position-this.position;if(r>0)return await this.ignore(r),this.readBuffer(t,e);if(r<0)throw new Error("`options.position` must be equal or greater than `tokenizer.position`");if(0===n.length)return 0;const o=await this.streamReader.read(t,n.offset,n.length);if(this.position+=o,(!e||!e.mayBeLess)&&o0){const i=new Uint8Array(n.length+e);return r=await this.peekBuffer(i,{mayBeLess:n.mayBeLess}),t.set(i.subarray(e),n.offset),r-e}if(e<0)throw new Error("Cannot peek from a negative offset in a stream")}if(n.length>0){try{r=await this.streamReader.peek(t,n.offset,n.length);}catch(t){if(e&&e.mayBeLess&&t instanceof i.EndOfStreamError)return 0;throw t}if(!n.mayBeLess&&r{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.fromBuffer=e.fromStream=e.EndOfStreamError=void 0;const r=n(599),i=n(778);var o=n(5167);Object.defineProperty(e,"EndOfStreamError",{enumerable:!0,get:function(){return o.EndOfStreamError}}),e.fromStream=function(t,e){return e=e||{},new r.ReadStreamTokenizer(t,e)},e.fromBuffer=function(t,e){return new i.BufferTokenizer(t,e)};},6597:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.fromStream=e.fromBuffer=e.EndOfStreamError=e.fromFile=void 0;const r=n(7209),i=n(5849);var o=n(7859);Object.defineProperty(e,"fromFile",{enumerable:!0,get:function(){return o.fromFile}});var a=n(5849);Object.defineProperty(e,"EndOfStreamError",{enumerable:!0,get:function(){return a.EndOfStreamError}}),Object.defineProperty(e,"fromBuffer",{enumerable:!0,get:function(){return a.fromBuffer}}),e.fromStream=async function(t,e){if(e=e||{},t.path){const n=await r.stat(t.path);e.path=t.path,e.size=n.size;}return i.fromStream(t,e)};},3416:(t,e,n)=>{"use strict";var r=n(3085).lW;Object.defineProperty(e,"__esModule",{value:!0}),e.AnsiStringType=e.StringType=e.BufferType=e.Uint8ArrayType=e.IgnoreType=e.Float80_LE=e.Float80_BE=e.Float64_LE=e.Float64_BE=e.Float32_LE=e.Float32_BE=e.Float16_LE=e.Float16_BE=e.INT64_BE=e.UINT64_BE=e.INT64_LE=e.UINT64_LE=e.INT32_LE=e.INT32_BE=e.INT24_BE=e.INT24_LE=e.INT16_LE=e.INT16_BE=e.INT8=e.UINT32_BE=e.UINT32_LE=e.UINT24_BE=e.UINT24_LE=e.UINT16_BE=e.UINT16_LE=e.UINT8=void 0;const i=n(645);function o(t){return new DataView(t.buffer,t.byteOffset)}e.UINT8={len:1,get:(t,e)=>o(t).getUint8(e),put:(t,e,n)=>(o(t).setUint8(e,n),e+1)},e.UINT16_LE={len:2,get:(t,e)=>o(t).getUint16(e,!0),put:(t,e,n)=>(o(t).setUint16(e,n,!0),e+2)},e.UINT16_BE={len:2,get:(t,e)=>o(t).getUint16(e),put:(t,e,n)=>(o(t).setUint16(e,n),e+2)},e.UINT24_LE={len:3,get(t,e){const n=o(t);return n.getUint8(e)+(n.getUint16(e+1,!0)<<8)},put(t,e,n){const r=o(t);return r.setUint8(e,255&n),r.setUint16(e+1,n>>8,!0),e+3}},e.UINT24_BE={len:3,get(t,e){const n=o(t);return (n.getUint16(e)<<8)+n.getUint8(e+2)},put(t,e,n){const r=o(t);return r.setUint16(e,n>>8),r.setUint8(e+2,255&n),e+3}},e.UINT32_LE={len:4,get:(t,e)=>o(t).getUint32(e,!0),put:(t,e,n)=>(o(t).setUint32(e,n,!0),e+4)},e.UINT32_BE={len:4,get:(t,e)=>o(t).getUint32(e),put:(t,e,n)=>(o(t).setUint32(e,n),e+4)},e.INT8={len:1,get:(t,e)=>o(t).getInt8(e),put:(t,e,n)=>(o(t).setInt8(e,n),e+1)},e.INT16_BE={len:2,get:(t,e)=>o(t).getInt16(e),put:(t,e,n)=>(o(t).setInt16(e,n),e+2)},e.INT16_LE={len:2,get:(t,e)=>o(t).getInt16(e,!0),put:(t,e,n)=>(o(t).setInt16(e,n,!0),e+2)},e.INT24_LE={len:3,get(t,n){const r=e.UINT24_LE.get(t,n);return r>8388607?r-16777216:r},put(t,e,n){const r=o(t);return r.setUint8(e,255&n),r.setUint16(e+1,n>>8,!0),e+3}},e.INT24_BE={len:3,get(t,n){const r=e.UINT24_BE.get(t,n);return r>8388607?r-16777216:r},put(t,e,n){const r=o(t);return r.setUint16(e,n>>8),r.setUint8(e+2,255&n),e+3}},e.INT32_BE={len:4,get:(t,e)=>o(t).getInt32(e),put:(t,e,n)=>(o(t).setInt32(e,n),e+4)},e.INT32_LE={len:4,get:(t,e)=>o(t).getInt32(e,!0),put:(t,e,n)=>(o(t).setInt32(e,n,!0),e+4)},e.UINT64_LE={len:8,get:(t,e)=>o(t).getBigUint64(e,!0),put:(t,e,n)=>(o(t).setBigUint64(e,n,!0),e+8)},e.INT64_LE={len:8,get:(t,e)=>o(t).getBigInt64(e,!0),put:(t,e,n)=>(o(t).setBigInt64(e,n,!0),e+8)},e.UINT64_BE={len:8,get:(t,e)=>o(t).getBigUint64(e),put:(t,e,n)=>(o(t).setBigUint64(e,n),e+8)},e.INT64_BE={len:8,get:(t,e)=>o(t).getBigInt64(e),put:(t,e,n)=>(o(t).setBigInt64(e,n),e+8)},e.Float16_BE={len:2,get(t,e){return i.read(t,e,!1,10,this.len)},put(t,e,n){return i.write(t,n,e,!1,10,this.len),e+this.len}},e.Float16_LE={len:2,get(t,e){return i.read(t,e,!0,10,this.len)},put(t,e,n){return i.write(t,n,e,!0,10,this.len),e+this.len}},e.Float32_BE={len:4,get:(t,e)=>o(t).getFloat32(e),put:(t,e,n)=>(o(t).setFloat32(e,n),e+4)},e.Float32_LE={len:4,get:(t,e)=>o(t).getFloat32(e,!0),put:(t,e,n)=>(o(t).setFloat32(e,n,!0),e+4)},e.Float64_BE={len:8,get:(t,e)=>o(t).getFloat64(e),put:(t,e,n)=>(o(t).setFloat64(e,n),e+8)},e.Float64_LE={len:8,get:(t,e)=>o(t).getFloat64(e,!0),put:(t,e,n)=>(o(t).setFloat64(e,n,!0),e+8)},e.Float80_BE={len:10,get(t,e){return i.read(t,e,!1,63,this.len)},put(t,e,n){return i.write(t,n,e,!1,63,this.len),e+this.len}},e.Float80_LE={len:10,get(t,e){return i.read(t,e,!0,63,this.len)},put(t,e,n){return i.write(t,n,e,!0,63,this.len),e+this.len}},e.IgnoreType=class{constructor(t){this.len=t;}get(t,e){}},e.Uint8ArrayType=class{constructor(t){this.len=t;}get(t,e){return t.subarray(e,e+this.len)}},e.BufferType=class{constructor(t){this.len=t;}get(t,e){return r.from(t.subarray(e,e+this.len))}},e.StringType=class{constructor(t,e){this.len=t,this.encoding=e;}get(t,e){return r.from(t).toString(this.encoding,e,e+this.len)}};class a{constructor(t){this.len=t;}static decode(t,e,n){let r="";for(let i=e;i>10),56320+(1023&t)))}static singleByteDecoder(t){if(a.inRange(t,0,127))return t;const e=a.windows1252[t-128];if(null===e)throw Error("invaliding encoding");return e}get(t,e=0){return a.decode(t,e,e+this.len)}}e.AnsiStringType=a,a.windows1252=[8364,129,8218,402,8222,8230,8224,8225,710,8240,352,8249,338,141,381,143,144,8216,8217,8220,8221,8226,8211,8212,732,8482,353,8250,339,157,382,376,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255];},1191:function(t,e,n){"use strict";var r=n(4155),i=this&&this.__awaiter||function(t,e,n,r){return new(n||(n=Promise))((function(i,o){function a(t){try{u(r.next(t));}catch(t){o(t);}}function s(t){try{u(r.throw(t));}catch(t){o(t);}}function u(t){var e;t.done?i(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e);}))).then(a,s);}u((r=r.apply(t,e||[])).next());}))},o=this&&this.__generator||function(t,e){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(s){return function(u){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;o&&(o=0,s[0]&&(a=0)),a;)try{if(n=1,r&&(i=2&s[0]?r.return:s[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,s[1])).done)return i;switch(r=0,i&&(s=[2&s[0],i.value]),s[0]){case 0:case 1:i=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,r=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!((i=(i=a.trys).length>0&&i[i.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!i||s[1]>i[0]&&s[1]{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.BoundingBox=void 0;var r=n(5604),i=n(1375),o=function(){function t(e,n,r,i){e instanceof t?(this.minLongitude=e.minLongitude,this.maxLongitude=e.maxLongitude,this.minLatitude=e.minLatitude,this.maxLatitude=e.maxLatitude):(this.minLongitude=e,this.maxLongitude=n,this.minLatitude=r,this.maxLatitude=i);}return Object.defineProperty(t.prototype,"minLongitude",{get:function(){return this._minLongitude},set:function(t){this._minLongitude=t,this.width=this.maxLongitude-this.minLongitude;},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"maxLongitude",{get:function(){return this._maxLongitude},set:function(t){this._maxLongitude=t,this.width=this.maxLongitude-this.minLongitude;},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"minLatitude",{get:function(){return this._minLatitude},set:function(t){this._minLatitude=t,this.height=this.maxLatitude-this.minLatitude;},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"maxLatitude",{get:function(){return this._maxLatitude},set:function(t){this._maxLatitude=t,this.height=this.maxLatitude-this.minLatitude;},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"width",{get:function(){return this._width},set:function(t){this._width=t;},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"height",{get:function(){return this._height},set:function(t){this._height=t;},enumerable:!1,configurable:!0}),t.prototype.buildEnvelope=function(){return {minY:this.minLatitude,minX:this.minLongitude,maxY:this.maxLatitude,maxX:this.maxLongitude}},t.prototype.toGeoJSON=function(){return {type:"Feature",properties:{},geometry:{type:"Polygon",coordinates:[[[this.minLongitude,this.minLatitude],[this.maxLongitude,this.minLatitude],[this.maxLongitude,this.maxLatitude],[this.minLongitude,this.maxLatitude],[this.minLongitude,this.minLatitude]]]}}},t.prototype.equals=function(t){return !!t&&(this===t||this.maxLatitude===t.maxLatitude&&this.minLatitude===t.minLatitude&&this.maxLongitude===t.maxLongitude&&this.maxLatitude===t.maxLatitude)},t.prototype.projectBoundingBox=function(e,n){var o=this.minLatitude,a=this.maxLatitude,s=this.minLongitude,u=this.maxLongitude;if(e&&"undefined"!==e&&n&&"undefined"!==n){r.Projection.isWebMercator(n)&&r.Projection.isWGS84(e)&&(a=Math.min(a,i.ProjectionConstants.WEB_MERCATOR_MAX_LAT_RANGE),o=Math.max(o,i.ProjectionConstants.WEB_MERCATOR_MIN_LAT_RANGE),u=Math.min(u,i.ProjectionConstants.WEB_MERCATOR_MAX_LON_RANGE),s=Math.max(s,i.ProjectionConstants.WEB_MERCATOR_MIN_LON_RANGE));var l=void 0;l=r.Projection.isConverter(n)?n:r.Projection.getConverter(n);var c=void 0;if(c=r.Projection.isConverter(e)?e:r.Projection.getConverter(e),r.Projection.convertersMatch(l,c))return new t(s,u,o,a);var h=l.forward(c.inverse([s,o])),f=l.forward(c.inverse([u,a])),p=l.forward(c.inverse([u,o])),d=l.forward(c.inverse([s,a]));return new t(Math.min(h[0],d[0]),Math.max(f[0],p[0]),Math.min(h[1],p[1]),Math.max(f[1],p[1]))}return this},t}();e.BoundingBox=o;},3437:function(t,e){"use strict";var n=this&&this.__awaiter||function(t,e,n,r){return new(n||(n=Promise))((function(i,o){function a(t){try{u(r.next(t));}catch(t){o(t);}}function s(t){try{u(r.throw(t));}catch(t){o(t);}}function u(t){var e;t.done?i(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e);}))).then(a,s);}u((r=r.apply(t,e||[])).next());}))},r=this&&this.__generator||function(t,e){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(s){return function(u){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;o&&(o=0,s[0]&&(a=0)),a;)try{if(n=1,r&&(i=2&s[0]?r.return:s[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,s[1])).done)return i;switch(r=0,i&&(s=[2&s[0],i.value]),s[0]){case 0:case 1:i=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,r=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!((i=(i=a.trys).length>0&&i[i.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!i||s[1]>i[0]&&s[1]0&&i[i.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!i||s[1]>i[0]&&s[1]{"use strict";var r=n(3085).lW;Object.defineProperty(e,"__esModule",{value:!0}),e.CanvasUtils=void 0;var i=function(){function t(){}return t.base64toUInt8Array=function(t){for(var e=r.from(t,"base64").toString("binary"),n=e.length,i=new Uint8Array(n);n--;)i[n]=e.charCodeAt(n);return i},t}();e.CanvasUtils=i;},2807:function(t,e,n){"use strict";var r=n(3085).lW,i=this&&this.__awaiter||function(t,e,n,r){return new(n||(n=Promise))((function(i,o){function a(t){try{u(r.next(t));}catch(t){o(t);}}function s(t){try{u(r.throw(t));}catch(t){o(t);}}function u(t){var e;t.done?i(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e);}))).then(a,s);}u((r=r.apply(t,e||[])).next());}))},o=this&&this.__generator||function(t,e){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(s){return function(u){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;o&&(o=0,s[0]&&(a=0)),a;)try{if(n=1,r&&(i=2&s[0]?r.return:s[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,s[1])).done)return i;switch(r=0,i&&(s=[2&s[0],i.value]),s[0]){case 0:case 1:i=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,r=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!((i=(i=a.trys).length>0&&i[i.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!i||s[1]>i[0]&&s[1]0&&i[i.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!i||s[1]>i[0]&&s[1]0&&i[i.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!i||s[1]>i[0]&&s[1]{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Contents=void 0;var n=function(){function t(){}return t.prototype.copy=function(){var e=new t;return e.table_name=this.table_name,e.data_type=this.data_type,e.identifier=this.identifier,e.description=this.description,e.min_x=this.min_x,e.max_x=this.max_x,e.min_y=this.min_y,e.max_y=this.max_y,e.srs_id=this.srs_id,e},t.prototype.getTableName=function(){return this.table_name},t}();e.Contents=n;},6638:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);}),o=this&&this.__values||function(t){var e="function"==typeof Symbol&&Symbol.iterator,n=e&&t[e],r=0;if(n)return n.call(t);if(t&&"number"==typeof t.length)return {next:function(){return t&&r>=t.length&&(t=void 0),{value:t&&t[r++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.ContentsDao=void 0;var a=n(4115),s=n(3506),u=n(5925),l=n(1968),c=n(5897),h=n(8572),f=n(2527),p=n(9971),d=n(1375),y=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.gpkgTableName=e.TABLE_NAME,n.idColumns=[e.COLUMN_PK],n}return i(e,t),e.prototype.createObject=function(t){var e=new c.Contents;return t&&(e.table_name=t.table_name,e.data_type=t.data_type,e.identifier=t.identifier,e.description=t.description,e.last_change=t.last_change,e.min_y=t.min_y,e.max_y=t.max_y,e.min_x=t.min_x,e.max_x=t.max_x,e.srs_id=t.srs_id),e},e.prototype.getTables=function(t){var n;if(t){var r=new h.ColumnValues;r.addColumn(e.COLUMN_DATA_TYPE,t),n=this.queryForColumns("table_name",r);}else n=this.queryForColumns("table_name");for(var i=[],o=0;o0&&a.forEach((function(t){o.deleteByMultiId([t.table_name,t.zoom_level]);}));}var s=this.geoPackage.tileMatrixSetDao;if(s.isTableExists()){var u=this.getTileMatrixSet(t);null!=u&&s.deleteById(u.table_name);}break;case p.ContentsDataType.ATTRIBUTES:this.dropTableWithTableName(t.table_name);}else this.dropTableWithTableName(t.table_name);e=this.delete(t);}return e},e.prototype.deleteCascade=function(t,e){var n=this.deleteCascadeContents(t);return e&&this.dropTableWithTableName(t.table_name),n},e.prototype.deleteByIdCascade=function(t,e){var n=0;if(null!=t){var r=this.queryForId(t);null!=r?n=this.deleteCascade(r,e):e&&this.dropTableWithTableName(t);}return n},e.prototype.deleteTable=function(t){try{this.deleteByIdCascade(t,!0);}catch(e){throw new Error("Failed to delete table: "+t)}},e.TABLE_NAME="gpkg_contents",e.COLUMN_PK="table_name",e.COLUMN_TABLE_NAME="table_name",e.COLUMN_DATA_TYPE="data_type",e.COLUMN_IDENTIFIER="identifier",e.COLUMN_DESCRIPTION="description",e.COLUMN_LAST_CHANGE="last_change",e.COLUMN_MIN_X="min_x",e.COLUMN_MIN_Y="min_y",e.COLUMN_MAX_X="max_x",e.COLUMN_MAX_Y="max_y",e.COLUMN_SRS_ID="srs_id",e}(a.Dao);e.ContentsDao=y;},9971:(t,e)=>{"use strict";var n;Object.defineProperty(e,"__esModule",{value:!0}),e.ContentsDataType=void 0,(n=e.ContentsDataType||(e.ContentsDataType={})).FEATURES="features",n.TILES="tiles",n.ATTRIBUTES="attributes",function(t){t.nameFromType=function(e){return t[e]},t.fromName=function(e){var n=null;if(null!=e)switch(e.toLowerCase()){case t.FEATURES:n=t.FEATURES;break;case t.TILES:n=t.TILES;break;case t.ATTRIBUTES:n=t.ATTRIBUTES;}return n};}(e.ContentsDataType||(e.ContentsDataType={}));},341:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SpatialReferenceSystem=void 0;var r=n(5604),i=n(1375),o=function(){function t(){}return Object.defineProperty(t.prototype,"projection",{get:function(){return "NONE"===this.organization?null:!this.organization||this.organization.toUpperCase()!==i.ProjectionConstants.EPSG||this.organization_coordsys_id!==i.ProjectionConstants.EPSG_CODE_4326&&this.organization_coordsys_id!==i.ProjectionConstants.EPSG_CODE_3857?this.definition_12_063&&""!==this.definition_12_063&&"undefined"!==this.definition_12_063?r.Projection.getConverter(this.definition_12_063):this.definition&&""!==this.definition&&"undefined"!==this.definition?r.Projection.getConverter(this.definition):null:r.Projection.getEPSGConverter(this.organization_coordsys_id)},enumerable:!1,configurable:!0}),t.TABLE_NAME="gpkg_spatial_ref_sys",t}();e.SpatialReferenceSystem=o;},5965:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);});Object.defineProperty(e,"__esModule",{value:!0}),e.SpatialReferenceSystemDao=void 0;var o=n(4115),a=n(341),s=n(8572),u=n(1375),l=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.idColumns=[e.COLUMN_SRS_ID],n.gpkgTableName=e.TABLE_NAME,n}return i(e,t),e.prototype.createObject=function(t){var e=new a.SpatialReferenceSystem;return t&&(e.srs_name=t.srs_name,e.srs_id=t.srs_id,e.organization=t.organization,e.organization_coordsys_id=t.organization_coordsys_id,e.definition=t.definition,e.definition_12_063=t.definition,e.description=t.description),e},e.prototype.getAllSpatialReferenceSystems=function(){var t=[];if(null!=this.connection&&this.isTableExists()){var e=this.queryForAll();if(e&&e.length)for(var n=0;n{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ColumnValues=void 0;var n=function(){function t(){this.values={},this.columns=[];}return t.prototype.addColumn=function(t,e){this.columns.push(t),this.values[t]=e;},t.prototype.getValue=function(t){return this.values[t]},t}();e.ColumnValues=n;},4115:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Dao=void 0;var r=n(8572),i=n(8877),o=n(5042),a=function(){function t(t){this.geoPackage=t,this.connection=t.database;}return t.prototype.isTableExists=function(){return this.connection.isTableExists(this.gpkgTableName)},t.prototype.refresh=function(t){return this.queryForSameId(t)},t.prototype.queryForId=function(t){var e=this.buildPkWhere(t),n=this.buildPkWhereArgs(t),r=i.SqliteQueryBuilder.buildQuery(!1,"'"+this.gpkgTableName+"'",void 0,e),o=this.connection.get(r,n);if(o)return this.createObject(o)},t.prototype.queryForSameId=function(t){var e=this.getMultiId(t);return this.queryForMultiId(e)},t.prototype.getMultiId=function(t){for(var e=[],n=0;n{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.DataColumnConstraints=void 0;e.DataColumnConstraints=function(){};},7175:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);});Object.defineProperty(e,"__esModule",{value:!0}),e.DataColumnConstraintsDao=void 0;var o=n(4115),a=n(8590),s=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.gpkgTableName=e.TABLE_NAME,n.idColumns=[e.COLUMN_CONSTRAINT_NAME,e.COLUMN_CONSTRAINT_TYPE,e.COLUMN_VALUE],n}return i(e,t),e.prototype.createObject=function(t){var e=new a.DataColumnConstraints;return t&&(e.constraint_name=t.constraint_name,e.constraint_type=t.constraint_type,e.value=t.value,e.min=t.min,e.max=t.max,e.min_is_inclusive=t.min_is_inclusive,e.max_is_inclusive=t.max_is_inclusive,e.description=t.description),e},e.prototype.queryByConstraintName=function(t){return this.queryForEach(e.COLUMN_CONSTRAINT_NAME,t)},e.prototype.queryUnique=function(t,e,n){var r=new a.DataColumnConstraints;return r.constraint_name=t,r.constraint_type=e,r.value=n,this.queryForSameId(r)},e.TABLE_NAME="gpkg_data_column_constraints",e.COLUMN_CONSTRAINT_NAME="constraint_name",e.COLUMN_CONSTRAINT_TYPE="constraint_type",e.COLUMN_VALUE="value",e.COLUMN_MIN="min",e.COLUMN_MIN_IS_INCLUSIVE="min_is_inclusive",e.COLUMN_MAX="max",e.COLUMN_MAX_IS_INCLUSIVE="max_is_inclusive",e.COLUMN_DESCRIPTION="description",e.ENUM_TYPE="enum",e.GLOB_TYPE="glob",e.RANGE_TYPE="range",e}(o.Dao);e.DataColumnConstraintsDao=s;},8133:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.DataColumns=void 0;e.DataColumns=function(t){t=t||{},this.table_name=t.table_name,this.column_name=t.column_name,this.name=t.name,this.title=t.title,this.description=t.description,this.mime_type=t.mime_type,this.constraint_name=t.constraint_name;};},4941:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);}),o=this&&this.__values||function(t){var e="function"==typeof Symbol&&Symbol.iterator,n=e&&t[e],r=0;if(n)return n.call(t);if(t&&"number"==typeof t.length)return {next:function(){return t&&r>=t.length&&(t=void 0),{value:t&&t[r++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.DataColumnsDao=void 0;var a=n(4115),s=n(6638),u=n(8133),l=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.gpkgTableName=e.TABLE_NAME,n.idColumns=[e.COLUMN_PK1,e.COLUMN_PK2],n}return i(e,t),e.prototype.createObject=function(t){var e=new u.DataColumns;return t&&(e.table_name=t.table_name,e.column_name=t.column_name,e.name=t.name,e.title=t.title,e.description=t.description,e.mime_type=t.mime_type,e.constraint_name=t.constraint_name),e},e.prototype.getContents=function(t){return new s.ContentsDao(this.geoPackage).queryForId(t.table_name)},e.prototype.queryByConstraintName=function(t){return this.queryForEach(e.COLUMN_CONSTRAINT_NAME,t)},e.prototype.getDataColumns=function(t,n){var r,i;if(this.isTableExists()){var a,s=this.buildWhereWithFieldAndValue(e.COLUMN_TABLE_NAME,t)+" and "+this.buildWhereWithFieldAndValue(e.COLUMN_COLUMN_NAME,n),u=[t,n];try{for(var l=o(this.queryWhere(s,u)),c=l.next();!c.done;c=l.next()){var h=c.value;a=this.createObject(h);}}catch(t){r={error:t};}finally{try{c&&!c.done&&(i=l.return)&&i.call(l);}finally{if(r)throw r.error}}return a}},e.prototype.deleteByTableName=function(t){var n="";n+=this.buildWhereWithFieldAndValue(e.COLUMN_TABLE_NAME,t);var r=this.buildWhereArgs(t);return this.deleteWhere(n,r)},e.TABLE_NAME="gpkg_data_columns",e.COLUMN_PK1="table_name",e.COLUMN_PK2="column_name",e.COLUMN_TABLE_NAME="table_name",e.COLUMN_COLUMN_NAME="column_name",e.COLUMN_NAME="name",e.COLUMN_TITLE="title",e.COLUMN_DESCRIPTION="description",e.COLUMN_MIME_TYPE="mime_type",e.COLUMN_CONSTRAINT_NAME="constraint_name",e}(a.Dao);e.DataColumnsDao=l;},8314:(t,e,n)=>{"use strict";var r=n(5108);Object.defineProperty(e,"__esModule",{value:!0}),e.AlterTable=void 0;var i=n(362),o=n(5042),a=n(5329),s=n(2431),u=n(2841),l=n(1133),c=n(7043),h=n(175),f=n(8934),p=n(1078),d=n(735),y=function(){function t(){}return t.alterTableSQL=function(t){return "ALTER TABLE "+a.StringUtils.quoteWrap(t)},t.renameTable=function(e,n,r){var i=t.renameTableSQL(n,r);e.run(i);},t.renameTableSQL=function(e,n){return t.alterTableSQL(e)+" RENAME TO "+a.StringUtils.quoteWrap(n)},t.renameColumn=function(e,n,r,i){var o=t.renameColumnSQL(n,r,i);e.run(o);},t.renameColumnSQL=function(e,n,r){return t.alterTableSQL(e)+" RENAME COLUMN "+a.StringUtils.quoteWrap(n)+" TO "+a.StringUtils.quoteWrap(r)},t.addColumn=function(e,n,r,i){var o=t.addColumnSQL(n,r,i);e.run(o);},t.addColumnSQL=function(e,n,r){return t.alterTableSQL(e)+" ADD COLUMN "+a.StringUtils.quoteWrap(n)+" "+r},t.dropColumnForUserTable=function(e,n,r){t.dropColumnsForUserTable(e,n,[r]);},t.dropColumnsForUserTable=function(e,n,r){var i=n.copy();r.forEach((function(t){i.dropColumnWithName(t);}));var o=new s.TableMapping(i.getTableName(),i.getTableName(),i.getUserColumns().getColumns());r.forEach((function(t){o.addDroppedColumn(t);})),t.alterTableWithTableMapping(e,i,o),r.forEach((function(t){n.dropColumnWithName(t);}));},t.dropColumn=function(e,n,r){t.dropColumns(e,n,[r]);},t.dropColumns=function(e,n,r){var o=new i.UserCustomTableReader(n).readTable(e);t.dropColumnsForUserTable(e,o,r);},t.alterColumnForTable=function(e,n,r){t.alterColumnsForTable(e,n,[r]);},t.alterColumnsForTable=function(e,n,r){var i=n.copy();r.forEach((function(t){i.alterColumn(t);})),t.alterTable(e,i),r.forEach((function(t){n.alterColumn(t);}));},t.alterColumn=function(e,n,r){t.alterColumns(e,n,[r]);},t.alterColumns=function(e,n,r){var o=new i.UserCustomTableReader(n).readTable(e);t.alterColumnsForTable(e,o,r);},t.copyTable=function(e,n,r,i){void 0===i&&(i=!0);var o=new s.TableMapping(n.getTableName(),r,n.getUserColumns().getColumns());o.transferContent=i,t.alterTableWithTableMapping(e,n,o);},t.copyTableWithName=function(e,n,r,o){void 0===o&&(o=!0);var a=new i.UserCustomTableReader(n).readTable(e);t.copyTable(e,a,r,o);},t.alterTable=function(e,n){var r=new s.TableMapping(n.getTableName(),n.getTableName(),n.getUserColumns().getColumns());t.alterTableWithTableMapping(e,n,r);},t.alterTableWithTableMapping=function(e,n,r){n.getUserColumns().getColumns().forEach((function(t){t.clearConstraints().forEach((function(e){var n=o.CoreSQLUtils.modifySQL(null,e.name,e.buildSql(),r);null!=n&&t.addConstraint(new u.RawConstraint(e.type,l.ConstraintParser.getName(n),n));}));})),n.clearConstraints().forEach((function(t){var e=o.CoreSQLUtils.modifySQL(null,t.name,t.buildSql(),r);null!=e&&n.addConstraint(new u.RawConstraint(t.type,t.name,e));}));var i=o.CoreSQLUtils.createTableSQL(n);t.alterTableWithSQLAndTableMapping(e,i,r);},t.alterTableWithSQLAndTableMapping=function(e,n,i){var a=i.fromTable,s=i.isNewTable(),u=o.CoreSQLUtils.setForeignKeys(e,!1);e.transaction((function(){try{var l=c.SQLiteMaster.queryViewsOnTable(e,[h.SQLiteMasterColumn.NAME,h.SQLiteMasterColumn.SQL],a);if(!s)for(var y=0;y0){for(var n=[],r=0;r0&&(n=n.concat(" ")),n=n.concat(r+1).concat(": ");for(var i=e[r],a=0;a0&&(n=n.concat(", ")),n=n.concat(i.get(a));}throw new Error("Foreign Key Check Violations: "+n)}},t}();e.AlterTable=y;},5042:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.CoreSQLUtils=void 0;var r=n(5329),i=n(2431),o=n(5045),a=n(7043),s=n(1078),u=n(175),l=function(){function t(){}return t.createTableSQL=function(e){var n="";n=n.concat("CREATE TABLE ").concat(r.StringUtils.quoteWrap(e.getTableName())).concat(" (");for(var i=e.getUserColumns().getColumns(),o=0;o0&&(n=n.concat(",")),n=(n=n.concat("\n ")).concat(t.columnSQL(a));}return e.getConstraints().all().forEach((function(t){n=(n=n.concat(",\n ")).concat(t.buildSql());})),n=n.concat("\n);")},t.columnSQL=function(e){return r.StringUtils.quoteWrap(e.getName())+" "+t.columnDefinition(e)},t.columnDefinition=function(t){var e="";return e=e.concat(t.getType()),t.hasMax()&&(e=e.concat("(").concat(t.getMax().toString()).concat(")")),t.getConstraints().all().forEach((function(n){e=(e=e.concat(" ")).concat(t.buildConstraintSql(n));})),e.toString()},t.foreignKeys=function(t){var e=t.get("PRAGMA foreign_keys",null)[0];return null!=e&&e},t.setForeignKeys=function(e,n){var r=t.foreignKeys(e);if(r!==n){var i=t.foreignKeysSQL(n);e.run(i);}return r},t.foreignKeysSQL=function(t){return "PRAGMA foreign_keys = "+t},t.foreignKeyCheck=function(e){var n=t.foreignKeyCheckSQL(null);return e.all(n,null)},t.foreignKeyCheckForTable=function(e,n){var r=t.foreignKeyCheckSQL(n);return e.all(r,null)},t.foreignKeyCheckSQL=function(t){return "PRAGMA foreign_key_check"+(null!=t?"("+r.StringUtils.quoteWrap(t)+")":"")},t.integrityCheckSQL=function(){return "PRAGMA integrity_check"},t.quickCheckSQL=function(){return "PRAGMA quick_check"},t.dropTable=function(e,n){var r=t.dropTableSQL(n);e.run(r);},t.dropTableSQL=function(t){return "DROP TABLE IF EXISTS "+r.StringUtils.quoteWrap(t)},t.dropView=function(e,n){var r=t.dropViewSQL(n);e.run(r);},t.dropViewSQL=function(t){return "DROP VIEW IF EXISTS "+r.StringUtils.quoteWrap(t)},t.transferTableContentForTableMapping=function(e,n){var r=t.transferTableContentSQL(n);e.run(r);},t.transferTableContentSQL=function(t){var e="INSERT INTO ";e=(e=e.concat(r.StringUtils.quoteWrap(t.toTable))).concat(" (");var n="",i="";t.hasWhere()&&(i=i.concat(t.where));var o=t.getColumns();return t.getColumnNames().forEach((function(t){var a=t,s=o[t];n.length>0&&(e=e.concat(", "),n=n.concat(", ")),e=e.concat(r.StringUtils.quoteWrap(a)),s.hasConstantValue()?n=n.concat(s.getConstantValueAsString()):(s.hasDefaultValue()&&(n=n.concat("ifnull(")),n=n.concat(r.StringUtils.quoteWrap(s.fromColumn)),s.hasDefaultValue()&&(n=(n=(n=n.concat(",")).concat(s.getDefaultValueAsString())).concat(")"))),s.hasWhereValue()&&(i.length>0&&(i=i.concat(" AND ")),i=(i=(i=(i=(i=i.concat(r.StringUtils.quoteWrap(s.fromColumn))).concat(" ")).concat(s.whereOperator)).concat(" ")).concat(s.getWhereValueAsString()));})),e=(e=(e=(e=e.concat(") SELECT ")).concat(n)).concat(" FROM ")).concat(r.StringUtils.quoteWrap(t.fromTable)),i.length>0&&(e=(e=e.concat(" WHERE ")).concat(i)),e.toString()},t.transferTableContent=function(e,n,r,a,s,u){var l=o.TableInfo.info(e,n),c=i.TableMapping.fromTableInfo(l);null!=u&&c.removeColumn(u);var h=c.getColumn(r);h.constantValue=a,h.whereValue=s,t.transferTableContentForTableMapping(e,c);},t.tempTableName=function(t,e,n){for(var r=e+"_"+n,i=0;t.tableExists(r);)r=e+ ++i+"_"+n;return r},t.modifySQL=function(e,n,r,i){var o=r;if(null!=n&&i.isNewTable()){var a=t.createName(e,n,i.fromTable,i.toTable),s=t.replaceName(o,n,a);null!=s&&(o=s);var u=t.replaceName(o,i.fromTable,i.toTable);null!=u&&(o=u);}return t.modifySQLWithTableMapping(o,i)},t.modifySQLWithTableMapping=function(e,n){for(var r=e,i=Array.from(n.droppedColumns),o=0;o=0){for(var i=!1,o="",a=t.split(e),s=0;s<=a.length;s++){if(s>0){var u="_",l=a[s-1];0===l.length?1==s&&(u=" "):u=l.substring(l.length-1);var c="_";if(s0&&c.match("\\W").length>0?(o=o.concat(n),i=!0):o=o.concat(e);}s=0&&h+10&&(l=l.substring(0,h),c=parseInt(f));}if(o=l+"_"+ ++c,null!=e)for(;a.SQLiteMaster.count(e,null,s.SQLiteMasterQuery.createForColumnValue(u.SQLiteMasterColumn.NAME,o))>0;)o=l+"_"+ ++c;}return o},t.vacuum=function(t){t.run("VACUUM");},t.NUMBER_PATTERN="\\d+",t}();e.CoreSQLUtils=l;},4777:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Db=void 0;var n=function(){function t(){}return t.registerDbAdapter=function(e){t.adapterCreator=e;},t.create=function(e){return new t.adapterCreator(e)},t.adapterCreator=void 0,t}();e.Db=n;},5116:function(t,e,n){"use strict";var r=n(5108),i=n(3085).lW,o=this&&this.__awaiter||function(t,e,n,r){return new(n||(n=Promise))((function(i,o){function a(t){try{u(r.next(t));}catch(t){o(t);}}function s(t){try{u(r.throw(t));}catch(t){o(t);}}function u(t){var e;t.done?i(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e);}))).then(a,s);}u((r=r.apply(t,e||[])).next());}))},a=this&&this.__generator||function(t,e){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(s){return function(u){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;o&&(o=0,s[0]&&(a=0)),a;)try{if(n=1,r&&(i=2&s[0]?r.return:s[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,s[1])).done)return i;switch(r=0,i&&(s=[2&s[0],i.value]),s[0]){case 0:case 1:i=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,r=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!((i=(i=a.trys).length>0&&i[i.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!i||s[1]>i[0]&&s[1]{"use strict";var n;Object.defineProperty(e,"__esModule",{value:!0}),e.GeoPackageDataType=void 0,(n=e.GeoPackageDataType||(e.GeoPackageDataType={}))[n.BOOLEAN=0]="BOOLEAN",n[n.TINYINT=1]="TINYINT",n[n.SMALLINT=2]="SMALLINT",n[n.MEDIUMINT=3]="MEDIUMINT",n[n.INT=4]="INT",n[n.INTEGER=5]="INTEGER",n[n.FLOAT=6]="FLOAT",n[n.DOUBLE=7]="DOUBLE",n[n.REAL=8]="REAL",n[n.TEXT=9]="TEXT",n[n.BLOB=10]="BLOB",n[n.DATE=11]="DATE",n[n.DATETIME=12]="DATETIME",function(t){t.nameFromType=function(e){return t[e]},t.fromName=function(e){return t[e]},t.columnDefaultValue=function(e,n){var r=null;if(null!=e){if(null!=n)switch(n){case t.BOOLEAN:var i=null;if("boolean"==typeof e)i=e;else if("string"==typeof e)switch(e){case "0":case "false":i=!1;break;case "1":case "true":i=!0;}null!=i&&(r=i?"1":"0");break;case t.TEXT:(r=e.toString()).startsWith("'")&&r.endsWith("'")||(r="'"+r+"'");}null==r&&(r=e.toString());}return r};}(e.GeoPackageDataType||(e.GeoPackageDataType={}));},1790:function(t,e,n){"use strict";var r=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.MappedColumn=void 0;var i=n(7319),o=r(n(4293)),a=r(n(8446)),s=function(){function t(t,e,n,r){this._toColumn=t,this._fromColumn=e,this._defaultValue=n,this._dataType=r;}return Object.defineProperty(t.prototype,"toColumn",{get:function(){return this._toColumn},set:function(t){this._toColumn=t;},enumerable:!1,configurable:!0}),t.prototype.hasNewName=function(){return !(0,o.default)(this._fromColumn)&&!(0,a.default)(this._fromColumn,this._toColumn)},Object.defineProperty(t.prototype,"fromColumn",{get:function(){return this._fromColumn},set:function(t){this._fromColumn=t;},enumerable:!1,configurable:!0}),t.prototype.hasDefaultValue=function(){return !(0,o.default)(this._defaultValue)},Object.defineProperty(t.prototype,"defaultValue",{get:function(){return this._defaultValue},set:function(t){this._defaultValue=t;},enumerable:!1,configurable:!0}),t.prototype.getDefaultValueAsString=function(){return i.GeoPackageDataType.columnDefaultValue(this._defaultValue,this._dataType)},Object.defineProperty(t.prototype,"dataType",{get:function(){return this._dataType},set:function(t){this._dataType=t;},enumerable:!1,configurable:!0}),t.prototype.hasConstantValue=function(){return !(0,o.default)(this._constantValue)},Object.defineProperty(t.prototype,"constantValue",{get:function(){return this._constantValue},set:function(t){this._constantValue=t;},enumerable:!1,configurable:!0}),t.prototype.getConstantValueAsString=function(){return i.GeoPackageDataType.columnDefaultValue(this._constantValue,this._dataType)},t.prototype.hasWhereValue=function(){return !(0,o.default)(this._whereValue)},Object.defineProperty(t.prototype,"whereValue",{get:function(){return this._whereValue},set:function(t){this._whereValue=t;},enumerable:!1,configurable:!0}),t.prototype.getWhereValueAsString=function(){return i.GeoPackageDataType.columnDefaultValue(this._whereValue,this._dataType)},t.prototype.setWhereValueAndOperator=function(t,e){this._whereValue=t,this.whereOperator=e;},Object.defineProperty(t.prototype,"whereOperator",{get:function(){return (0,o.default)(this._whereOperator)?"=":this._whereOperator},set:function(t){this._whereOperator=t;},enumerable:!1,configurable:!0}),t}();e.MappedColumn=s;},7043:function(t,e,n){"use strict";var r=this&&this.__read||function(t,e){var n="function"==typeof Symbol&&t[Symbol.iterator];if(!n)return t;var r,i,o=n.call(t),a=[];try{for(;(void 0===e||e-- >0)&&!(r=o.next()).done;)a.push(r.value);}catch(t){i={error:t};}finally{try{r&&!r.done&&(n=o.return)&&n.call(o);}finally{if(i)throw i.error}}return a},i=this&&this.__spreadArray||function(t,e,n){if(n||2===arguments.length)for(var r,i=0,o=e.length;i0){this._results=t,this._count=t.length;for(var n=0;n=this._results.length){var e;throw e=0===this._results.length?"Results are empty":"Row index: "+t+", not within range 0 to "+(this._results.length-1),new Error(e)}return this._results[t]},t.getValue=function(t,e){return t[o.SQLiteMasterColumn.nameFromType(e).toLowerCase()]},t.prototype.getConstraints=function(t){var e=new s.TableConstraints;if(this.getType(t)===a.SQLiteMasterType.TABLE){var n=this.getSql(t);null!=n&&(e=u.ConstraintParser.getConstraints(n));}return e},t.count=function(e,n,r){return t.query(e,null,n,r).count()},t.query=function(e,n,s,u){var l="SELECT ",c=[];if(null!=n&&n.length>0)for(var h=0;h0&&(l=l.concat(", ")),l=l.concat(o.SQLiteMasterColumn.nameFromType(n[h]).toLowerCase());else l=l.concat("count(*) as cnt");l=(l=l.concat(" FROM ")).concat(t.TABLE_NAME);var f=null!=u&&u.has(),p=null!=s&&s.length>0;if((f||p)&&(l=l.concat(" WHERE "),f&&(l=l.concat(u.buildSQL()),c.push.apply(c,i([],r(u.getArguments()),!1))),p)){for(f&&(l=l.concat(" AND")),l=l.concat(" type IN ("),h=0;h0&&(l=l.concat(", ")),l=l.concat("?"),c.push(a.SQLiteMasterType.nameFromType(s[h]).toLowerCase());l=l.concat(")");}return new t(e.all(l,c),n)},t.queryViewsOnTable=function(e,n,r){return t.query(e,n,[a.SQLiteMasterType.VIEW],l.SQLiteMasterQuery.createTableViewQuery(r))},t.countViewsOnTable=function(e,n){return t.count(e,[a.SQLiteMasterType.VIEW],l.SQLiteMasterQuery.createTableViewQuery(n))},t.queryForConstraints=function(e,n){for(var r=new s.TableConstraints,i=t.query(e,[o.SQLiteMasterColumn.TYPE,o.SQLiteMasterColumn.NAME,o.SQLiteMasterColumn.TBL_NAME,o.SQLiteMasterColumn.ROOTPAGE,o.SQLiteMasterColumn.SQL],[a.SQLiteMasterType.TABLE],l.SQLiteMasterQuery.createForColumnValue(o.SQLiteMasterColumn.TBL_NAME,n)),u=0;u{"use strict";var n;Object.defineProperty(e,"__esModule",{value:!0}),e.SQLiteMasterColumn=void 0,(n=e.SQLiteMasterColumn||(e.SQLiteMasterColumn={}))[n.TYPE=0]="TYPE",n[n.NAME=1]="NAME",n[n.TBL_NAME=2]="TBL_NAME",n[n.ROOTPAGE=3]="ROOTPAGE",n[n.SQL=4]="SQL",function(t){t.nameFromType=function(e){return t[e]},t.fromName=function(e){return t[e]},t.asArray=function(){return [t.TYPE,t.NAME,t.TBL_NAME,t.ROOTPAGE,t.SQL]};}(e.SQLiteMasterColumn||(e.SQLiteMasterColumn={}));},1078:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SQLiteMasterQuery=void 0;var r=n(175),i=n(5329),o=function(){function t(t){this.queries=[],this.arguments=[],this.combineOperation=t;}return t.prototype.add=function(t,e,n){this.validateAdd(),this.queries.push("LOWER("+i.StringUtils.quoteWrap(r.SQLiteMasterColumn.nameFromType(t).toLowerCase())+") "+e+" LOWER(?)"),this.arguments.push(n);},t.prototype.addIsNull=function(t){this.validateAdd(),this.queries.push(i.StringUtils.quoteWrap(r.SQLiteMasterColumn.nameFromType(t).toLowerCase())+" IS NULL");},t.prototype.addIsNotNull=function(t){this.validateAdd(),this.queries.push(i.StringUtils.quoteWrap(r.SQLiteMasterColumn.nameFromType(t).toLowerCase())+" IS NOT NULL");},t.prototype.validateAdd=function(){if((null===this.combineOperation||void 0===this.combineOperation)&&0!==this.queries.length)throw new Error("Query without a combination operation supports only a single query")},t.prototype.has=function(){return 0!==this.queries.length},t.prototype.buildSQL=function(){var t="";this.queries.length>1&&(t=t.concat("( "));for(var e=0;e0&&(t=(t=(t=t.concat(" ")).concat(this.combineOperation)).concat(" ")),t=t.concat(this.queries[e]);return this.queries.length>1&&(t=t.concat(" )")),t},t.prototype.getArguments=function(){return this.arguments},t.create=function(){return new t(null)},t.createOr=function(){return new t("OR")},t.createAnd=function(){return new t("AND")},t.createForColumnValue=function(t,e){var n=this.create();return n.add(t,"=",e),n},t.createForOperationAndColumnValue=function(t,e,n){var r=this.create();return r.add(t,e,n),r},t.createOrForColumnValue=function(t,e){var n=this.createOr();return e.forEach((function(e){n.add(t,"=",e);})),n},t.createOrForOperationAndColumnValue=function(t,e,n){var r=this.createOr();return n.forEach((function(n){r.add(t,e,n);})),r},t.createAndForColumnValue=function(t,e){var n=this.createAnd();return e.forEach((function(e){n.add(t,"=",e);})),n},t.createAndForOperationAndColumnValue=function(t,e,n){var r=this.createAnd();return n.forEach((function(n){r.add(t,e,n);})),r},t.createTableViewQuery=function(e){var n=[];return n.push('%"'+e+'"%'),n.push("% "+e+" %"),n.push("%,"+e+" %"),n.push("% "+e+",%"),n.push("%,"+e+",%"),n.push("% "+e),n.push("%,"+e),t.createOrForOperationAndColumnValue(r.SQLiteMasterColumn.SQL,"LIKE",n)},t}();e.SQLiteMasterQuery=o;},8934:(t,e)=>{"use strict";var n;Object.defineProperty(e,"__esModule",{value:!0}),e.SQLiteMasterType=void 0,(n=e.SQLiteMasterType||(e.SQLiteMasterType={}))[n.TABLE=0]="TABLE",n[n.INDEX=1]="INDEX",n[n.VIEW=2]="VIEW",n[n.TRIGGER=3]="TRIGGER",function(t){t.nameFromType=function(e){return t[e]},t.fromName=function(e){return t[e]};}(e.SQLiteMasterType||(e.SQLiteMasterType={}));},922:function(t,e,n){"use strict";var r=n(5108),i=this&&this.__awaiter||function(t,e,n,r){return new(n||(n=Promise))((function(i,o){function a(t){try{u(r.next(t));}catch(t){o(t);}}function s(t){try{u(r.throw(t));}catch(t){o(t);}}function u(t){var e;t.done?i(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e);}))).then(a,s);}u((r=r.apply(t,e||[])).next());}))},o=this&&this.__generator||function(t,e){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(s){return function(u){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;o&&(o=0,s[0]&&(a=0)),a;)try{if(n=1,r&&(i=2&s[0]?r.return:s[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,s[1])).done)return i;switch(r=0,i&&(s=[2&s[0],i.value]),s[0]){case 0:case 1:i=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,r=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!((i=(i=a.trys).length>0&&i[i.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!i||s[1]>i[0]&&s[1]{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SqliteQueryBuilder=void 0;var n=function(){function t(){}return t.fixColumnName=function(t){return t.replace(/\W+/g,"_")},t.buildQuery=function(e,n,r,i,o,a,s,u,l,c){var h="";if(t.isEmpty(a)&&!t.isEmpty(s))throw new Error("Illegal Arguments: having clauses require a groupBy clause");return h+="select ",e&&(h+="distinct "),r&&r.length?h=t.appendColumnsToString(r,h):h+="* ",h+="from "+n,o&&(h+=" "+o),h=t.appendClauseToString(h," where ",i),h=t.appendClauseToString(h," group by ",a),h=t.appendClauseToString(h," having ",s),h=t.appendClauseToString(h," order by ",u),h=t.appendClauseToString(h," limit ",l),t.appendClauseToString(h," offset ",c)},t.buildCount=function(e,n){var r="select count(*) as count from "+e;return t.appendClauseToString(r," where ",n)},t.buildInsert=function(e,n){if(n.columnNames)return t.buildInsertFromColumnNames(e,n);var r="insert into "+e+" (",i="",o="",a=!0;for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&void 0!==n[s]&&(a||(i+=",",o+=","),a=!1,i+=s,o+="$"+t.fixColumnName(s));return r+(i+") values (")+o+")"},t.buildInsertFromColumnNames=function(e,n){for(var r="insert into "+e+" (",i="",o="",a=!0,s=n.columnNames,u=0;u0&&i[i.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!i||s[1]>i[0]&&s[1]=t.length&&(t=void 0),{value:t&&t[r++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},u=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.SqljsAdapter=void 0;var l=u(n(3686)),c=function(){function t(t){this.filePath=t;}return t.setSqljsWasmLocateFile=function(e){t.sqljsWasmLocateFile=e;},t.prototype.initialize=function(){var e=this;return new Promise((function(o,a){new Promise((function(e){null==t.SQL?(0,l.default)({locateFile:t.sqljsWasmLocateFile}).then((function(n){t.SQL=n,e(n);})).catch((function(t){a(t);})):e(t.SQL);})).then((function(t){if(!e.filePath||"string"!=typeof e.filePath){if(e.filePath){var s=e.filePath;return e.db=new t.Database(s),o(e)}return e.db=new t.Database,o(e)}if(void 0!==r&&r.version){var u=n(1929);if(0!==e.filePath.indexOf("http")){try{u.statSync(e.filePath);}catch(n){return e.db=new t.Database,o(e)}var l=u.readFileSync(e.filePath),c=new Uint8Array(l);return e.db=new t.Database(c),o(e)}n(8501).get(e.filePath,(function(n){if(200!==n.statusCode)return a(new Error("Unable to reach url: "+e.filePath));var r=[];n.on("data",(function(t){return r.push(t)})),n.on("end",(function(){var n=new Uint8Array(i.concat(r));e.db=new t.Database(n),o(e);}));})).on("error",(function(t){return a(t)}));}else {var h=new XMLHttpRequest;h.open("GET",e.filePath,!0),h.responseType="arraybuffer",h.onload=function(){if(200!==h.status)return a(new Error("Unable to reach url: "+e.filePath));var n=new Uint8Array(h.response);return e.db=new t.Database(n),o(e)},h.onerror=function(){return a(new Error("Error reaching url: "+e.filePath))},h.send();}})).catch((function(t){a(t);}));}))},t.prototype.close=function(){this.db.close();},t.prototype.getDBConnection=function(){return this.db},t.prototype.export=function(){return o(this,void 0,void 0,(function(){return a(this,(function(t){return [2,this.db.export()]}))}))},t.prototype.registerFunction=function(t,e){return this.db.create_function(t,e),this},t.prototype.get=function(t,e){e=e||[];var n,r=this.db.prepare(t);return r.bind(e),r.step()&&(n=r.getAsObject()),r.free(),n},t.prototype.isTableExists=function(t){var e,n=this.db.prepare("SELECT name FROM sqlite_master WHERE type='table' AND name=:name");return n.bind([t]),n.step()&&(e=n.getAsObject()),n.free(),!!e},t.prototype.all=function(t,e){var n,r,i=[],o=this.each(t,e);try{for(var a=s(o),u=a.next();!u.done;u=a.next()){var l=u.value;i.push(l);}}catch(t){n={error:t};}finally{try{u&&!u.done&&(r=a.return)&&r.call(a);}finally{if(n)throw n.error}}return i},t.prototype.each=function(t,e){var n,r=this.db.prepare(t);return r.bind(e),(n={})[Symbol.iterator]=function(){return this},n.next=function(){return r.step()?{value:r.getAsObject(),done:!1}:(r.free(),{value:void 0,done:!0})},n},t.prototype.run=function(t,e){if(e&&!(e instanceof Array))for(var n in e)e["$"+n]=e[n];this.db.run(t,e);var r,i=this.db.exec("select last_insert_rowid();");return i&&(r=i[0].values[0][0]),{lastInsertRowid:r,changes:this.db.getRowsModified()}},t.prototype.insert=function(t,e){if(e&&!(e instanceof Array))for(var n in e)e["$"+n]=e[n];var r=this.db.prepare(t,e);r.step(),r.free();var i=this.db.exec("select last_insert_rowid();");return i?i[0].values[0][0]:void 0},t.prototype.prepareStatement=function(t){return this.db.prepare(t)},t.prototype.bindAndInsert=function(t,e){if(e&&!(e instanceof Array))for(var n in e)e["$"+n]=void 0===e[n]?null:e[n];return t.run(e).lastInsertRowid},t.prototype.closeStatement=function(t){t.free();},t.prototype.delete=function(t,e){var n,r=this.db.prepare(t,e);return r.step(),n=this.db.getRowsModified(),r.free(),n},t.prototype.dropTable=function(t){var e=this.db.exec('DROP TABLE IF EXISTS "'+t+'"');return this.db.exec("VACUUM"),!!e},t.prototype.count=function(t,e,n){var r='SELECT COUNT(*) as count FROM "'+t+'"';return e&&(r+=" where "+e),this.get(r,n).count},t.prototype.transaction=function(t){this.db.exec("BEGIN TRANSACTION");try{t(),this.db.exec("COMMIT TRANSACTION");}catch(t){throw this.db.exec("ROLLBACK TRANSACTION"),t}},t.sqljsWasmLocateFile=function(t){return t},t}();e.SqljsAdapter=c;},5329:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.StringUtils=void 0;var n=function(){function t(){}return t.quoteWrap=function(t){var e=null;return null!==t&&(e=t.startsWith('"')&&t.endsWith('"')?t:'"'+t+'"'),e},t.quoteUnwrap=function(t){var e=null;return null!=t&&(e=t.startsWith('"')&&t.endsWith('"')?t.substring(1,t.length-1):t),e},t}();e.StringUtils=n;},3765:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ColumnConstraints=void 0;var r=n(7686),i=function(){function t(t){this.name=t,this.constraints=new r.Constraints;}return t.prototype.addConstraint=function(t){this.constraints.add(t);},t.prototype.addConstraints=function(t){this.constraints.addConstraints(t);},t.prototype.getConstraints=function(){return this.constraints},t.prototype.getConstraint=function(t){return t>=this.constraints.size()?null:this.constraints.get(t)},t.prototype.numConstraints=function(){return this.constraints.size()},t.prototype.addColumnConstraints=function(t){null!=t&&this.addConstraints(t.getConstraints());},t.prototype.hasConstraints=function(){return this.constraints.has()},t}();e.ColumnConstraints=i;},8007:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Constraint=void 0;var r=n(5329),i=function(){function t(t,e,n){void 0===n&&(n=Number.MAX_SAFE_INTEGER),this.type=t,this.name=e,this.order=n;}return t.prototype.buildNameSql=function(){var e="";return null!==this.name&&void 0!==this.name&&(e=t.CONSTRAINT+" "+r.StringUtils.quoteWrap(this.name)+" "),e},t.prototype.buildSql=function(){return ""},t.prototype.copy=function(){return new t(this.type,this.name)},t.prototype.getName=function(){return this.name},t.prototype.getType=function(){return this.type},t.prototype.compareTo=function(t){return this.getOrder(this.order)-this.getOrder(t.order)<=0?-1:1},t.prototype.getOrder=function(t){return null!=t?t:Number.MAX_VALUE},t.CONSTRAINT="CONSTRAINT",t}();e.Constraint=i;},1133:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ConstraintParser=void 0;var r=n(4980),i=n(3765),o=n(8007),a=n(91),s=n(2841),u=n(5329),l=function(){function t(){}return t.getConstraints=function(e){var n=new r.TableConstraints,i=-1,o=-1;if(null!=e&&(i=e.indexOf("("),o=e.lastIndexOf(")")),i>=0&&o>=0){for(var a=e.substring(i+1,o).trim(),s=0,u=0,l=0;l0&&(o=o.concat(" ")),o=o.concat(e[a]);var u=t.getName(o);return new s.RawConstraint(i,u,o)},t.getConstraint=function(e,n){var r=null,i=t.getNameAndDefinition(e),o=i[1];if(null!=o){var u,l=o.split(/\s+/)[0];null!=(u=n?a.ConstraintType.getTableType(l):a.ConstraintType.getColumnType(l))&&(r=new s.RawConstraint(u,i[0],e.trim()));}return r},t.getTableConstraint=function(e){return t.getConstraint(e,!0)},t.isTableConstraint=function(e){return null!==t.getTableConstraint(e)},t.getTableType=function(e){var n=null,r=t.getTableConstraint(e);return null!=r&&(n=r.type),n},t.isTableType=function(e,n){var r=!1,i=t.getTableType(n);return null!=i&&(r=e===i),r},t.getColumnConstraint=function(e){return t.getConstraint(e,!1)},t.isColumnConstraint=function(e){return null!=t.getColumnConstraint(e)},t.getColumnType=function(e){var n=null,r=t.getColumnConstraint(e);return null!=r&&(n=r.type),n},t.isColumnType=function(e,n){var r=!1,i=t.getColumnType(n);return null!=i&&(r=e==i),r},t.getTableOrColumnConstraint=function(e){var n=t.getTableConstraint(e);return null==n&&(n=t.getColumnConstraint(e)),n},t.isConstraint=function(e){return null!==t.getTableOrColumnConstraint(e)},t.getType=function(e){var n=null,r=t.getTableOrColumnConstraint(e);return null!=r&&(n=r.getType()),n},t.isType=function(e,n){var r=!1,i=t.getType(n);return null!=i&&(r=e===i),r},t.getName=function(e){var n=null,r=t.NAME_PATTERN(e);return null!==r&&r.length>t.NAME_PATTERN_NAME_GROUP&&(n=u.StringUtils.quoteUnwrap(r[t.NAME_PATTERN_NAME_GROUP])),n},t.getNameAndDefinition=function(e){var n=[null,e],r=t.CONSTRAINT_PATTERN(e.trim());if(null!==r&&r.length>t.CONSTRAINT_PATTERN_DEFINITION_GROUP){var i=u.StringUtils.quoteUnwrap(r[t.CONSTRAINT_PATTERN_NAME_GROUP]);null!=i&&(i=i.trim());var o=r[t.CONSTRAINT_PATTERN_DEFINITION_GROUP];null!=o&&(o=o.trim()),n=[i,o];}return n},t.NAME_PATTERN=function(t){return t.match(/CONSTRAINT\s+("[\s\S]+"|\S+)\s/i)},t.NAME_PATTERN_NAME_GROUP=1,t.CONSTRAINT_PATTERN=function(t){return t.match(/(CONSTRAINT\s+("[\s\S]+"|\S+)\s)?([\s\S]*)/i)},t.CONSTRAINT_PATTERN_NAME_GROUP=2,t.CONSTRAINT_PATTERN_DEFINITION_GROUP=3,t}();e.ConstraintParser=l;},91:(t,e)=>{"use strict";var n;Object.defineProperty(e,"__esModule",{value:!0}),e.ConstraintType=void 0,(n=e.ConstraintType||(e.ConstraintType={}))[n.PRIMARY_KEY=0]="PRIMARY_KEY",n[n.UNIQUE=1]="UNIQUE",n[n.CHECK=2]="CHECK",n[n.FOREIGN_KEY=3]="FOREIGN_KEY",n[n.NOT_NULL=4]="NOT_NULL",n[n.DEFAULT=5]="DEFAULT",n[n.COLLATE=6]="COLLATE",n[n.AUTOINCREMENT=7]="AUTOINCREMENT",function(t){t.nameFromType=function(e){return t[e]},t.fromName=function(e){return t[e]},t.TABLE_CONSTRAINTS=new Set([t.PRIMARY_KEY,t.UNIQUE,t.CHECK,t.FOREIGN_KEY]),t.COLUMN_CONSTRAINTS=new Set([t.PRIMARY_KEY,t.NOT_NULL,t.UNIQUE,t.CHECK,t.DEFAULT,t.COLLATE,t.FOREIGN_KEY,t.AUTOINCREMENT]);var e=new Map;Array.from(t.TABLE_CONSTRAINTS).forEach((function(t){r(e,t);}));var n=new Map;function r(e,n){var r=t.nameFromType(n),i=r.split("_");e.set(i[0],n),i.length>0&&e.set(r.replace("_"," "),n);}function i(t){return e.get(t.toUpperCase())}function o(t){return n.get(t.toUpperCase())}Array.from(t.COLUMN_CONSTRAINTS).forEach((function(t){r(n,t);})),t.getTableType=i,t.getColumnType=o,t.getType=function(t){var e=i(t);return null==e&&(e=o(t)),e};}(e.ConstraintType||(e.ConstraintType={}));},7686:function(t,e,n){"use strict";var r=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.Constraints=void 0;var i=r(n(1159)),o=function(){function t(){this.constraints=[],this.typedConstraints={};}return t.prototype.add=function(t){var e=this.constraints.map((function(t){return t.order})).lastIndexOf(t.order),n=e+1;-1===e&&(n=(0,i.default)(this.constraints.map((function(t){return t.order})),t.order)),n===this.constraints.length?this.constraints.push(t):this.constraints.splice(n,0,t),null!==this.typedConstraints[t.getType()]&&void 0!==this.typedConstraints[t.getType()]||(this.typedConstraints[t.getType()]=[]),this.typedConstraints[t.getType()].push(t);},t.prototype.addConstraintArray=function(t){for(var e=0;e0},t.prototype.hasType=function(t){return 0!==this.getConstraintsForType(t).length},t.prototype.all=function(){return this.constraints},t.prototype.get=function(t){return this.constraints[t]},t.prototype.getConstraintsForType=function(t){var e=this.typedConstraints[t];return null==e&&(e=[]),e},t.prototype.clear=function(){var t=this.constraints.slice();return this.constraints=[],this.typedConstraints={},t},t.prototype.clearConstraintsByType=function(t){var e=this.typedConstraints[t];return delete this.typedConstraints[t],null===e?e=[]:0===e.length&&(this.constraints=this.constraints.filter((function(e){return e.getType()!==t}))),e},t.prototype.copy=function(){var e=new t;return e.addConstraints(this),e},t.prototype.size=function(){return this.constraints.length},t}();e.Constraints=o;},2841:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);});Object.defineProperty(e,"__esModule",{value:!0}),e.RawConstraint=void 0;var o=n(8007),a=function(t){function e(e,n,r,i){void 0===i&&(i=null);var o=t.call(this,e,n,i)||this;return o.sql=r,o}return i(e,t),e.prototype.buildSql=function(){var t=this.sql;return t.toUpperCase().startsWith(o.Constraint.CONSTRAINT)||(t=this.buildNameSql()+t),t},e}(o.Constraint);e.RawConstraint=a;},4033:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TableColumn=void 0;var n=function(){function t(t,e,n,r,i,o,a,s,u,l){this.index=t,this.name=e,this.type=n,this.dataType=r,this.max=i,this.notNull=o,this.defaultValueString=a,this.defaultValue=s,this.primaryKey=u,this.autoincrement=l;}return t.prototype.getIndex=function(){return this.index},t.prototype.getName=function(){return this.name},t.prototype.getType=function(){return this.type},t.prototype.getDataType=function(){return this.dataType},t.prototype.isDataType=function(t){return this.dataType===t},t.prototype.getMax=function(){return this.max},t.prototype.isNotNull=function(){return this.notNull},t.prototype.getDefaultValueString=function(){return this.defaultValueString},t.prototype.getDefaultValue=function(){return this.defaultValue},t.prototype.isPrimaryKey=function(){return this.primaryKey},t.prototype.isAutoIncrement=function(){return this.autoincrement},t}();e.TableColumn=n;},4980:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TableConstraints=void 0;var r=n(3765),i=n(7686),o=function(){function t(){this.constraints=new i.Constraints,this.columnConstraints={};}return t.prototype.addTableConstraint=function(t){this.constraints.add(t);},t.prototype.addTableConstraints=function(t){this.constraints.addConstraints(t);},t.prototype.getTableConstraints=function(){return this.constraints},t.prototype.getTableConstraint=function(t){return t>=this.constraints.size()?null:this.constraints.get(t)},t.prototype.numTableConstraints=function(){return this.constraints.size()},t.prototype.addColumnConstraint=function(t,e){this.getOrCreateColumnConstraints(t).addConstraint(e);},t.prototype.addConstraints=function(t,e){this.getOrCreateColumnConstraints(t).addConstraints(e);},t.prototype.addColumnConstraints=function(t){this.getOrCreateColumnConstraints(t.name).addColumnConstraints(t);},t.prototype.getOrCreateColumnConstraints=function(t){var e=this.columnConstraints[t];return null==e&&(e=new r.ColumnConstraints(t),this.columnConstraints[t]=e),e},t.prototype.addColumnConstraintsMap=function(t){var e=this;t.forEach((function(t){e.addColumnConstraints(t);}));},t.prototype.getColumnConstraintsMap=function(){return this.columnConstraints},t.prototype.getColumnsWithConstraints=function(){return Array.from(Object.keys(this.columnConstraints))},t.prototype.getColumnConstraints=function(t){return this.columnConstraints[t]},t.prototype.getColumnConstraint=function(t,e){var n=null,r=this.getColumnConstraints(t);return null!=r&&(n=r.getConstraint(e)),n},t.prototype.numColumnConstraints=function(t){var e=0,n=this.getColumnConstraints(t);return null!=n&&(e=n.numConstraints()),e},t.prototype.addAllConstraints=function(t){null!=t&&(this.addTableConstraints(t.getTableConstraints()),this.addColumnConstraintsMap(t.getColumnConstraintsMap()));},t.prototype.hasConstraints=function(){return this.hasTableConstraints()||this.hasColumnConstraints()},t.prototype.hasTableConstraints=function(){return this.constraints.has()},t.prototype.hasColumnConstraints=function(){return Object.keys(this.columnConstraints).length>0},t.prototype.hasColumnConstraintsForColumn=function(t){return this.numColumnConstraints(t)>0},t}();e.TableConstraints=o;},5045:(t,e,n)=>{"use strict";var r=n(5108);Object.defineProperty(e,"__esModule",{value:!0}),e.TableInfo=void 0;var i=n(4033),o=n(7319),a=n(9211),s=n(7043),u=n(175),l=n(5329),c=function(){function t(t,e){var n=this;this.namesToColumns=new Map,this.primaryKeys=[],this.tableName=t,this.columns=e,e.forEach((function(t){n.namesToColumns.set(t.getName(),t),t.isPrimaryKey()&&n.primaryKeys.push(t);}));}return t.prototype.getTableName=function(){return this.tableName},t.prototype.numColumns=function(){return this.columns.length},t.prototype.getColumns=function(){return this.columns.slice()},t.prototype.getColumnAtIndex=function(t){if(t<0||t>=this.columns.length)throw new Error("Column index: "+t+", not within range 0 to "+(this.columns.length-1));return this.columns[t]},t.prototype.hasColumn=function(t){return null!==this.getColumn(t)&&void 0!==this.getColumn(t)},t.prototype.getColumn=function(t){return this.namesToColumns.get(t)},t.prototype.hasPrimaryKey=function(){return 0!==this.primaryKeys.length},t.prototype.getPrimaryKeys=function(){return this.primaryKeys.slice()},t.prototype.getPrimaryKey=function(){var t=null;return this.hasPrimaryKey()&&(t=this.primaryKeys[0]),t},t.info=function(e,n){var o="PRAGMA table_info("+l.StringUtils.quoteWrap(n)+")",a=e.all(o,null),c=[];a.forEach((function(o){var a=o.cid,l=o.name,h=o.type,f=1===o.notnull,p=o.dflt_value,d=1===o.pk,y=!1;d&&(y=1===e.all("SELECT tbl_name FROM "+s.SQLiteMaster.TABLE_NAME+" WHERE "+u.SQLiteMasterColumn.nameFromType(u.SQLiteMasterColumn.TBL_NAME)+"=? AND "+u.SQLiteMasterColumn.nameFromType(u.SQLiteMasterColumn.SQL)+" LIKE ?",[n,"%AUTOINCREMENT%"]).length);var m=null;if(null!=h&&h.endsWith(")")){var g=h.indexOf("(");if(g>-1){var _=h.substring(g+1,h.length-1);if(0!==_.length)try{m=parseInt(_),h=h.substring(0,g);}catch(t){r.error(t);}}}var b=t.getDataType(h),v=void 0;o.dflt_value&&(v=o.dflt_value.replace(/\\'/g,""));var T=new i.TableColumn(a,l,h,b,m,f,p,v,d,y);c.push(T);}));var h=null;return 0!==c.length&&(h=new t(n,c)),h},t.getDataType=function(t){var e=o.GeoPackageDataType.fromName(t);null==e&&(null!=a.GeometryType.fromName(t)&&(e=o.GeoPackageDataType.BLOB));return e},t.CID="cid",t.NAME="name",t.TYPE="type",t.NOT_NULL="notnull",t.DFLT_VALUE="dflt_value",t.PK="pk",t.DEFAULT_NULL="NULL",t}();e.TableInfo=c;},1648:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);}),o=this&&this.__read||function(t,e){var n="function"==typeof Symbol&&t[Symbol.iterator];if(!n)return t;var r,i,o=n.call(t),a=[];try{for(;(void 0===e||e-- >0)&&!(r=o.next()).done;)a.push(r.value);}catch(t){i={error:t};}finally{try{r&&!r.done&&(n=o.return)&&n.call(o);}finally{if(i)throw i.error}}return a},a=this&&this.__spreadArray||function(t,e,n){if(n||2===arguments.length)for(var r,i=0,o=e.length;i0&&(t=t.concat(", ")),t=t.concat(r.getName());}return t.concat(")")},e.prototype.copy=function(){return new(e.bind.apply(e,a([void 0,this.name],o(this.columns),!1)))},e.prototype.add=function(){for(var t=this,e=[],n=0;n{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TableCreator=void 0;var r=n(5965),i=n(5042),o=function(){function t(t){this.geopackage=t,this.connection=t.database;}return t.prototype.createRequired=function(){var t=new r.SpatialReferenceSystemDao(this.geopackage);return this.createSpatialReferenceSystem(),this.createContents(),t.createUndefinedGeographic(),t.createWgs84(),t.createUndefinedCartesian(),t.createWebMercator(),!0},t.prototype.createSpatialReferenceSystem=function(){return this.createTable("spatial_reference_system")},t.prototype.createContents=function(){return this.createTable("contents")},t.prototype.createGeometryColumns=function(){return this.createTable("geometry_columns")},t.prototype.createTileMatrixSet=function(){return this.createTable("tile_matrix_set")},t.prototype.createTileMatrix=function(){return this.createTable("tile_matrix")},t.prototype.createDataColumns=function(){return this.createTable("data_columns")},t.prototype.createDataColumnConstraints=function(){return this.createTable("data_column_constraints")},t.prototype.createMetadata=function(){return this.createTable("metadata")},t.prototype.createMetadataReference=function(){return this.createTable("metadata_reference")},t.prototype.createExtensions=function(){return this.createTable("extensions")},t.prototype.createTableIndex=function(){return this.createTable("table_index")},t.prototype.createGeometryIndex=function(){return this.createTable("geometry_index")},t.prototype.createFeatureTileLink=function(){return this.createTable("feature_tile_link")},t.prototype.createExtendedRelations=function(){return this.createTable("extended_relations")},t.prototype.createContentsId=function(){return this.createTable("contents_id")},t.prototype.createTileScaling=function(){return this.createTable("tile_scaling")},t.prototype.createTable=function(e){for(var n=!0,r=t.tableCreationScripts[e],i=0;i 0);END","CREATE TRIGGER 'gpkg_tile_matrix_pixel_x_size_update'BEFORE UPDATE OF pixel_x_size ON 'gpkg_tile_matrix'FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'update on table ''gpkg_tile_matrix'' violates constraint: pixel_x_size must be greater than 0')WHERE NOT (NEW.pixel_x_size > 0);END","CREATE TRIGGER 'gpkg_tile_matrix_pixel_y_size_insert'BEFORE INSERT ON 'gpkg_tile_matrix'FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'insert on table ''gpkg_tile_matrix'' violates constraint: pixel_y_size must be greater than 0')WHERE NOT (NEW.pixel_y_size > 0);END","CREATE TRIGGER 'gpkg_tile_matrix_pixel_y_size_update'BEFORE UPDATE OF pixel_y_size ON 'gpkg_tile_matrix'FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'update on table ''gpkg_tile_matrix'' violates constraint: pixel_y_size must be greater than 0')WHERE NOT (NEW.pixel_y_size > 0);END"],data_columns:["CREATE TABLE gpkg_data_columns ( table_name TEXT NOT NULL, column_name TEXT NOT NULL, name TEXT, title TEXT, description TEXT, mime_type TEXT, constraint_name TEXT, CONSTRAINT pk_gdc PRIMARY KEY (table_name, column_name), CONSTRAINT gdc_tn UNIQUE (table_name, name))"],data_column_constraints:['CREATE TABLE gpkg_data_column_constraints ( constraint_name TEXT NOT NULL, constraint_type TEXT NOT NULL, /* "range" | "enum" | "glob" */ value TEXT, min NUMERIC, min_is_inclusive BOOLEAN, /* 0 = false, 1 = true */ max NUMERIC, max_is_inclusive BOOLEAN, /* 0 = false, 1 = true */ description TEXT, CONSTRAINT gdcc_ntv UNIQUE (constraint_name, constraint_type, value))'],metadata:['CREATE TABLE gpkg_metadata ( id INTEGER CONSTRAINT m_pk PRIMARY KEY ASC NOT NULL, md_scope TEXT NOT NULL DEFAULT "dataset", md_standard_uri TEXT NOT NULL, mime_type TEXT NOT NULL DEFAULT "text/xml", metadata TEXT NOT NULL)',"CREATE TRIGGER 'gpkg_metadata_md_scope_insert' BEFORE INSERT ON 'gpkg_metadata' FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'insert on table gpkg_metadata violates constraint: md_scope must be one of undefined | fieldSession | collectionSession | series | dataset | featureType | feature | attributeType | attribute | tile | model | catalogue | schema | taxonomy software | service | collectionHardware | nonGeographicDataset | dimensionGroup') WHERE NOT(NEW.md_scope IN ('undefined','fieldSession','collectionSession','series','dataset', 'featureType','feature','attributeType','attribute','tile','model', 'catalogue','schema','taxonomy','software','service', 'collectionHardware','nonGeographicDataset','dimensionGroup')); END","CREATE TRIGGER 'gpkg_metadata_md_scope_update' BEFORE UPDATE OF 'md_scope' ON 'gpkg_metadata' FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'update on table gpkg_metadata violates constraint: md_scope must be one of undefined | fieldSession | collectionSession | series | dataset | featureType | feature | attributeType | attribute | tile | model | catalogue | schema | taxonomy software | service | collectionHardware | nonGeographicDataset | dimensionGroup') WHERE NOT(NEW.md_scope IN ('undefined','fieldSession','collectionSession','series','dataset', 'featureType','feature','attributeType','attribute','tile','model', 'catalogue','schema','taxonomy','software','service', 'collectionHardware','nonGeographicDataset','dimensionGroup')); END"],metadata_reference:["CREATE TABLE gpkg_metadata_reference ( reference_scope TEXT NOT NULL, table_name TEXT, column_name TEXT, row_id_value INTEGER, timestamp DATETIME NOT NULL DEFAULT (strftime('%Y-%m-%dT%H:%M:%fZ','now')), md_file_id INTEGER NOT NULL, md_parent_id INTEGER, CONSTRAINT crmr_mfi_fk FOREIGN KEY (md_file_id) REFERENCES gpkg_metadata(id), CONSTRAINT crmr_mpi_fk FOREIGN KEY (md_parent_id) REFERENCES gpkg_metadata(id))","CREATE TRIGGER 'gpkg_metadata_reference_reference_scope_insert' BEFORE INSERT ON 'gpkg_metadata_reference' FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'insert on table gpkg_metadata_reference violates constraint: reference_scope must be one of \"geopackage\", table\", \"column\", \"row\", \"row/col\"') WHERE NOT NEW.reference_scope IN ('geopackage','table','column','row','row/col'); END","CREATE TRIGGER 'gpkg_metadata_reference_reference_scope_update' BEFORE UPDATE OF 'reference_scope' ON 'gpkg_metadata_reference' FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'update on table gpkg_metadata_reference violates constraint: referrence_scope must be one of \"geopackage\", \"table\", \"column\", \"row\", \"row/col\"') WHERE NOT NEW.reference_scope IN ('geopackage','table','column','row','row/col'); END","CREATE TRIGGER 'gpkg_metadata_reference_column_name_insert' BEFORE INSERT ON 'gpkg_metadata_reference' FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'insert on table gpkg_metadata_reference violates constraint: column name must be NULL when reference_scope is \"geopackage\", \"table\" or \"row\"') WHERE (NEW.reference_scope IN ('geopackage','table','row') AND NEW.column_name IS NOT NULL); SELECT RAISE(ABORT, 'insert on table gpkg_metadata_reference violates constraint: column name must be defined for the specified table when reference_scope is \"column\" or \"row/col\"') WHERE (NEW.reference_scope IN ('column','row/col') AND NOT NEW.table_name IN ( SELECT name FROM SQLITE_MASTER WHERE type = 'table' AND name = NEW.table_name AND sql LIKE ('%' || NEW.column_name || '%'))); END","CREATE TRIGGER 'gpkg_metadata_reference_column_name_update' BEFORE UPDATE OF column_name ON 'gpkg_metadata_reference' FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'update on table gpkg_metadata_reference violates constraint: column name must be NULL when reference_scope is \"geopackage\", \"table\" or \"row\"') WHERE (NEW.reference_scope IN ('geopackage','table','row') AND NEW.column_nameIS NOT NULL); SELECT RAISE(ABORT, 'update on table gpkg_metadata_reference violates constraint: column name must be defined for the specified table when reference_scope is \"column\" or \"row/col\"') WHERE (NEW.reference_scope IN ('column','row/col') AND NOT NEW.table_name IN ( SELECT name FROM SQLITE_MASTER WHERE type = 'table' AND name = NEW.table_name AND sql LIKE ('%' || NEW.column_name || '%'))); END","CREATE TRIGGER 'gpkg_metadata_reference_row_id_value_insert' BEFORE INSERT ON 'gpkg_metadata_reference' FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'insert on table gpkg_metadata_reference violates constraint: row_id_value must be NULL when reference_scope is \"geopackage\", \"table\" or \"column\"') WHERE NEW.reference_scope IN ('geopackage','table','column') AND NEW.row_id_value IS NOT NULL; END ","CREATE TRIGGER 'gpkg_metadata_reference_row_id_value_update' BEFORE UPDATE OF 'row_id_value' ON 'gpkg_metadata_reference' FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'update on table gpkg_metadata_reference violates constraint: row_id_value must be NULL when reference_scope is \"geopackage\", \"table\" or \"column\"') WHERE NEW.reference_scope IN ('geopackage','table','column') AND NEW.row_id_value IS NOT NULL; END","CREATE TRIGGER 'gpkg_metadata_reference_timestamp_insert' BEFORE INSERT ON 'gpkg_metadata_reference' FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'insert on table gpkg_metadata_reference violates constraint: timestamp must be a valid time in ISO 8601 \"yyyy-mm-ddThh:mm:ss.cccZ\" form') WHERE NOT (NEW.timestamp GLOB '[1-2][0-9][0-9][0-9]-[0-1][0-9]-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9].[0-9][0-9][0-9]Z' AND strftime('%s',NEW.timestamp) NOT NULL); END","CREATE TRIGGER 'gpkg_metadata_reference_timestamp_update' BEFORE UPDATE OF 'timestamp' ON 'gpkg_metadata_reference' FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'update on table gpkg_metadata_reference violates constraint: timestamp must be a valid time in ISO 8601 \"yyyy-mm-ddThh:mm:ss.cccZ\" form') WHERE NOT (NEW.timestamp GLOB '[1-2][0-9][0-9][0-9]-[0-1][0-9]-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9].[0-9][0-9][0-9]Z' AND strftime('%s',NEW.timestamp) NOT NULL); END "],extensions:["CREATE TABLE gpkg_extensions ( table_name TEXT, column_name TEXT, extension_name TEXT NOT NULL, definition TEXT NOT NULL, scope TEXT NOT NULL, CONSTRAINT ge_tce UNIQUE (table_name, column_name, extension_name))"],table_index:["CREATE TABLE nga_table_index ( table_name TEXT NOT NULL PRIMARY KEY, last_indexed DATETIME)"],geometry_index:["CREATE TABLE nga_geometry_index ( table_name TEXT NOT NULL, geom_id INTEGER NOT NULL, min_x DOUBLE NOT NULL, max_x DOUBLE NOT NULL, min_y DOUBLE NOT NULL, max_y DOUBLE NOT NULL, min_z DOUBLE, max_z DOUBLE, min_m DOUBLE, max_m DOUBLE, CONSTRAINT pk_ngi PRIMARY KEY (table_name, geom_id), CONSTRAINT fk_ngi_nti_tn FOREIGN KEY (table_name) REFERENCES nga_table_index(table_name))"],feature_tile_link:["CREATE TABLE nga_feature_tile_link ( feature_table_name TEXT NOT NULL, tile_table_name TEXT NOT NULL, CONSTRAINT pk_nftl PRIMARY KEY (feature_table_name, tile_table_name))"],extended_relations:["CREATE TABLE gpkgext_relations ( id INTEGER PRIMARY KEY AUTOINCREMENT, base_table_name TEXT NOT NULL, base_primary_column TEXT NOT NULL DEFAULT 'id', related_table_name TEXT NOT NULL, related_primary_column TEXT NOT NULL DEFAULT 'id', relation_name TEXT NOT NULL, mapping_table_name TEXT NOT NULL UNIQUE)"],contents_id:["CREATE TABLE nga_contents_id ( id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, table_name TEXT NOT NULL, CONSTRAINT uk_nci_table_name UNIQUE (table_name), CONSTRAINT fk_nci_gc_tn FOREIGN KEY (table_name) REFERENCES gpkg_contents(table_name))"],tile_scaling:["CREATE TABLE nga_tile_scaling ( table_name TEXT PRIMARY KEY NOT NULL, scaling_type TEXT NOT NULL, zoom_in INTEGER, zoom_out INTEGER, CONSTRAINT fk_nts_gtms_tn FOREIGN KEY (table_name) REFERENCES gpkg_tile_matrix_set (table_name), CHECK (scaling_type in ('in','out','in_out','out_in','closest_in_out','closest_out_in')))"]},t}();e.TableCreator=o;},2431:function(t,e,n){"use strict";var r=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.TableMapping=void 0;var i=r(n(4293)),o=r(n(8446)),a=r(n(3674)),s=r(n(2628)),u=n(1790),l=function(){function t(t,e,n){var r=this;this._transferContent=!0,this._columns={},this._droppedColumns=new Set,this._fromTable=t,this._toTable=e,n.forEach((function(t){r.addMappedColumn(new u.MappedColumn(t.name,t.name,t.defaultValue,t.dataType));}));}return t.fromTableInfo=function(e){var n=new t(e.getTableName(),e.getTableName(),[]);return e.getColumns().forEach((function(t){n.addMappedColumn(new u.MappedColumn(t.getName(),t.getName(),t.getDefaultValue(),t.getDataType()));})),n},Object.defineProperty(t.prototype,"fromTable",{get:function(){return this._fromTable},set:function(t){this._fromTable=t;},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"toTable",{get:function(){return this._toTable},set:function(t){this._toTable=t;},enumerable:!1,configurable:!0}),t.prototype.isNewTable=function(){return !(0,i.default)(this._toTable)&&!(0,o.default)(this._toTable,this._fromTable)},t.prototype.isTransferContent=function(){return this._transferContent},Object.defineProperty(t.prototype,"transferContent",{set:function(t){this._transferContent=t;},enumerable:!1,configurable:!0}),t.prototype.addMappedColumn=function(t){this._columns[t.toColumn]=t;},t.prototype.addColumnWithName=function(t){this._columns[t]=new u.MappedColumn(t,null,null,null);},t.prototype.removeColumn=function(t){var e=this._columns[t];return delete this._columns[t],e},t.prototype.getColumnNames=function(){return (0,a.default)(this._columns)},t.prototype.getColumns=function(){return this._columns},t.prototype.getMappedColumns=function(){return (0,s.default)(this._columns)},t.prototype.getColumn=function(t){return this._columns[t]},t.prototype.addDroppedColumn=function(t){this._droppedColumns.add(t);},t.prototype.removeDroppedColumn=function(t){return this._droppedColumns.delete(t)},Object.defineProperty(t.prototype,"droppedColumns",{get:function(){return this._droppedColumns},enumerable:!1,configurable:!0}),t.prototype.isDroppedColumn=function(t){return this._droppedColumns.has(t)},t.prototype.hasWhere=function(){return !(0,i.default)(this._where)},Object.defineProperty(t.prototype,"where",{get:function(){return this._where},set:function(t){this._where=t;},enumerable:!1,configurable:!0}),t}();e.TableMapping=l;},8140:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.BaseExtension=void 0;var r=n(624),i=function(){function t(t){this.geoPackage=t,this.connection=t.connection,this.extensionsDao=t.extensionDao;}return t.prototype.getOrCreate=function(t,e,n,r,i){var o=this.getExtension(t,e,n);return o.length?o[0]:(this.extensionsDao.createTable(),this.createExtension(t,e,n,r,i),this.getExtension(t,e,n)[0])},t.prototype.getExtension=function(t,e,n){return this.extensionsDao.isTableExists()?this.extensionsDao.queryByExtensionAndTableNameAndColumnName(t,e,n):[]},t.prototype.hasExtension=function(t,e,n){return !!this.getExtension(t,e,n).length},t.prototype.hasExtensions=function(t){return 0!==this.extensionsDao.queryAllByExtension(t).length},t.prototype.createExtension=function(t,e,n,i,o){var a=new r.Extension;return a.table_name=e,a.column_name=n,a.extension_name=t,a.definition=i,a.scope=o,this.extensionsDao.create(a)},t}();e.BaseExtension=i;},4650:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ContentsId=void 0;e.ContentsId=function(){};},7092:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);});Object.defineProperty(e,"__esModule",{value:!0}),e.ContentsIdDao=void 0;var o=n(4115),a=n(4650),s=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.gpkgTableName=e.TABLE_NAME,n.idColumns=["id"],n}return i(e,t),e.prototype.createObject=function(t){var e=new a.ContentsId;return t&&(e.id=t.id,e.table_name=t.table_name),e},e.prototype.createTable=function(){return this.geoPackage.getTableCreator().createContentsId()},e.prototype.getTableNames=function(){for(var t=[],e=this.queryForColumns("table_name"),n=0;n0?n[0]:null},e.prototype.deleteByTableName=function(t){return this.deleteWhere(this.buildWhereWithFieldAndValue(e.COLUMN_TABLE_NAME,t),this.buildWhereArgs(t))},e.TABLE_NAME="nga_contents_id",e.COLUMN_ID="id",e.COLUMN_TABLE_NAME="table_name",e}(o.Dao);e.ContentsIdDao=s;},1314:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);});Object.defineProperty(e,"__esModule",{value:!0}),e.ContentsIdExtension=void 0;var o=n(8140),a=n(624),s=n(7092),u=n(6638),l=function(t){function e(e){var n=t.call(this,e)||this;return n.contentsIdDao=e.contentsIdDao,n}return i(e,t),e.prototype.getOrCreateExtension=function(){var t=this.getOrCreate(e.EXTENSION_NAME,null,null,e.EXTENSION_DEFINITION,a.Extension.READ_WRITE);return this.contentsIdDao.createTable(),t},Object.defineProperty(e.prototype,"dao",{get:function(){return this.contentsIdDao},enumerable:!1,configurable:!0}),e.prototype.has=function(){return this.hasExtension(e.EXTENSION_NAME,null,null)&&this.contentsIdDao.isTableExists()},e.prototype.get=function(t){var e=null;return t&&t.table_name&&(e=this.getByTableName(t.table_name)),e},e.prototype.getByTableName=function(t){var e=null;return this.contentsIdDao.isTableExists()&&(e=this.contentsIdDao.queryForTableName(t)),e},e.prototype.getId=function(t){var e=null;return t&&t.table_name&&(e=this.getIdByTableName(t.table_name)),e},e.prototype.getIdByTableName=function(t){var e=null;if(this.contentsIdDao.isTableExists()){var n=this.contentsIdDao.queryForTableName(t);n&&(e=n.id);}return e},e.prototype.create=function(t){var e=null;return t&&t.table_name&&(e=this.createWithTableName(t.table_name)),e},e.prototype.createWithTableName=function(t){var e=this.contentsIdDao.createObject();return e.table_name=t,e.id=this.contentsIdDao.create(e),e},e.prototype.createId=function(t){var e=null;return t&&t.table_name&&(e=this.createIdWithTableName(t.table_name)),e},e.prototype.createIdWithTableName=function(t){return this.createWithTableName(t)},e.prototype.getOrCreateId=function(t){var e=null;return t&&t.table_name&&(e=this.getOrCreateIdByTableName(t.table_name)),e},e.prototype.getOrCreateIdByTableName=function(t){var e=this.getByTableName(t);return null==e&&(e=this.createWithTableName(t)),e},e.prototype.deleteId=function(t){var e=0;return t&&t.table_name&&(e=this.deleteIdByTableName(t.table_name)),e},e.prototype.deleteIdByTableName=function(t){return this.contentsIdDao.deleteByTableName(t)},e.prototype.count=function(){var t=0;return this.has()&&(t=this.contentsIdDao.count()),t},e.prototype.createIds=function(t){void 0===t&&(t="");for(var e=this.getMissing(t),n=0;n0&&(r+=u.ContentsDao.COLUMN_DATA_TYPE,r+=" = ?",i.push(t)),r.length>0&&(n+=" WHERE "+r),n+=")",e=this.connection.all(n,i);}return e},e.prototype.getMissing=function(t){void 0===t&&(t="");var e="SELECT "+u.ContentsDao.COLUMN_TABLE_NAME+" FROM "+u.ContentsDao.TABLE_NAME,n="",r=[];return null!=t&&t.length>0&&(n+=u.ContentsDao.COLUMN_DATA_TYPE,n+=" = ?",r.push(t)),this.has()&&(n.length>0&&(n+=" AND "),n+=u.ContentsDao.COLUMN_TABLE_NAME,n+=" NOT IN (SELECT ",n+=s.ContentsIdDao.COLUMN_TABLE_NAME,n+=" FROM ",n+=s.ContentsIdDao.TABLE_NAME,n+=")"),n.length>0&&(e+=" WHERE "+n),this.connection.all(e,r)},e.prototype.removeExtension=function(){this.contentsIdDao.isTableExists()&&this.geoPackage.deleteTable(s.ContentsIdDao.TABLE_NAME),this.extensionsDao.isTableExists()&&this.extensionsDao.deleteByExtension(e.EXTENSION_NAME);},e.EXTENSION_NAME="nga_contents_id",e.EXTENSION_AUTHOR="nga",e.EXTENSION_NAME_NO_AUTHOR="contents_id",e.EXTENSION_DEFINITION="http://ngageoint.github.io/GeoPackage/docs/extensions/contents-id.html",e}(o.BaseExtension);e.ContentsIdExtension=l;},5306:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);});Object.defineProperty(e,"__esModule",{value:!0}),e.CrsWktExtension=void 0;var o=n(624),a=function(t){function e(n){var r=t.call(this,n)||this;return r.extensionName=e.EXTENSION_NAME,r.extensionDefinition=e.EXTENSION_CRS_WKT_DEFINITION,r}return i(e,t),e.prototype.getOrCreateExtension=function(){return this.getOrCreate(this.extensionName,null,null,this.extensionDefinition,o.Extension.READ_WRITE)},e.prototype.has=function(){return this.hasExtension(e.EXTENSION_NAME,null,null)},e.prototype.removeExtension=function(){try{this.extensionsDao.isTableExists()&&this.extensionsDao.deleteByExtension(e.EXTENSION_NAME);}catch(t){throw new Error("Failed to delete CrsWkt extension. GeoPackage: "+this.geoPackage.name)}},e.EXTENSION_NAME="gpkg_crs_wkt",e.EXTENSION_CRS_WKT_AUTHOR="gpkg",e.EXTENSION_CRS_WKT_NAME_NO_AUTHOR="crs_wkt",e.EXTENSION_CRS_WKT_DEFINITION="http://www.geopackage.org/spec/#extension_crs_wkt",e}(n(8140).BaseExtension);e.CrsWktExtension=a;},624:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Extension=void 0;var n=function(){function t(){}return t.prototype.setExtensionName=function(e,n){this.extension_name=t.buildExtensionName(e,n);},Object.defineProperty(t.prototype,"author",{get:function(){return t.getAuthorWithExtensionName(this.extension_name)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"extensionNameNoAuthor",{get:function(){return t.getExtensionNameNoAuthor(this.extension_name)},enumerable:!1,configurable:!0}),t.buildExtensionName=function(e,n){return e+t.EXTENSION_NAME_DIVIDER+n},t.getAuthorWithExtensionName=function(e){return e.split(t.EXTENSION_NAME_DIVIDER)[0]},t.getExtensionNameNoAuthor=function(e){return e.slice(e.indexOf(t.EXTENSION_NAME_DIVIDER)+1)},t.prototype.getTableName=function(){return this.table_name},t.prototype.setTableName=function(t){this.table_name=t,null==t&&(this.column_name=null);},t.EXTENSION_NAME_DIVIDER="_",t.READ_WRITE="read-write",t.WRITE_ONLY="write-only",t}();e.Extension=n;},5698:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);}),o=this&&this.__values||function(t){var e="function"==typeof Symbol&&Symbol.iterator,n=e&&t[e],r=0;if(n)return n.call(t);if(t&&"number"==typeof t.length)return {next:function(){return t&&r>=t.length&&(t=void 0),{value:t&&t[r++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.ExtensionDao=void 0;var a=n(624),s=n(4115),u=n(8572),l=n(1459),c=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.gpkgTableName=e.TABLE_NAME,n.idColumns=[e.COLUMN_TABLE_NAME,e.COLUMN_COLUMN_NAME,e.COLUMN_EXTENSION_NAME],n}return i(e,t),e.prototype.createObject=function(t){var e=new a.Extension;return e.table_name=t.table_name,e.column_name=t.column_name,e.extension_name=t.extension_name,e.definition=t.definition,e.scope=t.scope,e},e.prototype.queryByExtension=function(t){var n=this.queryForAllEq(e.COLUMN_EXTENSION_NAME,t);if(n[0])return this.createObject(n[0])},e.prototype.queryAllByExtension=function(t){var n,r,i=[];try{for(var a=o(this.queryForAllEq(e.COLUMN_EXTENSION_NAME,t)),s=a.next();!s.done;s=a.next()){var u=s.value,l=this.createObject(u);i.push(l);}}catch(t){n={error:t};}finally{try{s&&!s.done&&(r=a.return)&&r.call(a);}finally{if(n)throw n.error}}return i},e.prototype.queryByExtensionAndTableName=function(t,n){var r,i,a=new u.ColumnValues;a.addColumn(e.COLUMN_EXTENSION_NAME,t),a.addColumn(e.COLUMN_TABLE_NAME,n);var s=[];try{for(var l=o(this.queryForFieldValues(a)),c=l.next();!c.done;c=l.next()){var h=c.value;s.push(this.createObject(h));}}catch(t){r={error:t};}finally{try{c&&!c.done&&(i=l.return)&&i.call(l);}finally{if(r)throw r.error}}return s},e.prototype.queryByExtensionAndTableNameAndColumnName=function(t,n,r){var i,a,s=new u.ColumnValues;s.addColumn(e.COLUMN_EXTENSION_NAME,t),null!=n&&s.addColumn(e.COLUMN_TABLE_NAME,n),null!=r&&s.addColumn(e.COLUMN_COLUMN_NAME,r);var l=[];try{for(var c=o(this.queryForFieldValues(s)),h=c.next();!h.done;h=c.next()){var f=h.value,p=this.createObject(f);l.push(p);}}catch(t){i={error:t};}finally{try{h&&!h.done&&(a=c.return)&&a.call(c);}finally{if(i)throw i.error}}return l},e.prototype.createTable=function(){return new l.TableCreator(this.geoPackage).createExtensions()},e.prototype.deleteByExtension=function(t){var n=new u.ColumnValues;return n.addColumn(e.COLUMN_EXTENSION_NAME,t),this.deleteWhere(this.buildWhere(n,"="),this.buildWhereArgs(n))},e.prototype.deleteByExtensionAndTableName=function(t,n){var r=new u.ColumnValues;return r.addColumn(e.COLUMN_EXTENSION_NAME,t),r.addColumn(e.COLUMN_TABLE_NAME,n),this.deleteWhere(this.buildWhere(r,"and"),this.buildWhereArgs(r))},e.prototype.deleteByExtensionAndTableNameAndColumnName=function(t,n,r){var i=new u.ColumnValues;return i.addColumn(e.COLUMN_EXTENSION_NAME,t),i.addColumn(e.COLUMN_TABLE_NAME,n),i.addColumn(e.COLUMN_COLUMN_NAME,r),this.deleteWhere(this.buildWhere(i,"and"),this.buildWhereArgs(i))},e.TABLE_NAME="gpkg_extensions",e.COLUMN_TABLE_NAME="table_name",e.COLUMN_COLUMN_NAME="column_name",e.COLUMN_EXTENSION_NAME="extension_name",e.COLUMN_DEFINITION="definition",e.COLUMN_SCOPE="scope",e}(s.Dao);e.ExtensionDao=c;},9406:(t,e,n)=>{"use strict";var r=n(5108);Object.defineProperty(e,"__esModule",{value:!0}),e.GeoPackageExtensions=void 0;var i=n(6131),o=n(5859),a=n(1832),s=n(5045),u=n(5042),l=n(362),c=n(8314),h=n(2431),f=n(8904),p=n(8116),d=n(4941),y=n(1459),m=n(1133),g=n(3501),_=n(2056),b=n(5306),v=function(){function t(){}return t.deleteTableExtensions=function(e,n){i.NGAExtensions.deleteTableExtensions(e,n),t.deleteRTreeSpatialIndex(e,n),t.deleteRelatedTables(e,n),t.deleteSchema(e,n),t.deleteMetadata(e,n),t.deleteExtensionForTable(e,n);},t.deleteExtensions=function(t){i.NGAExtensions.deleteExtensions(t),this.deleteRTreeSpatialIndexExtension(t),this.deleteRelatedTablesExtension(t),this.deleteSchemaExtension(t),this.deleteMetadataExtension(t),this.deleteCrsWktExtension(t),this.delete(t);},t.copyTableExtensions=function(e,n,o){try{t.copyRTreeSpatialIndex(e,n,o),t.copyRelatedTables(e,n,o),t.copySchema(e,n,o),t.copyMetadata(e,n,o),i.NGAExtensions.copyTableExtensions(e,n,o);}catch(t){r.warn("Failed to copy extensions for table: "+o+", copied from table: "+n,t);}},t.deleteExtensionForTable=function(t,e){var n=t.extensionDao;try{n.isTableExists()&&n.deleteByExtension(e);}catch(n){throw new Error("Failed to delete Table extensions. GeoPackage: "+t.name+", Table: "+e)}},t.delete=function(t){var e=t.extensionDao;try{e.isTableExists()&&t.dropTable(e.gpkgTableName);}catch(e){throw new Error("Failed to delete all extensions. GeoPackage: "+t.name)}},t.deleteRTreeSpatialIndex=function(e,n){var r=t.getRTreeIndexExtension(e);r.has(n)&&r.deleteTable(n);},t.deleteRTreeSpatialIndexExtension=function(e){var n=t.getRTreeIndexExtension(e);n.has()&&n.deleteAll();},t.copyRTreeSpatialIndex=function(e,n,i){try{var o=t.getRTreeIndexExtension(e);if(o.has(n)){var a=e.geometryColumnsDao.queryForTableName(i);if(null!=a){var u=s.TableInfo.info(e.connection,i);if(null!=u){var l=u.getPrimaryKey().getName();o.createWithParameters(i,a.column_name,l);}}}}catch(t){r.warn("Failed to create RTree for table: "+i+", copied from table: "+n,t);}},t.getRTreeIndexExtension=function(t){return new o.RTreeIndex(t,null)},t.deleteRelatedTables=function(e,n){var r=t.getRelatedTableExtension(e);r.has()&&r.removeRelationships(n);},t.deleteRelatedTablesExtension=function(e){var n=t.getRelatedTableExtension(e);n.has()&&n.removeExtension();},t.copyRelatedTables=function(e,n,i){try{var o=t.getRelatedTableExtension(e);if(o.has()){var p=o.extendedRelationDao,d=e.extensionDao;p.getBaseTableRelations(n).forEach((function(t){var r=t.mapping_table_name,o=d.queryByExtensionAndTableName(a.RelatedTablesExtension.EXTENSION_NAME,r).concat(d.queryByExtensionAndTableName(a.RelatedTablesExtension.EXTENSION_RELATED_TABLES_NAME_NO_AUTHOR,r));if(o.length>0){var p=u.CoreSQLUtils.createName(e.connection,r,n,i),y=new l.UserCustomTableReader(r).readTable(e.connection);c.AlterTable.copyTable(e.connection,y,p);var m=o[0];m.setTableName(p),d.create(m);var g=h.TableMapping.fromTableInfo(s.TableInfo.info(e.connection,f.ExtendedRelationDao.TABLE_NAME));g.removeColumn(f.ExtendedRelationDao.ID);var _=g.getColumn(f.ExtendedRelationDao.BASE_TABLE_NAME);_.constantValue=i,_.whereValue=n;var b=g.getColumn(f.ExtendedRelationDao.MAPPING_TABLE_NAME);b.constantValue=p,b.whereValue=r,u.CoreSQLUtils.transferTableContentForTableMapping(e.connection,g);}}));}}catch(t){r.warn("Failed to create Related Tables for table: "+i+", copied from table: "+n,t);}},t.getRelatedTableExtension=function(t){return new a.RelatedTablesExtension(t)},t.deleteSchema=function(t,e){var n=t.dataColumnsDao;try{n.isTableExists()&&n.deleteByTableName(e);}catch(n){throw new Error("Failed to delete Schema extension. GeoPackage: "+t.name+", Table: "+e)}},t.deleteSchemaExtension=function(t){var e=new p.SchemaExtension(t);e.has()&&e.removeExtension();},t.copySchema=function(t,e,n){try{if(t.isTable(d.DataColumnsDao.TABLE_NAME)){var i=new l.UserCustomTableReader(d.DataColumnsDao.TABLE_NAME).readUserCustomTable(t),o=i.getColumnWithColumnName(d.DataColumnsDao.COLUMN_NAME);if(o.hasConstraints()){if(o.clearConstraints(),i.hasConstraints()){i.clearConstraints();var a=y.TableCreator.tableCreationScripts.data_columns[0],s=m.ConstraintParser.getConstraints(a);i.addConstraints(s.getTableConstraints());}c.AlterTable.alterColumnForTable(t.connection,i,o);}u.CoreSQLUtils.transferTableContent(t.connection,d.DataColumnsDao.TABLE_NAME,d.DataColumnsDao.COLUMN_TABLE_NAME,n,e);}}catch(t){r.warn("Failed to create Schema for table: "+n+", copied from table: "+e,t);}},t.deleteMetadata=function(t,e){var n=t.metadataReferenceDao;try{n.isTableExists()&&n.deleteByTableName(e);}catch(n){throw new Error("Failed to delete Metadata extension. GeoPackage: "+t.name+", Table: "+e)}},t.deleteMetadataExtension=function(t){var e=new g.MetadataExtension(t);e.has()&&e.removeExtension();},t.copyMetadata=function(t,e,n){try{t.isTable(_.MetadataReferenceDao.TABLE_NAME)&&u.CoreSQLUtils.transferTableContent(t.connection,_.MetadataReferenceDao.TABLE_NAME,_.MetadataReferenceDao.COLUMN_TABLE_NAME,n,e);}catch(t){r.warn("Failed to create Metadata for table: "+n+", copied from table: "+e,t);}},t.deleteCrsWktExtension=function(t){var e=new b.CrsWktExtension(t);e.has()&&e.removeExtension();},t}();e.GeoPackageExtensions=v;},5626:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);}),o=this&&this.__awaiter||function(t,e,n,r){return new(n||(n=Promise))((function(i,o){function a(t){try{u(r.next(t));}catch(t){o(t);}}function s(t){try{u(r.throw(t));}catch(t){o(t);}}function u(t){var e;t.done?i(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e);}))).then(a,s);}u((r=r.apply(t,e||[])).next());}))},a=this&&this.__generator||function(t,e){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(s){return function(u){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;o&&(o=0,s[0]&&(a=0)),a;)try{if(n=1,r&&(i=2&s[0]?r.return:s[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,s[1])).done)return i;switch(r=0,i&&(s=[2&s[0],i.value]),s[0]){case 0:case 1:i=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,r=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!((i=(i=a.trys).length>0&&i[i.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!i||s[1]>i[0]&&s[1]=r}return !1}catch(t){return !1}},e.prototype.getFeatureTableIndexExtension=function(){return this.getExtension(this.extensionName,this.tableName,this.columnName)[0]},e.prototype.getOrCreateExtension=function(){return this.getOrCreate(this.extensionName,this.tableName,this.columnName,this.extensionDefinition,l.Extension.READ_WRITE)},e.prototype.getOrCreateTableIndex=function(){return this.tableIndex||(this.tableIndexDao.createTable(),this.createTableIndex(),this.tableIndex)},e.prototype.createTableIndex=function(){var t=new c.TableIndex;return t.table_name=this.tableName,t.last_indexed=new Date,this.tableIndexDao.create(t)},Object.defineProperty(e.prototype,"tableIndex",{get:function(){return this.tableIndexDao.isTableExists()?this.tableIndexDao.queryForId(this.tableName):void 0},enumerable:!1,configurable:!0}),e.prototype.createOrClearGeometryIndicies=function(){return this.geometryIndexDao.createTable(),this.clearGeometryIndicies()},e.prototype.clearGeometryIndicies=function(){var t=this.geometryIndexDao.buildWhereWithFieldAndValue(h.GeometryIndexDao.COLUMN_TABLE_NAME,this.tableName),e=this.geometryIndexDao.buildWhereArgs(this.tableName);return this.geometryIndexDao.deleteWhere(t,e)},e.prototype.indexTable=function(t){return o(this,void 0,void 0,(function(){var e=this;return a(this,(function(n){return [2,new Promise((function(n,r){setTimeout((function(){e.indexChunk(0,t,n,r);}));})).then((function(){return 1===e.updateLastIndexed(t)}))]}))}))},e.prototype.indexChunk=function(t,e,n,r){var i=this,o=this.featureDao.queryForChunk(100,t);o.length?(this.progress("Indexing "+100*t+" to "+100*(t+1)),o.forEach((function(t){var n=i.featureDao.getRow(t);i.indexRow(e,n.id,n.geometry);})),setTimeout((function(){i.indexChunk(++t,e,n,r);}))):n();},e.prototype.indexRow=function(t,e,n){if(!n)return !1;var r=n.envelope;if(!r){var i=n.geometry;i&&(r=p.EnvelopeBuilder.buildEnvelopeWithGeometry(i));}if(r){var o=this.geometryIndexDao.populate(t,e,r);return 1===this.geometryIndexDao.createOrUpdate(o)}return !1},e.prototype.updateLastIndexed=function(t){return t||((t=new c.TableIndex).table_name=this.tableName),t.last_indexed=(new Date).toISOString(),this.tableIndexDao.createOrUpdate(t)},e.prototype.queryWithBoundingBox=function(t,e){var n=t.projectBoundingBox(e,this.featureDao.projection).buildEnvelope();return this.queryWithGeometryEnvelope(n)},e.prototype.queryWithGeometryEnvelope=function(t){return this.rtreeIndexed?this.rtreeIndexDao.queryWithGeometryEnvelope(t):this.geometryIndexDao.queryWithGeometryEnvelope(t)},e.prototype.countWithBoundingBox=function(t,e){var n=t.projectBoundingBox(e,this.featureDao.projection).buildEnvelope();return this.countWithGeometryEnvelope(n)},e.prototype.countWithGeometryEnvelope=function(t){return this.rtreeIndexed?this.rtreeIndexDao.countWithGeometryEnvelope(t):this.geometryIndexDao.countWithGeometryEnvelope(t)},e.EXTENSION_GEOMETRY_INDEX_AUTHOR="nga",e.EXTENSION_GEOMETRY_INDEX_NAME_NO_AUTHOR="geometry_index",e.EXTENSION_NAME=l.Extension.buildExtensionName(e.EXTENSION_GEOMETRY_INDEX_AUTHOR,e.EXTENSION_GEOMETRY_INDEX_NAME_NO_AUTHOR),e.EXTENSION_GEOMETRY_INDEX_DEFINITION="http://ngageoint.github.io/GeoPackage/docs/extensions/geometry-index.html",e}(u.BaseExtension);e.FeatureTableIndex=d;},8021:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.GeometryIndex=void 0;var n=function(){function t(){}return Object.defineProperty(t.prototype,"tableIndex",{set:function(t){this.table_name=t.table_name;},enumerable:!1,configurable:!0}),t}();e.GeometryIndex=n;},9095:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);});Object.defineProperty(e,"__esModule",{value:!0}),e.GeometryIndexDao=void 0;var o=n(4115),a=n(8021),s=n(1459),u=function(t){function e(n,r){var i=t.call(this,n)||this;return i.gpkgTableName=e.TABLE_NAME,i.idColumns=["table_name","geom_id"],i.featureDao=r,i}return i(e,t),e.prototype.createObject=function(t){var e=new a.GeometryIndex;return t&&(e.table_name=t.table_name,e.geom_id=t.geom_id,e.min_x=t.min_x,e.max_x=t.max_x,e.min_y=t.min_y,e.max_y=t.max_y,e.min_z=t.min_z,e.max_z=t.max_z,e.min_m=t.min_m,e.max_m=t.max_m),e},e.prototype.getTableIndex=function(t){return this.geoPackage.tableIndexDao.queryForId(t.table_name)},e.prototype.queryForTableName=function(t){return this.queryForEach(e.COLUMN_TABLE_NAME,t)},e.prototype.countByTableName=function(t){return this.count(e.COLUMN_TABLE_NAME,t)},e.prototype.populate=function(t,e,n){var r=new a.GeometryIndex;return r.tableIndex=t,r.geom_id=e,r.min_x=n.minX,r.min_y=n.minY,r.max_x=n.maxX,r.max_y=n.maxY,n.hasZ&&(r.min_z=n.minZ,r.max_z=n.maxZ),n.hasM&&(r.min_m=n.minM,r.max_m=n.maxM),r},e.prototype.createTable=function(){return !!this.isTableExists()||new s.TableCreator(this.geoPackage).createGeometryIndex()},e.prototype._generateGeometryEnvelopeQuery=function(t){var n=this.featureDao.gpkgTableName,r="";r+=this.buildWhereWithFieldAndValue(e.COLUMN_TABLE_NAME,n),r+=" and ";var i=t.minX=")):(r+="(",r+=this.buildWhereWithFieldAndValue(e.COLUMN_MIN_X,t.maxX,"<="),r+=" or ",r+=this.buildWhereWithFieldAndValue(e.COLUMN_MAX_X,t.minX,">="),r+=" or ",r+=this.buildWhereWithFieldAndValue(e.COLUMN_MIN_X,t.minX,">="),r+=" or ",r+=this.buildWhereWithFieldAndValue(e.COLUMN_MAX_X,t.maxX,"<="),r+=")"),r+=" and ",r+=this.buildWhereWithFieldAndValue(e.COLUMN_MIN_Y,t.maxY,"<="),r+=" and ",r+=this.buildWhereWithFieldAndValue(e.COLUMN_MAX_Y,t.minY,">=");var o=[n,t.maxX,t.minX];return i||o.push(t.minX,t.maxX),o.push(t.maxY,t.minY),t.hasZ&&(r+=" and ",r+=this.buildWhereWithFieldAndValue(e.COLUMN_MIN_Z,t.minZ,"<="),r+=" and ",r+=this.buildWhereWithFieldAndValue(e.COLUMN_MAX_Z,t.maxZ,">="),o.push(t.maxZ,t.minZ)),t.hasM&&(r+=" and ",r+=this.buildWhereWithFieldAndValue(e.COLUMN_MIN_M,t.minM,"<="),r+=" and ",r+=this.buildWhereWithFieldAndValue(e.COLUMN_MAX_M,t.maxM,">="),o.push(t.maxM,t.minM)),{join:'inner join "'+n+'" on "'+n+'".'+this.featureDao.idColumns[0]+" = "+e.COLUMN_GEOM_ID,where:r,whereArgs:o,tableNameArr:['"'+n+'".*']}},e.prototype.queryWithGeometryEnvelope=function(t){var e=this._generateGeometryEnvelopeQuery(t);return this.queryJoinWhereWithArgs(e.join,e.where,e.whereArgs,e.tableNameArr)},e.prototype.countWithGeometryEnvelope=function(t){var e=this._generateGeometryEnvelopeQuery(t);return this.countJoinWhereWithArgs(e.join,e.where,e.whereArgs)},e.TABLE_NAME="nga_geometry_index",e.COLUMN_TABLE_NAME=e.TABLE_NAME+".table_name",e.COLUMN_TABLE_NAME_FIELD="table_name",e.COLUMN_GEOM_ID=e.TABLE_NAME+".geom_id",e.COLUMN_MIN_X=e.TABLE_NAME+".min_x",e.COLUMN_MAX_X=e.TABLE_NAME+".max_x",e.COLUMN_MIN_Y=e.TABLE_NAME+".min_y",e.COLUMN_MAX_Y=e.TABLE_NAME+".max_y",e.COLUMN_MIN_Z=e.TABLE_NAME+".min_z",e.COLUMN_MAX_Z=e.TABLE_NAME+".max_z",e.COLUMN_MIN_M=e.TABLE_NAME+".min_m",e.COLUMN_MAX_M=e.TABLE_NAME+".max_m",e}(o.Dao);e.GeometryIndexDao=u;},7049:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TableIndex=void 0;e.TableIndex=function(){};},9581:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);});Object.defineProperty(e,"__esModule",{value:!0}),e.TableIndexDao=void 0;var o=n(4115),a=n(1459),s=n(7049),u=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.gpkgTableName=e.TABLE_NAME,n.idColumns=[e.COLUMN_TABLE_NAME],n}return i(e,t),e.prototype.createObject=function(t){var e=new s.TableIndex;return t&&(e.table_name=t.table_name,e.last_indexed=t.last_indexed),e},e.prototype.createTable=function(){return new a.TableCreator(this.geoPackage).createTableIndex()},e.TABLE_NAME="nga_table_index",e.COLUMN_TABLE_NAME="table_name",e.COLUMN_LAST_INDEXED="last_indexed",e}(o.Dao);e.TableIndexDao=u;},3501:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);});Object.defineProperty(e,"__esModule",{value:!0}),e.MetadataExtension=void 0;var o=n(8140),a=n(624),s=n(2056),u=n(663),l=function(t){function e(n){var r=t.call(this,n)||this;return r.extensionName=e.EXTENSION_NAME,r.extensionDefinition=e.EXTENSION_Metadata_DEFINITION,r}return i(e,t),e.prototype.getOrCreateExtension=function(){return this.getOrCreate(this.extensionName,null,null,this.extensionDefinition,a.Extension.READ_WRITE)},e.prototype.has=function(){return this.hasExtension(e.EXTENSION_NAME,null,null)},e.prototype.removeExtension=function(){this.geoPackage.isTable(s.MetadataReferenceDao.TABLE_NAME)&&this.geoPackage.dropTable(s.MetadataReferenceDao.TABLE_NAME),this.geoPackage.isTable(u.MetadataDao.TABLE_NAME)&&this.geoPackage.dropTable(u.MetadataDao.TABLE_NAME);try{this.extensionsDao.isTableExists()&&this.extensionsDao.deleteByExtension(e.EXTENSION_NAME);}catch(t){throw new Error("Failed to delete Schema extension. GeoPackage: "+this.geoPackage.name)}},e.EXTENSION_NAME="gpkg_metadata",e.EXTENSION_Metadata_AUTHOR="gpkg",e.EXTENSION_Metadata_NAME_NO_AUTHOR="metadata",e.EXTENSION_Metadata_DEFINITION="http://www.geopackage.org/spec/#extension_metadata",e}(o.BaseExtension);e.MetadataExtension=l;},6131:(t,e,n)=>{"use strict";var r=n(5108);Object.defineProperty(e,"__esModule",{value:!0}),e.NGAExtensions=void 0;var i=n(5626),o=n(9095),a=n(9581),s=n(5042),u=n(7960),l=n(7523),c=n(8479),h=n(1832),f=n(1314),p=n(362),d=n(8314),y=n(2431),m=n(233),g=n(8904),_=n(5045),b=n(7092),v=function(){function t(){}return t.deleteTableExtensions=function(e,n){t.deleteGeometryIndex(e,n),t.deleteTileScaling(e,n),t.deleteFeatureStyle(e,n),t.deleteContentsId(e,n);},t.deleteExtensions=function(e){t.deleteGeometryIndexExtension(e),t.deleteTileScalingExtension(e),t.deleteFeatureStyleExtension(e),t.deleteContentsIdExtension(e);},t.copyTableExtensions=function(e,n,i){try{t.copyContentsId(e,n,i),t.copyFeatureStyle(e,n,i),t.copyTileScaling(e,n,i),t.copyGeometryIndex(e,n,i);}catch(t){r.warn("Failed to copy extensions for table: "+i+", copied from table: "+n,t);}},t.deleteGeometryIndex=function(t,e){var n=t.getGeometryIndexDao(null),r=t.tableIndexDao,s=t.extensionDao;try{n.isTableExists()&&n.deleteWhere(n.buildWhereWithFieldAndValue(o.GeometryIndexDao.COLUMN_TABLE_NAME_FIELD,e),n.buildWhereArgs(e)),r.isTableExists()&&r.deleteWhere(r.buildWhereWithFieldAndValue(a.TableIndexDao.COLUMN_TABLE_NAME,e),r.buildWhereArgs(e)),s.isTableExists()&&s.deleteByExtensionAndTableName(i.FeatureTableIndex.EXTENSION_NAME,e);}catch(n){throw new Error("Failed to delete Table Index. GeoPackage: "+t.name+", Table: "+e)}},t.deleteGeometryIndexExtension=function(t){var e=t.getGeometryIndexDao(null),n=t.tableIndexDao,r=t.extensionDao;try{e.isTableExists()&&t.dropTable(o.GeometryIndexDao.TABLE_NAME),n.isTableExists()&&t.dropTable(a.TableIndexDao.TABLE_NAME),r.isTableExists()&&r.deleteByExtension(i.FeatureTableIndex.EXTENSION_NAME);}catch(e){throw new Error("Failed to delete Table Index extension and tables. GeoPackage: "+t.name)}},t.copyGeometryIndex=function(t,e,n){try{var a=t.extensionDao;if(a.isTableExists()){var u=a.queryByExtensionAndTableName(i.FeatureTableIndex.EXTENSION_NAME,e);if(u.length>0){var l=u[0];l.table_name=n,a.create(l);var c=t.tableIndexDao;if(c.isTableExists()){var h=c.queryForId(e);null!=h&&(h.table_name=n,c.create(h),t.isTable(o.GeometryIndexDao.TABLE_NAME)&&s.CoreSQLUtils.transferTableContent(t.connection,o.GeometryIndexDao.TABLE_NAME,o.GeometryIndexDao.COLUMN_TABLE_NAME_FIELD,n,e));}}}}catch(t){r.warn("Failed to create Geometry Index for table: "+n+", copied from table: "+e,t);}},t.deleteTileScaling=function(t,e){var n=t.tileScalingDao,r=t.extensionDao;try{n.isTableExists()&&n.deleteByTableName(e),r.isTableExists()&&r.deleteByExtensionAndTableName(l.TileScalingExtension.EXTENSION_NAME,e);}catch(n){throw new Error("Failed to delete Tile Scaling. GeoPackage: "+t.name+", Table: "+e)}},t.deleteTileScalingExtension=function(t){var e=t.tileScalingDao,n=t.extensionDao;try{e.isTableExists()&&t.dropTable(e.gpkgTableName),n.isTableExists()&&n.deleteByExtension(l.TileScalingExtension.EXTENSION_NAME);}catch(e){throw new Error("Failed to delete Tile Scaling extension and table. GeoPackage: "+t.name)}},t.copyTileScaling=function(t,e,n){try{var i=new l.TileScalingExtension(t,e);if(i.has()){var o=i.getOrCreateExtension();null!=o&&(o.setTableName(n),i.extensionsDao.create(o),t.isTable(u.TileScalingDao.TABLE_NAME)&&s.CoreSQLUtils.transferTableContent(t.connection,u.TileScalingDao.TABLE_NAME,u.TileScalingDao.COLUMN_TABLE_NAME,n,e));}}catch(t){r.warn("Failed to create Tile Scaling for table: "+n+", copied from table: "+e,t);}},t.deleteFeatureStyle=function(e,n){var r=t.getFeatureStyleExtension(e);r.has(n)&&r.deleteRelationships(n);},t.deleteFeatureStyleExtension=function(e){var n=t.getFeatureStyleExtension(e);n.has(null)&&n.removeExtension();},t.copyFeatureStyle=function(e,n,i){try{var o=t.getFeatureStyleExtension(e);if(o.hasRelationship(n)){var a=o.getOrCreateExtension(n);if(null!=a){a.setTableName(i),o.extensionsDao.create(a);var s=o.getContentsId(),u=s.getIdByTableName(n),l=s.getIdByTableName(i);null!=u&&null!=l&&(o.hasTableStyleRelationship(n)&&t.copyFeatureTableStyle(o,c.FeatureStyleExtension.TABLE_MAPPING_TABLE_STYLE,n,i,u,l),o.hasTableIconRelationship(n)&&t.copyFeatureTableStyle(o,c.FeatureStyleExtension.TABLE_MAPPING_TABLE_ICON,n,i,u,l));}}}catch(t){r.warn("Failed to create Feature Style for table: "+i+", copied from table: "+n,t);}},t.copyFeatureTableStyle=function(t,e,n,r,i,o){var a=t.geoPackage,u=t.getMappingTableName(e,n),l=a.extensionDao,c=l.queryByExtensionAndTableName(h.RelatedTablesExtension.EXTENSION_NAME,u).concat(l.queryByExtensionAndTableName(h.RelatedTablesExtension.EXTENSION_RELATED_TABLES_NAME_NO_AUTHOR,u));if(c.length>0){var f=t.getMappingTableName(e,r),v=new p.UserCustomTableReader(u).readTable(a.connection);d.AlterTable.copyTable(a.connection,v,f,!1);var T=new y.TableMapping(v.getTableName(),f,v.getUserColumns().getColumns()),E=T.getColumn(m.UserMappingTable.COLUMN_BASE_ID);E.constantValue=o,E.whereValue=i,s.CoreSQLUtils.transferTableContentForTableMapping(a.connection,T);var w=c[0];w.setTableName(f),l.create(w);var x=y.TableMapping.fromTableInfo(_.TableInfo.info(a.connection,g.ExtendedRelationDao.TABLE_NAME));x.removeColumn(g.ExtendedRelationDao.ID),x.getColumn(g.ExtendedRelationDao.BASE_TABLE_NAME).whereValue=b.ContentsIdDao.TABLE_NAME;var C=x.getColumn(g.ExtendedRelationDao.MAPPING_TABLE_NAME);C.constantValue=f,C.whereValue=u,s.CoreSQLUtils.transferTableContentForTableMapping(a.connection,x);}},t.getFeatureStyleExtension=function(t){return new c.FeatureStyleExtension(t)},t.deleteContentsId=function(t,e){var n=new f.ContentsIdExtension(t);n.has()&&n.deleteIdByTableName(e);},t.deleteContentsIdExtension=function(t){var e=new f.ContentsIdExtension(t);e.has()&&e.removeExtension();},t.copyContentsId=function(t,e,n){try{var i=new f.ContentsIdExtension(t);if(i.has())null!=i.getByTableName(e)&&i.createWithTableName(n);}catch(t){r.warn("Failed to create Contents Id for table: "+n+", copied from table: "+e,t);}},t}();e.NGAExtensions=v;},3096:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.DublinCoreMetadata=void 0;var r=n(2224),i=function(){function t(){}return t.hasColumn=function(t,e){var n,i=(n=t instanceof r.UserRow?t.table:t).hasColumn(e.name);if(!n.hasColumn(e.name)){var o=e.synonyms;if(o)for(var a=0;a{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.DublinCoreType=void 0;var n=function(){function t(t,e){this.name=t,this.synonyms=e;}return t.fromName=function(e){for(var n in t)if((r=t[n]).name===e)return r;for(var n in t){var r;if((r=t[n]).synonyms)for(var i=0;i{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ExtendedRelation=void 0;e.ExtendedRelation=function(){};},8904:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);}),o=this&&this.__values||function(t){var e="function"==typeof Symbol&&Symbol.iterator,n=e&&t[e],r=0;if(n)return n.call(t);if(t&&"number"==typeof t.length)return {next:function(){return t&&r>=t.length&&(t=void 0),{value:t&&t[r++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.ExtendedRelationDao=void 0;var a=n(4115),s=n(8572),u=n(7817),l=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.gpkgTableName=e.TABLE_NAME,n.idColumns=["id"],n}return i(e,t),e.prototype.createObject=function(t){var e=new u.ExtendedRelation;return t&&(e.base_table_name=t.base_table_name,e.base_primary_column=t.base_primary_column,e.related_table_name=t.base_primary_column,e.related_table_name=t.related_table_name,e.relation_name=t.relation_name,e.mapping_table_name=t.mapping_table_name,e.related_primary_column=t.related_primary_column,e.id=t.id),e},e.prototype.createTable=function(){return this.geoPackage.getTableCreator().createExtendedRelations()},e.prototype.getBaseTables=function(){for(var t=[],e=this.queryForColumns("base_table_name"),n=0;n=t.length&&(t=void 0),{value:t&&t[r++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.RelatedTablesExtension=void 0;var s=n(8140),u=n(624),l=n(7502),c=n(6366),h=n(2702),f=n(4599),p=n(233),d=n(6302),y=n(1447),m=n(8904),g=n(8483),_=n(5897),b=n(8572),v=n(7817),T=n(7403),E=n(362),w=n(8008),x=n(2071),C=n(1394),M=function(t){function e(e){var n=t.call(this,e)||this;return n.extendedRelationDao=e.extendedRelationDao,n}return o(e,t),e.prototype.getOrCreateExtension=function(){var t=this.getOrCreate(e.EXTENSION_NAME,"gpkgext_relations",void 0,e.EXTENSION_RELATED_TABLES_DEFINITION,u.Extension.READ_WRITE);return this.extendedRelationDao.createTable(),t},e.prototype.getOrCreateMappingTable=function(t){return this.getOrCreateExtension(),this.getOrCreate(e.EXTENSION_NAME,t,void 0,e.EXTENSION_RELATED_TABLES_DEFINITION,u.Extension.READ_WRITE)},e.prototype.setContents=function(t){var e=this.geoPackage.contentsDao.queryForId(t.getTableName());return t.setContents(e)},e.prototype.getUserDao=function(t){return y.UserCustomDao.readTable(this.geoPackage,t)},e.prototype.getMappingDao=function(t){var e;return e=t instanceof v.ExtendedRelation?t.mapping_table_name:t,new d.UserMappingDao(this.getUserDao(e),this.geoPackage)},e.prototype.getRelationships=function(t){return this.extendedRelationDao.isTableExists()?t?this.geoPackage.extendedRelationDao.getBaseTableRelations(t):this.extendedRelationDao.queryForAll():[]},e.prototype.hasRelations=function(t,e,n){var r=[];return this.extendedRelationDao.isTableExists()&&(r=this.extendedRelationDao.getRelations(t,e,n)),!!r.length},e.prototype.getRelatedRows=function(t,e){for(var n=this.getRelationships(t),r=0;r{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.RelationType=void 0;var r=n(9971),i=function(){function t(t,e){this.name=t,this.dataType=e;}return t.fromName=function(e){return t[e.toUpperCase()]},t.FEATURES=new t("features",r.ContentsDataType.FEATURES),t.SIMPLE_ATTRIBUTES=new t("simple_attributes",r.ContentsDataType.ATTRIBUTES),t.MEDIA=new t("media",r.ContentsDataType.ATTRIBUTES),t.ATTRIBUTES=new t("attributes",r.ContentsDataType.ATTRIBUTES),t.TILES=new t("tiles",r.ContentsDataType.TILES),t}();e.RelationType=i;},2702:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);});Object.defineProperty(e,"__esModule",{value:!0}),e.SimpleAttributesDao=void 0;var o=n(4668),a=n(7374),s=function(t){function e(e,n){return t.call(this,e,n)||this}return i(e,t),e.prototype.newRow=function(t,e){return new a.SimpleAttributesRow(this.table,t,e)},Object.defineProperty(e.prototype,"table",{get:function(){return this._table},enumerable:!1,configurable:!0}),e.prototype.getRows=function(t){for(var e=[],n=0;n-1))throw n;this.geoPackage.connection.run('DROP TABLE IF EXISTS "rtree_'+t+"_"+e+'_node"'),this.geoPackage.connection.run('DROP TABLE IF EXISTS "rtree_'+t+"_"+e+'_parent"'),this.geoPackage.connection.run('DROP TABLE IF EXISTS "rtree_'+t+"_"+e+'_rowid"'),this.geoPackage.connection.run("PRAGMA writable_schema = ON"),this.geoPackage.connection.run('DELETE FROM sqlite_master WHERE type = "table" AND name = "rtree_'+t+"_"+e+'"'),this.geoPackage.connection.run("PRAGMA writable_schema = OFF");}},e.prototype.dropTriggersByFeatureTable=function(t){this.dropTriggers(t.getTableName(),t.getGeometryColumnName());},e.prototype.dropTriggers=function(t,e){var n=this.has(t,e);return n&&this.dropAllTriggers(t,e),n},e.prototype.dropAllTriggersByFeatureTable=function(t){this.dropAllTriggers(t.getTableName(),t.getGeometryColumnName());},e.prototype.dropAllTriggers=function(t,e){this.dropInsertTrigger(t,e),this.dropUpdate1Trigger(t,e),this.dropUpdate2Trigger(t,e),this.dropUpdate3Trigger(t,e),this.dropUpdate4Trigger(t,e),this.dropDeleteTrigger(t,e);},e.prototype.dropInsertTrigger=function(t,n){this.dropTrigger(t,n,e.TRIGGER_INSERT_NAME);},e.prototype.dropUpdate1Trigger=function(t,n){this.dropTrigger(t,n,e.TRIGGER_UPDATE1_NAME);},e.prototype.dropUpdate2Trigger=function(t,n){this.dropTrigger(t,n,e.TRIGGER_UPDATE2_NAME);},e.prototype.dropUpdate3Trigger=function(t,n){this.dropTrigger(t,n,e.TRIGGER_UPDATE3_NAME);},e.prototype.dropUpdate4Trigger=function(t,n){this.dropTrigger(t,n,e.TRIGGER_UPDATE4_NAME);},e.prototype.dropDeleteTrigger=function(t,n){this.dropTrigger(t,n,e.TRIGGER_DELETE_NAME);},e.prototype.dropTrigger=function(t,e,n){this.geoPackage.connection.run('DROP TRIGGER IF EXISTS "rtree_'+t+"_"+e+"_"+n+'"');},e.TRIGGER_INSERT_NAME="insert",e.TRIGGER_UPDATE1_NAME="update1",e.TRIGGER_UPDATE2_NAME="update2",e.TRIGGER_UPDATE3_NAME="update3",e.TRIGGER_UPDATE4_NAME="update4",e.TRIGGER_DELETE_NAME="delete",e}(a.BaseExtension);e.RTreeIndex=h;},735:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);});Object.defineProperty(e,"__esModule",{value:!0}),e.RTreeIndexDao=void 0;var o=n(4115),a=n(5859),s=n(8877),u=function(t){function e(n,r){var i=t.call(this,n)||this;return i.gpkgTableName=e.TABLE_NAME,i.featureDao=r,i}return i(e,t),e.prototype.createObject=function(t){return new a.RTreeIndex(this.geoPackage,this.featureDao)},e.prototype._generateGeometryEnvelopeQuery=function(t){var e=this.featureDao.gpkgTableName,n="",r=t.minX=")):(n+="(",n+=this.buildWhereWithFieldAndValue("minx",t.maxX,"<="),n+=" or ",n+=this.buildWhereWithFieldAndValue("maxx",t.minX,">="),n+=" or ",n+=this.buildWhereWithFieldAndValue("minx",t.minX,">="),n+=" or ",n+=this.buildWhereWithFieldAndValue("maxx",t.maxX,"<="),n+=")"),n+=" and ",n+=this.buildWhereWithFieldAndValue("miny",t.maxY,"<="),n+=" and ",n+=this.buildWhereWithFieldAndValue("maxy",t.minY,">=");var i=[];return i.push(t.maxX,t.minX),r||i.push(t.minX,t.maxX),i.push(t.maxY,t.minY),{join:'inner join "'+e+'" on "'+e+'".'+this.featureDao.idColumns[0]+' = "'+this.gpkgTableName+'".id',where:n,whereArgs:i,tableNameArr:['"'+e+'".*']}},e.prototype.queryWithGeometryEnvelope=function(t){var e=this._generateGeometryEnvelopeQuery(t);return this.queryJoinWhereWithArgs(e.join,e.where,e.whereArgs,e.tableNameArr)},e.prototype.countWithGeometryEnvelope=function(t){var e=this._generateGeometryEnvelopeQuery(t);return this.connection.get(s.SqliteQueryBuilder.buildCount("'"+this.gpkgTableName+"'",e.where),e.whereArgs).count},e.TABLE_NAME="rtree",e.PREFIX="rtree_",e.COLUMN_TABLE_NAME=e.TABLE_NAME+".table_name",e.COLUMN_GEOM_ID=e.TABLE_NAME+".geom_id",e.COLUMN_MIN_X=e.TABLE_NAME+".minx",e.COLUMN_MAX_X=e.TABLE_NAME+".maxx",e.COLUMN_MIN_Y=e.TABLE_NAME+".miny",e.COLUMN_MAX_Y=e.TABLE_NAME+".maxy",e.COLUMN_MIN_Z=e.TABLE_NAME+".minz",e.COLUMN_MAX_Z=e.TABLE_NAME+".maxz",e.COLUMN_MIN_M=e.TABLE_NAME+".minm",e.COLUMN_MAX_M=e.TABLE_NAME+".maxm",e.EXTENSION_NAME="gpkg_rtree_index",e.EXTENSION_RTREE_INDEX_AUTHOR="gpkg",e.EXTENSION_RTREE_INDEX_NAME_NO_AUTHOR="rtree_index",e.EXTENSION_RTREE_INDEX_DEFINITION="http://www.geopackage.org/spec/#extension_rtree",e}(o.Dao);e.RTreeIndexDao=u;},7523:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);});Object.defineProperty(e,"__esModule",{value:!0}),e.TileScalingExtension=void 0;var o=n(8140),a=n(624),s=n(7960),u=function(t){function e(e,n){var r=t.call(this,e)||this;return r.tableName=n,r.tileScalingDao=e.tileScalingDao,r}return i(e,t),e.prototype.getOrCreateExtension=function(){var t=this.getOrCreate(e.EXTENSION_NAME,this.tableName,null,e.EXTENSION_DEFINITION,a.Extension.READ_WRITE);return this.tileScalingDao.createTable(),t},e.prototype.createOrUpdate=function(t){return t.table_name=this.tableName,this.tileScalingDao.createOrUpdate(t)},Object.defineProperty(e.prototype,"dao",{get:function(){return this.tileScalingDao},enumerable:!1,configurable:!0}),e.prototype.has=function(){return this.hasExtension(e.EXTENSION_NAME,this.tableName,null)&&this.tileScalingDao.isTableExists()},e.prototype.removeExtension=function(){this.tileScalingDao.isTableExists()&&this.geoPackage.deleteTable(s.TileScalingDao.TABLE_NAME),this.extensionsDao.isTableExists()&&this.extensionsDao.deleteByExtension(e.EXTENSION_NAME);},e.EXTENSION_NAME="nga_tile_scaling",e.EXTENSION_AUTHOR="nga",e.EXTENSION_NAME_NO_AUTHOR="tile_scaling",e.EXTENSION_DEFINITION="http://ngageoint.github.io/GeoPackage/docs/extensions/tile-scaling.html",e}(o.BaseExtension);e.TileScalingExtension=u;},4301:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TileScaling=void 0;var r=n(2777),i=function(){function t(){}return t.prototype.isZoomIn=function(){return (null==this.zoom_in||this.zoom_in>0)&&null!=this.scaling_type&&this.scaling_type!=r.TileScalingType.OUT},t.prototype.isZoomOut=function(){return (null==this.zoom_out||this.zoom_out>0)&&null!=this.scaling_type&&this.scaling_type!=r.TileScalingType.IN},t}();e.TileScaling=i;},7960:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);});Object.defineProperty(e,"__esModule",{value:!0}),e.TileScalingDao=void 0;var o=n(4115),a=n(4301),s=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.gpkgTableName=e.TABLE_NAME,n.idColumns=[e.COLUMN_TABLE_NAME],n}return i(e,t),e.prototype.createObject=function(t){var e=new a.TileScaling;return t&&(e.table_name=t.table_name,e.scaling_type=t.scaling_type,e.zoom_in=t.zoom_in,e.zoom_out=t.zoom_out),e},e.prototype.createTable=function(){return this.geoPackage.getTableCreator().createTileScaling()},e.prototype.queryForTableName=function(t){var n=this.queryForAll(this.buildWhereWithFieldAndValue(e.COLUMN_TABLE_NAME,t),this.buildWhereArgs(t));return n.length>0?this.createObject(n[0]):null},e.prototype.deleteByTableName=function(t){return this.deleteWhere(this.buildWhereWithFieldAndValue(e.COLUMN_TABLE_NAME,t),this.buildWhereArgs(t))},e.TABLE_NAME="nga_tile_scaling",e.COLUMN_TABLE_NAME="table_name",e.COLUMN_SCALING_TYPE="scaling_type",e.COLUMN_ZOOM_IN="zoom_in",e.COLUMN_ZOOM_OUT="zoom_out",e}(o.Dao);e.TileScalingDao=s;},2777:(t,e)=>{"use strict";var n;Object.defineProperty(e,"__esModule",{value:!0}),e.TileScalingType=void 0,(n=e.TileScalingType||(e.TileScalingType={})).IN="in",n.OUT="out",n.IN_OUT="in_out",n.OUT_IN="out_in",n.CLOSEST_IN_OUT="closest_in_out",n.CLOSEST_OUT_IN="closest_out_in";},8116:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);});Object.defineProperty(e,"__esModule",{value:!0}),e.SchemaExtension=void 0;var o=n(8140),a=n(624),s=n(4941),u=n(7175),l=function(t){function e(e){return t.call(this,e)||this}return i(e,t),e.prototype.getOrCreateExtension=function(){var t=[];return t.push(this.getOrCreate(e.EXTENSION_NAME,s.DataColumnsDao.TABLE_NAME,null,e.EXTENSION_SCHEMA_DEFINITION,a.Extension.READ_WRITE)),t.push(this.getOrCreate(e.EXTENSION_NAME,u.DataColumnConstraintsDao.TABLE_NAME,null,e.EXTENSION_SCHEMA_DEFINITION,a.Extension.READ_WRITE)),t},e.prototype.has=function(){return this.hasExtensions(e.EXTENSION_NAME)},e.prototype.removeExtension=function(){this.geoPackage.isTable(s.DataColumnsDao.TABLE_NAME)&&this.geoPackage.dropTable(s.DataColumnsDao.TABLE_NAME),this.geoPackage.isTable(u.DataColumnConstraintsDao.TABLE_NAME)&&this.geoPackage.dropTable(u.DataColumnConstraintsDao.TABLE_NAME),this.extensionsDao.isTableExists()&&this.extensionsDao.deleteByExtension(e.EXTENSION_NAME);},e.EXTENSION_SCHEMA_AUTHOR="gpkg",e.EXTENSION_SCHEMA_NAME_NO_AUTHOR="schema",e.EXTENSION_NAME=e.EXTENSION_SCHEMA_AUTHOR+"_"+e.EXTENSION_SCHEMA_NAME_NO_AUTHOR,e.EXTENSION_SCHEMA_DEFINITION="http://www.geopackage.org/spec/#extension_schema",e}(o.BaseExtension);e.SchemaExtension=l;},612:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.FeatureStyle=void 0;var n=function(){function t(t,e){this.styleRow=t,this.iconRow=e;}return Object.defineProperty(t.prototype,"style",{get:function(){return this.styleRow},set:function(t){this.styleRow=t;},enumerable:!1,configurable:!0}),t.prototype.hasStyle=function(){return !!this.styleRow},Object.defineProperty(t.prototype,"icon",{get:function(){return this.iconRow},set:function(t){this.iconRow=t;},enumerable:!1,configurable:!0}),t.prototype.hasIcon=function(){return !!this.iconRow},t.prototype.useIcon=function(){return this.hasIcon()&&(!this.iconRow.isTableIcon()||!this.hasStyle()||this.styleRow.isTableStyle())},t}();e.FeatureStyle=n;},2752:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.FeatureStyles=void 0;e.FeatureStyles=function(t,e){void 0===t&&(t=null),void 0===e&&(e=null),this.styles=t,this.icons=e;};},6536:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.FeatureTableStyles=void 0;var r=n(2752),i=n(612),o=n(7924),a=n(4725),s=n(8412),u=n(9211),l=function(){function t(t,e){this.geoPackage=t,e instanceof s.FeatureTable?this.tableName=e.getTableName():this.tableName=e,this.featureStyleExtension=t.featureStyleExtension,this.cachedTableFeatureStyles=new r.FeatureStyles;}return t.prototype.getFeatureStyleExtension=function(){return this.featureStyleExtension},t.prototype.getTableName=function(){return this.tableName},t.prototype.has=function(){return this.featureStyleExtension.has(this.tableName)},t.prototype.createRelationships=function(){return this.featureStyleExtension.createRelationships(this.tableName)},t.prototype.hasRelationship=function(){return this.featureStyleExtension.hasRelationship(this.tableName)},t.prototype.createStyleRelationship=function(){return this.featureStyleExtension.createStyleRelationship(this.tableName)},t.prototype.hasStyleRelationship=function(){return this.featureStyleExtension.hasStyleRelationship(this.tableName)},t.prototype.createTableStyleRelationship=function(){return this.featureStyleExtension.createTableStyleRelationship(this.tableName)},t.prototype.hasTableStyleRelationship=function(){return this.featureStyleExtension.hasTableStyleRelationship(this.tableName)},t.prototype.createIconRelationship=function(){return this.featureStyleExtension.createIconRelationship(this.tableName)},t.prototype.hasIconRelationship=function(){return this.featureStyleExtension.hasIconRelationship(this.tableName)},t.prototype.createTableIconRelationship=function(){return this.featureStyleExtension.createTableIconRelationship(this.tableName)},t.prototype.hasTableIconRelationship=function(){return this.featureStyleExtension.hasTableIconRelationship(this.tableName)},t.prototype.deleteRelationships=function(){return this.featureStyleExtension.deleteRelationships(this.tableName)},t.prototype.deleteStyleRelationship=function(){return this.featureStyleExtension.deleteStyleRelationship(this.tableName)},t.prototype.deleteTableStyleRelationship=function(){return this.featureStyleExtension.deleteTableStyleRelationship(this.tableName)},t.prototype.deleteIconRelationship=function(){return this.featureStyleExtension.deleteIconRelationship(this.tableName)},t.prototype.deleteTableIconRelationship=function(){return this.featureStyleExtension.deleteTableIconRelationship(this.tableName)},t.prototype.getStyleMappingDao=function(){return this.featureStyleExtension.getStyleMappingDao(this.tableName)},t.prototype.getTableStyleMappingDao=function(){return this.featureStyleExtension.getTableStyleMappingDao(this.tableName)},t.prototype.getIconMappingDao=function(){return this.featureStyleExtension.getIconMappingDao(this.tableName)},t.prototype.getTableIconMappingDao=function(){return this.featureStyleExtension.getTableIconMappingDao(this.tableName)},t.prototype.getStyleDao=function(){return this.featureStyleExtension.getStyleDao()},t.prototype.getIconDao=function(){return this.featureStyleExtension.getIconDao()},t.prototype.getTableFeatureStyles=function(){return this.featureStyleExtension.getTableFeatureStyles(this.tableName)},t.prototype.getTableStyles=function(){return this.featureStyleExtension.getTableStyles(this.tableName)},t.prototype.getCachedTableStyles=function(){var t=this.cachedTableFeatureStyles.styles;return null===t&&(null===(t=this.getTableStyles())&&(t=new o.Styles(!0)),this.cachedTableFeatureStyles.styles=t),t.isEmpty()&&(t=null),t},t.prototype.getTableStyle=function(t){return this.featureStyleExtension.getTableStyle(this.tableName,t)},t.prototype.getTableStyleDefault=function(){return this.featureStyleExtension.getTableStyleDefault(this.tableName)},t.prototype.getTableIcons=function(){return this.featureStyleExtension.getTableIcons(this.tableName)},t.prototype.getCachedTableIcons=function(){var t=this.cachedTableFeatureStyles.icons;return null===t&&(null===(t=this.getTableIcons())&&(t=new a.Icons(!0)),this.cachedTableFeatureStyles.icons=t),t.isEmpty()&&(t=null),t},t.prototype.getTableIcon=function(t){return this.featureStyleExtension.getTableIcon(this.tableName,t)},t.prototype.getTableIconDefault=function(){return this.featureStyleExtension.getTableIconDefault(this.tableName)},t.prototype.getFeatureStylesForFeatureRow=function(t){return this.featureStyleExtension.getFeatureStylesForFeatureRow(t)},t.prototype.getFeatureStyles=function(t){return this.featureStyleExtension.getFeatureStyles(this.tableName,t)},t.prototype.getFeatureStyleForFeatureRow=function(t){return this.getFeatureStyleForFeatureRowAndGeometryType(t,u.GeometryType.fromName(t.geometryType.toUpperCase()))},t.prototype.getFeatureStyleForFeatureRowAndGeometryType=function(t,e){return this.getFeatureStyle(t.id,e)},t.prototype.getFeatureStyleDefaultForFeatureRow=function(t){return this.getFeatureStyle(t.id,null)},t.prototype.getFeatureStyle=function(t,e){var n=null,r=this.getStyle(t,e),o=this.getIcon(t,e);return null==r&&null==o||(n=new i.FeatureStyle(r,o)),n},t.prototype.getFeatureStyleDefault=function(t){return this.getFeatureStyle(t,null)},t.prototype.getStylesForFeatureRow=function(t){return this.featureStyleExtension.getStylesForFeatureRow(t)},t.prototype.getStylesForFeatureId=function(t){return this.featureStyleExtension.getStylesForFeatureId(this.tableName,t)},t.prototype.getStyleForFeatureRow=function(t){return this.getStyleForFeatureRowAndGeometryType(t,u.GeometryType.fromName(t.geometryType.toUpperCase()))},t.prototype.getStyleForFeatureRowAndGeometryType=function(t,e){return this.getStyle(t.id,e)},t.prototype.getStyleDefaultForFeatureRow=function(t){return this.getStyle(t.id,null)},t.prototype.getStyle=function(t,e){var n=this.featureStyleExtension.getStyle(this.tableName,t,e,!1);if(null===n){var r=this.getCachedTableStyles();null!==r&&(n=r.getStyle(e));}return n},t.prototype.getStyleDefault=function(t){return this.getStyle(t,null)},t.prototype.getIconsForFeatureRow=function(t){return this.featureStyleExtension.getIconsForFeatureRow(t)},t.prototype.getIconsForFeatureId=function(t){return this.featureStyleExtension.getIconsForFeatureId(this.tableName,t)},t.prototype.getIconForFeatureRow=function(t){return this.getIconForFeatureRowAndGeometryType(t,u.GeometryType.fromName(t.geometryType.toUpperCase()))},t.prototype.getIconForFeatureRowAndGeometryType=function(t,e){return this.getIcon(t.id,e)},t.prototype.getIconDefaultForFeatureRow=function(t){return this.getIcon(t.id,null)},t.prototype.getIcon=function(t,e){var n=this.featureStyleExtension.getIcon(this.tableName,t,e,!1);if(null===n){var r=this.getCachedTableIcons();null!==r&&(n=r.getIcon(e));}return n},t.prototype.getIconDefault=function(t){return this.getIcon(t,null)},t.prototype.setTableFeatureStyles=function(t){var e=this.featureStyleExtension.setTableFeatureStyles(this.tableName,t);return this.clearCachedTableFeatureStyles(),e},t.prototype.setTableStyles=function(t){var e=this.featureStyleExtension.setTableStyles(this.tableName,t);return this.clearCachedTableStyles(),e},t.prototype.setTableStyleDefault=function(t){var e=this.featureStyleExtension.setTableStyleDefault(this.tableName,t);return this.clearCachedTableStyles(),e},t.prototype.setTableStyle=function(t,e){var n=this.featureStyleExtension.setTableStyle(this.tableName,t,e);return this.clearCachedTableStyles(),n},t.prototype.setTableIcons=function(t){var e=this.featureStyleExtension.setTableIcons(this.tableName,t);return this.clearCachedTableIcons(),e},t.prototype.setTableIconDefault=function(t){var e=this.featureStyleExtension.setTableIconDefault(this.tableName,t);return this.clearCachedTableIcons(),e},t.prototype.setTableIcon=function(t,e){var n=this.featureStyleExtension.setTableIcon(this.tableName,t,e);return this.clearCachedTableIcons(),n},t.prototype.setFeatureStylesForFeatureRow=function(t,e){return this.featureStyleExtension.setFeatureStylesForFeatureRow(t,e)},t.prototype.setFeatureStyles=function(t,e){return this.featureStyleExtension.setFeatureStyles(this.tableName,t,e)},t.prototype.setFeatureStyleForFeatureRow=function(t,e){return this.featureStyleExtension.setFeatureStyleForFeatureRow(t,e)},t.prototype.setFeatureStyleForFeatureRowAndGeometryType=function(t,e,n){return this.featureStyleExtension.setFeatureStyleForFeatureRowAndGeometryType(t,e,n)},t.prototype.setFeatureStyleDefaultForFeatureRow=function(t,e){return this.featureStyleExtension.setFeatureStyleDefaultForFeatureRow(t,e)},t.prototype.setFeatureStyle=function(t,e,n){return this.featureStyleExtension.setFeatureStyle(this.tableName,t,e,n)},t.prototype.setFeatureStyleDefault=function(t,e){return this.featureStyleExtension.setFeatureStyleDefault(this.tableName,t,e)},t.prototype.setStylesForFeatureRow=function(t,e){return this.featureStyleExtension.setStylesForFeatureRow(t,e)},t.prototype.setStyles=function(t,e){return this.featureStyleExtension.setStyles(this.tableName,t,e)},t.prototype.setStyleForFeatureRow=function(t,e){return this.featureStyleExtension.setStyleForFeatureRow(t,e)},t.prototype.setStyleForFeatureRowAndGeometryType=function(t,e,n){return this.featureStyleExtension.setStyleForFeatureRowAndGeometryType(t,e,n)},t.prototype.setStyleDefaultForFeatureRow=function(t,e){return this.featureStyleExtension.setStyleDefaultForFeatureRow(t,e)},t.prototype.setStyle=function(t,e,n){return this.featureStyleExtension.setStyle(this.tableName,t,e,n)},t.prototype.setStyleDefault=function(t,e){return this.featureStyleExtension.setStyleDefault(this.tableName,t,e)},t.prototype.setIconsForFeatureRow=function(t,e){return this.featureStyleExtension.setIconsForFeatureRow(t,e)},t.prototype.setIcons=function(t,e){return this.featureStyleExtension.setIcons(this.tableName,t,e)},t.prototype.setIconForFeatureRow=function(t,e){return this.featureStyleExtension.setIconForFeatureRow(t,e)},t.prototype.setIconForFeatureRowAndGeometryType=function(t,e,n){return this.featureStyleExtension.setIconForFeatureRowAndGeometryType(t,e,n)},t.prototype.setIconDefaultForFeatureRow=function(t,e){return this.featureStyleExtension.setIconDefaultForFeatureRow(t,e)},t.prototype.setIcon=function(t,e,n){return this.featureStyleExtension.setIcon(this.tableName,t,e,n)},t.prototype.setIconDefault=function(t,e){return this.featureStyleExtension.setIconDefault(this.tableName,t,e)},t.prototype.deleteAllFeatureStyles=function(){var t=this.featureStyleExtension.deleteAllFeatureStyles(this.tableName);return this.clearCachedTableFeatureStyles(),t},t.prototype.deleteAllStyles=function(){var t=this.featureStyleExtension.deleteAllStyles(this.tableName);return this.clearCachedTableStyles(),t},t.prototype.deleteAllIcons=function(){var t=this.featureStyleExtension.deleteAllIcons(this.tableName);return this.clearCachedTableIcons(),t},t.prototype.deleteTableFeatureStyles=function(){var t=this.featureStyleExtension.deleteTableFeatureStyles(this.tableName);return this.clearCachedTableFeatureStyles(),t},t.prototype.deleteTableStyles=function(){var t=this.featureStyleExtension.deleteTableStyles(this.tableName);return this.clearCachedTableStyles(),t},t.prototype.deleteTableStyleDefault=function(){var t=this.featureStyleExtension.deleteTableStyleDefault(this.tableName);return this.clearCachedTableStyles(),t},t.prototype.deleteTableStyle=function(t){var e=this.featureStyleExtension.deleteTableStyle(this.tableName,t);return this.clearCachedTableStyles(),e},t.prototype.deleteTableIcons=function(){var t=this.featureStyleExtension.deleteTableIcons(this.tableName);return this.clearCachedTableIcons(),t},t.prototype.deleteTableIconDefault=function(){var t=this.featureStyleExtension.deleteTableIconDefault(this.tableName);return this.clearCachedTableIcons(),t},t.prototype.deleteTableIcon=function(t){var e=this.featureStyleExtension.deleteTableIcon(this.tableName,t);return this.clearCachedTableIcons(),e},t.prototype.clearCachedTableFeatureStyles=function(){this.cachedTableFeatureStyles.styles=null,this.cachedTableFeatureStyles.icons=null;},t.prototype.clearCachedTableStyles=function(){this.cachedTableFeatureStyles.styles=null;},t.prototype.clearCachedTableIcons=function(){this.cachedTableFeatureStyles.icons=null;},t.prototype.deleteFeatureStyles=function(){return this.featureStyleExtension.deleteFeatureStyles(this.tableName)},t.prototype.deleteStyles=function(){return this.featureStyleExtension.deleteStyles(this.tableName)},t.prototype.deleteStylesForFeatureRow=function(t){return this.featureStyleExtension.deleteStylesForFeatureRow(t)},t.prototype.deleteStylesForFeatureId=function(t){return this.featureStyleExtension.deleteStylesForFeatureId(this.tableName,t)},t.prototype.deleteStyleDefaultForFeatureRow=function(t){return this.featureStyleExtension.deleteStyleDefaultForFeatureRow(t)},t.prototype.deleteStyleDefault=function(t){return this.featureStyleExtension.deleteStyleDefault(this.tableName,t)},t.prototype.deleteStyleForFeatureRow=function(t){return this.featureStyleExtension.deleteStyleForFeatureRow(t)},t.prototype.deleteStyleForFeatureRowAndGeometryType=function(t,e){return this.featureStyleExtension.deleteStyleForFeatureRowAndGeometryType(t,e)},t.prototype.deleteStyle=function(t,e){return this.featureStyleExtension.deleteStyle(this.tableName,t,e)},t.prototype.deleteStyleAndMappingsByStyleRow=function(t){return this.featureStyleExtension.deleteStyleAndMappingsByStyleRow(this.tableName,t)},t.prototype.deleteStyleAndMappingsByStyleRowId=function(t){return this.featureStyleExtension.deleteStyleAndMappingsByStyleRowId(this.tableName,t)},t.prototype.deleteIcons=function(){return this.featureStyleExtension.deleteIcons(this.tableName)},t.prototype.deleteIconsForFeatureRow=function(t){return this.featureStyleExtension.deleteIconsForFeatureRow(t)},t.prototype.deleteIconsForFeatureId=function(t){return this.featureStyleExtension.deleteIconsForFeatureId(this.tableName,t)},t.prototype.deleteIconDefaultForFeatureRow=function(t){return this.featureStyleExtension.deleteIconDefaultForFeatureRow(t)},t.prototype.deleteIconDefault=function(t){return this.featureStyleExtension.deleteIconDefault(this.tableName,t)},t.prototype.deleteIconForFeatureRow=function(t){return this.featureStyleExtension.deleteIconForFeatureRow(t)},t.prototype.deleteIconForFeatureRowAndGeometryType=function(t,e){return this.featureStyleExtension.deleteIconForFeatureRowAndGeometryType(t,e)},t.prototype.deleteIcon=function(t,e){return this.featureStyleExtension.deleteIcon(this.tableName,t,e)},t.prototype.deleteIconAndMappingsByIconRow=function(t){return this.featureStyleExtension.deleteIconAndMappingsByIconRow(this.tableName,t)},t.prototype.deleteIconAndMappingsByIconRowId=function(t){return this.featureStyleExtension.deleteIconAndMappingsByIconRowId(this.tableName,t)},t.prototype.getAllTableStyleIds=function(){return this.featureStyleExtension.getAllTableStyleIds(this.tableName)},t.prototype.getAllTableIconIds=function(){return this.featureStyleExtension.getAllTableIconIds(this.tableName)},t.prototype.getAllStyleIds=function(){return this.featureStyleExtension.getAllStyleIds(this.tableName)},t.prototype.getAllIconIds=function(){return this.featureStyleExtension.getAllIconIds(this.tableName)},t}();e.FeatureTableStyles=l;},8600:function(t,e,n){"use strict";var r=this&&this.__awaiter||function(t,e,n,r){return new(n||(n=Promise))((function(i,o){function a(t){try{u(r.next(t));}catch(t){o(t);}}function s(t){try{u(r.throw(t));}catch(t){o(t);}}function u(t){var e;t.done?i(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e);}))).then(a,s);}u((r=r.apply(t,e||[])).next());}))},i=this&&this.__generator||function(t,e){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(s){return function(u){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;o&&(o=0,s[0]&&(a=0)),a;)try{if(n=1,r&&(i=2&s[0]?r.return:s[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,s[1])).done)return i;switch(r=0,i&&(s=[2&s[0],i.value]),s[0]){case 0:case 1:i=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,r=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!((i=(i=a.trys).length>0&&i[i.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!i||s[1]>i[0]&&s[1]-1&&this.accessHistory.splice(n,1),this.accessHistory.push(t);}return e},t.prototype.putIconForIconRow=function(t,e){return this.put(t.id,e)},t.prototype.put=function(t,e){var n=this.iconCache[t];if(this.iconCache[t]=e,n){var r=this.accessHistory.indexOf(t);r>-1&&this.accessHistory.splice(r,1);}if(this.accessHistory.push(t),Object.keys(this.iconCache).length>this.cacheSize){var i=this.accessHistory.shift();if(i){var a=this.iconCache[i];a&&o.Canvas.disposeImage(a),delete this.iconCache[i];}}return n},t.prototype.removeIconForIconRow=function(t){return this.remove(t.id)},t.prototype.remove=function(t){var e=this.iconCache[t];if(delete this.iconCache[t],e){var n=this.accessHistory.indexOf(t);n>-1&&this.accessHistory.splice(n,1);}return e},t.prototype.clear=function(){var t=this;Object.keys(this.iconCache).forEach((function(e){var n=t.iconCache[e];o.Canvas.disposeImage(n);})),this.iconCache={},this.accessHistory=[];},t.prototype.resize=function(t){this.cacheSize=t;var e=Object.keys(this.iconCache);if(e.length>t)for(var n=e.length-t,r=0;r1))throw new Error("Anchor must be set inclusively between 0.0 and 1.0, invalid value: "+t);return !0},e.prototype.isTableIcon=function(){return this.tableIcon},e.prototype.setTableIcon=function(t){this.tableIcon=t;},e}(o.MediaRow);e.IconRow=s;},2015:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);});Object.defineProperty(e,"__esModule",{value:!0}),e.IconTable=void 0;var o=n(6366),a=n(7319),s=n(5865),u=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.TABLE_TYPE="media",e}return i(e,t),e.prototype.getNameColumnIndex=function(){return this.getColumnIndex(e.COLUMN_NAME)},e.prototype.getNameColumn=function(){return this.getColumnWithColumnName(e.COLUMN_NAME)},e.prototype.getDescriptionColumnIndex=function(){return this.getColumnIndex(e.COLUMN_DESCRIPTION)},e.prototype.getDescriptionColumn=function(){return this.getColumnWithColumnName(e.COLUMN_DESCRIPTION)},e.prototype.getWidthColumnIndex=function(){return this.getColumnIndex(e.COLUMN_WIDTH)},e.prototype.getWidthColumn=function(){return this.getColumnWithColumnName(e.COLUMN_WIDTH)},e.prototype.getHeightColumnIndex=function(){return this.getColumnIndex(e.COLUMN_HEIGHT)},e.prototype.getHeightColumn=function(){return this.getColumnWithColumnName(e.COLUMN_HEIGHT)},e.prototype.getAnchorUColumnIndex=function(){return this.getColumnIndex(e.COLUMN_ANCHOR_U)},e.prototype.getAnchorUColumn=function(){return this.getColumnWithColumnName(e.COLUMN_ANCHOR_U)},e.prototype.getAnchorVColumnIndex=function(){return this.getColumnIndex(e.COLUMN_ANCHOR_V)},e.prototype.getAnchorVColumn=function(){return this.getColumnWithColumnName(e.COLUMN_ANCHOR_V)},e.create=function(){return new e(e.TABLE_NAME,e.createColumns(),e.requiredColumns())},e.createRequiredColumns=function(){return o.MediaTable.createRequiredColumns()},e.requiredColumns=function(){return o.MediaTable.requiredColumns()},e.createColumns=function(){var t=e.createRequiredColumns(),n=t.length;return t.push(s.UserColumn.createColumn(n++,e.COLUMN_NAME,a.GeoPackageDataType.TEXT,!1)),t.push(s.UserColumn.createColumn(n++,e.COLUMN_DESCRIPTION,a.GeoPackageDataType.TEXT,!1)),t.push(s.UserColumn.createColumn(n++,e.COLUMN_WIDTH,a.GeoPackageDataType.REAL,!1)),t.push(s.UserColumn.createColumn(n++,e.COLUMN_HEIGHT,a.GeoPackageDataType.REAL,!1)),t.push(s.UserColumn.createColumn(n++,e.COLUMN_ANCHOR_U,a.GeoPackageDataType.REAL,!1)),t.push(s.UserColumn.createColumn(n,e.COLUMN_ANCHOR_V,a.GeoPackageDataType.REAL,!1)),t},e.TABLE_NAME="nga_icon",e.COLUMN_NAME="name",e.COLUMN_DESCRIPTION="description",e.COLUMN_WIDTH="width",e.COLUMN_HEIGHT="height",e.COLUMN_ANCHOR_U="anchor_u",e.COLUMN_ANCHOR_V="anchor_v",e}(o.MediaTable);e.IconTable=u;},4725:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Icons=void 0;var n=function(){function t(t){void 0===t&&(t=!1),this.defaultIcon=null,this.icons=new Map,this.tableIcons=t;}return t.prototype.setDefault=function(t){null!=t&&t.setTableIcon(this.tableIcons),this.defaultIcon=t;},t.prototype.getDefault=function(){return this.defaultIcon},t.prototype.setIcon=function(t,e){void 0===e&&(e=null),null!==e?null!=t?(t.setTableIcon(this.tableIcons),this.icons.set(e,t)):this.icons.delete(e):this.setDefault(t);},t.prototype.getIcon=function(t){void 0===t&&(t=null);var e=null;return null!==t&&this.icons.has(t)&&(e=this.icons.get(t)),null!=e&&null!==t||(e=this.getDefault()),e},t.prototype.isEmpty=function(){return 0===this.icons.size&&null===this.defaultIcon},t.prototype.getGeometryTypes=function(){return Array.from(this.icons.keys())},t}();e.Icons=n;},8479:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);});Object.defineProperty(e,"__esModule",{value:!0}),e.FeatureStyleExtension=void 0;var o=n(8140),a=n(624),s=n(7092),u=n(2015),l=n(9529),c=n(3934),h=n(3237),f=n(8138),p=n(3410),d=n(1553),y=n(8412),m=n(2752),g=n(612),_=n(7924),b=n(4725),v=n(362),T=n(9211),E=function(t){function e(e){var n=t.call(this,e)||this;return n.relatedTablesExtension=e.relatedTablesExtension,n.contentsIdExtension=e.contentsIdExtension,n}return i(e,t),e.prototype.getOrCreateExtension=function(t){return this.getOrCreate(e.EXTENSION_NAME,this.getFeatureTableName(t),null,e.EXTENSION_DEFINITION,a.Extension.READ_WRITE)},e.prototype.has=function(t){return this.hasExtension(e.EXTENSION_NAME,this.getFeatureTableName(t),null)},e.prototype.getTables=function(){var t=[];if(this.extensionsDao.isTableExists())for(var n=this.extensionsDao.queryAllByExtension(e.EXTENSION_NAME),r=0;r1))throw new Error("Opacity must be set inclusively between 0.0 and 1.0, invalid value: "+t);return !0},e.prototype.createColor=function(t,e){var n="#000000";if(null!==t&&(n=t),null!==e){var r=Math.round(255*e).toString(16);1===r.length&&(r="0"+r),n+=r;}return n.toUpperCase()},e.prototype._hasColor=function(t,e){return null!==t||null!==e},e.prototype.isTableStyle=function(){return this.tableStyle},e.prototype.setTableStyle=function(t){this.tableStyle=t;},e.colorPattern=/^#([0-9a-fA-F]{3}){1,2}$/,e}(n(6861).AttributesRow);e.StyleRow=o;},3934:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);});Object.defineProperty(e,"__esModule",{value:!0}),e.StyleTable=void 0;var o=n(3931),a=n(8483),s=n(5865),u=n(7319),l=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.TABLE_TYPE="media",e.data_type=a.RelationType.ATTRIBUTES.dataType,e.relation_name=a.RelationType.ATTRIBUTES.name,e}return i(e,t),e.prototype.getNameColumnIndex=function(){return this.getColumnIndex(e.COLUMN_NAME)},e.prototype.getNameColumn=function(){return this.getColumnWithColumnName(e.COLUMN_NAME)},e.prototype.getDescriptionColumnIndex=function(){return this.getColumnIndex(e.COLUMN_DESCRIPTION)},e.prototype.getDescriptionColumn=function(){return this.getColumnWithColumnName(e.COLUMN_DESCRIPTION)},e.prototype.getColorColumnIndex=function(){return this.getColumnIndex(e.COLUMN_COLOR)},e.prototype.getColorColumn=function(){return this.getColumnWithColumnName(e.COLUMN_COLOR)},e.prototype.getOpacityColumnIndex=function(){return this.getColumnIndex(e.COLUMN_OPACITY)},e.prototype.getOpacityColumn=function(){return this.getColumnWithColumnName(e.COLUMN_OPACITY)},e.prototype.getWidthColumnIndex=function(){return this.getColumnIndex(e.COLUMN_WIDTH)},e.prototype.getWidthColumn=function(){return this.getColumnWithColumnName(e.COLUMN_WIDTH)},e.prototype.getFillColorColumnIndex=function(){return this.getColumnIndex(e.COLUMN_FILL_COLOR)},e.prototype.getFillColorColumn=function(){return this.getColumnWithColumnName(e.COLUMN_FILL_COLOR)},e.prototype.getFillOpacityColumnIndex=function(){return this.getColumnIndex(e.COLUMN_FILL_OPACITY)},e.prototype.getFillOpacityColumn=function(){return this.getColumnWithColumnName(e.COLUMN_FILL_OPACITY)},e.create=function(){return new e(e.TABLE_NAME,e.createColumns())},e.createColumns=function(){var t=[],n=0;return t.push(s.UserColumn.createPrimaryKeyColumn(n++,e.COLUMN_ID)),t.push(s.UserColumn.createColumn(n++,e.COLUMN_NAME,u.GeoPackageDataType.TEXT,!1)),t.push(s.UserColumn.createColumn(n++,e.COLUMN_DESCRIPTION,u.GeoPackageDataType.TEXT,!1)),t.push(s.UserColumn.createColumn(n++,e.COLUMN_COLOR,u.GeoPackageDataType.TEXT,!1)),t.push(s.UserColumn.createColumn(n++,e.COLUMN_OPACITY,u.GeoPackageDataType.REAL,!1)),t.push(s.UserColumn.createColumn(n++,e.COLUMN_WIDTH,u.GeoPackageDataType.REAL,!1)),t.push(s.UserColumn.createColumn(n++,e.COLUMN_FILL_COLOR,u.GeoPackageDataType.TEXT,!1)),t.push(s.UserColumn.createColumn(7,e.COLUMN_FILL_OPACITY,u.GeoPackageDataType.REAL,!1)),t},e.TABLE_NAME="nga_style",e.COLUMN_ID="id",e.COLUMN_NAME="name",e.COLUMN_DESCRIPTION="description",e.COLUMN_COLOR="color",e.COLUMN_OPACITY="opacity",e.COLUMN_WIDTH="width",e.COLUMN_FILL_COLOR="fill_color",e.COLUMN_FILL_OPACITY="fill_opacity",e}(o.AttributesTable);e.StyleTable=l;},1553:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);});Object.defineProperty(e,"__esModule",{value:!0}),e.StyleTableReader=void 0;var o=n(464),a=n(3934),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.createTable=function(t,e){return new a.StyleTable(t,e)},e}(o.AttributesTableReader);e.StyleTableReader=s;},7924:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Styles=void 0;var n=function(){function t(t){void 0===t&&(t=!1),this.defaultStyle=null,this.styles=new Map,this.tableStyles=t;}return t.prototype.setDefault=function(t){null!=t&&t.setTableStyle(this.tableStyles),this.defaultStyle=t;},t.prototype.getDefault=function(){return this.defaultStyle},t.prototype.setStyle=function(t,e){void 0===e&&(e=null),null!==e?null!=t?(t.setTableStyle(this.tableStyles),this.styles.set(e,t)):this.styles.delete(e):this.setDefault(t);},t.prototype.getStyle=function(t){void 0===t&&(t=null);var e=null;return null!==t&&(e=this.styles.get(t)),null!=e&&null!==t||(e=this.getDefault()),e},t.prototype.isEmpty=function(){return 0===this.styles.size&&null===this.defaultStyle},t.prototype.getGeometryTypes=function(){return Array.from(this.styles.keys())},t}();e.Styles=n;},7719:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);});Object.defineProperty(e,"__esModule",{value:!0}),e.WebPExtension=void 0;var o=n(8140),a=n(624),s=function(t){function e(e,n){var r=t.call(this,e)||this;return r.tableName=n,r}return i(e,t),e.prototype.getOrCreateExtension=function(){return this.getOrCreate(e.EXTENSION_NAME,this.tableName,"tile_data",e.EXTENSION_WEBP_DEFINITION,a.Extension.READ_WRITE)},e.EXTENSION_NAME="gpkg_webp",e.EXTENSION_WEBP_AUTHOR="gpkg",e.EXTENSION_WEBP_NAME_NO_AUTHOR="webp",e.EXTENSION_WEBP_DEFINITION="http://www.geopackage.org/spec/#extension_webp",e}(o.BaseExtension);e.WebPExtension=s;},812:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.GeometryColumns=void 0;var r=n(9971),i=function(){function t(){}return Object.defineProperty(t.prototype,"geometryType",{get:function(){return this.geometry_type_name},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"id",{get:function(){return "".concat(this.table_name," ").concat(this.column_name)},enumerable:!1,configurable:!0}),t.prototype.setContents=function(t){if(null!=t){var e=t.data_type;if(null==e||e!==r.ContentsDataType.FEATURES)throw new Error("The Contents of a GeometryColumns must have a data type of "+r.ContentsDataType.nameFromType(r.ContentsDataType.FEATURES));this.table_name=t.table_name;}else this.table_name=null;},t.TABLE_NAME="tableName",t.COLUMN_NAME="columnName",t.GEOMETRY_TYPE_NAME="geometryTypeName",t.SRS_ID="srsId",t.Z="z",t.M="m",t}();e.GeometryColumns=i;},1968:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);}),o=this&&this.__values||function(t){var e="function"==typeof Symbol&&Symbol.iterator,n=e&&t[e],r=0;if(n)return n.call(t);if(t&&"number"==typeof t.length)return {next:function(){return t&&r>=t.length&&(t=void 0),{value:t&&t[r++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.GeometryColumnsDao=void 0;var a=n(4115),s=n(812),u=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.gpkgTableName="gpkg_geometry_columns",n.idColumns=[e.COLUMN_ID_1,e.COLUMN_ID_2],n.columns=[e.COLUMN_TABLE_NAME,e.COLUMN_COLUMN_NAME,e.COLUMN_GEOMETRY_TYPE_NAME,e.COLUMN_SRS_ID,e.COLUMN_Z,e.COLUMN_M],n}return i(e,t),e.prototype.createObject=function(t){var e=new s.GeometryColumns;return t&&(e.table_name=t.table_name,e.column_name=t.column_name,e.geometry_type_name=t.geometry_type_name,e.srs_id=t.srs_id,e.z=t.z,e.m=t.m),e},e.prototype.queryForTableName=function(t){var n=this.queryForAllEq(e.COLUMN_TABLE_NAME,t);if(n&&n.length)return this.createObject(n[0])},e.prototype.getFeatureTables=function(){var t,n,r=[];try{for(var i=o(this.connection.each("select "+e.COLUMN_TABLE_NAME+" from "+this.gpkgTableName)),a=i.next();!a.done;a=i.next()){var s=a.value;r.push(s[e.COLUMN_TABLE_NAME]);}}catch(e){t={error:e};}finally{try{a&&!a.done&&(n=i.return)&&n.call(i);}finally{if(t)throw t.error}}return r},e.prototype.getSrs=function(t){return this.geoPackage.spatialReferenceSystemDao.queryForId(t.srs_id)},e.prototype.getContents=function(t){return this.geoPackage.contentsDao.queryForId(t.table_name)},e.prototype.getProjection=function(t){var e=this.getSrs(t);return this.geoPackage.spatialReferenceSystemDao.getProjection(e)},e.COLUMN_TABLE_NAME="table_name",e.COLUMN_COLUMN_NAME="column_name",e.COLUMN_ID_1=e.COLUMN_TABLE_NAME,e.COLUMN_ID_2=e.COLUMN_COLUMN_NAME,e.COLUMN_GEOMETRY_TYPE_NAME="geometry_type_name",e.COLUMN_SRS_ID="srs_id",e.COLUMN_Z="z",e.COLUMN_M="m",e}(a.Dao);e.GeometryColumnsDao=u;},961:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);});Object.defineProperty(e,"__esModule",{value:!0}),e.FeatureColumn=void 0;var o=n(5865),a=n(7319),s=n(9211),u=n(5071),l=function(t){function e(e,n,r,i,o,a,s,u,l){var c=t.call(this,e,n,r,i,o,a,s,l)||this;return c.geometryType=u,c.type=c.getTypeName(n,r,u),c}return i(e,t),e.createPrimaryKeyColumn=function(t,n,r){return void 0===r&&(r=u.UserTableDefaults.DEFAULT_AUTOINCREMENT),new e(t,n,a.GeoPackageDataType.INTEGER,void 0,!0,void 0,!0,void 0,r)},e.createGeometryColumn=function(t,n,r,i,o){if(null==r)throw new Error("Geometry Type is required to create column: "+n);return new e(t,n,a.GeoPackageDataType.BLOB,void 0,i,o,!1,r,!1)},e.createColumn=function(t,n,r,i,o,a,s){return void 0===i&&(i=!1),new e(t,n,r,a,i,o,!1,void 0,s)},e.prototype.getTypeName=function(e,n,r){return null!=r?s.GeometryType.nameFromType(r):t.prototype.getTypeName.call(this,e,n)},e.getGeometryTypeFromTableColumn=function(t){var e=null;return t.isDataType(a.GeoPackageDataType.BLOB)&&(e=s.GeometryType.fromName(t.type)),e},e.prototype.copy=function(){return new e(this.index,this.name,this.dataType,this.max,this.notNull,this.defaultValue,this.primaryKey,this.geometryType,this.autoincrement)},e.prototype.isGeometry=function(){return null!==this.geometryType},e.prototype.getGeometryType=function(){return this.geometryType},e}(o.UserColumn);e.FeatureColumn=l;},5053:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);});Object.defineProperty(e,"__esModule",{value:!0}),e.FeatureColumns=void 0;var o=n(2114),a=n(7319),s=function(t){function e(e,n,r,i){var o=t.call(this,e,r,i)||this;return o.geometryIndex=-1,o.geometryColumn=n,o.updateColumns(),o}return i(e,t),e.prototype.copy=function(){return new e(this.getTableName(),this.getGeometryColumnName(),this.getColumns(),this.isCustom())},e.prototype.updateColumns=function(){t.prototype.updateColumns.call(this);var e=null;if(null!==this.geometryColumn&&void 0!==this.geometryColumn)e=this.getColumnIndex(this.geometryColumn,!1);else for(var n=0;n=0},e.prototype.getGeometryColumn=function(){var t=null;return this.hasGeometryColumn()&&(t=this.getColumnForIndex(this.geometryIndex)),t},e}(o.UserColumns);e.FeatureColumns=s;},2071:function(t,e,n){"use strict";var r,i=n(5108),o=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);}),a=this&&this.__awaiter||function(t,e,n,r){return new(n||(n=Promise))((function(i,o){function a(t){try{u(r.next(t));}catch(t){o(t);}}function s(t){try{u(r.throw(t));}catch(t){o(t);}}function u(t){var e;t.done?i(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e);}))).then(a,s);}u((r=r.apply(t,e||[])).next());}))},s=this&&this.__generator||function(t,e){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(s){return function(u){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;o&&(o=0,s[0]&&(a=0)),a;)try{if(n=1,r&&(i=2&s[0]?r.return:s[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,s[1])).done)return i;switch(r=0,i&&(s=[2&s[0],i.value]),s[0]){case 0:case 1:i=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,r=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!((i=(i=a.trys).length>0&&i[i.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!i||s[1]>i[0]&&s[1]0;break;case "Polygon":case "MultiPolygon":r=null!==(0,h.default)(o,n);break;case "MultiPoint":r=e.multiPointIntersects(o,n);break;case "GeometryCollection":r=e.geometryCollectionIntersects(o,n);}}return r},e.verifyGeometryCollection=function(t,n){return e.geometryCollectionIntersects(t,n.toGeoJSON().geometry)||(0,f.default)(t,n.toGeoJSON().geometry)?t:void 0},e.readTable=function(t,e){return t.getFeatureDao(e)},e}(y.UserDao);e.FeatureDao=T;},234:function(t,e,n){"use strict";var r,i=n(3085).lW,o=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);});Object.defineProperty(e,"__esModule",{value:!0}),e.FeatureRow=void 0;var a=n(2224),s=n(961),u=n(857),l=function(t){function e(e,n,r){var i=t.call(this,e,n,r)||this;return i.featureTable=e,i}return o(e,t),Object.defineProperty(e.prototype,"geometryColumnIndex",{get:function(){return this.featureTable.getGeometryColumnIndex()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"geometryColumn",{get:function(){return this.featureTable.getGeometryColumn()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"geometry",{get:function(){return this.getValueWithIndex(this.featureTable.getGeometryColumnIndex())},set:function(t){this.setValueWithIndex(this.featureTable.getGeometryColumnIndex(),t);},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"geometryType",{get:function(){var t=null,e=this.getValueWithIndex(this.featureTable.getGeometryColumnIndex());return null!==e&&(t=e.toGeoJSON().type),t},enumerable:!1,configurable:!0}),e.prototype.toObjectValue=function(e,n){var r=this.getColumnWithIndex(e);return r instanceof s.FeatureColumn&&r.isGeometry()&&n&&n instanceof i||n instanceof Uint8Array?new u.GeometryData(n):t.prototype.toObjectValue.call(this,e,n)},e.prototype.getValueWithColumnName=function(e){var n=this.values[e],r=this.getColumnWithColumnName(e);return null!=n&&r instanceof s.FeatureColumn&&r.isGeometry()&&n.toData?n.toData():t.prototype.getValueWithColumnName.call(this,e)},e}(a.UserRow);e.FeatureRow=l;},8412:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);});Object.defineProperty(e,"__esModule",{value:!0}),e.FeatureTable=void 0;var o=n(8018),a=n(5053),s=n(9971),u=function(t){function e(e,n,r){return t.call(this,new a.FeatureColumns(e,n,r,!1))||this}return i(e,t),e.prototype.copy=function(){return new e(this.getTableName(),this.getGeometryColumnName(),this.getUserColumns().getColumns())},e.prototype.getGeometryColumnIndex=function(){return this.getUserColumns().getGeometryIndex()},e.prototype.getUserColumns=function(){return t.prototype.getUserColumns.call(this)},e.prototype.getGeometryColumn=function(){return this.getUserColumns().getGeometryColumn()},e.prototype.getGeometryColumnName=function(){return this.getUserColumns().getGeometryColumnName()},e.prototype.getIdAndGeometryColumnNames=function(){return [this.getPkColumnName(),this.getGeometryColumnName()]},e.prototype.validateContents=function(t){var e=t.data_type;if(null==e||e!==s.ContentsDataType.FEATURES)throw new Error("The Contents of a FeatureTable must have a data type of "+s.ContentsDataType.FEATURES)},e}(o.UserTable);e.FeatureTable=u;},4896:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);});Object.defineProperty(e,"__esModule",{value:!0}),e.FeatureTableReader=void 0;var o=n(1968),a=n(8412),s=n(4880),u=n(961),l=n(812),c=function(t){function e(e){var n=t.call(this,e instanceof l.GeometryColumns?e.table_name:e)||this;return e instanceof l.GeometryColumns&&(n.columnName=e.column_name),n}return i(e,t),e.prototype.readFeatureTable=function(t){if(null===this.columnName||void 0===this.columnName){var e=new o.GeometryColumnsDao(t);this.columnName=e.queryForTableName(this.table_name).column_name;}return this.readTable(t.database)},e.prototype.createTable=function(t,e){return new a.FeatureTable(t,this.columnName,e)},e.prototype.createColumn=function(t){return new u.FeatureColumn(t.index,t.name,t.dataType,t.max,t.notNull,t.defaultValue,t.primaryKey,u.FeatureColumn.getGeometryTypeFromTableColumn(t),t.autoincrement)},e}(s.UserTableReader);e.FeatureTableReader=c;},9211:(t,e)=>{"use strict";var n;Object.defineProperty(e,"__esModule",{value:!0}),e.GeometryType=void 0,(n=e.GeometryType||(e.GeometryType={}))[n.GEOMETRY=0]="GEOMETRY",n[n.POINT=1]="POINT",n[n.LINESTRING=2]="LINESTRING",n[n.POLYGON=3]="POLYGON",n[n.MULTIPOINT=4]="MULTIPOINT",n[n.MULTILINESTRING=5]="MULTILINESTRING",n[n.MULTIPOLYGON=6]="MULTIPOLYGON",n[n.GEOMETRYCOLLECTION=7]="GEOMETRYCOLLECTION",n[n.CIRCULARSTRING=8]="CIRCULARSTRING",n[n.COMPOUNDCURVE=9]="COMPOUNDCURVE",n[n.CURVEPOLYGON=10]="CURVEPOLYGON",n[n.MULTICURVE=11]="MULTICURVE",n[n.MULTISURFACE=12]="MULTISURFACE",n[n.CURVE=13]="CURVE",n[n.SURFACE=14]="SURFACE",n[n.POLYHEDRALSURFACE=15]="POLYHEDRALSURFACE",n[n.TIN=16]="TIN",n[n.TRIANGLE=17]="TRIANGLE",function(t){t.nameFromType=function(e){var n=null;return null!=e&&(n=t[e]),n},t.fromName=function(e){return t[e]};}(e.GeometryType||(e.GeometryType={}));},4325:function(t,e,n){"use strict";var r=this&&this.__createBinding||(Object.create?function(t,e,n,r){void 0===r&&(r=n);var i=Object.getOwnPropertyDescriptor(e,n);i&&!("get"in i?!e.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return e[n]}}),Object.defineProperty(t,r,i);}:function(t,e,n,r){void 0===r&&(r=n),t[r]=e[n];}),i=this&&this.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e});}:function(t,e){t.default=e;}),o=this&&this.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)"default"!==n&&Object.prototype.hasOwnProperty.call(t,n)&&r(e,t,n);return i(e,t),e},a=this&&this.__awaiter||function(t,e,n,r){return new(n||(n=Promise))((function(i,o){function a(t){try{u(r.next(t));}catch(t){o(t);}}function s(t){try{u(r.throw(t));}catch(t){o(t);}}function u(t){var e;t.done?i(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e);}))).then(a,s);}u((r=r.apply(t,e||[])).next());}))},s=this&&this.__generator||function(t,e){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(s){return function(u){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;o&&(o=0,s[0]&&(a=0)),a;)try{if(n=1,r&&(i=2&s[0]?r.return:s[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,s[1])).done)return i;switch(r=0,i&&(s=[2&s[0],i.value]),s[0]){case 0:case 1:i=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,r=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!((i=(i=a.trys).length>0&&i[i.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!i||s[1]>i[0]&&s[1]=t.length&&(t=void 0),{value:t&&t[r++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},l=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.GeoPackage=void 0;var c=l(n(1011)),h=l(n(6102)),f=l(n(3892)),p=l(n(7383)),d=l(n(8147)),y=l(n(1013)),m=o(n(4102)),g=l(n(4472)),_=n(857),b=n(5306),v=n(1832),T=n(8479),E=n(1314),w=n(7523),x=n(5965),C=n(1968),M=n(2071),S=n(4896),N=n(6638),O=n(5925),A=n(3506),I=n(4941),P=n(7175),R=n(663),L=n(2056),D=n(5698),k=n(9581),F=n(9095),U=n(8904),B=n(8008),j=n(1394),G=n(7092),W=n(7960),q=n(3931),H=n(9631),z=n(464),V=n(8412),X=n(8138),Y=n(8704),Z=n(5897),Q=n(7319),K=n(8116),J=n(812),$=n(1459),tt=n(1938),et=n(3684),nt=n(2527),rt=n(5899),it=n(5865),ot=n(8133),at=n(4275),st=n(961),ut=n(6366),lt=n(8483),ct=n(4599),ht=n(297),ft=n(731),pt=n(4301),dt=n(2777),yt=n(8375),mt=n(8314),gt=n(9406),_t=n(9971),bt=n(9211),vt=n(7686),Tt=n(5604),Et=n(1375),wt=n(8877),xt=function(){function t(t,e,n){this.name=t,this.path=e,this.connection=n,this.tableCreator=new $.TableCreator(this),this.loadSpatialReferenceSystemsIntoProj4();}return t.prototype.close=function(){this.connection.close();},Object.defineProperty(t.prototype,"database",{get:function(){return this.connection},enumerable:!1,configurable:!0}),t.prototype.export=function(){return a(this,void 0,void 0,(function(){return s(this,(function(t){return [2,this.connection.export()]}))}))},t.prototype.loadSpatialReferenceSystemsIntoProj4=function(){this.spatialReferenceSystemDao.getAllSpatialReferenceSystems().forEach((function(t){try{t.srs_id>0&&(t.organization!==Et.ProjectionConstants.EPSG||t.organization_coordsys_id!==Et.ProjectionConstants.EPSG_CODE_4326&&t.organization_coordsys_id!==Et.ProjectionConstants.EPSG_CODE_3857)&&Tt.Projection.loadProjection([t.organization,t.organization_coordsys_id].join(":"),t.definition);}catch(t){}}));},t.prototype.validate=function(){var t=[];return t.concat(at.GeoPackageValidate.validateMinimumTables(this))},Object.defineProperty(t.prototype,"spatialReferenceSystemDao",{get:function(){return this._spatialReferenceSystemDao||(this._spatialReferenceSystemDao=new x.SpatialReferenceSystemDao(this))},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"contentsDao",{get:function(){return this._contentsDao||(this._contentsDao=new N.ContentsDao(this))},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"tileMatrixSetDao",{get:function(){return this._tileMatrixSetDao||(this._tileMatrixSetDao=new O.TileMatrixSetDao(this))},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"tileMatrixDao",{get:function(){return this._tileMatrixDao||(this._tileMatrixDao=new A.TileMatrixDao(this))},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"dataColumnsDao",{get:function(){return this._dataColumnsDao||(this._dataColumnsDao=new I.DataColumnsDao(this))},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"extensionDao",{get:function(){return this._extensionDao||(this._extensionDao=new D.ExtensionDao(this))},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"tableIndexDao",{get:function(){return this._tableIndexDao||(this._tableIndexDao=new k.TableIndexDao(this))},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"geometryColumnsDao",{get:function(){return this._geometryColumnsDao||(this._geometryColumnsDao=new C.GeometryColumnsDao(this))},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"dataColumnConstraintsDao",{get:function(){return this._dataColumnConstraintsDao||(this._dataColumnConstraintsDao=new P.DataColumnConstraintsDao(this))},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"metadataReferenceDao",{get:function(){return this._metadataReferenceDao||(this._metadataReferenceDao=new L.MetadataReferenceDao(this))},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"metadataDao",{get:function(){return this._metadataDao||(this._metadataDao=new R.MetadataDao(this))},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"extendedRelationDao",{get:function(){return this._extendedRelationDao||(this._extendedRelationDao=new U.ExtendedRelationDao(this))},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"contentsIdDao",{get:function(){return this._contentsIdDao||(this._contentsIdDao=new G.ContentsIdDao(this))},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"tileScalingDao",{get:function(){return this._tileScalingDao||(this._tileScalingDao=new W.TileScalingDao(this))},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"contentsIdExtension",{get:function(){return this._contentsIdExtension||(this._contentsIdExtension=new E.ContentsIdExtension(this))},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"featureStyleExtension",{get:function(){return this._featureStyleExtension||(this._featureStyleExtension=new T.FeatureStyleExtension(this))},enumerable:!1,configurable:!0}),t.prototype.getTileScalingExtension=function(t){return new w.TileScalingExtension(this,t)},t.prototype.getGeometryIndexDao=function(t){return new F.GeometryIndexDao(this,t)},Object.defineProperty(t.prototype,"relatedTablesExtension",{get:function(){return this._relatedTablesExtension||(this._relatedTablesExtension=new v.RelatedTablesExtension(this))},enumerable:!1,configurable:!0}),t.prototype.getSrs=function(t){return this.spatialReferenceSystemDao.queryForId(t)},t.prototype.createRequiredTables=function(){return this.tableCreator.createRequired(),this},t.prototype.createSupportedExtensions=function(){return new b.CrsWktExtension(this).getOrCreateExtension(),new K.SchemaExtension(this).getOrCreateExtension(),this},t.prototype.getTileDao=function(t){if(t instanceof Z.Contents)t=this.contentsDao.getTileMatrixSet(t);else if(!(t instanceof rt.TileMatrixSet)){var e=this.tileMatrixSetDao,n=e.queryForAllEq(O.TileMatrixSetDao.COLUMN_TABLE_NAME,t);if(n.length>1)throw new Error("Unexpected state. More than one Tile Matrix Set matched for table name: "+t+", count: "+n.length);if(0===n.length)throw new Error("No Tile Matrix found for table name: "+t);t=e.createObject(n[0]);}if(!t)throw new Error("Non null TileMatrixSet is required to create Tile DAO");var r=[],i=this.tileMatrixDao;i.queryForAllEq(A.TileMatrixDao.COLUMN_TABLE_NAME,t.table_name,null,null,A.TileMatrixDao.COLUMN_ZOOM_LEVEL+" ASC, "+A.TileMatrixDao.COLUMN_PIXEL_X_SIZE+" DESC, "+A.TileMatrixDao.COLUMN_PIXEL_Y_SIZE+" DESC").forEach((function(t){var e=i.createObject(t);i.hasTiles(e)&&r.push(e);}));var o=new H.TileTableReader(t).readTileTable(this);return new j.TileDao(this,o,t,r)},t.prototype.getTables=function(t){return void 0===t&&(t=!1),t?{features:this.contentsDao.getContentsForTableType(_t.ContentsDataType.FEATURES),tiles:this.contentsDao.getContentsForTableType(_t.ContentsDataType.TILES),attributes:this.contentsDao.getContentsForTableType(_t.ContentsDataType.ATTRIBUTES)}:{features:this.getFeatureTables(),tiles:this.getTileTables(),attributes:this.getAttributesTables()}},t.prototype.getAttributesTables=function(){return this.contentsDao.getTables(_t.ContentsDataType.ATTRIBUTES)},t.prototype.hasAttributeTable=function(t){var e=this.getAttributesTables();return e&&-1!=e.indexOf(t)},t.prototype.getTileTables=function(){var t=this.contentsDao;return t.isTableExists()?t.getTables(_t.ContentsDataType.TILES):[]},t.prototype.hasTileTable=function(t){var e=this.getTileTables();return e&&-1!==e.indexOf(t)},t.prototype.hasFeatureTable=function(t){var e=this.getFeatureTables();return e&&-1!=e.indexOf(t)},t.prototype.getFeatureTables=function(){var t=this.contentsDao;return t.isTableExists()?t.getTables(_t.ContentsDataType.FEATURES):[]},t.prototype.isTable=function(t){return !!this.connection.tableExists(t)},t.prototype.isTableType=function(t,e){return t===this.getTableType(e)},t.prototype.getTableType=function(t){var e=this.getTableContents(t);if(e)return e.data_type},t.prototype.getTableContents=function(t){return this.contentsDao.queryForId(t)},t.prototype.dropTable=function(t){return this.connection.dropTable(t)},t.prototype.deleteTable=function(t){gt.GeoPackageExtensions.deleteTableExtensions(this,t),this.contentsDao.deleteTable(t);},t.prototype.deleteTableQuietly=function(t){try{this.deleteTable(t);}catch(t){}},t.prototype.getTableCreator=function(){return this.tableCreator},t.prototype.index=function(){return a(this,void 0,void 0,(function(){var t,e;return s(this,(function(n){switch(n.label){case 0:t=this.getFeatureTables(),e=0,n.label=1;case 1:return e0&&n[0]instanceof it.UserColumn)s=n;else {var u=0;s.push(st.FeatureColumn.createPrimaryKeyColumn(u++,"id")),s.push(st.FeatureColumn.createGeometryColumn(u++,a.column_name,bt.GeometryType.GEOMETRY,!1,null));for(var l=0;n&&lc.maxZoom)){for(var h=0;hc.maxWebMapZoom)){l.columns=[];for(var h=0;h1e4){var p=f.toGeoJSON();return p.feature_count=h,p.coverage=!0,p.gp_table=e,p.gp_name=this.name,p}var d=[f.maxLongitude,f.maxLatitude],y=[f.minLongitude,f.minLatitude],g=(d[0]-y[0])/256*10;f.maxLongitude=a+g,f.minLongitude=a-g,f.maxLatitude=o+g,f.minLatitude=o-g;var _,b=c.queryForGeoJSONIndexedFeaturesWithBoundingBox(f),v=[],T=1e11,E=m.point([a,o]);try{for(var w=u(b),x=w.next();!x.done;x=w.next()){var C=x.value;C.type="Feature";var M=t.determineDistance(E.geometry,C);(M{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.GeoPackageConstants=void 0;var n=function(){function t(){}return t.GEOPACKAGE_EXTENSION="gpkg",t.GEOPACKAGE_EXTENDED_EXTENSION="gpkx",t.APPLICATION_ID="GPKG",t.USER_VERSION="10200",t.GEOPACKAGE_EXTENSION_AUTHOR=t.GEOPACKAGE_EXTENSION,t.GEOMETRY_EXTENSION_PREFIX="geom",t.GEOPACKAGE_GEOMETRY_MAGIC_NUMBER="GP",t.GEOPACKAGE_GEOMETRY_VERSION_1=0,t.SQLITE_HEADER_PREFIX="SQLite format 3",t}();e.GeoPackageConstants=n;},5095:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Envelope=void 0;e.Envelope=function(){};},1895:function(t,e,n){"use strict";var r=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.EnvelopeBuilder=void 0;var i=r(n(9705)),o=function(){function t(){}return t.buildEnvelopeWithGeometry=function(t){var e=t.toGeoJSON(),n=(0,i.default)(e);return {minX:n[0],minY:n[1],maxX:n[2],maxY:n[3]}},t}();e.EnvelopeBuilder=o;},857:function(t,e,n){"use strict";var r=n(3085).lW,i=n(5108),o=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.GeometryData=void 0;var a=o(n(1011)),s=n(1506),u=n(5095),l=function(){function t(e){this.empty=!0,this.byteOrder=t.BIG_ENDIAN,e&&this.fromData(e);}return t.prototype.setSrsId=function(t){this.srsId=t;},t.prototype.setGeometry=function(t){this.empty=!1,this.geometry=t;},t.prototype.setEnvelope=function(t){this.envelope=t;},t.prototype.toGeoJSON=function(){return this.geometry.toGeoJSON()},t.prototype.fromData=function(t){t instanceof Uint8Array?this.buffer=t=r.from(t):this.buffer=t;var e=this.buffer.toString("ascii",0,2);if(e!==s.GeoPackageConstants.GEOPACKAGE_GEOMETRY_MAGIC_NUMBER)throw new Error("Unexpected GeoPackage Geometry magic number: "+e+", Expected: "+s.GeoPackageConstants.GEOPACKAGE_GEOMETRY_MAGIC_NUMBER);var n=this.buffer.readUInt8(2);if(n!==s.GeoPackageConstants.GEOPACKAGE_GEOMETRY_VERSION_1)throw new Error("Unexpected GeoPackage Geometry version "+n+", Expected: "+s.GeoPackageConstants.GEOPACKAGE_GEOMETRY_VERSION_1);var o=this.buffer.readUInt8(3),u=this.readFlags(o);this.srsId=this.buffer[this.byteOrder?"readUInt32LE":"readUInt32BE"](4);var l=this.readEnvelope(u,this.buffer);this.envelope=l.envelope;var c=l.offset,h=this.buffer.slice(c);try{this.geometry=a.default.Geometry.parse(h),this.geometryError=void 0;}catch(t){this.geometryError=t.message,i.log("Error parsing geometry");}},t.prototype.toData=function(){var t=r.alloc(8);t.write(s.GeoPackageConstants.GEOPACKAGE_GEOMETRY_MAGIC_NUMBER),t.writeUInt8(s.GeoPackageConstants.GEOPACKAGE_GEOMETRY_VERSION_1,2);var e=this.buildFlagsByte();t.writeUInt8(e,3),t[this.byteOrder?"writeUInt32LE":"writeUInt32BE"](this.srsId,4);var n=[t,this.writeEnvelope()];try{n.push(this.geometry.toWkb()),this.geometryError=void 0;}catch(t){this.geometryError=t.message;}return this.buffer=r.concat(n),this.buffer},t.prototype.writeEnvelope=function(){if(!this.envelope)return r.alloc(0);var t=32;this.envelope.hasZ&&(t+=16),this.envelope.hasM&&(t+=16);var e,n=r.alloc(t);(e=this.byteOrder?n.writeDoubleLE.bind(n):n.writeDoubleBE.bind(n))(this.envelope.minX,0),e(this.envelope.maxX,8),e(this.envelope.minY,16),e(this.envelope.maxY,24);var i=32;return this.envelope.hasZ&&(e(this.envelope.minZ,i),e(this.envelope.maxZ,i+8),i=48),this.envelope.hasM&&(e(this.envelope.minM,i),e(this.envelope.maxM,i+8)),n},t.prototype.buildFlagsByte=function(){var e=0;return e+=(this.extended?1:0)<<5,e+=(this.empty?1:0)<<4,(e+=(this.envelope?this.getIndicatorWithEnvelope(this.envelope):0)<<1)+(this.byteOrder===t.BIG_ENDIAN?0:1)},t.prototype.getIndicatorWithEnvelope=function(t){var e=1;return t.hasZ&&e++,t.hasM&&(e+=2),e},t.prototype.readFlags=function(t){var e=t>>7&1,n=t>>6&1;if(0!==e||0!==n)throw new Error("Unexpected GeoPackage Geometry flags. Flag bit 7 and 6 should both be 0, 7="+e+", 6="+n);var r=t>>5&1;this.extended=1===r;var i=t>>4&1;this.empty=1===i;var o=t>>1&7;if(o>4)throw new Error("Unexpected GeoPackage Geometry flags. Envelope contents indicator must be between 0 and 4. Actual: "+o);var a=1&t;return this.byteOrder=a,o},t.prototype.readEnvelope=function(t,e){var n;n=this.byteOrder?e.readDoubleLE.bind(e):e.readDoubleBE.bind(e);var r=0,i={envelope:void 0,offset:8};if(t<=0)return i;var o=new u.Envelope;return o.minX=n(8+8*r++),o.maxX=n(8+8*r++),o.minY=n(8+8*r++),o.maxY=n(8+8*r++),o.hasZ=!1,o.hasM=!1,2!==t&&4!==t||(o.hasZ=!0,o.minZ=n(8+8*r++),o.maxZ=n(8+8*r++)),3!==t&&4!==t||(o.hasM=!0,o.minM=n(8+8*r++),o.maxM=n(8+8*r++)),i.envelope=o,i.offset=8+8*r,i},t.BIG_ENDIAN=0,t.LITTLE_ENDIAN=1,t}();e.GeometryData=l;},3026:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Metadata=void 0;var n=function(){function t(){}return t.prototype.getScopeInformation=function(e){switch(e){case t.UNDEFINED:return {name:t.UNDEFINED,code:"NA",definition:"Metadata information scope is undefined"};case t.FIELD_SESSION:return {name:t.FIELD_SESSION,code:"012",definition:"Information applies to the field session"};case t.COLLECTION_SESSION:return {name:t.COLLECTION_SESSION,code:"004",definition:"Information applies to the collection session"};case t.SERIES:return {name:t.SERIES,code:"006",definition:"Information applies to the (dataset) series"};case t.DATASET:return {name:t.DATASET,code:"005",definition:"Information applies to the (geographic feature) dataset"};case t.FEATURE_TYPE:return {name:t.FEATURE_TYPE,code:"010",definition:"Information applies to a feature type (class)"};case t.FEATURE:return {name:t.FEATURE,code:"009",definition:"Information applies to a feature (instance)"};case t.ATTRIBUTE_TYPE:return {name:t.ATTRIBUTE_TYPE,code:"002",definition:"Information applies to the attribute class"};case t.ATTRIBUTE:return {name:t.ATTRIBUTE,code:"001",definition:"Information applies to the characteristic of a feature (instance)"};case t.TILE:return {name:t.TILE,code:"016",definition:"Information applies to a tile, a spatial subset of geographic data"};case t.MODEL:return {name:t.MODEL,code:"015",definition:"Information applies to a copy or imitation of an existing or hypothetical object"};case t.CATALOG:return {name:t.CATALOG,code:"NA",definition:"Metadata applies to a feature catalog"};case t.SCHEMA:return {name:t.SCHEMA,code:"NA",definition:"Metadata applies to an application schema"};case t.TAXONOMY:return {name:t.TAXONOMY,code:"NA",definition:"Metadata applies to a taxonomy or knowledge system"};case t.SOFTWARE:return {name:t.SOFTWARE,code:"013",definition:"Information applies to a computer program or routine"};case t.SERVICE:return {name:t.SERVICE,code:"014",definition:"Information applies to a capability which a service provider entity makes available to a service user entity through a set of interfaces that define a behaviour, such as a use case"};case t.COLLECTION_HARDWARE:return {name:t.COLLECTION_HARDWARE,code:"003",definition:"Information applies to the collection hardware class"};case t.NON_GEOGRAPHIC_DATASET:return {name:t.NON_GEOGRAPHIC_DATASET,code:"007",definition:"Information applies to non-geographic data"};case t.DIMENSION_GROUP:return {name:t.DIMENSION_GROUP,code:"008",definition:"Information applies to a dimension group"}}},t.UNDEFINED="undefined",t.FIELD_SESSION="fieldSession",t.COLLECTION_SESSION="collectionSession",t.SERIES="series",t.DATASET="dataset",t.FEATURE_TYPE="featureType",t.FEATURE="feature",t.ATTRIBUTE_TYPE="attributeType",t.ATTRIBUTE="attribute",t.TILE="tile",t.MODEL="model",t.CATALOG="catalog",t.SCHEMA="schema",t.TAXONOMY="taxonomy",t.SOFTWARE="software",t.SERVICE="service",t.COLLECTION_HARDWARE="collectionHardware",t.NON_GEOGRAPHIC_DATASET="nonGeographicDataset",t.DIMENSION_GROUP="dimensionGroup",t}();e.Metadata=n;},663:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);});Object.defineProperty(e,"__esModule",{value:!0}),e.MetadataDao=void 0;var o=n(4115),a=n(3026),s=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.gpkgTableName=e.TABLE_NAME,n.idColumns=[e.COLUMN_ID],n}return i(e,t),e.prototype.createObject=function(t){var e=new a.Metadata;return t&&(e.id=t.id,e.md_scope=t.md_scope,e.md_standard_uri=t.md_standard_uri,e.mime_type=t.mime_type,e.metadata=t.metadata),e},e.TABLE_NAME="gpkg_metadata",e.COLUMN_ID="id",e.COLUMN_MD_SCOPE="md_scope",e.COLUMN_MD_STANDARD_URI="md_standard_uri",e.COLUMN_MIME_TYPE="mime_type",e.COLUMN_METADATA="metadata",e}(o.Dao);e.MetadataDao=s;},9173:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.MetadataReference=void 0;var n=function(){function t(){}return t.prototype.toDatabaseValue=function(t){return "timestamp"===t?this.timestamp.toISOString():this[t]},t.prototype.setMetadata=function(t){this.md_file_id=t?t.id:-1;},t.prototype.setParentMetadata=function(t){this.md_parent_id=t?t.id:-1;},t.prototype.setReferenceScopeType=function(e){switch(this.reference_scope=e,e){case t.GEOPACKAGE:this.table_name=void 0,this.column_name=void 0,this.row_id_value=void 0;break;case t.TABLE:this.column_name=void 0,this.row_id_value=void 0;break;case t.ROW:this.column_name=void 0;break;case t.COLUMN:this.row_id_value=void 0;}},t.GEOPACKAGE="geopackage",t.TABLE="table",t.COLUMN="column",t.ROW="row",t.ROW_COL="row/col",t}();e.MetadataReference=n;},2056:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);});Object.defineProperty(e,"__esModule",{value:!0}),e.MetadataReferenceDao=void 0;var o=n(4115),a=n(8572),s=n(9173),u=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.gpkgTableName=e.TABLE_NAME,n.idColumns=[e.COLUMN_MD_FILE_ID,e.COLUMN_MD_PARENT_ID],n}return i(e,t),e.prototype.createObject=function(t){var e=new s.MetadataReference;return t&&(e.reference_scope=t.reference_scope,e.table_name=t.table_name,e.column_name=t.column_name,e.row_id_value=t.row_id_value,e.timestamp=new Date(t.timestamp),e.md_file_id=t.md_file_id,e.md_parent_id=t.md_parent_id),e},e.prototype.removeMetadataParent=function(t){var n={};n[e.COLUMN_MD_PARENT_ID]=null;var r=this.buildWhereWithFieldAndValue(e.COLUMN_MD_PARENT_ID,t),i=this.buildWhereArgs(t);return this.updateWithValues(n,r,i).changes},e.prototype.queryByMetadataAndParent=function(t,n){var r=new a.ColumnValues;return r.addColumn(e.COLUMN_MD_FILE_ID,t),r.addColumn(e.COLUMN_MD_PARENT_ID,n),this.queryForFieldValues(r)},e.prototype.queryByMetadata=function(t){var n=new a.ColumnValues;return n.addColumn(e.COLUMN_MD_FILE_ID,t),this.queryForFieldValues(n)},e.prototype.queryByMetadataParent=function(t){var n=new a.ColumnValues;return n.addColumn(e.COLUMN_MD_PARENT_ID,t),this.queryForFieldValues(n)},e.prototype.deleteByTableName=function(t){var n="";n+=this.buildWhereWithFieldAndValue(e.COLUMN_TABLE_NAME,t);var r=this.buildWhereArgs(t);return this.deleteWhere(n,r)},e.TABLE_NAME="gpkg_metadata_reference",e.COLUMN_REFERENCE_SCOPE="reference_scope",e.COLUMN_TABLE_NAME="table_name",e.COLUMN_COLUMN_NAME="column_name",e.COLUMN_ROW_ID="row_id_value",e.COLUMN_TIMESTAMP="timestamp",e.COLUMN_MD_FILE_ID="md_file_id",e.COLUMN_MD_PARENT_ID="md_parent_id",e}(o.Dao);e.MetadataReferenceDao=u;},7403:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.OptionBuilder=void 0;var n=function(){function t(){}return t.build=function(t){var e={};return t.forEach((function(t){e["set"+t.slice(0,1).toUpperCase()+t.slice(1)]=function(e){return this[t]=e,this},e["get"+t.slice(0,1).toUpperCase()+t.slice(1)]=function(){return this[t]};})),e},t}();e.OptionBuilder=n;},5604:function(t,e,n){"use strict";var r=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.Projection=void 0;var i=r(n(4472)),o=r(n(8446)),a=n(1375),s=function(){function t(){}return t.loadProjection=function(t,e){if(!t||!e)throw new Error("Invalid projection name/definition");null==i.default.defs(t)&&i.default.defs(t,e);},t.loadProjections=function(e){if(!e)throw new Error("Invalid array of projections");for(var n=0;n{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ProjectionConstants=void 0;var n=function(){function t(){}return t.EPSG="EPSG",t.EPSG_PREFIX="EPSG:",t.EPSG_CODE_3857=3857,t.EPSG_CODE_4326=4326,t.EPSG_CODE_900913=900913,t.EPSG_CODE_102113=102113,t.EPSG_3857=t.EPSG_PREFIX+t.EPSG_CODE_3857,t.EPSG_4326=t.EPSG_PREFIX+t.EPSG_CODE_4326,t.EPSG_900913=t.EPSG_PREFIX+t.EPSG_CODE_900913,t.EPSG_102113=t.EPSG_PREFIX+t.EPSG_CODE_102113,t.WEB_MERCATOR_MAX_LAT_RANGE=85.0511287798066,t.WEB_MERCATOR_MIN_LAT_RANGE=-85.05112877980659,t.WEB_MERCATOR_MAX_LON_RANGE=180,t.WEB_MERCATOR_MIN_LON_RANGE=-180,t.WEB_MERCATOR_HALF_WORLD_WIDTH=20037508.342789244,t.WGS84_HALF_WORLD_LON_WIDTH=180,t.WGS84_HALF_WORLD_LAT_HEIGHT=90,t}();e.ProjectionConstants=n;},7977:function(t,e,n){"use strict";var r=this&&this.__createBinding||(Object.create?function(t,e,n,r){void 0===r&&(r=n);var i=Object.getOwnPropertyDescriptor(e,n);i&&!("get"in i?!e.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return e[n]}}),Object.defineProperty(t,r,i);}:function(t,e,n,r){void 0===r&&(r=n),t[r]=e[n];}),i=this&&this.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e});}:function(t,e){t.default=e;}),o=this&&this.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)"default"!==n&&Object.prototype.hasOwnProperty.call(t,n)&&r(e,t,n);return i(e,t),e},a=this&&this.__awaiter||function(t,e,n,r){return new(n||(n=Promise))((function(i,o){function a(t){try{u(r.next(t));}catch(t){o(t);}}function s(t){try{u(r.throw(t));}catch(t){o(t);}}function u(t){var e;t.done?i(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e);}))).then(a,s);}u((r=r.apply(t,e||[])).next());}))},s=this&&this.__generator||function(t,e){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(s){return function(u){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;o&&(o=0,s[0]&&(a=0)),a;)try{if(n=1,r&&(i=2&s[0]?r.return:s[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,s[1])).done)return i;switch(r=0,i&&(s=[2&s[0],i.value]),s[0]){case 0:case 1:i=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,r=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!((i=(i=a.trys).length>0&&i[i.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!i||s[1]>i[0]&&s[1]=this.width||n.yPositionInFinalTileStart>=this.height||this.addChunk(t,n);},t.prototype.addChunk=function(t,e){this.chunks.push({chunk:t,position:e});},t.prototype.reproject=function(t,e){return a(this,void 0,void 0,(function(){var t,r,i,o,a,u,l,f,p,d,g,_,b,v=this;return s(this,(function(s){if("undefined"!=typeof window&&window.Worker)return y.TileUtilities.getPiecePosition(e,this.tileBoundingBox,this.height,this.width,this.projectionTo,this.projectionToDefinition,this.projectionFrom,this.projectionFromDefinition,this.tileHeightUnitsPerPixel,this.tileWidthUnitsPerPixel,this.tileMatrix.pixel_x_size,this.tileMatrix.pixel_y_size),t={sourceImageData:this.tileContext.getImageData(0,0,this.tileMatrix.tile_width,this.tileMatrix.tile_height).data.buffer,height:this.height,width:this.width,projectionTo:this.projectionTo,projectionToDefinition:this.projectionToDefinition,projectionFrom:this.projectionFrom,projectionFromDefinition:this.projectionFromDefinition,maxLatitude:this.tileBoundingBox.maxLatitude,minLongitude:this.tileBoundingBox.minLongitude,tileWidthUnitsPerPixel:this.tileWidthUnitsPerPixel,tileHeightUnitsPerPixel:this.tileHeightUnitsPerPixel,tilePieceBoundingBox:JSON.stringify(e),tileBoundingBox:JSON.stringify(this.tileBoundingBox),pixel_y_size:this.tileMatrix.pixel_y_size,pixel_x_size:this.tileMatrix.pixel_x_size,tile_width:this.tileMatrix.tile_width,tile_height:this.tileMatrix.tile_height},[2,new Promise((function(e){try{(r=n(8034)(n(7591))).onmessage=function(t){v.canvas.getContext("2d").putImageData(new ImageData(new Uint8ClampedArray(t.data),v.height,v.width),0,0),e();},r.postMessage(t,[v.tileContext.getImageData(0,0,v.tileMatrix.tile_width,v.tileMatrix.tile_height).data.buffer]);}catch(n){var r,i=(r=h.default)(t);v.canvas.getContext("2d").putImageData(new ImageData(new Uint8ClampedArray(i),v.height,v.width),0,0),e();}}))];r=this.height,i=this.width,o=this.tileMatrix.tile_height,a=this.tileMatrix.tile_width,u=void 0;try{null==m.Projection.hasProjection(this.projectionTo)&&m.Projection.loadProjection(this.projectionTo,this.projectionToDefinition),null==m.Projection.hasProjection(this.projectionFrom)&&m.Projection.loadProjection(this.projectionFrom,this.projectionFromDefinition),u=(0,c.default)(this.projectionTo,this.projectionFrom);}catch(t){}for(l=void 0,f=0;f=0&&_=0&&b{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.CustomFeaturesTile=void 0;e.CustomFeaturesTile=function(){this.compressFormat="png",this.tileBorderStrokeWidth=2,this.tileBorderColor="rgba(0, 0, 0, 1.0)",this.tileFillColor="rgba(0, 0, 0, 0.0625)",this.drawUnindexedTiles=!0;};},3060:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);}),o=this&&this.__awaiter||function(t,e,n,r){return new(n||(n=Promise))((function(i,o){function a(t){try{u(r.next(t));}catch(t){o(t);}}function s(t){try{u(r.throw(t));}catch(t){o(t);}}function u(t){var e;t.done?i(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e);}))).then(a,s);}u((r=r.apply(t,e||[])).next());}))},a=this&&this.__generator||function(t,e){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(s){return function(u){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;o&&(o=0,s[0]&&(a=0)),a;)try{if(n=1,r&&(i=2&s[0]?r.return:s[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,s[1])).done)return i;switch(r=0,i&&(s=[2&s[0],i.value]),s[0]){case 0:case 1:i=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,r=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!((i=(i=a.trys).length>0&&i[i.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!i||s[1]>i[0]&&s[1]1)throw new Error("Circle padding percentage must be between 0.0 and 1.0: "+t);this.circlePaddingPercentage=t;},e.prototype.getTileBorderStrokeWidth=function(){return this.tileBorderStrokeWidth},e.prototype.setTileBorderStrokeWidth=function(t){this.tileBorderStrokeWidth=t;},e.prototype.getTileBorderColor=function(){return this.tileBorderColor},e.prototype.setTileBorderColor=function(t){this.tileBorderColor=t;},e.prototype.getTileFillColor=function(){return this.tileFillColor},e.prototype.setTileFillColor=function(t){this.tileFillColor=t;},e.prototype.isDrawUnindexedTiles=function(){return this.drawUnindexedTiles},e.prototype.setDrawUnindexedTiles=function(t){this.drawUnindexedTiles=t;},e.prototype.getCompressFormat=function(){return this.compressFormat},e.prototype.setCompressFormat=function(t){this.compressFormat=t;},e.prototype.drawUnindexedTile=function(t,e,n){return void 0===n&&(n=null),o(this,void 0,void 0,(function(){var r;return a(this,(function(i){return r=null,this.drawUnindexedTiles&&(r=this.drawTile(t,e,"?",n)),[2,r]}))}))},e.prototype.drawTile=function(t,e,n,r){return o(this,void 0,void 0,(function(){var i=this;return a(this,(function(o){switch(o.label){case 0:return [4,s.Canvas.initializeAdapter()];case 1:return o.sent(),[2,new Promise((function(o){var a,u=!1;null!=r?a=r:(a=s.Canvas.create(t,e),u=!0);var l=a.getContext("2d");l.clearRect(0,0,t,e),null!==i.tileFillColor&&(l.fillStyle=i.tileFillColor,l.fillRect(0,0,t,e)),null!==i.tileBorderColor&&(l.strokeStyle=i.tileBorderColor,l.lineWidth=i.tileBorderStrokeWidth,l.strokeRect(0,0,t,e));var c=s.Canvas.measureText(l,i.textFont,i.textSize,n),h=i.textSize,f=Math.round(t/2),p=Math.round(e/2);if(null!=i.circleBorderColor||null!=i.circleFillColor){var d=Math.max(c,h),y=Math.round(d/2);y=Math.round(y+d*i.circlePaddingPercentage),null!=i.circleFillColor&&(l.fillStyle=i.circleFillColor,l.beginPath(),l.arc(f,p,y,0,2*Math.PI,!0),l.closePath(),l.fill()),null!=i.circleBorderColor&&(l.strokeStyle=i.circleBorderColor,l.lineWidth=i.circleStrokeWidth,l.beginPath(),l.arc(f,p,y,0,2*Math.PI,!0),l.closePath(),l.stroke());}s.Canvas.drawText(l,n,[f,p],i.textFont,i.textSize,i.textColor),s.Canvas.toDataURL(a,"image/"+i.compressFormat).then((function(t){u&&s.Canvas.disposeCanvas(a),o(t);}));}))]}}))}))},e}(n(2544).CustomFeaturesTile);e.NumberFeaturesTile=u;},6667:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);}),o=this&&this.__awaiter||function(t,e,n,r){return new(n||(n=Promise))((function(i,o){function a(t){try{u(r.next(t));}catch(t){o(t);}}function s(t){try{u(r.throw(t));}catch(t){o(t);}}function u(t){var e;t.done?i(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e);}))).then(a,s);}u((r=r.apply(t,e||[])).next());}))},a=this&&this.__generator||function(t,e){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(s){return function(u){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;o&&(o=0,s[0]&&(a=0)),a;)try{if(n=1,r&&(i=2&s[0]?r.return:s[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,s[1])).done)return i;switch(r=0,i&&(s=[2&s[0],i.value]),s[0]){case 0:case 1:i=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,r=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!((i=(i=a.trys).length>0&&i[i.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!i||s[1]>i[0]&&s[1]{"use strict";var n;Object.defineProperty(e,"__esModule",{value:!0}),e.FeatureDrawType=void 0,(n=e.FeatureDrawType||(e.FeatureDrawType={})).CIRCLE="CIRCLE",n.STROKE="STROKE",n.FILL="FILL",function(t){t.nameFromType=function(e){return t[e]},t.fromName=function(e){switch(e){case "CIRCLE":return t.CIRCLE;case "STROKE":return t.STROKE;case "FILL":return t.FILL}};}(e.FeatureDrawType||(e.FeatureDrawType={}));},6063:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.FeaturePaint=void 0;var n=function(){function t(){this.featurePaints={};}return t.prototype.getPaint=function(t){return this.featurePaints[t]},t.prototype.setPaint=function(t,e){this.featurePaints[t]=e;},t}();e.FeaturePaint=n;},9957:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.FeaturePaintCache=void 0;var r=n(6063),i=function(){function t(e){void 0===e&&(e=t.DEFAULT_STYLE_PAINT_CACHE_SIZE),this.cacheSize=e,this.paintCache={},this.accessHistory=[];}return t.prototype.getFeaturePaintForStyleRow=function(t){return this.getFeaturePaint(t.id)},t.prototype.getFeaturePaint=function(t){var e=this.paintCache[t];if(e){var n=this.accessHistory.indexOf(t);n>-1&&this.accessHistory.splice(n,1),this.accessHistory.push(t);}return e},t.prototype.getPaintForStyleRow=function(t,e){return this.getPaint(t.id,e)},t.prototype.getPaint=function(t,e){var n=null,r=this.getFeaturePaint(t);return null!=r&&(n=r.getPaint(e)),n},t.prototype.setPaintForStyleRow=function(t,e,n){this.setPaint(t.id,e,n);},t.prototype.setPaint=function(t,e,n){var i=this.paintCache[t];if(i){var o=this.accessHistory.indexOf(t);o>-1&&this.accessHistory.splice(o,1);}else i=new r.FeaturePaint;if(i.setPaint(e,n),this.paintCache[t]=i,this.accessHistory.push(t),Object.keys(this.paintCache).length>this.cacheSize){var a=this.accessHistory.shift();a&&delete this.paintCache[a];}},t.prototype.remove=function(t){var e=this.paintCache[t];if(delete this.paintCache[t],e){var n=this.accessHistory.indexOf(t);n>-1&&this.accessHistory.splice(n,1);}return e},t.prototype.clear=function(){this.paintCache={},this.accessHistory=[];},t.prototype.resize=function(t){this.cacheSize=t;var e=Object.keys(this.paintCache);if(e.length>t)for(var n=e.length-t,r=0;r{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.GeometryCache=void 0;var n=function(){function t(e){void 0===e&&(e=t.DEFAULT_GEOMETRY_CACHE_SIZE),this.cacheSize=e,this.geometryCache={},this.accessHistory=[];}return t.prototype.getGeometryForFeatureRow=function(t){return this.getGeometry(t.id)},t.prototype.getGeometry=function(t){var e=this.geometryCache[t];if(e){var n=this.accessHistory.indexOf(t);n>-1&&this.accessHistory.splice(n,1),this.accessHistory.push(t);}return e},t.prototype.setGeometry=function(t,e){var n=this.accessHistory.indexOf(t);if(n>-1&&this.accessHistory.splice(n,1),this.geometryCache[t]=e,this.accessHistory.push(t),Object.keys(this.geometryCache).length>this.cacheSize){var r=this.accessHistory.shift();r&&delete this.geometryCache[r];}},t.prototype.remove=function(t){var e=this.geometryCache[t];if(delete this.geometryCache[t],e){var n=this.accessHistory.indexOf(t);n>-1&&this.accessHistory.splice(n,1);}return e},t.prototype.clear=function(){this.geometryCache={},this.accessHistory=[];},t.prototype.resize=function(t){this.cacheSize=t;var e=Object.keys(this.geometryCache);if(e.length>t)for(var n=e.length-t,r=0;r0&&i[i.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!i||s[1]>i[0]&&s[1]=t.length&&(t=void 0),{value:t&&t[r++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},s=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.FeatureTiles=void 0;var u=s(n(7383)),l=s(n(3809)),c=s(n(6479)),h=n(3684),f=n(2527),p=n(8600),d=n(943),y=n(4538),m=n(9957),g=n(5211),_=n(6536),b=n(3437),v=n(5604),T=n(1375),E=function(){function t(t,e,n){void 0===e&&(e=256),void 0===n&&(n=256),this.featureDao=t,this.tileWidth=e,this.tileHeight=n,this.projection=null,this.webMercatorProjection=null,this.simplifyGeometries=!0,this.simplifyToleranceInPixels=1,this.compressFormat="png",this.pointRadius=4,this.pointPaint=new g.Paint,this.pointIcon=null,this.linePaint=new g.Paint,this._lineStrokeWidth=2,this.polygonPaint=new g.Paint,this._polygonStrokeWidth=2,this.fillPolygon=!0,this.polygonFillPaint=new g.Paint,this.featurePaintCache=new m.FeaturePaintCache,this.geometryCache=new d.GeometryCache,this.cacheGeometries=!0,this.iconCache=new p.IconCache,this._scale=1,this.maxFeaturesPerTile=null,this.maxFeaturesTileDraw=null,this.projection=this.featureDao.projection,this.linePaint.strokeWidth=2,this.polygonPaint.strokeWidth=2,this.polygonFillPaint.color="#00000011",this.geoPackage=this.featureDao.geoPackage,null!=this.geoPackage&&(this.featureTableStyles=new _.FeatureTableStyles(this.geoPackage,t.table),this.featureTableStyles.has()||(this.featureTableStyles=null)),this.webMercatorProjection=v.Projection.getWebMercatorToWGS84Converter(),this.calculateDrawOverlap();}return t.prototype.cleanup=function(){this.clearIconCache(),this.pointIcon&&(b.Canvas.disposeImage(this.pointIcon.getIcon()),this.pointIcon=null);},Object.defineProperty(t.prototype,"drawOverlap",{set:function(t){this.widthDrawOverlap=t,this.heightDrawOverlap=t;},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"simplifyTolerance",{get:function(){return this.simplifyToleranceInPixels},set:function(t){this.simplifyToleranceInPixels=t;},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"widthDrawOverlap",{get:function(){return this.widthOverlap},set:function(t){this.widthOverlap=t;},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"heightDrawOverlap",{get:function(){return this.heightOverlap},set:function(t){this.heightOverlap=t;},enumerable:!1,configurable:!0}),t.prototype.ignoreFeatureTableStyles=function(){this.featureTableStyles=null,this.calculateDrawOverlap();},t.prototype.clearCache=function(){this.clearStylePaintCache(),this.clearIconCache();},t.prototype.clearStylePaintCache=function(){this.featurePaintCache.clear();},Object.defineProperty(t.prototype,"stylePaintCacheSize",{set:function(t){this.featurePaintCache.resize(t);},enumerable:!1,configurable:!0}),t.prototype.clearIconCache=function(){this.iconCache.clear();},Object.defineProperty(t.prototype,"iconCacheSize",{set:function(t){this.iconCache.resize(t);},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"scale",{get:function(){return this._scale},set:function(t){this._scale=t,this.linePaint.strokeWidth=t*this.lineStrokeWidth,this.polygonPaint.strokeWidth=t*this.polygonStrokeWidth,this.featurePaintCache.clear();},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"geometryCacheMaxSize",{set:function(t){this.geometryCache.resize(t);},enumerable:!1,configurable:!0}),t.prototype.calculateDrawOverlap=function(){this.pointIcon?(this.heightOverlap=this.scale*this.pointIcon.getHeight(),this.widthOverlap=this.scale*this.pointIcon.getWidth()):(this.heightOverlap=this.scale*this.pointRadius,this.widthOverlap=this.scale*this.pointRadius);var t=this.scale*this.lineStrokeWidth/2;this.heightOverlap=Math.max(this.heightOverlap,t),this.widthOverlap=Math.max(this.widthOverlap,t);var e=this.scale*this.polygonStrokeWidth/2;if(this.heightOverlap=Math.max(this.heightOverlap,e),this.widthOverlap=Math.max(this.widthOverlap,e),null!=this.featureTableStyles&&this.featureTableStyles.has()){var n=[],r=this.featureTableStyles.getAllTableStyleIds();null!=r&&(n=n.concat(r));var i=this.featureTableStyles.getAllStyleIds();null!=i&&(n=n.concat(i.filter((function(t){return -1===n.indexOf(t)}))));for(var o=this.featureTableStyles.getStyleDao(),a=0;a0))return [3,16];if(!(null==this.maxFeaturesPerTile||g<=this.maxFeaturesPerTile))return [3,13];_=this.getTransformFunction(s),v=this.featureDao.fastQueryBoundingBox(d,s),o.label=2;case 2:o.trys.push([2,9,10,11]),E=a(v),w=E.next(),o.label=3;case 3:if(w.done)return [3,8];if(null==(x=w.value).geometry)return [3,7];C=null,this.cacheGeometries&&(C=this.geometryCache.getGeometry(x.id)),null==C&&(C=x.geometry.geometry.toGeoJSON(),this.geometryCache.setGeometry(x.id,C)),M=this.getFeatureStyle(x),o.label=4;case 4:return o.trys.push([4,6,,7]),[4,this.drawGeometry(C,l,p,M,_)];case 5:return o.sent(),[3,7];case 6:return o.sent(),r.error("Failed to draw feature in tile. Id: "+x.id+", Table: "+this.featureDao.table_name),[3,7];case 7:return w=E.next(),[3,3];case 8:return [3,11];case 9:return S=o.sent(),N={error:S},[3,11];case 10:try{w&&!w.done&&(O=E.return)&&O.call(E);}finally{if(N)throw N.error}return [7];case 11:return [4,b.Canvas.toDataURL(i,"image/"+this.compressFormat)];case 12:return f=o.sent(),[3,15];case 13:return null==this.maxFeaturesTileDraw?[3,15]:[4,this.maxFeaturesTileDraw.drawTile(y,m,g.toString(),i)];case 14:f=o.sent(),o.label=15;case 15:return [3,18];case 16:return [4,b.Canvas.toDataURL(i,"image/"+this.compressFormat)];case 17:f=o.sent(),o.label=18;case 18:return c&&b.Canvas.disposeCanvas(i),[2,f]}}))}))},t.prototype.drawTileWithBoundingBox=function(t,e,n,s){return i(this,void 0,void 0,(function(){var e,i,u,l,c,h,f,p,d,y,m,g,_,v,T,E,w,x;return o(this,(function(o){switch(o.label){case 0:return e=this.tileWidth,i=this.tileHeight,l=!1,[4,b.Canvas.initializeAdapter()];case 1:o.sent(),null!=s?u=s:(u=b.Canvas.create(e,i),l=!0),(c=u.getContext("2d")).clearRect(0,0,e,i),h=this.featureDao,f=h.queryForEach(void 0,void 0,void 0,void 0,void 0,[h.table.getIdColumn().getName(),h.table.getGeometryColumn().getName()]),p=this.getTransformFunction(n),o.label=2;case 2:o.trys.push([2,9,10,11]),d=a(f),y=d.next(),o.label=3;case 3:if(y.done)return [3,8];if(m=y.value,null==(g=h.getRow(m)).geometry)return [3,7];if(_=null,this.cacheGeometries&&(_=this.geometryCache.getGeometryForFeatureRow(g)),null==_&&(_=g.geometry.geometry.toGeoJSON(),this.geometryCache.setGeometry(g.id,_)),null==_)return [3,7];v=this.getFeatureStyle(g),o.label=4;case 4:return o.trys.push([4,6,,7]),[4,this.drawGeometry(_,c,t,v,p)];case 5:return o.sent(),[3,7];case 6:return o.sent(),r.error("Failed to draw feature in tile. Id: "+g.id+", Table: "+this.featureDao.table_name),[3,7];case 7:return y=d.next(),[3,3];case 8:return [3,11];case 9:return T=o.sent(),w={error:T},[3,11];case 10:try{y&&!y.done&&(x=d.return)&&x.call(d);}finally{if(w)throw w.error}return [7];case 11:return [4,b.Canvas.toDataURL(u,"image/"+this.compressFormat)];case 12:return E=o.sent(),l&&b.Canvas.disposeCanvas(u),[2,E]}}))}))},t.prototype.drawPoint=function(t,e,n,r,a){return i(this,void 0,void 0,(function(){var i,s,u,l,c,f,p,d,y,m,g,_,b,v;return o(this,(function(o){switch(o.label){case 0:return c=a(t.coordinates),f=h.TileBoundingBoxUtils.getXPixel(this.tileWidth,n,c[0]),p=h.TileBoundingBoxUtils.getYPixel(this.tileHeight,n,c[1]),null!=r&&r.useIcon()?(d=r.icon,[4,this.iconCache.createIcon(d)]):[3,2];case 1:return y=o.sent(),i=Math.round(this.scale*y.width),s=Math.round(this.scale*y.height),f>=0-i&&f<=this.tileWidth+i&&p>=0-s&&p<=this.tileHeight+s&&(u=Math.round(f-d.anchorUOrDefault*i),l=Math.round(p-d.anchorVOrDefault*s),e.drawImage(y.image,u,l,i,s)),[3,3];case 2:if(null!=this.pointIcon){if(i=Math.round(this.scale*this.pointIcon.getWidth()),s=Math.round(this.scale*this.pointIcon.getHeight()),f>=0-i&&f<=this.tileWidth+i&&p>=0-s&&p<=this.tileHeight+s){u=Math.round(f-this.scale*this.pointIcon.getXOffset()),l=Math.round(p-this.scale*this.pointIcon.getYOffset());try{e.drawImage(this.pointIcon.getIcon().image,u,l,i,s);}catch(t){}}}else e.save(),m=null,null!=r&&null!=(g=r.style)&&(m=this.scale*(g.getWidthOrDefault()/2)),null==m&&(m=this.scale*this.pointRadius),_=this.getPointPaint(r),f>=0-m&&f<=this.tileWidth+m&&p>=0-m&&p<=this.tileHeight+m&&(b=Math.round(f),v=Math.round(p),e.beginPath(),e.arc(b,v,m,0,2*Math.PI,!0),e.closePath(),e.fillStyle=_.colorRGBA,e.fill()),e.restore();o.label=3;case 3:return [2]}}))}))},t.prototype.simplifyPoints=function(t,e){return void 0===e&&(e=!1),(0,c.default)(t.map((function(t){return {x:t[0],y:t[1]}})),this.simplifyToleranceInPixels,!1).map((function(t){return [t.x,t.y]}))},t.prototype.getPath=function(t,e,n,r,i){var o=this;void 0===r&&(r=!1);var a=t.coordinates.map((function(t){var e=i(t.slice());return [h.TileBoundingBoxUtils.getXPixel(o.tileWidth,n,e[0]),h.TileBoundingBoxUtils.getYPixel(o.tileHeight,n,e[1])]})),s=this.simplifyGeometries?this.simplifyPoints(a,r):a;if(s.length>1){e.moveTo(s[0][0],s[0][1]);for(var u=1;u{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Paint=void 0;var n=function(){function t(){this._color="#000000FF",this._strokeWidth=1;}return Object.defineProperty(t.prototype,"color",{get:function(){return this._color},set:function(t){this._color=t;},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"colorRGBA",{get:function(){var t=parseInt(this.color.substr(1,2),16),e=parseInt(this.color.substr(3,2),16),n=parseInt(this.color.substr(5,2),16),r=1;return this.color.length>7&&(r=parseInt(this.color.substr(7,2),16)/255),"rgba("+t+","+e+","+n+","+r+")"},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"strokeWidth",{get:function(){return this._strokeWidth},set:function(t){this._strokeWidth=t;},enumerable:!1,configurable:!0}),t}();e.Paint=n;},9325:function(t,e,n){"use strict";var r=n(5108),i=this&&this.__awaiter||function(t,e,n,r){return new(n||(n=Promise))((function(i,o){function a(t){try{u(r.next(t));}catch(t){o(t);}}function s(t){try{u(r.throw(t));}catch(t){o(t);}}function u(t){var e;t.done?i(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e);}))).then(a,s);}u((r=r.apply(t,e||[])).next());}))},o=this&&this.__generator||function(t,e){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(s){return function(u){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;o&&(o=0,s[0]&&(a=0)),a;)try{if(n=1,r&&(i=2&s[0]?r.return:s[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,s[1])).done)return i;switch(r=0,i&&(s=[2&s[0],i.value]),s[0]){case 0:case 1:i=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,r=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!((i=(i=a.trys).length>0&&i[i.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!i||s[1]>i[0]&&s[1]{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TileMatrix=void 0;var n=function(){function t(){}return Object.defineProperty(t.prototype,"contents",{set:function(t){t&&"tiles"===t.data_type&&(this.table_name=t.table_name);},enumerable:!1,configurable:!0}),t.TABLE_NAME="tableName",t.ZOOM_LEVEL="zoomLevel",t.MATRIX_WIDTH="matrixWidth",t.MATRIX_HEIGHT="matrixHeight",t.TILE_WIDTH="tileWidth",t.TILE_HEIGHT="tileHeight",t.PIXEL_X_SIZE="pixelXSize",t.PIXEL_Y_SIZE="pixelYSize",t}();e.TileMatrix=n;},3506:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);});Object.defineProperty(e,"__esModule",{value:!0}),e.TileMatrixDao=void 0;var o=n(4115),a=n(1938),s=n(8877),u=n(8334),l=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.gpkgTableName="gpkg_tile_matrix",n.idColumns=[e.COLUMN_PK1,e.COLUMN_PK2],n.columns=[e.COLUMN_TABLE_NAME,e.COLUMN_ZOOM_LEVEL,e.COLUMN_MATRIX_WIDTH,e.COLUMN_MATRIX_HEIGHT,e.COLUMN_TILE_WIDTH,e.COLUMN_TILE_HEIGHT,e.COLUMN_PIXEL_X_SIZE,e.COLUMN_PIXEL_Y_SIZE],n}return i(e,t),e.prototype.createObject=function(t){var e=new a.TileMatrix;return t&&(e.table_name=t.table_name,e.zoom_level=t.zoom_level,e.matrix_width=t.matrix_width,e.matrix_height=t.matrix_height,e.tile_width=t.tile_width,e.tile_height=t.tile_height,e.pixel_x_size=t.pixel_x_size,e.pixel_y_size=t.pixel_y_size),e},e.prototype.getContents=function(t){return this.geoPackage.contentsDao.queryForId(t.table_name)},e.prototype.getTileMatrixSet=function(t){return this.geoPackage.tileMatrixSetDao.queryForId(t.table_name)},e.prototype.tileCount=function(t){var e=this.buildWhereWithFieldAndValue(u.TileColumn.COLUMN_ZOOM_LEVEL,t.zoom_level),n=this.buildWhereArgs([t.zoom_level]),r=s.SqliteQueryBuilder.buildCount("'"+t.table_name+"'",e),i=this.connection.get(r,n);return null==i?void 0:i.count},e.prototype.hasTiles=function(t){var e=this.buildWhereWithFieldAndValue(u.TileColumn.COLUMN_ZOOM_LEVEL,t.zoom_level),n=this.buildWhereArgs([t.zoom_level]),r=s.SqliteQueryBuilder.buildQuery(!1,"'"+t.table_name+"'",void 0,e);return null!=this.connection.get(r,n)},e.TABLE_NAME="gpkg_tile_matrix",e.COLUMN_PK1="table_name",e.COLUMN_PK2="zoom_level",e.COLUMN_TABLE_NAME="table_name",e.COLUMN_ZOOM_LEVEL="zoom_level",e.COLUMN_MATRIX_WIDTH="matrix_width",e.COLUMN_MATRIX_HEIGHT="matrix_height",e.COLUMN_TILE_WIDTH="tile_width",e.COLUMN_TILE_HEIGHT="tile_height",e.COLUMN_PIXEL_X_SIZE="pixel_x_size",e.COLUMN_PIXEL_Y_SIZE="pixel_y_size",e}(o.Dao);e.TileMatrixDao=l;},5899:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TileMatrixSet=void 0;var r=n(2527),i=function(){function t(){}return Object.defineProperty(t.prototype,"boundingBox",{get:function(){return new r.BoundingBox(this.min_x,this.max_x,this.min_y,this.max_y)},set:function(t){this.min_x=t.minLongitude,this.max_x=t.maxLongitude,this.min_y=t.minLatitude,this.max_y=t.maxLatitude;},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"contents",{set:function(t){t&&"tiles"===t.data_type&&(this.table_name=t.table_name);},enumerable:!1,configurable:!0}),t.TABLE_NAME="tableName",t.MIN_X="minX",t.MIN_Y="minY",t.MAX_X="maxX",t.MAX_Y="maxY",t.SRS_ID="srsId",t}();e.TileMatrixSet=i;},5925:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);}),o=this&&this.__values||function(t){var e="function"==typeof Symbol&&Symbol.iterator,n=e&&t[e],r=0;if(n)return n.call(t);if(t&&"number"==typeof t.length)return {next:function(){return t&&r>=t.length&&(t=void 0),{value:t&&t[r++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.TileMatrixSetDao=void 0;var a=n(4115),s=n(5899),u=function(t){function e(n){var r=t.call(this,n)||this;return r.gpkgTableName="gpkg_tile_matrix_set",r.idColumns=[e.COLUMN_PK],r.columns=[e.COLUMN_TABLE_NAME,e.COLUMN_SRS_ID,e.COLUMN_MIN_X,e.COLUMN_MIN_Y,e.COLUMN_MAX_X,e.COLUMN_MAX_Y],r.columnToPropertyMap={},r.columnToPropertyMap[e.COLUMN_TABLE_NAME]=s.TileMatrixSet.TABLE_NAME,r.columnToPropertyMap[e.COLUMN_SRS_ID]=s.TileMatrixSet.SRS_ID,r.columnToPropertyMap[e.COLUMN_MIN_X]=s.TileMatrixSet.MIN_X,r.columnToPropertyMap[e.COLUMN_MIN_Y]=s.TileMatrixSet.MIN_Y,r.columnToPropertyMap[e.COLUMN_MAX_X]=s.TileMatrixSet.MAX_X,r.columnToPropertyMap[e.COLUMN_MAX_Y]=s.TileMatrixSet.MAX_Y,r}return i(e,t),e.prototype.createObject=function(t){var e=new s.TileMatrixSet;return t&&(e.table_name=t.table_name,e.srs_id=t.srs_id,e.min_y=t.min_y,e.min_x=t.min_x,e.max_y=t.max_y,e.max_x=t.max_x),e},e.prototype.getTileTables=function(){var t,n,r=[];try{for(var i=o(this.connection.each("select "+e.COLUMN_TABLE_NAME+" from "+e.TABLE_NAME)),a=i.next();!a.done;a=i.next()){var s=a.value;r.push(s[e.COLUMN_TABLE_NAME]);}}catch(e){t={error:e};}finally{try{a&&!a.done&&(n=i.return)&&n.call(i);}finally{if(t)throw t.error}}return r},e.prototype.getProjection=function(t){var e=this.getSrs(t);if(e)return this.geoPackage.spatialReferenceSystemDao.getProjection(e)},e.prototype.getSrs=function(t){return this.geoPackage.spatialReferenceSystemDao.queryForId(t.srs_id)},e.prototype.getContents=function(t){return this.geoPackage.contentsDao.queryForId(t.table_name)},e.TABLE_NAME="gpkg_tile_matrix_set",e.COLUMN_PK="table_name",e.COLUMN_TABLE_NAME="table_name",e.COLUMN_SRS_ID="srs_id",e.COLUMN_MIN_X="min_x",e.COLUMN_MIN_Y="min_y",e.COLUMN_MAX_X="max_x",e.COLUMN_MAX_Y="max_y",e}(a.Dao);e.TileMatrixSetDao=u;},731:function(t,e,n){"use strict";var r=this&&this.__awaiter||function(t,e,n,r){return new(n||(n=Promise))((function(i,o){function a(t){try{u(r.next(t));}catch(t){o(t);}}function s(t){try{u(r.throw(t));}catch(t){o(t);}}function u(t){var e;t.done?i(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e);}))).then(a,s);}u((r=r.apply(t,e||[])).next());}))},i=this&&this.__generator||function(t,e){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(s){return function(u){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;o&&(o=0,s[0]&&(a=0)),a;)try{if(n=1,r&&(i=2&s[0]?r.return:s[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,s[1])).done)return i;switch(r=0,i&&(s=[2&s[0],i.value]),s[0]){case 0:case 1:i=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,r=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!((i=(i=a.trys).length>0&&i[i.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!i||s[1]>i[0]&&s[1]=t.length&&(t=void 0),{value:t&&t[r++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.GeoPackageTileRetriever=void 0;var a=n(3684),s=n(7977),u=n(2777),l=n(5604),c=n(1375),h=function(){function t(t,e,n){this.tileDao=t,this.tileDao.adjustTileMatrixLengths(),this.width=e,this.height=n,this.scaling=null;}return t.prototype.setScaling=function(t){this.scaling=t;},t.prototype.getWebMercatorBoundingBox=function(){return null==this.setWebMercatorBoundingBox&&(this.setWebMercatorBoundingBox=this.tileDao.tileMatrixSet.boundingBox.projectBoundingBox(this.tileDao.projection,c.ProjectionConstants.EPSG_3857)),this.setWebMercatorBoundingBox},t.prototype.hasTile=function(t,e,n){var r=!1;if(t>=0&&e>=0&&n>=0){var i=a.TileBoundingBoxUtils.getWebMercatorBoundingBoxFromXYZ(t,e,n);r=this.hasTileForBoundingBox(i,c.ProjectionConstants.EPSG_3857);}return r},t.prototype.hasTileForBoundingBox=function(t,e){for(var n=t.projectBoundingBox(e,this.tileDao.projection),r=this.getTileMatrices(n),i=!1,o=0;!i&&o0;}return i},t.prototype.getTile=function(t,e,n){return r(this,void 0,void 0,(function(){var r;return i(this,(function(i){return r=a.TileBoundingBoxUtils.getWebMercatorBoundingBoxFromXYZ(t,e,n),[2,this.getTileWithBounds(r,c.ProjectionConstants.EPSG_3857)]}))}))},t.prototype.getWebMercatorTile=function(t,e,n){return r(this,void 0,void 0,(function(){var r;return i(this,(function(i){return r=a.TileBoundingBoxUtils.getWebMercatorBoundingBoxFromXYZ(t,e,n),[2,this.getTileWithBounds(r,c.ProjectionConstants.EPSG_3857)]}))}))},t.prototype.drawTileIn=function(t,e,n,o){return r(this,void 0,void 0,(function(){var r;return i(this,(function(i){return r=a.TileBoundingBoxUtils.getWebMercatorBoundingBoxFromXYZ(t,e,n),[2,this.getTileWithBounds(r,c.ProjectionConstants.EPSG_3857,o)]}))}))},t.prototype.getTileWithWgs84Bounds=function(t,e){return r(this,void 0,void 0,(function(){var n;return i(this,(function(r){return n=t.projectBoundingBox(c.ProjectionConstants.EPSG_4326,c.ProjectionConstants.EPSG_3857),[2,this.getTileWithBounds(n,c.ProjectionConstants.EPSG_3857,e)]}))}))},t.prototype.getTileWithWgs84BoundsInProjection=function(t,e,n,o){return r(this,void 0,void 0,(function(){var e;return i(this,(function(r){return e=t.projectBoundingBox(c.ProjectionConstants.EPSG_4326,n),[2,this.getTileWithBounds(e,n,o)]}))}))},t.prototype.getTileWithBounds=function(t,e,n){return r(this,void 0,void 0,(function(){var r,u,c,h,f,p,d,y,m,g,_,b,v,T,E,w,x,C,M,S,N;return i(this,(function(i){switch(i.label){case 0:if(null==(r=l.Projection.hasProjection(e)))throw new Error("Projection "+e+" is not loaded.");u=t.projectBoundingBox(e,this.tileDao.projection),c=this.getTileMatrices(u),h=!1,f=null,p=0,i.label=1;case 1:return !h&&p=p;h--)f.push(h);}if(0==l.length)s=f;else if(0==f.length)s=l;else {var d=this.scaling.scaling_type;switch(d){case u.TileScalingType.IN:case u.TileScalingType.IN_OUT:s=l.concat(f);break;case u.TileScalingType.OUT:case u.TileScalingType.OUT_IN:s=f.concat(l);break;case u.TileScalingType.CLOSEST_IN_OUT:case u.TileScalingType.CLOSEST_OUT_IN:var y=void 0,m=void 0;d==u.TileScalingType.CLOSEST_IN_OUT?(y=l,m=f):(y=f,m=l),s=[];for(var g=Math.max(y.length,m.length),_=0;_{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TileBoundingBoxUtils=void 0;var r=n(1375),i=n(7218),o=n(2527),a=function(){function t(){}return t.webMercatorTileBox=function(e,n){var i=t.tilesPerSideWithZoom(n),a=t.tileSizeWithTilesPerSide(i),s=Math.max(-r.ProjectionConstants.WEB_MERCATOR_HALF_WORLD_WIDTH,e.minLongitude),u=Math.min(r.ProjectionConstants.WEB_MERCATOR_HALF_WORLD_WIDTH,e.maxLongitude),l=Math.max(-r.ProjectionConstants.WEB_MERCATOR_HALF_WORLD_WIDTH,e.minLatitude),c=Math.min(r.ProjectionConstants.WEB_MERCATOR_HALF_WORLD_WIDTH,e.maxLatitude),h=Math.floor((s+r.ProjectionConstants.WEB_MERCATOR_HALF_WORLD_WIDTH)/a),f=Math.max(0,Math.ceil((u+r.ProjectionConstants.WEB_MERCATOR_HALF_WORLD_WIDTH)/a)-1),p=Math.floor((r.ProjectionConstants.WEB_MERCATOR_HALF_WORLD_WIDTH-c)/a),d=Math.max(0,Math.ceil((r.ProjectionConstants.WEB_MERCATOR_HALF_WORLD_WIDTH-l)/a)-1);return new o.BoundingBox(h,f,p,d)},t.wgs84TileBox=function(e,n){var i=t.tilesPerWGS84LatSide(n),a=t.tilesPerWGS84LonSide(n),s=t.tileSizeLatPerWGS84Side(i),u=t.tileSizeLonPerWGS84Side(a),l=Math.max(-r.ProjectionConstants.WGS84_HALF_WORLD_LON_WIDTH,e.minLongitude),c=Math.min(r.ProjectionConstants.WGS84_HALF_WORLD_LON_WIDTH,e.maxLongitude),h=Math.max(-r.ProjectionConstants.WGS84_HALF_WORLD_LAT_HEIGHT,e.minLatitude),f=Math.min(r.ProjectionConstants.WGS84_HALF_WORLD_LAT_HEIGHT,e.maxLatitude),p=Math.floor((l+r.ProjectionConstants.WGS84_HALF_WORLD_LON_WIDTH)/u),d=Math.max(0,Math.ceil((c+r.ProjectionConstants.WGS84_HALF_WORLD_LON_WIDTH)/u)-1),y=Math.floor((r.ProjectionConstants.WGS84_HALF_WORLD_LAT_HEIGHT-f)/s),m=Math.max(0,Math.ceil((r.ProjectionConstants.WGS84_HALF_WORLD_LAT_HEIGHT-h)/s)-1);return new o.BoundingBox(p,d,y,m)},t.determinePositionAndScale=function(t,e,n,r,i,o){var a={},s=r.maxLongitude-r.minLongitude,u=(t.minLongitude-r.minLongitude)/s,l=r.maxLatitude-r.minLatitude,c=(r.maxLatitude-t.maxLatitude)/l,h=o/s,f=(t.maxLongitude-t.minLongitude)*h,p=i/l,d=(t.maxLatitude-t.minLatitude)*p;return a.yPositionInFinalTileStart=c*i,a.xPositionInFinalTileStart=u*o,a.dx=a.xPositionInFinalTileStart,a.dy=a.yPositionInFinalTileStart,a.sx=0,a.sy=0,a.dWidth=f,a.dHeight=d,a.sWidth=n,a.sHeight=e,a},t.getWebMercatorBoundingBoxFromXYZ=function(e,n,i,a){for(var s=t.tilesPerSideWithZoom(i),u=t.tileSizeWithTilesPerSide(s);e<0;)e+=s;for(;e>=s;)e-=s;var l=0;if(a&&a.buffer&&a.tileSize){var c=a.buffer;l=u/a.tileSize*c;}var h=-1*r.ProjectionConstants.WEB_MERCATOR_HALF_WORLD_WIDTH+e*u-l,f=-1*r.ProjectionConstants.WEB_MERCATOR_HALF_WORLD_WIDTH+(e+1)*u+l,p=r.ProjectionConstants.WEB_MERCATOR_HALF_WORLD_WIDTH-(n+1)*u-l,d=r.ProjectionConstants.WEB_MERCATOR_HALF_WORLD_WIDTH-n*u+l;return h=Math.max(-1*r.ProjectionConstants.WEB_MERCATOR_HALF_WORLD_WIDTH,h),f=Math.min(r.ProjectionConstants.WEB_MERCATOR_HALF_WORLD_WIDTH,f),p=Math.max(-1*r.ProjectionConstants.WEB_MERCATOR_HALF_WORLD_WIDTH,p),d=Math.min(r.ProjectionConstants.WEB_MERCATOR_HALF_WORLD_WIDTH,d),new o.BoundingBox(h,f,p,d)},t.getWGS84BoundingBoxFromXYZ=function(e,n,i){var a=t.tilesPerWGS84LatSide(i),s=t.tilesPerWGS84LonSide(i),u=t.tileSizeLatPerWGS84Side(a),l=t.tileSizeLonPerWGS84Side(s),c=-1*r.ProjectionConstants.WGS84_HALF_WORLD_LON_WIDTH+e*l,h=-1*r.ProjectionConstants.WGS84_HALF_WORLD_LON_WIDTH+(e+1)*l,f=r.ProjectionConstants.WGS84_HALF_WORLD_LAT_HEIGHT-(n+1)*u,p=r.ProjectionConstants.WGS84_HALF_WORLD_LAT_HEIGHT-n*u;return new o.BoundingBox(c,h,f,p)},t.tileSizeWithTilesPerSide=function(t){return 2*r.ProjectionConstants.WEB_MERCATOR_HALF_WORLD_WIDTH/t},t.intersects=function(e,n){return null!=t.intersection(e,n)},t.intersection=function(t,e){var n=Math.max(t.minLongitude,e.minLongitude),r=Math.max(t.minLatitude,e.minLatitude),i=Math.min(t.maxLongitude,e.maxLongitude),a=Math.min(t.maxLatitude,e.maxLatitude);return n>i||r>a?null:new o.BoundingBox(n,i,r,a)},t.tilesPerSideWithZoom=function(t){return 1<=0&&(a<0&&(a=0),s>=n&&(s=n-1));var u=t.getRowWithTotalBoundingBox(e,r,o.minLatitude),l=t.getRowWithTotalBoundingBox(e,r,o.maxLatitude);return l=0&&(l<0&&(l=0),u>=r&&(u=r-1)),new i.TileGrid(a,s,l,u)},t.getTileColumnWithTotalBoundingBox=function(t,e,n){var r=t.minLongitude,i=t.maxLongitude;return n=i?e:~~((n-r)/((i-r)/e))},t.getRowWithTotalBoundingBox=function(t,e,n){var r=t.minLatitude,i=t.maxLatitude;return n=i?-1:~~((i-n)/((i-r)/e))},t.getTileBoundingBox=function(t,e,n,r){var a=e.matrix_width,s=e.matrix_height,u=new i.TileGrid(n,n,r,r),l=t.minLongitude,c=(t.maxLongitude-l)/a,h=l+c*u.min_x,f=h+c*(u.max_x+1-u.min_x),p=t.minLatitude,d=t.maxLatitude,y=(d-p)/s,m=d-y*u.min_y,g=m-y*(u.max_y+1-u.min_y);return new o.BoundingBox(h,f,g,m)},t.getTileGridBoundingBox=function(t,e,n,r){var i=t.minLongitude,a=t.width/e,s=i+a*r.min_x,u=s+a*(r.max_x+1-r.min_x),l=t.maxLatitude,c=t.height/n,h=l-c*r.min_y,f=h-c*(r.max_y+1-r.min_y);return new o.BoundingBox(s,u,f,h)},t.getXPixel=function(t,e,n){return (n-e.minLongitude)/e.width*t},t.getLongitudeFromPixel=function(t,e,n,r){return r/t*n.width+e.minLongitude},t.getYPixel=function(t,e,n){return (e.maxLatitude-n)/e.height*t},t.getLatitudeFromPixel=function(t,e,n,r){return e.maxLatitude-r/t*n.height},t.tileSize=function(t){return 2*r.ProjectionConstants.WEB_MERCATOR_HALF_WORLD_WIDTH/t},t.zoomLevelOfTileSize=function(t){var e=2*r.ProjectionConstants.WEB_MERCATOR_HALF_WORLD_WIDTH/t;return Math.log(e)/Math.log(2)},t.tileWidthDegrees=function(t){return 360/t},t.prototype.statictileHeightDegrees=function(t){return 180/t},t.tilesPerSide=function(t){return Math.pow(2,t)},t.tileSizeWithZoom=function(t){var e=this.tilesPerSide(t);return this.tileSize(e)},t.toleranceDistance=function(t,e){return this.tileSizeWithZoom(t)/e},t.toleranceDistanceWidthAndHeight=function(t,e,n){return this.toleranceDistance(t,Math.max(e,n))},t.getFloatRoundedRectangle=function(e,n,r,i){var o=Math.round(t.getXPixel(e,r,i.minLongitude)),a=Math.round(t.getXPixel(e,r,i.maxLongitude)),s=Math.round(t.getYPixel(n,r,i.maxLatitude)),u=Math.round(t.getYPixel(n,r,i.minLatitude));return {left:o,right:a,bottom:u,top:s,isValid:o{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TileGrid=void 0;var n=function(){function t(t,e,n,r){this.min_x=t,this.max_x=e,this.min_y=n,this.max_y=r;}return t.prototype.count=function(){return (this.max_x+1-this.min_x)*(this.max_y+1-this.min_y)},t.prototype.equals=function(t){return !!t&&this.min_x===t.min_x&&this.max_x===t.max_x&&this.min_y===t.min_y&&this.max_y===t.max_y},t}();e.TileGrid=n;},8334:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);});Object.defineProperty(e,"__esModule",{value:!0}),e.TileColumn=void 0;var o=n(5865),a=n(7319),s=n(5071),u=function(t){function e(e,n,r,i,o,a,s,u){return t.call(this,e,n,r,i,o,a,s,u)||this}return i(e,t),e.createIdColumn=function(t,n){return void 0===n&&(n=s.UserTableDefaults.DEFAULT_AUTOINCREMENT),new e(t,e.COLUMN_ID,a.GeoPackageDataType.INTEGER,null,!1,null,!0,n)},e.createZoomLevelColumn=function(t){return new e(t,e.COLUMN_ZOOM_LEVEL,a.GeoPackageDataType.INTEGER,null,!0,null,!1,!1)},e.createTileColumnColumn=function(t){return new e(t,e.COLUMN_TILE_COLUMN,a.GeoPackageDataType.INTEGER,null,!0,null,!1,!1)},e.createTileRowColumn=function(t){return new e(t,e.COLUMN_TILE_ROW,a.GeoPackageDataType.INTEGER,null,!0,null,!1,!1)},e.createTileDataColumn=function(t){return new e(t,e.COLUMN_TILE_DATA,a.GeoPackageDataType.BLOB,null,!0,null,!1,!1)},e.createColumn=function(t,n,r,i,o,a,s){return void 0===i&&(i=!1),new e(t,n,r,a,i,o,!1,s)},e.COLUMN_ID="id",e.COLUMN_ZOOM_LEVEL="zoom_level",e.COLUMN_TILE_COLUMN="tile_column",e.COLUMN_TILE_ROW="tile_row",e.COLUMN_TILE_DATA="tile_data",e}(o.UserColumn);e.TileColumn=u;},6295:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);});Object.defineProperty(e,"__esModule",{value:!0}),e.TileColumns=void 0;var o=n(7319),a=function(t){function e(e,n,r){var i=t.call(this,e,n,r)||this;return i.zoomLevelIndex=-1,i.tileColumnIndex=-1,i.tileRowIndex=-1,i.tileDataIndex=-1,i.updateColumns(),i}return i(e,t),e.prototype.copy=function(){var t=new e(this._tableName,this._columns,this._custom);return t.zoomLevelIndex=this.zoomLevelIndex,t.tileColumnIndex=this.tileColumnIndex,t.tileRowIndex=this.tileRowIndex,t.tileDataIndex=this.tileDataIndex,t},e.prototype.updateColumns=function(){t.prototype.updateColumns.call(this);var n=this.getColumnIndex(e.ZOOM_LEVEL,!1);this.isCustom()||this.missingCheck(n,e.ZOOM_LEVEL),null!==n&&(this.typeCheck(o.GeoPackageDataType.INTEGER,this.getColumnForIndex(n)),this.zoomLevelIndex=n);var r=this.getColumnIndex(e.TILE_COLUMN,!1);this.isCustom()||this.missingCheck(r,e.TILE_COLUMN),null!=r&&(this.typeCheck(o.GeoPackageDataType.INTEGER,this.getColumnForIndex(r)),this.tileColumnIndex=r);var i=this.getColumnIndex(e.TILE_ROW,!1);this.isCustom()||this.missingCheck(i,e.TILE_ROW),null!=i&&(this.typeCheck(o.GeoPackageDataType.INTEGER,this.getColumnForIndex(i)),this.tileRowIndex=i);var a=this.getColumnIndex(e.TILE_DATA,!1);this.isCustom()||this.missingCheck(a,e.TILE_DATA),null!=a&&(this.typeCheck(o.GeoPackageDataType.BLOB,this.getColumnForIndex(a)),this.tileDataIndex=a);},e.prototype.getZoomLevelIndex=function(){return this.zoomLevelIndex},e.prototype.setZoomLevelIndex=function(t){this.zoomLevelIndex=t;},e.prototype.hasZoomLevelColumn=function(){return this.zoomLevelIndex>=0},e.prototype.getZoomLevelColumn=function(){var t=null;return this.hasZoomLevelColumn()&&(t=this.getColumnForIndex(this.zoomLevelIndex)),t},e.prototype.getTileColumnIndex=function(){return this.tileColumnIndex},e.prototype.setTileColumnIndex=function(t){this.tileColumnIndex=t;},e.prototype.hasTileColumnColumn=function(){return this.tileColumnIndex>=0},e.prototype.getTileColumnColumn=function(){var t=null;return this.hasTileColumnColumn()&&(t=this.getColumnForIndex(this.tileColumnIndex)),t},e.prototype.getTileRowIndex=function(){return this.tileRowIndex},e.prototype.setTileRowIndex=function(t){this.tileRowIndex=t;},e.prototype.hasTileRowColumn=function(){return this.tileRowIndex>=0},e.prototype.getTileRowColumn=function(){var t=null;return this.hasTileRowColumn()&&(t=this.getColumnForIndex(this.tileRowIndex)),t},e.prototype.getTileDataIndex=function(){return this.tileDataIndex},e.prototype.setTileDataIndex=function(t){this.tileDataIndex=t;},e.prototype.hasTileDataColumn=function(){return this.tileDataIndex>=0},e.prototype.getTileDataColumn=function(){var t=null;return this.hasTileDataColumn()&&(t=this.getColumnForIndex(this.tileDataIndex)),t},e.ID="id",e.ZOOM_LEVEL="zoom_level",e.TILE_COLUMN="tile_column",e.TILE_ROW="tile_row",e.TILE_DATA="tile_data",e}(n(2114).UserColumns);e.TileColumns=a;},1394:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);}),o=this&&this.__values||function(t){var e="function"==typeof Symbol&&Symbol.iterator,n=e&&t[e],r=0;if(n)return n.call(t);if(t&&"number"==typeof t.length)return {next:function(){return t&&r>=t.length&&(t=void 0),{value:t&&t[r++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.TileDao=void 0;var a=n(4668),s=n(3506),u=n(5925),l=n(1332),c=n(8334),h=n(7218),f=n(8572),p=n(3684),d=n(2527),y=n(1584),m=n(5604),g=n(1375),_=function(t){function e(e,n,r,i){var o=t.call(this,e,n)||this;o.tileMatrixSet=r,o.tileMatrices=i,o.zoomLevelToTileMatrix=[],o.widths=[],o.heights=[],0===i.length?(o.minZoom=0,o.maxZoom=0):(o.minZoom=o.tileMatrices[0].zoom_level,o.maxZoom=o.tileMatrices[o.tileMatrices.length-1].zoom_level);for(var a=o.tileMatrices.length-1;a>=0;a--){var s=o.tileMatrices[a];o.zoomLevelToTileMatrix[s.zoom_level]=s;}return o.initialize(),o}return i(e,t),e.prototype.initialize=function(){var t=this.geoPackage.tileMatrixSetDao;this.srs=t.getSrs(this.tileMatrixSet),this.projection=[this.srs.organization.toUpperCase(),this.srs.organization_coordsys_id].join(":"),m.Projection.loadProjection(this.projection,this.srs.definition);for(var e=this.tileMatrices.length-1;e>=0;e--){var n=this.tileMatrices[e],r=n.pixel_x_size*n.tile_width,i=n.pixel_y_size*n.tile_height,o=m.Projection.getConverter(this.projection);o.to_meter&&(r=o.to_meter*n.pixel_x_size*n.tile_width,i=o.to_meter*n.pixel_y_size*n.tile_height),this.widths.push(r),this.heights.push(i);}this.setWebMapZoomLevels();},e.prototype.webZoomToGeoPackageZoom=function(t){var e=p.TileBoundingBoxUtils.getWebMercatorBoundingBoxFromXYZ(0,0,t);return this.determineGeoPackageZoomLevel(e,t)},e.prototype.setWebMapZoomLevels=function(){this.minWebMapZoom=20,this.maxWebMapZoom=0,this.webZoomToGeoPackageZooms={};for(var t=this.tileMatrixSet.max_x-this.tileMatrixSet.min_x,e=this.tileMatrixSet.max_y-this.tileMatrixSet.min_y,n=0;nh&&(this.minWebMapZoom=h),this.maxWebMapZoom~~r.matrix_width&&(r.matrix_width=~~i),o>~~r.matrix_height&&(r.matrix_height=~~o);}},e.prototype.getTileMatrixWithZoomLevel=function(t){return this.zoomLevelToTileMatrix[t]},e.prototype.getZoomLevelForLength=function(t){return y.TileDaoUtils.getZoomLevelForLength(this.widths,this.heights,this.tileMatrices,t)},e.prototype.getZoomLevelForWidthAndHeight=function(t,e){return y.TileDaoUtils.getZoomLevelForWidthAndHeight(this.widths,this.heights,this.tileMatrices,t,e)},e.prototype.getClosestZoomLevelForLength=function(t){return y.TileDaoUtils.getClosestZoomLevelForLength(this.widths,this.heights,this.tileMatrices,t)},e.prototype.getClosestZoomLevelForWidthAndHeight=function(t,e){return y.TileDaoUtils.getClosestZoomLevelForWidthAndHeight(this.widths,this.heights,this.tileMatrices,t,e)},e.prototype.getApproximateZoomLevelForLength=function(t){return y.TileDaoUtils.getApproximateZoomLevelForLength(this.widths,this.heights,this.tileMatrices,t)},e.prototype.getApproximateZoomLevelForWidthAndHeight=function(t,e){return y.TileDaoUtils.getApproximateZoomLevelForWidthAndHeight(this.widths,this.heights,this.tileMatrices,t,e)},e.prototype.getMaxLength=function(){return y.TileDaoUtils.getMaxLengthForTileWidthsAndHeights(this.widths,this.heights)},e.prototype.getMinLength=function(){return y.TileDaoUtils.getMinLengthForTileWidthsAndHeights(this.widths,this.heights)},e.prototype.queryForTile=function(t,e,n){var r,i,a,s=new f.ColumnValues;s.addColumn(c.TileColumn.COLUMN_TILE_COLUMN,t),s.addColumn(c.TileColumn.COLUMN_TILE_ROW,e),s.addColumn(c.TileColumn.COLUMN_ZOOM_LEVEL,n);try{for(var u=o(this.queryForFieldValues(s)),l=u.next();!l.done;l=u.next()){var h=l.value;a=this.getRow(h);}}catch(t){r={error:t};}finally{try{l&&!l.done&&(i=u.return)&&i.call(u);}finally{if(r)throw r.error}}return a},e.prototype.queryForTilesWithZoomLevel=function(t){var e,n=this,r=this.queryForEach(c.TileColumn.COLUMN_ZOOM_LEVEL,t);return (e={})[Symbol.iterator]=function(){return this},e.next=function(){var t=r.next();return t.done?{value:void 0,done:!0}:{value:n.getRow(t.value),done:!1}},e},e.prototype.queryForTilesDescending=function(t){var e,n=this,r=this.queryForEach(c.TileColumn.COLUMN_ZOOM_LEVEL,t,void 0,void 0,c.TileColumn.COLUMN_TILE_COLUMN+" DESC, "+c.TileColumn.COLUMN_TILE_ROW+" DESC");return (e={})[Symbol.iterator]=function(){return this},e.next=function(){var t=r.next();return t.done?{value:void 0,done:!0}:{value:n.getRow(t.value),done:!1}},e},e.prototype.queryForTilesInColumn=function(t,e){var n,r=this,i=new f.ColumnValues;i.addColumn(c.TileColumn.COLUMN_TILE_COLUMN,t),i.addColumn(c.TileColumn.COLUMN_ZOOM_LEVEL,e);var o=this.queryForFieldValues(i);return (n={})[Symbol.iterator]=function(){return this},n.next=function(){var t=o.next();return t.done?{value:void 0,done:!0}:{value:r.getRow(t.value),done:!1}},n},e.prototype.queryForTilesInRow=function(t,e){var n,r=this,i=new f.ColumnValues;i.addColumn(c.TileColumn.COLUMN_TILE_ROW,t),i.addColumn(c.TileColumn.COLUMN_ZOOM_LEVEL,e);var o=this.queryForFieldValues(i);return (n={})[Symbol.iterator]=function(){return this},n.next=function(){var t=o.next();return t.done?{value:void 0,done:!0}:{value:r.getRow(t.value),done:!1}},n},e.prototype.queryByTileGrid=function(t,e){var n,r=this;if(t){var i="";i+=this.buildWhereWithFieldAndValue(c.TileColumn.COLUMN_ZOOM_LEVEL,e),i+=" and ",i+=this.buildWhereWithFieldAndValue(c.TileColumn.COLUMN_TILE_COLUMN,t.min_x,">="),i+=" and ",i+=this.buildWhereWithFieldAndValue(c.TileColumn.COLUMN_TILE_COLUMN,t.max_x,"<="),i+=" and ",i+=this.buildWhereWithFieldAndValue(c.TileColumn.COLUMN_TILE_ROW,t.min_y,">="),i+=" and ",i+=this.buildWhereWithFieldAndValue(c.TileColumn.COLUMN_TILE_ROW,t.max_y,"<=");var o=this.buildWhereArgs([e,t.min_x,t.max_x,t.min_y,t.max_y]),a=this.queryWhereWithArgsDistinct(i,o);return (n={})[Symbol.iterator]=function(){return this},n.next=function(){var t=a.next();return t.done?{value:void 0,done:!0}:{value:r.getRow(t.value),done:!1}},n}},e.prototype.countByTileGrid=function(t,e){if(t){var n="";n+=this.buildWhereWithFieldAndValue(c.TileColumn.COLUMN_ZOOM_LEVEL,e),n+=" and ",n+=this.buildWhereWithFieldAndValue(c.TileColumn.COLUMN_TILE_COLUMN,t.min_x,">="),n+=" and ",n+=this.buildWhereWithFieldAndValue(c.TileColumn.COLUMN_TILE_COLUMN,t.max_x,"<="),n+=" and ",n+=this.buildWhereWithFieldAndValue(c.TileColumn.COLUMN_TILE_ROW,t.min_y,">="),n+=" and ",n+=this.buildWhereWithFieldAndValue(c.TileColumn.COLUMN_TILE_ROW,t.max_y,"<=");var r=this.buildWhereArgs([e,t.min_x,t.max_x,t.min_y,t.max_y]);return this.countWhere(n,r)}},e.prototype.deleteTile=function(t,e,n){var r="";r+=this.buildWhereWithFieldAndValue(c.TileColumn.COLUMN_ZOOM_LEVEL,n),r+=" and ",r+=this.buildWhereWithFieldAndValue(c.TileColumn.COLUMN_TILE_COLUMN,t),r+=" and ",r+=this.buildWhereWithFieldAndValue(c.TileColumn.COLUMN_TILE_ROW,e);var i=this.buildWhereArgs([n,t,e]);return this.deleteWhere(r,i)},e.prototype.dropTable=function(){var t=this.geoPackage.tileMatrixDao,e=a.UserDao.prototype.dropTable.call(this);this.geoPackage.tileMatrixSetDao.delete(this.tileMatrixSet);for(var n=this.tileMatrices.length-1;n>=0;n--){var r=this.tileMatrices[n];t.delete(r);}return this.geoPackage.contentsDao.deleteById(this.gpkgTableName),e},e.prototype.rename=function(e){t.prototype.rename.call(this,e);var n=this.tileMatrixSet.table_name,r={};r[u.TileMatrixSetDao.COLUMN_TABLE_NAME]=e;var i=this.buildWhereWithFieldAndValue(u.TileMatrixSetDao.COLUMN_TABLE_NAME,n),o=this.buildWhereArgs([n]),a=this.geoPackage.contentsDao,l=a.queryForId(n);l.table_name=e,l.identifier=e,a.create(l),this.geoPackage.tileMatrixSetDao.updateWithValues(r,i,o);var c=this.geoPackage.tileMatrixDao,h={};h[s.TileMatrixDao.COLUMN_TABLE_NAME]=e;var f=this.buildWhereWithFieldAndValue(s.TileMatrixDao.COLUMN_TABLE_NAME,n);c.updateWithValues(h,f,o),a.deleteById(n);},e.readTable=function(t,e){return t.getTileDao(e)},e}(a.UserDao);e.TileDao=_;},1584:function(t,e,n){"use strict";var r=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.TileDaoUtils=void 0;var i=r(n(5871)),o=r(n(1159)),a=function(){function t(){}return t.adjustTileMatrixLengths=function(t,e){var n=t.max_x-t.min_x,r=t.max_y-t.min_y;e.forEach((function(t){var e=Math.floor(n/(t.pixel_x_size*t.tile_width)),i=Math.floor(r/(t.pixel_y_size*t.tile_height));e>t.matrix_width&&(t.matrix_width=e),i>t.matrix_height&&(t.matrix_height=i);}));},t.getZoomLevelForLength=function(e,n,r,i){return t._getZoomLevelForLength(e,n,r,i,!0)},t.getZoomLevelForWidthAndHeight=function(e,n,r,i,o){return t._getZoomLevelForWidthAndHeight(e,n,r,i,o,!0)},t.getClosestZoomLevelForLength=function(e,n,r,i){return t._getZoomLevelForLength(e,n,r,i,!1)},t.getClosestZoomLevelForWidthAndHeight=function(e,n,r,i,o){return t._getZoomLevelForWidthAndHeight(e,n,r,i,o,!1)},t._getZoomLevelForLength=function(e,n,r,i,o){return t._getZoomLevelForWidthAndHeight(e,n,r,i,i,o)},t._getZoomLevelForWidthAndHeight=function(e,n,r,a,s,u){var l=null,c=(0,i.default)(e,a);-1===c&&(c=(0,o.default)(e,a)),c<0&&(c=-1*(c+1));var h=(0,i.default)(n,s);if(-1===h&&(h=(0,o.default)(n,s)),h<0&&(h=-1*(h+1)),0==c?u&&a=t.getMaxLength(e)?c=-1:--c:t.closerToZoomIn(e,a,c)&&--c,0==h?u&&s=t.getMaxLength(n)?h=-1:--h:t.closerToZoomIn(n,s,h)&&--h,c>=0||h>=0){var f;f=c<0?h:h<0?c:Math.min(c,h),l=t.getTileMatrixAtLengthIndex(r,f).zoom_level;}return l},t.closerToZoomIn=function(t,e,n){return Math.log(e/t[n-1])/Math.log(2)s){var p=Math.log(r/s)/Math.log(2);l=Math.ceil(p),c=Math.floor(p),h=s*Math.pow(2,l),f=s*Math.pow(2,c),o=n[0].zoom_level,o-=r-f<=h-r?c:l;}else {var d=(0,i.default)(e,r);d<0&&(d=-1*(d+1));var y=Math.log(r/e[d])/Math.log(.5),m=t.getTileMatrixAtLengthIndex(n,d).zoom_level;o=m+=Math.round(y);}return o},t.getMaxLengthForTileWidthsAndHeights=function(e,n){var r=t.getMaxLength(e),i=t.getMaxLength(n);return Math.min(r,i)},t.getMinLengthForTileWidthsAndHeights=function(e,n){var r=t.getMinLength(e),i=t.getMinLength(n);return Math.max(r,i)},t.getMaxLength=function(t){return t[t.length-1]/.51},t.getMinLength=function(t){return .51*t[0]},t}();e.TileDaoUtils=a;},1332:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);});Object.defineProperty(e,"__esModule",{value:!0}),e.TileRow=void 0;var o=function(t){function e(e,n,r){var i=t.call(this,e,n,r)||this;return i.tileTable=e,i}return i(e,t),Object.defineProperty(e.prototype,"zoomLevelColumnIndex",{get:function(){return this.tileTable.getZoomLevelColumnIndex()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"zoomLevelColumn",{get:function(){return this.tileTable.getZoomLevelColumn()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"zoomLevel",{get:function(){return this.getValueWithColumnName(this.zoomLevelColumn.name)},set:function(t){this.setValueWithIndex(this.zoomLevelColumnIndex,t);},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"tileColumnColumnIndex",{get:function(){return this.tileTable.getTileColumnColumnIndex()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"tileColumnColumn",{get:function(){return this.tileTable.getTileColumnColumn()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"tileColumn",{get:function(){return this.getValueWithColumnName(this.tileColumnColumn.name)},set:function(t){this.setValueWithColumnName(this.tileColumnColumn.name,t);},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"rowColumnIndex",{get:function(){return this.tileTable.getTileRowColumnIndex()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"rowColumn",{get:function(){return this.tileTable.getTileRowColumn()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"row",{get:function(){return this.getValueWithColumnName(this.rowColumn.name)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"tileRow",{set:function(t){this.setValueWithColumnName(this.rowColumn.name,t);},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"tileDataColumnIndex",{get:function(){return this.tileTable.getTileDataColumnIndex()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"tileDataColumn",{get:function(){return this.tileTable.getTileDataColumn()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"tileData",{get:function(){return this.getValueWithColumnName(this.tileDataColumn.name)},set:function(t){this.setValueWithColumnName(this.tileDataColumn.name,t);},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"tileDataImage",{get:function(){return null},enumerable:!1,configurable:!0}),e}(n(2224).UserRow);e.TileRow=o;},8704:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);});Object.defineProperty(e,"__esModule",{value:!0}),e.TileTable=void 0;var o=n(8018),a=n(8334),s=n(6295),u=n(1648),l=n(9971),c=function(t){function e(e,n){var r=t.call(this,new s.TileColumns(e,n,!1))||this,i=new u.UniqueConstraint;return i.add(r.getUserColumns().getZoomLevelColumn()),i.add(r.getUserColumns().getTileColumnColumn()),i.add(r.getUserColumns().getTileRowColumn()),r.addConstraint(i),r}return i(e,t),e.prototype.copy=function(){return new e(this.getTableName(),this.columns._columns)},e.prototype.getDataType=function(){return l.ContentsDataType.TILES},e.prototype.getUserColumns=function(){return t.prototype.getUserColumns.call(this)},e.prototype.createUserColumns=function(t){return new s.TileColumns(this.getTableName(),t,!0)},e.prototype.getZoomLevelColumnIndex=function(){return this.getUserColumns().getZoomLevelIndex()},e.prototype.getZoomLevelColumn=function(){return this.getUserColumns().getZoomLevelColumn()},e.prototype.getTileColumnColumnIndex=function(){return this.getUserColumns().getTileColumnIndex()},e.prototype.getTileColumnColumn=function(){return this.getUserColumns().getTileColumnColumn()},e.prototype.getTileRowColumnIndex=function(){return this.getUserColumns().getTileRowIndex()},e.prototype.getTileRowColumn=function(){return this.getUserColumns().getTileRowColumn()},e.prototype.getTileDataColumnIndex=function(){return this.getUserColumns().getTileDataIndex()},e.prototype.getTileDataColumn=function(){return this.getUserColumns().getTileDataColumn()},e.createRequiredColumns=function(t){void 0===t&&(t=0);var e=[];return e.push(a.TileColumn.createIdColumn(t++)),e.push(a.TileColumn.createZoomLevelColumn(t++)),e.push(a.TileColumn.createTileColumnColumn(t++)),e.push(a.TileColumn.createTileRowColumn(t++)),e.push(a.TileColumn.createTileDataColumn(t)),e},e.prototype.validateContents=function(t){var e=t.data_type;if(null==e||e!==l.ContentsDataType.TILES)throw new Error("The Contents of a TileTable must have a data type of tiles")},e.COLUMN_ID=s.TileColumns.ID,e.COLUMN_ZOOM_LEVEL=s.TileColumns.ZOOM_LEVEL,e.COLUMN_TILE_COLUMN=s.TileColumns.TILE_COLUMN,e.COLUMN_TILE_ROW=s.TileColumns.TILE_ROW,e.COLUMN_TILE_DATA=s.TileColumns.TILE_DATA,e}(o.UserTable);e.TileTable=c;},9631:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);});Object.defineProperty(e,"__esModule",{value:!0}),e.TileTableReader=void 0;var o=n(4880),a=n(8704),s=n(8334),u=function(t){function e(e){var n=t.call(this,e.table_name)||this;return n.tileMatrixSet=e,n}return i(e,t),e.prototype.readTileTable=function(t){return this.readTable(t.database)},e.prototype.createTable=function(t,e){return new a.TileTable(t,e)},e.prototype.createColumn=function(t){return new s.TileColumn(t.index,t.name,t.dataType,t.max,t.notNull,t.defaultValue,t.primaryKey,t.autoincrement)},e}(o.UserTableReader);e.TileTableReader=u;},5762:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);});Object.defineProperty(e,"__esModule",{value:!0}),e.UserCustomColumn=void 0;var o=n(5865),a=n(7319),s=n(5071),u=function(t){function e(e,n,r,i,o,a,s,u){var l=t.call(this,e,n,r,i,o,a,s,u)||this;if(null==r)throw new Error("Data type is required to create column: "+n);return l}return i(e,t),e.createColumn=function(t,n,r,i,o,a,s){return void 0===i&&(i=!1),new e(t,n,r,a,i,o,!1,s)},e.createPrimaryKeyColumn=function(t,n,r){return void 0===r&&(r=s.UserTableDefaults.DEFAULT_AUTOINCREMENT),new e(t,n,a.GeoPackageDataType.INTEGER,void 0,void 0,void 0,!0,r)},e}(o.UserColumn);e.UserCustomColumn=u;},496:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);});Object.defineProperty(e,"__esModule",{value:!0}),e.UserCustomColumns=void 0;var o=function(t){function e(e,n,r,i){var o=t.call(this,e,n,i)||this;return o.requiredColumns=null==r?[]:r.slice(),o.updateColumns(),o}return i(e,t),e.prototype.copy=function(){return new e(this.getTableName(),this.getColumns(),this.getRequiredColumns(),this.isCustom())},e.prototype.getRequiredColumns=function(){return this.requiredColumns},e.prototype.setRequiredColumns=function(t){void 0===t&&(t=[]),this.requiredColumns=t.slice();},e.prototype.updateColumns=function(){var e=this;if(t.prototype.updateColumns.call(this),!this.isCustom()&&null!==this.requiredColumns&&0!==this.requiredColumns.length){var n=new Set(this.requiredColumns),r={};this.getColumns().forEach((function(t){var i=t.getName(),o=t.getIndex();if(n.has(i)){var a=r[i];e.duplicateCheck(o,a,i),r[i]=o;}})),n.forEach((function(t){e.missingCheck(r[t],t);}));}},e}(n(2114).UserColumns);e.UserCustomColumns=o;},1447:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);});Object.defineProperty(e,"__esModule",{value:!0}),e.UserCustomDao=void 0;var o=n(4668),a=n(362),s=function(t){function e(e,n){return t.call(this,e,n)||this}return i(e,t),e.prototype.createObject=function(t){return this.getRow(t)},e.readTable=function(t,n){return new e(t,new a.UserCustomTableReader(n).readTable(t.database))},e}(o.UserDao);e.UserCustomDao=s;},2378:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);});Object.defineProperty(e,"__esModule",{value:!0}),e.UserCustomTable=void 0;var o=n(8018),a=n(496),s=function(t){function e(e,n,r){return void 0===r&&(r=[]),t.call(this,new a.UserCustomColumns(e,n,r,!0))||this}return i(e,t),e.prototype.copy=function(){return new e(this.getTableName(),this.getUserColumns().getColumns(),this.getUserColumns().getRequiredColumns())},e.prototype.getDataType=function(){return null},e.prototype.getUserColumns=function(){return t.prototype.getUserColumns.call(this)},e.prototype.getRequiredColumns=function(){return this.getUserColumns().getRequiredColumns()},e}(o.UserTable);e.UserCustomTable=s;},362:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);});Object.defineProperty(e,"__esModule",{value:!0}),e.UserCustomTableReader=void 0;var o=n(2378),a=n(4880),s=n(5762),u=function(t){function e(e){return t.call(this,e)||this}return i(e,t),e.prototype.readUserCustomTable=function(t){return this.readTable(t.database)},e.prototype.createTable=function(t,e){return new o.UserCustomTable(t,e,null)},e.prototype.createColumn=function(t){return new s.UserCustomColumn(t.index,t.name,t.dataType,t.max,t.notNull,t.defaultValue,t.primaryKey,t.autoincrement)},e}(a.UserTableReader);e.UserCustomTableReader=u;},5865:function(t,e,n){"use strict";var r=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.UserColumn=void 0;var i=r(n(8446)),o=n(7319),a=n(2841),s=n(1133),u=n(91),l=n(5071),c=n(7686),h=function(){function t(t,e,n,r,i,o,a,s,u){this.index=t,this.name=e,this.dataType=n,this.max=r,this.notNull=i,this.defaultValue=o,this.primaryKey=a,this.autoincrement=s,this.unique=u,this.constraints=new c.Constraints,this.validateMax(),this.type=this.getTypeName(e,n),this.addDefaultConstraints();}return t.validateDataType=function(t,e){if(null==e)throw new Error("Data Type is required to create column: "+t)},t.prototype.copy=function(){var e=new t(this.index,this.name,this.dataType,this.max,this.notNull,this.defaultValue,this.primaryKey,this.unique);return e.min=this.min,e.constraints=this.constraints.copy(),e},t.prototype.clearConstraints=function(){return this.constraints.clear()},t.prototype.getConstraints=function(){return this.constraints},t.prototype.setIndex=function(t){if(this.hasIndex()){if(!(0,i.default)(t,this.index))throw new Error("User Column with a valid index may not be changed. Column Name: "+this.name+", Index: "+this.index+", Attempted Index: "+this.index)}else this.index=t;},t.prototype.hasIndex=function(){return this.index>t.NO_INDEX},t.prototype.resetIndex=function(){this.index=t.NO_INDEX;},t.prototype.getIndex=function(){return this.index},t.prototype.setName=function(t){this.name=t;},t.prototype.getName=function(){return this.name},t.prototype.isNamed=function(t){return this.name===t},t.prototype.hasMax=function(){return null!=this.max},t.prototype.setMax=function(t){this.max=t;},t.prototype.getMax=function(){return this.max},t.prototype.setNotNull=function(t){this.notNull!==t&&(t?this.addNotNullConstraint():this.removeConstraintByType(u.ConstraintType.NOT_NULL)),this.notNull=t;},t.prototype.isNotNull=function(){return this.notNull},t.prototype.hasDefaultValue=function(){return null!==this.defaultValue&&void 0!==this.defaultValue},t.prototype.setDefaultValue=function(t){this.removeConstraintByType(u.ConstraintType.DEFAULT),null!=t&&this.addDefaultValueConstraint(t),this.defaultValue=t;},t.prototype.getDefaultValue=function(){return this.defaultValue},t.prototype.setPrimaryKey=function(t){this.primaryKey!==t&&(t?this.addPrimaryKeyConstraint():(this.autoincrement=!1,this.removeConstraintByType(u.ConstraintType.AUTOINCREMENT),this.removeConstraintByType(u.ConstraintType.PRIMARY_KEY))),this.primaryKey=t;},t.prototype.isPrimaryKey=function(){return this.primaryKey},t.prototype.setAutoincrement=function(t){this.autoincrement!==t&&(t?this.addAutoincrementConstraint():this.removeConstraintByType(u.ConstraintType.AUTOINCREMENT)),this.autoincrement=t;},t.prototype.isAutoincrement=function(){return this.autoincrement},t.prototype.setUnique=function(t){this.unique!==t&&(t?this.addUniqueConstraint():this.removeConstraintByType(u.ConstraintType.UNIQUE)),this.unique=t;},t.prototype.isUnique=function(){return this.unique},t.prototype.setDataType=function(t){this.dataType=t;},t.prototype.getDataType=function(){return this.dataType},t.prototype.getTypeName=function(e,n){return t.validateDataType(e,n),o.GeoPackageDataType.nameFromType(n)},t.prototype.validateMax=function(){if(this.max&&this.dataType!==o.GeoPackageDataType.TEXT&&this.dataType!==o.GeoPackageDataType.BLOB)throw new Error("Column max is only supported for TEXT and BLOB columns. column: "+this.name+", max: "+this.max+", type: "+this.dataType);return !0},t.createPrimaryKeyColumn=function(e,n,r){return void 0===r&&(r=l.UserTableDefaults.DEFAULT_AUTOINCREMENT),new t(e,n,o.GeoPackageDataType.INTEGER,void 0,!0,void 0,!0,r)},t.createColumn=function(e,n,r,i,o,a){return void 0===i&&(i=!1),new t(e,n,r,a,i,o,!1)},t.prototype.addDefaultConstraints=function(){this.isNotNull()&&this.addNotNullConstraint(),this.hasDefaultValue()&&this.addDefaultValueConstraint(this.getDefaultValue()),this.isPrimaryKey()&&(this.addPrimaryKeyConstraint(),this.isAutoincrement()&&this.addAutoincrementConstraint()),this.isUnique()&&this.addUniqueConstraint();},t.prototype.addConstraint=function(t){null!==t.order&&void 0!==t.order||this.setConstraintOrder(t),this.constraints.add(t);},t.prototype.setConstraintOrder=function(e){var n=null;switch(e.getType()){case u.ConstraintType.PRIMARY_KEY:n=t.PRIMARY_KEY_CONSTRAINT_ORDER;break;case u.ConstraintType.UNIQUE:n=t.UNIQUE_CONSTRAINT_ORDER;break;case u.ConstraintType.NOT_NULL:n=t.NOT_NULL_CONSTRAINT_ORDER;break;case u.ConstraintType.DEFAULT:n=t.DEFAULT_VALUE_CONSTRAINT_ORDER;break;case u.ConstraintType.AUTOINCREMENT:n=t.AUTOINCREMENT_CONSTRAINT_ORDER;}e.order=n;},t.prototype.addConstraintSql=function(t){var e=s.ConstraintParser.getType(t),n=s.ConstraintParser.getName(t);this.constraints.add(new a.RawConstraint(e,n,t));},t.prototype.addConstraints=function(t){this.constraints.addConstraints(t);},t.prototype.addColumnConstraints=function(t){this.addConstraints(t.getConstraints());},t.prototype.addNotNullConstraint=function(){this.addConstraint(new a.RawConstraint(u.ConstraintType.NOT_NULL,null,"NOT NULL",t.NOT_NULL_CONSTRAINT_ORDER));},t.prototype.addDefaultValueConstraint=function(e){this.addConstraint(new a.RawConstraint(u.ConstraintType.DEFAULT,null,"DEFAULT "+o.GeoPackageDataType.columnDefaultValue(e,this.getDataType()),t.DEFAULT_VALUE_CONSTRAINT_ORDER));},t.prototype.addPrimaryKeyConstraint=function(){this.addConstraint(new a.RawConstraint(u.ConstraintType.PRIMARY_KEY,null,"PRIMARY KEY",t.PRIMARY_KEY_CONSTRAINT_ORDER));},t.prototype.addAutoincrementConstraint=function(){if(!this.isPrimaryKey())throw new Error("Autoincrement may only be set on a primary key column");this.addConstraint(new a.RawConstraint(u.ConstraintType.AUTOINCREMENT,null,"AUTOINCREMENT",t.AUTOINCREMENT_CONSTRAINT_ORDER));},t.prototype.addUniqueConstraint=function(){this.addConstraint(new a.RawConstraint(u.ConstraintType.UNIQUE,null,"UNIQUE",t.UNIQUE_CONSTRAINT_ORDER));},t.prototype.removeConstraintByType=function(t){this.constraints.clearConstraintsByType(t);},t.prototype.getType=function(){return this.type},t.prototype.hasConstraints=function(){return this.constraints.has()},t.prototype.buildConstraintSql=function(t){var e=null;return !l.UserTableDefaults.DEFAULT_PK_NOT_NULL&&this.isPrimaryKey()&&t.getType()===u.ConstraintType.NOT_NULL||(e=t.buildSql()),e},t.NO_INDEX=-1,t.NOT_NULL_CONSTRAINT_ORDER=1,t.DEFAULT_VALUE_CONSTRAINT_ORDER=2,t.PRIMARY_KEY_CONSTRAINT_ORDER=3,t.AUTOINCREMENT_CONSTRAINT_ORDER=4,t.UNIQUE_CONSTRAINT_ORDER=5,t}();e.UserColumn=h;},2114:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.UserColumns=void 0;var r=n(7319),i=function(){function t(t,e,n){void 0===n&&(n=!1),this._pkIndex=-1,this._tableName=t,this._columns=e,this._custom=n,this._nameToIndex=new Map,this._columnNames=[];}return t.prototype.copy=function(){var e=[];this._columns.forEach((function(t){e.push(t.copy());}));var n=new t(this._tableName,e,this._custom);return n._columnNames=Array.from(this._columnNames),n._nameToIndex=new Map(this._nameToIndex),n._pkIndex=this._pkIndex,n},t.prototype.updateColumns=function(){var t=this;if(this._nameToIndex.clear(),!this._custom){var e=new Set,n=[];this._columns.forEach((function(r){if(r.hasIndex()){var i=r.getIndex();if(e.has(i))throw new Error("Duplicate index: "+i+", Table Name: "+t._tableName);e.add(i);}else n.push(r);}));var r=-1;n.forEach((function(t){for(;e.has(++r););t.setIndex(r);})),this._columns.sort((function(t,e){return t.index-e.index}));}this._pkIndex=-1,this._columnNames=[];for(var i=0;i=0},t.prototype.getPkColumnIndex=function(){return this._pkIndex},t.prototype.getPkColumn=function(){var t=null;return this.hasPkColumn()&&(t=this._columns[this._pkIndex]),t},t.prototype.getPkColumnName=function(){return this.getPkColumn().getName()},t.prototype.columnsOfType=function(t){return this._columns.filter((function(e){return e.getDataType()===t}))},t.prototype.addColumn=function(t){this._columns.push(t),this.updateColumns();},t.prototype.renameColumn=function(t,e){this.renameColumnWithName(t.getName(),e),t.setName(e);},t.prototype.renameColumnWithName=function(t,e){this.renameColumnWithIndex(this.getColumnIndexForColumnName(t),e);},t.prototype.renameColumnWithIndex=function(t,e){this._columns[t].setName(e),this.updateColumns();},t.prototype.dropColumn=function(t){this.dropColumnWithIndex(t.getIndex());},t.prototype.dropColumnWithName=function(t){this.dropColumnWithIndex(this.getColumnIndexForColumnName(t));},t.prototype.dropColumnWithIndex=function(t){this._columns.splice(t,1),this._columns.forEach((function(t){return t.resetIndex()})),this.updateColumns();},t.prototype.alterColumn=function(t){var e=this.getColumn(t.getName()).getIndex();t.setIndex(e),this._columns[e]=t;},t}();e.UserColumns=i;},4668:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);});Object.defineProperty(e,"__esModule",{value:!0}),e.UserDao=void 0;var o=n(4115),a=n(6366),s=n(4599),u=n(2224),l=n(8483),c=n(8314),h=n(5042),f=function(t){function e(e,n){var r=t.call(this,e)||this;return r._table=n,r.table_name=n.getTableName(),r.gpkgTableName=n.getTableName(),n.getPkColumn()?r.idColumns=[n.getPkColumn().getName()]:r.idColumns=[],r.columns=n.getUserColumns().getColumnNames(),r}return i(e,t),e.prototype.createObject=function(t){return t?this.getRow(t):this.newRow()},e.prototype.setValueInObject=function(t,e,n){t.setValueNoValidationWithIndex(e,n);},e.prototype.getRow=function(t){if(t instanceof u.UserRow)return t;if(this.table){for(var e=this.table.getColumnCount(),n={},r=0;r{"use strict";var r=n(3085).lW;Object.defineProperty(e,"__esModule",{value:!0}),e.UserRow=void 0;var i=n(7319),o=function(){function t(t,e,n){if(this.table=t,this.columnTypes=e,this.values=n,!this.columnTypes){var r=this.table.getColumnCount();this.columnTypes={},this.values={};for(var i=0;i{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.UserTable=void 0;var r=n(7686),i=function(){function t(t){this.constraints=new r.Constraints,this.columns=t,this.constraints=new r.Constraints;}return t.prototype.copy=function(){var e=new t(this.columns.copy());return e.constraints.addConstraints(this.constraints),null!==this.contents&&void 0!==this.contents&&(e.contents=this.contents.copy()),e},t.prototype.getTableName=function(){return this.columns.getTableName()},Object.defineProperty(t.prototype,"tableType",{get:function(){return "userTable"},enumerable:!1,configurable:!0}),t.prototype.getUserColumns=function(){return this.columns},t.prototype.getColumnIndex=function(t){return this.columns.getColumnIndexForColumnName(t)},t.prototype.hasColumn=function(t){try{return this.getColumnIndex(t),!0}catch(t){return !1}},t.prototype.getColumnNameWithIndex=function(t){return this.columns.getColumnName(t)},t.prototype.getColumnWithIndex=function(t){return this.columns.getColumnForIndex(t)},t.prototype.getColumnWithColumnName=function(t){return this.getColumnWithIndex(this.getColumnIndex(t))},t.prototype.getColumnCount=function(){return this.columns.columnCount()},t.prototype.getPkColumn=function(){return this.columns.getPkColumn()},t.prototype.getPkColumnName=function(){return this.columns.getPkColumnName()},t.prototype.getIdColumnIndex=function(){return this.columns.getPkColumnIndex()},t.prototype.getIdColumn=function(){return this.getPkColumn()},t.prototype.addConstraint=function(t){this.constraints.add(t);},t.prototype.addConstraints=function(t){this.constraints.addConstraints(t);},t.prototype.hasConstraints=function(){return this.constraints.has()},t.prototype.getConstraints=function(){return this.constraints},t.prototype.getConstraintsByType=function(t){return this.constraints.getConstraintsForType(t)},t.prototype.clearConstraints=function(){return this.constraints.clear()},t.prototype.columnsOfType=function(t){return this.columns.columnsOfType(t)},t.prototype.getContents=function(){return this.contents},t.prototype.setContents=function(t){this.contents=t,null!=t&&this.validateContents(t);},t.prototype.validateContents=function(t){},t.prototype.addColumn=function(t){this.columns.addColumn(t);},t.prototype.renameColumn=function(t,e){this.columns.renameColumn(t,e);},t.prototype.renameColumnWithName=function(t,e){this.columns.renameColumnWithName(t,e);},t.prototype.renameColumnAtIndex=function(t,e){this.columns.renameColumnWithIndex(t,e);},t.prototype.dropColumn=function(t){this.columns.dropColumn(t);},t.prototype.dropColumnWithName=function(t){this.columns.dropColumnWithName(t);},t.prototype.dropColumnWithIndex=function(t){this.columns.dropColumnWithIndex(t);},t.prototype.alterColumn=function(t){this.columns.alterColumn(t);},t}();e.UserTable=i;},5071:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.UserTableDefaults=void 0;var n=function(){function t(){}return t.DEFAULT_AUTOINCREMENT=!0,t.DEFAULT_PK_NOT_NULL=!0,t}();e.UserTableDefaults=n;},4880:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.UserTableReader=void 0;var r=n(5865),i=n(5045),o=n(7043),a=function(){function t(t){this.table_name=t;}return t.prototype.readTable=function(t){var e=this,n=[],r=i.TableInfo.info(t,this.table_name);if(null==r)throw new Error("Table does not exist: "+this.table_name);var a=o.SQLiteMaster.queryForConstraints(t,this.table_name);r.getColumns().forEach((function(t){if(null===t.getDataType()||void 0===t.getDataType())throw new Error("Unsupported column data type "+t.getType());var r=e.createColumn(t),i=a.getColumnConstraints(r.getName());null!=i&&i.hasConstraints()&&(r.clearConstraints(),r.addConstraints(i.constraints)),n.push(r);}));var s=this.createTable(this.table_name,n);return s.addConstraints(a.getTableConstraints()),s},t.prototype.createColumn=function(t){return new r.UserColumn(t.index,t.name,t.dataType,t.max,t.notNull,t.defaultValue,t.primaryKey,t.autoincrement)},t}();e.UserTableReader=a;},4275:function(t,e,n){"use strict";var r=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.GeoPackageValidate=e.GeoPackageValidationError=void 0;var i=r(n(3935)),o=n(1506),a=function(t,e){this.error=t,this.fatal=e;};e.GeoPackageValidationError=a;var s=function(){function t(){}return t.hasGeoPackageExtension=function(t){var e=i.default.extname(t);return e&&""!==e&&(e.toLowerCase()==="."+o.GeoPackageConstants.GEOPACKAGE_EXTENSION.toLowerCase()||e.toLowerCase()==="."+o.GeoPackageConstants.GEOPACKAGE_EXTENDED_EXTENSION.toLowerCase())},t.validateGeoPackageExtension=function(e){if(!t.hasGeoPackageExtension(e))return new a("GeoPackage database file '"+e+"' does not have a valid extension of '"+o.GeoPackageConstants.GEOPACKAGE_EXTENSION+"' or '"+o.GeoPackageConstants.GEOPACKAGE_EXTENDED_EXTENSION+"'",!0)},t.validateMinimumTables=function(t){var e=[],n=t.spatialReferenceSystemDao.isTableExists(),r=t.contentsDao.isTableExists();return n||e.push(new a("gpkg_spatial_ref_sys table does not exist",!0)),r||e.push(new a("gpkg_contents table does not exist",!0)),e},t.hasMinimumTables=function(t){return 0==this.validateMinimumTables(t).length},t}();e.GeoPackageValidate=s;},2038:(t,e)=>{"use strict";var n;Object.defineProperty(e,"__esModule",{value:!0}),e.WKB=void 0;var r=function(){function t(){}return t.fromName=function(e){return "GEOMETRY"===(e=e.toUpperCase())?t.typeMap.wkb.GeometryCollection:t.wktToEnum[e]},t.typeMap={wkt:{Point:"POINT",LineString:"LINESTRING",Polygon:"POLYGON",MultiPoint:"MULTIPOINT",MultiLineString:"MULTILINESTRING",MultiPolygon:"MULTIPOLYGON",GeometryCollection:"GEOMETRYCOLLECTION"},wkb:{Point:1,LineString:2,Polygon:3,MultiPoint:4,MultiLineString:5,MultiPolygon:6,GeometryCollection:7}},t.wktToEnum=((n={})[t.typeMap.wkt.Point]=t.typeMap.wkb.Point,n[t.typeMap.wkt.LineString]=t.typeMap.wkb.LineString,n[t.typeMap.wkt.Polygon]=t.typeMap.wkb.Polygon,n[t.typeMap.wkt.MultiPoint]=t.typeMap.wkb.MultiPoint,n[t.typeMap.wkt.MultiLineString]=t.typeMap.wkb.MultiLineString,n[t.typeMap.wkt.MultiPolygon]=t.typeMap.wkb.MultiPolygon,n[t.typeMap.wkt.GeometryCollection]=t.typeMap.wkb.GeometryCollection,n),t}();e.WKB=r;},2511:function(t,e,n){var r;t=n.nmd(t),function(i){e&&e.nodeType,t&&t.nodeType;var o="object"==typeof n.g&&n.g;o.global!==o&&o.window!==o&&o.self;var a,s=2147483647,u=36,l=1,c=26,h=38,f=700,p=72,d=128,y="-",m=/^xn--/,g=/[^\x20-\x7E]/,_=/[\x2E\u3002\uFF0E\uFF61]/g,b={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},v=u-l,T=Math.floor,E=String.fromCharCode;function w(t){throw RangeError(b[t])}function x(t,e){for(var n=t.length,r=[];n--;)r[n]=e(t[n]);return r}function C(t,e){var n=t.split("@"),r="";return n.length>1&&(r=n[0]+"@",t=n[1]),r+x((t=t.replace(_,".")).split("."),e).join(".")}function M(t){for(var e,n,r=[],i=0,o=t.length;i=55296&&e<=56319&&i65535&&(e+=E((t-=65536)>>>10&1023|55296),t=56320|1023&t),e+E(t)})).join("")}function N(t,e){return t+22+75*(t<26)-((0!=e)<<5)}function O(t,e,n){var r=0;for(t=n?T(t/f):t>>1,t+=T(t/e);t>v*c>>1;r+=u)t=T(t/v);return T(r+(v+1)*t/(t+h))}function A(t){var e,n,r,i,o,a,h,f,m,g,_,b=[],v=t.length,E=0,x=d,C=p;for((n=t.lastIndexOf(y))<0&&(n=0),r=0;r=128&&w("not-basic"),b.push(t.charCodeAt(r));for(i=n>0?n+1:0;i=v&&w("invalid-input"),((f=(_=t.charCodeAt(i++))-48<10?_-22:_-65<26?_-65:_-97<26?_-97:u)>=u||f>T((s-E)/a))&&w("overflow"),E+=f*a,!(f<(m=h<=C?l:h>=C+c?c:h-C));h+=u)a>T(s/(g=u-m))&&w("overflow"),a*=g;C=O(E-o,e=b.length+1,0==o),T(E/e)>s-x&&w("overflow"),x+=T(E/e),E%=e,b.splice(E++,0,x);}return S(b)}function I(t){var e,n,r,i,o,a,h,f,m,g,_,b,v,x,C,S=[];for(b=(t=M(t)).length,e=d,n=0,o=p,a=0;a=e&&_T((s-n)/(v=r+1))&&w("overflow"),n+=(h-e)*v,e=h,a=0;as&&w("overflow"),_==e){for(f=n,m=u;!(f<(g=m<=o?l:m>=o+c?c:m-o));m+=u)C=f-g,x=u-g,S.push(E(N(g+C%x,0))),f=T(C/x);S.push(E(N(f,0))),o=O(n,v,r==i),n=0,++r;}++n,++e;}return S.join("")}a={version:"1.3.2",ucs2:{decode:M,encode:S},decode:A,encode:I,toASCII:function(t){return C(t,(function(t){return g.test(t)?"xn--"+I(t):t}))},toUnicode:function(t){return C(t,(function(t){return m.test(t)?A(t.slice(4).toLowerCase()):t}))}},void 0===(r=function(){return a}.call(e,n,e,t))||(t.exports=r);}();},8575:(t,e,n)=>{"use strict";var r=n(2511),i=n(2502);function o(){this.protocol=null,this.slashes=null,this.auth=null,this.host=null,this.port=null,this.hostname=null,this.hash=null,this.search=null,this.query=null,this.pathname=null,this.path=null,this.href=null;}e.parse=b,e.resolve=function(t,e){return b(t,!1,!0).resolve(e)},e.resolveObject=function(t,e){return t?b(t,!1,!0).resolveObject(e):e},e.format=function(t){return i.isString(t)&&(t=b(t)),t instanceof o?t.format():o.prototype.format.call(t)},e.Url=o;var a=/^([a-z0-9.+-]+:)/i,s=/:[0-9]*$/,u=/^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/,l=["{","}","|","\\","^","`"].concat(["<",">",'"',"`"," ","\r","\n","\t"]),c=["'"].concat(l),h=["%","/","?",";","#"].concat(c),f=["/","?","#"],p=/^[+a-z0-9A-Z_-]{0,63}$/,d=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,y={javascript:!0,"javascript:":!0},m={javascript:!0,"javascript:":!0},g={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},_=n(7673);function b(t,e,n){if(t&&i.isObject(t)&&t instanceof o)return t;var r=new o;return r.parse(t,e,n),r}o.prototype.parse=function(t,e,n){if(!i.isString(t))throw new TypeError("Parameter 'url' must be a string, not "+typeof t);var o=t.indexOf("?"),s=-1!==o&&o127?R+="x":R+=P[L];if(!R.match(p)){var k=A.slice(0,S),F=A.slice(S+1),U=P.match(d);U&&(k.push(U[1]),F.unshift(U[2])),F.length&&(b="/"+F.join(".")+b),this.hostname=k.join(".");break}}}this.hostname.length>255?this.hostname="":this.hostname=this.hostname.toLowerCase(),O||(this.hostname=r.toASCII(this.hostname));var B=this.port?":"+this.port:"",j=this.hostname||"";this.host=j+B,this.href+=this.host,O&&(this.hostname=this.hostname.substr(1,this.hostname.length-2),"/"!==b[0]&&(b="/"+b));}if(!y[E])for(S=0,I=c.length;S0)&&n.host.split("@"))&&(n.auth=O.shift(),n.host=n.hostname=O.shift())),n.search=t.search,n.query=t.query,i.isNull(n.pathname)&&i.isNull(n.search)||(n.path=(n.pathname?n.pathname:"")+(n.search?n.search:"")),n.href=n.format(),n;if(!w.length)return n.pathname=null,n.search?n.path="/"+n.search:n.path=null,n.href=n.format(),n;for(var C=w.slice(-1)[0],M=(n.host||t.host||w.length>1)&&("."===C||".."===C)||""===C,S=0,N=w.length;N>=0;N--)"."===(C=w[N])?w.splice(N,1):".."===C?(w.splice(N,1),S++):S&&(w.splice(N,1),S--);if(!T&&!E)for(;S--;S)w.unshift("..");!T||""===w[0]||w[0]&&"/"===w[0].charAt(0)||w.unshift(""),M&&"/"!==w.join("/").substr(-1)&&w.push("");var O,A=""===w[0]||w[0]&&"/"===w[0].charAt(0);return x&&(n.hostname=n.host=A?"":w.length?w.shift():"",(O=!!(n.host&&n.host.indexOf("@")>0)&&n.host.split("@"))&&(n.auth=O.shift(),n.host=n.hostname=O.shift())),(T=T||n.host&&w.length)&&!A&&w.unshift(""),w.length?n.pathname=w.join("/"):(n.pathname=null,n.path=null),i.isNull(n.pathname)&&i.isNull(n.search)||(n.path=(n.pathname?n.pathname:"")+(n.search?n.search:"")),n.auth=t.auth||n.auth,n.slashes=n.slashes||t.slashes,n.href=n.format(),n},o.prototype.parseHost=function(){var t=this.host,e=s.exec(t);e&&(":"!==(e=e[0])&&(this.port=e.substr(1)),t=t.substr(0,t.length-e.length)),t&&(this.hostname=t);};},2502:t=>{"use strict";t.exports={isString:function(t){return "string"==typeof t},isObject:function(t){return "object"==typeof t&&null!==t},isNull:function(t){return null===t},isNullOrUndefined:function(t){return null==t}};},4927:(t,e,n)=>{var r=n(5108);function i(t){try{if(!n.g.localStorage)return !1}catch(t){return !1}var e=n.g.localStorage[t];return null!=e&&"true"===String(e).toLowerCase()}t.exports=function(t,e){if(i("noDeprecation"))return t;var n=!1;return function(){if(!n){if(i("throwDeprecation"))throw new Error(e);i("traceDeprecation")?r.trace(e):r.warn(e),n=!0;}return t.apply(this,arguments)}};},1496:t=>{"function"==typeof Object.create?t.exports=function(t,e){t.super_=e,t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}});}:t.exports=function(t,e){t.super_=e;var n=function(){};n.prototype=e.prototype,t.prototype=new n,t.prototype.constructor=t;};},384:t=>{t.exports=function(t){return t&&"object"==typeof t&&"function"==typeof t.copy&&"function"==typeof t.fill&&"function"==typeof t.readUInt8};},9539:(t,e,n)=>{var r=n(4155),i=n(5108),o=/%[sdj%]/g;e.format=function(t){if(!_(t)){for(var e=[],n=0;n=i)return t;switch(t){case "%s":return String(r[n++]);case "%d":return Number(r[n++]);case "%j":try{return JSON.stringify(r[n++])}catch(t){return "[Circular]"}default:return t}})),s=r[n];n=3&&(r.depth=arguments[2]),arguments.length>=4&&(r.colors=arguments[3]),y(n)?r.showHidden=n:n&&e._extend(r,n),b(r.showHidden)&&(r.showHidden=!1),b(r.depth)&&(r.depth=2),b(r.colors)&&(r.colors=!1),b(r.customInspect)&&(r.customInspect=!0),r.colors&&(r.stylize=l),h(r,t,r.depth)}function l(t,e){var n=u.styles[e];return n?"["+u.colors[n][0]+"m"+t+"["+u.colors[n][1]+"m":t}function c(t,e){return t}function h(t,n,r){if(t.customInspect&&n&&x(n.inspect)&&n.inspect!==e.inspect&&(!n.constructor||n.constructor.prototype!==n)){var i=n.inspect(r,t);return _(i)||(i=h(t,i,r)),i}var o=function(t,e){if(b(e))return t.stylize("undefined","undefined");if(_(e)){var n="'"+JSON.stringify(e).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return t.stylize(n,"string")}return g(e)?t.stylize(""+e,"number"):y(e)?t.stylize(""+e,"boolean"):m(e)?t.stylize("null","null"):void 0}(t,n);if(o)return o;var a=Object.keys(n),s=function(t){var e={};return t.forEach((function(t,n){e[t]=!0;})),e}(a);if(t.showHidden&&(a=Object.getOwnPropertyNames(n)),w(n)&&(a.indexOf("message")>=0||a.indexOf("description")>=0))return f(n);if(0===a.length){if(x(n)){var u=n.name?": "+n.name:"";return t.stylize("[Function"+u+"]","special")}if(v(n))return t.stylize(RegExp.prototype.toString.call(n),"regexp");if(E(n))return t.stylize(Date.prototype.toString.call(n),"date");if(w(n))return f(n)}var l,c="",T=!1,C=["{","}"];return d(n)&&(T=!0,C=["[","]"]),x(n)&&(c=" [Function"+(n.name?": "+n.name:"")+"]"),v(n)&&(c=" "+RegExp.prototype.toString.call(n)),E(n)&&(c=" "+Date.prototype.toUTCString.call(n)),w(n)&&(c=" "+f(n)),0!==a.length||T&&0!=n.length?r<0?v(n)?t.stylize(RegExp.prototype.toString.call(n),"regexp"):t.stylize("[Object]","special"):(t.seen.push(n),l=T?function(t,e,n,r,i){for(var o=[],a=0,s=e.length;a60?n[0]+(""===e?"":e+"\n ")+" "+t.join(",\n ")+" "+n[1]:n[0]+e+" "+t.join(", ")+" "+n[1]}(l,c,C)):C[0]+c+C[1]}function f(t){return "["+Error.prototype.toString.call(t)+"]"}function p(t,e,n,r,i,o){var a,s,u;if((u=Object.getOwnPropertyDescriptor(e,i)||{value:e[i]}).get?s=u.set?t.stylize("[Getter/Setter]","special"):t.stylize("[Getter]","special"):u.set&&(s=t.stylize("[Setter]","special")),N(r,i)||(a="["+i+"]"),s||(t.seen.indexOf(u.value)<0?(s=m(n)?h(t,u.value,null):h(t,u.value,n-1)).indexOf("\n")>-1&&(s=o?s.split("\n").map((function(t){return " "+t})).join("\n").substr(2):"\n"+s.split("\n").map((function(t){return " "+t})).join("\n")):s=t.stylize("[Circular]","special")),b(a)){if(o&&i.match(/^\d+$/))return s;(a=JSON.stringify(""+i)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(a=a.substr(1,a.length-2),a=t.stylize(a,"name")):(a=a.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),a=t.stylize(a,"string"));}return a+": "+s}function d(t){return Array.isArray(t)}function y(t){return "boolean"==typeof t}function m(t){return null===t}function g(t){return "number"==typeof t}function _(t){return "string"==typeof t}function b(t){return void 0===t}function v(t){return T(t)&&"[object RegExp]"===C(t)}function T(t){return "object"==typeof t&&null!==t}function E(t){return T(t)&&"[object Date]"===C(t)}function w(t){return T(t)&&("[object Error]"===C(t)||t instanceof Error)}function x(t){return "function"==typeof t}function C(t){return Object.prototype.toString.call(t)}function M(t){return t<10?"0"+t.toString(10):t.toString(10)}e.debuglog=function(t){if(b(a)&&(a=r.env.NODE_DEBUG||""),t=t.toUpperCase(),!s[t])if(new RegExp("\\b"+t+"\\b","i").test(a)){var n=r.pid;s[t]=function(){var r=e.format.apply(e,arguments);i.error("%s %d: %s",t,n,r);};}else s[t]=function(){};return s[t]},e.inspect=u,u.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},u.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},e.isArray=d,e.isBoolean=y,e.isNull=m,e.isNullOrUndefined=function(t){return null==t},e.isNumber=g,e.isString=_,e.isSymbol=function(t){return "symbol"==typeof t},e.isUndefined=b,e.isRegExp=v,e.isObject=T,e.isDate=E,e.isError=w,e.isFunction=x,e.isPrimitive=function(t){return null===t||"boolean"==typeof t||"number"==typeof t||"string"==typeof t||"symbol"==typeof t||void 0===t},e.isBuffer=n(384);var S=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function N(t,e){return Object.prototype.hasOwnProperty.call(t,e)}e.log=function(){var t,n;i.log("%s - %s",(n=[M((t=new Date).getHours()),M(t.getMinutes()),M(t.getSeconds())].join(":"),[t.getDate(),S[t.getMonth()],n].join(" ")),e.format.apply(e,arguments));},e.inherits=n(1496),e._extend=function(t,e){if(!e||!T(e))return t;for(var n=Object.keys(e),r=n.length;r--;)t[n[r]]=e[n[r]];return t};},8034:t=>{var e=arguments[3],n=arguments[4],r=arguments[5],i=JSON.stringify;t.exports=function(t,o){for(var a,s=Object.keys(r),u=0,l=s.length;u{var r=n(3085).lW;function i(t,e){this.buffer=t,this.position=0,this.isBigEndian=e||!1;}function o(t,e,n){return function(){var r;return r=this.isBigEndian?e.call(this.buffer,this.position):t.call(this.buffer,this.position),this.position+=n,r}}t.exports=i,i.prototype.readUInt8=o(r.prototype.readUInt8,r.prototype.readUInt8,1),i.prototype.readUInt16=o(r.prototype.readUInt16LE,r.prototype.readUInt16BE,2),i.prototype.readUInt32=o(r.prototype.readUInt32LE,r.prototype.readUInt32BE,4),i.prototype.readInt8=o(r.prototype.readInt8,r.prototype.readInt8,1),i.prototype.readInt16=o(r.prototype.readInt16LE,r.prototype.readInt16BE,2),i.prototype.readInt32=o(r.prototype.readInt32LE,r.prototype.readInt32BE,4),i.prototype.readFloat=o(r.prototype.readFloatLE,r.prototype.readFloatBE,4),i.prototype.readDouble=o(r.prototype.readDoubleLE,r.prototype.readDoubleBE,8),i.prototype.readVarInt=function(){var t,e=0,n=0;do{e+=(127&(t=this.buffer[this.position+n]))<<7*n,n++;}while(t>=128);return this.position+=n,e};},2659:(t,e,n)=>{var r=n(3085).lW;function i(t,e){this.buffer=new r(t),this.position=0,this.allowResize=e;}function o(t,e){return function(n,r){this.ensureSize(e),t.call(this.buffer,n,this.position,r),this.position+=e;}}t.exports=i,i.prototype.writeUInt8=o(r.prototype.writeUInt8,1),i.prototype.writeUInt16LE=o(r.prototype.writeUInt16LE,2),i.prototype.writeUInt16BE=o(r.prototype.writeUInt16BE,2),i.prototype.writeUInt32LE=o(r.prototype.writeUInt32LE,4),i.prototype.writeUInt32BE=o(r.prototype.writeUInt32BE,4),i.prototype.writeInt8=o(r.prototype.writeInt8,1),i.prototype.writeInt16LE=o(r.prototype.writeInt16LE,2),i.prototype.writeInt16BE=o(r.prototype.writeInt16BE,2),i.prototype.writeInt32LE=o(r.prototype.writeInt32LE,4),i.prototype.writeInt32BE=o(r.prototype.writeInt32BE,4),i.prototype.writeFloatLE=o(r.prototype.writeFloatLE,4),i.prototype.writeFloatBE=o(r.prototype.writeFloatBE,4),i.prototype.writeDoubleLE=o(r.prototype.writeDoubleLE,8),i.prototype.writeDoubleBE=o(r.prototype.writeDoubleBE,8),i.prototype.writeBuffer=function(t){this.ensureSize(t.length),t.copy(this.buffer,this.position,0,t.length),this.position+=t.length;},i.prototype.writeVarInt=function(t){for(var e=1;0!=(4294967168&t);)this.writeUInt8(127&t|128),t>>>=7,e++;return this.writeUInt8(127&t),e},i.prototype.ensureSize=function(t){if(this.buffer.length{var r=n(3085).lW;t.exports=m;var i=n(4905),o=n(9213),a=n(9645),s=n(978),u=n(1665),l=n(9606),c=n(9763),h=n(2292),f=n(6382),p=n(2659),d=n(2620),y=n(3172);function m(){this.srid=void 0,this.hasZ=!1,this.hasM=!1;}m.parse=function(t,e){if("string"==typeof t||t instanceof d)return m._parseWkt(t);if(r.isBuffer(t)||t instanceof f)return m._parseWkb(t,e);throw new Error("first argument must be a string or Buffer")},m._parseWkt=function(t){var e,n,r=(e=t instanceof d?t:new d(t)).matchRegex([/^SRID=(\d+);/]);r&&(n=parseInt(r[1],10));var f=e.matchType(),p=e.matchDimension(),y={srid:n,hasZ:p.hasZ,hasM:p.hasM};switch(f){case i.wkt.Point:return o._parseWkt(e,y);case i.wkt.LineString:return a._parseWkt(e,y);case i.wkt.Polygon:return s._parseWkt(e,y);case i.wkt.MultiPoint:return u._parseWkt(e,y);case i.wkt.MultiLineString:return l._parseWkt(e,y);case i.wkt.MultiPolygon:return c._parseWkt(e,y);case i.wkt.GeometryCollection:return h._parseWkt(e,y)}},m._parseWkb=function(t,e){var n,r,p,d={};switch((n=t instanceof f?t:new f(t)).isBigEndian=!n.readInt8(),r=n.readUInt32(),d.hasSrid=536870912==(536870912&r),d.isEwkb=536870912&r||1073741824&r||2147483648&r,d.hasSrid&&(d.srid=n.readUInt32()),d.hasZ=!1,d.hasM=!1,d.isEwkb||e&&e.isEwkb?(2147483648&r&&(d.hasZ=!0),1073741824&r&&(d.hasM=!0),p=15&r):r>=1e3&&r<2e3?(d.hasZ=!0,p=r-1e3):r>=2e3&&r<3e3?(d.hasM=!0,p=r-2e3):r>=3e3&&r<4e3?(d.hasZ=!0,d.hasM=!0,p=r-3e3):p=r,p){case i.wkb.Point:return o._parseWkb(n,d);case i.wkb.LineString:return a._parseWkb(n,d);case i.wkb.Polygon:return s._parseWkb(n,d);case i.wkb.MultiPoint:return u._parseWkb(n,d);case i.wkb.MultiLineString:return l._parseWkb(n,d);case i.wkb.MultiPolygon:return c._parseWkb(n,d);case i.wkb.GeometryCollection:return h._parseWkb(n,d);default:throw new Error("GeometryType "+p+" not supported")}},m.parseTwkb=function(t){var e,n={},r=(e=t instanceof f?t:new f(t)).readUInt8(),p=e.readUInt8(),d=15&r;if(n.precision=y.decode(r>>4),n.precisionFactor=Math.pow(10,n.precision),n.hasBoundingBox=p>>0&1,n.hasSizeAttribute=p>>1&1,n.hasIdList=p>>2&1,n.hasExtendedPrecision=p>>3&1,n.isEmpty=p>>4&1,n.hasExtendedPrecision){var m=e.readUInt8();n.hasZ=1==(1&m),n.hasM=2==(2&m),n.zPrecision=y.decode((28&m)>>2),n.zPrecisionFactor=Math.pow(10,n.zPrecision),n.mPrecision=y.decode((224&m)>>5),n.mPrecisionFactor=Math.pow(10,n.mPrecision);}else n.hasZ=!1,n.hasM=!1;if(n.hasSizeAttribute&&e.readVarInt(),n.hasBoundingBox){var g=2;n.hasZ&&g++,n.hasM&&g++;for(var _=0;_>>0,!0),t.writeUInt32LE(this.srid),t.writeBuffer(e.slice(5)),t.buffer},m.prototype._getWktType=function(t,e){var n=t;return this.hasZ&&this.hasM?n+=" ZM ":this.hasZ?n+=" Z ":this.hasM&&(n+=" M "),!e||this.hasZ||this.hasM||(n+=" "),e&&(n+="EMPTY"),n},m.prototype._getWktCoordinate=function(t){var e=t.x+" "+t.y;return this.hasZ&&(e+=" "+t.z),this.hasM&&(e+=" "+t.m),e},m.prototype._writeWkbType=function(t,e,n){var r=0;void 0!==this.srid||n&&void 0!==n.srid?(this.hasZ&&(r|=2147483648),this.hasM&&(r|=1073741824)):this.hasZ&&this.hasM?r+=3e3:this.hasZ?r+=1e3:this.hasM&&(r+=2e3),t.writeUInt32LE(r+e>>>0,!0);},m.getTwkbPrecision=function(t,e,n){return {xy:t,z:e,m:n,xyFactor:Math.pow(10,t),zFactor:Math.pow(10,e),mFactor:Math.pow(10,n)}},m.prototype._writeTwkbHeader=function(t,e,n,r){var i=(y.encode(n.xy)<<4)+e,o=(this.hasZ||this.hasM)<<3;if(o+=r<<4,t.writeUInt8(i),t.writeUInt8(o),this.hasZ||this.hasM){var a=0;this.hasZ&&(a|=1),this.hasM&&(a|=2),t.writeUInt8(a);}},m.prototype.toGeoJSON=function(t){var e={};return this.srid&&t&&(t.shortCrs?e.crs={type:"name",properties:{name:"EPSG:"+this.srid}}:t.longCrs&&(e.crs={type:"name",properties:{name:"urn:ogc:def:crs:EPSG::"+this.srid}})),e};},2292:(t,e,n)=>{t.exports=s;var r=n(9539),i=n(4905),o=n(7056),a=n(2659);function s(t,e){o.call(this),this.geometries=t||[],this.srid=e,this.geometries.length>0&&(this.hasZ=this.geometries[0].hasZ,this.hasM=this.geometries[0].hasM);}r.inherits(s,o),s.Z=function(t,e){var n=new s(t,e);return n.hasZ=!0,n},s.M=function(t,e){var n=new s(t,e);return n.hasM=!0,n},s.ZM=function(t,e){var n=new s(t,e);return n.hasZ=!0,n.hasM=!0,n},s._parseWkt=function(t,e){var n=new s;if(n.srid=e.srid,n.hasZ=e.hasZ,n.hasM=e.hasM,t.isMatch(["EMPTY"]))return n;t.expectGroupStart();do{n.geometries.push(o.parse(t));}while(t.isMatch([","]));return t.expectGroupEnd(),n},s._parseWkb=function(t,e){var n=new s;n.srid=e.srid,n.hasZ=e.hasZ,n.hasM=e.hasM;for(var r=t.readUInt32(),i=0;i0&&(e.hasZ=e.geometries[0].hasZ),e},s.prototype.toWkt=function(){if(0===this.geometries.length)return this._getWktType(i.wkt.GeometryCollection,!0);for(var t=this._getWktType(i.wkt.GeometryCollection,!1)+"(",e=0;e0){t.writeVarInt(this.geometries.length);for(var r=0;r{t.exports=u;var r=n(9539),i=n(7056),o=n(4905),a=n(9213),s=n(2659);function u(t,e){i.call(this),this.points=t||[],this.srid=e,this.points.length>0&&(this.hasZ=this.points[0].hasZ,this.hasM=this.points[0].hasM);}r.inherits(u,i),u.Z=function(t,e){var n=new u(t,e);return n.hasZ=!0,n},u.M=function(t,e){var n=new u(t,e);return n.hasM=!0,n},u.ZM=function(t,e){var n=new u(t,e);return n.hasZ=!0,n.hasM=!0,n},u._parseWkt=function(t,e){var n=new u;return n.srid=e.srid,n.hasZ=e.hasZ,n.hasM=e.hasM,t.isMatch(["EMPTY"])||(t.expectGroupStart(),n.points.push.apply(n.points,t.matchCoordinates(e)),t.expectGroupEnd()),n},u._parseWkb=function(t,e){var n=new u;n.srid=e.srid,n.hasZ=e.hasZ,n.hasM=e.hasM;for(var r=t.readUInt32(),i=0;i0&&(e.hasZ=t.coordinates[0].length>2);for(var n=0;n0){t.writeVarInt(this.points.length);for(var r=new a(0,0,0,0),u=0;u{t.exports=l;var r=n(9539),i=n(4905),o=n(7056),a=n(9213),s=n(9645),u=n(2659);function l(t,e){o.call(this),this.lineStrings=t||[],this.srid=e,this.lineStrings.length>0&&(this.hasZ=this.lineStrings[0].hasZ,this.hasM=this.lineStrings[0].hasM);}r.inherits(l,o),l.Z=function(t,e){var n=new l(t,e);return n.hasZ=!0,n},l.M=function(t,e){var n=new l(t,e);return n.hasM=!0,n},l.ZM=function(t,e){var n=new l(t,e);return n.hasZ=!0,n.hasM=!0,n},l._parseWkt=function(t,e){var n=new l;if(n.srid=e.srid,n.hasZ=e.hasZ,n.hasM=e.hasM,t.isMatch(["EMPTY"]))return n;t.expectGroupStart();do{t.expectGroupStart(),n.lineStrings.push(new s(t.matchCoordinates(e))),t.expectGroupEnd();}while(t.isMatch([","]));return t.expectGroupEnd(),n},l._parseWkb=function(t,e){var n=new l;n.srid=e.srid,n.hasZ=e.hasZ,n.hasM=e.hasM;for(var r=t.readUInt32(),i=0;i0&&t.coordinates[0].length>0&&(e.hasZ=t.coordinates[0][0].length>2);for(var n=0;n0){t.writeVarInt(this.lineStrings.length);for(var r=new a(0,0,0,0),s=0;s{t.exports=u;var r=n(9539),i=n(4905),o=n(7056),a=n(9213),s=n(2659);function u(t,e){o.call(this),this.points=t||[],this.srid=e,this.points.length>0&&(this.hasZ=this.points[0].hasZ,this.hasM=this.points[0].hasM);}r.inherits(u,o),u.Z=function(t,e){var n=new u(t,e);return n.hasZ=!0,n},u.M=function(t,e){var n=new u(t,e);return n.hasM=!0,n},u.ZM=function(t,e){var n=new u(t,e);return n.hasZ=!0,n.hasM=!0,n},u._parseWkt=function(t,e){var n=new u;return n.srid=e.srid,n.hasZ=e.hasZ,n.hasM=e.hasM,t.isMatch(["EMPTY"])||(t.expectGroupStart(),n.points.push.apply(n.points,t.matchCoordinates(e)),t.expectGroupEnd()),n},u._parseWkb=function(t,e){var n=new u;n.srid=e.srid,n.hasZ=e.hasZ,n.hasM=e.hasM;for(var r=t.readUInt32(),i=0;i0&&(e.hasZ=t.coordinates[0].length>2);for(var n=0;n0){t.writeVarInt(this.points.length);for(var r=new a(0,0,0,0),u=0;u{t.exports=l;var r=n(9539),i=n(4905),o=n(7056),a=n(9213),s=n(978),u=n(2659);function l(t,e){o.call(this),this.polygons=t||[],this.srid=e,this.polygons.length>0&&(this.hasZ=this.polygons[0].hasZ,this.hasM=this.polygons[0].hasM);}r.inherits(l,o),l.Z=function(t,e){var n=new l(t,e);return n.hasZ=!0,n},l.M=function(t,e){var n=new l(t,e);return n.hasM=!0,n},l.ZM=function(t,e){var n=new l(t,e);return n.hasZ=!0,n.hasM=!0,n},l._parseWkt=function(t,e){var n=new l;if(n.srid=e.srid,n.hasZ=e.hasZ,n.hasM=e.hasM,t.isMatch(["EMPTY"]))return n;t.expectGroupStart();do{t.expectGroupStart();var r=[],i=[];for(t.expectGroupStart(),r.push.apply(r,t.matchCoordinates(e)),t.expectGroupEnd();t.isMatch([","]);)t.expectGroupStart(),i.push(t.matchCoordinates(e)),t.expectGroupEnd();n.polygons.push(new s(r,i)),t.expectGroupEnd();}while(t.isMatch([","]));return t.expectGroupEnd(),n},l._parseWkb=function(t,e){var n=new l;n.srid=e.srid,n.hasZ=e.hasZ,n.hasM=e.hasM;for(var r=t.readUInt32(),i=0;i0&&t.coordinates[0].length>0&&t.coordinates[0][0].length>0&&(e.hasZ=t.coordinates[0][0][0].length>2);for(var n=0;n0){t.writeVarInt(this.polygons.length);for(var r=new a(0,0,0,0),s=0;s{t.exports=u;var r=n(9539),i=n(7056),o=n(4905),a=n(2659),s=n(3172);function u(t,e,n,r,o){i.call(this),this.x=t,this.y=e,this.z=n,this.m=r,this.srid=o,this.hasZ=void 0!==this.z,this.hasM=void 0!==this.m;}r.inherits(u,i),u.Z=function(t,e,n,r){var i=new u(t,e,n,void 0,r);return i.hasZ=!0,i},u.M=function(t,e,n,r){var i=new u(t,e,void 0,n,r);return i.hasM=!0,i},u.ZM=function(t,e,n,r,i){var o=new u(t,e,n,r,i);return o.hasZ=!0,o.hasM=!0,o},u._parseWkt=function(t,e){var n=new u;if(n.srid=e.srid,n.hasZ=e.hasZ,n.hasM=e.hasM,t.isMatch(["EMPTY"]))return n;t.expectGroupStart();var r=t.matchCoordinate(e);return n.x=r.x,n.y=r.y,n.z=r.z,n.m=r.m,t.expectGroupEnd(),n},u._parseWkb=function(t,e){var n=u._readWkbPoint(t,e);return n.srid=e.srid,n},u._readWkbPoint=function(t,e){return new u(t.readDouble(),t.readDouble(),e.hasZ?t.readDouble():void 0,e.hasM?t.readDouble():void 0)},u._parseTwkb=function(t,e){var n=new u;return n.hasZ=e.hasZ,n.hasM=e.hasM,e.isEmpty||(n.x=s.decode(t.readVarInt())/e.precisionFactor,n.y=s.decode(t.readVarInt())/e.precisionFactor,n.z=e.hasZ?s.decode(t.readVarInt())/e.zPrecisionFactor:void 0,n.m=e.hasM?s.decode(t.readVarInt())/e.mPrecisionFactor:void 0),n},u._readTwkbPoint=function(t,e,n){return n.x+=s.decode(t.readVarInt())/e.precisionFactor,n.y+=s.decode(t.readVarInt())/e.precisionFactor,e.hasZ&&(n.z+=s.decode(t.readVarInt())/e.zPrecisionFactor),e.hasM&&(n.m+=s.decode(t.readVarInt())/e.mPrecisionFactor),new u(n.x,n.y,n.z,n.m)},u._parseGeoJSON=function(t){return u._readGeoJSONPoint(t.coordinates)},u._readGeoJSONPoint=function(t){return 0===t.length?new u:t.length>2?new u(t[0],t[1],t[2]):new u(t[0],t[1])},u.prototype.toWkt=function(){return void 0===this.x&&void 0===this.y&&void 0===this.z&&void 0===this.m?this._getWktType(o.wkt.Point,!0):this._getWktType(o.wkt.Point,!1)+"("+this._getWktCoordinate(this)+")"},u.prototype.toWkb=function(t){var e=new a(this._getWkbSize());return e.writeInt8(1),this._writeWkbType(e,o.wkb.Point,t),void 0===this.x&&void 0===this.y?(e.writeDoubleLE(NaN),e.writeDoubleLE(NaN),this.hasZ&&e.writeDoubleLE(NaN),this.hasM&&e.writeDoubleLE(NaN)):this._writeWkbPoint(e),e.buffer},u.prototype._writeWkbPoint=function(t){t.writeDoubleLE(this.x),t.writeDoubleLE(this.y),this.hasZ&&t.writeDoubleLE(this.z),this.hasM&&t.writeDoubleLE(this.m);},u.prototype.toTwkb=function(){var t=new a(0,!0),e=i.getTwkbPrecision(5,0,0),n=void 0===this.x&&void 0===this.y;return this._writeTwkbHeader(t,o.wkb.Point,e,n),n||this._writeTwkbPoint(t,e,new u(0,0,0,0)),t.buffer},u.prototype._writeTwkbPoint=function(t,e,n){var r=this.x*e.xyFactor,i=this.y*e.xyFactor,o=this.z*e.zFactor,a=this.m*e.mFactor;t.writeVarInt(s.encode(r-n.x)),t.writeVarInt(s.encode(i-n.y)),this.hasZ&&t.writeVarInt(s.encode(o-n.z)),this.hasM&&t.writeVarInt(s.encode(a-n.m)),n.x=r,n.y=i,n.z=o,n.m=a;},u.prototype._getWkbSize=function(){var t=21;return this.hasZ&&(t+=8),this.hasM&&(t+=8),t},u.prototype.toGeoJSON=function(t){var e=i.prototype.toGeoJSON.call(this,t);return e.type=o.geoJSON.Point,void 0===this.x&&void 0===this.y?e.coordinates=[]:void 0!==this.z?e.coordinates=[this.x,this.y,this.z]:e.coordinates=[this.x,this.y],e};},978:(t,e,n)=>{t.exports=u;var r=n(9539),i=n(7056),o=n(4905),a=n(9213),s=n(2659);function u(t,e,n){i.call(this),this.exteriorRing=t||[],this.interiorRings=e||[],this.srid=n,this.exteriorRing.length>0&&(this.hasZ=this.exteriorRing[0].hasZ,this.hasM=this.exteriorRing[0].hasM);}r.inherits(u,i),u.Z=function(t,e,n){var r=new u(t,e,n);return r.hasZ=!0,r},u.M=function(t,e,n){var r=new u(t,e,n);return r.hasM=!0,r},u.ZM=function(t,e,n){var r=new u(t,e,n);return r.hasZ=!0,r.hasM=!0,r},u._parseWkt=function(t,e){var n=new u;if(n.srid=e.srid,n.hasZ=e.hasZ,n.hasM=e.hasM,t.isMatch(["EMPTY"]))return n;for(t.expectGroupStart(),t.expectGroupStart(),n.exteriorRing.push.apply(n.exteriorRing,t.matchCoordinates(e)),t.expectGroupEnd();t.isMatch([","]);)t.expectGroupStart(),n.interiorRings.push(t.matchCoordinates(e)),t.expectGroupEnd();return t.expectGroupEnd(),n},u._parseWkb=function(t,e){var n=new u;n.srid=e.srid,n.hasZ=e.hasZ,n.hasM=e.hasM;var r=t.readUInt32();if(r>0){for(var i=t.readUInt32(),o=0;o0&&t.coordinates[0].length>0&&(e.hasZ=t.coordinates[0][0].length>2);for(var n=0;n0&&e.interiorRings.push([]);for(var r=0;r0?(e.writeUInt32LE(1+this.interiorRings.length),e.writeUInt32LE(this.exteriorRing.length)):e.writeUInt32LE(0);for(var n=0;n0){t.writeVarInt(1+this.interiorRings.length),t.writeVarInt(this.exteriorRing.length);for(var r=new a(0,0,0,0),u=0;u0&&(e+=4+this.exteriorRing.length*t);for(var n=0;n0){for(var n=[],r=0;r{t.exports={wkt:{Point:"POINT",LineString:"LINESTRING",Polygon:"POLYGON",MultiPoint:"MULTIPOINT",MultiLineString:"MULTILINESTRING",MultiPolygon:"MULTIPOLYGON",GeometryCollection:"GEOMETRYCOLLECTION"},wkb:{Point:1,LineString:2,Polygon:3,MultiPoint:4,MultiLineString:5,MultiPolygon:6,GeometryCollection:7},geoJSON:{Point:"Point",LineString:"LineString",Polygon:"Polygon",MultiPoint:"MultiPoint",MultiLineString:"MultiLineString",MultiPolygon:"MultiPolygon",GeometryCollection:"GeometryCollection"}};},2620:(t,e,n)=>{t.exports=o;var r=n(4905),i=n(9213);function o(t){this.value=t,this.position=0;}o.prototype.match=function(t){this.skipWhitespaces();for(var e=0;e{e.Types=n(4905),e.Geometry=n(7056),e.Point=n(9213),e.LineString=n(9645),e.Polygon=n(978),e.MultiPoint=n(1665),e.MultiLineString=n(9606),e.MultiPolygon=n(9763),e.GeometryCollection=n(2292);},3172:t=>{t.exports={encode:function(t){return t<<1^t>>31},decode:function(t){return t>>1^-(1&t)}};},7529:t=>{t.exports=function(){for(var t={},n=0;n{"use strict";if(void 0===__WEBPACK_EXTERNAL_MODULE__1498__){var e=new Error("Cannot find module 'better-sqlite3'");throw e.code="MODULE_NOT_FOUND",e}t.exports=__WEBPACK_EXTERNAL_MODULE__1498__;},5699:()=>{},4919:()=>{},1929:()=>{},2203:()=>{},7990:()=>{},8497:()=>{},1408:()=>{},3646:()=>{},4059:()=>{}},__webpack_module_cache__={};function __webpack_require__(t){var e=__webpack_module_cache__[t];if(void 0!==e)return e.exports;var n=__webpack_module_cache__[t]={id:t,loaded:!1,exports:{}};return __webpack_modules__[t].call(n.exports,n,n.exports,__webpack_require__),n.loaded=!0,n.exports}__webpack_require__.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return __webpack_require__.d(e,{a:e}),e},__webpack_require__.d=(t,e)=>{for(var n in e)__webpack_require__.o(e,n)&&!__webpack_require__.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]});},__webpack_require__.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),__webpack_require__.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),__webpack_require__.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0});},__webpack_require__.nmd=t=>(t.paths=[],t.children||(t.children=[]),t);var __webpack_exports__={};return (()=>{"use strict";var t=__webpack_exports__;Object.defineProperty(t,"__esModule",{value:!0}),t.OffscreenCanvasAdapter=t.NumberFeaturesTile=t.MetadataReference=t.MetadataExtension=t.MetadataDao=t.Metadata=t.MediaTable=t.ImageUtils=t.IconTable=t.Icons=t.IconCache=t.HtmlCanvasAdapter=t.GeoPackageValidate=t.GeoPackageTileRetriever=t.GeoPackageDataType=t.GeoPackageConnection=t.GeoPackageAPI=t.GeoPackage=t.GeometryData=t.GeometryColumnsDao=t.GeometryColumns=t.GeometryType=t.FeatureTiles=t.FeatureTableStyles=t.FeatureTableReader=t.FeatureTableIndex=t.FeatureTable=t.FeatureStyles=t.FeatureStyleExtension=t.FeatureStyle=t.FeaturePaint=t.FeatureDrawType=t.FeatureColumn=t.Extension=t.DublinCoreType=t.DublinCoreMetadata=t.DataColumnsDao=t.DataColumns=t.DataColumnConstraintsDao=t.DataColumnConstraints=t.CrsWktExtension=t.Context=t.ConstraintType=t.Constraints=t.Constraint=t.ContentsIdDao=t.ContentsDao=t.CanvasKitCanvasAdapter=t.Canvas=t.BoundingBox=void 0,t.WKB=t.WebPExtension=t.UserTableReader=t.UserTable=t.UserRow=t.UserMappingTable=t.UserDao=t.UserColumn=t.TileUtilities=t.TileTable=t.TileScalingType=t.TileScaling=t.TileMatrixSet=t.TileMatrix=t.TileColumn=t.TileBoundingBoxUtils=t.TileCreator=t.TableCreator=t.StyleTable=t.Styles=t.SqljsAdapter=t.StyleMappingTable=t.SqliteQueryBuilder=t.SqliteAdapter=t.SpatialReferenceSystem=t.SimpleAttributesTable=t.ShadedFeaturesTile=t.SchemaExtension=t.setSqljsWasmLocateFile=t.setCanvasKitWasmLocateFile=t.RTreeIndexDao=t.RTreeIndex=t.RelatedTablesExtension=t.ProjectionConstants=t.Projection=t.Paint=t.OptionBuilder=void 0;var e=__webpack_require__(2527);Object.defineProperty(t,"BoundingBox",{enumerable:!0,get:function(){return e.BoundingBox}});var n=__webpack_require__(4325);Object.defineProperty(t,"GeoPackage",{enumerable:!0,get:function(){return n.GeoPackage}});var r=__webpack_require__(6638);Object.defineProperty(t,"ContentsDao",{enumerable:!0,get:function(){return r.ContentsDao}});var i=__webpack_require__(7092);Object.defineProperty(t,"ContentsIdDao",{enumerable:!0,get:function(){return i.ContentsIdDao}});var o=__webpack_require__(8007);Object.defineProperty(t,"Constraint",{enumerable:!0,get:function(){return o.Constraint}});var a=__webpack_require__(7686);Object.defineProperty(t,"Constraints",{enumerable:!0,get:function(){return a.Constraints}});var s=__webpack_require__(91);Object.defineProperty(t,"ConstraintType",{enumerable:!0,get:function(){return s.ConstraintType}});var u=__webpack_require__(5306);Object.defineProperty(t,"CrsWktExtension",{enumerable:!0,get:function(){return u.CrsWktExtension}});var l=__webpack_require__(8590);Object.defineProperty(t,"DataColumnConstraints",{enumerable:!0,get:function(){return l.DataColumnConstraints}});var c=__webpack_require__(7175);Object.defineProperty(t,"DataColumnConstraintsDao",{enumerable:!0,get:function(){return c.DataColumnConstraintsDao}});var h=__webpack_require__(8133);Object.defineProperty(t,"DataColumns",{enumerable:!0,get:function(){return h.DataColumns}});var f=__webpack_require__(7319);Object.defineProperty(t,"GeoPackageDataType",{enumerable:!0,get:function(){return f.GeoPackageDataType}});var p=__webpack_require__(4941);Object.defineProperty(t,"DataColumnsDao",{enumerable:!0,get:function(){return p.DataColumnsDao}});var d=__webpack_require__(3096);Object.defineProperty(t,"DublinCoreMetadata",{enumerable:!0,get:function(){return d.DublinCoreMetadata}});var y=__webpack_require__(1485);Object.defineProperty(t,"DublinCoreType",{enumerable:!0,get:function(){return y.DublinCoreType}});var m=__webpack_require__(624);Object.defineProperty(t,"Extension",{enumerable:!0,get:function(){return m.Extension}});var g=__webpack_require__(961);Object.defineProperty(t,"FeatureColumn",{enumerable:!0,get:function(){return g.FeatureColumn}});var _=__webpack_require__(4538);Object.defineProperty(t,"FeatureDrawType",{enumerable:!0,get:function(){return _.FeatureDrawType}});var b=__webpack_require__(6063);Object.defineProperty(t,"FeaturePaint",{enumerable:!0,get:function(){return b.FeaturePaint}});var v=__webpack_require__(612);Object.defineProperty(t,"FeatureStyle",{enumerable:!0,get:function(){return v.FeatureStyle}});var T=__webpack_require__(8479);Object.defineProperty(t,"FeatureStyleExtension",{enumerable:!0,get:function(){return T.FeatureStyleExtension}});var E=__webpack_require__(2752);Object.defineProperty(t,"FeatureStyles",{enumerable:!0,get:function(){return E.FeatureStyles}});var w=__webpack_require__(8412);Object.defineProperty(t,"FeatureTable",{enumerable:!0,get:function(){return w.FeatureTable}});var x=__webpack_require__(5626);Object.defineProperty(t,"FeatureTableIndex",{enumerable:!0,get:function(){return x.FeatureTableIndex}});var C=__webpack_require__(4896);Object.defineProperty(t,"FeatureTableReader",{enumerable:!0,get:function(){return C.FeatureTableReader}});var M=__webpack_require__(6536);Object.defineProperty(t,"FeatureTableStyles",{enumerable:!0,get:function(){return M.FeatureTableStyles}});var S=__webpack_require__(297);Object.defineProperty(t,"FeatureTiles",{enumerable:!0,get:function(){return S.FeatureTiles}});var N=__webpack_require__(812);Object.defineProperty(t,"GeometryColumns",{enumerable:!0,get:function(){return N.GeometryColumns}});var O=__webpack_require__(1968);Object.defineProperty(t,"GeometryColumnsDao",{enumerable:!0,get:function(){return O.GeometryColumnsDao}});var A=__webpack_require__(857);Object.defineProperty(t,"GeometryData",{enumerable:!0,get:function(){return A.GeometryData}});var I=__webpack_require__(9211);Object.defineProperty(t,"GeometryType",{enumerable:!0,get:function(){return I.GeometryType}});var P=__webpack_require__(1191);Object.defineProperty(t,"GeoPackageAPI",{enumerable:!0,get:function(){return P.GeoPackageAPI}});var R=__webpack_require__(5116);Object.defineProperty(t,"GeoPackageConnection",{enumerable:!0,get:function(){return R.GeoPackageConnection}});var L=__webpack_require__(731);Object.defineProperty(t,"GeoPackageTileRetriever",{enumerable:!0,get:function(){return L.GeoPackageTileRetriever}});var D=__webpack_require__(4275);Object.defineProperty(t,"GeoPackageValidate",{enumerable:!0,get:function(){return D.GeoPackageValidate}});var k=__webpack_require__(8600);Object.defineProperty(t,"IconCache",{enumerable:!0,get:function(){return k.IconCache}});var F=__webpack_require__(4725);Object.defineProperty(t,"Icons",{enumerable:!0,get:function(){return F.Icons}});var U=__webpack_require__(2015);Object.defineProperty(t,"IconTable",{enumerable:!0,get:function(){return U.IconTable}});var B=__webpack_require__(9325);Object.defineProperty(t,"ImageUtils",{enumerable:!0,get:function(){return B.ImageUtils}});var j=__webpack_require__(6366);Object.defineProperty(t,"MediaTable",{enumerable:!0,get:function(){return j.MediaTable}});var G=__webpack_require__(3026);Object.defineProperty(t,"Metadata",{enumerable:!0,get:function(){return G.Metadata}});var W=__webpack_require__(663);Object.defineProperty(t,"MetadataDao",{enumerable:!0,get:function(){return W.MetadataDao}});var q=__webpack_require__(3501);Object.defineProperty(t,"MetadataExtension",{enumerable:!0,get:function(){return q.MetadataExtension}});var H=__webpack_require__(9173);Object.defineProperty(t,"MetadataReference",{enumerable:!0,get:function(){return H.MetadataReference}});var z=__webpack_require__(3060);Object.defineProperty(t,"NumberFeaturesTile",{enumerable:!0,get:function(){return z.NumberFeaturesTile}});var V=__webpack_require__(7403);Object.defineProperty(t,"OptionBuilder",{enumerable:!0,get:function(){return V.OptionBuilder}});var X=__webpack_require__(5211);Object.defineProperty(t,"Paint",{enumerable:!0,get:function(){return X.Paint}});var Y=__webpack_require__(5604);Object.defineProperty(t,"Projection",{enumerable:!0,get:function(){return Y.Projection}});var Z=__webpack_require__(1375);Object.defineProperty(t,"ProjectionConstants",{enumerable:!0,get:function(){return Z.ProjectionConstants}});var Q=__webpack_require__(1832);Object.defineProperty(t,"RelatedTablesExtension",{enumerable:!0,get:function(){return Q.RelatedTablesExtension}});var K=__webpack_require__(5859);Object.defineProperty(t,"RTreeIndex",{enumerable:!0,get:function(){return K.RTreeIndex}});var J=__webpack_require__(735);Object.defineProperty(t,"RTreeIndexDao",{enumerable:!0,get:function(){return J.RTreeIndexDao}});var $=__webpack_require__(8116);Object.defineProperty(t,"SchemaExtension",{enumerable:!0,get:function(){return $.SchemaExtension}});var tt=__webpack_require__(6667);Object.defineProperty(t,"ShadedFeaturesTile",{enumerable:!0,get:function(){return tt.ShadedFeaturesTile}});var et=__webpack_require__(4599);Object.defineProperty(t,"SimpleAttributesTable",{enumerable:!0,get:function(){return et.SimpleAttributesTable}});var nt=__webpack_require__(341);Object.defineProperty(t,"SpatialReferenceSystem",{enumerable:!0,get:function(){return nt.SpatialReferenceSystem}});var rt=__webpack_require__(8877);Object.defineProperty(t,"SqliteQueryBuilder",{enumerable:!0,get:function(){return rt.SqliteQueryBuilder}});var it=__webpack_require__(8138);Object.defineProperty(t,"StyleMappingTable",{enumerable:!0,get:function(){return it.StyleMappingTable}});var ot=__webpack_require__(7924);Object.defineProperty(t,"Styles",{enumerable:!0,get:function(){return ot.Styles}});var at=__webpack_require__(3934);Object.defineProperty(t,"StyleTable",{enumerable:!0,get:function(){return at.StyleTable}});var st=__webpack_require__(1459);Object.defineProperty(t,"TableCreator",{enumerable:!0,get:function(){return st.TableCreator}});var ut=__webpack_require__(3684);Object.defineProperty(t,"TileBoundingBoxUtils",{enumerable:!0,get:function(){return ut.TileBoundingBoxUtils}});var lt=__webpack_require__(8334);Object.defineProperty(t,"TileColumn",{enumerable:!0,get:function(){return lt.TileColumn}});var ct=__webpack_require__(1938);Object.defineProperty(t,"TileMatrix",{enumerable:!0,get:function(){return ct.TileMatrix}});var ht=__webpack_require__(5899);Object.defineProperty(t,"TileMatrixSet",{enumerable:!0,get:function(){return ht.TileMatrixSet}});var ft=__webpack_require__(4301);Object.defineProperty(t,"TileScaling",{enumerable:!0,get:function(){return ft.TileScaling}});var pt=__webpack_require__(2777);Object.defineProperty(t,"TileScalingType",{enumerable:!0,get:function(){return pt.TileScalingType}});var dt=__webpack_require__(8704);Object.defineProperty(t,"TileTable",{enumerable:!0,get:function(){return dt.TileTable}});var yt=__webpack_require__(824);Object.defineProperty(t,"TileUtilities",{enumerable:!0,get:function(){return yt.TileUtilities}});var mt=__webpack_require__(5865);Object.defineProperty(t,"UserColumn",{enumerable:!0,get:function(){return mt.UserColumn}});var gt=__webpack_require__(4668);Object.defineProperty(t,"UserDao",{enumerable:!0,get:function(){return gt.UserDao}});var _t=__webpack_require__(233);Object.defineProperty(t,"UserMappingTable",{enumerable:!0,get:function(){return _t.UserMappingTable}});var bt=__webpack_require__(2224);Object.defineProperty(t,"UserRow",{enumerable:!0,get:function(){return bt.UserRow}});var vt=__webpack_require__(8018);Object.defineProperty(t,"UserTable",{enumerable:!0,get:function(){return vt.UserTable}});var Tt=__webpack_require__(4880);Object.defineProperty(t,"UserTableReader",{enumerable:!0,get:function(){return Tt.UserTableReader}});var Et=__webpack_require__(7719);Object.defineProperty(t,"WebPExtension",{enumerable:!0,get:function(){return Et.WebPExtension}});var wt=__webpack_require__(2038);Object.defineProperty(t,"WKB",{enumerable:!0,get:function(){return wt.WKB}});var xt=__webpack_require__(922);Object.defineProperty(t,"SqliteAdapter",{enumerable:!0,get:function(){return xt.SqliteAdapter}});var Ct=__webpack_require__(6328);Object.defineProperty(t,"SqljsAdapter",{enumerable:!0,get:function(){return Ct.SqljsAdapter}});var Mt=__webpack_require__(7977);Object.defineProperty(t,"TileCreator",{enumerable:!0,get:function(){return Mt.TileCreator}});var St=__webpack_require__(3437);Object.defineProperty(t,"Canvas",{enumerable:!0,get:function(){return St.Canvas}});var Nt=__webpack_require__(8038);Object.defineProperty(t,"CanvasKitCanvasAdapter",{enumerable:!0,get:function(){return Nt.CanvasKitCanvasAdapter}});var Ot=__webpack_require__(342);Object.defineProperty(t,"OffscreenCanvasAdapter",{enumerable:!0,get:function(){return Ot.OffscreenCanvasAdapter}});var At=__webpack_require__(2807);Object.defineProperty(t,"HtmlCanvasAdapter",{enumerable:!0,get:function(){return At.HtmlCanvasAdapter}});var It=__webpack_require__(1150);Object.defineProperty(t,"Context",{enumerable:!0,get:function(){return It.Context}}),It.Context.setupDefaultContext();var Pt=Ct.SqljsAdapter.setSqljsWasmLocateFile;t.setSqljsWasmLocateFile=Pt;var Rt=Nt.CanvasKitCanvasAdapter.setCanvasKitWasmLocateFile;t.setCanvasKitWasmLocateFile=Rt;})(),__webpack_exports__})())); } (geopackage_min$2, geopackage_min$2.exports)); return geopackage_min$2.exports; diff --git a/www/modules.js b/www/modules.js index d4106736d..c5ecb627d 100644 --- a/www/modules.js +++ b/www/modules.js @@ -13503,7 +13503,7 @@ function requireEncodings () { if (hasRequiredEncodings) return encodings; hasRequiredEncodings = 1; - (function (exports) { + (function (exports$1) { "use strict"; // Update this array if you add/rename/remove files in this directory. @@ -13525,7 +13525,7 @@ var module = modules[i]; for (var enc in module) if (Object.prototype.hasOwnProperty.call(module, enc)) - exports[enc] = module[enc]; + exports$1[enc] = module[enc]; } } (encodings)); return encodings; @@ -18975,7 +18975,7 @@ tcxGen: tcxGen }); - var __filename = '/Users/matthewbloch/mb4/mapshaper/node_modules/mproj/dist'; + var __filename$1 = '/Users/matthewbloch/mb4/mapshaper/node_modules/mproj/dist'; var mproj$2 = {exports: {}}; @@ -19247,7 +19247,7 @@ function requireMproj () { if (hasRequiredMproj) return mproj$2.exports; hasRequiredMproj = 1; - (function (module, exports) { + (function (module, exports$1) { (function(){ // add math.h functions to library scope @@ -19967,7 +19967,7 @@ var fs = require$$0, path = require$$1, // path to library assumes mproj script is in the dist/ directory - dir = path.join(path.dirname(__filename), '../nad'), + dir = path.join(path.dirname(__filename$1), '../nad'), pathUC = path.join(dir, libFile.toUpperCase()), pathLC = path.join(dir, libFile.toLowerCase()), contents; From 582d0cf3c6532dfff5119a3d427147c8eeb848c5 Mon Sep 17 00:00:00 2001 From: Matthew Bloch Date: Tue, 28 Apr 2026 00:19:50 -0400 Subject: [PATCH 367/509] Improvements to mapshaper-gui and session management --- CHANGELOG.md | 2 + bin/mapshaper-gui | 26 +- src/gui/gui-save.mjs | 1 + src/gui/gui-session-snapshot-control.mjs | 315 ++++++++++++++++++----- src/gui/gui.mjs | 23 ++ www/index.html | 4 +- 6 files changed, 298 insertions(+), 73 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ff779f8e9..bc9164b67 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,8 @@ vNext * Removed support for fetching remote SVG assets at export time. * Bumped the minimum supported Node.js version from 12 to 20.11 (Maintenance LTS). * Updated dependencies. +* `mapshaper-gui` improvements. +* Snapshot cleanup in the web UI is more dependable. v0.7.2 * Added undo/redo toolbar to the web UI. The toolbar appears in interactive editing modes where undo/redo is supported. diff --git a/bin/mapshaper-gui b/bin/mapshaper-gui index a5f4045ed..4c712ecc3 100755 --- a/bin/mapshaper-gui +++ b/bin/mapshaper-gui @@ -66,10 +66,24 @@ function startServer(port) { // block attempts to load files outside webroot serve404(response); } else if (uri == '/close') { - // end process when page closes, unless page is immediately refreshed + // End process when page closes, unless page is immediately refreshed. + // The grace window (1500ms) gives the refreshed page time to send + // /cancel-close. A short window is not safe here: with sendBeacon, + // /close frequently arrives at the server *after* the new page's + // resource fetches have already been served, so we can't rely on + // those fetches to reset the timer for us. timeout = setTimeout(function() { process.exit(0); - }, 200); + }, 1500); + response.writeHead(204); // no content + response.end(); + } else if (uri == '/cancel-close') { + // The page-load-time refresh detection in src/gui/gui.mjs sends this + // when sessionStorage indicates the new page is a refresh of the + // previous tab incarnation. clearTimeout above already cancelled any + // pending exit; we just need to acknowledge the request. + response.writeHead(204); + response.end(); } else if (uri == "/manifest.js") { if (!sessionId && opts.directSave) { // create a session id for authenticating requests to save files @@ -86,9 +100,11 @@ function startServer(port) { } else if (uri.indexOf('/save') === 0) { saveContent(request, response); } else { - // serve a file from the web root - if (uri == '/') { - uri = '/index.html'; + // serve a file from the web root. Translate directory paths (any URI + // ending in '/') to their index.html so that links like '/docs/' work + // the way they do behind a normal static-file host (mapshaper.org). + if (uri.endsWith('/')) { + uri += 'index.html'; } serveFile(getAssetFilePath(uri), response); } diff --git a/src/gui/gui-save.mjs b/src/gui/gui-save.mjs index 801946a1c..19347f981 100644 --- a/src/gui/gui-save.mjs +++ b/src/gui/gui-save.mjs @@ -88,6 +88,7 @@ export async function saveBlobToSelectedFile(filename, blob, done) { // var options = getSaveFileOptions(filename); var handle; + done = done || function() {}; try { handle = await window.showSaveFilePicker(options); var writable = await handle.createWritable(); diff --git a/src/gui/gui-session-snapshot-control.mjs b/src/gui/gui-session-snapshot-control.mjs index 0ca02b369..e0675452c 100644 --- a/src/gui/gui-session-snapshot-control.mjs +++ b/src/gui/gui-session-snapshot-control.mjs @@ -8,13 +8,36 @@ var idb = require('idb-keyval'); // https://github.com/jakearchibald/idb-keyval var sessionId = getUniqId('session'); var snapshotCount = 0; +// IDs of snapshots created (and not removed) by this tab. Tracked in memory +// so the pagehide handler can fire a single batched delMany() without first +// awaiting idb.keys() -- the page may not survive the round trip. +var ownSnapshotIds = new Set(); + +// Lifecycle constants for snapshot cleanup. +// HEARTBEAT_INTERVAL_MS: how often this tab refreshes its localStorage entry. +// STALE_THRESHOLD_MS: a session whose heartbeat is older than this is treated +// as dead. Generous enough to tolerate backgrounded/throttled tabs. +// BROADCAST_DISCOVERY_MS: how long startup waits for live tabs to identify +// themselves over BroadcastChannel before deciding what to delete. +var HEARTBEAT_INTERVAL_MS = 30 * 1000; +var STALE_THRESHOLD_MS = 5 * 60 * 1000; +var BROADCAST_DISCOVERY_MS = 200; +var SESSION_DATA_KEY = 'session_data'; +var BROADCAST_CHANNEL_NAME = 'mapshaper-snapshots'; function getUniqId(prefix) { return prefix + '_' + (Math.random() + 1).toString(36).substring(2,8); } +function getSessionFromSnapshotId(snapshotId) { + // Snapshot ids look like 'session_<6chars>_'. The session id is the + // 'session_<6chars>' prefix. + var m = /^(session_[a-z0-9]+)_\d+$/.exec(snapshotId); + return m ? m[1] : null; +} + function isSnapshotId(str) { - return /^session_/.test(str); + return getSessionFromSnapshotId(str) !== null; } export function SessionSnapshots(gui) { @@ -32,13 +55,20 @@ export function SessionSnapshots(gui) { return; } menu = El('div').addClass('nav-sub-menu save-menu').appendTo(btn.node()); + startLifecycle(); await initialCleanup(); - window.addEventListener('beforeunload', async function() { - // delete snapshot data - // This is not ideal, because the data gets deleted even if the user - // cancels the page close... but there's no apparent good alternative - await finalCleanup(); + // 'pagehide' is more reliable than 'unload' across modern browsers + // (Chrome's bfcache rules increasingly suppress 'unload'). Sync work + // (localStorage write, BroadcastChannel notice) always completes; the + // best-effort delMany() below frequently completes in Chrome/Firefox and + // sometimes in Safari, but is not relied upon -- the next session's + // startup cleanup is the safety net. + window.addEventListener('pagehide', function(e) { + if (e.persisted) return; // bfcache: tab may come back, leave entry alive + removeOwnSession(); + announceLeaving(); + attemptOwnDataDeletion(); }); btn.on('mouseenter', function() { @@ -62,12 +92,6 @@ export function SessionSnapshots(gui) { var snapshots = await fetchSnapshotList(); menu.empty(); - addMenuLink({ - slug: 'stash', - // label: 'save data snapshot', - label: 'create a snapshot', - action: saveSnapshot - }); if (!gui.session.isEmpty()) { // Surface the console "history" command via the snapshot menu so users @@ -82,6 +106,15 @@ export function SessionSnapshots(gui) { }); } + addMenuLink({ + slug: 'stash', + // label: 'save data snapshot', + label: 'create a snapshot', + action: saveSnapshot + }); + + + // var available = await getAvailableStorage(); // if (available) { // El('div').addClass('save-menu-entry').text(available + ' available').appendTo(menu); @@ -165,6 +198,7 @@ export function SessionSnapshots(gui) { }; await idb.set(entry.id, obj); + ownSnapshotIds.add(entry.id); await addToIndex(entry); renderMenu(); } @@ -179,7 +213,7 @@ function formatSize(bytes) { } async function fetchSnapshotList() { - await removeMissingSnapshots(); + await pruneIndexAgainstKeys(); var index = await fetchIndex(); var snapshots = index.snapshots; snapshots = snapshots.filter(function(o) {return o.session == sessionId;}); @@ -188,6 +222,7 @@ async function fetchSnapshotList() { async function removeSnapshotById(id, gui) { await idb.del(id); + ownSnapshotIds.delete(id); return updateIndex(function(index) { index.snapshots = index.snapshots.filter(function(snap) { return snap.id != id; @@ -285,13 +320,16 @@ async function updateIndex(action) { } async function addToIndex(obj) { - updateSessionData(); + touchOwnSession(); return updateIndex(function(index) { index.snapshots.push(obj); }); } -async function removeMissingSnapshots() { +// Drop index entries whose underlying IndexedDB blob has gone missing +// (e.g. cleared by another tab). Cheaper than reclaimDeadSessionData; used +// before rendering the menu to keep stale entries out of the UI. +async function pruneIndexAgainstKeys() { var keys = await idb.keys(); return updateIndex(function(index) { index.snapshots = index.snapshots.filter(function(snap) { @@ -300,32 +338,65 @@ async function removeMissingSnapshots() { }); } +// Run on every fresh page load. Aggressively reclaim space by deleting any +// snapshot whose owning session is no longer alive. async function initialCleanup() { - // (Safari workaround) remove any lingering data from past sessions - if (getSessionData().length === 0) { - await idb.clear(); - } - // remove any snapshots that are not indexed + touchOwnSession(); + pruneStaleSessionData(); + var liveSessions = await discoverLiveSessions(); + await reclaimDeadSessionData(liveSessions); +} + +// Delete every snapshot in IndexedDB whose session id is not in liveSessions, +// and keep the on-disk index consistent with the actual key set. +async function reclaimDeadSessionData(liveSessions) { var keys = await idb.keys(); - var indexedIds = (await fetchIndex()).snapshots.map(function(snap) {return snap.id;}); + var doomedKeys = []; + var doomedSessions = new Set(); keys.forEach(function(key) { - if (isSnapshotId(key) && !indexedIds.includes(key)) { - idb.del(key); + var sid = getSessionFromSnapshotId(key); + if (sid && !liveSessions.has(sid)) { + doomedKeys.push(key); + doomedSessions.add(sid); } }); - // remove old indexed snapshots + + // Sum sizes from the index for an informative log message. We only know + // the size of snapshots that still have an index entry; orphaned blobs + // are counted but their sizes contribute 0. + var sizeBytes = 0; + if (doomedKeys.length) { + var index = await fetchIndex(); + var doomedKeySet = new Set(doomedKeys); + index.snapshots.forEach(function(snap) { + if (doomedKeySet.has(snap.id) && typeof snap.size === 'number') { + sizeBytes += snap.size; + } + }); + await Promise.all(doomedKeys.map(function(k) { return idb.del(k); })); + } + + // Drop index entries pointing to deleted snapshots, and any entries whose + // session is dead even if the underlying key was already gone. + var remainingKeys = await idb.keys(); + var keySet = new Set(remainingKeys); await updateIndex(function(index) { index.snapshots = index.snapshots.filter(function(snap) { - var msPerDay = 1000 * 60 * 60 * 24; - var daysOld = (Date.now() - snap.created) / msPerDay; - if (daysOld > 1) { - if (keys.includes(snap.id)) idb.del(snap.id); - return false; - } - return true; + if (!keySet.has(snap.id)) return false; + var sid = getSessionFromSnapshotId(snap.id); + return sid && liveSessions.has(sid); }); - return index; }); + + if (doomedKeys.length) { + var msg = '[mapshaper] startup cleanup reclaimed ' + + doomedKeys.length + ' snapshot' + (doomedKeys.length === 1 ? '' : 's') + + ' from ' + doomedSessions.size + ' stale session' + + (doomedSessions.size === 1 ? '' : 's'); + var sizeStr = sizeBytes > 0 ? formatSize(sizeBytes) : ''; + if (sizeStr) msg += ' (' + sizeStr + ')'; + console.log(msg); + } } async function getAvailableStorage() { @@ -363,52 +434,164 @@ function findTargetLayer(datasets) { return target; } -// Clean up snapshot data (called just before browser tab is closed) -async function finalCleanup() { - // When called on 'beforeunload', idb.clear() seems to complete - // before tab is unloaded in Chrome and Firefox, but not in Safari. - // Calling idb.del(key) to selectively delete data for the current session - // does not seem to complete in any browser. - // So we wait until the last open session is ending at this URL, and delete - // data for all recently open sessions. - // - var sessions = getSessionData().filter(function(item) { - // remove current session - var daysOld = (Date.now() - item.timestamp) / (1000 * 60 * 60 * 24); - if (item.session == sessionId) return false; - // also remove any lingering old sessions (ordinarily this shouldn't be needed) - if (daysOld > 1) return false; - return true; +// Heartbeat + BroadcastChannel state. The localStorage map and the channel +// together let other tabs identify themselves on demand and let crashed tabs' +// data be reclaimed safely. +// +// localStorage 'session_data' shape: { : , ... } +// (The previous build stored an array; old data is overwritten on first +// touchOwnSession() call. Only used for cleanup heuristics, not user data.) + +var _heartbeatTimer = null; +var _channel = null; + +function startLifecycle() { + touchOwnSession(); + _heartbeatTimer = setInterval(touchOwnSession, HEARTBEAT_INTERVAL_MS); + if (typeof BroadcastChannel == 'function') { + try { + _channel = new BroadcastChannel(BROADCAST_CHANNEL_NAME); + _channel.onmessage = function(e) { + var msg = e.data; + if (!msg || msg.from === sessionId) return; + if (msg.type === 'whois') { + try { + _channel.postMessage({type: 'iam', from: sessionId}); + } catch (err) {} // channel can throw if tab is being torn down + } + }; + } catch (err) { + _channel = null; // sandboxed contexts may forbid BroadcastChannel + } + } +} + +// Discover other live tabs. Returns a Set of session ids that should be +// considered alive (always includes our own). +function discoverLiveSessions() { + return new Promise(function(resolve) { + var live = new Set([sessionId]); + // localStorage heartbeat data is the durable signal; it survives + // backgrounded/throttled tabs that may not respond to BroadcastChannel + // promptly. + var data = readSessionData(); + Object.keys(data).forEach(function(sid) { + if (Date.now() - data[sid] < STALE_THRESHOLD_MS) { + live.add(sid); + } + }); + if (!_channel) { + resolve(live); + return; + } + // Broadcast 'whois' and add any tab that responds within the discovery + // window. This is fast and authoritative for foreground tabs. + var listener = function(e) { + var msg = e.data; + if (msg && msg.type === 'iam' && msg.from && msg.from !== sessionId) { + live.add(msg.from); + } + }; + _channel.addEventListener('message', listener); + try { + _channel.postMessage({type: 'whois', from: sessionId}); + } catch (err) {} + setTimeout(function() { + _channel.removeEventListener('message', listener); + resolve(live); + }, BROADCAST_DISCOVERY_MS); }); - setSessionData(sessions); - if (sessions.length === 0) { - await idb.clear(); +} + +function announceLeaving() { + if (!_channel) return; + try { + _channel.postMessage({type: 'leaving', from: sessionId}); + _channel.close(); + } catch (err) {} +} + +// Best-effort eager cleanup at end-of-session. Snapshots can be tens or +// hundreds of MB, so we don't want to rely solely on the next session's +// startup to reclaim space. A single delMany() transaction is cheap to +// launch and frequently commits before the page is fully torn down, +// especially in Chrome/Firefox; Safari is less reliable. Anything that +// doesn't complete here will be reclaimed by the next session anyway. +// +// Important: do NOT await any of this. The browser doesn't await async work +// in the unload path; we just want the IDB transaction to be queued before +// the page is killed. +function attemptOwnDataDeletion() { + if (ownSnapshotIds.size === 0) return; + var ids = Array.from(ownSnapshotIds); + ownSnapshotIds.clear(); + // Delete the blobs in a single transaction. + try { + idb.delMany(ids).catch(function() {}); + } catch (err) {} + // Drop our entries from the index in a separate (also fire-and-forget) + // transaction. If only one of the two completes, startup cleanup will + // reconcile -- reclaimDeadSessionData() handles both "key gone, index + // entry remains" and "index entry gone, key remains". + try { + updateIndex(function(index) { + index.snapshots = index.snapshots.filter(function(snap) { + return getSessionFromSnapshotId(snap.id) !== sessionId; + }); + }).catch(function() {}); + } catch (err) {} +} + +function touchOwnSession() { + var data = readSessionData(); + data[sessionId] = Date.now(); + writeSessionData(data); +} + +function removeOwnSession() { + var data = readSessionData(); + if (sessionId in data) { + delete data[sessionId]; + writeSessionData(data); } } -function updateSessionData() { - // make sure the current session is added to the list of open sessions - var sessions = getSessionData(); - if (sessions.find(o => o.session == sessionId)) return; - var entry = { - session: sessionId, - timestamp: Date.now() - }; - setSessionData(sessions.concat([entry])); +function pruneStaleSessionData() { + var data = readSessionData(); + var now = Date.now(); + var changed = false; + Object.keys(data).forEach(function(sid) { + if (now - data[sid] > STALE_THRESHOLD_MS) { + delete data[sid]; + changed = true; + } + }); + if (changed) writeSessionData(data); } -function getSessionData() { - var data = JSON.parse(window.localStorage.getItem('session_data')); - return data || []; +function readSessionData() { + try { + var raw = window.localStorage.getItem(SESSION_DATA_KEY); + var parsed = raw ? JSON.parse(raw) : null; + // Tolerate the legacy array shape by ignoring it (next write replaces it). + if (parsed && typeof parsed === 'object' && !Array.isArray(parsed)) { + return parsed; + } + return {}; + } catch (e) { + return {}; + } } -function setSessionData(arr) { - window.localStorage.setItem('session_data', JSON.stringify(arr)); +function writeSessionData(obj) { + try { + window.localStorage.setItem(SESSION_DATA_KEY, JSON.stringify(obj)); + } catch (e) {} // localStorage can throw on quota exceeded; non-fatal } async function isStorageEnabled() { try { - setSessionData(getSessionData()); + writeSessionData(readSessionData()); await updateIndex(function() {}); return true; } catch(e) { diff --git a/src/gui/gui.mjs b/src/gui/gui.mjs index 884cc8f52..0aabda633 100644 --- a/src/gui/gui.mjs +++ b/src/gui/gui.mjs @@ -13,6 +13,25 @@ import { onload } from './dom-utils'; import { GUI } from './gui-lib'; import { El } from './gui-el'; +// Refresh detection for mapshaper-gui: if the previous incarnation of this +// tab set the 'navigating away' marker on pagehide, then this page load is a +// reload (not a fresh tab). Tell the server to cancel any pending /close, +// otherwise the server's grace window can race past while the new page is +// idle and terminate the process. sessionStorage is per-tab and survives a +// refresh, but is gone after a real close -- exactly the signal we need. +// This runs before onload to fire as early as possible in the page lifecycle. +if (typeof window !== 'undefined' && + window.location.hostname === 'localhost' && + window.sessionStorage && + window.sessionStorage.getItem('mapshaper_navigating_away')) { + window.sessionStorage.removeItem('mapshaper_navigating_away'); + if (navigator.sendBeacon) { + navigator.sendBeacon('/cancel-close'); + } else { + try { fetch('/cancel-close', {method: 'GET', keepalive: true}); } catch (err) {} + } +} + onload(function() { if (!GUI.browserIsSupported()) { El("#mshp-not-supported").show(); @@ -85,9 +104,13 @@ var startEditing = function() { // Use 'pagehide' rather than 'unload' (the latter is increasingly suppressed // by Chrome/Edge for bfcache reasons), and use sendBeacon / keepalive fetch // because async XHR in the unload path is not guaranteed to be sent. + // The sessionStorage marker is the refresh-vs-close signal: if a new page + // loads in the same tab, it'll see the marker and send /cancel-close to + // abort the pending exit (see the top of this file). window.addEventListener('pagehide', function(e) { if (window.location.hostname != 'localhost') return; if (e.persisted) return; // page is being cached, not actually closed + try { window.sessionStorage.setItem('mapshaper_navigating_away', '1'); } catch (err) {} if (navigator.sendBeacon) { navigator.sendBeacon('/close'); } else { diff --git a/www/index.html b/www/index.html index e216a6f2a..5130ed79d 100644 --- a/www/index.html +++ b/www/index.html @@ -161,7 +161,7 @@

    File format

    - +
    ?
    Enter options from the command line interface for the -o command. Examples: bbox no-quantization @@ -308,7 +308,7 @@

    GeoPackage layers

    - +
    ?
    Enter options from the command line interface. Examples: snap no-topology From ad5d69fa71e39c83be4346483b3b2a7f488df9c7 Mon Sep 17 00:00:00 2001 From: Matthew Bloch Date: Tue, 28 Apr 2026 11:25:02 -0400 Subject: [PATCH 368/509] Add new messages popup for GUI warnings; warn on incomplete Shapefile --- src/gui/gui-import-control.mjs | 24 ++++ src/gui/gui-instance.mjs | 2 + src/gui/gui-messages.mjs | 196 +++++++++++++++++++++++++++++++++ src/gui/gui-proxy.mjs | 28 +++-- src/gui/gui.mjs | 7 +- www/index.html | 32 +++++- www/page.css | 157 ++++++++++++++++++++++++++ 7 files changed, 433 insertions(+), 13 deletions(-) create mode 100644 src/gui/gui-messages.mjs diff --git a/src/gui/gui-import-control.mjs b/src/gui/gui-import-control.mjs index 38244de59..b5e39dc6e 100644 --- a/src/gui/gui-import-control.mjs +++ b/src/gui/gui-import-control.mjs @@ -391,10 +391,34 @@ export function ImportControl(gui, opts) { } else if (await importDataset(group, groupImportOpts)) { importCount++; gui.session.fileImported(group.filename, optStr); + notifyMissingShapefileParts(group); } } } + // Surface a passive warning if a .shp file came in without its .dbf or .prj + // sibling. Both files are technically optional, but their absence has very + // different consequences (no attribute data, no projection metadata) and + // users frequently load just the .shp by accident. Mapshaper generally + // doesn't need .shx, so we don't warn about that. + function notifyMissingShapefileParts(group) { + if (!group.shp || !gui.notify) return; + var missing = []; + if (!group.dbf) missing.push({ext: '.dbf', why: 'no attribute data'}); + if (!group.prj) missing.push({ext: '.prj', why: 'no projection metadata'}); + if (!missing.length) return; + var base = internal.getFileBase(group.shp.filename); + var parts = missing.map(function(m) { return m.ext; }).join(' and '); + var consequences = missing.map(function(m) { return m.why; }).join(', '); + gui.notify({ + severity: 'warn', + body: base + '.shp was loaded without its ' + parts + + (missing.length > 1 ? ' files' : ' file') + + ' (' + consequences + ').', + dedupKey: 'shp-missing:' + base + }); + } + async function importDataset(group, importOpts) { var dataset; var datasets; diff --git a/src/gui/gui-instance.mjs b/src/gui/gui-instance.mjs index 6c10366a9..e7203c356 100644 --- a/src/gui/gui-instance.mjs +++ b/src/gui/gui-instance.mjs @@ -17,6 +17,7 @@ import { initModeRules } from './gui-mode-rules'; import { ContextMenu } from './gui-context-menu'; import { Basemap } from './gui-basemap-control'; import { DisplayOptions } from './gui-display-options-menu'; +import { MessageControl } from './gui-messages'; // import { ProjectOptions } from './gui-project-control'; @@ -38,6 +39,7 @@ export function GuiInstance(container, opts) { gui.keyboard = new KeyboardEvents(gui); gui.buttons = new SidebarButtons(gui); gui.display = new DisplayOptions(gui); + gui.messages = new MessageControl(gui); gui.basemap = new Basemap(gui); gui.session = new SessionHistory(gui); gui.contextMenu = new ContextMenu(); diff --git a/src/gui/gui-messages.mjs b/src/gui/gui-messages.mjs new file mode 100644 index 000000000..3fbb372c9 --- /dev/null +++ b/src/gui/gui-messages.mjs @@ -0,0 +1,196 @@ +// Passive "Messages" inbox: a non-blocking alternative to modal alerts for +// status messages and warnings. Backed by a header button (the envelope icon) +// in #mode-buttons and a popup-dialog panel. +// +// Public API (attached to the gui instance): +// gui.notify({severity, body, title?, dedupKey?}) add an entry +// gui.notify(message) shorthand: info severity +// +// severity is one of 'info' | 'warn' | 'error' (default 'info'). +// If dedupKey is given and an entry with the same key already exists, the +// existing entry's count is incremented and its timestamp updated instead of +// adding a new row -- handy for repeated CLI warnings. + +import { El } from './gui-el'; +import { SimpleButton } from './gui-elements'; +import { internal } from './gui-core'; + +var SEVERITIES = {info: true, warn: true, error: true}; +var PULSE_DURATION_MS = 1900; // matches the CSS animation total runtime + +export function MessageControl(gui) { + var btn = gui.container.findChild('.messages-btn'); + var badge = btn.findChild('.messages-badge'); + var panel = gui.container.findChild('.messages-panel'); + var listEl = panel.findChild('.messages-list'); + var emptyEl = panel.findChild('.messages-empty'); + var clearBtn = new SimpleButton(panel.findChild('.messages-clear-btn')); + var closeBtn = new SimpleButton(panel.findChild('.close2-btn')); + var entries = []; + var nextId = 1; + var pulseTimer = null; + var rendered = false; + + // Start fully hidden until the first notification arrives, so the icon + // doesn't take up header space when there's nothing to show. + btn.addClass('hidden'); + gui.addMode('messages', turnOn, turnOff, btn); + + closeBtn.on('click', function() { + gui.clearMode(); + }); + + clearBtn.on('click', function() { + if (entries.length === 0) return; + entries = []; + // Close the panel so the now-disabled envelope isn't holding open a + // panel the user can no longer dismiss with a header click. + gui.clearMode(); + renderList(); + updateBadge(); + }); + + // Public API + gui.notify = function(opts) { + if (typeof opts == 'string') { + opts = {body: opts}; + } + opts = opts || {}; + var severity = SEVERITIES[opts.severity] ? opts.severity : 'info'; + var body = opts.body == null ? '' : String(opts.body); + var title = opts.title || null; + if (!body && !title) return; + + if (opts.dedupKey) { + for (var i = 0; i < entries.length; i++) { + if (entries[i].dedupKey === opts.dedupKey) { + entries[i].count = (entries[i].count || 1) + 1; + entries[i].time = new Date(); + // Promote severity if a later occurrence is more severe. + if (severityRank(severity) > severityRank(entries[i].severity)) { + entries[i].severity = severity; + } + renderList(); + pulseBadge(); + return; + } + } + } + + entries.unshift({ + id: nextId++, + severity: severity, + title: title, + body: body, + count: 1, + time: new Date(), + dedupKey: opts.dedupKey || null + }); + renderList(); + updateBadge(); + pulseBadge(); + + // Mirror to the JS console so power users still see a record even if they + // never open the panel. Use the matching console method per severity. + var rec = (title ? title + ': ' : '') + body; + if (severity === 'error') console.error(rec); + else if (severity === 'warn') console.warn(rec); + else if (typeof internal !== 'undefined' && internal.logArgs) { + internal.logArgs([rec]); + } else { + console.log(rec); + } + }; + + function severityRank(s) { + return s === 'error' ? 2 : s === 'warn' ? 1 : 0; + } + + function turnOn() { + if (!rendered) renderList(); + panel.show(); + } + + function turnOff() { + panel.hide(); + } + + function updateBadge() { + var n = entries.length; + var hasWarn = false; + var hasError = false; + for (var i = 0; i < entries.length; i++) { + if (entries[i].severity === 'error') hasError = true; + else if (entries[i].severity === 'warn') hasWarn = true; + } + badge.text(n > 99 ? '99+' : String(n)); + badge.classed('hidden', n === 0); + badge.classed('warn', hasWarn && !hasError); + badge.classed('error', hasError); + btn.classed('hidden', n === 0); + } + + function pulseBadge() { + btn.removeClass('pulse'); + // Force reflow so removing+adding the class restarts the CSS animation. + void btn.node().offsetWidth; + btn.addClass('pulse'); + if (pulseTimer) clearTimeout(pulseTimer); + pulseTimer = setTimeout(function() { + btn.removeClass('pulse'); + pulseTimer = null; + }, PULSE_DURATION_MS); + } + + function renderList() { + rendered = true; + listEl.empty(); + if (entries.length === 0) { + emptyEl.show(); + return; + } + emptyEl.hide(); + for (var i = 0; i < entries.length; i++) { + listEl.node().appendChild(renderItem(entries[i]).node()); + } + } + + function renderItem(entry) { + var item = El('div').addClass('message-item').addClass('severity-' + entry.severity); + if (entry.title) { + El('span').addClass('message-title').text(entry.title).appendTo(item); + } + var bodyText = entry.body || ''; + if (entry.count > 1) { + bodyText += ' (\u00d7' + entry.count + ')'; + } + El('div').addClass('message-body').text(bodyText).appendTo(item); + El('span').addClass('message-time').text(formatTime(entry.time)).appendTo(item); + var dismiss = El('span').addClass('message-dismiss').attr('title', 'Dismiss').text('\u00d7').appendTo(item); + var entryId = entry.id; + dismiss.on('click', function(e) { + // Prevent the click from also triggering any panel-level handlers. + if (e && e.stopPropagation) e.stopPropagation(); + entries = entries.filter(function(x) { return x.id !== entryId; }); + // If we just dismissed the last entry, close the panel for the same + // reason as Clear all: the envelope will go disabled and the user + // wouldn't be able to dismiss the panel by clicking the header again. + if (entries.length === 0) gui.clearMode(); + renderList(); + updateBadge(); + }); + return item; + } + + function formatTime(d) { + if (!(d instanceof Date)) return ''; + var hh = String(d.getHours()).padStart(2, '0'); + var mm = String(d.getMinutes()).padStart(2, '0'); + return hh + ':' + mm; + } + + return { + notify: gui.notify, + count: function() { return entries.length; } + }; +} diff --git a/src/gui/gui-proxy.mjs b/src/gui/gui-proxy.mjs index 7312cc256..f01e80bb3 100644 --- a/src/gui/gui-proxy.mjs +++ b/src/gui/gui-proxy.mjs @@ -21,15 +21,25 @@ export function setLoggingForGUI(gui) { function message() { var msg = GUI.formatMessageArgs(arguments); - gui.message(msg); - internal.logArgs(arguments); + if (gui.notify) { + gui.notify({severity: 'info', body: msg}); + } else { + // Fallback for early messages before MessageControl is constructed + gui.message(msg); + internal.logArgs(arguments); + } } - // GUI warning uses the alert popup, which replaces previous popup - // (unlike message) -- this allows for catching and handling errors - // by replacing the error popup with a warning. + // CLI warnings used to surface as modal alerts, which interrupt the user + // and replace any previous popup. They now go to the Messages inbox so + // they can accumulate non-disruptively. function warn() { - gui.alert(GUI.formatMessageArgs(arguments)); + var msg = GUI.formatMessageArgs(arguments); + if (gui.notify) { + gui.notify({severity: 'warn', body: msg, dedupKey: 'warn:' + msg}); + } else { + gui.alert(msg); + } } internal.setLoggingFunctions(message, error, stop, warn); @@ -48,7 +58,11 @@ export function WriteFilesProxy(gui) { try { await utils.promisify(saveFilesToServer)(paths, data); if (files.length >= 1) { - gui.alert('Saved
    ' + paths.join('
    ')); + if (gui.notify) { + gui.notify({severity: 'info', title: 'Saved', body: paths.join('\n')}); + } else { + gui.alert('Saved
    ' + paths.join('
    ')); + } } } catch(err) { msg = "Direct save failed
    Reason: " + err.message + "."; diff --git a/src/gui/gui.mjs b/src/gui/gui.mjs index 0aabda633..48f533cd3 100644 --- a/src/gui/gui.mjs +++ b/src/gui/gui.mjs @@ -75,10 +75,9 @@ var startEditing = function() { importOpts = getImportOpts(manifest), gui = new GuiInstance('body'); - // TODO: re-enable the "blurb" - // if (manifest.blurb) { - // El('#splash-screen-blurb').text(manifest.blurb); - // } + if (!importOpts.files?.length) { + El('body').removeClass('mapshaper-preload'); + } new AlertControl(gui); new IntersectionControl(gui); diff --git a/www/index.html b/www/index.html index 5130ed79d..e72f6971d 100644 --- a/www/index.html +++ b/www/index.html @@ -6,11 +6,27 @@ + - +
    + +
    - 0 line intersections -
    Repair
    + 0 line intersections  + repair
    diff --git a/www/page.css b/www/page.css index eab5c733b..0b476bc02 100644 --- a/www/page.css +++ b/www/page.css @@ -18,7 +18,7 @@ --xlt-theme-col: #f4f8f9; --accent-col: #ffa; /* yellow logo text */ --theme-col: #1385B7; /* blue header / btn col */ - --dk-theme-col: #1A6A96; /* btn hover col */ + --dk-theme-col: #196d8e; /* #1A6A96; btn hover col */ --lt-theme-col: #e6f7ff; --colored-text: #10699b; --normal-text: #333; @@ -874,7 +874,7 @@ body.sidebar-resizing .sidebar-resize-handle::before, .sidebar-tabs { position: absolute; - top: 85px; /* below line intersection repair link */ + top: 66px; /* below line intersection repair link */ left: 0; z-index: 40; pointer-events: auto; @@ -882,6 +882,7 @@ body.sidebar-resizing .sidebar-resize-handle::before, body.sidebar-open .sidebar-tabs { left: var(--left-sidebar-width); + margin-left: -1.5px; } body.sidebar-tabs-over-popup .sidebar-tabs { @@ -902,12 +903,17 @@ body.sidebar-tabs-over-popup .sidebar-tabs { pointer-events: auto; } -.sidebar-tab:hover, +.sidebar-tab:hover { + background-color: var(--dk-theme-col); +} + body.layers-open .layer-tab, body.console-open .console-tab { - background-color: #1A6A96; + background-color: black; } + + .console-window { pointer-events: auto; background-color: black; @@ -1109,7 +1115,6 @@ body.simplify .layer-control-btn { .layer-control .info-box { padding: 0; pointer-events: none; - background-color: transparent; } .layer-control div.info-box-scrolled { @@ -2512,8 +2517,8 @@ body.dragging-color-picker * { cursor: pointer; } -.label-style-selection-row .label-editing-clear:hover { - color: black; +.label-style-selection-row .label-editing-clear:hover, +.repair-btn:hover { text-decoration: underline; } From 674fa5c75cc2d0a6989b0656c856737d2c09e184 Mon Sep 17 00:00:00 2001 From: Matthew Bloch Date: Wed, 20 May 2026 13:34:18 -0400 Subject: [PATCH 462/509] v0.7.19 --- CHANGELOG.md | 6 ++ docs/development/raster-geotiff-support.md | 15 ++- docs/development/raster-implementation.md | 17 +++- docs/guides/expressions.md | 2 +- docs/reference.md | 8 +- package-lock.json | 4 +- package.json | 2 +- src/cli/mapshaper-option-validation.mjs | 4 + src/cli/mapshaper-options.mjs | 12 +++ src/gui/gui-layer-style-tool.mjs | 15 +++ src/gui/gui-point-style-tool.mjs | 13 +++ src/rasters/mapshaper-raster-reprojection.mjs | 22 +++-- src/svg/mapshaper-svg.mjs | 55 +++++++++-- test/data/geoparquet/nyc_boros.parquet | Bin 0 -> 75286 bytes test/raster-test.mjs | 91 +++++++++++++++++- www/page.css | 2 +- 16 files changed, 236 insertions(+), 32 deletions(-) create mode 100644 test/data/geoparquet/nyc_boros.parquet diff --git a/CHANGELOG.md b/CHANGELOG.md index 6603906f0..e688e3f5d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,9 @@ +v0.7.19 +* Added -proj background= option as an alias for nodata-color=. +* Made white the default background color when reprojecting image rasters (for when the projected image is not rectangular). +* Added -o jpeg-quality=<1..100> when generating JPEGs as image layers in SVG output files (default is 85). +* Added -o linked-images, which saves embedded images as external files linked-to from an SVG file. + v0.7.18 * Added styling panels for points, lines and polygons. * Improved the label style panel. diff --git a/docs/development/raster-geotiff-support.md b/docs/development/raster-geotiff-support.md index fb562145d..8ea0017b6 100644 --- a/docs/development/raster-geotiff-support.md +++ b/docs/development/raster-geotiff-support.md @@ -277,7 +277,9 @@ to the SVG frame. The original source file is not reopened during export. ## SVG Image Encoding -SVG raster export should embed image data with `` and a data URI. +SVG raster export should write image data with ``. By default the image +is embedded as a data URI; `linked-images` writes separate JPEG/PNG files and +uses relative file links in the SVG. Initial formats: @@ -299,15 +301,18 @@ Current SVG raster options: ```text svg-raster-format=jpeg|png -svg-raster-quality=0.85 +jpeg-quality=85 raster-res=1 +linked-images ``` `raster-res=` controls embedded raster pixels per SVG pixel. The default is `1`; larger values produce higher-resolution embedded images, capped at the available -source grid resolution. WebP can be considered later after SVG compatibility has -been tested in browsers, Illustrator, Inkscape, and common command-line -renderers. +source grid resolution. `jpeg-quality=` controls JPEG quality on a `1..100` +scale. `linked-images` changes the `` from an embedded data URI to a +relative image filename and returns the image files with the SVG export. WebP can +be considered later after SVG compatibility has been tested in browsers, +Illustrator, Inkscape, and common command-line renderers. ## Test Expectations diff --git a/docs/development/raster-implementation.md b/docs/development/raster-implementation.md index fdac739c0..90647d33f 100644 --- a/docs/development/raster-implementation.md +++ b/docs/development/raster-implementation.md @@ -253,7 +253,9 @@ the working grid. ## SVG Export -SVG export embeds raster images using SVG `` elements with data URIs. +SVG export writes raster images using SVG `` elements. By default, images +are embedded as data URIs; `linked-images` writes separate JPEG/PNG files and +uses relative file links in the SVG. Current behavior: @@ -261,6 +263,10 @@ Current behavior: `raster.view.preview`. - Crop the rendered image to the SVG frame extent. - Use `raster-res=` to set raster pixels per SVG pixel; the default is `1`. +- Use `linked-images` to output raster images as sibling files instead of data + URIs. +- Use `jpeg-quality=` to set JPEG quality on a `1..100` scale; the default is + `85`. - Cap export raster dimensions at the available source grid resolution. - Use area averaging for downsampling, with bounded regular-grid averaging for very large downsampling footprints to avoid excessive export time. @@ -276,8 +282,9 @@ Image encoding should support JPEG and PNG: - Treat WebP as a possible future option, not an initial default, because PNG/JPEG are more portable across SVG viewers and graphics editors. -The SVG element should use a matching data URI, for example -`data:image/jpeg;base64,...` or `data:image/png;base64,...`. +The SVG element should use a matching href, either a data URI such as +`data:image/jpeg;base64,...` or a relative filename such as `map-image-1.jpg` +when `linked-images` is enabled. Browser export can use Canvas encoders. CLI export needs Node-capable JPEG and PNG encoding dependencies or a shared pure-JS encoder. @@ -314,7 +321,9 @@ per-pixel inverse projection: bilinear for image-style rasters; use nearest-neighbor for categorical rasters or exact cell values. If raster metadata marks a layer as categorical or palette-based, reprojection defaults to nearest. -- Fill uncovered output pixels with `grid.nodata` or `nodata-color=`. +- Fill uncovered output pixels with `nodata-color=`. When the option is omitted, + image rasters default to white and categorical rasters use `grid.nodata` when + available. Projected output grids include a `coverage` mask. The mask records which output pixels received source content, independently of the nodata fill color. Later diff --git a/docs/guides/expressions.md b/docs/guides/expressions.md index 6f1532c7f..2b66d56ad 100644 --- a/docs/guides/expressions.md +++ b/docs/guides/expressions.md @@ -14,7 +14,7 @@ mapshaper counties.shp \ -o out.shp ``` -Expressions are plain JavaScript. They can use any built-in language feature (arithmetic, string methods, conditionals, regex, etc.). Some commands also expect the expression to return a particular kind of value — `-filter` and `-inspect` expect `true` or `false`, `-sort` expects a sort key, `-split` expects a group identifier, and so on. +Expressions are plain JavaScript. They can use any built-in language feature (arithmetic, string methods, regex, etc.). Some commands also expect the expression to return a particular kind of value — `-filter` and `-inspect` expect `true` or `false`, `-sort` expects a sort key, `-split` expects a group identifier, and so on. ## What is a JavaScript expression? diff --git a/docs/reference.md b/docs/reference.md index 3e59f7228..c12a33de1 100644 --- a/docs/reference.md +++ b/docs/reference.md @@ -297,6 +297,10 @@ Save content of the target layer(s) to a file or files. `raster-res=` (SVG) Resolution of embedded raster images, in raster pixels per SVG pixel. The default is `1`; larger values produce higher-resolution embedded images, up to the resolution of the source raster. +`linked-images` (SVG) Output raster images as separate JPEG or PNG files and link to them from SVG `` elements instead of embedding them as data URIs. + +`jpeg-quality=` (SVG) JPEG quality for embedded or linked raster images, from `1` to `100`. The default is `85`. + `fit-extent=` (SVG) Use a layer (typically a layer containing a single rectangle) to set the extent of the map. Paths that overflow this extent are retained in the SVG output. `point-symbol=square` (SVG) Use squares instead of circles to symbolize point data. @@ -997,7 +1001,9 @@ Project a dataset using a PROJ string, EPSG code or alias. This command affects `init=` Define the pre-projected coordinate system, if unknown. This option is not needed if the source coordinate system is defined by a .prj file, or if the source CRS is WGS84. As with `crs`, you can pass a Proj4 string enclosed in quotes if the selected projection requires extra parameters, for example `init='+proj=utm +zone=33'`. -`nodata-color=` (raster) Color for output pixels that do not receive source raster content after reprojection. Use `transparent` for transparent output. +`nodata-color=` (raster) Color for output pixels that do not receive source raster content after reprojection. The default is white for image rasters and the source nodata value, when available, for categorical rasters. Use `transparent` for transparent output. + +`background=` (raster) Alias for `nodata-color=`. `resampling=nearest|bilinear` (raster) Resampling method for raster reprojection. Overrides the default set by `-i raster-type=`. Use `bilinear` for smooth continuous-tone imagery and `nearest` for categorical rasters or exact cell values. diff --git a/package-lock.json b/package-lock.json index a560dc442..751e293db 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "mapshaper", - "version": "0.7.18", + "version": "0.7.19", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "mapshaper", - "version": "0.7.18", + "version": "0.7.19", "license": "MPL-2.0", "dependencies": { "@bokuweb/zstd-wasm": "^0.0.27", diff --git a/package.json b/package.json index f5fe80242..7900b1f2e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "mapshaper", - "version": "0.7.18", + "version": "0.7.19", "description": "A tool for editing geospatial data for mapping and GIS.", "keywords": [ "shapefile", diff --git a/src/cli/mapshaper-option-validation.mjs b/src/cli/mapshaper-option-validation.mjs index 5c584f2ef..42660498c 100644 --- a/src/cli/mapshaper-option-validation.mjs +++ b/src/cli/mapshaper-option-validation.mjs @@ -148,4 +148,8 @@ export function validateOutputOpts(cmd) { if ('topojson_precision' in o && o.topojson_precision > 0 === false) { error('topojson-precision= option should be a positive number'); } + + if ('jpeg_quality' in o && (o.jpeg_quality >= 1 && o.jpeg_quality <= 100) === false) { + error('jpeg-quality= option should be a number from 1 to 100'); + } } diff --git a/src/cli/mapshaper-options.mjs b/src/cli/mapshaper-options.mjs index e3b288d26..a30999296 100644 --- a/src/cli/mapshaper-options.mjs +++ b/src/cli/mapshaper-options.mjs @@ -414,6 +414,14 @@ export function getOptionParser() { describe: '[SVG] raster pixels per SVG pixel (default is 1)', type: 'number' }) + .option('linked-images', { + describe: '[SVG] link raster images as external files', + type: 'flag' + }) + .option('jpeg-quality', { + describe: '[SVG] JPEG quality for raster images, 1-100 (default is 85)', + type: 'number' + }) .option('fit-extent', { describe: '[SVG] layer to use for the map extent' }) @@ -1438,6 +1446,10 @@ export function getOptionParser() { .option('nodata-color', { describe: '[raster] color for uncovered pixels after reprojection' }) + .option('background', { + describe: '[raster] alias for nodata-color', + alias_to: 'nodata-color' + }) .option('resampling', { describe: '[raster] nearest or bilinear (default is bilinear)' }) diff --git a/src/gui/gui-layer-style-tool.mjs b/src/gui/gui-layer-style-tool.mjs index fac521030..673af9169 100644 --- a/src/gui/gui-layer-style-tool.mjs +++ b/src/gui/gui-layer-style-tool.mjs @@ -207,6 +207,7 @@ export function LayerStyleTool(gui) { } function updateControls() { + syncTargetLayer(); var geom = targetLayer && targetLayer.geometry_type; var manualIds = getSelectionIds(); if (!targetLayer) return; @@ -292,6 +293,7 @@ export function LayerStyleTool(gui) { function runStyleCommand(styles, opts) { var parts = ['-style']; + syncTargetLayer(); var ids = getTargetIds(); if (!gui.console || !targetLayer || ids.length === 0) return; if (!opts || !opts.preservePreset) { @@ -320,6 +322,7 @@ export function LayerStyleTool(gui) { function applyRandomFillColors() { var cmd = '-classify colors=random non-adjacent'; + syncTargetLayer(); if (!gui.console || !targetLayer || targetLayer.geometry_type != 'polygon') return; if (getActiveLayer() != targetLayer) { cmd += ' target=' + internal.formatOptionValue(internal.getLayerTargetId(gui.model, targetLayer)); @@ -383,6 +386,7 @@ export function LayerStyleTool(gui) { function clearLayerStyle() { var parts = ['-style clear']; + syncTargetLayer(); if (!gui.console || !targetLayer) return; presetControl.clearSelection(); addTargetOption(parts); @@ -468,6 +472,17 @@ export function LayerStyleTool(gui) { return active && active.layer; } + function syncTargetLayer() { + var lyr = getActiveLayer(); + if (lyr == targetLayer) return; + if (layerCanBeStyled(lyr)) { + targetLayer = lyr; + if (hit) hit.clearSelection(); + } else { + targetLayer = null; + } + } + function closePanel() { turnOff(); if (gui.interaction.getMode() == 'line_style' || gui.interaction.getMode() == 'polygon_style') { diff --git a/src/gui/gui-point-style-tool.mjs b/src/gui/gui-point-style-tool.mjs index 9d900f21d..40cbab8e2 100644 --- a/src/gui/gui-point-style-tool.mjs +++ b/src/gui/gui-point-style-tool.mjs @@ -275,6 +275,7 @@ export function PointStyleTool(gui) { } function updateControls() { + syncTargetLayer(); var representation = getPointRepresentation(); updateCreateLabelsButton(); title.text(representation == 'circle' ? 'Circle styles' : 'Point symbols'); @@ -419,6 +420,7 @@ export function PointStyleTool(gui) { } function runStyleCommand(args, title) { + syncTargetLayer(); var ids = getTargetIds(); var parts = ['-style'].concat(args); if (!targetLayer || ids.length === 0) return; @@ -622,6 +624,17 @@ export function PointStyleTool(gui) { return active && active.layer; } + function syncTargetLayer() { + var lyr = getActiveLayer(); + if (lyr == targetLayer) return; + if (layerCanBeStyled(lyr)) { + targetLayer = lyr; + if (hit) hit.clearSelection(); + } else { + targetLayer = null; + } + } + function modelSelectLayer(lyr, dataset) { if (lyr) lyr.hidden = false; gui.model.selectLayer(lyr, dataset); diff --git a/src/rasters/mapshaper-raster-reprojection.mjs b/src/rasters/mapshaper-raster-reprojection.mjs index 940a7a836..da87d4a23 100644 --- a/src/rasters/mapshaper-raster-reprojection.mjs +++ b/src/rasters/mapshaper-raster-reprojection.mjs @@ -21,7 +21,7 @@ export function projectRasterGridForward(raster, srcCRS, destCRS, optsArg) { bbox = opts.output_bbox || opts.outputBbox || getProjectedMeshBBox(mesh); if (!bbox) stop('Unable to project raster layer'); outSize = getOutputGridSize(grid, bbox, opts); - outGrid = createProjectedRasterGrid(grid, bbox, outSize.width, outSize.height, opts); + outGrid = createProjectedRasterGrid(grid, raster, bbox, outSize.width, outSize.height, opts); timeStart(timing, 'rasterize'); rasterizeProjectedMesh(grid, outGrid, mesh, getRasterProjectionSampleMethod(raster, opts)); timeEnd(timing, 'rasterize'); @@ -290,13 +290,13 @@ function getProjectedMeshBBox(mesh) { return xmin < Infinity && xmax > xmin && ymax > ymin ? [xmin, ymin, xmax, ymax] : null; } -function createProjectedRasterGrid(grid, bbox, widthArg, heightArg, opts) { +function createProjectedRasterGrid(grid, raster, bbox, widthArg, heightArg, opts) { var width = widthArg || grid.width; var height = heightArg || grid.height; - var bands = getOutputBandCount(grid, opts); + var bands = getOutputBandCount(grid, raster, opts); var samples = new grid.samples.constructor(width * height * bands); var coverage = new Uint8Array(width * height); - fillProjectedRasterSamples(samples, bands, grid, opts || {}); + fillProjectedRasterSamples(samples, bands, grid, raster, opts || {}); return Object.assign({}, grid, { width: width, height: height, @@ -333,13 +333,13 @@ function getOutputGridSize(grid, bbox, opts) { return {width: width, height: height}; } -function getOutputBandCount(grid, opts) { - var color = getNoDataColor(opts); +function getOutputBandCount(grid, raster, opts) { + var color = getNoDataColor(raster, opts); return color && color.a === 0 && grid.bands > 1 && grid.bands < 4 ? 4 : grid.bands; } -function fillProjectedRasterSamples(samples, bands, grid, opts) { - var color = getNoDataColor(opts); +function fillProjectedRasterSamples(samples, bands, grid, raster, opts) { + var color = getNoDataColor(raster, opts); var noData = grid.nodata; if (color) { fillProjectedRasterColor(samples, bands, color); @@ -349,10 +349,12 @@ function fillProjectedRasterSamples(samples, bands, grid, opts) { samples.fill(noData); } -function getNoDataColor(opts) { +function getNoDataColor(raster, opts) { var arg = opts.nodata_color || opts.nodataColor; var color; - if (arg == null || arg === '') return null; + if (arg == null || arg === '') { + return rasterAppearsCategorical(raster) ? null : {r: 255, g: 255, b: 255, a: 1}; + } if (String(arg).toLowerCase() == 'transparent') { return {r: 0, g: 0, b: 0, a: 0}; } diff --git a/src/svg/mapshaper-svg.mjs b/src/svg/mapshaper-svg.mjs index 6344a729d..6993ac929 100644 --- a/src/svg/mapshaper-svg.mjs +++ b/src/svg/mapshaper-svg.mjs @@ -23,7 +23,7 @@ var ILLUSTRATOR_PATH_VERTEX_LIMIT = 32000; export function exportSVG(dataset, opts) { var namespace = 'xmlns="http://www.w3.org/2000/svg"'; var defs = []; - var frame, svg, layers, metadataJSON; + var frame, svg, layers, metadataJSON, files, svgFile; var style = ''; // kludge for map keys @@ -44,6 +44,8 @@ export function exportSVG(dataset, opts) { // use invert_y: 0 setting for screen coordinates and geojson polygon generation // use 1px default margin so typical strokes don't get cut off on the sides opts = Object.assign({invert_y: true, margin: "1"}, opts); + opts.svg_image_files = []; + opts.svg_file_base = getSvgFileBase(dataset, opts); frame = getFrameData(dataset, opts); fitDatasetToFrame(dataset, frame); setCoordinatePrecision(dataset, opts.precision || 0.01); @@ -96,10 +98,17 @@ export function exportSVG(dataset, opts) { ${svg} `; svg = utils.format(template, frame.width, frame.height, 0, 0, frame.width, frame.height); - return [{ + svgFile = { content: svg, filename: opts.file || getOutputFileBase(dataset) + '.svg' - }]; + }; + files = [svgFile].concat(opts.svg_image_files); + return files; +} + +function getSvgFileBase(dataset, opts) { + var file = opts.file || getOutputFileBase(dataset) + '.svg'; + return file.replace(/\.svg$/i, ''); } function getMetadataBlock(metadataJSON, viewBox) { @@ -190,7 +199,9 @@ export function exportRasterLayerForSVG(lyr, frame, opts) { layerObj.children = []; return layerObj; } - href = encodeRasterPreview(rendered.preview, opts); + href = opts.linked_images ? + exportLinkedRasterPreview(rendered.preview, opts) : + encodeRasterPreview(rendered.preview, opts); layerObj.children = [{ tag: 'image', properties: { @@ -264,6 +275,30 @@ function encodeRasterPreview(preview, opts) { return 'data:image/' + format + ';base64,' + data; } +function exportLinkedRasterPreview(preview, opts) { + var format = getSvgRasterFormat(preview, opts); + var data = format == 'png' ? encodePng(preview) : encodeJpeg(preview, opts); + var ext = format == 'jpeg' ? 'jpg' : format; + var filename = opts.svg_file_base + '-image-' + (opts.svg_image_files.length + 1) + '.' + ext; + opts.svg_image_files.push({ + filename: filename, + content: base64ToBytes(data) + }); + return filename; +} + +function base64ToBytes(str) { + if (typeof Buffer != 'undefined') { + return Buffer.from(str, 'base64'); + } + var bin = atob(str); + var bytes = new Uint8Array(bin.length); + for (var i = 0; i < bin.length; i++) { + bytes[i] = bin.charCodeAt(i); + } + return bytes; +} + function getSvgRasterFormat(preview, opts) { var fmt = opts.svg_raster_format || opts.raster_format || null; if (fmt) return fmt == 'jpg' ? 'jpeg' : fmt; @@ -279,11 +314,11 @@ function previewHasTransparency(preview) { } function encodeJpeg(preview, opts) { + var quality = getJpegQuality(opts); if (runningInBrowser() && typeof document != 'undefined') { - return encodeWithCanvas(preview, 'image/jpeg', opts.svg_raster_quality || 0.85); + return encodeWithCanvas(preview, 'image/jpeg', quality / 100); } var jpeg = require('jpeg-js'); - var quality = Math.round((opts.svg_raster_quality || 0.85) * 100); return Buffer.from(jpeg.encode({ data: Buffer.from(preview.pixels), width: preview.width, @@ -291,6 +326,14 @@ function encodeJpeg(preview, opts) { }, quality).data).toString('base64'); } +function getJpegQuality(opts) { + var quality = opts.jpeg_quality == null ? 85 : opts.jpeg_quality; + if ((quality >= 1 && quality <= 100) === false) { + stop('jpeg-quality= option should be a number from 1 to 100'); + } + return Math.round(quality); +} + function encodePng(preview) { if (runningInBrowser() && typeof document != 'undefined') { return encodeWithCanvas(preview, 'image/png'); diff --git a/test/data/geoparquet/nyc_boros.parquet b/test/data/geoparquet/nyc_boros.parquet new file mode 100644 index 0000000000000000000000000000000000000000..31725682e32069f87f19aaf0de6215fe8c8db494 GIT binary patch literal 75286 zcmX_nXIK+k)Nbe<>AeLAy>|$`_l`6{njoSvfEpm6^xk_Bq=Ske2og+!^o{~5f{YE3;K%1V+lQIPV1n&{r05iRpHiJ}-SgGb?|d3-RIg zkssAnWNkYB#o0SuI_I_hFPBZdwTKOIwS`r*JY?V}&k8#`Rs4G;NDmb)OTRyriH3|a zCX5BY;;xb6tDKf@S*HFAje z*Zp!Xb~rK+94RdK#V=DuSrp6xNFIwPYz&1!+}*nP%ILGYI~18StU3fNNI*qnm2^3z zTc)1E@;1y8mWGhOED{wyu>eS?e69GMnD-NGqr5Uq{3;KbxbliH|cRolmd`$tp5zSoz_7b`upx};ZB06ln+Lb<+joG+=>JPEsaWZI5w

    K8@uluXA{z_a4-6<1A zlmu8az5wJ^;Ijef&Dvcjy;KPC6Jk|^Xy*mcz zp~GkMTrfk1$Bx9|eY})H| zpp<+Y+$)yHm5%o|c2D5x&5oJm+aMH0H~>FM(`mHM&L=B?rkL|@!%u4Ws7@?Lky@r} zYgO#9L1l`2ay09&c)4V&EF({{EL(@DQsxe`nxr@p8sFSqgec1h&_nn}UKC6@(r+dmS#+NSp%*ZdR1t+s4 zj$m_6>RM)w(jN?*%O&zRemgRNetmUXnu)$k6I2?~NLKiq4R)m-ILGvuQnrv4jM#en z64CGHdO)3z{E5c6S;rkeGUh(`YA2aD(?5!xum+DPqfK`ZVE zVt#WHb14qqzmcdc8h{hF^GifwM!v%CLjIh^B62la(dEhLR{UM+wkQ;LxYA$7lD^E7CL-6kW4Bu*F`g866$e+vK2lz>$h;p3s$A+ACbX<;i4?| zfUlFjmhZLLyB|etdyeq9sAuA)2kU~rHB#`FE6`wJrE9q64V?JBr*sRo2usZdMb>ZdyN9YA5chFtQ(J`vi}gVNT;{Vt za6(w`=5%l(JK=>%m;(C6tlTG-}RKCEK;^cB{N54BDTADf{|H5EJ?a!KB;p=tcai8&e0hs_*P@T1?uX znGZ819ujjSqHq6V+uS{9==)5GQ+T4!muS4Eyn= zDIsNSzRdiTwNaXw>yu0`(i|CG6uE60fv-KHNl~@b1+KyUKN_DP!|WSuZluv_e+HxF z{auK;lE2*B3sccdLzR?#k{Is4-De`v;t8SRI@?33;kZr7E9Wf8xqItpo zjDn!Vz#zn+xy}zcrDQDt{HU4j2I8^mj4RbHlOV+BWVJvC4`QxeW3qn>;FonLg*h+w zdi<-fg`5iXEXM?|r4TXah64GI#s-0L`b6ER1JdTpgB3emT^u_H}P=;mzWHk4PQuX;hm`dU3i}IG9Pk}2-YDx+5rV?KaT*>C@pm% zEEWvxv%LsiEEITJuUJp>6cft~O@eZdREF|xjJ#g>Xy&XqL751qF@K1WKLC-cOi^zc zXFuND!25MiG{_?1!1WUD5HG1g`DJ`016|&E4n3bm?Hyuvp^LzMhsZ~Fip&lhH~or8 zx!hRKYNSOvxk)xKl_EW_vA=G$rYFd*vYCLkG4c;|+)jeo$fYn4 zlXe)6+k`s1;YXCysPQkzz){^wJF~qvH<_#G+jZ)8@)%U4_t)u0tCa4NxdPJZ_KC1L z4Yl^q+nJy3YRF>}+{a&T!rjzaFeca-C$4)xMuQo&J(z*jjT*AKE+4%BKfbkdU}&6b z2Pys)@hXE?yUZ~xt>*x_>F>eM%L05fDeU#O#z^ma96zO)au6O@qH&IQ>Ns(0N?{;8 z;}CCqp-s%X&#^6ew%w_w^1LT_6uDVj;%PeMH_y0b$<{y~8)Wgi?gDsR?gttN80lO5 z?(-^e&w*=l6*f4|iy08bXVmjjlhfN%u};()jcuR`^h~hn^~Z9=tXvk`8!Azr+7jTU z;N!Z?Ci+TED%5k&Ue;3n1gC#gB{Dgw3Ae;Jm5$A0oIW<^mP(fh=1!k1(6AD-ykK6Y zhj?15?ncKam1J{OZpKvcsFbIfLll)b&fx`B@yDYqT75M=uYT8MN)6FVC!vPNI8Y8F zF;1mhEQiODDJ^|`!`7q7##+8|E^2s+NnDI?;m^7~>7gxgULe5i$EkNwoD=W{ zmU7xxJM>t2)}bJZiXGbT>di@_U5IhoJ6Urps9{U!??i!E&)gw~Nu?q|1(y&J3w<27 z@<)?Yi8Ls)Nu|tP8)CL=QVP>!)TosC-ffdzKbM2?3dsZ@kUNMJYaH*XPtm@YPD^+x zZ6!FUu+HrpQlAZ;5teGmOKYh^SUl8IU>+4tH*u)cQ^awvIm6Or5G$p{zakdUK}@q+ z{@36c+>WaaXJ?%;^TrR-SrL5Ap|!~;rUoR0MjaaU`cqavut8HG}V zNu4tL$u{4Mpv*-dmc?2T<6=?E8n#1-Ynt@kfDk!m+3If(!nrq3tp9a^9S26q5$OZZeCBxDd0e?=wNDjt>cBf0P?yaNdb1eh z{FiIvfsn;eJNUFSb0@p1S{ZN*W@o7zxHS9yKSFX*NM7!1+Fvm8OEzMwA%$xON2NC! zVmz5?6awfo);9KRROgVMlGJ!oHn?9}fGM)+{dr?Dr!U*P!$Q}NBv;a4Op@z-xpKdH zPZZVr?eie6Tun(q)HLYcRDS#MV5Rs|ACYwZWfV1g@Nhv%lyh7d;Q*M z^8=Bn64`*0s$bg)i(SdwG&MlTrMcMf@z=RN%9U79_p9HcdcJ)$xYzWuw}2K_Au&wD zAwbOWsGIu=A3F@>E2S8|+->)#lb4Fuo;WkuOMFXUXRoo-5<=BZFNY?*AzPTQPxEo1 zE{>a0+h==%S{>(s6<`<}>h{nQP%X z*)HaD$Y2`&a(y=Vc~BWAC5)IS{91;hA!Ti2MksD%1KSO5@fuB9+ae^YQto5BXWxvO z(e>X=uw{>pzk3h)g)w;YP+_k3m&eAm_<~U?w!d(pv`@t?lzY&X#3e7RL zJMvjJGj~7KgB|>nm{%4?unmTzQ|Bh+UXm^U3t=yyE|H~~@$&0eS4w}oP9O3${(uae z;ONusay7zH2_wq~IaA0cAz{y&093-z7a_s-^{quV^vLzkK>?#DMOCT12P@s^2A%oY}GYoeL7mFa~*#UEcs;g+7 z-5-pR|K6Dxybbb&3+}J$-$HjC)$5^IAO$h}1{=r9v>|MAN=S?!G0m07Hm(|^% z(Yq;U@JIzRHv>=YKs=X#c#H9vpeAE??j0Ar@3xRemv!EbtznqMIH&-zw%&l=&AmsdW9`*#YTqd-G^5s~tgA%-_||bX|0~ zgI{d70NKG&{Kb6xf_;u(n@(h4@)q08=r+>DBIiU!R#brp>*{hP>2GFRSAm@rxsuJu z%e#d>rD zvR0Yeg|ToFRF!hR^vL1Be$JU6AbH5S?25;p+t3i?H2cRS#}Kk`?A8a67teL%4@lbb~_+)+HXYXIYQ1w$)OReFW5r&#F3? zBCPG~-}V^69xc4yms)^svnm(a)c_(lZZhUk5eu(|s%(so9ZI=t{6-=(+&RB&7P9s~ z5<7IQ`pG&STHuqJyw=93`vn!BF-KM9tvPWhoGs=UPGaTHwl)bAhh+$W@eAuv$tLR| zxfp_OZS9QGb z(qeHtp0^)aOB(u05_xLg)^1GMkGRM@Ryz}k#WReQ6|Q}*EF7ml5(ys?*qhB?`}&f) zr}9K()p)X4jtOP(yn)7T6&aEu6Hy`nIBqRGX3N4!Krs#Ng=uTy+gZ-{e~An<4mBoy zdoX5-&~U+6y%Br0xB==Hz1rnBMz((bqC>Y9kGiM)Vq*$EvUaPKjUFaB!{c>HBDw>o>1`DK zoVIloX>kRQ=ftfe+544eR!zajBC=xyi)HqH=oc50mNOB43pROynZqpBf1+-$OI**q z&SnNE>42OH2*_q$ZUF#;|JAQd_gR`)F$+J$jul$SQekkZbwWH zYkA7dpeEl4wQ=MQ+R5qdB}Zo<=bkT!EG#0XCw2IwIxpuzy@8JWRLV-RVi5Kqs7hOK zwBIHcn<~J47Pdu#olyhkKb2&gpIx~@L+GaT3SG#;+HqvL?J;E`?I~*BYe*A|tw{@# zBT+eh-7|cpM@suP;Av~={z@L5A1$YTQF$L449b8Yy}Ex?qkk){TB^-(r~*NyF>&;o zF%^$F={YKRfgmA66#<7MrKeUdl5LEzZfWf(qca@jJAC7KqQqC>f76@YyCiiG1sCC^ zX;SFleZM8v#uD>9ATZ|mW1#-2l6TvC$6^kGibl|gTsN^eeoRKqZCJQ9jhVyx1!CIp zrlt%hJcGsi#QTh_6q~WYYGy=uDNt%}#Ip`LX~r*UB}38VDG5H`B3%*=6wm)b9t zy0`p_St|_7Q-DAPJ&^k-TJo`JN`OjKhDVX=V%sb_M2ITX{tVB`+3*=cxr+`F1bvXx z1p@i?Zd-;UD?&!woyw?yK=#d>#(RTyGyAUG8!Xx@O@_WV7}p_NxgN%5iGm$2-a$p+-pHomPbHnr%g?xc8=pHHQ-cVLzW7F`iHDsCFUNBXOoH{}NH;%p9FC}$lk>if3uyhn#r=!;%g2R>NZ#M1I&?XqVOCBTQfJf>3L&O@jvuKUHqoz77qalGr&vU~drt@Py6e5z8uHu5yBZSLtl zzOHA(q&EfmB!sjBn~!vQPI)%gODy3$&ez}@G7t`IYm*p0Z>AD=aOXj_F%7 z@!3V=Y_bh~g!PWs#@|hol%$$O@-$;){Ey7dzl|o785$TTt(Hp0k*&XSk0}@@4-<}U z=Bjknf$N@Drqzb)(zPES(;RL7jT`+SW_y^>Gb$>kT?l{FmtajbG(K#4HK8ZYzs7rNcN?v!&wgXAdFtjI=EI#1iQh zu}_P`hiTFbN-r1Bx0!T6CQ@+ZaG+TV!^n9vqmta8ITTjE8+d6?G8|}3Z*Sy)b*Y4j zNJwLx)Y4Uy9-y$VB|F7THWN5#DO5jPCU7bG84{Re$k1drv;#-_m0M1|Ix$=oXY4B6 z_|=$1QB+k*wxJFB)dKjt{cX~Vf6}4l9Tz)xSY~`@zUR`|+Oo$od211}paMlcob;sr zoSzGx5EU|R*Lje@@dCufA_e$85uJifwz%@^$Nww41C+@u^K0RaenqxFF{A$FK(nu{y@satK z;P+NpT*MM}E|2igsOZHZw3aT(P`4^9z(x?(31gR~9s%mr#Nbc;G`8r zUk(hV)G!e;zDZ<~ZA6Q;>NergWs$3ecjBL%f;TBsTw$HJ#6Rd98&<8>=dfK;t)84b zeOY81aR+f#zOnf}@#M4)6nPqQU5y158SULr#1eU8$iMS`BU?$^v!dQf*8?a0s@a2L zD7nUNcAu%@;5>wvDD=9ZCg)a>wgc|Gxm=Zsng9m8l2I}8$kBVpEU6p{T;q9mMlrTg>-yZh zxr_q1=FF52FCsavw)_luR#cO7Q2jH2P}@_}I(3ywyMo^FmCaUdaj^m$lNfMK_MK4A zY3ABQH*g0%_pEIi5HnWyPgCzl-ObWf_oO9a zdxk=ul{#!J z$IL)@@${XLsNA}|utOrd6RKZEOz!vbHa3cou~xxIcmZM5>Zu}@`OS^p;v(~a43$E( zFrET~&e1ngkvWM~!%RjvdC04dYfGqpIqK?~jcu$N9nWnFF2JWgG|_E>JVTUp=^J`s z5u8~{r9dpJr)B2#~wh}>J3hsu{OPH!w9yeZcCvWs=K zdo0~71^8UOrmrQ2@w^%vIrX8~_xUrIWQylxTiIy6V14|uk66ZwjWd7#oja6mk_f1P z$Df{W*y5}vh>Hn9BqXmS^Oyfq?=~9=D4^IDVaf6Xd83uv>X`_lAkaA`WC6L;TCL$3 zih|~R%TUQ9mN|>jxGbfjo1EEIADsE`Q`2jW(i2{fw9Zu=B6nIiu8Ud|u8wTIa(Iv2 zxe}4`R1?S>pmoh{BhQG{M#dGPlPWKoM2Thpp*gcOwCrzp+3uhIx})@)x%z~OhbH%E z2-uz?pM9BP^u?dJA63Wx;W`pC)M|i(^fYbC=5fFmY*yLu#9@Z7gZ9HBA z%~>oh{aQet`N7Y*CIWarjM0&jJ@KE`Y>>w1LhV>sG$bpCW$8Znm%M}yW!)a(8Js)| zUHtFD(OQpGYC$WK|3LdVWup+HynsP)8NkU)Fg%azfQPZ;WDDa?{rMTZZm4HLLP)p}{? zHk#McuEMyKMYgpP<(-j(2VXYjG?vISlX^y`m4H`-*tqefSEt*5%Ougm6yz%WR?OG` zZvmJ$IM{aHz+Fk1n*u3x}>e42dW#;stLfxbd9B| zdwdzo(_9{7<}oFf*#P#c*S01&a?sT&$gYl{_5cPNn1T|BpN|yN)w^lzxGMSbcIlhlVDMpub%69=yL+$8Z!~A=ec6~8F>cH*d`zCvzpG;(8WpU`W}dP% zf@~3GcKKBbzYe)26yZix2W6)7r%WV3=!d|T%Vd5EW4>&ip@g)yL|*d{To~U?ciPt6 zbH@DZqVnBjevTR3HTvO%afoHLMi5b5D^nLZnN0X3S?W|VcFrt4!?Qk}kj4=9?B38h zGiyBia`VPu^<{Ob`u?2xnFgaNGyMARhFBG!t%P(2-dJl?afp@fBZWt}16 z`Lk!w>k~R zdE`#RkXh@fu-TCXQ-=<*ELKeY`4}pg&v014_>ceeggSc}J0jOid17-5TbwJw>%#)5 zDnuswpyIpcT=f)tQ=pa{7zx>OjOQ)W#-y1M;S`3FaY1IBe1--KA!a-OC>6Roc7Rpu z$<2#Mg-&p|2(9*#ZAaxnMREhdI)O`+re)-r7lO*SsR(>d%q&?qN&ded^hvTy5cpi` zG5L!Etd#CdCLpDgK@Hb?vP0Jv>J3OC!qi_BO{}as;GHOz3}v(K{rZ7&i{b)ujMnuFbZ!e41^UiiQ)N6dOp#ISduJ79W;_y^PCya#J-bo z%^wTPp2jR5+mQ@Vf(N_r_Fmz z&B}pw`a@zI)7u(!4S=xA{xP)qubWRrkiS*N#lwq}rgCsk_TC({optS-I!HJ!fSU?Z z6P^#ws0flmR73EYR760YSZq&!d%q;(eCB^y7aL(6DJ14{b1+a1m`B*y8b31cLv_8j z7F@^2R!9OlN0XO7NRSO}sdq_YuqX+;M_y0h-NS+tDsoHILl7C~w=ypkbRjs%bGJKQ z58>BsstWl(|5D2O6iWNVkRZQg>cqo|u`^AWj+`1zD6@W-M+3t_RCRhbxhL}=!xLz) zW2I^1_Y7XVunyIEeOO$9LT_pZD@eN>Xem{3!%3K>SPQ$1=6y;#{^Wp@SnF^;shZB? zo`!TWeMCx1ug3=AC$eu3=~v<;p5K=8pdZc~4_@Feu^<*%uXu$FjO3L)ZL>=w7`SF+ zN;5r%2m4tL79o)Z=I(kY6Dfjrba|S3Fk;dA6`eumfo_@ar53}3R#D@4Z`qxRYW8Ka z^>>4%KcO92{4fO@Q-tf~4UAHxym(~r{Y6Tl&G>@ZFIId5~kaB*?np9Nx zshE#*>5f5<>Gd0xEU*q!yQw`8)=KJSxx*89803>mN#+!^xpBh!E-kEMNk8>jA`Z+F z9!ui@Q!w{1V4%i<|0NX)rX~wAvC|Pk8xhv}N-|>`Bejr3V|GV=V&To*OgP18t)}TD zkEtoK&@S;upxJQk&Pe7mdm6$T?D@FW0q_>mYo1>R-@kSzIdZtxLd%>jQHNNVSL>eo z1n|Clm);N+lX2RqsM4DVWqO$=s2GX^|6X2D0cS$Lf6sM&LoAGpz6}x>u5Gy!_>&t4 zzCjA7Wf-j;Ul~u?*n~>*NRFwR5)@2FxlPV+U{B`axCi)mrXfwJ+7ni9k5#|Zq1qc% z%Fn1v5Z1C0G=hPEx5a_}@vWGQ-ule>BrU+(m3p{U17oIkxUxnW6=o4zADll54M}{V zd*>eDtt`!GynP-lTcOkc?cKAIHfpBna|tmGmOx6>D-v7XOViB@mn#)QtSo?cYU><( zGWoC08Q%!%L#)xPSffqr zUYgYLuRvd)(W6JqTr?;6bhPk^-uYvk=(m^g5A@;M5&{aI9XQd?_H3rMLtl02omUDs zF1o9;c2z)#^~4~ri60l;-o|_$+XUhC^4!Y!MYJ@g_m}nm>ng%%j{d9R117_vam{>%(biXGp8n0GSZL^0 z0`k7uw^w7xR!m6&?ZZP~8}q6=?p;3W9Mvw#hA_&G+-u&vU{9eHbMt~n@T-JODz6P%Kp3ZR3_?I?^h;Sn^|=K7KNuSd4wtlwq&mm8?OEZm9tj^+){cnE}|eUzo` zesVO^w*t*iHAncj$W@&#OQk9?nLKc${dK?Si%EW3b4o5xQj zokljgWI-V69*4EoQzWlD#njEKNxqKx)V$WA7^aDsCW`(BXEo|d?F-N~rKIZr;4JXZ; zXcLny#U=F=BPY9cB?NsQC{` z>QNf9Z=)+qkrd{N;lZ@r(ey>@R6ZLG3yzLuw09~hMX+WR?R=$NyOc~)0c!}C?O}iDshkMJ+wP&C= z>cG27U1Gm^?m1La&4EDe-@KGYgv_05XFWd%E|(h0-?OiLhoRJ`rfl^u498ms@EE~Yz+HVEK^uq%}3nLH!7EEMSaJYdkN&nl9xau z?e=Vl+AEs!JO~_iT_M$83%LIu*oKn`7u6KqjjV{TZ571=M07=@+~Fc?|5p&Fr~W%c z*UmQ?30~lVlW*W&6b7kXB9}T8wKhIfZ}4#t`N_CZ;ziWjZ;lcH792LdmyJ;rzUFOX zt>nFq&1hVTAKHFx79y90yXER9Y0;G$3A=mw{Rz!q*bari)+3 z{OibT5a%{^2l1kD>hi^>LSS=!_}U`(JDXRezds>Tn#S<8z>OnPFaAPaBKP3ij(d;yc&WRl=6{ zE^ ziy?$_u4vqRf8Os%C(>$uIZZp?$RPI7zZ&f(_%T0i4|t%!_J!}+=$CqGgmA8z6;31O z-zBjHYwPIGMQ0KkIfy6y{c83)^pf|`9(?}w9%h~K+DrocS``zQt8TJVz}IZT!70?|N|`samv8VB-dKkfx{HyN&Qv+(Gl%># zS}dN8krJFi)V$e^sQt}K2MLpPx|Ww8RJnnB2DCy^Q%KP=EzOJ^n=<&k^6i2W!#l&i|4Jqe z*{S-1ijkd|hP-d3K?8puF8jwrFGktEBktxH5ba&UFBXX5Wqmh&Zz&0>L<2T^Wk5{J z@Xy_0APaeXt_)p81~ySsg}qm-u+GWWOChEi?rP**N*PjtF_k_n@39zG{KjS0cA|nv zCE=JdR4A>~fT;UEsn@_H|Gm{r_zVwBx6f!sPZh_6?qwg!9ulUrp=y7!iEOCTaVxq^ zbZjjajOS!iV?GjfS>zzi+aZKPB z6afrr&`u_P`XY543p<~HpF#J zQ)uvC+3eLF!OSonlSeAhNgT`kUh9;}X1av=m+2e(U!BthEo2q6A2+YKN>~xolN%(c z1EbzrP&PB2;J>QSu`%4;g}*HubV)J(3ESJU6c@EZt?!=da^lC);9YS?le@s($kRWz zgv)2$%R7qC9p+gTTviaHGXnN8_EB$(bg47ga}Z`0>ThJD0oWzm|NH0+wz6fl5ysWO z#&5FZqCreI>bA&fNvyx-zm{~;e*#Q|C~;>{3)ze((B_Oe>iO{EP4-{phiA#}YM}10J}&MkzR*F@)+v>V zTlD<`S@JG+JnL7CV)j3rMm_g{3@M4n8O6t`pYD&n_+=6?`8AVlCQbVwO#}5w-2Eqw zUcAxA#E>|e(b`|_#kLl|E>x&WHatKC4JQ$*?8;ap1=6n_{7kLX&S)L;WfbLb#JF@P zK@YP(3iD?X)3cgS|DZM;%{az7tUjW_qQ*J%JC5i^Nj-YfSNIi(WPmWCSMCAQXCX$r zgL7n-mJJB6k@PQYzzQzg1b9xBKpm#RCh7E8!E$h6sErVzSGGBX^?t1Oc$Q+FuVsY#WXY89pbTLu zRDaoG-0+tt?FB9Taoj^C)l4vxtJBy#q(34?Och&f5`hRQYOqc;QhNKL&5<=FS)jn6 zTPhOAu%*NdF4^&)Jq}WwuSA$$V!iB6;I_^6DVr%M*eltg6$0Fr6q=%V87IBHNHkp$Dj?R;5LDH;7%0e_500Q_%oY4ydc7tM=hDP z1u??qpx`nV*>CY>8S%ZAV zsIT_*flDSs(1w}@9vx2r<`tu_FB>Br5}|HA#slkTH=lVX6e~R!#T=4eu$DJg)(*)g zrmDQI`=Pk`fGVeCE_$bSfpLNJiX;Fto~hjHId$ZdSY)PmMSbniDJ=O-OjRcRP&nOq z7$N4Jq%r{w^r++3DMGEkd2{+({n)WRN%@@_{O!?rY-TUQl%8S5_}S1!>*r~1zB9+Y zA%Z!T8KGaofh2T0M%4Wy-~RZ}MY^P8^3r>rCmgW!{&s*=FNzYKLYK_9O&5KuE*v3^;^6m~5x6Z09x{^s4R zk!>_yScCp%A--I2V_FcV}(+!EJAXtmIHT9iYVe=6%1y^cqu3 zSJckw>B1MzBc-Vp&afNXb#{1-=7U4O!hH4(AydM@6$=4s@fhAxcAJQ&mzkYX#gy8L zm>d#BYaSEzKB26<$Rv)JtHh+uiJhRU$%yNEhA`=phskuHzIED(eVoJ5y#1AkDw#I; zMswo2ff#;ir3=^Js9Wm}o@5_9XxApadSv#^ zkFCq)gr%$|Kh?E>$_PiZ-w6!$WYoaEyJb&pp~Y(WG|VYc`|r|Yu&7vGq3;o<(nU2& zM>Im9NrcH2P86JDqjk%)b^POHiJd4YDaeW1Us2#wF+K2e24!;ERKh=loj(S8o&ELe zmEtnxCFpfb(iVeoZ;{o`naIsfDnSRTpM#IK%o7SFb~@!FdZhNgU7Ry~n@oZd-Vh{1 zSSQF`m+J`D3jb_SOgi~VT>sy_=X-Oh@rQ|%i|;baDeQcNH+n@%_H1$gKIr$?Y255Y zx=)5~cP4M6OlwH+)N3f17iY6hj4H+X1@|?U62+Y#QxC=m}8DO9?bX z!oRyQx0j43608iCC|ozrD`rY2)f@=ue(2jdYT~+L8r9zw6p>9)#>ec>U+!R=Nh)pv zTI{li@)-MQ-mB_mL*}_-uEfOR0Qqj!3;8;40@^a-0iF-}Z+dvqPI{SOf#7er*rh=% zXt#?6V3>}1rE($Sx+9A_L2_f_d2~-)^U+_LQHZ606AYs#{oG1`cwITNIc9%2uWjp& zvG_2#tAZ~lm;rS}y|LnY^Wfq;q)?294~V&}kcYmI{vI+%CfzB7UZJhizYkh}8-#zy zN*DQUJ}czj@z1{oRFaVebTEUb?P^)?Fpoa#-&~6yebFX9US$?UT-ORNXy-uv?Df6P z_cZq3hjl864WNGiD?)rLL6}D-UDw*#CSQD`V`EaG!M%m$Q^ze`9$#OSm2-~!x6yk6 z!X`z=l@#%L|2XgGELs<*0Fc+|v5!*+A0gtMpBE(|yI8Yapn15rntMvlCQ&C46-?pI z=EeC+%KuRHpHWSG-y1g^dhfmW-iv}pkS;}}NR?itNDNp41Q0^+9T7w+f(4|h5KIDu z4hmvHP(tXSlnhNq%@@7L-~V~my>8axU1pdZ=A5(7-q-cnM~qSi56kLPH8lZ0$oH#NDDY>@i|I+J!x*C;_{IjT1{ zPvEeR<9@;@za|bHQw#hZwrgh?X!;jWAq6ypl7KIS62MBK7KK!G!%mS2S+-FgjY|~t zYUa4ij|H!=%c;ezq{MXENqh$Cx~x*=y%;Q&A5t;9qCvBj71=C0#Cew7BX;jaLctR) zW$Wc*9Jd8iISt@z8MWJyiUZy=J~6#TCZzm12jd=GP}jx{sZ^6 z4k<>1vIX>ph(0#&bNpZ8!3>f5RTa8!DHh#&%UUu43f7~mVyKNz2FAwIQCg3AH5img zNgqW-dpq&yMwkgk9b!Ze&)JrCO!*SQRvnq#;^C-u zxC6ToncyE?688z|HS^%xO-%y2@BYhxPwDf&Lx>q6OAFh>9`}V;x{NnioG^)CR~?Dn z3DL~+T#h%8Oz@#IQ5GJGT7Xj33f~ssR>I#HbLM|r4bKr)%ou!tKlLPRRdGNeOk zrIdD9a(s-JX^rErTFAT4JnxQt& z{1bIn{Y82@RZD%eR{J5~$0Oe9qfP01#x3PrLGE)s^G#l5<?@r|3 zsJO|c)Pp}iUYE*nNrDf*oX?SkrdZV45qWxHweF_fPH=jwpZu1|L25feRxEo`-h`h?P*tX-@R;Gt2Ct7;!BE!%;6uSl14?w z(s@<43i`ASYIj!C=lt^d_*-K%_q#wKv`n2&z5CQqj;fs|{*J*HGChEOezD+Q8Zs2;BU!Nh`@ZIruDP&OPShg3*g5)AsCpnQ@Vb9& zK?%mp({Bx6e9axC)v&*~p-^dN*{A)z7G13#DFM^zVp9)bPLqf4o+2egU1IKVT=SXE zT;b=TBPIN+_=S=gQ1>|k@AXfj($YwDGyul%w16w`%0@Mh$x+Oa5BI2F9*-9G*U^7Z zj=mAtwz&6$Q}__QuO6$?O_3S?O~K5ZYA)6c5fd&lgOXhA&xC==?%+73kSW|!un3)% z3&qIHOPDSfMHCI}m(Py|5|^C~=m4L+m`@PX0+i$;vQ%LJjP=W#3T8+^gi`5mzVE}$ zN_$F<7YmNyz4*@I*+Rq1t1kQMvX3KsLz)T;DgJ8b zDQqKvdEggXRz-@xFu+PP7cX>QPR6X(iWCpg53WFiQozr1UJ<$7^PUGb@ZE>|eYS9= z4fcniI5JiKr*UO}G4c%~<(#F@-EcIJ$`|M;gUN!wa}Z=P=7kDA`wC7k#%gAjRo*St zgG9b-MO)vNrb<`)`)lQZRJV(JF6t{&FQCPz3kq;6?!Hw~qTolF?;}UZOv{&~Ri6`U zHbKR`>y$+8cX>l)f)qSKyh!;Yo@<3AVD(ix+<~!FD@}>aWE45dr$vejJTt^!6fZ^Z zb(zso7$rI5@+lh*r0PoF{bU%uX^MPb`Bya=U_aHTpLMKl!&v?W2H1UOfGVATj_28b*nLU!i^cSbQlDBbb6cm1IZ(2f1Vw;U7x__P znYEF~_ZZ&kA?lKlNReFx7O>K4u;B0I`d|}uwkU%-RXS3{T|j2~o3^nWv)0@EHb$j? zKXK1VTuFZmxu|j4RpiFur6>Fh=}eow=I|FGQTvy^)ppqN3Q^$7e5zHC2z>E#kMd+k z6YpAlGre1gGJAHL_U2erCX`Po{|H}ZWlR#hik$x*JN?aktHzO$ELbRkz?n0-%eTZS zrHKW{{#x(ae!ZV=Hx8FM?OehxgWV>z-{WI}&LOK?rkk=TiCLJoem0QyKx%-#W3?&Q zUnUo~L?}vUXN>VD-Ly;Ym6ag~4SeI>Gqka>jk2+^ft8e$&?-Ze6&>i8!_n6H!!z!W z<~JVkTlAvez-U*42kq_acRI}8;M_S1M)7utExy7@K{qlX@mu{s!g3SFKP|L#Z-Fhl z;N{mL`}CCBVj5n+k5+h$`(&xfO+wi;C-$#oGW}*_N%fV-mSY06fFE08TzMk)Y2rN} zUs-aW@K1cc17a(vMyd{4sLLMAi7Am>?06c>9s!GdP-N1-)Wn#*Vl18bcc9iWn<2aU znWar7yD8u&)i7e4QGM2G@bmf_RS1%L=PQz244vSb=8JvNsQxgsrKYLxB}+R*>Rq&Z z*kw8c0q%$Cjs4(ta60?!8N^nY=(jv3VA0HA*vt_7G>6^Mvv}i#%`*dApNBgueZ=lj z0bVa~Ji8-^dX-XhA>;ae?M!mzNT9`LqyGkq&WV?#;l2jwu~xjN&NA0YIandx zFU!N)e{7!Q_7Er26e(M?lH4fy#lExu4i}I?zx^7&BK{6vTSDGiwEN(rSRLK{Kf49U z>A7^=SA7%1+lzfrneV(5wpqEeLi!&1FYlC${?K~s?S6i*qvaF0Ax&|i(;Sp>Mw8j_uetEP~DruRR7+zyO;MA)Jhk( z#0Qf;S&=Oplm4Dwf~`&~qHe)NUFnShKN|kukCc~MWh-^RQFa&JJkhag&?L>kOjt!q zpy0tJVo;UAz;#;c?NkR!t42|GQW5d2_Izbc5a4T&MDo^HYC4FvNTgX>uw$I4eWyZl znQlG9F@;BWkJa7gS#7GS3tD~i1vfj9{G7l}a)IjRhTqAA3#x0cW|o>RdFsZ79#c*_ zHj8dD7@YdZ;vzbX(&E5J@cX>D})UJ{~X;jqK z=AyLf)25iku}_o4v`wZ6XdK2DQxC%-)LHV(Y*|i0`To-NPpmmeM%F1?I~>n*vmq0lv#d&IepuCnSh>W_BZNZd+=a6$);m-p}N9) z`U(w2MNo?+xQR>%r#F$PjCLr8vfR?k4AzOJKtX=jxU}9F7ZB6xoj;9rQeUvds=D1nw*|IyJCtu#WaZ63F-@ zCWXQYmZg=5dg=mXh2Gs+3Cee91F@|q6IiDzl;@Tn9MkEwwxHTzZ<;NxkUk2RI*D@- zP+}s}fi9WoE3P9Usq^UWVy25Kf~1d}UQ9W)vA~~SF&~h}5*{}52~J8^R##*At@xh>d8XoI)HFZHgFF7sab@bf1b=kZeCO?LUgKS)~E7#d|G zf7+OdbQ!87KY0YUhSKOrBtgER2@gtR96%c#ks_Fd&I#Ey4;Vq;WrTuh6YOIbmfK+r zae(e=<#OVf5uqsLlfyh3HJ$C?Ap*W6&WfbsQA{)@p~#_=AIc+jr8yvCskBn>Cdn_6 z%qs#rB%km~w=7Bz|%dyc5wIvIyV`(89av|T87QSAhLUJCjkI1pN=3##mC7jc1sWFte8FJePG zMHuiIx#EASf45x8!R&KA*qYTLUg=BnO_+Y>qO*wmSII3yqE%FHD#0eusAS=Ob{~Y6 z^Ej;wmfTZMXX0+Lbc`9Q{8_(UBPJT2Rjxqtv$5)zSJ|I>&c{3SwAF=J-=k7__2+xKz!tb-T} zg$bN>tyZxtBlpbEKM0+}_H7+~v3a&XHQWy?5R@QYX1x`3`V+awC5hwhHKc>9wxDEI z!shE_>e5C!`fSF=pmZxrv-%tB+tmkuzW6UC@7Gk9XD~>LQ=Znk-Bafw_mIXi>CB;7 zX?&AeCVn#_j$u-h^0a75Ip^=xdS`~?>dFIS8~&?d)T!rguD6AHo(lInhDi3_SZK-F zp8!Hn6je`NpgeZ2-PWDUy_HE?}D%J=YK zYW>A(KpV4xD^o?p>>_-&&=FA}Wgx&JJ>xnA?{?sFeIS8&R(|F(>BrQG-Nb9h%Q}ozp^{lJ*GYO$i$R)El}r zCeiK&>eB1m@b2P|kmZuH^+`bCy#YYFFr@2HfNgdYj`t3a-ITQrmnludO{9l3XfM}P z|D@$K;if$EEP)k6w@J%T!zjnNf9L;Cn7Th@S@v_($`xfeqH1DJeqPn7~L$AqHNt|5ED#6wN~og2x0GO_R;akzkLetM)MMNS1C!nEL6djM+&yZo^&m(L(*0=`w!Akl2U|mw~nF1A^e`#+-dKH1frjw4%u5|Md< zE60V5d+4M4W((RfKz1cEM^c8wF&+ zSu|lW?mYUswT+t#UX7ViQ4>Bs{??`<-Kguil60JP*yfAw!ZSZ&!NBlh)sD4R&u~ z%Go{?5bB)H?Sar%aroL!1MRKq>O4vrV(KgnFgz{b3jysyS&^xp13w3{Ru}B8omZ(tDOE=J8#cR)d^YG|g`RS6uK_3D7+X~wU6np2?Q3Y|zmK3caFM)v0W|nr8XG6Vu z!Qz^LR=NSnUeP!PH0@XmByds`hq>SW)ao4Uh-G2eR-`Erd9t@8-xJVJvu_6_k!H4JmBLubgv(l1%5?)iKf+bAi6|fg zhNSz1bZ@g}=Gfb(a70_?mS|HV{+GZ;=^S! zuRK6$m2<)z(r^*-EV|bz3t|i*W(<53RW5N4A$kJ3dZ6oiEonw7WSX-YkCtHODQjG5 z{Ug20JG4&N&O%x}5+}J%u)19TibvV>xqH1tx>H-UWkb#6Jk;`S1QF$Y<-z{g=EN(H{15lZuXG_{Dg&zA#f;M& zO~!e?o~zs$_FdVy^Wql7CDU#)3#d^IV${CXRF5w$$hkSVrIF zxoa5(z1{}Olt3tM+58~Nr;BKR#wqBnNXEHocHb;PrsnHR@Khg?^AAi$#n}+;-`SdX z3ZV5>$s{tE!C17ZCig?nuJ&RG?)7PZKzh15&)di@jnZxr+L= zD4WIu8O6ja^%*!;`Q7RAVX*acjdE-iw%PQiV^4A-&}$MiW?hJjx3HI0=z)SIDPGB6 zORZ+aQUzh?JqVb1ECua&0|-pPcSE#%BmI)RN0Lo)giil+S5~8i;m913T@T zy*I>cQcSxchQP$7EUAwuN*&*=m(75V?{ws+c3je$le9Uk+H{ z3Wu#dU14lSaNh{qAmE7X{BQLU+NbF2*ztgmqO(%q7M8f9Sv^7@3vgP03>_6R5SAv_ z8wZeav>S{XS*wh4W#{Nve~|wH0G{(0%;jm_!d~k|Rd>oueqUw8{j=Q7K%2Ly-#njz z2S@X(;qPeoVeT`UqS2}Au>%99s|0jNAf13Z$=||SJHm0Dz*Z3!kWYuuo`kH7)_Bw; zsc0*%hgi@5)DCw@R>(bg^qvEueb)KD#yA?>9hbJgf@n97DJa$=!-CRRvN@$l^ z48;Qz93J{FRyc30@VSMq6XxCIU#K86Er}lHm?c8B)uzSlutbyWSTXSe;PbEAM#TEc0&(ErK$L4>auhkQ9H;OvL6^3(A^{L}j(3`?9Z{&TeA_=q+b6@;lfKsXC_xAtrT z>dwv?c^{%gXn0`Gl}$pmiho*-B&xDR5b4iI##u@8?2fNOSnKbNY3qb)3n#BT$js=2 zn#~XB?i^+n!v<17IR8mydjb%%#eJXJFR_vRw0n6JEyVtqmMIZC_$@33A)E*l)RpS} z2R*t{%fmwF`%xfD^tcx9vefzWpb4;nZ zhB=*2)Hr@*%{MIwkRfr@%TVmFp~OuddcarSs^y|}zsB);ezjX2s*PV=S~->!7)I`- z8Nj2P$BcML0~*Jk875WY09oaH6ZYP+;Kx*V>*(JUpTO|gOz3ZNJ>;ngg=!jKwOF=K~?UhEK`zyyOww@LruZeJ6e-#2}pk&M#% z8X(MEh#i(cBXM&b*KIf9P{Be9^n7D~%9Tuzr)OCaUK9K%7c9?2#DU-KxMbt7!)9;m zet+vleZLuQq)gNhoEf9Nd>^D#cPNH-B69-_gMR5BlO;-NFp`%bI!OYfKX)&R=2e+! z3^FsSm^-kr0Hk>Fi1-=y43^QKLDs#64y>6UWyLA&3KFfxGk8?r>mzObQHf)P3tfX> z&;|_tyv#MEfY1k|u~WUM#!pbyC?>P`{a)JU6nfUYK{ynH%$&(iVYpNXw$kf*p;UVY zEo>M>PR9YNS+C8rn7W0T&CwiH_#09o8Nx@&UT-Ju#8qs_J+&7m^v`t*`?J$xoX9`RqVx{=`RL{10*p;eCPmnIIUHEb$E2d|dT||<52i59xwMIh_tb`eNShEA(BBCZ?Aw8pt@8wtv? zi##+3yg8?7-WHTcmO26Vln1VOOo3k;ZL4MtbmY8emt6Y8t^u0QZj@^6K?!qf4@VQGCwOGW`UW8 z8%)!|?Y|;RbvS4nSbI?{@&`dXYl^wt7wF7DLZr#GV@Gy%i;BbNd&_7P3yr*x9Vu8~ z=vkE^{)U_@ck@KQeFY8Xfx0KTCws08Tbxq8^G|-#j-ov5wjZ-VoR{AeW?8L?%-k)y zE7r{<8V!rss@eVpo0K|B@_k%VSX7Ooh%gHtxFB)WVwp!@@i#sSUm_+gAFDwW#PGc- zOSlSJnOelD__^%A@_K_bsFa({W%o^6A%Nu`=rw+ zw3lxSy4BU!0HkwzyqE8jE(IQ4qT>g=Ux^A&EiE1MIAx^FqBOsJSQRxzY)WTvs6v^G zVQXg5wcCuBb7^(rH=D9W%o~&E+4K)oY2!C5Ebm==pNYQcBuW;>K&Ru}K^1>ePzEDO z!}(}x7cz)8=AhYM>Zi-<0p87y@6Y&PN6BIDWmAUXv*`j{YO{u513^@9*=pfY;6B2Zm*8-`@gKj zMybWcLA}ir)nu{X3fu+{R|V3b)ybVXe|`{-=oRz7ZX1sGlk*PIE??T93p_4N#{1o6 zt`r&SpS-Z1R>l+s%rY4xdYX$=6wt7uj%RU zTOYv4?9<{mpO6xu674b#Fw29W*Di}b+^8XhS?9dYi|un(kTgk7!8x$pEVEyr3fSek*g#qmT2K6lC@}kf z4hrzp-eE=4*2$GFi_QL0T;VgWG6!A2{T!Q-{BtDe8PJ--|0C&#UHuLbgDc$5NoElM zW_!a$7>*zi_!~`nL;bT=8DlWeP%3GutD?wctT&O(2t>e zE0om~y6u5lPz|)pxxkC1X1S#A;S>7)B@gsgDW#p3S~SIAv(Q%YS5ji!(u1sDdr1o3 zor)PnI4yoPevP-(e@VFWg9~?+%v=|%!EJW^QzRZzVt8-U^iEvg6+xaAlYCs^Tcxws z=)T{ELA>6OdZsbAhF*r;cCYxBcnc}6t zLHjJ1VwaVZD}xrBE~Pk!?6!9eRiIk_^=m4W-p1!D=hN_hGCzW0^u)=>5cGmK2aF85 z!o=@MO2~RWRQwT4Y9!wMel@w;;nGI65ek?Ux%fba(?II6Pg!j?82N~Og1?NE@XuHX zy}gVN*_{+g30C!K8Se>xDgJszj{TGFshp4bwE%ZnXWQE7!O06A^&K5U)Khu`PsC^u zy?AAMx(d8szWkZs7vqzom~6%rBVblM2eWaE{iPiII$8I3(yg7~ue_M*Hdqm#OAfg$ z=bwmYfZ!glSj^c2HU|dRzTzRF^JA9kSPzoQKP6w~fJi1L4xT0{!0f+rGzAMXcPQ`O zhQ`3U%9@@LB;RkM)RckEU~_J<6!_p@qk$T{U)#;Q@jfK9&0fKyFzAhiI&8#Y!J9k3 zl#5qRYz>mrs~ssuZ)DBHg9(27Sue@e{LO> zeu5D5S|;rf*euLqiZR53KV@5NBJU5GAx7J0FB=j7`E&vKqM2`!w5Ct{!pJo5`v$e<1n`bkuY0ZB=js9+@>FRGi6I5 z@H(HSX(P8mT6ABPlCrX3ds|y)TU%S!+M%eK4~%IK@qXvuzK^Ei?*8%S=1cZuP%Tp< zSN}rK^9S0!>_;cBi54p^B8ctBY4T8C5I>{)GEezZ=eIT(Y7BzOZE~%}pQe|)GH6x< zOlPUDhCZFjx#9KdCC#!DFw1r0rZ=pttjt3C|J}U&l1D8y&n>ob-Za$AS?$t|s6R|S zN~)Qr51imbY|Ciygx5ifG5WQBJMu3Lvn+8u8EnRgc=lc)-Jy{b>e)-^J3GCMRn~;= zXaZULoS`3>!vD9$2r0>1I>rAw`Gw4bmV44`$J>Ylp43ev+_K#`w-70*%v!bv;=;cw zN^8lM>0abGr_c|BIsifK03Oa?pDwl&Hvv2qVF}(NNGi`CY;n_}k=IgQp@L$!)I%EK ziW$_7teU&#F!p2%!n}kpcHB{J&%U%onU|AGzV`vuQVR2^HpNnZPOIEBIh3e=bSeFU zGb!ofr9f_l*ipAHm)Gqw=dTYmXwWDC9;${`NaodJ^h(DU**EYmo6pQk!ie+iZu!3x z7CS6l+U;4Fk1tEJjQ9K~V5ko&xGz9T;t?Ij`u7G!!U9qUbLO?!7#9Wl;kTjc%Nt8l zlK<(wykGkT!zq?_K?>cAmAS7hihwzh+=jbOq@)>RI`6%L5Er6KGE4U&TW9atR+Rd3 zXcnCz_N0kkSOvBz;pOr50v%uX;y>%71wM#vl-d5?;4V{bf7%5k;6ZedaDYXF5;1Ui z&~d@K*((*gG#rpuO;->@?nt5enIOGH!M!Y%W*CMaUkMn*SdbEPZ|l>jEOsQyWF>nJ zEsP4BAV-%ZsE@}cY78m8|8qj2uAvZ_%r+F`a}0Fi)9~9!y}XNpD8F1NbVn|Bq?}@Y z*)zDX8BoH?^Byj!Z5di3M=@4tv9R|dcOXMJjRJ_1AQMZLkvF+R_b1fI1EQ`Fr5nuq zf`&!Qg}q}AqePz`DjrIB{g_rB5kVMB`%GVRA_U$5-LUgD^#}YElBKQ(GY+cGPO@ zBIX+nO6sGct6u|ZhgM5ViI#QT}<4t>vCqoi6W47CnYZ%v9Td0i(Zu{^7}77n=UJ5H_0M^n!vr#AL) zo`@>ak?zwY`Zyd@t)&Ql;|cY2YTb)WYHL-(fV+0w6rK*zr=k*W%MER3aqKP@EZtIh zqKapop!g@b|H`xF6{tfC(mU~*QHYv%N^J0YdK@wr*-a^FC?r116nFrc#ofwU5 z_(!8|eHEoI|B1SB?4F1 zPQG4MVzH4$s9h;zD;UE2ttTmqGOu@4$gp~UMEBKu%GfNgcVV8Z&}9u%U;Pg=&|PlH zlpGP;7opR6*=;;3zgTgy=J;fyXzCFSbR7?8yZBzxEz?b>B1@9nX})kbU%;I&m=U;y z^!hOD zy4m6O3fuU5gtS`qw4kHY$o2BXR`skz~+C!$JM$0(fLr#MoW(pSiB*Y%eK zU822Cusv5yekR$o`9FGFNWBgj_}$3VS6@T1N=)D)t#i^^eBbF~h%G}o&r@LU)d3K=?w*oP6F_6j1Ilk|oV>f8*Bvbg* zc-q>@Ga*kFQ%+E-uC8A;1&aQdgCqK*|H|k_Jc0hH4IF3B@J9djJTTl7`IS^dybwCX zPwA7r6`oDP`*D?XpNWqCYyahgs}`qwj*JHBjt%!2vfvC|>e0!wb?XdCA?)9mp7FUkpqi*Y zV*v~H??1uM%ecM)o0q9$+@Rl&Vo7EwOoy2)zMRbcLqO#cI>?BHzOAj&2=jJ`s%TLO&z?vX)9exab+}4>7bf~(N{|i(q|=Q z*i2a5sG?=g;8c`GXIiEMw7g)19L-*lJ`X|QgjjNi5ZUng{&H6+^Wk!E;^>us)vU4I ztD$V8v`T=7h}=v5oTXzgbJbDXa@4hj%KScS#Q6)J4~@?)cHI2T9IcN%kqz;odAe6X zxYV7!grsJ7O21Eowty#AR*h-%uTvPLsdjrrC3`lMrCe^o|0UrP0sMbiYN$jVK7kh*1E=u3rWbYQx(kU{VgWnz(q0PNa za_c)AOndXzfPN@sobktyH- zNkNsuV!S*JC-`3^j5_O{{B#~lX=1>Rp0RQJ!zMZDbt z`@?~E`GGmgL;X9~kY0B^_MJM&9r0nOd3vI~^h%{;rdK7X6&xl?oZT}cp9|FbP&+=e zk{aUO<%O3smyRUfSebLou^}QK)tlW;CwKVT4jD$QbxrmE-qHP4K+p|dy_YqAW!RBe z0s}k*T<3(H*ShM7RqZ3c3r@-0l3`HlzU7dwe)$r#-88j2-Jd@j5gMHT3GOy1%5};b z(Oe6c3UI^+X~7~?P9gtlgqXrn_#lojoz9?n5l?36m>9d7LA3|U9wdI`U!UT#6d^E)Ay}3Y!wEhtvo{eDCb!*&j^rkzC*7GG z48ae^V0O$0LR$l5x>$-utltl>B?y&UCD12y}cEq+(|w`YYy$@hX?Xj0t9_&n<~=K=S+s0Y-JAT%^VAI`-k!E-bV%H7e56RZ zbN}vgZ{Q&J1-r#pmBsejZ;*a}M?9QG(6bS*$NF8y63gY*NAJ@DU)7QFFaBWLQa6rt z^uGDLdD@>MB}nq1b8*}2IB2bjS>htoB6b)}*yeu5&R$9hV6e&(6GPE*u)jm?-qUEV zWI*gZWP$~95+XmEnAWo2~lCD?3aiRCg(mBJXv z-Ao_)mr_#2sx6tI8V}&b&?!LgGxMUG584VnEk)3Gl&o67cR;udohkk#_5QR6*BMijm1`_-n1cBE#K4^59gmX#SC9XTzrNgFN0i5iQLj2VFcg4MRTfU_ zX2_s@{yj|ATdEs-tw!M*GU&XKr=x7|^)K`*Pi3>j&`g}X?kiNcsRk3$1w@Oe9y@;} z;X07UJan`+QeX;yp|F}r^;CWdxvc%v)(MJ%V`Llz(Y8wwieObU9_JG`t(GFg^Je03+F2M550JTD& z!?wy4u_IUKU<6P<7Z)iyIU=srUxuAhAk)zm(QNeh=Mz5v3^d;|a#U07k&;0?#9Vn&==g z)>PMT=-Lm|Bcyhn(cp7FGs|rgJX6Jp2YPUALtcHHz`ZP=mKviF1 zM`T1_EnM@Qz7z*cB=UKVtxcU3iI&9_f|`Df73zg>wPDD3o&vUl9TOO6f>d>L<$MMy zMb_3vBG?x(XTQ&d^`d&_p4!$AK98b(#Wy;R>mH=FRIq@WS&C^P3&{kXcE_Tkf#(`L zul$F}IH5@HikD|eUzv)pO7F*k@t(0S^)tL8mtK6d|Bf?I*K@Kdg^Q_J2i4I7WF6ib z&;O8DX(U8foqtlwP4CrrLi2aZL!Pezb=~uU;*HzT6NKbB=Es2(_K=o$q~?}WkYnTs zPN?whUFC4>3kZ2KWQ9jRPgD*&h`wr$oa-DL!QFkQ_H&if;Fz^q)-L#;YwapI78wNj z@L-QO7q%;HzOiJ9HLtRyRvQ6iTk8luC4UJT;!c#znKpBJ(h8uhwMiKCW<#Q$bE{cM0JUn zzbdNVlg4BJW+=a?w8^5j73mjeWkNQlE+*s?(w&TlwodoSeQe@4_ot%&hQqH(JW2S= z*bnR*ddTC7}@#Fb+? zdX=Hv(*U_eOF=#YdqOUYXbL-|H2(haV{UNwv3cYrSq$pB@8a{YmE%(HEBy7pDCIBI zp16@seIMk*QUsn`>4z$GkZb)nfuZ;-xdUW;R>#(5bB>J0JQn30k$pE1kQ zj|DGP==i&=AJf&%DUJ-_x-Z<5u@%Lh7>Yl0`-7YPKa)@*)MvS645d|efj6m%l$b2d z{Bsoz{+}ZUrWI1t&km>PkSnk^i+;h;0!I*^h7LAkjhmb+ZUP!Y%v_rb6_05~)K6Bm1 z`>rv-siGDW;nkCQde(f=8>IN0EbP_i~}!B~yfv#ErEl z$p?QDxk9zsmp>nx4{hkap`vngRIjl|Z_j*>-hxcW5jx41TBTkN;ZOnc38+=xub*Mv zb6DmWYMLGU*UZzrJtPnA@UKOj3b3ez&h0Y69-0`s>1q=0l#8p<9F65awh0MgECjW9 zO`b&x8jvdj?`|$o4Or4H8D6Boq2}ICyU2YIJ03TUTr4MQXSDwQ6N0ImC^VwL)gifo z3E@sd?cS0v1+Exa#qF5zSGU6({cIqy8=;zslzkh~>_v_z8flM#>9F9)5GZcy#WD)S`Z4n|I z@Pm4+aVE#i$2k{M)8hX&>BO3f3`ady(BrOQ2mHF*1YEojaFx%hk75BoZ5{2Dix7^h zC+3XR(#iI+4$E6c1WxsV*VzF49UXa{Z{9;uLhIpaT+`t7RH4}0g4o@RBc~e!@2NsC zzOz;LNw@W0Uq|VZ3E8%%EM$pMSIc$6j1s^cV+NCfv8cPpw=SQY4rS;Nt4TZASJyv_=iHlJY_ncLHZN!ZoglSjyHBUCZWc9 zAOWzNculK29M!!V;RFK-)U1EF2-0mAO%q0zBeKNNvGf6Zw?vgjo5)qb$H<%Bac{M2 zQ0}uoV-6(Q?=yCbCEZRiSxWwz0MwhNK>ZxLeZqNb%j-Z&#gKsfODs@9-qZKrBd@EA z%UPsT5wHx+vS%QLXMo8$l!W3qJ44brB0o3Hyv(W$N~FKm5sL&C2K#%Atg*oTh&`UI zSRj7>+<0g7VsVyp1MLO@juo*|%%v9mub}{8d(=kbRDYtu|FKIK{?T?lu)q_+xQ{yo z)U2aE(QG1dR@OG#X#k{%@^uP(K(AV8@7k+aAY&Nzd}1(h^p<76MGn|HD-4OZNhp`o zpJ37lR`qPO7IIrN|7Li zdog=LJaW+niK%Prhhzw(JRJ@!z-fXx{E)bLuzZ78I+v;mdss*}k3vXHiSYkME=nZt z8>}t%M2$!~DIn*0z6ON(>`e*qrRj+E?EaR1|G_hMv!Jf_ajF;st`DX2)yX}V&FBoB ziBYo(M3F2_fTZNdD?Yc@RT}u*EC-yLxmXX6$(Yx)VH=@$CimRCRQq9Xsq2mRVep%~ zs8){l3-?1ww{0POZx1AWq3JmijGhlT^PZkK2A|~^OQ(fncY8}MPW8iQiS*GWnezp2 z8f;ZL0B=a6!3|Y6KCWcK1Z4n{fT#A)R?=;Eer2od*iDGFRgMwn5yZodLTmOn8Xa#50}V^1k9V5S95Ygjfs( zuMf59e8;1@gG{rV#DJ9GTK3=f2citVMXS881pDpfZjrs0d#QWjvx47@_C{okOzE*e zXAZJlH;$|2t^fK49k>9ohG-T+6IH(8wWs}ws4+^8`zN$?xsi~oKXNhu>#uyBL&>r4 zBFX(Sh;yv>Z#&%rQi9sQzFiv3H&}tYze?arlM9$s6oXb%QBj{S=-T?O<2hpf<}sEi zM!2D~#Bv}*iiI-#@p-*BRMaCd^2B_h&tTT`L!%;g=Hb&iq*$nX)yq;K#eG0q`7lMS zZ9IqNK?d~fT?VFb3f#oc`kQqE*C(e(EmrarxaMU><7#LSLPOm)mU9X5z|gW zxl46n!w!4%heq>*6~Kj=#}9i<056M_$V>$+V5a@y+~7u{T28pXUMaPej`p2%!lG!E znYlR=1@{lS&WOKG_dYp>nFf?dX)|HZ0OtSK6bh6`yO7xR2s%Vvv*u$RO$4Q#w0NMS z&|48!7cLU&qN}MeJ^niGrba*rx{{|(!O^AOE=xJ=wMW1FxCD*fzZP}h z6X9J@b&ntVCbIXF=D=M+F{{KU$VI2=k9GFzR6(m;c9;K$r}GSJV*A2y<>JXd=}g>?F^sAPc4UOUqfNF*Kvr%4Mr2D4dfXW z%@@AGK>KeK=rGOUig}^k02x>>)s~Vs@LmM-{;grRINLI*CCYx?ik@f&^?%lEO=KVB zyu4=!4iPqOp7?nvHWcMjH5#`uaj)>%@^;!B_A<0FF+QSfGmScRzNJu5Pl6GW?2(L#r7FKQ%bF~)F=JphMp0BnYxtu0p%{8~ z=_Qw>jbC7Tf1Uv{1aO}Fyp{Hq-)ihj8MTv*Pm_;rDE8_>#7F}03>@eUZ)oC?=YH8@ zUABkUrKQFtB*^PeqQF`@IKQBH9 z{e^k%1?3Rfmg*i4Qza>F&QvRx9|Xm46t>hy0@)vWAYBr-H8kx8vdyKa($GeEaG?%g z9}JF1ByPx$zy)6sC+Cj5x|dT|p6DN;(%zN@S(7Jr2FPaQ`4ZE@dlG%uu23k`mclcI^)Scj+ zS#&}vAgI%aZG8_+c0RxD7X@Ys69LvINs)5U1inA8r$NXUz9lvIkcH>4b3b#{ZjS-s z&(lz6D@I;Z_tF_11foW40Ay#|4?R&Rpv#In4se#|Zy%0A?{yctX8`T!G`5lSLs3)M zJA0$Jr1)!WRhN=hN)6n-8F&zQUKJa~AxzZQ=x%z3f#ZX0q2(-s-`BkL{NoD4e-`hF zE{Kx7&CbN(u&=5Hk!3>Leh#+uFD%%h#;m%g7}!atc$(&3b*_(kj{F^dGP)YrTtBUCKtDV;ljnf>F8l-ulI znHd@p9fFQ1gDWUXpO=;BD@@cG3f*pW2-#X`+4l-v-Mh$Ubs3iuQyW|L2NTteP2z#j zQ5x2oM6a*n`(0lva`VH;5$pt)*5l549ucey3(1)CinEFDa8zq}PDWoG*(+e|t;?pL zAp^DME8Pow%ZvMB8UQ*>N|-n?K-3XIdtp+bZ>mJmXl=)zS zvTz%r3Ya@S>_Z&~F>y2#$=-ls5bOopjaVIg#dgwpBeO9-?;_O5-238nrsNg#jFFHy zZaqAt<09V+e7}QOjwfxV=yOMV)Hl+)W}4ErYjl~^<3jg%IJ8B zf(%xei3Z<)g@o$b94WCew|&gYMD})K;P~A|nEbE4gnlvCf;lIvCz0)haxf*YY1|m+ zG9EarTC`lh4$OB*MCJ$(4>pNMUfKo*1?XszCJv8TB#zn_AYz1KJOF2XL+Lx|BEUaw zP1O7XKqBaPzGuysAv!9r1ogyie3+?U>`PhUC|Dl}-5hSI76{kg_A5F=5Aop;^4XRq z<_DecG=)bCDyXC}PPtMKOw>7=G^wU6>T5e7)jorWA+lQ8hvE>NT7rHH`2MuI6%{ui zRD__)CSIdoJW~gksZ;!D6s3Q24M+Jb^1m)0NkbAi1VvTJ-h9O&5|Z$ZJA1#l`?vk( zHtE=d#?z*RMp4B{D?ME-{PkmL*93M*b40(C?}0_ErZ_~r_N2yi%1Y4x+_0!lQRYtZ zLs8E;fGYRS@R-yu?CpI&s`>oovw+!#Nz!&Aaiv*tnWGz zzO=4fmKi9 zEC>_8_bRW-XT2g!E-z+AER3hTh-5DvkijL29c z{LM)p*u>IU2|@+3^ax~&I^J)V5+bisJ8l%nBZutO0 zg?A1xN5LWdu`qeqN$I;2(2cfyYH7jF+VYNJ!W2lmCJsdgFyhs(5h|PP64%0Uh$6Qf z|24$3_i;-jU=n(w@1{ zwa>QZ&4+?VvgyHlTf<*jl9@+$#i_LBK`F#x(K+{wnoV)4$$zalU(Qv3>ZEh^K=JtRwWcKv;CmSiUCl zW#*U9N>=aTzxTC(L)kiM zp}HyCn!KVYJ%}+FjX{Ki1X!O_o^qiDKUm`s4&hn)KTnf`Gawh3QDpg5f>b*oa~ctV zSkaRVId1uC=VGo#5d3Px3BwlLA$=#`P9u}#*V+rHuOl6_W&pL_?IEsQVAuH?RFHvA ze)-2)hii5+Z7NK9e)j9BcSw1j8L+W@V)BDNB=IFrIk11@p!lsYKPl89ugDlbi@t;+ zzgX4yBC~xe66yr81$KFF1w>=AlV0ABu*~nPq&iKPASDxkDzbO}AG59DxmVBnRE|rn zx=$F6I4B?g`v3+%`fbyiMJ;uk-7Uc&R91?W{Y!BOKQ`0-jN#x%02>4YY;9E%#5Ipf z&(q2N>H}WJ5cW#96Y*NGTnRy%A};J8Vm*lOMz~xncETYL5N6|%!_s%?H-2B>8&XH! zQe&URi|R`sgGSP>?2Y7F#E@6jb7jGS|9|2s1DSHV0?}Azhb5;wh;Pkxs#PkuM5exK z%zo08iF9>R+;~Y|AhQGfm7zzEiq#!!T%t!*5!@T!UBS?f;wMhZL=ncfPfF{}uI*-X z>NV6}E*GChJiE=CT@j8t{4!h^C$!ORMpAK++L?3<8J1NiuSz?bPSuDmX!aDVlEg)2 zxw4tmp+?aUWrd|N!LjLDdW?Dv;-V^*#^hCNIq=nQi>yK zg3M)Vm$DJx*3&KZUZ4({qIr0hew13#U7E#CmOLVSWne2ueCt#CM?geRBLC^ri-!1a zPeof>yYUj6*1qh<1w#R=OisEQ*w#d&8^Uf=+(AyBp^!ljkK;tDvy(kJR7}bg_55+P z4BGjaU`>dYp+%M`=W_>K;YG41Q?kH#4eD@vR;Y>PxYW@(cj~q@E-^VdH@q!rNesihdK-^Mpc?(4d0t{sjdUNKg(~?0p*{>(X?7UAaSUXlBY*D zd^ot{RqBlB)?`bZmGgZR;#u|feYz6VAtsu;EG}uPT8^gMidGMQm!1*G1$W0Ne(^sb zOpd*ou>Vdi%|U-%YuTCH`X*k{O!gcWy6Rg-nDp7o|HS!4+%WM@f6w-0yzE1}syV}I zFoT+b`M|M|*yq5H$y1vLMx`gPT{Hfrw~->W>8C!D<)}*MRS?s34C|IE3yKVIu$fqFs7Am_}mtk$Df7owp6A$ z4>w&J~VY|dei;qD`Q>4e`p-(Ce)w>t@FP4y3U0Ac9-N7XlyDNF>V1gaaog}{5 zdHuB8I&`*-5)G2@c_KD&%ys8AMrrsO!{Xy-OWB6%&TOG8lPT4odFGqWk&K{wcTImc zlmq~+9p#1#OZJ4I^^_OpOezpMl98zI5@*o=Q!?(J)^I<3d}3Tg$g1QTtJ{cMT;IJTbxfR+q)-4K zqh7sCtFlD{9bf=V`yVF#E&awPsi z?XKttVnU)2hgzVgXAWbt8mRPs|;)^8yogV3qW@ zHjo}}ErAsKASCMu#{8WpTnNygQN5D)?!bEIl+0Mf@pHRc#{F&7xs<;aquVuh)2b_b z*%LJa{-n9e@DiWWO=oEQ9bO>WeX0Qf<; z<-!&iG`}9wE&+$NP5&s623~7sRm9_I0JAIE>r=+Nz{Z64NE~J*V3_>^wyb0p7FeFl z7(M0Gri#0+;tKKS9ip41fy`x0IzEzl%VNK22$2n_HwE zp?mW<(AG5_4W(;jh)%`OeThjw(x33N8MV1L!bMI`H83&uf~}M!)u3q)IQCXnf)|8I z7mWOaT|S9BbActE!dKwyRnja+95sN1h)t4oLBc8Wwb%xYq_E_>nK3`TY~_b@cte6r z(7i|2xEpmv*3Yx>G_hiDcrDY>9Bc*W+FKB&5>QWCAK1zvkV6kT6xU#WFk)(hyOI0* zK+1Vfylb||qM;ghqsaFlgZF@A)#~=;hb*`orM9b|d%tt+MVNodWFZY&Ci7VdBr&G8 zDCF6|Rsc=GXiExXU!|~&I~&3e!ovPLA4B(trbFI#%#ZSU9P30r9juazB+(-LM8qzc zJ_A17;qeN2(g;5R#^f89@z22~zn$OYqoK_Acd8Z1>9=|EJ(s5ZuFW*(*2t053#+E} z9!%{^i~ObCM^IC^8Ff=;~lj>oyk>61b5?VOOA;h zAo+hLbtgUt{hHwph|dL(FPc?7!NFH9M{syu|9O)=P=T?O4jQBBbnl1lLe7P2`Bho+ZcNe?-YVF7A zpqFWvtpLK0M^Zj)8gsRtYkJclZdvKc8?oly)5wX+sdQ=F_40O%)gbwbc9vlCD?;aS z#qr>)gPX0(UQN$R(WMiO3K zCsCPbwdn@FH4XBLzCEE%1im7!lvL~B^XJG>BE3Kn+gXux3aUjToMg>u? zSd*ulNM1en3Z;4uAhw*o5C0d?t|iUXMQ(QTrd5FB#|^93+Ji@g5%m!IYu?Wg&qT@; z=z*ujlGNnAI2^p&rXMFk>DUM zkPz1);#<2I8+{3C-^j?oz4^0o?OXbBMrK?B>#Hx*2dN8c;@*`v6$nnt&K+$}67+$bou6aQ=b>mU{FGd%Y z4v!lq?sr)qG9vvvH)LMCrabc$_ZSmJ*7tKVIQCM$)$`1%C;}FEa+XeV_}-OaITL== z{@Lyqe%!FHX67Bkh#m6f}j@?Nt{*hCv@XvlH3BplzXk4Gsc1K5}D^s&OE1s?96 zX4*UJ(Co}!IS~1SQlt^v5Nh8fzyLBjnex7LM5skffc!x_!eow*@FG~FUvaUS@~w{D z_JS$#MGE$lIcGN|x`9htKV)EE%bnRWj%d6-#j=pe2{mM@Yn4#OTx0b+q}yge`gvRj z?G-ZNZnVN~VHYviY{V_4-;Db0GA(k~Xpp^IMXcR52%R$DdBYkf&EMPYT%!AZrRS6-!ex;fB9N8Oe|GIc_vs1L_Qe)$>A653# zt2zKoqGbaopb}TClla%@X8ml=6By<*5UPc=1%soo6|aIpHZuA>!%m+IE5a|ABrCg# z{t?M~O$t~l9DLkv(kHD9W3jujuw}VH50~EuokO#Lt`u0&L(Q6*7tjK)9ClQSYMmCd zO&vsrqLx&UWf9wLqIYDw9Zx!Qf|qFK?$)XSXgF1Ud_VkRX>s?6AM)gp7j_2iK?Ohl zrvwe9X*nlYfapMsw$s^>2I-wFp5XBP#eM~?LAV>NBv>~wbp@Z8`6i4RA)cc(EpZv& z54`;vC}72*1=Bs2C$EY5;}tmwoxSE2&FDS9^)ZLy2~E<4CtmOKULZO+7+-1Sp*zW?uoaY0)6%IACd0}JvxPx#t5Vc=tD!^U0%wRGK zPMX6H#Tgy|Ra9k%k`~4zJNZAFWurT7ZyOqCV`7)4bD3DMeuylf*{YGE>Qy-=XovbL zAM8BseKhQ6s3O%=gjUn;DYaOmzIX0^TuMh81YF;Pa6_>X2cf_C37tN1dqT9YsPDm* z0O1*TqXvJ`Rss{NNxXDN7rv6#%ca!|9DUa{&Dic-t_b=U8g}W)uPrU&SNU+85+i&D#KB#6>0#?^C9j_cQngp1 z7ZeoZ7J*VjCMnQ$JZ{;~rBO)k`|!l_wu>#FUVXKwb5kbS$5h9(-ksRyFiHS_Dx>WG zw?Yp>U}{%o6E~z;d<|7b9IwdCx$hFGKU^y0WR-B&^X`TPTH}$$7c6`Ow%RPjWY};= z!^S!z=>@XT!HevXTtbN(zX~jO&W}3k?dCbP{YYC^I5#*^S_>^P7v2W6fMwTo_kf>y zTq!v|9A>v9oYSDw^XrFl`mRzv{sCjTSW%z*)K-~bl;MtG5W^iw=%C6uLE#iUvi@=# z0kYNBE1fPpu$6|+>0KJ)a@+FKCVt}=sYeylWnX|@o2cd zcW^Oa!g!aFrAk4N?4u7dlhr3S1iPuae?J;dOW{hA=b_Xo@bL-+U}ATTnrgbR#&>sI zL0q$x{q=k0vU#|82T0;!P2$FDIQETjehLS3i@SRjCB~;#BaIEUo2bEZ!Z=H-5?ihZiaQQiQb3#1YLmUK95?9&`zF{gS3N&8#}OHH_R8~n-y7Z+pd zSzJJgxpGh4tP&R&lpr1AJskTVJZsL6ebh~gI{dxj%MsIUpH2(zaV2&<(i8Vw)E8>N zTpsPShl%x4DJi2LQ56JU=!`H`^SRkQbFoULU|mqgcm6W;Gxa4fn<4N7*Ys6 zCnZ!B%5vCQLMsoJ=R$}{>qm!`4M%m0H5K<}7(!k6HzoMUYyZK6OIaDRLn21d?>YT1 zU*kdG6w1{&Qh_TWlF^J-MPJ{V%L6F7!jOfQaY;cwlR^ z;y^eXs7A_t`BpwDp7;I7NyuKBC^D-kpwh6ELA+cd8;?x37f)c@ENz*6wUqxgEo$$F z$0#QPcUGhYDz3UBCDy8OQ#o=(Z6?aFcu$8WEhEDB#uN6rP3jNk_VnkQrNLua;f$2w zoz(K?5oVJ9MbRi7(wWM4+FA-LKIQp1%%+^8DlKQ~ISZR|nfy?e50rIn^BW}j5n`PE zHs@4!{b^dje{2qZvWe!!nv(Mp$EK>)Xan>E-G)(*pSe_iJxe1{klJQQ1M#~hJF&Ahv+n4uRYrcI-G@N~CTP9sDJZO7eHwpH5X3_od$Z%TwVx2{oJNe*&G zYqoc;I_fh^NcZTsq+Qys?99wr$CYLVxqt!$v{1RYu7=Q-ve+7JTZtgO=Txay)cg3~ z+v}@xerZ5~WMC@OcJeA|cQ~Er$&C@?EBRv&F1C_!4K4RKRAYaU$ujm1VyQ0lIP|Fm-p3#Cq6%|srOxcdg^>hYd6)|(m=GcF?g zN(9D%n06YX#`5Q+0YA_-e%(+kY~iwji(T7xy+g=+2oE#K;F3-l$7M{swxPC09HBu} zEZvIZJ_5?64@gS@UY%c3r7&`2sP7bk3V?1iNhV41%chYWh&_LjajFe7n<6^`+!z=Rwv9$`gcp7gQ94Mai zpC~bw2$2TpJT%H`$i9|g*TVDT7TB?iIdPlyPxAv8;iJYjK{;Ug>ttU5sa@)Yi$Be_ zhg2g-koNOjLa5zIyzQsUiMt%X>Us#Yl)3;>^pYtcEx&w*y-ZeMZ2`;ZnA&FX-ue?sV3t}@$`T|>6%Aqlv{fT!Z z*rIaiC^*qVmO2O?eb%rHCp2g~@IZJzq}*i&NeXJ=;(aeZDFEDWnV*F&12+bM%~QW6 zkxjaS6qUItb$4pp7XjmYM$7x{DzF8(WBwxZcl>3IshnDITzr_HJl`MSv~Ht9!eho1 zFk!B?1F)l$8l%g^#V1FoS`(50gGk1soy76Z zo{ z-}v>^?E{b{o7r(KPbFW-DPZOvF=k}SOuslpA)QT7Hsil%y5G*7aDZ|f3qC6Y+Fa@AlNS(rUA$leY-7nciL*bWy5KH4Ao|WM!TQp|h{ z__`{EzD*tXyF%EXqghY6GAk_COiQ}Zt{U~HCXoU*9aa3Efp+?m&VT90M;}mcr?WKa zf{?X&YCk5$?|PR>B-RfZxa0(?L&UDOi0L=LR_q%6vqFGt{a<^lpP=a_3Ed$?te7l& z<1O3`#=bTE`9#VlGd5d$!ja;&hkBPxk!JCx%`dGbF$tkGYRUfM1@sX3h@+rvAvItL zjhx~oh44ZLEjaR6I?4WW;a)5Qxa+B24~r}CL(V3b{_Trf9{G4|&3tsrSRY*BqZ**gqpu@#`wRv<$oo^_H>umb6 zd1-$;mFSp?D^p&BtE9_m@Gl=k1Wh`_7t%7=JYk>xIGZ@I=>v+*8NV$-8ex5Ubrz zWU-l3RK3^IhW;8*19c9~5L^7qWSxK?F5{|K!s~w}CI6)jqLHWLfev)sXLc0=xHWe? zl-`Z0B6laEmxpiJ82+0c2}B9nps|WyYVCXiO2HLAog^@CmlZjaiQYvejac3CWuS3+ z*AGT3@?1ODr}S9{Z{;#NfLFFatqd3U&YU575W||B4sYL`Q575&8MD}6=-}w*GuXoNY&IBYie^9U~8tID4q9Zk?dtP!LGvd2MMj7=|#E6WW zYROKn;i%k9dzxSsFGB#6pdOC>9GI2^pqw<#_O<{dZS?n1mt4e%`KknH6h(X^cHRY) zCaCh=WG`rveJXR#L4ArEkg3h};0g|QRwyP?%viF!6k%JrDP2Ua>IrHiJ)q6?At9IO zBx#8NL!>@qly2(O+Ww)k7y1c*SrG6R{60`3V97=TsunR(#kAl_CS5)IX~c~MM%?Fa-(n2g(A&r&;Jxkl(anQ zIS4OUk8uj+k1C*;SxIv*f`|#VTch)(^yI86)!}%0WbHMXQ6+0UqY|^9t$F5p44a~8 z$3B%1B>L%2`Fh8!f40>}irKV$5Co0-_~iFuZ|@J2#H`on8KjW46;f)ZEx^5?meFtE z=+8i_QO7tn;I?>xKoAUVWwHih*iC~?m5Kv)9ccb!sivJTX$Ro5(lF}d;4Rs2wir$p zW&3-}Gy4hjutlydD&#H`!-hHzYBzmfEICnf+iq4f8VCKylkKs}kxAmnw2ZPDaQF$T z^8`2qEz<^YLiJ>H7YX_p*0Va}JOk2)L;1>8B|O7QyA&}9s`pJw%-{x|A;VV@O9w)( zLrOTVUBNSO8#0fCkL>5RKN1fA;#YRoVn72$iUqOwjwA_QkBWaBQo62s#@5ARSZ9A0 zEl*~zm)M3$)UlB>12f)$;Mjd|>pai1NyLas`#D={)JN2`%jlD1wV#s^gfCrk03A;~!fav7c7YYDCz6$NLl@656BN)?vzhR< z=oKON*iWPTpy(PMQq=FRm2x_U^#Z^y=bhPqzw<8Z4W8j6QvgJCC*i4d$R4;6F`_!5 z_Kz7S4w~9zA-ymvtYb-5sO=g3_(M2n zer(fk5eT}C`%vqHFnCYn9J(?0q9~gL40-v(r6&gjzXPSYLM~3!`ps7nUkZUc1@wYV z6CV@W^TOO-qXTG+g4mS@*1w%xHw7ALcwBqwi?*RD76&8eFt;qE9$OEg)~CnW@*4p# z*Y$IZv;*s?ZI}_m@U66OKN~%=(EBX5%&h|Ct20WXLJ-utyUxGMzY_n(DF7Ya1M8-y z_V+i3Zc#zpGc$0cQaj6G)Ap(883#_I!W+QlS(oDCE`{&cAn~nwS z*HItZEi@-x&sP3hgTBgF}jsFofpf4mn zpP5VjoQVZB5p8jr^0zxTPiek5kqvOBUPvU4fV^HfWc zGEpC1$W~r*!Q3+D3v}4t39GHBXrl+dr@Z2f4z##vvBE~PZpxpJ=~&iHIlWpM5kCPP z{7VrWrtvs8MU{&eEQZCu6sTbn79sdkLm*+bDC#;Vg!F} zSE<=LJu==@(qw-PwUQp7UF>;6V((*kodd!}-G{|LBLD-20`h9(LjvPYB>ED{b6V>Q zV4+R_b(%0KZ~=v!Lu&*IA6Sv73@NyD@+YTRJJgJcvL?=`sQC|hgU$8`lrXSzu=yuF zAo=gjc9S=}87UPMk5E{=)VUKncHdV&IH0QJYs5CzGB3A))yz$cT*?n1&fff1(=`5?MfBl;c#!FEv zLN^-o%hLXe%p9(sj1T?T!upA|P@XrAm6M46hCJJEGKo}V%ARGt80Egu6J_Ce{L9?n zU_M9q^LK|~KIucZo>v!4TEd=Zuqav5pPW9u@^92I?77mL+Apq0e^k3ON)e2D>scM5 z&tFiUzioZ6La*n;OaI!HfqYfTiqY=@E?WMf;)Q|3KdOhB>58;aT_uLQ1ySUyfM_Mh z1lG$uu&JYZ@W-n5=qkUS=)EozjonjLn?Z%Ks#?`PG$ntMdIgGY_F{wTnx{yY0O+On z_0HT`g=j}JsR-#EDuqQ@kERSAGX?=o0|+Z~At9739GTvE#^r7s8zXR7%naJQy}qB(sLJqH4b@6G#?nKP?0E_( zmLb-{$4ox%Q~O~PHjeQrf|y9pV*0UtfeG4i2mqDy*A(_cz1HKIgrF%Dj>yPZer_boE8bJq?s)9TtP#;0g!YH~_!SM{xln(^y!virYbH+2I z`QF={$X(wrh{$l=LqoV+IbmIzyXZ!CJq1h@4hqm) z{`8PD?FX;k1VWl^K(P zt4`JV{1~A&zPW27%mqh(U#)-?uTmRxWM8Q6CY%|IGZjHs$bBkARw`jy9Jvno<@dBxMnqC|YV=1xg2Nry zJARqe1haxXL`W}mYl=Qsum`oi_D74}?9ilLF{i!| zj%*5@#`Y7_xHKaxW>^uT!Ax7ypVAIsRul(1(hE>Xx&b|g(>iz6Aw8>h|2BWF1O(40 z!>d?xoLM`+(3r3OBaLfmguPDy7oB0QI^mos`8N0Qq6aZ7tCtp&^Jp zJ^F<*(yN^+3xW4GF>8#@+^39m$(nNxqCRvgIv2AXnkahMDJ1QL^={g}%Sx8i*>VMj zc|P|OhZC`sGNM|h7XAYD0T=LjSRc>G`@C*CXl%avlam(nB$Xf|WKzyF@Sz4K#r-Q; z@>z6dBby{tR}!#R!r>X=2Z~K}#kDa&8?;A?B<9&>X726Un3Cd%vO2PRCp z5uA-WxM*778!b@^GC)}l1)L%z9y}LSU1JYGUZ@8mFQo~(zsdhsoweVRE7cqwStnj+{;duOsz5< zXE7o5^XO?nl!ti1pg_e<5M?b-?t?`fo|)z$Y-wb6sJbsCGk)HXNb|H98IIG~elV1xaiM4Afj>Q5;dj1^FsB23k?kOQpqT4RY3571RY6dDc(lnxas*D9Bi%h!hd|P-dEiXTE6rgLyIAXMSNe zM~D&6d}TbTDUcQ^;upay5kSuNxaxiK1O-@{cQcKCck=wcb-y>$r({lrM^crX?fz#F zyy;QNHS;3pwP7HmqM0%i>K&IDM71?p;lwnnloS3`lUZ%gmYgkpwgn`3pf$j87TE}M z{z%ADN!(M%#lAr4qxvp}240CPxQM7f(froQ3Ty=V#U2KP_cdWRA(CNW2J`I~45)WC zMs$iz2y<(q758L^b%4X1>Xc!iKqhm!GHO{jCGlU-iPQ9TDMl7ST*O^-BL(_og=m=N z+(Tx>8jv#?vms}DW_3MWB03$@G0ZL(Ax71$MOCa|kCM!Z*kFoNxRsQ;OR?d+O-)1) z!LSJoar4xGKk~X+s&#bWBqX;9=CdH_XgV?-zz&>h`mu9Q3k+4~?+9x#k+c1-@YpcI zAKl?T|2u4$H#tkKGSATQ*zpc*$uO`O?P7pHE$8YKcSw-4RXsBuX-Iu4t;^Lp;A$3D-^rC??HhHl^$`q&XAmaC-0^P1Nqp3gcZPjxXv`A#x!=9eOQBso> z+yOgsh2tA+o zjaQdg-^ImkeybhzZnXVoS`j&ij!CFGj_C0-oD@60?~=&-%aDZPOo}gz*k=5LQO!0mU3(^(I|~_JjSv|I|{<~_&zZ@H zXMN{66~esjR7)>YeX>1t;P^PK&=ePuZYR8|f)QNfZicXMBG!sXOpGg(Q8TZ$r`n`G zZtYcCogqQx$gOSy2(bnhNG($w7L*4J+AX)LH7`skab_UKTJ?F{0Ll?BGY!sx4=3 z*2@SBdK}0n4i#Dlyw{LJC@Nr9*k2GT40V<=zy-aj|p-Hr;4`K15 zL(}pWYUyl~Vf_j%g=-M(EfL+1f7WTAruWK0tkNt;bl)kHH9eM`d&TM|oDQ`_*!yXu zMS|mxuxhDx2IG`zGJXdB#Vo(d4Oj2Vu<5Xh)xyvurNZJ~{K@T4v-PF%?HwFBJu3fD- zn0S1A6D4goCM!kim8}lLmtrJ4^QH6U#?x|TRd~4VfRn(Ol^*O%U^4i<_R(9!yj z968TL#gr{*B(2)>dw%yUmB^%=hfQk(g7PYiWHL6WS{6k4 z;Mq7KFGbFSbOG*Jum^T z`dcQ;Af}v>=M)S2_mI#U)B@X?McsF3yX|a+6c1{_qYtDi`!7_;hVy}XJ?@&DURP%o zM)bviyZJ8e8smY=yYOVa-`bRDP$XiiB&wGBNyP7)8H zd!a5_OD<6D1!wElHpG|;V6W>ER~tAG$b9D~bov8*qzwo1-dRMBP0~v}dOKmdqpO`c zz3lx9c+>0yL@aP&_u#9_zT{k+z2DBvJG%d4x@028WW4Mj<)Y@H&Phk%-=RP0b8D5k zp}l`KEiqNSg)X_ec$GTg1!J9E^gbPkZ^7_8Q-F;0tij7kKFq@x^A^BP@EF5$qO z!$xo!=B`I)XIZOd;5kKq!d)E(=6_&6-e^j?7|nB9M>84IW=s41%g>wn(j;u%d0bfG zV!Hj$l#8iNpPo#!LwlXi=W3^8Bt81gXqGm0kB#VL+rFN5S&FyxvEjm0BiXn?Tc=$> zKl|oLj6kT+PyK&y){L;%8dTuI_$#jemB&b$d&*9@a3Y1XM(11k$ax@$qMcdh`XxHf z3H4>P)FTE*_B_;lWX)dPn?yYf?v0&!{yN(kKHHg`o0^ukX9BDJ2q59V97AgW1xqL+ zwD(N5@dYF5L4=`}$6|6<0ol+5nuuc%c4NhbWdVi`-;(s)w*vP0*!b(XeqC< zbKXp-`Oa*P>k|L zl@^l~;1bH{l1$nC8^H6tUz6W9BnZ|TyD~WwBhT`wi5;KP^Z==IRSq@Z1JhV~@xx#7 zioOw1=h zIkH|x8MU=|rV_ZRi*AEp><^*&=~fJ!S8!oBLY*PM5M#_mYf-=yWRrn|Hu3DLt00;z z8l;yu`?DEta;~$dTI(8W9(&y=+&5LPPGm?+Abb5AC_?G(rxc>JrXhDe?C#P)8-(o; zT0@w*%EX5Yg##L#OTdcBRbV>@%t!^JLc(?6ojE4UENTmB-)HFHSR>8fXFE$r@mcbx3&cjzV-HRWHksJYqpj9>SMMJE9+ zt0F7n!(E|Ronbt?SGv$RfLD&z9;XqzNzV0=1hJXK-OW&HiTri|T@3>uRxF4QvX`4P zmJk-|Y>GZ@u)F(@17yY0^s2t`rrYt8dZvIH0&w3YmdxzOad&BQn`Rn@MC~)&t%1|B zby(e{rs-|-*j{24$Aw-m)m#H5>*-hsj6N+xM`u?kE1-b2AwAJ9i721tzEhd?mKq3B zyj7^ODSv#@)1FaJ8Dn7|w9kQ6UWRMGJtF5hClXA=2WEgm9Jc%9X87osWTz-pOCeEF zd_VExC2l!3X?3WUN__^`>X4*=XopG%YDRy{w*UH&WUf@jh4wA^;4vCk2}N>VoaHYS zd!qcgkqC< zJEzXiGXTvAE~M_Jb?PH>-p56VYb`FsW-TIa*GdIhb(#G)dbv zQB4_(s(hqwf|{AG0cW%(Ui@}5;(+#c?W-84Qrr6!i}5obM%2vPt{)G>ha~NFyST2+ zIet2CWeIsHxe2s7wGricHPdMY>nRq1cwYG#tdiOD#JnQ)A`TAX!3jcdZ4=p;Ybaw9 z{y{3GaH@ojL08w1r1jeBTE@hF;M;&h`{aw;#1HvpEXWqX&ztT&HL%QBsqY5r6ktMd zqsV!d?%XFeqTgbDpWV*GBh~TawNH;JG=!)tGzdt`i&byOWPfSFz8);j+lF zdU2LFN2TFSG>k%dsQMIJ_QEAY>4JtM1qS3+i4$D8v8D;$ux&Mesg+fA@X=!5=)P+u7lq^S<8K^?JRY zZlF~*4xKSZ+ptVm+tSU>fD=SNieuaOf!3N?*$#e8cU5xr0EkEo+wDp zqb9TiMxmg`#I#En;9RP}v;(ukq9HL&@575b{%fFX8x6*b>pH&793ZJ4?v6$a9%ZJ+{Pp82e~jeSs-w9D8|g$TT--V7@S^6}M0#2jOXDDC=qm{}O;F=BREY2V1DkZxkOIFCSQ*(O03z3?kGSbie(SsX z2zbO^By(%?+-g*-%3oi6FF&~M7Hp-dMQXn-gL&_s;3bqgiz9zyXdbn zvB1QyuppZPm!2;L&dR?+9i|H3hqFkcmAoz&ZU7*S7O zNHR1@558p!wfpq9hD~-4(>|NXl-iDU`T&GS0$Ydz)?lXX0loXbWF(qLP@-g-H>dwV z?KI1ZXAL5h6t>vEzfDHGqZ_4;|414%^1E}-c&*B|XLi$O3|NRqEKP#3PD+{lSsx>n zk~+;y=zgtVTb*O6t`Y4Ps1&WT|Wkrnv=o=N2F4r(Vp1jttv~9 z;oRb>=lETR4;u8O@cpqOz9rJ2{e6a(?^Oi7kN&6w&lfLV>OF?qZJ`xga?w0ua`TSm z!+HxF^BVwzT(nwgg4Tr~Tl!2EMNUi(A6AnUhuL)+@eUkg>?ftF8RZDF0>Z{RNYbDL zpZ+xYX4Rm!_WJcB&xkKMmDX6NF7+uE2OL8pEg4ln3L;9q?5_S8!ly_(&;oc-UQt+p z4ad;*_f|h`F5>#eVbIOy# z?6`npyLtXLuO2bE z*gG%Dg`gzE^5))tv{E={oG5Ma*%Twy1@s#x_o;F4X9<#9g`Qu#)+)mqV@FU8*30Kf z`1Bq|8BpW$$Ptu?g2hVH2p?~8J!n1_=s7D6EAM-5kIahN6rV9ba*D*ga17nG?l;n~ zUJn@Nxs9Wg-nfchMTf=aIY`2ePCSt(C5!bF=jwY?h7rW%AZIq=M{5_m7+q~2V)BAn zl$Zqm!g21rAn-lH=U>O*Y~tBe5~qo@29Ci;SLoyV#QF2uGwJu`q(RQ7V$P;(7yN!_ z9G2fO?McN{i8r9J3oD|q%^#S3qiPvt=#qb1Hqt;BxNhJ#fW#&Nt;dygj89lPk8M<=nw2hgij8majhQ?|;ygij9 zCQG$N+yg$vBF+D+>URw5)N*Qq6lpQ3_2$D$VzQIyllFG3mjFAPh5dte1WIM=3rG4@F>Jok{u`!|qf*8$B`ElTqlSe^1|VzV2P%7T12_ zt5OY(eI5)Dx`Cs$03EE+a88}8y9NhH zO`v@8Wv&D{<1Z$|82v|ouFOudH_$!8ddW8{s2mVeX0{xj1K)%>g7=XcMj)T=2W2X< zkJI`^wag64r~Iax7`O++y<;(`7NZ&NG;TgA*zHz+)esVn5h&-Y`3}Uvg{I5o+*?Mi z@v47TxrM|)qrb3L|5(|#5>mW_ha%YC-Pg#A(tP$2WJ+cQQM$)4&btUV5~HByT-!YP zv+;0zCJ$~jDW^p{4MQvl&4&2lSK94NGR>`#m`Pe1cY2_@=h&|wrRwIPldVsVLJK^J zaICiwgeXz|R|yfs2pG_7|LI3SOw%=j8Qkzt+q9p#fKkdR%A#DMl+ zP*Z zdoW~-JHG^ghg~vlt>8_pr-hHLj6R0vMonD;D`mGE8EcATDvlwxP-;MDaF05Ufh@(8 zm|O&z4CjL)v{}VuLf0_4fUt|m19?TyhIS`gWoUdG&HEFE@EJGS0UcrN6Br~+o1qB6 z9*!?Pwl&|Co+jh#UZl}>6v`qdMVFQi0D6;!_#AR|ZDP^`K^HRBFhqLX#_!_wO6c@| zV)Ae##ytGDiX*;q)>8KSykz%cD!bt`|6UG2sKU2F4xBTs^v9cM4%NueL$0lp=8Vqq z9IVdT^JKx0Y$V3G{~+4xz&0q+E=7g|qQqIQ`p$uvlyObfIjw*1`5>F9ogp!4ncqL) zDiY&3u7!RBbk+~aK1+`69s8Pp@?O_j!wL~;6tJFuB@?bB!UsD9OTk)5%>TvGB>|y= zTpCb>LwAT2RiredN`u)DD?~|EQOxE7&0$MBoJ39odDWqrAIXWM<8apba)HDwwO84n z0wSjQyDeFg-6aAH{oEcn8fsCkPm}nQ{EFB9%A;o@SA_2yqwy!TD5sRh?U>x`%LoRn z=jY!0G?c_d4g1!E<)OWzy#%^=#1#eSpI2@pF>hlH(w;?J`FXn&-nD)*=n8C?qOW9i zs?vWM*gLkVD^8mLL{&j`Qu2^jgXFRI7D)yQN`A&uz_rWYMmtElflO$d_TYpljm+8J z0OM%>BYT-Ai9d1VRBODu9mASXIZo>aQ5xb2X_H%}<^Z?IsCF*`4%ZcZVnS_=kZ>Im zBXR|{=Mc@K@G$N9ul_w3zwAj)F=B%I5^qQi{^So^sfp@uMcQC8{YnYQE3vpFOY2?+ z+sXdggoLjQ6W+WMHN=D*VGY?jC_+dyS|s3D@x}AbKsw-$U7&HF>{$d4I;X77ynl~t zE1~XsDvp}8{MOhRhLGG*mNnW1&n`Zr9Zvk3Y5vS`^#(DaN;D@<21e@M7d=K~OmGz*{L2aGyrUmh8KPOd$Kd zNkx>=Tv_72QcLg&T=y43mM}T3_G>t;#w1#%mYLSxzH8r;6i1uI&=C zPa`pUVIIv8sHLWc&pFF9&(ajx04r0jFlhp-Qrc4go5L8MJNlDP?_<3xa*z^qhl*O> ziq@r^1SPR&n!OUMeV2Q6U`bt85OMb(J|nSkyL-?Ql%~~leF4$xgtrLQNZgrx8kxSm z1Fp|snKi+;|NPjGEW;W^^pdjXeh`Ph;1_#4n)~zowtpg5vM%A3kQQNcKjNR~^%t+j zN6rH*#wd%Zh^qpDx$XLgnrYi`Da?7+@SY zBi&0+$W|cn6euNm>f!p7U+@kF_ViWRr-}Fz&KcHO$OY@MURDj3nc28LHg1<3g8`rj z+8!#Hgg+3!!c0%ScClV#BHjg4#qg`jESD3 z&E{>kgjb=$SJ_eUS3DnCb)I0oZi|3ttucsmUuZ}B+68@52xsK_N(%@e4dk4)Og)cp zJX#68%)?4J`;oVtz>UM?l#YMPKAXxPi=P>T6Zs186jupKSKJyRV7&++@XvHDEcUmS za#Q>`YLQ@^XlO!sHDwZ&o7Ic>zgYa(b0CDM`IxZqWG*}}{!E^RoL-dgch#&pTuIm0d^Q1y=&lgKSu@0_Sv)`6|Xhkn^2NSnS@Z1L!_+<#y61 zmM}Jw8z7}>?nB6{|NY|KfBt-E-*mee{y^eu@ti(EN#sfV1uq)G#!{GDFm|p!JmxO= z9!~s^o4!in|3A3jldm~z2hSJ$9c^S%;SVYc7V3b4hs*SlE%1?%uJ}SRps-7yHw)Na z$<%yA$&h(A_1@DF2>bDTXN6HzAT5ecK*ZYNL_l3_K}`tGuiY!b0H0B(ua8DHlB;y(KovM4In+VrZrzdICu;{Nm791F^Nn-|H(=5{?-X z;aIOaTYl4i45E?Dozs8h+$7}tqw1ZNOcM$oJ)oj^lI4%DJ0<8ncFby#m zA*3pV?Ax7>;Tk|AZuZ@E0gAN;)4%jBdl3hP0r4)dSd6yA=fpo3>fTI80b}Qqsb=Q9 zzb?8&iu>>9pS8Sy&i)P%#>t8qx&lQ^*tHS+tAl57YTtQ(3c@SHeD61AxIS;U*IMob zS+a4)9IDm6P%kqwx}HW#VZJNLfX3*3b%=cm!qUJlRilWw`cAyuN(ANVjw+L;VYmSa;mB98tw+aRL!mub zHMxvskon`W`35LGc?^ zA86O9*7na4$tL-`w4`}DVM{YzTpvJYU6UBpTlwkh@cQ?~ioSslv>hsN?V9vy2n zoV)`|K+u;qj^PqXO74v2X@S7@{Vm!)rZ;x2)dK$p+34el=5@ftE><-&0w3Z5AYzZ! z&MN|sO}Ek!^j)C!LEKr1hetINH(}?Jf=5sElAnDe3PSb?28->^Mf__379pRB^CI)X zBFm98xaA~dl8T^YVoPNtjgGB*(%wUnjwqk^$z-PiM1mp86)C{&WGE<}h4`l-!$FoN zN|24arl2p1iKWBOHOCK}Z>2FNs%Zcgi@aZj4Op+NzhY{yBS^x{uJ1&L^lWw=)+b{~ z8IY!e!!(2?nOW`C3cxF3;B{|8&xWEdK4$|}!c=#|g%xVYcPFotA%^rgU0ixD6VWWn zp5CTT^t9E>(dxrGao%C2-ijbyXJZr+ozw$A+|aiNG@l);sW;=0jS-dV>`jp*F>X)# zgUu?>I<4AO)M7{Ih_@JFr$)L2@tg3-SRvf30O0`?F@@7`V%Esqlnf!56=*XXtzrzD z|JXa?tAuyzTz^N9_zj-LHzp!>O+W=okBK;`U{K`RW)(rZ;3XT0uu|KYUIZdwy`7#| z!wP;?VG`=U=u>I(@`!@r#^}3^W(^+Y0$IQpayDJ4Pf0{|z5> ze$p{&x=fN3F0FpD1m#QS#G}ZWZ#KV0ad_sbf&{CIB+@;P(p1UY$f0%4KZfrRGa=we z4soncEQrRN{IKeN-qxs>5S+J`ocG-gT&Lm-s%nv;tD{F7W9coVpGWi!2_?6ugV}5s zBWErR+lFM_?&*7(e33KF_s{zSVVRG_$yuv$oxx8Z^LzJ<_ya-0A&41>v=Byi@M@sB z#6%f4@z$k5QXDxFr6t;tby!uDw0ZAr@akx4I-jl$u2aV{$U->{ajywPZ;}T5%J@=P zANn+Yc935?dL}1$B|V|BAHnUE88;?@^$P)-8;^-!R8;*vRKU1SyK0S%XLw;s&i)Lm zZ+fWbzox;mq$Poi4JqKiSPNo$*M$#1es7uI)oU@aaQ7f1sL0o`3gJ{xhE);X=(|(< zk<{_frvow2!}Tpad72z&J}rXEI{^r%fA3xKf%EM&>7x}ka@iD6nQ|r|1nr+^h8>X zg~ZF9#G|M|^ia}Hs0P~B^Dm|kAibeIf>R%y*Mv99S!+0U!8)cugp&a)(W7O6#*ZC2 z_6E@ZF)+e1Wy8dHE!V)IgQm5LkyzhQjW4)uT$h3v#vv~8_PxocvJfX+m-74_JjdkK zxBfQM-cR9snMxL?o6yW1z=e>42_50DZ0GG<2e$+)B+##M%PZ_18vkjdF5veziMu_$ z>__7s2fx2yS<0D*^?iK3-Pr~mdfRxdNEPcF5EplE0e-dQGrgfSazxAO?&ojd%%bP} zfuQcvx73MOC>^1hK$y&D(fzg}{*5g0E$+j13%=)n+Rpof-YjE%xueWoMGxDk=S&AG zZ@i?_xy^VBIm8Sjt1bE6CV7x-P&O=7Y-Y-P{1Yr7Wh&4xxChRpCYwJbhyU+vg3zI0 z>&BcncxF_s#C6(zu)uTEfDa`)Kb@u)K7K%*G-di+Pt?g`!6vIL!S|9ho#vyUslftN zH`29-gh0~!KPEq+Tn$}H=C2UiRaVqFb#Yyn{bLPSY7F1C6xk8fi7XkrsVt#g>dvgJ zFmahF^D%{S&rqQtyMNj&N@Leam6C(dE~~?tTphVstX!ADvB~^ZLV}_N56+~pE_^SD z^#NuH*Z<5>Tck&96~=5^HRI$7qFSKv4xo|fD9-U=*rtr`YOTtU5M zs4yHAg_qXytrYH{9xKqXnA>1|lKqkz!h1tMDRh2f#riDml+x1>m$h}YjQ=2qwk60z z+ani0lFKNsvBBN39Mgkj#AQ8cKz55~{$v%ZA~u8iyj*Vz6j?qYan{2oz?Eg)`c|rE zs5y$g+!-B84WoVAv%&o77k#-DuIr9Wtd$2rnZs7lAs@cSZDl{(Gh}Ywejo&7PG1#d z`-o>oK!w=LViqsBWb*y!;Jk5U(XDTZ9xp+(&bE;D|H}*MO1S^ioE)0CFgLBzecbk_ z9&l$3F}bE*{~Y%dd|O*fGCW=2QYGzejO)@gzLgua4!Xus9qK!b;x^Z0CyN)DwxXR7 z27&^n$gBkgVTmv~CdDs^MbmF(c`^e`qb51*#g*{;8?~eF~u|L{iwGe?6R4qkONu%8a1%U#qz7S@`CZ8mV~{)K3tbv z@jF`Xo`D7hDRB(cTH|$O=@6?E{;ucn+H{UoifSv z~vYJ7R$QUn-h2IxVdxK3Y@9x8)%P~x@W+M39jO9ISOTFuhW zQt3R3xK7u{x@i@_X5i=0mM=~jEpq5#xi8OQKmn+i# z&mz}BeyqtG#396E8gA#@BGm4SA93Y{q}Izgb}7PcO}`QIVbubg6w5jnTz!UB%_QHM z6c;QK55y*#mL%tWZ_AhKP*^{$symL)a~xCCjP8br$8$OW6{d zS?%a8)Nq|Qdrf|c^|Tn`qp3G=oj{WCl{Zi~Nj~w!=*SreGxPGN%{Jjb1DwNnJssnF z*)_uO1zSSWw-v}z_N&lyux9%7vZzx3(T<2vtz z0RqULCbjW**^H~5cUi6Z!pCgR2Wlyi=)0?0FOw6(oQj_D&H3Ou!;Z?Cr=U)+#=jJ~ zu6Du-`+?a^!==Fif$L22els2?YQo$}YORrRyy=adHP@_57UNHw8|K8+)$bz- z#Bt@A7WG4&I2igOSka+8%J0JN!<^)=9*jpI7A@`P&Vgf|M4DTqcEGQKG}P!5kWH8L zdY|aUus8r)lU%W!?3*C+0p&VLM`VbvXf9m}GW!9(ZDu#&!W6N@B-H^ruz4BhRdUKLvlu%Ok&}3Xucp8rc4BTY1OskjAEYZ0O}$ z&P4QJDRq>;2X(sEUS^&dwdgSmD7cs)yD4LWo^Jt2<@D)8&dc`+VQs2|-zQV|_|F&X z+$2d}-5NQQb4$U0WTWA6_4;$FNknmmQ}J7U>^!pxYokKM40rm#&=iAam#o!#UMEQb zFzAKEL7gnr+UOF0R|P2O#s$Y$OlCSR{6ui8FtOBHLz)qBux;X(;S@~Hm6S5oQHL9rl9Y37eDCTYIyS1+;jqGbjCvfLEkezZHiq~N%<=2R2y&(DN$QVroeSzIIa=#&A+b73M^#*3<5Emg zQIjU^vPOf5;`8hkDR|eYTg_E6AWd7OA`OVp`c_>~zrCk7RXfv9rG;HkNRGE|Cf;I= zrNxVEwN-T(&W-|wbz%))$ZPC^E?e`TW%OMg)(DUAK`>Y4CrN`W(mfi$*iIXkD4UzK zxfwN+(OwbXkRo6`oHe8v02F|MV!>&HOj7GfnKx%i3bbPJFZ_E3)a*t6X7t`|3{*CM zHpImJKQD0SCB5eZG_hxVeUS=)(ih#Oww2X%Kgktkwgk#v=Dc#zutZV0+^=)%dbbD7 zd}M){`Tbf)rdV93h(wPX8Km7nhMuk#*D0ht!mXmYB+eu2mPGu*l86&F4@=yk?Mg^E zty0hP&Lq1IX}6LL_bUOurp^b@D`?^^Lj#rjM^#(;)MK>FSnm?{-DusY8Bf|Dl$*?& zOKdl4ohUGO<+m*o`qKnj>BxnzJi~Qf21sm&CGwFMB*_D{?5=HQ83XXXvOXWYS39MI zUy^6`Gf5fe`-hr{~RCr@ndDJ8i=nqA8j9FvG{L$XUsby#QiIyirQM4#AhFlc$b!4T6F zpO5jn!qbDN9J5)t)F-x)2k)N=5#2;Cu~=AV zO->c6HMCc%`>jE>_=9^@U#Nzo z`Z8QTT6p%f$axrtyk0+#a;-6NlOTj-+~8f;kLbJPC{6>80sOr; zp-xZd)5Cq%gnob~K-5YCOiT z@4iHx@>&D`#XkQJ#2CMaUUbA}gU1?y>K9yLW1EzdTT%W$j+r0RD^`PNLpGJ~Ob>eD ztqY(Gbx-U(TV-U{Y2+C0_ZKmW)CvzDfS>3_Tzbb~9Z*$4AKy8jm<+%7)nC(wjSwuV zSlrQlyL^y8n-?gKQFFCifO03tCW^f=>5fLo%UQly^I!W9rnCO04 zP4dH>nrLsf*bv>t_1dPj`)#_a)85A`5Z!?h!>NqsfMeGh!&OW5+CYdj57^V+auJtApFJLzfZ1IZjxUKzvdXRfv@kn1?fXoY z`#DTTpHuaP2|HqX7NyO^C3P{u3M8`eaXAvUj2Nr^V!RocfY{}md;tWuKdQrLdd2R-LrJR!QHl zdc+PSx)vZZ5}6+%w)B1s{0W?t$_fo3UydQHjtFk454tzOL|S|{DfgM3xJ<6wT$h6N@?PJ5 zlm@?AB-Eh+!g_f{vCdI$fUN?|TC;%(2+NFy2P-C&j^z6{c=$X(wze?r2wXwM%E1|h z?2|j}*Mt3PdlV*}W;J%c1$Oqmw%_(#)xflh9_!`N(l=mE^tc&;i*V`bBlBZr1;P_6 zm3Kw*3(rCwn)$VV_c8$r)6uKN=_T_IzBvx8XG&Yu zXSG#II>18vW^_+I5|kmbj_|Ie(x$u7gCbBJB$ljI3e@DLH4DMr_!+H@FVGL4TUvwb zpzu7OKO%;sIwb0;gCuZr6@Vz-)hhM$V}<* z{P;FmK!*iCO-bR^Al@ zL7v7BIy{||sR>uHV4oKsWpsNV76iS#0QI2IRIR$# zCkP96dK<1jr{iW@$74xDP?WBDFtT5n*~pTpF}!lTY4r;Bqta^IFrO_MiE5oL^KFAe z>TVeNsP>?ct-sj<2N0U^JY4+CPB1 z^c1LK7@X^r-_P$5mz=+yOs9hdU-F>eQipG zM|A`EI1Ukb$zlK(j~o%lbD6K*gTkIAy^SIH#yp--*dT~)e0)SPg3`3@*te#HFBUto zN{SM3H*KE}NMgYrEDiiHG=dsKC7ZoLxb9Fyc19w+oQuJKCx06O(F<55RRwx_F51bAzwe%-YAIZHvMYY%)S5lLfsXCgs{bOER54`* zGJydDQ-ES80fjvj?aQ;@_pGmLB`_JKp zWS4S^g)pS8v8x+@q`2)pf5?zs5jwyFXxfPh+^kz~{vx|Mfq?OeLq(*)^qR0f;iVow z=w@jIPnIfUwBR77$RtjH&61cPE~xg{VjZW-E~%D907H%M3XA6k(S&L3L-9 zx{3YgZ290zNpnBBH3Im5!Yh4fs8HK>l+Tgkc)ZdezdF{V;BGaoR4;?-ey4j=+U-o* zH7QzSfYs{jI?W9W1xFf+CTyH_+x}NsFM;*&)sOgSuz$hTIqV(6)?F<6%2*3aQVO7M z)=WTl(^iYTu{yfIfGn;7zil_wRG9c#we}A$|Q};B@7Kee4`&ON};*9a78LKkGP`B zJ39Lw_OOe`uw@yc$zbQ0v-WM5GG+44D#}tY{di#QTU5uftjllQ$dNoH)#kU10jf;I zIwmwydL)+{qS!tuMO%-C_hr9;{fE8d16C?MjUa-4Epdbnz8`rct)w`C;CY%xMq!HV znH_ACpg_Z?=Kro`4!keY7>-*nBPl*=jjxi>bi2i%@65W2x>Fy<@dA4%3d-p&i-ucV z60Cu1n1wlWK9>Z!9I#D8A08KN$-uTTp*1X@5;?GUvY0FbjxY}eT$pX?w!ZluO)Wn| zd}n7*O7KakU`TUfP}3yd(eTI*WraQ@_i+Yo&*|`7wlq1BJ^9Z>Z&O5nzl2`%O}wYx zqMvb|)`6#ysj>hsj=w1_&ja4}IhnFePtUkB?Dd`K?@|BgIVT3*OO7Rr^SR=B9=oAE z^}`-6q{mY;KZUn3N_o*@kUeDgn`#_Zd+yl1bxm6%gza<9S!`Fzue}#!0As-}V8;D#*>yNsryet@djMdC>P#m>eJwD3iLTIoq9 zV!Sk?w@mI9VX^~%mN<*3F7#uG0M;qpHe3UalH=4O3B(RB;Wbw@h{bg$g0B8nO+qn* zn@}-`;kv_?UouI-d1|cm;(nqZybLNzdo#GQU~Ym-0qBAf4*kQ|doY}LN-g;gdy}&i z^c&N^W*Qc#CFY|aFi5J)JBK0Smo`AmJ7;eRpaNxTtY@%{aF6#vZ#Mh9TtV_zE68O2 z059=2J?!0h#L(VzYBm|E{g?`>vhRQzs~iCMP`yWSUml4&*3((ni02o&y;=kRIO(78XD7U>=XTkQ0`PC& zst2A8oClE6$Fqdux@1)g1clZveB~VIWB`WYuzEiKb*vX_TVlZV)h>Q+@qr`!MSgYd z+4o75#^4Kq1UZr$NIx)0H)>J1|6`3c*6T9O5%+Lp)`AY!8l|@Mlu2#}d z#v9SLWYGUtzc_QkcKr{s|NK$VcO%wXk^&Y>#ZrLv(lvi&o*p?J?PtnoA}Gm0OlZ$=9SPOmvt&uYF|gkVGQ@RMvCRH08#*7^a*!-a0gyZ`0ktZG zS0!P0HAp!{6l8Sy`dF{aRB`d+941G4l62Nt=z9@G#+v|_03ba_0ov8zI(zRUp|8(3 z5+{W>F{q>CZq>z2vr)hr<*M(XZB@>FouwDtn`f;6jq08wJCkv@$TY~Z< z8PQ$gh0fIgtXIyRp#LmaJH#V6?8OO6=6by;pV5AmAN1GKH>%`hBy65V_g&u=H;OAn zyaRmHNwP#Y!`r-xyd=&+&^3E8fJ@;YU0;mw0McsoV{xylU80uek&Qe!t(TF#UNa)4 zs@pk;KU7hEFMpmdYX{ng6(Z;Z3{5z?NTEemS8jepHi`{$B0Hn|{@=N)+#_SAo&QMk z4N1J=yU0elH!gx?QGJRb9dR;ade8IM1Jh>Cil(~BiDaaC>M|x7W1?F>f7~-xl3J*3 zQb8I?9xPJAEJ%7YrC{rvNNQOW{WQ?i=;z%}2I}>?#;p7{G44tG zYfe1Wj`F7QP6@pK(&I=LW+!m%nmp4gIcjq$|I38l{j9k(hVMGwoY#bCbzyemCAs~1 z7|Q=muYoCeQ(&gsl#YmG_03ujtP_9uQP4je`4uykXxh!HW!6UmoLfSyxjS?@H?f}t zD=c_fdnrFO`RrM&Reg&iuRom8!2>|uG)H7(i7T&3GltS}BA9+X9^1L`j7BcmbX-m zDdI?d+Cj?lhfuqh${AGX=zpP3gHPWxkqQfdxf4LpX`{6qk_7YyDx4q8Dhv{j-6*rvy{+3gs3NsA1YC3svA}5(uv_-0+Bd|SbRemKC^vv z5~co{nb%kg*<>f=9yEn}nQpxy(9DlRdKAlU%k&V$`Nmpv7qXaAkMPO*%&evI`(OTB(Si zRk%c5-Pal>f$GaQy1TsTAb%L7dCZs~WNuD$?QCUnw}tE;jXP(i!CT6=pK(ZNa6{qa4*9{c=I{&4Q*GI>qUTX{NsfJEi**UQ=kaLOmtPKXLzH8 zb$+Lq=}Z;beX;}O6AsxdeD&zKpLMF0jbM;y|O6;?NKMc-brmRJ%4dS0Y&X6e+#&uR{4I5~>*(7Z-0lp8Yi&6Is>m^_`!c@;)(@`iOf=g3xk3+@ zo~;C?Hfx;9h?cTYVuO6@P*H#Z)fV}$8Ul(OEb-Li|mP?W$Yh>RAapZ|H))LgZ}`OqbE>c z_*j(CA&OrKNqMD^DGF&HpP}?NbrYnUlDe`1Vz9(VrG@cao97QqiX^4*(8OSG zRdg#24_j15`+dYkXErhn<0}Zvd3bp$e zi~mz`X_ls|wRDRRV~vs|c4Y>^LIL8ZWQ6ml4@cPfics&&$Ftb{asMtHIE@g<0fi%< zsM(_nlK%k53mZs#6Vf0AcrgolaKjOnn9f$dAwF`ps<}qzGsHBS9j!$c^H1Ot*k~c!Fhf8dw)%jZZT+cnWmN)7@?q5#w0#KmzF|h%&5J zj{K{RNV+~%u+0D0Rc8+3YD(bc(p<_BlUPDW(ERr+O=0oGiiG>O`EqVq3 zAIQ%R3?(Rm+H!N0iMuR$D0fz;dTk3nAgo#H#V6w3NBMt1b&wMSG{WdmXm)N$Du5Hx z&Z~BMFTR&jaWL3X1M4kssO3%t;H~yE&4xrE%JK^84!b(|5^90Z9Ga!YJbc!LXv#km zys8UWZ`T6Yy96|4LQ(FzF#wo)tn@l(8aY7r#ofP0b%e<^eyS@m7vA52WH1_sCi;*u z8htup){5~ddIStJL_0g=ehMkeGco9DVZA{}?@C)@oI*(2Z}xQ5q|B$(G%{kGtogKg z-Ut{|Aj%?K57+03$b;R3x_z%N6Y(Q4^ZKby`jHcM`L3C=b4Jkow3pJ9!7f~qoh{Ln zfqAO=)x+Sf*Ga(?OFANpm1r#`tczeOW%cz{@-A1_>*T4Z<mT13&bM)h-u+5oh*#Uid{e(b!F=JuTm9Qh1q z*MWP#&GWj1eM7uXH9sX?5E47Dn6%uA1i)h{ns4JXDx#>FpDEho$QJ-H%nePK0w{I0 z0WmJ6h%E!EgqxXTS7RtV7S7?7Ikei+o>nz}W14V(M^muN; zIg(J}@uhYw4g>GMsCmx7qgllMffaGg%qumL$;P93Z2F=?S{^vKTqu|g-*DY>jy^Gl zW|$+6u8~T!tAo)2xM;%il(hrHobLN~Zm(b{<>Ypr-0Ep60m5>ApeYsQI`kIs4N`OM zqjjs~l9vw%U>IjOK4*#55!n=@6Rw6jEkv`1^T*IUlTa~T>9@%SGBxAA>3B2A<96*j^5QhEaFBGz1VdzAGv@Q~ij=C(B_#@%`Gn5GKZq(-a8 zt_s|7*`@84<`6mm1P;B=Xv)EZj9Q-&8}+O|g@XIcGSaGa-V~7C;t6ry8MyuppMa3R zP$$wKWt9ZHkTPoniG>{!;=3SjDo1pC-fqrUh@JmIPUg~f9hgZdobzcPJqZ{TN-&N|*7-tfiHsJ#)(tTe>V&l=f5fD=`1 zoSvM3owvKGm{dlLtFj9hROo4{QCIj!hNg6-Z0&)~eiPaUHuYxd*aa!^+_Vp9N)3x^ z<5t{+T@LOXF)JLornp-BMjDEKV~RE}f@XeNHC%9`t=K{RUBoYD8GnV)sUnmIu;u&q zo4J&drcfQwK->{wy^@I|k6G#%&{%7G^1azo0ZsYMo>Q%R3=IBxJwJIy$D0cvR5pyj z`}wQ$GU#D$jcK&Teh19%ltX+|(u5FR+NXaCfeVtV?))nJn3<X(nvR}K9P-*T0VJITHYY+Iu(&ev*2FYC$ejM6PlBNoIPu_mqF4FcOI|~?T??z zOrNPIyF1aC5JK497E-^QafOcEUFU-A){YC_dC~`&0QYPpRQ!=<|5T()bZcX{lOc#~ zdhjzxBqyTJ6_pfGJ8HvJK$Dk@_FAl#DNX_EL5N95712$z9c}mkJ1^p;uFr{k73Y9- zmqIobi&@HAtiHnCW4LYv3E4QAg&dqmy`Y-iD6aT(Od*w7OZowj#Y9A8>BxYj^|w8e zLiIRGmUR1d$_emY$)tFn!%7By%Hl2-xKN!Vz19pILLtb)J+ap2U1)1V6bANCG&ueQgba;BxP=N^36 z3tX!A*V}iZI9@KZkdc1f#!ODqf{u+ia_I;!b_{t@8FzS_X(7xd)`s z8V#R*(ECUQNQ59dOukwE>=EC6Vb&Cdsb6i4OEk@j(GLgw_48?RzkV=w6Y>10v-nUY zUQ`{T!*=hbO`>GDpo_)Ao`6Jaf&|j##62wuS zw2te^$Z;MI-FQ1S>uc`$9~@FIlVY3?{VFLlv|+Y|AjMTLm&n6c#N`E*`BqUZwbjPh1t~C^890MeSWof>0~X`xT*bjA{p)^GJ%6 z(j0ZJgzGFENT_Qsyk!5#r+Nh3y=FC$%S^Ea%jN?CJf|o7 z)rLf@QGBX(DgdAQ`Z=x}4yiURN_0Z*42!_7Ne}CkJWV$-l0;hfH`$ z1{-eQE)iuK@ja@>Bkt#BLuOdA3Hy)^4}CU&I1h5C+*`Z;yUrqQ%~vT7$aPcVcVR{% zmQy0IJ_vGMP-?nVY_*3^WP4&Tr9yFRFFHl?OeC2g{CeFO`7 zoo2j94 z$cxegy=Y)M`6IlPx?|wNMNlDn#fzm7;~{^MJs$mf+`ml~l_wDRQlqQ3fXFpsoXHS| z*V~^gQp%PmE#--na5Jt_rni<^iw)?#H8J7Rs3yjnyq;#&AJl6YwaVvD2Us?k4zP7Gm0vBY413`64jDOTG^3EaoD~X*t z?lFdDmyVs*FykxD03*~5P4f%*V3Ulm;)gO}z9ixC)cC3bWyn96ne|8psbBZj-QpT- z)pJ?L+&+>%5Kd@r)iZIq-HAbb_chP+d&Qtx#+_%DQ|>JIUui9)VZGuMtl#^D-CfT+zZ4OZu>^F{5+JT6%@th{Lds# z>Yw2Oc&O;Z{yiP^U%@b-9onRObS>$tXr0<_^S-cqaw6|rX6!}k zI4lv1z~=*-7<=S-t8G#0D5+nB}TC8Hm~GOyAtmLWoNztSr7Ukoum4H(01 zBganl<2jAT5culb{PLm@uP96Bpfh1!nxUj3Su6n<>1K@~yh}C;6DYA&zSE(;ku3fL z$|3Dg1S6G|@K-d=YhK5)t^BWjwI{TlXd26xFGQQi_gv(C9D`OVD^r~B5B)zyoeMlu z|NqB_VKmolu5-5}_uNXtTtb#hC6aOt#cWbDi`?(I4Y@=}eO2^z`LfB#eHJ20$uXNt zx-s3X@|FMb|NZ`t{~nL+aqj2rcFy^{Kd;y8NsD*QOf-1Kv*D}Fl#z?xlK0Ozl+L2w zwGW0!FJF5iKsLJ%;+1*}b@npWY7!cof5#sWqm1gqsg{9C+j%Hj!9G#W*0qU(L2XN1 zt907(8`ZdlcTE3Z!h6hTOF5}R$=o@&?q{I`*pBoe3G?sqzMvM>AB8TiH zk9p!Lq!tTwJ841s_m|*Qew?urn1WeHkCHbX4ttqa>3U29K>`^{HzN$0)g1Je(O(Y^ zZ1(8I?*b1i$D9?6_~g2U(XR|CnUu=0Y^0f}{epmSGrnyfr4l|SZ!X--O%fRMe^$7J zzDv<4l$j;hK>1J*$whP*C3s_MoUB@2V}GDXk}h25ulem~W~Hk~ttFouOTbt4iDW=_ zmu^xfA|AmK@MAj+clP<2)f$K^Sa6e!HkM-*`}{Wh@DXEGJR4cO3P8u-YG+St2=tR{ zgcV}0XLd!nBwvu`SxM@Q=UK+nMztYd4^6YJB(t;I-A4V8wH~>9-jP+)jPe%U@wcqh z`04}666f5}jp5Jy-t~`*YYTIeB%%MR#Sv~9AqMt_a+9!*s#0mux3E=)0el~U%;Q5f9ph=3eg7)jywFEF3iuiI}^FAe;}ZCkH|A}O_IR_6)zw}>8PQC z!xv>I|I{=aa8&pYTTAu3vRslt3}i{)*Ylfw(pRgE@HM>#*zJw5<81IttZdLDn6sz_ zAD5j57}$4$hI!c&ytTXZ1DZ4}QY03&9z@pB*yugc;c6K(puJ!1??E@5u~L|1 zqYY^xTR)aBM8dpWGbmWnkUM9U{n16OlZk6?n08>tZ-ti%^vRmfYGxVfB=htX?V9%9 z27;4xC0j~)Yx0w_zIT9NQlv=%eu28%0zuN40C=IT{MI8TurGEfrLyrRIX0kotMp)# zP^qT5{Or_H#S@-hiB?$Y1omB8NKMMOcyjPa#RLXt+;kucvlQ>^e8?gLW-jktg;cX+ zQL~~?xDMkf55BZpRdq*+a7_Zf4r9H*gxxEHTS!ZgtDan`8&!Gl!^Bp{bLPh{Bc;1U zUuz)P*v2VZ>Prt+gVIM#tM2 zoJ6}!u_I{#ljZDTo;0@~3|EBye0*91BU0so0~0SD>t1xtzy)oNUZl+nRU5f0cVFJU z@z}q-i3+c7Y~a3i+)uu#L$k^(ZIV;rzU?J$KH& zVYTm?ahrRwW^r{GWoz!+adVf#di*WtfWLy=xM%m-G|M~TZ`sx*^?&{OcwSv?P#Fz` z9MOlqkXrV8GCoYh`-l%MpOKp}BlAE_<+`KDm< z-4H-9JHl|VoEBb%d5}{YGO@eRzMIw8k>(1gW2hEZ1i56p@T2E zep_O9M=CStR2B{i{f-#5hYDbe^2PWN1YF(&%+#S-!7^ex%pc9-tVK;dft4ef$Mz|0ogD^w~ojeRy4a()gX< zrx4`I^HHo<#WAgKOMaJsG>BxSSAO<@G3Z*{v*M_!bcP=?@R-PReXTlg+UQYecCu0I z>tv6p-1m$6m%%8(5(nGETePyZN^!gt_}x8=e}ehIJ^Va$@%ekd&4eE!w6@5q(ZqSkbc>^*G5Wv6pIea zsMV5TwJS&$9^tf86C zocoC#R{QBHXH__Xg550)>u=Xts zUaKFO!W8T2myO`e;^bkhSslS62s9+vDn5Cc^d9nNx~nv+P}xz(yc{~NlkQ2sEDYIy zy@-LmpEw@+mcrAmMWuU5%z_ygd~XSs^=j9CgDURp_mxz&36`1;eyxWW+G2}pRJHwY=C>g_@H5bKYwzAQe>rxK}lP4nD?>iMR*TtL}xBuKeXqmPw!-GCi!u# za-}k*J@nAK*UtyII9w3i_oqV(#(kL+e3@Vr+ z#Nai`BMVu&Y<0kbQHqT zzYIWv9Rcz+5oCdYHxNR}Y*sCzhZ?;oJ5(QiE5Per(x)%gC9YC`8NrA?9nbp;4KYB7 z_vgoX$_s5^l#QG#TYoNC=F>r5wHT-DHIw0YO#|{)QjY75xpMtfK6tXJ=8N}OL@9>h zhUJ8Sklov+hu};H^{}@beaj;+OndvtGrdTa=rSPWV0va#A9cN3wzIMCj5J~Rb6Lr76S`5EuSH!xwHG+JCv2! z=;@PcLMkad-C}D8Bncc1gybl%kV{1*n1?Ym<~5u6u<7sBreO16kF>cw=uLZU!ktwk zpHIpVn0z-hGT3(L*5k)KXDuFcT#EDG`Sy(E(>;lLj#=dkt)%6Gqu&ijHnv6`BX zOG_wU?FT-!MdXN=&!b$+iJz4|w4b<=Ppb15Fx|+Dv=te-$FM@CUxwdIA?k|m25kXB zr#ehL61szSaUtJVl<#_~zkqM$4M`qz!3yx?iW&vapW=Go-)He>nWH@Sc|#=Q3(7K4 z*Vz%e-s19Dn$FqQIlKxDPb9k*6-^2%anD#sh4;AP^W%M*0}!!KhdYzhMKpP3w@##D zq*#CB>M*9a3HfU!E8&>Xc_zj@7i(;KF0>@p03sY^MToP9tQ7aPRSP-;+Bt-L zkeOT#z8SNy$sz*^_l%LXk5QrF!r$jzE`^oZCZRuUy9~|VlMthNgZ&#Ui@2xBy=U*2 z_vxi;PRVORSbs~;M6`Aja>ikw$n`%G+IxdXHXzh8zZ*j6*r%Atl7^r`y>#^nH^=3z zS3@<6a5xZflRtj{&qr9ANQv>mE6)Fo3%DUIr}$)*DUB`KEF$BOLdvd6g1-#dBrUKznfk z#u*D1_>IIntExESzMdKpDf5=>EHv!)Js{vh1?0txU*Z;~aUrfS;u|HE(^zY6;y&XC z7a*XcH$fo(F|k+282x*MgS6ZjkSJE+CVHCNl#lAoK!pXc>!^YOVaL0ta7L{*y2%mU z0+Kf_zD}0ljqZ_jwnyc~2einvIA0_3jTGrx^HfZ$veFc`Flg zw7`P4-KTB0G3k{3jzHjU8p<`&&YXJ2TdiE*F_&5uk2c;@%_FKIlgr30ez`Qo#qFqF z33fgYv&0}=BiS3&dp2C5h>sPgfbc)HVII@Km0S9 z*T}PO)3NjpV=D(q(pH>!e?o`+A$)f0Mj}aXW4%Z_K^}br2$^-GJwE5O^|&`Y&#D~l zWh=KO*YM{)-I4k!aQ1Ys)%_nC{BxDWPjcSnbs8>QFWWOQx)I<8eXsKcaOa<8Onod+ z=e_Z-5KOwrotZR}SN+UU9yr+Eb}fA0x%9`%GE%c^xN}fA|v3yyE?~M1{Gw8+!k5G&Mkt9wf)m{tw zd0rt?sMt=JhH_8O!YH$vVu$TXH7RopWe+X?Zr|4?E|T79bEjkFCL5StC19PjIhrge ztG5wH_wD|!eb7E@j?Wuoo3uFpJ5B7k>;WJsSNdOA1eqEwHL7+W0v0xo_h}tuH3i|F zDwUYA)Px7Y_O*W6^8$oOdgvYE0noMd{la0+f9SU(E0W9=iC=uWb3^*D@-f16x%u_ zP43KYo1_k(A1UsE>3i1o!+34uG83$GiDaVw#R)FH)aGGpB-kZG#Z{)^sy^f8eDVJ#slY?|6u;+bOX0(6ZNKtzxwwy%GLj(%v zz~#Eymek9*GyR}7*`Skgzc5vEj_!-ND#wDYC@<;s>Eh|Wg2FF)2cq+Db{CG_-N1!_ z%Bjp8@>pcfeRTt_mvOI>oE$zsEom>^^E&kp;X!l&)5;MhT((z&J7cF?l3@S@<-zXB zLq5!BqjaZI6Xy&X03kc zj}k9J%zfab zAyLW1aC6o+OvR~OYEl2n@{yuf+=K#5@g+Hqe$H2u{$sa^)}x453Ta4jDY|C4aI zH_%35MgNgT{X+@f{KT;j6%wI9NUVDOO^fTiuD&JsxD?e#dapRLjGJHv+}?OhsI)>& zB@2ypspLs1^*+W|CaM15lrPOkG5oA+`y;)6wCwBc@46!)c=j`#V`d2#;1sTQ-6_vg zNk==y@|HO1S_Ohsc@RAIE|$Kv@1eCBkHW}C+YQ(wLti3jQ1q7>jFoBuhbg|KW8H8w#nKS&1x*n9jv;z z>fu8i?NZroFM-I7@OMY}4=&IDZ8WJS1);rKmwZTArElqdeBdOV;)^Ym_9=DZCgc{{ zE;n<|AE;f#ia@yu6t&yhejv^&s}FNCpJ=Uy?@2y~>ww-m)&O1DHd{JH_|3l9_SUB5 z{>S7b9Sd0XY8&UPD|6#-Kx`%PD;IO@R}Xb= zvTlL#UcBtC$ljUr(=%ihkeK6~3q*oUNW#et76Y{JIEfM!VGI{X2si#hP{fU&c#w@rcXCJ9I}AvY2n7=NuFVf^5iR0ewfOO$r((Gvp3r9|aV`>q++)$f>wzd3 zngsN%mA20g)h$)Iy?l`;s)IAP+*fP8TovV3-J=fya5)C5nnkgzIh2}WNe!yveZgL3 z9oDZg6Louq^f@t;$jqdt#G|Gb%HQ-m7pfCSd`ys|;(|M;$&c2lEM;+@wai?9A z8xN*MbSZT%HM6R#;oZE*^uoTte$;DohHjRKF!8nm#OHA^Yg=143H_FxH@#O=(ms`F z-LQ*LrY&J!$vyx1W!=0#qgJ*Kh~6zgdUkIe3cl04A9tt)bP>-ItsUI>bt~|rAWZnh zweBsSz~3d?gi)XUE4P!c^Kvv2g^{AvbJfU9U7I+bZ?NsKiZ<_@&|`#MGTqnqNZ4;} z;EH-PD$IYOX}{`%#Y2#Q{o5{SZC9if1_A4Nj~jI{nJ@N{^%?2m1kIyV=)=mmg68&M7&(EU!s9bTm3h4T`jxE*Gf_9 z#B4v7_n!*w(|c~y&4bvC#c|nhAGQtpO0vXG(>^GGOai-woujcO9}JT#Ph=gql=p7y zj);h&xEp>#ZR*o`z^nFK2pny*ylG#dIHEf5){&Rh2t~L9#&7hU6 z$o-7kWZu(p>zxN`1!_-lZv{gn>UKYk~!N^Vy@4N zQBt4yOW~5{vOWLIG{I8?1&=Qw(KKa0H?hV;t8=PDpDuaoB0^ZD^Y2M!l z22qRwtKLcSPKxU3K+#c@xwiIV5h#Czqz*&5aHO-6A5!5OVy^+5@A2-6M6d|~7p&N1mI!e4;Z#3U70}ygu_OmDHJEs21?hx7% z-X_wg?cH`hrbzYV71~m7J{0iA}<&U4F)=iN!Y%>d-I<s?t`8}V^c;pF%+ufDcswHZQJJ-yG zPib!G^F7I($~e0CTz=n_%4W<+j!4umr#nY$O_HQj@WJ9xmz1HhLp=j0{?)%DR$-RP*k^dv-UcF%fbZ^LcN_fR%5nnWp5@47^=l!~SHh!k>W9^h z^o{fl)pgbJ(czH+(WDDOQ4v=ocW3 200000); }); - it('fills projected raster gaps with the original nodata value', function () { + it('fills projected image raster gaps with white by default', function () { var raster = getRasterDataset().layers[0].raster; var src = api.internal.parseCrsString('wgs84'); var dest = api.internal.parseCrsString('webmercator'); @@ -479,6 +553,21 @@ describe('raster layers', function () { output_width: 1, output_height: 1 }); + assert.deepEqual(Array.from(grid.samples), [255, 255, 255]); + }); + + it('fills projected categorical raster gaps with the original nodata value', function () { + var raster = getRasterDataset().layers[0].raster; + var src = api.internal.parseCrsString('wgs84'); + var dest = api.internal.parseCrsString('webmercator'); + raster.interpretation = 'categorical'; + raster.grid.nodata = 99; + var grid = api.internal.projectRasterGridForward(raster, src, dest, { + raster_mesh_interval: 1, + output_bbox: [-1e9, -1e9, -1e9 + 1000, -1e9 + 1000], + output_width: 1, + output_height: 1 + }); assert.deepEqual(Array.from(grid.samples), [99, 99, 99]); }); diff --git a/www/page.css b/www/page.css index 0b476bc02..1a45627c3 100644 --- a/www/page.css +++ b/www/page.css @@ -671,7 +671,7 @@ textarea:focus { min-width: 230px; word-wrap: break-word; text-align: left; - margin-top: 12px; + margin-top: 16px; padding: 14px 16px 13px 18px; vertical-align: top; display: inline-block; From 67c1a3c5ae4394f908bcfb08d5e6285ac256f9e9 Mon Sep 17 00:00:00 2001 From: Matthew Bloch Date: Thu, 21 May 2026 02:35:57 -0400 Subject: [PATCH 463/509] Added -blur command --- docs/development/raster-geotiff-support.md | 2 +- docs/development/raster-implementation.md | 15 +- docs/reference.md | 11 + src/cli/mapshaper-options.mjs | 7 + src/cli/mapshaper-run-command.mjs | 3 + src/commands/mapshaper-blur.mjs | 38 +++ src/gui/gui-element-position.mjs | 16 +- src/gui/gui-instance.mjs | 4 +- src/gui/gui-map-extent.mjs | 6 +- src/gui/gui-map.mjs | 41 +++- src/gui/gui-raster-reprojected-preview.mjs | 22 +- src/gui/gui-raster-viewport-preview.mjs | 22 +- src/mapshaper-internal.mjs | 2 + src/rasters/mapshaper-raster-blur.mjs | 255 +++++++++++++++++++++ test/raster-test.mjs | 83 +++++++ 15 files changed, 498 insertions(+), 29 deletions(-) create mode 100644 src/commands/mapshaper-blur.mjs create mode 100644 src/rasters/mapshaper-raster-blur.mjs diff --git a/docs/development/raster-geotiff-support.md b/docs/development/raster-geotiff-support.md index 8ea0017b6..ad9421d3b 100644 --- a/docs/development/raster-geotiff-support.md +++ b/docs/development/raster-geotiff-support.md @@ -309,7 +309,7 @@ linked-images `raster-res=` controls embedded raster pixels per SVG pixel. The default is `1`; larger values produce higher-resolution embedded images, capped at the available source grid resolution. `jpeg-quality=` controls JPEG quality on a `1..100` -scale. `linked-images` changes the `` from an embedded data URI to a +scale. `lined-images` changes the `` from an embedded data URI to a relative image filename and returns the image files with the SVG export. WebP can be considered later after SVG compatibility has been tested in browsers, Illustrator, Inkscape, and common command-line renderers. diff --git a/docs/development/raster-implementation.md b/docs/development/raster-implementation.md index 90647d33f..5f6c8ae73 100644 --- a/docs/development/raster-implementation.md +++ b/docs/development/raster-implementation.md @@ -43,7 +43,6 @@ The first implementation supports: The first implementation does not attempt to support: -- General cell/value editing beyond rectangle clipping. - Raster/vector analysis commands. - GUI source-band derivation or styling controls. - Full GeoTIFF metadata preservation beyond the fields currently used for CRS, @@ -337,6 +336,19 @@ internal option (`raster_component_filter` / `rasterComponentFilter`) for experiments, but it is off by default because valid antimeridian wrapping can produce disconnected components. +## Raster Blur + +`-blur radius=` applies a Gaussian-like blur to projected raster layers. The +implementation uses three passes of separable box blur to approximate a Gaussian +in linear time. `radius=` is measured in pixels and corresponds to `2 * sigma`; +the parser currently accepts plain numbers and strings such as `10px`. + +The blur operates on interleaved `grid.samples` one band at a time, so it works +with grayscale, RGB, RGBA, and non-8-bit GeoTIFF sample arrays without changing +the internal raster model. It preserves raster metadata and `grid.coverage`. +When coverage or nodata is present, invalid pixels are excluded from the blur +window and weights are renormalized. + ## Commands And Validation Most existing commands are vector commands and should reject raster targets @@ -346,6 +358,7 @@ with clear errors. Early raster-aware commands should be limited to: - Layer listing and selection where safe. - `-info` reporting of raster dimensions, bounds, source, and CRS. - `-clip bbox=...` for raster clipping. +- `-blur radius=` for projected raster blur. - `-proj` for raster reprojection, with `nodata-color=` and `resampling=nearest|bilinear` support. - SVG export. diff --git a/docs/reference.md b/docs/reference.md index c12a33de1..a1afe7f23 100644 --- a/docs/reference.md +++ b/docs/reference.md @@ -414,6 +414,17 @@ mapshaper covid_cases.geojson \ -o out.geojson ``` +### -blur + +Apply a Gaussian-like blur to raster layers. The command only works on projected +rasters; unprojected lat-long rasters should be reprojected first with `-proj`. + +`radius=` Blur amount in pixels. This value corresponds to `2 * sigma` of a +Gaussian curve. Pixel values can be written as plain numbers or with a `px` +suffix, for example `radius=10` or `radius=10px`. + +Common options: `target=` + ### -clean This command attempts to repair various kinds of abnormal geometry that might cause problems when running other mapshaper commands or when using other software. diff --git a/src/cli/mapshaper-options.mjs b/src/cli/mapshaper-options.mjs index a30999296..cd969c53f 100644 --- a/src/cli/mapshaper-options.mjs +++ b/src/cli/mapshaper-options.mjs @@ -560,6 +560,13 @@ export function getOptionParser() { .option('target', targetOpt) .option('no-replace', noReplaceOpt); + parser.command('blur') + .describe('apply a Gaussian-like blur to projected raster layers') + .option('radius', { + describe: '[raster] blur amount in pixels, corresponding to 2 * sigma (e.g. 10 or 10px)' + }) + .option('target', targetOpt); + parser.command('classify') // .describe('apply sequential or categorical classification') .describe('assign colors or values using one of several methods') diff --git a/src/cli/mapshaper-run-command.mjs b/src/cli/mapshaper-run-command.mjs index 4c6a4b054..37c40999a 100644 --- a/src/cli/mapshaper-run-command.mjs +++ b/src/cli/mapshaper-run-command.mjs @@ -210,6 +210,9 @@ export async function runCommand(command, job) { outputLayers = applyCommandToEachLayer(cmd.buffer, targetLayers, targetDataset, opts); // outputLayers = cmd.buffer(targetLayers, targetDataset, opts); + } else if (name == 'blur') { + cmd.blur(targetLayers, targetDataset, opts); + } else if (name == 'data-fill') { applyCommandToEachLayer(cmd.dataFill, targetLayers, arcs, opts); diff --git a/src/commands/mapshaper-blur.mjs b/src/commands/mapshaper-blur.mjs new file mode 100644 index 000000000..368572eb9 --- /dev/null +++ b/src/commands/mapshaper-blur.mjs @@ -0,0 +1,38 @@ +import cmd from '../mapshaper-cmd'; +import { requireProjectedDataset } from '../crs/mapshaper-projections'; +import { layerHasRaster } from '../dataset/mapshaper-layer-utils'; +import { blurRasterGrid } from '../rasters/mapshaper-raster-blur'; +import { createRasterPreview } from '../rasters/mapshaper-raster-utils'; +import { runningInBrowser } from '../mapshaper-env'; +import { stop } from '../utils/mapshaper-logging'; +import { + markLayerChanged, + noteLayerWillChange +} from '../undo/mapshaper-undo-tracking'; + +cmd.blur = blurRasterLayers; + +export function blurRasterLayers(layers, dataset, optsArg) { + var opts = optsArg || {}; + requireProjectedDataset(dataset); + layers.forEach(function(lyr) { + if (!layerHasRaster(lyr)) { + stop('Command requires a raster layer'); + } + blurRasterLayer(lyr, opts); + }); +} + +function blurRasterLayer(lyr, opts) { + var raster = lyr.raster; + noteLayerWillChange(lyr, {operation: 'blurRasterLayer', unit: 'raster'}); + raster.grid = blurRasterGrid(raster, opts); + raster.view = raster.view || {}; + delete raster.view.scalingStats; + if (runningInBrowser()) { + raster.view.preview = createRasterPreview(raster, opts); + } else { + delete raster.view.preview; + } + markLayerChanged(lyr, {operation: 'blurRasterLayer', unit: 'raster'}); +} diff --git a/src/gui/gui-element-position.mjs b/src/gui/gui-element-position.mjs index 358101018..698383eac 100644 --- a/src/gui/gui-element-position.mjs +++ b/src/gui/gui-element-position.mjs @@ -12,18 +12,18 @@ export function ElementPosition(ref) { height = 0; el.on('mouseover', update); - if (window.onorientationchange) window.addEventListener('orientationchange', update); + if (window.onorientationchange) window.addEventListener('orientationchange', function() { update('window'); }); window.addEventListener('scroll', update); - window.addEventListener('resize', update); + window.addEventListener('resize', function() { update('window'); }); // trigger an update, e.g. when map container is resized - this.update = function() { - update(); + this.update = function(source) { + update(source); }; - this.resize = function(w, h) { + this.resize = function(w, h, source) { el.css('width', w).css('height', h); - update(); + update(source); }; this.width = function() { return width; }; @@ -38,7 +38,7 @@ export function ElementPosition(ref) { }; }; - function update() { + function update(source) { var div = el.node(), xy = getPageXY(div), w = div.clientWidth, @@ -54,7 +54,7 @@ export function ElementPosition(ref) { height = h; self.dispatchEvent('change', self.position()); if (resized) { - self.dispatchEvent('resize', self.position()); + self.dispatchEvent('resize', Object.assign(self.position(), {source: source})); } } } diff --git a/src/gui/gui-instance.mjs b/src/gui/gui-instance.mjs index da98caed1..9fc23d590 100644 --- a/src/gui/gui-instance.mjs +++ b/src/gui/gui-instance.mjs @@ -125,7 +125,7 @@ export function GuiInstance(container, opts) { .classed('layers-open', sidebarPanel == 'layers') .classed('console-open', sidebarPanel == 'console'); gui.dispatchEvent('sidebar', {name: sidebarPanel, prev: prev}); - gui.dispatchEvent('resize'); + gui.dispatchEvent('resize', {source: 'sidebar'}); }; gui.toggleSidebarPanel = function(name) { @@ -228,7 +228,7 @@ export function GuiInstance(container, opts) { if (sidebarResizeFrame) return; sidebarResizeFrame = requestAnimationFrame(function() { sidebarResizeFrame = null; - gui.dispatchEvent('resize'); + gui.dispatchEvent('resize', {source: 'sidebar-resize'}); }); } } diff --git a/src/gui/gui-map-extent.mjs b/src/gui/gui-map-extent.mjs index 2091ae487..10f3a0ee3 100644 --- a/src/gui/gui-map-extent.mjs +++ b/src/gui/gui-map-extent.mjs @@ -12,7 +12,7 @@ export function MapExtent(_position) { _position.on('resize', function(e) { if (ready()) { // triggerChangeEvent({resize: true}); - triggerChangeEvent(); + triggerChangeEvent({resize: true, resizeSource: e.source}); } }); @@ -183,8 +183,8 @@ export function MapExtent(_position) { _scale = scale; } - function triggerChangeEvent() { - _self.dispatchEvent('change'); + function triggerChangeEvent(data) { + _self.dispatchEvent('change', data); } // stop zooming before rounding errors become too obvious diff --git a/src/gui/gui-map.mjs b/src/gui/gui-map.mjs index aa2166953..6b3870db5 100644 --- a/src/gui/gui-map.mjs +++ b/src/gui/gui-map.mjs @@ -48,7 +48,10 @@ export function MshpMap(gui) { _visibleLayers = [], // cached visible map layers _hit, _nav, _intersectionLyr, _activeLyr, _overlayLayers, - _renderer, _dynamicCRS; + _renderer, _dynamicCRS, + _resizeRedrawTimer = null; + + var RESIZE_REDRAW_DELAY = 200; _mouse.disable(); // wait for gui.focus() to activate mouse events @@ -198,14 +201,44 @@ export function MshpMap(gui) { _ext.on('change', function(e) { gui?.basemap.refresh(); // keep basemap synced up (if enabled) - drawLayers(e.redraw ? '' : 'nav'); + if (e.resize) { + drawLayersForResize(e.resizeSource); + } else { + cancelResizeRedraw(); + drawLayers(e.redraw ? '' : 'nav'); + } }); - gui.on('resize', function() { - position.update(); // kludge to detect new map size after console toggle + gui.on('resize', function(e) { + position.update(e.source); // kludge to detect new map size after console toggle }); }; + function drawLayersForResize(source) { + if (source == 'sidebar') { + cancelResizeRedraw(); + drawLayers(); + } else { + drawLayers('nav'); + scheduleResizeRedraw(); + } + } + + function scheduleResizeRedraw() { + cancelResizeRedraw(); + _resizeRedrawTimer = setTimeout(function() { + _resizeRedrawTimer = null; + drawLayers(); + }, RESIZE_REDRAW_DELAY); + } + + function cancelResizeRedraw() { + if (_resizeRedrawTimer) { + clearTimeout(_resizeRedrawTimer); + _resizeRedrawTimer = null; + } + } + function getGlobalStyleOptions(opts) { var mode = gui.state.interaction_mode; return Object.assign({ diff --git a/src/gui/gui-raster-reprojected-preview.mjs b/src/gui/gui-raster-reprojected-preview.mjs index 699e88f6f..c2f073077 100644 --- a/src/gui/gui-raster-reprojected-preview.mjs +++ b/src/gui/gui-raster-reprojected-preview.mjs @@ -9,6 +9,7 @@ export function getCachedRasterReprojectedPreview(layer, ext) { var params = getRasterReprojectedPreviewParams(layer, ext); var entry = cache.get(layer); if (!entry || !entry.preview) return null; + if (params && !rasterReprojectedCacheSourceMatches(entry, params)) return null; if (!params || entry.key != params.key) return entry.preview; return entry.preview; } @@ -18,9 +19,9 @@ export function scheduleRasterReprojectedPreview(layer, ext, onReady) { var entry = cache.get(layer); var id, timing; if (!params) return; - if (entry && entry.key == params.key) return; + if (entry && rasterReprojectedCacheEntryMatches(entry, params)) return; id = ++requestId; - cache.set(layer, {key: params.key, pending: id}); + cache.set(layer, getRasterReprojectedCacheEntry(params, {pending: id})); setTimeout(function() { var current = cache.get(layer); var grid, preview; @@ -50,7 +51,7 @@ export function scheduleRasterReprojectedPreview(layer, ext, onReady) { preview.bbox = grid.bbox; current = cache.get(layer); if (!current || current.pending != id) return; - cache.set(layer, {key: params.key, preview: preview}); + cache.set(layer, getRasterReprojectedCacheEntry(params, {preview: preview})); onReady(); }, 0); } @@ -116,6 +117,21 @@ function getRasterReprojectedPreviewKey(layer, bbox, size, sourceCRS, displayCRS ].join('|'); } +function rasterReprojectedCacheEntryMatches(entry, params) { + return entry.key == params.key && rasterReprojectedCacheSourceMatches(entry, params); +} + +function rasterReprojectedCacheSourceMatches(entry, params) { + return entry.grid == params.grid && entry.samples == params.grid.samples; +} + +function getRasterReprojectedCacheEntry(params, entry) { + entry.key = params.key; + entry.grid = params.grid; + entry.samples = params.grid.samples; + return entry; +} + function applyCoverageMask(preview, coverage) { var pixels = preview && preview.pixels; if (!pixels || !coverage) return; diff --git a/src/gui/gui-raster-viewport-preview.mjs b/src/gui/gui-raster-viewport-preview.mjs index 5f474fb45..6e5215045 100644 --- a/src/gui/gui-raster-viewport-preview.mjs +++ b/src/gui/gui-raster-viewport-preview.mjs @@ -8,7 +8,7 @@ var requestId = 0; export function getCachedRasterViewportPreview(layer, ext) { var entry = cache.get(layer); var params = getRasterViewportPreviewParams(layer, ext); - if (!entry || !params || entry.key != params.key) return null; + if (!entry || !params || !rasterViewportCacheEntryMatches(entry, params)) return null; return entry.preview; } @@ -17,9 +17,9 @@ export function scheduleRasterViewportPreview(layer, ext, onReady) { var entry = cache.get(layer); var id, stats, timing, preview; if (!params || !params.needed) return; - if (entry && entry.key == params.key) return; + if (entry && rasterViewportCacheEntryMatches(entry, params)) return; id = ++requestId; - cache.set(layer, {key: params.key, pending: id}); + cache.set(layer, getRasterViewportCacheEntry(params, {pending: id})); setTimeout(function() { var current = cache.get(layer); if (!current || current.pending != id) return; @@ -31,10 +31,7 @@ export function scheduleRasterViewportPreview(layer, ext, onReady) { logRasterPreviewTiming(params, timing); current = cache.get(layer); if (!preview || !current || current.pending != id) return; - cache.set(layer, { - key: params.key, - preview: preview - }); + cache.set(layer, getRasterViewportCacheEntry(params, {preview: preview})); onReady(); }, 0); } @@ -96,6 +93,17 @@ export function getRasterViewportPreviewParams(layer, ext) { }; } +function rasterViewportCacheEntryMatches(entry, params) { + return entry.key == params.key && entry.grid == params.grid && entry.samples == params.grid.samples; +} + +function getRasterViewportCacheEntry(params, entry) { + entry.key = params.key; + entry.grid = params.grid; + entry.samples = params.grid.samples; + return entry; +} + function getCachedRasterScalingStats(params, timing) { var cached = params.raster.view && params.raster.view.scalingStats; var key; diff --git a/src/mapshaper-internal.mjs b/src/mapshaper-internal.mjs index 807426e56..a164bc35b 100644 --- a/src/mapshaper-internal.mjs +++ b/src/mapshaper-internal.mjs @@ -74,6 +74,7 @@ import * as ArcDissolve from './paths/mapshaper-arc-dissolve'; import * as ArcUtils from './paths/mapshaper-arc-utils'; import * as Bbox2Clipping from './clipping/mapshaper-bbox2-clipping'; import * as BinArray from './utils/mapshaper-binarray'; +import * as Blur from './commands/mapshaper-blur'; // import * as BufferCommon from './buffer/mapshaper-buffer-common'; import * as Calc from './commands/mapshaper-calc'; import * as CalcUtils from './utils/mapshaper-calc-utils'; @@ -202,6 +203,7 @@ Object.assign(internal, ArcUtils, Bbox2Clipping, BinArray, + Blur, // BufferCommon, Calc, CalcUtils, diff --git a/src/rasters/mapshaper-raster-blur.mjs b/src/rasters/mapshaper-raster-blur.mjs new file mode 100644 index 000000000..68f845d65 --- /dev/null +++ b/src/rasters/mapshaper-raster-blur.mjs @@ -0,0 +1,255 @@ +import { getRasterGrid } from './mapshaper-raster-utils'; +import { stop } from '../utils/mapshaper-logging'; + +var BOX_BLUR_PASSES = 3; + +export function blurRasterGrid(raster, optsArg) { + var opts = optsArg || {}; + var grid = getRasterGrid(raster); + var radius = getBlurRadius(opts); + var sigma = radius / 2; + var boxes = getGaussianBoxWidths(sigma, BOX_BLUR_PASSES); + var samples = new grid.samples.constructor(grid.samples.length); + var tmp = new Float64Array(grid.width * grid.height); + var channel = new Float64Array(grid.width * grid.height); + var weights = getRasterBlurWeights(grid); + validateBlurGrid(grid); + if (grid.bands == 4) { + blurRgbaGrid(grid, samples, channel, tmp, weights, boxes); + return Object.assign({}, grid, { + samples: samples + }); + } + for (var band = 0; band < grid.bands; band++) { + copyBandToChannel(grid, band, channel); + blurChannel(channel, tmp, weights, grid.width, grid.height, boxes); + copyChannelToBand(channel, samples, grid, band); + } + return Object.assign({}, grid, { + samples: samples + }); +} + +function getBlurRadius(opts) { + var arg = opts.radius; + var radius; + if (arg == null || arg === '') stop('Missing blur radius'); + if (typeof arg == 'string') { + arg = arg.trim().replace(/px$/i, ''); + } + radius = Number(arg); + if (!(radius > 0 && isFinite(radius))) { + stop('Expected radius= to be a positive pixel value'); + } + return radius; +} + +function validateBlurGrid(grid) { + if (!grid || !grid.samples || !grid.width || !grid.height || !grid.bands) { + stop('Expected a raster grid'); + } +} + +// Convert a Gaussian sigma to box widths using the method described by +// Ivan Kutskir / Peter Kovesi. Three box passes are a close, fast approximation. +function getGaussianBoxWidths(sigma, n) { + var ideal = Math.sqrt((12 * sigma * sigma / n) + 1); + var wl = Math.floor(ideal); + if (wl % 2 === 0) wl--; + var wu = wl + 2; + var m = Math.round((12 * sigma * sigma - n * wl * wl - 4 * n * wl - 3 * n) / (-4 * wl - 4)); + var boxes = []; + for (var i = 0; i < n; i++) { + boxes.push(i < m ? wl : wu); + } + return boxes; +} + +function blurRgbaGrid(grid, samples, channel, tmp, weights, boxes) { + var alpha = new Float64Array(grid.width * grid.height); + copyBandToChannel(grid, 3, alpha); + blurChannel(alpha, tmp, weights, grid.width, grid.height, boxes); + for (var band = 0; band < grid.bands; band++) { + if (band < 3) { + copyPremultipliedBandToChannel(grid, band, channel); + blurChannel(channel, tmp, weights, grid.width, grid.height, boxes); + copyUnpremultipliedChannelToBand(channel, alpha, samples, grid, band); + } else { + copyChannelToBand(alpha, samples, grid, 3); + } + } +} + +function blurChannel(channel, tmp, weights, width, height, boxes) { + boxes.forEach(function(widthPx) { + var radius = Math.floor((widthPx - 1) / 2); + if (radius < 1) return; + if (weights) { + boxBlurWeighted(channel, tmp, weights, width, height, radius); + } else { + boxBlur(channel, tmp, width, height, radius); + } + }); +} + +function boxBlur(src, tmp, width, height, radius) { + boxBlurHorizontal(src, tmp, width, height, radius); + boxBlurVertical(tmp, src, width, height, radius); +} + +function boxBlurHorizontal(src, dest, width, height, radius) { + var size = radius * 2 + 1; + var x, y, row, sum; + for (y = 0; y < height; y++) { + row = y * width; + sum = src[row] * (radius + 1); + for (x = 1; x <= radius; x++) sum += src[row + Math.min(width - 1, x)]; + for (x = 0; x < width; x++) { + dest[row + x] = sum / size; + sum += src[row + Math.min(width - 1, x + radius + 1)] - src[row + Math.max(0, x - radius)]; + } + } +} + +function boxBlurVertical(src, dest, width, height, radius) { + var size = radius * 2 + 1; + var x, y, sum; + for (x = 0; x < width; x++) { + sum = src[x] * (radius + 1); + for (y = 1; y <= radius; y++) sum += src[Math.min(height - 1, y) * width + x]; + for (y = 0; y < height; y++) { + dest[y * width + x] = sum / size; + sum += src[Math.min(height - 1, y + radius + 1) * width + x] - src[Math.max(0, y - radius) * width + x]; + } + } +} + +function boxBlurWeighted(src, tmp, weights, width, height, radius) { + boxBlurHorizontalWeighted(src, tmp, weights, width, height, radius); + boxBlurVerticalWeighted(tmp, src, weights, width, height, radius); +} + +function boxBlurHorizontalWeighted(src, dest, weights, width, height, radius) { + var x, y, row, id, addId, subId, sum, weightSum; + for (y = 0; y < height; y++) { + row = y * width; + sum = src[row] * weights[row] * (radius + 1); + weightSum = weights[row] * (radius + 1); + for (x = 1; x <= radius; x++) { + id = row + Math.min(width - 1, x); + sum += src[id] * weights[id]; + weightSum += weights[id]; + } + for (x = 0; x < width; x++) { + id = row + x; + dest[id] = weightSum > 0 ? sum / weightSum : src[id]; + addId = row + Math.min(width - 1, x + radius + 1); + subId = row + Math.max(0, x - radius); + sum += src[addId] * weights[addId] - src[subId] * weights[subId]; + weightSum += weights[addId] - weights[subId]; + } + } +} + +function boxBlurVerticalWeighted(src, dest, weights, width, height, radius) { + var x, y, id, addId, subId, sum, weightSum; + for (x = 0; x < width; x++) { + sum = src[x] * weights[x] * (radius + 1); + weightSum = weights[x] * (radius + 1); + for (y = 1; y <= radius; y++) { + id = Math.min(height - 1, y) * width + x; + sum += src[id] * weights[id]; + weightSum += weights[id]; + } + for (y = 0; y < height; y++) { + id = y * width + x; + dest[id] = weightSum > 0 ? sum / weightSum : src[id]; + addId = Math.min(height - 1, y + radius + 1) * width + x; + subId = Math.max(0, y - radius) * width + x; + sum += src[addId] * weights[addId] - src[subId] * weights[subId]; + weightSum += weights[addId] - weights[subId]; + } + } +} + +function copyBandToChannel(grid, band, channel) { + var samples = grid.samples; + var bands = grid.bands; + for (var i = 0, j = band; i < channel.length; i++, j += bands) { + channel[i] = samples[j]; + } +} + +function copyPremultipliedBandToChannel(grid, band, channel) { + var samples = grid.samples; + var bands = grid.bands; + var alphaOffset = 3 - band; + var maxAlpha = getAlphaMaxValue(samples); + for (var i = 0, j = band; i < channel.length; i++, j += bands) { + channel[i] = samples[j] * samples[j + alphaOffset] / maxAlpha; + } +} + +function copyUnpremultipliedChannelToBand(channel, alpha, samples, grid, band) { + var bands = grid.bands; + var isFloat = samples instanceof Float32Array || samples instanceof Float64Array; + var range = isFloat ? null : getTypedArrayRange(samples); + var maxAlpha = getAlphaMaxValue(samples); + var val, a; + for (var i = 0, j = band; i < channel.length; i++, j += bands) { + a = alpha[i]; + val = a > 0 ? channel[i] * maxAlpha / a : 0; + samples[j] = isFloat ? val : clamp(Math.round(val), range.min, range.max); + } +} + +function copyChannelToBand(channel, samples, grid, band) { + var bands = grid.bands; + var isFloat = samples instanceof Float32Array || samples instanceof Float64Array; + var range = isFloat ? null : getTypedArrayRange(samples); + var val; + for (var i = 0, j = band; i < channel.length; i++, j += bands) { + val = channel[i]; + samples[j] = isFloat ? val : clamp(Math.round(val), range.min, range.max); + } +} + +function getRasterBlurWeights(grid) { + if (!grid.coverage && grid.nodata == null) return null; + var weights = new Float64Array(grid.width * grid.height); + for (var i = 0; i < weights.length; i++) { + weights[i] = rasterBlurPixelIsValid(grid, i) ? 1 : 0; + } + return weights; +} + +function rasterBlurPixelIsValid(grid, pixelId) { + var off, n; + if (grid.coverage && grid.coverage[pixelId] === 0) return false; + if (grid.nodata == null) return true; + off = pixelId * grid.bands; + n = Math.min(grid.bands, 3); + for (var i = 0; i < n; i++) { + if (grid.samples[off + i] != grid.nodata) return true; + } + return false; +} + +function getAlphaMaxValue(samples) { + if (samples instanceof Float32Array || samples instanceof Float64Array) return 1; + return getTypedArrayRange(samples).max; +} + +function getTypedArrayRange(arr) { + if (arr instanceof Uint8Array || arr instanceof Uint8ClampedArray) return {min: 0, max: 255}; + if (arr instanceof Int8Array) return {min: -128, max: 127}; + if (arr instanceof Uint16Array) return {min: 0, max: 65535}; + if (arr instanceof Int16Array) return {min: -32768, max: 32767}; + if (arr instanceof Uint32Array) return {min: 0, max: 4294967295}; + if (arr instanceof Int32Array) return {min: -2147483648, max: 2147483647}; + return {min: -Infinity, max: Infinity}; +} + +function clamp(val, min, max) { + return val < min ? min : val > max ? max : val; +} diff --git a/test/raster-test.mjs b/test/raster-test.mjs index 4accb32f6..fbbf5ab86 100644 --- a/test/raster-test.mjs +++ b/test/raster-test.mjs @@ -267,6 +267,51 @@ describe('raster layers', function () { assert.deepEqual(lyr.raster.grid.bbox, [100, 190, 120, 200]); }); + it('blurs projected raster layers', function () { + var dataset = getProjectedBlurDataset(); + var lyr = dataset.layers[0]; + api.internal.blurRasterLayers([lyr], dataset, {radius: '4px'}); + var samples = Array.from(lyr.raster.grid.samples); + assert(samples[0] > 0); + assert(samples[6] < 255); + assert(samples[0] == samples[1]); + assert(samples[1] == samples[2]); + }); + + it('uses alpha-weighted colors when blurring RGBA rasters', function () { + var dataset = getProjectedBlurDataset(); + var lyr = dataset.layers[0]; + lyr.raster.grid.width = 3; + lyr.raster.grid.bands = 4; + lyr.raster.grid.samples = new Uint8Array([ + 255, 0, 0, 255, + 0, 255, 0, 0, + 255, 0, 0, 255 + ]); + lyr.raster.grid.sampleBands = [0, 1, 2, 3]; + lyr.raster.grid.bbox = [0, 0, 3, 1]; + lyr.raster.view.recipe = {type: 'rgba', bands: [0, 1, 2, 3]}; + api.internal.blurRasterLayers([lyr], dataset, {radius: 2}); + var samples = Array.from(lyr.raster.grid.samples); + assert(samples[4] > 240); + assert(samples[5] < 10); + assert(samples[7] > 0 && samples[7] < 255); + }); + + it('rejects blur on unprojected raster layers', function () { + var dataset = getRasterDataset(); + assert.throws(function() { + api.internal.blurRasterLayers(dataset.layers, dataset, {radius: 4}); + }, /projected coordinates/); + }); + + it('requires a positive blur radius', function () { + var dataset = getProjectedBlurDataset(); + assert.throws(function() { + api.internal.blurRasterLayers(dataset.layers, dataset, {radius: 0}); + }, /radius=/); + }); + it('clips raster samples and bbox to an intersecting rectangle', function () { var dataset = getRasterDataset(); var lyr = dataset.layers[0]; @@ -824,6 +869,44 @@ function getFourPixelGrayRasterDataset() { }; } +function getProjectedBlurDataset() { + var dataset = { + info: {crs: api.internal.parseCrsString('webmercator')}, + layers: [{ + name: 'raster', + raster_type: 'grid', + raster: { + sourceId: 'raster', + interpretation: 'image', + grid: { + width: 5, + height: 1, + bands: 3, + pixelType: 'uint8', + samples: new Uint8Array([ + 0, 0, 0, + 0, 0, 0, + 255, 255, 255, + 0, 0, 0, + 0, 0, 0 + ]), + sampleBands: [0, 1, 2], + nodata: null, + bbox: [0, 0, 5, 1], + transform: [1, 0, 0, 0, -1, 1] + }, + view: { + recipe: { + type: 'rgb', + bands: [0, 1, 2] + } + } + } + }] + }; + return dataset; +} + function getFrameDataset() { var feature = { type: 'Feature', From ecf76c913b447a8f49b49008b73fc3f7db2cd0ae Mon Sep 17 00:00:00 2001 From: Matthew Bloch Date: Thu, 21 May 2026 21:36:35 -0400 Subject: [PATCH 464/509] Improve stale undo data cleanup --- src/gui/gui-instance.mjs | 2 ++ src/gui/gui-stored-undo-history.mjs | 52 +++++++++++++++------------ src/rasters/mapshaper-raster-blur.mjs | 8 ++--- 3 files changed, 36 insertions(+), 26 deletions(-) diff --git a/src/gui/gui-instance.mjs b/src/gui/gui-instance.mjs index 9fc23d590..e1c882f4a 100644 --- a/src/gui/gui-instance.mjs +++ b/src/gui/gui-instance.mjs @@ -23,6 +23,7 @@ import { DisplayOptions } from './gui-display-options-menu'; import { MessageControl } from './gui-messages'; import { getRuntimeStateContext, stringifyRuntimeStateContext } from './gui-runtime-context'; import { startRasterSourceStoreLifecycle } from './gui-raster-source-store'; +import { cleanupStaleUndoPayloads } from './gui-stored-undo-history'; // import { ProjectOptions } from './gui-project-control'; @@ -64,6 +65,7 @@ export function GuiInstance(container, opts) { initModeRules(gui); startRasterSourceStoreLifecycle(); + cleanupStaleUndoPayloads(gui).catch(function() {}); gui.map.init(); if (opts.saveControl) { diff --git a/src/gui/gui-stored-undo-history.mjs b/src/gui/gui-stored-undo-history.mjs index 4ec559756..46d4d10d5 100644 --- a/src/gui/gui-stored-undo-history.mjs +++ b/src/gui/gui-stored-undo-history.mjs @@ -118,34 +118,42 @@ export function createStoredUndoHistory(gui) { function getPayloadStore() { if (!gui.undoPayloadStore) { - gui.undoPayloadStore = createUndoPayloadStore(getUndoPayloadStoreOptions()); - gui.undoPayloadStore.startLifecycle(); - gui.undoPayloadStore.cleanupStaleSessions().then(function(result) { - logStartupCleanup({ - count: result.keys.length, - sessionCount: result.sessionCount, - singular: 'undo payload', - plural: 'undo payloads', - sizeBytes: result.sizeBytes - }); - }).catch(function() {}); + gui.undoPayloadStore = createUndoPayloadStore(getUndoPayloadStoreOptions(gui)); } + gui.undoPayloadStore.startLifecycle(); return gui.undoPayloadStore; } +} - function getUndoPayloadStoreOptions() { - return { - maxBytes: getUndoStorageLimit('undoStorageMaxBytes', 1024 * 1024 * 1024), - maxPayloadBytes: getUndoStorageLimit('undoPayloadMaxBytes', 512 * 1024 * 1024) - }; +export function cleanupStaleUndoPayloads(gui) { + if (!gui.undoPayloadStore) { + gui.undoPayloadStore = createUndoPayloadStore(getUndoPayloadStoreOptions(gui)); } + var store = gui.undoPayloadStore; + return store.cleanupStaleSessions().then(function(result) { + logStartupCleanup({ + count: result.keys.length, + sessionCount: result.sessionCount, + singular: 'undo payload', + plural: 'undo payloads', + sizeBytes: result.sizeBytes + }); + return result; + }); +} - function getUndoStorageLimit(name, defaultValue) { - var opt = gui.options && gui.options[name], - query = getQueryValue(name); - if (query !== null && +query >= 0) return +query; - return opt >= 0 ? opt : defaultValue; - } +function getUndoPayloadStoreOptions(gui) { + return { + maxBytes: getUndoStorageLimit(gui, 'undoStorageMaxBytes', 1024 * 1024 * 1024), + maxPayloadBytes: getUndoStorageLimit(gui, 'undoPayloadMaxBytes', 512 * 1024 * 1024) + }; +} + +function getUndoStorageLimit(gui, name, defaultValue) { + var opt = gui && gui.options && gui.options[name], + query = getQueryValue(name); + if (query !== null && +query >= 0) return +query; + return opt >= 0 ? opt : defaultValue; } function getRedoCaptureUnits(units) { diff --git a/src/rasters/mapshaper-raster-blur.mjs b/src/rasters/mapshaper-raster-blur.mjs index 68f845d65..6dd7d0055 100644 --- a/src/rasters/mapshaper-raster-blur.mjs +++ b/src/rasters/mapshaper-raster-blur.mjs @@ -10,8 +10,8 @@ export function blurRasterGrid(raster, optsArg) { var sigma = radius / 2; var boxes = getGaussianBoxWidths(sigma, BOX_BLUR_PASSES); var samples = new grid.samples.constructor(grid.samples.length); - var tmp = new Float64Array(grid.width * grid.height); - var channel = new Float64Array(grid.width * grid.height); + var tmp = new Float32Array(grid.width * grid.height); + var channel = new Float32Array(grid.width * grid.height); var weights = getRasterBlurWeights(grid); validateBlurGrid(grid); if (grid.bands == 4) { @@ -66,7 +66,7 @@ function getGaussianBoxWidths(sigma, n) { } function blurRgbaGrid(grid, samples, channel, tmp, weights, boxes) { - var alpha = new Float64Array(grid.width * grid.height); + var alpha = new Float32Array(grid.width * grid.height); copyBandToChannel(grid, 3, alpha); blurChannel(alpha, tmp, weights, grid.width, grid.height, boxes); for (var band = 0; band < grid.bands; band++) { @@ -216,7 +216,7 @@ function copyChannelToBand(channel, samples, grid, band) { function getRasterBlurWeights(grid) { if (!grid.coverage && grid.nodata == null) return null; - var weights = new Float64Array(grid.width * grid.height); + var weights = new Float32Array(grid.width * grid.height); for (var i = 0; i < weights.length; i++) { weights[i] = rasterBlurPixelIsValid(grid, i) ? 1 : 0; } From 185f82581f79a39e49cc5e4e87a422e9789226df Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=20F=C3=A9vrier?= Date: Fri, 22 May 2026 16:55:02 +0100 Subject: [PATCH 465/509] allowing multiple tabs to be open in sidebar --- .gitignore | 5 +- src/gui/gui-console.mjs | 8 +- src/gui/gui-instance.mjs | 75 +- src/gui/gui-layer-control.mjs | 6 +- www/geopackage.js | 1807 +-------------------------------- www/index.html | 40 +- www/page.css | 61 +- 7 files changed, 161 insertions(+), 1841 deletions(-) diff --git a/.gitignore b/.gitignore index 3b2ef6504..b7e27ca7c 100644 --- a/.gitignore +++ b/.gitignore @@ -5,9 +5,12 @@ npm-debug.log .npmignore .jshintrc /mapshaper.js +/www/geopackage.js +/www/geoparquet.js +/www/geotiff.js /www/mapshaper-gui.js /www/mapshaper.js -/www/node_modules.js +/www/modules.js /www/docs/ /www/llms.txt /www/llms-full.txt diff --git a/src/gui/gui-console.mjs b/src/gui/gui-console.mjs index 3c3573f51..d9c76db6d 100644 --- a/src/gui/gui-console.mjs +++ b/src/gui/gui-console.mjs @@ -51,7 +51,7 @@ export function Console(gui) { this.runCommand = function(str) { str = str.trim(); if (!str) return; - gui.setSidebarPanel('console'); + gui.toggleSidebarPanel('console'); submit(str); }; @@ -73,9 +73,9 @@ export function Console(gui) { } gui.on('sidebar', function(e) { - if (e.name == 'console') { + if (e.panels.includes('console')) { turnOn(); - } else if (e.prev == 'console') { + } else if (e.prev.includes('console')) { turnOff(); } }); @@ -134,6 +134,7 @@ export function Console(gui) { // gui instances with the console open. E.g. console could close // when an instance loses focus. internal.setLoggingFunctions(consoleMessage, consoleError, consoleStop, consoleWarn); + el.addClass('open'); el.show(); input.node().focus(); history = getHistory(); @@ -147,6 +148,7 @@ export function Console(gui) { if (GUI.isActiveInstance(gui)) { setLoggingForGUI(gui); // reset stop, message and error functions } + el.removeClass('open'); el.hide(); input.node().blur(); saveHistory(); diff --git a/src/gui/gui-instance.mjs b/src/gui/gui-instance.mjs index da98caed1..7e95c0f02 100644 --- a/src/gui/gui-instance.mjs +++ b/src/gui/gui-instance.mjs @@ -54,8 +54,8 @@ export function GuiInstance(container, opts) { gui.state = {}; - var sidebarPanel = null; - var lastSidebarPanel = 'console'; + var sidebarPanels = []; + var lastSidebarPanels = ['console']; var sidebarWidth = GUI.getSavedValue('sidebar_width') || 0; var sidebarResizeFrame = null; @@ -106,45 +106,49 @@ export function GuiInstance(container, opts) { setSidebarWidth(sidebarWidth); } - gui.getSidebarPanel = function() { - return sidebarPanel; + gui.getSidebarPanels = function() { + return sidebarPanels; }; - gui.setSidebarPanel = function(name) { - var prev = sidebarPanel; - sidebarPanel = name || null; - if (sidebarPanel && gui.getMode()) { + gui.setSidebarPanels = function(panels) { + var prev = sidebarPanels; + sidebarPanels = panels || []; + if (sidebarPanels && gui.getMode()) { gui.clearMode(); } - if (sidebarPanel == prev) return; - if (sidebarPanel) { - lastSidebarPanel = sidebarPanel; + if (sidebarPanels.join('|') === prev.join('|')) return; + if (sidebarPanels) { + lastSidebarPanels = sidebarPanels; } gui.container - .classed('sidebar-open', !!sidebarPanel) - .classed('layers-open', sidebarPanel == 'layers') - .classed('console-open', sidebarPanel == 'console'); - gui.dispatchEvent('sidebar', {name: sidebarPanel, prev: prev}); + .classed('sidebar-open', sidebarPanels.length > 0) + .classed('layers-open', sidebarPanels.includes('layers')) + .classed('console-open', sidebarPanels.includes('console')); + gui.dispatchEvent('sidebar', {panels: sidebarPanels, prev: prev}); gui.dispatchEvent('resize'); }; gui.toggleSidebarPanel = function(name) { - gui.setSidebarPanel(sidebarPanel == name ? null : name); + gui.setSidebarPanels(sidebarPanels.includes(name) + ? sidebarPanels.filter((n) => n !== name) + : [...sidebarPanels, name].sort() + ); }; gui.toggleSidebar = function() { - gui.setSidebarPanel(sidebarPanel ? null : lastSidebarPanel); + gui.setSidebarPanels(sidebarPanels ? null : lastSidebarPanels); }; gui.sidebarPanelIsOpen = function() { - return !!sidebarPanel; + return sidebarPanels.length > 0; }; gui.consoleIsOpen = function() { - return sidebarPanel == 'console'; + return sidebarPanels.includes('console'); }; initSidebarResizing(); + initSidebarPanelsResizing(); gui.getRuntimeStateContext = function() { return getRuntimeStateContext(gui); @@ -231,4 +235,37 @@ export function GuiInstance(container, opts) { gui.dispatchEvent('resize'); }); } + + function initSidebarPanelsResizing() { + var handle = gui.container.findChild('.sidebar-panels-resize-handle'); + if (!handle) return; + handle.on('mousedown', function(e) { + if (!gui.sidebarPanelIsOpen()) return; + e.preventDefault(); + e.stopPropagation(); + gui.container.addClass('sidebar-panels-resizing'); + window.addEventListener('mousemove', onMove); + window.addEventListener('mouseup', onRelease); + }); + + function onMove(e) { + setSidebarPanelsSeparatorPosition(e.pageY); + } + + function onRelease() { + window.removeEventListener('mousemove', onMove); + window.removeEventListener('mouseup', onRelease); + gui.container.removeClass('sidebar-panels-resizing'); + } + } + + function setSidebarPanelsSeparatorPosition(pageY) { + var sidebarPanelsSeparatorPosition = clampSidebarPanelsSeparatorPosition(pageY); + gui.container.node().style.setProperty('--sidebar-panels-separator-position', sidebarPanelsSeparatorPosition + '%'); + } + + function clampSidebarPanelsSeparatorPosition(pageY) { + var pct = 100 * (pageY - 29) / (window.innerHeight - 29); + return Math.max(15, Math.min(85, pct)); + } } diff --git a/src/gui/gui-layer-control.mjs b/src/gui/gui-layer-control.mjs index f37e7c1ef..3b53cbb59 100644 --- a/src/gui/gui-layer-control.mjs +++ b/src/gui/gui-layer-control.mjs @@ -61,9 +61,9 @@ export function LayerControl(gui) { } gui.on('sidebar', function(e) { - if (e.name == 'layers') { + if (e.panels.includes('layers')) { turnOn(); - } else if (e.prev == 'layers') { + } else if (e.prev.includes('layers')) { turnOff(); } }); @@ -156,6 +156,7 @@ export function LayerControl(gui) { isOpen = true; tab.addClass('active').attr('aria-expanded', 'true'); render(); + el.addClass('open'); el.show(); } @@ -164,6 +165,7 @@ export function LayerControl(gui) { stopDragging(); isOpen = false; tab.removeClass('active').attr('aria-expanded', 'false'); + el.removeClass('open'); el.hide(); } diff --git a/www/geopackage.js b/www/geopackage.js index c06a20412..c8862a171 100644 --- a/www/geopackage.js +++ b/www/geopackage.js @@ -285,7 +285,7 @@ uptime: uptime }; - var __dirname$1 = '/Users/matthewbloch/mb4/mapshaper/node_modules/@ngageoint/geopackage/dist'; + var __dirname$1 = '/Users/tfevrier/Documents/Personal/mapshaper/node_modules/@ngageoint/geopackage/dist'; var lookup = []; var revLookup = []; @@ -484,7 +484,7 @@ var toString = {}.toString; - var isArray$1 = Array.isArray || function (arr) { + var isArray = Array.isArray || function (arr) { return toString.call(arr) == '[object Array]'; }; @@ -768,7 +768,7 @@ return fromArrayLike(that, obj) } - if (obj.type === 'Buffer' && isArray$1(obj.data)) { + if (obj.type === 'Buffer' && isArray(obj.data)) { return fromArrayLike(that, obj.data) } } @@ -792,7 +792,7 @@ } return Buffer.alloc(+length) } - Buffer.isBuffer = isBuffer$1; + Buffer.isBuffer = isBuffer; function internalIsBuffer (b) { return !!(b != null && b._isBuffer) } @@ -840,7 +840,7 @@ }; Buffer.concat = function concat (list, length) { - if (!isArray$1(list)) { + if (!isArray(list)) { throw new TypeError('"list" argument must be an Array of Buffers') } @@ -2258,7 +2258,7 @@ // the following is from is-buffer, also by Feross Aboukhadijeh and with same lisence // The _isBuffer check is for Safari 5-7 support, because it's missing // Object.prototype.constructor. Remove this eventually - function isBuffer$1(obj) { + function isBuffer(obj) { return obj != null && (!!obj._isBuffer || isFastBuffer(obj) || isSlowBuffer(obj)) } @@ -2273,21 +2273,6 @@ var geopackage_min$2 = {exports: {}}; - var lib$1 = {exports: {}}; - - function commonjsRequire(path) { - throw new Error('Could not dynamically require "' + path + '". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.'); - } - - var _polyfillNode_fs = {}; - - var _polyfillNode_fs$1 = /*#__PURE__*/Object.freeze({ - __proto__: null, - default: _polyfillNode_fs - }); - - var require$$2$1 = /*@__PURE__*/getAugmentedNamespace(_polyfillNode_fs$1); - // Copyright Joyent, Inc. and other Node contributors. // // Permission is hereby granted, free of charge, to any person obtaining a @@ -2540,1784 +2525,14 @@ var require$$1 = /*@__PURE__*/getAugmentedNamespace(_polyfillNode_path$1); - var util = {}; - - var hasRequiredUtil; - - function requireUtil () { - if (hasRequiredUtil) return util; - hasRequiredUtil = 1; - 'use strict'; - - util.getBooleanOption = (options, key) => { - let value = false; - if (key in options && typeof (value = options[key]) !== 'boolean') { - throw new TypeError(`Expected the "${key}" option to be a boolean`); - } - return value; - }; - - util.cppdb = Symbol(); - util.inspect = Symbol.for('nodejs.util.inspect.custom'); - return util; - } - - var sqliteError; - var hasRequiredSqliteError; - - function requireSqliteError () { - if (hasRequiredSqliteError) return sqliteError; - hasRequiredSqliteError = 1; - 'use strict'; - const descriptor = { value: 'SqliteError', writable: true, enumerable: false, configurable: true }; - - function SqliteError(message, code) { - if (new.target !== SqliteError) { - return new SqliteError(message, code); - } - if (typeof code !== 'string') { - throw new TypeError('Expected second argument to be a string'); - } - Error.call(this, message); - descriptor.value = '' + message; - Object.defineProperty(this, 'message', descriptor); - Error.captureStackTrace(this, SqliteError); - this.code = code; - } - Object.setPrototypeOf(SqliteError, Error); - Object.setPrototypeOf(SqliteError.prototype, Error.prototype); - Object.defineProperty(SqliteError.prototype, 'name', descriptor); - sqliteError = SqliteError; - return sqliteError; - } - - var __filename$1 = '/Users/matthewbloch/mb4/mapshaper/node_modules/bindings'; - - var bindings = {exports: {}}; - - var fileUriToPath_1; - var hasRequiredFileUriToPath; - - function requireFileUriToPath () { - if (hasRequiredFileUriToPath) return fileUriToPath_1; - hasRequiredFileUriToPath = 1; - /** - * Module dependencies. - */ - - var sep = require$$1.sep || '/'; - - /** - * Module exports. - */ - - fileUriToPath_1 = fileUriToPath; - - /** - * File URI to Path function. - * - * @param {String} uri - * @return {String} path - * @api public - */ - - function fileUriToPath (uri) { - if ('string' != typeof uri || - uri.length <= 7 || - 'file://' != uri.substring(0, 7)) { - throw new TypeError('must pass in a file:// URI to convert to a file path'); - } - - var rest = decodeURI(uri.substring(7)); - var firstSlash = rest.indexOf('/'); - var host = rest.substring(0, firstSlash); - var path = rest.substring(firstSlash + 1); - - // 2. Scheme Definition - // As a special case, can be the string "localhost" or the empty - // string; this is interpreted as "the machine from which the URL is - // being interpreted". - if ('localhost' == host) host = ''; - - if (host) { - host = sep + sep + host; - } - - // 3.2 Drives, drive letters, mount points, file system root - // Drive letters are mapped into the top of a file URI in various ways, - // depending on the implementation; some applications substitute - // vertical bar ("|") for the colon after the drive letter, yielding - // "file:///c|/tmp/test.txt". In some cases, the colon is left - // unchanged, as in "file:///c:/tmp/test.txt". In other cases, the - // colon is simply omitted, as in "file:///c/tmp/test.txt". - path = path.replace(/^(.+)\|/, '$1:'); - - // for Windows, we need to invert the path separators from what a URI uses - if (sep == '\\') { - path = path.replace(/\//g, '\\'); - } - - if (/^.+\:/.test(path)) { - // has Windows drive at beginning of path - } else { - // unix path… - path = sep + path; - } - - return host + path; - } - return fileUriToPath_1; - } - - var bindings_1 = bindings.exports; - - var hasRequiredBindings; - - function requireBindings () { - if (hasRequiredBindings) return bindings.exports; - hasRequiredBindings = 1; - (function (module, exports$1) { - var fs = require$$2$1, - path = require$$1, - fileURLToPath = requireFileUriToPath(), - join = path.join, - dirname = path.dirname, - exists = - (fs.accessSync && - function(path) { - try { - fs.accessSync(path); - } catch (e) { - return false; - } - return true; - }) || - fs.existsSync || - path.existsSync, - defaults = { - arrow: browser$1.env.NODE_BINDINGS_ARROW || ' → ', - compiled: browser$1.env.NODE_BINDINGS_COMPILED_DIR || 'compiled', - platform: browser$1.platform, - arch: browser$1.arch, - nodePreGyp: - 'node-v' + - browser$1.versions.modules + - '-' + - browser$1.platform + - '-' + - browser$1.arch, - version: browser$1.versions.node, - bindings: 'bindings.node', - try: [ - // node-gyp's linked version in the "build" dir - ['module_root', 'build', 'bindings'], - // node-waf and gyp_addon (a.k.a node-gyp) - ['module_root', 'build', 'Debug', 'bindings'], - ['module_root', 'build', 'Release', 'bindings'], - // Debug files, for development (legacy behavior, remove for node v0.9) - ['module_root', 'out', 'Debug', 'bindings'], - ['module_root', 'Debug', 'bindings'], - // Release files, but manually compiled (legacy behavior, remove for node v0.9) - ['module_root', 'out', 'Release', 'bindings'], - ['module_root', 'Release', 'bindings'], - // Legacy from node-waf, node <= 0.4.x - ['module_root', 'build', 'default', 'bindings'], - // Production "Release" buildtype binary (meh...) - ['module_root', 'compiled', 'version', 'platform', 'arch', 'bindings'], - // node-qbs builds - ['module_root', 'addon-build', 'release', 'install-root', 'bindings'], - ['module_root', 'addon-build', 'debug', 'install-root', 'bindings'], - ['module_root', 'addon-build', 'default', 'install-root', 'bindings'], - // node-pre-gyp path ./lib/binding/{node_abi}-{platform}-{arch} - ['module_root', 'lib', 'binding', 'nodePreGyp', 'bindings'] - ] - }; - - /** - * The main `bindings()` function loads the compiled bindings for a given module. - * It uses V8's Error API to determine the parent filename that this function is - * being invoked from, which is then used to find the root directory. - */ - - function bindings(opts) { - // Argument surgery - if (typeof opts == 'string') { - opts = { bindings: opts }; - } else if (!opts) { - opts = {}; - } - - // maps `defaults` onto `opts` object - Object.keys(defaults).map(function(i) { - if (!(i in opts)) opts[i] = defaults[i]; - }); - - // Get the module root - if (!opts.module_root) { - opts.module_root = exports$1.getRoot(exports$1.getFileName()); - } - - // Ensure the given bindings name ends with .node - if (path.extname(opts.bindings) != '.node') { - opts.bindings += '.node'; - } - - // https://github.com/webpack/webpack/issues/4175#issuecomment-342931035 - var requireFunc = - typeof __webpack_require__ === 'function' - ? __non_webpack_require__ - : commonjsRequire; - - var tries = [], - i = 0, - l = opts.try.length, - n, - b, - err; - - for (; i < l; i++) { - n = join.apply( - null, - opts.try[i].map(function(p) { - return opts[p] || p; - }) - ); - tries.push(n); - try { - b = opts.path ? requireFunc.resolve(n) : requireFunc(n); - if (!opts.path) { - b.path = n; - } - return b; - } catch (e) { - if (e.code !== 'MODULE_NOT_FOUND' && - e.code !== 'QUALIFIED_PATH_RESOLUTION_FAILED' && - !/not find/i.test(e.message)) { - throw e; - } - } - } - - err = new Error( - 'Could not locate the bindings file. Tried:\n' + - tries - .map(function(a) { - return opts.arrow + a; - }) - .join('\n') - ); - err.tries = tries; - throw err; - } - module.exports = exports$1 = bindings; - - /** - * Gets the filename of the JavaScript file that invokes this function. - * Used to help find the root directory of a module. - * Optionally accepts an filename argument to skip when searching for the invoking filename - */ - - exports$1.getFileName = function getFileName(calling_file) { - var origPST = Error.prepareStackTrace, - origSTL = Error.stackTraceLimit, - dummy = {}, - fileName; - - Error.stackTraceLimit = 10; - - Error.prepareStackTrace = function(e, st) { - for (var i = 0, l = st.length; i < l; i++) { - fileName = st[i].getFileName(); - if (fileName !== __filename$1) { - if (calling_file) { - if (fileName !== calling_file) { - return; - } - } else { - return; - } - } - } - }; - - // run the 'prepareStackTrace' function above - Error.captureStackTrace(dummy); - dummy.stack; - - // cleanup - Error.prepareStackTrace = origPST; - Error.stackTraceLimit = origSTL; - - // handle filename that starts with "file://" - var fileSchema = 'file://'; - if (fileName.indexOf(fileSchema) === 0) { - fileName = fileURLToPath(fileName); - } - - return fileName; - }; - - /** - * Gets the root directory of a module, given an arbitrary filename - * somewhere in the module tree. The "root directory" is the directory - * containing the `package.json` file. - * - * In: /home/nate/node-native-module/lib/index.js - * Out: /home/nate/node-native-module - */ - - exports$1.getRoot = function getRoot(file) { - var dir = dirname(file), - prev; - while (true) { - if (dir === '.') { - // Avoids an infinite loop in rare cases, like the REPL - dir = browser$1.cwd(); - } - if ( - exists(join(dir, 'package.json')) || - exists(join(dir, 'node_modules')) - ) { - // Found the 'package.json' file or 'node_modules' dir; we're done - return dir; - } - if (prev === dir) { - // Got to the top - throw new Error( - 'Could not find module root given file: "' + - file + - '". Do you have a `package.json` file? ' - ); - } - // Try the parent dir next - prev = dir; - dir = join(dir, '..'); - } - }; - } (bindings, bindings.exports)); - return bindings.exports; - } - - var wrappers = {}; - - var hasRequiredWrappers; - - function requireWrappers () { - if (hasRequiredWrappers) return wrappers; - hasRequiredWrappers = 1; - 'use strict'; - const { cppdb } = requireUtil(); - - wrappers.prepare = function prepare(sql) { - return this[cppdb].prepare(sql, this, false); - }; - - wrappers.exec = function exec(sql) { - this[cppdb].exec(sql); - return this; - }; - - wrappers.close = function close() { - this[cppdb].close(); - return this; - }; - - wrappers.loadExtension = function loadExtension(...args) { - this[cppdb].loadExtension(...args); - return this; - }; - - wrappers.defaultSafeIntegers = function defaultSafeIntegers(...args) { - this[cppdb].defaultSafeIntegers(...args); - return this; - }; - - wrappers.unsafeMode = function unsafeMode(...args) { - this[cppdb].unsafeMode(...args); - return this; - }; - - wrappers.getters = { - name: { - get: function name() { return this[cppdb].name; }, - enumerable: true, - }, - open: { - get: function open() { return this[cppdb].open; }, - enumerable: true, - }, - inTransaction: { - get: function inTransaction() { return this[cppdb].inTransaction; }, - enumerable: true, - }, - readonly: { - get: function readonly() { return this[cppdb].readonly; }, - enumerable: true, - }, - memory: { - get: function memory() { return this[cppdb].memory; }, - enumerable: true, - }, - }; - return wrappers; - } - - var transaction; - var hasRequiredTransaction; - - function requireTransaction () { - if (hasRequiredTransaction) return transaction; - hasRequiredTransaction = 1; - 'use strict'; - const { cppdb } = requireUtil(); - const controllers = new WeakMap(); - - transaction = function transaction(fn) { - if (typeof fn !== 'function') throw new TypeError('Expected first argument to be a function'); - - const db = this[cppdb]; - const controller = getController(db, this); - const { apply } = Function.prototype; - - // Each version of the transaction function has these same properties - const properties = { - default: { value: wrapTransaction(apply, fn, db, controller.default) }, - deferred: { value: wrapTransaction(apply, fn, db, controller.deferred) }, - immediate: { value: wrapTransaction(apply, fn, db, controller.immediate) }, - exclusive: { value: wrapTransaction(apply, fn, db, controller.exclusive) }, - database: { value: this, enumerable: true }, - }; - - Object.defineProperties(properties.default.value, properties); - Object.defineProperties(properties.deferred.value, properties); - Object.defineProperties(properties.immediate.value, properties); - Object.defineProperties(properties.exclusive.value, properties); - - // Return the default version of the transaction function - return properties.default.value; - }; - - // Return the database's cached transaction controller, or create a new one - const getController = (db, self) => { - let controller = controllers.get(db); - if (!controller) { - const shared = { - commit: db.prepare('COMMIT', self, false), - rollback: db.prepare('ROLLBACK', self, false), - savepoint: db.prepare('SAVEPOINT `\t_bs3.\t`', self, false), - release: db.prepare('RELEASE `\t_bs3.\t`', self, false), - rollbackTo: db.prepare('ROLLBACK TO `\t_bs3.\t`', self, false), - }; - controllers.set(db, controller = { - default: Object.assign({ begin: db.prepare('BEGIN', self, false) }, shared), - deferred: Object.assign({ begin: db.prepare('BEGIN DEFERRED', self, false) }, shared), - immediate: Object.assign({ begin: db.prepare('BEGIN IMMEDIATE', self, false) }, shared), - exclusive: Object.assign({ begin: db.prepare('BEGIN EXCLUSIVE', self, false) }, shared), - }); - } - return controller; - }; - - // Return a new transaction function by wrapping the given function - const wrapTransaction = (apply, fn, db, { begin, commit, rollback, savepoint, release, rollbackTo }) => function sqliteTransaction() { - let before, after, undo; - if (db.inTransaction) { - before = savepoint; - after = release; - undo = rollbackTo; - } else { - before = begin; - after = commit; - undo = rollback; - } - before.run(); - try { - const result = apply.call(fn, this, arguments); - after.run(); - return result; - } catch (ex) { - if (db.inTransaction) { - undo.run(); - if (undo !== rollback) after.run(); - } - throw ex; - } - }; - return transaction; - } - - var pragma; - var hasRequiredPragma; - - function requirePragma () { - if (hasRequiredPragma) return pragma; - hasRequiredPragma = 1; - 'use strict'; - const { getBooleanOption, cppdb } = requireUtil(); - - pragma = function pragma(source, options) { - if (options == null) options = {}; - if (typeof source !== 'string') throw new TypeError('Expected first argument to be a string'); - if (typeof options !== 'object') throw new TypeError('Expected second argument to be an options object'); - const simple = getBooleanOption(options, 'simple'); - - const stmt = this[cppdb].prepare(`PRAGMA ${source}`, this, true); - return simple ? stmt.pluck().get() : stmt.all(); - }; - return pragma; - } - - var inherits; - if (typeof Object.create === 'function'){ - inherits = function inherits(ctor, superCtor) { - // implementation from standard node.js 'util' module - ctor.super_ = superCtor; - ctor.prototype = Object.create(superCtor.prototype, { - constructor: { - value: ctor, - enumerable: false, - writable: true, - configurable: true - } - }); - }; - } else { - inherits = function inherits(ctor, superCtor) { - ctor.super_ = superCtor; - var TempCtor = function () {}; - TempCtor.prototype = superCtor.prototype; - ctor.prototype = new TempCtor(); - ctor.prototype.constructor = ctor; - }; - } - var inherits$1 = inherits; - - var getOwnPropertyDescriptors = Object.getOwnPropertyDescriptors || - function getOwnPropertyDescriptors(obj) { - var keys = Object.keys(obj); - var descriptors = {}; - for (var i = 0; i < keys.length; i++) { - descriptors[keys[i]] = Object.getOwnPropertyDescriptor(obj, keys[i]); - } - return descriptors; - }; - - var formatRegExp = /%[sdj%]/g; - function format(f) { - if (!isString(f)) { - var objects = []; - for (var i = 0; i < arguments.length; i++) { - objects.push(inspect$1(arguments[i])); - } - return objects.join(' '); - } - - var i = 1; - var args = arguments; - var len = args.length; - var str = String(f).replace(formatRegExp, function(x) { - if (x === '%%') return '%'; - if (i >= len) return x; - switch (x) { - case '%s': return String(args[i++]); - case '%d': return Number(args[i++]); - case '%j': - try { - return JSON.stringify(args[i++]); - } catch (_) { - return '[Circular]'; - } - default: - return x; - } - }); - for (var x = args[i]; i < len; x = args[++i]) { - if (isNull(x) || !isObject(x)) { - str += ' ' + x; - } else { - str += ' ' + inspect$1(x); - } - } - return str; - }; - - - // Mark that a method should not be used. - // Returns a modified function which warns once by default. - // If --no-deprecation is set, then it is a no-op. - function deprecate(fn, msg) { - // Allow for deprecating things in the process of starting up. - if (isUndefined(global$1.process)) { - return function() { - return deprecate(fn, msg).apply(this, arguments); - }; - } - - if (browser$1.noDeprecation === true) { - return fn; - } - - var warned = false; - function deprecated() { - if (!warned) { - if (browser$1.throwDeprecation) { - throw new Error(msg); - } else if (browser$1.traceDeprecation) { - console.trace(msg); - } else { - console.error(msg); - } - warned = true; - } - return fn.apply(this, arguments); - } - - return deprecated; - }; - - - var debugs = {}; - var debugEnviron; - function debuglog(set) { - if (isUndefined(debugEnviron)) - debugEnviron = browser$1.env.NODE_DEBUG || ''; - set = set.toUpperCase(); - if (!debugs[set]) { - if (new RegExp('\\b' + set + '\\b', 'i').test(debugEnviron)) { - var pid = 0; - debugs[set] = function() { - var msg = format.apply(null, arguments); - console.error('%s %d: %s', set, pid, msg); - }; - } else { - debugs[set] = function() {}; - } - } - return debugs[set]; - }; - - - /** - * Echos the value of a value. Trys to print the value out - * in the best way possible given the different types. - * - * @param {Object} obj The object to print out. - * @param {Object} opts Optional options object that alters the output. - */ - /* legacy: obj, showHidden, depth, colors*/ - function inspect$1(obj, opts) { - // default options - var ctx = { - seen: [], - stylize: stylizeNoColor - }; - // legacy... - if (arguments.length >= 3) ctx.depth = arguments[2]; - if (arguments.length >= 4) ctx.colors = arguments[3]; - if (isBoolean(opts)) { - // legacy... - ctx.showHidden = opts; - } else if (opts) { - // got an "options" object - _extend(ctx, opts); - } - // set default options - if (isUndefined(ctx.showHidden)) ctx.showHidden = false; - if (isUndefined(ctx.depth)) ctx.depth = 2; - if (isUndefined(ctx.colors)) ctx.colors = false; - if (isUndefined(ctx.customInspect)) ctx.customInspect = true; - if (ctx.colors) ctx.stylize = stylizeWithColor; - return formatValue(ctx, obj, ctx.depth); - } - - // http://en.wikipedia.org/wiki/ANSI_escape_code#graphics - inspect$1.colors = { - 'bold' : [1, 22], - 'italic' : [3, 23], - 'underline' : [4, 24], - 'inverse' : [7, 27], - 'white' : [37, 39], - 'grey' : [90, 39], - 'black' : [30, 39], - 'blue' : [34, 39], - 'cyan' : [36, 39], - 'green' : [32, 39], - 'magenta' : [35, 39], - 'red' : [31, 39], - 'yellow' : [33, 39] - }; - - // Don't use 'blue' not visible on cmd.exe - inspect$1.styles = { - 'special': 'cyan', - 'number': 'yellow', - 'boolean': 'yellow', - 'undefined': 'grey', - 'null': 'bold', - 'string': 'green', - 'date': 'magenta', - // "name": intentionally not styling - 'regexp': 'red' - }; - - - function stylizeWithColor(str, styleType) { - var style = inspect$1.styles[styleType]; - - if (style) { - return '\u001b[' + inspect$1.colors[style][0] + 'm' + str + - '\u001b[' + inspect$1.colors[style][1] + 'm'; - } else { - return str; - } - } - - - function stylizeNoColor(str, styleType) { - return str; - } - - - function arrayToHash(array) { - var hash = {}; - - array.forEach(function(val, idx) { - hash[val] = true; - }); - - return hash; - } - - - function formatValue(ctx, value, recurseTimes) { - // Provide a hook for user-specified inspect functions. - // Check that value is an object with an inspect function on it - if (ctx.customInspect && - value && - isFunction(value.inspect) && - // Filter out the util module, it's inspect function is special - value.inspect !== inspect$1 && - // Also filter out any prototype objects using the circular check. - !(value.constructor && value.constructor.prototype === value)) { - var ret = value.inspect(recurseTimes, ctx); - if (!isString(ret)) { - ret = formatValue(ctx, ret, recurseTimes); - } - return ret; - } - - // Primitive types cannot have properties - var primitive = formatPrimitive(ctx, value); - if (primitive) { - return primitive; - } - - // Look up the keys of the object. - var keys = Object.keys(value); - var visibleKeys = arrayToHash(keys); - - if (ctx.showHidden) { - keys = Object.getOwnPropertyNames(value); - } - - // IE doesn't make error fields non-enumerable - // http://msdn.microsoft.com/en-us/library/ie/dww52sbt(v=vs.94).aspx - if (isError(value) - && (keys.indexOf('message') >= 0 || keys.indexOf('description') >= 0)) { - return formatError(value); - } - - // Some type of object without properties can be shortcutted. - if (keys.length === 0) { - if (isFunction(value)) { - var name = value.name ? ': ' + value.name : ''; - return ctx.stylize('[Function' + name + ']', 'special'); - } - if (isRegExp(value)) { - return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp'); - } - if (isDate(value)) { - return ctx.stylize(Date.prototype.toString.call(value), 'date'); - } - if (isError(value)) { - return formatError(value); - } - } - - var base = '', array = false, braces = ['{', '}']; - - // Make Array say that they are Array - if (isArray(value)) { - array = true; - braces = ['[', ']']; - } - - // Make functions say that they are functions - if (isFunction(value)) { - var n = value.name ? ': ' + value.name : ''; - base = ' [Function' + n + ']'; - } - - // Make RegExps say that they are RegExps - if (isRegExp(value)) { - base = ' ' + RegExp.prototype.toString.call(value); - } - - // Make dates with properties first say the date - if (isDate(value)) { - base = ' ' + Date.prototype.toUTCString.call(value); - } - - // Make error with message first say the error - if (isError(value)) { - base = ' ' + formatError(value); - } - - if (keys.length === 0 && (!array || value.length == 0)) { - return braces[0] + base + braces[1]; - } - - if (recurseTimes < 0) { - if (isRegExp(value)) { - return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp'); - } else { - return ctx.stylize('[Object]', 'special'); - } - } - - ctx.seen.push(value); - - var output; - if (array) { - output = formatArray(ctx, value, recurseTimes, visibleKeys, keys); - } else { - output = keys.map(function(key) { - return formatProperty(ctx, value, recurseTimes, visibleKeys, key, array); - }); - } - - ctx.seen.pop(); - - return reduceToSingleString(output, base, braces); - } - - - function formatPrimitive(ctx, value) { - if (isUndefined(value)) - return ctx.stylize('undefined', 'undefined'); - if (isString(value)) { - var simple = '\'' + JSON.stringify(value).replace(/^"|"$/g, '') - .replace(/'/g, "\\'") - .replace(/\\"/g, '"') + '\''; - return ctx.stylize(simple, 'string'); - } - if (isNumber(value)) - return ctx.stylize('' + value, 'number'); - if (isBoolean(value)) - return ctx.stylize('' + value, 'boolean'); - // For some reason typeof null is "object", so special case here. - if (isNull(value)) - return ctx.stylize('null', 'null'); - } - - - function formatError(value) { - return '[' + Error.prototype.toString.call(value) + ']'; - } - - - function formatArray(ctx, value, recurseTimes, visibleKeys, keys) { - var output = []; - for (var i = 0, l = value.length; i < l; ++i) { - if (hasOwnProperty(value, String(i))) { - output.push(formatProperty(ctx, value, recurseTimes, visibleKeys, - String(i), true)); - } else { - output.push(''); - } - } - keys.forEach(function(key) { - if (!key.match(/^\d+$/)) { - output.push(formatProperty(ctx, value, recurseTimes, visibleKeys, - key, true)); - } - }); - return output; - } - - - function formatProperty(ctx, value, recurseTimes, visibleKeys, key, array) { - var name, str, desc; - desc = Object.getOwnPropertyDescriptor(value, key) || { value: value[key] }; - if (desc.get) { - if (desc.set) { - str = ctx.stylize('[Getter/Setter]', 'special'); - } else { - str = ctx.stylize('[Getter]', 'special'); - } - } else { - if (desc.set) { - str = ctx.stylize('[Setter]', 'special'); - } - } - if (!hasOwnProperty(visibleKeys, key)) { - name = '[' + key + ']'; - } - if (!str) { - if (ctx.seen.indexOf(desc.value) < 0) { - if (isNull(recurseTimes)) { - str = formatValue(ctx, desc.value, null); - } else { - str = formatValue(ctx, desc.value, recurseTimes - 1); - } - if (str.indexOf('\n') > -1) { - if (array) { - str = str.split('\n').map(function(line) { - return ' ' + line; - }).join('\n').substr(2); - } else { - str = '\n' + str.split('\n').map(function(line) { - return ' ' + line; - }).join('\n'); - } - } - } else { - str = ctx.stylize('[Circular]', 'special'); - } - } - if (isUndefined(name)) { - if (array && key.match(/^\d+$/)) { - return str; - } - name = JSON.stringify('' + key); - if (name.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)) { - name = name.substr(1, name.length - 2); - name = ctx.stylize(name, 'name'); - } else { - name = name.replace(/'/g, "\\'") - .replace(/\\"/g, '"') - .replace(/(^"|"$)/g, "'"); - name = ctx.stylize(name, 'string'); - } - } - - return name + ': ' + str; - } - - - function reduceToSingleString(output, base, braces) { - var numLinesEst = 0; - var length = output.reduce(function(prev, cur) { - numLinesEst++; - if (cur.indexOf('\n') >= 0) numLinesEst++; - return prev + cur.replace(/\u001b\[\d\d?m/g, '').length + 1; - }, 0); - - if (length > 60) { - return braces[0] + - (base === '' ? '' : base + '\n ') + - ' ' + - output.join(',\n ') + - ' ' + - braces[1]; - } - - return braces[0] + base + ' ' + output.join(', ') + ' ' + braces[1]; - } - - - // NOTE: These type checking functions intentionally don't use `instanceof` - // because it is fragile and can be easily faked with `Object.create()`. - function isArray(ar) { - return Array.isArray(ar); - } - - function isBoolean(arg) { - return typeof arg === 'boolean'; - } - - function isNull(arg) { - return arg === null; - } - - function isNullOrUndefined(arg) { - return arg == null; - } - - function isNumber(arg) { - return typeof arg === 'number'; - } - - function isString(arg) { - return typeof arg === 'string'; - } - - function isSymbol(arg) { - return typeof arg === 'symbol'; - } - - function isUndefined(arg) { - return arg === void 0; - } - - function isRegExp(re) { - return isObject(re) && objectToString(re) === '[object RegExp]'; - } - - function isObject(arg) { - return typeof arg === 'object' && arg !== null; - } - - function isDate(d) { - return isObject(d) && objectToString(d) === '[object Date]'; - } - - function isError(e) { - return isObject(e) && - (objectToString(e) === '[object Error]' || e instanceof Error); - } - - function isFunction(arg) { - return typeof arg === 'function'; - } - - function isPrimitive(arg) { - return arg === null || - typeof arg === 'boolean' || - typeof arg === 'number' || - typeof arg === 'string' || - typeof arg === 'symbol' || // ES6 symbol - typeof arg === 'undefined'; - } - - function isBuffer(maybeBuf) { - return Buffer.isBuffer(maybeBuf); - } - - function objectToString(o) { - return Object.prototype.toString.call(o); - } - - - function pad(n) { - return n < 10 ? '0' + n.toString(10) : n.toString(10); - } - - - var months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', - 'Oct', 'Nov', 'Dec']; - - // 26 Feb 16:19:34 - function timestamp() { - var d = new Date(); - var time = [pad(d.getHours()), - pad(d.getMinutes()), - pad(d.getSeconds())].join(':'); - return [d.getDate(), months[d.getMonth()], time].join(' '); - } - - - // log is just a thin wrapper to console.log that prepends a timestamp - function log() { - console.log('%s - %s', timestamp(), format.apply(null, arguments)); - } - - function _extend(origin, add) { - // Don't do anything if add isn't an object - if (!add || !isObject(add)) return origin; - - var keys = Object.keys(add); - var i = keys.length; - while (i--) { - origin[keys[i]] = add[keys[i]]; - } - return origin; - }; - - function hasOwnProperty(obj, prop) { - return Object.prototype.hasOwnProperty.call(obj, prop); - } - - var kCustomPromisifiedSymbol = typeof Symbol !== 'undefined' ? Symbol('util.promisify.custom') : undefined; - - function promisify(original) { - if (typeof original !== 'function') - throw new TypeError('The "original" argument must be of type Function'); - - if (kCustomPromisifiedSymbol && original[kCustomPromisifiedSymbol]) { - var fn = original[kCustomPromisifiedSymbol]; - if (typeof fn !== 'function') { - throw new TypeError('The "util.promisify.custom" argument must be of type Function'); - } - Object.defineProperty(fn, kCustomPromisifiedSymbol, { - value: fn, enumerable: false, writable: false, configurable: true - }); - return fn; - } - - function fn() { - var promiseResolve, promiseReject; - var promise = new Promise(function (resolve, reject) { - promiseResolve = resolve; - promiseReject = reject; - }); - - var args = []; - for (var i = 0; i < arguments.length; i++) { - args.push(arguments[i]); - } - args.push(function (err, value) { - if (err) { - promiseReject(err); - } else { - promiseResolve(value); - } - }); - - try { - original.apply(this, args); - } catch (err) { - promiseReject(err); - } - - return promise; - } - - Object.setPrototypeOf(fn, Object.getPrototypeOf(original)); - - if (kCustomPromisifiedSymbol) Object.defineProperty(fn, kCustomPromisifiedSymbol, { - value: fn, enumerable: false, writable: false, configurable: true - }); - return Object.defineProperties( - fn, - getOwnPropertyDescriptors(original) - ); - } - - promisify.custom = kCustomPromisifiedSymbol; - - function callbackifyOnRejected(reason, cb) { - // `!reason` guard inspired by bluebird (Ref: https://goo.gl/t5IS6M). - // Because `null` is a special error value in callbacks which means "no error - // occurred", we error-wrap so the callback consumer can distinguish between - // "the promise rejected with null" or "the promise fulfilled with undefined". - if (!reason) { - var newReason = new Error('Promise was rejected with a falsy value'); - newReason.reason = reason; - reason = newReason; - } - return cb(reason); - } - - function callbackify(original) { - if (typeof original !== 'function') { - throw new TypeError('The "original" argument must be of type Function'); - } - - // We DO NOT return the promise as it gives the user a false sense that - // the promise is actually somehow related to the callback's execution - // and that the callback throwing will reject the promise. - function callbackified() { - var args = []; - for (var i = 0; i < arguments.length; i++) { - args.push(arguments[i]); - } - - var maybeCb = args.pop(); - if (typeof maybeCb !== 'function') { - throw new TypeError('The last argument must be of type Function'); - } - var self = this; - var cb = function() { - return maybeCb.apply(self, arguments); - }; - // In true node style we process the callback on `nextTick` with all the - // implications (stack, `uncaughtException`, `async_hooks`) - original.apply(this, args) - .then(function(ret) { browser$1.nextTick(cb.bind(null, null, ret)); }, - function(rej) { browser$1.nextTick(callbackifyOnRejected.bind(null, rej, cb)); }); - } - - Object.setPrototypeOf(callbackified, Object.getPrototypeOf(original)); - Object.defineProperties(callbackified, getOwnPropertyDescriptors(original)); - return callbackified; - } - - var _polyfillNode_util = { - inherits: inherits$1, - _extend: _extend, - log: log, - isBuffer: isBuffer, - isPrimitive: isPrimitive, - isFunction: isFunction, - isError: isError, - isDate: isDate, - isObject: isObject, - isRegExp: isRegExp, - isUndefined: isUndefined, - isSymbol: isSymbol, - isString: isString, - isNumber: isNumber, - isNullOrUndefined: isNullOrUndefined, - isNull: isNull, - isBoolean: isBoolean, - isArray: isArray, - inspect: inspect$1, - deprecate: deprecate, - format: format, - debuglog: debuglog, - promisify: promisify, - callbackify: callbackify, - }; + var _polyfillNode_fs = {}; - var _polyfillNode_util$1 = /*#__PURE__*/Object.freeze({ + var _polyfillNode_fs$1 = /*#__PURE__*/Object.freeze({ __proto__: null, - _extend: _extend, - callbackify: callbackify, - debuglog: debuglog, - default: _polyfillNode_util, - deprecate: deprecate, - format: format, - inherits: inherits$1, - inspect: inspect$1, - isArray: isArray, - isBoolean: isBoolean, - isBuffer: isBuffer, - isDate: isDate, - isError: isError, - isFunction: isFunction, - isNull: isNull, - isNullOrUndefined: isNullOrUndefined, - isNumber: isNumber, - isObject: isObject, - isPrimitive: isPrimitive, - isRegExp: isRegExp, - isString: isString, - isSymbol: isSymbol, - isUndefined: isUndefined, - log: log, - promisify: promisify + default: _polyfillNode_fs }); - var require$$2 = /*@__PURE__*/getAugmentedNamespace(_polyfillNode_util$1); - - var backup; - var hasRequiredBackup; - - function requireBackup () { - if (hasRequiredBackup) return backup; - hasRequiredBackup = 1; - 'use strict'; - const fs = require$$2$1; - const path = require$$1; - const { promisify } = require$$2; - const { cppdb } = requireUtil(); - const fsAccess = promisify(fs.access); - - backup = async function backup(filename, options) { - if (options == null) options = {}; - - // Validate arguments - if (typeof filename !== 'string') throw new TypeError('Expected first argument to be a string'); - if (typeof options !== 'object') throw new TypeError('Expected second argument to be an options object'); - - // Interpret options - filename = filename.trim(); - const attachedName = 'attached' in options ? options.attached : 'main'; - const handler = 'progress' in options ? options.progress : null; - - // Validate interpreted options - if (!filename) throw new TypeError('Backup filename cannot be an empty string'); - if (filename === ':memory:') throw new TypeError('Invalid backup filename ":memory:"'); - if (typeof attachedName !== 'string') throw new TypeError('Expected the "attached" option to be a string'); - if (!attachedName) throw new TypeError('The "attached" option cannot be an empty string'); - if (handler != null && typeof handler !== 'function') throw new TypeError('Expected the "progress" option to be a function'); - - // Make sure the specified directory exists - await fsAccess(path.dirname(filename)).catch(() => { - throw new TypeError('Cannot save backup because the directory does not exist'); - }); - - const isNewFile = await fsAccess(filename).then(() => false, () => true); - return runBackup(this[cppdb].backup(this, attachedName, filename, isNewFile), handler || null); - }; - - const runBackup = (backup, handler) => { - let rate = 0; - let useDefault = true; - - return new Promise((resolve, reject) => { - setImmediate(function step() { - try { - const progress = backup.transfer(rate); - if (!progress.remainingPages) { - backup.close(); - resolve(progress); - return; - } - if (useDefault) { - useDefault = false; - rate = 100; - } - if (handler) { - const ret = handler(progress); - if (ret !== undefined) { - if (typeof ret === 'number' && ret === ret) rate = Math.max(0, Math.min(0x7fffffff, Math.round(ret))); - else throw new TypeError('Expected progress callback to return a number or undefined'); - } - } - setImmediate(step); - } catch (err) { - backup.close(); - reject(err); - } - }); - }); - }; - return backup; - } - - var serialize; - var hasRequiredSerialize; - - function requireSerialize () { - if (hasRequiredSerialize) return serialize; - hasRequiredSerialize = 1; - 'use strict'; - const { cppdb } = requireUtil(); - - serialize = function serialize(options) { - if (options == null) options = {}; - - // Validate arguments - if (typeof options !== 'object') throw new TypeError('Expected first argument to be an options object'); - - // Interpret and validate options - const attachedName = 'attached' in options ? options.attached : 'main'; - if (typeof attachedName !== 'string') throw new TypeError('Expected the "attached" option to be a string'); - if (!attachedName) throw new TypeError('The "attached" option cannot be an empty string'); - - return this[cppdb].serialize(attachedName); - }; - return serialize; - } - - var _function; - var hasRequired_function; - - function require_function () { - if (hasRequired_function) return _function; - hasRequired_function = 1; - 'use strict'; - const { getBooleanOption, cppdb } = requireUtil(); - - _function = function defineFunction(name, options, fn) { - // Apply defaults - if (options == null) options = {}; - if (typeof options === 'function') { fn = options; options = {}; } - - // Validate arguments - if (typeof name !== 'string') throw new TypeError('Expected first argument to be a string'); - if (typeof fn !== 'function') throw new TypeError('Expected last argument to be a function'); - if (typeof options !== 'object') throw new TypeError('Expected second argument to be an options object'); - if (!name) throw new TypeError('User-defined function name cannot be an empty string'); - - // Interpret options - const safeIntegers = 'safeIntegers' in options ? +getBooleanOption(options, 'safeIntegers') : 2; - const deterministic = getBooleanOption(options, 'deterministic'); - const directOnly = getBooleanOption(options, 'directOnly'); - const varargs = getBooleanOption(options, 'varargs'); - let argCount = -1; - - // Determine argument count - if (!varargs) { - argCount = fn.length; - if (!Number.isInteger(argCount) || argCount < 0) throw new TypeError('Expected function.length to be a positive integer'); - if (argCount > 100) throw new RangeError('User-defined functions cannot have more than 100 arguments'); - } - - this[cppdb].function(fn, name, argCount, safeIntegers, deterministic, directOnly); - return this; - }; - return _function; - } - - var aggregate; - var hasRequiredAggregate; - - function requireAggregate () { - if (hasRequiredAggregate) return aggregate; - hasRequiredAggregate = 1; - 'use strict'; - const { getBooleanOption, cppdb } = requireUtil(); - - aggregate = function defineAggregate(name, options) { - // Validate arguments - if (typeof name !== 'string') throw new TypeError('Expected first argument to be a string'); - if (typeof options !== 'object' || options === null) throw new TypeError('Expected second argument to be an options object'); - if (!name) throw new TypeError('User-defined function name cannot be an empty string'); - - // Interpret options - const start = 'start' in options ? options.start : null; - const step = getFunctionOption(options, 'step', true); - const inverse = getFunctionOption(options, 'inverse', false); - const result = getFunctionOption(options, 'result', false); - const safeIntegers = 'safeIntegers' in options ? +getBooleanOption(options, 'safeIntegers') : 2; - const deterministic = getBooleanOption(options, 'deterministic'); - const directOnly = getBooleanOption(options, 'directOnly'); - const varargs = getBooleanOption(options, 'varargs'); - let argCount = -1; - - // Determine argument count - if (!varargs) { - argCount = Math.max(getLength(step), inverse ? getLength(inverse) : 0); - if (argCount > 0) argCount -= 1; - if (argCount > 100) throw new RangeError('User-defined functions cannot have more than 100 arguments'); - } - - this[cppdb].aggregate(start, step, inverse, result, name, argCount, safeIntegers, deterministic, directOnly); - return this; - }; - - const getFunctionOption = (options, key, required) => { - const value = key in options ? options[key] : null; - if (typeof value === 'function') return value; - if (value != null) throw new TypeError(`Expected the "${key}" option to be a function`); - if (required) throw new TypeError(`Missing required option "${key}"`); - return null; - }; - - const getLength = ({ length }) => { - if (Number.isInteger(length) && length >= 0) return length; - throw new TypeError('Expected function.length to be a positive integer'); - }; - return aggregate; - } - - var table; - var hasRequiredTable; - - function requireTable () { - if (hasRequiredTable) return table; - hasRequiredTable = 1; - 'use strict'; - const { cppdb } = requireUtil(); - - table = function defineTable(name, factory) { - // Validate arguments - if (typeof name !== 'string') throw new TypeError('Expected first argument to be a string'); - if (!name) throw new TypeError('Virtual table module name cannot be an empty string'); - - // Determine whether the module is eponymous-only or not - let eponymous = false; - if (typeof factory === 'object' && factory !== null) { - eponymous = true; - factory = defer(parseTableDefinition(factory, 'used', name)); - } else { - if (typeof factory !== 'function') throw new TypeError('Expected second argument to be a function or a table definition object'); - factory = wrapFactory(factory); - } - - this[cppdb].table(factory, name, eponymous); - return this; - }; - - function wrapFactory(factory) { - return function virtualTableFactory(moduleName, databaseName, tableName, ...args) { - const thisObject = { - module: moduleName, - database: databaseName, - table: tableName, - }; - - // Generate a new table definition by invoking the factory - const def = apply.call(factory, thisObject, args); - if (typeof def !== 'object' || def === null) { - throw new TypeError(`Virtual table module "${moduleName}" did not return a table definition object`); - } - - return parseTableDefinition(def, 'returned', moduleName); - }; - } - - function parseTableDefinition(def, verb, moduleName) { - // Validate required properties - if (!hasOwnProperty.call(def, 'rows')) { - throw new TypeError(`Virtual table module "${moduleName}" ${verb} a table definition without a "rows" property`); - } - if (!hasOwnProperty.call(def, 'columns')) { - throw new TypeError(`Virtual table module "${moduleName}" ${verb} a table definition without a "columns" property`); - } - - // Validate "rows" property - const rows = def.rows; - if (typeof rows !== 'function' || Object.getPrototypeOf(rows) !== GeneratorFunctionPrototype) { - throw new TypeError(`Virtual table module "${moduleName}" ${verb} a table definition with an invalid "rows" property (should be a generator function)`); - } - - // Validate "columns" property - let columns = def.columns; - if (!Array.isArray(columns) || !(columns = [...columns]).every(x => typeof x === 'string')) { - throw new TypeError(`Virtual table module "${moduleName}" ${verb} a table definition with an invalid "columns" property (should be an array of strings)`); - } - if (columns.length !== new Set(columns).size) { - throw new TypeError(`Virtual table module "${moduleName}" ${verb} a table definition with duplicate column names`); - } - if (!columns.length) { - throw new RangeError(`Virtual table module "${moduleName}" ${verb} a table definition with zero columns`); - } - - // Validate "parameters" property - let parameters; - if (hasOwnProperty.call(def, 'parameters')) { - parameters = def.parameters; - if (!Array.isArray(parameters) || !(parameters = [...parameters]).every(x => typeof x === 'string')) { - throw new TypeError(`Virtual table module "${moduleName}" ${verb} a table definition with an invalid "parameters" property (should be an array of strings)`); - } - } else { - parameters = inferParameters(rows); - } - if (parameters.length !== new Set(parameters).size) { - throw new TypeError(`Virtual table module "${moduleName}" ${verb} a table definition with duplicate parameter names`); - } - if (parameters.length > 32) { - throw new RangeError(`Virtual table module "${moduleName}" ${verb} a table definition with more than the maximum number of 32 parameters`); - } - for (const parameter of parameters) { - if (columns.includes(parameter)) { - throw new TypeError(`Virtual table module "${moduleName}" ${verb} a table definition with column "${parameter}" which was ambiguously defined as both a column and parameter`); - } - } - - // Validate "safeIntegers" option - let safeIntegers = 2; - if (hasOwnProperty.call(def, 'safeIntegers')) { - const bool = def.safeIntegers; - if (typeof bool !== 'boolean') { - throw new TypeError(`Virtual table module "${moduleName}" ${verb} a table definition with an invalid "safeIntegers" property (should be a boolean)`); - } - safeIntegers = +bool; - } - - // Validate "directOnly" option - let directOnly = false; - if (hasOwnProperty.call(def, 'directOnly')) { - directOnly = def.directOnly; - if (typeof directOnly !== 'boolean') { - throw new TypeError(`Virtual table module "${moduleName}" ${verb} a table definition with an invalid "directOnly" property (should be a boolean)`); - } - } - - // Generate SQL for the virtual table definition - const columnDefinitions = [ - ...parameters.map(identifier).map(str => `${str} HIDDEN`), - ...columns.map(identifier), - ]; - return [ - `CREATE TABLE x(${columnDefinitions.join(', ')});`, - wrapGenerator(rows, new Map(columns.map((x, i) => [x, parameters.length + i])), moduleName), - parameters, - safeIntegers, - directOnly, - ]; - } - - function wrapGenerator(generator, columnMap, moduleName) { - return function* virtualTable(...args) { - /* - We must defensively clone any buffers in the arguments, because - otherwise the generator could mutate one of them, which would cause - us to return incorrect values for hidden columns, potentially - corrupting the database. - */ - const output = args.map(x => Buffer.isBuffer(x) ? Buffer.from(x) : x); - for (let i = 0; i < columnMap.size; ++i) { - output.push(null); // Fill with nulls to prevent gaps in array (v8 optimization) - } - for (const row of generator(...args)) { - if (Array.isArray(row)) { - extractRowArray(row, output, columnMap.size, moduleName); - yield output; - } else if (typeof row === 'object' && row !== null) { - extractRowObject(row, output, columnMap, moduleName); - yield output; - } else { - throw new TypeError(`Virtual table module "${moduleName}" yielded something that isn't a valid row object`); - } - } - }; - } - - function extractRowArray(row, output, columnCount, moduleName) { - if (row.length !== columnCount) { - throw new TypeError(`Virtual table module "${moduleName}" yielded a row with an incorrect number of columns`); - } - const offset = output.length - columnCount; - for (let i = 0; i < columnCount; ++i) { - output[i + offset] = row[i]; - } - } - - function extractRowObject(row, output, columnMap, moduleName) { - let count = 0; - for (const key of Object.keys(row)) { - const index = columnMap.get(key); - if (index === undefined) { - throw new TypeError(`Virtual table module "${moduleName}" yielded a row with an undeclared column "${key}"`); - } - output[index] = row[key]; - count += 1; - } - if (count !== columnMap.size) { - throw new TypeError(`Virtual table module "${moduleName}" yielded a row with missing columns`); - } - } - - function inferParameters({ length }) { - if (!Number.isInteger(length) || length < 0) { - throw new TypeError('Expected function.length to be a positive integer'); - } - const params = []; - for (let i = 0; i < length; ++i) { - params.push(`$${i + 1}`); - } - return params; - } - - const { hasOwnProperty } = Object.prototype; - const { apply } = Function.prototype; - const GeneratorFunctionPrototype = Object.getPrototypeOf(function*(){}); - const identifier = str => `"${str.replace(/"/g, '""')}"`; - const defer = x => () => x; - return table; - } - - var inspect; - var hasRequiredInspect; - - function requireInspect () { - if (hasRequiredInspect) return inspect; - hasRequiredInspect = 1; - 'use strict'; - const DatabaseInspection = function Database() {}; - - inspect = function inspect(depth, opts) { - return Object.assign(new DatabaseInspection(), this); - }; - return inspect; - } - - var database; - var hasRequiredDatabase; - - function requireDatabase () { - if (hasRequiredDatabase) return database; - hasRequiredDatabase = 1; - 'use strict'; - const fs = require$$2$1; - const path = require$$1; - const util = requireUtil(); - const SqliteError = requireSqliteError(); - - let DEFAULT_ADDON; - - function Database(filenameGiven, options) { - if (new.target == null) { - return new Database(filenameGiven, options); - } - - // Apply defaults - let buffer; - if (Buffer.isBuffer(filenameGiven)) { - buffer = filenameGiven; - filenameGiven = ':memory:'; - } - if (filenameGiven == null) filenameGiven = ''; - if (options == null) options = {}; - - // Validate arguments - if (typeof filenameGiven !== 'string') throw new TypeError('Expected first argument to be a string'); - if (typeof options !== 'object') throw new TypeError('Expected second argument to be an options object'); - if ('readOnly' in options) throw new TypeError('Misspelled option "readOnly" should be "readonly"'); - if ('memory' in options) throw new TypeError('Option "memory" was removed in v7.0.0 (use ":memory:" filename instead)'); - - // Interpret options - const filename = filenameGiven.trim(); - const anonymous = filename === '' || filename === ':memory:'; - const readonly = util.getBooleanOption(options, 'readonly'); - const fileMustExist = util.getBooleanOption(options, 'fileMustExist'); - const timeout = 'timeout' in options ? options.timeout : 5000; - const verbose = 'verbose' in options ? options.verbose : null; - const nativeBinding = 'nativeBinding' in options ? options.nativeBinding : null; - - // Validate interpreted options - if (readonly && anonymous && !buffer) throw new TypeError('In-memory/temporary databases cannot be readonly'); - if (!Number.isInteger(timeout) || timeout < 0) throw new TypeError('Expected the "timeout" option to be a positive integer'); - if (timeout > 0x7fffffff) throw new RangeError('Option "timeout" cannot be greater than 2147483647'); - if (verbose != null && typeof verbose !== 'function') throw new TypeError('Expected the "verbose" option to be a function'); - if (nativeBinding != null && typeof nativeBinding !== 'string' && typeof nativeBinding !== 'object') throw new TypeError('Expected the "nativeBinding" option to be a string or addon object'); - - // Load the native addon - let addon; - if (nativeBinding == null) { - addon = DEFAULT_ADDON || (DEFAULT_ADDON = requireBindings()('better_sqlite3.node')); - } else if (typeof nativeBinding === 'string') { - // See - const requireFunc = typeof __non_webpack_require__ === 'function' ? __non_webpack_require__ : commonjsRequire; - addon = requireFunc(path.resolve(nativeBinding).replace(/(\.node)?$/, '.node')); - } else { - // See - addon = nativeBinding; - } - - if (!addon.isInitialized) { - addon.setErrorConstructor(SqliteError); - addon.isInitialized = true; - } - - // Make sure the specified directory exists - if (!anonymous && !fs.existsSync(path.dirname(filename))) { - throw new TypeError('Cannot open database because the directory does not exist'); - } - - Object.defineProperties(this, { - [util.cppdb]: { value: new addon.Database(filename, filenameGiven, anonymous, readonly, fileMustExist, timeout, verbose || null, buffer || null) }, - ...wrappers.getters, - }); - } - - const wrappers = requireWrappers(); - Database.prototype.prepare = wrappers.prepare; - Database.prototype.transaction = requireTransaction(); - Database.prototype.pragma = requirePragma(); - Database.prototype.backup = requireBackup(); - Database.prototype.serialize = requireSerialize(); - Database.prototype.function = require_function(); - Database.prototype.aggregate = requireAggregate(); - Database.prototype.table = requireTable(); - Database.prototype.loadExtension = wrappers.loadExtension; - Database.prototype.exec = wrappers.exec; - Database.prototype.close = wrappers.close; - Database.prototype.defaultSafeIntegers = wrappers.defaultSafeIntegers; - Database.prototype.unsafeMode = wrappers.unsafeMode; - Database.prototype[util.inspect] = requireInspect(); - - database = Database; - return database; - } - - var lib = lib$1.exports; - - var hasRequiredLib; - - function requireLib () { - if (hasRequiredLib) return lib$1.exports; - hasRequiredLib = 1; - 'use strict'; - lib$1.exports = requireDatabase(); - lib$1.exports.SqliteError = requireSqliteError(); - return lib$1.exports; - } + var require$$2 = /*@__PURE__*/getAugmentedNamespace(_polyfillNode_fs$1); var _polyfillNode_crypto = {}; @@ -4336,7 +2551,7 @@ if (hasRequiredGeopackage_min) return geopackage_min$2.exports; hasRequiredGeopackage_min = 1; (function (module, exports$1) { - !function(t,e){"object"=='object'&&"object"=='object'?module.exports=e(function(){try{return requireLib()}catch(t){}}()):"function"==typeof undefined&&undefined.amd?undefined(["better-sqlite3"],e):"object"=='object'?exports$1.GeoPackage=e(function(){try{return requireLib()}catch(t){}}()):t.GeoPackage=e(t["better-sqlite3"]);}(self,(__WEBPACK_EXTERNAL_MODULE__1498__=>(()=>{var __webpack_modules__={8927:(t,e,n)=>{var r,i=n(3085).lW,o=n(4155),a=n(5108),s=(r=(r="undefined"!=typeof document&&document.currentScript?document.currentScript.src:void 0)||"/index.js",function(t={}){var e,s,u,l;e||(e=void 0!==t?t:{}),e.ready=new Promise((function(t,e){s=t,u=e;})),(l=e).Qd=l.Qd||[],l.Qd.push((function(){l.MakeSWCanvasSurface=function(t){var e=t;if("CANVAS"!==e.tagName&&!(e=document.getElementById(t)))throw "Canvas with id "+t+" was not found";return (t=l.MakeSurface(e.width,e.height))&&(t.Dd=e),t},l.MakeCanvasSurface||(l.MakeCanvasSurface=l.MakeSWCanvasSurface),l.MakeSurface=function(t,e){var n={width:t,height:e,colorType:l.ColorType.RGBA_8888,alphaType:l.AlphaType.Unpremul,colorSpace:l.ColorSpace.SRGB},r=t*e*4,i=l._malloc(r);return (n=l.Surface._makeRasterDirect(n,i,4*t))&&(n.Dd=null,n.uf=t,n.rf=e,n.tf=r,n.Ue=i,n.getCanvas().clear(l.TRANSPARENT)),n},l.MakeRasterDirectSurface=function(t,e,n){return l.Surface._makeRasterDirect(t,e.byteOffset,n)},l.Surface.prototype.flush=function(t){if(this._flush(),this.Dd){var e=new Uint8ClampedArray(l.HEAPU8.buffer,this.Ue,this.tf);e=new ImageData(e,this.uf,this.rf),t?this.Dd.getContext("2d").putImageData(e,0,0,t[0],t[1],t[2]-t[0],t[3]-t[1]):this.Dd.getContext("2d").putImageData(e,0,0);}},l.Surface.prototype.dispose=function(){this.Ue&&l._free(this.Ue),this.delete();},l.currentContext=l.currentContext||function(){},l.setCurrentContext=l.setCurrentContext||function(){};})),function(t){t.Qd=t.Qd||[],t.Qd.push((function(){function e(t,e,n){return t&&t.hasOwnProperty(e)?t[e]:n}t.GetWebGLContext=function(t,n){if(!t)throw "null canvas passed into makeWebGLContext";var r={alpha:e(n,"alpha",1),depth:e(n,"depth",1),stencil:e(n,"stencil",8),antialias:e(n,"antialias",0),premultipliedAlpha:e(n,"premultipliedAlpha",1),preserveDrawingBuffer:e(n,"preserveDrawingBuffer",0),preferLowPowerToHighPerformance:e(n,"preferLowPowerToHighPerformance",0),failIfMajorPerformanceCaveat:e(n,"failIfMajorPerformanceCaveat",0),enableExtensionsByDefault:e(n,"enableExtensionsByDefault",1),explicitSwapControl:e(n,"explicitSwapControl",0),renderViaOffscreenBackBuffer:e(n,"renderViaOffscreenBackBuffer",0)};if(r.majorVersion=n&&n.majorVersion?n.majorVersion:"undefined"!=typeof WebGL2RenderingContext?2:1,r.explicitSwapControl)throw "explicitSwapControl is not supported";return t=function(t,e){t.cf||(t.cf=t.getContext,t.getContext=function(e,n){return "webgl"==e==(n=t.cf(e,n))instanceof WebGLRenderingContext?n:null});var n=1t.version||!e.jf)&&(e.jf=e.getExtension("EXT_disjoint_timer_query")),e.hg=e.getExtension("WEBGL_multi_draw"),(e.getSupportedExtensions()||[]).forEach((function(t){t.includes("lose_context")||t.includes("debug")||e.getExtension(t);}));}}(r),n}(n,e):0}(t,r),t?(De(t),t):0},t.deleteContext=function(t){Fe===Se[t]&&(Fe=null),"object"==typeof JSEvents&&JSEvents.jg(Se[t].ze.canvas),Se[t]&&Se[t].ze.canvas&&(Se[t].ze.canvas.df=void 0),Se[t]=null;},t.MakeWebGLCanvasSurface=function(e,n,r){n=n||null;var i=e,o="undefined"!=typeof OffscreenCanvas&&i instanceof OffscreenCanvas;if(!("undefined"!=typeof HTMLCanvasElement&&i instanceof HTMLCanvasElement||o||(i=document.getElementById(e),i)))throw "Canvas with id "+e+" was not found";if(!(e=this.GetWebGLContext(i,r))||0>e)throw "failed to create webgl context: err "+e;return r=this.MakeGrContext(e),(n=this.MakeOnScreenGLSurface(r,i.width,i.height,n))?(n.de=e,n.grContext=r,n.openGLversion=i.df.version,n):(n=i.cloneNode(!0),i.parentNode.replaceChild(n,i),n.classList.add("ck-replaced"),t.MakeSWCanvasSurface(n))},t.MakeCanvasSurface=t.MakeWebGLCanvasSurface;}));}(e),function(t){function e(t,e,n,r,i){for(var o=0;o>>0}function a(t){if(t instanceof Float32Array){for(var e=Math.floor(t.length/4),n=new Uint32Array(e),r=0;rs;s++)t.HEAPF32[o+i]=e[a][s],i++;e=r;}else e=X;n.Ud=e;}return n}function f(e){if(!e)return X;if(e.length){if(6===e.length||9===e.length)return c(e,"HEAPF32",R),6===e.length&&t.HEAPF32.set(z,6+R/4),R;if(16===e.length){var n=E.toTypedArray();return n[0]=e[0],n[1]=e[1],n[2]=e[3],n[3]=e[4],n[4]=e[5],n[5]=e[7],n[6]=e[12],n[7]=e[13],n[8]=e[15],R}throw "invalid matrix size"}return (n=E.toTypedArray())[0]=e.m11,n[1]=e.m21,n[2]=e.m41,n[3]=e.m12,n[4]=e.m22,n[5]=e.m42,n[6]=e.m14,n[7]=e.m24,n[8]=e.m44,R}function p(e){for(var n=Array(16),r=0;16>r;r++)n[r]=t.HEAPF32[e/4+r];return n}function d(t,e){return c(t,"HEAPF32",e||D)}function y(t,e,n,r){var i=x.toTypedArray();return i[0]=t,i[1]=e,i[2]=n,i[3]=r,D}function m(e){for(var n=new Float32Array(4),r=0;4>r;r++)n[r]=t.HEAPF32[e/4+r];return n}function g(t,e){return c(t,"HEAPF32",e||k)}function _(t,e){return c(t,"HEAPF32",e||q)}function b(){for(var t=0,e=0;e>>0},t.Color4f=function(t,e,n,r){return void 0===r&&(r=1),Float32Array.of(t,e,n,r)},Object.defineProperty(t,"TRANSPARENT",{get:function(){return t.Color4f(0,0,0,0)}}),Object.defineProperty(t,"BLACK",{get:function(){return t.Color4f(0,0,0,1)}}),Object.defineProperty(t,"WHITE",{get:function(){return t.Color4f(1,1,1,1)}}),Object.defineProperty(t,"RED",{get:function(){return t.Color4f(1,0,0,1)}}),Object.defineProperty(t,"GREEN",{get:function(){return t.Color4f(0,1,0,1)}}),Object.defineProperty(t,"BLUE",{get:function(){return t.Color4f(0,0,1,1)}}),Object.defineProperty(t,"YELLOW",{get:function(){return t.Color4f(1,1,0,1)}}),Object.defineProperty(t,"CYAN",{get:function(){return t.Color4f(0,1,1,1)}}),Object.defineProperty(t,"MAGENTA",{get:function(){return t.Color4f(1,0,1,1)}}),t.getColorComponents=function(t){return [Math.floor(255*t[0]),Math.floor(255*t[1]),Math.floor(255*t[2]),t[3]]},t.parseColorString=function(e,n){if((e=e.toLowerCase()).startsWith("#")){switch(n=255,e.length){case 9:n=parseInt(e.slice(7,9),16);case 7:var r=parseInt(e.slice(1,3),16),i=parseInt(e.slice(3,5),16),o=parseInt(e.slice(5,7),16);break;case 5:n=17*parseInt(e.slice(4,5),16);case 4:r=17*parseInt(e.slice(1,2),16),i=17*parseInt(e.slice(2,3),16),o=17*parseInt(e.slice(3,4),16);}return t.Color(r,i,o,n/255)}return e.startsWith("rgba")?(e=(e=e.slice(5,-1)).split(","),t.Color(+e[0],+e[1],+e[2],s(e[3]))):e.startsWith("rgb")?(e=(e=e.slice(4,-1)).split(","),t.Color(+e[0],+e[1],+e[2],s(e[3]))):e.startsWith("gray(")||e.startsWith("hsl")||!n||void 0===(e=n[e])?t.BLACK:e},t.multiplyByAlpha=function(t,e){return (t=t.slice())[3]=Math.max(0,Math.min(t[3]*e,1)),t},t.Malloc=function(e,n){var r=t._malloc(n*e.BYTES_PER_ELEMENT);return {_ck:!0,length:n,byteOffset:r,he:null,subarray:function(t,e){return (t=this.toTypedArray().subarray(t,e))._ck=!0,t},toTypedArray:function(){return this.he&&this.he.length||(this.he=new e(t.HEAPU8.buffer,r,n),this.he._ck=!0),this.he}}},t.Free=function(e){t._free(e.byteOffset),e.byteOffset=X,e.toTypedArray=null,e.he=null;};var E,w,x,C,M,S,O,A,I,P,R=X,L=X,D=X,k=X,F=X,U=X,G=X,W=X,q=X,H=X,z=Float32Array.of(0,0,1),V={};t.ie=function(){this.ce=[],this.Jd=null,Object.defineProperty(this,"length",{enumerable:!0,get:function(){return this.ce.length/4}});},t.ie.prototype.push=function(t,e,n,r){this.Jd||this.ce.push(t,e,n,r);},t.ie.prototype.set=function(e,n,r,i,o){0>e||e>=this.ce.length/4||(e*=4,this.Jd?(e=this.Jd/4+e,t.HEAPF32[e]=n,t.HEAPF32[e+1]=r,t.HEAPF32[e+2]=i,t.HEAPF32[e+3]=o):(this.ce[e]=n,this.ce[e+1]=r,this.ce[e+2]=i,this.ce[e+3]=o));},t.ie.prototype.build=function(){return this.Jd?this.Jd:this.Jd=c(this.ce,"HEAPF32")},t.ie.prototype.delete=function(){this.Jd&&(t._free(this.Jd),this.Jd=null);},t.Ae=function(){this.Fe=[],this.Jd=null,Object.defineProperty(this,"length",{enumerable:!0,get:function(){return this.Fe.length}});},t.Ae.prototype.push=function(t){this.Jd||this.Fe.push(t);},t.Ae.prototype.set=function(e,n){0>e||e>=this.Fe.length||(e*=4,this.Jd?t.HEAPU32[this.Jd/4+e]=n:this.Fe[e]=n);},t.Ae.prototype.build=function(){return this.Jd?this.Jd:this.Jd=c(this.Fe,"HEAPU32")},t.Ae.prototype.delete=function(){this.Jd&&(t._free(this.Jd),this.Jd=null);},t.RectBuilder=t.ie,t.RSXFormBuilder=t.ie,t.ColorBuilder=t.Ae;var X=0,Y=!new Function("try {return this===window;}catch(e){ return false;}")();t.onRuntimeInitialized=function(){function e(e,n,r,i,o,a){a||(a=4*i.width,i.colorType===t.ColorType.RGBA_F16?a*=2:i.colorType===t.ColorType.RGBA_F32&&(a*=4));var s=a*i.height,u=o?o.byteOffset:t._malloc(s);if(!e._readPixels(i,u,a,n,r))return o||t._free(u),null;if(o)return o.toTypedArray();switch(i.colorType){case t.ColorType.RGBA_8888:case t.ColorType.RGBA_F16:e=new Uint8Array(t.HEAPU8.buffer,u,s).slice();break;case t.ColorType.RGBA_F32:e=new Float32Array(t.HEAPU8.buffer,u,s).slice();break;default:return null}return t._free(u),e}x=t.Malloc(Float32Array,4),D=x.byteOffset,w=t.Malloc(Float32Array,16),L=w.byteOffset,E=t.Malloc(Float32Array,9),R=E.byteOffset,I=t.Malloc(Float32Array,12),q=I.byteOffset,P=t.Malloc(Float32Array,12),H=P.byteOffset,C=t.Malloc(Float32Array,4),k=C.byteOffset,M=t.Malloc(Float32Array,4),F=M.byteOffset,S=t.Malloc(Float32Array,3),U=S.byteOffset,O=t.Malloc(Float32Array,3),G=O.byteOffset,A=t.Malloc(Int32Array,4),W=A.byteOffset,t.ColorSpace.SRGB=t.ColorSpace._MakeSRGB(),t.ColorSpace.DISPLAY_P3=t.ColorSpace._MakeDisplayP3(),t.ColorSpace.ADOBE_RGB=t.ColorSpace._MakeAdobeRGB(),t.Path.MakeFromCmds=function(e){for(var n=0,r=0;rn;n++)e[n]=t.HEAPF32[R/4+n];return e},t.Canvas.prototype.readPixels=function(t,n,r,i,o){return e(this,t,n,r,i,o)},t.Canvas.prototype.saveLayer=function(t,e,n,r){return e=g(e),this._saveLayer(t||null,e,n||null,r||0)},t.Canvas.prototype.writePixels=function(e,n,r,i,o,a,s,u){if(e.byteLength%(n*r))throw "pixels length must be a multiple of the srcWidth * srcHeight";var h=e.byteLength/(n*r);a=a||t.AlphaType.Unpremul,s=s||t.ColorType.RGBA_8888,u=u||t.ColorSpace.SRGB;var f=h*n;return h=c(e,"HEAPU8"),n=this._writePixels({width:n,height:r,colorType:s,alphaType:a,colorSpace:u},h,f,i,o),l(h,e),n},t.ColorFilter.MakeBlend=function(e,n){return e=d(e),t.ColorFilter._MakeBlend(e,n)},t.ColorFilter.MakeMatrix=function(e){if(!e||20!==e.length)throw "invalid color matrix";var n=c(e,"HEAPF32"),r=t.ColorFilter._makeMatrix(n);return l(n,e),r},t.ContourMeasure.prototype.getPosTan=function(t,e){return this._getPosTan(t,k),t=C.toTypedArray(),e?(e.set(t),e):t.slice()},t.ImageFilter.MakeMatrixTransform=function(e,n,r){return e=f(e),t.ImageFilter._MakeMatrixTransform(e,n,r)},t.Paint.prototype.getColor=function(){return this._getColor(D),m(D)},t.Paint.prototype.setColor=function(t,e){e=e||null,t=d(t),this._setColor(t,e);},t.Paint.prototype.setColorComponents=function(t,e,n,r,i){i=i||null,t=y(t,e,n,r),this._setColor(t,i);},t.Path.prototype.getPoint=function(t,e){return this._getPoint(t,k),t=C.toTypedArray(),e?(e[0]=t[0],e[1]=t[1],e):t.slice(0,2)},t.PictureRecorder.prototype.beginRecording=function(t){return t=g(t),this._beginRecording(t)},t.Surface.prototype.makeImageSnapshot=function(t){return t=c(t,"HEAP32",W),this._makeImageSnapshot(t)},t.Surface.prototype.requestAnimationFrame=function(e,n){this.Be||(this.Be=this.getCanvas()),requestAnimationFrame(function(){void 0!==this.de&&t.setCurrentContext(this.de),e(this.Be),this.flush(n);}.bind(this));},t.Surface.prototype.drawOnce=function(e,n){this.Be||(this.Be=this.getCanvas()),requestAnimationFrame(function(){void 0!==this.de&&t.setCurrentContext(this.de),e(this.Be),this.flush(n),this.dispose();}.bind(this));},t.PathEffect.MakeDash=function(e,n){if(n||(n=0),!e.length||1==e.length%2)throw "Intervals array must have even length";var r=c(e,"HEAPF32");return n=t.PathEffect._MakeDash(r,e.length,n),l(r,e),n},t.Shader.MakeColor=function(e,n){return n=n||null,e=d(e),t.Shader._MakeColor(e,n)},t.Shader.Blend=t.Shader.MakeBlend,t.Shader.Color=t.Shader.MakeColor,t.Shader.Lerp=t.Shader.MakeLerp,t.Shader.MakeLinearGradient=function(e,n,r,i,o,a,s,u){u=u||null;var p=h(r),d=c(i,"HEAPF32");s=s||0,a=f(a);var y=C.toTypedArray();return y.set(e),y.set(n,2),e=t.Shader._MakeLinearGradient(k,p.Ud,p.colorType,d,p.count,o,s,a,u),l(p.Ud,r),i&&l(d,i),e},t.Shader.MakeRadialGradient=function(e,n,r,i,o,a,s,u){u=u||null;var p=h(r),d=c(i,"HEAPF32");return s=s||0,a=f(a),e=t.Shader._MakeRadialGradient(e[0],e[1],n,p.Ud,p.colorType,d,p.count,o,s,a,u),l(p.Ud,r),i&&l(d,i),e},t.Shader.MakeSweepGradient=function(e,n,r,i,o,a,s,u,p,d){d=d||null;var y=h(r),m=c(i,"HEAPF32");return s=s||0,u=u||0,p=p||360,a=f(a),e=t.Shader._MakeSweepGradient(e,n,y.Ud,y.colorType,m,y.count,o,u,p,s,a,d),l(y.Ud,r),i&&l(m,i),e},t.Shader.MakeTwoPointConicalGradient=function(e,n,r,i,o,a,s,u,p,d){d=d||null;var y=h(o),m=c(a,"HEAPF32");p=p||0,u=f(u);var g=C.toTypedArray();return g.set(e),g.set(r,2),e=t.Shader._MakeTwoPointConicalGradient(k,n,i,y.Ud,y.colorType,m,y.count,s,p,u,d),l(y.Ud,o),a&&l(m,a),e},t.Vertices.prototype.bounds=function(t){this._bounds(k);var e=C.toTypedArray();return t?(t.set(e),t):e.slice()},t.Qd&&t.Qd.forEach((function(t){t();}));},t.computeTonalColors=function(t){var e=c(t.ambient,"HEAPF32"),n=c(t.spot,"HEAPF32");this._computeTonalColors(e,n);var r={ambient:m(e),spot:m(n)};return l(e,t.ambient),l(n,t.spot),r},t.LTRBRect=function(t,e,n,r){return Float32Array.of(t,e,n,r)},t.XYWHRect=function(t,e,n,r){return Float32Array.of(t,e,t+n,e+r)},t.LTRBiRect=function(t,e,n,r){return Int32Array.of(t,e,n,r)},t.XYWHiRect=function(t,e,n,r){return Int32Array.of(t,e,t+n,e+r)},t.RRectXY=function(t,e,n){return Float32Array.of(t[0],t[1],t[2],t[3],e,n,e,n,e,n,e,n)},t.MakeAnimatedImageFromEncoded=function(e){e=new Uint8Array(e);var n=t._malloc(e.byteLength);return t.HEAPU8.set(e,n),(e=t._decodeAnimatedImage(n,e.byteLength))?e:null},t.MakeImageFromEncoded=function(e){e=new Uint8Array(e);var n=t._malloc(e.byteLength);return t.HEAPU8.set(e,n),(e=t._decodeImage(n,e.byteLength))?e:null};var Z=null;t.MakeImageFromCanvasImageSource=function(e){var n=e.width,r=e.height;Z||(Z=document.createElement("canvas")),Z.width=n,Z.height=r;var i=Z.getContext("2d");return i.drawImage(e,0,0),e=i.getImageData(0,0,n,r),t.MakeImage({width:n,height:r,alphaType:t.AlphaType.Unpremul,colorType:t.ColorType.RGBA_8888,colorSpace:t.ColorSpace.SRGB},e.data,4*n)},t.MakeImage=function(e,n,r){var i=t._malloc(n.length);return t.HEAPU8.set(n,i),t._MakeImage(e,i,n.length,r)},t.MakeVertices=function(e,n,r,i,o,s){var u=o&&o.length||0,l=0;if(r&&r.length&&(l|=1),i&&i.length&&(l|=2),void 0===s||s||(l|=4),c(n,"HEAPF32",(e=new t._VerticesBuilder(e,n.length/2,u,l)).positions()),e.texCoords()&&c(r,"HEAPF32",e.texCoords()),e.colors()){if(i.build)throw "Color builder not accepted by MakeVertices, use array of ints";c(a(i),"HEAPU32",e.colors());}return e.indices()&&c(o,"HEAPU16",e.indices()),e.detach()},t.Matrix={},t.Matrix.identity=function(){return n(3)},t.Matrix.invert=function(t){var e=t[0]*t[4]*t[8]+t[1]*t[5]*t[6]+t[2]*t[3]*t[7]-t[2]*t[4]*t[6]-t[1]*t[3]*t[8]-t[0]*t[5]*t[7];return e?[(t[4]*t[8]-t[5]*t[7])/e,(t[2]*t[7]-t[1]*t[8])/e,(t[1]*t[5]-t[2]*t[4])/e,(t[5]*t[6]-t[3]*t[8])/e,(t[0]*t[8]-t[2]*t[6])/e,(t[2]*t[3]-t[0]*t[5])/e,(t[3]*t[7]-t[4]*t[6])/e,(t[1]*t[6]-t[0]*t[7])/e,(t[0]*t[4]-t[1]*t[3])/e]:null},t.Matrix.mapPoints=function(t,e){for(var n=0;ni;i+=5){for(var o=0;4>o;o++)n[r++]=t[i]*e[o]+t[i+1]*e[o+5]+t[i+2]*e[o+10]+t[i+3]*e[o+15];n[r++]=t[i]*e[4]+t[i+1]*e[9]+t[i+2]*e[14]+t[i+3]*e[19]+t[i+4];}return n},t.Qd=t.Qd||[],t.Qd.push((function(){t.Path.prototype.op=function(t,e){return this._op(t,e)?this:null},t.Path.prototype.simplify=function(){return this._simplify()?this:null};})),t.Qd=t.Qd||[],t.Qd.push((function(){t.Canvas.prototype.drawText=function(e,n,r,i,o){var a=j(e),s=t._malloc(a+1);B(e,N,s,a+1),this._drawSimpleText(s,a,n,r,o,i),t._free(s);},t.Font.prototype.getGlyphBounds=function(e,n,r){var i=c(e,"HEAPU16"),o=t._malloc(16*e.length);return this._getGlyphWidthBounds(i,e.length,X,o,n||null),n=new Float32Array(t.HEAPU8.buffer,o,4*e.length),l(i,e),r?(r.set(n),t._free(o),r):(e=Float32Array.from(n),t._free(o),e)},t.Font.prototype.getGlyphIDs=function(e,n,r){n||(n=e.length);var i=j(e)+1,o=t._malloc(i);return B(e,N,o,i),e=t._malloc(2*n),n=this._getGlyphIDs(o,i-1,n,e),t._free(o),0>n?(t._free(e),null):(o=new Uint16Array(t.HEAPU8.buffer,e,n),r?(r.set(o),t._free(e),r):(r=Uint32Array.from(o),t._free(e),r))},t.Font.prototype.getGlyphWidths=function(e,n,r){var i=c(e,"HEAPU16"),o=t._malloc(4*e.length);return this._getGlyphWidthBounds(i,e.length,o,X,n||null),n=new Float32Array(t.HEAPU8.buffer,o,e.length),l(i,e),r?(r.set(n),t._free(o),r):(e=Float32Array.from(n),t._free(o),e)},t.FontMgr.FromData=function(){if(!arguments.length)return null;var e=arguments;if(1===e.length&&Array.isArray(e[0])&&(e=arguments[0]),!e.length)return null;for(var n=[],r=[],i=0;is.length()){if(s.delete(),!(s=n.next())){e=e.substring(0,l);break}i=c/2;}s.getPosTan(i,u);var h=u[2],f=u[3];o.push(h,f,u[0]-c/2*h,u[1]-c/2*f),i+=c/2;}return e=this.MakeFromRSXform(e,o,r),o.delete(),s&&s.delete(),n.delete(),e}},t.TextBlob.MakeFromRSXform=function(e,n,r){var i=j(e)+1,o=t._malloc(i);return B(e,N,o,i),e=n.build?n.build():c(n,"HEAPF32"),r=t.TextBlob._MakeFromRSXform(o,i-1,e,r),t._free(o),r||null},t.TextBlob.MakeFromRSXformGlyphs=function(e,n,r){var i=c(e,"HEAPU16");return n=n.build?n.build():c(n,"HEAPF32"),r=t.TextBlob._MakeFromRSXformGlyphs(i,2*e.length,n,r),l(i,e),r||null},t.TextBlob.MakeFromGlyphs=function(e,n){var r=c(e,"HEAPU16");return n=t.TextBlob._MakeFromGlyphs(r,2*e.length,n),l(r,e),n||null},t.TextBlob.MakeFromText=function(e,n){var r=j(e)+1,i=t._malloc(r);return B(e,N,i,r),e=t.TextBlob._MakeFromText(i,r-1,n),t._free(i),e||null},t.MallocGlyphIDs=function(e){return t.Malloc(Uint16Array,e)};})),function(){function e(t){for(var e=0;et||1=t||!t||(this.Ee=t,this.Fd.setStrokeWidth(t));}}),Object.defineProperty(this,"miterLimit",{enumerable:!0,get:function(){return this.Fd.getStrokeMiter()},set:function(t){0>=t||!t||this.Fd.setStrokeMiter(t);}}),Object.defineProperty(this,"shadowBlur",{enumerable:!0,get:function(){return this.oe},set:function(t){0>t||!isFinite(t)||(this.oe=t);}}),Object.defineProperty(this,"shadowColor",{enumerable:!0,get:function(){return n(this.De)},set:function(t){this.De=o(t);}}),Object.defineProperty(this,"shadowOffsetX",{enumerable:!0,get:function(){return this.pe},set:function(t){isFinite(t)&&(this.pe=t);}}),Object.defineProperty(this,"shadowOffsetY",{enumerable:!0,get:function(){return this.qe},set:function(t){isFinite(t)&&(this.qe=t);}}),Object.defineProperty(this,"strokeStyle",{enumerable:!0,get:function(){return n(this.Xd)},set:function(t){"string"==typeof t?this.Xd=o(t):t.me&&(this.Xd=t);}}),this.arc=function(t,e,n,r,i,o){d(this.Hd,t,e,n,n,0,r,i,o);},this.arcTo=function(t,e,n,r,i){h(this.Hd,t,e,n,r,i);},this.beginPath=function(){this.Hd.delete(),this.Hd=new t.Path;},this.bezierCurveTo=function(t,n,r,i,o,a){var s=this.Hd;e([t,n,r,i,o,a])&&(s.isEmpty()&&s.moveTo(t,n),s.cubicTo(t,n,r,i,o,a));},this.clearRect=function(e,n,r,i){this.Fd.setStyle(t.PaintStyle.Fill),this.Fd.setBlendMode(t.BlendMode.Clear),this.Dd.drawRect(t.XYWHRect(e,n,r,i),this.Fd),this.Fd.setBlendMode(this.Ed);},this.clip=function(e,n){"string"==typeof e?(n=e,e=this.Hd):e&&e.Te&&(e=e.Ld),e||(e=this.Hd),e=e.copy(),n&&"evenodd"===n.toLowerCase()?e.setFillType(t.FillType.EvenOdd):e.setFillType(t.FillType.Winding),this.Dd.clipPath(e,t.ClipOp.Intersect,!0),e.delete();},this.closePath=function(){f(this.Hd);},this.createImageData=function(){if(1===arguments.length){var t=arguments[0];return new l(new Uint8ClampedArray(4*t.width*t.height),t.width,t.height)}if(2===arguments.length){t=arguments[0];var e=arguments[1];return new l(new Uint8ClampedArray(4*t*e),t,e)}throw "createImageData expects 1 or 2 arguments, got "+arguments.length},this.createLinearGradient=function(t,n,r,i){if(e(arguments)){var o=new c(t,n,r,i);return this.ue.push(o),o}},this.createPattern=function(t,e){return t=new g(t,e),this.ue.push(t),t},this.createRadialGradient=function(t,n,r,i,o,a){if(e(arguments)){var s=new _(t,n,r,i,o,a);return this.ue.push(s),s}},this.drawImage=function(e){var n=this.Je();if(3===arguments.length||5===arguments.length)var r=t.XYWHRect(arguments[1],arguments[2],arguments[3]||e.width(),arguments[4]||e.height()),i=t.XYWHRect(0,0,e.width(),e.height());else {if(9!==arguments.length)throw "invalid number of args for drawImage, need 3, 5, or 9; got "+arguments.length;r=t.XYWHRect(arguments[5],arguments[6],arguments[7],arguments[8]),i=t.XYWHRect(arguments[1],arguments[2],arguments[3],arguments[4]);}this.Dd.drawImageRect(e,i,r,n,!1),n.dispose();},this.ellipse=function(t,e,n,r,i,o,a,s){d(this.Hd,t,e,n,r,i,o,a,s);},this.Je=function(){var e=this.Fd.copy();if(e.setStyle(t.PaintStyle.Fill),r(this.Sd)){var n=t.multiplyByAlpha(this.Sd,this.$d);e.setColor(n);}else n=this.Sd.me(this.Id),e.setColor(t.Color(0,0,0,this.$d)),e.setShader(n);return e.dispose=function(){this.delete();},e},this.fill=function(e,n){if("string"==typeof e?(n=e,e=this.Hd):e&&e.Te&&(e=e.Ld),"evenodd"===n)this.Hd.setFillType(t.FillType.EvenOdd);else {if("nonzero"!==n&&n)throw "invalid fill rule";this.Hd.setFillType(t.FillType.Winding);}e||(e=this.Hd),n=this.Je();var r=this.re(n);r&&(this.Dd.save(),this.je(),this.Dd.drawPath(e,r),this.Dd.restore(),r.dispose()),this.Dd.drawPath(e,n),n.dispose();},this.fillRect=function(e,n,r,i){var o=this.Je(),a=this.re(o);a&&(this.Dd.save(),this.je(),this.Dd.drawRect(t.XYWHRect(e,n,r,i),a),this.Dd.restore(),a.dispose()),this.Dd.drawRect(t.XYWHRect(e,n,r,i),o),o.dispose();},this.fillText=function(e,n,r){var i=this.Je();e=t.TextBlob.MakeFromText(e,this.le);var o=this.re(i);o&&(this.Dd.save(),this.je(),this.Dd.drawTextBlob(e,n,r,o),this.Dd.restore(),o.dispose()),this.Dd.drawTextBlob(e,n,r,i),e.delete(),i.dispose();},this.getImageData=function(e,n,r,i){return (e=this.Dd.readPixels(e,n,{width:r,height:i,colorType:t.ColorType.RGBA_8888,alphaType:t.AlphaType.Unpremul,colorSpace:t.ColorSpace.SRGB}))?new l(new Uint8ClampedArray(e.buffer),r,i):null},this.getLineDash=function(){return this.ne.slice()},this.ff=function(e){var n=t.Matrix.invert(this.Id);return t.Matrix.mapPoints(n,e),e},this.isPointInPath=function(e,n,r){var i=arguments;if(3===i.length)var o=this.Hd;else {if(4!==i.length)throw "invalid arg count, need 3 or 4, got "+i.length;o=i[0],e=i[1],n=i[2],r=i[3];}return !(!isFinite(e)||!isFinite(n))&&("nonzero"===(r=r||"nonzero")||"evenodd"===r)&&(e=(i=this.ff([e,n]))[0],n=i[1],o.setFillType("nonzero"===r?t.FillType.Winding:t.FillType.EvenOdd),o.contains(e,n))},this.isPointInStroke=function(e,n){var r=arguments;if(2===r.length)var i=this.Hd;else {if(3!==r.length)throw "invalid arg count, need 2 or 3, got "+r.length;i=r[0],e=r[1],n=r[2];}return !(!isFinite(e)||!isFinite(n))&&(e=(r=this.ff([e,n]))[0],n=r[1],(i=i.copy()).setFillType(t.FillType.Winding),i.stroke({width:this.lineWidth,miter_limit:this.miterLimit,cap:this.Fd.getStrokeCap(),join:this.Fd.getStrokeJoin(),precision:.3}),r=i.contains(e,n),i.delete(),r)},this.lineTo=function(t,e){y(this.Hd,t,e);},this.measureText=function(){throw Error("Clients wishing to properly measure text should use the Paragraph API")},this.moveTo=function(t,n){var r=this.Hd;e([t,n])&&r.moveTo(t,n);},this.putImageData=function(n,r,i,o,a,s,u){if(e([r,i,o,a,s,u]))if(void 0===o)this.Dd.writePixels(n.data,n.width,n.height,r,i);else if(o=o||0,a=a||0,s=s||n.width,u=u||n.height,0>s&&(o+=s,s=Math.abs(s)),0>u&&(a+=u,u=Math.abs(u)),0>o&&(s+=o,o=0),0>a&&(u+=a,a=0),!(0>=s||0>=u)){n=t.MakeImage({width:n.width,height:n.height,alphaType:t.AlphaType.Unpremul,colorType:t.ColorType.RGBA_8888,colorSpace:t.ColorSpace.SRGB},n.data,4*n.width);var l=t.XYWHRect(o,a,s,u);r=t.XYWHRect(r+o,i+a,s,u),i=t.Matrix.invert(this.Id),this.Dd.save(),this.Dd.concat(i),this.Dd.drawImageRect(n,l,r,null,!1),this.Dd.restore(),n.delete();}},this.quadraticCurveTo=function(t,n,r,i){var o=this.Hd;e([t,n,r,i])&&(o.isEmpty()&&o.moveTo(t,n),o.quadTo(t,n,r,i));},this.rect=function(n,r,i,o){var a=this.Hd;e(n=t.XYWHRect(n,r,i,o))&&a.addRect(n);},this.resetTransform=function(){this.Hd.transform(this.Id);var e=t.Matrix.invert(this.Id);this.Dd.concat(e),this.Id=this.Dd.getTotalMatrix();},this.restore=function(){var e=this.ef.pop();if(e){var n=t.Matrix.multiply(this.Id,t.Matrix.invert(e.wf));this.Hd.transform(n),this.Fd.delete(),this.Fd=e.Pf,this.ne=e.Nf,this.Ee=e.bg,this.Xd=e.ag,this.Sd=e.fs,this.pe=e.Zf,this.qe=e.$f,this.oe=e.Tf,this.De=e.Yf,this.$d=e.Cf,this.Ed=e.Df,this.Ce=e.Of,this.Ke=e.Bf,this.Dd.restore(),this.Id=this.Dd.getTotalMatrix();}},this.rotate=function(e){if(isFinite(e)){var n=t.Matrix.rotated(-e);this.Hd.transform(n),this.Dd.rotate(e/Math.PI*180,0,0),this.Id=this.Dd.getTotalMatrix();}},this.save=function(){if(this.Sd.ke){var t=this.Sd.ke();this.ue.push(t);}else t=this.Sd;if(this.Xd.ke){var e=this.Xd.ke();this.ue.push(e);}else e=this.Xd;this.ef.push({wf:this.Id.slice(),Nf:this.ne.slice(),bg:this.Ee,ag:e,fs:t,Zf:this.pe,$f:this.qe,Tf:this.oe,Yf:this.De,Cf:this.$d,Of:this.Ce,Df:this.Ed,Pf:this.Fd.copy(),Bf:this.Ke}),this.Dd.save();},this.scale=function(n,r){if(e(arguments)){var i=t.Matrix.scaled(1/n,1/r);this.Hd.transform(i),this.Dd.scale(n,r),this.Id=this.Dd.getTotalMatrix();}},this.setLineDash=function(t){for(var e=0;et[e])return;1==t.length%2&&Array.prototype.push.apply(t,t),this.ne=t;},this.setTransform=function(t,n,r,i,o,a){e(arguments)&&(this.resetTransform(),this.transform(t,n,r,i,o,a));},this.je=function(){var e=t.Matrix.invert(this.Id);this.Dd.concat(e),this.Dd.concat(t.Matrix.translated(this.pe,this.qe)),this.Dd.concat(this.Id);},this.re=function(e){var n=t.multiplyByAlpha(this.De,this.$d);if(!t.getColorComponents(n)[3]||!(this.oe||this.qe||this.pe))return null;(e=e.copy()).setColor(n);var r=t.MaskFilter.MakeBlur(t.BlurStyle.Normal,this.oe/2,!1);return e.setMaskFilter(r),e.dispose=function(){r.delete(),this.delete();},e},this.Ve=function(){var e=this.Fd.copy();if(e.setStyle(t.PaintStyle.Stroke),r(this.Xd)){var n=t.multiplyByAlpha(this.Xd,this.$d);e.setColor(n);}else n=this.Xd.me(this.Id),e.setColor(t.Color(0,0,0,this.$d)),e.setShader(n);if(e.setStrokeWidth(this.Ee),this.ne.length){var i=t.PathEffect.MakeDash(this.ne,this.Ce);e.setPathEffect(i);}return e.dispose=function(){i&&i.delete(),this.delete();},e},this.stroke=function(t){t=t?t.Ld:this.Hd;var e=this.Ve(),n=this.re(e);n&&(this.Dd.save(),this.je(),this.Dd.drawPath(t,n),this.Dd.restore(),n.dispose()),this.Dd.drawPath(t,e),e.dispose();},this.strokeRect=function(e,n,r,i){var o=this.Ve(),a=this.re(o);a&&(this.Dd.save(),this.je(),this.Dd.drawRect(t.XYWHRect(e,n,r,i),a),this.Dd.restore(),a.dispose()),this.Dd.drawRect(t.XYWHRect(e,n,r,i),o),o.dispose();},this.strokeText=function(e,n,r){var i=this.Ve();e=t.TextBlob.MakeFromText(e,this.le);var o=this.re(i);o&&(this.Dd.save(),this.je(),this.Dd.drawTextBlob(e,n,r,o),this.Dd.restore(),o.dispose()),this.Dd.drawTextBlob(e,n,r,i),e.delete(),i.dispose();},this.translate=function(n,r){if(e(arguments)){var i=t.Matrix.translated(-n,-r);this.Hd.transform(i),this.Dd.translate(n,r),this.Id=this.Dd.getTotalMatrix();}},this.transform=function(e,n,r,i,o,a){e=[e,r,o,n,i,a,0,0,1],n=t.Matrix.invert(e),this.Hd.transform(n),this.Dd.concat(e),this.Id=this.Dd.getTotalMatrix();},this.addHitRegion=function(){},this.clearHitRegions=function(){},this.drawFocusIfNeeded=function(){},this.removeHitRegion=function(){},this.scrollPathIntoView=function(){},Object.defineProperty(this,"canvas",{value:null,writable:!1});}function u(e){this.We=e,this.de=new s(e.getCanvas()),this.Le=[],this.qf=t.FontMgr.RefDefault(),this.decodeImage=function(e){if(!(e=t.MakeImageFromEncoded(e)))throw "Invalid input";return this.Le.push(e),e},this.loadFont=function(t,e){if(!(t=this.qf.MakeTypefaceFromData(t)))return null;this.Le.push(t);var n=(e.style||"normal")+"|"+(e.variant||"normal")+"|"+(e.weight||"normal");e=e.family,T[e]||(T[e]={"*":t}),T[e][n]=t;},this.makePath2D=function(t){return t=new m(t),this.Le.push(t.Ld),t},this.getContext=function(t){return "2d"===t?this.de:null},this.toDataURL=function(e,n){this.We.flush();var r=this.We.makeImageSnapshot();if(r){e=e||"image/png";var o=t.ImageFormat.PNG;if("image/jpeg"===e&&(o=t.ImageFormat.JPEG),n=r.encodeToBytes(o,n||.92)){if(r.delete(),e="data:"+e+";base64,",Y)n=i.from(n).toString("base64");else {r=0,o=n.length;for(var a,s="";rt||1t);n++);this.Pd.splice(n,0,t),this.Td.splice(n,0,e);}},this.ke=function(){var t=new c(e,n,r,i);return t.Td=this.Td.slice(),t.Pd=this.Pd.slice(),t},this.be=function(){this.Nd&&(this.Nd.delete(),this.Nd=null);},this.me=function(o){var a=[e,n,r,i];t.Matrix.mapPoints(o,a),o=a[0];var s=a[1],u=a[2];return a=a[3],this.be(),this.Nd=t.Shader.MakeLinearGradient([o,s],[u,a],this.Td,this.Pd,t.TileMode.Clamp)};}function h(t,n,r,i,o,a){if(e([n,r,i,o,a])){if(0>a)throw "radii cannot be negative";t.isEmpty()&&t.moveTo(n,r),t.arcToTangent(n,r,i,o,a);}}function f(t){if(!t.isEmpty()){var e=t.getBounds();(e[3]-e[1]||e[2]-e[0])&&t.close();}}function p(e,n,r,i,o,a,s){s=(s-a)/Math.PI*180,a=a/Math.PI*180,n=t.LTRBRect(n-i,r-o,n+i,r+o),1e-5>Math.abs(Math.abs(s)-360)?(r=s/2,e.arcToOval(n,a,r,!1),e.arcToOval(n,a+r,r,!1)):e.arcToOval(n,a,s,!1);}function d(n,r,i,o,a,s,u,l,c){if(e([r,i,o,a,s,u,l])){if(0>o||0>a)throw "radii cannot be negative";var h=2*Math.PI,f=u%h;0>f&&(f+=h);var d=f-u;u=f,l+=d,!c&&l-u>=h?l=u+h:c&&u-l>=h?l=u-h:!c&&u>l?l=u+(h-(u-l)%h):c&&ut||1t);n++);this.Pd.splice(n,0,t),this.Td.splice(n,0,e);}},this.ke=function(){var t=new _(e,n,r,i,a,s);return t.Td=this.Td.slice(),t.Pd=this.Pd.slice(),t},this.be=function(){this.Nd&&(this.Nd.delete(),this.Nd=null);},this.me=function(o){var u=[e,n,i,a];t.Matrix.mapPoints(o,u);var l=u[0],c=u[1],h=u[2];u=u[3];var f=(Math.abs(o[0])+Math.abs(o[4]))/2;return o=r*f,f*=s,this.be(),this.Nd=t.Shader.MakeTwoPointConicalGradient([l,c],o,[h,u],f,this.Td,this.Pd,t.TileMode.Clamp)};}t._testing={};var b={aliceblue:Float32Array.of(.941,.973,1,1),antiquewhite:Float32Array.of(.98,.922,.843,1),aqua:Float32Array.of(0,1,1,1),aquamarine:Float32Array.of(.498,1,.831,1),azure:Float32Array.of(.941,1,1,1),beige:Float32Array.of(.961,.961,.863,1),bisque:Float32Array.of(1,.894,.769,1),black:Float32Array.of(0,0,0,1),blanchedalmond:Float32Array.of(1,.922,.804,1),blue:Float32Array.of(0,0,1,1),blueviolet:Float32Array.of(.541,.169,.886,1),brown:Float32Array.of(.647,.165,.165,1),burlywood:Float32Array.of(.871,.722,.529,1),cadetblue:Float32Array.of(.373,.62,.627,1),chartreuse:Float32Array.of(.498,1,0,1),chocolate:Float32Array.of(.824,.412,.118,1),coral:Float32Array.of(1,.498,.314,1),cornflowerblue:Float32Array.of(.392,.584,.929,1),cornsilk:Float32Array.of(1,.973,.863,1),crimson:Float32Array.of(.863,.078,.235,1),cyan:Float32Array.of(0,1,1,1),darkblue:Float32Array.of(0,0,.545,1),darkcyan:Float32Array.of(0,.545,.545,1),darkgoldenrod:Float32Array.of(.722,.525,.043,1),darkgray:Float32Array.of(.663,.663,.663,1),darkgreen:Float32Array.of(0,.392,0,1),darkgrey:Float32Array.of(.663,.663,.663,1),darkkhaki:Float32Array.of(.741,.718,.42,1),darkmagenta:Float32Array.of(.545,0,.545,1),darkolivegreen:Float32Array.of(.333,.42,.184,1),darkorange:Float32Array.of(1,.549,0,1),darkorchid:Float32Array.of(.6,.196,.8,1),darkred:Float32Array.of(.545,0,0,1),darksalmon:Float32Array.of(.914,.588,.478,1),darkseagreen:Float32Array.of(.561,.737,.561,1),darkslateblue:Float32Array.of(.282,.239,.545,1),darkslategray:Float32Array.of(.184,.31,.31,1),darkslategrey:Float32Array.of(.184,.31,.31,1),darkturquoise:Float32Array.of(0,.808,.82,1),darkviolet:Float32Array.of(.58,0,.827,1),deeppink:Float32Array.of(1,.078,.576,1),deepskyblue:Float32Array.of(0,.749,1,1),dimgray:Float32Array.of(.412,.412,.412,1),dimgrey:Float32Array.of(.412,.412,.412,1),dodgerblue:Float32Array.of(.118,.565,1,1),firebrick:Float32Array.of(.698,.133,.133,1),floralwhite:Float32Array.of(1,.98,.941,1),forestgreen:Float32Array.of(.133,.545,.133,1),fuchsia:Float32Array.of(1,0,1,1),gainsboro:Float32Array.of(.863,.863,.863,1),ghostwhite:Float32Array.of(.973,.973,1,1),gold:Float32Array.of(1,.843,0,1),goldenrod:Float32Array.of(.855,.647,.125,1),gray:Float32Array.of(.502,.502,.502,1),green:Float32Array.of(0,.502,0,1),greenyellow:Float32Array.of(.678,1,.184,1),grey:Float32Array.of(.502,.502,.502,1),honeydew:Float32Array.of(.941,1,.941,1),hotpink:Float32Array.of(1,.412,.706,1),indianred:Float32Array.of(.804,.361,.361,1),indigo:Float32Array.of(.294,0,.51,1),ivory:Float32Array.of(1,1,.941,1),khaki:Float32Array.of(.941,.902,.549,1),lavender:Float32Array.of(.902,.902,.98,1),lavenderblush:Float32Array.of(1,.941,.961,1),lawngreen:Float32Array.of(.486,.988,0,1),lemonchiffon:Float32Array.of(1,.98,.804,1),lightblue:Float32Array.of(.678,.847,.902,1),lightcoral:Float32Array.of(.941,.502,.502,1),lightcyan:Float32Array.of(.878,1,1,1),lightgoldenrodyellow:Float32Array.of(.98,.98,.824,1),lightgray:Float32Array.of(.827,.827,.827,1),lightgreen:Float32Array.of(.565,.933,.565,1),lightgrey:Float32Array.of(.827,.827,.827,1),lightpink:Float32Array.of(1,.714,.757,1),lightsalmon:Float32Array.of(1,.627,.478,1),lightseagreen:Float32Array.of(.125,.698,.667,1),lightskyblue:Float32Array.of(.529,.808,.98,1),lightslategray:Float32Array.of(.467,.533,.6,1),lightslategrey:Float32Array.of(.467,.533,.6,1),lightsteelblue:Float32Array.of(.69,.769,.871,1),lightyellow:Float32Array.of(1,1,.878,1),lime:Float32Array.of(0,1,0,1),limegreen:Float32Array.of(.196,.804,.196,1),linen:Float32Array.of(.98,.941,.902,1),magenta:Float32Array.of(1,0,1,1),maroon:Float32Array.of(.502,0,0,1),mediumaquamarine:Float32Array.of(.4,.804,.667,1),mediumblue:Float32Array.of(0,0,.804,1),mediumorchid:Float32Array.of(.729,.333,.827,1),mediumpurple:Float32Array.of(.576,.439,.859,1),mediumseagreen:Float32Array.of(.235,.702,.443,1),mediumslateblue:Float32Array.of(.482,.408,.933,1),mediumspringgreen:Float32Array.of(0,.98,.604,1),mediumturquoise:Float32Array.of(.282,.82,.8,1),mediumvioletred:Float32Array.of(.78,.082,.522,1),midnightblue:Float32Array.of(.098,.098,.439,1),mintcream:Float32Array.of(.961,1,.98,1),mistyrose:Float32Array.of(1,.894,.882,1),moccasin:Float32Array.of(1,.894,.71,1),navajowhite:Float32Array.of(1,.871,.678,1),navy:Float32Array.of(0,0,.502,1),oldlace:Float32Array.of(.992,.961,.902,1),olive:Float32Array.of(.502,.502,0,1),olivedrab:Float32Array.of(.42,.557,.137,1),orange:Float32Array.of(1,.647,0,1),orangered:Float32Array.of(1,.271,0,1),orchid:Float32Array.of(.855,.439,.839,1),palegoldenrod:Float32Array.of(.933,.91,.667,1),palegreen:Float32Array.of(.596,.984,.596,1),paleturquoise:Float32Array.of(.686,.933,.933,1),palevioletred:Float32Array.of(.859,.439,.576,1),papayawhip:Float32Array.of(1,.937,.835,1),peachpuff:Float32Array.of(1,.855,.725,1),peru:Float32Array.of(.804,.522,.247,1),pink:Float32Array.of(1,.753,.796,1),plum:Float32Array.of(.867,.627,.867,1),powderblue:Float32Array.of(.69,.878,.902,1),purple:Float32Array.of(.502,0,.502,1),rebeccapurple:Float32Array.of(.4,.2,.6,1),red:Float32Array.of(1,0,0,1),rosybrown:Float32Array.of(.737,.561,.561,1),royalblue:Float32Array.of(.255,.412,.882,1),saddlebrown:Float32Array.of(.545,.271,.075,1),salmon:Float32Array.of(.98,.502,.447,1),sandybrown:Float32Array.of(.957,.643,.376,1),seagreen:Float32Array.of(.18,.545,.341,1),seashell:Float32Array.of(1,.961,.933,1),sienna:Float32Array.of(.627,.322,.176,1),silver:Float32Array.of(.753,.753,.753,1),skyblue:Float32Array.of(.529,.808,.922,1),slateblue:Float32Array.of(.416,.353,.804,1),slategray:Float32Array.of(.439,.502,.565,1),slategrey:Float32Array.of(.439,.502,.565,1),snow:Float32Array.of(1,.98,.98,1),springgreen:Float32Array.of(0,1,.498,1),steelblue:Float32Array.of(.275,.51,.706,1),tan:Float32Array.of(.824,.706,.549,1),teal:Float32Array.of(0,.502,.502,1),thistle:Float32Array.of(.847,.749,.847,1),tomato:Float32Array.of(1,.388,.278,1),transparent:Float32Array.of(0,0,0,0),turquoise:Float32Array.of(.251,.878,.816,1),violet:Float32Array.of(.933,.51,.933,1),wheat:Float32Array.of(.961,.871,.702,1),white:Float32Array.of(1,1,1,1),whitesmoke:Float32Array.of(.961,.961,.961,1),yellow:Float32Array.of(1,1,0,1),yellowgreen:Float32Array.of(.604,.804,.196,1)};t._testing.parseColor=o,t._testing.colorToString=n;var v=RegExp("(italic|oblique|normal|)\\s*(small-caps|normal|)\\s*(bold|bolder|lighter|[1-9]00|normal|)\\s*([\\d\\.]+)(px|pt|pc|in|cm|mm|%|em|ex|ch|rem|q)(.+)"),T={"Noto Mono":{"*":null},monospace:{"*":null}};t._testing.parseFontString=a,t.MakeCanvas=function(e,n){return (e=t.MakeSurface(e,n))?new u(e):null},t.ImageData=function(){if(2===arguments.length){var t=arguments[0],e=arguments[1];return new l(new Uint8ClampedArray(4*t*e),t,e)}if(3===arguments.length){var n=arguments[0];if(n.prototype.constructor!==Uint8ClampedArray)throw "bytes must be given as a Uint8ClampedArray";if(n%4)throw "bytes must be given in a multiple of 4";if(n%(t=arguments[1]))throw "bytes must divide evenly by width";if((e=arguments[2])&&e!==n/(4*t))throw "invalid height given";return new l(n,t,n/(4*t))}throw "invalid number of arguments - takes 2 or 3, saw "+arguments.length};}();}(e);var c,h,f,p=Object.assign({},e),d="./this.program",y=(t,e)=>{throw e},m="object"==typeof window,g="function"==typeof importScripts,_="object"==typeof o&&"object"==typeof o.versions&&"string"==typeof o.versions.node,b="";if(_){var v=n(5699),T=n(3935);b=g?T.dirname(b)+"/":"//",c=(t,e)=>(t=t.startsWith("file://")?new URL(t):T.normalize(t),v.readFileSync(t,e?void 0:"utf8")),f=t=>((t=c(t,!0)).buffer||(t=new Uint8Array(t)),t),h=(t,e,n)=>{t=t.startsWith("file://")?new URL(t):T.normalize(t),v.readFile(t,(function(t,r){t?n(t):e(r.buffer);}));},1o.version.match(/^v(\d+)\./)[1]&&o.on("unhandledRejection",(function(t){throw t})),y=(t,e)=>{if(C)throw o.exitCode=t,e;e instanceof et||x("exiting due to exception: "+e),o.exit(t);},e.inspect=function(){return "[Emscripten Module object]"};}else (m||g)&&(g?b=self.location.href:"undefined"!=typeof document&&document.currentScript&&(b=document.currentScript.src),r&&(b=r),b=0!==b.indexOf("blob:")?b.substr(0,b.replace(/[?#].*/,"").lastIndexOf("/")+1):"",c=t=>{var e=new XMLHttpRequest;return e.open("GET",t,!1),e.send(null),e.responseText},g&&(f=t=>{var e=new XMLHttpRequest;return e.open("GET",t,!1),e.responseType="arraybuffer",e.send(null),new Uint8Array(e.response)}),h=(t,e,n)=>{var r=new XMLHttpRequest;r.open("GET",t,!0),r.responseType="arraybuffer",r.onload=()=>{200==r.status||0==r.status&&r.response?e(r.response):n();},r.onerror=n,r.send(null);});var E,w=e.print||a.log.bind(a),x=e.printErr||a.warn.bind(a);Object.assign(e,p),p=null,e.thisProgram&&(d=e.thisProgram),e.quit&&(y=e.quit),e.wasmBinary&&(E=e.wasmBinary);var C=e.noExitRuntime||!0;"object"!=typeof WebAssembly&&K("no native wasm support detected");var M,S,N,O,A,I,P,R,L,D=!1,k="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0;function F(t,e,n){var r=e+n;for(n=e;t[n]&&!(n>=r);)++n;if(16(i=224==(240&i)?(15&i)<<12|o<<6|a:(7&i)<<18|o<<12|a<<6|63&t[e++])?r+=String.fromCharCode(i):(i-=65536,r+=String.fromCharCode(55296|i>>10,56320|1023&i));}}else r+=String.fromCharCode(i);}return r}function U(t,e){return t?F(N,t,e):""}function B(t,e,n,r){if(!(0=a&&(a=65536+((1023&a)<<10)|1023&t.charCodeAt(++o)),127>=a){if(n>=r)break;e[n++]=a;}else {if(2047>=a){if(n+1>=r)break;e[n++]=192|a>>6;}else {if(65535>=a){if(n+2>=r)break;e[n++]=224|a>>12;}else {if(n+3>=r)break;e[n++]=240|a>>18,e[n++]=128|a>>12&63;}e[n++]=128|a>>6&63;}e[n++]=128|63&a;}}return e[n]=0,n-i}function j(t){for(var e=0,n=0;n=r?e++:2047>=r?e+=2:55296<=r&&57343>=r?(e+=4,++n):e+=3;}return e}function G(){var t=M.buffer;e.HEAP8=S=new Int8Array(t),e.HEAP16=O=new Int16Array(t),e.HEAP32=I=new Int32Array(t),e.HEAPU8=N=new Uint8Array(t),e.HEAPU16=A=new Uint16Array(t),e.HEAPU32=P=new Uint32Array(t),e.HEAPF32=R=new Float32Array(t),e.HEAPF64=L=new Float64Array(t);}var W,q=[],H=[],z=[];function V(){var t=e.preRun.shift();q.unshift(t);}var X,Y=0,Z=null,Q=null;function K(t){throw e.onAbort&&e.onAbort(t),x(t="Aborted("+t+")"),D=!0,t=new WebAssembly.RuntimeError(t+". Build with -sASSERTIONS for more info."),u(t),t}function J(){return X.startsWith("data:application/octet-stream;base64,")}if(X="canvaskit.wasm",!J()){var $=X;X=e.locateFile?e.locateFile($,b):b+$;}function tt(){var t=X;try{if(t==X&&E)return new Uint8Array(E);if(f)return f(t);throw "both async and sync fetching of the wasm failed"}catch(t){K(t);}}function et(t){this.name="ExitStatus",this.message="Program terminated with exit("+t+")",this.status=t;}function nt(t){for(;0>2])}var at={},st={},ut={};function lt(t){if(void 0===t)return "_unknown";var e=(t=t.replace(/[^a-zA-Z0-9_]/g,"$")).charCodeAt(0);return 48<=e&&57>=e?"_"+t:t}function ct(t,e){return t=lt(t),new Function("body","return function "+t+'() {\n "use strict"; return body.apply(this, arguments);\n};\n')(e)}function ht(t){var e=Error,n=ct(t,(function(e){this.name=t,this.message=e,void 0!==(e=Error(e).stack)&&(this.stack=this.toString()+"\n"+e.replace(/^Error(:[^\n]*)?\n/,""));}));return n.prototype=Object.create(e.prototype),n.prototype.constructor=n,n.prototype.toString=function(){return void 0===this.message?this.name:this.name+": "+this.message},n}var ft=void 0;function pt(t){throw new ft(t)}function dt(t,e,n){function r(e){(e=n(e)).length!==t.length&&pt("Mismatched type converter count");for(var r=0;r{st.hasOwnProperty(t)?i[e]=st[t]:(o.push(t),at.hasOwnProperty(t)||(at[t]=[]),at[t].push((()=>{i[e]=st[t],++a===o.length&&r(i);})));})),0===o.length&&r(i);}function yt(t){switch(t){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+t)}}var mt=void 0;function gt(t){for(var e="";N[t];)e+=mt[N[t++]];return e}var _t=void 0;function bt(t){throw new _t(t)}function vt(t,e,n={}){if(!("argPackAdvance"in e))throw new TypeError("registerType registeredInstance requires argPackAdvance");var r=e.name;if(t||bt('type "'+r+'" must have a positive integer typeid pointer'),st.hasOwnProperty(t)){if(n.Kf)return;bt("Cannot register type '"+r+"' twice");}st[t]=e,delete ut[t],at.hasOwnProperty(t)&&(e=at[t],delete at[t],e.forEach((t=>t())));}function Tt(t){bt(t.Cd.Md.Gd.name+" instance already deleted");}var Et=!1;function wt(){}function xt(t){--t.count.value,0===t.count.value&&(t.Rd?t.Wd.ae(t.Rd):t.Md.Gd.ae(t.Kd));}function Ct(t,e,n){return e===n?t:void 0===n.Yd||null===(t=Ct(t,e,n.Yd))?null:n.yf(t)}var Mt={},St=[];function Nt(){for(;St.length;){var t=St.pop();t.Cd.xe=!1,t.delete();}}var Ot=void 0,At={};function It(t,e){return e.Md&&e.Kd||pt("makeClassHandle requires ptr and ptrType"),!!e.Wd!=!!e.Rd&&pt("Both smartPtrType and smartPtr must be specified"),e.count={value:1},Pt(Object.create(t,{Cd:{value:e}}))}function Pt(t){return "undefined"==typeof FinalizationRegistry?(Pt=t=>t,t):(Et=new FinalizationRegistry((t=>{xt(t.Cd);})),wt=t=>{Et.unregister(t);},(Pt=t=>{var e=t.Cd;return e.Rd&&Et.register(t,{Cd:e},t),t})(t))}function Rt(){}function Lt(t,e,n){if(void 0===t[e].Od){var r=t[e];t[e]=function(){return t[e].Od.hasOwnProperty(arguments.length)||bt("Function '"+n+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+t[e].Od+")!"),t[e].Od[arguments.length].apply(this,arguments)},t[e].Od=[],t[e].Od[r.ve]=r;}}function Dt(t,n,r){e.hasOwnProperty(t)?((void 0===r||void 0!==e[t].Od&&void 0!==e[t].Od[r])&&bt("Cannot register public name '"+t+"' twice"),Lt(e,t,t),e.hasOwnProperty(r)&&bt("Cannot register multiple overloads of a function with the same number of arguments ("+r+")!"),e[t].Od[r]=n):(e[t]=n,void 0!==r&&(e[t].ig=r));}function kt(t,e,n,r,i,o,a,s){this.name=t,this.constructor=e,this.ye=n,this.ae=r,this.Yd=i,this.Ef=o,this.Ie=a,this.yf=s,this.Rf=[];}function Ft(t,e,n){for(;e!==n;)e.Ie||bt("Expected null or instance of "+n.name+", got an instance of "+e.name),t=e.Ie(t),e=e.Yd;return t}function Ut(t,e){return null===e?(this.Ye&&bt("null is not a valid "+this.name),0):(e.Cd||bt('Cannot pass "'+ie(e)+'" as a '+this.name),e.Cd.Kd||bt("Cannot pass deleted object as a pointer of type "+this.name),Ft(e.Cd.Kd,e.Cd.Md.Gd,this.Gd))}function Bt(t,e){if(null===e){if(this.Ye&&bt("null is not a valid "+this.name),this.Ne){var n=this.Ze();return null!==t&&t.push(this.ae,n),n}return 0}if(e.Cd||bt('Cannot pass "'+ie(e)+'" as a '+this.name),e.Cd.Kd||bt("Cannot pass deleted object as a pointer of type "+this.name),!this.Me&&e.Cd.Md.Me&&bt("Cannot convert argument of type "+(e.Cd.Wd?e.Cd.Wd.name:e.Cd.Md.name)+" to parameter type "+this.name),n=Ft(e.Cd.Kd,e.Cd.Md.Gd,this.Gd),this.Ne)switch(void 0===e.Cd.Rd&&bt("Passing raw pointer to smart pointer is illegal"),this.Xf){case 0:e.Cd.Wd===this?n=e.Cd.Rd:bt("Cannot convert argument of type "+(e.Cd.Wd?e.Cd.Wd.name:e.Cd.Md.name)+" to parameter type "+this.name);break;case 1:n=e.Cd.Rd;break;case 2:if(e.Cd.Wd===this)n=e.Cd.Rd;else {var r=e.clone();n=this.Sf(n,ee((function(){r.delete();}))),null!==t&&t.push(this.ae,n);}break;default:bt("Unsupporting sharing policy");}return n}function jt(t,e){return null===e?(this.Ye&&bt("null is not a valid "+this.name),0):(e.Cd||bt('Cannot pass "'+ie(e)+'" as a '+this.name),e.Cd.Kd||bt("Cannot pass deleted object as a pointer of type "+this.name),e.Cd.Md.Me&&bt("Cannot convert argument of type "+e.Cd.Md.name+" to parameter type "+this.name),Ft(e.Cd.Kd,e.Cd.Md.Gd,this.Gd))}function Gt(t,e,n,r,i,o,a,s,u,l,c){this.name=t,this.Gd=e,this.Ye=n,this.Me=r,this.Ne=i,this.Qf=o,this.Xf=a,this.mf=s,this.Ze=u,this.Sf=l,this.ae=c,i||void 0!==e.Yd?this.toWireType=Bt:(this.toWireType=r?Ut:jt,this.Vd=null);}function Wt(t,n,r){e.hasOwnProperty(t)||pt("Replacing nonexistant public symbol"),void 0!==e[t].Od&&void 0!==r?e[t].Od[r]=n:(e[t]=n,e[t].ve=r);}function qt(t){return W.get(t)}function Ht(t,n){var r=(t=gt(t)).includes("j")?function(t,n){var r=[];return function(){if(r.length=0,Object.assign(r,arguments),t.includes("j")){var i=e["dynCall_"+t];i=r&&r.length?i.apply(null,[n].concat(r)):i.call(null,n);}else i=qt(n).apply(null,r);return i}}(t,n):qt(n);return "function"!=typeof r&&bt("unknown function pointer with signature "+t+": "+n),r}var zt=void 0;function Vt(t){var e=gt(t=fn(t));return cn(t),e}function Xt(t,e){var n=[],r={};throw e.forEach((function t(e){r[e]||st[e]||(ut[e]?ut[e].forEach(t):(n.push(e),r[e]=!0));})),new zt(t+": "+n.map(Vt).join([", "]))}function Yt(t){var e=Function;if(!(e instanceof Function))throw new TypeError("new_ called with constructor type "+typeof e+" which is not a function");var n=ct(e.name||"unknownFunctionName",(function(){}));return n.prototype=e.prototype,n=new n,(t=e.apply(n,t))instanceof Object?t:n}function Zt(t,e,n,r,i){var o=e.length;2>o&&bt("argTypes array size mismatch! Must at least get return value and 'this' types!");var a=null!==e[1]&&null!==n,s=!1;for(n=1;n>2]);return n}var Kt=[],Jt=[{},{value:void 0},{value:null},{value:!0},{value:!1}];function $t(t){4(t||bt("Cannot use deleted val. handle = "+t),Jt[t].value),ee=t=>{switch(t){case void 0:return 1;case null:return 2;case !0:return 3;case !1:return 4;default:var e=Kt.length?Kt.pop():Jt.length;return Jt[e]={$e:1,value:t},e}};function ne(t,e,n){switch(e){case 0:return function(t){return this.fromWireType((n?S:N)[t])};case 1:return function(t){return this.fromWireType((n?O:A)[t>>1])};case 2:return function(t){return this.fromWireType((n?I:P)[t>>2])};default:throw new TypeError("Unknown integer type: "+t)}}function re(t,e){var n=st[t];return void 0===n&&bt(e+" has unknown type "+Vt(t)),n}function ie(t){if(null===t)return "null";var e=typeof t;return "object"===e||"array"===e||"function"===e?t.toString():""+t}function oe(t,e){switch(e){case 2:return function(t){return this.fromWireType(R[t>>2])};case 3:return function(t){return this.fromWireType(L[t>>3])};default:throw new TypeError("Unknown float type: "+t)}}function ae(t,e,n){switch(e){case 0:return n?function(t){return S[t]}:function(t){return N[t]};case 1:return n?function(t){return O[t>>1]}:function(t){return A[t>>1]};case 2:return n?function(t){return I[t>>2]}:function(t){return P[t>>2]};default:throw new TypeError("Unknown integer type: "+t)}}var se="undefined"!=typeof TextDecoder?new TextDecoder("utf-16le"):void 0;function ue(t,e){for(var n=t>>1,r=n+e/2;!(n>=r)&&A[n];)++n;if(32<(n<<=1)-t&&se)return se.decode(N.subarray(t,n));for(n="",r=0;!(r>=e/2);++r){var i=O[t+2*r>>1];if(0==i)break;n+=String.fromCharCode(i);}return n}function le(t,e,n){if(void 0===n&&(n=2147483647),2>n)return 0;var r=e;n=(n-=2)<2*t.length?n/2:t.length;for(var i=0;i>1]=t.charCodeAt(i),e+=2;return O[e>>1]=0,e-r}function ce(t){return 2*t.length}function he(t,e){for(var n=0,r="";!(n>=e/4);){var i=I[t+4*n>>2];if(0==i)break;++n,65536<=i?(i-=65536,r+=String.fromCharCode(55296|i>>10,56320|1023&i)):r+=String.fromCharCode(i);}return r}function fe(t,e,n){if(void 0===n&&(n=2147483647),4>n)return 0;var r=e;n=r+n-4;for(var i=0;i=o&&(o=65536+((1023&o)<<10)|1023&t.charCodeAt(++i)),I[e>>2]=o,(e+=4)+4>n)break}return I[e>>2]=0,e-r}function pe(t){for(var e=0,n=0;n=r&&++n,e+=4;}return e}var de={};function ye(t){var e=de[t];return void 0===e?gt(t):e}var me,ge=[],_e=[];me=_?()=>{var t=o.hrtime();return 1e3*t[0]+t[1]/1e6}:()=>performance.now();var be=1,ve=[],Te=[],Ee=[],we=[],xe=[],Ce=[],Me=[],Se=[],Ne=[],Oe=[],Ae={},Ie={},Pe=4;function Re(t){ke||(ke=t);}function Le(t){for(var e=be++,n=t.length;n>2]=a;}}function je(t,e){if(e){var n=void 0;switch(t){case 36346:n=1;break;case 36344:return;case 34814:case 36345:n=0;break;case 34466:var r=rn.getParameter(34467);n=r?r.length:0;break;case 33309:if(2>Fe.version)return void Re(1282);n=2*(rn.getSupportedExtensions()||[]).length;break;case 33307:case 33308:if(2>Fe.version)return void Re(1280);n=33307==t?3:0;}if(void 0===n)switch(r=rn.getParameter(t),typeof r){case "number":n=r;break;case "boolean":n=r?1:0;break;case "string":return void Re(1280);case "object":if(null===r)switch(t){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 36662:case 36663:case 35053:case 35055:case 36010:case 35097:case 35869:case 32874:case 36389:case 35983:case 35368:case 34068:n=0;break;default:return void Re(1280)}else {if(r instanceof Float32Array||r instanceof Uint32Array||r instanceof Int32Array||r instanceof Array){for(t=0;t>2]=r[t];return}try{n=0|r.name;}catch(e){return Re(1280),void x("GL_INVALID_ENUM in glGet0v: Unknown object returned from WebGL getParameter("+t+")! (error: "+e+")")}}break;default:return Re(1280),void x("GL_INVALID_ENUM in glGet0v: Native code calling glGet0v("+t+") and it returns "+r+" of type "+typeof r+"!")}I[e>>2]=n;}else Re(1281);}function Ge(t){var e=j(t)+1,n=hn(e);return B(t,N,n,e),n}function We(t){return "]"==t.slice(-1)&&t.lastIndexOf("[")}function qe(t){return 0==(t-=5120)?S:1==t?N:2==t?O:4==t?I:6==t?R:5==t||28922==t||28520==t||30779==t||30782==t?P:A}function He(t,e,n,r,i){t=qe(t);var o=31-Math.clz32(t.BYTES_PER_ELEMENT),a=Pe;return t.subarray(i>>o,i+r*(n*({5:3,6:4,8:2,29502:3,29504:4,26917:2,26918:2,29846:3,29847:4}[e-6402]||1)*(1<>o)}function ze(t){var e=rn.xf;if(e){var n=e.He[t];return "number"==typeof n&&(e.He[t]=n=rn.getUniformLocation(e,e.nf[t]+(0nn;++nn)en[nn]=String.fromCharCode(nn);mt=en,_t=e.BindingError=ht("BindingError"),Rt.prototype.isAliasOf=function(t){if(!(this instanceof Rt&&t instanceof Rt))return !1;var e=this.Cd.Md.Gd,n=this.Cd.Kd,r=t.Cd.Md.Gd;for(t=t.Cd.Kd;e.Yd;)n=e.Ie(n),e=e.Yd;for(;r.Yd;)t=r.Ie(t),r=r.Yd;return e===r&&n===t},Rt.prototype.clone=function(){if(this.Cd.Kd||Tt(this),this.Cd.Ge)return this.Cd.count.value+=1,this;var t=Pt,e=Object,n=e.create,r=Object.getPrototypeOf(this),i=this.Cd;return (t=t(n.call(e,r,{Cd:{value:{count:i.count,xe:i.xe,Ge:i.Ge,Kd:i.Kd,Md:i.Md,Rd:i.Rd,Wd:i.Wd}}}))).Cd.count.value+=1,t.Cd.xe=!1,t},Rt.prototype.delete=function(){this.Cd.Kd||Tt(this),this.Cd.xe&&!this.Cd.Ge&&bt("Object already scheduled for deletion"),wt(this),xt(this.Cd),this.Cd.Ge||(this.Cd.Rd=void 0,this.Cd.Kd=void 0);},Rt.prototype.isDeleted=function(){return !this.Cd.Kd},Rt.prototype.deleteLater=function(){return this.Cd.Kd||Tt(this),this.Cd.xe&&!this.Cd.Ge&&bt("Object already scheduled for deletion"),St.push(this),1===St.length&&Ot&&Ot(Nt),this.Cd.xe=!0,this},e.getInheritedInstanceCount=function(){return Object.keys(At).length},e.getLiveInheritedInstances=function(){var t,e=[];for(t in At)At.hasOwnProperty(t)&&e.push(At[t]);return e},e.flushPendingDeletes=Nt,e.setDelayFunction=function(t){Ot=t,St.length&&Ot&&Ot(Nt);},Gt.prototype.Ff=function(t){return this.mf&&(t=this.mf(t)),t},Gt.prototype.gf=function(t){this.ae&&this.ae(t);},Gt.prototype.argPackAdvance=8,Gt.prototype.readValueFromPointer=ot,Gt.prototype.deleteObject=function(t){null!==t&&t.delete();},Gt.prototype.fromWireType=function(t){function e(){return this.Ne?It(this.Gd.ye,{Md:this.Qf,Kd:n,Wd:this,Rd:t}):It(this.Gd.ye,{Md:this,Kd:t})}var n=this.Ff(t);if(!n)return this.gf(t),null;var r=function(t,e){for(void 0===e&&bt("ptr should not be undefined");t.Yd;)e=t.Ie(e),t=t.Yd;return At[e]}(this.Gd,n);if(void 0!==r)return 0===r.Cd.count.value?(r.Cd.Kd=n,r.Cd.Rd=t,r.clone()):(r=r.clone(),this.gf(t),r);if(r=this.Gd.Ef(n),!(r=Mt[r]))return e.call(this);r=this.Me?r.vf:r.pointerType;var i=Ct(n,this.Gd,r.Gd);return null===i?e.call(this):this.Ne?It(r.Gd.ye,{Md:r,Kd:i,Wd:this,Rd:t}):It(r.Gd.ye,{Md:r,Kd:i})},zt=e.UnboundTypeError=ht("UnboundTypeError"),e.count_emval_handles=function(){for(var t=0,e=5;eon;++on)Ue.push(Array(on));var an=new Float32Array(288);for(on=0;288>on;++on)Ve[on]=an.subarray(0,on+1);var sn=new Int32Array(288);for(on=0;288>on;++on)Xe[on]=sn.subarray(0,on+1);var un={H:function(){return 0},xb:function(){},zb:function(){return 0},ub:function(){},Ab:function(){},vb:function(){},P:function(t){var e=rt[t];delete rt[t];var n=e.Ze,r=e.ae,i=e.kf;dt([t],i.map((t=>t.If)).concat(i.map((t=>t.Vf))),(t=>{var o={};return i.forEach(((e,n)=>{var r=t[n],a=e.Gf,s=e.Hf,u=t[n+i.length],l=e.Uf,c=e.Wf;o[e.Af]={read:t=>r.fromWireType(a(s,t)),write:(t,e)=>{var n=[];l(c,t,u.toWireType(n,e)),it(n);}};})),[{name:e.name,fromWireType:function(t){var e,n={};for(e in o)n[e]=o[e].read(t);return r(t),n},toWireType:function(t,e){for(var i in o)if(!(i in e))throw new TypeError('Missing field: "'+i+'"');var a=n();for(i in o)o[i].write(a,e[i]);return null!==t&&t.push(r,a),a},argPackAdvance:8,readValueFromPointer:ot,Vd:r}]}));},kb:function(){},Cb:function(t,e,n,r,i){var o=yt(n);vt(t,{name:e=gt(e),fromWireType:function(t){return !!t},toWireType:function(t,e){return e?r:i},argPackAdvance:8,readValueFromPointer:function(t){if(1===n)var r=S;else if(2===n)r=O;else {if(4!==n)throw new TypeError("Unknown boolean type size: "+e);r=I;}return this.fromWireType(r[t>>o])},Vd:null});},i:function(t,e,n,r,i,o,a,s,u,l,c,h,f){c=gt(c),o=Ht(i,o),s&&(s=Ht(a,s)),l&&(l=Ht(u,l)),f=Ht(h,f);var p=lt(c);Dt(p,(function(){Xt("Cannot construct "+c+" due to unbound types",[r]);})),dt([t,e,n],r?[r]:[],(function(e){if(e=e[0],r)var n=e.Gd,i=n.ye;else i=Rt.prototype;e=ct(p,(function(){if(Object.getPrototypeOf(this)!==a)throw new _t("Use 'new' to construct "+c);if(void 0===u.ee)throw new _t(c+" has no accessible constructor");var t=u.ee[arguments.length];if(void 0===t)throw new _t("Tried to invoke ctor of "+c+" with invalid number of parameters ("+arguments.length+") - expected ("+Object.keys(u.ee).toString()+") parameters instead!");return t.apply(this,arguments)}));var a=Object.create(i,{constructor:{value:e}});e.prototype=a;var u=new kt(c,e,a,f,n,o,s,l);n=new Gt(c,u,!0,!1,!1),i=new Gt(c+"*",u,!1,!1,!1);var h=new Gt(c+" const*",u,!1,!0,!1);return Mt[t]={pointerType:i,vf:h},Wt(p,e),[n,i,h]}));},g:function(t,e,n,r,i,o,a){var s=Qt(n,r);e=gt(e),o=Ht(i,o),dt([],[t],(function(t){function r(){Xt("Cannot call "+i+" due to unbound types",s);}var i=(t=t[0]).name+"."+e;e.startsWith("@@")&&(e=Symbol[e.substring(2)]);var u=t.Gd.constructor;return void 0===u[e]?(r.ve=n-1,u[e]=r):(Lt(u,e,i),u[e].Od[n-1]=r),dt([],s,(function(t){return t=[t[0],null].concat(t.slice(1)),t=Zt(i,t,null,o,a),void 0===u[e].Od?(t.ve=n-1,u[e]=t):u[e].Od[n-1]=t,[]})),[]}));},r:function(t,e,n,r,i,o){0{Xt("Cannot construct "+t.name+" due to unbound types",a);},dt([],a,(function(r){return r.splice(1,0,null),t.Gd.ee[e-1]=Zt(n,r,null,i,o),[]})),[]}));},b:function(t,e,n,r,i,o,a,s){var u=Qt(n,r);e=gt(e),o=Ht(i,o),dt([],[t],(function(t){function r(){Xt("Cannot call "+i+" due to unbound types",u);}var i=(t=t[0]).name+"."+e;e.startsWith("@@")&&(e=Symbol[e.substring(2)]),s&&t.Gd.Rf.push(e);var l=t.Gd.ye,c=l[e];return void 0===c||void 0===c.Od&&c.className!==t.name&&c.ve===n-2?(r.ve=n-2,r.className=t.name,l[e]=r):(Lt(l,e,i),l[e].Od[n-2]=r),dt([],u,(function(r){return r=Zt(i,r,t,o,a),void 0===l[e].Od?(r.ve=n-2,l[e]=r):l[e].Od[n-2]=r,[]})),[]}));},O:function(t,n,r){t=gt(t),dt([],[n],(function(n){return n=n[0],e[t]=n.fromWireType(r),[]}));},Bb:function(t,e){vt(t,{name:e=gt(e),fromWireType:function(t){var e=te(t);return $t(t),e},toWireType:function(t,e){return ee(e)},argPackAdvance:8,readValueFromPointer:ot,Vd:null});},k:function(t,e,n,r){function i(){}n=yt(n),e=gt(e),i.values={},vt(t,{name:e,constructor:i,fromWireType:function(t){return this.constructor.values[t]},toWireType:function(t,e){return e.value},argPackAdvance:8,readValueFromPointer:ne(e,n,r),Vd:null}),Dt(e,i);},c:function(t,e,n){var r=re(t,"enum");e=gt(e),t=r.constructor,r=Object.create(r.constructor.prototype,{value:{value:n},constructor:{value:ct(r.name+"_"+e,(function(){}))}}),t.values[n]=r,t[e]=r;},L:function(t,e,n){n=yt(n),vt(t,{name:e=gt(e),fromWireType:function(t){return t},toWireType:function(t,e){return e},argPackAdvance:8,readValueFromPointer:oe(e,n),Vd:null});},q:function(t,e,n,r,i,o){var a=Qt(e,n);t=gt(t),i=Ht(r,i),Dt(t,(function(){Xt("Cannot call "+t+" due to unbound types",a);}),e-1),dt([],a,(function(n){return n=[n[0],null].concat(n.slice(1)),Wt(t,Zt(t,n,null,i,o),e-1),[]}));},s:function(t,e,n,r,i){e=gt(e),-1===i&&(i=4294967295),i=yt(n);var o=t=>t;if(0===r){var a=32-8*n;o=t=>t<>>a;}n=e.includes("unsigned")?function(t,e){return e>>>0}:function(t,e){return e},vt(t,{name:e,fromWireType:o,toWireType:n,argPackAdvance:8,readValueFromPointer:ae(e,i,0!==r),Vd:null});},n:function(t,e,n){function r(t){t>>=2;var e=P;return new i(e.buffer,e[t+1],e[t])}var i=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][e];vt(t,{name:n=gt(n),fromWireType:r,argPackAdvance:8,readValueFromPointer:r},{Kf:!0});},o:function(t,e,n,r,i,o,a,s,u,l,c,h){n=gt(n),o=Ht(i,o),s=Ht(a,s),l=Ht(u,l),h=Ht(c,h),dt([t],[e],(function(t){return t=t[0],[new Gt(n,t.Gd,!1,!1,!0,t,r,o,s,l,h)]}));},K:function(t,e){var n="std::string"===(e=gt(e));vt(t,{name:e,fromWireType:function(t){var e=P[t>>2],r=t+4;if(n)for(var i=r,o=0;o<=e;++o){var a=r+o;if(o==e||0==N[a]){if(i=U(i,a-i),void 0===s)var s=i;else s+=String.fromCharCode(0),s+=i;i=a+1;}}else {for(s=Array(e),o=0;o>2]=r,n&&i)B(e,N,a,r+1);else if(i)for(i=0;iA,s=1;else 4===e&&(r=he,i=fe,o=pe,a=()=>P,s=2);vt(t,{name:n,fromWireType:function(t){for(var n,i=P[t>>2],o=a(),u=t+4,l=0;l<=i;++l){var c=t+4+l*e;l!=i&&0!=o[c>>s]||(u=r(u,c-u),void 0===n?n=u:(n+=String.fromCharCode(0),n+=u),u=c+e);}return cn(t),n},toWireType:function(t,r){"string"!=typeof r&&bt("Cannot pass non-string to C++ string type "+n);var a=o(r),u=hn(4+a+e);return P[u>>2]=a>>s,i(r,u+4,a+e),null!==t&&t.push(cn,u),u},argPackAdvance:8,readValueFromPointer:ot,Vd:function(t){cn(t);}});},J:function(t,e,n,r,i,o){rt[t]={name:gt(e),Ze:Ht(n,r),ae:Ht(i,o),kf:[]};},v:function(t,e,n,r,i,o,a,s,u,l){rt[t].kf.push({Af:gt(e),If:n,Gf:Ht(r,i),Hf:o,Vf:a,Uf:Ht(s,u),Wf:l});},Db:function(t,e){vt(t,{Mf:!0,name:e=gt(e),argPackAdvance:0,fromWireType:function(){},toWireType:function(){}});},rb:function(){return !0},mb:function(){throw 1/0},gb:function(t,e,n,r,i){t=ge[t],e=te(e),n=ye(n);var o=[];return P[r>>2]=ee(o),t(e,n,o,i)},w:function(t,e,n,r){(t=ge[t])(e=te(e),n=ye(n),null,r);},p:$t,u:function(t,e){var n=function(t,e){for(var n=Array(t),r=0;r>2],"parameter "+r);return n}(t,e),r=n[0];e=r.name+"_$"+n.slice(1).map((function(t){return t.name})).join("_")+"$";var i=_e[e];if(void 0!==i)return i;i=["retType"];for(var o=[r],a="",s=0;s>>0)+4294967296*r)},ba:function(t,e,n,r){rn.colorMask(!!t,!!e,!!n,!!r);},ca:function(t){rn.compileShader(Ce[t]);},da:function(t,e,n,r,i,o,a,s){2<=Fe.version?rn.we||!a?rn.compressedTexImage2D(t,e,n,r,i,o,a,s):rn.compressedTexImage2D(t,e,n,r,i,o,N,s,a):rn.compressedTexImage2D(t,e,n,r,i,o,s?N.subarray(s,s+a):null);},ea:function(t,e,n,r,i,o,a,s,u){2<=Fe.version?rn.we||!s?rn.compressedTexSubImage2D(t,e,n,r,i,o,a,s,u):rn.compressedTexSubImage2D(t,e,n,r,i,o,a,N,u,s):rn.compressedTexSubImage2D(t,e,n,r,i,o,a,u?N.subarray(u,u+s):null);},fa:function(t,e,n,r,i,o,a,s){rn.copyTexSubImage2D(t,e,n,r,i,o,a,s);},ga:function(){var t=Le(Te),e=rn.createProgram();return e.name=t,e.Qe=e.Oe=e.Pe=0,e.bf=1,Te[t]=e,t},ha:function(t){var e=Le(Ce);return Ce[e]=rn.createShader(t),e},ia:function(t){rn.cullFace(t);},ja:function(t,e){for(var n=0;n>2],i=ve[r];i&&(rn.deleteBuffer(i),i.name=0,ve[r]=null,r==rn.Xe&&(rn.Xe=0),r==rn.we&&(rn.we=0));}},bc:function(t,e){for(var n=0;n>2],i=Ee[r];i&&(rn.deleteFramebuffer(i),i.name=0,Ee[r]=null);}},ka:function(t){if(t){var e=Te[t];e?(rn.deleteProgram(e),e.name=0,Te[t]=null):Re(1281);}},cc:function(t,e){for(var n=0;n>2],i=we[r];i&&(rn.deleteRenderbuffer(i),i.name=0,we[r]=null);}},Nb:function(t,e){for(var n=0;n>2],i=Ne[r];i&&(rn.deleteSampler(i),i.name=0,Ne[r]=null);}},la:function(t){if(t){var e=Ce[t];e?(rn.deleteShader(e),Ce[t]=null):Re(1281);}},Vb:function(t){if(t){var e=Oe[t];e?(rn.deleteSync(e),e.name=0,Oe[t]=null):Re(1281);}},ma:function(t,e){for(var n=0;n>2],i=xe[r];i&&(rn.deleteTexture(i),i.name=0,xe[r]=null);}},uc:function(t,e){for(var n=0;n>2];rn.deleteVertexArray(Me[r]),Me[r]=null;}},xc:function(t,e){for(var n=0;n>2];rn.deleteVertexArray(Me[r]),Me[r]=null;}},na:function(t){rn.depthMask(!!t);},oa:function(t){rn.disable(t);},pa:function(t){rn.disableVertexAttribArray(t);},qa:function(t,e,n){rn.drawArrays(t,e,n);},rc:function(t,e,n,r){rn.drawArraysInstanced(t,e,n,r);},pc:function(t,e,n,r,i){rn.hf.drawArraysInstancedBaseInstanceWEBGL(t,e,n,r,i);},nc:function(t,e){for(var n=Ue[t],r=0;r>2];rn.drawBuffers(n);},ra:function(t,e,n,r){rn.drawElements(t,e,n,r);},sc:function(t,e,n,r,i){rn.drawElementsInstanced(t,e,n,r,i);},qc:function(t,e,n,r,i,o,a){rn.hf.drawElementsInstancedBaseVertexBaseInstanceWEBGL(t,e,n,r,i,o,a);},hc:function(t,e,n,r,i,o){rn.drawElements(t,r,i,o);},sa:function(t){rn.enable(t);},ta:function(t){rn.enableVertexAttribArray(t);},Rb:function(t,e){return (t=rn.fenceSync(t,e))?(e=Le(Oe),t.name=e,Oe[e]=t,e):0},ua:function(){rn.finish();},va:function(){rn.flush();},dc:function(t,e,n,r){rn.framebufferRenderbuffer(t,e,n,we[r]);},ec:function(t,e,n,r,i){rn.framebufferTexture2D(t,e,n,xe[r],i);},wa:function(t){rn.frontFace(t);},xa:function(t,e){Be(t,e,"createBuffer",ve);},fc:function(t,e){Be(t,e,"createFramebuffer",Ee);},gc:function(t,e){Be(t,e,"createRenderbuffer",we);},Ob:function(t,e){Be(t,e,"createSampler",Ne);},ya:function(t,e){Be(t,e,"createTexture",xe);},vc:function(t,e){Be(t,e,"createVertexArray",Me);},yc:function(t,e){Be(t,e,"createVertexArray",Me);},Wb:function(t){rn.generateMipmap(t);},za:function(t,e,n){n?I[n>>2]=rn.getBufferParameter(t,e):Re(1281);},Aa:function(){var t=rn.getError()||ke;return ke=0,t},Xb:function(t,e,n,r){((t=rn.getFramebufferAttachmentParameter(t,e,n))instanceof WebGLRenderbuffer||t instanceof WebGLTexture)&&(t=0|t.name),I[r>>2]=t;},ab:function(t,e){je(t,e);},Ba:function(t,e,n,r){null===(t=rn.getProgramInfoLog(Te[t]))&&(t="(unknown error)"),e=0>2]=e);},Ca:function(t,e,n){if(n)if(t>=be)Re(1281);else if(t=Te[t],35716==e)null===(t=rn.getProgramInfoLog(t))&&(t="(unknown error)"),I[n>>2]=t.length+1;else if(35719==e){if(!t.Qe)for(e=0;e>2]=t.Qe;}else if(35722==e){if(!t.Oe)for(e=0;e>2]=t.Oe;}else if(35381==e){if(!t.Pe)for(e=0;e>2]=t.Pe;}else I[n>>2]=rn.getProgramParameter(t,e);else Re(1281);},Yb:function(t,e,n){n?I[n>>2]=rn.getRenderbufferParameter(t,e):Re(1281);},Da:function(t,e,n,r){null===(t=rn.getShaderInfoLog(Ce[t]))&&(t="(unknown error)"),e=0>2]=e);},Jb:function(t,e,n,r){t=rn.getShaderPrecisionFormat(t,e),I[n>>2]=t.rangeMin,I[n+4>>2]=t.rangeMax,I[r>>2]=t.precision;},Ea:function(t,e,n){n?35716==e?(null===(t=rn.getShaderInfoLog(Ce[t]))&&(t="(unknown error)"),I[n>>2]=t?t.length+1:0):35720==e?(t=rn.getShaderSource(Ce[t]),I[n>>2]=t?t.length+1:0):I[n>>2]=rn.getShaderParameter(Ce[t],e):Re(1281);},F:function(t){var e=Ae[t];if(!e){switch(t){case 7939:e=Ge((e=(e=rn.getSupportedExtensions()||[]).concat(e.map((function(t){return "GL_"+t})))).join(" "));break;case 7936:case 7937:case 37445:case 37446:(e=rn.getParameter(t))||Re(1280),e=e&&Ge(e);break;case 7938:e=rn.getParameter(7938),e=Ge(e=2<=Fe.version?"OpenGL ES 3.0 ("+e+")":"OpenGL ES 2.0 ("+e+")");break;case 35724:var n=(e=rn.getParameter(35724)).match(/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/);null!==n&&(3==n[1].length&&(n[1]+="0"),e="OpenGL ES GLSL ES "+n[1]+" ("+e+")"),e=Ge(e);break;default:Re(1280);}Ae[t]=e;}return e},bb:function(t,e){if(2>Fe.version)return Re(1282),0;var n=Ie[t];return n?0>e||e>=n.length?(Re(1281),0):n[e]:7939===t?(n=(n=(n=rn.getSupportedExtensions()||[]).concat(n.map((function(t){return "GL_"+t})))).map((function(t){return Ge(t)})),n=Ie[t]=n,0>e||e>=n.length?(Re(1281),0):n[e]):(Re(1280),0)},Fa:function(t,e){if(e=U(e),t=Te[t]){var n,r=t,i=r.He,o=r.pf;if(!i)for(r.He=i={},r.nf={},n=0;n>>0,o=e.slice(0,n)),(o=t.pf[o])&&i>2];rn.invalidateFramebuffer(t,r);},Lb:function(t,e,n,r,i,o,a){for(var s=Ue[e],u=0;u>2];rn.invalidateSubFramebuffer(t,s,r,i,o,a);},Sb:function(t){return rn.isSync(Oe[t])},Ga:function(t){return (t=xe[t])?rn.isTexture(t):0},Ha:function(t){rn.lineWidth(t);},Ia:function(t){t=Te[t],rn.linkProgram(t),t.He=0,t.pf={};},lc:function(t,e,n,r,i,o){rn.lf.multiDrawArraysInstancedBaseInstanceWEBGL(t,I,e>>2,I,n>>2,I,r>>2,P,i>>2,o);},mc:function(t,e,n,r,i,o,a,s){rn.lf.multiDrawElementsInstancedBaseVertexBaseInstanceWEBGL(t,I,e>>2,n,I,r>>2,I,i>>2,I,o>>2,P,a>>2,s);},Ja:function(t,e){3317==t&&(Pe=e),rn.pixelStorei(t,e);},oc:function(t){rn.readBuffer(t);},Ka:function(t,e,n,r,i,o,a){if(2<=Fe.version)if(rn.Xe)rn.readPixels(t,e,n,r,i,o,a);else {var s=qe(o);rn.readPixels(t,e,n,r,i,o,s,a>>31-Math.clz32(s.BYTES_PER_ELEMENT));}else (a=He(o,i,n,r,a))?rn.readPixels(t,e,n,r,i,o,a):Re(1280);},Zb:function(t,e,n,r){rn.renderbufferStorage(t,e,n,r);},Ub:function(t,e,n,r,i){rn.renderbufferStorageMultisample(t,e,n,r,i);},Pb:function(t,e,n){rn.samplerParameteri(Ne[t],e,n);},Qb:function(t,e,n){rn.samplerParameteri(Ne[t],e,I[n>>2]);},La:function(t,e,n,r){rn.scissor(t,e,n,r);},Ma:function(t,e,n,r){for(var i="",o=0;o>2]:-1;i+=U(I[n+4*o>>2],0>a?void 0:a);}rn.shaderSource(Ce[t],i);},Na:function(t,e,n){rn.stencilFunc(t,e,n);},Oa:function(t,e,n,r){rn.stencilFuncSeparate(t,e,n,r);},Pa:function(t){rn.stencilMask(t);},Qa:function(t,e){rn.stencilMaskSeparate(t,e);},Ra:function(t,e,n){rn.stencilOp(t,e,n);},Sa:function(t,e,n,r){rn.stencilOpSeparate(t,e,n,r);},Ta:function(t,e,n,r,i,o,a,s,u){if(2<=Fe.version)if(rn.we)rn.texImage2D(t,e,n,r,i,o,a,s,u);else if(u){var l=qe(s);rn.texImage2D(t,e,n,r,i,o,a,s,l,u>>31-Math.clz32(l.BYTES_PER_ELEMENT));}else rn.texImage2D(t,e,n,r,i,o,a,s,null);else rn.texImage2D(t,e,n,r,i,o,a,s,u?He(s,a,r,i,u):null);},Ua:function(t,e,n){rn.texParameterf(t,e,n);},Va:function(t,e,n){rn.texParameterf(t,e,R[n>>2]);},Wa:function(t,e,n){rn.texParameteri(t,e,n);},Ya:function(t,e,n){rn.texParameteri(t,e,I[n>>2]);},ic:function(t,e,n,r,i){rn.texStorage2D(t,e,n,r,i);},Za:function(t,e,n,r,i,o,a,s,u){if(2<=Fe.version)if(rn.we)rn.texSubImage2D(t,e,n,r,i,o,a,s,u);else if(u){var l=qe(s);rn.texSubImage2D(t,e,n,r,i,o,a,s,l,u>>31-Math.clz32(l.BYTES_PER_ELEMENT));}else rn.texSubImage2D(t,e,n,r,i,o,a,s,null);else l=null,u&&(l=He(s,a,i,o,u)),rn.texSubImage2D(t,e,n,r,i,o,a,s,l);},_a:function(t,e){rn.uniform1f(ze(t),e);},$a:function(t,e,n){if(2<=Fe.version)e&&rn.uniform1fv(ze(t),R,n>>2,e);else {if(288>=e)for(var r=Ve[e-1],i=0;i>2];else r=R.subarray(n>>2,n+4*e>>2);rn.uniform1fv(ze(t),r);}},Tc:function(t,e){rn.uniform1i(ze(t),e);},Uc:function(t,e,n){if(2<=Fe.version)e&&rn.uniform1iv(ze(t),I,n>>2,e);else {if(288>=e)for(var r=Xe[e-1],i=0;i>2];else r=I.subarray(n>>2,n+4*e>>2);rn.uniform1iv(ze(t),r);}},Vc:function(t,e,n){rn.uniform2f(ze(t),e,n);},Wc:function(t,e,n){if(2<=Fe.version)e&&rn.uniform2fv(ze(t),R,n>>2,2*e);else {if(144>=e)for(var r=Ve[2*e-1],i=0;i<2*e;i+=2)r[i]=R[n+4*i>>2],r[i+1]=R[n+(4*i+4)>>2];else r=R.subarray(n>>2,n+8*e>>2);rn.uniform2fv(ze(t),r);}},Sc:function(t,e,n){rn.uniform2i(ze(t),e,n);},Rc:function(t,e,n){if(2<=Fe.version)e&&rn.uniform2iv(ze(t),I,n>>2,2*e);else {if(144>=e)for(var r=Xe[2*e-1],i=0;i<2*e;i+=2)r[i]=I[n+4*i>>2],r[i+1]=I[n+(4*i+4)>>2];else r=I.subarray(n>>2,n+8*e>>2);rn.uniform2iv(ze(t),r);}},Qc:function(t,e,n,r){rn.uniform3f(ze(t),e,n,r);},Pc:function(t,e,n){if(2<=Fe.version)e&&rn.uniform3fv(ze(t),R,n>>2,3*e);else {if(96>=e)for(var r=Ve[3*e-1],i=0;i<3*e;i+=3)r[i]=R[n+4*i>>2],r[i+1]=R[n+(4*i+4)>>2],r[i+2]=R[n+(4*i+8)>>2];else r=R.subarray(n>>2,n+12*e>>2);rn.uniform3fv(ze(t),r);}},Oc:function(t,e,n,r){rn.uniform3i(ze(t),e,n,r);},Nc:function(t,e,n){if(2<=Fe.version)e&&rn.uniform3iv(ze(t),I,n>>2,3*e);else {if(96>=e)for(var r=Xe[3*e-1],i=0;i<3*e;i+=3)r[i]=I[n+4*i>>2],r[i+1]=I[n+(4*i+4)>>2],r[i+2]=I[n+(4*i+8)>>2];else r=I.subarray(n>>2,n+12*e>>2);rn.uniform3iv(ze(t),r);}},Mc:function(t,e,n,r,i){rn.uniform4f(ze(t),e,n,r,i);},Lc:function(t,e,n){if(2<=Fe.version)e&&rn.uniform4fv(ze(t),R,n>>2,4*e);else {if(72>=e){var r=Ve[4*e-1],i=R;n>>=2;for(var o=0;o<4*e;o+=4){var a=n+o;r[o]=i[a],r[o+1]=i[a+1],r[o+2]=i[a+2],r[o+3]=i[a+3];}}else r=R.subarray(n>>2,n+16*e>>2);rn.uniform4fv(ze(t),r);}},zc:function(t,e,n,r,i){rn.uniform4i(ze(t),e,n,r,i);},Ac:function(t,e,n){if(2<=Fe.version)e&&rn.uniform4iv(ze(t),I,n>>2,4*e);else {if(72>=e)for(var r=Xe[4*e-1],i=0;i<4*e;i+=4)r[i]=I[n+4*i>>2],r[i+1]=I[n+(4*i+4)>>2],r[i+2]=I[n+(4*i+8)>>2],r[i+3]=I[n+(4*i+12)>>2];else r=I.subarray(n>>2,n+16*e>>2);rn.uniform4iv(ze(t),r);}},Bc:function(t,e,n,r){if(2<=Fe.version)e&&rn.uniformMatrix2fv(ze(t),!!n,R,r>>2,4*e);else {if(72>=e)for(var i=Ve[4*e-1],o=0;o<4*e;o+=4)i[o]=R[r+4*o>>2],i[o+1]=R[r+(4*o+4)>>2],i[o+2]=R[r+(4*o+8)>>2],i[o+3]=R[r+(4*o+12)>>2];else i=R.subarray(r>>2,r+16*e>>2);rn.uniformMatrix2fv(ze(t),!!n,i);}},Cc:function(t,e,n,r){if(2<=Fe.version)e&&rn.uniformMatrix3fv(ze(t),!!n,R,r>>2,9*e);else {if(32>=e)for(var i=Ve[9*e-1],o=0;o<9*e;o+=9)i[o]=R[r+4*o>>2],i[o+1]=R[r+(4*o+4)>>2],i[o+2]=R[r+(4*o+8)>>2],i[o+3]=R[r+(4*o+12)>>2],i[o+4]=R[r+(4*o+16)>>2],i[o+5]=R[r+(4*o+20)>>2],i[o+6]=R[r+(4*o+24)>>2],i[o+7]=R[r+(4*o+28)>>2],i[o+8]=R[r+(4*o+32)>>2];else i=R.subarray(r>>2,r+36*e>>2);rn.uniformMatrix3fv(ze(t),!!n,i);}},Dc:function(t,e,n,r){if(2<=Fe.version)e&&rn.uniformMatrix4fv(ze(t),!!n,R,r>>2,16*e);else {if(18>=e){var i=Ve[16*e-1],o=R;r>>=2;for(var a=0;a<16*e;a+=16){var s=r+a;i[a]=o[s],i[a+1]=o[s+1],i[a+2]=o[s+2],i[a+3]=o[s+3],i[a+4]=o[s+4],i[a+5]=o[s+5],i[a+6]=o[s+6],i[a+7]=o[s+7],i[a+8]=o[s+8],i[a+9]=o[s+9],i[a+10]=o[s+10],i[a+11]=o[s+11],i[a+12]=o[s+12],i[a+13]=o[s+13],i[a+14]=o[s+14],i[a+15]=o[s+15];}}else i=R.subarray(r>>2,r+64*e>>2);rn.uniformMatrix4fv(ze(t),!!n,i);}},Ec:function(t){t=Te[t],rn.useProgram(t),rn.xf=t;},Fc:function(t,e){rn.vertexAttrib1f(t,e);},Gc:function(t,e){rn.vertexAttrib2f(t,R[e>>2],R[e+4>>2]);},Hc:function(t,e){rn.vertexAttrib3f(t,R[e>>2],R[e+4>>2],R[e+8>>2]);},Ic:function(t,e){rn.vertexAttrib4f(t,R[e>>2],R[e+4>>2],R[e+8>>2],R[e+12>>2]);},jc:function(t,e){rn.vertexAttribDivisor(t,e);},kc:function(t,e,n,r,i){rn.vertexAttribIPointer(t,e,n,r,i);},Jc:function(t,e,n,r,i,o){rn.vertexAttribPointer(t,e,n,!!r,i,o);},Kc:function(t,e,n,r){rn.viewport(t,e,n,r);},db:function(t,e,n,r){rn.waitSync(Oe[t],e,(n>>>0)+4294967296*r);},nb:function(t){var e=N.length;if(2147483648<(t>>>=0))return !1;for(var n=1;4>=n;n*=2){var r=e*(1+.2/n);r=Math.min(r,t+100663296);var i=Math,o=i.min;r=Math.max(t,r),r+=(65536-r%65536)%65536;t:{var a=M.buffer;try{M.grow(o.call(i,2147483648,r)-a.byteLength+65535>>>16),G();var s=1;break t}catch(t){}s=void 0;}if(s)return !0}return !1},Yc:function(){return Fe?Fe.Jf:0},Q:function(t){return De(t)?0:-5},sb:function(t,e){var n=0;return Ze().forEach((function(r,i){var o=e+n;for(i=P[t+4*i>>2]=o,o=0;o>0]=r.charCodeAt(o);S[i>>0]=0,n+=r.length+1;})),0},tb:function(t,e){var n=Ze();P[t>>2]=n.length;var r=0;return n.forEach((function(t){r+=t.length+1;})),P[e>>2]=r,0},Eb:function(t){C||(e.onExit&&e.onExit(t),D=!0),y(t,new et(t));},I:function(){return 52},ib:function(){return 52},yb:function(){return 52},jb:function(){return 70},G:function(t,e,n,r){for(var i=0,o=0;o>2],s=P[e+4>>2];e+=8;for(var u=0;u>2]=i,0},Zc:function(t,e){rn.bindFramebuffer(t,Ee[e]);},Xa:function(t){rn.clear(t);},wb:function(t,e,n,r){rn.clearColor(t,e,n,r);},eb:function(t){rn.clearStencil(t);},E:function(t,e){je(t,e);},f:function(t,e){var n=dn();try{return qt(t)(e)}catch(t){if(yn(n),t!==t+0)throw t;pn(1,0);}},j:function(t,e,n){var r=dn();try{return qt(t)(e,n)}catch(t){if(yn(r),t!==t+0)throw t;pn(1,0);}},d:function(t,e,n,r){var i=dn();try{return qt(t)(e,n,r)}catch(t){if(yn(i),t!==t+0)throw t;pn(1,0);}},z:function(t,e,n,r,i){var o=dn();try{return qt(t)(e,n,r,i)}catch(t){if(yn(o),t!==t+0)throw t;pn(1,0);}},Ib:function(t,e,n,r,i,o){var a=dn();try{return qt(t)(e,n,r,i,o)}catch(t){if(yn(a),t!==t+0)throw t;pn(1,0);}},N:function(t,e,n,r,i,o,a){var s=dn();try{return qt(t)(e,n,r,i,o,a)}catch(t){if(yn(s),t!==t+0)throw t;pn(1,0);}},M:function(t,e,n,r,i,o,a,s,u,l){var c=dn();try{return qt(t)(e,n,r,i,o,a,s,u,l)}catch(t){if(yn(c),t!==t+0)throw t;pn(1,0);}},C:function(t){var e=dn();try{qt(t)();}catch(t){if(yn(e),t!==t+0)throw t;pn(1,0);}},h:function(t,e){var n=dn();try{qt(t)(e);}catch(t){if(yn(n),t!==t+0)throw t;pn(1,0);}},m:function(t,e,n){var r=dn();try{qt(t)(e,n);}catch(t){if(yn(r),t!==t+0)throw t;pn(1,0);}},e:function(t,e,n,r){var i=dn();try{qt(t)(e,n,r);}catch(t){if(yn(i),t!==t+0)throw t;pn(1,0);}},l:function(t,e,n,r,i){var o=dn();try{qt(t)(e,n,r,i);}catch(t){if(yn(o),t!==t+0)throw t;pn(1,0);}},Hb:function(t,e,n,r,i,o){var a=dn();try{qt(t)(e,n,r,i,o);}catch(t){if(yn(a),t!==t+0)throw t;pn(1,0);}},Fb:function(t,e,n,r,i,o,a){var s=dn();try{qt(t)(e,n,r,i,o,a);}catch(t){if(yn(s),t!==t+0)throw t;pn(1,0);}},Gb:function(t,e,n,r,i,o,a,s,u,l){var c=dn();try{qt(t)(e,n,r,i,o,a,s,u,l);}catch(t){if(yn(c),t!==t+0)throw t;pn(1,0);}},lb:function(t,e,n,r){return function(t,e,n,r){function i(t,e,n){for(t="number"==typeof t?t.toString():t||"";t.lengtht?-1:0r-t.getDate())){t.setDate(t.getDate()+e);break}e-=r-t.getDate()+1,t.setDate(1),11>n?t.setMonth(n+1):(t.setMonth(0),t.setFullYear(t.getFullYear()+1));}return n=new Date(t.getFullYear()+1,0,4),e=s(new Date(t.getFullYear(),0,4)),n=s(n),0>=a(e,t)?0>=a(n,t)?t.getFullYear()+1:t.getFullYear():t.getFullYear()-1}var l=I[r+40>>2];for(var c in r={eg:I[r>>2],dg:I[r+4>>2],Re:I[r+8>>2],af:I[r+12>>2],Se:I[r+16>>2],ge:I[r+20>>2],Zd:I[r+24>>2],fe:I[r+28>>2],kg:I[r+32>>2],cg:I[r+36>>2],fg:l?U(l):""},n=U(n),l={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"})n=n.replace(new RegExp(c,"g"),l[c]);var h="Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),f="January February March April May June July August September October November December".split(" ");for(c in l={"%a":function(t){return h[t.Zd].substring(0,3)},"%A":function(t){return h[t.Zd]},"%b":function(t){return f[t.Se].substring(0,3)},"%B":function(t){return f[t.Se]},"%C":function(t){return o((t.ge+1900)/100|0,2)},"%d":function(t){return o(t.af,2)},"%e":function(t){return i(t.af,2," ")},"%g":function(t){return u(t).toString().substring(2)},"%G":function(t){return u(t)},"%H":function(t){return o(t.Re,2)},"%I":function(t){return 0==(t=t.Re)?t=12:12t.Re?"AM":"PM"},"%S":function(t){return o(t.eg,2)},"%t":function(){return "\t"},"%u":function(t){return t.Zd||7},"%U":function(t){return o(Math.floor((t.fe+7-t.Zd)/7),2)},"%V":function(t){var e=Math.floor((t.fe+7-(t.Zd+6)%7)/7);if(2>=(t.Zd+371-t.fe-2)%7&&e++,e)53==e&&(4==(n=(t.Zd+371-t.fe)%7)||3==n&&Je(t.ge)||(e=1));else {e=52;var n=(t.Zd+7-t.fe-1)%7;(4==n||5==n&&Je(t.ge%400-1))&&e++;}return o(e,2)},"%w":function(t){return t.Zd},"%W":function(t){return o(Math.floor((t.fe+7-(t.Zd+6)%7)/7),2)},"%y":function(t){return (t.ge+1900).toString().substring(2)},"%Y":function(t){return t.ge+1900},"%z":function(t){var e=0<=(t=t.cg);return t=Math.abs(t)/60,(e?"+":"-")+String("0000"+(t/60*100+t%60)).slice(-4)},"%Z":function(t){return t.fg},"%%":function(){return "%"}},n=n.replace(/%%/g,"\0\0"),l)n.includes(c)&&(n=n.replace(new RegExp(c,"g"),l[c](r)));return c=function(t){var e=Array(j(t)+1);return B(t,e,0,e.length),e}(n=n.replace(/\0\0/g,"%")),c.length>e?0:(S.set(c,t),c.length-1)}(t,e,n,r)}};!function(){function t(t){e.asm=t.exports,M=e.asm._c,G(),W=e.asm.ad,H.unshift(e.asm.$c),Y--,e.monitorRunDependencies&&e.monitorRunDependencies(Y),0==Y&&(null!==Z&&(clearInterval(Z),Z=null),Q&&(t=Q,Q=null,t()));}function n(e){t(e.instance);}function r(t){return function(){if(!E&&(m||g)){if("function"==typeof fetch&&!X.startsWith("file://"))return fetch(X,{credentials:"same-origin"}).then((function(t){if(!t.ok)throw "failed to load wasm binary file at '"+X+"'";return t.arrayBuffer()})).catch((function(){return tt()}));if(h)return new Promise((function(t,e){h(X,(function(e){t(new Uint8Array(e));}),e);}))}return Promise.resolve().then((function(){return tt()}))}().then((function(t){return WebAssembly.instantiate(t,i)})).then((function(t){return t})).then(t,(function(t){x("failed to asynchronously prepare wasm: "+t),K(t);}))}var i={a:un};if(Y++,e.monitorRunDependencies&&e.monitorRunDependencies(Y),e.instantiateWasm)try{return e.instantiateWasm(i,t)}catch(t){x("Module.instantiateWasm callback failed with error: "+t),u(t);}(E||"function"!=typeof WebAssembly.instantiateStreaming||J()||X.startsWith("file://")||_||"function"!=typeof fetch?r(n):fetch(X,{credentials:"same-origin"}).then((function(t){return WebAssembly.instantiateStreaming(t,i).then(n,(function(t){return x("wasm streaming compile failed: "+t),x("falling back to ArrayBuffer instantiation"),r(n)}))}))).catch(u);}();var ln,cn=e._free=function(){return (cn=e._free=e.asm.bd).apply(null,arguments)},hn=e._malloc=function(){return (hn=e._malloc=e.asm.cd).apply(null,arguments)},fn=e.___getTypeName=function(){return (fn=e.___getTypeName=e.asm.dd).apply(null,arguments)};function pn(){return (pn=e.asm.fd).apply(null,arguments)}function dn(){return (dn=e.asm.gd).apply(null,arguments)}function yn(){return (yn=e.asm.hd).apply(null,arguments)}function mn(){function t(){if(!ln&&(ln=!0,e.calledRun=!0,!D)){if(nt(H),s(e),e.onRuntimeInitialized&&e.onRuntimeInitialized(),e.postRun)for("function"==typeof e.postRun&&(e.postRun=[e.postRun]);e.postRun.length;){var t=e.postRun.shift();z.unshift(t);}nt(z);}}if(!(0{let r=n(4472);r="default"in r?r.default:r,t.exports=function(t){const e=JSON.parse(t.tilePieceBoundingBox),n=JSON.parse(t.tileBoundingBox),i=t.height,o=t.width,a=new Uint8ClampedArray(o*i*4),s=new Uint8ClampedArray(t.sourceImageData);let u,l;try{null==r.defs(t.projectionTo)&&r.defs(t.projectionTo,t.projectionToDefinition),null==r.defs(t.projectionFrom)&&r.defs(t.projectionFrom,t.projectionFromDefinition),u=r(t.projectionTo,t.projectionFrom);}catch(e){throw new Error("Error creating projection conversion between "+t.projectionTo+" and "+t.projectionFrom+".")}for(let r=0;r=0&&d=0&&y{"use strict";n.r(e),n.d(e,{TileUtilities:()=>o});var r=n(1375),i=n(5604);class o{static getPiecePosition(t,e,n,o,a,s,u,l,c,h,f,p){let d;try{null==i.Projection.hasProjection(a)&&i.Projection.loadProjection(a,s),null==i.Projection.hasProjection(u)&&i.Projection.loadProjection(u,l),d=i.Projection.getConverter(a,u);}catch(t){throw new Error("Error creating projection conversion between "+a+" and "+u+".")}let y=t.maxLatitude,m=t.minLatitude,g=t.minLongitude-f,_=t.maxLongitude+f;a.toUpperCase()===r.ProjectionConstants.EPSG_3857&&u.toUpperCase()===r.ProjectionConstants.EPSG_4326&&(y=y>r.ProjectionConstants.WEB_MERCATOR_MAX_LAT_RANGE?r.ProjectionConstants.WEB_MERCATOR_MAX_LAT_RANGE:y,m=mr.ProjectionConstants.WEB_MERCATOR_MAX_LON_RANGE?r.ProjectionConstants.WEB_MERCATOR_MAX_LON_RANGE:_);const b=i.Projection.convertCoordinates(r.ProjectionConstants.EPSG_4326,a,[-180,0]),v=i.Projection.convertCoordinates(r.ProjectionConstants.EPSG_4326,a,[180,0]);g=gv[0]?v[0]:_;const T=d.inverse([g,m]),E=d.inverse([_,y]),w=isNaN(T[1])?e.minLatitude:T[1],x=isNaN(E[1])?e.maxLatitude:E[1],C=T[0],M=E[0];return {startY:Math.max(0,Math.floor((e.maxLatitude-x)/c)),startX:Math.max(0,Math.floor((C-e.minLongitude)/h)),endY:Math.min(n,n-Math.floor((w-e.minLatitude)/c)),endX:Math.min(o,o-Math.floor((e.maxLongitude-M)/h))}}}},7591:(t,e,n)=>{var r=n(5108);const i=n(2331);function o(t){const e=t.data,n=i(e);this.postMessage(n),this.close();}t.exports=function(t){t.onmessage=o,t.onerror=function(t){r.log("error",t);};};},9705:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(1540);function i(t){var e=[1/0,1/0,-1/0,-1/0];return r.coordEach(t,(function(t){e[0]>t[0]&&(e[0]=t[0]),e[1]>t[1]&&(e[1]=t[1]),e[2]{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(611);e.default=function(t){for(var e,n,i=r.getCoords(t),o=0,a=1;a0};},8147:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(611);function i(t,e,n){var r=!1;e[0][0]===e[e.length-1][0]&&e[0][1]===e[e.length-1][1]&&(e=e.slice(0,e.length-1));for(var i=0,o=e.length-1;it[1]!=l>t[1]&&t[0]<(u-a)*(t[1]-s)/(l-s)+a&&(r=!r);}return r}e.default=function(t,e,n){if(void 0===n&&(n={}),!t)throw new Error("point is required");if(!e)throw new Error("polygon is required");var o=r.getCoord(t),a=r.getGeom(e),s=a.type,u=e.bbox,l=a.coordinates;if(u&&!1===function(t,e){return e[0]<=t[0]&&e[1]<=t[1]&&e[2]>=t[0]&&e[3]>=t[1]}(o,u))return !1;"Polygon"===s&&(l=[l]);for(var c=!1,h=0;h{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(611);function i(t,e,n,r,i){var o=n[0],a=n[1],s=t[0],u=t[1],l=e[0],c=e[1],h=l-s,f=c-u,p=(n[0]-s)*f-(n[1]-u)*h;if(null!==i){if(Math.abs(p)>i)return !1}else if(0!==p)return !1;return r?"start"===r?Math.abs(h)>=Math.abs(f)?h>0?s0?u=Math.abs(f)?h>0?s<=o&&o0?u<=a&&a=Math.abs(f)?h>0?s0?u=Math.abs(f)?h>0?s<=o&&o<=l:l<=o&&o<=s:f>0?u<=a&&a<=c:c<=a&&a<=u}e.default=function(t,e,n){void 0===n&&(n={});for(var o=r.getCoord(t),a=r.getCoords(e),s=0;se[0]||t[2]e[1]||t[3]{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(1540);function i(t){var e=[1/0,1/0,-1/0,-1/0];return r.coordEach(t,(function(t){e[0]>t[0]&&(e[0]=t[0]),e[1]>t[1]&&(e[1]=t[1]),e[2]{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(611),i=n(4102);e.default=function(t,e,n){void 0===n&&(n={});var o=r.getCoord(t),a=r.getCoord(e),s=i.degreesToRadians(a[1]-o[1]),u=i.degreesToRadians(a[0]-o[0]),l=i.degreesToRadians(o[1]),c=i.degreesToRadians(a[1]),h=Math.pow(Math.sin(s/2),2)+Math.pow(Math.sin(u/2),2)*Math.cos(l)*Math.cos(c);return i.radiansToLength(2*Math.atan2(Math.sqrt(h),Math.sqrt(1-h)),n.units)};},4102:(t,e)=>{"use strict";function n(t,e,n){void 0===n&&(n={});var r={type:"Feature"};return (0===n.id||n.id)&&(r.id=n.id),n.bbox&&(r.bbox=n.bbox),r.properties=e||{},r.geometry=t,r}function r(t,e,r){if(void 0===r&&(r={}),!t)throw new Error("coordinates is required");if(!Array.isArray(t))throw new Error("coordinates must be an Array");if(t.length<2)throw new Error("coordinates must be at least 2 numbers long");if(!p(t[0])||!p(t[1]))throw new Error("coordinates must contain numbers");return n({type:"Point",coordinates:t},e,r)}function i(t,e,r){void 0===r&&(r={});for(var i=0,o=t;i=0))throw new Error("precision must be a positive number");var n=Math.pow(10,e||0);return Math.round(t*n)/n},e.radiansToLength=c,e.lengthToRadians=h,e.lengthToDegrees=function(t,e){return f(h(t,e))},e.bearingToAzimuth=function(t){var e=t%360;return e<0&&(e+=360),e},e.radiansToDegrees=f,e.degreesToRadians=function(t){return t%360*Math.PI/180},e.convertLength=function(t,e,n){if(void 0===e&&(e="kilometers"),void 0===n&&(n="kilometers"),!(t>=0))throw new Error("length must be a positive number");return c(h(t,e),n)},e.convertArea=function(t,n,r){if(void 0===n&&(n="meters"),void 0===r&&(r="kilometers"),!(t>=0))throw new Error("area must be a positive number");var i=e.areaFactors[n];if(!i)throw new Error("invalid original units");var o=e.areaFactors[r];if(!o)throw new Error("invalid final units");return t/i*o},e.isNumber=p,e.isObject=function(t){return !!t&&t.constructor===Object},e.validateBBox=function(t){if(!t)throw new Error("bbox is required");if(!Array.isArray(t))throw new Error("bbox must be an Array");if(4!==t.length&&6!==t.length)throw new Error("bbox must be an Array of 4 or 6 numbers");t.forEach((function(t){if(!p(t))throw new Error("bbox must only contain numbers")}));},e.validateId=function(t){if(!t)throw new Error("id is required");if(-1===["string","number"].indexOf(typeof t))throw new Error("id must be a number or a string")};},4170:function(t,e,n){"use strict";var r=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});var i=n(4102),o=n(611),a=r(n(2676));e.default=function(t,e,n){void 0===n&&(n={});var r=o.getGeom(t),s=o.getGeom(e),u=a.default.intersection(r.coordinates,s.coordinates);return 0===u.length?null:1===u.length?i.polygon(u[0],n.properties):i.multiPolygon(u,n.properties)};},611:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(4102);e.getCoord=function(t){if(!t)throw new Error("coord is required");if(!Array.isArray(t)){if("Feature"===t.type&&null!==t.geometry&&"Point"===t.geometry.type)return t.geometry.coordinates;if("Point"===t.type)return t.coordinates}if(Array.isArray(t)&&t.length>=2&&!Array.isArray(t[0])&&!Array.isArray(t[1]))return t;throw new Error("coord must be GeoJSON Point or an Array of numbers")},e.getCoords=function(t){if(Array.isArray(t))return t;if("Feature"===t.type){if(null!==t.geometry)return t.geometry.coordinates}else if(t.coordinates)return t.coordinates;throw new Error("coords must be GeoJSON Feature, Geometry Object or an Array")},e.containsNumber=function t(e){if(e.length>1&&r.isNumber(e[0])&&r.isNumber(e[1]))return !0;if(Array.isArray(e[0])&&e[0].length)return t(e[0]);throw new Error("coordinates must only contain numbers")},e.geojsonType=function(t,e,n){if(!e||!n)throw new Error("type and name required");if(!t||t.type!==e)throw new Error("Invalid input to "+n+": must be a "+e+", given "+t.type)},e.featureOf=function(t,e,n){if(!t)throw new Error("No feature passed");if(!n)throw new Error(".featureOf() requires a name");if(!t||"Feature"!==t.type||!t.geometry)throw new Error("Invalid input to "+n+", Feature with geometry required");if(!t.geometry||t.geometry.type!==e)throw new Error("Invalid input to "+n+": must be a "+e+", given "+t.geometry.type)},e.collectionOf=function(t,e,n){if(!t)throw new Error("No featureCollection passed");if(!n)throw new Error(".collectionOf() requires a name");if(!t||"FeatureCollection"!==t.type)throw new Error("Invalid input to "+n+", FeatureCollection required");for(var r=0,i=t.features;r line1 must only contain 2 coordinates");if(2!==r.length)throw new Error(" line2 must only contain 2 coordinates");var a=n[0][0],s=n[0][1],u=n[1][0],l=n[1][1],c=r[0][0],h=r[0][1],f=r[1][0],p=r[1][1],d=(p-h)*(u-a)-(f-c)*(l-s);if(0===d)return null;var y=((f-c)*(s-h)-(p-h)*(a-c))/d,m=((u-a)*(s-h)-(l-s)*(a-c))/d;if(y>=0&&y<=1&&m>=0&&m<=1){var g=a+y*(u-a),_=s+y*(l-s);return i.point([g,_])}return null}e.default=function(t,e){var n={},r=[];if("LineString"===t.type&&(t=i.feature(t)),"LineString"===e.type&&(e=i.feature(e)),"Feature"===t.type&&"Feature"===e.type&&null!==t.geometry&&null!==e.geometry&&"LineString"===t.geometry.type&&"LineString"===e.geometry.type&&2===t.geometry.coordinates.length&&2===e.geometry.coordinates.length){var c=l(t,e);return c&&r.push(c),i.featureCollection(r)}var h=u.default();return h.load(a.default(e)),s.featureEach(a.default(t),(function(t){s.featureEach(h.search(t),(function(e){var i=l(t,e);if(i){var a=o.getCoords(i).join(",");n[a]||(n[a]=!0,r.push(i));}}));})),i.featureCollection(r)};},4590:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(4102),i=n(611),o=n(1540);e.default=function(t){if(!t)throw new Error("geojson is required");var e=[];return o.flattenEach(t,(function(t){!function(t,e){var n=[],o=t.geometry;if(null!==o){switch(o.type){case "Polygon":n=i.getCoords(o);break;case "LineString":n=[i.getCoords(o)];}n.forEach((function(n){var i=function(t,e){var n=[];return t.reduce((function(t,i){var o,a,s,u,l,c,h=r.lineString([t,i],e);return h.bbox=(a=i,s=(o=t)[0],u=o[1],[s<(l=a[0])?s:l,u<(c=a[1])?u:c,s>l?s:l,u>c?u:c]),n.push(h),i})),n}(n,t.properties);i.forEach((function(t){t.id=e.length,e.push(t);}));}));}}(t,e);})),r.featureCollection(e)};},1540:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(4102);function i(t,e,n){if(null!==t)for(var r,o,a,s,u,l,c,h,f=0,p=0,d=t.type,y="FeatureCollection"===d,m="Feature"===d,g=y?t.features.length:1,_=0;_l||p>c||d>h)return u=i,l=n,c=p,h=d,void(a=0);var y=r.lineString([u,i],t.properties);if(!1===e(y,n,o,d,a))return !1;a++,u=i;}))&&void 0}}}));}function c(t,e){if(!t)throw new Error("geojson is required");u(t,(function(t,n,i){if(null!==t.geometry){var o=t.geometry.type,a=t.geometry.coordinates;switch(o){case "LineString":if(!1===e(t,n,i,0,0))return !1;break;case "Polygon":for(var s=0;s{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(4102),i=n(611);function o(t,e){return void 0===e&&(e={}),s(i.getGeom(t).coordinates,e.properties?e.properties:"Feature"===t.type?t.properties:{})}function a(t,e){void 0===e&&(e={});var n=i.getGeom(t).coordinates,o=e.properties?e.properties:"Feature"===t.type?t.properties:{},a=[];return n.forEach((function(t){a.push(s(t,o));})),r.featureCollection(a)}function s(t,e){return t.length>1?r.multiLineString(t,e):r.lineString(t[0],e)}e.default=function(t,e){void 0===e&&(e={});var n=i.getGeom(t);switch(e.properties||"Feature"!==t.type||(e.properties=t.properties),n.type){case "Polygon":return o(n,e);case "MultiPolygon":return a(n,e);default:throw new Error("invalid poly")}},e.polygonToLine=o,e.multiPolygonToLine=a,e.coordsToLine=s;},6213:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(4102),i=n(611);e.default=function(t,e,n){void 0===n&&(n={});var o=i.getCoord(t),a=i.getCoord(e);a[0]+=a[0]-o[0]>180?-360:o[0]-a[0]>180?360:0;var s=function(t,e,n){var i=n=void 0===n?r.earthRadius:Number(n),o=t[1]*Math.PI/180,a=e[1]*Math.PI/180,s=a-o,u=Math.abs(e[0]-t[0])*Math.PI/180;u>Math.PI&&(u-=2*Math.PI);var l=Math.log(Math.tan(a/2+Math.PI/4)/Math.tan(o/2+Math.PI/4)),c=Math.abs(l)>1e-11?s/l:Math.cos(o);return Math.sqrt(s*s+c*c*u*u)*i}(o,a);return r.convertLength(s,"meters",n.units)};},8583:(t,e,n)=>{"use strict";var r=n(7418);function i(t,e){if(t===e)return 0;for(var n=t.length,r=e.length,i=0,o=Math.min(n,r);i=0;l--)if(c[l]!==h[l])return !1;for(l=c.length-1;l>=0;l--)if(!b(t[s=c[l]],e[s],n,r))return !1;return !0}(t,e,n,r))}return n?t===e:t==e}function v(t){return "[object Arguments]"==Object.prototype.toString.call(t)}function T(t,e){if(!t||!e)return !1;if("[object RegExp]"==Object.prototype.toString.call(e))return e.test(t);try{if(t instanceof e)return !0}catch(t){}return !Error.isPrototypeOf(e)&&!0===e.call({},t)}function E(t,e,n,r){var i;if("function"!=typeof e)throw new TypeError('"block" argument must be a function');"string"==typeof n&&(r=n,n=null),i=function(t){var e;try{t();}catch(t){e=t;}return e}(e),r=(n&&n.name?" ("+n.name+").":".")+(r?" "+r:"."),t&&!i&&g(i,n,"Missing expected exception"+r);var o="string"==typeof r,s=!t&&i&&!n;if((!t&&a.isError(i)&&o&&T(i,n)||s)&&g(i,n,"Got unwanted exception"+r),t&&i&&n&&!T(i,n)||!t&&i)throw i}f.AssertionError=function(t){this.name="AssertionError",this.actual=t.actual,this.expected=t.expected,this.operator=t.operator,t.message?(this.message=t.message,this.generatedMessage=!1):(this.message=function(t){return y(m(t.actual),128)+" "+t.operator+" "+y(m(t.expected),128)}(this),this.generatedMessage=!0);var e=t.stackStartFunction||g;if(Error.captureStackTrace)Error.captureStackTrace(this,e);else {var n=new Error;if(n.stack){var r=n.stack,i=d(e),o=r.indexOf("\n"+i);if(o>=0){var a=r.indexOf("\n",o+1);r=r.substring(a+1);}this.stack=r;}}},a.inherits(f.AssertionError,Error),f.fail=g,f.ok=_,f.equal=function(t,e,n){t!=e&&g(t,e,n,"==",f.equal);},f.notEqual=function(t,e,n){t==e&&g(t,e,n,"!=",f.notEqual);},f.deepEqual=function(t,e,n){b(t,e,!1)||g(t,e,n,"deepEqual",f.deepEqual);},f.deepStrictEqual=function(t,e,n){b(t,e,!0)||g(t,e,n,"deepStrictEqual",f.deepStrictEqual);},f.notDeepEqual=function(t,e,n){b(t,e,!1)&&g(t,e,n,"notDeepEqual",f.notDeepEqual);},f.notDeepStrictEqual=function t(e,n,r){b(e,n,!0)&&g(e,n,r,"notDeepStrictEqual",t);},f.strictEqual=function(t,e,n){t!==e&&g(t,e,n,"===",f.strictEqual);},f.notStrictEqual=function(t,e,n){t===e&&g(t,e,n,"!==",f.notStrictEqual);},f.throws=function(t,e,n){E(!0,t,e,n);},f.doesNotThrow=function(t,e,n){E(!1,t,e,n);},f.ifError=function(t){if(t)throw t},f.strict=r((function t(e,n){e||g(e,!0,n,"==",t);}),f,{equal:f.strictEqual,deepEqual:f.deepStrictEqual,notEqual:f.notStrictEqual,notDeepEqual:f.notDeepStrictEqual}),f.strict.strict=f.strict;var w=Object.keys||function(t){var e=[];for(var n in t)s.call(t,n)&&e.push(n);return e};},6076:t=>{"function"==typeof Object.create?t.exports=function(t,e){t.super_=e,t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}});}:t.exports=function(t,e){t.super_=e;var n=function(){};n.prototype=e.prototype,t.prototype=new n,t.prototype.constructor=t;};},2014:t=>{t.exports=function(t){return t&&"object"==typeof t&&"function"==typeof t.copy&&"function"==typeof t.fill&&"function"==typeof t.readUInt8};},69:(t,e,n)=>{var r=n(4155),i=n(5108),o=/%[sdj%]/g;e.format=function(t){if(!_(t)){for(var e=[],n=0;n=i)return t;switch(t){case "%s":return String(r[n++]);case "%d":return Number(r[n++]);case "%j":try{return JSON.stringify(r[n++])}catch(t){return "[Circular]"}default:return t}})),s=r[n];n=3&&(r.depth=arguments[2]),arguments.length>=4&&(r.colors=arguments[3]),y(n)?r.showHidden=n:n&&e._extend(r,n),b(r.showHidden)&&(r.showHidden=!1),b(r.depth)&&(r.depth=2),b(r.colors)&&(r.colors=!1),b(r.customInspect)&&(r.customInspect=!0),r.colors&&(r.stylize=l),h(r,t,r.depth)}function l(t,e){var n=u.styles[e];return n?"["+u.colors[n][0]+"m"+t+"["+u.colors[n][1]+"m":t}function c(t,e){return t}function h(t,n,r){if(t.customInspect&&n&&x(n.inspect)&&n.inspect!==e.inspect&&(!n.constructor||n.constructor.prototype!==n)){var i=n.inspect(r,t);return _(i)||(i=h(t,i,r)),i}var o=function(t,e){if(b(e))return t.stylize("undefined","undefined");if(_(e)){var n="'"+JSON.stringify(e).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return t.stylize(n,"string")}return g(e)?t.stylize(""+e,"number"):y(e)?t.stylize(""+e,"boolean"):m(e)?t.stylize("null","null"):void 0}(t,n);if(o)return o;var a=Object.keys(n),s=function(t){var e={};return t.forEach((function(t,n){e[t]=!0;})),e}(a);if(t.showHidden&&(a=Object.getOwnPropertyNames(n)),w(n)&&(a.indexOf("message")>=0||a.indexOf("description")>=0))return f(n);if(0===a.length){if(x(n)){var u=n.name?": "+n.name:"";return t.stylize("[Function"+u+"]","special")}if(v(n))return t.stylize(RegExp.prototype.toString.call(n),"regexp");if(E(n))return t.stylize(Date.prototype.toString.call(n),"date");if(w(n))return f(n)}var l,c="",T=!1,C=["{","}"];return d(n)&&(T=!0,C=["[","]"]),x(n)&&(c=" [Function"+(n.name?": "+n.name:"")+"]"),v(n)&&(c=" "+RegExp.prototype.toString.call(n)),E(n)&&(c=" "+Date.prototype.toUTCString.call(n)),w(n)&&(c=" "+f(n)),0!==a.length||T&&0!=n.length?r<0?v(n)?t.stylize(RegExp.prototype.toString.call(n),"regexp"):t.stylize("[Object]","special"):(t.seen.push(n),l=T?function(t,e,n,r,i){for(var o=[],a=0,s=e.length;a60?n[0]+(""===e?"":e+"\n ")+" "+t.join(",\n ")+" "+n[1]:n[0]+e+" "+t.join(", ")+" "+n[1]}(l,c,C)):C[0]+c+C[1]}function f(t){return "["+Error.prototype.toString.call(t)+"]"}function p(t,e,n,r,i,o){var a,s,u;if((u=Object.getOwnPropertyDescriptor(e,i)||{value:e[i]}).get?s=u.set?t.stylize("[Getter/Setter]","special"):t.stylize("[Getter]","special"):u.set&&(s=t.stylize("[Setter]","special")),N(r,i)||(a="["+i+"]"),s||(t.seen.indexOf(u.value)<0?(s=m(n)?h(t,u.value,null):h(t,u.value,n-1)).indexOf("\n")>-1&&(s=o?s.split("\n").map((function(t){return " "+t})).join("\n").substr(2):"\n"+s.split("\n").map((function(t){return " "+t})).join("\n")):s=t.stylize("[Circular]","special")),b(a)){if(o&&i.match(/^\d+$/))return s;(a=JSON.stringify(""+i)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(a=a.substr(1,a.length-2),a=t.stylize(a,"name")):(a=a.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),a=t.stylize(a,"string"));}return a+": "+s}function d(t){return Array.isArray(t)}function y(t){return "boolean"==typeof t}function m(t){return null===t}function g(t){return "number"==typeof t}function _(t){return "string"==typeof t}function b(t){return void 0===t}function v(t){return T(t)&&"[object RegExp]"===C(t)}function T(t){return "object"==typeof t&&null!==t}function E(t){return T(t)&&"[object Date]"===C(t)}function w(t){return T(t)&&("[object Error]"===C(t)||t instanceof Error)}function x(t){return "function"==typeof t}function C(t){return Object.prototype.toString.call(t)}function M(t){return t<10?"0"+t.toString(10):t.toString(10)}e.debuglog=function(t){if(b(a)&&(a=r.env.NODE_DEBUG||""),t=t.toUpperCase(),!s[t])if(new RegExp("\\b"+t+"\\b","i").test(a)){var n=r.pid;s[t]=function(){var r=e.format.apply(e,arguments);i.error("%s %d: %s",t,n,r);};}else s[t]=function(){};return s[t]},e.inspect=u,u.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},u.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},e.isArray=d,e.isBoolean=y,e.isNull=m,e.isNullOrUndefined=function(t){return null==t},e.isNumber=g,e.isString=_,e.isSymbol=function(t){return "symbol"==typeof t},e.isUndefined=b,e.isRegExp=v,e.isObject=T,e.isDate=E,e.isError=w,e.isFunction=x,e.isPrimitive=function(t){return null===t||"boolean"==typeof t||"number"==typeof t||"string"==typeof t||"symbol"==typeof t||void 0===t},e.isBuffer=n(2014);var S=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function N(t,e){return Object.prototype.hasOwnProperty.call(t,e)}e.log=function(){var t,n;i.log("%s - %s",(n=[M((t=new Date).getHours()),M(t.getMinutes()),M(t.getSeconds())].join(":"),[t.getDate(),S[t.getMonth()],n].join(" ")),e.format.apply(e,arguments));},e.inherits=n(6076),e._extend=function(t,e){if(!e||!T(e))return t;for(var n=Object.keys(e),r=n.length;r--;)t[n[r]]=e[n[r]];return t};},9742:(t,e)=>{"use strict";e.byteLength=function(t){var e=u(t),n=e[0],r=e[1];return 3*(n+r)/4-r},e.toByteArray=function(t){var e,n,o=u(t),a=o[0],s=o[1],l=new i(function(t,e,n){return 3*(e+n)/4-n}(0,a,s)),c=0,h=s>0?a-4:a;for(n=0;n>16&255,l[c++]=e>>8&255,l[c++]=255&e;return 2===s&&(e=r[t.charCodeAt(n)]<<2|r[t.charCodeAt(n+1)]>>4,l[c++]=255&e),1===s&&(e=r[t.charCodeAt(n)]<<10|r[t.charCodeAt(n+1)]<<4|r[t.charCodeAt(n+2)]>>2,l[c++]=e>>8&255,l[c++]=255&e),l},e.fromByteArray=function(t){for(var e,r=t.length,i=r%3,o=[],a=16383,s=0,u=r-i;su?u:s+a));return 1===i?(e=t[r-1],o.push(n[e>>2]+n[e<<4&63]+"==")):2===i&&(e=(t[r-2]<<8)+t[r-1],o.push(n[e>>10]+n[e>>4&63]+n[e<<2&63]+"=")),o.join("")};for(var n=[],r=[],i="undefined"!=typeof Uint8Array?Uint8Array:Array,o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",a=0,s=o.length;a0)throw new Error("Invalid string. Length must be a multiple of 4");var n=t.indexOf("=");return -1===n&&(n=e),[n,n===e?0:4-n%4]}function l(t,e,r){for(var i,o,a=[],s=e;s>18&63]+n[o>>12&63]+n[o>>6&63]+n[63&o]);return a.join("")}r["-".charCodeAt(0)]=62,r["_".charCodeAt(0)]=63;},8764:(t,e,n)=>{"use strict";var r=n(5108),i=n(9742),o=n(645),a="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;e.Buffer=l,e.SlowBuffer=function(t){return +t!=t&&(t=0),l.alloc(+t)},e.INSPECT_MAX_BYTES=50;var s=2147483647;function u(t){if(t>s)throw new RangeError('The value "'+t+'" is invalid for option "size"');var e=new Uint8Array(t);return Object.setPrototypeOf(e,l.prototype),e}function l(t,e,n){if("number"==typeof t){if("string"==typeof e)throw new TypeError('The "string" argument must be of type string. Received type number');return f(t)}return c(t,e,n)}function c(t,e,n){if("string"==typeof t)return function(t,e){if("string"==typeof e&&""!==e||(e="utf8"),!l.isEncoding(e))throw new TypeError("Unknown encoding: "+e);var n=0|m(t,e),r=u(n),i=r.write(t,e);return i!==n&&(r=r.slice(0,i)),r}(t,e);if(ArrayBuffer.isView(t))return function(t){if(W(t,Uint8Array)){var e=new Uint8Array(t);return d(e.buffer,e.byteOffset,e.byteLength)}return p(t)}(t);if(null==t)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t);if(W(t,ArrayBuffer)||t&&W(t.buffer,ArrayBuffer))return d(t,e,n);if("undefined"!=typeof SharedArrayBuffer&&(W(t,SharedArrayBuffer)||t&&W(t.buffer,SharedArrayBuffer)))return d(t,e,n);if("number"==typeof t)throw new TypeError('The "value" argument must not be of type number. Received type number');var r=t.valueOf&&t.valueOf();if(null!=r&&r!==t)return l.from(r,e,n);var i=function(t){if(l.isBuffer(t)){var e=0|y(t.length),n=u(e);return 0===n.length||t.copy(n,0,0,e),n}return void 0!==t.length?"number"!=typeof t.length||q(t.length)?u(0):p(t):"Buffer"===t.type&&Array.isArray(t.data)?p(t.data):void 0}(t);if(i)return i;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof t[Symbol.toPrimitive])return l.from(t[Symbol.toPrimitive]("string"),e,n);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t)}function h(t){if("number"!=typeof t)throw new TypeError('"size" argument must be of type number');if(t<0)throw new RangeError('The value "'+t+'" is invalid for option "size"')}function f(t){return h(t),u(t<0?0:0|y(t))}function p(t){for(var e=t.length<0?0:0|y(t.length),n=u(e),r=0;r=s)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+s.toString(16)+" bytes");return 0|t}function m(t,e){if(l.isBuffer(t))return t.length;if(ArrayBuffer.isView(t)||W(t,ArrayBuffer))return t.byteLength;if("string"!=typeof t)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof t);var n=t.length,r=arguments.length>2&&!0===arguments[2];if(!r&&0===n)return 0;for(var i=!1;;)switch(e){case "ascii":case "latin1":case "binary":return n;case "utf8":case "utf-8":return B(t).length;case "ucs2":case "ucs-2":case "utf16le":case "utf-16le":return 2*n;case "hex":return n>>>1;case "base64":return j(t).length;default:if(i)return r?-1:B(t).length;e=(""+e).toLowerCase(),i=!0;}}function g(t,e,n){var r=!1;if((void 0===e||e<0)&&(e=0),e>this.length)return "";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return "";if((n>>>=0)<=(e>>>=0))return "";for(t||(t="utf8");;)switch(t){case "hex":return I(this,e,n);case "utf8":case "utf-8":return S(this,e,n);case "ascii":return O(this,e,n);case "latin1":case "binary":return A(this,e,n);case "base64":return M(this,e,n);case "ucs2":case "ucs-2":case "utf16le":case "utf-16le":return P(this,e,n);default:if(r)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),r=!0;}}function _(t,e,n){var r=t[e];t[e]=t[n],t[n]=r;}function b(t,e,n,r,i){if(0===t.length)return -1;if("string"==typeof n?(r=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),q(n=+n)&&(n=i?0:t.length-1),n<0&&(n=t.length+n),n>=t.length){if(i)return -1;n=t.length-1;}else if(n<0){if(!i)return -1;n=0;}if("string"==typeof e&&(e=l.from(e,r)),l.isBuffer(e))return 0===e.length?-1:v(t,e,n,r,i);if("number"==typeof e)return e&=255,"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(t,e,n):Uint8Array.prototype.lastIndexOf.call(t,e,n):v(t,[e],n,r,i);throw new TypeError("val must be string, number or Buffer")}function v(t,e,n,r,i){var o,a=1,s=t.length,u=e.length;if(void 0!==r&&("ucs2"===(r=String(r).toLowerCase())||"ucs-2"===r||"utf16le"===r||"utf-16le"===r)){if(t.length<2||e.length<2)return -1;a=2,s/=2,u/=2,n/=2;}function l(t,e){return 1===a?t[e]:t.readUInt16BE(e*a)}if(i){var c=-1;for(o=n;os&&(n=s-u),o=n;o>=0;o--){for(var h=!0,f=0;fi&&(r=i):r=i;var o=e.length;r>o/2&&(r=o/2);for(var a=0;a>8,i=n%256,o.push(i),o.push(r);return o}(e,t.length-n),t,n,r)}function M(t,e,n){return 0===e&&n===t.length?i.fromByteArray(t):i.fromByteArray(t.slice(e,n))}function S(t,e,n){n=Math.min(t.length,n);for(var r=[],i=e;i239?4:l>223?3:l>191?2:1;if(i+h<=n)switch(h){case 1:l<128&&(c=l);break;case 2:128==(192&(o=t[i+1]))&&(u=(31&l)<<6|63&o)>127&&(c=u);break;case 3:o=t[i+1],a=t[i+2],128==(192&o)&&128==(192&a)&&(u=(15&l)<<12|(63&o)<<6|63&a)>2047&&(u<55296||u>57343)&&(c=u);break;case 4:o=t[i+1],a=t[i+2],s=t[i+3],128==(192&o)&&128==(192&a)&&128==(192&s)&&(u=(15&l)<<18|(63&o)<<12|(63&a)<<6|63&s)>65535&&u<1114112&&(c=u);}null===c?(c=65533,h=1):c>65535&&(c-=65536,r.push(c>>>10&1023|55296),c=56320|1023&c),r.push(c),i+=h;}return function(t){var e=t.length;if(e<=N)return String.fromCharCode.apply(String,t);for(var n="",r=0;rr.length?l.from(o).copy(r,i):Uint8Array.prototype.set.call(r,o,i);else {if(!l.isBuffer(o))throw new TypeError('"list" argument must be an Array of Buffers');o.copy(r,i);}i+=o.length;}return r},l.byteLength=m,l.prototype._isBuffer=!0,l.prototype.swap16=function(){var t=this.length;if(t%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var e=0;en&&(t+=" ... "),""},a&&(l.prototype[a]=l.prototype.inspect),l.prototype.compare=function(t,e,n,r,i){if(W(t,Uint8Array)&&(t=l.from(t,t.offset,t.byteLength)),!l.isBuffer(t))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof t);if(void 0===e&&(e=0),void 0===n&&(n=t?t.length:0),void 0===r&&(r=0),void 0===i&&(i=this.length),e<0||n>t.length||r<0||i>this.length)throw new RangeError("out of range index");if(r>=i&&e>=n)return 0;if(r>=i)return -1;if(e>=n)return 1;if(this===t)return 0;for(var o=(i>>>=0)-(r>>>=0),a=(n>>>=0)-(e>>>=0),s=Math.min(o,a),u=this.slice(r,i),c=t.slice(e,n),h=0;h>>=0,isFinite(n)?(n>>>=0,void 0===r&&(r="utf8")):(r=n,n=void 0);}var i=this.length-e;if((void 0===n||n>i)&&(n=i),t.length>0&&(n<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");r||(r="utf8");for(var o=!1;;)switch(r){case "hex":return T(this,t,e,n);case "utf8":case "utf-8":return E(this,t,e,n);case "ascii":case "latin1":case "binary":return w(this,t,e,n);case "base64":return x(this,t,e,n);case "ucs2":case "ucs-2":case "utf16le":case "utf-16le":return C(this,t,e,n);default:if(o)throw new TypeError("Unknown encoding: "+r);r=(""+r).toLowerCase(),o=!0;}},l.prototype.toJSON=function(){return {type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var N=4096;function O(t,e,n){var r="";n=Math.min(t.length,n);for(var i=e;ir)&&(n=r);for(var i="",o=e;on)throw new RangeError("Trying to access beyond buffer length")}function L(t,e,n,r,i,o){if(!l.isBuffer(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>i||et.length)throw new RangeError("Index out of range")}function D(t,e,n,r,i,o){if(n+r>t.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("Index out of range")}function k(t,e,n,r,i){return e=+e,n>>>=0,i||D(t,0,n,4),o.write(t,e,n,r,23,4),n+4}function F(t,e,n,r,i){return e=+e,n>>>=0,i||D(t,0,n,8),o.write(t,e,n,r,52,8),n+8}l.prototype.slice=function(t,e){var n=this.length;(t=~~t)<0?(t+=n)<0&&(t=0):t>n&&(t=n),(e=void 0===e?n:~~e)<0?(e+=n)<0&&(e=0):e>n&&(e=n),e>>=0,e>>>=0,n||R(t,e,this.length);for(var r=this[t],i=1,o=0;++o>>=0,e>>>=0,n||R(t,e,this.length);for(var r=this[t+--e],i=1;e>0&&(i*=256);)r+=this[t+--e]*i;return r},l.prototype.readUint8=l.prototype.readUInt8=function(t,e){return t>>>=0,e||R(t,1,this.length),this[t]},l.prototype.readUint16LE=l.prototype.readUInt16LE=function(t,e){return t>>>=0,e||R(t,2,this.length),this[t]|this[t+1]<<8},l.prototype.readUint16BE=l.prototype.readUInt16BE=function(t,e){return t>>>=0,e||R(t,2,this.length),this[t]<<8|this[t+1]},l.prototype.readUint32LE=l.prototype.readUInt32LE=function(t,e){return t>>>=0,e||R(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},l.prototype.readUint32BE=l.prototype.readUInt32BE=function(t,e){return t>>>=0,e||R(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},l.prototype.readIntLE=function(t,e,n){t>>>=0,e>>>=0,n||R(t,e,this.length);for(var r=this[t],i=1,o=0;++o=(i*=128)&&(r-=Math.pow(2,8*e)),r},l.prototype.readIntBE=function(t,e,n){t>>>=0,e>>>=0,n||R(t,e,this.length);for(var r=e,i=1,o=this[t+--r];r>0&&(i*=256);)o+=this[t+--r]*i;return o>=(i*=128)&&(o-=Math.pow(2,8*e)),o},l.prototype.readInt8=function(t,e){return t>>>=0,e||R(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},l.prototype.readInt16LE=function(t,e){t>>>=0,e||R(t,2,this.length);var n=this[t]|this[t+1]<<8;return 32768&n?4294901760|n:n},l.prototype.readInt16BE=function(t,e){t>>>=0,e||R(t,2,this.length);var n=this[t+1]|this[t]<<8;return 32768&n?4294901760|n:n},l.prototype.readInt32LE=function(t,e){return t>>>=0,e||R(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},l.prototype.readInt32BE=function(t,e){return t>>>=0,e||R(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},l.prototype.readFloatLE=function(t,e){return t>>>=0,e||R(t,4,this.length),o.read(this,t,!0,23,4)},l.prototype.readFloatBE=function(t,e){return t>>>=0,e||R(t,4,this.length),o.read(this,t,!1,23,4)},l.prototype.readDoubleLE=function(t,e){return t>>>=0,e||R(t,8,this.length),o.read(this,t,!0,52,8)},l.prototype.readDoubleBE=function(t,e){return t>>>=0,e||R(t,8,this.length),o.read(this,t,!1,52,8)},l.prototype.writeUintLE=l.prototype.writeUIntLE=function(t,e,n,r){t=+t,e>>>=0,n>>>=0,r||L(this,t,e,n,Math.pow(2,8*n)-1,0);var i=1,o=0;for(this[e]=255&t;++o>>=0,n>>>=0,r||L(this,t,e,n,Math.pow(2,8*n)-1,0);var i=n-1,o=1;for(this[e+i]=255&t;--i>=0&&(o*=256);)this[e+i]=t/o&255;return e+n},l.prototype.writeUint8=l.prototype.writeUInt8=function(t,e,n){return t=+t,e>>>=0,n||L(this,t,e,1,255,0),this[e]=255&t,e+1},l.prototype.writeUint16LE=l.prototype.writeUInt16LE=function(t,e,n){return t=+t,e>>>=0,n||L(this,t,e,2,65535,0),this[e]=255&t,this[e+1]=t>>>8,e+2},l.prototype.writeUint16BE=l.prototype.writeUInt16BE=function(t,e,n){return t=+t,e>>>=0,n||L(this,t,e,2,65535,0),this[e]=t>>>8,this[e+1]=255&t,e+2},l.prototype.writeUint32LE=l.prototype.writeUInt32LE=function(t,e,n){return t=+t,e>>>=0,n||L(this,t,e,4,4294967295,0),this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t,e+4},l.prototype.writeUint32BE=l.prototype.writeUInt32BE=function(t,e,n){return t=+t,e>>>=0,n||L(this,t,e,4,4294967295,0),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},l.prototype.writeIntLE=function(t,e,n,r){if(t=+t,e>>>=0,!r){var i=Math.pow(2,8*n-1);L(this,t,e,n,i-1,-i);}var o=0,a=1,s=0;for(this[e]=255&t;++o>0)-s&255;return e+n},l.prototype.writeIntBE=function(t,e,n,r){if(t=+t,e>>>=0,!r){var i=Math.pow(2,8*n-1);L(this,t,e,n,i-1,-i);}var o=n-1,a=1,s=0;for(this[e+o]=255&t;--o>=0&&(a*=256);)t<0&&0===s&&0!==this[e+o+1]&&(s=1),this[e+o]=(t/a>>0)-s&255;return e+n},l.prototype.writeInt8=function(t,e,n){return t=+t,e>>>=0,n||L(this,t,e,1,127,-128),t<0&&(t=255+t+1),this[e]=255&t,e+1},l.prototype.writeInt16LE=function(t,e,n){return t=+t,e>>>=0,n||L(this,t,e,2,32767,-32768),this[e]=255&t,this[e+1]=t>>>8,e+2},l.prototype.writeInt16BE=function(t,e,n){return t=+t,e>>>=0,n||L(this,t,e,2,32767,-32768),this[e]=t>>>8,this[e+1]=255&t,e+2},l.prototype.writeInt32LE=function(t,e,n){return t=+t,e>>>=0,n||L(this,t,e,4,2147483647,-2147483648),this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24,e+4},l.prototype.writeInt32BE=function(t,e,n){return t=+t,e>>>=0,n||L(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},l.prototype.writeFloatLE=function(t,e,n){return k(this,t,e,!0,n)},l.prototype.writeFloatBE=function(t,e,n){return k(this,t,e,!1,n)},l.prototype.writeDoubleLE=function(t,e,n){return F(this,t,e,!0,n)},l.prototype.writeDoubleBE=function(t,e,n){return F(this,t,e,!1,n)},l.prototype.copy=function(t,e,n,r){if(!l.isBuffer(t))throw new TypeError("argument should be a Buffer");if(n||(n=0),r||0===r||(r=this.length),e>=t.length&&(e=t.length),e||(e=0),r>0&&r=this.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("sourceEnd out of bounds");r>this.length&&(r=this.length),t.length-e>>=0,n=void 0===n?this.length:n>>>0,t||(t=0),"number"==typeof t)for(o=e;o55295&&n<57344){if(!i){if(n>56319){(e-=3)>-1&&o.push(239,191,189);continue}if(a+1===r){(e-=3)>-1&&o.push(239,191,189);continue}i=n;continue}if(n<56320){(e-=3)>-1&&o.push(239,191,189),i=n;continue}n=65536+(i-55296<<10|n-56320);}else i&&(e-=3)>-1&&o.push(239,191,189);if(i=null,n<128){if((e-=1)<0)break;o.push(n);}else if(n<2048){if((e-=2)<0)break;o.push(n>>6|192,63&n|128);}else if(n<65536){if((e-=3)<0)break;o.push(n>>12|224,n>>6&63|128,63&n|128);}else {if(!(n<1114112))throw new Error("Invalid code point");if((e-=4)<0)break;o.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128);}}return o}function j(t){return i.toByteArray(function(t){if((t=(t=t.split("=")[0]).trim().replace(U,"")).length<2)return "";for(;t.length%4!=0;)t+="=";return t}(t))}function G(t,e,n,r){for(var i=0;i=e.length||i>=t.length);++i)e[i+n]=t[i];return i}function W(t,e){return t instanceof e||null!=t&&null!=t.constructor&&null!=t.constructor.name&&t.constructor.name===e.name}function q(t){return t!=t}var H=function(){for(var t="0123456789abcdef",e=new Array(256),n=0;n<16;++n)for(var r=16*n,i=0;i<16;++i)e[r+i]=t[n]+t[i];return e}();},584:t=>{t.exports={100:"Continue",101:"Switching Protocols",102:"Processing",200:"OK",201:"Created",202:"Accepted",203:"Non-Authoritative Information",204:"No Content",205:"Reset Content",206:"Partial Content",207:"Multi-Status",208:"Already Reported",226:"IM Used",300:"Multiple Choices",301:"Moved Permanently",302:"Found",303:"See Other",304:"Not Modified",305:"Use Proxy",307:"Temporary Redirect",308:"Permanent Redirect",400:"Bad Request",401:"Unauthorized",402:"Payment Required",403:"Forbidden",404:"Not Found",405:"Method Not Allowed",406:"Not Acceptable",407:"Proxy Authentication Required",408:"Request Timeout",409:"Conflict",410:"Gone",411:"Length Required",412:"Precondition Failed",413:"Payload Too Large",414:"URI Too Long",415:"Unsupported Media Type",416:"Range Not Satisfiable",417:"Expectation Failed",418:"I'm a teapot",421:"Misdirected Request",422:"Unprocessable Entity",423:"Locked",424:"Failed Dependency",425:"Unordered Collection",426:"Upgrade Required",428:"Precondition Required",429:"Too Many Requests",431:"Request Header Fields Too Large",451:"Unavailable For Legal Reasons",500:"Internal Server Error",501:"Not Implemented",502:"Bad Gateway",503:"Service Unavailable",504:"Gateway Timeout",505:"HTTP Version Not Supported",506:"Variant Also Negotiates",507:"Insufficient Storage",508:"Loop Detected",509:"Bandwidth Limit Exceeded",510:"Not Extended",511:"Network Authentication Required"};},5108:(t,e,n)=>{var r=n(9539),i=n(8583);function o(){return (new Date).getTime()}var a,s=Array.prototype.slice,u={};a=void 0!==n.g&&n.g.console?n.g.console:"undefined"!=typeof window&&window.console?window.console:{};for(var l=[[function(){},"log"],[function(){a.log.apply(a,arguments);},"info"],[function(){a.log.apply(a,arguments);},"warn"],[function(){a.warn.apply(a,arguments);},"error"],[function(t){u[t]=o();},"time"],[function(t){var e=u[t];if(!e)throw new Error("No such label: "+t);delete u[t];var n=o()-e;a.log(t+": "+n+"ms");},"timeEnd"],[function(){var t=new Error;t.name="Trace",t.message=r.format.apply(null,arguments),a.error(t.stack);},"trace"],[function(t){a.log(r.inspect(t)+"\n");},"dir"],[function(t){if(!t){var e=s.call(arguments,1);i.ok(!1,r.format.apply(null,e));}},"assert"]],c=0;c{var r=n(5108),i=Object.create||function(t){var e=function(){};return e.prototype=t,new e},o=Object.keys||function(t){var e=[];for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&e.push(n);return n},a=Function.prototype.bind||function(t){var e=this;return function(){return e.apply(t,arguments)}};function s(){this._events&&Object.prototype.hasOwnProperty.call(this,"_events")||(this._events=i(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0;}t.exports=s,s.EventEmitter=s,s.prototype._events=void 0,s.prototype._maxListeners=void 0;var u,l=10;try{var c={};Object.defineProperty&&Object.defineProperty(c,"x",{value:0}),u=0===c.x;}catch(t){u=!1;}function h(t){return void 0===t._maxListeners?s.defaultMaxListeners:t._maxListeners}function f(t,e,n,o){var a,s,u;if("function"!=typeof n)throw new TypeError('"listener" argument must be a function');if((s=t._events)?(s.newListener&&(t.emit("newListener",e,n.listener?n.listener:n),s=t._events),u=s[e]):(s=t._events=i(null),t._eventsCount=0),u){if("function"==typeof u?u=s[e]=o?[n,u]:[u,n]:o?u.unshift(n):u.push(n),!u.warned&&(a=h(t))&&a>0&&u.length>a){u.warned=!0;var l=new Error("Possible EventEmitter memory leak detected. "+u.length+' "'+String(e)+'" listeners added. Use emitter.setMaxListeners() to increase limit.');l.name="MaxListenersExceededWarning",l.emitter=t,l.type=e,l.count=u.length,"object"==typeof r&&r.warn&&r.warn("%s: %s",l.name,l.message);}}else u=s[e]=n,++t._eventsCount;return t}function p(){if(!this.fired)switch(this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length){case 0:return this.listener.call(this.target);case 1:return this.listener.call(this.target,arguments[0]);case 2:return this.listener.call(this.target,arguments[0],arguments[1]);case 3:return this.listener.call(this.target,arguments[0],arguments[1],arguments[2]);default:for(var t=new Array(arguments.length),e=0;e1&&(e=arguments[1]),e instanceof Error)throw e;var u=new Error('Unhandled "error" event. ('+e+")");throw u.context=e,u}if(!(n=a[t]))return !1;var l="function"==typeof n;switch(r=arguments.length){case 1:!function(t,e,n){if(e)t.call(n);else for(var r=t.length,i=g(t,r),o=0;o=0;a--)if(n[a]===e||n[a].listener===e){s=n[a].listener,o=a;break}if(o<0)return this;0===o?n.shift():function(t,e){for(var n=e,r=n+1,i=t.length;r=0;r--)this.removeListener(t,e[r]);return this},s.prototype.listeners=function(t){return y(this,t,!0)},s.prototype.rawListeners=function(t){return y(this,t,!1)},s.listenerCount=function(t,e){return "function"==typeof t.listenerCount?t.listenerCount(e):m.call(t,e)},s.prototype.listenerCount=m,s.prototype.eventNames=function(){return this._eventsCount>0?Reflect.ownKeys(this._events):[]};},1:(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";var Buffer=__webpack_require__(3085).lW;const Token=__webpack_require__(3416),strtok3=__webpack_require__(5849),{stringToBytes,tarHeaderChecksumMatches,uint32SyncSafeToken}=__webpack_require__(6188),supported=__webpack_require__(9898),minimumBytes=4100;async function fromStream(t){const e=await strtok3.fromStream(t);try{return await fromTokenizer(e)}finally{await e.close();}}async function fromBuffer(t){if(!(t instanceof Uint8Array||t instanceof ArrayBuffer||Buffer.isBuffer(t)))throw new TypeError(`Expected the \`input\` argument to be of type \`Uint8Array\` or \`Buffer\` or \`ArrayBuffer\`, got \`${typeof t}\``);const e=t instanceof Buffer?t:Buffer.from(t);if(e&&e.length>1)return fromTokenizer(strtok3.fromBuffer(e))}function _check(t,e,n){n={offset:0,...n};for(const[r,i]of e.entries())if(n.mask){if(i!==(n.mask[r]&t[r+n.offset]))return !1}else if(i!==t[r+n.offset])return !1;return !0}async function fromTokenizer(t){try{return _fromTokenizer(t)}catch(t){if(!(t instanceof strtok3.EndOfStreamError))throw t}}async function _fromTokenizer(t){let e=Buffer.alloc(minimumBytes);const n=(t,n)=>_check(e,t,n),r=(t,e)=>n(stringToBytes(t),e);if(t.fileInfo.size||(t.fileInfo.size=Number.MAX_SAFE_INTEGER),await t.peekBuffer(e,{length:12,mayBeLess:!0}),n([66,77]))return {ext:"bmp",mime:"image/bmp"};if(n([11,119]))return {ext:"ac3",mime:"audio/vnd.dolby.dd-raw"};if(n([120,1]))return {ext:"dmg",mime:"application/x-apple-diskimage"};if(n([77,90]))return {ext:"exe",mime:"application/x-msdownload"};if(n([37,33]))return await t.peekBuffer(e,{length:24,mayBeLess:!0}),r("PS-Adobe-",{offset:2})&&r(" EPSF-",{offset:14})?{ext:"eps",mime:"application/eps"}:{ext:"ps",mime:"application/postscript"};if(n([31,160])||n([31,157]))return {ext:"Z",mime:"application/x-compress"};if(n([255,216,255]))return {ext:"jpg",mime:"image/jpeg"};if(n([73,73,188]))return {ext:"jxr",mime:"image/vnd.ms-photo"};if(n([31,139,8]))return {ext:"gz",mime:"application/gzip"};if(n([66,90,104]))return {ext:"bz2",mime:"application/x-bzip2"};if(r("ID3")){await t.ignore(6);const i=await t.readToken(uint32SyncSafeToken);return t.position+i>t.fileInfo.size?{ext:"mp3",mime:"audio/mpeg"}:(await t.ignore(i),fromTokenizer(t))}if(r("MP+"))return {ext:"mpc",mime:"audio/x-musepack"};if((67===e[0]||70===e[0])&&n([87,83],{offset:1}))return {ext:"swf",mime:"application/x-shockwave-flash"};if(n([71,73,70]))return {ext:"gif",mime:"image/gif"};if(r("FLIF"))return {ext:"flif",mime:"image/flif"};if(r("8BPS"))return {ext:"psd",mime:"image/vnd.adobe.photoshop"};if(r("WEBP",{offset:8}))return {ext:"webp",mime:"image/webp"};if(r("MPCK"))return {ext:"mpc",mime:"audio/x-musepack"};if(r("FORM"))return {ext:"aif",mime:"audio/aiff"};if(r("icns",{offset:0}))return {ext:"icns",mime:"image/icns"};if(n([80,75,3,4])){try{for(;t.position+30=0?a:e.length);}else await t.ignore(o.compressedSize);}}catch(s){if(!(s instanceof strtok3.EndOfStreamError))throw s}return {ext:"zip",mime:"application/zip"}}if(r("OggS")){await t.ignore(28);const u=Buffer.alloc(8);return await t.readBuffer(u),_check(u,[79,112,117,115,72,101,97,100])?{ext:"opus",mime:"audio/opus"}:_check(u,[128,116,104,101,111,114,97])?{ext:"ogv",mime:"video/ogg"}:_check(u,[1,118,105,100,101,111,0])?{ext:"ogm",mime:"video/ogg"}:_check(u,[127,70,76,65,67])?{ext:"oga",mime:"audio/ogg"}:_check(u,[83,112,101,101,120,32,32])?{ext:"spx",mime:"audio/ogg"}:_check(u,[1,118,111,114,98,105,115])?{ext:"ogg",mime:"audio/ogg"}:{ext:"ogx",mime:"application/ogg"}}if(n([80,75])&&(3===e[2]||5===e[2]||7===e[2])&&(4===e[3]||6===e[3]||8===e[3]))return {ext:"zip",mime:"application/zip"};if(r("ftyp",{offset:4})&&0!=(96&e[8])){const l=e.toString("binary",8,12).replace("\0"," ").trim();switch(l){case "avif":return {ext:"avif",mime:"image/avif"};case "mif1":return {ext:"heic",mime:"image/heif"};case "msf1":return {ext:"heic",mime:"image/heif-sequence"};case "heic":case "heix":return {ext:"heic",mime:"image/heic"};case "hevc":case "hevx":return {ext:"heic",mime:"image/heic-sequence"};case "qt":return {ext:"mov",mime:"video/quicktime"};case "M4V":case "M4VH":case "M4VP":return {ext:"m4v",mime:"video/x-m4v"};case "M4P":return {ext:"m4p",mime:"video/mp4"};case "M4B":return {ext:"m4b",mime:"audio/mp4"};case "M4A":return {ext:"m4a",mime:"audio/x-m4a"};case "F4V":return {ext:"f4v",mime:"video/mp4"};case "F4P":return {ext:"f4p",mime:"video/mp4"};case "F4A":return {ext:"f4a",mime:"audio/mp4"};case "F4B":return {ext:"f4b",mime:"audio/mp4"};case "crx":return {ext:"cr3",mime:"image/x-canon-cr3"};default:return l.startsWith("3g")?l.startsWith("3g2")?{ext:"3g2",mime:"video/3gpp2"}:{ext:"3gp",mime:"video/3gpp"}:{ext:"mp4",mime:"video/mp4"}}}if(r("MThd"))return {ext:"mid",mime:"audio/midi"};if(r("wOFF")&&(n([0,1,0,0],{offset:4})||r("OTTO",{offset:4})))return {ext:"woff",mime:"font/woff"};if(r("wOF2")&&(n([0,1,0,0],{offset:4})||r("OTTO",{offset:4})))return {ext:"woff2",mime:"font/woff2"};if(n([212,195,178,161])||n([161,178,195,212]))return {ext:"pcap",mime:"application/vnd.tcpdump.pcap"};if(r("DSD "))return {ext:"dsf",mime:"audio/x-dsf"};if(r("LZIP"))return {ext:"lz",mime:"application/x-lzip"};if(r("fLaC"))return {ext:"flac",mime:"audio/x-flac"};if(n([66,80,71,251]))return {ext:"bpg",mime:"image/bpg"};if(r("wvpk"))return {ext:"wv",mime:"audio/wavpack"};if(r("%PDF")){await t.ignore(1350);const c=10485760,h=Buffer.alloc(Math.min(c,t.fileInfo.size));return await t.readBuffer(h,{mayBeLess:!0}),h.includes(Buffer.from("AIPrivateData"))?{ext:"ai",mime:"application/postscript"}:{ext:"pdf",mime:"application/pdf"}}if(n([0,97,115,109]))return {ext:"wasm",mime:"application/wasm"};if(n([73,73,42,0]))return r("CR",{offset:8})?{ext:"cr2",mime:"image/x-canon-cr2"}:n([28,0,254,0],{offset:8})||n([31,0,11,0],{offset:8})?{ext:"nef",mime:"image/x-nikon-nef"}:n([8,0,0,0],{offset:4})&&(n([45,0,254,0],{offset:8})||n([39,0,254,0],{offset:8}))?{ext:"dng",mime:"image/x-adobe-dng"}:(e=Buffer.alloc(24),await t.peekBuffer(e),(n([16,251,134,1],{offset:4})||n([8,0,0,0],{offset:4}))&&n([0,254,0,4,0,1,0,0,0,1,0,0,0,3,1],{offset:9})?{ext:"arw",mime:"image/x-sony-arw"}:{ext:"tif",mime:"image/tiff"});if(n([77,77,0,42]))return {ext:"tif",mime:"image/tiff"};if(r("MAC "))return {ext:"ape",mime:"audio/ape"};if(n([26,69,223,163])){async function f(){const e=await t.peekNumber(Token.UINT8);let n=128,r=0;for(;0==(e&n)&&0!==n;)++r,n>>=1;const i=Buffer.alloc(r+1);return await t.readBuffer(i),i}async function p(){const t=await f(),e=await f();e[0]^=128>>e.length-1;const n=Math.min(6,e.length);return {id:t.readUIntBE(0,t.length),len:e.readUIntBE(e.length-n,n)}}async function d(e,n){for(;n>0;){const e=await p();if(17026===e.id)return t.readToken(new Token.StringType(e.len,"utf-8"));await t.ignore(e.len),--n;}}const y=await p();switch(await d(0,y.len)){case "webm":return {ext:"webm",mime:"video/webm"};case "matroska":return {ext:"mkv",mime:"video/x-matroska"};default:return}}if(n([82,73,70,70])){if(n([65,86,73],{offset:8}))return {ext:"avi",mime:"video/vnd.avi"};if(n([87,65,86,69],{offset:8}))return {ext:"wav",mime:"audio/vnd.wave"};if(n([81,76,67,77],{offset:8}))return {ext:"qcp",mime:"audio/qcelp"}}if(r("SQLi"))return {ext:"sqlite",mime:"application/x-sqlite3"};if(n([78,69,83,26]))return {ext:"nes",mime:"application/x-nintendo-nes-rom"};if(r("Cr24"))return {ext:"crx",mime:"application/x-google-chrome-extension"};if(r("MSCF")||r("ISc("))return {ext:"cab",mime:"application/vnd.ms-cab-compressed"};if(n([237,171,238,219]))return {ext:"rpm",mime:"application/x-rpm"};if(n([197,208,211,198]))return {ext:"eps",mime:"application/eps"};if(n([40,181,47,253]))return {ext:"zst",mime:"application/zstd"};if(n([79,84,84,79,0]))return {ext:"otf",mime:"font/otf"};if(r("#!AMR"))return {ext:"amr",mime:"audio/amr"};if(r("{\\rtf"))return {ext:"rtf",mime:"application/rtf"};if(n([70,76,86,1]))return {ext:"flv",mime:"video/x-flv"};if(r("IMPM"))return {ext:"it",mime:"audio/x-it"};if(r("-lh0-",{offset:2})||r("-lh1-",{offset:2})||r("-lh2-",{offset:2})||r("-lh3-",{offset:2})||r("-lh4-",{offset:2})||r("-lh5-",{offset:2})||r("-lh6-",{offset:2})||r("-lh7-",{offset:2})||r("-lzs-",{offset:2})||r("-lz4-",{offset:2})||r("-lz5-",{offset:2})||r("-lhd-",{offset:2}))return {ext:"lzh",mime:"application/x-lzh-compressed"};if(n([0,0,1,186])){if(n([33],{offset:4,mask:[241]}))return {ext:"mpg",mime:"video/MP1S"};if(n([68],{offset:4,mask:[196]}))return {ext:"mpg",mime:"video/MP2P"}}if(r("ITSF"))return {ext:"chm",mime:"application/vnd.ms-htmlhelp"};if(n([253,55,122,88,90,0]))return {ext:"xz",mime:"application/x-xz"};if(r(""))return await t.ignore(8),"debian-binary"===await t.readToken(new Token.StringType(13,"ascii"))?{ext:"deb",mime:"application/x-deb"}:{ext:"ar",mime:"application/x-unix-archive"};if(n([137,80,78,71,13,10,26,10])){async function m(){return {length:await t.readToken(Token.INT32_BE),type:await t.readToken(new Token.StringType(4,"binary"))}}await t.ignore(8);do{const g=await m();if(g.length<0)return;switch(g.type){case "IDAT":return {ext:"png",mime:"image/png"};case "acTL":return {ext:"apng",mime:"image/apng"};default:await t.ignore(g.length+4);}}while(t.position+8=16){const E=e.readUInt32LE(12);if(E>12&&e.length>=E+16)try{const w=e.slice(16,E+16).toString();if(JSON.parse(w).files)return {ext:"asar",mime:"application/x-asar"}}catch(x){}}if(n([6,14,43,52,2,5,1,1,13,1,2,1,1,2]))return {ext:"mxf",mime:"application/mxf"};if(r("SCRM",{offset:44}))return {ext:"s3m",mime:"audio/x-s3m"};if(n([71],{offset:4})&&(n([71],{offset:192})||n([71],{offset:196})))return {ext:"mts",mime:"video/mp2t"};if(n([66,79,79,75,77,79,66,73],{offset:60}))return {ext:"mobi",mime:"application/x-mobipocket-ebook"};if(n([68,73,67,77],{offset:128}))return {ext:"dcm",mime:"application/dicom"};if(n([76,0,0,0,1,20,2,0,0,0,0,0,192,0,0,0,0,0,0,70]))return {ext:"lnk",mime:"application/x.ms.shortcut"};if(n([98,111,111,107,0,0,0,0,109,97,114,107,0,0,0,0]))return {ext:"alias",mime:"application/x.apple.alias"};if(n([76,80],{offset:34})&&(n([0,0,1],{offset:8})||n([1,0,2],{offset:8})||n([2,0,2],{offset:8})))return {ext:"eot",mime:"application/vnd.ms-fontobject"};if(n([6,6,237,245,216,29,70,229,189,49,239,231,254,116,183,29]))return {ext:"indd",mime:"application/x-indesign"};if(await t.peekBuffer(e,{length:Math.min(512,t.fileInfo.size),mayBeLess:!0}),tarHeaderChecksumMatches(e))return {ext:"tar",mime:"application/x-tar"};if(n([255,254,255,14,83,0,107,0,101,0,116,0,99,0,104,0,85,0,112,0,32,0,77,0,111,0,100,0,101,0,108,0]))return {ext:"skp",mime:"application/vnd.sketchup.skp"};if(r("-----BEGIN PGP MESSAGE-----"))return {ext:"pgp",mime:"application/pgp-encrypted"};if(e.length>=2&&n([255,224],{offset:0,mask:[255,224]})){if(n([16],{offset:1,mask:[22]}))return n([8],{offset:1,mask:[8]}),{ext:"aac",mime:"audio/aac"};if(n([2],{offset:1,mask:[6]}))return {ext:"mp3",mime:"audio/mpeg"};if(n([4],{offset:1,mask:[6]}))return {ext:"mp2",mime:"audio/mpeg"};if(n([6],{offset:1,mask:[6]}))return {ext:"mp1",mime:"audio/mpeg"}}}const stream=readableStream=>new Promise(((resolve,reject)=>{const stream=eval("require")("stream");readableStream.on("error",reject),readableStream.once("readable",(async()=>{const t=new stream.PassThrough;let e;e=stream.pipeline?stream.pipeline(readableStream,t,(()=>{})):readableStream.pipe(t);const n=readableStream.read(minimumBytes)||readableStream.read()||Buffer.alloc(0);try{const e=await fromBuffer(n);t.fileType=e;}catch(t){reject(t);}resolve(e);}));})),fileType={fromStream,fromTokenizer,fromBuffer,stream};Object.defineProperty(fileType,"extensions",{get:()=>new Set(supported.extensions)}),Object.defineProperty(fileType,"mimeTypes",{get:()=>new Set(supported.mimeTypes)}),module.exports=fileType;},7769:(t,e,n)=>{"use strict";const r=n(6597),i=n(1),o={fromFile:async function(t){const e=await r.fromFile(t);try{return await i.fromTokenizer(e)}finally{await e.close();}}};Object.assign(o,i),Object.defineProperty(o,"extensions",{get:()=>i.extensions}),Object.defineProperty(o,"mimeTypes",{get:()=>i.mimeTypes}),t.exports=o;},9898:t=>{"use strict";t.exports={extensions:["jpg","png","apng","gif","webp","flif","xcf","cr2","cr3","orf","arw","dng","nef","rw2","raf","tif","bmp","icns","jxr","psd","indd","zip","tar","rar","gz","bz2","7z","dmg","mp4","mid","mkv","webm","mov","avi","mpg","mp2","mp3","m4a","oga","ogg","ogv","opus","flac","wav","spx","amr","pdf","epub","exe","swf","rtf","wasm","woff","woff2","eot","ttf","otf","ico","flv","ps","xz","sqlite","nes","crx","xpi","cab","deb","ar","rpm","Z","lz","cfb","mxf","mts","blend","bpg","docx","pptx","xlsx","3gp","3g2","jp2","jpm","jpx","mj2","aif","qcp","odt","ods","odp","xml","mobi","heic","cur","ktx","ape","wv","dcm","ics","glb","pcap","dsf","lnk","alias","voc","ac3","m4v","m4p","m4b","f4v","f4p","f4b","f4a","mie","asf","ogm","ogx","mpc","arrow","shp","aac","mp1","it","s3m","xm","ai","skp","avif","eps","lzh","pgp","asar","stl","chm","3mf","zst","jxl","vcf"],mimeTypes:["image/jpeg","image/png","image/gif","image/webp","image/flif","image/x-xcf","image/x-canon-cr2","image/x-canon-cr3","image/tiff","image/bmp","image/vnd.ms-photo","image/vnd.adobe.photoshop","application/x-indesign","application/epub+zip","application/x-xpinstall","application/vnd.oasis.opendocument.text","application/vnd.oasis.opendocument.spreadsheet","application/vnd.oasis.opendocument.presentation","application/vnd.openxmlformats-officedocument.wordprocessingml.document","application/vnd.openxmlformats-officedocument.presentationml.presentation","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet","application/zip","application/x-tar","application/x-rar-compressed","application/gzip","application/x-bzip2","application/x-7z-compressed","application/x-apple-diskimage","application/x-apache-arrow","video/mp4","audio/midi","video/x-matroska","video/webm","video/quicktime","video/vnd.avi","audio/vnd.wave","audio/qcelp","audio/x-ms-asf","video/x-ms-asf","application/vnd.ms-asf","video/mpeg","video/3gpp","audio/mpeg","audio/mp4","audio/opus","video/ogg","audio/ogg","application/ogg","audio/x-flac","audio/ape","audio/wavpack","audio/amr","application/pdf","application/x-msdownload","application/x-shockwave-flash","application/rtf","application/wasm","font/woff","font/woff2","application/vnd.ms-fontobject","font/ttf","font/otf","image/x-icon","video/x-flv","application/postscript","application/eps","application/x-xz","application/x-sqlite3","application/x-nintendo-nes-rom","application/x-google-chrome-extension","application/vnd.ms-cab-compressed","application/x-deb","application/x-unix-archive","application/x-rpm","application/x-compress","application/x-lzip","application/x-cfb","application/x-mie","application/mxf","video/mp2t","application/x-blender","image/bpg","image/jp2","image/jpx","image/jpm","image/mj2","audio/aiff","application/xml","application/x-mobipocket-ebook","image/heif","image/heif-sequence","image/heic","image/heic-sequence","image/icns","image/ktx","application/dicom","audio/x-musepack","text/calendar","text/vcard","model/gltf-binary","application/vnd.tcpdump.pcap","audio/x-dsf","application/x.ms.shortcut","application/x.apple.alias","audio/x-voc","audio/vnd.dolby.dd-raw","audio/x-m4a","image/apng","image/x-olympus-orf","image/x-sony-arw","image/x-adobe-dng","image/x-nikon-nef","image/x-panasonic-rw2","image/x-fujifilm-raf","video/x-m4v","video/3gpp2","application/x-esri-shape","audio/aac","audio/x-it","audio/x-s3m","audio/x-xm","video/MP1S","video/MP2P","application/vnd.sketchup.skp","image/avif","application/x-lzh-compressed","application/pgp-encrypted","application/x-asar","model/stl","application/vnd.ms-htmlhelp","model/3mf","image/jxl","application/zstd"]};},6188:(t,e)=>{"use strict";e.stringToBytes=t=>[...t].map((t=>t.charCodeAt(0))),e.tarHeaderChecksumMatches=(t,e=0)=>{const n=parseInt(t.toString("utf8",148,154).replace(/\0.*$/,"").trim(),8);if(isNaN(n))return !1;let r=256;for(let n=e;n127&t[e+3]|t[e+2]<<7|t[e+1]<<14|t[e]<<21,len:4};},1787:(t,e,n)=>{var r=n(2582),i=n(4102),o=n(1540),a=n(9705).default,s=o.featureEach,u=(o.coordEach,i.polygon,i.featureCollection);function l(t){var e=new r(t);return e.insert=function(t){if("Feature"!==t.type)throw new Error("invalid feature");return t.bbox=t.bbox?t.bbox:a(t),r.prototype.insert.call(this,t)},e.load=function(t){var e=[];return Array.isArray(t)?t.forEach((function(t){if("Feature"!==t.type)throw new Error("invalid features");t.bbox=t.bbox?t.bbox:a(t),e.push(t);})):s(t,(function(t){if("Feature"!==t.type)throw new Error("invalid features");t.bbox=t.bbox?t.bbox:a(t),e.push(t);})),r.prototype.load.call(this,e)},e.remove=function(t,e){if("Feature"!==t.type)throw new Error("invalid feature");return t.bbox=t.bbox?t.bbox:a(t),r.prototype.remove.call(this,t,e)},e.clear=function(){return r.prototype.clear.call(this)},e.search=function(t){var e=r.prototype.search.call(this,this.toBBox(t));return u(e)},e.collides=function(t){return r.prototype.collides.call(this,this.toBBox(t))},e.all=function(){var t=r.prototype.all.call(this);return u(t)},e.toJSON=function(){return r.prototype.toJSON.call(this)},e.fromJSON=function(t){return r.prototype.fromJSON.call(this,t)},e.toBBox=function(t){var e;if(t.bbox)e=t.bbox;else if(Array.isArray(t)&&4===t.length)e=t;else if(Array.isArray(t)&&6===t.length)e=[t[0],t[1],t[3],t[4]];else if("Feature"===t.type)e=a(t);else {if("FeatureCollection"!==t.type)throw new Error("invalid geojson");e=a(t);}return {minX:e[0],minY:e[1],maxX:e[2],maxY:e[3]}},e}t.exports=l,t.exports.default=l;},645:(t,e)=>{e.read=function(t,e,n,r,i){var o,a,s=8*i-r-1,u=(1<>1,c=-7,h=n?i-1:0,f=n?-1:1,p=t[e+h];for(h+=f,o=p&(1<<-c)-1,p>>=-c,c+=s;c>0;o=256*o+t[e+h],h+=f,c-=8);for(a=o&(1<<-c)-1,o>>=-c,c+=r;c>0;a=256*a+t[e+h],h+=f,c-=8);if(0===o)o=1-l;else {if(o===u)return a?NaN:1/0*(p?-1:1);a+=Math.pow(2,r),o-=l;}return (p?-1:1)*a*Math.pow(2,o-r)},e.write=function(t,e,n,r,i,o){var a,s,u,l=8*o-i-1,c=(1<>1,f=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,p=r?0:o-1,d=r?1:-1,y=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(s=isNaN(e)?1:0,a=c):(a=Math.floor(Math.log(e)/Math.LN2),e*(u=Math.pow(2,-a))<1&&(a--,u*=2),(e+=a+h>=1?f/u:f*Math.pow(2,1-h))*u>=2&&(a++,u/=2),a+h>=c?(s=0,a=c):a+h>=1?(s=(e*u-1)*Math.pow(2,i),a+=h):(s=e*Math.pow(2,h-1)*Math.pow(2,i),a=0));i>=8;t[n+p]=255&s,p+=d,s/=256,i-=8);for(a=a<0;t[n+p]=255&a,p+=d,a/=256,l-=8);t[n+p-d]|=128*y;};},8849:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});const r=n(9126),i=Object.keys(r.typeHandlers),o={56:"psd",66:"bmp",68:"dds",71:"gif",73:"tiff",77:"tiff",82:"webp",105:"icns",137:"png",255:"jpg"};e.detector=function(t){const e=t[0];if(e in o){const n=o[e];if(r.typeHandlers[n].validate(t))return n}return i.find((e=>r.typeHandlers[e].validate(t)))};},9248:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});const r=n(8497);if(!("promises"in r)){class t{constructor(t){this.fd=t;}stat(){return new Promise(((t,e)=>{r.fstat(this.fd,((n,r)=>{n?e(n):t(r);}));}))}read(t,e,n,i){return new Promise(((o,a)=>{r.read(this.fd,t,e,n,i,(t=>{t?a(t):o();}));}))}close(){return new Promise(((t,e)=>{r.close(this.fd,(n=>{n?e(n):t();}));}))}}Object.defineProperty(r,"promises",{value:{open:(e,n)=>new Promise(((i,o)=>{r.open(e,n,((e,n)=>{e?o(e):i(new t(n));}));}))},writable:!1});}},7935:function(t,e,n){"use strict";var r=n(3085).lW,i=n(4155),o=this&&this.__awaiter||function(t,e,n,r){return new(n||(n=Promise))((function(i,o){function a(t){try{u(r.next(t));}catch(t){o(t);}}function s(t){try{u(r.throw(t));}catch(t){o(t);}}function u(t){var e;t.done?i(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e);}))).then(a,s);}u((r=r.apply(t,e||[])).next());}))};Object.defineProperty(e,"__esModule",{value:!0});const a=n(8497),s=n(3935),u=n(9189),l=n(9126),c=n(8849);n(9248);const h=524288,f=new u.default({concurrency:100,autostart:!0});function p(t,e){const n=c.detector(t);if(n&&n in l.typeHandlers){const r=l.typeHandlers[n].calculate(t,e);if(void 0!==r)return r.type=n,r}throw new TypeError("unsupported file type: "+n+" (file: "+e+")")}function d(t,e){if(r.isBuffer(t))return p(t);if("string"!=typeof t)throw new TypeError("invalid invocation");const n=s.resolve(t);if("function"!=typeof e){const t=function(t){const e=a.openSync(t,"r"),n=a.fstatSync(e).size,i=Math.min(n,h),o=r.alloc(i);return a.readSync(e,o,0,i,0),a.closeSync(e),o}(n);return p(t,n)}f.push((()=>function(t){return o(this,void 0,void 0,(function*(){const e=yield a.promises.open(t,"r"),{size:n}=yield e.stat();if(n<=0)throw new Error("Empty file");const i=Math.min(n,h),o=r.alloc(i);return yield e.read(o,0,i,0),yield e.close(),o}))}(n).then((t=>i.nextTick(e,null,p(t,n)))).catch(e)));}t.exports=e=d,e.imageSize=d,e.setConcurrency=t=>{f.concurrency=t;},e.types=Object.keys(l.typeHandlers);},8557:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.readUInt=function(t,e,n,r){return n=n||0,t["readUInt"+e+(r?"BE":"LE")].call(t,n)};},9126:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});const r=n(3645),i=n(3552),o=n(1680),a=n(1542),s=n(7163),u=n(7800),l=n(6625),c=n(1558),h=n(2229),f=n(4663),p=n(6221),d=n(7851),y=n(2602),m=n(8531),g=n(9948),_=n(5236);e.typeHandlers={bmp:r.BMP,cur:i.CUR,dds:o.DDS,gif:a.GIF,icns:s.ICNS,ico:u.ICO,j2c:l.J2C,jp2:c.JP2,jpg:h.JPG,ktx:f.KTX,png:p.PNG,pnm:d.PNM,psd:y.PSD,svg:m.SVG,tiff:g.TIFF,webp:_.WEBP};},3645:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.BMP={validate:t=>"BM"===t.toString("ascii",0,2),calculate:t=>({height:Math.abs(t.readInt32LE(22)),width:t.readUInt32LE(18)})};},3552:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});const r=n(7800);e.CUR={validate:t=>0===t.readUInt16LE(0)&&2===t.readUInt16LE(2),calculate:t=>r.ICO.calculate(t)};},1680:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.DDS={validate:t=>542327876===t.readUInt32LE(0),calculate:t=>({height:t.readUInt32LE(12),width:t.readUInt32LE(16)})};},1542:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});const n=/^GIF8[79]a/;e.GIF={validate(t){const e=t.toString("ascii",0,6);return n.test(e)},calculate:t=>({height:t.readUInt16LE(8),width:t.readUInt16LE(6)})};},7163:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});const n=4,r={ICON:32,"ICN#":32,"icm#":16,icm4:16,icm8:16,"ics#":16,ics4:16,ics8:16,is32:16,s8mk:16,icp4:16,icl4:32,icl8:32,il32:32,l8mk:32,icp5:32,ic11:32,ich4:48,ich8:48,ih32:48,h8mk:48,icp6:64,ic12:32,it32:128,t8mk:128,ic07:128,ic08:256,ic13:256,ic09:512,ic14:512,ic10:1024};function i(t,e){const r=e+n;return [t.toString("ascii",e,r),t.readUInt32BE(r)]}function o(t){const e=r[t];return {width:e,height:e,type:t}}e.ICNS={validate:t=>"icns"===t.toString("ascii",0,4),calculate(t){const e=t.length,n=t.readUInt32BE(4);let r=8,a=i(t,r),s=o(a[0]);if(r+=a[1],r===n)return s;const u={height:s.height,images:[s],width:s.width};for(;r{"use strict";Object.defineProperty(e,"__esModule",{value:!0});const n=6,r=16;function i(t,e){const n=t.readUInt8(e);return 0===n?256:n}function o(t,e){const o=n+e*r;return {height:i(t,o+1),width:i(t,o)}}e.ICO={validate:t=>0===t.readUInt16LE(0)&&1===t.readUInt16LE(2),calculate(t){const e=t.readUInt16LE(4),n=o(t,0);if(1===e)return n;const r=[n];for(let n=1;n{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.J2C={validate:t=>"ff4fff51"===t.toString("hex",0,4),calculate:t=>({height:t.readUInt32BE(12),width:t.readUInt32BE(8)})};},1558:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});const n=t=>({height:t.readUInt32BE(4),width:t.readUInt32BE(8)});e.JP2={validate(t){const e=t.toString("hex",4,8),n=t.readUInt32BE(0);if("6a502020"!==e||n<1)return !1;const r=n+4,i=t.readUInt32BE(n);return "66747970"===t.slice(r,r+i).toString("hex",0,4)},calculate(t){const e=t.readUInt32BE(0);let r=e+4+t.readUInt16BE(e+2);switch(t.toString("hex",r,r+4)){case "72726571":return r=r+4+4+(t=>{const e=t.readUInt8(0);let n=1+2*e;return n=n+2+t.readUInt16BE(n)*(2+e),n+2+t.readUInt16BE(n)*(16+e)})(t.slice(r+4)),n(t.slice(r+8,r+24));case "6a703268":return n(t.slice(r+8,r+24));default:throw new TypeError("Unsupported header found: "+t.toString("ascii",r,r+4))}}};},2229:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});const r=n(8557),i="45786966",o=2,a=6,s=2,u="4d4d",l="4949",c=12,h=2;function f(t){return t.toString("hex",2,6)===i}function p(t,e){return {height:t.readUInt16BE(e),width:t.readUInt16BE(e+2)}}function d(t,e){const n=t.slice(o,e),i=n.toString("hex",a,a+s),f=i===u;if(f||i===l)return function(t,e){const n=a+8,i=r.readUInt(t,16,n,e);for(let o=0;ot.length)return;const s=t.slice(i,a);if(274===r.readUInt(s,16,0,e)){if(3!==r.readUInt(s,16,2,e))return;if(1!==r.readUInt(s,32,4,e))return;return r.readUInt(s,16,8,e)}}}(n,f)}function y(t,e){if(e>t.length)throw new TypeError("Corrupt JPG, exceeded buffer limits");if(255!==t[e])throw new TypeError("Invalid JPG, marker table corrupted")}e.JPG={validate:t=>"ffd8"===t.toString("hex",0,2),calculate(t){let e,n;for(t=t.slice(4);t.length;){const r=t.readUInt16BE(0);if(f(t)&&(e=d(t,r)),y(t,r),n=t[r+1],192===n||193===n||194===n){const n=p(t,r+5);return e?{height:n.height,orientation:e,width:n.width}:n}t=t.slice(r+2);}throw new TypeError("Invalid JPG, no size found")}};},4663:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.KTX={validate:t=>"KTX 11"===t.toString("ascii",1,7),calculate:t=>({height:t.readUInt32LE(40),width:t.readUInt32LE(36)})};},6221:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});const n="CgBI";e.PNG={validate(t){if("PNG\r\n\n"===t.toString("ascii",1,8)){let e=t.toString("ascii",12,16);if(e===n&&(e=t.toString("ascii",28,32)),"IHDR"!==e)throw new TypeError("Invalid PNG");return !0}return !1},calculate:t=>t.toString("ascii",12,16)===n?{height:t.readUInt32BE(36),width:t.readUInt32BE(32)}:{height:t.readUInt32BE(20),width:t.readUInt32BE(16)}};},7851:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});const n={P1:"pbm/ascii",P2:"pgm/ascii",P3:"ppm/ascii",P4:"pbm",P5:"pgm",P6:"ppm",P7:"pam",PF:"pfm"},r=Object.keys(n),i={default:t=>{let e=[];for(;t.length>0;){const n=t.shift();if("#"!==n[0]){e=n.split(" ");break}}if(2===e.length)return {height:parseInt(e[1],10),width:parseInt(e[0],10)};throw new TypeError("Invalid PNM")},pam:t=>{const e={};for(;t.length>0;){const n=t.shift();if(n.length>16||n.charCodeAt(0)>128)continue;const[r,i]=n.split(" ");if(r&&i&&(e[r.toLowerCase()]=parseInt(i,10)),e.height&&e.width)break}if(e.height&&e.width)return {height:e.height,width:e.width};throw new TypeError("Invalid PAM")}};e.PNM={validate(t){const e=t.toString("ascii",0,2);return r.includes(e)},calculate(t){const e=t.toString("ascii",0,2),r=n[e],o=t.toString("ascii",3).split(/[\r\n]+/);return (i[r]||i.default)(o)}};},2602:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.PSD={validate:t=>"8BPS"===t.toString("ascii",0,4),calculate:t=>({height:t.readUInt32BE(14),width:t.readUInt32BE(18)})};},8531:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});const n=/"']|"[^"]*"|'[^']*')*>/,r={height:/\sheight=(['"])([^%]+?)\1/,root:n,viewbox:/\sviewBox=(['"])(.+?)\1/,width:/\swidth=(['"])([^%]+?)\1/},i=2.54,o={cm:96/i,em:16,ex:8,m:96/i*100,mm:96/i/10,pc:96/72/12,pt:96/72};function a(t){const e=/([0-9.]+)([a-z]*)/.exec(t);if(e)return Math.round(parseFloat(e[1])*(o[e[2]]||1))}function s(t){const e=t.split(" ");return {height:a(e[3]),width:a(e[2])}}e.SVG={validate(t){const e=String(t);return n.test(e)},calculate(t){const e=t.toString("utf8").match(r.root);if(e){const t=function(t){const e=t.match(r.width),n=t.match(r.height),i=t.match(r.viewbox);return {height:n&&a(n[2]),viewbox:i&&s(i[2]),width:e&&a(e[2])}}(e[0]);if(t.width&&t.height)return function(t){return {height:t.height,width:t.width}}(t);if(t.viewbox)return function(t,e){const n=e.width/e.height;return t.width?{height:Math.floor(t.width/n),width:t.width}:t.height?{height:t.height,width:Math.floor(t.height*n)}:{height:e.height,width:e.width}}(t,t.viewbox)}throw new TypeError("Invalid SVG")}};},9948:(t,e,n)=>{"use strict";var r=n(3085).lW;Object.defineProperty(e,"__esModule",{value:!0});const i=n(7990),o=n(8557);function a(t,e){const n=o.readUInt(t,16,8,e);return (o.readUInt(t,16,10,e)<<16)+n}function s(t){if(t.length>24)return t.slice(12)}const u=["49492a00","4d4d002a"];e.TIFF={validate:t=>u.includes(t.toString("hex",0,4)),calculate(t,e){if(!e)throw new TypeError("Tiff doesn't support buffer");const n="BE"===function(t){const e=t.toString("ascii",0,2);return "II"===e?"LE":"MM"===e?"BE":void 0}(t),u=function(t,e,n){const a=o.readUInt(t,32,4,n);let s=1024;const u=i.statSync(e).size;a+s>u&&(s=u-a-10);const l=r.alloc(s),c=i.openSync(e,"r");return i.readSync(c,l,0,s,a),l.slice(2)}(t,e,n),l=function(t,e){const n={};let r=t;for(;r&&r.length;){const t=o.readUInt(r,16,0,e),i=o.readUInt(r,16,2,e),u=o.readUInt(r,32,4,e);if(0===t)break;1!==u||3!==i&&4!==i||(n[t]=a(r,e)),r=s(r);}return n}(u,n),c=l[256],h=l[257];if(!c||!h)throw new TypeError("Invalid Tiff. Missing tags");return {height:h,width:c}}};},5236:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.WEBP={validate(t){const e="RIFF"===t.toString("ascii",0,4),n="WEBP"===t.toString("ascii",8,12),r="VP8"===t.toString("ascii",12,15);return e&&n&&r},calculate(t){const e=t.toString("ascii",12,16);if(t=t.slice(20,30),"VP8X"===e){const e=t[0];if(0==(192&e)&&0==(1&e))return function(t){return {height:1+t.readUIntLE(7,3),width:1+t.readUIntLE(4,3)}}(t);throw new TypeError("Invalid WebP")}if("VP8 "===e&&47!==t[0])return function(t){return {height:16383&t.readInt16LE(8),width:16383&t.readInt16LE(6)}}(t);const n=t.toString("hex",3,6);if("VP8L"===e&&"9d012a"!==n)return function(t){return {height:1+((15&t[4])<<10|t[3]<<2|(192&t[2])>>6),width:1+((63&t[2])<<8|t[1])}}(t);throw new TypeError("Invalid WebP")}};},5717:t=>{"function"==typeof Object.create?t.exports=function(t,e){e&&(t.super_=e,t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}));}:t.exports=function(t,e){if(e){t.super_=e;var n=function(){};n.prototype=e.prototype,t.prototype=new n,t.prototype.constructor=t;}};},8552:(t,e,n)=>{var r=n(852)(n(5639),"DataView");t.exports=r;},1989:(t,e,n)=>{var r=n(1789),i=n(401),o=n(7667),a=n(1327),s=n(1866);function u(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e{var r=n(7040),i=n(4125),o=n(2117),a=n(7518),s=n(4705);function u(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e{var r=n(852)(n(5639),"Map");t.exports=r;},3369:(t,e,n)=>{var r=n(4785),i=n(1285),o=n(6e3),a=n(9916),s=n(5265);function u(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e{var r=n(852)(n(5639),"Promise");t.exports=r;},8525:(t,e,n)=>{var r=n(852)(n(5639),"Set");t.exports=r;},8668:(t,e,n)=>{var r=n(3369),i=n(619),o=n(2385);function a(t){var e=-1,n=null==t?0:t.length;for(this.__data__=new r;++e{var r=n(8407),i=n(7465),o=n(3779),a=n(7599),s=n(4758),u=n(4309);function l(t){var e=this.__data__=new r(t);this.size=e.size;}l.prototype.clear=i,l.prototype.delete=o,l.prototype.get=a,l.prototype.has=s,l.prototype.set=u,t.exports=l;},2705:(t,e,n)=>{var r=n(5639).Symbol;t.exports=r;},1149:(t,e,n)=>{var r=n(5639).Uint8Array;t.exports=r;},577:(t,e,n)=>{var r=n(852)(n(5639),"WeakMap");t.exports=r;},4963:t=>{t.exports=function(t,e){for(var n=-1,r=null==t?0:t.length,i=0,o=[];++n{var r=n(2545),i=n(5694),o=n(1469),a=n(4144),s=n(5776),u=n(6719),l=Object.prototype.hasOwnProperty;t.exports=function(t,e){var n=o(t),c=!n&&i(t),h=!n&&!c&&a(t),f=!n&&!c&&!h&&u(t),p=n||c||h||f,d=p?r(t.length,String):[],y=d.length;for(var m in t)!e&&!l.call(t,m)||p&&("length"==m||h&&("offset"==m||"parent"==m)||f&&("buffer"==m||"byteLength"==m||"byteOffset"==m)||s(m,y))||d.push(m);return d};},9932:t=>{t.exports=function(t,e){for(var n=-1,r=null==t?0:t.length,i=Array(r);++n{t.exports=function(t,e){for(var n=-1,r=e.length,i=t.length;++n{t.exports=function(t,e){for(var n=-1,r=null==t?0:t.length;++n{var r=n(7813);t.exports=function(t,e){for(var n=t.length;n--;)if(r(t[n][0],e))return n;return -1};},8866:(t,e,n)=>{var r=n(2488),i=n(1469);t.exports=function(t,e,n){var o=e(t);return i(t)?o:r(o,n(t))};},4239:(t,e,n)=>{var r=n(2705),i=n(9607),o=n(2333),a=r?r.toStringTag:void 0;t.exports=function(t){return null==t?void 0===t?"[object Undefined]":"[object Null]":a&&a in Object(t)?i(t):o(t)};},9454:(t,e,n)=>{var r=n(4239),i=n(7005);t.exports=function(t){return i(t)&&"[object Arguments]"==r(t)};},939:(t,e,n)=>{var r=n(2492),i=n(7005);t.exports=function t(e,n,o,a,s){return e===n||(null==e||null==n||!i(e)&&!i(n)?e!=e&&n!=n:r(e,n,o,a,t,s))};},2492:(t,e,n)=>{var r=n(6384),i=n(7114),o=n(8351),a=n(6096),s=n(4160),u=n(1469),l=n(4144),c=n(6719),h="[object Arguments]",f="[object Array]",p="[object Object]",d=Object.prototype.hasOwnProperty;t.exports=function(t,e,n,y,m,g){var _=u(t),b=u(e),v=_?f:s(t),T=b?f:s(e),E=(v=v==h?p:v)==p,w=(T=T==h?p:T)==p,x=v==T;if(x&&l(t)){if(!l(e))return !1;_=!0,E=!1;}if(x&&!E)return g||(g=new r),_||c(t)?i(t,e,n,y,m,g):o(t,e,v,n,y,m,g);if(!(1&n)){var C=E&&d.call(t,"__wrapped__"),M=w&&d.call(e,"__wrapped__");if(C||M){var S=C?t.value():t,N=M?e.value():e;return g||(g=new r),m(S,N,n,y,g)}}return !!x&&(g||(g=new r),a(t,e,n,y,m,g))};},8458:(t,e,n)=>{var r=n(3560),i=n(5346),o=n(3218),a=n(346),s=/^\[object .+?Constructor\]$/,u=Function.prototype,l=Object.prototype,c=u.toString,h=l.hasOwnProperty,f=RegExp("^"+c.call(h).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");t.exports=function(t){return !(!o(t)||i(t))&&(r(t)?f:s).test(a(t))};},8749:(t,e,n)=>{var r=n(4239),i=n(1780),o=n(7005),a={};a["[object Float32Array]"]=a["[object Float64Array]"]=a["[object Int8Array]"]=a["[object Int16Array]"]=a["[object Int32Array]"]=a["[object Uint8Array]"]=a["[object Uint8ClampedArray]"]=a["[object Uint16Array]"]=a["[object Uint32Array]"]=!0,a["[object Arguments]"]=a["[object Array]"]=a["[object ArrayBuffer]"]=a["[object Boolean]"]=a["[object DataView]"]=a["[object Date]"]=a["[object Error]"]=a["[object Function]"]=a["[object Map]"]=a["[object Number]"]=a["[object Object]"]=a["[object RegExp]"]=a["[object Set]"]=a["[object String]"]=a["[object WeakMap]"]=!1,t.exports=function(t){return o(t)&&i(t.length)&&!!a[r(t)]};},280:(t,e,n)=>{var r=n(5726),i=n(6916),o=Object.prototype.hasOwnProperty;t.exports=function(t){if(!r(t))return i(t);var e=[];for(var n in Object(t))o.call(t,n)&&"constructor"!=n&&e.push(n);return e};},4949:(t,e,n)=>{var r=n(7226),i=n(6557),o=n(3448);t.exports=function(t,e,n){var a=0,s=null==t?a:t.length;if("number"==typeof e&&e==e&&s<=2147483647){for(;a>>1,l=t[u];null!==l&&!o(l)&&(n?l<=e:l{var r=n(3448),i=Math.floor,o=Math.min;t.exports=function(t,e,n,a){var s=0,u=null==t?0:t.length;if(0===u)return 0;for(var l=(e=n(e))!=e,c=null===e,h=r(e),f=void 0===e;s{t.exports=function(t,e){for(var n=-1,r=Array(t);++n{t.exports=function(t){return function(e){return t(e)}};},7415:(t,e,n)=>{var r=n(9932);t.exports=function(t,e){return r(e,(function(e){return t[e]}))};},4757:t=>{t.exports=function(t,e){return t.has(e)};},4429:(t,e,n)=>{var r=n(5639)["__core-js_shared__"];t.exports=r;},7114:(t,e,n)=>{var r=n(8668),i=n(2908),o=n(4757);t.exports=function(t,e,n,a,s,u){var l=1&n,c=t.length,h=e.length;if(c!=h&&!(l&&h>c))return !1;var f=u.get(t),p=u.get(e);if(f&&p)return f==e&&p==t;var d=-1,y=!0,m=2&n?new r:void 0;for(u.set(t,e),u.set(e,t);++d{var r=n(2705),i=n(1149),o=n(7813),a=n(7114),s=n(8776),u=n(1814),l=r?r.prototype:void 0,c=l?l.valueOf:void 0;t.exports=function(t,e,n,r,l,h,f){switch(n){case "[object DataView]":if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return !1;t=t.buffer,e=e.buffer;case "[object ArrayBuffer]":return !(t.byteLength!=e.byteLength||!h(new i(t),new i(e)));case "[object Boolean]":case "[object Date]":case "[object Number]":return o(+t,+e);case "[object Error]":return t.name==e.name&&t.message==e.message;case "[object RegExp]":case "[object String]":return t==e+"";case "[object Map]":var p=s;case "[object Set]":var d=1&r;if(p||(p=u),t.size!=e.size&&!d)return !1;var y=f.get(t);if(y)return y==e;r|=2,f.set(t,e);var m=a(p(t),p(e),r,l,h,f);return f.delete(t),m;case "[object Symbol]":if(c)return c.call(t)==c.call(e)}return !1};},6096:(t,e,n)=>{var r=n(8234),i=Object.prototype.hasOwnProperty;t.exports=function(t,e,n,o,a,s){var u=1&n,l=r(t),c=l.length;if(c!=r(e).length&&!u)return !1;for(var h=c;h--;){var f=l[h];if(!(u?f in e:i.call(e,f)))return !1}var p=s.get(t),d=s.get(e);if(p&&d)return p==e&&d==t;var y=!0;s.set(t,e),s.set(e,t);for(var m=u;++h{var r="object"==typeof n.g&&n.g&&n.g.Object===Object&&n.g;t.exports=r;},8234:(t,e,n)=>{var r=n(8866),i=n(9551),o=n(3674);t.exports=function(t){return r(t,o,i)};},5050:(t,e,n)=>{var r=n(7019);t.exports=function(t,e){var n=t.__data__;return r(e)?n["string"==typeof e?"string":"hash"]:n.map};},852:(t,e,n)=>{var r=n(8458),i=n(7801);t.exports=function(t,e){var n=i(t,e);return r(n)?n:void 0};},9607:(t,e,n)=>{var r=n(2705),i=Object.prototype,o=i.hasOwnProperty,a=i.toString,s=r?r.toStringTag:void 0;t.exports=function(t){var e=o.call(t,s),n=t[s];try{t[s]=void 0;var r=!0;}catch(t){}var i=a.call(t);return r&&(e?t[s]=n:delete t[s]),i};},9551:(t,e,n)=>{var r=n(4963),i=n(479),o=Object.prototype.propertyIsEnumerable,a=Object.getOwnPropertySymbols,s=a?function(t){return null==t?[]:(t=Object(t),r(a(t),(function(e){return o.call(t,e)})))}:i;t.exports=s;},4160:(t,e,n)=>{var r=n(8552),i=n(7071),o=n(3818),a=n(8525),s=n(577),u=n(4239),l=n(346),c="[object Map]",h="[object Promise]",f="[object Set]",p="[object WeakMap]",d="[object DataView]",y=l(r),m=l(i),g=l(o),_=l(a),b=l(s),v=u;(r&&v(new r(new ArrayBuffer(1)))!=d||i&&v(new i)!=c||o&&v(o.resolve())!=h||a&&v(new a)!=f||s&&v(new s)!=p)&&(v=function(t){var e=u(t),n="[object Object]"==e?t.constructor:void 0,r=n?l(n):"";if(r)switch(r){case y:return d;case m:return c;case g:return h;case _:return f;case b:return p}return e}),t.exports=v;},7801:t=>{t.exports=function(t,e){return null==t?void 0:t[e]};},1789:(t,e,n)=>{var r=n(4536);t.exports=function(){this.__data__=r?r(null):{},this.size=0;};},401:t=>{t.exports=function(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e};},7667:(t,e,n)=>{var r=n(4536),i=Object.prototype.hasOwnProperty;t.exports=function(t){var e=this.__data__;if(r){var n=e[t];return "__lodash_hash_undefined__"===n?void 0:n}return i.call(e,t)?e[t]:void 0};},1327:(t,e,n)=>{var r=n(4536),i=Object.prototype.hasOwnProperty;t.exports=function(t){var e=this.__data__;return r?void 0!==e[t]:i.call(e,t)};},1866:(t,e,n)=>{var r=n(4536);t.exports=function(t,e){var n=this.__data__;return this.size+=this.has(t)?0:1,n[t]=r&&void 0===e?"__lodash_hash_undefined__":e,this};},5776:t=>{var e=/^(?:0|[1-9]\d*)$/;t.exports=function(t,n){var r=typeof t;return !!(n=null==n?9007199254740991:n)&&("number"==r||"symbol"!=r&&e.test(t))&&t>-1&&t%1==0&&t{t.exports=function(t){var e=typeof t;return "string"==e||"number"==e||"symbol"==e||"boolean"==e?"__proto__"!==t:null===t};},5346:(t,e,n)=>{var r,i=n(4429),o=(r=/[^.]+$/.exec(i&&i.keys&&i.keys.IE_PROTO||""))?"Symbol(src)_1."+r:"";t.exports=function(t){return !!o&&o in t};},5726:t=>{var e=Object.prototype;t.exports=function(t){var n=t&&t.constructor;return t===("function"==typeof n&&n.prototype||e)};},7040:t=>{t.exports=function(){this.__data__=[],this.size=0;};},4125:(t,e,n)=>{var r=n(8470),i=Array.prototype.splice;t.exports=function(t){var e=this.__data__,n=r(e,t);return !(n<0||(n==e.length-1?e.pop():i.call(e,n,1),--this.size,0))};},2117:(t,e,n)=>{var r=n(8470);t.exports=function(t){var e=this.__data__,n=r(e,t);return n<0?void 0:e[n][1]};},7518:(t,e,n)=>{var r=n(8470);t.exports=function(t){return r(this.__data__,t)>-1};},4705:(t,e,n)=>{var r=n(8470);t.exports=function(t,e){var n=this.__data__,i=r(n,t);return i<0?(++this.size,n.push([t,e])):n[i][1]=e,this};},4785:(t,e,n)=>{var r=n(1989),i=n(8407),o=n(7071);t.exports=function(){this.size=0,this.__data__={hash:new r,map:new(o||i),string:new r};};},1285:(t,e,n)=>{var r=n(5050);t.exports=function(t){var e=r(this,t).delete(t);return this.size-=e?1:0,e};},6e3:(t,e,n)=>{var r=n(5050);t.exports=function(t){return r(this,t).get(t)};},9916:(t,e,n)=>{var r=n(5050);t.exports=function(t){return r(this,t).has(t)};},5265:(t,e,n)=>{var r=n(5050);t.exports=function(t,e){var n=r(this,t),i=n.size;return n.set(t,e),this.size+=n.size==i?0:1,this};},8776:t=>{t.exports=function(t){var e=-1,n=Array(t.size);return t.forEach((function(t,r){n[++e]=[r,t];})),n};},4536:(t,e,n)=>{var r=n(852)(Object,"create");t.exports=r;},6916:(t,e,n)=>{var r=n(5569)(Object.keys,Object);t.exports=r;},1167:(t,e,n)=>{t=n.nmd(t);var r=n(1957),i=e&&!e.nodeType&&e,o=i&&t&&!t.nodeType&&t,a=o&&o.exports===i&&r.process,s=function(){try{return o&&o.require&&o.require("util").types||a&&a.binding&&a.binding("util")}catch(t){}}();t.exports=s;},2333:t=>{var e=Object.prototype.toString;t.exports=function(t){return e.call(t)};},5569:t=>{t.exports=function(t,e){return function(n){return t(e(n))}};},5639:(t,e,n)=>{var r=n(1957),i="object"==typeof self&&self&&self.Object===Object&&self,o=r||i||Function("return this")();t.exports=o;},619:t=>{t.exports=function(t){return this.__data__.set(t,"__lodash_hash_undefined__"),this};},2385:t=>{t.exports=function(t){return this.__data__.has(t)};},1814:t=>{t.exports=function(t){var e=-1,n=Array(t.size);return t.forEach((function(t){n[++e]=t;})),n};},7465:(t,e,n)=>{var r=n(8407);t.exports=function(){this.__data__=new r,this.size=0;};},3779:t=>{t.exports=function(t){var e=this.__data__,n=e.delete(t);return this.size=e.size,n};},7599:t=>{t.exports=function(t){return this.__data__.get(t)};},4758:t=>{t.exports=function(t){return this.__data__.has(t)};},4309:(t,e,n)=>{var r=n(8407),i=n(7071),o=n(3369);t.exports=function(t,e){var n=this.__data__;if(n instanceof r){var a=n.__data__;if(!i||a.length<199)return a.push([t,e]),this.size=++n.size,this;n=this.__data__=new o(a);}return n.set(t,e),this.size=n.size,this};},346:t=>{var e=Function.prototype.toString;t.exports=function(t){if(null!=t){try{return e.call(t)}catch(t){}try{return t+""}catch(t){}}return ""};},7813:t=>{t.exports=function(t,e){return t===e||t!=t&&e!=e};},6557:t=>{t.exports=function(t){return t};},5694:(t,e,n)=>{var r=n(9454),i=n(7005),o=Object.prototype,a=o.hasOwnProperty,s=o.propertyIsEnumerable,u=r(function(){return arguments}())?r:function(t){return i(t)&&a.call(t,"callee")&&!s.call(t,"callee")};t.exports=u;},1469:t=>{var e=Array.isArray;t.exports=e;},8612:(t,e,n)=>{var r=n(3560),i=n(1780);t.exports=function(t){return null!=t&&i(t.length)&&!r(t)};},4144:(t,e,n)=>{t=n.nmd(t);var r=n(5639),i=n(5062),o=e&&!e.nodeType&&e,a=o&&t&&!t.nodeType&&t,s=a&&a.exports===o?r.Buffer:void 0,u=(s?s.isBuffer:void 0)||i;t.exports=u;},8446:(t,e,n)=>{var r=n(939);t.exports=function(t,e){return r(t,e)};},3560:(t,e,n)=>{var r=n(4239),i=n(3218);t.exports=function(t){if(!i(t))return !1;var e=r(t);return "[object Function]"==e||"[object GeneratorFunction]"==e||"[object AsyncFunction]"==e||"[object Proxy]"==e};},1780:t=>{t.exports=function(t){return "number"==typeof t&&t>-1&&t%1==0&&t<=9007199254740991};},4293:t=>{t.exports=function(t){return null==t};},3218:t=>{t.exports=function(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)};},7005:t=>{t.exports=function(t){return null!=t&&"object"==typeof t};},3448:(t,e,n)=>{var r=n(4239),i=n(7005);t.exports=function(t){return "symbol"==typeof t||i(t)&&"[object Symbol]"==r(t)};},6719:(t,e,n)=>{var r=n(8749),i=n(1717),o=n(1167),a=o&&o.isTypedArray,s=a?i(a):r;t.exports=s;},3674:(t,e,n)=>{var r=n(4636),i=n(280),o=n(8612);t.exports=function(t){return o(t)?r(t):i(t)};},1159:(t,e,n)=>{var r=n(4949);t.exports=function(t,e){return r(t,e)};},5871:(t,e,n)=>{var r=n(4949),i=n(7813);t.exports=function(t,e){var n=null==t?0:t.length;if(n){var o=r(t,e);if(o{t.exports=function(){return []};},5062:t=>{t.exports=function(){return !1};},2628:(t,e,n)=>{var r=n(7415),i=n(3674);t.exports=function(t){return null==t?[]:r(t,i(t))};},3085:(t,e,n)=>{"use strict";var r=n(5108);const i=n(9742),o=n(645),a="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;e.lW=l,e.h2=50;const s=2147483647;function u(t){if(t>s)throw new RangeError('The value "'+t+'" is invalid for option "size"');const e=new Uint8Array(t);return Object.setPrototypeOf(e,l.prototype),e}function l(t,e,n){if("number"==typeof t){if("string"==typeof e)throw new TypeError('The "string" argument must be of type string. Received type number');return f(t)}return c(t,e,n)}function c(t,e,n){if("string"==typeof t)return function(t,e){if("string"==typeof e&&""!==e||(e="utf8"),!l.isEncoding(e))throw new TypeError("Unknown encoding: "+e);const n=0|m(t,e);let r=u(n);const i=r.write(t,e);return i!==n&&(r=r.slice(0,i)),r}(t,e);if(ArrayBuffer.isView(t))return function(t){if(Q(t,Uint8Array)){const e=new Uint8Array(t);return d(e.buffer,e.byteOffset,e.byteLength)}return p(t)}(t);if(null==t)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t);if(Q(t,ArrayBuffer)||t&&Q(t.buffer,ArrayBuffer))return d(t,e,n);if("undefined"!=typeof SharedArrayBuffer&&(Q(t,SharedArrayBuffer)||t&&Q(t.buffer,SharedArrayBuffer)))return d(t,e,n);if("number"==typeof t)throw new TypeError('The "value" argument must not be of type number. Received type number');const r=t.valueOf&&t.valueOf();if(null!=r&&r!==t)return l.from(r,e,n);const i=function(t){if(l.isBuffer(t)){const e=0|y(t.length),n=u(e);return 0===n.length||t.copy(n,0,0,e),n}return void 0!==t.length?"number"!=typeof t.length||K(t.length)?u(0):p(t):"Buffer"===t.type&&Array.isArray(t.data)?p(t.data):void 0}(t);if(i)return i;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof t[Symbol.toPrimitive])return l.from(t[Symbol.toPrimitive]("string"),e,n);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t)}function h(t){if("number"!=typeof t)throw new TypeError('"size" argument must be of type number');if(t<0)throw new RangeError('The value "'+t+'" is invalid for option "size"')}function f(t){return h(t),u(t<0?0:0|y(t))}function p(t){const e=t.length<0?0:0|y(t.length),n=u(e);for(let r=0;r=s)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+s.toString(16)+" bytes");return 0|t}function m(t,e){if(l.isBuffer(t))return t.length;if(ArrayBuffer.isView(t)||Q(t,ArrayBuffer))return t.byteLength;if("string"!=typeof t)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof t);const n=t.length,r=arguments.length>2&&!0===arguments[2];if(!r&&0===n)return 0;let i=!1;for(;;)switch(e){case "ascii":case "latin1":case "binary":return n;case "utf8":case "utf-8":return X(t).length;case "ucs2":case "ucs-2":case "utf16le":case "utf-16le":return 2*n;case "hex":return n>>>1;case "base64":return Y(t).length;default:if(i)return r?-1:X(t).length;e=(""+e).toLowerCase(),i=!0;}}function g(t,e,n){let r=!1;if((void 0===e||e<0)&&(e=0),e>this.length)return "";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return "";if((n>>>=0)<=(e>>>=0))return "";for(t||(t="utf8");;)switch(t){case "hex":return I(this,e,n);case "utf8":case "utf-8":return S(this,e,n);case "ascii":return O(this,e,n);case "latin1":case "binary":return A(this,e,n);case "base64":return M(this,e,n);case "ucs2":case "ucs-2":case "utf16le":case "utf-16le":return P(this,e,n);default:if(r)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),r=!0;}}function _(t,e,n){const r=t[e];t[e]=t[n],t[n]=r;}function b(t,e,n,r,i){if(0===t.length)return -1;if("string"==typeof n?(r=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),K(n=+n)&&(n=i?0:t.length-1),n<0&&(n=t.length+n),n>=t.length){if(i)return -1;n=t.length-1;}else if(n<0){if(!i)return -1;n=0;}if("string"==typeof e&&(e=l.from(e,r)),l.isBuffer(e))return 0===e.length?-1:v(t,e,n,r,i);if("number"==typeof e)return e&=255,"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(t,e,n):Uint8Array.prototype.lastIndexOf.call(t,e,n):v(t,[e],n,r,i);throw new TypeError("val must be string, number or Buffer")}function v(t,e,n,r,i){let o,a=1,s=t.length,u=e.length;if(void 0!==r&&("ucs2"===(r=String(r).toLowerCase())||"ucs-2"===r||"utf16le"===r||"utf-16le"===r)){if(t.length<2||e.length<2)return -1;a=2,s/=2,u/=2,n/=2;}function l(t,e){return 1===a?t[e]:t.readUInt16BE(e*a)}if(i){let r=-1;for(o=n;os&&(n=s-u),o=n;o>=0;o--){let n=!0;for(let r=0;ri&&(r=i):r=i;const o=e.length;let a;for(r>o/2&&(r=o/2),a=0;a>8,i=n%256,o.push(i),o.push(r);return o}(e,t.length-n),t,n,r)}function M(t,e,n){return 0===e&&n===t.length?i.fromByteArray(t):i.fromByteArray(t.slice(e,n))}function S(t,e,n){n=Math.min(t.length,n);const r=[];let i=e;for(;i239?4:e>223?3:e>191?2:1;if(i+a<=n){let n,r,s,u;switch(a){case 1:e<128&&(o=e);break;case 2:n=t[i+1],128==(192&n)&&(u=(31&e)<<6|63&n,u>127&&(o=u));break;case 3:n=t[i+1],r=t[i+2],128==(192&n)&&128==(192&r)&&(u=(15&e)<<12|(63&n)<<6|63&r,u>2047&&(u<55296||u>57343)&&(o=u));break;case 4:n=t[i+1],r=t[i+2],s=t[i+3],128==(192&n)&&128==(192&r)&&128==(192&s)&&(u=(15&e)<<18|(63&n)<<12|(63&r)<<6|63&s,u>65535&&u<1114112&&(o=u));}}null===o?(o=65533,a=1):o>65535&&(o-=65536,r.push(o>>>10&1023|55296),o=56320|1023&o),r.push(o),i+=a;}return function(t){const e=t.length;if(e<=N)return String.fromCharCode.apply(String,t);let n="",r=0;for(;rr.length?(l.isBuffer(e)||(e=l.from(e)),e.copy(r,i)):Uint8Array.prototype.set.call(r,e,i);else {if(!l.isBuffer(e))throw new TypeError('"list" argument must be an Array of Buffers');e.copy(r,i);}i+=e.length;}return r},l.byteLength=m,l.prototype._isBuffer=!0,l.prototype.swap16=function(){const t=this.length;if(t%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let e=0;en&&(t+=" ... "),""},a&&(l.prototype[a]=l.prototype.inspect),l.prototype.compare=function(t,e,n,r,i){if(Q(t,Uint8Array)&&(t=l.from(t,t.offset,t.byteLength)),!l.isBuffer(t))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof t);if(void 0===e&&(e=0),void 0===n&&(n=t?t.length:0),void 0===r&&(r=0),void 0===i&&(i=this.length),e<0||n>t.length||r<0||i>this.length)throw new RangeError("out of range index");if(r>=i&&e>=n)return 0;if(r>=i)return -1;if(e>=n)return 1;if(this===t)return 0;let o=(i>>>=0)-(r>>>=0),a=(n>>>=0)-(e>>>=0);const s=Math.min(o,a),u=this.slice(r,i),c=t.slice(e,n);for(let t=0;t>>=0,isFinite(n)?(n>>>=0,void 0===r&&(r="utf8")):(r=n,n=void 0);}const i=this.length-e;if((void 0===n||n>i)&&(n=i),t.length>0&&(n<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");r||(r="utf8");let o=!1;for(;;)switch(r){case "hex":return T(this,t,e,n);case "utf8":case "utf-8":return E(this,t,e,n);case "ascii":case "latin1":case "binary":return w(this,t,e,n);case "base64":return x(this,t,e,n);case "ucs2":case "ucs-2":case "utf16le":case "utf-16le":return C(this,t,e,n);default:if(o)throw new TypeError("Unknown encoding: "+r);r=(""+r).toLowerCase(),o=!0;}},l.prototype.toJSON=function(){return {type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};const N=4096;function O(t,e,n){let r="";n=Math.min(t.length,n);for(let i=e;ir)&&(n=r);let i="";for(let r=e;rn)throw new RangeError("Trying to access beyond buffer length")}function L(t,e,n,r,i,o){if(!l.isBuffer(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>i||et.length)throw new RangeError("Index out of range")}function D(t,e,n,r,i){q(e,r,i,t,n,7);let o=Number(e&BigInt(4294967295));t[n++]=o,o>>=8,t[n++]=o,o>>=8,t[n++]=o,o>>=8,t[n++]=o;let a=Number(e>>BigInt(32)&BigInt(4294967295));return t[n++]=a,a>>=8,t[n++]=a,a>>=8,t[n++]=a,a>>=8,t[n++]=a,n}function k(t,e,n,r,i){q(e,r,i,t,n,7);let o=Number(e&BigInt(4294967295));t[n+7]=o,o>>=8,t[n+6]=o,o>>=8,t[n+5]=o,o>>=8,t[n+4]=o;let a=Number(e>>BigInt(32)&BigInt(4294967295));return t[n+3]=a,a>>=8,t[n+2]=a,a>>=8,t[n+1]=a,a>>=8,t[n]=a,n+8}function F(t,e,n,r,i,o){if(n+r>t.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("Index out of range")}function U(t,e,n,r,i){return e=+e,n>>>=0,i||F(t,0,n,4),o.write(t,e,n,r,23,4),n+4}function B(t,e,n,r,i){return e=+e,n>>>=0,i||F(t,0,n,8),o.write(t,e,n,r,52,8),n+8}l.prototype.slice=function(t,e){const n=this.length;(t=~~t)<0?(t+=n)<0&&(t=0):t>n&&(t=n),(e=void 0===e?n:~~e)<0?(e+=n)<0&&(e=0):e>n&&(e=n),e>>=0,e>>>=0,n||R(t,e,this.length);let r=this[t],i=1,o=0;for(;++o>>=0,e>>>=0,n||R(t,e,this.length);let r=this[t+--e],i=1;for(;e>0&&(i*=256);)r+=this[t+--e]*i;return r},l.prototype.readUint8=l.prototype.readUInt8=function(t,e){return t>>>=0,e||R(t,1,this.length),this[t]},l.prototype.readUint16LE=l.prototype.readUInt16LE=function(t,e){return t>>>=0,e||R(t,2,this.length),this[t]|this[t+1]<<8},l.prototype.readUint16BE=l.prototype.readUInt16BE=function(t,e){return t>>>=0,e||R(t,2,this.length),this[t]<<8|this[t+1]},l.prototype.readUint32LE=l.prototype.readUInt32LE=function(t,e){return t>>>=0,e||R(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},l.prototype.readUint32BE=l.prototype.readUInt32BE=function(t,e){return t>>>=0,e||R(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},l.prototype.readBigUInt64LE=$((function(t){H(t>>>=0,"offset");const e=this[t],n=this[t+7];void 0!==e&&void 0!==n||z(t,this.length-8);const r=e+256*this[++t]+65536*this[++t]+this[++t]*2**24,i=this[++t]+256*this[++t]+65536*this[++t]+n*2**24;return BigInt(r)+(BigInt(i)<>>=0,"offset");const e=this[t],n=this[t+7];void 0!==e&&void 0!==n||z(t,this.length-8);const r=e*2**24+65536*this[++t]+256*this[++t]+this[++t],i=this[++t]*2**24+65536*this[++t]+256*this[++t]+n;return (BigInt(r)<>>=0,e>>>=0,n||R(t,e,this.length);let r=this[t],i=1,o=0;for(;++o=i&&(r-=Math.pow(2,8*e)),r},l.prototype.readIntBE=function(t,e,n){t>>>=0,e>>>=0,n||R(t,e,this.length);let r=e,i=1,o=this[t+--r];for(;r>0&&(i*=256);)o+=this[t+--r]*i;return i*=128,o>=i&&(o-=Math.pow(2,8*e)),o},l.prototype.readInt8=function(t,e){return t>>>=0,e||R(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},l.prototype.readInt16LE=function(t,e){t>>>=0,e||R(t,2,this.length);const n=this[t]|this[t+1]<<8;return 32768&n?4294901760|n:n},l.prototype.readInt16BE=function(t,e){t>>>=0,e||R(t,2,this.length);const n=this[t+1]|this[t]<<8;return 32768&n?4294901760|n:n},l.prototype.readInt32LE=function(t,e){return t>>>=0,e||R(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},l.prototype.readInt32BE=function(t,e){return t>>>=0,e||R(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},l.prototype.readBigInt64LE=$((function(t){H(t>>>=0,"offset");const e=this[t],n=this[t+7];void 0!==e&&void 0!==n||z(t,this.length-8);const r=this[t+4]+256*this[t+5]+65536*this[t+6]+(n<<24);return (BigInt(r)<>>=0,"offset");const e=this[t],n=this[t+7];void 0!==e&&void 0!==n||z(t,this.length-8);const r=(e<<24)+65536*this[++t]+256*this[++t]+this[++t];return (BigInt(r)<>>=0,e||R(t,4,this.length),o.read(this,t,!0,23,4)},l.prototype.readFloatBE=function(t,e){return t>>>=0,e||R(t,4,this.length),o.read(this,t,!1,23,4)},l.prototype.readDoubleLE=function(t,e){return t>>>=0,e||R(t,8,this.length),o.read(this,t,!0,52,8)},l.prototype.readDoubleBE=function(t,e){return t>>>=0,e||R(t,8,this.length),o.read(this,t,!1,52,8)},l.prototype.writeUintLE=l.prototype.writeUIntLE=function(t,e,n,r){t=+t,e>>>=0,n>>>=0,r||L(this,t,e,n,Math.pow(2,8*n)-1,0);let i=1,o=0;for(this[e]=255&t;++o>>=0,n>>>=0,r||L(this,t,e,n,Math.pow(2,8*n)-1,0);let i=n-1,o=1;for(this[e+i]=255&t;--i>=0&&(o*=256);)this[e+i]=t/o&255;return e+n},l.prototype.writeUint8=l.prototype.writeUInt8=function(t,e,n){return t=+t,e>>>=0,n||L(this,t,e,1,255,0),this[e]=255&t,e+1},l.prototype.writeUint16LE=l.prototype.writeUInt16LE=function(t,e,n){return t=+t,e>>>=0,n||L(this,t,e,2,65535,0),this[e]=255&t,this[e+1]=t>>>8,e+2},l.prototype.writeUint16BE=l.prototype.writeUInt16BE=function(t,e,n){return t=+t,e>>>=0,n||L(this,t,e,2,65535,0),this[e]=t>>>8,this[e+1]=255&t,e+2},l.prototype.writeUint32LE=l.prototype.writeUInt32LE=function(t,e,n){return t=+t,e>>>=0,n||L(this,t,e,4,4294967295,0),this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t,e+4},l.prototype.writeUint32BE=l.prototype.writeUInt32BE=function(t,e,n){return t=+t,e>>>=0,n||L(this,t,e,4,4294967295,0),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},l.prototype.writeBigUInt64LE=$((function(t,e=0){return D(this,t,e,BigInt(0),BigInt("0xffffffffffffffff"))})),l.prototype.writeBigUInt64BE=$((function(t,e=0){return k(this,t,e,BigInt(0),BigInt("0xffffffffffffffff"))})),l.prototype.writeIntLE=function(t,e,n,r){if(t=+t,e>>>=0,!r){const r=Math.pow(2,8*n-1);L(this,t,e,n,r-1,-r);}let i=0,o=1,a=0;for(this[e]=255&t;++i>0)-a&255;return e+n},l.prototype.writeIntBE=function(t,e,n,r){if(t=+t,e>>>=0,!r){const r=Math.pow(2,8*n-1);L(this,t,e,n,r-1,-r);}let i=n-1,o=1,a=0;for(this[e+i]=255&t;--i>=0&&(o*=256);)t<0&&0===a&&0!==this[e+i+1]&&(a=1),this[e+i]=(t/o>>0)-a&255;return e+n},l.prototype.writeInt8=function(t,e,n){return t=+t,e>>>=0,n||L(this,t,e,1,127,-128),t<0&&(t=255+t+1),this[e]=255&t,e+1},l.prototype.writeInt16LE=function(t,e,n){return t=+t,e>>>=0,n||L(this,t,e,2,32767,-32768),this[e]=255&t,this[e+1]=t>>>8,e+2},l.prototype.writeInt16BE=function(t,e,n){return t=+t,e>>>=0,n||L(this,t,e,2,32767,-32768),this[e]=t>>>8,this[e+1]=255&t,e+2},l.prototype.writeInt32LE=function(t,e,n){return t=+t,e>>>=0,n||L(this,t,e,4,2147483647,-2147483648),this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24,e+4},l.prototype.writeInt32BE=function(t,e,n){return t=+t,e>>>=0,n||L(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},l.prototype.writeBigInt64LE=$((function(t,e=0){return D(this,t,e,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),l.prototype.writeBigInt64BE=$((function(t,e=0){return k(this,t,e,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),l.prototype.writeFloatLE=function(t,e,n){return U(this,t,e,!0,n)},l.prototype.writeFloatBE=function(t,e,n){return U(this,t,e,!1,n)},l.prototype.writeDoubleLE=function(t,e,n){return B(this,t,e,!0,n)},l.prototype.writeDoubleBE=function(t,e,n){return B(this,t,e,!1,n)},l.prototype.copy=function(t,e,n,r){if(!l.isBuffer(t))throw new TypeError("argument should be a Buffer");if(n||(n=0),r||0===r||(r=this.length),e>=t.length&&(e=t.length),e||(e=0),r>0&&r=this.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("sourceEnd out of bounds");r>this.length&&(r=this.length),t.length-e>>=0,n=void 0===n?this.length:n>>>0,t||(t=0),"number"==typeof t)for(i=e;i=r+4;n-=3)e=`_${t.slice(n-3,n)}${e}`;return `${t.slice(0,n)}${e}`}function q(t,e,n,r,i,o){if(t>n||t3?0===e||e===BigInt(0)?`>= 0${r} and < 2${r} ** ${8*(o+1)}${r}`:`>= -(2${r} ** ${8*(o+1)-1}${r}) and < 2 ** ${8*(o+1)-1}${r}`:`>= ${e}${r} and <= ${n}${r}`,new j.ERR_OUT_OF_RANGE("value",i,t)}!function(t,e,n){H(e,"offset"),void 0!==t[e]&&void 0!==t[e+n]||z(e,t.length-(n+1));}(r,i,o);}function H(t,e){if("number"!=typeof t)throw new j.ERR_INVALID_ARG_TYPE(e,"number",t)}function z(t,e,n){if(Math.floor(t)!==t)throw H(t,n),new j.ERR_OUT_OF_RANGE(n||"offset","an integer",t);if(e<0)throw new j.ERR_BUFFER_OUT_OF_BOUNDS;throw new j.ERR_OUT_OF_RANGE(n||"offset",`>= ${n?1:0} and <= ${e}`,t)}G("ERR_BUFFER_OUT_OF_BOUNDS",(function(t){return t?`${t} is outside of buffer bounds`:"Attempt to access memory outside buffer bounds"}),RangeError),G("ERR_INVALID_ARG_TYPE",(function(t,e){return `The "${t}" argument must be of type number. Received type ${typeof e}`}),TypeError),G("ERR_OUT_OF_RANGE",(function(t,e,n){let r=`The value of "${t}" is out of range.`,i=n;return Number.isInteger(n)&&Math.abs(n)>2**32?i=W(String(n)):"bigint"==typeof n&&(i=String(n),(n>BigInt(2)**BigInt(32)||n<-(BigInt(2)**BigInt(32)))&&(i=W(i)),i+="n"),r+=` It must be ${e}. Received ${i}`,r}),RangeError);const V=/[^+/0-9A-Za-z-_]/g;function X(t,e){let n;e=e||1/0;const r=t.length;let i=null;const o=[];for(let a=0;a55295&&n<57344){if(!i){if(n>56319){(e-=3)>-1&&o.push(239,191,189);continue}if(a+1===r){(e-=3)>-1&&o.push(239,191,189);continue}i=n;continue}if(n<56320){(e-=3)>-1&&o.push(239,191,189),i=n;continue}n=65536+(i-55296<<10|n-56320);}else i&&(e-=3)>-1&&o.push(239,191,189);if(i=null,n<128){if((e-=1)<0)break;o.push(n);}else if(n<2048){if((e-=2)<0)break;o.push(n>>6|192,63&n|128);}else if(n<65536){if((e-=3)<0)break;o.push(n>>12|224,n>>6&63|128,63&n|128);}else {if(!(n<1114112))throw new Error("Invalid code point");if((e-=4)<0)break;o.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128);}}return o}function Y(t){return i.toByteArray(function(t){if((t=(t=t.split("=")[0]).trim().replace(V,"")).length<2)return "";for(;t.length%4!=0;)t+="=";return t}(t))}function Z(t,e,n,r){let i;for(i=0;i=e.length||i>=t.length);++i)e[i+n]=t[i];return i}function Q(t,e){return t instanceof e||null!=t&&null!=t.constructor&&null!=t.constructor.name&&t.constructor.name===e.name}function K(t){return t!=t}const J=function(){const t="0123456789abcdef",e=new Array(256);for(let n=0;n<16;++n){const r=16*n;for(let i=0;i<16;++i)e[r+i]=t[n]+t[i];}return e}();function $(t){return "undefined"==typeof BigInt?tt:t}function tt(){throw new Error("BigInt not supported")}},3935:(t,e,n)=>{"use strict";var r=n(4155);function i(t){if("string"!=typeof t)throw new TypeError("Path must be a string. Received "+JSON.stringify(t))}function o(t,e){for(var n,r="",i=0,o=-1,a=0,s=0;s<=t.length;++s){if(s2){var u=r.lastIndexOf("/");if(u!==r.length-1){-1===u?(r="",i=0):i=(r=r.slice(0,u)).length-1-r.lastIndexOf("/"),o=s,a=0;continue}}else if(2===r.length||1===r.length){r="",i=0,o=s,a=0;continue}e&&(r.length>0?r+="/..":r="..",i=2);}else r.length>0?r+="/"+t.slice(o+1,s):r=t.slice(o+1,s),i=s-o-1;o=s,a=0;}else 46===n&&-1!==a?++a:a=-1;}return r}var a={resolve:function(){for(var t,e="",n=!1,a=arguments.length-1;a>=-1&&!n;a--){var s;a>=0?s=arguments[a]:(void 0===t&&(t=r.cwd()),s=t),i(s),0!==s.length&&(e=s+"/"+e,n=47===s.charCodeAt(0));}return e=o(e,!n),n?e.length>0?"/"+e:"/":e.length>0?e:"."},normalize:function(t){if(i(t),0===t.length)return ".";var e=47===t.charCodeAt(0),n=47===t.charCodeAt(t.length-1);return 0!==(t=o(t,!e)).length||e||(t="."),t.length>0&&n&&(t+="/"),e?"/"+t:t},isAbsolute:function(t){return i(t),t.length>0&&47===t.charCodeAt(0)},join:function(){if(0===arguments.length)return ".";for(var t,e=0;e0&&(void 0===t?t=n:t+="/"+n);}return void 0===t?".":a.normalize(t)},relative:function(t,e){if(i(t),i(e),t===e)return "";if((t=a.resolve(t))===(e=a.resolve(e)))return "";for(var n=1;nl){if(47===e.charCodeAt(s+h))return e.slice(s+h+1);if(0===h)return e.slice(s+h)}else o>l&&(47===t.charCodeAt(n+h)?c=h:0===h&&(c=0));break}var f=t.charCodeAt(n+h);if(f!==e.charCodeAt(s+h))break;47===f&&(c=h);}var p="";for(h=n+c+1;h<=r;++h)h!==r&&47!==t.charCodeAt(h)||(0===p.length?p+="..":p+="/..");return p.length>0?p+e.slice(s+c):(s+=c,47===e.charCodeAt(s)&&++s,e.slice(s))},_makeLong:function(t){return t},dirname:function(t){if(i(t),0===t.length)return ".";for(var e=t.charCodeAt(0),n=47===e,r=-1,o=!0,a=t.length-1;a>=1;--a)if(47===(e=t.charCodeAt(a))){if(!o){r=a;break}}else o=!1;return -1===r?n?"/":".":n&&1===r?"//":t.slice(0,r)},basename:function(t,e){if(void 0!==e&&"string"!=typeof e)throw new TypeError('"ext" argument must be a string');i(t);var n,r=0,o=-1,a=!0;if(void 0!==e&&e.length>0&&e.length<=t.length){if(e.length===t.length&&e===t)return "";var s=e.length-1,u=-1;for(n=t.length-1;n>=0;--n){var l=t.charCodeAt(n);if(47===l){if(!a){r=n+1;break}}else -1===u&&(a=!1,u=n+1),s>=0&&(l===e.charCodeAt(s)?-1==--s&&(o=n):(s=-1,o=u));}return r===o?o=u:-1===o&&(o=t.length),t.slice(r,o)}for(n=t.length-1;n>=0;--n)if(47===t.charCodeAt(n)){if(!a){r=n+1;break}}else -1===o&&(a=!1,o=n+1);return -1===o?"":t.slice(r,o)},extname:function(t){i(t);for(var e=-1,n=0,r=-1,o=!0,a=0,s=t.length-1;s>=0;--s){var u=t.charCodeAt(s);if(47!==u)-1===r&&(o=!1,r=s+1),46===u?-1===e?e=s:1!==a&&(a=1):-1!==e&&(a=-1);else if(!o){n=s+1;break}}return -1===e||-1===r||0===a||1===a&&e===r-1&&e===n+1?"":t.slice(e,r)},format:function(t){if(null===t||"object"!=typeof t)throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof t);return function(t,e){var n=e.dir||e.root,r=e.base||(e.name||"")+(e.ext||"");return n?n===e.root?n+r:n+"/"+r:r}(0,t)},parse:function(t){i(t);var e={root:"",dir:"",base:"",ext:"",name:""};if(0===t.length)return e;var n,r=t.charCodeAt(0),o=47===r;o?(e.root="/",n=1):n=0;for(var a=-1,s=0,u=-1,l=!0,c=t.length-1,h=0;c>=n;--c)if(47!==(r=t.charCodeAt(c)))-1===u&&(l=!1,u=c+1),46===r?-1===a?a=c:1!==h&&(h=1):-1!==a&&(h=-1);else if(!l){s=c+1;break}return -1===a||-1===u||0===h||1===h&&a===u-1&&a===s+1?-1!==u&&(e.base=e.name=0===s&&o?t.slice(1,u):t.slice(s,u)):(0===s&&o?(e.name=t.slice(1,a),e.base=t.slice(1,u)):(e.name=t.slice(s,a),e.base=t.slice(s,u)),e.ext=t.slice(a,u)),s>0?e.dir=t.slice(0,s-1):o&&(e.dir="/"),e},sep:"/",delimiter:":",win32:null,posix:null};a.posix=a,t.exports=a;},7418:t=>{"use strict";var e=Object.getOwnPropertySymbols,n=Object.prototype.hasOwnProperty,r=Object.prototype.propertyIsEnumerable;t.exports=function(){try{if(!Object.assign)return !1;var t=new String("abc");if(t[5]="de","5"===Object.getOwnPropertyNames(t)[0])return !1;for(var e={},n=0;n<10;n++)e["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(e).map((function(t){return e[t]})).join(""))return !1;var r={};return "abcdefghijklmnopqrst".split("").forEach((function(t){r[t]=t;})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},r)).join("")}catch(t){return !1}}()?Object.assign:function(t,i){for(var o,a,s=function(t){if(null==t)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(t)}(t),u=1;u{e.endianness=function(){return "LE"},e.hostname=function(){return "undefined"!=typeof location?location.hostname:""},e.loadavg=function(){return []},e.uptime=function(){return 0},e.freemem=function(){return Number.MAX_VALUE},e.totalmem=function(){return Number.MAX_VALUE},e.cpus=function(){return []},e.type=function(){return "Browser"},e.release=function(){return "undefined"!=typeof navigator?navigator.appVersion:""},e.networkInterfaces=e.getNetworkInterfaces=function(){return {}},e.arch=function(){return "javascript"},e.platform=function(){return "browser"},e.tmpdir=e.tmpDir=function(){return "/tmp"},e.EOL="\n",e.homedir=function(){return "/"};},8985:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Deferred=void 0,e.Deferred=class{constructor(){this.resolve=()=>null,this.reject=()=>null,this.promise=new Promise(((t,e)=>{this.reject=e,this.resolve=t;}));}};},7279:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.EndOfStreamError=e.defaultMessages=void 0,e.defaultMessages="End-Of-Stream";class n extends Error{constructor(){super(e.defaultMessages);}}e.EndOfStreamError=n;},6654:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.StreamReader=e.EndOfStreamError=void 0;const r=n(7279),i=n(8985);var o=n(7279);Object.defineProperty(e,"EndOfStreamError",{enumerable:!0,get:function(){return o.EndOfStreamError}}),e.StreamReader=class{constructor(t){if(this.s=t,this.deferred=null,this.endOfStream=!1,this.peekQueue=[],!t.read||!t.once)throw new Error("Expected an instance of stream.Readable");this.s.once("end",(()=>this.reject(new r.EndOfStreamError))),this.s.once("error",(t=>this.reject(t))),this.s.once("close",(()=>this.reject(new Error("Stream closed"))));}async peek(t,e,n){const r=await this.read(t,e,n);return this.peekQueue.push(t.subarray(e,e+r)),r}async read(t,e,n){if(0===n)return 0;if(0===this.peekQueue.length&&this.endOfStream)throw new r.EndOfStreamError;let i=n,o=0;for(;this.peekQueue.length>0&&i>0;){const n=this.peekQueue.pop();if(!n)throw new Error("peekData should be defined");const r=Math.min(n.length,i);t.set(n.subarray(0,r),e+o),o+=r,i-=r,r0&&!this.endOfStream;){const n=Math.min(i,1048576),r=await this.readFromStream(t,e+o,n);if(o+=r,r{this.readDeferred(r);})),r.deferred.promise}}readDeferred(t){const e=this.s.read(t.length);e?(t.buffer.set(e,t.offset),t.deferred.resolve(e.length),this.deferred=null):this.s.once("readable",(()=>{this.readDeferred(t);}));}reject(t){this.endOfStream=!0,this.deferred&&(this.deferred.reject(t),this.deferred=null);}};},5167:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.StreamReader=e.EndOfStreamError=void 0;var r=n(7279);Object.defineProperty(e,"EndOfStreamError",{enumerable:!0,get:function(){return r.EndOfStreamError}});var i=n(6654);Object.defineProperty(e,"StreamReader",{enumerable:!0,get:function(){return i.StreamReader}});},2676:function(t,e,n){var r=n(4155);t.exports=function(){"use strict";function t(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function e(t,e){for(var n=0;ne?1:t0))break;if(null===e.right)break;if(n(t,e.right.key)>0&&(u=e.right,e.right=u.left,u.left=e,null===(e=u).right))break;o.right=e,o=e,e=e.right;}}return o.right=e.left,a.left=e.right,e.left=r.right,e.right=r.left,e}function s(t,e,n,r){var o=new i(t,e);if(null===n)return o.left=o.right=null,o;var s=r(t,(n=a(t,n,r)).key);return s<0?(o.left=n.left,o.right=n,n.left=null):s>=0&&(o.right=n.right,o.left=n,n.right=null),o}function u(t,e,n){var r=null,i=null;if(e){var o=n((e=a(t,e,n)).key,t);0===o?(r=e.left,i=e.right):o<0?(i=e.right,e.right=null,r=e):(r=e.left,e.left=null,i=e);}return {left:r,right:i}}function l(t,e,n,r,i){if(t){r(e+(n?"└── ":"├── ")+i(t)+"\n");var o=e+(n?" ":"│ ");t.left&&l(t.left,o,!1,r,i),t.right&&l(t.right,o,!0,r,i);}}var c=function(){function t(t){void 0===t&&(t=o),this._root=null,this._size=0,this._comparator=t;}return t.prototype.insert=function(t,e){return this._size++,this._root=s(t,e,this._root,this._comparator)},t.prototype.add=function(t,e){var n=new i(t,e);null===this._root&&(n.left=n.right=null,this._size++,this._root=n);var r=this._comparator,o=a(t,this._root,r),s=r(t,o.key);return 0===s?this._root=o:(s<0?(n.left=o.left,n.right=o,o.left=null):s>0&&(n.right=o.right,n.left=o,o.right=null),this._size++,this._root=n),this._root},t.prototype.remove=function(t){this._root=this._remove(t,this._root,this._comparator);},t.prototype._remove=function(t,e,n){var r;return null===e?null:0===n(t,(e=a(t,e,n)).key)?(null===e.left?r=e.right:(r=a(t,e.left,n)).right=e.right,this._size--,r):e},t.prototype.pop=function(){var t=this._root;if(t){for(;t.left;)t=t.left;return this._root=a(t.key,this._root,this._comparator),this._root=this._remove(t.key,this._root,this._comparator),{key:t.key,data:t.data}}return null},t.prototype.findStatic=function(t){for(var e=this._root,n=this._comparator;e;){var r=n(t,e.key);if(0===r)return e;e=r<0?e.left:e.right;}return null},t.prototype.find=function(t){return this._root&&(this._root=a(t,this._root,this._comparator),0!==this._comparator(t,this._root.key))?null:this._root},t.prototype.contains=function(t){for(var e=this._root,n=this._comparator;e;){var r=n(t,e.key);if(0===r)return !0;e=r<0?e.left:e.right;}return !1},t.prototype.forEach=function(t,e){for(var n=this._root,r=[],i=!1;!i;)null!==n?(r.push(n),n=n.left):0!==r.length?(n=r.pop(),t.call(e,n),n=n.right):i=!0;return this},t.prototype.range=function(t,e,n,r){for(var i=[],o=this._comparator,a=this._root;0!==i.length||a;)if(a)i.push(a),a=a.left;else {if(o((a=i.pop()).key,e)>0)break;if(o(a.key,t)>=0&&n.call(r,a))return this;a=a.right;}return this},t.prototype.keys=function(){var t=[];return this.forEach((function(e){var n=e.key;return t.push(n)})),t},t.prototype.values=function(){var t=[];return this.forEach((function(e){var n=e.data;return t.push(n)})),t},t.prototype.min=function(){return this._root?this.minNode(this._root).key:null},t.prototype.max=function(){return this._root?this.maxNode(this._root).key:null},t.prototype.minNode=function(t){if(void 0===t&&(t=this._root),t)for(;t.left;)t=t.left;return t},t.prototype.maxNode=function(t){if(void 0===t&&(t=this._root),t)for(;t.right;)t=t.right;return t},t.prototype.at=function(t){for(var e=this._root,n=!1,r=0,i=[];!n;)if(e)i.push(e),e=e.left;else if(i.length>0){if(e=i.pop(),r===t)return e;r++,e=e.right;}else n=!0;return null},t.prototype.next=function(t){var e=this._root,n=null;if(t.right){for(n=t.right;n.left;)n=n.left;return n}for(var r=this._comparator;e;){var i=r(t.key,e.key);if(0===i)break;i<0?(n=e,e=e.left):e=e.right;}return n},t.prototype.prev=function(t){var e=this._root,n=null;if(null!==t.left){for(n=t.left;n.right;)n=n.right;return n}for(var r=this._comparator;e;){var i=r(t.key,e.key);if(0===i)break;i<0?e=e.left:(n=e,e=e.right);}return n},t.prototype.clear=function(){return this._root=null,this._size=0,this},t.prototype.toList=function(){return function(t){for(var e=t,n=[],r=!1,o=new i(null,null),a=o;!r;)e?(n.push(e),e=e.left):n.length>0?e=(e=a=a.next=n.pop()).right:r=!0;return a.next=null,o.next}(this._root)},t.prototype.load=function(t,e,n){void 0===e&&(e=[]),void 0===n&&(n=!1);var r=t.length,o=this._comparator;if(n&&p(t,e,0,r-1,o),null===this._root)this._root=h(t,e,0,r),this._size=r;else {var a=function(t,e,n){for(var r=new i(null,null),o=r,a=t,s=e;null!==a&&null!==s;)n(a.key,s.key)<0?(o.next=a,a=a.next):(o.next=s,s=s.next),o=o.next;return null!==a?o.next=a:null!==s&&(o.next=s),r.next}(this.toList(),function(t,e){for(var n=new i(null,null),r=n,o=0;o0){var a=n+Math.floor(o/2),s=t[a],u=e[a],l=new i(s,u);return l.left=h(t,e,n,a),l.right=h(t,e,a+1,r),l}return null}function f(t,e,n){var r=n-e;if(r>0){var i=e+Math.floor(r/2),o=f(t,e,i),a=t.head;return a.left=o,t.head=t.head.next,a.right=f(t,i+1,n),a}return null}function p(t,e,n,r,i){if(!(n>=r)){for(var o=t[n+r>>1],a=n-1,s=r+1;;){do{a++;}while(i(t[a],o)<0);do{s--;}while(i(t[s],o)>0);if(a>=s)break;var u=t[a];t[a]=t[s],t[s]=u,u=e[a],e[a]=e[s],e[s]=u;}p(t,e,n,s,i),p(t,e,s+1,r,i);}}var d=function(t,e){return t.ll.x<=e.x&&e.x<=t.ur.x&&t.ll.y<=e.y&&e.y<=t.ur.y},y=function(t,e){if(e.ur.xe.x?1:t.ye.y?1:0}}]),n(e,[{key:"link",value:function(t){if(t.point===this.point)throw new Error("Tried to link already linked events");for(var e=t.point.events,n=0,r=e.length;n=0&&u>=0?al?-1:0:o<0&&u<0?al?1:0:uo?1:0}}}]),e}(),A=0,I=function(){function e(n,r,i,o){t(this,e),this.id=++A,this.leftSE=n,n.segment=this,n.otherSE=r,this.rightSE=r,r.segment=this,r.otherSE=n,this.rings=i,this.windings=o;}return n(e,null,[{key:"compare",value:function(t,e){var n=t.leftSE.point.x,r=e.leftSE.point.x,i=t.rightSE.point.x,o=e.rightSE.point.x;if(oa&&s>u)return -1;var c=t.comparePoint(e.leftSE.point);if(c<0)return 1;if(c>0)return -1;var h=e.comparePoint(t.rightSE.point);return 0!==h?h:-1}if(n>r){if(as&&a>l)return 1;var f=e.comparePoint(t.leftSE.point);if(0!==f)return f;var p=t.comparePoint(e.rightSE.point);return p<0?1:p>0?-1:1}if(as)return 1;if(io){var y=t.comparePoint(e.rightSE.point);if(y<0)return 1;if(y>0)return -1}if(i!==o){var m=u-a,g=i-n,_=l-s,b=o-r;if(m>g&&_b)return -1}return i>o?1:il?1:t.ide.id?1:0}}]),n(e,[{key:"replaceRightSE",value:function(t){this.rightSE=t,this.rightSE.segment=this,this.rightSE.otherSE=this.leftSE,this.leftSE.otherSE=this.rightSE;}},{key:"bbox",value:function(){var t=this.leftSE.point.y,e=this.rightSE.point.y;return {ll:{x:this.leftSE.point.x,y:te?t:e}}}},{key:"vector",value:function(){return {x:this.rightSE.point.x-this.leftSE.point.x,y:this.rightSE.point.y-this.leftSE.point.y}}},{key:"isAnEndpoint",value:function(t){return t.x===this.leftSE.point.x&&t.y===this.leftSE.point.y||t.x===this.rightSE.point.x&&t.y===this.rightSE.point.y}},{key:"comparePoint",value:function(t){if(this.isAnEndpoint(t))return 0;var e=this.leftSE.point,n=this.rightSE.point,r=this.vector();if(e.x===n.x)return t.x===e.x?0:t.x0&&s.swapEvents(),O.comparePoints(this.leftSE.point,this.rightSE.point)>0&&this.swapEvents(),r&&(i.checkForConsuming(),o.checkForConsuming()),n}},{key:"swapEvents",value:function(){var t=this.rightSE;this.rightSE=this.leftSE,this.leftSE=t,this.leftSE.isLeft=!0,this.rightSE.isLeft=!1;for(var e=0,n=this.windings.length;e0){var o=n;n=r,r=o;}if(n.prev===r){var a=n;n=r,r=a;}for(var s=0,u=r.rings.length;s0))throw new Error("Tried to create degenerate segment at [".concat(t.x,", ").concat(t.y,"]"));i=n,o=t,a=-1;}return new e(new O(i,!0),new O(o,!1),[r],[a])}}]),e}(),P=function(){function e(n,r,i){if(t(this,e),!Array.isArray(n)||0===n.length)throw new Error("Input geometry is not a valid Polygon or MultiPolygon");if(this.poly=r,this.isExterior=i,this.segments=[],"number"!=typeof n[0][0]||"number"!=typeof n[0][1])throw new Error("Input geometry is not a valid Polygon or MultiPolygon");var o=T.round(n[0][0],n[0][1]);this.bbox={ll:{x:o.x,y:o.y},ur:{x:o.x,y:o.y}};for(var a=o,s=1,u=n.length;sthis.bbox.ur.x&&(this.bbox.ur.x=l.x),l.y>this.bbox.ur.y&&(this.bbox.ur.y=l.y),a=l);}o.x===a.x&&o.y===a.y||this.segments.push(I.fromRing(a,o,this));}return n(e,[{key:"getSweepEvents",value:function(){for(var t=[],e=0,n=this.segments.length;ethis.bbox.ur.x&&(this.bbox.ur.x=a.bbox.ur.x),a.bbox.ur.y>this.bbox.ur.y&&(this.bbox.ur.y=a.bbox.ur.y),this.interiorRings.push(a);}this.multiPoly=r;}return n(e,[{key:"getSweepEvents",value:function(){for(var t=this.exteriorRing.getSweepEvents(),e=0,n=this.interiorRings.length;ethis.bbox.ur.x&&(this.bbox.ur.x=a.bbox.ur.x),a.bbox.ur.y>this.bbox.ur.y&&(this.bbox.ur.y=a.bbox.ur.y),this.polys.push(a);}this.isSubject=r;}return n(e,[{key:"getSweepEvents",value:function(){for(var t=[],e=0,n=this.polys.length;e0&&(t=r);}for(var i=t.segment.prevInResult(),o=i?i.prevInResult():null;;){if(!i)return null;if(!o)return i.ringOut;if(o.ringOut!==i.ringOut)return o.ringOut.enclosingRing()!==i.ringOut?i.ringOut:i.ringOut.enclosingRing();i=o.prevInResult(),o=i?i.prevInResult():null;}}}]),e}(),k=function(){function e(n){t(this,e),this.exteriorRing=n,n.poly=this,this.interiorRings=[];}return n(e,[{key:"addInterior",value:function(t){this.interiorRings.push(t),t.poly=this;}},{key:"getGeom",value:function(){var t=[this.exteriorRing.getGeom()];if(null===t[0])return null;for(var e=0,n=this.interiorRings.length;e1&&void 0!==arguments[1]?arguments[1]:I.compare;t(this,e),this.queue=n,this.tree=new c(r),this.segments=[];}return n(e,[{key:"process",value:function(t){var e=t.segment,n=[];if(t.consumedBy)return t.isLeft?this.queue.remove(t.otherSE):this.tree.remove(e),n;var r=t.isLeft?this.tree.insert(e):this.tree.find(e);if(!r)throw new Error("Unable to find segment #".concat(e.id," ")+"[".concat(e.leftSE.point.x,", ").concat(e.leftSE.point.y,"] -> ")+"[".concat(e.rightSE.point.x,", ").concat(e.rightSE.point.y,"] ")+"in SweepLine tree. Please submit a bug report.");for(var i=r,o=r,a=void 0,s=void 0;void 0===a;)null===(i=this.tree.prev(i))?a=null:void 0===i.key.consumedBy&&(a=i.key);for(;void 0===s;)null===(o=this.tree.next(o))?s=null:void 0===o.key.consumedBy&&(s=o.key);if(t.isLeft){var u=null;if(a){var l=a.getIntersection(e);if(null!==l&&(e.isAnEndpoint(l)||(u=l),!a.isAnEndpoint(l)))for(var c=this._splitSafely(a,l),h=0,f=c.length;h0?(this.tree.remove(e),n.push(t)):(this.segments.push(e),e.prev=a);}else {if(a&&s){var E=a.getIntersection(s);if(null!==E){if(!a.isAnEndpoint(E))for(var w=this._splitSafely(a,E),x=0,C=w.length;xB)throw new Error("Infinite loop when putting segment endpoints in a priority queue (queue size too big). Please file a bug report.");for(var E=new U(d),w=d.size,x=d.pop();x;){var C=x.key;if(d.size===w){var M=C.segment;throw new Error("Unable to pop() ".concat(C.isLeft?"left":"right"," SweepEvent ")+"[".concat(C.point.x,", ").concat(C.point.y,"] from segment #").concat(M.id," ")+"[".concat(M.leftSE.point.x,", ").concat(M.leftSE.point.y,"] -> ")+"[".concat(M.rightSE.point.x,", ").concat(M.rightSE.point.y,"] from queue. ")+"Please file a bug report.")}if(d.size>B)throw new Error("Infinite loop when passing sweep line over endpoints (queue size too big). Please file a bug report.");if(E.segments.length>j)throw new Error("Infinite loop when passing sweep line over endpoints (too many sweep line segments). Please file a bug report.");for(var S=E.process(C),N=0,A=S.length;N1?e-1:0),r=1;r1?e-1:0),r=1;r1?e-1:0),r=1;r1?e-1:0),r=1;r{var e,n,r=t.exports={};function i(){throw new Error("setTimeout has not been defined")}function o(){throw new Error("clearTimeout has not been defined")}function a(t){if(e===setTimeout)return setTimeout(t,0);if((e===i||!e)&&setTimeout)return e=setTimeout,setTimeout(t,0);try{return e(t,0)}catch(n){try{return e.call(null,t,0)}catch(n){return e.call(this,t,0)}}}!function(){try{e="function"==typeof setTimeout?setTimeout:i;}catch(t){e=i;}try{n="function"==typeof clearTimeout?clearTimeout:o;}catch(t){n=o;}}();var s,u=[],l=!1,c=-1;function h(){l&&s&&(l=!1,s.length?u=s.concat(u):c=-1,u.length&&f());}function f(){if(!l){var t=a(h);l=!0;for(var e=u.length;e;){for(s=u,u=[];++c1)for(var n=1;n{"use strict";n.r(e),n.d(e,{default:()=>Rn});var r=1,i=2,o=3,a=5,s=6378137,u=6356752.314,l=.0066943799901413165,c=484813681109536e-20,h=Math.PI/2,f=.16666666666666666,p=.04722222222222222,d=.022156084656084655,y=1e-10,m=.017453292519943295,g=57.29577951308232,_=Math.PI/4,b=2*Math.PI,v=3.14159265359,T={greenwich:0,lisbon:-9.131906111111,paris:2.337229166667,bogota:-74.080916666667,madrid:-3.687938888889,rome:12.452333333333,bern:7.439583333333,jakarta:106.807719444444,ferro:-17.666666666667,brussels:4.367975,stockholm:18.058277777778,athens:23.7163375,oslo:10.722916666667};const E={ft:{to_meter:.3048},"us-ft":{to_meter:1200/3937}};var w=/[\s_\-\/\(\)]/g;function x(t,e){if(t[e])return t[e];for(var n,r=Object.keys(t),i=e.toLowerCase().replace(w,""),o=-1;++o=this.text.length)return;t=this.text[this.place++];}switch(this.state){case S:return this.neutral(t);case 2:return this.keyword(t);case 4:return this.quoted(t);case 5:return this.afterquote(t);case 3:return this.number(t);case -1:return}},R.prototype.afterquote=function(t){if('"'===t)return this.word+='"',void(this.state=4);if(I.test(t))return this.word=this.word.trim(),void this.afterItem(t);throw new Error("havn't handled \""+t+'" in afterquote yet, index '+this.place)},R.prototype.afterItem=function(t){return ","===t?(null!==this.word&&this.currentObject.push(this.word),this.word=null,void(this.state=S)):"]"===t?(this.level--,null!==this.word&&(this.currentObject.push(this.word),this.word=null),this.state=S,this.currentObject=this.stack.pop(),void(this.currentObject||(this.state=-1))):void 0},R.prototype.number=function(t){if(!P.test(t)){if(I.test(t))return this.word=parseFloat(this.word),void this.afterItem(t);throw new Error("havn't handled \""+t+'" in number yet, index '+this.place)}this.word+=t;},R.prototype.quoted=function(t){'"'!==t?this.word+=t:this.state=5;},R.prototype.keyword=function(t){if(A.test(t))this.word+=t;else {if("["===t){var e=[];return e.push(this.word),this.level++,null===this.root?this.root=e:this.currentObject.push(e),this.stack.push(this.currentObject),this.currentObject=e,void(this.state=S)}if(!I.test(t))throw new Error("havn't handled \""+t+'" in keyword yet, index '+this.place);this.afterItem(t);}},R.prototype.neutral=function(t){if(O.test(t))return this.word=t,void(this.state=2);if('"'===t)return this.word="",void(this.state=4);if(P.test(t))return this.word=t,void(this.state=3);if(!I.test(t))throw new Error("havn't handled \""+t+'" in neutral yet, index '+this.place);this.afterItem(t);},R.prototype.output=function(){for(;this.place0?90:-90),t.lat_ts=t.lat1);}(i),i}var B=n(5108);function j(t){var e=this;if(2===arguments.length){var n=arguments[1];"string"==typeof n?"+"===n.charAt(0)?j[t]=C(arguments[1]):j[t]=U(arguments[1]):j[t]=n;}else if(1===arguments.length){if(Array.isArray(t))return t.map((function(t){Array.isArray(t)?j.apply(e,t):j(t);}));if("string"==typeof t){if(t in j)return j[t]}else "EPSG"in t?j["EPSG:"+t.EPSG]=t:"ESRI"in t?j["ESRI:"+t.ESRI]=t:"IAU2000"in t?j["IAU2000:"+t.IAU2000]=t:B.log(t);return}}!function(t){t("EPSG:4326","+title=WGS 84 (long/lat) +proj=longlat +ellps=WGS84 +datum=WGS84 +units=degrees"),t("EPSG:4269","+title=NAD83 (long/lat) +proj=longlat +a=6378137.0 +b=6356752.31414036 +ellps=GRS80 +datum=NAD83 +units=degrees"),t("EPSG:3857","+title=WGS 84 / Pseudo-Mercator +proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +no_defs"),t.WGS84=t["EPSG:4326"],t["EPSG:3785"]=t["EPSG:3857"],t.GOOGLE=t["EPSG:3857"],t["EPSG:900913"]=t["EPSG:3857"],t["EPSG:102113"]=t["EPSG:3857"];}(j);const G=j;var W=["PROJECTEDCRS","PROJCRS","GEOGCS","GEOCCS","PROJCS","LOCAL_CS","GEODCRS","GEODETICCRS","GEODETICDATUM","ENGCRS","ENGINEERINGCRS"],q=["3857","900913","3785","102113"];const H=function(t){if(!function(t){return "string"==typeof t}(t))return t;if(function(t){return t in G}(t))return G[t];if(function(t){return W.some((function(e){return t.indexOf(e)>-1}))}(t)){var e=U(t);if(function(t){var e=x(t,"authority");if(e){var n=x(e,"epsg");return n&&q.indexOf(n)>-1}}(e))return G["EPSG:3857"];var n=function(t){var e=x(t,"extension");if(e)return x(e,"proj4")}(e);return n?C(n):e}return function(t){return "+"===t[0]}(t)?C(t):void 0};function z(t,e){var n,r;if(t=t||{},!e)return t;for(r in e)void 0!==(n=e[r])&&(t[r]=n);return t}function V(t,e,n){var r=t*e;return n/Math.sqrt(1-r*r)}function X(t){return t<0?-1:1}function Y(t){return Math.abs(t)<=v?t:t-X(t)*b}function Z(t,e,n){var r=t*n,i=.5*t;return r=Math.pow((1-r)/(1+r),i),Math.tan(.5*(h-e))/r}function Q(t,e){for(var n,r,i=.5*t,o=h-2*Math.atan(e),a=0;a<=15;a++)if(n=t*Math.sin(o),o+=r=h-2*Math.atan(e*Math.pow((1-n)/(1+n),i))-o,Math.abs(r)<=1e-10)return o;return -9999}const K={init:function(){var t=this.b/this.a;this.es=1-t*t,"x0"in this||(this.x0=0),"y0"in this||(this.y0=0),this.e=Math.sqrt(this.es),this.lat_ts?this.sphere?this.k0=Math.cos(this.lat_ts):this.k0=V(this.e,Math.sin(this.lat_ts),Math.cos(this.lat_ts)):this.k0||(this.k?this.k0=this.k:this.k0=1);},forward:function(t){var e,n,r=t.x,i=t.y;if(i*g>90&&i*g<-90&&r*g>180&&r*g<-180)return null;if(Math.abs(Math.abs(i)-h)<=y)return null;if(this.sphere)e=this.x0+this.a*this.k0*Y(r-this.long0),n=this.y0+this.a*this.k0*Math.log(Math.tan(_+.5*i));else {var o=Math.sin(i),a=Z(this.e,i,o);e=this.x0+this.a*this.k0*Y(r-this.long0),n=this.y0-this.a*this.k0*Math.log(a);}return t.x=e,t.y=n,t},inverse:function(t){var e,n,r=t.x-this.x0,i=t.y-this.y0;if(this.sphere)n=h-2*Math.atan(Math.exp(-i/(this.a*this.k0)));else {var o=Math.exp(-i/(this.a*this.k0));if(-9999===(n=Q(this.e,o)))return null}return e=Y(this.long0+r/(this.a*this.k0)),t.x=e,t.y=n,t},names:["Mercator","Popular Visualisation Pseudo Mercator","Mercator_1SP","Mercator_Auxiliary_Sphere","merc"]};function J(t){return t}const $={init:function(){},forward:J,inverse:J,names:["longlat","identity"]};var tt=n(5108),et=[K,$],nt={},rt=[];function it(t,e){var n=rt.length;return t.names?(rt[n]=t,t.names.forEach((function(t){nt[t.toLowerCase()]=n;})),this):(tt.log(e),!0)}const ot={start:function(){et.forEach(it);},add:it,get:function(t){if(!t)return !1;var e=t.toLowerCase();return void 0!==nt[e]&&rt[nt[e]]?rt[nt[e]]:void 0}};var at={MERIT:{a:6378137,rf:298.257,ellipseName:"MERIT 1983"},SGS85:{a:6378136,rf:298.257,ellipseName:"Soviet Geodetic System 85"},GRS80:{a:6378137,rf:298.257222101,ellipseName:"GRS 1980(IUGG, 1980)"},IAU76:{a:6378140,rf:298.257,ellipseName:"IAU 1976"},airy:{a:6377563.396,b:6356256.91,ellipseName:"Airy 1830"},APL4:{a:6378137,rf:298.25,ellipseName:"Appl. Physics. 1965"},NWL9D:{a:6378145,rf:298.25,ellipseName:"Naval Weapons Lab., 1965"},mod_airy:{a:6377340.189,b:6356034.446,ellipseName:"Modified Airy"},andrae:{a:6377104.43,rf:300,ellipseName:"Andrae 1876 (Den., Iclnd.)"},aust_SA:{a:6378160,rf:298.25,ellipseName:"Australian Natl & S. Amer. 1969"},GRS67:{a:6378160,rf:298.247167427,ellipseName:"GRS 67(IUGG 1967)"},bessel:{a:6377397.155,rf:299.1528128,ellipseName:"Bessel 1841"},bess_nam:{a:6377483.865,rf:299.1528128,ellipseName:"Bessel 1841 (Namibia)"},clrk66:{a:6378206.4,b:6356583.8,ellipseName:"Clarke 1866"},clrk80:{a:6378249.145,rf:293.4663,ellipseName:"Clarke 1880 mod."},clrk58:{a:6378293.645208759,rf:294.2606763692654,ellipseName:"Clarke 1858"},CPM:{a:6375738.7,rf:334.29,ellipseName:"Comm. des Poids et Mesures 1799"},delmbr:{a:6376428,rf:311.5,ellipseName:"Delambre 1810 (Belgium)"},engelis:{a:6378136.05,rf:298.2566,ellipseName:"Engelis 1985"},evrst30:{a:6377276.345,rf:300.8017,ellipseName:"Everest 1830"},evrst48:{a:6377304.063,rf:300.8017,ellipseName:"Everest 1948"},evrst56:{a:6377301.243,rf:300.8017,ellipseName:"Everest 1956"},evrst69:{a:6377295.664,rf:300.8017,ellipseName:"Everest 1969"},evrstSS:{a:6377298.556,rf:300.8017,ellipseName:"Everest (Sabah & Sarawak)"},fschr60:{a:6378166,rf:298.3,ellipseName:"Fischer (Mercury Datum) 1960"},fschr60m:{a:6378155,rf:298.3,ellipseName:"Fischer 1960"},fschr68:{a:6378150,rf:298.3,ellipseName:"Fischer 1968"},helmert:{a:6378200,rf:298.3,ellipseName:"Helmert 1906"},hough:{a:6378270,rf:297,ellipseName:"Hough"},intl:{a:6378388,rf:297,ellipseName:"International 1909 (Hayford)"},kaula:{a:6378163,rf:298.24,ellipseName:"Kaula 1961"},lerch:{a:6378139,rf:298.257,ellipseName:"Lerch 1979"},mprts:{a:6397300,rf:191,ellipseName:"Maupertius 1738"},new_intl:{a:6378157.5,b:6356772.2,ellipseName:"New International 1967"},plessis:{a:6376523,rf:6355863,ellipseName:"Plessis 1817 (France)"},krass:{a:6378245,rf:298.3,ellipseName:"Krassovsky, 1942"},SEasia:{a:6378155,b:6356773.3205,ellipseName:"Southeast Asia"},walbeck:{a:6376896,b:6355834.8467,ellipseName:"Walbeck"},WGS60:{a:6378165,rf:298.3,ellipseName:"WGS 60"},WGS66:{a:6378145,rf:298.25,ellipseName:"WGS 66"},WGS7:{a:6378135,rf:298.26,ellipseName:"WGS 72"}},st=at.WGS84={a:6378137,rf:298.257223563,ellipseName:"WGS 84"};at.sphere={a:6370997,b:6370997,ellipseName:"Normal Sphere (r=6370997)"};var ut={wgs84:{towgs84:"0,0,0",ellipse:"WGS84",datumName:"WGS84"},ch1903:{towgs84:"674.374,15.056,405.346",ellipse:"bessel",datumName:"swiss"},ggrs87:{towgs84:"-199.87,74.79,246.62",ellipse:"GRS80",datumName:"Greek_Geodetic_Reference_System_1987"},nad83:{towgs84:"0,0,0",ellipse:"GRS80",datumName:"North_American_Datum_1983"},nad27:{nadgrids:"@conus,@alaska,@ntv2_0.gsb,@ntv1_can.dat",ellipse:"clrk66",datumName:"North_American_Datum_1927"},potsdam:{towgs84:"598.1,73.7,418.2,0.202,0.045,-2.455,6.7",ellipse:"bessel",datumName:"Potsdam Rauenberg 1950 DHDN"},carthage:{towgs84:"-263.0,6.0,431.0",ellipse:"clark80",datumName:"Carthage 1934 Tunisia"},hermannskogel:{towgs84:"577.326,90.129,463.919,5.137,1.474,5.297,2.4232",ellipse:"bessel",datumName:"Hermannskogel"},osni52:{towgs84:"482.530,-130.596,564.557,-1.042,-0.214,-0.631,8.15",ellipse:"airy",datumName:"Irish National"},ire65:{towgs84:"482.530,-130.596,564.557,-1.042,-0.214,-0.631,8.15",ellipse:"mod_airy",datumName:"Ireland 1965"},rassadiran:{towgs84:"-133.63,-157.5,-158.62",ellipse:"intl",datumName:"Rassadiran"},nzgd49:{towgs84:"59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5993",ellipse:"intl",datumName:"New Zealand Geodetic Datum 1949"},osgb36:{towgs84:"446.448,-125.157,542.060,0.1502,0.2470,0.8421,-20.4894",ellipse:"airy",datumName:"Airy 1830"},s_jtsk:{towgs84:"589,76,480",ellipse:"bessel",datumName:"S-JTSK (Ferro)"},beduaram:{towgs84:"-106,-87,188",ellipse:"clrk80",datumName:"Beduaram"},gunung_segara:{towgs84:"-403,684,41",ellipse:"bessel",datumName:"Gunung Segara Jakarta"},rnb72:{towgs84:"106.869,-52.2978,103.724,-0.33657,0.456955,-1.84218,1",ellipse:"intl",datumName:"Reseau National Belge 1972"}};const lt=function(t,e,n,s,u,l,h){var f={};return f.datum_type=void 0===t||"none"===t?a:4,e&&(f.datum_params=e.map(parseFloat),0===f.datum_params[0]&&0===f.datum_params[1]&&0===f.datum_params[2]||(f.datum_type=r),f.datum_params.length>3&&(0===f.datum_params[3]&&0===f.datum_params[4]&&0===f.datum_params[5]&&0===f.datum_params[6]||(f.datum_type=i,f.datum_params[3]*=c,f.datum_params[4]*=c,f.datum_params[5]*=c,f.datum_params[6]=f.datum_params[6]/1e6+1))),h&&(f.datum_type=o,f.grids=h),f.a=n,f.b=s,f.es=u,f.ep2=l,f};var ct=n(5108),ht={};function ft(t){if(0===t.length)return null;var e="@"===t[0];return e&&(t=t.slice(1)),"null"===t?{name:"null",mandatory:!e,grid:null,isNull:!0}:{name:t,mandatory:!e,grid:ht[t]||null,isNull:!1}}function pt(t){return t/3600*Math.PI/180}function dt(t,e,n){return String.fromCharCode.apply(null,new Uint8Array(t.buffer.slice(e,n)))}function yt(t){return t.map((function(t){return [pt(t.longitudeShift),pt(t.latitudeShift)]}))}function mt(t,e,n){return {name:dt(t,e+8,e+16).trim(),parent:dt(t,e+24,e+24+8).trim(),lowerLatitude:t.getFloat64(e+72,n),upperLatitude:t.getFloat64(e+88,n),lowerLongitude:t.getFloat64(e+104,n),upperLongitude:t.getFloat64(e+120,n),latitudeInterval:t.getFloat64(e+136,n),longitudeInterval:t.getFloat64(e+152,n),gridNodeCount:t.getInt32(e+168,n)}}function gt(t,e,n,r){for(var i=e+176,o=[],a=0;a-1.001*h)u=-h;else if(u>h&&u<1.001*h)u=h;else {if(u<-h)return {x:-1/0,y:-1/0,z:t.z};if(u>h)return {x:1/0,y:1/0,z:t.z}}return s>Math.PI&&(s-=2*Math.PI),i=Math.sin(u),a=Math.cos(u),o=i*i,{x:((r=n/Math.sqrt(1-e*o))+l)*a*Math.cos(s),y:(r+l)*a*Math.sin(s),z:(r*(1-e)+l)*i}}function Tt(t,e,n,r){var i,o,a,s,u,l,c,h,f,p,d,y,m,g,_,b=t.x,v=t.y,T=t.z?t.z:0;if(i=Math.sqrt(b*b+v*v),o=Math.sqrt(b*b+v*v+T*T),i/n<1e-12){if(g=0,o/n<1e-12)return _=-r,{x:t.x,y:t.y,z:t.z}}else g=Math.atan2(v,b);a=T/o,h=(s=i/o)*(1-e)*(u=1/Math.sqrt(1-e*(2-e)*s*s)),f=a*u,m=0;do{m++,l=e*(c=n/Math.sqrt(1-e*f*f))/(c+(_=i*h+T*f-c*(1-e*f*f))),y=(d=a*(u=1/Math.sqrt(1-l*(2-l)*s*s)))*h-(p=s*(1-l)*u)*f,h=p,f=d;}while(y*y>1e-24&&m<30);return {x:g,y:Math.atan(d/Math.abs(p)),z:_}}var Et=n(5108);function wt(t){return t===r||t===i}function xt(t,e,n){if(null===t.grids||0===t.grids.length)return Et.log("Grid shift grids not found"),-1;for(var r={x:-n.x,y:n.y},i={x:Number.NaN,y:Number.NaN},o=[],a=0;ar.y||c>r.x||p1e-12&&Math.abs(a.y)>1e-12);if(u<0)return Et.log("Inverse grid shift iterator failed to converge."),r;r.x=Y(o.x+n.ll[0]),r.y=o.y+n.ll[1];}else isNaN(o.x)||(r.x=t.x+o.x,r.y=t.y+o.y);return r}function Mt(t,e){var n,r={x:t.x/e.del[0],y:t.y/e.del[1]},i=Math.floor(r.x),o=Math.floor(r.y),a=r.x-1*i,s=r.y-1*o,u={x:Number.NaN,y:Number.NaN};if(i<0||i>=e.lim[0])return u;if(o<0||o>=e.lim[1])return u;n=o*e.lim[0]+i;var l=e.cvs[n][0],c=e.cvs[n][1];n++;var h=e.cvs[n][0],f=e.cvs[n][1];n+=e.lim[0];var p=e.cvs[n][0],d=e.cvs[n][1];n--;var y=e.cvs[n][0],m=e.cvs[n][1],g=a*s,_=a*(1-s),b=(1-a)*(1-s),v=(1-a)*s;return u.x=b*l+_*h+v*y+g*p,u.y=b*c+_*f+v*m+g*d,u}function St(t,e,n){var r,i,o,a=n.x,s=n.y,u=n.z||0,l={};for(o=0;o<3;o++)if(!e||2!==o||void 0!==n.z)switch(0===o?(r=a,i=-1!=="ew".indexOf(t.axis[o])?"x":"y"):1===o?(r=s,i=-1!=="ns".indexOf(t.axis[o])?"y":"x"):(r=u,i="z"),t.axis[o]){case "e":case "n":l[i]=r;break;case "w":case "s":l[i]=-r;break;case "u":void 0!==n[i]&&(l.z=r);break;case "d":void 0!==n[i]&&(l.z=-r);break;default:return null}return l}function Nt(t){var e={x:t[0],y:t[1]};return t.length>2&&(e.z=t[2]),t.length>3&&(e.m=t[3]),e}function Ot(t){if("function"==typeof Number.isFinite){if(Number.isFinite(t))return;throw new TypeError("coordinates must be finite numbers")}if("number"!=typeof t||t!=t||!isFinite(t))throw new TypeError("coordinates must be finite numbers")}function At(t,e,n,c){var h;if(Array.isArray(n)&&(n=Nt(n)),function(t){Ot(t.x),Ot(t.y);}(n),t.datum&&e.datum&&function(t,e){return (t.datum.datum_type===r||t.datum.datum_type===i)&&"WGS84"!==e.datumCode||(e.datum.datum_type===r||e.datum.datum_type===i)&&"WGS84"!==t.datumCode}(t,e)&&(n=At(t,h=new bt("WGS84"),n,c),t=h),c&&"enu"!==t.axis&&(n=St(t,!1,n)),"longlat"===t.projName)n={x:n.x*m,y:n.y*m,z:n.z||0};else if(t.to_meter&&(n={x:n.x*t.to_meter,y:n.y*t.to_meter,z:n.z||0}),!(n=t.inverse(n)))return;if(t.from_greenwich&&(n.x+=t.from_greenwich),n=function(t,e,n){if(function(t,e){return t.datum_type===e.datum_type&&!(t.a!==e.a||Math.abs(t.es-e.es)>5e-11)&&(t.datum_type===r?t.datum_params[0]===e.datum_params[0]&&t.datum_params[1]===e.datum_params[1]&&t.datum_params[2]===e.datum_params[2]:t.datum_type!==i||t.datum_params[0]===e.datum_params[0]&&t.datum_params[1]===e.datum_params[1]&&t.datum_params[2]===e.datum_params[2]&&t.datum_params[3]===e.datum_params[3]&&t.datum_params[4]===e.datum_params[4]&&t.datum_params[5]===e.datum_params[5]&&t.datum_params[6]===e.datum_params[6])}(t,e))return n;if(t.datum_type===a||e.datum_type===a)return n;var c=t.a,h=t.es;if(t.datum_type===o){if(0!==xt(t,!1,n))return;c=s,h=l;}var f=e.a,p=e.b,d=e.es;return e.datum_type===o&&(f=s,p=u,d=l),h!==d||c!==f||wt(t.datum_type)||wt(e.datum_type)?(n=vt(n,h,c),wt(t.datum_type)&&(n=function(t,e,n){if(e===r)return {x:t.x+n[0],y:t.y+n[1],z:t.z+n[2]};if(e===i){var o=n[0],a=n[1],s=n[2],u=n[3],l=n[4],c=n[5],h=n[6];return {x:h*(t.x-c*t.y+l*t.z)+o,y:h*(c*t.x+t.y-u*t.z)+a,z:h*(-l*t.x+u*t.y+t.z)+s}}}(n,t.datum_type,t.datum_params)),wt(e.datum_type)&&(n=function(t,e,n){if(e===r)return {x:t.x-n[0],y:t.y-n[1],z:t.z-n[2]};if(e===i){var o=n[0],a=n[1],s=n[2],u=n[3],l=n[4],c=n[5],h=n[6],f=(t.x-o)/h,p=(t.y-a)/h,d=(t.z-s)/h;return {x:f+c*p-l*d,y:-c*f+p+u*d,z:l*f-u*p+d}}}(n,e.datum_type,e.datum_params)),n=Tt(n,d,f,p),e.datum_type!==o||0===xt(e,!0,n)?n:void 0):n}(t.datum,e.datum,n))return e.from_greenwich&&(n={x:n.x-e.from_greenwich,y:n.y,z:n.z||0}),"longlat"===e.projName?n={x:n.x*g,y:n.y*g,z:n.z||0}:(n=e.forward(n),e.to_meter&&(n={x:n.x/e.to_meter,y:n.y/e.to_meter,z:n.z||0})),c&&"enu"!==e.axis?St(e,!0,n):n}var It=bt("WGS84");function Pt(t,e,n,r){var i,o,a;return Array.isArray(n)?(i=At(t,e,n,r)||{x:NaN,y:NaN},n.length>2?void 0!==t.name&&"geocent"===t.name||void 0!==e.name&&"geocent"===e.name?"number"==typeof i.z?[i.x,i.y,i.z].concat(n.splice(3)):[i.x,i.y,n[2]].concat(n.splice(3)):[i.x,i.y].concat(n.splice(2)):[i.x,i.y]):(o=At(t,e,n,r),2===(a=Object.keys(n)).length||a.forEach((function(r){if(void 0!==t.name&&"geocent"===t.name||void 0!==e.name&&"geocent"===e.name){if("x"===r||"y"===r||"z"===r)return}else if("x"===r||"y"===r)return;o[r]=n[r];})),o)}function Rt(t){return t instanceof bt?t:t.oProj?t.oProj:bt(t)}const Lt=function(t,e,n){t=Rt(t);var r,i=!1;return void 0===e?(e=t,t=It,i=!0):(void 0!==e.x||Array.isArray(e))&&(n=e,e=t,t=It,i=!0),e=Rt(e),n?Pt(t,e,n):(r={forward:function(n,r){return Pt(t,e,n,r)},inverse:function(n,r){return Pt(e,t,n,r)}},i&&(r.oProj=e),r)};var Dt=6,kt="AJSAJS",Ft="AFAFAF",Ut=65,Bt=73,jt=79,Gt=86,Wt=90;const qt={forward:Ht,inverse:function(t){var e=Yt(Qt(t.toUpperCase()));return e.lat&&e.lon?[e.lon,e.lat,e.lon,e.lat]:[e.left,e.bottom,e.right,e.top]},toPoint:zt};function Ht(t,e){return e=e||5,function(t,e){var n,r,i,o,a,s,u,l,c,h,f,p="00000"+t.easting,d="00000"+t.northing;return t.zoneNumber+t.zoneLetter+(c=t.easting,h=t.northing,f=Zt(t.zoneNumber),n=Math.floor(c/1e5),r=Math.floor(h/1e5)%20,i=f-1,o=kt.charCodeAt(i),a=Ft.charCodeAt(i),l=!1,(s=o+n-1)>Wt&&(s=s-Wt+Ut-1,l=!0),(s===Bt||oBt||(s>Bt||ojt||(s>jt||oWt&&(s=s-Wt+Ut-1),(u=a+r)>Gt?(u=u-Gt+Ut-1,l=!0):l=!1,(u===Bt||aBt||(u>Bt||ajt||(u>jt||aGt&&(u=u-Gt+Ut-1),String.fromCharCode(s)+String.fromCharCode(u))+p.substr(p.length-5,e)+d.substr(d.length-5,e)}(function(t){var e,n,r,i,o,a,s,u=t.lat,l=t.lon,c=6378137,h=.00669438,f=.9996,p=Vt(u),d=Vt(l);s=Math.floor((l+180)/6)+1,180===l&&(s=60),u>=56&&u<64&&l>=3&&l<12&&(s=32),u>=72&&u<84&&(l>=0&&l<9?s=31:l>=9&&l<21?s=33:l>=21&&l<33?s=35:l>=33&&l<42&&(s=37)),a=Vt(6*(s-1)-180+3),e=.006739496752268451,n=c/Math.sqrt(1-h*Math.sin(p)*Math.sin(p)),r=Math.tan(p)*Math.tan(p),i=e*Math.cos(p)*Math.cos(p);var y,m,g=f*n*((o=Math.cos(p)*(d-a))+(1-r+i)*o*o*o/6+(5-18*r+r*r+72*i-58*e)*o*o*o*o*o/120)+5e5,_=f*(c*(.9983242984503243*p-.002514607064228144*Math.sin(2*p)+2639046602129982e-21*Math.sin(4*p)-3.418046101696858e-9*Math.sin(6*p))+n*Math.tan(p)*(o*o/2+(5-r+9*i+4*i*i)*o*o*o*o/24+(61-58*r+r*r+600*i-2.2240339282485886)*o*o*o*o*o*o/720));return u<0&&(_+=1e7),{northing:Math.round(_),easting:Math.round(g),zoneNumber:s,zoneLetter:(y=u,m="Z",84>=y&&y>=72?m="X":72>y&&y>=64?m="W":64>y&&y>=56?m="V":56>y&&y>=48?m="U":48>y&&y>=40?m="T":40>y&&y>=32?m="S":32>y&&y>=24?m="R":24>y&&y>=16?m="Q":16>y&&y>=8?m="P":8>y&&y>=0?m="N":0>y&&y>=-8?m="M":-8>y&&y>=-16?m="L":-16>y&&y>=-24?m="K":-24>y&&y>=-32?m="J":-32>y&&y>=-40?m="H":-40>y&&y>=-48?m="G":-48>y&&y>=-56?m="F":-56>y&&y>=-64?m="E":-64>y&&y>=-72?m="D":-72>y&&y>=-80&&(m="C"),m)}}({lat:t[1],lon:t[0]}),e)}function zt(t){var e=Yt(Qt(t.toUpperCase()));return e.lat&&e.lon?[e.lon,e.lat]:[(e.left+e.right)/2,(e.top+e.bottom)/2]}function Vt(t){return t*(Math.PI/180)}function Xt(t){return t/Math.PI*180}function Yt(t){var e=t.northing,n=t.easting,r=t.zoneLetter,i=t.zoneNumber;if(i<0||i>60)return null;var o,a,s,u,l,c,h,f,p,d=.9996,y=6378137,m=.00669438,g=(1-Math.sqrt(.99330562))/(1+Math.sqrt(.99330562)),_=n-5e5,b=e;r<"N"&&(b-=1e7),h=6*(i-1)-180+3,o=.006739496752268451,p=(f=b/d/6367449.145945056)+(3*g/2-27*g*g*g/32)*Math.sin(2*f)+(21*g*g/16-55*g*g*g*g/32)*Math.sin(4*f)+151*g*g*g/96*Math.sin(6*f),a=y/Math.sqrt(1-m*Math.sin(p)*Math.sin(p)),s=Math.tan(p)*Math.tan(p),u=o*Math.cos(p)*Math.cos(p),l=.99330562*y/Math.pow(1-m*Math.sin(p)*Math.sin(p),1.5),c=_/(a*d);var v=p-a*Math.tan(p)/l*(c*c/2-(5+3*s+10*u-4*u*u-9*o)*c*c*c*c/24+(61+90*s+298*u+45*s*s-1.6983531815716497-3*u*u)*c*c*c*c*c*c/720);v=Xt(v);var T,E=(c-(1+2*s+u)*c*c*c/6+(5-2*u+28*s-3*u*u+8*o+24*s*s)*c*c*c*c*c/120)/Math.cos(p);if(E=h+Xt(E),t.accuracy){var w=Yt({northing:t.northing+t.accuracy,easting:t.easting+t.accuracy,zoneLetter:t.zoneLetter,zoneNumber:t.zoneNumber});T={top:w.lat,right:w.lon,bottom:v,left:E};}else T={lat:v,lon:E};return T}function Zt(t){var e=t%Dt;return 0===e&&(e=Dt),e}function Qt(t){if(t&&0===t.length)throw "MGRSPoint coverting from nothing";for(var e,n=t.length,r=null,i="",o=0;!/[A-Z]/.test(e=t.charAt(o));){if(o>=2)throw "MGRSPoint bad conversion from: "+t;i+=e,o++;}var a=parseInt(i,10);if(0===o||o+3>n)throw "MGRSPoint bad conversion from: "+t;var s=t.charAt(o++);if(s<="A"||"B"===s||"Y"===s||s>="Z"||"I"===s||"O"===s)throw "MGRSPoint zone letter "+s+" not handled: "+t;r=t.substring(o,o+=2);for(var u=Zt(a),l=function(t,e){for(var n=kt.charCodeAt(e-1),r=1e5,i=!1;n!==t.charCodeAt(0);){if(++n===Bt&&n++,n===jt&&n++,n>Wt){if(i)throw "Bad character: "+t;n=Ut,i=!0;}r+=1e5;}return r}(r.charAt(0),u),c=function(t,e){if(t>"V")throw "MGRSPoint given invalid Northing "+t;for(var n=Ft.charCodeAt(e-1),r=0,i=!1;n!==t.charCodeAt(0);){if(++n===Bt&&n++,n===jt&&n++,n>Gt){if(i)throw "Bad character: "+t;n=Ut,i=!0;}r+=1e5;}return r}(r.charAt(1),u);c0&&(f=1e5/Math.pow(10,y),p=t.substring(o,o+y),m=parseFloat(p)*f,d=t.substring(o+y),g=parseFloat(d)*f),{easting:m+l,northing:g+c,zoneLetter:s,zoneNumber:a,accuracy:f}}function Kt(t){var e;switch(t){case "C":e=11e5;break;case "D":e=2e6;break;case "E":e=28e5;break;case "F":e=37e5;break;case "G":e=46e5;break;case "H":e=55e5;break;case "J":e=64e5;break;case "K":e=73e5;break;case "L":e=82e5;break;case "M":e=91e5;break;case "N":e=0;break;case "P":e=8e5;break;case "Q":e=17e5;break;case "R":e=26e5;break;case "S":e=35e5;break;case "T":e=44e5;break;case "U":e=53e5;break;case "V":e=62e5;break;case "W":e=7e6;break;case "X":e=79e5;break;default:e=-1;}if(e>=0)return e;throw "Invalid zone letter: "+t}var Jt=n(5108);function $t(t,e,n){if(!(this instanceof $t))return new $t(t,e,n);if(Array.isArray(t))this.x=t[0],this.y=t[1],this.z=t[2]||0;else if("object"==typeof t)this.x=t.x,this.y=t.y,this.z=t.z||0;else if("string"==typeof t&&void 0===e){var r=t.split(",");this.x=parseFloat(r[0],10),this.y=parseFloat(r[1],10),this.z=parseFloat(r[2],10)||0;}else this.x=t,this.y=e,this.z=n||0;Jt.warn("proj4.Point will be removed in version 3, use proj4.toPoint");}$t.fromMGRS=function(t){return new $t(zt(t))},$t.prototype.toMGRS=function(t){return Ht([this.x,this.y],t)};const te=$t;var ee=1,ne=.25,re=.046875,ie=.01953125,oe=.01068115234375,ae=.75,se=.46875,ue=.013020833333333334,le=.007120768229166667,ce=.3645833333333333,he=.005696614583333333,fe=.3076171875;function pe(t){var e=[];e[0]=ee-t*(ne+t*(re+t*(ie+t*oe))),e[1]=t*(ae-t*(re+t*(ie+t*oe)));var n=t*t;return e[2]=n*(se-t*(ue+t*le)),n*=t,e[3]=n*(ce-t*he),e[4]=n*t*fe,e}function de(t,e,n,r){return n*=e,e*=e,r[0]*t-n*(r[1]+e*(r[2]+e*(r[3]+e*r[4])))}var ye=20;function me(t,e,n){for(var r=1/(1-e),i=t,o=ye;o;--o){var a=Math.sin(i),s=1-e*a*a;if(i-=s=(de(i,a,Math.cos(i),n)-t)*(s*Math.sqrt(s))*r,Math.abs(s)y?Math.tan(o):0,d=Math.pow(p,2),m=Math.pow(d,2);e=1-this.es*Math.pow(s,2),l/=Math.sqrt(e);var g=de(o,s,u,this.en);n=this.a*(this.k0*l*(1+c/6*(1-d+h+c/20*(5-18*d+m+14*h-58*d*h+c/42*(61+179*m-m*d-479*d)))))+this.x0,r=this.a*(this.k0*(g-this.ml0+s*a*l/2*(1+c/12*(5-d+9*h+4*f+c/30*(61+m-58*d+270*h-330*d*h+c/56*(1385+543*m-m*d-3111*d))))))+this.y0;}else {var _=u*Math.sin(a);if(Math.abs(Math.abs(_)-1)=1){if(_-1>y)return 93;r=0;}else r=Math.acos(r);o<0&&(r=-r),r=this.a*this.k0*(r-this.lat0)+this.y0;}return t.x=n,t.y=r,t},inverse:function(t){var e,n,r,i,o=(t.x-this.x0)*(1/this.a),a=(t.y-this.y0)*(1/this.a);if(this.es)if(n=me(e=this.ml0+a/this.k0,this.es,this.en),Math.abs(n)y?Math.tan(n):0,c=this.ep2*Math.pow(u,2),f=Math.pow(c,2),p=Math.pow(l,2),d=Math.pow(p,2);e=1-this.es*Math.pow(s,2);var m=o*Math.sqrt(e)/this.k0,g=Math.pow(m,2);r=n-(e*=l)*g/(1-this.es)*.5*(1-g/12*(5+3*p-9*c*p+c-4*f-g/30*(61+90*p-252*c*p+45*d+46*c-g/56*(1385+3633*p+4095*d+1574*d*p)))),i=Y(this.long0+m*(1-g/6*(1+2*p+c-g/20*(5+28*p+24*d+8*c*p+6*c-g/42*(61+662*p+1320*d+720*d*p))))/u);}else r=h*X(a),i=0;else {var _=Math.exp(o/this.k0),b=.5*(_-1/_),v=this.lat0+a/this.k0,T=Math.cos(v);e=Math.sqrt((1-Math.pow(T,2))/(1+Math.pow(b,2))),r=Math.asin(e),a<0&&(r=-r),i=0===b&&0===T?0:Y(Math.atan2(b,T)+this.long0);}return t.x=i,t.y=r,t},names:["Fast_Transverse_Mercator","Fast Transverse Mercator"]};function _e(t){var e=Math.exp(t);return (e-1/e)/2}function be(t,e){t=Math.abs(t),e=Math.abs(e);var n=Math.max(t,e),r=Math.min(t,e)/(n||1);return n*Math.sqrt(1+Math.pow(r,2))}function ve(t,e){for(var n,r=2*Math.cos(2*e),i=t.length-1,o=t[i],a=0;--i>=0;)n=r*o-a+t[i],a=o,o=n;return e+n*Math.sin(2*e)}function Te(t,e,n){for(var r,i,o=Math.sin(e),a=Math.cos(e),s=_e(n),u=function(t){var e=Math.exp(t);return (e+1/e)/2}(n),l=2*a*u,c=-2*o*s,h=t.length-1,f=t[h],p=0,d=0,y=0;--h>=0;)r=d,i=p,f=l*(d=f)-r-c*(p=y)+t[h],y=c*d-i+l*p;return [(l=o*u)*f-(c=a*s)*y,l*y+c*f]}const Ee={init:function(){if(!this.approx&&(isNaN(this.es)||this.es<=0))throw new Error('Incorrect elliptical usage. Try using the +approx option in the proj string, or PROJECTION["Fast_Transverse_Mercator"] in the WKT.');this.approx&&(ge.init.apply(this),this.forward=ge.forward,this.inverse=ge.inverse),this.x0=void 0!==this.x0?this.x0:0,this.y0=void 0!==this.y0?this.y0:0,this.long0=void 0!==this.long0?this.long0:0,this.lat0=void 0!==this.lat0?this.lat0:0,this.cgb=[],this.cbg=[],this.utg=[],this.gtu=[];var t=this.es/(1+Math.sqrt(1-this.es)),e=t/(2-t),n=e;this.cgb[0]=e*(2+e*(-2/3+e*(e*(116/45+e*(26/45+e*(-2854/675)))-2))),this.cbg[0]=e*(e*(2/3+e*(4/3+e*(-82/45+e*(32/45+e*(4642/4725)))))-2),n*=e,this.cgb[1]=n*(7/3+e*(e*(-227/45+e*(2704/315+e*(2323/945)))-1.6)),this.cbg[1]=n*(5/3+e*(-16/15+e*(-13/9+e*(904/315+e*(-1522/945))))),n*=e,this.cgb[2]=n*(56/15+e*(-136/35+e*(-1262/105+e*(73814/2835)))),this.cbg[2]=n*(-26/15+e*(34/21+e*(1.6+e*(-12686/2835)))),n*=e,this.cgb[3]=n*(4279/630+e*(-332/35+e*(-399572/14175))),this.cbg[3]=n*(1237/630+e*(e*(-24832/14175)-2.4)),n*=e,this.cgb[4]=n*(4174/315+e*(-144838/6237)),this.cbg[4]=n*(-734/315+e*(109598/31185)),n*=e,this.cgb[5]=n*(601676/22275),this.cbg[5]=n*(444337/155925),n=Math.pow(e,2),this.Qn=this.k0/(1+e)*(1+n*(1/4+n*(1/64+n/256))),this.utg[0]=e*(e*(2/3+e*(-37/96+e*(1/360+e*(81/512+e*(-96199/604800)))))-.5),this.gtu[0]=e*(.5+e*(-2/3+e*(5/16+e*(41/180+e*(-127/288+e*(7891/37800)))))),this.utg[1]=n*(-1/48+e*(-1/15+e*(437/1440+e*(-46/105+e*(1118711/3870720))))),this.gtu[1]=n*(13/48+e*(e*(557/1440+e*(281/630+e*(-1983433/1935360)))-.6)),n*=e,this.utg[2]=n*(-17/480+e*(37/840+e*(209/4480+e*(-5569/90720)))),this.gtu[2]=n*(61/240+e*(-103/140+e*(15061/26880+e*(167603/181440)))),n*=e,this.utg[3]=n*(-4397/161280+e*(11/504+e*(830251/7257600))),this.gtu[3]=n*(49561/161280+e*(-179/168+e*(6601661/7257600))),n*=e,this.utg[4]=n*(-4583/161280+e*(108847/3991680)),this.gtu[4]=n*(34729/80640+e*(-3418889/1995840)),n*=e,this.utg[5]=n*(-20648693/638668800),this.gtu[5]=.6650675310896665*n;var r=ve(this.cbg,this.lat0);this.Zb=-this.Qn*(r+function(t,e){for(var n,r=2*Math.cos(e),i=t.length-1,o=t[i],a=0;--i>=0;)n=r*o-a+t[i],a=o,o=n;return Math.sin(e)*n}(this.gtu,2*r));},forward:function(t){var e=Y(t.x-this.long0),n=t.y;n=ve(this.cbg,n);var r=Math.sin(n),i=Math.cos(n),o=Math.sin(e),a=Math.cos(e);n=Math.atan2(r,a*i),e=Math.atan2(o*i,be(r,i*a)),e=function(t){var e=Math.abs(t);return e=function(t){var e=1+t,n=e-1;return 0===n?t:t*Math.log(e)/n}(e*(1+e/(be(1,e)+1))),t<0?-e:e}(Math.tan(e));var s,u,l=Te(this.gtu,2*n,2*e);return n+=l[0],e+=l[1],Math.abs(e)<=2.623395162778?(s=this.a*(this.Qn*e)+this.x0,u=this.a*(this.Qn*n+this.Zb)+this.y0):(s=1/0,u=1/0),t.x=s,t.y=u,t},inverse:function(t){var e,n,r=(t.x-this.x0)*(1/this.a),i=(t.y-this.y0)*(1/this.a);if(i=(i-this.Zb)/this.Qn,r/=this.Qn,Math.abs(r)<=2.623395162778){var o=Te(this.utg,2*i,2*r);i+=o[0],r+=o[1],r=Math.atan(_e(r));var a=Math.sin(i),s=Math.cos(i),u=Math.sin(r),l=Math.cos(r);i=Math.atan2(a*l,be(u,l*s)),e=Y((r=Math.atan2(u,l*s))+this.long0),n=ve(this.cgb,i);}else e=1/0,n=1/0;return t.x=e,t.y=n,t},names:["Extended_Transverse_Mercator","Extended Transverse Mercator","etmerc","Transverse_Mercator","Transverse Mercator","tmerc"]},we={init:function(){var t=function(t,e){if(void 0===t){if((t=Math.floor(30*(Y(e)+Math.PI)/Math.PI)+1)<0)return 0;if(t>60)return 60}return t}(this.zone,this.long0);if(void 0===t)throw new Error("unknown utm zone");this.lat0=0,this.long0=(6*Math.abs(t)-183)*m,this.x0=5e5,this.y0=this.utmSouth?1e7:0,this.k0=.9996,Ee.init.apply(this),this.forward=Ee.forward,this.inverse=Ee.inverse;},names:["Universal Transverse Mercator System","utm"],dependsOn:"etmerc"};function xe(t,e){return Math.pow((1-t)/(1+t),e)}const Ce={init:function(){var t=Math.sin(this.lat0),e=Math.cos(this.lat0);e*=e,this.rc=Math.sqrt(1-this.es)/(1-this.es*t*t),this.C=Math.sqrt(1+this.es*e*e/(1-this.es)),this.phic0=Math.asin(t/this.C),this.ratexp=.5*this.C*this.e,this.K=Math.tan(.5*this.phic0+_)/(Math.pow(Math.tan(.5*this.lat0+_),this.C)*xe(this.e*t,this.ratexp));},forward:function(t){var e=t.x,n=t.y;return t.y=2*Math.atan(this.K*Math.pow(Math.tan(.5*n+_),this.C)*xe(this.e*Math.sin(n),this.ratexp))-h,t.x=this.C*e,t},inverse:function(t){for(var e=t.x/this.C,n=t.y,r=Math.pow(Math.tan(.5*n+_)/this.K,1/this.C),i=20;i>0&&(n=2*Math.atan(r*xe(this.e*Math.sin(t.y),-.5*this.e))-h,!(Math.abs(n-t.y)<1e-14));--i)t.y=n;return i?(t.x=e,t.y=n,t):null},names:["gauss"]},Me={init:function(){Ce.init.apply(this),this.rc&&(this.sinc0=Math.sin(this.phic0),this.cosc0=Math.cos(this.phic0),this.R2=2*this.rc,this.title||(this.title="Oblique Stereographic Alternative"));},forward:function(t){var e,n,r,i;return t.x=Y(t.x-this.long0),Ce.forward.apply(this,[t]),e=Math.sin(t.y),n=Math.cos(t.y),r=Math.cos(t.x),i=this.k0*this.R2/(1+this.sinc0*e+this.cosc0*n*r),t.x=i*n*Math.sin(t.x),t.y=i*(this.cosc0*e-this.sinc0*n*r),t.x=this.a*t.x+this.x0,t.y=this.a*t.y+this.y0,t},inverse:function(t){var e,n,r,i,o;if(t.x=(t.x-this.x0)/this.a,t.y=(t.y-this.y0)/this.a,t.x/=this.k0,t.y/=this.k0,o=Math.sqrt(t.x*t.x+t.y*t.y)){var a=2*Math.atan2(o,this.R2);e=Math.sin(a),n=Math.cos(a),i=Math.asin(n*this.sinc0+t.y*e*this.cosc0/o),r=Math.atan2(t.x*e,o*this.cosc0*n-t.y*this.sinc0*e);}else i=this.phic0,r=0;return t.x=r,t.y=i,Ce.inverse.apply(this,[t]),t.x=Y(t.x+this.long0),t},names:["Stereographic_North_Pole","Oblique_Stereographic","Polar_Stereographic","sterea","Oblique Stereographic Alternative","Double_Stereographic"]},Se={init:function(){this.coslat0=Math.cos(this.lat0),this.sinlat0=Math.sin(this.lat0),this.sphere?1===this.k0&&!isNaN(this.lat_ts)&&Math.abs(this.coslat0)<=y&&(this.k0=.5*(1+X(this.lat0)*Math.sin(this.lat_ts))):(Math.abs(this.coslat0)<=y&&(this.lat0>0?this.con=1:this.con=-1),this.cons=Math.sqrt(Math.pow(1+this.e,1+this.e)*Math.pow(1-this.e,1-this.e)),1===this.k0&&!isNaN(this.lat_ts)&&Math.abs(this.coslat0)<=y&&(this.k0=.5*this.cons*V(this.e,Math.sin(this.lat_ts),Math.cos(this.lat_ts))/Z(this.e,this.con*this.lat_ts,this.con*Math.sin(this.lat_ts))),this.ms1=V(this.e,this.sinlat0,this.coslat0),this.X0=2*Math.atan(this.ssfn_(this.lat0,this.sinlat0,this.e))-h,this.cosX0=Math.cos(this.X0),this.sinX0=Math.sin(this.X0));},forward:function(t){var e,n,r,i,o,a,s=t.x,u=t.y,l=Math.sin(u),c=Math.cos(u),f=Y(s-this.long0);return Math.abs(Math.abs(s-this.long0)-Math.PI)<=y&&Math.abs(u+this.lat0)<=y?(t.x=NaN,t.y=NaN,t):this.sphere?(e=2*this.k0/(1+this.sinlat0*l+this.coslat0*c*Math.cos(f)),t.x=this.a*e*c*Math.sin(f)+this.x0,t.y=this.a*e*(this.coslat0*l-this.sinlat0*c*Math.cos(f))+this.y0,t):(n=2*Math.atan(this.ssfn_(u,l,this.e))-h,i=Math.cos(n),r=Math.sin(n),Math.abs(this.coslat0)<=y?(o=Z(this.e,u*this.con,this.con*l),a=2*this.a*this.k0*o/this.cons,t.x=this.x0+a*Math.sin(s-this.long0),t.y=this.y0-this.con*a*Math.cos(s-this.long0),t):(Math.abs(this.sinlat0)0?Y(this.long0+Math.atan2(t.x,-1*t.y)):Y(this.long0+Math.atan2(t.x,t.y)):Y(this.long0+Math.atan2(t.x*Math.sin(s),a*this.coslat0*Math.cos(s)-t.y*this.sinlat0*Math.sin(s))),t.x=e,t.y=n,t)}if(Math.abs(this.coslat0)<=y){if(a<=y)return n=this.lat0,e=this.long0,t.x=e,t.y=n,t;t.x*=this.con,t.y*=this.con,r=a*this.cons/(2*this.a*this.k0),n=this.con*Q(this.e,r),e=this.con*Y(this.con*this.long0+Math.atan2(t.x,-1*t.y));}else i=2*Math.atan(a*this.cosX0/(2*this.a*this.k0*this.ms1)),e=this.long0,a<=y?o=this.X0:(o=Math.asin(Math.cos(i)*this.sinX0+t.y*Math.sin(i)*this.cosX0/a),e=Y(this.long0+Math.atan2(t.x*Math.sin(i),a*this.cosX0*Math.cos(i)-t.y*this.sinX0*Math.sin(i)))),n=-1*Q(this.e,Math.tan(.5*(h+o)));return t.x=e,t.y=n,t},names:["stere","Stereographic_South_Pole","Polar Stereographic (variant B)"],ssfn_:function(t,e,n){return e*=n,Math.tan(.5*(h+t))*Math.pow((1-e)/(1+e),.5*n)}},Ne={init:function(){var t=this.lat0;this.lambda0=this.long0;var e=Math.sin(t),n=this.a,r=1/this.rf,i=2*r-Math.pow(r,2),o=this.e=Math.sqrt(i);this.R=this.k0*n*Math.sqrt(1-i)/(1-i*Math.pow(e,2)),this.alpha=Math.sqrt(1+i/(1-i)*Math.pow(Math.cos(t),4)),this.b0=Math.asin(e/this.alpha);var a=Math.log(Math.tan(Math.PI/4+this.b0/2)),s=Math.log(Math.tan(Math.PI/4+t/2)),u=Math.log((1+o*e)/(1-o*e));this.K=a-this.alpha*s+this.alpha*o/2*u;},forward:function(t){var e=Math.log(Math.tan(Math.PI/4-t.y/2)),n=this.e/2*Math.log((1+this.e*Math.sin(t.y))/(1-this.e*Math.sin(t.y))),r=-this.alpha*(e+n)+this.K,i=2*(Math.atan(Math.exp(r))-Math.PI/4),o=this.alpha*(t.x-this.lambda0),a=Math.atan(Math.sin(o)/(Math.sin(this.b0)*Math.tan(i)+Math.cos(this.b0)*Math.cos(o))),s=Math.asin(Math.cos(this.b0)*Math.sin(i)-Math.sin(this.b0)*Math.cos(i)*Math.cos(o));return t.y=this.R/2*Math.log((1+Math.sin(s))/(1-Math.sin(s)))+this.y0,t.x=this.R*a+this.x0,t},inverse:function(t){for(var e=t.x-this.x0,n=t.y-this.y0,r=e/this.R,i=2*(Math.atan(Math.exp(n/this.R))-Math.PI/4),o=Math.asin(Math.cos(this.b0)*Math.sin(i)+Math.sin(this.b0)*Math.cos(i)*Math.cos(r)),a=Math.atan(Math.sin(r)/(Math.cos(this.b0)*Math.cos(r)-Math.sin(this.b0)*Math.tan(i))),s=this.lambda0+a/this.alpha,u=0,l=o,c=-1e3,h=0;Math.abs(l-c)>1e-7;){if(++h>20)return;u=1/this.alpha*(Math.log(Math.tan(Math.PI/4+o/2))-this.K)+this.e*Math.log(Math.tan(Math.PI/4+Math.asin(this.e*Math.sin(l))/2)),c=l,l=2*Math.atan(Math.exp(u))-Math.PI/2;}return t.x=s,t.y=l,t},names:["somerc"]};var Oe=1e-7;const Ae={init:function(){var t,e,n,r,i,o,a,s,u,l,c,f,p,d=0,g=0,v=0,T=0,E=0,w=0,x=0;this.no_off=(p="object"==typeof(f=this).PROJECTION?Object.keys(f.PROJECTION)[0]:f.PROJECTION,"no_uoff"in f||"no_off"in f||-1!==["Hotine_Oblique_Mercator","Hotine_Oblique_Mercator_Azimuth_Natural_Origin"].indexOf(p)),this.no_rot="no_rot"in this;var C=!1;"alpha"in this&&(C=!0);var M=!1;if("rectified_grid_angle"in this&&(M=!0),C&&(x=this.alpha),M&&(d=this.rectified_grid_angle*m),C||M)g=this.longc;else if(v=this.long1,E=this.lat1,T=this.long2,w=this.lat2,Math.abs(E-w)<=Oe||(t=Math.abs(E))<=Oe||Math.abs(t-h)<=Oe||Math.abs(Math.abs(this.lat0)-h)<=Oe||Math.abs(Math.abs(w)-h)<=Oe)throw new Error;var S=1-this.es;e=Math.sqrt(S),Math.abs(this.lat0)>y?(s=Math.sin(this.lat0),n=Math.cos(this.lat0),t=1-this.es*s*s,this.B=n*n,this.B=Math.sqrt(1+this.es*this.B*this.B/S),this.A=this.B*this.k0*e/t,(i=(r=this.B*e/(n*Math.sqrt(t)))*r-1)<=0?i=0:(i=Math.sqrt(i),this.lat0<0&&(i=-i)),this.E=i+=r,this.E*=Math.pow(Z(this.e,this.lat0,s),this.B)):(this.B=1/e,this.A=this.k0,this.E=r=i=1),C||M?(C?(c=Math.asin(Math.sin(x)/r),M||(d=x)):(c=d,x=Math.asin(r*Math.sin(c))),this.lam0=g-Math.asin(.5*(i-1/i)*Math.tan(c))/this.B):(o=Math.pow(Z(this.e,E,Math.sin(E)),this.B),a=Math.pow(Z(this.e,w,Math.sin(w)),this.B),i=this.E/o,u=(a-o)/(a+o),l=((l=this.E*this.E)-a*o)/(l+a*o),(t=v-T)<-Math.pi?T-=b:t>Math.pi&&(T+=b),this.lam0=Y(.5*(v+T)-Math.atan(l*Math.tan(.5*this.B*(v-T))/u)/this.B),c=Math.atan(2*Math.sin(this.B*Y(v-this.lam0))/(i-1/i)),d=x=Math.asin(r*Math.sin(c))),this.singam=Math.sin(c),this.cosgam=Math.cos(c),this.sinrot=Math.sin(d),this.cosrot=Math.cos(d),this.rB=1/this.B,this.ArB=this.A*this.rB,this.BrA=1/this.ArB,this.A,this.B,this.no_off?this.u_0=0:(this.u_0=Math.abs(this.ArB*Math.atan(Math.sqrt(r*r-1)/Math.cos(x))),this.lat0<0&&(this.u_0=-this.u_0)),i=.5*c,this.v_pole_n=this.ArB*Math.log(Math.tan(_-i)),this.v_pole_s=this.ArB*Math.log(Math.tan(_+i));},forward:function(t){var e,n,r,i,o,a,s,u,l={};if(t.x=t.x-this.lam0,Math.abs(Math.abs(t.y)-h)>y){if(e=.5*((o=this.E/Math.pow(Z(this.e,t.y,Math.sin(t.y)),this.B))-(a=1/o)),n=.5*(o+a),i=Math.sin(this.B*t.x),r=(e*this.singam-i*this.cosgam)/n,Math.abs(Math.abs(r)-1)0?this.v_pole_n:this.v_pole_s,s=this.ArB*t.y;return this.no_rot?(l.x=s,l.y=u):(s-=this.u_0,l.x=u*this.cosrot+s*this.sinrot,l.y=s*this.cosrot-u*this.sinrot),l.x=this.a*l.x+this.x0,l.y=this.a*l.y+this.y0,l},inverse:function(t){var e,n,r,i,o,a,s,u={};if(t.x=(t.x-this.x0)*(1/this.a),t.y=(t.y-this.y0)*(1/this.a),this.no_rot?(n=t.y,e=t.x):(n=t.x*this.cosrot-t.y*this.sinrot,e=t.y*this.cosrot+t.x*this.sinrot+this.u_0),i=.5*((r=Math.exp(-this.BrA*n))-1/r),o=.5*(r+1/r),s=((a=Math.sin(this.BrA*e))*this.cosgam+i*this.singam)/o,Math.abs(Math.abs(s)-1)y?this.ns=Math.log(r/s)/Math.log(i/u):this.ns=e,isNaN(this.ns)&&(this.ns=e),this.f0=r/(this.ns*Math.pow(i,this.ns)),this.rh=this.a*this.f0*Math.pow(l,this.ns),this.title||(this.title="Lambert Conformal Conic");}},forward:function(t){var e=t.x,n=t.y;Math.abs(2*Math.abs(n)-Math.PI)<=y&&(n=X(n)*(h-2*y));var r,i,o=Math.abs(Math.abs(n)-h);if(o>y)r=Z(this.e,n,Math.sin(n)),i=this.a*this.f0*Math.pow(r,this.ns);else {if((o=n*this.ns)<=0)return null;i=0;}var a=this.ns*Y(e-this.long0);return t.x=this.k0*(i*Math.sin(a))+this.x0,t.y=this.k0*(this.rh-i*Math.cos(a))+this.y0,t},inverse:function(t){var e,n,r,i,o,a=(t.x-this.x0)/this.k0,s=this.rh-(t.y-this.y0)/this.k0;this.ns>0?(e=Math.sqrt(a*a+s*s),n=1):(e=-Math.sqrt(a*a+s*s),n=-1);var u=0;if(0!==e&&(u=Math.atan2(n*a,n*s)),0!==e||this.ns>0){if(n=1/this.ns,r=Math.pow(e/(this.a*this.f0),n),-9999===(i=Q(this.e,r)))return null}else i=-h;return o=Y(u/this.ns+this.long0),t.x=o,t.y=i,t},names:["Lambert Tangential Conformal Conic Projection","Lambert_Conformal_Conic","Lambert_Conformal_Conic_1SP","Lambert_Conformal_Conic_2SP","lcc","Lambert Conic Conformal (1SP)","Lambert Conic Conformal (2SP)"]},Pe={init:function(){this.a=6377397.155,this.es=.006674372230614,this.e=Math.sqrt(this.es),this.lat0||(this.lat0=.863937979737193),this.long0||(this.long0=.4334234309119251),this.k0||(this.k0=.9999),this.s45=.785398163397448,this.s90=2*this.s45,this.fi0=this.lat0,this.e2=this.es,this.e=Math.sqrt(this.e2),this.alfa=Math.sqrt(1+this.e2*Math.pow(Math.cos(this.fi0),4)/(1-this.e2)),this.uq=1.04216856380474,this.u0=Math.asin(Math.sin(this.fi0)/this.alfa),this.g=Math.pow((1+this.e*Math.sin(this.fi0))/(1-this.e*Math.sin(this.fi0)),this.alfa*this.e/2),this.k=Math.tan(this.u0/2+this.s45)/Math.pow(Math.tan(this.fi0/2+this.s45),this.alfa)*this.g,this.k1=this.k0,this.n0=this.a*Math.sqrt(1-this.e2)/(1-this.e2*Math.pow(Math.sin(this.fi0),2)),this.s0=1.37008346281555,this.n=Math.sin(this.s0),this.ro0=this.k1*this.n0/Math.tan(this.s0),this.ad=this.s90-this.uq;},forward:function(t){var e,n,r,i,o,a,s,u=t.x,l=t.y,c=Y(u-this.long0);return e=Math.pow((1+this.e*Math.sin(l))/(1-this.e*Math.sin(l)),this.alfa*this.e/2),n=2*(Math.atan(this.k*Math.pow(Math.tan(l/2+this.s45),this.alfa)/e)-this.s45),r=-c*this.alfa,i=Math.asin(Math.cos(this.ad)*Math.sin(n)+Math.sin(this.ad)*Math.cos(n)*Math.cos(r)),o=Math.asin(Math.cos(n)*Math.sin(r)/Math.cos(i)),a=this.n*o,s=this.ro0*Math.pow(Math.tan(this.s0/2+this.s45),this.n)/Math.pow(Math.tan(i/2+this.s45),this.n),t.y=s*Math.cos(a)/1,t.x=s*Math.sin(a)/1,this.czech||(t.y*=-1,t.x*=-1),t},inverse:function(t){var e,n,r,i,o,a,s,u=t.x;t.x=t.y,t.y=u,this.czech||(t.y*=-1,t.x*=-1),o=Math.sqrt(t.x*t.x+t.y*t.y),i=Math.atan2(t.y,t.x)/Math.sin(this.s0),r=2*(Math.atan(Math.pow(this.ro0/o,1/this.n)*Math.tan(this.s0/2+this.s45))-this.s45),e=Math.asin(Math.cos(this.ad)*Math.sin(r)-Math.sin(this.ad)*Math.cos(r)*Math.cos(i)),n=Math.asin(Math.cos(r)*Math.sin(i)/Math.cos(e)),t.x=this.long0-n/this.alfa,a=e,s=0;var l=0;do{t.y=2*(Math.atan(Math.pow(this.k,-1/this.alfa)*Math.pow(Math.tan(e/2+this.s45),1/this.alfa)*Math.pow((1+this.e*Math.sin(a))/(1-this.e*Math.sin(a)),this.e/2))-this.s45),Math.abs(a-t.y)<1e-10&&(s=1),a=t.y,l+=1;}while(0===s&&l<15);return l>=15?null:t},names:["Krovak","krovak"]};function Re(t,e,n,r,i){return t*i-e*Math.sin(2*i)+n*Math.sin(4*i)-r*Math.sin(6*i)}function Le(t){return 1-.25*t*(1+t/16*(3+1.25*t))}function De(t){return .375*t*(1+.25*t*(1+.46875*t))}function ke(t){return .05859375*t*t*(1+.75*t)}function Fe(t){return t*t*t*(35/3072)}function Ue(t,e,n){var r=e*n;return t/Math.sqrt(1-r*r)}function Be(t){return Math.abs(t)1e-7?(1-t*t)*(e/(1-(n=t*e)*n)-.5/t*Math.log((1-n)/(1+n))):2*e}const qe={init:function(){var t,e=Math.abs(this.lat0);if(Math.abs(e-h)0)switch(this.qp=We(this.e,1),this.mmf=.5/(1-this.es),this.apa=function(t){var e,n=[];return n[0]=.3333333333333333*t,e=t*t,n[0]+=.17222222222222222*e,n[1]=.06388888888888888*e,e*=t,n[0]+=.10257936507936508*e,n[1]+=.0664021164021164*e,n[2]=.016415012942191543*e,n}(this.es),this.mode){case this.N_POLE:case this.S_POLE:this.dd=1;break;case this.EQUIT:this.rq=Math.sqrt(.5*this.qp),this.dd=1/this.rq,this.xmf=1,this.ymf=.5*this.qp;break;case this.OBLIQ:this.rq=Math.sqrt(.5*this.qp),t=Math.sin(this.lat0),this.sinb1=We(this.e,t)/this.qp,this.cosb1=Math.sqrt(1-this.sinb1*this.sinb1),this.dd=Math.cos(this.lat0)/(Math.sqrt(1-this.es*t*t)*this.rq*this.cosb1),this.ymf=(this.xmf=this.rq)/this.dd,this.xmf*=this.dd;}else this.mode===this.OBLIQ&&(this.sinph0=Math.sin(this.lat0),this.cosph0=Math.cos(this.lat0));},forward:function(t){var e,n,r,i,o,a,s,u,l,c,f=t.x,p=t.y;if(f=Y(f-this.long0),this.sphere){if(o=Math.sin(p),c=Math.cos(p),r=Math.cos(f),this.mode===this.OBLIQ||this.mode===this.EQUIT){if((n=this.mode===this.EQUIT?1+c*r:1+this.sinph0*o+this.cosph0*c*r)<=y)return null;e=(n=Math.sqrt(2/n))*c*Math.sin(f),n*=this.mode===this.EQUIT?o:this.cosph0*o-this.sinph0*c*r;}else if(this.mode===this.N_POLE||this.mode===this.S_POLE){if(this.mode===this.N_POLE&&(r=-r),Math.abs(p+this.lat0)=0?(e=(l=Math.sqrt(a))*i,n=r*(this.mode===this.S_POLE?l:-l)):e=n=0;}}return t.x=this.a*e+this.x0,t.y=this.a*n+this.y0,t},inverse:function(t){t.x-=this.x0,t.y-=this.y0;var e,n,r,i,o,a,s,u,l,c,f=t.x/this.a,p=t.y/this.a;if(this.sphere){var d,m=0,g=0;if((n=.5*(d=Math.sqrt(f*f+p*p)))>1)return null;switch(n=2*Math.asin(n),this.mode!==this.OBLIQ&&this.mode!==this.EQUIT||(g=Math.sin(n),m=Math.cos(n)),this.mode){case this.EQUIT:n=Math.abs(d)<=y?0:Math.asin(p*g/d),f*=g,p=m*d;break;case this.OBLIQ:n=Math.abs(d)<=y?this.lat0:Math.asin(m*this.sinph0+p*g*this.cosph0/d),f*=g*this.cosph0,p=(m-Math.sin(n)*this.sinph0)*d;break;case this.N_POLE:p=-p,n=h-n;break;case this.S_POLE:n-=h;}e=0!==p||this.mode!==this.EQUIT&&this.mode!==this.OBLIQ?Math.atan2(f,p):0;}else {if(s=0,this.mode===this.OBLIQ||this.mode===this.EQUIT){if(f/=this.dd,p*=this.dd,(a=Math.sqrt(f*f+p*p))1&&(t=t>1?1:-1),Math.asin(t)}const ze={init:function(){Math.abs(this.lat1+this.lat2)y?this.ns0=(this.ms1*this.ms1-this.ms2*this.ms2)/(this.qs2-this.qs1):this.ns0=this.con,this.c=this.ms1*this.ms1+this.ns0*this.qs1,this.rh=this.a*Math.sqrt(this.c-this.ns0*this.qs0)/this.ns0);},forward:function(t){var e=t.x,n=t.y;this.sin_phi=Math.sin(n),this.cos_phi=Math.cos(n);var r=We(this.e3,this.sin_phi,this.cos_phi),i=this.a*Math.sqrt(this.c-this.ns0*r)/this.ns0,o=this.ns0*Y(e-this.long0),a=i*Math.sin(o)+this.x0,s=this.rh-i*Math.cos(o)+this.y0;return t.x=a,t.y=s,t},inverse:function(t){var e,n,r,i,o,a;return t.x-=this.x0,t.y=this.rh-t.y+this.y0,this.ns0>=0?(e=Math.sqrt(t.x*t.x+t.y*t.y),r=1):(e=-Math.sqrt(t.x*t.x+t.y*t.y),r=-1),i=0,0!==e&&(i=Math.atan2(r*t.x,r*t.y)),r=e*this.ns0/this.a,this.sphere?a=Math.asin((this.c-r*r)/(2*this.ns0)):(n=(this.c-r*r)/this.ns0,a=this.phi1z(this.e3,n)),o=Y(i/this.ns0+this.long0),t.x=o,t.y=a,t},names:["Albers_Conic_Equal_Area","Albers","aea"],phi1z:function(t,e){var n,r,i,o,a=He(.5*e);if(t0||Math.abs(o)<=y?(a=this.x0+1*this.a*n*Math.sin(r)/o,s=this.y0+1*this.a*(this.cos_p14*e-this.sin_p14*n*i)/o):(a=this.x0+this.infinity_dist*n*Math.sin(r),s=this.y0+this.infinity_dist*(this.cos_p14*e-this.sin_p14*n*i)),t.x=a,t.y=s,t},inverse:function(t){var e,n,r,i,o,a;return t.x=(t.x-this.x0)/this.a,t.y=(t.y-this.y0)/this.a,t.x/=this.k0,t.y/=this.k0,(e=Math.sqrt(t.x*t.x+t.y*t.y))?(i=Math.atan2(e,this.rc),n=Math.sin(i),a=He((r=Math.cos(i))*this.sin_p14+t.y*n*this.cos_p14/e),o=Math.atan2(t.x*n,e*this.cos_p14*r-t.y*this.sin_p14*n),o=Y(this.long0+o)):(a=this.phic0,o=0),t.x=o,t.y=a,t},names:["gnom"]},Xe={init:function(){this.sphere||(this.k0=V(this.e,Math.sin(this.lat_ts),Math.cos(this.lat_ts)));},forward:function(t){var e,n,r=t.x,i=t.y,o=Y(r-this.long0);if(this.sphere)e=this.x0+this.a*o*Math.cos(this.lat_ts),n=this.y0+this.a*Math.sin(i)/Math.cos(this.lat_ts);else {var a=We(this.e,Math.sin(i));e=this.x0+this.a*this.k0*o,n=this.y0+this.a*a*.5/this.k0;}return t.x=e,t.y=n,t},inverse:function(t){var e,n;return t.x-=this.x0,t.y-=this.y0,this.sphere?(e=Y(this.long0+t.x/this.a/Math.cos(this.lat_ts)),n=Math.asin(t.y/this.a*Math.cos(this.lat_ts))):(n=function(t,e){var n=1-(1-t*t)/(2*t)*Math.log((1-t)/(1+t));if(Math.abs(Math.abs(e)-n)<1e-6)return e<0?-1*h:h;for(var r,i,o,a,s=Math.asin(.5*e),u=0;u<30;u++)if(i=Math.sin(s),o=Math.cos(s),a=t*i,s+=r=Math.pow(1-a*a,2)/(2*o)*(e/(1-t*t)-i/(1-a*a)+.5/t*Math.log((1-a)/(1+a))),Math.abs(r)<=1e-10)return s;return NaN}(this.e,2*t.y*this.k0/this.a),e=Y(this.long0+t.x/(this.a*this.k0))),t.x=e,t.y=n,t},names:["cea"]},Ye={init:function(){this.x0=this.x0||0,this.y0=this.y0||0,this.lat0=this.lat0||0,this.long0=this.long0||0,this.lat_ts=this.lat_ts||0,this.title=this.title||"Equidistant Cylindrical (Plate Carre)",this.rc=Math.cos(this.lat_ts);},forward:function(t){var e=t.x,n=t.y,r=Y(e-this.long0),i=Be(n-this.lat0);return t.x=this.x0+this.a*r*this.rc,t.y=this.y0+this.a*i,t},inverse:function(t){var e=t.x,n=t.y;return t.x=Y(this.long0+(e-this.x0)/(this.a*this.rc)),t.y=Be(this.lat0+(n-this.y0)/this.a),t},names:["Equirectangular","Equidistant_Cylindrical","eqc"]};const Ze={init:function(){this.temp=this.b/this.a,this.es=1-Math.pow(this.temp,2),this.e=Math.sqrt(this.es),this.e0=Le(this.es),this.e1=De(this.es),this.e2=ke(this.es),this.e3=Fe(this.es),this.ml0=this.a*Re(this.e0,this.e1,this.e2,this.e3,this.lat0);},forward:function(t){var e,n,r,i=t.x,o=t.y,a=Y(i-this.long0);if(r=a*Math.sin(o),this.sphere)Math.abs(o)<=y?(e=this.a*a,n=-1*this.a*this.lat0):(e=this.a*Math.sin(r)/Math.tan(o),n=this.a*(Be(o-this.lat0)+(1-Math.cos(r))/Math.tan(o)));else if(Math.abs(o)<=y)e=this.a*a,n=-1*this.ml0;else {var s=Ue(this.a,this.e,Math.sin(o))/Math.tan(o);e=s*Math.sin(r),n=this.a*Re(this.e0,this.e1,this.e2,this.e3,o)-this.ml0+s*(1-Math.cos(r));}return t.x=e+this.x0,t.y=n+this.y0,t},inverse:function(t){var e,n,r,i,o,a,s,u,l;if(r=t.x-this.x0,i=t.y-this.y0,this.sphere)if(Math.abs(i+this.a*this.lat0)<=y)e=Y(r/this.a+this.long0),n=0;else {var c;for(a=this.lat0+i/this.a,s=r*r/this.a/this.a+a*a,u=a,o=20;o;--o)if(u+=l=-1*(a*(u*(c=Math.tan(u))+1)-u-.5*(u*u+s)*c)/((u-a)/c-1),Math.abs(l)<=y){n=u;break}e=Y(this.long0+Math.asin(r*Math.tan(u)/this.a)/Math.sin(n));}else if(Math.abs(i+this.ml0)<=y)n=0,e=Y(this.long0+r/this.a);else {var h,f,p,d,m;for(a=(this.ml0+i)/this.a,s=r*r/this.a/this.a+a*a,u=a,o=20;o;--o)if(m=this.e*Math.sin(u),h=Math.sqrt(1-m*m)*Math.tan(u),f=this.a*Re(this.e0,this.e1,this.e2,this.e3,u),p=this.e0-2*this.e1*Math.cos(2*u)+4*this.e2*Math.cos(4*u)-6*this.e3*Math.cos(6*u),u-=l=(a*(h*(d=f/this.a)+1)-d-.5*h*(d*d+s))/(this.es*Math.sin(2*u)*(d*d+s-2*a*d)/(4*h)+(a-d)*(h*p-2/Math.sin(2*u))-p),Math.abs(l)<=y){n=u;break}h=Math.sqrt(1-this.es*Math.pow(Math.sin(n),2))*Math.tan(n),e=Y(this.long0+Math.asin(r*h/this.a)/Math.sin(n));}return t.x=e,t.y=n,t},names:["Polyconic","poly"]},Qe={init:function(){this.A=[],this.A[1]=.6399175073,this.A[2]=-.1358797613,this.A[3]=.063294409,this.A[4]=-.02526853,this.A[5]=.0117879,this.A[6]=-.0055161,this.A[7]=.0026906,this.A[8]=-.001333,this.A[9]=67e-5,this.A[10]=-34e-5,this.B_re=[],this.B_im=[],this.B_re[1]=.7557853228,this.B_im[1]=0,this.B_re[2]=.249204646,this.B_im[2]=.003371507,this.B_re[3]=-.001541739,this.B_im[3]=.04105856,this.B_re[4]=-.10162907,this.B_im[4]=.01727609,this.B_re[5]=-.26623489,this.B_im[5]=-.36249218,this.B_re[6]=-.6870983,this.B_im[6]=-1.1651967,this.C_re=[],this.C_im=[],this.C_re[1]=1.3231270439,this.C_im[1]=0,this.C_re[2]=-.577245789,this.C_im[2]=-.007809598,this.C_re[3]=.508307513,this.C_im[3]=-.112208952,this.C_re[4]=-.15094762,this.C_im[4]=.18200602,this.C_re[5]=1.01418179,this.C_im[5]=1.64497696,this.C_re[6]=1.9660549,this.C_im[6]=2.5127645,this.D=[],this.D[1]=1.5627014243,this.D[2]=.5185406398,this.D[3]=-.03333098,this.D[4]=-.1052906,this.D[5]=-.0368594,this.D[6]=.007317,this.D[7]=.0122,this.D[8]=.00394,this.D[9]=-.0013;},forward:function(t){var e,n=t.x,r=t.y-this.lat0,i=n-this.long0,o=r/c*1e-5,a=i,s=1,u=0;for(e=1;e<=10;e++)s*=o,u+=this.A[e]*s;var l,h=u,f=a,p=1,d=0,y=0,m=0;for(e=1;e<=6;e++)l=d*h+p*f,p=p*h-d*f,d=l,y=y+this.B_re[e]*p-this.B_im[e]*d,m=m+this.B_im[e]*p+this.B_re[e]*d;return t.x=m*this.a+this.x0,t.y=y*this.a+this.y0,t},inverse:function(t){var e,n,r=t.x,i=t.y,o=r-this.x0,a=(i-this.y0)/this.a,s=o/this.a,u=1,l=0,h=0,f=0;for(e=1;e<=6;e++)n=l*a+u*s,u=u*a-l*s,l=n,h=h+this.C_re[e]*u-this.C_im[e]*l,f=f+this.C_im[e]*u+this.C_re[e]*l;for(var p=0;p.999999999999&&(n=.999999999999),e=Math.asin(n);var r=Y(this.long0+t.x/(.900316316158*this.a*Math.cos(e)));r<-Math.PI&&(r=-Math.PI),r>Math.PI&&(r=Math.PI),n=(2*e+Math.sin(2*e))/Math.PI,Math.abs(n)>1&&(n=1);var i=Math.asin(n);return t.x=r,t.y=i,t},names:["Mollweide","moll"]},tn={init:function(){Math.abs(this.lat1+this.lat2)=0?(n=Math.sqrt(t.x*t.x+t.y*t.y),e=1):(n=-Math.sqrt(t.x*t.x+t.y*t.y),e=-1);var o=0;return 0!==n&&(o=Math.atan2(e*t.x,e*t.y)),this.sphere?(i=Y(this.long0+o/this.ns),r=Be(this.g-n/this.a),t.x=i,t.y=r,t):(r=je(this.g-n/this.a,this.e0,this.e1,this.e2,this.e3),i=Y(this.long0+o/this.ns),t.x=i,t.y=r,t)},names:["Equidistant_Conic","eqdc"]},en={init:function(){this.R=this.a;},forward:function(t){var e,n,r=t.x,i=t.y,o=Y(r-this.long0);Math.abs(i)<=y&&(e=this.x0+this.R*o,n=this.y0);var a=He(2*Math.abs(i/Math.PI));(Math.abs(o)<=y||Math.abs(Math.abs(i)-h)<=y)&&(e=this.x0,n=i>=0?this.y0+Math.PI*this.R*Math.tan(.5*a):this.y0+Math.PI*this.R*-Math.tan(.5*a));var s=.5*Math.abs(Math.PI/o-o/Math.PI),u=s*s,l=Math.sin(a),c=Math.cos(a),f=c/(l+c-1),p=f*f,d=f*(2/l-1),m=d*d,g=Math.PI*this.R*(s*(f-m)+Math.sqrt(u*(f-m)*(f-m)-(m+u)*(p-m)))/(m+u);o<0&&(g=-g),e=this.x0+g;var _=u+f;return g=Math.PI*this.R*(d*_-s*Math.sqrt((m+u)*(u+1)-_*_))/(m+u),n=i>=0?this.y0+g:this.y0-g,t.x=e,t.y=n,t},inverse:function(t){var e,n,r,i,o,a,s,u,l,c,h,f;return t.x-=this.x0,t.y-=this.y0,h=Math.PI*this.R,o=(r=t.x/h)*r+(i=t.y/h)*i,h=3*(i*i/(u=-2*(a=-Math.abs(i)*(1+o))+1+2*i*i+o*o)+(2*(s=a-2*i*i+r*r)*s*s/u/u/u-9*a*s/u/u)/27)/(l=(a-s*s/3/u)/u)/(c=2*Math.sqrt(-l/3)),Math.abs(h)>1&&(h=h>=0?1:-1),f=Math.acos(h)/3,n=t.y>=0?(-c*Math.cos(f+Math.PI/3)-s/3/u)*Math.PI:-(-c*Math.cos(f+Math.PI/3)-s/3/u)*Math.PI,e=Math.abs(r)2*h*this.a)return;return n=e/this.a,r=Math.sin(n),i=Math.cos(n),o=this.long0,Math.abs(e)<=y?a=this.lat0:(a=He(i*this.sin_p12+t.y*r*this.cos_p12/e),s=Math.abs(this.lat0)-h,o=Math.abs(s)<=y?this.lat0>=0?Y(this.long0+Math.atan2(t.x,-t.y)):Y(this.long0-Math.atan2(-t.x,t.y)):Y(this.long0+Math.atan2(t.x*r,e*this.cos_p12*i-t.y*this.sin_p12*r))),t.x=o,t.y=a,t}return u=Le(this.es),l=De(this.es),c=ke(this.es),f=Fe(this.es),Math.abs(this.sin_p12-1)<=y?(a=je(((p=this.a*Re(u,l,c,f,h))-(e=Math.sqrt(t.x*t.x+t.y*t.y)))/this.a,u,l,c,f),o=Y(this.long0+Math.atan2(t.x,-1*t.y)),t.x=o,t.y=a,t):Math.abs(this.sin_p12+1)<=y?(p=this.a*Re(u,l,c,f,h),a=je(((e=Math.sqrt(t.x*t.x+t.y*t.y))-p)/this.a,u,l,c,f),o=Y(this.long0+Math.atan2(t.x,t.y)),t.x=o,t.y=a,t):(e=Math.sqrt(t.x*t.x+t.y*t.y),g=Math.atan2(t.x,t.y),d=Ue(this.a,this.e,this.sin_p12),_=Math.cos(g),v=-(b=this.e*this.cos_p12*_)*b/(1-this.es),T=3*this.es*(1-v)*this.sin_p12*this.cos_p12*_/(1-this.es),x=1-v*(w=(E=e/d)-v*(1+v)*Math.pow(E,3)/6-T*(1+3*v)*Math.pow(E,4)/24)*w/2-E*w*w*w/6,m=Math.asin(this.sin_p12*Math.cos(w)+this.cos_p12*Math.sin(w)*_),o=Y(this.long0+Math.asin(Math.sin(g)*Math.sin(w)/Math.cos(m))),C=Math.sin(m),a=Math.atan2((C-this.es*x*this.sin_p12)*Math.tan(m),C*(1-this.es)),t.x=o,t.y=a,t)},names:["Azimuthal_Equidistant","aeqd"]},rn={init:function(){this.sin_p14=Math.sin(this.lat0),this.cos_p14=Math.cos(this.lat0);},forward:function(t){var e,n,r,i,o,a,s,u=t.x,l=t.y;return r=Y(u-this.long0),e=Math.sin(l),n=Math.cos(l),i=Math.cos(r),((o=this.sin_p14*e+this.cos_p14*n*i)>0||Math.abs(o)<=y)&&(a=1*this.a*n*Math.sin(r),s=this.y0+1*this.a*(this.cos_p14*e-this.sin_p14*n*i)),t.x=a,t.y=s,t},inverse:function(t){var e,n,r,i,o,a,s;return t.x-=this.x0,t.y-=this.y0,n=He((e=Math.sqrt(t.x*t.x+t.y*t.y))/this.a),r=Math.sin(n),i=Math.cos(n),a=this.long0,Math.abs(e)<=y?(s=this.lat0,t.x=a,t.y=s,t):(s=He(i*this.sin_p14+t.y*r*this.cos_p14/e),o=Math.abs(this.lat0)-h,Math.abs(o)<=y?(a=this.lat0>=0?Y(this.long0+Math.atan2(t.x,-t.y)):Y(this.long0-Math.atan2(-t.x,t.y)),t.x=a,t.y=s,t):(a=Y(this.long0+Math.atan2(t.x*r,e*this.cos_p14*i-t.y*this.sin_p14*r)),t.x=a,t.y=s,t))},names:["ortho"]};var on=1,an=2,sn=3,un=4,ln=5,cn=6,hn={AREA_0:1,AREA_1:2,AREA_2:3,AREA_3:4};function fn(t,e,n,r){var i;return t_&&i<=h+_?(r.value=hn.AREA_1,i-=h):i>h+_||i<=-(h+_)?(r.value=hn.AREA_2,i=i>=0?i-v:i+v):(r.value=hn.AREA_3,i+=h)),i}function pn(t,e){var n=t+e;return n<-v?n+=b:n>+v&&(n-=b),n}const dn={init:function(){this.x0=this.x0||0,this.y0=this.y0||0,this.lat0=this.lat0||0,this.long0=this.long0||0,this.lat_ts=this.lat_ts||0,this.title=this.title||"Quadrilateralized Spherical Cube",this.lat0>=h-_/2?this.face=ln:this.lat0<=-(h-_/2)?this.face=cn:Math.abs(this.long0)<=_?this.face=on:Math.abs(this.long0)<=h+_?this.face=this.long0>0?an:un:this.face=sn,0!==this.es&&(this.one_minus_f=1-(this.a-this.b)/this.a,this.one_minus_f_squared=this.one_minus_f*this.one_minus_f);},forward:function(t){var e,n,r,i,o,a,s={x:0,y:0},u={value:0};if(t.x-=this.long0,e=0!==this.es?Math.atan(this.one_minus_f_squared*Math.tan(t.y)):t.y,n=t.x,this.face===ln)i=h-e,n>=_&&n<=h+_?(u.value=hn.AREA_0,r=n-h):n>h+_||n<=-(h+_)?(u.value=hn.AREA_1,r=n>0?n-v:n+v):n>-(h+_)&&n<=-_?(u.value=hn.AREA_2,r=n+h):(u.value=hn.AREA_3,r=n);else if(this.face===cn)i=h+e,n>=_&&n<=h+_?(u.value=hn.AREA_0,r=-n+h):n<_&&n>=-_?(u.value=hn.AREA_1,r=-n):n<-_&&n>=-(h+_)?(u.value=hn.AREA_2,r=-n-h):(u.value=hn.AREA_3,r=n>0?-n+v:-n-v);else {var l,c,f,p,d,y;this.face===an?n=pn(n,+h):this.face===sn?n=pn(n,+v):this.face===un&&(n=pn(n,-h)),p=Math.sin(e),d=Math.cos(e),y=Math.sin(n),l=d*Math.cos(n),c=d*y,f=p,this.face===on?r=fn(i=Math.acos(l),f,c,u):this.face===an?r=fn(i=Math.acos(c),f,-l,u):this.face===sn?r=fn(i=Math.acos(-l),f,-c,u):this.face===un?r=fn(i=Math.acos(-c),f,l,u):(i=r=0,u.value=hn.AREA_0);}return a=Math.atan(12/v*(r+Math.acos(Math.sin(r)*Math.cos(_))-h)),o=Math.sqrt((1-Math.cos(i))/(Math.cos(a)*Math.cos(a))/(1-Math.cos(Math.atan(1/Math.cos(r))))),u.value===hn.AREA_1?a+=h:u.value===hn.AREA_2?a+=v:u.value===hn.AREA_3&&(a+=1.5*v),s.x=o*Math.cos(a),s.y=o*Math.sin(a),s.x=s.x*this.a+this.x0,s.y=s.y*this.a+this.y0,t.x=s.x,t.y=s.y,t},inverse:function(t){var e,n,r,i,o,a,s,u,l,c,f,p,d={lam:0,phi:0},y={value:0};if(t.x=(t.x-this.x0)/this.a,t.y=(t.y-this.y0)/this.a,n=Math.atan(Math.sqrt(t.x*t.x+t.y*t.y)),e=Math.atan2(t.y,t.x),t.x>=0&&t.x>=Math.abs(t.y)?y.value=hn.AREA_0:t.y>=0&&t.y>=Math.abs(t.x)?(y.value=hn.AREA_1,e-=h):t.x<0&&-t.x>=Math.abs(t.y)?(y.value=hn.AREA_2,e=e<0?e+v:e-v):(y.value=hn.AREA_3,e+=h),l=v/12*Math.tan(e),o=Math.sin(l)/(Math.cos(l)-1/Math.sqrt(2)),a=Math.atan(o),(s=1-(r=Math.cos(e))*r*(i=Math.tan(n))*i*(1-Math.cos(Math.atan(1/Math.cos(a)))))<-1?s=-1:s>1&&(s=1),this.face===ln)u=Math.acos(s),d.phi=h-u,y.value===hn.AREA_0?d.lam=a+h:y.value===hn.AREA_1?d.lam=a<0?a+v:a-v:y.value===hn.AREA_2?d.lam=a-h:d.lam=a;else if(this.face===cn)u=Math.acos(s),d.phi=u-h,y.value===hn.AREA_0?d.lam=-a+h:y.value===hn.AREA_1?d.lam=-a:y.value===hn.AREA_2?d.lam=-a-h:d.lam=a<0?-a-v:-a+v;else {var m,g,_;l=(m=s)*m,g=(l+=(_=l>=1?0:Math.sqrt(1-l)*Math.sin(a))*_)>=1?0:Math.sqrt(1-l),y.value===hn.AREA_1?(l=g,g=-_,_=l):y.value===hn.AREA_2?(g=-g,_=-_):y.value===hn.AREA_3&&(l=g,g=_,_=-l),this.face===an?(l=m,m=-g,g=l):this.face===sn?(m=-m,g=-g):this.face===un&&(l=m,m=g,g=-l),d.phi=Math.acos(-_)-h,d.lam=Math.atan2(g,m),this.face===an?d.lam=pn(d.lam,-h):this.face===sn?d.lam=pn(d.lam,-v):this.face===un&&(d.lam=pn(d.lam,+h));}return 0!==this.es&&(c=d.phi<0?1:0,f=Math.tan(d.phi),p=this.b/Math.sqrt(f*f+this.one_minus_f_squared),d.phi=Math.atan(Math.sqrt(this.a*this.a-p*p)/(this.one_minus_f*p)),c&&(d.phi=-d.phi)),d.lam+=this.long0,t.x=d.lam,t.y=d.phi,t},names:["Quadrilateralized Spherical Cube","Quadrilateralized_Spherical_Cube","qsc"]};var yn=[[1,22199e-21,-715515e-10,31103e-10],[.9986,-482243e-9,-24897e-9,-13309e-10],[.9954,-83103e-8,-448605e-10,-9.86701e-7],[.99,-.00135364,-59661e-9,36777e-10],[.9822,-.00167442,-449547e-11,-572411e-11],[.973,-.00214868,-903571e-10,1.8736e-8],[.96,-.00305085,-900761e-10,164917e-11],[.9427,-.00382792,-653386e-10,-26154e-10],[.9216,-.00467746,-10457e-8,481243e-11],[.8962,-.00536223,-323831e-10,-543432e-11],[.8679,-.00609363,-113898e-9,332484e-11],[.835,-.00698325,-640253e-10,9.34959e-7],[.7986,-.00755338,-500009e-10,9.35324e-7],[.7597,-.00798324,-35971e-9,-227626e-11],[.7186,-.00851367,-701149e-10,-86303e-10],[.6732,-.00986209,-199569e-9,191974e-10],[.6213,-.010418,883923e-10,624051e-11],[.5722,-.00906601,182e-6,624051e-11],[.5322,-.00677797,275608e-9,624051e-11]],mn=[[-520417e-23,.0124,121431e-23,-845284e-16],[.062,.0124,-1.26793e-9,4.22642e-10],[.124,.0124,5.07171e-9,-1.60604e-9],[.186,.0123999,-1.90189e-8,6.00152e-9],[.248,.0124002,7.10039e-8,-2.24e-8],[.31,.0123992,-2.64997e-7,8.35986e-8],[.372,.0124029,9.88983e-7,-3.11994e-7],[.434,.0123893,-369093e-11,-4.35621e-7],[.4958,.0123198,-102252e-10,-3.45523e-7],[.5571,.0121916,-154081e-10,-5.82288e-7],[.6176,.0119938,-241424e-10,-5.25327e-7],[.6769,.011713,-320223e-10,-5.16405e-7],[.7346,.0113541,-397684e-10,-6.09052e-7],[.7903,.0109107,-489042e-10,-104739e-11],[.8435,.0103431,-64615e-9,-1.40374e-9],[.8936,.00969686,-64636e-9,-8547e-9],[.9394,.00840947,-192841e-9,-42106e-10],[.9761,.00616527,-256e-6,-42106e-10],[1,.00328947,-319159e-9,-42106e-10]],gn=.8487,_n=1.3523,bn=g/5,vn=1/bn,Tn=18,En=function(t,e){return t[0]+e*(t[1]+e*(t[2]+e*t[3]))};const wn={init:function(){this.x0=this.x0||0,this.y0=this.y0||0,this.long0=this.long0||0,this.es=0,this.title=this.title||"Robinson";},forward:function(t){var e=Y(t.x-this.long0),n=Math.abs(t.y),r=Math.floor(n*bn);r<0?r=0:r>=Tn&&(r=17);var i={x:En(yn[r],n=g*(n-vn*r))*e,y:En(mn[r],n)};return t.y<0&&(i.y=-i.y),i.x=i.x*this.a*gn+this.x0,i.y=i.y*this.a*_n+this.y0,i},inverse:function(t){var e={x:(t.x-this.x0)/(this.a*gn),y:Math.abs(t.y-this.y0)/(this.a*_n)};if(e.y>=1)e.x/=yn[18][0],e.y=t.y<0?-h:h;else {var n=Math.floor(e.y*Tn);for(n<0?n=0:n>=Tn&&(n=17);;)if(mn[n][0]>e.y)--n;else {if(!(mn[n+1][0]<=e.y))break;++n;}var r=mn[n],i=5*(e.y-r[0])/(mn[n+1][0]-r[0]);i=function(t,e,n,r){for(var i=e;r;--r){var o=t(i);if(i-=o,Math.abs(o)1e10)throw new Error;if(this.radius_g=1+this.radius_g_1,this.C=this.radius_g*this.radius_g-1,0!==this.es){var t=1-this.es,e=1/t;this.radius_p=Math.sqrt(t),this.radius_p2=t,this.radius_p_inv2=e,this.shape="ellipse";}else this.radius_p=1,this.radius_p2=1,this.radius_p_inv2=1,this.shape="sphere";this.title||(this.title="Geostationary Satellite View");},forward:function(t){var e,n,r,i,o=t.x,a=t.y;if(o-=this.long0,"ellipse"===this.shape){a=Math.atan(this.radius_p2*Math.tan(a));var s=this.radius_p/be(this.radius_p*Math.cos(a),Math.sin(a));if(n=s*Math.cos(o)*Math.cos(a),r=s*Math.sin(o)*Math.cos(a),i=s*Math.sin(a),(this.radius_g-n)*n-r*r-i*i*this.radius_p_inv2<0)return t.x=Number.NaN,t.y=Number.NaN,t;e=this.radius_g-n,this.flip_axis?(t.x=this.radius_g_1*Math.atan(r/be(i,e)),t.y=this.radius_g_1*Math.atan(i/e)):(t.x=this.radius_g_1*Math.atan(r/e),t.y=this.radius_g_1*Math.atan(i/be(r,e)));}else "sphere"===this.shape&&(e=Math.cos(a),n=Math.cos(o)*e,r=Math.sin(o)*e,i=Math.sin(a),e=this.radius_g-n,this.flip_axis?(t.x=this.radius_g_1*Math.atan(r/be(i,e)),t.y=this.radius_g_1*Math.atan(i/e)):(t.x=this.radius_g_1*Math.atan(r/e),t.y=this.radius_g_1*Math.atan(i/be(r,e))));return t.x=t.x*this.a,t.y=t.y*this.a,t},inverse:function(t){var e,n,r,i,o=-1,a=0,s=0;if(t.x=t.x/this.a,t.y=t.y/this.a,"ellipse"===this.shape){this.flip_axis?(s=Math.tan(t.y/this.radius_g_1),a=Math.tan(t.x/this.radius_g_1)*be(1,s)):(a=Math.tan(t.x/this.radius_g_1),s=Math.tan(t.y/this.radius_g_1)*be(1,a));var u=s/this.radius_p;if(e=a*a+u*u+o*o,(r=(n=2*this.radius_g*o)*n-4*e*this.C)<0)return t.x=Number.NaN,t.y=Number.NaN,t;i=(-n-Math.sqrt(r))/(2*e),o=this.radius_g+i*o,a*=i,s*=i,t.x=Math.atan2(a,o),t.y=Math.atan(s*Math.cos(t.x)/o),t.y=Math.atan(this.radius_p_inv2*Math.tan(t.y));}else if("sphere"===this.shape){if(this.flip_axis?(s=Math.tan(t.y/this.radius_g_1),a=Math.tan(t.x/this.radius_g_1)*Math.sqrt(1+s*s)):(a=Math.tan(t.x/this.radius_g_1),s=Math.tan(t.y/this.radius_g_1)*Math.sqrt(1+a*a)),e=a*a+s*s+o*o,(r=(n=2*this.radius_g*o)*n-4*e*this.C)<0)return t.x=Number.NaN,t.y=Number.NaN,t;i=(-n-Math.sqrt(r))/(2*e),o=this.radius_g+i*o,a*=i,s*=i,t.x=Math.atan2(a,o),t.y=Math.atan(s*Math.cos(t.x)/o);}return t.x=t.x+this.long0,t},names:["Geostationary Satellite View","Geostationary_Satellite","geos"]};var Pn;Lt.defaultDatum="WGS84",Lt.Proj=bt,Lt.WGS84=new Lt.Proj("WGS84"),Lt.Point=te,Lt.toPoint=Nt,Lt.defs=G,Lt.nadgrid=function(t,e){var n=new DataView(e),r=function(t){var e=t.getInt32(8,!1);return 11!==e&&(11!==(e=t.getInt32(8,!0))&&ct.warn("Failed to detect nadgrid endian-ness, defaulting to little-endian"),!0)}(n),i=function(t,e){return {nFields:t.getInt32(8,e),nSubgridFields:t.getInt32(24,e),nSubgrids:t.getInt32(40,e),shiftType:dt(t,56,64).trim(),fromSemiMajorAxis:t.getFloat64(120,e),fromSemiMinorAxis:t.getFloat64(136,e),toSemiMajorAxis:t.getFloat64(152,e),toSemiMinorAxis:t.getFloat64(168,e)}}(n,r);i.nSubgrids>1&&ct.log("Only single NTv2 subgrids are currently supported, subsequent sub grids are ignored");var o=function(t,e,n){for(var r=[],i=0;i{"use strict";function e(t,e){return Object.prototype.hasOwnProperty.call(t,e)}t.exports=function(t,n,r,i){n=n||"&",r=r||"=";var o={};if("string"!=typeof t||0===t.length)return o;var a=/\+/g;t=t.split(n);var s=1e3;i&&"number"==typeof i.maxKeys&&(s=i.maxKeys);var u=t.length;s>0&&u>s&&(u=s);for(var l=0;l=0?(c=d.substr(0,y),h=d.substr(y+1)):(c=d,h=""),f=decodeURIComponent(c),p=decodeURIComponent(h),e(o,f)?Array.isArray(o[f])?o[f].push(p):o[f]=[o[f],p]:o[f]=p;}return o};},2361:t=>{"use strict";var e=function(t){switch(typeof t){case "string":return t;case "boolean":return t?"true":"false";case "number":return isFinite(t)?t:"";default:return ""}};t.exports=function(t,n,r,i){return n=n||"&",r=r||"=",null===t&&(t=void 0),"object"==typeof t?Object.keys(t).map((function(i){var o=encodeURIComponent(e(i))+r;return Array.isArray(t[i])?t[i].map((function(t){return o+encodeURIComponent(e(t))})).join(n):o+encodeURIComponent(e(t[i]))})).join(n):i?encodeURIComponent(e(i))+r+encodeURIComponent(e(t)):""};},7673:(t,e,n)=>{"use strict";e.decode=e.parse=n(2587),e.encode=e.stringify=n(2361);},9189:(t,e,n)=>{var r=n(5717),i=n(7187).EventEmitter;function o(t){if(!(this instanceof o))return new o(t);i.call(this),t=t||{},this.concurrency=t.concurrency||1/0,this.timeout=t.timeout||0,this.autostart=t.autostart||!1,this.results=t.results||null,this.pending=0,this.session=0,this.running=!1,this.jobs=[],this.timers={};}function a(){for(var t in this.timers){var e=this.timers[t];delete this.timers[t],clearTimeout(e);}}function s(t){var e=this;function n(t){e.end(t);}this.on("error",n),this.on("end",(function r(i){e.removeListener("error",n),e.removeListener("end",r),t(i,this.results);}));}function u(t){this.session++,this.running=!1,this.emit("end",t);}t.exports=o,t.exports.default=o,r(o,i),["pop","shift","indexOf","lastIndexOf"].forEach((function(t){o.prototype[t]=function(){return Array.prototype[t].apply(this.jobs,arguments)};})),o.prototype.slice=function(t,e){return this.jobs=this.jobs.slice(t,e),this},o.prototype.reverse=function(){return this.jobs.reverse(),this},["push","unshift","splice"].forEach((function(t){o.prototype[t]=function(){var e=Array.prototype[t].apply(this.jobs,arguments);return this.autostart&&this.start(),e};})),Object.defineProperty(o.prototype,"length",{get:function(){return this.pending+this.jobs.length}}),o.prototype.start=function(t){if(t&&s.call(this,t),this.running=!0,!(this.pending>=this.concurrency))if(0!==this.jobs.length){var e=this,n=this.jobs.shift(),r=!0,i=this.session,o=null,a=!1,l=null,c=n.timeout||this.timeout;c&&(o=setTimeout((function(){a=!0,e.listeners("timeout").length>0?e.emit("timeout",f,n):f();}),c),this.timers[o]=o),this.results&&(l=this.results.length,this.results[l]=null),this.pending++,e.emit("start",n);var h=n(f);h&&h.then&&"function"==typeof h.then&&h.then((function(t){return f(null,t)})).catch((function(t){return f(t||!0)})),this.running&&this.jobs.length>0&&this.start();}else 0===this.pending&&u.call(this);function f(t,s){r&&e.session===i&&(r=!1,e.pending--,null!==o&&(delete e.timers[o],clearTimeout(o)),t?e.emit("error",t,n):!1===a&&(null!==l&&(e.results[l]=Array.prototype.slice.call(arguments,1)),e.emit("success",s,n)),e.session===i&&(0===e.pending&&0===e.jobs.length?u.call(e):e.running&&e.start()));}},o.prototype.stop=function(){this.running=!1;},o.prototype.end=function(t){a.call(this),this.jobs.length=0,this.pending=0,u.call(this,t);};},2582:function(t){t.exports=function(){"use strict";function t(t,r,i,o,a){!function t(n,r,i,o,a){for(;o>i;){if(o-i>600){var s=o-i+1,u=r-i+1,l=Math.log(s),c=.5*Math.exp(2*l/3),h=.5*Math.sqrt(l*c*(s-c)/s)*(u-s/2<0?-1:1);t(n,r,Math.max(i,Math.floor(r-u*c/s+h)),Math.min(o,Math.floor(r+(s-u)*c/s+h)),a);}var f=n[r],p=i,d=o;for(e(n,i,r),a(n[o],f)>0&&e(n,i,o);p0;)d--;}0===a(n[i],f)?e(n,i,d):e(n,++d,o),d<=r&&(i=d+1),r<=d&&(o=d-1);}}(t,r,i||0,o||t.length-1,a||n);}function e(t,e,n){var r=t[e];t[e]=t[n],t[n]=r;}function n(t,e){return te?1:0}var r=function(t){void 0===t&&(t=9),this._maxEntries=Math.max(4,t),this._minEntries=Math.max(2,Math.ceil(.4*this._maxEntries)),this.clear();};function i(t,e,n){if(!n)return e.indexOf(t);for(var r=0;r=t.minX&&e.maxY>=t.minY}function d(t){return {children:t,height:1,leaf:!0,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0}}function y(e,n,r,i,o){for(var a=[n,r];a.length;)if(!((r=a.pop())-(n=a.pop())<=i)){var s=n+Math.ceil((r-n)/i/2)*i;t(e,s,n,r,o),a.push(n,s,s,r);}}return r.prototype.all=function(){return this._all(this.data,[])},r.prototype.search=function(t){var e=this.data,n=[];if(!p(t,e))return n;for(var r=this.toBBox,i=[];e;){for(var o=0;o=0&&i[e].children.length>this._maxEntries;)this._split(i,e),e--;this._adjustParentBBoxes(r,i,e);},r.prototype._split=function(t,e){var n=t[e],r=n.children.length,i=this._minEntries;this._chooseSplitAxis(n,i,r);var a=this._chooseSplitIndex(n,i,r),s=d(n.children.splice(a,n.children.length-a));s.height=n.height,s.leaf=n.leaf,o(n,this.toBBox),o(s,this.toBBox),e?t[e-1].children.push(s):this._splitRoot(n,s);},r.prototype._splitRoot=function(t,e){this.data=d([t,e]),this.data.height=t.height+1,this.data.leaf=!1,o(this.data,this.toBBox);},r.prototype._chooseSplitIndex=function(t,e,n){for(var r,i,o,s,u,l,h,f=1/0,p=1/0,d=e;d<=n-e;d++){var y=a(t,0,d,this.toBBox),m=a(t,d,n,this.toBBox),g=(i=y,o=m,void 0,void 0,void 0,void 0,s=Math.max(i.minX,o.minX),u=Math.max(i.minY,o.minY),l=Math.min(i.maxX,o.maxX),h=Math.min(i.maxY,o.maxY),Math.max(0,l-s)*Math.max(0,h-u)),_=c(y)+c(m);g=e;p--){var d=t.children[p];s(u,t.leaf?i(d):d),l+=h(u);}return l},r.prototype._adjustParentBBoxes=function(t,e,n){for(var r=n;r>=0;r--)s(e[r],t);},r.prototype._condense=function(t){for(var e=t.length-1,n=void 0;e>=0;e--)0===t[e].children.length?e>0?(n=t[e-1].children).splice(n.indexOf(t[e]),1):this.clear():o(t[e],this.toBBox);},r}();},6102:(t,e,n)=>{"use strict";var r=n(4472).hasOwnProperty("default")?n(4472).default:n(4472);function i(t,e){return (n=t).length>=2&&"number"==typeof n[0]&&"number"==typeof n[1]?e(t):t.map((function(t){return i(t,e)}));var n;}function o(t,e,n){if(null==n)return n;var r=function(t){if(null==t||"object"!=typeof t)return t;var e=t.constructor();for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);return e}(n),i=o.bind(this,t,e);switch(n.type){case "Feature":r.geometry=i(n.geometry);break;case "FeatureCollection":r.features=r.features.map(i);break;case "GeometryCollection":r.geometries=r.geometries.map(i);break;default:t(r);}return e&&e(r),r}function a(t,e){var n,r=t.crs;if(void 0===r)throw new Error('Unable to detect CRS, GeoJSON has no "crs" property.');if("name"===r.type?n=e[r.properties.name]:"EPSG"===r.type&&(n=e["EPSG:"+r.properties.code]),!n)throw new Error("CRS defined in crs section could not be identified: "+JSON.stringify(r));return n}function s(t,e){return "string"==typeof t||t instanceof String?e[t]||r.Proj(t):t}function u(t,e,n,u){u=u||{},e=e?s(e,u):a(t,u),n=s(n,u);var l=r(e,n).forward.bind(l);function c(t){var e=l(t);return 3===t.length&&void 0!==t[2]&&void 0===e[2]&&(e[2]=t[2]),e}return o((function(t){t.crs&&delete t.crs,t.coordinates=i(t.coordinates,c);}),(function(t){t.bbox&&(t.bbox=function(t){var e=[Number.MAX_VALUE,Number.MAX_VALUE],n=[-Number.MAX_VALUE,-Number.MAX_VALUE];return o((function(t){i(t.coordinates,(function(t){e[0]=Math.min(e[0],t[0]),e[1]=Math.min(e[1],t[1]),n[0]=Math.max(n[0],t[0]),n[1]=Math.max(n[1],t[1]);}));}),null,t),[e[0],e[1],n[0],n[1]]}(t));}),t)}t.exports={detectCrs:a,reproject:u,reverse:function(t){return o((function(t){t.coordinates=i(t.coordinates,(function(t){return [t[1],t[0]]}));}),null,t)},toWgs84:function(t,e,n){return u(t,e,r.WGS84,n)}};},3686:function(t,e){var n=void 0,r=function(e){return n||(n=new Promise((function(n,r){var i,o=void 0!==e?e:{},a=o.onAbort;o.onAbort=function(t){r(new Error(t)),a&&a(t);},o.postRun=o.postRun||[],o.postRun.push((function(){n(o);})),t=void 0,i||(i=void 0!==o?o:{}),i.onRuntimeInitialized=function(){function t(t,e){this.Ka=t,this.db=e,this.Ia=1,this.cb=[];}function e(t,e){if(this.db=e,e=q(t)+1,this.Xa=Ce(e),null===this.Xa)throw Error("Unable to allocate memory for the SQL string");W(t,L,this.Xa,e),this.bb=this.Xa,this.Ta=this.hb=null;}function n(t){if(this.filename="dbfile_"+(4294967295*Math.random()>>>0),null!=t){var e=this.filename,n="/",i=e;if(n&&(n="string"==typeof n?n:Pt(n),i=e?lt(n+"/"+e):n),e=le(!0,!0),i=zt(i,4095&(void 0!==e?e:438)|32768,0),t){if("string"==typeof t){n=Array(t.length);for(var o=0,s=t.length;on;++n)i.parameters.push(r["viii"[n]]);n=new WebAssembly.Function(i,t);}else {for(i={i:127,j:126,f:125,d:124},(r=[1,0,1,96]).push(3),n=0;3>n;++n)r.push(i["iii"[n]]);r.push(0),r[1]=r.length-2,n=new Uint8Array([0,97,115,109,1,0,0,0].concat(r,[2,7,1,1,101,1,102,0,0,7,5,1,1,102,0,0])),n=new WebAssembly.Module(n),n=new WebAssembly.Instance(n,{e:{f:t}}).exports.f;}V.set(e,n);}return T.set(t,e),e}((function(t,n,r){for(var i,o=[],a=0;a{h||(c=require$$2$1,h=require$$1);},s=function(t,e){return f(),t=h.normalize(t),c.readFileSync(t,e?void 0:"utf8")},l=t=>((t=s(t,!0)).buffer||(t=new Uint8Array(t)),t),u=(t,e,n)=>{f(),t=h.normalize(t),c.readFile(t,(function(t,r){t?n(t):e(r.buffer);}));},1{var e=new XMLHttpRequest;return e.open("GET",t,!1),e.send(null),e.responseText},m&&(l=t=>{var e=new XMLHttpRequest;return e.open("GET",t,!1),e.responseType="arraybuffer",e.send(null),new Uint8Array(e.response)}),u=(t,e,n)=>{var r=new XMLHttpRequest;r.open("GET",t,!0),r.responseType="arraybuffer",r.onload=()=>{200==r.status||0==r.status&&r.response?e(r.response):n();},r.onerror=n,r.send(null);});var b=i.print||console.log.bind(console),v=i.printErr||console.warn.bind(console);Object.assign(i,p),p=null,i.thisProgram&&(d=i.thisProgram);var T,E,w=[];function x(t){T.delete(V.get(t)),w.push(t);}function C(t){var e="i32";switch("*"===e.charAt(e.length-1)&&(e="i32"),e){case "i1":case "i8":R[t>>0]=0;break;case "i16":D[t>>1]=0;break;case "i32":k[t>>2]=0;break;case "i64":$=[0,(J=0,1<=+Math.abs(J)?0>>0:~~+Math.ceil((J-+(~~J>>>0))/4294967296)>>>0:0)],k[t>>2]=$[0],k[t+4>>2]=$[1];break;case "float":F[t>>2]=0;break;case "double":U[t>>3]=0;break;default:rt("invalid type for setValue: "+e);}}function M(t,e="i8"){switch("*"===e.charAt(e.length-1)&&(e="i32"),e){case "i1":case "i8":return R[t>>0];case "i16":return D[t>>1];case "i32":case "i64":return k[t>>2];case "float":return F[t>>2];case "double":return Number(U[t>>3]);default:rt("invalid type for getValue: "+e);}return null}i.wasmBinary&&(E=i.wasmBinary),i.noExitRuntime,"object"!=typeof WebAssembly&&rt("no native wasm support detected");var S,N=!1,O=0,A=1;function I(t){var e=O==A?Ie(t.length):Ce(t.length);return t.subarray||t.slice||(t=new Uint8Array(t)),L.set(t,e),e}var P,R,L,D,k,F,U,B="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0;function j(t,e,n){var r=e+n;for(n=e;t[n]&&!(n>=r);)++n;if(16(i=224==(240&i)?(15&i)<<12|o<<6|a:(7&i)<<18|o<<12|a<<6|63&t[e++])?r+=String.fromCharCode(i):(i-=65536,r+=String.fromCharCode(55296|i>>10,56320|1023&i));}}else r+=String.fromCharCode(i);}return r}function G(t,e){return t?j(L,t,e):""}function W(t,e,n,r){if(!(0=a&&(a=65536+((1023&a)<<10)|1023&t.charCodeAt(++o)),127>=a){if(n>=r)break;e[n++]=a;}else {if(2047>=a){if(n+1>=r)break;e[n++]=192|a>>6;}else {if(65535>=a){if(n+2>=r)break;e[n++]=224|a>>12;}else {if(n+3>=r)break;e[n++]=240|a>>18,e[n++]=128|a>>12&63;}e[n++]=128|a>>6&63;}e[n++]=128|63&a;}}return e[n]=0,n-i}function q(t){for(var e=0,n=0;n=r&&(r=65536+((1023&r)<<10)|1023&t.charCodeAt(++n)),127>=r?++e:e=2047>=r?e+2:65535>=r?e+3:e+4;}return e}function H(t){var e=q(t)+1,n=Ce(e);return n&&W(t,R,n,e),n}function z(){var t=S.buffer;P=t,i.HEAP8=R=new Int8Array(t),i.HEAP16=D=new Int16Array(t),i.HEAP32=k=new Int32Array(t),i.HEAPU8=L=new Uint8Array(t),i.HEAPU16=new Uint16Array(t),i.HEAPU32=new Uint32Array(t),i.HEAPF32=F=new Float32Array(t),i.HEAPF64=U=new Float64Array(t);}var V,X=[],Y=[],Z=[];function Q(){var t=i.preRun.shift();X.unshift(t);}var K,J,$,tt=0,et=null,nt=null;function rt(t){throw i.onAbort&&i.onAbort(t),v(t="Aborted("+t+")"),N=!0,new WebAssembly.RuntimeError(t+". Build with -s ASSERTIONS=1 for more info.")}function it(){return K.startsWith("data:application/octet-stream;base64,")}if(i.preloadedImages={},i.preloadedAudios={},K="sql-wasm.wasm",!it()){var ot=K;K=i.locateFile?i.locateFile(ot,_):_+ot;}function at(){var t=K;try{if(t==K&&E)return new Uint8Array(E);if(l)return l(t);throw "both async and sync fetching of the wasm failed"}catch(t){rt(t);}}function st(t){for(;0=e||(e=Math.max(e,n*(1048576>n?2:1.125)>>>0),0!=n&&(e=Math.max(e,256)),n=t.Ha,t.Ha=new Uint8Array(e),0=t.node.La)return 0;if(8<(t=Math.min(t.node.La-i,r))&&o.subarray)e.set(o.subarray(i,i+t),n);else for(r=0;re)throw new Ot(28);return e},kb:function(t,e,n){Et.pb(t.node,e+n),t.node.La=Math.max(t.node.La,e+n);},$a:function(t,e,n,r,i,o){if(0!==e)throw new Ot(28);if(32768!=(61440&t.node.mode))throw new Ot(43);if(t=t.node.Ha,2&o||t.buffer!==P){if((0{if(!(t=ft("/",t)))return {path:"",node:null};if(8<(e=Object.assign({qb:!0,jb:0},e)).jb)throw new Ot(32);t=ut(t.split("/").filter((t=>!!t)),!1);for(var n=wt,r="/",i=0;i{for(var e;;){if(t===t.parent)return t=t.Pa.tb,e?"/"!==t[t.length-1]?t+"/"+e:t+e:t;e=e?t.name+"/"+e:t.name,t=t.parent;}},Rt=(t,e)=>{for(var n=0,r=0;r>>0)%St.length},Lt=t=>{var e=Rt(t.parent.id,t.name);if(St[e]===t)St[e]=t.Va;else for(e=St[e];e;){if(e.Va===t){e.Va=t.Va;break}e=e.Va;}},Dt=(t,e)=>{var n;if(n=(n=Bt(t,"x"))?n:t.Fa.lookup?0:2)throw new Ot(n,t);for(n=St[Rt(t.id,e)];n;n=n.Va){var r=n.name;if(n.parent.id===t.id&&r===e)return n}return t.Fa.lookup(t,e)},kt=(t,e,n,r)=>(t=new Te(t,e,n,r),e=Rt(t.parent.id,t.name),t.Va=St[e],St[e]=t),Ft={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090},Ut=t=>{var e=["r","w","rw"][3&t];return 512&t&&(e+="w"),e},Bt=(t,e)=>Nt?0:!e.includes("r")||292&t.mode?e.includes("w")&&!(146&t.mode)||e.includes("x")&&!(73&t.mode)?2:0:2,jt=(t,e)=>{try{return Dt(t,e),20}catch(t){}return Bt(t,"wx")},Gt=(t,e,n)=>{try{var r=Dt(t,e);}catch(t){return t.Ja}if(t=Bt(t,"wx"))return t;if(n){if(16384!=(61440&r.mode))return 54;if(r===r.parent||"/"===Pt(r))return 10}else if(16384==(61440&r.mode))return 31;return 0},Wt={open:t=>{t.Ga=xt[t.node.rdev].Ga,t.Ga.open&&t.Ga.open(t);},Sa:()=>{throw new Ot(70)}},qt=(t,e)=>{xt[t]={Ga:e};},Ht=(t,e)=>{var n="/"===e,r=!e;if(n&&wt)throw new Ot(10);if(!n&&!r){var i=It(e,{qb:!1});if(e=i.path,(i=i.node).Ua)throw new Ot(10);if(16384!=(61440&i.mode))throw new Ot(54)}e={type:t,Kb:{},tb:e,Db:[]},(t=t.Pa(e)).Pa=e,e.root=t,n?wt=t:i&&(i.Ua=e,i.Pa&&i.Pa.Db.push(e));},zt=(t,e,n)=>{var r=It(t,{parent:!0}).node;if(!(t=ht(t))||"."===t||".."===t)throw new Ot(28);var i=jt(r,t);if(i)throw new Ot(i);if(!r.Fa.Za)throw new Ot(63);return r.Fa.Za(r,t,e,n)},Vt=(t,e)=>zt(t,1023&(void 0!==e?e:511)|16384,0),Xt=(t,e,n)=>{void 0===n&&(n=e,e=438),zt(t,8192|e,n);},Yt=(t,e)=>{if(!ft(t))throw new Ot(44);var n=It(e,{parent:!0}).node;if(!n)throw new Ot(44);e=ht(e);var r=jt(n,e);if(r)throw new Ot(r);if(!n.Fa.symlink)throw new Ot(63);n.Fa.symlink(n,e,t);},Zt=t=>{var e=It(t,{parent:!0}).node;t=ht(t);var n=Dt(e,t),r=Gt(e,t,!0);if(r)throw new Ot(r);if(!e.Fa.rmdir)throw new Ot(63);if(n.Ua)throw new Ot(10);e.Fa.rmdir(e,t),Lt(n);},Qt=t=>{var e=It(t,{parent:!0}).node;if(!e)throw new Ot(44);t=ht(t);var n=Dt(e,t),r=Gt(e,t,!1);if(r)throw new Ot(r);if(!e.Fa.unlink)throw new Ot(63);if(n.Ua)throw new Ot(10);e.Fa.unlink(e,t),Lt(n);},Kt=t=>{if(!(t=It(t).node))throw new Ot(44);if(!t.Fa.readlink)throw new Ot(28);return ft(Pt(t.parent),t.Fa.readlink(t))},Jt=(t,e)=>{if(!(t=It(t,{Ra:!e}).node))throw new Ot(44);if(!t.Fa.Na)throw new Ot(63);return t.Fa.Na(t)},$t=t=>Jt(t,!0),te=(t,e)=>{if(!(t="string"==typeof t?It(t,{Ra:!0}).node:t).Fa.Ma)throw new Ot(63);t.Fa.Ma(t,{mode:4095&e|-4096&t.mode,timestamp:Date.now()});},ee=(t,e)=>{if(0>e)throw new Ot(28);if(!(t="string"==typeof t?It(t,{Ra:!0}).node:t).Fa.Ma)throw new Ot(63);if(16384==(61440&t.mode))throw new Ot(31);if(32768!=(61440&t.mode))throw new Ot(28);var n=Bt(t,"w");if(n)throw new Ot(n);t.Fa.Ma(t,{size:e,timestamp:Date.now()});},ne=(t,e,n,r)=>{if(""===t)throw new Ot(44);if("string"==typeof e){var o=Ft[e];if(void 0===o)throw Error("Unknown file open mode: "+e);e=o;}if(n=64&e?4095&(void 0===n?438:n)|32768:0,"object"==typeof t)var a=t;else {t=lt(t);try{a=It(t,{Ra:!(131072&e)}).node;}catch(t){}}if(o=!1,64&e)if(a){if(128&e)throw new Ot(20)}else a=zt(t,n,0),o=!0;if(!a)throw new Ot(44);if(8192==(61440&a.mode)&&(e&=-513),65536&e&&16384!=(61440&a.mode))throw new Ot(54);if(!o&&(n=a?40960==(61440&a.mode)?32:16384==(61440&a.mode)&&("r"!==Ut(e)||512&e)?31:Bt(a,Ut(e)):44))throw new Ot(n);return 512&e&&ee(a,0),e&=-131713,(r=((t,e)=>(gt||((gt=function(){}).prototype={}),t=Object.assign(new gt,t),e=((t=0,e=4096)=>{for(;t<=e;t++)if(!Ct[t])return t;throw new Ot(33)})(e,void 0),t.fd=e,Ct[e]=t))({node:a,path:Pt(a),flags:e,seekable:!0,position:0,Ga:a.Ga,Hb:[],error:!1},r)).Ga.open&&r.Ga.open(r),!i.logReadFiles||1&e||(_t||(_t={}),t in _t||(_t[t]=1)),r},re=t=>{if(null===t.fd)throw new Ot(8);t.gb&&(t.gb=null);try{t.Ga.close&&t.Ga.close(t);}catch(t){throw t}finally{Ct[t.fd]=null;}t.fd=null;},ie=(t,e,n)=>{if(null===t.fd)throw new Ot(8);if(!t.seekable||!t.Ga.Sa)throw new Ot(70);if(0!=n&&1!=n&&2!=n)throw new Ot(28);t.position=t.Ga.Sa(t,e,n),t.Hb=[];},oe=(t,e,n,r,i)=>{if(0>r||0>i)throw new Ot(28);if(null===t.fd)throw new Ot(8);if(1==(2097155&t.flags))throw new Ot(8);if(16384==(61440&t.node.mode))throw new Ot(31);if(!t.Ga.read)throw new Ot(28);var o=void 0!==i;if(o){if(!t.seekable)throw new Ot(70)}else i=t.position;return e=t.Ga.read(t,e,n,r,i),o||(t.position+=e),e},ae=(t,e,n,r,i,o)=>{if(0>r||0>i)throw new Ot(28);if(null===t.fd)throw new Ot(8);if(0==(2097155&t.flags))throw new Ot(8);if(16384==(61440&t.node.mode))throw new Ot(31);if(!t.Ga.write)throw new Ot(28);t.seekable&&1024&t.flags&&ie(t,0,2);var a=void 0!==i;if(a){if(!t.seekable)throw new Ot(70)}else i=t.position;return e=t.Ga.write(t,e,n,r,i,o),a||(t.position+=e),e},se=t=>{var e,n=ne(t,n||0);t=Jt(t).size;var r=new Uint8Array(t);return oe(n,r,0,t,0),e=r,re(n),e},ue=()=>{Ot||((Ot=function(t,e){this.node=e,this.Gb=function(t){this.Ja=t;},this.Gb(t),this.message="FS error";}).prototype=Error(),Ot.prototype.constructor=Ot,[44].forEach((t=>{At[t]=new Ot(t),At[t].stack="";})));},le=(t,e)=>{var n=0;return t&&(n|=365),e&&(n|=146),n},ce=(t,e,n)=>{t=lt("/dev/"+t);var r=le(!!e,!!n);mt||(mt=64);var i=mt++<<8|0;qt(i,{open:t=>{t.seekable=!1;},close:()=>{n&&n.buffer&&n.buffer.length&&n(10);},read:(t,n,r,i)=>{for(var o=0,a=0;a{for(var o=0;o>2]=r.dev,k[n+4>>2]=0,k[n+8>>2]=r.ino,k[n+12>>2]=r.mode,k[n+16>>2]=r.nlink,k[n+20>>2]=r.uid,k[n+24>>2]=r.gid,k[n+28>>2]=r.rdev,k[n+32>>2]=0,$=[r.size>>>0,(J=r.size,1<=+Math.abs(J)?0>>0:~~+Math.ceil((J-+(~~J>>>0))/4294967296)>>>0:0)],k[n+40>>2]=$[0],k[n+44>>2]=$[1],k[n+48>>2]=4096,k[n+52>>2]=r.blocks,k[n+56>>2]=r.atime.getTime()/1e3|0,k[n+60>>2]=0,k[n+64>>2]=r.mtime.getTime()/1e3|0,k[n+68>>2]=0,k[n+72>>2]=r.ctime.getTime()/1e3|0,k[n+76>>2]=0,$=[r.ino>>>0,(J=r.ino,1<=+Math.abs(J)?0>>0:~~+Math.ceil((J-+(~~J>>>0))/4294967296)>>>0:0)],k[n+80>>2]=$[0],k[n+84>>2]=$[1],0}var de,ye=void 0;function me(){return k[(ye+=4)-4>>2]}function ge(t){if(!(t=Ct[t]))throw new Ot(8);return t}de=g?()=>{var t=browser$1.hrtime();return 1e3*t[0]+t[1]/1e6}:()=>performance.now();var _e,be={};function ve(){if(!_e){var t,e={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:d||"./this.program"};for(t in be)void 0===be[t]?delete e[t]:e[t]=be[t];var n=[];for(t in e)n.push(t+"="+e[t]);_e=n;}return _e}function Te(t,e,n,r){t||(t=this),this.parent=t,this.Pa=t.Pa,this.Ua=null,this.id=Mt++,this.name=e,this.mode=n,this.Fa={},this.Ga={},this.rdev=r;}function Ee(t,e){var n=Array(q(t)+1);return t=W(t,n,0,n.length),e&&(n.length=t),n}Object.defineProperties(Te.prototype,{read:{get:function(){return 365==(365&this.mode)},set:function(t){t?this.mode|=365:this.mode&=-366;}},write:{get:function(){return 146==(146&this.mode)},set:function(t){t?this.mode|=146:this.mode&=-147;}}}),ue(),St=Array(4096),Ht(Et,"/"),Vt("/tmp"),Vt("/home"),Vt("/home/web_user"),(()=>{Vt("/dev"),qt(259,{read:()=>0,write:(t,e,n,r)=>r}),Xt("/dev/null",259),dt(1280,vt),dt(1536,Tt),Xt("/dev/tty",1280),Xt("/dev/tty1",1536);var t=function(){if("object"==typeof crypto&&"function"==typeof crypto.getRandomValues){var t=new Uint8Array(1);return function(){return crypto.getRandomValues(t),t[0]}}if(g)try{var e=require$$3;return function(){return e.randomBytes(1)[0]}}catch(t){}return function(){rt("randomDevice");}}();ce("random",t),ce("urandom",t),Vt("/dev/shm"),Vt("/dev/shm/tmp");})(),(()=>{Vt("/proc");var t=Vt("/proc/self");Vt("/proc/self/fd"),Ht({Pa:()=>{var e=kt(t,"fd",16895,73);return e.Fa={lookup:(t,e)=>{var n=Ct[+e];if(!n)throw new Ot(8);return (t={parent:null,Pa:{tb:"fake"},Fa:{readlink:()=>n.path}}).parent=t}},e}},"/proc/self/fd");})();var we={a:function(t,e,n,r){rt("Assertion failed: "+G(t)+", at: "+[e?G(e):"unknown filename",n,r?G(r):"unknown function"]);},h:function(t,e){try{return t=G(t),te(t,e),0}catch(t){if(void 0===he||!(t instanceof Ot))throw t;return -t.Ja}},H:function(t,e,n){try{if(e=fe(t,e=G(e)),-8&n)var r=-28;else {var i=It(e,{Ra:!0}).node;i?(t="",4&n&&(t+="r"),2&n&&(t+="w"),1&n&&(t+="x"),r=t&&Bt(i,t)?-2:0):r=-44;}return r}catch(t){if(void 0===he||!(t instanceof Ot))throw t;return -t.Ja}},i:function(t,e){try{var n=Ct[t];if(!n)throw new Ot(8);return te(n.node,e),0}catch(t){if(void 0===he||!(t instanceof Ot))throw t;return -t.Ja}},g:function(t){try{var e=Ct[t];if(!e)throw new Ot(8);var n=e.node,r="string"==typeof n?It(n,{Ra:!0}).node:n;if(!r.Fa.Ma)throw new Ot(63);return r.Fa.Ma(r,{timestamp:Date.now()}),0}catch(t){if(void 0===he||!(t instanceof Ot))throw t;return -t.Ja}},b:function(t,e,n){ye=n;try{var r=ge(t);switch(e){case 0:var i=me();return 0>i?-28:ne(r.path,r.flags,0,i).fd;case 1:case 2:case 6:case 7:return 0;case 3:return r.flags;case 4:return i=me(),r.flags|=i,0;case 5:return i=me(),D[i+0>>1]=2,0;case 16:case 8:default:return -28;case 9:return k[xe()>>2]=28,-1}}catch(t){if(void 0===he||!(t instanceof Ot))throw t;return -t.Ja}},G:function(t,e){try{var n=ge(t);return pe(Jt,n.path,e)}catch(t){if(void 0===he||!(t instanceof Ot))throw t;return -t.Ja}},B:function(t,e){try{var n=Ct[t];if(!n)throw new Ot(8);if(0==(2097155&n.flags))throw new Ot(28);return ee(n.node,e),0}catch(t){if(void 0===he||!(t instanceof Ot))throw t;return -t.Ja}},A:function(t,e){try{return 0===e?-28:e=r)var i=-28;else {var o=Kt(e),a=Math.min(r,q(o)),s=R[n+a];W(o,L,n,r+1),R[n+a]=s,i=a;}return i}catch(t){if(void 0===he||!(t instanceof Ot))throw t;return -t.Ja}},r:function(t){try{return t=G(t),Zt(t),0}catch(t){if(void 0===he||!(t instanceof Ot))throw t;return -t.Ja}},F:function(t,e){try{return t=G(t),pe(Jt,t,e)}catch(t){if(void 0===he||!(t instanceof Ot))throw t;return -t.Ja}},o:function(t,e,n){try{return e=fe(t,e=G(e)),0===n?Qt(e):512===n?Zt(e):rt("Invalid flags passed to unlinkat"),0}catch(t){if(void 0===he||!(t instanceof Ot))throw t;return -t.Ja}},m:function(t,e,n){try{if(e=fe(t,e=G(e),!0),n){var r=k[n>>2],i=k[n+4>>2];o=1e3*r+i/1e6,a=1e3*(r=k[(n+=8)>>2])+(i=k[n+4>>2])/1e6;}else var o=Date.now(),a=o;t=o;var s=It(e,{Ra:!0}).node;return s.Fa.Ma(s,{timestamp:Math.max(t,a)}),0}catch(t){if(void 0===he||!(t instanceof Ot))throw t;return -t.Ja}},e:function(){return Date.now()},j:function(t,e){t=new Date(1e3*k[t>>2]),k[e>>2]=t.getSeconds(),k[e+4>>2]=t.getMinutes(),k[e+8>>2]=t.getHours(),k[e+12>>2]=t.getDate(),k[e+16>>2]=t.getMonth(),k[e+20>>2]=t.getFullYear()-1900,k[e+24>>2]=t.getDay();var n=new Date(t.getFullYear(),0,1);k[e+28>>2]=(t.getTime()-n.getTime())/864e5|0,k[e+36>>2]=-60*t.getTimezoneOffset();var r=new Date(t.getFullYear(),6,1).getTimezoneOffset();n=n.getTimezoneOffset(),k[e+32>>2]=0|(r!=n&&t.getTimezoneOffset()==Math.min(n,r));},v:function(t,e,n,r,i,o,a){try{var s=Ct[i];if(!s)return -8;if(0!=(2&n)&&0==(2&r)&&2!=(2097155&s.flags))throw new Ot(2);if(1==(2097155&s.flags))throw new Ot(2);if(!s.Ga.$a)throw new Ot(43);var u=s.Ga.$a(s,t,e,o,n,r),l=u.Eb;return k[a>>2]=u.ub,l}catch(t){if(void 0===he||!(t instanceof Ot))throw t;return -t.Ja}},w:function(t,e,n,r,i,o){try{var a=Ct[i];if(a&&2&n){var s=L.slice(t,t+e);a&&a.Ga.ab&&a.Ga.ab(a,s,o,e,r);}}catch(t){if(void 0===he||!(t instanceof Ot))throw t;return -t.Ja}},n:function t(e,n,r){t.Ab||(t.Ab=!0,function(t,e,n){function r(t){return (t=t.toTimeString().match(/\(([A-Za-z ]+)\)$/))?t[1]:"GMT"}var i=(new Date).getFullYear(),o=new Date(i,0,1),a=new Date(i,6,1);i=o.getTimezoneOffset();var s=a.getTimezoneOffset();k[t>>2]=60*Math.max(i,s),k[e>>2]=Number(i!=s),t=r(o),e=r(a),t=H(t),e=H(e),s>2]=t,k[n+4>>2]=e):(k[n>>2]=e,k[n+4>>2]=t);}(e,n,r));},p:function(){return 2147483648},d:de,c:function(t){var e=L.length;if(2147483648<(t>>>=0))return !1;for(var n=1;4>=n;n*=2){var r=e*(1+.2/n);r=Math.min(r,t+100663296);var i=Math;r=Math.max(t,r),i=i.min.call(i,2147483648,r+(65536-r%65536)%65536);t:{try{S.grow(i-P.byteLength+65535>>>16),z();var o=1;break t}catch(t){}o=void 0;}if(o)return !0}return !1},y:function(t,e){var n=0;return ve().forEach((function(r,i){var o=e+n;for(i=k[t+4*i>>2]=o,o=0;o>0]=r.charCodeAt(o);R[i>>0]=0,n+=r.length+1;})),0},z:function(t,e){var n=ve();k[t>>2]=n.length;var r=0;return n.forEach((function(t){r+=t.length+1;})),k[e>>2]=r,0},f:function(t){try{var e=ge(t);return re(e),0}catch(t){if(void 0===he||!(t instanceof Ot))throw t;return t.Ja}},l:function(t,e){try{var n=ge(t);return R[e>>0]=n.tty?2:16384==(61440&n.mode)?3:40960==(61440&n.mode)?7:4,0}catch(t){if(void 0===he||!(t instanceof Ot))throw t;return t.Ja}},t:function(t,e,n,r){try{t:{for(var i=ge(t),o=t=0;o>2],s=oe(i,R,k[e+8*o>>2],a,void 0);if(0>s){var u=-1;break t}if(t+=s,s>2]=u,0}catch(t){if(void 0===he||!(t instanceof Ot))throw t;return t.Ja}},k:function(t,e,n,r,i){try{var o=ge(t);return -9007199254740992>=(t=4294967296*n+(e>>>0))||9007199254740992<=t?-61:(ie(o,t,r),$=[o.position>>>0,(J=o.position,1<=+Math.abs(J)?0>>0:~~+Math.ceil((J-+(~~J>>>0))/4294967296)>>>0:0)],k[i>>2]=$[0],k[i+4>>2]=$[1],o.gb&&0===t&&0===r&&(o.gb=null),0)}catch(t){if(void 0===he||!(t instanceof Ot))throw t;return t.Ja}},C:function(t){try{var e=ge(t);return e.Ga&&e.Ga.fsync?-e.Ga.fsync(e):0}catch(t){if(void 0===he||!(t instanceof Ot))throw t;return t.Ja}},q:function(t,e,n,r){try{t:{for(var i=ge(t),o=t=0;o>2],k[e+(8*o+4)>>2],void 0);if(0>a){var s=-1;break t}t+=a;}s=t;}return k[r>>2]=s,0}catch(t){if(void 0===he||!(t instanceof Ot))throw t;return t.Ja}}};!function(){function t(t){i.asm=t.exports,S=i.asm.I,z(),V=i.asm.za,Y.unshift(i.asm.J),tt--,i.monitorRunDependencies&&i.monitorRunDependencies(tt),0==tt&&(null!==et&&(clearInterval(et),et=null),nt&&(t=nt,nt=null,t()));}function e(e){t(e.instance);}function n(t){return function(){if(!E&&(y||m)){if("function"==typeof fetch&&!K.startsWith("file://"))return fetch(K,{credentials:"same-origin"}).then((function(t){if(!t.ok)throw "failed to load wasm binary file at '"+K+"'";return t.arrayBuffer()})).catch((function(){return at()}));if(u)return new Promise((function(t,e){u(K,(function(e){t(new Uint8Array(e));}),e);}))}return Promise.resolve().then((function(){return at()}))}().then((function(t){return WebAssembly.instantiate(t,r)})).then((function(t){return t})).then(t,(function(t){v("failed to asynchronously prepare wasm: "+t),rt(t);}))}var r={a:we};if(tt++,i.monitorRunDependencies&&i.monitorRunDependencies(tt),i.instantiateWasm)try{return i.instantiateWasm(r,t)}catch(t){return v("Module.instantiateWasm callback failed with error: "+t),!1}E||"function"!=typeof WebAssembly.instantiateStreaming||it()||K.startsWith("file://")||"function"!=typeof fetch?n(e):fetch(K,{credentials:"same-origin"}).then((function(t){return WebAssembly.instantiateStreaming(t,r).then(e,(function(t){return v("wasm streaming compile failed: "+t),v("falling back to ArrayBuffer instantiation"),n(e)}))}));}(),i.___wasm_call_ctors=function(){return (i.___wasm_call_ctors=i.asm.J).apply(null,arguments)},i._sqlite3_free=function(){return (i._sqlite3_free=i.asm.K).apply(null,arguments)},i._sqlite3_value_double=function(){return (i._sqlite3_value_double=i.asm.L).apply(null,arguments)},i._sqlite3_value_text=function(){return (i._sqlite3_value_text=i.asm.M).apply(null,arguments)};var xe=i.___errno_location=function(){return (xe=i.___errno_location=i.asm.N).apply(null,arguments)};i._sqlite3_prepare_v2=function(){return (i._sqlite3_prepare_v2=i.asm.O).apply(null,arguments)},i._sqlite3_step=function(){return (i._sqlite3_step=i.asm.P).apply(null,arguments)},i._sqlite3_finalize=function(){return (i._sqlite3_finalize=i.asm.Q).apply(null,arguments)},i._sqlite3_reset=function(){return (i._sqlite3_reset=i.asm.R).apply(null,arguments)},i._sqlite3_value_int=function(){return (i._sqlite3_value_int=i.asm.S).apply(null,arguments)},i._sqlite3_clear_bindings=function(){return (i._sqlite3_clear_bindings=i.asm.T).apply(null,arguments)},i._sqlite3_value_blob=function(){return (i._sqlite3_value_blob=i.asm.U).apply(null,arguments)},i._sqlite3_value_bytes=function(){return (i._sqlite3_value_bytes=i.asm.V).apply(null,arguments)},i._sqlite3_value_type=function(){return (i._sqlite3_value_type=i.asm.W).apply(null,arguments)},i._sqlite3_result_blob=function(){return (i._sqlite3_result_blob=i.asm.X).apply(null,arguments)},i._sqlite3_result_double=function(){return (i._sqlite3_result_double=i.asm.Y).apply(null,arguments)},i._sqlite3_result_error=function(){return (i._sqlite3_result_error=i.asm.Z).apply(null,arguments)},i._sqlite3_result_int=function(){return (i._sqlite3_result_int=i.asm._).apply(null,arguments)},i._sqlite3_result_int64=function(){return (i._sqlite3_result_int64=i.asm.$).apply(null,arguments)},i._sqlite3_result_null=function(){return (i._sqlite3_result_null=i.asm.aa).apply(null,arguments)},i._sqlite3_result_text=function(){return (i._sqlite3_result_text=i.asm.ba).apply(null,arguments)},i._sqlite3_sql=function(){return (i._sqlite3_sql=i.asm.ca).apply(null,arguments)},i._sqlite3_column_count=function(){return (i._sqlite3_column_count=i.asm.da).apply(null,arguments)},i._sqlite3_data_count=function(){return (i._sqlite3_data_count=i.asm.ea).apply(null,arguments)},i._sqlite3_column_blob=function(){return (i._sqlite3_column_blob=i.asm.fa).apply(null,arguments)},i._sqlite3_column_bytes=function(){return (i._sqlite3_column_bytes=i.asm.ga).apply(null,arguments)},i._sqlite3_column_double=function(){return (i._sqlite3_column_double=i.asm.ha).apply(null,arguments)},i._sqlite3_column_text=function(){return (i._sqlite3_column_text=i.asm.ia).apply(null,arguments)},i._sqlite3_column_type=function(){return (i._sqlite3_column_type=i.asm.ja).apply(null,arguments)},i._sqlite3_column_name=function(){return (i._sqlite3_column_name=i.asm.ka).apply(null,arguments)},i._sqlite3_bind_blob=function(){return (i._sqlite3_bind_blob=i.asm.la).apply(null,arguments)},i._sqlite3_bind_double=function(){return (i._sqlite3_bind_double=i.asm.ma).apply(null,arguments)},i._sqlite3_bind_int=function(){return (i._sqlite3_bind_int=i.asm.na).apply(null,arguments)},i._sqlite3_bind_text=function(){return (i._sqlite3_bind_text=i.asm.oa).apply(null,arguments)},i._sqlite3_bind_parameter_index=function(){return (i._sqlite3_bind_parameter_index=i.asm.pa).apply(null,arguments)},i._sqlite3_normalized_sql=function(){return (i._sqlite3_normalized_sql=i.asm.qa).apply(null,arguments)},i._sqlite3_errmsg=function(){return (i._sqlite3_errmsg=i.asm.ra).apply(null,arguments)},i._sqlite3_exec=function(){return (i._sqlite3_exec=i.asm.sa).apply(null,arguments)},i._sqlite3_changes=function(){return (i._sqlite3_changes=i.asm.ta).apply(null,arguments)},i._sqlite3_close_v2=function(){return (i._sqlite3_close_v2=i.asm.ua).apply(null,arguments)},i._sqlite3_create_function_v2=function(){return (i._sqlite3_create_function_v2=i.asm.va).apply(null,arguments)},i._sqlite3_open=function(){return (i._sqlite3_open=i.asm.wa).apply(null,arguments)};var Ce=i._malloc=function(){return (Ce=i._malloc=i.asm.xa).apply(null,arguments)},Me=i._free=function(){return (Me=i._free=i.asm.ya).apply(null,arguments)};i._RegisterExtensionFunctions=function(){return (i._RegisterExtensionFunctions=i.asm.Aa).apply(null,arguments)};var Se,Ne=i._emscripten_builtin_memalign=function(){return (Ne=i._emscripten_builtin_memalign=i.asm.Ba).apply(null,arguments)},Oe=i.stackSave=function(){return (Oe=i.stackSave=i.asm.Ca).apply(null,arguments)},Ae=i.stackRestore=function(){return (Ae=i.stackRestore=i.asm.Da).apply(null,arguments)},Ie=i.stackAlloc=function(){return (Ie=i.stackAlloc=i.asm.Ea).apply(null,arguments)};function Pe(){function t(){if(!Se&&(Se=!0,i.calledRun=!0,!N)){if(i.noFSInit||yt||(yt=!0,ue(),i.stdin=i.stdin,i.stdout=i.stdout,i.stderr=i.stderr,i.stdin?ce("stdin",i.stdin):Yt("/dev/tty","/dev/stdin"),i.stdout?ce("stdout",null,i.stdout):Yt("/dev/tty","/dev/stdout"),i.stderr?ce("stderr",null,i.stderr):Yt("/dev/tty1","/dev/stderr"),ne("/dev/stdin",0),ne("/dev/stdout",1),ne("/dev/stderr",1)),Nt=!1,st(Y),i.onRuntimeInitialized&&i.onRuntimeInitialized(),i.postRun)for("function"==typeof i.postRun&&(i.postRun=[i.postRun]);i.postRun.length;){var t=i.postRun.shift();Z.unshift(t);}st(Z);}}if(!(0{var r=n(8764),i=r.Buffer;function o(t,e){for(var n in t)e[n]=t[n];}function a(t,e,n){return i(t,e,n)}i.from&&i.alloc&&i.allocUnsafe&&i.allocUnsafeSlow?t.exports=r:(o(r,e),e.Buffer=a),a.prototype=Object.create(i.prototype),o(i,a),a.from=function(t,e,n){if("number"==typeof t)throw new TypeError("Argument must not be a number");return i(t,e,n)},a.alloc=function(t,e,n){if("number"!=typeof t)throw new TypeError("Argument must be a number");var r=i(t);return void 0!==e?"string"==typeof n?r.fill(e,n):r.fill(e):r.fill(0),r},a.allocUnsafe=function(t){if("number"!=typeof t)throw new TypeError("Argument must be a number");return i(t)},a.allocUnsafeSlow=function(t){if("number"!=typeof t)throw new TypeError("Argument must be a number");return r.SlowBuffer(t)};},6479:(t,e,n)=>{var r;!function(){"use strict";function i(t,e,n){var r=e.x,i=e.y,o=n.x-r,a=n.y-i;if(0!==o||0!==a){var s=((t.x-r)*o+(t.y-i)*a)/(o*o+a*a);s>1?(r=n.x,i=n.y):s>0&&(r+=o*s,i+=a*s);}return (o=t.x-r)*o+(a=t.y-i)*a}function o(t,e,n,r,a){for(var s,u=r,l=e+1;lu&&(s=l,u=c);}u>r&&(s-e>1&&o(t,e,s,r,a),a.push(t[s]),n-s>1&&o(t,s,n,r,a));}function a(t,e){var n=t.length-1,r=[t[0]];return o(t,0,n,e,r),r.push(t[n]),r}function s(t,e,n){if(t.length<=2)return t;var r=void 0!==e?e*e:1;return t=n?t:function(t,e){for(var n,r,i,o,a,s=t[0],u=[s],l=1,c=t.length;le&&(u.push(n),s=n);return s!==n&&u.push(n),u}(t,r),a(t,r)}void 0===(r=function(){return s}.call(e,n,e,t))||(t.exports=r);}();},8501:(t,e,n)=>{var r=n(3570),i=n(5676),o=n(7529),a=n(584),s=n(8575),u=e;u.request=function(t,e){t="string"==typeof t?s.parse(t):o(t);var i=-1===n.g.location.protocol.search(/^https?:$/)?"http:":"",a=t.protocol||i,u=t.hostname||t.host,l=t.port,c=t.path||"/";u&&-1!==u.indexOf(":")&&(u="["+u+"]"),t.url=(u?a+"//"+u:"")+(l?":"+l:"")+c,t.method=(t.method||"GET").toUpperCase(),t.headers=t.headers||{};var h=new r(t);return e&&h.on("response",e),h},u.get=function(t,e){var n=u.request(t,e);return n.end(),n},u.ClientRequest=r,u.IncomingMessage=i.IncomingMessage,u.Agent=function(){},u.Agent.defaultMaxSockets=4,u.globalAgent=new u.Agent,u.STATUS_CODES=a,u.METHODS=["CHECKOUT","CONNECT","COPY","DELETE","GET","HEAD","LOCK","M-SEARCH","MERGE","MKACTIVITY","MKCOL","MOVE","NOTIFY","OPTIONS","PATCH","POST","PROPFIND","PROPPATCH","PURGE","PUT","REPORT","SEARCH","SUBSCRIBE","TRACE","UNLOCK","UNSUBSCRIBE"];},8725:(t,e,n)=>{var r;function i(){if(void 0!==r)return r;if(n.g.XMLHttpRequest){r=new n.g.XMLHttpRequest;try{r.open("GET",n.g.XDomainRequest?"/":"https://example.com");}catch(t){r=null;}}else r=null;return r}function o(t){var e=i();if(!e)return !1;try{return e.responseType=t,e.responseType===t}catch(t){}return !1}function a(t){return "function"==typeof t}e.fetch=a(n.g.fetch)&&a(n.g.ReadableStream),e.writableStream=a(n.g.WritableStream),e.abortController=a(n.g.AbortController),e.arraybuffer=e.fetch||o("arraybuffer"),e.msstream=!e.fetch&&o("ms-stream"),e.mozchunkedarraybuffer=!e.fetch&&o("moz-chunked-arraybuffer"),e.overrideMimeType=e.fetch||!!i()&&a(i().overrideMimeType),r=null;},3570:(t,e,n)=>{var r=n(3085).lW,i=n(4155),o=n(8725),a=n(5717),s=n(5676),u=n(925),l=s.IncomingMessage,c=s.readyStates,h=t.exports=function(t){var e,n=this;u.Writable.call(n),n._opts=t,n._body=[],n._headers={},t.auth&&n.setHeader("Authorization","Basic "+r.from(t.auth).toString("base64")),Object.keys(t.headers).forEach((function(e){n.setHeader(e,t.headers[e]);}));var i=!0;if("disable-fetch"===t.mode||"requestTimeout"in t&&!o.abortController)i=!1,e=!0;else if("prefer-streaming"===t.mode)e=!1;else if("allow-wrong-content-type"===t.mode)e=!o.overrideMimeType;else {if(t.mode&&"default"!==t.mode&&"prefer-fast"!==t.mode)throw new Error("Invalid value for opts.mode");e=!0;}n._mode=function(t,e){return o.fetch&&e?"fetch":o.mozchunkedarraybuffer?"moz-chunked-arraybuffer":o.msstream?"ms-stream":o.arraybuffer&&t?"arraybuffer":"text"}(e,i),n._fetchTimer=null,n._socketTimeout=null,n._socketTimer=null,n.on("finish",(function(){n._onFinish();}));};a(h,u.Writable),h.prototype.setHeader=function(t,e){var n=t.toLowerCase();-1===f.indexOf(n)&&(this._headers[n]={name:t,value:e});},h.prototype.getHeader=function(t){var e=this._headers[t.toLowerCase()];return e?e.value:null},h.prototype.removeHeader=function(t){delete this._headers[t.toLowerCase()];},h.prototype._onFinish=function(){var t=this;if(!t._destroyed){var e=t._opts;"timeout"in e&&0!==e.timeout&&t.setTimeout(e.timeout);var r=t._headers,a=null;"GET"!==e.method&&"HEAD"!==e.method&&(a=new Blob(t._body,{type:(r["content-type"]||{}).value||""}));var s=[];if(Object.keys(r).forEach((function(t){var e=r[t].name,n=r[t].value;Array.isArray(n)?n.forEach((function(t){s.push([e,t]);})):s.push([e,n]);})),"fetch"===t._mode){var u=null;if(o.abortController){var l=new AbortController;u=l.signal,t._fetchAbortController=l,"requestTimeout"in e&&0!==e.requestTimeout&&(t._fetchTimer=n.g.setTimeout((function(){t.emit("requestTimeout"),t._fetchAbortController&&t._fetchAbortController.abort();}),e.requestTimeout));}n.g.fetch(t._opts.url,{method:t._opts.method,headers:s,body:a||void 0,mode:"cors",credentials:e.withCredentials?"include":"same-origin",signal:u}).then((function(e){t._fetchResponse=e,t._resetTimers(!1),t._connect();}),(function(e){t._resetTimers(!0),t._destroyed||t.emit("error",e);}));}else {var h=t._xhr=new n.g.XMLHttpRequest;try{h.open(t._opts.method,t._opts.url,!0);}catch(e){return void i.nextTick((function(){t.emit("error",e);}))}"responseType"in h&&(h.responseType=t._mode),"withCredentials"in h&&(h.withCredentials=!!e.withCredentials),"text"===t._mode&&"overrideMimeType"in h&&h.overrideMimeType("text/plain; charset=x-user-defined"),"requestTimeout"in e&&(h.timeout=e.requestTimeout,h.ontimeout=function(){t.emit("requestTimeout");}),s.forEach((function(t){h.setRequestHeader(t[0],t[1]);})),t._response=null,h.onreadystatechange=function(){switch(h.readyState){case c.LOADING:case c.DONE:t._onXHRProgress();}},"moz-chunked-arraybuffer"===t._mode&&(h.onprogress=function(){t._onXHRProgress();}),h.onerror=function(){t._destroyed||(t._resetTimers(!0),t.emit("error",new Error("XHR error")));};try{h.send(a);}catch(e){return void i.nextTick((function(){t.emit("error",e);}))}}}},h.prototype._onXHRProgress=function(){var t=this;t._resetTimers(!1),function(t){try{var e=t.status;return null!==e&&0!==e}catch(t){return !1}}(t._xhr)&&!t._destroyed&&(t._response||t._connect(),t._response._onXHRProgress(t._resetTimers.bind(t)));},h.prototype._connect=function(){var t=this;t._destroyed||(t._response=new l(t._xhr,t._fetchResponse,t._mode,t._resetTimers.bind(t)),t._response.on("error",(function(e){t.emit("error",e);})),t.emit("response",t._response));},h.prototype._write=function(t,e,n){this._body.push(t),n();},h.prototype._resetTimers=function(t){var e=this;n.g.clearTimeout(e._socketTimer),e._socketTimer=null,t?(n.g.clearTimeout(e._fetchTimer),e._fetchTimer=null):e._socketTimeout&&(e._socketTimer=n.g.setTimeout((function(){e.emit("timeout");}),e._socketTimeout));},h.prototype.abort=h.prototype.destroy=function(t){var e=this;e._destroyed=!0,e._resetTimers(!0),e._response&&(e._response._destroyed=!0),e._xhr?e._xhr.abort():e._fetchAbortController&&e._fetchAbortController.abort(),t&&e.emit("error",t);},h.prototype.end=function(t,e,n){"function"==typeof t&&(n=t,t=void 0),u.Writable.prototype.end.call(this,t,e,n);},h.prototype.setTimeout=function(t,e){var n=this;e&&n.once("timeout",e),n._socketTimeout=t,n._resetTimers(!1);},h.prototype.flushHeaders=function(){},h.prototype.setNoDelay=function(){},h.prototype.setSocketKeepAlive=function(){};var f=["accept-charset","accept-encoding","access-control-request-headers","access-control-request-method","connection","content-length","cookie","cookie2","date","dnt","expect","host","keep-alive","origin","referer","te","trailer","transfer-encoding","upgrade","via"];},5676:(t,e,n)=>{var r=n(4155),i=n(3085).lW,o=n(8725),a=n(5717),s=n(925),u=e.readyStates={UNSENT:0,OPENED:1,HEADERS_RECEIVED:2,LOADING:3,DONE:4},l=e.IncomingMessage=function(t,e,n,a){var u=this;if(s.Readable.call(u),u._mode=n,u.headers={},u.rawHeaders=[],u.trailers={},u.rawTrailers=[],u.on("end",(function(){r.nextTick((function(){u.emit("close");}));})),"fetch"===n){if(u._fetchResponse=e,u.url=e.url,u.statusCode=e.status,u.statusMessage=e.statusText,e.headers.forEach((function(t,e){u.headers[e.toLowerCase()]=t,u.rawHeaders.push(e,t);})),o.writableStream){var l=new WritableStream({write:function(t){return a(!1),new Promise((function(e,n){u._destroyed?n():u.push(i.from(t))?e():u._resumeFetch=e;}))},close:function(){a(!0),u._destroyed||u.push(null);},abort:function(t){a(!0),u._destroyed||u.emit("error",t);}});try{return void e.body.pipeTo(l).catch((function(t){a(!0),u._destroyed||u.emit("error",t);}))}catch(t){}}var c=e.body.getReader();!function t(){c.read().then((function(e){u._destroyed||(a(e.done),e.done?u.push(null):(u.push(i.from(e.value)),t()));})).catch((function(t){a(!0),u._destroyed||u.emit("error",t);}));}();}else if(u._xhr=t,u._pos=0,u.url=t.responseURL,u.statusCode=t.status,u.statusMessage=t.statusText,t.getAllResponseHeaders().split(/\r?\n/).forEach((function(t){var e=t.match(/^([^:]+):\s*(.*)/);if(e){var n=e[1].toLowerCase();"set-cookie"===n?(void 0===u.headers[n]&&(u.headers[n]=[]),u.headers[n].push(e[2])):void 0!==u.headers[n]?u.headers[n]+=", "+e[2]:u.headers[n]=e[2],u.rawHeaders.push(e[1],e[2]);}})),u._charset="x-user-defined",!o.overrideMimeType){var h=u.rawHeaders["mime-type"];if(h){var f=h.match(/;\s*charset=([^;])(;|$)/);f&&(u._charset=f[1].toLowerCase());}u._charset||(u._charset="utf-8");}};a(l,s.Readable),l.prototype._read=function(){var t=this._resumeFetch;t&&(this._resumeFetch=null,t());},l.prototype._onXHRProgress=function(t){var e=this,r=e._xhr,o=null;switch(e._mode){case "text":if((o=r.responseText).length>e._pos){var a=o.substr(e._pos);if("x-user-defined"===e._charset){for(var s=i.alloc(a.length),l=0;le._pos&&(e.push(i.from(new Uint8Array(c.result.slice(e._pos)))),e._pos=c.result.byteLength);},c.onload=function(){t(!0),e.push(null);},c.readAsArrayBuffer(o);}e._xhr.readyState===u.DONE&&"ms-stream"!==e._mode&&(t(!0),e.push(null));};},7303:t=>{"use strict";var e={};function n(t,n,r){r||(r=Error);var i=function(t){var e,r;function i(e,r,i){return t.call(this,function(t,e,r){return "string"==typeof n?n:n(t,e,r)}(e,r,i))||this}return r=t,(e=i).prototype=Object.create(r.prototype),e.prototype.constructor=e,e.__proto__=r,i}(r);i.prototype.name=r.name,i.prototype.code=t,e[t]=i;}function r(t,e){if(Array.isArray(t)){var n=t.length;return t=t.map((function(t){return String(t)})),n>2?"one of ".concat(e," ").concat(t.slice(0,n-1).join(", "),", or ")+t[n-1]:2===n?"one of ".concat(e," ").concat(t[0]," or ").concat(t[1]):"of ".concat(e," ").concat(t[0])}return "of ".concat(e," ").concat(String(t))}n("ERR_INVALID_OPT_VALUE",(function(t,e){return 'The value "'+e+'" is invalid for option "'+t+'"'}),TypeError),n("ERR_INVALID_ARG_TYPE",(function(t,e,n){var i,o,a,s,u;if("string"==typeof e&&(o="not ",e.substr(0,o.length)===o)?(i="must not be",e=e.replace(/^not /,"")):i="must be",function(t,e,n){return (void 0===n||n>t.length)&&(n=t.length),t.substring(n-e.length,n)===e}(t," argument"))a="The ".concat(t," ").concat(i," ").concat(r(e,"type"));else {var l=("number"!=typeof u&&(u=0),u+".".length>(s=t).length||-1===s.indexOf(".",u)?"argument":"property");a='The "'.concat(t,'" ').concat(l," ").concat(i," ").concat(r(e,"type"));}return a+". Received type ".concat(typeof n)}),TypeError),n("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF"),n("ERR_METHOD_NOT_IMPLEMENTED",(function(t){return "The "+t+" method is not implemented"})),n("ERR_STREAM_PREMATURE_CLOSE","Premature close"),n("ERR_STREAM_DESTROYED",(function(t){return "Cannot call "+t+" after a stream was destroyed"})),n("ERR_MULTIPLE_CALLBACK","Callback called multiple times"),n("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable"),n("ERR_STREAM_WRITE_AFTER_END","write after end"),n("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),n("ERR_UNKNOWN_ENCODING",(function(t){return "Unknown encoding: "+t}),TypeError),n("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event"),t.exports.q=e;},9560:(t,e,n)=>{"use strict";var r=n(4155),i=Object.keys||function(t){var e=[];for(var n in t)e.push(n);return e};t.exports=u;const o=n(4002),a=n(3313);n(5717)(u,o);{const t=i(a.prototype);for(var s=0;s{"use strict";t.exports=i;const r=n(1846);function i(t){if(!(this instanceof i))return new i(t);r.call(this,t);}n(5717)(i,r),i.prototype._transform=function(t,e,n){n(null,t);};},4002:(t,e,n)=>{"use strict";var r,i=n(4155);t.exports=C,C.ReadableState=x,n(7187).EventEmitter;var o=function(t,e){return t.listeners(e).length},a=n(1463);const s=n(8764).Buffer,u=(void 0!==n.g?n.g:"undefined"!=typeof window?window:"undefined"!=typeof self?self:{}).Uint8Array||function(){},l=n(3646);let c;c=l&&l.debuglog?l.debuglog("stream"):function(){};const h=n(6641),f=n(4910),p=n(7855).getHighWaterMark,d=n(7303).q,y=d.ERR_INVALID_ARG_TYPE,m=d.ERR_STREAM_PUSH_AFTER_EOF,g=d.ERR_METHOD_NOT_IMPLEMENTED,_=d.ERR_STREAM_UNSHIFT_AFTER_END_EVENT;let b,v,T;n(5717)(C,a);const E=f.errorOrDestroy,w=["error","close","destroy","pause","resume"];function x(t,e,i){r=r||n(9560),t=t||{},"boolean"!=typeof i&&(i=e instanceof r),this.objectMode=!!t.objectMode,i&&(this.objectMode=this.objectMode||!!t.readableObjectMode),this.highWaterMark=p(this,t,"readableHighWaterMark",i),this.buffer=new h,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.paused=!0,this.emitClose=!1!==t.emitClose,this.autoDestroy=!!t.autoDestroy,this.destroyed=!1,this.defaultEncoding=t.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,t.encoding&&(b||(b=n(2553).s),this.decoder=new b(t.encoding),this.encoding=t.encoding);}function C(t){if(r=r||n(9560),!(this instanceof C))return new C(t);const e=this instanceof r;this._readableState=new x(t,this,e),this.readable=!0,t&&("function"==typeof t.read&&(this._read=t.read),"function"==typeof t.destroy&&(this._destroy=t.destroy)),a.call(this);}function M(t,e,n,r,i){c("readableAddChunk",e);var o,a=t._readableState;if(null===e)a.reading=!1,function(t,e){if(c("onEofChunk"),!e.ended){if(e.decoder){var n=e.decoder.end();n&&n.length&&(e.buffer.push(n),e.length+=e.objectMode?1:n.length);}e.ended=!0,e.sync?A(t):(e.needReadable=!1,e.emittedReadable||(e.emittedReadable=!0,I(t)));}}(t,a);else if(i||(o=function(t,e){var n,r;return r=e,s.isBuffer(r)||r instanceof u||"string"==typeof e||void 0===e||t.objectMode||(n=new y("chunk",["string","Buffer","Uint8Array"],e)),n}(a,e)),o)E(t,o);else if(a.objectMode||e&&e.length>0)if("string"==typeof e||a.objectMode||Object.getPrototypeOf(e)===s.prototype||(e=function(t){return s.from(t)}(e)),r)a.endEmitted?E(t,new _):S(t,a,e,!0);else if(a.ended)E(t,new m);else {if(a.destroyed)return !1;a.reading=!1,a.decoder&&!n?(e=a.decoder.write(e),a.objectMode||0!==e.length?S(t,a,e,!1):P(t,a)):S(t,a,e,!1);}else r||(a.reading=!1,P(t,a));return !a.ended&&(a.lengthe.highWaterMark&&(e.highWaterMark=function(t){return t>=N?t=N:(t--,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,t|=t>>>16,t++),t}(t)),t<=e.length?t:e.ended?e.length:(e.needReadable=!0,0))}function A(t){var e=t._readableState;c("emitReadable",e.needReadable,e.emittedReadable),e.needReadable=!1,e.emittedReadable||(c("emitReadable",e.flowing),e.emittedReadable=!0,i.nextTick(I,t));}function I(t){var e=t._readableState;c("emitReadable_",e.destroyed,e.length,e.ended),e.destroyed||!e.length&&!e.ended||(t.emit("readable"),e.emittedReadable=!1),e.needReadable=!e.flowing&&!e.ended&&e.length<=e.highWaterMark,F(t);}function P(t,e){e.readingMore||(e.readingMore=!0,i.nextTick(R,t,e));}function R(t,e){for(;!e.reading&&!e.ended&&(e.length0,e.resumeScheduled&&!e.paused?e.flowing=!0:t.listenerCount("data")>0&&t.resume();}function D(t){c("readable nexttick read 0"),t.read(0);}function k(t,e){c("resume",e.reading),e.reading||t.read(0),e.resumeScheduled=!1,t.emit("resume"),F(t),e.flowing&&!e.reading&&t.read(0);}function F(t){const e=t._readableState;for(c("flow",e.flowing);e.flowing&&null!==t.read(););}function U(t,e){return 0===e.length?null:(e.objectMode?n=e.buffer.shift():!t||t>=e.length?(n=e.decoder?e.buffer.join(""):1===e.buffer.length?e.buffer.first():e.buffer.concat(e.length),e.buffer.clear()):n=e.buffer.consume(t,e.decoder),n);var n;}function B(t){var e=t._readableState;c("endReadable",e.endEmitted),e.endEmitted||(e.ended=!0,i.nextTick(j,e,t));}function j(t,e){if(c("endReadableNT",t.endEmitted,t.length),!t.endEmitted&&0===t.length&&(t.endEmitted=!0,e.readable=!1,e.emit("end"),t.autoDestroy)){const t=e._writableState;(!t||t.autoDestroy&&t.finished)&&e.destroy();}}function G(t,e){for(var n=0,r=t.length;n=e.highWaterMark:e.length>0)||e.ended))return c("read: emitReadable",e.length,e.ended),0===e.length&&e.ended?B(this):A(this),null;if(0===(t=O(t,e))&&e.ended)return 0===e.length&&B(this),null;var r,i=e.needReadable;return c("need readable",i),(0===e.length||e.length-t0?U(t,e):null)?(e.needReadable=e.length<=e.highWaterMark,t=0):(e.length-=t,e.awaitDrain=0),0===e.length&&(e.ended||(e.needReadable=!0),n!==t&&e.ended&&B(this)),null!==r&&this.emit("data",r),r},C.prototype._read=function(t){E(this,new g("_read()"));},C.prototype.pipe=function(t,e){var n=this,r=this._readableState;switch(r.pipesCount){case 0:r.pipes=t;break;case 1:r.pipes=[r.pipes,t];break;default:r.pipes.push(t);}r.pipesCount+=1,c("pipe count=%d opts=%j",r.pipesCount,e);var a=e&&!1===e.end||t===i.stdout||t===i.stderr?y:s;function s(){c("onend"),t.end();}r.endEmitted?i.nextTick(a):n.once("end",a),t.on("unpipe",(function e(i,o){c("onunpipe"),i===n&&o&&!1===o.hasUnpiped&&(o.hasUnpiped=!0,c("cleanup"),t.removeListener("close",p),t.removeListener("finish",d),t.removeListener("drain",u),t.removeListener("error",f),t.removeListener("unpipe",e),n.removeListener("end",s),n.removeListener("end",y),n.removeListener("data",h),l=!0,!r.awaitDrain||t._writableState&&!t._writableState.needDrain||u());}));var u=function(t){return function(){var e=t._readableState;c("pipeOnDrain",e.awaitDrain),e.awaitDrain&&e.awaitDrain--,0===e.awaitDrain&&o(t,"data")&&(e.flowing=!0,F(t));}}(n);t.on("drain",u);var l=!1;function h(e){c("ondata");var i=t.write(e);c("dest.write",i),!1===i&&((1===r.pipesCount&&r.pipes===t||r.pipesCount>1&&-1!==G(r.pipes,t))&&!l&&(c("false write response, pause",r.awaitDrain),r.awaitDrain++),n.pause());}function f(e){c("onerror",e),y(),t.removeListener("error",f),0===o(t,"error")&&E(t,e);}function p(){t.removeListener("finish",d),y();}function d(){c("onfinish"),t.removeListener("close",p),y();}function y(){c("unpipe"),n.unpipe(t);}return n.on("data",h),function(t,e,n){if("function"==typeof t.prependListener)return t.prependListener(e,n);t._events&&t._events[e]?Array.isArray(t._events[e])?t._events[e].unshift(n):t._events[e]=[n,t._events[e]]:t.on(e,n);}(t,"error",f),t.once("close",p),t.once("finish",d),t.emit("pipe",n),r.flowing||(c("pipe resume"),n.resume()),t},C.prototype.unpipe=function(t){var e=this._readableState,n={hasUnpiped:!1};if(0===e.pipesCount)return this;if(1===e.pipesCount)return t&&t!==e.pipes||(t||(t=e.pipes),e.pipes=null,e.pipesCount=0,e.flowing=!1,t&&t.emit("unpipe",this,n)),this;if(!t){var r=e.pipes,i=e.pipesCount;e.pipes=null,e.pipesCount=0,e.flowing=!1;for(var o=0;o0,!1!==r.flowing&&this.resume()):"readable"===t&&(r.endEmitted||r.readableListening||(r.readableListening=r.needReadable=!0,r.flowing=!1,r.emittedReadable=!1,c("on readable",r.length,r.reading),r.length?A(this):r.reading||i.nextTick(D,this))),n},C.prototype.addListener=C.prototype.on,C.prototype.removeListener=function(t,e){const n=a.prototype.removeListener.call(this,t,e);return "readable"===t&&i.nextTick(L,this),n},C.prototype.removeAllListeners=function(t){const e=a.prototype.removeAllListeners.apply(this,arguments);return "readable"!==t&&void 0!==t||i.nextTick(L,this),e},C.prototype.resume=function(){var t=this._readableState;return t.flowing||(c("resume"),t.flowing=!t.readableListening,function(t,e){e.resumeScheduled||(e.resumeScheduled=!0,i.nextTick(k,t,e));}(this,t)),t.paused=!1,this},C.prototype.pause=function(){return c("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(c("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this},C.prototype.wrap=function(t){var e=this._readableState,n=!1;for(var r in t.on("end",(()=>{if(c("wrapped end"),e.decoder&&!e.ended){var t=e.decoder.end();t&&t.length&&this.push(t);}this.push(null);})),t.on("data",(r=>{c("wrapped data"),e.decoder&&(r=e.decoder.write(r)),e.objectMode&&null==r||(e.objectMode||r&&r.length)&&(this.push(r)||(n=!0,t.pause()));})),t)void 0===this[r]&&"function"==typeof t[r]&&(this[r]=function(e){return function(){return t[e].apply(t,arguments)}}(r));for(var i=0;i{c("wrapped _read",e),n&&(n=!1,t.resume());},this},"function"==typeof Symbol&&(C.prototype[Symbol.asyncIterator]=function(){return void 0===v&&(v=n(6819)),v(this)}),Object.defineProperty(C.prototype,"readableHighWaterMark",{enumerable:!1,get:function(){return this._readableState.highWaterMark}}),Object.defineProperty(C.prototype,"readableBuffer",{enumerable:!1,get:function(){return this._readableState&&this._readableState.buffer}}),Object.defineProperty(C.prototype,"readableFlowing",{enumerable:!1,get:function(){return this._readableState.flowing},set:function(t){this._readableState&&(this._readableState.flowing=t);}}),C._fromList=U,Object.defineProperty(C.prototype,"readableLength",{enumerable:!1,get(){return this._readableState.length}}),"function"==typeof Symbol&&(C.from=function(t,e){return void 0===T&&(T=n(8869)),T(C,t,e)});},1846:(t,e,n)=>{"use strict";t.exports=c;const r=n(7303).q,i=r.ERR_METHOD_NOT_IMPLEMENTED,o=r.ERR_MULTIPLE_CALLBACK,a=r.ERR_TRANSFORM_ALREADY_TRANSFORMING,s=r.ERR_TRANSFORM_WITH_LENGTH_0,u=n(9560);function l(t,e){var n=this._transformState;n.transforming=!1;var r=n.writecb;if(null===r)return this.emit("error",new o);n.writechunk=null,n.writecb=null,null!=e&&this.push(e),r(t);var i=this._readableState;i.reading=!1,(i.needReadable||i.length{f(this,t,e);}));}function f(t,e,n){if(e)return t.emit("error",e);if(null!=n&&t.push(n),t._writableState.length)throw new s;if(t._transformState.transforming)throw new a;return t.push(null)}n(5717)(c,u),c.prototype.push=function(t,e){return this._transformState.needTransform=!1,u.prototype.push.call(this,t,e)},c.prototype._transform=function(t,e,n){n(new i("_transform()"));},c.prototype._write=function(t,e,n){var r=this._transformState;if(r.writecb=n,r.writechunk=t,r.writeencoding=e,!r.transforming){var i=this._readableState;(r.needTransform||i.needReadable||i.length{e(t);}));};},3313:(t,e,n)=>{"use strict";var r,i=n(4155);function o(t){this.next=null,this.entry=null,this.finish=()=>{!function(t,e,n){var r=t.entry;for(t.entry=null;r;){var i=r.callback;e.pendingcb--,i(undefined),r=r.next;}e.corkedRequestsFree.next=t;}(this,t);};}t.exports=C,C.WritableState=w;const a={deprecate:n(4927)};var s=n(1463);const u=n(8764).Buffer,l=(void 0!==n.g?n.g:"undefined"!=typeof window?window:"undefined"!=typeof self?self:{}).Uint8Array||function(){},c=n(4910),h=n(7855).getHighWaterMark,f=n(7303).q,p=f.ERR_INVALID_ARG_TYPE,d=f.ERR_METHOD_NOT_IMPLEMENTED,y=f.ERR_MULTIPLE_CALLBACK,m=f.ERR_STREAM_CANNOT_PIPE,g=f.ERR_STREAM_DESTROYED,_=f.ERR_STREAM_NULL_VALUES,b=f.ERR_STREAM_WRITE_AFTER_END,v=f.ERR_UNKNOWN_ENCODING,T=c.errorOrDestroy;function E(){}function w(t,e,a){r=r||n(9560),t=t||{},"boolean"!=typeof a&&(a=e instanceof r),this.objectMode=!!t.objectMode,a&&(this.objectMode=this.objectMode||!!t.writableObjectMode),this.highWaterMark=h(this,t,"writableHighWaterMark",a),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var s=!1===t.decodeStrings;this.decodeStrings=!s,this.defaultEncoding=t.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(t){!function(t,e){var n=t._writableState,r=n.sync,o=n.writecb;if("function"!=typeof o)throw new y;if(function(t){t.writing=!1,t.writecb=null,t.length-=t.writelen,t.writelen=0;}(n),e)!function(t,e,n,r,o){--e.pendingcb,n?(i.nextTick(o,r),i.nextTick(I,t,e),t._writableState.errorEmitted=!0,T(t,r)):(o(r),t._writableState.errorEmitted=!0,T(t,r),I(t,e));}(t,n,r,e,o);else {var a=O(n)||t.destroyed;a||n.corked||n.bufferProcessing||!n.bufferedRequest||N(t,n),r?i.nextTick(S,t,n,a,o):S(t,n,a,o);}}(e,t);},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=!1!==t.emitClose,this.autoDestroy=!!t.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new o(this);}var x;function C(t){const e=this instanceof(r=r||n(9560));if(!e&&!x.call(C,this))return new C(t);this._writableState=new w(t,this,e),this.writable=!0,t&&("function"==typeof t.write&&(this._write=t.write),"function"==typeof t.writev&&(this._writev=t.writev),"function"==typeof t.destroy&&(this._destroy=t.destroy),"function"==typeof t.final&&(this._final=t.final)),s.call(this);}function M(t,e,n,r,i,o,a){e.writelen=r,e.writecb=a,e.writing=!0,e.sync=!0,e.destroyed?e.onwrite(new g("write")):n?t._writev(i,e.onwrite):t._write(i,o,e.onwrite),e.sync=!1;}function S(t,e,n,r){n||function(t,e){0===e.length&&e.needDrain&&(e.needDrain=!1,t.emit("drain"));}(t,e),e.pendingcb--,r(),I(t,e);}function N(t,e){e.bufferProcessing=!0;var n=e.bufferedRequest;if(t._writev&&n&&n.next){var r=e.bufferedRequestCount,i=new Array(r),a=e.corkedRequestsFree;a.entry=n;for(var s=0,u=!0;n;)i[s]=n,n.isBuf||(u=!1),n=n.next,s+=1;i.allBuffers=u,M(t,e,!0,e.length,i,"",a.finish),e.pendingcb++,e.lastBufferedRequest=null,a.next?(e.corkedRequestsFree=a.next,a.next=null):e.corkedRequestsFree=new o(e),e.bufferedRequestCount=0;}else {for(;n;){var l=n.chunk,c=n.encoding,h=n.callback;if(M(t,e,!1,e.objectMode?1:l.length,l,c,h),n=n.next,e.bufferedRequestCount--,e.writing)break}null===n&&(e.lastBufferedRequest=null);}e.bufferedRequest=n,e.bufferProcessing=!1;}function O(t){return t.ending&&0===t.length&&null===t.bufferedRequest&&!t.finished&&!t.writing}function A(t,e){t._final((n=>{e.pendingcb--,n&&T(t,n),e.prefinished=!0,t.emit("prefinish"),I(t,e);}));}function I(t,e){var n=O(e);if(n&&(function(t,e){e.prefinished||e.finalCalled||("function"!=typeof t._final||e.destroyed?(e.prefinished=!0,t.emit("prefinish")):(e.pendingcb++,e.finalCalled=!0,i.nextTick(A,t,e)));}(t,e),0===e.pendingcb&&(e.finished=!0,t.emit("finish"),e.autoDestroy))){const e=t._readableState;(!e||e.autoDestroy&&e.endEmitted)&&t.destroy();}return n}n(5717)(C,s),w.prototype.getBuffer=function(){for(var t=this.bufferedRequest,e=[];t;)e.push(t),t=t.next;return e},function(){try{Object.defineProperty(w.prototype,"buffer",{get:a.deprecate((function(){return this.getBuffer()}),"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")});}catch(t){}}(),"function"==typeof Symbol&&Symbol.hasInstance&&"function"==typeof Function.prototype[Symbol.hasInstance]?(x=Function.prototype[Symbol.hasInstance],Object.defineProperty(C,Symbol.hasInstance,{value:function(t){return !!x.call(this,t)||this===C&&t&&t._writableState instanceof w}})):x=function(t){return t instanceof this},C.prototype.pipe=function(){T(this,new m);},C.prototype.write=function(t,e,n){var r,o=this._writableState,a=!1,s=!o.objectMode&&(r=t,u.isBuffer(r)||r instanceof l);return s&&!u.isBuffer(t)&&(t=function(t){return u.from(t)}(t)),"function"==typeof e&&(n=e,e=null),s?e="buffer":e||(e=o.defaultEncoding),"function"!=typeof n&&(n=E),o.ending?function(t,e){var n=new b;T(t,n),i.nextTick(e,n);}(this,n):(s||function(t,e,n,r){var o;return null===n?o=new _:"string"==typeof n||e.objectMode||(o=new p("chunk",["string","Buffer"],n)),!o||(T(t,o),i.nextTick(r,o),!1)}(this,o,t,n))&&(o.pendingcb++,a=function(t,e,n,r,i,o){if(!n){var a=function(t,e,n){return t.objectMode||!1===t.decodeStrings||"string"!=typeof e||(e=u.from(e,n)),e}(e,r,i);r!==a&&(n=!0,i="buffer",r=a);}var s=e.objectMode?1:r.length;e.length+=s;var l=e.length-1))throw new v(t);return this._writableState.defaultEncoding=t,this},Object.defineProperty(C.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(C.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),C.prototype._write=function(t,e,n){n(new d("_write()"));},C.prototype._writev=null,C.prototype.end=function(t,e,n){var r=this._writableState;return "function"==typeof t?(n=t,t=null,e=null):"function"==typeof e&&(n=e,e=null),null!=t&&this.write(t,e),r.corked&&(r.corked=1,this.uncork()),r.ending||function(t,e,n){e.ending=!0,I(t,e),n&&(e.finished?i.nextTick(n):t.once("finish",n)),e.ended=!0,t.writable=!1;}(this,r,n),this},Object.defineProperty(C.prototype,"writableLength",{enumerable:!1,get(){return this._writableState.length}}),Object.defineProperty(C.prototype,"destroyed",{enumerable:!1,get(){return void 0!==this._writableState&&this._writableState.destroyed},set(t){this._writableState&&(this._writableState.destroyed=t);}}),C.prototype.destroy=c.destroy,C.prototype._undestroy=c.undestroy,C.prototype._destroy=function(t,e){e(t);};},6819:(t,e,n)=>{"use strict";var r=n(4155);const i=n(5467),o=Symbol("lastResolve"),a=Symbol("lastReject"),s=Symbol("error"),u=Symbol("ended"),l=Symbol("lastPromise"),c=Symbol("handlePromise"),h=Symbol("stream");function f(t,e){return {value:t,done:e}}function p(t){const e=t[o];if(null!==e){const n=t[h].read();null!==n&&(t[l]=null,t[o]=null,t[a]=null,e(f(n,!1)));}}function d(t){r.nextTick(p,t);}const y=Object.getPrototypeOf((function(){})),m=Object.setPrototypeOf({get stream(){return this[h]},next(){const t=this[s];if(null!==t)return Promise.reject(t);if(this[u])return Promise.resolve(f(void 0,!0));if(this[h].destroyed)return new Promise(((t,e)=>{r.nextTick((()=>{this[s]?e(this[s]):t(f(void 0,!0));}));}));const e=this[l];let n;if(e)n=new Promise(function(t,e){return (n,r)=>{t.then((()=>{e[u]?n(f(void 0,!0)):e[c](n,r);}),r);}}(e,this));else {const t=this[h].read();if(null!==t)return Promise.resolve(f(t,!1));n=new Promise(this[c]);}return this[l]=n,n},[Symbol.asyncIterator](){return this},return(){return new Promise(((t,e)=>{this[h].destroy(null,(n=>{n?e(n):t(f(void 0,!0));}));}))}},y);t.exports=t=>{const e=Object.create(m,{[h]:{value:t,writable:!0},[o]:{value:null,writable:!0},[a]:{value:null,writable:!0},[s]:{value:null,writable:!0},[u]:{value:t._readableState.endEmitted,writable:!0},[c]:{value:(t,n)=>{const r=e[h].read();r?(e[l]=null,e[o]=null,e[a]=null,t(f(r,!1))):(e[o]=t,e[a]=n);},writable:!0}});return e[l]=null,i(t,(t=>{if(t&&"ERR_STREAM_PREMATURE_CLOSE"!==t.code){const n=e[a];return null!==n&&(e[l]=null,e[o]=null,e[a]=null,n(t)),void(e[s]=t)}const n=e[o];null!==n&&(e[l]=null,e[o]=null,e[a]=null,n(f(void 0,!0))),e[u]=!0;})),t.on("readable",d.bind(null,e)),e};},6641:(t,e,n)=>{"use strict";function r(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r);}return n}function i(t){for(var e=1;e0?this.tail.next=e:this.head=e,this.tail=e,++this.length;}unshift(t){const e={data:t,next:this.head};0===this.length&&(this.tail=e),this.head=e,++this.length;}shift(){if(0===this.length)return;const t=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,t}clear(){this.head=this.tail=null,this.length=0;}join(t){if(0===this.length)return "";for(var e=this.head,n=""+e.data;e=e.next;)n+=t+e.data;return n}concat(t){if(0===this.length)return a.alloc(0);const e=a.allocUnsafe(t>>>0);for(var n,r,i,o=this.head,s=0;o;)n=o.data,r=e,i=s,a.prototype.copy.call(n,r,i),s+=o.data.length,o=o.next;return e}consume(t,e){var n;return ti.length?i.length:t;if(o===i.length?r+=i:r+=i.slice(0,t),0==(t-=o)){o===i.length?(++n,e.next?this.head=e.next:this.head=this.tail=null):(this.head=e,e.data=i.slice(o));break}++n;}return this.length-=n,r}_getBuffer(t){const e=a.allocUnsafe(t);var n=this.head,r=1;for(n.data.copy(e),t-=n.data.length;n=n.next;){const i=n.data,o=t>i.length?i.length:t;if(i.copy(e,e.length-t,0,o),0==(t-=o)){o===i.length?(++r,n.next?this.head=n.next:this.head=this.tail=null):(this.head=n,n.data=i.slice(o));break}++r;}return this.length-=r,e}[u](t,e){return s(this,i(i({},e),{},{depth:0,customInspect:!1}))}};},4910:(t,e,n)=>{"use strict";var r=n(4155);function i(t,e){a(t,e),o(t);}function o(t){t._writableState&&!t._writableState.emitClose||t._readableState&&!t._readableState.emitClose||t.emit("close");}function a(t,e){t.emit("error",e);}t.exports={destroy:function(t,e){const n=this._readableState&&this._readableState.destroyed,s=this._writableState&&this._writableState.destroyed;return n||s?(e?e(t):t&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,r.nextTick(a,this,t)):r.nextTick(a,this,t)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(t||null,(t=>{!e&&t?this._writableState?this._writableState.errorEmitted?r.nextTick(o,this):(this._writableState.errorEmitted=!0,r.nextTick(i,this,t)):r.nextTick(i,this,t):e?(r.nextTick(o,this),e(t)):r.nextTick(o,this);})),this)},undestroy:function(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1);},errorOrDestroy:function(t,e){const n=t._readableState,r=t._writableState;n&&n.autoDestroy||r&&r.autoDestroy?t.destroy(e):t.emit("error",e);}};},5467:(t,e,n)=>{"use strict";const r=n(7303).q.ERR_STREAM_PREMATURE_CLOSE;function i(){}t.exports=function t(e,n,o){if("function"==typeof n)return t(e,null,n);n||(n={}),o=function(t){let e=!1;return function(){if(!e){e=!0;for(var n=arguments.length,r=new Array(n),i=0;i{e.writable||c();};var l=e._writableState&&e._writableState.finished;const c=()=>{s=!1,l=!0,a||o.call(e);};var h=e._readableState&&e._readableState.endEmitted;const f=()=>{a=!1,h=!0,s||o.call(e);},p=t=>{o.call(e,t);},d=()=>{let t;return a&&!h?(e._readableState&&e._readableState.ended||(t=new r),o.call(e,t)):s&&!l?(e._writableState&&e._writableState.ended||(t=new r),o.call(e,t)):void 0},y=()=>{e.req.on("finish",c);};return function(t){return t.setHeader&&"function"==typeof t.abort}(e)?(e.on("complete",c),e.on("abort",d),e.req?y():e.on("request",y)):s&&!e._writableState&&(e.on("end",u),e.on("close",u)),e.on("end",f),e.on("finish",c),!1!==n.error&&e.on("error",p),e.on("close",d),function(){e.removeListener("complete",c),e.removeListener("abort",d),e.removeListener("request",y),e.req&&e.req.removeListener("finish",c),e.removeListener("end",u),e.removeListener("close",u),e.removeListener("finish",c),e.removeListener("end",f),e.removeListener("error",p),e.removeListener("close",d);}};},8869:t=>{t.exports=function(){throw new Error("Readable.from is not available in the browser")};},9689:(t,e,n)=>{"use strict";let r;const i=n(7303).q,o=i.ERR_MISSING_ARGS,a=i.ERR_STREAM_DESTROYED;function s(t){if(t)throw t}function u(t){t();}function l(t,e){return t.pipe(e)}t.exports=function(){for(var t=arguments.length,e=new Array(t),i=0;i{s=!0;})),void 0===r&&(r=n(5467)),r(t,{readable:e,writable:i},(t=>{if(t)return o(t);s=!0,o();}));let u=!1;return e=>{if(!s&&!u)return u=!0,function(t){return t.setHeader&&"function"==typeof t.abort}(t)?t.abort():"function"==typeof t.destroy?t.destroy():void o(e||new a("pipe"))}}(t,o,i>0,(function(t){h||(h=t),t&&f.forEach(u),o||(f.forEach(u),c(h));}))}));return e.reduce(l)};},7855:(t,e,n)=>{"use strict";const r=n(7303).q.ERR_INVALID_OPT_VALUE;t.exports={getHighWaterMark:function(t,e,n,i){const o=function(t,e,n){return null!=t.highWaterMark?t.highWaterMark:e?t[n]:null}(e,i,n);if(null!=o){if(!isFinite(o)||Math.floor(o)!==o||o<0)throw new r(i?n:"highWaterMark",o);return Math.floor(o)}return t.objectMode?16:16384}};},1463:(t,e,n)=>{t.exports=n(7187).EventEmitter;},925:(t,e,n)=>{(e=t.exports=n(4002)).Stream=e,e.Readable=e,e.Writable=n(3313),e.Duplex=n(9560),e.Transform=n(1846),e.PassThrough=n(4842),e.finished=n(5467),e.pipeline=n(9689);},2553:(t,e,n)=>{"use strict";var r=n(9509).Buffer,i=r.isEncoding||function(t){switch((t=""+t)&&t.toLowerCase()){case "hex":case "utf8":case "utf-8":case "ascii":case "binary":case "base64":case "ucs2":case "ucs-2":case "utf16le":case "utf-16le":case "raw":return !0;default:return !1}};function o(t){var e;switch(this.encoding=function(t){var e=function(t){if(!t)return "utf8";for(var e;;)switch(t){case "utf8":case "utf-8":return "utf8";case "ucs2":case "ucs-2":case "utf16le":case "utf-16le":return "utf16le";case "latin1":case "binary":return "latin1";case "base64":case "ascii":case "hex":return t;default:if(e)return;t=(""+t).toLowerCase(),e=!0;}}(t);if("string"!=typeof e&&(r.isEncoding===i||!i(t)))throw new Error("Unknown encoding: "+t);return e||t}(t),this.encoding){case "utf16le":this.text=u,this.end=l,e=4;break;case "utf8":this.fillLast=s,e=4;break;case "base64":this.text=c,this.end=h,e=3;break;default:return this.write=f,void(this.end=p)}this.lastNeed=0,this.lastTotal=0,this.lastChar=r.allocUnsafe(e);}function a(t){return t<=127?0:t>>5==6?2:t>>4==14?3:t>>3==30?4:t>>6==2?-1:-2}function s(t){var e=this.lastTotal-this.lastNeed,n=function(t,e,n){if(128!=(192&e[0]))return t.lastNeed=0,"�";if(t.lastNeed>1&&e.length>1){if(128!=(192&e[1]))return t.lastNeed=1,"�";if(t.lastNeed>2&&e.length>2&&128!=(192&e[2]))return t.lastNeed=2,"�"}}(this,t);return void 0!==n?n:this.lastNeed<=t.length?(t.copy(this.lastChar,e,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(t.copy(this.lastChar,e,0,t.length),void(this.lastNeed-=t.length))}function u(t,e){if((t.length-e)%2==0){var n=t.toString("utf16le",e);if(n){var r=n.charCodeAt(n.length-1);if(r>=55296&&r<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1],n.slice(0,-1)}return n}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=t[t.length-1],t.toString("utf16le",e,t.length-1)}function l(t){var e=t&&t.length?this.write(t):"";if(this.lastNeed){var n=this.lastTotal-this.lastNeed;return e+this.lastChar.toString("utf16le",0,n)}return e}function c(t,e){var n=(t.length-e)%3;return 0===n?t.toString("base64",e):(this.lastNeed=3-n,this.lastTotal=3,1===n?this.lastChar[0]=t[t.length-1]:(this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1]),t.toString("base64",e,t.length-n))}function h(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+this.lastChar.toString("base64",0,3-this.lastNeed):e}function f(t){return t.toString(this.encoding)}function p(t){return t&&t.length?this.write(t):""}e.s=o,o.prototype.write=function(t){if(0===t.length)return "";var e,n;if(this.lastNeed){if(void 0===(e=this.fillLast(t)))return "";n=this.lastNeed,this.lastNeed=0;}else n=0;return n=0?(i>0&&(t.lastNeed=i-1),i):--r=0?(i>0&&(t.lastNeed=i-2),i):--r=0?(i>0&&(2===i?i=0:t.lastNeed=i-3),i):0}(this,t,e);if(!this.lastNeed)return t.toString("utf8",e);this.lastTotal=n;var r=t.length-(n-this.lastNeed);return t.copy(this.lastChar,0,r),t.toString("utf8",e,r)},o.prototype.fillLast=function(t){if(this.lastNeed<=t.length)return t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,t.length),this.lastNeed-=t.length;};},842:(t,e,n)=>{"use strict";var r=n(3085).lW;Object.defineProperty(e,"__esModule",{value:!0}),e.AbstractTokenizer=void 0;const i=n(5167);e.AbstractTokenizer=class{constructor(t){this.position=0,this.numBuffer=new Uint8Array(8),this.fileInfo=t||{};}async readToken(t,e=this.position){const n=r.alloc(t.len);if(await this.readBuffer(n,{position:e})e)return this.position+=e,e}return this.position+=t,t}async close(){}normalizeOptions(t,e){if(e&&void 0!==e.position&&e.position{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.BufferTokenizer=void 0;const r=n(5167),i=n(842);class o extends i.AbstractTokenizer{constructor(t,e){super(e),this.uint8Array=t,this.fileInfo.size=this.fileInfo.size?this.fileInfo.size:t.length;}async readBuffer(t,e){if(e&&e.position){if(e.position{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.fromFile=e.FileTokenizer=void 0;const r=n(842),i=n(5167),o=n(7209);class a extends r.AbstractTokenizer{constructor(t,e){super(e),this.fd=t;}async readBuffer(t,e){const n=this.normalizeOptions(t,e);this.position=n.position;const r=await o.read(this.fd,t,n.offset,n.length,n.position);if(this.position+=r.bytesRead,r.bytesRead{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.readFile=e.writeFileSync=e.writeFile=e.read=e.open=e.close=e.stat=e.createReadStream=e.pathExists=void 0;const r=n(4059);e.pathExists=r.existsSync,e.createReadStream=r.createReadStream,e.stat=async function(t){return new Promise(((e,n)=>{r.stat(t,((t,r)=>{t?n(t):e(r);}));}))},e.close=async function(t){return new Promise(((e,n)=>{r.close(t,(t=>{t?n(t):e();}));}))},e.open=async function(t,e){return new Promise(((n,i)=>{r.open(t,e,((t,e)=>{t?i(t):n(e);}));}))},e.read=async function(t,e,n,i,o){return new Promise(((a,s)=>{r.read(t,e,n,i,o,((t,e,n)=>{t?s(t):a({bytesRead:e,buffer:n});}));}))},e.writeFile=async function(t,e){return new Promise(((n,i)=>{r.writeFile(t,e,(t=>{t?i(t):n();}));}))},e.writeFileSync=function(t,e){r.writeFileSync(t,e);},e.readFile=async function(t){return new Promise(((e,n)=>{r.readFile(t,((t,r)=>{t?n(t):e(r);}));}))};},599:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ReadStreamTokenizer=void 0;const r=n(842),i=n(5167);class o extends r.AbstractTokenizer{constructor(t,e){super(e),this.streamReader=new i.StreamReader(t);}async getFileInfo(){return this.fileInfo}async readBuffer(t,e){const n=this.normalizeOptions(t,e),r=n.position-this.position;if(r>0)return await this.ignore(r),this.readBuffer(t,e);if(r<0)throw new Error("`options.position` must be equal or greater than `tokenizer.position`");if(0===n.length)return 0;const o=await this.streamReader.read(t,n.offset,n.length);if(this.position+=o,(!e||!e.mayBeLess)&&o0){const i=new Uint8Array(n.length+e);return r=await this.peekBuffer(i,{mayBeLess:n.mayBeLess}),t.set(i.subarray(e),n.offset),r-e}if(e<0)throw new Error("Cannot peek from a negative offset in a stream")}if(n.length>0){try{r=await this.streamReader.peek(t,n.offset,n.length);}catch(t){if(e&&e.mayBeLess&&t instanceof i.EndOfStreamError)return 0;throw t}if(!n.mayBeLess&&r{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.fromBuffer=e.fromStream=e.EndOfStreamError=void 0;const r=n(599),i=n(778);var o=n(5167);Object.defineProperty(e,"EndOfStreamError",{enumerable:!0,get:function(){return o.EndOfStreamError}}),e.fromStream=function(t,e){return e=e||{},new r.ReadStreamTokenizer(t,e)},e.fromBuffer=function(t,e){return new i.BufferTokenizer(t,e)};},6597:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.fromStream=e.fromBuffer=e.EndOfStreamError=e.fromFile=void 0;const r=n(7209),i=n(5849);var o=n(7859);Object.defineProperty(e,"fromFile",{enumerable:!0,get:function(){return o.fromFile}});var a=n(5849);Object.defineProperty(e,"EndOfStreamError",{enumerable:!0,get:function(){return a.EndOfStreamError}}),Object.defineProperty(e,"fromBuffer",{enumerable:!0,get:function(){return a.fromBuffer}}),e.fromStream=async function(t,e){if(e=e||{},t.path){const n=await r.stat(t.path);e.path=t.path,e.size=n.size;}return i.fromStream(t,e)};},3416:(t,e,n)=>{"use strict";var r=n(3085).lW;Object.defineProperty(e,"__esModule",{value:!0}),e.AnsiStringType=e.StringType=e.BufferType=e.Uint8ArrayType=e.IgnoreType=e.Float80_LE=e.Float80_BE=e.Float64_LE=e.Float64_BE=e.Float32_LE=e.Float32_BE=e.Float16_LE=e.Float16_BE=e.INT64_BE=e.UINT64_BE=e.INT64_LE=e.UINT64_LE=e.INT32_LE=e.INT32_BE=e.INT24_BE=e.INT24_LE=e.INT16_LE=e.INT16_BE=e.INT8=e.UINT32_BE=e.UINT32_LE=e.UINT24_BE=e.UINT24_LE=e.UINT16_BE=e.UINT16_LE=e.UINT8=void 0;const i=n(645);function o(t){return new DataView(t.buffer,t.byteOffset)}e.UINT8={len:1,get:(t,e)=>o(t).getUint8(e),put:(t,e,n)=>(o(t).setUint8(e,n),e+1)},e.UINT16_LE={len:2,get:(t,e)=>o(t).getUint16(e,!0),put:(t,e,n)=>(o(t).setUint16(e,n,!0),e+2)},e.UINT16_BE={len:2,get:(t,e)=>o(t).getUint16(e),put:(t,e,n)=>(o(t).setUint16(e,n),e+2)},e.UINT24_LE={len:3,get(t,e){const n=o(t);return n.getUint8(e)+(n.getUint16(e+1,!0)<<8)},put(t,e,n){const r=o(t);return r.setUint8(e,255&n),r.setUint16(e+1,n>>8,!0),e+3}},e.UINT24_BE={len:3,get(t,e){const n=o(t);return (n.getUint16(e)<<8)+n.getUint8(e+2)},put(t,e,n){const r=o(t);return r.setUint16(e,n>>8),r.setUint8(e+2,255&n),e+3}},e.UINT32_LE={len:4,get:(t,e)=>o(t).getUint32(e,!0),put:(t,e,n)=>(o(t).setUint32(e,n,!0),e+4)},e.UINT32_BE={len:4,get:(t,e)=>o(t).getUint32(e),put:(t,e,n)=>(o(t).setUint32(e,n),e+4)},e.INT8={len:1,get:(t,e)=>o(t).getInt8(e),put:(t,e,n)=>(o(t).setInt8(e,n),e+1)},e.INT16_BE={len:2,get:(t,e)=>o(t).getInt16(e),put:(t,e,n)=>(o(t).setInt16(e,n),e+2)},e.INT16_LE={len:2,get:(t,e)=>o(t).getInt16(e,!0),put:(t,e,n)=>(o(t).setInt16(e,n,!0),e+2)},e.INT24_LE={len:3,get(t,n){const r=e.UINT24_LE.get(t,n);return r>8388607?r-16777216:r},put(t,e,n){const r=o(t);return r.setUint8(e,255&n),r.setUint16(e+1,n>>8,!0),e+3}},e.INT24_BE={len:3,get(t,n){const r=e.UINT24_BE.get(t,n);return r>8388607?r-16777216:r},put(t,e,n){const r=o(t);return r.setUint16(e,n>>8),r.setUint8(e+2,255&n),e+3}},e.INT32_BE={len:4,get:(t,e)=>o(t).getInt32(e),put:(t,e,n)=>(o(t).setInt32(e,n),e+4)},e.INT32_LE={len:4,get:(t,e)=>o(t).getInt32(e,!0),put:(t,e,n)=>(o(t).setInt32(e,n,!0),e+4)},e.UINT64_LE={len:8,get:(t,e)=>o(t).getBigUint64(e,!0),put:(t,e,n)=>(o(t).setBigUint64(e,n,!0),e+8)},e.INT64_LE={len:8,get:(t,e)=>o(t).getBigInt64(e,!0),put:(t,e,n)=>(o(t).setBigInt64(e,n,!0),e+8)},e.UINT64_BE={len:8,get:(t,e)=>o(t).getBigUint64(e),put:(t,e,n)=>(o(t).setBigUint64(e,n),e+8)},e.INT64_BE={len:8,get:(t,e)=>o(t).getBigInt64(e),put:(t,e,n)=>(o(t).setBigInt64(e,n),e+8)},e.Float16_BE={len:2,get(t,e){return i.read(t,e,!1,10,this.len)},put(t,e,n){return i.write(t,n,e,!1,10,this.len),e+this.len}},e.Float16_LE={len:2,get(t,e){return i.read(t,e,!0,10,this.len)},put(t,e,n){return i.write(t,n,e,!0,10,this.len),e+this.len}},e.Float32_BE={len:4,get:(t,e)=>o(t).getFloat32(e),put:(t,e,n)=>(o(t).setFloat32(e,n),e+4)},e.Float32_LE={len:4,get:(t,e)=>o(t).getFloat32(e,!0),put:(t,e,n)=>(o(t).setFloat32(e,n,!0),e+4)},e.Float64_BE={len:8,get:(t,e)=>o(t).getFloat64(e),put:(t,e,n)=>(o(t).setFloat64(e,n),e+8)},e.Float64_LE={len:8,get:(t,e)=>o(t).getFloat64(e,!0),put:(t,e,n)=>(o(t).setFloat64(e,n,!0),e+8)},e.Float80_BE={len:10,get(t,e){return i.read(t,e,!1,63,this.len)},put(t,e,n){return i.write(t,n,e,!1,63,this.len),e+this.len}},e.Float80_LE={len:10,get(t,e){return i.read(t,e,!0,63,this.len)},put(t,e,n){return i.write(t,n,e,!0,63,this.len),e+this.len}},e.IgnoreType=class{constructor(t){this.len=t;}get(t,e){}},e.Uint8ArrayType=class{constructor(t){this.len=t;}get(t,e){return t.subarray(e,e+this.len)}},e.BufferType=class{constructor(t){this.len=t;}get(t,e){return r.from(t.subarray(e,e+this.len))}},e.StringType=class{constructor(t,e){this.len=t,this.encoding=e;}get(t,e){return r.from(t).toString(this.encoding,e,e+this.len)}};class a{constructor(t){this.len=t;}static decode(t,e,n){let r="";for(let i=e;i>10),56320+(1023&t)))}static singleByteDecoder(t){if(a.inRange(t,0,127))return t;const e=a.windows1252[t-128];if(null===e)throw Error("invaliding encoding");return e}get(t,e=0){return a.decode(t,e,e+this.len)}}e.AnsiStringType=a,a.windows1252=[8364,129,8218,402,8222,8230,8224,8225,710,8240,352,8249,338,141,381,143,144,8216,8217,8220,8221,8226,8211,8212,732,8482,353,8250,339,157,382,376,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255];},1191:function(t,e,n){"use strict";var r=n(4155),i=this&&this.__awaiter||function(t,e,n,r){return new(n||(n=Promise))((function(i,o){function a(t){try{u(r.next(t));}catch(t){o(t);}}function s(t){try{u(r.throw(t));}catch(t){o(t);}}function u(t){var e;t.done?i(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e);}))).then(a,s);}u((r=r.apply(t,e||[])).next());}))},o=this&&this.__generator||function(t,e){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(s){return function(u){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;o&&(o=0,s[0]&&(a=0)),a;)try{if(n=1,r&&(i=2&s[0]?r.return:s[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,s[1])).done)return i;switch(r=0,i&&(s=[2&s[0],i.value]),s[0]){case 0:case 1:i=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,r=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!((i=(i=a.trys).length>0&&i[i.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!i||s[1]>i[0]&&s[1]{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.BoundingBox=void 0;var r=n(5604),i=n(1375),o=function(){function t(e,n,r,i){e instanceof t?(this.minLongitude=e.minLongitude,this.maxLongitude=e.maxLongitude,this.minLatitude=e.minLatitude,this.maxLatitude=e.maxLatitude):(this.minLongitude=e,this.maxLongitude=n,this.minLatitude=r,this.maxLatitude=i);}return Object.defineProperty(t.prototype,"minLongitude",{get:function(){return this._minLongitude},set:function(t){this._minLongitude=t,this.width=this.maxLongitude-this.minLongitude;},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"maxLongitude",{get:function(){return this._maxLongitude},set:function(t){this._maxLongitude=t,this.width=this.maxLongitude-this.minLongitude;},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"minLatitude",{get:function(){return this._minLatitude},set:function(t){this._minLatitude=t,this.height=this.maxLatitude-this.minLatitude;},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"maxLatitude",{get:function(){return this._maxLatitude},set:function(t){this._maxLatitude=t,this.height=this.maxLatitude-this.minLatitude;},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"width",{get:function(){return this._width},set:function(t){this._width=t;},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"height",{get:function(){return this._height},set:function(t){this._height=t;},enumerable:!1,configurable:!0}),t.prototype.buildEnvelope=function(){return {minY:this.minLatitude,minX:this.minLongitude,maxY:this.maxLatitude,maxX:this.maxLongitude}},t.prototype.toGeoJSON=function(){return {type:"Feature",properties:{},geometry:{type:"Polygon",coordinates:[[[this.minLongitude,this.minLatitude],[this.maxLongitude,this.minLatitude],[this.maxLongitude,this.maxLatitude],[this.minLongitude,this.maxLatitude],[this.minLongitude,this.minLatitude]]]}}},t.prototype.equals=function(t){return !!t&&(this===t||this.maxLatitude===t.maxLatitude&&this.minLatitude===t.minLatitude&&this.maxLongitude===t.maxLongitude&&this.maxLatitude===t.maxLatitude)},t.prototype.projectBoundingBox=function(e,n){var o=this.minLatitude,a=this.maxLatitude,s=this.minLongitude,u=this.maxLongitude;if(e&&"undefined"!==e&&n&&"undefined"!==n){r.Projection.isWebMercator(n)&&r.Projection.isWGS84(e)&&(a=Math.min(a,i.ProjectionConstants.WEB_MERCATOR_MAX_LAT_RANGE),o=Math.max(o,i.ProjectionConstants.WEB_MERCATOR_MIN_LAT_RANGE),u=Math.min(u,i.ProjectionConstants.WEB_MERCATOR_MAX_LON_RANGE),s=Math.max(s,i.ProjectionConstants.WEB_MERCATOR_MIN_LON_RANGE));var l=void 0;l=r.Projection.isConverter(n)?n:r.Projection.getConverter(n);var c=void 0;if(c=r.Projection.isConverter(e)?e:r.Projection.getConverter(e),r.Projection.convertersMatch(l,c))return new t(s,u,o,a);var h=l.forward(c.inverse([s,o])),f=l.forward(c.inverse([u,a])),p=l.forward(c.inverse([u,o])),d=l.forward(c.inverse([s,a]));return new t(Math.min(h[0],d[0]),Math.max(f[0],p[0]),Math.min(h[1],p[1]),Math.max(f[1],p[1]))}return this},t}();e.BoundingBox=o;},3437:function(t,e){"use strict";var n=this&&this.__awaiter||function(t,e,n,r){return new(n||(n=Promise))((function(i,o){function a(t){try{u(r.next(t));}catch(t){o(t);}}function s(t){try{u(r.throw(t));}catch(t){o(t);}}function u(t){var e;t.done?i(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e);}))).then(a,s);}u((r=r.apply(t,e||[])).next());}))},r=this&&this.__generator||function(t,e){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(s){return function(u){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;o&&(o=0,s[0]&&(a=0)),a;)try{if(n=1,r&&(i=2&s[0]?r.return:s[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,s[1])).done)return i;switch(r=0,i&&(s=[2&s[0],i.value]),s[0]){case 0:case 1:i=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,r=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!((i=(i=a.trys).length>0&&i[i.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!i||s[1]>i[0]&&s[1]0&&i[i.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!i||s[1]>i[0]&&s[1]{"use strict";var r=n(3085).lW;Object.defineProperty(e,"__esModule",{value:!0}),e.CanvasUtils=void 0;var i=function(){function t(){}return t.base64toUInt8Array=function(t){for(var e=r.from(t,"base64").toString("binary"),n=e.length,i=new Uint8Array(n);n--;)i[n]=e.charCodeAt(n);return i},t}();e.CanvasUtils=i;},2807:function(t,e,n){"use strict";var r=n(3085).lW,i=this&&this.__awaiter||function(t,e,n,r){return new(n||(n=Promise))((function(i,o){function a(t){try{u(r.next(t));}catch(t){o(t);}}function s(t){try{u(r.throw(t));}catch(t){o(t);}}function u(t){var e;t.done?i(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e);}))).then(a,s);}u((r=r.apply(t,e||[])).next());}))},o=this&&this.__generator||function(t,e){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(s){return function(u){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;o&&(o=0,s[0]&&(a=0)),a;)try{if(n=1,r&&(i=2&s[0]?r.return:s[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,s[1])).done)return i;switch(r=0,i&&(s=[2&s[0],i.value]),s[0]){case 0:case 1:i=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,r=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!((i=(i=a.trys).length>0&&i[i.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!i||s[1]>i[0]&&s[1]0&&i[i.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!i||s[1]>i[0]&&s[1]0&&i[i.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!i||s[1]>i[0]&&s[1]{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Contents=void 0;var n=function(){function t(){}return t.prototype.copy=function(){var e=new t;return e.table_name=this.table_name,e.data_type=this.data_type,e.identifier=this.identifier,e.description=this.description,e.min_x=this.min_x,e.max_x=this.max_x,e.min_y=this.min_y,e.max_y=this.max_y,e.srs_id=this.srs_id,e},t.prototype.getTableName=function(){return this.table_name},t}();e.Contents=n;},6638:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);}),o=this&&this.__values||function(t){var e="function"==typeof Symbol&&Symbol.iterator,n=e&&t[e],r=0;if(n)return n.call(t);if(t&&"number"==typeof t.length)return {next:function(){return t&&r>=t.length&&(t=void 0),{value:t&&t[r++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.ContentsDao=void 0;var a=n(4115),s=n(3506),u=n(5925),l=n(1968),c=n(5897),h=n(8572),f=n(2527),p=n(9971),d=n(1375),y=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.gpkgTableName=e.TABLE_NAME,n.idColumns=[e.COLUMN_PK],n}return i(e,t),e.prototype.createObject=function(t){var e=new c.Contents;return t&&(e.table_name=t.table_name,e.data_type=t.data_type,e.identifier=t.identifier,e.description=t.description,e.last_change=t.last_change,e.min_y=t.min_y,e.max_y=t.max_y,e.min_x=t.min_x,e.max_x=t.max_x,e.srs_id=t.srs_id),e},e.prototype.getTables=function(t){var n;if(t){var r=new h.ColumnValues;r.addColumn(e.COLUMN_DATA_TYPE,t),n=this.queryForColumns("table_name",r);}else n=this.queryForColumns("table_name");for(var i=[],o=0;o0&&a.forEach((function(t){o.deleteByMultiId([t.table_name,t.zoom_level]);}));}var s=this.geoPackage.tileMatrixSetDao;if(s.isTableExists()){var u=this.getTileMatrixSet(t);null!=u&&s.deleteById(u.table_name);}break;case p.ContentsDataType.ATTRIBUTES:this.dropTableWithTableName(t.table_name);}else this.dropTableWithTableName(t.table_name);e=this.delete(t);}return e},e.prototype.deleteCascade=function(t,e){var n=this.deleteCascadeContents(t);return e&&this.dropTableWithTableName(t.table_name),n},e.prototype.deleteByIdCascade=function(t,e){var n=0;if(null!=t){var r=this.queryForId(t);null!=r?n=this.deleteCascade(r,e):e&&this.dropTableWithTableName(t);}return n},e.prototype.deleteTable=function(t){try{this.deleteByIdCascade(t,!0);}catch(e){throw new Error("Failed to delete table: "+t)}},e.TABLE_NAME="gpkg_contents",e.COLUMN_PK="table_name",e.COLUMN_TABLE_NAME="table_name",e.COLUMN_DATA_TYPE="data_type",e.COLUMN_IDENTIFIER="identifier",e.COLUMN_DESCRIPTION="description",e.COLUMN_LAST_CHANGE="last_change",e.COLUMN_MIN_X="min_x",e.COLUMN_MIN_Y="min_y",e.COLUMN_MAX_X="max_x",e.COLUMN_MAX_Y="max_y",e.COLUMN_SRS_ID="srs_id",e}(a.Dao);e.ContentsDao=y;},9971:(t,e)=>{"use strict";var n;Object.defineProperty(e,"__esModule",{value:!0}),e.ContentsDataType=void 0,(n=e.ContentsDataType||(e.ContentsDataType={})).FEATURES="features",n.TILES="tiles",n.ATTRIBUTES="attributes",function(t){t.nameFromType=function(e){return t[e]},t.fromName=function(e){var n=null;if(null!=e)switch(e.toLowerCase()){case t.FEATURES:n=t.FEATURES;break;case t.TILES:n=t.TILES;break;case t.ATTRIBUTES:n=t.ATTRIBUTES;}return n};}(e.ContentsDataType||(e.ContentsDataType={}));},341:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SpatialReferenceSystem=void 0;var r=n(5604),i=n(1375),o=function(){function t(){}return Object.defineProperty(t.prototype,"projection",{get:function(){return "NONE"===this.organization?null:!this.organization||this.organization.toUpperCase()!==i.ProjectionConstants.EPSG||this.organization_coordsys_id!==i.ProjectionConstants.EPSG_CODE_4326&&this.organization_coordsys_id!==i.ProjectionConstants.EPSG_CODE_3857?this.definition_12_063&&""!==this.definition_12_063&&"undefined"!==this.definition_12_063?r.Projection.getConverter(this.definition_12_063):this.definition&&""!==this.definition&&"undefined"!==this.definition?r.Projection.getConverter(this.definition):null:r.Projection.getEPSGConverter(this.organization_coordsys_id)},enumerable:!1,configurable:!0}),t.TABLE_NAME="gpkg_spatial_ref_sys",t}();e.SpatialReferenceSystem=o;},5965:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);});Object.defineProperty(e,"__esModule",{value:!0}),e.SpatialReferenceSystemDao=void 0;var o=n(4115),a=n(341),s=n(8572),u=n(1375),l=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.idColumns=[e.COLUMN_SRS_ID],n.gpkgTableName=e.TABLE_NAME,n}return i(e,t),e.prototype.createObject=function(t){var e=new a.SpatialReferenceSystem;return t&&(e.srs_name=t.srs_name,e.srs_id=t.srs_id,e.organization=t.organization,e.organization_coordsys_id=t.organization_coordsys_id,e.definition=t.definition,e.definition_12_063=t.definition,e.description=t.description),e},e.prototype.getAllSpatialReferenceSystems=function(){var t=[];if(null!=this.connection&&this.isTableExists()){var e=this.queryForAll();if(e&&e.length)for(var n=0;n{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ColumnValues=void 0;var n=function(){function t(){this.values={},this.columns=[];}return t.prototype.addColumn=function(t,e){this.columns.push(t),this.values[t]=e;},t.prototype.getValue=function(t){return this.values[t]},t}();e.ColumnValues=n;},4115:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Dao=void 0;var r=n(8572),i=n(8877),o=n(5042),a=function(){function t(t){this.geoPackage=t,this.connection=t.database;}return t.prototype.isTableExists=function(){return this.connection.isTableExists(this.gpkgTableName)},t.prototype.refresh=function(t){return this.queryForSameId(t)},t.prototype.queryForId=function(t){var e=this.buildPkWhere(t),n=this.buildPkWhereArgs(t),r=i.SqliteQueryBuilder.buildQuery(!1,"'"+this.gpkgTableName+"'",void 0,e),o=this.connection.get(r,n);if(o)return this.createObject(o)},t.prototype.queryForSameId=function(t){var e=this.getMultiId(t);return this.queryForMultiId(e)},t.prototype.getMultiId=function(t){for(var e=[],n=0;n{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.DataColumnConstraints=void 0;e.DataColumnConstraints=function(){};},7175:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);});Object.defineProperty(e,"__esModule",{value:!0}),e.DataColumnConstraintsDao=void 0;var o=n(4115),a=n(8590),s=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.gpkgTableName=e.TABLE_NAME,n.idColumns=[e.COLUMN_CONSTRAINT_NAME,e.COLUMN_CONSTRAINT_TYPE,e.COLUMN_VALUE],n}return i(e,t),e.prototype.createObject=function(t){var e=new a.DataColumnConstraints;return t&&(e.constraint_name=t.constraint_name,e.constraint_type=t.constraint_type,e.value=t.value,e.min=t.min,e.max=t.max,e.min_is_inclusive=t.min_is_inclusive,e.max_is_inclusive=t.max_is_inclusive,e.description=t.description),e},e.prototype.queryByConstraintName=function(t){return this.queryForEach(e.COLUMN_CONSTRAINT_NAME,t)},e.prototype.queryUnique=function(t,e,n){var r=new a.DataColumnConstraints;return r.constraint_name=t,r.constraint_type=e,r.value=n,this.queryForSameId(r)},e.TABLE_NAME="gpkg_data_column_constraints",e.COLUMN_CONSTRAINT_NAME="constraint_name",e.COLUMN_CONSTRAINT_TYPE="constraint_type",e.COLUMN_VALUE="value",e.COLUMN_MIN="min",e.COLUMN_MIN_IS_INCLUSIVE="min_is_inclusive",e.COLUMN_MAX="max",e.COLUMN_MAX_IS_INCLUSIVE="max_is_inclusive",e.COLUMN_DESCRIPTION="description",e.ENUM_TYPE="enum",e.GLOB_TYPE="glob",e.RANGE_TYPE="range",e}(o.Dao);e.DataColumnConstraintsDao=s;},8133:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.DataColumns=void 0;e.DataColumns=function(t){t=t||{},this.table_name=t.table_name,this.column_name=t.column_name,this.name=t.name,this.title=t.title,this.description=t.description,this.mime_type=t.mime_type,this.constraint_name=t.constraint_name;};},4941:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);}),o=this&&this.__values||function(t){var e="function"==typeof Symbol&&Symbol.iterator,n=e&&t[e],r=0;if(n)return n.call(t);if(t&&"number"==typeof t.length)return {next:function(){return t&&r>=t.length&&(t=void 0),{value:t&&t[r++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.DataColumnsDao=void 0;var a=n(4115),s=n(6638),u=n(8133),l=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.gpkgTableName=e.TABLE_NAME,n.idColumns=[e.COLUMN_PK1,e.COLUMN_PK2],n}return i(e,t),e.prototype.createObject=function(t){var e=new u.DataColumns;return t&&(e.table_name=t.table_name,e.column_name=t.column_name,e.name=t.name,e.title=t.title,e.description=t.description,e.mime_type=t.mime_type,e.constraint_name=t.constraint_name),e},e.prototype.getContents=function(t){return new s.ContentsDao(this.geoPackage).queryForId(t.table_name)},e.prototype.queryByConstraintName=function(t){return this.queryForEach(e.COLUMN_CONSTRAINT_NAME,t)},e.prototype.getDataColumns=function(t,n){var r,i;if(this.isTableExists()){var a,s=this.buildWhereWithFieldAndValue(e.COLUMN_TABLE_NAME,t)+" and "+this.buildWhereWithFieldAndValue(e.COLUMN_COLUMN_NAME,n),u=[t,n];try{for(var l=o(this.queryWhere(s,u)),c=l.next();!c.done;c=l.next()){var h=c.value;a=this.createObject(h);}}catch(t){r={error:t};}finally{try{c&&!c.done&&(i=l.return)&&i.call(l);}finally{if(r)throw r.error}}return a}},e.prototype.deleteByTableName=function(t){var n="";n+=this.buildWhereWithFieldAndValue(e.COLUMN_TABLE_NAME,t);var r=this.buildWhereArgs(t);return this.deleteWhere(n,r)},e.TABLE_NAME="gpkg_data_columns",e.COLUMN_PK1="table_name",e.COLUMN_PK2="column_name",e.COLUMN_TABLE_NAME="table_name",e.COLUMN_COLUMN_NAME="column_name",e.COLUMN_NAME="name",e.COLUMN_TITLE="title",e.COLUMN_DESCRIPTION="description",e.COLUMN_MIME_TYPE="mime_type",e.COLUMN_CONSTRAINT_NAME="constraint_name",e}(a.Dao);e.DataColumnsDao=l;},8314:(t,e,n)=>{"use strict";var r=n(5108);Object.defineProperty(e,"__esModule",{value:!0}),e.AlterTable=void 0;var i=n(362),o=n(5042),a=n(5329),s=n(2431),u=n(2841),l=n(1133),c=n(7043),h=n(175),f=n(8934),p=n(1078),d=n(735),y=function(){function t(){}return t.alterTableSQL=function(t){return "ALTER TABLE "+a.StringUtils.quoteWrap(t)},t.renameTable=function(e,n,r){var i=t.renameTableSQL(n,r);e.run(i);},t.renameTableSQL=function(e,n){return t.alterTableSQL(e)+" RENAME TO "+a.StringUtils.quoteWrap(n)},t.renameColumn=function(e,n,r,i){var o=t.renameColumnSQL(n,r,i);e.run(o);},t.renameColumnSQL=function(e,n,r){return t.alterTableSQL(e)+" RENAME COLUMN "+a.StringUtils.quoteWrap(n)+" TO "+a.StringUtils.quoteWrap(r)},t.addColumn=function(e,n,r,i){var o=t.addColumnSQL(n,r,i);e.run(o);},t.addColumnSQL=function(e,n,r){return t.alterTableSQL(e)+" ADD COLUMN "+a.StringUtils.quoteWrap(n)+" "+r},t.dropColumnForUserTable=function(e,n,r){t.dropColumnsForUserTable(e,n,[r]);},t.dropColumnsForUserTable=function(e,n,r){var i=n.copy();r.forEach((function(t){i.dropColumnWithName(t);}));var o=new s.TableMapping(i.getTableName(),i.getTableName(),i.getUserColumns().getColumns());r.forEach((function(t){o.addDroppedColumn(t);})),t.alterTableWithTableMapping(e,i,o),r.forEach((function(t){n.dropColumnWithName(t);}));},t.dropColumn=function(e,n,r){t.dropColumns(e,n,[r]);},t.dropColumns=function(e,n,r){var o=new i.UserCustomTableReader(n).readTable(e);t.dropColumnsForUserTable(e,o,r);},t.alterColumnForTable=function(e,n,r){t.alterColumnsForTable(e,n,[r]);},t.alterColumnsForTable=function(e,n,r){var i=n.copy();r.forEach((function(t){i.alterColumn(t);})),t.alterTable(e,i),r.forEach((function(t){n.alterColumn(t);}));},t.alterColumn=function(e,n,r){t.alterColumns(e,n,[r]);},t.alterColumns=function(e,n,r){var o=new i.UserCustomTableReader(n).readTable(e);t.alterColumnsForTable(e,o,r);},t.copyTable=function(e,n,r,i){void 0===i&&(i=!0);var o=new s.TableMapping(n.getTableName(),r,n.getUserColumns().getColumns());o.transferContent=i,t.alterTableWithTableMapping(e,n,o);},t.copyTableWithName=function(e,n,r,o){void 0===o&&(o=!0);var a=new i.UserCustomTableReader(n).readTable(e);t.copyTable(e,a,r,o);},t.alterTable=function(e,n){var r=new s.TableMapping(n.getTableName(),n.getTableName(),n.getUserColumns().getColumns());t.alterTableWithTableMapping(e,n,r);},t.alterTableWithTableMapping=function(e,n,r){n.getUserColumns().getColumns().forEach((function(t){t.clearConstraints().forEach((function(e){var n=o.CoreSQLUtils.modifySQL(null,e.name,e.buildSql(),r);null!=n&&t.addConstraint(new u.RawConstraint(e.type,l.ConstraintParser.getName(n),n));}));})),n.clearConstraints().forEach((function(t){var e=o.CoreSQLUtils.modifySQL(null,t.name,t.buildSql(),r);null!=e&&n.addConstraint(new u.RawConstraint(t.type,t.name,e));}));var i=o.CoreSQLUtils.createTableSQL(n);t.alterTableWithSQLAndTableMapping(e,i,r);},t.alterTableWithSQLAndTableMapping=function(e,n,i){var a=i.fromTable,s=i.isNewTable(),u=o.CoreSQLUtils.setForeignKeys(e,!1);e.transaction((function(){try{var l=c.SQLiteMaster.queryViewsOnTable(e,[h.SQLiteMasterColumn.NAME,h.SQLiteMasterColumn.SQL],a);if(!s)for(var y=0;y0){for(var n=[],r=0;r0&&(n=n.concat(" ")),n=n.concat(r+1).concat(": ");for(var i=e[r],a=0;a0&&(n=n.concat(", ")),n=n.concat(i.get(a));}throw new Error("Foreign Key Check Violations: "+n)}},t}();e.AlterTable=y;},5042:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.CoreSQLUtils=void 0;var r=n(5329),i=n(2431),o=n(5045),a=n(7043),s=n(1078),u=n(175),l=function(){function t(){}return t.createTableSQL=function(e){var n="";n=n.concat("CREATE TABLE ").concat(r.StringUtils.quoteWrap(e.getTableName())).concat(" (");for(var i=e.getUserColumns().getColumns(),o=0;o0&&(n=n.concat(",")),n=(n=n.concat("\n ")).concat(t.columnSQL(a));}return e.getConstraints().all().forEach((function(t){n=(n=n.concat(",\n ")).concat(t.buildSql());})),n=n.concat("\n);")},t.columnSQL=function(e){return r.StringUtils.quoteWrap(e.getName())+" "+t.columnDefinition(e)},t.columnDefinition=function(t){var e="";return e=e.concat(t.getType()),t.hasMax()&&(e=e.concat("(").concat(t.getMax().toString()).concat(")")),t.getConstraints().all().forEach((function(n){e=(e=e.concat(" ")).concat(t.buildConstraintSql(n));})),e.toString()},t.foreignKeys=function(t){var e=t.get("PRAGMA foreign_keys",null)[0];return null!=e&&e},t.setForeignKeys=function(e,n){var r=t.foreignKeys(e);if(r!==n){var i=t.foreignKeysSQL(n);e.run(i);}return r},t.foreignKeysSQL=function(t){return "PRAGMA foreign_keys = "+t},t.foreignKeyCheck=function(e){var n=t.foreignKeyCheckSQL(null);return e.all(n,null)},t.foreignKeyCheckForTable=function(e,n){var r=t.foreignKeyCheckSQL(n);return e.all(r,null)},t.foreignKeyCheckSQL=function(t){return "PRAGMA foreign_key_check"+(null!=t?"("+r.StringUtils.quoteWrap(t)+")":"")},t.integrityCheckSQL=function(){return "PRAGMA integrity_check"},t.quickCheckSQL=function(){return "PRAGMA quick_check"},t.dropTable=function(e,n){var r=t.dropTableSQL(n);e.run(r);},t.dropTableSQL=function(t){return "DROP TABLE IF EXISTS "+r.StringUtils.quoteWrap(t)},t.dropView=function(e,n){var r=t.dropViewSQL(n);e.run(r);},t.dropViewSQL=function(t){return "DROP VIEW IF EXISTS "+r.StringUtils.quoteWrap(t)},t.transferTableContentForTableMapping=function(e,n){var r=t.transferTableContentSQL(n);e.run(r);},t.transferTableContentSQL=function(t){var e="INSERT INTO ";e=(e=e.concat(r.StringUtils.quoteWrap(t.toTable))).concat(" (");var n="",i="";t.hasWhere()&&(i=i.concat(t.where));var o=t.getColumns();return t.getColumnNames().forEach((function(t){var a=t,s=o[t];n.length>0&&(e=e.concat(", "),n=n.concat(", ")),e=e.concat(r.StringUtils.quoteWrap(a)),s.hasConstantValue()?n=n.concat(s.getConstantValueAsString()):(s.hasDefaultValue()&&(n=n.concat("ifnull(")),n=n.concat(r.StringUtils.quoteWrap(s.fromColumn)),s.hasDefaultValue()&&(n=(n=(n=n.concat(",")).concat(s.getDefaultValueAsString())).concat(")"))),s.hasWhereValue()&&(i.length>0&&(i=i.concat(" AND ")),i=(i=(i=(i=(i=i.concat(r.StringUtils.quoteWrap(s.fromColumn))).concat(" ")).concat(s.whereOperator)).concat(" ")).concat(s.getWhereValueAsString()));})),e=(e=(e=(e=e.concat(") SELECT ")).concat(n)).concat(" FROM ")).concat(r.StringUtils.quoteWrap(t.fromTable)),i.length>0&&(e=(e=e.concat(" WHERE ")).concat(i)),e.toString()},t.transferTableContent=function(e,n,r,a,s,u){var l=o.TableInfo.info(e,n),c=i.TableMapping.fromTableInfo(l);null!=u&&c.removeColumn(u);var h=c.getColumn(r);h.constantValue=a,h.whereValue=s,t.transferTableContentForTableMapping(e,c);},t.tempTableName=function(t,e,n){for(var r=e+"_"+n,i=0;t.tableExists(r);)r=e+ ++i+"_"+n;return r},t.modifySQL=function(e,n,r,i){var o=r;if(null!=n&&i.isNewTable()){var a=t.createName(e,n,i.fromTable,i.toTable),s=t.replaceName(o,n,a);null!=s&&(o=s);var u=t.replaceName(o,i.fromTable,i.toTable);null!=u&&(o=u);}return t.modifySQLWithTableMapping(o,i)},t.modifySQLWithTableMapping=function(e,n){for(var r=e,i=Array.from(n.droppedColumns),o=0;o=0){for(var i=!1,o="",a=t.split(e),s=0;s<=a.length;s++){if(s>0){var u="_",l=a[s-1];0===l.length?1==s&&(u=" "):u=l.substring(l.length-1);var c="_";if(s0&&c.match("\\W").length>0?(o=o.concat(n),i=!0):o=o.concat(e);}s=0&&h+10&&(l=l.substring(0,h),c=parseInt(f));}if(o=l+"_"+ ++c,null!=e)for(;a.SQLiteMaster.count(e,null,s.SQLiteMasterQuery.createForColumnValue(u.SQLiteMasterColumn.NAME,o))>0;)o=l+"_"+ ++c;}return o},t.vacuum=function(t){t.run("VACUUM");},t.NUMBER_PATTERN="\\d+",t}();e.CoreSQLUtils=l;},4777:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Db=void 0;var n=function(){function t(){}return t.registerDbAdapter=function(e){t.adapterCreator=e;},t.create=function(e){return new t.adapterCreator(e)},t.adapterCreator=void 0,t}();e.Db=n;},5116:function(t,e,n){"use strict";var r=n(5108),i=n(3085).lW,o=this&&this.__awaiter||function(t,e,n,r){return new(n||(n=Promise))((function(i,o){function a(t){try{u(r.next(t));}catch(t){o(t);}}function s(t){try{u(r.throw(t));}catch(t){o(t);}}function u(t){var e;t.done?i(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e);}))).then(a,s);}u((r=r.apply(t,e||[])).next());}))},a=this&&this.__generator||function(t,e){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(s){return function(u){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;o&&(o=0,s[0]&&(a=0)),a;)try{if(n=1,r&&(i=2&s[0]?r.return:s[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,s[1])).done)return i;switch(r=0,i&&(s=[2&s[0],i.value]),s[0]){case 0:case 1:i=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,r=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!((i=(i=a.trys).length>0&&i[i.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!i||s[1]>i[0]&&s[1]{"use strict";var n;Object.defineProperty(e,"__esModule",{value:!0}),e.GeoPackageDataType=void 0,(n=e.GeoPackageDataType||(e.GeoPackageDataType={}))[n.BOOLEAN=0]="BOOLEAN",n[n.TINYINT=1]="TINYINT",n[n.SMALLINT=2]="SMALLINT",n[n.MEDIUMINT=3]="MEDIUMINT",n[n.INT=4]="INT",n[n.INTEGER=5]="INTEGER",n[n.FLOAT=6]="FLOAT",n[n.DOUBLE=7]="DOUBLE",n[n.REAL=8]="REAL",n[n.TEXT=9]="TEXT",n[n.BLOB=10]="BLOB",n[n.DATE=11]="DATE",n[n.DATETIME=12]="DATETIME",function(t){t.nameFromType=function(e){return t[e]},t.fromName=function(e){return t[e]},t.columnDefaultValue=function(e,n){var r=null;if(null!=e){if(null!=n)switch(n){case t.BOOLEAN:var i=null;if("boolean"==typeof e)i=e;else if("string"==typeof e)switch(e){case "0":case "false":i=!1;break;case "1":case "true":i=!0;}null!=i&&(r=i?"1":"0");break;case t.TEXT:(r=e.toString()).startsWith("'")&&r.endsWith("'")||(r="'"+r+"'");}null==r&&(r=e.toString());}return r};}(e.GeoPackageDataType||(e.GeoPackageDataType={}));},1790:function(t,e,n){"use strict";var r=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.MappedColumn=void 0;var i=n(7319),o=r(n(4293)),a=r(n(8446)),s=function(){function t(t,e,n,r){this._toColumn=t,this._fromColumn=e,this._defaultValue=n,this._dataType=r;}return Object.defineProperty(t.prototype,"toColumn",{get:function(){return this._toColumn},set:function(t){this._toColumn=t;},enumerable:!1,configurable:!0}),t.prototype.hasNewName=function(){return !(0,o.default)(this._fromColumn)&&!(0,a.default)(this._fromColumn,this._toColumn)},Object.defineProperty(t.prototype,"fromColumn",{get:function(){return this._fromColumn},set:function(t){this._fromColumn=t;},enumerable:!1,configurable:!0}),t.prototype.hasDefaultValue=function(){return !(0,o.default)(this._defaultValue)},Object.defineProperty(t.prototype,"defaultValue",{get:function(){return this._defaultValue},set:function(t){this._defaultValue=t;},enumerable:!1,configurable:!0}),t.prototype.getDefaultValueAsString=function(){return i.GeoPackageDataType.columnDefaultValue(this._defaultValue,this._dataType)},Object.defineProperty(t.prototype,"dataType",{get:function(){return this._dataType},set:function(t){this._dataType=t;},enumerable:!1,configurable:!0}),t.prototype.hasConstantValue=function(){return !(0,o.default)(this._constantValue)},Object.defineProperty(t.prototype,"constantValue",{get:function(){return this._constantValue},set:function(t){this._constantValue=t;},enumerable:!1,configurable:!0}),t.prototype.getConstantValueAsString=function(){return i.GeoPackageDataType.columnDefaultValue(this._constantValue,this._dataType)},t.prototype.hasWhereValue=function(){return !(0,o.default)(this._whereValue)},Object.defineProperty(t.prototype,"whereValue",{get:function(){return this._whereValue},set:function(t){this._whereValue=t;},enumerable:!1,configurable:!0}),t.prototype.getWhereValueAsString=function(){return i.GeoPackageDataType.columnDefaultValue(this._whereValue,this._dataType)},t.prototype.setWhereValueAndOperator=function(t,e){this._whereValue=t,this.whereOperator=e;},Object.defineProperty(t.prototype,"whereOperator",{get:function(){return (0,o.default)(this._whereOperator)?"=":this._whereOperator},set:function(t){this._whereOperator=t;},enumerable:!1,configurable:!0}),t}();e.MappedColumn=s;},7043:function(t,e,n){"use strict";var r=this&&this.__read||function(t,e){var n="function"==typeof Symbol&&t[Symbol.iterator];if(!n)return t;var r,i,o=n.call(t),a=[];try{for(;(void 0===e||e-- >0)&&!(r=o.next()).done;)a.push(r.value);}catch(t){i={error:t};}finally{try{r&&!r.done&&(n=o.return)&&n.call(o);}finally{if(i)throw i.error}}return a},i=this&&this.__spreadArray||function(t,e,n){if(n||2===arguments.length)for(var r,i=0,o=e.length;i0){this._results=t,this._count=t.length;for(var n=0;n=this._results.length){var e;throw e=0===this._results.length?"Results are empty":"Row index: "+t+", not within range 0 to "+(this._results.length-1),new Error(e)}return this._results[t]},t.getValue=function(t,e){return t[o.SQLiteMasterColumn.nameFromType(e).toLowerCase()]},t.prototype.getConstraints=function(t){var e=new s.TableConstraints;if(this.getType(t)===a.SQLiteMasterType.TABLE){var n=this.getSql(t);null!=n&&(e=u.ConstraintParser.getConstraints(n));}return e},t.count=function(e,n,r){return t.query(e,null,n,r).count()},t.query=function(e,n,s,u){var l="SELECT ",c=[];if(null!=n&&n.length>0)for(var h=0;h0&&(l=l.concat(", ")),l=l.concat(o.SQLiteMasterColumn.nameFromType(n[h]).toLowerCase());else l=l.concat("count(*) as cnt");l=(l=l.concat(" FROM ")).concat(t.TABLE_NAME);var f=null!=u&&u.has(),p=null!=s&&s.length>0;if((f||p)&&(l=l.concat(" WHERE "),f&&(l=l.concat(u.buildSQL()),c.push.apply(c,i([],r(u.getArguments()),!1))),p)){for(f&&(l=l.concat(" AND")),l=l.concat(" type IN ("),h=0;h0&&(l=l.concat(", ")),l=l.concat("?"),c.push(a.SQLiteMasterType.nameFromType(s[h]).toLowerCase());l=l.concat(")");}return new t(e.all(l,c),n)},t.queryViewsOnTable=function(e,n,r){return t.query(e,n,[a.SQLiteMasterType.VIEW],l.SQLiteMasterQuery.createTableViewQuery(r))},t.countViewsOnTable=function(e,n){return t.count(e,[a.SQLiteMasterType.VIEW],l.SQLiteMasterQuery.createTableViewQuery(n))},t.queryForConstraints=function(e,n){for(var r=new s.TableConstraints,i=t.query(e,[o.SQLiteMasterColumn.TYPE,o.SQLiteMasterColumn.NAME,o.SQLiteMasterColumn.TBL_NAME,o.SQLiteMasterColumn.ROOTPAGE,o.SQLiteMasterColumn.SQL],[a.SQLiteMasterType.TABLE],l.SQLiteMasterQuery.createForColumnValue(o.SQLiteMasterColumn.TBL_NAME,n)),u=0;u{"use strict";var n;Object.defineProperty(e,"__esModule",{value:!0}),e.SQLiteMasterColumn=void 0,(n=e.SQLiteMasterColumn||(e.SQLiteMasterColumn={}))[n.TYPE=0]="TYPE",n[n.NAME=1]="NAME",n[n.TBL_NAME=2]="TBL_NAME",n[n.ROOTPAGE=3]="ROOTPAGE",n[n.SQL=4]="SQL",function(t){t.nameFromType=function(e){return t[e]},t.fromName=function(e){return t[e]},t.asArray=function(){return [t.TYPE,t.NAME,t.TBL_NAME,t.ROOTPAGE,t.SQL]};}(e.SQLiteMasterColumn||(e.SQLiteMasterColumn={}));},1078:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SQLiteMasterQuery=void 0;var r=n(175),i=n(5329),o=function(){function t(t){this.queries=[],this.arguments=[],this.combineOperation=t;}return t.prototype.add=function(t,e,n){this.validateAdd(),this.queries.push("LOWER("+i.StringUtils.quoteWrap(r.SQLiteMasterColumn.nameFromType(t).toLowerCase())+") "+e+" LOWER(?)"),this.arguments.push(n);},t.prototype.addIsNull=function(t){this.validateAdd(),this.queries.push(i.StringUtils.quoteWrap(r.SQLiteMasterColumn.nameFromType(t).toLowerCase())+" IS NULL");},t.prototype.addIsNotNull=function(t){this.validateAdd(),this.queries.push(i.StringUtils.quoteWrap(r.SQLiteMasterColumn.nameFromType(t).toLowerCase())+" IS NOT NULL");},t.prototype.validateAdd=function(){if((null===this.combineOperation||void 0===this.combineOperation)&&0!==this.queries.length)throw new Error("Query without a combination operation supports only a single query")},t.prototype.has=function(){return 0!==this.queries.length},t.prototype.buildSQL=function(){var t="";this.queries.length>1&&(t=t.concat("( "));for(var e=0;e0&&(t=(t=(t=t.concat(" ")).concat(this.combineOperation)).concat(" ")),t=t.concat(this.queries[e]);return this.queries.length>1&&(t=t.concat(" )")),t},t.prototype.getArguments=function(){return this.arguments},t.create=function(){return new t(null)},t.createOr=function(){return new t("OR")},t.createAnd=function(){return new t("AND")},t.createForColumnValue=function(t,e){var n=this.create();return n.add(t,"=",e),n},t.createForOperationAndColumnValue=function(t,e,n){var r=this.create();return r.add(t,e,n),r},t.createOrForColumnValue=function(t,e){var n=this.createOr();return e.forEach((function(e){n.add(t,"=",e);})),n},t.createOrForOperationAndColumnValue=function(t,e,n){var r=this.createOr();return n.forEach((function(n){r.add(t,e,n);})),r},t.createAndForColumnValue=function(t,e){var n=this.createAnd();return e.forEach((function(e){n.add(t,"=",e);})),n},t.createAndForOperationAndColumnValue=function(t,e,n){var r=this.createAnd();return n.forEach((function(n){r.add(t,e,n);})),r},t.createTableViewQuery=function(e){var n=[];return n.push('%"'+e+'"%'),n.push("% "+e+" %"),n.push("%,"+e+" %"),n.push("% "+e+",%"),n.push("%,"+e+",%"),n.push("% "+e),n.push("%,"+e),t.createOrForOperationAndColumnValue(r.SQLiteMasterColumn.SQL,"LIKE",n)},t}();e.SQLiteMasterQuery=o;},8934:(t,e)=>{"use strict";var n;Object.defineProperty(e,"__esModule",{value:!0}),e.SQLiteMasterType=void 0,(n=e.SQLiteMasterType||(e.SQLiteMasterType={}))[n.TABLE=0]="TABLE",n[n.INDEX=1]="INDEX",n[n.VIEW=2]="VIEW",n[n.TRIGGER=3]="TRIGGER",function(t){t.nameFromType=function(e){return t[e]},t.fromName=function(e){return t[e]};}(e.SQLiteMasterType||(e.SQLiteMasterType={}));},922:function(t,e,n){"use strict";var r=n(5108),i=this&&this.__awaiter||function(t,e,n,r){return new(n||(n=Promise))((function(i,o){function a(t){try{u(r.next(t));}catch(t){o(t);}}function s(t){try{u(r.throw(t));}catch(t){o(t);}}function u(t){var e;t.done?i(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e);}))).then(a,s);}u((r=r.apply(t,e||[])).next());}))},o=this&&this.__generator||function(t,e){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(s){return function(u){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;o&&(o=0,s[0]&&(a=0)),a;)try{if(n=1,r&&(i=2&s[0]?r.return:s[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,s[1])).done)return i;switch(r=0,i&&(s=[2&s[0],i.value]),s[0]){case 0:case 1:i=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,r=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!((i=(i=a.trys).length>0&&i[i.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!i||s[1]>i[0]&&s[1]{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SqliteQueryBuilder=void 0;var n=function(){function t(){}return t.fixColumnName=function(t){return t.replace(/\W+/g,"_")},t.buildQuery=function(e,n,r,i,o,a,s,u,l,c){var h="";if(t.isEmpty(a)&&!t.isEmpty(s))throw new Error("Illegal Arguments: having clauses require a groupBy clause");return h+="select ",e&&(h+="distinct "),r&&r.length?h=t.appendColumnsToString(r,h):h+="* ",h+="from "+n,o&&(h+=" "+o),h=t.appendClauseToString(h," where ",i),h=t.appendClauseToString(h," group by ",a),h=t.appendClauseToString(h," having ",s),h=t.appendClauseToString(h," order by ",u),h=t.appendClauseToString(h," limit ",l),t.appendClauseToString(h," offset ",c)},t.buildCount=function(e,n){var r="select count(*) as count from "+e;return t.appendClauseToString(r," where ",n)},t.buildInsert=function(e,n){if(n.columnNames)return t.buildInsertFromColumnNames(e,n);var r="insert into "+e+" (",i="",o="",a=!0;for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&void 0!==n[s]&&(a||(i+=",",o+=","),a=!1,i+=s,o+="$"+t.fixColumnName(s));return r+(i+") values (")+o+")"},t.buildInsertFromColumnNames=function(e,n){for(var r="insert into "+e+" (",i="",o="",a=!0,s=n.columnNames,u=0;u0&&i[i.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!i||s[1]>i[0]&&s[1]=t.length&&(t=void 0),{value:t&&t[r++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},u=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.SqljsAdapter=void 0;var l=u(n(3686)),c=function(){function t(t){this.filePath=t;}return t.setSqljsWasmLocateFile=function(e){t.sqljsWasmLocateFile=e;},t.prototype.initialize=function(){var e=this;return new Promise((function(o,a){new Promise((function(e){null==t.SQL?(0,l.default)({locateFile:t.sqljsWasmLocateFile}).then((function(n){t.SQL=n,e(n);})).catch((function(t){a(t);})):e(t.SQL);})).then((function(t){if(!e.filePath||"string"!=typeof e.filePath){if(e.filePath){var s=e.filePath;return e.db=new t.Database(s),o(e)}return e.db=new t.Database,o(e)}if(void 0!==r&&r.version){var u=n(1929);if(0!==e.filePath.indexOf("http")){try{u.statSync(e.filePath);}catch(n){return e.db=new t.Database,o(e)}var l=u.readFileSync(e.filePath),c=new Uint8Array(l);return e.db=new t.Database(c),o(e)}n(8501).get(e.filePath,(function(n){if(200!==n.statusCode)return a(new Error("Unable to reach url: "+e.filePath));var r=[];n.on("data",(function(t){return r.push(t)})),n.on("end",(function(){var n=new Uint8Array(i.concat(r));e.db=new t.Database(n),o(e);}));})).on("error",(function(t){return a(t)}));}else {var h=new XMLHttpRequest;h.open("GET",e.filePath,!0),h.responseType="arraybuffer",h.onload=function(){if(200!==h.status)return a(new Error("Unable to reach url: "+e.filePath));var n=new Uint8Array(h.response);return e.db=new t.Database(n),o(e)},h.onerror=function(){return a(new Error("Error reaching url: "+e.filePath))},h.send();}})).catch((function(t){a(t);}));}))},t.prototype.close=function(){this.db.close();},t.prototype.getDBConnection=function(){return this.db},t.prototype.export=function(){return o(this,void 0,void 0,(function(){return a(this,(function(t){return [2,this.db.export()]}))}))},t.prototype.registerFunction=function(t,e){return this.db.create_function(t,e),this},t.prototype.get=function(t,e){e=e||[];var n,r=this.db.prepare(t);return r.bind(e),r.step()&&(n=r.getAsObject()),r.free(),n},t.prototype.isTableExists=function(t){var e,n=this.db.prepare("SELECT name FROM sqlite_master WHERE type='table' AND name=:name");return n.bind([t]),n.step()&&(e=n.getAsObject()),n.free(),!!e},t.prototype.all=function(t,e){var n,r,i=[],o=this.each(t,e);try{for(var a=s(o),u=a.next();!u.done;u=a.next()){var l=u.value;i.push(l);}}catch(t){n={error:t};}finally{try{u&&!u.done&&(r=a.return)&&r.call(a);}finally{if(n)throw n.error}}return i},t.prototype.each=function(t,e){var n,r=this.db.prepare(t);return r.bind(e),(n={})[Symbol.iterator]=function(){return this},n.next=function(){return r.step()?{value:r.getAsObject(),done:!1}:(r.free(),{value:void 0,done:!0})},n},t.prototype.run=function(t,e){if(e&&!(e instanceof Array))for(var n in e)e["$"+n]=e[n];this.db.run(t,e);var r,i=this.db.exec("select last_insert_rowid();");return i&&(r=i[0].values[0][0]),{lastInsertRowid:r,changes:this.db.getRowsModified()}},t.prototype.insert=function(t,e){if(e&&!(e instanceof Array))for(var n in e)e["$"+n]=e[n];var r=this.db.prepare(t,e);r.step(),r.free();var i=this.db.exec("select last_insert_rowid();");return i?i[0].values[0][0]:void 0},t.prototype.prepareStatement=function(t){return this.db.prepare(t)},t.prototype.bindAndInsert=function(t,e){if(e&&!(e instanceof Array))for(var n in e)e["$"+n]=void 0===e[n]?null:e[n];return t.run(e).lastInsertRowid},t.prototype.closeStatement=function(t){t.free();},t.prototype.delete=function(t,e){var n,r=this.db.prepare(t,e);return r.step(),n=this.db.getRowsModified(),r.free(),n},t.prototype.dropTable=function(t){var e=this.db.exec('DROP TABLE IF EXISTS "'+t+'"');return this.db.exec("VACUUM"),!!e},t.prototype.count=function(t,e,n){var r='SELECT COUNT(*) as count FROM "'+t+'"';return e&&(r+=" where "+e),this.get(r,n).count},t.prototype.transaction=function(t){this.db.exec("BEGIN TRANSACTION");try{t(),this.db.exec("COMMIT TRANSACTION");}catch(t){throw this.db.exec("ROLLBACK TRANSACTION"),t}},t.sqljsWasmLocateFile=function(t){return t},t}();e.SqljsAdapter=c;},5329:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.StringUtils=void 0;var n=function(){function t(){}return t.quoteWrap=function(t){var e=null;return null!==t&&(e=t.startsWith('"')&&t.endsWith('"')?t:'"'+t+'"'),e},t.quoteUnwrap=function(t){var e=null;return null!=t&&(e=t.startsWith('"')&&t.endsWith('"')?t.substring(1,t.length-1):t),e},t}();e.StringUtils=n;},3765:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ColumnConstraints=void 0;var r=n(7686),i=function(){function t(t){this.name=t,this.constraints=new r.Constraints;}return t.prototype.addConstraint=function(t){this.constraints.add(t);},t.prototype.addConstraints=function(t){this.constraints.addConstraints(t);},t.prototype.getConstraints=function(){return this.constraints},t.prototype.getConstraint=function(t){return t>=this.constraints.size()?null:this.constraints.get(t)},t.prototype.numConstraints=function(){return this.constraints.size()},t.prototype.addColumnConstraints=function(t){null!=t&&this.addConstraints(t.getConstraints());},t.prototype.hasConstraints=function(){return this.constraints.has()},t}();e.ColumnConstraints=i;},8007:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Constraint=void 0;var r=n(5329),i=function(){function t(t,e,n){void 0===n&&(n=Number.MAX_SAFE_INTEGER),this.type=t,this.name=e,this.order=n;}return t.prototype.buildNameSql=function(){var e="";return null!==this.name&&void 0!==this.name&&(e=t.CONSTRAINT+" "+r.StringUtils.quoteWrap(this.name)+" "),e},t.prototype.buildSql=function(){return ""},t.prototype.copy=function(){return new t(this.type,this.name)},t.prototype.getName=function(){return this.name},t.prototype.getType=function(){return this.type},t.prototype.compareTo=function(t){return this.getOrder(this.order)-this.getOrder(t.order)<=0?-1:1},t.prototype.getOrder=function(t){return null!=t?t:Number.MAX_VALUE},t.CONSTRAINT="CONSTRAINT",t}();e.Constraint=i;},1133:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ConstraintParser=void 0;var r=n(4980),i=n(3765),o=n(8007),a=n(91),s=n(2841),u=n(5329),l=function(){function t(){}return t.getConstraints=function(e){var n=new r.TableConstraints,i=-1,o=-1;if(null!=e&&(i=e.indexOf("("),o=e.lastIndexOf(")")),i>=0&&o>=0){for(var a=e.substring(i+1,o).trim(),s=0,u=0,l=0;l0&&(o=o.concat(" ")),o=o.concat(e[a]);var u=t.getName(o);return new s.RawConstraint(i,u,o)},t.getConstraint=function(e,n){var r=null,i=t.getNameAndDefinition(e),o=i[1];if(null!=o){var u,l=o.split(/\s+/)[0];null!=(u=n?a.ConstraintType.getTableType(l):a.ConstraintType.getColumnType(l))&&(r=new s.RawConstraint(u,i[0],e.trim()));}return r},t.getTableConstraint=function(e){return t.getConstraint(e,!0)},t.isTableConstraint=function(e){return null!==t.getTableConstraint(e)},t.getTableType=function(e){var n=null,r=t.getTableConstraint(e);return null!=r&&(n=r.type),n},t.isTableType=function(e,n){var r=!1,i=t.getTableType(n);return null!=i&&(r=e===i),r},t.getColumnConstraint=function(e){return t.getConstraint(e,!1)},t.isColumnConstraint=function(e){return null!=t.getColumnConstraint(e)},t.getColumnType=function(e){var n=null,r=t.getColumnConstraint(e);return null!=r&&(n=r.type),n},t.isColumnType=function(e,n){var r=!1,i=t.getColumnType(n);return null!=i&&(r=e==i),r},t.getTableOrColumnConstraint=function(e){var n=t.getTableConstraint(e);return null==n&&(n=t.getColumnConstraint(e)),n},t.isConstraint=function(e){return null!==t.getTableOrColumnConstraint(e)},t.getType=function(e){var n=null,r=t.getTableOrColumnConstraint(e);return null!=r&&(n=r.getType()),n},t.isType=function(e,n){var r=!1,i=t.getType(n);return null!=i&&(r=e===i),r},t.getName=function(e){var n=null,r=t.NAME_PATTERN(e);return null!==r&&r.length>t.NAME_PATTERN_NAME_GROUP&&(n=u.StringUtils.quoteUnwrap(r[t.NAME_PATTERN_NAME_GROUP])),n},t.getNameAndDefinition=function(e){var n=[null,e],r=t.CONSTRAINT_PATTERN(e.trim());if(null!==r&&r.length>t.CONSTRAINT_PATTERN_DEFINITION_GROUP){var i=u.StringUtils.quoteUnwrap(r[t.CONSTRAINT_PATTERN_NAME_GROUP]);null!=i&&(i=i.trim());var o=r[t.CONSTRAINT_PATTERN_DEFINITION_GROUP];null!=o&&(o=o.trim()),n=[i,o];}return n},t.NAME_PATTERN=function(t){return t.match(/CONSTRAINT\s+("[\s\S]+"|\S+)\s/i)},t.NAME_PATTERN_NAME_GROUP=1,t.CONSTRAINT_PATTERN=function(t){return t.match(/(CONSTRAINT\s+("[\s\S]+"|\S+)\s)?([\s\S]*)/i)},t.CONSTRAINT_PATTERN_NAME_GROUP=2,t.CONSTRAINT_PATTERN_DEFINITION_GROUP=3,t}();e.ConstraintParser=l;},91:(t,e)=>{"use strict";var n;Object.defineProperty(e,"__esModule",{value:!0}),e.ConstraintType=void 0,(n=e.ConstraintType||(e.ConstraintType={}))[n.PRIMARY_KEY=0]="PRIMARY_KEY",n[n.UNIQUE=1]="UNIQUE",n[n.CHECK=2]="CHECK",n[n.FOREIGN_KEY=3]="FOREIGN_KEY",n[n.NOT_NULL=4]="NOT_NULL",n[n.DEFAULT=5]="DEFAULT",n[n.COLLATE=6]="COLLATE",n[n.AUTOINCREMENT=7]="AUTOINCREMENT",function(t){t.nameFromType=function(e){return t[e]},t.fromName=function(e){return t[e]},t.TABLE_CONSTRAINTS=new Set([t.PRIMARY_KEY,t.UNIQUE,t.CHECK,t.FOREIGN_KEY]),t.COLUMN_CONSTRAINTS=new Set([t.PRIMARY_KEY,t.NOT_NULL,t.UNIQUE,t.CHECK,t.DEFAULT,t.COLLATE,t.FOREIGN_KEY,t.AUTOINCREMENT]);var e=new Map;Array.from(t.TABLE_CONSTRAINTS).forEach((function(t){r(e,t);}));var n=new Map;function r(e,n){var r=t.nameFromType(n),i=r.split("_");e.set(i[0],n),i.length>0&&e.set(r.replace("_"," "),n);}function i(t){return e.get(t.toUpperCase())}function o(t){return n.get(t.toUpperCase())}Array.from(t.COLUMN_CONSTRAINTS).forEach((function(t){r(n,t);})),t.getTableType=i,t.getColumnType=o,t.getType=function(t){var e=i(t);return null==e&&(e=o(t)),e};}(e.ConstraintType||(e.ConstraintType={}));},7686:function(t,e,n){"use strict";var r=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.Constraints=void 0;var i=r(n(1159)),o=function(){function t(){this.constraints=[],this.typedConstraints={};}return t.prototype.add=function(t){var e=this.constraints.map((function(t){return t.order})).lastIndexOf(t.order),n=e+1;-1===e&&(n=(0,i.default)(this.constraints.map((function(t){return t.order})),t.order)),n===this.constraints.length?this.constraints.push(t):this.constraints.splice(n,0,t),null!==this.typedConstraints[t.getType()]&&void 0!==this.typedConstraints[t.getType()]||(this.typedConstraints[t.getType()]=[]),this.typedConstraints[t.getType()].push(t);},t.prototype.addConstraintArray=function(t){for(var e=0;e0},t.prototype.hasType=function(t){return 0!==this.getConstraintsForType(t).length},t.prototype.all=function(){return this.constraints},t.prototype.get=function(t){return this.constraints[t]},t.prototype.getConstraintsForType=function(t){var e=this.typedConstraints[t];return null==e&&(e=[]),e},t.prototype.clear=function(){var t=this.constraints.slice();return this.constraints=[],this.typedConstraints={},t},t.prototype.clearConstraintsByType=function(t){var e=this.typedConstraints[t];return delete this.typedConstraints[t],null===e?e=[]:0===e.length&&(this.constraints=this.constraints.filter((function(e){return e.getType()!==t}))),e},t.prototype.copy=function(){var e=new t;return e.addConstraints(this),e},t.prototype.size=function(){return this.constraints.length},t}();e.Constraints=o;},2841:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);});Object.defineProperty(e,"__esModule",{value:!0}),e.RawConstraint=void 0;var o=n(8007),a=function(t){function e(e,n,r,i){void 0===i&&(i=null);var o=t.call(this,e,n,i)||this;return o.sql=r,o}return i(e,t),e.prototype.buildSql=function(){var t=this.sql;return t.toUpperCase().startsWith(o.Constraint.CONSTRAINT)||(t=this.buildNameSql()+t),t},e}(o.Constraint);e.RawConstraint=a;},4033:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TableColumn=void 0;var n=function(){function t(t,e,n,r,i,o,a,s,u,l){this.index=t,this.name=e,this.type=n,this.dataType=r,this.max=i,this.notNull=o,this.defaultValueString=a,this.defaultValue=s,this.primaryKey=u,this.autoincrement=l;}return t.prototype.getIndex=function(){return this.index},t.prototype.getName=function(){return this.name},t.prototype.getType=function(){return this.type},t.prototype.getDataType=function(){return this.dataType},t.prototype.isDataType=function(t){return this.dataType===t},t.prototype.getMax=function(){return this.max},t.prototype.isNotNull=function(){return this.notNull},t.prototype.getDefaultValueString=function(){return this.defaultValueString},t.prototype.getDefaultValue=function(){return this.defaultValue},t.prototype.isPrimaryKey=function(){return this.primaryKey},t.prototype.isAutoIncrement=function(){return this.autoincrement},t}();e.TableColumn=n;},4980:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TableConstraints=void 0;var r=n(3765),i=n(7686),o=function(){function t(){this.constraints=new i.Constraints,this.columnConstraints={};}return t.prototype.addTableConstraint=function(t){this.constraints.add(t);},t.prototype.addTableConstraints=function(t){this.constraints.addConstraints(t);},t.prototype.getTableConstraints=function(){return this.constraints},t.prototype.getTableConstraint=function(t){return t>=this.constraints.size()?null:this.constraints.get(t)},t.prototype.numTableConstraints=function(){return this.constraints.size()},t.prototype.addColumnConstraint=function(t,e){this.getOrCreateColumnConstraints(t).addConstraint(e);},t.prototype.addConstraints=function(t,e){this.getOrCreateColumnConstraints(t).addConstraints(e);},t.prototype.addColumnConstraints=function(t){this.getOrCreateColumnConstraints(t.name).addColumnConstraints(t);},t.prototype.getOrCreateColumnConstraints=function(t){var e=this.columnConstraints[t];return null==e&&(e=new r.ColumnConstraints(t),this.columnConstraints[t]=e),e},t.prototype.addColumnConstraintsMap=function(t){var e=this;t.forEach((function(t){e.addColumnConstraints(t);}));},t.prototype.getColumnConstraintsMap=function(){return this.columnConstraints},t.prototype.getColumnsWithConstraints=function(){return Array.from(Object.keys(this.columnConstraints))},t.prototype.getColumnConstraints=function(t){return this.columnConstraints[t]},t.prototype.getColumnConstraint=function(t,e){var n=null,r=this.getColumnConstraints(t);return null!=r&&(n=r.getConstraint(e)),n},t.prototype.numColumnConstraints=function(t){var e=0,n=this.getColumnConstraints(t);return null!=n&&(e=n.numConstraints()),e},t.prototype.addAllConstraints=function(t){null!=t&&(this.addTableConstraints(t.getTableConstraints()),this.addColumnConstraintsMap(t.getColumnConstraintsMap()));},t.prototype.hasConstraints=function(){return this.hasTableConstraints()||this.hasColumnConstraints()},t.prototype.hasTableConstraints=function(){return this.constraints.has()},t.prototype.hasColumnConstraints=function(){return Object.keys(this.columnConstraints).length>0},t.prototype.hasColumnConstraintsForColumn=function(t){return this.numColumnConstraints(t)>0},t}();e.TableConstraints=o;},5045:(t,e,n)=>{"use strict";var r=n(5108);Object.defineProperty(e,"__esModule",{value:!0}),e.TableInfo=void 0;var i=n(4033),o=n(7319),a=n(9211),s=n(7043),u=n(175),l=n(5329),c=function(){function t(t,e){var n=this;this.namesToColumns=new Map,this.primaryKeys=[],this.tableName=t,this.columns=e,e.forEach((function(t){n.namesToColumns.set(t.getName(),t),t.isPrimaryKey()&&n.primaryKeys.push(t);}));}return t.prototype.getTableName=function(){return this.tableName},t.prototype.numColumns=function(){return this.columns.length},t.prototype.getColumns=function(){return this.columns.slice()},t.prototype.getColumnAtIndex=function(t){if(t<0||t>=this.columns.length)throw new Error("Column index: "+t+", not within range 0 to "+(this.columns.length-1));return this.columns[t]},t.prototype.hasColumn=function(t){return null!==this.getColumn(t)&&void 0!==this.getColumn(t)},t.prototype.getColumn=function(t){return this.namesToColumns.get(t)},t.prototype.hasPrimaryKey=function(){return 0!==this.primaryKeys.length},t.prototype.getPrimaryKeys=function(){return this.primaryKeys.slice()},t.prototype.getPrimaryKey=function(){var t=null;return this.hasPrimaryKey()&&(t=this.primaryKeys[0]),t},t.info=function(e,n){var o="PRAGMA table_info("+l.StringUtils.quoteWrap(n)+")",a=e.all(o,null),c=[];a.forEach((function(o){var a=o.cid,l=o.name,h=o.type,f=1===o.notnull,p=o.dflt_value,d=1===o.pk,y=!1;d&&(y=1===e.all("SELECT tbl_name FROM "+s.SQLiteMaster.TABLE_NAME+" WHERE "+u.SQLiteMasterColumn.nameFromType(u.SQLiteMasterColumn.TBL_NAME)+"=? AND "+u.SQLiteMasterColumn.nameFromType(u.SQLiteMasterColumn.SQL)+" LIKE ?",[n,"%AUTOINCREMENT%"]).length);var m=null;if(null!=h&&h.endsWith(")")){var g=h.indexOf("(");if(g>-1){var _=h.substring(g+1,h.length-1);if(0!==_.length)try{m=parseInt(_),h=h.substring(0,g);}catch(t){r.error(t);}}}var b=t.getDataType(h),v=void 0;o.dflt_value&&(v=o.dflt_value.replace(/\\'/g,""));var T=new i.TableColumn(a,l,h,b,m,f,p,v,d,y);c.push(T);}));var h=null;return 0!==c.length&&(h=new t(n,c)),h},t.getDataType=function(t){var e=o.GeoPackageDataType.fromName(t);null==e&&(null!=a.GeometryType.fromName(t)&&(e=o.GeoPackageDataType.BLOB));return e},t.CID="cid",t.NAME="name",t.TYPE="type",t.NOT_NULL="notnull",t.DFLT_VALUE="dflt_value",t.PK="pk",t.DEFAULT_NULL="NULL",t}();e.TableInfo=c;},1648:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);}),o=this&&this.__read||function(t,e){var n="function"==typeof Symbol&&t[Symbol.iterator];if(!n)return t;var r,i,o=n.call(t),a=[];try{for(;(void 0===e||e-- >0)&&!(r=o.next()).done;)a.push(r.value);}catch(t){i={error:t};}finally{try{r&&!r.done&&(n=o.return)&&n.call(o);}finally{if(i)throw i.error}}return a},a=this&&this.__spreadArray||function(t,e,n){if(n||2===arguments.length)for(var r,i=0,o=e.length;i0&&(t=t.concat(", ")),t=t.concat(r.getName());}return t.concat(")")},e.prototype.copy=function(){return new(e.bind.apply(e,a([void 0,this.name],o(this.columns),!1)))},e.prototype.add=function(){for(var t=this,e=[],n=0;n{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TableCreator=void 0;var r=n(5965),i=n(5042),o=function(){function t(t){this.geopackage=t,this.connection=t.database;}return t.prototype.createRequired=function(){var t=new r.SpatialReferenceSystemDao(this.geopackage);return this.createSpatialReferenceSystem(),this.createContents(),t.createUndefinedGeographic(),t.createWgs84(),t.createUndefinedCartesian(),t.createWebMercator(),!0},t.prototype.createSpatialReferenceSystem=function(){return this.createTable("spatial_reference_system")},t.prototype.createContents=function(){return this.createTable("contents")},t.prototype.createGeometryColumns=function(){return this.createTable("geometry_columns")},t.prototype.createTileMatrixSet=function(){return this.createTable("tile_matrix_set")},t.prototype.createTileMatrix=function(){return this.createTable("tile_matrix")},t.prototype.createDataColumns=function(){return this.createTable("data_columns")},t.prototype.createDataColumnConstraints=function(){return this.createTable("data_column_constraints")},t.prototype.createMetadata=function(){return this.createTable("metadata")},t.prototype.createMetadataReference=function(){return this.createTable("metadata_reference")},t.prototype.createExtensions=function(){return this.createTable("extensions")},t.prototype.createTableIndex=function(){return this.createTable("table_index")},t.prototype.createGeometryIndex=function(){return this.createTable("geometry_index")},t.prototype.createFeatureTileLink=function(){return this.createTable("feature_tile_link")},t.prototype.createExtendedRelations=function(){return this.createTable("extended_relations")},t.prototype.createContentsId=function(){return this.createTable("contents_id")},t.prototype.createTileScaling=function(){return this.createTable("tile_scaling")},t.prototype.createTable=function(e){for(var n=!0,r=t.tableCreationScripts[e],i=0;i 0);END","CREATE TRIGGER 'gpkg_tile_matrix_pixel_x_size_update'BEFORE UPDATE OF pixel_x_size ON 'gpkg_tile_matrix'FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'update on table ''gpkg_tile_matrix'' violates constraint: pixel_x_size must be greater than 0')WHERE NOT (NEW.pixel_x_size > 0);END","CREATE TRIGGER 'gpkg_tile_matrix_pixel_y_size_insert'BEFORE INSERT ON 'gpkg_tile_matrix'FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'insert on table ''gpkg_tile_matrix'' violates constraint: pixel_y_size must be greater than 0')WHERE NOT (NEW.pixel_y_size > 0);END","CREATE TRIGGER 'gpkg_tile_matrix_pixel_y_size_update'BEFORE UPDATE OF pixel_y_size ON 'gpkg_tile_matrix'FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'update on table ''gpkg_tile_matrix'' violates constraint: pixel_y_size must be greater than 0')WHERE NOT (NEW.pixel_y_size > 0);END"],data_columns:["CREATE TABLE gpkg_data_columns ( table_name TEXT NOT NULL, column_name TEXT NOT NULL, name TEXT, title TEXT, description TEXT, mime_type TEXT, constraint_name TEXT, CONSTRAINT pk_gdc PRIMARY KEY (table_name, column_name), CONSTRAINT gdc_tn UNIQUE (table_name, name))"],data_column_constraints:['CREATE TABLE gpkg_data_column_constraints ( constraint_name TEXT NOT NULL, constraint_type TEXT NOT NULL, /* "range" | "enum" | "glob" */ value TEXT, min NUMERIC, min_is_inclusive BOOLEAN, /* 0 = false, 1 = true */ max NUMERIC, max_is_inclusive BOOLEAN, /* 0 = false, 1 = true */ description TEXT, CONSTRAINT gdcc_ntv UNIQUE (constraint_name, constraint_type, value))'],metadata:['CREATE TABLE gpkg_metadata ( id INTEGER CONSTRAINT m_pk PRIMARY KEY ASC NOT NULL, md_scope TEXT NOT NULL DEFAULT "dataset", md_standard_uri TEXT NOT NULL, mime_type TEXT NOT NULL DEFAULT "text/xml", metadata TEXT NOT NULL)',"CREATE TRIGGER 'gpkg_metadata_md_scope_insert' BEFORE INSERT ON 'gpkg_metadata' FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'insert on table gpkg_metadata violates constraint: md_scope must be one of undefined | fieldSession | collectionSession | series | dataset | featureType | feature | attributeType | attribute | tile | model | catalogue | schema | taxonomy software | service | collectionHardware | nonGeographicDataset | dimensionGroup') WHERE NOT(NEW.md_scope IN ('undefined','fieldSession','collectionSession','series','dataset', 'featureType','feature','attributeType','attribute','tile','model', 'catalogue','schema','taxonomy','software','service', 'collectionHardware','nonGeographicDataset','dimensionGroup')); END","CREATE TRIGGER 'gpkg_metadata_md_scope_update' BEFORE UPDATE OF 'md_scope' ON 'gpkg_metadata' FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'update on table gpkg_metadata violates constraint: md_scope must be one of undefined | fieldSession | collectionSession | series | dataset | featureType | feature | attributeType | attribute | tile | model | catalogue | schema | taxonomy software | service | collectionHardware | nonGeographicDataset | dimensionGroup') WHERE NOT(NEW.md_scope IN ('undefined','fieldSession','collectionSession','series','dataset', 'featureType','feature','attributeType','attribute','tile','model', 'catalogue','schema','taxonomy','software','service', 'collectionHardware','nonGeographicDataset','dimensionGroup')); END"],metadata_reference:["CREATE TABLE gpkg_metadata_reference ( reference_scope TEXT NOT NULL, table_name TEXT, column_name TEXT, row_id_value INTEGER, timestamp DATETIME NOT NULL DEFAULT (strftime('%Y-%m-%dT%H:%M:%fZ','now')), md_file_id INTEGER NOT NULL, md_parent_id INTEGER, CONSTRAINT crmr_mfi_fk FOREIGN KEY (md_file_id) REFERENCES gpkg_metadata(id), CONSTRAINT crmr_mpi_fk FOREIGN KEY (md_parent_id) REFERENCES gpkg_metadata(id))","CREATE TRIGGER 'gpkg_metadata_reference_reference_scope_insert' BEFORE INSERT ON 'gpkg_metadata_reference' FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'insert on table gpkg_metadata_reference violates constraint: reference_scope must be one of \"geopackage\", table\", \"column\", \"row\", \"row/col\"') WHERE NOT NEW.reference_scope IN ('geopackage','table','column','row','row/col'); END","CREATE TRIGGER 'gpkg_metadata_reference_reference_scope_update' BEFORE UPDATE OF 'reference_scope' ON 'gpkg_metadata_reference' FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'update on table gpkg_metadata_reference violates constraint: referrence_scope must be one of \"geopackage\", \"table\", \"column\", \"row\", \"row/col\"') WHERE NOT NEW.reference_scope IN ('geopackage','table','column','row','row/col'); END","CREATE TRIGGER 'gpkg_metadata_reference_column_name_insert' BEFORE INSERT ON 'gpkg_metadata_reference' FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'insert on table gpkg_metadata_reference violates constraint: column name must be NULL when reference_scope is \"geopackage\", \"table\" or \"row\"') WHERE (NEW.reference_scope IN ('geopackage','table','row') AND NEW.column_name IS NOT NULL); SELECT RAISE(ABORT, 'insert on table gpkg_metadata_reference violates constraint: column name must be defined for the specified table when reference_scope is \"column\" or \"row/col\"') WHERE (NEW.reference_scope IN ('column','row/col') AND NOT NEW.table_name IN ( SELECT name FROM SQLITE_MASTER WHERE type = 'table' AND name = NEW.table_name AND sql LIKE ('%' || NEW.column_name || '%'))); END","CREATE TRIGGER 'gpkg_metadata_reference_column_name_update' BEFORE UPDATE OF column_name ON 'gpkg_metadata_reference' FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'update on table gpkg_metadata_reference violates constraint: column name must be NULL when reference_scope is \"geopackage\", \"table\" or \"row\"') WHERE (NEW.reference_scope IN ('geopackage','table','row') AND NEW.column_nameIS NOT NULL); SELECT RAISE(ABORT, 'update on table gpkg_metadata_reference violates constraint: column name must be defined for the specified table when reference_scope is \"column\" or \"row/col\"') WHERE (NEW.reference_scope IN ('column','row/col') AND NOT NEW.table_name IN ( SELECT name FROM SQLITE_MASTER WHERE type = 'table' AND name = NEW.table_name AND sql LIKE ('%' || NEW.column_name || '%'))); END","CREATE TRIGGER 'gpkg_metadata_reference_row_id_value_insert' BEFORE INSERT ON 'gpkg_metadata_reference' FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'insert on table gpkg_metadata_reference violates constraint: row_id_value must be NULL when reference_scope is \"geopackage\", \"table\" or \"column\"') WHERE NEW.reference_scope IN ('geopackage','table','column') AND NEW.row_id_value IS NOT NULL; END ","CREATE TRIGGER 'gpkg_metadata_reference_row_id_value_update' BEFORE UPDATE OF 'row_id_value' ON 'gpkg_metadata_reference' FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'update on table gpkg_metadata_reference violates constraint: row_id_value must be NULL when reference_scope is \"geopackage\", \"table\" or \"column\"') WHERE NEW.reference_scope IN ('geopackage','table','column') AND NEW.row_id_value IS NOT NULL; END","CREATE TRIGGER 'gpkg_metadata_reference_timestamp_insert' BEFORE INSERT ON 'gpkg_metadata_reference' FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'insert on table gpkg_metadata_reference violates constraint: timestamp must be a valid time in ISO 8601 \"yyyy-mm-ddThh:mm:ss.cccZ\" form') WHERE NOT (NEW.timestamp GLOB '[1-2][0-9][0-9][0-9]-[0-1][0-9]-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9].[0-9][0-9][0-9]Z' AND strftime('%s',NEW.timestamp) NOT NULL); END","CREATE TRIGGER 'gpkg_metadata_reference_timestamp_update' BEFORE UPDATE OF 'timestamp' ON 'gpkg_metadata_reference' FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'update on table gpkg_metadata_reference violates constraint: timestamp must be a valid time in ISO 8601 \"yyyy-mm-ddThh:mm:ss.cccZ\" form') WHERE NOT (NEW.timestamp GLOB '[1-2][0-9][0-9][0-9]-[0-1][0-9]-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9].[0-9][0-9][0-9]Z' AND strftime('%s',NEW.timestamp) NOT NULL); END "],extensions:["CREATE TABLE gpkg_extensions ( table_name TEXT, column_name TEXT, extension_name TEXT NOT NULL, definition TEXT NOT NULL, scope TEXT NOT NULL, CONSTRAINT ge_tce UNIQUE (table_name, column_name, extension_name))"],table_index:["CREATE TABLE nga_table_index ( table_name TEXT NOT NULL PRIMARY KEY, last_indexed DATETIME)"],geometry_index:["CREATE TABLE nga_geometry_index ( table_name TEXT NOT NULL, geom_id INTEGER NOT NULL, min_x DOUBLE NOT NULL, max_x DOUBLE NOT NULL, min_y DOUBLE NOT NULL, max_y DOUBLE NOT NULL, min_z DOUBLE, max_z DOUBLE, min_m DOUBLE, max_m DOUBLE, CONSTRAINT pk_ngi PRIMARY KEY (table_name, geom_id), CONSTRAINT fk_ngi_nti_tn FOREIGN KEY (table_name) REFERENCES nga_table_index(table_name))"],feature_tile_link:["CREATE TABLE nga_feature_tile_link ( feature_table_name TEXT NOT NULL, tile_table_name TEXT NOT NULL, CONSTRAINT pk_nftl PRIMARY KEY (feature_table_name, tile_table_name))"],extended_relations:["CREATE TABLE gpkgext_relations ( id INTEGER PRIMARY KEY AUTOINCREMENT, base_table_name TEXT NOT NULL, base_primary_column TEXT NOT NULL DEFAULT 'id', related_table_name TEXT NOT NULL, related_primary_column TEXT NOT NULL DEFAULT 'id', relation_name TEXT NOT NULL, mapping_table_name TEXT NOT NULL UNIQUE)"],contents_id:["CREATE TABLE nga_contents_id ( id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, table_name TEXT NOT NULL, CONSTRAINT uk_nci_table_name UNIQUE (table_name), CONSTRAINT fk_nci_gc_tn FOREIGN KEY (table_name) REFERENCES gpkg_contents(table_name))"],tile_scaling:["CREATE TABLE nga_tile_scaling ( table_name TEXT PRIMARY KEY NOT NULL, scaling_type TEXT NOT NULL, zoom_in INTEGER, zoom_out INTEGER, CONSTRAINT fk_nts_gtms_tn FOREIGN KEY (table_name) REFERENCES gpkg_tile_matrix_set (table_name), CHECK (scaling_type in ('in','out','in_out','out_in','closest_in_out','closest_out_in')))"]},t}();e.TableCreator=o;},2431:function(t,e,n){"use strict";var r=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.TableMapping=void 0;var i=r(n(4293)),o=r(n(8446)),a=r(n(3674)),s=r(n(2628)),u=n(1790),l=function(){function t(t,e,n){var r=this;this._transferContent=!0,this._columns={},this._droppedColumns=new Set,this._fromTable=t,this._toTable=e,n.forEach((function(t){r.addMappedColumn(new u.MappedColumn(t.name,t.name,t.defaultValue,t.dataType));}));}return t.fromTableInfo=function(e){var n=new t(e.getTableName(),e.getTableName(),[]);return e.getColumns().forEach((function(t){n.addMappedColumn(new u.MappedColumn(t.getName(),t.getName(),t.getDefaultValue(),t.getDataType()));})),n},Object.defineProperty(t.prototype,"fromTable",{get:function(){return this._fromTable},set:function(t){this._fromTable=t;},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"toTable",{get:function(){return this._toTable},set:function(t){this._toTable=t;},enumerable:!1,configurable:!0}),t.prototype.isNewTable=function(){return !(0,i.default)(this._toTable)&&!(0,o.default)(this._toTable,this._fromTable)},t.prototype.isTransferContent=function(){return this._transferContent},Object.defineProperty(t.prototype,"transferContent",{set:function(t){this._transferContent=t;},enumerable:!1,configurable:!0}),t.prototype.addMappedColumn=function(t){this._columns[t.toColumn]=t;},t.prototype.addColumnWithName=function(t){this._columns[t]=new u.MappedColumn(t,null,null,null);},t.prototype.removeColumn=function(t){var e=this._columns[t];return delete this._columns[t],e},t.prototype.getColumnNames=function(){return (0,a.default)(this._columns)},t.prototype.getColumns=function(){return this._columns},t.prototype.getMappedColumns=function(){return (0,s.default)(this._columns)},t.prototype.getColumn=function(t){return this._columns[t]},t.prototype.addDroppedColumn=function(t){this._droppedColumns.add(t);},t.prototype.removeDroppedColumn=function(t){return this._droppedColumns.delete(t)},Object.defineProperty(t.prototype,"droppedColumns",{get:function(){return this._droppedColumns},enumerable:!1,configurable:!0}),t.prototype.isDroppedColumn=function(t){return this._droppedColumns.has(t)},t.prototype.hasWhere=function(){return !(0,i.default)(this._where)},Object.defineProperty(t.prototype,"where",{get:function(){return this._where},set:function(t){this._where=t;},enumerable:!1,configurable:!0}),t}();e.TableMapping=l;},8140:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.BaseExtension=void 0;var r=n(624),i=function(){function t(t){this.geoPackage=t,this.connection=t.connection,this.extensionsDao=t.extensionDao;}return t.prototype.getOrCreate=function(t,e,n,r,i){var o=this.getExtension(t,e,n);return o.length?o[0]:(this.extensionsDao.createTable(),this.createExtension(t,e,n,r,i),this.getExtension(t,e,n)[0])},t.prototype.getExtension=function(t,e,n){return this.extensionsDao.isTableExists()?this.extensionsDao.queryByExtensionAndTableNameAndColumnName(t,e,n):[]},t.prototype.hasExtension=function(t,e,n){return !!this.getExtension(t,e,n).length},t.prototype.hasExtensions=function(t){return 0!==this.extensionsDao.queryAllByExtension(t).length},t.prototype.createExtension=function(t,e,n,i,o){var a=new r.Extension;return a.table_name=e,a.column_name=n,a.extension_name=t,a.definition=i,a.scope=o,this.extensionsDao.create(a)},t}();e.BaseExtension=i;},4650:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ContentsId=void 0;e.ContentsId=function(){};},7092:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);});Object.defineProperty(e,"__esModule",{value:!0}),e.ContentsIdDao=void 0;var o=n(4115),a=n(4650),s=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.gpkgTableName=e.TABLE_NAME,n.idColumns=["id"],n}return i(e,t),e.prototype.createObject=function(t){var e=new a.ContentsId;return t&&(e.id=t.id,e.table_name=t.table_name),e},e.prototype.createTable=function(){return this.geoPackage.getTableCreator().createContentsId()},e.prototype.getTableNames=function(){for(var t=[],e=this.queryForColumns("table_name"),n=0;n0?n[0]:null},e.prototype.deleteByTableName=function(t){return this.deleteWhere(this.buildWhereWithFieldAndValue(e.COLUMN_TABLE_NAME,t),this.buildWhereArgs(t))},e.TABLE_NAME="nga_contents_id",e.COLUMN_ID="id",e.COLUMN_TABLE_NAME="table_name",e}(o.Dao);e.ContentsIdDao=s;},1314:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);});Object.defineProperty(e,"__esModule",{value:!0}),e.ContentsIdExtension=void 0;var o=n(8140),a=n(624),s=n(7092),u=n(6638),l=function(t){function e(e){var n=t.call(this,e)||this;return n.contentsIdDao=e.contentsIdDao,n}return i(e,t),e.prototype.getOrCreateExtension=function(){var t=this.getOrCreate(e.EXTENSION_NAME,null,null,e.EXTENSION_DEFINITION,a.Extension.READ_WRITE);return this.contentsIdDao.createTable(),t},Object.defineProperty(e.prototype,"dao",{get:function(){return this.contentsIdDao},enumerable:!1,configurable:!0}),e.prototype.has=function(){return this.hasExtension(e.EXTENSION_NAME,null,null)&&this.contentsIdDao.isTableExists()},e.prototype.get=function(t){var e=null;return t&&t.table_name&&(e=this.getByTableName(t.table_name)),e},e.prototype.getByTableName=function(t){var e=null;return this.contentsIdDao.isTableExists()&&(e=this.contentsIdDao.queryForTableName(t)),e},e.prototype.getId=function(t){var e=null;return t&&t.table_name&&(e=this.getIdByTableName(t.table_name)),e},e.prototype.getIdByTableName=function(t){var e=null;if(this.contentsIdDao.isTableExists()){var n=this.contentsIdDao.queryForTableName(t);n&&(e=n.id);}return e},e.prototype.create=function(t){var e=null;return t&&t.table_name&&(e=this.createWithTableName(t.table_name)),e},e.prototype.createWithTableName=function(t){var e=this.contentsIdDao.createObject();return e.table_name=t,e.id=this.contentsIdDao.create(e),e},e.prototype.createId=function(t){var e=null;return t&&t.table_name&&(e=this.createIdWithTableName(t.table_name)),e},e.prototype.createIdWithTableName=function(t){return this.createWithTableName(t)},e.prototype.getOrCreateId=function(t){var e=null;return t&&t.table_name&&(e=this.getOrCreateIdByTableName(t.table_name)),e},e.prototype.getOrCreateIdByTableName=function(t){var e=this.getByTableName(t);return null==e&&(e=this.createWithTableName(t)),e},e.prototype.deleteId=function(t){var e=0;return t&&t.table_name&&(e=this.deleteIdByTableName(t.table_name)),e},e.prototype.deleteIdByTableName=function(t){return this.contentsIdDao.deleteByTableName(t)},e.prototype.count=function(){var t=0;return this.has()&&(t=this.contentsIdDao.count()),t},e.prototype.createIds=function(t){void 0===t&&(t="");for(var e=this.getMissing(t),n=0;n0&&(r+=u.ContentsDao.COLUMN_DATA_TYPE,r+=" = ?",i.push(t)),r.length>0&&(n+=" WHERE "+r),n+=")",e=this.connection.all(n,i);}return e},e.prototype.getMissing=function(t){void 0===t&&(t="");var e="SELECT "+u.ContentsDao.COLUMN_TABLE_NAME+" FROM "+u.ContentsDao.TABLE_NAME,n="",r=[];return null!=t&&t.length>0&&(n+=u.ContentsDao.COLUMN_DATA_TYPE,n+=" = ?",r.push(t)),this.has()&&(n.length>0&&(n+=" AND "),n+=u.ContentsDao.COLUMN_TABLE_NAME,n+=" NOT IN (SELECT ",n+=s.ContentsIdDao.COLUMN_TABLE_NAME,n+=" FROM ",n+=s.ContentsIdDao.TABLE_NAME,n+=")"),n.length>0&&(e+=" WHERE "+n),this.connection.all(e,r)},e.prototype.removeExtension=function(){this.contentsIdDao.isTableExists()&&this.geoPackage.deleteTable(s.ContentsIdDao.TABLE_NAME),this.extensionsDao.isTableExists()&&this.extensionsDao.deleteByExtension(e.EXTENSION_NAME);},e.EXTENSION_NAME="nga_contents_id",e.EXTENSION_AUTHOR="nga",e.EXTENSION_NAME_NO_AUTHOR="contents_id",e.EXTENSION_DEFINITION="http://ngageoint.github.io/GeoPackage/docs/extensions/contents-id.html",e}(o.BaseExtension);e.ContentsIdExtension=l;},5306:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);});Object.defineProperty(e,"__esModule",{value:!0}),e.CrsWktExtension=void 0;var o=n(624),a=function(t){function e(n){var r=t.call(this,n)||this;return r.extensionName=e.EXTENSION_NAME,r.extensionDefinition=e.EXTENSION_CRS_WKT_DEFINITION,r}return i(e,t),e.prototype.getOrCreateExtension=function(){return this.getOrCreate(this.extensionName,null,null,this.extensionDefinition,o.Extension.READ_WRITE)},e.prototype.has=function(){return this.hasExtension(e.EXTENSION_NAME,null,null)},e.prototype.removeExtension=function(){try{this.extensionsDao.isTableExists()&&this.extensionsDao.deleteByExtension(e.EXTENSION_NAME);}catch(t){throw new Error("Failed to delete CrsWkt extension. GeoPackage: "+this.geoPackage.name)}},e.EXTENSION_NAME="gpkg_crs_wkt",e.EXTENSION_CRS_WKT_AUTHOR="gpkg",e.EXTENSION_CRS_WKT_NAME_NO_AUTHOR="crs_wkt",e.EXTENSION_CRS_WKT_DEFINITION="http://www.geopackage.org/spec/#extension_crs_wkt",e}(n(8140).BaseExtension);e.CrsWktExtension=a;},624:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Extension=void 0;var n=function(){function t(){}return t.prototype.setExtensionName=function(e,n){this.extension_name=t.buildExtensionName(e,n);},Object.defineProperty(t.prototype,"author",{get:function(){return t.getAuthorWithExtensionName(this.extension_name)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"extensionNameNoAuthor",{get:function(){return t.getExtensionNameNoAuthor(this.extension_name)},enumerable:!1,configurable:!0}),t.buildExtensionName=function(e,n){return e+t.EXTENSION_NAME_DIVIDER+n},t.getAuthorWithExtensionName=function(e){return e.split(t.EXTENSION_NAME_DIVIDER)[0]},t.getExtensionNameNoAuthor=function(e){return e.slice(e.indexOf(t.EXTENSION_NAME_DIVIDER)+1)},t.prototype.getTableName=function(){return this.table_name},t.prototype.setTableName=function(t){this.table_name=t,null==t&&(this.column_name=null);},t.EXTENSION_NAME_DIVIDER="_",t.READ_WRITE="read-write",t.WRITE_ONLY="write-only",t}();e.Extension=n;},5698:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);}),o=this&&this.__values||function(t){var e="function"==typeof Symbol&&Symbol.iterator,n=e&&t[e],r=0;if(n)return n.call(t);if(t&&"number"==typeof t.length)return {next:function(){return t&&r>=t.length&&(t=void 0),{value:t&&t[r++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.ExtensionDao=void 0;var a=n(624),s=n(4115),u=n(8572),l=n(1459),c=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.gpkgTableName=e.TABLE_NAME,n.idColumns=[e.COLUMN_TABLE_NAME,e.COLUMN_COLUMN_NAME,e.COLUMN_EXTENSION_NAME],n}return i(e,t),e.prototype.createObject=function(t){var e=new a.Extension;return e.table_name=t.table_name,e.column_name=t.column_name,e.extension_name=t.extension_name,e.definition=t.definition,e.scope=t.scope,e},e.prototype.queryByExtension=function(t){var n=this.queryForAllEq(e.COLUMN_EXTENSION_NAME,t);if(n[0])return this.createObject(n[0])},e.prototype.queryAllByExtension=function(t){var n,r,i=[];try{for(var a=o(this.queryForAllEq(e.COLUMN_EXTENSION_NAME,t)),s=a.next();!s.done;s=a.next()){var u=s.value,l=this.createObject(u);i.push(l);}}catch(t){n={error:t};}finally{try{s&&!s.done&&(r=a.return)&&r.call(a);}finally{if(n)throw n.error}}return i},e.prototype.queryByExtensionAndTableName=function(t,n){var r,i,a=new u.ColumnValues;a.addColumn(e.COLUMN_EXTENSION_NAME,t),a.addColumn(e.COLUMN_TABLE_NAME,n);var s=[];try{for(var l=o(this.queryForFieldValues(a)),c=l.next();!c.done;c=l.next()){var h=c.value;s.push(this.createObject(h));}}catch(t){r={error:t};}finally{try{c&&!c.done&&(i=l.return)&&i.call(l);}finally{if(r)throw r.error}}return s},e.prototype.queryByExtensionAndTableNameAndColumnName=function(t,n,r){var i,a,s=new u.ColumnValues;s.addColumn(e.COLUMN_EXTENSION_NAME,t),null!=n&&s.addColumn(e.COLUMN_TABLE_NAME,n),null!=r&&s.addColumn(e.COLUMN_COLUMN_NAME,r);var l=[];try{for(var c=o(this.queryForFieldValues(s)),h=c.next();!h.done;h=c.next()){var f=h.value,p=this.createObject(f);l.push(p);}}catch(t){i={error:t};}finally{try{h&&!h.done&&(a=c.return)&&a.call(c);}finally{if(i)throw i.error}}return l},e.prototype.createTable=function(){return new l.TableCreator(this.geoPackage).createExtensions()},e.prototype.deleteByExtension=function(t){var n=new u.ColumnValues;return n.addColumn(e.COLUMN_EXTENSION_NAME,t),this.deleteWhere(this.buildWhere(n,"="),this.buildWhereArgs(n))},e.prototype.deleteByExtensionAndTableName=function(t,n){var r=new u.ColumnValues;return r.addColumn(e.COLUMN_EXTENSION_NAME,t),r.addColumn(e.COLUMN_TABLE_NAME,n),this.deleteWhere(this.buildWhere(r,"and"),this.buildWhereArgs(r))},e.prototype.deleteByExtensionAndTableNameAndColumnName=function(t,n,r){var i=new u.ColumnValues;return i.addColumn(e.COLUMN_EXTENSION_NAME,t),i.addColumn(e.COLUMN_TABLE_NAME,n),i.addColumn(e.COLUMN_COLUMN_NAME,r),this.deleteWhere(this.buildWhere(i,"and"),this.buildWhereArgs(i))},e.TABLE_NAME="gpkg_extensions",e.COLUMN_TABLE_NAME="table_name",e.COLUMN_COLUMN_NAME="column_name",e.COLUMN_EXTENSION_NAME="extension_name",e.COLUMN_DEFINITION="definition",e.COLUMN_SCOPE="scope",e}(s.Dao);e.ExtensionDao=c;},9406:(t,e,n)=>{"use strict";var r=n(5108);Object.defineProperty(e,"__esModule",{value:!0}),e.GeoPackageExtensions=void 0;var i=n(6131),o=n(5859),a=n(1832),s=n(5045),u=n(5042),l=n(362),c=n(8314),h=n(2431),f=n(8904),p=n(8116),d=n(4941),y=n(1459),m=n(1133),g=n(3501),_=n(2056),b=n(5306),v=function(){function t(){}return t.deleteTableExtensions=function(e,n){i.NGAExtensions.deleteTableExtensions(e,n),t.deleteRTreeSpatialIndex(e,n),t.deleteRelatedTables(e,n),t.deleteSchema(e,n),t.deleteMetadata(e,n),t.deleteExtensionForTable(e,n);},t.deleteExtensions=function(t){i.NGAExtensions.deleteExtensions(t),this.deleteRTreeSpatialIndexExtension(t),this.deleteRelatedTablesExtension(t),this.deleteSchemaExtension(t),this.deleteMetadataExtension(t),this.deleteCrsWktExtension(t),this.delete(t);},t.copyTableExtensions=function(e,n,o){try{t.copyRTreeSpatialIndex(e,n,o),t.copyRelatedTables(e,n,o),t.copySchema(e,n,o),t.copyMetadata(e,n,o),i.NGAExtensions.copyTableExtensions(e,n,o);}catch(t){r.warn("Failed to copy extensions for table: "+o+", copied from table: "+n,t);}},t.deleteExtensionForTable=function(t,e){var n=t.extensionDao;try{n.isTableExists()&&n.deleteByExtension(e);}catch(n){throw new Error("Failed to delete Table extensions. GeoPackage: "+t.name+", Table: "+e)}},t.delete=function(t){var e=t.extensionDao;try{e.isTableExists()&&t.dropTable(e.gpkgTableName);}catch(e){throw new Error("Failed to delete all extensions. GeoPackage: "+t.name)}},t.deleteRTreeSpatialIndex=function(e,n){var r=t.getRTreeIndexExtension(e);r.has(n)&&r.deleteTable(n);},t.deleteRTreeSpatialIndexExtension=function(e){var n=t.getRTreeIndexExtension(e);n.has()&&n.deleteAll();},t.copyRTreeSpatialIndex=function(e,n,i){try{var o=t.getRTreeIndexExtension(e);if(o.has(n)){var a=e.geometryColumnsDao.queryForTableName(i);if(null!=a){var u=s.TableInfo.info(e.connection,i);if(null!=u){var l=u.getPrimaryKey().getName();o.createWithParameters(i,a.column_name,l);}}}}catch(t){r.warn("Failed to create RTree for table: "+i+", copied from table: "+n,t);}},t.getRTreeIndexExtension=function(t){return new o.RTreeIndex(t,null)},t.deleteRelatedTables=function(e,n){var r=t.getRelatedTableExtension(e);r.has()&&r.removeRelationships(n);},t.deleteRelatedTablesExtension=function(e){var n=t.getRelatedTableExtension(e);n.has()&&n.removeExtension();},t.copyRelatedTables=function(e,n,i){try{var o=t.getRelatedTableExtension(e);if(o.has()){var p=o.extendedRelationDao,d=e.extensionDao;p.getBaseTableRelations(n).forEach((function(t){var r=t.mapping_table_name,o=d.queryByExtensionAndTableName(a.RelatedTablesExtension.EXTENSION_NAME,r).concat(d.queryByExtensionAndTableName(a.RelatedTablesExtension.EXTENSION_RELATED_TABLES_NAME_NO_AUTHOR,r));if(o.length>0){var p=u.CoreSQLUtils.createName(e.connection,r,n,i),y=new l.UserCustomTableReader(r).readTable(e.connection);c.AlterTable.copyTable(e.connection,y,p);var m=o[0];m.setTableName(p),d.create(m);var g=h.TableMapping.fromTableInfo(s.TableInfo.info(e.connection,f.ExtendedRelationDao.TABLE_NAME));g.removeColumn(f.ExtendedRelationDao.ID);var _=g.getColumn(f.ExtendedRelationDao.BASE_TABLE_NAME);_.constantValue=i,_.whereValue=n;var b=g.getColumn(f.ExtendedRelationDao.MAPPING_TABLE_NAME);b.constantValue=p,b.whereValue=r,u.CoreSQLUtils.transferTableContentForTableMapping(e.connection,g);}}));}}catch(t){r.warn("Failed to create Related Tables for table: "+i+", copied from table: "+n,t);}},t.getRelatedTableExtension=function(t){return new a.RelatedTablesExtension(t)},t.deleteSchema=function(t,e){var n=t.dataColumnsDao;try{n.isTableExists()&&n.deleteByTableName(e);}catch(n){throw new Error("Failed to delete Schema extension. GeoPackage: "+t.name+", Table: "+e)}},t.deleteSchemaExtension=function(t){var e=new p.SchemaExtension(t);e.has()&&e.removeExtension();},t.copySchema=function(t,e,n){try{if(t.isTable(d.DataColumnsDao.TABLE_NAME)){var i=new l.UserCustomTableReader(d.DataColumnsDao.TABLE_NAME).readUserCustomTable(t),o=i.getColumnWithColumnName(d.DataColumnsDao.COLUMN_NAME);if(o.hasConstraints()){if(o.clearConstraints(),i.hasConstraints()){i.clearConstraints();var a=y.TableCreator.tableCreationScripts.data_columns[0],s=m.ConstraintParser.getConstraints(a);i.addConstraints(s.getTableConstraints());}c.AlterTable.alterColumnForTable(t.connection,i,o);}u.CoreSQLUtils.transferTableContent(t.connection,d.DataColumnsDao.TABLE_NAME,d.DataColumnsDao.COLUMN_TABLE_NAME,n,e);}}catch(t){r.warn("Failed to create Schema for table: "+n+", copied from table: "+e,t);}},t.deleteMetadata=function(t,e){var n=t.metadataReferenceDao;try{n.isTableExists()&&n.deleteByTableName(e);}catch(n){throw new Error("Failed to delete Metadata extension. GeoPackage: "+t.name+", Table: "+e)}},t.deleteMetadataExtension=function(t){var e=new g.MetadataExtension(t);e.has()&&e.removeExtension();},t.copyMetadata=function(t,e,n){try{t.isTable(_.MetadataReferenceDao.TABLE_NAME)&&u.CoreSQLUtils.transferTableContent(t.connection,_.MetadataReferenceDao.TABLE_NAME,_.MetadataReferenceDao.COLUMN_TABLE_NAME,n,e);}catch(t){r.warn("Failed to create Metadata for table: "+n+", copied from table: "+e,t);}},t.deleteCrsWktExtension=function(t){var e=new b.CrsWktExtension(t);e.has()&&e.removeExtension();},t}();e.GeoPackageExtensions=v;},5626:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);}),o=this&&this.__awaiter||function(t,e,n,r){return new(n||(n=Promise))((function(i,o){function a(t){try{u(r.next(t));}catch(t){o(t);}}function s(t){try{u(r.throw(t));}catch(t){o(t);}}function u(t){var e;t.done?i(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e);}))).then(a,s);}u((r=r.apply(t,e||[])).next());}))},a=this&&this.__generator||function(t,e){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(s){return function(u){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;o&&(o=0,s[0]&&(a=0)),a;)try{if(n=1,r&&(i=2&s[0]?r.return:s[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,s[1])).done)return i;switch(r=0,i&&(s=[2&s[0],i.value]),s[0]){case 0:case 1:i=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,r=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!((i=(i=a.trys).length>0&&i[i.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!i||s[1]>i[0]&&s[1]=r}return !1}catch(t){return !1}},e.prototype.getFeatureTableIndexExtension=function(){return this.getExtension(this.extensionName,this.tableName,this.columnName)[0]},e.prototype.getOrCreateExtension=function(){return this.getOrCreate(this.extensionName,this.tableName,this.columnName,this.extensionDefinition,l.Extension.READ_WRITE)},e.prototype.getOrCreateTableIndex=function(){return this.tableIndex||(this.tableIndexDao.createTable(),this.createTableIndex(),this.tableIndex)},e.prototype.createTableIndex=function(){var t=new c.TableIndex;return t.table_name=this.tableName,t.last_indexed=new Date,this.tableIndexDao.create(t)},Object.defineProperty(e.prototype,"tableIndex",{get:function(){return this.tableIndexDao.isTableExists()?this.tableIndexDao.queryForId(this.tableName):void 0},enumerable:!1,configurable:!0}),e.prototype.createOrClearGeometryIndicies=function(){return this.geometryIndexDao.createTable(),this.clearGeometryIndicies()},e.prototype.clearGeometryIndicies=function(){var t=this.geometryIndexDao.buildWhereWithFieldAndValue(h.GeometryIndexDao.COLUMN_TABLE_NAME,this.tableName),e=this.geometryIndexDao.buildWhereArgs(this.tableName);return this.geometryIndexDao.deleteWhere(t,e)},e.prototype.indexTable=function(t){return o(this,void 0,void 0,(function(){var e=this;return a(this,(function(n){return [2,new Promise((function(n,r){setTimeout((function(){e.indexChunk(0,t,n,r);}));})).then((function(){return 1===e.updateLastIndexed(t)}))]}))}))},e.prototype.indexChunk=function(t,e,n,r){var i=this,o=this.featureDao.queryForChunk(100,t);o.length?(this.progress("Indexing "+100*t+" to "+100*(t+1)),o.forEach((function(t){var n=i.featureDao.getRow(t);i.indexRow(e,n.id,n.geometry);})),setTimeout((function(){i.indexChunk(++t,e,n,r);}))):n();},e.prototype.indexRow=function(t,e,n){if(!n)return !1;var r=n.envelope;if(!r){var i=n.geometry;i&&(r=p.EnvelopeBuilder.buildEnvelopeWithGeometry(i));}if(r){var o=this.geometryIndexDao.populate(t,e,r);return 1===this.geometryIndexDao.createOrUpdate(o)}return !1},e.prototype.updateLastIndexed=function(t){return t||((t=new c.TableIndex).table_name=this.tableName),t.last_indexed=(new Date).toISOString(),this.tableIndexDao.createOrUpdate(t)},e.prototype.queryWithBoundingBox=function(t,e){var n=t.projectBoundingBox(e,this.featureDao.projection).buildEnvelope();return this.queryWithGeometryEnvelope(n)},e.prototype.queryWithGeometryEnvelope=function(t){return this.rtreeIndexed?this.rtreeIndexDao.queryWithGeometryEnvelope(t):this.geometryIndexDao.queryWithGeometryEnvelope(t)},e.prototype.countWithBoundingBox=function(t,e){var n=t.projectBoundingBox(e,this.featureDao.projection).buildEnvelope();return this.countWithGeometryEnvelope(n)},e.prototype.countWithGeometryEnvelope=function(t){return this.rtreeIndexed?this.rtreeIndexDao.countWithGeometryEnvelope(t):this.geometryIndexDao.countWithGeometryEnvelope(t)},e.EXTENSION_GEOMETRY_INDEX_AUTHOR="nga",e.EXTENSION_GEOMETRY_INDEX_NAME_NO_AUTHOR="geometry_index",e.EXTENSION_NAME=l.Extension.buildExtensionName(e.EXTENSION_GEOMETRY_INDEX_AUTHOR,e.EXTENSION_GEOMETRY_INDEX_NAME_NO_AUTHOR),e.EXTENSION_GEOMETRY_INDEX_DEFINITION="http://ngageoint.github.io/GeoPackage/docs/extensions/geometry-index.html",e}(u.BaseExtension);e.FeatureTableIndex=d;},8021:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.GeometryIndex=void 0;var n=function(){function t(){}return Object.defineProperty(t.prototype,"tableIndex",{set:function(t){this.table_name=t.table_name;},enumerable:!1,configurable:!0}),t}();e.GeometryIndex=n;},9095:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);});Object.defineProperty(e,"__esModule",{value:!0}),e.GeometryIndexDao=void 0;var o=n(4115),a=n(8021),s=n(1459),u=function(t){function e(n,r){var i=t.call(this,n)||this;return i.gpkgTableName=e.TABLE_NAME,i.idColumns=["table_name","geom_id"],i.featureDao=r,i}return i(e,t),e.prototype.createObject=function(t){var e=new a.GeometryIndex;return t&&(e.table_name=t.table_name,e.geom_id=t.geom_id,e.min_x=t.min_x,e.max_x=t.max_x,e.min_y=t.min_y,e.max_y=t.max_y,e.min_z=t.min_z,e.max_z=t.max_z,e.min_m=t.min_m,e.max_m=t.max_m),e},e.prototype.getTableIndex=function(t){return this.geoPackage.tableIndexDao.queryForId(t.table_name)},e.prototype.queryForTableName=function(t){return this.queryForEach(e.COLUMN_TABLE_NAME,t)},e.prototype.countByTableName=function(t){return this.count(e.COLUMN_TABLE_NAME,t)},e.prototype.populate=function(t,e,n){var r=new a.GeometryIndex;return r.tableIndex=t,r.geom_id=e,r.min_x=n.minX,r.min_y=n.minY,r.max_x=n.maxX,r.max_y=n.maxY,n.hasZ&&(r.min_z=n.minZ,r.max_z=n.maxZ),n.hasM&&(r.min_m=n.minM,r.max_m=n.maxM),r},e.prototype.createTable=function(){return !!this.isTableExists()||new s.TableCreator(this.geoPackage).createGeometryIndex()},e.prototype._generateGeometryEnvelopeQuery=function(t){var n=this.featureDao.gpkgTableName,r="";r+=this.buildWhereWithFieldAndValue(e.COLUMN_TABLE_NAME,n),r+=" and ";var i=t.minX=")):(r+="(",r+=this.buildWhereWithFieldAndValue(e.COLUMN_MIN_X,t.maxX,"<="),r+=" or ",r+=this.buildWhereWithFieldAndValue(e.COLUMN_MAX_X,t.minX,">="),r+=" or ",r+=this.buildWhereWithFieldAndValue(e.COLUMN_MIN_X,t.minX,">="),r+=" or ",r+=this.buildWhereWithFieldAndValue(e.COLUMN_MAX_X,t.maxX,"<="),r+=")"),r+=" and ",r+=this.buildWhereWithFieldAndValue(e.COLUMN_MIN_Y,t.maxY,"<="),r+=" and ",r+=this.buildWhereWithFieldAndValue(e.COLUMN_MAX_Y,t.minY,">=");var o=[n,t.maxX,t.minX];return i||o.push(t.minX,t.maxX),o.push(t.maxY,t.minY),t.hasZ&&(r+=" and ",r+=this.buildWhereWithFieldAndValue(e.COLUMN_MIN_Z,t.minZ,"<="),r+=" and ",r+=this.buildWhereWithFieldAndValue(e.COLUMN_MAX_Z,t.maxZ,">="),o.push(t.maxZ,t.minZ)),t.hasM&&(r+=" and ",r+=this.buildWhereWithFieldAndValue(e.COLUMN_MIN_M,t.minM,"<="),r+=" and ",r+=this.buildWhereWithFieldAndValue(e.COLUMN_MAX_M,t.maxM,">="),o.push(t.maxM,t.minM)),{join:'inner join "'+n+'" on "'+n+'".'+this.featureDao.idColumns[0]+" = "+e.COLUMN_GEOM_ID,where:r,whereArgs:o,tableNameArr:['"'+n+'".*']}},e.prototype.queryWithGeometryEnvelope=function(t){var e=this._generateGeometryEnvelopeQuery(t);return this.queryJoinWhereWithArgs(e.join,e.where,e.whereArgs,e.tableNameArr)},e.prototype.countWithGeometryEnvelope=function(t){var e=this._generateGeometryEnvelopeQuery(t);return this.countJoinWhereWithArgs(e.join,e.where,e.whereArgs)},e.TABLE_NAME="nga_geometry_index",e.COLUMN_TABLE_NAME=e.TABLE_NAME+".table_name",e.COLUMN_TABLE_NAME_FIELD="table_name",e.COLUMN_GEOM_ID=e.TABLE_NAME+".geom_id",e.COLUMN_MIN_X=e.TABLE_NAME+".min_x",e.COLUMN_MAX_X=e.TABLE_NAME+".max_x",e.COLUMN_MIN_Y=e.TABLE_NAME+".min_y",e.COLUMN_MAX_Y=e.TABLE_NAME+".max_y",e.COLUMN_MIN_Z=e.TABLE_NAME+".min_z",e.COLUMN_MAX_Z=e.TABLE_NAME+".max_z",e.COLUMN_MIN_M=e.TABLE_NAME+".min_m",e.COLUMN_MAX_M=e.TABLE_NAME+".max_m",e}(o.Dao);e.GeometryIndexDao=u;},7049:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TableIndex=void 0;e.TableIndex=function(){};},9581:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);});Object.defineProperty(e,"__esModule",{value:!0}),e.TableIndexDao=void 0;var o=n(4115),a=n(1459),s=n(7049),u=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.gpkgTableName=e.TABLE_NAME,n.idColumns=[e.COLUMN_TABLE_NAME],n}return i(e,t),e.prototype.createObject=function(t){var e=new s.TableIndex;return t&&(e.table_name=t.table_name,e.last_indexed=t.last_indexed),e},e.prototype.createTable=function(){return new a.TableCreator(this.geoPackage).createTableIndex()},e.TABLE_NAME="nga_table_index",e.COLUMN_TABLE_NAME="table_name",e.COLUMN_LAST_INDEXED="last_indexed",e}(o.Dao);e.TableIndexDao=u;},3501:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);});Object.defineProperty(e,"__esModule",{value:!0}),e.MetadataExtension=void 0;var o=n(8140),a=n(624),s=n(2056),u=n(663),l=function(t){function e(n){var r=t.call(this,n)||this;return r.extensionName=e.EXTENSION_NAME,r.extensionDefinition=e.EXTENSION_Metadata_DEFINITION,r}return i(e,t),e.prototype.getOrCreateExtension=function(){return this.getOrCreate(this.extensionName,null,null,this.extensionDefinition,a.Extension.READ_WRITE)},e.prototype.has=function(){return this.hasExtension(e.EXTENSION_NAME,null,null)},e.prototype.removeExtension=function(){this.geoPackage.isTable(s.MetadataReferenceDao.TABLE_NAME)&&this.geoPackage.dropTable(s.MetadataReferenceDao.TABLE_NAME),this.geoPackage.isTable(u.MetadataDao.TABLE_NAME)&&this.geoPackage.dropTable(u.MetadataDao.TABLE_NAME);try{this.extensionsDao.isTableExists()&&this.extensionsDao.deleteByExtension(e.EXTENSION_NAME);}catch(t){throw new Error("Failed to delete Schema extension. GeoPackage: "+this.geoPackage.name)}},e.EXTENSION_NAME="gpkg_metadata",e.EXTENSION_Metadata_AUTHOR="gpkg",e.EXTENSION_Metadata_NAME_NO_AUTHOR="metadata",e.EXTENSION_Metadata_DEFINITION="http://www.geopackage.org/spec/#extension_metadata",e}(o.BaseExtension);e.MetadataExtension=l;},6131:(t,e,n)=>{"use strict";var r=n(5108);Object.defineProperty(e,"__esModule",{value:!0}),e.NGAExtensions=void 0;var i=n(5626),o=n(9095),a=n(9581),s=n(5042),u=n(7960),l=n(7523),c=n(8479),h=n(1832),f=n(1314),p=n(362),d=n(8314),y=n(2431),m=n(233),g=n(8904),_=n(5045),b=n(7092),v=function(){function t(){}return t.deleteTableExtensions=function(e,n){t.deleteGeometryIndex(e,n),t.deleteTileScaling(e,n),t.deleteFeatureStyle(e,n),t.deleteContentsId(e,n);},t.deleteExtensions=function(e){t.deleteGeometryIndexExtension(e),t.deleteTileScalingExtension(e),t.deleteFeatureStyleExtension(e),t.deleteContentsIdExtension(e);},t.copyTableExtensions=function(e,n,i){try{t.copyContentsId(e,n,i),t.copyFeatureStyle(e,n,i),t.copyTileScaling(e,n,i),t.copyGeometryIndex(e,n,i);}catch(t){r.warn("Failed to copy extensions for table: "+i+", copied from table: "+n,t);}},t.deleteGeometryIndex=function(t,e){var n=t.getGeometryIndexDao(null),r=t.tableIndexDao,s=t.extensionDao;try{n.isTableExists()&&n.deleteWhere(n.buildWhereWithFieldAndValue(o.GeometryIndexDao.COLUMN_TABLE_NAME_FIELD,e),n.buildWhereArgs(e)),r.isTableExists()&&r.deleteWhere(r.buildWhereWithFieldAndValue(a.TableIndexDao.COLUMN_TABLE_NAME,e),r.buildWhereArgs(e)),s.isTableExists()&&s.deleteByExtensionAndTableName(i.FeatureTableIndex.EXTENSION_NAME,e);}catch(n){throw new Error("Failed to delete Table Index. GeoPackage: "+t.name+", Table: "+e)}},t.deleteGeometryIndexExtension=function(t){var e=t.getGeometryIndexDao(null),n=t.tableIndexDao,r=t.extensionDao;try{e.isTableExists()&&t.dropTable(o.GeometryIndexDao.TABLE_NAME),n.isTableExists()&&t.dropTable(a.TableIndexDao.TABLE_NAME),r.isTableExists()&&r.deleteByExtension(i.FeatureTableIndex.EXTENSION_NAME);}catch(e){throw new Error("Failed to delete Table Index extension and tables. GeoPackage: "+t.name)}},t.copyGeometryIndex=function(t,e,n){try{var a=t.extensionDao;if(a.isTableExists()){var u=a.queryByExtensionAndTableName(i.FeatureTableIndex.EXTENSION_NAME,e);if(u.length>0){var l=u[0];l.table_name=n,a.create(l);var c=t.tableIndexDao;if(c.isTableExists()){var h=c.queryForId(e);null!=h&&(h.table_name=n,c.create(h),t.isTable(o.GeometryIndexDao.TABLE_NAME)&&s.CoreSQLUtils.transferTableContent(t.connection,o.GeometryIndexDao.TABLE_NAME,o.GeometryIndexDao.COLUMN_TABLE_NAME_FIELD,n,e));}}}}catch(t){r.warn("Failed to create Geometry Index for table: "+n+", copied from table: "+e,t);}},t.deleteTileScaling=function(t,e){var n=t.tileScalingDao,r=t.extensionDao;try{n.isTableExists()&&n.deleteByTableName(e),r.isTableExists()&&r.deleteByExtensionAndTableName(l.TileScalingExtension.EXTENSION_NAME,e);}catch(n){throw new Error("Failed to delete Tile Scaling. GeoPackage: "+t.name+", Table: "+e)}},t.deleteTileScalingExtension=function(t){var e=t.tileScalingDao,n=t.extensionDao;try{e.isTableExists()&&t.dropTable(e.gpkgTableName),n.isTableExists()&&n.deleteByExtension(l.TileScalingExtension.EXTENSION_NAME);}catch(e){throw new Error("Failed to delete Tile Scaling extension and table. GeoPackage: "+t.name)}},t.copyTileScaling=function(t,e,n){try{var i=new l.TileScalingExtension(t,e);if(i.has()){var o=i.getOrCreateExtension();null!=o&&(o.setTableName(n),i.extensionsDao.create(o),t.isTable(u.TileScalingDao.TABLE_NAME)&&s.CoreSQLUtils.transferTableContent(t.connection,u.TileScalingDao.TABLE_NAME,u.TileScalingDao.COLUMN_TABLE_NAME,n,e));}}catch(t){r.warn("Failed to create Tile Scaling for table: "+n+", copied from table: "+e,t);}},t.deleteFeatureStyle=function(e,n){var r=t.getFeatureStyleExtension(e);r.has(n)&&r.deleteRelationships(n);},t.deleteFeatureStyleExtension=function(e){var n=t.getFeatureStyleExtension(e);n.has(null)&&n.removeExtension();},t.copyFeatureStyle=function(e,n,i){try{var o=t.getFeatureStyleExtension(e);if(o.hasRelationship(n)){var a=o.getOrCreateExtension(n);if(null!=a){a.setTableName(i),o.extensionsDao.create(a);var s=o.getContentsId(),u=s.getIdByTableName(n),l=s.getIdByTableName(i);null!=u&&null!=l&&(o.hasTableStyleRelationship(n)&&t.copyFeatureTableStyle(o,c.FeatureStyleExtension.TABLE_MAPPING_TABLE_STYLE,n,i,u,l),o.hasTableIconRelationship(n)&&t.copyFeatureTableStyle(o,c.FeatureStyleExtension.TABLE_MAPPING_TABLE_ICON,n,i,u,l));}}}catch(t){r.warn("Failed to create Feature Style for table: "+i+", copied from table: "+n,t);}},t.copyFeatureTableStyle=function(t,e,n,r,i,o){var a=t.geoPackage,u=t.getMappingTableName(e,n),l=a.extensionDao,c=l.queryByExtensionAndTableName(h.RelatedTablesExtension.EXTENSION_NAME,u).concat(l.queryByExtensionAndTableName(h.RelatedTablesExtension.EXTENSION_RELATED_TABLES_NAME_NO_AUTHOR,u));if(c.length>0){var f=t.getMappingTableName(e,r),v=new p.UserCustomTableReader(u).readTable(a.connection);d.AlterTable.copyTable(a.connection,v,f,!1);var T=new y.TableMapping(v.getTableName(),f,v.getUserColumns().getColumns()),E=T.getColumn(m.UserMappingTable.COLUMN_BASE_ID);E.constantValue=o,E.whereValue=i,s.CoreSQLUtils.transferTableContentForTableMapping(a.connection,T);var w=c[0];w.setTableName(f),l.create(w);var x=y.TableMapping.fromTableInfo(_.TableInfo.info(a.connection,g.ExtendedRelationDao.TABLE_NAME));x.removeColumn(g.ExtendedRelationDao.ID),x.getColumn(g.ExtendedRelationDao.BASE_TABLE_NAME).whereValue=b.ContentsIdDao.TABLE_NAME;var C=x.getColumn(g.ExtendedRelationDao.MAPPING_TABLE_NAME);C.constantValue=f,C.whereValue=u,s.CoreSQLUtils.transferTableContentForTableMapping(a.connection,x);}},t.getFeatureStyleExtension=function(t){return new c.FeatureStyleExtension(t)},t.deleteContentsId=function(t,e){var n=new f.ContentsIdExtension(t);n.has()&&n.deleteIdByTableName(e);},t.deleteContentsIdExtension=function(t){var e=new f.ContentsIdExtension(t);e.has()&&e.removeExtension();},t.copyContentsId=function(t,e,n){try{var i=new f.ContentsIdExtension(t);if(i.has())null!=i.getByTableName(e)&&i.createWithTableName(n);}catch(t){r.warn("Failed to create Contents Id for table: "+n+", copied from table: "+e,t);}},t}();e.NGAExtensions=v;},3096:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.DublinCoreMetadata=void 0;var r=n(2224),i=function(){function t(){}return t.hasColumn=function(t,e){var n,i=(n=t instanceof r.UserRow?t.table:t).hasColumn(e.name);if(!n.hasColumn(e.name)){var o=e.synonyms;if(o)for(var a=0;a{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.DublinCoreType=void 0;var n=function(){function t(t,e){this.name=t,this.synonyms=e;}return t.fromName=function(e){for(var n in t)if((r=t[n]).name===e)return r;for(var n in t){var r;if((r=t[n]).synonyms)for(var i=0;i{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ExtendedRelation=void 0;e.ExtendedRelation=function(){};},8904:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);}),o=this&&this.__values||function(t){var e="function"==typeof Symbol&&Symbol.iterator,n=e&&t[e],r=0;if(n)return n.call(t);if(t&&"number"==typeof t.length)return {next:function(){return t&&r>=t.length&&(t=void 0),{value:t&&t[r++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.ExtendedRelationDao=void 0;var a=n(4115),s=n(8572),u=n(7817),l=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.gpkgTableName=e.TABLE_NAME,n.idColumns=["id"],n}return i(e,t),e.prototype.createObject=function(t){var e=new u.ExtendedRelation;return t&&(e.base_table_name=t.base_table_name,e.base_primary_column=t.base_primary_column,e.related_table_name=t.base_primary_column,e.related_table_name=t.related_table_name,e.relation_name=t.relation_name,e.mapping_table_name=t.mapping_table_name,e.related_primary_column=t.related_primary_column,e.id=t.id),e},e.prototype.createTable=function(){return this.geoPackage.getTableCreator().createExtendedRelations()},e.prototype.getBaseTables=function(){for(var t=[],e=this.queryForColumns("base_table_name"),n=0;n=t.length&&(t=void 0),{value:t&&t[r++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.RelatedTablesExtension=void 0;var s=n(8140),u=n(624),l=n(7502),c=n(6366),h=n(2702),f=n(4599),p=n(233),d=n(6302),y=n(1447),m=n(8904),g=n(8483),_=n(5897),b=n(8572),v=n(7817),T=n(7403),E=n(362),w=n(8008),x=n(2071),C=n(1394),M=function(t){function e(e){var n=t.call(this,e)||this;return n.extendedRelationDao=e.extendedRelationDao,n}return o(e,t),e.prototype.getOrCreateExtension=function(){var t=this.getOrCreate(e.EXTENSION_NAME,"gpkgext_relations",void 0,e.EXTENSION_RELATED_TABLES_DEFINITION,u.Extension.READ_WRITE);return this.extendedRelationDao.createTable(),t},e.prototype.getOrCreateMappingTable=function(t){return this.getOrCreateExtension(),this.getOrCreate(e.EXTENSION_NAME,t,void 0,e.EXTENSION_RELATED_TABLES_DEFINITION,u.Extension.READ_WRITE)},e.prototype.setContents=function(t){var e=this.geoPackage.contentsDao.queryForId(t.getTableName());return t.setContents(e)},e.prototype.getUserDao=function(t){return y.UserCustomDao.readTable(this.geoPackage,t)},e.prototype.getMappingDao=function(t){var e;return e=t instanceof v.ExtendedRelation?t.mapping_table_name:t,new d.UserMappingDao(this.getUserDao(e),this.geoPackage)},e.prototype.getRelationships=function(t){return this.extendedRelationDao.isTableExists()?t?this.geoPackage.extendedRelationDao.getBaseTableRelations(t):this.extendedRelationDao.queryForAll():[]},e.prototype.hasRelations=function(t,e,n){var r=[];return this.extendedRelationDao.isTableExists()&&(r=this.extendedRelationDao.getRelations(t,e,n)),!!r.length},e.prototype.getRelatedRows=function(t,e){for(var n=this.getRelationships(t),r=0;r{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.RelationType=void 0;var r=n(9971),i=function(){function t(t,e){this.name=t,this.dataType=e;}return t.fromName=function(e){return t[e.toUpperCase()]},t.FEATURES=new t("features",r.ContentsDataType.FEATURES),t.SIMPLE_ATTRIBUTES=new t("simple_attributes",r.ContentsDataType.ATTRIBUTES),t.MEDIA=new t("media",r.ContentsDataType.ATTRIBUTES),t.ATTRIBUTES=new t("attributes",r.ContentsDataType.ATTRIBUTES),t.TILES=new t("tiles",r.ContentsDataType.TILES),t}();e.RelationType=i;},2702:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);});Object.defineProperty(e,"__esModule",{value:!0}),e.SimpleAttributesDao=void 0;var o=n(4668),a=n(7374),s=function(t){function e(e,n){return t.call(this,e,n)||this}return i(e,t),e.prototype.newRow=function(t,e){return new a.SimpleAttributesRow(this.table,t,e)},Object.defineProperty(e.prototype,"table",{get:function(){return this._table},enumerable:!1,configurable:!0}),e.prototype.getRows=function(t){for(var e=[],n=0;n-1))throw n;this.geoPackage.connection.run('DROP TABLE IF EXISTS "rtree_'+t+"_"+e+'_node"'),this.geoPackage.connection.run('DROP TABLE IF EXISTS "rtree_'+t+"_"+e+'_parent"'),this.geoPackage.connection.run('DROP TABLE IF EXISTS "rtree_'+t+"_"+e+'_rowid"'),this.geoPackage.connection.run("PRAGMA writable_schema = ON"),this.geoPackage.connection.run('DELETE FROM sqlite_master WHERE type = "table" AND name = "rtree_'+t+"_"+e+'"'),this.geoPackage.connection.run("PRAGMA writable_schema = OFF");}},e.prototype.dropTriggersByFeatureTable=function(t){this.dropTriggers(t.getTableName(),t.getGeometryColumnName());},e.prototype.dropTriggers=function(t,e){var n=this.has(t,e);return n&&this.dropAllTriggers(t,e),n},e.prototype.dropAllTriggersByFeatureTable=function(t){this.dropAllTriggers(t.getTableName(),t.getGeometryColumnName());},e.prototype.dropAllTriggers=function(t,e){this.dropInsertTrigger(t,e),this.dropUpdate1Trigger(t,e),this.dropUpdate2Trigger(t,e),this.dropUpdate3Trigger(t,e),this.dropUpdate4Trigger(t,e),this.dropDeleteTrigger(t,e);},e.prototype.dropInsertTrigger=function(t,n){this.dropTrigger(t,n,e.TRIGGER_INSERT_NAME);},e.prototype.dropUpdate1Trigger=function(t,n){this.dropTrigger(t,n,e.TRIGGER_UPDATE1_NAME);},e.prototype.dropUpdate2Trigger=function(t,n){this.dropTrigger(t,n,e.TRIGGER_UPDATE2_NAME);},e.prototype.dropUpdate3Trigger=function(t,n){this.dropTrigger(t,n,e.TRIGGER_UPDATE3_NAME);},e.prototype.dropUpdate4Trigger=function(t,n){this.dropTrigger(t,n,e.TRIGGER_UPDATE4_NAME);},e.prototype.dropDeleteTrigger=function(t,n){this.dropTrigger(t,n,e.TRIGGER_DELETE_NAME);},e.prototype.dropTrigger=function(t,e,n){this.geoPackage.connection.run('DROP TRIGGER IF EXISTS "rtree_'+t+"_"+e+"_"+n+'"');},e.TRIGGER_INSERT_NAME="insert",e.TRIGGER_UPDATE1_NAME="update1",e.TRIGGER_UPDATE2_NAME="update2",e.TRIGGER_UPDATE3_NAME="update3",e.TRIGGER_UPDATE4_NAME="update4",e.TRIGGER_DELETE_NAME="delete",e}(a.BaseExtension);e.RTreeIndex=h;},735:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);});Object.defineProperty(e,"__esModule",{value:!0}),e.RTreeIndexDao=void 0;var o=n(4115),a=n(5859),s=n(8877),u=function(t){function e(n,r){var i=t.call(this,n)||this;return i.gpkgTableName=e.TABLE_NAME,i.featureDao=r,i}return i(e,t),e.prototype.createObject=function(t){return new a.RTreeIndex(this.geoPackage,this.featureDao)},e.prototype._generateGeometryEnvelopeQuery=function(t){var e=this.featureDao.gpkgTableName,n="",r=t.minX=")):(n+="(",n+=this.buildWhereWithFieldAndValue("minx",t.maxX,"<="),n+=" or ",n+=this.buildWhereWithFieldAndValue("maxx",t.minX,">="),n+=" or ",n+=this.buildWhereWithFieldAndValue("minx",t.minX,">="),n+=" or ",n+=this.buildWhereWithFieldAndValue("maxx",t.maxX,"<="),n+=")"),n+=" and ",n+=this.buildWhereWithFieldAndValue("miny",t.maxY,"<="),n+=" and ",n+=this.buildWhereWithFieldAndValue("maxy",t.minY,">=");var i=[];return i.push(t.maxX,t.minX),r||i.push(t.minX,t.maxX),i.push(t.maxY,t.minY),{join:'inner join "'+e+'" on "'+e+'".'+this.featureDao.idColumns[0]+' = "'+this.gpkgTableName+'".id',where:n,whereArgs:i,tableNameArr:['"'+e+'".*']}},e.prototype.queryWithGeometryEnvelope=function(t){var e=this._generateGeometryEnvelopeQuery(t);return this.queryJoinWhereWithArgs(e.join,e.where,e.whereArgs,e.tableNameArr)},e.prototype.countWithGeometryEnvelope=function(t){var e=this._generateGeometryEnvelopeQuery(t);return this.connection.get(s.SqliteQueryBuilder.buildCount("'"+this.gpkgTableName+"'",e.where),e.whereArgs).count},e.TABLE_NAME="rtree",e.PREFIX="rtree_",e.COLUMN_TABLE_NAME=e.TABLE_NAME+".table_name",e.COLUMN_GEOM_ID=e.TABLE_NAME+".geom_id",e.COLUMN_MIN_X=e.TABLE_NAME+".minx",e.COLUMN_MAX_X=e.TABLE_NAME+".maxx",e.COLUMN_MIN_Y=e.TABLE_NAME+".miny",e.COLUMN_MAX_Y=e.TABLE_NAME+".maxy",e.COLUMN_MIN_Z=e.TABLE_NAME+".minz",e.COLUMN_MAX_Z=e.TABLE_NAME+".maxz",e.COLUMN_MIN_M=e.TABLE_NAME+".minm",e.COLUMN_MAX_M=e.TABLE_NAME+".maxm",e.EXTENSION_NAME="gpkg_rtree_index",e.EXTENSION_RTREE_INDEX_AUTHOR="gpkg",e.EXTENSION_RTREE_INDEX_NAME_NO_AUTHOR="rtree_index",e.EXTENSION_RTREE_INDEX_DEFINITION="http://www.geopackage.org/spec/#extension_rtree",e}(o.Dao);e.RTreeIndexDao=u;},7523:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);});Object.defineProperty(e,"__esModule",{value:!0}),e.TileScalingExtension=void 0;var o=n(8140),a=n(624),s=n(7960),u=function(t){function e(e,n){var r=t.call(this,e)||this;return r.tableName=n,r.tileScalingDao=e.tileScalingDao,r}return i(e,t),e.prototype.getOrCreateExtension=function(){var t=this.getOrCreate(e.EXTENSION_NAME,this.tableName,null,e.EXTENSION_DEFINITION,a.Extension.READ_WRITE);return this.tileScalingDao.createTable(),t},e.prototype.createOrUpdate=function(t){return t.table_name=this.tableName,this.tileScalingDao.createOrUpdate(t)},Object.defineProperty(e.prototype,"dao",{get:function(){return this.tileScalingDao},enumerable:!1,configurable:!0}),e.prototype.has=function(){return this.hasExtension(e.EXTENSION_NAME,this.tableName,null)&&this.tileScalingDao.isTableExists()},e.prototype.removeExtension=function(){this.tileScalingDao.isTableExists()&&this.geoPackage.deleteTable(s.TileScalingDao.TABLE_NAME),this.extensionsDao.isTableExists()&&this.extensionsDao.deleteByExtension(e.EXTENSION_NAME);},e.EXTENSION_NAME="nga_tile_scaling",e.EXTENSION_AUTHOR="nga",e.EXTENSION_NAME_NO_AUTHOR="tile_scaling",e.EXTENSION_DEFINITION="http://ngageoint.github.io/GeoPackage/docs/extensions/tile-scaling.html",e}(o.BaseExtension);e.TileScalingExtension=u;},4301:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TileScaling=void 0;var r=n(2777),i=function(){function t(){}return t.prototype.isZoomIn=function(){return (null==this.zoom_in||this.zoom_in>0)&&null!=this.scaling_type&&this.scaling_type!=r.TileScalingType.OUT},t.prototype.isZoomOut=function(){return (null==this.zoom_out||this.zoom_out>0)&&null!=this.scaling_type&&this.scaling_type!=r.TileScalingType.IN},t}();e.TileScaling=i;},7960:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);});Object.defineProperty(e,"__esModule",{value:!0}),e.TileScalingDao=void 0;var o=n(4115),a=n(4301),s=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.gpkgTableName=e.TABLE_NAME,n.idColumns=[e.COLUMN_TABLE_NAME],n}return i(e,t),e.prototype.createObject=function(t){var e=new a.TileScaling;return t&&(e.table_name=t.table_name,e.scaling_type=t.scaling_type,e.zoom_in=t.zoom_in,e.zoom_out=t.zoom_out),e},e.prototype.createTable=function(){return this.geoPackage.getTableCreator().createTileScaling()},e.prototype.queryForTableName=function(t){var n=this.queryForAll(this.buildWhereWithFieldAndValue(e.COLUMN_TABLE_NAME,t),this.buildWhereArgs(t));return n.length>0?this.createObject(n[0]):null},e.prototype.deleteByTableName=function(t){return this.deleteWhere(this.buildWhereWithFieldAndValue(e.COLUMN_TABLE_NAME,t),this.buildWhereArgs(t))},e.TABLE_NAME="nga_tile_scaling",e.COLUMN_TABLE_NAME="table_name",e.COLUMN_SCALING_TYPE="scaling_type",e.COLUMN_ZOOM_IN="zoom_in",e.COLUMN_ZOOM_OUT="zoom_out",e}(o.Dao);e.TileScalingDao=s;},2777:(t,e)=>{"use strict";var n;Object.defineProperty(e,"__esModule",{value:!0}),e.TileScalingType=void 0,(n=e.TileScalingType||(e.TileScalingType={})).IN="in",n.OUT="out",n.IN_OUT="in_out",n.OUT_IN="out_in",n.CLOSEST_IN_OUT="closest_in_out",n.CLOSEST_OUT_IN="closest_out_in";},8116:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);});Object.defineProperty(e,"__esModule",{value:!0}),e.SchemaExtension=void 0;var o=n(8140),a=n(624),s=n(4941),u=n(7175),l=function(t){function e(e){return t.call(this,e)||this}return i(e,t),e.prototype.getOrCreateExtension=function(){var t=[];return t.push(this.getOrCreate(e.EXTENSION_NAME,s.DataColumnsDao.TABLE_NAME,null,e.EXTENSION_SCHEMA_DEFINITION,a.Extension.READ_WRITE)),t.push(this.getOrCreate(e.EXTENSION_NAME,u.DataColumnConstraintsDao.TABLE_NAME,null,e.EXTENSION_SCHEMA_DEFINITION,a.Extension.READ_WRITE)),t},e.prototype.has=function(){return this.hasExtensions(e.EXTENSION_NAME)},e.prototype.removeExtension=function(){this.geoPackage.isTable(s.DataColumnsDao.TABLE_NAME)&&this.geoPackage.dropTable(s.DataColumnsDao.TABLE_NAME),this.geoPackage.isTable(u.DataColumnConstraintsDao.TABLE_NAME)&&this.geoPackage.dropTable(u.DataColumnConstraintsDao.TABLE_NAME),this.extensionsDao.isTableExists()&&this.extensionsDao.deleteByExtension(e.EXTENSION_NAME);},e.EXTENSION_SCHEMA_AUTHOR="gpkg",e.EXTENSION_SCHEMA_NAME_NO_AUTHOR="schema",e.EXTENSION_NAME=e.EXTENSION_SCHEMA_AUTHOR+"_"+e.EXTENSION_SCHEMA_NAME_NO_AUTHOR,e.EXTENSION_SCHEMA_DEFINITION="http://www.geopackage.org/spec/#extension_schema",e}(o.BaseExtension);e.SchemaExtension=l;},612:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.FeatureStyle=void 0;var n=function(){function t(t,e){this.styleRow=t,this.iconRow=e;}return Object.defineProperty(t.prototype,"style",{get:function(){return this.styleRow},set:function(t){this.styleRow=t;},enumerable:!1,configurable:!0}),t.prototype.hasStyle=function(){return !!this.styleRow},Object.defineProperty(t.prototype,"icon",{get:function(){return this.iconRow},set:function(t){this.iconRow=t;},enumerable:!1,configurable:!0}),t.prototype.hasIcon=function(){return !!this.iconRow},t.prototype.useIcon=function(){return this.hasIcon()&&(!this.iconRow.isTableIcon()||!this.hasStyle()||this.styleRow.isTableStyle())},t}();e.FeatureStyle=n;},2752:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.FeatureStyles=void 0;e.FeatureStyles=function(t,e){void 0===t&&(t=null),void 0===e&&(e=null),this.styles=t,this.icons=e;};},6536:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.FeatureTableStyles=void 0;var r=n(2752),i=n(612),o=n(7924),a=n(4725),s=n(8412),u=n(9211),l=function(){function t(t,e){this.geoPackage=t,e instanceof s.FeatureTable?this.tableName=e.getTableName():this.tableName=e,this.featureStyleExtension=t.featureStyleExtension,this.cachedTableFeatureStyles=new r.FeatureStyles;}return t.prototype.getFeatureStyleExtension=function(){return this.featureStyleExtension},t.prototype.getTableName=function(){return this.tableName},t.prototype.has=function(){return this.featureStyleExtension.has(this.tableName)},t.prototype.createRelationships=function(){return this.featureStyleExtension.createRelationships(this.tableName)},t.prototype.hasRelationship=function(){return this.featureStyleExtension.hasRelationship(this.tableName)},t.prototype.createStyleRelationship=function(){return this.featureStyleExtension.createStyleRelationship(this.tableName)},t.prototype.hasStyleRelationship=function(){return this.featureStyleExtension.hasStyleRelationship(this.tableName)},t.prototype.createTableStyleRelationship=function(){return this.featureStyleExtension.createTableStyleRelationship(this.tableName)},t.prototype.hasTableStyleRelationship=function(){return this.featureStyleExtension.hasTableStyleRelationship(this.tableName)},t.prototype.createIconRelationship=function(){return this.featureStyleExtension.createIconRelationship(this.tableName)},t.prototype.hasIconRelationship=function(){return this.featureStyleExtension.hasIconRelationship(this.tableName)},t.prototype.createTableIconRelationship=function(){return this.featureStyleExtension.createTableIconRelationship(this.tableName)},t.prototype.hasTableIconRelationship=function(){return this.featureStyleExtension.hasTableIconRelationship(this.tableName)},t.prototype.deleteRelationships=function(){return this.featureStyleExtension.deleteRelationships(this.tableName)},t.prototype.deleteStyleRelationship=function(){return this.featureStyleExtension.deleteStyleRelationship(this.tableName)},t.prototype.deleteTableStyleRelationship=function(){return this.featureStyleExtension.deleteTableStyleRelationship(this.tableName)},t.prototype.deleteIconRelationship=function(){return this.featureStyleExtension.deleteIconRelationship(this.tableName)},t.prototype.deleteTableIconRelationship=function(){return this.featureStyleExtension.deleteTableIconRelationship(this.tableName)},t.prototype.getStyleMappingDao=function(){return this.featureStyleExtension.getStyleMappingDao(this.tableName)},t.prototype.getTableStyleMappingDao=function(){return this.featureStyleExtension.getTableStyleMappingDao(this.tableName)},t.prototype.getIconMappingDao=function(){return this.featureStyleExtension.getIconMappingDao(this.tableName)},t.prototype.getTableIconMappingDao=function(){return this.featureStyleExtension.getTableIconMappingDao(this.tableName)},t.prototype.getStyleDao=function(){return this.featureStyleExtension.getStyleDao()},t.prototype.getIconDao=function(){return this.featureStyleExtension.getIconDao()},t.prototype.getTableFeatureStyles=function(){return this.featureStyleExtension.getTableFeatureStyles(this.tableName)},t.prototype.getTableStyles=function(){return this.featureStyleExtension.getTableStyles(this.tableName)},t.prototype.getCachedTableStyles=function(){var t=this.cachedTableFeatureStyles.styles;return null===t&&(null===(t=this.getTableStyles())&&(t=new o.Styles(!0)),this.cachedTableFeatureStyles.styles=t),t.isEmpty()&&(t=null),t},t.prototype.getTableStyle=function(t){return this.featureStyleExtension.getTableStyle(this.tableName,t)},t.prototype.getTableStyleDefault=function(){return this.featureStyleExtension.getTableStyleDefault(this.tableName)},t.prototype.getTableIcons=function(){return this.featureStyleExtension.getTableIcons(this.tableName)},t.prototype.getCachedTableIcons=function(){var t=this.cachedTableFeatureStyles.icons;return null===t&&(null===(t=this.getTableIcons())&&(t=new a.Icons(!0)),this.cachedTableFeatureStyles.icons=t),t.isEmpty()&&(t=null),t},t.prototype.getTableIcon=function(t){return this.featureStyleExtension.getTableIcon(this.tableName,t)},t.prototype.getTableIconDefault=function(){return this.featureStyleExtension.getTableIconDefault(this.tableName)},t.prototype.getFeatureStylesForFeatureRow=function(t){return this.featureStyleExtension.getFeatureStylesForFeatureRow(t)},t.prototype.getFeatureStyles=function(t){return this.featureStyleExtension.getFeatureStyles(this.tableName,t)},t.prototype.getFeatureStyleForFeatureRow=function(t){return this.getFeatureStyleForFeatureRowAndGeometryType(t,u.GeometryType.fromName(t.geometryType.toUpperCase()))},t.prototype.getFeatureStyleForFeatureRowAndGeometryType=function(t,e){return this.getFeatureStyle(t.id,e)},t.prototype.getFeatureStyleDefaultForFeatureRow=function(t){return this.getFeatureStyle(t.id,null)},t.prototype.getFeatureStyle=function(t,e){var n=null,r=this.getStyle(t,e),o=this.getIcon(t,e);return null==r&&null==o||(n=new i.FeatureStyle(r,o)),n},t.prototype.getFeatureStyleDefault=function(t){return this.getFeatureStyle(t,null)},t.prototype.getStylesForFeatureRow=function(t){return this.featureStyleExtension.getStylesForFeatureRow(t)},t.prototype.getStylesForFeatureId=function(t){return this.featureStyleExtension.getStylesForFeatureId(this.tableName,t)},t.prototype.getStyleForFeatureRow=function(t){return this.getStyleForFeatureRowAndGeometryType(t,u.GeometryType.fromName(t.geometryType.toUpperCase()))},t.prototype.getStyleForFeatureRowAndGeometryType=function(t,e){return this.getStyle(t.id,e)},t.prototype.getStyleDefaultForFeatureRow=function(t){return this.getStyle(t.id,null)},t.prototype.getStyle=function(t,e){var n=this.featureStyleExtension.getStyle(this.tableName,t,e,!1);if(null===n){var r=this.getCachedTableStyles();null!==r&&(n=r.getStyle(e));}return n},t.prototype.getStyleDefault=function(t){return this.getStyle(t,null)},t.prototype.getIconsForFeatureRow=function(t){return this.featureStyleExtension.getIconsForFeatureRow(t)},t.prototype.getIconsForFeatureId=function(t){return this.featureStyleExtension.getIconsForFeatureId(this.tableName,t)},t.prototype.getIconForFeatureRow=function(t){return this.getIconForFeatureRowAndGeometryType(t,u.GeometryType.fromName(t.geometryType.toUpperCase()))},t.prototype.getIconForFeatureRowAndGeometryType=function(t,e){return this.getIcon(t.id,e)},t.prototype.getIconDefaultForFeatureRow=function(t){return this.getIcon(t.id,null)},t.prototype.getIcon=function(t,e){var n=this.featureStyleExtension.getIcon(this.tableName,t,e,!1);if(null===n){var r=this.getCachedTableIcons();null!==r&&(n=r.getIcon(e));}return n},t.prototype.getIconDefault=function(t){return this.getIcon(t,null)},t.prototype.setTableFeatureStyles=function(t){var e=this.featureStyleExtension.setTableFeatureStyles(this.tableName,t);return this.clearCachedTableFeatureStyles(),e},t.prototype.setTableStyles=function(t){var e=this.featureStyleExtension.setTableStyles(this.tableName,t);return this.clearCachedTableStyles(),e},t.prototype.setTableStyleDefault=function(t){var e=this.featureStyleExtension.setTableStyleDefault(this.tableName,t);return this.clearCachedTableStyles(),e},t.prototype.setTableStyle=function(t,e){var n=this.featureStyleExtension.setTableStyle(this.tableName,t,e);return this.clearCachedTableStyles(),n},t.prototype.setTableIcons=function(t){var e=this.featureStyleExtension.setTableIcons(this.tableName,t);return this.clearCachedTableIcons(),e},t.prototype.setTableIconDefault=function(t){var e=this.featureStyleExtension.setTableIconDefault(this.tableName,t);return this.clearCachedTableIcons(),e},t.prototype.setTableIcon=function(t,e){var n=this.featureStyleExtension.setTableIcon(this.tableName,t,e);return this.clearCachedTableIcons(),n},t.prototype.setFeatureStylesForFeatureRow=function(t,e){return this.featureStyleExtension.setFeatureStylesForFeatureRow(t,e)},t.prototype.setFeatureStyles=function(t,e){return this.featureStyleExtension.setFeatureStyles(this.tableName,t,e)},t.prototype.setFeatureStyleForFeatureRow=function(t,e){return this.featureStyleExtension.setFeatureStyleForFeatureRow(t,e)},t.prototype.setFeatureStyleForFeatureRowAndGeometryType=function(t,e,n){return this.featureStyleExtension.setFeatureStyleForFeatureRowAndGeometryType(t,e,n)},t.prototype.setFeatureStyleDefaultForFeatureRow=function(t,e){return this.featureStyleExtension.setFeatureStyleDefaultForFeatureRow(t,e)},t.prototype.setFeatureStyle=function(t,e,n){return this.featureStyleExtension.setFeatureStyle(this.tableName,t,e,n)},t.prototype.setFeatureStyleDefault=function(t,e){return this.featureStyleExtension.setFeatureStyleDefault(this.tableName,t,e)},t.prototype.setStylesForFeatureRow=function(t,e){return this.featureStyleExtension.setStylesForFeatureRow(t,e)},t.prototype.setStyles=function(t,e){return this.featureStyleExtension.setStyles(this.tableName,t,e)},t.prototype.setStyleForFeatureRow=function(t,e){return this.featureStyleExtension.setStyleForFeatureRow(t,e)},t.prototype.setStyleForFeatureRowAndGeometryType=function(t,e,n){return this.featureStyleExtension.setStyleForFeatureRowAndGeometryType(t,e,n)},t.prototype.setStyleDefaultForFeatureRow=function(t,e){return this.featureStyleExtension.setStyleDefaultForFeatureRow(t,e)},t.prototype.setStyle=function(t,e,n){return this.featureStyleExtension.setStyle(this.tableName,t,e,n)},t.prototype.setStyleDefault=function(t,e){return this.featureStyleExtension.setStyleDefault(this.tableName,t,e)},t.prototype.setIconsForFeatureRow=function(t,e){return this.featureStyleExtension.setIconsForFeatureRow(t,e)},t.prototype.setIcons=function(t,e){return this.featureStyleExtension.setIcons(this.tableName,t,e)},t.prototype.setIconForFeatureRow=function(t,e){return this.featureStyleExtension.setIconForFeatureRow(t,e)},t.prototype.setIconForFeatureRowAndGeometryType=function(t,e,n){return this.featureStyleExtension.setIconForFeatureRowAndGeometryType(t,e,n)},t.prototype.setIconDefaultForFeatureRow=function(t,e){return this.featureStyleExtension.setIconDefaultForFeatureRow(t,e)},t.prototype.setIcon=function(t,e,n){return this.featureStyleExtension.setIcon(this.tableName,t,e,n)},t.prototype.setIconDefault=function(t,e){return this.featureStyleExtension.setIconDefault(this.tableName,t,e)},t.prototype.deleteAllFeatureStyles=function(){var t=this.featureStyleExtension.deleteAllFeatureStyles(this.tableName);return this.clearCachedTableFeatureStyles(),t},t.prototype.deleteAllStyles=function(){var t=this.featureStyleExtension.deleteAllStyles(this.tableName);return this.clearCachedTableStyles(),t},t.prototype.deleteAllIcons=function(){var t=this.featureStyleExtension.deleteAllIcons(this.tableName);return this.clearCachedTableIcons(),t},t.prototype.deleteTableFeatureStyles=function(){var t=this.featureStyleExtension.deleteTableFeatureStyles(this.tableName);return this.clearCachedTableFeatureStyles(),t},t.prototype.deleteTableStyles=function(){var t=this.featureStyleExtension.deleteTableStyles(this.tableName);return this.clearCachedTableStyles(),t},t.prototype.deleteTableStyleDefault=function(){var t=this.featureStyleExtension.deleteTableStyleDefault(this.tableName);return this.clearCachedTableStyles(),t},t.prototype.deleteTableStyle=function(t){var e=this.featureStyleExtension.deleteTableStyle(this.tableName,t);return this.clearCachedTableStyles(),e},t.prototype.deleteTableIcons=function(){var t=this.featureStyleExtension.deleteTableIcons(this.tableName);return this.clearCachedTableIcons(),t},t.prototype.deleteTableIconDefault=function(){var t=this.featureStyleExtension.deleteTableIconDefault(this.tableName);return this.clearCachedTableIcons(),t},t.prototype.deleteTableIcon=function(t){var e=this.featureStyleExtension.deleteTableIcon(this.tableName,t);return this.clearCachedTableIcons(),e},t.prototype.clearCachedTableFeatureStyles=function(){this.cachedTableFeatureStyles.styles=null,this.cachedTableFeatureStyles.icons=null;},t.prototype.clearCachedTableStyles=function(){this.cachedTableFeatureStyles.styles=null;},t.prototype.clearCachedTableIcons=function(){this.cachedTableFeatureStyles.icons=null;},t.prototype.deleteFeatureStyles=function(){return this.featureStyleExtension.deleteFeatureStyles(this.tableName)},t.prototype.deleteStyles=function(){return this.featureStyleExtension.deleteStyles(this.tableName)},t.prototype.deleteStylesForFeatureRow=function(t){return this.featureStyleExtension.deleteStylesForFeatureRow(t)},t.prototype.deleteStylesForFeatureId=function(t){return this.featureStyleExtension.deleteStylesForFeatureId(this.tableName,t)},t.prototype.deleteStyleDefaultForFeatureRow=function(t){return this.featureStyleExtension.deleteStyleDefaultForFeatureRow(t)},t.prototype.deleteStyleDefault=function(t){return this.featureStyleExtension.deleteStyleDefault(this.tableName,t)},t.prototype.deleteStyleForFeatureRow=function(t){return this.featureStyleExtension.deleteStyleForFeatureRow(t)},t.prototype.deleteStyleForFeatureRowAndGeometryType=function(t,e){return this.featureStyleExtension.deleteStyleForFeatureRowAndGeometryType(t,e)},t.prototype.deleteStyle=function(t,e){return this.featureStyleExtension.deleteStyle(this.tableName,t,e)},t.prototype.deleteStyleAndMappingsByStyleRow=function(t){return this.featureStyleExtension.deleteStyleAndMappingsByStyleRow(this.tableName,t)},t.prototype.deleteStyleAndMappingsByStyleRowId=function(t){return this.featureStyleExtension.deleteStyleAndMappingsByStyleRowId(this.tableName,t)},t.prototype.deleteIcons=function(){return this.featureStyleExtension.deleteIcons(this.tableName)},t.prototype.deleteIconsForFeatureRow=function(t){return this.featureStyleExtension.deleteIconsForFeatureRow(t)},t.prototype.deleteIconsForFeatureId=function(t){return this.featureStyleExtension.deleteIconsForFeatureId(this.tableName,t)},t.prototype.deleteIconDefaultForFeatureRow=function(t){return this.featureStyleExtension.deleteIconDefaultForFeatureRow(t)},t.prototype.deleteIconDefault=function(t){return this.featureStyleExtension.deleteIconDefault(this.tableName,t)},t.prototype.deleteIconForFeatureRow=function(t){return this.featureStyleExtension.deleteIconForFeatureRow(t)},t.prototype.deleteIconForFeatureRowAndGeometryType=function(t,e){return this.featureStyleExtension.deleteIconForFeatureRowAndGeometryType(t,e)},t.prototype.deleteIcon=function(t,e){return this.featureStyleExtension.deleteIcon(this.tableName,t,e)},t.prototype.deleteIconAndMappingsByIconRow=function(t){return this.featureStyleExtension.deleteIconAndMappingsByIconRow(this.tableName,t)},t.prototype.deleteIconAndMappingsByIconRowId=function(t){return this.featureStyleExtension.deleteIconAndMappingsByIconRowId(this.tableName,t)},t.prototype.getAllTableStyleIds=function(){return this.featureStyleExtension.getAllTableStyleIds(this.tableName)},t.prototype.getAllTableIconIds=function(){return this.featureStyleExtension.getAllTableIconIds(this.tableName)},t.prototype.getAllStyleIds=function(){return this.featureStyleExtension.getAllStyleIds(this.tableName)},t.prototype.getAllIconIds=function(){return this.featureStyleExtension.getAllIconIds(this.tableName)},t}();e.FeatureTableStyles=l;},8600:function(t,e,n){"use strict";var r=this&&this.__awaiter||function(t,e,n,r){return new(n||(n=Promise))((function(i,o){function a(t){try{u(r.next(t));}catch(t){o(t);}}function s(t){try{u(r.throw(t));}catch(t){o(t);}}function u(t){var e;t.done?i(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e);}))).then(a,s);}u((r=r.apply(t,e||[])).next());}))},i=this&&this.__generator||function(t,e){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(s){return function(u){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;o&&(o=0,s[0]&&(a=0)),a;)try{if(n=1,r&&(i=2&s[0]?r.return:s[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,s[1])).done)return i;switch(r=0,i&&(s=[2&s[0],i.value]),s[0]){case 0:case 1:i=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,r=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!((i=(i=a.trys).length>0&&i[i.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!i||s[1]>i[0]&&s[1]-1&&this.accessHistory.splice(n,1),this.accessHistory.push(t);}return e},t.prototype.putIconForIconRow=function(t,e){return this.put(t.id,e)},t.prototype.put=function(t,e){var n=this.iconCache[t];if(this.iconCache[t]=e,n){var r=this.accessHistory.indexOf(t);r>-1&&this.accessHistory.splice(r,1);}if(this.accessHistory.push(t),Object.keys(this.iconCache).length>this.cacheSize){var i=this.accessHistory.shift();if(i){var a=this.iconCache[i];a&&o.Canvas.disposeImage(a),delete this.iconCache[i];}}return n},t.prototype.removeIconForIconRow=function(t){return this.remove(t.id)},t.prototype.remove=function(t){var e=this.iconCache[t];if(delete this.iconCache[t],e){var n=this.accessHistory.indexOf(t);n>-1&&this.accessHistory.splice(n,1);}return e},t.prototype.clear=function(){var t=this;Object.keys(this.iconCache).forEach((function(e){var n=t.iconCache[e];o.Canvas.disposeImage(n);})),this.iconCache={},this.accessHistory=[];},t.prototype.resize=function(t){this.cacheSize=t;var e=Object.keys(this.iconCache);if(e.length>t)for(var n=e.length-t,r=0;r1))throw new Error("Anchor must be set inclusively between 0.0 and 1.0, invalid value: "+t);return !0},e.prototype.isTableIcon=function(){return this.tableIcon},e.prototype.setTableIcon=function(t){this.tableIcon=t;},e}(o.MediaRow);e.IconRow=s;},2015:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);});Object.defineProperty(e,"__esModule",{value:!0}),e.IconTable=void 0;var o=n(6366),a=n(7319),s=n(5865),u=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.TABLE_TYPE="media",e}return i(e,t),e.prototype.getNameColumnIndex=function(){return this.getColumnIndex(e.COLUMN_NAME)},e.prototype.getNameColumn=function(){return this.getColumnWithColumnName(e.COLUMN_NAME)},e.prototype.getDescriptionColumnIndex=function(){return this.getColumnIndex(e.COLUMN_DESCRIPTION)},e.prototype.getDescriptionColumn=function(){return this.getColumnWithColumnName(e.COLUMN_DESCRIPTION)},e.prototype.getWidthColumnIndex=function(){return this.getColumnIndex(e.COLUMN_WIDTH)},e.prototype.getWidthColumn=function(){return this.getColumnWithColumnName(e.COLUMN_WIDTH)},e.prototype.getHeightColumnIndex=function(){return this.getColumnIndex(e.COLUMN_HEIGHT)},e.prototype.getHeightColumn=function(){return this.getColumnWithColumnName(e.COLUMN_HEIGHT)},e.prototype.getAnchorUColumnIndex=function(){return this.getColumnIndex(e.COLUMN_ANCHOR_U)},e.prototype.getAnchorUColumn=function(){return this.getColumnWithColumnName(e.COLUMN_ANCHOR_U)},e.prototype.getAnchorVColumnIndex=function(){return this.getColumnIndex(e.COLUMN_ANCHOR_V)},e.prototype.getAnchorVColumn=function(){return this.getColumnWithColumnName(e.COLUMN_ANCHOR_V)},e.create=function(){return new e(e.TABLE_NAME,e.createColumns(),e.requiredColumns())},e.createRequiredColumns=function(){return o.MediaTable.createRequiredColumns()},e.requiredColumns=function(){return o.MediaTable.requiredColumns()},e.createColumns=function(){var t=e.createRequiredColumns(),n=t.length;return t.push(s.UserColumn.createColumn(n++,e.COLUMN_NAME,a.GeoPackageDataType.TEXT,!1)),t.push(s.UserColumn.createColumn(n++,e.COLUMN_DESCRIPTION,a.GeoPackageDataType.TEXT,!1)),t.push(s.UserColumn.createColumn(n++,e.COLUMN_WIDTH,a.GeoPackageDataType.REAL,!1)),t.push(s.UserColumn.createColumn(n++,e.COLUMN_HEIGHT,a.GeoPackageDataType.REAL,!1)),t.push(s.UserColumn.createColumn(n++,e.COLUMN_ANCHOR_U,a.GeoPackageDataType.REAL,!1)),t.push(s.UserColumn.createColumn(n,e.COLUMN_ANCHOR_V,a.GeoPackageDataType.REAL,!1)),t},e.TABLE_NAME="nga_icon",e.COLUMN_NAME="name",e.COLUMN_DESCRIPTION="description",e.COLUMN_WIDTH="width",e.COLUMN_HEIGHT="height",e.COLUMN_ANCHOR_U="anchor_u",e.COLUMN_ANCHOR_V="anchor_v",e}(o.MediaTable);e.IconTable=u;},4725:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Icons=void 0;var n=function(){function t(t){void 0===t&&(t=!1),this.defaultIcon=null,this.icons=new Map,this.tableIcons=t;}return t.prototype.setDefault=function(t){null!=t&&t.setTableIcon(this.tableIcons),this.defaultIcon=t;},t.prototype.getDefault=function(){return this.defaultIcon},t.prototype.setIcon=function(t,e){void 0===e&&(e=null),null!==e?null!=t?(t.setTableIcon(this.tableIcons),this.icons.set(e,t)):this.icons.delete(e):this.setDefault(t);},t.prototype.getIcon=function(t){void 0===t&&(t=null);var e=null;return null!==t&&this.icons.has(t)&&(e=this.icons.get(t)),null!=e&&null!==t||(e=this.getDefault()),e},t.prototype.isEmpty=function(){return 0===this.icons.size&&null===this.defaultIcon},t.prototype.getGeometryTypes=function(){return Array.from(this.icons.keys())},t}();e.Icons=n;},8479:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);});Object.defineProperty(e,"__esModule",{value:!0}),e.FeatureStyleExtension=void 0;var o=n(8140),a=n(624),s=n(7092),u=n(2015),l=n(9529),c=n(3934),h=n(3237),f=n(8138),p=n(3410),d=n(1553),y=n(8412),m=n(2752),g=n(612),_=n(7924),b=n(4725),v=n(362),T=n(9211),E=function(t){function e(e){var n=t.call(this,e)||this;return n.relatedTablesExtension=e.relatedTablesExtension,n.contentsIdExtension=e.contentsIdExtension,n}return i(e,t),e.prototype.getOrCreateExtension=function(t){return this.getOrCreate(e.EXTENSION_NAME,this.getFeatureTableName(t),null,e.EXTENSION_DEFINITION,a.Extension.READ_WRITE)},e.prototype.has=function(t){return this.hasExtension(e.EXTENSION_NAME,this.getFeatureTableName(t),null)},e.prototype.getTables=function(){var t=[];if(this.extensionsDao.isTableExists())for(var n=this.extensionsDao.queryAllByExtension(e.EXTENSION_NAME),r=0;r1))throw new Error("Opacity must be set inclusively between 0.0 and 1.0, invalid value: "+t);return !0},e.prototype.createColor=function(t,e){var n="#000000";if(null!==t&&(n=t),null!==e){var r=Math.round(255*e).toString(16);1===r.length&&(r="0"+r),n+=r;}return n.toUpperCase()},e.prototype._hasColor=function(t,e){return null!==t||null!==e},e.prototype.isTableStyle=function(){return this.tableStyle},e.prototype.setTableStyle=function(t){this.tableStyle=t;},e.colorPattern=/^#([0-9a-fA-F]{3}){1,2}$/,e}(n(6861).AttributesRow);e.StyleRow=o;},3934:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);});Object.defineProperty(e,"__esModule",{value:!0}),e.StyleTable=void 0;var o=n(3931),a=n(8483),s=n(5865),u=n(7319),l=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.TABLE_TYPE="media",e.data_type=a.RelationType.ATTRIBUTES.dataType,e.relation_name=a.RelationType.ATTRIBUTES.name,e}return i(e,t),e.prototype.getNameColumnIndex=function(){return this.getColumnIndex(e.COLUMN_NAME)},e.prototype.getNameColumn=function(){return this.getColumnWithColumnName(e.COLUMN_NAME)},e.prototype.getDescriptionColumnIndex=function(){return this.getColumnIndex(e.COLUMN_DESCRIPTION)},e.prototype.getDescriptionColumn=function(){return this.getColumnWithColumnName(e.COLUMN_DESCRIPTION)},e.prototype.getColorColumnIndex=function(){return this.getColumnIndex(e.COLUMN_COLOR)},e.prototype.getColorColumn=function(){return this.getColumnWithColumnName(e.COLUMN_COLOR)},e.prototype.getOpacityColumnIndex=function(){return this.getColumnIndex(e.COLUMN_OPACITY)},e.prototype.getOpacityColumn=function(){return this.getColumnWithColumnName(e.COLUMN_OPACITY)},e.prototype.getWidthColumnIndex=function(){return this.getColumnIndex(e.COLUMN_WIDTH)},e.prototype.getWidthColumn=function(){return this.getColumnWithColumnName(e.COLUMN_WIDTH)},e.prototype.getFillColorColumnIndex=function(){return this.getColumnIndex(e.COLUMN_FILL_COLOR)},e.prototype.getFillColorColumn=function(){return this.getColumnWithColumnName(e.COLUMN_FILL_COLOR)},e.prototype.getFillOpacityColumnIndex=function(){return this.getColumnIndex(e.COLUMN_FILL_OPACITY)},e.prototype.getFillOpacityColumn=function(){return this.getColumnWithColumnName(e.COLUMN_FILL_OPACITY)},e.create=function(){return new e(e.TABLE_NAME,e.createColumns())},e.createColumns=function(){var t=[],n=0;return t.push(s.UserColumn.createPrimaryKeyColumn(n++,e.COLUMN_ID)),t.push(s.UserColumn.createColumn(n++,e.COLUMN_NAME,u.GeoPackageDataType.TEXT,!1)),t.push(s.UserColumn.createColumn(n++,e.COLUMN_DESCRIPTION,u.GeoPackageDataType.TEXT,!1)),t.push(s.UserColumn.createColumn(n++,e.COLUMN_COLOR,u.GeoPackageDataType.TEXT,!1)),t.push(s.UserColumn.createColumn(n++,e.COLUMN_OPACITY,u.GeoPackageDataType.REAL,!1)),t.push(s.UserColumn.createColumn(n++,e.COLUMN_WIDTH,u.GeoPackageDataType.REAL,!1)),t.push(s.UserColumn.createColumn(n++,e.COLUMN_FILL_COLOR,u.GeoPackageDataType.TEXT,!1)),t.push(s.UserColumn.createColumn(7,e.COLUMN_FILL_OPACITY,u.GeoPackageDataType.REAL,!1)),t},e.TABLE_NAME="nga_style",e.COLUMN_ID="id",e.COLUMN_NAME="name",e.COLUMN_DESCRIPTION="description",e.COLUMN_COLOR="color",e.COLUMN_OPACITY="opacity",e.COLUMN_WIDTH="width",e.COLUMN_FILL_COLOR="fill_color",e.COLUMN_FILL_OPACITY="fill_opacity",e}(o.AttributesTable);e.StyleTable=l;},1553:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);});Object.defineProperty(e,"__esModule",{value:!0}),e.StyleTableReader=void 0;var o=n(464),a=n(3934),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.createTable=function(t,e){return new a.StyleTable(t,e)},e}(o.AttributesTableReader);e.StyleTableReader=s;},7924:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Styles=void 0;var n=function(){function t(t){void 0===t&&(t=!1),this.defaultStyle=null,this.styles=new Map,this.tableStyles=t;}return t.prototype.setDefault=function(t){null!=t&&t.setTableStyle(this.tableStyles),this.defaultStyle=t;},t.prototype.getDefault=function(){return this.defaultStyle},t.prototype.setStyle=function(t,e){void 0===e&&(e=null),null!==e?null!=t?(t.setTableStyle(this.tableStyles),this.styles.set(e,t)):this.styles.delete(e):this.setDefault(t);},t.prototype.getStyle=function(t){void 0===t&&(t=null);var e=null;return null!==t&&(e=this.styles.get(t)),null!=e&&null!==t||(e=this.getDefault()),e},t.prototype.isEmpty=function(){return 0===this.styles.size&&null===this.defaultStyle},t.prototype.getGeometryTypes=function(){return Array.from(this.styles.keys())},t}();e.Styles=n;},7719:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);});Object.defineProperty(e,"__esModule",{value:!0}),e.WebPExtension=void 0;var o=n(8140),a=n(624),s=function(t){function e(e,n){var r=t.call(this,e)||this;return r.tableName=n,r}return i(e,t),e.prototype.getOrCreateExtension=function(){return this.getOrCreate(e.EXTENSION_NAME,this.tableName,"tile_data",e.EXTENSION_WEBP_DEFINITION,a.Extension.READ_WRITE)},e.EXTENSION_NAME="gpkg_webp",e.EXTENSION_WEBP_AUTHOR="gpkg",e.EXTENSION_WEBP_NAME_NO_AUTHOR="webp",e.EXTENSION_WEBP_DEFINITION="http://www.geopackage.org/spec/#extension_webp",e}(o.BaseExtension);e.WebPExtension=s;},812:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.GeometryColumns=void 0;var r=n(9971),i=function(){function t(){}return Object.defineProperty(t.prototype,"geometryType",{get:function(){return this.geometry_type_name},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"id",{get:function(){return "".concat(this.table_name," ").concat(this.column_name)},enumerable:!1,configurable:!0}),t.prototype.setContents=function(t){if(null!=t){var e=t.data_type;if(null==e||e!==r.ContentsDataType.FEATURES)throw new Error("The Contents of a GeometryColumns must have a data type of "+r.ContentsDataType.nameFromType(r.ContentsDataType.FEATURES));this.table_name=t.table_name;}else this.table_name=null;},t.TABLE_NAME="tableName",t.COLUMN_NAME="columnName",t.GEOMETRY_TYPE_NAME="geometryTypeName",t.SRS_ID="srsId",t.Z="z",t.M="m",t}();e.GeometryColumns=i;},1968:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);}),o=this&&this.__values||function(t){var e="function"==typeof Symbol&&Symbol.iterator,n=e&&t[e],r=0;if(n)return n.call(t);if(t&&"number"==typeof t.length)return {next:function(){return t&&r>=t.length&&(t=void 0),{value:t&&t[r++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.GeometryColumnsDao=void 0;var a=n(4115),s=n(812),u=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.gpkgTableName="gpkg_geometry_columns",n.idColumns=[e.COLUMN_ID_1,e.COLUMN_ID_2],n.columns=[e.COLUMN_TABLE_NAME,e.COLUMN_COLUMN_NAME,e.COLUMN_GEOMETRY_TYPE_NAME,e.COLUMN_SRS_ID,e.COLUMN_Z,e.COLUMN_M],n}return i(e,t),e.prototype.createObject=function(t){var e=new s.GeometryColumns;return t&&(e.table_name=t.table_name,e.column_name=t.column_name,e.geometry_type_name=t.geometry_type_name,e.srs_id=t.srs_id,e.z=t.z,e.m=t.m),e},e.prototype.queryForTableName=function(t){var n=this.queryForAllEq(e.COLUMN_TABLE_NAME,t);if(n&&n.length)return this.createObject(n[0])},e.prototype.getFeatureTables=function(){var t,n,r=[];try{for(var i=o(this.connection.each("select "+e.COLUMN_TABLE_NAME+" from "+this.gpkgTableName)),a=i.next();!a.done;a=i.next()){var s=a.value;r.push(s[e.COLUMN_TABLE_NAME]);}}catch(e){t={error:e};}finally{try{a&&!a.done&&(n=i.return)&&n.call(i);}finally{if(t)throw t.error}}return r},e.prototype.getSrs=function(t){return this.geoPackage.spatialReferenceSystemDao.queryForId(t.srs_id)},e.prototype.getContents=function(t){return this.geoPackage.contentsDao.queryForId(t.table_name)},e.prototype.getProjection=function(t){var e=this.getSrs(t);return this.geoPackage.spatialReferenceSystemDao.getProjection(e)},e.COLUMN_TABLE_NAME="table_name",e.COLUMN_COLUMN_NAME="column_name",e.COLUMN_ID_1=e.COLUMN_TABLE_NAME,e.COLUMN_ID_2=e.COLUMN_COLUMN_NAME,e.COLUMN_GEOMETRY_TYPE_NAME="geometry_type_name",e.COLUMN_SRS_ID="srs_id",e.COLUMN_Z="z",e.COLUMN_M="m",e}(a.Dao);e.GeometryColumnsDao=u;},961:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);});Object.defineProperty(e,"__esModule",{value:!0}),e.FeatureColumn=void 0;var o=n(5865),a=n(7319),s=n(9211),u=n(5071),l=function(t){function e(e,n,r,i,o,a,s,u,l){var c=t.call(this,e,n,r,i,o,a,s,l)||this;return c.geometryType=u,c.type=c.getTypeName(n,r,u),c}return i(e,t),e.createPrimaryKeyColumn=function(t,n,r){return void 0===r&&(r=u.UserTableDefaults.DEFAULT_AUTOINCREMENT),new e(t,n,a.GeoPackageDataType.INTEGER,void 0,!0,void 0,!0,void 0,r)},e.createGeometryColumn=function(t,n,r,i,o){if(null==r)throw new Error("Geometry Type is required to create column: "+n);return new e(t,n,a.GeoPackageDataType.BLOB,void 0,i,o,!1,r,!1)},e.createColumn=function(t,n,r,i,o,a,s){return void 0===i&&(i=!1),new e(t,n,r,a,i,o,!1,void 0,s)},e.prototype.getTypeName=function(e,n,r){return null!=r?s.GeometryType.nameFromType(r):t.prototype.getTypeName.call(this,e,n)},e.getGeometryTypeFromTableColumn=function(t){var e=null;return t.isDataType(a.GeoPackageDataType.BLOB)&&(e=s.GeometryType.fromName(t.type)),e},e.prototype.copy=function(){return new e(this.index,this.name,this.dataType,this.max,this.notNull,this.defaultValue,this.primaryKey,this.geometryType,this.autoincrement)},e.prototype.isGeometry=function(){return null!==this.geometryType},e.prototype.getGeometryType=function(){return this.geometryType},e}(o.UserColumn);e.FeatureColumn=l;},5053:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);});Object.defineProperty(e,"__esModule",{value:!0}),e.FeatureColumns=void 0;var o=n(2114),a=n(7319),s=function(t){function e(e,n,r,i){var o=t.call(this,e,r,i)||this;return o.geometryIndex=-1,o.geometryColumn=n,o.updateColumns(),o}return i(e,t),e.prototype.copy=function(){return new e(this.getTableName(),this.getGeometryColumnName(),this.getColumns(),this.isCustom())},e.prototype.updateColumns=function(){t.prototype.updateColumns.call(this);var e=null;if(null!==this.geometryColumn&&void 0!==this.geometryColumn)e=this.getColumnIndex(this.geometryColumn,!1);else for(var n=0;n=0},e.prototype.getGeometryColumn=function(){var t=null;return this.hasGeometryColumn()&&(t=this.getColumnForIndex(this.geometryIndex)),t},e}(o.UserColumns);e.FeatureColumns=s;},2071:function(t,e,n){"use strict";var r,i=n(5108),o=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);}),a=this&&this.__awaiter||function(t,e,n,r){return new(n||(n=Promise))((function(i,o){function a(t){try{u(r.next(t));}catch(t){o(t);}}function s(t){try{u(r.throw(t));}catch(t){o(t);}}function u(t){var e;t.done?i(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e);}))).then(a,s);}u((r=r.apply(t,e||[])).next());}))},s=this&&this.__generator||function(t,e){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(s){return function(u){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;o&&(o=0,s[0]&&(a=0)),a;)try{if(n=1,r&&(i=2&s[0]?r.return:s[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,s[1])).done)return i;switch(r=0,i&&(s=[2&s[0],i.value]),s[0]){case 0:case 1:i=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,r=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!((i=(i=a.trys).length>0&&i[i.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!i||s[1]>i[0]&&s[1]0;break;case "Polygon":case "MultiPolygon":r=null!==(0,h.default)(o,n);break;case "MultiPoint":r=e.multiPointIntersects(o,n);break;case "GeometryCollection":r=e.geometryCollectionIntersects(o,n);}}return r},e.verifyGeometryCollection=function(t,n){return e.geometryCollectionIntersects(t,n.toGeoJSON().geometry)||(0,f.default)(t,n.toGeoJSON().geometry)?t:void 0},e.readTable=function(t,e){return t.getFeatureDao(e)},e}(y.UserDao);e.FeatureDao=T;},234:function(t,e,n){"use strict";var r,i=n(3085).lW,o=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);});Object.defineProperty(e,"__esModule",{value:!0}),e.FeatureRow=void 0;var a=n(2224),s=n(961),u=n(857),l=function(t){function e(e,n,r){var i=t.call(this,e,n,r)||this;return i.featureTable=e,i}return o(e,t),Object.defineProperty(e.prototype,"geometryColumnIndex",{get:function(){return this.featureTable.getGeometryColumnIndex()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"geometryColumn",{get:function(){return this.featureTable.getGeometryColumn()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"geometry",{get:function(){return this.getValueWithIndex(this.featureTable.getGeometryColumnIndex())},set:function(t){this.setValueWithIndex(this.featureTable.getGeometryColumnIndex(),t);},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"geometryType",{get:function(){var t=null,e=this.getValueWithIndex(this.featureTable.getGeometryColumnIndex());return null!==e&&(t=e.toGeoJSON().type),t},enumerable:!1,configurable:!0}),e.prototype.toObjectValue=function(e,n){var r=this.getColumnWithIndex(e);return r instanceof s.FeatureColumn&&r.isGeometry()&&n&&n instanceof i||n instanceof Uint8Array?new u.GeometryData(n):t.prototype.toObjectValue.call(this,e,n)},e.prototype.getValueWithColumnName=function(e){var n=this.values[e],r=this.getColumnWithColumnName(e);return null!=n&&r instanceof s.FeatureColumn&&r.isGeometry()&&n.toData?n.toData():t.prototype.getValueWithColumnName.call(this,e)},e}(a.UserRow);e.FeatureRow=l;},8412:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);});Object.defineProperty(e,"__esModule",{value:!0}),e.FeatureTable=void 0;var o=n(8018),a=n(5053),s=n(9971),u=function(t){function e(e,n,r){return t.call(this,new a.FeatureColumns(e,n,r,!1))||this}return i(e,t),e.prototype.copy=function(){return new e(this.getTableName(),this.getGeometryColumnName(),this.getUserColumns().getColumns())},e.prototype.getGeometryColumnIndex=function(){return this.getUserColumns().getGeometryIndex()},e.prototype.getUserColumns=function(){return t.prototype.getUserColumns.call(this)},e.prototype.getGeometryColumn=function(){return this.getUserColumns().getGeometryColumn()},e.prototype.getGeometryColumnName=function(){return this.getUserColumns().getGeometryColumnName()},e.prototype.getIdAndGeometryColumnNames=function(){return [this.getPkColumnName(),this.getGeometryColumnName()]},e.prototype.validateContents=function(t){var e=t.data_type;if(null==e||e!==s.ContentsDataType.FEATURES)throw new Error("The Contents of a FeatureTable must have a data type of "+s.ContentsDataType.FEATURES)},e}(o.UserTable);e.FeatureTable=u;},4896:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);});Object.defineProperty(e,"__esModule",{value:!0}),e.FeatureTableReader=void 0;var o=n(1968),a=n(8412),s=n(4880),u=n(961),l=n(812),c=function(t){function e(e){var n=t.call(this,e instanceof l.GeometryColumns?e.table_name:e)||this;return e instanceof l.GeometryColumns&&(n.columnName=e.column_name),n}return i(e,t),e.prototype.readFeatureTable=function(t){if(null===this.columnName||void 0===this.columnName){var e=new o.GeometryColumnsDao(t);this.columnName=e.queryForTableName(this.table_name).column_name;}return this.readTable(t.database)},e.prototype.createTable=function(t,e){return new a.FeatureTable(t,this.columnName,e)},e.prototype.createColumn=function(t){return new u.FeatureColumn(t.index,t.name,t.dataType,t.max,t.notNull,t.defaultValue,t.primaryKey,u.FeatureColumn.getGeometryTypeFromTableColumn(t),t.autoincrement)},e}(s.UserTableReader);e.FeatureTableReader=c;},9211:(t,e)=>{"use strict";var n;Object.defineProperty(e,"__esModule",{value:!0}),e.GeometryType=void 0,(n=e.GeometryType||(e.GeometryType={}))[n.GEOMETRY=0]="GEOMETRY",n[n.POINT=1]="POINT",n[n.LINESTRING=2]="LINESTRING",n[n.POLYGON=3]="POLYGON",n[n.MULTIPOINT=4]="MULTIPOINT",n[n.MULTILINESTRING=5]="MULTILINESTRING",n[n.MULTIPOLYGON=6]="MULTIPOLYGON",n[n.GEOMETRYCOLLECTION=7]="GEOMETRYCOLLECTION",n[n.CIRCULARSTRING=8]="CIRCULARSTRING",n[n.COMPOUNDCURVE=9]="COMPOUNDCURVE",n[n.CURVEPOLYGON=10]="CURVEPOLYGON",n[n.MULTICURVE=11]="MULTICURVE",n[n.MULTISURFACE=12]="MULTISURFACE",n[n.CURVE=13]="CURVE",n[n.SURFACE=14]="SURFACE",n[n.POLYHEDRALSURFACE=15]="POLYHEDRALSURFACE",n[n.TIN=16]="TIN",n[n.TRIANGLE=17]="TRIANGLE",function(t){t.nameFromType=function(e){var n=null;return null!=e&&(n=t[e]),n},t.fromName=function(e){return t[e]};}(e.GeometryType||(e.GeometryType={}));},4325:function(t,e,n){"use strict";var r=this&&this.__createBinding||(Object.create?function(t,e,n,r){void 0===r&&(r=n);var i=Object.getOwnPropertyDescriptor(e,n);i&&!("get"in i?!e.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return e[n]}}),Object.defineProperty(t,r,i);}:function(t,e,n,r){void 0===r&&(r=n),t[r]=e[n];}),i=this&&this.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e});}:function(t,e){t.default=e;}),o=this&&this.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)"default"!==n&&Object.prototype.hasOwnProperty.call(t,n)&&r(e,t,n);return i(e,t),e},a=this&&this.__awaiter||function(t,e,n,r){return new(n||(n=Promise))((function(i,o){function a(t){try{u(r.next(t));}catch(t){o(t);}}function s(t){try{u(r.throw(t));}catch(t){o(t);}}function u(t){var e;t.done?i(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e);}))).then(a,s);}u((r=r.apply(t,e||[])).next());}))},s=this&&this.__generator||function(t,e){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(s){return function(u){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;o&&(o=0,s[0]&&(a=0)),a;)try{if(n=1,r&&(i=2&s[0]?r.return:s[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,s[1])).done)return i;switch(r=0,i&&(s=[2&s[0],i.value]),s[0]){case 0:case 1:i=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,r=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!((i=(i=a.trys).length>0&&i[i.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!i||s[1]>i[0]&&s[1]=t.length&&(t=void 0),{value:t&&t[r++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},l=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.GeoPackage=void 0;var c=l(n(1011)),h=l(n(6102)),f=l(n(3892)),p=l(n(7383)),d=l(n(8147)),y=l(n(1013)),m=o(n(4102)),g=l(n(4472)),_=n(857),b=n(5306),v=n(1832),T=n(8479),E=n(1314),w=n(7523),x=n(5965),C=n(1968),M=n(2071),S=n(4896),N=n(6638),O=n(5925),A=n(3506),I=n(4941),P=n(7175),R=n(663),L=n(2056),D=n(5698),k=n(9581),F=n(9095),U=n(8904),B=n(8008),j=n(1394),G=n(7092),W=n(7960),q=n(3931),H=n(9631),z=n(464),V=n(8412),X=n(8138),Y=n(8704),Z=n(5897),Q=n(7319),K=n(8116),J=n(812),$=n(1459),tt=n(1938),et=n(3684),nt=n(2527),rt=n(5899),it=n(5865),ot=n(8133),at=n(4275),st=n(961),ut=n(6366),lt=n(8483),ct=n(4599),ht=n(297),ft=n(731),pt=n(4301),dt=n(2777),yt=n(8375),mt=n(8314),gt=n(9406),_t=n(9971),bt=n(9211),vt=n(7686),Tt=n(5604),Et=n(1375),wt=n(8877),xt=function(){function t(t,e,n){this.name=t,this.path=e,this.connection=n,this.tableCreator=new $.TableCreator(this),this.loadSpatialReferenceSystemsIntoProj4();}return t.prototype.close=function(){this.connection.close();},Object.defineProperty(t.prototype,"database",{get:function(){return this.connection},enumerable:!1,configurable:!0}),t.prototype.export=function(){return a(this,void 0,void 0,(function(){return s(this,(function(t){return [2,this.connection.export()]}))}))},t.prototype.loadSpatialReferenceSystemsIntoProj4=function(){this.spatialReferenceSystemDao.getAllSpatialReferenceSystems().forEach((function(t){try{t.srs_id>0&&(t.organization!==Et.ProjectionConstants.EPSG||t.organization_coordsys_id!==Et.ProjectionConstants.EPSG_CODE_4326&&t.organization_coordsys_id!==Et.ProjectionConstants.EPSG_CODE_3857)&&Tt.Projection.loadProjection([t.organization,t.organization_coordsys_id].join(":"),t.definition);}catch(t){}}));},t.prototype.validate=function(){var t=[];return t.concat(at.GeoPackageValidate.validateMinimumTables(this))},Object.defineProperty(t.prototype,"spatialReferenceSystemDao",{get:function(){return this._spatialReferenceSystemDao||(this._spatialReferenceSystemDao=new x.SpatialReferenceSystemDao(this))},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"contentsDao",{get:function(){return this._contentsDao||(this._contentsDao=new N.ContentsDao(this))},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"tileMatrixSetDao",{get:function(){return this._tileMatrixSetDao||(this._tileMatrixSetDao=new O.TileMatrixSetDao(this))},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"tileMatrixDao",{get:function(){return this._tileMatrixDao||(this._tileMatrixDao=new A.TileMatrixDao(this))},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"dataColumnsDao",{get:function(){return this._dataColumnsDao||(this._dataColumnsDao=new I.DataColumnsDao(this))},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"extensionDao",{get:function(){return this._extensionDao||(this._extensionDao=new D.ExtensionDao(this))},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"tableIndexDao",{get:function(){return this._tableIndexDao||(this._tableIndexDao=new k.TableIndexDao(this))},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"geometryColumnsDao",{get:function(){return this._geometryColumnsDao||(this._geometryColumnsDao=new C.GeometryColumnsDao(this))},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"dataColumnConstraintsDao",{get:function(){return this._dataColumnConstraintsDao||(this._dataColumnConstraintsDao=new P.DataColumnConstraintsDao(this))},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"metadataReferenceDao",{get:function(){return this._metadataReferenceDao||(this._metadataReferenceDao=new L.MetadataReferenceDao(this))},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"metadataDao",{get:function(){return this._metadataDao||(this._metadataDao=new R.MetadataDao(this))},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"extendedRelationDao",{get:function(){return this._extendedRelationDao||(this._extendedRelationDao=new U.ExtendedRelationDao(this))},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"contentsIdDao",{get:function(){return this._contentsIdDao||(this._contentsIdDao=new G.ContentsIdDao(this))},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"tileScalingDao",{get:function(){return this._tileScalingDao||(this._tileScalingDao=new W.TileScalingDao(this))},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"contentsIdExtension",{get:function(){return this._contentsIdExtension||(this._contentsIdExtension=new E.ContentsIdExtension(this))},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"featureStyleExtension",{get:function(){return this._featureStyleExtension||(this._featureStyleExtension=new T.FeatureStyleExtension(this))},enumerable:!1,configurable:!0}),t.prototype.getTileScalingExtension=function(t){return new w.TileScalingExtension(this,t)},t.prototype.getGeometryIndexDao=function(t){return new F.GeometryIndexDao(this,t)},Object.defineProperty(t.prototype,"relatedTablesExtension",{get:function(){return this._relatedTablesExtension||(this._relatedTablesExtension=new v.RelatedTablesExtension(this))},enumerable:!1,configurable:!0}),t.prototype.getSrs=function(t){return this.spatialReferenceSystemDao.queryForId(t)},t.prototype.createRequiredTables=function(){return this.tableCreator.createRequired(),this},t.prototype.createSupportedExtensions=function(){return new b.CrsWktExtension(this).getOrCreateExtension(),new K.SchemaExtension(this).getOrCreateExtension(),this},t.prototype.getTileDao=function(t){if(t instanceof Z.Contents)t=this.contentsDao.getTileMatrixSet(t);else if(!(t instanceof rt.TileMatrixSet)){var e=this.tileMatrixSetDao,n=e.queryForAllEq(O.TileMatrixSetDao.COLUMN_TABLE_NAME,t);if(n.length>1)throw new Error("Unexpected state. More than one Tile Matrix Set matched for table name: "+t+", count: "+n.length);if(0===n.length)throw new Error("No Tile Matrix found for table name: "+t);t=e.createObject(n[0]);}if(!t)throw new Error("Non null TileMatrixSet is required to create Tile DAO");var r=[],i=this.tileMatrixDao;i.queryForAllEq(A.TileMatrixDao.COLUMN_TABLE_NAME,t.table_name,null,null,A.TileMatrixDao.COLUMN_ZOOM_LEVEL+" ASC, "+A.TileMatrixDao.COLUMN_PIXEL_X_SIZE+" DESC, "+A.TileMatrixDao.COLUMN_PIXEL_Y_SIZE+" DESC").forEach((function(t){var e=i.createObject(t);i.hasTiles(e)&&r.push(e);}));var o=new H.TileTableReader(t).readTileTable(this);return new j.TileDao(this,o,t,r)},t.prototype.getTables=function(t){return void 0===t&&(t=!1),t?{features:this.contentsDao.getContentsForTableType(_t.ContentsDataType.FEATURES),tiles:this.contentsDao.getContentsForTableType(_t.ContentsDataType.TILES),attributes:this.contentsDao.getContentsForTableType(_t.ContentsDataType.ATTRIBUTES)}:{features:this.getFeatureTables(),tiles:this.getTileTables(),attributes:this.getAttributesTables()}},t.prototype.getAttributesTables=function(){return this.contentsDao.getTables(_t.ContentsDataType.ATTRIBUTES)},t.prototype.hasAttributeTable=function(t){var e=this.getAttributesTables();return e&&-1!=e.indexOf(t)},t.prototype.getTileTables=function(){var t=this.contentsDao;return t.isTableExists()?t.getTables(_t.ContentsDataType.TILES):[]},t.prototype.hasTileTable=function(t){var e=this.getTileTables();return e&&-1!==e.indexOf(t)},t.prototype.hasFeatureTable=function(t){var e=this.getFeatureTables();return e&&-1!=e.indexOf(t)},t.prototype.getFeatureTables=function(){var t=this.contentsDao;return t.isTableExists()?t.getTables(_t.ContentsDataType.FEATURES):[]},t.prototype.isTable=function(t){return !!this.connection.tableExists(t)},t.prototype.isTableType=function(t,e){return t===this.getTableType(e)},t.prototype.getTableType=function(t){var e=this.getTableContents(t);if(e)return e.data_type},t.prototype.getTableContents=function(t){return this.contentsDao.queryForId(t)},t.prototype.dropTable=function(t){return this.connection.dropTable(t)},t.prototype.deleteTable=function(t){gt.GeoPackageExtensions.deleteTableExtensions(this,t),this.contentsDao.deleteTable(t);},t.prototype.deleteTableQuietly=function(t){try{this.deleteTable(t);}catch(t){}},t.prototype.getTableCreator=function(){return this.tableCreator},t.prototype.index=function(){return a(this,void 0,void 0,(function(){var t,e;return s(this,(function(n){switch(n.label){case 0:t=this.getFeatureTables(),e=0,n.label=1;case 1:return e0&&n[0]instanceof it.UserColumn)s=n;else {var u=0;s.push(st.FeatureColumn.createPrimaryKeyColumn(u++,"id")),s.push(st.FeatureColumn.createGeometryColumn(u++,a.column_name,bt.GeometryType.GEOMETRY,!1,null));for(var l=0;n&&lc.maxZoom)){for(var h=0;hc.maxWebMapZoom)){l.columns=[];for(var h=0;h1e4){var p=f.toGeoJSON();return p.feature_count=h,p.coverage=!0,p.gp_table=e,p.gp_name=this.name,p}var d=[f.maxLongitude,f.maxLatitude],y=[f.minLongitude,f.minLatitude],g=(d[0]-y[0])/256*10;f.maxLongitude=a+g,f.minLongitude=a-g,f.maxLatitude=o+g,f.minLatitude=o-g;var _,b=c.queryForGeoJSONIndexedFeaturesWithBoundingBox(f),v=[],T=1e11,E=m.point([a,o]);try{for(var w=u(b),x=w.next();!x.done;x=w.next()){var C=x.value;C.type="Feature";var M=t.determineDistance(E.geometry,C);(M{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.GeoPackageConstants=void 0;var n=function(){function t(){}return t.GEOPACKAGE_EXTENSION="gpkg",t.GEOPACKAGE_EXTENDED_EXTENSION="gpkx",t.APPLICATION_ID="GPKG",t.USER_VERSION="10200",t.GEOPACKAGE_EXTENSION_AUTHOR=t.GEOPACKAGE_EXTENSION,t.GEOMETRY_EXTENSION_PREFIX="geom",t.GEOPACKAGE_GEOMETRY_MAGIC_NUMBER="GP",t.GEOPACKAGE_GEOMETRY_VERSION_1=0,t.SQLITE_HEADER_PREFIX="SQLite format 3",t}();e.GeoPackageConstants=n;},5095:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Envelope=void 0;e.Envelope=function(){};},1895:function(t,e,n){"use strict";var r=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.EnvelopeBuilder=void 0;var i=r(n(9705)),o=function(){function t(){}return t.buildEnvelopeWithGeometry=function(t){var e=t.toGeoJSON(),n=(0,i.default)(e);return {minX:n[0],minY:n[1],maxX:n[2],maxY:n[3]}},t}();e.EnvelopeBuilder=o;},857:function(t,e,n){"use strict";var r=n(3085).lW,i=n(5108),o=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.GeometryData=void 0;var a=o(n(1011)),s=n(1506),u=n(5095),l=function(){function t(e){this.empty=!0,this.byteOrder=t.BIG_ENDIAN,e&&this.fromData(e);}return t.prototype.setSrsId=function(t){this.srsId=t;},t.prototype.setGeometry=function(t){this.empty=!1,this.geometry=t;},t.prototype.setEnvelope=function(t){this.envelope=t;},t.prototype.toGeoJSON=function(){return this.geometry.toGeoJSON()},t.prototype.fromData=function(t){t instanceof Uint8Array?this.buffer=t=r.from(t):this.buffer=t;var e=this.buffer.toString("ascii",0,2);if(e!==s.GeoPackageConstants.GEOPACKAGE_GEOMETRY_MAGIC_NUMBER)throw new Error("Unexpected GeoPackage Geometry magic number: "+e+", Expected: "+s.GeoPackageConstants.GEOPACKAGE_GEOMETRY_MAGIC_NUMBER);var n=this.buffer.readUInt8(2);if(n!==s.GeoPackageConstants.GEOPACKAGE_GEOMETRY_VERSION_1)throw new Error("Unexpected GeoPackage Geometry version "+n+", Expected: "+s.GeoPackageConstants.GEOPACKAGE_GEOMETRY_VERSION_1);var o=this.buffer.readUInt8(3),u=this.readFlags(o);this.srsId=this.buffer[this.byteOrder?"readUInt32LE":"readUInt32BE"](4);var l=this.readEnvelope(u,this.buffer);this.envelope=l.envelope;var c=l.offset,h=this.buffer.slice(c);try{this.geometry=a.default.Geometry.parse(h),this.geometryError=void 0;}catch(t){this.geometryError=t.message,i.log("Error parsing geometry");}},t.prototype.toData=function(){var t=r.alloc(8);t.write(s.GeoPackageConstants.GEOPACKAGE_GEOMETRY_MAGIC_NUMBER),t.writeUInt8(s.GeoPackageConstants.GEOPACKAGE_GEOMETRY_VERSION_1,2);var e=this.buildFlagsByte();t.writeUInt8(e,3),t[this.byteOrder?"writeUInt32LE":"writeUInt32BE"](this.srsId,4);var n=[t,this.writeEnvelope()];try{n.push(this.geometry.toWkb()),this.geometryError=void 0;}catch(t){this.geometryError=t.message;}return this.buffer=r.concat(n),this.buffer},t.prototype.writeEnvelope=function(){if(!this.envelope)return r.alloc(0);var t=32;this.envelope.hasZ&&(t+=16),this.envelope.hasM&&(t+=16);var e,n=r.alloc(t);(e=this.byteOrder?n.writeDoubleLE.bind(n):n.writeDoubleBE.bind(n))(this.envelope.minX,0),e(this.envelope.maxX,8),e(this.envelope.minY,16),e(this.envelope.maxY,24);var i=32;return this.envelope.hasZ&&(e(this.envelope.minZ,i),e(this.envelope.maxZ,i+8),i=48),this.envelope.hasM&&(e(this.envelope.minM,i),e(this.envelope.maxM,i+8)),n},t.prototype.buildFlagsByte=function(){var e=0;return e+=(this.extended?1:0)<<5,e+=(this.empty?1:0)<<4,(e+=(this.envelope?this.getIndicatorWithEnvelope(this.envelope):0)<<1)+(this.byteOrder===t.BIG_ENDIAN?0:1)},t.prototype.getIndicatorWithEnvelope=function(t){var e=1;return t.hasZ&&e++,t.hasM&&(e+=2),e},t.prototype.readFlags=function(t){var e=t>>7&1,n=t>>6&1;if(0!==e||0!==n)throw new Error("Unexpected GeoPackage Geometry flags. Flag bit 7 and 6 should both be 0, 7="+e+", 6="+n);var r=t>>5&1;this.extended=1===r;var i=t>>4&1;this.empty=1===i;var o=t>>1&7;if(o>4)throw new Error("Unexpected GeoPackage Geometry flags. Envelope contents indicator must be between 0 and 4. Actual: "+o);var a=1&t;return this.byteOrder=a,o},t.prototype.readEnvelope=function(t,e){var n;n=this.byteOrder?e.readDoubleLE.bind(e):e.readDoubleBE.bind(e);var r=0,i={envelope:void 0,offset:8};if(t<=0)return i;var o=new u.Envelope;return o.minX=n(8+8*r++),o.maxX=n(8+8*r++),o.minY=n(8+8*r++),o.maxY=n(8+8*r++),o.hasZ=!1,o.hasM=!1,2!==t&&4!==t||(o.hasZ=!0,o.minZ=n(8+8*r++),o.maxZ=n(8+8*r++)),3!==t&&4!==t||(o.hasM=!0,o.minM=n(8+8*r++),o.maxM=n(8+8*r++)),i.envelope=o,i.offset=8+8*r,i},t.BIG_ENDIAN=0,t.LITTLE_ENDIAN=1,t}();e.GeometryData=l;},3026:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Metadata=void 0;var n=function(){function t(){}return t.prototype.getScopeInformation=function(e){switch(e){case t.UNDEFINED:return {name:t.UNDEFINED,code:"NA",definition:"Metadata information scope is undefined"};case t.FIELD_SESSION:return {name:t.FIELD_SESSION,code:"012",definition:"Information applies to the field session"};case t.COLLECTION_SESSION:return {name:t.COLLECTION_SESSION,code:"004",definition:"Information applies to the collection session"};case t.SERIES:return {name:t.SERIES,code:"006",definition:"Information applies to the (dataset) series"};case t.DATASET:return {name:t.DATASET,code:"005",definition:"Information applies to the (geographic feature) dataset"};case t.FEATURE_TYPE:return {name:t.FEATURE_TYPE,code:"010",definition:"Information applies to a feature type (class)"};case t.FEATURE:return {name:t.FEATURE,code:"009",definition:"Information applies to a feature (instance)"};case t.ATTRIBUTE_TYPE:return {name:t.ATTRIBUTE_TYPE,code:"002",definition:"Information applies to the attribute class"};case t.ATTRIBUTE:return {name:t.ATTRIBUTE,code:"001",definition:"Information applies to the characteristic of a feature (instance)"};case t.TILE:return {name:t.TILE,code:"016",definition:"Information applies to a tile, a spatial subset of geographic data"};case t.MODEL:return {name:t.MODEL,code:"015",definition:"Information applies to a copy or imitation of an existing or hypothetical object"};case t.CATALOG:return {name:t.CATALOG,code:"NA",definition:"Metadata applies to a feature catalog"};case t.SCHEMA:return {name:t.SCHEMA,code:"NA",definition:"Metadata applies to an application schema"};case t.TAXONOMY:return {name:t.TAXONOMY,code:"NA",definition:"Metadata applies to a taxonomy or knowledge system"};case t.SOFTWARE:return {name:t.SOFTWARE,code:"013",definition:"Information applies to a computer program or routine"};case t.SERVICE:return {name:t.SERVICE,code:"014",definition:"Information applies to a capability which a service provider entity makes available to a service user entity through a set of interfaces that define a behaviour, such as a use case"};case t.COLLECTION_HARDWARE:return {name:t.COLLECTION_HARDWARE,code:"003",definition:"Information applies to the collection hardware class"};case t.NON_GEOGRAPHIC_DATASET:return {name:t.NON_GEOGRAPHIC_DATASET,code:"007",definition:"Information applies to non-geographic data"};case t.DIMENSION_GROUP:return {name:t.DIMENSION_GROUP,code:"008",definition:"Information applies to a dimension group"}}},t.UNDEFINED="undefined",t.FIELD_SESSION="fieldSession",t.COLLECTION_SESSION="collectionSession",t.SERIES="series",t.DATASET="dataset",t.FEATURE_TYPE="featureType",t.FEATURE="feature",t.ATTRIBUTE_TYPE="attributeType",t.ATTRIBUTE="attribute",t.TILE="tile",t.MODEL="model",t.CATALOG="catalog",t.SCHEMA="schema",t.TAXONOMY="taxonomy",t.SOFTWARE="software",t.SERVICE="service",t.COLLECTION_HARDWARE="collectionHardware",t.NON_GEOGRAPHIC_DATASET="nonGeographicDataset",t.DIMENSION_GROUP="dimensionGroup",t}();e.Metadata=n;},663:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);});Object.defineProperty(e,"__esModule",{value:!0}),e.MetadataDao=void 0;var o=n(4115),a=n(3026),s=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.gpkgTableName=e.TABLE_NAME,n.idColumns=[e.COLUMN_ID],n}return i(e,t),e.prototype.createObject=function(t){var e=new a.Metadata;return t&&(e.id=t.id,e.md_scope=t.md_scope,e.md_standard_uri=t.md_standard_uri,e.mime_type=t.mime_type,e.metadata=t.metadata),e},e.TABLE_NAME="gpkg_metadata",e.COLUMN_ID="id",e.COLUMN_MD_SCOPE="md_scope",e.COLUMN_MD_STANDARD_URI="md_standard_uri",e.COLUMN_MIME_TYPE="mime_type",e.COLUMN_METADATA="metadata",e}(o.Dao);e.MetadataDao=s;},9173:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.MetadataReference=void 0;var n=function(){function t(){}return t.prototype.toDatabaseValue=function(t){return "timestamp"===t?this.timestamp.toISOString():this[t]},t.prototype.setMetadata=function(t){this.md_file_id=t?t.id:-1;},t.prototype.setParentMetadata=function(t){this.md_parent_id=t?t.id:-1;},t.prototype.setReferenceScopeType=function(e){switch(this.reference_scope=e,e){case t.GEOPACKAGE:this.table_name=void 0,this.column_name=void 0,this.row_id_value=void 0;break;case t.TABLE:this.column_name=void 0,this.row_id_value=void 0;break;case t.ROW:this.column_name=void 0;break;case t.COLUMN:this.row_id_value=void 0;}},t.GEOPACKAGE="geopackage",t.TABLE="table",t.COLUMN="column",t.ROW="row",t.ROW_COL="row/col",t}();e.MetadataReference=n;},2056:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);});Object.defineProperty(e,"__esModule",{value:!0}),e.MetadataReferenceDao=void 0;var o=n(4115),a=n(8572),s=n(9173),u=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.gpkgTableName=e.TABLE_NAME,n.idColumns=[e.COLUMN_MD_FILE_ID,e.COLUMN_MD_PARENT_ID],n}return i(e,t),e.prototype.createObject=function(t){var e=new s.MetadataReference;return t&&(e.reference_scope=t.reference_scope,e.table_name=t.table_name,e.column_name=t.column_name,e.row_id_value=t.row_id_value,e.timestamp=new Date(t.timestamp),e.md_file_id=t.md_file_id,e.md_parent_id=t.md_parent_id),e},e.prototype.removeMetadataParent=function(t){var n={};n[e.COLUMN_MD_PARENT_ID]=null;var r=this.buildWhereWithFieldAndValue(e.COLUMN_MD_PARENT_ID,t),i=this.buildWhereArgs(t);return this.updateWithValues(n,r,i).changes},e.prototype.queryByMetadataAndParent=function(t,n){var r=new a.ColumnValues;return r.addColumn(e.COLUMN_MD_FILE_ID,t),r.addColumn(e.COLUMN_MD_PARENT_ID,n),this.queryForFieldValues(r)},e.prototype.queryByMetadata=function(t){var n=new a.ColumnValues;return n.addColumn(e.COLUMN_MD_FILE_ID,t),this.queryForFieldValues(n)},e.prototype.queryByMetadataParent=function(t){var n=new a.ColumnValues;return n.addColumn(e.COLUMN_MD_PARENT_ID,t),this.queryForFieldValues(n)},e.prototype.deleteByTableName=function(t){var n="";n+=this.buildWhereWithFieldAndValue(e.COLUMN_TABLE_NAME,t);var r=this.buildWhereArgs(t);return this.deleteWhere(n,r)},e.TABLE_NAME="gpkg_metadata_reference",e.COLUMN_REFERENCE_SCOPE="reference_scope",e.COLUMN_TABLE_NAME="table_name",e.COLUMN_COLUMN_NAME="column_name",e.COLUMN_ROW_ID="row_id_value",e.COLUMN_TIMESTAMP="timestamp",e.COLUMN_MD_FILE_ID="md_file_id",e.COLUMN_MD_PARENT_ID="md_parent_id",e}(o.Dao);e.MetadataReferenceDao=u;},7403:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.OptionBuilder=void 0;var n=function(){function t(){}return t.build=function(t){var e={};return t.forEach((function(t){e["set"+t.slice(0,1).toUpperCase()+t.slice(1)]=function(e){return this[t]=e,this},e["get"+t.slice(0,1).toUpperCase()+t.slice(1)]=function(){return this[t]};})),e},t}();e.OptionBuilder=n;},5604:function(t,e,n){"use strict";var r=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.Projection=void 0;var i=r(n(4472)),o=r(n(8446)),a=n(1375),s=function(){function t(){}return t.loadProjection=function(t,e){if(!t||!e)throw new Error("Invalid projection name/definition");null==i.default.defs(t)&&i.default.defs(t,e);},t.loadProjections=function(e){if(!e)throw new Error("Invalid array of projections");for(var n=0;n{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ProjectionConstants=void 0;var n=function(){function t(){}return t.EPSG="EPSG",t.EPSG_PREFIX="EPSG:",t.EPSG_CODE_3857=3857,t.EPSG_CODE_4326=4326,t.EPSG_CODE_900913=900913,t.EPSG_CODE_102113=102113,t.EPSG_3857=t.EPSG_PREFIX+t.EPSG_CODE_3857,t.EPSG_4326=t.EPSG_PREFIX+t.EPSG_CODE_4326,t.EPSG_900913=t.EPSG_PREFIX+t.EPSG_CODE_900913,t.EPSG_102113=t.EPSG_PREFIX+t.EPSG_CODE_102113,t.WEB_MERCATOR_MAX_LAT_RANGE=85.0511287798066,t.WEB_MERCATOR_MIN_LAT_RANGE=-85.05112877980659,t.WEB_MERCATOR_MAX_LON_RANGE=180,t.WEB_MERCATOR_MIN_LON_RANGE=-180,t.WEB_MERCATOR_HALF_WORLD_WIDTH=20037508.342789244,t.WGS84_HALF_WORLD_LON_WIDTH=180,t.WGS84_HALF_WORLD_LAT_HEIGHT=90,t}();e.ProjectionConstants=n;},7977:function(t,e,n){"use strict";var r=this&&this.__createBinding||(Object.create?function(t,e,n,r){void 0===r&&(r=n);var i=Object.getOwnPropertyDescriptor(e,n);i&&!("get"in i?!e.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return e[n]}}),Object.defineProperty(t,r,i);}:function(t,e,n,r){void 0===r&&(r=n),t[r]=e[n];}),i=this&&this.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e});}:function(t,e){t.default=e;}),o=this&&this.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)"default"!==n&&Object.prototype.hasOwnProperty.call(t,n)&&r(e,t,n);return i(e,t),e},a=this&&this.__awaiter||function(t,e,n,r){return new(n||(n=Promise))((function(i,o){function a(t){try{u(r.next(t));}catch(t){o(t);}}function s(t){try{u(r.throw(t));}catch(t){o(t);}}function u(t){var e;t.done?i(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e);}))).then(a,s);}u((r=r.apply(t,e||[])).next());}))},s=this&&this.__generator||function(t,e){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(s){return function(u){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;o&&(o=0,s[0]&&(a=0)),a;)try{if(n=1,r&&(i=2&s[0]?r.return:s[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,s[1])).done)return i;switch(r=0,i&&(s=[2&s[0],i.value]),s[0]){case 0:case 1:i=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,r=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!((i=(i=a.trys).length>0&&i[i.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!i||s[1]>i[0]&&s[1]=this.width||n.yPositionInFinalTileStart>=this.height||this.addChunk(t,n);},t.prototype.addChunk=function(t,e){this.chunks.push({chunk:t,position:e});},t.prototype.reproject=function(t,e){return a(this,void 0,void 0,(function(){var t,r,i,o,a,u,l,f,p,d,g,_,b,v=this;return s(this,(function(s){if("undefined"!=typeof window&&window.Worker)return y.TileUtilities.getPiecePosition(e,this.tileBoundingBox,this.height,this.width,this.projectionTo,this.projectionToDefinition,this.projectionFrom,this.projectionFromDefinition,this.tileHeightUnitsPerPixel,this.tileWidthUnitsPerPixel,this.tileMatrix.pixel_x_size,this.tileMatrix.pixel_y_size),t={sourceImageData:this.tileContext.getImageData(0,0,this.tileMatrix.tile_width,this.tileMatrix.tile_height).data.buffer,height:this.height,width:this.width,projectionTo:this.projectionTo,projectionToDefinition:this.projectionToDefinition,projectionFrom:this.projectionFrom,projectionFromDefinition:this.projectionFromDefinition,maxLatitude:this.tileBoundingBox.maxLatitude,minLongitude:this.tileBoundingBox.minLongitude,tileWidthUnitsPerPixel:this.tileWidthUnitsPerPixel,tileHeightUnitsPerPixel:this.tileHeightUnitsPerPixel,tilePieceBoundingBox:JSON.stringify(e),tileBoundingBox:JSON.stringify(this.tileBoundingBox),pixel_y_size:this.tileMatrix.pixel_y_size,pixel_x_size:this.tileMatrix.pixel_x_size,tile_width:this.tileMatrix.tile_width,tile_height:this.tileMatrix.tile_height},[2,new Promise((function(e){try{(r=n(8034)(n(7591))).onmessage=function(t){v.canvas.getContext("2d").putImageData(new ImageData(new Uint8ClampedArray(t.data),v.height,v.width),0,0),e();},r.postMessage(t,[v.tileContext.getImageData(0,0,v.tileMatrix.tile_width,v.tileMatrix.tile_height).data.buffer]);}catch(n){var r,i=(r=h.default)(t);v.canvas.getContext("2d").putImageData(new ImageData(new Uint8ClampedArray(i),v.height,v.width),0,0),e();}}))];r=this.height,i=this.width,o=this.tileMatrix.tile_height,a=this.tileMatrix.tile_width,u=void 0;try{null==m.Projection.hasProjection(this.projectionTo)&&m.Projection.loadProjection(this.projectionTo,this.projectionToDefinition),null==m.Projection.hasProjection(this.projectionFrom)&&m.Projection.loadProjection(this.projectionFrom,this.projectionFromDefinition),u=(0,c.default)(this.projectionTo,this.projectionFrom);}catch(t){}for(l=void 0,f=0;f=0&&_=0&&b{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.CustomFeaturesTile=void 0;e.CustomFeaturesTile=function(){this.compressFormat="png",this.tileBorderStrokeWidth=2,this.tileBorderColor="rgba(0, 0, 0, 1.0)",this.tileFillColor="rgba(0, 0, 0, 0.0625)",this.drawUnindexedTiles=!0;};},3060:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);}),o=this&&this.__awaiter||function(t,e,n,r){return new(n||(n=Promise))((function(i,o){function a(t){try{u(r.next(t));}catch(t){o(t);}}function s(t){try{u(r.throw(t));}catch(t){o(t);}}function u(t){var e;t.done?i(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e);}))).then(a,s);}u((r=r.apply(t,e||[])).next());}))},a=this&&this.__generator||function(t,e){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(s){return function(u){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;o&&(o=0,s[0]&&(a=0)),a;)try{if(n=1,r&&(i=2&s[0]?r.return:s[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,s[1])).done)return i;switch(r=0,i&&(s=[2&s[0],i.value]),s[0]){case 0:case 1:i=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,r=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!((i=(i=a.trys).length>0&&i[i.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!i||s[1]>i[0]&&s[1]1)throw new Error("Circle padding percentage must be between 0.0 and 1.0: "+t);this.circlePaddingPercentage=t;},e.prototype.getTileBorderStrokeWidth=function(){return this.tileBorderStrokeWidth},e.prototype.setTileBorderStrokeWidth=function(t){this.tileBorderStrokeWidth=t;},e.prototype.getTileBorderColor=function(){return this.tileBorderColor},e.prototype.setTileBorderColor=function(t){this.tileBorderColor=t;},e.prototype.getTileFillColor=function(){return this.tileFillColor},e.prototype.setTileFillColor=function(t){this.tileFillColor=t;},e.prototype.isDrawUnindexedTiles=function(){return this.drawUnindexedTiles},e.prototype.setDrawUnindexedTiles=function(t){this.drawUnindexedTiles=t;},e.prototype.getCompressFormat=function(){return this.compressFormat},e.prototype.setCompressFormat=function(t){this.compressFormat=t;},e.prototype.drawUnindexedTile=function(t,e,n){return void 0===n&&(n=null),o(this,void 0,void 0,(function(){var r;return a(this,(function(i){return r=null,this.drawUnindexedTiles&&(r=this.drawTile(t,e,"?",n)),[2,r]}))}))},e.prototype.drawTile=function(t,e,n,r){return o(this,void 0,void 0,(function(){var i=this;return a(this,(function(o){switch(o.label){case 0:return [4,s.Canvas.initializeAdapter()];case 1:return o.sent(),[2,new Promise((function(o){var a,u=!1;null!=r?a=r:(a=s.Canvas.create(t,e),u=!0);var l=a.getContext("2d");l.clearRect(0,0,t,e),null!==i.tileFillColor&&(l.fillStyle=i.tileFillColor,l.fillRect(0,0,t,e)),null!==i.tileBorderColor&&(l.strokeStyle=i.tileBorderColor,l.lineWidth=i.tileBorderStrokeWidth,l.strokeRect(0,0,t,e));var c=s.Canvas.measureText(l,i.textFont,i.textSize,n),h=i.textSize,f=Math.round(t/2),p=Math.round(e/2);if(null!=i.circleBorderColor||null!=i.circleFillColor){var d=Math.max(c,h),y=Math.round(d/2);y=Math.round(y+d*i.circlePaddingPercentage),null!=i.circleFillColor&&(l.fillStyle=i.circleFillColor,l.beginPath(),l.arc(f,p,y,0,2*Math.PI,!0),l.closePath(),l.fill()),null!=i.circleBorderColor&&(l.strokeStyle=i.circleBorderColor,l.lineWidth=i.circleStrokeWidth,l.beginPath(),l.arc(f,p,y,0,2*Math.PI,!0),l.closePath(),l.stroke());}s.Canvas.drawText(l,n,[f,p],i.textFont,i.textSize,i.textColor),s.Canvas.toDataURL(a,"image/"+i.compressFormat).then((function(t){u&&s.Canvas.disposeCanvas(a),o(t);}));}))]}}))}))},e}(n(2544).CustomFeaturesTile);e.NumberFeaturesTile=u;},6667:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);}),o=this&&this.__awaiter||function(t,e,n,r){return new(n||(n=Promise))((function(i,o){function a(t){try{u(r.next(t));}catch(t){o(t);}}function s(t){try{u(r.throw(t));}catch(t){o(t);}}function u(t){var e;t.done?i(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e);}))).then(a,s);}u((r=r.apply(t,e||[])).next());}))},a=this&&this.__generator||function(t,e){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(s){return function(u){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;o&&(o=0,s[0]&&(a=0)),a;)try{if(n=1,r&&(i=2&s[0]?r.return:s[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,s[1])).done)return i;switch(r=0,i&&(s=[2&s[0],i.value]),s[0]){case 0:case 1:i=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,r=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!((i=(i=a.trys).length>0&&i[i.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!i||s[1]>i[0]&&s[1]{"use strict";var n;Object.defineProperty(e,"__esModule",{value:!0}),e.FeatureDrawType=void 0,(n=e.FeatureDrawType||(e.FeatureDrawType={})).CIRCLE="CIRCLE",n.STROKE="STROKE",n.FILL="FILL",function(t){t.nameFromType=function(e){return t[e]},t.fromName=function(e){switch(e){case "CIRCLE":return t.CIRCLE;case "STROKE":return t.STROKE;case "FILL":return t.FILL}};}(e.FeatureDrawType||(e.FeatureDrawType={}));},6063:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.FeaturePaint=void 0;var n=function(){function t(){this.featurePaints={};}return t.prototype.getPaint=function(t){return this.featurePaints[t]},t.prototype.setPaint=function(t,e){this.featurePaints[t]=e;},t}();e.FeaturePaint=n;},9957:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.FeaturePaintCache=void 0;var r=n(6063),i=function(){function t(e){void 0===e&&(e=t.DEFAULT_STYLE_PAINT_CACHE_SIZE),this.cacheSize=e,this.paintCache={},this.accessHistory=[];}return t.prototype.getFeaturePaintForStyleRow=function(t){return this.getFeaturePaint(t.id)},t.prototype.getFeaturePaint=function(t){var e=this.paintCache[t];if(e){var n=this.accessHistory.indexOf(t);n>-1&&this.accessHistory.splice(n,1),this.accessHistory.push(t);}return e},t.prototype.getPaintForStyleRow=function(t,e){return this.getPaint(t.id,e)},t.prototype.getPaint=function(t,e){var n=null,r=this.getFeaturePaint(t);return null!=r&&(n=r.getPaint(e)),n},t.prototype.setPaintForStyleRow=function(t,e,n){this.setPaint(t.id,e,n);},t.prototype.setPaint=function(t,e,n){var i=this.paintCache[t];if(i){var o=this.accessHistory.indexOf(t);o>-1&&this.accessHistory.splice(o,1);}else i=new r.FeaturePaint;if(i.setPaint(e,n),this.paintCache[t]=i,this.accessHistory.push(t),Object.keys(this.paintCache).length>this.cacheSize){var a=this.accessHistory.shift();a&&delete this.paintCache[a];}},t.prototype.remove=function(t){var e=this.paintCache[t];if(delete this.paintCache[t],e){var n=this.accessHistory.indexOf(t);n>-1&&this.accessHistory.splice(n,1);}return e},t.prototype.clear=function(){this.paintCache={},this.accessHistory=[];},t.prototype.resize=function(t){this.cacheSize=t;var e=Object.keys(this.paintCache);if(e.length>t)for(var n=e.length-t,r=0;r{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.GeometryCache=void 0;var n=function(){function t(e){void 0===e&&(e=t.DEFAULT_GEOMETRY_CACHE_SIZE),this.cacheSize=e,this.geometryCache={},this.accessHistory=[];}return t.prototype.getGeometryForFeatureRow=function(t){return this.getGeometry(t.id)},t.prototype.getGeometry=function(t){var e=this.geometryCache[t];if(e){var n=this.accessHistory.indexOf(t);n>-1&&this.accessHistory.splice(n,1),this.accessHistory.push(t);}return e},t.prototype.setGeometry=function(t,e){var n=this.accessHistory.indexOf(t);if(n>-1&&this.accessHistory.splice(n,1),this.geometryCache[t]=e,this.accessHistory.push(t),Object.keys(this.geometryCache).length>this.cacheSize){var r=this.accessHistory.shift();r&&delete this.geometryCache[r];}},t.prototype.remove=function(t){var e=this.geometryCache[t];if(delete this.geometryCache[t],e){var n=this.accessHistory.indexOf(t);n>-1&&this.accessHistory.splice(n,1);}return e},t.prototype.clear=function(){this.geometryCache={},this.accessHistory=[];},t.prototype.resize=function(t){this.cacheSize=t;var e=Object.keys(this.geometryCache);if(e.length>t)for(var n=e.length-t,r=0;r0&&i[i.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!i||s[1]>i[0]&&s[1]=t.length&&(t=void 0),{value:t&&t[r++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},s=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.FeatureTiles=void 0;var u=s(n(7383)),l=s(n(3809)),c=s(n(6479)),h=n(3684),f=n(2527),p=n(8600),d=n(943),y=n(4538),m=n(9957),g=n(5211),_=n(6536),b=n(3437),v=n(5604),T=n(1375),E=function(){function t(t,e,n){void 0===e&&(e=256),void 0===n&&(n=256),this.featureDao=t,this.tileWidth=e,this.tileHeight=n,this.projection=null,this.webMercatorProjection=null,this.simplifyGeometries=!0,this.simplifyToleranceInPixels=1,this.compressFormat="png",this.pointRadius=4,this.pointPaint=new g.Paint,this.pointIcon=null,this.linePaint=new g.Paint,this._lineStrokeWidth=2,this.polygonPaint=new g.Paint,this._polygonStrokeWidth=2,this.fillPolygon=!0,this.polygonFillPaint=new g.Paint,this.featurePaintCache=new m.FeaturePaintCache,this.geometryCache=new d.GeometryCache,this.cacheGeometries=!0,this.iconCache=new p.IconCache,this._scale=1,this.maxFeaturesPerTile=null,this.maxFeaturesTileDraw=null,this.projection=this.featureDao.projection,this.linePaint.strokeWidth=2,this.polygonPaint.strokeWidth=2,this.polygonFillPaint.color="#00000011",this.geoPackage=this.featureDao.geoPackage,null!=this.geoPackage&&(this.featureTableStyles=new _.FeatureTableStyles(this.geoPackage,t.table),this.featureTableStyles.has()||(this.featureTableStyles=null)),this.webMercatorProjection=v.Projection.getWebMercatorToWGS84Converter(),this.calculateDrawOverlap();}return t.prototype.cleanup=function(){this.clearIconCache(),this.pointIcon&&(b.Canvas.disposeImage(this.pointIcon.getIcon()),this.pointIcon=null);},Object.defineProperty(t.prototype,"drawOverlap",{set:function(t){this.widthDrawOverlap=t,this.heightDrawOverlap=t;},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"simplifyTolerance",{get:function(){return this.simplifyToleranceInPixels},set:function(t){this.simplifyToleranceInPixels=t;},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"widthDrawOverlap",{get:function(){return this.widthOverlap},set:function(t){this.widthOverlap=t;},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"heightDrawOverlap",{get:function(){return this.heightOverlap},set:function(t){this.heightOverlap=t;},enumerable:!1,configurable:!0}),t.prototype.ignoreFeatureTableStyles=function(){this.featureTableStyles=null,this.calculateDrawOverlap();},t.prototype.clearCache=function(){this.clearStylePaintCache(),this.clearIconCache();},t.prototype.clearStylePaintCache=function(){this.featurePaintCache.clear();},Object.defineProperty(t.prototype,"stylePaintCacheSize",{set:function(t){this.featurePaintCache.resize(t);},enumerable:!1,configurable:!0}),t.prototype.clearIconCache=function(){this.iconCache.clear();},Object.defineProperty(t.prototype,"iconCacheSize",{set:function(t){this.iconCache.resize(t);},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"scale",{get:function(){return this._scale},set:function(t){this._scale=t,this.linePaint.strokeWidth=t*this.lineStrokeWidth,this.polygonPaint.strokeWidth=t*this.polygonStrokeWidth,this.featurePaintCache.clear();},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"geometryCacheMaxSize",{set:function(t){this.geometryCache.resize(t);},enumerable:!1,configurable:!0}),t.prototype.calculateDrawOverlap=function(){this.pointIcon?(this.heightOverlap=this.scale*this.pointIcon.getHeight(),this.widthOverlap=this.scale*this.pointIcon.getWidth()):(this.heightOverlap=this.scale*this.pointRadius,this.widthOverlap=this.scale*this.pointRadius);var t=this.scale*this.lineStrokeWidth/2;this.heightOverlap=Math.max(this.heightOverlap,t),this.widthOverlap=Math.max(this.widthOverlap,t);var e=this.scale*this.polygonStrokeWidth/2;if(this.heightOverlap=Math.max(this.heightOverlap,e),this.widthOverlap=Math.max(this.widthOverlap,e),null!=this.featureTableStyles&&this.featureTableStyles.has()){var n=[],r=this.featureTableStyles.getAllTableStyleIds();null!=r&&(n=n.concat(r));var i=this.featureTableStyles.getAllStyleIds();null!=i&&(n=n.concat(i.filter((function(t){return -1===n.indexOf(t)}))));for(var o=this.featureTableStyles.getStyleDao(),a=0;a0))return [3,16];if(!(null==this.maxFeaturesPerTile||g<=this.maxFeaturesPerTile))return [3,13];_=this.getTransformFunction(s),v=this.featureDao.fastQueryBoundingBox(d,s),o.label=2;case 2:o.trys.push([2,9,10,11]),E=a(v),w=E.next(),o.label=3;case 3:if(w.done)return [3,8];if(null==(x=w.value).geometry)return [3,7];C=null,this.cacheGeometries&&(C=this.geometryCache.getGeometry(x.id)),null==C&&(C=x.geometry.geometry.toGeoJSON(),this.geometryCache.setGeometry(x.id,C)),M=this.getFeatureStyle(x),o.label=4;case 4:return o.trys.push([4,6,,7]),[4,this.drawGeometry(C,l,p,M,_)];case 5:return o.sent(),[3,7];case 6:return o.sent(),r.error("Failed to draw feature in tile. Id: "+x.id+", Table: "+this.featureDao.table_name),[3,7];case 7:return w=E.next(),[3,3];case 8:return [3,11];case 9:return S=o.sent(),N={error:S},[3,11];case 10:try{w&&!w.done&&(O=E.return)&&O.call(E);}finally{if(N)throw N.error}return [7];case 11:return [4,b.Canvas.toDataURL(i,"image/"+this.compressFormat)];case 12:return f=o.sent(),[3,15];case 13:return null==this.maxFeaturesTileDraw?[3,15]:[4,this.maxFeaturesTileDraw.drawTile(y,m,g.toString(),i)];case 14:f=o.sent(),o.label=15;case 15:return [3,18];case 16:return [4,b.Canvas.toDataURL(i,"image/"+this.compressFormat)];case 17:f=o.sent(),o.label=18;case 18:return c&&b.Canvas.disposeCanvas(i),[2,f]}}))}))},t.prototype.drawTileWithBoundingBox=function(t,e,n,s){return i(this,void 0,void 0,(function(){var e,i,u,l,c,h,f,p,d,y,m,g,_,v,T,E,w,x;return o(this,(function(o){switch(o.label){case 0:return e=this.tileWidth,i=this.tileHeight,l=!1,[4,b.Canvas.initializeAdapter()];case 1:o.sent(),null!=s?u=s:(u=b.Canvas.create(e,i),l=!0),(c=u.getContext("2d")).clearRect(0,0,e,i),h=this.featureDao,f=h.queryForEach(void 0,void 0,void 0,void 0,void 0,[h.table.getIdColumn().getName(),h.table.getGeometryColumn().getName()]),p=this.getTransformFunction(n),o.label=2;case 2:o.trys.push([2,9,10,11]),d=a(f),y=d.next(),o.label=3;case 3:if(y.done)return [3,8];if(m=y.value,null==(g=h.getRow(m)).geometry)return [3,7];if(_=null,this.cacheGeometries&&(_=this.geometryCache.getGeometryForFeatureRow(g)),null==_&&(_=g.geometry.geometry.toGeoJSON(),this.geometryCache.setGeometry(g.id,_)),null==_)return [3,7];v=this.getFeatureStyle(g),o.label=4;case 4:return o.trys.push([4,6,,7]),[4,this.drawGeometry(_,c,t,v,p)];case 5:return o.sent(),[3,7];case 6:return o.sent(),r.error("Failed to draw feature in tile. Id: "+g.id+", Table: "+this.featureDao.table_name),[3,7];case 7:return y=d.next(),[3,3];case 8:return [3,11];case 9:return T=o.sent(),w={error:T},[3,11];case 10:try{y&&!y.done&&(x=d.return)&&x.call(d);}finally{if(w)throw w.error}return [7];case 11:return [4,b.Canvas.toDataURL(u,"image/"+this.compressFormat)];case 12:return E=o.sent(),l&&b.Canvas.disposeCanvas(u),[2,E]}}))}))},t.prototype.drawPoint=function(t,e,n,r,a){return i(this,void 0,void 0,(function(){var i,s,u,l,c,f,p,d,y,m,g,_,b,v;return o(this,(function(o){switch(o.label){case 0:return c=a(t.coordinates),f=h.TileBoundingBoxUtils.getXPixel(this.tileWidth,n,c[0]),p=h.TileBoundingBoxUtils.getYPixel(this.tileHeight,n,c[1]),null!=r&&r.useIcon()?(d=r.icon,[4,this.iconCache.createIcon(d)]):[3,2];case 1:return y=o.sent(),i=Math.round(this.scale*y.width),s=Math.round(this.scale*y.height),f>=0-i&&f<=this.tileWidth+i&&p>=0-s&&p<=this.tileHeight+s&&(u=Math.round(f-d.anchorUOrDefault*i),l=Math.round(p-d.anchorVOrDefault*s),e.drawImage(y.image,u,l,i,s)),[3,3];case 2:if(null!=this.pointIcon){if(i=Math.round(this.scale*this.pointIcon.getWidth()),s=Math.round(this.scale*this.pointIcon.getHeight()),f>=0-i&&f<=this.tileWidth+i&&p>=0-s&&p<=this.tileHeight+s){u=Math.round(f-this.scale*this.pointIcon.getXOffset()),l=Math.round(p-this.scale*this.pointIcon.getYOffset());try{e.drawImage(this.pointIcon.getIcon().image,u,l,i,s);}catch(t){}}}else e.save(),m=null,null!=r&&null!=(g=r.style)&&(m=this.scale*(g.getWidthOrDefault()/2)),null==m&&(m=this.scale*this.pointRadius),_=this.getPointPaint(r),f>=0-m&&f<=this.tileWidth+m&&p>=0-m&&p<=this.tileHeight+m&&(b=Math.round(f),v=Math.round(p),e.beginPath(),e.arc(b,v,m,0,2*Math.PI,!0),e.closePath(),e.fillStyle=_.colorRGBA,e.fill()),e.restore();o.label=3;case 3:return [2]}}))}))},t.prototype.simplifyPoints=function(t,e){return void 0===e&&(e=!1),(0,c.default)(t.map((function(t){return {x:t[0],y:t[1]}})),this.simplifyToleranceInPixels,!1).map((function(t){return [t.x,t.y]}))},t.prototype.getPath=function(t,e,n,r,i){var o=this;void 0===r&&(r=!1);var a=t.coordinates.map((function(t){var e=i(t.slice());return [h.TileBoundingBoxUtils.getXPixel(o.tileWidth,n,e[0]),h.TileBoundingBoxUtils.getYPixel(o.tileHeight,n,e[1])]})),s=this.simplifyGeometries?this.simplifyPoints(a,r):a;if(s.length>1){e.moveTo(s[0][0],s[0][1]);for(var u=1;u{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Paint=void 0;var n=function(){function t(){this._color="#000000FF",this._strokeWidth=1;}return Object.defineProperty(t.prototype,"color",{get:function(){return this._color},set:function(t){this._color=t;},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"colorRGBA",{get:function(){var t=parseInt(this.color.substr(1,2),16),e=parseInt(this.color.substr(3,2),16),n=parseInt(this.color.substr(5,2),16),r=1;return this.color.length>7&&(r=parseInt(this.color.substr(7,2),16)/255),"rgba("+t+","+e+","+n+","+r+")"},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"strokeWidth",{get:function(){return this._strokeWidth},set:function(t){this._strokeWidth=t;},enumerable:!1,configurable:!0}),t}();e.Paint=n;},9325:function(t,e,n){"use strict";var r=n(5108),i=this&&this.__awaiter||function(t,e,n,r){return new(n||(n=Promise))((function(i,o){function a(t){try{u(r.next(t));}catch(t){o(t);}}function s(t){try{u(r.throw(t));}catch(t){o(t);}}function u(t){var e;t.done?i(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e);}))).then(a,s);}u((r=r.apply(t,e||[])).next());}))},o=this&&this.__generator||function(t,e){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(s){return function(u){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;o&&(o=0,s[0]&&(a=0)),a;)try{if(n=1,r&&(i=2&s[0]?r.return:s[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,s[1])).done)return i;switch(r=0,i&&(s=[2&s[0],i.value]),s[0]){case 0:case 1:i=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,r=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!((i=(i=a.trys).length>0&&i[i.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!i||s[1]>i[0]&&s[1]{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TileMatrix=void 0;var n=function(){function t(){}return Object.defineProperty(t.prototype,"contents",{set:function(t){t&&"tiles"===t.data_type&&(this.table_name=t.table_name);},enumerable:!1,configurable:!0}),t.TABLE_NAME="tableName",t.ZOOM_LEVEL="zoomLevel",t.MATRIX_WIDTH="matrixWidth",t.MATRIX_HEIGHT="matrixHeight",t.TILE_WIDTH="tileWidth",t.TILE_HEIGHT="tileHeight",t.PIXEL_X_SIZE="pixelXSize",t.PIXEL_Y_SIZE="pixelYSize",t}();e.TileMatrix=n;},3506:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);});Object.defineProperty(e,"__esModule",{value:!0}),e.TileMatrixDao=void 0;var o=n(4115),a=n(1938),s=n(8877),u=n(8334),l=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.gpkgTableName="gpkg_tile_matrix",n.idColumns=[e.COLUMN_PK1,e.COLUMN_PK2],n.columns=[e.COLUMN_TABLE_NAME,e.COLUMN_ZOOM_LEVEL,e.COLUMN_MATRIX_WIDTH,e.COLUMN_MATRIX_HEIGHT,e.COLUMN_TILE_WIDTH,e.COLUMN_TILE_HEIGHT,e.COLUMN_PIXEL_X_SIZE,e.COLUMN_PIXEL_Y_SIZE],n}return i(e,t),e.prototype.createObject=function(t){var e=new a.TileMatrix;return t&&(e.table_name=t.table_name,e.zoom_level=t.zoom_level,e.matrix_width=t.matrix_width,e.matrix_height=t.matrix_height,e.tile_width=t.tile_width,e.tile_height=t.tile_height,e.pixel_x_size=t.pixel_x_size,e.pixel_y_size=t.pixel_y_size),e},e.prototype.getContents=function(t){return this.geoPackage.contentsDao.queryForId(t.table_name)},e.prototype.getTileMatrixSet=function(t){return this.geoPackage.tileMatrixSetDao.queryForId(t.table_name)},e.prototype.tileCount=function(t){var e=this.buildWhereWithFieldAndValue(u.TileColumn.COLUMN_ZOOM_LEVEL,t.zoom_level),n=this.buildWhereArgs([t.zoom_level]),r=s.SqliteQueryBuilder.buildCount("'"+t.table_name+"'",e),i=this.connection.get(r,n);return null==i?void 0:i.count},e.prototype.hasTiles=function(t){var e=this.buildWhereWithFieldAndValue(u.TileColumn.COLUMN_ZOOM_LEVEL,t.zoom_level),n=this.buildWhereArgs([t.zoom_level]),r=s.SqliteQueryBuilder.buildQuery(!1,"'"+t.table_name+"'",void 0,e);return null!=this.connection.get(r,n)},e.TABLE_NAME="gpkg_tile_matrix",e.COLUMN_PK1="table_name",e.COLUMN_PK2="zoom_level",e.COLUMN_TABLE_NAME="table_name",e.COLUMN_ZOOM_LEVEL="zoom_level",e.COLUMN_MATRIX_WIDTH="matrix_width",e.COLUMN_MATRIX_HEIGHT="matrix_height",e.COLUMN_TILE_WIDTH="tile_width",e.COLUMN_TILE_HEIGHT="tile_height",e.COLUMN_PIXEL_X_SIZE="pixel_x_size",e.COLUMN_PIXEL_Y_SIZE="pixel_y_size",e}(o.Dao);e.TileMatrixDao=l;},5899:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TileMatrixSet=void 0;var r=n(2527),i=function(){function t(){}return Object.defineProperty(t.prototype,"boundingBox",{get:function(){return new r.BoundingBox(this.min_x,this.max_x,this.min_y,this.max_y)},set:function(t){this.min_x=t.minLongitude,this.max_x=t.maxLongitude,this.min_y=t.minLatitude,this.max_y=t.maxLatitude;},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"contents",{set:function(t){t&&"tiles"===t.data_type&&(this.table_name=t.table_name);},enumerable:!1,configurable:!0}),t.TABLE_NAME="tableName",t.MIN_X="minX",t.MIN_Y="minY",t.MAX_X="maxX",t.MAX_Y="maxY",t.SRS_ID="srsId",t}();e.TileMatrixSet=i;},5925:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);}),o=this&&this.__values||function(t){var e="function"==typeof Symbol&&Symbol.iterator,n=e&&t[e],r=0;if(n)return n.call(t);if(t&&"number"==typeof t.length)return {next:function(){return t&&r>=t.length&&(t=void 0),{value:t&&t[r++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.TileMatrixSetDao=void 0;var a=n(4115),s=n(5899),u=function(t){function e(n){var r=t.call(this,n)||this;return r.gpkgTableName="gpkg_tile_matrix_set",r.idColumns=[e.COLUMN_PK],r.columns=[e.COLUMN_TABLE_NAME,e.COLUMN_SRS_ID,e.COLUMN_MIN_X,e.COLUMN_MIN_Y,e.COLUMN_MAX_X,e.COLUMN_MAX_Y],r.columnToPropertyMap={},r.columnToPropertyMap[e.COLUMN_TABLE_NAME]=s.TileMatrixSet.TABLE_NAME,r.columnToPropertyMap[e.COLUMN_SRS_ID]=s.TileMatrixSet.SRS_ID,r.columnToPropertyMap[e.COLUMN_MIN_X]=s.TileMatrixSet.MIN_X,r.columnToPropertyMap[e.COLUMN_MIN_Y]=s.TileMatrixSet.MIN_Y,r.columnToPropertyMap[e.COLUMN_MAX_X]=s.TileMatrixSet.MAX_X,r.columnToPropertyMap[e.COLUMN_MAX_Y]=s.TileMatrixSet.MAX_Y,r}return i(e,t),e.prototype.createObject=function(t){var e=new s.TileMatrixSet;return t&&(e.table_name=t.table_name,e.srs_id=t.srs_id,e.min_y=t.min_y,e.min_x=t.min_x,e.max_y=t.max_y,e.max_x=t.max_x),e},e.prototype.getTileTables=function(){var t,n,r=[];try{for(var i=o(this.connection.each("select "+e.COLUMN_TABLE_NAME+" from "+e.TABLE_NAME)),a=i.next();!a.done;a=i.next()){var s=a.value;r.push(s[e.COLUMN_TABLE_NAME]);}}catch(e){t={error:e};}finally{try{a&&!a.done&&(n=i.return)&&n.call(i);}finally{if(t)throw t.error}}return r},e.prototype.getProjection=function(t){var e=this.getSrs(t);if(e)return this.geoPackage.spatialReferenceSystemDao.getProjection(e)},e.prototype.getSrs=function(t){return this.geoPackage.spatialReferenceSystemDao.queryForId(t.srs_id)},e.prototype.getContents=function(t){return this.geoPackage.contentsDao.queryForId(t.table_name)},e.TABLE_NAME="gpkg_tile_matrix_set",e.COLUMN_PK="table_name",e.COLUMN_TABLE_NAME="table_name",e.COLUMN_SRS_ID="srs_id",e.COLUMN_MIN_X="min_x",e.COLUMN_MIN_Y="min_y",e.COLUMN_MAX_X="max_x",e.COLUMN_MAX_Y="max_y",e}(a.Dao);e.TileMatrixSetDao=u;},731:function(t,e,n){"use strict";var r=this&&this.__awaiter||function(t,e,n,r){return new(n||(n=Promise))((function(i,o){function a(t){try{u(r.next(t));}catch(t){o(t);}}function s(t){try{u(r.throw(t));}catch(t){o(t);}}function u(t){var e;t.done?i(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e);}))).then(a,s);}u((r=r.apply(t,e||[])).next());}))},i=this&&this.__generator||function(t,e){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(s){return function(u){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;o&&(o=0,s[0]&&(a=0)),a;)try{if(n=1,r&&(i=2&s[0]?r.return:s[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,s[1])).done)return i;switch(r=0,i&&(s=[2&s[0],i.value]),s[0]){case 0:case 1:i=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,r=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!((i=(i=a.trys).length>0&&i[i.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!i||s[1]>i[0]&&s[1]=t.length&&(t=void 0),{value:t&&t[r++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.GeoPackageTileRetriever=void 0;var a=n(3684),s=n(7977),u=n(2777),l=n(5604),c=n(1375),h=function(){function t(t,e,n){this.tileDao=t,this.tileDao.adjustTileMatrixLengths(),this.width=e,this.height=n,this.scaling=null;}return t.prototype.setScaling=function(t){this.scaling=t;},t.prototype.getWebMercatorBoundingBox=function(){return null==this.setWebMercatorBoundingBox&&(this.setWebMercatorBoundingBox=this.tileDao.tileMatrixSet.boundingBox.projectBoundingBox(this.tileDao.projection,c.ProjectionConstants.EPSG_3857)),this.setWebMercatorBoundingBox},t.prototype.hasTile=function(t,e,n){var r=!1;if(t>=0&&e>=0&&n>=0){var i=a.TileBoundingBoxUtils.getWebMercatorBoundingBoxFromXYZ(t,e,n);r=this.hasTileForBoundingBox(i,c.ProjectionConstants.EPSG_3857);}return r},t.prototype.hasTileForBoundingBox=function(t,e){for(var n=t.projectBoundingBox(e,this.tileDao.projection),r=this.getTileMatrices(n),i=!1,o=0;!i&&o0;}return i},t.prototype.getTile=function(t,e,n){return r(this,void 0,void 0,(function(){var r;return i(this,(function(i){return r=a.TileBoundingBoxUtils.getWebMercatorBoundingBoxFromXYZ(t,e,n),[2,this.getTileWithBounds(r,c.ProjectionConstants.EPSG_3857)]}))}))},t.prototype.getWebMercatorTile=function(t,e,n){return r(this,void 0,void 0,(function(){var r;return i(this,(function(i){return r=a.TileBoundingBoxUtils.getWebMercatorBoundingBoxFromXYZ(t,e,n),[2,this.getTileWithBounds(r,c.ProjectionConstants.EPSG_3857)]}))}))},t.prototype.drawTileIn=function(t,e,n,o){return r(this,void 0,void 0,(function(){var r;return i(this,(function(i){return r=a.TileBoundingBoxUtils.getWebMercatorBoundingBoxFromXYZ(t,e,n),[2,this.getTileWithBounds(r,c.ProjectionConstants.EPSG_3857,o)]}))}))},t.prototype.getTileWithWgs84Bounds=function(t,e){return r(this,void 0,void 0,(function(){var n;return i(this,(function(r){return n=t.projectBoundingBox(c.ProjectionConstants.EPSG_4326,c.ProjectionConstants.EPSG_3857),[2,this.getTileWithBounds(n,c.ProjectionConstants.EPSG_3857,e)]}))}))},t.prototype.getTileWithWgs84BoundsInProjection=function(t,e,n,o){return r(this,void 0,void 0,(function(){var e;return i(this,(function(r){return e=t.projectBoundingBox(c.ProjectionConstants.EPSG_4326,n),[2,this.getTileWithBounds(e,n,o)]}))}))},t.prototype.getTileWithBounds=function(t,e,n){return r(this,void 0,void 0,(function(){var r,u,c,h,f,p,d,y,m,g,_,b,v,T,E,w,x,C,M,S,N;return i(this,(function(i){switch(i.label){case 0:if(null==(r=l.Projection.hasProjection(e)))throw new Error("Projection "+e+" is not loaded.");u=t.projectBoundingBox(e,this.tileDao.projection),c=this.getTileMatrices(u),h=!1,f=null,p=0,i.label=1;case 1:return !h&&p=p;h--)f.push(h);}if(0==l.length)s=f;else if(0==f.length)s=l;else {var d=this.scaling.scaling_type;switch(d){case u.TileScalingType.IN:case u.TileScalingType.IN_OUT:s=l.concat(f);break;case u.TileScalingType.OUT:case u.TileScalingType.OUT_IN:s=f.concat(l);break;case u.TileScalingType.CLOSEST_IN_OUT:case u.TileScalingType.CLOSEST_OUT_IN:var y=void 0,m=void 0;d==u.TileScalingType.CLOSEST_IN_OUT?(y=l,m=f):(y=f,m=l),s=[];for(var g=Math.max(y.length,m.length),_=0;_{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TileBoundingBoxUtils=void 0;var r=n(1375),i=n(7218),o=n(2527),a=function(){function t(){}return t.webMercatorTileBox=function(e,n){var i=t.tilesPerSideWithZoom(n),a=t.tileSizeWithTilesPerSide(i),s=Math.max(-r.ProjectionConstants.WEB_MERCATOR_HALF_WORLD_WIDTH,e.minLongitude),u=Math.min(r.ProjectionConstants.WEB_MERCATOR_HALF_WORLD_WIDTH,e.maxLongitude),l=Math.max(-r.ProjectionConstants.WEB_MERCATOR_HALF_WORLD_WIDTH,e.minLatitude),c=Math.min(r.ProjectionConstants.WEB_MERCATOR_HALF_WORLD_WIDTH,e.maxLatitude),h=Math.floor((s+r.ProjectionConstants.WEB_MERCATOR_HALF_WORLD_WIDTH)/a),f=Math.max(0,Math.ceil((u+r.ProjectionConstants.WEB_MERCATOR_HALF_WORLD_WIDTH)/a)-1),p=Math.floor((r.ProjectionConstants.WEB_MERCATOR_HALF_WORLD_WIDTH-c)/a),d=Math.max(0,Math.ceil((r.ProjectionConstants.WEB_MERCATOR_HALF_WORLD_WIDTH-l)/a)-1);return new o.BoundingBox(h,f,p,d)},t.wgs84TileBox=function(e,n){var i=t.tilesPerWGS84LatSide(n),a=t.tilesPerWGS84LonSide(n),s=t.tileSizeLatPerWGS84Side(i),u=t.tileSizeLonPerWGS84Side(a),l=Math.max(-r.ProjectionConstants.WGS84_HALF_WORLD_LON_WIDTH,e.minLongitude),c=Math.min(r.ProjectionConstants.WGS84_HALF_WORLD_LON_WIDTH,e.maxLongitude),h=Math.max(-r.ProjectionConstants.WGS84_HALF_WORLD_LAT_HEIGHT,e.minLatitude),f=Math.min(r.ProjectionConstants.WGS84_HALF_WORLD_LAT_HEIGHT,e.maxLatitude),p=Math.floor((l+r.ProjectionConstants.WGS84_HALF_WORLD_LON_WIDTH)/u),d=Math.max(0,Math.ceil((c+r.ProjectionConstants.WGS84_HALF_WORLD_LON_WIDTH)/u)-1),y=Math.floor((r.ProjectionConstants.WGS84_HALF_WORLD_LAT_HEIGHT-f)/s),m=Math.max(0,Math.ceil((r.ProjectionConstants.WGS84_HALF_WORLD_LAT_HEIGHT-h)/s)-1);return new o.BoundingBox(p,d,y,m)},t.determinePositionAndScale=function(t,e,n,r,i,o){var a={},s=r.maxLongitude-r.minLongitude,u=(t.minLongitude-r.minLongitude)/s,l=r.maxLatitude-r.minLatitude,c=(r.maxLatitude-t.maxLatitude)/l,h=o/s,f=(t.maxLongitude-t.minLongitude)*h,p=i/l,d=(t.maxLatitude-t.minLatitude)*p;return a.yPositionInFinalTileStart=c*i,a.xPositionInFinalTileStart=u*o,a.dx=a.xPositionInFinalTileStart,a.dy=a.yPositionInFinalTileStart,a.sx=0,a.sy=0,a.dWidth=f,a.dHeight=d,a.sWidth=n,a.sHeight=e,a},t.getWebMercatorBoundingBoxFromXYZ=function(e,n,i,a){for(var s=t.tilesPerSideWithZoom(i),u=t.tileSizeWithTilesPerSide(s);e<0;)e+=s;for(;e>=s;)e-=s;var l=0;if(a&&a.buffer&&a.tileSize){var c=a.buffer;l=u/a.tileSize*c;}var h=-1*r.ProjectionConstants.WEB_MERCATOR_HALF_WORLD_WIDTH+e*u-l,f=-1*r.ProjectionConstants.WEB_MERCATOR_HALF_WORLD_WIDTH+(e+1)*u+l,p=r.ProjectionConstants.WEB_MERCATOR_HALF_WORLD_WIDTH-(n+1)*u-l,d=r.ProjectionConstants.WEB_MERCATOR_HALF_WORLD_WIDTH-n*u+l;return h=Math.max(-1*r.ProjectionConstants.WEB_MERCATOR_HALF_WORLD_WIDTH,h),f=Math.min(r.ProjectionConstants.WEB_MERCATOR_HALF_WORLD_WIDTH,f),p=Math.max(-1*r.ProjectionConstants.WEB_MERCATOR_HALF_WORLD_WIDTH,p),d=Math.min(r.ProjectionConstants.WEB_MERCATOR_HALF_WORLD_WIDTH,d),new o.BoundingBox(h,f,p,d)},t.getWGS84BoundingBoxFromXYZ=function(e,n,i){var a=t.tilesPerWGS84LatSide(i),s=t.tilesPerWGS84LonSide(i),u=t.tileSizeLatPerWGS84Side(a),l=t.tileSizeLonPerWGS84Side(s),c=-1*r.ProjectionConstants.WGS84_HALF_WORLD_LON_WIDTH+e*l,h=-1*r.ProjectionConstants.WGS84_HALF_WORLD_LON_WIDTH+(e+1)*l,f=r.ProjectionConstants.WGS84_HALF_WORLD_LAT_HEIGHT-(n+1)*u,p=r.ProjectionConstants.WGS84_HALF_WORLD_LAT_HEIGHT-n*u;return new o.BoundingBox(c,h,f,p)},t.tileSizeWithTilesPerSide=function(t){return 2*r.ProjectionConstants.WEB_MERCATOR_HALF_WORLD_WIDTH/t},t.intersects=function(e,n){return null!=t.intersection(e,n)},t.intersection=function(t,e){var n=Math.max(t.minLongitude,e.minLongitude),r=Math.max(t.minLatitude,e.minLatitude),i=Math.min(t.maxLongitude,e.maxLongitude),a=Math.min(t.maxLatitude,e.maxLatitude);return n>i||r>a?null:new o.BoundingBox(n,i,r,a)},t.tilesPerSideWithZoom=function(t){return 1<=0&&(a<0&&(a=0),s>=n&&(s=n-1));var u=t.getRowWithTotalBoundingBox(e,r,o.minLatitude),l=t.getRowWithTotalBoundingBox(e,r,o.maxLatitude);return l=0&&(l<0&&(l=0),u>=r&&(u=r-1)),new i.TileGrid(a,s,l,u)},t.getTileColumnWithTotalBoundingBox=function(t,e,n){var r=t.minLongitude,i=t.maxLongitude;return n=i?e:~~((n-r)/((i-r)/e))},t.getRowWithTotalBoundingBox=function(t,e,n){var r=t.minLatitude,i=t.maxLatitude;return n=i?-1:~~((i-n)/((i-r)/e))},t.getTileBoundingBox=function(t,e,n,r){var a=e.matrix_width,s=e.matrix_height,u=new i.TileGrid(n,n,r,r),l=t.minLongitude,c=(t.maxLongitude-l)/a,h=l+c*u.min_x,f=h+c*(u.max_x+1-u.min_x),p=t.minLatitude,d=t.maxLatitude,y=(d-p)/s,m=d-y*u.min_y,g=m-y*(u.max_y+1-u.min_y);return new o.BoundingBox(h,f,g,m)},t.getTileGridBoundingBox=function(t,e,n,r){var i=t.minLongitude,a=t.width/e,s=i+a*r.min_x,u=s+a*(r.max_x+1-r.min_x),l=t.maxLatitude,c=t.height/n,h=l-c*r.min_y,f=h-c*(r.max_y+1-r.min_y);return new o.BoundingBox(s,u,f,h)},t.getXPixel=function(t,e,n){return (n-e.minLongitude)/e.width*t},t.getLongitudeFromPixel=function(t,e,n,r){return r/t*n.width+e.minLongitude},t.getYPixel=function(t,e,n){return (e.maxLatitude-n)/e.height*t},t.getLatitudeFromPixel=function(t,e,n,r){return e.maxLatitude-r/t*n.height},t.tileSize=function(t){return 2*r.ProjectionConstants.WEB_MERCATOR_HALF_WORLD_WIDTH/t},t.zoomLevelOfTileSize=function(t){var e=2*r.ProjectionConstants.WEB_MERCATOR_HALF_WORLD_WIDTH/t;return Math.log(e)/Math.log(2)},t.tileWidthDegrees=function(t){return 360/t},t.prototype.statictileHeightDegrees=function(t){return 180/t},t.tilesPerSide=function(t){return Math.pow(2,t)},t.tileSizeWithZoom=function(t){var e=this.tilesPerSide(t);return this.tileSize(e)},t.toleranceDistance=function(t,e){return this.tileSizeWithZoom(t)/e},t.toleranceDistanceWidthAndHeight=function(t,e,n){return this.toleranceDistance(t,Math.max(e,n))},t.getFloatRoundedRectangle=function(e,n,r,i){var o=Math.round(t.getXPixel(e,r,i.minLongitude)),a=Math.round(t.getXPixel(e,r,i.maxLongitude)),s=Math.round(t.getYPixel(n,r,i.maxLatitude)),u=Math.round(t.getYPixel(n,r,i.minLatitude));return {left:o,right:a,bottom:u,top:s,isValid:o{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TileGrid=void 0;var n=function(){function t(t,e,n,r){this.min_x=t,this.max_x=e,this.min_y=n,this.max_y=r;}return t.prototype.count=function(){return (this.max_x+1-this.min_x)*(this.max_y+1-this.min_y)},t.prototype.equals=function(t){return !!t&&this.min_x===t.min_x&&this.max_x===t.max_x&&this.min_y===t.min_y&&this.max_y===t.max_y},t}();e.TileGrid=n;},8334:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);});Object.defineProperty(e,"__esModule",{value:!0}),e.TileColumn=void 0;var o=n(5865),a=n(7319),s=n(5071),u=function(t){function e(e,n,r,i,o,a,s,u){return t.call(this,e,n,r,i,o,a,s,u)||this}return i(e,t),e.createIdColumn=function(t,n){return void 0===n&&(n=s.UserTableDefaults.DEFAULT_AUTOINCREMENT),new e(t,e.COLUMN_ID,a.GeoPackageDataType.INTEGER,null,!1,null,!0,n)},e.createZoomLevelColumn=function(t){return new e(t,e.COLUMN_ZOOM_LEVEL,a.GeoPackageDataType.INTEGER,null,!0,null,!1,!1)},e.createTileColumnColumn=function(t){return new e(t,e.COLUMN_TILE_COLUMN,a.GeoPackageDataType.INTEGER,null,!0,null,!1,!1)},e.createTileRowColumn=function(t){return new e(t,e.COLUMN_TILE_ROW,a.GeoPackageDataType.INTEGER,null,!0,null,!1,!1)},e.createTileDataColumn=function(t){return new e(t,e.COLUMN_TILE_DATA,a.GeoPackageDataType.BLOB,null,!0,null,!1,!1)},e.createColumn=function(t,n,r,i,o,a,s){return void 0===i&&(i=!1),new e(t,n,r,a,i,o,!1,s)},e.COLUMN_ID="id",e.COLUMN_ZOOM_LEVEL="zoom_level",e.COLUMN_TILE_COLUMN="tile_column",e.COLUMN_TILE_ROW="tile_row",e.COLUMN_TILE_DATA="tile_data",e}(o.UserColumn);e.TileColumn=u;},6295:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);});Object.defineProperty(e,"__esModule",{value:!0}),e.TileColumns=void 0;var o=n(7319),a=function(t){function e(e,n,r){var i=t.call(this,e,n,r)||this;return i.zoomLevelIndex=-1,i.tileColumnIndex=-1,i.tileRowIndex=-1,i.tileDataIndex=-1,i.updateColumns(),i}return i(e,t),e.prototype.copy=function(){var t=new e(this._tableName,this._columns,this._custom);return t.zoomLevelIndex=this.zoomLevelIndex,t.tileColumnIndex=this.tileColumnIndex,t.tileRowIndex=this.tileRowIndex,t.tileDataIndex=this.tileDataIndex,t},e.prototype.updateColumns=function(){t.prototype.updateColumns.call(this);var n=this.getColumnIndex(e.ZOOM_LEVEL,!1);this.isCustom()||this.missingCheck(n,e.ZOOM_LEVEL),null!==n&&(this.typeCheck(o.GeoPackageDataType.INTEGER,this.getColumnForIndex(n)),this.zoomLevelIndex=n);var r=this.getColumnIndex(e.TILE_COLUMN,!1);this.isCustom()||this.missingCheck(r,e.TILE_COLUMN),null!=r&&(this.typeCheck(o.GeoPackageDataType.INTEGER,this.getColumnForIndex(r)),this.tileColumnIndex=r);var i=this.getColumnIndex(e.TILE_ROW,!1);this.isCustom()||this.missingCheck(i,e.TILE_ROW),null!=i&&(this.typeCheck(o.GeoPackageDataType.INTEGER,this.getColumnForIndex(i)),this.tileRowIndex=i);var a=this.getColumnIndex(e.TILE_DATA,!1);this.isCustom()||this.missingCheck(a,e.TILE_DATA),null!=a&&(this.typeCheck(o.GeoPackageDataType.BLOB,this.getColumnForIndex(a)),this.tileDataIndex=a);},e.prototype.getZoomLevelIndex=function(){return this.zoomLevelIndex},e.prototype.setZoomLevelIndex=function(t){this.zoomLevelIndex=t;},e.prototype.hasZoomLevelColumn=function(){return this.zoomLevelIndex>=0},e.prototype.getZoomLevelColumn=function(){var t=null;return this.hasZoomLevelColumn()&&(t=this.getColumnForIndex(this.zoomLevelIndex)),t},e.prototype.getTileColumnIndex=function(){return this.tileColumnIndex},e.prototype.setTileColumnIndex=function(t){this.tileColumnIndex=t;},e.prototype.hasTileColumnColumn=function(){return this.tileColumnIndex>=0},e.prototype.getTileColumnColumn=function(){var t=null;return this.hasTileColumnColumn()&&(t=this.getColumnForIndex(this.tileColumnIndex)),t},e.prototype.getTileRowIndex=function(){return this.tileRowIndex},e.prototype.setTileRowIndex=function(t){this.tileRowIndex=t;},e.prototype.hasTileRowColumn=function(){return this.tileRowIndex>=0},e.prototype.getTileRowColumn=function(){var t=null;return this.hasTileRowColumn()&&(t=this.getColumnForIndex(this.tileRowIndex)),t},e.prototype.getTileDataIndex=function(){return this.tileDataIndex},e.prototype.setTileDataIndex=function(t){this.tileDataIndex=t;},e.prototype.hasTileDataColumn=function(){return this.tileDataIndex>=0},e.prototype.getTileDataColumn=function(){var t=null;return this.hasTileDataColumn()&&(t=this.getColumnForIndex(this.tileDataIndex)),t},e.ID="id",e.ZOOM_LEVEL="zoom_level",e.TILE_COLUMN="tile_column",e.TILE_ROW="tile_row",e.TILE_DATA="tile_data",e}(n(2114).UserColumns);e.TileColumns=a;},1394:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);}),o=this&&this.__values||function(t){var e="function"==typeof Symbol&&Symbol.iterator,n=e&&t[e],r=0;if(n)return n.call(t);if(t&&"number"==typeof t.length)return {next:function(){return t&&r>=t.length&&(t=void 0),{value:t&&t[r++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.TileDao=void 0;var a=n(4668),s=n(3506),u=n(5925),l=n(1332),c=n(8334),h=n(7218),f=n(8572),p=n(3684),d=n(2527),y=n(1584),m=n(5604),g=n(1375),_=function(t){function e(e,n,r,i){var o=t.call(this,e,n)||this;o.tileMatrixSet=r,o.tileMatrices=i,o.zoomLevelToTileMatrix=[],o.widths=[],o.heights=[],0===i.length?(o.minZoom=0,o.maxZoom=0):(o.minZoom=o.tileMatrices[0].zoom_level,o.maxZoom=o.tileMatrices[o.tileMatrices.length-1].zoom_level);for(var a=o.tileMatrices.length-1;a>=0;a--){var s=o.tileMatrices[a];o.zoomLevelToTileMatrix[s.zoom_level]=s;}return o.initialize(),o}return i(e,t),e.prototype.initialize=function(){var t=this.geoPackage.tileMatrixSetDao;this.srs=t.getSrs(this.tileMatrixSet),this.projection=[this.srs.organization.toUpperCase(),this.srs.organization_coordsys_id].join(":"),m.Projection.loadProjection(this.projection,this.srs.definition);for(var e=this.tileMatrices.length-1;e>=0;e--){var n=this.tileMatrices[e],r=n.pixel_x_size*n.tile_width,i=n.pixel_y_size*n.tile_height,o=m.Projection.getConverter(this.projection);o.to_meter&&(r=o.to_meter*n.pixel_x_size*n.tile_width,i=o.to_meter*n.pixel_y_size*n.tile_height),this.widths.push(r),this.heights.push(i);}this.setWebMapZoomLevels();},e.prototype.webZoomToGeoPackageZoom=function(t){var e=p.TileBoundingBoxUtils.getWebMercatorBoundingBoxFromXYZ(0,0,t);return this.determineGeoPackageZoomLevel(e,t)},e.prototype.setWebMapZoomLevels=function(){this.minWebMapZoom=20,this.maxWebMapZoom=0,this.webZoomToGeoPackageZooms={};for(var t=this.tileMatrixSet.max_x-this.tileMatrixSet.min_x,e=this.tileMatrixSet.max_y-this.tileMatrixSet.min_y,n=0;nh&&(this.minWebMapZoom=h),this.maxWebMapZoom~~r.matrix_width&&(r.matrix_width=~~i),o>~~r.matrix_height&&(r.matrix_height=~~o);}},e.prototype.getTileMatrixWithZoomLevel=function(t){return this.zoomLevelToTileMatrix[t]},e.prototype.getZoomLevelForLength=function(t){return y.TileDaoUtils.getZoomLevelForLength(this.widths,this.heights,this.tileMatrices,t)},e.prototype.getZoomLevelForWidthAndHeight=function(t,e){return y.TileDaoUtils.getZoomLevelForWidthAndHeight(this.widths,this.heights,this.tileMatrices,t,e)},e.prototype.getClosestZoomLevelForLength=function(t){return y.TileDaoUtils.getClosestZoomLevelForLength(this.widths,this.heights,this.tileMatrices,t)},e.prototype.getClosestZoomLevelForWidthAndHeight=function(t,e){return y.TileDaoUtils.getClosestZoomLevelForWidthAndHeight(this.widths,this.heights,this.tileMatrices,t,e)},e.prototype.getApproximateZoomLevelForLength=function(t){return y.TileDaoUtils.getApproximateZoomLevelForLength(this.widths,this.heights,this.tileMatrices,t)},e.prototype.getApproximateZoomLevelForWidthAndHeight=function(t,e){return y.TileDaoUtils.getApproximateZoomLevelForWidthAndHeight(this.widths,this.heights,this.tileMatrices,t,e)},e.prototype.getMaxLength=function(){return y.TileDaoUtils.getMaxLengthForTileWidthsAndHeights(this.widths,this.heights)},e.prototype.getMinLength=function(){return y.TileDaoUtils.getMinLengthForTileWidthsAndHeights(this.widths,this.heights)},e.prototype.queryForTile=function(t,e,n){var r,i,a,s=new f.ColumnValues;s.addColumn(c.TileColumn.COLUMN_TILE_COLUMN,t),s.addColumn(c.TileColumn.COLUMN_TILE_ROW,e),s.addColumn(c.TileColumn.COLUMN_ZOOM_LEVEL,n);try{for(var u=o(this.queryForFieldValues(s)),l=u.next();!l.done;l=u.next()){var h=l.value;a=this.getRow(h);}}catch(t){r={error:t};}finally{try{l&&!l.done&&(i=u.return)&&i.call(u);}finally{if(r)throw r.error}}return a},e.prototype.queryForTilesWithZoomLevel=function(t){var e,n=this,r=this.queryForEach(c.TileColumn.COLUMN_ZOOM_LEVEL,t);return (e={})[Symbol.iterator]=function(){return this},e.next=function(){var t=r.next();return t.done?{value:void 0,done:!0}:{value:n.getRow(t.value),done:!1}},e},e.prototype.queryForTilesDescending=function(t){var e,n=this,r=this.queryForEach(c.TileColumn.COLUMN_ZOOM_LEVEL,t,void 0,void 0,c.TileColumn.COLUMN_TILE_COLUMN+" DESC, "+c.TileColumn.COLUMN_TILE_ROW+" DESC");return (e={})[Symbol.iterator]=function(){return this},e.next=function(){var t=r.next();return t.done?{value:void 0,done:!0}:{value:n.getRow(t.value),done:!1}},e},e.prototype.queryForTilesInColumn=function(t,e){var n,r=this,i=new f.ColumnValues;i.addColumn(c.TileColumn.COLUMN_TILE_COLUMN,t),i.addColumn(c.TileColumn.COLUMN_ZOOM_LEVEL,e);var o=this.queryForFieldValues(i);return (n={})[Symbol.iterator]=function(){return this},n.next=function(){var t=o.next();return t.done?{value:void 0,done:!0}:{value:r.getRow(t.value),done:!1}},n},e.prototype.queryForTilesInRow=function(t,e){var n,r=this,i=new f.ColumnValues;i.addColumn(c.TileColumn.COLUMN_TILE_ROW,t),i.addColumn(c.TileColumn.COLUMN_ZOOM_LEVEL,e);var o=this.queryForFieldValues(i);return (n={})[Symbol.iterator]=function(){return this},n.next=function(){var t=o.next();return t.done?{value:void 0,done:!0}:{value:r.getRow(t.value),done:!1}},n},e.prototype.queryByTileGrid=function(t,e){var n,r=this;if(t){var i="";i+=this.buildWhereWithFieldAndValue(c.TileColumn.COLUMN_ZOOM_LEVEL,e),i+=" and ",i+=this.buildWhereWithFieldAndValue(c.TileColumn.COLUMN_TILE_COLUMN,t.min_x,">="),i+=" and ",i+=this.buildWhereWithFieldAndValue(c.TileColumn.COLUMN_TILE_COLUMN,t.max_x,"<="),i+=" and ",i+=this.buildWhereWithFieldAndValue(c.TileColumn.COLUMN_TILE_ROW,t.min_y,">="),i+=" and ",i+=this.buildWhereWithFieldAndValue(c.TileColumn.COLUMN_TILE_ROW,t.max_y,"<=");var o=this.buildWhereArgs([e,t.min_x,t.max_x,t.min_y,t.max_y]),a=this.queryWhereWithArgsDistinct(i,o);return (n={})[Symbol.iterator]=function(){return this},n.next=function(){var t=a.next();return t.done?{value:void 0,done:!0}:{value:r.getRow(t.value),done:!1}},n}},e.prototype.countByTileGrid=function(t,e){if(t){var n="";n+=this.buildWhereWithFieldAndValue(c.TileColumn.COLUMN_ZOOM_LEVEL,e),n+=" and ",n+=this.buildWhereWithFieldAndValue(c.TileColumn.COLUMN_TILE_COLUMN,t.min_x,">="),n+=" and ",n+=this.buildWhereWithFieldAndValue(c.TileColumn.COLUMN_TILE_COLUMN,t.max_x,"<="),n+=" and ",n+=this.buildWhereWithFieldAndValue(c.TileColumn.COLUMN_TILE_ROW,t.min_y,">="),n+=" and ",n+=this.buildWhereWithFieldAndValue(c.TileColumn.COLUMN_TILE_ROW,t.max_y,"<=");var r=this.buildWhereArgs([e,t.min_x,t.max_x,t.min_y,t.max_y]);return this.countWhere(n,r)}},e.prototype.deleteTile=function(t,e,n){var r="";r+=this.buildWhereWithFieldAndValue(c.TileColumn.COLUMN_ZOOM_LEVEL,n),r+=" and ",r+=this.buildWhereWithFieldAndValue(c.TileColumn.COLUMN_TILE_COLUMN,t),r+=" and ",r+=this.buildWhereWithFieldAndValue(c.TileColumn.COLUMN_TILE_ROW,e);var i=this.buildWhereArgs([n,t,e]);return this.deleteWhere(r,i)},e.prototype.dropTable=function(){var t=this.geoPackage.tileMatrixDao,e=a.UserDao.prototype.dropTable.call(this);this.geoPackage.tileMatrixSetDao.delete(this.tileMatrixSet);for(var n=this.tileMatrices.length-1;n>=0;n--){var r=this.tileMatrices[n];t.delete(r);}return this.geoPackage.contentsDao.deleteById(this.gpkgTableName),e},e.prototype.rename=function(e){t.prototype.rename.call(this,e);var n=this.tileMatrixSet.table_name,r={};r[u.TileMatrixSetDao.COLUMN_TABLE_NAME]=e;var i=this.buildWhereWithFieldAndValue(u.TileMatrixSetDao.COLUMN_TABLE_NAME,n),o=this.buildWhereArgs([n]),a=this.geoPackage.contentsDao,l=a.queryForId(n);l.table_name=e,l.identifier=e,a.create(l),this.geoPackage.tileMatrixSetDao.updateWithValues(r,i,o);var c=this.geoPackage.tileMatrixDao,h={};h[s.TileMatrixDao.COLUMN_TABLE_NAME]=e;var f=this.buildWhereWithFieldAndValue(s.TileMatrixDao.COLUMN_TABLE_NAME,n);c.updateWithValues(h,f,o),a.deleteById(n);},e.readTable=function(t,e){return t.getTileDao(e)},e}(a.UserDao);e.TileDao=_;},1584:function(t,e,n){"use strict";var r=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.TileDaoUtils=void 0;var i=r(n(5871)),o=r(n(1159)),a=function(){function t(){}return t.adjustTileMatrixLengths=function(t,e){var n=t.max_x-t.min_x,r=t.max_y-t.min_y;e.forEach((function(t){var e=Math.floor(n/(t.pixel_x_size*t.tile_width)),i=Math.floor(r/(t.pixel_y_size*t.tile_height));e>t.matrix_width&&(t.matrix_width=e),i>t.matrix_height&&(t.matrix_height=i);}));},t.getZoomLevelForLength=function(e,n,r,i){return t._getZoomLevelForLength(e,n,r,i,!0)},t.getZoomLevelForWidthAndHeight=function(e,n,r,i,o){return t._getZoomLevelForWidthAndHeight(e,n,r,i,o,!0)},t.getClosestZoomLevelForLength=function(e,n,r,i){return t._getZoomLevelForLength(e,n,r,i,!1)},t.getClosestZoomLevelForWidthAndHeight=function(e,n,r,i,o){return t._getZoomLevelForWidthAndHeight(e,n,r,i,o,!1)},t._getZoomLevelForLength=function(e,n,r,i,o){return t._getZoomLevelForWidthAndHeight(e,n,r,i,i,o)},t._getZoomLevelForWidthAndHeight=function(e,n,r,a,s,u){var l=null,c=(0,i.default)(e,a);-1===c&&(c=(0,o.default)(e,a)),c<0&&(c=-1*(c+1));var h=(0,i.default)(n,s);if(-1===h&&(h=(0,o.default)(n,s)),h<0&&(h=-1*(h+1)),0==c?u&&a=t.getMaxLength(e)?c=-1:--c:t.closerToZoomIn(e,a,c)&&--c,0==h?u&&s=t.getMaxLength(n)?h=-1:--h:t.closerToZoomIn(n,s,h)&&--h,c>=0||h>=0){var f;f=c<0?h:h<0?c:Math.min(c,h),l=t.getTileMatrixAtLengthIndex(r,f).zoom_level;}return l},t.closerToZoomIn=function(t,e,n){return Math.log(e/t[n-1])/Math.log(2)s){var p=Math.log(r/s)/Math.log(2);l=Math.ceil(p),c=Math.floor(p),h=s*Math.pow(2,l),f=s*Math.pow(2,c),o=n[0].zoom_level,o-=r-f<=h-r?c:l;}else {var d=(0,i.default)(e,r);d<0&&(d=-1*(d+1));var y=Math.log(r/e[d])/Math.log(.5),m=t.getTileMatrixAtLengthIndex(n,d).zoom_level;o=m+=Math.round(y);}return o},t.getMaxLengthForTileWidthsAndHeights=function(e,n){var r=t.getMaxLength(e),i=t.getMaxLength(n);return Math.min(r,i)},t.getMinLengthForTileWidthsAndHeights=function(e,n){var r=t.getMinLength(e),i=t.getMinLength(n);return Math.max(r,i)},t.getMaxLength=function(t){return t[t.length-1]/.51},t.getMinLength=function(t){return .51*t[0]},t}();e.TileDaoUtils=a;},1332:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);});Object.defineProperty(e,"__esModule",{value:!0}),e.TileRow=void 0;var o=function(t){function e(e,n,r){var i=t.call(this,e,n,r)||this;return i.tileTable=e,i}return i(e,t),Object.defineProperty(e.prototype,"zoomLevelColumnIndex",{get:function(){return this.tileTable.getZoomLevelColumnIndex()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"zoomLevelColumn",{get:function(){return this.tileTable.getZoomLevelColumn()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"zoomLevel",{get:function(){return this.getValueWithColumnName(this.zoomLevelColumn.name)},set:function(t){this.setValueWithIndex(this.zoomLevelColumnIndex,t);},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"tileColumnColumnIndex",{get:function(){return this.tileTable.getTileColumnColumnIndex()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"tileColumnColumn",{get:function(){return this.tileTable.getTileColumnColumn()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"tileColumn",{get:function(){return this.getValueWithColumnName(this.tileColumnColumn.name)},set:function(t){this.setValueWithColumnName(this.tileColumnColumn.name,t);},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"rowColumnIndex",{get:function(){return this.tileTable.getTileRowColumnIndex()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"rowColumn",{get:function(){return this.tileTable.getTileRowColumn()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"row",{get:function(){return this.getValueWithColumnName(this.rowColumn.name)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"tileRow",{set:function(t){this.setValueWithColumnName(this.rowColumn.name,t);},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"tileDataColumnIndex",{get:function(){return this.tileTable.getTileDataColumnIndex()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"tileDataColumn",{get:function(){return this.tileTable.getTileDataColumn()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"tileData",{get:function(){return this.getValueWithColumnName(this.tileDataColumn.name)},set:function(t){this.setValueWithColumnName(this.tileDataColumn.name,t);},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"tileDataImage",{get:function(){return null},enumerable:!1,configurable:!0}),e}(n(2224).UserRow);e.TileRow=o;},8704:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);});Object.defineProperty(e,"__esModule",{value:!0}),e.TileTable=void 0;var o=n(8018),a=n(8334),s=n(6295),u=n(1648),l=n(9971),c=function(t){function e(e,n){var r=t.call(this,new s.TileColumns(e,n,!1))||this,i=new u.UniqueConstraint;return i.add(r.getUserColumns().getZoomLevelColumn()),i.add(r.getUserColumns().getTileColumnColumn()),i.add(r.getUserColumns().getTileRowColumn()),r.addConstraint(i),r}return i(e,t),e.prototype.copy=function(){return new e(this.getTableName(),this.columns._columns)},e.prototype.getDataType=function(){return l.ContentsDataType.TILES},e.prototype.getUserColumns=function(){return t.prototype.getUserColumns.call(this)},e.prototype.createUserColumns=function(t){return new s.TileColumns(this.getTableName(),t,!0)},e.prototype.getZoomLevelColumnIndex=function(){return this.getUserColumns().getZoomLevelIndex()},e.prototype.getZoomLevelColumn=function(){return this.getUserColumns().getZoomLevelColumn()},e.prototype.getTileColumnColumnIndex=function(){return this.getUserColumns().getTileColumnIndex()},e.prototype.getTileColumnColumn=function(){return this.getUserColumns().getTileColumnColumn()},e.prototype.getTileRowColumnIndex=function(){return this.getUserColumns().getTileRowIndex()},e.prototype.getTileRowColumn=function(){return this.getUserColumns().getTileRowColumn()},e.prototype.getTileDataColumnIndex=function(){return this.getUserColumns().getTileDataIndex()},e.prototype.getTileDataColumn=function(){return this.getUserColumns().getTileDataColumn()},e.createRequiredColumns=function(t){void 0===t&&(t=0);var e=[];return e.push(a.TileColumn.createIdColumn(t++)),e.push(a.TileColumn.createZoomLevelColumn(t++)),e.push(a.TileColumn.createTileColumnColumn(t++)),e.push(a.TileColumn.createTileRowColumn(t++)),e.push(a.TileColumn.createTileDataColumn(t)),e},e.prototype.validateContents=function(t){var e=t.data_type;if(null==e||e!==l.ContentsDataType.TILES)throw new Error("The Contents of a TileTable must have a data type of tiles")},e.COLUMN_ID=s.TileColumns.ID,e.COLUMN_ZOOM_LEVEL=s.TileColumns.ZOOM_LEVEL,e.COLUMN_TILE_COLUMN=s.TileColumns.TILE_COLUMN,e.COLUMN_TILE_ROW=s.TileColumns.TILE_ROW,e.COLUMN_TILE_DATA=s.TileColumns.TILE_DATA,e}(o.UserTable);e.TileTable=c;},9631:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);});Object.defineProperty(e,"__esModule",{value:!0}),e.TileTableReader=void 0;var o=n(4880),a=n(8704),s=n(8334),u=function(t){function e(e){var n=t.call(this,e.table_name)||this;return n.tileMatrixSet=e,n}return i(e,t),e.prototype.readTileTable=function(t){return this.readTable(t.database)},e.prototype.createTable=function(t,e){return new a.TileTable(t,e)},e.prototype.createColumn=function(t){return new s.TileColumn(t.index,t.name,t.dataType,t.max,t.notNull,t.defaultValue,t.primaryKey,t.autoincrement)},e}(o.UserTableReader);e.TileTableReader=u;},5762:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);});Object.defineProperty(e,"__esModule",{value:!0}),e.UserCustomColumn=void 0;var o=n(5865),a=n(7319),s=n(5071),u=function(t){function e(e,n,r,i,o,a,s,u){var l=t.call(this,e,n,r,i,o,a,s,u)||this;if(null==r)throw new Error("Data type is required to create column: "+n);return l}return i(e,t),e.createColumn=function(t,n,r,i,o,a,s){return void 0===i&&(i=!1),new e(t,n,r,a,i,o,!1,s)},e.createPrimaryKeyColumn=function(t,n,r){return void 0===r&&(r=s.UserTableDefaults.DEFAULT_AUTOINCREMENT),new e(t,n,a.GeoPackageDataType.INTEGER,void 0,void 0,void 0,!0,r)},e}(o.UserColumn);e.UserCustomColumn=u;},496:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);});Object.defineProperty(e,"__esModule",{value:!0}),e.UserCustomColumns=void 0;var o=function(t){function e(e,n,r,i){var o=t.call(this,e,n,i)||this;return o.requiredColumns=null==r?[]:r.slice(),o.updateColumns(),o}return i(e,t),e.prototype.copy=function(){return new e(this.getTableName(),this.getColumns(),this.getRequiredColumns(),this.isCustom())},e.prototype.getRequiredColumns=function(){return this.requiredColumns},e.prototype.setRequiredColumns=function(t){void 0===t&&(t=[]),this.requiredColumns=t.slice();},e.prototype.updateColumns=function(){var e=this;if(t.prototype.updateColumns.call(this),!this.isCustom()&&null!==this.requiredColumns&&0!==this.requiredColumns.length){var n=new Set(this.requiredColumns),r={};this.getColumns().forEach((function(t){var i=t.getName(),o=t.getIndex();if(n.has(i)){var a=r[i];e.duplicateCheck(o,a,i),r[i]=o;}})),n.forEach((function(t){e.missingCheck(r[t],t);}));}},e}(n(2114).UserColumns);e.UserCustomColumns=o;},1447:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);});Object.defineProperty(e,"__esModule",{value:!0}),e.UserCustomDao=void 0;var o=n(4668),a=n(362),s=function(t){function e(e,n){return t.call(this,e,n)||this}return i(e,t),e.prototype.createObject=function(t){return this.getRow(t)},e.readTable=function(t,n){return new e(t,new a.UserCustomTableReader(n).readTable(t.database))},e}(o.UserDao);e.UserCustomDao=s;},2378:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);});Object.defineProperty(e,"__esModule",{value:!0}),e.UserCustomTable=void 0;var o=n(8018),a=n(496),s=function(t){function e(e,n,r){return void 0===r&&(r=[]),t.call(this,new a.UserCustomColumns(e,n,r,!0))||this}return i(e,t),e.prototype.copy=function(){return new e(this.getTableName(),this.getUserColumns().getColumns(),this.getUserColumns().getRequiredColumns())},e.prototype.getDataType=function(){return null},e.prototype.getUserColumns=function(){return t.prototype.getUserColumns.call(this)},e.prototype.getRequiredColumns=function(){return this.getUserColumns().getRequiredColumns()},e}(o.UserTable);e.UserCustomTable=s;},362:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);});Object.defineProperty(e,"__esModule",{value:!0}),e.UserCustomTableReader=void 0;var o=n(2378),a=n(4880),s=n(5762),u=function(t){function e(e){return t.call(this,e)||this}return i(e,t),e.prototype.readUserCustomTable=function(t){return this.readTable(t.database)},e.prototype.createTable=function(t,e){return new o.UserCustomTable(t,e,null)},e.prototype.createColumn=function(t){return new s.UserCustomColumn(t.index,t.name,t.dataType,t.max,t.notNull,t.defaultValue,t.primaryKey,t.autoincrement)},e}(a.UserTableReader);e.UserCustomTableReader=u;},5865:function(t,e,n){"use strict";var r=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.UserColumn=void 0;var i=r(n(8446)),o=n(7319),a=n(2841),s=n(1133),u=n(91),l=n(5071),c=n(7686),h=function(){function t(t,e,n,r,i,o,a,s,u){this.index=t,this.name=e,this.dataType=n,this.max=r,this.notNull=i,this.defaultValue=o,this.primaryKey=a,this.autoincrement=s,this.unique=u,this.constraints=new c.Constraints,this.validateMax(),this.type=this.getTypeName(e,n),this.addDefaultConstraints();}return t.validateDataType=function(t,e){if(null==e)throw new Error("Data Type is required to create column: "+t)},t.prototype.copy=function(){var e=new t(this.index,this.name,this.dataType,this.max,this.notNull,this.defaultValue,this.primaryKey,this.unique);return e.min=this.min,e.constraints=this.constraints.copy(),e},t.prototype.clearConstraints=function(){return this.constraints.clear()},t.prototype.getConstraints=function(){return this.constraints},t.prototype.setIndex=function(t){if(this.hasIndex()){if(!(0,i.default)(t,this.index))throw new Error("User Column with a valid index may not be changed. Column Name: "+this.name+", Index: "+this.index+", Attempted Index: "+this.index)}else this.index=t;},t.prototype.hasIndex=function(){return this.index>t.NO_INDEX},t.prototype.resetIndex=function(){this.index=t.NO_INDEX;},t.prototype.getIndex=function(){return this.index},t.prototype.setName=function(t){this.name=t;},t.prototype.getName=function(){return this.name},t.prototype.isNamed=function(t){return this.name===t},t.prototype.hasMax=function(){return null!=this.max},t.prototype.setMax=function(t){this.max=t;},t.prototype.getMax=function(){return this.max},t.prototype.setNotNull=function(t){this.notNull!==t&&(t?this.addNotNullConstraint():this.removeConstraintByType(u.ConstraintType.NOT_NULL)),this.notNull=t;},t.prototype.isNotNull=function(){return this.notNull},t.prototype.hasDefaultValue=function(){return null!==this.defaultValue&&void 0!==this.defaultValue},t.prototype.setDefaultValue=function(t){this.removeConstraintByType(u.ConstraintType.DEFAULT),null!=t&&this.addDefaultValueConstraint(t),this.defaultValue=t;},t.prototype.getDefaultValue=function(){return this.defaultValue},t.prototype.setPrimaryKey=function(t){this.primaryKey!==t&&(t?this.addPrimaryKeyConstraint():(this.autoincrement=!1,this.removeConstraintByType(u.ConstraintType.AUTOINCREMENT),this.removeConstraintByType(u.ConstraintType.PRIMARY_KEY))),this.primaryKey=t;},t.prototype.isPrimaryKey=function(){return this.primaryKey},t.prototype.setAutoincrement=function(t){this.autoincrement!==t&&(t?this.addAutoincrementConstraint():this.removeConstraintByType(u.ConstraintType.AUTOINCREMENT)),this.autoincrement=t;},t.prototype.isAutoincrement=function(){return this.autoincrement},t.prototype.setUnique=function(t){this.unique!==t&&(t?this.addUniqueConstraint():this.removeConstraintByType(u.ConstraintType.UNIQUE)),this.unique=t;},t.prototype.isUnique=function(){return this.unique},t.prototype.setDataType=function(t){this.dataType=t;},t.prototype.getDataType=function(){return this.dataType},t.prototype.getTypeName=function(e,n){return t.validateDataType(e,n),o.GeoPackageDataType.nameFromType(n)},t.prototype.validateMax=function(){if(this.max&&this.dataType!==o.GeoPackageDataType.TEXT&&this.dataType!==o.GeoPackageDataType.BLOB)throw new Error("Column max is only supported for TEXT and BLOB columns. column: "+this.name+", max: "+this.max+", type: "+this.dataType);return !0},t.createPrimaryKeyColumn=function(e,n,r){return void 0===r&&(r=l.UserTableDefaults.DEFAULT_AUTOINCREMENT),new t(e,n,o.GeoPackageDataType.INTEGER,void 0,!0,void 0,!0,r)},t.createColumn=function(e,n,r,i,o,a){return void 0===i&&(i=!1),new t(e,n,r,a,i,o,!1)},t.prototype.addDefaultConstraints=function(){this.isNotNull()&&this.addNotNullConstraint(),this.hasDefaultValue()&&this.addDefaultValueConstraint(this.getDefaultValue()),this.isPrimaryKey()&&(this.addPrimaryKeyConstraint(),this.isAutoincrement()&&this.addAutoincrementConstraint()),this.isUnique()&&this.addUniqueConstraint();},t.prototype.addConstraint=function(t){null!==t.order&&void 0!==t.order||this.setConstraintOrder(t),this.constraints.add(t);},t.prototype.setConstraintOrder=function(e){var n=null;switch(e.getType()){case u.ConstraintType.PRIMARY_KEY:n=t.PRIMARY_KEY_CONSTRAINT_ORDER;break;case u.ConstraintType.UNIQUE:n=t.UNIQUE_CONSTRAINT_ORDER;break;case u.ConstraintType.NOT_NULL:n=t.NOT_NULL_CONSTRAINT_ORDER;break;case u.ConstraintType.DEFAULT:n=t.DEFAULT_VALUE_CONSTRAINT_ORDER;break;case u.ConstraintType.AUTOINCREMENT:n=t.AUTOINCREMENT_CONSTRAINT_ORDER;}e.order=n;},t.prototype.addConstraintSql=function(t){var e=s.ConstraintParser.getType(t),n=s.ConstraintParser.getName(t);this.constraints.add(new a.RawConstraint(e,n,t));},t.prototype.addConstraints=function(t){this.constraints.addConstraints(t);},t.prototype.addColumnConstraints=function(t){this.addConstraints(t.getConstraints());},t.prototype.addNotNullConstraint=function(){this.addConstraint(new a.RawConstraint(u.ConstraintType.NOT_NULL,null,"NOT NULL",t.NOT_NULL_CONSTRAINT_ORDER));},t.prototype.addDefaultValueConstraint=function(e){this.addConstraint(new a.RawConstraint(u.ConstraintType.DEFAULT,null,"DEFAULT "+o.GeoPackageDataType.columnDefaultValue(e,this.getDataType()),t.DEFAULT_VALUE_CONSTRAINT_ORDER));},t.prototype.addPrimaryKeyConstraint=function(){this.addConstraint(new a.RawConstraint(u.ConstraintType.PRIMARY_KEY,null,"PRIMARY KEY",t.PRIMARY_KEY_CONSTRAINT_ORDER));},t.prototype.addAutoincrementConstraint=function(){if(!this.isPrimaryKey())throw new Error("Autoincrement may only be set on a primary key column");this.addConstraint(new a.RawConstraint(u.ConstraintType.AUTOINCREMENT,null,"AUTOINCREMENT",t.AUTOINCREMENT_CONSTRAINT_ORDER));},t.prototype.addUniqueConstraint=function(){this.addConstraint(new a.RawConstraint(u.ConstraintType.UNIQUE,null,"UNIQUE",t.UNIQUE_CONSTRAINT_ORDER));},t.prototype.removeConstraintByType=function(t){this.constraints.clearConstraintsByType(t);},t.prototype.getType=function(){return this.type},t.prototype.hasConstraints=function(){return this.constraints.has()},t.prototype.buildConstraintSql=function(t){var e=null;return !l.UserTableDefaults.DEFAULT_PK_NOT_NULL&&this.isPrimaryKey()&&t.getType()===u.ConstraintType.NOT_NULL||(e=t.buildSql()),e},t.NO_INDEX=-1,t.NOT_NULL_CONSTRAINT_ORDER=1,t.DEFAULT_VALUE_CONSTRAINT_ORDER=2,t.PRIMARY_KEY_CONSTRAINT_ORDER=3,t.AUTOINCREMENT_CONSTRAINT_ORDER=4,t.UNIQUE_CONSTRAINT_ORDER=5,t}();e.UserColumn=h;},2114:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.UserColumns=void 0;var r=n(7319),i=function(){function t(t,e,n){void 0===n&&(n=!1),this._pkIndex=-1,this._tableName=t,this._columns=e,this._custom=n,this._nameToIndex=new Map,this._columnNames=[];}return t.prototype.copy=function(){var e=[];this._columns.forEach((function(t){e.push(t.copy());}));var n=new t(this._tableName,e,this._custom);return n._columnNames=Array.from(this._columnNames),n._nameToIndex=new Map(this._nameToIndex),n._pkIndex=this._pkIndex,n},t.prototype.updateColumns=function(){var t=this;if(this._nameToIndex.clear(),!this._custom){var e=new Set,n=[];this._columns.forEach((function(r){if(r.hasIndex()){var i=r.getIndex();if(e.has(i))throw new Error("Duplicate index: "+i+", Table Name: "+t._tableName);e.add(i);}else n.push(r);}));var r=-1;n.forEach((function(t){for(;e.has(++r););t.setIndex(r);})),this._columns.sort((function(t,e){return t.index-e.index}));}this._pkIndex=-1,this._columnNames=[];for(var i=0;i=0},t.prototype.getPkColumnIndex=function(){return this._pkIndex},t.prototype.getPkColumn=function(){var t=null;return this.hasPkColumn()&&(t=this._columns[this._pkIndex]),t},t.prototype.getPkColumnName=function(){return this.getPkColumn().getName()},t.prototype.columnsOfType=function(t){return this._columns.filter((function(e){return e.getDataType()===t}))},t.prototype.addColumn=function(t){this._columns.push(t),this.updateColumns();},t.prototype.renameColumn=function(t,e){this.renameColumnWithName(t.getName(),e),t.setName(e);},t.prototype.renameColumnWithName=function(t,e){this.renameColumnWithIndex(this.getColumnIndexForColumnName(t),e);},t.prototype.renameColumnWithIndex=function(t,e){this._columns[t].setName(e),this.updateColumns();},t.prototype.dropColumn=function(t){this.dropColumnWithIndex(t.getIndex());},t.prototype.dropColumnWithName=function(t){this.dropColumnWithIndex(this.getColumnIndexForColumnName(t));},t.prototype.dropColumnWithIndex=function(t){this._columns.splice(t,1),this._columns.forEach((function(t){return t.resetIndex()})),this.updateColumns();},t.prototype.alterColumn=function(t){var e=this.getColumn(t.getName()).getIndex();t.setIndex(e),this._columns[e]=t;},t}();e.UserColumns=i;},4668:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);});Object.defineProperty(e,"__esModule",{value:!0}),e.UserDao=void 0;var o=n(4115),a=n(6366),s=n(4599),u=n(2224),l=n(8483),c=n(8314),h=n(5042),f=function(t){function e(e,n){var r=t.call(this,e)||this;return r._table=n,r.table_name=n.getTableName(),r.gpkgTableName=n.getTableName(),n.getPkColumn()?r.idColumns=[n.getPkColumn().getName()]:r.idColumns=[],r.columns=n.getUserColumns().getColumnNames(),r}return i(e,t),e.prototype.createObject=function(t){return t?this.getRow(t):this.newRow()},e.prototype.setValueInObject=function(t,e,n){t.setValueNoValidationWithIndex(e,n);},e.prototype.getRow=function(t){if(t instanceof u.UserRow)return t;if(this.table){for(var e=this.table.getColumnCount(),n={},r=0;r{"use strict";var r=n(3085).lW;Object.defineProperty(e,"__esModule",{value:!0}),e.UserRow=void 0;var i=n(7319),o=function(){function t(t,e,n){if(this.table=t,this.columnTypes=e,this.values=n,!this.columnTypes){var r=this.table.getColumnCount();this.columnTypes={},this.values={};for(var i=0;i{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.UserTable=void 0;var r=n(7686),i=function(){function t(t){this.constraints=new r.Constraints,this.columns=t,this.constraints=new r.Constraints;}return t.prototype.copy=function(){var e=new t(this.columns.copy());return e.constraints.addConstraints(this.constraints),null!==this.contents&&void 0!==this.contents&&(e.contents=this.contents.copy()),e},t.prototype.getTableName=function(){return this.columns.getTableName()},Object.defineProperty(t.prototype,"tableType",{get:function(){return "userTable"},enumerable:!1,configurable:!0}),t.prototype.getUserColumns=function(){return this.columns},t.prototype.getColumnIndex=function(t){return this.columns.getColumnIndexForColumnName(t)},t.prototype.hasColumn=function(t){try{return this.getColumnIndex(t),!0}catch(t){return !1}},t.prototype.getColumnNameWithIndex=function(t){return this.columns.getColumnName(t)},t.prototype.getColumnWithIndex=function(t){return this.columns.getColumnForIndex(t)},t.prototype.getColumnWithColumnName=function(t){return this.getColumnWithIndex(this.getColumnIndex(t))},t.prototype.getColumnCount=function(){return this.columns.columnCount()},t.prototype.getPkColumn=function(){return this.columns.getPkColumn()},t.prototype.getPkColumnName=function(){return this.columns.getPkColumnName()},t.prototype.getIdColumnIndex=function(){return this.columns.getPkColumnIndex()},t.prototype.getIdColumn=function(){return this.getPkColumn()},t.prototype.addConstraint=function(t){this.constraints.add(t);},t.prototype.addConstraints=function(t){this.constraints.addConstraints(t);},t.prototype.hasConstraints=function(){return this.constraints.has()},t.prototype.getConstraints=function(){return this.constraints},t.prototype.getConstraintsByType=function(t){return this.constraints.getConstraintsForType(t)},t.prototype.clearConstraints=function(){return this.constraints.clear()},t.prototype.columnsOfType=function(t){return this.columns.columnsOfType(t)},t.prototype.getContents=function(){return this.contents},t.prototype.setContents=function(t){this.contents=t,null!=t&&this.validateContents(t);},t.prototype.validateContents=function(t){},t.prototype.addColumn=function(t){this.columns.addColumn(t);},t.prototype.renameColumn=function(t,e){this.columns.renameColumn(t,e);},t.prototype.renameColumnWithName=function(t,e){this.columns.renameColumnWithName(t,e);},t.prototype.renameColumnAtIndex=function(t,e){this.columns.renameColumnWithIndex(t,e);},t.prototype.dropColumn=function(t){this.columns.dropColumn(t);},t.prototype.dropColumnWithName=function(t){this.columns.dropColumnWithName(t);},t.prototype.dropColumnWithIndex=function(t){this.columns.dropColumnWithIndex(t);},t.prototype.alterColumn=function(t){this.columns.alterColumn(t);},t}();e.UserTable=i;},5071:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.UserTableDefaults=void 0;var n=function(){function t(){}return t.DEFAULT_AUTOINCREMENT=!0,t.DEFAULT_PK_NOT_NULL=!0,t}();e.UserTableDefaults=n;},4880:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.UserTableReader=void 0;var r=n(5865),i=n(5045),o=n(7043),a=function(){function t(t){this.table_name=t;}return t.prototype.readTable=function(t){var e=this,n=[],r=i.TableInfo.info(t,this.table_name);if(null==r)throw new Error("Table does not exist: "+this.table_name);var a=o.SQLiteMaster.queryForConstraints(t,this.table_name);r.getColumns().forEach((function(t){if(null===t.getDataType()||void 0===t.getDataType())throw new Error("Unsupported column data type "+t.getType());var r=e.createColumn(t),i=a.getColumnConstraints(r.getName());null!=i&&i.hasConstraints()&&(r.clearConstraints(),r.addConstraints(i.constraints)),n.push(r);}));var s=this.createTable(this.table_name,n);return s.addConstraints(a.getTableConstraints()),s},t.prototype.createColumn=function(t){return new r.UserColumn(t.index,t.name,t.dataType,t.max,t.notNull,t.defaultValue,t.primaryKey,t.autoincrement)},t}();e.UserTableReader=a;},4275:function(t,e,n){"use strict";var r=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.GeoPackageValidate=e.GeoPackageValidationError=void 0;var i=r(n(3935)),o=n(1506),a=function(t,e){this.error=t,this.fatal=e;};e.GeoPackageValidationError=a;var s=function(){function t(){}return t.hasGeoPackageExtension=function(t){var e=i.default.extname(t);return e&&""!==e&&(e.toLowerCase()==="."+o.GeoPackageConstants.GEOPACKAGE_EXTENSION.toLowerCase()||e.toLowerCase()==="."+o.GeoPackageConstants.GEOPACKAGE_EXTENDED_EXTENSION.toLowerCase())},t.validateGeoPackageExtension=function(e){if(!t.hasGeoPackageExtension(e))return new a("GeoPackage database file '"+e+"' does not have a valid extension of '"+o.GeoPackageConstants.GEOPACKAGE_EXTENSION+"' or '"+o.GeoPackageConstants.GEOPACKAGE_EXTENDED_EXTENSION+"'",!0)},t.validateMinimumTables=function(t){var e=[],n=t.spatialReferenceSystemDao.isTableExists(),r=t.contentsDao.isTableExists();return n||e.push(new a("gpkg_spatial_ref_sys table does not exist",!0)),r||e.push(new a("gpkg_contents table does not exist",!0)),e},t.hasMinimumTables=function(t){return 0==this.validateMinimumTables(t).length},t}();e.GeoPackageValidate=s;},2038:(t,e)=>{"use strict";var n;Object.defineProperty(e,"__esModule",{value:!0}),e.WKB=void 0;var r=function(){function t(){}return t.fromName=function(e){return "GEOMETRY"===(e=e.toUpperCase())?t.typeMap.wkb.GeometryCollection:t.wktToEnum[e]},t.typeMap={wkt:{Point:"POINT",LineString:"LINESTRING",Polygon:"POLYGON",MultiPoint:"MULTIPOINT",MultiLineString:"MULTILINESTRING",MultiPolygon:"MULTIPOLYGON",GeometryCollection:"GEOMETRYCOLLECTION"},wkb:{Point:1,LineString:2,Polygon:3,MultiPoint:4,MultiLineString:5,MultiPolygon:6,GeometryCollection:7}},t.wktToEnum=((n={})[t.typeMap.wkt.Point]=t.typeMap.wkb.Point,n[t.typeMap.wkt.LineString]=t.typeMap.wkb.LineString,n[t.typeMap.wkt.Polygon]=t.typeMap.wkb.Polygon,n[t.typeMap.wkt.MultiPoint]=t.typeMap.wkb.MultiPoint,n[t.typeMap.wkt.MultiLineString]=t.typeMap.wkb.MultiLineString,n[t.typeMap.wkt.MultiPolygon]=t.typeMap.wkb.MultiPolygon,n[t.typeMap.wkt.GeometryCollection]=t.typeMap.wkb.GeometryCollection,n),t}();e.WKB=r;},2511:function(t,e,n){var r;t=n.nmd(t),function(i){e&&e.nodeType,t&&t.nodeType;var o="object"==typeof n.g&&n.g;o.global!==o&&o.window!==o&&o.self;var a,s=2147483647,u=36,l=1,c=26,h=38,f=700,p=72,d=128,y="-",m=/^xn--/,g=/[^\x20-\x7E]/,_=/[\x2E\u3002\uFF0E\uFF61]/g,b={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},v=u-l,T=Math.floor,E=String.fromCharCode;function w(t){throw RangeError(b[t])}function x(t,e){for(var n=t.length,r=[];n--;)r[n]=e(t[n]);return r}function C(t,e){var n=t.split("@"),r="";return n.length>1&&(r=n[0]+"@",t=n[1]),r+x((t=t.replace(_,".")).split("."),e).join(".")}function M(t){for(var e,n,r=[],i=0,o=t.length;i=55296&&e<=56319&&i65535&&(e+=E((t-=65536)>>>10&1023|55296),t=56320|1023&t),e+E(t)})).join("")}function N(t,e){return t+22+75*(t<26)-((0!=e)<<5)}function O(t,e,n){var r=0;for(t=n?T(t/f):t>>1,t+=T(t/e);t>v*c>>1;r+=u)t=T(t/v);return T(r+(v+1)*t/(t+h))}function A(t){var e,n,r,i,o,a,h,f,m,g,_,b=[],v=t.length,E=0,x=d,C=p;for((n=t.lastIndexOf(y))<0&&(n=0),r=0;r=128&&w("not-basic"),b.push(t.charCodeAt(r));for(i=n>0?n+1:0;i=v&&w("invalid-input"),((f=(_=t.charCodeAt(i++))-48<10?_-22:_-65<26?_-65:_-97<26?_-97:u)>=u||f>T((s-E)/a))&&w("overflow"),E+=f*a,!(f<(m=h<=C?l:h>=C+c?c:h-C));h+=u)a>T(s/(g=u-m))&&w("overflow"),a*=g;C=O(E-o,e=b.length+1,0==o),T(E/e)>s-x&&w("overflow"),x+=T(E/e),E%=e,b.splice(E++,0,x);}return S(b)}function I(t){var e,n,r,i,o,a,h,f,m,g,_,b,v,x,C,S=[];for(b=(t=M(t)).length,e=d,n=0,o=p,a=0;a=e&&_T((s-n)/(v=r+1))&&w("overflow"),n+=(h-e)*v,e=h,a=0;as&&w("overflow"),_==e){for(f=n,m=u;!(f<(g=m<=o?l:m>=o+c?c:m-o));m+=u)C=f-g,x=u-g,S.push(E(N(g+C%x,0))),f=T(C/x);S.push(E(N(f,0))),o=O(n,v,r==i),n=0,++r;}++n,++e;}return S.join("")}a={version:"1.3.2",ucs2:{decode:M,encode:S},decode:A,encode:I,toASCII:function(t){return C(t,(function(t){return g.test(t)?"xn--"+I(t):t}))},toUnicode:function(t){return C(t,(function(t){return m.test(t)?A(t.slice(4).toLowerCase()):t}))}},void 0===(r=function(){return a}.call(e,n,e,t))||(t.exports=r);}();},8575:(t,e,n)=>{"use strict";var r=n(2511),i=n(2502);function o(){this.protocol=null,this.slashes=null,this.auth=null,this.host=null,this.port=null,this.hostname=null,this.hash=null,this.search=null,this.query=null,this.pathname=null,this.path=null,this.href=null;}e.parse=b,e.resolve=function(t,e){return b(t,!1,!0).resolve(e)},e.resolveObject=function(t,e){return t?b(t,!1,!0).resolveObject(e):e},e.format=function(t){return i.isString(t)&&(t=b(t)),t instanceof o?t.format():o.prototype.format.call(t)},e.Url=o;var a=/^([a-z0-9.+-]+:)/i,s=/:[0-9]*$/,u=/^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/,l=["{","}","|","\\","^","`"].concat(["<",">",'"',"`"," ","\r","\n","\t"]),c=["'"].concat(l),h=["%","/","?",";","#"].concat(c),f=["/","?","#"],p=/^[+a-z0-9A-Z_-]{0,63}$/,d=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,y={javascript:!0,"javascript:":!0},m={javascript:!0,"javascript:":!0},g={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},_=n(7673);function b(t,e,n){if(t&&i.isObject(t)&&t instanceof o)return t;var r=new o;return r.parse(t,e,n),r}o.prototype.parse=function(t,e,n){if(!i.isString(t))throw new TypeError("Parameter 'url' must be a string, not "+typeof t);var o=t.indexOf("?"),s=-1!==o&&o127?R+="x":R+=P[L];if(!R.match(p)){var k=A.slice(0,S),F=A.slice(S+1),U=P.match(d);U&&(k.push(U[1]),F.unshift(U[2])),F.length&&(b="/"+F.join(".")+b),this.hostname=k.join(".");break}}}this.hostname.length>255?this.hostname="":this.hostname=this.hostname.toLowerCase(),O||(this.hostname=r.toASCII(this.hostname));var B=this.port?":"+this.port:"",j=this.hostname||"";this.host=j+B,this.href+=this.host,O&&(this.hostname=this.hostname.substr(1,this.hostname.length-2),"/"!==b[0]&&(b="/"+b));}if(!y[E])for(S=0,I=c.length;S0)&&n.host.split("@"))&&(n.auth=O.shift(),n.host=n.hostname=O.shift())),n.search=t.search,n.query=t.query,i.isNull(n.pathname)&&i.isNull(n.search)||(n.path=(n.pathname?n.pathname:"")+(n.search?n.search:"")),n.href=n.format(),n;if(!w.length)return n.pathname=null,n.search?n.path="/"+n.search:n.path=null,n.href=n.format(),n;for(var C=w.slice(-1)[0],M=(n.host||t.host||w.length>1)&&("."===C||".."===C)||""===C,S=0,N=w.length;N>=0;N--)"."===(C=w[N])?w.splice(N,1):".."===C?(w.splice(N,1),S++):S&&(w.splice(N,1),S--);if(!T&&!E)for(;S--;S)w.unshift("..");!T||""===w[0]||w[0]&&"/"===w[0].charAt(0)||w.unshift(""),M&&"/"!==w.join("/").substr(-1)&&w.push("");var O,A=""===w[0]||w[0]&&"/"===w[0].charAt(0);return x&&(n.hostname=n.host=A?"":w.length?w.shift():"",(O=!!(n.host&&n.host.indexOf("@")>0)&&n.host.split("@"))&&(n.auth=O.shift(),n.host=n.hostname=O.shift())),(T=T||n.host&&w.length)&&!A&&w.unshift(""),w.length?n.pathname=w.join("/"):(n.pathname=null,n.path=null),i.isNull(n.pathname)&&i.isNull(n.search)||(n.path=(n.pathname?n.pathname:"")+(n.search?n.search:"")),n.auth=t.auth||n.auth,n.slashes=n.slashes||t.slashes,n.href=n.format(),n},o.prototype.parseHost=function(){var t=this.host,e=s.exec(t);e&&(":"!==(e=e[0])&&(this.port=e.substr(1)),t=t.substr(0,t.length-e.length)),t&&(this.hostname=t);};},2502:t=>{"use strict";t.exports={isString:function(t){return "string"==typeof t},isObject:function(t){return "object"==typeof t&&null!==t},isNull:function(t){return null===t},isNullOrUndefined:function(t){return null==t}};},4927:(t,e,n)=>{var r=n(5108);function i(t){try{if(!n.g.localStorage)return !1}catch(t){return !1}var e=n.g.localStorage[t];return null!=e&&"true"===String(e).toLowerCase()}t.exports=function(t,e){if(i("noDeprecation"))return t;var n=!1;return function(){if(!n){if(i("throwDeprecation"))throw new Error(e);i("traceDeprecation")?r.trace(e):r.warn(e),n=!0;}return t.apply(this,arguments)}};},1496:t=>{"function"==typeof Object.create?t.exports=function(t,e){t.super_=e,t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}});}:t.exports=function(t,e){t.super_=e;var n=function(){};n.prototype=e.prototype,t.prototype=new n,t.prototype.constructor=t;};},384:t=>{t.exports=function(t){return t&&"object"==typeof t&&"function"==typeof t.copy&&"function"==typeof t.fill&&"function"==typeof t.readUInt8};},9539:(t,e,n)=>{var r=n(4155),i=n(5108),o=/%[sdj%]/g;e.format=function(t){if(!_(t)){for(var e=[],n=0;n=i)return t;switch(t){case "%s":return String(r[n++]);case "%d":return Number(r[n++]);case "%j":try{return JSON.stringify(r[n++])}catch(t){return "[Circular]"}default:return t}})),s=r[n];n=3&&(r.depth=arguments[2]),arguments.length>=4&&(r.colors=arguments[3]),y(n)?r.showHidden=n:n&&e._extend(r,n),b(r.showHidden)&&(r.showHidden=!1),b(r.depth)&&(r.depth=2),b(r.colors)&&(r.colors=!1),b(r.customInspect)&&(r.customInspect=!0),r.colors&&(r.stylize=l),h(r,t,r.depth)}function l(t,e){var n=u.styles[e];return n?"["+u.colors[n][0]+"m"+t+"["+u.colors[n][1]+"m":t}function c(t,e){return t}function h(t,n,r){if(t.customInspect&&n&&x(n.inspect)&&n.inspect!==e.inspect&&(!n.constructor||n.constructor.prototype!==n)){var i=n.inspect(r,t);return _(i)||(i=h(t,i,r)),i}var o=function(t,e){if(b(e))return t.stylize("undefined","undefined");if(_(e)){var n="'"+JSON.stringify(e).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return t.stylize(n,"string")}return g(e)?t.stylize(""+e,"number"):y(e)?t.stylize(""+e,"boolean"):m(e)?t.stylize("null","null"):void 0}(t,n);if(o)return o;var a=Object.keys(n),s=function(t){var e={};return t.forEach((function(t,n){e[t]=!0;})),e}(a);if(t.showHidden&&(a=Object.getOwnPropertyNames(n)),w(n)&&(a.indexOf("message")>=0||a.indexOf("description")>=0))return f(n);if(0===a.length){if(x(n)){var u=n.name?": "+n.name:"";return t.stylize("[Function"+u+"]","special")}if(v(n))return t.stylize(RegExp.prototype.toString.call(n),"regexp");if(E(n))return t.stylize(Date.prototype.toString.call(n),"date");if(w(n))return f(n)}var l,c="",T=!1,C=["{","}"];return d(n)&&(T=!0,C=["[","]"]),x(n)&&(c=" [Function"+(n.name?": "+n.name:"")+"]"),v(n)&&(c=" "+RegExp.prototype.toString.call(n)),E(n)&&(c=" "+Date.prototype.toUTCString.call(n)),w(n)&&(c=" "+f(n)),0!==a.length||T&&0!=n.length?r<0?v(n)?t.stylize(RegExp.prototype.toString.call(n),"regexp"):t.stylize("[Object]","special"):(t.seen.push(n),l=T?function(t,e,n,r,i){for(var o=[],a=0,s=e.length;a60?n[0]+(""===e?"":e+"\n ")+" "+t.join(",\n ")+" "+n[1]:n[0]+e+" "+t.join(", ")+" "+n[1]}(l,c,C)):C[0]+c+C[1]}function f(t){return "["+Error.prototype.toString.call(t)+"]"}function p(t,e,n,r,i,o){var a,s,u;if((u=Object.getOwnPropertyDescriptor(e,i)||{value:e[i]}).get?s=u.set?t.stylize("[Getter/Setter]","special"):t.stylize("[Getter]","special"):u.set&&(s=t.stylize("[Setter]","special")),N(r,i)||(a="["+i+"]"),s||(t.seen.indexOf(u.value)<0?(s=m(n)?h(t,u.value,null):h(t,u.value,n-1)).indexOf("\n")>-1&&(s=o?s.split("\n").map((function(t){return " "+t})).join("\n").substr(2):"\n"+s.split("\n").map((function(t){return " "+t})).join("\n")):s=t.stylize("[Circular]","special")),b(a)){if(o&&i.match(/^\d+$/))return s;(a=JSON.stringify(""+i)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(a=a.substr(1,a.length-2),a=t.stylize(a,"name")):(a=a.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),a=t.stylize(a,"string"));}return a+": "+s}function d(t){return Array.isArray(t)}function y(t){return "boolean"==typeof t}function m(t){return null===t}function g(t){return "number"==typeof t}function _(t){return "string"==typeof t}function b(t){return void 0===t}function v(t){return T(t)&&"[object RegExp]"===C(t)}function T(t){return "object"==typeof t&&null!==t}function E(t){return T(t)&&"[object Date]"===C(t)}function w(t){return T(t)&&("[object Error]"===C(t)||t instanceof Error)}function x(t){return "function"==typeof t}function C(t){return Object.prototype.toString.call(t)}function M(t){return t<10?"0"+t.toString(10):t.toString(10)}e.debuglog=function(t){if(b(a)&&(a=r.env.NODE_DEBUG||""),t=t.toUpperCase(),!s[t])if(new RegExp("\\b"+t+"\\b","i").test(a)){var n=r.pid;s[t]=function(){var r=e.format.apply(e,arguments);i.error("%s %d: %s",t,n,r);};}else s[t]=function(){};return s[t]},e.inspect=u,u.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},u.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},e.isArray=d,e.isBoolean=y,e.isNull=m,e.isNullOrUndefined=function(t){return null==t},e.isNumber=g,e.isString=_,e.isSymbol=function(t){return "symbol"==typeof t},e.isUndefined=b,e.isRegExp=v,e.isObject=T,e.isDate=E,e.isError=w,e.isFunction=x,e.isPrimitive=function(t){return null===t||"boolean"==typeof t||"number"==typeof t||"string"==typeof t||"symbol"==typeof t||void 0===t},e.isBuffer=n(384);var S=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function N(t,e){return Object.prototype.hasOwnProperty.call(t,e)}e.log=function(){var t,n;i.log("%s - %s",(n=[M((t=new Date).getHours()),M(t.getMinutes()),M(t.getSeconds())].join(":"),[t.getDate(),S[t.getMonth()],n].join(" ")),e.format.apply(e,arguments));},e.inherits=n(1496),e._extend=function(t,e){if(!e||!T(e))return t;for(var n=Object.keys(e),r=n.length;r--;)t[n[r]]=e[n[r]];return t};},8034:t=>{var e=arguments[3],n=arguments[4],r=arguments[5],i=JSON.stringify;t.exports=function(t,o){for(var a,s=Object.keys(r),u=0,l=s.length;u{var r=n(3085).lW;function i(t,e){this.buffer=t,this.position=0,this.isBigEndian=e||!1;}function o(t,e,n){return function(){var r;return r=this.isBigEndian?e.call(this.buffer,this.position):t.call(this.buffer,this.position),this.position+=n,r}}t.exports=i,i.prototype.readUInt8=o(r.prototype.readUInt8,r.prototype.readUInt8,1),i.prototype.readUInt16=o(r.prototype.readUInt16LE,r.prototype.readUInt16BE,2),i.prototype.readUInt32=o(r.prototype.readUInt32LE,r.prototype.readUInt32BE,4),i.prototype.readInt8=o(r.prototype.readInt8,r.prototype.readInt8,1),i.prototype.readInt16=o(r.prototype.readInt16LE,r.prototype.readInt16BE,2),i.prototype.readInt32=o(r.prototype.readInt32LE,r.prototype.readInt32BE,4),i.prototype.readFloat=o(r.prototype.readFloatLE,r.prototype.readFloatBE,4),i.prototype.readDouble=o(r.prototype.readDoubleLE,r.prototype.readDoubleBE,8),i.prototype.readVarInt=function(){var t,e=0,n=0;do{e+=(127&(t=this.buffer[this.position+n]))<<7*n,n++;}while(t>=128);return this.position+=n,e};},2659:(t,e,n)=>{var r=n(3085).lW;function i(t,e){this.buffer=new r(t),this.position=0,this.allowResize=e;}function o(t,e){return function(n,r){this.ensureSize(e),t.call(this.buffer,n,this.position,r),this.position+=e;}}t.exports=i,i.prototype.writeUInt8=o(r.prototype.writeUInt8,1),i.prototype.writeUInt16LE=o(r.prototype.writeUInt16LE,2),i.prototype.writeUInt16BE=o(r.prototype.writeUInt16BE,2),i.prototype.writeUInt32LE=o(r.prototype.writeUInt32LE,4),i.prototype.writeUInt32BE=o(r.prototype.writeUInt32BE,4),i.prototype.writeInt8=o(r.prototype.writeInt8,1),i.prototype.writeInt16LE=o(r.prototype.writeInt16LE,2),i.prototype.writeInt16BE=o(r.prototype.writeInt16BE,2),i.prototype.writeInt32LE=o(r.prototype.writeInt32LE,4),i.prototype.writeInt32BE=o(r.prototype.writeInt32BE,4),i.prototype.writeFloatLE=o(r.prototype.writeFloatLE,4),i.prototype.writeFloatBE=o(r.prototype.writeFloatBE,4),i.prototype.writeDoubleLE=o(r.prototype.writeDoubleLE,8),i.prototype.writeDoubleBE=o(r.prototype.writeDoubleBE,8),i.prototype.writeBuffer=function(t){this.ensureSize(t.length),t.copy(this.buffer,this.position,0,t.length),this.position+=t.length;},i.prototype.writeVarInt=function(t){for(var e=1;0!=(4294967168&t);)this.writeUInt8(127&t|128),t>>>=7,e++;return this.writeUInt8(127&t),e},i.prototype.ensureSize=function(t){if(this.buffer.length{var r=n(3085).lW;t.exports=m;var i=n(4905),o=n(9213),a=n(9645),s=n(978),u=n(1665),l=n(9606),c=n(9763),h=n(2292),f=n(6382),p=n(2659),d=n(2620),y=n(3172);function m(){this.srid=void 0,this.hasZ=!1,this.hasM=!1;}m.parse=function(t,e){if("string"==typeof t||t instanceof d)return m._parseWkt(t);if(r.isBuffer(t)||t instanceof f)return m._parseWkb(t,e);throw new Error("first argument must be a string or Buffer")},m._parseWkt=function(t){var e,n,r=(e=t instanceof d?t:new d(t)).matchRegex([/^SRID=(\d+);/]);r&&(n=parseInt(r[1],10));var f=e.matchType(),p=e.matchDimension(),y={srid:n,hasZ:p.hasZ,hasM:p.hasM};switch(f){case i.wkt.Point:return o._parseWkt(e,y);case i.wkt.LineString:return a._parseWkt(e,y);case i.wkt.Polygon:return s._parseWkt(e,y);case i.wkt.MultiPoint:return u._parseWkt(e,y);case i.wkt.MultiLineString:return l._parseWkt(e,y);case i.wkt.MultiPolygon:return c._parseWkt(e,y);case i.wkt.GeometryCollection:return h._parseWkt(e,y)}},m._parseWkb=function(t,e){var n,r,p,d={};switch((n=t instanceof f?t:new f(t)).isBigEndian=!n.readInt8(),r=n.readUInt32(),d.hasSrid=536870912==(536870912&r),d.isEwkb=536870912&r||1073741824&r||2147483648&r,d.hasSrid&&(d.srid=n.readUInt32()),d.hasZ=!1,d.hasM=!1,d.isEwkb||e&&e.isEwkb?(2147483648&r&&(d.hasZ=!0),1073741824&r&&(d.hasM=!0),p=15&r):r>=1e3&&r<2e3?(d.hasZ=!0,p=r-1e3):r>=2e3&&r<3e3?(d.hasM=!0,p=r-2e3):r>=3e3&&r<4e3?(d.hasZ=!0,d.hasM=!0,p=r-3e3):p=r,p){case i.wkb.Point:return o._parseWkb(n,d);case i.wkb.LineString:return a._parseWkb(n,d);case i.wkb.Polygon:return s._parseWkb(n,d);case i.wkb.MultiPoint:return u._parseWkb(n,d);case i.wkb.MultiLineString:return l._parseWkb(n,d);case i.wkb.MultiPolygon:return c._parseWkb(n,d);case i.wkb.GeometryCollection:return h._parseWkb(n,d);default:throw new Error("GeometryType "+p+" not supported")}},m.parseTwkb=function(t){var e,n={},r=(e=t instanceof f?t:new f(t)).readUInt8(),p=e.readUInt8(),d=15&r;if(n.precision=y.decode(r>>4),n.precisionFactor=Math.pow(10,n.precision),n.hasBoundingBox=p>>0&1,n.hasSizeAttribute=p>>1&1,n.hasIdList=p>>2&1,n.hasExtendedPrecision=p>>3&1,n.isEmpty=p>>4&1,n.hasExtendedPrecision){var m=e.readUInt8();n.hasZ=1==(1&m),n.hasM=2==(2&m),n.zPrecision=y.decode((28&m)>>2),n.zPrecisionFactor=Math.pow(10,n.zPrecision),n.mPrecision=y.decode((224&m)>>5),n.mPrecisionFactor=Math.pow(10,n.mPrecision);}else n.hasZ=!1,n.hasM=!1;if(n.hasSizeAttribute&&e.readVarInt(),n.hasBoundingBox){var g=2;n.hasZ&&g++,n.hasM&&g++;for(var _=0;_>>0,!0),t.writeUInt32LE(this.srid),t.writeBuffer(e.slice(5)),t.buffer},m.prototype._getWktType=function(t,e){var n=t;return this.hasZ&&this.hasM?n+=" ZM ":this.hasZ?n+=" Z ":this.hasM&&(n+=" M "),!e||this.hasZ||this.hasM||(n+=" "),e&&(n+="EMPTY"),n},m.prototype._getWktCoordinate=function(t){var e=t.x+" "+t.y;return this.hasZ&&(e+=" "+t.z),this.hasM&&(e+=" "+t.m),e},m.prototype._writeWkbType=function(t,e,n){var r=0;void 0!==this.srid||n&&void 0!==n.srid?(this.hasZ&&(r|=2147483648),this.hasM&&(r|=1073741824)):this.hasZ&&this.hasM?r+=3e3:this.hasZ?r+=1e3:this.hasM&&(r+=2e3),t.writeUInt32LE(r+e>>>0,!0);},m.getTwkbPrecision=function(t,e,n){return {xy:t,z:e,m:n,xyFactor:Math.pow(10,t),zFactor:Math.pow(10,e),mFactor:Math.pow(10,n)}},m.prototype._writeTwkbHeader=function(t,e,n,r){var i=(y.encode(n.xy)<<4)+e,o=(this.hasZ||this.hasM)<<3;if(o+=r<<4,t.writeUInt8(i),t.writeUInt8(o),this.hasZ||this.hasM){var a=0;this.hasZ&&(a|=1),this.hasM&&(a|=2),t.writeUInt8(a);}},m.prototype.toGeoJSON=function(t){var e={};return this.srid&&t&&(t.shortCrs?e.crs={type:"name",properties:{name:"EPSG:"+this.srid}}:t.longCrs&&(e.crs={type:"name",properties:{name:"urn:ogc:def:crs:EPSG::"+this.srid}})),e};},2292:(t,e,n)=>{t.exports=s;var r=n(9539),i=n(4905),o=n(7056),a=n(2659);function s(t,e){o.call(this),this.geometries=t||[],this.srid=e,this.geometries.length>0&&(this.hasZ=this.geometries[0].hasZ,this.hasM=this.geometries[0].hasM);}r.inherits(s,o),s.Z=function(t,e){var n=new s(t,e);return n.hasZ=!0,n},s.M=function(t,e){var n=new s(t,e);return n.hasM=!0,n},s.ZM=function(t,e){var n=new s(t,e);return n.hasZ=!0,n.hasM=!0,n},s._parseWkt=function(t,e){var n=new s;if(n.srid=e.srid,n.hasZ=e.hasZ,n.hasM=e.hasM,t.isMatch(["EMPTY"]))return n;t.expectGroupStart();do{n.geometries.push(o.parse(t));}while(t.isMatch([","]));return t.expectGroupEnd(),n},s._parseWkb=function(t,e){var n=new s;n.srid=e.srid,n.hasZ=e.hasZ,n.hasM=e.hasM;for(var r=t.readUInt32(),i=0;i0&&(e.hasZ=e.geometries[0].hasZ),e},s.prototype.toWkt=function(){if(0===this.geometries.length)return this._getWktType(i.wkt.GeometryCollection,!0);for(var t=this._getWktType(i.wkt.GeometryCollection,!1)+"(",e=0;e0){t.writeVarInt(this.geometries.length);for(var r=0;r{t.exports=u;var r=n(9539),i=n(7056),o=n(4905),a=n(9213),s=n(2659);function u(t,e){i.call(this),this.points=t||[],this.srid=e,this.points.length>0&&(this.hasZ=this.points[0].hasZ,this.hasM=this.points[0].hasM);}r.inherits(u,i),u.Z=function(t,e){var n=new u(t,e);return n.hasZ=!0,n},u.M=function(t,e){var n=new u(t,e);return n.hasM=!0,n},u.ZM=function(t,e){var n=new u(t,e);return n.hasZ=!0,n.hasM=!0,n},u._parseWkt=function(t,e){var n=new u;return n.srid=e.srid,n.hasZ=e.hasZ,n.hasM=e.hasM,t.isMatch(["EMPTY"])||(t.expectGroupStart(),n.points.push.apply(n.points,t.matchCoordinates(e)),t.expectGroupEnd()),n},u._parseWkb=function(t,e){var n=new u;n.srid=e.srid,n.hasZ=e.hasZ,n.hasM=e.hasM;for(var r=t.readUInt32(),i=0;i0&&(e.hasZ=t.coordinates[0].length>2);for(var n=0;n0){t.writeVarInt(this.points.length);for(var r=new a(0,0,0,0),u=0;u{t.exports=l;var r=n(9539),i=n(4905),o=n(7056),a=n(9213),s=n(9645),u=n(2659);function l(t,e){o.call(this),this.lineStrings=t||[],this.srid=e,this.lineStrings.length>0&&(this.hasZ=this.lineStrings[0].hasZ,this.hasM=this.lineStrings[0].hasM);}r.inherits(l,o),l.Z=function(t,e){var n=new l(t,e);return n.hasZ=!0,n},l.M=function(t,e){var n=new l(t,e);return n.hasM=!0,n},l.ZM=function(t,e){var n=new l(t,e);return n.hasZ=!0,n.hasM=!0,n},l._parseWkt=function(t,e){var n=new l;if(n.srid=e.srid,n.hasZ=e.hasZ,n.hasM=e.hasM,t.isMatch(["EMPTY"]))return n;t.expectGroupStart();do{t.expectGroupStart(),n.lineStrings.push(new s(t.matchCoordinates(e))),t.expectGroupEnd();}while(t.isMatch([","]));return t.expectGroupEnd(),n},l._parseWkb=function(t,e){var n=new l;n.srid=e.srid,n.hasZ=e.hasZ,n.hasM=e.hasM;for(var r=t.readUInt32(),i=0;i0&&t.coordinates[0].length>0&&(e.hasZ=t.coordinates[0][0].length>2);for(var n=0;n0){t.writeVarInt(this.lineStrings.length);for(var r=new a(0,0,0,0),s=0;s{t.exports=u;var r=n(9539),i=n(4905),o=n(7056),a=n(9213),s=n(2659);function u(t,e){o.call(this),this.points=t||[],this.srid=e,this.points.length>0&&(this.hasZ=this.points[0].hasZ,this.hasM=this.points[0].hasM);}r.inherits(u,o),u.Z=function(t,e){var n=new u(t,e);return n.hasZ=!0,n},u.M=function(t,e){var n=new u(t,e);return n.hasM=!0,n},u.ZM=function(t,e){var n=new u(t,e);return n.hasZ=!0,n.hasM=!0,n},u._parseWkt=function(t,e){var n=new u;return n.srid=e.srid,n.hasZ=e.hasZ,n.hasM=e.hasM,t.isMatch(["EMPTY"])||(t.expectGroupStart(),n.points.push.apply(n.points,t.matchCoordinates(e)),t.expectGroupEnd()),n},u._parseWkb=function(t,e){var n=new u;n.srid=e.srid,n.hasZ=e.hasZ,n.hasM=e.hasM;for(var r=t.readUInt32(),i=0;i0&&(e.hasZ=t.coordinates[0].length>2);for(var n=0;n0){t.writeVarInt(this.points.length);for(var r=new a(0,0,0,0),u=0;u{t.exports=l;var r=n(9539),i=n(4905),o=n(7056),a=n(9213),s=n(978),u=n(2659);function l(t,e){o.call(this),this.polygons=t||[],this.srid=e,this.polygons.length>0&&(this.hasZ=this.polygons[0].hasZ,this.hasM=this.polygons[0].hasM);}r.inherits(l,o),l.Z=function(t,e){var n=new l(t,e);return n.hasZ=!0,n},l.M=function(t,e){var n=new l(t,e);return n.hasM=!0,n},l.ZM=function(t,e){var n=new l(t,e);return n.hasZ=!0,n.hasM=!0,n},l._parseWkt=function(t,e){var n=new l;if(n.srid=e.srid,n.hasZ=e.hasZ,n.hasM=e.hasM,t.isMatch(["EMPTY"]))return n;t.expectGroupStart();do{t.expectGroupStart();var r=[],i=[];for(t.expectGroupStart(),r.push.apply(r,t.matchCoordinates(e)),t.expectGroupEnd();t.isMatch([","]);)t.expectGroupStart(),i.push(t.matchCoordinates(e)),t.expectGroupEnd();n.polygons.push(new s(r,i)),t.expectGroupEnd();}while(t.isMatch([","]));return t.expectGroupEnd(),n},l._parseWkb=function(t,e){var n=new l;n.srid=e.srid,n.hasZ=e.hasZ,n.hasM=e.hasM;for(var r=t.readUInt32(),i=0;i0&&t.coordinates[0].length>0&&t.coordinates[0][0].length>0&&(e.hasZ=t.coordinates[0][0][0].length>2);for(var n=0;n0){t.writeVarInt(this.polygons.length);for(var r=new a(0,0,0,0),s=0;s{t.exports=u;var r=n(9539),i=n(7056),o=n(4905),a=n(2659),s=n(3172);function u(t,e,n,r,o){i.call(this),this.x=t,this.y=e,this.z=n,this.m=r,this.srid=o,this.hasZ=void 0!==this.z,this.hasM=void 0!==this.m;}r.inherits(u,i),u.Z=function(t,e,n,r){var i=new u(t,e,n,void 0,r);return i.hasZ=!0,i},u.M=function(t,e,n,r){var i=new u(t,e,void 0,n,r);return i.hasM=!0,i},u.ZM=function(t,e,n,r,i){var o=new u(t,e,n,r,i);return o.hasZ=!0,o.hasM=!0,o},u._parseWkt=function(t,e){var n=new u;if(n.srid=e.srid,n.hasZ=e.hasZ,n.hasM=e.hasM,t.isMatch(["EMPTY"]))return n;t.expectGroupStart();var r=t.matchCoordinate(e);return n.x=r.x,n.y=r.y,n.z=r.z,n.m=r.m,t.expectGroupEnd(),n},u._parseWkb=function(t,e){var n=u._readWkbPoint(t,e);return n.srid=e.srid,n},u._readWkbPoint=function(t,e){return new u(t.readDouble(),t.readDouble(),e.hasZ?t.readDouble():void 0,e.hasM?t.readDouble():void 0)},u._parseTwkb=function(t,e){var n=new u;return n.hasZ=e.hasZ,n.hasM=e.hasM,e.isEmpty||(n.x=s.decode(t.readVarInt())/e.precisionFactor,n.y=s.decode(t.readVarInt())/e.precisionFactor,n.z=e.hasZ?s.decode(t.readVarInt())/e.zPrecisionFactor:void 0,n.m=e.hasM?s.decode(t.readVarInt())/e.mPrecisionFactor:void 0),n},u._readTwkbPoint=function(t,e,n){return n.x+=s.decode(t.readVarInt())/e.precisionFactor,n.y+=s.decode(t.readVarInt())/e.precisionFactor,e.hasZ&&(n.z+=s.decode(t.readVarInt())/e.zPrecisionFactor),e.hasM&&(n.m+=s.decode(t.readVarInt())/e.mPrecisionFactor),new u(n.x,n.y,n.z,n.m)},u._parseGeoJSON=function(t){return u._readGeoJSONPoint(t.coordinates)},u._readGeoJSONPoint=function(t){return 0===t.length?new u:t.length>2?new u(t[0],t[1],t[2]):new u(t[0],t[1])},u.prototype.toWkt=function(){return void 0===this.x&&void 0===this.y&&void 0===this.z&&void 0===this.m?this._getWktType(o.wkt.Point,!0):this._getWktType(o.wkt.Point,!1)+"("+this._getWktCoordinate(this)+")"},u.prototype.toWkb=function(t){var e=new a(this._getWkbSize());return e.writeInt8(1),this._writeWkbType(e,o.wkb.Point,t),void 0===this.x&&void 0===this.y?(e.writeDoubleLE(NaN),e.writeDoubleLE(NaN),this.hasZ&&e.writeDoubleLE(NaN),this.hasM&&e.writeDoubleLE(NaN)):this._writeWkbPoint(e),e.buffer},u.prototype._writeWkbPoint=function(t){t.writeDoubleLE(this.x),t.writeDoubleLE(this.y),this.hasZ&&t.writeDoubleLE(this.z),this.hasM&&t.writeDoubleLE(this.m);},u.prototype.toTwkb=function(){var t=new a(0,!0),e=i.getTwkbPrecision(5,0,0),n=void 0===this.x&&void 0===this.y;return this._writeTwkbHeader(t,o.wkb.Point,e,n),n||this._writeTwkbPoint(t,e,new u(0,0,0,0)),t.buffer},u.prototype._writeTwkbPoint=function(t,e,n){var r=this.x*e.xyFactor,i=this.y*e.xyFactor,o=this.z*e.zFactor,a=this.m*e.mFactor;t.writeVarInt(s.encode(r-n.x)),t.writeVarInt(s.encode(i-n.y)),this.hasZ&&t.writeVarInt(s.encode(o-n.z)),this.hasM&&t.writeVarInt(s.encode(a-n.m)),n.x=r,n.y=i,n.z=o,n.m=a;},u.prototype._getWkbSize=function(){var t=21;return this.hasZ&&(t+=8),this.hasM&&(t+=8),t},u.prototype.toGeoJSON=function(t){var e=i.prototype.toGeoJSON.call(this,t);return e.type=o.geoJSON.Point,void 0===this.x&&void 0===this.y?e.coordinates=[]:void 0!==this.z?e.coordinates=[this.x,this.y,this.z]:e.coordinates=[this.x,this.y],e};},978:(t,e,n)=>{t.exports=u;var r=n(9539),i=n(7056),o=n(4905),a=n(9213),s=n(2659);function u(t,e,n){i.call(this),this.exteriorRing=t||[],this.interiorRings=e||[],this.srid=n,this.exteriorRing.length>0&&(this.hasZ=this.exteriorRing[0].hasZ,this.hasM=this.exteriorRing[0].hasM);}r.inherits(u,i),u.Z=function(t,e,n){var r=new u(t,e,n);return r.hasZ=!0,r},u.M=function(t,e,n){var r=new u(t,e,n);return r.hasM=!0,r},u.ZM=function(t,e,n){var r=new u(t,e,n);return r.hasZ=!0,r.hasM=!0,r},u._parseWkt=function(t,e){var n=new u;if(n.srid=e.srid,n.hasZ=e.hasZ,n.hasM=e.hasM,t.isMatch(["EMPTY"]))return n;for(t.expectGroupStart(),t.expectGroupStart(),n.exteriorRing.push.apply(n.exteriorRing,t.matchCoordinates(e)),t.expectGroupEnd();t.isMatch([","]);)t.expectGroupStart(),n.interiorRings.push(t.matchCoordinates(e)),t.expectGroupEnd();return t.expectGroupEnd(),n},u._parseWkb=function(t,e){var n=new u;n.srid=e.srid,n.hasZ=e.hasZ,n.hasM=e.hasM;var r=t.readUInt32();if(r>0){for(var i=t.readUInt32(),o=0;o0&&t.coordinates[0].length>0&&(e.hasZ=t.coordinates[0][0].length>2);for(var n=0;n0&&e.interiorRings.push([]);for(var r=0;r0?(e.writeUInt32LE(1+this.interiorRings.length),e.writeUInt32LE(this.exteriorRing.length)):e.writeUInt32LE(0);for(var n=0;n0){t.writeVarInt(1+this.interiorRings.length),t.writeVarInt(this.exteriorRing.length);for(var r=new a(0,0,0,0),u=0;u0&&(e+=4+this.exteriorRing.length*t);for(var n=0;n0){for(var n=[],r=0;r{t.exports={wkt:{Point:"POINT",LineString:"LINESTRING",Polygon:"POLYGON",MultiPoint:"MULTIPOINT",MultiLineString:"MULTILINESTRING",MultiPolygon:"MULTIPOLYGON",GeometryCollection:"GEOMETRYCOLLECTION"},wkb:{Point:1,LineString:2,Polygon:3,MultiPoint:4,MultiLineString:5,MultiPolygon:6,GeometryCollection:7},geoJSON:{Point:"Point",LineString:"LineString",Polygon:"Polygon",MultiPoint:"MultiPoint",MultiLineString:"MultiLineString",MultiPolygon:"MultiPolygon",GeometryCollection:"GeometryCollection"}};},2620:(t,e,n)=>{t.exports=o;var r=n(4905),i=n(9213);function o(t){this.value=t,this.position=0;}o.prototype.match=function(t){this.skipWhitespaces();for(var e=0;e{e.Types=n(4905),e.Geometry=n(7056),e.Point=n(9213),e.LineString=n(9645),e.Polygon=n(978),e.MultiPoint=n(1665),e.MultiLineString=n(9606),e.MultiPolygon=n(9763),e.GeometryCollection=n(2292);},3172:t=>{t.exports={encode:function(t){return t<<1^t>>31},decode:function(t){return t>>1^-(1&t)}};},7529:t=>{t.exports=function(){for(var t={},n=0;n{"use strict";if(void 0===__WEBPACK_EXTERNAL_MODULE__1498__){var e=new Error("Cannot find module 'better-sqlite3'");throw e.code="MODULE_NOT_FOUND",e}t.exports=__WEBPACK_EXTERNAL_MODULE__1498__;},5699:()=>{},4919:()=>{},1929:()=>{},2203:()=>{},7990:()=>{},8497:()=>{},1408:()=>{},3646:()=>{},4059:()=>{}},__webpack_module_cache__={};function __webpack_require__(t){var e=__webpack_module_cache__[t];if(void 0!==e)return e.exports;var n=__webpack_module_cache__[t]={id:t,loaded:!1,exports:{}};return __webpack_modules__[t].call(n.exports,n,n.exports,__webpack_require__),n.loaded=!0,n.exports}__webpack_require__.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return __webpack_require__.d(e,{a:e}),e},__webpack_require__.d=(t,e)=>{for(var n in e)__webpack_require__.o(e,n)&&!__webpack_require__.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]});},__webpack_require__.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),__webpack_require__.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),__webpack_require__.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0});},__webpack_require__.nmd=t=>(t.paths=[],t.children||(t.children=[]),t);var __webpack_exports__={};return (()=>{"use strict";var t=__webpack_exports__;Object.defineProperty(t,"__esModule",{value:!0}),t.OffscreenCanvasAdapter=t.NumberFeaturesTile=t.MetadataReference=t.MetadataExtension=t.MetadataDao=t.Metadata=t.MediaTable=t.ImageUtils=t.IconTable=t.Icons=t.IconCache=t.HtmlCanvasAdapter=t.GeoPackageValidate=t.GeoPackageTileRetriever=t.GeoPackageDataType=t.GeoPackageConnection=t.GeoPackageAPI=t.GeoPackage=t.GeometryData=t.GeometryColumnsDao=t.GeometryColumns=t.GeometryType=t.FeatureTiles=t.FeatureTableStyles=t.FeatureTableReader=t.FeatureTableIndex=t.FeatureTable=t.FeatureStyles=t.FeatureStyleExtension=t.FeatureStyle=t.FeaturePaint=t.FeatureDrawType=t.FeatureColumn=t.Extension=t.DublinCoreType=t.DublinCoreMetadata=t.DataColumnsDao=t.DataColumns=t.DataColumnConstraintsDao=t.DataColumnConstraints=t.CrsWktExtension=t.Context=t.ConstraintType=t.Constraints=t.Constraint=t.ContentsIdDao=t.ContentsDao=t.CanvasKitCanvasAdapter=t.Canvas=t.BoundingBox=void 0,t.WKB=t.WebPExtension=t.UserTableReader=t.UserTable=t.UserRow=t.UserMappingTable=t.UserDao=t.UserColumn=t.TileUtilities=t.TileTable=t.TileScalingType=t.TileScaling=t.TileMatrixSet=t.TileMatrix=t.TileColumn=t.TileBoundingBoxUtils=t.TileCreator=t.TableCreator=t.StyleTable=t.Styles=t.SqljsAdapter=t.StyleMappingTable=t.SqliteQueryBuilder=t.SqliteAdapter=t.SpatialReferenceSystem=t.SimpleAttributesTable=t.ShadedFeaturesTile=t.SchemaExtension=t.setSqljsWasmLocateFile=t.setCanvasKitWasmLocateFile=t.RTreeIndexDao=t.RTreeIndex=t.RelatedTablesExtension=t.ProjectionConstants=t.Projection=t.Paint=t.OptionBuilder=void 0;var e=__webpack_require__(2527);Object.defineProperty(t,"BoundingBox",{enumerable:!0,get:function(){return e.BoundingBox}});var n=__webpack_require__(4325);Object.defineProperty(t,"GeoPackage",{enumerable:!0,get:function(){return n.GeoPackage}});var r=__webpack_require__(6638);Object.defineProperty(t,"ContentsDao",{enumerable:!0,get:function(){return r.ContentsDao}});var i=__webpack_require__(7092);Object.defineProperty(t,"ContentsIdDao",{enumerable:!0,get:function(){return i.ContentsIdDao}});var o=__webpack_require__(8007);Object.defineProperty(t,"Constraint",{enumerable:!0,get:function(){return o.Constraint}});var a=__webpack_require__(7686);Object.defineProperty(t,"Constraints",{enumerable:!0,get:function(){return a.Constraints}});var s=__webpack_require__(91);Object.defineProperty(t,"ConstraintType",{enumerable:!0,get:function(){return s.ConstraintType}});var u=__webpack_require__(5306);Object.defineProperty(t,"CrsWktExtension",{enumerable:!0,get:function(){return u.CrsWktExtension}});var l=__webpack_require__(8590);Object.defineProperty(t,"DataColumnConstraints",{enumerable:!0,get:function(){return l.DataColumnConstraints}});var c=__webpack_require__(7175);Object.defineProperty(t,"DataColumnConstraintsDao",{enumerable:!0,get:function(){return c.DataColumnConstraintsDao}});var h=__webpack_require__(8133);Object.defineProperty(t,"DataColumns",{enumerable:!0,get:function(){return h.DataColumns}});var f=__webpack_require__(7319);Object.defineProperty(t,"GeoPackageDataType",{enumerable:!0,get:function(){return f.GeoPackageDataType}});var p=__webpack_require__(4941);Object.defineProperty(t,"DataColumnsDao",{enumerable:!0,get:function(){return p.DataColumnsDao}});var d=__webpack_require__(3096);Object.defineProperty(t,"DublinCoreMetadata",{enumerable:!0,get:function(){return d.DublinCoreMetadata}});var y=__webpack_require__(1485);Object.defineProperty(t,"DublinCoreType",{enumerable:!0,get:function(){return y.DublinCoreType}});var m=__webpack_require__(624);Object.defineProperty(t,"Extension",{enumerable:!0,get:function(){return m.Extension}});var g=__webpack_require__(961);Object.defineProperty(t,"FeatureColumn",{enumerable:!0,get:function(){return g.FeatureColumn}});var _=__webpack_require__(4538);Object.defineProperty(t,"FeatureDrawType",{enumerable:!0,get:function(){return _.FeatureDrawType}});var b=__webpack_require__(6063);Object.defineProperty(t,"FeaturePaint",{enumerable:!0,get:function(){return b.FeaturePaint}});var v=__webpack_require__(612);Object.defineProperty(t,"FeatureStyle",{enumerable:!0,get:function(){return v.FeatureStyle}});var T=__webpack_require__(8479);Object.defineProperty(t,"FeatureStyleExtension",{enumerable:!0,get:function(){return T.FeatureStyleExtension}});var E=__webpack_require__(2752);Object.defineProperty(t,"FeatureStyles",{enumerable:!0,get:function(){return E.FeatureStyles}});var w=__webpack_require__(8412);Object.defineProperty(t,"FeatureTable",{enumerable:!0,get:function(){return w.FeatureTable}});var x=__webpack_require__(5626);Object.defineProperty(t,"FeatureTableIndex",{enumerable:!0,get:function(){return x.FeatureTableIndex}});var C=__webpack_require__(4896);Object.defineProperty(t,"FeatureTableReader",{enumerable:!0,get:function(){return C.FeatureTableReader}});var M=__webpack_require__(6536);Object.defineProperty(t,"FeatureTableStyles",{enumerable:!0,get:function(){return M.FeatureTableStyles}});var S=__webpack_require__(297);Object.defineProperty(t,"FeatureTiles",{enumerable:!0,get:function(){return S.FeatureTiles}});var N=__webpack_require__(812);Object.defineProperty(t,"GeometryColumns",{enumerable:!0,get:function(){return N.GeometryColumns}});var O=__webpack_require__(1968);Object.defineProperty(t,"GeometryColumnsDao",{enumerable:!0,get:function(){return O.GeometryColumnsDao}});var A=__webpack_require__(857);Object.defineProperty(t,"GeometryData",{enumerable:!0,get:function(){return A.GeometryData}});var I=__webpack_require__(9211);Object.defineProperty(t,"GeometryType",{enumerable:!0,get:function(){return I.GeometryType}});var P=__webpack_require__(1191);Object.defineProperty(t,"GeoPackageAPI",{enumerable:!0,get:function(){return P.GeoPackageAPI}});var R=__webpack_require__(5116);Object.defineProperty(t,"GeoPackageConnection",{enumerable:!0,get:function(){return R.GeoPackageConnection}});var L=__webpack_require__(731);Object.defineProperty(t,"GeoPackageTileRetriever",{enumerable:!0,get:function(){return L.GeoPackageTileRetriever}});var D=__webpack_require__(4275);Object.defineProperty(t,"GeoPackageValidate",{enumerable:!0,get:function(){return D.GeoPackageValidate}});var k=__webpack_require__(8600);Object.defineProperty(t,"IconCache",{enumerable:!0,get:function(){return k.IconCache}});var F=__webpack_require__(4725);Object.defineProperty(t,"Icons",{enumerable:!0,get:function(){return F.Icons}});var U=__webpack_require__(2015);Object.defineProperty(t,"IconTable",{enumerable:!0,get:function(){return U.IconTable}});var B=__webpack_require__(9325);Object.defineProperty(t,"ImageUtils",{enumerable:!0,get:function(){return B.ImageUtils}});var j=__webpack_require__(6366);Object.defineProperty(t,"MediaTable",{enumerable:!0,get:function(){return j.MediaTable}});var G=__webpack_require__(3026);Object.defineProperty(t,"Metadata",{enumerable:!0,get:function(){return G.Metadata}});var W=__webpack_require__(663);Object.defineProperty(t,"MetadataDao",{enumerable:!0,get:function(){return W.MetadataDao}});var q=__webpack_require__(3501);Object.defineProperty(t,"MetadataExtension",{enumerable:!0,get:function(){return q.MetadataExtension}});var H=__webpack_require__(9173);Object.defineProperty(t,"MetadataReference",{enumerable:!0,get:function(){return H.MetadataReference}});var z=__webpack_require__(3060);Object.defineProperty(t,"NumberFeaturesTile",{enumerable:!0,get:function(){return z.NumberFeaturesTile}});var V=__webpack_require__(7403);Object.defineProperty(t,"OptionBuilder",{enumerable:!0,get:function(){return V.OptionBuilder}});var X=__webpack_require__(5211);Object.defineProperty(t,"Paint",{enumerable:!0,get:function(){return X.Paint}});var Y=__webpack_require__(5604);Object.defineProperty(t,"Projection",{enumerable:!0,get:function(){return Y.Projection}});var Z=__webpack_require__(1375);Object.defineProperty(t,"ProjectionConstants",{enumerable:!0,get:function(){return Z.ProjectionConstants}});var Q=__webpack_require__(1832);Object.defineProperty(t,"RelatedTablesExtension",{enumerable:!0,get:function(){return Q.RelatedTablesExtension}});var K=__webpack_require__(5859);Object.defineProperty(t,"RTreeIndex",{enumerable:!0,get:function(){return K.RTreeIndex}});var J=__webpack_require__(735);Object.defineProperty(t,"RTreeIndexDao",{enumerable:!0,get:function(){return J.RTreeIndexDao}});var $=__webpack_require__(8116);Object.defineProperty(t,"SchemaExtension",{enumerable:!0,get:function(){return $.SchemaExtension}});var tt=__webpack_require__(6667);Object.defineProperty(t,"ShadedFeaturesTile",{enumerable:!0,get:function(){return tt.ShadedFeaturesTile}});var et=__webpack_require__(4599);Object.defineProperty(t,"SimpleAttributesTable",{enumerable:!0,get:function(){return et.SimpleAttributesTable}});var nt=__webpack_require__(341);Object.defineProperty(t,"SpatialReferenceSystem",{enumerable:!0,get:function(){return nt.SpatialReferenceSystem}});var rt=__webpack_require__(8877);Object.defineProperty(t,"SqliteQueryBuilder",{enumerable:!0,get:function(){return rt.SqliteQueryBuilder}});var it=__webpack_require__(8138);Object.defineProperty(t,"StyleMappingTable",{enumerable:!0,get:function(){return it.StyleMappingTable}});var ot=__webpack_require__(7924);Object.defineProperty(t,"Styles",{enumerable:!0,get:function(){return ot.Styles}});var at=__webpack_require__(3934);Object.defineProperty(t,"StyleTable",{enumerable:!0,get:function(){return at.StyleTable}});var st=__webpack_require__(1459);Object.defineProperty(t,"TableCreator",{enumerable:!0,get:function(){return st.TableCreator}});var ut=__webpack_require__(3684);Object.defineProperty(t,"TileBoundingBoxUtils",{enumerable:!0,get:function(){return ut.TileBoundingBoxUtils}});var lt=__webpack_require__(8334);Object.defineProperty(t,"TileColumn",{enumerable:!0,get:function(){return lt.TileColumn}});var ct=__webpack_require__(1938);Object.defineProperty(t,"TileMatrix",{enumerable:!0,get:function(){return ct.TileMatrix}});var ht=__webpack_require__(5899);Object.defineProperty(t,"TileMatrixSet",{enumerable:!0,get:function(){return ht.TileMatrixSet}});var ft=__webpack_require__(4301);Object.defineProperty(t,"TileScaling",{enumerable:!0,get:function(){return ft.TileScaling}});var pt=__webpack_require__(2777);Object.defineProperty(t,"TileScalingType",{enumerable:!0,get:function(){return pt.TileScalingType}});var dt=__webpack_require__(8704);Object.defineProperty(t,"TileTable",{enumerable:!0,get:function(){return dt.TileTable}});var yt=__webpack_require__(824);Object.defineProperty(t,"TileUtilities",{enumerable:!0,get:function(){return yt.TileUtilities}});var mt=__webpack_require__(5865);Object.defineProperty(t,"UserColumn",{enumerable:!0,get:function(){return mt.UserColumn}});var gt=__webpack_require__(4668);Object.defineProperty(t,"UserDao",{enumerable:!0,get:function(){return gt.UserDao}});var _t=__webpack_require__(233);Object.defineProperty(t,"UserMappingTable",{enumerable:!0,get:function(){return _t.UserMappingTable}});var bt=__webpack_require__(2224);Object.defineProperty(t,"UserRow",{enumerable:!0,get:function(){return bt.UserRow}});var vt=__webpack_require__(8018);Object.defineProperty(t,"UserTable",{enumerable:!0,get:function(){return vt.UserTable}});var Tt=__webpack_require__(4880);Object.defineProperty(t,"UserTableReader",{enumerable:!0,get:function(){return Tt.UserTableReader}});var Et=__webpack_require__(7719);Object.defineProperty(t,"WebPExtension",{enumerable:!0,get:function(){return Et.WebPExtension}});var wt=__webpack_require__(2038);Object.defineProperty(t,"WKB",{enumerable:!0,get:function(){return wt.WKB}});var xt=__webpack_require__(922);Object.defineProperty(t,"SqliteAdapter",{enumerable:!0,get:function(){return xt.SqliteAdapter}});var Ct=__webpack_require__(6328);Object.defineProperty(t,"SqljsAdapter",{enumerable:!0,get:function(){return Ct.SqljsAdapter}});var Mt=__webpack_require__(7977);Object.defineProperty(t,"TileCreator",{enumerable:!0,get:function(){return Mt.TileCreator}});var St=__webpack_require__(3437);Object.defineProperty(t,"Canvas",{enumerable:!0,get:function(){return St.Canvas}});var Nt=__webpack_require__(8038);Object.defineProperty(t,"CanvasKitCanvasAdapter",{enumerable:!0,get:function(){return Nt.CanvasKitCanvasAdapter}});var Ot=__webpack_require__(342);Object.defineProperty(t,"OffscreenCanvasAdapter",{enumerable:!0,get:function(){return Ot.OffscreenCanvasAdapter}});var At=__webpack_require__(2807);Object.defineProperty(t,"HtmlCanvasAdapter",{enumerable:!0,get:function(){return At.HtmlCanvasAdapter}});var It=__webpack_require__(1150);Object.defineProperty(t,"Context",{enumerable:!0,get:function(){return It.Context}}),It.Context.setupDefaultContext();var Pt=Ct.SqljsAdapter.setSqljsWasmLocateFile;t.setSqljsWasmLocateFile=Pt;var Rt=Nt.CanvasKitCanvasAdapter.setCanvasKitWasmLocateFile;t.setCanvasKitWasmLocateFile=Rt;})(),__webpack_exports__})())); + !function(t,e){"object"=='object'&&"object"=='object'?module.exports=e(function(){try{return require("better-sqlite3")}catch(t){}}()):"function"==typeof undefined&&undefined.amd?undefined(["better-sqlite3"],e):"object"=='object'?exports$1.GeoPackage=e(function(){try{return require("better-sqlite3")}catch(t){}}()):t.GeoPackage=e(t["better-sqlite3"]);}(self,(__WEBPACK_EXTERNAL_MODULE__1498__=>(()=>{var __webpack_modules__={8927:(t,e,n)=>{var r,i=n(3085).lW,o=n(4155),a=n(5108),s=(r=(r="undefined"!=typeof document&&document.currentScript?document.currentScript.src:void 0)||"/index.js",function(t={}){var e,s,u,l;e||(e=void 0!==t?t:{}),e.ready=new Promise((function(t,e){s=t,u=e;})),(l=e).Qd=l.Qd||[],l.Qd.push((function(){l.MakeSWCanvasSurface=function(t){var e=t;if("CANVAS"!==e.tagName&&!(e=document.getElementById(t)))throw "Canvas with id "+t+" was not found";return (t=l.MakeSurface(e.width,e.height))&&(t.Dd=e),t},l.MakeCanvasSurface||(l.MakeCanvasSurface=l.MakeSWCanvasSurface),l.MakeSurface=function(t,e){var n={width:t,height:e,colorType:l.ColorType.RGBA_8888,alphaType:l.AlphaType.Unpremul,colorSpace:l.ColorSpace.SRGB},r=t*e*4,i=l._malloc(r);return (n=l.Surface._makeRasterDirect(n,i,4*t))&&(n.Dd=null,n.uf=t,n.rf=e,n.tf=r,n.Ue=i,n.getCanvas().clear(l.TRANSPARENT)),n},l.MakeRasterDirectSurface=function(t,e,n){return l.Surface._makeRasterDirect(t,e.byteOffset,n)},l.Surface.prototype.flush=function(t){if(this._flush(),this.Dd){var e=new Uint8ClampedArray(l.HEAPU8.buffer,this.Ue,this.tf);e=new ImageData(e,this.uf,this.rf),t?this.Dd.getContext("2d").putImageData(e,0,0,t[0],t[1],t[2]-t[0],t[3]-t[1]):this.Dd.getContext("2d").putImageData(e,0,0);}},l.Surface.prototype.dispose=function(){this.Ue&&l._free(this.Ue),this.delete();},l.currentContext=l.currentContext||function(){},l.setCurrentContext=l.setCurrentContext||function(){};})),function(t){t.Qd=t.Qd||[],t.Qd.push((function(){function e(t,e,n){return t&&t.hasOwnProperty(e)?t[e]:n}t.GetWebGLContext=function(t,n){if(!t)throw "null canvas passed into makeWebGLContext";var r={alpha:e(n,"alpha",1),depth:e(n,"depth",1),stencil:e(n,"stencil",8),antialias:e(n,"antialias",0),premultipliedAlpha:e(n,"premultipliedAlpha",1),preserveDrawingBuffer:e(n,"preserveDrawingBuffer",0),preferLowPowerToHighPerformance:e(n,"preferLowPowerToHighPerformance",0),failIfMajorPerformanceCaveat:e(n,"failIfMajorPerformanceCaveat",0),enableExtensionsByDefault:e(n,"enableExtensionsByDefault",1),explicitSwapControl:e(n,"explicitSwapControl",0),renderViaOffscreenBackBuffer:e(n,"renderViaOffscreenBackBuffer",0)};if(r.majorVersion=n&&n.majorVersion?n.majorVersion:"undefined"!=typeof WebGL2RenderingContext?2:1,r.explicitSwapControl)throw "explicitSwapControl is not supported";return t=function(t,e){t.cf||(t.cf=t.getContext,t.getContext=function(e,n){return "webgl"==e==(n=t.cf(e,n))instanceof WebGLRenderingContext?n:null});var n=1t.version||!e.jf)&&(e.jf=e.getExtension("EXT_disjoint_timer_query")),e.hg=e.getExtension("WEBGL_multi_draw"),(e.getSupportedExtensions()||[]).forEach((function(t){t.includes("lose_context")||t.includes("debug")||e.getExtension(t);}));}}(r),n}(n,e):0}(t,r),t?(De(t),t):0},t.deleteContext=function(t){Fe===Se[t]&&(Fe=null),"object"==typeof JSEvents&&JSEvents.jg(Se[t].ze.canvas),Se[t]&&Se[t].ze.canvas&&(Se[t].ze.canvas.df=void 0),Se[t]=null;},t.MakeWebGLCanvasSurface=function(e,n,r){n=n||null;var i=e,o="undefined"!=typeof OffscreenCanvas&&i instanceof OffscreenCanvas;if(!("undefined"!=typeof HTMLCanvasElement&&i instanceof HTMLCanvasElement||o||(i=document.getElementById(e),i)))throw "Canvas with id "+e+" was not found";if(!(e=this.GetWebGLContext(i,r))||0>e)throw "failed to create webgl context: err "+e;return r=this.MakeGrContext(e),(n=this.MakeOnScreenGLSurface(r,i.width,i.height,n))?(n.de=e,n.grContext=r,n.openGLversion=i.df.version,n):(n=i.cloneNode(!0),i.parentNode.replaceChild(n,i),n.classList.add("ck-replaced"),t.MakeSWCanvasSurface(n))},t.MakeCanvasSurface=t.MakeWebGLCanvasSurface;}));}(e),function(t){function e(t,e,n,r,i){for(var o=0;o>>0}function a(t){if(t instanceof Float32Array){for(var e=Math.floor(t.length/4),n=new Uint32Array(e),r=0;rs;s++)t.HEAPF32[o+i]=e[a][s],i++;e=r;}else e=X;n.Ud=e;}return n}function f(e){if(!e)return X;if(e.length){if(6===e.length||9===e.length)return c(e,"HEAPF32",R),6===e.length&&t.HEAPF32.set(z,6+R/4),R;if(16===e.length){var n=E.toTypedArray();return n[0]=e[0],n[1]=e[1],n[2]=e[3],n[3]=e[4],n[4]=e[5],n[5]=e[7],n[6]=e[12],n[7]=e[13],n[8]=e[15],R}throw "invalid matrix size"}return (n=E.toTypedArray())[0]=e.m11,n[1]=e.m21,n[2]=e.m41,n[3]=e.m12,n[4]=e.m22,n[5]=e.m42,n[6]=e.m14,n[7]=e.m24,n[8]=e.m44,R}function p(e){for(var n=Array(16),r=0;16>r;r++)n[r]=t.HEAPF32[e/4+r];return n}function d(t,e){return c(t,"HEAPF32",e||D)}function y(t,e,n,r){var i=x.toTypedArray();return i[0]=t,i[1]=e,i[2]=n,i[3]=r,D}function m(e){for(var n=new Float32Array(4),r=0;4>r;r++)n[r]=t.HEAPF32[e/4+r];return n}function g(t,e){return c(t,"HEAPF32",e||k)}function _(t,e){return c(t,"HEAPF32",e||q)}function b(){for(var t=0,e=0;e>>0},t.Color4f=function(t,e,n,r){return void 0===r&&(r=1),Float32Array.of(t,e,n,r)},Object.defineProperty(t,"TRANSPARENT",{get:function(){return t.Color4f(0,0,0,0)}}),Object.defineProperty(t,"BLACK",{get:function(){return t.Color4f(0,0,0,1)}}),Object.defineProperty(t,"WHITE",{get:function(){return t.Color4f(1,1,1,1)}}),Object.defineProperty(t,"RED",{get:function(){return t.Color4f(1,0,0,1)}}),Object.defineProperty(t,"GREEN",{get:function(){return t.Color4f(0,1,0,1)}}),Object.defineProperty(t,"BLUE",{get:function(){return t.Color4f(0,0,1,1)}}),Object.defineProperty(t,"YELLOW",{get:function(){return t.Color4f(1,1,0,1)}}),Object.defineProperty(t,"CYAN",{get:function(){return t.Color4f(0,1,1,1)}}),Object.defineProperty(t,"MAGENTA",{get:function(){return t.Color4f(1,0,1,1)}}),t.getColorComponents=function(t){return [Math.floor(255*t[0]),Math.floor(255*t[1]),Math.floor(255*t[2]),t[3]]},t.parseColorString=function(e,n){if((e=e.toLowerCase()).startsWith("#")){switch(n=255,e.length){case 9:n=parseInt(e.slice(7,9),16);case 7:var r=parseInt(e.slice(1,3),16),i=parseInt(e.slice(3,5),16),o=parseInt(e.slice(5,7),16);break;case 5:n=17*parseInt(e.slice(4,5),16);case 4:r=17*parseInt(e.slice(1,2),16),i=17*parseInt(e.slice(2,3),16),o=17*parseInt(e.slice(3,4),16);}return t.Color(r,i,o,n/255)}return e.startsWith("rgba")?(e=(e=e.slice(5,-1)).split(","),t.Color(+e[0],+e[1],+e[2],s(e[3]))):e.startsWith("rgb")?(e=(e=e.slice(4,-1)).split(","),t.Color(+e[0],+e[1],+e[2],s(e[3]))):e.startsWith("gray(")||e.startsWith("hsl")||!n||void 0===(e=n[e])?t.BLACK:e},t.multiplyByAlpha=function(t,e){return (t=t.slice())[3]=Math.max(0,Math.min(t[3]*e,1)),t},t.Malloc=function(e,n){var r=t._malloc(n*e.BYTES_PER_ELEMENT);return {_ck:!0,length:n,byteOffset:r,he:null,subarray:function(t,e){return (t=this.toTypedArray().subarray(t,e))._ck=!0,t},toTypedArray:function(){return this.he&&this.he.length||(this.he=new e(t.HEAPU8.buffer,r,n),this.he._ck=!0),this.he}}},t.Free=function(e){t._free(e.byteOffset),e.byteOffset=X,e.toTypedArray=null,e.he=null;};var E,w,x,C,M,S,O,A,I,P,R=X,L=X,D=X,k=X,F=X,U=X,G=X,W=X,q=X,H=X,z=Float32Array.of(0,0,1),V={};t.ie=function(){this.ce=[],this.Jd=null,Object.defineProperty(this,"length",{enumerable:!0,get:function(){return this.ce.length/4}});},t.ie.prototype.push=function(t,e,n,r){this.Jd||this.ce.push(t,e,n,r);},t.ie.prototype.set=function(e,n,r,i,o){0>e||e>=this.ce.length/4||(e*=4,this.Jd?(e=this.Jd/4+e,t.HEAPF32[e]=n,t.HEAPF32[e+1]=r,t.HEAPF32[e+2]=i,t.HEAPF32[e+3]=o):(this.ce[e]=n,this.ce[e+1]=r,this.ce[e+2]=i,this.ce[e+3]=o));},t.ie.prototype.build=function(){return this.Jd?this.Jd:this.Jd=c(this.ce,"HEAPF32")},t.ie.prototype.delete=function(){this.Jd&&(t._free(this.Jd),this.Jd=null);},t.Ae=function(){this.Fe=[],this.Jd=null,Object.defineProperty(this,"length",{enumerable:!0,get:function(){return this.Fe.length}});},t.Ae.prototype.push=function(t){this.Jd||this.Fe.push(t);},t.Ae.prototype.set=function(e,n){0>e||e>=this.Fe.length||(e*=4,this.Jd?t.HEAPU32[this.Jd/4+e]=n:this.Fe[e]=n);},t.Ae.prototype.build=function(){return this.Jd?this.Jd:this.Jd=c(this.Fe,"HEAPU32")},t.Ae.prototype.delete=function(){this.Jd&&(t._free(this.Jd),this.Jd=null);},t.RectBuilder=t.ie,t.RSXFormBuilder=t.ie,t.ColorBuilder=t.Ae;var X=0,Y=!new Function("try {return this===window;}catch(e){ return false;}")();t.onRuntimeInitialized=function(){function e(e,n,r,i,o,a){a||(a=4*i.width,i.colorType===t.ColorType.RGBA_F16?a*=2:i.colorType===t.ColorType.RGBA_F32&&(a*=4));var s=a*i.height,u=o?o.byteOffset:t._malloc(s);if(!e._readPixels(i,u,a,n,r))return o||t._free(u),null;if(o)return o.toTypedArray();switch(i.colorType){case t.ColorType.RGBA_8888:case t.ColorType.RGBA_F16:e=new Uint8Array(t.HEAPU8.buffer,u,s).slice();break;case t.ColorType.RGBA_F32:e=new Float32Array(t.HEAPU8.buffer,u,s).slice();break;default:return null}return t._free(u),e}x=t.Malloc(Float32Array,4),D=x.byteOffset,w=t.Malloc(Float32Array,16),L=w.byteOffset,E=t.Malloc(Float32Array,9),R=E.byteOffset,I=t.Malloc(Float32Array,12),q=I.byteOffset,P=t.Malloc(Float32Array,12),H=P.byteOffset,C=t.Malloc(Float32Array,4),k=C.byteOffset,M=t.Malloc(Float32Array,4),F=M.byteOffset,S=t.Malloc(Float32Array,3),U=S.byteOffset,O=t.Malloc(Float32Array,3),G=O.byteOffset,A=t.Malloc(Int32Array,4),W=A.byteOffset,t.ColorSpace.SRGB=t.ColorSpace._MakeSRGB(),t.ColorSpace.DISPLAY_P3=t.ColorSpace._MakeDisplayP3(),t.ColorSpace.ADOBE_RGB=t.ColorSpace._MakeAdobeRGB(),t.Path.MakeFromCmds=function(e){for(var n=0,r=0;rn;n++)e[n]=t.HEAPF32[R/4+n];return e},t.Canvas.prototype.readPixels=function(t,n,r,i,o){return e(this,t,n,r,i,o)},t.Canvas.prototype.saveLayer=function(t,e,n,r){return e=g(e),this._saveLayer(t||null,e,n||null,r||0)},t.Canvas.prototype.writePixels=function(e,n,r,i,o,a,s,u){if(e.byteLength%(n*r))throw "pixels length must be a multiple of the srcWidth * srcHeight";var h=e.byteLength/(n*r);a=a||t.AlphaType.Unpremul,s=s||t.ColorType.RGBA_8888,u=u||t.ColorSpace.SRGB;var f=h*n;return h=c(e,"HEAPU8"),n=this._writePixels({width:n,height:r,colorType:s,alphaType:a,colorSpace:u},h,f,i,o),l(h,e),n},t.ColorFilter.MakeBlend=function(e,n){return e=d(e),t.ColorFilter._MakeBlend(e,n)},t.ColorFilter.MakeMatrix=function(e){if(!e||20!==e.length)throw "invalid color matrix";var n=c(e,"HEAPF32"),r=t.ColorFilter._makeMatrix(n);return l(n,e),r},t.ContourMeasure.prototype.getPosTan=function(t,e){return this._getPosTan(t,k),t=C.toTypedArray(),e?(e.set(t),e):t.slice()},t.ImageFilter.MakeMatrixTransform=function(e,n,r){return e=f(e),t.ImageFilter._MakeMatrixTransform(e,n,r)},t.Paint.prototype.getColor=function(){return this._getColor(D),m(D)},t.Paint.prototype.setColor=function(t,e){e=e||null,t=d(t),this._setColor(t,e);},t.Paint.prototype.setColorComponents=function(t,e,n,r,i){i=i||null,t=y(t,e,n,r),this._setColor(t,i);},t.Path.prototype.getPoint=function(t,e){return this._getPoint(t,k),t=C.toTypedArray(),e?(e[0]=t[0],e[1]=t[1],e):t.slice(0,2)},t.PictureRecorder.prototype.beginRecording=function(t){return t=g(t),this._beginRecording(t)},t.Surface.prototype.makeImageSnapshot=function(t){return t=c(t,"HEAP32",W),this._makeImageSnapshot(t)},t.Surface.prototype.requestAnimationFrame=function(e,n){this.Be||(this.Be=this.getCanvas()),requestAnimationFrame(function(){void 0!==this.de&&t.setCurrentContext(this.de),e(this.Be),this.flush(n);}.bind(this));},t.Surface.prototype.drawOnce=function(e,n){this.Be||(this.Be=this.getCanvas()),requestAnimationFrame(function(){void 0!==this.de&&t.setCurrentContext(this.de),e(this.Be),this.flush(n),this.dispose();}.bind(this));},t.PathEffect.MakeDash=function(e,n){if(n||(n=0),!e.length||1==e.length%2)throw "Intervals array must have even length";var r=c(e,"HEAPF32");return n=t.PathEffect._MakeDash(r,e.length,n),l(r,e),n},t.Shader.MakeColor=function(e,n){return n=n||null,e=d(e),t.Shader._MakeColor(e,n)},t.Shader.Blend=t.Shader.MakeBlend,t.Shader.Color=t.Shader.MakeColor,t.Shader.Lerp=t.Shader.MakeLerp,t.Shader.MakeLinearGradient=function(e,n,r,i,o,a,s,u){u=u||null;var p=h(r),d=c(i,"HEAPF32");s=s||0,a=f(a);var y=C.toTypedArray();return y.set(e),y.set(n,2),e=t.Shader._MakeLinearGradient(k,p.Ud,p.colorType,d,p.count,o,s,a,u),l(p.Ud,r),i&&l(d,i),e},t.Shader.MakeRadialGradient=function(e,n,r,i,o,a,s,u){u=u||null;var p=h(r),d=c(i,"HEAPF32");return s=s||0,a=f(a),e=t.Shader._MakeRadialGradient(e[0],e[1],n,p.Ud,p.colorType,d,p.count,o,s,a,u),l(p.Ud,r),i&&l(d,i),e},t.Shader.MakeSweepGradient=function(e,n,r,i,o,a,s,u,p,d){d=d||null;var y=h(r),m=c(i,"HEAPF32");return s=s||0,u=u||0,p=p||360,a=f(a),e=t.Shader._MakeSweepGradient(e,n,y.Ud,y.colorType,m,y.count,o,u,p,s,a,d),l(y.Ud,r),i&&l(m,i),e},t.Shader.MakeTwoPointConicalGradient=function(e,n,r,i,o,a,s,u,p,d){d=d||null;var y=h(o),m=c(a,"HEAPF32");p=p||0,u=f(u);var g=C.toTypedArray();return g.set(e),g.set(r,2),e=t.Shader._MakeTwoPointConicalGradient(k,n,i,y.Ud,y.colorType,m,y.count,s,p,u,d),l(y.Ud,o),a&&l(m,a),e},t.Vertices.prototype.bounds=function(t){this._bounds(k);var e=C.toTypedArray();return t?(t.set(e),t):e.slice()},t.Qd&&t.Qd.forEach((function(t){t();}));},t.computeTonalColors=function(t){var e=c(t.ambient,"HEAPF32"),n=c(t.spot,"HEAPF32");this._computeTonalColors(e,n);var r={ambient:m(e),spot:m(n)};return l(e,t.ambient),l(n,t.spot),r},t.LTRBRect=function(t,e,n,r){return Float32Array.of(t,e,n,r)},t.XYWHRect=function(t,e,n,r){return Float32Array.of(t,e,t+n,e+r)},t.LTRBiRect=function(t,e,n,r){return Int32Array.of(t,e,n,r)},t.XYWHiRect=function(t,e,n,r){return Int32Array.of(t,e,t+n,e+r)},t.RRectXY=function(t,e,n){return Float32Array.of(t[0],t[1],t[2],t[3],e,n,e,n,e,n,e,n)},t.MakeAnimatedImageFromEncoded=function(e){e=new Uint8Array(e);var n=t._malloc(e.byteLength);return t.HEAPU8.set(e,n),(e=t._decodeAnimatedImage(n,e.byteLength))?e:null},t.MakeImageFromEncoded=function(e){e=new Uint8Array(e);var n=t._malloc(e.byteLength);return t.HEAPU8.set(e,n),(e=t._decodeImage(n,e.byteLength))?e:null};var Z=null;t.MakeImageFromCanvasImageSource=function(e){var n=e.width,r=e.height;Z||(Z=document.createElement("canvas")),Z.width=n,Z.height=r;var i=Z.getContext("2d");return i.drawImage(e,0,0),e=i.getImageData(0,0,n,r),t.MakeImage({width:n,height:r,alphaType:t.AlphaType.Unpremul,colorType:t.ColorType.RGBA_8888,colorSpace:t.ColorSpace.SRGB},e.data,4*n)},t.MakeImage=function(e,n,r){var i=t._malloc(n.length);return t.HEAPU8.set(n,i),t._MakeImage(e,i,n.length,r)},t.MakeVertices=function(e,n,r,i,o,s){var u=o&&o.length||0,l=0;if(r&&r.length&&(l|=1),i&&i.length&&(l|=2),void 0===s||s||(l|=4),c(n,"HEAPF32",(e=new t._VerticesBuilder(e,n.length/2,u,l)).positions()),e.texCoords()&&c(r,"HEAPF32",e.texCoords()),e.colors()){if(i.build)throw "Color builder not accepted by MakeVertices, use array of ints";c(a(i),"HEAPU32",e.colors());}return e.indices()&&c(o,"HEAPU16",e.indices()),e.detach()},t.Matrix={},t.Matrix.identity=function(){return n(3)},t.Matrix.invert=function(t){var e=t[0]*t[4]*t[8]+t[1]*t[5]*t[6]+t[2]*t[3]*t[7]-t[2]*t[4]*t[6]-t[1]*t[3]*t[8]-t[0]*t[5]*t[7];return e?[(t[4]*t[8]-t[5]*t[7])/e,(t[2]*t[7]-t[1]*t[8])/e,(t[1]*t[5]-t[2]*t[4])/e,(t[5]*t[6]-t[3]*t[8])/e,(t[0]*t[8]-t[2]*t[6])/e,(t[2]*t[3]-t[0]*t[5])/e,(t[3]*t[7]-t[4]*t[6])/e,(t[1]*t[6]-t[0]*t[7])/e,(t[0]*t[4]-t[1]*t[3])/e]:null},t.Matrix.mapPoints=function(t,e){for(var n=0;ni;i+=5){for(var o=0;4>o;o++)n[r++]=t[i]*e[o]+t[i+1]*e[o+5]+t[i+2]*e[o+10]+t[i+3]*e[o+15];n[r++]=t[i]*e[4]+t[i+1]*e[9]+t[i+2]*e[14]+t[i+3]*e[19]+t[i+4];}return n},t.Qd=t.Qd||[],t.Qd.push((function(){t.Path.prototype.op=function(t,e){return this._op(t,e)?this:null},t.Path.prototype.simplify=function(){return this._simplify()?this:null};})),t.Qd=t.Qd||[],t.Qd.push((function(){t.Canvas.prototype.drawText=function(e,n,r,i,o){var a=j(e),s=t._malloc(a+1);B(e,N,s,a+1),this._drawSimpleText(s,a,n,r,o,i),t._free(s);},t.Font.prototype.getGlyphBounds=function(e,n,r){var i=c(e,"HEAPU16"),o=t._malloc(16*e.length);return this._getGlyphWidthBounds(i,e.length,X,o,n||null),n=new Float32Array(t.HEAPU8.buffer,o,4*e.length),l(i,e),r?(r.set(n),t._free(o),r):(e=Float32Array.from(n),t._free(o),e)},t.Font.prototype.getGlyphIDs=function(e,n,r){n||(n=e.length);var i=j(e)+1,o=t._malloc(i);return B(e,N,o,i),e=t._malloc(2*n),n=this._getGlyphIDs(o,i-1,n,e),t._free(o),0>n?(t._free(e),null):(o=new Uint16Array(t.HEAPU8.buffer,e,n),r?(r.set(o),t._free(e),r):(r=Uint32Array.from(o),t._free(e),r))},t.Font.prototype.getGlyphWidths=function(e,n,r){var i=c(e,"HEAPU16"),o=t._malloc(4*e.length);return this._getGlyphWidthBounds(i,e.length,o,X,n||null),n=new Float32Array(t.HEAPU8.buffer,o,e.length),l(i,e),r?(r.set(n),t._free(o),r):(e=Float32Array.from(n),t._free(o),e)},t.FontMgr.FromData=function(){if(!arguments.length)return null;var e=arguments;if(1===e.length&&Array.isArray(e[0])&&(e=arguments[0]),!e.length)return null;for(var n=[],r=[],i=0;is.length()){if(s.delete(),!(s=n.next())){e=e.substring(0,l);break}i=c/2;}s.getPosTan(i,u);var h=u[2],f=u[3];o.push(h,f,u[0]-c/2*h,u[1]-c/2*f),i+=c/2;}return e=this.MakeFromRSXform(e,o,r),o.delete(),s&&s.delete(),n.delete(),e}},t.TextBlob.MakeFromRSXform=function(e,n,r){var i=j(e)+1,o=t._malloc(i);return B(e,N,o,i),e=n.build?n.build():c(n,"HEAPF32"),r=t.TextBlob._MakeFromRSXform(o,i-1,e,r),t._free(o),r||null},t.TextBlob.MakeFromRSXformGlyphs=function(e,n,r){var i=c(e,"HEAPU16");return n=n.build?n.build():c(n,"HEAPF32"),r=t.TextBlob._MakeFromRSXformGlyphs(i,2*e.length,n,r),l(i,e),r||null},t.TextBlob.MakeFromGlyphs=function(e,n){var r=c(e,"HEAPU16");return n=t.TextBlob._MakeFromGlyphs(r,2*e.length,n),l(r,e),n||null},t.TextBlob.MakeFromText=function(e,n){var r=j(e)+1,i=t._malloc(r);return B(e,N,i,r),e=t.TextBlob._MakeFromText(i,r-1,n),t._free(i),e||null},t.MallocGlyphIDs=function(e){return t.Malloc(Uint16Array,e)};})),function(){function e(t){for(var e=0;et||1=t||!t||(this.Ee=t,this.Fd.setStrokeWidth(t));}}),Object.defineProperty(this,"miterLimit",{enumerable:!0,get:function(){return this.Fd.getStrokeMiter()},set:function(t){0>=t||!t||this.Fd.setStrokeMiter(t);}}),Object.defineProperty(this,"shadowBlur",{enumerable:!0,get:function(){return this.oe},set:function(t){0>t||!isFinite(t)||(this.oe=t);}}),Object.defineProperty(this,"shadowColor",{enumerable:!0,get:function(){return n(this.De)},set:function(t){this.De=o(t);}}),Object.defineProperty(this,"shadowOffsetX",{enumerable:!0,get:function(){return this.pe},set:function(t){isFinite(t)&&(this.pe=t);}}),Object.defineProperty(this,"shadowOffsetY",{enumerable:!0,get:function(){return this.qe},set:function(t){isFinite(t)&&(this.qe=t);}}),Object.defineProperty(this,"strokeStyle",{enumerable:!0,get:function(){return n(this.Xd)},set:function(t){"string"==typeof t?this.Xd=o(t):t.me&&(this.Xd=t);}}),this.arc=function(t,e,n,r,i,o){d(this.Hd,t,e,n,n,0,r,i,o);},this.arcTo=function(t,e,n,r,i){h(this.Hd,t,e,n,r,i);},this.beginPath=function(){this.Hd.delete(),this.Hd=new t.Path;},this.bezierCurveTo=function(t,n,r,i,o,a){var s=this.Hd;e([t,n,r,i,o,a])&&(s.isEmpty()&&s.moveTo(t,n),s.cubicTo(t,n,r,i,o,a));},this.clearRect=function(e,n,r,i){this.Fd.setStyle(t.PaintStyle.Fill),this.Fd.setBlendMode(t.BlendMode.Clear),this.Dd.drawRect(t.XYWHRect(e,n,r,i),this.Fd),this.Fd.setBlendMode(this.Ed);},this.clip=function(e,n){"string"==typeof e?(n=e,e=this.Hd):e&&e.Te&&(e=e.Ld),e||(e=this.Hd),e=e.copy(),n&&"evenodd"===n.toLowerCase()?e.setFillType(t.FillType.EvenOdd):e.setFillType(t.FillType.Winding),this.Dd.clipPath(e,t.ClipOp.Intersect,!0),e.delete();},this.closePath=function(){f(this.Hd);},this.createImageData=function(){if(1===arguments.length){var t=arguments[0];return new l(new Uint8ClampedArray(4*t.width*t.height),t.width,t.height)}if(2===arguments.length){t=arguments[0];var e=arguments[1];return new l(new Uint8ClampedArray(4*t*e),t,e)}throw "createImageData expects 1 or 2 arguments, got "+arguments.length},this.createLinearGradient=function(t,n,r,i){if(e(arguments)){var o=new c(t,n,r,i);return this.ue.push(o),o}},this.createPattern=function(t,e){return t=new g(t,e),this.ue.push(t),t},this.createRadialGradient=function(t,n,r,i,o,a){if(e(arguments)){var s=new _(t,n,r,i,o,a);return this.ue.push(s),s}},this.drawImage=function(e){var n=this.Je();if(3===arguments.length||5===arguments.length)var r=t.XYWHRect(arguments[1],arguments[2],arguments[3]||e.width(),arguments[4]||e.height()),i=t.XYWHRect(0,0,e.width(),e.height());else {if(9!==arguments.length)throw "invalid number of args for drawImage, need 3, 5, or 9; got "+arguments.length;r=t.XYWHRect(arguments[5],arguments[6],arguments[7],arguments[8]),i=t.XYWHRect(arguments[1],arguments[2],arguments[3],arguments[4]);}this.Dd.drawImageRect(e,i,r,n,!1),n.dispose();},this.ellipse=function(t,e,n,r,i,o,a,s){d(this.Hd,t,e,n,r,i,o,a,s);},this.Je=function(){var e=this.Fd.copy();if(e.setStyle(t.PaintStyle.Fill),r(this.Sd)){var n=t.multiplyByAlpha(this.Sd,this.$d);e.setColor(n);}else n=this.Sd.me(this.Id),e.setColor(t.Color(0,0,0,this.$d)),e.setShader(n);return e.dispose=function(){this.delete();},e},this.fill=function(e,n){if("string"==typeof e?(n=e,e=this.Hd):e&&e.Te&&(e=e.Ld),"evenodd"===n)this.Hd.setFillType(t.FillType.EvenOdd);else {if("nonzero"!==n&&n)throw "invalid fill rule";this.Hd.setFillType(t.FillType.Winding);}e||(e=this.Hd),n=this.Je();var r=this.re(n);r&&(this.Dd.save(),this.je(),this.Dd.drawPath(e,r),this.Dd.restore(),r.dispose()),this.Dd.drawPath(e,n),n.dispose();},this.fillRect=function(e,n,r,i){var o=this.Je(),a=this.re(o);a&&(this.Dd.save(),this.je(),this.Dd.drawRect(t.XYWHRect(e,n,r,i),a),this.Dd.restore(),a.dispose()),this.Dd.drawRect(t.XYWHRect(e,n,r,i),o),o.dispose();},this.fillText=function(e,n,r){var i=this.Je();e=t.TextBlob.MakeFromText(e,this.le);var o=this.re(i);o&&(this.Dd.save(),this.je(),this.Dd.drawTextBlob(e,n,r,o),this.Dd.restore(),o.dispose()),this.Dd.drawTextBlob(e,n,r,i),e.delete(),i.dispose();},this.getImageData=function(e,n,r,i){return (e=this.Dd.readPixels(e,n,{width:r,height:i,colorType:t.ColorType.RGBA_8888,alphaType:t.AlphaType.Unpremul,colorSpace:t.ColorSpace.SRGB}))?new l(new Uint8ClampedArray(e.buffer),r,i):null},this.getLineDash=function(){return this.ne.slice()},this.ff=function(e){var n=t.Matrix.invert(this.Id);return t.Matrix.mapPoints(n,e),e},this.isPointInPath=function(e,n,r){var i=arguments;if(3===i.length)var o=this.Hd;else {if(4!==i.length)throw "invalid arg count, need 3 or 4, got "+i.length;o=i[0],e=i[1],n=i[2],r=i[3];}return !(!isFinite(e)||!isFinite(n))&&("nonzero"===(r=r||"nonzero")||"evenodd"===r)&&(e=(i=this.ff([e,n]))[0],n=i[1],o.setFillType("nonzero"===r?t.FillType.Winding:t.FillType.EvenOdd),o.contains(e,n))},this.isPointInStroke=function(e,n){var r=arguments;if(2===r.length)var i=this.Hd;else {if(3!==r.length)throw "invalid arg count, need 2 or 3, got "+r.length;i=r[0],e=r[1],n=r[2];}return !(!isFinite(e)||!isFinite(n))&&(e=(r=this.ff([e,n]))[0],n=r[1],(i=i.copy()).setFillType(t.FillType.Winding),i.stroke({width:this.lineWidth,miter_limit:this.miterLimit,cap:this.Fd.getStrokeCap(),join:this.Fd.getStrokeJoin(),precision:.3}),r=i.contains(e,n),i.delete(),r)},this.lineTo=function(t,e){y(this.Hd,t,e);},this.measureText=function(){throw Error("Clients wishing to properly measure text should use the Paragraph API")},this.moveTo=function(t,n){var r=this.Hd;e([t,n])&&r.moveTo(t,n);},this.putImageData=function(n,r,i,o,a,s,u){if(e([r,i,o,a,s,u]))if(void 0===o)this.Dd.writePixels(n.data,n.width,n.height,r,i);else if(o=o||0,a=a||0,s=s||n.width,u=u||n.height,0>s&&(o+=s,s=Math.abs(s)),0>u&&(a+=u,u=Math.abs(u)),0>o&&(s+=o,o=0),0>a&&(u+=a,a=0),!(0>=s||0>=u)){n=t.MakeImage({width:n.width,height:n.height,alphaType:t.AlphaType.Unpremul,colorType:t.ColorType.RGBA_8888,colorSpace:t.ColorSpace.SRGB},n.data,4*n.width);var l=t.XYWHRect(o,a,s,u);r=t.XYWHRect(r+o,i+a,s,u),i=t.Matrix.invert(this.Id),this.Dd.save(),this.Dd.concat(i),this.Dd.drawImageRect(n,l,r,null,!1),this.Dd.restore(),n.delete();}},this.quadraticCurveTo=function(t,n,r,i){var o=this.Hd;e([t,n,r,i])&&(o.isEmpty()&&o.moveTo(t,n),o.quadTo(t,n,r,i));},this.rect=function(n,r,i,o){var a=this.Hd;e(n=t.XYWHRect(n,r,i,o))&&a.addRect(n);},this.resetTransform=function(){this.Hd.transform(this.Id);var e=t.Matrix.invert(this.Id);this.Dd.concat(e),this.Id=this.Dd.getTotalMatrix();},this.restore=function(){var e=this.ef.pop();if(e){var n=t.Matrix.multiply(this.Id,t.Matrix.invert(e.wf));this.Hd.transform(n),this.Fd.delete(),this.Fd=e.Pf,this.ne=e.Nf,this.Ee=e.bg,this.Xd=e.ag,this.Sd=e.fs,this.pe=e.Zf,this.qe=e.$f,this.oe=e.Tf,this.De=e.Yf,this.$d=e.Cf,this.Ed=e.Df,this.Ce=e.Of,this.Ke=e.Bf,this.Dd.restore(),this.Id=this.Dd.getTotalMatrix();}},this.rotate=function(e){if(isFinite(e)){var n=t.Matrix.rotated(-e);this.Hd.transform(n),this.Dd.rotate(e/Math.PI*180,0,0),this.Id=this.Dd.getTotalMatrix();}},this.save=function(){if(this.Sd.ke){var t=this.Sd.ke();this.ue.push(t);}else t=this.Sd;if(this.Xd.ke){var e=this.Xd.ke();this.ue.push(e);}else e=this.Xd;this.ef.push({wf:this.Id.slice(),Nf:this.ne.slice(),bg:this.Ee,ag:e,fs:t,Zf:this.pe,$f:this.qe,Tf:this.oe,Yf:this.De,Cf:this.$d,Of:this.Ce,Df:this.Ed,Pf:this.Fd.copy(),Bf:this.Ke}),this.Dd.save();},this.scale=function(n,r){if(e(arguments)){var i=t.Matrix.scaled(1/n,1/r);this.Hd.transform(i),this.Dd.scale(n,r),this.Id=this.Dd.getTotalMatrix();}},this.setLineDash=function(t){for(var e=0;et[e])return;1==t.length%2&&Array.prototype.push.apply(t,t),this.ne=t;},this.setTransform=function(t,n,r,i,o,a){e(arguments)&&(this.resetTransform(),this.transform(t,n,r,i,o,a));},this.je=function(){var e=t.Matrix.invert(this.Id);this.Dd.concat(e),this.Dd.concat(t.Matrix.translated(this.pe,this.qe)),this.Dd.concat(this.Id);},this.re=function(e){var n=t.multiplyByAlpha(this.De,this.$d);if(!t.getColorComponents(n)[3]||!(this.oe||this.qe||this.pe))return null;(e=e.copy()).setColor(n);var r=t.MaskFilter.MakeBlur(t.BlurStyle.Normal,this.oe/2,!1);return e.setMaskFilter(r),e.dispose=function(){r.delete(),this.delete();},e},this.Ve=function(){var e=this.Fd.copy();if(e.setStyle(t.PaintStyle.Stroke),r(this.Xd)){var n=t.multiplyByAlpha(this.Xd,this.$d);e.setColor(n);}else n=this.Xd.me(this.Id),e.setColor(t.Color(0,0,0,this.$d)),e.setShader(n);if(e.setStrokeWidth(this.Ee),this.ne.length){var i=t.PathEffect.MakeDash(this.ne,this.Ce);e.setPathEffect(i);}return e.dispose=function(){i&&i.delete(),this.delete();},e},this.stroke=function(t){t=t?t.Ld:this.Hd;var e=this.Ve(),n=this.re(e);n&&(this.Dd.save(),this.je(),this.Dd.drawPath(t,n),this.Dd.restore(),n.dispose()),this.Dd.drawPath(t,e),e.dispose();},this.strokeRect=function(e,n,r,i){var o=this.Ve(),a=this.re(o);a&&(this.Dd.save(),this.je(),this.Dd.drawRect(t.XYWHRect(e,n,r,i),a),this.Dd.restore(),a.dispose()),this.Dd.drawRect(t.XYWHRect(e,n,r,i),o),o.dispose();},this.strokeText=function(e,n,r){var i=this.Ve();e=t.TextBlob.MakeFromText(e,this.le);var o=this.re(i);o&&(this.Dd.save(),this.je(),this.Dd.drawTextBlob(e,n,r,o),this.Dd.restore(),o.dispose()),this.Dd.drawTextBlob(e,n,r,i),e.delete(),i.dispose();},this.translate=function(n,r){if(e(arguments)){var i=t.Matrix.translated(-n,-r);this.Hd.transform(i),this.Dd.translate(n,r),this.Id=this.Dd.getTotalMatrix();}},this.transform=function(e,n,r,i,o,a){e=[e,r,o,n,i,a,0,0,1],n=t.Matrix.invert(e),this.Hd.transform(n),this.Dd.concat(e),this.Id=this.Dd.getTotalMatrix();},this.addHitRegion=function(){},this.clearHitRegions=function(){},this.drawFocusIfNeeded=function(){},this.removeHitRegion=function(){},this.scrollPathIntoView=function(){},Object.defineProperty(this,"canvas",{value:null,writable:!1});}function u(e){this.We=e,this.de=new s(e.getCanvas()),this.Le=[],this.qf=t.FontMgr.RefDefault(),this.decodeImage=function(e){if(!(e=t.MakeImageFromEncoded(e)))throw "Invalid input";return this.Le.push(e),e},this.loadFont=function(t,e){if(!(t=this.qf.MakeTypefaceFromData(t)))return null;this.Le.push(t);var n=(e.style||"normal")+"|"+(e.variant||"normal")+"|"+(e.weight||"normal");e=e.family,T[e]||(T[e]={"*":t}),T[e][n]=t;},this.makePath2D=function(t){return t=new m(t),this.Le.push(t.Ld),t},this.getContext=function(t){return "2d"===t?this.de:null},this.toDataURL=function(e,n){this.We.flush();var r=this.We.makeImageSnapshot();if(r){e=e||"image/png";var o=t.ImageFormat.PNG;if("image/jpeg"===e&&(o=t.ImageFormat.JPEG),n=r.encodeToBytes(o,n||.92)){if(r.delete(),e="data:"+e+";base64,",Y)n=i.from(n).toString("base64");else {r=0,o=n.length;for(var a,s="";rt||1t);n++);this.Pd.splice(n,0,t),this.Td.splice(n,0,e);}},this.ke=function(){var t=new c(e,n,r,i);return t.Td=this.Td.slice(),t.Pd=this.Pd.slice(),t},this.be=function(){this.Nd&&(this.Nd.delete(),this.Nd=null);},this.me=function(o){var a=[e,n,r,i];t.Matrix.mapPoints(o,a),o=a[0];var s=a[1],u=a[2];return a=a[3],this.be(),this.Nd=t.Shader.MakeLinearGradient([o,s],[u,a],this.Td,this.Pd,t.TileMode.Clamp)};}function h(t,n,r,i,o,a){if(e([n,r,i,o,a])){if(0>a)throw "radii cannot be negative";t.isEmpty()&&t.moveTo(n,r),t.arcToTangent(n,r,i,o,a);}}function f(t){if(!t.isEmpty()){var e=t.getBounds();(e[3]-e[1]||e[2]-e[0])&&t.close();}}function p(e,n,r,i,o,a,s){s=(s-a)/Math.PI*180,a=a/Math.PI*180,n=t.LTRBRect(n-i,r-o,n+i,r+o),1e-5>Math.abs(Math.abs(s)-360)?(r=s/2,e.arcToOval(n,a,r,!1),e.arcToOval(n,a+r,r,!1)):e.arcToOval(n,a,s,!1);}function d(n,r,i,o,a,s,u,l,c){if(e([r,i,o,a,s,u,l])){if(0>o||0>a)throw "radii cannot be negative";var h=2*Math.PI,f=u%h;0>f&&(f+=h);var d=f-u;u=f,l+=d,!c&&l-u>=h?l=u+h:c&&u-l>=h?l=u-h:!c&&u>l?l=u+(h-(u-l)%h):c&&ut||1t);n++);this.Pd.splice(n,0,t),this.Td.splice(n,0,e);}},this.ke=function(){var t=new _(e,n,r,i,a,s);return t.Td=this.Td.slice(),t.Pd=this.Pd.slice(),t},this.be=function(){this.Nd&&(this.Nd.delete(),this.Nd=null);},this.me=function(o){var u=[e,n,i,a];t.Matrix.mapPoints(o,u);var l=u[0],c=u[1],h=u[2];u=u[3];var f=(Math.abs(o[0])+Math.abs(o[4]))/2;return o=r*f,f*=s,this.be(),this.Nd=t.Shader.MakeTwoPointConicalGradient([l,c],o,[h,u],f,this.Td,this.Pd,t.TileMode.Clamp)};}t._testing={};var b={aliceblue:Float32Array.of(.941,.973,1,1),antiquewhite:Float32Array.of(.98,.922,.843,1),aqua:Float32Array.of(0,1,1,1),aquamarine:Float32Array.of(.498,1,.831,1),azure:Float32Array.of(.941,1,1,1),beige:Float32Array.of(.961,.961,.863,1),bisque:Float32Array.of(1,.894,.769,1),black:Float32Array.of(0,0,0,1),blanchedalmond:Float32Array.of(1,.922,.804,1),blue:Float32Array.of(0,0,1,1),blueviolet:Float32Array.of(.541,.169,.886,1),brown:Float32Array.of(.647,.165,.165,1),burlywood:Float32Array.of(.871,.722,.529,1),cadetblue:Float32Array.of(.373,.62,.627,1),chartreuse:Float32Array.of(.498,1,0,1),chocolate:Float32Array.of(.824,.412,.118,1),coral:Float32Array.of(1,.498,.314,1),cornflowerblue:Float32Array.of(.392,.584,.929,1),cornsilk:Float32Array.of(1,.973,.863,1),crimson:Float32Array.of(.863,.078,.235,1),cyan:Float32Array.of(0,1,1,1),darkblue:Float32Array.of(0,0,.545,1),darkcyan:Float32Array.of(0,.545,.545,1),darkgoldenrod:Float32Array.of(.722,.525,.043,1),darkgray:Float32Array.of(.663,.663,.663,1),darkgreen:Float32Array.of(0,.392,0,1),darkgrey:Float32Array.of(.663,.663,.663,1),darkkhaki:Float32Array.of(.741,.718,.42,1),darkmagenta:Float32Array.of(.545,0,.545,1),darkolivegreen:Float32Array.of(.333,.42,.184,1),darkorange:Float32Array.of(1,.549,0,1),darkorchid:Float32Array.of(.6,.196,.8,1),darkred:Float32Array.of(.545,0,0,1),darksalmon:Float32Array.of(.914,.588,.478,1),darkseagreen:Float32Array.of(.561,.737,.561,1),darkslateblue:Float32Array.of(.282,.239,.545,1),darkslategray:Float32Array.of(.184,.31,.31,1),darkslategrey:Float32Array.of(.184,.31,.31,1),darkturquoise:Float32Array.of(0,.808,.82,1),darkviolet:Float32Array.of(.58,0,.827,1),deeppink:Float32Array.of(1,.078,.576,1),deepskyblue:Float32Array.of(0,.749,1,1),dimgray:Float32Array.of(.412,.412,.412,1),dimgrey:Float32Array.of(.412,.412,.412,1),dodgerblue:Float32Array.of(.118,.565,1,1),firebrick:Float32Array.of(.698,.133,.133,1),floralwhite:Float32Array.of(1,.98,.941,1),forestgreen:Float32Array.of(.133,.545,.133,1),fuchsia:Float32Array.of(1,0,1,1),gainsboro:Float32Array.of(.863,.863,.863,1),ghostwhite:Float32Array.of(.973,.973,1,1),gold:Float32Array.of(1,.843,0,1),goldenrod:Float32Array.of(.855,.647,.125,1),gray:Float32Array.of(.502,.502,.502,1),green:Float32Array.of(0,.502,0,1),greenyellow:Float32Array.of(.678,1,.184,1),grey:Float32Array.of(.502,.502,.502,1),honeydew:Float32Array.of(.941,1,.941,1),hotpink:Float32Array.of(1,.412,.706,1),indianred:Float32Array.of(.804,.361,.361,1),indigo:Float32Array.of(.294,0,.51,1),ivory:Float32Array.of(1,1,.941,1),khaki:Float32Array.of(.941,.902,.549,1),lavender:Float32Array.of(.902,.902,.98,1),lavenderblush:Float32Array.of(1,.941,.961,1),lawngreen:Float32Array.of(.486,.988,0,1),lemonchiffon:Float32Array.of(1,.98,.804,1),lightblue:Float32Array.of(.678,.847,.902,1),lightcoral:Float32Array.of(.941,.502,.502,1),lightcyan:Float32Array.of(.878,1,1,1),lightgoldenrodyellow:Float32Array.of(.98,.98,.824,1),lightgray:Float32Array.of(.827,.827,.827,1),lightgreen:Float32Array.of(.565,.933,.565,1),lightgrey:Float32Array.of(.827,.827,.827,1),lightpink:Float32Array.of(1,.714,.757,1),lightsalmon:Float32Array.of(1,.627,.478,1),lightseagreen:Float32Array.of(.125,.698,.667,1),lightskyblue:Float32Array.of(.529,.808,.98,1),lightslategray:Float32Array.of(.467,.533,.6,1),lightslategrey:Float32Array.of(.467,.533,.6,1),lightsteelblue:Float32Array.of(.69,.769,.871,1),lightyellow:Float32Array.of(1,1,.878,1),lime:Float32Array.of(0,1,0,1),limegreen:Float32Array.of(.196,.804,.196,1),linen:Float32Array.of(.98,.941,.902,1),magenta:Float32Array.of(1,0,1,1),maroon:Float32Array.of(.502,0,0,1),mediumaquamarine:Float32Array.of(.4,.804,.667,1),mediumblue:Float32Array.of(0,0,.804,1),mediumorchid:Float32Array.of(.729,.333,.827,1),mediumpurple:Float32Array.of(.576,.439,.859,1),mediumseagreen:Float32Array.of(.235,.702,.443,1),mediumslateblue:Float32Array.of(.482,.408,.933,1),mediumspringgreen:Float32Array.of(0,.98,.604,1),mediumturquoise:Float32Array.of(.282,.82,.8,1),mediumvioletred:Float32Array.of(.78,.082,.522,1),midnightblue:Float32Array.of(.098,.098,.439,1),mintcream:Float32Array.of(.961,1,.98,1),mistyrose:Float32Array.of(1,.894,.882,1),moccasin:Float32Array.of(1,.894,.71,1),navajowhite:Float32Array.of(1,.871,.678,1),navy:Float32Array.of(0,0,.502,1),oldlace:Float32Array.of(.992,.961,.902,1),olive:Float32Array.of(.502,.502,0,1),olivedrab:Float32Array.of(.42,.557,.137,1),orange:Float32Array.of(1,.647,0,1),orangered:Float32Array.of(1,.271,0,1),orchid:Float32Array.of(.855,.439,.839,1),palegoldenrod:Float32Array.of(.933,.91,.667,1),palegreen:Float32Array.of(.596,.984,.596,1),paleturquoise:Float32Array.of(.686,.933,.933,1),palevioletred:Float32Array.of(.859,.439,.576,1),papayawhip:Float32Array.of(1,.937,.835,1),peachpuff:Float32Array.of(1,.855,.725,1),peru:Float32Array.of(.804,.522,.247,1),pink:Float32Array.of(1,.753,.796,1),plum:Float32Array.of(.867,.627,.867,1),powderblue:Float32Array.of(.69,.878,.902,1),purple:Float32Array.of(.502,0,.502,1),rebeccapurple:Float32Array.of(.4,.2,.6,1),red:Float32Array.of(1,0,0,1),rosybrown:Float32Array.of(.737,.561,.561,1),royalblue:Float32Array.of(.255,.412,.882,1),saddlebrown:Float32Array.of(.545,.271,.075,1),salmon:Float32Array.of(.98,.502,.447,1),sandybrown:Float32Array.of(.957,.643,.376,1),seagreen:Float32Array.of(.18,.545,.341,1),seashell:Float32Array.of(1,.961,.933,1),sienna:Float32Array.of(.627,.322,.176,1),silver:Float32Array.of(.753,.753,.753,1),skyblue:Float32Array.of(.529,.808,.922,1),slateblue:Float32Array.of(.416,.353,.804,1),slategray:Float32Array.of(.439,.502,.565,1),slategrey:Float32Array.of(.439,.502,.565,1),snow:Float32Array.of(1,.98,.98,1),springgreen:Float32Array.of(0,1,.498,1),steelblue:Float32Array.of(.275,.51,.706,1),tan:Float32Array.of(.824,.706,.549,1),teal:Float32Array.of(0,.502,.502,1),thistle:Float32Array.of(.847,.749,.847,1),tomato:Float32Array.of(1,.388,.278,1),transparent:Float32Array.of(0,0,0,0),turquoise:Float32Array.of(.251,.878,.816,1),violet:Float32Array.of(.933,.51,.933,1),wheat:Float32Array.of(.961,.871,.702,1),white:Float32Array.of(1,1,1,1),whitesmoke:Float32Array.of(.961,.961,.961,1),yellow:Float32Array.of(1,1,0,1),yellowgreen:Float32Array.of(.604,.804,.196,1)};t._testing.parseColor=o,t._testing.colorToString=n;var v=RegExp("(italic|oblique|normal|)\\s*(small-caps|normal|)\\s*(bold|bolder|lighter|[1-9]00|normal|)\\s*([\\d\\.]+)(px|pt|pc|in|cm|mm|%|em|ex|ch|rem|q)(.+)"),T={"Noto Mono":{"*":null},monospace:{"*":null}};t._testing.parseFontString=a,t.MakeCanvas=function(e,n){return (e=t.MakeSurface(e,n))?new u(e):null},t.ImageData=function(){if(2===arguments.length){var t=arguments[0],e=arguments[1];return new l(new Uint8ClampedArray(4*t*e),t,e)}if(3===arguments.length){var n=arguments[0];if(n.prototype.constructor!==Uint8ClampedArray)throw "bytes must be given as a Uint8ClampedArray";if(n%4)throw "bytes must be given in a multiple of 4";if(n%(t=arguments[1]))throw "bytes must divide evenly by width";if((e=arguments[2])&&e!==n/(4*t))throw "invalid height given";return new l(n,t,n/(4*t))}throw "invalid number of arguments - takes 2 or 3, saw "+arguments.length};}();}(e);var c,h,f,p=Object.assign({},e),d="./this.program",y=(t,e)=>{throw e},m="object"==typeof window,g="function"==typeof importScripts,_="object"==typeof o&&"object"==typeof o.versions&&"string"==typeof o.versions.node,b="";if(_){var v=n(5699),T=n(3935);b=g?T.dirname(b)+"/":"//",c=(t,e)=>(t=t.startsWith("file://")?new URL(t):T.normalize(t),v.readFileSync(t,e?void 0:"utf8")),f=t=>((t=c(t,!0)).buffer||(t=new Uint8Array(t)),t),h=(t,e,n)=>{t=t.startsWith("file://")?new URL(t):T.normalize(t),v.readFile(t,(function(t,r){t?n(t):e(r.buffer);}));},1o.version.match(/^v(\d+)\./)[1]&&o.on("unhandledRejection",(function(t){throw t})),y=(t,e)=>{if(C)throw o.exitCode=t,e;e instanceof et||x("exiting due to exception: "+e),o.exit(t);},e.inspect=function(){return "[Emscripten Module object]"};}else (m||g)&&(g?b=self.location.href:"undefined"!=typeof document&&document.currentScript&&(b=document.currentScript.src),r&&(b=r),b=0!==b.indexOf("blob:")?b.substr(0,b.replace(/[?#].*/,"").lastIndexOf("/")+1):"",c=t=>{var e=new XMLHttpRequest;return e.open("GET",t,!1),e.send(null),e.responseText},g&&(f=t=>{var e=new XMLHttpRequest;return e.open("GET",t,!1),e.responseType="arraybuffer",e.send(null),new Uint8Array(e.response)}),h=(t,e,n)=>{var r=new XMLHttpRequest;r.open("GET",t,!0),r.responseType="arraybuffer",r.onload=()=>{200==r.status||0==r.status&&r.response?e(r.response):n();},r.onerror=n,r.send(null);});var E,w=e.print||a.log.bind(a),x=e.printErr||a.warn.bind(a);Object.assign(e,p),p=null,e.thisProgram&&(d=e.thisProgram),e.quit&&(y=e.quit),e.wasmBinary&&(E=e.wasmBinary);var C=e.noExitRuntime||!0;"object"!=typeof WebAssembly&&K("no native wasm support detected");var M,S,N,O,A,I,P,R,L,D=!1,k="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0;function F(t,e,n){var r=e+n;for(n=e;t[n]&&!(n>=r);)++n;if(16(i=224==(240&i)?(15&i)<<12|o<<6|a:(7&i)<<18|o<<12|a<<6|63&t[e++])?r+=String.fromCharCode(i):(i-=65536,r+=String.fromCharCode(55296|i>>10,56320|1023&i));}}else r+=String.fromCharCode(i);}return r}function U(t,e){return t?F(N,t,e):""}function B(t,e,n,r){if(!(0=a&&(a=65536+((1023&a)<<10)|1023&t.charCodeAt(++o)),127>=a){if(n>=r)break;e[n++]=a;}else {if(2047>=a){if(n+1>=r)break;e[n++]=192|a>>6;}else {if(65535>=a){if(n+2>=r)break;e[n++]=224|a>>12;}else {if(n+3>=r)break;e[n++]=240|a>>18,e[n++]=128|a>>12&63;}e[n++]=128|a>>6&63;}e[n++]=128|63&a;}}return e[n]=0,n-i}function j(t){for(var e=0,n=0;n=r?e++:2047>=r?e+=2:55296<=r&&57343>=r?(e+=4,++n):e+=3;}return e}function G(){var t=M.buffer;e.HEAP8=S=new Int8Array(t),e.HEAP16=O=new Int16Array(t),e.HEAP32=I=new Int32Array(t),e.HEAPU8=N=new Uint8Array(t),e.HEAPU16=A=new Uint16Array(t),e.HEAPU32=P=new Uint32Array(t),e.HEAPF32=R=new Float32Array(t),e.HEAPF64=L=new Float64Array(t);}var W,q=[],H=[],z=[];function V(){var t=e.preRun.shift();q.unshift(t);}var X,Y=0,Z=null,Q=null;function K(t){throw e.onAbort&&e.onAbort(t),x(t="Aborted("+t+")"),D=!0,t=new WebAssembly.RuntimeError(t+". Build with -sASSERTIONS for more info."),u(t),t}function J(){return X.startsWith("data:application/octet-stream;base64,")}if(X="canvaskit.wasm",!J()){var $=X;X=e.locateFile?e.locateFile($,b):b+$;}function tt(){var t=X;try{if(t==X&&E)return new Uint8Array(E);if(f)return f(t);throw "both async and sync fetching of the wasm failed"}catch(t){K(t);}}function et(t){this.name="ExitStatus",this.message="Program terminated with exit("+t+")",this.status=t;}function nt(t){for(;0>2])}var at={},st={},ut={};function lt(t){if(void 0===t)return "_unknown";var e=(t=t.replace(/[^a-zA-Z0-9_]/g,"$")).charCodeAt(0);return 48<=e&&57>=e?"_"+t:t}function ct(t,e){return t=lt(t),new Function("body","return function "+t+'() {\n "use strict"; return body.apply(this, arguments);\n};\n')(e)}function ht(t){var e=Error,n=ct(t,(function(e){this.name=t,this.message=e,void 0!==(e=Error(e).stack)&&(this.stack=this.toString()+"\n"+e.replace(/^Error(:[^\n]*)?\n/,""));}));return n.prototype=Object.create(e.prototype),n.prototype.constructor=n,n.prototype.toString=function(){return void 0===this.message?this.name:this.name+": "+this.message},n}var ft=void 0;function pt(t){throw new ft(t)}function dt(t,e,n){function r(e){(e=n(e)).length!==t.length&&pt("Mismatched type converter count");for(var r=0;r{st.hasOwnProperty(t)?i[e]=st[t]:(o.push(t),at.hasOwnProperty(t)||(at[t]=[]),at[t].push((()=>{i[e]=st[t],++a===o.length&&r(i);})));})),0===o.length&&r(i);}function yt(t){switch(t){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+t)}}var mt=void 0;function gt(t){for(var e="";N[t];)e+=mt[N[t++]];return e}var _t=void 0;function bt(t){throw new _t(t)}function vt(t,e,n={}){if(!("argPackAdvance"in e))throw new TypeError("registerType registeredInstance requires argPackAdvance");var r=e.name;if(t||bt('type "'+r+'" must have a positive integer typeid pointer'),st.hasOwnProperty(t)){if(n.Kf)return;bt("Cannot register type '"+r+"' twice");}st[t]=e,delete ut[t],at.hasOwnProperty(t)&&(e=at[t],delete at[t],e.forEach((t=>t())));}function Tt(t){bt(t.Cd.Md.Gd.name+" instance already deleted");}var Et=!1;function wt(){}function xt(t){--t.count.value,0===t.count.value&&(t.Rd?t.Wd.ae(t.Rd):t.Md.Gd.ae(t.Kd));}function Ct(t,e,n){return e===n?t:void 0===n.Yd||null===(t=Ct(t,e,n.Yd))?null:n.yf(t)}var Mt={},St=[];function Nt(){for(;St.length;){var t=St.pop();t.Cd.xe=!1,t.delete();}}var Ot=void 0,At={};function It(t,e){return e.Md&&e.Kd||pt("makeClassHandle requires ptr and ptrType"),!!e.Wd!=!!e.Rd&&pt("Both smartPtrType and smartPtr must be specified"),e.count={value:1},Pt(Object.create(t,{Cd:{value:e}}))}function Pt(t){return "undefined"==typeof FinalizationRegistry?(Pt=t=>t,t):(Et=new FinalizationRegistry((t=>{xt(t.Cd);})),wt=t=>{Et.unregister(t);},(Pt=t=>{var e=t.Cd;return e.Rd&&Et.register(t,{Cd:e},t),t})(t))}function Rt(){}function Lt(t,e,n){if(void 0===t[e].Od){var r=t[e];t[e]=function(){return t[e].Od.hasOwnProperty(arguments.length)||bt("Function '"+n+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+t[e].Od+")!"),t[e].Od[arguments.length].apply(this,arguments)},t[e].Od=[],t[e].Od[r.ve]=r;}}function Dt(t,n,r){e.hasOwnProperty(t)?((void 0===r||void 0!==e[t].Od&&void 0!==e[t].Od[r])&&bt("Cannot register public name '"+t+"' twice"),Lt(e,t,t),e.hasOwnProperty(r)&&bt("Cannot register multiple overloads of a function with the same number of arguments ("+r+")!"),e[t].Od[r]=n):(e[t]=n,void 0!==r&&(e[t].ig=r));}function kt(t,e,n,r,i,o,a,s){this.name=t,this.constructor=e,this.ye=n,this.ae=r,this.Yd=i,this.Ef=o,this.Ie=a,this.yf=s,this.Rf=[];}function Ft(t,e,n){for(;e!==n;)e.Ie||bt("Expected null or instance of "+n.name+", got an instance of "+e.name),t=e.Ie(t),e=e.Yd;return t}function Ut(t,e){return null===e?(this.Ye&&bt("null is not a valid "+this.name),0):(e.Cd||bt('Cannot pass "'+ie(e)+'" as a '+this.name),e.Cd.Kd||bt("Cannot pass deleted object as a pointer of type "+this.name),Ft(e.Cd.Kd,e.Cd.Md.Gd,this.Gd))}function Bt(t,e){if(null===e){if(this.Ye&&bt("null is not a valid "+this.name),this.Ne){var n=this.Ze();return null!==t&&t.push(this.ae,n),n}return 0}if(e.Cd||bt('Cannot pass "'+ie(e)+'" as a '+this.name),e.Cd.Kd||bt("Cannot pass deleted object as a pointer of type "+this.name),!this.Me&&e.Cd.Md.Me&&bt("Cannot convert argument of type "+(e.Cd.Wd?e.Cd.Wd.name:e.Cd.Md.name)+" to parameter type "+this.name),n=Ft(e.Cd.Kd,e.Cd.Md.Gd,this.Gd),this.Ne)switch(void 0===e.Cd.Rd&&bt("Passing raw pointer to smart pointer is illegal"),this.Xf){case 0:e.Cd.Wd===this?n=e.Cd.Rd:bt("Cannot convert argument of type "+(e.Cd.Wd?e.Cd.Wd.name:e.Cd.Md.name)+" to parameter type "+this.name);break;case 1:n=e.Cd.Rd;break;case 2:if(e.Cd.Wd===this)n=e.Cd.Rd;else {var r=e.clone();n=this.Sf(n,ee((function(){r.delete();}))),null!==t&&t.push(this.ae,n);}break;default:bt("Unsupporting sharing policy");}return n}function jt(t,e){return null===e?(this.Ye&&bt("null is not a valid "+this.name),0):(e.Cd||bt('Cannot pass "'+ie(e)+'" as a '+this.name),e.Cd.Kd||bt("Cannot pass deleted object as a pointer of type "+this.name),e.Cd.Md.Me&&bt("Cannot convert argument of type "+e.Cd.Md.name+" to parameter type "+this.name),Ft(e.Cd.Kd,e.Cd.Md.Gd,this.Gd))}function Gt(t,e,n,r,i,o,a,s,u,l,c){this.name=t,this.Gd=e,this.Ye=n,this.Me=r,this.Ne=i,this.Qf=o,this.Xf=a,this.mf=s,this.Ze=u,this.Sf=l,this.ae=c,i||void 0!==e.Yd?this.toWireType=Bt:(this.toWireType=r?Ut:jt,this.Vd=null);}function Wt(t,n,r){e.hasOwnProperty(t)||pt("Replacing nonexistant public symbol"),void 0!==e[t].Od&&void 0!==r?e[t].Od[r]=n:(e[t]=n,e[t].ve=r);}function qt(t){return W.get(t)}function Ht(t,n){var r=(t=gt(t)).includes("j")?function(t,n){var r=[];return function(){if(r.length=0,Object.assign(r,arguments),t.includes("j")){var i=e["dynCall_"+t];i=r&&r.length?i.apply(null,[n].concat(r)):i.call(null,n);}else i=qt(n).apply(null,r);return i}}(t,n):qt(n);return "function"!=typeof r&&bt("unknown function pointer with signature "+t+": "+n),r}var zt=void 0;function Vt(t){var e=gt(t=fn(t));return cn(t),e}function Xt(t,e){var n=[],r={};throw e.forEach((function t(e){r[e]||st[e]||(ut[e]?ut[e].forEach(t):(n.push(e),r[e]=!0));})),new zt(t+": "+n.map(Vt).join([", "]))}function Yt(t){var e=Function;if(!(e instanceof Function))throw new TypeError("new_ called with constructor type "+typeof e+" which is not a function");var n=ct(e.name||"unknownFunctionName",(function(){}));return n.prototype=e.prototype,n=new n,(t=e.apply(n,t))instanceof Object?t:n}function Zt(t,e,n,r,i){var o=e.length;2>o&&bt("argTypes array size mismatch! Must at least get return value and 'this' types!");var a=null!==e[1]&&null!==n,s=!1;for(n=1;n>2]);return n}var Kt=[],Jt=[{},{value:void 0},{value:null},{value:!0},{value:!1}];function $t(t){4(t||bt("Cannot use deleted val. handle = "+t),Jt[t].value),ee=t=>{switch(t){case void 0:return 1;case null:return 2;case !0:return 3;case !1:return 4;default:var e=Kt.length?Kt.pop():Jt.length;return Jt[e]={$e:1,value:t},e}};function ne(t,e,n){switch(e){case 0:return function(t){return this.fromWireType((n?S:N)[t])};case 1:return function(t){return this.fromWireType((n?O:A)[t>>1])};case 2:return function(t){return this.fromWireType((n?I:P)[t>>2])};default:throw new TypeError("Unknown integer type: "+t)}}function re(t,e){var n=st[t];return void 0===n&&bt(e+" has unknown type "+Vt(t)),n}function ie(t){if(null===t)return "null";var e=typeof t;return "object"===e||"array"===e||"function"===e?t.toString():""+t}function oe(t,e){switch(e){case 2:return function(t){return this.fromWireType(R[t>>2])};case 3:return function(t){return this.fromWireType(L[t>>3])};default:throw new TypeError("Unknown float type: "+t)}}function ae(t,e,n){switch(e){case 0:return n?function(t){return S[t]}:function(t){return N[t]};case 1:return n?function(t){return O[t>>1]}:function(t){return A[t>>1]};case 2:return n?function(t){return I[t>>2]}:function(t){return P[t>>2]};default:throw new TypeError("Unknown integer type: "+t)}}var se="undefined"!=typeof TextDecoder?new TextDecoder("utf-16le"):void 0;function ue(t,e){for(var n=t>>1,r=n+e/2;!(n>=r)&&A[n];)++n;if(32<(n<<=1)-t&&se)return se.decode(N.subarray(t,n));for(n="",r=0;!(r>=e/2);++r){var i=O[t+2*r>>1];if(0==i)break;n+=String.fromCharCode(i);}return n}function le(t,e,n){if(void 0===n&&(n=2147483647),2>n)return 0;var r=e;n=(n-=2)<2*t.length?n/2:t.length;for(var i=0;i>1]=t.charCodeAt(i),e+=2;return O[e>>1]=0,e-r}function ce(t){return 2*t.length}function he(t,e){for(var n=0,r="";!(n>=e/4);){var i=I[t+4*n>>2];if(0==i)break;++n,65536<=i?(i-=65536,r+=String.fromCharCode(55296|i>>10,56320|1023&i)):r+=String.fromCharCode(i);}return r}function fe(t,e,n){if(void 0===n&&(n=2147483647),4>n)return 0;var r=e;n=r+n-4;for(var i=0;i=o&&(o=65536+((1023&o)<<10)|1023&t.charCodeAt(++i)),I[e>>2]=o,(e+=4)+4>n)break}return I[e>>2]=0,e-r}function pe(t){for(var e=0,n=0;n=r&&++n,e+=4;}return e}var de={};function ye(t){var e=de[t];return void 0===e?gt(t):e}var me,ge=[],_e=[];me=_?()=>{var t=o.hrtime();return 1e3*t[0]+t[1]/1e6}:()=>performance.now();var be=1,ve=[],Te=[],Ee=[],we=[],xe=[],Ce=[],Me=[],Se=[],Ne=[],Oe=[],Ae={},Ie={},Pe=4;function Re(t){ke||(ke=t);}function Le(t){for(var e=be++,n=t.length;n>2]=a;}}function je(t,e){if(e){var n=void 0;switch(t){case 36346:n=1;break;case 36344:return;case 34814:case 36345:n=0;break;case 34466:var r=rn.getParameter(34467);n=r?r.length:0;break;case 33309:if(2>Fe.version)return void Re(1282);n=2*(rn.getSupportedExtensions()||[]).length;break;case 33307:case 33308:if(2>Fe.version)return void Re(1280);n=33307==t?3:0;}if(void 0===n)switch(r=rn.getParameter(t),typeof r){case "number":n=r;break;case "boolean":n=r?1:0;break;case "string":return void Re(1280);case "object":if(null===r)switch(t){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 36662:case 36663:case 35053:case 35055:case 36010:case 35097:case 35869:case 32874:case 36389:case 35983:case 35368:case 34068:n=0;break;default:return void Re(1280)}else {if(r instanceof Float32Array||r instanceof Uint32Array||r instanceof Int32Array||r instanceof Array){for(t=0;t>2]=r[t];return}try{n=0|r.name;}catch(e){return Re(1280),void x("GL_INVALID_ENUM in glGet0v: Unknown object returned from WebGL getParameter("+t+")! (error: "+e+")")}}break;default:return Re(1280),void x("GL_INVALID_ENUM in glGet0v: Native code calling glGet0v("+t+") and it returns "+r+" of type "+typeof r+"!")}I[e>>2]=n;}else Re(1281);}function Ge(t){var e=j(t)+1,n=hn(e);return B(t,N,n,e),n}function We(t){return "]"==t.slice(-1)&&t.lastIndexOf("[")}function qe(t){return 0==(t-=5120)?S:1==t?N:2==t?O:4==t?I:6==t?R:5==t||28922==t||28520==t||30779==t||30782==t?P:A}function He(t,e,n,r,i){t=qe(t);var o=31-Math.clz32(t.BYTES_PER_ELEMENT),a=Pe;return t.subarray(i>>o,i+r*(n*({5:3,6:4,8:2,29502:3,29504:4,26917:2,26918:2,29846:3,29847:4}[e-6402]||1)*(1<>o)}function ze(t){var e=rn.xf;if(e){var n=e.He[t];return "number"==typeof n&&(e.He[t]=n=rn.getUniformLocation(e,e.nf[t]+(0nn;++nn)en[nn]=String.fromCharCode(nn);mt=en,_t=e.BindingError=ht("BindingError"),Rt.prototype.isAliasOf=function(t){if(!(this instanceof Rt&&t instanceof Rt))return !1;var e=this.Cd.Md.Gd,n=this.Cd.Kd,r=t.Cd.Md.Gd;for(t=t.Cd.Kd;e.Yd;)n=e.Ie(n),e=e.Yd;for(;r.Yd;)t=r.Ie(t),r=r.Yd;return e===r&&n===t},Rt.prototype.clone=function(){if(this.Cd.Kd||Tt(this),this.Cd.Ge)return this.Cd.count.value+=1,this;var t=Pt,e=Object,n=e.create,r=Object.getPrototypeOf(this),i=this.Cd;return (t=t(n.call(e,r,{Cd:{value:{count:i.count,xe:i.xe,Ge:i.Ge,Kd:i.Kd,Md:i.Md,Rd:i.Rd,Wd:i.Wd}}}))).Cd.count.value+=1,t.Cd.xe=!1,t},Rt.prototype.delete=function(){this.Cd.Kd||Tt(this),this.Cd.xe&&!this.Cd.Ge&&bt("Object already scheduled for deletion"),wt(this),xt(this.Cd),this.Cd.Ge||(this.Cd.Rd=void 0,this.Cd.Kd=void 0);},Rt.prototype.isDeleted=function(){return !this.Cd.Kd},Rt.prototype.deleteLater=function(){return this.Cd.Kd||Tt(this),this.Cd.xe&&!this.Cd.Ge&&bt("Object already scheduled for deletion"),St.push(this),1===St.length&&Ot&&Ot(Nt),this.Cd.xe=!0,this},e.getInheritedInstanceCount=function(){return Object.keys(At).length},e.getLiveInheritedInstances=function(){var t,e=[];for(t in At)At.hasOwnProperty(t)&&e.push(At[t]);return e},e.flushPendingDeletes=Nt,e.setDelayFunction=function(t){Ot=t,St.length&&Ot&&Ot(Nt);},Gt.prototype.Ff=function(t){return this.mf&&(t=this.mf(t)),t},Gt.prototype.gf=function(t){this.ae&&this.ae(t);},Gt.prototype.argPackAdvance=8,Gt.prototype.readValueFromPointer=ot,Gt.prototype.deleteObject=function(t){null!==t&&t.delete();},Gt.prototype.fromWireType=function(t){function e(){return this.Ne?It(this.Gd.ye,{Md:this.Qf,Kd:n,Wd:this,Rd:t}):It(this.Gd.ye,{Md:this,Kd:t})}var n=this.Ff(t);if(!n)return this.gf(t),null;var r=function(t,e){for(void 0===e&&bt("ptr should not be undefined");t.Yd;)e=t.Ie(e),t=t.Yd;return At[e]}(this.Gd,n);if(void 0!==r)return 0===r.Cd.count.value?(r.Cd.Kd=n,r.Cd.Rd=t,r.clone()):(r=r.clone(),this.gf(t),r);if(r=this.Gd.Ef(n),!(r=Mt[r]))return e.call(this);r=this.Me?r.vf:r.pointerType;var i=Ct(n,this.Gd,r.Gd);return null===i?e.call(this):this.Ne?It(r.Gd.ye,{Md:r,Kd:i,Wd:this,Rd:t}):It(r.Gd.ye,{Md:r,Kd:i})},zt=e.UnboundTypeError=ht("UnboundTypeError"),e.count_emval_handles=function(){for(var t=0,e=5;eon;++on)Ue.push(Array(on));var an=new Float32Array(288);for(on=0;288>on;++on)Ve[on]=an.subarray(0,on+1);var sn=new Int32Array(288);for(on=0;288>on;++on)Xe[on]=sn.subarray(0,on+1);var un={H:function(){return 0},xb:function(){},zb:function(){return 0},ub:function(){},Ab:function(){},vb:function(){},P:function(t){var e=rt[t];delete rt[t];var n=e.Ze,r=e.ae,i=e.kf;dt([t],i.map((t=>t.If)).concat(i.map((t=>t.Vf))),(t=>{var o={};return i.forEach(((e,n)=>{var r=t[n],a=e.Gf,s=e.Hf,u=t[n+i.length],l=e.Uf,c=e.Wf;o[e.Af]={read:t=>r.fromWireType(a(s,t)),write:(t,e)=>{var n=[];l(c,t,u.toWireType(n,e)),it(n);}};})),[{name:e.name,fromWireType:function(t){var e,n={};for(e in o)n[e]=o[e].read(t);return r(t),n},toWireType:function(t,e){for(var i in o)if(!(i in e))throw new TypeError('Missing field: "'+i+'"');var a=n();for(i in o)o[i].write(a,e[i]);return null!==t&&t.push(r,a),a},argPackAdvance:8,readValueFromPointer:ot,Vd:r}]}));},kb:function(){},Cb:function(t,e,n,r,i){var o=yt(n);vt(t,{name:e=gt(e),fromWireType:function(t){return !!t},toWireType:function(t,e){return e?r:i},argPackAdvance:8,readValueFromPointer:function(t){if(1===n)var r=S;else if(2===n)r=O;else {if(4!==n)throw new TypeError("Unknown boolean type size: "+e);r=I;}return this.fromWireType(r[t>>o])},Vd:null});},i:function(t,e,n,r,i,o,a,s,u,l,c,h,f){c=gt(c),o=Ht(i,o),s&&(s=Ht(a,s)),l&&(l=Ht(u,l)),f=Ht(h,f);var p=lt(c);Dt(p,(function(){Xt("Cannot construct "+c+" due to unbound types",[r]);})),dt([t,e,n],r?[r]:[],(function(e){if(e=e[0],r)var n=e.Gd,i=n.ye;else i=Rt.prototype;e=ct(p,(function(){if(Object.getPrototypeOf(this)!==a)throw new _t("Use 'new' to construct "+c);if(void 0===u.ee)throw new _t(c+" has no accessible constructor");var t=u.ee[arguments.length];if(void 0===t)throw new _t("Tried to invoke ctor of "+c+" with invalid number of parameters ("+arguments.length+") - expected ("+Object.keys(u.ee).toString()+") parameters instead!");return t.apply(this,arguments)}));var a=Object.create(i,{constructor:{value:e}});e.prototype=a;var u=new kt(c,e,a,f,n,o,s,l);n=new Gt(c,u,!0,!1,!1),i=new Gt(c+"*",u,!1,!1,!1);var h=new Gt(c+" const*",u,!1,!0,!1);return Mt[t]={pointerType:i,vf:h},Wt(p,e),[n,i,h]}));},g:function(t,e,n,r,i,o,a){var s=Qt(n,r);e=gt(e),o=Ht(i,o),dt([],[t],(function(t){function r(){Xt("Cannot call "+i+" due to unbound types",s);}var i=(t=t[0]).name+"."+e;e.startsWith("@@")&&(e=Symbol[e.substring(2)]);var u=t.Gd.constructor;return void 0===u[e]?(r.ve=n-1,u[e]=r):(Lt(u,e,i),u[e].Od[n-1]=r),dt([],s,(function(t){return t=[t[0],null].concat(t.slice(1)),t=Zt(i,t,null,o,a),void 0===u[e].Od?(t.ve=n-1,u[e]=t):u[e].Od[n-1]=t,[]})),[]}));},r:function(t,e,n,r,i,o){0{Xt("Cannot construct "+t.name+" due to unbound types",a);},dt([],a,(function(r){return r.splice(1,0,null),t.Gd.ee[e-1]=Zt(n,r,null,i,o),[]})),[]}));},b:function(t,e,n,r,i,o,a,s){var u=Qt(n,r);e=gt(e),o=Ht(i,o),dt([],[t],(function(t){function r(){Xt("Cannot call "+i+" due to unbound types",u);}var i=(t=t[0]).name+"."+e;e.startsWith("@@")&&(e=Symbol[e.substring(2)]),s&&t.Gd.Rf.push(e);var l=t.Gd.ye,c=l[e];return void 0===c||void 0===c.Od&&c.className!==t.name&&c.ve===n-2?(r.ve=n-2,r.className=t.name,l[e]=r):(Lt(l,e,i),l[e].Od[n-2]=r),dt([],u,(function(r){return r=Zt(i,r,t,o,a),void 0===l[e].Od?(r.ve=n-2,l[e]=r):l[e].Od[n-2]=r,[]})),[]}));},O:function(t,n,r){t=gt(t),dt([],[n],(function(n){return n=n[0],e[t]=n.fromWireType(r),[]}));},Bb:function(t,e){vt(t,{name:e=gt(e),fromWireType:function(t){var e=te(t);return $t(t),e},toWireType:function(t,e){return ee(e)},argPackAdvance:8,readValueFromPointer:ot,Vd:null});},k:function(t,e,n,r){function i(){}n=yt(n),e=gt(e),i.values={},vt(t,{name:e,constructor:i,fromWireType:function(t){return this.constructor.values[t]},toWireType:function(t,e){return e.value},argPackAdvance:8,readValueFromPointer:ne(e,n,r),Vd:null}),Dt(e,i);},c:function(t,e,n){var r=re(t,"enum");e=gt(e),t=r.constructor,r=Object.create(r.constructor.prototype,{value:{value:n},constructor:{value:ct(r.name+"_"+e,(function(){}))}}),t.values[n]=r,t[e]=r;},L:function(t,e,n){n=yt(n),vt(t,{name:e=gt(e),fromWireType:function(t){return t},toWireType:function(t,e){return e},argPackAdvance:8,readValueFromPointer:oe(e,n),Vd:null});},q:function(t,e,n,r,i,o){var a=Qt(e,n);t=gt(t),i=Ht(r,i),Dt(t,(function(){Xt("Cannot call "+t+" due to unbound types",a);}),e-1),dt([],a,(function(n){return n=[n[0],null].concat(n.slice(1)),Wt(t,Zt(t,n,null,i,o),e-1),[]}));},s:function(t,e,n,r,i){e=gt(e),-1===i&&(i=4294967295),i=yt(n);var o=t=>t;if(0===r){var a=32-8*n;o=t=>t<>>a;}n=e.includes("unsigned")?function(t,e){return e>>>0}:function(t,e){return e},vt(t,{name:e,fromWireType:o,toWireType:n,argPackAdvance:8,readValueFromPointer:ae(e,i,0!==r),Vd:null});},n:function(t,e,n){function r(t){t>>=2;var e=P;return new i(e.buffer,e[t+1],e[t])}var i=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][e];vt(t,{name:n=gt(n),fromWireType:r,argPackAdvance:8,readValueFromPointer:r},{Kf:!0});},o:function(t,e,n,r,i,o,a,s,u,l,c,h){n=gt(n),o=Ht(i,o),s=Ht(a,s),l=Ht(u,l),h=Ht(c,h),dt([t],[e],(function(t){return t=t[0],[new Gt(n,t.Gd,!1,!1,!0,t,r,o,s,l,h)]}));},K:function(t,e){var n="std::string"===(e=gt(e));vt(t,{name:e,fromWireType:function(t){var e=P[t>>2],r=t+4;if(n)for(var i=r,o=0;o<=e;++o){var a=r+o;if(o==e||0==N[a]){if(i=U(i,a-i),void 0===s)var s=i;else s+=String.fromCharCode(0),s+=i;i=a+1;}}else {for(s=Array(e),o=0;o>2]=r,n&&i)B(e,N,a,r+1);else if(i)for(i=0;iA,s=1;else 4===e&&(r=he,i=fe,o=pe,a=()=>P,s=2);vt(t,{name:n,fromWireType:function(t){for(var n,i=P[t>>2],o=a(),u=t+4,l=0;l<=i;++l){var c=t+4+l*e;l!=i&&0!=o[c>>s]||(u=r(u,c-u),void 0===n?n=u:(n+=String.fromCharCode(0),n+=u),u=c+e);}return cn(t),n},toWireType:function(t,r){"string"!=typeof r&&bt("Cannot pass non-string to C++ string type "+n);var a=o(r),u=hn(4+a+e);return P[u>>2]=a>>s,i(r,u+4,a+e),null!==t&&t.push(cn,u),u},argPackAdvance:8,readValueFromPointer:ot,Vd:function(t){cn(t);}});},J:function(t,e,n,r,i,o){rt[t]={name:gt(e),Ze:Ht(n,r),ae:Ht(i,o),kf:[]};},v:function(t,e,n,r,i,o,a,s,u,l){rt[t].kf.push({Af:gt(e),If:n,Gf:Ht(r,i),Hf:o,Vf:a,Uf:Ht(s,u),Wf:l});},Db:function(t,e){vt(t,{Mf:!0,name:e=gt(e),argPackAdvance:0,fromWireType:function(){},toWireType:function(){}});},rb:function(){return !0},mb:function(){throw 1/0},gb:function(t,e,n,r,i){t=ge[t],e=te(e),n=ye(n);var o=[];return P[r>>2]=ee(o),t(e,n,o,i)},w:function(t,e,n,r){(t=ge[t])(e=te(e),n=ye(n),null,r);},p:$t,u:function(t,e){var n=function(t,e){for(var n=Array(t),r=0;r>2],"parameter "+r);return n}(t,e),r=n[0];e=r.name+"_$"+n.slice(1).map((function(t){return t.name})).join("_")+"$";var i=_e[e];if(void 0!==i)return i;i=["retType"];for(var o=[r],a="",s=0;s>>0)+4294967296*r)},ba:function(t,e,n,r){rn.colorMask(!!t,!!e,!!n,!!r);},ca:function(t){rn.compileShader(Ce[t]);},da:function(t,e,n,r,i,o,a,s){2<=Fe.version?rn.we||!a?rn.compressedTexImage2D(t,e,n,r,i,o,a,s):rn.compressedTexImage2D(t,e,n,r,i,o,N,s,a):rn.compressedTexImage2D(t,e,n,r,i,o,s?N.subarray(s,s+a):null);},ea:function(t,e,n,r,i,o,a,s,u){2<=Fe.version?rn.we||!s?rn.compressedTexSubImage2D(t,e,n,r,i,o,a,s,u):rn.compressedTexSubImage2D(t,e,n,r,i,o,a,N,u,s):rn.compressedTexSubImage2D(t,e,n,r,i,o,a,u?N.subarray(u,u+s):null);},fa:function(t,e,n,r,i,o,a,s){rn.copyTexSubImage2D(t,e,n,r,i,o,a,s);},ga:function(){var t=Le(Te),e=rn.createProgram();return e.name=t,e.Qe=e.Oe=e.Pe=0,e.bf=1,Te[t]=e,t},ha:function(t){var e=Le(Ce);return Ce[e]=rn.createShader(t),e},ia:function(t){rn.cullFace(t);},ja:function(t,e){for(var n=0;n>2],i=ve[r];i&&(rn.deleteBuffer(i),i.name=0,ve[r]=null,r==rn.Xe&&(rn.Xe=0),r==rn.we&&(rn.we=0));}},bc:function(t,e){for(var n=0;n>2],i=Ee[r];i&&(rn.deleteFramebuffer(i),i.name=0,Ee[r]=null);}},ka:function(t){if(t){var e=Te[t];e?(rn.deleteProgram(e),e.name=0,Te[t]=null):Re(1281);}},cc:function(t,e){for(var n=0;n>2],i=we[r];i&&(rn.deleteRenderbuffer(i),i.name=0,we[r]=null);}},Nb:function(t,e){for(var n=0;n>2],i=Ne[r];i&&(rn.deleteSampler(i),i.name=0,Ne[r]=null);}},la:function(t){if(t){var e=Ce[t];e?(rn.deleteShader(e),Ce[t]=null):Re(1281);}},Vb:function(t){if(t){var e=Oe[t];e?(rn.deleteSync(e),e.name=0,Oe[t]=null):Re(1281);}},ma:function(t,e){for(var n=0;n>2],i=xe[r];i&&(rn.deleteTexture(i),i.name=0,xe[r]=null);}},uc:function(t,e){for(var n=0;n>2];rn.deleteVertexArray(Me[r]),Me[r]=null;}},xc:function(t,e){for(var n=0;n>2];rn.deleteVertexArray(Me[r]),Me[r]=null;}},na:function(t){rn.depthMask(!!t);},oa:function(t){rn.disable(t);},pa:function(t){rn.disableVertexAttribArray(t);},qa:function(t,e,n){rn.drawArrays(t,e,n);},rc:function(t,e,n,r){rn.drawArraysInstanced(t,e,n,r);},pc:function(t,e,n,r,i){rn.hf.drawArraysInstancedBaseInstanceWEBGL(t,e,n,r,i);},nc:function(t,e){for(var n=Ue[t],r=0;r>2];rn.drawBuffers(n);},ra:function(t,e,n,r){rn.drawElements(t,e,n,r);},sc:function(t,e,n,r,i){rn.drawElementsInstanced(t,e,n,r,i);},qc:function(t,e,n,r,i,o,a){rn.hf.drawElementsInstancedBaseVertexBaseInstanceWEBGL(t,e,n,r,i,o,a);},hc:function(t,e,n,r,i,o){rn.drawElements(t,r,i,o);},sa:function(t){rn.enable(t);},ta:function(t){rn.enableVertexAttribArray(t);},Rb:function(t,e){return (t=rn.fenceSync(t,e))?(e=Le(Oe),t.name=e,Oe[e]=t,e):0},ua:function(){rn.finish();},va:function(){rn.flush();},dc:function(t,e,n,r){rn.framebufferRenderbuffer(t,e,n,we[r]);},ec:function(t,e,n,r,i){rn.framebufferTexture2D(t,e,n,xe[r],i);},wa:function(t){rn.frontFace(t);},xa:function(t,e){Be(t,e,"createBuffer",ve);},fc:function(t,e){Be(t,e,"createFramebuffer",Ee);},gc:function(t,e){Be(t,e,"createRenderbuffer",we);},Ob:function(t,e){Be(t,e,"createSampler",Ne);},ya:function(t,e){Be(t,e,"createTexture",xe);},vc:function(t,e){Be(t,e,"createVertexArray",Me);},yc:function(t,e){Be(t,e,"createVertexArray",Me);},Wb:function(t){rn.generateMipmap(t);},za:function(t,e,n){n?I[n>>2]=rn.getBufferParameter(t,e):Re(1281);},Aa:function(){var t=rn.getError()||ke;return ke=0,t},Xb:function(t,e,n,r){((t=rn.getFramebufferAttachmentParameter(t,e,n))instanceof WebGLRenderbuffer||t instanceof WebGLTexture)&&(t=0|t.name),I[r>>2]=t;},ab:function(t,e){je(t,e);},Ba:function(t,e,n,r){null===(t=rn.getProgramInfoLog(Te[t]))&&(t="(unknown error)"),e=0>2]=e);},Ca:function(t,e,n){if(n)if(t>=be)Re(1281);else if(t=Te[t],35716==e)null===(t=rn.getProgramInfoLog(t))&&(t="(unknown error)"),I[n>>2]=t.length+1;else if(35719==e){if(!t.Qe)for(e=0;e>2]=t.Qe;}else if(35722==e){if(!t.Oe)for(e=0;e>2]=t.Oe;}else if(35381==e){if(!t.Pe)for(e=0;e>2]=t.Pe;}else I[n>>2]=rn.getProgramParameter(t,e);else Re(1281);},Yb:function(t,e,n){n?I[n>>2]=rn.getRenderbufferParameter(t,e):Re(1281);},Da:function(t,e,n,r){null===(t=rn.getShaderInfoLog(Ce[t]))&&(t="(unknown error)"),e=0>2]=e);},Jb:function(t,e,n,r){t=rn.getShaderPrecisionFormat(t,e),I[n>>2]=t.rangeMin,I[n+4>>2]=t.rangeMax,I[r>>2]=t.precision;},Ea:function(t,e,n){n?35716==e?(null===(t=rn.getShaderInfoLog(Ce[t]))&&(t="(unknown error)"),I[n>>2]=t?t.length+1:0):35720==e?(t=rn.getShaderSource(Ce[t]),I[n>>2]=t?t.length+1:0):I[n>>2]=rn.getShaderParameter(Ce[t],e):Re(1281);},F:function(t){var e=Ae[t];if(!e){switch(t){case 7939:e=Ge((e=(e=rn.getSupportedExtensions()||[]).concat(e.map((function(t){return "GL_"+t})))).join(" "));break;case 7936:case 7937:case 37445:case 37446:(e=rn.getParameter(t))||Re(1280),e=e&&Ge(e);break;case 7938:e=rn.getParameter(7938),e=Ge(e=2<=Fe.version?"OpenGL ES 3.0 ("+e+")":"OpenGL ES 2.0 ("+e+")");break;case 35724:var n=(e=rn.getParameter(35724)).match(/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/);null!==n&&(3==n[1].length&&(n[1]+="0"),e="OpenGL ES GLSL ES "+n[1]+" ("+e+")"),e=Ge(e);break;default:Re(1280);}Ae[t]=e;}return e},bb:function(t,e){if(2>Fe.version)return Re(1282),0;var n=Ie[t];return n?0>e||e>=n.length?(Re(1281),0):n[e]:7939===t?(n=(n=(n=rn.getSupportedExtensions()||[]).concat(n.map((function(t){return "GL_"+t})))).map((function(t){return Ge(t)})),n=Ie[t]=n,0>e||e>=n.length?(Re(1281),0):n[e]):(Re(1280),0)},Fa:function(t,e){if(e=U(e),t=Te[t]){var n,r=t,i=r.He,o=r.pf;if(!i)for(r.He=i={},r.nf={},n=0;n>>0,o=e.slice(0,n)),(o=t.pf[o])&&i>2];rn.invalidateFramebuffer(t,r);},Lb:function(t,e,n,r,i,o,a){for(var s=Ue[e],u=0;u>2];rn.invalidateSubFramebuffer(t,s,r,i,o,a);},Sb:function(t){return rn.isSync(Oe[t])},Ga:function(t){return (t=xe[t])?rn.isTexture(t):0},Ha:function(t){rn.lineWidth(t);},Ia:function(t){t=Te[t],rn.linkProgram(t),t.He=0,t.pf={};},lc:function(t,e,n,r,i,o){rn.lf.multiDrawArraysInstancedBaseInstanceWEBGL(t,I,e>>2,I,n>>2,I,r>>2,P,i>>2,o);},mc:function(t,e,n,r,i,o,a,s){rn.lf.multiDrawElementsInstancedBaseVertexBaseInstanceWEBGL(t,I,e>>2,n,I,r>>2,I,i>>2,I,o>>2,P,a>>2,s);},Ja:function(t,e){3317==t&&(Pe=e),rn.pixelStorei(t,e);},oc:function(t){rn.readBuffer(t);},Ka:function(t,e,n,r,i,o,a){if(2<=Fe.version)if(rn.Xe)rn.readPixels(t,e,n,r,i,o,a);else {var s=qe(o);rn.readPixels(t,e,n,r,i,o,s,a>>31-Math.clz32(s.BYTES_PER_ELEMENT));}else (a=He(o,i,n,r,a))?rn.readPixels(t,e,n,r,i,o,a):Re(1280);},Zb:function(t,e,n,r){rn.renderbufferStorage(t,e,n,r);},Ub:function(t,e,n,r,i){rn.renderbufferStorageMultisample(t,e,n,r,i);},Pb:function(t,e,n){rn.samplerParameteri(Ne[t],e,n);},Qb:function(t,e,n){rn.samplerParameteri(Ne[t],e,I[n>>2]);},La:function(t,e,n,r){rn.scissor(t,e,n,r);},Ma:function(t,e,n,r){for(var i="",o=0;o>2]:-1;i+=U(I[n+4*o>>2],0>a?void 0:a);}rn.shaderSource(Ce[t],i);},Na:function(t,e,n){rn.stencilFunc(t,e,n);},Oa:function(t,e,n,r){rn.stencilFuncSeparate(t,e,n,r);},Pa:function(t){rn.stencilMask(t);},Qa:function(t,e){rn.stencilMaskSeparate(t,e);},Ra:function(t,e,n){rn.stencilOp(t,e,n);},Sa:function(t,e,n,r){rn.stencilOpSeparate(t,e,n,r);},Ta:function(t,e,n,r,i,o,a,s,u){if(2<=Fe.version)if(rn.we)rn.texImage2D(t,e,n,r,i,o,a,s,u);else if(u){var l=qe(s);rn.texImage2D(t,e,n,r,i,o,a,s,l,u>>31-Math.clz32(l.BYTES_PER_ELEMENT));}else rn.texImage2D(t,e,n,r,i,o,a,s,null);else rn.texImage2D(t,e,n,r,i,o,a,s,u?He(s,a,r,i,u):null);},Ua:function(t,e,n){rn.texParameterf(t,e,n);},Va:function(t,e,n){rn.texParameterf(t,e,R[n>>2]);},Wa:function(t,e,n){rn.texParameteri(t,e,n);},Ya:function(t,e,n){rn.texParameteri(t,e,I[n>>2]);},ic:function(t,e,n,r,i){rn.texStorage2D(t,e,n,r,i);},Za:function(t,e,n,r,i,o,a,s,u){if(2<=Fe.version)if(rn.we)rn.texSubImage2D(t,e,n,r,i,o,a,s,u);else if(u){var l=qe(s);rn.texSubImage2D(t,e,n,r,i,o,a,s,l,u>>31-Math.clz32(l.BYTES_PER_ELEMENT));}else rn.texSubImage2D(t,e,n,r,i,o,a,s,null);else l=null,u&&(l=He(s,a,i,o,u)),rn.texSubImage2D(t,e,n,r,i,o,a,s,l);},_a:function(t,e){rn.uniform1f(ze(t),e);},$a:function(t,e,n){if(2<=Fe.version)e&&rn.uniform1fv(ze(t),R,n>>2,e);else {if(288>=e)for(var r=Ve[e-1],i=0;i>2];else r=R.subarray(n>>2,n+4*e>>2);rn.uniform1fv(ze(t),r);}},Tc:function(t,e){rn.uniform1i(ze(t),e);},Uc:function(t,e,n){if(2<=Fe.version)e&&rn.uniform1iv(ze(t),I,n>>2,e);else {if(288>=e)for(var r=Xe[e-1],i=0;i>2];else r=I.subarray(n>>2,n+4*e>>2);rn.uniform1iv(ze(t),r);}},Vc:function(t,e,n){rn.uniform2f(ze(t),e,n);},Wc:function(t,e,n){if(2<=Fe.version)e&&rn.uniform2fv(ze(t),R,n>>2,2*e);else {if(144>=e)for(var r=Ve[2*e-1],i=0;i<2*e;i+=2)r[i]=R[n+4*i>>2],r[i+1]=R[n+(4*i+4)>>2];else r=R.subarray(n>>2,n+8*e>>2);rn.uniform2fv(ze(t),r);}},Sc:function(t,e,n){rn.uniform2i(ze(t),e,n);},Rc:function(t,e,n){if(2<=Fe.version)e&&rn.uniform2iv(ze(t),I,n>>2,2*e);else {if(144>=e)for(var r=Xe[2*e-1],i=0;i<2*e;i+=2)r[i]=I[n+4*i>>2],r[i+1]=I[n+(4*i+4)>>2];else r=I.subarray(n>>2,n+8*e>>2);rn.uniform2iv(ze(t),r);}},Qc:function(t,e,n,r){rn.uniform3f(ze(t),e,n,r);},Pc:function(t,e,n){if(2<=Fe.version)e&&rn.uniform3fv(ze(t),R,n>>2,3*e);else {if(96>=e)for(var r=Ve[3*e-1],i=0;i<3*e;i+=3)r[i]=R[n+4*i>>2],r[i+1]=R[n+(4*i+4)>>2],r[i+2]=R[n+(4*i+8)>>2];else r=R.subarray(n>>2,n+12*e>>2);rn.uniform3fv(ze(t),r);}},Oc:function(t,e,n,r){rn.uniform3i(ze(t),e,n,r);},Nc:function(t,e,n){if(2<=Fe.version)e&&rn.uniform3iv(ze(t),I,n>>2,3*e);else {if(96>=e)for(var r=Xe[3*e-1],i=0;i<3*e;i+=3)r[i]=I[n+4*i>>2],r[i+1]=I[n+(4*i+4)>>2],r[i+2]=I[n+(4*i+8)>>2];else r=I.subarray(n>>2,n+12*e>>2);rn.uniform3iv(ze(t),r);}},Mc:function(t,e,n,r,i){rn.uniform4f(ze(t),e,n,r,i);},Lc:function(t,e,n){if(2<=Fe.version)e&&rn.uniform4fv(ze(t),R,n>>2,4*e);else {if(72>=e){var r=Ve[4*e-1],i=R;n>>=2;for(var o=0;o<4*e;o+=4){var a=n+o;r[o]=i[a],r[o+1]=i[a+1],r[o+2]=i[a+2],r[o+3]=i[a+3];}}else r=R.subarray(n>>2,n+16*e>>2);rn.uniform4fv(ze(t),r);}},zc:function(t,e,n,r,i){rn.uniform4i(ze(t),e,n,r,i);},Ac:function(t,e,n){if(2<=Fe.version)e&&rn.uniform4iv(ze(t),I,n>>2,4*e);else {if(72>=e)for(var r=Xe[4*e-1],i=0;i<4*e;i+=4)r[i]=I[n+4*i>>2],r[i+1]=I[n+(4*i+4)>>2],r[i+2]=I[n+(4*i+8)>>2],r[i+3]=I[n+(4*i+12)>>2];else r=I.subarray(n>>2,n+16*e>>2);rn.uniform4iv(ze(t),r);}},Bc:function(t,e,n,r){if(2<=Fe.version)e&&rn.uniformMatrix2fv(ze(t),!!n,R,r>>2,4*e);else {if(72>=e)for(var i=Ve[4*e-1],o=0;o<4*e;o+=4)i[o]=R[r+4*o>>2],i[o+1]=R[r+(4*o+4)>>2],i[o+2]=R[r+(4*o+8)>>2],i[o+3]=R[r+(4*o+12)>>2];else i=R.subarray(r>>2,r+16*e>>2);rn.uniformMatrix2fv(ze(t),!!n,i);}},Cc:function(t,e,n,r){if(2<=Fe.version)e&&rn.uniformMatrix3fv(ze(t),!!n,R,r>>2,9*e);else {if(32>=e)for(var i=Ve[9*e-1],o=0;o<9*e;o+=9)i[o]=R[r+4*o>>2],i[o+1]=R[r+(4*o+4)>>2],i[o+2]=R[r+(4*o+8)>>2],i[o+3]=R[r+(4*o+12)>>2],i[o+4]=R[r+(4*o+16)>>2],i[o+5]=R[r+(4*o+20)>>2],i[o+6]=R[r+(4*o+24)>>2],i[o+7]=R[r+(4*o+28)>>2],i[o+8]=R[r+(4*o+32)>>2];else i=R.subarray(r>>2,r+36*e>>2);rn.uniformMatrix3fv(ze(t),!!n,i);}},Dc:function(t,e,n,r){if(2<=Fe.version)e&&rn.uniformMatrix4fv(ze(t),!!n,R,r>>2,16*e);else {if(18>=e){var i=Ve[16*e-1],o=R;r>>=2;for(var a=0;a<16*e;a+=16){var s=r+a;i[a]=o[s],i[a+1]=o[s+1],i[a+2]=o[s+2],i[a+3]=o[s+3],i[a+4]=o[s+4],i[a+5]=o[s+5],i[a+6]=o[s+6],i[a+7]=o[s+7],i[a+8]=o[s+8],i[a+9]=o[s+9],i[a+10]=o[s+10],i[a+11]=o[s+11],i[a+12]=o[s+12],i[a+13]=o[s+13],i[a+14]=o[s+14],i[a+15]=o[s+15];}}else i=R.subarray(r>>2,r+64*e>>2);rn.uniformMatrix4fv(ze(t),!!n,i);}},Ec:function(t){t=Te[t],rn.useProgram(t),rn.xf=t;},Fc:function(t,e){rn.vertexAttrib1f(t,e);},Gc:function(t,e){rn.vertexAttrib2f(t,R[e>>2],R[e+4>>2]);},Hc:function(t,e){rn.vertexAttrib3f(t,R[e>>2],R[e+4>>2],R[e+8>>2]);},Ic:function(t,e){rn.vertexAttrib4f(t,R[e>>2],R[e+4>>2],R[e+8>>2],R[e+12>>2]);},jc:function(t,e){rn.vertexAttribDivisor(t,e);},kc:function(t,e,n,r,i){rn.vertexAttribIPointer(t,e,n,r,i);},Jc:function(t,e,n,r,i,o){rn.vertexAttribPointer(t,e,n,!!r,i,o);},Kc:function(t,e,n,r){rn.viewport(t,e,n,r);},db:function(t,e,n,r){rn.waitSync(Oe[t],e,(n>>>0)+4294967296*r);},nb:function(t){var e=N.length;if(2147483648<(t>>>=0))return !1;for(var n=1;4>=n;n*=2){var r=e*(1+.2/n);r=Math.min(r,t+100663296);var i=Math,o=i.min;r=Math.max(t,r),r+=(65536-r%65536)%65536;t:{var a=M.buffer;try{M.grow(o.call(i,2147483648,r)-a.byteLength+65535>>>16),G();var s=1;break t}catch(t){}s=void 0;}if(s)return !0}return !1},Yc:function(){return Fe?Fe.Jf:0},Q:function(t){return De(t)?0:-5},sb:function(t,e){var n=0;return Ze().forEach((function(r,i){var o=e+n;for(i=P[t+4*i>>2]=o,o=0;o>0]=r.charCodeAt(o);S[i>>0]=0,n+=r.length+1;})),0},tb:function(t,e){var n=Ze();P[t>>2]=n.length;var r=0;return n.forEach((function(t){r+=t.length+1;})),P[e>>2]=r,0},Eb:function(t){C||(e.onExit&&e.onExit(t),D=!0),y(t,new et(t));},I:function(){return 52},ib:function(){return 52},yb:function(){return 52},jb:function(){return 70},G:function(t,e,n,r){for(var i=0,o=0;o>2],s=P[e+4>>2];e+=8;for(var u=0;u>2]=i,0},Zc:function(t,e){rn.bindFramebuffer(t,Ee[e]);},Xa:function(t){rn.clear(t);},wb:function(t,e,n,r){rn.clearColor(t,e,n,r);},eb:function(t){rn.clearStencil(t);},E:function(t,e){je(t,e);},f:function(t,e){var n=dn();try{return qt(t)(e)}catch(t){if(yn(n),t!==t+0)throw t;pn(1,0);}},j:function(t,e,n){var r=dn();try{return qt(t)(e,n)}catch(t){if(yn(r),t!==t+0)throw t;pn(1,0);}},d:function(t,e,n,r){var i=dn();try{return qt(t)(e,n,r)}catch(t){if(yn(i),t!==t+0)throw t;pn(1,0);}},z:function(t,e,n,r,i){var o=dn();try{return qt(t)(e,n,r,i)}catch(t){if(yn(o),t!==t+0)throw t;pn(1,0);}},Ib:function(t,e,n,r,i,o){var a=dn();try{return qt(t)(e,n,r,i,o)}catch(t){if(yn(a),t!==t+0)throw t;pn(1,0);}},N:function(t,e,n,r,i,o,a){var s=dn();try{return qt(t)(e,n,r,i,o,a)}catch(t){if(yn(s),t!==t+0)throw t;pn(1,0);}},M:function(t,e,n,r,i,o,a,s,u,l){var c=dn();try{return qt(t)(e,n,r,i,o,a,s,u,l)}catch(t){if(yn(c),t!==t+0)throw t;pn(1,0);}},C:function(t){var e=dn();try{qt(t)();}catch(t){if(yn(e),t!==t+0)throw t;pn(1,0);}},h:function(t,e){var n=dn();try{qt(t)(e);}catch(t){if(yn(n),t!==t+0)throw t;pn(1,0);}},m:function(t,e,n){var r=dn();try{qt(t)(e,n);}catch(t){if(yn(r),t!==t+0)throw t;pn(1,0);}},e:function(t,e,n,r){var i=dn();try{qt(t)(e,n,r);}catch(t){if(yn(i),t!==t+0)throw t;pn(1,0);}},l:function(t,e,n,r,i){var o=dn();try{qt(t)(e,n,r,i);}catch(t){if(yn(o),t!==t+0)throw t;pn(1,0);}},Hb:function(t,e,n,r,i,o){var a=dn();try{qt(t)(e,n,r,i,o);}catch(t){if(yn(a),t!==t+0)throw t;pn(1,0);}},Fb:function(t,e,n,r,i,o,a){var s=dn();try{qt(t)(e,n,r,i,o,a);}catch(t){if(yn(s),t!==t+0)throw t;pn(1,0);}},Gb:function(t,e,n,r,i,o,a,s,u,l){var c=dn();try{qt(t)(e,n,r,i,o,a,s,u,l);}catch(t){if(yn(c),t!==t+0)throw t;pn(1,0);}},lb:function(t,e,n,r){return function(t,e,n,r){function i(t,e,n){for(t="number"==typeof t?t.toString():t||"";t.lengtht?-1:0r-t.getDate())){t.setDate(t.getDate()+e);break}e-=r-t.getDate()+1,t.setDate(1),11>n?t.setMonth(n+1):(t.setMonth(0),t.setFullYear(t.getFullYear()+1));}return n=new Date(t.getFullYear()+1,0,4),e=s(new Date(t.getFullYear(),0,4)),n=s(n),0>=a(e,t)?0>=a(n,t)?t.getFullYear()+1:t.getFullYear():t.getFullYear()-1}var l=I[r+40>>2];for(var c in r={eg:I[r>>2],dg:I[r+4>>2],Re:I[r+8>>2],af:I[r+12>>2],Se:I[r+16>>2],ge:I[r+20>>2],Zd:I[r+24>>2],fe:I[r+28>>2],kg:I[r+32>>2],cg:I[r+36>>2],fg:l?U(l):""},n=U(n),l={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"})n=n.replace(new RegExp(c,"g"),l[c]);var h="Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),f="January February March April May June July August September October November December".split(" ");for(c in l={"%a":function(t){return h[t.Zd].substring(0,3)},"%A":function(t){return h[t.Zd]},"%b":function(t){return f[t.Se].substring(0,3)},"%B":function(t){return f[t.Se]},"%C":function(t){return o((t.ge+1900)/100|0,2)},"%d":function(t){return o(t.af,2)},"%e":function(t){return i(t.af,2," ")},"%g":function(t){return u(t).toString().substring(2)},"%G":function(t){return u(t)},"%H":function(t){return o(t.Re,2)},"%I":function(t){return 0==(t=t.Re)?t=12:12t.Re?"AM":"PM"},"%S":function(t){return o(t.eg,2)},"%t":function(){return "\t"},"%u":function(t){return t.Zd||7},"%U":function(t){return o(Math.floor((t.fe+7-t.Zd)/7),2)},"%V":function(t){var e=Math.floor((t.fe+7-(t.Zd+6)%7)/7);if(2>=(t.Zd+371-t.fe-2)%7&&e++,e)53==e&&(4==(n=(t.Zd+371-t.fe)%7)||3==n&&Je(t.ge)||(e=1));else {e=52;var n=(t.Zd+7-t.fe-1)%7;(4==n||5==n&&Je(t.ge%400-1))&&e++;}return o(e,2)},"%w":function(t){return t.Zd},"%W":function(t){return o(Math.floor((t.fe+7-(t.Zd+6)%7)/7),2)},"%y":function(t){return (t.ge+1900).toString().substring(2)},"%Y":function(t){return t.ge+1900},"%z":function(t){var e=0<=(t=t.cg);return t=Math.abs(t)/60,(e?"+":"-")+String("0000"+(t/60*100+t%60)).slice(-4)},"%Z":function(t){return t.fg},"%%":function(){return "%"}},n=n.replace(/%%/g,"\0\0"),l)n.includes(c)&&(n=n.replace(new RegExp(c,"g"),l[c](r)));return c=function(t){var e=Array(j(t)+1);return B(t,e,0,e.length),e}(n=n.replace(/\0\0/g,"%")),c.length>e?0:(S.set(c,t),c.length-1)}(t,e,n,r)}};!function(){function t(t){e.asm=t.exports,M=e.asm._c,G(),W=e.asm.ad,H.unshift(e.asm.$c),Y--,e.monitorRunDependencies&&e.monitorRunDependencies(Y),0==Y&&(null!==Z&&(clearInterval(Z),Z=null),Q&&(t=Q,Q=null,t()));}function n(e){t(e.instance);}function r(t){return function(){if(!E&&(m||g)){if("function"==typeof fetch&&!X.startsWith("file://"))return fetch(X,{credentials:"same-origin"}).then((function(t){if(!t.ok)throw "failed to load wasm binary file at '"+X+"'";return t.arrayBuffer()})).catch((function(){return tt()}));if(h)return new Promise((function(t,e){h(X,(function(e){t(new Uint8Array(e));}),e);}))}return Promise.resolve().then((function(){return tt()}))}().then((function(t){return WebAssembly.instantiate(t,i)})).then((function(t){return t})).then(t,(function(t){x("failed to asynchronously prepare wasm: "+t),K(t);}))}var i={a:un};if(Y++,e.monitorRunDependencies&&e.monitorRunDependencies(Y),e.instantiateWasm)try{return e.instantiateWasm(i,t)}catch(t){x("Module.instantiateWasm callback failed with error: "+t),u(t);}(E||"function"!=typeof WebAssembly.instantiateStreaming||J()||X.startsWith("file://")||_||"function"!=typeof fetch?r(n):fetch(X,{credentials:"same-origin"}).then((function(t){return WebAssembly.instantiateStreaming(t,i).then(n,(function(t){return x("wasm streaming compile failed: "+t),x("falling back to ArrayBuffer instantiation"),r(n)}))}))).catch(u);}();var ln,cn=e._free=function(){return (cn=e._free=e.asm.bd).apply(null,arguments)},hn=e._malloc=function(){return (hn=e._malloc=e.asm.cd).apply(null,arguments)},fn=e.___getTypeName=function(){return (fn=e.___getTypeName=e.asm.dd).apply(null,arguments)};function pn(){return (pn=e.asm.fd).apply(null,arguments)}function dn(){return (dn=e.asm.gd).apply(null,arguments)}function yn(){return (yn=e.asm.hd).apply(null,arguments)}function mn(){function t(){if(!ln&&(ln=!0,e.calledRun=!0,!D)){if(nt(H),s(e),e.onRuntimeInitialized&&e.onRuntimeInitialized(),e.postRun)for("function"==typeof e.postRun&&(e.postRun=[e.postRun]);e.postRun.length;){var t=e.postRun.shift();z.unshift(t);}nt(z);}}if(!(0{let r=n(4472);r="default"in r?r.default:r,t.exports=function(t){const e=JSON.parse(t.tilePieceBoundingBox),n=JSON.parse(t.tileBoundingBox),i=t.height,o=t.width,a=new Uint8ClampedArray(o*i*4),s=new Uint8ClampedArray(t.sourceImageData);let u,l;try{null==r.defs(t.projectionTo)&&r.defs(t.projectionTo,t.projectionToDefinition),null==r.defs(t.projectionFrom)&&r.defs(t.projectionFrom,t.projectionFromDefinition),u=r(t.projectionTo,t.projectionFrom);}catch(e){throw new Error("Error creating projection conversion between "+t.projectionTo+" and "+t.projectionFrom+".")}for(let r=0;r=0&&d=0&&y{"use strict";n.r(e),n.d(e,{TileUtilities:()=>o});var r=n(1375),i=n(5604);class o{static getPiecePosition(t,e,n,o,a,s,u,l,c,h,f,p){let d;try{null==i.Projection.hasProjection(a)&&i.Projection.loadProjection(a,s),null==i.Projection.hasProjection(u)&&i.Projection.loadProjection(u,l),d=i.Projection.getConverter(a,u);}catch(t){throw new Error("Error creating projection conversion between "+a+" and "+u+".")}let y=t.maxLatitude,m=t.minLatitude,g=t.minLongitude-f,_=t.maxLongitude+f;a.toUpperCase()===r.ProjectionConstants.EPSG_3857&&u.toUpperCase()===r.ProjectionConstants.EPSG_4326&&(y=y>r.ProjectionConstants.WEB_MERCATOR_MAX_LAT_RANGE?r.ProjectionConstants.WEB_MERCATOR_MAX_LAT_RANGE:y,m=mr.ProjectionConstants.WEB_MERCATOR_MAX_LON_RANGE?r.ProjectionConstants.WEB_MERCATOR_MAX_LON_RANGE:_);const b=i.Projection.convertCoordinates(r.ProjectionConstants.EPSG_4326,a,[-180,0]),v=i.Projection.convertCoordinates(r.ProjectionConstants.EPSG_4326,a,[180,0]);g=gv[0]?v[0]:_;const T=d.inverse([g,m]),E=d.inverse([_,y]),w=isNaN(T[1])?e.minLatitude:T[1],x=isNaN(E[1])?e.maxLatitude:E[1],C=T[0],M=E[0];return {startY:Math.max(0,Math.floor((e.maxLatitude-x)/c)),startX:Math.max(0,Math.floor((C-e.minLongitude)/h)),endY:Math.min(n,n-Math.floor((w-e.minLatitude)/c)),endX:Math.min(o,o-Math.floor((e.maxLongitude-M)/h))}}}},7591:(t,e,n)=>{var r=n(5108);const i=n(2331);function o(t){const e=t.data,n=i(e);this.postMessage(n),this.close();}t.exports=function(t){t.onmessage=o,t.onerror=function(t){r.log("error",t);};};},9705:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(1540);function i(t){var e=[1/0,1/0,-1/0,-1/0];return r.coordEach(t,(function(t){e[0]>t[0]&&(e[0]=t[0]),e[1]>t[1]&&(e[1]=t[1]),e[2]{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(611);e.default=function(t){for(var e,n,i=r.getCoords(t),o=0,a=1;a0};},8147:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(611);function i(t,e,n){var r=!1;e[0][0]===e[e.length-1][0]&&e[0][1]===e[e.length-1][1]&&(e=e.slice(0,e.length-1));for(var i=0,o=e.length-1;it[1]!=l>t[1]&&t[0]<(u-a)*(t[1]-s)/(l-s)+a&&(r=!r);}return r}e.default=function(t,e,n){if(void 0===n&&(n={}),!t)throw new Error("point is required");if(!e)throw new Error("polygon is required");var o=r.getCoord(t),a=r.getGeom(e),s=a.type,u=e.bbox,l=a.coordinates;if(u&&!1===function(t,e){return e[0]<=t[0]&&e[1]<=t[1]&&e[2]>=t[0]&&e[3]>=t[1]}(o,u))return !1;"Polygon"===s&&(l=[l]);for(var c=!1,h=0;h{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(611);function i(t,e,n,r,i){var o=n[0],a=n[1],s=t[0],u=t[1],l=e[0],c=e[1],h=l-s,f=c-u,p=(n[0]-s)*f-(n[1]-u)*h;if(null!==i){if(Math.abs(p)>i)return !1}else if(0!==p)return !1;return r?"start"===r?Math.abs(h)>=Math.abs(f)?h>0?s0?u=Math.abs(f)?h>0?s<=o&&o0?u<=a&&a=Math.abs(f)?h>0?s0?u=Math.abs(f)?h>0?s<=o&&o<=l:l<=o&&o<=s:f>0?u<=a&&a<=c:c<=a&&a<=u}e.default=function(t,e,n){void 0===n&&(n={});for(var o=r.getCoord(t),a=r.getCoords(e),s=0;se[0]||t[2]e[1]||t[3]{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(1540);function i(t){var e=[1/0,1/0,-1/0,-1/0];return r.coordEach(t,(function(t){e[0]>t[0]&&(e[0]=t[0]),e[1]>t[1]&&(e[1]=t[1]),e[2]{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(611),i=n(4102);e.default=function(t,e,n){void 0===n&&(n={});var o=r.getCoord(t),a=r.getCoord(e),s=i.degreesToRadians(a[1]-o[1]),u=i.degreesToRadians(a[0]-o[0]),l=i.degreesToRadians(o[1]),c=i.degreesToRadians(a[1]),h=Math.pow(Math.sin(s/2),2)+Math.pow(Math.sin(u/2),2)*Math.cos(l)*Math.cos(c);return i.radiansToLength(2*Math.atan2(Math.sqrt(h),Math.sqrt(1-h)),n.units)};},4102:(t,e)=>{"use strict";function n(t,e,n){void 0===n&&(n={});var r={type:"Feature"};return (0===n.id||n.id)&&(r.id=n.id),n.bbox&&(r.bbox=n.bbox),r.properties=e||{},r.geometry=t,r}function r(t,e,r){if(void 0===r&&(r={}),!t)throw new Error("coordinates is required");if(!Array.isArray(t))throw new Error("coordinates must be an Array");if(t.length<2)throw new Error("coordinates must be at least 2 numbers long");if(!p(t[0])||!p(t[1]))throw new Error("coordinates must contain numbers");return n({type:"Point",coordinates:t},e,r)}function i(t,e,r){void 0===r&&(r={});for(var i=0,o=t;i=0))throw new Error("precision must be a positive number");var n=Math.pow(10,e||0);return Math.round(t*n)/n},e.radiansToLength=c,e.lengthToRadians=h,e.lengthToDegrees=function(t,e){return f(h(t,e))},e.bearingToAzimuth=function(t){var e=t%360;return e<0&&(e+=360),e},e.radiansToDegrees=f,e.degreesToRadians=function(t){return t%360*Math.PI/180},e.convertLength=function(t,e,n){if(void 0===e&&(e="kilometers"),void 0===n&&(n="kilometers"),!(t>=0))throw new Error("length must be a positive number");return c(h(t,e),n)},e.convertArea=function(t,n,r){if(void 0===n&&(n="meters"),void 0===r&&(r="kilometers"),!(t>=0))throw new Error("area must be a positive number");var i=e.areaFactors[n];if(!i)throw new Error("invalid original units");var o=e.areaFactors[r];if(!o)throw new Error("invalid final units");return t/i*o},e.isNumber=p,e.isObject=function(t){return !!t&&t.constructor===Object},e.validateBBox=function(t){if(!t)throw new Error("bbox is required");if(!Array.isArray(t))throw new Error("bbox must be an Array");if(4!==t.length&&6!==t.length)throw new Error("bbox must be an Array of 4 or 6 numbers");t.forEach((function(t){if(!p(t))throw new Error("bbox must only contain numbers")}));},e.validateId=function(t){if(!t)throw new Error("id is required");if(-1===["string","number"].indexOf(typeof t))throw new Error("id must be a number or a string")};},4170:function(t,e,n){"use strict";var r=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});var i=n(4102),o=n(611),a=r(n(2676));e.default=function(t,e,n){void 0===n&&(n={});var r=o.getGeom(t),s=o.getGeom(e),u=a.default.intersection(r.coordinates,s.coordinates);return 0===u.length?null:1===u.length?i.polygon(u[0],n.properties):i.multiPolygon(u,n.properties)};},611:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(4102);e.getCoord=function(t){if(!t)throw new Error("coord is required");if(!Array.isArray(t)){if("Feature"===t.type&&null!==t.geometry&&"Point"===t.geometry.type)return t.geometry.coordinates;if("Point"===t.type)return t.coordinates}if(Array.isArray(t)&&t.length>=2&&!Array.isArray(t[0])&&!Array.isArray(t[1]))return t;throw new Error("coord must be GeoJSON Point or an Array of numbers")},e.getCoords=function(t){if(Array.isArray(t))return t;if("Feature"===t.type){if(null!==t.geometry)return t.geometry.coordinates}else if(t.coordinates)return t.coordinates;throw new Error("coords must be GeoJSON Feature, Geometry Object or an Array")},e.containsNumber=function t(e){if(e.length>1&&r.isNumber(e[0])&&r.isNumber(e[1]))return !0;if(Array.isArray(e[0])&&e[0].length)return t(e[0]);throw new Error("coordinates must only contain numbers")},e.geojsonType=function(t,e,n){if(!e||!n)throw new Error("type and name required");if(!t||t.type!==e)throw new Error("Invalid input to "+n+": must be a "+e+", given "+t.type)},e.featureOf=function(t,e,n){if(!t)throw new Error("No feature passed");if(!n)throw new Error(".featureOf() requires a name");if(!t||"Feature"!==t.type||!t.geometry)throw new Error("Invalid input to "+n+", Feature with geometry required");if(!t.geometry||t.geometry.type!==e)throw new Error("Invalid input to "+n+": must be a "+e+", given "+t.geometry.type)},e.collectionOf=function(t,e,n){if(!t)throw new Error("No featureCollection passed");if(!n)throw new Error(".collectionOf() requires a name");if(!t||"FeatureCollection"!==t.type)throw new Error("Invalid input to "+n+", FeatureCollection required");for(var r=0,i=t.features;r line1 must only contain 2 coordinates");if(2!==r.length)throw new Error(" line2 must only contain 2 coordinates");var a=n[0][0],s=n[0][1],u=n[1][0],l=n[1][1],c=r[0][0],h=r[0][1],f=r[1][0],p=r[1][1],d=(p-h)*(u-a)-(f-c)*(l-s);if(0===d)return null;var y=((f-c)*(s-h)-(p-h)*(a-c))/d,m=((u-a)*(s-h)-(l-s)*(a-c))/d;if(y>=0&&y<=1&&m>=0&&m<=1){var g=a+y*(u-a),_=s+y*(l-s);return i.point([g,_])}return null}e.default=function(t,e){var n={},r=[];if("LineString"===t.type&&(t=i.feature(t)),"LineString"===e.type&&(e=i.feature(e)),"Feature"===t.type&&"Feature"===e.type&&null!==t.geometry&&null!==e.geometry&&"LineString"===t.geometry.type&&"LineString"===e.geometry.type&&2===t.geometry.coordinates.length&&2===e.geometry.coordinates.length){var c=l(t,e);return c&&r.push(c),i.featureCollection(r)}var h=u.default();return h.load(a.default(e)),s.featureEach(a.default(t),(function(t){s.featureEach(h.search(t),(function(e){var i=l(t,e);if(i){var a=o.getCoords(i).join(",");n[a]||(n[a]=!0,r.push(i));}}));})),i.featureCollection(r)};},4590:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(4102),i=n(611),o=n(1540);e.default=function(t){if(!t)throw new Error("geojson is required");var e=[];return o.flattenEach(t,(function(t){!function(t,e){var n=[],o=t.geometry;if(null!==o){switch(o.type){case "Polygon":n=i.getCoords(o);break;case "LineString":n=[i.getCoords(o)];}n.forEach((function(n){var i=function(t,e){var n=[];return t.reduce((function(t,i){var o,a,s,u,l,c,h=r.lineString([t,i],e);return h.bbox=(a=i,s=(o=t)[0],u=o[1],[s<(l=a[0])?s:l,u<(c=a[1])?u:c,s>l?s:l,u>c?u:c]),n.push(h),i})),n}(n,t.properties);i.forEach((function(t){t.id=e.length,e.push(t);}));}));}}(t,e);})),r.featureCollection(e)};},1540:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(4102);function i(t,e,n){if(null!==t)for(var r,o,a,s,u,l,c,h,f=0,p=0,d=t.type,y="FeatureCollection"===d,m="Feature"===d,g=y?t.features.length:1,_=0;_l||p>c||d>h)return u=i,l=n,c=p,h=d,void(a=0);var y=r.lineString([u,i],t.properties);if(!1===e(y,n,o,d,a))return !1;a++,u=i;}))&&void 0}}}));}function c(t,e){if(!t)throw new Error("geojson is required");u(t,(function(t,n,i){if(null!==t.geometry){var o=t.geometry.type,a=t.geometry.coordinates;switch(o){case "LineString":if(!1===e(t,n,i,0,0))return !1;break;case "Polygon":for(var s=0;s{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(4102),i=n(611);function o(t,e){return void 0===e&&(e={}),s(i.getGeom(t).coordinates,e.properties?e.properties:"Feature"===t.type?t.properties:{})}function a(t,e){void 0===e&&(e={});var n=i.getGeom(t).coordinates,o=e.properties?e.properties:"Feature"===t.type?t.properties:{},a=[];return n.forEach((function(t){a.push(s(t,o));})),r.featureCollection(a)}function s(t,e){return t.length>1?r.multiLineString(t,e):r.lineString(t[0],e)}e.default=function(t,e){void 0===e&&(e={});var n=i.getGeom(t);switch(e.properties||"Feature"!==t.type||(e.properties=t.properties),n.type){case "Polygon":return o(n,e);case "MultiPolygon":return a(n,e);default:throw new Error("invalid poly")}},e.polygonToLine=o,e.multiPolygonToLine=a,e.coordsToLine=s;},6213:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=n(4102),i=n(611);e.default=function(t,e,n){void 0===n&&(n={});var o=i.getCoord(t),a=i.getCoord(e);a[0]+=a[0]-o[0]>180?-360:o[0]-a[0]>180?360:0;var s=function(t,e,n){var i=n=void 0===n?r.earthRadius:Number(n),o=t[1]*Math.PI/180,a=e[1]*Math.PI/180,s=a-o,u=Math.abs(e[0]-t[0])*Math.PI/180;u>Math.PI&&(u-=2*Math.PI);var l=Math.log(Math.tan(a/2+Math.PI/4)/Math.tan(o/2+Math.PI/4)),c=Math.abs(l)>1e-11?s/l:Math.cos(o);return Math.sqrt(s*s+c*c*u*u)*i}(o,a);return r.convertLength(s,"meters",n.units)};},8583:(t,e,n)=>{"use strict";var r=n(7418);function i(t,e){if(t===e)return 0;for(var n=t.length,r=e.length,i=0,o=Math.min(n,r);i=0;l--)if(c[l]!==h[l])return !1;for(l=c.length-1;l>=0;l--)if(!b(t[s=c[l]],e[s],n,r))return !1;return !0}(t,e,n,r))}return n?t===e:t==e}function v(t){return "[object Arguments]"==Object.prototype.toString.call(t)}function T(t,e){if(!t||!e)return !1;if("[object RegExp]"==Object.prototype.toString.call(e))return e.test(t);try{if(t instanceof e)return !0}catch(t){}return !Error.isPrototypeOf(e)&&!0===e.call({},t)}function E(t,e,n,r){var i;if("function"!=typeof e)throw new TypeError('"block" argument must be a function');"string"==typeof n&&(r=n,n=null),i=function(t){var e;try{t();}catch(t){e=t;}return e}(e),r=(n&&n.name?" ("+n.name+").":".")+(r?" "+r:"."),t&&!i&&g(i,n,"Missing expected exception"+r);var o="string"==typeof r,s=!t&&i&&!n;if((!t&&a.isError(i)&&o&&T(i,n)||s)&&g(i,n,"Got unwanted exception"+r),t&&i&&n&&!T(i,n)||!t&&i)throw i}f.AssertionError=function(t){this.name="AssertionError",this.actual=t.actual,this.expected=t.expected,this.operator=t.operator,t.message?(this.message=t.message,this.generatedMessage=!1):(this.message=function(t){return y(m(t.actual),128)+" "+t.operator+" "+y(m(t.expected),128)}(this),this.generatedMessage=!0);var e=t.stackStartFunction||g;if(Error.captureStackTrace)Error.captureStackTrace(this,e);else {var n=new Error;if(n.stack){var r=n.stack,i=d(e),o=r.indexOf("\n"+i);if(o>=0){var a=r.indexOf("\n",o+1);r=r.substring(a+1);}this.stack=r;}}},a.inherits(f.AssertionError,Error),f.fail=g,f.ok=_,f.equal=function(t,e,n){t!=e&&g(t,e,n,"==",f.equal);},f.notEqual=function(t,e,n){t==e&&g(t,e,n,"!=",f.notEqual);},f.deepEqual=function(t,e,n){b(t,e,!1)||g(t,e,n,"deepEqual",f.deepEqual);},f.deepStrictEqual=function(t,e,n){b(t,e,!0)||g(t,e,n,"deepStrictEqual",f.deepStrictEqual);},f.notDeepEqual=function(t,e,n){b(t,e,!1)&&g(t,e,n,"notDeepEqual",f.notDeepEqual);},f.notDeepStrictEqual=function t(e,n,r){b(e,n,!0)&&g(e,n,r,"notDeepStrictEqual",t);},f.strictEqual=function(t,e,n){t!==e&&g(t,e,n,"===",f.strictEqual);},f.notStrictEqual=function(t,e,n){t===e&&g(t,e,n,"!==",f.notStrictEqual);},f.throws=function(t,e,n){E(!0,t,e,n);},f.doesNotThrow=function(t,e,n){E(!1,t,e,n);},f.ifError=function(t){if(t)throw t},f.strict=r((function t(e,n){e||g(e,!0,n,"==",t);}),f,{equal:f.strictEqual,deepEqual:f.deepStrictEqual,notEqual:f.notStrictEqual,notDeepEqual:f.notDeepStrictEqual}),f.strict.strict=f.strict;var w=Object.keys||function(t){var e=[];for(var n in t)s.call(t,n)&&e.push(n);return e};},6076:t=>{"function"==typeof Object.create?t.exports=function(t,e){t.super_=e,t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}});}:t.exports=function(t,e){t.super_=e;var n=function(){};n.prototype=e.prototype,t.prototype=new n,t.prototype.constructor=t;};},2014:t=>{t.exports=function(t){return t&&"object"==typeof t&&"function"==typeof t.copy&&"function"==typeof t.fill&&"function"==typeof t.readUInt8};},69:(t,e,n)=>{var r=n(4155),i=n(5108),o=/%[sdj%]/g;e.format=function(t){if(!_(t)){for(var e=[],n=0;n=i)return t;switch(t){case "%s":return String(r[n++]);case "%d":return Number(r[n++]);case "%j":try{return JSON.stringify(r[n++])}catch(t){return "[Circular]"}default:return t}})),s=r[n];n=3&&(r.depth=arguments[2]),arguments.length>=4&&(r.colors=arguments[3]),y(n)?r.showHidden=n:n&&e._extend(r,n),b(r.showHidden)&&(r.showHidden=!1),b(r.depth)&&(r.depth=2),b(r.colors)&&(r.colors=!1),b(r.customInspect)&&(r.customInspect=!0),r.colors&&(r.stylize=l),h(r,t,r.depth)}function l(t,e){var n=u.styles[e];return n?"["+u.colors[n][0]+"m"+t+"["+u.colors[n][1]+"m":t}function c(t,e){return t}function h(t,n,r){if(t.customInspect&&n&&x(n.inspect)&&n.inspect!==e.inspect&&(!n.constructor||n.constructor.prototype!==n)){var i=n.inspect(r,t);return _(i)||(i=h(t,i,r)),i}var o=function(t,e){if(b(e))return t.stylize("undefined","undefined");if(_(e)){var n="'"+JSON.stringify(e).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return t.stylize(n,"string")}return g(e)?t.stylize(""+e,"number"):y(e)?t.stylize(""+e,"boolean"):m(e)?t.stylize("null","null"):void 0}(t,n);if(o)return o;var a=Object.keys(n),s=function(t){var e={};return t.forEach((function(t,n){e[t]=!0;})),e}(a);if(t.showHidden&&(a=Object.getOwnPropertyNames(n)),w(n)&&(a.indexOf("message")>=0||a.indexOf("description")>=0))return f(n);if(0===a.length){if(x(n)){var u=n.name?": "+n.name:"";return t.stylize("[Function"+u+"]","special")}if(v(n))return t.stylize(RegExp.prototype.toString.call(n),"regexp");if(E(n))return t.stylize(Date.prototype.toString.call(n),"date");if(w(n))return f(n)}var l,c="",T=!1,C=["{","}"];return d(n)&&(T=!0,C=["[","]"]),x(n)&&(c=" [Function"+(n.name?": "+n.name:"")+"]"),v(n)&&(c=" "+RegExp.prototype.toString.call(n)),E(n)&&(c=" "+Date.prototype.toUTCString.call(n)),w(n)&&(c=" "+f(n)),0!==a.length||T&&0!=n.length?r<0?v(n)?t.stylize(RegExp.prototype.toString.call(n),"regexp"):t.stylize("[Object]","special"):(t.seen.push(n),l=T?function(t,e,n,r,i){for(var o=[],a=0,s=e.length;a60?n[0]+(""===e?"":e+"\n ")+" "+t.join(",\n ")+" "+n[1]:n[0]+e+" "+t.join(", ")+" "+n[1]}(l,c,C)):C[0]+c+C[1]}function f(t){return "["+Error.prototype.toString.call(t)+"]"}function p(t,e,n,r,i,o){var a,s,u;if((u=Object.getOwnPropertyDescriptor(e,i)||{value:e[i]}).get?s=u.set?t.stylize("[Getter/Setter]","special"):t.stylize("[Getter]","special"):u.set&&(s=t.stylize("[Setter]","special")),N(r,i)||(a="["+i+"]"),s||(t.seen.indexOf(u.value)<0?(s=m(n)?h(t,u.value,null):h(t,u.value,n-1)).indexOf("\n")>-1&&(s=o?s.split("\n").map((function(t){return " "+t})).join("\n").substr(2):"\n"+s.split("\n").map((function(t){return " "+t})).join("\n")):s=t.stylize("[Circular]","special")),b(a)){if(o&&i.match(/^\d+$/))return s;(a=JSON.stringify(""+i)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(a=a.substr(1,a.length-2),a=t.stylize(a,"name")):(a=a.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),a=t.stylize(a,"string"));}return a+": "+s}function d(t){return Array.isArray(t)}function y(t){return "boolean"==typeof t}function m(t){return null===t}function g(t){return "number"==typeof t}function _(t){return "string"==typeof t}function b(t){return void 0===t}function v(t){return T(t)&&"[object RegExp]"===C(t)}function T(t){return "object"==typeof t&&null!==t}function E(t){return T(t)&&"[object Date]"===C(t)}function w(t){return T(t)&&("[object Error]"===C(t)||t instanceof Error)}function x(t){return "function"==typeof t}function C(t){return Object.prototype.toString.call(t)}function M(t){return t<10?"0"+t.toString(10):t.toString(10)}e.debuglog=function(t){if(b(a)&&(a=r.env.NODE_DEBUG||""),t=t.toUpperCase(),!s[t])if(new RegExp("\\b"+t+"\\b","i").test(a)){var n=r.pid;s[t]=function(){var r=e.format.apply(e,arguments);i.error("%s %d: %s",t,n,r);};}else s[t]=function(){};return s[t]},e.inspect=u,u.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},u.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},e.isArray=d,e.isBoolean=y,e.isNull=m,e.isNullOrUndefined=function(t){return null==t},e.isNumber=g,e.isString=_,e.isSymbol=function(t){return "symbol"==typeof t},e.isUndefined=b,e.isRegExp=v,e.isObject=T,e.isDate=E,e.isError=w,e.isFunction=x,e.isPrimitive=function(t){return null===t||"boolean"==typeof t||"number"==typeof t||"string"==typeof t||"symbol"==typeof t||void 0===t},e.isBuffer=n(2014);var S=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function N(t,e){return Object.prototype.hasOwnProperty.call(t,e)}e.log=function(){var t,n;i.log("%s - %s",(n=[M((t=new Date).getHours()),M(t.getMinutes()),M(t.getSeconds())].join(":"),[t.getDate(),S[t.getMonth()],n].join(" ")),e.format.apply(e,arguments));},e.inherits=n(6076),e._extend=function(t,e){if(!e||!T(e))return t;for(var n=Object.keys(e),r=n.length;r--;)t[n[r]]=e[n[r]];return t};},9742:(t,e)=>{"use strict";e.byteLength=function(t){var e=u(t),n=e[0],r=e[1];return 3*(n+r)/4-r},e.toByteArray=function(t){var e,n,o=u(t),a=o[0],s=o[1],l=new i(function(t,e,n){return 3*(e+n)/4-n}(0,a,s)),c=0,h=s>0?a-4:a;for(n=0;n>16&255,l[c++]=e>>8&255,l[c++]=255&e;return 2===s&&(e=r[t.charCodeAt(n)]<<2|r[t.charCodeAt(n+1)]>>4,l[c++]=255&e),1===s&&(e=r[t.charCodeAt(n)]<<10|r[t.charCodeAt(n+1)]<<4|r[t.charCodeAt(n+2)]>>2,l[c++]=e>>8&255,l[c++]=255&e),l},e.fromByteArray=function(t){for(var e,r=t.length,i=r%3,o=[],a=16383,s=0,u=r-i;su?u:s+a));return 1===i?(e=t[r-1],o.push(n[e>>2]+n[e<<4&63]+"==")):2===i&&(e=(t[r-2]<<8)+t[r-1],o.push(n[e>>10]+n[e>>4&63]+n[e<<2&63]+"=")),o.join("")};for(var n=[],r=[],i="undefined"!=typeof Uint8Array?Uint8Array:Array,o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",a=0,s=o.length;a0)throw new Error("Invalid string. Length must be a multiple of 4");var n=t.indexOf("=");return -1===n&&(n=e),[n,n===e?0:4-n%4]}function l(t,e,r){for(var i,o,a=[],s=e;s>18&63]+n[o>>12&63]+n[o>>6&63]+n[63&o]);return a.join("")}r["-".charCodeAt(0)]=62,r["_".charCodeAt(0)]=63;},8764:(t,e,n)=>{"use strict";var r=n(5108),i=n(9742),o=n(645),a="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;e.Buffer=l,e.SlowBuffer=function(t){return +t!=t&&(t=0),l.alloc(+t)},e.INSPECT_MAX_BYTES=50;var s=2147483647;function u(t){if(t>s)throw new RangeError('The value "'+t+'" is invalid for option "size"');var e=new Uint8Array(t);return Object.setPrototypeOf(e,l.prototype),e}function l(t,e,n){if("number"==typeof t){if("string"==typeof e)throw new TypeError('The "string" argument must be of type string. Received type number');return f(t)}return c(t,e,n)}function c(t,e,n){if("string"==typeof t)return function(t,e){if("string"==typeof e&&""!==e||(e="utf8"),!l.isEncoding(e))throw new TypeError("Unknown encoding: "+e);var n=0|m(t,e),r=u(n),i=r.write(t,e);return i!==n&&(r=r.slice(0,i)),r}(t,e);if(ArrayBuffer.isView(t))return function(t){if(W(t,Uint8Array)){var e=new Uint8Array(t);return d(e.buffer,e.byteOffset,e.byteLength)}return p(t)}(t);if(null==t)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t);if(W(t,ArrayBuffer)||t&&W(t.buffer,ArrayBuffer))return d(t,e,n);if("undefined"!=typeof SharedArrayBuffer&&(W(t,SharedArrayBuffer)||t&&W(t.buffer,SharedArrayBuffer)))return d(t,e,n);if("number"==typeof t)throw new TypeError('The "value" argument must not be of type number. Received type number');var r=t.valueOf&&t.valueOf();if(null!=r&&r!==t)return l.from(r,e,n);var i=function(t){if(l.isBuffer(t)){var e=0|y(t.length),n=u(e);return 0===n.length||t.copy(n,0,0,e),n}return void 0!==t.length?"number"!=typeof t.length||q(t.length)?u(0):p(t):"Buffer"===t.type&&Array.isArray(t.data)?p(t.data):void 0}(t);if(i)return i;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof t[Symbol.toPrimitive])return l.from(t[Symbol.toPrimitive]("string"),e,n);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t)}function h(t){if("number"!=typeof t)throw new TypeError('"size" argument must be of type number');if(t<0)throw new RangeError('The value "'+t+'" is invalid for option "size"')}function f(t){return h(t),u(t<0?0:0|y(t))}function p(t){for(var e=t.length<0?0:0|y(t.length),n=u(e),r=0;r=s)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+s.toString(16)+" bytes");return 0|t}function m(t,e){if(l.isBuffer(t))return t.length;if(ArrayBuffer.isView(t)||W(t,ArrayBuffer))return t.byteLength;if("string"!=typeof t)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof t);var n=t.length,r=arguments.length>2&&!0===arguments[2];if(!r&&0===n)return 0;for(var i=!1;;)switch(e){case "ascii":case "latin1":case "binary":return n;case "utf8":case "utf-8":return B(t).length;case "ucs2":case "ucs-2":case "utf16le":case "utf-16le":return 2*n;case "hex":return n>>>1;case "base64":return j(t).length;default:if(i)return r?-1:B(t).length;e=(""+e).toLowerCase(),i=!0;}}function g(t,e,n){var r=!1;if((void 0===e||e<0)&&(e=0),e>this.length)return "";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return "";if((n>>>=0)<=(e>>>=0))return "";for(t||(t="utf8");;)switch(t){case "hex":return I(this,e,n);case "utf8":case "utf-8":return S(this,e,n);case "ascii":return O(this,e,n);case "latin1":case "binary":return A(this,e,n);case "base64":return M(this,e,n);case "ucs2":case "ucs-2":case "utf16le":case "utf-16le":return P(this,e,n);default:if(r)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),r=!0;}}function _(t,e,n){var r=t[e];t[e]=t[n],t[n]=r;}function b(t,e,n,r,i){if(0===t.length)return -1;if("string"==typeof n?(r=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),q(n=+n)&&(n=i?0:t.length-1),n<0&&(n=t.length+n),n>=t.length){if(i)return -1;n=t.length-1;}else if(n<0){if(!i)return -1;n=0;}if("string"==typeof e&&(e=l.from(e,r)),l.isBuffer(e))return 0===e.length?-1:v(t,e,n,r,i);if("number"==typeof e)return e&=255,"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(t,e,n):Uint8Array.prototype.lastIndexOf.call(t,e,n):v(t,[e],n,r,i);throw new TypeError("val must be string, number or Buffer")}function v(t,e,n,r,i){var o,a=1,s=t.length,u=e.length;if(void 0!==r&&("ucs2"===(r=String(r).toLowerCase())||"ucs-2"===r||"utf16le"===r||"utf-16le"===r)){if(t.length<2||e.length<2)return -1;a=2,s/=2,u/=2,n/=2;}function l(t,e){return 1===a?t[e]:t.readUInt16BE(e*a)}if(i){var c=-1;for(o=n;os&&(n=s-u),o=n;o>=0;o--){for(var h=!0,f=0;fi&&(r=i):r=i;var o=e.length;r>o/2&&(r=o/2);for(var a=0;a>8,i=n%256,o.push(i),o.push(r);return o}(e,t.length-n),t,n,r)}function M(t,e,n){return 0===e&&n===t.length?i.fromByteArray(t):i.fromByteArray(t.slice(e,n))}function S(t,e,n){n=Math.min(t.length,n);for(var r=[],i=e;i239?4:l>223?3:l>191?2:1;if(i+h<=n)switch(h){case 1:l<128&&(c=l);break;case 2:128==(192&(o=t[i+1]))&&(u=(31&l)<<6|63&o)>127&&(c=u);break;case 3:o=t[i+1],a=t[i+2],128==(192&o)&&128==(192&a)&&(u=(15&l)<<12|(63&o)<<6|63&a)>2047&&(u<55296||u>57343)&&(c=u);break;case 4:o=t[i+1],a=t[i+2],s=t[i+3],128==(192&o)&&128==(192&a)&&128==(192&s)&&(u=(15&l)<<18|(63&o)<<12|(63&a)<<6|63&s)>65535&&u<1114112&&(c=u);}null===c?(c=65533,h=1):c>65535&&(c-=65536,r.push(c>>>10&1023|55296),c=56320|1023&c),r.push(c),i+=h;}return function(t){var e=t.length;if(e<=N)return String.fromCharCode.apply(String,t);for(var n="",r=0;rr.length?l.from(o).copy(r,i):Uint8Array.prototype.set.call(r,o,i);else {if(!l.isBuffer(o))throw new TypeError('"list" argument must be an Array of Buffers');o.copy(r,i);}i+=o.length;}return r},l.byteLength=m,l.prototype._isBuffer=!0,l.prototype.swap16=function(){var t=this.length;if(t%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var e=0;en&&(t+=" ... "),""},a&&(l.prototype[a]=l.prototype.inspect),l.prototype.compare=function(t,e,n,r,i){if(W(t,Uint8Array)&&(t=l.from(t,t.offset,t.byteLength)),!l.isBuffer(t))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof t);if(void 0===e&&(e=0),void 0===n&&(n=t?t.length:0),void 0===r&&(r=0),void 0===i&&(i=this.length),e<0||n>t.length||r<0||i>this.length)throw new RangeError("out of range index");if(r>=i&&e>=n)return 0;if(r>=i)return -1;if(e>=n)return 1;if(this===t)return 0;for(var o=(i>>>=0)-(r>>>=0),a=(n>>>=0)-(e>>>=0),s=Math.min(o,a),u=this.slice(r,i),c=t.slice(e,n),h=0;h>>=0,isFinite(n)?(n>>>=0,void 0===r&&(r="utf8")):(r=n,n=void 0);}var i=this.length-e;if((void 0===n||n>i)&&(n=i),t.length>0&&(n<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");r||(r="utf8");for(var o=!1;;)switch(r){case "hex":return T(this,t,e,n);case "utf8":case "utf-8":return E(this,t,e,n);case "ascii":case "latin1":case "binary":return w(this,t,e,n);case "base64":return x(this,t,e,n);case "ucs2":case "ucs-2":case "utf16le":case "utf-16le":return C(this,t,e,n);default:if(o)throw new TypeError("Unknown encoding: "+r);r=(""+r).toLowerCase(),o=!0;}},l.prototype.toJSON=function(){return {type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var N=4096;function O(t,e,n){var r="";n=Math.min(t.length,n);for(var i=e;ir)&&(n=r);for(var i="",o=e;on)throw new RangeError("Trying to access beyond buffer length")}function L(t,e,n,r,i,o){if(!l.isBuffer(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>i||et.length)throw new RangeError("Index out of range")}function D(t,e,n,r,i,o){if(n+r>t.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("Index out of range")}function k(t,e,n,r,i){return e=+e,n>>>=0,i||D(t,0,n,4),o.write(t,e,n,r,23,4),n+4}function F(t,e,n,r,i){return e=+e,n>>>=0,i||D(t,0,n,8),o.write(t,e,n,r,52,8),n+8}l.prototype.slice=function(t,e){var n=this.length;(t=~~t)<0?(t+=n)<0&&(t=0):t>n&&(t=n),(e=void 0===e?n:~~e)<0?(e+=n)<0&&(e=0):e>n&&(e=n),e>>=0,e>>>=0,n||R(t,e,this.length);for(var r=this[t],i=1,o=0;++o>>=0,e>>>=0,n||R(t,e,this.length);for(var r=this[t+--e],i=1;e>0&&(i*=256);)r+=this[t+--e]*i;return r},l.prototype.readUint8=l.prototype.readUInt8=function(t,e){return t>>>=0,e||R(t,1,this.length),this[t]},l.prototype.readUint16LE=l.prototype.readUInt16LE=function(t,e){return t>>>=0,e||R(t,2,this.length),this[t]|this[t+1]<<8},l.prototype.readUint16BE=l.prototype.readUInt16BE=function(t,e){return t>>>=0,e||R(t,2,this.length),this[t]<<8|this[t+1]},l.prototype.readUint32LE=l.prototype.readUInt32LE=function(t,e){return t>>>=0,e||R(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},l.prototype.readUint32BE=l.prototype.readUInt32BE=function(t,e){return t>>>=0,e||R(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},l.prototype.readIntLE=function(t,e,n){t>>>=0,e>>>=0,n||R(t,e,this.length);for(var r=this[t],i=1,o=0;++o=(i*=128)&&(r-=Math.pow(2,8*e)),r},l.prototype.readIntBE=function(t,e,n){t>>>=0,e>>>=0,n||R(t,e,this.length);for(var r=e,i=1,o=this[t+--r];r>0&&(i*=256);)o+=this[t+--r]*i;return o>=(i*=128)&&(o-=Math.pow(2,8*e)),o},l.prototype.readInt8=function(t,e){return t>>>=0,e||R(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},l.prototype.readInt16LE=function(t,e){t>>>=0,e||R(t,2,this.length);var n=this[t]|this[t+1]<<8;return 32768&n?4294901760|n:n},l.prototype.readInt16BE=function(t,e){t>>>=0,e||R(t,2,this.length);var n=this[t+1]|this[t]<<8;return 32768&n?4294901760|n:n},l.prototype.readInt32LE=function(t,e){return t>>>=0,e||R(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},l.prototype.readInt32BE=function(t,e){return t>>>=0,e||R(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},l.prototype.readFloatLE=function(t,e){return t>>>=0,e||R(t,4,this.length),o.read(this,t,!0,23,4)},l.prototype.readFloatBE=function(t,e){return t>>>=0,e||R(t,4,this.length),o.read(this,t,!1,23,4)},l.prototype.readDoubleLE=function(t,e){return t>>>=0,e||R(t,8,this.length),o.read(this,t,!0,52,8)},l.prototype.readDoubleBE=function(t,e){return t>>>=0,e||R(t,8,this.length),o.read(this,t,!1,52,8)},l.prototype.writeUintLE=l.prototype.writeUIntLE=function(t,e,n,r){t=+t,e>>>=0,n>>>=0,r||L(this,t,e,n,Math.pow(2,8*n)-1,0);var i=1,o=0;for(this[e]=255&t;++o>>=0,n>>>=0,r||L(this,t,e,n,Math.pow(2,8*n)-1,0);var i=n-1,o=1;for(this[e+i]=255&t;--i>=0&&(o*=256);)this[e+i]=t/o&255;return e+n},l.prototype.writeUint8=l.prototype.writeUInt8=function(t,e,n){return t=+t,e>>>=0,n||L(this,t,e,1,255,0),this[e]=255&t,e+1},l.prototype.writeUint16LE=l.prototype.writeUInt16LE=function(t,e,n){return t=+t,e>>>=0,n||L(this,t,e,2,65535,0),this[e]=255&t,this[e+1]=t>>>8,e+2},l.prototype.writeUint16BE=l.prototype.writeUInt16BE=function(t,e,n){return t=+t,e>>>=0,n||L(this,t,e,2,65535,0),this[e]=t>>>8,this[e+1]=255&t,e+2},l.prototype.writeUint32LE=l.prototype.writeUInt32LE=function(t,e,n){return t=+t,e>>>=0,n||L(this,t,e,4,4294967295,0),this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t,e+4},l.prototype.writeUint32BE=l.prototype.writeUInt32BE=function(t,e,n){return t=+t,e>>>=0,n||L(this,t,e,4,4294967295,0),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},l.prototype.writeIntLE=function(t,e,n,r){if(t=+t,e>>>=0,!r){var i=Math.pow(2,8*n-1);L(this,t,e,n,i-1,-i);}var o=0,a=1,s=0;for(this[e]=255&t;++o>0)-s&255;return e+n},l.prototype.writeIntBE=function(t,e,n,r){if(t=+t,e>>>=0,!r){var i=Math.pow(2,8*n-1);L(this,t,e,n,i-1,-i);}var o=n-1,a=1,s=0;for(this[e+o]=255&t;--o>=0&&(a*=256);)t<0&&0===s&&0!==this[e+o+1]&&(s=1),this[e+o]=(t/a>>0)-s&255;return e+n},l.prototype.writeInt8=function(t,e,n){return t=+t,e>>>=0,n||L(this,t,e,1,127,-128),t<0&&(t=255+t+1),this[e]=255&t,e+1},l.prototype.writeInt16LE=function(t,e,n){return t=+t,e>>>=0,n||L(this,t,e,2,32767,-32768),this[e]=255&t,this[e+1]=t>>>8,e+2},l.prototype.writeInt16BE=function(t,e,n){return t=+t,e>>>=0,n||L(this,t,e,2,32767,-32768),this[e]=t>>>8,this[e+1]=255&t,e+2},l.prototype.writeInt32LE=function(t,e,n){return t=+t,e>>>=0,n||L(this,t,e,4,2147483647,-2147483648),this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24,e+4},l.prototype.writeInt32BE=function(t,e,n){return t=+t,e>>>=0,n||L(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},l.prototype.writeFloatLE=function(t,e,n){return k(this,t,e,!0,n)},l.prototype.writeFloatBE=function(t,e,n){return k(this,t,e,!1,n)},l.prototype.writeDoubleLE=function(t,e,n){return F(this,t,e,!0,n)},l.prototype.writeDoubleBE=function(t,e,n){return F(this,t,e,!1,n)},l.prototype.copy=function(t,e,n,r){if(!l.isBuffer(t))throw new TypeError("argument should be a Buffer");if(n||(n=0),r||0===r||(r=this.length),e>=t.length&&(e=t.length),e||(e=0),r>0&&r=this.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("sourceEnd out of bounds");r>this.length&&(r=this.length),t.length-e>>=0,n=void 0===n?this.length:n>>>0,t||(t=0),"number"==typeof t)for(o=e;o55295&&n<57344){if(!i){if(n>56319){(e-=3)>-1&&o.push(239,191,189);continue}if(a+1===r){(e-=3)>-1&&o.push(239,191,189);continue}i=n;continue}if(n<56320){(e-=3)>-1&&o.push(239,191,189),i=n;continue}n=65536+(i-55296<<10|n-56320);}else i&&(e-=3)>-1&&o.push(239,191,189);if(i=null,n<128){if((e-=1)<0)break;o.push(n);}else if(n<2048){if((e-=2)<0)break;o.push(n>>6|192,63&n|128);}else if(n<65536){if((e-=3)<0)break;o.push(n>>12|224,n>>6&63|128,63&n|128);}else {if(!(n<1114112))throw new Error("Invalid code point");if((e-=4)<0)break;o.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128);}}return o}function j(t){return i.toByteArray(function(t){if((t=(t=t.split("=")[0]).trim().replace(U,"")).length<2)return "";for(;t.length%4!=0;)t+="=";return t}(t))}function G(t,e,n,r){for(var i=0;i=e.length||i>=t.length);++i)e[i+n]=t[i];return i}function W(t,e){return t instanceof e||null!=t&&null!=t.constructor&&null!=t.constructor.name&&t.constructor.name===e.name}function q(t){return t!=t}var H=function(){for(var t="0123456789abcdef",e=new Array(256),n=0;n<16;++n)for(var r=16*n,i=0;i<16;++i)e[r+i]=t[n]+t[i];return e}();},584:t=>{t.exports={100:"Continue",101:"Switching Protocols",102:"Processing",200:"OK",201:"Created",202:"Accepted",203:"Non-Authoritative Information",204:"No Content",205:"Reset Content",206:"Partial Content",207:"Multi-Status",208:"Already Reported",226:"IM Used",300:"Multiple Choices",301:"Moved Permanently",302:"Found",303:"See Other",304:"Not Modified",305:"Use Proxy",307:"Temporary Redirect",308:"Permanent Redirect",400:"Bad Request",401:"Unauthorized",402:"Payment Required",403:"Forbidden",404:"Not Found",405:"Method Not Allowed",406:"Not Acceptable",407:"Proxy Authentication Required",408:"Request Timeout",409:"Conflict",410:"Gone",411:"Length Required",412:"Precondition Failed",413:"Payload Too Large",414:"URI Too Long",415:"Unsupported Media Type",416:"Range Not Satisfiable",417:"Expectation Failed",418:"I'm a teapot",421:"Misdirected Request",422:"Unprocessable Entity",423:"Locked",424:"Failed Dependency",425:"Unordered Collection",426:"Upgrade Required",428:"Precondition Required",429:"Too Many Requests",431:"Request Header Fields Too Large",451:"Unavailable For Legal Reasons",500:"Internal Server Error",501:"Not Implemented",502:"Bad Gateway",503:"Service Unavailable",504:"Gateway Timeout",505:"HTTP Version Not Supported",506:"Variant Also Negotiates",507:"Insufficient Storage",508:"Loop Detected",509:"Bandwidth Limit Exceeded",510:"Not Extended",511:"Network Authentication Required"};},5108:(t,e,n)=>{var r=n(9539),i=n(8583);function o(){return (new Date).getTime()}var a,s=Array.prototype.slice,u={};a=void 0!==n.g&&n.g.console?n.g.console:"undefined"!=typeof window&&window.console?window.console:{};for(var l=[[function(){},"log"],[function(){a.log.apply(a,arguments);},"info"],[function(){a.log.apply(a,arguments);},"warn"],[function(){a.warn.apply(a,arguments);},"error"],[function(t){u[t]=o();},"time"],[function(t){var e=u[t];if(!e)throw new Error("No such label: "+t);delete u[t];var n=o()-e;a.log(t+": "+n+"ms");},"timeEnd"],[function(){var t=new Error;t.name="Trace",t.message=r.format.apply(null,arguments),a.error(t.stack);},"trace"],[function(t){a.log(r.inspect(t)+"\n");},"dir"],[function(t){if(!t){var e=s.call(arguments,1);i.ok(!1,r.format.apply(null,e));}},"assert"]],c=0;c{var r=n(5108),i=Object.create||function(t){var e=function(){};return e.prototype=t,new e},o=Object.keys||function(t){var e=[];for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&e.push(n);return n},a=Function.prototype.bind||function(t){var e=this;return function(){return e.apply(t,arguments)}};function s(){this._events&&Object.prototype.hasOwnProperty.call(this,"_events")||(this._events=i(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0;}t.exports=s,s.EventEmitter=s,s.prototype._events=void 0,s.prototype._maxListeners=void 0;var u,l=10;try{var c={};Object.defineProperty&&Object.defineProperty(c,"x",{value:0}),u=0===c.x;}catch(t){u=!1;}function h(t){return void 0===t._maxListeners?s.defaultMaxListeners:t._maxListeners}function f(t,e,n,o){var a,s,u;if("function"!=typeof n)throw new TypeError('"listener" argument must be a function');if((s=t._events)?(s.newListener&&(t.emit("newListener",e,n.listener?n.listener:n),s=t._events),u=s[e]):(s=t._events=i(null),t._eventsCount=0),u){if("function"==typeof u?u=s[e]=o?[n,u]:[u,n]:o?u.unshift(n):u.push(n),!u.warned&&(a=h(t))&&a>0&&u.length>a){u.warned=!0;var l=new Error("Possible EventEmitter memory leak detected. "+u.length+' "'+String(e)+'" listeners added. Use emitter.setMaxListeners() to increase limit.');l.name="MaxListenersExceededWarning",l.emitter=t,l.type=e,l.count=u.length,"object"==typeof r&&r.warn&&r.warn("%s: %s",l.name,l.message);}}else u=s[e]=n,++t._eventsCount;return t}function p(){if(!this.fired)switch(this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length){case 0:return this.listener.call(this.target);case 1:return this.listener.call(this.target,arguments[0]);case 2:return this.listener.call(this.target,arguments[0],arguments[1]);case 3:return this.listener.call(this.target,arguments[0],arguments[1],arguments[2]);default:for(var t=new Array(arguments.length),e=0;e1&&(e=arguments[1]),e instanceof Error)throw e;var u=new Error('Unhandled "error" event. ('+e+")");throw u.context=e,u}if(!(n=a[t]))return !1;var l="function"==typeof n;switch(r=arguments.length){case 1:!function(t,e,n){if(e)t.call(n);else for(var r=t.length,i=g(t,r),o=0;o=0;a--)if(n[a]===e||n[a].listener===e){s=n[a].listener,o=a;break}if(o<0)return this;0===o?n.shift():function(t,e){for(var n=e,r=n+1,i=t.length;r=0;r--)this.removeListener(t,e[r]);return this},s.prototype.listeners=function(t){return y(this,t,!0)},s.prototype.rawListeners=function(t){return y(this,t,!1)},s.listenerCount=function(t,e){return "function"==typeof t.listenerCount?t.listenerCount(e):m.call(t,e)},s.prototype.listenerCount=m,s.prototype.eventNames=function(){return this._eventsCount>0?Reflect.ownKeys(this._events):[]};},1:(module,__unused_webpack_exports,__webpack_require__)=>{"use strict";var Buffer=__webpack_require__(3085).lW;const Token=__webpack_require__(3416),strtok3=__webpack_require__(5849),{stringToBytes,tarHeaderChecksumMatches,uint32SyncSafeToken}=__webpack_require__(6188),supported=__webpack_require__(9898),minimumBytes=4100;async function fromStream(t){const e=await strtok3.fromStream(t);try{return await fromTokenizer(e)}finally{await e.close();}}async function fromBuffer(t){if(!(t instanceof Uint8Array||t instanceof ArrayBuffer||Buffer.isBuffer(t)))throw new TypeError(`Expected the \`input\` argument to be of type \`Uint8Array\` or \`Buffer\` or \`ArrayBuffer\`, got \`${typeof t}\``);const e=t instanceof Buffer?t:Buffer.from(t);if(e&&e.length>1)return fromTokenizer(strtok3.fromBuffer(e))}function _check(t,e,n){n={offset:0,...n};for(const[r,i]of e.entries())if(n.mask){if(i!==(n.mask[r]&t[r+n.offset]))return !1}else if(i!==t[r+n.offset])return !1;return !0}async function fromTokenizer(t){try{return _fromTokenizer(t)}catch(t){if(!(t instanceof strtok3.EndOfStreamError))throw t}}async function _fromTokenizer(t){let e=Buffer.alloc(minimumBytes);const n=(t,n)=>_check(e,t,n),r=(t,e)=>n(stringToBytes(t),e);if(t.fileInfo.size||(t.fileInfo.size=Number.MAX_SAFE_INTEGER),await t.peekBuffer(e,{length:12,mayBeLess:!0}),n([66,77]))return {ext:"bmp",mime:"image/bmp"};if(n([11,119]))return {ext:"ac3",mime:"audio/vnd.dolby.dd-raw"};if(n([120,1]))return {ext:"dmg",mime:"application/x-apple-diskimage"};if(n([77,90]))return {ext:"exe",mime:"application/x-msdownload"};if(n([37,33]))return await t.peekBuffer(e,{length:24,mayBeLess:!0}),r("PS-Adobe-",{offset:2})&&r(" EPSF-",{offset:14})?{ext:"eps",mime:"application/eps"}:{ext:"ps",mime:"application/postscript"};if(n([31,160])||n([31,157]))return {ext:"Z",mime:"application/x-compress"};if(n([255,216,255]))return {ext:"jpg",mime:"image/jpeg"};if(n([73,73,188]))return {ext:"jxr",mime:"image/vnd.ms-photo"};if(n([31,139,8]))return {ext:"gz",mime:"application/gzip"};if(n([66,90,104]))return {ext:"bz2",mime:"application/x-bzip2"};if(r("ID3")){await t.ignore(6);const i=await t.readToken(uint32SyncSafeToken);return t.position+i>t.fileInfo.size?{ext:"mp3",mime:"audio/mpeg"}:(await t.ignore(i),fromTokenizer(t))}if(r("MP+"))return {ext:"mpc",mime:"audio/x-musepack"};if((67===e[0]||70===e[0])&&n([87,83],{offset:1}))return {ext:"swf",mime:"application/x-shockwave-flash"};if(n([71,73,70]))return {ext:"gif",mime:"image/gif"};if(r("FLIF"))return {ext:"flif",mime:"image/flif"};if(r("8BPS"))return {ext:"psd",mime:"image/vnd.adobe.photoshop"};if(r("WEBP",{offset:8}))return {ext:"webp",mime:"image/webp"};if(r("MPCK"))return {ext:"mpc",mime:"audio/x-musepack"};if(r("FORM"))return {ext:"aif",mime:"audio/aiff"};if(r("icns",{offset:0}))return {ext:"icns",mime:"image/icns"};if(n([80,75,3,4])){try{for(;t.position+30=0?a:e.length);}else await t.ignore(o.compressedSize);}}catch(s){if(!(s instanceof strtok3.EndOfStreamError))throw s}return {ext:"zip",mime:"application/zip"}}if(r("OggS")){await t.ignore(28);const u=Buffer.alloc(8);return await t.readBuffer(u),_check(u,[79,112,117,115,72,101,97,100])?{ext:"opus",mime:"audio/opus"}:_check(u,[128,116,104,101,111,114,97])?{ext:"ogv",mime:"video/ogg"}:_check(u,[1,118,105,100,101,111,0])?{ext:"ogm",mime:"video/ogg"}:_check(u,[127,70,76,65,67])?{ext:"oga",mime:"audio/ogg"}:_check(u,[83,112,101,101,120,32,32])?{ext:"spx",mime:"audio/ogg"}:_check(u,[1,118,111,114,98,105,115])?{ext:"ogg",mime:"audio/ogg"}:{ext:"ogx",mime:"application/ogg"}}if(n([80,75])&&(3===e[2]||5===e[2]||7===e[2])&&(4===e[3]||6===e[3]||8===e[3]))return {ext:"zip",mime:"application/zip"};if(r("ftyp",{offset:4})&&0!=(96&e[8])){const l=e.toString("binary",8,12).replace("\0"," ").trim();switch(l){case "avif":return {ext:"avif",mime:"image/avif"};case "mif1":return {ext:"heic",mime:"image/heif"};case "msf1":return {ext:"heic",mime:"image/heif-sequence"};case "heic":case "heix":return {ext:"heic",mime:"image/heic"};case "hevc":case "hevx":return {ext:"heic",mime:"image/heic-sequence"};case "qt":return {ext:"mov",mime:"video/quicktime"};case "M4V":case "M4VH":case "M4VP":return {ext:"m4v",mime:"video/x-m4v"};case "M4P":return {ext:"m4p",mime:"video/mp4"};case "M4B":return {ext:"m4b",mime:"audio/mp4"};case "M4A":return {ext:"m4a",mime:"audio/x-m4a"};case "F4V":return {ext:"f4v",mime:"video/mp4"};case "F4P":return {ext:"f4p",mime:"video/mp4"};case "F4A":return {ext:"f4a",mime:"audio/mp4"};case "F4B":return {ext:"f4b",mime:"audio/mp4"};case "crx":return {ext:"cr3",mime:"image/x-canon-cr3"};default:return l.startsWith("3g")?l.startsWith("3g2")?{ext:"3g2",mime:"video/3gpp2"}:{ext:"3gp",mime:"video/3gpp"}:{ext:"mp4",mime:"video/mp4"}}}if(r("MThd"))return {ext:"mid",mime:"audio/midi"};if(r("wOFF")&&(n([0,1,0,0],{offset:4})||r("OTTO",{offset:4})))return {ext:"woff",mime:"font/woff"};if(r("wOF2")&&(n([0,1,0,0],{offset:4})||r("OTTO",{offset:4})))return {ext:"woff2",mime:"font/woff2"};if(n([212,195,178,161])||n([161,178,195,212]))return {ext:"pcap",mime:"application/vnd.tcpdump.pcap"};if(r("DSD "))return {ext:"dsf",mime:"audio/x-dsf"};if(r("LZIP"))return {ext:"lz",mime:"application/x-lzip"};if(r("fLaC"))return {ext:"flac",mime:"audio/x-flac"};if(n([66,80,71,251]))return {ext:"bpg",mime:"image/bpg"};if(r("wvpk"))return {ext:"wv",mime:"audio/wavpack"};if(r("%PDF")){await t.ignore(1350);const c=10485760,h=Buffer.alloc(Math.min(c,t.fileInfo.size));return await t.readBuffer(h,{mayBeLess:!0}),h.includes(Buffer.from("AIPrivateData"))?{ext:"ai",mime:"application/postscript"}:{ext:"pdf",mime:"application/pdf"}}if(n([0,97,115,109]))return {ext:"wasm",mime:"application/wasm"};if(n([73,73,42,0]))return r("CR",{offset:8})?{ext:"cr2",mime:"image/x-canon-cr2"}:n([28,0,254,0],{offset:8})||n([31,0,11,0],{offset:8})?{ext:"nef",mime:"image/x-nikon-nef"}:n([8,0,0,0],{offset:4})&&(n([45,0,254,0],{offset:8})||n([39,0,254,0],{offset:8}))?{ext:"dng",mime:"image/x-adobe-dng"}:(e=Buffer.alloc(24),await t.peekBuffer(e),(n([16,251,134,1],{offset:4})||n([8,0,0,0],{offset:4}))&&n([0,254,0,4,0,1,0,0,0,1,0,0,0,3,1],{offset:9})?{ext:"arw",mime:"image/x-sony-arw"}:{ext:"tif",mime:"image/tiff"});if(n([77,77,0,42]))return {ext:"tif",mime:"image/tiff"};if(r("MAC "))return {ext:"ape",mime:"audio/ape"};if(n([26,69,223,163])){async function f(){const e=await t.peekNumber(Token.UINT8);let n=128,r=0;for(;0==(e&n)&&0!==n;)++r,n>>=1;const i=Buffer.alloc(r+1);return await t.readBuffer(i),i}async function p(){const t=await f(),e=await f();e[0]^=128>>e.length-1;const n=Math.min(6,e.length);return {id:t.readUIntBE(0,t.length),len:e.readUIntBE(e.length-n,n)}}async function d(e,n){for(;n>0;){const e=await p();if(17026===e.id)return t.readToken(new Token.StringType(e.len,"utf-8"));await t.ignore(e.len),--n;}}const y=await p();switch(await d(0,y.len)){case "webm":return {ext:"webm",mime:"video/webm"};case "matroska":return {ext:"mkv",mime:"video/x-matroska"};default:return}}if(n([82,73,70,70])){if(n([65,86,73],{offset:8}))return {ext:"avi",mime:"video/vnd.avi"};if(n([87,65,86,69],{offset:8}))return {ext:"wav",mime:"audio/vnd.wave"};if(n([81,76,67,77],{offset:8}))return {ext:"qcp",mime:"audio/qcelp"}}if(r("SQLi"))return {ext:"sqlite",mime:"application/x-sqlite3"};if(n([78,69,83,26]))return {ext:"nes",mime:"application/x-nintendo-nes-rom"};if(r("Cr24"))return {ext:"crx",mime:"application/x-google-chrome-extension"};if(r("MSCF")||r("ISc("))return {ext:"cab",mime:"application/vnd.ms-cab-compressed"};if(n([237,171,238,219]))return {ext:"rpm",mime:"application/x-rpm"};if(n([197,208,211,198]))return {ext:"eps",mime:"application/eps"};if(n([40,181,47,253]))return {ext:"zst",mime:"application/zstd"};if(n([79,84,84,79,0]))return {ext:"otf",mime:"font/otf"};if(r("#!AMR"))return {ext:"amr",mime:"audio/amr"};if(r("{\\rtf"))return {ext:"rtf",mime:"application/rtf"};if(n([70,76,86,1]))return {ext:"flv",mime:"video/x-flv"};if(r("IMPM"))return {ext:"it",mime:"audio/x-it"};if(r("-lh0-",{offset:2})||r("-lh1-",{offset:2})||r("-lh2-",{offset:2})||r("-lh3-",{offset:2})||r("-lh4-",{offset:2})||r("-lh5-",{offset:2})||r("-lh6-",{offset:2})||r("-lh7-",{offset:2})||r("-lzs-",{offset:2})||r("-lz4-",{offset:2})||r("-lz5-",{offset:2})||r("-lhd-",{offset:2}))return {ext:"lzh",mime:"application/x-lzh-compressed"};if(n([0,0,1,186])){if(n([33],{offset:4,mask:[241]}))return {ext:"mpg",mime:"video/MP1S"};if(n([68],{offset:4,mask:[196]}))return {ext:"mpg",mime:"video/MP2P"}}if(r("ITSF"))return {ext:"chm",mime:"application/vnd.ms-htmlhelp"};if(n([253,55,122,88,90,0]))return {ext:"xz",mime:"application/x-xz"};if(r(""))return await t.ignore(8),"debian-binary"===await t.readToken(new Token.StringType(13,"ascii"))?{ext:"deb",mime:"application/x-deb"}:{ext:"ar",mime:"application/x-unix-archive"};if(n([137,80,78,71,13,10,26,10])){async function m(){return {length:await t.readToken(Token.INT32_BE),type:await t.readToken(new Token.StringType(4,"binary"))}}await t.ignore(8);do{const g=await m();if(g.length<0)return;switch(g.type){case "IDAT":return {ext:"png",mime:"image/png"};case "acTL":return {ext:"apng",mime:"image/apng"};default:await t.ignore(g.length+4);}}while(t.position+8=16){const E=e.readUInt32LE(12);if(E>12&&e.length>=E+16)try{const w=e.slice(16,E+16).toString();if(JSON.parse(w).files)return {ext:"asar",mime:"application/x-asar"}}catch(x){}}if(n([6,14,43,52,2,5,1,1,13,1,2,1,1,2]))return {ext:"mxf",mime:"application/mxf"};if(r("SCRM",{offset:44}))return {ext:"s3m",mime:"audio/x-s3m"};if(n([71],{offset:4})&&(n([71],{offset:192})||n([71],{offset:196})))return {ext:"mts",mime:"video/mp2t"};if(n([66,79,79,75,77,79,66,73],{offset:60}))return {ext:"mobi",mime:"application/x-mobipocket-ebook"};if(n([68,73,67,77],{offset:128}))return {ext:"dcm",mime:"application/dicom"};if(n([76,0,0,0,1,20,2,0,0,0,0,0,192,0,0,0,0,0,0,70]))return {ext:"lnk",mime:"application/x.ms.shortcut"};if(n([98,111,111,107,0,0,0,0,109,97,114,107,0,0,0,0]))return {ext:"alias",mime:"application/x.apple.alias"};if(n([76,80],{offset:34})&&(n([0,0,1],{offset:8})||n([1,0,2],{offset:8})||n([2,0,2],{offset:8})))return {ext:"eot",mime:"application/vnd.ms-fontobject"};if(n([6,6,237,245,216,29,70,229,189,49,239,231,254,116,183,29]))return {ext:"indd",mime:"application/x-indesign"};if(await t.peekBuffer(e,{length:Math.min(512,t.fileInfo.size),mayBeLess:!0}),tarHeaderChecksumMatches(e))return {ext:"tar",mime:"application/x-tar"};if(n([255,254,255,14,83,0,107,0,101,0,116,0,99,0,104,0,85,0,112,0,32,0,77,0,111,0,100,0,101,0,108,0]))return {ext:"skp",mime:"application/vnd.sketchup.skp"};if(r("-----BEGIN PGP MESSAGE-----"))return {ext:"pgp",mime:"application/pgp-encrypted"};if(e.length>=2&&n([255,224],{offset:0,mask:[255,224]})){if(n([16],{offset:1,mask:[22]}))return n([8],{offset:1,mask:[8]}),{ext:"aac",mime:"audio/aac"};if(n([2],{offset:1,mask:[6]}))return {ext:"mp3",mime:"audio/mpeg"};if(n([4],{offset:1,mask:[6]}))return {ext:"mp2",mime:"audio/mpeg"};if(n([6],{offset:1,mask:[6]}))return {ext:"mp1",mime:"audio/mpeg"}}}const stream=readableStream=>new Promise(((resolve,reject)=>{const stream=eval("require")("stream");readableStream.on("error",reject),readableStream.once("readable",(async()=>{const t=new stream.PassThrough;let e;e=stream.pipeline?stream.pipeline(readableStream,t,(()=>{})):readableStream.pipe(t);const n=readableStream.read(minimumBytes)||readableStream.read()||Buffer.alloc(0);try{const e=await fromBuffer(n);t.fileType=e;}catch(t){reject(t);}resolve(e);}));})),fileType={fromStream,fromTokenizer,fromBuffer,stream};Object.defineProperty(fileType,"extensions",{get:()=>new Set(supported.extensions)}),Object.defineProperty(fileType,"mimeTypes",{get:()=>new Set(supported.mimeTypes)}),module.exports=fileType;},7769:(t,e,n)=>{"use strict";const r=n(6597),i=n(1),o={fromFile:async function(t){const e=await r.fromFile(t);try{return await i.fromTokenizer(e)}finally{await e.close();}}};Object.assign(o,i),Object.defineProperty(o,"extensions",{get:()=>i.extensions}),Object.defineProperty(o,"mimeTypes",{get:()=>i.mimeTypes}),t.exports=o;},9898:t=>{"use strict";t.exports={extensions:["jpg","png","apng","gif","webp","flif","xcf","cr2","cr3","orf","arw","dng","nef","rw2","raf","tif","bmp","icns","jxr","psd","indd","zip","tar","rar","gz","bz2","7z","dmg","mp4","mid","mkv","webm","mov","avi","mpg","mp2","mp3","m4a","oga","ogg","ogv","opus","flac","wav","spx","amr","pdf","epub","exe","swf","rtf","wasm","woff","woff2","eot","ttf","otf","ico","flv","ps","xz","sqlite","nes","crx","xpi","cab","deb","ar","rpm","Z","lz","cfb","mxf","mts","blend","bpg","docx","pptx","xlsx","3gp","3g2","jp2","jpm","jpx","mj2","aif","qcp","odt","ods","odp","xml","mobi","heic","cur","ktx","ape","wv","dcm","ics","glb","pcap","dsf","lnk","alias","voc","ac3","m4v","m4p","m4b","f4v","f4p","f4b","f4a","mie","asf","ogm","ogx","mpc","arrow","shp","aac","mp1","it","s3m","xm","ai","skp","avif","eps","lzh","pgp","asar","stl","chm","3mf","zst","jxl","vcf"],mimeTypes:["image/jpeg","image/png","image/gif","image/webp","image/flif","image/x-xcf","image/x-canon-cr2","image/x-canon-cr3","image/tiff","image/bmp","image/vnd.ms-photo","image/vnd.adobe.photoshop","application/x-indesign","application/epub+zip","application/x-xpinstall","application/vnd.oasis.opendocument.text","application/vnd.oasis.opendocument.spreadsheet","application/vnd.oasis.opendocument.presentation","application/vnd.openxmlformats-officedocument.wordprocessingml.document","application/vnd.openxmlformats-officedocument.presentationml.presentation","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet","application/zip","application/x-tar","application/x-rar-compressed","application/gzip","application/x-bzip2","application/x-7z-compressed","application/x-apple-diskimage","application/x-apache-arrow","video/mp4","audio/midi","video/x-matroska","video/webm","video/quicktime","video/vnd.avi","audio/vnd.wave","audio/qcelp","audio/x-ms-asf","video/x-ms-asf","application/vnd.ms-asf","video/mpeg","video/3gpp","audio/mpeg","audio/mp4","audio/opus","video/ogg","audio/ogg","application/ogg","audio/x-flac","audio/ape","audio/wavpack","audio/amr","application/pdf","application/x-msdownload","application/x-shockwave-flash","application/rtf","application/wasm","font/woff","font/woff2","application/vnd.ms-fontobject","font/ttf","font/otf","image/x-icon","video/x-flv","application/postscript","application/eps","application/x-xz","application/x-sqlite3","application/x-nintendo-nes-rom","application/x-google-chrome-extension","application/vnd.ms-cab-compressed","application/x-deb","application/x-unix-archive","application/x-rpm","application/x-compress","application/x-lzip","application/x-cfb","application/x-mie","application/mxf","video/mp2t","application/x-blender","image/bpg","image/jp2","image/jpx","image/jpm","image/mj2","audio/aiff","application/xml","application/x-mobipocket-ebook","image/heif","image/heif-sequence","image/heic","image/heic-sequence","image/icns","image/ktx","application/dicom","audio/x-musepack","text/calendar","text/vcard","model/gltf-binary","application/vnd.tcpdump.pcap","audio/x-dsf","application/x.ms.shortcut","application/x.apple.alias","audio/x-voc","audio/vnd.dolby.dd-raw","audio/x-m4a","image/apng","image/x-olympus-orf","image/x-sony-arw","image/x-adobe-dng","image/x-nikon-nef","image/x-panasonic-rw2","image/x-fujifilm-raf","video/x-m4v","video/3gpp2","application/x-esri-shape","audio/aac","audio/x-it","audio/x-s3m","audio/x-xm","video/MP1S","video/MP2P","application/vnd.sketchup.skp","image/avif","application/x-lzh-compressed","application/pgp-encrypted","application/x-asar","model/stl","application/vnd.ms-htmlhelp","model/3mf","image/jxl","application/zstd"]};},6188:(t,e)=>{"use strict";e.stringToBytes=t=>[...t].map((t=>t.charCodeAt(0))),e.tarHeaderChecksumMatches=(t,e=0)=>{const n=parseInt(t.toString("utf8",148,154).replace(/\0.*$/,"").trim(),8);if(isNaN(n))return !1;let r=256;for(let n=e;n127&t[e+3]|t[e+2]<<7|t[e+1]<<14|t[e]<<21,len:4};},1787:(t,e,n)=>{var r=n(2582),i=n(4102),o=n(1540),a=n(9705).default,s=o.featureEach,u=(o.coordEach,i.polygon,i.featureCollection);function l(t){var e=new r(t);return e.insert=function(t){if("Feature"!==t.type)throw new Error("invalid feature");return t.bbox=t.bbox?t.bbox:a(t),r.prototype.insert.call(this,t)},e.load=function(t){var e=[];return Array.isArray(t)?t.forEach((function(t){if("Feature"!==t.type)throw new Error("invalid features");t.bbox=t.bbox?t.bbox:a(t),e.push(t);})):s(t,(function(t){if("Feature"!==t.type)throw new Error("invalid features");t.bbox=t.bbox?t.bbox:a(t),e.push(t);})),r.prototype.load.call(this,e)},e.remove=function(t,e){if("Feature"!==t.type)throw new Error("invalid feature");return t.bbox=t.bbox?t.bbox:a(t),r.prototype.remove.call(this,t,e)},e.clear=function(){return r.prototype.clear.call(this)},e.search=function(t){var e=r.prototype.search.call(this,this.toBBox(t));return u(e)},e.collides=function(t){return r.prototype.collides.call(this,this.toBBox(t))},e.all=function(){var t=r.prototype.all.call(this);return u(t)},e.toJSON=function(){return r.prototype.toJSON.call(this)},e.fromJSON=function(t){return r.prototype.fromJSON.call(this,t)},e.toBBox=function(t){var e;if(t.bbox)e=t.bbox;else if(Array.isArray(t)&&4===t.length)e=t;else if(Array.isArray(t)&&6===t.length)e=[t[0],t[1],t[3],t[4]];else if("Feature"===t.type)e=a(t);else {if("FeatureCollection"!==t.type)throw new Error("invalid geojson");e=a(t);}return {minX:e[0],minY:e[1],maxX:e[2],maxY:e[3]}},e}t.exports=l,t.exports.default=l;},645:(t,e)=>{e.read=function(t,e,n,r,i){var o,a,s=8*i-r-1,u=(1<>1,c=-7,h=n?i-1:0,f=n?-1:1,p=t[e+h];for(h+=f,o=p&(1<<-c)-1,p>>=-c,c+=s;c>0;o=256*o+t[e+h],h+=f,c-=8);for(a=o&(1<<-c)-1,o>>=-c,c+=r;c>0;a=256*a+t[e+h],h+=f,c-=8);if(0===o)o=1-l;else {if(o===u)return a?NaN:1/0*(p?-1:1);a+=Math.pow(2,r),o-=l;}return (p?-1:1)*a*Math.pow(2,o-r)},e.write=function(t,e,n,r,i,o){var a,s,u,l=8*o-i-1,c=(1<>1,f=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,p=r?0:o-1,d=r?1:-1,y=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(s=isNaN(e)?1:0,a=c):(a=Math.floor(Math.log(e)/Math.LN2),e*(u=Math.pow(2,-a))<1&&(a--,u*=2),(e+=a+h>=1?f/u:f*Math.pow(2,1-h))*u>=2&&(a++,u/=2),a+h>=c?(s=0,a=c):a+h>=1?(s=(e*u-1)*Math.pow(2,i),a+=h):(s=e*Math.pow(2,h-1)*Math.pow(2,i),a=0));i>=8;t[n+p]=255&s,p+=d,s/=256,i-=8);for(a=a<0;t[n+p]=255&a,p+=d,a/=256,l-=8);t[n+p-d]|=128*y;};},8849:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});const r=n(9126),i=Object.keys(r.typeHandlers),o={56:"psd",66:"bmp",68:"dds",71:"gif",73:"tiff",77:"tiff",82:"webp",105:"icns",137:"png",255:"jpg"};e.detector=function(t){const e=t[0];if(e in o){const n=o[e];if(r.typeHandlers[n].validate(t))return n}return i.find((e=>r.typeHandlers[e].validate(t)))};},9248:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});const r=n(8497);if(!("promises"in r)){class t{constructor(t){this.fd=t;}stat(){return new Promise(((t,e)=>{r.fstat(this.fd,((n,r)=>{n?e(n):t(r);}));}))}read(t,e,n,i){return new Promise(((o,a)=>{r.read(this.fd,t,e,n,i,(t=>{t?a(t):o();}));}))}close(){return new Promise(((t,e)=>{r.close(this.fd,(n=>{n?e(n):t();}));}))}}Object.defineProperty(r,"promises",{value:{open:(e,n)=>new Promise(((i,o)=>{r.open(e,n,((e,n)=>{e?o(e):i(new t(n));}));}))},writable:!1});}},7935:function(t,e,n){"use strict";var r=n(3085).lW,i=n(4155),o=this&&this.__awaiter||function(t,e,n,r){return new(n||(n=Promise))((function(i,o){function a(t){try{u(r.next(t));}catch(t){o(t);}}function s(t){try{u(r.throw(t));}catch(t){o(t);}}function u(t){var e;t.done?i(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e);}))).then(a,s);}u((r=r.apply(t,e||[])).next());}))};Object.defineProperty(e,"__esModule",{value:!0});const a=n(8497),s=n(3935),u=n(9189),l=n(9126),c=n(8849);n(9248);const h=524288,f=new u.default({concurrency:100,autostart:!0});function p(t,e){const n=c.detector(t);if(n&&n in l.typeHandlers){const r=l.typeHandlers[n].calculate(t,e);if(void 0!==r)return r.type=n,r}throw new TypeError("unsupported file type: "+n+" (file: "+e+")")}function d(t,e){if(r.isBuffer(t))return p(t);if("string"!=typeof t)throw new TypeError("invalid invocation");const n=s.resolve(t);if("function"!=typeof e){const t=function(t){const e=a.openSync(t,"r"),n=a.fstatSync(e).size,i=Math.min(n,h),o=r.alloc(i);return a.readSync(e,o,0,i,0),a.closeSync(e),o}(n);return p(t,n)}f.push((()=>function(t){return o(this,void 0,void 0,(function*(){const e=yield a.promises.open(t,"r"),{size:n}=yield e.stat();if(n<=0)throw new Error("Empty file");const i=Math.min(n,h),o=r.alloc(i);return yield e.read(o,0,i,0),yield e.close(),o}))}(n).then((t=>i.nextTick(e,null,p(t,n)))).catch(e)));}t.exports=e=d,e.imageSize=d,e.setConcurrency=t=>{f.concurrency=t;},e.types=Object.keys(l.typeHandlers);},8557:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.readUInt=function(t,e,n,r){return n=n||0,t["readUInt"+e+(r?"BE":"LE")].call(t,n)};},9126:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});const r=n(3645),i=n(3552),o=n(1680),a=n(1542),s=n(7163),u=n(7800),l=n(6625),c=n(1558),h=n(2229),f=n(4663),p=n(6221),d=n(7851),y=n(2602),m=n(8531),g=n(9948),_=n(5236);e.typeHandlers={bmp:r.BMP,cur:i.CUR,dds:o.DDS,gif:a.GIF,icns:s.ICNS,ico:u.ICO,j2c:l.J2C,jp2:c.JP2,jpg:h.JPG,ktx:f.KTX,png:p.PNG,pnm:d.PNM,psd:y.PSD,svg:m.SVG,tiff:g.TIFF,webp:_.WEBP};},3645:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.BMP={validate:t=>"BM"===t.toString("ascii",0,2),calculate:t=>({height:Math.abs(t.readInt32LE(22)),width:t.readUInt32LE(18)})};},3552:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});const r=n(7800);e.CUR={validate:t=>0===t.readUInt16LE(0)&&2===t.readUInt16LE(2),calculate:t=>r.ICO.calculate(t)};},1680:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.DDS={validate:t=>542327876===t.readUInt32LE(0),calculate:t=>({height:t.readUInt32LE(12),width:t.readUInt32LE(16)})};},1542:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});const n=/^GIF8[79]a/;e.GIF={validate(t){const e=t.toString("ascii",0,6);return n.test(e)},calculate:t=>({height:t.readUInt16LE(8),width:t.readUInt16LE(6)})};},7163:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});const n=4,r={ICON:32,"ICN#":32,"icm#":16,icm4:16,icm8:16,"ics#":16,ics4:16,ics8:16,is32:16,s8mk:16,icp4:16,icl4:32,icl8:32,il32:32,l8mk:32,icp5:32,ic11:32,ich4:48,ich8:48,ih32:48,h8mk:48,icp6:64,ic12:32,it32:128,t8mk:128,ic07:128,ic08:256,ic13:256,ic09:512,ic14:512,ic10:1024};function i(t,e){const r=e+n;return [t.toString("ascii",e,r),t.readUInt32BE(r)]}function o(t){const e=r[t];return {width:e,height:e,type:t}}e.ICNS={validate:t=>"icns"===t.toString("ascii",0,4),calculate(t){const e=t.length,n=t.readUInt32BE(4);let r=8,a=i(t,r),s=o(a[0]);if(r+=a[1],r===n)return s;const u={height:s.height,images:[s],width:s.width};for(;r{"use strict";Object.defineProperty(e,"__esModule",{value:!0});const n=6,r=16;function i(t,e){const n=t.readUInt8(e);return 0===n?256:n}function o(t,e){const o=n+e*r;return {height:i(t,o+1),width:i(t,o)}}e.ICO={validate:t=>0===t.readUInt16LE(0)&&1===t.readUInt16LE(2),calculate(t){const e=t.readUInt16LE(4),n=o(t,0);if(1===e)return n;const r=[n];for(let n=1;n{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.J2C={validate:t=>"ff4fff51"===t.toString("hex",0,4),calculate:t=>({height:t.readUInt32BE(12),width:t.readUInt32BE(8)})};},1558:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});const n=t=>({height:t.readUInt32BE(4),width:t.readUInt32BE(8)});e.JP2={validate(t){const e=t.toString("hex",4,8),n=t.readUInt32BE(0);if("6a502020"!==e||n<1)return !1;const r=n+4,i=t.readUInt32BE(n);return "66747970"===t.slice(r,r+i).toString("hex",0,4)},calculate(t){const e=t.readUInt32BE(0);let r=e+4+t.readUInt16BE(e+2);switch(t.toString("hex",r,r+4)){case "72726571":return r=r+4+4+(t=>{const e=t.readUInt8(0);let n=1+2*e;return n=n+2+t.readUInt16BE(n)*(2+e),n+2+t.readUInt16BE(n)*(16+e)})(t.slice(r+4)),n(t.slice(r+8,r+24));case "6a703268":return n(t.slice(r+8,r+24));default:throw new TypeError("Unsupported header found: "+t.toString("ascii",r,r+4))}}};},2229:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});const r=n(8557),i="45786966",o=2,a=6,s=2,u="4d4d",l="4949",c=12,h=2;function f(t){return t.toString("hex",2,6)===i}function p(t,e){return {height:t.readUInt16BE(e),width:t.readUInt16BE(e+2)}}function d(t,e){const n=t.slice(o,e),i=n.toString("hex",a,a+s),f=i===u;if(f||i===l)return function(t,e){const n=a+8,i=r.readUInt(t,16,n,e);for(let o=0;ot.length)return;const s=t.slice(i,a);if(274===r.readUInt(s,16,0,e)){if(3!==r.readUInt(s,16,2,e))return;if(1!==r.readUInt(s,32,4,e))return;return r.readUInt(s,16,8,e)}}}(n,f)}function y(t,e){if(e>t.length)throw new TypeError("Corrupt JPG, exceeded buffer limits");if(255!==t[e])throw new TypeError("Invalid JPG, marker table corrupted")}e.JPG={validate:t=>"ffd8"===t.toString("hex",0,2),calculate(t){let e,n;for(t=t.slice(4);t.length;){const r=t.readUInt16BE(0);if(f(t)&&(e=d(t,r)),y(t,r),n=t[r+1],192===n||193===n||194===n){const n=p(t,r+5);return e?{height:n.height,orientation:e,width:n.width}:n}t=t.slice(r+2);}throw new TypeError("Invalid JPG, no size found")}};},4663:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.KTX={validate:t=>"KTX 11"===t.toString("ascii",1,7),calculate:t=>({height:t.readUInt32LE(40),width:t.readUInt32LE(36)})};},6221:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});const n="CgBI";e.PNG={validate(t){if("PNG\r\n\n"===t.toString("ascii",1,8)){let e=t.toString("ascii",12,16);if(e===n&&(e=t.toString("ascii",28,32)),"IHDR"!==e)throw new TypeError("Invalid PNG");return !0}return !1},calculate:t=>t.toString("ascii",12,16)===n?{height:t.readUInt32BE(36),width:t.readUInt32BE(32)}:{height:t.readUInt32BE(20),width:t.readUInt32BE(16)}};},7851:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});const n={P1:"pbm/ascii",P2:"pgm/ascii",P3:"ppm/ascii",P4:"pbm",P5:"pgm",P6:"ppm",P7:"pam",PF:"pfm"},r=Object.keys(n),i={default:t=>{let e=[];for(;t.length>0;){const n=t.shift();if("#"!==n[0]){e=n.split(" ");break}}if(2===e.length)return {height:parseInt(e[1],10),width:parseInt(e[0],10)};throw new TypeError("Invalid PNM")},pam:t=>{const e={};for(;t.length>0;){const n=t.shift();if(n.length>16||n.charCodeAt(0)>128)continue;const[r,i]=n.split(" ");if(r&&i&&(e[r.toLowerCase()]=parseInt(i,10)),e.height&&e.width)break}if(e.height&&e.width)return {height:e.height,width:e.width};throw new TypeError("Invalid PAM")}};e.PNM={validate(t){const e=t.toString("ascii",0,2);return r.includes(e)},calculate(t){const e=t.toString("ascii",0,2),r=n[e],o=t.toString("ascii",3).split(/[\r\n]+/);return (i[r]||i.default)(o)}};},2602:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.PSD={validate:t=>"8BPS"===t.toString("ascii",0,4),calculate:t=>({height:t.readUInt32BE(14),width:t.readUInt32BE(18)})};},8531:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});const n=/"']|"[^"]*"|'[^']*')*>/,r={height:/\sheight=(['"])([^%]+?)\1/,root:n,viewbox:/\sviewBox=(['"])(.+?)\1/,width:/\swidth=(['"])([^%]+?)\1/},i=2.54,o={cm:96/i,em:16,ex:8,m:96/i*100,mm:96/i/10,pc:96/72/12,pt:96/72};function a(t){const e=/([0-9.]+)([a-z]*)/.exec(t);if(e)return Math.round(parseFloat(e[1])*(o[e[2]]||1))}function s(t){const e=t.split(" ");return {height:a(e[3]),width:a(e[2])}}e.SVG={validate(t){const e=String(t);return n.test(e)},calculate(t){const e=t.toString("utf8").match(r.root);if(e){const t=function(t){const e=t.match(r.width),n=t.match(r.height),i=t.match(r.viewbox);return {height:n&&a(n[2]),viewbox:i&&s(i[2]),width:e&&a(e[2])}}(e[0]);if(t.width&&t.height)return function(t){return {height:t.height,width:t.width}}(t);if(t.viewbox)return function(t,e){const n=e.width/e.height;return t.width?{height:Math.floor(t.width/n),width:t.width}:t.height?{height:t.height,width:Math.floor(t.height*n)}:{height:e.height,width:e.width}}(t,t.viewbox)}throw new TypeError("Invalid SVG")}};},9948:(t,e,n)=>{"use strict";var r=n(3085).lW;Object.defineProperty(e,"__esModule",{value:!0});const i=n(7990),o=n(8557);function a(t,e){const n=o.readUInt(t,16,8,e);return (o.readUInt(t,16,10,e)<<16)+n}function s(t){if(t.length>24)return t.slice(12)}const u=["49492a00","4d4d002a"];e.TIFF={validate:t=>u.includes(t.toString("hex",0,4)),calculate(t,e){if(!e)throw new TypeError("Tiff doesn't support buffer");const n="BE"===function(t){const e=t.toString("ascii",0,2);return "II"===e?"LE":"MM"===e?"BE":void 0}(t),u=function(t,e,n){const a=o.readUInt(t,32,4,n);let s=1024;const u=i.statSync(e).size;a+s>u&&(s=u-a-10);const l=r.alloc(s),c=i.openSync(e,"r");return i.readSync(c,l,0,s,a),l.slice(2)}(t,e,n),l=function(t,e){const n={};let r=t;for(;r&&r.length;){const t=o.readUInt(r,16,0,e),i=o.readUInt(r,16,2,e),u=o.readUInt(r,32,4,e);if(0===t)break;1!==u||3!==i&&4!==i||(n[t]=a(r,e)),r=s(r);}return n}(u,n),c=l[256],h=l[257];if(!c||!h)throw new TypeError("Invalid Tiff. Missing tags");return {height:h,width:c}}};},5236:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.WEBP={validate(t){const e="RIFF"===t.toString("ascii",0,4),n="WEBP"===t.toString("ascii",8,12),r="VP8"===t.toString("ascii",12,15);return e&&n&&r},calculate(t){const e=t.toString("ascii",12,16);if(t=t.slice(20,30),"VP8X"===e){const e=t[0];if(0==(192&e)&&0==(1&e))return function(t){return {height:1+t.readUIntLE(7,3),width:1+t.readUIntLE(4,3)}}(t);throw new TypeError("Invalid WebP")}if("VP8 "===e&&47!==t[0])return function(t){return {height:16383&t.readInt16LE(8),width:16383&t.readInt16LE(6)}}(t);const n=t.toString("hex",3,6);if("VP8L"===e&&"9d012a"!==n)return function(t){return {height:1+((15&t[4])<<10|t[3]<<2|(192&t[2])>>6),width:1+((63&t[2])<<8|t[1])}}(t);throw new TypeError("Invalid WebP")}};},5717:t=>{"function"==typeof Object.create?t.exports=function(t,e){e&&(t.super_=e,t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}));}:t.exports=function(t,e){if(e){t.super_=e;var n=function(){};n.prototype=e.prototype,t.prototype=new n,t.prototype.constructor=t;}};},8552:(t,e,n)=>{var r=n(852)(n(5639),"DataView");t.exports=r;},1989:(t,e,n)=>{var r=n(1789),i=n(401),o=n(7667),a=n(1327),s=n(1866);function u(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e{var r=n(7040),i=n(4125),o=n(2117),a=n(7518),s=n(4705);function u(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e{var r=n(852)(n(5639),"Map");t.exports=r;},3369:(t,e,n)=>{var r=n(4785),i=n(1285),o=n(6e3),a=n(9916),s=n(5265);function u(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e{var r=n(852)(n(5639),"Promise");t.exports=r;},8525:(t,e,n)=>{var r=n(852)(n(5639),"Set");t.exports=r;},8668:(t,e,n)=>{var r=n(3369),i=n(619),o=n(2385);function a(t){var e=-1,n=null==t?0:t.length;for(this.__data__=new r;++e{var r=n(8407),i=n(7465),o=n(3779),a=n(7599),s=n(4758),u=n(4309);function l(t){var e=this.__data__=new r(t);this.size=e.size;}l.prototype.clear=i,l.prototype.delete=o,l.prototype.get=a,l.prototype.has=s,l.prototype.set=u,t.exports=l;},2705:(t,e,n)=>{var r=n(5639).Symbol;t.exports=r;},1149:(t,e,n)=>{var r=n(5639).Uint8Array;t.exports=r;},577:(t,e,n)=>{var r=n(852)(n(5639),"WeakMap");t.exports=r;},4963:t=>{t.exports=function(t,e){for(var n=-1,r=null==t?0:t.length,i=0,o=[];++n{var r=n(2545),i=n(5694),o=n(1469),a=n(4144),s=n(5776),u=n(6719),l=Object.prototype.hasOwnProperty;t.exports=function(t,e){var n=o(t),c=!n&&i(t),h=!n&&!c&&a(t),f=!n&&!c&&!h&&u(t),p=n||c||h||f,d=p?r(t.length,String):[],y=d.length;for(var m in t)!e&&!l.call(t,m)||p&&("length"==m||h&&("offset"==m||"parent"==m)||f&&("buffer"==m||"byteLength"==m||"byteOffset"==m)||s(m,y))||d.push(m);return d};},9932:t=>{t.exports=function(t,e){for(var n=-1,r=null==t?0:t.length,i=Array(r);++n{t.exports=function(t,e){for(var n=-1,r=e.length,i=t.length;++n{t.exports=function(t,e){for(var n=-1,r=null==t?0:t.length;++n{var r=n(7813);t.exports=function(t,e){for(var n=t.length;n--;)if(r(t[n][0],e))return n;return -1};},8866:(t,e,n)=>{var r=n(2488),i=n(1469);t.exports=function(t,e,n){var o=e(t);return i(t)?o:r(o,n(t))};},4239:(t,e,n)=>{var r=n(2705),i=n(9607),o=n(2333),a=r?r.toStringTag:void 0;t.exports=function(t){return null==t?void 0===t?"[object Undefined]":"[object Null]":a&&a in Object(t)?i(t):o(t)};},9454:(t,e,n)=>{var r=n(4239),i=n(7005);t.exports=function(t){return i(t)&&"[object Arguments]"==r(t)};},939:(t,e,n)=>{var r=n(2492),i=n(7005);t.exports=function t(e,n,o,a,s){return e===n||(null==e||null==n||!i(e)&&!i(n)?e!=e&&n!=n:r(e,n,o,a,t,s))};},2492:(t,e,n)=>{var r=n(6384),i=n(7114),o=n(8351),a=n(6096),s=n(4160),u=n(1469),l=n(4144),c=n(6719),h="[object Arguments]",f="[object Array]",p="[object Object]",d=Object.prototype.hasOwnProperty;t.exports=function(t,e,n,y,m,g){var _=u(t),b=u(e),v=_?f:s(t),T=b?f:s(e),E=(v=v==h?p:v)==p,w=(T=T==h?p:T)==p,x=v==T;if(x&&l(t)){if(!l(e))return !1;_=!0,E=!1;}if(x&&!E)return g||(g=new r),_||c(t)?i(t,e,n,y,m,g):o(t,e,v,n,y,m,g);if(!(1&n)){var C=E&&d.call(t,"__wrapped__"),M=w&&d.call(e,"__wrapped__");if(C||M){var S=C?t.value():t,N=M?e.value():e;return g||(g=new r),m(S,N,n,y,g)}}return !!x&&(g||(g=new r),a(t,e,n,y,m,g))};},8458:(t,e,n)=>{var r=n(3560),i=n(5346),o=n(3218),a=n(346),s=/^\[object .+?Constructor\]$/,u=Function.prototype,l=Object.prototype,c=u.toString,h=l.hasOwnProperty,f=RegExp("^"+c.call(h).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");t.exports=function(t){return !(!o(t)||i(t))&&(r(t)?f:s).test(a(t))};},8749:(t,e,n)=>{var r=n(4239),i=n(1780),o=n(7005),a={};a["[object Float32Array]"]=a["[object Float64Array]"]=a["[object Int8Array]"]=a["[object Int16Array]"]=a["[object Int32Array]"]=a["[object Uint8Array]"]=a["[object Uint8ClampedArray]"]=a["[object Uint16Array]"]=a["[object Uint32Array]"]=!0,a["[object Arguments]"]=a["[object Array]"]=a["[object ArrayBuffer]"]=a["[object Boolean]"]=a["[object DataView]"]=a["[object Date]"]=a["[object Error]"]=a["[object Function]"]=a["[object Map]"]=a["[object Number]"]=a["[object Object]"]=a["[object RegExp]"]=a["[object Set]"]=a["[object String]"]=a["[object WeakMap]"]=!1,t.exports=function(t){return o(t)&&i(t.length)&&!!a[r(t)]};},280:(t,e,n)=>{var r=n(5726),i=n(6916),o=Object.prototype.hasOwnProperty;t.exports=function(t){if(!r(t))return i(t);var e=[];for(var n in Object(t))o.call(t,n)&&"constructor"!=n&&e.push(n);return e};},4949:(t,e,n)=>{var r=n(7226),i=n(6557),o=n(3448);t.exports=function(t,e,n){var a=0,s=null==t?a:t.length;if("number"==typeof e&&e==e&&s<=2147483647){for(;a>>1,l=t[u];null!==l&&!o(l)&&(n?l<=e:l{var r=n(3448),i=Math.floor,o=Math.min;t.exports=function(t,e,n,a){var s=0,u=null==t?0:t.length;if(0===u)return 0;for(var l=(e=n(e))!=e,c=null===e,h=r(e),f=void 0===e;s{t.exports=function(t,e){for(var n=-1,r=Array(t);++n{t.exports=function(t){return function(e){return t(e)}};},7415:(t,e,n)=>{var r=n(9932);t.exports=function(t,e){return r(e,(function(e){return t[e]}))};},4757:t=>{t.exports=function(t,e){return t.has(e)};},4429:(t,e,n)=>{var r=n(5639)["__core-js_shared__"];t.exports=r;},7114:(t,e,n)=>{var r=n(8668),i=n(2908),o=n(4757);t.exports=function(t,e,n,a,s,u){var l=1&n,c=t.length,h=e.length;if(c!=h&&!(l&&h>c))return !1;var f=u.get(t),p=u.get(e);if(f&&p)return f==e&&p==t;var d=-1,y=!0,m=2&n?new r:void 0;for(u.set(t,e),u.set(e,t);++d{var r=n(2705),i=n(1149),o=n(7813),a=n(7114),s=n(8776),u=n(1814),l=r?r.prototype:void 0,c=l?l.valueOf:void 0;t.exports=function(t,e,n,r,l,h,f){switch(n){case "[object DataView]":if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return !1;t=t.buffer,e=e.buffer;case "[object ArrayBuffer]":return !(t.byteLength!=e.byteLength||!h(new i(t),new i(e)));case "[object Boolean]":case "[object Date]":case "[object Number]":return o(+t,+e);case "[object Error]":return t.name==e.name&&t.message==e.message;case "[object RegExp]":case "[object String]":return t==e+"";case "[object Map]":var p=s;case "[object Set]":var d=1&r;if(p||(p=u),t.size!=e.size&&!d)return !1;var y=f.get(t);if(y)return y==e;r|=2,f.set(t,e);var m=a(p(t),p(e),r,l,h,f);return f.delete(t),m;case "[object Symbol]":if(c)return c.call(t)==c.call(e)}return !1};},6096:(t,e,n)=>{var r=n(8234),i=Object.prototype.hasOwnProperty;t.exports=function(t,e,n,o,a,s){var u=1&n,l=r(t),c=l.length;if(c!=r(e).length&&!u)return !1;for(var h=c;h--;){var f=l[h];if(!(u?f in e:i.call(e,f)))return !1}var p=s.get(t),d=s.get(e);if(p&&d)return p==e&&d==t;var y=!0;s.set(t,e),s.set(e,t);for(var m=u;++h{var r="object"==typeof n.g&&n.g&&n.g.Object===Object&&n.g;t.exports=r;},8234:(t,e,n)=>{var r=n(8866),i=n(9551),o=n(3674);t.exports=function(t){return r(t,o,i)};},5050:(t,e,n)=>{var r=n(7019);t.exports=function(t,e){var n=t.__data__;return r(e)?n["string"==typeof e?"string":"hash"]:n.map};},852:(t,e,n)=>{var r=n(8458),i=n(7801);t.exports=function(t,e){var n=i(t,e);return r(n)?n:void 0};},9607:(t,e,n)=>{var r=n(2705),i=Object.prototype,o=i.hasOwnProperty,a=i.toString,s=r?r.toStringTag:void 0;t.exports=function(t){var e=o.call(t,s),n=t[s];try{t[s]=void 0;var r=!0;}catch(t){}var i=a.call(t);return r&&(e?t[s]=n:delete t[s]),i};},9551:(t,e,n)=>{var r=n(4963),i=n(479),o=Object.prototype.propertyIsEnumerable,a=Object.getOwnPropertySymbols,s=a?function(t){return null==t?[]:(t=Object(t),r(a(t),(function(e){return o.call(t,e)})))}:i;t.exports=s;},4160:(t,e,n)=>{var r=n(8552),i=n(7071),o=n(3818),a=n(8525),s=n(577),u=n(4239),l=n(346),c="[object Map]",h="[object Promise]",f="[object Set]",p="[object WeakMap]",d="[object DataView]",y=l(r),m=l(i),g=l(o),_=l(a),b=l(s),v=u;(r&&v(new r(new ArrayBuffer(1)))!=d||i&&v(new i)!=c||o&&v(o.resolve())!=h||a&&v(new a)!=f||s&&v(new s)!=p)&&(v=function(t){var e=u(t),n="[object Object]"==e?t.constructor:void 0,r=n?l(n):"";if(r)switch(r){case y:return d;case m:return c;case g:return h;case _:return f;case b:return p}return e}),t.exports=v;},7801:t=>{t.exports=function(t,e){return null==t?void 0:t[e]};},1789:(t,e,n)=>{var r=n(4536);t.exports=function(){this.__data__=r?r(null):{},this.size=0;};},401:t=>{t.exports=function(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e};},7667:(t,e,n)=>{var r=n(4536),i=Object.prototype.hasOwnProperty;t.exports=function(t){var e=this.__data__;if(r){var n=e[t];return "__lodash_hash_undefined__"===n?void 0:n}return i.call(e,t)?e[t]:void 0};},1327:(t,e,n)=>{var r=n(4536),i=Object.prototype.hasOwnProperty;t.exports=function(t){var e=this.__data__;return r?void 0!==e[t]:i.call(e,t)};},1866:(t,e,n)=>{var r=n(4536);t.exports=function(t,e){var n=this.__data__;return this.size+=this.has(t)?0:1,n[t]=r&&void 0===e?"__lodash_hash_undefined__":e,this};},5776:t=>{var e=/^(?:0|[1-9]\d*)$/;t.exports=function(t,n){var r=typeof t;return !!(n=null==n?9007199254740991:n)&&("number"==r||"symbol"!=r&&e.test(t))&&t>-1&&t%1==0&&t{t.exports=function(t){var e=typeof t;return "string"==e||"number"==e||"symbol"==e||"boolean"==e?"__proto__"!==t:null===t};},5346:(t,e,n)=>{var r,i=n(4429),o=(r=/[^.]+$/.exec(i&&i.keys&&i.keys.IE_PROTO||""))?"Symbol(src)_1."+r:"";t.exports=function(t){return !!o&&o in t};},5726:t=>{var e=Object.prototype;t.exports=function(t){var n=t&&t.constructor;return t===("function"==typeof n&&n.prototype||e)};},7040:t=>{t.exports=function(){this.__data__=[],this.size=0;};},4125:(t,e,n)=>{var r=n(8470),i=Array.prototype.splice;t.exports=function(t){var e=this.__data__,n=r(e,t);return !(n<0||(n==e.length-1?e.pop():i.call(e,n,1),--this.size,0))};},2117:(t,e,n)=>{var r=n(8470);t.exports=function(t){var e=this.__data__,n=r(e,t);return n<0?void 0:e[n][1]};},7518:(t,e,n)=>{var r=n(8470);t.exports=function(t){return r(this.__data__,t)>-1};},4705:(t,e,n)=>{var r=n(8470);t.exports=function(t,e){var n=this.__data__,i=r(n,t);return i<0?(++this.size,n.push([t,e])):n[i][1]=e,this};},4785:(t,e,n)=>{var r=n(1989),i=n(8407),o=n(7071);t.exports=function(){this.size=0,this.__data__={hash:new r,map:new(o||i),string:new r};};},1285:(t,e,n)=>{var r=n(5050);t.exports=function(t){var e=r(this,t).delete(t);return this.size-=e?1:0,e};},6e3:(t,e,n)=>{var r=n(5050);t.exports=function(t){return r(this,t).get(t)};},9916:(t,e,n)=>{var r=n(5050);t.exports=function(t){return r(this,t).has(t)};},5265:(t,e,n)=>{var r=n(5050);t.exports=function(t,e){var n=r(this,t),i=n.size;return n.set(t,e),this.size+=n.size==i?0:1,this};},8776:t=>{t.exports=function(t){var e=-1,n=Array(t.size);return t.forEach((function(t,r){n[++e]=[r,t];})),n};},4536:(t,e,n)=>{var r=n(852)(Object,"create");t.exports=r;},6916:(t,e,n)=>{var r=n(5569)(Object.keys,Object);t.exports=r;},1167:(t,e,n)=>{t=n.nmd(t);var r=n(1957),i=e&&!e.nodeType&&e,o=i&&t&&!t.nodeType&&t,a=o&&o.exports===i&&r.process,s=function(){try{return o&&o.require&&o.require("util").types||a&&a.binding&&a.binding("util")}catch(t){}}();t.exports=s;},2333:t=>{var e=Object.prototype.toString;t.exports=function(t){return e.call(t)};},5569:t=>{t.exports=function(t,e){return function(n){return t(e(n))}};},5639:(t,e,n)=>{var r=n(1957),i="object"==typeof self&&self&&self.Object===Object&&self,o=r||i||Function("return this")();t.exports=o;},619:t=>{t.exports=function(t){return this.__data__.set(t,"__lodash_hash_undefined__"),this};},2385:t=>{t.exports=function(t){return this.__data__.has(t)};},1814:t=>{t.exports=function(t){var e=-1,n=Array(t.size);return t.forEach((function(t){n[++e]=t;})),n};},7465:(t,e,n)=>{var r=n(8407);t.exports=function(){this.__data__=new r,this.size=0;};},3779:t=>{t.exports=function(t){var e=this.__data__,n=e.delete(t);return this.size=e.size,n};},7599:t=>{t.exports=function(t){return this.__data__.get(t)};},4758:t=>{t.exports=function(t){return this.__data__.has(t)};},4309:(t,e,n)=>{var r=n(8407),i=n(7071),o=n(3369);t.exports=function(t,e){var n=this.__data__;if(n instanceof r){var a=n.__data__;if(!i||a.length<199)return a.push([t,e]),this.size=++n.size,this;n=this.__data__=new o(a);}return n.set(t,e),this.size=n.size,this};},346:t=>{var e=Function.prototype.toString;t.exports=function(t){if(null!=t){try{return e.call(t)}catch(t){}try{return t+""}catch(t){}}return ""};},7813:t=>{t.exports=function(t,e){return t===e||t!=t&&e!=e};},6557:t=>{t.exports=function(t){return t};},5694:(t,e,n)=>{var r=n(9454),i=n(7005),o=Object.prototype,a=o.hasOwnProperty,s=o.propertyIsEnumerable,u=r(function(){return arguments}())?r:function(t){return i(t)&&a.call(t,"callee")&&!s.call(t,"callee")};t.exports=u;},1469:t=>{var e=Array.isArray;t.exports=e;},8612:(t,e,n)=>{var r=n(3560),i=n(1780);t.exports=function(t){return null!=t&&i(t.length)&&!r(t)};},4144:(t,e,n)=>{t=n.nmd(t);var r=n(5639),i=n(5062),o=e&&!e.nodeType&&e,a=o&&t&&!t.nodeType&&t,s=a&&a.exports===o?r.Buffer:void 0,u=(s?s.isBuffer:void 0)||i;t.exports=u;},8446:(t,e,n)=>{var r=n(939);t.exports=function(t,e){return r(t,e)};},3560:(t,e,n)=>{var r=n(4239),i=n(3218);t.exports=function(t){if(!i(t))return !1;var e=r(t);return "[object Function]"==e||"[object GeneratorFunction]"==e||"[object AsyncFunction]"==e||"[object Proxy]"==e};},1780:t=>{t.exports=function(t){return "number"==typeof t&&t>-1&&t%1==0&&t<=9007199254740991};},4293:t=>{t.exports=function(t){return null==t};},3218:t=>{t.exports=function(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)};},7005:t=>{t.exports=function(t){return null!=t&&"object"==typeof t};},3448:(t,e,n)=>{var r=n(4239),i=n(7005);t.exports=function(t){return "symbol"==typeof t||i(t)&&"[object Symbol]"==r(t)};},6719:(t,e,n)=>{var r=n(8749),i=n(1717),o=n(1167),a=o&&o.isTypedArray,s=a?i(a):r;t.exports=s;},3674:(t,e,n)=>{var r=n(4636),i=n(280),o=n(8612);t.exports=function(t){return o(t)?r(t):i(t)};},1159:(t,e,n)=>{var r=n(4949);t.exports=function(t,e){return r(t,e)};},5871:(t,e,n)=>{var r=n(4949),i=n(7813);t.exports=function(t,e){var n=null==t?0:t.length;if(n){var o=r(t,e);if(o{t.exports=function(){return []};},5062:t=>{t.exports=function(){return !1};},2628:(t,e,n)=>{var r=n(7415),i=n(3674);t.exports=function(t){return null==t?[]:r(t,i(t))};},3085:(t,e,n)=>{"use strict";var r=n(5108);const i=n(9742),o=n(645),a="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;e.lW=l,e.h2=50;const s=2147483647;function u(t){if(t>s)throw new RangeError('The value "'+t+'" is invalid for option "size"');const e=new Uint8Array(t);return Object.setPrototypeOf(e,l.prototype),e}function l(t,e,n){if("number"==typeof t){if("string"==typeof e)throw new TypeError('The "string" argument must be of type string. Received type number');return f(t)}return c(t,e,n)}function c(t,e,n){if("string"==typeof t)return function(t,e){if("string"==typeof e&&""!==e||(e="utf8"),!l.isEncoding(e))throw new TypeError("Unknown encoding: "+e);const n=0|m(t,e);let r=u(n);const i=r.write(t,e);return i!==n&&(r=r.slice(0,i)),r}(t,e);if(ArrayBuffer.isView(t))return function(t){if(Q(t,Uint8Array)){const e=new Uint8Array(t);return d(e.buffer,e.byteOffset,e.byteLength)}return p(t)}(t);if(null==t)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t);if(Q(t,ArrayBuffer)||t&&Q(t.buffer,ArrayBuffer))return d(t,e,n);if("undefined"!=typeof SharedArrayBuffer&&(Q(t,SharedArrayBuffer)||t&&Q(t.buffer,SharedArrayBuffer)))return d(t,e,n);if("number"==typeof t)throw new TypeError('The "value" argument must not be of type number. Received type number');const r=t.valueOf&&t.valueOf();if(null!=r&&r!==t)return l.from(r,e,n);const i=function(t){if(l.isBuffer(t)){const e=0|y(t.length),n=u(e);return 0===n.length||t.copy(n,0,0,e),n}return void 0!==t.length?"number"!=typeof t.length||K(t.length)?u(0):p(t):"Buffer"===t.type&&Array.isArray(t.data)?p(t.data):void 0}(t);if(i)return i;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof t[Symbol.toPrimitive])return l.from(t[Symbol.toPrimitive]("string"),e,n);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t)}function h(t){if("number"!=typeof t)throw new TypeError('"size" argument must be of type number');if(t<0)throw new RangeError('The value "'+t+'" is invalid for option "size"')}function f(t){return h(t),u(t<0?0:0|y(t))}function p(t){const e=t.length<0?0:0|y(t.length),n=u(e);for(let r=0;r=s)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+s.toString(16)+" bytes");return 0|t}function m(t,e){if(l.isBuffer(t))return t.length;if(ArrayBuffer.isView(t)||Q(t,ArrayBuffer))return t.byteLength;if("string"!=typeof t)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof t);const n=t.length,r=arguments.length>2&&!0===arguments[2];if(!r&&0===n)return 0;let i=!1;for(;;)switch(e){case "ascii":case "latin1":case "binary":return n;case "utf8":case "utf-8":return X(t).length;case "ucs2":case "ucs-2":case "utf16le":case "utf-16le":return 2*n;case "hex":return n>>>1;case "base64":return Y(t).length;default:if(i)return r?-1:X(t).length;e=(""+e).toLowerCase(),i=!0;}}function g(t,e,n){let r=!1;if((void 0===e||e<0)&&(e=0),e>this.length)return "";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return "";if((n>>>=0)<=(e>>>=0))return "";for(t||(t="utf8");;)switch(t){case "hex":return I(this,e,n);case "utf8":case "utf-8":return S(this,e,n);case "ascii":return O(this,e,n);case "latin1":case "binary":return A(this,e,n);case "base64":return M(this,e,n);case "ucs2":case "ucs-2":case "utf16le":case "utf-16le":return P(this,e,n);default:if(r)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),r=!0;}}function _(t,e,n){const r=t[e];t[e]=t[n],t[n]=r;}function b(t,e,n,r,i){if(0===t.length)return -1;if("string"==typeof n?(r=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),K(n=+n)&&(n=i?0:t.length-1),n<0&&(n=t.length+n),n>=t.length){if(i)return -1;n=t.length-1;}else if(n<0){if(!i)return -1;n=0;}if("string"==typeof e&&(e=l.from(e,r)),l.isBuffer(e))return 0===e.length?-1:v(t,e,n,r,i);if("number"==typeof e)return e&=255,"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(t,e,n):Uint8Array.prototype.lastIndexOf.call(t,e,n):v(t,[e],n,r,i);throw new TypeError("val must be string, number or Buffer")}function v(t,e,n,r,i){let o,a=1,s=t.length,u=e.length;if(void 0!==r&&("ucs2"===(r=String(r).toLowerCase())||"ucs-2"===r||"utf16le"===r||"utf-16le"===r)){if(t.length<2||e.length<2)return -1;a=2,s/=2,u/=2,n/=2;}function l(t,e){return 1===a?t[e]:t.readUInt16BE(e*a)}if(i){let r=-1;for(o=n;os&&(n=s-u),o=n;o>=0;o--){let n=!0;for(let r=0;ri&&(r=i):r=i;const o=e.length;let a;for(r>o/2&&(r=o/2),a=0;a>8,i=n%256,o.push(i),o.push(r);return o}(e,t.length-n),t,n,r)}function M(t,e,n){return 0===e&&n===t.length?i.fromByteArray(t):i.fromByteArray(t.slice(e,n))}function S(t,e,n){n=Math.min(t.length,n);const r=[];let i=e;for(;i239?4:e>223?3:e>191?2:1;if(i+a<=n){let n,r,s,u;switch(a){case 1:e<128&&(o=e);break;case 2:n=t[i+1],128==(192&n)&&(u=(31&e)<<6|63&n,u>127&&(o=u));break;case 3:n=t[i+1],r=t[i+2],128==(192&n)&&128==(192&r)&&(u=(15&e)<<12|(63&n)<<6|63&r,u>2047&&(u<55296||u>57343)&&(o=u));break;case 4:n=t[i+1],r=t[i+2],s=t[i+3],128==(192&n)&&128==(192&r)&&128==(192&s)&&(u=(15&e)<<18|(63&n)<<12|(63&r)<<6|63&s,u>65535&&u<1114112&&(o=u));}}null===o?(o=65533,a=1):o>65535&&(o-=65536,r.push(o>>>10&1023|55296),o=56320|1023&o),r.push(o),i+=a;}return function(t){const e=t.length;if(e<=N)return String.fromCharCode.apply(String,t);let n="",r=0;for(;rr.length?(l.isBuffer(e)||(e=l.from(e)),e.copy(r,i)):Uint8Array.prototype.set.call(r,e,i);else {if(!l.isBuffer(e))throw new TypeError('"list" argument must be an Array of Buffers');e.copy(r,i);}i+=e.length;}return r},l.byteLength=m,l.prototype._isBuffer=!0,l.prototype.swap16=function(){const t=this.length;if(t%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let e=0;en&&(t+=" ... "),""},a&&(l.prototype[a]=l.prototype.inspect),l.prototype.compare=function(t,e,n,r,i){if(Q(t,Uint8Array)&&(t=l.from(t,t.offset,t.byteLength)),!l.isBuffer(t))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof t);if(void 0===e&&(e=0),void 0===n&&(n=t?t.length:0),void 0===r&&(r=0),void 0===i&&(i=this.length),e<0||n>t.length||r<0||i>this.length)throw new RangeError("out of range index");if(r>=i&&e>=n)return 0;if(r>=i)return -1;if(e>=n)return 1;if(this===t)return 0;let o=(i>>>=0)-(r>>>=0),a=(n>>>=0)-(e>>>=0);const s=Math.min(o,a),u=this.slice(r,i),c=t.slice(e,n);for(let t=0;t>>=0,isFinite(n)?(n>>>=0,void 0===r&&(r="utf8")):(r=n,n=void 0);}const i=this.length-e;if((void 0===n||n>i)&&(n=i),t.length>0&&(n<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");r||(r="utf8");let o=!1;for(;;)switch(r){case "hex":return T(this,t,e,n);case "utf8":case "utf-8":return E(this,t,e,n);case "ascii":case "latin1":case "binary":return w(this,t,e,n);case "base64":return x(this,t,e,n);case "ucs2":case "ucs-2":case "utf16le":case "utf-16le":return C(this,t,e,n);default:if(o)throw new TypeError("Unknown encoding: "+r);r=(""+r).toLowerCase(),o=!0;}},l.prototype.toJSON=function(){return {type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};const N=4096;function O(t,e,n){let r="";n=Math.min(t.length,n);for(let i=e;ir)&&(n=r);let i="";for(let r=e;rn)throw new RangeError("Trying to access beyond buffer length")}function L(t,e,n,r,i,o){if(!l.isBuffer(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>i||et.length)throw new RangeError("Index out of range")}function D(t,e,n,r,i){q(e,r,i,t,n,7);let o=Number(e&BigInt(4294967295));t[n++]=o,o>>=8,t[n++]=o,o>>=8,t[n++]=o,o>>=8,t[n++]=o;let a=Number(e>>BigInt(32)&BigInt(4294967295));return t[n++]=a,a>>=8,t[n++]=a,a>>=8,t[n++]=a,a>>=8,t[n++]=a,n}function k(t,e,n,r,i){q(e,r,i,t,n,7);let o=Number(e&BigInt(4294967295));t[n+7]=o,o>>=8,t[n+6]=o,o>>=8,t[n+5]=o,o>>=8,t[n+4]=o;let a=Number(e>>BigInt(32)&BigInt(4294967295));return t[n+3]=a,a>>=8,t[n+2]=a,a>>=8,t[n+1]=a,a>>=8,t[n]=a,n+8}function F(t,e,n,r,i,o){if(n+r>t.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("Index out of range")}function U(t,e,n,r,i){return e=+e,n>>>=0,i||F(t,0,n,4),o.write(t,e,n,r,23,4),n+4}function B(t,e,n,r,i){return e=+e,n>>>=0,i||F(t,0,n,8),o.write(t,e,n,r,52,8),n+8}l.prototype.slice=function(t,e){const n=this.length;(t=~~t)<0?(t+=n)<0&&(t=0):t>n&&(t=n),(e=void 0===e?n:~~e)<0?(e+=n)<0&&(e=0):e>n&&(e=n),e>>=0,e>>>=0,n||R(t,e,this.length);let r=this[t],i=1,o=0;for(;++o>>=0,e>>>=0,n||R(t,e,this.length);let r=this[t+--e],i=1;for(;e>0&&(i*=256);)r+=this[t+--e]*i;return r},l.prototype.readUint8=l.prototype.readUInt8=function(t,e){return t>>>=0,e||R(t,1,this.length),this[t]},l.prototype.readUint16LE=l.prototype.readUInt16LE=function(t,e){return t>>>=0,e||R(t,2,this.length),this[t]|this[t+1]<<8},l.prototype.readUint16BE=l.prototype.readUInt16BE=function(t,e){return t>>>=0,e||R(t,2,this.length),this[t]<<8|this[t+1]},l.prototype.readUint32LE=l.prototype.readUInt32LE=function(t,e){return t>>>=0,e||R(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},l.prototype.readUint32BE=l.prototype.readUInt32BE=function(t,e){return t>>>=0,e||R(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},l.prototype.readBigUInt64LE=$((function(t){H(t>>>=0,"offset");const e=this[t],n=this[t+7];void 0!==e&&void 0!==n||z(t,this.length-8);const r=e+256*this[++t]+65536*this[++t]+this[++t]*2**24,i=this[++t]+256*this[++t]+65536*this[++t]+n*2**24;return BigInt(r)+(BigInt(i)<>>=0,"offset");const e=this[t],n=this[t+7];void 0!==e&&void 0!==n||z(t,this.length-8);const r=e*2**24+65536*this[++t]+256*this[++t]+this[++t],i=this[++t]*2**24+65536*this[++t]+256*this[++t]+n;return (BigInt(r)<>>=0,e>>>=0,n||R(t,e,this.length);let r=this[t],i=1,o=0;for(;++o=i&&(r-=Math.pow(2,8*e)),r},l.prototype.readIntBE=function(t,e,n){t>>>=0,e>>>=0,n||R(t,e,this.length);let r=e,i=1,o=this[t+--r];for(;r>0&&(i*=256);)o+=this[t+--r]*i;return i*=128,o>=i&&(o-=Math.pow(2,8*e)),o},l.prototype.readInt8=function(t,e){return t>>>=0,e||R(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},l.prototype.readInt16LE=function(t,e){t>>>=0,e||R(t,2,this.length);const n=this[t]|this[t+1]<<8;return 32768&n?4294901760|n:n},l.prototype.readInt16BE=function(t,e){t>>>=0,e||R(t,2,this.length);const n=this[t+1]|this[t]<<8;return 32768&n?4294901760|n:n},l.prototype.readInt32LE=function(t,e){return t>>>=0,e||R(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},l.prototype.readInt32BE=function(t,e){return t>>>=0,e||R(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},l.prototype.readBigInt64LE=$((function(t){H(t>>>=0,"offset");const e=this[t],n=this[t+7];void 0!==e&&void 0!==n||z(t,this.length-8);const r=this[t+4]+256*this[t+5]+65536*this[t+6]+(n<<24);return (BigInt(r)<>>=0,"offset");const e=this[t],n=this[t+7];void 0!==e&&void 0!==n||z(t,this.length-8);const r=(e<<24)+65536*this[++t]+256*this[++t]+this[++t];return (BigInt(r)<>>=0,e||R(t,4,this.length),o.read(this,t,!0,23,4)},l.prototype.readFloatBE=function(t,e){return t>>>=0,e||R(t,4,this.length),o.read(this,t,!1,23,4)},l.prototype.readDoubleLE=function(t,e){return t>>>=0,e||R(t,8,this.length),o.read(this,t,!0,52,8)},l.prototype.readDoubleBE=function(t,e){return t>>>=0,e||R(t,8,this.length),o.read(this,t,!1,52,8)},l.prototype.writeUintLE=l.prototype.writeUIntLE=function(t,e,n,r){t=+t,e>>>=0,n>>>=0,r||L(this,t,e,n,Math.pow(2,8*n)-1,0);let i=1,o=0;for(this[e]=255&t;++o>>=0,n>>>=0,r||L(this,t,e,n,Math.pow(2,8*n)-1,0);let i=n-1,o=1;for(this[e+i]=255&t;--i>=0&&(o*=256);)this[e+i]=t/o&255;return e+n},l.prototype.writeUint8=l.prototype.writeUInt8=function(t,e,n){return t=+t,e>>>=0,n||L(this,t,e,1,255,0),this[e]=255&t,e+1},l.prototype.writeUint16LE=l.prototype.writeUInt16LE=function(t,e,n){return t=+t,e>>>=0,n||L(this,t,e,2,65535,0),this[e]=255&t,this[e+1]=t>>>8,e+2},l.prototype.writeUint16BE=l.prototype.writeUInt16BE=function(t,e,n){return t=+t,e>>>=0,n||L(this,t,e,2,65535,0),this[e]=t>>>8,this[e+1]=255&t,e+2},l.prototype.writeUint32LE=l.prototype.writeUInt32LE=function(t,e,n){return t=+t,e>>>=0,n||L(this,t,e,4,4294967295,0),this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t,e+4},l.prototype.writeUint32BE=l.prototype.writeUInt32BE=function(t,e,n){return t=+t,e>>>=0,n||L(this,t,e,4,4294967295,0),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},l.prototype.writeBigUInt64LE=$((function(t,e=0){return D(this,t,e,BigInt(0),BigInt("0xffffffffffffffff"))})),l.prototype.writeBigUInt64BE=$((function(t,e=0){return k(this,t,e,BigInt(0),BigInt("0xffffffffffffffff"))})),l.prototype.writeIntLE=function(t,e,n,r){if(t=+t,e>>>=0,!r){const r=Math.pow(2,8*n-1);L(this,t,e,n,r-1,-r);}let i=0,o=1,a=0;for(this[e]=255&t;++i>0)-a&255;return e+n},l.prototype.writeIntBE=function(t,e,n,r){if(t=+t,e>>>=0,!r){const r=Math.pow(2,8*n-1);L(this,t,e,n,r-1,-r);}let i=n-1,o=1,a=0;for(this[e+i]=255&t;--i>=0&&(o*=256);)t<0&&0===a&&0!==this[e+i+1]&&(a=1),this[e+i]=(t/o>>0)-a&255;return e+n},l.prototype.writeInt8=function(t,e,n){return t=+t,e>>>=0,n||L(this,t,e,1,127,-128),t<0&&(t=255+t+1),this[e]=255&t,e+1},l.prototype.writeInt16LE=function(t,e,n){return t=+t,e>>>=0,n||L(this,t,e,2,32767,-32768),this[e]=255&t,this[e+1]=t>>>8,e+2},l.prototype.writeInt16BE=function(t,e,n){return t=+t,e>>>=0,n||L(this,t,e,2,32767,-32768),this[e]=t>>>8,this[e+1]=255&t,e+2},l.prototype.writeInt32LE=function(t,e,n){return t=+t,e>>>=0,n||L(this,t,e,4,2147483647,-2147483648),this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24,e+4},l.prototype.writeInt32BE=function(t,e,n){return t=+t,e>>>=0,n||L(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},l.prototype.writeBigInt64LE=$((function(t,e=0){return D(this,t,e,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),l.prototype.writeBigInt64BE=$((function(t,e=0){return k(this,t,e,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),l.prototype.writeFloatLE=function(t,e,n){return U(this,t,e,!0,n)},l.prototype.writeFloatBE=function(t,e,n){return U(this,t,e,!1,n)},l.prototype.writeDoubleLE=function(t,e,n){return B(this,t,e,!0,n)},l.prototype.writeDoubleBE=function(t,e,n){return B(this,t,e,!1,n)},l.prototype.copy=function(t,e,n,r){if(!l.isBuffer(t))throw new TypeError("argument should be a Buffer");if(n||(n=0),r||0===r||(r=this.length),e>=t.length&&(e=t.length),e||(e=0),r>0&&r=this.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("sourceEnd out of bounds");r>this.length&&(r=this.length),t.length-e>>=0,n=void 0===n?this.length:n>>>0,t||(t=0),"number"==typeof t)for(i=e;i=r+4;n-=3)e=`_${t.slice(n-3,n)}${e}`;return `${t.slice(0,n)}${e}`}function q(t,e,n,r,i,o){if(t>n||t3?0===e||e===BigInt(0)?`>= 0${r} and < 2${r} ** ${8*(o+1)}${r}`:`>= -(2${r} ** ${8*(o+1)-1}${r}) and < 2 ** ${8*(o+1)-1}${r}`:`>= ${e}${r} and <= ${n}${r}`,new j.ERR_OUT_OF_RANGE("value",i,t)}!function(t,e,n){H(e,"offset"),void 0!==t[e]&&void 0!==t[e+n]||z(e,t.length-(n+1));}(r,i,o);}function H(t,e){if("number"!=typeof t)throw new j.ERR_INVALID_ARG_TYPE(e,"number",t)}function z(t,e,n){if(Math.floor(t)!==t)throw H(t,n),new j.ERR_OUT_OF_RANGE(n||"offset","an integer",t);if(e<0)throw new j.ERR_BUFFER_OUT_OF_BOUNDS;throw new j.ERR_OUT_OF_RANGE(n||"offset",`>= ${n?1:0} and <= ${e}`,t)}G("ERR_BUFFER_OUT_OF_BOUNDS",(function(t){return t?`${t} is outside of buffer bounds`:"Attempt to access memory outside buffer bounds"}),RangeError),G("ERR_INVALID_ARG_TYPE",(function(t,e){return `The "${t}" argument must be of type number. Received type ${typeof e}`}),TypeError),G("ERR_OUT_OF_RANGE",(function(t,e,n){let r=`The value of "${t}" is out of range.`,i=n;return Number.isInteger(n)&&Math.abs(n)>2**32?i=W(String(n)):"bigint"==typeof n&&(i=String(n),(n>BigInt(2)**BigInt(32)||n<-(BigInt(2)**BigInt(32)))&&(i=W(i)),i+="n"),r+=` It must be ${e}. Received ${i}`,r}),RangeError);const V=/[^+/0-9A-Za-z-_]/g;function X(t,e){let n;e=e||1/0;const r=t.length;let i=null;const o=[];for(let a=0;a55295&&n<57344){if(!i){if(n>56319){(e-=3)>-1&&o.push(239,191,189);continue}if(a+1===r){(e-=3)>-1&&o.push(239,191,189);continue}i=n;continue}if(n<56320){(e-=3)>-1&&o.push(239,191,189),i=n;continue}n=65536+(i-55296<<10|n-56320);}else i&&(e-=3)>-1&&o.push(239,191,189);if(i=null,n<128){if((e-=1)<0)break;o.push(n);}else if(n<2048){if((e-=2)<0)break;o.push(n>>6|192,63&n|128);}else if(n<65536){if((e-=3)<0)break;o.push(n>>12|224,n>>6&63|128,63&n|128);}else {if(!(n<1114112))throw new Error("Invalid code point");if((e-=4)<0)break;o.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128);}}return o}function Y(t){return i.toByteArray(function(t){if((t=(t=t.split("=")[0]).trim().replace(V,"")).length<2)return "";for(;t.length%4!=0;)t+="=";return t}(t))}function Z(t,e,n,r){let i;for(i=0;i=e.length||i>=t.length);++i)e[i+n]=t[i];return i}function Q(t,e){return t instanceof e||null!=t&&null!=t.constructor&&null!=t.constructor.name&&t.constructor.name===e.name}function K(t){return t!=t}const J=function(){const t="0123456789abcdef",e=new Array(256);for(let n=0;n<16;++n){const r=16*n;for(let i=0;i<16;++i)e[r+i]=t[n]+t[i];}return e}();function $(t){return "undefined"==typeof BigInt?tt:t}function tt(){throw new Error("BigInt not supported")}},3935:(t,e,n)=>{"use strict";var r=n(4155);function i(t){if("string"!=typeof t)throw new TypeError("Path must be a string. Received "+JSON.stringify(t))}function o(t,e){for(var n,r="",i=0,o=-1,a=0,s=0;s<=t.length;++s){if(s2){var u=r.lastIndexOf("/");if(u!==r.length-1){-1===u?(r="",i=0):i=(r=r.slice(0,u)).length-1-r.lastIndexOf("/"),o=s,a=0;continue}}else if(2===r.length||1===r.length){r="",i=0,o=s,a=0;continue}e&&(r.length>0?r+="/..":r="..",i=2);}else r.length>0?r+="/"+t.slice(o+1,s):r=t.slice(o+1,s),i=s-o-1;o=s,a=0;}else 46===n&&-1!==a?++a:a=-1;}return r}var a={resolve:function(){for(var t,e="",n=!1,a=arguments.length-1;a>=-1&&!n;a--){var s;a>=0?s=arguments[a]:(void 0===t&&(t=r.cwd()),s=t),i(s),0!==s.length&&(e=s+"/"+e,n=47===s.charCodeAt(0));}return e=o(e,!n),n?e.length>0?"/"+e:"/":e.length>0?e:"."},normalize:function(t){if(i(t),0===t.length)return ".";var e=47===t.charCodeAt(0),n=47===t.charCodeAt(t.length-1);return 0!==(t=o(t,!e)).length||e||(t="."),t.length>0&&n&&(t+="/"),e?"/"+t:t},isAbsolute:function(t){return i(t),t.length>0&&47===t.charCodeAt(0)},join:function(){if(0===arguments.length)return ".";for(var t,e=0;e0&&(void 0===t?t=n:t+="/"+n);}return void 0===t?".":a.normalize(t)},relative:function(t,e){if(i(t),i(e),t===e)return "";if((t=a.resolve(t))===(e=a.resolve(e)))return "";for(var n=1;nl){if(47===e.charCodeAt(s+h))return e.slice(s+h+1);if(0===h)return e.slice(s+h)}else o>l&&(47===t.charCodeAt(n+h)?c=h:0===h&&(c=0));break}var f=t.charCodeAt(n+h);if(f!==e.charCodeAt(s+h))break;47===f&&(c=h);}var p="";for(h=n+c+1;h<=r;++h)h!==r&&47!==t.charCodeAt(h)||(0===p.length?p+="..":p+="/..");return p.length>0?p+e.slice(s+c):(s+=c,47===e.charCodeAt(s)&&++s,e.slice(s))},_makeLong:function(t){return t},dirname:function(t){if(i(t),0===t.length)return ".";for(var e=t.charCodeAt(0),n=47===e,r=-1,o=!0,a=t.length-1;a>=1;--a)if(47===(e=t.charCodeAt(a))){if(!o){r=a;break}}else o=!1;return -1===r?n?"/":".":n&&1===r?"//":t.slice(0,r)},basename:function(t,e){if(void 0!==e&&"string"!=typeof e)throw new TypeError('"ext" argument must be a string');i(t);var n,r=0,o=-1,a=!0;if(void 0!==e&&e.length>0&&e.length<=t.length){if(e.length===t.length&&e===t)return "";var s=e.length-1,u=-1;for(n=t.length-1;n>=0;--n){var l=t.charCodeAt(n);if(47===l){if(!a){r=n+1;break}}else -1===u&&(a=!1,u=n+1),s>=0&&(l===e.charCodeAt(s)?-1==--s&&(o=n):(s=-1,o=u));}return r===o?o=u:-1===o&&(o=t.length),t.slice(r,o)}for(n=t.length-1;n>=0;--n)if(47===t.charCodeAt(n)){if(!a){r=n+1;break}}else -1===o&&(a=!1,o=n+1);return -1===o?"":t.slice(r,o)},extname:function(t){i(t);for(var e=-1,n=0,r=-1,o=!0,a=0,s=t.length-1;s>=0;--s){var u=t.charCodeAt(s);if(47!==u)-1===r&&(o=!1,r=s+1),46===u?-1===e?e=s:1!==a&&(a=1):-1!==e&&(a=-1);else if(!o){n=s+1;break}}return -1===e||-1===r||0===a||1===a&&e===r-1&&e===n+1?"":t.slice(e,r)},format:function(t){if(null===t||"object"!=typeof t)throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof t);return function(t,e){var n=e.dir||e.root,r=e.base||(e.name||"")+(e.ext||"");return n?n===e.root?n+r:n+"/"+r:r}(0,t)},parse:function(t){i(t);var e={root:"",dir:"",base:"",ext:"",name:""};if(0===t.length)return e;var n,r=t.charCodeAt(0),o=47===r;o?(e.root="/",n=1):n=0;for(var a=-1,s=0,u=-1,l=!0,c=t.length-1,h=0;c>=n;--c)if(47!==(r=t.charCodeAt(c)))-1===u&&(l=!1,u=c+1),46===r?-1===a?a=c:1!==h&&(h=1):-1!==a&&(h=-1);else if(!l){s=c+1;break}return -1===a||-1===u||0===h||1===h&&a===u-1&&a===s+1?-1!==u&&(e.base=e.name=0===s&&o?t.slice(1,u):t.slice(s,u)):(0===s&&o?(e.name=t.slice(1,a),e.base=t.slice(1,u)):(e.name=t.slice(s,a),e.base=t.slice(s,u)),e.ext=t.slice(a,u)),s>0?e.dir=t.slice(0,s-1):o&&(e.dir="/"),e},sep:"/",delimiter:":",win32:null,posix:null};a.posix=a,t.exports=a;},7418:t=>{"use strict";var e=Object.getOwnPropertySymbols,n=Object.prototype.hasOwnProperty,r=Object.prototype.propertyIsEnumerable;t.exports=function(){try{if(!Object.assign)return !1;var t=new String("abc");if(t[5]="de","5"===Object.getOwnPropertyNames(t)[0])return !1;for(var e={},n=0;n<10;n++)e["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(e).map((function(t){return e[t]})).join(""))return !1;var r={};return "abcdefghijklmnopqrst".split("").forEach((function(t){r[t]=t;})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},r)).join("")}catch(t){return !1}}()?Object.assign:function(t,i){for(var o,a,s=function(t){if(null==t)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(t)}(t),u=1;u{e.endianness=function(){return "LE"},e.hostname=function(){return "undefined"!=typeof location?location.hostname:""},e.loadavg=function(){return []},e.uptime=function(){return 0},e.freemem=function(){return Number.MAX_VALUE},e.totalmem=function(){return Number.MAX_VALUE},e.cpus=function(){return []},e.type=function(){return "Browser"},e.release=function(){return "undefined"!=typeof navigator?navigator.appVersion:""},e.networkInterfaces=e.getNetworkInterfaces=function(){return {}},e.arch=function(){return "javascript"},e.platform=function(){return "browser"},e.tmpdir=e.tmpDir=function(){return "/tmp"},e.EOL="\n",e.homedir=function(){return "/"};},8985:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Deferred=void 0,e.Deferred=class{constructor(){this.resolve=()=>null,this.reject=()=>null,this.promise=new Promise(((t,e)=>{this.reject=e,this.resolve=t;}));}};},7279:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.EndOfStreamError=e.defaultMessages=void 0,e.defaultMessages="End-Of-Stream";class n extends Error{constructor(){super(e.defaultMessages);}}e.EndOfStreamError=n;},6654:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.StreamReader=e.EndOfStreamError=void 0;const r=n(7279),i=n(8985);var o=n(7279);Object.defineProperty(e,"EndOfStreamError",{enumerable:!0,get:function(){return o.EndOfStreamError}}),e.StreamReader=class{constructor(t){if(this.s=t,this.deferred=null,this.endOfStream=!1,this.peekQueue=[],!t.read||!t.once)throw new Error("Expected an instance of stream.Readable");this.s.once("end",(()=>this.reject(new r.EndOfStreamError))),this.s.once("error",(t=>this.reject(t))),this.s.once("close",(()=>this.reject(new Error("Stream closed"))));}async peek(t,e,n){const r=await this.read(t,e,n);return this.peekQueue.push(t.subarray(e,e+r)),r}async read(t,e,n){if(0===n)return 0;if(0===this.peekQueue.length&&this.endOfStream)throw new r.EndOfStreamError;let i=n,o=0;for(;this.peekQueue.length>0&&i>0;){const n=this.peekQueue.pop();if(!n)throw new Error("peekData should be defined");const r=Math.min(n.length,i);t.set(n.subarray(0,r),e+o),o+=r,i-=r,r0&&!this.endOfStream;){const n=Math.min(i,1048576),r=await this.readFromStream(t,e+o,n);if(o+=r,r{this.readDeferred(r);})),r.deferred.promise}}readDeferred(t){const e=this.s.read(t.length);e?(t.buffer.set(e,t.offset),t.deferred.resolve(e.length),this.deferred=null):this.s.once("readable",(()=>{this.readDeferred(t);}));}reject(t){this.endOfStream=!0,this.deferred&&(this.deferred.reject(t),this.deferred=null);}};},5167:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.StreamReader=e.EndOfStreamError=void 0;var r=n(7279);Object.defineProperty(e,"EndOfStreamError",{enumerable:!0,get:function(){return r.EndOfStreamError}});var i=n(6654);Object.defineProperty(e,"StreamReader",{enumerable:!0,get:function(){return i.StreamReader}});},2676:function(t,e,n){var r=n(4155);t.exports=function(){"use strict";function t(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function e(t,e){for(var n=0;ne?1:t0))break;if(null===e.right)break;if(n(t,e.right.key)>0&&(u=e.right,e.right=u.left,u.left=e,null===(e=u).right))break;o.right=e,o=e,e=e.right;}}return o.right=e.left,a.left=e.right,e.left=r.right,e.right=r.left,e}function s(t,e,n,r){var o=new i(t,e);if(null===n)return o.left=o.right=null,o;var s=r(t,(n=a(t,n,r)).key);return s<0?(o.left=n.left,o.right=n,n.left=null):s>=0&&(o.right=n.right,o.left=n,n.right=null),o}function u(t,e,n){var r=null,i=null;if(e){var o=n((e=a(t,e,n)).key,t);0===o?(r=e.left,i=e.right):o<0?(i=e.right,e.right=null,r=e):(r=e.left,e.left=null,i=e);}return {left:r,right:i}}function l(t,e,n,r,i){if(t){r(e+(n?"└── ":"├── ")+i(t)+"\n");var o=e+(n?" ":"│ ");t.left&&l(t.left,o,!1,r,i),t.right&&l(t.right,o,!0,r,i);}}var c=function(){function t(t){void 0===t&&(t=o),this._root=null,this._size=0,this._comparator=t;}return t.prototype.insert=function(t,e){return this._size++,this._root=s(t,e,this._root,this._comparator)},t.prototype.add=function(t,e){var n=new i(t,e);null===this._root&&(n.left=n.right=null,this._size++,this._root=n);var r=this._comparator,o=a(t,this._root,r),s=r(t,o.key);return 0===s?this._root=o:(s<0?(n.left=o.left,n.right=o,o.left=null):s>0&&(n.right=o.right,n.left=o,o.right=null),this._size++,this._root=n),this._root},t.prototype.remove=function(t){this._root=this._remove(t,this._root,this._comparator);},t.prototype._remove=function(t,e,n){var r;return null===e?null:0===n(t,(e=a(t,e,n)).key)?(null===e.left?r=e.right:(r=a(t,e.left,n)).right=e.right,this._size--,r):e},t.prototype.pop=function(){var t=this._root;if(t){for(;t.left;)t=t.left;return this._root=a(t.key,this._root,this._comparator),this._root=this._remove(t.key,this._root,this._comparator),{key:t.key,data:t.data}}return null},t.prototype.findStatic=function(t){for(var e=this._root,n=this._comparator;e;){var r=n(t,e.key);if(0===r)return e;e=r<0?e.left:e.right;}return null},t.prototype.find=function(t){return this._root&&(this._root=a(t,this._root,this._comparator),0!==this._comparator(t,this._root.key))?null:this._root},t.prototype.contains=function(t){for(var e=this._root,n=this._comparator;e;){var r=n(t,e.key);if(0===r)return !0;e=r<0?e.left:e.right;}return !1},t.prototype.forEach=function(t,e){for(var n=this._root,r=[],i=!1;!i;)null!==n?(r.push(n),n=n.left):0!==r.length?(n=r.pop(),t.call(e,n),n=n.right):i=!0;return this},t.prototype.range=function(t,e,n,r){for(var i=[],o=this._comparator,a=this._root;0!==i.length||a;)if(a)i.push(a),a=a.left;else {if(o((a=i.pop()).key,e)>0)break;if(o(a.key,t)>=0&&n.call(r,a))return this;a=a.right;}return this},t.prototype.keys=function(){var t=[];return this.forEach((function(e){var n=e.key;return t.push(n)})),t},t.prototype.values=function(){var t=[];return this.forEach((function(e){var n=e.data;return t.push(n)})),t},t.prototype.min=function(){return this._root?this.minNode(this._root).key:null},t.prototype.max=function(){return this._root?this.maxNode(this._root).key:null},t.prototype.minNode=function(t){if(void 0===t&&(t=this._root),t)for(;t.left;)t=t.left;return t},t.prototype.maxNode=function(t){if(void 0===t&&(t=this._root),t)for(;t.right;)t=t.right;return t},t.prototype.at=function(t){for(var e=this._root,n=!1,r=0,i=[];!n;)if(e)i.push(e),e=e.left;else if(i.length>0){if(e=i.pop(),r===t)return e;r++,e=e.right;}else n=!0;return null},t.prototype.next=function(t){var e=this._root,n=null;if(t.right){for(n=t.right;n.left;)n=n.left;return n}for(var r=this._comparator;e;){var i=r(t.key,e.key);if(0===i)break;i<0?(n=e,e=e.left):e=e.right;}return n},t.prototype.prev=function(t){var e=this._root,n=null;if(null!==t.left){for(n=t.left;n.right;)n=n.right;return n}for(var r=this._comparator;e;){var i=r(t.key,e.key);if(0===i)break;i<0?e=e.left:(n=e,e=e.right);}return n},t.prototype.clear=function(){return this._root=null,this._size=0,this},t.prototype.toList=function(){return function(t){for(var e=t,n=[],r=!1,o=new i(null,null),a=o;!r;)e?(n.push(e),e=e.left):n.length>0?e=(e=a=a.next=n.pop()).right:r=!0;return a.next=null,o.next}(this._root)},t.prototype.load=function(t,e,n){void 0===e&&(e=[]),void 0===n&&(n=!1);var r=t.length,o=this._comparator;if(n&&p(t,e,0,r-1,o),null===this._root)this._root=h(t,e,0,r),this._size=r;else {var a=function(t,e,n){for(var r=new i(null,null),o=r,a=t,s=e;null!==a&&null!==s;)n(a.key,s.key)<0?(o.next=a,a=a.next):(o.next=s,s=s.next),o=o.next;return null!==a?o.next=a:null!==s&&(o.next=s),r.next}(this.toList(),function(t,e){for(var n=new i(null,null),r=n,o=0;o0){var a=n+Math.floor(o/2),s=t[a],u=e[a],l=new i(s,u);return l.left=h(t,e,n,a),l.right=h(t,e,a+1,r),l}return null}function f(t,e,n){var r=n-e;if(r>0){var i=e+Math.floor(r/2),o=f(t,e,i),a=t.head;return a.left=o,t.head=t.head.next,a.right=f(t,i+1,n),a}return null}function p(t,e,n,r,i){if(!(n>=r)){for(var o=t[n+r>>1],a=n-1,s=r+1;;){do{a++;}while(i(t[a],o)<0);do{s--;}while(i(t[s],o)>0);if(a>=s)break;var u=t[a];t[a]=t[s],t[s]=u,u=e[a],e[a]=e[s],e[s]=u;}p(t,e,n,s,i),p(t,e,s+1,r,i);}}var d=function(t,e){return t.ll.x<=e.x&&e.x<=t.ur.x&&t.ll.y<=e.y&&e.y<=t.ur.y},y=function(t,e){if(e.ur.xe.x?1:t.ye.y?1:0}}]),n(e,[{key:"link",value:function(t){if(t.point===this.point)throw new Error("Tried to link already linked events");for(var e=t.point.events,n=0,r=e.length;n=0&&u>=0?al?-1:0:o<0&&u<0?al?1:0:uo?1:0}}}]),e}(),A=0,I=function(){function e(n,r,i,o){t(this,e),this.id=++A,this.leftSE=n,n.segment=this,n.otherSE=r,this.rightSE=r,r.segment=this,r.otherSE=n,this.rings=i,this.windings=o;}return n(e,null,[{key:"compare",value:function(t,e){var n=t.leftSE.point.x,r=e.leftSE.point.x,i=t.rightSE.point.x,o=e.rightSE.point.x;if(oa&&s>u)return -1;var c=t.comparePoint(e.leftSE.point);if(c<0)return 1;if(c>0)return -1;var h=e.comparePoint(t.rightSE.point);return 0!==h?h:-1}if(n>r){if(as&&a>l)return 1;var f=e.comparePoint(t.leftSE.point);if(0!==f)return f;var p=t.comparePoint(e.rightSE.point);return p<0?1:p>0?-1:1}if(as)return 1;if(io){var y=t.comparePoint(e.rightSE.point);if(y<0)return 1;if(y>0)return -1}if(i!==o){var m=u-a,g=i-n,_=l-s,b=o-r;if(m>g&&_b)return -1}return i>o?1:il?1:t.ide.id?1:0}}]),n(e,[{key:"replaceRightSE",value:function(t){this.rightSE=t,this.rightSE.segment=this,this.rightSE.otherSE=this.leftSE,this.leftSE.otherSE=this.rightSE;}},{key:"bbox",value:function(){var t=this.leftSE.point.y,e=this.rightSE.point.y;return {ll:{x:this.leftSE.point.x,y:te?t:e}}}},{key:"vector",value:function(){return {x:this.rightSE.point.x-this.leftSE.point.x,y:this.rightSE.point.y-this.leftSE.point.y}}},{key:"isAnEndpoint",value:function(t){return t.x===this.leftSE.point.x&&t.y===this.leftSE.point.y||t.x===this.rightSE.point.x&&t.y===this.rightSE.point.y}},{key:"comparePoint",value:function(t){if(this.isAnEndpoint(t))return 0;var e=this.leftSE.point,n=this.rightSE.point,r=this.vector();if(e.x===n.x)return t.x===e.x?0:t.x0&&s.swapEvents(),O.comparePoints(this.leftSE.point,this.rightSE.point)>0&&this.swapEvents(),r&&(i.checkForConsuming(),o.checkForConsuming()),n}},{key:"swapEvents",value:function(){var t=this.rightSE;this.rightSE=this.leftSE,this.leftSE=t,this.leftSE.isLeft=!0,this.rightSE.isLeft=!1;for(var e=0,n=this.windings.length;e0){var o=n;n=r,r=o;}if(n.prev===r){var a=n;n=r,r=a;}for(var s=0,u=r.rings.length;s0))throw new Error("Tried to create degenerate segment at [".concat(t.x,", ").concat(t.y,"]"));i=n,o=t,a=-1;}return new e(new O(i,!0),new O(o,!1),[r],[a])}}]),e}(),P=function(){function e(n,r,i){if(t(this,e),!Array.isArray(n)||0===n.length)throw new Error("Input geometry is not a valid Polygon or MultiPolygon");if(this.poly=r,this.isExterior=i,this.segments=[],"number"!=typeof n[0][0]||"number"!=typeof n[0][1])throw new Error("Input geometry is not a valid Polygon or MultiPolygon");var o=T.round(n[0][0],n[0][1]);this.bbox={ll:{x:o.x,y:o.y},ur:{x:o.x,y:o.y}};for(var a=o,s=1,u=n.length;sthis.bbox.ur.x&&(this.bbox.ur.x=l.x),l.y>this.bbox.ur.y&&(this.bbox.ur.y=l.y),a=l);}o.x===a.x&&o.y===a.y||this.segments.push(I.fromRing(a,o,this));}return n(e,[{key:"getSweepEvents",value:function(){for(var t=[],e=0,n=this.segments.length;ethis.bbox.ur.x&&(this.bbox.ur.x=a.bbox.ur.x),a.bbox.ur.y>this.bbox.ur.y&&(this.bbox.ur.y=a.bbox.ur.y),this.interiorRings.push(a);}this.multiPoly=r;}return n(e,[{key:"getSweepEvents",value:function(){for(var t=this.exteriorRing.getSweepEvents(),e=0,n=this.interiorRings.length;ethis.bbox.ur.x&&(this.bbox.ur.x=a.bbox.ur.x),a.bbox.ur.y>this.bbox.ur.y&&(this.bbox.ur.y=a.bbox.ur.y),this.polys.push(a);}this.isSubject=r;}return n(e,[{key:"getSweepEvents",value:function(){for(var t=[],e=0,n=this.polys.length;e0&&(t=r);}for(var i=t.segment.prevInResult(),o=i?i.prevInResult():null;;){if(!i)return null;if(!o)return i.ringOut;if(o.ringOut!==i.ringOut)return o.ringOut.enclosingRing()!==i.ringOut?i.ringOut:i.ringOut.enclosingRing();i=o.prevInResult(),o=i?i.prevInResult():null;}}}]),e}(),k=function(){function e(n){t(this,e),this.exteriorRing=n,n.poly=this,this.interiorRings=[];}return n(e,[{key:"addInterior",value:function(t){this.interiorRings.push(t),t.poly=this;}},{key:"getGeom",value:function(){var t=[this.exteriorRing.getGeom()];if(null===t[0])return null;for(var e=0,n=this.interiorRings.length;e1&&void 0!==arguments[1]?arguments[1]:I.compare;t(this,e),this.queue=n,this.tree=new c(r),this.segments=[];}return n(e,[{key:"process",value:function(t){var e=t.segment,n=[];if(t.consumedBy)return t.isLeft?this.queue.remove(t.otherSE):this.tree.remove(e),n;var r=t.isLeft?this.tree.insert(e):this.tree.find(e);if(!r)throw new Error("Unable to find segment #".concat(e.id," ")+"[".concat(e.leftSE.point.x,", ").concat(e.leftSE.point.y,"] -> ")+"[".concat(e.rightSE.point.x,", ").concat(e.rightSE.point.y,"] ")+"in SweepLine tree. Please submit a bug report.");for(var i=r,o=r,a=void 0,s=void 0;void 0===a;)null===(i=this.tree.prev(i))?a=null:void 0===i.key.consumedBy&&(a=i.key);for(;void 0===s;)null===(o=this.tree.next(o))?s=null:void 0===o.key.consumedBy&&(s=o.key);if(t.isLeft){var u=null;if(a){var l=a.getIntersection(e);if(null!==l&&(e.isAnEndpoint(l)||(u=l),!a.isAnEndpoint(l)))for(var c=this._splitSafely(a,l),h=0,f=c.length;h0?(this.tree.remove(e),n.push(t)):(this.segments.push(e),e.prev=a);}else {if(a&&s){var E=a.getIntersection(s);if(null!==E){if(!a.isAnEndpoint(E))for(var w=this._splitSafely(a,E),x=0,C=w.length;xB)throw new Error("Infinite loop when putting segment endpoints in a priority queue (queue size too big). Please file a bug report.");for(var E=new U(d),w=d.size,x=d.pop();x;){var C=x.key;if(d.size===w){var M=C.segment;throw new Error("Unable to pop() ".concat(C.isLeft?"left":"right"," SweepEvent ")+"[".concat(C.point.x,", ").concat(C.point.y,"] from segment #").concat(M.id," ")+"[".concat(M.leftSE.point.x,", ").concat(M.leftSE.point.y,"] -> ")+"[".concat(M.rightSE.point.x,", ").concat(M.rightSE.point.y,"] from queue. ")+"Please file a bug report.")}if(d.size>B)throw new Error("Infinite loop when passing sweep line over endpoints (queue size too big). Please file a bug report.");if(E.segments.length>j)throw new Error("Infinite loop when passing sweep line over endpoints (too many sweep line segments). Please file a bug report.");for(var S=E.process(C),N=0,A=S.length;N1?e-1:0),r=1;r1?e-1:0),r=1;r1?e-1:0),r=1;r1?e-1:0),r=1;r{var e,n,r=t.exports={};function i(){throw new Error("setTimeout has not been defined")}function o(){throw new Error("clearTimeout has not been defined")}function a(t){if(e===setTimeout)return setTimeout(t,0);if((e===i||!e)&&setTimeout)return e=setTimeout,setTimeout(t,0);try{return e(t,0)}catch(n){try{return e.call(null,t,0)}catch(n){return e.call(this,t,0)}}}!function(){try{e="function"==typeof setTimeout?setTimeout:i;}catch(t){e=i;}try{n="function"==typeof clearTimeout?clearTimeout:o;}catch(t){n=o;}}();var s,u=[],l=!1,c=-1;function h(){l&&s&&(l=!1,s.length?u=s.concat(u):c=-1,u.length&&f());}function f(){if(!l){var t=a(h);l=!0;for(var e=u.length;e;){for(s=u,u=[];++c1)for(var n=1;n{"use strict";n.r(e),n.d(e,{default:()=>Rn});var r=1,i=2,o=3,a=5,s=6378137,u=6356752.314,l=.0066943799901413165,c=484813681109536e-20,h=Math.PI/2,f=.16666666666666666,p=.04722222222222222,d=.022156084656084655,y=1e-10,m=.017453292519943295,g=57.29577951308232,_=Math.PI/4,b=2*Math.PI,v=3.14159265359,T={greenwich:0,lisbon:-9.131906111111,paris:2.337229166667,bogota:-74.080916666667,madrid:-3.687938888889,rome:12.452333333333,bern:7.439583333333,jakarta:106.807719444444,ferro:-17.666666666667,brussels:4.367975,stockholm:18.058277777778,athens:23.7163375,oslo:10.722916666667};const E={ft:{to_meter:.3048},"us-ft":{to_meter:1200/3937}};var w=/[\s_\-\/\(\)]/g;function x(t,e){if(t[e])return t[e];for(var n,r=Object.keys(t),i=e.toLowerCase().replace(w,""),o=-1;++o=this.text.length)return;t=this.text[this.place++];}switch(this.state){case S:return this.neutral(t);case 2:return this.keyword(t);case 4:return this.quoted(t);case 5:return this.afterquote(t);case 3:return this.number(t);case -1:return}},R.prototype.afterquote=function(t){if('"'===t)return this.word+='"',void(this.state=4);if(I.test(t))return this.word=this.word.trim(),void this.afterItem(t);throw new Error("havn't handled \""+t+'" in afterquote yet, index '+this.place)},R.prototype.afterItem=function(t){return ","===t?(null!==this.word&&this.currentObject.push(this.word),this.word=null,void(this.state=S)):"]"===t?(this.level--,null!==this.word&&(this.currentObject.push(this.word),this.word=null),this.state=S,this.currentObject=this.stack.pop(),void(this.currentObject||(this.state=-1))):void 0},R.prototype.number=function(t){if(!P.test(t)){if(I.test(t))return this.word=parseFloat(this.word),void this.afterItem(t);throw new Error("havn't handled \""+t+'" in number yet, index '+this.place)}this.word+=t;},R.prototype.quoted=function(t){'"'!==t?this.word+=t:this.state=5;},R.prototype.keyword=function(t){if(A.test(t))this.word+=t;else {if("["===t){var e=[];return e.push(this.word),this.level++,null===this.root?this.root=e:this.currentObject.push(e),this.stack.push(this.currentObject),this.currentObject=e,void(this.state=S)}if(!I.test(t))throw new Error("havn't handled \""+t+'" in keyword yet, index '+this.place);this.afterItem(t);}},R.prototype.neutral=function(t){if(O.test(t))return this.word=t,void(this.state=2);if('"'===t)return this.word="",void(this.state=4);if(P.test(t))return this.word=t,void(this.state=3);if(!I.test(t))throw new Error("havn't handled \""+t+'" in neutral yet, index '+this.place);this.afterItem(t);},R.prototype.output=function(){for(;this.place0?90:-90),t.lat_ts=t.lat1);}(i),i}var B=n(5108);function j(t){var e=this;if(2===arguments.length){var n=arguments[1];"string"==typeof n?"+"===n.charAt(0)?j[t]=C(arguments[1]):j[t]=U(arguments[1]):j[t]=n;}else if(1===arguments.length){if(Array.isArray(t))return t.map((function(t){Array.isArray(t)?j.apply(e,t):j(t);}));if("string"==typeof t){if(t in j)return j[t]}else "EPSG"in t?j["EPSG:"+t.EPSG]=t:"ESRI"in t?j["ESRI:"+t.ESRI]=t:"IAU2000"in t?j["IAU2000:"+t.IAU2000]=t:B.log(t);return}}!function(t){t("EPSG:4326","+title=WGS 84 (long/lat) +proj=longlat +ellps=WGS84 +datum=WGS84 +units=degrees"),t("EPSG:4269","+title=NAD83 (long/lat) +proj=longlat +a=6378137.0 +b=6356752.31414036 +ellps=GRS80 +datum=NAD83 +units=degrees"),t("EPSG:3857","+title=WGS 84 / Pseudo-Mercator +proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +no_defs"),t.WGS84=t["EPSG:4326"],t["EPSG:3785"]=t["EPSG:3857"],t.GOOGLE=t["EPSG:3857"],t["EPSG:900913"]=t["EPSG:3857"],t["EPSG:102113"]=t["EPSG:3857"];}(j);const G=j;var W=["PROJECTEDCRS","PROJCRS","GEOGCS","GEOCCS","PROJCS","LOCAL_CS","GEODCRS","GEODETICCRS","GEODETICDATUM","ENGCRS","ENGINEERINGCRS"],q=["3857","900913","3785","102113"];const H=function(t){if(!function(t){return "string"==typeof t}(t))return t;if(function(t){return t in G}(t))return G[t];if(function(t){return W.some((function(e){return t.indexOf(e)>-1}))}(t)){var e=U(t);if(function(t){var e=x(t,"authority");if(e){var n=x(e,"epsg");return n&&q.indexOf(n)>-1}}(e))return G["EPSG:3857"];var n=function(t){var e=x(t,"extension");if(e)return x(e,"proj4")}(e);return n?C(n):e}return function(t){return "+"===t[0]}(t)?C(t):void 0};function z(t,e){var n,r;if(t=t||{},!e)return t;for(r in e)void 0!==(n=e[r])&&(t[r]=n);return t}function V(t,e,n){var r=t*e;return n/Math.sqrt(1-r*r)}function X(t){return t<0?-1:1}function Y(t){return Math.abs(t)<=v?t:t-X(t)*b}function Z(t,e,n){var r=t*n,i=.5*t;return r=Math.pow((1-r)/(1+r),i),Math.tan(.5*(h-e))/r}function Q(t,e){for(var n,r,i=.5*t,o=h-2*Math.atan(e),a=0;a<=15;a++)if(n=t*Math.sin(o),o+=r=h-2*Math.atan(e*Math.pow((1-n)/(1+n),i))-o,Math.abs(r)<=1e-10)return o;return -9999}const K={init:function(){var t=this.b/this.a;this.es=1-t*t,"x0"in this||(this.x0=0),"y0"in this||(this.y0=0),this.e=Math.sqrt(this.es),this.lat_ts?this.sphere?this.k0=Math.cos(this.lat_ts):this.k0=V(this.e,Math.sin(this.lat_ts),Math.cos(this.lat_ts)):this.k0||(this.k?this.k0=this.k:this.k0=1);},forward:function(t){var e,n,r=t.x,i=t.y;if(i*g>90&&i*g<-90&&r*g>180&&r*g<-180)return null;if(Math.abs(Math.abs(i)-h)<=y)return null;if(this.sphere)e=this.x0+this.a*this.k0*Y(r-this.long0),n=this.y0+this.a*this.k0*Math.log(Math.tan(_+.5*i));else {var o=Math.sin(i),a=Z(this.e,i,o);e=this.x0+this.a*this.k0*Y(r-this.long0),n=this.y0-this.a*this.k0*Math.log(a);}return t.x=e,t.y=n,t},inverse:function(t){var e,n,r=t.x-this.x0,i=t.y-this.y0;if(this.sphere)n=h-2*Math.atan(Math.exp(-i/(this.a*this.k0)));else {var o=Math.exp(-i/(this.a*this.k0));if(-9999===(n=Q(this.e,o)))return null}return e=Y(this.long0+r/(this.a*this.k0)),t.x=e,t.y=n,t},names:["Mercator","Popular Visualisation Pseudo Mercator","Mercator_1SP","Mercator_Auxiliary_Sphere","merc"]};function J(t){return t}const $={init:function(){},forward:J,inverse:J,names:["longlat","identity"]};var tt=n(5108),et=[K,$],nt={},rt=[];function it(t,e){var n=rt.length;return t.names?(rt[n]=t,t.names.forEach((function(t){nt[t.toLowerCase()]=n;})),this):(tt.log(e),!0)}const ot={start:function(){et.forEach(it);},add:it,get:function(t){if(!t)return !1;var e=t.toLowerCase();return void 0!==nt[e]&&rt[nt[e]]?rt[nt[e]]:void 0}};var at={MERIT:{a:6378137,rf:298.257,ellipseName:"MERIT 1983"},SGS85:{a:6378136,rf:298.257,ellipseName:"Soviet Geodetic System 85"},GRS80:{a:6378137,rf:298.257222101,ellipseName:"GRS 1980(IUGG, 1980)"},IAU76:{a:6378140,rf:298.257,ellipseName:"IAU 1976"},airy:{a:6377563.396,b:6356256.91,ellipseName:"Airy 1830"},APL4:{a:6378137,rf:298.25,ellipseName:"Appl. Physics. 1965"},NWL9D:{a:6378145,rf:298.25,ellipseName:"Naval Weapons Lab., 1965"},mod_airy:{a:6377340.189,b:6356034.446,ellipseName:"Modified Airy"},andrae:{a:6377104.43,rf:300,ellipseName:"Andrae 1876 (Den., Iclnd.)"},aust_SA:{a:6378160,rf:298.25,ellipseName:"Australian Natl & S. Amer. 1969"},GRS67:{a:6378160,rf:298.247167427,ellipseName:"GRS 67(IUGG 1967)"},bessel:{a:6377397.155,rf:299.1528128,ellipseName:"Bessel 1841"},bess_nam:{a:6377483.865,rf:299.1528128,ellipseName:"Bessel 1841 (Namibia)"},clrk66:{a:6378206.4,b:6356583.8,ellipseName:"Clarke 1866"},clrk80:{a:6378249.145,rf:293.4663,ellipseName:"Clarke 1880 mod."},clrk58:{a:6378293.645208759,rf:294.2606763692654,ellipseName:"Clarke 1858"},CPM:{a:6375738.7,rf:334.29,ellipseName:"Comm. des Poids et Mesures 1799"},delmbr:{a:6376428,rf:311.5,ellipseName:"Delambre 1810 (Belgium)"},engelis:{a:6378136.05,rf:298.2566,ellipseName:"Engelis 1985"},evrst30:{a:6377276.345,rf:300.8017,ellipseName:"Everest 1830"},evrst48:{a:6377304.063,rf:300.8017,ellipseName:"Everest 1948"},evrst56:{a:6377301.243,rf:300.8017,ellipseName:"Everest 1956"},evrst69:{a:6377295.664,rf:300.8017,ellipseName:"Everest 1969"},evrstSS:{a:6377298.556,rf:300.8017,ellipseName:"Everest (Sabah & Sarawak)"},fschr60:{a:6378166,rf:298.3,ellipseName:"Fischer (Mercury Datum) 1960"},fschr60m:{a:6378155,rf:298.3,ellipseName:"Fischer 1960"},fschr68:{a:6378150,rf:298.3,ellipseName:"Fischer 1968"},helmert:{a:6378200,rf:298.3,ellipseName:"Helmert 1906"},hough:{a:6378270,rf:297,ellipseName:"Hough"},intl:{a:6378388,rf:297,ellipseName:"International 1909 (Hayford)"},kaula:{a:6378163,rf:298.24,ellipseName:"Kaula 1961"},lerch:{a:6378139,rf:298.257,ellipseName:"Lerch 1979"},mprts:{a:6397300,rf:191,ellipseName:"Maupertius 1738"},new_intl:{a:6378157.5,b:6356772.2,ellipseName:"New International 1967"},plessis:{a:6376523,rf:6355863,ellipseName:"Plessis 1817 (France)"},krass:{a:6378245,rf:298.3,ellipseName:"Krassovsky, 1942"},SEasia:{a:6378155,b:6356773.3205,ellipseName:"Southeast Asia"},walbeck:{a:6376896,b:6355834.8467,ellipseName:"Walbeck"},WGS60:{a:6378165,rf:298.3,ellipseName:"WGS 60"},WGS66:{a:6378145,rf:298.25,ellipseName:"WGS 66"},WGS7:{a:6378135,rf:298.26,ellipseName:"WGS 72"}},st=at.WGS84={a:6378137,rf:298.257223563,ellipseName:"WGS 84"};at.sphere={a:6370997,b:6370997,ellipseName:"Normal Sphere (r=6370997)"};var ut={wgs84:{towgs84:"0,0,0",ellipse:"WGS84",datumName:"WGS84"},ch1903:{towgs84:"674.374,15.056,405.346",ellipse:"bessel",datumName:"swiss"},ggrs87:{towgs84:"-199.87,74.79,246.62",ellipse:"GRS80",datumName:"Greek_Geodetic_Reference_System_1987"},nad83:{towgs84:"0,0,0",ellipse:"GRS80",datumName:"North_American_Datum_1983"},nad27:{nadgrids:"@conus,@alaska,@ntv2_0.gsb,@ntv1_can.dat",ellipse:"clrk66",datumName:"North_American_Datum_1927"},potsdam:{towgs84:"598.1,73.7,418.2,0.202,0.045,-2.455,6.7",ellipse:"bessel",datumName:"Potsdam Rauenberg 1950 DHDN"},carthage:{towgs84:"-263.0,6.0,431.0",ellipse:"clark80",datumName:"Carthage 1934 Tunisia"},hermannskogel:{towgs84:"577.326,90.129,463.919,5.137,1.474,5.297,2.4232",ellipse:"bessel",datumName:"Hermannskogel"},osni52:{towgs84:"482.530,-130.596,564.557,-1.042,-0.214,-0.631,8.15",ellipse:"airy",datumName:"Irish National"},ire65:{towgs84:"482.530,-130.596,564.557,-1.042,-0.214,-0.631,8.15",ellipse:"mod_airy",datumName:"Ireland 1965"},rassadiran:{towgs84:"-133.63,-157.5,-158.62",ellipse:"intl",datumName:"Rassadiran"},nzgd49:{towgs84:"59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5993",ellipse:"intl",datumName:"New Zealand Geodetic Datum 1949"},osgb36:{towgs84:"446.448,-125.157,542.060,0.1502,0.2470,0.8421,-20.4894",ellipse:"airy",datumName:"Airy 1830"},s_jtsk:{towgs84:"589,76,480",ellipse:"bessel",datumName:"S-JTSK (Ferro)"},beduaram:{towgs84:"-106,-87,188",ellipse:"clrk80",datumName:"Beduaram"},gunung_segara:{towgs84:"-403,684,41",ellipse:"bessel",datumName:"Gunung Segara Jakarta"},rnb72:{towgs84:"106.869,-52.2978,103.724,-0.33657,0.456955,-1.84218,1",ellipse:"intl",datumName:"Reseau National Belge 1972"}};const lt=function(t,e,n,s,u,l,h){var f={};return f.datum_type=void 0===t||"none"===t?a:4,e&&(f.datum_params=e.map(parseFloat),0===f.datum_params[0]&&0===f.datum_params[1]&&0===f.datum_params[2]||(f.datum_type=r),f.datum_params.length>3&&(0===f.datum_params[3]&&0===f.datum_params[4]&&0===f.datum_params[5]&&0===f.datum_params[6]||(f.datum_type=i,f.datum_params[3]*=c,f.datum_params[4]*=c,f.datum_params[5]*=c,f.datum_params[6]=f.datum_params[6]/1e6+1))),h&&(f.datum_type=o,f.grids=h),f.a=n,f.b=s,f.es=u,f.ep2=l,f};var ct=n(5108),ht={};function ft(t){if(0===t.length)return null;var e="@"===t[0];return e&&(t=t.slice(1)),"null"===t?{name:"null",mandatory:!e,grid:null,isNull:!0}:{name:t,mandatory:!e,grid:ht[t]||null,isNull:!1}}function pt(t){return t/3600*Math.PI/180}function dt(t,e,n){return String.fromCharCode.apply(null,new Uint8Array(t.buffer.slice(e,n)))}function yt(t){return t.map((function(t){return [pt(t.longitudeShift),pt(t.latitudeShift)]}))}function mt(t,e,n){return {name:dt(t,e+8,e+16).trim(),parent:dt(t,e+24,e+24+8).trim(),lowerLatitude:t.getFloat64(e+72,n),upperLatitude:t.getFloat64(e+88,n),lowerLongitude:t.getFloat64(e+104,n),upperLongitude:t.getFloat64(e+120,n),latitudeInterval:t.getFloat64(e+136,n),longitudeInterval:t.getFloat64(e+152,n),gridNodeCount:t.getInt32(e+168,n)}}function gt(t,e,n,r){for(var i=e+176,o=[],a=0;a-1.001*h)u=-h;else if(u>h&&u<1.001*h)u=h;else {if(u<-h)return {x:-1/0,y:-1/0,z:t.z};if(u>h)return {x:1/0,y:1/0,z:t.z}}return s>Math.PI&&(s-=2*Math.PI),i=Math.sin(u),a=Math.cos(u),o=i*i,{x:((r=n/Math.sqrt(1-e*o))+l)*a*Math.cos(s),y:(r+l)*a*Math.sin(s),z:(r*(1-e)+l)*i}}function Tt(t,e,n,r){var i,o,a,s,u,l,c,h,f,p,d,y,m,g,_,b=t.x,v=t.y,T=t.z?t.z:0;if(i=Math.sqrt(b*b+v*v),o=Math.sqrt(b*b+v*v+T*T),i/n<1e-12){if(g=0,o/n<1e-12)return _=-r,{x:t.x,y:t.y,z:t.z}}else g=Math.atan2(v,b);a=T/o,h=(s=i/o)*(1-e)*(u=1/Math.sqrt(1-e*(2-e)*s*s)),f=a*u,m=0;do{m++,l=e*(c=n/Math.sqrt(1-e*f*f))/(c+(_=i*h+T*f-c*(1-e*f*f))),y=(d=a*(u=1/Math.sqrt(1-l*(2-l)*s*s)))*h-(p=s*(1-l)*u)*f,h=p,f=d;}while(y*y>1e-24&&m<30);return {x:g,y:Math.atan(d/Math.abs(p)),z:_}}var Et=n(5108);function wt(t){return t===r||t===i}function xt(t,e,n){if(null===t.grids||0===t.grids.length)return Et.log("Grid shift grids not found"),-1;for(var r={x:-n.x,y:n.y},i={x:Number.NaN,y:Number.NaN},o=[],a=0;ar.y||c>r.x||p1e-12&&Math.abs(a.y)>1e-12);if(u<0)return Et.log("Inverse grid shift iterator failed to converge."),r;r.x=Y(o.x+n.ll[0]),r.y=o.y+n.ll[1];}else isNaN(o.x)||(r.x=t.x+o.x,r.y=t.y+o.y);return r}function Mt(t,e){var n,r={x:t.x/e.del[0],y:t.y/e.del[1]},i=Math.floor(r.x),o=Math.floor(r.y),a=r.x-1*i,s=r.y-1*o,u={x:Number.NaN,y:Number.NaN};if(i<0||i>=e.lim[0])return u;if(o<0||o>=e.lim[1])return u;n=o*e.lim[0]+i;var l=e.cvs[n][0],c=e.cvs[n][1];n++;var h=e.cvs[n][0],f=e.cvs[n][1];n+=e.lim[0];var p=e.cvs[n][0],d=e.cvs[n][1];n--;var y=e.cvs[n][0],m=e.cvs[n][1],g=a*s,_=a*(1-s),b=(1-a)*(1-s),v=(1-a)*s;return u.x=b*l+_*h+v*y+g*p,u.y=b*c+_*f+v*m+g*d,u}function St(t,e,n){var r,i,o,a=n.x,s=n.y,u=n.z||0,l={};for(o=0;o<3;o++)if(!e||2!==o||void 0!==n.z)switch(0===o?(r=a,i=-1!=="ew".indexOf(t.axis[o])?"x":"y"):1===o?(r=s,i=-1!=="ns".indexOf(t.axis[o])?"y":"x"):(r=u,i="z"),t.axis[o]){case "e":case "n":l[i]=r;break;case "w":case "s":l[i]=-r;break;case "u":void 0!==n[i]&&(l.z=r);break;case "d":void 0!==n[i]&&(l.z=-r);break;default:return null}return l}function Nt(t){var e={x:t[0],y:t[1]};return t.length>2&&(e.z=t[2]),t.length>3&&(e.m=t[3]),e}function Ot(t){if("function"==typeof Number.isFinite){if(Number.isFinite(t))return;throw new TypeError("coordinates must be finite numbers")}if("number"!=typeof t||t!=t||!isFinite(t))throw new TypeError("coordinates must be finite numbers")}function At(t,e,n,c){var h;if(Array.isArray(n)&&(n=Nt(n)),function(t){Ot(t.x),Ot(t.y);}(n),t.datum&&e.datum&&function(t,e){return (t.datum.datum_type===r||t.datum.datum_type===i)&&"WGS84"!==e.datumCode||(e.datum.datum_type===r||e.datum.datum_type===i)&&"WGS84"!==t.datumCode}(t,e)&&(n=At(t,h=new bt("WGS84"),n,c),t=h),c&&"enu"!==t.axis&&(n=St(t,!1,n)),"longlat"===t.projName)n={x:n.x*m,y:n.y*m,z:n.z||0};else if(t.to_meter&&(n={x:n.x*t.to_meter,y:n.y*t.to_meter,z:n.z||0}),!(n=t.inverse(n)))return;if(t.from_greenwich&&(n.x+=t.from_greenwich),n=function(t,e,n){if(function(t,e){return t.datum_type===e.datum_type&&!(t.a!==e.a||Math.abs(t.es-e.es)>5e-11)&&(t.datum_type===r?t.datum_params[0]===e.datum_params[0]&&t.datum_params[1]===e.datum_params[1]&&t.datum_params[2]===e.datum_params[2]:t.datum_type!==i||t.datum_params[0]===e.datum_params[0]&&t.datum_params[1]===e.datum_params[1]&&t.datum_params[2]===e.datum_params[2]&&t.datum_params[3]===e.datum_params[3]&&t.datum_params[4]===e.datum_params[4]&&t.datum_params[5]===e.datum_params[5]&&t.datum_params[6]===e.datum_params[6])}(t,e))return n;if(t.datum_type===a||e.datum_type===a)return n;var c=t.a,h=t.es;if(t.datum_type===o){if(0!==xt(t,!1,n))return;c=s,h=l;}var f=e.a,p=e.b,d=e.es;return e.datum_type===o&&(f=s,p=u,d=l),h!==d||c!==f||wt(t.datum_type)||wt(e.datum_type)?(n=vt(n,h,c),wt(t.datum_type)&&(n=function(t,e,n){if(e===r)return {x:t.x+n[0],y:t.y+n[1],z:t.z+n[2]};if(e===i){var o=n[0],a=n[1],s=n[2],u=n[3],l=n[4],c=n[5],h=n[6];return {x:h*(t.x-c*t.y+l*t.z)+o,y:h*(c*t.x+t.y-u*t.z)+a,z:h*(-l*t.x+u*t.y+t.z)+s}}}(n,t.datum_type,t.datum_params)),wt(e.datum_type)&&(n=function(t,e,n){if(e===r)return {x:t.x-n[0],y:t.y-n[1],z:t.z-n[2]};if(e===i){var o=n[0],a=n[1],s=n[2],u=n[3],l=n[4],c=n[5],h=n[6],f=(t.x-o)/h,p=(t.y-a)/h,d=(t.z-s)/h;return {x:f+c*p-l*d,y:-c*f+p+u*d,z:l*f-u*p+d}}}(n,e.datum_type,e.datum_params)),n=Tt(n,d,f,p),e.datum_type!==o||0===xt(e,!0,n)?n:void 0):n}(t.datum,e.datum,n))return e.from_greenwich&&(n={x:n.x-e.from_greenwich,y:n.y,z:n.z||0}),"longlat"===e.projName?n={x:n.x*g,y:n.y*g,z:n.z||0}:(n=e.forward(n),e.to_meter&&(n={x:n.x/e.to_meter,y:n.y/e.to_meter,z:n.z||0})),c&&"enu"!==e.axis?St(e,!0,n):n}var It=bt("WGS84");function Pt(t,e,n,r){var i,o,a;return Array.isArray(n)?(i=At(t,e,n,r)||{x:NaN,y:NaN},n.length>2?void 0!==t.name&&"geocent"===t.name||void 0!==e.name&&"geocent"===e.name?"number"==typeof i.z?[i.x,i.y,i.z].concat(n.splice(3)):[i.x,i.y,n[2]].concat(n.splice(3)):[i.x,i.y].concat(n.splice(2)):[i.x,i.y]):(o=At(t,e,n,r),2===(a=Object.keys(n)).length||a.forEach((function(r){if(void 0!==t.name&&"geocent"===t.name||void 0!==e.name&&"geocent"===e.name){if("x"===r||"y"===r||"z"===r)return}else if("x"===r||"y"===r)return;o[r]=n[r];})),o)}function Rt(t){return t instanceof bt?t:t.oProj?t.oProj:bt(t)}const Lt=function(t,e,n){t=Rt(t);var r,i=!1;return void 0===e?(e=t,t=It,i=!0):(void 0!==e.x||Array.isArray(e))&&(n=e,e=t,t=It,i=!0),e=Rt(e),n?Pt(t,e,n):(r={forward:function(n,r){return Pt(t,e,n,r)},inverse:function(n,r){return Pt(e,t,n,r)}},i&&(r.oProj=e),r)};var Dt=6,kt="AJSAJS",Ft="AFAFAF",Ut=65,Bt=73,jt=79,Gt=86,Wt=90;const qt={forward:Ht,inverse:function(t){var e=Yt(Qt(t.toUpperCase()));return e.lat&&e.lon?[e.lon,e.lat,e.lon,e.lat]:[e.left,e.bottom,e.right,e.top]},toPoint:zt};function Ht(t,e){return e=e||5,function(t,e){var n,r,i,o,a,s,u,l,c,h,f,p="00000"+t.easting,d="00000"+t.northing;return t.zoneNumber+t.zoneLetter+(c=t.easting,h=t.northing,f=Zt(t.zoneNumber),n=Math.floor(c/1e5),r=Math.floor(h/1e5)%20,i=f-1,o=kt.charCodeAt(i),a=Ft.charCodeAt(i),l=!1,(s=o+n-1)>Wt&&(s=s-Wt+Ut-1,l=!0),(s===Bt||oBt||(s>Bt||ojt||(s>jt||oWt&&(s=s-Wt+Ut-1),(u=a+r)>Gt?(u=u-Gt+Ut-1,l=!0):l=!1,(u===Bt||aBt||(u>Bt||ajt||(u>jt||aGt&&(u=u-Gt+Ut-1),String.fromCharCode(s)+String.fromCharCode(u))+p.substr(p.length-5,e)+d.substr(d.length-5,e)}(function(t){var e,n,r,i,o,a,s,u=t.lat,l=t.lon,c=6378137,h=.00669438,f=.9996,p=Vt(u),d=Vt(l);s=Math.floor((l+180)/6)+1,180===l&&(s=60),u>=56&&u<64&&l>=3&&l<12&&(s=32),u>=72&&u<84&&(l>=0&&l<9?s=31:l>=9&&l<21?s=33:l>=21&&l<33?s=35:l>=33&&l<42&&(s=37)),a=Vt(6*(s-1)-180+3),e=.006739496752268451,n=c/Math.sqrt(1-h*Math.sin(p)*Math.sin(p)),r=Math.tan(p)*Math.tan(p),i=e*Math.cos(p)*Math.cos(p);var y,m,g=f*n*((o=Math.cos(p)*(d-a))+(1-r+i)*o*o*o/6+(5-18*r+r*r+72*i-58*e)*o*o*o*o*o/120)+5e5,_=f*(c*(.9983242984503243*p-.002514607064228144*Math.sin(2*p)+2639046602129982e-21*Math.sin(4*p)-3.418046101696858e-9*Math.sin(6*p))+n*Math.tan(p)*(o*o/2+(5-r+9*i+4*i*i)*o*o*o*o/24+(61-58*r+r*r+600*i-2.2240339282485886)*o*o*o*o*o*o/720));return u<0&&(_+=1e7),{northing:Math.round(_),easting:Math.round(g),zoneNumber:s,zoneLetter:(y=u,m="Z",84>=y&&y>=72?m="X":72>y&&y>=64?m="W":64>y&&y>=56?m="V":56>y&&y>=48?m="U":48>y&&y>=40?m="T":40>y&&y>=32?m="S":32>y&&y>=24?m="R":24>y&&y>=16?m="Q":16>y&&y>=8?m="P":8>y&&y>=0?m="N":0>y&&y>=-8?m="M":-8>y&&y>=-16?m="L":-16>y&&y>=-24?m="K":-24>y&&y>=-32?m="J":-32>y&&y>=-40?m="H":-40>y&&y>=-48?m="G":-48>y&&y>=-56?m="F":-56>y&&y>=-64?m="E":-64>y&&y>=-72?m="D":-72>y&&y>=-80&&(m="C"),m)}}({lat:t[1],lon:t[0]}),e)}function zt(t){var e=Yt(Qt(t.toUpperCase()));return e.lat&&e.lon?[e.lon,e.lat]:[(e.left+e.right)/2,(e.top+e.bottom)/2]}function Vt(t){return t*(Math.PI/180)}function Xt(t){return t/Math.PI*180}function Yt(t){var e=t.northing,n=t.easting,r=t.zoneLetter,i=t.zoneNumber;if(i<0||i>60)return null;var o,a,s,u,l,c,h,f,p,d=.9996,y=6378137,m=.00669438,g=(1-Math.sqrt(.99330562))/(1+Math.sqrt(.99330562)),_=n-5e5,b=e;r<"N"&&(b-=1e7),h=6*(i-1)-180+3,o=.006739496752268451,p=(f=b/d/6367449.145945056)+(3*g/2-27*g*g*g/32)*Math.sin(2*f)+(21*g*g/16-55*g*g*g*g/32)*Math.sin(4*f)+151*g*g*g/96*Math.sin(6*f),a=y/Math.sqrt(1-m*Math.sin(p)*Math.sin(p)),s=Math.tan(p)*Math.tan(p),u=o*Math.cos(p)*Math.cos(p),l=.99330562*y/Math.pow(1-m*Math.sin(p)*Math.sin(p),1.5),c=_/(a*d);var v=p-a*Math.tan(p)/l*(c*c/2-(5+3*s+10*u-4*u*u-9*o)*c*c*c*c/24+(61+90*s+298*u+45*s*s-1.6983531815716497-3*u*u)*c*c*c*c*c*c/720);v=Xt(v);var T,E=(c-(1+2*s+u)*c*c*c/6+(5-2*u+28*s-3*u*u+8*o+24*s*s)*c*c*c*c*c/120)/Math.cos(p);if(E=h+Xt(E),t.accuracy){var w=Yt({northing:t.northing+t.accuracy,easting:t.easting+t.accuracy,zoneLetter:t.zoneLetter,zoneNumber:t.zoneNumber});T={top:w.lat,right:w.lon,bottom:v,left:E};}else T={lat:v,lon:E};return T}function Zt(t){var e=t%Dt;return 0===e&&(e=Dt),e}function Qt(t){if(t&&0===t.length)throw "MGRSPoint coverting from nothing";for(var e,n=t.length,r=null,i="",o=0;!/[A-Z]/.test(e=t.charAt(o));){if(o>=2)throw "MGRSPoint bad conversion from: "+t;i+=e,o++;}var a=parseInt(i,10);if(0===o||o+3>n)throw "MGRSPoint bad conversion from: "+t;var s=t.charAt(o++);if(s<="A"||"B"===s||"Y"===s||s>="Z"||"I"===s||"O"===s)throw "MGRSPoint zone letter "+s+" not handled: "+t;r=t.substring(o,o+=2);for(var u=Zt(a),l=function(t,e){for(var n=kt.charCodeAt(e-1),r=1e5,i=!1;n!==t.charCodeAt(0);){if(++n===Bt&&n++,n===jt&&n++,n>Wt){if(i)throw "Bad character: "+t;n=Ut,i=!0;}r+=1e5;}return r}(r.charAt(0),u),c=function(t,e){if(t>"V")throw "MGRSPoint given invalid Northing "+t;for(var n=Ft.charCodeAt(e-1),r=0,i=!1;n!==t.charCodeAt(0);){if(++n===Bt&&n++,n===jt&&n++,n>Gt){if(i)throw "Bad character: "+t;n=Ut,i=!0;}r+=1e5;}return r}(r.charAt(1),u);c0&&(f=1e5/Math.pow(10,y),p=t.substring(o,o+y),m=parseFloat(p)*f,d=t.substring(o+y),g=parseFloat(d)*f),{easting:m+l,northing:g+c,zoneLetter:s,zoneNumber:a,accuracy:f}}function Kt(t){var e;switch(t){case "C":e=11e5;break;case "D":e=2e6;break;case "E":e=28e5;break;case "F":e=37e5;break;case "G":e=46e5;break;case "H":e=55e5;break;case "J":e=64e5;break;case "K":e=73e5;break;case "L":e=82e5;break;case "M":e=91e5;break;case "N":e=0;break;case "P":e=8e5;break;case "Q":e=17e5;break;case "R":e=26e5;break;case "S":e=35e5;break;case "T":e=44e5;break;case "U":e=53e5;break;case "V":e=62e5;break;case "W":e=7e6;break;case "X":e=79e5;break;default:e=-1;}if(e>=0)return e;throw "Invalid zone letter: "+t}var Jt=n(5108);function $t(t,e,n){if(!(this instanceof $t))return new $t(t,e,n);if(Array.isArray(t))this.x=t[0],this.y=t[1],this.z=t[2]||0;else if("object"==typeof t)this.x=t.x,this.y=t.y,this.z=t.z||0;else if("string"==typeof t&&void 0===e){var r=t.split(",");this.x=parseFloat(r[0],10),this.y=parseFloat(r[1],10),this.z=parseFloat(r[2],10)||0;}else this.x=t,this.y=e,this.z=n||0;Jt.warn("proj4.Point will be removed in version 3, use proj4.toPoint");}$t.fromMGRS=function(t){return new $t(zt(t))},$t.prototype.toMGRS=function(t){return Ht([this.x,this.y],t)};const te=$t;var ee=1,ne=.25,re=.046875,ie=.01953125,oe=.01068115234375,ae=.75,se=.46875,ue=.013020833333333334,le=.007120768229166667,ce=.3645833333333333,he=.005696614583333333,fe=.3076171875;function pe(t){var e=[];e[0]=ee-t*(ne+t*(re+t*(ie+t*oe))),e[1]=t*(ae-t*(re+t*(ie+t*oe)));var n=t*t;return e[2]=n*(se-t*(ue+t*le)),n*=t,e[3]=n*(ce-t*he),e[4]=n*t*fe,e}function de(t,e,n,r){return n*=e,e*=e,r[0]*t-n*(r[1]+e*(r[2]+e*(r[3]+e*r[4])))}var ye=20;function me(t,e,n){for(var r=1/(1-e),i=t,o=ye;o;--o){var a=Math.sin(i),s=1-e*a*a;if(i-=s=(de(i,a,Math.cos(i),n)-t)*(s*Math.sqrt(s))*r,Math.abs(s)y?Math.tan(o):0,d=Math.pow(p,2),m=Math.pow(d,2);e=1-this.es*Math.pow(s,2),l/=Math.sqrt(e);var g=de(o,s,u,this.en);n=this.a*(this.k0*l*(1+c/6*(1-d+h+c/20*(5-18*d+m+14*h-58*d*h+c/42*(61+179*m-m*d-479*d)))))+this.x0,r=this.a*(this.k0*(g-this.ml0+s*a*l/2*(1+c/12*(5-d+9*h+4*f+c/30*(61+m-58*d+270*h-330*d*h+c/56*(1385+543*m-m*d-3111*d))))))+this.y0;}else {var _=u*Math.sin(a);if(Math.abs(Math.abs(_)-1)=1){if(_-1>y)return 93;r=0;}else r=Math.acos(r);o<0&&(r=-r),r=this.a*this.k0*(r-this.lat0)+this.y0;}return t.x=n,t.y=r,t},inverse:function(t){var e,n,r,i,o=(t.x-this.x0)*(1/this.a),a=(t.y-this.y0)*(1/this.a);if(this.es)if(n=me(e=this.ml0+a/this.k0,this.es,this.en),Math.abs(n)y?Math.tan(n):0,c=this.ep2*Math.pow(u,2),f=Math.pow(c,2),p=Math.pow(l,2),d=Math.pow(p,2);e=1-this.es*Math.pow(s,2);var m=o*Math.sqrt(e)/this.k0,g=Math.pow(m,2);r=n-(e*=l)*g/(1-this.es)*.5*(1-g/12*(5+3*p-9*c*p+c-4*f-g/30*(61+90*p-252*c*p+45*d+46*c-g/56*(1385+3633*p+4095*d+1574*d*p)))),i=Y(this.long0+m*(1-g/6*(1+2*p+c-g/20*(5+28*p+24*d+8*c*p+6*c-g/42*(61+662*p+1320*d+720*d*p))))/u);}else r=h*X(a),i=0;else {var _=Math.exp(o/this.k0),b=.5*(_-1/_),v=this.lat0+a/this.k0,T=Math.cos(v);e=Math.sqrt((1-Math.pow(T,2))/(1+Math.pow(b,2))),r=Math.asin(e),a<0&&(r=-r),i=0===b&&0===T?0:Y(Math.atan2(b,T)+this.long0);}return t.x=i,t.y=r,t},names:["Fast_Transverse_Mercator","Fast Transverse Mercator"]};function _e(t){var e=Math.exp(t);return (e-1/e)/2}function be(t,e){t=Math.abs(t),e=Math.abs(e);var n=Math.max(t,e),r=Math.min(t,e)/(n||1);return n*Math.sqrt(1+Math.pow(r,2))}function ve(t,e){for(var n,r=2*Math.cos(2*e),i=t.length-1,o=t[i],a=0;--i>=0;)n=r*o-a+t[i],a=o,o=n;return e+n*Math.sin(2*e)}function Te(t,e,n){for(var r,i,o=Math.sin(e),a=Math.cos(e),s=_e(n),u=function(t){var e=Math.exp(t);return (e+1/e)/2}(n),l=2*a*u,c=-2*o*s,h=t.length-1,f=t[h],p=0,d=0,y=0;--h>=0;)r=d,i=p,f=l*(d=f)-r-c*(p=y)+t[h],y=c*d-i+l*p;return [(l=o*u)*f-(c=a*s)*y,l*y+c*f]}const Ee={init:function(){if(!this.approx&&(isNaN(this.es)||this.es<=0))throw new Error('Incorrect elliptical usage. Try using the +approx option in the proj string, or PROJECTION["Fast_Transverse_Mercator"] in the WKT.');this.approx&&(ge.init.apply(this),this.forward=ge.forward,this.inverse=ge.inverse),this.x0=void 0!==this.x0?this.x0:0,this.y0=void 0!==this.y0?this.y0:0,this.long0=void 0!==this.long0?this.long0:0,this.lat0=void 0!==this.lat0?this.lat0:0,this.cgb=[],this.cbg=[],this.utg=[],this.gtu=[];var t=this.es/(1+Math.sqrt(1-this.es)),e=t/(2-t),n=e;this.cgb[0]=e*(2+e*(-2/3+e*(e*(116/45+e*(26/45+e*(-2854/675)))-2))),this.cbg[0]=e*(e*(2/3+e*(4/3+e*(-82/45+e*(32/45+e*(4642/4725)))))-2),n*=e,this.cgb[1]=n*(7/3+e*(e*(-227/45+e*(2704/315+e*(2323/945)))-1.6)),this.cbg[1]=n*(5/3+e*(-16/15+e*(-13/9+e*(904/315+e*(-1522/945))))),n*=e,this.cgb[2]=n*(56/15+e*(-136/35+e*(-1262/105+e*(73814/2835)))),this.cbg[2]=n*(-26/15+e*(34/21+e*(1.6+e*(-12686/2835)))),n*=e,this.cgb[3]=n*(4279/630+e*(-332/35+e*(-399572/14175))),this.cbg[3]=n*(1237/630+e*(e*(-24832/14175)-2.4)),n*=e,this.cgb[4]=n*(4174/315+e*(-144838/6237)),this.cbg[4]=n*(-734/315+e*(109598/31185)),n*=e,this.cgb[5]=n*(601676/22275),this.cbg[5]=n*(444337/155925),n=Math.pow(e,2),this.Qn=this.k0/(1+e)*(1+n*(1/4+n*(1/64+n/256))),this.utg[0]=e*(e*(2/3+e*(-37/96+e*(1/360+e*(81/512+e*(-96199/604800)))))-.5),this.gtu[0]=e*(.5+e*(-2/3+e*(5/16+e*(41/180+e*(-127/288+e*(7891/37800)))))),this.utg[1]=n*(-1/48+e*(-1/15+e*(437/1440+e*(-46/105+e*(1118711/3870720))))),this.gtu[1]=n*(13/48+e*(e*(557/1440+e*(281/630+e*(-1983433/1935360)))-.6)),n*=e,this.utg[2]=n*(-17/480+e*(37/840+e*(209/4480+e*(-5569/90720)))),this.gtu[2]=n*(61/240+e*(-103/140+e*(15061/26880+e*(167603/181440)))),n*=e,this.utg[3]=n*(-4397/161280+e*(11/504+e*(830251/7257600))),this.gtu[3]=n*(49561/161280+e*(-179/168+e*(6601661/7257600))),n*=e,this.utg[4]=n*(-4583/161280+e*(108847/3991680)),this.gtu[4]=n*(34729/80640+e*(-3418889/1995840)),n*=e,this.utg[5]=n*(-20648693/638668800),this.gtu[5]=.6650675310896665*n;var r=ve(this.cbg,this.lat0);this.Zb=-this.Qn*(r+function(t,e){for(var n,r=2*Math.cos(e),i=t.length-1,o=t[i],a=0;--i>=0;)n=r*o-a+t[i],a=o,o=n;return Math.sin(e)*n}(this.gtu,2*r));},forward:function(t){var e=Y(t.x-this.long0),n=t.y;n=ve(this.cbg,n);var r=Math.sin(n),i=Math.cos(n),o=Math.sin(e),a=Math.cos(e);n=Math.atan2(r,a*i),e=Math.atan2(o*i,be(r,i*a)),e=function(t){var e=Math.abs(t);return e=function(t){var e=1+t,n=e-1;return 0===n?t:t*Math.log(e)/n}(e*(1+e/(be(1,e)+1))),t<0?-e:e}(Math.tan(e));var s,u,l=Te(this.gtu,2*n,2*e);return n+=l[0],e+=l[1],Math.abs(e)<=2.623395162778?(s=this.a*(this.Qn*e)+this.x0,u=this.a*(this.Qn*n+this.Zb)+this.y0):(s=1/0,u=1/0),t.x=s,t.y=u,t},inverse:function(t){var e,n,r=(t.x-this.x0)*(1/this.a),i=(t.y-this.y0)*(1/this.a);if(i=(i-this.Zb)/this.Qn,r/=this.Qn,Math.abs(r)<=2.623395162778){var o=Te(this.utg,2*i,2*r);i+=o[0],r+=o[1],r=Math.atan(_e(r));var a=Math.sin(i),s=Math.cos(i),u=Math.sin(r),l=Math.cos(r);i=Math.atan2(a*l,be(u,l*s)),e=Y((r=Math.atan2(u,l*s))+this.long0),n=ve(this.cgb,i);}else e=1/0,n=1/0;return t.x=e,t.y=n,t},names:["Extended_Transverse_Mercator","Extended Transverse Mercator","etmerc","Transverse_Mercator","Transverse Mercator","tmerc"]},we={init:function(){var t=function(t,e){if(void 0===t){if((t=Math.floor(30*(Y(e)+Math.PI)/Math.PI)+1)<0)return 0;if(t>60)return 60}return t}(this.zone,this.long0);if(void 0===t)throw new Error("unknown utm zone");this.lat0=0,this.long0=(6*Math.abs(t)-183)*m,this.x0=5e5,this.y0=this.utmSouth?1e7:0,this.k0=.9996,Ee.init.apply(this),this.forward=Ee.forward,this.inverse=Ee.inverse;},names:["Universal Transverse Mercator System","utm"],dependsOn:"etmerc"};function xe(t,e){return Math.pow((1-t)/(1+t),e)}const Ce={init:function(){var t=Math.sin(this.lat0),e=Math.cos(this.lat0);e*=e,this.rc=Math.sqrt(1-this.es)/(1-this.es*t*t),this.C=Math.sqrt(1+this.es*e*e/(1-this.es)),this.phic0=Math.asin(t/this.C),this.ratexp=.5*this.C*this.e,this.K=Math.tan(.5*this.phic0+_)/(Math.pow(Math.tan(.5*this.lat0+_),this.C)*xe(this.e*t,this.ratexp));},forward:function(t){var e=t.x,n=t.y;return t.y=2*Math.atan(this.K*Math.pow(Math.tan(.5*n+_),this.C)*xe(this.e*Math.sin(n),this.ratexp))-h,t.x=this.C*e,t},inverse:function(t){for(var e=t.x/this.C,n=t.y,r=Math.pow(Math.tan(.5*n+_)/this.K,1/this.C),i=20;i>0&&(n=2*Math.atan(r*xe(this.e*Math.sin(t.y),-.5*this.e))-h,!(Math.abs(n-t.y)<1e-14));--i)t.y=n;return i?(t.x=e,t.y=n,t):null},names:["gauss"]},Me={init:function(){Ce.init.apply(this),this.rc&&(this.sinc0=Math.sin(this.phic0),this.cosc0=Math.cos(this.phic0),this.R2=2*this.rc,this.title||(this.title="Oblique Stereographic Alternative"));},forward:function(t){var e,n,r,i;return t.x=Y(t.x-this.long0),Ce.forward.apply(this,[t]),e=Math.sin(t.y),n=Math.cos(t.y),r=Math.cos(t.x),i=this.k0*this.R2/(1+this.sinc0*e+this.cosc0*n*r),t.x=i*n*Math.sin(t.x),t.y=i*(this.cosc0*e-this.sinc0*n*r),t.x=this.a*t.x+this.x0,t.y=this.a*t.y+this.y0,t},inverse:function(t){var e,n,r,i,o;if(t.x=(t.x-this.x0)/this.a,t.y=(t.y-this.y0)/this.a,t.x/=this.k0,t.y/=this.k0,o=Math.sqrt(t.x*t.x+t.y*t.y)){var a=2*Math.atan2(o,this.R2);e=Math.sin(a),n=Math.cos(a),i=Math.asin(n*this.sinc0+t.y*e*this.cosc0/o),r=Math.atan2(t.x*e,o*this.cosc0*n-t.y*this.sinc0*e);}else i=this.phic0,r=0;return t.x=r,t.y=i,Ce.inverse.apply(this,[t]),t.x=Y(t.x+this.long0),t},names:["Stereographic_North_Pole","Oblique_Stereographic","Polar_Stereographic","sterea","Oblique Stereographic Alternative","Double_Stereographic"]},Se={init:function(){this.coslat0=Math.cos(this.lat0),this.sinlat0=Math.sin(this.lat0),this.sphere?1===this.k0&&!isNaN(this.lat_ts)&&Math.abs(this.coslat0)<=y&&(this.k0=.5*(1+X(this.lat0)*Math.sin(this.lat_ts))):(Math.abs(this.coslat0)<=y&&(this.lat0>0?this.con=1:this.con=-1),this.cons=Math.sqrt(Math.pow(1+this.e,1+this.e)*Math.pow(1-this.e,1-this.e)),1===this.k0&&!isNaN(this.lat_ts)&&Math.abs(this.coslat0)<=y&&(this.k0=.5*this.cons*V(this.e,Math.sin(this.lat_ts),Math.cos(this.lat_ts))/Z(this.e,this.con*this.lat_ts,this.con*Math.sin(this.lat_ts))),this.ms1=V(this.e,this.sinlat0,this.coslat0),this.X0=2*Math.atan(this.ssfn_(this.lat0,this.sinlat0,this.e))-h,this.cosX0=Math.cos(this.X0),this.sinX0=Math.sin(this.X0));},forward:function(t){var e,n,r,i,o,a,s=t.x,u=t.y,l=Math.sin(u),c=Math.cos(u),f=Y(s-this.long0);return Math.abs(Math.abs(s-this.long0)-Math.PI)<=y&&Math.abs(u+this.lat0)<=y?(t.x=NaN,t.y=NaN,t):this.sphere?(e=2*this.k0/(1+this.sinlat0*l+this.coslat0*c*Math.cos(f)),t.x=this.a*e*c*Math.sin(f)+this.x0,t.y=this.a*e*(this.coslat0*l-this.sinlat0*c*Math.cos(f))+this.y0,t):(n=2*Math.atan(this.ssfn_(u,l,this.e))-h,i=Math.cos(n),r=Math.sin(n),Math.abs(this.coslat0)<=y?(o=Z(this.e,u*this.con,this.con*l),a=2*this.a*this.k0*o/this.cons,t.x=this.x0+a*Math.sin(s-this.long0),t.y=this.y0-this.con*a*Math.cos(s-this.long0),t):(Math.abs(this.sinlat0)0?Y(this.long0+Math.atan2(t.x,-1*t.y)):Y(this.long0+Math.atan2(t.x,t.y)):Y(this.long0+Math.atan2(t.x*Math.sin(s),a*this.coslat0*Math.cos(s)-t.y*this.sinlat0*Math.sin(s))),t.x=e,t.y=n,t)}if(Math.abs(this.coslat0)<=y){if(a<=y)return n=this.lat0,e=this.long0,t.x=e,t.y=n,t;t.x*=this.con,t.y*=this.con,r=a*this.cons/(2*this.a*this.k0),n=this.con*Q(this.e,r),e=this.con*Y(this.con*this.long0+Math.atan2(t.x,-1*t.y));}else i=2*Math.atan(a*this.cosX0/(2*this.a*this.k0*this.ms1)),e=this.long0,a<=y?o=this.X0:(o=Math.asin(Math.cos(i)*this.sinX0+t.y*Math.sin(i)*this.cosX0/a),e=Y(this.long0+Math.atan2(t.x*Math.sin(i),a*this.cosX0*Math.cos(i)-t.y*this.sinX0*Math.sin(i)))),n=-1*Q(this.e,Math.tan(.5*(h+o)));return t.x=e,t.y=n,t},names:["stere","Stereographic_South_Pole","Polar Stereographic (variant B)"],ssfn_:function(t,e,n){return e*=n,Math.tan(.5*(h+t))*Math.pow((1-e)/(1+e),.5*n)}},Ne={init:function(){var t=this.lat0;this.lambda0=this.long0;var e=Math.sin(t),n=this.a,r=1/this.rf,i=2*r-Math.pow(r,2),o=this.e=Math.sqrt(i);this.R=this.k0*n*Math.sqrt(1-i)/(1-i*Math.pow(e,2)),this.alpha=Math.sqrt(1+i/(1-i)*Math.pow(Math.cos(t),4)),this.b0=Math.asin(e/this.alpha);var a=Math.log(Math.tan(Math.PI/4+this.b0/2)),s=Math.log(Math.tan(Math.PI/4+t/2)),u=Math.log((1+o*e)/(1-o*e));this.K=a-this.alpha*s+this.alpha*o/2*u;},forward:function(t){var e=Math.log(Math.tan(Math.PI/4-t.y/2)),n=this.e/2*Math.log((1+this.e*Math.sin(t.y))/(1-this.e*Math.sin(t.y))),r=-this.alpha*(e+n)+this.K,i=2*(Math.atan(Math.exp(r))-Math.PI/4),o=this.alpha*(t.x-this.lambda0),a=Math.atan(Math.sin(o)/(Math.sin(this.b0)*Math.tan(i)+Math.cos(this.b0)*Math.cos(o))),s=Math.asin(Math.cos(this.b0)*Math.sin(i)-Math.sin(this.b0)*Math.cos(i)*Math.cos(o));return t.y=this.R/2*Math.log((1+Math.sin(s))/(1-Math.sin(s)))+this.y0,t.x=this.R*a+this.x0,t},inverse:function(t){for(var e=t.x-this.x0,n=t.y-this.y0,r=e/this.R,i=2*(Math.atan(Math.exp(n/this.R))-Math.PI/4),o=Math.asin(Math.cos(this.b0)*Math.sin(i)+Math.sin(this.b0)*Math.cos(i)*Math.cos(r)),a=Math.atan(Math.sin(r)/(Math.cos(this.b0)*Math.cos(r)-Math.sin(this.b0)*Math.tan(i))),s=this.lambda0+a/this.alpha,u=0,l=o,c=-1e3,h=0;Math.abs(l-c)>1e-7;){if(++h>20)return;u=1/this.alpha*(Math.log(Math.tan(Math.PI/4+o/2))-this.K)+this.e*Math.log(Math.tan(Math.PI/4+Math.asin(this.e*Math.sin(l))/2)),c=l,l=2*Math.atan(Math.exp(u))-Math.PI/2;}return t.x=s,t.y=l,t},names:["somerc"]};var Oe=1e-7;const Ae={init:function(){var t,e,n,r,i,o,a,s,u,l,c,f,p,d=0,g=0,v=0,T=0,E=0,w=0,x=0;this.no_off=(p="object"==typeof(f=this).PROJECTION?Object.keys(f.PROJECTION)[0]:f.PROJECTION,"no_uoff"in f||"no_off"in f||-1!==["Hotine_Oblique_Mercator","Hotine_Oblique_Mercator_Azimuth_Natural_Origin"].indexOf(p)),this.no_rot="no_rot"in this;var C=!1;"alpha"in this&&(C=!0);var M=!1;if("rectified_grid_angle"in this&&(M=!0),C&&(x=this.alpha),M&&(d=this.rectified_grid_angle*m),C||M)g=this.longc;else if(v=this.long1,E=this.lat1,T=this.long2,w=this.lat2,Math.abs(E-w)<=Oe||(t=Math.abs(E))<=Oe||Math.abs(t-h)<=Oe||Math.abs(Math.abs(this.lat0)-h)<=Oe||Math.abs(Math.abs(w)-h)<=Oe)throw new Error;var S=1-this.es;e=Math.sqrt(S),Math.abs(this.lat0)>y?(s=Math.sin(this.lat0),n=Math.cos(this.lat0),t=1-this.es*s*s,this.B=n*n,this.B=Math.sqrt(1+this.es*this.B*this.B/S),this.A=this.B*this.k0*e/t,(i=(r=this.B*e/(n*Math.sqrt(t)))*r-1)<=0?i=0:(i=Math.sqrt(i),this.lat0<0&&(i=-i)),this.E=i+=r,this.E*=Math.pow(Z(this.e,this.lat0,s),this.B)):(this.B=1/e,this.A=this.k0,this.E=r=i=1),C||M?(C?(c=Math.asin(Math.sin(x)/r),M||(d=x)):(c=d,x=Math.asin(r*Math.sin(c))),this.lam0=g-Math.asin(.5*(i-1/i)*Math.tan(c))/this.B):(o=Math.pow(Z(this.e,E,Math.sin(E)),this.B),a=Math.pow(Z(this.e,w,Math.sin(w)),this.B),i=this.E/o,u=(a-o)/(a+o),l=((l=this.E*this.E)-a*o)/(l+a*o),(t=v-T)<-Math.pi?T-=b:t>Math.pi&&(T+=b),this.lam0=Y(.5*(v+T)-Math.atan(l*Math.tan(.5*this.B*(v-T))/u)/this.B),c=Math.atan(2*Math.sin(this.B*Y(v-this.lam0))/(i-1/i)),d=x=Math.asin(r*Math.sin(c))),this.singam=Math.sin(c),this.cosgam=Math.cos(c),this.sinrot=Math.sin(d),this.cosrot=Math.cos(d),this.rB=1/this.B,this.ArB=this.A*this.rB,this.BrA=1/this.ArB,this.A,this.B,this.no_off?this.u_0=0:(this.u_0=Math.abs(this.ArB*Math.atan(Math.sqrt(r*r-1)/Math.cos(x))),this.lat0<0&&(this.u_0=-this.u_0)),i=.5*c,this.v_pole_n=this.ArB*Math.log(Math.tan(_-i)),this.v_pole_s=this.ArB*Math.log(Math.tan(_+i));},forward:function(t){var e,n,r,i,o,a,s,u,l={};if(t.x=t.x-this.lam0,Math.abs(Math.abs(t.y)-h)>y){if(e=.5*((o=this.E/Math.pow(Z(this.e,t.y,Math.sin(t.y)),this.B))-(a=1/o)),n=.5*(o+a),i=Math.sin(this.B*t.x),r=(e*this.singam-i*this.cosgam)/n,Math.abs(Math.abs(r)-1)0?this.v_pole_n:this.v_pole_s,s=this.ArB*t.y;return this.no_rot?(l.x=s,l.y=u):(s-=this.u_0,l.x=u*this.cosrot+s*this.sinrot,l.y=s*this.cosrot-u*this.sinrot),l.x=this.a*l.x+this.x0,l.y=this.a*l.y+this.y0,l},inverse:function(t){var e,n,r,i,o,a,s,u={};if(t.x=(t.x-this.x0)*(1/this.a),t.y=(t.y-this.y0)*(1/this.a),this.no_rot?(n=t.y,e=t.x):(n=t.x*this.cosrot-t.y*this.sinrot,e=t.y*this.cosrot+t.x*this.sinrot+this.u_0),i=.5*((r=Math.exp(-this.BrA*n))-1/r),o=.5*(r+1/r),s=((a=Math.sin(this.BrA*e))*this.cosgam+i*this.singam)/o,Math.abs(Math.abs(s)-1)y?this.ns=Math.log(r/s)/Math.log(i/u):this.ns=e,isNaN(this.ns)&&(this.ns=e),this.f0=r/(this.ns*Math.pow(i,this.ns)),this.rh=this.a*this.f0*Math.pow(l,this.ns),this.title||(this.title="Lambert Conformal Conic");}},forward:function(t){var e=t.x,n=t.y;Math.abs(2*Math.abs(n)-Math.PI)<=y&&(n=X(n)*(h-2*y));var r,i,o=Math.abs(Math.abs(n)-h);if(o>y)r=Z(this.e,n,Math.sin(n)),i=this.a*this.f0*Math.pow(r,this.ns);else {if((o=n*this.ns)<=0)return null;i=0;}var a=this.ns*Y(e-this.long0);return t.x=this.k0*(i*Math.sin(a))+this.x0,t.y=this.k0*(this.rh-i*Math.cos(a))+this.y0,t},inverse:function(t){var e,n,r,i,o,a=(t.x-this.x0)/this.k0,s=this.rh-(t.y-this.y0)/this.k0;this.ns>0?(e=Math.sqrt(a*a+s*s),n=1):(e=-Math.sqrt(a*a+s*s),n=-1);var u=0;if(0!==e&&(u=Math.atan2(n*a,n*s)),0!==e||this.ns>0){if(n=1/this.ns,r=Math.pow(e/(this.a*this.f0),n),-9999===(i=Q(this.e,r)))return null}else i=-h;return o=Y(u/this.ns+this.long0),t.x=o,t.y=i,t},names:["Lambert Tangential Conformal Conic Projection","Lambert_Conformal_Conic","Lambert_Conformal_Conic_1SP","Lambert_Conformal_Conic_2SP","lcc","Lambert Conic Conformal (1SP)","Lambert Conic Conformal (2SP)"]},Pe={init:function(){this.a=6377397.155,this.es=.006674372230614,this.e=Math.sqrt(this.es),this.lat0||(this.lat0=.863937979737193),this.long0||(this.long0=.4334234309119251),this.k0||(this.k0=.9999),this.s45=.785398163397448,this.s90=2*this.s45,this.fi0=this.lat0,this.e2=this.es,this.e=Math.sqrt(this.e2),this.alfa=Math.sqrt(1+this.e2*Math.pow(Math.cos(this.fi0),4)/(1-this.e2)),this.uq=1.04216856380474,this.u0=Math.asin(Math.sin(this.fi0)/this.alfa),this.g=Math.pow((1+this.e*Math.sin(this.fi0))/(1-this.e*Math.sin(this.fi0)),this.alfa*this.e/2),this.k=Math.tan(this.u0/2+this.s45)/Math.pow(Math.tan(this.fi0/2+this.s45),this.alfa)*this.g,this.k1=this.k0,this.n0=this.a*Math.sqrt(1-this.e2)/(1-this.e2*Math.pow(Math.sin(this.fi0),2)),this.s0=1.37008346281555,this.n=Math.sin(this.s0),this.ro0=this.k1*this.n0/Math.tan(this.s0),this.ad=this.s90-this.uq;},forward:function(t){var e,n,r,i,o,a,s,u=t.x,l=t.y,c=Y(u-this.long0);return e=Math.pow((1+this.e*Math.sin(l))/(1-this.e*Math.sin(l)),this.alfa*this.e/2),n=2*(Math.atan(this.k*Math.pow(Math.tan(l/2+this.s45),this.alfa)/e)-this.s45),r=-c*this.alfa,i=Math.asin(Math.cos(this.ad)*Math.sin(n)+Math.sin(this.ad)*Math.cos(n)*Math.cos(r)),o=Math.asin(Math.cos(n)*Math.sin(r)/Math.cos(i)),a=this.n*o,s=this.ro0*Math.pow(Math.tan(this.s0/2+this.s45),this.n)/Math.pow(Math.tan(i/2+this.s45),this.n),t.y=s*Math.cos(a)/1,t.x=s*Math.sin(a)/1,this.czech||(t.y*=-1,t.x*=-1),t},inverse:function(t){var e,n,r,i,o,a,s,u=t.x;t.x=t.y,t.y=u,this.czech||(t.y*=-1,t.x*=-1),o=Math.sqrt(t.x*t.x+t.y*t.y),i=Math.atan2(t.y,t.x)/Math.sin(this.s0),r=2*(Math.atan(Math.pow(this.ro0/o,1/this.n)*Math.tan(this.s0/2+this.s45))-this.s45),e=Math.asin(Math.cos(this.ad)*Math.sin(r)-Math.sin(this.ad)*Math.cos(r)*Math.cos(i)),n=Math.asin(Math.cos(r)*Math.sin(i)/Math.cos(e)),t.x=this.long0-n/this.alfa,a=e,s=0;var l=0;do{t.y=2*(Math.atan(Math.pow(this.k,-1/this.alfa)*Math.pow(Math.tan(e/2+this.s45),1/this.alfa)*Math.pow((1+this.e*Math.sin(a))/(1-this.e*Math.sin(a)),this.e/2))-this.s45),Math.abs(a-t.y)<1e-10&&(s=1),a=t.y,l+=1;}while(0===s&&l<15);return l>=15?null:t},names:["Krovak","krovak"]};function Re(t,e,n,r,i){return t*i-e*Math.sin(2*i)+n*Math.sin(4*i)-r*Math.sin(6*i)}function Le(t){return 1-.25*t*(1+t/16*(3+1.25*t))}function De(t){return .375*t*(1+.25*t*(1+.46875*t))}function ke(t){return .05859375*t*t*(1+.75*t)}function Fe(t){return t*t*t*(35/3072)}function Ue(t,e,n){var r=e*n;return t/Math.sqrt(1-r*r)}function Be(t){return Math.abs(t)1e-7?(1-t*t)*(e/(1-(n=t*e)*n)-.5/t*Math.log((1-n)/(1+n))):2*e}const qe={init:function(){var t,e=Math.abs(this.lat0);if(Math.abs(e-h)0)switch(this.qp=We(this.e,1),this.mmf=.5/(1-this.es),this.apa=function(t){var e,n=[];return n[0]=.3333333333333333*t,e=t*t,n[0]+=.17222222222222222*e,n[1]=.06388888888888888*e,e*=t,n[0]+=.10257936507936508*e,n[1]+=.0664021164021164*e,n[2]=.016415012942191543*e,n}(this.es),this.mode){case this.N_POLE:case this.S_POLE:this.dd=1;break;case this.EQUIT:this.rq=Math.sqrt(.5*this.qp),this.dd=1/this.rq,this.xmf=1,this.ymf=.5*this.qp;break;case this.OBLIQ:this.rq=Math.sqrt(.5*this.qp),t=Math.sin(this.lat0),this.sinb1=We(this.e,t)/this.qp,this.cosb1=Math.sqrt(1-this.sinb1*this.sinb1),this.dd=Math.cos(this.lat0)/(Math.sqrt(1-this.es*t*t)*this.rq*this.cosb1),this.ymf=(this.xmf=this.rq)/this.dd,this.xmf*=this.dd;}else this.mode===this.OBLIQ&&(this.sinph0=Math.sin(this.lat0),this.cosph0=Math.cos(this.lat0));},forward:function(t){var e,n,r,i,o,a,s,u,l,c,f=t.x,p=t.y;if(f=Y(f-this.long0),this.sphere){if(o=Math.sin(p),c=Math.cos(p),r=Math.cos(f),this.mode===this.OBLIQ||this.mode===this.EQUIT){if((n=this.mode===this.EQUIT?1+c*r:1+this.sinph0*o+this.cosph0*c*r)<=y)return null;e=(n=Math.sqrt(2/n))*c*Math.sin(f),n*=this.mode===this.EQUIT?o:this.cosph0*o-this.sinph0*c*r;}else if(this.mode===this.N_POLE||this.mode===this.S_POLE){if(this.mode===this.N_POLE&&(r=-r),Math.abs(p+this.lat0)=0?(e=(l=Math.sqrt(a))*i,n=r*(this.mode===this.S_POLE?l:-l)):e=n=0;}}return t.x=this.a*e+this.x0,t.y=this.a*n+this.y0,t},inverse:function(t){t.x-=this.x0,t.y-=this.y0;var e,n,r,i,o,a,s,u,l,c,f=t.x/this.a,p=t.y/this.a;if(this.sphere){var d,m=0,g=0;if((n=.5*(d=Math.sqrt(f*f+p*p)))>1)return null;switch(n=2*Math.asin(n),this.mode!==this.OBLIQ&&this.mode!==this.EQUIT||(g=Math.sin(n),m=Math.cos(n)),this.mode){case this.EQUIT:n=Math.abs(d)<=y?0:Math.asin(p*g/d),f*=g,p=m*d;break;case this.OBLIQ:n=Math.abs(d)<=y?this.lat0:Math.asin(m*this.sinph0+p*g*this.cosph0/d),f*=g*this.cosph0,p=(m-Math.sin(n)*this.sinph0)*d;break;case this.N_POLE:p=-p,n=h-n;break;case this.S_POLE:n-=h;}e=0!==p||this.mode!==this.EQUIT&&this.mode!==this.OBLIQ?Math.atan2(f,p):0;}else {if(s=0,this.mode===this.OBLIQ||this.mode===this.EQUIT){if(f/=this.dd,p*=this.dd,(a=Math.sqrt(f*f+p*p))1&&(t=t>1?1:-1),Math.asin(t)}const ze={init:function(){Math.abs(this.lat1+this.lat2)y?this.ns0=(this.ms1*this.ms1-this.ms2*this.ms2)/(this.qs2-this.qs1):this.ns0=this.con,this.c=this.ms1*this.ms1+this.ns0*this.qs1,this.rh=this.a*Math.sqrt(this.c-this.ns0*this.qs0)/this.ns0);},forward:function(t){var e=t.x,n=t.y;this.sin_phi=Math.sin(n),this.cos_phi=Math.cos(n);var r=We(this.e3,this.sin_phi,this.cos_phi),i=this.a*Math.sqrt(this.c-this.ns0*r)/this.ns0,o=this.ns0*Y(e-this.long0),a=i*Math.sin(o)+this.x0,s=this.rh-i*Math.cos(o)+this.y0;return t.x=a,t.y=s,t},inverse:function(t){var e,n,r,i,o,a;return t.x-=this.x0,t.y=this.rh-t.y+this.y0,this.ns0>=0?(e=Math.sqrt(t.x*t.x+t.y*t.y),r=1):(e=-Math.sqrt(t.x*t.x+t.y*t.y),r=-1),i=0,0!==e&&(i=Math.atan2(r*t.x,r*t.y)),r=e*this.ns0/this.a,this.sphere?a=Math.asin((this.c-r*r)/(2*this.ns0)):(n=(this.c-r*r)/this.ns0,a=this.phi1z(this.e3,n)),o=Y(i/this.ns0+this.long0),t.x=o,t.y=a,t},names:["Albers_Conic_Equal_Area","Albers","aea"],phi1z:function(t,e){var n,r,i,o,a=He(.5*e);if(t0||Math.abs(o)<=y?(a=this.x0+1*this.a*n*Math.sin(r)/o,s=this.y0+1*this.a*(this.cos_p14*e-this.sin_p14*n*i)/o):(a=this.x0+this.infinity_dist*n*Math.sin(r),s=this.y0+this.infinity_dist*(this.cos_p14*e-this.sin_p14*n*i)),t.x=a,t.y=s,t},inverse:function(t){var e,n,r,i,o,a;return t.x=(t.x-this.x0)/this.a,t.y=(t.y-this.y0)/this.a,t.x/=this.k0,t.y/=this.k0,(e=Math.sqrt(t.x*t.x+t.y*t.y))?(i=Math.atan2(e,this.rc),n=Math.sin(i),a=He((r=Math.cos(i))*this.sin_p14+t.y*n*this.cos_p14/e),o=Math.atan2(t.x*n,e*this.cos_p14*r-t.y*this.sin_p14*n),o=Y(this.long0+o)):(a=this.phic0,o=0),t.x=o,t.y=a,t},names:["gnom"]},Xe={init:function(){this.sphere||(this.k0=V(this.e,Math.sin(this.lat_ts),Math.cos(this.lat_ts)));},forward:function(t){var e,n,r=t.x,i=t.y,o=Y(r-this.long0);if(this.sphere)e=this.x0+this.a*o*Math.cos(this.lat_ts),n=this.y0+this.a*Math.sin(i)/Math.cos(this.lat_ts);else {var a=We(this.e,Math.sin(i));e=this.x0+this.a*this.k0*o,n=this.y0+this.a*a*.5/this.k0;}return t.x=e,t.y=n,t},inverse:function(t){var e,n;return t.x-=this.x0,t.y-=this.y0,this.sphere?(e=Y(this.long0+t.x/this.a/Math.cos(this.lat_ts)),n=Math.asin(t.y/this.a*Math.cos(this.lat_ts))):(n=function(t,e){var n=1-(1-t*t)/(2*t)*Math.log((1-t)/(1+t));if(Math.abs(Math.abs(e)-n)<1e-6)return e<0?-1*h:h;for(var r,i,o,a,s=Math.asin(.5*e),u=0;u<30;u++)if(i=Math.sin(s),o=Math.cos(s),a=t*i,s+=r=Math.pow(1-a*a,2)/(2*o)*(e/(1-t*t)-i/(1-a*a)+.5/t*Math.log((1-a)/(1+a))),Math.abs(r)<=1e-10)return s;return NaN}(this.e,2*t.y*this.k0/this.a),e=Y(this.long0+t.x/(this.a*this.k0))),t.x=e,t.y=n,t},names:["cea"]},Ye={init:function(){this.x0=this.x0||0,this.y0=this.y0||0,this.lat0=this.lat0||0,this.long0=this.long0||0,this.lat_ts=this.lat_ts||0,this.title=this.title||"Equidistant Cylindrical (Plate Carre)",this.rc=Math.cos(this.lat_ts);},forward:function(t){var e=t.x,n=t.y,r=Y(e-this.long0),i=Be(n-this.lat0);return t.x=this.x0+this.a*r*this.rc,t.y=this.y0+this.a*i,t},inverse:function(t){var e=t.x,n=t.y;return t.x=Y(this.long0+(e-this.x0)/(this.a*this.rc)),t.y=Be(this.lat0+(n-this.y0)/this.a),t},names:["Equirectangular","Equidistant_Cylindrical","eqc"]};const Ze={init:function(){this.temp=this.b/this.a,this.es=1-Math.pow(this.temp,2),this.e=Math.sqrt(this.es),this.e0=Le(this.es),this.e1=De(this.es),this.e2=ke(this.es),this.e3=Fe(this.es),this.ml0=this.a*Re(this.e0,this.e1,this.e2,this.e3,this.lat0);},forward:function(t){var e,n,r,i=t.x,o=t.y,a=Y(i-this.long0);if(r=a*Math.sin(o),this.sphere)Math.abs(o)<=y?(e=this.a*a,n=-1*this.a*this.lat0):(e=this.a*Math.sin(r)/Math.tan(o),n=this.a*(Be(o-this.lat0)+(1-Math.cos(r))/Math.tan(o)));else if(Math.abs(o)<=y)e=this.a*a,n=-1*this.ml0;else {var s=Ue(this.a,this.e,Math.sin(o))/Math.tan(o);e=s*Math.sin(r),n=this.a*Re(this.e0,this.e1,this.e2,this.e3,o)-this.ml0+s*(1-Math.cos(r));}return t.x=e+this.x0,t.y=n+this.y0,t},inverse:function(t){var e,n,r,i,o,a,s,u,l;if(r=t.x-this.x0,i=t.y-this.y0,this.sphere)if(Math.abs(i+this.a*this.lat0)<=y)e=Y(r/this.a+this.long0),n=0;else {var c;for(a=this.lat0+i/this.a,s=r*r/this.a/this.a+a*a,u=a,o=20;o;--o)if(u+=l=-1*(a*(u*(c=Math.tan(u))+1)-u-.5*(u*u+s)*c)/((u-a)/c-1),Math.abs(l)<=y){n=u;break}e=Y(this.long0+Math.asin(r*Math.tan(u)/this.a)/Math.sin(n));}else if(Math.abs(i+this.ml0)<=y)n=0,e=Y(this.long0+r/this.a);else {var h,f,p,d,m;for(a=(this.ml0+i)/this.a,s=r*r/this.a/this.a+a*a,u=a,o=20;o;--o)if(m=this.e*Math.sin(u),h=Math.sqrt(1-m*m)*Math.tan(u),f=this.a*Re(this.e0,this.e1,this.e2,this.e3,u),p=this.e0-2*this.e1*Math.cos(2*u)+4*this.e2*Math.cos(4*u)-6*this.e3*Math.cos(6*u),u-=l=(a*(h*(d=f/this.a)+1)-d-.5*h*(d*d+s))/(this.es*Math.sin(2*u)*(d*d+s-2*a*d)/(4*h)+(a-d)*(h*p-2/Math.sin(2*u))-p),Math.abs(l)<=y){n=u;break}h=Math.sqrt(1-this.es*Math.pow(Math.sin(n),2))*Math.tan(n),e=Y(this.long0+Math.asin(r*h/this.a)/Math.sin(n));}return t.x=e,t.y=n,t},names:["Polyconic","poly"]},Qe={init:function(){this.A=[],this.A[1]=.6399175073,this.A[2]=-.1358797613,this.A[3]=.063294409,this.A[4]=-.02526853,this.A[5]=.0117879,this.A[6]=-.0055161,this.A[7]=.0026906,this.A[8]=-.001333,this.A[9]=67e-5,this.A[10]=-34e-5,this.B_re=[],this.B_im=[],this.B_re[1]=.7557853228,this.B_im[1]=0,this.B_re[2]=.249204646,this.B_im[2]=.003371507,this.B_re[3]=-.001541739,this.B_im[3]=.04105856,this.B_re[4]=-.10162907,this.B_im[4]=.01727609,this.B_re[5]=-.26623489,this.B_im[5]=-.36249218,this.B_re[6]=-.6870983,this.B_im[6]=-1.1651967,this.C_re=[],this.C_im=[],this.C_re[1]=1.3231270439,this.C_im[1]=0,this.C_re[2]=-.577245789,this.C_im[2]=-.007809598,this.C_re[3]=.508307513,this.C_im[3]=-.112208952,this.C_re[4]=-.15094762,this.C_im[4]=.18200602,this.C_re[5]=1.01418179,this.C_im[5]=1.64497696,this.C_re[6]=1.9660549,this.C_im[6]=2.5127645,this.D=[],this.D[1]=1.5627014243,this.D[2]=.5185406398,this.D[3]=-.03333098,this.D[4]=-.1052906,this.D[5]=-.0368594,this.D[6]=.007317,this.D[7]=.0122,this.D[8]=.00394,this.D[9]=-.0013;},forward:function(t){var e,n=t.x,r=t.y-this.lat0,i=n-this.long0,o=r/c*1e-5,a=i,s=1,u=0;for(e=1;e<=10;e++)s*=o,u+=this.A[e]*s;var l,h=u,f=a,p=1,d=0,y=0,m=0;for(e=1;e<=6;e++)l=d*h+p*f,p=p*h-d*f,d=l,y=y+this.B_re[e]*p-this.B_im[e]*d,m=m+this.B_im[e]*p+this.B_re[e]*d;return t.x=m*this.a+this.x0,t.y=y*this.a+this.y0,t},inverse:function(t){var e,n,r=t.x,i=t.y,o=r-this.x0,a=(i-this.y0)/this.a,s=o/this.a,u=1,l=0,h=0,f=0;for(e=1;e<=6;e++)n=l*a+u*s,u=u*a-l*s,l=n,h=h+this.C_re[e]*u-this.C_im[e]*l,f=f+this.C_im[e]*u+this.C_re[e]*l;for(var p=0;p.999999999999&&(n=.999999999999),e=Math.asin(n);var r=Y(this.long0+t.x/(.900316316158*this.a*Math.cos(e)));r<-Math.PI&&(r=-Math.PI),r>Math.PI&&(r=Math.PI),n=(2*e+Math.sin(2*e))/Math.PI,Math.abs(n)>1&&(n=1);var i=Math.asin(n);return t.x=r,t.y=i,t},names:["Mollweide","moll"]},tn={init:function(){Math.abs(this.lat1+this.lat2)=0?(n=Math.sqrt(t.x*t.x+t.y*t.y),e=1):(n=-Math.sqrt(t.x*t.x+t.y*t.y),e=-1);var o=0;return 0!==n&&(o=Math.atan2(e*t.x,e*t.y)),this.sphere?(i=Y(this.long0+o/this.ns),r=Be(this.g-n/this.a),t.x=i,t.y=r,t):(r=je(this.g-n/this.a,this.e0,this.e1,this.e2,this.e3),i=Y(this.long0+o/this.ns),t.x=i,t.y=r,t)},names:["Equidistant_Conic","eqdc"]},en={init:function(){this.R=this.a;},forward:function(t){var e,n,r=t.x,i=t.y,o=Y(r-this.long0);Math.abs(i)<=y&&(e=this.x0+this.R*o,n=this.y0);var a=He(2*Math.abs(i/Math.PI));(Math.abs(o)<=y||Math.abs(Math.abs(i)-h)<=y)&&(e=this.x0,n=i>=0?this.y0+Math.PI*this.R*Math.tan(.5*a):this.y0+Math.PI*this.R*-Math.tan(.5*a));var s=.5*Math.abs(Math.PI/o-o/Math.PI),u=s*s,l=Math.sin(a),c=Math.cos(a),f=c/(l+c-1),p=f*f,d=f*(2/l-1),m=d*d,g=Math.PI*this.R*(s*(f-m)+Math.sqrt(u*(f-m)*(f-m)-(m+u)*(p-m)))/(m+u);o<0&&(g=-g),e=this.x0+g;var _=u+f;return g=Math.PI*this.R*(d*_-s*Math.sqrt((m+u)*(u+1)-_*_))/(m+u),n=i>=0?this.y0+g:this.y0-g,t.x=e,t.y=n,t},inverse:function(t){var e,n,r,i,o,a,s,u,l,c,h,f;return t.x-=this.x0,t.y-=this.y0,h=Math.PI*this.R,o=(r=t.x/h)*r+(i=t.y/h)*i,h=3*(i*i/(u=-2*(a=-Math.abs(i)*(1+o))+1+2*i*i+o*o)+(2*(s=a-2*i*i+r*r)*s*s/u/u/u-9*a*s/u/u)/27)/(l=(a-s*s/3/u)/u)/(c=2*Math.sqrt(-l/3)),Math.abs(h)>1&&(h=h>=0?1:-1),f=Math.acos(h)/3,n=t.y>=0?(-c*Math.cos(f+Math.PI/3)-s/3/u)*Math.PI:-(-c*Math.cos(f+Math.PI/3)-s/3/u)*Math.PI,e=Math.abs(r)2*h*this.a)return;return n=e/this.a,r=Math.sin(n),i=Math.cos(n),o=this.long0,Math.abs(e)<=y?a=this.lat0:(a=He(i*this.sin_p12+t.y*r*this.cos_p12/e),s=Math.abs(this.lat0)-h,o=Math.abs(s)<=y?this.lat0>=0?Y(this.long0+Math.atan2(t.x,-t.y)):Y(this.long0-Math.atan2(-t.x,t.y)):Y(this.long0+Math.atan2(t.x*r,e*this.cos_p12*i-t.y*this.sin_p12*r))),t.x=o,t.y=a,t}return u=Le(this.es),l=De(this.es),c=ke(this.es),f=Fe(this.es),Math.abs(this.sin_p12-1)<=y?(a=je(((p=this.a*Re(u,l,c,f,h))-(e=Math.sqrt(t.x*t.x+t.y*t.y)))/this.a,u,l,c,f),o=Y(this.long0+Math.atan2(t.x,-1*t.y)),t.x=o,t.y=a,t):Math.abs(this.sin_p12+1)<=y?(p=this.a*Re(u,l,c,f,h),a=je(((e=Math.sqrt(t.x*t.x+t.y*t.y))-p)/this.a,u,l,c,f),o=Y(this.long0+Math.atan2(t.x,t.y)),t.x=o,t.y=a,t):(e=Math.sqrt(t.x*t.x+t.y*t.y),g=Math.atan2(t.x,t.y),d=Ue(this.a,this.e,this.sin_p12),_=Math.cos(g),v=-(b=this.e*this.cos_p12*_)*b/(1-this.es),T=3*this.es*(1-v)*this.sin_p12*this.cos_p12*_/(1-this.es),x=1-v*(w=(E=e/d)-v*(1+v)*Math.pow(E,3)/6-T*(1+3*v)*Math.pow(E,4)/24)*w/2-E*w*w*w/6,m=Math.asin(this.sin_p12*Math.cos(w)+this.cos_p12*Math.sin(w)*_),o=Y(this.long0+Math.asin(Math.sin(g)*Math.sin(w)/Math.cos(m))),C=Math.sin(m),a=Math.atan2((C-this.es*x*this.sin_p12)*Math.tan(m),C*(1-this.es)),t.x=o,t.y=a,t)},names:["Azimuthal_Equidistant","aeqd"]},rn={init:function(){this.sin_p14=Math.sin(this.lat0),this.cos_p14=Math.cos(this.lat0);},forward:function(t){var e,n,r,i,o,a,s,u=t.x,l=t.y;return r=Y(u-this.long0),e=Math.sin(l),n=Math.cos(l),i=Math.cos(r),((o=this.sin_p14*e+this.cos_p14*n*i)>0||Math.abs(o)<=y)&&(a=1*this.a*n*Math.sin(r),s=this.y0+1*this.a*(this.cos_p14*e-this.sin_p14*n*i)),t.x=a,t.y=s,t},inverse:function(t){var e,n,r,i,o,a,s;return t.x-=this.x0,t.y-=this.y0,n=He((e=Math.sqrt(t.x*t.x+t.y*t.y))/this.a),r=Math.sin(n),i=Math.cos(n),a=this.long0,Math.abs(e)<=y?(s=this.lat0,t.x=a,t.y=s,t):(s=He(i*this.sin_p14+t.y*r*this.cos_p14/e),o=Math.abs(this.lat0)-h,Math.abs(o)<=y?(a=this.lat0>=0?Y(this.long0+Math.atan2(t.x,-t.y)):Y(this.long0-Math.atan2(-t.x,t.y)),t.x=a,t.y=s,t):(a=Y(this.long0+Math.atan2(t.x*r,e*this.cos_p14*i-t.y*this.sin_p14*r)),t.x=a,t.y=s,t))},names:["ortho"]};var on=1,an=2,sn=3,un=4,ln=5,cn=6,hn={AREA_0:1,AREA_1:2,AREA_2:3,AREA_3:4};function fn(t,e,n,r){var i;return t_&&i<=h+_?(r.value=hn.AREA_1,i-=h):i>h+_||i<=-(h+_)?(r.value=hn.AREA_2,i=i>=0?i-v:i+v):(r.value=hn.AREA_3,i+=h)),i}function pn(t,e){var n=t+e;return n<-v?n+=b:n>+v&&(n-=b),n}const dn={init:function(){this.x0=this.x0||0,this.y0=this.y0||0,this.lat0=this.lat0||0,this.long0=this.long0||0,this.lat_ts=this.lat_ts||0,this.title=this.title||"Quadrilateralized Spherical Cube",this.lat0>=h-_/2?this.face=ln:this.lat0<=-(h-_/2)?this.face=cn:Math.abs(this.long0)<=_?this.face=on:Math.abs(this.long0)<=h+_?this.face=this.long0>0?an:un:this.face=sn,0!==this.es&&(this.one_minus_f=1-(this.a-this.b)/this.a,this.one_minus_f_squared=this.one_minus_f*this.one_minus_f);},forward:function(t){var e,n,r,i,o,a,s={x:0,y:0},u={value:0};if(t.x-=this.long0,e=0!==this.es?Math.atan(this.one_minus_f_squared*Math.tan(t.y)):t.y,n=t.x,this.face===ln)i=h-e,n>=_&&n<=h+_?(u.value=hn.AREA_0,r=n-h):n>h+_||n<=-(h+_)?(u.value=hn.AREA_1,r=n>0?n-v:n+v):n>-(h+_)&&n<=-_?(u.value=hn.AREA_2,r=n+h):(u.value=hn.AREA_3,r=n);else if(this.face===cn)i=h+e,n>=_&&n<=h+_?(u.value=hn.AREA_0,r=-n+h):n<_&&n>=-_?(u.value=hn.AREA_1,r=-n):n<-_&&n>=-(h+_)?(u.value=hn.AREA_2,r=-n-h):(u.value=hn.AREA_3,r=n>0?-n+v:-n-v);else {var l,c,f,p,d,y;this.face===an?n=pn(n,+h):this.face===sn?n=pn(n,+v):this.face===un&&(n=pn(n,-h)),p=Math.sin(e),d=Math.cos(e),y=Math.sin(n),l=d*Math.cos(n),c=d*y,f=p,this.face===on?r=fn(i=Math.acos(l),f,c,u):this.face===an?r=fn(i=Math.acos(c),f,-l,u):this.face===sn?r=fn(i=Math.acos(-l),f,-c,u):this.face===un?r=fn(i=Math.acos(-c),f,l,u):(i=r=0,u.value=hn.AREA_0);}return a=Math.atan(12/v*(r+Math.acos(Math.sin(r)*Math.cos(_))-h)),o=Math.sqrt((1-Math.cos(i))/(Math.cos(a)*Math.cos(a))/(1-Math.cos(Math.atan(1/Math.cos(r))))),u.value===hn.AREA_1?a+=h:u.value===hn.AREA_2?a+=v:u.value===hn.AREA_3&&(a+=1.5*v),s.x=o*Math.cos(a),s.y=o*Math.sin(a),s.x=s.x*this.a+this.x0,s.y=s.y*this.a+this.y0,t.x=s.x,t.y=s.y,t},inverse:function(t){var e,n,r,i,o,a,s,u,l,c,f,p,d={lam:0,phi:0},y={value:0};if(t.x=(t.x-this.x0)/this.a,t.y=(t.y-this.y0)/this.a,n=Math.atan(Math.sqrt(t.x*t.x+t.y*t.y)),e=Math.atan2(t.y,t.x),t.x>=0&&t.x>=Math.abs(t.y)?y.value=hn.AREA_0:t.y>=0&&t.y>=Math.abs(t.x)?(y.value=hn.AREA_1,e-=h):t.x<0&&-t.x>=Math.abs(t.y)?(y.value=hn.AREA_2,e=e<0?e+v:e-v):(y.value=hn.AREA_3,e+=h),l=v/12*Math.tan(e),o=Math.sin(l)/(Math.cos(l)-1/Math.sqrt(2)),a=Math.atan(o),(s=1-(r=Math.cos(e))*r*(i=Math.tan(n))*i*(1-Math.cos(Math.atan(1/Math.cos(a)))))<-1?s=-1:s>1&&(s=1),this.face===ln)u=Math.acos(s),d.phi=h-u,y.value===hn.AREA_0?d.lam=a+h:y.value===hn.AREA_1?d.lam=a<0?a+v:a-v:y.value===hn.AREA_2?d.lam=a-h:d.lam=a;else if(this.face===cn)u=Math.acos(s),d.phi=u-h,y.value===hn.AREA_0?d.lam=-a+h:y.value===hn.AREA_1?d.lam=-a:y.value===hn.AREA_2?d.lam=-a-h:d.lam=a<0?-a-v:-a+v;else {var m,g,_;l=(m=s)*m,g=(l+=(_=l>=1?0:Math.sqrt(1-l)*Math.sin(a))*_)>=1?0:Math.sqrt(1-l),y.value===hn.AREA_1?(l=g,g=-_,_=l):y.value===hn.AREA_2?(g=-g,_=-_):y.value===hn.AREA_3&&(l=g,g=_,_=-l),this.face===an?(l=m,m=-g,g=l):this.face===sn?(m=-m,g=-g):this.face===un&&(l=m,m=g,g=-l),d.phi=Math.acos(-_)-h,d.lam=Math.atan2(g,m),this.face===an?d.lam=pn(d.lam,-h):this.face===sn?d.lam=pn(d.lam,-v):this.face===un&&(d.lam=pn(d.lam,+h));}return 0!==this.es&&(c=d.phi<0?1:0,f=Math.tan(d.phi),p=this.b/Math.sqrt(f*f+this.one_minus_f_squared),d.phi=Math.atan(Math.sqrt(this.a*this.a-p*p)/(this.one_minus_f*p)),c&&(d.phi=-d.phi)),d.lam+=this.long0,t.x=d.lam,t.y=d.phi,t},names:["Quadrilateralized Spherical Cube","Quadrilateralized_Spherical_Cube","qsc"]};var yn=[[1,22199e-21,-715515e-10,31103e-10],[.9986,-482243e-9,-24897e-9,-13309e-10],[.9954,-83103e-8,-448605e-10,-9.86701e-7],[.99,-.00135364,-59661e-9,36777e-10],[.9822,-.00167442,-449547e-11,-572411e-11],[.973,-.00214868,-903571e-10,1.8736e-8],[.96,-.00305085,-900761e-10,164917e-11],[.9427,-.00382792,-653386e-10,-26154e-10],[.9216,-.00467746,-10457e-8,481243e-11],[.8962,-.00536223,-323831e-10,-543432e-11],[.8679,-.00609363,-113898e-9,332484e-11],[.835,-.00698325,-640253e-10,9.34959e-7],[.7986,-.00755338,-500009e-10,9.35324e-7],[.7597,-.00798324,-35971e-9,-227626e-11],[.7186,-.00851367,-701149e-10,-86303e-10],[.6732,-.00986209,-199569e-9,191974e-10],[.6213,-.010418,883923e-10,624051e-11],[.5722,-.00906601,182e-6,624051e-11],[.5322,-.00677797,275608e-9,624051e-11]],mn=[[-520417e-23,.0124,121431e-23,-845284e-16],[.062,.0124,-1.26793e-9,4.22642e-10],[.124,.0124,5.07171e-9,-1.60604e-9],[.186,.0123999,-1.90189e-8,6.00152e-9],[.248,.0124002,7.10039e-8,-2.24e-8],[.31,.0123992,-2.64997e-7,8.35986e-8],[.372,.0124029,9.88983e-7,-3.11994e-7],[.434,.0123893,-369093e-11,-4.35621e-7],[.4958,.0123198,-102252e-10,-3.45523e-7],[.5571,.0121916,-154081e-10,-5.82288e-7],[.6176,.0119938,-241424e-10,-5.25327e-7],[.6769,.011713,-320223e-10,-5.16405e-7],[.7346,.0113541,-397684e-10,-6.09052e-7],[.7903,.0109107,-489042e-10,-104739e-11],[.8435,.0103431,-64615e-9,-1.40374e-9],[.8936,.00969686,-64636e-9,-8547e-9],[.9394,.00840947,-192841e-9,-42106e-10],[.9761,.00616527,-256e-6,-42106e-10],[1,.00328947,-319159e-9,-42106e-10]],gn=.8487,_n=1.3523,bn=g/5,vn=1/bn,Tn=18,En=function(t,e){return t[0]+e*(t[1]+e*(t[2]+e*t[3]))};const wn={init:function(){this.x0=this.x0||0,this.y0=this.y0||0,this.long0=this.long0||0,this.es=0,this.title=this.title||"Robinson";},forward:function(t){var e=Y(t.x-this.long0),n=Math.abs(t.y),r=Math.floor(n*bn);r<0?r=0:r>=Tn&&(r=17);var i={x:En(yn[r],n=g*(n-vn*r))*e,y:En(mn[r],n)};return t.y<0&&(i.y=-i.y),i.x=i.x*this.a*gn+this.x0,i.y=i.y*this.a*_n+this.y0,i},inverse:function(t){var e={x:(t.x-this.x0)/(this.a*gn),y:Math.abs(t.y-this.y0)/(this.a*_n)};if(e.y>=1)e.x/=yn[18][0],e.y=t.y<0?-h:h;else {var n=Math.floor(e.y*Tn);for(n<0?n=0:n>=Tn&&(n=17);;)if(mn[n][0]>e.y)--n;else {if(!(mn[n+1][0]<=e.y))break;++n;}var r=mn[n],i=5*(e.y-r[0])/(mn[n+1][0]-r[0]);i=function(t,e,n,r){for(var i=e;r;--r){var o=t(i);if(i-=o,Math.abs(o)1e10)throw new Error;if(this.radius_g=1+this.radius_g_1,this.C=this.radius_g*this.radius_g-1,0!==this.es){var t=1-this.es,e=1/t;this.radius_p=Math.sqrt(t),this.radius_p2=t,this.radius_p_inv2=e,this.shape="ellipse";}else this.radius_p=1,this.radius_p2=1,this.radius_p_inv2=1,this.shape="sphere";this.title||(this.title="Geostationary Satellite View");},forward:function(t){var e,n,r,i,o=t.x,a=t.y;if(o-=this.long0,"ellipse"===this.shape){a=Math.atan(this.radius_p2*Math.tan(a));var s=this.radius_p/be(this.radius_p*Math.cos(a),Math.sin(a));if(n=s*Math.cos(o)*Math.cos(a),r=s*Math.sin(o)*Math.cos(a),i=s*Math.sin(a),(this.radius_g-n)*n-r*r-i*i*this.radius_p_inv2<0)return t.x=Number.NaN,t.y=Number.NaN,t;e=this.radius_g-n,this.flip_axis?(t.x=this.radius_g_1*Math.atan(r/be(i,e)),t.y=this.radius_g_1*Math.atan(i/e)):(t.x=this.radius_g_1*Math.atan(r/e),t.y=this.radius_g_1*Math.atan(i/be(r,e)));}else "sphere"===this.shape&&(e=Math.cos(a),n=Math.cos(o)*e,r=Math.sin(o)*e,i=Math.sin(a),e=this.radius_g-n,this.flip_axis?(t.x=this.radius_g_1*Math.atan(r/be(i,e)),t.y=this.radius_g_1*Math.atan(i/e)):(t.x=this.radius_g_1*Math.atan(r/e),t.y=this.radius_g_1*Math.atan(i/be(r,e))));return t.x=t.x*this.a,t.y=t.y*this.a,t},inverse:function(t){var e,n,r,i,o=-1,a=0,s=0;if(t.x=t.x/this.a,t.y=t.y/this.a,"ellipse"===this.shape){this.flip_axis?(s=Math.tan(t.y/this.radius_g_1),a=Math.tan(t.x/this.radius_g_1)*be(1,s)):(a=Math.tan(t.x/this.radius_g_1),s=Math.tan(t.y/this.radius_g_1)*be(1,a));var u=s/this.radius_p;if(e=a*a+u*u+o*o,(r=(n=2*this.radius_g*o)*n-4*e*this.C)<0)return t.x=Number.NaN,t.y=Number.NaN,t;i=(-n-Math.sqrt(r))/(2*e),o=this.radius_g+i*o,a*=i,s*=i,t.x=Math.atan2(a,o),t.y=Math.atan(s*Math.cos(t.x)/o),t.y=Math.atan(this.radius_p_inv2*Math.tan(t.y));}else if("sphere"===this.shape){if(this.flip_axis?(s=Math.tan(t.y/this.radius_g_1),a=Math.tan(t.x/this.radius_g_1)*Math.sqrt(1+s*s)):(a=Math.tan(t.x/this.radius_g_1),s=Math.tan(t.y/this.radius_g_1)*Math.sqrt(1+a*a)),e=a*a+s*s+o*o,(r=(n=2*this.radius_g*o)*n-4*e*this.C)<0)return t.x=Number.NaN,t.y=Number.NaN,t;i=(-n-Math.sqrt(r))/(2*e),o=this.radius_g+i*o,a*=i,s*=i,t.x=Math.atan2(a,o),t.y=Math.atan(s*Math.cos(t.x)/o);}return t.x=t.x+this.long0,t},names:["Geostationary Satellite View","Geostationary_Satellite","geos"]};var Pn;Lt.defaultDatum="WGS84",Lt.Proj=bt,Lt.WGS84=new Lt.Proj("WGS84"),Lt.Point=te,Lt.toPoint=Nt,Lt.defs=G,Lt.nadgrid=function(t,e){var n=new DataView(e),r=function(t){var e=t.getInt32(8,!1);return 11!==e&&(11!==(e=t.getInt32(8,!0))&&ct.warn("Failed to detect nadgrid endian-ness, defaulting to little-endian"),!0)}(n),i=function(t,e){return {nFields:t.getInt32(8,e),nSubgridFields:t.getInt32(24,e),nSubgrids:t.getInt32(40,e),shiftType:dt(t,56,64).trim(),fromSemiMajorAxis:t.getFloat64(120,e),fromSemiMinorAxis:t.getFloat64(136,e),toSemiMajorAxis:t.getFloat64(152,e),toSemiMinorAxis:t.getFloat64(168,e)}}(n,r);i.nSubgrids>1&&ct.log("Only single NTv2 subgrids are currently supported, subsequent sub grids are ignored");var o=function(t,e,n){for(var r=[],i=0;i{"use strict";function e(t,e){return Object.prototype.hasOwnProperty.call(t,e)}t.exports=function(t,n,r,i){n=n||"&",r=r||"=";var o={};if("string"!=typeof t||0===t.length)return o;var a=/\+/g;t=t.split(n);var s=1e3;i&&"number"==typeof i.maxKeys&&(s=i.maxKeys);var u=t.length;s>0&&u>s&&(u=s);for(var l=0;l=0?(c=d.substr(0,y),h=d.substr(y+1)):(c=d,h=""),f=decodeURIComponent(c),p=decodeURIComponent(h),e(o,f)?Array.isArray(o[f])?o[f].push(p):o[f]=[o[f],p]:o[f]=p;}return o};},2361:t=>{"use strict";var e=function(t){switch(typeof t){case "string":return t;case "boolean":return t?"true":"false";case "number":return isFinite(t)?t:"";default:return ""}};t.exports=function(t,n,r,i){return n=n||"&",r=r||"=",null===t&&(t=void 0),"object"==typeof t?Object.keys(t).map((function(i){var o=encodeURIComponent(e(i))+r;return Array.isArray(t[i])?t[i].map((function(t){return o+encodeURIComponent(e(t))})).join(n):o+encodeURIComponent(e(t[i]))})).join(n):i?encodeURIComponent(e(i))+r+encodeURIComponent(e(t)):""};},7673:(t,e,n)=>{"use strict";e.decode=e.parse=n(2587),e.encode=e.stringify=n(2361);},9189:(t,e,n)=>{var r=n(5717),i=n(7187).EventEmitter;function o(t){if(!(this instanceof o))return new o(t);i.call(this),t=t||{},this.concurrency=t.concurrency||1/0,this.timeout=t.timeout||0,this.autostart=t.autostart||!1,this.results=t.results||null,this.pending=0,this.session=0,this.running=!1,this.jobs=[],this.timers={};}function a(){for(var t in this.timers){var e=this.timers[t];delete this.timers[t],clearTimeout(e);}}function s(t){var e=this;function n(t){e.end(t);}this.on("error",n),this.on("end",(function r(i){e.removeListener("error",n),e.removeListener("end",r),t(i,this.results);}));}function u(t){this.session++,this.running=!1,this.emit("end",t);}t.exports=o,t.exports.default=o,r(o,i),["pop","shift","indexOf","lastIndexOf"].forEach((function(t){o.prototype[t]=function(){return Array.prototype[t].apply(this.jobs,arguments)};})),o.prototype.slice=function(t,e){return this.jobs=this.jobs.slice(t,e),this},o.prototype.reverse=function(){return this.jobs.reverse(),this},["push","unshift","splice"].forEach((function(t){o.prototype[t]=function(){var e=Array.prototype[t].apply(this.jobs,arguments);return this.autostart&&this.start(),e};})),Object.defineProperty(o.prototype,"length",{get:function(){return this.pending+this.jobs.length}}),o.prototype.start=function(t){if(t&&s.call(this,t),this.running=!0,!(this.pending>=this.concurrency))if(0!==this.jobs.length){var e=this,n=this.jobs.shift(),r=!0,i=this.session,o=null,a=!1,l=null,c=n.timeout||this.timeout;c&&(o=setTimeout((function(){a=!0,e.listeners("timeout").length>0?e.emit("timeout",f,n):f();}),c),this.timers[o]=o),this.results&&(l=this.results.length,this.results[l]=null),this.pending++,e.emit("start",n);var h=n(f);h&&h.then&&"function"==typeof h.then&&h.then((function(t){return f(null,t)})).catch((function(t){return f(t||!0)})),this.running&&this.jobs.length>0&&this.start();}else 0===this.pending&&u.call(this);function f(t,s){r&&e.session===i&&(r=!1,e.pending--,null!==o&&(delete e.timers[o],clearTimeout(o)),t?e.emit("error",t,n):!1===a&&(null!==l&&(e.results[l]=Array.prototype.slice.call(arguments,1)),e.emit("success",s,n)),e.session===i&&(0===e.pending&&0===e.jobs.length?u.call(e):e.running&&e.start()));}},o.prototype.stop=function(){this.running=!1;},o.prototype.end=function(t){a.call(this),this.jobs.length=0,this.pending=0,u.call(this,t);};},2582:function(t){t.exports=function(){"use strict";function t(t,r,i,o,a){!function t(n,r,i,o,a){for(;o>i;){if(o-i>600){var s=o-i+1,u=r-i+1,l=Math.log(s),c=.5*Math.exp(2*l/3),h=.5*Math.sqrt(l*c*(s-c)/s)*(u-s/2<0?-1:1);t(n,r,Math.max(i,Math.floor(r-u*c/s+h)),Math.min(o,Math.floor(r+(s-u)*c/s+h)),a);}var f=n[r],p=i,d=o;for(e(n,i,r),a(n[o],f)>0&&e(n,i,o);p0;)d--;}0===a(n[i],f)?e(n,i,d):e(n,++d,o),d<=r&&(i=d+1),r<=d&&(o=d-1);}}(t,r,i||0,o||t.length-1,a||n);}function e(t,e,n){var r=t[e];t[e]=t[n],t[n]=r;}function n(t,e){return te?1:0}var r=function(t){void 0===t&&(t=9),this._maxEntries=Math.max(4,t),this._minEntries=Math.max(2,Math.ceil(.4*this._maxEntries)),this.clear();};function i(t,e,n){if(!n)return e.indexOf(t);for(var r=0;r=t.minX&&e.maxY>=t.minY}function d(t){return {children:t,height:1,leaf:!0,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0}}function y(e,n,r,i,o){for(var a=[n,r];a.length;)if(!((r=a.pop())-(n=a.pop())<=i)){var s=n+Math.ceil((r-n)/i/2)*i;t(e,s,n,r,o),a.push(n,s,s,r);}}return r.prototype.all=function(){return this._all(this.data,[])},r.prototype.search=function(t){var e=this.data,n=[];if(!p(t,e))return n;for(var r=this.toBBox,i=[];e;){for(var o=0;o=0&&i[e].children.length>this._maxEntries;)this._split(i,e),e--;this._adjustParentBBoxes(r,i,e);},r.prototype._split=function(t,e){var n=t[e],r=n.children.length,i=this._minEntries;this._chooseSplitAxis(n,i,r);var a=this._chooseSplitIndex(n,i,r),s=d(n.children.splice(a,n.children.length-a));s.height=n.height,s.leaf=n.leaf,o(n,this.toBBox),o(s,this.toBBox),e?t[e-1].children.push(s):this._splitRoot(n,s);},r.prototype._splitRoot=function(t,e){this.data=d([t,e]),this.data.height=t.height+1,this.data.leaf=!1,o(this.data,this.toBBox);},r.prototype._chooseSplitIndex=function(t,e,n){for(var r,i,o,s,u,l,h,f=1/0,p=1/0,d=e;d<=n-e;d++){var y=a(t,0,d,this.toBBox),m=a(t,d,n,this.toBBox),g=(i=y,o=m,void 0,void 0,void 0,void 0,s=Math.max(i.minX,o.minX),u=Math.max(i.minY,o.minY),l=Math.min(i.maxX,o.maxX),h=Math.min(i.maxY,o.maxY),Math.max(0,l-s)*Math.max(0,h-u)),_=c(y)+c(m);g=e;p--){var d=t.children[p];s(u,t.leaf?i(d):d),l+=h(u);}return l},r.prototype._adjustParentBBoxes=function(t,e,n){for(var r=n;r>=0;r--)s(e[r],t);},r.prototype._condense=function(t){for(var e=t.length-1,n=void 0;e>=0;e--)0===t[e].children.length?e>0?(n=t[e-1].children).splice(n.indexOf(t[e]),1):this.clear():o(t[e],this.toBBox);},r}();},6102:(t,e,n)=>{"use strict";var r=n(4472).hasOwnProperty("default")?n(4472).default:n(4472);function i(t,e){return (n=t).length>=2&&"number"==typeof n[0]&&"number"==typeof n[1]?e(t):t.map((function(t){return i(t,e)}));var n;}function o(t,e,n){if(null==n)return n;var r=function(t){if(null==t||"object"!=typeof t)return t;var e=t.constructor();for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);return e}(n),i=o.bind(this,t,e);switch(n.type){case "Feature":r.geometry=i(n.geometry);break;case "FeatureCollection":r.features=r.features.map(i);break;case "GeometryCollection":r.geometries=r.geometries.map(i);break;default:t(r);}return e&&e(r),r}function a(t,e){var n,r=t.crs;if(void 0===r)throw new Error('Unable to detect CRS, GeoJSON has no "crs" property.');if("name"===r.type?n=e[r.properties.name]:"EPSG"===r.type&&(n=e["EPSG:"+r.properties.code]),!n)throw new Error("CRS defined in crs section could not be identified: "+JSON.stringify(r));return n}function s(t,e){return "string"==typeof t||t instanceof String?e[t]||r.Proj(t):t}function u(t,e,n,u){u=u||{},e=e?s(e,u):a(t,u),n=s(n,u);var l=r(e,n).forward.bind(l);function c(t){var e=l(t);return 3===t.length&&void 0!==t[2]&&void 0===e[2]&&(e[2]=t[2]),e}return o((function(t){t.crs&&delete t.crs,t.coordinates=i(t.coordinates,c);}),(function(t){t.bbox&&(t.bbox=function(t){var e=[Number.MAX_VALUE,Number.MAX_VALUE],n=[-Number.MAX_VALUE,-Number.MAX_VALUE];return o((function(t){i(t.coordinates,(function(t){e[0]=Math.min(e[0],t[0]),e[1]=Math.min(e[1],t[1]),n[0]=Math.max(n[0],t[0]),n[1]=Math.max(n[1],t[1]);}));}),null,t),[e[0],e[1],n[0],n[1]]}(t));}),t)}t.exports={detectCrs:a,reproject:u,reverse:function(t){return o((function(t){t.coordinates=i(t.coordinates,(function(t){return [t[1],t[0]]}));}),null,t)},toWgs84:function(t,e,n){return u(t,e,r.WGS84,n)}};},3686:function(t,e){var n=void 0,r=function(e){return n||(n=new Promise((function(n,r){var i,o=void 0!==e?e:{},a=o.onAbort;o.onAbort=function(t){r(new Error(t)),a&&a(t);},o.postRun=o.postRun||[],o.postRun.push((function(){n(o);})),t=void 0,i||(i=void 0!==o?o:{}),i.onRuntimeInitialized=function(){function t(t,e){this.Ka=t,this.db=e,this.Ia=1,this.cb=[];}function e(t,e){if(this.db=e,e=q(t)+1,this.Xa=Ce(e),null===this.Xa)throw Error("Unable to allocate memory for the SQL string");W(t,L,this.Xa,e),this.bb=this.Xa,this.Ta=this.hb=null;}function n(t){if(this.filename="dbfile_"+(4294967295*Math.random()>>>0),null!=t){var e=this.filename,n="/",i=e;if(n&&(n="string"==typeof n?n:Pt(n),i=e?lt(n+"/"+e):n),e=le(!0,!0),i=zt(i,4095&(void 0!==e?e:438)|32768,0),t){if("string"==typeof t){n=Array(t.length);for(var o=0,s=t.length;on;++n)i.parameters.push(r["viii"[n]]);n=new WebAssembly.Function(i,t);}else {for(i={i:127,j:126,f:125,d:124},(r=[1,0,1,96]).push(3),n=0;3>n;++n)r.push(i["iii"[n]]);r.push(0),r[1]=r.length-2,n=new Uint8Array([0,97,115,109,1,0,0,0].concat(r,[2,7,1,1,101,1,102,0,0,7,5,1,1,102,0,0])),n=new WebAssembly.Module(n),n=new WebAssembly.Instance(n,{e:{f:t}}).exports.f;}V.set(e,n);}return T.set(t,e),e}((function(t,n,r){for(var i,o=[],a=0;a{h||(c=require$$2,h=require$$1);},s=function(t,e){return f(),t=h.normalize(t),c.readFileSync(t,e?void 0:"utf8")},l=t=>((t=s(t,!0)).buffer||(t=new Uint8Array(t)),t),u=(t,e,n)=>{f(),t=h.normalize(t),c.readFile(t,(function(t,r){t?n(t):e(r.buffer);}));},1{var e=new XMLHttpRequest;return e.open("GET",t,!1),e.send(null),e.responseText},m&&(l=t=>{var e=new XMLHttpRequest;return e.open("GET",t,!1),e.responseType="arraybuffer",e.send(null),new Uint8Array(e.response)}),u=(t,e,n)=>{var r=new XMLHttpRequest;r.open("GET",t,!0),r.responseType="arraybuffer",r.onload=()=>{200==r.status||0==r.status&&r.response?e(r.response):n();},r.onerror=n,r.send(null);});var b=i.print||console.log.bind(console),v=i.printErr||console.warn.bind(console);Object.assign(i,p),p=null,i.thisProgram&&(d=i.thisProgram);var T,E,w=[];function x(t){T.delete(V.get(t)),w.push(t);}function C(t){var e="i32";switch("*"===e.charAt(e.length-1)&&(e="i32"),e){case "i1":case "i8":R[t>>0]=0;break;case "i16":D[t>>1]=0;break;case "i32":k[t>>2]=0;break;case "i64":$=[0,(J=0,1<=+Math.abs(J)?0>>0:~~+Math.ceil((J-+(~~J>>>0))/4294967296)>>>0:0)],k[t>>2]=$[0],k[t+4>>2]=$[1];break;case "float":F[t>>2]=0;break;case "double":U[t>>3]=0;break;default:rt("invalid type for setValue: "+e);}}function M(t,e="i8"){switch("*"===e.charAt(e.length-1)&&(e="i32"),e){case "i1":case "i8":return R[t>>0];case "i16":return D[t>>1];case "i32":case "i64":return k[t>>2];case "float":return F[t>>2];case "double":return Number(U[t>>3]);default:rt("invalid type for getValue: "+e);}return null}i.wasmBinary&&(E=i.wasmBinary),i.noExitRuntime,"object"!=typeof WebAssembly&&rt("no native wasm support detected");var S,N=!1,O=0,A=1;function I(t){var e=O==A?Ie(t.length):Ce(t.length);return t.subarray||t.slice||(t=new Uint8Array(t)),L.set(t,e),e}var P,R,L,D,k,F,U,B="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0;function j(t,e,n){var r=e+n;for(n=e;t[n]&&!(n>=r);)++n;if(16(i=224==(240&i)?(15&i)<<12|o<<6|a:(7&i)<<18|o<<12|a<<6|63&t[e++])?r+=String.fromCharCode(i):(i-=65536,r+=String.fromCharCode(55296|i>>10,56320|1023&i));}}else r+=String.fromCharCode(i);}return r}function G(t,e){return t?j(L,t,e):""}function W(t,e,n,r){if(!(0=a&&(a=65536+((1023&a)<<10)|1023&t.charCodeAt(++o)),127>=a){if(n>=r)break;e[n++]=a;}else {if(2047>=a){if(n+1>=r)break;e[n++]=192|a>>6;}else {if(65535>=a){if(n+2>=r)break;e[n++]=224|a>>12;}else {if(n+3>=r)break;e[n++]=240|a>>18,e[n++]=128|a>>12&63;}e[n++]=128|a>>6&63;}e[n++]=128|63&a;}}return e[n]=0,n-i}function q(t){for(var e=0,n=0;n=r&&(r=65536+((1023&r)<<10)|1023&t.charCodeAt(++n)),127>=r?++e:e=2047>=r?e+2:65535>=r?e+3:e+4;}return e}function H(t){var e=q(t)+1,n=Ce(e);return n&&W(t,R,n,e),n}function z(){var t=S.buffer;P=t,i.HEAP8=R=new Int8Array(t),i.HEAP16=D=new Int16Array(t),i.HEAP32=k=new Int32Array(t),i.HEAPU8=L=new Uint8Array(t),i.HEAPU16=new Uint16Array(t),i.HEAPU32=new Uint32Array(t),i.HEAPF32=F=new Float32Array(t),i.HEAPF64=U=new Float64Array(t);}var V,X=[],Y=[],Z=[];function Q(){var t=i.preRun.shift();X.unshift(t);}var K,J,$,tt=0,et=null,nt=null;function rt(t){throw i.onAbort&&i.onAbort(t),v(t="Aborted("+t+")"),N=!0,new WebAssembly.RuntimeError(t+". Build with -s ASSERTIONS=1 for more info.")}function it(){return K.startsWith("data:application/octet-stream;base64,")}if(i.preloadedImages={},i.preloadedAudios={},K="sql-wasm.wasm",!it()){var ot=K;K=i.locateFile?i.locateFile(ot,_):_+ot;}function at(){var t=K;try{if(t==K&&E)return new Uint8Array(E);if(l)return l(t);throw "both async and sync fetching of the wasm failed"}catch(t){rt(t);}}function st(t){for(;0=e||(e=Math.max(e,n*(1048576>n?2:1.125)>>>0),0!=n&&(e=Math.max(e,256)),n=t.Ha,t.Ha=new Uint8Array(e),0=t.node.La)return 0;if(8<(t=Math.min(t.node.La-i,r))&&o.subarray)e.set(o.subarray(i,i+t),n);else for(r=0;re)throw new Ot(28);return e},kb:function(t,e,n){Et.pb(t.node,e+n),t.node.La=Math.max(t.node.La,e+n);},$a:function(t,e,n,r,i,o){if(0!==e)throw new Ot(28);if(32768!=(61440&t.node.mode))throw new Ot(43);if(t=t.node.Ha,2&o||t.buffer!==P){if((0{if(!(t=ft("/",t)))return {path:"",node:null};if(8<(e=Object.assign({qb:!0,jb:0},e)).jb)throw new Ot(32);t=ut(t.split("/").filter((t=>!!t)),!1);for(var n=wt,r="/",i=0;i{for(var e;;){if(t===t.parent)return t=t.Pa.tb,e?"/"!==t[t.length-1]?t+"/"+e:t+e:t;e=e?t.name+"/"+e:t.name,t=t.parent;}},Rt=(t,e)=>{for(var n=0,r=0;r>>0)%St.length},Lt=t=>{var e=Rt(t.parent.id,t.name);if(St[e]===t)St[e]=t.Va;else for(e=St[e];e;){if(e.Va===t){e.Va=t.Va;break}e=e.Va;}},Dt=(t,e)=>{var n;if(n=(n=Bt(t,"x"))?n:t.Fa.lookup?0:2)throw new Ot(n,t);for(n=St[Rt(t.id,e)];n;n=n.Va){var r=n.name;if(n.parent.id===t.id&&r===e)return n}return t.Fa.lookup(t,e)},kt=(t,e,n,r)=>(t=new Te(t,e,n,r),e=Rt(t.parent.id,t.name),t.Va=St[e],St[e]=t),Ft={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090},Ut=t=>{var e=["r","w","rw"][3&t];return 512&t&&(e+="w"),e},Bt=(t,e)=>Nt?0:!e.includes("r")||292&t.mode?e.includes("w")&&!(146&t.mode)||e.includes("x")&&!(73&t.mode)?2:0:2,jt=(t,e)=>{try{return Dt(t,e),20}catch(t){}return Bt(t,"wx")},Gt=(t,e,n)=>{try{var r=Dt(t,e);}catch(t){return t.Ja}if(t=Bt(t,"wx"))return t;if(n){if(16384!=(61440&r.mode))return 54;if(r===r.parent||"/"===Pt(r))return 10}else if(16384==(61440&r.mode))return 31;return 0},Wt={open:t=>{t.Ga=xt[t.node.rdev].Ga,t.Ga.open&&t.Ga.open(t);},Sa:()=>{throw new Ot(70)}},qt=(t,e)=>{xt[t]={Ga:e};},Ht=(t,e)=>{var n="/"===e,r=!e;if(n&&wt)throw new Ot(10);if(!n&&!r){var i=It(e,{qb:!1});if(e=i.path,(i=i.node).Ua)throw new Ot(10);if(16384!=(61440&i.mode))throw new Ot(54)}e={type:t,Kb:{},tb:e,Db:[]},(t=t.Pa(e)).Pa=e,e.root=t,n?wt=t:i&&(i.Ua=e,i.Pa&&i.Pa.Db.push(e));},zt=(t,e,n)=>{var r=It(t,{parent:!0}).node;if(!(t=ht(t))||"."===t||".."===t)throw new Ot(28);var i=jt(r,t);if(i)throw new Ot(i);if(!r.Fa.Za)throw new Ot(63);return r.Fa.Za(r,t,e,n)},Vt=(t,e)=>zt(t,1023&(void 0!==e?e:511)|16384,0),Xt=(t,e,n)=>{void 0===n&&(n=e,e=438),zt(t,8192|e,n);},Yt=(t,e)=>{if(!ft(t))throw new Ot(44);var n=It(e,{parent:!0}).node;if(!n)throw new Ot(44);e=ht(e);var r=jt(n,e);if(r)throw new Ot(r);if(!n.Fa.symlink)throw new Ot(63);n.Fa.symlink(n,e,t);},Zt=t=>{var e=It(t,{parent:!0}).node;t=ht(t);var n=Dt(e,t),r=Gt(e,t,!0);if(r)throw new Ot(r);if(!e.Fa.rmdir)throw new Ot(63);if(n.Ua)throw new Ot(10);e.Fa.rmdir(e,t),Lt(n);},Qt=t=>{var e=It(t,{parent:!0}).node;if(!e)throw new Ot(44);t=ht(t);var n=Dt(e,t),r=Gt(e,t,!1);if(r)throw new Ot(r);if(!e.Fa.unlink)throw new Ot(63);if(n.Ua)throw new Ot(10);e.Fa.unlink(e,t),Lt(n);},Kt=t=>{if(!(t=It(t).node))throw new Ot(44);if(!t.Fa.readlink)throw new Ot(28);return ft(Pt(t.parent),t.Fa.readlink(t))},Jt=(t,e)=>{if(!(t=It(t,{Ra:!e}).node))throw new Ot(44);if(!t.Fa.Na)throw new Ot(63);return t.Fa.Na(t)},$t=t=>Jt(t,!0),te=(t,e)=>{if(!(t="string"==typeof t?It(t,{Ra:!0}).node:t).Fa.Ma)throw new Ot(63);t.Fa.Ma(t,{mode:4095&e|-4096&t.mode,timestamp:Date.now()});},ee=(t,e)=>{if(0>e)throw new Ot(28);if(!(t="string"==typeof t?It(t,{Ra:!0}).node:t).Fa.Ma)throw new Ot(63);if(16384==(61440&t.mode))throw new Ot(31);if(32768!=(61440&t.mode))throw new Ot(28);var n=Bt(t,"w");if(n)throw new Ot(n);t.Fa.Ma(t,{size:e,timestamp:Date.now()});},ne=(t,e,n,r)=>{if(""===t)throw new Ot(44);if("string"==typeof e){var o=Ft[e];if(void 0===o)throw Error("Unknown file open mode: "+e);e=o;}if(n=64&e?4095&(void 0===n?438:n)|32768:0,"object"==typeof t)var a=t;else {t=lt(t);try{a=It(t,{Ra:!(131072&e)}).node;}catch(t){}}if(o=!1,64&e)if(a){if(128&e)throw new Ot(20)}else a=zt(t,n,0),o=!0;if(!a)throw new Ot(44);if(8192==(61440&a.mode)&&(e&=-513),65536&e&&16384!=(61440&a.mode))throw new Ot(54);if(!o&&(n=a?40960==(61440&a.mode)?32:16384==(61440&a.mode)&&("r"!==Ut(e)||512&e)?31:Bt(a,Ut(e)):44))throw new Ot(n);return 512&e&&ee(a,0),e&=-131713,(r=((t,e)=>(gt||((gt=function(){}).prototype={}),t=Object.assign(new gt,t),e=((t=0,e=4096)=>{for(;t<=e;t++)if(!Ct[t])return t;throw new Ot(33)})(e,void 0),t.fd=e,Ct[e]=t))({node:a,path:Pt(a),flags:e,seekable:!0,position:0,Ga:a.Ga,Hb:[],error:!1},r)).Ga.open&&r.Ga.open(r),!i.logReadFiles||1&e||(_t||(_t={}),t in _t||(_t[t]=1)),r},re=t=>{if(null===t.fd)throw new Ot(8);t.gb&&(t.gb=null);try{t.Ga.close&&t.Ga.close(t);}catch(t){throw t}finally{Ct[t.fd]=null;}t.fd=null;},ie=(t,e,n)=>{if(null===t.fd)throw new Ot(8);if(!t.seekable||!t.Ga.Sa)throw new Ot(70);if(0!=n&&1!=n&&2!=n)throw new Ot(28);t.position=t.Ga.Sa(t,e,n),t.Hb=[];},oe=(t,e,n,r,i)=>{if(0>r||0>i)throw new Ot(28);if(null===t.fd)throw new Ot(8);if(1==(2097155&t.flags))throw new Ot(8);if(16384==(61440&t.node.mode))throw new Ot(31);if(!t.Ga.read)throw new Ot(28);var o=void 0!==i;if(o){if(!t.seekable)throw new Ot(70)}else i=t.position;return e=t.Ga.read(t,e,n,r,i),o||(t.position+=e),e},ae=(t,e,n,r,i,o)=>{if(0>r||0>i)throw new Ot(28);if(null===t.fd)throw new Ot(8);if(0==(2097155&t.flags))throw new Ot(8);if(16384==(61440&t.node.mode))throw new Ot(31);if(!t.Ga.write)throw new Ot(28);t.seekable&&1024&t.flags&&ie(t,0,2);var a=void 0!==i;if(a){if(!t.seekable)throw new Ot(70)}else i=t.position;return e=t.Ga.write(t,e,n,r,i,o),a||(t.position+=e),e},se=t=>{var e,n=ne(t,n||0);t=Jt(t).size;var r=new Uint8Array(t);return oe(n,r,0,t,0),e=r,re(n),e},ue=()=>{Ot||((Ot=function(t,e){this.node=e,this.Gb=function(t){this.Ja=t;},this.Gb(t),this.message="FS error";}).prototype=Error(),Ot.prototype.constructor=Ot,[44].forEach((t=>{At[t]=new Ot(t),At[t].stack="";})));},le=(t,e)=>{var n=0;return t&&(n|=365),e&&(n|=146),n},ce=(t,e,n)=>{t=lt("/dev/"+t);var r=le(!!e,!!n);mt||(mt=64);var i=mt++<<8|0;qt(i,{open:t=>{t.seekable=!1;},close:()=>{n&&n.buffer&&n.buffer.length&&n(10);},read:(t,n,r,i)=>{for(var o=0,a=0;a{for(var o=0;o>2]=r.dev,k[n+4>>2]=0,k[n+8>>2]=r.ino,k[n+12>>2]=r.mode,k[n+16>>2]=r.nlink,k[n+20>>2]=r.uid,k[n+24>>2]=r.gid,k[n+28>>2]=r.rdev,k[n+32>>2]=0,$=[r.size>>>0,(J=r.size,1<=+Math.abs(J)?0>>0:~~+Math.ceil((J-+(~~J>>>0))/4294967296)>>>0:0)],k[n+40>>2]=$[0],k[n+44>>2]=$[1],k[n+48>>2]=4096,k[n+52>>2]=r.blocks,k[n+56>>2]=r.atime.getTime()/1e3|0,k[n+60>>2]=0,k[n+64>>2]=r.mtime.getTime()/1e3|0,k[n+68>>2]=0,k[n+72>>2]=r.ctime.getTime()/1e3|0,k[n+76>>2]=0,$=[r.ino>>>0,(J=r.ino,1<=+Math.abs(J)?0>>0:~~+Math.ceil((J-+(~~J>>>0))/4294967296)>>>0:0)],k[n+80>>2]=$[0],k[n+84>>2]=$[1],0}var de,ye=void 0;function me(){return k[(ye+=4)-4>>2]}function ge(t){if(!(t=Ct[t]))throw new Ot(8);return t}de=g?()=>{var t=browser$1.hrtime();return 1e3*t[0]+t[1]/1e6}:()=>performance.now();var _e,be={};function ve(){if(!_e){var t,e={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:d||"./this.program"};for(t in be)void 0===be[t]?delete e[t]:e[t]=be[t];var n=[];for(t in e)n.push(t+"="+e[t]);_e=n;}return _e}function Te(t,e,n,r){t||(t=this),this.parent=t,this.Pa=t.Pa,this.Ua=null,this.id=Mt++,this.name=e,this.mode=n,this.Fa={},this.Ga={},this.rdev=r;}function Ee(t,e){var n=Array(q(t)+1);return t=W(t,n,0,n.length),e&&(n.length=t),n}Object.defineProperties(Te.prototype,{read:{get:function(){return 365==(365&this.mode)},set:function(t){t?this.mode|=365:this.mode&=-366;}},write:{get:function(){return 146==(146&this.mode)},set:function(t){t?this.mode|=146:this.mode&=-147;}}}),ue(),St=Array(4096),Ht(Et,"/"),Vt("/tmp"),Vt("/home"),Vt("/home/web_user"),(()=>{Vt("/dev"),qt(259,{read:()=>0,write:(t,e,n,r)=>r}),Xt("/dev/null",259),dt(1280,vt),dt(1536,Tt),Xt("/dev/tty",1280),Xt("/dev/tty1",1536);var t=function(){if("object"==typeof crypto&&"function"==typeof crypto.getRandomValues){var t=new Uint8Array(1);return function(){return crypto.getRandomValues(t),t[0]}}if(g)try{var e=require$$3;return function(){return e.randomBytes(1)[0]}}catch(t){}return function(){rt("randomDevice");}}();ce("random",t),ce("urandom",t),Vt("/dev/shm"),Vt("/dev/shm/tmp");})(),(()=>{Vt("/proc");var t=Vt("/proc/self");Vt("/proc/self/fd"),Ht({Pa:()=>{var e=kt(t,"fd",16895,73);return e.Fa={lookup:(t,e)=>{var n=Ct[+e];if(!n)throw new Ot(8);return (t={parent:null,Pa:{tb:"fake"},Fa:{readlink:()=>n.path}}).parent=t}},e}},"/proc/self/fd");})();var we={a:function(t,e,n,r){rt("Assertion failed: "+G(t)+", at: "+[e?G(e):"unknown filename",n,r?G(r):"unknown function"]);},h:function(t,e){try{return t=G(t),te(t,e),0}catch(t){if(void 0===he||!(t instanceof Ot))throw t;return -t.Ja}},H:function(t,e,n){try{if(e=fe(t,e=G(e)),-8&n)var r=-28;else {var i=It(e,{Ra:!0}).node;i?(t="",4&n&&(t+="r"),2&n&&(t+="w"),1&n&&(t+="x"),r=t&&Bt(i,t)?-2:0):r=-44;}return r}catch(t){if(void 0===he||!(t instanceof Ot))throw t;return -t.Ja}},i:function(t,e){try{var n=Ct[t];if(!n)throw new Ot(8);return te(n.node,e),0}catch(t){if(void 0===he||!(t instanceof Ot))throw t;return -t.Ja}},g:function(t){try{var e=Ct[t];if(!e)throw new Ot(8);var n=e.node,r="string"==typeof n?It(n,{Ra:!0}).node:n;if(!r.Fa.Ma)throw new Ot(63);return r.Fa.Ma(r,{timestamp:Date.now()}),0}catch(t){if(void 0===he||!(t instanceof Ot))throw t;return -t.Ja}},b:function(t,e,n){ye=n;try{var r=ge(t);switch(e){case 0:var i=me();return 0>i?-28:ne(r.path,r.flags,0,i).fd;case 1:case 2:case 6:case 7:return 0;case 3:return r.flags;case 4:return i=me(),r.flags|=i,0;case 5:return i=me(),D[i+0>>1]=2,0;case 16:case 8:default:return -28;case 9:return k[xe()>>2]=28,-1}}catch(t){if(void 0===he||!(t instanceof Ot))throw t;return -t.Ja}},G:function(t,e){try{var n=ge(t);return pe(Jt,n.path,e)}catch(t){if(void 0===he||!(t instanceof Ot))throw t;return -t.Ja}},B:function(t,e){try{var n=Ct[t];if(!n)throw new Ot(8);if(0==(2097155&n.flags))throw new Ot(28);return ee(n.node,e),0}catch(t){if(void 0===he||!(t instanceof Ot))throw t;return -t.Ja}},A:function(t,e){try{return 0===e?-28:e=r)var i=-28;else {var o=Kt(e),a=Math.min(r,q(o)),s=R[n+a];W(o,L,n,r+1),R[n+a]=s,i=a;}return i}catch(t){if(void 0===he||!(t instanceof Ot))throw t;return -t.Ja}},r:function(t){try{return t=G(t),Zt(t),0}catch(t){if(void 0===he||!(t instanceof Ot))throw t;return -t.Ja}},F:function(t,e){try{return t=G(t),pe(Jt,t,e)}catch(t){if(void 0===he||!(t instanceof Ot))throw t;return -t.Ja}},o:function(t,e,n){try{return e=fe(t,e=G(e)),0===n?Qt(e):512===n?Zt(e):rt("Invalid flags passed to unlinkat"),0}catch(t){if(void 0===he||!(t instanceof Ot))throw t;return -t.Ja}},m:function(t,e,n){try{if(e=fe(t,e=G(e),!0),n){var r=k[n>>2],i=k[n+4>>2];o=1e3*r+i/1e6,a=1e3*(r=k[(n+=8)>>2])+(i=k[n+4>>2])/1e6;}else var o=Date.now(),a=o;t=o;var s=It(e,{Ra:!0}).node;return s.Fa.Ma(s,{timestamp:Math.max(t,a)}),0}catch(t){if(void 0===he||!(t instanceof Ot))throw t;return -t.Ja}},e:function(){return Date.now()},j:function(t,e){t=new Date(1e3*k[t>>2]),k[e>>2]=t.getSeconds(),k[e+4>>2]=t.getMinutes(),k[e+8>>2]=t.getHours(),k[e+12>>2]=t.getDate(),k[e+16>>2]=t.getMonth(),k[e+20>>2]=t.getFullYear()-1900,k[e+24>>2]=t.getDay();var n=new Date(t.getFullYear(),0,1);k[e+28>>2]=(t.getTime()-n.getTime())/864e5|0,k[e+36>>2]=-60*t.getTimezoneOffset();var r=new Date(t.getFullYear(),6,1).getTimezoneOffset();n=n.getTimezoneOffset(),k[e+32>>2]=0|(r!=n&&t.getTimezoneOffset()==Math.min(n,r));},v:function(t,e,n,r,i,o,a){try{var s=Ct[i];if(!s)return -8;if(0!=(2&n)&&0==(2&r)&&2!=(2097155&s.flags))throw new Ot(2);if(1==(2097155&s.flags))throw new Ot(2);if(!s.Ga.$a)throw new Ot(43);var u=s.Ga.$a(s,t,e,o,n,r),l=u.Eb;return k[a>>2]=u.ub,l}catch(t){if(void 0===he||!(t instanceof Ot))throw t;return -t.Ja}},w:function(t,e,n,r,i,o){try{var a=Ct[i];if(a&&2&n){var s=L.slice(t,t+e);a&&a.Ga.ab&&a.Ga.ab(a,s,o,e,r);}}catch(t){if(void 0===he||!(t instanceof Ot))throw t;return -t.Ja}},n:function t(e,n,r){t.Ab||(t.Ab=!0,function(t,e,n){function r(t){return (t=t.toTimeString().match(/\(([A-Za-z ]+)\)$/))?t[1]:"GMT"}var i=(new Date).getFullYear(),o=new Date(i,0,1),a=new Date(i,6,1);i=o.getTimezoneOffset();var s=a.getTimezoneOffset();k[t>>2]=60*Math.max(i,s),k[e>>2]=Number(i!=s),t=r(o),e=r(a),t=H(t),e=H(e),s>2]=t,k[n+4>>2]=e):(k[n>>2]=e,k[n+4>>2]=t);}(e,n,r));},p:function(){return 2147483648},d:de,c:function(t){var e=L.length;if(2147483648<(t>>>=0))return !1;for(var n=1;4>=n;n*=2){var r=e*(1+.2/n);r=Math.min(r,t+100663296);var i=Math;r=Math.max(t,r),i=i.min.call(i,2147483648,r+(65536-r%65536)%65536);t:{try{S.grow(i-P.byteLength+65535>>>16),z();var o=1;break t}catch(t){}o=void 0;}if(o)return !0}return !1},y:function(t,e){var n=0;return ve().forEach((function(r,i){var o=e+n;for(i=k[t+4*i>>2]=o,o=0;o>0]=r.charCodeAt(o);R[i>>0]=0,n+=r.length+1;})),0},z:function(t,e){var n=ve();k[t>>2]=n.length;var r=0;return n.forEach((function(t){r+=t.length+1;})),k[e>>2]=r,0},f:function(t){try{var e=ge(t);return re(e),0}catch(t){if(void 0===he||!(t instanceof Ot))throw t;return t.Ja}},l:function(t,e){try{var n=ge(t);return R[e>>0]=n.tty?2:16384==(61440&n.mode)?3:40960==(61440&n.mode)?7:4,0}catch(t){if(void 0===he||!(t instanceof Ot))throw t;return t.Ja}},t:function(t,e,n,r){try{t:{for(var i=ge(t),o=t=0;o>2],s=oe(i,R,k[e+8*o>>2],a,void 0);if(0>s){var u=-1;break t}if(t+=s,s>2]=u,0}catch(t){if(void 0===he||!(t instanceof Ot))throw t;return t.Ja}},k:function(t,e,n,r,i){try{var o=ge(t);return -9007199254740992>=(t=4294967296*n+(e>>>0))||9007199254740992<=t?-61:(ie(o,t,r),$=[o.position>>>0,(J=o.position,1<=+Math.abs(J)?0>>0:~~+Math.ceil((J-+(~~J>>>0))/4294967296)>>>0:0)],k[i>>2]=$[0],k[i+4>>2]=$[1],o.gb&&0===t&&0===r&&(o.gb=null),0)}catch(t){if(void 0===he||!(t instanceof Ot))throw t;return t.Ja}},C:function(t){try{var e=ge(t);return e.Ga&&e.Ga.fsync?-e.Ga.fsync(e):0}catch(t){if(void 0===he||!(t instanceof Ot))throw t;return t.Ja}},q:function(t,e,n,r){try{t:{for(var i=ge(t),o=t=0;o>2],k[e+(8*o+4)>>2],void 0);if(0>a){var s=-1;break t}t+=a;}s=t;}return k[r>>2]=s,0}catch(t){if(void 0===he||!(t instanceof Ot))throw t;return t.Ja}}};!function(){function t(t){i.asm=t.exports,S=i.asm.I,z(),V=i.asm.za,Y.unshift(i.asm.J),tt--,i.monitorRunDependencies&&i.monitorRunDependencies(tt),0==tt&&(null!==et&&(clearInterval(et),et=null),nt&&(t=nt,nt=null,t()));}function e(e){t(e.instance);}function n(t){return function(){if(!E&&(y||m)){if("function"==typeof fetch&&!K.startsWith("file://"))return fetch(K,{credentials:"same-origin"}).then((function(t){if(!t.ok)throw "failed to load wasm binary file at '"+K+"'";return t.arrayBuffer()})).catch((function(){return at()}));if(u)return new Promise((function(t,e){u(K,(function(e){t(new Uint8Array(e));}),e);}))}return Promise.resolve().then((function(){return at()}))}().then((function(t){return WebAssembly.instantiate(t,r)})).then((function(t){return t})).then(t,(function(t){v("failed to asynchronously prepare wasm: "+t),rt(t);}))}var r={a:we};if(tt++,i.monitorRunDependencies&&i.monitorRunDependencies(tt),i.instantiateWasm)try{return i.instantiateWasm(r,t)}catch(t){return v("Module.instantiateWasm callback failed with error: "+t),!1}E||"function"!=typeof WebAssembly.instantiateStreaming||it()||K.startsWith("file://")||"function"!=typeof fetch?n(e):fetch(K,{credentials:"same-origin"}).then((function(t){return WebAssembly.instantiateStreaming(t,r).then(e,(function(t){return v("wasm streaming compile failed: "+t),v("falling back to ArrayBuffer instantiation"),n(e)}))}));}(),i.___wasm_call_ctors=function(){return (i.___wasm_call_ctors=i.asm.J).apply(null,arguments)},i._sqlite3_free=function(){return (i._sqlite3_free=i.asm.K).apply(null,arguments)},i._sqlite3_value_double=function(){return (i._sqlite3_value_double=i.asm.L).apply(null,arguments)},i._sqlite3_value_text=function(){return (i._sqlite3_value_text=i.asm.M).apply(null,arguments)};var xe=i.___errno_location=function(){return (xe=i.___errno_location=i.asm.N).apply(null,arguments)};i._sqlite3_prepare_v2=function(){return (i._sqlite3_prepare_v2=i.asm.O).apply(null,arguments)},i._sqlite3_step=function(){return (i._sqlite3_step=i.asm.P).apply(null,arguments)},i._sqlite3_finalize=function(){return (i._sqlite3_finalize=i.asm.Q).apply(null,arguments)},i._sqlite3_reset=function(){return (i._sqlite3_reset=i.asm.R).apply(null,arguments)},i._sqlite3_value_int=function(){return (i._sqlite3_value_int=i.asm.S).apply(null,arguments)},i._sqlite3_clear_bindings=function(){return (i._sqlite3_clear_bindings=i.asm.T).apply(null,arguments)},i._sqlite3_value_blob=function(){return (i._sqlite3_value_blob=i.asm.U).apply(null,arguments)},i._sqlite3_value_bytes=function(){return (i._sqlite3_value_bytes=i.asm.V).apply(null,arguments)},i._sqlite3_value_type=function(){return (i._sqlite3_value_type=i.asm.W).apply(null,arguments)},i._sqlite3_result_blob=function(){return (i._sqlite3_result_blob=i.asm.X).apply(null,arguments)},i._sqlite3_result_double=function(){return (i._sqlite3_result_double=i.asm.Y).apply(null,arguments)},i._sqlite3_result_error=function(){return (i._sqlite3_result_error=i.asm.Z).apply(null,arguments)},i._sqlite3_result_int=function(){return (i._sqlite3_result_int=i.asm._).apply(null,arguments)},i._sqlite3_result_int64=function(){return (i._sqlite3_result_int64=i.asm.$).apply(null,arguments)},i._sqlite3_result_null=function(){return (i._sqlite3_result_null=i.asm.aa).apply(null,arguments)},i._sqlite3_result_text=function(){return (i._sqlite3_result_text=i.asm.ba).apply(null,arguments)},i._sqlite3_sql=function(){return (i._sqlite3_sql=i.asm.ca).apply(null,arguments)},i._sqlite3_column_count=function(){return (i._sqlite3_column_count=i.asm.da).apply(null,arguments)},i._sqlite3_data_count=function(){return (i._sqlite3_data_count=i.asm.ea).apply(null,arguments)},i._sqlite3_column_blob=function(){return (i._sqlite3_column_blob=i.asm.fa).apply(null,arguments)},i._sqlite3_column_bytes=function(){return (i._sqlite3_column_bytes=i.asm.ga).apply(null,arguments)},i._sqlite3_column_double=function(){return (i._sqlite3_column_double=i.asm.ha).apply(null,arguments)},i._sqlite3_column_text=function(){return (i._sqlite3_column_text=i.asm.ia).apply(null,arguments)},i._sqlite3_column_type=function(){return (i._sqlite3_column_type=i.asm.ja).apply(null,arguments)},i._sqlite3_column_name=function(){return (i._sqlite3_column_name=i.asm.ka).apply(null,arguments)},i._sqlite3_bind_blob=function(){return (i._sqlite3_bind_blob=i.asm.la).apply(null,arguments)},i._sqlite3_bind_double=function(){return (i._sqlite3_bind_double=i.asm.ma).apply(null,arguments)},i._sqlite3_bind_int=function(){return (i._sqlite3_bind_int=i.asm.na).apply(null,arguments)},i._sqlite3_bind_text=function(){return (i._sqlite3_bind_text=i.asm.oa).apply(null,arguments)},i._sqlite3_bind_parameter_index=function(){return (i._sqlite3_bind_parameter_index=i.asm.pa).apply(null,arguments)},i._sqlite3_normalized_sql=function(){return (i._sqlite3_normalized_sql=i.asm.qa).apply(null,arguments)},i._sqlite3_errmsg=function(){return (i._sqlite3_errmsg=i.asm.ra).apply(null,arguments)},i._sqlite3_exec=function(){return (i._sqlite3_exec=i.asm.sa).apply(null,arguments)},i._sqlite3_changes=function(){return (i._sqlite3_changes=i.asm.ta).apply(null,arguments)},i._sqlite3_close_v2=function(){return (i._sqlite3_close_v2=i.asm.ua).apply(null,arguments)},i._sqlite3_create_function_v2=function(){return (i._sqlite3_create_function_v2=i.asm.va).apply(null,arguments)},i._sqlite3_open=function(){return (i._sqlite3_open=i.asm.wa).apply(null,arguments)};var Ce=i._malloc=function(){return (Ce=i._malloc=i.asm.xa).apply(null,arguments)},Me=i._free=function(){return (Me=i._free=i.asm.ya).apply(null,arguments)};i._RegisterExtensionFunctions=function(){return (i._RegisterExtensionFunctions=i.asm.Aa).apply(null,arguments)};var Se,Ne=i._emscripten_builtin_memalign=function(){return (Ne=i._emscripten_builtin_memalign=i.asm.Ba).apply(null,arguments)},Oe=i.stackSave=function(){return (Oe=i.stackSave=i.asm.Ca).apply(null,arguments)},Ae=i.stackRestore=function(){return (Ae=i.stackRestore=i.asm.Da).apply(null,arguments)},Ie=i.stackAlloc=function(){return (Ie=i.stackAlloc=i.asm.Ea).apply(null,arguments)};function Pe(){function t(){if(!Se&&(Se=!0,i.calledRun=!0,!N)){if(i.noFSInit||yt||(yt=!0,ue(),i.stdin=i.stdin,i.stdout=i.stdout,i.stderr=i.stderr,i.stdin?ce("stdin",i.stdin):Yt("/dev/tty","/dev/stdin"),i.stdout?ce("stdout",null,i.stdout):Yt("/dev/tty","/dev/stdout"),i.stderr?ce("stderr",null,i.stderr):Yt("/dev/tty1","/dev/stderr"),ne("/dev/stdin",0),ne("/dev/stdout",1),ne("/dev/stderr",1)),Nt=!1,st(Y),i.onRuntimeInitialized&&i.onRuntimeInitialized(),i.postRun)for("function"==typeof i.postRun&&(i.postRun=[i.postRun]);i.postRun.length;){var t=i.postRun.shift();Z.unshift(t);}st(Z);}}if(!(0{var r=n(8764),i=r.Buffer;function o(t,e){for(var n in t)e[n]=t[n];}function a(t,e,n){return i(t,e,n)}i.from&&i.alloc&&i.allocUnsafe&&i.allocUnsafeSlow?t.exports=r:(o(r,e),e.Buffer=a),a.prototype=Object.create(i.prototype),o(i,a),a.from=function(t,e,n){if("number"==typeof t)throw new TypeError("Argument must not be a number");return i(t,e,n)},a.alloc=function(t,e,n){if("number"!=typeof t)throw new TypeError("Argument must be a number");var r=i(t);return void 0!==e?"string"==typeof n?r.fill(e,n):r.fill(e):r.fill(0),r},a.allocUnsafe=function(t){if("number"!=typeof t)throw new TypeError("Argument must be a number");return i(t)},a.allocUnsafeSlow=function(t){if("number"!=typeof t)throw new TypeError("Argument must be a number");return r.SlowBuffer(t)};},6479:(t,e,n)=>{var r;!function(){"use strict";function i(t,e,n){var r=e.x,i=e.y,o=n.x-r,a=n.y-i;if(0!==o||0!==a){var s=((t.x-r)*o+(t.y-i)*a)/(o*o+a*a);s>1?(r=n.x,i=n.y):s>0&&(r+=o*s,i+=a*s);}return (o=t.x-r)*o+(a=t.y-i)*a}function o(t,e,n,r,a){for(var s,u=r,l=e+1;lu&&(s=l,u=c);}u>r&&(s-e>1&&o(t,e,s,r,a),a.push(t[s]),n-s>1&&o(t,s,n,r,a));}function a(t,e){var n=t.length-1,r=[t[0]];return o(t,0,n,e,r),r.push(t[n]),r}function s(t,e,n){if(t.length<=2)return t;var r=void 0!==e?e*e:1;return t=n?t:function(t,e){for(var n,r,i,o,a,s=t[0],u=[s],l=1,c=t.length;le&&(u.push(n),s=n);return s!==n&&u.push(n),u}(t,r),a(t,r)}void 0===(r=function(){return s}.call(e,n,e,t))||(t.exports=r);}();},8501:(t,e,n)=>{var r=n(3570),i=n(5676),o=n(7529),a=n(584),s=n(8575),u=e;u.request=function(t,e){t="string"==typeof t?s.parse(t):o(t);var i=-1===n.g.location.protocol.search(/^https?:$/)?"http:":"",a=t.protocol||i,u=t.hostname||t.host,l=t.port,c=t.path||"/";u&&-1!==u.indexOf(":")&&(u="["+u+"]"),t.url=(u?a+"//"+u:"")+(l?":"+l:"")+c,t.method=(t.method||"GET").toUpperCase(),t.headers=t.headers||{};var h=new r(t);return e&&h.on("response",e),h},u.get=function(t,e){var n=u.request(t,e);return n.end(),n},u.ClientRequest=r,u.IncomingMessage=i.IncomingMessage,u.Agent=function(){},u.Agent.defaultMaxSockets=4,u.globalAgent=new u.Agent,u.STATUS_CODES=a,u.METHODS=["CHECKOUT","CONNECT","COPY","DELETE","GET","HEAD","LOCK","M-SEARCH","MERGE","MKACTIVITY","MKCOL","MOVE","NOTIFY","OPTIONS","PATCH","POST","PROPFIND","PROPPATCH","PURGE","PUT","REPORT","SEARCH","SUBSCRIBE","TRACE","UNLOCK","UNSUBSCRIBE"];},8725:(t,e,n)=>{var r;function i(){if(void 0!==r)return r;if(n.g.XMLHttpRequest){r=new n.g.XMLHttpRequest;try{r.open("GET",n.g.XDomainRequest?"/":"https://example.com");}catch(t){r=null;}}else r=null;return r}function o(t){var e=i();if(!e)return !1;try{return e.responseType=t,e.responseType===t}catch(t){}return !1}function a(t){return "function"==typeof t}e.fetch=a(n.g.fetch)&&a(n.g.ReadableStream),e.writableStream=a(n.g.WritableStream),e.abortController=a(n.g.AbortController),e.arraybuffer=e.fetch||o("arraybuffer"),e.msstream=!e.fetch&&o("ms-stream"),e.mozchunkedarraybuffer=!e.fetch&&o("moz-chunked-arraybuffer"),e.overrideMimeType=e.fetch||!!i()&&a(i().overrideMimeType),r=null;},3570:(t,e,n)=>{var r=n(3085).lW,i=n(4155),o=n(8725),a=n(5717),s=n(5676),u=n(925),l=s.IncomingMessage,c=s.readyStates,h=t.exports=function(t){var e,n=this;u.Writable.call(n),n._opts=t,n._body=[],n._headers={},t.auth&&n.setHeader("Authorization","Basic "+r.from(t.auth).toString("base64")),Object.keys(t.headers).forEach((function(e){n.setHeader(e,t.headers[e]);}));var i=!0;if("disable-fetch"===t.mode||"requestTimeout"in t&&!o.abortController)i=!1,e=!0;else if("prefer-streaming"===t.mode)e=!1;else if("allow-wrong-content-type"===t.mode)e=!o.overrideMimeType;else {if(t.mode&&"default"!==t.mode&&"prefer-fast"!==t.mode)throw new Error("Invalid value for opts.mode");e=!0;}n._mode=function(t,e){return o.fetch&&e?"fetch":o.mozchunkedarraybuffer?"moz-chunked-arraybuffer":o.msstream?"ms-stream":o.arraybuffer&&t?"arraybuffer":"text"}(e,i),n._fetchTimer=null,n._socketTimeout=null,n._socketTimer=null,n.on("finish",(function(){n._onFinish();}));};a(h,u.Writable),h.prototype.setHeader=function(t,e){var n=t.toLowerCase();-1===f.indexOf(n)&&(this._headers[n]={name:t,value:e});},h.prototype.getHeader=function(t){var e=this._headers[t.toLowerCase()];return e?e.value:null},h.prototype.removeHeader=function(t){delete this._headers[t.toLowerCase()];},h.prototype._onFinish=function(){var t=this;if(!t._destroyed){var e=t._opts;"timeout"in e&&0!==e.timeout&&t.setTimeout(e.timeout);var r=t._headers,a=null;"GET"!==e.method&&"HEAD"!==e.method&&(a=new Blob(t._body,{type:(r["content-type"]||{}).value||""}));var s=[];if(Object.keys(r).forEach((function(t){var e=r[t].name,n=r[t].value;Array.isArray(n)?n.forEach((function(t){s.push([e,t]);})):s.push([e,n]);})),"fetch"===t._mode){var u=null;if(o.abortController){var l=new AbortController;u=l.signal,t._fetchAbortController=l,"requestTimeout"in e&&0!==e.requestTimeout&&(t._fetchTimer=n.g.setTimeout((function(){t.emit("requestTimeout"),t._fetchAbortController&&t._fetchAbortController.abort();}),e.requestTimeout));}n.g.fetch(t._opts.url,{method:t._opts.method,headers:s,body:a||void 0,mode:"cors",credentials:e.withCredentials?"include":"same-origin",signal:u}).then((function(e){t._fetchResponse=e,t._resetTimers(!1),t._connect();}),(function(e){t._resetTimers(!0),t._destroyed||t.emit("error",e);}));}else {var h=t._xhr=new n.g.XMLHttpRequest;try{h.open(t._opts.method,t._opts.url,!0);}catch(e){return void i.nextTick((function(){t.emit("error",e);}))}"responseType"in h&&(h.responseType=t._mode),"withCredentials"in h&&(h.withCredentials=!!e.withCredentials),"text"===t._mode&&"overrideMimeType"in h&&h.overrideMimeType("text/plain; charset=x-user-defined"),"requestTimeout"in e&&(h.timeout=e.requestTimeout,h.ontimeout=function(){t.emit("requestTimeout");}),s.forEach((function(t){h.setRequestHeader(t[0],t[1]);})),t._response=null,h.onreadystatechange=function(){switch(h.readyState){case c.LOADING:case c.DONE:t._onXHRProgress();}},"moz-chunked-arraybuffer"===t._mode&&(h.onprogress=function(){t._onXHRProgress();}),h.onerror=function(){t._destroyed||(t._resetTimers(!0),t.emit("error",new Error("XHR error")));};try{h.send(a);}catch(e){return void i.nextTick((function(){t.emit("error",e);}))}}}},h.prototype._onXHRProgress=function(){var t=this;t._resetTimers(!1),function(t){try{var e=t.status;return null!==e&&0!==e}catch(t){return !1}}(t._xhr)&&!t._destroyed&&(t._response||t._connect(),t._response._onXHRProgress(t._resetTimers.bind(t)));},h.prototype._connect=function(){var t=this;t._destroyed||(t._response=new l(t._xhr,t._fetchResponse,t._mode,t._resetTimers.bind(t)),t._response.on("error",(function(e){t.emit("error",e);})),t.emit("response",t._response));},h.prototype._write=function(t,e,n){this._body.push(t),n();},h.prototype._resetTimers=function(t){var e=this;n.g.clearTimeout(e._socketTimer),e._socketTimer=null,t?(n.g.clearTimeout(e._fetchTimer),e._fetchTimer=null):e._socketTimeout&&(e._socketTimer=n.g.setTimeout((function(){e.emit("timeout");}),e._socketTimeout));},h.prototype.abort=h.prototype.destroy=function(t){var e=this;e._destroyed=!0,e._resetTimers(!0),e._response&&(e._response._destroyed=!0),e._xhr?e._xhr.abort():e._fetchAbortController&&e._fetchAbortController.abort(),t&&e.emit("error",t);},h.prototype.end=function(t,e,n){"function"==typeof t&&(n=t,t=void 0),u.Writable.prototype.end.call(this,t,e,n);},h.prototype.setTimeout=function(t,e){var n=this;e&&n.once("timeout",e),n._socketTimeout=t,n._resetTimers(!1);},h.prototype.flushHeaders=function(){},h.prototype.setNoDelay=function(){},h.prototype.setSocketKeepAlive=function(){};var f=["accept-charset","accept-encoding","access-control-request-headers","access-control-request-method","connection","content-length","cookie","cookie2","date","dnt","expect","host","keep-alive","origin","referer","te","trailer","transfer-encoding","upgrade","via"];},5676:(t,e,n)=>{var r=n(4155),i=n(3085).lW,o=n(8725),a=n(5717),s=n(925),u=e.readyStates={UNSENT:0,OPENED:1,HEADERS_RECEIVED:2,LOADING:3,DONE:4},l=e.IncomingMessage=function(t,e,n,a){var u=this;if(s.Readable.call(u),u._mode=n,u.headers={},u.rawHeaders=[],u.trailers={},u.rawTrailers=[],u.on("end",(function(){r.nextTick((function(){u.emit("close");}));})),"fetch"===n){if(u._fetchResponse=e,u.url=e.url,u.statusCode=e.status,u.statusMessage=e.statusText,e.headers.forEach((function(t,e){u.headers[e.toLowerCase()]=t,u.rawHeaders.push(e,t);})),o.writableStream){var l=new WritableStream({write:function(t){return a(!1),new Promise((function(e,n){u._destroyed?n():u.push(i.from(t))?e():u._resumeFetch=e;}))},close:function(){a(!0),u._destroyed||u.push(null);},abort:function(t){a(!0),u._destroyed||u.emit("error",t);}});try{return void e.body.pipeTo(l).catch((function(t){a(!0),u._destroyed||u.emit("error",t);}))}catch(t){}}var c=e.body.getReader();!function t(){c.read().then((function(e){u._destroyed||(a(e.done),e.done?u.push(null):(u.push(i.from(e.value)),t()));})).catch((function(t){a(!0),u._destroyed||u.emit("error",t);}));}();}else if(u._xhr=t,u._pos=0,u.url=t.responseURL,u.statusCode=t.status,u.statusMessage=t.statusText,t.getAllResponseHeaders().split(/\r?\n/).forEach((function(t){var e=t.match(/^([^:]+):\s*(.*)/);if(e){var n=e[1].toLowerCase();"set-cookie"===n?(void 0===u.headers[n]&&(u.headers[n]=[]),u.headers[n].push(e[2])):void 0!==u.headers[n]?u.headers[n]+=", "+e[2]:u.headers[n]=e[2],u.rawHeaders.push(e[1],e[2]);}})),u._charset="x-user-defined",!o.overrideMimeType){var h=u.rawHeaders["mime-type"];if(h){var f=h.match(/;\s*charset=([^;])(;|$)/);f&&(u._charset=f[1].toLowerCase());}u._charset||(u._charset="utf-8");}};a(l,s.Readable),l.prototype._read=function(){var t=this._resumeFetch;t&&(this._resumeFetch=null,t());},l.prototype._onXHRProgress=function(t){var e=this,r=e._xhr,o=null;switch(e._mode){case "text":if((o=r.responseText).length>e._pos){var a=o.substr(e._pos);if("x-user-defined"===e._charset){for(var s=i.alloc(a.length),l=0;le._pos&&(e.push(i.from(new Uint8Array(c.result.slice(e._pos)))),e._pos=c.result.byteLength);},c.onload=function(){t(!0),e.push(null);},c.readAsArrayBuffer(o);}e._xhr.readyState===u.DONE&&"ms-stream"!==e._mode&&(t(!0),e.push(null));};},7303:t=>{"use strict";var e={};function n(t,n,r){r||(r=Error);var i=function(t){var e,r;function i(e,r,i){return t.call(this,function(t,e,r){return "string"==typeof n?n:n(t,e,r)}(e,r,i))||this}return r=t,(e=i).prototype=Object.create(r.prototype),e.prototype.constructor=e,e.__proto__=r,i}(r);i.prototype.name=r.name,i.prototype.code=t,e[t]=i;}function r(t,e){if(Array.isArray(t)){var n=t.length;return t=t.map((function(t){return String(t)})),n>2?"one of ".concat(e," ").concat(t.slice(0,n-1).join(", "),", or ")+t[n-1]:2===n?"one of ".concat(e," ").concat(t[0]," or ").concat(t[1]):"of ".concat(e," ").concat(t[0])}return "of ".concat(e," ").concat(String(t))}n("ERR_INVALID_OPT_VALUE",(function(t,e){return 'The value "'+e+'" is invalid for option "'+t+'"'}),TypeError),n("ERR_INVALID_ARG_TYPE",(function(t,e,n){var i,o,a,s,u;if("string"==typeof e&&(o="not ",e.substr(0,o.length)===o)?(i="must not be",e=e.replace(/^not /,"")):i="must be",function(t,e,n){return (void 0===n||n>t.length)&&(n=t.length),t.substring(n-e.length,n)===e}(t," argument"))a="The ".concat(t," ").concat(i," ").concat(r(e,"type"));else {var l=("number"!=typeof u&&(u=0),u+".".length>(s=t).length||-1===s.indexOf(".",u)?"argument":"property");a='The "'.concat(t,'" ').concat(l," ").concat(i," ").concat(r(e,"type"));}return a+". Received type ".concat(typeof n)}),TypeError),n("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF"),n("ERR_METHOD_NOT_IMPLEMENTED",(function(t){return "The "+t+" method is not implemented"})),n("ERR_STREAM_PREMATURE_CLOSE","Premature close"),n("ERR_STREAM_DESTROYED",(function(t){return "Cannot call "+t+" after a stream was destroyed"})),n("ERR_MULTIPLE_CALLBACK","Callback called multiple times"),n("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable"),n("ERR_STREAM_WRITE_AFTER_END","write after end"),n("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),n("ERR_UNKNOWN_ENCODING",(function(t){return "Unknown encoding: "+t}),TypeError),n("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event"),t.exports.q=e;},9560:(t,e,n)=>{"use strict";var r=n(4155),i=Object.keys||function(t){var e=[];for(var n in t)e.push(n);return e};t.exports=u;const o=n(4002),a=n(3313);n(5717)(u,o);{const t=i(a.prototype);for(var s=0;s{"use strict";t.exports=i;const r=n(1846);function i(t){if(!(this instanceof i))return new i(t);r.call(this,t);}n(5717)(i,r),i.prototype._transform=function(t,e,n){n(null,t);};},4002:(t,e,n)=>{"use strict";var r,i=n(4155);t.exports=C,C.ReadableState=x,n(7187).EventEmitter;var o=function(t,e){return t.listeners(e).length},a=n(1463);const s=n(8764).Buffer,u=(void 0!==n.g?n.g:"undefined"!=typeof window?window:"undefined"!=typeof self?self:{}).Uint8Array||function(){},l=n(3646);let c;c=l&&l.debuglog?l.debuglog("stream"):function(){};const h=n(6641),f=n(4910),p=n(7855).getHighWaterMark,d=n(7303).q,y=d.ERR_INVALID_ARG_TYPE,m=d.ERR_STREAM_PUSH_AFTER_EOF,g=d.ERR_METHOD_NOT_IMPLEMENTED,_=d.ERR_STREAM_UNSHIFT_AFTER_END_EVENT;let b,v,T;n(5717)(C,a);const E=f.errorOrDestroy,w=["error","close","destroy","pause","resume"];function x(t,e,i){r=r||n(9560),t=t||{},"boolean"!=typeof i&&(i=e instanceof r),this.objectMode=!!t.objectMode,i&&(this.objectMode=this.objectMode||!!t.readableObjectMode),this.highWaterMark=p(this,t,"readableHighWaterMark",i),this.buffer=new h,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.paused=!0,this.emitClose=!1!==t.emitClose,this.autoDestroy=!!t.autoDestroy,this.destroyed=!1,this.defaultEncoding=t.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,t.encoding&&(b||(b=n(2553).s),this.decoder=new b(t.encoding),this.encoding=t.encoding);}function C(t){if(r=r||n(9560),!(this instanceof C))return new C(t);const e=this instanceof r;this._readableState=new x(t,this,e),this.readable=!0,t&&("function"==typeof t.read&&(this._read=t.read),"function"==typeof t.destroy&&(this._destroy=t.destroy)),a.call(this);}function M(t,e,n,r,i){c("readableAddChunk",e);var o,a=t._readableState;if(null===e)a.reading=!1,function(t,e){if(c("onEofChunk"),!e.ended){if(e.decoder){var n=e.decoder.end();n&&n.length&&(e.buffer.push(n),e.length+=e.objectMode?1:n.length);}e.ended=!0,e.sync?A(t):(e.needReadable=!1,e.emittedReadable||(e.emittedReadable=!0,I(t)));}}(t,a);else if(i||(o=function(t,e){var n,r;return r=e,s.isBuffer(r)||r instanceof u||"string"==typeof e||void 0===e||t.objectMode||(n=new y("chunk",["string","Buffer","Uint8Array"],e)),n}(a,e)),o)E(t,o);else if(a.objectMode||e&&e.length>0)if("string"==typeof e||a.objectMode||Object.getPrototypeOf(e)===s.prototype||(e=function(t){return s.from(t)}(e)),r)a.endEmitted?E(t,new _):S(t,a,e,!0);else if(a.ended)E(t,new m);else {if(a.destroyed)return !1;a.reading=!1,a.decoder&&!n?(e=a.decoder.write(e),a.objectMode||0!==e.length?S(t,a,e,!1):P(t,a)):S(t,a,e,!1);}else r||(a.reading=!1,P(t,a));return !a.ended&&(a.lengthe.highWaterMark&&(e.highWaterMark=function(t){return t>=N?t=N:(t--,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,t|=t>>>16,t++),t}(t)),t<=e.length?t:e.ended?e.length:(e.needReadable=!0,0))}function A(t){var e=t._readableState;c("emitReadable",e.needReadable,e.emittedReadable),e.needReadable=!1,e.emittedReadable||(c("emitReadable",e.flowing),e.emittedReadable=!0,i.nextTick(I,t));}function I(t){var e=t._readableState;c("emitReadable_",e.destroyed,e.length,e.ended),e.destroyed||!e.length&&!e.ended||(t.emit("readable"),e.emittedReadable=!1),e.needReadable=!e.flowing&&!e.ended&&e.length<=e.highWaterMark,F(t);}function P(t,e){e.readingMore||(e.readingMore=!0,i.nextTick(R,t,e));}function R(t,e){for(;!e.reading&&!e.ended&&(e.length0,e.resumeScheduled&&!e.paused?e.flowing=!0:t.listenerCount("data")>0&&t.resume();}function D(t){c("readable nexttick read 0"),t.read(0);}function k(t,e){c("resume",e.reading),e.reading||t.read(0),e.resumeScheduled=!1,t.emit("resume"),F(t),e.flowing&&!e.reading&&t.read(0);}function F(t){const e=t._readableState;for(c("flow",e.flowing);e.flowing&&null!==t.read(););}function U(t,e){return 0===e.length?null:(e.objectMode?n=e.buffer.shift():!t||t>=e.length?(n=e.decoder?e.buffer.join(""):1===e.buffer.length?e.buffer.first():e.buffer.concat(e.length),e.buffer.clear()):n=e.buffer.consume(t,e.decoder),n);var n;}function B(t){var e=t._readableState;c("endReadable",e.endEmitted),e.endEmitted||(e.ended=!0,i.nextTick(j,e,t));}function j(t,e){if(c("endReadableNT",t.endEmitted,t.length),!t.endEmitted&&0===t.length&&(t.endEmitted=!0,e.readable=!1,e.emit("end"),t.autoDestroy)){const t=e._writableState;(!t||t.autoDestroy&&t.finished)&&e.destroy();}}function G(t,e){for(var n=0,r=t.length;n=e.highWaterMark:e.length>0)||e.ended))return c("read: emitReadable",e.length,e.ended),0===e.length&&e.ended?B(this):A(this),null;if(0===(t=O(t,e))&&e.ended)return 0===e.length&&B(this),null;var r,i=e.needReadable;return c("need readable",i),(0===e.length||e.length-t0?U(t,e):null)?(e.needReadable=e.length<=e.highWaterMark,t=0):(e.length-=t,e.awaitDrain=0),0===e.length&&(e.ended||(e.needReadable=!0),n!==t&&e.ended&&B(this)),null!==r&&this.emit("data",r),r},C.prototype._read=function(t){E(this,new g("_read()"));},C.prototype.pipe=function(t,e){var n=this,r=this._readableState;switch(r.pipesCount){case 0:r.pipes=t;break;case 1:r.pipes=[r.pipes,t];break;default:r.pipes.push(t);}r.pipesCount+=1,c("pipe count=%d opts=%j",r.pipesCount,e);var a=e&&!1===e.end||t===i.stdout||t===i.stderr?y:s;function s(){c("onend"),t.end();}r.endEmitted?i.nextTick(a):n.once("end",a),t.on("unpipe",(function e(i,o){c("onunpipe"),i===n&&o&&!1===o.hasUnpiped&&(o.hasUnpiped=!0,c("cleanup"),t.removeListener("close",p),t.removeListener("finish",d),t.removeListener("drain",u),t.removeListener("error",f),t.removeListener("unpipe",e),n.removeListener("end",s),n.removeListener("end",y),n.removeListener("data",h),l=!0,!r.awaitDrain||t._writableState&&!t._writableState.needDrain||u());}));var u=function(t){return function(){var e=t._readableState;c("pipeOnDrain",e.awaitDrain),e.awaitDrain&&e.awaitDrain--,0===e.awaitDrain&&o(t,"data")&&(e.flowing=!0,F(t));}}(n);t.on("drain",u);var l=!1;function h(e){c("ondata");var i=t.write(e);c("dest.write",i),!1===i&&((1===r.pipesCount&&r.pipes===t||r.pipesCount>1&&-1!==G(r.pipes,t))&&!l&&(c("false write response, pause",r.awaitDrain),r.awaitDrain++),n.pause());}function f(e){c("onerror",e),y(),t.removeListener("error",f),0===o(t,"error")&&E(t,e);}function p(){t.removeListener("finish",d),y();}function d(){c("onfinish"),t.removeListener("close",p),y();}function y(){c("unpipe"),n.unpipe(t);}return n.on("data",h),function(t,e,n){if("function"==typeof t.prependListener)return t.prependListener(e,n);t._events&&t._events[e]?Array.isArray(t._events[e])?t._events[e].unshift(n):t._events[e]=[n,t._events[e]]:t.on(e,n);}(t,"error",f),t.once("close",p),t.once("finish",d),t.emit("pipe",n),r.flowing||(c("pipe resume"),n.resume()),t},C.prototype.unpipe=function(t){var e=this._readableState,n={hasUnpiped:!1};if(0===e.pipesCount)return this;if(1===e.pipesCount)return t&&t!==e.pipes||(t||(t=e.pipes),e.pipes=null,e.pipesCount=0,e.flowing=!1,t&&t.emit("unpipe",this,n)),this;if(!t){var r=e.pipes,i=e.pipesCount;e.pipes=null,e.pipesCount=0,e.flowing=!1;for(var o=0;o0,!1!==r.flowing&&this.resume()):"readable"===t&&(r.endEmitted||r.readableListening||(r.readableListening=r.needReadable=!0,r.flowing=!1,r.emittedReadable=!1,c("on readable",r.length,r.reading),r.length?A(this):r.reading||i.nextTick(D,this))),n},C.prototype.addListener=C.prototype.on,C.prototype.removeListener=function(t,e){const n=a.prototype.removeListener.call(this,t,e);return "readable"===t&&i.nextTick(L,this),n},C.prototype.removeAllListeners=function(t){const e=a.prototype.removeAllListeners.apply(this,arguments);return "readable"!==t&&void 0!==t||i.nextTick(L,this),e},C.prototype.resume=function(){var t=this._readableState;return t.flowing||(c("resume"),t.flowing=!t.readableListening,function(t,e){e.resumeScheduled||(e.resumeScheduled=!0,i.nextTick(k,t,e));}(this,t)),t.paused=!1,this},C.prototype.pause=function(){return c("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(c("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this},C.prototype.wrap=function(t){var e=this._readableState,n=!1;for(var r in t.on("end",(()=>{if(c("wrapped end"),e.decoder&&!e.ended){var t=e.decoder.end();t&&t.length&&this.push(t);}this.push(null);})),t.on("data",(r=>{c("wrapped data"),e.decoder&&(r=e.decoder.write(r)),e.objectMode&&null==r||(e.objectMode||r&&r.length)&&(this.push(r)||(n=!0,t.pause()));})),t)void 0===this[r]&&"function"==typeof t[r]&&(this[r]=function(e){return function(){return t[e].apply(t,arguments)}}(r));for(var i=0;i{c("wrapped _read",e),n&&(n=!1,t.resume());},this},"function"==typeof Symbol&&(C.prototype[Symbol.asyncIterator]=function(){return void 0===v&&(v=n(6819)),v(this)}),Object.defineProperty(C.prototype,"readableHighWaterMark",{enumerable:!1,get:function(){return this._readableState.highWaterMark}}),Object.defineProperty(C.prototype,"readableBuffer",{enumerable:!1,get:function(){return this._readableState&&this._readableState.buffer}}),Object.defineProperty(C.prototype,"readableFlowing",{enumerable:!1,get:function(){return this._readableState.flowing},set:function(t){this._readableState&&(this._readableState.flowing=t);}}),C._fromList=U,Object.defineProperty(C.prototype,"readableLength",{enumerable:!1,get(){return this._readableState.length}}),"function"==typeof Symbol&&(C.from=function(t,e){return void 0===T&&(T=n(8869)),T(C,t,e)});},1846:(t,e,n)=>{"use strict";t.exports=c;const r=n(7303).q,i=r.ERR_METHOD_NOT_IMPLEMENTED,o=r.ERR_MULTIPLE_CALLBACK,a=r.ERR_TRANSFORM_ALREADY_TRANSFORMING,s=r.ERR_TRANSFORM_WITH_LENGTH_0,u=n(9560);function l(t,e){var n=this._transformState;n.transforming=!1;var r=n.writecb;if(null===r)return this.emit("error",new o);n.writechunk=null,n.writecb=null,null!=e&&this.push(e),r(t);var i=this._readableState;i.reading=!1,(i.needReadable||i.length{f(this,t,e);}));}function f(t,e,n){if(e)return t.emit("error",e);if(null!=n&&t.push(n),t._writableState.length)throw new s;if(t._transformState.transforming)throw new a;return t.push(null)}n(5717)(c,u),c.prototype.push=function(t,e){return this._transformState.needTransform=!1,u.prototype.push.call(this,t,e)},c.prototype._transform=function(t,e,n){n(new i("_transform()"));},c.prototype._write=function(t,e,n){var r=this._transformState;if(r.writecb=n,r.writechunk=t,r.writeencoding=e,!r.transforming){var i=this._readableState;(r.needTransform||i.needReadable||i.length{e(t);}));};},3313:(t,e,n)=>{"use strict";var r,i=n(4155);function o(t){this.next=null,this.entry=null,this.finish=()=>{!function(t,e,n){var r=t.entry;for(t.entry=null;r;){var i=r.callback;e.pendingcb--,i(undefined),r=r.next;}e.corkedRequestsFree.next=t;}(this,t);};}t.exports=C,C.WritableState=w;const a={deprecate:n(4927)};var s=n(1463);const u=n(8764).Buffer,l=(void 0!==n.g?n.g:"undefined"!=typeof window?window:"undefined"!=typeof self?self:{}).Uint8Array||function(){},c=n(4910),h=n(7855).getHighWaterMark,f=n(7303).q,p=f.ERR_INVALID_ARG_TYPE,d=f.ERR_METHOD_NOT_IMPLEMENTED,y=f.ERR_MULTIPLE_CALLBACK,m=f.ERR_STREAM_CANNOT_PIPE,g=f.ERR_STREAM_DESTROYED,_=f.ERR_STREAM_NULL_VALUES,b=f.ERR_STREAM_WRITE_AFTER_END,v=f.ERR_UNKNOWN_ENCODING,T=c.errorOrDestroy;function E(){}function w(t,e,a){r=r||n(9560),t=t||{},"boolean"!=typeof a&&(a=e instanceof r),this.objectMode=!!t.objectMode,a&&(this.objectMode=this.objectMode||!!t.writableObjectMode),this.highWaterMark=h(this,t,"writableHighWaterMark",a),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var s=!1===t.decodeStrings;this.decodeStrings=!s,this.defaultEncoding=t.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(t){!function(t,e){var n=t._writableState,r=n.sync,o=n.writecb;if("function"!=typeof o)throw new y;if(function(t){t.writing=!1,t.writecb=null,t.length-=t.writelen,t.writelen=0;}(n),e)!function(t,e,n,r,o){--e.pendingcb,n?(i.nextTick(o,r),i.nextTick(I,t,e),t._writableState.errorEmitted=!0,T(t,r)):(o(r),t._writableState.errorEmitted=!0,T(t,r),I(t,e));}(t,n,r,e,o);else {var a=O(n)||t.destroyed;a||n.corked||n.bufferProcessing||!n.bufferedRequest||N(t,n),r?i.nextTick(S,t,n,a,o):S(t,n,a,o);}}(e,t);},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=!1!==t.emitClose,this.autoDestroy=!!t.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new o(this);}var x;function C(t){const e=this instanceof(r=r||n(9560));if(!e&&!x.call(C,this))return new C(t);this._writableState=new w(t,this,e),this.writable=!0,t&&("function"==typeof t.write&&(this._write=t.write),"function"==typeof t.writev&&(this._writev=t.writev),"function"==typeof t.destroy&&(this._destroy=t.destroy),"function"==typeof t.final&&(this._final=t.final)),s.call(this);}function M(t,e,n,r,i,o,a){e.writelen=r,e.writecb=a,e.writing=!0,e.sync=!0,e.destroyed?e.onwrite(new g("write")):n?t._writev(i,e.onwrite):t._write(i,o,e.onwrite),e.sync=!1;}function S(t,e,n,r){n||function(t,e){0===e.length&&e.needDrain&&(e.needDrain=!1,t.emit("drain"));}(t,e),e.pendingcb--,r(),I(t,e);}function N(t,e){e.bufferProcessing=!0;var n=e.bufferedRequest;if(t._writev&&n&&n.next){var r=e.bufferedRequestCount,i=new Array(r),a=e.corkedRequestsFree;a.entry=n;for(var s=0,u=!0;n;)i[s]=n,n.isBuf||(u=!1),n=n.next,s+=1;i.allBuffers=u,M(t,e,!0,e.length,i,"",a.finish),e.pendingcb++,e.lastBufferedRequest=null,a.next?(e.corkedRequestsFree=a.next,a.next=null):e.corkedRequestsFree=new o(e),e.bufferedRequestCount=0;}else {for(;n;){var l=n.chunk,c=n.encoding,h=n.callback;if(M(t,e,!1,e.objectMode?1:l.length,l,c,h),n=n.next,e.bufferedRequestCount--,e.writing)break}null===n&&(e.lastBufferedRequest=null);}e.bufferedRequest=n,e.bufferProcessing=!1;}function O(t){return t.ending&&0===t.length&&null===t.bufferedRequest&&!t.finished&&!t.writing}function A(t,e){t._final((n=>{e.pendingcb--,n&&T(t,n),e.prefinished=!0,t.emit("prefinish"),I(t,e);}));}function I(t,e){var n=O(e);if(n&&(function(t,e){e.prefinished||e.finalCalled||("function"!=typeof t._final||e.destroyed?(e.prefinished=!0,t.emit("prefinish")):(e.pendingcb++,e.finalCalled=!0,i.nextTick(A,t,e)));}(t,e),0===e.pendingcb&&(e.finished=!0,t.emit("finish"),e.autoDestroy))){const e=t._readableState;(!e||e.autoDestroy&&e.endEmitted)&&t.destroy();}return n}n(5717)(C,s),w.prototype.getBuffer=function(){for(var t=this.bufferedRequest,e=[];t;)e.push(t),t=t.next;return e},function(){try{Object.defineProperty(w.prototype,"buffer",{get:a.deprecate((function(){return this.getBuffer()}),"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")});}catch(t){}}(),"function"==typeof Symbol&&Symbol.hasInstance&&"function"==typeof Function.prototype[Symbol.hasInstance]?(x=Function.prototype[Symbol.hasInstance],Object.defineProperty(C,Symbol.hasInstance,{value:function(t){return !!x.call(this,t)||this===C&&t&&t._writableState instanceof w}})):x=function(t){return t instanceof this},C.prototype.pipe=function(){T(this,new m);},C.prototype.write=function(t,e,n){var r,o=this._writableState,a=!1,s=!o.objectMode&&(r=t,u.isBuffer(r)||r instanceof l);return s&&!u.isBuffer(t)&&(t=function(t){return u.from(t)}(t)),"function"==typeof e&&(n=e,e=null),s?e="buffer":e||(e=o.defaultEncoding),"function"!=typeof n&&(n=E),o.ending?function(t,e){var n=new b;T(t,n),i.nextTick(e,n);}(this,n):(s||function(t,e,n,r){var o;return null===n?o=new _:"string"==typeof n||e.objectMode||(o=new p("chunk",["string","Buffer"],n)),!o||(T(t,o),i.nextTick(r,o),!1)}(this,o,t,n))&&(o.pendingcb++,a=function(t,e,n,r,i,o){if(!n){var a=function(t,e,n){return t.objectMode||!1===t.decodeStrings||"string"!=typeof e||(e=u.from(e,n)),e}(e,r,i);r!==a&&(n=!0,i="buffer",r=a);}var s=e.objectMode?1:r.length;e.length+=s;var l=e.length-1))throw new v(t);return this._writableState.defaultEncoding=t,this},Object.defineProperty(C.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(C.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),C.prototype._write=function(t,e,n){n(new d("_write()"));},C.prototype._writev=null,C.prototype.end=function(t,e,n){var r=this._writableState;return "function"==typeof t?(n=t,t=null,e=null):"function"==typeof e&&(n=e,e=null),null!=t&&this.write(t,e),r.corked&&(r.corked=1,this.uncork()),r.ending||function(t,e,n){e.ending=!0,I(t,e),n&&(e.finished?i.nextTick(n):t.once("finish",n)),e.ended=!0,t.writable=!1;}(this,r,n),this},Object.defineProperty(C.prototype,"writableLength",{enumerable:!1,get(){return this._writableState.length}}),Object.defineProperty(C.prototype,"destroyed",{enumerable:!1,get(){return void 0!==this._writableState&&this._writableState.destroyed},set(t){this._writableState&&(this._writableState.destroyed=t);}}),C.prototype.destroy=c.destroy,C.prototype._undestroy=c.undestroy,C.prototype._destroy=function(t,e){e(t);};},6819:(t,e,n)=>{"use strict";var r=n(4155);const i=n(5467),o=Symbol("lastResolve"),a=Symbol("lastReject"),s=Symbol("error"),u=Symbol("ended"),l=Symbol("lastPromise"),c=Symbol("handlePromise"),h=Symbol("stream");function f(t,e){return {value:t,done:e}}function p(t){const e=t[o];if(null!==e){const n=t[h].read();null!==n&&(t[l]=null,t[o]=null,t[a]=null,e(f(n,!1)));}}function d(t){r.nextTick(p,t);}const y=Object.getPrototypeOf((function(){})),m=Object.setPrototypeOf({get stream(){return this[h]},next(){const t=this[s];if(null!==t)return Promise.reject(t);if(this[u])return Promise.resolve(f(void 0,!0));if(this[h].destroyed)return new Promise(((t,e)=>{r.nextTick((()=>{this[s]?e(this[s]):t(f(void 0,!0));}));}));const e=this[l];let n;if(e)n=new Promise(function(t,e){return (n,r)=>{t.then((()=>{e[u]?n(f(void 0,!0)):e[c](n,r);}),r);}}(e,this));else {const t=this[h].read();if(null!==t)return Promise.resolve(f(t,!1));n=new Promise(this[c]);}return this[l]=n,n},[Symbol.asyncIterator](){return this},return(){return new Promise(((t,e)=>{this[h].destroy(null,(n=>{n?e(n):t(f(void 0,!0));}));}))}},y);t.exports=t=>{const e=Object.create(m,{[h]:{value:t,writable:!0},[o]:{value:null,writable:!0},[a]:{value:null,writable:!0},[s]:{value:null,writable:!0},[u]:{value:t._readableState.endEmitted,writable:!0},[c]:{value:(t,n)=>{const r=e[h].read();r?(e[l]=null,e[o]=null,e[a]=null,t(f(r,!1))):(e[o]=t,e[a]=n);},writable:!0}});return e[l]=null,i(t,(t=>{if(t&&"ERR_STREAM_PREMATURE_CLOSE"!==t.code){const n=e[a];return null!==n&&(e[l]=null,e[o]=null,e[a]=null,n(t)),void(e[s]=t)}const n=e[o];null!==n&&(e[l]=null,e[o]=null,e[a]=null,n(f(void 0,!0))),e[u]=!0;})),t.on("readable",d.bind(null,e)),e};},6641:(t,e,n)=>{"use strict";function r(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r);}return n}function i(t){for(var e=1;e0?this.tail.next=e:this.head=e,this.tail=e,++this.length;}unshift(t){const e={data:t,next:this.head};0===this.length&&(this.tail=e),this.head=e,++this.length;}shift(){if(0===this.length)return;const t=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,t}clear(){this.head=this.tail=null,this.length=0;}join(t){if(0===this.length)return "";for(var e=this.head,n=""+e.data;e=e.next;)n+=t+e.data;return n}concat(t){if(0===this.length)return a.alloc(0);const e=a.allocUnsafe(t>>>0);for(var n,r,i,o=this.head,s=0;o;)n=o.data,r=e,i=s,a.prototype.copy.call(n,r,i),s+=o.data.length,o=o.next;return e}consume(t,e){var n;return ti.length?i.length:t;if(o===i.length?r+=i:r+=i.slice(0,t),0==(t-=o)){o===i.length?(++n,e.next?this.head=e.next:this.head=this.tail=null):(this.head=e,e.data=i.slice(o));break}++n;}return this.length-=n,r}_getBuffer(t){const e=a.allocUnsafe(t);var n=this.head,r=1;for(n.data.copy(e),t-=n.data.length;n=n.next;){const i=n.data,o=t>i.length?i.length:t;if(i.copy(e,e.length-t,0,o),0==(t-=o)){o===i.length?(++r,n.next?this.head=n.next:this.head=this.tail=null):(this.head=n,n.data=i.slice(o));break}++r;}return this.length-=r,e}[u](t,e){return s(this,i(i({},e),{},{depth:0,customInspect:!1}))}};},4910:(t,e,n)=>{"use strict";var r=n(4155);function i(t,e){a(t,e),o(t);}function o(t){t._writableState&&!t._writableState.emitClose||t._readableState&&!t._readableState.emitClose||t.emit("close");}function a(t,e){t.emit("error",e);}t.exports={destroy:function(t,e){const n=this._readableState&&this._readableState.destroyed,s=this._writableState&&this._writableState.destroyed;return n||s?(e?e(t):t&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,r.nextTick(a,this,t)):r.nextTick(a,this,t)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(t||null,(t=>{!e&&t?this._writableState?this._writableState.errorEmitted?r.nextTick(o,this):(this._writableState.errorEmitted=!0,r.nextTick(i,this,t)):r.nextTick(i,this,t):e?(r.nextTick(o,this),e(t)):r.nextTick(o,this);})),this)},undestroy:function(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1);},errorOrDestroy:function(t,e){const n=t._readableState,r=t._writableState;n&&n.autoDestroy||r&&r.autoDestroy?t.destroy(e):t.emit("error",e);}};},5467:(t,e,n)=>{"use strict";const r=n(7303).q.ERR_STREAM_PREMATURE_CLOSE;function i(){}t.exports=function t(e,n,o){if("function"==typeof n)return t(e,null,n);n||(n={}),o=function(t){let e=!1;return function(){if(!e){e=!0;for(var n=arguments.length,r=new Array(n),i=0;i{e.writable||c();};var l=e._writableState&&e._writableState.finished;const c=()=>{s=!1,l=!0,a||o.call(e);};var h=e._readableState&&e._readableState.endEmitted;const f=()=>{a=!1,h=!0,s||o.call(e);},p=t=>{o.call(e,t);},d=()=>{let t;return a&&!h?(e._readableState&&e._readableState.ended||(t=new r),o.call(e,t)):s&&!l?(e._writableState&&e._writableState.ended||(t=new r),o.call(e,t)):void 0},y=()=>{e.req.on("finish",c);};return function(t){return t.setHeader&&"function"==typeof t.abort}(e)?(e.on("complete",c),e.on("abort",d),e.req?y():e.on("request",y)):s&&!e._writableState&&(e.on("end",u),e.on("close",u)),e.on("end",f),e.on("finish",c),!1!==n.error&&e.on("error",p),e.on("close",d),function(){e.removeListener("complete",c),e.removeListener("abort",d),e.removeListener("request",y),e.req&&e.req.removeListener("finish",c),e.removeListener("end",u),e.removeListener("close",u),e.removeListener("finish",c),e.removeListener("end",f),e.removeListener("error",p),e.removeListener("close",d);}};},8869:t=>{t.exports=function(){throw new Error("Readable.from is not available in the browser")};},9689:(t,e,n)=>{"use strict";let r;const i=n(7303).q,o=i.ERR_MISSING_ARGS,a=i.ERR_STREAM_DESTROYED;function s(t){if(t)throw t}function u(t){t();}function l(t,e){return t.pipe(e)}t.exports=function(){for(var t=arguments.length,e=new Array(t),i=0;i{s=!0;})),void 0===r&&(r=n(5467)),r(t,{readable:e,writable:i},(t=>{if(t)return o(t);s=!0,o();}));let u=!1;return e=>{if(!s&&!u)return u=!0,function(t){return t.setHeader&&"function"==typeof t.abort}(t)?t.abort():"function"==typeof t.destroy?t.destroy():void o(e||new a("pipe"))}}(t,o,i>0,(function(t){h||(h=t),t&&f.forEach(u),o||(f.forEach(u),c(h));}))}));return e.reduce(l)};},7855:(t,e,n)=>{"use strict";const r=n(7303).q.ERR_INVALID_OPT_VALUE;t.exports={getHighWaterMark:function(t,e,n,i){const o=function(t,e,n){return null!=t.highWaterMark?t.highWaterMark:e?t[n]:null}(e,i,n);if(null!=o){if(!isFinite(o)||Math.floor(o)!==o||o<0)throw new r(i?n:"highWaterMark",o);return Math.floor(o)}return t.objectMode?16:16384}};},1463:(t,e,n)=>{t.exports=n(7187).EventEmitter;},925:(t,e,n)=>{(e=t.exports=n(4002)).Stream=e,e.Readable=e,e.Writable=n(3313),e.Duplex=n(9560),e.Transform=n(1846),e.PassThrough=n(4842),e.finished=n(5467),e.pipeline=n(9689);},2553:(t,e,n)=>{"use strict";var r=n(9509).Buffer,i=r.isEncoding||function(t){switch((t=""+t)&&t.toLowerCase()){case "hex":case "utf8":case "utf-8":case "ascii":case "binary":case "base64":case "ucs2":case "ucs-2":case "utf16le":case "utf-16le":case "raw":return !0;default:return !1}};function o(t){var e;switch(this.encoding=function(t){var e=function(t){if(!t)return "utf8";for(var e;;)switch(t){case "utf8":case "utf-8":return "utf8";case "ucs2":case "ucs-2":case "utf16le":case "utf-16le":return "utf16le";case "latin1":case "binary":return "latin1";case "base64":case "ascii":case "hex":return t;default:if(e)return;t=(""+t).toLowerCase(),e=!0;}}(t);if("string"!=typeof e&&(r.isEncoding===i||!i(t)))throw new Error("Unknown encoding: "+t);return e||t}(t),this.encoding){case "utf16le":this.text=u,this.end=l,e=4;break;case "utf8":this.fillLast=s,e=4;break;case "base64":this.text=c,this.end=h,e=3;break;default:return this.write=f,void(this.end=p)}this.lastNeed=0,this.lastTotal=0,this.lastChar=r.allocUnsafe(e);}function a(t){return t<=127?0:t>>5==6?2:t>>4==14?3:t>>3==30?4:t>>6==2?-1:-2}function s(t){var e=this.lastTotal-this.lastNeed,n=function(t,e,n){if(128!=(192&e[0]))return t.lastNeed=0,"�";if(t.lastNeed>1&&e.length>1){if(128!=(192&e[1]))return t.lastNeed=1,"�";if(t.lastNeed>2&&e.length>2&&128!=(192&e[2]))return t.lastNeed=2,"�"}}(this,t);return void 0!==n?n:this.lastNeed<=t.length?(t.copy(this.lastChar,e,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(t.copy(this.lastChar,e,0,t.length),void(this.lastNeed-=t.length))}function u(t,e){if((t.length-e)%2==0){var n=t.toString("utf16le",e);if(n){var r=n.charCodeAt(n.length-1);if(r>=55296&&r<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1],n.slice(0,-1)}return n}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=t[t.length-1],t.toString("utf16le",e,t.length-1)}function l(t){var e=t&&t.length?this.write(t):"";if(this.lastNeed){var n=this.lastTotal-this.lastNeed;return e+this.lastChar.toString("utf16le",0,n)}return e}function c(t,e){var n=(t.length-e)%3;return 0===n?t.toString("base64",e):(this.lastNeed=3-n,this.lastTotal=3,1===n?this.lastChar[0]=t[t.length-1]:(this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1]),t.toString("base64",e,t.length-n))}function h(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+this.lastChar.toString("base64",0,3-this.lastNeed):e}function f(t){return t.toString(this.encoding)}function p(t){return t&&t.length?this.write(t):""}e.s=o,o.prototype.write=function(t){if(0===t.length)return "";var e,n;if(this.lastNeed){if(void 0===(e=this.fillLast(t)))return "";n=this.lastNeed,this.lastNeed=0;}else n=0;return n=0?(i>0&&(t.lastNeed=i-1),i):--r=0?(i>0&&(t.lastNeed=i-2),i):--r=0?(i>0&&(2===i?i=0:t.lastNeed=i-3),i):0}(this,t,e);if(!this.lastNeed)return t.toString("utf8",e);this.lastTotal=n;var r=t.length-(n-this.lastNeed);return t.copy(this.lastChar,0,r),t.toString("utf8",e,r)},o.prototype.fillLast=function(t){if(this.lastNeed<=t.length)return t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,t.length),this.lastNeed-=t.length;};},842:(t,e,n)=>{"use strict";var r=n(3085).lW;Object.defineProperty(e,"__esModule",{value:!0}),e.AbstractTokenizer=void 0;const i=n(5167);e.AbstractTokenizer=class{constructor(t){this.position=0,this.numBuffer=new Uint8Array(8),this.fileInfo=t||{};}async readToken(t,e=this.position){const n=r.alloc(t.len);if(await this.readBuffer(n,{position:e})e)return this.position+=e,e}return this.position+=t,t}async close(){}normalizeOptions(t,e){if(e&&void 0!==e.position&&e.position{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.BufferTokenizer=void 0;const r=n(5167),i=n(842);class o extends i.AbstractTokenizer{constructor(t,e){super(e),this.uint8Array=t,this.fileInfo.size=this.fileInfo.size?this.fileInfo.size:t.length;}async readBuffer(t,e){if(e&&e.position){if(e.position{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.fromFile=e.FileTokenizer=void 0;const r=n(842),i=n(5167),o=n(7209);class a extends r.AbstractTokenizer{constructor(t,e){super(e),this.fd=t;}async readBuffer(t,e){const n=this.normalizeOptions(t,e);this.position=n.position;const r=await o.read(this.fd,t,n.offset,n.length,n.position);if(this.position+=r.bytesRead,r.bytesRead{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.readFile=e.writeFileSync=e.writeFile=e.read=e.open=e.close=e.stat=e.createReadStream=e.pathExists=void 0;const r=n(4059);e.pathExists=r.existsSync,e.createReadStream=r.createReadStream,e.stat=async function(t){return new Promise(((e,n)=>{r.stat(t,((t,r)=>{t?n(t):e(r);}));}))},e.close=async function(t){return new Promise(((e,n)=>{r.close(t,(t=>{t?n(t):e();}));}))},e.open=async function(t,e){return new Promise(((n,i)=>{r.open(t,e,((t,e)=>{t?i(t):n(e);}));}))},e.read=async function(t,e,n,i,o){return new Promise(((a,s)=>{r.read(t,e,n,i,o,((t,e,n)=>{t?s(t):a({bytesRead:e,buffer:n});}));}))},e.writeFile=async function(t,e){return new Promise(((n,i)=>{r.writeFile(t,e,(t=>{t?i(t):n();}));}))},e.writeFileSync=function(t,e){r.writeFileSync(t,e);},e.readFile=async function(t){return new Promise(((e,n)=>{r.readFile(t,((t,r)=>{t?n(t):e(r);}));}))};},599:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ReadStreamTokenizer=void 0;const r=n(842),i=n(5167);class o extends r.AbstractTokenizer{constructor(t,e){super(e),this.streamReader=new i.StreamReader(t);}async getFileInfo(){return this.fileInfo}async readBuffer(t,e){const n=this.normalizeOptions(t,e),r=n.position-this.position;if(r>0)return await this.ignore(r),this.readBuffer(t,e);if(r<0)throw new Error("`options.position` must be equal or greater than `tokenizer.position`");if(0===n.length)return 0;const o=await this.streamReader.read(t,n.offset,n.length);if(this.position+=o,(!e||!e.mayBeLess)&&o0){const i=new Uint8Array(n.length+e);return r=await this.peekBuffer(i,{mayBeLess:n.mayBeLess}),t.set(i.subarray(e),n.offset),r-e}if(e<0)throw new Error("Cannot peek from a negative offset in a stream")}if(n.length>0){try{r=await this.streamReader.peek(t,n.offset,n.length);}catch(t){if(e&&e.mayBeLess&&t instanceof i.EndOfStreamError)return 0;throw t}if(!n.mayBeLess&&r{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.fromBuffer=e.fromStream=e.EndOfStreamError=void 0;const r=n(599),i=n(778);var o=n(5167);Object.defineProperty(e,"EndOfStreamError",{enumerable:!0,get:function(){return o.EndOfStreamError}}),e.fromStream=function(t,e){return e=e||{},new r.ReadStreamTokenizer(t,e)},e.fromBuffer=function(t,e){return new i.BufferTokenizer(t,e)};},6597:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.fromStream=e.fromBuffer=e.EndOfStreamError=e.fromFile=void 0;const r=n(7209),i=n(5849);var o=n(7859);Object.defineProperty(e,"fromFile",{enumerable:!0,get:function(){return o.fromFile}});var a=n(5849);Object.defineProperty(e,"EndOfStreamError",{enumerable:!0,get:function(){return a.EndOfStreamError}}),Object.defineProperty(e,"fromBuffer",{enumerable:!0,get:function(){return a.fromBuffer}}),e.fromStream=async function(t,e){if(e=e||{},t.path){const n=await r.stat(t.path);e.path=t.path,e.size=n.size;}return i.fromStream(t,e)};},3416:(t,e,n)=>{"use strict";var r=n(3085).lW;Object.defineProperty(e,"__esModule",{value:!0}),e.AnsiStringType=e.StringType=e.BufferType=e.Uint8ArrayType=e.IgnoreType=e.Float80_LE=e.Float80_BE=e.Float64_LE=e.Float64_BE=e.Float32_LE=e.Float32_BE=e.Float16_LE=e.Float16_BE=e.INT64_BE=e.UINT64_BE=e.INT64_LE=e.UINT64_LE=e.INT32_LE=e.INT32_BE=e.INT24_BE=e.INT24_LE=e.INT16_LE=e.INT16_BE=e.INT8=e.UINT32_BE=e.UINT32_LE=e.UINT24_BE=e.UINT24_LE=e.UINT16_BE=e.UINT16_LE=e.UINT8=void 0;const i=n(645);function o(t){return new DataView(t.buffer,t.byteOffset)}e.UINT8={len:1,get:(t,e)=>o(t).getUint8(e),put:(t,e,n)=>(o(t).setUint8(e,n),e+1)},e.UINT16_LE={len:2,get:(t,e)=>o(t).getUint16(e,!0),put:(t,e,n)=>(o(t).setUint16(e,n,!0),e+2)},e.UINT16_BE={len:2,get:(t,e)=>o(t).getUint16(e),put:(t,e,n)=>(o(t).setUint16(e,n),e+2)},e.UINT24_LE={len:3,get(t,e){const n=o(t);return n.getUint8(e)+(n.getUint16(e+1,!0)<<8)},put(t,e,n){const r=o(t);return r.setUint8(e,255&n),r.setUint16(e+1,n>>8,!0),e+3}},e.UINT24_BE={len:3,get(t,e){const n=o(t);return (n.getUint16(e)<<8)+n.getUint8(e+2)},put(t,e,n){const r=o(t);return r.setUint16(e,n>>8),r.setUint8(e+2,255&n),e+3}},e.UINT32_LE={len:4,get:(t,e)=>o(t).getUint32(e,!0),put:(t,e,n)=>(o(t).setUint32(e,n,!0),e+4)},e.UINT32_BE={len:4,get:(t,e)=>o(t).getUint32(e),put:(t,e,n)=>(o(t).setUint32(e,n),e+4)},e.INT8={len:1,get:(t,e)=>o(t).getInt8(e),put:(t,e,n)=>(o(t).setInt8(e,n),e+1)},e.INT16_BE={len:2,get:(t,e)=>o(t).getInt16(e),put:(t,e,n)=>(o(t).setInt16(e,n),e+2)},e.INT16_LE={len:2,get:(t,e)=>o(t).getInt16(e,!0),put:(t,e,n)=>(o(t).setInt16(e,n,!0),e+2)},e.INT24_LE={len:3,get(t,n){const r=e.UINT24_LE.get(t,n);return r>8388607?r-16777216:r},put(t,e,n){const r=o(t);return r.setUint8(e,255&n),r.setUint16(e+1,n>>8,!0),e+3}},e.INT24_BE={len:3,get(t,n){const r=e.UINT24_BE.get(t,n);return r>8388607?r-16777216:r},put(t,e,n){const r=o(t);return r.setUint16(e,n>>8),r.setUint8(e+2,255&n),e+3}},e.INT32_BE={len:4,get:(t,e)=>o(t).getInt32(e),put:(t,e,n)=>(o(t).setInt32(e,n),e+4)},e.INT32_LE={len:4,get:(t,e)=>o(t).getInt32(e,!0),put:(t,e,n)=>(o(t).setInt32(e,n,!0),e+4)},e.UINT64_LE={len:8,get:(t,e)=>o(t).getBigUint64(e,!0),put:(t,e,n)=>(o(t).setBigUint64(e,n,!0),e+8)},e.INT64_LE={len:8,get:(t,e)=>o(t).getBigInt64(e,!0),put:(t,e,n)=>(o(t).setBigInt64(e,n,!0),e+8)},e.UINT64_BE={len:8,get:(t,e)=>o(t).getBigUint64(e),put:(t,e,n)=>(o(t).setBigUint64(e,n),e+8)},e.INT64_BE={len:8,get:(t,e)=>o(t).getBigInt64(e),put:(t,e,n)=>(o(t).setBigInt64(e,n),e+8)},e.Float16_BE={len:2,get(t,e){return i.read(t,e,!1,10,this.len)},put(t,e,n){return i.write(t,n,e,!1,10,this.len),e+this.len}},e.Float16_LE={len:2,get(t,e){return i.read(t,e,!0,10,this.len)},put(t,e,n){return i.write(t,n,e,!0,10,this.len),e+this.len}},e.Float32_BE={len:4,get:(t,e)=>o(t).getFloat32(e),put:(t,e,n)=>(o(t).setFloat32(e,n),e+4)},e.Float32_LE={len:4,get:(t,e)=>o(t).getFloat32(e,!0),put:(t,e,n)=>(o(t).setFloat32(e,n,!0),e+4)},e.Float64_BE={len:8,get:(t,e)=>o(t).getFloat64(e),put:(t,e,n)=>(o(t).setFloat64(e,n),e+8)},e.Float64_LE={len:8,get:(t,e)=>o(t).getFloat64(e,!0),put:(t,e,n)=>(o(t).setFloat64(e,n,!0),e+8)},e.Float80_BE={len:10,get(t,e){return i.read(t,e,!1,63,this.len)},put(t,e,n){return i.write(t,n,e,!1,63,this.len),e+this.len}},e.Float80_LE={len:10,get(t,e){return i.read(t,e,!0,63,this.len)},put(t,e,n){return i.write(t,n,e,!0,63,this.len),e+this.len}},e.IgnoreType=class{constructor(t){this.len=t;}get(t,e){}},e.Uint8ArrayType=class{constructor(t){this.len=t;}get(t,e){return t.subarray(e,e+this.len)}},e.BufferType=class{constructor(t){this.len=t;}get(t,e){return r.from(t.subarray(e,e+this.len))}},e.StringType=class{constructor(t,e){this.len=t,this.encoding=e;}get(t,e){return r.from(t).toString(this.encoding,e,e+this.len)}};class a{constructor(t){this.len=t;}static decode(t,e,n){let r="";for(let i=e;i>10),56320+(1023&t)))}static singleByteDecoder(t){if(a.inRange(t,0,127))return t;const e=a.windows1252[t-128];if(null===e)throw Error("invaliding encoding");return e}get(t,e=0){return a.decode(t,e,e+this.len)}}e.AnsiStringType=a,a.windows1252=[8364,129,8218,402,8222,8230,8224,8225,710,8240,352,8249,338,141,381,143,144,8216,8217,8220,8221,8226,8211,8212,732,8482,353,8250,339,157,382,376,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255];},1191:function(t,e,n){"use strict";var r=n(4155),i=this&&this.__awaiter||function(t,e,n,r){return new(n||(n=Promise))((function(i,o){function a(t){try{u(r.next(t));}catch(t){o(t);}}function s(t){try{u(r.throw(t));}catch(t){o(t);}}function u(t){var e;t.done?i(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e);}))).then(a,s);}u((r=r.apply(t,e||[])).next());}))},o=this&&this.__generator||function(t,e){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(s){return function(u){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;o&&(o=0,s[0]&&(a=0)),a;)try{if(n=1,r&&(i=2&s[0]?r.return:s[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,s[1])).done)return i;switch(r=0,i&&(s=[2&s[0],i.value]),s[0]){case 0:case 1:i=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,r=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!((i=(i=a.trys).length>0&&i[i.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!i||s[1]>i[0]&&s[1]{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.BoundingBox=void 0;var r=n(5604),i=n(1375),o=function(){function t(e,n,r,i){e instanceof t?(this.minLongitude=e.minLongitude,this.maxLongitude=e.maxLongitude,this.minLatitude=e.minLatitude,this.maxLatitude=e.maxLatitude):(this.minLongitude=e,this.maxLongitude=n,this.minLatitude=r,this.maxLatitude=i);}return Object.defineProperty(t.prototype,"minLongitude",{get:function(){return this._minLongitude},set:function(t){this._minLongitude=t,this.width=this.maxLongitude-this.minLongitude;},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"maxLongitude",{get:function(){return this._maxLongitude},set:function(t){this._maxLongitude=t,this.width=this.maxLongitude-this.minLongitude;},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"minLatitude",{get:function(){return this._minLatitude},set:function(t){this._minLatitude=t,this.height=this.maxLatitude-this.minLatitude;},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"maxLatitude",{get:function(){return this._maxLatitude},set:function(t){this._maxLatitude=t,this.height=this.maxLatitude-this.minLatitude;},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"width",{get:function(){return this._width},set:function(t){this._width=t;},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"height",{get:function(){return this._height},set:function(t){this._height=t;},enumerable:!1,configurable:!0}),t.prototype.buildEnvelope=function(){return {minY:this.minLatitude,minX:this.minLongitude,maxY:this.maxLatitude,maxX:this.maxLongitude}},t.prototype.toGeoJSON=function(){return {type:"Feature",properties:{},geometry:{type:"Polygon",coordinates:[[[this.minLongitude,this.minLatitude],[this.maxLongitude,this.minLatitude],[this.maxLongitude,this.maxLatitude],[this.minLongitude,this.maxLatitude],[this.minLongitude,this.minLatitude]]]}}},t.prototype.equals=function(t){return !!t&&(this===t||this.maxLatitude===t.maxLatitude&&this.minLatitude===t.minLatitude&&this.maxLongitude===t.maxLongitude&&this.maxLatitude===t.maxLatitude)},t.prototype.projectBoundingBox=function(e,n){var o=this.minLatitude,a=this.maxLatitude,s=this.minLongitude,u=this.maxLongitude;if(e&&"undefined"!==e&&n&&"undefined"!==n){r.Projection.isWebMercator(n)&&r.Projection.isWGS84(e)&&(a=Math.min(a,i.ProjectionConstants.WEB_MERCATOR_MAX_LAT_RANGE),o=Math.max(o,i.ProjectionConstants.WEB_MERCATOR_MIN_LAT_RANGE),u=Math.min(u,i.ProjectionConstants.WEB_MERCATOR_MAX_LON_RANGE),s=Math.max(s,i.ProjectionConstants.WEB_MERCATOR_MIN_LON_RANGE));var l=void 0;l=r.Projection.isConverter(n)?n:r.Projection.getConverter(n);var c=void 0;if(c=r.Projection.isConverter(e)?e:r.Projection.getConverter(e),r.Projection.convertersMatch(l,c))return new t(s,u,o,a);var h=l.forward(c.inverse([s,o])),f=l.forward(c.inverse([u,a])),p=l.forward(c.inverse([u,o])),d=l.forward(c.inverse([s,a]));return new t(Math.min(h[0],d[0]),Math.max(f[0],p[0]),Math.min(h[1],p[1]),Math.max(f[1],p[1]))}return this},t}();e.BoundingBox=o;},3437:function(t,e){"use strict";var n=this&&this.__awaiter||function(t,e,n,r){return new(n||(n=Promise))((function(i,o){function a(t){try{u(r.next(t));}catch(t){o(t);}}function s(t){try{u(r.throw(t));}catch(t){o(t);}}function u(t){var e;t.done?i(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e);}))).then(a,s);}u((r=r.apply(t,e||[])).next());}))},r=this&&this.__generator||function(t,e){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(s){return function(u){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;o&&(o=0,s[0]&&(a=0)),a;)try{if(n=1,r&&(i=2&s[0]?r.return:s[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,s[1])).done)return i;switch(r=0,i&&(s=[2&s[0],i.value]),s[0]){case 0:case 1:i=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,r=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!((i=(i=a.trys).length>0&&i[i.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!i||s[1]>i[0]&&s[1]0&&i[i.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!i||s[1]>i[0]&&s[1]{"use strict";var r=n(3085).lW;Object.defineProperty(e,"__esModule",{value:!0}),e.CanvasUtils=void 0;var i=function(){function t(){}return t.base64toUInt8Array=function(t){for(var e=r.from(t,"base64").toString("binary"),n=e.length,i=new Uint8Array(n);n--;)i[n]=e.charCodeAt(n);return i},t}();e.CanvasUtils=i;},2807:function(t,e,n){"use strict";var r=n(3085).lW,i=this&&this.__awaiter||function(t,e,n,r){return new(n||(n=Promise))((function(i,o){function a(t){try{u(r.next(t));}catch(t){o(t);}}function s(t){try{u(r.throw(t));}catch(t){o(t);}}function u(t){var e;t.done?i(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e);}))).then(a,s);}u((r=r.apply(t,e||[])).next());}))},o=this&&this.__generator||function(t,e){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(s){return function(u){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;o&&(o=0,s[0]&&(a=0)),a;)try{if(n=1,r&&(i=2&s[0]?r.return:s[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,s[1])).done)return i;switch(r=0,i&&(s=[2&s[0],i.value]),s[0]){case 0:case 1:i=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,r=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!((i=(i=a.trys).length>0&&i[i.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!i||s[1]>i[0]&&s[1]0&&i[i.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!i||s[1]>i[0]&&s[1]0&&i[i.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!i||s[1]>i[0]&&s[1]{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Contents=void 0;var n=function(){function t(){}return t.prototype.copy=function(){var e=new t;return e.table_name=this.table_name,e.data_type=this.data_type,e.identifier=this.identifier,e.description=this.description,e.min_x=this.min_x,e.max_x=this.max_x,e.min_y=this.min_y,e.max_y=this.max_y,e.srs_id=this.srs_id,e},t.prototype.getTableName=function(){return this.table_name},t}();e.Contents=n;},6638:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);}),o=this&&this.__values||function(t){var e="function"==typeof Symbol&&Symbol.iterator,n=e&&t[e],r=0;if(n)return n.call(t);if(t&&"number"==typeof t.length)return {next:function(){return t&&r>=t.length&&(t=void 0),{value:t&&t[r++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.ContentsDao=void 0;var a=n(4115),s=n(3506),u=n(5925),l=n(1968),c=n(5897),h=n(8572),f=n(2527),p=n(9971),d=n(1375),y=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.gpkgTableName=e.TABLE_NAME,n.idColumns=[e.COLUMN_PK],n}return i(e,t),e.prototype.createObject=function(t){var e=new c.Contents;return t&&(e.table_name=t.table_name,e.data_type=t.data_type,e.identifier=t.identifier,e.description=t.description,e.last_change=t.last_change,e.min_y=t.min_y,e.max_y=t.max_y,e.min_x=t.min_x,e.max_x=t.max_x,e.srs_id=t.srs_id),e},e.prototype.getTables=function(t){var n;if(t){var r=new h.ColumnValues;r.addColumn(e.COLUMN_DATA_TYPE,t),n=this.queryForColumns("table_name",r);}else n=this.queryForColumns("table_name");for(var i=[],o=0;o0&&a.forEach((function(t){o.deleteByMultiId([t.table_name,t.zoom_level]);}));}var s=this.geoPackage.tileMatrixSetDao;if(s.isTableExists()){var u=this.getTileMatrixSet(t);null!=u&&s.deleteById(u.table_name);}break;case p.ContentsDataType.ATTRIBUTES:this.dropTableWithTableName(t.table_name);}else this.dropTableWithTableName(t.table_name);e=this.delete(t);}return e},e.prototype.deleteCascade=function(t,e){var n=this.deleteCascadeContents(t);return e&&this.dropTableWithTableName(t.table_name),n},e.prototype.deleteByIdCascade=function(t,e){var n=0;if(null!=t){var r=this.queryForId(t);null!=r?n=this.deleteCascade(r,e):e&&this.dropTableWithTableName(t);}return n},e.prototype.deleteTable=function(t){try{this.deleteByIdCascade(t,!0);}catch(e){throw new Error("Failed to delete table: "+t)}},e.TABLE_NAME="gpkg_contents",e.COLUMN_PK="table_name",e.COLUMN_TABLE_NAME="table_name",e.COLUMN_DATA_TYPE="data_type",e.COLUMN_IDENTIFIER="identifier",e.COLUMN_DESCRIPTION="description",e.COLUMN_LAST_CHANGE="last_change",e.COLUMN_MIN_X="min_x",e.COLUMN_MIN_Y="min_y",e.COLUMN_MAX_X="max_x",e.COLUMN_MAX_Y="max_y",e.COLUMN_SRS_ID="srs_id",e}(a.Dao);e.ContentsDao=y;},9971:(t,e)=>{"use strict";var n;Object.defineProperty(e,"__esModule",{value:!0}),e.ContentsDataType=void 0,(n=e.ContentsDataType||(e.ContentsDataType={})).FEATURES="features",n.TILES="tiles",n.ATTRIBUTES="attributes",function(t){t.nameFromType=function(e){return t[e]},t.fromName=function(e){var n=null;if(null!=e)switch(e.toLowerCase()){case t.FEATURES:n=t.FEATURES;break;case t.TILES:n=t.TILES;break;case t.ATTRIBUTES:n=t.ATTRIBUTES;}return n};}(e.ContentsDataType||(e.ContentsDataType={}));},341:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SpatialReferenceSystem=void 0;var r=n(5604),i=n(1375),o=function(){function t(){}return Object.defineProperty(t.prototype,"projection",{get:function(){return "NONE"===this.organization?null:!this.organization||this.organization.toUpperCase()!==i.ProjectionConstants.EPSG||this.organization_coordsys_id!==i.ProjectionConstants.EPSG_CODE_4326&&this.organization_coordsys_id!==i.ProjectionConstants.EPSG_CODE_3857?this.definition_12_063&&""!==this.definition_12_063&&"undefined"!==this.definition_12_063?r.Projection.getConverter(this.definition_12_063):this.definition&&""!==this.definition&&"undefined"!==this.definition?r.Projection.getConverter(this.definition):null:r.Projection.getEPSGConverter(this.organization_coordsys_id)},enumerable:!1,configurable:!0}),t.TABLE_NAME="gpkg_spatial_ref_sys",t}();e.SpatialReferenceSystem=o;},5965:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);});Object.defineProperty(e,"__esModule",{value:!0}),e.SpatialReferenceSystemDao=void 0;var o=n(4115),a=n(341),s=n(8572),u=n(1375),l=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.idColumns=[e.COLUMN_SRS_ID],n.gpkgTableName=e.TABLE_NAME,n}return i(e,t),e.prototype.createObject=function(t){var e=new a.SpatialReferenceSystem;return t&&(e.srs_name=t.srs_name,e.srs_id=t.srs_id,e.organization=t.organization,e.organization_coordsys_id=t.organization_coordsys_id,e.definition=t.definition,e.definition_12_063=t.definition,e.description=t.description),e},e.prototype.getAllSpatialReferenceSystems=function(){var t=[];if(null!=this.connection&&this.isTableExists()){var e=this.queryForAll();if(e&&e.length)for(var n=0;n{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ColumnValues=void 0;var n=function(){function t(){this.values={},this.columns=[];}return t.prototype.addColumn=function(t,e){this.columns.push(t),this.values[t]=e;},t.prototype.getValue=function(t){return this.values[t]},t}();e.ColumnValues=n;},4115:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Dao=void 0;var r=n(8572),i=n(8877),o=n(5042),a=function(){function t(t){this.geoPackage=t,this.connection=t.database;}return t.prototype.isTableExists=function(){return this.connection.isTableExists(this.gpkgTableName)},t.prototype.refresh=function(t){return this.queryForSameId(t)},t.prototype.queryForId=function(t){var e=this.buildPkWhere(t),n=this.buildPkWhereArgs(t),r=i.SqliteQueryBuilder.buildQuery(!1,"'"+this.gpkgTableName+"'",void 0,e),o=this.connection.get(r,n);if(o)return this.createObject(o)},t.prototype.queryForSameId=function(t){var e=this.getMultiId(t);return this.queryForMultiId(e)},t.prototype.getMultiId=function(t){for(var e=[],n=0;n{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.DataColumnConstraints=void 0;e.DataColumnConstraints=function(){};},7175:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);});Object.defineProperty(e,"__esModule",{value:!0}),e.DataColumnConstraintsDao=void 0;var o=n(4115),a=n(8590),s=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.gpkgTableName=e.TABLE_NAME,n.idColumns=[e.COLUMN_CONSTRAINT_NAME,e.COLUMN_CONSTRAINT_TYPE,e.COLUMN_VALUE],n}return i(e,t),e.prototype.createObject=function(t){var e=new a.DataColumnConstraints;return t&&(e.constraint_name=t.constraint_name,e.constraint_type=t.constraint_type,e.value=t.value,e.min=t.min,e.max=t.max,e.min_is_inclusive=t.min_is_inclusive,e.max_is_inclusive=t.max_is_inclusive,e.description=t.description),e},e.prototype.queryByConstraintName=function(t){return this.queryForEach(e.COLUMN_CONSTRAINT_NAME,t)},e.prototype.queryUnique=function(t,e,n){var r=new a.DataColumnConstraints;return r.constraint_name=t,r.constraint_type=e,r.value=n,this.queryForSameId(r)},e.TABLE_NAME="gpkg_data_column_constraints",e.COLUMN_CONSTRAINT_NAME="constraint_name",e.COLUMN_CONSTRAINT_TYPE="constraint_type",e.COLUMN_VALUE="value",e.COLUMN_MIN="min",e.COLUMN_MIN_IS_INCLUSIVE="min_is_inclusive",e.COLUMN_MAX="max",e.COLUMN_MAX_IS_INCLUSIVE="max_is_inclusive",e.COLUMN_DESCRIPTION="description",e.ENUM_TYPE="enum",e.GLOB_TYPE="glob",e.RANGE_TYPE="range",e}(o.Dao);e.DataColumnConstraintsDao=s;},8133:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.DataColumns=void 0;e.DataColumns=function(t){t=t||{},this.table_name=t.table_name,this.column_name=t.column_name,this.name=t.name,this.title=t.title,this.description=t.description,this.mime_type=t.mime_type,this.constraint_name=t.constraint_name;};},4941:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);}),o=this&&this.__values||function(t){var e="function"==typeof Symbol&&Symbol.iterator,n=e&&t[e],r=0;if(n)return n.call(t);if(t&&"number"==typeof t.length)return {next:function(){return t&&r>=t.length&&(t=void 0),{value:t&&t[r++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.DataColumnsDao=void 0;var a=n(4115),s=n(6638),u=n(8133),l=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.gpkgTableName=e.TABLE_NAME,n.idColumns=[e.COLUMN_PK1,e.COLUMN_PK2],n}return i(e,t),e.prototype.createObject=function(t){var e=new u.DataColumns;return t&&(e.table_name=t.table_name,e.column_name=t.column_name,e.name=t.name,e.title=t.title,e.description=t.description,e.mime_type=t.mime_type,e.constraint_name=t.constraint_name),e},e.prototype.getContents=function(t){return new s.ContentsDao(this.geoPackage).queryForId(t.table_name)},e.prototype.queryByConstraintName=function(t){return this.queryForEach(e.COLUMN_CONSTRAINT_NAME,t)},e.prototype.getDataColumns=function(t,n){var r,i;if(this.isTableExists()){var a,s=this.buildWhereWithFieldAndValue(e.COLUMN_TABLE_NAME,t)+" and "+this.buildWhereWithFieldAndValue(e.COLUMN_COLUMN_NAME,n),u=[t,n];try{for(var l=o(this.queryWhere(s,u)),c=l.next();!c.done;c=l.next()){var h=c.value;a=this.createObject(h);}}catch(t){r={error:t};}finally{try{c&&!c.done&&(i=l.return)&&i.call(l);}finally{if(r)throw r.error}}return a}},e.prototype.deleteByTableName=function(t){var n="";n+=this.buildWhereWithFieldAndValue(e.COLUMN_TABLE_NAME,t);var r=this.buildWhereArgs(t);return this.deleteWhere(n,r)},e.TABLE_NAME="gpkg_data_columns",e.COLUMN_PK1="table_name",e.COLUMN_PK2="column_name",e.COLUMN_TABLE_NAME="table_name",e.COLUMN_COLUMN_NAME="column_name",e.COLUMN_NAME="name",e.COLUMN_TITLE="title",e.COLUMN_DESCRIPTION="description",e.COLUMN_MIME_TYPE="mime_type",e.COLUMN_CONSTRAINT_NAME="constraint_name",e}(a.Dao);e.DataColumnsDao=l;},8314:(t,e,n)=>{"use strict";var r=n(5108);Object.defineProperty(e,"__esModule",{value:!0}),e.AlterTable=void 0;var i=n(362),o=n(5042),a=n(5329),s=n(2431),u=n(2841),l=n(1133),c=n(7043),h=n(175),f=n(8934),p=n(1078),d=n(735),y=function(){function t(){}return t.alterTableSQL=function(t){return "ALTER TABLE "+a.StringUtils.quoteWrap(t)},t.renameTable=function(e,n,r){var i=t.renameTableSQL(n,r);e.run(i);},t.renameTableSQL=function(e,n){return t.alterTableSQL(e)+" RENAME TO "+a.StringUtils.quoteWrap(n)},t.renameColumn=function(e,n,r,i){var o=t.renameColumnSQL(n,r,i);e.run(o);},t.renameColumnSQL=function(e,n,r){return t.alterTableSQL(e)+" RENAME COLUMN "+a.StringUtils.quoteWrap(n)+" TO "+a.StringUtils.quoteWrap(r)},t.addColumn=function(e,n,r,i){var o=t.addColumnSQL(n,r,i);e.run(o);},t.addColumnSQL=function(e,n,r){return t.alterTableSQL(e)+" ADD COLUMN "+a.StringUtils.quoteWrap(n)+" "+r},t.dropColumnForUserTable=function(e,n,r){t.dropColumnsForUserTable(e,n,[r]);},t.dropColumnsForUserTable=function(e,n,r){var i=n.copy();r.forEach((function(t){i.dropColumnWithName(t);}));var o=new s.TableMapping(i.getTableName(),i.getTableName(),i.getUserColumns().getColumns());r.forEach((function(t){o.addDroppedColumn(t);})),t.alterTableWithTableMapping(e,i,o),r.forEach((function(t){n.dropColumnWithName(t);}));},t.dropColumn=function(e,n,r){t.dropColumns(e,n,[r]);},t.dropColumns=function(e,n,r){var o=new i.UserCustomTableReader(n).readTable(e);t.dropColumnsForUserTable(e,o,r);},t.alterColumnForTable=function(e,n,r){t.alterColumnsForTable(e,n,[r]);},t.alterColumnsForTable=function(e,n,r){var i=n.copy();r.forEach((function(t){i.alterColumn(t);})),t.alterTable(e,i),r.forEach((function(t){n.alterColumn(t);}));},t.alterColumn=function(e,n,r){t.alterColumns(e,n,[r]);},t.alterColumns=function(e,n,r){var o=new i.UserCustomTableReader(n).readTable(e);t.alterColumnsForTable(e,o,r);},t.copyTable=function(e,n,r,i){void 0===i&&(i=!0);var o=new s.TableMapping(n.getTableName(),r,n.getUserColumns().getColumns());o.transferContent=i,t.alterTableWithTableMapping(e,n,o);},t.copyTableWithName=function(e,n,r,o){void 0===o&&(o=!0);var a=new i.UserCustomTableReader(n).readTable(e);t.copyTable(e,a,r,o);},t.alterTable=function(e,n){var r=new s.TableMapping(n.getTableName(),n.getTableName(),n.getUserColumns().getColumns());t.alterTableWithTableMapping(e,n,r);},t.alterTableWithTableMapping=function(e,n,r){n.getUserColumns().getColumns().forEach((function(t){t.clearConstraints().forEach((function(e){var n=o.CoreSQLUtils.modifySQL(null,e.name,e.buildSql(),r);null!=n&&t.addConstraint(new u.RawConstraint(e.type,l.ConstraintParser.getName(n),n));}));})),n.clearConstraints().forEach((function(t){var e=o.CoreSQLUtils.modifySQL(null,t.name,t.buildSql(),r);null!=e&&n.addConstraint(new u.RawConstraint(t.type,t.name,e));}));var i=o.CoreSQLUtils.createTableSQL(n);t.alterTableWithSQLAndTableMapping(e,i,r);},t.alterTableWithSQLAndTableMapping=function(e,n,i){var a=i.fromTable,s=i.isNewTable(),u=o.CoreSQLUtils.setForeignKeys(e,!1);e.transaction((function(){try{var l=c.SQLiteMaster.queryViewsOnTable(e,[h.SQLiteMasterColumn.NAME,h.SQLiteMasterColumn.SQL],a);if(!s)for(var y=0;y0){for(var n=[],r=0;r0&&(n=n.concat(" ")),n=n.concat(r+1).concat(": ");for(var i=e[r],a=0;a0&&(n=n.concat(", ")),n=n.concat(i.get(a));}throw new Error("Foreign Key Check Violations: "+n)}},t}();e.AlterTable=y;},5042:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.CoreSQLUtils=void 0;var r=n(5329),i=n(2431),o=n(5045),a=n(7043),s=n(1078),u=n(175),l=function(){function t(){}return t.createTableSQL=function(e){var n="";n=n.concat("CREATE TABLE ").concat(r.StringUtils.quoteWrap(e.getTableName())).concat(" (");for(var i=e.getUserColumns().getColumns(),o=0;o0&&(n=n.concat(",")),n=(n=n.concat("\n ")).concat(t.columnSQL(a));}return e.getConstraints().all().forEach((function(t){n=(n=n.concat(",\n ")).concat(t.buildSql());})),n=n.concat("\n);")},t.columnSQL=function(e){return r.StringUtils.quoteWrap(e.getName())+" "+t.columnDefinition(e)},t.columnDefinition=function(t){var e="";return e=e.concat(t.getType()),t.hasMax()&&(e=e.concat("(").concat(t.getMax().toString()).concat(")")),t.getConstraints().all().forEach((function(n){e=(e=e.concat(" ")).concat(t.buildConstraintSql(n));})),e.toString()},t.foreignKeys=function(t){var e=t.get("PRAGMA foreign_keys",null)[0];return null!=e&&e},t.setForeignKeys=function(e,n){var r=t.foreignKeys(e);if(r!==n){var i=t.foreignKeysSQL(n);e.run(i);}return r},t.foreignKeysSQL=function(t){return "PRAGMA foreign_keys = "+t},t.foreignKeyCheck=function(e){var n=t.foreignKeyCheckSQL(null);return e.all(n,null)},t.foreignKeyCheckForTable=function(e,n){var r=t.foreignKeyCheckSQL(n);return e.all(r,null)},t.foreignKeyCheckSQL=function(t){return "PRAGMA foreign_key_check"+(null!=t?"("+r.StringUtils.quoteWrap(t)+")":"")},t.integrityCheckSQL=function(){return "PRAGMA integrity_check"},t.quickCheckSQL=function(){return "PRAGMA quick_check"},t.dropTable=function(e,n){var r=t.dropTableSQL(n);e.run(r);},t.dropTableSQL=function(t){return "DROP TABLE IF EXISTS "+r.StringUtils.quoteWrap(t)},t.dropView=function(e,n){var r=t.dropViewSQL(n);e.run(r);},t.dropViewSQL=function(t){return "DROP VIEW IF EXISTS "+r.StringUtils.quoteWrap(t)},t.transferTableContentForTableMapping=function(e,n){var r=t.transferTableContentSQL(n);e.run(r);},t.transferTableContentSQL=function(t){var e="INSERT INTO ";e=(e=e.concat(r.StringUtils.quoteWrap(t.toTable))).concat(" (");var n="",i="";t.hasWhere()&&(i=i.concat(t.where));var o=t.getColumns();return t.getColumnNames().forEach((function(t){var a=t,s=o[t];n.length>0&&(e=e.concat(", "),n=n.concat(", ")),e=e.concat(r.StringUtils.quoteWrap(a)),s.hasConstantValue()?n=n.concat(s.getConstantValueAsString()):(s.hasDefaultValue()&&(n=n.concat("ifnull(")),n=n.concat(r.StringUtils.quoteWrap(s.fromColumn)),s.hasDefaultValue()&&(n=(n=(n=n.concat(",")).concat(s.getDefaultValueAsString())).concat(")"))),s.hasWhereValue()&&(i.length>0&&(i=i.concat(" AND ")),i=(i=(i=(i=(i=i.concat(r.StringUtils.quoteWrap(s.fromColumn))).concat(" ")).concat(s.whereOperator)).concat(" ")).concat(s.getWhereValueAsString()));})),e=(e=(e=(e=e.concat(") SELECT ")).concat(n)).concat(" FROM ")).concat(r.StringUtils.quoteWrap(t.fromTable)),i.length>0&&(e=(e=e.concat(" WHERE ")).concat(i)),e.toString()},t.transferTableContent=function(e,n,r,a,s,u){var l=o.TableInfo.info(e,n),c=i.TableMapping.fromTableInfo(l);null!=u&&c.removeColumn(u);var h=c.getColumn(r);h.constantValue=a,h.whereValue=s,t.transferTableContentForTableMapping(e,c);},t.tempTableName=function(t,e,n){for(var r=e+"_"+n,i=0;t.tableExists(r);)r=e+ ++i+"_"+n;return r},t.modifySQL=function(e,n,r,i){var o=r;if(null!=n&&i.isNewTable()){var a=t.createName(e,n,i.fromTable,i.toTable),s=t.replaceName(o,n,a);null!=s&&(o=s);var u=t.replaceName(o,i.fromTable,i.toTable);null!=u&&(o=u);}return t.modifySQLWithTableMapping(o,i)},t.modifySQLWithTableMapping=function(e,n){for(var r=e,i=Array.from(n.droppedColumns),o=0;o=0){for(var i=!1,o="",a=t.split(e),s=0;s<=a.length;s++){if(s>0){var u="_",l=a[s-1];0===l.length?1==s&&(u=" "):u=l.substring(l.length-1);var c="_";if(s0&&c.match("\\W").length>0?(o=o.concat(n),i=!0):o=o.concat(e);}s=0&&h+10&&(l=l.substring(0,h),c=parseInt(f));}if(o=l+"_"+ ++c,null!=e)for(;a.SQLiteMaster.count(e,null,s.SQLiteMasterQuery.createForColumnValue(u.SQLiteMasterColumn.NAME,o))>0;)o=l+"_"+ ++c;}return o},t.vacuum=function(t){t.run("VACUUM");},t.NUMBER_PATTERN="\\d+",t}();e.CoreSQLUtils=l;},4777:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Db=void 0;var n=function(){function t(){}return t.registerDbAdapter=function(e){t.adapterCreator=e;},t.create=function(e){return new t.adapterCreator(e)},t.adapterCreator=void 0,t}();e.Db=n;},5116:function(t,e,n){"use strict";var r=n(5108),i=n(3085).lW,o=this&&this.__awaiter||function(t,e,n,r){return new(n||(n=Promise))((function(i,o){function a(t){try{u(r.next(t));}catch(t){o(t);}}function s(t){try{u(r.throw(t));}catch(t){o(t);}}function u(t){var e;t.done?i(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e);}))).then(a,s);}u((r=r.apply(t,e||[])).next());}))},a=this&&this.__generator||function(t,e){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(s){return function(u){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;o&&(o=0,s[0]&&(a=0)),a;)try{if(n=1,r&&(i=2&s[0]?r.return:s[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,s[1])).done)return i;switch(r=0,i&&(s=[2&s[0],i.value]),s[0]){case 0:case 1:i=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,r=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!((i=(i=a.trys).length>0&&i[i.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!i||s[1]>i[0]&&s[1]{"use strict";var n;Object.defineProperty(e,"__esModule",{value:!0}),e.GeoPackageDataType=void 0,(n=e.GeoPackageDataType||(e.GeoPackageDataType={}))[n.BOOLEAN=0]="BOOLEAN",n[n.TINYINT=1]="TINYINT",n[n.SMALLINT=2]="SMALLINT",n[n.MEDIUMINT=3]="MEDIUMINT",n[n.INT=4]="INT",n[n.INTEGER=5]="INTEGER",n[n.FLOAT=6]="FLOAT",n[n.DOUBLE=7]="DOUBLE",n[n.REAL=8]="REAL",n[n.TEXT=9]="TEXT",n[n.BLOB=10]="BLOB",n[n.DATE=11]="DATE",n[n.DATETIME=12]="DATETIME",function(t){t.nameFromType=function(e){return t[e]},t.fromName=function(e){return t[e]},t.columnDefaultValue=function(e,n){var r=null;if(null!=e){if(null!=n)switch(n){case t.BOOLEAN:var i=null;if("boolean"==typeof e)i=e;else if("string"==typeof e)switch(e){case "0":case "false":i=!1;break;case "1":case "true":i=!0;}null!=i&&(r=i?"1":"0");break;case t.TEXT:(r=e.toString()).startsWith("'")&&r.endsWith("'")||(r="'"+r+"'");}null==r&&(r=e.toString());}return r};}(e.GeoPackageDataType||(e.GeoPackageDataType={}));},1790:function(t,e,n){"use strict";var r=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.MappedColumn=void 0;var i=n(7319),o=r(n(4293)),a=r(n(8446)),s=function(){function t(t,e,n,r){this._toColumn=t,this._fromColumn=e,this._defaultValue=n,this._dataType=r;}return Object.defineProperty(t.prototype,"toColumn",{get:function(){return this._toColumn},set:function(t){this._toColumn=t;},enumerable:!1,configurable:!0}),t.prototype.hasNewName=function(){return !(0,o.default)(this._fromColumn)&&!(0,a.default)(this._fromColumn,this._toColumn)},Object.defineProperty(t.prototype,"fromColumn",{get:function(){return this._fromColumn},set:function(t){this._fromColumn=t;},enumerable:!1,configurable:!0}),t.prototype.hasDefaultValue=function(){return !(0,o.default)(this._defaultValue)},Object.defineProperty(t.prototype,"defaultValue",{get:function(){return this._defaultValue},set:function(t){this._defaultValue=t;},enumerable:!1,configurable:!0}),t.prototype.getDefaultValueAsString=function(){return i.GeoPackageDataType.columnDefaultValue(this._defaultValue,this._dataType)},Object.defineProperty(t.prototype,"dataType",{get:function(){return this._dataType},set:function(t){this._dataType=t;},enumerable:!1,configurable:!0}),t.prototype.hasConstantValue=function(){return !(0,o.default)(this._constantValue)},Object.defineProperty(t.prototype,"constantValue",{get:function(){return this._constantValue},set:function(t){this._constantValue=t;},enumerable:!1,configurable:!0}),t.prototype.getConstantValueAsString=function(){return i.GeoPackageDataType.columnDefaultValue(this._constantValue,this._dataType)},t.prototype.hasWhereValue=function(){return !(0,o.default)(this._whereValue)},Object.defineProperty(t.prototype,"whereValue",{get:function(){return this._whereValue},set:function(t){this._whereValue=t;},enumerable:!1,configurable:!0}),t.prototype.getWhereValueAsString=function(){return i.GeoPackageDataType.columnDefaultValue(this._whereValue,this._dataType)},t.prototype.setWhereValueAndOperator=function(t,e){this._whereValue=t,this.whereOperator=e;},Object.defineProperty(t.prototype,"whereOperator",{get:function(){return (0,o.default)(this._whereOperator)?"=":this._whereOperator},set:function(t){this._whereOperator=t;},enumerable:!1,configurable:!0}),t}();e.MappedColumn=s;},7043:function(t,e,n){"use strict";var r=this&&this.__read||function(t,e){var n="function"==typeof Symbol&&t[Symbol.iterator];if(!n)return t;var r,i,o=n.call(t),a=[];try{for(;(void 0===e||e-- >0)&&!(r=o.next()).done;)a.push(r.value);}catch(t){i={error:t};}finally{try{r&&!r.done&&(n=o.return)&&n.call(o);}finally{if(i)throw i.error}}return a},i=this&&this.__spreadArray||function(t,e,n){if(n||2===arguments.length)for(var r,i=0,o=e.length;i0){this._results=t,this._count=t.length;for(var n=0;n=this._results.length){var e;throw e=0===this._results.length?"Results are empty":"Row index: "+t+", not within range 0 to "+(this._results.length-1),new Error(e)}return this._results[t]},t.getValue=function(t,e){return t[o.SQLiteMasterColumn.nameFromType(e).toLowerCase()]},t.prototype.getConstraints=function(t){var e=new s.TableConstraints;if(this.getType(t)===a.SQLiteMasterType.TABLE){var n=this.getSql(t);null!=n&&(e=u.ConstraintParser.getConstraints(n));}return e},t.count=function(e,n,r){return t.query(e,null,n,r).count()},t.query=function(e,n,s,u){var l="SELECT ",c=[];if(null!=n&&n.length>0)for(var h=0;h0&&(l=l.concat(", ")),l=l.concat(o.SQLiteMasterColumn.nameFromType(n[h]).toLowerCase());else l=l.concat("count(*) as cnt");l=(l=l.concat(" FROM ")).concat(t.TABLE_NAME);var f=null!=u&&u.has(),p=null!=s&&s.length>0;if((f||p)&&(l=l.concat(" WHERE "),f&&(l=l.concat(u.buildSQL()),c.push.apply(c,i([],r(u.getArguments()),!1))),p)){for(f&&(l=l.concat(" AND")),l=l.concat(" type IN ("),h=0;h0&&(l=l.concat(", ")),l=l.concat("?"),c.push(a.SQLiteMasterType.nameFromType(s[h]).toLowerCase());l=l.concat(")");}return new t(e.all(l,c),n)},t.queryViewsOnTable=function(e,n,r){return t.query(e,n,[a.SQLiteMasterType.VIEW],l.SQLiteMasterQuery.createTableViewQuery(r))},t.countViewsOnTable=function(e,n){return t.count(e,[a.SQLiteMasterType.VIEW],l.SQLiteMasterQuery.createTableViewQuery(n))},t.queryForConstraints=function(e,n){for(var r=new s.TableConstraints,i=t.query(e,[o.SQLiteMasterColumn.TYPE,o.SQLiteMasterColumn.NAME,o.SQLiteMasterColumn.TBL_NAME,o.SQLiteMasterColumn.ROOTPAGE,o.SQLiteMasterColumn.SQL],[a.SQLiteMasterType.TABLE],l.SQLiteMasterQuery.createForColumnValue(o.SQLiteMasterColumn.TBL_NAME,n)),u=0;u{"use strict";var n;Object.defineProperty(e,"__esModule",{value:!0}),e.SQLiteMasterColumn=void 0,(n=e.SQLiteMasterColumn||(e.SQLiteMasterColumn={}))[n.TYPE=0]="TYPE",n[n.NAME=1]="NAME",n[n.TBL_NAME=2]="TBL_NAME",n[n.ROOTPAGE=3]="ROOTPAGE",n[n.SQL=4]="SQL",function(t){t.nameFromType=function(e){return t[e]},t.fromName=function(e){return t[e]},t.asArray=function(){return [t.TYPE,t.NAME,t.TBL_NAME,t.ROOTPAGE,t.SQL]};}(e.SQLiteMasterColumn||(e.SQLiteMasterColumn={}));},1078:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SQLiteMasterQuery=void 0;var r=n(175),i=n(5329),o=function(){function t(t){this.queries=[],this.arguments=[],this.combineOperation=t;}return t.prototype.add=function(t,e,n){this.validateAdd(),this.queries.push("LOWER("+i.StringUtils.quoteWrap(r.SQLiteMasterColumn.nameFromType(t).toLowerCase())+") "+e+" LOWER(?)"),this.arguments.push(n);},t.prototype.addIsNull=function(t){this.validateAdd(),this.queries.push(i.StringUtils.quoteWrap(r.SQLiteMasterColumn.nameFromType(t).toLowerCase())+" IS NULL");},t.prototype.addIsNotNull=function(t){this.validateAdd(),this.queries.push(i.StringUtils.quoteWrap(r.SQLiteMasterColumn.nameFromType(t).toLowerCase())+" IS NOT NULL");},t.prototype.validateAdd=function(){if((null===this.combineOperation||void 0===this.combineOperation)&&0!==this.queries.length)throw new Error("Query without a combination operation supports only a single query")},t.prototype.has=function(){return 0!==this.queries.length},t.prototype.buildSQL=function(){var t="";this.queries.length>1&&(t=t.concat("( "));for(var e=0;e0&&(t=(t=(t=t.concat(" ")).concat(this.combineOperation)).concat(" ")),t=t.concat(this.queries[e]);return this.queries.length>1&&(t=t.concat(" )")),t},t.prototype.getArguments=function(){return this.arguments},t.create=function(){return new t(null)},t.createOr=function(){return new t("OR")},t.createAnd=function(){return new t("AND")},t.createForColumnValue=function(t,e){var n=this.create();return n.add(t,"=",e),n},t.createForOperationAndColumnValue=function(t,e,n){var r=this.create();return r.add(t,e,n),r},t.createOrForColumnValue=function(t,e){var n=this.createOr();return e.forEach((function(e){n.add(t,"=",e);})),n},t.createOrForOperationAndColumnValue=function(t,e,n){var r=this.createOr();return n.forEach((function(n){r.add(t,e,n);})),r},t.createAndForColumnValue=function(t,e){var n=this.createAnd();return e.forEach((function(e){n.add(t,"=",e);})),n},t.createAndForOperationAndColumnValue=function(t,e,n){var r=this.createAnd();return n.forEach((function(n){r.add(t,e,n);})),r},t.createTableViewQuery=function(e){var n=[];return n.push('%"'+e+'"%'),n.push("% "+e+" %"),n.push("%,"+e+" %"),n.push("% "+e+",%"),n.push("%,"+e+",%"),n.push("% "+e),n.push("%,"+e),t.createOrForOperationAndColumnValue(r.SQLiteMasterColumn.SQL,"LIKE",n)},t}();e.SQLiteMasterQuery=o;},8934:(t,e)=>{"use strict";var n;Object.defineProperty(e,"__esModule",{value:!0}),e.SQLiteMasterType=void 0,(n=e.SQLiteMasterType||(e.SQLiteMasterType={}))[n.TABLE=0]="TABLE",n[n.INDEX=1]="INDEX",n[n.VIEW=2]="VIEW",n[n.TRIGGER=3]="TRIGGER",function(t){t.nameFromType=function(e){return t[e]},t.fromName=function(e){return t[e]};}(e.SQLiteMasterType||(e.SQLiteMasterType={}));},922:function(t,e,n){"use strict";var r=n(5108),i=this&&this.__awaiter||function(t,e,n,r){return new(n||(n=Promise))((function(i,o){function a(t){try{u(r.next(t));}catch(t){o(t);}}function s(t){try{u(r.throw(t));}catch(t){o(t);}}function u(t){var e;t.done?i(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e);}))).then(a,s);}u((r=r.apply(t,e||[])).next());}))},o=this&&this.__generator||function(t,e){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(s){return function(u){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;o&&(o=0,s[0]&&(a=0)),a;)try{if(n=1,r&&(i=2&s[0]?r.return:s[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,s[1])).done)return i;switch(r=0,i&&(s=[2&s[0],i.value]),s[0]){case 0:case 1:i=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,r=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!((i=(i=a.trys).length>0&&i[i.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!i||s[1]>i[0]&&s[1]{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SqliteQueryBuilder=void 0;var n=function(){function t(){}return t.fixColumnName=function(t){return t.replace(/\W+/g,"_")},t.buildQuery=function(e,n,r,i,o,a,s,u,l,c){var h="";if(t.isEmpty(a)&&!t.isEmpty(s))throw new Error("Illegal Arguments: having clauses require a groupBy clause");return h+="select ",e&&(h+="distinct "),r&&r.length?h=t.appendColumnsToString(r,h):h+="* ",h+="from "+n,o&&(h+=" "+o),h=t.appendClauseToString(h," where ",i),h=t.appendClauseToString(h," group by ",a),h=t.appendClauseToString(h," having ",s),h=t.appendClauseToString(h," order by ",u),h=t.appendClauseToString(h," limit ",l),t.appendClauseToString(h," offset ",c)},t.buildCount=function(e,n){var r="select count(*) as count from "+e;return t.appendClauseToString(r," where ",n)},t.buildInsert=function(e,n){if(n.columnNames)return t.buildInsertFromColumnNames(e,n);var r="insert into "+e+" (",i="",o="",a=!0;for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&void 0!==n[s]&&(a||(i+=",",o+=","),a=!1,i+=s,o+="$"+t.fixColumnName(s));return r+(i+") values (")+o+")"},t.buildInsertFromColumnNames=function(e,n){for(var r="insert into "+e+" (",i="",o="",a=!0,s=n.columnNames,u=0;u0&&i[i.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!i||s[1]>i[0]&&s[1]=t.length&&(t=void 0),{value:t&&t[r++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},u=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.SqljsAdapter=void 0;var l=u(n(3686)),c=function(){function t(t){this.filePath=t;}return t.setSqljsWasmLocateFile=function(e){t.sqljsWasmLocateFile=e;},t.prototype.initialize=function(){var e=this;return new Promise((function(o,a){new Promise((function(e){null==t.SQL?(0,l.default)({locateFile:t.sqljsWasmLocateFile}).then((function(n){t.SQL=n,e(n);})).catch((function(t){a(t);})):e(t.SQL);})).then((function(t){if(!e.filePath||"string"!=typeof e.filePath){if(e.filePath){var s=e.filePath;return e.db=new t.Database(s),o(e)}return e.db=new t.Database,o(e)}if(void 0!==r&&r.version){var u=n(1929);if(0!==e.filePath.indexOf("http")){try{u.statSync(e.filePath);}catch(n){return e.db=new t.Database,o(e)}var l=u.readFileSync(e.filePath),c=new Uint8Array(l);return e.db=new t.Database(c),o(e)}n(8501).get(e.filePath,(function(n){if(200!==n.statusCode)return a(new Error("Unable to reach url: "+e.filePath));var r=[];n.on("data",(function(t){return r.push(t)})),n.on("end",(function(){var n=new Uint8Array(i.concat(r));e.db=new t.Database(n),o(e);}));})).on("error",(function(t){return a(t)}));}else {var h=new XMLHttpRequest;h.open("GET",e.filePath,!0),h.responseType="arraybuffer",h.onload=function(){if(200!==h.status)return a(new Error("Unable to reach url: "+e.filePath));var n=new Uint8Array(h.response);return e.db=new t.Database(n),o(e)},h.onerror=function(){return a(new Error("Error reaching url: "+e.filePath))},h.send();}})).catch((function(t){a(t);}));}))},t.prototype.close=function(){this.db.close();},t.prototype.getDBConnection=function(){return this.db},t.prototype.export=function(){return o(this,void 0,void 0,(function(){return a(this,(function(t){return [2,this.db.export()]}))}))},t.prototype.registerFunction=function(t,e){return this.db.create_function(t,e),this},t.prototype.get=function(t,e){e=e||[];var n,r=this.db.prepare(t);return r.bind(e),r.step()&&(n=r.getAsObject()),r.free(),n},t.prototype.isTableExists=function(t){var e,n=this.db.prepare("SELECT name FROM sqlite_master WHERE type='table' AND name=:name");return n.bind([t]),n.step()&&(e=n.getAsObject()),n.free(),!!e},t.prototype.all=function(t,e){var n,r,i=[],o=this.each(t,e);try{for(var a=s(o),u=a.next();!u.done;u=a.next()){var l=u.value;i.push(l);}}catch(t){n={error:t};}finally{try{u&&!u.done&&(r=a.return)&&r.call(a);}finally{if(n)throw n.error}}return i},t.prototype.each=function(t,e){var n,r=this.db.prepare(t);return r.bind(e),(n={})[Symbol.iterator]=function(){return this},n.next=function(){return r.step()?{value:r.getAsObject(),done:!1}:(r.free(),{value:void 0,done:!0})},n},t.prototype.run=function(t,e){if(e&&!(e instanceof Array))for(var n in e)e["$"+n]=e[n];this.db.run(t,e);var r,i=this.db.exec("select last_insert_rowid();");return i&&(r=i[0].values[0][0]),{lastInsertRowid:r,changes:this.db.getRowsModified()}},t.prototype.insert=function(t,e){if(e&&!(e instanceof Array))for(var n in e)e["$"+n]=e[n];var r=this.db.prepare(t,e);r.step(),r.free();var i=this.db.exec("select last_insert_rowid();");return i?i[0].values[0][0]:void 0},t.prototype.prepareStatement=function(t){return this.db.prepare(t)},t.prototype.bindAndInsert=function(t,e){if(e&&!(e instanceof Array))for(var n in e)e["$"+n]=void 0===e[n]?null:e[n];return t.run(e).lastInsertRowid},t.prototype.closeStatement=function(t){t.free();},t.prototype.delete=function(t,e){var n,r=this.db.prepare(t,e);return r.step(),n=this.db.getRowsModified(),r.free(),n},t.prototype.dropTable=function(t){var e=this.db.exec('DROP TABLE IF EXISTS "'+t+'"');return this.db.exec("VACUUM"),!!e},t.prototype.count=function(t,e,n){var r='SELECT COUNT(*) as count FROM "'+t+'"';return e&&(r+=" where "+e),this.get(r,n).count},t.prototype.transaction=function(t){this.db.exec("BEGIN TRANSACTION");try{t(),this.db.exec("COMMIT TRANSACTION");}catch(t){throw this.db.exec("ROLLBACK TRANSACTION"),t}},t.sqljsWasmLocateFile=function(t){return t},t}();e.SqljsAdapter=c;},5329:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.StringUtils=void 0;var n=function(){function t(){}return t.quoteWrap=function(t){var e=null;return null!==t&&(e=t.startsWith('"')&&t.endsWith('"')?t:'"'+t+'"'),e},t.quoteUnwrap=function(t){var e=null;return null!=t&&(e=t.startsWith('"')&&t.endsWith('"')?t.substring(1,t.length-1):t),e},t}();e.StringUtils=n;},3765:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ColumnConstraints=void 0;var r=n(7686),i=function(){function t(t){this.name=t,this.constraints=new r.Constraints;}return t.prototype.addConstraint=function(t){this.constraints.add(t);},t.prototype.addConstraints=function(t){this.constraints.addConstraints(t);},t.prototype.getConstraints=function(){return this.constraints},t.prototype.getConstraint=function(t){return t>=this.constraints.size()?null:this.constraints.get(t)},t.prototype.numConstraints=function(){return this.constraints.size()},t.prototype.addColumnConstraints=function(t){null!=t&&this.addConstraints(t.getConstraints());},t.prototype.hasConstraints=function(){return this.constraints.has()},t}();e.ColumnConstraints=i;},8007:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Constraint=void 0;var r=n(5329),i=function(){function t(t,e,n){void 0===n&&(n=Number.MAX_SAFE_INTEGER),this.type=t,this.name=e,this.order=n;}return t.prototype.buildNameSql=function(){var e="";return null!==this.name&&void 0!==this.name&&(e=t.CONSTRAINT+" "+r.StringUtils.quoteWrap(this.name)+" "),e},t.prototype.buildSql=function(){return ""},t.prototype.copy=function(){return new t(this.type,this.name)},t.prototype.getName=function(){return this.name},t.prototype.getType=function(){return this.type},t.prototype.compareTo=function(t){return this.getOrder(this.order)-this.getOrder(t.order)<=0?-1:1},t.prototype.getOrder=function(t){return null!=t?t:Number.MAX_VALUE},t.CONSTRAINT="CONSTRAINT",t}();e.Constraint=i;},1133:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ConstraintParser=void 0;var r=n(4980),i=n(3765),o=n(8007),a=n(91),s=n(2841),u=n(5329),l=function(){function t(){}return t.getConstraints=function(e){var n=new r.TableConstraints,i=-1,o=-1;if(null!=e&&(i=e.indexOf("("),o=e.lastIndexOf(")")),i>=0&&o>=0){for(var a=e.substring(i+1,o).trim(),s=0,u=0,l=0;l0&&(o=o.concat(" ")),o=o.concat(e[a]);var u=t.getName(o);return new s.RawConstraint(i,u,o)},t.getConstraint=function(e,n){var r=null,i=t.getNameAndDefinition(e),o=i[1];if(null!=o){var u,l=o.split(/\s+/)[0];null!=(u=n?a.ConstraintType.getTableType(l):a.ConstraintType.getColumnType(l))&&(r=new s.RawConstraint(u,i[0],e.trim()));}return r},t.getTableConstraint=function(e){return t.getConstraint(e,!0)},t.isTableConstraint=function(e){return null!==t.getTableConstraint(e)},t.getTableType=function(e){var n=null,r=t.getTableConstraint(e);return null!=r&&(n=r.type),n},t.isTableType=function(e,n){var r=!1,i=t.getTableType(n);return null!=i&&(r=e===i),r},t.getColumnConstraint=function(e){return t.getConstraint(e,!1)},t.isColumnConstraint=function(e){return null!=t.getColumnConstraint(e)},t.getColumnType=function(e){var n=null,r=t.getColumnConstraint(e);return null!=r&&(n=r.type),n},t.isColumnType=function(e,n){var r=!1,i=t.getColumnType(n);return null!=i&&(r=e==i),r},t.getTableOrColumnConstraint=function(e){var n=t.getTableConstraint(e);return null==n&&(n=t.getColumnConstraint(e)),n},t.isConstraint=function(e){return null!==t.getTableOrColumnConstraint(e)},t.getType=function(e){var n=null,r=t.getTableOrColumnConstraint(e);return null!=r&&(n=r.getType()),n},t.isType=function(e,n){var r=!1,i=t.getType(n);return null!=i&&(r=e===i),r},t.getName=function(e){var n=null,r=t.NAME_PATTERN(e);return null!==r&&r.length>t.NAME_PATTERN_NAME_GROUP&&(n=u.StringUtils.quoteUnwrap(r[t.NAME_PATTERN_NAME_GROUP])),n},t.getNameAndDefinition=function(e){var n=[null,e],r=t.CONSTRAINT_PATTERN(e.trim());if(null!==r&&r.length>t.CONSTRAINT_PATTERN_DEFINITION_GROUP){var i=u.StringUtils.quoteUnwrap(r[t.CONSTRAINT_PATTERN_NAME_GROUP]);null!=i&&(i=i.trim());var o=r[t.CONSTRAINT_PATTERN_DEFINITION_GROUP];null!=o&&(o=o.trim()),n=[i,o];}return n},t.NAME_PATTERN=function(t){return t.match(/CONSTRAINT\s+("[\s\S]+"|\S+)\s/i)},t.NAME_PATTERN_NAME_GROUP=1,t.CONSTRAINT_PATTERN=function(t){return t.match(/(CONSTRAINT\s+("[\s\S]+"|\S+)\s)?([\s\S]*)/i)},t.CONSTRAINT_PATTERN_NAME_GROUP=2,t.CONSTRAINT_PATTERN_DEFINITION_GROUP=3,t}();e.ConstraintParser=l;},91:(t,e)=>{"use strict";var n;Object.defineProperty(e,"__esModule",{value:!0}),e.ConstraintType=void 0,(n=e.ConstraintType||(e.ConstraintType={}))[n.PRIMARY_KEY=0]="PRIMARY_KEY",n[n.UNIQUE=1]="UNIQUE",n[n.CHECK=2]="CHECK",n[n.FOREIGN_KEY=3]="FOREIGN_KEY",n[n.NOT_NULL=4]="NOT_NULL",n[n.DEFAULT=5]="DEFAULT",n[n.COLLATE=6]="COLLATE",n[n.AUTOINCREMENT=7]="AUTOINCREMENT",function(t){t.nameFromType=function(e){return t[e]},t.fromName=function(e){return t[e]},t.TABLE_CONSTRAINTS=new Set([t.PRIMARY_KEY,t.UNIQUE,t.CHECK,t.FOREIGN_KEY]),t.COLUMN_CONSTRAINTS=new Set([t.PRIMARY_KEY,t.NOT_NULL,t.UNIQUE,t.CHECK,t.DEFAULT,t.COLLATE,t.FOREIGN_KEY,t.AUTOINCREMENT]);var e=new Map;Array.from(t.TABLE_CONSTRAINTS).forEach((function(t){r(e,t);}));var n=new Map;function r(e,n){var r=t.nameFromType(n),i=r.split("_");e.set(i[0],n),i.length>0&&e.set(r.replace("_"," "),n);}function i(t){return e.get(t.toUpperCase())}function o(t){return n.get(t.toUpperCase())}Array.from(t.COLUMN_CONSTRAINTS).forEach((function(t){r(n,t);})),t.getTableType=i,t.getColumnType=o,t.getType=function(t){var e=i(t);return null==e&&(e=o(t)),e};}(e.ConstraintType||(e.ConstraintType={}));},7686:function(t,e,n){"use strict";var r=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.Constraints=void 0;var i=r(n(1159)),o=function(){function t(){this.constraints=[],this.typedConstraints={};}return t.prototype.add=function(t){var e=this.constraints.map((function(t){return t.order})).lastIndexOf(t.order),n=e+1;-1===e&&(n=(0,i.default)(this.constraints.map((function(t){return t.order})),t.order)),n===this.constraints.length?this.constraints.push(t):this.constraints.splice(n,0,t),null!==this.typedConstraints[t.getType()]&&void 0!==this.typedConstraints[t.getType()]||(this.typedConstraints[t.getType()]=[]),this.typedConstraints[t.getType()].push(t);},t.prototype.addConstraintArray=function(t){for(var e=0;e0},t.prototype.hasType=function(t){return 0!==this.getConstraintsForType(t).length},t.prototype.all=function(){return this.constraints},t.prototype.get=function(t){return this.constraints[t]},t.prototype.getConstraintsForType=function(t){var e=this.typedConstraints[t];return null==e&&(e=[]),e},t.prototype.clear=function(){var t=this.constraints.slice();return this.constraints=[],this.typedConstraints={},t},t.prototype.clearConstraintsByType=function(t){var e=this.typedConstraints[t];return delete this.typedConstraints[t],null===e?e=[]:0===e.length&&(this.constraints=this.constraints.filter((function(e){return e.getType()!==t}))),e},t.prototype.copy=function(){var e=new t;return e.addConstraints(this),e},t.prototype.size=function(){return this.constraints.length},t}();e.Constraints=o;},2841:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);});Object.defineProperty(e,"__esModule",{value:!0}),e.RawConstraint=void 0;var o=n(8007),a=function(t){function e(e,n,r,i){void 0===i&&(i=null);var o=t.call(this,e,n,i)||this;return o.sql=r,o}return i(e,t),e.prototype.buildSql=function(){var t=this.sql;return t.toUpperCase().startsWith(o.Constraint.CONSTRAINT)||(t=this.buildNameSql()+t),t},e}(o.Constraint);e.RawConstraint=a;},4033:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TableColumn=void 0;var n=function(){function t(t,e,n,r,i,o,a,s,u,l){this.index=t,this.name=e,this.type=n,this.dataType=r,this.max=i,this.notNull=o,this.defaultValueString=a,this.defaultValue=s,this.primaryKey=u,this.autoincrement=l;}return t.prototype.getIndex=function(){return this.index},t.prototype.getName=function(){return this.name},t.prototype.getType=function(){return this.type},t.prototype.getDataType=function(){return this.dataType},t.prototype.isDataType=function(t){return this.dataType===t},t.prototype.getMax=function(){return this.max},t.prototype.isNotNull=function(){return this.notNull},t.prototype.getDefaultValueString=function(){return this.defaultValueString},t.prototype.getDefaultValue=function(){return this.defaultValue},t.prototype.isPrimaryKey=function(){return this.primaryKey},t.prototype.isAutoIncrement=function(){return this.autoincrement},t}();e.TableColumn=n;},4980:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TableConstraints=void 0;var r=n(3765),i=n(7686),o=function(){function t(){this.constraints=new i.Constraints,this.columnConstraints={};}return t.prototype.addTableConstraint=function(t){this.constraints.add(t);},t.prototype.addTableConstraints=function(t){this.constraints.addConstraints(t);},t.prototype.getTableConstraints=function(){return this.constraints},t.prototype.getTableConstraint=function(t){return t>=this.constraints.size()?null:this.constraints.get(t)},t.prototype.numTableConstraints=function(){return this.constraints.size()},t.prototype.addColumnConstraint=function(t,e){this.getOrCreateColumnConstraints(t).addConstraint(e);},t.prototype.addConstraints=function(t,e){this.getOrCreateColumnConstraints(t).addConstraints(e);},t.prototype.addColumnConstraints=function(t){this.getOrCreateColumnConstraints(t.name).addColumnConstraints(t);},t.prototype.getOrCreateColumnConstraints=function(t){var e=this.columnConstraints[t];return null==e&&(e=new r.ColumnConstraints(t),this.columnConstraints[t]=e),e},t.prototype.addColumnConstraintsMap=function(t){var e=this;t.forEach((function(t){e.addColumnConstraints(t);}));},t.prototype.getColumnConstraintsMap=function(){return this.columnConstraints},t.prototype.getColumnsWithConstraints=function(){return Array.from(Object.keys(this.columnConstraints))},t.prototype.getColumnConstraints=function(t){return this.columnConstraints[t]},t.prototype.getColumnConstraint=function(t,e){var n=null,r=this.getColumnConstraints(t);return null!=r&&(n=r.getConstraint(e)),n},t.prototype.numColumnConstraints=function(t){var e=0,n=this.getColumnConstraints(t);return null!=n&&(e=n.numConstraints()),e},t.prototype.addAllConstraints=function(t){null!=t&&(this.addTableConstraints(t.getTableConstraints()),this.addColumnConstraintsMap(t.getColumnConstraintsMap()));},t.prototype.hasConstraints=function(){return this.hasTableConstraints()||this.hasColumnConstraints()},t.prototype.hasTableConstraints=function(){return this.constraints.has()},t.prototype.hasColumnConstraints=function(){return Object.keys(this.columnConstraints).length>0},t.prototype.hasColumnConstraintsForColumn=function(t){return this.numColumnConstraints(t)>0},t}();e.TableConstraints=o;},5045:(t,e,n)=>{"use strict";var r=n(5108);Object.defineProperty(e,"__esModule",{value:!0}),e.TableInfo=void 0;var i=n(4033),o=n(7319),a=n(9211),s=n(7043),u=n(175),l=n(5329),c=function(){function t(t,e){var n=this;this.namesToColumns=new Map,this.primaryKeys=[],this.tableName=t,this.columns=e,e.forEach((function(t){n.namesToColumns.set(t.getName(),t),t.isPrimaryKey()&&n.primaryKeys.push(t);}));}return t.prototype.getTableName=function(){return this.tableName},t.prototype.numColumns=function(){return this.columns.length},t.prototype.getColumns=function(){return this.columns.slice()},t.prototype.getColumnAtIndex=function(t){if(t<0||t>=this.columns.length)throw new Error("Column index: "+t+", not within range 0 to "+(this.columns.length-1));return this.columns[t]},t.prototype.hasColumn=function(t){return null!==this.getColumn(t)&&void 0!==this.getColumn(t)},t.prototype.getColumn=function(t){return this.namesToColumns.get(t)},t.prototype.hasPrimaryKey=function(){return 0!==this.primaryKeys.length},t.prototype.getPrimaryKeys=function(){return this.primaryKeys.slice()},t.prototype.getPrimaryKey=function(){var t=null;return this.hasPrimaryKey()&&(t=this.primaryKeys[0]),t},t.info=function(e,n){var o="PRAGMA table_info("+l.StringUtils.quoteWrap(n)+")",a=e.all(o,null),c=[];a.forEach((function(o){var a=o.cid,l=o.name,h=o.type,f=1===o.notnull,p=o.dflt_value,d=1===o.pk,y=!1;d&&(y=1===e.all("SELECT tbl_name FROM "+s.SQLiteMaster.TABLE_NAME+" WHERE "+u.SQLiteMasterColumn.nameFromType(u.SQLiteMasterColumn.TBL_NAME)+"=? AND "+u.SQLiteMasterColumn.nameFromType(u.SQLiteMasterColumn.SQL)+" LIKE ?",[n,"%AUTOINCREMENT%"]).length);var m=null;if(null!=h&&h.endsWith(")")){var g=h.indexOf("(");if(g>-1){var _=h.substring(g+1,h.length-1);if(0!==_.length)try{m=parseInt(_),h=h.substring(0,g);}catch(t){r.error(t);}}}var b=t.getDataType(h),v=void 0;o.dflt_value&&(v=o.dflt_value.replace(/\\'/g,""));var T=new i.TableColumn(a,l,h,b,m,f,p,v,d,y);c.push(T);}));var h=null;return 0!==c.length&&(h=new t(n,c)),h},t.getDataType=function(t){var e=o.GeoPackageDataType.fromName(t);null==e&&(null!=a.GeometryType.fromName(t)&&(e=o.GeoPackageDataType.BLOB));return e},t.CID="cid",t.NAME="name",t.TYPE="type",t.NOT_NULL="notnull",t.DFLT_VALUE="dflt_value",t.PK="pk",t.DEFAULT_NULL="NULL",t}();e.TableInfo=c;},1648:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);}),o=this&&this.__read||function(t,e){var n="function"==typeof Symbol&&t[Symbol.iterator];if(!n)return t;var r,i,o=n.call(t),a=[];try{for(;(void 0===e||e-- >0)&&!(r=o.next()).done;)a.push(r.value);}catch(t){i={error:t};}finally{try{r&&!r.done&&(n=o.return)&&n.call(o);}finally{if(i)throw i.error}}return a},a=this&&this.__spreadArray||function(t,e,n){if(n||2===arguments.length)for(var r,i=0,o=e.length;i0&&(t=t.concat(", ")),t=t.concat(r.getName());}return t.concat(")")},e.prototype.copy=function(){return new(e.bind.apply(e,a([void 0,this.name],o(this.columns),!1)))},e.prototype.add=function(){for(var t=this,e=[],n=0;n{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TableCreator=void 0;var r=n(5965),i=n(5042),o=function(){function t(t){this.geopackage=t,this.connection=t.database;}return t.prototype.createRequired=function(){var t=new r.SpatialReferenceSystemDao(this.geopackage);return this.createSpatialReferenceSystem(),this.createContents(),t.createUndefinedGeographic(),t.createWgs84(),t.createUndefinedCartesian(),t.createWebMercator(),!0},t.prototype.createSpatialReferenceSystem=function(){return this.createTable("spatial_reference_system")},t.prototype.createContents=function(){return this.createTable("contents")},t.prototype.createGeometryColumns=function(){return this.createTable("geometry_columns")},t.prototype.createTileMatrixSet=function(){return this.createTable("tile_matrix_set")},t.prototype.createTileMatrix=function(){return this.createTable("tile_matrix")},t.prototype.createDataColumns=function(){return this.createTable("data_columns")},t.prototype.createDataColumnConstraints=function(){return this.createTable("data_column_constraints")},t.prototype.createMetadata=function(){return this.createTable("metadata")},t.prototype.createMetadataReference=function(){return this.createTable("metadata_reference")},t.prototype.createExtensions=function(){return this.createTable("extensions")},t.prototype.createTableIndex=function(){return this.createTable("table_index")},t.prototype.createGeometryIndex=function(){return this.createTable("geometry_index")},t.prototype.createFeatureTileLink=function(){return this.createTable("feature_tile_link")},t.prototype.createExtendedRelations=function(){return this.createTable("extended_relations")},t.prototype.createContentsId=function(){return this.createTable("contents_id")},t.prototype.createTileScaling=function(){return this.createTable("tile_scaling")},t.prototype.createTable=function(e){for(var n=!0,r=t.tableCreationScripts[e],i=0;i 0);END","CREATE TRIGGER 'gpkg_tile_matrix_pixel_x_size_update'BEFORE UPDATE OF pixel_x_size ON 'gpkg_tile_matrix'FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'update on table ''gpkg_tile_matrix'' violates constraint: pixel_x_size must be greater than 0')WHERE NOT (NEW.pixel_x_size > 0);END","CREATE TRIGGER 'gpkg_tile_matrix_pixel_y_size_insert'BEFORE INSERT ON 'gpkg_tile_matrix'FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'insert on table ''gpkg_tile_matrix'' violates constraint: pixel_y_size must be greater than 0')WHERE NOT (NEW.pixel_y_size > 0);END","CREATE TRIGGER 'gpkg_tile_matrix_pixel_y_size_update'BEFORE UPDATE OF pixel_y_size ON 'gpkg_tile_matrix'FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'update on table ''gpkg_tile_matrix'' violates constraint: pixel_y_size must be greater than 0')WHERE NOT (NEW.pixel_y_size > 0);END"],data_columns:["CREATE TABLE gpkg_data_columns ( table_name TEXT NOT NULL, column_name TEXT NOT NULL, name TEXT, title TEXT, description TEXT, mime_type TEXT, constraint_name TEXT, CONSTRAINT pk_gdc PRIMARY KEY (table_name, column_name), CONSTRAINT gdc_tn UNIQUE (table_name, name))"],data_column_constraints:['CREATE TABLE gpkg_data_column_constraints ( constraint_name TEXT NOT NULL, constraint_type TEXT NOT NULL, /* "range" | "enum" | "glob" */ value TEXT, min NUMERIC, min_is_inclusive BOOLEAN, /* 0 = false, 1 = true */ max NUMERIC, max_is_inclusive BOOLEAN, /* 0 = false, 1 = true */ description TEXT, CONSTRAINT gdcc_ntv UNIQUE (constraint_name, constraint_type, value))'],metadata:['CREATE TABLE gpkg_metadata ( id INTEGER CONSTRAINT m_pk PRIMARY KEY ASC NOT NULL, md_scope TEXT NOT NULL DEFAULT "dataset", md_standard_uri TEXT NOT NULL, mime_type TEXT NOT NULL DEFAULT "text/xml", metadata TEXT NOT NULL)',"CREATE TRIGGER 'gpkg_metadata_md_scope_insert' BEFORE INSERT ON 'gpkg_metadata' FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'insert on table gpkg_metadata violates constraint: md_scope must be one of undefined | fieldSession | collectionSession | series | dataset | featureType | feature | attributeType | attribute | tile | model | catalogue | schema | taxonomy software | service | collectionHardware | nonGeographicDataset | dimensionGroup') WHERE NOT(NEW.md_scope IN ('undefined','fieldSession','collectionSession','series','dataset', 'featureType','feature','attributeType','attribute','tile','model', 'catalogue','schema','taxonomy','software','service', 'collectionHardware','nonGeographicDataset','dimensionGroup')); END","CREATE TRIGGER 'gpkg_metadata_md_scope_update' BEFORE UPDATE OF 'md_scope' ON 'gpkg_metadata' FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'update on table gpkg_metadata violates constraint: md_scope must be one of undefined | fieldSession | collectionSession | series | dataset | featureType | feature | attributeType | attribute | tile | model | catalogue | schema | taxonomy software | service | collectionHardware | nonGeographicDataset | dimensionGroup') WHERE NOT(NEW.md_scope IN ('undefined','fieldSession','collectionSession','series','dataset', 'featureType','feature','attributeType','attribute','tile','model', 'catalogue','schema','taxonomy','software','service', 'collectionHardware','nonGeographicDataset','dimensionGroup')); END"],metadata_reference:["CREATE TABLE gpkg_metadata_reference ( reference_scope TEXT NOT NULL, table_name TEXT, column_name TEXT, row_id_value INTEGER, timestamp DATETIME NOT NULL DEFAULT (strftime('%Y-%m-%dT%H:%M:%fZ','now')), md_file_id INTEGER NOT NULL, md_parent_id INTEGER, CONSTRAINT crmr_mfi_fk FOREIGN KEY (md_file_id) REFERENCES gpkg_metadata(id), CONSTRAINT crmr_mpi_fk FOREIGN KEY (md_parent_id) REFERENCES gpkg_metadata(id))","CREATE TRIGGER 'gpkg_metadata_reference_reference_scope_insert' BEFORE INSERT ON 'gpkg_metadata_reference' FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'insert on table gpkg_metadata_reference violates constraint: reference_scope must be one of \"geopackage\", table\", \"column\", \"row\", \"row/col\"') WHERE NOT NEW.reference_scope IN ('geopackage','table','column','row','row/col'); END","CREATE TRIGGER 'gpkg_metadata_reference_reference_scope_update' BEFORE UPDATE OF 'reference_scope' ON 'gpkg_metadata_reference' FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'update on table gpkg_metadata_reference violates constraint: referrence_scope must be one of \"geopackage\", \"table\", \"column\", \"row\", \"row/col\"') WHERE NOT NEW.reference_scope IN ('geopackage','table','column','row','row/col'); END","CREATE TRIGGER 'gpkg_metadata_reference_column_name_insert' BEFORE INSERT ON 'gpkg_metadata_reference' FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'insert on table gpkg_metadata_reference violates constraint: column name must be NULL when reference_scope is \"geopackage\", \"table\" or \"row\"') WHERE (NEW.reference_scope IN ('geopackage','table','row') AND NEW.column_name IS NOT NULL); SELECT RAISE(ABORT, 'insert on table gpkg_metadata_reference violates constraint: column name must be defined for the specified table when reference_scope is \"column\" or \"row/col\"') WHERE (NEW.reference_scope IN ('column','row/col') AND NOT NEW.table_name IN ( SELECT name FROM SQLITE_MASTER WHERE type = 'table' AND name = NEW.table_name AND sql LIKE ('%' || NEW.column_name || '%'))); END","CREATE TRIGGER 'gpkg_metadata_reference_column_name_update' BEFORE UPDATE OF column_name ON 'gpkg_metadata_reference' FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'update on table gpkg_metadata_reference violates constraint: column name must be NULL when reference_scope is \"geopackage\", \"table\" or \"row\"') WHERE (NEW.reference_scope IN ('geopackage','table','row') AND NEW.column_nameIS NOT NULL); SELECT RAISE(ABORT, 'update on table gpkg_metadata_reference violates constraint: column name must be defined for the specified table when reference_scope is \"column\" or \"row/col\"') WHERE (NEW.reference_scope IN ('column','row/col') AND NOT NEW.table_name IN ( SELECT name FROM SQLITE_MASTER WHERE type = 'table' AND name = NEW.table_name AND sql LIKE ('%' || NEW.column_name || '%'))); END","CREATE TRIGGER 'gpkg_metadata_reference_row_id_value_insert' BEFORE INSERT ON 'gpkg_metadata_reference' FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'insert on table gpkg_metadata_reference violates constraint: row_id_value must be NULL when reference_scope is \"geopackage\", \"table\" or \"column\"') WHERE NEW.reference_scope IN ('geopackage','table','column') AND NEW.row_id_value IS NOT NULL; END ","CREATE TRIGGER 'gpkg_metadata_reference_row_id_value_update' BEFORE UPDATE OF 'row_id_value' ON 'gpkg_metadata_reference' FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'update on table gpkg_metadata_reference violates constraint: row_id_value must be NULL when reference_scope is \"geopackage\", \"table\" or \"column\"') WHERE NEW.reference_scope IN ('geopackage','table','column') AND NEW.row_id_value IS NOT NULL; END","CREATE TRIGGER 'gpkg_metadata_reference_timestamp_insert' BEFORE INSERT ON 'gpkg_metadata_reference' FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'insert on table gpkg_metadata_reference violates constraint: timestamp must be a valid time in ISO 8601 \"yyyy-mm-ddThh:mm:ss.cccZ\" form') WHERE NOT (NEW.timestamp GLOB '[1-2][0-9][0-9][0-9]-[0-1][0-9]-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9].[0-9][0-9][0-9]Z' AND strftime('%s',NEW.timestamp) NOT NULL); END","CREATE TRIGGER 'gpkg_metadata_reference_timestamp_update' BEFORE UPDATE OF 'timestamp' ON 'gpkg_metadata_reference' FOR EACH ROW BEGIN SELECT RAISE(ABORT, 'update on table gpkg_metadata_reference violates constraint: timestamp must be a valid time in ISO 8601 \"yyyy-mm-ddThh:mm:ss.cccZ\" form') WHERE NOT (NEW.timestamp GLOB '[1-2][0-9][0-9][0-9]-[0-1][0-9]-[0-3][0-9]T[0-2][0-9]:[0-5][0-9]:[0-5][0-9].[0-9][0-9][0-9]Z' AND strftime('%s',NEW.timestamp) NOT NULL); END "],extensions:["CREATE TABLE gpkg_extensions ( table_name TEXT, column_name TEXT, extension_name TEXT NOT NULL, definition TEXT NOT NULL, scope TEXT NOT NULL, CONSTRAINT ge_tce UNIQUE (table_name, column_name, extension_name))"],table_index:["CREATE TABLE nga_table_index ( table_name TEXT NOT NULL PRIMARY KEY, last_indexed DATETIME)"],geometry_index:["CREATE TABLE nga_geometry_index ( table_name TEXT NOT NULL, geom_id INTEGER NOT NULL, min_x DOUBLE NOT NULL, max_x DOUBLE NOT NULL, min_y DOUBLE NOT NULL, max_y DOUBLE NOT NULL, min_z DOUBLE, max_z DOUBLE, min_m DOUBLE, max_m DOUBLE, CONSTRAINT pk_ngi PRIMARY KEY (table_name, geom_id), CONSTRAINT fk_ngi_nti_tn FOREIGN KEY (table_name) REFERENCES nga_table_index(table_name))"],feature_tile_link:["CREATE TABLE nga_feature_tile_link ( feature_table_name TEXT NOT NULL, tile_table_name TEXT NOT NULL, CONSTRAINT pk_nftl PRIMARY KEY (feature_table_name, tile_table_name))"],extended_relations:["CREATE TABLE gpkgext_relations ( id INTEGER PRIMARY KEY AUTOINCREMENT, base_table_name TEXT NOT NULL, base_primary_column TEXT NOT NULL DEFAULT 'id', related_table_name TEXT NOT NULL, related_primary_column TEXT NOT NULL DEFAULT 'id', relation_name TEXT NOT NULL, mapping_table_name TEXT NOT NULL UNIQUE)"],contents_id:["CREATE TABLE nga_contents_id ( id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, table_name TEXT NOT NULL, CONSTRAINT uk_nci_table_name UNIQUE (table_name), CONSTRAINT fk_nci_gc_tn FOREIGN KEY (table_name) REFERENCES gpkg_contents(table_name))"],tile_scaling:["CREATE TABLE nga_tile_scaling ( table_name TEXT PRIMARY KEY NOT NULL, scaling_type TEXT NOT NULL, zoom_in INTEGER, zoom_out INTEGER, CONSTRAINT fk_nts_gtms_tn FOREIGN KEY (table_name) REFERENCES gpkg_tile_matrix_set (table_name), CHECK (scaling_type in ('in','out','in_out','out_in','closest_in_out','closest_out_in')))"]},t}();e.TableCreator=o;},2431:function(t,e,n){"use strict";var r=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.TableMapping=void 0;var i=r(n(4293)),o=r(n(8446)),a=r(n(3674)),s=r(n(2628)),u=n(1790),l=function(){function t(t,e,n){var r=this;this._transferContent=!0,this._columns={},this._droppedColumns=new Set,this._fromTable=t,this._toTable=e,n.forEach((function(t){r.addMappedColumn(new u.MappedColumn(t.name,t.name,t.defaultValue,t.dataType));}));}return t.fromTableInfo=function(e){var n=new t(e.getTableName(),e.getTableName(),[]);return e.getColumns().forEach((function(t){n.addMappedColumn(new u.MappedColumn(t.getName(),t.getName(),t.getDefaultValue(),t.getDataType()));})),n},Object.defineProperty(t.prototype,"fromTable",{get:function(){return this._fromTable},set:function(t){this._fromTable=t;},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"toTable",{get:function(){return this._toTable},set:function(t){this._toTable=t;},enumerable:!1,configurable:!0}),t.prototype.isNewTable=function(){return !(0,i.default)(this._toTable)&&!(0,o.default)(this._toTable,this._fromTable)},t.prototype.isTransferContent=function(){return this._transferContent},Object.defineProperty(t.prototype,"transferContent",{set:function(t){this._transferContent=t;},enumerable:!1,configurable:!0}),t.prototype.addMappedColumn=function(t){this._columns[t.toColumn]=t;},t.prototype.addColumnWithName=function(t){this._columns[t]=new u.MappedColumn(t,null,null,null);},t.prototype.removeColumn=function(t){var e=this._columns[t];return delete this._columns[t],e},t.prototype.getColumnNames=function(){return (0,a.default)(this._columns)},t.prototype.getColumns=function(){return this._columns},t.prototype.getMappedColumns=function(){return (0,s.default)(this._columns)},t.prototype.getColumn=function(t){return this._columns[t]},t.prototype.addDroppedColumn=function(t){this._droppedColumns.add(t);},t.prototype.removeDroppedColumn=function(t){return this._droppedColumns.delete(t)},Object.defineProperty(t.prototype,"droppedColumns",{get:function(){return this._droppedColumns},enumerable:!1,configurable:!0}),t.prototype.isDroppedColumn=function(t){return this._droppedColumns.has(t)},t.prototype.hasWhere=function(){return !(0,i.default)(this._where)},Object.defineProperty(t.prototype,"where",{get:function(){return this._where},set:function(t){this._where=t;},enumerable:!1,configurable:!0}),t}();e.TableMapping=l;},8140:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.BaseExtension=void 0;var r=n(624),i=function(){function t(t){this.geoPackage=t,this.connection=t.connection,this.extensionsDao=t.extensionDao;}return t.prototype.getOrCreate=function(t,e,n,r,i){var o=this.getExtension(t,e,n);return o.length?o[0]:(this.extensionsDao.createTable(),this.createExtension(t,e,n,r,i),this.getExtension(t,e,n)[0])},t.prototype.getExtension=function(t,e,n){return this.extensionsDao.isTableExists()?this.extensionsDao.queryByExtensionAndTableNameAndColumnName(t,e,n):[]},t.prototype.hasExtension=function(t,e,n){return !!this.getExtension(t,e,n).length},t.prototype.hasExtensions=function(t){return 0!==this.extensionsDao.queryAllByExtension(t).length},t.prototype.createExtension=function(t,e,n,i,o){var a=new r.Extension;return a.table_name=e,a.column_name=n,a.extension_name=t,a.definition=i,a.scope=o,this.extensionsDao.create(a)},t}();e.BaseExtension=i;},4650:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ContentsId=void 0;e.ContentsId=function(){};},7092:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);});Object.defineProperty(e,"__esModule",{value:!0}),e.ContentsIdDao=void 0;var o=n(4115),a=n(4650),s=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.gpkgTableName=e.TABLE_NAME,n.idColumns=["id"],n}return i(e,t),e.prototype.createObject=function(t){var e=new a.ContentsId;return t&&(e.id=t.id,e.table_name=t.table_name),e},e.prototype.createTable=function(){return this.geoPackage.getTableCreator().createContentsId()},e.prototype.getTableNames=function(){for(var t=[],e=this.queryForColumns("table_name"),n=0;n0?n[0]:null},e.prototype.deleteByTableName=function(t){return this.deleteWhere(this.buildWhereWithFieldAndValue(e.COLUMN_TABLE_NAME,t),this.buildWhereArgs(t))},e.TABLE_NAME="nga_contents_id",e.COLUMN_ID="id",e.COLUMN_TABLE_NAME="table_name",e}(o.Dao);e.ContentsIdDao=s;},1314:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);});Object.defineProperty(e,"__esModule",{value:!0}),e.ContentsIdExtension=void 0;var o=n(8140),a=n(624),s=n(7092),u=n(6638),l=function(t){function e(e){var n=t.call(this,e)||this;return n.contentsIdDao=e.contentsIdDao,n}return i(e,t),e.prototype.getOrCreateExtension=function(){var t=this.getOrCreate(e.EXTENSION_NAME,null,null,e.EXTENSION_DEFINITION,a.Extension.READ_WRITE);return this.contentsIdDao.createTable(),t},Object.defineProperty(e.prototype,"dao",{get:function(){return this.contentsIdDao},enumerable:!1,configurable:!0}),e.prototype.has=function(){return this.hasExtension(e.EXTENSION_NAME,null,null)&&this.contentsIdDao.isTableExists()},e.prototype.get=function(t){var e=null;return t&&t.table_name&&(e=this.getByTableName(t.table_name)),e},e.prototype.getByTableName=function(t){var e=null;return this.contentsIdDao.isTableExists()&&(e=this.contentsIdDao.queryForTableName(t)),e},e.prototype.getId=function(t){var e=null;return t&&t.table_name&&(e=this.getIdByTableName(t.table_name)),e},e.prototype.getIdByTableName=function(t){var e=null;if(this.contentsIdDao.isTableExists()){var n=this.contentsIdDao.queryForTableName(t);n&&(e=n.id);}return e},e.prototype.create=function(t){var e=null;return t&&t.table_name&&(e=this.createWithTableName(t.table_name)),e},e.prototype.createWithTableName=function(t){var e=this.contentsIdDao.createObject();return e.table_name=t,e.id=this.contentsIdDao.create(e),e},e.prototype.createId=function(t){var e=null;return t&&t.table_name&&(e=this.createIdWithTableName(t.table_name)),e},e.prototype.createIdWithTableName=function(t){return this.createWithTableName(t)},e.prototype.getOrCreateId=function(t){var e=null;return t&&t.table_name&&(e=this.getOrCreateIdByTableName(t.table_name)),e},e.prototype.getOrCreateIdByTableName=function(t){var e=this.getByTableName(t);return null==e&&(e=this.createWithTableName(t)),e},e.prototype.deleteId=function(t){var e=0;return t&&t.table_name&&(e=this.deleteIdByTableName(t.table_name)),e},e.prototype.deleteIdByTableName=function(t){return this.contentsIdDao.deleteByTableName(t)},e.prototype.count=function(){var t=0;return this.has()&&(t=this.contentsIdDao.count()),t},e.prototype.createIds=function(t){void 0===t&&(t="");for(var e=this.getMissing(t),n=0;n0&&(r+=u.ContentsDao.COLUMN_DATA_TYPE,r+=" = ?",i.push(t)),r.length>0&&(n+=" WHERE "+r),n+=")",e=this.connection.all(n,i);}return e},e.prototype.getMissing=function(t){void 0===t&&(t="");var e="SELECT "+u.ContentsDao.COLUMN_TABLE_NAME+" FROM "+u.ContentsDao.TABLE_NAME,n="",r=[];return null!=t&&t.length>0&&(n+=u.ContentsDao.COLUMN_DATA_TYPE,n+=" = ?",r.push(t)),this.has()&&(n.length>0&&(n+=" AND "),n+=u.ContentsDao.COLUMN_TABLE_NAME,n+=" NOT IN (SELECT ",n+=s.ContentsIdDao.COLUMN_TABLE_NAME,n+=" FROM ",n+=s.ContentsIdDao.TABLE_NAME,n+=")"),n.length>0&&(e+=" WHERE "+n),this.connection.all(e,r)},e.prototype.removeExtension=function(){this.contentsIdDao.isTableExists()&&this.geoPackage.deleteTable(s.ContentsIdDao.TABLE_NAME),this.extensionsDao.isTableExists()&&this.extensionsDao.deleteByExtension(e.EXTENSION_NAME);},e.EXTENSION_NAME="nga_contents_id",e.EXTENSION_AUTHOR="nga",e.EXTENSION_NAME_NO_AUTHOR="contents_id",e.EXTENSION_DEFINITION="http://ngageoint.github.io/GeoPackage/docs/extensions/contents-id.html",e}(o.BaseExtension);e.ContentsIdExtension=l;},5306:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);});Object.defineProperty(e,"__esModule",{value:!0}),e.CrsWktExtension=void 0;var o=n(624),a=function(t){function e(n){var r=t.call(this,n)||this;return r.extensionName=e.EXTENSION_NAME,r.extensionDefinition=e.EXTENSION_CRS_WKT_DEFINITION,r}return i(e,t),e.prototype.getOrCreateExtension=function(){return this.getOrCreate(this.extensionName,null,null,this.extensionDefinition,o.Extension.READ_WRITE)},e.prototype.has=function(){return this.hasExtension(e.EXTENSION_NAME,null,null)},e.prototype.removeExtension=function(){try{this.extensionsDao.isTableExists()&&this.extensionsDao.deleteByExtension(e.EXTENSION_NAME);}catch(t){throw new Error("Failed to delete CrsWkt extension. GeoPackage: "+this.geoPackage.name)}},e.EXTENSION_NAME="gpkg_crs_wkt",e.EXTENSION_CRS_WKT_AUTHOR="gpkg",e.EXTENSION_CRS_WKT_NAME_NO_AUTHOR="crs_wkt",e.EXTENSION_CRS_WKT_DEFINITION="http://www.geopackage.org/spec/#extension_crs_wkt",e}(n(8140).BaseExtension);e.CrsWktExtension=a;},624:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Extension=void 0;var n=function(){function t(){}return t.prototype.setExtensionName=function(e,n){this.extension_name=t.buildExtensionName(e,n);},Object.defineProperty(t.prototype,"author",{get:function(){return t.getAuthorWithExtensionName(this.extension_name)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"extensionNameNoAuthor",{get:function(){return t.getExtensionNameNoAuthor(this.extension_name)},enumerable:!1,configurable:!0}),t.buildExtensionName=function(e,n){return e+t.EXTENSION_NAME_DIVIDER+n},t.getAuthorWithExtensionName=function(e){return e.split(t.EXTENSION_NAME_DIVIDER)[0]},t.getExtensionNameNoAuthor=function(e){return e.slice(e.indexOf(t.EXTENSION_NAME_DIVIDER)+1)},t.prototype.getTableName=function(){return this.table_name},t.prototype.setTableName=function(t){this.table_name=t,null==t&&(this.column_name=null);},t.EXTENSION_NAME_DIVIDER="_",t.READ_WRITE="read-write",t.WRITE_ONLY="write-only",t}();e.Extension=n;},5698:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);}),o=this&&this.__values||function(t){var e="function"==typeof Symbol&&Symbol.iterator,n=e&&t[e],r=0;if(n)return n.call(t);if(t&&"number"==typeof t.length)return {next:function(){return t&&r>=t.length&&(t=void 0),{value:t&&t[r++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.ExtensionDao=void 0;var a=n(624),s=n(4115),u=n(8572),l=n(1459),c=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.gpkgTableName=e.TABLE_NAME,n.idColumns=[e.COLUMN_TABLE_NAME,e.COLUMN_COLUMN_NAME,e.COLUMN_EXTENSION_NAME],n}return i(e,t),e.prototype.createObject=function(t){var e=new a.Extension;return e.table_name=t.table_name,e.column_name=t.column_name,e.extension_name=t.extension_name,e.definition=t.definition,e.scope=t.scope,e},e.prototype.queryByExtension=function(t){var n=this.queryForAllEq(e.COLUMN_EXTENSION_NAME,t);if(n[0])return this.createObject(n[0])},e.prototype.queryAllByExtension=function(t){var n,r,i=[];try{for(var a=o(this.queryForAllEq(e.COLUMN_EXTENSION_NAME,t)),s=a.next();!s.done;s=a.next()){var u=s.value,l=this.createObject(u);i.push(l);}}catch(t){n={error:t};}finally{try{s&&!s.done&&(r=a.return)&&r.call(a);}finally{if(n)throw n.error}}return i},e.prototype.queryByExtensionAndTableName=function(t,n){var r,i,a=new u.ColumnValues;a.addColumn(e.COLUMN_EXTENSION_NAME,t),a.addColumn(e.COLUMN_TABLE_NAME,n);var s=[];try{for(var l=o(this.queryForFieldValues(a)),c=l.next();!c.done;c=l.next()){var h=c.value;s.push(this.createObject(h));}}catch(t){r={error:t};}finally{try{c&&!c.done&&(i=l.return)&&i.call(l);}finally{if(r)throw r.error}}return s},e.prototype.queryByExtensionAndTableNameAndColumnName=function(t,n,r){var i,a,s=new u.ColumnValues;s.addColumn(e.COLUMN_EXTENSION_NAME,t),null!=n&&s.addColumn(e.COLUMN_TABLE_NAME,n),null!=r&&s.addColumn(e.COLUMN_COLUMN_NAME,r);var l=[];try{for(var c=o(this.queryForFieldValues(s)),h=c.next();!h.done;h=c.next()){var f=h.value,p=this.createObject(f);l.push(p);}}catch(t){i={error:t};}finally{try{h&&!h.done&&(a=c.return)&&a.call(c);}finally{if(i)throw i.error}}return l},e.prototype.createTable=function(){return new l.TableCreator(this.geoPackage).createExtensions()},e.prototype.deleteByExtension=function(t){var n=new u.ColumnValues;return n.addColumn(e.COLUMN_EXTENSION_NAME,t),this.deleteWhere(this.buildWhere(n,"="),this.buildWhereArgs(n))},e.prototype.deleteByExtensionAndTableName=function(t,n){var r=new u.ColumnValues;return r.addColumn(e.COLUMN_EXTENSION_NAME,t),r.addColumn(e.COLUMN_TABLE_NAME,n),this.deleteWhere(this.buildWhere(r,"and"),this.buildWhereArgs(r))},e.prototype.deleteByExtensionAndTableNameAndColumnName=function(t,n,r){var i=new u.ColumnValues;return i.addColumn(e.COLUMN_EXTENSION_NAME,t),i.addColumn(e.COLUMN_TABLE_NAME,n),i.addColumn(e.COLUMN_COLUMN_NAME,r),this.deleteWhere(this.buildWhere(i,"and"),this.buildWhereArgs(i))},e.TABLE_NAME="gpkg_extensions",e.COLUMN_TABLE_NAME="table_name",e.COLUMN_COLUMN_NAME="column_name",e.COLUMN_EXTENSION_NAME="extension_name",e.COLUMN_DEFINITION="definition",e.COLUMN_SCOPE="scope",e}(s.Dao);e.ExtensionDao=c;},9406:(t,e,n)=>{"use strict";var r=n(5108);Object.defineProperty(e,"__esModule",{value:!0}),e.GeoPackageExtensions=void 0;var i=n(6131),o=n(5859),a=n(1832),s=n(5045),u=n(5042),l=n(362),c=n(8314),h=n(2431),f=n(8904),p=n(8116),d=n(4941),y=n(1459),m=n(1133),g=n(3501),_=n(2056),b=n(5306),v=function(){function t(){}return t.deleteTableExtensions=function(e,n){i.NGAExtensions.deleteTableExtensions(e,n),t.deleteRTreeSpatialIndex(e,n),t.deleteRelatedTables(e,n),t.deleteSchema(e,n),t.deleteMetadata(e,n),t.deleteExtensionForTable(e,n);},t.deleteExtensions=function(t){i.NGAExtensions.deleteExtensions(t),this.deleteRTreeSpatialIndexExtension(t),this.deleteRelatedTablesExtension(t),this.deleteSchemaExtension(t),this.deleteMetadataExtension(t),this.deleteCrsWktExtension(t),this.delete(t);},t.copyTableExtensions=function(e,n,o){try{t.copyRTreeSpatialIndex(e,n,o),t.copyRelatedTables(e,n,o),t.copySchema(e,n,o),t.copyMetadata(e,n,o),i.NGAExtensions.copyTableExtensions(e,n,o);}catch(t){r.warn("Failed to copy extensions for table: "+o+", copied from table: "+n,t);}},t.deleteExtensionForTable=function(t,e){var n=t.extensionDao;try{n.isTableExists()&&n.deleteByExtension(e);}catch(n){throw new Error("Failed to delete Table extensions. GeoPackage: "+t.name+", Table: "+e)}},t.delete=function(t){var e=t.extensionDao;try{e.isTableExists()&&t.dropTable(e.gpkgTableName);}catch(e){throw new Error("Failed to delete all extensions. GeoPackage: "+t.name)}},t.deleteRTreeSpatialIndex=function(e,n){var r=t.getRTreeIndexExtension(e);r.has(n)&&r.deleteTable(n);},t.deleteRTreeSpatialIndexExtension=function(e){var n=t.getRTreeIndexExtension(e);n.has()&&n.deleteAll();},t.copyRTreeSpatialIndex=function(e,n,i){try{var o=t.getRTreeIndexExtension(e);if(o.has(n)){var a=e.geometryColumnsDao.queryForTableName(i);if(null!=a){var u=s.TableInfo.info(e.connection,i);if(null!=u){var l=u.getPrimaryKey().getName();o.createWithParameters(i,a.column_name,l);}}}}catch(t){r.warn("Failed to create RTree for table: "+i+", copied from table: "+n,t);}},t.getRTreeIndexExtension=function(t){return new o.RTreeIndex(t,null)},t.deleteRelatedTables=function(e,n){var r=t.getRelatedTableExtension(e);r.has()&&r.removeRelationships(n);},t.deleteRelatedTablesExtension=function(e){var n=t.getRelatedTableExtension(e);n.has()&&n.removeExtension();},t.copyRelatedTables=function(e,n,i){try{var o=t.getRelatedTableExtension(e);if(o.has()){var p=o.extendedRelationDao,d=e.extensionDao;p.getBaseTableRelations(n).forEach((function(t){var r=t.mapping_table_name,o=d.queryByExtensionAndTableName(a.RelatedTablesExtension.EXTENSION_NAME,r).concat(d.queryByExtensionAndTableName(a.RelatedTablesExtension.EXTENSION_RELATED_TABLES_NAME_NO_AUTHOR,r));if(o.length>0){var p=u.CoreSQLUtils.createName(e.connection,r,n,i),y=new l.UserCustomTableReader(r).readTable(e.connection);c.AlterTable.copyTable(e.connection,y,p);var m=o[0];m.setTableName(p),d.create(m);var g=h.TableMapping.fromTableInfo(s.TableInfo.info(e.connection,f.ExtendedRelationDao.TABLE_NAME));g.removeColumn(f.ExtendedRelationDao.ID);var _=g.getColumn(f.ExtendedRelationDao.BASE_TABLE_NAME);_.constantValue=i,_.whereValue=n;var b=g.getColumn(f.ExtendedRelationDao.MAPPING_TABLE_NAME);b.constantValue=p,b.whereValue=r,u.CoreSQLUtils.transferTableContentForTableMapping(e.connection,g);}}));}}catch(t){r.warn("Failed to create Related Tables for table: "+i+", copied from table: "+n,t);}},t.getRelatedTableExtension=function(t){return new a.RelatedTablesExtension(t)},t.deleteSchema=function(t,e){var n=t.dataColumnsDao;try{n.isTableExists()&&n.deleteByTableName(e);}catch(n){throw new Error("Failed to delete Schema extension. GeoPackage: "+t.name+", Table: "+e)}},t.deleteSchemaExtension=function(t){var e=new p.SchemaExtension(t);e.has()&&e.removeExtension();},t.copySchema=function(t,e,n){try{if(t.isTable(d.DataColumnsDao.TABLE_NAME)){var i=new l.UserCustomTableReader(d.DataColumnsDao.TABLE_NAME).readUserCustomTable(t),o=i.getColumnWithColumnName(d.DataColumnsDao.COLUMN_NAME);if(o.hasConstraints()){if(o.clearConstraints(),i.hasConstraints()){i.clearConstraints();var a=y.TableCreator.tableCreationScripts.data_columns[0],s=m.ConstraintParser.getConstraints(a);i.addConstraints(s.getTableConstraints());}c.AlterTable.alterColumnForTable(t.connection,i,o);}u.CoreSQLUtils.transferTableContent(t.connection,d.DataColumnsDao.TABLE_NAME,d.DataColumnsDao.COLUMN_TABLE_NAME,n,e);}}catch(t){r.warn("Failed to create Schema for table: "+n+", copied from table: "+e,t);}},t.deleteMetadata=function(t,e){var n=t.metadataReferenceDao;try{n.isTableExists()&&n.deleteByTableName(e);}catch(n){throw new Error("Failed to delete Metadata extension. GeoPackage: "+t.name+", Table: "+e)}},t.deleteMetadataExtension=function(t){var e=new g.MetadataExtension(t);e.has()&&e.removeExtension();},t.copyMetadata=function(t,e,n){try{t.isTable(_.MetadataReferenceDao.TABLE_NAME)&&u.CoreSQLUtils.transferTableContent(t.connection,_.MetadataReferenceDao.TABLE_NAME,_.MetadataReferenceDao.COLUMN_TABLE_NAME,n,e);}catch(t){r.warn("Failed to create Metadata for table: "+n+", copied from table: "+e,t);}},t.deleteCrsWktExtension=function(t){var e=new b.CrsWktExtension(t);e.has()&&e.removeExtension();},t}();e.GeoPackageExtensions=v;},5626:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);}),o=this&&this.__awaiter||function(t,e,n,r){return new(n||(n=Promise))((function(i,o){function a(t){try{u(r.next(t));}catch(t){o(t);}}function s(t){try{u(r.throw(t));}catch(t){o(t);}}function u(t){var e;t.done?i(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e);}))).then(a,s);}u((r=r.apply(t,e||[])).next());}))},a=this&&this.__generator||function(t,e){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(s){return function(u){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;o&&(o=0,s[0]&&(a=0)),a;)try{if(n=1,r&&(i=2&s[0]?r.return:s[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,s[1])).done)return i;switch(r=0,i&&(s=[2&s[0],i.value]),s[0]){case 0:case 1:i=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,r=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!((i=(i=a.trys).length>0&&i[i.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!i||s[1]>i[0]&&s[1]=r}return !1}catch(t){return !1}},e.prototype.getFeatureTableIndexExtension=function(){return this.getExtension(this.extensionName,this.tableName,this.columnName)[0]},e.prototype.getOrCreateExtension=function(){return this.getOrCreate(this.extensionName,this.tableName,this.columnName,this.extensionDefinition,l.Extension.READ_WRITE)},e.prototype.getOrCreateTableIndex=function(){return this.tableIndex||(this.tableIndexDao.createTable(),this.createTableIndex(),this.tableIndex)},e.prototype.createTableIndex=function(){var t=new c.TableIndex;return t.table_name=this.tableName,t.last_indexed=new Date,this.tableIndexDao.create(t)},Object.defineProperty(e.prototype,"tableIndex",{get:function(){return this.tableIndexDao.isTableExists()?this.tableIndexDao.queryForId(this.tableName):void 0},enumerable:!1,configurable:!0}),e.prototype.createOrClearGeometryIndicies=function(){return this.geometryIndexDao.createTable(),this.clearGeometryIndicies()},e.prototype.clearGeometryIndicies=function(){var t=this.geometryIndexDao.buildWhereWithFieldAndValue(h.GeometryIndexDao.COLUMN_TABLE_NAME,this.tableName),e=this.geometryIndexDao.buildWhereArgs(this.tableName);return this.geometryIndexDao.deleteWhere(t,e)},e.prototype.indexTable=function(t){return o(this,void 0,void 0,(function(){var e=this;return a(this,(function(n){return [2,new Promise((function(n,r){setTimeout((function(){e.indexChunk(0,t,n,r);}));})).then((function(){return 1===e.updateLastIndexed(t)}))]}))}))},e.prototype.indexChunk=function(t,e,n,r){var i=this,o=this.featureDao.queryForChunk(100,t);o.length?(this.progress("Indexing "+100*t+" to "+100*(t+1)),o.forEach((function(t){var n=i.featureDao.getRow(t);i.indexRow(e,n.id,n.geometry);})),setTimeout((function(){i.indexChunk(++t,e,n,r);}))):n();},e.prototype.indexRow=function(t,e,n){if(!n)return !1;var r=n.envelope;if(!r){var i=n.geometry;i&&(r=p.EnvelopeBuilder.buildEnvelopeWithGeometry(i));}if(r){var o=this.geometryIndexDao.populate(t,e,r);return 1===this.geometryIndexDao.createOrUpdate(o)}return !1},e.prototype.updateLastIndexed=function(t){return t||((t=new c.TableIndex).table_name=this.tableName),t.last_indexed=(new Date).toISOString(),this.tableIndexDao.createOrUpdate(t)},e.prototype.queryWithBoundingBox=function(t,e){var n=t.projectBoundingBox(e,this.featureDao.projection).buildEnvelope();return this.queryWithGeometryEnvelope(n)},e.prototype.queryWithGeometryEnvelope=function(t){return this.rtreeIndexed?this.rtreeIndexDao.queryWithGeometryEnvelope(t):this.geometryIndexDao.queryWithGeometryEnvelope(t)},e.prototype.countWithBoundingBox=function(t,e){var n=t.projectBoundingBox(e,this.featureDao.projection).buildEnvelope();return this.countWithGeometryEnvelope(n)},e.prototype.countWithGeometryEnvelope=function(t){return this.rtreeIndexed?this.rtreeIndexDao.countWithGeometryEnvelope(t):this.geometryIndexDao.countWithGeometryEnvelope(t)},e.EXTENSION_GEOMETRY_INDEX_AUTHOR="nga",e.EXTENSION_GEOMETRY_INDEX_NAME_NO_AUTHOR="geometry_index",e.EXTENSION_NAME=l.Extension.buildExtensionName(e.EXTENSION_GEOMETRY_INDEX_AUTHOR,e.EXTENSION_GEOMETRY_INDEX_NAME_NO_AUTHOR),e.EXTENSION_GEOMETRY_INDEX_DEFINITION="http://ngageoint.github.io/GeoPackage/docs/extensions/geometry-index.html",e}(u.BaseExtension);e.FeatureTableIndex=d;},8021:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.GeometryIndex=void 0;var n=function(){function t(){}return Object.defineProperty(t.prototype,"tableIndex",{set:function(t){this.table_name=t.table_name;},enumerable:!1,configurable:!0}),t}();e.GeometryIndex=n;},9095:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);});Object.defineProperty(e,"__esModule",{value:!0}),e.GeometryIndexDao=void 0;var o=n(4115),a=n(8021),s=n(1459),u=function(t){function e(n,r){var i=t.call(this,n)||this;return i.gpkgTableName=e.TABLE_NAME,i.idColumns=["table_name","geom_id"],i.featureDao=r,i}return i(e,t),e.prototype.createObject=function(t){var e=new a.GeometryIndex;return t&&(e.table_name=t.table_name,e.geom_id=t.geom_id,e.min_x=t.min_x,e.max_x=t.max_x,e.min_y=t.min_y,e.max_y=t.max_y,e.min_z=t.min_z,e.max_z=t.max_z,e.min_m=t.min_m,e.max_m=t.max_m),e},e.prototype.getTableIndex=function(t){return this.geoPackage.tableIndexDao.queryForId(t.table_name)},e.prototype.queryForTableName=function(t){return this.queryForEach(e.COLUMN_TABLE_NAME,t)},e.prototype.countByTableName=function(t){return this.count(e.COLUMN_TABLE_NAME,t)},e.prototype.populate=function(t,e,n){var r=new a.GeometryIndex;return r.tableIndex=t,r.geom_id=e,r.min_x=n.minX,r.min_y=n.minY,r.max_x=n.maxX,r.max_y=n.maxY,n.hasZ&&(r.min_z=n.minZ,r.max_z=n.maxZ),n.hasM&&(r.min_m=n.minM,r.max_m=n.maxM),r},e.prototype.createTable=function(){return !!this.isTableExists()||new s.TableCreator(this.geoPackage).createGeometryIndex()},e.prototype._generateGeometryEnvelopeQuery=function(t){var n=this.featureDao.gpkgTableName,r="";r+=this.buildWhereWithFieldAndValue(e.COLUMN_TABLE_NAME,n),r+=" and ";var i=t.minX=")):(r+="(",r+=this.buildWhereWithFieldAndValue(e.COLUMN_MIN_X,t.maxX,"<="),r+=" or ",r+=this.buildWhereWithFieldAndValue(e.COLUMN_MAX_X,t.minX,">="),r+=" or ",r+=this.buildWhereWithFieldAndValue(e.COLUMN_MIN_X,t.minX,">="),r+=" or ",r+=this.buildWhereWithFieldAndValue(e.COLUMN_MAX_X,t.maxX,"<="),r+=")"),r+=" and ",r+=this.buildWhereWithFieldAndValue(e.COLUMN_MIN_Y,t.maxY,"<="),r+=" and ",r+=this.buildWhereWithFieldAndValue(e.COLUMN_MAX_Y,t.minY,">=");var o=[n,t.maxX,t.minX];return i||o.push(t.minX,t.maxX),o.push(t.maxY,t.minY),t.hasZ&&(r+=" and ",r+=this.buildWhereWithFieldAndValue(e.COLUMN_MIN_Z,t.minZ,"<="),r+=" and ",r+=this.buildWhereWithFieldAndValue(e.COLUMN_MAX_Z,t.maxZ,">="),o.push(t.maxZ,t.minZ)),t.hasM&&(r+=" and ",r+=this.buildWhereWithFieldAndValue(e.COLUMN_MIN_M,t.minM,"<="),r+=" and ",r+=this.buildWhereWithFieldAndValue(e.COLUMN_MAX_M,t.maxM,">="),o.push(t.maxM,t.minM)),{join:'inner join "'+n+'" on "'+n+'".'+this.featureDao.idColumns[0]+" = "+e.COLUMN_GEOM_ID,where:r,whereArgs:o,tableNameArr:['"'+n+'".*']}},e.prototype.queryWithGeometryEnvelope=function(t){var e=this._generateGeometryEnvelopeQuery(t);return this.queryJoinWhereWithArgs(e.join,e.where,e.whereArgs,e.tableNameArr)},e.prototype.countWithGeometryEnvelope=function(t){var e=this._generateGeometryEnvelopeQuery(t);return this.countJoinWhereWithArgs(e.join,e.where,e.whereArgs)},e.TABLE_NAME="nga_geometry_index",e.COLUMN_TABLE_NAME=e.TABLE_NAME+".table_name",e.COLUMN_TABLE_NAME_FIELD="table_name",e.COLUMN_GEOM_ID=e.TABLE_NAME+".geom_id",e.COLUMN_MIN_X=e.TABLE_NAME+".min_x",e.COLUMN_MAX_X=e.TABLE_NAME+".max_x",e.COLUMN_MIN_Y=e.TABLE_NAME+".min_y",e.COLUMN_MAX_Y=e.TABLE_NAME+".max_y",e.COLUMN_MIN_Z=e.TABLE_NAME+".min_z",e.COLUMN_MAX_Z=e.TABLE_NAME+".max_z",e.COLUMN_MIN_M=e.TABLE_NAME+".min_m",e.COLUMN_MAX_M=e.TABLE_NAME+".max_m",e}(o.Dao);e.GeometryIndexDao=u;},7049:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TableIndex=void 0;e.TableIndex=function(){};},9581:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);});Object.defineProperty(e,"__esModule",{value:!0}),e.TableIndexDao=void 0;var o=n(4115),a=n(1459),s=n(7049),u=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.gpkgTableName=e.TABLE_NAME,n.idColumns=[e.COLUMN_TABLE_NAME],n}return i(e,t),e.prototype.createObject=function(t){var e=new s.TableIndex;return t&&(e.table_name=t.table_name,e.last_indexed=t.last_indexed),e},e.prototype.createTable=function(){return new a.TableCreator(this.geoPackage).createTableIndex()},e.TABLE_NAME="nga_table_index",e.COLUMN_TABLE_NAME="table_name",e.COLUMN_LAST_INDEXED="last_indexed",e}(o.Dao);e.TableIndexDao=u;},3501:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);});Object.defineProperty(e,"__esModule",{value:!0}),e.MetadataExtension=void 0;var o=n(8140),a=n(624),s=n(2056),u=n(663),l=function(t){function e(n){var r=t.call(this,n)||this;return r.extensionName=e.EXTENSION_NAME,r.extensionDefinition=e.EXTENSION_Metadata_DEFINITION,r}return i(e,t),e.prototype.getOrCreateExtension=function(){return this.getOrCreate(this.extensionName,null,null,this.extensionDefinition,a.Extension.READ_WRITE)},e.prototype.has=function(){return this.hasExtension(e.EXTENSION_NAME,null,null)},e.prototype.removeExtension=function(){this.geoPackage.isTable(s.MetadataReferenceDao.TABLE_NAME)&&this.geoPackage.dropTable(s.MetadataReferenceDao.TABLE_NAME),this.geoPackage.isTable(u.MetadataDao.TABLE_NAME)&&this.geoPackage.dropTable(u.MetadataDao.TABLE_NAME);try{this.extensionsDao.isTableExists()&&this.extensionsDao.deleteByExtension(e.EXTENSION_NAME);}catch(t){throw new Error("Failed to delete Schema extension. GeoPackage: "+this.geoPackage.name)}},e.EXTENSION_NAME="gpkg_metadata",e.EXTENSION_Metadata_AUTHOR="gpkg",e.EXTENSION_Metadata_NAME_NO_AUTHOR="metadata",e.EXTENSION_Metadata_DEFINITION="http://www.geopackage.org/spec/#extension_metadata",e}(o.BaseExtension);e.MetadataExtension=l;},6131:(t,e,n)=>{"use strict";var r=n(5108);Object.defineProperty(e,"__esModule",{value:!0}),e.NGAExtensions=void 0;var i=n(5626),o=n(9095),a=n(9581),s=n(5042),u=n(7960),l=n(7523),c=n(8479),h=n(1832),f=n(1314),p=n(362),d=n(8314),y=n(2431),m=n(233),g=n(8904),_=n(5045),b=n(7092),v=function(){function t(){}return t.deleteTableExtensions=function(e,n){t.deleteGeometryIndex(e,n),t.deleteTileScaling(e,n),t.deleteFeatureStyle(e,n),t.deleteContentsId(e,n);},t.deleteExtensions=function(e){t.deleteGeometryIndexExtension(e),t.deleteTileScalingExtension(e),t.deleteFeatureStyleExtension(e),t.deleteContentsIdExtension(e);},t.copyTableExtensions=function(e,n,i){try{t.copyContentsId(e,n,i),t.copyFeatureStyle(e,n,i),t.copyTileScaling(e,n,i),t.copyGeometryIndex(e,n,i);}catch(t){r.warn("Failed to copy extensions for table: "+i+", copied from table: "+n,t);}},t.deleteGeometryIndex=function(t,e){var n=t.getGeometryIndexDao(null),r=t.tableIndexDao,s=t.extensionDao;try{n.isTableExists()&&n.deleteWhere(n.buildWhereWithFieldAndValue(o.GeometryIndexDao.COLUMN_TABLE_NAME_FIELD,e),n.buildWhereArgs(e)),r.isTableExists()&&r.deleteWhere(r.buildWhereWithFieldAndValue(a.TableIndexDao.COLUMN_TABLE_NAME,e),r.buildWhereArgs(e)),s.isTableExists()&&s.deleteByExtensionAndTableName(i.FeatureTableIndex.EXTENSION_NAME,e);}catch(n){throw new Error("Failed to delete Table Index. GeoPackage: "+t.name+", Table: "+e)}},t.deleteGeometryIndexExtension=function(t){var e=t.getGeometryIndexDao(null),n=t.tableIndexDao,r=t.extensionDao;try{e.isTableExists()&&t.dropTable(o.GeometryIndexDao.TABLE_NAME),n.isTableExists()&&t.dropTable(a.TableIndexDao.TABLE_NAME),r.isTableExists()&&r.deleteByExtension(i.FeatureTableIndex.EXTENSION_NAME);}catch(e){throw new Error("Failed to delete Table Index extension and tables. GeoPackage: "+t.name)}},t.copyGeometryIndex=function(t,e,n){try{var a=t.extensionDao;if(a.isTableExists()){var u=a.queryByExtensionAndTableName(i.FeatureTableIndex.EXTENSION_NAME,e);if(u.length>0){var l=u[0];l.table_name=n,a.create(l);var c=t.tableIndexDao;if(c.isTableExists()){var h=c.queryForId(e);null!=h&&(h.table_name=n,c.create(h),t.isTable(o.GeometryIndexDao.TABLE_NAME)&&s.CoreSQLUtils.transferTableContent(t.connection,o.GeometryIndexDao.TABLE_NAME,o.GeometryIndexDao.COLUMN_TABLE_NAME_FIELD,n,e));}}}}catch(t){r.warn("Failed to create Geometry Index for table: "+n+", copied from table: "+e,t);}},t.deleteTileScaling=function(t,e){var n=t.tileScalingDao,r=t.extensionDao;try{n.isTableExists()&&n.deleteByTableName(e),r.isTableExists()&&r.deleteByExtensionAndTableName(l.TileScalingExtension.EXTENSION_NAME,e);}catch(n){throw new Error("Failed to delete Tile Scaling. GeoPackage: "+t.name+", Table: "+e)}},t.deleteTileScalingExtension=function(t){var e=t.tileScalingDao,n=t.extensionDao;try{e.isTableExists()&&t.dropTable(e.gpkgTableName),n.isTableExists()&&n.deleteByExtension(l.TileScalingExtension.EXTENSION_NAME);}catch(e){throw new Error("Failed to delete Tile Scaling extension and table. GeoPackage: "+t.name)}},t.copyTileScaling=function(t,e,n){try{var i=new l.TileScalingExtension(t,e);if(i.has()){var o=i.getOrCreateExtension();null!=o&&(o.setTableName(n),i.extensionsDao.create(o),t.isTable(u.TileScalingDao.TABLE_NAME)&&s.CoreSQLUtils.transferTableContent(t.connection,u.TileScalingDao.TABLE_NAME,u.TileScalingDao.COLUMN_TABLE_NAME,n,e));}}catch(t){r.warn("Failed to create Tile Scaling for table: "+n+", copied from table: "+e,t);}},t.deleteFeatureStyle=function(e,n){var r=t.getFeatureStyleExtension(e);r.has(n)&&r.deleteRelationships(n);},t.deleteFeatureStyleExtension=function(e){var n=t.getFeatureStyleExtension(e);n.has(null)&&n.removeExtension();},t.copyFeatureStyle=function(e,n,i){try{var o=t.getFeatureStyleExtension(e);if(o.hasRelationship(n)){var a=o.getOrCreateExtension(n);if(null!=a){a.setTableName(i),o.extensionsDao.create(a);var s=o.getContentsId(),u=s.getIdByTableName(n),l=s.getIdByTableName(i);null!=u&&null!=l&&(o.hasTableStyleRelationship(n)&&t.copyFeatureTableStyle(o,c.FeatureStyleExtension.TABLE_MAPPING_TABLE_STYLE,n,i,u,l),o.hasTableIconRelationship(n)&&t.copyFeatureTableStyle(o,c.FeatureStyleExtension.TABLE_MAPPING_TABLE_ICON,n,i,u,l));}}}catch(t){r.warn("Failed to create Feature Style for table: "+i+", copied from table: "+n,t);}},t.copyFeatureTableStyle=function(t,e,n,r,i,o){var a=t.geoPackage,u=t.getMappingTableName(e,n),l=a.extensionDao,c=l.queryByExtensionAndTableName(h.RelatedTablesExtension.EXTENSION_NAME,u).concat(l.queryByExtensionAndTableName(h.RelatedTablesExtension.EXTENSION_RELATED_TABLES_NAME_NO_AUTHOR,u));if(c.length>0){var f=t.getMappingTableName(e,r),v=new p.UserCustomTableReader(u).readTable(a.connection);d.AlterTable.copyTable(a.connection,v,f,!1);var T=new y.TableMapping(v.getTableName(),f,v.getUserColumns().getColumns()),E=T.getColumn(m.UserMappingTable.COLUMN_BASE_ID);E.constantValue=o,E.whereValue=i,s.CoreSQLUtils.transferTableContentForTableMapping(a.connection,T);var w=c[0];w.setTableName(f),l.create(w);var x=y.TableMapping.fromTableInfo(_.TableInfo.info(a.connection,g.ExtendedRelationDao.TABLE_NAME));x.removeColumn(g.ExtendedRelationDao.ID),x.getColumn(g.ExtendedRelationDao.BASE_TABLE_NAME).whereValue=b.ContentsIdDao.TABLE_NAME;var C=x.getColumn(g.ExtendedRelationDao.MAPPING_TABLE_NAME);C.constantValue=f,C.whereValue=u,s.CoreSQLUtils.transferTableContentForTableMapping(a.connection,x);}},t.getFeatureStyleExtension=function(t){return new c.FeatureStyleExtension(t)},t.deleteContentsId=function(t,e){var n=new f.ContentsIdExtension(t);n.has()&&n.deleteIdByTableName(e);},t.deleteContentsIdExtension=function(t){var e=new f.ContentsIdExtension(t);e.has()&&e.removeExtension();},t.copyContentsId=function(t,e,n){try{var i=new f.ContentsIdExtension(t);if(i.has())null!=i.getByTableName(e)&&i.createWithTableName(n);}catch(t){r.warn("Failed to create Contents Id for table: "+n+", copied from table: "+e,t);}},t}();e.NGAExtensions=v;},3096:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.DublinCoreMetadata=void 0;var r=n(2224),i=function(){function t(){}return t.hasColumn=function(t,e){var n,i=(n=t instanceof r.UserRow?t.table:t).hasColumn(e.name);if(!n.hasColumn(e.name)){var o=e.synonyms;if(o)for(var a=0;a{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.DublinCoreType=void 0;var n=function(){function t(t,e){this.name=t,this.synonyms=e;}return t.fromName=function(e){for(var n in t)if((r=t[n]).name===e)return r;for(var n in t){var r;if((r=t[n]).synonyms)for(var i=0;i{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ExtendedRelation=void 0;e.ExtendedRelation=function(){};},8904:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);}),o=this&&this.__values||function(t){var e="function"==typeof Symbol&&Symbol.iterator,n=e&&t[e],r=0;if(n)return n.call(t);if(t&&"number"==typeof t.length)return {next:function(){return t&&r>=t.length&&(t=void 0),{value:t&&t[r++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.ExtendedRelationDao=void 0;var a=n(4115),s=n(8572),u=n(7817),l=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.gpkgTableName=e.TABLE_NAME,n.idColumns=["id"],n}return i(e,t),e.prototype.createObject=function(t){var e=new u.ExtendedRelation;return t&&(e.base_table_name=t.base_table_name,e.base_primary_column=t.base_primary_column,e.related_table_name=t.base_primary_column,e.related_table_name=t.related_table_name,e.relation_name=t.relation_name,e.mapping_table_name=t.mapping_table_name,e.related_primary_column=t.related_primary_column,e.id=t.id),e},e.prototype.createTable=function(){return this.geoPackage.getTableCreator().createExtendedRelations()},e.prototype.getBaseTables=function(){for(var t=[],e=this.queryForColumns("base_table_name"),n=0;n=t.length&&(t=void 0),{value:t&&t[r++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.RelatedTablesExtension=void 0;var s=n(8140),u=n(624),l=n(7502),c=n(6366),h=n(2702),f=n(4599),p=n(233),d=n(6302),y=n(1447),m=n(8904),g=n(8483),_=n(5897),b=n(8572),v=n(7817),T=n(7403),E=n(362),w=n(8008),x=n(2071),C=n(1394),M=function(t){function e(e){var n=t.call(this,e)||this;return n.extendedRelationDao=e.extendedRelationDao,n}return o(e,t),e.prototype.getOrCreateExtension=function(){var t=this.getOrCreate(e.EXTENSION_NAME,"gpkgext_relations",void 0,e.EXTENSION_RELATED_TABLES_DEFINITION,u.Extension.READ_WRITE);return this.extendedRelationDao.createTable(),t},e.prototype.getOrCreateMappingTable=function(t){return this.getOrCreateExtension(),this.getOrCreate(e.EXTENSION_NAME,t,void 0,e.EXTENSION_RELATED_TABLES_DEFINITION,u.Extension.READ_WRITE)},e.prototype.setContents=function(t){var e=this.geoPackage.contentsDao.queryForId(t.getTableName());return t.setContents(e)},e.prototype.getUserDao=function(t){return y.UserCustomDao.readTable(this.geoPackage,t)},e.prototype.getMappingDao=function(t){var e;return e=t instanceof v.ExtendedRelation?t.mapping_table_name:t,new d.UserMappingDao(this.getUserDao(e),this.geoPackage)},e.prototype.getRelationships=function(t){return this.extendedRelationDao.isTableExists()?t?this.geoPackage.extendedRelationDao.getBaseTableRelations(t):this.extendedRelationDao.queryForAll():[]},e.prototype.hasRelations=function(t,e,n){var r=[];return this.extendedRelationDao.isTableExists()&&(r=this.extendedRelationDao.getRelations(t,e,n)),!!r.length},e.prototype.getRelatedRows=function(t,e){for(var n=this.getRelationships(t),r=0;r{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.RelationType=void 0;var r=n(9971),i=function(){function t(t,e){this.name=t,this.dataType=e;}return t.fromName=function(e){return t[e.toUpperCase()]},t.FEATURES=new t("features",r.ContentsDataType.FEATURES),t.SIMPLE_ATTRIBUTES=new t("simple_attributes",r.ContentsDataType.ATTRIBUTES),t.MEDIA=new t("media",r.ContentsDataType.ATTRIBUTES),t.ATTRIBUTES=new t("attributes",r.ContentsDataType.ATTRIBUTES),t.TILES=new t("tiles",r.ContentsDataType.TILES),t}();e.RelationType=i;},2702:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);});Object.defineProperty(e,"__esModule",{value:!0}),e.SimpleAttributesDao=void 0;var o=n(4668),a=n(7374),s=function(t){function e(e,n){return t.call(this,e,n)||this}return i(e,t),e.prototype.newRow=function(t,e){return new a.SimpleAttributesRow(this.table,t,e)},Object.defineProperty(e.prototype,"table",{get:function(){return this._table},enumerable:!1,configurable:!0}),e.prototype.getRows=function(t){for(var e=[],n=0;n-1))throw n;this.geoPackage.connection.run('DROP TABLE IF EXISTS "rtree_'+t+"_"+e+'_node"'),this.geoPackage.connection.run('DROP TABLE IF EXISTS "rtree_'+t+"_"+e+'_parent"'),this.geoPackage.connection.run('DROP TABLE IF EXISTS "rtree_'+t+"_"+e+'_rowid"'),this.geoPackage.connection.run("PRAGMA writable_schema = ON"),this.geoPackage.connection.run('DELETE FROM sqlite_master WHERE type = "table" AND name = "rtree_'+t+"_"+e+'"'),this.geoPackage.connection.run("PRAGMA writable_schema = OFF");}},e.prototype.dropTriggersByFeatureTable=function(t){this.dropTriggers(t.getTableName(),t.getGeometryColumnName());},e.prototype.dropTriggers=function(t,e){var n=this.has(t,e);return n&&this.dropAllTriggers(t,e),n},e.prototype.dropAllTriggersByFeatureTable=function(t){this.dropAllTriggers(t.getTableName(),t.getGeometryColumnName());},e.prototype.dropAllTriggers=function(t,e){this.dropInsertTrigger(t,e),this.dropUpdate1Trigger(t,e),this.dropUpdate2Trigger(t,e),this.dropUpdate3Trigger(t,e),this.dropUpdate4Trigger(t,e),this.dropDeleteTrigger(t,e);},e.prototype.dropInsertTrigger=function(t,n){this.dropTrigger(t,n,e.TRIGGER_INSERT_NAME);},e.prototype.dropUpdate1Trigger=function(t,n){this.dropTrigger(t,n,e.TRIGGER_UPDATE1_NAME);},e.prototype.dropUpdate2Trigger=function(t,n){this.dropTrigger(t,n,e.TRIGGER_UPDATE2_NAME);},e.prototype.dropUpdate3Trigger=function(t,n){this.dropTrigger(t,n,e.TRIGGER_UPDATE3_NAME);},e.prototype.dropUpdate4Trigger=function(t,n){this.dropTrigger(t,n,e.TRIGGER_UPDATE4_NAME);},e.prototype.dropDeleteTrigger=function(t,n){this.dropTrigger(t,n,e.TRIGGER_DELETE_NAME);},e.prototype.dropTrigger=function(t,e,n){this.geoPackage.connection.run('DROP TRIGGER IF EXISTS "rtree_'+t+"_"+e+"_"+n+'"');},e.TRIGGER_INSERT_NAME="insert",e.TRIGGER_UPDATE1_NAME="update1",e.TRIGGER_UPDATE2_NAME="update2",e.TRIGGER_UPDATE3_NAME="update3",e.TRIGGER_UPDATE4_NAME="update4",e.TRIGGER_DELETE_NAME="delete",e}(a.BaseExtension);e.RTreeIndex=h;},735:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);});Object.defineProperty(e,"__esModule",{value:!0}),e.RTreeIndexDao=void 0;var o=n(4115),a=n(5859),s=n(8877),u=function(t){function e(n,r){var i=t.call(this,n)||this;return i.gpkgTableName=e.TABLE_NAME,i.featureDao=r,i}return i(e,t),e.prototype.createObject=function(t){return new a.RTreeIndex(this.geoPackage,this.featureDao)},e.prototype._generateGeometryEnvelopeQuery=function(t){var e=this.featureDao.gpkgTableName,n="",r=t.minX=")):(n+="(",n+=this.buildWhereWithFieldAndValue("minx",t.maxX,"<="),n+=" or ",n+=this.buildWhereWithFieldAndValue("maxx",t.minX,">="),n+=" or ",n+=this.buildWhereWithFieldAndValue("minx",t.minX,">="),n+=" or ",n+=this.buildWhereWithFieldAndValue("maxx",t.maxX,"<="),n+=")"),n+=" and ",n+=this.buildWhereWithFieldAndValue("miny",t.maxY,"<="),n+=" and ",n+=this.buildWhereWithFieldAndValue("maxy",t.minY,">=");var i=[];return i.push(t.maxX,t.minX),r||i.push(t.minX,t.maxX),i.push(t.maxY,t.minY),{join:'inner join "'+e+'" on "'+e+'".'+this.featureDao.idColumns[0]+' = "'+this.gpkgTableName+'".id',where:n,whereArgs:i,tableNameArr:['"'+e+'".*']}},e.prototype.queryWithGeometryEnvelope=function(t){var e=this._generateGeometryEnvelopeQuery(t);return this.queryJoinWhereWithArgs(e.join,e.where,e.whereArgs,e.tableNameArr)},e.prototype.countWithGeometryEnvelope=function(t){var e=this._generateGeometryEnvelopeQuery(t);return this.connection.get(s.SqliteQueryBuilder.buildCount("'"+this.gpkgTableName+"'",e.where),e.whereArgs).count},e.TABLE_NAME="rtree",e.PREFIX="rtree_",e.COLUMN_TABLE_NAME=e.TABLE_NAME+".table_name",e.COLUMN_GEOM_ID=e.TABLE_NAME+".geom_id",e.COLUMN_MIN_X=e.TABLE_NAME+".minx",e.COLUMN_MAX_X=e.TABLE_NAME+".maxx",e.COLUMN_MIN_Y=e.TABLE_NAME+".miny",e.COLUMN_MAX_Y=e.TABLE_NAME+".maxy",e.COLUMN_MIN_Z=e.TABLE_NAME+".minz",e.COLUMN_MAX_Z=e.TABLE_NAME+".maxz",e.COLUMN_MIN_M=e.TABLE_NAME+".minm",e.COLUMN_MAX_M=e.TABLE_NAME+".maxm",e.EXTENSION_NAME="gpkg_rtree_index",e.EXTENSION_RTREE_INDEX_AUTHOR="gpkg",e.EXTENSION_RTREE_INDEX_NAME_NO_AUTHOR="rtree_index",e.EXTENSION_RTREE_INDEX_DEFINITION="http://www.geopackage.org/spec/#extension_rtree",e}(o.Dao);e.RTreeIndexDao=u;},7523:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);});Object.defineProperty(e,"__esModule",{value:!0}),e.TileScalingExtension=void 0;var o=n(8140),a=n(624),s=n(7960),u=function(t){function e(e,n){var r=t.call(this,e)||this;return r.tableName=n,r.tileScalingDao=e.tileScalingDao,r}return i(e,t),e.prototype.getOrCreateExtension=function(){var t=this.getOrCreate(e.EXTENSION_NAME,this.tableName,null,e.EXTENSION_DEFINITION,a.Extension.READ_WRITE);return this.tileScalingDao.createTable(),t},e.prototype.createOrUpdate=function(t){return t.table_name=this.tableName,this.tileScalingDao.createOrUpdate(t)},Object.defineProperty(e.prototype,"dao",{get:function(){return this.tileScalingDao},enumerable:!1,configurable:!0}),e.prototype.has=function(){return this.hasExtension(e.EXTENSION_NAME,this.tableName,null)&&this.tileScalingDao.isTableExists()},e.prototype.removeExtension=function(){this.tileScalingDao.isTableExists()&&this.geoPackage.deleteTable(s.TileScalingDao.TABLE_NAME),this.extensionsDao.isTableExists()&&this.extensionsDao.deleteByExtension(e.EXTENSION_NAME);},e.EXTENSION_NAME="nga_tile_scaling",e.EXTENSION_AUTHOR="nga",e.EXTENSION_NAME_NO_AUTHOR="tile_scaling",e.EXTENSION_DEFINITION="http://ngageoint.github.io/GeoPackage/docs/extensions/tile-scaling.html",e}(o.BaseExtension);e.TileScalingExtension=u;},4301:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TileScaling=void 0;var r=n(2777),i=function(){function t(){}return t.prototype.isZoomIn=function(){return (null==this.zoom_in||this.zoom_in>0)&&null!=this.scaling_type&&this.scaling_type!=r.TileScalingType.OUT},t.prototype.isZoomOut=function(){return (null==this.zoom_out||this.zoom_out>0)&&null!=this.scaling_type&&this.scaling_type!=r.TileScalingType.IN},t}();e.TileScaling=i;},7960:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);});Object.defineProperty(e,"__esModule",{value:!0}),e.TileScalingDao=void 0;var o=n(4115),a=n(4301),s=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.gpkgTableName=e.TABLE_NAME,n.idColumns=[e.COLUMN_TABLE_NAME],n}return i(e,t),e.prototype.createObject=function(t){var e=new a.TileScaling;return t&&(e.table_name=t.table_name,e.scaling_type=t.scaling_type,e.zoom_in=t.zoom_in,e.zoom_out=t.zoom_out),e},e.prototype.createTable=function(){return this.geoPackage.getTableCreator().createTileScaling()},e.prototype.queryForTableName=function(t){var n=this.queryForAll(this.buildWhereWithFieldAndValue(e.COLUMN_TABLE_NAME,t),this.buildWhereArgs(t));return n.length>0?this.createObject(n[0]):null},e.prototype.deleteByTableName=function(t){return this.deleteWhere(this.buildWhereWithFieldAndValue(e.COLUMN_TABLE_NAME,t),this.buildWhereArgs(t))},e.TABLE_NAME="nga_tile_scaling",e.COLUMN_TABLE_NAME="table_name",e.COLUMN_SCALING_TYPE="scaling_type",e.COLUMN_ZOOM_IN="zoom_in",e.COLUMN_ZOOM_OUT="zoom_out",e}(o.Dao);e.TileScalingDao=s;},2777:(t,e)=>{"use strict";var n;Object.defineProperty(e,"__esModule",{value:!0}),e.TileScalingType=void 0,(n=e.TileScalingType||(e.TileScalingType={})).IN="in",n.OUT="out",n.IN_OUT="in_out",n.OUT_IN="out_in",n.CLOSEST_IN_OUT="closest_in_out",n.CLOSEST_OUT_IN="closest_out_in";},8116:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);});Object.defineProperty(e,"__esModule",{value:!0}),e.SchemaExtension=void 0;var o=n(8140),a=n(624),s=n(4941),u=n(7175),l=function(t){function e(e){return t.call(this,e)||this}return i(e,t),e.prototype.getOrCreateExtension=function(){var t=[];return t.push(this.getOrCreate(e.EXTENSION_NAME,s.DataColumnsDao.TABLE_NAME,null,e.EXTENSION_SCHEMA_DEFINITION,a.Extension.READ_WRITE)),t.push(this.getOrCreate(e.EXTENSION_NAME,u.DataColumnConstraintsDao.TABLE_NAME,null,e.EXTENSION_SCHEMA_DEFINITION,a.Extension.READ_WRITE)),t},e.prototype.has=function(){return this.hasExtensions(e.EXTENSION_NAME)},e.prototype.removeExtension=function(){this.geoPackage.isTable(s.DataColumnsDao.TABLE_NAME)&&this.geoPackage.dropTable(s.DataColumnsDao.TABLE_NAME),this.geoPackage.isTable(u.DataColumnConstraintsDao.TABLE_NAME)&&this.geoPackage.dropTable(u.DataColumnConstraintsDao.TABLE_NAME),this.extensionsDao.isTableExists()&&this.extensionsDao.deleteByExtension(e.EXTENSION_NAME);},e.EXTENSION_SCHEMA_AUTHOR="gpkg",e.EXTENSION_SCHEMA_NAME_NO_AUTHOR="schema",e.EXTENSION_NAME=e.EXTENSION_SCHEMA_AUTHOR+"_"+e.EXTENSION_SCHEMA_NAME_NO_AUTHOR,e.EXTENSION_SCHEMA_DEFINITION="http://www.geopackage.org/spec/#extension_schema",e}(o.BaseExtension);e.SchemaExtension=l;},612:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.FeatureStyle=void 0;var n=function(){function t(t,e){this.styleRow=t,this.iconRow=e;}return Object.defineProperty(t.prototype,"style",{get:function(){return this.styleRow},set:function(t){this.styleRow=t;},enumerable:!1,configurable:!0}),t.prototype.hasStyle=function(){return !!this.styleRow},Object.defineProperty(t.prototype,"icon",{get:function(){return this.iconRow},set:function(t){this.iconRow=t;},enumerable:!1,configurable:!0}),t.prototype.hasIcon=function(){return !!this.iconRow},t.prototype.useIcon=function(){return this.hasIcon()&&(!this.iconRow.isTableIcon()||!this.hasStyle()||this.styleRow.isTableStyle())},t}();e.FeatureStyle=n;},2752:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.FeatureStyles=void 0;e.FeatureStyles=function(t,e){void 0===t&&(t=null),void 0===e&&(e=null),this.styles=t,this.icons=e;};},6536:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.FeatureTableStyles=void 0;var r=n(2752),i=n(612),o=n(7924),a=n(4725),s=n(8412),u=n(9211),l=function(){function t(t,e){this.geoPackage=t,e instanceof s.FeatureTable?this.tableName=e.getTableName():this.tableName=e,this.featureStyleExtension=t.featureStyleExtension,this.cachedTableFeatureStyles=new r.FeatureStyles;}return t.prototype.getFeatureStyleExtension=function(){return this.featureStyleExtension},t.prototype.getTableName=function(){return this.tableName},t.prototype.has=function(){return this.featureStyleExtension.has(this.tableName)},t.prototype.createRelationships=function(){return this.featureStyleExtension.createRelationships(this.tableName)},t.prototype.hasRelationship=function(){return this.featureStyleExtension.hasRelationship(this.tableName)},t.prototype.createStyleRelationship=function(){return this.featureStyleExtension.createStyleRelationship(this.tableName)},t.prototype.hasStyleRelationship=function(){return this.featureStyleExtension.hasStyleRelationship(this.tableName)},t.prototype.createTableStyleRelationship=function(){return this.featureStyleExtension.createTableStyleRelationship(this.tableName)},t.prototype.hasTableStyleRelationship=function(){return this.featureStyleExtension.hasTableStyleRelationship(this.tableName)},t.prototype.createIconRelationship=function(){return this.featureStyleExtension.createIconRelationship(this.tableName)},t.prototype.hasIconRelationship=function(){return this.featureStyleExtension.hasIconRelationship(this.tableName)},t.prototype.createTableIconRelationship=function(){return this.featureStyleExtension.createTableIconRelationship(this.tableName)},t.prototype.hasTableIconRelationship=function(){return this.featureStyleExtension.hasTableIconRelationship(this.tableName)},t.prototype.deleteRelationships=function(){return this.featureStyleExtension.deleteRelationships(this.tableName)},t.prototype.deleteStyleRelationship=function(){return this.featureStyleExtension.deleteStyleRelationship(this.tableName)},t.prototype.deleteTableStyleRelationship=function(){return this.featureStyleExtension.deleteTableStyleRelationship(this.tableName)},t.prototype.deleteIconRelationship=function(){return this.featureStyleExtension.deleteIconRelationship(this.tableName)},t.prototype.deleteTableIconRelationship=function(){return this.featureStyleExtension.deleteTableIconRelationship(this.tableName)},t.prototype.getStyleMappingDao=function(){return this.featureStyleExtension.getStyleMappingDao(this.tableName)},t.prototype.getTableStyleMappingDao=function(){return this.featureStyleExtension.getTableStyleMappingDao(this.tableName)},t.prototype.getIconMappingDao=function(){return this.featureStyleExtension.getIconMappingDao(this.tableName)},t.prototype.getTableIconMappingDao=function(){return this.featureStyleExtension.getTableIconMappingDao(this.tableName)},t.prototype.getStyleDao=function(){return this.featureStyleExtension.getStyleDao()},t.prototype.getIconDao=function(){return this.featureStyleExtension.getIconDao()},t.prototype.getTableFeatureStyles=function(){return this.featureStyleExtension.getTableFeatureStyles(this.tableName)},t.prototype.getTableStyles=function(){return this.featureStyleExtension.getTableStyles(this.tableName)},t.prototype.getCachedTableStyles=function(){var t=this.cachedTableFeatureStyles.styles;return null===t&&(null===(t=this.getTableStyles())&&(t=new o.Styles(!0)),this.cachedTableFeatureStyles.styles=t),t.isEmpty()&&(t=null),t},t.prototype.getTableStyle=function(t){return this.featureStyleExtension.getTableStyle(this.tableName,t)},t.prototype.getTableStyleDefault=function(){return this.featureStyleExtension.getTableStyleDefault(this.tableName)},t.prototype.getTableIcons=function(){return this.featureStyleExtension.getTableIcons(this.tableName)},t.prototype.getCachedTableIcons=function(){var t=this.cachedTableFeatureStyles.icons;return null===t&&(null===(t=this.getTableIcons())&&(t=new a.Icons(!0)),this.cachedTableFeatureStyles.icons=t),t.isEmpty()&&(t=null),t},t.prototype.getTableIcon=function(t){return this.featureStyleExtension.getTableIcon(this.tableName,t)},t.prototype.getTableIconDefault=function(){return this.featureStyleExtension.getTableIconDefault(this.tableName)},t.prototype.getFeatureStylesForFeatureRow=function(t){return this.featureStyleExtension.getFeatureStylesForFeatureRow(t)},t.prototype.getFeatureStyles=function(t){return this.featureStyleExtension.getFeatureStyles(this.tableName,t)},t.prototype.getFeatureStyleForFeatureRow=function(t){return this.getFeatureStyleForFeatureRowAndGeometryType(t,u.GeometryType.fromName(t.geometryType.toUpperCase()))},t.prototype.getFeatureStyleForFeatureRowAndGeometryType=function(t,e){return this.getFeatureStyle(t.id,e)},t.prototype.getFeatureStyleDefaultForFeatureRow=function(t){return this.getFeatureStyle(t.id,null)},t.prototype.getFeatureStyle=function(t,e){var n=null,r=this.getStyle(t,e),o=this.getIcon(t,e);return null==r&&null==o||(n=new i.FeatureStyle(r,o)),n},t.prototype.getFeatureStyleDefault=function(t){return this.getFeatureStyle(t,null)},t.prototype.getStylesForFeatureRow=function(t){return this.featureStyleExtension.getStylesForFeatureRow(t)},t.prototype.getStylesForFeatureId=function(t){return this.featureStyleExtension.getStylesForFeatureId(this.tableName,t)},t.prototype.getStyleForFeatureRow=function(t){return this.getStyleForFeatureRowAndGeometryType(t,u.GeometryType.fromName(t.geometryType.toUpperCase()))},t.prototype.getStyleForFeatureRowAndGeometryType=function(t,e){return this.getStyle(t.id,e)},t.prototype.getStyleDefaultForFeatureRow=function(t){return this.getStyle(t.id,null)},t.prototype.getStyle=function(t,e){var n=this.featureStyleExtension.getStyle(this.tableName,t,e,!1);if(null===n){var r=this.getCachedTableStyles();null!==r&&(n=r.getStyle(e));}return n},t.prototype.getStyleDefault=function(t){return this.getStyle(t,null)},t.prototype.getIconsForFeatureRow=function(t){return this.featureStyleExtension.getIconsForFeatureRow(t)},t.prototype.getIconsForFeatureId=function(t){return this.featureStyleExtension.getIconsForFeatureId(this.tableName,t)},t.prototype.getIconForFeatureRow=function(t){return this.getIconForFeatureRowAndGeometryType(t,u.GeometryType.fromName(t.geometryType.toUpperCase()))},t.prototype.getIconForFeatureRowAndGeometryType=function(t,e){return this.getIcon(t.id,e)},t.prototype.getIconDefaultForFeatureRow=function(t){return this.getIcon(t.id,null)},t.prototype.getIcon=function(t,e){var n=this.featureStyleExtension.getIcon(this.tableName,t,e,!1);if(null===n){var r=this.getCachedTableIcons();null!==r&&(n=r.getIcon(e));}return n},t.prototype.getIconDefault=function(t){return this.getIcon(t,null)},t.prototype.setTableFeatureStyles=function(t){var e=this.featureStyleExtension.setTableFeatureStyles(this.tableName,t);return this.clearCachedTableFeatureStyles(),e},t.prototype.setTableStyles=function(t){var e=this.featureStyleExtension.setTableStyles(this.tableName,t);return this.clearCachedTableStyles(),e},t.prototype.setTableStyleDefault=function(t){var e=this.featureStyleExtension.setTableStyleDefault(this.tableName,t);return this.clearCachedTableStyles(),e},t.prototype.setTableStyle=function(t,e){var n=this.featureStyleExtension.setTableStyle(this.tableName,t,e);return this.clearCachedTableStyles(),n},t.prototype.setTableIcons=function(t){var e=this.featureStyleExtension.setTableIcons(this.tableName,t);return this.clearCachedTableIcons(),e},t.prototype.setTableIconDefault=function(t){var e=this.featureStyleExtension.setTableIconDefault(this.tableName,t);return this.clearCachedTableIcons(),e},t.prototype.setTableIcon=function(t,e){var n=this.featureStyleExtension.setTableIcon(this.tableName,t,e);return this.clearCachedTableIcons(),n},t.prototype.setFeatureStylesForFeatureRow=function(t,e){return this.featureStyleExtension.setFeatureStylesForFeatureRow(t,e)},t.prototype.setFeatureStyles=function(t,e){return this.featureStyleExtension.setFeatureStyles(this.tableName,t,e)},t.prototype.setFeatureStyleForFeatureRow=function(t,e){return this.featureStyleExtension.setFeatureStyleForFeatureRow(t,e)},t.prototype.setFeatureStyleForFeatureRowAndGeometryType=function(t,e,n){return this.featureStyleExtension.setFeatureStyleForFeatureRowAndGeometryType(t,e,n)},t.prototype.setFeatureStyleDefaultForFeatureRow=function(t,e){return this.featureStyleExtension.setFeatureStyleDefaultForFeatureRow(t,e)},t.prototype.setFeatureStyle=function(t,e,n){return this.featureStyleExtension.setFeatureStyle(this.tableName,t,e,n)},t.prototype.setFeatureStyleDefault=function(t,e){return this.featureStyleExtension.setFeatureStyleDefault(this.tableName,t,e)},t.prototype.setStylesForFeatureRow=function(t,e){return this.featureStyleExtension.setStylesForFeatureRow(t,e)},t.prototype.setStyles=function(t,e){return this.featureStyleExtension.setStyles(this.tableName,t,e)},t.prototype.setStyleForFeatureRow=function(t,e){return this.featureStyleExtension.setStyleForFeatureRow(t,e)},t.prototype.setStyleForFeatureRowAndGeometryType=function(t,e,n){return this.featureStyleExtension.setStyleForFeatureRowAndGeometryType(t,e,n)},t.prototype.setStyleDefaultForFeatureRow=function(t,e){return this.featureStyleExtension.setStyleDefaultForFeatureRow(t,e)},t.prototype.setStyle=function(t,e,n){return this.featureStyleExtension.setStyle(this.tableName,t,e,n)},t.prototype.setStyleDefault=function(t,e){return this.featureStyleExtension.setStyleDefault(this.tableName,t,e)},t.prototype.setIconsForFeatureRow=function(t,e){return this.featureStyleExtension.setIconsForFeatureRow(t,e)},t.prototype.setIcons=function(t,e){return this.featureStyleExtension.setIcons(this.tableName,t,e)},t.prototype.setIconForFeatureRow=function(t,e){return this.featureStyleExtension.setIconForFeatureRow(t,e)},t.prototype.setIconForFeatureRowAndGeometryType=function(t,e,n){return this.featureStyleExtension.setIconForFeatureRowAndGeometryType(t,e,n)},t.prototype.setIconDefaultForFeatureRow=function(t,e){return this.featureStyleExtension.setIconDefaultForFeatureRow(t,e)},t.prototype.setIcon=function(t,e,n){return this.featureStyleExtension.setIcon(this.tableName,t,e,n)},t.prototype.setIconDefault=function(t,e){return this.featureStyleExtension.setIconDefault(this.tableName,t,e)},t.prototype.deleteAllFeatureStyles=function(){var t=this.featureStyleExtension.deleteAllFeatureStyles(this.tableName);return this.clearCachedTableFeatureStyles(),t},t.prototype.deleteAllStyles=function(){var t=this.featureStyleExtension.deleteAllStyles(this.tableName);return this.clearCachedTableStyles(),t},t.prototype.deleteAllIcons=function(){var t=this.featureStyleExtension.deleteAllIcons(this.tableName);return this.clearCachedTableIcons(),t},t.prototype.deleteTableFeatureStyles=function(){var t=this.featureStyleExtension.deleteTableFeatureStyles(this.tableName);return this.clearCachedTableFeatureStyles(),t},t.prototype.deleteTableStyles=function(){var t=this.featureStyleExtension.deleteTableStyles(this.tableName);return this.clearCachedTableStyles(),t},t.prototype.deleteTableStyleDefault=function(){var t=this.featureStyleExtension.deleteTableStyleDefault(this.tableName);return this.clearCachedTableStyles(),t},t.prototype.deleteTableStyle=function(t){var e=this.featureStyleExtension.deleteTableStyle(this.tableName,t);return this.clearCachedTableStyles(),e},t.prototype.deleteTableIcons=function(){var t=this.featureStyleExtension.deleteTableIcons(this.tableName);return this.clearCachedTableIcons(),t},t.prototype.deleteTableIconDefault=function(){var t=this.featureStyleExtension.deleteTableIconDefault(this.tableName);return this.clearCachedTableIcons(),t},t.prototype.deleteTableIcon=function(t){var e=this.featureStyleExtension.deleteTableIcon(this.tableName,t);return this.clearCachedTableIcons(),e},t.prototype.clearCachedTableFeatureStyles=function(){this.cachedTableFeatureStyles.styles=null,this.cachedTableFeatureStyles.icons=null;},t.prototype.clearCachedTableStyles=function(){this.cachedTableFeatureStyles.styles=null;},t.prototype.clearCachedTableIcons=function(){this.cachedTableFeatureStyles.icons=null;},t.prototype.deleteFeatureStyles=function(){return this.featureStyleExtension.deleteFeatureStyles(this.tableName)},t.prototype.deleteStyles=function(){return this.featureStyleExtension.deleteStyles(this.tableName)},t.prototype.deleteStylesForFeatureRow=function(t){return this.featureStyleExtension.deleteStylesForFeatureRow(t)},t.prototype.deleteStylesForFeatureId=function(t){return this.featureStyleExtension.deleteStylesForFeatureId(this.tableName,t)},t.prototype.deleteStyleDefaultForFeatureRow=function(t){return this.featureStyleExtension.deleteStyleDefaultForFeatureRow(t)},t.prototype.deleteStyleDefault=function(t){return this.featureStyleExtension.deleteStyleDefault(this.tableName,t)},t.prototype.deleteStyleForFeatureRow=function(t){return this.featureStyleExtension.deleteStyleForFeatureRow(t)},t.prototype.deleteStyleForFeatureRowAndGeometryType=function(t,e){return this.featureStyleExtension.deleteStyleForFeatureRowAndGeometryType(t,e)},t.prototype.deleteStyle=function(t,e){return this.featureStyleExtension.deleteStyle(this.tableName,t,e)},t.prototype.deleteStyleAndMappingsByStyleRow=function(t){return this.featureStyleExtension.deleteStyleAndMappingsByStyleRow(this.tableName,t)},t.prototype.deleteStyleAndMappingsByStyleRowId=function(t){return this.featureStyleExtension.deleteStyleAndMappingsByStyleRowId(this.tableName,t)},t.prototype.deleteIcons=function(){return this.featureStyleExtension.deleteIcons(this.tableName)},t.prototype.deleteIconsForFeatureRow=function(t){return this.featureStyleExtension.deleteIconsForFeatureRow(t)},t.prototype.deleteIconsForFeatureId=function(t){return this.featureStyleExtension.deleteIconsForFeatureId(this.tableName,t)},t.prototype.deleteIconDefaultForFeatureRow=function(t){return this.featureStyleExtension.deleteIconDefaultForFeatureRow(t)},t.prototype.deleteIconDefault=function(t){return this.featureStyleExtension.deleteIconDefault(this.tableName,t)},t.prototype.deleteIconForFeatureRow=function(t){return this.featureStyleExtension.deleteIconForFeatureRow(t)},t.prototype.deleteIconForFeatureRowAndGeometryType=function(t,e){return this.featureStyleExtension.deleteIconForFeatureRowAndGeometryType(t,e)},t.prototype.deleteIcon=function(t,e){return this.featureStyleExtension.deleteIcon(this.tableName,t,e)},t.prototype.deleteIconAndMappingsByIconRow=function(t){return this.featureStyleExtension.deleteIconAndMappingsByIconRow(this.tableName,t)},t.prototype.deleteIconAndMappingsByIconRowId=function(t){return this.featureStyleExtension.deleteIconAndMappingsByIconRowId(this.tableName,t)},t.prototype.getAllTableStyleIds=function(){return this.featureStyleExtension.getAllTableStyleIds(this.tableName)},t.prototype.getAllTableIconIds=function(){return this.featureStyleExtension.getAllTableIconIds(this.tableName)},t.prototype.getAllStyleIds=function(){return this.featureStyleExtension.getAllStyleIds(this.tableName)},t.prototype.getAllIconIds=function(){return this.featureStyleExtension.getAllIconIds(this.tableName)},t}();e.FeatureTableStyles=l;},8600:function(t,e,n){"use strict";var r=this&&this.__awaiter||function(t,e,n,r){return new(n||(n=Promise))((function(i,o){function a(t){try{u(r.next(t));}catch(t){o(t);}}function s(t){try{u(r.throw(t));}catch(t){o(t);}}function u(t){var e;t.done?i(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e);}))).then(a,s);}u((r=r.apply(t,e||[])).next());}))},i=this&&this.__generator||function(t,e){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(s){return function(u){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;o&&(o=0,s[0]&&(a=0)),a;)try{if(n=1,r&&(i=2&s[0]?r.return:s[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,s[1])).done)return i;switch(r=0,i&&(s=[2&s[0],i.value]),s[0]){case 0:case 1:i=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,r=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!((i=(i=a.trys).length>0&&i[i.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!i||s[1]>i[0]&&s[1]-1&&this.accessHistory.splice(n,1),this.accessHistory.push(t);}return e},t.prototype.putIconForIconRow=function(t,e){return this.put(t.id,e)},t.prototype.put=function(t,e){var n=this.iconCache[t];if(this.iconCache[t]=e,n){var r=this.accessHistory.indexOf(t);r>-1&&this.accessHistory.splice(r,1);}if(this.accessHistory.push(t),Object.keys(this.iconCache).length>this.cacheSize){var i=this.accessHistory.shift();if(i){var a=this.iconCache[i];a&&o.Canvas.disposeImage(a),delete this.iconCache[i];}}return n},t.prototype.removeIconForIconRow=function(t){return this.remove(t.id)},t.prototype.remove=function(t){var e=this.iconCache[t];if(delete this.iconCache[t],e){var n=this.accessHistory.indexOf(t);n>-1&&this.accessHistory.splice(n,1);}return e},t.prototype.clear=function(){var t=this;Object.keys(this.iconCache).forEach((function(e){var n=t.iconCache[e];o.Canvas.disposeImage(n);})),this.iconCache={},this.accessHistory=[];},t.prototype.resize=function(t){this.cacheSize=t;var e=Object.keys(this.iconCache);if(e.length>t)for(var n=e.length-t,r=0;r1))throw new Error("Anchor must be set inclusively between 0.0 and 1.0, invalid value: "+t);return !0},e.prototype.isTableIcon=function(){return this.tableIcon},e.prototype.setTableIcon=function(t){this.tableIcon=t;},e}(o.MediaRow);e.IconRow=s;},2015:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);});Object.defineProperty(e,"__esModule",{value:!0}),e.IconTable=void 0;var o=n(6366),a=n(7319),s=n(5865),u=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.TABLE_TYPE="media",e}return i(e,t),e.prototype.getNameColumnIndex=function(){return this.getColumnIndex(e.COLUMN_NAME)},e.prototype.getNameColumn=function(){return this.getColumnWithColumnName(e.COLUMN_NAME)},e.prototype.getDescriptionColumnIndex=function(){return this.getColumnIndex(e.COLUMN_DESCRIPTION)},e.prototype.getDescriptionColumn=function(){return this.getColumnWithColumnName(e.COLUMN_DESCRIPTION)},e.prototype.getWidthColumnIndex=function(){return this.getColumnIndex(e.COLUMN_WIDTH)},e.prototype.getWidthColumn=function(){return this.getColumnWithColumnName(e.COLUMN_WIDTH)},e.prototype.getHeightColumnIndex=function(){return this.getColumnIndex(e.COLUMN_HEIGHT)},e.prototype.getHeightColumn=function(){return this.getColumnWithColumnName(e.COLUMN_HEIGHT)},e.prototype.getAnchorUColumnIndex=function(){return this.getColumnIndex(e.COLUMN_ANCHOR_U)},e.prototype.getAnchorUColumn=function(){return this.getColumnWithColumnName(e.COLUMN_ANCHOR_U)},e.prototype.getAnchorVColumnIndex=function(){return this.getColumnIndex(e.COLUMN_ANCHOR_V)},e.prototype.getAnchorVColumn=function(){return this.getColumnWithColumnName(e.COLUMN_ANCHOR_V)},e.create=function(){return new e(e.TABLE_NAME,e.createColumns(),e.requiredColumns())},e.createRequiredColumns=function(){return o.MediaTable.createRequiredColumns()},e.requiredColumns=function(){return o.MediaTable.requiredColumns()},e.createColumns=function(){var t=e.createRequiredColumns(),n=t.length;return t.push(s.UserColumn.createColumn(n++,e.COLUMN_NAME,a.GeoPackageDataType.TEXT,!1)),t.push(s.UserColumn.createColumn(n++,e.COLUMN_DESCRIPTION,a.GeoPackageDataType.TEXT,!1)),t.push(s.UserColumn.createColumn(n++,e.COLUMN_WIDTH,a.GeoPackageDataType.REAL,!1)),t.push(s.UserColumn.createColumn(n++,e.COLUMN_HEIGHT,a.GeoPackageDataType.REAL,!1)),t.push(s.UserColumn.createColumn(n++,e.COLUMN_ANCHOR_U,a.GeoPackageDataType.REAL,!1)),t.push(s.UserColumn.createColumn(n,e.COLUMN_ANCHOR_V,a.GeoPackageDataType.REAL,!1)),t},e.TABLE_NAME="nga_icon",e.COLUMN_NAME="name",e.COLUMN_DESCRIPTION="description",e.COLUMN_WIDTH="width",e.COLUMN_HEIGHT="height",e.COLUMN_ANCHOR_U="anchor_u",e.COLUMN_ANCHOR_V="anchor_v",e}(o.MediaTable);e.IconTable=u;},4725:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Icons=void 0;var n=function(){function t(t){void 0===t&&(t=!1),this.defaultIcon=null,this.icons=new Map,this.tableIcons=t;}return t.prototype.setDefault=function(t){null!=t&&t.setTableIcon(this.tableIcons),this.defaultIcon=t;},t.prototype.getDefault=function(){return this.defaultIcon},t.prototype.setIcon=function(t,e){void 0===e&&(e=null),null!==e?null!=t?(t.setTableIcon(this.tableIcons),this.icons.set(e,t)):this.icons.delete(e):this.setDefault(t);},t.prototype.getIcon=function(t){void 0===t&&(t=null);var e=null;return null!==t&&this.icons.has(t)&&(e=this.icons.get(t)),null!=e&&null!==t||(e=this.getDefault()),e},t.prototype.isEmpty=function(){return 0===this.icons.size&&null===this.defaultIcon},t.prototype.getGeometryTypes=function(){return Array.from(this.icons.keys())},t}();e.Icons=n;},8479:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);});Object.defineProperty(e,"__esModule",{value:!0}),e.FeatureStyleExtension=void 0;var o=n(8140),a=n(624),s=n(7092),u=n(2015),l=n(9529),c=n(3934),h=n(3237),f=n(8138),p=n(3410),d=n(1553),y=n(8412),m=n(2752),g=n(612),_=n(7924),b=n(4725),v=n(362),T=n(9211),E=function(t){function e(e){var n=t.call(this,e)||this;return n.relatedTablesExtension=e.relatedTablesExtension,n.contentsIdExtension=e.contentsIdExtension,n}return i(e,t),e.prototype.getOrCreateExtension=function(t){return this.getOrCreate(e.EXTENSION_NAME,this.getFeatureTableName(t),null,e.EXTENSION_DEFINITION,a.Extension.READ_WRITE)},e.prototype.has=function(t){return this.hasExtension(e.EXTENSION_NAME,this.getFeatureTableName(t),null)},e.prototype.getTables=function(){var t=[];if(this.extensionsDao.isTableExists())for(var n=this.extensionsDao.queryAllByExtension(e.EXTENSION_NAME),r=0;r1))throw new Error("Opacity must be set inclusively between 0.0 and 1.0, invalid value: "+t);return !0},e.prototype.createColor=function(t,e){var n="#000000";if(null!==t&&(n=t),null!==e){var r=Math.round(255*e).toString(16);1===r.length&&(r="0"+r),n+=r;}return n.toUpperCase()},e.prototype._hasColor=function(t,e){return null!==t||null!==e},e.prototype.isTableStyle=function(){return this.tableStyle},e.prototype.setTableStyle=function(t){this.tableStyle=t;},e.colorPattern=/^#([0-9a-fA-F]{3}){1,2}$/,e}(n(6861).AttributesRow);e.StyleRow=o;},3934:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);});Object.defineProperty(e,"__esModule",{value:!0}),e.StyleTable=void 0;var o=n(3931),a=n(8483),s=n(5865),u=n(7319),l=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.TABLE_TYPE="media",e.data_type=a.RelationType.ATTRIBUTES.dataType,e.relation_name=a.RelationType.ATTRIBUTES.name,e}return i(e,t),e.prototype.getNameColumnIndex=function(){return this.getColumnIndex(e.COLUMN_NAME)},e.prototype.getNameColumn=function(){return this.getColumnWithColumnName(e.COLUMN_NAME)},e.prototype.getDescriptionColumnIndex=function(){return this.getColumnIndex(e.COLUMN_DESCRIPTION)},e.prototype.getDescriptionColumn=function(){return this.getColumnWithColumnName(e.COLUMN_DESCRIPTION)},e.prototype.getColorColumnIndex=function(){return this.getColumnIndex(e.COLUMN_COLOR)},e.prototype.getColorColumn=function(){return this.getColumnWithColumnName(e.COLUMN_COLOR)},e.prototype.getOpacityColumnIndex=function(){return this.getColumnIndex(e.COLUMN_OPACITY)},e.prototype.getOpacityColumn=function(){return this.getColumnWithColumnName(e.COLUMN_OPACITY)},e.prototype.getWidthColumnIndex=function(){return this.getColumnIndex(e.COLUMN_WIDTH)},e.prototype.getWidthColumn=function(){return this.getColumnWithColumnName(e.COLUMN_WIDTH)},e.prototype.getFillColorColumnIndex=function(){return this.getColumnIndex(e.COLUMN_FILL_COLOR)},e.prototype.getFillColorColumn=function(){return this.getColumnWithColumnName(e.COLUMN_FILL_COLOR)},e.prototype.getFillOpacityColumnIndex=function(){return this.getColumnIndex(e.COLUMN_FILL_OPACITY)},e.prototype.getFillOpacityColumn=function(){return this.getColumnWithColumnName(e.COLUMN_FILL_OPACITY)},e.create=function(){return new e(e.TABLE_NAME,e.createColumns())},e.createColumns=function(){var t=[],n=0;return t.push(s.UserColumn.createPrimaryKeyColumn(n++,e.COLUMN_ID)),t.push(s.UserColumn.createColumn(n++,e.COLUMN_NAME,u.GeoPackageDataType.TEXT,!1)),t.push(s.UserColumn.createColumn(n++,e.COLUMN_DESCRIPTION,u.GeoPackageDataType.TEXT,!1)),t.push(s.UserColumn.createColumn(n++,e.COLUMN_COLOR,u.GeoPackageDataType.TEXT,!1)),t.push(s.UserColumn.createColumn(n++,e.COLUMN_OPACITY,u.GeoPackageDataType.REAL,!1)),t.push(s.UserColumn.createColumn(n++,e.COLUMN_WIDTH,u.GeoPackageDataType.REAL,!1)),t.push(s.UserColumn.createColumn(n++,e.COLUMN_FILL_COLOR,u.GeoPackageDataType.TEXT,!1)),t.push(s.UserColumn.createColumn(7,e.COLUMN_FILL_OPACITY,u.GeoPackageDataType.REAL,!1)),t},e.TABLE_NAME="nga_style",e.COLUMN_ID="id",e.COLUMN_NAME="name",e.COLUMN_DESCRIPTION="description",e.COLUMN_COLOR="color",e.COLUMN_OPACITY="opacity",e.COLUMN_WIDTH="width",e.COLUMN_FILL_COLOR="fill_color",e.COLUMN_FILL_OPACITY="fill_opacity",e}(o.AttributesTable);e.StyleTable=l;},1553:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);});Object.defineProperty(e,"__esModule",{value:!0}),e.StyleTableReader=void 0;var o=n(464),a=n(3934),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return i(e,t),e.prototype.createTable=function(t,e){return new a.StyleTable(t,e)},e}(o.AttributesTableReader);e.StyleTableReader=s;},7924:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Styles=void 0;var n=function(){function t(t){void 0===t&&(t=!1),this.defaultStyle=null,this.styles=new Map,this.tableStyles=t;}return t.prototype.setDefault=function(t){null!=t&&t.setTableStyle(this.tableStyles),this.defaultStyle=t;},t.prototype.getDefault=function(){return this.defaultStyle},t.prototype.setStyle=function(t,e){void 0===e&&(e=null),null!==e?null!=t?(t.setTableStyle(this.tableStyles),this.styles.set(e,t)):this.styles.delete(e):this.setDefault(t);},t.prototype.getStyle=function(t){void 0===t&&(t=null);var e=null;return null!==t&&(e=this.styles.get(t)),null!=e&&null!==t||(e=this.getDefault()),e},t.prototype.isEmpty=function(){return 0===this.styles.size&&null===this.defaultStyle},t.prototype.getGeometryTypes=function(){return Array.from(this.styles.keys())},t}();e.Styles=n;},7719:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);});Object.defineProperty(e,"__esModule",{value:!0}),e.WebPExtension=void 0;var o=n(8140),a=n(624),s=function(t){function e(e,n){var r=t.call(this,e)||this;return r.tableName=n,r}return i(e,t),e.prototype.getOrCreateExtension=function(){return this.getOrCreate(e.EXTENSION_NAME,this.tableName,"tile_data",e.EXTENSION_WEBP_DEFINITION,a.Extension.READ_WRITE)},e.EXTENSION_NAME="gpkg_webp",e.EXTENSION_WEBP_AUTHOR="gpkg",e.EXTENSION_WEBP_NAME_NO_AUTHOR="webp",e.EXTENSION_WEBP_DEFINITION="http://www.geopackage.org/spec/#extension_webp",e}(o.BaseExtension);e.WebPExtension=s;},812:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.GeometryColumns=void 0;var r=n(9971),i=function(){function t(){}return Object.defineProperty(t.prototype,"geometryType",{get:function(){return this.geometry_type_name},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"id",{get:function(){return "".concat(this.table_name," ").concat(this.column_name)},enumerable:!1,configurable:!0}),t.prototype.setContents=function(t){if(null!=t){var e=t.data_type;if(null==e||e!==r.ContentsDataType.FEATURES)throw new Error("The Contents of a GeometryColumns must have a data type of "+r.ContentsDataType.nameFromType(r.ContentsDataType.FEATURES));this.table_name=t.table_name;}else this.table_name=null;},t.TABLE_NAME="tableName",t.COLUMN_NAME="columnName",t.GEOMETRY_TYPE_NAME="geometryTypeName",t.SRS_ID="srsId",t.Z="z",t.M="m",t}();e.GeometryColumns=i;},1968:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);}),o=this&&this.__values||function(t){var e="function"==typeof Symbol&&Symbol.iterator,n=e&&t[e],r=0;if(n)return n.call(t);if(t&&"number"==typeof t.length)return {next:function(){return t&&r>=t.length&&(t=void 0),{value:t&&t[r++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.GeometryColumnsDao=void 0;var a=n(4115),s=n(812),u=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.gpkgTableName="gpkg_geometry_columns",n.idColumns=[e.COLUMN_ID_1,e.COLUMN_ID_2],n.columns=[e.COLUMN_TABLE_NAME,e.COLUMN_COLUMN_NAME,e.COLUMN_GEOMETRY_TYPE_NAME,e.COLUMN_SRS_ID,e.COLUMN_Z,e.COLUMN_M],n}return i(e,t),e.prototype.createObject=function(t){var e=new s.GeometryColumns;return t&&(e.table_name=t.table_name,e.column_name=t.column_name,e.geometry_type_name=t.geometry_type_name,e.srs_id=t.srs_id,e.z=t.z,e.m=t.m),e},e.prototype.queryForTableName=function(t){var n=this.queryForAllEq(e.COLUMN_TABLE_NAME,t);if(n&&n.length)return this.createObject(n[0])},e.prototype.getFeatureTables=function(){var t,n,r=[];try{for(var i=o(this.connection.each("select "+e.COLUMN_TABLE_NAME+" from "+this.gpkgTableName)),a=i.next();!a.done;a=i.next()){var s=a.value;r.push(s[e.COLUMN_TABLE_NAME]);}}catch(e){t={error:e};}finally{try{a&&!a.done&&(n=i.return)&&n.call(i);}finally{if(t)throw t.error}}return r},e.prototype.getSrs=function(t){return this.geoPackage.spatialReferenceSystemDao.queryForId(t.srs_id)},e.prototype.getContents=function(t){return this.geoPackage.contentsDao.queryForId(t.table_name)},e.prototype.getProjection=function(t){var e=this.getSrs(t);return this.geoPackage.spatialReferenceSystemDao.getProjection(e)},e.COLUMN_TABLE_NAME="table_name",e.COLUMN_COLUMN_NAME="column_name",e.COLUMN_ID_1=e.COLUMN_TABLE_NAME,e.COLUMN_ID_2=e.COLUMN_COLUMN_NAME,e.COLUMN_GEOMETRY_TYPE_NAME="geometry_type_name",e.COLUMN_SRS_ID="srs_id",e.COLUMN_Z="z",e.COLUMN_M="m",e}(a.Dao);e.GeometryColumnsDao=u;},961:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);});Object.defineProperty(e,"__esModule",{value:!0}),e.FeatureColumn=void 0;var o=n(5865),a=n(7319),s=n(9211),u=n(5071),l=function(t){function e(e,n,r,i,o,a,s,u,l){var c=t.call(this,e,n,r,i,o,a,s,l)||this;return c.geometryType=u,c.type=c.getTypeName(n,r,u),c}return i(e,t),e.createPrimaryKeyColumn=function(t,n,r){return void 0===r&&(r=u.UserTableDefaults.DEFAULT_AUTOINCREMENT),new e(t,n,a.GeoPackageDataType.INTEGER,void 0,!0,void 0,!0,void 0,r)},e.createGeometryColumn=function(t,n,r,i,o){if(null==r)throw new Error("Geometry Type is required to create column: "+n);return new e(t,n,a.GeoPackageDataType.BLOB,void 0,i,o,!1,r,!1)},e.createColumn=function(t,n,r,i,o,a,s){return void 0===i&&(i=!1),new e(t,n,r,a,i,o,!1,void 0,s)},e.prototype.getTypeName=function(e,n,r){return null!=r?s.GeometryType.nameFromType(r):t.prototype.getTypeName.call(this,e,n)},e.getGeometryTypeFromTableColumn=function(t){var e=null;return t.isDataType(a.GeoPackageDataType.BLOB)&&(e=s.GeometryType.fromName(t.type)),e},e.prototype.copy=function(){return new e(this.index,this.name,this.dataType,this.max,this.notNull,this.defaultValue,this.primaryKey,this.geometryType,this.autoincrement)},e.prototype.isGeometry=function(){return null!==this.geometryType},e.prototype.getGeometryType=function(){return this.geometryType},e}(o.UserColumn);e.FeatureColumn=l;},5053:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);});Object.defineProperty(e,"__esModule",{value:!0}),e.FeatureColumns=void 0;var o=n(2114),a=n(7319),s=function(t){function e(e,n,r,i){var o=t.call(this,e,r,i)||this;return o.geometryIndex=-1,o.geometryColumn=n,o.updateColumns(),o}return i(e,t),e.prototype.copy=function(){return new e(this.getTableName(),this.getGeometryColumnName(),this.getColumns(),this.isCustom())},e.prototype.updateColumns=function(){t.prototype.updateColumns.call(this);var e=null;if(null!==this.geometryColumn&&void 0!==this.geometryColumn)e=this.getColumnIndex(this.geometryColumn,!1);else for(var n=0;n=0},e.prototype.getGeometryColumn=function(){var t=null;return this.hasGeometryColumn()&&(t=this.getColumnForIndex(this.geometryIndex)),t},e}(o.UserColumns);e.FeatureColumns=s;},2071:function(t,e,n){"use strict";var r,i=n(5108),o=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);}),a=this&&this.__awaiter||function(t,e,n,r){return new(n||(n=Promise))((function(i,o){function a(t){try{u(r.next(t));}catch(t){o(t);}}function s(t){try{u(r.throw(t));}catch(t){o(t);}}function u(t){var e;t.done?i(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e);}))).then(a,s);}u((r=r.apply(t,e||[])).next());}))},s=this&&this.__generator||function(t,e){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(s){return function(u){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;o&&(o=0,s[0]&&(a=0)),a;)try{if(n=1,r&&(i=2&s[0]?r.return:s[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,s[1])).done)return i;switch(r=0,i&&(s=[2&s[0],i.value]),s[0]){case 0:case 1:i=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,r=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!((i=(i=a.trys).length>0&&i[i.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!i||s[1]>i[0]&&s[1]0;break;case "Polygon":case "MultiPolygon":r=null!==(0,h.default)(o,n);break;case "MultiPoint":r=e.multiPointIntersects(o,n);break;case "GeometryCollection":r=e.geometryCollectionIntersects(o,n);}}return r},e.verifyGeometryCollection=function(t,n){return e.geometryCollectionIntersects(t,n.toGeoJSON().geometry)||(0,f.default)(t,n.toGeoJSON().geometry)?t:void 0},e.readTable=function(t,e){return t.getFeatureDao(e)},e}(y.UserDao);e.FeatureDao=T;},234:function(t,e,n){"use strict";var r,i=n(3085).lW,o=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);});Object.defineProperty(e,"__esModule",{value:!0}),e.FeatureRow=void 0;var a=n(2224),s=n(961),u=n(857),l=function(t){function e(e,n,r){var i=t.call(this,e,n,r)||this;return i.featureTable=e,i}return o(e,t),Object.defineProperty(e.prototype,"geometryColumnIndex",{get:function(){return this.featureTable.getGeometryColumnIndex()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"geometryColumn",{get:function(){return this.featureTable.getGeometryColumn()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"geometry",{get:function(){return this.getValueWithIndex(this.featureTable.getGeometryColumnIndex())},set:function(t){this.setValueWithIndex(this.featureTable.getGeometryColumnIndex(),t);},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"geometryType",{get:function(){var t=null,e=this.getValueWithIndex(this.featureTable.getGeometryColumnIndex());return null!==e&&(t=e.toGeoJSON().type),t},enumerable:!1,configurable:!0}),e.prototype.toObjectValue=function(e,n){var r=this.getColumnWithIndex(e);return r instanceof s.FeatureColumn&&r.isGeometry()&&n&&n instanceof i||n instanceof Uint8Array?new u.GeometryData(n):t.prototype.toObjectValue.call(this,e,n)},e.prototype.getValueWithColumnName=function(e){var n=this.values[e],r=this.getColumnWithColumnName(e);return null!=n&&r instanceof s.FeatureColumn&&r.isGeometry()&&n.toData?n.toData():t.prototype.getValueWithColumnName.call(this,e)},e}(a.UserRow);e.FeatureRow=l;},8412:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);});Object.defineProperty(e,"__esModule",{value:!0}),e.FeatureTable=void 0;var o=n(8018),a=n(5053),s=n(9971),u=function(t){function e(e,n,r){return t.call(this,new a.FeatureColumns(e,n,r,!1))||this}return i(e,t),e.prototype.copy=function(){return new e(this.getTableName(),this.getGeometryColumnName(),this.getUserColumns().getColumns())},e.prototype.getGeometryColumnIndex=function(){return this.getUserColumns().getGeometryIndex()},e.prototype.getUserColumns=function(){return t.prototype.getUserColumns.call(this)},e.prototype.getGeometryColumn=function(){return this.getUserColumns().getGeometryColumn()},e.prototype.getGeometryColumnName=function(){return this.getUserColumns().getGeometryColumnName()},e.prototype.getIdAndGeometryColumnNames=function(){return [this.getPkColumnName(),this.getGeometryColumnName()]},e.prototype.validateContents=function(t){var e=t.data_type;if(null==e||e!==s.ContentsDataType.FEATURES)throw new Error("The Contents of a FeatureTable must have a data type of "+s.ContentsDataType.FEATURES)},e}(o.UserTable);e.FeatureTable=u;},4896:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);});Object.defineProperty(e,"__esModule",{value:!0}),e.FeatureTableReader=void 0;var o=n(1968),a=n(8412),s=n(4880),u=n(961),l=n(812),c=function(t){function e(e){var n=t.call(this,e instanceof l.GeometryColumns?e.table_name:e)||this;return e instanceof l.GeometryColumns&&(n.columnName=e.column_name),n}return i(e,t),e.prototype.readFeatureTable=function(t){if(null===this.columnName||void 0===this.columnName){var e=new o.GeometryColumnsDao(t);this.columnName=e.queryForTableName(this.table_name).column_name;}return this.readTable(t.database)},e.prototype.createTable=function(t,e){return new a.FeatureTable(t,this.columnName,e)},e.prototype.createColumn=function(t){return new u.FeatureColumn(t.index,t.name,t.dataType,t.max,t.notNull,t.defaultValue,t.primaryKey,u.FeatureColumn.getGeometryTypeFromTableColumn(t),t.autoincrement)},e}(s.UserTableReader);e.FeatureTableReader=c;},9211:(t,e)=>{"use strict";var n;Object.defineProperty(e,"__esModule",{value:!0}),e.GeometryType=void 0,(n=e.GeometryType||(e.GeometryType={}))[n.GEOMETRY=0]="GEOMETRY",n[n.POINT=1]="POINT",n[n.LINESTRING=2]="LINESTRING",n[n.POLYGON=3]="POLYGON",n[n.MULTIPOINT=4]="MULTIPOINT",n[n.MULTILINESTRING=5]="MULTILINESTRING",n[n.MULTIPOLYGON=6]="MULTIPOLYGON",n[n.GEOMETRYCOLLECTION=7]="GEOMETRYCOLLECTION",n[n.CIRCULARSTRING=8]="CIRCULARSTRING",n[n.COMPOUNDCURVE=9]="COMPOUNDCURVE",n[n.CURVEPOLYGON=10]="CURVEPOLYGON",n[n.MULTICURVE=11]="MULTICURVE",n[n.MULTISURFACE=12]="MULTISURFACE",n[n.CURVE=13]="CURVE",n[n.SURFACE=14]="SURFACE",n[n.POLYHEDRALSURFACE=15]="POLYHEDRALSURFACE",n[n.TIN=16]="TIN",n[n.TRIANGLE=17]="TRIANGLE",function(t){t.nameFromType=function(e){var n=null;return null!=e&&(n=t[e]),n},t.fromName=function(e){return t[e]};}(e.GeometryType||(e.GeometryType={}));},4325:function(t,e,n){"use strict";var r=this&&this.__createBinding||(Object.create?function(t,e,n,r){void 0===r&&(r=n);var i=Object.getOwnPropertyDescriptor(e,n);i&&!("get"in i?!e.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return e[n]}}),Object.defineProperty(t,r,i);}:function(t,e,n,r){void 0===r&&(r=n),t[r]=e[n];}),i=this&&this.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e});}:function(t,e){t.default=e;}),o=this&&this.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)"default"!==n&&Object.prototype.hasOwnProperty.call(t,n)&&r(e,t,n);return i(e,t),e},a=this&&this.__awaiter||function(t,e,n,r){return new(n||(n=Promise))((function(i,o){function a(t){try{u(r.next(t));}catch(t){o(t);}}function s(t){try{u(r.throw(t));}catch(t){o(t);}}function u(t){var e;t.done?i(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e);}))).then(a,s);}u((r=r.apply(t,e||[])).next());}))},s=this&&this.__generator||function(t,e){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(s){return function(u){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;o&&(o=0,s[0]&&(a=0)),a;)try{if(n=1,r&&(i=2&s[0]?r.return:s[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,s[1])).done)return i;switch(r=0,i&&(s=[2&s[0],i.value]),s[0]){case 0:case 1:i=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,r=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!((i=(i=a.trys).length>0&&i[i.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!i||s[1]>i[0]&&s[1]=t.length&&(t=void 0),{value:t&&t[r++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},l=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.GeoPackage=void 0;var c=l(n(1011)),h=l(n(6102)),f=l(n(3892)),p=l(n(7383)),d=l(n(8147)),y=l(n(1013)),m=o(n(4102)),g=l(n(4472)),_=n(857),b=n(5306),v=n(1832),T=n(8479),E=n(1314),w=n(7523),x=n(5965),C=n(1968),M=n(2071),S=n(4896),N=n(6638),O=n(5925),A=n(3506),I=n(4941),P=n(7175),R=n(663),L=n(2056),D=n(5698),k=n(9581),F=n(9095),U=n(8904),B=n(8008),j=n(1394),G=n(7092),W=n(7960),q=n(3931),H=n(9631),z=n(464),V=n(8412),X=n(8138),Y=n(8704),Z=n(5897),Q=n(7319),K=n(8116),J=n(812),$=n(1459),tt=n(1938),et=n(3684),nt=n(2527),rt=n(5899),it=n(5865),ot=n(8133),at=n(4275),st=n(961),ut=n(6366),lt=n(8483),ct=n(4599),ht=n(297),ft=n(731),pt=n(4301),dt=n(2777),yt=n(8375),mt=n(8314),gt=n(9406),_t=n(9971),bt=n(9211),vt=n(7686),Tt=n(5604),Et=n(1375),wt=n(8877),xt=function(){function t(t,e,n){this.name=t,this.path=e,this.connection=n,this.tableCreator=new $.TableCreator(this),this.loadSpatialReferenceSystemsIntoProj4();}return t.prototype.close=function(){this.connection.close();},Object.defineProperty(t.prototype,"database",{get:function(){return this.connection},enumerable:!1,configurable:!0}),t.prototype.export=function(){return a(this,void 0,void 0,(function(){return s(this,(function(t){return [2,this.connection.export()]}))}))},t.prototype.loadSpatialReferenceSystemsIntoProj4=function(){this.spatialReferenceSystemDao.getAllSpatialReferenceSystems().forEach((function(t){try{t.srs_id>0&&(t.organization!==Et.ProjectionConstants.EPSG||t.organization_coordsys_id!==Et.ProjectionConstants.EPSG_CODE_4326&&t.organization_coordsys_id!==Et.ProjectionConstants.EPSG_CODE_3857)&&Tt.Projection.loadProjection([t.organization,t.organization_coordsys_id].join(":"),t.definition);}catch(t){}}));},t.prototype.validate=function(){var t=[];return t.concat(at.GeoPackageValidate.validateMinimumTables(this))},Object.defineProperty(t.prototype,"spatialReferenceSystemDao",{get:function(){return this._spatialReferenceSystemDao||(this._spatialReferenceSystemDao=new x.SpatialReferenceSystemDao(this))},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"contentsDao",{get:function(){return this._contentsDao||(this._contentsDao=new N.ContentsDao(this))},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"tileMatrixSetDao",{get:function(){return this._tileMatrixSetDao||(this._tileMatrixSetDao=new O.TileMatrixSetDao(this))},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"tileMatrixDao",{get:function(){return this._tileMatrixDao||(this._tileMatrixDao=new A.TileMatrixDao(this))},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"dataColumnsDao",{get:function(){return this._dataColumnsDao||(this._dataColumnsDao=new I.DataColumnsDao(this))},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"extensionDao",{get:function(){return this._extensionDao||(this._extensionDao=new D.ExtensionDao(this))},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"tableIndexDao",{get:function(){return this._tableIndexDao||(this._tableIndexDao=new k.TableIndexDao(this))},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"geometryColumnsDao",{get:function(){return this._geometryColumnsDao||(this._geometryColumnsDao=new C.GeometryColumnsDao(this))},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"dataColumnConstraintsDao",{get:function(){return this._dataColumnConstraintsDao||(this._dataColumnConstraintsDao=new P.DataColumnConstraintsDao(this))},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"metadataReferenceDao",{get:function(){return this._metadataReferenceDao||(this._metadataReferenceDao=new L.MetadataReferenceDao(this))},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"metadataDao",{get:function(){return this._metadataDao||(this._metadataDao=new R.MetadataDao(this))},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"extendedRelationDao",{get:function(){return this._extendedRelationDao||(this._extendedRelationDao=new U.ExtendedRelationDao(this))},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"contentsIdDao",{get:function(){return this._contentsIdDao||(this._contentsIdDao=new G.ContentsIdDao(this))},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"tileScalingDao",{get:function(){return this._tileScalingDao||(this._tileScalingDao=new W.TileScalingDao(this))},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"contentsIdExtension",{get:function(){return this._contentsIdExtension||(this._contentsIdExtension=new E.ContentsIdExtension(this))},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"featureStyleExtension",{get:function(){return this._featureStyleExtension||(this._featureStyleExtension=new T.FeatureStyleExtension(this))},enumerable:!1,configurable:!0}),t.prototype.getTileScalingExtension=function(t){return new w.TileScalingExtension(this,t)},t.prototype.getGeometryIndexDao=function(t){return new F.GeometryIndexDao(this,t)},Object.defineProperty(t.prototype,"relatedTablesExtension",{get:function(){return this._relatedTablesExtension||(this._relatedTablesExtension=new v.RelatedTablesExtension(this))},enumerable:!1,configurable:!0}),t.prototype.getSrs=function(t){return this.spatialReferenceSystemDao.queryForId(t)},t.prototype.createRequiredTables=function(){return this.tableCreator.createRequired(),this},t.prototype.createSupportedExtensions=function(){return new b.CrsWktExtension(this).getOrCreateExtension(),new K.SchemaExtension(this).getOrCreateExtension(),this},t.prototype.getTileDao=function(t){if(t instanceof Z.Contents)t=this.contentsDao.getTileMatrixSet(t);else if(!(t instanceof rt.TileMatrixSet)){var e=this.tileMatrixSetDao,n=e.queryForAllEq(O.TileMatrixSetDao.COLUMN_TABLE_NAME,t);if(n.length>1)throw new Error("Unexpected state. More than one Tile Matrix Set matched for table name: "+t+", count: "+n.length);if(0===n.length)throw new Error("No Tile Matrix found for table name: "+t);t=e.createObject(n[0]);}if(!t)throw new Error("Non null TileMatrixSet is required to create Tile DAO");var r=[],i=this.tileMatrixDao;i.queryForAllEq(A.TileMatrixDao.COLUMN_TABLE_NAME,t.table_name,null,null,A.TileMatrixDao.COLUMN_ZOOM_LEVEL+" ASC, "+A.TileMatrixDao.COLUMN_PIXEL_X_SIZE+" DESC, "+A.TileMatrixDao.COLUMN_PIXEL_Y_SIZE+" DESC").forEach((function(t){var e=i.createObject(t);i.hasTiles(e)&&r.push(e);}));var o=new H.TileTableReader(t).readTileTable(this);return new j.TileDao(this,o,t,r)},t.prototype.getTables=function(t){return void 0===t&&(t=!1),t?{features:this.contentsDao.getContentsForTableType(_t.ContentsDataType.FEATURES),tiles:this.contentsDao.getContentsForTableType(_t.ContentsDataType.TILES),attributes:this.contentsDao.getContentsForTableType(_t.ContentsDataType.ATTRIBUTES)}:{features:this.getFeatureTables(),tiles:this.getTileTables(),attributes:this.getAttributesTables()}},t.prototype.getAttributesTables=function(){return this.contentsDao.getTables(_t.ContentsDataType.ATTRIBUTES)},t.prototype.hasAttributeTable=function(t){var e=this.getAttributesTables();return e&&-1!=e.indexOf(t)},t.prototype.getTileTables=function(){var t=this.contentsDao;return t.isTableExists()?t.getTables(_t.ContentsDataType.TILES):[]},t.prototype.hasTileTable=function(t){var e=this.getTileTables();return e&&-1!==e.indexOf(t)},t.prototype.hasFeatureTable=function(t){var e=this.getFeatureTables();return e&&-1!=e.indexOf(t)},t.prototype.getFeatureTables=function(){var t=this.contentsDao;return t.isTableExists()?t.getTables(_t.ContentsDataType.FEATURES):[]},t.prototype.isTable=function(t){return !!this.connection.tableExists(t)},t.prototype.isTableType=function(t,e){return t===this.getTableType(e)},t.prototype.getTableType=function(t){var e=this.getTableContents(t);if(e)return e.data_type},t.prototype.getTableContents=function(t){return this.contentsDao.queryForId(t)},t.prototype.dropTable=function(t){return this.connection.dropTable(t)},t.prototype.deleteTable=function(t){gt.GeoPackageExtensions.deleteTableExtensions(this,t),this.contentsDao.deleteTable(t);},t.prototype.deleteTableQuietly=function(t){try{this.deleteTable(t);}catch(t){}},t.prototype.getTableCreator=function(){return this.tableCreator},t.prototype.index=function(){return a(this,void 0,void 0,(function(){var t,e;return s(this,(function(n){switch(n.label){case 0:t=this.getFeatureTables(),e=0,n.label=1;case 1:return e0&&n[0]instanceof it.UserColumn)s=n;else {var u=0;s.push(st.FeatureColumn.createPrimaryKeyColumn(u++,"id")),s.push(st.FeatureColumn.createGeometryColumn(u++,a.column_name,bt.GeometryType.GEOMETRY,!1,null));for(var l=0;n&&lc.maxZoom)){for(var h=0;hc.maxWebMapZoom)){l.columns=[];for(var h=0;h1e4){var p=f.toGeoJSON();return p.feature_count=h,p.coverage=!0,p.gp_table=e,p.gp_name=this.name,p}var d=[f.maxLongitude,f.maxLatitude],y=[f.minLongitude,f.minLatitude],g=(d[0]-y[0])/256*10;f.maxLongitude=a+g,f.minLongitude=a-g,f.maxLatitude=o+g,f.minLatitude=o-g;var _,b=c.queryForGeoJSONIndexedFeaturesWithBoundingBox(f),v=[],T=1e11,E=m.point([a,o]);try{for(var w=u(b),x=w.next();!x.done;x=w.next()){var C=x.value;C.type="Feature";var M=t.determineDistance(E.geometry,C);(M{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.GeoPackageConstants=void 0;var n=function(){function t(){}return t.GEOPACKAGE_EXTENSION="gpkg",t.GEOPACKAGE_EXTENDED_EXTENSION="gpkx",t.APPLICATION_ID="GPKG",t.USER_VERSION="10200",t.GEOPACKAGE_EXTENSION_AUTHOR=t.GEOPACKAGE_EXTENSION,t.GEOMETRY_EXTENSION_PREFIX="geom",t.GEOPACKAGE_GEOMETRY_MAGIC_NUMBER="GP",t.GEOPACKAGE_GEOMETRY_VERSION_1=0,t.SQLITE_HEADER_PREFIX="SQLite format 3",t}();e.GeoPackageConstants=n;},5095:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Envelope=void 0;e.Envelope=function(){};},1895:function(t,e,n){"use strict";var r=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.EnvelopeBuilder=void 0;var i=r(n(9705)),o=function(){function t(){}return t.buildEnvelopeWithGeometry=function(t){var e=t.toGeoJSON(),n=(0,i.default)(e);return {minX:n[0],minY:n[1],maxX:n[2],maxY:n[3]}},t}();e.EnvelopeBuilder=o;},857:function(t,e,n){"use strict";var r=n(3085).lW,i=n(5108),o=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.GeometryData=void 0;var a=o(n(1011)),s=n(1506),u=n(5095),l=function(){function t(e){this.empty=!0,this.byteOrder=t.BIG_ENDIAN,e&&this.fromData(e);}return t.prototype.setSrsId=function(t){this.srsId=t;},t.prototype.setGeometry=function(t){this.empty=!1,this.geometry=t;},t.prototype.setEnvelope=function(t){this.envelope=t;},t.prototype.toGeoJSON=function(){return this.geometry.toGeoJSON()},t.prototype.fromData=function(t){t instanceof Uint8Array?this.buffer=t=r.from(t):this.buffer=t;var e=this.buffer.toString("ascii",0,2);if(e!==s.GeoPackageConstants.GEOPACKAGE_GEOMETRY_MAGIC_NUMBER)throw new Error("Unexpected GeoPackage Geometry magic number: "+e+", Expected: "+s.GeoPackageConstants.GEOPACKAGE_GEOMETRY_MAGIC_NUMBER);var n=this.buffer.readUInt8(2);if(n!==s.GeoPackageConstants.GEOPACKAGE_GEOMETRY_VERSION_1)throw new Error("Unexpected GeoPackage Geometry version "+n+", Expected: "+s.GeoPackageConstants.GEOPACKAGE_GEOMETRY_VERSION_1);var o=this.buffer.readUInt8(3),u=this.readFlags(o);this.srsId=this.buffer[this.byteOrder?"readUInt32LE":"readUInt32BE"](4);var l=this.readEnvelope(u,this.buffer);this.envelope=l.envelope;var c=l.offset,h=this.buffer.slice(c);try{this.geometry=a.default.Geometry.parse(h),this.geometryError=void 0;}catch(t){this.geometryError=t.message,i.log("Error parsing geometry");}},t.prototype.toData=function(){var t=r.alloc(8);t.write(s.GeoPackageConstants.GEOPACKAGE_GEOMETRY_MAGIC_NUMBER),t.writeUInt8(s.GeoPackageConstants.GEOPACKAGE_GEOMETRY_VERSION_1,2);var e=this.buildFlagsByte();t.writeUInt8(e,3),t[this.byteOrder?"writeUInt32LE":"writeUInt32BE"](this.srsId,4);var n=[t,this.writeEnvelope()];try{n.push(this.geometry.toWkb()),this.geometryError=void 0;}catch(t){this.geometryError=t.message;}return this.buffer=r.concat(n),this.buffer},t.prototype.writeEnvelope=function(){if(!this.envelope)return r.alloc(0);var t=32;this.envelope.hasZ&&(t+=16),this.envelope.hasM&&(t+=16);var e,n=r.alloc(t);(e=this.byteOrder?n.writeDoubleLE.bind(n):n.writeDoubleBE.bind(n))(this.envelope.minX,0),e(this.envelope.maxX,8),e(this.envelope.minY,16),e(this.envelope.maxY,24);var i=32;return this.envelope.hasZ&&(e(this.envelope.minZ,i),e(this.envelope.maxZ,i+8),i=48),this.envelope.hasM&&(e(this.envelope.minM,i),e(this.envelope.maxM,i+8)),n},t.prototype.buildFlagsByte=function(){var e=0;return e+=(this.extended?1:0)<<5,e+=(this.empty?1:0)<<4,(e+=(this.envelope?this.getIndicatorWithEnvelope(this.envelope):0)<<1)+(this.byteOrder===t.BIG_ENDIAN?0:1)},t.prototype.getIndicatorWithEnvelope=function(t){var e=1;return t.hasZ&&e++,t.hasM&&(e+=2),e},t.prototype.readFlags=function(t){var e=t>>7&1,n=t>>6&1;if(0!==e||0!==n)throw new Error("Unexpected GeoPackage Geometry flags. Flag bit 7 and 6 should both be 0, 7="+e+", 6="+n);var r=t>>5&1;this.extended=1===r;var i=t>>4&1;this.empty=1===i;var o=t>>1&7;if(o>4)throw new Error("Unexpected GeoPackage Geometry flags. Envelope contents indicator must be between 0 and 4. Actual: "+o);var a=1&t;return this.byteOrder=a,o},t.prototype.readEnvelope=function(t,e){var n;n=this.byteOrder?e.readDoubleLE.bind(e):e.readDoubleBE.bind(e);var r=0,i={envelope:void 0,offset:8};if(t<=0)return i;var o=new u.Envelope;return o.minX=n(8+8*r++),o.maxX=n(8+8*r++),o.minY=n(8+8*r++),o.maxY=n(8+8*r++),o.hasZ=!1,o.hasM=!1,2!==t&&4!==t||(o.hasZ=!0,o.minZ=n(8+8*r++),o.maxZ=n(8+8*r++)),3!==t&&4!==t||(o.hasM=!0,o.minM=n(8+8*r++),o.maxM=n(8+8*r++)),i.envelope=o,i.offset=8+8*r,i},t.BIG_ENDIAN=0,t.LITTLE_ENDIAN=1,t}();e.GeometryData=l;},3026:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Metadata=void 0;var n=function(){function t(){}return t.prototype.getScopeInformation=function(e){switch(e){case t.UNDEFINED:return {name:t.UNDEFINED,code:"NA",definition:"Metadata information scope is undefined"};case t.FIELD_SESSION:return {name:t.FIELD_SESSION,code:"012",definition:"Information applies to the field session"};case t.COLLECTION_SESSION:return {name:t.COLLECTION_SESSION,code:"004",definition:"Information applies to the collection session"};case t.SERIES:return {name:t.SERIES,code:"006",definition:"Information applies to the (dataset) series"};case t.DATASET:return {name:t.DATASET,code:"005",definition:"Information applies to the (geographic feature) dataset"};case t.FEATURE_TYPE:return {name:t.FEATURE_TYPE,code:"010",definition:"Information applies to a feature type (class)"};case t.FEATURE:return {name:t.FEATURE,code:"009",definition:"Information applies to a feature (instance)"};case t.ATTRIBUTE_TYPE:return {name:t.ATTRIBUTE_TYPE,code:"002",definition:"Information applies to the attribute class"};case t.ATTRIBUTE:return {name:t.ATTRIBUTE,code:"001",definition:"Information applies to the characteristic of a feature (instance)"};case t.TILE:return {name:t.TILE,code:"016",definition:"Information applies to a tile, a spatial subset of geographic data"};case t.MODEL:return {name:t.MODEL,code:"015",definition:"Information applies to a copy or imitation of an existing or hypothetical object"};case t.CATALOG:return {name:t.CATALOG,code:"NA",definition:"Metadata applies to a feature catalog"};case t.SCHEMA:return {name:t.SCHEMA,code:"NA",definition:"Metadata applies to an application schema"};case t.TAXONOMY:return {name:t.TAXONOMY,code:"NA",definition:"Metadata applies to a taxonomy or knowledge system"};case t.SOFTWARE:return {name:t.SOFTWARE,code:"013",definition:"Information applies to a computer program or routine"};case t.SERVICE:return {name:t.SERVICE,code:"014",definition:"Information applies to a capability which a service provider entity makes available to a service user entity through a set of interfaces that define a behaviour, such as a use case"};case t.COLLECTION_HARDWARE:return {name:t.COLLECTION_HARDWARE,code:"003",definition:"Information applies to the collection hardware class"};case t.NON_GEOGRAPHIC_DATASET:return {name:t.NON_GEOGRAPHIC_DATASET,code:"007",definition:"Information applies to non-geographic data"};case t.DIMENSION_GROUP:return {name:t.DIMENSION_GROUP,code:"008",definition:"Information applies to a dimension group"}}},t.UNDEFINED="undefined",t.FIELD_SESSION="fieldSession",t.COLLECTION_SESSION="collectionSession",t.SERIES="series",t.DATASET="dataset",t.FEATURE_TYPE="featureType",t.FEATURE="feature",t.ATTRIBUTE_TYPE="attributeType",t.ATTRIBUTE="attribute",t.TILE="tile",t.MODEL="model",t.CATALOG="catalog",t.SCHEMA="schema",t.TAXONOMY="taxonomy",t.SOFTWARE="software",t.SERVICE="service",t.COLLECTION_HARDWARE="collectionHardware",t.NON_GEOGRAPHIC_DATASET="nonGeographicDataset",t.DIMENSION_GROUP="dimensionGroup",t}();e.Metadata=n;},663:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);});Object.defineProperty(e,"__esModule",{value:!0}),e.MetadataDao=void 0;var o=n(4115),a=n(3026),s=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.gpkgTableName=e.TABLE_NAME,n.idColumns=[e.COLUMN_ID],n}return i(e,t),e.prototype.createObject=function(t){var e=new a.Metadata;return t&&(e.id=t.id,e.md_scope=t.md_scope,e.md_standard_uri=t.md_standard_uri,e.mime_type=t.mime_type,e.metadata=t.metadata),e},e.TABLE_NAME="gpkg_metadata",e.COLUMN_ID="id",e.COLUMN_MD_SCOPE="md_scope",e.COLUMN_MD_STANDARD_URI="md_standard_uri",e.COLUMN_MIME_TYPE="mime_type",e.COLUMN_METADATA="metadata",e}(o.Dao);e.MetadataDao=s;},9173:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.MetadataReference=void 0;var n=function(){function t(){}return t.prototype.toDatabaseValue=function(t){return "timestamp"===t?this.timestamp.toISOString():this[t]},t.prototype.setMetadata=function(t){this.md_file_id=t?t.id:-1;},t.prototype.setParentMetadata=function(t){this.md_parent_id=t?t.id:-1;},t.prototype.setReferenceScopeType=function(e){switch(this.reference_scope=e,e){case t.GEOPACKAGE:this.table_name=void 0,this.column_name=void 0,this.row_id_value=void 0;break;case t.TABLE:this.column_name=void 0,this.row_id_value=void 0;break;case t.ROW:this.column_name=void 0;break;case t.COLUMN:this.row_id_value=void 0;}},t.GEOPACKAGE="geopackage",t.TABLE="table",t.COLUMN="column",t.ROW="row",t.ROW_COL="row/col",t}();e.MetadataReference=n;},2056:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);});Object.defineProperty(e,"__esModule",{value:!0}),e.MetadataReferenceDao=void 0;var o=n(4115),a=n(8572),s=n(9173),u=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.gpkgTableName=e.TABLE_NAME,n.idColumns=[e.COLUMN_MD_FILE_ID,e.COLUMN_MD_PARENT_ID],n}return i(e,t),e.prototype.createObject=function(t){var e=new s.MetadataReference;return t&&(e.reference_scope=t.reference_scope,e.table_name=t.table_name,e.column_name=t.column_name,e.row_id_value=t.row_id_value,e.timestamp=new Date(t.timestamp),e.md_file_id=t.md_file_id,e.md_parent_id=t.md_parent_id),e},e.prototype.removeMetadataParent=function(t){var n={};n[e.COLUMN_MD_PARENT_ID]=null;var r=this.buildWhereWithFieldAndValue(e.COLUMN_MD_PARENT_ID,t),i=this.buildWhereArgs(t);return this.updateWithValues(n,r,i).changes},e.prototype.queryByMetadataAndParent=function(t,n){var r=new a.ColumnValues;return r.addColumn(e.COLUMN_MD_FILE_ID,t),r.addColumn(e.COLUMN_MD_PARENT_ID,n),this.queryForFieldValues(r)},e.prototype.queryByMetadata=function(t){var n=new a.ColumnValues;return n.addColumn(e.COLUMN_MD_FILE_ID,t),this.queryForFieldValues(n)},e.prototype.queryByMetadataParent=function(t){var n=new a.ColumnValues;return n.addColumn(e.COLUMN_MD_PARENT_ID,t),this.queryForFieldValues(n)},e.prototype.deleteByTableName=function(t){var n="";n+=this.buildWhereWithFieldAndValue(e.COLUMN_TABLE_NAME,t);var r=this.buildWhereArgs(t);return this.deleteWhere(n,r)},e.TABLE_NAME="gpkg_metadata_reference",e.COLUMN_REFERENCE_SCOPE="reference_scope",e.COLUMN_TABLE_NAME="table_name",e.COLUMN_COLUMN_NAME="column_name",e.COLUMN_ROW_ID="row_id_value",e.COLUMN_TIMESTAMP="timestamp",e.COLUMN_MD_FILE_ID="md_file_id",e.COLUMN_MD_PARENT_ID="md_parent_id",e}(o.Dao);e.MetadataReferenceDao=u;},7403:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.OptionBuilder=void 0;var n=function(){function t(){}return t.build=function(t){var e={};return t.forEach((function(t){e["set"+t.slice(0,1).toUpperCase()+t.slice(1)]=function(e){return this[t]=e,this},e["get"+t.slice(0,1).toUpperCase()+t.slice(1)]=function(){return this[t]};})),e},t}();e.OptionBuilder=n;},5604:function(t,e,n){"use strict";var r=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.Projection=void 0;var i=r(n(4472)),o=r(n(8446)),a=n(1375),s=function(){function t(){}return t.loadProjection=function(t,e){if(!t||!e)throw new Error("Invalid projection name/definition");null==i.default.defs(t)&&i.default.defs(t,e);},t.loadProjections=function(e){if(!e)throw new Error("Invalid array of projections");for(var n=0;n{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ProjectionConstants=void 0;var n=function(){function t(){}return t.EPSG="EPSG",t.EPSG_PREFIX="EPSG:",t.EPSG_CODE_3857=3857,t.EPSG_CODE_4326=4326,t.EPSG_CODE_900913=900913,t.EPSG_CODE_102113=102113,t.EPSG_3857=t.EPSG_PREFIX+t.EPSG_CODE_3857,t.EPSG_4326=t.EPSG_PREFIX+t.EPSG_CODE_4326,t.EPSG_900913=t.EPSG_PREFIX+t.EPSG_CODE_900913,t.EPSG_102113=t.EPSG_PREFIX+t.EPSG_CODE_102113,t.WEB_MERCATOR_MAX_LAT_RANGE=85.0511287798066,t.WEB_MERCATOR_MIN_LAT_RANGE=-85.05112877980659,t.WEB_MERCATOR_MAX_LON_RANGE=180,t.WEB_MERCATOR_MIN_LON_RANGE=-180,t.WEB_MERCATOR_HALF_WORLD_WIDTH=20037508.342789244,t.WGS84_HALF_WORLD_LON_WIDTH=180,t.WGS84_HALF_WORLD_LAT_HEIGHT=90,t}();e.ProjectionConstants=n;},7977:function(t,e,n){"use strict";var r=this&&this.__createBinding||(Object.create?function(t,e,n,r){void 0===r&&(r=n);var i=Object.getOwnPropertyDescriptor(e,n);i&&!("get"in i?!e.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return e[n]}}),Object.defineProperty(t,r,i);}:function(t,e,n,r){void 0===r&&(r=n),t[r]=e[n];}),i=this&&this.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e});}:function(t,e){t.default=e;}),o=this&&this.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)"default"!==n&&Object.prototype.hasOwnProperty.call(t,n)&&r(e,t,n);return i(e,t),e},a=this&&this.__awaiter||function(t,e,n,r){return new(n||(n=Promise))((function(i,o){function a(t){try{u(r.next(t));}catch(t){o(t);}}function s(t){try{u(r.throw(t));}catch(t){o(t);}}function u(t){var e;t.done?i(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e);}))).then(a,s);}u((r=r.apply(t,e||[])).next());}))},s=this&&this.__generator||function(t,e){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(s){return function(u){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;o&&(o=0,s[0]&&(a=0)),a;)try{if(n=1,r&&(i=2&s[0]?r.return:s[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,s[1])).done)return i;switch(r=0,i&&(s=[2&s[0],i.value]),s[0]){case 0:case 1:i=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,r=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!((i=(i=a.trys).length>0&&i[i.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!i||s[1]>i[0]&&s[1]=this.width||n.yPositionInFinalTileStart>=this.height||this.addChunk(t,n);},t.prototype.addChunk=function(t,e){this.chunks.push({chunk:t,position:e});},t.prototype.reproject=function(t,e){return a(this,void 0,void 0,(function(){var t,r,i,o,a,u,l,f,p,d,g,_,b,v=this;return s(this,(function(s){if("undefined"!=typeof window&&window.Worker)return y.TileUtilities.getPiecePosition(e,this.tileBoundingBox,this.height,this.width,this.projectionTo,this.projectionToDefinition,this.projectionFrom,this.projectionFromDefinition,this.tileHeightUnitsPerPixel,this.tileWidthUnitsPerPixel,this.tileMatrix.pixel_x_size,this.tileMatrix.pixel_y_size),t={sourceImageData:this.tileContext.getImageData(0,0,this.tileMatrix.tile_width,this.tileMatrix.tile_height).data.buffer,height:this.height,width:this.width,projectionTo:this.projectionTo,projectionToDefinition:this.projectionToDefinition,projectionFrom:this.projectionFrom,projectionFromDefinition:this.projectionFromDefinition,maxLatitude:this.tileBoundingBox.maxLatitude,minLongitude:this.tileBoundingBox.minLongitude,tileWidthUnitsPerPixel:this.tileWidthUnitsPerPixel,tileHeightUnitsPerPixel:this.tileHeightUnitsPerPixel,tilePieceBoundingBox:JSON.stringify(e),tileBoundingBox:JSON.stringify(this.tileBoundingBox),pixel_y_size:this.tileMatrix.pixel_y_size,pixel_x_size:this.tileMatrix.pixel_x_size,tile_width:this.tileMatrix.tile_width,tile_height:this.tileMatrix.tile_height},[2,new Promise((function(e){try{(r=n(8034)(n(7591))).onmessage=function(t){v.canvas.getContext("2d").putImageData(new ImageData(new Uint8ClampedArray(t.data),v.height,v.width),0,0),e();},r.postMessage(t,[v.tileContext.getImageData(0,0,v.tileMatrix.tile_width,v.tileMatrix.tile_height).data.buffer]);}catch(n){var r,i=(r=h.default)(t);v.canvas.getContext("2d").putImageData(new ImageData(new Uint8ClampedArray(i),v.height,v.width),0,0),e();}}))];r=this.height,i=this.width,o=this.tileMatrix.tile_height,a=this.tileMatrix.tile_width,u=void 0;try{null==m.Projection.hasProjection(this.projectionTo)&&m.Projection.loadProjection(this.projectionTo,this.projectionToDefinition),null==m.Projection.hasProjection(this.projectionFrom)&&m.Projection.loadProjection(this.projectionFrom,this.projectionFromDefinition),u=(0,c.default)(this.projectionTo,this.projectionFrom);}catch(t){}for(l=void 0,f=0;f=0&&_=0&&b{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.CustomFeaturesTile=void 0;e.CustomFeaturesTile=function(){this.compressFormat="png",this.tileBorderStrokeWidth=2,this.tileBorderColor="rgba(0, 0, 0, 1.0)",this.tileFillColor="rgba(0, 0, 0, 0.0625)",this.drawUnindexedTiles=!0;};},3060:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);}),o=this&&this.__awaiter||function(t,e,n,r){return new(n||(n=Promise))((function(i,o){function a(t){try{u(r.next(t));}catch(t){o(t);}}function s(t){try{u(r.throw(t));}catch(t){o(t);}}function u(t){var e;t.done?i(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e);}))).then(a,s);}u((r=r.apply(t,e||[])).next());}))},a=this&&this.__generator||function(t,e){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(s){return function(u){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;o&&(o=0,s[0]&&(a=0)),a;)try{if(n=1,r&&(i=2&s[0]?r.return:s[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,s[1])).done)return i;switch(r=0,i&&(s=[2&s[0],i.value]),s[0]){case 0:case 1:i=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,r=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!((i=(i=a.trys).length>0&&i[i.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!i||s[1]>i[0]&&s[1]1)throw new Error("Circle padding percentage must be between 0.0 and 1.0: "+t);this.circlePaddingPercentage=t;},e.prototype.getTileBorderStrokeWidth=function(){return this.tileBorderStrokeWidth},e.prototype.setTileBorderStrokeWidth=function(t){this.tileBorderStrokeWidth=t;},e.prototype.getTileBorderColor=function(){return this.tileBorderColor},e.prototype.setTileBorderColor=function(t){this.tileBorderColor=t;},e.prototype.getTileFillColor=function(){return this.tileFillColor},e.prototype.setTileFillColor=function(t){this.tileFillColor=t;},e.prototype.isDrawUnindexedTiles=function(){return this.drawUnindexedTiles},e.prototype.setDrawUnindexedTiles=function(t){this.drawUnindexedTiles=t;},e.prototype.getCompressFormat=function(){return this.compressFormat},e.prototype.setCompressFormat=function(t){this.compressFormat=t;},e.prototype.drawUnindexedTile=function(t,e,n){return void 0===n&&(n=null),o(this,void 0,void 0,(function(){var r;return a(this,(function(i){return r=null,this.drawUnindexedTiles&&(r=this.drawTile(t,e,"?",n)),[2,r]}))}))},e.prototype.drawTile=function(t,e,n,r){return o(this,void 0,void 0,(function(){var i=this;return a(this,(function(o){switch(o.label){case 0:return [4,s.Canvas.initializeAdapter()];case 1:return o.sent(),[2,new Promise((function(o){var a,u=!1;null!=r?a=r:(a=s.Canvas.create(t,e),u=!0);var l=a.getContext("2d");l.clearRect(0,0,t,e),null!==i.tileFillColor&&(l.fillStyle=i.tileFillColor,l.fillRect(0,0,t,e)),null!==i.tileBorderColor&&(l.strokeStyle=i.tileBorderColor,l.lineWidth=i.tileBorderStrokeWidth,l.strokeRect(0,0,t,e));var c=s.Canvas.measureText(l,i.textFont,i.textSize,n),h=i.textSize,f=Math.round(t/2),p=Math.round(e/2);if(null!=i.circleBorderColor||null!=i.circleFillColor){var d=Math.max(c,h),y=Math.round(d/2);y=Math.round(y+d*i.circlePaddingPercentage),null!=i.circleFillColor&&(l.fillStyle=i.circleFillColor,l.beginPath(),l.arc(f,p,y,0,2*Math.PI,!0),l.closePath(),l.fill()),null!=i.circleBorderColor&&(l.strokeStyle=i.circleBorderColor,l.lineWidth=i.circleStrokeWidth,l.beginPath(),l.arc(f,p,y,0,2*Math.PI,!0),l.closePath(),l.stroke());}s.Canvas.drawText(l,n,[f,p],i.textFont,i.textSize,i.textColor),s.Canvas.toDataURL(a,"image/"+i.compressFormat).then((function(t){u&&s.Canvas.disposeCanvas(a),o(t);}));}))]}}))}))},e}(n(2544).CustomFeaturesTile);e.NumberFeaturesTile=u;},6667:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);}),o=this&&this.__awaiter||function(t,e,n,r){return new(n||(n=Promise))((function(i,o){function a(t){try{u(r.next(t));}catch(t){o(t);}}function s(t){try{u(r.throw(t));}catch(t){o(t);}}function u(t){var e;t.done?i(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e);}))).then(a,s);}u((r=r.apply(t,e||[])).next());}))},a=this&&this.__generator||function(t,e){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(s){return function(u){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;o&&(o=0,s[0]&&(a=0)),a;)try{if(n=1,r&&(i=2&s[0]?r.return:s[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,s[1])).done)return i;switch(r=0,i&&(s=[2&s[0],i.value]),s[0]){case 0:case 1:i=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,r=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!((i=(i=a.trys).length>0&&i[i.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!i||s[1]>i[0]&&s[1]{"use strict";var n;Object.defineProperty(e,"__esModule",{value:!0}),e.FeatureDrawType=void 0,(n=e.FeatureDrawType||(e.FeatureDrawType={})).CIRCLE="CIRCLE",n.STROKE="STROKE",n.FILL="FILL",function(t){t.nameFromType=function(e){return t[e]},t.fromName=function(e){switch(e){case "CIRCLE":return t.CIRCLE;case "STROKE":return t.STROKE;case "FILL":return t.FILL}};}(e.FeatureDrawType||(e.FeatureDrawType={}));},6063:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.FeaturePaint=void 0;var n=function(){function t(){this.featurePaints={};}return t.prototype.getPaint=function(t){return this.featurePaints[t]},t.prototype.setPaint=function(t,e){this.featurePaints[t]=e;},t}();e.FeaturePaint=n;},9957:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.FeaturePaintCache=void 0;var r=n(6063),i=function(){function t(e){void 0===e&&(e=t.DEFAULT_STYLE_PAINT_CACHE_SIZE),this.cacheSize=e,this.paintCache={},this.accessHistory=[];}return t.prototype.getFeaturePaintForStyleRow=function(t){return this.getFeaturePaint(t.id)},t.prototype.getFeaturePaint=function(t){var e=this.paintCache[t];if(e){var n=this.accessHistory.indexOf(t);n>-1&&this.accessHistory.splice(n,1),this.accessHistory.push(t);}return e},t.prototype.getPaintForStyleRow=function(t,e){return this.getPaint(t.id,e)},t.prototype.getPaint=function(t,e){var n=null,r=this.getFeaturePaint(t);return null!=r&&(n=r.getPaint(e)),n},t.prototype.setPaintForStyleRow=function(t,e,n){this.setPaint(t.id,e,n);},t.prototype.setPaint=function(t,e,n){var i=this.paintCache[t];if(i){var o=this.accessHistory.indexOf(t);o>-1&&this.accessHistory.splice(o,1);}else i=new r.FeaturePaint;if(i.setPaint(e,n),this.paintCache[t]=i,this.accessHistory.push(t),Object.keys(this.paintCache).length>this.cacheSize){var a=this.accessHistory.shift();a&&delete this.paintCache[a];}},t.prototype.remove=function(t){var e=this.paintCache[t];if(delete this.paintCache[t],e){var n=this.accessHistory.indexOf(t);n>-1&&this.accessHistory.splice(n,1);}return e},t.prototype.clear=function(){this.paintCache={},this.accessHistory=[];},t.prototype.resize=function(t){this.cacheSize=t;var e=Object.keys(this.paintCache);if(e.length>t)for(var n=e.length-t,r=0;r{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.GeometryCache=void 0;var n=function(){function t(e){void 0===e&&(e=t.DEFAULT_GEOMETRY_CACHE_SIZE),this.cacheSize=e,this.geometryCache={},this.accessHistory=[];}return t.prototype.getGeometryForFeatureRow=function(t){return this.getGeometry(t.id)},t.prototype.getGeometry=function(t){var e=this.geometryCache[t];if(e){var n=this.accessHistory.indexOf(t);n>-1&&this.accessHistory.splice(n,1),this.accessHistory.push(t);}return e},t.prototype.setGeometry=function(t,e){var n=this.accessHistory.indexOf(t);if(n>-1&&this.accessHistory.splice(n,1),this.geometryCache[t]=e,this.accessHistory.push(t),Object.keys(this.geometryCache).length>this.cacheSize){var r=this.accessHistory.shift();r&&delete this.geometryCache[r];}},t.prototype.remove=function(t){var e=this.geometryCache[t];if(delete this.geometryCache[t],e){var n=this.accessHistory.indexOf(t);n>-1&&this.accessHistory.splice(n,1);}return e},t.prototype.clear=function(){this.geometryCache={},this.accessHistory=[];},t.prototype.resize=function(t){this.cacheSize=t;var e=Object.keys(this.geometryCache);if(e.length>t)for(var n=e.length-t,r=0;r0&&i[i.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!i||s[1]>i[0]&&s[1]=t.length&&(t=void 0),{value:t&&t[r++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},s=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.FeatureTiles=void 0;var u=s(n(7383)),l=s(n(3809)),c=s(n(6479)),h=n(3684),f=n(2527),p=n(8600),d=n(943),y=n(4538),m=n(9957),g=n(5211),_=n(6536),b=n(3437),v=n(5604),T=n(1375),E=function(){function t(t,e,n){void 0===e&&(e=256),void 0===n&&(n=256),this.featureDao=t,this.tileWidth=e,this.tileHeight=n,this.projection=null,this.webMercatorProjection=null,this.simplifyGeometries=!0,this.simplifyToleranceInPixels=1,this.compressFormat="png",this.pointRadius=4,this.pointPaint=new g.Paint,this.pointIcon=null,this.linePaint=new g.Paint,this._lineStrokeWidth=2,this.polygonPaint=new g.Paint,this._polygonStrokeWidth=2,this.fillPolygon=!0,this.polygonFillPaint=new g.Paint,this.featurePaintCache=new m.FeaturePaintCache,this.geometryCache=new d.GeometryCache,this.cacheGeometries=!0,this.iconCache=new p.IconCache,this._scale=1,this.maxFeaturesPerTile=null,this.maxFeaturesTileDraw=null,this.projection=this.featureDao.projection,this.linePaint.strokeWidth=2,this.polygonPaint.strokeWidth=2,this.polygonFillPaint.color="#00000011",this.geoPackage=this.featureDao.geoPackage,null!=this.geoPackage&&(this.featureTableStyles=new _.FeatureTableStyles(this.geoPackage,t.table),this.featureTableStyles.has()||(this.featureTableStyles=null)),this.webMercatorProjection=v.Projection.getWebMercatorToWGS84Converter(),this.calculateDrawOverlap();}return t.prototype.cleanup=function(){this.clearIconCache(),this.pointIcon&&(b.Canvas.disposeImage(this.pointIcon.getIcon()),this.pointIcon=null);},Object.defineProperty(t.prototype,"drawOverlap",{set:function(t){this.widthDrawOverlap=t,this.heightDrawOverlap=t;},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"simplifyTolerance",{get:function(){return this.simplifyToleranceInPixels},set:function(t){this.simplifyToleranceInPixels=t;},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"widthDrawOverlap",{get:function(){return this.widthOverlap},set:function(t){this.widthOverlap=t;},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"heightDrawOverlap",{get:function(){return this.heightOverlap},set:function(t){this.heightOverlap=t;},enumerable:!1,configurable:!0}),t.prototype.ignoreFeatureTableStyles=function(){this.featureTableStyles=null,this.calculateDrawOverlap();},t.prototype.clearCache=function(){this.clearStylePaintCache(),this.clearIconCache();},t.prototype.clearStylePaintCache=function(){this.featurePaintCache.clear();},Object.defineProperty(t.prototype,"stylePaintCacheSize",{set:function(t){this.featurePaintCache.resize(t);},enumerable:!1,configurable:!0}),t.prototype.clearIconCache=function(){this.iconCache.clear();},Object.defineProperty(t.prototype,"iconCacheSize",{set:function(t){this.iconCache.resize(t);},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"scale",{get:function(){return this._scale},set:function(t){this._scale=t,this.linePaint.strokeWidth=t*this.lineStrokeWidth,this.polygonPaint.strokeWidth=t*this.polygonStrokeWidth,this.featurePaintCache.clear();},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"geometryCacheMaxSize",{set:function(t){this.geometryCache.resize(t);},enumerable:!1,configurable:!0}),t.prototype.calculateDrawOverlap=function(){this.pointIcon?(this.heightOverlap=this.scale*this.pointIcon.getHeight(),this.widthOverlap=this.scale*this.pointIcon.getWidth()):(this.heightOverlap=this.scale*this.pointRadius,this.widthOverlap=this.scale*this.pointRadius);var t=this.scale*this.lineStrokeWidth/2;this.heightOverlap=Math.max(this.heightOverlap,t),this.widthOverlap=Math.max(this.widthOverlap,t);var e=this.scale*this.polygonStrokeWidth/2;if(this.heightOverlap=Math.max(this.heightOverlap,e),this.widthOverlap=Math.max(this.widthOverlap,e),null!=this.featureTableStyles&&this.featureTableStyles.has()){var n=[],r=this.featureTableStyles.getAllTableStyleIds();null!=r&&(n=n.concat(r));var i=this.featureTableStyles.getAllStyleIds();null!=i&&(n=n.concat(i.filter((function(t){return -1===n.indexOf(t)}))));for(var o=this.featureTableStyles.getStyleDao(),a=0;a0))return [3,16];if(!(null==this.maxFeaturesPerTile||g<=this.maxFeaturesPerTile))return [3,13];_=this.getTransformFunction(s),v=this.featureDao.fastQueryBoundingBox(d,s),o.label=2;case 2:o.trys.push([2,9,10,11]),E=a(v),w=E.next(),o.label=3;case 3:if(w.done)return [3,8];if(null==(x=w.value).geometry)return [3,7];C=null,this.cacheGeometries&&(C=this.geometryCache.getGeometry(x.id)),null==C&&(C=x.geometry.geometry.toGeoJSON(),this.geometryCache.setGeometry(x.id,C)),M=this.getFeatureStyle(x),o.label=4;case 4:return o.trys.push([4,6,,7]),[4,this.drawGeometry(C,l,p,M,_)];case 5:return o.sent(),[3,7];case 6:return o.sent(),r.error("Failed to draw feature in tile. Id: "+x.id+", Table: "+this.featureDao.table_name),[3,7];case 7:return w=E.next(),[3,3];case 8:return [3,11];case 9:return S=o.sent(),N={error:S},[3,11];case 10:try{w&&!w.done&&(O=E.return)&&O.call(E);}finally{if(N)throw N.error}return [7];case 11:return [4,b.Canvas.toDataURL(i,"image/"+this.compressFormat)];case 12:return f=o.sent(),[3,15];case 13:return null==this.maxFeaturesTileDraw?[3,15]:[4,this.maxFeaturesTileDraw.drawTile(y,m,g.toString(),i)];case 14:f=o.sent(),o.label=15;case 15:return [3,18];case 16:return [4,b.Canvas.toDataURL(i,"image/"+this.compressFormat)];case 17:f=o.sent(),o.label=18;case 18:return c&&b.Canvas.disposeCanvas(i),[2,f]}}))}))},t.prototype.drawTileWithBoundingBox=function(t,e,n,s){return i(this,void 0,void 0,(function(){var e,i,u,l,c,h,f,p,d,y,m,g,_,v,T,E,w,x;return o(this,(function(o){switch(o.label){case 0:return e=this.tileWidth,i=this.tileHeight,l=!1,[4,b.Canvas.initializeAdapter()];case 1:o.sent(),null!=s?u=s:(u=b.Canvas.create(e,i),l=!0),(c=u.getContext("2d")).clearRect(0,0,e,i),h=this.featureDao,f=h.queryForEach(void 0,void 0,void 0,void 0,void 0,[h.table.getIdColumn().getName(),h.table.getGeometryColumn().getName()]),p=this.getTransformFunction(n),o.label=2;case 2:o.trys.push([2,9,10,11]),d=a(f),y=d.next(),o.label=3;case 3:if(y.done)return [3,8];if(m=y.value,null==(g=h.getRow(m)).geometry)return [3,7];if(_=null,this.cacheGeometries&&(_=this.geometryCache.getGeometryForFeatureRow(g)),null==_&&(_=g.geometry.geometry.toGeoJSON(),this.geometryCache.setGeometry(g.id,_)),null==_)return [3,7];v=this.getFeatureStyle(g),o.label=4;case 4:return o.trys.push([4,6,,7]),[4,this.drawGeometry(_,c,t,v,p)];case 5:return o.sent(),[3,7];case 6:return o.sent(),r.error("Failed to draw feature in tile. Id: "+g.id+", Table: "+this.featureDao.table_name),[3,7];case 7:return y=d.next(),[3,3];case 8:return [3,11];case 9:return T=o.sent(),w={error:T},[3,11];case 10:try{y&&!y.done&&(x=d.return)&&x.call(d);}finally{if(w)throw w.error}return [7];case 11:return [4,b.Canvas.toDataURL(u,"image/"+this.compressFormat)];case 12:return E=o.sent(),l&&b.Canvas.disposeCanvas(u),[2,E]}}))}))},t.prototype.drawPoint=function(t,e,n,r,a){return i(this,void 0,void 0,(function(){var i,s,u,l,c,f,p,d,y,m,g,_,b,v;return o(this,(function(o){switch(o.label){case 0:return c=a(t.coordinates),f=h.TileBoundingBoxUtils.getXPixel(this.tileWidth,n,c[0]),p=h.TileBoundingBoxUtils.getYPixel(this.tileHeight,n,c[1]),null!=r&&r.useIcon()?(d=r.icon,[4,this.iconCache.createIcon(d)]):[3,2];case 1:return y=o.sent(),i=Math.round(this.scale*y.width),s=Math.round(this.scale*y.height),f>=0-i&&f<=this.tileWidth+i&&p>=0-s&&p<=this.tileHeight+s&&(u=Math.round(f-d.anchorUOrDefault*i),l=Math.round(p-d.anchorVOrDefault*s),e.drawImage(y.image,u,l,i,s)),[3,3];case 2:if(null!=this.pointIcon){if(i=Math.round(this.scale*this.pointIcon.getWidth()),s=Math.round(this.scale*this.pointIcon.getHeight()),f>=0-i&&f<=this.tileWidth+i&&p>=0-s&&p<=this.tileHeight+s){u=Math.round(f-this.scale*this.pointIcon.getXOffset()),l=Math.round(p-this.scale*this.pointIcon.getYOffset());try{e.drawImage(this.pointIcon.getIcon().image,u,l,i,s);}catch(t){}}}else e.save(),m=null,null!=r&&null!=(g=r.style)&&(m=this.scale*(g.getWidthOrDefault()/2)),null==m&&(m=this.scale*this.pointRadius),_=this.getPointPaint(r),f>=0-m&&f<=this.tileWidth+m&&p>=0-m&&p<=this.tileHeight+m&&(b=Math.round(f),v=Math.round(p),e.beginPath(),e.arc(b,v,m,0,2*Math.PI,!0),e.closePath(),e.fillStyle=_.colorRGBA,e.fill()),e.restore();o.label=3;case 3:return [2]}}))}))},t.prototype.simplifyPoints=function(t,e){return void 0===e&&(e=!1),(0,c.default)(t.map((function(t){return {x:t[0],y:t[1]}})),this.simplifyToleranceInPixels,!1).map((function(t){return [t.x,t.y]}))},t.prototype.getPath=function(t,e,n,r,i){var o=this;void 0===r&&(r=!1);var a=t.coordinates.map((function(t){var e=i(t.slice());return [h.TileBoundingBoxUtils.getXPixel(o.tileWidth,n,e[0]),h.TileBoundingBoxUtils.getYPixel(o.tileHeight,n,e[1])]})),s=this.simplifyGeometries?this.simplifyPoints(a,r):a;if(s.length>1){e.moveTo(s[0][0],s[0][1]);for(var u=1;u{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Paint=void 0;var n=function(){function t(){this._color="#000000FF",this._strokeWidth=1;}return Object.defineProperty(t.prototype,"color",{get:function(){return this._color},set:function(t){this._color=t;},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"colorRGBA",{get:function(){var t=parseInt(this.color.substr(1,2),16),e=parseInt(this.color.substr(3,2),16),n=parseInt(this.color.substr(5,2),16),r=1;return this.color.length>7&&(r=parseInt(this.color.substr(7,2),16)/255),"rgba("+t+","+e+","+n+","+r+")"},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"strokeWidth",{get:function(){return this._strokeWidth},set:function(t){this._strokeWidth=t;},enumerable:!1,configurable:!0}),t}();e.Paint=n;},9325:function(t,e,n){"use strict";var r=n(5108),i=this&&this.__awaiter||function(t,e,n,r){return new(n||(n=Promise))((function(i,o){function a(t){try{u(r.next(t));}catch(t){o(t);}}function s(t){try{u(r.throw(t));}catch(t){o(t);}}function u(t){var e;t.done?i(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e);}))).then(a,s);}u((r=r.apply(t,e||[])).next());}))},o=this&&this.__generator||function(t,e){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(s){return function(u){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;o&&(o=0,s[0]&&(a=0)),a;)try{if(n=1,r&&(i=2&s[0]?r.return:s[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,s[1])).done)return i;switch(r=0,i&&(s=[2&s[0],i.value]),s[0]){case 0:case 1:i=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,r=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!((i=(i=a.trys).length>0&&i[i.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!i||s[1]>i[0]&&s[1]{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TileMatrix=void 0;var n=function(){function t(){}return Object.defineProperty(t.prototype,"contents",{set:function(t){t&&"tiles"===t.data_type&&(this.table_name=t.table_name);},enumerable:!1,configurable:!0}),t.TABLE_NAME="tableName",t.ZOOM_LEVEL="zoomLevel",t.MATRIX_WIDTH="matrixWidth",t.MATRIX_HEIGHT="matrixHeight",t.TILE_WIDTH="tileWidth",t.TILE_HEIGHT="tileHeight",t.PIXEL_X_SIZE="pixelXSize",t.PIXEL_Y_SIZE="pixelYSize",t}();e.TileMatrix=n;},3506:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);});Object.defineProperty(e,"__esModule",{value:!0}),e.TileMatrixDao=void 0;var o=n(4115),a=n(1938),s=n(8877),u=n(8334),l=function(t){function e(){var n=null!==t&&t.apply(this,arguments)||this;return n.gpkgTableName="gpkg_tile_matrix",n.idColumns=[e.COLUMN_PK1,e.COLUMN_PK2],n.columns=[e.COLUMN_TABLE_NAME,e.COLUMN_ZOOM_LEVEL,e.COLUMN_MATRIX_WIDTH,e.COLUMN_MATRIX_HEIGHT,e.COLUMN_TILE_WIDTH,e.COLUMN_TILE_HEIGHT,e.COLUMN_PIXEL_X_SIZE,e.COLUMN_PIXEL_Y_SIZE],n}return i(e,t),e.prototype.createObject=function(t){var e=new a.TileMatrix;return t&&(e.table_name=t.table_name,e.zoom_level=t.zoom_level,e.matrix_width=t.matrix_width,e.matrix_height=t.matrix_height,e.tile_width=t.tile_width,e.tile_height=t.tile_height,e.pixel_x_size=t.pixel_x_size,e.pixel_y_size=t.pixel_y_size),e},e.prototype.getContents=function(t){return this.geoPackage.contentsDao.queryForId(t.table_name)},e.prototype.getTileMatrixSet=function(t){return this.geoPackage.tileMatrixSetDao.queryForId(t.table_name)},e.prototype.tileCount=function(t){var e=this.buildWhereWithFieldAndValue(u.TileColumn.COLUMN_ZOOM_LEVEL,t.zoom_level),n=this.buildWhereArgs([t.zoom_level]),r=s.SqliteQueryBuilder.buildCount("'"+t.table_name+"'",e),i=this.connection.get(r,n);return null==i?void 0:i.count},e.prototype.hasTiles=function(t){var e=this.buildWhereWithFieldAndValue(u.TileColumn.COLUMN_ZOOM_LEVEL,t.zoom_level),n=this.buildWhereArgs([t.zoom_level]),r=s.SqliteQueryBuilder.buildQuery(!1,"'"+t.table_name+"'",void 0,e);return null!=this.connection.get(r,n)},e.TABLE_NAME="gpkg_tile_matrix",e.COLUMN_PK1="table_name",e.COLUMN_PK2="zoom_level",e.COLUMN_TABLE_NAME="table_name",e.COLUMN_ZOOM_LEVEL="zoom_level",e.COLUMN_MATRIX_WIDTH="matrix_width",e.COLUMN_MATRIX_HEIGHT="matrix_height",e.COLUMN_TILE_WIDTH="tile_width",e.COLUMN_TILE_HEIGHT="tile_height",e.COLUMN_PIXEL_X_SIZE="pixel_x_size",e.COLUMN_PIXEL_Y_SIZE="pixel_y_size",e}(o.Dao);e.TileMatrixDao=l;},5899:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TileMatrixSet=void 0;var r=n(2527),i=function(){function t(){}return Object.defineProperty(t.prototype,"boundingBox",{get:function(){return new r.BoundingBox(this.min_x,this.max_x,this.min_y,this.max_y)},set:function(t){this.min_x=t.minLongitude,this.max_x=t.maxLongitude,this.min_y=t.minLatitude,this.max_y=t.maxLatitude;},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"contents",{set:function(t){t&&"tiles"===t.data_type&&(this.table_name=t.table_name);},enumerable:!1,configurable:!0}),t.TABLE_NAME="tableName",t.MIN_X="minX",t.MIN_Y="minY",t.MAX_X="maxX",t.MAX_Y="maxY",t.SRS_ID="srsId",t}();e.TileMatrixSet=i;},5925:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);}),o=this&&this.__values||function(t){var e="function"==typeof Symbol&&Symbol.iterator,n=e&&t[e],r=0;if(n)return n.call(t);if(t&&"number"==typeof t.length)return {next:function(){return t&&r>=t.length&&(t=void 0),{value:t&&t[r++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.TileMatrixSetDao=void 0;var a=n(4115),s=n(5899),u=function(t){function e(n){var r=t.call(this,n)||this;return r.gpkgTableName="gpkg_tile_matrix_set",r.idColumns=[e.COLUMN_PK],r.columns=[e.COLUMN_TABLE_NAME,e.COLUMN_SRS_ID,e.COLUMN_MIN_X,e.COLUMN_MIN_Y,e.COLUMN_MAX_X,e.COLUMN_MAX_Y],r.columnToPropertyMap={},r.columnToPropertyMap[e.COLUMN_TABLE_NAME]=s.TileMatrixSet.TABLE_NAME,r.columnToPropertyMap[e.COLUMN_SRS_ID]=s.TileMatrixSet.SRS_ID,r.columnToPropertyMap[e.COLUMN_MIN_X]=s.TileMatrixSet.MIN_X,r.columnToPropertyMap[e.COLUMN_MIN_Y]=s.TileMatrixSet.MIN_Y,r.columnToPropertyMap[e.COLUMN_MAX_X]=s.TileMatrixSet.MAX_X,r.columnToPropertyMap[e.COLUMN_MAX_Y]=s.TileMatrixSet.MAX_Y,r}return i(e,t),e.prototype.createObject=function(t){var e=new s.TileMatrixSet;return t&&(e.table_name=t.table_name,e.srs_id=t.srs_id,e.min_y=t.min_y,e.min_x=t.min_x,e.max_y=t.max_y,e.max_x=t.max_x),e},e.prototype.getTileTables=function(){var t,n,r=[];try{for(var i=o(this.connection.each("select "+e.COLUMN_TABLE_NAME+" from "+e.TABLE_NAME)),a=i.next();!a.done;a=i.next()){var s=a.value;r.push(s[e.COLUMN_TABLE_NAME]);}}catch(e){t={error:e};}finally{try{a&&!a.done&&(n=i.return)&&n.call(i);}finally{if(t)throw t.error}}return r},e.prototype.getProjection=function(t){var e=this.getSrs(t);if(e)return this.geoPackage.spatialReferenceSystemDao.getProjection(e)},e.prototype.getSrs=function(t){return this.geoPackage.spatialReferenceSystemDao.queryForId(t.srs_id)},e.prototype.getContents=function(t){return this.geoPackage.contentsDao.queryForId(t.table_name)},e.TABLE_NAME="gpkg_tile_matrix_set",e.COLUMN_PK="table_name",e.COLUMN_TABLE_NAME="table_name",e.COLUMN_SRS_ID="srs_id",e.COLUMN_MIN_X="min_x",e.COLUMN_MIN_Y="min_y",e.COLUMN_MAX_X="max_x",e.COLUMN_MAX_Y="max_y",e}(a.Dao);e.TileMatrixSetDao=u;},731:function(t,e,n){"use strict";var r=this&&this.__awaiter||function(t,e,n,r){return new(n||(n=Promise))((function(i,o){function a(t){try{u(r.next(t));}catch(t){o(t);}}function s(t){try{u(r.throw(t));}catch(t){o(t);}}function u(t){var e;t.done?i(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e);}))).then(a,s);}u((r=r.apply(t,e||[])).next());}))},i=this&&this.__generator||function(t,e){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(s){return function(u){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;o&&(o=0,s[0]&&(a=0)),a;)try{if(n=1,r&&(i=2&s[0]?r.return:s[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,s[1])).done)return i;switch(r=0,i&&(s=[2&s[0],i.value]),s[0]){case 0:case 1:i=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,r=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!((i=(i=a.trys).length>0&&i[i.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!i||s[1]>i[0]&&s[1]=t.length&&(t=void 0),{value:t&&t[r++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.GeoPackageTileRetriever=void 0;var a=n(3684),s=n(7977),u=n(2777),l=n(5604),c=n(1375),h=function(){function t(t,e,n){this.tileDao=t,this.tileDao.adjustTileMatrixLengths(),this.width=e,this.height=n,this.scaling=null;}return t.prototype.setScaling=function(t){this.scaling=t;},t.prototype.getWebMercatorBoundingBox=function(){return null==this.setWebMercatorBoundingBox&&(this.setWebMercatorBoundingBox=this.tileDao.tileMatrixSet.boundingBox.projectBoundingBox(this.tileDao.projection,c.ProjectionConstants.EPSG_3857)),this.setWebMercatorBoundingBox},t.prototype.hasTile=function(t,e,n){var r=!1;if(t>=0&&e>=0&&n>=0){var i=a.TileBoundingBoxUtils.getWebMercatorBoundingBoxFromXYZ(t,e,n);r=this.hasTileForBoundingBox(i,c.ProjectionConstants.EPSG_3857);}return r},t.prototype.hasTileForBoundingBox=function(t,e){for(var n=t.projectBoundingBox(e,this.tileDao.projection),r=this.getTileMatrices(n),i=!1,o=0;!i&&o0;}return i},t.prototype.getTile=function(t,e,n){return r(this,void 0,void 0,(function(){var r;return i(this,(function(i){return r=a.TileBoundingBoxUtils.getWebMercatorBoundingBoxFromXYZ(t,e,n),[2,this.getTileWithBounds(r,c.ProjectionConstants.EPSG_3857)]}))}))},t.prototype.getWebMercatorTile=function(t,e,n){return r(this,void 0,void 0,(function(){var r;return i(this,(function(i){return r=a.TileBoundingBoxUtils.getWebMercatorBoundingBoxFromXYZ(t,e,n),[2,this.getTileWithBounds(r,c.ProjectionConstants.EPSG_3857)]}))}))},t.prototype.drawTileIn=function(t,e,n,o){return r(this,void 0,void 0,(function(){var r;return i(this,(function(i){return r=a.TileBoundingBoxUtils.getWebMercatorBoundingBoxFromXYZ(t,e,n),[2,this.getTileWithBounds(r,c.ProjectionConstants.EPSG_3857,o)]}))}))},t.prototype.getTileWithWgs84Bounds=function(t,e){return r(this,void 0,void 0,(function(){var n;return i(this,(function(r){return n=t.projectBoundingBox(c.ProjectionConstants.EPSG_4326,c.ProjectionConstants.EPSG_3857),[2,this.getTileWithBounds(n,c.ProjectionConstants.EPSG_3857,e)]}))}))},t.prototype.getTileWithWgs84BoundsInProjection=function(t,e,n,o){return r(this,void 0,void 0,(function(){var e;return i(this,(function(r){return e=t.projectBoundingBox(c.ProjectionConstants.EPSG_4326,n),[2,this.getTileWithBounds(e,n,o)]}))}))},t.prototype.getTileWithBounds=function(t,e,n){return r(this,void 0,void 0,(function(){var r,u,c,h,f,p,d,y,m,g,_,b,v,T,E,w,x,C,M,S,N;return i(this,(function(i){switch(i.label){case 0:if(null==(r=l.Projection.hasProjection(e)))throw new Error("Projection "+e+" is not loaded.");u=t.projectBoundingBox(e,this.tileDao.projection),c=this.getTileMatrices(u),h=!1,f=null,p=0,i.label=1;case 1:return !h&&p=p;h--)f.push(h);}if(0==l.length)s=f;else if(0==f.length)s=l;else {var d=this.scaling.scaling_type;switch(d){case u.TileScalingType.IN:case u.TileScalingType.IN_OUT:s=l.concat(f);break;case u.TileScalingType.OUT:case u.TileScalingType.OUT_IN:s=f.concat(l);break;case u.TileScalingType.CLOSEST_IN_OUT:case u.TileScalingType.CLOSEST_OUT_IN:var y=void 0,m=void 0;d==u.TileScalingType.CLOSEST_IN_OUT?(y=l,m=f):(y=f,m=l),s=[];for(var g=Math.max(y.length,m.length),_=0;_{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TileBoundingBoxUtils=void 0;var r=n(1375),i=n(7218),o=n(2527),a=function(){function t(){}return t.webMercatorTileBox=function(e,n){var i=t.tilesPerSideWithZoom(n),a=t.tileSizeWithTilesPerSide(i),s=Math.max(-r.ProjectionConstants.WEB_MERCATOR_HALF_WORLD_WIDTH,e.minLongitude),u=Math.min(r.ProjectionConstants.WEB_MERCATOR_HALF_WORLD_WIDTH,e.maxLongitude),l=Math.max(-r.ProjectionConstants.WEB_MERCATOR_HALF_WORLD_WIDTH,e.minLatitude),c=Math.min(r.ProjectionConstants.WEB_MERCATOR_HALF_WORLD_WIDTH,e.maxLatitude),h=Math.floor((s+r.ProjectionConstants.WEB_MERCATOR_HALF_WORLD_WIDTH)/a),f=Math.max(0,Math.ceil((u+r.ProjectionConstants.WEB_MERCATOR_HALF_WORLD_WIDTH)/a)-1),p=Math.floor((r.ProjectionConstants.WEB_MERCATOR_HALF_WORLD_WIDTH-c)/a),d=Math.max(0,Math.ceil((r.ProjectionConstants.WEB_MERCATOR_HALF_WORLD_WIDTH-l)/a)-1);return new o.BoundingBox(h,f,p,d)},t.wgs84TileBox=function(e,n){var i=t.tilesPerWGS84LatSide(n),a=t.tilesPerWGS84LonSide(n),s=t.tileSizeLatPerWGS84Side(i),u=t.tileSizeLonPerWGS84Side(a),l=Math.max(-r.ProjectionConstants.WGS84_HALF_WORLD_LON_WIDTH,e.minLongitude),c=Math.min(r.ProjectionConstants.WGS84_HALF_WORLD_LON_WIDTH,e.maxLongitude),h=Math.max(-r.ProjectionConstants.WGS84_HALF_WORLD_LAT_HEIGHT,e.minLatitude),f=Math.min(r.ProjectionConstants.WGS84_HALF_WORLD_LAT_HEIGHT,e.maxLatitude),p=Math.floor((l+r.ProjectionConstants.WGS84_HALF_WORLD_LON_WIDTH)/u),d=Math.max(0,Math.ceil((c+r.ProjectionConstants.WGS84_HALF_WORLD_LON_WIDTH)/u)-1),y=Math.floor((r.ProjectionConstants.WGS84_HALF_WORLD_LAT_HEIGHT-f)/s),m=Math.max(0,Math.ceil((r.ProjectionConstants.WGS84_HALF_WORLD_LAT_HEIGHT-h)/s)-1);return new o.BoundingBox(p,d,y,m)},t.determinePositionAndScale=function(t,e,n,r,i,o){var a={},s=r.maxLongitude-r.minLongitude,u=(t.minLongitude-r.minLongitude)/s,l=r.maxLatitude-r.minLatitude,c=(r.maxLatitude-t.maxLatitude)/l,h=o/s,f=(t.maxLongitude-t.minLongitude)*h,p=i/l,d=(t.maxLatitude-t.minLatitude)*p;return a.yPositionInFinalTileStart=c*i,a.xPositionInFinalTileStart=u*o,a.dx=a.xPositionInFinalTileStart,a.dy=a.yPositionInFinalTileStart,a.sx=0,a.sy=0,a.dWidth=f,a.dHeight=d,a.sWidth=n,a.sHeight=e,a},t.getWebMercatorBoundingBoxFromXYZ=function(e,n,i,a){for(var s=t.tilesPerSideWithZoom(i),u=t.tileSizeWithTilesPerSide(s);e<0;)e+=s;for(;e>=s;)e-=s;var l=0;if(a&&a.buffer&&a.tileSize){var c=a.buffer;l=u/a.tileSize*c;}var h=-1*r.ProjectionConstants.WEB_MERCATOR_HALF_WORLD_WIDTH+e*u-l,f=-1*r.ProjectionConstants.WEB_MERCATOR_HALF_WORLD_WIDTH+(e+1)*u+l,p=r.ProjectionConstants.WEB_MERCATOR_HALF_WORLD_WIDTH-(n+1)*u-l,d=r.ProjectionConstants.WEB_MERCATOR_HALF_WORLD_WIDTH-n*u+l;return h=Math.max(-1*r.ProjectionConstants.WEB_MERCATOR_HALF_WORLD_WIDTH,h),f=Math.min(r.ProjectionConstants.WEB_MERCATOR_HALF_WORLD_WIDTH,f),p=Math.max(-1*r.ProjectionConstants.WEB_MERCATOR_HALF_WORLD_WIDTH,p),d=Math.min(r.ProjectionConstants.WEB_MERCATOR_HALF_WORLD_WIDTH,d),new o.BoundingBox(h,f,p,d)},t.getWGS84BoundingBoxFromXYZ=function(e,n,i){var a=t.tilesPerWGS84LatSide(i),s=t.tilesPerWGS84LonSide(i),u=t.tileSizeLatPerWGS84Side(a),l=t.tileSizeLonPerWGS84Side(s),c=-1*r.ProjectionConstants.WGS84_HALF_WORLD_LON_WIDTH+e*l,h=-1*r.ProjectionConstants.WGS84_HALF_WORLD_LON_WIDTH+(e+1)*l,f=r.ProjectionConstants.WGS84_HALF_WORLD_LAT_HEIGHT-(n+1)*u,p=r.ProjectionConstants.WGS84_HALF_WORLD_LAT_HEIGHT-n*u;return new o.BoundingBox(c,h,f,p)},t.tileSizeWithTilesPerSide=function(t){return 2*r.ProjectionConstants.WEB_MERCATOR_HALF_WORLD_WIDTH/t},t.intersects=function(e,n){return null!=t.intersection(e,n)},t.intersection=function(t,e){var n=Math.max(t.minLongitude,e.minLongitude),r=Math.max(t.minLatitude,e.minLatitude),i=Math.min(t.maxLongitude,e.maxLongitude),a=Math.min(t.maxLatitude,e.maxLatitude);return n>i||r>a?null:new o.BoundingBox(n,i,r,a)},t.tilesPerSideWithZoom=function(t){return 1<=0&&(a<0&&(a=0),s>=n&&(s=n-1));var u=t.getRowWithTotalBoundingBox(e,r,o.minLatitude),l=t.getRowWithTotalBoundingBox(e,r,o.maxLatitude);return l=0&&(l<0&&(l=0),u>=r&&(u=r-1)),new i.TileGrid(a,s,l,u)},t.getTileColumnWithTotalBoundingBox=function(t,e,n){var r=t.minLongitude,i=t.maxLongitude;return n=i?e:~~((n-r)/((i-r)/e))},t.getRowWithTotalBoundingBox=function(t,e,n){var r=t.minLatitude,i=t.maxLatitude;return n=i?-1:~~((i-n)/((i-r)/e))},t.getTileBoundingBox=function(t,e,n,r){var a=e.matrix_width,s=e.matrix_height,u=new i.TileGrid(n,n,r,r),l=t.minLongitude,c=(t.maxLongitude-l)/a,h=l+c*u.min_x,f=h+c*(u.max_x+1-u.min_x),p=t.minLatitude,d=t.maxLatitude,y=(d-p)/s,m=d-y*u.min_y,g=m-y*(u.max_y+1-u.min_y);return new o.BoundingBox(h,f,g,m)},t.getTileGridBoundingBox=function(t,e,n,r){var i=t.minLongitude,a=t.width/e,s=i+a*r.min_x,u=s+a*(r.max_x+1-r.min_x),l=t.maxLatitude,c=t.height/n,h=l-c*r.min_y,f=h-c*(r.max_y+1-r.min_y);return new o.BoundingBox(s,u,f,h)},t.getXPixel=function(t,e,n){return (n-e.minLongitude)/e.width*t},t.getLongitudeFromPixel=function(t,e,n,r){return r/t*n.width+e.minLongitude},t.getYPixel=function(t,e,n){return (e.maxLatitude-n)/e.height*t},t.getLatitudeFromPixel=function(t,e,n,r){return e.maxLatitude-r/t*n.height},t.tileSize=function(t){return 2*r.ProjectionConstants.WEB_MERCATOR_HALF_WORLD_WIDTH/t},t.zoomLevelOfTileSize=function(t){var e=2*r.ProjectionConstants.WEB_MERCATOR_HALF_WORLD_WIDTH/t;return Math.log(e)/Math.log(2)},t.tileWidthDegrees=function(t){return 360/t},t.prototype.statictileHeightDegrees=function(t){return 180/t},t.tilesPerSide=function(t){return Math.pow(2,t)},t.tileSizeWithZoom=function(t){var e=this.tilesPerSide(t);return this.tileSize(e)},t.toleranceDistance=function(t,e){return this.tileSizeWithZoom(t)/e},t.toleranceDistanceWidthAndHeight=function(t,e,n){return this.toleranceDistance(t,Math.max(e,n))},t.getFloatRoundedRectangle=function(e,n,r,i){var o=Math.round(t.getXPixel(e,r,i.minLongitude)),a=Math.round(t.getXPixel(e,r,i.maxLongitude)),s=Math.round(t.getYPixel(n,r,i.maxLatitude)),u=Math.round(t.getYPixel(n,r,i.minLatitude));return {left:o,right:a,bottom:u,top:s,isValid:o{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TileGrid=void 0;var n=function(){function t(t,e,n,r){this.min_x=t,this.max_x=e,this.min_y=n,this.max_y=r;}return t.prototype.count=function(){return (this.max_x+1-this.min_x)*(this.max_y+1-this.min_y)},t.prototype.equals=function(t){return !!t&&this.min_x===t.min_x&&this.max_x===t.max_x&&this.min_y===t.min_y&&this.max_y===t.max_y},t}();e.TileGrid=n;},8334:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);});Object.defineProperty(e,"__esModule",{value:!0}),e.TileColumn=void 0;var o=n(5865),a=n(7319),s=n(5071),u=function(t){function e(e,n,r,i,o,a,s,u){return t.call(this,e,n,r,i,o,a,s,u)||this}return i(e,t),e.createIdColumn=function(t,n){return void 0===n&&(n=s.UserTableDefaults.DEFAULT_AUTOINCREMENT),new e(t,e.COLUMN_ID,a.GeoPackageDataType.INTEGER,null,!1,null,!0,n)},e.createZoomLevelColumn=function(t){return new e(t,e.COLUMN_ZOOM_LEVEL,a.GeoPackageDataType.INTEGER,null,!0,null,!1,!1)},e.createTileColumnColumn=function(t){return new e(t,e.COLUMN_TILE_COLUMN,a.GeoPackageDataType.INTEGER,null,!0,null,!1,!1)},e.createTileRowColumn=function(t){return new e(t,e.COLUMN_TILE_ROW,a.GeoPackageDataType.INTEGER,null,!0,null,!1,!1)},e.createTileDataColumn=function(t){return new e(t,e.COLUMN_TILE_DATA,a.GeoPackageDataType.BLOB,null,!0,null,!1,!1)},e.createColumn=function(t,n,r,i,o,a,s){return void 0===i&&(i=!1),new e(t,n,r,a,i,o,!1,s)},e.COLUMN_ID="id",e.COLUMN_ZOOM_LEVEL="zoom_level",e.COLUMN_TILE_COLUMN="tile_column",e.COLUMN_TILE_ROW="tile_row",e.COLUMN_TILE_DATA="tile_data",e}(o.UserColumn);e.TileColumn=u;},6295:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);});Object.defineProperty(e,"__esModule",{value:!0}),e.TileColumns=void 0;var o=n(7319),a=function(t){function e(e,n,r){var i=t.call(this,e,n,r)||this;return i.zoomLevelIndex=-1,i.tileColumnIndex=-1,i.tileRowIndex=-1,i.tileDataIndex=-1,i.updateColumns(),i}return i(e,t),e.prototype.copy=function(){var t=new e(this._tableName,this._columns,this._custom);return t.zoomLevelIndex=this.zoomLevelIndex,t.tileColumnIndex=this.tileColumnIndex,t.tileRowIndex=this.tileRowIndex,t.tileDataIndex=this.tileDataIndex,t},e.prototype.updateColumns=function(){t.prototype.updateColumns.call(this);var n=this.getColumnIndex(e.ZOOM_LEVEL,!1);this.isCustom()||this.missingCheck(n,e.ZOOM_LEVEL),null!==n&&(this.typeCheck(o.GeoPackageDataType.INTEGER,this.getColumnForIndex(n)),this.zoomLevelIndex=n);var r=this.getColumnIndex(e.TILE_COLUMN,!1);this.isCustom()||this.missingCheck(r,e.TILE_COLUMN),null!=r&&(this.typeCheck(o.GeoPackageDataType.INTEGER,this.getColumnForIndex(r)),this.tileColumnIndex=r);var i=this.getColumnIndex(e.TILE_ROW,!1);this.isCustom()||this.missingCheck(i,e.TILE_ROW),null!=i&&(this.typeCheck(o.GeoPackageDataType.INTEGER,this.getColumnForIndex(i)),this.tileRowIndex=i);var a=this.getColumnIndex(e.TILE_DATA,!1);this.isCustom()||this.missingCheck(a,e.TILE_DATA),null!=a&&(this.typeCheck(o.GeoPackageDataType.BLOB,this.getColumnForIndex(a)),this.tileDataIndex=a);},e.prototype.getZoomLevelIndex=function(){return this.zoomLevelIndex},e.prototype.setZoomLevelIndex=function(t){this.zoomLevelIndex=t;},e.prototype.hasZoomLevelColumn=function(){return this.zoomLevelIndex>=0},e.prototype.getZoomLevelColumn=function(){var t=null;return this.hasZoomLevelColumn()&&(t=this.getColumnForIndex(this.zoomLevelIndex)),t},e.prototype.getTileColumnIndex=function(){return this.tileColumnIndex},e.prototype.setTileColumnIndex=function(t){this.tileColumnIndex=t;},e.prototype.hasTileColumnColumn=function(){return this.tileColumnIndex>=0},e.prototype.getTileColumnColumn=function(){var t=null;return this.hasTileColumnColumn()&&(t=this.getColumnForIndex(this.tileColumnIndex)),t},e.prototype.getTileRowIndex=function(){return this.tileRowIndex},e.prototype.setTileRowIndex=function(t){this.tileRowIndex=t;},e.prototype.hasTileRowColumn=function(){return this.tileRowIndex>=0},e.prototype.getTileRowColumn=function(){var t=null;return this.hasTileRowColumn()&&(t=this.getColumnForIndex(this.tileRowIndex)),t},e.prototype.getTileDataIndex=function(){return this.tileDataIndex},e.prototype.setTileDataIndex=function(t){this.tileDataIndex=t;},e.prototype.hasTileDataColumn=function(){return this.tileDataIndex>=0},e.prototype.getTileDataColumn=function(){var t=null;return this.hasTileDataColumn()&&(t=this.getColumnForIndex(this.tileDataIndex)),t},e.ID="id",e.ZOOM_LEVEL="zoom_level",e.TILE_COLUMN="tile_column",e.TILE_ROW="tile_row",e.TILE_DATA="tile_data",e}(n(2114).UserColumns);e.TileColumns=a;},1394:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);}),o=this&&this.__values||function(t){var e="function"==typeof Symbol&&Symbol.iterator,n=e&&t[e],r=0;if(n)return n.call(t);if(t&&"number"==typeof t.length)return {next:function(){return t&&r>=t.length&&(t=void 0),{value:t&&t[r++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.TileDao=void 0;var a=n(4668),s=n(3506),u=n(5925),l=n(1332),c=n(8334),h=n(7218),f=n(8572),p=n(3684),d=n(2527),y=n(1584),m=n(5604),g=n(1375),_=function(t){function e(e,n,r,i){var o=t.call(this,e,n)||this;o.tileMatrixSet=r,o.tileMatrices=i,o.zoomLevelToTileMatrix=[],o.widths=[],o.heights=[],0===i.length?(o.minZoom=0,o.maxZoom=0):(o.minZoom=o.tileMatrices[0].zoom_level,o.maxZoom=o.tileMatrices[o.tileMatrices.length-1].zoom_level);for(var a=o.tileMatrices.length-1;a>=0;a--){var s=o.tileMatrices[a];o.zoomLevelToTileMatrix[s.zoom_level]=s;}return o.initialize(),o}return i(e,t),e.prototype.initialize=function(){var t=this.geoPackage.tileMatrixSetDao;this.srs=t.getSrs(this.tileMatrixSet),this.projection=[this.srs.organization.toUpperCase(),this.srs.organization_coordsys_id].join(":"),m.Projection.loadProjection(this.projection,this.srs.definition);for(var e=this.tileMatrices.length-1;e>=0;e--){var n=this.tileMatrices[e],r=n.pixel_x_size*n.tile_width,i=n.pixel_y_size*n.tile_height,o=m.Projection.getConverter(this.projection);o.to_meter&&(r=o.to_meter*n.pixel_x_size*n.tile_width,i=o.to_meter*n.pixel_y_size*n.tile_height),this.widths.push(r),this.heights.push(i);}this.setWebMapZoomLevels();},e.prototype.webZoomToGeoPackageZoom=function(t){var e=p.TileBoundingBoxUtils.getWebMercatorBoundingBoxFromXYZ(0,0,t);return this.determineGeoPackageZoomLevel(e,t)},e.prototype.setWebMapZoomLevels=function(){this.minWebMapZoom=20,this.maxWebMapZoom=0,this.webZoomToGeoPackageZooms={};for(var t=this.tileMatrixSet.max_x-this.tileMatrixSet.min_x,e=this.tileMatrixSet.max_y-this.tileMatrixSet.min_y,n=0;nh&&(this.minWebMapZoom=h),this.maxWebMapZoom~~r.matrix_width&&(r.matrix_width=~~i),o>~~r.matrix_height&&(r.matrix_height=~~o);}},e.prototype.getTileMatrixWithZoomLevel=function(t){return this.zoomLevelToTileMatrix[t]},e.prototype.getZoomLevelForLength=function(t){return y.TileDaoUtils.getZoomLevelForLength(this.widths,this.heights,this.tileMatrices,t)},e.prototype.getZoomLevelForWidthAndHeight=function(t,e){return y.TileDaoUtils.getZoomLevelForWidthAndHeight(this.widths,this.heights,this.tileMatrices,t,e)},e.prototype.getClosestZoomLevelForLength=function(t){return y.TileDaoUtils.getClosestZoomLevelForLength(this.widths,this.heights,this.tileMatrices,t)},e.prototype.getClosestZoomLevelForWidthAndHeight=function(t,e){return y.TileDaoUtils.getClosestZoomLevelForWidthAndHeight(this.widths,this.heights,this.tileMatrices,t,e)},e.prototype.getApproximateZoomLevelForLength=function(t){return y.TileDaoUtils.getApproximateZoomLevelForLength(this.widths,this.heights,this.tileMatrices,t)},e.prototype.getApproximateZoomLevelForWidthAndHeight=function(t,e){return y.TileDaoUtils.getApproximateZoomLevelForWidthAndHeight(this.widths,this.heights,this.tileMatrices,t,e)},e.prototype.getMaxLength=function(){return y.TileDaoUtils.getMaxLengthForTileWidthsAndHeights(this.widths,this.heights)},e.prototype.getMinLength=function(){return y.TileDaoUtils.getMinLengthForTileWidthsAndHeights(this.widths,this.heights)},e.prototype.queryForTile=function(t,e,n){var r,i,a,s=new f.ColumnValues;s.addColumn(c.TileColumn.COLUMN_TILE_COLUMN,t),s.addColumn(c.TileColumn.COLUMN_TILE_ROW,e),s.addColumn(c.TileColumn.COLUMN_ZOOM_LEVEL,n);try{for(var u=o(this.queryForFieldValues(s)),l=u.next();!l.done;l=u.next()){var h=l.value;a=this.getRow(h);}}catch(t){r={error:t};}finally{try{l&&!l.done&&(i=u.return)&&i.call(u);}finally{if(r)throw r.error}}return a},e.prototype.queryForTilesWithZoomLevel=function(t){var e,n=this,r=this.queryForEach(c.TileColumn.COLUMN_ZOOM_LEVEL,t);return (e={})[Symbol.iterator]=function(){return this},e.next=function(){var t=r.next();return t.done?{value:void 0,done:!0}:{value:n.getRow(t.value),done:!1}},e},e.prototype.queryForTilesDescending=function(t){var e,n=this,r=this.queryForEach(c.TileColumn.COLUMN_ZOOM_LEVEL,t,void 0,void 0,c.TileColumn.COLUMN_TILE_COLUMN+" DESC, "+c.TileColumn.COLUMN_TILE_ROW+" DESC");return (e={})[Symbol.iterator]=function(){return this},e.next=function(){var t=r.next();return t.done?{value:void 0,done:!0}:{value:n.getRow(t.value),done:!1}},e},e.prototype.queryForTilesInColumn=function(t,e){var n,r=this,i=new f.ColumnValues;i.addColumn(c.TileColumn.COLUMN_TILE_COLUMN,t),i.addColumn(c.TileColumn.COLUMN_ZOOM_LEVEL,e);var o=this.queryForFieldValues(i);return (n={})[Symbol.iterator]=function(){return this},n.next=function(){var t=o.next();return t.done?{value:void 0,done:!0}:{value:r.getRow(t.value),done:!1}},n},e.prototype.queryForTilesInRow=function(t,e){var n,r=this,i=new f.ColumnValues;i.addColumn(c.TileColumn.COLUMN_TILE_ROW,t),i.addColumn(c.TileColumn.COLUMN_ZOOM_LEVEL,e);var o=this.queryForFieldValues(i);return (n={})[Symbol.iterator]=function(){return this},n.next=function(){var t=o.next();return t.done?{value:void 0,done:!0}:{value:r.getRow(t.value),done:!1}},n},e.prototype.queryByTileGrid=function(t,e){var n,r=this;if(t){var i="";i+=this.buildWhereWithFieldAndValue(c.TileColumn.COLUMN_ZOOM_LEVEL,e),i+=" and ",i+=this.buildWhereWithFieldAndValue(c.TileColumn.COLUMN_TILE_COLUMN,t.min_x,">="),i+=" and ",i+=this.buildWhereWithFieldAndValue(c.TileColumn.COLUMN_TILE_COLUMN,t.max_x,"<="),i+=" and ",i+=this.buildWhereWithFieldAndValue(c.TileColumn.COLUMN_TILE_ROW,t.min_y,">="),i+=" and ",i+=this.buildWhereWithFieldAndValue(c.TileColumn.COLUMN_TILE_ROW,t.max_y,"<=");var o=this.buildWhereArgs([e,t.min_x,t.max_x,t.min_y,t.max_y]),a=this.queryWhereWithArgsDistinct(i,o);return (n={})[Symbol.iterator]=function(){return this},n.next=function(){var t=a.next();return t.done?{value:void 0,done:!0}:{value:r.getRow(t.value),done:!1}},n}},e.prototype.countByTileGrid=function(t,e){if(t){var n="";n+=this.buildWhereWithFieldAndValue(c.TileColumn.COLUMN_ZOOM_LEVEL,e),n+=" and ",n+=this.buildWhereWithFieldAndValue(c.TileColumn.COLUMN_TILE_COLUMN,t.min_x,">="),n+=" and ",n+=this.buildWhereWithFieldAndValue(c.TileColumn.COLUMN_TILE_COLUMN,t.max_x,"<="),n+=" and ",n+=this.buildWhereWithFieldAndValue(c.TileColumn.COLUMN_TILE_ROW,t.min_y,">="),n+=" and ",n+=this.buildWhereWithFieldAndValue(c.TileColumn.COLUMN_TILE_ROW,t.max_y,"<=");var r=this.buildWhereArgs([e,t.min_x,t.max_x,t.min_y,t.max_y]);return this.countWhere(n,r)}},e.prototype.deleteTile=function(t,e,n){var r="";r+=this.buildWhereWithFieldAndValue(c.TileColumn.COLUMN_ZOOM_LEVEL,n),r+=" and ",r+=this.buildWhereWithFieldAndValue(c.TileColumn.COLUMN_TILE_COLUMN,t),r+=" and ",r+=this.buildWhereWithFieldAndValue(c.TileColumn.COLUMN_TILE_ROW,e);var i=this.buildWhereArgs([n,t,e]);return this.deleteWhere(r,i)},e.prototype.dropTable=function(){var t=this.geoPackage.tileMatrixDao,e=a.UserDao.prototype.dropTable.call(this);this.geoPackage.tileMatrixSetDao.delete(this.tileMatrixSet);for(var n=this.tileMatrices.length-1;n>=0;n--){var r=this.tileMatrices[n];t.delete(r);}return this.geoPackage.contentsDao.deleteById(this.gpkgTableName),e},e.prototype.rename=function(e){t.prototype.rename.call(this,e);var n=this.tileMatrixSet.table_name,r={};r[u.TileMatrixSetDao.COLUMN_TABLE_NAME]=e;var i=this.buildWhereWithFieldAndValue(u.TileMatrixSetDao.COLUMN_TABLE_NAME,n),o=this.buildWhereArgs([n]),a=this.geoPackage.contentsDao,l=a.queryForId(n);l.table_name=e,l.identifier=e,a.create(l),this.geoPackage.tileMatrixSetDao.updateWithValues(r,i,o);var c=this.geoPackage.tileMatrixDao,h={};h[s.TileMatrixDao.COLUMN_TABLE_NAME]=e;var f=this.buildWhereWithFieldAndValue(s.TileMatrixDao.COLUMN_TABLE_NAME,n);c.updateWithValues(h,f,o),a.deleteById(n);},e.readTable=function(t,e){return t.getTileDao(e)},e}(a.UserDao);e.TileDao=_;},1584:function(t,e,n){"use strict";var r=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.TileDaoUtils=void 0;var i=r(n(5871)),o=r(n(1159)),a=function(){function t(){}return t.adjustTileMatrixLengths=function(t,e){var n=t.max_x-t.min_x,r=t.max_y-t.min_y;e.forEach((function(t){var e=Math.floor(n/(t.pixel_x_size*t.tile_width)),i=Math.floor(r/(t.pixel_y_size*t.tile_height));e>t.matrix_width&&(t.matrix_width=e),i>t.matrix_height&&(t.matrix_height=i);}));},t.getZoomLevelForLength=function(e,n,r,i){return t._getZoomLevelForLength(e,n,r,i,!0)},t.getZoomLevelForWidthAndHeight=function(e,n,r,i,o){return t._getZoomLevelForWidthAndHeight(e,n,r,i,o,!0)},t.getClosestZoomLevelForLength=function(e,n,r,i){return t._getZoomLevelForLength(e,n,r,i,!1)},t.getClosestZoomLevelForWidthAndHeight=function(e,n,r,i,o){return t._getZoomLevelForWidthAndHeight(e,n,r,i,o,!1)},t._getZoomLevelForLength=function(e,n,r,i,o){return t._getZoomLevelForWidthAndHeight(e,n,r,i,i,o)},t._getZoomLevelForWidthAndHeight=function(e,n,r,a,s,u){var l=null,c=(0,i.default)(e,a);-1===c&&(c=(0,o.default)(e,a)),c<0&&(c=-1*(c+1));var h=(0,i.default)(n,s);if(-1===h&&(h=(0,o.default)(n,s)),h<0&&(h=-1*(h+1)),0==c?u&&a=t.getMaxLength(e)?c=-1:--c:t.closerToZoomIn(e,a,c)&&--c,0==h?u&&s=t.getMaxLength(n)?h=-1:--h:t.closerToZoomIn(n,s,h)&&--h,c>=0||h>=0){var f;f=c<0?h:h<0?c:Math.min(c,h),l=t.getTileMatrixAtLengthIndex(r,f).zoom_level;}return l},t.closerToZoomIn=function(t,e,n){return Math.log(e/t[n-1])/Math.log(2)s){var p=Math.log(r/s)/Math.log(2);l=Math.ceil(p),c=Math.floor(p),h=s*Math.pow(2,l),f=s*Math.pow(2,c),o=n[0].zoom_level,o-=r-f<=h-r?c:l;}else {var d=(0,i.default)(e,r);d<0&&(d=-1*(d+1));var y=Math.log(r/e[d])/Math.log(.5),m=t.getTileMatrixAtLengthIndex(n,d).zoom_level;o=m+=Math.round(y);}return o},t.getMaxLengthForTileWidthsAndHeights=function(e,n){var r=t.getMaxLength(e),i=t.getMaxLength(n);return Math.min(r,i)},t.getMinLengthForTileWidthsAndHeights=function(e,n){var r=t.getMinLength(e),i=t.getMinLength(n);return Math.max(r,i)},t.getMaxLength=function(t){return t[t.length-1]/.51},t.getMinLength=function(t){return .51*t[0]},t}();e.TileDaoUtils=a;},1332:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);});Object.defineProperty(e,"__esModule",{value:!0}),e.TileRow=void 0;var o=function(t){function e(e,n,r){var i=t.call(this,e,n,r)||this;return i.tileTable=e,i}return i(e,t),Object.defineProperty(e.prototype,"zoomLevelColumnIndex",{get:function(){return this.tileTable.getZoomLevelColumnIndex()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"zoomLevelColumn",{get:function(){return this.tileTable.getZoomLevelColumn()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"zoomLevel",{get:function(){return this.getValueWithColumnName(this.zoomLevelColumn.name)},set:function(t){this.setValueWithIndex(this.zoomLevelColumnIndex,t);},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"tileColumnColumnIndex",{get:function(){return this.tileTable.getTileColumnColumnIndex()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"tileColumnColumn",{get:function(){return this.tileTable.getTileColumnColumn()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"tileColumn",{get:function(){return this.getValueWithColumnName(this.tileColumnColumn.name)},set:function(t){this.setValueWithColumnName(this.tileColumnColumn.name,t);},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"rowColumnIndex",{get:function(){return this.tileTable.getTileRowColumnIndex()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"rowColumn",{get:function(){return this.tileTable.getTileRowColumn()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"row",{get:function(){return this.getValueWithColumnName(this.rowColumn.name)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"tileRow",{set:function(t){this.setValueWithColumnName(this.rowColumn.name,t);},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"tileDataColumnIndex",{get:function(){return this.tileTable.getTileDataColumnIndex()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"tileDataColumn",{get:function(){return this.tileTable.getTileDataColumn()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"tileData",{get:function(){return this.getValueWithColumnName(this.tileDataColumn.name)},set:function(t){this.setValueWithColumnName(this.tileDataColumn.name,t);},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"tileDataImage",{get:function(){return null},enumerable:!1,configurable:!0}),e}(n(2224).UserRow);e.TileRow=o;},8704:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);});Object.defineProperty(e,"__esModule",{value:!0}),e.TileTable=void 0;var o=n(8018),a=n(8334),s=n(6295),u=n(1648),l=n(9971),c=function(t){function e(e,n){var r=t.call(this,new s.TileColumns(e,n,!1))||this,i=new u.UniqueConstraint;return i.add(r.getUserColumns().getZoomLevelColumn()),i.add(r.getUserColumns().getTileColumnColumn()),i.add(r.getUserColumns().getTileRowColumn()),r.addConstraint(i),r}return i(e,t),e.prototype.copy=function(){return new e(this.getTableName(),this.columns._columns)},e.prototype.getDataType=function(){return l.ContentsDataType.TILES},e.prototype.getUserColumns=function(){return t.prototype.getUserColumns.call(this)},e.prototype.createUserColumns=function(t){return new s.TileColumns(this.getTableName(),t,!0)},e.prototype.getZoomLevelColumnIndex=function(){return this.getUserColumns().getZoomLevelIndex()},e.prototype.getZoomLevelColumn=function(){return this.getUserColumns().getZoomLevelColumn()},e.prototype.getTileColumnColumnIndex=function(){return this.getUserColumns().getTileColumnIndex()},e.prototype.getTileColumnColumn=function(){return this.getUserColumns().getTileColumnColumn()},e.prototype.getTileRowColumnIndex=function(){return this.getUserColumns().getTileRowIndex()},e.prototype.getTileRowColumn=function(){return this.getUserColumns().getTileRowColumn()},e.prototype.getTileDataColumnIndex=function(){return this.getUserColumns().getTileDataIndex()},e.prototype.getTileDataColumn=function(){return this.getUserColumns().getTileDataColumn()},e.createRequiredColumns=function(t){void 0===t&&(t=0);var e=[];return e.push(a.TileColumn.createIdColumn(t++)),e.push(a.TileColumn.createZoomLevelColumn(t++)),e.push(a.TileColumn.createTileColumnColumn(t++)),e.push(a.TileColumn.createTileRowColumn(t++)),e.push(a.TileColumn.createTileDataColumn(t)),e},e.prototype.validateContents=function(t){var e=t.data_type;if(null==e||e!==l.ContentsDataType.TILES)throw new Error("The Contents of a TileTable must have a data type of tiles")},e.COLUMN_ID=s.TileColumns.ID,e.COLUMN_ZOOM_LEVEL=s.TileColumns.ZOOM_LEVEL,e.COLUMN_TILE_COLUMN=s.TileColumns.TILE_COLUMN,e.COLUMN_TILE_ROW=s.TileColumns.TILE_ROW,e.COLUMN_TILE_DATA=s.TileColumns.TILE_DATA,e}(o.UserTable);e.TileTable=c;},9631:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);});Object.defineProperty(e,"__esModule",{value:!0}),e.TileTableReader=void 0;var o=n(4880),a=n(8704),s=n(8334),u=function(t){function e(e){var n=t.call(this,e.table_name)||this;return n.tileMatrixSet=e,n}return i(e,t),e.prototype.readTileTable=function(t){return this.readTable(t.database)},e.prototype.createTable=function(t,e){return new a.TileTable(t,e)},e.prototype.createColumn=function(t){return new s.TileColumn(t.index,t.name,t.dataType,t.max,t.notNull,t.defaultValue,t.primaryKey,t.autoincrement)},e}(o.UserTableReader);e.TileTableReader=u;},5762:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);});Object.defineProperty(e,"__esModule",{value:!0}),e.UserCustomColumn=void 0;var o=n(5865),a=n(7319),s=n(5071),u=function(t){function e(e,n,r,i,o,a,s,u){var l=t.call(this,e,n,r,i,o,a,s,u)||this;if(null==r)throw new Error("Data type is required to create column: "+n);return l}return i(e,t),e.createColumn=function(t,n,r,i,o,a,s){return void 0===i&&(i=!1),new e(t,n,r,a,i,o,!1,s)},e.createPrimaryKeyColumn=function(t,n,r){return void 0===r&&(r=s.UserTableDefaults.DEFAULT_AUTOINCREMENT),new e(t,n,a.GeoPackageDataType.INTEGER,void 0,void 0,void 0,!0,r)},e}(o.UserColumn);e.UserCustomColumn=u;},496:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);});Object.defineProperty(e,"__esModule",{value:!0}),e.UserCustomColumns=void 0;var o=function(t){function e(e,n,r,i){var o=t.call(this,e,n,i)||this;return o.requiredColumns=null==r?[]:r.slice(),o.updateColumns(),o}return i(e,t),e.prototype.copy=function(){return new e(this.getTableName(),this.getColumns(),this.getRequiredColumns(),this.isCustom())},e.prototype.getRequiredColumns=function(){return this.requiredColumns},e.prototype.setRequiredColumns=function(t){void 0===t&&(t=[]),this.requiredColumns=t.slice();},e.prototype.updateColumns=function(){var e=this;if(t.prototype.updateColumns.call(this),!this.isCustom()&&null!==this.requiredColumns&&0!==this.requiredColumns.length){var n=new Set(this.requiredColumns),r={};this.getColumns().forEach((function(t){var i=t.getName(),o=t.getIndex();if(n.has(i)){var a=r[i];e.duplicateCheck(o,a,i),r[i]=o;}})),n.forEach((function(t){e.missingCheck(r[t],t);}));}},e}(n(2114).UserColumns);e.UserCustomColumns=o;},1447:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);});Object.defineProperty(e,"__esModule",{value:!0}),e.UserCustomDao=void 0;var o=n(4668),a=n(362),s=function(t){function e(e,n){return t.call(this,e,n)||this}return i(e,t),e.prototype.createObject=function(t){return this.getRow(t)},e.readTable=function(t,n){return new e(t,new a.UserCustomTableReader(n).readTable(t.database))},e}(o.UserDao);e.UserCustomDao=s;},2378:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);});Object.defineProperty(e,"__esModule",{value:!0}),e.UserCustomTable=void 0;var o=n(8018),a=n(496),s=function(t){function e(e,n,r){return void 0===r&&(r=[]),t.call(this,new a.UserCustomColumns(e,n,r,!0))||this}return i(e,t),e.prototype.copy=function(){return new e(this.getTableName(),this.getUserColumns().getColumns(),this.getUserColumns().getRequiredColumns())},e.prototype.getDataType=function(){return null},e.prototype.getUserColumns=function(){return t.prototype.getUserColumns.call(this)},e.prototype.getRequiredColumns=function(){return this.getUserColumns().getRequiredColumns()},e}(o.UserTable);e.UserCustomTable=s;},362:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);});Object.defineProperty(e,"__esModule",{value:!0}),e.UserCustomTableReader=void 0;var o=n(2378),a=n(4880),s=n(5762),u=function(t){function e(e){return t.call(this,e)||this}return i(e,t),e.prototype.readUserCustomTable=function(t){return this.readTable(t.database)},e.prototype.createTable=function(t,e){return new o.UserCustomTable(t,e,null)},e.prototype.createColumn=function(t){return new s.UserCustomColumn(t.index,t.name,t.dataType,t.max,t.notNull,t.defaultValue,t.primaryKey,t.autoincrement)},e}(a.UserTableReader);e.UserCustomTableReader=u;},5865:function(t,e,n){"use strict";var r=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.UserColumn=void 0;var i=r(n(8446)),o=n(7319),a=n(2841),s=n(1133),u=n(91),l=n(5071),c=n(7686),h=function(){function t(t,e,n,r,i,o,a,s,u){this.index=t,this.name=e,this.dataType=n,this.max=r,this.notNull=i,this.defaultValue=o,this.primaryKey=a,this.autoincrement=s,this.unique=u,this.constraints=new c.Constraints,this.validateMax(),this.type=this.getTypeName(e,n),this.addDefaultConstraints();}return t.validateDataType=function(t,e){if(null==e)throw new Error("Data Type is required to create column: "+t)},t.prototype.copy=function(){var e=new t(this.index,this.name,this.dataType,this.max,this.notNull,this.defaultValue,this.primaryKey,this.unique);return e.min=this.min,e.constraints=this.constraints.copy(),e},t.prototype.clearConstraints=function(){return this.constraints.clear()},t.prototype.getConstraints=function(){return this.constraints},t.prototype.setIndex=function(t){if(this.hasIndex()){if(!(0,i.default)(t,this.index))throw new Error("User Column with a valid index may not be changed. Column Name: "+this.name+", Index: "+this.index+", Attempted Index: "+this.index)}else this.index=t;},t.prototype.hasIndex=function(){return this.index>t.NO_INDEX},t.prototype.resetIndex=function(){this.index=t.NO_INDEX;},t.prototype.getIndex=function(){return this.index},t.prototype.setName=function(t){this.name=t;},t.prototype.getName=function(){return this.name},t.prototype.isNamed=function(t){return this.name===t},t.prototype.hasMax=function(){return null!=this.max},t.prototype.setMax=function(t){this.max=t;},t.prototype.getMax=function(){return this.max},t.prototype.setNotNull=function(t){this.notNull!==t&&(t?this.addNotNullConstraint():this.removeConstraintByType(u.ConstraintType.NOT_NULL)),this.notNull=t;},t.prototype.isNotNull=function(){return this.notNull},t.prototype.hasDefaultValue=function(){return null!==this.defaultValue&&void 0!==this.defaultValue},t.prototype.setDefaultValue=function(t){this.removeConstraintByType(u.ConstraintType.DEFAULT),null!=t&&this.addDefaultValueConstraint(t),this.defaultValue=t;},t.prototype.getDefaultValue=function(){return this.defaultValue},t.prototype.setPrimaryKey=function(t){this.primaryKey!==t&&(t?this.addPrimaryKeyConstraint():(this.autoincrement=!1,this.removeConstraintByType(u.ConstraintType.AUTOINCREMENT),this.removeConstraintByType(u.ConstraintType.PRIMARY_KEY))),this.primaryKey=t;},t.prototype.isPrimaryKey=function(){return this.primaryKey},t.prototype.setAutoincrement=function(t){this.autoincrement!==t&&(t?this.addAutoincrementConstraint():this.removeConstraintByType(u.ConstraintType.AUTOINCREMENT)),this.autoincrement=t;},t.prototype.isAutoincrement=function(){return this.autoincrement},t.prototype.setUnique=function(t){this.unique!==t&&(t?this.addUniqueConstraint():this.removeConstraintByType(u.ConstraintType.UNIQUE)),this.unique=t;},t.prototype.isUnique=function(){return this.unique},t.prototype.setDataType=function(t){this.dataType=t;},t.prototype.getDataType=function(){return this.dataType},t.prototype.getTypeName=function(e,n){return t.validateDataType(e,n),o.GeoPackageDataType.nameFromType(n)},t.prototype.validateMax=function(){if(this.max&&this.dataType!==o.GeoPackageDataType.TEXT&&this.dataType!==o.GeoPackageDataType.BLOB)throw new Error("Column max is only supported for TEXT and BLOB columns. column: "+this.name+", max: "+this.max+", type: "+this.dataType);return !0},t.createPrimaryKeyColumn=function(e,n,r){return void 0===r&&(r=l.UserTableDefaults.DEFAULT_AUTOINCREMENT),new t(e,n,o.GeoPackageDataType.INTEGER,void 0,!0,void 0,!0,r)},t.createColumn=function(e,n,r,i,o,a){return void 0===i&&(i=!1),new t(e,n,r,a,i,o,!1)},t.prototype.addDefaultConstraints=function(){this.isNotNull()&&this.addNotNullConstraint(),this.hasDefaultValue()&&this.addDefaultValueConstraint(this.getDefaultValue()),this.isPrimaryKey()&&(this.addPrimaryKeyConstraint(),this.isAutoincrement()&&this.addAutoincrementConstraint()),this.isUnique()&&this.addUniqueConstraint();},t.prototype.addConstraint=function(t){null!==t.order&&void 0!==t.order||this.setConstraintOrder(t),this.constraints.add(t);},t.prototype.setConstraintOrder=function(e){var n=null;switch(e.getType()){case u.ConstraintType.PRIMARY_KEY:n=t.PRIMARY_KEY_CONSTRAINT_ORDER;break;case u.ConstraintType.UNIQUE:n=t.UNIQUE_CONSTRAINT_ORDER;break;case u.ConstraintType.NOT_NULL:n=t.NOT_NULL_CONSTRAINT_ORDER;break;case u.ConstraintType.DEFAULT:n=t.DEFAULT_VALUE_CONSTRAINT_ORDER;break;case u.ConstraintType.AUTOINCREMENT:n=t.AUTOINCREMENT_CONSTRAINT_ORDER;}e.order=n;},t.prototype.addConstraintSql=function(t){var e=s.ConstraintParser.getType(t),n=s.ConstraintParser.getName(t);this.constraints.add(new a.RawConstraint(e,n,t));},t.prototype.addConstraints=function(t){this.constraints.addConstraints(t);},t.prototype.addColumnConstraints=function(t){this.addConstraints(t.getConstraints());},t.prototype.addNotNullConstraint=function(){this.addConstraint(new a.RawConstraint(u.ConstraintType.NOT_NULL,null,"NOT NULL",t.NOT_NULL_CONSTRAINT_ORDER));},t.prototype.addDefaultValueConstraint=function(e){this.addConstraint(new a.RawConstraint(u.ConstraintType.DEFAULT,null,"DEFAULT "+o.GeoPackageDataType.columnDefaultValue(e,this.getDataType()),t.DEFAULT_VALUE_CONSTRAINT_ORDER));},t.prototype.addPrimaryKeyConstraint=function(){this.addConstraint(new a.RawConstraint(u.ConstraintType.PRIMARY_KEY,null,"PRIMARY KEY",t.PRIMARY_KEY_CONSTRAINT_ORDER));},t.prototype.addAutoincrementConstraint=function(){if(!this.isPrimaryKey())throw new Error("Autoincrement may only be set on a primary key column");this.addConstraint(new a.RawConstraint(u.ConstraintType.AUTOINCREMENT,null,"AUTOINCREMENT",t.AUTOINCREMENT_CONSTRAINT_ORDER));},t.prototype.addUniqueConstraint=function(){this.addConstraint(new a.RawConstraint(u.ConstraintType.UNIQUE,null,"UNIQUE",t.UNIQUE_CONSTRAINT_ORDER));},t.prototype.removeConstraintByType=function(t){this.constraints.clearConstraintsByType(t);},t.prototype.getType=function(){return this.type},t.prototype.hasConstraints=function(){return this.constraints.has()},t.prototype.buildConstraintSql=function(t){var e=null;return !l.UserTableDefaults.DEFAULT_PK_NOT_NULL&&this.isPrimaryKey()&&t.getType()===u.ConstraintType.NOT_NULL||(e=t.buildSql()),e},t.NO_INDEX=-1,t.NOT_NULL_CONSTRAINT_ORDER=1,t.DEFAULT_VALUE_CONSTRAINT_ORDER=2,t.PRIMARY_KEY_CONSTRAINT_ORDER=3,t.AUTOINCREMENT_CONSTRAINT_ORDER=4,t.UNIQUE_CONSTRAINT_ORDER=5,t}();e.UserColumn=h;},2114:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.UserColumns=void 0;var r=n(7319),i=function(){function t(t,e,n){void 0===n&&(n=!1),this._pkIndex=-1,this._tableName=t,this._columns=e,this._custom=n,this._nameToIndex=new Map,this._columnNames=[];}return t.prototype.copy=function(){var e=[];this._columns.forEach((function(t){e.push(t.copy());}));var n=new t(this._tableName,e,this._custom);return n._columnNames=Array.from(this._columnNames),n._nameToIndex=new Map(this._nameToIndex),n._pkIndex=this._pkIndex,n},t.prototype.updateColumns=function(){var t=this;if(this._nameToIndex.clear(),!this._custom){var e=new Set,n=[];this._columns.forEach((function(r){if(r.hasIndex()){var i=r.getIndex();if(e.has(i))throw new Error("Duplicate index: "+i+", Table Name: "+t._tableName);e.add(i);}else n.push(r);}));var r=-1;n.forEach((function(t){for(;e.has(++r););t.setIndex(r);})),this._columns.sort((function(t,e){return t.index-e.index}));}this._pkIndex=-1,this._columnNames=[];for(var i=0;i=0},t.prototype.getPkColumnIndex=function(){return this._pkIndex},t.prototype.getPkColumn=function(){var t=null;return this.hasPkColumn()&&(t=this._columns[this._pkIndex]),t},t.prototype.getPkColumnName=function(){return this.getPkColumn().getName()},t.prototype.columnsOfType=function(t){return this._columns.filter((function(e){return e.getDataType()===t}))},t.prototype.addColumn=function(t){this._columns.push(t),this.updateColumns();},t.prototype.renameColumn=function(t,e){this.renameColumnWithName(t.getName(),e),t.setName(e);},t.prototype.renameColumnWithName=function(t,e){this.renameColumnWithIndex(this.getColumnIndexForColumnName(t),e);},t.prototype.renameColumnWithIndex=function(t,e){this._columns[t].setName(e),this.updateColumns();},t.prototype.dropColumn=function(t){this.dropColumnWithIndex(t.getIndex());},t.prototype.dropColumnWithName=function(t){this.dropColumnWithIndex(this.getColumnIndexForColumnName(t));},t.prototype.dropColumnWithIndex=function(t){this._columns.splice(t,1),this._columns.forEach((function(t){return t.resetIndex()})),this.updateColumns();},t.prototype.alterColumn=function(t){var e=this.getColumn(t.getName()).getIndex();t.setIndex(e),this._columns[e]=t;},t}();e.UserColumns=i;},4668:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e;}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t;}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n);});Object.defineProperty(e,"__esModule",{value:!0}),e.UserDao=void 0;var o=n(4115),a=n(6366),s=n(4599),u=n(2224),l=n(8483),c=n(8314),h=n(5042),f=function(t){function e(e,n){var r=t.call(this,e)||this;return r._table=n,r.table_name=n.getTableName(),r.gpkgTableName=n.getTableName(),n.getPkColumn()?r.idColumns=[n.getPkColumn().getName()]:r.idColumns=[],r.columns=n.getUserColumns().getColumnNames(),r}return i(e,t),e.prototype.createObject=function(t){return t?this.getRow(t):this.newRow()},e.prototype.setValueInObject=function(t,e,n){t.setValueNoValidationWithIndex(e,n);},e.prototype.getRow=function(t){if(t instanceof u.UserRow)return t;if(this.table){for(var e=this.table.getColumnCount(),n={},r=0;r{"use strict";var r=n(3085).lW;Object.defineProperty(e,"__esModule",{value:!0}),e.UserRow=void 0;var i=n(7319),o=function(){function t(t,e,n){if(this.table=t,this.columnTypes=e,this.values=n,!this.columnTypes){var r=this.table.getColumnCount();this.columnTypes={},this.values={};for(var i=0;i{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.UserTable=void 0;var r=n(7686),i=function(){function t(t){this.constraints=new r.Constraints,this.columns=t,this.constraints=new r.Constraints;}return t.prototype.copy=function(){var e=new t(this.columns.copy());return e.constraints.addConstraints(this.constraints),null!==this.contents&&void 0!==this.contents&&(e.contents=this.contents.copy()),e},t.prototype.getTableName=function(){return this.columns.getTableName()},Object.defineProperty(t.prototype,"tableType",{get:function(){return "userTable"},enumerable:!1,configurable:!0}),t.prototype.getUserColumns=function(){return this.columns},t.prototype.getColumnIndex=function(t){return this.columns.getColumnIndexForColumnName(t)},t.prototype.hasColumn=function(t){try{return this.getColumnIndex(t),!0}catch(t){return !1}},t.prototype.getColumnNameWithIndex=function(t){return this.columns.getColumnName(t)},t.prototype.getColumnWithIndex=function(t){return this.columns.getColumnForIndex(t)},t.prototype.getColumnWithColumnName=function(t){return this.getColumnWithIndex(this.getColumnIndex(t))},t.prototype.getColumnCount=function(){return this.columns.columnCount()},t.prototype.getPkColumn=function(){return this.columns.getPkColumn()},t.prototype.getPkColumnName=function(){return this.columns.getPkColumnName()},t.prototype.getIdColumnIndex=function(){return this.columns.getPkColumnIndex()},t.prototype.getIdColumn=function(){return this.getPkColumn()},t.prototype.addConstraint=function(t){this.constraints.add(t);},t.prototype.addConstraints=function(t){this.constraints.addConstraints(t);},t.prototype.hasConstraints=function(){return this.constraints.has()},t.prototype.getConstraints=function(){return this.constraints},t.prototype.getConstraintsByType=function(t){return this.constraints.getConstraintsForType(t)},t.prototype.clearConstraints=function(){return this.constraints.clear()},t.prototype.columnsOfType=function(t){return this.columns.columnsOfType(t)},t.prototype.getContents=function(){return this.contents},t.prototype.setContents=function(t){this.contents=t,null!=t&&this.validateContents(t);},t.prototype.validateContents=function(t){},t.prototype.addColumn=function(t){this.columns.addColumn(t);},t.prototype.renameColumn=function(t,e){this.columns.renameColumn(t,e);},t.prototype.renameColumnWithName=function(t,e){this.columns.renameColumnWithName(t,e);},t.prototype.renameColumnAtIndex=function(t,e){this.columns.renameColumnWithIndex(t,e);},t.prototype.dropColumn=function(t){this.columns.dropColumn(t);},t.prototype.dropColumnWithName=function(t){this.columns.dropColumnWithName(t);},t.prototype.dropColumnWithIndex=function(t){this.columns.dropColumnWithIndex(t);},t.prototype.alterColumn=function(t){this.columns.alterColumn(t);},t}();e.UserTable=i;},5071:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.UserTableDefaults=void 0;var n=function(){function t(){}return t.DEFAULT_AUTOINCREMENT=!0,t.DEFAULT_PK_NOT_NULL=!0,t}();e.UserTableDefaults=n;},4880:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.UserTableReader=void 0;var r=n(5865),i=n(5045),o=n(7043),a=function(){function t(t){this.table_name=t;}return t.prototype.readTable=function(t){var e=this,n=[],r=i.TableInfo.info(t,this.table_name);if(null==r)throw new Error("Table does not exist: "+this.table_name);var a=o.SQLiteMaster.queryForConstraints(t,this.table_name);r.getColumns().forEach((function(t){if(null===t.getDataType()||void 0===t.getDataType())throw new Error("Unsupported column data type "+t.getType());var r=e.createColumn(t),i=a.getColumnConstraints(r.getName());null!=i&&i.hasConstraints()&&(r.clearConstraints(),r.addConstraints(i.constraints)),n.push(r);}));var s=this.createTable(this.table_name,n);return s.addConstraints(a.getTableConstraints()),s},t.prototype.createColumn=function(t){return new r.UserColumn(t.index,t.name,t.dataType,t.max,t.notNull,t.defaultValue,t.primaryKey,t.autoincrement)},t}();e.UserTableReader=a;},4275:function(t,e,n){"use strict";var r=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.GeoPackageValidate=e.GeoPackageValidationError=void 0;var i=r(n(3935)),o=n(1506),a=function(t,e){this.error=t,this.fatal=e;};e.GeoPackageValidationError=a;var s=function(){function t(){}return t.hasGeoPackageExtension=function(t){var e=i.default.extname(t);return e&&""!==e&&(e.toLowerCase()==="."+o.GeoPackageConstants.GEOPACKAGE_EXTENSION.toLowerCase()||e.toLowerCase()==="."+o.GeoPackageConstants.GEOPACKAGE_EXTENDED_EXTENSION.toLowerCase())},t.validateGeoPackageExtension=function(e){if(!t.hasGeoPackageExtension(e))return new a("GeoPackage database file '"+e+"' does not have a valid extension of '"+o.GeoPackageConstants.GEOPACKAGE_EXTENSION+"' or '"+o.GeoPackageConstants.GEOPACKAGE_EXTENDED_EXTENSION+"'",!0)},t.validateMinimumTables=function(t){var e=[],n=t.spatialReferenceSystemDao.isTableExists(),r=t.contentsDao.isTableExists();return n||e.push(new a("gpkg_spatial_ref_sys table does not exist",!0)),r||e.push(new a("gpkg_contents table does not exist",!0)),e},t.hasMinimumTables=function(t){return 0==this.validateMinimumTables(t).length},t}();e.GeoPackageValidate=s;},2038:(t,e)=>{"use strict";var n;Object.defineProperty(e,"__esModule",{value:!0}),e.WKB=void 0;var r=function(){function t(){}return t.fromName=function(e){return "GEOMETRY"===(e=e.toUpperCase())?t.typeMap.wkb.GeometryCollection:t.wktToEnum[e]},t.typeMap={wkt:{Point:"POINT",LineString:"LINESTRING",Polygon:"POLYGON",MultiPoint:"MULTIPOINT",MultiLineString:"MULTILINESTRING",MultiPolygon:"MULTIPOLYGON",GeometryCollection:"GEOMETRYCOLLECTION"},wkb:{Point:1,LineString:2,Polygon:3,MultiPoint:4,MultiLineString:5,MultiPolygon:6,GeometryCollection:7}},t.wktToEnum=((n={})[t.typeMap.wkt.Point]=t.typeMap.wkb.Point,n[t.typeMap.wkt.LineString]=t.typeMap.wkb.LineString,n[t.typeMap.wkt.Polygon]=t.typeMap.wkb.Polygon,n[t.typeMap.wkt.MultiPoint]=t.typeMap.wkb.MultiPoint,n[t.typeMap.wkt.MultiLineString]=t.typeMap.wkb.MultiLineString,n[t.typeMap.wkt.MultiPolygon]=t.typeMap.wkb.MultiPolygon,n[t.typeMap.wkt.GeometryCollection]=t.typeMap.wkb.GeometryCollection,n),t}();e.WKB=r;},2511:function(t,e,n){var r;t=n.nmd(t),function(i){e&&e.nodeType,t&&t.nodeType;var o="object"==typeof n.g&&n.g;o.global!==o&&o.window!==o&&o.self;var a,s=2147483647,u=36,l=1,c=26,h=38,f=700,p=72,d=128,y="-",m=/^xn--/,g=/[^\x20-\x7E]/,_=/[\x2E\u3002\uFF0E\uFF61]/g,b={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},v=u-l,T=Math.floor,E=String.fromCharCode;function w(t){throw RangeError(b[t])}function x(t,e){for(var n=t.length,r=[];n--;)r[n]=e(t[n]);return r}function C(t,e){var n=t.split("@"),r="";return n.length>1&&(r=n[0]+"@",t=n[1]),r+x((t=t.replace(_,".")).split("."),e).join(".")}function M(t){for(var e,n,r=[],i=0,o=t.length;i=55296&&e<=56319&&i65535&&(e+=E((t-=65536)>>>10&1023|55296),t=56320|1023&t),e+E(t)})).join("")}function N(t,e){return t+22+75*(t<26)-((0!=e)<<5)}function O(t,e,n){var r=0;for(t=n?T(t/f):t>>1,t+=T(t/e);t>v*c>>1;r+=u)t=T(t/v);return T(r+(v+1)*t/(t+h))}function A(t){var e,n,r,i,o,a,h,f,m,g,_,b=[],v=t.length,E=0,x=d,C=p;for((n=t.lastIndexOf(y))<0&&(n=0),r=0;r=128&&w("not-basic"),b.push(t.charCodeAt(r));for(i=n>0?n+1:0;i=v&&w("invalid-input"),((f=(_=t.charCodeAt(i++))-48<10?_-22:_-65<26?_-65:_-97<26?_-97:u)>=u||f>T((s-E)/a))&&w("overflow"),E+=f*a,!(f<(m=h<=C?l:h>=C+c?c:h-C));h+=u)a>T(s/(g=u-m))&&w("overflow"),a*=g;C=O(E-o,e=b.length+1,0==o),T(E/e)>s-x&&w("overflow"),x+=T(E/e),E%=e,b.splice(E++,0,x);}return S(b)}function I(t){var e,n,r,i,o,a,h,f,m,g,_,b,v,x,C,S=[];for(b=(t=M(t)).length,e=d,n=0,o=p,a=0;a=e&&_T((s-n)/(v=r+1))&&w("overflow"),n+=(h-e)*v,e=h,a=0;as&&w("overflow"),_==e){for(f=n,m=u;!(f<(g=m<=o?l:m>=o+c?c:m-o));m+=u)C=f-g,x=u-g,S.push(E(N(g+C%x,0))),f=T(C/x);S.push(E(N(f,0))),o=O(n,v,r==i),n=0,++r;}++n,++e;}return S.join("")}a={version:"1.3.2",ucs2:{decode:M,encode:S},decode:A,encode:I,toASCII:function(t){return C(t,(function(t){return g.test(t)?"xn--"+I(t):t}))},toUnicode:function(t){return C(t,(function(t){return m.test(t)?A(t.slice(4).toLowerCase()):t}))}},void 0===(r=function(){return a}.call(e,n,e,t))||(t.exports=r);}();},8575:(t,e,n)=>{"use strict";var r=n(2511),i=n(2502);function o(){this.protocol=null,this.slashes=null,this.auth=null,this.host=null,this.port=null,this.hostname=null,this.hash=null,this.search=null,this.query=null,this.pathname=null,this.path=null,this.href=null;}e.parse=b,e.resolve=function(t,e){return b(t,!1,!0).resolve(e)},e.resolveObject=function(t,e){return t?b(t,!1,!0).resolveObject(e):e},e.format=function(t){return i.isString(t)&&(t=b(t)),t instanceof o?t.format():o.prototype.format.call(t)},e.Url=o;var a=/^([a-z0-9.+-]+:)/i,s=/:[0-9]*$/,u=/^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/,l=["{","}","|","\\","^","`"].concat(["<",">",'"',"`"," ","\r","\n","\t"]),c=["'"].concat(l),h=["%","/","?",";","#"].concat(c),f=["/","?","#"],p=/^[+a-z0-9A-Z_-]{0,63}$/,d=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,y={javascript:!0,"javascript:":!0},m={javascript:!0,"javascript:":!0},g={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},_=n(7673);function b(t,e,n){if(t&&i.isObject(t)&&t instanceof o)return t;var r=new o;return r.parse(t,e,n),r}o.prototype.parse=function(t,e,n){if(!i.isString(t))throw new TypeError("Parameter 'url' must be a string, not "+typeof t);var o=t.indexOf("?"),s=-1!==o&&o127?R+="x":R+=P[L];if(!R.match(p)){var k=A.slice(0,S),F=A.slice(S+1),U=P.match(d);U&&(k.push(U[1]),F.unshift(U[2])),F.length&&(b="/"+F.join(".")+b),this.hostname=k.join(".");break}}}this.hostname.length>255?this.hostname="":this.hostname=this.hostname.toLowerCase(),O||(this.hostname=r.toASCII(this.hostname));var B=this.port?":"+this.port:"",j=this.hostname||"";this.host=j+B,this.href+=this.host,O&&(this.hostname=this.hostname.substr(1,this.hostname.length-2),"/"!==b[0]&&(b="/"+b));}if(!y[E])for(S=0,I=c.length;S0)&&n.host.split("@"))&&(n.auth=O.shift(),n.host=n.hostname=O.shift())),n.search=t.search,n.query=t.query,i.isNull(n.pathname)&&i.isNull(n.search)||(n.path=(n.pathname?n.pathname:"")+(n.search?n.search:"")),n.href=n.format(),n;if(!w.length)return n.pathname=null,n.search?n.path="/"+n.search:n.path=null,n.href=n.format(),n;for(var C=w.slice(-1)[0],M=(n.host||t.host||w.length>1)&&("."===C||".."===C)||""===C,S=0,N=w.length;N>=0;N--)"."===(C=w[N])?w.splice(N,1):".."===C?(w.splice(N,1),S++):S&&(w.splice(N,1),S--);if(!T&&!E)for(;S--;S)w.unshift("..");!T||""===w[0]||w[0]&&"/"===w[0].charAt(0)||w.unshift(""),M&&"/"!==w.join("/").substr(-1)&&w.push("");var O,A=""===w[0]||w[0]&&"/"===w[0].charAt(0);return x&&(n.hostname=n.host=A?"":w.length?w.shift():"",(O=!!(n.host&&n.host.indexOf("@")>0)&&n.host.split("@"))&&(n.auth=O.shift(),n.host=n.hostname=O.shift())),(T=T||n.host&&w.length)&&!A&&w.unshift(""),w.length?n.pathname=w.join("/"):(n.pathname=null,n.path=null),i.isNull(n.pathname)&&i.isNull(n.search)||(n.path=(n.pathname?n.pathname:"")+(n.search?n.search:"")),n.auth=t.auth||n.auth,n.slashes=n.slashes||t.slashes,n.href=n.format(),n},o.prototype.parseHost=function(){var t=this.host,e=s.exec(t);e&&(":"!==(e=e[0])&&(this.port=e.substr(1)),t=t.substr(0,t.length-e.length)),t&&(this.hostname=t);};},2502:t=>{"use strict";t.exports={isString:function(t){return "string"==typeof t},isObject:function(t){return "object"==typeof t&&null!==t},isNull:function(t){return null===t},isNullOrUndefined:function(t){return null==t}};},4927:(t,e,n)=>{var r=n(5108);function i(t){try{if(!n.g.localStorage)return !1}catch(t){return !1}var e=n.g.localStorage[t];return null!=e&&"true"===String(e).toLowerCase()}t.exports=function(t,e){if(i("noDeprecation"))return t;var n=!1;return function(){if(!n){if(i("throwDeprecation"))throw new Error(e);i("traceDeprecation")?r.trace(e):r.warn(e),n=!0;}return t.apply(this,arguments)}};},1496:t=>{"function"==typeof Object.create?t.exports=function(t,e){t.super_=e,t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}});}:t.exports=function(t,e){t.super_=e;var n=function(){};n.prototype=e.prototype,t.prototype=new n,t.prototype.constructor=t;};},384:t=>{t.exports=function(t){return t&&"object"==typeof t&&"function"==typeof t.copy&&"function"==typeof t.fill&&"function"==typeof t.readUInt8};},9539:(t,e,n)=>{var r=n(4155),i=n(5108),o=/%[sdj%]/g;e.format=function(t){if(!_(t)){for(var e=[],n=0;n=i)return t;switch(t){case "%s":return String(r[n++]);case "%d":return Number(r[n++]);case "%j":try{return JSON.stringify(r[n++])}catch(t){return "[Circular]"}default:return t}})),s=r[n];n=3&&(r.depth=arguments[2]),arguments.length>=4&&(r.colors=arguments[3]),y(n)?r.showHidden=n:n&&e._extend(r,n),b(r.showHidden)&&(r.showHidden=!1),b(r.depth)&&(r.depth=2),b(r.colors)&&(r.colors=!1),b(r.customInspect)&&(r.customInspect=!0),r.colors&&(r.stylize=l),h(r,t,r.depth)}function l(t,e){var n=u.styles[e];return n?"["+u.colors[n][0]+"m"+t+"["+u.colors[n][1]+"m":t}function c(t,e){return t}function h(t,n,r){if(t.customInspect&&n&&x(n.inspect)&&n.inspect!==e.inspect&&(!n.constructor||n.constructor.prototype!==n)){var i=n.inspect(r,t);return _(i)||(i=h(t,i,r)),i}var o=function(t,e){if(b(e))return t.stylize("undefined","undefined");if(_(e)){var n="'"+JSON.stringify(e).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return t.stylize(n,"string")}return g(e)?t.stylize(""+e,"number"):y(e)?t.stylize(""+e,"boolean"):m(e)?t.stylize("null","null"):void 0}(t,n);if(o)return o;var a=Object.keys(n),s=function(t){var e={};return t.forEach((function(t,n){e[t]=!0;})),e}(a);if(t.showHidden&&(a=Object.getOwnPropertyNames(n)),w(n)&&(a.indexOf("message")>=0||a.indexOf("description")>=0))return f(n);if(0===a.length){if(x(n)){var u=n.name?": "+n.name:"";return t.stylize("[Function"+u+"]","special")}if(v(n))return t.stylize(RegExp.prototype.toString.call(n),"regexp");if(E(n))return t.stylize(Date.prototype.toString.call(n),"date");if(w(n))return f(n)}var l,c="",T=!1,C=["{","}"];return d(n)&&(T=!0,C=["[","]"]),x(n)&&(c=" [Function"+(n.name?": "+n.name:"")+"]"),v(n)&&(c=" "+RegExp.prototype.toString.call(n)),E(n)&&(c=" "+Date.prototype.toUTCString.call(n)),w(n)&&(c=" "+f(n)),0!==a.length||T&&0!=n.length?r<0?v(n)?t.stylize(RegExp.prototype.toString.call(n),"regexp"):t.stylize("[Object]","special"):(t.seen.push(n),l=T?function(t,e,n,r,i){for(var o=[],a=0,s=e.length;a60?n[0]+(""===e?"":e+"\n ")+" "+t.join(",\n ")+" "+n[1]:n[0]+e+" "+t.join(", ")+" "+n[1]}(l,c,C)):C[0]+c+C[1]}function f(t){return "["+Error.prototype.toString.call(t)+"]"}function p(t,e,n,r,i,o){var a,s,u;if((u=Object.getOwnPropertyDescriptor(e,i)||{value:e[i]}).get?s=u.set?t.stylize("[Getter/Setter]","special"):t.stylize("[Getter]","special"):u.set&&(s=t.stylize("[Setter]","special")),N(r,i)||(a="["+i+"]"),s||(t.seen.indexOf(u.value)<0?(s=m(n)?h(t,u.value,null):h(t,u.value,n-1)).indexOf("\n")>-1&&(s=o?s.split("\n").map((function(t){return " "+t})).join("\n").substr(2):"\n"+s.split("\n").map((function(t){return " "+t})).join("\n")):s=t.stylize("[Circular]","special")),b(a)){if(o&&i.match(/^\d+$/))return s;(a=JSON.stringify(""+i)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(a=a.substr(1,a.length-2),a=t.stylize(a,"name")):(a=a.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),a=t.stylize(a,"string"));}return a+": "+s}function d(t){return Array.isArray(t)}function y(t){return "boolean"==typeof t}function m(t){return null===t}function g(t){return "number"==typeof t}function _(t){return "string"==typeof t}function b(t){return void 0===t}function v(t){return T(t)&&"[object RegExp]"===C(t)}function T(t){return "object"==typeof t&&null!==t}function E(t){return T(t)&&"[object Date]"===C(t)}function w(t){return T(t)&&("[object Error]"===C(t)||t instanceof Error)}function x(t){return "function"==typeof t}function C(t){return Object.prototype.toString.call(t)}function M(t){return t<10?"0"+t.toString(10):t.toString(10)}e.debuglog=function(t){if(b(a)&&(a=r.env.NODE_DEBUG||""),t=t.toUpperCase(),!s[t])if(new RegExp("\\b"+t+"\\b","i").test(a)){var n=r.pid;s[t]=function(){var r=e.format.apply(e,arguments);i.error("%s %d: %s",t,n,r);};}else s[t]=function(){};return s[t]},e.inspect=u,u.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},u.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},e.isArray=d,e.isBoolean=y,e.isNull=m,e.isNullOrUndefined=function(t){return null==t},e.isNumber=g,e.isString=_,e.isSymbol=function(t){return "symbol"==typeof t},e.isUndefined=b,e.isRegExp=v,e.isObject=T,e.isDate=E,e.isError=w,e.isFunction=x,e.isPrimitive=function(t){return null===t||"boolean"==typeof t||"number"==typeof t||"string"==typeof t||"symbol"==typeof t||void 0===t},e.isBuffer=n(384);var S=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function N(t,e){return Object.prototype.hasOwnProperty.call(t,e)}e.log=function(){var t,n;i.log("%s - %s",(n=[M((t=new Date).getHours()),M(t.getMinutes()),M(t.getSeconds())].join(":"),[t.getDate(),S[t.getMonth()],n].join(" ")),e.format.apply(e,arguments));},e.inherits=n(1496),e._extend=function(t,e){if(!e||!T(e))return t;for(var n=Object.keys(e),r=n.length;r--;)t[n[r]]=e[n[r]];return t};},8034:t=>{var e=arguments[3],n=arguments[4],r=arguments[5],i=JSON.stringify;t.exports=function(t,o){for(var a,s=Object.keys(r),u=0,l=s.length;u{var r=n(3085).lW;function i(t,e){this.buffer=t,this.position=0,this.isBigEndian=e||!1;}function o(t,e,n){return function(){var r;return r=this.isBigEndian?e.call(this.buffer,this.position):t.call(this.buffer,this.position),this.position+=n,r}}t.exports=i,i.prototype.readUInt8=o(r.prototype.readUInt8,r.prototype.readUInt8,1),i.prototype.readUInt16=o(r.prototype.readUInt16LE,r.prototype.readUInt16BE,2),i.prototype.readUInt32=o(r.prototype.readUInt32LE,r.prototype.readUInt32BE,4),i.prototype.readInt8=o(r.prototype.readInt8,r.prototype.readInt8,1),i.prototype.readInt16=o(r.prototype.readInt16LE,r.prototype.readInt16BE,2),i.prototype.readInt32=o(r.prototype.readInt32LE,r.prototype.readInt32BE,4),i.prototype.readFloat=o(r.prototype.readFloatLE,r.prototype.readFloatBE,4),i.prototype.readDouble=o(r.prototype.readDoubleLE,r.prototype.readDoubleBE,8),i.prototype.readVarInt=function(){var t,e=0,n=0;do{e+=(127&(t=this.buffer[this.position+n]))<<7*n,n++;}while(t>=128);return this.position+=n,e};},2659:(t,e,n)=>{var r=n(3085).lW;function i(t,e){this.buffer=new r(t),this.position=0,this.allowResize=e;}function o(t,e){return function(n,r){this.ensureSize(e),t.call(this.buffer,n,this.position,r),this.position+=e;}}t.exports=i,i.prototype.writeUInt8=o(r.prototype.writeUInt8,1),i.prototype.writeUInt16LE=o(r.prototype.writeUInt16LE,2),i.prototype.writeUInt16BE=o(r.prototype.writeUInt16BE,2),i.prototype.writeUInt32LE=o(r.prototype.writeUInt32LE,4),i.prototype.writeUInt32BE=o(r.prototype.writeUInt32BE,4),i.prototype.writeInt8=o(r.prototype.writeInt8,1),i.prototype.writeInt16LE=o(r.prototype.writeInt16LE,2),i.prototype.writeInt16BE=o(r.prototype.writeInt16BE,2),i.prototype.writeInt32LE=o(r.prototype.writeInt32LE,4),i.prototype.writeInt32BE=o(r.prototype.writeInt32BE,4),i.prototype.writeFloatLE=o(r.prototype.writeFloatLE,4),i.prototype.writeFloatBE=o(r.prototype.writeFloatBE,4),i.prototype.writeDoubleLE=o(r.prototype.writeDoubleLE,8),i.prototype.writeDoubleBE=o(r.prototype.writeDoubleBE,8),i.prototype.writeBuffer=function(t){this.ensureSize(t.length),t.copy(this.buffer,this.position,0,t.length),this.position+=t.length;},i.prototype.writeVarInt=function(t){for(var e=1;0!=(4294967168&t);)this.writeUInt8(127&t|128),t>>>=7,e++;return this.writeUInt8(127&t),e},i.prototype.ensureSize=function(t){if(this.buffer.length{var r=n(3085).lW;t.exports=m;var i=n(4905),o=n(9213),a=n(9645),s=n(978),u=n(1665),l=n(9606),c=n(9763),h=n(2292),f=n(6382),p=n(2659),d=n(2620),y=n(3172);function m(){this.srid=void 0,this.hasZ=!1,this.hasM=!1;}m.parse=function(t,e){if("string"==typeof t||t instanceof d)return m._parseWkt(t);if(r.isBuffer(t)||t instanceof f)return m._parseWkb(t,e);throw new Error("first argument must be a string or Buffer")},m._parseWkt=function(t){var e,n,r=(e=t instanceof d?t:new d(t)).matchRegex([/^SRID=(\d+);/]);r&&(n=parseInt(r[1],10));var f=e.matchType(),p=e.matchDimension(),y={srid:n,hasZ:p.hasZ,hasM:p.hasM};switch(f){case i.wkt.Point:return o._parseWkt(e,y);case i.wkt.LineString:return a._parseWkt(e,y);case i.wkt.Polygon:return s._parseWkt(e,y);case i.wkt.MultiPoint:return u._parseWkt(e,y);case i.wkt.MultiLineString:return l._parseWkt(e,y);case i.wkt.MultiPolygon:return c._parseWkt(e,y);case i.wkt.GeometryCollection:return h._parseWkt(e,y)}},m._parseWkb=function(t,e){var n,r,p,d={};switch((n=t instanceof f?t:new f(t)).isBigEndian=!n.readInt8(),r=n.readUInt32(),d.hasSrid=536870912==(536870912&r),d.isEwkb=536870912&r||1073741824&r||2147483648&r,d.hasSrid&&(d.srid=n.readUInt32()),d.hasZ=!1,d.hasM=!1,d.isEwkb||e&&e.isEwkb?(2147483648&r&&(d.hasZ=!0),1073741824&r&&(d.hasM=!0),p=15&r):r>=1e3&&r<2e3?(d.hasZ=!0,p=r-1e3):r>=2e3&&r<3e3?(d.hasM=!0,p=r-2e3):r>=3e3&&r<4e3?(d.hasZ=!0,d.hasM=!0,p=r-3e3):p=r,p){case i.wkb.Point:return o._parseWkb(n,d);case i.wkb.LineString:return a._parseWkb(n,d);case i.wkb.Polygon:return s._parseWkb(n,d);case i.wkb.MultiPoint:return u._parseWkb(n,d);case i.wkb.MultiLineString:return l._parseWkb(n,d);case i.wkb.MultiPolygon:return c._parseWkb(n,d);case i.wkb.GeometryCollection:return h._parseWkb(n,d);default:throw new Error("GeometryType "+p+" not supported")}},m.parseTwkb=function(t){var e,n={},r=(e=t instanceof f?t:new f(t)).readUInt8(),p=e.readUInt8(),d=15&r;if(n.precision=y.decode(r>>4),n.precisionFactor=Math.pow(10,n.precision),n.hasBoundingBox=p>>0&1,n.hasSizeAttribute=p>>1&1,n.hasIdList=p>>2&1,n.hasExtendedPrecision=p>>3&1,n.isEmpty=p>>4&1,n.hasExtendedPrecision){var m=e.readUInt8();n.hasZ=1==(1&m),n.hasM=2==(2&m),n.zPrecision=y.decode((28&m)>>2),n.zPrecisionFactor=Math.pow(10,n.zPrecision),n.mPrecision=y.decode((224&m)>>5),n.mPrecisionFactor=Math.pow(10,n.mPrecision);}else n.hasZ=!1,n.hasM=!1;if(n.hasSizeAttribute&&e.readVarInt(),n.hasBoundingBox){var g=2;n.hasZ&&g++,n.hasM&&g++;for(var _=0;_>>0,!0),t.writeUInt32LE(this.srid),t.writeBuffer(e.slice(5)),t.buffer},m.prototype._getWktType=function(t,e){var n=t;return this.hasZ&&this.hasM?n+=" ZM ":this.hasZ?n+=" Z ":this.hasM&&(n+=" M "),!e||this.hasZ||this.hasM||(n+=" "),e&&(n+="EMPTY"),n},m.prototype._getWktCoordinate=function(t){var e=t.x+" "+t.y;return this.hasZ&&(e+=" "+t.z),this.hasM&&(e+=" "+t.m),e},m.prototype._writeWkbType=function(t,e,n){var r=0;void 0!==this.srid||n&&void 0!==n.srid?(this.hasZ&&(r|=2147483648),this.hasM&&(r|=1073741824)):this.hasZ&&this.hasM?r+=3e3:this.hasZ?r+=1e3:this.hasM&&(r+=2e3),t.writeUInt32LE(r+e>>>0,!0);},m.getTwkbPrecision=function(t,e,n){return {xy:t,z:e,m:n,xyFactor:Math.pow(10,t),zFactor:Math.pow(10,e),mFactor:Math.pow(10,n)}},m.prototype._writeTwkbHeader=function(t,e,n,r){var i=(y.encode(n.xy)<<4)+e,o=(this.hasZ||this.hasM)<<3;if(o+=r<<4,t.writeUInt8(i),t.writeUInt8(o),this.hasZ||this.hasM){var a=0;this.hasZ&&(a|=1),this.hasM&&(a|=2),t.writeUInt8(a);}},m.prototype.toGeoJSON=function(t){var e={};return this.srid&&t&&(t.shortCrs?e.crs={type:"name",properties:{name:"EPSG:"+this.srid}}:t.longCrs&&(e.crs={type:"name",properties:{name:"urn:ogc:def:crs:EPSG::"+this.srid}})),e};},2292:(t,e,n)=>{t.exports=s;var r=n(9539),i=n(4905),o=n(7056),a=n(2659);function s(t,e){o.call(this),this.geometries=t||[],this.srid=e,this.geometries.length>0&&(this.hasZ=this.geometries[0].hasZ,this.hasM=this.geometries[0].hasM);}r.inherits(s,o),s.Z=function(t,e){var n=new s(t,e);return n.hasZ=!0,n},s.M=function(t,e){var n=new s(t,e);return n.hasM=!0,n},s.ZM=function(t,e){var n=new s(t,e);return n.hasZ=!0,n.hasM=!0,n},s._parseWkt=function(t,e){var n=new s;if(n.srid=e.srid,n.hasZ=e.hasZ,n.hasM=e.hasM,t.isMatch(["EMPTY"]))return n;t.expectGroupStart();do{n.geometries.push(o.parse(t));}while(t.isMatch([","]));return t.expectGroupEnd(),n},s._parseWkb=function(t,e){var n=new s;n.srid=e.srid,n.hasZ=e.hasZ,n.hasM=e.hasM;for(var r=t.readUInt32(),i=0;i0&&(e.hasZ=e.geometries[0].hasZ),e},s.prototype.toWkt=function(){if(0===this.geometries.length)return this._getWktType(i.wkt.GeometryCollection,!0);for(var t=this._getWktType(i.wkt.GeometryCollection,!1)+"(",e=0;e0){t.writeVarInt(this.geometries.length);for(var r=0;r{t.exports=u;var r=n(9539),i=n(7056),o=n(4905),a=n(9213),s=n(2659);function u(t,e){i.call(this),this.points=t||[],this.srid=e,this.points.length>0&&(this.hasZ=this.points[0].hasZ,this.hasM=this.points[0].hasM);}r.inherits(u,i),u.Z=function(t,e){var n=new u(t,e);return n.hasZ=!0,n},u.M=function(t,e){var n=new u(t,e);return n.hasM=!0,n},u.ZM=function(t,e){var n=new u(t,e);return n.hasZ=!0,n.hasM=!0,n},u._parseWkt=function(t,e){var n=new u;return n.srid=e.srid,n.hasZ=e.hasZ,n.hasM=e.hasM,t.isMatch(["EMPTY"])||(t.expectGroupStart(),n.points.push.apply(n.points,t.matchCoordinates(e)),t.expectGroupEnd()),n},u._parseWkb=function(t,e){var n=new u;n.srid=e.srid,n.hasZ=e.hasZ,n.hasM=e.hasM;for(var r=t.readUInt32(),i=0;i0&&(e.hasZ=t.coordinates[0].length>2);for(var n=0;n0){t.writeVarInt(this.points.length);for(var r=new a(0,0,0,0),u=0;u{t.exports=l;var r=n(9539),i=n(4905),o=n(7056),a=n(9213),s=n(9645),u=n(2659);function l(t,e){o.call(this),this.lineStrings=t||[],this.srid=e,this.lineStrings.length>0&&(this.hasZ=this.lineStrings[0].hasZ,this.hasM=this.lineStrings[0].hasM);}r.inherits(l,o),l.Z=function(t,e){var n=new l(t,e);return n.hasZ=!0,n},l.M=function(t,e){var n=new l(t,e);return n.hasM=!0,n},l.ZM=function(t,e){var n=new l(t,e);return n.hasZ=!0,n.hasM=!0,n},l._parseWkt=function(t,e){var n=new l;if(n.srid=e.srid,n.hasZ=e.hasZ,n.hasM=e.hasM,t.isMatch(["EMPTY"]))return n;t.expectGroupStart();do{t.expectGroupStart(),n.lineStrings.push(new s(t.matchCoordinates(e))),t.expectGroupEnd();}while(t.isMatch([","]));return t.expectGroupEnd(),n},l._parseWkb=function(t,e){var n=new l;n.srid=e.srid,n.hasZ=e.hasZ,n.hasM=e.hasM;for(var r=t.readUInt32(),i=0;i0&&t.coordinates[0].length>0&&(e.hasZ=t.coordinates[0][0].length>2);for(var n=0;n0){t.writeVarInt(this.lineStrings.length);for(var r=new a(0,0,0,0),s=0;s{t.exports=u;var r=n(9539),i=n(4905),o=n(7056),a=n(9213),s=n(2659);function u(t,e){o.call(this),this.points=t||[],this.srid=e,this.points.length>0&&(this.hasZ=this.points[0].hasZ,this.hasM=this.points[0].hasM);}r.inherits(u,o),u.Z=function(t,e){var n=new u(t,e);return n.hasZ=!0,n},u.M=function(t,e){var n=new u(t,e);return n.hasM=!0,n},u.ZM=function(t,e){var n=new u(t,e);return n.hasZ=!0,n.hasM=!0,n},u._parseWkt=function(t,e){var n=new u;return n.srid=e.srid,n.hasZ=e.hasZ,n.hasM=e.hasM,t.isMatch(["EMPTY"])||(t.expectGroupStart(),n.points.push.apply(n.points,t.matchCoordinates(e)),t.expectGroupEnd()),n},u._parseWkb=function(t,e){var n=new u;n.srid=e.srid,n.hasZ=e.hasZ,n.hasM=e.hasM;for(var r=t.readUInt32(),i=0;i0&&(e.hasZ=t.coordinates[0].length>2);for(var n=0;n0){t.writeVarInt(this.points.length);for(var r=new a(0,0,0,0),u=0;u{t.exports=l;var r=n(9539),i=n(4905),o=n(7056),a=n(9213),s=n(978),u=n(2659);function l(t,e){o.call(this),this.polygons=t||[],this.srid=e,this.polygons.length>0&&(this.hasZ=this.polygons[0].hasZ,this.hasM=this.polygons[0].hasM);}r.inherits(l,o),l.Z=function(t,e){var n=new l(t,e);return n.hasZ=!0,n},l.M=function(t,e){var n=new l(t,e);return n.hasM=!0,n},l.ZM=function(t,e){var n=new l(t,e);return n.hasZ=!0,n.hasM=!0,n},l._parseWkt=function(t,e){var n=new l;if(n.srid=e.srid,n.hasZ=e.hasZ,n.hasM=e.hasM,t.isMatch(["EMPTY"]))return n;t.expectGroupStart();do{t.expectGroupStart();var r=[],i=[];for(t.expectGroupStart(),r.push.apply(r,t.matchCoordinates(e)),t.expectGroupEnd();t.isMatch([","]);)t.expectGroupStart(),i.push(t.matchCoordinates(e)),t.expectGroupEnd();n.polygons.push(new s(r,i)),t.expectGroupEnd();}while(t.isMatch([","]));return t.expectGroupEnd(),n},l._parseWkb=function(t,e){var n=new l;n.srid=e.srid,n.hasZ=e.hasZ,n.hasM=e.hasM;for(var r=t.readUInt32(),i=0;i0&&t.coordinates[0].length>0&&t.coordinates[0][0].length>0&&(e.hasZ=t.coordinates[0][0][0].length>2);for(var n=0;n0){t.writeVarInt(this.polygons.length);for(var r=new a(0,0,0,0),s=0;s{t.exports=u;var r=n(9539),i=n(7056),o=n(4905),a=n(2659),s=n(3172);function u(t,e,n,r,o){i.call(this),this.x=t,this.y=e,this.z=n,this.m=r,this.srid=o,this.hasZ=void 0!==this.z,this.hasM=void 0!==this.m;}r.inherits(u,i),u.Z=function(t,e,n,r){var i=new u(t,e,n,void 0,r);return i.hasZ=!0,i},u.M=function(t,e,n,r){var i=new u(t,e,void 0,n,r);return i.hasM=!0,i},u.ZM=function(t,e,n,r,i){var o=new u(t,e,n,r,i);return o.hasZ=!0,o.hasM=!0,o},u._parseWkt=function(t,e){var n=new u;if(n.srid=e.srid,n.hasZ=e.hasZ,n.hasM=e.hasM,t.isMatch(["EMPTY"]))return n;t.expectGroupStart();var r=t.matchCoordinate(e);return n.x=r.x,n.y=r.y,n.z=r.z,n.m=r.m,t.expectGroupEnd(),n},u._parseWkb=function(t,e){var n=u._readWkbPoint(t,e);return n.srid=e.srid,n},u._readWkbPoint=function(t,e){return new u(t.readDouble(),t.readDouble(),e.hasZ?t.readDouble():void 0,e.hasM?t.readDouble():void 0)},u._parseTwkb=function(t,e){var n=new u;return n.hasZ=e.hasZ,n.hasM=e.hasM,e.isEmpty||(n.x=s.decode(t.readVarInt())/e.precisionFactor,n.y=s.decode(t.readVarInt())/e.precisionFactor,n.z=e.hasZ?s.decode(t.readVarInt())/e.zPrecisionFactor:void 0,n.m=e.hasM?s.decode(t.readVarInt())/e.mPrecisionFactor:void 0),n},u._readTwkbPoint=function(t,e,n){return n.x+=s.decode(t.readVarInt())/e.precisionFactor,n.y+=s.decode(t.readVarInt())/e.precisionFactor,e.hasZ&&(n.z+=s.decode(t.readVarInt())/e.zPrecisionFactor),e.hasM&&(n.m+=s.decode(t.readVarInt())/e.mPrecisionFactor),new u(n.x,n.y,n.z,n.m)},u._parseGeoJSON=function(t){return u._readGeoJSONPoint(t.coordinates)},u._readGeoJSONPoint=function(t){return 0===t.length?new u:t.length>2?new u(t[0],t[1],t[2]):new u(t[0],t[1])},u.prototype.toWkt=function(){return void 0===this.x&&void 0===this.y&&void 0===this.z&&void 0===this.m?this._getWktType(o.wkt.Point,!0):this._getWktType(o.wkt.Point,!1)+"("+this._getWktCoordinate(this)+")"},u.prototype.toWkb=function(t){var e=new a(this._getWkbSize());return e.writeInt8(1),this._writeWkbType(e,o.wkb.Point,t),void 0===this.x&&void 0===this.y?(e.writeDoubleLE(NaN),e.writeDoubleLE(NaN),this.hasZ&&e.writeDoubleLE(NaN),this.hasM&&e.writeDoubleLE(NaN)):this._writeWkbPoint(e),e.buffer},u.prototype._writeWkbPoint=function(t){t.writeDoubleLE(this.x),t.writeDoubleLE(this.y),this.hasZ&&t.writeDoubleLE(this.z),this.hasM&&t.writeDoubleLE(this.m);},u.prototype.toTwkb=function(){var t=new a(0,!0),e=i.getTwkbPrecision(5,0,0),n=void 0===this.x&&void 0===this.y;return this._writeTwkbHeader(t,o.wkb.Point,e,n),n||this._writeTwkbPoint(t,e,new u(0,0,0,0)),t.buffer},u.prototype._writeTwkbPoint=function(t,e,n){var r=this.x*e.xyFactor,i=this.y*e.xyFactor,o=this.z*e.zFactor,a=this.m*e.mFactor;t.writeVarInt(s.encode(r-n.x)),t.writeVarInt(s.encode(i-n.y)),this.hasZ&&t.writeVarInt(s.encode(o-n.z)),this.hasM&&t.writeVarInt(s.encode(a-n.m)),n.x=r,n.y=i,n.z=o,n.m=a;},u.prototype._getWkbSize=function(){var t=21;return this.hasZ&&(t+=8),this.hasM&&(t+=8),t},u.prototype.toGeoJSON=function(t){var e=i.prototype.toGeoJSON.call(this,t);return e.type=o.geoJSON.Point,void 0===this.x&&void 0===this.y?e.coordinates=[]:void 0!==this.z?e.coordinates=[this.x,this.y,this.z]:e.coordinates=[this.x,this.y],e};},978:(t,e,n)=>{t.exports=u;var r=n(9539),i=n(7056),o=n(4905),a=n(9213),s=n(2659);function u(t,e,n){i.call(this),this.exteriorRing=t||[],this.interiorRings=e||[],this.srid=n,this.exteriorRing.length>0&&(this.hasZ=this.exteriorRing[0].hasZ,this.hasM=this.exteriorRing[0].hasM);}r.inherits(u,i),u.Z=function(t,e,n){var r=new u(t,e,n);return r.hasZ=!0,r},u.M=function(t,e,n){var r=new u(t,e,n);return r.hasM=!0,r},u.ZM=function(t,e,n){var r=new u(t,e,n);return r.hasZ=!0,r.hasM=!0,r},u._parseWkt=function(t,e){var n=new u;if(n.srid=e.srid,n.hasZ=e.hasZ,n.hasM=e.hasM,t.isMatch(["EMPTY"]))return n;for(t.expectGroupStart(),t.expectGroupStart(),n.exteriorRing.push.apply(n.exteriorRing,t.matchCoordinates(e)),t.expectGroupEnd();t.isMatch([","]);)t.expectGroupStart(),n.interiorRings.push(t.matchCoordinates(e)),t.expectGroupEnd();return t.expectGroupEnd(),n},u._parseWkb=function(t,e){var n=new u;n.srid=e.srid,n.hasZ=e.hasZ,n.hasM=e.hasM;var r=t.readUInt32();if(r>0){for(var i=t.readUInt32(),o=0;o0&&t.coordinates[0].length>0&&(e.hasZ=t.coordinates[0][0].length>2);for(var n=0;n0&&e.interiorRings.push([]);for(var r=0;r0?(e.writeUInt32LE(1+this.interiorRings.length),e.writeUInt32LE(this.exteriorRing.length)):e.writeUInt32LE(0);for(var n=0;n0){t.writeVarInt(1+this.interiorRings.length),t.writeVarInt(this.exteriorRing.length);for(var r=new a(0,0,0,0),u=0;u0&&(e+=4+this.exteriorRing.length*t);for(var n=0;n0){for(var n=[],r=0;r{t.exports={wkt:{Point:"POINT",LineString:"LINESTRING",Polygon:"POLYGON",MultiPoint:"MULTIPOINT",MultiLineString:"MULTILINESTRING",MultiPolygon:"MULTIPOLYGON",GeometryCollection:"GEOMETRYCOLLECTION"},wkb:{Point:1,LineString:2,Polygon:3,MultiPoint:4,MultiLineString:5,MultiPolygon:6,GeometryCollection:7},geoJSON:{Point:"Point",LineString:"LineString",Polygon:"Polygon",MultiPoint:"MultiPoint",MultiLineString:"MultiLineString",MultiPolygon:"MultiPolygon",GeometryCollection:"GeometryCollection"}};},2620:(t,e,n)=>{t.exports=o;var r=n(4905),i=n(9213);function o(t){this.value=t,this.position=0;}o.prototype.match=function(t){this.skipWhitespaces();for(var e=0;e{e.Types=n(4905),e.Geometry=n(7056),e.Point=n(9213),e.LineString=n(9645),e.Polygon=n(978),e.MultiPoint=n(1665),e.MultiLineString=n(9606),e.MultiPolygon=n(9763),e.GeometryCollection=n(2292);},3172:t=>{t.exports={encode:function(t){return t<<1^t>>31},decode:function(t){return t>>1^-(1&t)}};},7529:t=>{t.exports=function(){for(var t={},n=0;n{"use strict";if(void 0===__WEBPACK_EXTERNAL_MODULE__1498__){var e=new Error("Cannot find module 'better-sqlite3'");throw e.code="MODULE_NOT_FOUND",e}t.exports=__WEBPACK_EXTERNAL_MODULE__1498__;},5699:()=>{},4919:()=>{},1929:()=>{},2203:()=>{},7990:()=>{},8497:()=>{},1408:()=>{},3646:()=>{},4059:()=>{}},__webpack_module_cache__={};function __webpack_require__(t){var e=__webpack_module_cache__[t];if(void 0!==e)return e.exports;var n=__webpack_module_cache__[t]={id:t,loaded:!1,exports:{}};return __webpack_modules__[t].call(n.exports,n,n.exports,__webpack_require__),n.loaded=!0,n.exports}__webpack_require__.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return __webpack_require__.d(e,{a:e}),e},__webpack_require__.d=(t,e)=>{for(var n in e)__webpack_require__.o(e,n)&&!__webpack_require__.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]});},__webpack_require__.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),__webpack_require__.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),__webpack_require__.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0});},__webpack_require__.nmd=t=>(t.paths=[],t.children||(t.children=[]),t);var __webpack_exports__={};return (()=>{"use strict";var t=__webpack_exports__;Object.defineProperty(t,"__esModule",{value:!0}),t.OffscreenCanvasAdapter=t.NumberFeaturesTile=t.MetadataReference=t.MetadataExtension=t.MetadataDao=t.Metadata=t.MediaTable=t.ImageUtils=t.IconTable=t.Icons=t.IconCache=t.HtmlCanvasAdapter=t.GeoPackageValidate=t.GeoPackageTileRetriever=t.GeoPackageDataType=t.GeoPackageConnection=t.GeoPackageAPI=t.GeoPackage=t.GeometryData=t.GeometryColumnsDao=t.GeometryColumns=t.GeometryType=t.FeatureTiles=t.FeatureTableStyles=t.FeatureTableReader=t.FeatureTableIndex=t.FeatureTable=t.FeatureStyles=t.FeatureStyleExtension=t.FeatureStyle=t.FeaturePaint=t.FeatureDrawType=t.FeatureColumn=t.Extension=t.DublinCoreType=t.DublinCoreMetadata=t.DataColumnsDao=t.DataColumns=t.DataColumnConstraintsDao=t.DataColumnConstraints=t.CrsWktExtension=t.Context=t.ConstraintType=t.Constraints=t.Constraint=t.ContentsIdDao=t.ContentsDao=t.CanvasKitCanvasAdapter=t.Canvas=t.BoundingBox=void 0,t.WKB=t.WebPExtension=t.UserTableReader=t.UserTable=t.UserRow=t.UserMappingTable=t.UserDao=t.UserColumn=t.TileUtilities=t.TileTable=t.TileScalingType=t.TileScaling=t.TileMatrixSet=t.TileMatrix=t.TileColumn=t.TileBoundingBoxUtils=t.TileCreator=t.TableCreator=t.StyleTable=t.Styles=t.SqljsAdapter=t.StyleMappingTable=t.SqliteQueryBuilder=t.SqliteAdapter=t.SpatialReferenceSystem=t.SimpleAttributesTable=t.ShadedFeaturesTile=t.SchemaExtension=t.setSqljsWasmLocateFile=t.setCanvasKitWasmLocateFile=t.RTreeIndexDao=t.RTreeIndex=t.RelatedTablesExtension=t.ProjectionConstants=t.Projection=t.Paint=t.OptionBuilder=void 0;var e=__webpack_require__(2527);Object.defineProperty(t,"BoundingBox",{enumerable:!0,get:function(){return e.BoundingBox}});var n=__webpack_require__(4325);Object.defineProperty(t,"GeoPackage",{enumerable:!0,get:function(){return n.GeoPackage}});var r=__webpack_require__(6638);Object.defineProperty(t,"ContentsDao",{enumerable:!0,get:function(){return r.ContentsDao}});var i=__webpack_require__(7092);Object.defineProperty(t,"ContentsIdDao",{enumerable:!0,get:function(){return i.ContentsIdDao}});var o=__webpack_require__(8007);Object.defineProperty(t,"Constraint",{enumerable:!0,get:function(){return o.Constraint}});var a=__webpack_require__(7686);Object.defineProperty(t,"Constraints",{enumerable:!0,get:function(){return a.Constraints}});var s=__webpack_require__(91);Object.defineProperty(t,"ConstraintType",{enumerable:!0,get:function(){return s.ConstraintType}});var u=__webpack_require__(5306);Object.defineProperty(t,"CrsWktExtension",{enumerable:!0,get:function(){return u.CrsWktExtension}});var l=__webpack_require__(8590);Object.defineProperty(t,"DataColumnConstraints",{enumerable:!0,get:function(){return l.DataColumnConstraints}});var c=__webpack_require__(7175);Object.defineProperty(t,"DataColumnConstraintsDao",{enumerable:!0,get:function(){return c.DataColumnConstraintsDao}});var h=__webpack_require__(8133);Object.defineProperty(t,"DataColumns",{enumerable:!0,get:function(){return h.DataColumns}});var f=__webpack_require__(7319);Object.defineProperty(t,"GeoPackageDataType",{enumerable:!0,get:function(){return f.GeoPackageDataType}});var p=__webpack_require__(4941);Object.defineProperty(t,"DataColumnsDao",{enumerable:!0,get:function(){return p.DataColumnsDao}});var d=__webpack_require__(3096);Object.defineProperty(t,"DublinCoreMetadata",{enumerable:!0,get:function(){return d.DublinCoreMetadata}});var y=__webpack_require__(1485);Object.defineProperty(t,"DublinCoreType",{enumerable:!0,get:function(){return y.DublinCoreType}});var m=__webpack_require__(624);Object.defineProperty(t,"Extension",{enumerable:!0,get:function(){return m.Extension}});var g=__webpack_require__(961);Object.defineProperty(t,"FeatureColumn",{enumerable:!0,get:function(){return g.FeatureColumn}});var _=__webpack_require__(4538);Object.defineProperty(t,"FeatureDrawType",{enumerable:!0,get:function(){return _.FeatureDrawType}});var b=__webpack_require__(6063);Object.defineProperty(t,"FeaturePaint",{enumerable:!0,get:function(){return b.FeaturePaint}});var v=__webpack_require__(612);Object.defineProperty(t,"FeatureStyle",{enumerable:!0,get:function(){return v.FeatureStyle}});var T=__webpack_require__(8479);Object.defineProperty(t,"FeatureStyleExtension",{enumerable:!0,get:function(){return T.FeatureStyleExtension}});var E=__webpack_require__(2752);Object.defineProperty(t,"FeatureStyles",{enumerable:!0,get:function(){return E.FeatureStyles}});var w=__webpack_require__(8412);Object.defineProperty(t,"FeatureTable",{enumerable:!0,get:function(){return w.FeatureTable}});var x=__webpack_require__(5626);Object.defineProperty(t,"FeatureTableIndex",{enumerable:!0,get:function(){return x.FeatureTableIndex}});var C=__webpack_require__(4896);Object.defineProperty(t,"FeatureTableReader",{enumerable:!0,get:function(){return C.FeatureTableReader}});var M=__webpack_require__(6536);Object.defineProperty(t,"FeatureTableStyles",{enumerable:!0,get:function(){return M.FeatureTableStyles}});var S=__webpack_require__(297);Object.defineProperty(t,"FeatureTiles",{enumerable:!0,get:function(){return S.FeatureTiles}});var N=__webpack_require__(812);Object.defineProperty(t,"GeometryColumns",{enumerable:!0,get:function(){return N.GeometryColumns}});var O=__webpack_require__(1968);Object.defineProperty(t,"GeometryColumnsDao",{enumerable:!0,get:function(){return O.GeometryColumnsDao}});var A=__webpack_require__(857);Object.defineProperty(t,"GeometryData",{enumerable:!0,get:function(){return A.GeometryData}});var I=__webpack_require__(9211);Object.defineProperty(t,"GeometryType",{enumerable:!0,get:function(){return I.GeometryType}});var P=__webpack_require__(1191);Object.defineProperty(t,"GeoPackageAPI",{enumerable:!0,get:function(){return P.GeoPackageAPI}});var R=__webpack_require__(5116);Object.defineProperty(t,"GeoPackageConnection",{enumerable:!0,get:function(){return R.GeoPackageConnection}});var L=__webpack_require__(731);Object.defineProperty(t,"GeoPackageTileRetriever",{enumerable:!0,get:function(){return L.GeoPackageTileRetriever}});var D=__webpack_require__(4275);Object.defineProperty(t,"GeoPackageValidate",{enumerable:!0,get:function(){return D.GeoPackageValidate}});var k=__webpack_require__(8600);Object.defineProperty(t,"IconCache",{enumerable:!0,get:function(){return k.IconCache}});var F=__webpack_require__(4725);Object.defineProperty(t,"Icons",{enumerable:!0,get:function(){return F.Icons}});var U=__webpack_require__(2015);Object.defineProperty(t,"IconTable",{enumerable:!0,get:function(){return U.IconTable}});var B=__webpack_require__(9325);Object.defineProperty(t,"ImageUtils",{enumerable:!0,get:function(){return B.ImageUtils}});var j=__webpack_require__(6366);Object.defineProperty(t,"MediaTable",{enumerable:!0,get:function(){return j.MediaTable}});var G=__webpack_require__(3026);Object.defineProperty(t,"Metadata",{enumerable:!0,get:function(){return G.Metadata}});var W=__webpack_require__(663);Object.defineProperty(t,"MetadataDao",{enumerable:!0,get:function(){return W.MetadataDao}});var q=__webpack_require__(3501);Object.defineProperty(t,"MetadataExtension",{enumerable:!0,get:function(){return q.MetadataExtension}});var H=__webpack_require__(9173);Object.defineProperty(t,"MetadataReference",{enumerable:!0,get:function(){return H.MetadataReference}});var z=__webpack_require__(3060);Object.defineProperty(t,"NumberFeaturesTile",{enumerable:!0,get:function(){return z.NumberFeaturesTile}});var V=__webpack_require__(7403);Object.defineProperty(t,"OptionBuilder",{enumerable:!0,get:function(){return V.OptionBuilder}});var X=__webpack_require__(5211);Object.defineProperty(t,"Paint",{enumerable:!0,get:function(){return X.Paint}});var Y=__webpack_require__(5604);Object.defineProperty(t,"Projection",{enumerable:!0,get:function(){return Y.Projection}});var Z=__webpack_require__(1375);Object.defineProperty(t,"ProjectionConstants",{enumerable:!0,get:function(){return Z.ProjectionConstants}});var Q=__webpack_require__(1832);Object.defineProperty(t,"RelatedTablesExtension",{enumerable:!0,get:function(){return Q.RelatedTablesExtension}});var K=__webpack_require__(5859);Object.defineProperty(t,"RTreeIndex",{enumerable:!0,get:function(){return K.RTreeIndex}});var J=__webpack_require__(735);Object.defineProperty(t,"RTreeIndexDao",{enumerable:!0,get:function(){return J.RTreeIndexDao}});var $=__webpack_require__(8116);Object.defineProperty(t,"SchemaExtension",{enumerable:!0,get:function(){return $.SchemaExtension}});var tt=__webpack_require__(6667);Object.defineProperty(t,"ShadedFeaturesTile",{enumerable:!0,get:function(){return tt.ShadedFeaturesTile}});var et=__webpack_require__(4599);Object.defineProperty(t,"SimpleAttributesTable",{enumerable:!0,get:function(){return et.SimpleAttributesTable}});var nt=__webpack_require__(341);Object.defineProperty(t,"SpatialReferenceSystem",{enumerable:!0,get:function(){return nt.SpatialReferenceSystem}});var rt=__webpack_require__(8877);Object.defineProperty(t,"SqliteQueryBuilder",{enumerable:!0,get:function(){return rt.SqliteQueryBuilder}});var it=__webpack_require__(8138);Object.defineProperty(t,"StyleMappingTable",{enumerable:!0,get:function(){return it.StyleMappingTable}});var ot=__webpack_require__(7924);Object.defineProperty(t,"Styles",{enumerable:!0,get:function(){return ot.Styles}});var at=__webpack_require__(3934);Object.defineProperty(t,"StyleTable",{enumerable:!0,get:function(){return at.StyleTable}});var st=__webpack_require__(1459);Object.defineProperty(t,"TableCreator",{enumerable:!0,get:function(){return st.TableCreator}});var ut=__webpack_require__(3684);Object.defineProperty(t,"TileBoundingBoxUtils",{enumerable:!0,get:function(){return ut.TileBoundingBoxUtils}});var lt=__webpack_require__(8334);Object.defineProperty(t,"TileColumn",{enumerable:!0,get:function(){return lt.TileColumn}});var ct=__webpack_require__(1938);Object.defineProperty(t,"TileMatrix",{enumerable:!0,get:function(){return ct.TileMatrix}});var ht=__webpack_require__(5899);Object.defineProperty(t,"TileMatrixSet",{enumerable:!0,get:function(){return ht.TileMatrixSet}});var ft=__webpack_require__(4301);Object.defineProperty(t,"TileScaling",{enumerable:!0,get:function(){return ft.TileScaling}});var pt=__webpack_require__(2777);Object.defineProperty(t,"TileScalingType",{enumerable:!0,get:function(){return pt.TileScalingType}});var dt=__webpack_require__(8704);Object.defineProperty(t,"TileTable",{enumerable:!0,get:function(){return dt.TileTable}});var yt=__webpack_require__(824);Object.defineProperty(t,"TileUtilities",{enumerable:!0,get:function(){return yt.TileUtilities}});var mt=__webpack_require__(5865);Object.defineProperty(t,"UserColumn",{enumerable:!0,get:function(){return mt.UserColumn}});var gt=__webpack_require__(4668);Object.defineProperty(t,"UserDao",{enumerable:!0,get:function(){return gt.UserDao}});var _t=__webpack_require__(233);Object.defineProperty(t,"UserMappingTable",{enumerable:!0,get:function(){return _t.UserMappingTable}});var bt=__webpack_require__(2224);Object.defineProperty(t,"UserRow",{enumerable:!0,get:function(){return bt.UserRow}});var vt=__webpack_require__(8018);Object.defineProperty(t,"UserTable",{enumerable:!0,get:function(){return vt.UserTable}});var Tt=__webpack_require__(4880);Object.defineProperty(t,"UserTableReader",{enumerable:!0,get:function(){return Tt.UserTableReader}});var Et=__webpack_require__(7719);Object.defineProperty(t,"WebPExtension",{enumerable:!0,get:function(){return Et.WebPExtension}});var wt=__webpack_require__(2038);Object.defineProperty(t,"WKB",{enumerable:!0,get:function(){return wt.WKB}});var xt=__webpack_require__(922);Object.defineProperty(t,"SqliteAdapter",{enumerable:!0,get:function(){return xt.SqliteAdapter}});var Ct=__webpack_require__(6328);Object.defineProperty(t,"SqljsAdapter",{enumerable:!0,get:function(){return Ct.SqljsAdapter}});var Mt=__webpack_require__(7977);Object.defineProperty(t,"TileCreator",{enumerable:!0,get:function(){return Mt.TileCreator}});var St=__webpack_require__(3437);Object.defineProperty(t,"Canvas",{enumerable:!0,get:function(){return St.Canvas}});var Nt=__webpack_require__(8038);Object.defineProperty(t,"CanvasKitCanvasAdapter",{enumerable:!0,get:function(){return Nt.CanvasKitCanvasAdapter}});var Ot=__webpack_require__(342);Object.defineProperty(t,"OffscreenCanvasAdapter",{enumerable:!0,get:function(){return Ot.OffscreenCanvasAdapter}});var At=__webpack_require__(2807);Object.defineProperty(t,"HtmlCanvasAdapter",{enumerable:!0,get:function(){return At.HtmlCanvasAdapter}});var It=__webpack_require__(1150);Object.defineProperty(t,"Context",{enumerable:!0,get:function(){return It.Context}}),It.Context.setupDefaultContext();var Pt=Ct.SqljsAdapter.setSqljsWasmLocateFile;t.setSqljsWasmLocateFile=Pt;var Rt=Nt.CanvasKitCanvasAdapter.setCanvasKitWasmLocateFile;t.setCanvasKitWasmLocateFile=Rt;})(),__webpack_exports__})())); } (geopackage_min$2, geopackage_min$2.exports)); return geopackage_min$2.exports; diff --git a/www/index.html b/www/index.html index 44ad7b27b..bf0ae9e17 100644 --- a/www/index.html +++ b/www/index.html @@ -344,29 +344,31 @@

    GeoPackage layers

    - -